{"id":15069207,"url":"https://github.com/hexaredecimal/ml","last_synced_at":"2025-04-10T16:51:54.193Z","repository":{"id":218056054,"uuid":"745479164","full_name":"hexaredecimal/ML","owner":"hexaredecimal","description":"A small general purpose programming language for programming on the JVM.  Package manager: https://smllregistry.github.io/","archived":false,"fork":false,"pushed_at":"2024-05-19T12:02:10.000Z","size":2840,"stargazers_count":11,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-19T13:26:10.938Z","etag":null,"topics":["java","jvm","ml","sml"],"latest_commit_sha":null,"homepage":"https://smllang.gitbook.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hexaredecimal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-19T12:27:57.000Z","updated_at":"2024-05-29T21:54:11.075Z","dependencies_parsed_at":"2024-01-19T13:47:12.515Z","dependency_job_id":"505124cb-1e71-4597-9f30-7e5f014805c5","html_url":"https://github.com/hexaredecimal/ML","commit_stats":null,"previous_names":["hexaredecimal/ml"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexaredecimal%2FML","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexaredecimal%2FML/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexaredecimal%2FML/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexaredecimal%2FML/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hexaredecimal","download_url":"https://codeload.github.com/hexaredecimal/ML/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248256104,"owners_count":21073462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jvm","ml","sml"],"created_at":"2024-09-25T01:41:02.798Z","updated_at":"2025-04-10T16:51:54.175Z","avatar_url":"https://github.com/hexaredecimal.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Small ML language (SMLL) \n\n\u003cdiv align=\"center\"\u003e \n\u003cimg \n    alt=\"larry the smll mascott\"\n    src=\"https://github.com/hexaredecimal/ML/blob/master/assets/_bfbc2acb-e0df-470f-8cb4-ff6e3855fb45-removebg-preview.png\" \n    width=\"20%\" /\u003e\n    \n\u003cp\u003e A small, experimental, general purpose programming language created for exploring alternative ways of writing applications on the JVM \u003c/p\u003e\n\n![example workflow](https://github.com/hexaredecimal/ML/actions/workflows/rust.yml/badge.svg)\n\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fgjbae1212%2Fhit-counter\u0026count_bg=%2379C83D\u0026title_bg=%23555555\u0026icon=codeigniter.svg\u0026icon_color=%23E7E7E7\u0026title=Visitiors\u0026edge_flat=false)](https://hits.seeyoufarm.com)\n\n\n\u003c/div\u003e\n\n# What is needed to run this?\n\u003e The latest JAVA compiler (with support for java 21 source input)\n\n\u003e A rust compiler\n\n```ml\nimport System::Io \n\nfn main(): Unit =\u003e println(\"Hello, world\")\n```\n# How to compile?\n\u003e After downloading and installing the required software, execute the following commands\n\n```sh\n$ git clone depth=1 https://github.com/hexaredecimal/ML.git\n$ cd ML\n$ cargo build\n```\n\n\u003e After running these commands you should now have a target folder on the root of the project, \nthen execute the following\n\n```sh\n$ ./target/debug/smll init  # Initialize a new project in the current directory and creates a `project.toml` and a directory named code\n$ ./target/debug/smll build # Builds the dependencies and the projects main file\n$ ./target/debug/smll run   # Run the main program file\n```\n\n\n# Package Management\n- SMLL has a built-in package manager which handles dependencies as they are specified in the `project.toml` file \n- To add dependencies simply edit the `project.toml` file and add the following:\n```sh\nRaySMLL = \"0.0.1\"\n```\n- Then run build. The compiler will download and install the dependencies in a folder in the current working directory.\n\n\n# Todo:\n- [X] Package manager\n- [ ] `Add command` for adding new dependencies\n- [ ] `Clean` command for cleaning the project. (This should cause a full rebuild)\n- [ ] Use project version/author info when downloading dependencies \n- [X] Package registry [here](https://smllregistry.github.io) \n\n# Features:\n- [X] Type inference for variables\n- [X] Variant enums\n- [X] Structs\n- [X] Expressions not Statements\n\n\n# Inspiration:\n\u003e\u003e\u003e SMLL is a ml derived language for the JVM which borrows a lot of concepts from languages such as \nStandard ML, Rust and ocaml. \n\n# Stargazers\n\n\u003ca href=\"https://star-history.com/#hexaredecimal/ML\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=hexaredecimal/ML\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=hexaredecimal/ML\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=hexaredecimal/ML\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexaredecimal%2Fml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexaredecimal%2Fml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexaredecimal%2Fml/lists"}