hexaredecimal / ML

A small general purpose programming language for programming on the JVM. Package manager: https://smllregistry.github.io/
https://smllang.gitbook.io
Apache License 2.0
11 stars 1 forks source link
java jvm ml sml

Small ML language (SMLL)

larry the smll mascott

A small, experimental, general purpose programming language created for exploring alternative ways of writing applications on the JVM

![example workflow](https://github.com/hexaredecimal/ML/actions/workflows/rust.yml/badge.svg) [![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fgjbae1212%2Fhit-counter&count_bg=%2379C83D&title_bg=%23555555&icon=codeigniter.svg&icon_color=%23E7E7E7&title=Visitiors&edge_flat=false)](https://hits.seeyoufarm.com)

What is needed to run this?

The latest JAVA compiler (with support for java 21 source input)

A rust compiler

using System::Io

fun main(): Unit => println("Hello, world")

How to compile?

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

Todo:

Features:

Inspiration:

SMLL is a ml derived language for the JVM which borrows a lot of concepts from languages such as Standard ML, Rust and Kotlin.

Stargazers

Star History Chart