![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> -----Original Message-----
> From: andrel [mailto:a_l### [at] hotmail com]
> On 22-Dec-08 21:36, Stephen wrote:
> > On Mon, 22 Dec 2008 12:52:03 +0000, Invisible <voi### [at] dev null> wrote:
> >
> >> OK, so here's a few short questions...
> >
> > OK then, no, no a thousand times no ;)
That sounds like Monty Python, but I'm not familiar with the clip.
...Ben Chambers
www.pacificwebguy.com
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
> OK, so here's a few short questions... I guess asking here is going to
> generate slightly skewed results, but here goes.
>
> 1. Do you consider yourself a "programmer"? (I.e., are you comfortable
> firing up an editor and writing a little code if the need arises?)
No and yes. If something is needed and not easily found but easily done,
I'll do it myself. But while I don't code regularly nor do it as my job,
most of my code looks hidious and I wouldn't call myself a programmer.
> 2. Have you ever heard of a "coroutine"?
Doesn't come to mind.
> 3. Do you know what a coroutine actually *is*? (Rather than just having
> heard the term before.)
I assume it's a routine to assist another routine.
> 4. Do you know what "existential quantification" means?
No.
> 5. There is an optional extension to the Haskell programming language
> called ExistentialQuantification. Can you guess what it does?
No. I know you've told it, 'cause Darren told that, but I'm too lazy to
look up for it.
-Aero
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 24-Dec-08 8:55, Chambers wrote:
>> -----Original Message-----
>> From: andrel [mailto:a_l### [at] hotmail com]
>> On 22-Dec-08 21:36, Stephen wrote:
>>> On Mon, 22 Dec 2008 12:52:03 +0000, Invisible <voi### [at] dev null> wrote:
>>>
>>>> OK, so here's a few short questions...
>>> OK then, no, no a thousand times no ;)
>
> That sounds like Monty Python, but I'm not familiar with the clip.
>
It is a part of a song by one of my favorite singer/songwriters, where
he is with every verse increasingly forcefully denying to do something.
Unfortunately he is not very well known, but I am sure I have mentioned
him here a couple of times.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Well, well... The results were unsurprising. Suffice it to say, most
average programmers are not well-versed in predicate calculus. And yet,
when I mentioned on the Haskell mailing list that maybe we should use
less opaque names, my suggestion was greeted with derision. "Well
*obviously* if you don't know what a coroutine is you can't be a 'real'
programmer then" and similar comments.
Tell me, which of these feature names do you consider more meaningful?
"Existential Quantification"
"Type variable hiding"
I got shouted at for suggesting the latter (which describes what the
feature *does*) because the former "is much clearer to understand and
has a far more precise meaning".
(Excuse me? Calling it "existential quantification" doesn't even tell
you that it's to do with data types! WTF?)
Apparently the Haskell guys are so immersed in advanced mathematics that
they have a completely skewed view of what "normal programmers" actually
know about. :-P
And then we get the elitist brigade out. "Well if people can't be
bothered to learn category theory, they have no business daring to use
our blessed Haskell in the first place. We don't need them." Personally
I find this attitude sad.
It's true that Haskell is a language for people who think about what
they're doing before they do it. If you're a "code grinder" - churning
out mile after mile of crudely hacked-together VB (or whatever) - then
Haskell has nothing to offer you. We really *don't* need these people.
If you're only interested in writing as much code as possible, as fast
as you can, you can keep VB. Haskell requires you to *think* before you
type.
But on the other hand, there is *no reason* why you need to learn
category theory just to write programs in Haskell. If you know category
theory, great. But there is no reason to make it *mandatory*! There's no
need for that.
Hell, does Oracle Corporation go "hey, this guy is trying to use our
database product, but he doesn't even know about the relational algebra.
We don't need him!" Um, no, I don't *think* so! Sure, if you're serious
about using Oracle, you'll bother to make the effort to learn how to use
it properly. But why should you have to have a thorough knowledge of
relational algebra just to be able to understand the documentation? What
the hell??
(It seems to be a sad psychological case of certain people wanted to
keep Haskell "secret". Like only the Select Few are about to comprehend
the opaque documentation and grok the true meaning behind it.
Personally, I don't subscribe to such elitist ideas. I'd like to see the
documentation improved to the point where normal people can use it!)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> 5. There is an optional extension to the Haskell programming language
>> called ExistentialQuantification. Can you guess what it does?
>
> Yes, because you've described it. I would have guessed it did
> existential quantification.
Existential quantification *of what*? ;-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> 5. There is an optional extension to the Haskell programming language
>> called ExistentialQuantification. Can you guess what it does?
>
> I can guess.
> some optimized condition|condition|condition ??
Actually, it's to do with special type signatures. (Basically it allows
you to manipulate something in a way that it's data type isn't "visible"
from the outside, only the inside.) Wasn't that so obvious? :-S
Like I said, *I* would have called it TypeVariableHiding. But everybody
else seems to think that's a stupid name...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
> Hell, does Oracle Corporation go "hey, this guy is trying to use our
> database product, but he doesn't even know about the relational algebra.
> We don't need him!" Um, no, I don't *think* so! Sure, if you're serious
Poor analogy. Haskell developers aren't trying to get rich by
developing it.
--
Factorials were made to make maths *look* interesting.
/\ /\ /\ /
/ \/ \ u e e n / \/ a w a z
>>>>>>mue### [at] nawaz org<<<<<<
anl
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Hell, does Oracle Corporation go "hey, this guy is trying to use our
>> database product, but he doesn't even know about the relational algebra.
>> We don't need him!" Um, no, I don't *think* so! Sure, if you're serious
>
> Poor analogy. Haskell developers aren't trying to get rich by
> developing it.
OK, well how about this: Do the POV-Ray developers laugh at people who
don't know how a Sturmian root solver works? No, I think not.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
>>> 5. There is an optional extension to the Haskell programming language
>>> called ExistentialQuantification. Can you guess what it does?
>>
>> Yes, because you've described it. I would have guessed it did
>> existential quantification.
>
> Existential quantification *of what*? ;-)
Of expression! ;-) ;-)
--
Darren New, San Diego CA, USA (PST)
Why is there a chainsaw in DOOM?
There aren't any trees on Mars.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible <voi### [at] dev null> wrote:
> "Existential Quantification"
> "Type variable hiding"
>
> I got shouted at for suggesting the latter (which describes what the
> feature *does*) because the former "is much clearer to understand and
> has a far more precise meaning".
The former has a precise meaning in the realm of logic, while the latter in the
realm of Haskell. How many PHP, C++ or Java programmers would know what is a
"type variable" anyway? But perhaps all of them had some basic predicate
calculus instruction... even if they don't remember exact terms like me. :P
> Apparently the Haskell guys are so immersed in advanced mathematics that
> they have a completely skewed view of what "normal programmers" actually
> know about. :-P
You only noticed now? ;)
hmm, not that Scheme guys are much better in their pure theoretical
approaches... XP
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |