{"id":13787712,"url":"https://github.com/amuletml/amulet","last_synced_at":"2025-05-12T01:31:35.245Z","repository":{"id":45665003,"uuid":"114893869","full_name":"amuletml/amulet","owner":"amuletml","description":"An ML-like functional programming language","archived":true,"fork":false,"pushed_at":"2021-10-17T20:03:22.000Z","size":4121,"stargazers_count":334,"open_issues_count":31,"forks_count":16,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-25T07:02:19.425Z","etag":null,"topics":["compiler","functional-language","haskell","ml"],"latest_commit_sha":null,"homepage":"https://amulet.works/","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amuletml.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-20T14:04:11.000Z","updated_at":"2025-04-20T21:54:12.000Z","dependencies_parsed_at":"2022-09-18T17:51:43.920Z","dependency_job_id":null,"html_url":"https://github.com/amuletml/amulet","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuletml%2Famulet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuletml%2Famulet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuletml%2Famulet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuletml%2Famulet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amuletml","download_url":"https://codeload.github.com/amuletml/amulet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252973680,"owners_count":21834107,"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":["compiler","functional-language","haskell","ml"],"created_at":"2024-08-03T21:00:27.945Z","updated_at":"2025-05-12T01:31:34.147Z","avatar_url":"https://github.com/amuletml.png","language":"Haskell","readme":"Amulet is no longer under development. If you're interested in other languages\nwhich compile to Lua, do check out\n[this list](https://github.com/hengestone/lua-languages).\n\n# Amulet\n\nAmulet is a simple functional programming language in the ML tradition,\nwith support for higher-rank parametric polymorphic types and\nrow-polymorphic records, pattern matching with algebraic data types, and\ntail recursion elimination.\n\n[![Build Status](https://shamiko.amulet.works/job/amulet/job/master/badge/icon)](https://shamiko.amulet.works/job/amulet/job/master/)\n\n# Installation\n\n[Installation\ninstructions](https://amulet.works/tutorials/00-installing.html)\n\nFor your convenience, we provide pre-built tarballs for x86_64 Linux\nthat are compiled every night from the `master` branch (as part of the\nnightly build job, linked above). Install them with the magic install\nscript:\n\n```\ncurl https://amulet.works/install.sh | env CHANNEL=nightly sh -\n```\n\n# Building from Source\n\nMake sure you have a functional Haskell toolchain including Stack. Since\nAmulet has a lot of object files (around 125 for the `amc` executable,\nnot counting all of the Haskell dependencies that are shipped as `.a`\nstatic libraries), we use the LLVM `lld` linker in the Cabal file.\n\nIf you do not wish to use `lld`, remove all the `ghc-options:` stanzas\nfrom the `amuletml.cabal` file; This sed command should do the trick,\ntoo.\n\n```\nsed -re 's;-optl-fuse-ld=lld;;g' -i amuletml.cabal\n```\n\nAmulet ships with its own set of libraries. Make sure they are\ninstalled. `amc` will look for its libraries in one of the following\ndirectories:\n\n```bash\n${AMC_LIBRARY_PATH}\n$(dirname $(which amc))/lib\n$(dirname $(which amc))/../lib\n```\n\nThe script `tools/quickinstall.sh` will take care of building and\ninstalling the libraries, using Stack.\n","funding_links":[],"categories":["Haskell","Functional"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famuletml%2Famulet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famuletml%2Famulet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famuletml%2Famulet/lists"}