Commit Graph

12 Commits

Author SHA1 Message Date
Jesse D. McDonald 885a1ebdbb Fix a missing-root error in interp.c:perform_tail_call(). 2012-07-14 13:43:39 -05:00
Jesse D. McDonald f542fa2bd5 Add bytecodes to skip the rest of a block based on a condition.
Should simplify error-handling and sequences of primitive tests.
Also, automatically instantiate templates used in the tail-call lambda & cont'n fields.
2012-07-14 13:43:33 -05:00
Jesse D. McDonald 7e5014ab07 Correct oversight - 0xfe was not changed to 0xff in lambda args. 2012-07-14 13:43:30 -05:00
Jesse D. McDonald bc3df6dd17 Swap continuation & context in the lambda and template structures.
This is to separate the three 'call' parameters (target, argv, ctx) from
the 'return to' parameter (k). The old order made it look as if the dynamic
context was in some way related to the continuation, which is not the case.
2012-07-14 13:43:26 -05:00
Jesse D. McDonald 9af29f28da Commit basic (and ...) & (or ...) *functions*, with lambda args. 2012-07-14 13:43:25 -05:00
Jesse D. McDonald 893b7e122e Commit (append ...) function, implemented as nested (foldr ...) calls. 2012-07-14 13:43:24 -05:00
Jesse D. McDonald a6715b0922 More primitive functions: map, reverse, acons. 2012-07-14 13:43:23 -05:00
Jesse D. McDonald 2d7b079dd8 Make (foldl ...) state the second argument, as with (foldr ...). 2012-07-14 13:43:22 -05:00
Jesse D. McDonald c6500a53b3 Commit implementation of (foldl ...) function. 2012-07-14 13:43:21 -05:00
Jesse D. McDonald 3a418484c8 Commit (foldr ...) function, and refactor (list ...) to use it. 2012-07-14 13:43:20 -05:00
Jesse D. McDonald a1db12d1e2 Commit implementation of (list ...) primitive function. 2012-07-14 13:43:18 -05:00
Jesse D. McDonald baa2dae345 Rearrange example programs based on new modularity feature. 2012-07-14 13:42:18 -05:00