Interpreter and Library for Pointfree Programming
The programming language for the interpreter is based on function-level programming
by John Backus. The data are kept immutable, but object-oriented programming should
be enabled in addition to functional programming.
The interpreter uses a dynamic data structure made up of three-element cells that serve
as the basis for the construction of dictionaries or lists.
( value0 key0 value1 key1 value2 key2 value3 key3 ... ... )
dictionary form
( element0 ; element1 ; element2 ; element3 ; ... ... )
list form
Functions and operators are used for the active part.
func ° x
x opr y
Many combinators are supported from the Backus FP systems.
Application
func : x
Composition
func ° x
Constant
' x
Construction
x , y , z , ... ,
Condition
x -> y ; z
While Loop
x ->* y
Insert
(x \ ) : y
Apply-to-All
(x aa) : y
Combined aa and distr Loop
(func aa0) ° list , x , y , z , ... ,
Apply
x app y
"Binary-to-Unary" for Infix
x ee y
Instance Variable
# name : dict
Assignment
(name := func) : dict
Definition of names.
name == term
... infix notation, classes and much more ...