☆ consult.el の非同期コマンドの仕組み このエントリはEmacsのAdvent Calendar 2022の9日目用です。 以前の記事「はてなブックマーク用のconsultコマンドを作っている」で書いた consult-hatena-bookmark を改良するにあたり、今年夏から秋にかけて、(自分としては)かなり consult.el のコードを読みました。 そのコードリーディングの中で、consult.el が非同期な候補の読み込みをどうやっているのか、だいぶわかったのでご紹介します。 公式で非同期で読んでいる consult コマンドのまねをしたい 公式で用意されている consult コマンドの中で、候補を非同期で読んでいるタイプのものは次などがあります。 consult-grep consult-ripgrep consult-man consult-find コマン
概要 基本的に Emacs Lisp (または、Lisp 自体)をあまり知らない方向けです。 Emacs Lisp でどんなコードが書けるのかを知って、興味を持ってもらえればと書きました。 さて、Lisp はマクロで構文を拡張出来る事が特徴ですが、もちろん Emacs Lisp も例外ではなく、フィボナッチ関数を色々な書き方で実装する事が出来ます。 今回は、それ以外にも、ジェネレータ版、遅延評価版、果てはスタックマシーンのコードを直接記述する方法まで、取り揃えました。 (それぞれの関数は、簡単の為、引数に負の値が指定されない事を前提にしています。) 内訳は以下の通りです。 再帰呼び出し系 fib-tail-recursion fib-double-recursion ループ系 (マクロを展開すると結局は同じ様なコードになるけど、色々な書き方が出来る) fib-while fib-dotim
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く