![]() - compiles to racket match patterns (but still typechecks) - supports nested patterns - no exhastiveness checking - no parens required for root pattern (except for comma tup stx) - support _ else case - always no parens for 0-arity constructors - both user-defined and built-in (like nil) - alternative :: cons stx - alternative comma --- (x,y,z) --- tuple stx - requires at least 1 comma to detect - see examples in match2.mlish |
||
---|---|---|
old | ||
tapl | ||
.gitignore | ||
README.md |
-
all languages from the paper are in
tapl/
directory -
see
tapl/README.md
for language reuse information -
tests are in
tapl/tests/
directory -
run all calculi tests with
racket tapl/tests/run-all-tests.rkt
-
mlish language is in
tapl/mlish.rkt
, to make it easier to reuse other langs -
mlish tests are in
tapl/tests/mlish/
-
run all mlish tests with
racket tapl/tests/run-all-mlish-tests.rkt
-
alternate syntax implementations is in
define-typed-syntax
branch