epnel

Esoteric Polish Notation Evaluation Language.

A lispy language without parentheses, written in high school.

FinishedLanguagePythonGPLv3

$ pip install .

What it is

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.

The language

Everything is an expression and evaluates to a number or a boolean.

SymbolMeaning
+ - * /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.