[Haskell-cafe] Language extensions

Jim Burton jim at sdf-eu.org
Sun May 27 20:04:18 EDT 2007




Andrew Coppin wrote:
> 
> 
> [snip]
>> You're missing a lot of the conceptual background
> 
> Possibly. I find that most of what is written about Haskell tends to be 
> aimed at absolute beginners, or at people with multiple PhDs. (As in, 
> people to whom arcane terms like "denotational semantics" actually 
> *means* something.) I remember seeing somebody wrote a game (!!) in 
> Haskell - despite the fact that this is obviously impossible. So I went 
> to read the paper about how they did it... and rapidly become completely 
> lost. I get that they used something called "funtional reactive 
> programming", but I am still mystified as to what on earth that actually 
> is, or how it functions.
> 
>> But an awful lot 
>> of the more popular extensions are primarily about relaxing constraints 
>> and picking the most natural way to follow through.
> 
> "Hey, let's make it so that classes can have several parameters!" Um... 
> OK, that more or less makes sense. I can see uses for that.
> 
> "Hey, let's make it so a class instance can have one or more types 
> associated with it!" Er... well, that seems straight forward enough. 
> Alright.
> 
> "Hey, let's make it so that class methods can have completely arbitrary 
> types!" Wait, what the hell? How does *that* make sense?! o_O
> 
> 
Speaking as someone who, like you, came to the language recently and for
whom many of haskell's outer corners are still confusing, I should firstly
say that I can see where you're coming from but that it puzzles me as to why
you think things ought to be obvious or why, when something isn't obvious to
you, it must be useless? Could the answer be that it will take some time
before you understand the motivation for features that don't seem natural to
you? You might need some patience and study along with everything else, I
know I do (and people have been generous with links to work that explains
the motivation). I only say this because you seem, bizarrely, to be
suggesting that you could improve things by undoing the work of all these
"scary people" as you call them in another post, whilst admitting that you
don't understand it.



> "Hey, let's make it so you can use a type variable on the RHS that 
> doesn't even appear on the LHS!" Um... that's going to be tricky, but 
> sure, OK.
> 
> "Hey, let's make it so you can implement Prolog programs inside the type 
> system!" Right, I'm getting my coat now... :-P
> 
> In short, some of these relax restrictions in fairly obvious directions, 
> and others just seem downright bizzare.
> 
>> It helps if you can picture a matching explicitly-typed language.
>>   
> 
> I don't really understand that statement.
> 
>> An idea you might find helps: what you're finding with algorithms, I find 
>> with architecture when I have the extensions that let me type it.
>>   
> 
> ...or that one...
> 
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
> 
> 

-- 
View this message in context: http://www.nabble.com/Memoization-tf3822500.html#a10829748
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.



More information about the Haskell-Cafe mailing list