diff --git a/brat/Brat/Checker.hs b/brat/Brat/Checker.hs index 6bc2643a..2c7508e1 100644 --- a/brat/Brat/Checker.hs +++ b/brat/Brat/Checker.hs @@ -20,7 +20,6 @@ import Data.List.NonEmpty (NonEmpty(..)) import qualified Data.List.NonEmpty as NE import qualified Data.Map as M import Data.Maybe (fromJust) -import qualified Data.Set as S import Data.Traversable (for) import Data.Type.Equality ((:~:)(..), testEquality) import Prelude hiding (filter) @@ -59,15 +58,10 @@ standardise k val = eval S0 val >>= (\case (_, val) -> pure val) . (k,) mergeEnvs :: [Env a] -> Checking (Env a) -mergeEnvs = foldM combineDisjointEnvs M.empty - where - combineDisjointEnvs :: M.Map QualName v -> M.Map QualName v -> Checking (M.Map QualName v) - combineDisjointEnvs l r = - let commonKeys = S.intersection (M.keysSet l) (M.keysSet r) - in if S.null commonKeys - then pure $ M.union l r - else typeErr ("Variable(s) defined twice: " ++ - intercalate "," (map show $ S.toList commonKeys)) +mergeEnvs es = throwLeft $ first fmterr $ foldM combineDisjointEnvs M.empty es + where + fmterr :: [QualName] -> ErrorMsg + fmterr names = TypeErr $ "Variable(s) defined twice: " ++ intercalate "," (map show names) singletonEnv :: (?my :: Modey m) => String -> (Src, BinderType m) -> Checking (Env (EnvData m)) diff --git a/brat/Brat/Checker/Types.hs b/brat/Brat/Checker/Types.hs index 52fedf99..a6829dcb 100644 --- a/brat/Brat/Checker/Types.hs +++ b/brat/Brat/Checker/Types.hs @@ -5,6 +5,7 @@ module Brat.Checker.Types (Overs, Unders ,ChkConnectors, SynConnectors ,Mode(..), Modey(..) ,Env, VEnv, KEnv, EnvData + ,combineDisjointEnvs ,IsSkolem(..), Store(..), EndType(..) ,emptyEnv ,TypedHole(..), HoleTag(..), HoleData(..) @@ -22,6 +23,7 @@ import Hasochism (N(..)) import Data.Kind (Type) import qualified Data.Map as M +import qualified Data.Set as S -- Inputs against which a term is checked type family Overs (m :: Mode) (k :: Kind) :: Type where @@ -61,6 +63,14 @@ type KEnv = Env (EnvData Kernel) emptyEnv :: Env a emptyEnv = M.empty +-- Left == error == list of the QualNames that were multiply defined +combineDisjointEnvs :: Env e -> Env e -> Either [QualName] (Env e) +combineDisjointEnvs l r = + let commonKeys = S.intersection (M.keysSet l) (M.keysSet r) + in if S.null commonKeys + then pure $ M.union l r + else Left $ S.toList commonKeys + data HoleTag :: Mode -> Kind -> Type where NBHole :: HoleTag Brat Noun NKHole :: HoleTag Kernel Noun diff --git a/brat/Brat/Compile/Hugr.hs b/brat/Brat/Compile/Hugr.hs index f0b1f644..3f9c05df 100644 --- a/brat/Brat/Compile/Hugr.hs +++ b/brat/Brat/Compile/Hugr.hs @@ -126,6 +126,10 @@ addNode nam (parent, op) = do setOp name (addMetadata [("id", show name)] op) pure name +filePrefix :: [String] -> Name -> Maybe Name +filePrefix prefixes (MkName (("checking",_):_filename:ns)) = + hasPrefix (["globals"]++prefixes) (MkName ns) + runCheckingInCompile :: Free CheckingSig t -> Compile t runCheckingInCompile (Ret t) = pure t runCheckingInCompile (Req (ELup e) k) = do @@ -314,7 +318,7 @@ compileWithInputs parent name = gets (M.lookup name . compiled) >>= \case -- If we only care about the node for typechecking, then drop it and return `Nothing`. -- Otherwise, NodeId of compiled node, and list of Hugr in-edges (source and target-port) compileNode :: Compile (Maybe (NodeId, [(PortId NodeId, Int)])) - compileNode = case (hasPrefix ["checking", "globals", "decl"] name) of + compileNode = case (filePrefix ["decl"] name) of Just _ -> do -- reference to a top-level decl. Every such should be in the decls map. -- We need to return value of each type (perhaps to be indirectCalled by successor). @@ -364,7 +368,7 @@ compileWithInputs parent name = gets (M.lookup name . compiled) >>= \case ins <- compilePorts ins outs <- compilePorts outs let sig = FunctionType ins outs bratExts - case hasPrefix ["checking", "globals", "prim"] outNode of + case filePrefix ["prim"] outNode of -- If we're evaling a Prim, we add it directly into the kernel graph Just suffix -> do (ns, _) <- gets bratGraph @@ -407,13 +411,13 @@ compileWithInputs parent name = gets (M.lookup name . compiled) >>= \case outs <- compilePorts outs (ns, _) <- gets bratGraph decls <- gets decls - case hasPrefix ["checking", "globals", "prim"] outNode of + case filePrefix ["prim"] outNode of -- Callee is a Prim node, insert Hugr Op; first look up outNode in the BRAT graph to get the Prim data Just suffix -> default_edges <$> case M.lookup outNode ns of Just (BratNode (Prim (ext,op)) _ _) -> do addNode (show suffix) (parent, OpCustom (CustomOp ext op (FunctionType ins outs [ext]) [])) x -> error $ "Expected a Prim node but got " ++ show x - Nothing -> case hasPrefix ["checking", "globals"] outNode of + Nothing -> case filePrefix [] outNode of -- Callee is a user-defined global def that, since it does not require an "extra" call, can be turned from IndirectCall to direct. Just _ | (funcDef, False) <- fromJust (M.lookup outNode decls) -> do callerId <- addNode ("direct_call(" ++ show funcDef ++ ")") @@ -449,7 +453,7 @@ compileWithInputs parent name = gets (M.lookup name . compiled) >>= \case Target -> error "Target found outside of compileBox" - Id | Nothing <- hasPrefix ["checking", "globals", "decl"] name -> default_edges <$> do + Id | Nothing <- filePrefix ["decl"] name -> default_edges <$> do -- not a top-level decl, just compile it as an Id (TLDs handled in compileNode) let [(_,ty)] = ins -- fail if more than one input addNode "Id" (parent, OpNoop (NoopOp (compileType ty))) @@ -854,7 +858,7 @@ compileModule venv moduleNode = do decls = do -- in list monad, no Compile here (fnName, wires) <- M.toList venv let (Ex idNode _) = end (fst $ head wires) -- would be better to check same for all rather than just head - case hasPrefix ["checking","globals","decl"] idNode of + case filePrefix ["decl"] idNode of Just _ -> pure (fnName, idNode) -- assume all ports are 0,1,2... Nothing -> [] diff --git a/brat/Brat/Load.hs b/brat/Brat/Load.hs index 75570454..4b9aca41 100644 --- a/brat/Brat/Load.hs +++ b/brat/Brat/Load.hs @@ -7,7 +7,7 @@ module Brat.Load (loadFilename import Brat.Checker import Brat.Checker.Helpers (ensureEmpty, next, showMode, wire) import Brat.Checker.Monad -import Brat.Checker.Types (Store, TypedHole, VEnv, initStore) +import Brat.Checker.Types (Store, TypedHole, initStore, VEnv) import Brat.Elaborator (elabEnv) import Brat.Error import Brat.FC hiding (end) @@ -213,11 +213,13 @@ loadFiles ns (cwd :| extraDirs) fname contents = do pure (deps ++ [main]) Nothing -> throwError (SrcErr "" $ dumbErr (InternalError "Empty dependency graph")) -- keep VEnv as we fold but discard holes, graph and captures except from the last file in the list - liftEither $ foldM - (\(venv, decls, _, defs, _, _) -> loadStmtsWithEnv ns (venv, decls, defs)) - emptyMod - allStmts' + liftEither $ fst <$> foldM loadStmtsSplitNS (emptyMod, ns) allStmts' where + loadStmtsSplitNS :: (VMod, Namespace) -> (FilePath, Prefix, FEnv, String) -> Either SrcErr (VMod, Namespace) + loadStmtsSplitNS ((venv,decls,_,store,_,_), ns) file@(fname, _, _, _) = + let (subns, ns') = split (takeBaseName fname) ns + in (, ns') <$> loadStmtsWithEnv subns (venv,decls,store) file + -- builds a map from Import to (index in which discovered, module) depGraph :: M.Map Import (Int, FlatMod) -- input map to which to add -> Import -> String diff --git a/brat/test/Test/Compile/Hugr.hs b/brat/test/Test/Compile/Hugr.hs index 6124f4e9..fef8959f 100644 --- a/brat/test/Test/Compile/Hugr.hs +++ b/brat/test/Test/Compile/Hugr.hs @@ -19,16 +19,16 @@ outputDir = prefix "output" -- examples that we expect to compile, but then to fail validation invalidExamples :: [FilePath] invalidExamples = (map ((++ ".brat") . ("examples" )) - ["adder" - ,"app" + ["app" + --,"adder" -- not even checking yet ,"dollar_kind" ,"portpulling" ,"eatsfull" -- Compiling hopes #96 ,"map" -- Compiling hopes #96 ,"infer_thunks" -- Weird: Mismatch between caller and callee signatures in map call ,"infer_thunks2" -- Weird: Mismatch between caller and callee signatures in map call - ,"repeated_app" -- missing coercions, https://github.com/quantinuum-dev/brat/issues/413 - ,"thunks"] + --,"repeated_app" -- not checking yet, but will be missing coercions, https://github.com/quantinuum-dev/brat/issues/413 + ] ) ++ ["test/compilation/closures.brat"] -- fails to compile but still spits out some JSON (not whole Hugr) -- examples that we expect not to compile. diff --git a/brat/test/golden/error/badvec3.brat.golden b/brat/test/golden/error/badvec3.brat.golden index 94b04131..1cbcc125 100644 --- a/brat/test/golden/error/badvec3.brat.golden +++ b/brat/test/golden/error/badvec3.brat.golden @@ -2,5 +2,5 @@ Error in test/golden/error/badvec3.brat on line 2: v3 = cons(1, nil) ^^^^^^^^^^^^ - Unification error: Couldn't force 1 + VPar In checking_check_defs_1_v3_$rhs_check'Con_$!_numpat2val_1 0 to be 0 + Unification error: Couldn't force 1 + VPar In checking_badvec3_check_defs_1_v3_$rhs_check'Con_$!_numpat2val_1 0 to be 0 diff --git a/brat/test/golden/error/fanin-dynamic-length.brat.golden b/brat/test/golden/error/fanin-dynamic-length.brat.golden index 6c2d87eb..301fa4c8 100644 --- a/brat/test/golden/error/fanin-dynamic-length.brat.golden +++ b/brat/test/golden/error/fanin-dynamic-length.brat.golden @@ -2,5 +2,5 @@ Error in test/golden/error/fanin-dynamic-length.brat on line 2: f(n) = { [\/] } ^^^^ - Type error: Can't fanout a Vec with non-constant length: VPar Ex checking_check_defs_1_f_LambdaChk_7_checkClauses_1_lambda.0_rhs/in_1 0 + Type error: Can't fanout a Vec with non-constant length: VPar Ex checking_fanin-dynamic-length_check_defs_1_f_LambdaChk_7_checkClauses_1_lambda.0_rhs/in_1 0 diff --git a/brat/test/golden/error/fanout-dynamic-length.brat.golden b/brat/test/golden/error/fanout-dynamic-length.brat.golden index 0de3978a..ed9b8e81 100644 --- a/brat/test/golden/error/fanout-dynamic-length.brat.golden +++ b/brat/test/golden/error/fanout-dynamic-length.brat.golden @@ -2,5 +2,5 @@ Error in test/golden/error/fanout-dynamic-length.brat on line 2: f(n) = { [/\] } ^^^^ - Type error: Can't fanout a Vec with non-constant length: VPar Ex checking_check_defs_1_f_LambdaChk_7_checkClauses_1_lambda.0_rhs/in_1 0 + Type error: Can't fanout a Vec with non-constant length: VPar Ex checking_fanout-dynamic-length_check_defs_1_f_LambdaChk_7_checkClauses_1_lambda.0_rhs/in_1 0 diff --git a/brat/test/golden/error/kbadvec3.brat.golden b/brat/test/golden/error/kbadvec3.brat.golden index aa22410d..2ab24c2f 100644 --- a/brat/test/golden/error/kbadvec3.brat.golden +++ b/brat/test/golden/error/kbadvec3.brat.golden @@ -2,5 +2,5 @@ Error in test/golden/error/kbadvec3.brat on line 2: constNil = { b => cons(1, nil) } ^^^^^^^^^^^^ - Unification error: Couldn't force 1 + VPar In checking_check_defs_1_constNil_$rhs_check'Th_LambdaChk_7_checkClauses_1_$rhs_4_check'Con_$!_numpat2val_1 0 to be 0 + Unification error: Couldn't force 1 + VPar In checking_kbadvec3_check_defs_1_constNil_$rhs_check'Th_LambdaChk_7_checkClauses_1_$rhs_4_check'Con_$!_numpat2val_1 0 to be 0 diff --git a/brat/test/golden/error/remaining-nat-hopes.brat.golden b/brat/test/golden/error/remaining-nat-hopes.brat.golden index c1737905..fcafb020 100644 --- a/brat/test/golden/error/remaining-nat-hopes.brat.golden +++ b/brat/test/golden/error/remaining-nat-hopes.brat.golden @@ -3,6 +3,6 @@ bad = let _ = read([]) in show(!) ^^^ Expected to work out values for these holes: - In checking_check_defs_1_bad_5_$rhs_$!_3 0 + In checking_remaining-nat-hopes_check_defs_1_bad_5_$rhs_$!_3 0 diff --git a/brat/test/golden/error/remaining_hopes.brat.golden b/brat/test/golden/error/remaining_hopes.brat.golden index ff53a23a..b4697d7e 100644 --- a/brat/test/golden/error/remaining_hopes.brat.golden +++ b/brat/test/golden/error/remaining_hopes.brat.golden @@ -3,6 +3,6 @@ g = f(!) ^^^ Expected to work out values for these holes: - In checking_check_defs_1_g_3_$rhs_$!_1 0 + In checking_remaining_hopes_check_defs_1_g_3_$rhs_$!_1 0 diff --git a/brat/test/golden/error/vec_length.brat.golden b/brat/test/golden/error/vec_length.brat.golden index 94f082ff..a6e35114 100644 --- a/brat/test/golden/error/vec_length.brat.golden +++ b/brat/test/golden/error/vec_length.brat.golden @@ -2,5 +2,5 @@ Error in test/golden/error/vec_length.brat on line 2: f(_, _, xs) = xs ^^ - Unification error: Can't make Ex checking_check_defs_1_f_LambdaChk_7_checkClauses_1_lambda.0_rhs/in_1 1 = 1 + VPar Ex checking_check_defs_1_f_LambdaChk_7_checkClauses_1_lambda.0_rhs/in_1 1 + Unification error: Can't make Ex checking_vec_length_check_defs_1_f_LambdaChk_7_checkClauses_1_lambda.0_rhs/in_1 1 = 1 + VPar Ex checking_vec_length_check_defs_1_f_LambdaChk_7_checkClauses_1_lambda.0_rhs/in_1 1 diff --git a/brat/test/golden/error/vectorise1.brat.golden b/brat/test/golden/error/vectorise1.brat.golden index 48596e5b..09770ca5 100644 --- a/brat/test/golden/error/vectorise1.brat.golden +++ b/brat/test/golden/error/vectorise1.brat.golden @@ -2,7 +2,7 @@ Error in test/golden/error/vectorise1.brat on line 2: bad1(n) = (n of (1, 2.0)), (n of 3) ^^^^^^^^ - Type error: Got: Vector of length VPar Ex checking_check_defs_1_bad1_$lhs_3_lambda_fake_source 0 + Type error: Got: Vector of length VPar Ex checking_vectorise1_check_defs_1_bad1_$lhs_3_lambda_fake_source 0 Expected: empty row diff --git a/brat/test/golden/error/vectorise3.brat.golden b/brat/test/golden/error/vectorise3.brat.golden index 7ad18984..b21f57b1 100644 --- a/brat/test/golden/error/vectorise3.brat.golden +++ b/brat/test/golden/error/vectorise3.brat.golden @@ -3,5 +3,5 @@ f(_, _, n, f, xs) = (n of f)(xs) ^^^^^^^^^^^^ Type error: Expected function 「n」 of f() to consume all of its arguments (「xs」) - but found leftovers: (b1 :: Vec(VApp VPar Ex checking_check_defs_1_f_$lhs_3_lambda_fake_source 0 B0, VPar Ex checking_check_defs_1_f_$lhs_3_lambda_fake_source 2)) + but found leftovers: (b1 :: Vec(VApp VPar Ex checking_vectorise3_check_defs_1_f_$lhs_3_lambda_fake_source 0 B0, VPar Ex checking_vectorise3_check_defs_1_f_$lhs_3_lambda_fake_source 2)) diff --git a/brat/test/golden/graph/addN.brat.graph b/brat/test/golden/graph/addN.brat.graph index 84504c1e..f665fc0b 100644 --- a/brat/test/golden/graph/addN.brat.graph +++ b/brat/test/golden/graph/addN.brat.graph @@ -1,35 +1,35 @@ Nodes: -(check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in,BratNode Source [] [("inp",Int)]) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/out_1,BratNode Target [("out",Int)] []) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (inp :: Int) -> (out :: Int) })]) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval,BratNode (Eval (Ex globals_prim_8_add 0)) [("a",Int),("b",Int)] [("c",Int)]) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1,BratNode Source [] [("n",Int)]) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2,BratNode Target [("out",Int)] []) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1 check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (n :: Int) -> (out :: Int) })]) -(check_defs_1_addN_LambdaChk_9_lambda,BratNode (PatternMatch ((TestMatchData Braty (MatchSequence {matchInputs = [(NamedPort {end = Ex check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "inp"},Int)], matchTests = [], matchOutputs = [(NamedPort {end = Ex check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "inp"},Int)]}),check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("inp",Int)] [("out",Int)]) -(check_defs_1_addN_addN.box/in,BratNode Source [] [("inp",Int)]) -(check_defs_1_addN_addN.box/out_1,BratNode Target [("out",Int)] []) -(check_defs_1_addN_addN.box_thunk_2,BratNode (Box check_defs_1_addN_addN.box/in check_defs_1_addN_addN.box/out_1) [] [("thunk",{ (inp :: Int) -> (out :: Int) })]) -(globals_Int_1,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_5,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_6,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_7,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_11,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_12,BratNode (Constructor Int) [] [("value",[])]) -(globals_decl_13_addN,BratNode Id [("thunk",{ (inp :: Int) -> (out :: Int) })] [("thunk",{ (inp :: Int) -> (out :: Int) })]) -(globals_prim_2_N,BratNode (Prim ("","N")) [] [("value",Int)]) -(globals_prim_8_add,BratNode (Prim ("","add")) [] [("thunk",{ (a :: Int), (b :: Int) -> (c :: Int) })]) +(addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in,BratNode Source [] [("inp",Int)]) +(addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/out_1,BratNode Target [("out",Int)] []) +(addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (inp :: Int) -> (out :: Int) })]) +(addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval,BratNode (Eval (Ex addN.brat_globals_prim_8_add 0)) [("a",Int),("b",Int)] [("c",Int)]) +(addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1,BratNode Source [] [("n",Int)]) +(addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2,BratNode Target [("out",Int)] []) +(addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1 addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (n :: Int) -> (out :: Int) })]) +(addN.brat_check_defs_1_addN_LambdaChk_9_lambda,BratNode (PatternMatch ((TestMatchData Braty (MatchSequence {matchInputs = [(NamedPort {end = Ex addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "inp"},Int)], matchTests = [], matchOutputs = [(NamedPort {end = Ex addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "inp"},Int)]}),addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("inp",Int)] [("out",Int)]) +(addN.brat_check_defs_1_addN_addN.box/in,BratNode Source [] [("inp",Int)]) +(addN.brat_check_defs_1_addN_addN.box/out_1,BratNode Target [("out",Int)] []) +(addN.brat_check_defs_1_addN_addN.box_thunk_2,BratNode (Box addN.brat_check_defs_1_addN_addN.box/in addN.brat_check_defs_1_addN_addN.box/out_1) [] [("thunk",{ (inp :: Int) -> (out :: Int) })]) +(addN.brat_globals_Int_1,BratNode (Constructor Int) [] [("value",[])]) +(addN.brat_globals_Int_5,BratNode (Constructor Int) [] [("value",[])]) +(addN.brat_globals_Int_6,BratNode (Constructor Int) [] [("value",[])]) +(addN.brat_globals_Int_7,BratNode (Constructor Int) [] [("value",[])]) +(addN.brat_globals_Int_11,BratNode (Constructor Int) [] [("value",[])]) +(addN.brat_globals_Int_12,BratNode (Constructor Int) [] [("value",[])]) +(addN.brat_globals_decl_13_addN,BratNode Id [("thunk",{ (inp :: Int) -> (out :: Int) })] [("thunk",{ (inp :: Int) -> (out :: Int) })]) +(addN.brat_globals_prim_2_N,BratNode (Prim ("","N")) [] [("value",Int)]) +(addN.brat_globals_prim_8_add,BratNode (Prim ("","add")) [] [("thunk",{ (a :: Int), (b :: Int) -> (c :: Int) })]) Wires: -(Ex check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 0,Int,In check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2 0) -(Ex check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1 0,Int,In check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 0) -(Ex check_defs_1_addN_LambdaChk_9_lambda 0,Int,In check_defs_1_addN_addN.box/out_1 0) -(Ex check_defs_1_addN_addN.box/in 0,Int,In check_defs_1_addN_LambdaChk_9_lambda 0) -(Ex check_defs_1_addN_addN.box_thunk_2 0,{ (inp :: Int) -> (out :: Int) },In globals_decl_13_addN 0) -(Ex globals_Int_1 0,[],In globals___kcr_N 0) -(Ex globals_Int_11 0,[],In globals___kcc_10 0) -(Ex globals_Int_12 0,[],In globals___kcc_10 1) -(Ex globals_Int_5 0,[],In globals___kcc_4 0) -(Ex globals_Int_6 0,[],In globals___kcc_4 1) -(Ex globals_Int_7 0,[],In globals___kcc_4 2) -(Ex globals_prim_2_N 0,Int,In check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 1) +(Ex addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 0,Int,In addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2 0) +(Ex addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1 0,Int,In addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 0) +(Ex addN.brat_check_defs_1_addN_LambdaChk_9_lambda 0,Int,In addN.brat_check_defs_1_addN_addN.box/out_1 0) +(Ex addN.brat_check_defs_1_addN_addN.box/in 0,Int,In addN.brat_check_defs_1_addN_LambdaChk_9_lambda 0) +(Ex addN.brat_check_defs_1_addN_addN.box_thunk_2 0,{ (inp :: Int) -> (out :: Int) },In addN.brat_globals_decl_13_addN 0) +(Ex addN.brat_globals_Int_1 0,[],In addN.brat_globals___kcr_N 0) +(Ex addN.brat_globals_Int_11 0,[],In addN.brat_globals___kcc_10 0) +(Ex addN.brat_globals_Int_12 0,[],In addN.brat_globals___kcc_10 1) +(Ex addN.brat_globals_Int_5 0,[],In addN.brat_globals___kcc_4 0) +(Ex addN.brat_globals_Int_6 0,[],In addN.brat_globals___kcc_4 1) +(Ex addN.brat_globals_Int_7 0,[],In addN.brat_globals___kcc_4 2) +(Ex addN.brat_globals_prim_2_N 0,Int,In addN.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 1) diff --git a/brat/test/golden/graph/addN2.brat.graph b/brat/test/golden/graph/addN2.brat.graph index a481cd0d..7dfa6937 100644 --- a/brat/test/golden/graph/addN2.brat.graph +++ b/brat/test/golden/graph/addN2.brat.graph @@ -1,35 +1,35 @@ Nodes: -(check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in,BratNode Source [] [("inp",Int)]) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/out_1,BratNode Target [("out",Int)] []) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (inp :: Int) -> (out :: Int) })]) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval,BratNode (Eval (Ex globals_prim_8_add 0)) [("a",Int),("b",Int)] [("c",Int)]) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1,BratNode Source [] [("n",Int)]) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2,BratNode Target [("out",Int)] []) -(check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1 check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (n :: Int) -> (out :: Int) })]) -(check_defs_1_addN_LambdaChk_9_lambda,BratNode (PatternMatch ((TestMatchData Braty (MatchSequence {matchInputs = [(NamedPort {end = Ex check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "inp"},Int)], matchTests = [], matchOutputs = [(NamedPort {end = Ex check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "inp"},Int)]}),check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("inp",Int)] [("out",Int)]) -(check_defs_1_addN_addN.box/in,BratNode Source [] [("inp",Int)]) -(check_defs_1_addN_addN.box/out_1,BratNode Target [("out",Int)] []) -(check_defs_1_addN_addN.box_thunk_2,BratNode (Box check_defs_1_addN_addN.box/in check_defs_1_addN_addN.box/out_1) [] [("thunk",{ (inp :: Int) -> (out :: Int) })]) -(globals_Int_1,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_5,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_6,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_7,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_11,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_12,BratNode (Constructor Int) [] [("value",[])]) -(globals_decl_13_addN,BratNode Id [("thunk",{ (inp :: Int) -> (out :: Int) })] [("thunk",{ (inp :: Int) -> (out :: Int) })]) -(globals_prim_2_N,BratNode (Prim ("","N")) [] [("value",Int)]) -(globals_prim_8_add,BratNode (Prim ("","add")) [] [("a1",{ (a :: Int), (b :: Int) -> (c :: Int) })]) +(addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in,BratNode Source [] [("inp",Int)]) +(addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/out_1,BratNode Target [("out",Int)] []) +(addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (inp :: Int) -> (out :: Int) })]) +(addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval,BratNode (Eval (Ex addN2.brat_globals_prim_8_add 0)) [("a",Int),("b",Int)] [("c",Int)]) +(addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1,BratNode Source [] [("n",Int)]) +(addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2,BratNode Target [("out",Int)] []) +(addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1 addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (n :: Int) -> (out :: Int) })]) +(addN2.brat_check_defs_1_addN_LambdaChk_9_lambda,BratNode (PatternMatch ((TestMatchData Braty (MatchSequence {matchInputs = [(NamedPort {end = Ex addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "inp"},Int)], matchTests = [], matchOutputs = [(NamedPort {end = Ex addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "inp"},Int)]}),addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("inp",Int)] [("out",Int)]) +(addN2.brat_check_defs_1_addN_addN.box/in,BratNode Source [] [("inp",Int)]) +(addN2.brat_check_defs_1_addN_addN.box/out_1,BratNode Target [("out",Int)] []) +(addN2.brat_check_defs_1_addN_addN.box_thunk_2,BratNode (Box addN2.brat_check_defs_1_addN_addN.box/in addN2.brat_check_defs_1_addN_addN.box/out_1) [] [("thunk",{ (inp :: Int) -> (out :: Int) })]) +(addN2.brat_globals_Int_1,BratNode (Constructor Int) [] [("value",[])]) +(addN2.brat_globals_Int_5,BratNode (Constructor Int) [] [("value",[])]) +(addN2.brat_globals_Int_6,BratNode (Constructor Int) [] [("value",[])]) +(addN2.brat_globals_Int_7,BratNode (Constructor Int) [] [("value",[])]) +(addN2.brat_globals_Int_11,BratNode (Constructor Int) [] [("value",[])]) +(addN2.brat_globals_Int_12,BratNode (Constructor Int) [] [("value",[])]) +(addN2.brat_globals_decl_13_addN,BratNode Id [("thunk",{ (inp :: Int) -> (out :: Int) })] [("thunk",{ (inp :: Int) -> (out :: Int) })]) +(addN2.brat_globals_prim_2_N,BratNode (Prim ("","N")) [] [("value",Int)]) +(addN2.brat_globals_prim_8_add,BratNode (Prim ("","add")) [] [("a1",{ (a :: Int), (b :: Int) -> (c :: Int) })]) Wires: -(Ex check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 0,Int,In check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2 0) -(Ex check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1 0,Int,In check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 0) -(Ex check_defs_1_addN_LambdaChk_9_lambda 0,Int,In check_defs_1_addN_addN.box/out_1 0) -(Ex check_defs_1_addN_addN.box/in 0,Int,In check_defs_1_addN_LambdaChk_9_lambda 0) -(Ex check_defs_1_addN_addN.box_thunk_2 0,{ (inp :: Int) -> (out :: Int) },In globals_decl_13_addN 0) -(Ex globals_Int_1 0,[],In globals___kcr_N 0) -(Ex globals_Int_11 0,[],In globals___kcc_10 0) -(Ex globals_Int_12 0,[],In globals___kcc_10 1) -(Ex globals_Int_5 0,[],In globals___kcc_4 0) -(Ex globals_Int_6 0,[],In globals___kcc_4 1) -(Ex globals_Int_7 0,[],In globals___kcc_4 2) -(Ex globals_prim_2_N 0,Int,In check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 1) +(Ex addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 0,Int,In addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/out_2 0) +(Ex addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_lambda.0_rhs/in_1 0,Int,In addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 0) +(Ex addN2.brat_check_defs_1_addN_LambdaChk_9_lambda 0,Int,In addN2.brat_check_defs_1_addN_addN.box/out_1 0) +(Ex addN2.brat_check_defs_1_addN_addN.box/in 0,Int,In addN2.brat_check_defs_1_addN_LambdaChk_9_lambda 0) +(Ex addN2.brat_check_defs_1_addN_addN.box_thunk_2 0,{ (inp :: Int) -> (out :: Int) },In addN2.brat_globals_decl_13_addN 0) +(Ex addN2.brat_globals_Int_1 0,[],In addN2.brat_globals___kcr_N 0) +(Ex addN2.brat_globals_Int_11 0,[],In addN2.brat_globals___kcc_10 0) +(Ex addN2.brat_globals_Int_12 0,[],In addN2.brat_globals___kcc_10 1) +(Ex addN2.brat_globals_Int_5 0,[],In addN2.brat_globals___kcc_4 0) +(Ex addN2.brat_globals_Int_6 0,[],In addN2.brat_globals___kcc_4 1) +(Ex addN2.brat_globals_Int_7 0,[],In addN2.brat_globals___kcc_4 2) +(Ex addN2.brat_globals_prim_2_N 0,Int,In addN2.brat_check_defs_1_addN_LambdaChk_9_checkClauses_1_$rhs_4_Eval 1) diff --git a/brat/test/golden/graph/cons.brat.graph b/brat/test/golden/graph/cons.brat.graph index 06981276..ef921c7b 100644 --- a/brat/test/golden/graph/cons.brat.graph +++ b/brat/test/golden/graph/cons.brat.graph @@ -1,53 +1,53 @@ Nodes: -(check_defs_1_three_2_$rhs_check'Con_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_three_2_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_three_2_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 2))] [("value",Vec(Int, 3))]) -(check_defs_1_three_2_$rhs_check'Con_const_3,BratNode (Const 0) [] [("value",Int)]) -(check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) -(check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst,BratNode (Const 2) [] [("value",Nat)]) -(check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) -(check_defs_1_two_$rhs_check'Con_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_two_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_two_$rhs_check'Con_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_two_$rhs_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_two_$rhs_check'Con_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_two_$rhs_check'Con_check'Con_4_check'Con_4_nil_2,BratNode (Constructor nil) [] [("value",Vec(Int, 0))]) -(check_defs_1_two_$rhs_check'Con_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 0))] [("value",Vec(Int, 1))]) -(check_defs_1_two_$rhs_check'Con_check'Con_4_const_3,BratNode (Const 2) [] [("value",Int)]) -(check_defs_1_two_$rhs_check'Con_check'Con_4_typeEqsTail_1_buildConst_1,BratNode (Const 0) [] [("value",Nat)]) -(check_defs_1_two_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 1))] [("value",Vec(Int, 2))]) -(check_defs_1_two_$rhs_check'Con_const_3,BratNode (Const 1) [] [("value",Int)]) -(check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) -(check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst,BratNode (Const 1) [] [("value",Nat)]) -(check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) -(globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_7,BratNode (Constructor Int) [] [("value",[])]) -(globals_Vec_1,BratNode (Constructor Vec) [("X",[]),("n",Nat)] [("value",[])]) -(globals_Vec_6,BratNode (Constructor Vec) [("X",[]),("n",Nat)] [("value",[])]) -(globals_const_3,BratNode (Const 2) [] [("value",Nat)]) -(globals_const_8,BratNode (Const 3) [] [("value",Nat)]) -(globals_decl_4_two,BratNode Id [("a1",Vec(Int, 2))] [("a1",Vec(Int, 2))]) -(globals_decl_9_three,BratNode Id [("a1",Vec(Int, 3))] [("a1",Vec(Int, 3))]) +(cons.brat_check_defs_1_three_2_$rhs_check'Con_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(cons.brat_check_defs_1_three_2_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(cons.brat_check_defs_1_three_2_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 2))] [("value",Vec(Int, 3))]) +(cons.brat_check_defs_1_three_2_$rhs_check'Con_const_3,BratNode (Const 0) [] [("value",Int)]) +(cons.brat_check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) +(cons.brat_check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst,BratNode (Const 2) [] [("value",Nat)]) +(cons.brat_check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) +(cons.brat_check_defs_1_two_$rhs_check'Con_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(cons.brat_check_defs_1_two_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_check'Con_4_nil_2,BratNode (Constructor nil) [] [("value",Vec(Int, 0))]) +(cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 0))] [("value",Vec(Int, 1))]) +(cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_const_3,BratNode (Const 2) [] [("value",Int)]) +(cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_typeEqsTail_1_buildConst_1,BratNode (Const 0) [] [("value",Nat)]) +(cons.brat_check_defs_1_two_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 1))] [("value",Vec(Int, 2))]) +(cons.brat_check_defs_1_two_$rhs_check'Con_const_3,BratNode (Const 1) [] [("value",Int)]) +(cons.brat_check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) +(cons.brat_check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst,BratNode (Const 1) [] [("value",Nat)]) +(cons.brat_check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) +(cons.brat_globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) +(cons.brat_globals_Int_7,BratNode (Constructor Int) [] [("value",[])]) +(cons.brat_globals_Vec_1,BratNode (Constructor Vec) [("X",[]),("n",Nat)] [("value",[])]) +(cons.brat_globals_Vec_6,BratNode (Constructor Vec) [("X",[]),("n",Nat)] [("value",[])]) +(cons.brat_globals_const_3,BratNode (Const 2) [] [("value",Nat)]) +(cons.brat_globals_const_8,BratNode (Const 3) [] [("value",Nat)]) +(cons.brat_globals_decl_4_two,BratNode Id [("a1",Vec(Int, 2))] [("a1",Vec(Int, 2))]) +(cons.brat_globals_decl_9_three,BratNode Id [("a1",Vec(Int, 3))] [("a1",Vec(Int, 3))]) Wires: -(Ex check_defs_1_three_2_$rhs_check'Con_cons_2 0,Vec(Int, 3),In globals_decl_9_three 0) -(Ex check_defs_1_three_2_$rhs_check'Con_const_3 0,Int,In check_defs_1_three_2_$rhs_check'Con_cons_2 0) -(Ex check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0,Nat,In check_defs_1_three_2_$rhs_check'Con_$!_numpat2val_1 0) -(Ex check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst 0,Nat,In check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0) -(Ex check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 1) -(Ex check_defs_1_two_$rhs_check'Con_check'Con_4_check'Con_4_nil_2 0,Vec(Int, 0),In check_defs_1_two_$rhs_check'Con_check'Con_4_cons_2 1) -(Ex check_defs_1_two_$rhs_check'Con_check'Con_4_cons_2 0,Vec(Int, 1),In check_defs_1_two_$rhs_check'Con_cons_2 1) -(Ex check_defs_1_two_$rhs_check'Con_check'Con_4_const_3 0,Int,In check_defs_1_two_$rhs_check'Con_check'Con_4_cons_2 0) -(Ex check_defs_1_two_$rhs_check'Con_check'Con_4_typeEqsTail_1_buildConst_1 0,Nat,In check_defs_1_two_$rhs_check'Con_check'Con_4_$!_numpat2val_1 0) -(Ex check_defs_1_two_$rhs_check'Con_cons_2 0,Vec(Int, 2),In globals_decl_4_two 0) -(Ex check_defs_1_two_$rhs_check'Con_const_3 0,Int,In check_defs_1_two_$rhs_check'Con_cons_2 0) -(Ex check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0,Nat,In check_defs_1_two_$rhs_check'Con_$!_numpat2val_1 0) -(Ex check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst 0,Nat,In check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0) -(Ex check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 1) -(Ex globals_Int_2 0,[],In globals_Vec_1 0) -(Ex globals_Int_7 0,[],In globals_Vec_6 0) -(Ex globals_Vec_1 0,[],In globals___kca_two 0) -(Ex globals_Vec_6 0,[],In globals___kca_three_5 0) -(Ex globals_const_3 0,Nat,In globals_Vec_1 1) -(Ex globals_const_8 0,Nat,In globals_Vec_6 1) -(Ex globals_decl_4_two 0,Vec(Int, 2),In check_defs_1_three_2_$rhs_check'Con_cons_2 1) +(Ex cons.brat_check_defs_1_three_2_$rhs_check'Con_cons_2 0,Vec(Int, 3),In cons.brat_globals_decl_9_three 0) +(Ex cons.brat_check_defs_1_three_2_$rhs_check'Con_const_3 0,Int,In cons.brat_check_defs_1_three_2_$rhs_check'Con_cons_2 0) +(Ex cons.brat_check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0,Nat,In cons.brat_check_defs_1_three_2_$rhs_check'Con_$!_numpat2val_1 0) +(Ex cons.brat_check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst 0,Nat,In cons.brat_check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0) +(Ex cons.brat_check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In cons.brat_check_defs_1_three_2_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 1) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_check'Con_4_nil_2 0,Vec(Int, 0),In cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_cons_2 1) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_cons_2 0,Vec(Int, 1),In cons.brat_check_defs_1_two_$rhs_check'Con_cons_2 1) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_const_3 0,Int,In cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_cons_2 0) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_typeEqsTail_1_buildConst_1 0,Nat,In cons.brat_check_defs_1_two_$rhs_check'Con_check'Con_4_$!_numpat2val_1 0) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_cons_2 0,Vec(Int, 2),In cons.brat_globals_decl_4_two 0) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_const_3 0,Int,In cons.brat_check_defs_1_two_$rhs_check'Con_cons_2 0) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0,Nat,In cons.brat_check_defs_1_two_$rhs_check'Con_$!_numpat2val_1 0) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst 0,Nat,In cons.brat_check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0) +(Ex cons.brat_check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In cons.brat_check_defs_1_two_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 1) +(Ex cons.brat_globals_Int_2 0,[],In cons.brat_globals_Vec_1 0) +(Ex cons.brat_globals_Int_7 0,[],In cons.brat_globals_Vec_6 0) +(Ex cons.brat_globals_Vec_1 0,[],In cons.brat_globals___kca_two 0) +(Ex cons.brat_globals_Vec_6 0,[],In cons.brat_globals___kca_three_5 0) +(Ex cons.brat_globals_const_3 0,Nat,In cons.brat_globals_Vec_1 1) +(Ex cons.brat_globals_const_8 0,Nat,In cons.brat_globals_Vec_6 1) +(Ex cons.brat_globals_decl_4_two 0,Vec(Int, 2),In cons.brat_check_defs_1_three_2_$rhs_check'Con_cons_2 1) diff --git a/brat/test/golden/graph/id.brat.graph b/brat/test/golden/graph/id.brat.graph index 8467bd30..7d16ffe1 100644 --- a/brat/test/golden/graph/id.brat.graph +++ b/brat/test/golden/graph/id.brat.graph @@ -1,22 +1,22 @@ Nodes: -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in,KernelNode Source [] [("a",Qubit)]) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1,KernelNode Target [("b",Qubit)] []) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (a :: Qubit) -o (b :: Qubit) })]) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1,KernelNode Source [] [("q",Qubit)]) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2,KernelNode Target [("b",Qubit)] []) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (q :: Qubit) -o (b :: Qubit) })]) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda,KernelNode (PatternMatch ((TestMatchData Kerny (MatchSequence {matchInputs = [(NamedPort {end = Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit)], matchTests = [], matchOutputs = [(NamedPort {end = Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit)]}),check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("a",Qubit)] [("b",Qubit)]) -(check_defs_1_main_$rhs_check'Th_thunk/in,KernelNode Source [] [("a",Qubit)]) -(check_defs_1_main_$rhs_check'Th_thunk/out_1,KernelNode Target [("b",Qubit)] []) -(check_defs_1_main_$rhs_check'Th_thunk_thunk_2,BratNode (Box check_defs_1_main_$rhs_check'Th_thunk/in check_defs_1_main_$rhs_check'Th_thunk/out_1) [] [("thunk",{ (a :: Qubit) -o (b :: Qubit) })]) -(globals_Qubit_2,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_4,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_decl_5_main,BratNode Id [("a1",{ (a :: Qubit) -o (b :: Qubit) })] [("a1",{ (a :: Qubit) -o (b :: Qubit) })]) +(id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in,KernelNode Source [] [("a",Qubit)]) +(id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1,KernelNode Target [("b",Qubit)] []) +(id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (a :: Qubit) -o (b :: Qubit) })]) +(id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1,KernelNode Source [] [("q",Qubit)]) +(id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2,KernelNode Target [("b",Qubit)] []) +(id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (q :: Qubit) -o (b :: Qubit) })]) +(id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda,KernelNode (PatternMatch ((TestMatchData Kerny (MatchSequence {matchInputs = [(NamedPort {end = Ex id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit)], matchTests = [], matchOutputs = [(NamedPort {end = Ex id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit)]}),id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("a",Qubit)] [("b",Qubit)]) +(id.brat_check_defs_1_main_$rhs_check'Th_thunk/in,KernelNode Source [] [("a",Qubit)]) +(id.brat_check_defs_1_main_$rhs_check'Th_thunk/out_1,KernelNode Target [("b",Qubit)] []) +(id.brat_check_defs_1_main_$rhs_check'Th_thunk_thunk_2,BratNode (Box id.brat_check_defs_1_main_$rhs_check'Th_thunk/in id.brat_check_defs_1_main_$rhs_check'Th_thunk/out_1) [] [("thunk",{ (a :: Qubit) -o (b :: Qubit) })]) +(id.brat_globals_Qubit_2,BratNode (Constructor Qubit) [] [("value",[])]) +(id.brat_globals_Qubit_4,BratNode (Constructor Qubit) [] [("value",[])]) +(id.brat_globals_decl_5_main,BratNode Id [("a1",{ (a :: Qubit) -o (b :: Qubit) })] [("a1",{ (a :: Qubit) -o (b :: Qubit) })]) Wires: -(Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 0,Qubit,In check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 0) -(Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 0,Qubit,In check_defs_1_main_$rhs_check'Th_thunk/out_1 0) -(Ex check_defs_1_main_$rhs_check'Th_thunk/in 0,Qubit,In check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 0) -(Ex check_defs_1_main_$rhs_check'Th_thunk_thunk_2 0,{ (a :: Qubit) -o (b :: Qubit) },In globals_decl_5_main 0) -(Ex globals_Qubit_2 0,[],In globals___kcr__1 0) -(Ex globals_Qubit_4 0,[],In globals___kcr__3 0) +(Ex id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 0,Qubit,In id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 0) +(Ex id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 0,Qubit,In id.brat_check_defs_1_main_$rhs_check'Th_thunk/out_1 0) +(Ex id.brat_check_defs_1_main_$rhs_check'Th_thunk/in 0,Qubit,In id.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 0) +(Ex id.brat_check_defs_1_main_$rhs_check'Th_thunk_thunk_2 0,{ (a :: Qubit) -o (b :: Qubit) },In id.brat_globals_decl_5_main 0) +(Ex id.brat_globals_Qubit_2 0,[],In id.brat_globals___kcr__1 0) +(Ex id.brat_globals_Qubit_4 0,[],In id.brat_globals___kcr__3 0) diff --git a/brat/test/golden/graph/kernel.brat.graph b/brat/test/golden/graph/kernel.brat.graph index e918270f..e71d4ba0 100644 --- a/brat/test/golden/graph/kernel.brat.graph +++ b/brat/test/golden/graph/kernel.brat.graph @@ -1,63 +1,63 @@ Nodes: -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in,KernelNode Source [] [("a1",Qubit),("b1",Qubit),("c1",Qubit)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1,KernelNode Target [("a1",Vec(Qubit, 3))] []) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2,KernelNode (Constructor nil) [] [("value",Vec(Qubit, 0))]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_cons_2,KernelNode (Constructor cons) [("head",Qubit),("tail",Vec(Qubit, 0))] [("value",Vec(Qubit, 1))]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_typeEqsTail_1_buildConst_1,BratNode (Const 0) [] [("value",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_cons_2,KernelNode (Constructor cons) [("head",Qubit),("tail",Vec(Qubit, 1))] [("value",Vec(Qubit, 2))]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst,BratNode (Const 1) [] [("value",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_cons_2,KernelNode (Constructor cons) [("head",Qubit),("tail",Vec(Qubit, 2))] [("value",Vec(Qubit, 3))]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_buildConst,BratNode (Const 2) [] [("value",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1,KernelNode Source [] [("q0",Qubit),("q1",Qubit),("q2",Qubit)]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2,KernelNode Target [("a1",Vec(Qubit, 3))] []) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (q0 :: Qubit), (q1 :: Qubit), (q2 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })]) -(check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda,KernelNode (PatternMatch ((TestMatchData Kerny (MatchSequence {matchInputs = [(NamedPort {end = Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a1"},Qubit),(NamedPort {end = Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 1, portName = "b1"},Qubit),(NamedPort {end = Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 2, portName = "c1"},Qubit)], matchTests = [], matchOutputs = [(NamedPort {end = Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a1"},Qubit),(NamedPort {end = Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 1, portName = "b1"},Qubit),(NamedPort {end = Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 2, portName = "c1"},Qubit)]}),check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("a1",Qubit),("b1",Qubit),("c1",Qubit)] [("a1",Vec(Qubit, 3))]) -(check_defs_1_id3_$rhs_check'Th_thunk/in,KernelNode Source [] [("a1",Qubit),("b1",Qubit),("c1",Qubit)]) -(check_defs_1_id3_$rhs_check'Th_thunk/out_1,KernelNode Target [("a1",Vec(Qubit, 3))] []) -(check_defs_1_id3_$rhs_check'Th_thunk_thunk_2,BratNode (Box check_defs_1_id3_$rhs_check'Th_thunk/in check_defs_1_id3_$rhs_check'Th_thunk/out_1) [] [("thunk",{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })]) -(globals_Qubit_2,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_3,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_4,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_7,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Vec_6,BratNode (Constructor Vec) [("X",[]),("n",Nat)] [("value",[])]) -(globals_const_8,BratNode (Const 3) [] [("value",Nat)]) -(globals_decl_9_id3,BratNode Id [("a1",{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })] [("a1",{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in,KernelNode Source [] [("a1",Qubit),("b1",Qubit),("c1",Qubit)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1,KernelNode Target [("a1",Vec(Qubit, 3))] []) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2,KernelNode (Constructor nil) [] [("value",Vec(Qubit, 0))]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_cons_2,KernelNode (Constructor cons) [("head",Qubit),("tail",Vec(Qubit, 0))] [("value",Vec(Qubit, 1))]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_typeEqsTail_1_buildConst_1,BratNode (Const 0) [] [("value",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_cons_2,KernelNode (Constructor cons) [("head",Qubit),("tail",Vec(Qubit, 1))] [("value",Vec(Qubit, 2))]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst,BratNode (Const 1) [] [("value",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_cons_2,KernelNode (Constructor cons) [("head",Qubit),("tail",Vec(Qubit, 2))] [("value",Vec(Qubit, 3))]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_buildConst,BratNode (Const 2) [] [("value",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1,KernelNode Source [] [("q0",Qubit),("q1",Qubit),("q2",Qubit)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2,KernelNode Target [("a1",Vec(Qubit, 3))] []) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (q0 :: Qubit), (q1 :: Qubit), (q2 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda,KernelNode (PatternMatch ((TestMatchData Kerny (MatchSequence {matchInputs = [(NamedPort {end = Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a1"},Qubit),(NamedPort {end = Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 1, portName = "b1"},Qubit),(NamedPort {end = Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 2, portName = "c1"},Qubit)], matchTests = [], matchOutputs = [(NamedPort {end = Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a1"},Qubit),(NamedPort {end = Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 1, portName = "b1"},Qubit),(NamedPort {end = Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 2, portName = "c1"},Qubit)]}),kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("a1",Qubit),("b1",Qubit),("c1",Qubit)] [("a1",Vec(Qubit, 3))]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk/in,KernelNode Source [] [("a1",Qubit),("b1",Qubit),("c1",Qubit)]) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk/out_1,KernelNode Target [("a1",Vec(Qubit, 3))] []) +(kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk_thunk_2,BratNode (Box kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk/in kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk/out_1) [] [("thunk",{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })]) +(kernel.brat_globals_Qubit_2,BratNode (Constructor Qubit) [] [("value",[])]) +(kernel.brat_globals_Qubit_3,BratNode (Constructor Qubit) [] [("value",[])]) +(kernel.brat_globals_Qubit_4,BratNode (Constructor Qubit) [] [("value",[])]) +(kernel.brat_globals_Qubit_7,BratNode (Constructor Qubit) [] [("value",[])]) +(kernel.brat_globals_Vec_6,BratNode (Constructor Vec) [("X",[]),("n",Nat)] [("value",[])]) +(kernel.brat_globals_const_8,BratNode (Const 3) [] [("value",Nat)]) +(kernel.brat_globals_decl_9_id3,BratNode Id [("a1",{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })] [("a1",{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) })]) Wires: -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2 0,Vec(Qubit, 0),In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_cons_2 1) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_cons_2 0,Vec(Qubit, 1),In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_cons_2 1) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_typeEqsTail_1_buildConst_1 0,Nat,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_$!_numpat2val_1 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_cons_2 0,Vec(Qubit, 2),In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_cons_2 1) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 0,Nat,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_$!_numpat2val_1 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst 0,Nat,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 1) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_cons_2 0,Vec(Qubit, 3),In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_Add_1 0,Nat,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_$!_numpat2val_1 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_buildConst 0,Nat,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_Add_1 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_Add_1 1) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 0,Qubit,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_cons_2 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 1,Qubit,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_cons_2 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 2,Qubit,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_cons_2 0) -(Ex check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda 0,Vec(Qubit, 3),In check_defs_1_id3_$rhs_check'Th_thunk/out_1 0) -(Ex check_defs_1_id3_$rhs_check'Th_thunk/in 0,Qubit,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda 0) -(Ex check_defs_1_id3_$rhs_check'Th_thunk/in 1,Qubit,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda 1) -(Ex check_defs_1_id3_$rhs_check'Th_thunk/in 2,Qubit,In check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda 2) -(Ex check_defs_1_id3_$rhs_check'Th_thunk_thunk_2 0,{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) },In globals_decl_9_id3 0) -(Ex globals_Qubit_2 0,[],In globals___kcr__1 0) -(Ex globals_Qubit_3 0,[],In globals___kcr__1 1) -(Ex globals_Qubit_4 0,[],In globals___kcr__1 2) -(Ex globals_Qubit_7 0,[],In globals_Vec_6 0) -(Ex globals_Vec_6 0,[],In globals___kcr__5 0) -(Ex globals_const_8 0,Nat,In globals_Vec_6 1) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2 0,Vec(Qubit, 0),In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_cons_2 1) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_cons_2 0,Vec(Qubit, 1),In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_cons_2 1) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_typeEqsTail_1_buildConst_1 0,Nat,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_$!_numpat2val_1 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_cons_2 0,Vec(Qubit, 2),In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_cons_2 1) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 0,Nat,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_$!_numpat2val_1 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst 0,Nat,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 1) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_cons_2 0,Vec(Qubit, 3),In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_Add_1 0,Nat,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_$!_numpat2val_1 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_buildConst 0,Nat,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_Add_1 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_typeEqsTail_1_$!_1_Add_1 1) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 0,Qubit,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_cons_2 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 1,Qubit,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_cons_2 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 2,Qubit,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_check'Con_check'Con_4_check'Con_4_cons_2 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda 0,Vec(Qubit, 3),In kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk/out_1 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk/in 0,Qubit,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda 0) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk/in 1,Qubit,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda 1) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk/in 2,Qubit,In kernel.brat_check_defs_1_id3_$rhs_check'Th_LambdaChk_6_lambda 2) +(Ex kernel.brat_check_defs_1_id3_$rhs_check'Th_thunk_thunk_2 0,{ (a1 :: Qubit), (b1 :: Qubit), (c1 :: Qubit) -o (a1 :: Vec(Qubit, 3)) },In kernel.brat_globals_decl_9_id3 0) +(Ex kernel.brat_globals_Qubit_2 0,[],In kernel.brat_globals___kcr__1 0) +(Ex kernel.brat_globals_Qubit_3 0,[],In kernel.brat_globals___kcr__1 1) +(Ex kernel.brat_globals_Qubit_4 0,[],In kernel.brat_globals___kcr__1 2) +(Ex kernel.brat_globals_Qubit_7 0,[],In kernel.brat_globals_Vec_6 0) +(Ex kernel.brat_globals_Vec_6 0,[],In kernel.brat_globals___kcr__5 0) +(Ex kernel.brat_globals_const_8 0,Nat,In kernel.brat_globals_Vec_6 1) diff --git a/brat/test/golden/graph/list.brat.graph b/brat/test/golden/graph/list.brat.graph index fc6e7300..825abd27 100644 --- a/brat/test/golden/graph/list.brat.graph +++ b/brat/test/golden/graph/list.brat.graph @@ -1,26 +1,26 @@ Nodes: -(check_defs_1_xs_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2,BratNode (Constructor nil) [] [("value",List(Int))]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",List(Int))] [("value",List(Int))]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_const_3,BratNode (Const 3) [] [("value",Int)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",List(Int))] [("value",List(Int))]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_const_3,BratNode (Const 2) [] [("value",Int)]) -(check_defs_1_xs_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",List(Int))] [("value",List(Int))]) -(check_defs_1_xs_$rhs_check'Con_const_3,BratNode (Const 1) [] [("value",Int)]) -(globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) -(globals_List_1,BratNode (Constructor List) [("listValue",[])] [("value",[])]) -(globals_decl_3_xs,BratNode Id [("a1",List(Int))] [("a1",List(Int))]) +(list.brat_check_defs_1_xs_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2,BratNode (Constructor nil) [] [("value",List(Int))]) +(list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",List(Int))] [("value",List(Int))]) +(list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_const_3,BratNode (Const 3) [] [("value",Int)]) +(list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",List(Int))] [("value",List(Int))]) +(list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_const_3,BratNode (Const 2) [] [("value",Int)]) +(list.brat_check_defs_1_xs_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",List(Int))] [("value",List(Int))]) +(list.brat_check_defs_1_xs_$rhs_check'Con_const_3,BratNode (Const 1) [] [("value",Int)]) +(list.brat_globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) +(list.brat_globals_List_1,BratNode (Constructor List) [("listValue",[])] [("value",[])]) +(list.brat_globals_decl_3_xs,BratNode Id [("a1",List(Int))] [("a1",List(Int))]) Wires: -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2 0,List(Int),In check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 1) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 0,List(Int),In check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 1) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_const_3 0,Int,In check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 0) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0,List(Int),In check_defs_1_xs_$rhs_check'Con_cons_2 1) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_const_3 0,Int,In check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0) -(Ex check_defs_1_xs_$rhs_check'Con_cons_2 0,List(Int),In globals_decl_3_xs 0) -(Ex check_defs_1_xs_$rhs_check'Con_const_3 0,Int,In check_defs_1_xs_$rhs_check'Con_cons_2 0) -(Ex globals_Int_2 0,[],In globals_List_1 0) -(Ex globals_List_1 0,[],In globals___kca_xs 0) +(Ex list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2 0,List(Int),In list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 1) +(Ex list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 0,List(Int),In list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 1) +(Ex list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_const_3 0,Int,In list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 0) +(Ex list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0,List(Int),In list.brat_check_defs_1_xs_$rhs_check'Con_cons_2 1) +(Ex list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_const_3 0,Int,In list.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0) +(Ex list.brat_check_defs_1_xs_$rhs_check'Con_cons_2 0,List(Int),In list.brat_globals_decl_3_xs 0) +(Ex list.brat_check_defs_1_xs_$rhs_check'Con_const_3 0,Int,In list.brat_check_defs_1_xs_$rhs_check'Con_cons_2 0) +(Ex list.brat_globals_Int_2 0,[],In list.brat_globals_List_1 0) +(Ex list.brat_globals_List_1 0,[],In list.brat_globals___kca_xs 0) diff --git a/brat/test/golden/graph/num.brat.graph b/brat/test/golden/graph/num.brat.graph index 23ffb004..099d7e13 100644 --- a/brat/test/golden/graph/num.brat.graph +++ b/brat/test/golden/graph/num.brat.graph @@ -1,17 +1,17 @@ Nodes: -(check_defs_1_m_2_$rhs_check'Con_const_2,BratNode (Const -3) [] [("value",Int)]) -(check_defs_1_m_2_$rhs_check'Con_doub_1,BratNode (Constructor doub) [("value",Int)] [("value",Int)]) -(check_defs_1_n_$rhs_check'Con_const_2,BratNode (Const 2) [] [("value",Nat)]) -(check_defs_1_n_$rhs_check'Con_succ_1,BratNode (Constructor succ) [("value",Nat)] [("value",Nat)]) -(globals_Int_4,BratNode (Constructor Int) [] [("value",[])]) -(globals_Nat_1,BratNode (Constructor Nat) [] [("value",[])]) -(globals_decl_2_n,BratNode Id [("a1",Nat)] [("a1",Nat)]) -(globals_decl_5_m,BratNode Id [("a1",Int)] [("a1",Int)]) +(num.brat_check_defs_1_m_2_$rhs_check'Con_const_2,BratNode (Const -3) [] [("value",Int)]) +(num.brat_check_defs_1_m_2_$rhs_check'Con_doub_1,BratNode (Constructor doub) [("value",Int)] [("value",Int)]) +(num.brat_check_defs_1_n_$rhs_check'Con_const_2,BratNode (Const 2) [] [("value",Nat)]) +(num.brat_check_defs_1_n_$rhs_check'Con_succ_1,BratNode (Constructor succ) [("value",Nat)] [("value",Nat)]) +(num.brat_globals_Int_4,BratNode (Constructor Int) [] [("value",[])]) +(num.brat_globals_Nat_1,BratNode (Constructor Nat) [] [("value",[])]) +(num.brat_globals_decl_2_n,BratNode Id [("a1",Nat)] [("a1",Nat)]) +(num.brat_globals_decl_5_m,BratNode Id [("a1",Int)] [("a1",Int)]) Wires: -(Ex check_defs_1_m_2_$rhs_check'Con_const_2 0,Int,In check_defs_1_m_2_$rhs_check'Con_doub_1 0) -(Ex check_defs_1_m_2_$rhs_check'Con_doub_1 0,Int,In globals_decl_5_m 0) -(Ex check_defs_1_n_$rhs_check'Con_const_2 0,Nat,In check_defs_1_n_$rhs_check'Con_succ_1 0) -(Ex check_defs_1_n_$rhs_check'Con_succ_1 0,Nat,In globals_decl_2_n 0) -(Ex globals_Int_4 0,[],In globals___kca_m_3 0) -(Ex globals_Nat_1 0,[],In globals___kca_n 0) +(Ex num.brat_check_defs_1_m_2_$rhs_check'Con_const_2 0,Int,In num.brat_check_defs_1_m_2_$rhs_check'Con_doub_1 0) +(Ex num.brat_check_defs_1_m_2_$rhs_check'Con_doub_1 0,Int,In num.brat_globals_decl_5_m 0) +(Ex num.brat_check_defs_1_n_$rhs_check'Con_const_2 0,Nat,In num.brat_check_defs_1_n_$rhs_check'Con_succ_1 0) +(Ex num.brat_check_defs_1_n_$rhs_check'Con_succ_1 0,Nat,In num.brat_globals_decl_2_n 0) +(Ex num.brat_globals_Int_4 0,[],In num.brat_globals___kca_m_3 0) +(Ex num.brat_globals_Nat_1 0,[],In num.brat_globals___kca_n 0) diff --git a/brat/test/golden/graph/one.brat.graph b/brat/test/golden/graph/one.brat.graph index 29d4122f..73368464 100644 --- a/brat/test/golden/graph/one.brat.graph +++ b/brat/test/golden/graph/one.brat.graph @@ -1,8 +1,8 @@ Nodes: -(check_defs_1_one_$rhs_const,BratNode (Const 1) [] [("value",Int)]) -(globals_Int_1,BratNode (Constructor Int) [] [("value",[])]) -(globals_decl_2_one,BratNode Id [("n",Int)] [("n",Int)]) +(one.brat_check_defs_1_one_$rhs_const,BratNode (Const 1) [] [("value",Int)]) +(one.brat_globals_Int_1,BratNode (Constructor Int) [] [("value",[])]) +(one.brat_globals_decl_2_one,BratNode Id [("n",Int)] [("n",Int)]) Wires: -(Ex check_defs_1_one_$rhs_const 0,Int,In globals_decl_2_one 0) -(Ex globals_Int_1 0,[],In globals___kca_one 0) +(Ex one.brat_check_defs_1_one_$rhs_const 0,Int,In one.brat_globals_decl_2_one 0) +(Ex one.brat_globals_Int_1 0,[],In one.brat_globals___kca_one 0) diff --git a/brat/test/golden/graph/pair.brat.graph b/brat/test/golden/graph/pair.brat.graph index 88e697ab..1d06715a 100644 --- a/brat/test/golden/graph/pair.brat.graph +++ b/brat/test/golden/graph/pair.brat.graph @@ -1,28 +1,28 @@ Nodes: -(check_defs_1_xs_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_$!_pat2val_1,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_pat2val_1,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_3_true_1,BratNode (Constructor true) [] [("value",Bool)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_nil_1,BratNode (Constructor nil) [] [("value",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Bool),("tail",[])] [("value",[Bool])]) -(check_defs_1_xs_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",[Bool])] [("value",[Int,Bool])]) -(check_defs_1_xs_$rhs_check'Con_const_3,BratNode (Const 1) [] [("value",Int)]) -(globals_Bool_4,BratNode (Constructor Bool) [] [("value",[])]) -(globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) -(globals_cons_1,BratNode (Constructor cons) [("head",[]),("tail",[])] [("value",[])]) -(globals_cons_3,BratNode (Constructor cons) [("head",[]),("tail",[])] [("value",[])]) -(globals_decl_6_xs,BratNode Id [("a1",[Int,Bool])] [("a1",[Int,Bool])]) -(globals_nil_5,BratNode (Constructor nil) [] [("value",[])]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_$!_pat2val_1,BratNode Id [("",[])] [("",[])]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_pat2val_1,BratNode Id [("",[])] [("",[])]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_3_true_1,BratNode (Constructor true) [] [("value",Bool)]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_nil_1,BratNode (Constructor nil) [] [("value",[])]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Bool),("tail",[])] [("value",[Bool])]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",[Bool])] [("value",[Int,Bool])]) +(pair.brat_check_defs_1_xs_$rhs_check'Con_const_3,BratNode (Const 1) [] [("value",Int)]) +(pair.brat_globals_Bool_4,BratNode (Constructor Bool) [] [("value",[])]) +(pair.brat_globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) +(pair.brat_globals_cons_1,BratNode (Constructor cons) [("head",[]),("tail",[])] [("value",[])]) +(pair.brat_globals_cons_3,BratNode (Constructor cons) [("head",[]),("tail",[])] [("value",[])]) +(pair.brat_globals_decl_6_xs,BratNode Id [("a1",[Int,Bool])] [("a1",[Int,Bool])]) +(pair.brat_globals_nil_5,BratNode (Constructor nil) [] [("value",[])]) Wires: -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_3_true_1 0,Bool,In check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_nil_1 0,[],In check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 1) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0,[Bool],In check_defs_1_xs_$rhs_check'Con_cons_2 1) -(Ex check_defs_1_xs_$rhs_check'Con_cons_2 0,[Int,Bool],In globals_decl_6_xs 0) -(Ex check_defs_1_xs_$rhs_check'Con_const_3 0,Int,In check_defs_1_xs_$rhs_check'Con_cons_2 0) -(Ex globals_Bool_4 0,[],In globals_cons_3 0) -(Ex globals_Int_2 0,[],In globals_cons_1 0) -(Ex globals_cons_1 0,[],In globals___kca_xs 0) -(Ex globals_cons_3 0,[],In globals_cons_1 1) -(Ex globals_nil_5 0,[],In globals_cons_3 1) +(Ex pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_3_true_1 0,Bool,In pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0) +(Ex pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_nil_1 0,[],In pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 1) +(Ex pair.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0,[Bool],In pair.brat_check_defs_1_xs_$rhs_check'Con_cons_2 1) +(Ex pair.brat_check_defs_1_xs_$rhs_check'Con_cons_2 0,[Int,Bool],In pair.brat_globals_decl_6_xs 0) +(Ex pair.brat_check_defs_1_xs_$rhs_check'Con_const_3 0,Int,In pair.brat_check_defs_1_xs_$rhs_check'Con_cons_2 0) +(Ex pair.brat_globals_Bool_4 0,[],In pair.brat_globals_cons_3 0) +(Ex pair.brat_globals_Int_2 0,[],In pair.brat_globals_cons_1 0) +(Ex pair.brat_globals_cons_1 0,[],In pair.brat_globals___kca_xs 0) +(Ex pair.brat_globals_cons_3 0,[],In pair.brat_globals_cons_1 1) +(Ex pair.brat_globals_nil_5 0,[],In pair.brat_globals_cons_3 1) diff --git a/brat/test/golden/graph/rx.brat.graph b/brat/test/golden/graph/rx.brat.graph index e3ff04df..f0767503 100644 --- a/brat/test/golden/graph/rx.brat.graph +++ b/brat/test/golden/graph/rx.brat.graph @@ -1,53 +1,53 @@ Nodes: -(check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in,KernelNode Source [] [("a",Qubit)]) -(check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1,KernelNode Target [("b",Qubit)] []) -(check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (a :: Qubit) -o (b :: Qubit) })]) -(check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_Splice,KernelNode (Splice (Ex globals_decl_18_xish 0)) [("rxa",Qubit)] [("rxb",Qubit)]) -(check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1,KernelNode Source [] [("q",Qubit)]) -(check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2,KernelNode Target [("b",Qubit)] []) -(check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (q :: Qubit) -o (b :: Qubit) })]) -(check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_lambda,KernelNode (PatternMatch ((TestMatchData Kerny (MatchSequence {matchInputs = [(NamedPort {end = Ex check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit)], matchTests = [], matchOutputs = [(NamedPort {end = Ex check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit)]}),check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("a",Qubit)] [("b",Qubit)]) -(check_defs_1_main_3_$rhs_check'Th_thunk/in,KernelNode Source [] [("a",Qubit)]) -(check_defs_1_main_3_$rhs_check'Th_thunk/out_1,KernelNode Target [("b",Qubit)] []) -(check_defs_1_main_3_$rhs_check'Th_thunk_thunk_2,BratNode (Box check_defs_1_main_3_$rhs_check'Th_thunk/in check_defs_1_main_3_$rhs_check'Th_thunk/out_1) [] [("thunk",{ (a :: Qubit) -o (b :: Qubit) })]) -(check_defs_1_nums_$rhs_const,BratNode (Const 1) [] [("value",Int)]) -(check_defs_1_nums_$rhs_const_1,BratNode (Const 2) [] [("value",Int)]) -(check_defs_1_nums_$rhs_const_2,BratNode (Const 3) [] [("value",Int)]) -(check_defs_1_xish_1_$rhs_Eval,BratNode (Eval (Ex globals_prim_7_Rx 0)) [("th",Float)] [("a1",{ (rxa :: Qubit) -o (rxb :: Qubit) })]) -(check_defs_1_xish_1_$rhs_const_1,BratNode (Const 30.0) [] [("value",Float)]) -(globals_Float_2,BratNode (Constructor Float) [] [("value",[])]) -(globals_Int_9,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_10,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_11,BratNode (Constructor Int) [] [("value",[])]) -(globals_Qubit_4,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_6,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_15,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_17,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_21,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_23,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_decl_12_nums,BratNode Id [("x",Int),("y",Int),("z",Int)] [("x",Int),("y",Int),("z",Int)]) -(globals_decl_18_xish,BratNode Id [("a1",{ (rxa :: Qubit) -o (rxb :: Qubit) })] [("a1",{ (rxa :: Qubit) -o (rxb :: Qubit) })]) -(globals_decl_24_main,BratNode Id [("a1",{ (a :: Qubit) -o (b :: Qubit) })] [("a1",{ (a :: Qubit) -o (b :: Qubit) })]) -(globals_prim_7_Rx,BratNode (Prim ("","Rx")) [] [("thunk",{ (th :: Float) -> (a1 :: { (rxa :: Qubit) -o (rxb :: Qubit) }) })]) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in,KernelNode Source [] [("a",Qubit)]) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1,KernelNode Target [("b",Qubit)] []) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (a :: Qubit) -o (b :: Qubit) })]) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_Splice,KernelNode (Splice (Ex rx.brat_globals_decl_18_xish 0)) [("rxa",Qubit)] [("rxb",Qubit)]) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1,KernelNode Source [] [("q",Qubit)]) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2,KernelNode Target [("b",Qubit)] []) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (q :: Qubit) -o (b :: Qubit) })]) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_lambda,KernelNode (PatternMatch ((TestMatchData Kerny (MatchSequence {matchInputs = [(NamedPort {end = Ex rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit)], matchTests = [], matchOutputs = [(NamedPort {end = Ex rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit)]}),rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("a",Qubit)] [("b",Qubit)]) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_thunk/in,KernelNode Source [] [("a",Qubit)]) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_thunk/out_1,KernelNode Target [("b",Qubit)] []) +(rx.brat_check_defs_1_main_3_$rhs_check'Th_thunk_thunk_2,BratNode (Box rx.brat_check_defs_1_main_3_$rhs_check'Th_thunk/in rx.brat_check_defs_1_main_3_$rhs_check'Th_thunk/out_1) [] [("thunk",{ (a :: Qubit) -o (b :: Qubit) })]) +(rx.brat_check_defs_1_nums_$rhs_const,BratNode (Const 1) [] [("value",Int)]) +(rx.brat_check_defs_1_nums_$rhs_const_1,BratNode (Const 2) [] [("value",Int)]) +(rx.brat_check_defs_1_nums_$rhs_const_2,BratNode (Const 3) [] [("value",Int)]) +(rx.brat_check_defs_1_xish_1_$rhs_Eval,BratNode (Eval (Ex rx.brat_globals_prim_7_Rx 0)) [("th",Float)] [("a1",{ (rxa :: Qubit) -o (rxb :: Qubit) })]) +(rx.brat_check_defs_1_xish_1_$rhs_const_1,BratNode (Const 30.0) [] [("value",Float)]) +(rx.brat_globals_Float_2,BratNode (Constructor Float) [] [("value",[])]) +(rx.brat_globals_Int_9,BratNode (Constructor Int) [] [("value",[])]) +(rx.brat_globals_Int_10,BratNode (Constructor Int) [] [("value",[])]) +(rx.brat_globals_Int_11,BratNode (Constructor Int) [] [("value",[])]) +(rx.brat_globals_Qubit_4,BratNode (Constructor Qubit) [] [("value",[])]) +(rx.brat_globals_Qubit_6,BratNode (Constructor Qubit) [] [("value",[])]) +(rx.brat_globals_Qubit_15,BratNode (Constructor Qubit) [] [("value",[])]) +(rx.brat_globals_Qubit_17,BratNode (Constructor Qubit) [] [("value",[])]) +(rx.brat_globals_Qubit_21,BratNode (Constructor Qubit) [] [("value",[])]) +(rx.brat_globals_Qubit_23,BratNode (Constructor Qubit) [] [("value",[])]) +(rx.brat_globals_decl_12_nums,BratNode Id [("x",Int),("y",Int),("z",Int)] [("x",Int),("y",Int),("z",Int)]) +(rx.brat_globals_decl_18_xish,BratNode Id [("a1",{ (rxa :: Qubit) -o (rxb :: Qubit) })] [("a1",{ (rxa :: Qubit) -o (rxb :: Qubit) })]) +(rx.brat_globals_decl_24_main,BratNode Id [("a1",{ (a :: Qubit) -o (b :: Qubit) })] [("a1",{ (a :: Qubit) -o (b :: Qubit) })]) +(rx.brat_globals_prim_7_Rx,BratNode (Prim ("","Rx")) [] [("thunk",{ (th :: Float) -> (a1 :: { (rxa :: Qubit) -o (rxb :: Qubit) }) })]) Wires: -(Ex check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_Splice 0,Qubit,In check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 0) -(Ex check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 0,Qubit,In check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_Splice 0) -(Ex check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_lambda 0,Qubit,In check_defs_1_main_3_$rhs_check'Th_thunk/out_1 0) -(Ex check_defs_1_main_3_$rhs_check'Th_thunk/in 0,Qubit,In check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_lambda 0) -(Ex check_defs_1_main_3_$rhs_check'Th_thunk_thunk_2 0,{ (a :: Qubit) -o (b :: Qubit) },In globals_decl_24_main 0) -(Ex check_defs_1_nums_$rhs_const 0,Int,In globals_decl_12_nums 0) -(Ex check_defs_1_nums_$rhs_const_1 0,Int,In globals_decl_12_nums 1) -(Ex check_defs_1_nums_$rhs_const_2 0,Int,In globals_decl_12_nums 2) -(Ex check_defs_1_xish_1_$rhs_Eval 0,{ (rxa :: Qubit) -o (rxb :: Qubit) },In globals_decl_18_xish 0) -(Ex check_defs_1_xish_1_$rhs_const_1 0,Float,In check_defs_1_xish_1_$rhs_Eval 0) -(Ex globals_Float_2 0,[],In globals___kcc_1 0) -(Ex globals_Int_10 0,[],In globals___kca_nums_8 1) -(Ex globals_Int_11 0,[],In globals___kca_nums_8 2) -(Ex globals_Int_9 0,[],In globals___kca_nums_8 0) -(Ex globals_Qubit_15 0,[],In globals___kcr__14 0) -(Ex globals_Qubit_17 0,[],In globals___kcr__16 0) -(Ex globals_Qubit_21 0,[],In globals___kcr__20 0) -(Ex globals_Qubit_23 0,[],In globals___kcr__22 0) -(Ex globals_Qubit_4 0,[],In globals___kcr__3 0) -(Ex globals_Qubit_6 0,[],In globals___kcr__5 0) +(Ex rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_Splice 0,Qubit,In rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 0) +(Ex rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 0,Qubit,In rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_checkClauses_1_$rhs_4_Splice 0) +(Ex rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_lambda 0,Qubit,In rx.brat_check_defs_1_main_3_$rhs_check'Th_thunk/out_1 0) +(Ex rx.brat_check_defs_1_main_3_$rhs_check'Th_thunk/in 0,Qubit,In rx.brat_check_defs_1_main_3_$rhs_check'Th_LambdaChk_6_lambda 0) +(Ex rx.brat_check_defs_1_main_3_$rhs_check'Th_thunk_thunk_2 0,{ (a :: Qubit) -o (b :: Qubit) },In rx.brat_globals_decl_24_main 0) +(Ex rx.brat_check_defs_1_nums_$rhs_const 0,Int,In rx.brat_globals_decl_12_nums 0) +(Ex rx.brat_check_defs_1_nums_$rhs_const_1 0,Int,In rx.brat_globals_decl_12_nums 1) +(Ex rx.brat_check_defs_1_nums_$rhs_const_2 0,Int,In rx.brat_globals_decl_12_nums 2) +(Ex rx.brat_check_defs_1_xish_1_$rhs_Eval 0,{ (rxa :: Qubit) -o (rxb :: Qubit) },In rx.brat_globals_decl_18_xish 0) +(Ex rx.brat_check_defs_1_xish_1_$rhs_const_1 0,Float,In rx.brat_check_defs_1_xish_1_$rhs_Eval 0) +(Ex rx.brat_globals_Float_2 0,[],In rx.brat_globals___kcc_1 0) +(Ex rx.brat_globals_Int_10 0,[],In rx.brat_globals___kca_nums_8 1) +(Ex rx.brat_globals_Int_11 0,[],In rx.brat_globals___kca_nums_8 2) +(Ex rx.brat_globals_Int_9 0,[],In rx.brat_globals___kca_nums_8 0) +(Ex rx.brat_globals_Qubit_15 0,[],In rx.brat_globals___kcr__14 0) +(Ex rx.brat_globals_Qubit_17 0,[],In rx.brat_globals___kcr__16 0) +(Ex rx.brat_globals_Qubit_21 0,[],In rx.brat_globals___kcr__20 0) +(Ex rx.brat_globals_Qubit_23 0,[],In rx.brat_globals___kcr__22 0) +(Ex rx.brat_globals_Qubit_4 0,[],In rx.brat_globals___kcr__3 0) +(Ex rx.brat_globals_Qubit_6 0,[],In rx.brat_globals___kcr__5 0) diff --git a/brat/test/golden/graph/swap.brat.graph b/brat/test/golden/graph/swap.brat.graph index f0c3319e..931f8f27 100644 --- a/brat/test/golden/graph/swap.brat.graph +++ b/brat/test/golden/graph/swap.brat.graph @@ -1,29 +1,29 @@ Nodes: -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in,KernelNode Source [] [("a",Qubit),("b",Qubit)]) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1,KernelNode Target [("b",Qubit),("a",Qubit)] []) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) })]) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1,KernelNode Source [] [("q0",Qubit),("q1",Qubit)]) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2,KernelNode Target [("b",Qubit),("a",Qubit)] []) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (q0 :: Qubit), (q1 :: Qubit) -o (b :: Qubit), (a :: Qubit) })]) -(check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda,KernelNode (PatternMatch ((TestMatchData Kerny (MatchSequence {matchInputs = [(NamedPort {end = Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit),(NamedPort {end = Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 1, portName = "b"},Qubit)], matchTests = [], matchOutputs = [(NamedPort {end = Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit),(NamedPort {end = Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 1, portName = "b"},Qubit)]}),check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("a",Qubit),("b",Qubit)] [("b",Qubit),("a",Qubit)]) -(check_defs_1_main_$rhs_check'Th_thunk/in,KernelNode Source [] [("a",Qubit),("b",Qubit)]) -(check_defs_1_main_$rhs_check'Th_thunk/out_1,KernelNode Target [("b",Qubit),("a",Qubit)] []) -(check_defs_1_main_$rhs_check'Th_thunk_thunk_2,BratNode (Box check_defs_1_main_$rhs_check'Th_thunk/in check_defs_1_main_$rhs_check'Th_thunk/out_1) [] [("thunk",{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) })]) -(globals_Qubit_2,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_3,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_5,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_Qubit_6,BratNode (Constructor Qubit) [] [("value",[])]) -(globals_decl_7_main,BratNode Id [("a1",{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) })] [("a1",{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) })]) +(swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in,KernelNode Source [] [("a",Qubit),("b",Qubit)]) +(swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1,KernelNode Target [("b",Qubit),("a",Qubit)] []) +(swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup_thunk_2,BratNode (Box swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/out_1) [] [("thunk",{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) })]) +(swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1,KernelNode Source [] [("q0",Qubit),("q1",Qubit)]) +(swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2,KernelNode Target [("b",Qubit),("a",Qubit)] []) +(swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3,BratNode (Box swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2) [] [("thunk",{ (q0 :: Qubit), (q1 :: Qubit) -o (b :: Qubit), (a :: Qubit) })]) +(swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda,KernelNode (PatternMatch ((TestMatchData Kerny (MatchSequence {matchInputs = [(NamedPort {end = Ex swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit),(NamedPort {end = Ex swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 1, portName = "b"},Qubit)], matchTests = [], matchOutputs = [(NamedPort {end = Ex swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 0, portName = "a"},Qubit),(NamedPort {end = Ex swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_$lhs_lambda.0_setup/in 1, portName = "b"},Qubit)]}),swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs_thunk_3) :| [])) [("a",Qubit),("b",Qubit)] [("b",Qubit),("a",Qubit)]) +(swap.brat_check_defs_1_main_$rhs_check'Th_thunk/in,KernelNode Source [] [("a",Qubit),("b",Qubit)]) +(swap.brat_check_defs_1_main_$rhs_check'Th_thunk/out_1,KernelNode Target [("b",Qubit),("a",Qubit)] []) +(swap.brat_check_defs_1_main_$rhs_check'Th_thunk_thunk_2,BratNode (Box swap.brat_check_defs_1_main_$rhs_check'Th_thunk/in swap.brat_check_defs_1_main_$rhs_check'Th_thunk/out_1) [] [("thunk",{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) })]) +(swap.brat_globals_Qubit_2,BratNode (Constructor Qubit) [] [("value",[])]) +(swap.brat_globals_Qubit_3,BratNode (Constructor Qubit) [] [("value",[])]) +(swap.brat_globals_Qubit_5,BratNode (Constructor Qubit) [] [("value",[])]) +(swap.brat_globals_Qubit_6,BratNode (Constructor Qubit) [] [("value",[])]) +(swap.brat_globals_decl_7_main,BratNode Id [("a1",{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) })] [("a1",{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) })]) Wires: -(Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 0,Qubit,In check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 1) -(Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 1,Qubit,In check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 0) -(Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 0,Qubit,In check_defs_1_main_$rhs_check'Th_thunk/out_1 0) -(Ex check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 1,Qubit,In check_defs_1_main_$rhs_check'Th_thunk/out_1 1) -(Ex check_defs_1_main_$rhs_check'Th_thunk/in 0,Qubit,In check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 0) -(Ex check_defs_1_main_$rhs_check'Th_thunk/in 1,Qubit,In check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 1) -(Ex check_defs_1_main_$rhs_check'Th_thunk_thunk_2 0,{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) },In globals_decl_7_main 0) -(Ex globals_Qubit_2 0,[],In globals___kcr__1 0) -(Ex globals_Qubit_3 0,[],In globals___kcr__1 1) -(Ex globals_Qubit_5 0,[],In globals___kcr__4 0) -(Ex globals_Qubit_6 0,[],In globals___kcr__4 1) +(Ex swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 0,Qubit,In swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 1) +(Ex swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/in_1 1,Qubit,In swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_checkClauses_1_lambda.0_rhs/out_2 0) +(Ex swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 0,Qubit,In swap.brat_check_defs_1_main_$rhs_check'Th_thunk/out_1 0) +(Ex swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 1,Qubit,In swap.brat_check_defs_1_main_$rhs_check'Th_thunk/out_1 1) +(Ex swap.brat_check_defs_1_main_$rhs_check'Th_thunk/in 0,Qubit,In swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 0) +(Ex swap.brat_check_defs_1_main_$rhs_check'Th_thunk/in 1,Qubit,In swap.brat_check_defs_1_main_$rhs_check'Th_LambdaChk_6_lambda 1) +(Ex swap.brat_check_defs_1_main_$rhs_check'Th_thunk_thunk_2 0,{ (a :: Qubit), (b :: Qubit) -o (b :: Qubit), (a :: Qubit) },In swap.brat_globals_decl_7_main 0) +(Ex swap.brat_globals_Qubit_2 0,[],In swap.brat_globals___kcr__1 0) +(Ex swap.brat_globals_Qubit_3 0,[],In swap.brat_globals___kcr__1 1) +(Ex swap.brat_globals_Qubit_5 0,[],In swap.brat_globals___kcr__4 0) +(Ex swap.brat_globals_Qubit_6 0,[],In swap.brat_globals___kcr__4 1) diff --git a/brat/test/golden/graph/two.brat.graph b/brat/test/golden/graph/two.brat.graph index 1ae2fcc4..3afc7eab 100644 --- a/brat/test/golden/graph/two.brat.graph +++ b/brat/test/golden/graph/two.brat.graph @@ -1,23 +1,23 @@ Nodes: -(check_defs_1_one_$rhs_const,BratNode (Const 1) [] [("value",Int)]) -(check_defs_1_two_1_$rhs_Eval,BratNode (Eval (Ex globals_prim_5_add 0)) [("a",Int),("b",Int)] [("c",Int)]) -(check_defs_1_two_1_$rhs_const_1,BratNode (Const 1) [] [("value",Int)]) -(globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_3,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_4,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_7,BratNode (Constructor Int) [] [("value",[])]) -(globals_Int_10,BratNode (Constructor Int) [] [("value",[])]) -(globals_decl_8_one,BratNode Id [("n",Int)] [("n",Int)]) -(globals_decl_11_two,BratNode Id [("a1",Int)] [("a1",Int)]) -(globals_prim_5_add,BratNode (Prim ("","add")) [] [("thunk",{ (a :: Int), (b :: Int) -> (c :: Int) })]) +(two.brat_check_defs_1_one_$rhs_const,BratNode (Const 1) [] [("value",Int)]) +(two.brat_check_defs_1_two_1_$rhs_Eval,BratNode (Eval (Ex two.brat_globals_prim_5_add 0)) [("a",Int),("b",Int)] [("c",Int)]) +(two.brat_check_defs_1_two_1_$rhs_const_1,BratNode (Const 1) [] [("value",Int)]) +(two.brat_globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) +(two.brat_globals_Int_3,BratNode (Constructor Int) [] [("value",[])]) +(two.brat_globals_Int_4,BratNode (Constructor Int) [] [("value",[])]) +(two.brat_globals_Int_7,BratNode (Constructor Int) [] [("value",[])]) +(two.brat_globals_Int_10,BratNode (Constructor Int) [] [("value",[])]) +(two.brat_globals_decl_8_one,BratNode Id [("n",Int)] [("n",Int)]) +(two.brat_globals_decl_11_two,BratNode Id [("a1",Int)] [("a1",Int)]) +(two.brat_globals_prim_5_add,BratNode (Prim ("","add")) [] [("thunk",{ (a :: Int), (b :: Int) -> (c :: Int) })]) Wires: -(Ex check_defs_1_one_$rhs_const 0,Int,In globals_decl_8_one 0) -(Ex check_defs_1_two_1_$rhs_Eval 0,Int,In globals_decl_11_two 0) -(Ex check_defs_1_two_1_$rhs_const_1 0,Int,In check_defs_1_two_1_$rhs_Eval 0) -(Ex globals_Int_10 0,[],In globals___kca_two_9 0) -(Ex globals_Int_2 0,[],In globals___kcc_1 0) -(Ex globals_Int_3 0,[],In globals___kcc_1 1) -(Ex globals_Int_4 0,[],In globals___kcc_1 2) -(Ex globals_Int_7 0,[],In globals___kca_one_6 0) -(Ex globals_decl_8_one 0,Int,In check_defs_1_two_1_$rhs_Eval 1) +(Ex two.brat_check_defs_1_one_$rhs_const 0,Int,In two.brat_globals_decl_8_one 0) +(Ex two.brat_check_defs_1_two_1_$rhs_Eval 0,Int,In two.brat_globals_decl_11_two 0) +(Ex two.brat_check_defs_1_two_1_$rhs_const_1 0,Int,In two.brat_check_defs_1_two_1_$rhs_Eval 0) +(Ex two.brat_globals_Int_10 0,[],In two.brat_globals___kca_two_9 0) +(Ex two.brat_globals_Int_2 0,[],In two.brat_globals___kcc_1 0) +(Ex two.brat_globals_Int_3 0,[],In two.brat_globals___kcc_1 1) +(Ex two.brat_globals_Int_4 0,[],In two.brat_globals___kcc_1 2) +(Ex two.brat_globals_Int_7 0,[],In two.brat_globals___kca_one_6 0) +(Ex two.brat_globals_decl_8_one 0,Int,In two.brat_check_defs_1_two_1_$rhs_Eval 1) diff --git a/brat/test/golden/graph/vec.brat.graph b/brat/test/golden/graph/vec.brat.graph index 63d51b0b..47ae2434 100644 --- a/brat/test/golden/graph/vec.brat.graph +++ b/brat/test/golden/graph/vec.brat.graph @@ -1,45 +1,45 @@ Nodes: -(check_defs_1_xs_$rhs_check'Con_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_xs_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2,BratNode (Constructor nil) [] [("value",Vec(Int, 0))]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 0))] [("value",Vec(Int, 1))]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_const_3,BratNode (Const 2) [] [("value",Int)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_typeEqsTail_1_buildConst_1,BratNode (Const 0) [] [("value",Nat)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 1))] [("value",Vec(Int, 2))]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_const_3,BratNode (Const 1) [] [("value",Int)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst,BratNode (Const 1) [] [("value",Nat)]) -(check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) -(check_defs_1_xs_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 2))] [("value",Vec(Int, 3))]) -(check_defs_1_xs_$rhs_check'Con_const_3,BratNode (Const 0) [] [("value",Int)]) -(check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) -(check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst,BratNode (Const 2) [] [("value",Nat)]) -(check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) -(globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) -(globals_Vec_1,BratNode (Constructor Vec) [("X",[]),("n",Nat)] [("value",[])]) -(globals_const_3,BratNode (Const 3) [] [("value",Nat)]) -(globals_decl_4_xs,BratNode Id [("a1",Vec(Int, 3))] [("a1",Vec(Int, 3))]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_$!_numpat2val_1,BratNode Id [("",Nat)] [("",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_$!_pat2val,BratNode Id [("",[])] [("",[])]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2,BratNode (Constructor nil) [] [("value",Vec(Int, 0))]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 0))] [("value",Vec(Int, 1))]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_const_3,BratNode (Const 2) [] [("value",Int)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_typeEqsTail_1_buildConst_1,BratNode (Const 0) [] [("value",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 1))] [("value",Vec(Int, 2))]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_const_3,BratNode (Const 1) [] [("value",Int)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst,BratNode (Const 1) [] [("value",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_cons_2,BratNode (Constructor cons) [("head",Int),("tail",Vec(Int, 2))] [("value",Vec(Int, 3))]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_const_3,BratNode (Const 0) [] [("value",Int)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1,BratNode (ArithNode Add) [("lhs",Nat),("rhs",Nat)] [("value",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst,BratNode (Const 2) [] [("value",Nat)]) +(vec.brat_check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2,BratNode (Const 0) [] [("value",Nat)]) +(vec.brat_globals_Int_2,BratNode (Constructor Int) [] [("value",[])]) +(vec.brat_globals_Vec_1,BratNode (Constructor Vec) [("X",[]),("n",Nat)] [("value",[])]) +(vec.brat_globals_const_3,BratNode (Const 3) [] [("value",Nat)]) +(vec.brat_globals_decl_4_xs,BratNode Id [("a1",Vec(Int, 3))] [("a1",Vec(Int, 3))]) Wires: -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2 0,Vec(Int, 0),In check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 1) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 0,Vec(Int, 1),In check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 1) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_const_3 0,Int,In check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 0) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_typeEqsTail_1_buildConst_1 0,Nat,In check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_$!_numpat2val_1 0) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0,Vec(Int, 2),In check_defs_1_xs_$rhs_check'Con_cons_2 1) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_const_3 0,Int,In check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 0,Nat,In check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_numpat2val_1 0) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst 0,Nat,In check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 0) -(Ex check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 1) -(Ex check_defs_1_xs_$rhs_check'Con_cons_2 0,Vec(Int, 3),In globals_decl_4_xs 0) -(Ex check_defs_1_xs_$rhs_check'Con_const_3 0,Int,In check_defs_1_xs_$rhs_check'Con_cons_2 0) -(Ex check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0,Nat,In check_defs_1_xs_$rhs_check'Con_$!_numpat2val_1 0) -(Ex check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst 0,Nat,In check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0) -(Ex check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 1) -(Ex globals_Int_2 0,[],In globals_Vec_1 0) -(Ex globals_Vec_1 0,[],In globals___kca_xs 0) -(Ex globals_const_3 0,Nat,In globals_Vec_1 1) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_check'Con_4_nil_2 0,Vec(Int, 0),In vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 1) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 0,Vec(Int, 1),In vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 1) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_const_3 0,Int,In vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_cons_2 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_typeEqsTail_1_buildConst_1 0,Nat,In vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_check'Con_4_$!_numpat2val_1 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0,Vec(Int, 2),In vec.brat_check_defs_1_xs_$rhs_check'Con_cons_2 1) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_const_3 0,Int,In vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_cons_2 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 0,Nat,In vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_$!_numpat2val_1 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst 0,Nat,In vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In vec.brat_check_defs_1_xs_$rhs_check'Con_check'Con_4_typeEqsTail_1_$!_1_Add_1 1) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_cons_2 0,Vec(Int, 3),In vec.brat_globals_decl_4_xs 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_const_3 0,Int,In vec.brat_check_defs_1_xs_$rhs_check'Con_cons_2 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0,Nat,In vec.brat_check_defs_1_xs_$rhs_check'Con_$!_numpat2val_1 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst 0,Nat,In vec.brat_check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 0) +(Ex vec.brat_check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_buildConst_2 0,Nat,In vec.brat_check_defs_1_xs_$rhs_check'Con_typeEqsTail_1_$!_1_Add_1 1) +(Ex vec.brat_globals_Int_2 0,[],In vec.brat_globals_Vec_1 0) +(Ex vec.brat_globals_Vec_1 0,[],In vec.brat_globals___kca_xs 0) +(Ex vec.brat_globals_const_3 0,Nat,In vec.brat_globals_Vec_1 1)