On Wed, Jan 14, 2009 at 4:27 PM, Tracy Harms <[email protected]> wrote:
> I've been putting some attention to "lifting," starting with lambda > lifting. This is another concept that seems to get a good deal of > attention in functional-programming circles, except when Iverson > languages such as J are in mind. It looks to me like array-support > covers much of what lifting is designed to accomplish. Not so much the array support, but the natural flow of the language itself Lambda lifting looks to be the data side equivalent of what I saw a long time ago; so long I am not sure I could find the reference: A researcher in South Africa, I believe 1978ish, very early on, one of my first email correspondences, published an algorithm, I believe in JACM or CACM, based on the transformation of functions/programs and loops/branches _into_ recursive form, then back out into proper structured control flow with (as a direct result) completely functional attributes. As such, any program may be made purely applicative. Immediately. J just happens to have an internal "athema" or set of "athematics" that encourages human beings to do this _automatically_ ** provided you also learn to _think_ this way; which it also encourages through the same principles. I am not sure I can say it clearly, or any clearer than this. Kinda like Satchmo and jazz: if you gotta explain it, you ain't got it. ** > > > For example, the Wikipedia article on this topic > http://en.wikipedia.org/wiki/Lambda_lifting > contains an OCaml example where the same result can be written in J as > +/i.101 > > (My natural reaction to that example is "Wow, I sure prefer putting > that in seven characters, rather than all that manipulation." But I > figure there's something here for me to learn, so I try to turn my > mind away from notation and toward the concepts.) > > From the comparison between the OCaml and the J I might conclude that > J provides transparent lambda lifting. My guess, however, is that such > a claim would be inaccurate because lambda lifting involves producing > recursive equations. (With J there is no indication that recursive > equations are involved when we rely on array notation; instead, the > means by which results are produced is a black box.) Would it be > better to say that J provides an alternative to lambda lifting? If so, > can we characterize that alternative in terms that will be readily > understood by those who care about lambda lifting? > > This topic ties in with the larger questions of how best to understand > the relationship between J constructions and lambda calculus/closures. > To my knowledge there are no texts that take those matters on in a > formal manner. I'd be interested in references to any that do exist. > > Tracy > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > -- Use Reply-To: & thread your email after the first: or it may take a while, as I get 2000+ emails per day. -- Roy A. Crabtree UNC '76 gaa.lifer# 11086 703-318-2106 (msgs only, use my name) (mail, residence) Roy A. Crabtree 3322 Wheeler Road SE Oak Hill Apartments #T-4 Washington, DC 20032-4166 (secondary mail) Roy A. Crabtree USPS POB 58097 Washington, DC 20034-8097 [When you hear/read/see/feel what a y*ehudi plays/writes/sculpts/holds] [(n)either violinist {Menuhin} (n)or writer {"The Y*ehudi Principle"} (n)or molder (n)or older] [you must strive/think/look/sense all of it, or you will miss the meanings of it all] [email protected] Forwards only to: [email protected] [email protected] CC: auto to ^ http://musings-roy-crabtree.blogspot.com [& others] http://www.authorsden.com/royacrabtree http://skyscraper.fortunecity.com/activex/720/resume/full.doc -- (c) RAC/IP, ARE,PRO,PAST (Copyright) Roy Andrew Crabtree/In Perpetuity All Rights/Reserved Explicitly Public Reuse Only Profits Always Safe Traded ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
