aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-06-07prevent infinite loop when fusing trivial tail recursive functions (e.g. ↵johnvg1-14/+42
undef = undef) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2253 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-06-07prevent crash during fusion,johnvg1-23/+23
argument fun_type of function determineProducers was changed by a record pattern match, rename the argument to consumer_type git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2251 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-06-03remove unused Bool of PE_Let contructorjohnvg5-36/+30
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2249 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-28prevent crash when writing .tcl file with extensible algebraic types (not ↵johnvg1-24/+16
yet implement in the dynamic linker) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2246 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-28fix renumbering of extensible algebraic typesjohnvg1-3/+10
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2244 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-27restore s line that was accidentally removed by the previous commitjohnvg1-0/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2243 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-27fix the file name for .tcl files of modules with a hierarchical module namejohnvg1-17/+54
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2242 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-05-06call reset_free_var_heap_pointers before expandCheckedAlternative in ↵johnvg1-7/+10
expandMacrosInBody, to prevent crash in collectVariables git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2239 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-29copy expr in DictionariesFunction in instance of copy for Expression,johnvg1-0/+4
to avoid abort in collectVariables for a BoundVar git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2237 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-26improve "multiply defined" error, add module names of the definitions to the ↵johnvg3-71/+75
error message git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2234 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-10allow =: again for generic functions without argumentsjohnvg1-5/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2233 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-09optimize fusion, reduce memory used of fusion (from iTask branch):johnvg5-316/+1167
allow integers and strings as consumer for generic functions (to optimize use of generic info). use PR_CurriedFunction instead of PR_Curried for local macro functions that are good producers. check the arity of the function to be generated already in determineProducer, if too large, don't yield a producer which will be rejected later, to allow optimization of producers in subsequent arguments. optimize trivial function calls (with arguments) before optimizing arguments, treat constant function as trivial function. if a function call has two identical arguments, generate a specialized function that shares these parameters. specialize functions with zero arity constructor arguments, if the function is a generic function, or the constructor is a generic constructor. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2232 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-09in lazy record selector offsets for the garbage collector, swap the offsets,johnvg1-0/+8
because the code generator swaps the fields in a FILE node git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2230 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-08increase heap size of the compilerjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2228 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-08add generic function dependencies for generic function definitions,johnvg18-840/+2601
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-05update derive class for deriving generic functions in class context (from ↵johnvg3-9/+26
iTask branch) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2226 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-05add derive class for deriving generic functions in class context (from iTask ↵johnvg12-97/+383
branch) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2225 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-05change type GenericCaseDef, add types GenericCaseFunctions and GCFjohnvg7-205/+200
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2224 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-04add type StringPos (from iTask branch)johnvg4-24/+46
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2223 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-04renumber functions after checking imported modules (from iTask branch)johnvg6-394/+509
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2222 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-04add type constraints in dynamic typesjohnvg8-103/+191
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2221 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-03remove more small differences in module typereify with the iTask branchjohnvg3-42/+42
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2220 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-03remove some small differences in module typereify with the iTask branchjohnvg2-33/+33
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2219 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-04-02add type constraints in constructors and function arguments with universal ↵johnvg29-372/+1285
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
2013-03-26remove unused constructor VI_Refjohnvg1-1/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2215 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-03-25fix freshCopy of TFA var (cv :@: types), (cv :@: types) was not copied in ↵johnvg1-9/+7
this case git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2212 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-03-20restore some code for reopening files that was accidently removedjohnvg1-2/+8
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2209 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-03-19use / instead of \ after Clean System Files in pathsjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2207 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-03-18use / instead of \ in pathsjohnvg1-3/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2205 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-03-18add hierarchical modulesjohnvg1-14/+83
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2204 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-03-18use DirectorySeparator from CoclSystemDependent instead of '\\'johnvg1-1/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2202 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2013-02-07Add function to ti_new_functions immediately when ti_recursion_introduced is ↵johnvg1-14/+14
set, because the new functions in ti_new_functions must be in the right order. - git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2199 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-12-03in function curryGenericArgType1 use TA_Multi while arguments have TA_Multi ↵johnvg1-0/+4
attribute, instead of only for first argument git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2192 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-10-24in the generic representation use RECORD instead of OBJECT and CONS for records,johnvg6-421/+478
change GenericInfo git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2191 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-10-16report a parse error if a strictness annotation or uniqueness attribute is ↵johnvg1-36/+60
used at the end of type or constructor arguments, for example: f :: Int ! -> Int or :: T = C Int * git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2189 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-10-08use path returned by fopenInSearchPaths to create the .tcl file name for ↵johnvg3-24/+21
openTclFile git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2185 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-10-08search and open file before calling wantModulejohnvg6-43/+62
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2184 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-10-02add tsvn:logminsize 1 propertyjohnvg0-0/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2183 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-09-21add hierarchical modulesjohnvg4-94/+149
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2177 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-09-21don't try to remove file extension in BEGenerateCode,johnvg1-29/+0
because of potential ambiguity with hierarchical module names git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2176 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-24pass fun_info.fi_properties of the consumer to function determineProducer,johnvg1-31/+31
instead of only the FI_IsMacroFun bit, this will be used in future versions, for example to recognize generic functions git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2162 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-16don't copy unmodified types in addPropagationAttributesToAType to reduce ↵johnvg3-51/+107
memory usage git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2160 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-16don't copy unmodified types in replaceIntegers to reduce memory usagejohnvg1-37/+53
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2158 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-16optimize local function new_inequality in determine_attribute_of_cons,johnvg1-8/+11
(the inequality is often already present) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2156 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-16optimize function get_markjohnvg1-6/+10
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2154 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-15fix coercibility check of instance of classes with a . before a ↵johnvg1-4/+4
(constructor) class variable git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2152 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-14rename extendable to extensiblejohnvg9-26/+26
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2150 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-14add extendable algebraic data types (merged from iTask branch)johnvg22-160/+445
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2149 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-09remove VI_Expression pointer values after copying a case alternative in the ↵johnvg1-1/+2
fusion algorithm git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2148 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d