WSL でプログラミング言語 Erg を実行する

プログラミング言語 Erg とは

Erg は 2022年8月に公開されたばかりの、新興のプログラミング言語です。

言語に次のような特徴があります。

  • コーディングの雰囲気は Python-like
  • 静的型付けであり Rust のように堅牢である
  • Python のライブラリを利用することができる

うまく成長していけば、堅牢な Python として良質な言語になっていくかもしれません。

本記事では WSL で Erg を動作させてみたので簡単にまとめます。

プログラミング言語 Erg のインストール

動作環境

  • Windows 11
  • WSL Ubuntu 20.04

事前準備

WSL ディストリビューションの複製(非必須)

お試しで実行する場合は WSL Ubuntu イメージを複製しておくのがお勧めです。
本手順は必須ではありません。

各種インストール

Ubuntu パッケージのアップデート

初めに、Ubuntu パッケージを最新化しておきます。

$ sudo apt update
$ sudo apt upgrade
Rust 言語のインストール

Erg 言語は Rust で実装されていますので、ビルドの為に Rust をインストールします。
Ubuntu 公式リポジトリの Rust ではバージョンが足りずコンパイルエラーになるため、公式から最新の Rust をインストールします。

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

インストール中に選択を求められますが、特にこだわりがなければ 1 Enter で入力しましょう。

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>

インストール完了後には、PATH 環境変数を更新しておきます。

source $HOME/.cargo/env

Rust を動作させるためにバックエンドに Cコンパイラが必要です。
apt から gcc もインストールしておきましょう。

$ sudo apt install gcc
Erg 言語のインストール

Rust さえインストールできれば、Erg のインストールは簡単です。
以下のコマンドでビルドが通ればインストールが完了です。

$ cargo install erg

バージョン 0.4.7 の Erg がインストールできました。

$ erg --version
Erg 0.4.7

Erg 言語の実行

Hello World を実行してみます。
Erg の拡張子は er ですので、main.er としてソースコードを保存します。

print!("Hello, World!")

main.er を引数に erg コマンドを実行するとプログラムが動作します。

$ erg main.er
Hello, World!

REPL

引数なしで erg コマンドを実行すると REPL の起動も可能です。
REPL とは Read-Eval-Print Loop の略で、対話型のプログラム実行です。

$ erg
Starting the REPL server...
Connecting to the REPL server...
Retrying to connect to the REPL server...
Erg interpreter 0.4.7 (tags/?:, 2022/09/19 18:05:16) on x86_64/linux
>>> print!("Hello, World!")
Hello, World!
None
>>> 

REPL は quit() または Ctrl-D で終了することができます。

Shebang

もちろん Shebang での実行も可能です。
Shebang とは、実行コマンドをソースコードの1行目に記述しておく手法です。

#!/usr/bin/env erg
print!("Hello, World!")

ファイルに実行権を付与して、スクリプトファイルを直接実行することができます。

$ chmod +x main.er
$ ./main.er
Hello, World!