Skip to content

michaeljones/erm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Erm

This project is a toy Elm interpreter written in Rust following some of the guidance from the Crafting Interpreters book.

It is primarily a learning exercise.

Status

It does not really work at the moment.

  • Explicit import
  • List syntax
  • Runnable binary with errors
  • Tuple syntax
  • Let-in blocks
  • Generic number handling
  • Underscore to ignore
  • Function type annotations
  • Type alias declarations
  • Type declarations
  • Record syntax
  • Record updatn syntax
  • Case statement
  • Pattern matching
  • Destructuring
  • Generic 'appendable' handling

No current plans to support:

  • Ports
  • WebGL syntax

Notes

  • Explore the idea of supporting a dhall like approach to generating config. Perhaps a 'Config' output type for the 'main' function and some kind of automatic support for json/yaml/toml outputs.

Tests

Run tests with logging output:

RUST_LOG=trace cargo test -- --nocapture

Links

Elm Resources

Type Inference

Parsing Binary Expressions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published