GithubHelp home page GithubHelp logo

beam_languages's Introduction

Languages, and about languages, on the BEAM

Overview

This document is intended to list (a) languages implemented to run on the BEAM, the Erlang virtual machine, and (b) documents (articles & presentations) about the hows and whys of writing languages to run on the BEAM.

For the moment, and for want of a better name, I call such languages “BEAM languages” (although I have heard that there are other Erlang VMs, …).

I would like the document to be comprehensive, or at least “representative”. If I have missed a BEAM language, some noteworthy discussion about a BEAM language, or documentation about implementing languages targetting the BEAM, please let me know through the usual channels (issues, forks, PRs, tweets, emails, etc.).

Thank you.

Languages

Erlang itself, then the Lisp-influenced languages, then in alphabetical order.

erlang

joxa (2011+)

Differences Between Joxa and LFE

Joxa: A Full Featured Lisp on the Erlang VM

lfe (2008+)

‘the concurrent schemer’ (2013+)

alpaca (2016+)

efene (2009+)

elixir (2011+)

eml (2012)

“eml - Erlang flavored by Some ML”

erl2 (2012)

Announcement and ensuing discussion on erlang-questions
http://erlang.org/pipermail/erlang-questions/2012-February/064687.html
“A Few Improvements to Erlang” (EUC 2012)
http://www.erlang-factory.com/conference/ErlangUserConference2012/speakers/joearmstrong
A blog post about the above presentation in Chinese
http://www.cnblogs.com/me-sa/archive/2012/06/06/2538941.html

erlog (2008+)

Backtracking in Erlang, part 1 - control

erlyjs (2008-2013?)

The original repo (on Google Code) no longer exists, but there are several forks, e.g.:

A couple of blog posts from 2008 (the second is by the original developer of erlyjs):

ErlyJS: JavaScript on Erlang
http://ajaxian.com/archives/erlyjs-javascript-on-erlang
ErlyJS - translating Javascript to Erlang
http://rsaccon.blogspot.co.uk/2008/02/erlyjs-translating-javascript-to-erlang.html

haskerl et al. (1993-2014?)

The Haskerl Index
http://www.dcs.gla.ac.uk/~partain/haskerl.html
Yhc/Erlang/Proof of concept
https://wiki.haskell.org/Yhc/Erlang/Proof_of_concept

idris-erlang (2014-15)

This is an Idris package (therefore requiring Haskell and Idris) which compiles Idris source code into erlang source code.

interfix (2015)

luerl (2012+)

purerl (2016+)

Erlang backend for PureScript

Introducing PureScript Erlang
http://nwolverson.uk/devlog/2016/08/01/introducing-purescript-erlang.html

reia (-2011)

xerl (2013)

Five web articles in 2013 starting with:

About Languages

Erlang, LFE, Joxa and Elixir: Established and Emerging Languages in the Erlang Ecosystem

(slides)

Implementing Languages on the BEAM (1)

(video)

Implementing Languages on the BEAM (2)

(slides & video)

Create Your Own Language: How to implement a language on top of Erlang Virtual Machine (BEAM)

(slides)

Eric Merritt, Erlang and distributed systems expert, gives his views on BEAM languages, Hindley–Milner type systems and new technologies

(article/interview, with links to podcast & video)

Erlang and Types

These first two papers are linked from Philip Wadler’s erlang page: http://homepages.inf.ed.ac.uk/wadler/topics/erlang.html

A practical subtyping system for Erlang

(paper)

The great type hope

(slides)

Om: Erlang System F-Omega (Erlang with Types Proposal)

beam_languages's People

Contributors

ambrosia avatar c-rack avatar fgallaire avatar seanjensengrey avatar

Watchers

 avatar  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.