[net.micro.apple] In Defense of Apple Pascal

CSvax:Pucc-H:Pucc-I:Pucc-K:ags@pur-ee.UUCP (10/30/83)

Dave Newkirk writes of Apple Pascal:

  "It is a good implementation of the language, lacking only the NEW() function
for memory allocation."

  I agree that it is a good implementation of the language, but NEW() works
just fine on my Apple Pascal 1.1 system.  I suspect he meant that DISPOSE()
is not implemented, which is true.  There are MARK() and RELEASE() procedures
offered as a partial substitute.

				Dave Seaman
				..!pur-ee!pucc-k:ags

brp@ihuxm.UUCP (11/04/83)

No-the New() procedure does not work properly in Apple Pascal.
Memory must be allocated using New() and released in a particular
order or disastrous results are likely to be achieved.  The 
implementation of new should be user-transparent and it is not.
Apple Pascal does not keep an available list of free memory for
new-just as the they do not dynamically allocate strings-another
weakness.  I still like the implementation, however.

		Ben Priest

zben@umcp-cs.UUCP (11/05/83)

[..]

     I am not surprised that beginners would run into the 
     "procedure too long" limitation.  Beginners' programs typically contain 
     long stretches of straightline "stream-of-consciousness" code...  
       Dave Seaman

We had a "dinosaur" user who got the same type of diagnostic.  His program
turned out to be one 4000 line procedure!  (Yes, he was an EE...)  I got
the same diagnostic on a monster case statement later that year.

     No-the New() procedure does not work properly in Apple Pascal.
     Memory must be allocated using New() and released in a particular
     order or disastrous results are likely to be achieved...   
       Ben Priest

Isn't this really a problem with the release function?  I had understood
that standard Pascal didn't HAVE a release function.  I have always
programmed a free-list routine so records of each type might be reused.

Ben Cranston        ...seismo!umcp-cs!zben      zben@umd2.ARPA