7.1

2 The Hackett Reference

This section provides reference-style documentation for all of the bindings provided by #lang hackett and other built-in libraries. It is arranged by module, not by topic. For a gentler, more tutorial-style introduction to Hackett and its features, see The Hackett Guide.

    2.1 Core Syntactic Forms

      2.1.1 Type Annotation

      2.1.2 Definitions

      2.1.3 Anonymous Functions

      2.1.4 Local Bindings

      2.1.5 Pattern Matching

      2.1.6 Imports

    2.2 Datatypes

      2.2.1 Defining algebraic datatypes

      2.2.2 Defining type aliases

      2.2.3 Numbers

      2.2.4 Strings

      2.2.5 Functions

      2.2.6 Quantification and Constrained Types

      2.2.7 Unit

      2.2.8 Booleans

      2.2.9 The Identity Type

      2.2.10 Tuples

      2.2.11 Optionals

      2.2.12 Lists

    2.3 Typeclasses

      2.3.1 Defining typeclasses and typeclass instances

      2.3.2 Printing for debugging

      2.3.3 Equality

      2.3.4 Semigroups and monoids

      2.3.5 Functors

      2.3.6 Applicative functors

      2.3.7 Monads

    2.4 I/O

    2.5 Monad Transformers

      2.5.1 Reader

      2.5.2 Error

    2.6 Controlling Evaluation

      2.6.1 Incomplete Programs