Skip to content

Instantly share code, notes, and snippets.

@Profpatsch
Last active March 27, 2018 18:36
Show Gist options
  • Save Profpatsch/657e6d07e5d1ecd283b6dde894ce3677 to your computer and use it in GitHub Desktop.
Save Profpatsch/657e6d07e5d1ecd283b6dde894ce3677 to your computer and use it in GitHub Desktop.
Feedback to the preview version of “Build Systems à la Carte” https://www.microsoft.com/en-us/research/uploads/prod/2018/03/build-systems-5ab0f42d0f937.pdf

Build Systems à la Carte (feedback)

Awesome

  • Worded explanations for all code snippets
  • Excel is a wonderful choice for practical examples
  • Awesome typography & formatting

Suggestions

  • Kind signatures for the definition of Task (`c` and `f`)
    • Took me a few minutes to correctly infer the kinds in my head
    • Point to the later polymorphism section

Corrections

  • Redo is actually by DJB: https://cr.yp.to/redo.html archive.org dates that site back to 2003, but is probably older: https://web.archive.org/web/*/https://cr.yp.to/redo.html I’d contact DJB and ask him.
  • Nix can perfectly well be used as build system
    • Input from the file system will hash the input folder
      • there’s a builtin to filter out files
    • Store paths (outputs) can be single files
    • e.g. for building a static blog
    • but no builtin support for incremental builds working together with language package managers (like bazel)
    • It provides memoization, because it only hashes over inputs

Ideas

Would be a great fit for an explorable explanation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment