Path: news.net.uni-c.dk!not-for-mail From: Karl Kristian Krukow Newsgroups: daimi.beta Subject: Re: Ref is NONE? Date: Sun, 28 Apr 2002 16:02:24 +0200 Organization: UNI-C Lines: 67 Message-ID: <3CCC00F0.897AD83E@cs.au.dk> References: <3CCABDFB.FA3AD3A4@cs.au.dk> <3CCBF364.CD0AB075@cs.au.dk> NNTP-Posting-Host: horse01.cs.au.dk Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.net.uni-c.dk 1020002545 12278 130.225.18.241 (28 Apr 2002 14:02:25 GMT) X-Complaints-To: usenet@news.net.uni-c.dk NNTP-Posting-Date: Sun, 28 Apr 2002 14:02:25 +0000 (UTC) X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.9-12smp i686) X-Accept-Language: en Xref: news.net.uni-c.dk daimi.beta:10570 Karl Kristian Krukow wrote:Jep. Jeg er usikker på hvordan jeg skal bruge det. > Jeg skal bruge semaphore pattern'et og conc pattern, som ligger inde i > systemenv. > > Jeg vil gerne skrive et pattern i et fragment, der skal eksekvere noget kode > parallelt. > dvs. > > RedVis: Visitor(# > visitPar::< (# > do > her skal jeg eksekvere to objekter > concurrently > #); > . > . > . > #); > Til dette vil jeg så bruge betas conc(# do this(RedVis)[]->p.P.visitFrom; > > this(RedVis)[]->p.Q.visitFrom; #); > men så skal jeg have en systemenv, for at kunne bruge conc. > Derfor havde jeg bare en sys:@systemenv , så kunne jeg sige sys.conc(# ... > #). > Men det er helt galt. Og jeg får null pointers og sådan. > > Det jeg gerne vil vide er hvordan jeg skiver et fragment som ovenstående der > > kan bruge semaforer og eksekvere kode concurrently. > > Forstår du hvad jeg prøver at formulere? Jeg har som sagt ikke skrevet (# .. > #) i meget lang tid > og er lidt bange for at jeg griber det forkert an . > > mvh. > Karl Jeg synes at have løst problemet nu. Det var som du sagde flere instanser af SystemEnv. Når man ved det, er det egenlig ret åbenlyst at bruge getSystemEnv for at få adgang til de conc og semaphore patterns jeg skulle bruge. Men er dette måde at gøre det på? Dvs. noget ala: RedVis:Visitor(# visitPar::<(# sys:^SystemEnv; do getSystemEnv->sys[]; sys.conc(# do bla... #); #); #) Men lige en bemærkning! Kunne det ikke være rart om brugeren (dvs. mig) ikke fik en ref. is NONE fejl, når man er så smart at lave hvad jeg lavede ;-) mvh - Karl -- "To make an apple pie from scratch, you must first create the universe" - Carl Sagan