Setting up detectEr¶
Downloading detectEr¶
detectEr can be cloned from our GitHub repository:
git clone https://github.com/duncanatt/detecter.git
You can also download detectEr in archive format by visiting https://github.com/duncanatt/detecter, or by running:
wget -O detecter.zip https://github.com/duncanatt/detecter/archive/refs/heads/master.zip
unzip detecter.zip
mv detecter-master detecter
Unzip
If the unzip
utility is not installed on your Ubuntu/Debian system, you can install it via APT by running sudo apt install unzip
. On macOS, unzip
is pre-installed.
Both of these actions should result in the creation of the directory detecter
that is structured as follows.
Directory name | Description |
---|---|
detecter |
detectEr root directory |
detecter |
detectEr tool directory |
priv |
detectEr language specification and other configuration files |
src |
Erlang module sources |
test |
Unit tests |
include |
Supporting macros |
Makefile |
Makefile with targets for compiling and testing detectEr |
examples |
Tutorial examples |
erlang |
Calculator server implementation in Erlang |
src |
Erlang module sources |
props |
sHML property specifications |
Makefile |
Makefile with targets for compiling the example |
elixir |
Calculator server implementation in Elixir |
lib |
Elixir module sources |
props |
sHML property specifications |
Makefile |
Makefile with targets for compiling the example |
python |
Calculator server implementation in Python using TCP sockets |
src |
Python script sources |
props |
sHML property specifications |
Makefile |
Makefile with targets for compiling the example |
LICENSE |
GPL3 license |
Compiling detectEr¶
For this tutorial, we do not use sophisticated code building mechanisms such as rebar, but stick to the make
utility to standardise our build processes.
On Ubuntu/Debian, GNU make
can be installed using APT.
-
Refresh the package manager repository cache:
sudo apt update
. -
Install make:
sudo apt install make
.
Alternatively, you may choose to install the full build-essential
package which includes make
.
macOS users need to download and install the Apple Developer Command Line Tools which includes make
.
-
Run the command:
xcode-select --install
. -
In the ensuing dialog, click Install and agree to the Terms of Service.
You can also install GNU make
using Homebrew by typing: brew install make
.
Windows 10 users not using WSL can install GNU make
via Chocolatey by running: choco install make
.
detectEr and its accompanying code examples comes bundled with the necessary makefiles to facilitate their use. To compile detectEr, navigate to the root detecter
project directory.
-
Change the current directory to the
detecter
tool directory:cd detecter
. -
Execute
make
.
A new ebin
directory is created, containing the compiled Erlang source modules as *.beam
executables.
The detecter
directory now looks as follows:
Directory name | Description |
---|---|
detecter |
detectEr tool directory |
priv |
detectEr language specification and other configuration files |
src |
Erlang module sources |
test |
Unit tests |
include |
Supporting macros |
ebin |
Compiled detectEr files |
Makefile |
Makefile with targets for compiling and testing detectEr |
With detectEr compiled, let us move on to our first ‘hello world’ example!