aboutsummaryrefslogtreecommitdiff
path: root/frontend
AgeCommit message (Collapse)AuthorFilesLines
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 ↵johnvg28-372/+1283
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-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 ↵johnvg2-4/+3
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-09-21add hierarchical modulesjohnvg3-79/+65
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2177 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 extensiblejohnvg8-25/+25
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)johnvg18-155/+425
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
2012-08-09remove several forwarding pointers in the fusion algorithmjohnvg1-15/+46
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2146 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-08optimize coercionsToAttrEnv functionjohnvg1-9/+22
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2144 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-08build the whole st_attr_vars list in function generateFunction, instead of ↵johnvg1-2/+12
building it lazily git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2142 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-08replace function NewAttrVarId by NewAttrVar, improve caching of uniqueness ↵johnvg3-23/+28
attribute variable identifiers git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2140 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-08make field aci_linearity_of_patterns of record ActiveCaseInfo strictjohnvg3-9/+20
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2138 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-07use an unboxed tail strict list for cc_linear_bits to reduce memory usagejohnvg4-34/+57
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2136 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-07fix fusion of a function that is both the consumer and the producer.johnvg2-64/+104
before copying the producer, the type variables are modified to use the type of the producer when updating the types in cases and lets, otherwise a polymorphic type may be specialized, possibly causing a type error later git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2134 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-06move computation of n_args_before_producer and n_producer_args in function ↵johnvg1-74/+70
generateFunction to local function n_args_before_producer_and_n_producer_args git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2132 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-02add pattern match test using =: in expressions,johnvg18-145/+556
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-07-27replace function trySimpleExpressionT that parses either a pattern or an ↵johnvg1-122/+145
expression by functions trySimplePatternT and trySimpleExpressionT git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2126 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-07-27add functions wantPattern and wantExpressionjohnvg1-19/+40
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2124 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-07-27rename some functions in the parser,johnvg1-86/+79
use Pattern instead of LhsExpression and Expression instead of RhsExpression git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2122 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-07-24=: cannot be used anymore for variable definitionsjohnvg1-18/+23
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2120 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-07-16optimize consumer analysis of cases,johnvg1-192/+337
don't create a list of arrays with variable references for each case alternative, instead allocate a few arrays and reuse these, unify and combine the reference counts after each alternative, optimize functions unify_counts and combine_counts, don't sort the case alternatives twice git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2118 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-07-12fix fusion of functions thats only permute the argumentsjohnvg1-157/+116
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2116 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-07-09bug fix: set aci_opt_unfolder to No for a case if extra argument are added ↵johnvg1-10/+24
to the case expression, because the case expression is not identical to the consumer anymore after adding arguments, don't fold in local function possiblyFoldOuterCase if aci_opt_unfolder is No git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2114 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-07-09add function make_consumer_application,johnvg1-57/+20
remove some unused local variables and functions, replace field tfi_geni by tfi_n_args_before_producer and tfi_n_producer_args git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2112 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-07-09compute class_types using a comprehension instead of a fold with some unused ↵johnvg1-17/+4
values git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2110 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-06-18in module classify, unify of Seq n1 [] and Seq n2 [] is Seq (max n1 n2) []johnvg1-7/+11
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2099 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-06-18make local functions of function partitionateAndLiftFunctions global,johnvg1-183/+190
add record PartitioningInfo git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2097 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-06-15in substitute use original type (instead of copy) if possible,johnvg6-129/+179
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
2012-06-14rename type PartitioningInfo to PartitioningState (and fields pi_ to ps_)johnvg1-174/+174
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2092 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-06-14rename field es_symbol_heap of type ExpandState to es_expression_heapjohnvg1-32/+32
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2089 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-06-14rename field cos_symbol_heap to cos_expression_heapjohnvg3-39/+35
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2087 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-06-11remove some unused functionsjohnvg1-38/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2085 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-06-11make RefCount array elements strict, to prevent a space leak of unify thunksjohnvg1-6/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2083 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-25commit bug fix from revision 1735 again:johnvg1-13/+3
keep case_explicit, instead of setting case_explicit to False for all Case expressions (including cases not usings dynamics) in functions using dynamics. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2079 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-25fix bug in var_info_ptr's of new variables added for cases used as arguments ↵johnvg1-174/+75
in sc_call git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2077 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d