For your morning entertainment--
Concerning OWHY, the first on-the-fly-acronym (which we will neologize as OTFA, a FLA), the great-grandfather to 'IMHO', 'FWIW', OWHY (self application before definition here. See below).
"A Type-Theoretic Alternative to CUCH, ISWIM, and OWHY*" Dana Scott
This is one of Dana Scott's most famous unpublished (but widely distributed {it had on the cover page: "Dana Scott no longer subscribes to the ideas in this paper. DO NOT REDISTRIBUTE" in bold print} -- if you ever want to get a massive distribution of difficult material, use this on your paper). He had quite a number of unpublished papers making the rounds as Xerox copies, as I recall. A post-Doc (whose name evades me at the moment) from Penn State visiting for the summer at IBM Research had dutifully collected the whole bunch. What I saw and what I copied shall remain unmentioned (to protect the anonymity of the guilty).
The paper is essentially typed Combinatory Logic. As I recall, Dana tried to dip his toe into typing here, but didn't go the whole way. John Reynolds once told me, "If you're going to type, you're going to have to type everything." Smalltalk does it beautifully [typing everything] (for what some aboriginal programmers refer to as a "type-less" language) in a semi-functional format.
This is not a good paper from which to learn Combinatory Logic. Nor is 'Curry and Feys' for that matter. If you are interested (and you like 'macro processor'-like thinking), the resource to get your hands on is the book: "Introduction to Combinators ..." by Hindley, et al., unfortunately out of print. A good exercise is to build a Combinatory Logic evaluator in your favorite (owhy) programming language. Wilhelm van der Pol (Netherlands Algol 68 expert) did precisely this during a sabbatical at IBM Research; I looked over his shoulder.
CUCH is Curry-Church. It had been used in the title of a paper (by ?). I think it actually was made into a programming language at one point. I've never seen it, but as I remember it was just a demonstrator for automated Combinatory Logic (untyped).
ISWIM was Landin's language from "The next 700 Programming Languages." It was the genesis of functional programming as it divorced itself from LISP. I don't think Landin ever implemented ISWIM, but I might be mistaken here. Bill Burge wrote an excellent book (the thing to read after "The Next 700 Programming Languages") on functional programming which is 100% ISWIM, and is an excellent read on Combinatory Logic Programming (untyped). Both he and Burt Leavenworth (both members of the programming language lunch table gang at IBM Research) had built local (to IBM) implementations of ISWIM.
*or what have you.
Cheers, Jerry. ____________________________
Jerry L. Archibald systemObjectivesIncorporated ____________________________
"I can't think of the author." Anon.
squeak-dev@lists.squeakfoundation.org