https://github.com/in-fun/mi
An experimental compiler for the sml language
https://github.com/in-fun/mi
compiler experimental functional-languages language ml sml
Last synced: 3 months ago
JSON representation
An experimental compiler for the sml language
- Host: GitHub
- URL: https://github.com/in-fun/mi
- Owner: in-fun
- License: other
- Created: 2017-05-19T12:12:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-19T12:47:18.000Z (over 8 years ago)
- Last Synced: 2025-01-29T18:46:35.365Z (8 months ago)
- Topics: compiler, experimental, functional-languages, language, ml, sml
- Language: Standard ML
- Homepage:
- Size: 679 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.txt
- License: LICENSE.txt
Awesome Lists containing this project
README
*Mi* is an (experimental) modern practical functional programming language. It can be seem as a dialect of the Standard ML language, however is not intended to conform to the SML standard.
* The 'm' in the name can be interpreted as "meta" or "modern";
* and the 'i' means "intuitive" or "intelligent".### The motivations of this language are:
* Ecosystem > Standard
The history of SML told us a non-restricted standard is worse than nothing. The incompatibility of different SML implementations makes the SML community fragmented, as you can hardly find or write a library that works on all SML implementations. Ocaml does not have a standard, but this does not prevent it owning a better ecosystem than SML.
To have a good ecosystem, the language's toolchain should help documentation, testing, library distribution and etc. For instance, it is expected to have documentation generator, test framework and package manager built in.* User experience > Efficiency
In most circumstances, the adoption of a (new) language relies more on the user (developer) experience of the language than the performance of compilers or interpreters.
### Why based on Standard ML?
* The standard ML language is well defined, and its syntax is more coherent and cleaner than that of Ocaml.
* As a strict language, Standard ML is more user friendly than Haskell, which is non-strict and pure.