ShellyでCommon Lispをコマンドライン実行した際にハマった

投稿者: | 2014年4月9日

Common Lispをコマンドライン実行できると便利な場面は割りとあるのでShellyを導入した。

Shellyを使ってCommon LispファイルをExecutableにする

こちらの記事を元に設定してみたところうまくいかない…。

どうもshellyが更新した際に色々変わったようで、初期化ファイルにscript関数の定義を読み込むように

(load “~/.shelly/ShellyFile”)

と記述しても上手くいかない。

余り深追いしていないが、以下の様な状態になっている気がする。

  • shellyから呼ばれるLisp処理系は初期化のファイル(SBCLなら~/.sbclrc)は実行されていない?
  • 代わりに実行するLispファイルのある場所のshlyfile.lispを読み込んで実行する

きっとグローバルにshlyfile.lispを記述することが可能に違いないと思って
適当にshellyのソースコードを検索して見ると”~/shelly/shlyfile.lisp”を起動時に読み込むようになっているようだ。

なので、上記ShellyFileをshlyfile.lispに名前を変更するだけで上手くいった。

$shly script hello.lisp
Hello, world!
$

これで安心してCommon Lispで色々書くことができるようになった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です