Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!nrl-cmf!ames!sdcsvax!ucsdhub!hp-sdd!hplabs!hp-pcd!uoregon!markv From: markv@uoregon.UUCP (Mark VandeWettering) Newsgroups: comp.lang.lisp,comp.lang.scheme,comp.lang.misc Subject: Applicative languages? Anyone? Message-ID: <1202@uoregon.UUCP> Date: Thu, 3-Dec-87 12:40:17 EST Article-I.D.: uoregon.1202 Posted: Thu Dec 3 12:40:17 1987 Date-Received: Mon, 7-Dec-87 06:39:52 EST References: <1409@mind.UUCP> <584@zippy.eecs.umich.edu> Reply-To: markv@drizzle.UUCP (Mark VandeWettering) Organization: University of Oregon, Computer Science, Eugene OR Lines: 46 Xref: mnetor comp.lang.lisp:576 comp.lang.scheme:59 comp.lang.misc:926 In article <584@zippy.eecs.umich.edu> dwt@zippy.eecs.umich.edu (David West) writes: >Applicativity has its advantages, but it needs >1) a more humanly-comprehensible syntax than LISP; Miranda (TM) is excellent > in this respect, but the (TM) will probably doom it, as apparently was the > case with COMIT (TM). I have just recently become interested in functional/applicative prramming. Having read several essays on Miranda, I am amazed at the high level that programs can be described in Miranda. While suffering from some problems (as noted by Dave West), Miranda seems excellent for simple and not-so-simple programming jobs. >2) Some syntactic means for preventing argumentsfrom getting unreadably > numerous just to pass something down to where it's finally used. I have seen an extension to prolog for object-oriented programming that works in much this way. Normally, object state is represented by a structure which is passed and has fields (corresponding to instance-vars) bound to new values as the object changes state. This allows you to backtrack through object changes, which would be hard to do if we used real assignment. But passing these objects around is tedious, so "syntactic sugar" is developped to carry the object state around. For more info, see University of Oregon Tech Report -TR-87-09, "Object Oriented Programming with First Order Logic", by John S. Conery. >3) a public domain portable optimizing implementation (though all three of > these attributes together is perhaps too much to hope for.) The thing > that made Pascal fly was the availability of the Zurich P-compiler > initially, then Turbo. What the world needs now is GNU Miranda or (ok, > I'll be more reasonable) GNU ML. (Richard is probably too busy, though...) > Turbo ML? Hmmm, not a bad idea. I have just acquired "Implementation of Functional Programming Languages by Simon L. Peyton Jones, and am much impressed by the depth/level of the text. Seeing as I have to do a final thesis/project sometime :-) I might be tempted to try a hand at an ML interpreter/compiler. I would like to hear from anyone who is trying/has tried similar projects. markv@uoregon.edu \ Mark Terrence VandeWettering University of Oregon \ ..!tektronix!uoregon!markv Computer Science Dept. \