|Unintended polymorphism in Algol 60 email@example.com (John Cowan) (1995-06-23)|
|Re: Unintended polymorphism in Algol 60 firstname.lastname@example.org (1995-06-27)|
|From:||email@example.com (Gordon V. Cormack)|
|Organization:||University of Waterloo|
|Date:||Tue, 27 Jun 1995 15:02:33 GMT|
John Cowan <firstname.lastname@example.org> wrote:
>1) Some Algol 60 procedures seem to be polymorphic. Consider:
> 'procedure' foo(a, b, c) 'begin'
> a := b + c
I think that a,b,c are implicitly typed but I'm not sure.
>2) A parameter of type procedure in Algol 60 doesn't have any type or
>calling-convention information about the parameters. How does one know
>whether to supply thunks or values, and what type of values? Since there
>are no variables of procedure type, thank Ghu, a complete flow trace is
>possible, but is this really necessary?
This is a well-known screwup from FORTRAN, repeated in Algol 60, corrected in
Algol 68, but repeated again in Algol W, Pascal, and C. Pascal and C have
since been fixed. It requires a run-time type check.
Gordon V. Cormack CS Dept, University of Waterloo, Canada N2L 3G1
Return to the
Search the comp.compilers archives again.