Skip to content

Add a Strict LANGUAGE pragma

A Strict LANGUAGE pragma would allow us to experiment with writing in a strict sub-language. Since this pragma works on a per module basis, it needs to be modular. I propose the following semantics:

  • Patterns are strict at the top-level, as if they had a top-level bang, unless an explicit ~ is used to make the pattern lazy.
  • Functions evaluate their parameters to WHNF.
  • Data type fields are strict (as if they had a bang-pattern).

Design page: StrictPragma

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