30 lines
1.1 KiB
Plaintext
30 lines
1.1 KiB
Plaintext
---
|
|
title: Haskell Language
|
|
toc: no
|
|
format: markdown
|
|
...
|
|
|
|
Haskell is a programming language; a formal notation for describing
|
|
computation. It can be described in terms of its [syntax]() and
|
|
[semantics](). It is also often helpful to know about the [origins]()
|
|
and [intuitions]() behind its concepts as well.
|
|
|
|
It is one thing to know *about* a language, and quite another to know
|
|
how to *use* it well. Learning to express ideas a language effectively
|
|
involves the [pragmatics]() of the language.
|
|
|
|
# Haskell Programs
|
|
|
|
A program in Haskell is a collection of [modules](), including at
|
|
least the `Main` module. Modules consist of [declarations](), which
|
|
define elements of the program. The declarations contain
|
|
[expressions](), which denote [values]() and have [types](). All of
|
|
the above are built syntactically from the [lexical structure]() of
|
|
text in files.
|
|
|
|
# Haskell Tools
|
|
|
|
Although Haskell is a useful language for communication of ideas about
|
|
computation between humans, it also forms a practical language for
|
|
executing programs on computers when coupled with [implementations]().
|