diff --git a/src/Transfer/SyntaxToCore.hs b/src/Transfer/SyntaxToCore.hs index ce2ac19c6..ecd9437a4 100644 --- a/src/Transfer/SyntaxToCore.hs +++ b/src/Transfer/SyntaxToCore.hs @@ -577,10 +577,10 @@ gtrue = GuardExp true mkETuple :: [Exp] -> Exp -mkETuple = ERec . zipWith (\i -> FieldValue (Ident ("p"++show i))) [0..] +mkETuple = ERec . zipWith (\i -> FieldValue (Ident ("p"++show i))) [1..] mkPTuple :: [Pattern] -> Pattern -mkPTuple = PRec . zipWith (\i -> FieldPattern (Ident ("p"++show i))) [0..] +mkPTuple = PRec . zipWith (\i -> FieldPattern (Ident ("p"++show i))) [1..] -- | Apply an expression to a list of arguments. apply :: Exp -> [Exp] -> Exp diff --git a/transfer/lib/prelude.tra b/transfer/lib/prelude.tra index a19c33601..c6bb7ea67 100644 --- a/transfer/lib/prelude.tra +++ b/transfer/lib/prelude.tra @@ -177,7 +177,7 @@ partition : (A : Type) -> (A -> Bool) -> List A -> Pair (List A) (List A) partition _ _ [] = ([],[]) partition A p (x::xs) = let r : Pair (List A) (List A) = partition A p xs - in if p x then (x :: fst r, snd r) else (fst r, x :: snd r) + in if p x then (x :: r.p1, r.p2) else (r.p1, x :: r.p2) -- Instances: