Path: news.net.uni-c.dk!Morten.Grouleff.Mjolner.Informatics From: Morten Grouleff Newsgroups: daimi.beta Subject: Re: Ref is NONE? Date: 28 Apr 2002 20:23:36 +0200 Organization: Mjolner Informatics. Lines: 43 Sender: mg@midgaard Message-ID: References: <3CCABDFB.FA3AD3A4@cs.au.dk> <3CCBF364.CD0AB075@cs.au.dk> <3CCC00F0.897AD83E@cs.au.dk> NNTP-Posting-Host: bifrost.mjolner.dk Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.net.uni-c.dk 1020018217 30906 130.225.4.254 (28 Apr 2002 18:23:37 GMT) X-Complaints-To: usenet@news.net.uni-c.dk NNTP-Posting-Date: Sun, 28 Apr 2002 18:23:37 +0000 (UTC) User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.5 Xref: news.net.uni-c.dk daimi.beta:10575 Karl Kristian Krukow writes: [...] > 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... #); > #); #) Det er en udmærket løsning. Nogen vil måske mene at det er lidt besværligt i forhold til blot at erklære "RedVis" i "systemlib": -- systemlib:attributes -- RedVis:Visitor (# visitPar::< (# do 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 ;-) Jo, det skal man altid overveje. Ligesom man i princippet kunne gøre det med returværdien af getSystemEnv i dit eksempel. Problemet er blot at det gør programmet ulæseligt og langsommere hvis man tester for refNone alle steder. Jeg synes man bør teste de steder hvor programmet har en fornuftig reaktion på problemet, og lade resten fange som programfejl. Mvh. -- Morten Grouleff, M.Sc. C.S., Software Developer, Mjølner Informatics A/S. Phone: +45 70274343 Direct: +45 89425815 Fax: +45 70274344