budd@mist.cs.orst.edu (Tim Budd) (10/17/90)
I start to cringe whenever I see my name mentioned in this group. Let me explain a bit of history of the aplc compiler. It was developed by myself and, at best, one other student (they come and go periodically), as just a way to play around with some ideas. When we had played enough to write a paper, we would do so, and eventually I had enough to write a book. I have never intended to make any money off of the compiler, and have never billed it as anything other than my own random doodlings. The compiler was complete just enough to run the examples we needed for our research (sort of a prototype system running prototype programs) and no more. Certainly it is not useful for students, for commercial users, or really for anybody other than to look and see how we did things. So the reason I cringe is that I simply don't have time to support the silly thing. People constantly ask me why I don't implement input-quad for arbitrary expressions, or why it doesn't run on DOS, or if it works under AUX, or this that or the other. My original thinking was that since it didn't cost me anything to make it freely available, it wouldn't hurt to give it to anybody that asked. I have since discovered that, even with all the caveats I can put on it, even making something available by anonymous ftp raises expectations that I have time to deal with all these requests, have time to answer my mail, respond to e-mail requests, and so on; which I don't. Worse, the fact that it IS buggy, and that half the programs people throw at it uncover compiler errors, means that my reputation is rapidly declining. Thus I think I made a serious tactical error in even releasing it in the first place. The output of aplc was never as efficient as I would have liked, so I really think that even if most people got it working they would be disappointed. Certainly it is not an order of magnitude better than an interpreter, or anything like that. Since The approach I'm working on now is somewhat different, based on lambda expressions, I don't want to spend a lot of time fixing aplc. So my advice to people looking at aplc is; if you want to run apl programs, get a commercial or share-ware interpreter. aplc is buggy and unreliable, probably don't even work on your brand of unix (and certainly doesn't work if you aren't running unix) and will remain so for the foreseeable future. --tim budd ps. Rereading the above I note that it all sounds a bit more negative than I intend. The compilation of APL is an interesting intellectual challange, and I'm just an ivory tower type more intersted in the intellectual side of the problem than in the practical problem of getting programs to run!! And yes, the lambda expression stuff is in even worse shape than aplc. Currently the parser is written in C (using yacc and lex), the analysis is written in LISP, and the output is FORTRAN-8X. This is really ``not ready for prime time''.