Early prototype of ErlT, an experimental Erlang dialect with first-class support for static typing.
Erlang
127
0 commits
updated May 14, 2021
This repository contains an early prototype of ErlT, an experimental Erlang dialect with first-class support for static typing.
ErlT targets existing Erlang users and codebases. It builds on Erlang to provide greater support for working with large Erlang codebases. It does this by introducing static types in a way which opens the door to greater IDE integration, safer refactorings, and faster, more specific feedback from the compiler.
The main goal of ErlT is enriching Erlang with static typing capabilities. This involves:
See more details in ErlT Vision.
By default, ErlT is checked (i.e. statically typed), but it also allows some functions or modules to be unchecked (i.e. dynamically typed), both to aid migration and to allow code to be written for which we don't yet have a good typing model. ErlT requires adding specs to unchecked code in order for it to be accessible and typeable from checked code.
Scope of the current prototype includes:
See more details in ErlT Language Overview.
Examples of things that didn't make it into this prototype:
Read ErlT Language Overview.
To play with ErlT code, see Examples.
Prerequisites:
E.g. on MacOS:
brew install erlang rebar3
This project is read-only and not accepting contributions.
Feel free to clone. It is open-sourced under the Apache 2 license. see LICENSE file for details.
For information on how to navigate ErlT development, see the Development Guide.
Erlang
78.9%
Scala
20.0%
Early prototype of ErlT, an experimental Erlang dialect with first-class support for static typing.
Erlang
127
0 commits
updated May 14, 2021
This repository contains an early prototype of ErlT, an experimental Erlang dialect with first-class support for static typing.
ErlT targets existing Erlang users and codebases. It builds on Erlang to provide greater support for working with large Erlang codebases. It does this by introducing static types in a way which opens the door to greater IDE integration, safer refactorings, and faster, more specific feedback from the compiler.
The main goal of ErlT is enriching Erlang with static typing capabilities. This involves:
See more details in ErlT Vision.
By default, ErlT is checked (i.e. statically typed), but it also allows some functions or modules to be unchecked (i.e. dynamically typed), both to aid migration and to allow code to be written for which we don't yet have a good typing model. ErlT requires adding specs to unchecked code in order for it to be accessible and typeable from checked code.
Scope of the current prototype includes:
See more details in ErlT Language Overview.
Examples of things that didn't make it into this prototype:
Read ErlT Language Overview.
To play with ErlT code, see Examples.
Prerequisites:
E.g. on MacOS:
brew install erlang rebar3
This project is read-only and not accepting contributions.
Feel free to clone. It is open-sourced under the Apache 2 license. see LICENSE file for details.
For information on how to navigate ErlT development, see the Development Guide.
Erlang
78.9%
Scala
20.0%