Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-compiler-and-rts
compiler
Commits
474ffd08
Commit
474ffd08
authored
Mar 20, 2000
by
Sjaak Smetsers
Browse files
*** empty log message ***
parent
2c292fb3
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
frontend/type.icl
View file @
474ffd08
This diff is collapsed.
Click to expand it.
frontend/typesupport.dcl
View file @
474ffd08
...
...
@@ -5,7 +5,7 @@ import checksupport, StdCompare
from
unitype
import
Coercions
,
CoercionTree
,
AttributePartition
// MW: this switch is used to en(dis)able the fusion algorithm
SwitchFusion
fuse
dont_fuse
:==
fuse
SwitchFusion
fuse
dont_fuse
:==
dont_
fuse
errorHeading
::
!
String
!*
ErrorAdmin
->
*
ErrorAdmin
...
...
@@ -29,13 +29,16 @@ instance <:: SymbolType, Type, AType, [a] | <:: a
cleanSymbolType
::
!
Int
!*
TypeHeaps
->
(!
SymbolType
,
!*
TypeHeaps
)
extendSymbolType
::
!
SymbolType
!
Int
!*
TypeHeaps
->
(!
SymbolType
,
!*
TypeHeaps
)
cleanUpSymbolType
::
!
TempSymbolType
![
TypeContext
]
![
ExprInfoPtr
]
!{!
CoercionTree
}
!
AttributePartition
!*
VarEnv
!*
AttributeEnv
!*
TypeHeaps
!*
ExpressionHeap
!*
ErrorAdmin
->
(!
SymbolType
,
!*
VarEnv
,
!*
AttributeEnv
,
!*
TypeHeaps
,
!*
ExpressionHeap
,
!*
ErrorAdmin
)
cSpecifiedType
:==
True
cDerivedType
:==
False
cleanUpSymbolType
::
!
Bool
!
TempSymbolType
![
TypeContext
]
![
ExprInfoPtr
]
!{!
CoercionTree
}
!
AttributePartition
!*
VarEnv
!*
AttributeEnv
!*
TypeHeaps
!*
VarHeap
!*
ExpressionHeap
!*
ErrorAdmin
->
(!
SymbolType
,
!*
VarEnv
,
!*
AttributeEnv
,
!*
TypeHeaps
,
!*
VarHeap
,
!*
ExpressionHeap
,
!*
ErrorAdmin
)
expandTypeApplication
::
![
ATypeVar
]
!
TypeAttribute
!
Type
![
AType
]
!
TypeAttribute
!*
TypeHeaps
->
(!
Type
,
!*
TypeHeaps
)
equivalent
::
!
SymbolType
!
TempSymbolType
!{#
CommonDefs
}
!*
AttributeEnv
!*
TypeHeaps
->
(!
Bool
,
!*
AttributeEnv
,
!*
TypeHeaps
)
equivalent
::
!
SymbolType
!
TempSymbolType
!
Int
!{#
CommonDefs
}
!*
AttributeEnv
!*
TypeHeaps
->
(!
Bool
,
!*
AttributeEnv
,
!*
TypeHeaps
)
::
AttrCoercion
=
{
ac_demanded
::
!
Int
...
...
@@ -51,6 +54,10 @@ equivalent :: !SymbolType !TempSymbolType !{# CommonDefs} !*AttributeEnv !*Type
,
tst_attr_env
::
![
AttrCoercion
]
}
::
FunctionType
=
CheckedType
!
SymbolType
|
SpecifiedType
!
SymbolType
![
AType
]
!
TempSymbolType
|
UncheckedType
!
TempSymbolType
|
ExpandedType
!
SymbolType
!
TempSymbolType
!
TempSymbolType
|
EmptyFunctionType
updateExpressionTypes
::
!
SymbolType
!
SymbolType
![
ExprInfoPtr
]
!*
TypeHeaps
!*
ExpressionHeap
->
(!*
TypeHeaps
,
!*
ExpressionHeap
)
class
substitute
a
::
!
a
!*
TypeHeaps
->
(!
a
,
!*
TypeHeaps
)
...
...
frontend/utilities.dcl
View file @
474ffd08
...
...
@@ -71,6 +71,7 @@ where
fold_st2
xs
[]
st
=
abort
(
"fold_st2: first argument list contains more elements"
)
// foldSt :: !(.a -> .(.st -> .st)) ![.a] !.st -> .st
foldSt
op
l
st
:==
fold_st
l
st
where
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment