summaryrefslogtreecommitdiff
path: root/docs/users_guide/exts/whitespace.rst
blob: 6defc2b4e0978dfe38cd986908558194ca1ffed8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
.. _whitespace:

Whitespace
==========

.. index::
   single: Whitespace

As in the Haskell Language Report, Haskell comments are valid whitespace. In
addition, lines (which must end with a line feed character) that begin as
follows are valid whitespace in source code, except immediately after a
``where``, ``let``, ``do`` or ``of`` keyword:

-  ``#!``. This accommodates 'shebang' interpreter directives in scripts on
   Unix-like operating systems.

-  ``<space>#!``, where ``<space>`` is an initial space character before the
   'shebang'.

-  ``#pragma``. This accommodates the use of a directive that passes additional
   information to a compiler.

-  ``#line <line> "<file>"``, where ``<line>`` is a positive integer and
   ``<file>`` can comprise zero or more characters. This accommodates a compiler
   directive that resets the numbering of lines of source code, and the
   identification of the source code file name, in compiler messages.

-  ``#<line> "<file>"``, where ``<line>`` is a positive integer and ``<file>``
   can comprise zero or more characters.