Age | Commit message (Collapse) | Author | Files | Lines |
|
print expression in error message in cannot_unify
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2732 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
should be converted in module convertDynamics, instead of storing a list with one nilPtr in fi_dynamics,
remove unnecessary Let expressions with unused variables by
initializing with VI_NotUsed instead of VI_Empty
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2724 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2671 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2424 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
unique
(the type definition has a * on the left),
add Bool to GTT_Constructor to indicate uniqueness,
generate TCE_UnqType in TypeCode for unique GTT_Constructor's,
this uniqueness property should be propagated, but this is not implemented yet
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2336 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2249 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
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
|
|
branch)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2225 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2224 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2223 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2221 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
quantifier (from iTask branch)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2218 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2215 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
change GenericInfo
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2191 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2150 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2149 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2138 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2136 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
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
|
|
argument number of record
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2065 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2050 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
DynamicValueAliasInfo,
adjust imports
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2027 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
module typesupport
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2025 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1990 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1960 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1928 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1923 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
(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
|
|
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
|
|
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
|
|
ei_qualified
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1899 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
ImportDeclaration
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1897 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1889 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1884 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
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
|
|
1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
call exported generic instances directly
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1838 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
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
|
|
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
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1745 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1728 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|