Some of the reasons for writing this paper, and the goals I hope to achieve with it are:
Many of the current crop of ARexx interfaces are seriously lacking in one area or another. By pointing out what should be present, and how some of these interfaces are lacking, I hope to encourage applications developers to provide better ARexx interfaces. See some evaluations of current interfaces for details.
Games represent one area where ARexx ports are most notable by their being missing. For pure action games, this probably isn't a problem, but they could be very useful in strategy games.
Just allowing a Rexx-guided strategy allows the user to explore different strategies in a more efficient manner. If the ARexx port includes a way to get a move from the user, then "always do X" situations can be dealt with correctly.
Further, if the game is a multi-player game, then allowing an ARexx script to supply strategy for one player allows users to create their own programmed opponents. This is a facility that is sadly lacking in most multi-player games.
There are already a number of tools floating around that make implementing Rexx ports easy: MinRexx, RexxLib and RexxHostLib, among others.
Finally, this was originally written as a talk for BADGE, and finding BADGE speakers was a continuous problem. Giving one talk myself represent nearly 10% of the number of speakers I have to find.
On to what is ARexx, or up to the contents.
Mike W. Meyer