
(which just states that record type and field label type together uniquely determine the field value type)
in practice, overloading introduces overhead that might hamper
That's nice. When will a new Haskell standard become official? It seems so many new extensions exist, that one cannot judge the language by looking at "Haskell98" anymore. performance. You mean overloading in general, so using type classes? Is this comparable to the Java/C#/C++ overhead with virtual methods, so one extra level of indirection before the function gets called? Or is it much worse? -----Original Message----- From: haskell-cafe-bounces@haskell.org [mailto:haskell-cafe-bounces@haskell.org] On Behalf Of Claus Reinke Sent: Wednesday, June 20, 2007 01:28 To: haskell-cafe@haskell.org Subject: Re: [Haskell-cafe] Useful IDE features -
That looks nice, just unfortunate you need to cast to ::Float in homer2?Age::Float. I don't see why this is needed, but I must say I don't understand your code completely yet, working on that :)
that annotation is not needed if you keep the functional dependency (which just states that record type and field label type together uniquely determine the field value type)
class Has field value record | field record -> value where (?) :: record -> field -> value (<:) :: (field,value) -> record -> record
Also, wouldn't this approach be less performant? Or is GHC that good that ist compiles away all the overhead?
in principle, there is no need for this to be less performant. in practice, overloading introduces overhead that might hamper performance. claus _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.9.1/854 - Release Date: 19/06/2007 13:12 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.472 / Virus Database: 269.9.1/854 - Release Date: 19/06/2007 13:12