Hi,
In Haskell one can write:
module Blah where
data Omg a = Omg a
deriving Show
ghci> show (Omg 1)
"Omg 1",
but in Ur/Web we need to write this boilerplate by hand.
I would even prefer to have everything which can be be derived to be
automatically there unless a manual instance is specified.
So,
I would like that
datatype Foo a = Foo of a
val y = show (Foo 1)
compiles and does what is obviously intended unless another Foo specific show
instance has been defined.
Since Ur/Web uses whole-program compilation anyway, this is not a problem.
Also, everywhere I write 'show' you should read every typeclass mentioned on
http://www.haskell.org/ghc/docs/latest/html/users_guide/deriving.html , since
that is the level of sophistication users of modern languages expect these days.
Completely unrelated: opalang.org doesn't appear to have actual datatypes. Or
rather they have disjoint sums of record types to make the language more
uniform. Is there any particular reason that this isn't done in Ur/Web? It seems
that their approach is more sensible in a language with row variables.
--
Best regards,
Ron de Bruijn
_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur