OSDN Git Service

pop
authorsforman <sforman@hushmail.com>
Sat, 29 Jul 2023 16:55:28 +0000 (09:55 -0700)
committersforman <sforman@hushmail.com>
Sat, 29 Jul 2023 16:55:28 +0000 (09:55 -0700)
implementations/Elm/src/Joy.elm

index 67d90c3..42c3e52 100644 (file)
@@ -47,6 +47,7 @@ joy_eval symbol stack expression =
         "cons" -> joy_cons stack expression
         "dup" -> joy_dup stack expression
         "first" -> joy_first stack expression
+        "pop" -> joy_pop stack expression
         "rest" -> joy_rest stack expression
         _ -> Err ("Unknown word: " ++ symbol)
 
@@ -100,6 +101,13 @@ joy_first stack expression =
         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 stack expression =
     case pop_list(stack) of