https://github.com/piotrjustyna/erlang-lab
Erlang lab.
https://github.com/piotrjustyna/erlang-lab
erlang vscode vscode-remote
Last synced: 7 months ago
JSON representation
Erlang lab.
- Host: GitHub
- URL: https://github.com/piotrjustyna/erlang-lab
- Owner: PiotrJustyna
- Created: 2019-10-11T12:36:09.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2021-06-18T16:46:41.000Z (over 4 years ago)
- Last Synced: 2025-01-11T16:39:04.921Z (9 months ago)
- Topics: erlang, vscode, vscode-remote
- Language: Erlang
- Homepage:
- Size: 41 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# readme
Erlang lab. I use this repository to experiment with Erlang. All projects in the repository support Visual Studio Code remote containers, meaning that the code can be pulled and ran on any machine supporting docker. No configuration required.
## applications
| name | vs code build support\* | description |
| --- | --- | --- |
| [1_hello_world](./1_hello_world/) | :white_check_mark: | Just a hello world application. Doesn't even print out the "hello world!". It just serves as a template for rebar3 + supervisor + application behavior usage. |
| [2_generic_server_1](./2_generic_server_1/) | :white_check_mark: | First generic server from [Programming Erlang 2nd edition](https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/). |
| [3_modules](./3_modules/modules/) | :white_check_mark: | Fun with modules + io. |
| [4_guards](./4_guards/guards/) | :white_check_mark: | Exploring guards, `if` and `case of` statements to memorize their exotic syntax. |\*vs code build support - support for the popular `[cmd/ctrl]+shift+b` shortcut. Applications supporting this have an entry in the `erlang-lab/.vscode/tasks.json` file.
## adding new applications
This is more like a note-to-self type of affair. I often switch between projects and languages and sometimes forget basic commands. Since all applications in this repository support rebar3, to add a new application, execute this from the terminal: `rebar3 new app APP_NAME`.
## reading
* [Building Your First Erlang App Using Rebar3](https://medium.com/erlang-central/building-your-first-erlang-app-using-rebar3-25f40b109aad)
* [rebar3 shell](https://ferd.ca/rebar3-shell.html), and the [whole blog](https://ferd.ca/)
* [erlang in anger](https://www.erlang-in-anger.com/)
* [Property-Based Testing with PropEr, Erlang, and Elixir](https://pragprog.com/titles/fhproper/property-based-testing-with-proper-erlang-and-elixir/)
* [Programming Erlang 2nd edition](https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/)
* [Learn You Some Erlang for Great Good](https://learnyousomeerlang.com/)## to watch
* [the zen of erlang](https://youtu.be/4ZIPijEqrNI)