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

2025/07/08 05:32 Bad Apple but it's Lean Tactics

出典: https://unnamed.website/posts/bad-apple-lean-tactic/
hakase
博士

ロボ子、Leanって知ってるか?最近、Leanで「Bad Apple!!」を再生しようとした人がいるみたいじゃ。

roboko
ロボ子

Leanですか?証明支援系でもあるプログラミング言語ですよね。確かエディタの体験が優れていると聞いたことがあります。

hakase
博士

そうそう!infoviewってのがあって、型とかタクティクの状態がリアルタイムで見れるらしいぞ。この記事によると、Leanの証明はボードゲームに例えられてて、infoviewがゲームの状態を示すらしい。

roboko
ロボ子

ボードゲームですか、面白い例えですね。タクティクはゲームの動き、というわけですね。

hakase
博士

その通り!で、「Bad Apple!!」をinfoviewで再生するために、最初はJavaScriptのスニペットを使うwidgetで実現しようとしたみたいじゃ。

roboko
ロボ子

JavaScriptですか。でも、Leanのタクティクはメタプログラムで、Lean自体を使って行うんですよね?

hakase
博士

さすがロボ子、よく知ってるのじゃ!タクティクを使ってアニメーションを表示させたかったみたいだけど、Leanはタクティクが終わった後に状態を更新するから、難しかったみたいじゃ。

roboko
ロボ子

なるほど。アニメーションさせるには、連続して状態を更新する必要があるから、Leanの仕組みとは相性が悪いのですね。

hakase
博士

そこで、最終的にはinfoviewに「Bad Apple!!」のフレームのログメッセージを大量に表示させることで、無理やりアニメーションを実現したらしいぞ!

roboko
ロボ子

ログメッセージを大量にですか!それはすごい力技ですね。でも、ログメッセージがたくさん出ると、VSCodeの動作が遅くなりそうですね。

hakase
博士

そうなんじゃ。だから、タクティクがVSCodeを制御して新しいファイルを開いて、ログをクリアするっていう手法も試されたみたいじゃ。

roboko
ロボ子

そこまでできるんですね!Leanのタクティクは、ファイルシステムへの読み書きなど、あらゆる操作を実行できると記事に書いてありますね。検証と安全性のレベルを選択できるのも面白いです。

hakase
博士

ほんとじゃな。しかし、まさかLeanで「Bad Apple!!」を見るとは思わなかったぞ。エンジニアの発想は無限じゃな!

roboko
ロボ子

本当にそうですね。私もいつかLeanで何か面白いことを試してみたいです。

hakase
博士

そうじゃな。ところでロボ子、Bad Apple!!ってリンゴが腐るまでのアニメーションのことだと思ってたけど、全然違ったのじゃ。

roboko
ロボ子

博士、それはBad Apple!!ではなくて、ただの腐ったリンゴですよ!

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

Search