@@ -7,6 +7,7 @@ module AST.Expression.Canonical
7 , Args(..), Arg(..)
7 , Args(..), Arg(..)
8 , Match(..)
8 , Match(..)
9 , Pattern, Pattern_(..)
9 , Pattern, Pattern_(..)
10 , Destructors
11 , Destructors
11 , Destructor(..)
12 , Destructor(..)
@@ -122,10 +123,18 @@ data Pattern_
122 , _p_type :: N.Name
123 , _p_type :: N.Name
123 , _p_vars :: [N.Name]
124 , _p_vars :: [N.Name]
124 , _p_name :: N.Name
125 , _p_name :: N.Name
125− , _p_args :: [(Index.ZeroBased, Type.Canonical, Pattern)]
126+ , _p_args :: [PatternCtorArg]
130+data PatternCtorArg =
132+ { _index :: Index.ZeroBased
133+ , _type :: Type.Canonical
129type Destructors = Map.Map N.Name (A.Located Destructor)
138type Destructors = Map.Map N.Name (A.Located Destructor)
131data Destructor
140data Destructor