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

Reply via email to