Skip to content

CrowdHailer/eyg-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eat Your Greens (EYG)

A programming language for predictable, useful and confident development. EYG is an immutable functional language with structural typing and managed effects.

The intermediate representation (IR) of EYG is a minimal tree and is the stable interface for writing EYG programs. Type checking, syntax, evaluation or compilation are optional components built on this foundation.

Packages

  • spec A JSON spec of all evaluation rules. Compiler and interpreter implementations should use this as their test suite.
  • gleam_analysis Type inference for expressions, effects and scope variables in EYG programs.
  • gleam_ir Data structures for the EYG IR. This is the original implementation of EYG.
  • gleam_interpreter A Gleam interpreter for EYG targeting JavaScript. Runs in the browser and on the server.
  • gleam_parser Parser for a curly braces syntax for EYG IR.
  • morph Higher level AST and transformation functions for structural edits. (Unpublished)
  • touch_grass Common effect definitions (types, decoders and encoders) for your Eat Your Greens (EYG) runtime.

Philosophy

Building better languages and tools; for some measure of better.

"Eat Your Greens" is a reference to the idea that eating vegetables is good for you, however the benefit is only realised at some later time.

Projects in this repo introduce extra contraints, over regular programming languages and tools. By doing so more guarantees about the system built on them can be given.

Previous experiments

Over the last few years the Eat Greens Principle to build actor systems, datalog engines. A record of these experiments is at https://petersaxton.uk/log/. The code for these experiments is no longer available if you want to ask more about them reach out to me directly

About

Building better languages and tools; for some measure of better.

Topics

Resources

License

Stars

Watchers

Forks