![larry the smll mascott](https://github.com/hexaredecimal/ML/raw/master/assets/_bfbc2acb-e0df-470f-8cb4-ff6e3855fb45-removebg-preview.png)
A small, experimental, general purpose programming language created for exploring alternative ways of writing applications on the JVM
The latest JAVA compiler (with support for java 21 source input)
A rust compiler
using MLIo::Io
fun main(): Unit => println("Hello, world")
After downloading and installing the required software, execute the following commands
$ git clone depth=1 https://github.com/hexaredecimal/ML.git
$ cd ML
$ cargo build
After running these commands you should now have a target folder on the root of the project, then execute the following
$ ./target/debug/smll init # Initialize a new project in the current directory and creates a `project.toml` and a directory named code
edit the newly created project.toml
and add the following under [depends]
MlIo = "0.0.1"
save and return to your terminal.
$ ./target/debug/smll build # Builds the dependencies and the projects main file
$ ./target/debug/smll run # Run the main program file
- Package manager
-
Add command
for adding new dependencies -
Clean
command for cleaning the project. (This should cause a full rebuild) - Use project version/author info when downloading dependencies
- Package registry here
- Type inference for variables
- Variant enums
- structs
- Expressions not Statements
SMLL is a ml derived language for the JVM which borrows a lot of concepts from languages such as Standard ML, Rust and Kotlin.