[Lisp] Re: Ray tracing
At 17:38 + 2007-03-29, Mattias Engdegård wrote: Lars Brinkhoff [EMAIL PROTECTED] writes: Det innebr ofta att man fÂr lgga till mÂnga deklarationer, vilket frmodligen kan anses minska lsbarheten. Dock tnker jag mig att kan jag abstrahera bort mÂnga sÂdana detaljer genom ett lmpligt lager med makron. Men att man verhuvudtaget skall behva gra sÂdant manuellt r ju inte s lyckat. Typinferens och funktionskloning/specialisering borde vl kunna eliminera behovet av de flesta deklarationer? Det är det som gör ett språk som SML så väldigt trevligt. Statisk typning via typinferens ger väldigt många fördelar, både vad det gäller utveckling (typinferensen fångar mycket) och läsbarhet (man slipper själv deklarera sina typer). Att sedan SML inte har en lika vacker syntax som Lisp ligger den förstås i fatet. Cons ___ Lisp mailing list Lisp@lisp.se http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp
SV: [Lisp] Re: Ray tracing
Har alltid trott att ett statisk typat språk kan klara sig utan taggade värden, men blev förvånad när jag läste om ghc och att de har tags på alla objekt. För skräpsamlaren antar jag, men ändå, är det inte åtminstone teoretiskt möjligt att vara utan tags i en Haskell-miljö? Cons T Åhs [EMAIL PROTECTED] skrev: At 17:38 + 2007-03-29, Mattias Engdegård wrote: Lars Brinkhoff writes: Det innebr ofta att man fÂr lgga till mÂnga deklarationer, vilket frmodligen kan anses minska lsbarheten. Dock tnker jag mig att kan jag abstrahera bort mÂnga sÂdana detaljer genom ett lmpligt lager med makron. Men att man verhuvudtaget skall behva gra sÂdant manuellt r ju inte s lyckat. Typinferens och funktionskloning/specialisering borde vl kunna eliminera behovet av de flesta deklarationer? Det är det som gör ett språk som SML så väldigt trevligt. Statisk typning via typinferens ger väldigt många fördelar, både vad det gäller utveckling (typinferensen fångar mycket) och läsbarhet (man slipper själv deklarera sina typer). Att sedan SML inte har en lika vacker syntax som Lisp ligger den förstås i fatet. Cons ___ Lisp mailing list Lisp@lisp.se http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp - Stava rätt! Stava lätt! Yahoo! Mails stavkontroll tar hand om tryckfelen och mycket mer! Få den på http://se.mail.yahoo.com___ Lisp mailing list Lisp@lisp.se http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp
[Lisp] Re: SV: Re: Ray tracing
Tommy Hallgren [EMAIL PROTECTED] writes: Har alltid trott att ett statisk typat språk kan klara sig utan taggade värden, men blev förvånad när jag läste om ghc och att de har tags på alla objekt. För skräpsamlaren antar jag, men ändå, är det inte åtminstone teoretiskt möjligt att vara utan tags i en Haskell-miljö? Det har skrivits tagglösa implementationer av statiskt typade språk (bl.a. olika ML-varianter), och visst har det fördelar. Anledningen till att O'Caml använder taggar är tvåfald: dels underlättar det för vissa inbyggda ad hoc-polymorfiska operationer (jämförelser), och dels gör det skräpsamlaren mätbart snabbare. Det är en avvägning, men eftersom allokeringar (och därmed skräpsamlingar) är så vanliga i ML ansågs det vara värt den extra kostnad som taggning medför. Det skall observeras att O'Camls kompilator kan optimera bort många taggningsoperationer inuti en funktion så denna kostnad är inte så stor i praktiken. Det finns dessutom tagglösa flyttalsarrayer. Däremot saknar jag ibland möjligheten till oboxade fullordsvärden (32 eller 64 bitar). Den traditionella Lisplösningen är att automatiskt gå över till bignums när det behövs, men det gör det lite svårare att optimera heltalshanteringen när man inte statiskt vet om bignum-operationer krävs. Ett annat alternativ till taggning är att använda en konservativ skräpsamlare, men senast jag undersökte så var det inte förenligt med riktigt höga krav på allokeringsprestanda. ___ Lisp mailing list Lisp@lisp.se http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp