# blog

Vanessa McHale's blog (1)
• ## Don't Bother With LLVM for Hobby Compilers

LLVM is widely used for compilers (rustc, Swift, Kitten), particularly in tutorials (kaleidoscope), but it need not be a default.

• ## Imitating Cloc With Jacinda

Jacinda can imitate cloc by combining it with other command-line tools on the Unix command-line, viz.

• ## Names in Haskell Compilers

One common oversight in Haskell compilers is failing to intern identifiers using Ints and failing to prefer IntMaps and IntSets. The PureScript compiler, for instance, uses Maps as of writing.

• ## Finding Cruft in Patches With Jacinda

Suppose we want to clean up all TODOs in a branch before merging. We can check for TODOs introduced with

• ## Generating Other-extensions for Cabal Files

One would like to be able to find all language extensions in a given Haskell project in order to populate the other-extensions field of the .cabal file (cabal-install uses this for dependency resolution).