[Haskell-cafe] Time for a new logo?

Andrew Coppin andrewcoppin at btinternet.com
Wed Dec 17 17:26:58 EST 2008

Tristan Seligmann wrote:
> * Andrew Coppin <andrewcoppin at btinternet.com> [2008-12-16 20:23:50 +0000]:
>> Sure, there are many concepts in Haskell which just aren't found  
>> anywhere else. But monads? Catamorphisms? Coroutines? Couldn't we think  
>> up some less intimidating terminology?
> The problem is that "less intimidating" terminology generally seems to
> mean inaccurate or misleading terminology.

I'm not sure I agree with that.

Sure, simplifying things *can* make them less precise. But I don't 
believe it is always necessarily so. And I think we could try a little 
bit harder here. (Nothing too radical, just some small changes.)

> They aren't concepts that
> aren't found anywhere else, they're concepts that *are* found elsewhere
> (category theory, among other places), that's why they have those names.

And who knows category theory? Almost nobody. If you insist on naming 
stuff after things that nobody will have heard of and which sound highly 
technical, you're going to seriously limit your potential audience.

(Hylomorphisms verses epimorphisms. Anybody remember which is which?)

> (Also, "coroutines"? Seriously? That's hardly an obscure term in
> programming circles.)

Well now, I'm curios. I've been writing computer programs since I was 9 
years old. I hold a diploma *and* an honours degree in computer science. 
And I have never even *heard* of a coroutine. To this day I still don't 
know what it means. I rather suspect I'm not the only "programmer" on 
earth who finds themselves in this position. ;-)

>> {-# LANGUAGE ExistentialQuantification #-}
>> Hmm, now if this was Perl or something, that would be  
>> HiddenTypeVariables or something. Much less fearsom-sounding.
> Also much less informative, and less accurate.

How so?

Turning on this extension allows you to "hide" a type variable from the 
RHS of a data statement from appearing on the LHS. That's *exactly* what 
this extension does. What could be more descriptive? (Without launching 
into advanced logic theory anyway...)

> The fact that Haskell
> embraces its mathematical basis instead of trying to completely
> obfuscate it away is not a bad thing, in my opinion.

I don't see how having a pronouncible name for something is 
"obfuscation". It's good that Haskell's mathematical foundations show 
through, but it would be bad if Haskell were completely opaque without 
first doing a postdoc in category theory. Technical terms are only 
useful to those who already know what they mean, after all.

(We don't talk about "single-valued total relations", we talk about 
"functions". Because nobody knows what the heck a single-valued total 
relation is, but most people immediately "get" what a funtion is.)

>> But then, I guess that's what you get for a lanuage designed by a  
>> committee of university professors. ;-)
>> At any rate, if we're to have a logo, let's not have one which actively  
>> *promotes* the notion that Haskell is complex and difficult and that  
>> only theoretical physicists need apply...
> I think you're reading way too much into a logo.

The current logo is basically a circle plus a whole heap of mathematical 
symbols. That doesn't really say "hey, this stuff is fun, come on in!" 
It says "this is for maths nerds only". (Which isn't actually true, in 
my opinion. But the current logo gives that impression.) I'd like our 
new logo to do better in this direction, that's all.

More information about the Haskell-Cafe mailing list