Portability | non-portable (GHC Extensions) |
---|---|

Stability | internal |

Maintainer | cvs-ghc@haskell.org |

Safe Haskell | Safe-Infered |

GHC type definitions. Use GHC.Exts from the base package instead of importing this module directly.

# Documentation

The character type `Char`

is an enumeration whose values represent
Unicode (or equivalently ISO/IEC 10646) characters (see
http://www.unicode.org/ for details). This set extends the ISO 8859-1
(Latin-1) character set (the first 256 characters), which is itself an extension
of the ASCII character set (the first 128 characters). A character literal in
Haskell has type `Char`

.

To convert a `Char`

to or from the corresponding `Int`

value defined
by Unicode, use `toEnum`

and `fromEnum`

from the
`Enum`

class respectively (or equivalently `ord`

and `chr`

).

Single-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE single-precision type.

Double-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE double-precision type.

A value of type

is a computation which, when performed,
does some I/O before returning a value of type `IO`

a`a`

.

There is really only one way to "perform" an I/O action: bind it to
`Main.main`

in your program. When your program is run, the I/O will
be performed. It isn't possible to perform I/O from an arbitrary
function, unless that function is itself in the `IO`

monad and called
at some point, directly or indirectly, from `Main.main`

.

`IO`

is a monad, so `IO`

actions can be combined using either the do-notation
or the `>>`

and `>>=`

operations from the `Monad`

class.