Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!edcastle!lfcs!nick From: nick@lfcs.ed.ac.uk (Nick Rothwell) Newsgroups: comp.sys.transputer Subject: Re: STRAND88 Message-ID: <2015@castle.ed.ac.uk> Date: 5 Feb 90 13:40:07 GMT References: <9002030300.AA00916@> Reply-To: nick@lfcs.ed.ac.uk (Nick Rothwell) Organization: Waldorf Micro-Wave Tracking/Sighting/Authentication Subcommittee Lines: 46 In-reply-to: dan%@@uunet.UU.NET (Daniel Cohen) In article <9002030300.AA00916@>, dan% (Daniel Cohen) writes: >Strand is a parallel programming language with research roots >in the PARLOG group at Imperial College, the Concurrent Prolog group >at the Weitzman Institute, and the ICOT project. Although its' origins >are in logic programming, it's a dataflow language as much as an LP >language ( although some people say it's an OOP language! ) Sounds just like Shapiro's Concurrent Prolog to me. Concurrent Prolog is quite nice (as long as you don't want to backtrack, since it doesn't), but it has some flaws, such as the fact that the guards are supposed to execute (and unify) without affecting the rest of the system, and I could never figure out a way of ensuring this without a huge overhead (Shapiro's papers seem to punt on this one); so, my compiler didn't bother. Does Strand deal with this? If Strand is aimed at a local-memory model of computation, how is store management handled? (not to mention chains of unification and all this nasty stuff.) What sort of type system does the language have? Polymorphic? Dynamic? Does it address the problems associated with programming in the large (modules, interfaces, abstraction)? - or is that outside its scope? >Strand is good for parallel programming because of its' computational >model; a program runs by the repeated reduction of processes - when >one process is reduced others may be spawned - until the processes >are defined by built-in kernels. This sounds like parallel combinator reduction, which is fine as an intermediate form but I don't know if I'd like to program that way. Could you post some examples of Strand programs? (Do you have a mailing list, electronic or otherwise?) It's interesting to hear what it can do, but that's not much use without some actual examples of code to illustrate some of the above points. >Daniel Cohen Nick. -- Nick Rothwell, Laboratory for Foundations of Computer Science, Edinburgh. nick@lfcs.ed.ac.uk !mcvax!ukc!lfcs!nick ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ...als das Kind, Kind war...