Path: utzoo!mnetor!uunet!husc6!hao!gatech!mcnc!uvaarpa!virginia!babbage!mac3n From: mac3n@babbage.acc.virginia.edu (Alex Colvin) Newsgroups: comp.lang.misc Subject: Re: Modern langauges (what's modern?) Message-ID: <140@babbage.acc.virginia.edu> Date: 13 Jan 88 14:36:18 GMT References: <1520@ogcvax.UUCP> <2570@enea.se> <1949@pdn.UUCP> <462@dcl-csvax.comp.lancs.ac.uk> Organization: University of Virginia Lines: 18 Summary: Lucid - The Dataflow language In article <462@dcl-csvax.comp.lancs.ac.uk>, craig@comp.lancs.ac.uk (Craig) writes: > 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. Iteration and recursion aren't quite the same: only some cases of recursion are iterative. Those are usually easier to describe with iterative constructs. As for single-assignment languages, check out Lucid (the stream language, not the Lisp sublanguage). One problem I have with Lucid (and Icon, for that matter) is that a single unit can't easily generate several unsynchronized streams. This makes it really hard to generate intermittent debugging messages without destroying your program.