Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!think!husc6!rice!long-grain.Rice.EDU!bgr From: bgr@long-grain.Rice.EDU (Robert G. Rhode) Newsgroups: comp.sys.transputer Subject: Re: choosing parallel languages Message-ID: <409@brazos.Rice.edu> Date: 2 Aug 89 21:44:48 GMT References: <275@oscsuna.osc.edu> <8908011650.AA12679@kanga.cs.umass.edu.edu> <5726@pt.cs.cmu.edu> Sender: root@rice.edu Reply-To: rhode@ricevm1.rice.edu Followup-To: comp.sys.transputer Lines: 16 > >The only thing I would change is to allow value functions > >to be recursive and specify that tail recursion is properly > >dealt with (as in Scheme.) > I agree with this. Recursion is a very useful thing, and I'm not > the type to manage my own stacks of stuff (I'm generally too lazy or > stupid for this). Unfortunately, inserting recursion into the occam > langauge would require the incorporation of dynamic memory allocation. > You need it to build call stack frames and the like. I believe (and I'm sure I will be corrected if I am wrong :-) ) Scheme handles tail recursion by re-using the existing stack frame, thus not using any more memory than a single function call. I think I saw this in Dybvig's book. Robert Rhode | "Today's champion rhode@ricevm1.rice.edu | is tomorrow's crocodile shit." bgr@uncle-bens.rice.edu | Monty Python : Contractual Obligation Album