[comp.lang.rexx] REXX compiler

BOYDJ@QUCDN.QueensU.CA (Jeff Boyd) (08/18/90)

I'm new to this newsgroup, so I hope that I'm not addressing an
issue which has been recently flogged to death.

What is the current state of the world with respect to Rexx
compilers ?  Any good ones out there ?  Bad ones ?  I program
on a VM/CMS machine, but I'm also curious about other operating
systems.

dlb5404@helios.TAMU.EDU (Daryl Biberdorf) (08/19/90)

In article <90230.092947BOYDJ@QUCDN.BITNET> BOYDJ@QUCDN.QueensU.CA (Jeff Boyd) writes:
>
>I'm new to this newsgroup, so I hope that I'm not addressing an
>issue which has been recently flogged to death.
>
>What is the current state of the world with respect to Rexx
>compilers ?  Any good ones out there ?  Bad ones ?  I program
>on a VM/CMS machine, but I'm also curious about other operating
>systems.

The only REXX *compiler* that I know of is the one that IBM sells
for their VM/CMS operating system.

Interpreters exist for VM/CMS, MVS, OS/2, MS-DOS, AmigaDOS, and (presumably
somewhere) UNIX.

--Daryl Biberdorf,  preferred address for private mail: dlbhelp@venus.tamu.edu

geoffp@cup.portal.com (Geoffrey Scott Puterbaugh) (08/19/90)

It *may* have been beaten to death by numerous anaylses
(including one by Cowlishaw??) which showed that Rexx was	
designed to be interpreted, and that a compiler would
do no good.

But I could be wrong!

Geoff Puterbaugh

BOYDJ@QUCDN.QueensU.CA (Jeff Boyd) (08/19/90)

The VM/CMS compiler remains the only one I've heard of as well. No
comments have reached us about its performance. It would be a major
project to produce a decent item, and several statements might never
be implemented (eg. INTERPRET) successfully.

It is certainly something I'd like to see ;  I find Rexx very easy
to program in, and I have solved a few tricky problems with it which
would require programs several times the size in most other languages.
The only gripe is speed  :-).

jearly@lehi3b15.csee.Lehigh.EDU (John Early) (08/20/90)

In article <7530@helios.TAMU.EDU> dlb5404@helios.TAMU.EDU (Daryl Biberdorf) writes:

[...]

>   The only REXX *compiler* that I know of is the one that IBM sells
>   for their VM/CMS operating system.

>   Interpreters exist for VM/CMS, MVS, OS/2, MS-DOS, AmigaDOS, and (presumably
>   somewhere) UNIX.

>   --Daryl Biberdorf,  preferred address for private mail: dlbhelp@venus.tamu.edu

UNIX?  Really??  What is it, and (more importantly) how much is it?

John.

----------------------------------------
John Early                             |
jearly@lehi3b15.csee.lehigh.edu        |  I was just a child then;
JPE1@Lehigh.Bitnet                     |  now I'm only a man.  [pf]
LUJPE@VAX1.cc.lehigh.edu               |

dlb5404@helios.TAMU.EDU (Daryl Biberdorf) (08/20/90)

In article <1066@lehi3b15.csee.Lehigh.EDU> jearly@lehi3b15.csee.Lehigh.EDU (John Early) writes:
>In article <7530@helios.TAMU.EDU> dlb5404@helios.TAMU.EDU (Daryl Biberdorf) writes:
>
>[...]
>
>>   Interpreters exist for VM/CMS, MVS, OS/2, MS-DOS, AmigaDOS, and (presumably
>>   somewhere) UNIX.
>
>>   --Daryl Biberdorf,  preferred address for private mail: dlbhelp@venus.tamu.edu
>
>UNIX?  Really??  What is it, and (more importantly) how much is it?
>
>John.
>

Well, I haven't seen one myself, but *surely* someone has done it.  I'm
seriously considering trying to write one myself, mainly because I'd like
to learn more about compiler/interpreter design.  If I get anywhere with
it this fall, I'll keep this list informed.

(I'm a senior CompSci major, btw....)

--Daryl Biberdorf,  dlb5404@venus.tamu.edu (preferable to @helios.tamu.edu for
                                            private mail.)

QQ11@LIVERPOOL.AC.UK (08/20/90)

In article <7530@helios.TAMU.EDU>, dlb5404@helios.TAMU.EDU (Daryl Biberdorf)
says:
>
....
>Interpreters exist for VM/CMS, MVS, OS/2, MS-DOS, AmigaDOS, and (presumably
>somewhere) UNIX.
Correct on *all* counts.

Alan Thew
University of Liverpool Computer Laboratory
Bitnet/Earn: QQ11@LIVERPOOL.AC.UK or QQ11%UK.AC.LIVERPOOL @ UKACRL
UUCP       : ....!mcsun!ukc!liv!qq11        Voice: +44 51 794 3735
Internet   : QQ11@LIVERPOOL.AC.UK or QQ11%LIVERPOOL.AC.UK @ NSFNET-RELAY.AC.UK

akcs.erk@tronsbox.xei.com (Erk) (08/21/90)

I attended a seminar where some of the details of a COMPLETED REXX
compiler for IBM VM/CMS were detailed.
 
The REXX compiler:
 
   programs run 2-10 times faster than the interpreted
   version. (Depending on program content)
 
   is plug compatible with interpreted REXX
 
   includes comprehensive REXX program documentation via source and
   cross reference listing
 
   provides support of SAA procedures language
 
   exploits eXtended Architecture. (can run above the 16 megabyte line)
 
 
Performance depends upon what your program does.
If your program contains a lot of you can expect performance
improvements on these orders:
 
   Arithmetic operations         6-10  times faster
   with default precision
                              
   Arithmetic operations         4-25  times faster
   with other precision
 
   Assignments                   6-20  times faster
 
   Changes to variables          4-6   times faster
   values, constants and
   simple variables
 
   Reuse of compound variables   2-4   times faster
 
   Host commands                 1-2   times faster
 
 
The compile-time module is written in C and compiled with SAA C/370
Compiler. The run-time module was written in BAL (assembler) and can
be loaded into the Discontiguous Shared Segment.
 
Now, for all of these great features, there must be a price.  :-(
 
   You have to compile in (gulp) a 4 megabyte virtual machine.
   1 megabyte of that is for C/370 library and the REXX compiler. 
 
   Run time storage is about the same amount as the interpreted 
   version plus you need an extra 180 kilobytes for run-time support.
 
   An SVC type argument/parameter interface is required mainly for the
   invocations from assembler programs.
 
   INTERPRET instruction not supported (big surprise, right?) BUT
   you can call the REXX interpreter to provide this support.
 
   TRACE instructions are ignored for the interest of performance
 
 
Now, where can I find a REXX compiler. A good question. It is
currently supported on 
   VM/SP Release 5         (5664-167) 
   VM/SP Release 5 HPO     (5664-173)
   VM/XA System Product 1  (5664-308)
 
   CMS REXX compiler       (5664-390)
   CMS REXX library        (5684-124)
 
 
All of this information is from a document by Bert Moser at IBM
Vienna Software Lab, Austria. There was no copywrite notice, but that
probably doesn't mean beans.
 
-----------------------------------------
 
 Eric Glenn - akcs.erk@tronsbox.xei.com 
 Be alert! The world needs more lerts.
 
-----------------------------------------
 
 
 
 
 
 

bud@cimage.com (Bud Howard/1000000) (08/21/90)

Not only would the _INTERPRET_ command be a tough one to implement, how about
the intrinsic arrays. i.e   MAIL_BOX.0 throught MAIL_BOX.#.  The compiler would
need to know the limitations of this and that would defeat the idealic design
of REXX arrays.

bud

QQ11@LIVERPOOL.AC.UK (08/21/90)

>>Interpreters exist for VM/CMS, MVS, OS/2, MS-DOS, AmigaDOS, and (presumably
>>somewhere) UNIX.
>Correct on *all* counts.
>
REXX for un*x is available from The Workstation Group.
Address:
   The Workstation Group
   6300 North River Road, Suite 700
   Rosemont, Illinois  60018
   (708) 696-4800
   (800) 228-0255
   (708) 696-2277 (FAX)
   uunet!wrkgrp!sales

disclaimer: yes you've guessed it, I don't work for the above !!

mwm@raven.pa.dec.com (Mike (Real Amigas have keyboard garages) Meyer) (08/22/90)

In article <26d00a0a-3d.4comp.lang.rexx-1@tronsbox.xei.com> akcs.erk@tronsbox.xei.com (Erk) writes:

   I attended a seminar where some of the details of a COMPLETED REXX
   compiler for IBM VM/CMS were detailed.

   The REXX compiler:

      is plug compatible with interpreted REXX

My sources indicate that they didn't do the INTERPRET statement. I
don't call that "plug compatable." Of course, I'm one of these warped,
wicked programmers who actually _use_ that statement :-).

In article <26d00a0a-3d.4comp.lang.rexx-1@tronsbox.xei.com> akcs.erk@tronsbox.xei.com (Erk) writes:
   Not only would the _INTERPRET_ command be a tough one to implement, how
   about the intrinsic arrays. i.e   MAIL_BOX.0 throught MAIL_BOX.#.  The
   compiler would need to know the limitations of this and that would defeat
   the idealic design of REXX arrays.

If you're talking about the associative nature of stemmed variables,
that's old compiler technology. On the other hand, if you're talking
about some feature unique to the VM/CMS implementation (I no longer
have access to one, so I can't check), then could you explain it?

	Thanx,
	<mike
--
Take a magic carpet to the olden days			Mike Meyer
To a mythical land where everybody lays			mwm@relay.pa.dec.com
Around in the clouds in a happy daze			decwrl!mwm
In Kizmiaz ... Kizmiaz

RMCCU@CUNYVM (Robert Chambers) (08/22/90)

There are some applications where compiling a REXX exec will not affect
performance much at all, one of these is an exec that does mostly system
calls. IE

Global's, Filedef's ,SET's  and things of this nature.

Interpret of course will not work, but for the most part any programmer
worth his/her salt can come up with ingenous ways around using this function.

If you have an application that is not suitable for compilation thats just
too bad, I mean the last X in REXX does stand for eXecutor after all!

I think people yearning for speed will have to break down and learn
assembler, You won't get any faster than that.  Compiled REXX won't come
close - Unless the REXX compiler is really really intelligent (which I
doubt)

terry@uts.amdahl.com (Lewis T. Flynn) (08/22/90)

In article <90230.092947BOYDJ@QUCDN.BITNET> BOYDJ@QUCDN.QueensU.CA (Jeff Boyd) writes:
>
>What is the current state of the world with respect to Rexx
>compilers ?  Any good ones out there ?  Bad ones ?  I program
>on a VM/CMS machine, but I'm also curious about other operating
>systems.

Personal REXX from Mansfield (for MS/DOS) has an interesting half way 
approach to this. Their implementation (and others, I assume) normally
does a compile and go on your input. They give you the option to compile 
the program and save it on the end of your source (after the ^z) which
can be a fair sized savings. The problem with this over a normal compiler
is that a compile and go process must have a fast compiler and doesn't
produce very fast output.

Disclaimer: I think this is accurate, but I'm repeating from sometimes
faulty memory. If I'm wrong, what do I know.

Terry

QQ11@LIVERPOOL.AC.UK (08/23/90)

In article <90234.100626RMCCU@CUNYVM.BITNET>, RMCCU@CUNYVM (Robert Chambers)
says:
>
>There are some applications where compiling a REXX exec will not affect
>performance much at all, one of these is an exec that does mostly system
>calls....
True.
..
>I think people yearning for speed will have to break down and learn
>assembler, You won't get any faster than that.  Compiled REXX won't come
>close - Unless the REXX compiler is really really intelligent (which I
>doubt)
Assembler isn't always necessary. I and others have found that CMS PIPELINES
(un*x hackers can stop laughing :-)) can give the performance boost required
without having to learn IBM assembler (yuk :-)). The learning curve is easy
and speedups of the order of 10 times have been found.

REXX and PIPELINES were almost made for each other and this solution is also
bit cheaper all round :-)

Alan Thew
University of Liverpool Computer Laboratory
Bitnet/Earn: QQ11@LIVERPOOL.AC.UK or QQ11%UK.AC.LIVERPOOL @ UKACRL
UUCP       : ....!mcsun!ukc!liv!qq11        Voice: +44 51 794 3735
Internet   : QQ11@LIVERPOOL.AC.UK or QQ11%LIVERPOOL.AC.UK @ NSFNET-RELAY.AC.UK

MADIF@ROHVM1.BITNET (Jim Foster) (08/23/90)

In article <90234.100626RMCCU@CUNYVM.BITNET>, Robert Chambers <RMCCU@CUNYVM>
says:
>
>There are some applications where compiling a REXX exec will not affect
>performance much at all, one of these is an exec that does mostly system
>calls. IE
>
>Global's, Filedef's ,SET's  and things of this nature.
>
We've found this to be true.

>Interpret of course will not work, but for the most part any programmer
>worth his/her salt can come up with ingenous ways around using this function.
>
I think this is an overbroad generalization.  Interpret is part of the REXX
language (and a useful part at that).  If a compiler can't compile a valid
REXX program with an interpret statement, then it's not a REXX compiler.
That's why there is now a SHARE requirement for IBM to implement the
interpret statement.  There are certain situations where interpret is the
only reasonable way to accomplish something.  We've discussed this with the
Vienna Software Development Laboratory and Endicott.  They seem to agree with
us.  They also agree that it's quite difficult to actually implement
the interpret statement.

>If you have an application that is not suitable for compilation thats just
>too bad, I mean the last X in REXX does stand for eXecutor after all!
>
>I think people yearning for speed will have to break down and learn
>assembler, You won't get any faster than that.  Compiled REXX won't come
>close - Unless the REXX compiler is really really intelligent (which I
>doubt)
Oh?  What if you've got a 50,000 line REXX application that "yearns for speed"?
How long would it take to re-write it in assembler verses running it through
the compiler?  Assembler programmers don't come cheap and they don't produce
applications as fast as REXX programmers.  There's a lot of existing code out
there that could benefit from compilation with an expense to the company of
a couple of man-days verses several (or many) man-months for an assembler
rewrite.

wfh58@leah.Albany.Edu (William F. Hammond) (08/25/90)

In article <90234.100626RMCCU@CUNYVM.BITNET> RMCCU@CUNYVM (Robert Chambers) writes:
> . . .
>Interpret of course will not work, but for the most part any programmer
>worth his/her salt can come up with ingenous ways around using this function.
> . . .
Back in my days with BASIC
I always wanted an ingenius way to read in a function string like

                   (X**2 + 1)*sqrt(exp(X))

as *input*, i.e., stdin, at execution time and then be able to compute values
of the function without having to write reams of code.  (It's not too bad
if the function can be assumed to be a polynomial.)

With  INTERPRET  it's child's play, and it's great!

Every interpreted language should have the ability to compute a string
and then execute it as a statement in its own language.
----------------------------------------------------------------------
William F. Hammond                   Dept. of Mathematics & Statistics
518-442-4625                         SUNYA, Albany, NY 12222
hammond@leah.albany.edu              wfh58@albnyvms.bitnet
----------------------------------------------------------------------

Jeff Boyd <BOYDJ@QUCDN.QueensU.CA> (08/25/90)

INTERPRET is also a powerful debugging tool for some types of programs. I have
a vm/cms message processing package in which i've implemented a back door to
the INTERPRET command. Anytime the program is running, I can send a Rexx
command to it for execution. I can thus check the status of any variables which
are invisible to the normal user, and without shutting down and adding TRACEs
or SAYs.

mwm@raven.pa.dec.com (Mike (Real Amigas have keyboard garages) Meyer) (08/28/90)

In article <90235.100535MADIF@ROHVM1.BITNET> MADIF@ROHVM1.BITNET (Jim Foster) writes:
   Oh?  What if you've got a 50,000 line REXX application that "yearns for speed"?
   How long would it take to re-write it in assembler verses running it through
   the compiler?

While I agree with you that a complete compiler would be nice, that
question begs for a good answer. To wit:

Years if you do it wrong, weeks if you do it right.

Doing it right means running it through a profiler (you mean you don't
have a Rexx profiler? You should fix that!), and fixing the small
part of it that is actually time-critical. There's a small chance
there aren't any such hot spots, but chances are very good it's only a
couple of percent of the code. Even then, the best fix is to examine
the hot-spots and rewrite them using faster algorithms. If that
doesn't work, you specify the command that would make it fastest, and
have that part written in (choose your favorite compiled language).
Ideally, that language would be Rexx, but...

	<mike
--
How many times do you have to fall			Mike Meyer
While people stand there gawking?			mwm@relay.pa.dec.com
How many times do you have to fall			decwrl!mwm
Before you end up walking?

graham@maths.su.oz.au (Graham Matthews) (08/31/90)

I am new to this group. 
What is Rexx? (I have never heard of it)

Could someone give some examples of its use (eg: a typical
program).

graham

MADIF@ROHVM1.BITNET (Jim Foster) (08/31/90)

In article <graham.652104336@bizet>, graham@maths.su.oz.au (Graham Matthews)
says:
>
>I am new to this group.
>What is Rexx? (I have never heard of it)
>
>Could someone give some examples of its use (eg: a typical
>program).
>
>graham
Here's a little program I use to write a short comment into a file on CMS.
This would probably work okay on a PC.  This program lets you have multiple
comment files.
===========================================================================
/* CM EXEC by James I. Foster Jr.  Started 29 Nov 1988 15:39:38 */
/*                                                                    */
/*  *******************************************************************/
/*                                                                    */
/*  ROUTINE:   CoMment                                                */
/*                                                                    */
/*  PURPOSE:   Add a comment to a file.                               */
/*                                                                    */
/*  AUTHOR & DATE: James I. Foster Jr., November 29, 1988             */
/*                                                                    */
/*  CALLS:                                                            */
/*                                                                    */
/*  REVISIONS:                                                        */
/*            1/4/88 - JIF:  Change "escape" char to '//' instead of  */
/*                           '|'.  Fix minor bugs.                    */
/*                                                                    */
/*  *******************************************************************/
/*                                                                    */
/*
 * Establish defaults
 */
hi = '1DE8'x; lo = '1D60'x                         /* 3270 hilighting */
EMSG = 'EXECIO 1 EMSG (STRING ASICMT'   /* Prepare for error messages */
/*
 * Read in arguments and test for "escape" '//' characters.
 */
parse arg first 3 rest
if first = '//' then                           /* "Escape" character? */
   /*
    * When called with just the "escape" character, or the "escape"
    * character and a whole number, we will display the contents of
    * the current comment file.
    */
   if rest = '' | datatype(rest,'W') then
      call DisplayFile rest                       /* Display the file */
   else do                                                 /* Command */
      /*
       * When called with the "escape" character and a filename, the
       * user can change the default comment file.
       */
      parse var rest fn ft fm extra            /* Look for a filename */
      if extra ^= '' then do
         EMSG'001E Too many arguments.  Type "CM" for help'
         exit 8
         end
      if fn = '' then fn = userid()         /* Setup default filename */
      if ft = '' then ft = 'COMMENTS'
      if fm = '' then fm = 'A'
      /*
       * When called with "escape" and '?', we will show the user what
       * the current comment file is.
       */
      if fn = '?' then
         'GLOBALV SELECT CM LIST FN FT FM'   /* Show current filename */
      else
         'GLOBALV SELECT CM PUTP FN FT FM'   /* Remember new filename */
      end  /* else do */
else do
   /*
    * When the first character is not the "escape" (|) character, then
    * the user probably wants to add a comment to the current comment
    * file.  If we're called with no arguments, give help to the poor
    * user.
    */
   if first = '' then call SoHelpMe
   'GLOBALV SELECT CM GET FN FT FM'   /* Get current comment filename */
   if RC ^= 0 then do
      EMSG'003E Surprise error from GLOBALV.  RC=' RC
      exit RC
      end
   /*
    * If the user has not defined a current comment file, we will
    * assume a reasonable default.
    */
   if fn = '' then fn = userid()
   if ft = '' then ft = 'COMMENTS'
   if fm = '' then fm = 'A'
   'SET CMSTYPE HT'
   'ESTATEW' fn ft                  /* See if the comment file exists */
   Ret = RC
   'SET CMSTYPE RT'
   if Ret = 28 then              /* No, create the file with a header */
      'EXECIO 1 DISKW' fn ft fm '1 V (STRING' fn 'Comments:'
   else                        /* Yes (probably), add comment to file */
      if Ret ^= 0 then do
         EMSG'002E Surprise return code from ESTATEW' fn ft 'RC=' Ret
         exit Ret
         end
   /*
    * If we're called with just a '.' then we'll add just a string
    * of dots to the file.  This might indicate a continuation of
    * the previous comment.
    */
   if first = '.' & rest = '' then
      parse value '.....' with Buf1 Buf2      /* This sets Buf2 to '' */
   else
      parse arg Buf1 116 buf2       /* Only 112 characters of comment */
   do while buf1 ^= ''                                    /* per line */
      'EXECIO 1 DISKW' fn ft fm ,    /* Write the comment to the file */
         '(FINIS STRING' date('U') substr(time(),1,5) Buf1
      parse var Buf2 Buf1 116 Buf2
      end
   end  /* else do */
exit

/*1
 * ========== S U B R O U T I N E S   F O L L O W ==========
 */
/**********************************************************************
 * This procedure will display the current comment file to the screen *
 **********************************************************************/
DisplayFile: procedure
arg Lines                               /* Number of lines to display */
'GLOBALV SELECT CM GET FN FT FM'      /* Get current comment filename */
if RC ^= 0 then do
   EMSG'003E Surprise error from GLOBALV.  RC=' RC
   exit RC
   end
if fn = '' then fn = userid()
if ft = '' then ft = 'COMMENTS'
if fm = '' then fm = 'A'
'LISTFILE' fn ft fm '(STACK L'     /* How many lines are in the file? */
parse pull . . . . . Flen .
'DESBUF'                       /* Kill this stack, we're done with it */
Start = 'MIN'(10,Flen)             /* Default number of lines to type */
if Lines ^= "" then                       /* Does user say different? */
   Start = 'MIN'(Lines,Flen)
Start = Flen - Start + 1                 /* Where do we start typing? */
'VMFCLEAR'                                        /* Clear the screen */
'TYPE' fn ft fm Start                           /* and type the lines */
return  /* from DislpayFile */

                       /* $TLBEG$ SOHELPME RXTOOLS 11/07/88 15:40 JIM */
/*1*********************************************************************
*   S O   H E L P   M E                                               *
***********************************************************************/
/* Called to display help.  Call SetHigh to set HI and LO first.      */

SoHelpMe: procedure expose hi lo
trace o
   call SayStart                                 /* Simulate &BEGTYPE */
   'VMFCLEAR'                 /* Blank out if no clear screen desired */
/*
CM - Add Comments to a comment file

CM                      -  Display this help

CM // <nn>              -  Display last <nn> lines of file.
       10

CM // <fn> <ft>    <fm> -  Set current comment file.
           COMMENTS A

CM // ?                 -  Show current comment file.

CM <comment>            -  Add <comment> to current comment file.

CM .                    -  Add '.....' to current comment file.
*/
   call SayEnd                                  /* Does actual typing */
   call 'DIAG' 8, RestoreVMOut
exit 0
SayStart: Say@Start = SIGL + 3; return
SayEnd: procedure expose Say@Start sigl hi lo
trace o
   Say@End = sigl - 2
   say hi || 'SOURCELINE'(Say@Start) || lo
   do I = Say@Start+1 to Say@End
      say ' ' || sourceline(i)
   end I
return
                       /* $TLEND$ SOHELPME RXTOOLS 11/07/88 15:40 JIM */
==========================================================================
--
Jim Foster - MADIF@ROHVM1.BITNET    DoD #142            Rohm and Haas Company
Systems Programmer                  1984 NightHawk-S    Independence Mall West
(215) 592-2446, 592-3377 (FAX)      1987 Ninja 250      Philadelphia, PA 19105

new@ee.udel.edu (Darren New) (09/01/90)

>>What is Rexx? (I have never heard of it)
>   'GLOBALV SELECT CM GET FN FT FM'   /* Get current comment filename */
>   if RC ^= 0 then do
>      EMSG'003E Surprise error from GLOBALV.  RC=' RC

Well, that certainly cleared things up!  :-) :-) :-)   -- Darren

-- 
--- Darren New --- Grad Student --- CIS --- Univ. of Delaware ---
----- Network Protocols, Graphics, Programming Languages, 
      Formal Description Techniques (esp. Estelle), Coffee -----

Jeff Boyd <BOYDJ@QUCDN.QueensU.CA> (09/01/90)

Eeek ... 'DESBUF' ?  That's the heavy-handed way to clear the stack.
It kills everything, within AND without the program. Like using railroad
spikes when what should be used is finishing nails.

Using 'MAKEBUF' and 'DROPBUF' couplets is better, unless you *really*
need to destroy the stack.

green@vis.toronto.edu (Anthony Thomas Green) (05/11/91)

Any guesses as to how big the Amiga REXX community is? I am just finishing
up a REXX compiler (well... ok, it compiles REXX to C (and is called
REXXTACY! Get it?)) for OS/2 and am considering porting it.

BTW - Any interested beta testers?

Anthony Green				
green@vis.toronto.edu		(416) 340-0887

colin_fox@icecave.wimsey.bc.ca (Colin Fox) (05/11/91)

>Any guesses as to how big the Amiga REXX community is? I am just finishing
>up a REXX compiler (well... ok, it compiles REXX to C (and is called
>REXXTACY! Get it?)) for OS/2 and am considering porting it.
>
>BTW - Any interested beta testers?
>
>Anthony Green				
>green@vis.toronto.edu		(416) 340-0887

Well, the REXX community is fairly large, you would probably sell fairly well.
Also considering that REXX is to be bundled with the next rev. of the OS (due
any time now, from what I understand), you will soon have an even larger
market.

+-------------------------------------+----------------------------------+
| colin_fox@icecave.wimsey.bc.ca      | "...heavy!"                      |
+-------------------------------------+ "There's that word again! Is     |
| Informal home of SIGGRAPH Vancouver,|  there a problem with gravity in |
|          and proud of it!           |  the future?" -- Doc             |
+-------------------------------------+----------------------------------+

andy@research.canon.oz.au (Andy Newman) (05/11/91)

How portable is the C? Could you use it to make a REXX for other
OS's (Unix?)? Sounds like a good idea anyway, fast REXX.
-- 
Andy Newman (andy@research.canon.oz.au) Canon Info. Systems Research Australia
	"If education were illegal would more people would try it?"

don@chopin.udel.edu (Donald R Lloyd) (05/11/91)

In article <91May10.180707edt.8742@orasis.vis.toronto.edu> green@vis.toronto.edu (Anthony Thomas Green) writes:
>Any guesses as to how big the Amiga REXX community is? I am just finishing
>up a REXX compiler (well... ok, it compiles REXX to C (and is called
>REXXTACY! Get it?)) for OS/2 and am considering porting it.
>

	 I think you'll find the Amiga AREXX community to be fairly large, 
especially now that AREXX is bundled with the OS (on every A3000 currently,
and is the upgrade is supposed to be available in June/July).  ARexx support
is also becoming pretty much a requirement for applications to be considered 
'serious'.
     Be warned, though, that you'll be competing with an existing PD ARexx
compiler (though I haven't the slightest idea how good/bad/ugly it is).

>BTW - Any interested beta testers?
>
     Of an Amiga port, sure... maybe by the time it's ported I'll have actually
found the time to learn to program in ARexx myself rather than just using
other people's pre-written scripts :-).


     

-- 
  Gibberish   May the        Publications Editor, AmigaNetwork 
  is spoken   fork() be      Amiga Student On-Campus Consultant, U of D
    here.     with you.      DISCLAIMER:  It's all YOUR fault.

patrick_meloy@icecave.wimsey.bc.ca (Patrick Meloy) (05/12/91)

>Any guesses as to how big the Amiga REXX community is? I am just finishing
>up a REXX compiler (well... ok, it compiles REXX to C (and is called
>REXXTACY! Get it?)) for OS/2 and am considering porting it.
>
>BTW - Any interested beta testers?

As far as 'how big' is concerned, well, every Amiga 3000 out there has Rexx on
it, and a great many older Amigan's have it too. I personally find rexx to be
a wonderfully EASY language to come to grips with (after sorting out the
change in syntax from other languages).

As for a Rexx compiler, GIMME!! We are running a BBS that has rexx TOTALLY
integrated into it. All commands and menus are really Rexx macros and not
built into the binary portion of the program. Rexx is quite fast enough for a
BBS as is, in fact I was running a three line BBS on a plain 2000 for several
weeks a while back (Normally runs on a '020 machine) and nobody noticed a
speed difference.

But, we are planning to go to more lines which will put more demand on the
CPU, and I've been having a blast writing more powerful commands. Rexx is
starting to show its interpretive nature. A compiler for it would be a great
boon in my mind.

+------------------------------------+
| patrick_meloy@icecave.wimsey.bc.ca |
|     Ice Cave BBS, Vancouver,BC     |
+------------------------------------+

bdb@becker.UUCP (Bruce D. Becker) (05/16/91)

In article <91May10.180707edt.8742@orasis.vis.toronto.edu> green@vis.toronto.edu (Anthony Thomas Green) writes:
|Any guesses as to how big the Amiga REXX community is? I am just finishing
|up a REXX compiler (well... ok, it compiles REXX to C (and is called
|REXXTACY! Get it?)) for OS/2 and am considering porting it.


	AmigaDos 2.0 is nearly ready to go out the
	door; AREXX is included as an integral part
	of each & every copy.

	This means that in the next year or so you
	will have a potential audience of several
	million, a significant proportion of which
	would welcome such a development as your
	AREXX compiler.


-- 
  ,u,	 Bruce Becker	Toronto, Ontario
a /i/	 Internet: bdb@becker.UUCP, bruce@gpu.utcs.toronto.edu
 `\o\-e	 UUCP: ...!utai!mnetor!becker!bdb
 _< /_	 "It's the death of the net as we know it (and I feel fine)" - R.A.M.

jet@karazm.math.uh.edu (J Eric Townsend) (05/17/91)

In article <100651@becker.UUCP> bdb@becker.UUCP (Bruce D. Becker) writes:
>In article <91May10.180707edt.8742@orasis.vis.toronto.edu> green@vis.toronto.edu (Anthony Thomas Green) writes:
>|Any guesses as to how big the Amiga REXX community is? I am just finishing
>|up a REXX compiler (well... ok, it compiles REXX to C (and is called
>|REXXTACY! Get it?)) for OS/2 and am considering porting it.

>	AmigaDos 2.0 is nearly ready to go out the
>	door; AREXX is included as an integral part
>	of each & every copy.

AmigDos 2.0 has been shipping for some time, and it does come with
ARexx.

Way cool, man.

Did CBM buy ARexx from Hawes, or did they write their own?

--
J. Eric Townsend - jet@uh.edu - bitnet: jet@UHOU - vox: (713) 749-2126
Skate(UNIX || Amiga);

colin_fox@icecave.wimsey.bc.ca (Colin Fox) (05/21/91)

>In article <100651@becker.UUCP> bdb@becker.UUCP (Bruce D. Becker) writes:
>>In article <91May10.180707edt.8742@orasis.vis.toronto.edu>
>>green@vis.toronto.edu (Anthony Thomas Green) writes:
>>|Any guesses as to how big the Amiga REXX community is? I am just finishing
>>|up a REXX compiler (well... ok, it compiles REXX to C (and is called
>>|REXXTACY! Get it?)) for OS/2 and am considering porting it.
>
>>	AmigaDos 2.0 is nearly ready to go out the
>>	door; AREXX is included as an integral part
>>	of each & every copy.
>
>AmigDos 2.0 has been shipping for some time, and it does come with
>ARexx.
>
>Way cool, man.
>
>Did CBM buy ARexx from Hawes, or did they write their own?
>
>--
>J. Eric Townsend - jet@uh.edu - bitnet: jet@UHOU - vox: (713) 749-2126
>Skate(UNIX || Amiga);

bzzzzt - Sorry, wrong answer, but thanks for playing. 2.0 IS NOT shipping yet,
except packaged with Amiga 3000s.

And Commodore liscenced ARexx from Bill Hawes.

+-------------------------------------+----------------------------------+
| colin_fox@icecave.wimsey.bc.ca      |                                  |
+-------------------------------------+ "What?! I can't be overdrawn!    |
| Informal home of SIGGRAPH Vancouver,|   I still have cheques left!!"   |
|          and proud of it!           |                                  |
+-------------------------------------+----------------------------------+