тут кто-то предлагал делиться новогодними подарками, ну так вот оно: https://chiselapp.com/user/nektomk/repository/fun/home.
выдалось время, набросал прототип итераторов в Tcl и даже слегка покрыл тестами. Пока-что это скажем так «api preview», то есть посмотреть/оценить насколько получается удобно и выразительно.
извините, из документации пока только cheats на основной странице, тесты и две «демки» в репозитарии;
# "lines of code" :-)
# iter`s concatenations demo
set loc [ fold { accum x } {
    # simple, count elements 
    incr accum
    # from other iterator
    # [] - combination sign
} 0 [] filter { x } {
    # filter elements
    set x [ string trim $x ]
    if { $x == {} || [ string index $x 0 ] == {#} } {
	# empty lines and lines started from # (comment)
	# wil drop
	return false
    }
    return true
    # from file
} <| $filename ]
Цель: чтобы удобно было писать на Tcl в функциональном стиле; В планах сделать внутри функциональную и комбинаторную оптимизацию.
в более дальних планах на следующий год: добавить операцию [] (та которая в функ. нотации точка по центру) уже непосредственно в парсер и исполнятор tcl.
