phel-lang を始める方法

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を試してみるのが良いと思います。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください