Skip to content

v0.18.0

Compare
Choose a tag to compare
@terpstra terpstra released this 01 Apr 01:37
· 1610 commits to master since this release

The package system:

Language changes:

  • Syntax require PATTERN = EXPR [else RETURN-EXPR] to support partial matches
  • Anonymous tuples: def (a; b; c) = fnReturnsTriple 42
  • Type ascription in expressions is now possible using x : Integer
  • Named tuples may no longer be operators

Runtime changes:

  • wake now passes its command-line arguments to a function
  • executable script support: #! /usr/bin/env wake -:main_function
  • auto-initialization of wake.db when a wit-lock.json is found
  • Stored expression support was removed
  • Support for incremental jobs (eg: invoking make)
  • parseJSONBody now fails with Error
  • Prevent parsing some .wake files with .wakeignore

Bugfixes:

  • Parsing of numbers including _ works again (eg: 0xabcd_1234)
  • Changing a Plan's Fn{Inputs,Outputs,Resources} now triggers a rebuild
  • Allow up to 128MiB JSON Job descriptions
  • Renaming files and directories under FUSE now works reliably
  • Fixed ` escapes in regular expressions
  • Fixed a few corner cases where wake could segfault
  • Prevented unnecessary inlining
  • Removed all internal symbol definitions from global/export lists
  • Types are now scoped and name conflicts are detected
  • Type check failures in pattern matches are reported correctly