project contains classic iterators map,filter,fold and his test-suite;
you can program in Tcl in a functional style:
# simplified "counting lines of code" in given $filename # compose iterators via concatenations set loc [ \ fold { accum x } { # simple, counting elements incr accum # begining from 0 # over other command } 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 } <| $filename ]
Use special signs and : for compositions
Another my project:
Was temporary frozen :-(
A small patch to TEBCResume(or TclParse) is needed to implement real lazy calculations. These two functions have a hidden conflict and cannot share the stack. Maybe I'll come back to this project later, it takes a lot of time and even more courage to fix TEBC