Running APL*PLUS/PC & APLSE In Windows XP

This is a discussion on Running APL*PLUS/PC & APLSE In Windows XP within the APL forums in Programming Languages category; For some time now, I've been working with Prof. Paul Penfield at MIT to make the "MARTHA" APL circuit analysis software available on the web ( http://www.marthallama.org ). The initial version is designed to run using APLSE to keep the entry bar as low as possible. One of the hurdles has been figuring out how to get APLSE to run seamlessly in Windows XP. Microsoft changed the way their DOS emulator worked when they went to XP, and that broke some key functionality. Getting the APL characters to work was tricky to figure out, but I _thought_ I had it ...

Go Back   Application Development Forum > Programming Languages > APL

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 05-27-2008, 09:43 PM
Doug White
Guest
 
Default Running APL*PLUS/PC & APLSE In Windows XP

For some time now, I've been working with Prof. Paul Penfield at MIT to
make the "MARTHA" APL circuit analysis software available on the web
(http://www.marthallama.org). The initial version is designed to run
using APLSE to keep the entry bar as low as possible.

One of the hurdles has been figuring out how to get APLSE to run
seamlessly in Windows XP. Microsoft changed the way their DOS emulator
worked when they went to XP, and that broke some key functionality.
Getting the APL characters to work was tricky to figure out, but I
_thought_ I had it all sorted out & documented.

I just got handed a new PC at work, and I couldn't get the fonts working
(using my own instructions). After a couple of weeks of cursing &
tinkering, I found the missing piece. It turns out the default for the
DOS emulator is to set the screen buffer to 300 lines. The APLFONT
program is expecting a 25 line VGA, and it gets confused. There are
several ways of fixing this (including an obscure one I had used but
failed to document).

In any event, I now have what I hope is a complete set of files &
instructions to run APLSE (or APL*PLUS/PC) in Windows XP. I'm still
fighting with getting more memory. Playing with expanded & extended
memory settings in the shortcut doesn't seem to help. At least the APL
characters work well now both in full screen and in a window. I wrote a
test routine using APL*PLUS/PC's run-time interpreter, and I've verified
that the characters work on a variety of modern systems.

So, if anyone wants a free APL to play with on Windows XP, you can find
(hopefully) everything you need here: http://marthallama.org/apl/

Please let me know if you have any problems, and I'd love to hear of any
tricks to get more memory free.

P.S. Someone has reported getting some flavor of DOS APL working in
Vista, but I don't know to what degree, or how they did it.

Doug White
Reply With Quote
  #2  
Old 05-30-2008, 08:38 AM
Ibeam2000
Guest
 
Default Re: Running APL*PLUS/PC & APLSE In Windows XP

I have never used MARTHA, don't know the details of how it works, so
perhaps my suggestions are completely wrong.

Back in the 1970s, in our timesharing company, whose clients typically
used 300 and 1200 baud printing or display terminals, virtually all of
the interactive software was designed to work without the presence of
the full APL character set. Of course, this was long before windows,
IBM 3270s, and so on.

But provided the user does not have to do "real" APL programming to
use MARTHA and is instead writing "scripts", I would imagine the same
sort of design principles could be used here, sidestepping all of that
difficulty (and bad language) inherent in getting the APL character
set to work. Certainly in the APL*Plus/PC system it would be possible
to write small cover functions to sandwich interactive script editing
between symbol substitution programs and so on. It may not be as
pretty as The Real Thing, but I imagine that with a well thought out
substitution scheme, the potential for growing the MARTHA user base
(and improving APL's reputation) is there.

I'd be happy to have a look at MARTHA more closely.

More memory free: This was an excellent product as it worked as well
as it did with only 640K of main memory. STSC later released the
APL*Plus\386 system shortly, when suitable machines came out. This
solved the memory problem.

I think you have two options which you can exploit, which won't add to
memory, but rather better use the memory that you have.

Firstly, you can exploit the fact that whatever XP machine you are
running is several orders of magnitude faster than the DOS PC the APL
software was designed for. And you can get away with things which
would have been too slow. If you have large functions, you can do a
kind of demand paging. For example, suppose the FOO function is huge
but infrequently used. You could easily make a function paging file,
storing one function per component. Presumably, there won't be that
many functions like this. Suppose the "inner" (big) FOO function goes
to component 12. Your "outer" (little) FOO function could look
something like this:

Z := L FOO R;FOO
[1] 'C:\myfiles\aplprog' []FSTIE 1
[2] []DEF []FREAD 1 12
[3] []FUNTIE 1
[4] Z := L FOO R

(You see, I don't go for the APL character set when it's not practical
to use it. Similarly, I don't like the format which vaguely looks
like RTF with all the stuff in curly braces A{is}{boing}{camouflage}
{distemper}{squiggle}N+Z{grunt}{gorgonzola}X)

Back to paging, you are trading space for time. If you have large
static in-memory matrices, you can do the same sort of thing. Same
for large temporary matrices. Also, be sure to stick with 8.3 file
naming conventions.

Secondly, although I haven't tried this, you can probably have a lot
of DOS APL sessions open on your multi-gigabyte XP computer. I would
imagine you can write a program which does the following:

Take an expression
Write the expression to a new component file
Wait until the following is done
Start another APL session
Load a workspace
Read that component file
Execute the expression
Put the answer in the component file
Close the APL session
Read the answer from the component file
Erase the file
Return the answer

Otherwise, I would suggest providing versions of MARTHA for use with
the Dyalog £50 Personal Edition and the free personal APLX for Linux.

Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 11:15 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.