[Haskell-cafe] Time for a new logo?

Tillmann Rendel rendel at daimi.au.dk
Wed Dec 17 20:36:29 EST 2008

Hi Andrew,

Andrew Coppin wrote:
> Technical terms are only 
> useful to those who already know what they mean, after all.

All terms, whether technical or not, are only useful to those who 
already know what they mean. So if you want to learn new concepts, then 
you have to learn new terms. All terms are more or less arbitrarily 
chosen. I don't see why it should be substantially harder to learn 
arbitrarily chosen greek terms then to learn arbitrarily chosen english 

> (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.)

I strongly disagree for three reasons. First, "function" as we use it in 
programming is clearly a technical term, which has to be learned by 
beginners. Second, "function" in Haskell means something else as 
"function" in, e.g., Java. Third, function is in fact a highly ambiguous 
technical term, meaning something else in almost every area. In my work, 
I use at least the following meanings of "function":

* a special kind of relation
* the purpose or utility of a component in a system
* a subroutine in a computer program
* the role of a person in an organization
* the fact that something is working
* a symbol in a signature
* one feature of a system which offers several

I think "function" is actually an excellent example of an obscure 
technical term which is hard to understand, which origins from 
mathematics, which has to be mastered in order to understand Haskell, 
and which often causes problems for beginners. Therefore, I'm confused 
why you argue *against* such terms in general, but *for* the term 

I tend to feel confronted by terms which I happen not yet to understand, 
while taking the terms I already understand for granted. However, I try 
to remind myself not to be stunned by mere words, but instead learn 
about the concepts and their names which are new to me, and teach others 
some of the concepts and their names which I already know. There is just 
no point in complaining that one doesn't understand something, and so 
much more in learning and teaching.


More information about the Haskell-Cafe mailing list