aboutsummaryrefslogtreecommitdiff
path: root/frontend
AgeCommit message (Collapse)AuthorFilesLines
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
2012-05-16use record DefCounts with cons_count, sel_count, mem_count and type_count, ↵johnvg1-46/+61
instead of separate arguments git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2076 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-14small fixes to previous commitjohnvg2-4/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2071 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-14import module _SystemDynamic instead of StdCleanTypes if -dynamics is used,johnvg8-651/+281
don't generate type representation in TD; functions, use TypeCodeConstructor and TD_ constructors instead of TypeCodeConstructor.. functions git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2070 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-07fix incorrect array index in function cannot_unifyjohnvg1-1/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2067 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-03in error message for incorrect field type print name of field instead of ↵johnvg3-26/+38
argument number of record git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2065 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-01print some generic contexts using generic_function_name{|kind|}johnvg1-2/+9
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2063 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-05-01don't print unnecessary brackets inside tuple and list typesjohnvg1-3/+9
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2061 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-04-05fix aliases in sub patterns of # or let, for example:johnvg1-1/+8
g # (_,a=:b) = g = (a,b) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2056 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-03-23fix implicit qualified import of a module of which no (qualified) symbol is usedjohnvg7-27/+55
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2050 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-03-19clear me_type_ptr's after type checking,johnvg1-4/+14
if the cached type contained a generic type context, the compiler could crash git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2047 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-12-08prevent compiler crash if a function is defined twice and imported,johnvg1-14/+7
without scope==cGlobalScope errors are reported about predefined symbols (for example _Nil) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2034 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-12-08improve uniqueness error message (by explaining how the 'indicated position' ↵johnvg1-1/+1
is indicated) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2033 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-12-07prevent compile crash if dynamics are enabled and a type synonym is cyclicjohnvg1-1/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2030 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-10move type TypeCodeVariableInfo to module syntax, remove type ↵johnvg18-49/+34
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 ↵johnvg13-494/+535
module typesupport git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2025 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-09adjust more imports after moving types Group and Component to module ↵johnvg3-7/+2
checksupport git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2021 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-09move types Group and Component to module checksupportjohnvg5-20/+11
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2019 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-08rename module StdCompare to compare_typesjohnvg11-355/+9
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2017 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@2016 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-08rename module StdCompare to compare_typesjohnvg8-8/+8
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2015 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-08rename module StdCompare to compare_typesjohnvg2-0/+340
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2014 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-08add import StdComparejohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2013 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d