aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authoralimarin2002-04-11 10:01:50 +0000
committeralimarin2002-04-11 10:01:50 +0000
commit8a32b21c043f21cf197cdde3a02ead110302b008 (patch)
tree3711960083237a1e23b69a705e26d0a1f725d308 /backend
parent- removed strictness annotations (diff)
support for generic type context like in
foo :: a a -> Bool | eq{|*|} a git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1073 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backend')
-rw-r--r--backend/backendconvert.icl6
-rw-r--r--backend/backendinterface.icl2
2 files changed, 4 insertions, 4 deletions
diff --git a/backend/backendconvert.icl b/backend/backendconvert.icl
index a0fc460..273c41f 100644
--- a/backend/backendconvert.icl
+++ b/backend/backendconvert.icl
@@ -15,7 +15,7 @@ import backendsupport, backendpreprocess
// trace macro
(-*->) infixl
(-*->) value trace
- :== value // ---> trace
+ :== value //---> trace
/*
sfoldr op r l
:== foldr l
@@ -1257,10 +1257,10 @@ convertRules rules main_dcl_module_n aliasDummyId be
= convert t rulesP be
convertRule :: Ident (Int,FunDef) Int -> BEMonad BEImpRuleP
-convertRule aliasDummyId (index, {fun_type=Yes type, fun_body=body, fun_pos, fun_kind, fun_symb}) main_dcl_module_n
+convertRule aliasDummyId (index, {fun_type=Yes type, fun_body=body, fun_pos, fun_kind, fun_symb, fun_info}) main_dcl_module_n
// | trace_tn fun_symb.id_name
= beRule index (cafness fun_kind)
- (convertTypeAlt index main_dcl_module_n (type -*-> ("convertRule", fun_symb.id_name, index, type)))
+ (convertTypeAlt index main_dcl_module_n (type -*-> ("convertRule", fun_symb.id_name, index, type, (fun_info.fi_group_index, body))))
(convertFunctionBody index (positionToLineNumber fun_pos) aliasDummyId body main_dcl_module_n)
where
cafness :: FunKind -> Int
diff --git a/backend/backendinterface.icl b/backend/backendinterface.icl
index 45df650..c479da3 100644
--- a/backend/backendinterface.icl
+++ b/backend/backendinterface.icl
@@ -385,7 +385,7 @@ where
= ([type : reversedTypes], reversedContexts)
dictionary_to_context klass args
- = {tc_class = klass, tc_types = [at_type \\ {at_type} <- args], tc_var = nilPtr}
+ = {tc_class = TCClass klass, tc_types = [at_type \\ {at_type} <- args], tc_var = nilPtr}
typeToClass :: DictionaryToClassInfo TypeSymbIdent -> Optional (Global DefinedSymbol)
typeToClass info {type_name, type_arity, type_index={glob_module, glob_object}}