Dumbell

The Dependency Based Language with Definition


Dumbell is a simple language designed to let you the programmer decide when they want their evaluation to occur.

This allows for the programmer to create definitions and assignments rather than declarations which are dependent on the evaluation of other values or variables the definition are dependent on. These definitions are only evaluated when they need to be in the program, and will evaluate any other definitions that the value is dependent on. These are essentially "inline functions" that allow for one definition of value, that can propagate values through a program to a final result.


Contributing

This language is still really bare bones. It doesn't even have functions! If you want to help, you can go to the Github page and check out the source. You'll need to install Flex and Bison first but that's it. A couple things that are definitely needed: memory management, formal semantics, and a logo.


Examples

Dumbell definitions are denoted by the := definition operator. Where the = assignment operator operates at the expression level, the definition operator is at the declaration level. You can read more about the details of Dumbell here.

Hello World!

Factorial

String to Integer