Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!ucsd!ucbvax!pact.nl!rob From: rob@pact.nl (Rob Kurver) Newsgroups: comp.sys.transputer Subject: Re: Re recursion and the towers of Hanoi. Message-ID: Date: 8 Oct 90 11:49:34 GMT References: <17558.9010080956@prg.oxford.ac.uk> Sender: daemon@ucbvax.BERKELEY.EDU Organization: PACT, Foulkesln 87, 2625RB Delft, The Netherlands, +31 15 616864 Lines: 37 In some message, Phill M Hallam-Baker writes: > The whole point about recursion is not that you can do without it. > You can write any program in FORTRAN if you realy have to. Recursion allows > in many cases a much more elegant description of the algorithm, a much more > abstract description (this is abstraction in the computing sense ie stripped > of unnecessary and confusing junk - ie abstraction is a virtue). Amen. > To present > any language as definitive if it lacks recursion 30 odd (or there abouts) > years after the discovery of quicksort is rather ridiculous. Ok it may be > a bit tricky to allow dynamic allocation in a parallel language - but VMS > was doing this almost 20 years ago (yes you can solve the towers of Hanoi > in VMS DCL!) Even the FORTRAN 9X (eventualy to become 10X) proposal has > accepted the need for recursion, surely occam should as well? I seem to recall that the original Occam definition has recursion - the Inmos transputer implemantation is deficient in this respect. The reason for not allowing recursion (as well as some other things) is to keep the program completely static. This helps when you need to allocate workspaces for multiple processes etc: it's easier for the compiler writer to implement, and it's even possible to apply heuristics to get a particularly good memory layout. (Ever wondered why Occam uses the internal memory better than the average 'alien language'?) BTW: IMHO, recursion isn't the only thing missing from Occam... But then, I guess I'm a real C weeny.... :-) Cheers. - Rob -- PACT Rob Kurver Foulkeslaan 87 rob@pact.nl 2625 RB Delft The Netherlands +31 15 616864