tweag / pirouette

Language-generic workbench for building static analysis
MIT License
47 stars 2 forks source link

Improve the surface language syntax #135

Closed florentc closed 2 years ago

florentc commented 2 years ago

This introduces a new syntax to declare functions and fixes #131. It replaces the previous syntax. All the examples and tests have been rewritten accordingly. The dedicated test suite includes generic cases and regression tests for issues encountered during development.

Features

isJust : forall a . Maybe a -> Bool
isJust @x mx =
  case @Bool @(Maybe x) mx of {
    Nothing -> False ;
    Just _ -> True
  }

Other changes

Future work

More detailed issues will be open after this PR is merged.