Factor/To do/Locals

Locals are a leaky abstraction. The leaks should be fixed as much as possible. [factor{! Fry and locals

 [ is-integer? ] [ is-even? ] [ >10? ] } &&
    ] ;

[ f ] [ 1.5 wlet-&&-test ] unit-test
[ f ] [ 3 wlet-&&-test ] unit-test
[ f ] [ 8 wlet-&&-test ] unit-test
[ t ] [ 12 wlet-&&-test ] unit-test

Locals also don't work with undo. On the left hand side, they should bind locals.

Partially addressed

 quot } 1&& ; inline
: funny-macro-test ( n -- ? ) [ odd? ] (funny-macro-test) ;

\ funny-macro-test must-infer
[ t ] [ 3 funny-macro-test ] unit-test
[ f ] [ 2 funny-macro-test ] unit-test

This revision created on Fri, 21 Nov 2008 10:38:00 by slava