needs to be found From n2ell!pcolsen@cs.umd.edu Sat Jan 21 23:18:31 1995 Date: Sat, 21 Jan 95 23:47 EST From: pcolsen@n2ell (Peter C. Olsen P.E.) To: matthias@cs.rice.edu Subject: forwarded message from pcolsen Reply-To: pcolsen@acm.org ------- start of forwarded message (RFC 934 encapsulation) ------- In-Reply-To: <9410281402.AA10065@asia.cs.rice.edu> References: <9410281402.AA10065@asia.cs.rice.edu> Reply-To: pcolsen@super.org To: cs.rice.edu!matthias (Matthias Felleisen) Subject: Scheme in practice Matthias --- I hope to have time to send you a longer message tonight. In the meantime... 1. Please *do* use my post in both your class and your application if you think it will be of assistance. I think that one way to explain functional programming to engineers is to draw a direct analogy to physical systems: because non-functional programs require some "memory" of what has gone before, they are analogous to engineering systems that have "hysteresis". These are (in my experience) almost always harder to control. You might want to pose this problem for them (or one like it): the goal is to fabricate a bar of iron to a precise length. The two available methods are to cast it, or to take a bar of different length and then roll or press it (on one axis to lengthen it, on the other to shorten it) until it's correct. Both methods will work, but which will be easier? Alternatively, you wish to attain a magnetic field of a precisely varying strength: will it be easier to construct an electro-magnet around a core of low retentivity or to use one of high retentivity? (Please check to see that I've used the proper term!) I think that in both these cases it will be clear that the "functional" analog is preferable. Finally ask them which property is easier to measure: pressure (or temperature), or entropy? Clearly the answer is pressure, because entropy requires knowledge of a prior state. As I write this, it occurs to me that one can compute the entroy of a program state (using Shannon's definition), by imposing a probability distribution on the variables which must be defined to specify it. I think that McCabes Cyclometric Complexity provides a framework. (This paragraph is too long. Please forgive me.) 2. I'll write more tonight (ping me if I forget) about my problems and how I write them. Unfortunately, I've been using lisp mostly (there are some flavors with nice math tools I'd have to write myself in scheme) and most of my programs deal with proprietary topics, so they may be unreleasable in any event. Let me see what I can do. (I am presently writing some numerical neural net code in lisp as part of my quest to become the Worlds Oldest Living Graduate Student.) If you would (and you know themm), may I ask you to give my best regard to two people? The first is Dave Scott of the Statistics Department? He spent last year on sabbatical working in my organization. The second is John Dennis of Mathematical Sciences. I met him at a talk he gave at Johns Hopkins. It turned out that we both started our secondary education at the same small New England school for boys --- the U.S. Coast Guard Academy. Thanks for your mail! Peter - -- Peter Olsen, P.E., pcolsen%n2ell.uucp@mimsy.umd.edu, ...!mimsy!n2ell.edu P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." ------- end ------- From n2ell!pcolsen@cs.umd.edu Sat Jan 21 23:18:33 1995 Date: Sat, 21 Jan 95 23:49 EST From: pcolsen@n2ell (Peter C. Olsen P.E.) To: matthias@cs.rice.edu Subject: posting to comp lang function last October In-Reply-To: <9501211852.AA14948@europa.cs.rice.edu> References: <9501211852.AA14948@europa.cs.rice.edu> Reply-To: pcolsen@acm.org Matthias --- Unfortunately, I seem to have lost my copy of the posting, too. I've sent you a copy of the followup message, but I can't find the original posting. Peter P.S. Please tell David that we missed him at the first concert tonight. -- Peter Olsen, P.E., pcolsen@acm.org P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life." From n2ell!pcolsen@cs.umd.edu Sat Jan 21 23:18:30 1995 Date: Sat, 21 Jan 95 23:45 EST From: pcolsen@n2ell (Peter C. Olsen P.E.) To: matthias@cs.rice.edu Subject: posting to comp lang function last October In-Reply-To: <9501211852.AA14948@europa.cs.rice.edu> References: <9501211852.AA14948@europa.cs.rice.edu> Reply-To: pcolsen@acm.org Sure. I've been up to my ears with a sick mother, so I haven't written you the rest of what I promised. I'll try to catch up. Peter -- Peter Olsen, P.E., pcolsen@acm.org P.O. Box 410, Simpsonville, MD 21150-0410 USA, 410-997-8584 "Engineering is the art of applying a professional knowledge of mathematics and the physical sciences to improve the quality of life."