CompuServe Thread

#Modula-2 Compilers

6 messages in this thread
#10380From: Steve BelczykJul 19, 1989 9:29 PM
Thanks very much for that information, Leon. I appreciate your suggestion to use the Amiga's multitasking instead of doing it in Modula, but this is a product that is being ported to several different platforms, and it's important to us that it look the same on each. We'd like to have our multi-user BBS run as one task, in one window on the Amiga, so the owner could use the machine for other stuff as well. Since I myself am not in the habit of using debuggers, it seems that coroutine support will be the sole issue on which I base my choice. I will have to check out both compiler's abailities in this area and then decide. Thanks again for the information! (P.S. Sorry about the typos; I haven't learned to use the editor yet.)
#10399From: Avant-Garde SoftwareJul 20, 1989 1:33 AM
Steve: As I mentioned in my first message I can supply you with a CoRoutines module, which has the NEWPROCESS() and TRANSFER() functions implemented. In terms of a debugger, I did not consider a debugger to be very useful either, until I actually created the debugger. Since, then I have found the debugger invaluable in finding bugs. I think in the case of a large porting job a debugger will save you countless hours of time. I don't remember if I mentioned this in the previous message, but a full demo of the debugger is available for download from DL 11. In addition you might want to check out the latest issue of The Amiga Sentry(July) which has an excellent review of the debugger and compiler. I am sure you will make the right decision. >> Leon Frenkel <<
#10418From: Steve BelczykJul 20, 1989 7:28 PM
Hello again Leon. From your first message I didn't realize you had actually implemented Modula's own coroutine procedures. I feared that it was sort of a "coroutines-specifically-for-Benchmark" module. This could change everything, because I'm short on bucks so Benchmark's price is especially attractive. Would it be bad form to ask to have a peek at the CoRoutines module before I buy? If it looked to me like it would fit right in with the code I'm porting then I would have to choose Benchmark. Thanks again for your help.
#10420From: Avant-Garde SoftwareJul 20, 1989 8:12 PM
Steve: I am sure that you will find Benchmark Modula-2 your best choice for many reasons. I have tested the CoRoutines module with a program ported from the IBM-PC at it works exactly as it does in other environments. Here is the definition module for the CoRoutines stuff: DEFINITION MODULE CoRoutines; FROM SYSTEM IMPORT ADDRESS; PROCEDURE NEWPROCESS(proc: PROC; workPtr: ADDRESS; workSize: LONGCARD; VAR p1: ADDRESS); (* proc – procedure workPtr – user allocated workspace ptr workSize – user allocated workspace size p1 – process variable *) PROCEDURE TRANSFER(VAR p1, p2: ADDRESS); (* p1 – current process p2 – process to transfer control to *) END CoRoutines. Very simple module, the actual implementation only takes a few instructions. The more obscure IOTRANSFER() procedure is not available since there is no way to make it practical on the Amiga. >> Leon Frenkel <<
#10639From: Steve FaiwiszewskiJul 26, 1989 10:00 PM
Leon, How about uploading your Coroutines module, so the rest of us can use it? – Steve –
#10642From: Avant-Garde SoftwareJul 26, 1989 10:19 PM
Steve: Yes, I can upload the CoRoutines module. I will try to do that in the near future. Have you found some useful use for CoRoutines on the Amiga? >> Leon Frenkel <<