From: sforman Date: Sat, 29 Jul 2023 17:23:06 +0000 (-0700) Subject: i X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=9c381f0e8f6bc7c8ad496fdb6d322963c4305089;p=joypy%2FThun.git i --- 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