- AtCoderのCommon LispはSBCLでコンパイルされて実行されている。
- 以前は
sbcl --scriptでスクリプト実行されていたが、現在はcompile-fileでコンパイルしてから実行される。
1. Common Lispの実行コマンド
AtCoderの問題にCommon Lispで提出したら、「メモリ制限超過」になってしまいました。
「もしかして、コンパイルされていないのかな」と思って調べてみると、確かに以前はスクリプトとして実行することもあったようです2[/efn_note]3。
sbcl --script Main.lispCode language: CSS (css)

でも、今(2026-03-14)確認すると、コンパイルコマンドが追加されています4。
export SBCL_HOME=/usr/local/lib/sbcl
./sbcl --eval '(compile-file "Main.lisp")' --quit
if [ -f Main.fasl ]; then
chmod +x Main.fasl
fiCode language: JavaScript (javascript)

ちゃんとコンパイルされるようになっていました。

うーむ、そうするとメモリ制限超過は、アルゴリズムの問題ということですね……