TAV-PL
In the last decade, I have specified and implemented an unusual programming language that fits my personal taste.
I am currently revising the language in order to publish the source code, so some details will change.
The source code is now online: http://tavpl.de.
There is a Tutorial (also as PDF) and a Language Description (also as PDF), plus a simple TAV-PL playground to test small programs online (including more elaborate examples not in the tutorial).
TAV-PL is a precompiler for the C programming language, thus it is fairly easy to port the compiler — written in TAV-PL — to most computers.
The differences and highlights are:
- C precompiler, should work on any system with a reasonable C compiler
- Block structuring by indentation, like in Python; line oriented
- No keywords in the core language, only symbols and bigraphs
- Variables are of any kind (type) dynamically; no declarations
- Function definition and calls by word sequences with interspersed parameters, often no parenthesis needed
- Maps (dictionaries) with all kinds of keys (except floating-point numbers)
- Rows (arrays) if the keys are close integers, dynamically expanding
- Arbitrary precision integer numbers
- Dynamic UTF strings
- Fields for extra data in rows and maps
- Attributes for information about an item (object)
- Fault items for reliable error handling
- Basic support for object-oriented programming (no inheritance)
- Discretionary type system specified, but not yet tested
The source code for the compiler, runtime system and library are available as open source: http://tavpl.de
If you have comments or questions, write to info@tavpl.de or try a chat with tavpl via JAMI or with tav@glaschick.de via XMPP.