This is an archive of CompuServe forum messages from 1985 to 1995, as saved in transcripts by John Foust.
Search Results (269 messages)
Why get queezy? On a relocating loader machine nothing is ever the same. None of your code, variables or even constant is guaranteed to load in the same place. But what's the big deal? It's the same on most "sufficiently advanced" computers? Still feel queezy? Take Drammamine! – Steve –
There's the whole problem! C does not differentiate between an array and a pointer. This is certainly untyped and "messy" (not to mention dangerous). Modula-2, in my opinion, has a better approach, but if you really want to, it can behave just like C. – Steve – s
Richie's goal in writing this Mandelbrot program is to prove that you can achieve a greater computational power by using better algorithms, not resorting to brute force. MandFXP is a brute force approach; it is coded in assembler (I think) and uses fixed point math. Richie's program is in M2…
Shhh!!! Richie, don't give my surprizes away!! Have Fun in DECUS, and bring me a T-shirt from DisneyLand (or is it DisneyWorld?? I never remember) – Steve –
You're on the right track. In the pure language definition, constants are NOT variables. Therefore they cannot be modified and they do not (theoretically) take space and therefore don't have an address. Hovewever, reality IS different, and those string constant must be stored somewhere in the code (so you'r right…
Come on Tom! I'm surprised by you! The requirements to pass some parameters as addresses has nothing to do with Modula-2 or any high level language (HLL for short), but it has to do with what the ROM Kernel routines want to see. In numerous instances these routines want to…
#Dead?
Message #96584
Modula-2 is NOT dead!!! So what if some time there is a lull in the conversation? That only means that everyone is doing well and has no outstanding questions. There are currently more M2 compilers for the Amiga than C compilers. Hopefully they'll catch on. So please keep this section…
So create your own tamplate! Simply press the HELP key followed by whatever F-key (or any other key, for that matter), and Emacs will tell you what that key is bound to. Isn't Emacs neat? – STeve –
By saying that the Amiga version of IT's M2 is a different animal from their MS-DOS version, I mean just that. I know it was done by different I know that it's not the same code ported over and it looks quite different. It was even probably coded by different…
The ITC compiler is not "very buggy", not a one-person effort, and IS capable of producing stand-alone code. It is somewhat similar to Benchmark, but has a worse (in my opinion anyway) user interface and better runtime execption handling and termination. It sells for about the same as Benchmark (~$250).…
I agree; Emacs is complicated, but once you get used to it you simply cannot do without it. Very powerful, and the keystrokes just flow off my fingertips…. – Steve –
Interface Technologies' PC compiler is a completely different animal. – Steve –
You should see a review of both Benchmark and the Interface Technologies compilers in the pages of Amazing Computing soon. I've worked with all three compilers. I can safely say that the worst one is the TDI package. Benchmark has a much nicer user interface (in my opinion anyway), but…
Good luck!!! At least the compile is fast!! – Steve –
It could never hurt to know another language. Besides, unfortunately on the Amiga most of everything is done in C, so you're sort of forced into learning it. Also, as the saying goes: "Know Thy Enemy" 😉 – Steve –
Let me get this straight: you are talking about the Benchmark package, right? I can't really tell you if there's enough docs about the editor, as I'm a seasoned Emacs user, and don't bother to look at the docs much. If you really want to, try to get a hold…
Well, certainly the easiest way to port those included .c files would be to place all the global variables in the definition module, so everyone could see and import them. HOWEVER, this is NOT a good programming practice. The right way to do things would be to evaluate all the…
#Modual-2 version of Peck
Message #93809
argv and argc, are VERY C'ish indeed! You won't see them mentioned in any Modula-2 book I know. It so happens that the Benchmark compiler has many C'isms, and that's one of them. Since this stuff is highly implementation-dependent, don't count on it being the same in other Modula-2 packages.…
If you use EMACS, you shouldn't have a problem with keeping track of code in separate modules, as you can load all the pertinent modules into Emacs buffers and search for the desired stuff. I definitely think that splitting things (logically of course) into module helps you create better code…
#Suggested article
Message #93803
Both Richie Bielak and I have worked pretty closely with Leon Frenkel, making suggestions as to how to improve the Benchmark compiler. Richie has already submitted a review of the compiler to AC, and I certainly WILL cover it in future articles. I face somewhat of a dilemma at this…
#85370-
Benchmark M2 (IMPORTANT)
Message #85708
Good luck to you Leon in your future endeavors to bring such a quality product to life. I know I speak for a lot of us by saying that we'll support you all the way. You have a great product, and your user support has been phenomenal. – Steve –
Look for a review of Benchmark Modula-2 in both Amazing Computing (by RichieB) and in Ami Project (by yours truely) some time soon. – Steve –
#85321-
#New Modu release
Message #85704
Good luck, J0rgen!! Tell us all about it when you get back. – Steve – P.S. Oh yeah, have a Grrrrreat time!
#85172-
Dynamic Allocation
Message #85703
Well, there is no STANDARD way of handling memory allocation in Modula-2. There is ALLOCATE and DEALLOCATE, and that's it. As far as I know, the rest is up to the compiler writers. In the TDI implementation, things are as you described them: a call to CreateHeap sets up the…
#85187-
Cmd Line Params
Message #85701
I guess N. Wirth thought that it would make the life of the compiler writer a bit easier if variables of different types aren't allowed to be compatible. – Steve –
Well, I guess you've already got your answer from the best source around, so I'll leave it at that… – Steve –
#79343-
#Modula 2 Pointers
Message #79780
I couldn't find any documentation about the cliStandardInput, currentinput, cliStandardOutput, and the currentoutput fields in the CommandLineInterface record. My bet it that they are of type FileHandle. In experimenting with them (see the program I just uploaded to DL13, DOSTUF.ARC) I found that both input fields were the same, and…
#79343-
#Modula 2 Pointers
Message #79780
I couldn't find any documentation about the cliStandardInput, currentinput, cliStandardOutput, and the currentoutput fields in the CommandLineInterface record. My bet it that they are of type FileHandle. In experimenting with them (see the program I just uploaded to DL13, DOSTUF.ARC) I found that both input fields were the same, and…
#76392-
#Modula-2 GRID files
Message #76803
I haven't used GRID yet, but awhile ago someone else was complaining about having problems with it. Les Caudle of TDI promised he would report that to the boys overseas. I don't know what happened since then. Let me know if you DO get it to work. – Steve –
Negative numbers on a computer are nothing but an illusion: Everything is really a cardinal!! Besides why would you want to print the Octal representation of a negative number?? (And who the hell needs Octal anyway, Richie?? Long Live Hex! :-))
Granted, using the Factorial example to demonstrate recursion is very silly. And I think that Wirth agrees that for Factorials, iteration is preferred. A better example would be something like the Towers of Hanoi or the Knight's Tour problems. See if you can code these using iteration. Then do it…
To include the trapper, just have 'IMPORT Trapper' in the beginning of one of your modules. The trapper traps various errors, prints some useful information and asks you if you want to enter the post-mortem debugger. – Steve – P.S. (While developing a program, ALWAYS import Trapper. It couldnt hurt,…
Well…. I must admit: I haven't sent my payment for ConMan yet. And at this point I don't even know where to send it, as I seem to have misplaced the original distribution file. How about if one of you SYSOPs compile a list of addresses for all the regular…
Well…. I must admit: I haven't sent my payment for ConMan yet. And at this point I don't even know where to send it, as I seem to have misplaced the original distribution file. How about if one of you SYSOPs compile a list of addresses for all the regular…
Aha! Maybe that's what happened. The version that didn't work complained that it couldn't find VD0: – Steve –
Well, I use TDI M2 ver 3.00 with vd0: and I have no problem at all. Since I do NOT have 5 meg wht I do is just load the M2: directory (stripped down a bit) into vd0: and make the compiler resident (using the resident command). Works like a…
I agree; use high level language if EVERYTHING is done in that language only! The Mac software was done in Pascal, so Pascal programming on the Mac is pretty straight forward, but C on the Mac took a while to show up because it didn't "fit" right at first. -…
I agree; use high level language if EVERYTHING is done in that language only! The Mac software was done in Pascal, so Pascal programming on the Mac is pretty straight forward, but C on the Mac took a while to show up because it didn't "fit" right at first. -…
Are you implying that Assembler is easier than C, or are you referring to BCPL? C, I don't have any problems with, but why on earth they used BCPL is beyond me! – Steve –
Not following any of the other threads, that's where! All I got time for is to follow the Modula talk, and I guess this was the first time cheath replied to an M2 question. How does HE have the time??? – Steve –
Silly Rabbit!
This does sound challenging, Jim! Your grievance about TDI not supplying this information is misplaced. This is not the function of the compiler, but the function of the OS. You would have the same problem in C. Offhand I can't think of a solution. If you could get the window…
This does sound challenging, Jim! Your grievance about TDI not supplying this information is misplaced. This is not the function of the compiler, but the function of the OS. You would have the same problem in C. Offhand I can't think of a solution. If you could get the window…
Ok, thanks for the info cheath. By the way, what are you doing on THIS system? What's the matter? BIX can't maintain your interest any longer? 😉 – Steve –
Ok, thanks for the info cheath. By the way, what are you doing on THIS system? What's the matter? BIX can't maintain your interest any longer? 😉 – Steve –
Can you remove messages from the port even if they are not at the head of the list? – Steve –
Can you remove messages from the port even if they are not at the head of the list? – Steve –
#66473-
#Modula and IDCMP
Message #66645
Now that's a neat idea Charlie! But suppose you do that, and process those IDCMP msgs in this 'sneaky' way (without removing them from the port), once the Requester is closed, all of a sudden you'll be getting all these msgs which in reality you've already processed. So how do…
#66473-
#Modula and IDCMP
Message #66645
Now that's a neat idea Charlie! But suppose you do that, and process those IDCMP msgs in this 'sneaky' way (without removing them from the port), once the Requester is closed, all of a sudden you'll be getting all these msgs which in reality you've already processed. So how do…
When open your requester, try using the NOISYREQ flag. I believe this is only in v1.2. This will let the requester pass other IDCMP events. – Steve –
Page 4 of 6