typeclass versioning

Cagdas Ozgenc co19@cornell.edu
Wed, 12 Jun 2002 17:04:41 +0300


This is a multi-part message in MIME format.

------=_NextPart_000_0048_01C21233.3DE70EA0
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Greetings.

What happens if a type is made an instance of a typeclass in two =
different modules with different implementations? In static linking =
scenarios it will be caught by the compiler. I don't know whether we can =
do dynamic loading in Haskell, but it seems there will be =
inconsistencies in that case. Even in static linking when an object is =
serialized over the wire where a different implementation of a typeclass =
exists things will go wild. What's Haskell's approach to versioning?

Thanks


------=_NextPart_000_0048_01C21233.3DE70EA0
Content-Type: text/html;
	charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dwindows-1252" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.3504.2500" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Greetings.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>What happens if&nbsp;a type is made an =
instance of=20
a typeclass in two different modules with different implementations? In =
static=20
linking scenarios it will be caught by the compiler. I don't know =
whether we can=20
do dynamic loading in Haskell, but it seems there will be =
inconsistencies in=20
that case. Even in static linking when an object is serialized over the =
wire=20
where a different implementation of a typeclass exists things will go =
wild.=20
What's Haskell's approach to versioning?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks</FONT></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_0048_01C21233.3DE70EA0--