From 9c381f0e8f6bc7c8ad496fdb6d322963c4305089 Mon Sep 17 00:00:00 2001 From: sforman Date: Sat, 29 Jul 2023 10:23:06 -0700 Subject: [PATCH] i --- implementations/Elm/src/Joy.elm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/implementations/Elm/src/Joy.elm b/implementations/Elm/src/Joy.elm index 41982f0..e355054 100644 --- a/implementations/Elm/src/Joy.elm +++ b/implementations/Elm/src/Joy.elm @@ -34,6 +34,7 @@ joy stack expression = joy_eval : String -> JList -> JList -> Result String (JList, JList) joy_eval symbol stack expression = case symbol of + "i" -> joy_i stack expression "+" -> joy_binary_math_op (+) stack expression "-" -> joy_binary_math_op (-) stack expression "*" -> joy_binary_math_op (*) stack expression @@ -56,6 +57,13 @@ joy_eval symbol stack expression = _ -> Err ("Unknown word: " ++ symbol) +joy_i : JList -> JList -> Result String (JList, JList) +joy_i stack expression = + case pop_list(stack) of + Ok (a, s0) -> Ok (s0, a ++ expression) + Err msg -> Err msg + + joy_binary_math_op : (Int -> Int -> Int) -> JList -> JList -> Result String (JList, JList) joy_binary_math_op op stack expression = case pop_int(stack) of