Posted to tcl by kbk at Sun Jul 13 19:30:16 GMT 2008view raw
- puts [U [lambda {foldl base op list} {
- if {[llength $list] == 0} {
- I $base
- } else {
- tailcall U $foldl \
- [{*}$op $base [lindex $list 0]] \
- $op \
- [lrange $list 1 end]
- }
- }] \
- {0 1} \
- [lambda {p q} {
- list [+ [lindex $p 0] $q] \
- [* [lindex $p 1] $q]}] \
- {1 2 3 4 5}]