Skip to content

Latest commit

 

History

History
42 lines (26 loc) · 1.39 KB

README.md

File metadata and controls

42 lines (26 loc) · 1.39 KB

MLPolyR

This is a ML dialect with first-class cases (first-class pattern matching) and row-polymorphism that solves the expression problem directly with language features.

Build

Install SML/NJ, tested with v110.75 and v110.87 on Linux (make sure it has ML-lex) and build with this command:

make

and that's it.

Usage

There's a LaTeXed PDF manual is in doc/, which is excatly the same as language spec.

There are also a compiler overview, a paper, and a PhD thesis about MLPolyR.

For code editing, we've created an IntelliJ plugin for MLPolyR.

Current Status

It builds and produce PPC assembly code, which cause failure upon linking phase.

Call mlpolyrc with command line switch -S emits assembly code without linking, which is a viable option if you only want typechecking programs. Other switches all requires linking.

Now you can call with -t to typecheck without doing codegen.

Now you use -e to eval. However, I/O operation is not yet supported, which means all you can do is integer arith stuff.