All Projects → amuletml → Amulet

amuletml / Amulet

Licence: bsd-3-clause
An ML-like functional programming language

Programming Languages

haskell
3896 projects

Projects that are alternatives of or similar to Amulet

Ebooks
A repository for ebooks, including C, C plus plus, Linux Kernel, Compiler, OS, Algorithm, Security, Database, Network, ML and DL
Stars: ✭ 151 (-31.05%)
Mutual labels:  compiler, ml
Gocaml
🐫 Practical statically typed functional programming language implementation with Go and LLVM
Stars: ✭ 653 (+198.17%)
Mutual labels:  compiler, ml
Transcrypt
Python 3.7 to JavaScript compiler - Lean, fast, open! -
Stars: ✭ 2,502 (+1042.47%)
Mutual labels:  compiler
Retyped
Access 3600+ libraries from C# and let Bridge.NET compile your project into JavaScript.
Stars: ✭ 216 (-1.37%)
Mutual labels:  compiler
Customasm
💻 An assembler for custom, user-defined instruction sets! https://hlorenzi.github.io/customasm/web/
Stars: ✭ 211 (-3.65%)
Mutual labels:  compiler
Machine Learning
从零基础开始机器学习之旅
Stars: ✭ 209 (-4.57%)
Mutual labels:  ml
Mimium
mimium (MInimal Musical medIUM) a programming language as an infrastructure for sound and music.
Stars: ✭ 212 (-3.2%)
Mutual labels:  compiler
8cc.vim
C Compiler written in Vim script
Stars: ✭ 205 (-6.39%)
Mutual labels:  compiler
Goron
Yet another llvm based obfuscator
Stars: ✭ 218 (-0.46%)
Mutual labels:  compiler
Ppci
A compiler for ARM, X86, MSP430, xtensa and more implemented in pure Python
Stars: ✭ 210 (-4.11%)
Mutual labels:  compiler
Lumen
An alternative BEAM implementation, designed for WebAssembly
Stars: ✭ 2,742 (+1152.05%)
Mutual labels:  compiler
Ichbins
A tiny self-hosting Lisp-to-C compiler
Stars: ✭ 210 (-4.11%)
Mutual labels:  compiler
Compiler
Pawn compiler for SA-MP with bug fixes and new features - runs on Windows, Linux, macOS
Stars: ✭ 209 (-4.57%)
Mutual labels:  compiler
Urlang
Urlang is JavaScript with a sane syntax
Stars: ✭ 215 (-1.83%)
Mutual labels:  compiler
Ml Examples
Arm Machine Learning tutorials and examples
Stars: ✭ 207 (-5.48%)
Mutual labels:  ml
Silt
An in-progress fast, dependently typed, functional programming language implemented in Swift.
Stars: ✭ 217 (-0.91%)
Mutual labels:  compiler
Depthai
DepthAI Python API utilities, examples, and tutorials.
Stars: ✭ 203 (-7.31%)
Mutual labels:  ml
Nyaggle
Code for Kaggle and Offline Competitions
Stars: ✭ 209 (-4.57%)
Mutual labels:  ml
Dmd
dmd D Programming Language compiler
Stars: ✭ 2,498 (+1040.64%)
Mutual labels:  compiler
Saltwater
A C compiler written in Rust, with a focus on good error messages.
Stars: ✭ 219 (+0%)
Mutual labels:  compiler

Amulet

Amulet is a simple functional programming language in the ML tradition, with support for higher-rank parametric polymorphic types and row-polymorphic records, pattern matching with algebraic data types, and tail recursion elimination.

Build Status

Installation

Installation instructions

For your convenience, we provide pre-built tarballs for x86_64 Linux that are compiled every night from the master branch (as part of the nightly build job, linked above). Install them with the magic install script:

curl https://amulet.works/install.sh | env CHANNEL=nightly sh -

Building from Source

Make sure you have a functional Haskell toolchain including Stack. Since Amulet has a lot of object files (around 125 for the amc executable, not counting all of the Haskell dependencies that are shipped as .a static libraries), we use the LLVM lld linker in the Cabal file.

If you do not wish to use lld, remove all the ghc-options: stanzas from the amuletml.cabal file; This sed command should do the trick, too.

sed -re 's;-optl-fuse-ld=lld;;g' -i amuletml.cabal

Amulet ships with its own set of libraries. Make sure they are installed. amc will look for its libraries in one of the following directories:

${AMC_LIBRARY_PATH}
$(dirname $(which amc))/lib
$(dirname $(which amc))/../lib

The script tools/quickinstall.sh will take care of building and installing the libraries, using Stack.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].