Xref: utzoo comp.lang.misc:7328 comp.arch:21935 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!snorkelwacker.mit.edu!bloom-beacon!eru!hagbard!sunic!zyx!bd From: bd@ZYX.SE (Bjorn Danielsson) Newsgroups: comp.lang.misc,comp.arch Subject: Re: Algol68 Message-ID: <1991Apr08.235109.11628@ZYX.SE> Date: 8 Apr 91 23:51:09 GMT References: <9168@castle.ed.ac.uk> <4202@zaphod.UUCP> <801@taniwha.UUCP> <4217@zaphod.UUCP> <809@taniwha.UUCP> Organization: ZYX Sweden AB, Stockholm, Sweden Lines: 21 In article <809@taniwha.UUCP> paul@taniwha.UUCP (Paul Campbell) writes: > [text deleted] > >PS: for those who don't know even the revised report contains ambiguity, >the most common example is: > > union([]int , struct (int a, b, c)) fred = (1,2,3); > That example isn't a legal Algol-68 declaration: the source (right-hand part) must be the coercee of a "united to" coercion in order to be acceptable as a union value for the identity-declaration. But the syntactic "sort" of a "united to" coercend is "meek" according to section 6.4.1.a, and a collateral clause like "(1,2,3)" is only allowed in a "strong" position according to section 3.3.1. I'm sure there are bugs in the revised report, but that wasn't one of them. (My source is the Springer-Verlag edition from 1976, ISBN 3-540-07592-5) -- Bjorn Danielsson, ZYX Sweden AB, +46 (8) 665 32 05, bd@zyx.SE