Skip to content

masp/erty

Repository files navigation

About

Work in progress.

Erty is Erlang but with stronger support for types (ERlang with TYpes).

Erty's primary differences from Erlang are:

  • Strongly enforced, static typing
  • C family, imperative syntax (based on Golang)
  • Easy interop to and from Erlang

Unlike Elixir, Erty makes very few extensions to the core features of Erlang. Erty is intended to be easy to drop into a large, existing Erlang project and be beneficial immediately with a low learning curve.

Example

module hello

func hello() {
    io.format("Hello, world!~n")
}

compiles to

-module(hello).
-export([hello/0]).

hello() ->
    io:format("Hello, world!~n").

Usage

To execute a ert file with a main function:

ert run examples/hello_world.ert

To load a module interactively into an Erlang shell:

ert run -shell examples/hello_world.ert

To compile files:

ert build -o examples/ examples/hello_world.ert

About

A modernized alternative to Erlang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages