[net.micro] 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

ron%brl-vgr@sri-unix.UUCP (11/08/83)

From:      Ron Natalie <ron@brl-vgr>

I think ZBEN is correct.  As I recall the call on our DEC-10
just got returned you some "heap" space.  The adhoc freeing up
call released all heap space beyond the point specified.

-Ron
point it out again.  When using
the Tektronics 4027 or it's monochrome sibling the 4025, cursor addressing
will seem to break when doing things like playing games where you type
while the computer is drawing on the screen.

The problem is that the thing does not really work full duplex.  The
commands are made by sending the (user redefinable but by default !)
command character and following it with text string which is the command.
Commands are terminated with another command character or a return.
The commands may be initiated by sending them from the computer or you
may type the command character on the keyboard and the terminal then
intercepts what you type and processes it.  This would be fine except that
there is a bug (misfeature?) that when the command character came from
the computer what is typed on the keyboard is still intercepted and processed
as part of the command.  What this means is that when the computer has
sent "!line 12" as the first part of a command and you interrupt it by
typing "d" it processes "!line 12d" which is invalid and then the rest
of the command comes from the computer and since the thing has been thrown
out of command mode by the invalid command, it is displayed on the screen.

Yucco.

-Ron