diff options
| -rw-r--r-- | rip-lang.txt | 1 | ||||
| -rw-r--r-- | rip.hs | 3 | 
2 files changed, 4 insertions, 0 deletions
diff --git a/rip-lang.txt b/rip-lang.txt index 75ed5bf..f5f2146 100644 --- a/rip-lang.txt +++ b/rip-lang.txt @@ -11,6 +11,7 @@ i: increment  d: decrement  r: pops the number of items to rotate clockwise  R: pops the number of items to rotate anti-clockwise +l: push length of stack (before this push)  a s m q: + - * / (add, subtract, multiply, quotient (integer))  G L E: greater, less, equal; booleans are 1 and 0, as you expect  n: not; equivalent to 0E @@ -150,6 +150,9 @@ rip' code@(x:xs) fns st = do                      (begin, rest) = (take n newst, drop n newst)                      res = last begin : init begin ++ rest  --SLOW! +        'l' -> +            rip' xs fns (fromIntegral (length st) : st) +          'a' ->              rip' xs fns (a + b : cs)                  where (b:a:cs) = st  | 
