Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marcelgarus/mehl
A simple toy programming language.
https://github.com/marcelgarus/mehl
Last synced: 8 days ago
JSON representation
A simple toy programming language.
- Host: GitHub
- URL: https://github.com/marcelgarus/mehl
- Owner: MarcelGarus
- Created: 2021-07-01T22:46:20.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-12-14T22:43:18.000Z (almost 3 years ago)
- Last Synced: 2024-10-26T02:06:26.780Z (12 days ago)
- Language: Rust
- Size: 250 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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