From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_20,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!caip!princeton!allegra!ulysses!mhuxr!mhuxt!houxm!ihnp4!inuxc!pur-ee!uiucdcs!ccvaxa!aglew From: aglew@ccvaxa.UUCP Newsgroups: net.lang.ada Subject: Re: Procedure Parameters in Ada Message-ID: <11800001@ccvaxa> Date: Sun, 8-Jun-86 15:11:00 EDT Article-I.D.: ccvaxa.11800001 Posted: Sun Jun 8 15:11:00 1986 Date-Received: Wed, 11-Jun-86 00:14:30 EDT References: <8606042209.AA23350@vrdxhq.uucp> Nf-ID: #R:<8606042209.AA23350@vrdxhq.uucp>:-32:ccvaxa:11800001:000:1152 Nf-From: ccvaxa.UUCP!aglew Jun 8 14:11:00 1986 List-Id: >With the declaration mechanism available in Algol 68, it is possible >to declare "a procedure that has two parameters: an integer and a >procedure that has two parameters: an integer and a procedure that >has two parameters ..." ad infinitum, which is required for strong >type-checking of procedure parameters. Understand that >type equivalence in Algol 68 means structural equivalence, >while type equivalence in Ada means name equivalence -- thus >type-checking is much simpler in Ada. > >Donn Milton Thank you for the reference; I will have to chase it up. Please excuse me, then, if I ask if type equivalennce by name is not possible in a recursive type-mode system? Ie. for the recursion above, couldn't something like type procIrec = procedure ( integer i; procIrec p ) ; be permissible, and also stop the expansion of the type indefinitely? And, more importantly, be distinct from type otherprocIrec = procedure ( integer i; procIrec p ) ; which is structurally, but not name, equivalent. ? Andy "Krazy" Glew. Gould CSD-Urbana. USEnet: ihnp4!uiucdcs!ccvaxa!aglew 1101 E. University, Urbana, IL 61801 ARPAnet: aglew@gswd-vms