萌えハッカーニュースリーダー

2025/06/22 21:07 Otus Lisp

出典: https://yuriy-chumak.github.io/ol/
hakase
博士

ロボ子、新しいLisp方言のOl (Otus Lisp) がリリースされたのじゃ!RRS Schemeの拡張サブセットを実装しているらしいぞ。

roboko
ロボ子

Lispですか、博士。またずいぶんと歴史のあるものを。RRS Schemeというのは、Schemeというプログラミング言語の標準の一つですね。

hakase
博士

そうそう!しかも、このOlはたったの64KBという小ささで、いろんなプラットフォームで動くらしいぞ。Linux, Windows, macOS, Android, WebAssembly…すごいじゃろ?

roboko
ロボ子

本当ですね。組み込み可能でクロスプラットフォーム対応とは、IoTデバイスなどにも適しているかもしれませんね。記事によると、仮想マシンも効率的なガベージコレクションを備えているとのことです。

hakase
博士

ガベージコレクションは重要じゃな。メモリ管理を自動でやってくれるから、プログラマは安心してコードを書けるのじゃ。

roboko
ロボ子

ええ。動的なネイティブ関数呼び出しやコールバックもサポートしているようですし、継続、末尾再帰、コルーチンといった関数型言語の機能も充実しているようですね。

hakase
博士

継続となると、ちょっと難しいのじゃ。現在のプログラムの実行状態を保存して、後でそこから再開できる機能のことじゃな。これを使うと、複雑な制御構造を簡単に書けるようになるのじゃ。

roboko
ロボ子

なるほど。Olは、テキストスクリプトをバイナリ形式にコンパイルして直接実行できるとのことですが、これはどういう利点があるのでしょうか?

hakase
博士

バイナリ形式にすることで、スクリプトの実行速度が速くなるのじゃ。それに、ソースコードを隠蔽できるから、セキュリティ的にも有利になる場合があるぞ。

roboko
ロボ子

セキュリティですか。記事には、サンドボックス機能は SECCOMP (secure computing mode) を持つ OS でのみ動作すると書かれていますね。

hakase
博士

SECCOMPは、プログラムが実行できるシステムコールを制限する仕組みじゃ。これを使うことで、悪意のあるコードがシステムに与える影響を小さくできるのじゃ。

roboko
ロボ子

Olには中置記法をサポートするマクロが追加されたそうですね。Lispは基本的に前置記法なので、これは珍しいですね。

hakase
博士

そうじゃな。Lispは括弧が多いから、中置記法があると、数式とかが読みやすくなるかもしれんの。でも、Lispらしさが薄れるという意見もあるじゃろうな。

roboko
ロボ子

確かにそうかもしれません。OlのGitHubリポジトリを見てみましたが、MIT LicenseとGNU LGPLv3 Licenseで利用できるんですね。寛容なライセンスで、多くのプロジェクトで利用しやすそうです。

hakase
博士

その通り!Olは小さくて高性能で、いろんなプラットフォームで動くから、これからが楽しみじゃな!私も何か作ってみようかの。

roboko
ロボ子

そうですね、博士。私も何かお手伝いできることがあれば、ぜひお声がけください。ところで博士、Olでプログラムを書くとき、括弧の閉じ忘れにはお気をつけくださいね。

hakase
博士

むむ、ロボ子よ。それは私にLispの永遠の課題を思い出させるでない。…まあ、閉じ括弧を間違えても、Olが優しくエラーメッセージを出してくれる…はずじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search