| 94 | | enterLoop :: Eval Val -> Eval Val |
| 95 | | enterLoop action = genSymCC "&last" $ \symLast -> do |
| | 94 | {-| |
| | 95 | Bind @&last@ and @&next@ to subs that respectively break-out-of and repeat the |
| | 96 | @while@\/@until@, then perform the given evaluation in the new lexical scope. |
| | 97 | |
| | 98 | Note that this function is /not/ responsible for performing the actual |
| | 99 | @while@\/@until@ test; it is the responsibility of the caller to add such a |
| | 100 | test to the top of the body evaluation. |
| | 101 | -} |
| | 102 | enterWhile :: Eval Val -- ^ Evaluation representing loop test & body |
| | 103 | -> Eval Val |
| | 104 | enterWhile action = genSymCC "&last" $ \symLast -> do |