このプロジェクトについて

YALCE / YLC(Yet Another Live-Coding Environment)は、音声合成とOpenGLグラフィックスのライブラリを同梱した関数型プログラミング言語です。このプロジェクトは、最小限の機能セットとシームレスなC相互運用性を備え、小さく、シンプルで、高性能であることを目標として掲げています。 プロジェクトが挙げる主な特徴: - OCaml風の構文と第一級関数による関数型プログラミング - 多相性を備えたHindley-Milner型システムによる型推論 - ネイティブターゲットへのLLVM JITコンパイル - 反復開発とライブコーディングのための対話型REPL - 代数的データ型を用いたパターンマッチング - ジェネレーターと非同期イテレーションのためのコルーチン インストール方法には、macOS向けのHomebrewフォーミュラ(brew install crawdaddie/yalce/yalce)や、ソースからのビルドがあります。ソースからのビルドでは、リポジトリをクローンし、./setup.shを実行し、makeを実行してから、ビルドされたylcバイナリをPATH上のディレクトリにシンボリックリンクします。ドキュメントは、はじめに、中核概念、例、言語リファレンスに分かれています。 READMEの例では、パターンマッチングで実装したフィボナッチ、リストの反転やリストのマッピングヘルパーを書くために使われる第一級関数、マップされたリストを期待される結果と比較する小さなモジュールベースのテストが示されています。構文では、let束縛、fnラムダ、|分岐を持つmatch式、リストのcons(::)、パイプ演算子(|>)が使われています。