EYG - A programming language for predictable, useful, and confident development

EYG - A programming language for predictable, useful, and confident development - programming.dev
> EYG’s type system builds upon a proven mathematical foundation by using row typing. > EYG programs are all independent of the machine they run on. Any interaction with the world outside your program is accomplished via an effect. > Any effect can be intercepted using a handler. This allows the response from the outside world to be replaced. > Other languages have the possiblity of closure serialisation, but EYG’s runtime is designed to make them efficient. > Hot code reloading – If you change the code the behaviour will update immediatly if safe. > EYG has a prototyped strongly typed shell environment. > EYG is built to support multiple runtimes. […] In the future EYG will be available in many more places, e.g. arduino, CLI’s and IPaaS. EYG makes this easy by having a carefully designed minimal AST. Code example (from landing page): eyg let initial = 10 let handle = (state, message) -> !int_add(state, 1) let render = (count) -> { let count = !int_to_string(count) !string_append("the total is ", count) } {render: render, handle: handle, init: initial} GitHub Repository [https://github.com/CrowdHailer/eyg-lang/], Apache 2.0