This page lists all of the ideas and solutions behind Elchemy to share the ideology as well as existing and incoming solutions to problems this project faced or eventually will have to face
- Basic Types
- Defining Types
- Defining Type Aliases
- Structures
- Defining Modules
- Defining Functions
- Comments
- Interop (Foreign Function Interface)
Elchemy is a set of tools and frameworks, designed to provide a language and an environment as close to Elm programming language as possible, to build server applications in a DSL-like manner for Erlang VM platform, with a readable and efficient Elixir code as an output.
Elchemy inherits many values from its parents: Elm and Elixir
- ML like syntax maximizing expressiveness with additional readability and simplicity constraints
- Static typing with type inference
- Beautiful compilation errors
- Tagged union types and type aliases with type parameters (aka generic types)
- All functions are curried by default
- No typeclasses
- Documentation as a first class citizen
- Doc tests
- Battle-tested distribution system that just works
- Foreign function calls type safety
- Foreign function calls purity checks
- Dependency system based on GitHub
- Compile time code optimizations