Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!uunet!world!dcp From: dcp@world.std.com (David C. Petty) Newsgroups: comp.lang.forth Subject: Re: Input/Output Keywords: ANS Forth Message-ID: <1991Jun23.053404.24178@world.std.com> Date: 23 Jun 91 05:34:04 GMT References: <676362431.6@egsgate.FidoNet.Org> Reply-To: dcp@world (David C. Petty) Organization: The World @ Software Tool & Die Lines: 34 In article <676362431.6@egsgate.FidoNet.Org>, Mitch Bradley writes: `> Another common practice which had already been disallowed is: `> `>
C! ` `CREATE FOO `TRUE FOO C! FOO C@ ( n ) ` `On all existing systems I know, the number left on the stack is not `a well-formed true flag, and "TRUE =" returns false. ` `What is this example supposed to mean? Well, Mitch, In BASIS 16, section 5.10.1 General Ambiguous Conditions we find: ``Argument type incompatible with specific input parameters.'' While section 5.3 Data Type Compatibility does not list flag as a subrange of char. Since C! takes ( char c-addr -- ) I think it is precisely your example that results in an ``ambiguous condition.'' What is clearly _not_ ambiguous is what all Forth systems do in your example: only store the lower byte of TRUE. Could you comment on this and prehaps discuss the last minute resolution of the EKEY, EKEY?, KEY, KEY? situation as it relates to the char data type? Also I am _sure_ that everyone on the net would appreciate the lyrics to your _Flintstone's Theme_ sing-along at Rochester. -- David C. Petty | dcp@world.std.com | ...!{uunet,bu.edu}!world!dcp /\ POBox Two | CIS: 73607,1646 | BIX, MCIMail: dcp / \ Cambridge, MA | `Whatsoever thou doest to the tip, / \ 02140-0001 USA | doest thou likewise to the ring.' - RAG /______\