build systems

Sub-cards (0)Archived
Comments (3)

A compiler should be a pure function that takes source files to interface/object files, making it easy for the build system to cache/memoize its results.

GHC violates this in various ways:

  • searches for .hi and .hi-boot files (even in -c mode), the search locations can be seen with -v

  • cares about module file names