I have released a new version of Seed7: seed7_05_20120101.tgz
In the Seed7 programming language new statements and operators
can be declared easily. Types are first class objects and therefore
templates/generics need no special syntax. Object orientation is
used when it brings advantages and not in places when other
solutions are more obvious.

Seed7 is covered by the GPL (and LGPL for the Seed7 runtime library).

Changelog:
- The type 'pollData' was moved from "socket.s7i" to "poll.s7i".
The functions supported by 'pollData' are 'clear', 'addCheck',
'removeCheck', 'getCheck', 'poll', 'getFinding', 'hasNext',
'iterChecks', 'iterFindings', 'nextFile' and 'for'.
- The type 'inetListener' was moved from "socket.s7i" to
"listener.s7i". The functions supported by 'inetListener' are
'openInetListener', 'close', 'signOff', 'listen', 'accept' and
'waitForRequest'.
- The type 'socketAddress' was moved from "socket.s7i" to
"sockbase.s7i". The functions supported by 'socketAddress' are
'numericAddress', 'inetSocketAddress', 'inetListenerAddress' and
'getHostname'.
- The file "pol_dos.c" was added (thanks to "Rugxulo" for pointing
out, that it was missing).
- Support for the actions POL_ADD_READ_CHECK POL_ADD_WRITE_CHECK,
POL_FILES, POL_HAS_NEXT_READ_FILE, POL_HAS_NEXT_WRITE_FILE,
POL_NEXT_READ_FILE, POL_NEXT_WRITE_FILE, POL_READY_FOR_READ,
POL_READY_FOR_WRITE, POL_REMOVE_READ_CHECK,
POL_REMOVE_WRITE_CHECK and SOC_SELECT_INPUT was removed from
interpreter and compiler.
- Support for the actions POL_ADD_CHECK, POL_GET_CHECK,
POL_GET_FINDING, POL_HAS_NEXT, POL_ITER_CHECKS, POL_ITER_FINDINGS,
POL_NEXT_FILE, POL_REMOVE_CHECK and SOC_GET_ADDR was added to
interpreter and compiler.
- The files "pollib.c", "pollib.h", "pol_dos.c", "pol_sel.c",
"pol_unx.c", "pol_drv.h", "soclib.c", "soclib.h", "soc_rtl.c" and
"soc_dos.c" were added or improved.
- The "ftpserv.sd7" example was improved to take the IP address for
the "PASV" response from the control socket.
- The console driver "con_win.c" was improved, such that keypressed
recognizes control-C as normal keyboard input.
- The function 'socGets' was improved to avoid realloc(), when
the string read is shorter than requested.