八発白中

技術ブログ、改め雑記

Lisp Meetup #31 で「Dexador Rises」という発表をしました

今月の Lisp Meetup #31 で、拙作のHTTPクライアントライブラリの「Dexador」の話をしてきました。

事実上Drakmaの一人勝ち市場なんだけど、Drakmaって割とハマりがちだよね、っていう話に賛同を得られました。

Dexadorは現在v1.0.0リリースに向けて安定化を再優先に開発しています。

他の発表

UFO

@ta2gch さんからUFOの発表がありました。

UFOはRoswellスクリプトをインストールするためのRoswellスクリプトです。Web上に公開されたRoswellスクリプトを簡単にインストールできる「go get」相当の機能を提供します。書いた便利Roswellスクリプトをgistなどに公開すれば、ufo gist://fukamachi/clhs.rosなどでインストールすることが可能です。

本人がezoeコマンドを作ったときに、配布に困ったという体験から生まれたプロダクトのようです。いずれQuicklispに登録しよう、という話もしていたので、そうなればUFO自身のインストールも簡単になりそうですね。

あとclfreaks聞いてくれてありがとうございます!

Inquisitor

ぐれー (@sin_clav) さんのCommon Lisp文字コード・改行コード判定ライブラリ「Inquisitor」の発表がありました。

文字コード判定の処理や、処理系毎のexternal-formatの抽象化など、割と泥臭くて闇が深いということがわかりました。

DexadorでContent-Typeがtext/*だけどcharsetが指定されていないときに、現状はbabel:*default-character-encoding*を使ってエンコードするんだけど、Inquisitorを使えばある程度賢く判定できるかなー、と思ったりしました。ただ言語圏が取れないんだよなぁ。

あと速いの?とか気になったりしたけど、そういう老害的な発言はやめようという良心が勝ちました。

lem

佐野 (@snmsts)さんから、Common Lispで書かれたEmacsライクなエディタ「lem」の発表がありました。デモが中心なのでスライドはありません。

自分のプロダクトではないのに紹介する経緯としては、Emacs Lispよりマシな言語でカスタマイズしたいよね、っていうモチベーションだそうです。

TwitterのTLでは早速lemを試してみている人びとが観測されました。

まだCでSEGV出るより簡単に落とせるレベルとか言っていて、普段の開発で使うには怖いなーという感じだけど、Common Lispで書かれているし行数もまだ5000行程度なのでなんとかなりそう。Common LispシンタックスハイライトとSLIMEとEvilがあれば移れるかなぁという感じ。

lem自身がCommon Lispで書かれているので、エディタのカスタマイズ言語としてもフルのCommon Lispが使えます。デモでは実際にエディタ上でClackによるWebサーバ起動もしていました。この点はxyzzyと違ってまったく癖なく使えそうです。cl-ppcreとかも普通に動くってことだし、リーダマクロもたぶん動くよね。

作者ご本人の紹介記事はこちらです。

lizx.hatenablog.com

Clake

takagi (@kamonama) さんの、Common LispGNU makeライクなプログラム「Clake」の発表がありました。

主にRubyのRakeの置き換えを念頭に置いて開発しているようです。コマンドラインでの実行部分にはRoswellスクリプトが使われています。

発表後にclakeって名前がclackにtypoしがちなんだけど、っていうフィードバックをしました。「cla」とかするとclakeじゃなくてclackupが補完されたりしてちょっと使い勝手が悪い。早速Issueにて良い名前はないか募集がされています。案のある方はコメントすると良いのではないでしょうか。

github.com

Roswellのモメンタム

発表のうちUFOとClakeはRoswellスクリプトによる実装であり、他の発表でも何かしらの形でRoswellへの言及がありました (CIで使ってるよ、とか)。もはやRoswell Meetupと言っても過言ではない。この調子でRoswellがどんどん浸透していくと良いですね。