aboutsummaryrefslogtreecommitdiff
path: root/frontend
AgeCommit message (Collapse)AuthorFilesLines
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
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-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
2009-07-28mark strict vars with VI_StrictLetVar, transform case of such a varjohnvg2-5/+7
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1745 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-07-28create new fv_info_ptr's for strict lets in distributeLets, because otherwisejohnvg2-68/+18
backendpreprocess may number variables incorrectly, causing a crash in backend.dll, renamed VI_CaseVar to VI_CaseOrStrictLetVar git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1744 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
2009-06-15report an error if a non unique * annotated type T is inferred in a function ↵johnvg1-20/+28
type git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1742 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-06-11restore all modified pointers (prevents compiler crash if anjohnvg1-1/+1
explicit import of a type is missing on a cycle of definition modules) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1741 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-06-05make function add_new_variable global instead of localjohnvg1-6/+5
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1740 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-06-05fix for existential/universal type variables of kind > *johnvg1-37/+25
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1739 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-06-05remove some commentsjohnvg1-6/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1738 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-06-05fix for existential/universal type variables of kind > *johnvg1-41/+34
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1737 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-06-05remove some commentsjohnvg1-10/+6
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1736 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-06-05keep case_explicit, instead of setting case_explicit to False for alljohnvg1-168/+98
Case expressions (including cases not usings dynamics) in functions using dynamics. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1735 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-05-14add dynamic_type_used result at wantModule callsjohnvg1-2/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1734 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-05-14report error if type Dynamic is used without importing StdDynamic,johnvg2-10/+12
instead of crash in backend git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1733 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-05-14pass use of type Dynamic from parser to checkModulejohnvg1-3/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1732 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-05-14remember use of type Dynamicjohnvg2-53/+47
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1731 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-04-29bug fix: initialize atype_vars1 as intendedjohnvg1-3/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1730 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-02-25prevent compiler crash when check import completeness of a generic functionjohnvg1-0/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1729 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-02-25add explicit import of generic functionsjohnvg3-11/+21
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1728 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2009-02-25replace type ImportedIdent by Ident because ii_extended is not usedjohnvg5-46/+30
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1727 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-11-10use a loop to adjust predefined symbols of dynamics and genericsjohnvg1-73/+8
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1704 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-11-10make indices of predefined types and expressions of dynamics and genericsjohnvg2-197/+105
consecutive, use a loop to initialise these types and expressions git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1703 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-10-28remove fields gen_cases and gen_star_cases because they are notjohnvg3-41/+1
used and may cause the compiler to crash if generic definitions and instances occur on a cycle of definition modules git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1702 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-05-19fix conversion of nested guards that may fail, incorrect code was generatedjohnvg1-10/+31
for: f True True = True; f _ _ = False git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1701 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-04-10remove unnecessary import from _aconcatjohnvg1-2/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1700 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
2008-03-26handle NewType in function isTypeSynonymjohnvg1-0/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1697 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-01-03move function remove_first_n from backendinterface to containersjohnvg2-0/+20
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1696 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-12-21make function has_observing_type fasterjohnvg1-3/+8
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1695 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d