11 lines
318 B
Haskell
11 lines
318 B
Haskell
module Primitives where
|
|
|
|
import Expression
|
|
|
|
pAdd, pSub, pMul, pDiv :: [Expression] -> Expression
|
|
|
|
pAdd = foldr1 $ \(Number a) (Number b) -> Number (a+b)
|
|
pSub = foldr1 $ \(Number a) (Number b) -> Number (a-b)
|
|
pMul = foldr1 $ \(Number a) (Number b) -> Number (a*b)
|
|
pDiv = foldr1 $ \(Number a) (Number b) -> Number (a/b)
|