aboutsummaryrefslogtreecommitdiff
path: root/frontend/overloading.icl
AgeCommit message (Collapse)AuthorFilesLines
2016-06-20fix commit for revision 2724johnvg1-3/+5
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2734 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2016-06-06set FI_HasTypeCodes in fi_properties if a function contains type codes andjohnvg1-11/+3
should be converted in module convertDynamics, instead of storing a list with one nilPtr in fi_dynamics, remove unnecessary Let expressions with unused variables by initializing with VI_NotUsed instead of VI_Empty git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2724 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2014-02-21if a constraint of a class without members is reduced, and all classes in ↵johnvg1-1/+65
the constraint of that class appear in the reduced constraints for a variable, add a constraint for the original class for that variable (this causes removal of the other constraints later), to prevent functions with too many constraints git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2357 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-12-13in derived dynamic types, add uniqueness to algebraic types that are always ↵johnvg1-5/+19
unique (the type definition has a * on the left), add Bool to GTT_Constructor to indicate uniqueness, generate TCE_UnqType in TypeCode for unique GTT_Constructor's, this uniqueness property should be propagated, but this is not implemented yet git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2336 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-08add generic function dependencies for generic function definitions,johnvg1-10/+15
add generic case definitions in definition modules for the types used to make the generic representation, in generic case definitions in definition modules specify what generic info and dependencies are used git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2227 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-04add type constraints in dynamic typesjohnvg1-10/+27
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2221 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-02add type constraints in constructors and function arguments with universal ↵johnvg1-6/+335
quantifier (from iTask branch) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2218 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-03-26in function adjust_type_code, add alternative for TCE_Selector,johnvg1-1/+6
fix name of type function git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2217 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-02add pattern match test using =: in expressions,johnvg1-2/+5
add constructors PE_Matches and IsConstructor in module syntax git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2130 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-06-15in substitute use original type (instead of copy) if possible,johnvg1-6/+6
to reduce memory usage of the compiler git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2094 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-10move type TypeCodeVariableInfo to module syntax, remove type ↵johnvg1-1/+1
DynamicValueAliasInfo, adjust imports git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2027 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-09add module expand_types containing some functions from module trans and ↵johnvg1-1/+1
module typesupport git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2025 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-08rename module StdCompare to compare_typesjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2017 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-08remove unnecessary imports of module check,johnvg1-2/+2
remove import of StdCompare in checksupport.dcl, changed some other imports git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2010 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-07remove differences in layout between the compiler and the iTask compilerjohnvg1-225/+233
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2005 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-15git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1926 ↵johnvg1-45/+50
1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-08fix type checking of existential type variables that are used by a dynamic ↵johnvg1-40/+38
expression, but do not occur in the type of a dynamic pattern. TempQDV is used for existential type variables in a dynamic pattern. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1911 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-02-11use ClassInstanceMember array for ins_members instead of DefinedSymbol array,johnvg1-19/+25
call exported generic instances directly git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1838 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-01prevent compiler crash if a dynamic type contains a type constructor variable,johnvg1-16/+18
for example: Start = dynamic length git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1743 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-04-09report an error if a type context is specified multiple times in a function typejohnvg1-5/+8
(instead of abort) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1699 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-13implement newtypejohnvg1-3/+136
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1672 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-12implement {# and {! in array comprehensions that create a new arrayjohnvg1-0/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1671 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-11remove function updateDynamics, it is unused because over_infojohnvg1-42/+2
cannot be empty git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1667 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-11remove updateExpression instance for removed typejohnvg1-7/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1661 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2006-11-23fix bug that may occur if a TC class is used in a context of a class, thatjohnvg1-1/+1
is also used in a context of a class git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1628 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2006-11-01allow TC to be used in the context of a class definition (e.g. class C a | TC a)johnvg1-22/+29
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1619 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2004-04-19remove TC; typesronny1-22/+6
type constructors in dynamic types are now uniquely represented by the descriptor of their TD_ (type definition) function git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1486 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2004-03-17reification of type definitionsronny1-1/+11
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1465 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-10-17added limited support for uniqueness attributes in dynamic typesronny1-1/+6
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1394 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-09-17removed unused var_heap parameterronny1-20/+20
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1377 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-09-16removed boolean result from substituteType and substitute: theyronny1-5/+5
could only fail in case of a kind error which is already detected elsewhere git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1376 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-09-16added function typesronny1-6/+44
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1375 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-09-16code cleanup: introduced records for info and state parametersronny1-138/+159
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1374 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-09-15removed exported type definitions from icl moduleronny1-44/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1373 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-08-22also expand synonym types in dynamics for TAS by reusing the TA coderonny1-7/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1372 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-08-20removed unnecessary separate fields for universal variables,ronny1-6/+6
they are represented by the TFA constructor for types git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1371 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-08-19removed unused administrationsronny1-103/+45
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1370 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-05-16renamed field names of type Ident in syntax treeronny1-107/+107
s/\<mod_name\>/mod_ident/g s/\<ps_field_name\>/ps_field_ident/g s/\<ps_selector_name\>/ps_selector_ident/g s/\<pc_cons_name\>/pc_cons_ident/g s/\<class_name\>/class_ident/g s/\<gen_name\>/gen_ident/g s/\<gen_member_name\>/gen_member_ident/g s/\<gc_name\>/gc_ident/g s/\<gc_gname\>/gc_gident/g s/\<fs_name\>/fs_ident/g s/\<td_name\>/td_ident/g s/\<fv_name\>/fv_ident/g s/\<var_name\>/var_ident/g s/\<type_name\>/type_ident/g s/\<symb_name\>/symb_ident/g s/\<tv_name\>/tv_ident/g s/\<av_name\>/av_ident/g s/\<me_symb\>/me_ident/g s/\<ft_symb\>/ft_ident/g s/\<fun_symb\>/fun_ident/g s/\<cons_symb\>/cons_ident/g s/\<sd_symb\>/sd__ident/g git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1340 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-02-10- bug fix: generate an error for abstract datatypes in dynamic typesmartijnv1-0/+3
(predefined abstract types such as Arrays in dynamic types are now approved). git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1318 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-02-10- bug fix: error for abstract datatypes in dynamic types.martijnv1-19/+36
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1317 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-02-07expand synonym types in dynamics when it's an inferred typeronny1-19/+21
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1316 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-02-06- removed: unused argument 'symb_ident' of toTypeCodeExpressionmartijnv1-22/+22
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1315 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2003-01-08Bug fix: uniqueness error in recordssjakie1-17/+18
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1308 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-10-31Fix bug where wrong type code constructor was selected.ronny1-15/+16
The fix is to not use the index and table of type code constructors,. The indices and tables should be cleaned up later. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1265 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-10-14new type code and type code constructor representationronny1-38/+97
clean-up and renamed functions from StdDynamic git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1234 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-19bug fixed: check if overloading is solved in type codes, removed some unused ↵ronny1-50/+26
code git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1199 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-09-19major rewrite dynamicsronny1-139/+21
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1197 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-07-22expand all type synonyms in dynamicsronny1-11/+17
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1160 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-06-17removed ignored !'sjohnvg1-2/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1099 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2002-04-11support for generic type context like inalimarin1-10/+27
foo :: a a -> Bool | eq{|*|} a git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1073 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d