extends /layout-articles.pug block prepend menu - var page = '' block subtitle | Home block subtitleExtra block page p | This is a collection of some software-related articles I wrote. | Perhaps it will be larger than this one day. | You can also go back to my #[a(href='/') home page]. h1 a(href='2021-09-07-testing-arduino-code-with-haskell-quickcheck.html'). 7 September 2021: Testing Arduino code with Haskell QuickCheck blockquote. An Arduino program of mine showed a weird bug, but I couldn't reliably reproduce it. I isolated the relevant C code so that I could run it on a computer, and used Haskell QuickCheck to run automated property tests against it. With that set up, fixing the bug was a matter of minutes. h1 a(href='2021-08-02-cloogle-search-overview.html'). 2 August 2021: Cloogle search overview blockquote. Cloogle is a search engine for the pure, functional programming language Clean, similar to Hoogle for Haskell. In this post I go through the design of the search backend and make a comparison with that of Hoogle 5. h1 a(href='2021-06-23-compiling-clean-in-the-browser-with-webassembly-part-1-introduction.html'). 23 June 2021: Compiling Clean in the browser with WebAssembly blockquote. My interpreter for the pure, functional language Clean allows interpretation in both C and WebAssembly. The Clean compiler is written in Clean, with a C backend. In my Clean Sandbox, I compile the C backend with Emscripten to WebAssembly, and interpret the Clean frontend in the WebAssembly interpreter. Combined with a simple make-like tool and an editor, this allows you to compile and run Clean code in the browser.