aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-07-08remove code for backwards compatibility with Clean 1.3johnvg2-9/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1795 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-07-06use 'Module'.name in errors, instead of Module@namejohnvg2-10/+10
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1794 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-07-06move some functions from module check to new module checkgenericsjohnvg3-309/+339
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1793 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-07-05dont pass icl functions array to/from checkDclMacros,johnvg3-58/+59
it is not used because dcl macros cannot use icl macros. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1792 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-07-05don't pass icl functions array to/from partitionateDclMacros,johnvg3-12/+12
it is not used because dcl macros cannot use icl macros. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1791 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-07-02pass Ident name instead of Ident to functions to create generic identsjohnvg6-33/+33
in genericsupport git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1790 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-07-02remove use of icl_functions by call of checkExplicitImportCompletenessjohnvg1-2/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1789 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-07-02remove use of the icl functions array by functionjohnvg3-100/+63
checkExplicitImportCompleteness, because it is not used because imported definitions cannot use local macros. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1788 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-05-25scan 'ModuleName'.Symbol or 'ModuleName'. OperatorSymboljohnvg1-13/+118
as qualified identifiers git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1787 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-05-19allow shorted array and record updates after # or #! as:johnvg1-329/+363
r & f = e // same as r = {r & f=e} a & [i] = e // same as a = {a & [i]=e} nested and multiple updates are also allowed git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1786 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-05-07no messagejohnvg1-4/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1785 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-05-07report an error if a generic instance is derived for a type with anjohnvg1-33/+41
existential or universal quantifier git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1784 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-11fix comparing TA with TASjohnvg2-39/+44
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1783 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-09allow VI_ExpressionOrBody in instance clearVariables BoundVarjohnvg1-1/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1782 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-09unfold curried producers that are also normal producers if the producerjohnvg2-40/+156
is used in a curried application of a case expression, to prevent case's with applications that are be optimized. Whether the producer is treated as a curried or normal producer is determined during unfolding, PR_CurriedProducer is used to mark producers for which this is allowed. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1781 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08generate a new function if a non root case is used ofjohnvg1-11/+136
an application that can be fused, a function is created of the case, without the application (producer), and the new function and the application (producer) are fused later (if possible) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1780 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08allow fusion in non linear arguments for some functions thatjohnvg1-22/+81
may be copied (without duplicating work), this is intended to optimize generic bimaps git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1779 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08don't add strict let with no variablesjohnvg1-51/+62
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1778 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08don't add a strict let if a strict unused argument is a constructor withoutjohnvg1-17/+27
arguments or a basic value git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1777 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08repair the previous modificationjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1776 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08another modification that should have been committed alreadyjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1775 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08update th_attrs for AVI_Atrr (TA_TempVar _) bug fix (1.140)johnvg1-21/+22
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1774 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08enable constructor fusion for generic constructorsjohnvg1-28/+26
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1773 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08move some fields from ReadOnlyTi to new record TransformFunctionInfojohnvg1-70/+76
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1772 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08remove the AVI_Attr (TA_TempVar _)'s before unfold,johnvg1-53/+78
because types in Cases and Lets should not use TA_TempVar's git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1771 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08store type information in algebraic pattern variables in lift_patterns,johnvg1-6/+12
needed if a case function is generated git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1770 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-08instead of transCase False No this_case ro ti, use skip_over this_case ro ti,johnvg1-425/+295
because that is what transCase False No will do, rename transCase as transform_active_root_case and remove is_active and change optional aci to aci, because it is always called with True (Yes aci), rename possibly_generate_case_function as transform_active_non_root_case, changes in layout -> skip_over this_case git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1769 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-05remove code that is no longer used in unfold, because unfold is no longerjohnvg3-226/+107
used by module trans (now uses copy) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1768 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-05create a copy of unfold in module transform in module trans, called copyjohnvg1-54/+384
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1767 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-05remove some white spacejohnvg1-41/+25
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1766 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-05move producerRequirements from module trans to module classifyjohnvg3-233/+254
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1765 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-05add optimizations for generic bimap,johnvg2-163/+936
add bimap instances for standard generic types to compiler git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1764 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-05make local build_ functions globaljohnvg1-73/+88
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1763 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-05use record FunsAndGroups instead of a tuplejohnvg1-223/+79
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1762 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-04make generic info lazy to improve fusion results,johnvg1-65/+19
change toGenericFrom and fromGenericto to fromGeneric and toGeneric git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1761 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-04fix bug in foldExpr for @, first expression was used twicejohnvg1-50/+16
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1760 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-04remove unused codejohnvg1-235/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1759 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-01-08remove AddStrictLhsNodeIdsToNodeDefs call for overloaded case nodejohnvg1-2/+0
(causes crash because field node_strict_node_ids doesn't exist) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1758 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-12-22prevent crash if def_node==NULL (lhs strictness annotation)johnvg1-2/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1757 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-12-22make strictly annotated variables in patterns strict (in case expressions)johnvg1-0/+6
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1756 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-12-22fix typo and remove numbers between () in error messagesjohnvg1-5/+5
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1755 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-11-26remove preprocessor for Clean 1.3 codejohnvg1-42/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1754 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-10-12fix bug in fusion that may occur if a recursive function that containsjohnvg1-25/+29
more than one recursive call is fused with a case that is not at the root, previously the recursive calls could get different function indices, causing the compiler to crash git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1753 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-10-12fix bug in implementation of seqjohnvg2-6/+37
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1752 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-29fix bug that may occur if a let variable is used in another let in an ↵johnvg2-12/+39
alternative of a case and is also used in another alternative, these lets were not added to the list of lets closed by cases, now they are, and the let will be reopened in the other alternative git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1751 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-29fix bug that may occur if a let is used in a case inside another case,johnvg1-92/+119
and also in another alternative of the outside case, if a let is used in a case, close the let, but if the let is used in another alternative of the case, reopen the let, these lets are collected in rms_counted_let_vars git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1750 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-29mark pattern and rhs of case alternative with one fullRefMark instead of twojohnvg1-11/+6
(for patterns with variables) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1749 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-29fix selective uses in refMarkOfVariable if used completely and by selectorjohnvg1-39/+48
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1748 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-29remove some unused code, fix some typosjohnvg1-67/+36
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1747 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-28fix uniqueness type bug (not detected because of bug in refmark)johnvg3-9/+6
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1746 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d