Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. Elchemy

Elchemy

MITElm0.4.29

Write type-safe Elixir code using Elm's syntax and tooling, leveraging the BEAM ecosystem.

Visit WebsiteGitHubGitHub
1.2k stars26 forks0 contributors

What is Elchemy?

Elchemy is a compiler that allows developers to write Elixir code using Elm's statically-typed, functional syntax. It translates Elm-like source files into idiomatic Elixir, providing type safety and reducing runtime errors while leveraging the BEAM ecosystem. The project aims to combine the best of both languages—Elm's reliability and Elixir's tooling and platform.

Target Audience

Elixir developers seeking stronger type safety and Elm developers wanting to use the BEAM ecosystem. It's ideal for teams building reliable, maintainable applications where compile-time error prevention is a priority.

Value Proposition

Developers choose Elchemy for its seamless integration of Elm's type system with Elixir's ecosystem, offering type-safe interop, readable output, and a familiar syntax. It uniquely bridges two functional programming communities, providing safety without sacrificing access to Elixir's libraries and tooling.

Overview

Write Elixir code using statically-typed Elm-like syntax (compatible with Elm tooling)

Use Cases

Best For

  • Adding type safety to existing Elixir projects incrementally
  • Writing new BEAM applications with Elm-like syntax and tooling
  • Teams familiar with Elm transitioning to or integrating with Elixir
  • Preventing runtime errors in critical production code
  • Leveraging Elixir's ecosystem while maintaining functional purity
  • Educational projects comparing Elm and Elixir type systems

Not Ideal For

  • Projects requiring extensive side effects like file I/O or database interactions, as Elchemy's effects system is only 20% complete
  • Teams heavily reliant on Elixir's macro system for metaprogramming, due to poor support for macros and do..end blocks
  • Windows-based development environments, since Elchemy lacks official Windows support and relies on Unix tools
  • Applications needing battle-tested, production-ready tooling, as Elchemy is still in active development with many core features incomplete

Pros & Cons

Pros

Powerful Type Inference

Elchemy's compiler provides extensive type inference, reducing manual annotations and catching errors early, as highlighted in the features section.

Safe Elixir Interop

It enables type-safe calls to Elixir/Erlang functions using typespecs, minimizing boilerplate and maintaining safety, as described in the interop details.

Reduced Runtime Errors

The type system eliminates almost all runtime errors in Elchemy code, isolating issues to Elixir interop parts, ensuring higher reliability.

Readable Output Code

Generates idiomatic and performant Elixir code that is easy to read and analyze without referencing the source, aiding in maintenance and debugging.

Cons

Incomplete Side Effects

Elchemy-effects is only 20% complete, meaning you can't write code with side effects yet, severely limiting real-world applications like I/O or state management.

Platform Limitations

No support for Windows and heavy reliance on Unix tools, as mentioned in issues #287 and #288, restrict usability in diverse development environments.

Poor Macro Integration

Limited support for Elixir macros, including those with do..end blocks, hinders integration with macro-heavy libraries common in the Elixir ecosystem.

Frequently Asked Questions

Quick Stats

Stars1,151
Forks26
Contributors0
Open Issues24
Last commit6 years ago
CreatedSince 2017

Tags

#functional-programming#elixir-lang#elixir#compiler#developer-tools#static-typing#transpiler#type-safety#language#elm#beam#languages#elixir-ecosystem

Built With

E
Elm
E
Elixir
N
Node.js

Links & Resources

Website

Included in

Elixir13.1kElm3.7k
Auto-fetched 4 hours ago

Related Projects

IcedIced

A cross-platform GUI library for Rust, inspired by Elm

Stars30,730
Forks1,584
Last commit23 hours ago
HyperappHyperapp

1kB-ish JavaScript framework for building hypertext applications

Stars19,210
Forks776
Last commit1 year ago
RocRoc

A fast, friendly, functional language.

Stars5,714
Forks381
Last commit5 hours ago
MisoMiso

:ramen: A tasty Haskell web framework

Stars2,409
Forks164
Last commit2 days 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