Skip to content

Don't depend upon `touch` executable

Currently GHC depends upon the POSIX touch command for modifying the mtime of files. This incurs a performance tax on some platforms (e.g. Windows) and, more importantly, a significant amount of complexity since we must:

  • configure the path to touch and propagate this information through the settings file
  • provide an implementation of touch (named touchy) on Windows

All of this complexity adds a few hundred lines to GHC which can easily be replaced by a five line Haskell implementation. I suggest that we do so.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information