- add badges for all current projects - add new projects - create elisp script to help to deal with the items - create rebar3 project to generate automatically this list (wip)
🕶 Awesome Erlang 🕶
A curated list of amazingly awesome Erlang libraries, resources and shiny thing inspired by awesome-elixir and forked from awesome-erlang.
- Awesome Erlang
- Actors
- Algorithms and Datastructures
- Authentication
- Blockchain
- Build Tools
- Caching
- CMS
- Code Analysis
- Codebase Maintenance
- Configuration Management
- Date and Time
- Debugging
- Deployment
- Distributed Systems
- Documentation
- Geolocation
- Graphical Interfaces
- HTTP
- Internet of Things
- Logging
- Miscellaneous
- Monitoring
- Networking
- ORM and Datamapping
- Package Management
- Profiling
- Queue
- Queueing Systems
- REST and API
- Release Management
- Security
- Templating
- Testing
- Text and Numbers
- Third Party APIs
- Translations and Internationalizations
- Web Framework Components
- Web Frameworks
- Resources
- Other Awesome Lists
- Contributing
Actors
Libraries and tools for working with actors and such.
-
poolboy: A hunky Erlang worker pool factory.
-
pooler: An OTP Process Pool Application
-
worker_pool: Erlang worker pool
-
episcina: A simple non intrusive resource pool for connections
-
erlang-stdinout-pool: stuff goes in, stuff goes out. there's never any miscommunication.
-
hottub: Simple, Fast, Permanent Erlang Worker Pool
-
swarm: Fast and simple acceptor pool for Erlang
-
pooly: Erlang OTP Process Pool
-
ecpool: Erlang Connection/Client Pool Library.
-
erlpool: Erlang round-robin load balancer for Erlang processes based on ETS.
-
cuesport: simple Erlang pool of workers.
-
gen_buffer: A generic message buffer behaviour with pooling and back-pressure for Erlang/Elixir.
-
JoelPM: A pooling mechanism for gen_servers.
-
erlangbureau: Small and flexible pool manager written in Erlang.
-
kuenishi: Active worker pool in OTP manner.
-
hnc-agency: hnc - Erlang worker pool.
-
gootik: Constant pool cache for Erlang for massive data.
-
doubleyou: Generic pool behavior.
-
okeuday: Erlang Process Pool as a Supervisor.
-
botsunit: Erlang worker pool.
-
lb: Load-Balancer for spreading Erlang messages to other processes/ports.
-
director: Fast, powerful and useful process supervisor library with different approaches.
Algorithms, Datastructures and Design Patterns
Libraries and implementations of algorithms and datastructures.
-
datum: A pure functional and generic programming for Erlang.
-
erlando: A set of syntax extensions like currying and monads for Erlang.
-
statebox: Erlang state monad with merge/conflict-resolution capabilities.
-
riak_dt: Erlang library of state based CRDTs.
-
nif_helpers: An Erlang.mk plugin and C library for writing NIFs.
-
hooks: Generic plugin and hook system for Erlang applications.
Authentication
Libraries for implementing authentications schemes.
-
oauth2: Erlang OAuth2 Implementation.
-
auth: Production-worthy, generic authentication system. Currently implements both password-based and RSA-key-based authentication calls. Coming Soon: Two Factor Authentication.
Blockchain
Blockchain applications and/or libraries using Erlang
-
aeternity: A new blockchain for æpps. Optimized for scalability via smart contracts inside state-channels. Has a built-in oracle for integration with real-world data. Comes with a naming system, for developerability.
-
amoveo: Amoveo is a blockchain meant for enforcement of investment and insurance contracts.
-
ecoinpool: A pool mining software written in Erlang for cryptographic currencies.
Build Tools
Project build and automation tools.
-
rebar: Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases.
-
rebar3: A build tool for Erlang which can manage Erlang packages from hex.pm.
-
erlang.mk: A build tool for Erlang that just works, based on GNUMakefile
-
zx/zomp: ZX/Zomp makes starting Erlang projects and running Erlang programs lightweight and familiar.
-
agner: Agner is a rebar-friendly Erlang package index inspired by Clojars and Homebrew.
-
sync: On-the-fly recompiling for Erlang.
-
sinan: Erlang/OTP oriented build system.
Caching
Libraries for caching data.
-
cache: In-memory Segmented Cache.
Code Analysis
Libraries and tools for analysing, parsing and manipulation codebases.
-
Concuerror: Concuerror is a systematic testing tool for concurrent Erlang programs.
-
eflame: A Flame Graph profiler for Erlang.
-
geas: Geas is a tool that will detect the runnable official Erlang release window for your project, including its dependencies and provides many useful informations.
Codebase Maintenance
Libraries and tools to maintain a clean codebase.
-
elvis: Erlang Style Reviewer.
CMS
Erlang powered Content Management System (CMS)
A content management system (CMS) is computer software used to manage the creation and modification of digital content (content management). A CMS is typically used for enterprise content management (ECM) and web content management (WCM).
-- Wikipedia
-
LiquidCMS: KISS CMS based on Nitrogen Web Framework and Bootstrap.
-
khale: Khale is a somewhat-open CMS suitable for creating sites for open communities.
-
Chat: Instant Messenger respects ISO 20922 IETF 3394 3565 5280 5480 5652 5755 8551 ITU ASN.1 X.509 CMS PKCS-10 PCKS-7 OCSP LDAP DNS X9-42 X9-62 X25519 X488 SECP384r1.
Command Line Interfaces (CLI)
-
getopt: Erlang module to parse command line arguments using the GNU getopt syntax.
-
nebula: Small library for colored (ANSI) output in Erlang/Elixir/LFE. It's can be useful when you need to create user-friendly command-line application.
-
erlctl: Command Line Interface Framework for Erlang.
-
ectl: Escript command line utilities.
-
Erlang-command-line-interface: Telnet command line interface written in Erlang.
-
erlfmt: Formatting of Erlang terms from the command line.
-
ecli: Telecom style command line interface with tab completion.
Cryptography
-
erlang-dkg: Distributed key generation for Erlang (using pairing based cryptography).
-
erlang-crypto_rsassa_pss: RSASSA-PSS Public Key Cryptographic Signature Algorithm for Erlang and Elixir.
-
cinched: Cinched is a microservice to provide cryptographic and key management operations.
-
cryptographic: Erlang cryptographic library primarily written in Erlang to make distribution on multiple platforms easy.
-
erlang-ucrypto: µCrypto is a thin wrapper for the OpenSSL API's that are missing in OTP's crypto application.
Configuration Management
Libraries and tools related to configuration management.
-
stillir: Cache environment variables as Erlang app variables.
Databases
-
actordb: ActorDB is a distributed SQL database with the scalability of a KV store, while keeping the query capabilities of a relational database.
-
antidote: AntidoteDB is a highly available geo-replicated key-value database.
-
barreldb: Barrel is a modern document-oriented database in Erlang focusing on data locality (put/match the data next to you) and P2P.
-
cakedb: A stream oriented database.
-
cbt: Multi-layer MVCC log append-only database library based on the Apache CouchDB btree.
-
couchbeam: Apache CouchDB client in Erlang.
-
couchdb: An Erlang/Elixir CouchDB client.
-
cowdb: Pure Key/Value database library for Erlang Applications.
-
dbi: Erlang and Elixir DataBase Interface.
-
epgsql: PostgreSQL Driver for Erlang.
-
erlmongo: Erlang driver for MongoDB with gridfs that works with maps and proplists.
-
emysql: Emysql implements a stable driver toward the MySQL database. It currently support fairly recent versions (somewhere around 5.3+) and it is considered fairly stable in production.
-
ergl: A fault-tolerant marriage of causal and strong consistency.
-
imem: Clustered in-memory database based on MNESIA with simple SQL layer.
-
jamdb_oracle: Oracle Database driver for Erlang.
-
kvc: Key Value Coding for Erlang data structures
-
khepri: Khepri is a tree-like replicated on-disk database library for Erlang and Elixir.
-
memdb: Erlang memory backend K/V store.
-
migresia: A simple Erlang tool to automatically migrate Mnesia databases between versions.
-
minidb: A minimal in-memory distributed master-less document database
-
mnesia 🟊 : A heavy-duty real-time distributed database
-
mria: Mria is an extension for Mnesia database that adds eventual consistency to the cluster.
-
mysql-otp: MySQL/OTP – MySQL driver for Erlang/OTP.
-
nkbase: NkBASE distributed database
-
odi: OrientDB Database Interface for Erlang.
-
opencouch: A embeddable document oriented database compatible with Apache CouchDB.
-
plum_db: A globally replicated database using eventual consistency. It uses Epidemic Broadcast Trees and lasp-lang’s Partisan.
-
pgsql_migration: PostgreSQL migrations for Erlang.
-
rc: Chain Replication Database for KVS
-
ringo: Ringo is an experimental, distributed, replicating key-value store based on consistent hashing and immutable data. Unlike many general-purpose databases, Ringo is designed for a specific use case: For archiving small or medium-size data items.
-
rocker: Erlang/Elixir wrapper for RocksDB.
-
sumbo_db: sumo_db aims to ease db access for erlang applications. It offers a very simple persistance layer capable of interacting with different db's, while offering a consistent api to your code.
-
stockdb: stockdb is a storage for Stock Exchange quotes.
-
vaxine: Rich-CRDT database based on AntidoteDB.
-
yamndb: In-memory circular array database.
Date and Time
Libraries for working with dates and times.
-
chronos: Timer module for Erlang that makes it easy to abstact time out of the tests.
-
erlang_localtime: Erlang library for conversion from one local time to another.
-
ezic: A set of erlang utilities for the Olson timezone database files.
-
qdate: Erlang date, time, and timezone management: formatting, conversion, and date arithmetic.
Debugging
Libraries and tools for debugging code and applications.
-
🟊 cover - A Coverage Analysis Tool for Erlang
-
🟊 debugger - A debugger for debugging and testing of Erlang programs
-
🟊 dialyzer - The DIALYZER, a DIscrepancy AnaLYZer for ERlang programs.
-
eministat: Port of Poul-Henning Kamp's ministat to the Erlang world.
-
et - Event Tracer (ET), uses the built-in trace mechanism in Erlang and provides tools for collection and graphical viewing of trace data.
-
flatlog: A custom formatter for the Erlang logger application that turns maps into single line text logs.
-
recon: Collection of functions and scripts to debug Erlang in production.
-
tx: An HTML Erlang term viewer, starts own webserver and displays any term you give it from your Erlang node.
-
🟊 xref - A Cross Reference Tool for analyzing dependencies between functions, modules, applications and releases.
Deployment
Libraries and tools related to deployment of Erlang/OTP applications.
-
enit: An Erlang application release in a Docker container from scratch.
-
docker-erlang: Basic Docker Container Images for Erlang/OTP.
-
pkgx: Build .deb packages from Erlang releases.
Distributed Systems
Tools for stress/load testing, latency issues, etc. across microservices.
-
erleans: A framework for building distributed applications in Erlang and Elixir based on Microsoft Orleans.
-
nkcluster: A framework to manage jobs at huge Erlang clusters.
-
partisan: Partisan is a scalable and flexible, TCP-based membership system and distribution layer for the BEAM.
-
typhoon: Stress and load testing tool for distributed systems that simulates traffic from a test cluster toward a system-under-test (SUT) and visualizes related latencies.
-
enot: Package manager, build and deploy tool.
Documentation
Documenting Erlang code.
-
🟊 edoc - the Erlang program documentation generator.
-
erldocs: This is the code used to generate documentation for erlang projects in the format of erldocs.com.
-
edown: EDoc extension for generating Github-flavored Markdown.
-
knot: A literate programming tool that uses Markdown.
-
asciiedoc: EDoc extension for generating HTML or GitHub-flavored Markdown from AsciiDoc sources.
-
escobar: Erlang source code to html transform.
Embedded
-
E4VM: A small portable virtual machine that would run Erlang on embedded systems.
-
gen_batch: A batch job running library for embedded Erlang/OTP.
-
i2c: Erlang api to i2c linux interface.
-
eel: Embedded Erlang (EEl).
-
mini-monkey: MiniMonkey is a tiny message routing system aimed for embedded systems. Especially the broker is programmatically provisioned.
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
-
erl-rstar: An Erlang implementation of the R*-tree spacial data structure.
-
geodata2: Erlang application for working with MaxMind geoip2 (.mmdb) databases.
-
geocouch: A spatial extension for Couchbase and Apache CouchDB.
-
teles: An Erlang network service for manipulating geographic data.
Graphical Interfaces
Libraries for creating and dealing with Graphical Interfaces (GUI)
-
slider: A WxErlang application to generate slidesets.
HTTP
Libraries for working with HTTP and scraping websites.
-
cowboy: A simple HTTP server.
-
elli: A webserver you can run inside your Erlang application to expose an HTTP API.
-
bullet: Simple, reliable, efficient streaming for Cowboy.
-
gun: Erlang HTTP client with support for HTTP/1.1, SPDY and Websocket.
-
hackney: Simple HTTP client in Erlang.
-
ibrowse: Erlang HTTP client.
-
lhttpc: A lightweight HTTP/1.1 client implemented in Erlang.
-
shotgun: For the times you need more than just a gun.
-
yaws: A webserver for dynamic content written in Erlang.
-
🟊 inets:httpd - An implementation of an HTTP 1.1 compliant web server, as defined in RFC 2616.
-
🟊 inets:httpc - An HTTP/1.1 client
-
webmachine: Webmachine is an application layer that adds HTTP semantic awareness on top of the excellent bit-pushing and HTTP syntax-management provided by mochiweb, and provides a simple and clean way to connect that to your application's behavior.
-
erlang-spdy: Library implementing the SPDY protocol.
-
mimerl: Library to handle mimetypes.
Image Processing
-
emagick: Wrapper for Graphics/ImageMagick command line tool.
Internet of Things
Libraries and tools for interacting with the physical world.
-
grisp: Run the Erlang VM on an IoT board with many hardware interfaces and low-level drivers using a small realtime unikernel called RTEMS.
-
achlys: Erlang framework for building applications with Lasp on GRiSP
-
grisp_emulation: Hardware emulation layer for the GRiSP runtime.
-
dgiot: Open source platform for iot , 6 min Quick Deployment,10M devices connection,Carrier level Stability.
-
erlem: Erlang IoT platform
-
lynkia: A library to make large-scale computations on IoT devices.
-
lemma_erlang: A lemma for IDEO's Noam internet-of-things prototyping platform.
Logging
Libraries for generating and working with log files.
-
bloberl: Simple log shipping to cloud object storage (S3, GCS and Azure Blob).
-
lager: A logging framework for Erlang/OTP.
-
lager_amqp_backend: AMQP RabbitMQ Lager backend.
-
lager_hipchat: HipChat backend for lager.
-
lager_loggly: Loggly backend for lager.
-
lager_smtp: SMTP backend for lager.
-
lager_slack: Simple Slack backend for lager.
-
logplex: Heroku log router.
Miscellaneous
Useful libraries or tools that don't fit in the categories above.
-
erlang-history: Hacks to add shell history to Erlang's shell.
-
erld: erld is a small program designed to solve the problem of running Erlang programs as a UNIX daemon.
Monitoring
Libraries for gathering metrics and monitoring.
-
entop: A top-like Erlang node monitoring tool.
-
eper: A loose collection of Erlang Performance related tools.
-
erlubi: This is a simple visualizer for erlang systems using Ubigraph.
-
exometer: An Erlang instrumentation package.
-
folsom: An Erlang based metrics system inspired by Coda Hale's metrics.
-
mutop: Munin real-time monitoring tool, using multiple hosts and displaying in command-line using curses library.
-
🟊 observer - Observer, tools for tracing and investigation of distributed systems
-
statsderl: A statsd Erlang client.
-
vmstats: Tiny Erlang app that works in conjunction with statsderl in order to generate information on the Erlang VM for graphite logs.
Networking
Libraries and tools for using network related stuff.
-
barrel_tcp: a generic TCP acceptor pool with low latency in Erlang.
-
gen_rpc: A scalable RPC library for Erlang-VM based languages.
-
gen_tcp_server: A library that takes the concept of gen_server and introduces the same mechanics for operating a TCP server.
-
gossiperl: Language agnostic gossip middleware and message bus written in Erlang.
-
nat_upnp: Erlang library to map your internal port to an external using UNP IGD.
-
ranch: Socket acceptor pool for TCP protocols.
-
natter: Erlang XMPP Client.
-
condor: Condor is a minimal library for building scalable TCP servers in Erlang.
-
inet_cidr: CIDR erlang library.
-
erlang-nat: Implements NAT handling facilities for Erlang applications.
-
sieve: sieve is a simple TCP routing proxy (layer 7) in Erlang.
-
socat: Command line utility to cat files via network socket.
-
sockerl: Library for implementing servers, clients and client pool in TCP protocols.
ORM and Datamapping
Libraries that implement object-relational mapping or datamapping techniques.
-
boss_db: A sharded, caching, pooling, evented ORM for Erlang.
-
couchdb: Document oriented database.
-
datalog: Datalog is a query language based on the logic programming paradigm. The library is designed to formalize relation of n-ary streams.
-
erlog: Erlog is an Erlang implemented Datalog.
-
esync: Simple tool to sync files.
-
merle: An Erlang Memcached Client.
Package Management
Libraries and tools for package and dependency management.
- hex.pm - A package manager for the Erlang ecosystem.
Profiling
-
🟊 cprof - The cprof module is used to profile a program to find out how many times different functions are called.
-
🟊 eprof - A Time Profiling Tool for Erlang
-
🟊 fprof - A Time Profiling Tool using trace to file for minimal runtime performance impact.
Queue
Libraries for working with event and task queues.
-
dq: Distributed Fault Tolerant Queue library.
-
ebqueue: Tiny simple blocking queue in Erlang.
-
pqueue: Erlang Priority Queues.
-
tinymq: A diminutive, in-memory message queue for Erlang.
-
couch_zmq: zeromq endpoint for couchdb.
Queueing Systems
Implementation of queueing and bus systems.
-
bondy: A WAMP (Web Application Messaging Protocol) Implementation in Erlang.
-
rabbitmq-server: An implementation of AMQP in Erlang.
-
vernemq: An MQTT Broker in Erlang
Rebar3 Plugins
-
rebar3_elixir_compile: Elixir rebar3 compiler plugin
-
port_compiler: A rebar3 port compiler
-
rebar3_cuttlefish: Cuttlefish plugin for rebar3
-
rebar3_lint: Erlang linter - rebar3 plugin.
-
rebar3_erlydtl_plugin: Rebar3 Erlydtl Plugin.
-
rebar3_gpb_plugin: A rebar3 plugin for automatically compiling .proto files using the gpb protobuf compiler.
-
rebar3_proper: Run PropEr test suites with rebar3.
-
rebar3_auto: Rebar3 plugin to auto compile and reload on file change.
-
rebar3_hank: The Erlang Dead Code Cleaner
-
rebar3_ex_doc: rebar3 plugin for generating docs with ex_doc.
-
rebar3_cargo: Rebar3 plugin to build Rust crates.
-
rebar3_archive_plugin: Create Erlang Code archives (.ez).
-
rebar3_vendor: Rebar3 Vendor Plugin.
REST and API
Libraries and web tools for developing REST-ful APIs.
-
echohttp: simple service echoing any requests.
-
leptus: Leptus is an Erlang REST framework that runs on top of cowboy.
-
rooster: Rooster is a lightweight REST framework that runs on top of mochiweb.
Release Management
Libraries and tools for release management.
-
relx: A release assembler for Erlang.
Templating
Templating system
-
brim: HTML templating library.
-
erlydtl: ErlyDTL compiles Django Template Language to Erlang bytecode.
-
jaderl: An implementation of the Jade templating language in Erlang.
-
mustache.erl: An Erlang port of Mustache for Ruby.
-
walrus: A mustache-like templating.
Security
Security related projects in Erlang.
-
erlpass: A library to handle password hashing and changing in a safe manner, independent from any kind of storage whatsoever.
Testing
Libraries for testing codebases and generating test data.
-
ct_helper: Helper modules for common_test suites.
-
🟊 common_test - A framework for automated testing of any target nodes.
-
damocles: An Erlang library for generating adversarial network conditions for QAing distributed applications/systems on a single Linux box.
-
🟊 eunit - This module is the main EUnit user interface.
-
ponos: Ponos is a simple yet powerful erlang application used to generate load at configurable frequencies. It's designed to be lightweight, straight forward to use and to require minimal configuration.
-
proper: A QuickCheck-inspired property-based testing tool for Erlang.
-
tracerl: Dynamic tracing tests and utilities for Erlang/OTP.
-
bookish_spork: Erlang/Elixir library for testing HTTP requests
Text and Numbers
Libraries for parsing and manipulating text and numbers.
-
eql: Erlang with SQL or not.
-
fakerl: Erlang application for generating fake data.
-
qsp: Enhanced query string parser for Erlang.
-
🟊 leex - A regular expression based lexical analyzer generator for Erlang, similar to lex or flex.
-
NumEr: Numeric Erlang - vector and matrix operations with CUDA. Heavily inspired by Pteracuda.
-
piqi-erlang: Protocol Buffers, JSON, XML data serialization system for Erlang.
-
qrcode: QR Code encoder in Erlang.
-
sgte: sgte is an Erlang template Engine for generating structured output (code, html web pages, xml, emails, csv files, etc...).
-
uuid: an implement of UUID.
-
🟊 yecc - An LALR-1 parser generator for Erlang, similar to yacc. Takes a BNF grammar definition as input, and produces Erlang code for a parser.
Asciidoc
-
asciideck: Asciidoc for Erlang.
BERT
-
aberth: Generic BERT-RPC server in Erlang.
-
bert: BERT and BERT-RPC
-
bert.erl: Erlang BERT encoder/decoder.
BSON
-
bson: A strict, stand-alone BSON implementation for Erlang.
-
bson-erlang: BSON documents in Erlang.
-
ebson: BSON Support for Erlang.
-
erlbison: Erlbison is an Erlang library to work with BSON files. Its discerning feature is its attempt to do as much work as possible at the binary level, without translating the data to native Erlang data structure unless when absolutely necessary, in order to maximize performance.
-
nbson: Erlang BSON encoder/decoder.
CBOR
-
cbor-erlang: cbor encoder/decoder in Erlang.
-
erlang_cbor: Erlang implementation of Concise Binary Object Representation (CBOR), RFC 7049.
CVS
-
ecsv: ecsv is a simple Erlang CSV parser able to read a file or string and sending back to an erlang process events when a line is parsed.
HTML
-
hterl: An Erlang extension which adds HTML tags to the expression syntax.
-
htmerl: HTML Parser in Erlang.
-
mochiweb_xpath: XPath support for mochiweb's html parser.
-
trane: SAX style broken HTML parser in Erlang.
INI
-
zucchini: An Erlang INI parser.
JSON
-
ejsv: Erlang JSON schema validator.
-
erlang-rfc4627: Erlang RFC4627 (JSON) codec and JSON-RPC server implementation.
-
jiffy: JSON NIFs for Erlang.
-
jsx: An erlang application for consuming, producing and manipulating json.
-
miffy: Jiffy wrapper which returns pretty maps.
-
rec2json: Generate JSON encoder/decoder from record specs.
-
thoas: A blazing fast JSON parser and generator in pure Erlang.
Markdown
-
erlang_markdown: Markdown parser written in Erlang.
Protobuf
-
erlang_protobuffs: An implementation of Google's Protocol Buffers for Erlang.
-
gpb: A Google Protobuf implementation for Erlang.
-
proterlang: A protobuf library and compiler for Erlang.
-
ProtobufTool: protobuf tools in Erlang.
TOML
-
etoml: A pure Erlang parser for TOML.
-
toml: Erlang TOML parser.
-
tomerl: Erlang TOML Parser.
-
tomle: TOML in Erlang.
XML
-
erlsom - Erlsom is an Erlang library to parse (and generate) XML documents.
-
exml - XML parsing library in Erlang
-
exmlrpc - An HTTP 1.1 compliant XML-RPC library for Erlang
-
erlxml - erlxml - Erlang XML parsing library based on pugixml
-
fast_xml - Fast Expat based Erlang XML parsing and manipulation library, with a strong focus on XML stream parsing from network.
-
parsexml - Simple DOM XML parser with convenient and very simple API
-
🟊 xmerl - xmerl XML parser is able to parse XML documents according to the XML 1.0 standard. As default it performs well-formed parsing, (syntax checks and checks of well-formed constraints).
-
xmlrpc - Erlang XML-RPC library by Joakim Grebenö
-
xqerl - Erlang XQuery 3.1 Processor
YAML
-
fast_yaml: Fast YAML native library for Erlang / Elixir.
-
yamerl: YAML 1.2 and JSON parser in pure Erlang.
-
yval: YAML validator.
-
yconf: YAML configuration processor.
-
yeml: Erlang YAML library.
Third Party APIs
Libraries for accessing third party APIs.
-
google-token-erlang: Google ID token verifier for Erlang.
-
oauth2_client: An Erlang oAuth 2 client (uses restc).
-
restclient: An Erlang REST client.
Translations and Internationalizations
Libraries providing translations or internationalizations.
Web Frameworks
Web development frameworks.
-
axiom: A micro-framework, inspired by Ruby's Sinatra.
-
ChicagoBoss: A server framework inspired by Rails and written in Erlang.
-
chloe: A realtime web server that doesn't suck... or at least won't suck when it's finished.
-
erlyweb: The Erlang twist on web frameworks.
-
giallo: A small and flexible web framework on top of cowboy.
-
mochiweb: An Erlang library for building lightweight HTTP servers.
-
n2o: WebSocket Application Server.
-
nitrogen: Framework to build web applications (including front-end) in pure Erlang.
-
nova: Nova makes it simple to build a fault-tolerant and distributed web application.
-
zotonic: High speed, real-time web framework and content management system.
Web Framework Components
Standalone component from web development frameworks.
-
cb_admin: An admin interface for Chicago Boss.
-
cb_websocket_controller: A template for implementing a Websocket controller for ChicagoBoss.
-
giallo_session: A session management library for the Giallo web framework.
-
simple_bridge: An abstraction layer providing a unified interface to popular Erlang web servers (Cowboy, Inets, Mochiweb, Webmachine, and Yaws).
Resources
Various resources, such as books, websites and articles, for improving your Erlang development skills and knowledge.
Books
Fantastic books and e-books.
-
Programming Erlang: Software for a Concurrent World by Joe Armstrong
-
Building Web Applications with Erlang: Working with REST and Web Sockets on Yaws by Zachary Kessin
-
Introducing Erlang: Getting Started in Functional Programming by Simon St. Laurent
-
Handbook of Neuroevolution Through Erlang by Gene I. Sher
-
Erlang Programming: A Concurrent Approach to Software Development by Francesco Cesarini and Simon Thompson
-
Erlang and OTP in Action by Martin Logan, Eric Merritt and Richard Carlsson
-
Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems by Francesco Cesarini and Steeve Vinoski
-
Erlang and Elixir for Imperative Programmers - Introduction to Erlang and Elixir in the context of functional concepts by Wolfgang Loder (2016)
-
Learn You Some Erlang - Learn you some Erlang - for great good! A very thorough resource covering everything from beginning Erlang programming to large-scale development and deployment.
-
Property-Based Testing with PropEr, Erlang, and Elixir: Find Bugs Before Your Users Do by Fred Hebert
-
Études For Erlang by David J. Eisenberg
-
Stuff Goes Bad - ERLANG IN ANGER - This book intends to be a little guide about how to be the Erlang medic in a time of war.
-
The Erlanger Playbook by Loïc Hoguin
-
Erlang and Elixir for Imperative Programmers by Wolfgang Loder
-
Build It With Nitrogen: The Fast-Off-the-Block Erlang Web Framework by Lloyd R. Prentice and Jesse Gumm
-
Concurrent Programming in Erlang (2nd Edition) by Robert Virding, Claes Wikstrom and Mike Williams
Community
Erlang-related communities, meetups, chats and forums
-
Erlang Ecosystem Foundation (EEF) slack - Supporting the next generation of advanced, reliable, realtime applications. The Erlang Ecosystem Foundation is a 501(c)(3) not-for-profit organization
-
Erlang Forums - Discussion about Erlang and other languages running on the Erlang VM.
-
Erlang IRC - Discussion about Erlang and other languages running on the Erlang VM.
-
Erlang Bug Report - official Erlang bug reporting tool
Erlang Reading
Erlang-related reading materials.
- The Joy of Erlang; Or, How To Ride A Toruk - The Joy of Erlang; Or, How To Ride A Toruk A fast track introduction to Erlang that teaches the language by walking through a few example projects.
Installers (and Packagers)
Erlang unofficial installers and packagers used by different communities to install/package it
-
Windows/scoop.it/erlang - Installing Erlang on Windows with Scoop.it.
-
Windows/chocolatey/erlang - Installing Erlang on Windows with Chocolatey.
-
MacOS/brew/erlang - Installing Erlang on MacOS with Homebrew
-
FreeBSD/ports/erlang - Installing Erlang on FreeBSD
-
OpenBSD/ports/erlang - Installing Erlang on OpenBSD
-
NetBSD/pkgsrc/erlang - Installing Erlang on NetBSD
-
DragonFlyBSD/dports/erlang - Installing Erlang on DragonFlyBSD
-
Android/termux/erlang - Installing Erlang on Android with termux.
Papers
Erlang-related academic and scientific materials
-
2023: Seaplus: Streamlining a safe execution of C/C++ code from Erlang by Olivier Boudeville
-
2023: Set-theoretic Types for Erlang by Albert Schimpf, Stefan Wehr, Annette Bieniusa
-
2023: Communicating Actor Automata -- Modelling Erlang Processes as Communicating Machines by Dominic Orchard, Mihail Munteanu, Paulo Torrens
-
2022: InfERL: scalable and extensible Erlang static analysis by Ákos Hajdu, Matteo Marescotti, Thibault Suzanne, Ke Mao, Radu Grigore, Per Gustafsson and Dino Distefano
-
2022: PerformERL: a performance testing framework for erlang by Walter Cazzola , Francesco Cesarini and Luca Tansini
-
2022: Troubleshooting the performance of a large Erlang system by Nikos Tsikoudis, Marc Sugiyama
-
2022: Reversibility in Erlang: Imperative Constructs - Technical Report by Pietro Lami, Ivan Lanese, Jean-Bernard Stefani, Claudio Sacerdoti Coen and Giovanni Fabbretti
-
2022: Computing Race Variants in Message-Passing Concurrent Programming with Selective Receives by Germán Vidal
-
2022: Program Equivalence in an Untyped, Call-by-value Lambda Calculus with Uncurried Recursive Functions by Dániel Horpácsi, Péter Bereczky and Simon Thompson
-
2022: A Theory of Composing Protocols by Laura Bocchi, Dominic Orchard and A. Laura Voinea
-
2022: Generation of a Reversible Semantics for Erlang in Maude by Giovanni Fabbretti, Ivan Lanese and Jean-Bernard Stefani
-
2022: Reversibility in Erlang: Imperative Constructs by Pietro Lami, Ivan Lanese, Jean-Bernard Stefani, Claudio Sacerdoti Coen and Giovanni Fabbretti
-
2021: Causal-Consistent Debugging of Distributed Erlang Programs - Technical Report by Giovanni Fabbretti, Ivan Lanese and Jean-Bernard Stefani
-
2021: Fifteen years of successfully dialyzing Erlang and Elixir code by Konstantinos Sagonas
-
2021: UniStore: A fault-tolerant marriage of causal and strong consistency by Manuel Bravo, Alexey Gotsman, Borja de Régil, and Hengfeng Wei
-
2020: Erlang as an alternative to a non-functional language for communication in a fault tolerant IoT sensor network pdf by Jimmy Holdö
-
2020: A Proof Assistant Based Formalisation of Core Erlang by Péter Bereczky, Dániel Horpácsi and Simon Thompson
-
2020: A Proof Assistant Based Formalisation of Core Erlang by Péter Bereczky, Dániel Horpácsi and Simon Thompson
-
2019: Playing with Bisimulation in Erlang by Ivan Lanese, Davide Sangiorgi, and Gianluigi Zavattaro
-
2019: Active-Code Replacement in the OODIDA Data Analytics Platform by Gregor Ulm, Emil Gustavsson and Mats Jirstrand
-
2019: Extensible Callback Module Layering in Erlang by Greg Hawkridge, Anton Herman Basson and Karel Kruger
-
2019: An Evaluation of Erlang for Implementing Standby Redundancy in a Manufacturing Station Controller: Proceedings of SOHOMA 2018 by Greg Hawkridge, Anton Herman Basson and Karel Kruger
-
2019: Partisan: Scaling the Distributed Actor Runtime pdf by Christopher S. Meiklejohn and Heather Miller, Carnegie Mellon University and Peter Alvaro
-
2019: Erlang as an Enabling Technology for Resilient General-Purpose Applications on Edge IoT Networks by Igor Kopestenski and Peter Van Roy
-
2019: Static analysis of communications for Erlang by Fabien Dagnat and Marc Pantel
-
2019: Intro to Web Prolog for Erlangers by Torbjörn Lager
-
2019: Scaling Erlang Distribution Going Beyond the Fully Connected Mesh by Adam Lindberg, Sébastien Merle and Peer Stritzinger
-
2019: Lux: An Expect-Like Test Tool Written in Erlang Synchronised Testing of Multiple Sessions by Håkan Mattsson and Cons T. Åhs
-
2019: Tools Supporting Green Computing in Erlang by Gergely Nagy, Áron Attila MészárosIstván Bozó and Melinda Tóth
-
2019: Gaining Trust by Tracing Security Protocols by Lars-Åke Fredlund, Clara Benac, EarleThomas Arts andHans Svensson
-
2018: Partisan: Enabling Cloud-Scale Erlang Applications by Christopher Meiklejohn and Heather Miller
-
2018: HiPErJiT: A Profile-Driven Just-in-Time Compiler for Erlang by Konstantinos Kallas and Konstantinos Sagonas
-
2018: Automating Targeted Property-Based Testing by Andreas Löscher and Konstantinos Sagonas
-
2018: Bounded Symbolic Execution for Runtime Error Detection of Erlang Programs by Emanuele De Angelis, Fabio Fioravanti, Adrián Palacios, Alberto Pettorossi and Maurizio Proietti
-
2018: Teaching Erlang through the Internet: An Experience Report by Stephen Adams
-
2018: Modelling Distributed Erlang within a Single Node by Stavros Aronis, Viktória Fördős and Dániel Szoboszlay
-
2018: Automatic Detection of Core Erlang Message Passing Errors by Joseph Harrison
-
2018: Understanding Formal Specifications through Good Examples by Alex Gerdes, John Hughes, Nicholas Smallbone, Stefan Hanenberg, Sebastian Ivarsson and Meng Wang
-
2018: A theory of reversibility for Erlang by Ivan Lanese, Naoki Nishida, Adrián Palacios and Germán Vidal
-
2018: Declarative debugging of concurrent Erlang programs by Rafael Caballero, Enrique Martin-Martin, Adrián Riesco and Salvador Tamarit
-
2018: AErlang: empowering Erlang with attribute-based communication by Rocco De Nicola, Tan Duong, Omar Inverso and Catia Trubiani
-
2018: Towards Secure Erlang Systems by Alexandre Jorge Barbosa Rodrigues and Viktória Fördős
-
2018: Erlang-based holonic controller for a palletized conveyor material handling system by Karel Kruger and Anton Herman Basson
-
2018: Typing the Wild in Erlang by Nachiappan Valliappan and John Hughes
-
2018: Comparing Languages for Engineering Server Software: Erlang, Go, and Scala with Akka by Ivan Valkov, Natalia Chechina, and Phil Trinder
-
2018: CauDEr: A Causal-Consistent Reversible Debugger for Erlang by Ivan Lanese, Naoki Nishida, Adrian Palacios and Germán Vidal
-
2018: Partisan: Enabling Real-World Protocol Evaluation by Christopher Meiklejohn
-
2017: Dealing with actor runtime environments on hierarchical shared memory multi-core platforms by Emilio de Camargo Francesquini
-
2017: Session Typing for a Featherweight Erlang by Dimitris Mostrous and Vasco T. Vasconcelos
-
2017: Structuring Erlang BEAM Control Flow by Dániel Lukács and Melinda Tóth
-
2017: Towards an Isabelle/HOL Formalisation of Core Erlang by Joseph R. Harrison
-
2017: Scaling Reliably: Improving the Scalability of the Erlang Distributed Actor Platform by Phil Trinder, Natalia Chechina, Nikolaos Papaspyrou, Konstantinos Sagonas, Simon Thompson...
-
2017: mu2: A Refactoring-Based Mutation Testing Framework for Erlang by Ramsay Taylor and John Derrick
-
2017: Targeted Property-Based Testing by Andreas Löscher and Konstantinos Sagonas
-
2017: The Shared-Memory Interferences of Erlang/OTP Built-Ins by Stavros Aronis and Konstantinos Sagonas
-
2017: Trustworthy Refactoring via Decomposition and Schemes: A Complex Case Study by Dániel Horpácsi, Judit Kőszegi and Zoltán Horváth
-
2017: ECOTRUCK: An Agent System for Paper Recycling by Nikolaos Bezirgiannis and Ilias Sakellariou
-
2016: Towards Trustworthy Refactoring in Erlang by Dániel Horpácsi, Judit Kőszegi and Simon Thompson
-
2016: CRDTs for the configuration of distributed Erlang systems by Viktória Fördős and Francesco Cesarini
-
2016: Erlang on Adapteva's Parallella by Lång Magnus
-
2016: Highly scalable Erlang framework for agent-based metaheuristic computing by Wojciech Turek, Jan Stypka, Daniel Krzywicki, Piotr Anielski, Kamil Pietak, Aleksander Byrski and Marek Kisiel-Dorohinicki
-
2016: Data Parallel pattern in Erlang/OpenCL by Ugo Albanese
-
2016: Improving the network scalability of Erlang by Natalia Chechina , Huiqing Li , Amir Ghaffari , Simon Thompson and Phil Trinder
-
2015: Concolic testing for functional languages by Aggelos Giantsios, Nikolaos Papaspyrou and Konstantinos Sagonas
-
2015: Implementation of an Erlang-Based Resource Holon for a Holonic Manufacturing Cell by Karel Kruger and Anton Herman Basson
-
2015: Massively-concurrent Agent-based Evolutionary Computing by D. Krzywicki, W. Turek, A. Byrski and M. Kisiel-Dorohinicki
-
2015: [Safe Concurrency Introduction through Slicing](Safe Concurrency Introduction through Slicing) by Huiqing Li and Simon Thompson
-
2014: Faulterl: precise fault injection for the erlang VM, NIFs and linked-in drivers by Scott Lystig Fritchie
-
2014: Discovering parallel pattern candidates in Erlang by István Bozó, Viktoria Fordós, Zoltán Horvath, Melinda Tóth, Dániel Horpácsi, Tamás Kozsik, Judit Köszegi, Adam Barwell, Christopher Brown and Kevin Hammond
-
2014: Derflow: distributed deterministic dataflow programming for erlang by Manuel Bravo, Zhongmiao Li, Peter Van Roy and Christopher Meiklejohn
-
2014: BEAMJIT: a just-in-time compiling runtime for Erlang by Frej Drejhammar and Lars Rasmusson
-
2014: Synapse: automatic behaviour inference and implementation comparison for Erlang by Pablo Lamela Seijas and Simon Thompson , Ramsay Taylor , Kirill Bogdanov and John Derrick
-
2014: More scalable ordered set for ETS using adaptation by Konstantinos Sagonas and Kjell Winblad
-
2014: JErlang: Erlang with Joins by Hubert Plociniczak and Susan Eisenbach
-
2014: Robust by "Let it Crash" by Christoph Woskowski, Mikolaj Trzeciecki and Florian Schwedes
-
2014: Automating property-based testing of evolving web services by Huiqing Li, Simon Thompson, Pablo Lamela Seijas and Miguel Angel Francisco
-
2014: Investigating the Scalability Limits of Distributed Erlang by Amir Ghaffari
-
2013: Adapting CakeDB to Integrate High-Pressure Big Data Streams with Low-Pressure Systems by Peter Membrey , Keith C. C. Chan and Yuri Demchenko
-
2013: Towards property-based testing of RESTful web services by Pablo Lamela Seijas , Huiqing Li and Simon Thompson
-
2013: Actor scheduling for multicore hierarchical memory platforms by Emilio Francesquini , Alfredo Goldman and Jean-François Méhaut
-
2013: Scalable persistent storage for Erlang: theory and practice by Amir Ghaffari , Natalia Chechina , Phil Trinder and Jon Meredith
-
2013: Extending Erlang by utilising RefactorErl by Dániel Horpácsi
-
2013: Multicore profiling for Erlang programs using percept2 by Huiqing Li and Simon Thompson
-
2013: On the scalability of the Erlang term storage by David Klaftenegger , Konstantinos Sagonas and Kjell Winblad
-
2013: Systematic Testing for Detecting Concurrency Errors in Erlang Programs by Maria Christakis , Alkis Gotovos and Konstantinos Sagonas
-
2013: Precise explanation of success typing errors by Konstantinos Sagonas , Josep Silva and Salvador Tamarit
-
2013: COMPARING THE PERFORMANCE OF JAVA, ERLANG AND SCALA IN WEB 2.0 APPLICATIONS by Jucimar Maia da Silva Jr., Rafael Dueire Lins and Lanier Menezes dos Santos
-
2013: Scalable Persistent Storage for Erlang: Theory and Practice by Jon Meredith, Amir Ghaffari, Natalia Chechina and Phil Trinder
-
2013: Reduction of regression tests for Erlang based on impact analysis by István Bozó, Melinda Tóth and Zoltán Horváth
-
2013: ACSYS CAMERA IMPLEMENTATION UTILIZING AN ERLANG FRAMEWORK TO C++ INTERFACE pdf by C. Briegel and J. Diamond
-
2012: Automated API migration in a user-extensible refactoring tool for Erlang programs by Huiqing Li and Simon Thompson
-
2012: A scalability benchmark suite for Erlang/OTP by Stavros Aronis , Nikolaos Papaspyrou , Katerina Roukounaki , Konstantinos Sagonas , Yiannis Tsiouris and Ioannis E. Venetis
-
2012: [ErLLVM: an LLVM backend for Erlang)(https://dl.acm.org/doi/10.1145/2364489.2364494) by Konstantinos Sagonas , Chris Stavrakakis and Yiannis Tsiouris
-
2012: On preserving term sharing in the Erlang virtual machine by Nikolaos Papaspyrou and Konstantinos Sagonas
-
2012: On Using Erlang for Parallelization by Stavros Aronis and Konstantinos Sagonas
-
2012: RELEASE: A High-Level Paradigm for Reliable Large-Scale Server Software by Olivier Boudeville , Francesco Cesarini , Natalia Chechina , Kenneth Lundin , Nikolaos Papaspyrou , Konstantinos Sagonas , Simon Thompson , Phil Trinder and Ulf Wiger
-
2012: Verification of Timed Erlang Programs Using McErlang by Clara Benac Earle, Lars-Åke Fredlund
-
2012: X-BOT: A Protocol for Resilient Optimization of Unstructured Overlay Networks by João Leitão, João Pedro Marques, José Pereira, Luís Rodrigues
-
2011: Session Typing for a Featherweight Erlang by Dimitris Mostrous and Vasco T. Vasconcelos
-
2011: The Design of Scalable Distributed Erlang by Natalia Chechina, Phil Trinder, Amir Ghaffari, Rickard Green, Kenneth Lundin, and Robert Virding
-
2011: [Extracting QuickCheck specifications from EUnit test cases](Extracting QuickCheck specifications from EUnit test cases) by Thomas Arts , Pablo Lamela Seijas and Simon Thompson
-
2011: [Incremental clone detection and elimination for erlang programs](Incremental clone detection and elimination for erlang programs) by Huiqing Li and Simon Thompson
-
2011: Extracting Properties from Test Cases by Refactoring by Huiqing Li, Simon Thompso and Thomas Arts
-
2011: Test-driven development of concurrent programs using concuerror by Alkis Gotovos , Maria Christakis and Konstantinos Sagonas
-
2011: Real time Framework in Erlang for Computational Advertising by Pero Subasic
-
2011: A PropEr integration of types and function specifications with property-based testing by Manolis Papadakis and Konstantinos Sagonas
-
2011: Typed callbacks for more robust behaviours by Stavros Aronis and Konstantinos Sagonas
-
2011: Detection of asynchronous message passing errors using static analysis by Maria Christakis and Konstantinos Sagonas
-
2011: Formally specifying and analyzing a parallel virtual machine for lazy functional languages using Maude Georgios Fourtounis , Peter Csaba Ölveczky and Nikolaos Papaspyrou
-
2011: Accelerating race condition detection through procrastination Thomas Arts , John Hughes , Ulf Norell , Nicholas Smallbone and Hans Svensson
-
2011: Erlang ETS tables and software transactional memory: how transactions make ETS tables more like ordinary actors by Patrik Nyblom
-
2010: JErlang: Erlang with Joins by Hubert Plociniczak and Susan Eisenbach
-
2010: Using Erlang to implement a autonomous build and distribution system for software projects by Tino Breddin
-
2010: Implementing a multiagent negotiation protocol in Erlang by Álvaro Fernández Díaz , Clara Benac Earle and Lars-Åke Fredlund
-
2010: Generic load regulation framework for Erlang by Ulf T. Wiger
-
2010: A unified semantics for future Erlang by Hans Svensson , Lars-Åke Fredlund and Clara Benac Earle
-
2010: Similar code detection and elimination for erlang programs by Huiqing Li and Simon Thompson
-
2010: Quickchecking refactoring tools by Dániel Drienyovszky, Dániel Horpácsi and Simon Thompson
-
2010: From test cases to FSMs: augmented test-driven development and property inference by Thomas Arts and Simon Thompson
-
2010: Refactoring Support for Modularity Maintenance in Erlang by Huiqing Li and Simon Thompson
-
2010: Improved testing through refactoring: experience from the protest project by Huiqing Li and Simon Thompson
-
2010: Purity in erlang by Mihalis Pitidis and Konstantinos Sagonas
-
2010: Using static analysis to detect type errors and concurrency defects in erlang programs by Konstantinos Sagonas
-
2010: Static detection of race conditions in erlang by Maria Christakis and Konstantinos Sagonas
-
2010: Erlang Behaviours: Programming With Process Design Patterns by Francesco Cesarini and Simon Thompson
-
2009: Teaching Erlang using robotics and player/stage by Sten Grüner and Thomas Lorentsen
-
2009: Automatic assessment of failure recovery in Erlang applications by Jan Henry Nyström
-
2009: Clone detection and removal for Erlang/OTP within a refactoring environment by Huiqing Li and Simon Thompson
-
2009: Automatic refactoring of Erlang programs by Konstantinos Sagonas and Thanassis Avgerinos
-
2009: Cleaning up Erlang code is a dirty job but somebody's gotta do it by Thanassis Avgerinos and Konstantinos Sagonas
-
2009: Gradual typing of erlang programs: a wrangler experience by Konstantinos Sagonas and Daniel Luna
-
2008: High-performance technical computing with erlang by Alceste Scalas, Giovanni Casu and Piero Pili
-
2008: Erlang testing and tools survey by Tamás Nagy and Anikó Nagyné Víg
-
2008: Refactoring module structure by László Lövei , Csaba Hoch , Hanna Köllö , Tamás Nagy , Anikó Nagyné Víg , Dániel Horpácsi , Róbert Kitlei and Roland Király
-
2008: Testing Erlang Refactorings with QuickCheck by Huiqing Li and Simon Thompson
-
2008: Tool support for refactoring functional programs by Huiqing Li and Simon Thompson
-
2008: Experience Report: Erlang in Acoustic Ray Tracing by Christian Convey, Andrew Fredricks, Christopher Gagner, Douglas Maxwell and Lutz Hamel
-
2007: HyParView: a membership protocol for reliable gossip-based broadcast pdf by João Leitão, José Pereira, Luís Rodrigues
-
2007: Learning programming with erlang by Frank Huch
-
2007: Optimising TCP/IP connectivity by Oscar Hellström
-
2007: Priority messaging made easy by Jan Henry Nystrom
-
2007: A language for specifying type contracts in erlang and its interaction with success typings by Miguel Jimenez , Tobias Lindahl and Konstantinos Sagonas
-
2007: Detecting defects in Erlang programs using static analysis by Konstantinos Sagonas
-
2007: Applications, implementation and performance evaluation of bit stream programming in erlang by Per Gustafsson and Konstantinos Sagonas
-
2007: A History of Erlang by Joe Armstrong by Joe Armstrong
-
2007: High-level Distribution for the Rapid Production of Robust Telecoms Software: Comparing C++ and Erlang by J.H. Nyström, P.W. Trinder and D.J. King
-
2006: Dryverl: a flexible Erlang/C binding compiler by Romain Lenglet and Shigeru Chiba
-
2006: Comparative Study of Refactoring Haskell and Erlang Programs by Huiqing Li and Simon Thompson
-
2006: Efficient memory management for concurrent programs that use message passing by Konstantinos Sagonas and Jesper Wilhelmsson
-
2006: Efficient manipulation of binary data using pattern matching by Per Gustafsson and Konstantinos Sagonas
-
2005: A stream library using Erlang binaries by Jay Nelson
-
2005: TypEr: a type annotator of Erlang code by Tobias Lindahl and Konstantinos Sagonas
-
2005: Bit-level binaries and generalized comprehensions in Erlang by Per Gustafsson and Konstantinos Sagonas
-
2005: Efficiently compiling a functional language on AMD64: the HiPE experience by Daniel Luna , Mikael Pettersson and Konstantinos Sagonas
-
2005: A new leader election implementation by Hans Svensson and Thomas Arts
-
2004: Structured programming using processes by Jay Nelson
-
2004: Troubleshooting a large erlang system by Mats Cronqvist
-
2004: HiPE on AMD64 by Daniel Luna , Mikael Pettersson and Konstantinos Sagonas
-
2004: Model Checking Erlang Programs–LTL-Propositions and Abstract Interpretation by Frank Huch
-
2004: EX11: a GUI in a concurrent functional language by Joe Armstrong
-
2004: Structured Programming Using Processes by Jay Nelson
-
2003: The role of language paradigms in teaching programming by Peter Van Roy, Joe Armstrong, Matthew Flatt and Boris Magnusson
-
2003: All you wanted to know about the HiPE compiler: (but might have been afraid to ask) by K. Sagonas , M. Pettersson , R. Carlsson , P. Gustafsson and T. Lindahl
-
2003: The development of the HiPE system: design and experience report by Erik Johansson , Mikael Pettersson , Konstantinos Sagonas and Thomas Lindgren
-
2003: Concurrency Oriented Programming in Erlang by Joe Armstrong
-
2003: Evaluating Distributed Functional Languages for Telecommunications Software by J.H. Nyström, P.W. Trinder and D.J. King
-
2003: Making reliable distributed systems in the presence of software errors by Joe Armstrong
-
2003: A study of Erlang ETS table implementations and performance by Scott Lystig Fritchie
-
2002: On reducing interprocess communication overhead in concurrent programs by Erik Stenman and Konstantinos Sagonas
-
2002: Native code compilation of Erlang's bit syntax by Per Gustafsson and Konstantinos Sagonas
-
2002: Unboxed compilation of floating point arithmetic in a dynamically typed language environment by Tobias Lindahl and Konstantinos Sagonas
-
2002: The HiPE/x86 Erlang Compiler: System Description and Performance Evaluation by Mikael Pettersson , Konstantinos F. Sagonas and Erik Johansson
-
2002: Heap architectures for concurrent languages using message passing by Erik Johansson , Konstantinos Sagonas and Jesper Wilhelmsson
-
2002: Linear Scan Register Allocation in a High-Performance Erlang Compiler by Erik Johansson and Konstantinos F. Sagonas
-
2002: Verification of Erlang Programs using Abstract Interpretation and Model Checking by Frank Günter Huch
-
2002: Getting Erlang to talk to the outside world by Joe Armstrong
-
2002: The evolution of Erlang drivers and the Erlang driver toolkit by Scott Lystig Fritchie
-
2002: Verifying Erlang Code: A Resource Locker Case-Study by Thomas Arts , Clara Benac Earle and John Derrick
-
2002: The evolution of Erlang drivers and the Erlang driver toolkit by Scott Lystig Fritchie
-
2002: World-class product certification using Erlang by Ulf Wiger , Gösta Ask and Kent Boortz
-
2001: Static Verification of distributed programs by Fabien Dagnat
-
2000: A high performance Erlang system by Erik Johansson, Mikael Pettersson and Konstantinos Sagonas
-
2000: Increasing the realibility of email services by Joe Armstrong
-
1999: Verification of Erlang programs using abstract interpretation and model checking by Frank Huch
-
1998: On the verification of open distributed systems by Mads Dam and Lars-åke Fredlund
-
1997: The development of Erlang by Joe Armstrong
-
The Erlang Rationale By Robert Virding
-
Introducing Concurrent Functional Programming in the Telecommunications Industry by Bjarne Dacker
Screencasts
Cool video tutorials.
Web Reading
General web-development-related reading materials.
Websites
Useful web and Erlang-related websites and newsletters.
-
Erlang Bookmarks - All about erlang programming language [powerd by community].
-
Erlang Central - An awesome collections of erlang resource along with live community chat for discussing and seeking help.
-
Planet Erlang - Planet site/RSS feed of blog posts covering topics across the Erlang ecosystem.
-
Spawned Shelter - Erlang Spawned Shelter. A collection of the best articles, videos and presentations related to Erlang.
-
The OTP team Blog - A blog written by members of the Erlang/OTP team at Ericsson. Contains interesting technical posts about the development of Erlang/OTP.
-
Spawned Shelter - This page is a collection of the best articles, videos and books for learning Erlang, the internals of its virtual machine and other languages that run on top of it like Elixir, LFE and Efene.
Contributing
Please see CONTRIBUTING for details.