aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/syntax.icl')
-rw-r--r--frontend/syntax.icl8
1 files changed, 7 insertions, 1 deletions
diff --git a/frontend/syntax.icl b/frontend/syntax.icl
index a7335f2..4427233 100644
--- a/frontend/syntax.icl
+++ b/frontend/syntax.icl
@@ -500,10 +500,15 @@ cIsALocalVar :== False
{ cc_size ::!Int
, cc_args ::![ConsClass]
, cc_linear_bits ::![Bool]
+ , cc_producer ::!ProdClass
}
:: ConsClass :== Int
+:: ProdClass :== Bool
+
+pIsSafe :== True
+
:: OptionalVariable :== Optional (Bind Ident VarInfoPtr)
:: AuxiliaryPattern
@@ -627,7 +632,7 @@ cNotVarNumber :== -1
:: Producer = PR_Empty
| PR_Function !SymbIdent !Index
| PR_Class !App ![(BoundVar, Type)] !Type
-// | PR_Constructor !SymbIdent ![Expression]
+ | PR_Constructor !SymbIdent ![Expression]
| PR_GeneratedFunction !SymbIdent !Index
| PR_Curried !SymbIdent
@@ -1735,6 +1740,7 @@ where
(<<<) file (CheckedBody {cb_args,cb_rhs}) = file <<< "C " <<< cb_args <<< " = " <<< cb_rhs <<< '\n'
(<<<) file (TransformedBody {tb_args,tb_rhs}) = file <<< "T " <<< tb_args <<< " = " <<< tb_rhs <<< '\n'
(<<<) file (BackendBody body) = file <<< body <<< '\n'
+ (<<<) file (Expanding vars) = file <<< "E " <<< vars
(<<<) file NoBody = file <<< "Array function\n"
instance <<< FunCall