mlscript
mlscript copied to clipboard
The MLscript programming language. Functional and object-oriented; structurally typed and sound; with powerful type inference. Soon to have full interop with TypeScript!
Adds a pass to the IR which optimizes mutually tail-recursive and mutually tail-recursive modulo cons functions. The full pass first optimizes modulo cons functions to be tail recursive, then optimizes...
## TL;DR This PR adds new UCS desugarer and a rudimentary implementation of `PreTyper`. ## Features ### Desugarer The new UCS desugarer replaces the old desugarer. The facilities old desugarer...
Add support for GADTs - GADT-reasoning in pattern matching (type annotation needed) - Typing for type selections - Parsing the wildcard type `?` in type arguments - use `as` keyword...
Draft PR: * Resolved merge conflicts of [original PR](https://github.com/hkust-taco/mlscript/pull/183) * Tests failed at OptionalArgs.mls ``` fun f1(a: Int, b: Int) = a + b //│ ╔══[ERROR] Type mismatch in operator...
> **Note**: part of #195 Changes: - Parsing - type member declaration with bounds `Foo[type A extends L restricts U]` - type selection `x.A` - `as` operator - wildcard type...
https://github.com/hkust-taco/mlscript/pull/174/files#r1290512647 Turns out `files.autoSave` is indeed enabled by others.
Support more quasiquote syntax: - [ ] Assign - [ ] While - [ ] NuNew - [ ] Tuple - [ ] Pattern matching Also see: #182
When working on #53, I met a lot of things that we could improved in the future. Here are them. - [ ] Find a neat way to store query...
Issue to track the parts of the UCS implementation that are still incomplete or wrong – please update with more cases as you find them. ### Translation - [x] Support...