An open API service indexing awesome lists of open source software.

https://github.com/erlang-punch/awesome-erlang

An (accurate) list of awesome Erlang resources
https://github.com/erlang-punch/awesome-erlang

List: awesome-erlang

acedemic awesome awesome-list conferences erlang papers references resources scientific-papers

Last synced: over 1 year ago
JSON representation

An (accurate) list of awesome Erlang resources

Awesome Lists containing this project

README

          

# 🕶 Awesome Erlang 🕶

[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

A curated list of amazingly awesome Erlang libraries, resources and
shiny thing inspired by
[awesome-elixir](https://github.com/h4cc/awesome-elixir) and forked
from [awesome-erlang](https://github.com/drobakowski/awesome-erlang).

- [Awesome Erlang](#awesome-Erlang)
- [Actors](#actors)
- [Algorithms, Datastructures and Design Patterns](#algorithms-datastructures-and-design-patterns)
- [Authentication](#authentication)
- [Blockchain](#blockchain)
- [Build Tools](#build-tools)
- [Caching](#caching)
- [Code Analysis](#code-analysis)
- [Codebase Maintenance](#codebase-maintenance)
- [CMS](#cms)
- [Command Line Interfaces (CLI)](#command-line-interfaces-cli)
- [Cryptography](#cryptography)
- [Configuration Management](#configuration-management)
- [Databases](#databases)
- [Date and Time](#date-and-time)
- [Debugging](#debugging)
- [Deployment](#deployment)
- [Distributed Systems](#distributed-systems)
- [Documentation](#documentation)
- [Embedded](#embedded)
- [Geolocation](#geolocation)
- [Graphical Interfaces](#graphical-interfaces)
- [HTTP](#http)
- [Image Processing](#image-processing)
- [Internet of Things](#internet-of-things)
- [Logging](#logging)
- [Miscellaneous](#miscellaneous)
- [Monitoring](#monitoring)
- [Networking](#networking)
- [ORM and Datamapping](#orm-and-datamapping)
- [Package Management](#package-management)
- [Profiling](#profiling)
- [Queue](#queue)
- [Queueing Systems](#queueing-systems)
- [Rebar3 Plugins](#rebar3-plugins)
- [REST and API](#rest-and-api)
- [Release Management](#release-management)
- [Templating](#templating)
- [Security](#security)
- [Testing](#testing)
- [Text and Numbers](#text-and-numbers)
- [Third Party APIs](#third-party-apis)
- [Translations and Internationalizations](#translations-and-internationalizations)
- [Web Frameworks](#web-frameworks)
- [Web Framework Components](#web-framework-components)
- [Applications](#applications)
- [Resources](#resources)
- [Articles](#articles)
- [Books](#books)
- [Community](#community)
- [Erlang Reading](#erlang-reading)
- [Installers (and Packagers)](#installers-and-packagers)
- [Publications](#publications)
- [Screencasts](#screencasts)
- [Web Reading](#web-reading)
- [Websites](#websites)
- [Other Erlang related lists](#other-erlang-related-lists)
- [Contributing](#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.

- erlang_ds: A universal, extensible, data structure-agonstic library for augmenting, converting, and interfacing with Erlang Key-Value data structures.

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

- oidcc:
OpenId Connect client library in Erlang & Elixir

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

- nitro_cache: A simple in-memory caching server (used in Nitrogen)

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

- rekt: A parse transform to define new Erlang records from existing records, similar to inheritance in objected oriented languages.

- pipeline: A parse transform to add a pipe mechanism to Erlang function composition (think Elixir's `|>` operator)

## 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](https://en.wikipedia.org/wiki/Content_management_system)

- 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

Static Badge
Static Badge

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

- sql_bridge: An abstraction layer and database utility providing a unified interface for working with SQL databases (MySQL and PostgreSQL currently). (Not an ORM)

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

- iso8601: An ISO 8601 date formating and parsing library for Erlang.

- qdate: Erlang date, time, and timezone management: formatting, conversion, and date arithmetic.

## Debugging

*Libraries and tools for debugging code and applications.*

- 🟊 [cover](https://www.erlang.org/doc/man/cover.html) - A Coverage
Analysis Tool for Erlang

- 🟊 [debugger](https://www.erlang.org/doc/apps/debugger/index.html) -
A debugger for debugging and testing of Erlang programs

- 🟊 [dialyzer](https://www.erlang.org/doc/apps/dialyzer/index.html) -
The DIALYZER, a DIscrepancy AnaLYZer for ERlang programs.

- eministat: Port of Poul-Henning Kamp's ministat to the Erlang world.

- [et](https://www.erlang.org/doc/apps/et/index.html) - 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](https://www.erlang.org/doc/man/xref.html) - 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](https://www.erlang.org/doc/man/edoc.html) - 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](https://www.erlang.org/doc/man/httpd.html) - An
implementation of an HTTP 1.1 compliant web server, as defined in
RFC 2616.

- 🟊 [inets:httpc](https://www.erlang.org/doc/man/httpc.html) - 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.
Typically Log Shippers like Filebeat, Fluentd, Logstash, etc. expect logs to be in JSON format. This is a custom logger formatter for Erlang that prints JSON.

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

- erlias: A utility to create alias modules to other modules (not a parse transform).

- erld: erld is a small program designed to solve the problem of running Erlang programs as a UNIX daemon.

- erlmacs: erld is a simple script to update your .emacs file for Erlang development.

## 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](https://www.erlang.org/doc/apps/observer/index.html) -
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.



- lorawan-server: Compact server for private LoRaWAN networks.



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



- erlquery: Erlang like, database agnostic DSL for composing queries.



- esync: Simple tool to sync files.



- merle: An Erlang Memcached Client.



## Package Management

*Libraries and tools for package and dependency management.*

- [hex.pm](https://hex.pm/) - A package manager for the Erlang
ecosystem.

## Profiling

- 🟊 [cprof](https://www.erlang.org/doc/man/cprof.html) - The cprof
module is used to profile a program to find out how many times
different functions are called.

- 🟊 [eprof](https://www.erlang.org/doc/man/eprof.html) - A Time
Profiling Tool for Erlang

- 🟊 [fprof](https://www.erlang.org/doc/man/fprof.html) - 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*

- aihtml: A simple html render libary more than Mustache Template Compiler.



- bbmustache: Binary pattern match Based Mustache template engine for Erlang/OTP.



- beard: Mustache inspired, performant templating solution for Erlang.



- brim: HTML templating library.

- dactyl: String templating library for Erlang



- ehtml5: Simple Erlang Template Engine.



- elk.erl: Erlang implementation of Mustache, logic-less template engine.



- erlang-mustache: Implementation of mustache templating in Erlang.



- erlydtl: ErlyDTL compiles Django Template Language to Erlang bytecode.

- etcher: An Erlang implementation of the Django Template Language.



- jaderl: An implementation of the Jade templating language in Erlang.

- mustache.erl: An Erlang port of Mustache for Ruby.

- roni: Erlang string templating with macaroni-filled syntax.



- sgte: an Erlang template Engine for generating structured output (code, html web pages, xml, emails, csv files, etc...).



- stache: Mustache Template Language for Erlang.



- swirl: swirl is the Erlang port of whiskers.js template library.



- template_compiler: Dynamic template compiler for Erlang (complete rewrite of the erlydtl fork used in Zotonic).



- templaterl: Simple and fast templating with customizable expressions in Erlang.



- walrus: A mustache-like templating.

## Security

*Security related projects in Erlang.*

- erlang-jose: JSON Object Signing and Encryption (JOSE) for Erlang and Elixir.

- 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](https://www.erlang.org/doc/apps/common_test/index.html) -
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](https://www.erlang.org/doc/apps/eunit/index.html) - 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.*

- base62: Base 62 Encode and Decode for Erlang.



- eql: Erlang with SQL or not.



- fakerl: Erlang application for generating fake data.



- qsp: Enhanced query string parser for Erlang.



- 🟊 [leex](https://www.erlang.org/doc/man/leex.html) - 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](https://www.erlang.org/doc/man/yecc.html) - 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

- erl-json: An implementation of the JSON data format in Erlang.





- ejsv: Erlang JSON schema validator.



- erlang-rfc4627: Erlang RFC4627 (JSON) codec and JSON-RPC server implementation.



- euneus: An incredibly flexible and performant JSON parser and generator.



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



- simdjson_erlang: simdjson bindings for erlang



- simdjsone: Erlang Fast JSON parser



### 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](https://github.com/willemdj/erlsom) - Erlsom is an Erlang
library to parse (and generate) XML documents.

- [exml](https://github.com/paulgray/exml) - XML parsing library in
Erlang

- [exmlrpc](https://github.com/rwbr/exmlrpc) - An HTTP 1.1 compliant
XML-RPC library for Erlang

- [erlxml](https://github.com/silviucpp/erlxml) - erlxml - Erlang
XML parsing library based on pugixml

- [fast_xml](https://github.com/processone/fast_xml) - Fast Expat
based Erlang XML parsing and manipulation library, with a strong
focus on XML stream parsing from network.

- [parsexml](https://github.com/maxlapshin/parsexml) - Simple DOM
XML parser with convenient and very simple API

- 🟊 [xmerl](https://www.erlang.org/doc/man/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](https://github.com/etnt/xmlrpc) - Erlang XML-RPC library
by Joakim Grebenö

- [xqerl](https://github.com/zadean/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.



- ryan: Ryan is a Reia/Erlang BEAM based web framework. It allows you to create web applications with clean and short code.



- zotonic: High speed, real-time web framework and content management system.



## Web Framework Components

*Standalone component from web development frameworks.*

- canister: A distributed session management system.

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

## Applications

*Applications built with Erlang.*

- eradio: An Erlang HTTP server which streams data to multiple clients, lossily time-synchronized with low latency.

# Resources

*Various resources, such as books, websites and articles, for
improving your Erlang development skills and knowledge.*

## Articles

- 2008: [concurrent patterns: parallels in system and language
design](https://www.usenix.org/system/files/login/articles/284-dusek.pdf)
by Jason Dusek

## Books

*Fantastic books and e-books.*

- [Programming Erlang: Software for a Concurrent
World](https://isbnsearch.org/isbn/9781934356005) by Joe Armstrong

- [Building Web Applications with Erlang: Working with REST and Web
Sockets on Yaws](https://isbnsearch.org/isbn/9781449309961) by
Zachary Kessin

- [Introducing Erlang: Getting Started in Functional
Programming](https://isbnsearch.org/isbn/9781449331764) by Simon
St. Laurent

- [Handbook of Neuroevolution Through
Erlang](https://isbnsearch.org/isbn/9781461444633) by Gene I. Sher

- [Erlang Programming: A Concurrent Approach to Software
Development](https://isbnsearch.org/isbn/9780596518189) by
Francesco Cesarini and Simon Thompson

- [Erlang and OTP in
Action](https://isbnsearch.org/isbn/9781933988788) by Martin
Logan, Eric Merritt and Richard Carlsson

- [Designing for Scalability with Erlang/OTP: Implement Robust,
Fault-Tolerant Systems](https://isbnsearch.org/isbn/9781449320737)
by Francesco Cesarini and Steeve Vinoski

- [Erlang and Elixir for Imperative
Programmers](https://leanpub.com/erlangandelixirforimperativeprogrammers) -
Introduction to Erlang and Elixir in the context of functional
concepts by Wolfgang Loder (2016)

- [Learn You Some Erlang](http://learnyousomeerlang.com/) - 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](https://isbnsearch.org/isbn/9781680506211)
by Fred Hebert

- [Études For Erlang](https://isbnsearch.org/isbn/9781449366452) by
David J. Eisenberg

- [Stuff Goes Bad - ERLANG IN
ANGER](http://www.erlang-in-anger.com/) - This book intends to be
a little guide about how to be the Erlang medic in a time of war.

- [The BEAM Book](https://github.com/happi/theBeamBook)
by Erik Stenman et al. - This is an attempt to document the internals
of the Erlang runtime system and the Erlang virtual machine
known as the BEAM.

- [The Erlanger
Playbook](https://ninenines.eu/articles/erlanger-playbook/) by
Loïc Hoguin

- [Erlang and Elixir for Imperative
Programmers](https://isbnsearch.org/isbn/9781484223932) by
Wolfgang Loder

- [Build It With Nitrogen: The Fast-Off-the-Block Erlang Web
Framework](https://builditwith.com/nitro)
([ISBN](https://isbnsearch.org/isbn/9780982589243))
by Lloyd R. Prentice and Jesse Gumm

- [Concurrent Programming in Erlang (2nd
Edition)](https://isbnsearch.org/isbn/9780135083017) by Robert
Virding, Claes Wikstrom and Mike Williams

- [Erlang
Programming](https://en.wikibooks.org/wiki/Erlang_Programming)

## Community

*Erlang-related communities, meetups, chats and forums*

- [Erlang Ecosystem Foundation (EEF)](https://erlef.org/)
[slack](https://the-eef.slack.com) - Supporting the next
generation of advanced, reliable, realtime applications. The
Erlang Ecosystem Foundation is a 501(c)(3) not-for-profit
organization

- [Erlang Forums](https://erlangforums.com) - Discussion about
Erlang and other languages running on the Erlang VM.

- [Erlang Mailinglists](https://erlang.org/mailman/listinfo/)

- [Erlang IRC](irc://irc.libera.chat/erlang) - Discussion about
Erlang and other languages running on the Erlang VM.

- [Slack/bondy](bondy-group.slack.com)

- [Slack/erlanger](https://erlanger.slack.com/)

- [Erlang Bug Report](https://github.com/erlang/otp/issues) -
official Erlang bug reporting tool

- [GenServer.social](https://genserver.social/) - A place for Erlang
and Elixir folks to hangout in the Fedi but all are welcome.

## Erlang Reading

*Erlang-related reading materials.*

- [The Joy of Erlang; Or, How To Ride A
Toruk](http://www.evanmiller.org/joy-of-erlang.html) - 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*

### Docker

- [erlang](https://hub.docker.com/_/erlang): Docker community maintained image

### Linux/ArchLinux

- [package](https://archlinux.org/packages/extra/x86_64/erlang/)

### Linux/Alpine

- [Erlang package](https://pkgs.alpinelinux.org/package/edge/community/armhf/erlang)
- [Erlang aports](https://git.alpinelinux.org/aports/tree/community/erlang?h=master)
- [build logs](https://build.alpinelinux.org/buildlogs/build-edge-armhf/community/erlang/erlang-26.0.2-r1.log)
- [content of package](https://pkgs.alpinelinux.org/contents?branch=edge&name=erlang&arch=armhf&repo=community)

### Linux/Debian

- [Erlang package (experimental)](https://packages.debian.org/experimental/erlang)
- [Erlang package (sid)](https://packages.debian.org/sid/erlang)
- [Erlang package (13/trixie)](https://packages.debian.org/trixie/erlang)
- [Erlang package (12/bookworm)](https://packages.debian.org/bookworm/erlang)
- [Erlang package (11/bulleye)](https://packages.debian.org/bullseye/erlang)
- [Erlang package (10/buster)](https://packages.debian.org/buster/erlang)

- [Debian Package Tracker](https://tracker.debian.org/pkg/erlang)
- [Debian Bug Tracker](https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=erlang)

### Linux/Fedora

- [Erlang package](https://packages.fedoraproject.org/pkgs/erlang/erlang/)
- [build history](https://packages.fedoraproject.org/pkgs/erlang/erlang/)
- [bug tracker](https://bugzilla.redhat.com/buglist.cgi?component=erlang&query_format=advanced&product=Fedora&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED)
- [build tracker](https://koschei.fedoraproject.org/package/erlang)

### Linux/Gentoo

- [Erlang package](https://packages.gentoo.org/packages/dev-lang/erlang)
- [bug tracker](https://bugs.gentoo.org/buglist.cgi?quicksearch=dev-lang%2ferlang)
- [build logs](https://qa-reports.gentoo.org/output/gentoo-ci/output.html;pkg=dev-lang:erlang)

### Linux/NixOS

- [Erlang package](https://search.nixos.org/packages?show=erlang&from=0&size=50&sort=relevance&type=packages&query=erlang)

### Linux/Ubuntu

- [Erlang package (23.10/mantic)](https://packages.ubuntu.com/mantic/erlang)
- [Erlang package (23.04/lunar)](https://packages.ubuntu.com/mantic/erlang)
- [Erlang package (22.10/kinetic)](https://packages.ubuntu.com/kinetic/erlang)
- [Erlang package (22.04/jamm)](https://packages.ubuntu.com/jammy/erlang)
- [Erlang package (20.04/focal)](https://packages.ubuntu.com/focal/erlang)

- [Ubuntu Bug Tracker](https://launchpad.net/ubuntu/+source/erlang/+bugs)

### Linux/Void

- [Erlang package](https://github.com/void-linux/void-packages/tree/master/srcpkgs/erlang)

### Microsoft Windows

- [Unofficial Erlang package from
NuGet](https://www.nuget.org/packages/Erlang) (deprecated)
Installing Erlang on Windows with NuGet.

- [Unofficial Erlang package from
scoop.it](https://bjansen.github.io/scoop-apps/main/erlang/) -
Installing Erlang on Windows with Scoop.it.

- [Unofficial Erlang package from
chocolatey](https://community.chocolatey.org/packages/erlang) -
Installing Erlang on Windows with Chocolatey.

### Apple MacOS

- [Unofficial Erlang package from
Homebrew](https://formulae.brew.sh/formula/erlang) - Installing
Erlang on MacOS with Homebrew.

- [Unofficial Erlang package from
MacPorts](https://ports.macports.org/port/erlang/) - Installing
Erlang on MacOs with MacPorts.

### FreeBSD

- [Erlang FreeBSD port](https://www.freshports.org/lang/erlang) -
Installing Erlang on FreeBSD

### OpenBSD

- [Erlang OpenBSD port](https://openports.pl/path/lang/erlang/25) -
Installing Erlang on OpenBSD

### NetBSD

- [Erlang NetBSD
package](https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/lang/erlang/README.html) -
Installing Erlang on NetBSD

### DragonFlyBSD

- [Erlang DragonFlyBSD
dports](https://gitweb.dragonflybsd.org/dports.git/tree/HEAD:/lang/erlang) -
Installing Erlang on DragonFlyBSD

### Android

- [Erlang termux
package](https://wiki.termux.com/wiki/Development_Environments#Erlang) -
Installing Erlang on Android with termux.

## Publications

*Erlang-related academic and scientific materials*

Academic paper summary (1184)

| date | #papers |
|------|---------|
| 2024 | 38 |
| 2023 | 43 |
| 2022 | 34 |
| 2021 | 24 |
| 2020 | 31 |
| 2019 | 45 |
| 2018 | 63 |
| 2017 | 65 |
| 2016 | 59 |
| 2015 | 52 |
| 2014 | 54 |
| 2013 | 87 |
| 2012 | 60 |
| 2011 | 90 |
| 2010 | 65 |
| 2009 | 42 |
| 2008 | 33 |
| 2008 | 1 |
| 2007 | 39 |
| 2006 | 22 |
| 2005 | 33 |
| 2004 | 21 |
| 2003 | 16 |
| 2002 | 22 |
| 2001 | 9 |
| 2000 | 13 |
| 1999 | 7 |
| 1998 | 6 |
| 1997 | 6 |
| 1996 | 13 |
| 1995 | 7 |
| 1994 | 2 |
| 1992 | 2 |
| 1990 | 1 |
| 1989 | 1 |

- see also: https://erlef.org/academic-papers/

- 2024: [Green computing for Erlang](https://ceur-ws.org/Vol-3867/paper3.pdf)
by Gharbi Youssef, István Bozó and Melinda Tóth

- 2024: [Analysing the Energy Usage of the Erlang
BEAM](https://ceur-ws.org/Vol-3845/paper16.pdf) by Gharbi Youssef,
Melinda Tóth and István Bozó

- 2024: [Sensor fusion for three-dimensional movement of human
beings on an Internet of Things
network](https://dial.uclouvain.be/downloader/downloader.php?pid=thesis%3A48856&datastream=PDF_01&cover=cover-mem)
by Sonnet, Hadrien

- 2024: [Strategies for managing per-process memory in
Erlang](https://www.diva-portal.org/smash/get/diva2:1907585/FULLTEXT01.pdf)
by Qiang Xu

- 2024: [Program Equivalence in the Erlang Actor
Model](https://www.mdpi.com/2073-431X/13/11/276) by Peter
Bereczky, Daniel Horpácsi and Simon Thompson

- 2024: [A New Architecture Reconciling Refactorings and
Transformations](https://rmod-files.lille.inria.fr/Team/Texts/Papers/Saren24a-COLA-NewArchitecture.pdf)
by Balša Šarenac, Nicolas Anquetil, Stéphane Ducasse and Pablo
Tesone

- 2024: [HotCI: An automated tool for reliable software
upgrade/downgrade in Erlang
OTP](https://webperso.info.ucl.ac.be/~pvr/Zenon_06041900_2024.pdf)
by Alexandre Zenon

- 2024: [Erlang on TOAST: Generating Erlang Stubs with Inline TOAST
Monitors](https://dl.acm.org/doi/abs/10.1145/3677995.3678192) by
Jonah Pears, Laura Bocchi and Raymond Hu

- 2024: [A monitoring tool for linear-time
μHML](https://www.sciencedirect.com/science/article/abs/pii/S0167642323001132)
by Luca Aceto, Antonis Achilleos, Duncan Paul Attard, Léo Exibard,
Adrian Francalanza and Anna Ingólfsdóttir

- 2024: [Same Same but Different: A Comparative Analysis of Static
Type Checkers in
Erlang](https://dl.acm.org/doi/abs/10.1145/3677995.3678189) by
Florian Berger, Albert Schimpf, Annette Bieniusa and Stefan Wehr

- 2024: [Towards Correct Dependency Orders in Erlang
Upgrades](https://www.inf.u-szeged.hu/~cscs/pdf/cscs2024.pdf#page=40)
by Daniel Ferenczi and Melinda Tóth

- 2024: [Is This Really a Refactoring? Automated Equivalence
Checking for Erlang
Projects](https://dl.acm.org/doi/abs/10.1145/3677995.3678194) by
Bendegúz Seres, Dániel Horpácsi and Simon Thompson

- 2024: [Modeling Erlang Compiler IR as SMT
Formulas](https://dl.acm.org/doi/abs/10.1145/3677995.3678193) by
John Högberg

- 2024: [Local Type Argument Synthesis for
Erlang](https://is.muni.cz/th/z0fb0/thesis.pdf) by DAVID PAVLÍK

- 2024: [Dynamic balancing in the real world with
GRiSP](https://dial.uclouvain.be/downloader/downloader.php?pid=thesis%3A48907&datastream=PDF_01&cover=cover-mem)
by Goens, François and Ponsard, Cédric

- 2024: [Speak Now - Safe Actor Programming with Multiparty Session
Types](https://simonjf.com/drafts/maty-draft-jul24.pdf) by SIMON
FOWLER and RAYMOND HU

- 2024: [Unsafe Impedance: Safe Languages and Safe by Design
Software](https://dl.acm.org/doi/abs/10.1145/3677995.3678196) by
Lee Barney and Adolfo Neto

- 2024: [Fault-Tolerant Distributed Declarative
Programs](https://munin.uit.no/handle/10037/34244) by Jörg, Moritz

- 2024: [Runtime Instrumentation for Reactive Components (Extended
Version)](https://arxiv.org/abs/2406.19904) by Luca Aceto, Duncan
Paul Attard, Adrian Francalanza and Anna Ingólfsdóttir

- 2024: [Advanced Join Patterns for the Actor Model based on CEP
Techniques](https://www.academia.edu/download/114668356/2010.16301v1.pdf)
by Humberto Rodriguez Avila, Joeri De Koster and Wolfgang De
Meuter

- 2024: [ReverCSP: Time-Travelling in CSP
Computations](https://www.academia.edu/download/113738358/978-3-030-52482-1_14.pdf)
by Carlos Galindo , Naoki Nishida , Josep Silva , and Salvador
Tamarit

- 2024: [Reversible Debugging of Erlang Programs in
CauDEr](https://dl.acm.org/doi/abs/10.1145/3678720.3685319) by
Ivan Lanese and Germán Vidal

- 2024: [GRAPH-BASED DUPLICATED CODE DETECTION WITH
RefactorErl](http://ac.inf.elte.hu/Vol_057_2024/143_57.pdf) by
Isvtan Bozo, Zsofia Erdei and Melinda Toth

- 2024: [Safe Process State Upgrades Through Static
Analysis](https://ieeexplore.ieee.org/abstract/document/10619854)
by Daniel Ferenczi and Melinda Tóth

- 2024: [Practical Steps towards Establishing an Underwater Acoustic
Network in the Context of the Marine Internet of
Things](https://www.mdpi.com/2076-3417/14/8/3527) by Konstantin
Kebkal , Aleksey Kabanov , Oleg Kramar , Maksim Dimin , Timur
Abkerimov , Vadim Kramar and Veronika Kebkal-Akbari

- 2024: [Clear Programming Language: Connecting Refinement Types
With Generators for Property-Based
Testing](https://www.duo.uio.no/bitstream/handle/10852/112639/1/thesis_Triera-Gashi.pdf)
by Triera Gashi

- 2024: [Effective integration of low-cost digital manufacturing
systems: a reference architecture driven
approach](https://www.tandfonline.com/doi/full/10.1080/0951192X.2024.2314785#abstract)
by J. Kaiser , G. Hawkridge , D. McFarlane , F. Schnicke and
K. Kruger

- 2024: [Nominal Types for
Erlang](https://www.diva-portal.org/smash/get/diva2:1890968/FULLTEXT01.pdf)
by Jiaxuan (Isabell) Huang

- 2024: [TOWARDS EFFICIENT ERLANG-BASED JOB-APPLICANT MATCHING:
INTEGRATING SERESYE, SEMANTIC WEB TOOLKIT, AND
MCDM](https://di.uqo.ca/id/eprint/1667/1/Eloumri_Miloud_2024_these.pdf)
by Miloud Eloumri

- 2024: [Spatiotemporal Data Access for Map Services based on R-star
tree index and LSM
tree](https://ieeexplore.ieee.org/abstract/document/10629146) by
Emil Gatiala, Zoltán Balogh and Sepideh Hassankhani Dolatabadi

- 2024: [Controlling everyday life objects using the Hera platform
on GRiSP2.0: The movement_detection
application](https://dial.uclouvain.be/memoire/ucl/fr/object/thesis%3A46003)
by Isenguerre, Nicolas

- 2024: [Identifying Concurrent Behaviours in Erlang Legacy
Systems](https://cyber.bibl.u-szeged.hu/index.php/actcybern/article/view/4341)
by Zsófia Erdei, Melinda Tóth, István Bozó

- 2024: [Reversible debugging of concurrent Erlang programs:
Supporting imperative
primitives](https://www.sciencedirect.com/science/article/abs/pii/S2352220824000026)
by Pietro Lami, Ivan Lanese, Jean-Bernard Stefani, Claudio
Sacerdoti Coen, Giovanni Fabbretti

- 2024: [Erlang: Application-Aware Autoscaling for Cloud
Microservices](https://anirudhsk.github.io/papers/erlang_eurosys.pdf)
by Vighnesh Sachidananda and Anirudh Sivaraman

- 2024: [A monitoring tool for linear-time
𝜇HML](http://staff.um.edu.mt/afra1/papers/linearDetectErSCP2024.pdf)
by Luca Aceto, Antonis Achilleos, Duncan Paul Attard, Léo Exibard,
Adrian Francalanza, Anna Ingólfsdóttir

- 2024: [Effective integration of low-cost digital manufacturing
systems: a reference architecture driven
approach](https://www.tandfonline.com/doi/full/10.1080/0951192X.2024.2314785)
by J. Kaisera, G. Hawkridgea, D. McFarlanea, F. Schnickeb and
K. Kruger

- 2024: [Design and implementation of power communication protocol
plug-in based on hot
loading](https://dl.acm.org/doi/abs/10.1145/3640912.3640916) by
Weiming Qin, Wenjing Guo, Jingwen Lin, Jiahao Li, Xuerui Chen,
Xinsu Mei, Wei Zhang

- 2024: [Bridging Between Active Objects: Multitier Programming for
Distributed, Concurrent
Systems](https://link.springer.com/chapter/10.1007/978-3-031-51060-1_4)
by Guido Salvaneschi & Pascal Weisenburger

- 2023: [Designing Distributed Systems that
Scale](https://harrybairstow.com/papers/designing-distributed-systems-that-scale.pdf)
by Harry Bairstow

- 2023: [MULTIPLAYER MODULE FOR SCIENCE4PANDEMICS’
GAME](https://estudogeral.uc.pt/retrieve/265531/Joao_Calhau_thesis_corrected.pdf)
by João Rafael Santos Calhau

- 2023: [X.509 Certificate-Based Authentication for NETCONF and
RESTCONF Design Evaluation between Native and External
Implementation](https://www.diva-portal.org/smash/get/diva2:1791392/FULLTEXT01.pdf)
by Qi Li

- 2023: [A Frame Stack Semantics for Sequential Core
Erlang](https://dl.acm.org/doi/pdf/10.1145/3652561.3652566) by
Péter Bereczky, Dániel Horpácsi and Simon Thompson

- 2023: [Runtime Monitoring for Asynchronous Reactive
Components](https://www.um.edu.mt/library/oar/bitstream/123456789/117964/1/2301ICTCPS600005008983_1%20%281%29.PDF)
by Duncan Paul Attard

- 2023: [Advanced Programming Language Concepts (course
slides)](http://www.info.ucl.ac.be/~pvr/linfo1131-handouts-2023.pdf)
by Peter Van Roy

- 2023: [X.509 Certificate-Based Authentication for NETCONF and
RESTCONF: Design Evaluation between Native and External
Implementation](https://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1791392&dswid=-2837),
by Li Qi

- 2023: [An Anomaly Detection System For Subscriber Activities In
Private
Networks](https://thesis.unipd.it/handle/20.500.12608/61281), by
MARTINI, FRANCESCO

- 2023: [A Formalisation of Core Erlang, a Concurrent Actor
Language](https://arxiv.org/abs/2311.10482) by Péter Bereczky,
Dániel Horpácsi and Simon Thompson

- 2023: [Static analysis for safe software
upgrade](http://real.mtak.hu/179773/) by Dániel Ferenczi, Melinda
Tóth

- 2023: [Generation and Refinement of Testing
Models](https://dl.acm.org/doi/abs/10.1145/3609022.3609415) by
Luis Eduardo Bueso de Barrio, Lars-Åke Fredlund, Clara Benac
Earle, Ángel Herranz and Julio Mariño

- 2023: [Gaining trust by tracing security
protocols](https://www.sciencedirect.com/science/article/abs/pii/S2352220822000827)
by Lars-Åke Fredlund, Clara Benac Earle, Thomas Arts and Hans
Svensson

- 2023: [Gesture recognition by pattern matching using sensor fusion
on an internet of things
device](https://dial.uclouvain.be/downloader/downloader.php?pid=thesis%3A40633&datastream=PDF_01&cover=cover-mem)
by Sébastien Gios

- 2023: [Ultra-wideband for internet of
things](https://dial.uclouvain.be/downloader/downloader.php?pid=thesis%3A38375&datastream=PDF_01&cover=cover-mem)
by Gwendal Laurent

- 2023: [Low-cost high-speed sensor fusion with GRiSP and
Hera](https://dial.uclouvain.be/downloader/downloader.php?pid=thesis%3A40762&datastream=PDF_01&cover=cover-mem)
by Lucas Nélis

- 2023: [Deep Learning-Based Refactoring with Formally Verified
Training Data](http://real.mtak.hu/172966/) by Balázs Szalontai,
Szalontai, Péter Bereczky and Dániel Horpácsi

- 2023: [A Semantics of Core Erlang with Handling of
Signals](https://dl.acm.org/doi/abs/10.1145/3609022.3609417) by
Aurélie Kong Win Chang, Jérôme Feret and Gregor Gössler

- 2023: [Event-Driven Multiparty Session
Actors](https://simonjf.com/misc/hope23.pdf) by Simon Fowler

- 2023: [Bppchecker: An Smt-Based Model Checker on Basic Parallel
Processes](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4432122)

- 2023: [Toward Automatic Generation of an Optimal Supervision Tree
in Erlang](https://ken.ieice.org/ken/paper/20230110OCQn/eng/) by
Shoichi Sasaki, Yoshiaki Takata

- 2023: [Reversibility in Erlang: Imperative Constructs - Technical
Report](https://pietrolami.github.io/assets/pdf/tr-rc22.pdf) by
Pietro Lami, Ivan Lanese, Jean-Bernard Stefani, Claudio Sacerdoti
Coen, Giovanni Fabbretti

- 2023: [Design-first framework for REST API development in
Erlang](https://ruc.udc.es/dspace/handle/2183/33720) by Garea
Cidre, Javier

- 2023: [Development of software for monitoring the parameters of
communication networks and server
hardware](http://injoit.org/index.php/j1/article/view/1645) by
E.E. Istratova

- 2023: [TLS the Erlang/OTP Way (Experience
Report)](https://dl.acm.org/doi/abs/10.1145/3609022.3609414) by
Authors: Ingela Anderton Andin, Raimo Niskanen, Péter Dimitrov and
Kiko Fernandez-Reyes

- 2023: [Typing OTP design patterns with session
types](https://www.um.edu.mt/library/oar/handle/123456789/113328)
by Farrugia, Adrian

- 2023: [A Frame Stack Semantics for Sequential Core
Erlang](https://arxiv.org/abs/2308.12403) by Péter Bereczky,
Dániel Horpácsi, Simon Thompson

- 2023: [Pour Some Sugar on Bits: Flexible Manipulation of Bit
Streams in Erlang
∗](http://user.it.uu.se/~pergu/binary_comprehensions.ps) by Per
Gustafsson and Konstantinos Sagonas

- 2023: [Static analysis for safe software
upgrade∗](https://icai.uni-eszterhazy.hu/2023/abstracts/ICAI_2023_abstract_048.pdf)
by Dániel Ferencia , Melinda Tóth

- 2023: [Auction-Based Job Scheduling for Smart
Manufacturing](https://ieeexplore.ieee.org/abstract/document/10158649)
by Emil Gatial, Zoltán Balogh, Sepideh Hassankhani Dolatabadi,
Hatem Ghorbel, Stefano Carrino, Jonathan Dreyer, Vicente Rodríguez
Montequín, Adrian Gligor and Laszlo Barna Iantovics

- 2023: [Analysis Techniques for Software
Maintenance](https://riunet.upv.es/handle/10251/193146) by Pérez
Rubio, S.

- 2023: [Transparent Actor
Model](https://ieeexplore.ieee.org/abstract/document/10164705) by
Fatemeh Ghassemi, Marjan Sirjani, Ehsan Khamespanah, Mahrokh
Mirani and Hossein Hojjat

- 2023: [Gaining trust by tracing security
protocols](https://www.sciencedirect.com/science/article/abs/pii/S2352220822000827)
by Lars-Åke Fredlund, Clara Benac Earle, Thomas Arts and Hans
Svensson

- 2023: [Understanding code smells in Elixir functional
language](https://link.springer.com/article/10.1007/s10664-023-10343-6)
by Lucas Francisco da Matta Vegi and Marco Tulio Valente

- 2023: [Program equivalence in an untyped, call-by-value functional
language with uncurried
functions](https://www.sciencedirect.com/science/article/pii/S2352220823000111)
by Dániel Horpácsi, Péter Bereczky and Simon Thompson

- 2023: [An Axiomatic Theory for Reversible
Computation](https://arxiv.org/abs/2307.13360) by Ivan Lanese,
Iain Phillips and Irek Ulidowski

- 2023: [Blockchain based Secure Erlang Server for Request based
Group Communication over
XMPP](https://ieeexplore.ieee.org/abstract/document/10074294) by
Johnpaul C I, Manojkumar Vivekanandan, Praveen Kumar Premkamal and
Ramya R

- 2023: [A Behavioral Theory For Crash Failures and Erlang-style
Recoveries In Distributed
Systems](https://hal.science/hal-04123758/) by Giovanni Fabbretti,
Ivan Lanese and Jean-Bernard Stefani

- 2023: [Data transmission using secure hybrid techniques for smart
energy metering
devices](https://www.sciencedirect.com/science/article/pii/S2772671123000293)
by Gudapati Ramyasri, G Ramana Murthy, Srikanth Itapu and S Mohan
Krishna

- 2023: [Special
Delivery](https://simonjf.com/drafts/pat-draft-mar23.pdf) by SIMON
FOWLER, DUNCAN PAUL ATTARD, FRANCISZEK SOWUL, SIMON J. GAY and
PHIL TRINDER

- 2023: [Adopting the Actor Model for Antifragile Serverless
Architectures](https://arxiv.org/abs/2306.14738) by Marcel Mraz,
Hind Bangui, Bruno Rossi and Barbora Buhnova

- 2023: [Evolving distributed embedded applications during
operation](https://opus.bibliothek.uni-augsburg.de/opus4/frontdoor/index/index/docId/103138)
by Kilian Telschig

- 2023: [A formal semantics for agent distribution and fault
tolerance in
Jason](https://www.sciencedirect.com/science/article/pii/S2352220823000287)
by Álvaro Fernández Díaz, Lars-Åke Fredlund, Clara Benac-Earle and
Julio Mariño

- 2023: [Parallelized Cyber Reconnaissance Automation: A Real-Time
and Scheduled Security
Scanner](https://link.springer.com/chapter/10.1007/978-3-031-33065-0_2)
by Malek Malkawi and Reda Alhajj

- 2023: [Seaplus: Streamlining a safe execution of C/C++ code from
Erlang](https://seaplus.esperide.org/seaplus-1.0.pdf) by Olivier
Boudeville

- 2023: [Set-theoretic Types for
Erlang](https://arxiv.org/abs/2302.12783) by Albert Schimpf,
Stefan Wehr, Annette Bieniusa

- 2023: [Communicating Actor Automata -- Modelling Erlang Processes
as Communicating Machines](https://arxiv.org/abs/2304.06395) by
Dominic Orchard, Mihail Munteanu, Paulo Torrens

- 2023: [A Behavioral Theory For Crash Failures and Erlang-style
Recoveries In Distributed](https://hal.science/hal-04123758v1) by
Giovanni Fabbretti, Ivan Lanese and Jean-Bernard Stefani

- 2023: [MUTATION TESTING IN FUNCTIONAL
PROGRAMMING](https://jyx.jyu.fi/handle/123456789/92544) by Hopia,
Tuomo

- 2022: [Comparison and proof of the fastest way of the sorting
algorithm by functional programming in Erlang
](https://pubs.aip.org/aip/acp/article-abstract/2386/1/050016/2820526/Comparison-and-proof-of-the-fastest-way-of-the)
by Abbas Jkhayyir Kadhim

- 2022: [BORDER: a Benchmarking Framework for Distributed MQTT
Brokers](https://core.ac.uk/reader/541166534) and Edoardo Longo,
Alessandro E.C. Redondi, Matteo Cesana, and Pietro Manzoni

- 2022: [The best of both worlds Fast numerical computation in
Erlang](https://www.info.ucl.ac.be/~pvr/Brunet_26481700_Couplet_20371700_2022.pdf)
by Lylian B RUNET and Basile C OUPLET

- 2022: [Numerl: Efficient Vector and Matrix Computation for
Erlang](https://www.info.ucl.ac.be/~pvr/Losseau_45781400_2022.pdf)
by Tanguy Losseau

- 2022: [Reversibility in Erlang: Imperative Constructs - Technical
Report](https://pietrolami.github.io/assets/pdf/tr-rc22.pdf)
Pietro Lami, Ivan Lanese, Jean-Bernard Stefani, Claudio Sacerdoti
Coen and Giovanni Fabbretti

- 2022: [CAEFL: composable and environment aware federated learning
models](https://dl.acm.org/doi/abs/10.1145/3546186.3549927) by
Ruomeng (Cocoa) Xu, Anna Lito Michala and Phil Trinder

- 2022: [STARS: Websocket Design and
Implementation](https://ieeexplore.ieee.org/abstract/document/9920451)
by Penidas Fiodinggo Tanaem, Augie David Manuputty and Agustinus
Fritz Wijaya

- 2022: [Future Possibilities and Effectiveness of JIT from Elixir
Code of Image Processing and Machine Learning into Native Code
with SIMD
Instructions](https://cir.nii.ac.jp/crid/1050292162830000000) by
Susumu, Yamazaki

- 2022: [Design of Elixir-Based Edge Server for Responsive IoT
Applications](https://ieeexplore.ieee.org/abstract/document/10062586)
by Yushan Li and Satoshi Fujita

- 2022: [Code smells in Elixir: early results from a grey literature
review](https://dl.acm.org/doi/abs/10.1145/3524610.3527881) by
Lucas Francisco da Matta Vegi and Marco Tulio Valente

- 2022: [Vision for a secure Elixir ecosystem: an empirical study of
vulnerabilities in Elixir
programs](https://dl.acm.org/doi/abs/10.1145/3476883.3520204) by
Dibyendu Brinto Bose, Kaitlyn Cottrell and Akond Rahman

- 2022: [Multiparty-session-types Coordination for Core
Erlang](https://research.uniupo.it/en/publications/multiparty-session-types-coordination-for-core-erlang)
by Lavinia EGIDI, Paola GIANNINI and L Ventura

- 2022: [eqWAlizer: scaling Erlang development at WhatsApp with
static typing
(keynote)](https://dl.acm.org/doi/abs/10.1145/3546186.3552537) by
Ilya Klyuchnikov

- 2022: [Generation of a Reversible Semantics for Erlang in
Maude](https://link.springer.com/chapter/10.1007/978-3-031-17244-1_7)
by Giovanni Fabbretti, Ivan Lanese and Jean-Bernard Stefani

- 2022: [Reversible Computing in Debugging of Erlang
Programs](https://ieeexplore.ieee.org/abstract/document/9717362)
by Ivan Lanese, Ulrik P. Schultz and Irek Ulidowski

- 2022: [Troubleshooting the performance of a large Erlang
system](https://dl.acm.org/doi/abs/10.1145/3546186.3549926) by
Nikos Tsikoudis and Marc Sugiyama

- 2022: [Set-theoretic Types for
Erlang](https://dl.acm.org/doi/abs/10.1145/3587216.3587220) by
Albert Schimpf, Stefan Wehr and Annette Bieniusa

- 2022: [Static Checking of Concurrent Programs in Elixir Using
Session
Types](https://gerardtabone.com/ElixirST/archive/UoM%20-%20technical%20report%202022.pdf)
by Gerard Tabone Adrian Francalanza

- 2022: [Persisting the AntidoteDB Cache: Design and Implementation
of a Cache for a CRDT
Datastore](https://inria.hal.science/hal-03654003/document) by
Ayush Pandey, Annette Bieniusa and Marc Shapiro

- 2022: [Doing large-scale computations on an Internet of Things
network](https://dial.uclouvain.be/downloader/downloader.php?pid=thesis%3A26489&datastream=PDF_01&cover=cover-mem)
by Julien BANKEN and Nicolas X ANTHOS

- 2022: [A Holonic Human Cyber-Physical System in
Healthcare](https://scholar.sun.ac.za/server/api/core/bitstreams/91ea6b25-a027-43f8-95a8-07f96f4e3fc6/content)
by Travis Wade Defty

- 2022: [Tutorial on systems with antifragility to
downtime](https://link.springer.com/article/10.1007/s00607-020-00895-6)
by Kjell Jørgen Hole

- 2022: [A compositional theory of protocol
engineering](https://kar.kent.ac.uk/93297/) by Laura Bocchi,
Dominic Orchard, and Laura Voinea

- 2022: [A reliability benchmark for actor-based server
languages](https://dl.acm.org/doi/abs/10.1145/3546186.3549928) by
Aidan Randtoul and Phil Trinder

- 2022: [Session Fidelity for ElixirST: A Session-Based Type System
for Elixir Modules](https://arxiv.org/abs/2208.04631) by Gerard
Tabone and Adrian Francalanza

- 2022: [Lesser Evil: Embracing Failure to Protect Overall System
Availability](https://link.springer.com/chapter/10.1007/978-3-031-16092-9_5)
by Viktória Fördős and Alexandre Jorge Barbosa Rodrigues

- 2022: [InfERL: scalable and extensible Erlang static
analysis](https://dl.acm.org/doi/10.1145/3546186.3549929) by Ákos
Hajdu, Matteo Marescotti, Thibault Suzanne, Ke Mao, Radu Grigore,
Per Gustafsson and Dino Distefano

- 2022: [PerformERL: a performance testing framework for
erlang](https://dl.acm.org/doi/10.1007/s00446-022-00429-7) by
Walter Cazzola , Francesco Cesarini and Luca Tansini

- 2022: [Troubleshooting th