Path: utzoo!utgpu!water!watmath!clyde!rutgers!ucla-cs!zen!ucbvax!decvax!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!ukc!dcl-cs!craig From: craig@comp.lancs.ac.uk (Craig) Newsgroups: comp.lang.misc Subject: Re: Modern langauges (what's modern?) Message-ID: <462@dcl-csvax.comp.lancs.ac.uk> Date: 9 Jan 88 13:22:37 GMT References: <1520@ogcvax.UUCP> <2570@enea.se> <1949@pdn.UUCP> <3839@ames.arpa> Reply-To: craig@comp.lancs.ac.uk (Craig) Organization: Department of Computing at Lancaster University, UK. Lines: 41 >Talk about LISP (one person mentioned Prolog). What about >Smalltalk-80(tm)? Simula-67? Other declarative functional languages? >Backus is working on an interesting new language named FL. VAL/ID/SISAL >Talk to me about classes of languages. Post the follow up. One of the classes of languages that has received little attention is the class of concurrent languages, VAL and SISAL are mentioned above and come under the general class of data flow languages. One of the aspects of the single assignment data flow language (re SISAL) is that it appears to be functional in nature, is this a fact of life, do all data flow languages need to be functional ? I would say no, it is not but is in fact a product of our up-bringing with von-Neumann machines, iterative programming structures etc. The Single Assignment Rule (SAR) appears to be an attempt to control the chaos of the iterative programming language construct, if we accept that iteration and recursion are equivalent why not then just stick to recursion, sure make it look iterative (so that we all don't get technology shock :-)) but remove iteration from the program model (we could talk about GOTOs if you like :-) :-)). The actor model and continuations have a solution to distributing recursion, why not use it. Anyway, back to the subject, I feel that few modern languages can afford to ignore the problem of concurrency ( be it parallelism or distribution) and that the determination of that concurrency should be implicit (ie tasks etc. are right out). Those interested in implicit concurrency should look at languages such as Ether (an actor language), SISAL (data flow) or get my forthcoming internal report (ah ha you say, all is revealed) on the implicitly parallel, non-single assignemnt (more not very many assignemnts) data flow language (AARC - Implicitly parallel Data Flow Language, internal report LG-02-88, available end of Feb 1988). All reports are free from the University of Lancaster at the address given below (or via e-mail to me). Craig. -- UUCP: ...!seismo!mcvax!ukc!dcl-cs!craig| Post: University of Lancaster, DARPA: craig%lancs.comp@ucl-cs | Department of Computing, JANET: craig@uk.ac.lancs.comp | Bailrigg, Lancaster, UK. Phone: +44 524 65201 Ext. 4476 | LA1 4YR