On Jan 4, 2006, at 2:25 AM, Dylan Thurston wrote:

On Tue, Jan 03, 2006 at 02:41:40PM -0800, Ashley Yakeley wrote:
David Roundy wrote:
On Mon, Jan 02, 2006 at 04:23:32PM -0800, Ashley Yakeley wrote:
One open question (in my mind) would be whether we'd allow

data Foo = FooInt { foo :: Int } | FooChar { foo :: Char }

In the "new" system, there's no reason this need be illegal.
How would this behave?

data Foo a b = FooA {foo :: a} | FooB {foo :: b}
I'm not sure I understand the problem. Why would there be any difficulty
with this?
What type would "foo" have? ...

Nothing, since in David's proposal there would be no 'foo' defined on
the top level at all.

What happens to record updates?

setFoo x r = r { foo = x }

Or is the proposal to remove updates as well?

/ Ulf
_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to