Path: utzoo!utgpu!watmath!att!dptg!rutgers!cs.utexas.edu!uunet!mcsun!ukc!edcastle!lfcs!db From: db@lfcs.ed.ac.uk (Dave Berry) Newsgroups: comp.lang.misc Subject: Re: Which language to teach first? Message-ID: <284@castle.ed.ac.uk> Date: 30 Aug 89 18:52:16 GMT References: <1304@batserver.cs.uq.oz> <6264@hubcap.clemson.edu> <9970@phoenix.Princeton.EDU> Sender: root@castle.ed.ac.uk Reply-To: db@lfcs.ed.ac.uk (Dave Berry) Organization: Laboratory for the Foundations of Computer Science, Edinburgh U Lines: 43 >In article <6264@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes: >> Quoting David M. Harland (Concurrency and Programming Languages, 1986): >> The history-sensitivity of the imperative languages contrasts >> with the total inability of functional systems to handle >> interactions with the outside world... In article <9970@phoenix.Princeton.EDU> markv@phoenix.Princeton.EDU (Mark T Vandewettering) writes: > I disagree totally, as do many others. In order to make > parallelism work, it is REQUIRED to be implicit. Consider the I believe that languages based on CCS will be the natural development of functional languages to include explicit parallelism and communication with the outside world. Like functional languages they may be reasoned about straightforwardly; the languages are calculi. They don't use assignment, not even single-assignment; state is stored as arguments to processes just as state in sequential languages can be stored as arguments to functions. Of course programmers will face the same problems of deadlock and scheduling using these languages as using any other; these problems are part of the task rather than of the language. Reference: Robin Milner, "Communication and Concurrency", Prentice Hall, 1989. 0-13-115007-3 Pbk 0-13-114984-9. The paperback version is 19 pounds. > The one caveat is the relative lack of a good, public domain > (or nearly so) implementation of a language like Miranda. Poly/ML is fairly cheap to academic sites. The licencing arrangments are being revised at tghe moment, but I assume that this policy will continue. New Jersey ML will probably be available cheap for academic sites as well. Edinburgh University distributes a core-language version of ML (i.e. no modules) for teaching; this is available for the cost of distribution. I think Hope+ is available fairly cheaply from Imperial College London. ML is eager evaluation, and Hope+ is applicative order evaluation with lazy datatypes, so if you want full lazy evaluation these languages aren't suitable. Dave Berry, Laboratory for Foundations db%lfcs.ed.ac.uk@nsfnet-relay.ac.uk of Computer Science, Edinburgh Uni. !mcvax!ukc!lfcs!db "Another hope, another dream, another truth, installed by the machine."