[Haskell-cafe] Is there anyone out there who can translate C# generics into Haskell?

Nicholls, Mark Nicholls.Mark at mtvne.com
Fri Jan 4 05:00:21 EST 2008


You may be right...but learning is not an atomic thing....wherever I
start I will get strange things happening. 

-----Original Message-----
From: Bulat Ziganshin [mailto:bulat.ziganshin at gmail.com] 
Sent: 03 January 2008 18:59
To: Nicholls, Mark
Cc: Bulat Ziganshin; haskell-cafe at haskell.org
Subject: Re[6]: [Haskell-cafe] Is there anyone out there who can
translate C# generics into Haskell?

Hello Mark,

Thursday, January 3, 2008, 6:40:13 PM, you wrote:

it would be hard to understand overlap without knowing both systems.
you will believe that you understand it, but things will go strange
ways :)

> I do not necessarily disagree....

> But if I can identify the overlap....then I have leant the
overlap...on
> the cheap.
>  
> -----Original Message-----
> From: Bulat Ziganshin [mailto:bulat.ziganshin at gmail.com] 
> Sent: 03 January 2008 14:39
> To: Nicholls, Mark
> Cc: Bulat Ziganshin; haskell-cafe at haskell.org
> Subject: Re[4]: [Haskell-cafe] Is there anyone out there who can
> translate C# generics into Haskell?

> Hello Mark,

> Thursday, January 3, 2008, 2:13:08 PM, you wrote:

> of course *some* overlap exists but in order to understand it you
> should know exact shape of both methods

> when i tried to develop complex library without understanding t.c.
> implementation, i constantly goes into the troubles - things that i
> (using my OOP experience) considered as possible, was really
> impossible in Haskell

> so i'm really wonder why you don't want to learn the topic thoroughly


>> I loosely do understand....but very loosely....but I'm not, as yet,
>> convinced it is completely relevant.

>> The implementation may differ, but that does not mean that there is
no
>> overlap....I am not expecting one model to be a superset of the
other,
>> but I am expecting some sort of overlap between 'interface'
>> implementation and type class instance declaration.


>> -----Original Message-----
>> From: Bulat Ziganshin [mailto:bulat.ziganshin at gmail.com] 
>> Sent: 03 January 2008 10:54
>> To: Nicholls, Mark
>> Cc: Bulat Ziganshin; haskell-cafe at haskell.org
>> Subject: Re[2]: [Haskell-cafe] Is there anyone out there who can
>> translate C# generics into Haskell?

>> Hello Mark,

>> Thursday, January 3, 2008, 1:22:26 PM, you wrote:

>> because they have different models. i recommend you to start from
>> learning this model, otherwise you will don't understand how Haskell
>> really works and erroneously apply your OOP knowledge to Haskell data
>> structures.

>> shortly said, there are 3 ways to polymorphism:

>> 1) C++ templates - type-specific code generated at compile time
>> 2) OOP classes - every object carries VMT which allows to select
>> type-specific operation
>> 3) type classes - dictionary of type-specific operations is given as
>> additional hidden argument to each function

>> Haskell uses t.c. and its abilities are dictated by this
>> implementation. there is no simple and direct mapping between
>> features provided by OOP and t.c.


>>> Can you give me a summary of why it's meaningless.....both would
seem
>> to
>>> describe/construct values/objects....they may not be equivalent, but
> I
>>> would expect some considerable overlap.

>>> -----Original Message-----
>>> From: Bulat Ziganshin [mailto:bulat.ziganshin at gmail.com] 
>>> Sent: 02 January 2008 20:29
>>> To: Nicholls, Mark
>>> Cc: haskell-cafe at haskell.org
>>> Subject: Re: [Haskell-cafe] Is there anyone out there who can
>> translate
>>> C# generics into Haskell?

>>> Hello Mark,

>>> Wednesday, January 2, 2008, 7:40:31 PM, you wrote:

>>>> I'm trying to translate some standard C# constucts into Haskell...
>>> some

>>> it's meaningless. read
>>> http://haskell.org/haskellwiki/OOP_vs_type_classes
>>> and especially papers mentioned in the References










-- 
Best regards,
 Bulat                            mailto:Bulat.Ziganshin at gmail.com


More information about the Haskell-Cafe mailing list