Skip to Content
Learning Functional Programming in Go
book

Learning Functional Programming in Go

by Lex Sheehan
November 2017
Intermediate to advanced
670 pages
17h 35m
English
Packt Publishing
Content preview from Learning Functional Programming in Go

Kinds of types

Functors in Haskell must have the kind * -> *. Kinds are another layer of types, above the concrete types in Haskell. Kinds allow us to define what behavior types are capable of and then connect them with the appropriate type classes. For example, an Int can act like a showable, readable, ordered, or enumerable thing. Values in Haskell can be classified by their type. Let's use Haskell's concise syntax to look at some examples:

Type(Class)

__Kind__  

Description

Int

*

* represents concrete types (such as Bool, Char, or Int).

Char

*

* represents concrete types (such as Bool, Char, or Int).

[]

* -> *

[] takes a single type of kind * and returns a new type of kind *.

Maybe

* -> *

A higher-kinded ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning Functional Programming

Learning Functional Programming

Jack Widman

Publisher Resources

ISBN: 9781787281394Supplemental Content