leiningen, overtone, and quil

はじめに

最近、Lispの開発が進められていなかったので、
小ネタとして Leiningen/Clojure/Overtone/Quil を触ってみました。

Clojureは今まで気になっていたのですが、
実際に処理系をインストールしてみたことがなかったので、
処理系インストール時のメモを作ろうかと思い触り始めてみました、、、

のですがLeiningenがあまりに簡単だったので、
続けて気になっていたいくつかのプロジェクトにも触れてみました。

Leiningen

Leiningen

Leiningen は Clojure 向けのビルド&依存解決ツールです。

Leiningen を使い始めるのは簡単で、

  1. Java をインストールする
  2. 公式ページから leiningen のスクリプトをダウンロードする
  3. スクリプトを usr/local/bin とかpathの通ったところにコピーしてchmodを通す

だけで始めることができます。
Clojureのビルドやインストールすらいりません。
面倒な開発環境のビルドなどもないので簡単です。

lein repl

ClojureのREPLモードを起動できるようになります。
leinにはスケルトンプロジェクトを作成する機能もあるので、

  1. lein new hogehoge でプロジェクトを作る
  2. プロジェクトのディレクトリに移動して lein repl でREPL起動する

ができるので、すぐに開発を始めることができました。

Overtone

Overtone - Collaborative Programmable Music

Clojure を触ってみようと思ったきっかけが、OvertoneというClojureのソフトウェアです。
Super Colliderというプラグラマブルシンセサイザーがあるのですが、
そのClojure版のようです。

Getting Started は簡単。
documentationのページにあるように、
適当に作ったprojectのdependency

[overtone "0.9.1"]

を追加して、lein replでreplを起動。

(use 'overtone.live)

をするだけ。

あとはexsamplesを参考にして、
ためしに音を鳴らすことができます。

Quil

quil/quil · GitHub

もう一つのきっかけが Quil です。
ProcessingというVisual Art向けのプログラミング言語がありますが、
そのClojure版のようなものです。

quil-examples/README.md at master · quil/quil-examples · GitHub

Generative Art というProcessing本の Quil翻訳版もあるので、
Generative Artの勉強にはもってこいです。

Getting Startedは簡単。
readmeにあるように、

lein new quil hello-quil

して、hello-quilのディレクトリに移動してlein replするだけ。
あとは simple-example のコードをreplにコピーすればサンプルが動きます。

終わりに

Clojureを触り始めて10分で音を出して絵が出せました。

ClujureはLisp方言なので、
構文に惑わされずコードが書けるところもよいですね。

ドキュメントも充実しているので、
ビジュアルアートをする上で良い開発環境だと思いました。