Go backward to
Parameter Lists
Go up to
Top
Go forward to
Semantics of Parameter Lists
Typing of Parameter Lists
Typing rules:
pi
-U-
pi
1
|- U:
theta
pi
|-
define
I(F) = U: {I:
pi
1
->
theta
}
dec
pi
|- D:
pi
1
dec
pi
|-
invoke
I(D):
theta
if (I:
pi
1
->
theta
) in
pi
pi
1
=
type-attrs
(F)
type-attrs
(I:
theta
) = {I:
theta
}
type-attrs
(F
1
, F
2
) =
type-attrs
(F
1
) U
type-attrs
(F
2
)
Example:
var
A
:
newint
;
proc
P
(
W
:
intexp
,
X
:
intloc
,
Y
:
comm
,
Z
:
comm
->
comm
)
=
X
:=
W
;
call
Z
(
Y
);
proc
Q
=
A
:=0
in call
P
(
fun
W
=@
A
+2,
proc
Y
=
call
Q
,
alias
X
=
A
,
proc
Z
(
C
:
comm
) =
call
C
)
Labeled parameter passing (Ada).
Wolfgang.Schreiner@risc.uni-linz.ac.at
Id: parameter.tex,v 1.1 1996/04/25 11:40:48 schreine Exp schreine