aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.icl
diff options
context:
space:
mode:
authormartinw2000-06-05 15:04:10 +0000
committermartinw2000-06-05 15:04:10 +0000
commit7db9a3799dfe1c88aee502646e939905b0a79905 (patch)
tree6ac6edbc966081891f790eb5689ef6d502c5d2b8 /frontend/syntax.icl
parentremoved ---> application (diff)
enabled higher order function elimination also for functions (producers)
that are imported git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@149 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.icl')
-rw-r--r--frontend/syntax.icl7
1 files changed, 4 insertions, 3 deletions
diff --git a/frontend/syntax.icl b/frontend/syntax.icl
index 0230f48..ef5834a 100644
--- a/frontend/syntax.icl
+++ b/frontend/syntax.icl
@@ -516,10 +516,11 @@ cNotVarNumber :== -1
:: FunctionInfo = FI_Empty | FI_Function !GeneratedFunction
:: Producer = PR_Empty
- | PR_Function !SymbIdent !Index !Int // Int: number of actual arguments in application (XXX possibly superfluous (already contained in SymbIdent))
+ | PR_Function !SymbIdent !Index
| PR_Class !App ![BoundVar] !Type
// | PR_Constructor !SymbIdent ![Expression]
- | PR_GeneratedFunction !SymbIdent !Index !Int // Int: number of actual arguments in application (XXX possibly superfluous (already contained in SymbIdent))
+ | PR_GeneratedFunction !SymbIdent !Index
+ | PR_Curried !SymbIdent
:: InstanceInfo = II_Empty | II_Node !{! Producer} !FunctionInfoPtr !InstanceInfo !InstanceInfo
@@ -1276,7 +1277,7 @@ where
instance <<< BoundVar
where
(<<<) file {var_name,var_info_ptr,var_expr_ptr}
- = file <<< var_name <<< '<' <<< ptrToInt var_info_ptr <<< ',' <<< ptrToInt var_expr_ptr <<< '>'
+ = file <<< var_name <<< '<' <<< ptrToInt var_info_ptr <<< '>'
instance <<< (Bind a b) | <<< a & <<< b
where