Git Product home page Git Product logo

seanwallawalla-forks / amulet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from amuletml/amulet

1.0 2.0 0.0 4.02 MB

An ML-like functional programming language

Home Page: https://amulet.works/

License: BSD 3-Clause "New" or "Revised" License

Haskell 80.05% Yacc 2.90% OCaml 10.28% Standard ML 1.83% Lua 1.44% Shell 0.45% Vim Script 0.48% Emacs Lisp 0.46% Perl 0.52% C 0.20% Lex 1.40%

amulet's Introduction

Amulet is no longer under development. If you're interested in other languages which compile to Lua, do check out this list.

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.

amulet's People

Contributors

squiddev avatar lignum avatar crazedprogrammer avatar davidgarland avatar lavenza avatar a-cloud-ninja avatar

Stargazers

Sean P. Myrick V19.1.7.2 avatar

Watchers

 avatar Sean P. Myrick V19.1.7.2 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.