読者です 読者をやめる 読者になる 読者になる

不確定特異点

広く深く、ところどころ超深く

軽量 RTOS の開発 (9)

OS ARM C Common Lisp

RTOS に乗せる静的オブジェクト用のコンフィギュレータを作ってみました。JSON をパースして C 言語の構造体リテラルに変換するだけの Common Lisp スクリプトです。

github.com

Roswell スクリプト

Common Lispスクリプトを書くと、他人に使ってもらうときにどうしても障壁が高い(動作させるまでのインストール作業が多い)ので悩ましいのですが、そんな状況を変えてくれる、巷で噂の Roswell という素晴らしいプロダクトを利用させてもらいました。ついに僕も Roswell デビューです。

github.com

Roswell をインストールすると、SBCL と Quicklisp が使える環境が自動的に出来上がり、シェルから ros コマンド経由で Common Lisp で書いたスクリプトを実行できます。ここに書いてあるような「SBCL インストール⇒ Quicklisp インストール」みたいな面倒な作業が不要になります。

また、ros コマンドで起動される Common Lisp 処理系も SBCL だけでなく、Clozure CL や CLISP にも対応しており、処理系やバージョンも rbenv や nvm みたいにコマンドラインから一発で切り替え可能です。しかも、スクリプト実行の方法は処理系によりまちまちなんですが、 Roswell はその辺の処理系の差も抽象化してくれます。

というわけで、今後は積極的に Roswell を使っていきたいと思います!