PHPコードにコンパイルされるLispである Phel-lang が興味深い

Phel-lang というプログラミング言語が存在していることを最近知って少し触っているのですが、なかなか興味深いです。

Phel は、PHP にコンパイルされる関数型プログラミング言語です。これは、 ClojureとJanetからインスピレーションを得た Lisp の方言です。 Phel Language

昔Common Lisp で簡単なプログラミング言語の問題を解く練習をしたことがある程度しかLispを知らないのですが、Phel-lang は興味深く書き味も良いので楽しいです。ちょっと触った感触では、以下のような特徴があるようです。

  • 副作用のある関数が少ないのでイミュータブルな変数を使って処理を書き易い。
  • 基本的なデータ型である Vector や Maps の要素にアクセスする方法が簡潔でプログラムが書き易い。
  • マクロもあるのでアイデアがあれば強力なDSLを作れそう。
  • PHPの関数やクラスを呼び出すことが超簡単なので、PHPでできることは何でもできる。
  • プログラムが壊れた時のエラーメッセージが不親切な場合がある。(結局は自分のミスが原因なのだが)

三並べのゲームを作ってみましたが、少ないコードで実装できました。

なにか、Phel-lang を使って実用的なものを作ってみたいと思っているので、アイデアを探しています。

関数型言語の名前空間と関数によってモジュールを公開するという作法の勉強には役に立っています。

コメントする

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


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

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