summaryrefslogtreecommitdiff
path: root/system/doc/reference_manual/introduction.xml
blob: 79b8132fb0d29bfa2bb72258462f8d39a5669981 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">

<chapter>
  <header>
    <copyright>
      <year>2003</year><year>2023</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
 
          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
    
    </legalnotice>

    <title>Introduction</title>
    <prepared></prepared>
    <docno></docno>
    <date></date>
    <rev></rev>
    <file>introduction.xml</file>
  </header>
  <marker id="erlang ref manual"></marker>

  <p>This section is the Erlang reference manual. It describes the
    Erlang programming language. </p>

  <section>
    <title>Purpose</title>
    <p>The focus of the Erlang reference manual is on the language itself,
      not the implementation of it. The language constructs are described in
      text and with examples rather than formally specified. This is
      to make the manual more readable.
      The Erlang reference manual is not intended as a tutorial.</p>
    <p>Information about implementation of Erlang can, for example, be found,
      in the following:</p>
    <list type="bulleted">
      <item><p><seeguide marker="system/system_principles:system_principles">
      System Principles</seeguide></p>
      <p>Starting and stopping, boot scripts, code loading,
      <seeguide marker="system/system_principles:error_logging">
      logging</seeguide>,
      <seeguide marker="system/system_principles:create_target">
      creating target systems</seeguide></p>
      </item>
      <item><p><seeguide marker="system/efficiency_guide:advanced">
      Efficiency Guide</seeguide></p>
      <p>Memory consumption, system limits</p>
      </item>
      <item><p>ERTS User's Guide</p>
      <p><seeguide marker="erts:crash_dump">Crash dumps</seeguide>,
      <seeguide marker="erts:driver">drivers</seeguide></p>
      </item>
    </list>
  </section>

  <section>
    <title>Prerequisites</title>
    <p>It is assumed that the reader has done some programming and
      is familiar with concepts such as data types and programming
      language syntax.</p>
  </section>

  <section>
    <title>Document Conventions</title>
    <p>In this section, the following terminology is used:</p>
    <list type="bulleted">
      <item>A <em>sequence</em> is one or more items. For example, a
       clause body consists of a sequence of expressions. This
       means that there must be at least one expression.</item>
      <item>A <em>list</em> is any number of items. For example,
       an argument list can consist of zero, one, or more arguments.</item>
    </list>
    <p>If a feature has been added in R13A or later,
    this is mentioned in the text.</p>
  </section>

  <section>
    <title>Complete List of BIFs</title>
    <p>For a complete list of BIFs, their arguments and return values,
      see <seeerl marker="erts:erlang">erlang(3)</seeerl>
      manual page in ERTS.</p>
  </section>

  <section>
    <title>Reserved Words</title>
    <p>The following are reserved words in Erlang:</p>
    <p><c>after and andalso band begin bnot bor bsl bsr bxor case catch
      cond div end fun if let maybe not of or orelse receive rem try
      when xor</c></p>
    <p><strong>Note</strong>: <c>cond</c> and <c>let</c>, while reserved,
    are currently not used by the language.</p>
    <change><p><c>maybe</c> is a reserved word only if feature
    <c>maybe_expr</c> is enabled. In Erlang/OTP 25 and 26,
    <c>maybe_expr</c> is disabled by default. Starting from
    Erlang/OTP 27, <c>maybe_expr</c> is enabled by
    default.</p></change>
  </section>

</chapter>