From b9633a33182f5b381e912366273709e59f469bb9 Mon Sep 17 00:00:00 2001 From: Mirek Kratochvil Date: Sat, 12 Nov 2022 17:47:51 +0100 Subject: reorg. --- app/Builtins.hs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 app/Builtins.hs (limited to 'app/Builtins.hs') diff --git a/app/Builtins.hs b/app/Builtins.hs new file mode 100644 index 0000000..272eca2 --- /dev/null +++ b/app/Builtins.hs @@ -0,0 +1,31 @@ +module Builtins where + +import Code hiding (defs) +import Control.Monad.Trans.State.Lazy +import qualified Data.Map as M +import Env +import qualified Operators as O + +addBuiltins :: PrlgEnv () +addBuiltins = do + a1 <- findStruct "a" 1 + a <- findAtom "a" + b <- findAtom "b" + c <- findAtom "c" + b0 <- findStruct "b" 0 + any <- findStruct "any" 1 + eq <- findStruct "=" 2 + modify $ \s -> + s + { defs = + M.fromList + [ (eq, [[U (LocalRef 0), U (LocalRef 0), NoGoal]]) + , (a1, [[U (Atom a), NoGoal], [U (Atom b), NoGoal]]) + , ( b0 + , [ [Goal, U (Struct a1), U (Atom c), LastCall] + , [Goal, U (Struct a1), U (Atom b), LastCall] + ]) + , (any, [[U VoidRef, NoGoal]]) + ] + , ops = [(O.xfy "," 1000), (O.xfx "=" 700)] + } -- cgit v1.2.3