Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!VENUS.YCC.YALE.EDU!WHITCOMB%KOBOT From: WHITCOMB%KOBOT@VENUS.YCC.YALE.EDU ("whitcomb%kobot.decnet@venus.ycc.yale.edu") Newsgroups: comp.sys.transputer Subject: RE: Dynamically creating arrays of processes. Message-ID: <8903271929.AA13704@tcgould.TN.CORNELL.EDU> Date: 27 Mar 89 19:34:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 27 >From: KOBOT::WHITCOMB "whitcomb%kobot.decnet@venus.ycc.yale.edu" 25-MAR-1989 15:49 To: VENUS::IN%"buengc!dpm@bu-cs.bu.EDU",WHITCOMB Subj: RE: Dynamically creating arrays of processes Greetings: Recall that there is nothing in the occam language definition which denies the possibility of dynamic space allocation or recursion. Likewise with the transputer cpu. The inmos implementation of this language has these restrictions; thus it is in *implementation* limitation rather than a language limitation. This is a win for safety (correctness) and speed, at the cost of functionality. Dynamic space allocation may be achieved within the occam model by explicitly creating and managing a heap for use by parallel processes within the scope of its definition. The use of such a heap will, unfortunately, often violate the occam access restrictions on arrays and thus you will have to switch off some of the compiler checks. Dynamic code loading, however, is not part of the occam definition. It may be achieved in the inmos implementation of occam by using a predefined library procedure "KERNEL.RUN". This is defined in section 11.3 of the Transputer Development System manual (1988, Prentice Hall, ISBN 0-13-928995-X.) I hope this helps. The Best, Louis L. Whitcomb