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