kushmer@bnlux0.bnl.gov (christopher kushmerick) (12/06/89)
Could someone please mail me a description of rexx? -Thanks in advance, -Chris
haroldt@yunexus.yorku.ca (Harold Tomlinson) (12/06/89)
Just how detailed do you want it to be? Rexx (alias rexx-exec) is a version of exec for the IBM. It is really a great language and can now be compiled into load modules. The PC equivilant would be a .bat file. The Unix " would be a shell script. etc. -- Harold Tomlinson Computing Advisor Academic Computing Services York University 4700 Keele St., North York (Toronto) Ontario, Canada. M3J 1P3 ========================================================================== I don't believe in being partial. I abuse everyone equally. ========================================================================== _________ | | | | | | |------| | haroldt@orion.yorku.ca | | | haroldt@vm1.yorku.ca | | o | o haroldt@nexus.yorku.ca ==========================================================================
pgl@cup.portal.com (Peter G Ludemann) (12/11/89)
Harold Tomlinson says: The PC equivilant would be a .bat file. The Unix " would be a shell script. etc. This doesn't come close. REXX is more like Unix shell + awk + usability + system-integration. It is very powerful, yet easy for beginners. There also exists a wide spectrum of tools which use REXX, such as PIPELINEs and XEDIT on CMS (it's too new on OS/2 to have built up such a rich repetoire). REXX is available on CMS, MVS, OS/2 and possibly others. There is also a compiler for CMS. - peter ludemann --- my opinions are my own responsibilty ---
davewt@NCoast.ORG (David Wright) (12/11/89)
Actually, Rexx is much more than a scripting language. .BAT files in MS-Dos are worthless compared to a real script language like Unix/Xenix Sh/Csh/Ksh shells, and even those are very limited compared to Rexx. Rexx allows programs to talk directly to each other, and pass along information that the other program might need to run. This is MUCH different than a simple input/output redirection or pipe, as it can go both ways, and can exist for the life of the 2 programs. One of the better examples would be having a database that could take a phone number from a record, send it to the communications package of your choice, have the comm package dial the correct system, download a list of files generated by another program, with all the programs running at the same time.
akcs.dfrancis@tronsbox.UUCP (Dennis Francis Heffernan) (12/11/89)
rexx is also available for PC's- in the MS-DOS world as (I belive) Personal Rexx, and for Amigas as ARexx. Don't know what you would DO with it on a MS-DOS clone, seeing as how they generally don't multitask, but I assume you must be able to do something with it if someone thought it was worth putting out.
brooking@mcnc.org (Jim Brooking) (12/12/89)
In article <[25835d33:21.3]comp.lang.rexx;1@tronsbox.UUCP>, akcs.dfrancis@tronsbox.UUCP (Dennis Francis Heffernan) writes: > > rexx is also available for PC's- in the MS-DOS world as (I belive) > Personal Rexx, and for Amigas as ARexx. Don't know what you would DO with > it on a MS-DOS clone, seeing as how they generally don't multitask, but I > assume you must be able to do something with it if someone thought it was > worth putting out. I can't resist saying that REXX is, in fact a full-featured programming language complete with variables, arrays, ALL known control structures (if...then...else, do on an index, do while, do until, select (like c's case)), procedures, and about everything else one needs to write programs. It doesn't have a math library (tho hooks are available to link to existing libraries), but it does have an extensive library of character manipulating functions and a powerful string parsing statement. So it is a programming language. And it does NOT have mandatory declaration statements. A variable's type is determined by its usage. PLUS: when the REXX interpreter encounters a statement it doesn't recognize, it passes it out to the "environment" from which the REXX program was invoked, either the operating system, or (in case of CMS and Personal REXX) the editor (XEDIT in CMS or KEDIT in DOSland). Other environments probably exist, but I've been out of the IBM mainframe world for a while and recall only a VM PASSTHRU environment (implemented by the U. of Maine). I heard a GDDM REXX environment was planned, but have no experience with it. Why use REXX? It's so easy to write programs it's almost embarrassing. There's a nice debugger built in, and the language is VERY rich. The result is that you can usually finish writing your REXX program while the PASCAL programmer is still coding declarations. (This is from a personal experience!). The last time "what good it it?" arose in this newsgroup someone commented that he'd written a complete version of the unix "make" command in a afternoon, in around 1,000 statements. Try that in C, PASCAL or FORTRAN sometime! Hear tell someone is working on a REXX implementation for unix. After recently writing my first shell script of any substance, I can't wait for REXX. I predict REXX will be the language of choice for most programmers by 1995. It does need widely available math libraries, and it unfortunately needs to shuck its IBM mainframe stigma. But it's a dynamite language. Try it!! Jim Brooking N.C. Supercomputing Center
maclean@bcarh186.bnr.ca (Mark Maclean) (12/12/89)
In article <24886@cup.portal.com> pgl@cup.portal.com (Peter G Ludemann) writes: >Harold Tomlinson says: > >REXX is available on CMS, MVS, OS/2 and possibly others. There is >also a compiler for CMS. > Does anyone know of a version for UNIX? - The above are not the opinions of my species, my country, or my employer. If you disagree with them then they are not your opinions either!
schwartz@psuvax1.cs.psu.edu (Scott Schwartz) (12/13/89)
In article <5888@alvin.mcnc.org> brooking@mcnc.org (Jim Brooking) writes: >I can't resist saying that REXX is, in fact a full-featured programming >language complete with variables, arrays, ALL known control structures Not really... It doesn't have continuations (like Scheme or Self), nor does it have coroutines (like the unix shell languages!). -- Scott Schwartz <schwartz@shire.cs.psu.edu> "More mips; cheaper mips; never too many." -- John Mashey
davewt@NCoast.ORG (David Wright) (12/13/89)
In article <1989Dec12.160943.16118@psuvax1.cs.psu.edu> schwartz@psuvax1.cs.psu.edu (Scott Schwartz) writes: >Not really... It doesn't have continuations (like Scheme or >Self), nor does it have coroutines (like the unix shell languages!). That's not quite true. If something can be done in other languages, it can be done in Rexx by simply writing a function in another language that CAN do it! If you want a random number generator, you could write it in C. If you want a windowing system or pop-up file requester, do it in some other language. That's the great thing about Rexx. The language is as extensible as you want to make it. Dave
mks@cbmvax.UUCP (Michael Sinz - CATS) (12/13/89)
In article <5888@alvin.mcnc.org> brooking@mcnc.org (Jim Brooking) writes: >In article <[25835d33:21.3]comp.lang.rexx;1@tronsbox.UUCP>, akcs.dfrancis@tronsbox.UUCP (Dennis Francis Heffernan) writes: >> >> rexx is also available for PC's- in the MS-DOS world as (I belive) >> Personal Rexx, and for Amigas as ARexx. Don't know what you would DO with >> it on a MS-DOS clone, seeing as how they generally don't multitask, but I >> assume you must be able to do something with it if someone thought it was >> worth putting out. > >I can't resist saying that REXX is, in fact a full-featured programming >language complete with variables, arrays, ALL known control structures >(if...then...else, do on an index, do while, do until, select (like c's >case)), procedures, and about everything else one needs to write >programs. It doesn't have a math library (tho hooks are available >to link to existing libraries), but it does have an extensive library >of character manipulating functions and a powerful string parsing >statement. So it is a programming language. And it does NOT have >mandatory declaration statements. A variable's type is determined by its >usage. > >PLUS: when the REXX interpreter encounters a statement it doesn't >recognize, it passes it out to the "environment" from which the >REXX program was invoked, either the operating system, or (in case >of CMS and Personal REXX) the editor (XEDIT in CMS or KEDIT in DOSland). >Other environments probably exist, but I've been out of the IBM >mainframe world for a while and recall only a VM PASSTHRU environment >(implemented by the U. of Maine). I heard a GDDM REXX environment >was planned, but have no experience with it. And, on the Amiga, many aplications rangeing from editors to database apps to spreadsheets to compilers to etc. And, in enviroments such as the Amiga (and UNIX) it can communicate with multiple applications. (At the same time...) Plus it is REXX... > >Why use REXX? It's so easy to write programs it's almost embarrassing. >There's a nice debugger built in, and the language is VERY rich. The >result is that you can usually finish writing your REXX program while >the PASCAL programmer is still coding declarations. (This is from a personal >experience!). The last time "what good it it?" arose in this newsgroup >someone commented that he'd written a complete version of the unix >"make" command in a afternoon, in around 1,000 statements. Try that >in C, PASCAL or FORTRAN sometime! > >Hear tell someone is working on a REXX implementation for unix. >After recently writing my first shell script of any substance, >I can't wait for REXX. I predict REXX will be the language of >choice for most programmers by 1995. It does need widely available >math libraries, and it unfortunately needs to shuck its IBM mainframe >stigma. But it's a dynamite language. Try it!! > > Jim Brooking > N.C. Supercomputing Center /----------------------------------------------------------------------\ | /// Michael Sinz -- CATS/Amiga Software Engineer | | /// PHONE 215-431-9422 UUCP ( uunet | rutgers ) !cbmvax!mks | | /// | |\\\/// When people are free to do as they please, | | \XX/ they usually imitate each other. | \----------------------------------------------------------------------/
schwartz@psuvax1.cs.psu.edu (Scott Schwartz) (12/13/89)
In reply to someone claiming REXX supported all known control structures, I wrote: >>Not really... It doesn't have continuations (like Scheme or >>Self), nor does it have coroutines (like the unix shell languages!). David Wright writes: > That's not quite true. If something can be done in other languages, >it can be done in Rexx by simply writing a function in another language >that CAN do it! If you want a random number generator, you could write it >in C. If you want a windowing system or pop-up file requester, do it in >some other language. That's the great thing about Rexx. The language is as >extensible as you want to make it. I disagree.... while you could write a simulator for Scheme or /bin/sh in REXX, it's not the same as being able to do certain operations directly in a REXX program. Certainly the things I mentioned are nothing like external routines written in other languages; they require features REXX simply has no conception of. Anyway, let's not get carried away with this. REXX is a fine language; not supporting every known control structure is nothing to be ashamed of! -- Scott Schwartz <schwartz@shire.cs.psu.edu> "More mips; cheaper mips; never too many." -- John Mashey
bdb@becker.UUCP (Bruce Becker) (12/14/89)
In article <1605@bnr-rsc.UUCP> bnr-rsc!bcarh186!maclean () writes: |In article <24886@cup.portal.com> pgl@cup.portal.com (Peter G Ludemann) writes: |>Harold Tomlinson says: |> |>REXX is available on CMS, MVS, OS/2 and possibly others. There is |>also a compiler for CMS. The Commodore Amiga has an excellent version called ARexx. It was so useful that Commodore decided to integrate it directly into the next release of the operating system. This is a big win due to the multi-tasking message-passing structure of the o/s, so ARexx is a real natural way to make that stuff available in a command language. |Does anyone know of a version for UNIX? As far as I know the author of ARexx is working on a UNIX version for Amix, the System V r4.0 port to the Amiga 2500 (nice system - 25MHz 68030 + 68882. The UNIX port is in alpha test already)... Cheers, -- ^^ Bruce Becker Toronto, Ont. w \**/ Internet: bdb@becker.UUCP, bruce@gpu.utcs.toronto.edu `/v/-e BitNet: BECKER@HUMBER.BITNET _/ >_ "The Rounder I Go, the Faster I Get" - Tenderfeed for QuodUseNet
davewt@NCoast.ORG (David Wright) (12/14/89)
In article <1989Dec12.235944.7970@psuvax1.cs.psu.edu> schwartz@psuvax1.cs.psu.edu (Scott Schwartz) writes: >In reply to someone claiming REXX supported all known >control structures, I wrote: >>>Not really... It doesn't have continuations (like Scheme or > >I disagree.... while you could write a simulator for Scheme or /bin/sh >in REXX, it's not the same as being able to do certain operations >directly in a REXX program. Certainly the things I mentioned are >nothing like external routines written in other languages; they require >features REXX simply has no conception of. > >Anyway, let's not get carried away with this. REXX is a fine language; >not supporting every known control structure is nothing to be ashamed >of! You obviously have never really USED Rexx, or any other extensible language. Your argument that because it doesn't do something "out of the box", Rexx must be lacking something is completely wrong. As any FORTH programmer can tell you, what comes out of the box is just the beginning. The only limits to ANY language are the real, factual, limitations of the implementation. Now if Rexx did not really support the writing of modules in other languages, and these additions were just "patch jobs", you would be at least half right. But in many implementations of Rexx (and I suspect all), the commands are NOT resident in one piece, but consists of a combinations of other Rexx macros AND some executable data. What is this executable data written in? Usually C or some other language. Adding in new sub-modules to Rexx is part of working with it. Unlike shell scripts, where the output of other programs is pretty limited in how it may be returned to the shell script, Rexx programs can INTERACTIVELY exhange data with other Rexx programs or completely different programs which have Rexx "ports" for communication (similar to BSD named pipes). This is not outside the normal way of interacting with Rexx, and many Rexx programmers (myself included) gradually build up a small library of functions that we use when building new Rexx applications. To judge modern or by definition extensible langues such as Rexx or FORTH with the same standards used for more limited languages such as BASIC, Fortran, or COBOL is like comparing apples and oranges. The whole underlying philosophy of the structure of the language is different, and requires a different mind-set to work with it.
akcs.dfrancis@tronsbox.UUCP (Dennis Francis Heffernan) (12/14/89)
Didn't mean to imply that I thought rexx was useless outside of a multitasking environment; just that as an interpreted language I don't think it really substitutes for something like Pascal or C. I USE it as a sub for those languages, but mainly because my poor beleagured Amy (1 meg, three floppies) can't really handle anything meaty like Lattice C. (Neither can my brain, at this point...)
davida@umd5.umd.edu (David Arnold) (12/15/89)
In article <1989Dec12.160943.16118@psuvax1.cs.psu.edu> schwartz@psuvax1.cs.psu.edu (Scott Schwartz) writes: >In article <5888@alvin.mcnc.org> brooking@mcnc.org (Jim Brooking) writes: >>I can't resist saying that REXX is, in fact a full-featured programming >>language complete with variables, arrays, ALL known control structures > >Not really... It doesn't have continuations (like Scheme or >Self), ... Hey, I don't know about Scheme or Self, but if you're talking about line continuations, REXX does have that. Just put a comma at the end of the line and continue on the next line. What could be simpler? If you are referring to some other kind of 'continuation', then I'm not familiar with that usage. David Arnold Internet: davida@umd5.umd.edu Bitnet: davida@umdd UUCP: uunet!cvl!umd5.umd.edu!davida
MJB@cup.portal.com (Martin J Brown-Jr) (12/15/89)
IMHO, the important thing to realize in AREXX (REXX?) is that you don't just pipe data , but you can actually send COMMANDS to a program via an AREXX port (provided, of course, the developer allows it). Since the dos shell I run on my amiga (WShell) has an arexx port, I can command arexx'd programs, with their own commands, from the shell command line. These programs need only be running, their windows/screens do not need to be activated for them to receive and act on these commands. This can be an interactive process, not just a pre-planned script. All we need now, is an AREXX'd neural-net. <----- current soapbox :-> - MJB -
jac@muslix.llnl.gov (James Crotinger) (12/16/89)
In article <1989Dec13.222001.10720@NCoast.ORG> davewt@NCoast.ORG writes: > > You obviously have never really USED Rexx, or any other extensible >language. Your argument that because it doesn't do something "out of the >box", Rexx must be lacking something is completely wrong. >..... > To judge modern or by definition extensible langues such as >Rexx or FORTH with the same standards used for more limited languages such >as BASIC, Fortran, or COBOL is like comparing apples and oranges. The >whole underlying philosophy of the structure of the language is different, >and requires a different mind-set to work with it. I think there's a bit of confusion on what is meant here by "extensible". REXX (ARexx at least) is indeed very extensible in that you can write your own REXX function hosts and function libraries that essentially add new functions to the REXX language. However you cannot extend the syntax of REXX. This is what would be required to add continuations. (REXX's dynamical scoping does allow you to do some strange things but it has its limits). In this sense I don't see how REXX is much different from other procedural languages. Certainly its lack of datatypes makes it much too low level a language to do most types of programming in (IMHO). Don't get me wrong---I'm a big fan or REXX. It's very easy to write and debug simple programs. Its interprocess communications abilities coupled with the widespread support in commercial applications on the Amiga have made AREXX an extremely important part of a productive Amiga environment. Jim
peter@ficc.uu.net (Peter da Silva) (12/16/89)
In article <25873536:21.9comp.lang.rexx;1@tronsbox.UUCP> akcs.dfrancis@tronsbox.UUCP (Dennis Francis Heffernan) writes: > those languages, but mainly because my poor beleagured Amy (1 meg, three > floppies) can't really handle anything meaty like Lattice C. Well then use Manx. I've done most of my development on an Amiga with 512K and 2 floppies. Manx is quite usable in that environment. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
mwm@raven.pa.dec.com (Mike (With friends like these, who needs hallucinations) Meyer) (12/16/89)
>> You obviously have never really USED Rexx, or any other extensible >> language. Your argument that because it doesn't do something "out of the >> box", Rexx must be lacking something is completely wrong. >> As any FORTH programmer can tell you, what comes out of the >> box is just the beginning. The only limits to ANY language are the real, >> factual, limitations of the implementation. Either there's something really spiffy I'm missing in REXX (that would be nice), or you've not really used FORTH or LISP (my personal favorite) or any other extensible language. What both of those have that I can't find in REXX is the ability to create new control structures. REXX let's me add all kinds of new functions, and neat new commands, and so on. But I can't add something like the C switch statment. In LISP (and I assume FORTH, but couldn't do it myself) I can do things like that. <mike -- -- When all our dreams lay deformed and dead Mike Meyer We'll be two radioactive dancers mwm@berkeley.edu Spinning in different directions ucbvax!mwm And my love for you will be reduced to powder mwm@ucbjade.BITNET
pgl@cup.portal.com (Peter G Ludemann) (12/16/89)
If you want pipes with REXX (coroutining, etc.), there is a package available on CMS called (surprise!) PIPELINES. It is much more powerful than Unix pipes (pipes can be named, can split and join, etc.). - peter ludemann --- my opinions are my own responsibility ---
terry@uts.amdahl.com (Lewis T. Flynn) (12/19/89)
In article <41652@lll-winken.LLNL.GOV> jac@muslix.llnl.gov (James Crotinger) writes: > > However you cannot extend the syntax of REXX. This is what would be >required to add continuations. Continuations are in the original REXX definition, perhaps the implementor of AREXX left them out (or perhaps I don't understand the discussion). At any rate, on page 19 of "The REXX Language" (by M.F. Cowlishaw) it says that REXX will assume a semicolon at the end of a line unless 1) the line ends in an unterminated comment, or 2) the last non comment token was a comma in which case, the comma is replaced by a blank and the line is continued. Pardon me if this has been answered, but I've been away and am just catching up. Terry
terry@uts.amdahl.com (Lewis T. Flynn) (12/19/89)
In article <ba2y02PR75Bo01@amdahl.uts.amdahl.com> I wrote: >of AREXX left them out (or perhaps I don't understand the discussion). Later reading says I sure didn't understand, sorry. Terry