Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!YUSOL.BITNET!CS117205 From: CS117205@YUSOL.BITNET Newsgroups: comp.sys.atari.st Subject: Re: Flame on TDI Modula-2 Message-ID: <8704300058.AA26570@ucbvax.Berkeley.EDU> Date: Wed, 29-Apr-87 13:24:43 EDT Article-I.D.: ucbvax.8704300058.AA26570 Posted: Wed Apr 29 13:24:43 1987 Date-Received: Sat, 2-May-87 04:57:30 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 71 Date: Wed, 29 Apr 87 13:17 EDT From: Subject: Re: Flame on TDI Modula-2 To: Info-Atari16@Score.Stanford.edu X-Original-To: Info-Atari16@Score.Stanford.edu, CS117205 From: EDU%"c150-em%sim.Berkeley.EDU@BERKELEY.EDU" 25-APR-1987 04:28 To: CS117205 Subj: Re: Flame on TDI Modula-2! Received: From UCBJADE(BSMTP) by YUSOL with RSCS id 2018 for CS117205@YUSOL; Sat, 25 Apr 87 04:28 EDT Return-Path: Received: from ucbvax.berkeley.edu by jade.berkeley.edu (5.54 (CFC 4.22.3)/1.16.12) id AA22014; Fri, 24 Apr 87 23:48:45 PDT Received: by ucbvax.Berkeley.EDU (5.57/1.23) id AA08235; Fri, 24 Apr 87 23:49:01 PDT Received: by zen.berkeley.edu (5.50/5.17) id AA08756; Fri, 24 Apr 87 23:47:48 PST Received: by ucbvax.Berkeley.EDU (5.57/1.23) id AA08221; Fri, 24 Apr 87 23:48:37 PDT Received: by sim.Berkeley.EDU (5.57/1.16) id AA06055; Fri, 24 Apr 87 23:48:14 PST Date: Fri, 24 Apr 87 23:48:14 PST From: c150-em%sim.Berkeley.EDU@BERKELEY.EDU (Class Account) Message-Id: <8704250748.AA06055@sim.Berkeley.EDU> To: zen!YUSOL.BITNET!CS117205 Subject: Re: Flame on TDI Modula-2! Newsgroups: comp.sys.atari.st In-Reply-To: <8704250326.AA03572@ucbvax.Berkeley.EDU> Organization: University of California, Berkeley Cc: In article <8704250326.AA03572@ucbvax.Berkeley.EDU> you write: >Date: Fri, 24 Apr 87 23:23 EDT >From: >Subject: Flame on TDI Modula-2! >To: Info-Atari16@Score.Stanford.edu >X-Original-To: Info-Atari16@Score.Stanford.edu, CS117205 > > > > The first has to do with the data types which you are permitted to >use with procedure functions (M-2's equivalent of a Pascal function). I >have a set of procedure functions which return vector records (specifically >state information data structures). Well, I stick my definition module >which contained the aforementioned procedure functions, through the compiler, >and guess what I get? A lovely little error 88 in those procedure functions. >I look up in the manual and it says that an error 88 is "function type is >not scalar or basic type". Why does TDI assume that I will never need to pass >a descriptor between modules? That really infuriates me, especially after >what I spent for the original version and then the second upgrade. This is not a bug. Wirth's "Programming in Modula-2 (3rd edition)" says on p.56 "The result of a function procedure cannot be structured." TDI is merely following the Wirth Modula-2 standard. If you need a structured type returned, you must make it a variable parameter of a procedure and return the value that way. > The other thing is sets. Why does Modula-2, limit me to only 128 >elements in a large set? What if I was creating some routines which >required set elements greater than that number (for example the ASCII >character set)? In the same book, p.150, Wirth says a set may have "at most N values, where N is a small constant determined by the implementation, usually the computer's wordsize or a small multiple thereof." By giving you a limit of eight times the Atari's wordsized, TDI is being generous. Besides, the ASCII character set only has 128 members, which is probably why TDI chose this number. So you see, neither one of these problems are bugs, but rather TDI sticking to the Wirth standard for Modula-2. Best of luck Matthew Seitz