As a layman of `Haskell`

, I find being cautious of upper/lower case letters help me a lot to get understanding of functions:

(1) Function name doesn’t begin upper case: it can be lower case (e.g., `sqrt`

) or special characters (e.g., `+`

).

(2) Function has type. Let’s define a new function, `incInt`

:

```
incInt :: Integer -> Integer
incInt a = a + 1
```

The above identifies `incInt`

‘s type is “`Integer -> Integer`

“: `Integer`

is type in `Haskell`

, and types begin with upper case. Check another built-in function`sqrt`

:

```
Prelude> :t sqrt
sqrt :: Floating a => a -> a
```

The “`Floating a`

” which is in the left of `=>`

is called type constraint: `Floating`

is typeclass, and its values are types which satisfy this typeclass (`Floating`

typeclass contains both `Float`

and `Double`

types); `a`

is a type variable which can be any type which belongs to `Floating`

typeclass.

Takeaway:

a) Function name can’t begin with upper case letters.

b) Type, typeclass, type variable occur in function type definition. Type and typeclass begin with upper case letters, and type variable need to begin with lower case letters.

What is the article about? About function names in lowercase?

Useless, because these two obvious points can be find in any Haskell book for beginners.

This post is just a summary which I extracted. Never mind if it is too simple.

I agree with Haskell beginer. Your title makes it sound like this is a common pitfall. This is an extremely beginner topic, there’s nothing to beware of here.

I’m struggling to understand why this was linked from Haskell Weekly, where I get my Haskell news. How is this news to anyone but non-Haskell users?

Thanks for your comments! I have written in my article that this is just a summary for myself and I am a layman.

I don’t know how it is linked from Haskell weekly, and you should contact the owner of Haskell weekly.

Thanks for taking the time to write this up! Haskell has a fairly intimidating reputation, and it can be difficult to find solid, introductory content. Posts like this help change that, which improves the community overall. I hope you continue to share your learning path in the open—it’s definitely not “too simple” 🙂