10分だけNuを触ってみる

Nu というMac/iOS向けのLisp方言を触ってみました。
Objective-Cの機能をほぼ生で使用できるLispのようです。

Programming Nu
http://programming.nu/

インストールしてみる

dmgでpkgが配布されているので、そのままインストールも可能。
当然、オープンソースなのでgitからソースを落としてきてコンパイルも可。

インタプリタを立ち上げる

ターミナルから立ち上げ。

nush

数やリストなどは一通り使えます。

% (+ 1 2 3)
6

% (cons 'A 'B)
(A . B)

% (cdr '(1 2 3))
(2 3)

関数はfunction, 無名関数はdo。

% (function hoge (a b) (+ a b))
(do (a b) ((+ a b)))

% (hoge 1 2)
3

% ((do (x y) (- x y)) 3 2)
1

文字出力はputs, 機能のヘルプはhelpで見れました。

% (puts "Hello World")
Hello World
()

% (puts (help class))

とりあえずサンプルアプリ

exsampleをコピーして、とりあえずビルドしてみます。

$ cp -r /usr/local/share/nu/exsamples/RandomApp .
$ cd RandomApp
$ nuke
$ nuke run

nukeというmakeのような便利ツールが付いてくるようです。
Nukefileを書く事で、Nuのアプリを簡単にビルドすることができます。

10分だけ触った感想

普通のLispとして十分な機能は備えつつ、Macアプリの開発もすぐに始められそうで便利です。*1

今回は割愛しましたが、Objective-Cのクラス機能が一式揃っているため、
実際の利用ではそちらを使うことがメインになってくると思います。*2

すぐに使え始められそうなツールなので、
Mac/iOSアプリを開発したい人は触ってみてはどうでしょう。

*1:SchemeCommon Lispなどの汎用的なLisp方言は、どうしてもアプリの開発には弱い傾向。処理系に依ってしまう

*2:exsamplesのコードを読んでみましょう