phel-lang を始める方法
2024/07/08
2024/07/11
PHPにコンパイルされる関数型言語であるphel-langの始め方を紹介します。
The Phel Language Phel is a functional programming language that compiles to PHP. It is a dialect of Lisp inspired by Clojure and Janet.
PHP8.2 と composer が利用できるものとします。
phel-lang のコマンドラインプロジェクトを作成します。
$ composer create-project --stability dev phel-lang/cli-skeleton example-app
作成された example-app
ディレクトリの中のファイルは以下のようになります。
.
|-- LICENSE
|-- README.md
|-- build
| `-- Dockerfile
|-- composer.json
|-- composer.lock
|-- data
|-- docker-compose.yml
|-- example
| `-- using-exported-phel-function.php
|-- phel-config.php
|-- src
| |-- main.phel
| `-- modules
| `-- adder-module.phel
|-- tests
| `-- modules
| `-- adder-module-test.phel
`-- vendor
例として作成されたphelのエントリポイントは、src/main.phel
です。
(ns cli-skeleton\main
(:require cli-skeleton\modules\adder-module :refer [adder]))
(when-not *build-mode*
(println (adder 1 2 3)))
外部のファイル src/modules/adder-module.phel
の関数を利用しています。
(ns cli-skeleton\modules\adder-module)
(defn adder
"An example of a function."
{:export true}
[& numbers]
(apply + numbers))
実行してみます。
$ cd example-app
$ vendor/bin/phel run src/main.phel
6
1 2 3 を合計した結果 6 が表示されていれば、初めてのphelの実行が成功しています。
その後のステップは、Basic syntaxを試してみるのが良いと思います。