home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!uwm.edu!spool.mu.edu!agate!doc.ic.ac.uk!sot-ecs!marston!djp
- From: djp@ecs.soton.ac.uk (David Pritchard)
- Newsgroups: comp.sys.transputer
- Subject: Re: IS Occam3 recursive?
- Message-ID: <13661@ecs.soton.ac.uk>
- Date: 23 Nov 92 11:40:47 GMT
- References: <MICHAEL.92Nov16185558@lucrece.uk.ac.oxford>
- Sender: news@ecs.soton.ac.uk
- Reply-To: djp@ecs.soton.ac.uk
- Distribution: world
- Organization: SNARC
- Lines: 55
- Nntp-Posting-Host: marston
-
- In article 92Nov16185558@lucrece.uk.ac.oxford, michael@uk.ac.oxford.robots (& Stevens)
- writes:
- >Now the arguments about recursion and OCCAM have been going a while I
- >though I would make a quick summary.
- >
- >FOR recursion:
- > 1. Recursion is mathematically elegent. Serious software
- >engineering requires it.
- Rubbish. It is true that mathematical elegance is `nice', but
- serious engineering is not about producing nice programs for display
- at the Tate, but robust programs which do what they are designed to do
- when they are asked to do it. Every time. Even when operated by
- morons.
-
- > 2. Code generation isn't hard. Handle the stack extension is possible.
- >If it can be done for C, you can do it for OCCAM.
-
- Rubbish. C has one stack, when it fills you are stuck with no way out
- anyway. OCCAM would need p stacks - where p is the number of processes
- (which changes dynamically). When one runs out, you might have been
- better off making that one bigger and the others smaller - but it is
- too late.
-
- > 3. You don't need to use it. If you want to be able to
- >predetermine memory usage at compile time don't recurese.
- This seems OK, but there is probably something wrong with it.
-
- > 4. Why single out memory as the single resource that should be
- >predetermined at compile time. Time is another resource that runs out,
- >and so does disk space.
- >
- Because memory CAN be predetermined, the others cannot. Computing
- time is data dependent and would probably involve solving the halting
- problem. Disk space ditto.
-
-
- >AGAINST recursion:
- > 1. OCCAM 2 doesn't do it.
- Neither does FORTRAN.
-
- > 2. Its not implemented in OCCAM 2.
- See Geoff Barrett for the dirty trick which makes it look as though
- it is.
-
- > 3. Thats all I can think of, but I am sure it has something to
- >do with OCCAM 2.
- OCCAM 1 is all that is NEEDED.
-
- --
- Dr David J. Pritchard
- Electronics and Computer Science tel (+44 703) 592722
- University of Southampton fax (+44 703) 593045
- Southampton SO9 5NH email djp@uk.ac.soton.ecs (UK)
- United Kingdom djp@ecs.soton.ac.uk (World)
-
-