- A String is a sequence of characters. In Haskell,
String
is represented b a linked-list ofChar
values, aka[Char]
. - A type or datatype is a classification of values or data. Types in Haskell determine what values are members of the type or that inhibit the type. Unlike in other languages, datatypes in Haskell by default do not delimit the operations that can be performed on that data.
- Concatenation is the joining together of sequences of values. Often in Haskell this is meant with respect to the
[]
, or list, datatype, which also applies toString
which is[Char]
. The concatenation function in Haskell is(++)
which has type[a] -> [a] -> [a]
. - Scope is where a variable referred to by name is valid. Another word used with the same meaning is visibility, because if a variable isn't visible it's not in scope.
- Local bindings are bindings local to particular expressions. The primary delineation here from top level bindings is that local bindings cannot be imported by other programs or modules.
- Top level bindings in Haskell are bindings that stand outside of any other declaration. The main feature of top-level bindings is that they can be made available to other modules within your programs or to other people's programs.