Self-hosting F#-subset compiler
The Milone language is an F#-subset programming language. This is all-in-one repository.
let rec factorial n =
if n = 0 then
1
else
n * factorial (n - 1)
printfn "5! = %d" (factorial 5)
5! = 120
History: The author started this project in 2018 just for fun. Initial goal was making a compiler that can compile itself (that is, self-hosting). It was achieved at v0.1.0 in 2019.
Status: Currently this project is being developed for v1.0 release.
Disclaimer: This is a hobby project. Don't use in production.
Prerequisites:
Do:
# Download
git clone 'https://github.com/vain0x/milone-lang' --filter=blob:none
# Build and install.
cd milone-lang
make install
make uninstall
.Prerequisites:
Instructions:
See docs/binary_package.md for more details.
(L-1) Milone-lang tools (CLI compiler and LSP server) are distributed under either:
(L-2) Files that explicitly include their license notice are distributed under that license.
(L-3) Everything else (including configurations, documentation, examples, libraries, runtime, scripts, tests, etc.) are distributed under CC0-1.0.
(L-4) Any part of the repository can change license to any of the three licenses (Apache, MIT, CC0.)
Remark:
(L-3)
guarantees that binaries generated by the milone-lang compiler that depend on the milone-lang runtime can be distributed under any license, especially without being affected by the Apache or MIT licenses.
(L-4)
guarantees that any content in the repository can be moved within the repository without regard to license changes.
Issues and pull requests are welcome. Feel free to ask in discussions, twitter or something.
Contributors must agree to the license rule (L-4)
written above. (In short, contributed code is distributed under any of Apache, MIT or CC0.)