Skip to content

A simple toy programming language.

Notifications You must be signed in to change notification settings

MarcelGarus/mehl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mehl

Mehl is a toy programming language that attempts to improve over LISP-like languages.

Functions have one input and one output

If you view functions as things that can take multiple inputs and then create a single output, you'll naturally arrive at a tree of operations like LISP. But then you have the function being executed last at the top of your program, which seems weird to me.

If you view functions as things that consume some data and produce some data, you'll naturally arrive at a stack-based programming language. But then you'll need to know exactly how many things a function consumes and how many it produces to make sense of your program.

Mehl views functions as things that can take exactly one input and produces exactly one output. It feels natural to build chains of functions. Multiple inputs or outputs can only be modled using tuples.

Maps are a fundamental thing

Extensibility is achieved by dynamicness

For most values, immutability feels natural

Actors are a fundamental thing of life

Constraints

  • Stack-based
  • Dynamic
    • Dynamic dispatch
  • Fibers and channels for concurrency

About

A simple toy programming language.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published