Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!utgpu!water!watmath!clyde!rutgers!cbmvax!daveh
From: daveh@cbmvax.UUCP
Newsgroups: comp.sys.amiga,comp.lang.modula2
Subject: Re: M2Amiga, another bunch of answers
Message-ID: <2916@cbmvax.UUCP>
Date: Mon, 7-Dec-87 14:31:12 EST
Article-I.D.: cbmvax.2916
Posted: Mon Dec  7 14:31:12 1987
Date-Received: Sat, 12-Dec-87 18:19:13 EST
References: <1221@sugar.UUCP>
Organization: Commodore Technology, West Chester, PA
Lines: 45
Xref: utgpu comp.sys.amiga:11219 comp.lang.modula2:544

in article <1221@sugar.UUCP>, schaub@sugar.UUCP (Markus Schaub) says:

> Yes, you still need the INLINE statement, we still believe that it is possible
> to write everything in Modula-2, so we did not include an inline assembler. 
> If however you want to write Assembly code you can use the object converter 
> to convert your Assembler output into a M2Amiga object file. There you can 
> even use the Open/CloseLibrary mechanism and all other goodies of the
> runtime-system.

Perhaps there's no need for assembler in general programming, but how about
building up Amiga libraries and devices.  Most compilers can't produce the 
required ROMTag, jump table, and especially assembler-specified entry points
into routines (args passed in registers instead of on the stack).  In C
I've done most of a device/library type item in C, but I still use the
Assembler to produce the jump table, ROMTag, and C compatible argument stack
for any objects that need parameters.

> I'm currently working with a syntax directed editor for Modula-2 on the PC
> and now that I'm used to it I think this is a good thing. Forget about
> typing keywords, semicolons, indentation etc. Very nice features are wrap and
> unwrap of LOOP/IF/WHILE etc statements. Select a block and say 'make an IF'.
> Not yet available on the Amiga, and I don't know if it ever will be.

The Emacs I used in college did this (not a MicroEmacs, the one from MIT
written in TECO, with CMU extensions) to a programmable extent, for Pascal.
You could tell it to capitalize your keywords, or give abbreviations for them
that would be expanded.  It knew about indentation and matching END with
BEGIN.  And if you really wanted it, you could tell it to build you an IF,
WHILE, REPEAT, PROCEDURE, etc. framework with all proper syntax.  They never
had it supply ";", but other than that it was kind of a painless version of
a syntax directed editor.  Gosling's emacs on another system there had
"Electric-C", a similar invention for C language.  These systems were pretty
nice.  However, just before I left school, they moved all the Freshmen to
their own VAX with a specialized Pascal environment and Pascal syntax-directed
editor.  This editor was very bad.  It enforced it's idea of what everything
should look like onto the user.  I knew a bit more about structure and 
syntax, but using it was so much pain, I was really glad I started 3 years
earlier.  So it can really go both ways.

>      //	Markus Schaub		uunet!nuchat!sugar!schaub      (713) 523 8422

-- 
Dave Haynie     Commodore-Amiga    Usenet: {ihnp4|uunet|rutgers}!cbmvax!daveh
   "The B2000 Guy"              PLINK : D-DAVE H             BIX   : hazy
		"I can't relax, 'cause I'm a Boinger!"