49 lines
1.6 KiB
Markdown
49 lines
1.6 KiB
Markdown
# What is Erlang?
|
|
|
|
Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance.
|
|
|
|
> [wikipedia.org/wiki/Erlang_(programming_language)](https://en.wikipedia.org/wiki/Erlang_%28programming_language%29)
|
|
|
|
%%LOGO%%
|
|
|
|
# How to use this image
|
|
|
|
## Run it as the REPL
|
|
|
|
```console
|
|
➸ docker run -it --rm %%IMAGE%%
|
|
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false]
|
|
|
|
Eshell V9.0 (abort with ^G)
|
|
1> uptime().
|
|
3 seconds
|
|
ok
|
|
2> % use Ctrl+G to call the shell switch
|
|
User switch command
|
|
--> ?
|
|
c [nn] - connect to job
|
|
i [nn] - interrupt job
|
|
k [nn] - kill job
|
|
j - list all jobs
|
|
s [shell] - start local shell
|
|
r [node [shell]] - start remote shell
|
|
q - quit erlang
|
|
? | h - this message
|
|
--> q
|
|
➸ docker run -it --rm -h erlang.local %%IMAGE%% erl -name snode@erlang.local
|
|
Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false]
|
|
|
|
Eshell V9.0 (abort with ^G)
|
|
(snode@erlang.local)1> erlang:system_info(otp_release).
|
|
"20"
|
|
(snode@erlang.local)2>
|
|
User switch command
|
|
--> q
|
|
```
|
|
|
|
## Run a single Erlang escript
|
|
|
|
```console
|
|
$ docker run -it --rm --name %%REPO%%-inst1 -v "$PWD":/usr/src/myapp -w /usr/src/myapp %%IMAGE%% escript your-escript.erl
|
|
```
|