I would like to present my project; it might be interesting in light of the 'Learnable programming' discussion.
The Pooh language lives here
It has the following features:
- Does not force to introduce OO concepts from the start; non strict OO viewpoint.
- Makes flow visible by tracing of the program flow;
the -x command line option instructs the interpreter to trace each statement and evaluation results + intermediate values.
- A focus on readability and clarity in syntax and semantics
- no statement delimiters - no semicolons
- all function parameters are passed as named parameters;
- all variables declared in function are local;
- Variable must be defined before use, similar to strict mode in Perl; variable is defined if value is assigned to a name.
- The language has closures and can do objects by prototyping; has higher order functions like map/fold/filter .
- If a non local variable is referenced, then it must have the prefix outer . ;
references to global variables from a function must have prefix global . ; object member references must have prefix this .
- the Pooh language has green threads / co-routines / generators like Lua; so there are nice for loops like in Python. The local variety of this idea is called Pooh routine.
Thank you for your attention.