This commit is contained in:
sforman 2023-07-29 09:55:28 -07:00
parent 4a0fce2492
commit c50f2a7541
1 changed files with 8 additions and 0 deletions

View File

@ -47,6 +47,7 @@ joy_eval symbol stack expression =
"cons" -> joy_cons stack expression "cons" -> joy_cons stack expression
"dup" -> joy_dup stack expression "dup" -> joy_dup stack expression
"first" -> joy_first stack expression "first" -> joy_first stack expression
"pop" -> joy_pop stack expression
"rest" -> joy_rest stack expression "rest" -> joy_rest stack expression
_ -> Err ("Unknown word: " ++ symbol) _ -> Err ("Unknown word: " ++ symbol)
@ -100,6 +101,13 @@ joy_first stack expression =
Err msg -> Err msg Err msg -> Err msg
joy_pop : JList -> JList -> Result String (JList, JList)
joy_pop stack expression =
case pop_any(stack) of
Ok (_, s0) -> Ok (s0, expression)
Err msg -> Err msg
joy_rest : JList -> JList -> Result String (JList, JList) joy_rest : JList -> JList -> Result String (JList, JList)
joy_rest stack expression = joy_rest stack expression =
case pop_list(stack) of case pop_list(stack) of