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.
