Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. erlang-algorithms

erlang-algorithms

Apache-2.0Erlang

A collection of classic algorithms and data structures implemented in Erlang for educational and practical use.

Visit WebsiteGitHubGitHub
160 stars35 forks0 contributors

What is erlang-algorithms?

erlang-algorithms is an open-source library that implements classic computer science algorithms and data structures in the Erlang programming language. It provides functional implementations of graph algorithms (like Dijkstra and A*), search algorithms, and data structures (including graphs, heaps, and union-find) specifically designed for Erlang's concurrent, functional paradigm.

Target Audience

Erlang developers needing algorithm implementations for their projects, computer science students learning algorithms in functional programming contexts, and developers interested in seeing how classic algorithms translate to Erlang's unique programming model.

Value Proposition

It offers idiomatic Erlang implementations that are both educational and practical, filling a gap for algorithm resources in the Erlang ecosystem while demonstrating functional programming approaches to algorithmic problems.

Overview

Implementations of popular data structures and algorithms

Use Cases

Best For

  • Learning algorithm implementation in functional programming
  • Erlang projects requiring graph algorithm implementations
  • Educational computer science courses using Erlang
  • Implementing pathfinding algorithms in Erlang applications
  • Studying functional approaches to classic algorithms
  • Building Erlang applications with heap or union-find data structures

Not Ideal For

  • High-performance applications where low-level language optimizations are critical, as Erlang's BEAM VM may introduce latency overhead.
  • Projects requiring a broad ecosystem of algorithms beyond graph theory and basic data structures, such as machine learning or numerical computing.
  • Teams needing extensive documentation, active community support, and regular updates for large-scale production systems.

Pros & Cons

Pros

Idiomatic Erlang Code

Implementations are clean and functional, adhering to Erlang's paradigm for easy integration, as emphasized in the project philosophy.

Educational Focus

Well-documented with demo functions, it helps developers understand algorithm implementation in functional programming, per the Key Features.

Comprehensive Testing

Includes dialyzer analysis and demo runs for code quality assurance, ensuring reliability in practical use.

Useful Graph Algorithms

Provides essential algorithms like Dijkstra and A* for pathfinding, filling a gap in the Erlang ecosystem for graph processing.

Cons

Limited Algorithm Scope

Focuses primarily on graph algorithms and basic data structures, lacking implementations for other areas like sorting or advanced data structures.

Documentation and Support Gaps

Relies on a GitHub site for full documentation, which may not be as comprehensive or maintained as official libraries, posing risks for production use.

Niche Ecosystem Limitations

As an Erlang-specific library, it has limited community support and fewer updates compared to mainstream algorithm libraries in other languages.

Frequently Asked Questions

Quick Stats

Stars160
Forks35
Contributors0
Open Issues0
Last commit6 years ago
CreatedSince 2013

Tags

#functional-programming#search-algorithms#graph-algorithms#computer-science#data-structures#erlang#heap#algorithms

Built With

M
Make
E
Erlang

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 5 hours ago

Related Projects

flowflow

Computational parallel flows on top of GenStage

Stars1,614
Forks89
Last commit1 year ago
witchcraftwitchcraft

Monads and other dark magic for Elixir

Stars1,234
Forks60
Last commit2 years ago
machinerymachinery

Elixir State machine thin layer for structs

Stars568
Forks56
Last commit2 years ago
fusefuse

A Circuit Breaker for Erlang

Stars512
Forks52
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub