aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
AgeCommit message (Collapse)AuthorFilesLines
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
2012-10-24in the generic representation use RECORD instead of OBJECT and CONS for records,johnvg1-5/+7
change GenericInfo git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2191 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-14rename extendable to extensiblejohnvg1-2/+2
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)johnvg1-9/+15
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2149 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-08-08make field aci_linearity_of_patterns of record ActiveCaseInfo strictjohnvg1-1/+1
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 usagejohnvg1-1/+1
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.johnvg1-2/+2
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-02add pattern match test using =: in expressions,johnvg1-2/+4
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-05-03in error message for incorrect field type print name of field instead of ↵johnvg1-1/+2
argument number of record git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2065 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2012-03-23fix implicit qualified import of a module of which no (qualified) symbol is usedjohnvg1-1/+5
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2050 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-10move type TypeCodeVariableInfo to module syntax, remove type ↵johnvg1-7/+6
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 ↵johnvg1-1/+2
module typesupport git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2025 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-11-04remove differences in layout between the compiler and the iTask compilerjohnvg1-10/+11
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1990 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-08-18remove unused constructor PE_Field of type ParsedExprjohnvg1-1/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1960 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-21use strictness annotations in instance member types,johnvg1-9/+20
add instance member types in definition modules git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1932 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-18add instance declarations with a qualified class namejohnvg1-4/+8
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1928 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-15git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1926 ↵johnvg1-5/+12
1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-15remove field icl_copied_from_dcl from type IclModulejohnvg1-17/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1923 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-14use type FunSpecials instead of Specials for specials of functionsjohnvg1-5/+11
(to have fewer differences with the haskell frontend branch) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1921 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-14replace field dcl_macro_conversions by dcl_has_macro_conversions of type ↵johnvg1-1/+1
DclModule (to have fewer differences with the haskell frontend branch), the conversion table for macros is not used after checking git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1919 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-08fix type checking of existential type variables that are used by a dynamic ↵johnvg1-4/+2
expression, but do not occur in the type of a dynamic pattern. TempQDV is used for existential type variables in a dynamic pattern. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1911 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-04use type ImportQualified instead of Bool for fields import_qualified and ↵johnvg1-1/+3
ei_qualified git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1899 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-04-04Remove type argument from_symbol of type Import, it was always type ↵johnvg1-5/+5
ImportDeclaration git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1897 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-03-31use type Component instead of Group in the fusion modules: partition, ↵johnvg1-1/+4
classify and trans, because function pointers for generated functions are stored in the Component, they can be found without searching the new functions list git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1895 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-03-22recognize non generic variables in is_bimap_idjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1889 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-03-21optimize adapters for generic functions using algebraic types which havejohnvg1-3/+4
constructors with only type variable arguments occurring at most once, these types can be optimized if they occur as an argument or result, or as an argument of such a type, of a generic function (and a generic variable is used by the type) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1886 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-03-21remove unused field td_context from type TypeDefjohnvg1-4/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1884 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-03-17pass generic info only to instances for OBJECT, CONS and FIELD,johnvg1-1/+9
call instance functions for OBJECT, CONS and FIELD directly, with generic info git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1881 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-03-04remove shorthand and iso functions from generic ranges,johnvg1-2/+4
first all main instances are build, then all shorthand instances, shorthand instances directly call the main instance (SK_Function instead of SK_Generic), call toGeneric.. and fromGeneric.. functions directly if possible, instead of iso.. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1877 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-02-24git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1858 ↵johnvg1-11/+9
1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2011-02-11use ClassInstanceMember array for ins_members instead of DefinedSymbol array,johnvg1-1/+7
call exported generic instances directly git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1838 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2010-02-09unfold curried producers that are also normal producers if the producerjohnvg1-0/+2
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-05add optimizations for generic bimap,johnvg1-4/+5
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
2009-07-29fix bug that may occur if a let variable is used in another let in an ↵johnvg1-2/+3
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-28mark strict vars with VI_StrictLetVar, transform case of such a varjohnvg1-1/+1
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 otherwisejohnvg1-12/+3
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-02-25add explicit import of generic functionsjohnvg1-2/+3
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 usedjohnvg1-11/+6
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1727 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2008-10-28remove fields gen_cases and gen_star_cases because they are notjohnvg1-2/+0
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
2007-09-11make a![i] unique in yielded element if the yielded array is used only byjohnvg1-1/+6
{a & [i]= } expressions, instead of [i] a sequence of record and array selections may be used. ending with an array selection git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1687 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-09-10rename NormalSelectorUniqueElementResult as UniqueSelectorUniqueElementResult,johnvg1-1/+3
use UniqueSingleArraySelector for a![i] instead of NormalSelector and add UniqueSingleArraySelectorUniqueElementResult git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1686 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-09-05use an integer instead of a string in GenTypeVarjohnvg1-3/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1685 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-09-05use bimapId instead of bimap{|*|} for variablesjohnvg1-8/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1684 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-19remove VI_Defined and VI_LocallyDefined because they are not used anymorejohnvg1-1/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1679 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-19remove unused field cons_arg_vars,johnvg1-6/+5
remove unused field stv_count in STE_BoundTypeVariable, remove unused argument def_macros of type CollectedDefinitions git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1678 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-13implement newtypejohnvg1-3/+8
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1672 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-12implement {# and {! in array comprehensions that create a new arrayjohnvg1-3/+10
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1671 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-11remove string in AP_Empty constructorjohnvg1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1666 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-11rename field cons_index as cons_numberjohnvg1-4/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1665 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2007-04-11move some type definitions from checksupport.dcl to syntax.dcljohnvg1-51/+83
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1659 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d