|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| .github/ | H | 31-May-2021 | - | 464 | 389 |
| HOWTO/ | H | 31-May-2021 | - | 3,440 | 2,484 |
| bin/ | H | 31-May-2021 | - | | |
| bootstrap/ | H | 31-May-2021 | - | 1,604 | 1,108 |
| erts/ | H | 07-May-2022 | - | 663,721 | 524,155 |
| lib/ | H | 31-May-2021 | - | 2,829,245 | 2,167,923 |
| make/ | H | 07-May-2022 | - | 4,006 | 3,024 |
| plt/ | H | 31-May-2021 | - | | |
| scripts/ | H | 31-May-2021 | - | 2,311 | 1,744 |
| system/ | H | 31-May-2021 | - | 33,788 | 29,144 |
| xcomp/ | H | 31-May-2021 | - | 3,007 | 330 |
| .dir-locals.el | H A D | 31-May-2021 | 409 | 15 | 12 |
| .mailmap | H A D | 31-May-2021 | 128 | 4 | 3 |
| .travis.yml | H A D | 31-May-2021 | 1.4 KiB | 71 | 64 |
| AUTHORS | H A D | 31-May-2021 | 601 | 14 | 10 |
| CONTRIBUTING.md | H A D | 31-May-2021 | 5.7 KiB | 137 | 91 |
| Makefile.in | H A D | 03-May-2022 | 41.6 KiB | 1,161 | 747 |
| OTP_VERSION | H A D | 31-May-2021 | 10 | 2 | 1 |
| README.md | H A D | 31-May-2021 | 4 KiB | 93 | 70 |
| TAR.include | H A D | 31-May-2021 | 372 | 23 | 22 |
| configure.in | H A D | 31-May-2021 | 13.4 KiB | 450 | 391 |
| erl-build-tool-vars.sh | H A D | 31-May-2021 | 1.1 KiB | 30 | 1 |
| otp_build | H A D | 31-May-2021 | 38.5 KiB | 1,440 | 1,199 |
| otp_patch_apply | H A D | 31-May-2021 | 12.6 KiB | 480 | 377 |
| otp_versions.table | H A D | 31-May-2021 | 140.6 KiB | 216 | 215 |
| prebuild.delete | H A D | 31-May-2021 | 31 | 3 | 2 |
| prebuild.skip | H A D | 31-May-2021 | 32 | 5 | 4 |
README.md
1# [Erlang/OTP](https://www.erlang.org)
2
3**Erlang** is a programming language and runtime system for building massively scalable soft real-time systems with requirements on high availability.
4
5**OTP** is a set of Erlang libraries, which consists of the Erlang runtime system, a number of ready-to-use components mainly written in Erlang, and a set of design principles for Erlang programs. [Learn more about Erlang and OTP](http://erlang.org/doc/system_architecture_intro/sys_arch_intro.html).
6
7[Learn how to program in Erlang](http://learnyousomeerlang.com/content).
8
9## Examples
10There are several examples [on the website](http://erlang.org/faq/getting_started.html) to help you get started. The below example defines a function `world/0` that prints "Hello, world" in the Erlang shell:
11```erlang
12-module(hello).
13-export([world/0]).
14
15world() -> io:format("Hello, world\n").
16```
17Save the file as `hello.erl` and run `erl` to enter the Erlang shell to compile the module.
18```
19Erlang/OTP 19 [erts-8.2] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
20
21Eshell V8.2 (abort with ^G)
221> c(hello).
23{ok,hello}
242> hello:world().
25Hello, world
26ok
27```
28Learn more about the Erlang syntax of [modules](http://erlang.org/doc/reference_manual/modules.html), [functions](http://erlang.org/doc/reference_manual/functions.html) and [expressions](http://erlang.org/doc/reference_manual/expressions.html) on [Erlang.org](https://www.erlang.org).
29
30## Installation
31### Binary Distributions
32Erlang/OTP is available as pre-built binary packages by most OS package managers.
33```
34apt-get install erlang
35```
36### Compiling from source
37
38To compile Erlang from source, run the following commands. The complete building and installation instructions [can be found here](HOWTO/INSTALL.md).
39```
40git clone https://github.com/erlang/otp.git
41cd otp
42./otp_build autoconf
43./configure
44make
45make install
46```
47Alternatively, you can use [Kerl](https://github.com/kerl/kerl), a script that lets you easily build Erlang with a few commands.
48
49## Bug Reports
50
51Please visit [bugs.erlang.org](https://bugs.erlang.org/issues/?jql=project%20%3D%20ERL) for reporting bugs. The instructions for submitting bugs reports [can be found here](https://github.com/erlang/otp/wiki/Bug-reports).
52
53### Security Disclosure
54
55We take security bugs in Erlang/OTP seriously. Please disclose the issues regarding security by sending an email to **erlang-security [at] erlang [dot] org** and not by creating a public issue.
56
57## Contributing
58
59We are grateful to the community for contributing bug fixes and improvements. Read below to learn how you can take part in improving Erlang/OTP. We appreciate your help!
60
61### Contribution Guide
62
63Read our [contribution guide](CONTRIBUTING.md) to learn about our development process, how to propose fixes and improvements, and how to test your changes to Erlang/OTP before submitting a pull request.
64
65### Help Wanted
66
67We have a list of [Help Wanted](https://bugs.erlang.org/issues/?jql=status%20%3D%20%22Help%20Wanted%22) bugs that we would appreciate external help from the community. This is a great place to get involved.
68
69## License
70
71Erlang/OTP is released under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).
72
73> %CopyrightBegin%
74>
75> Copyright Ericsson AB 2010-2017. All Rights Reserved.
76>
77> Licensed under the Apache License, Version 2.0 (the "License");
78> you may not use this file except in compliance with the License.
79> You may obtain a copy of the License at
80>
81> http://www.apache.org/licenses/LICENSE-2.0
82>
83> Unless required by applicable law or agreed to in writing, software
84> distributed under the License is distributed on an "AS IS" BASIS,
85> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
86> See the License for the specific language governing permissions and
87> limitations under the License.
88>
89> %CopyrightEnd%
90
91## Awesome-Erlang
92You can find more projects, tools and articles related to Erlang/OTP on the [awesome-erlang list](https://github.com/drobakowski/awesome-erlang). Add your project there.
93