epnel is a small esoteric language in Polish notation: every operator comes first and has a fixed arity, so it is lispy without needing a single parenthesis. The name spells it out: Esoteric Polish Notation Evaluation Language. I wrote it in high school, in Python, and it has almost no IO; the host language does that part.
epnel
Esoteric Polish Notation Evaluation Language.
A lispy language without parentheses, written in high school.
FinishedLanguagePythonGPLv3
$ pip install .
What it is
The language
Everything is an expression and evaluates to a number or a boolean.
| Symbol | Meaning |
|---|---|
+ - * / | arithmetic, two arguments |
< > = | comparisons, return booleans |
| ^ & | or, xor, and; on bits or booleans |
? | conditional: test, then, else |
. | bind a variable: name, expression |
, | bind a function: name, definition, expression |
: | number reassignment, a kind of dereference |
! | the boolean false, immutable |
Names are expressions too and are evaluated before binding; anything that is not a keyword can be a name, numbers included. That means you can change what a number means. Unbound variables default to zero. A function definition is stored unevaluated and re-evaluated on every call.
In use
epnel algo solves the longest-substring-without-repeating-characters interview task in epnel, with Python handling input and output.
pip install .
A compiler to C stays on the wishlist.