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!
Currently we use parameter lists in places which are not valid in TS. Example: ```scala :ts let t = { a = 5; b = "world"} in if t.a ==...
The main idea is to interface with the TypeScript compiler and leverage its parser and type checker. The benefits would be twofold: * We can reuse TS types from TS...
There is a lot we can do to make sure that type simplification does the right thing. (Currently, the result of type simplification is only used to pretty-print type inference...
draft pr
### TODO - [x] Duplication of definitions - [ ] Float out lambda binders ### Missing Implementation - [ ] `restParam` and multiple parameter lists - [ ] Deforestation related...
@chengluyu This is the WIP of my changes. Can you please look into updating the UCS and pattern compilation implementations?
### 2025-02-26 TODO: - [x] Add spaces like a civilized person - [x] Check intersections for WFedness - [x] Remove assumption that only the first argument needs disjointness - [x]...
WIP - [ ] Fix tests - [ ] Port all the test - [ ] nofib `mate.mls` bug for using comparision for the wrong type.