[Gauche] kaki: major modeが他のindent functionを提供している場合は、scheme-indent-functionの所をそれに置き換えた方が良さそうです。
07.04.2025 07:38 — 👍 0 🔁 0 💬 0 📌 0@chaton.practical-scheme.net
Automatic feed from Chaton chat server. https://chaton.practical-scheme.net/
[Gauche] kaki: major modeが他のindent functionを提供している場合は、scheme-indent-functionの所をそれに置き換えた方が良さそうです。
07.04.2025 07:38 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: 高階defineに対応しました。
07.04.2025 07:36 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: 簡単だった> (define-inline ((foo x) y) ...) https://github.com/shirok/Gauche/commit/2bb48fa86f02cde5f61d46709350531198589f90
07.04.2025 07:15 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: define-inlineのそれは多分深く考えて無かったと思うのだけれど、define-inlineには束縛を作るというのと手続きにインライン情報を付加するという2つの操作があるからちょっとややこしい。でもできなくはないかな?
07.04.2025 05:49 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: キーワード自動インデント<おお、自分はquack使っててgauche-modeは使って無いんですが、試してみます。
07.04.2025 05:47 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: (define-constant ((foo x) y) x) はOKで (define-inline ((foo x) y) x) はNGなんですね。
07.04.2025 05:31 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: キーワード引数の自動インデント、書いてみました。 https://gist.github.com/gengar/4e469cc407f83547232093c48e35c6fa stateに外側の開き括弧の開始位置が全部保存されていたので、思ったよりすんなりできました。デバッグはまだ甘いです。あとlisp-localとの共存にはまだ未知の部分があります。major modeに組み込めば大丈夫だろうと期待しているのですが、お試しで (setq-local lisp-indent-function 'gauche-mode-indent-functi ...
06.04.2025 23:05 — 👍 0 🔁 0 💬 0 📌 0[COMMON LISP JP] 新着Lisp記事: 試行錯誤な日々: 自作マクロに対するclj-kondoの警告はメタ情報付与で解消できる https://asukiaaa.blogspot.com/2025/04/apply-meta-to-resolve-warning-of-clj-kondo.html
06.04.2025 14:13 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: なるほど。では自動インデントがうまいこと書けたらシェアします。今の所いいアイデアがあるわけではありませんが。
26.03.2025 17:26 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: bの位置が好みですが、自動で揃えてくれないので手でやってます。 aになってるのは多分自動インデントしたあと直し忘れ。
26.03.2025 12:02 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: キーワード引数の途中で改行するとき、scheme-mode等のデフォルトでは(a)の位置になりますが、(b)の位置にインデントしたくなるんですよね。どうしてます?Gaucheのソースだとどちらもあるようですが。
26.03.2025 07:15 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: (define (foo :key (bar 1)
(baz 2))
;; ^(a) ^(b)
0)
[COMMON LISP JP] 新着Lisp記事: 試行錯誤な日々: clojureで関数内変数との競合を回避してnamespaceの変数を呼び出す方法 https://asukiaaa.blogspot.com/2025/03/avoid-conflict-of-value-on-ns-and-fn-in-clojure.html
09.03.2025 18:29 — 👍 0 🔁 0 💬 0 📌 0[COMMON LISP JP] 新着Lisp記事: (and-let* ((even? n)) ...) の方の問題は未使用のローカル変数を警告する支援があれば気付けそう、と思って確認してみると、(and (let ((even? 42)) (and even?)))と展開されるから気付けないのか……。
08.03.2025 13:14 — 👍 0 🔁 0 💬 0 📌 0[COMMON LISP JP] shiro: 値に#fが使えないのはまあ、generalized booleanをモナドもどきに使う宿命なんで、and-let*に限らない気が。
08.03.2025 09:40 — 👍 1 🔁 0 💬 0 📌 0[COMMON LISP JP] shiro: and-let* のそれ、自分はいつもこんなふうに書いてます。
(and-let* ([n (expr)]
[ (even? n) ]) ; 束縛変数が無い場合
..)
[COMMON LISP JP] 新着Lisp記事: and-let* はどうも怖くてしょうがない #Scheme https://qiita.com/matomatomato/items/8c24d876e0a4ad3f884b
08.03.2025 09:17 — 👍 0 🔁 0 💬 0 📌 0[COMMON LISP JP] 新着Lisp記事: C/C++ プログラムに Scheme によるスクリプト拡張を組み込む https://zenn.dev/ftl/articles/448cfea6aaaabd
06.03.2025 16:53 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: https://github.com/shirok/Gauche/issues/1120
02.03.2025 21:49 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: なるほど。以前のバージョンだと動くのでどっかでバグ入れてますね
02.03.2025 19:48 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: (define (foo)
(guard (e (#f #f))
(raise "hoge")))
(foo)
;; スクリプトトップレベルで実行するとsegvします。main経由やREPLでは大丈夫でした。
[Gauche] kaki: andでchainするので記号を使うんだったら&を軸にするかなと思いました。&*とか。…&~とか?うーん。使用頻度的に記号2文字を割り当てるほどでもない気もするんですよね。ineqは長さや衝突しなさ的には丁度よさそうな感じがします。
20.02.2025 08:27 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: 記号では、不等式なので >< とか (<> だとcutとかぶる)、数学で二項関係を一般化するときよく ~ を使うから ~* とか考えたんだけど、試してみたらいまいちだった。
20.02.2025 07:24 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: そう、最初は一種のchainingだから(Pythonでもchain of comparisonって言ってるし)、一般化するならそれに類する名前がいいかなと思ってたんだけどchainはsrfi-197で取られてるし、長くなったら意味ないし。
20.02.2025 07:22 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: (ineq a < x (complement =) y < b) これ、(< x b) じゃないし普通じゃないか。
20.02.2025 07:18 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: (complement =) に略記を与えちゃうと string=? 他はどうするんだとなっちゃいますが。
20.02.2025 06:31 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: 関連する話題として、(complement =) もしくは complement の略記が欲しくなりそうですね。(ineq a < x (complement =) y < b) くらいは普通にありそうなので。(.$ not =) の方が短いなんて。
20.02.2025 06:26 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: 典型的な不等式っぽい手続き以外でineqで使えそうな手続きはいくつか思い付いていて、member、alist-ref辺りはまだましなんですが、hash-table-delete!みたいな副作用があって成否を返すやつを使い出すと変な感じがします。まあ、これはそう使う人が変っていう話かもしれませんが。
20.02.2025 06:21 — 👍 0 🔁 0 💬 0 📌 0[Gauche] kaki: (ineq x <= y < z) の話なんですが、英語で書くのが難しいのとまとまってないのでここに書いちゃいます。典型的な不等式以外にも使えそうな気がして、最初はandでchainすることや間のオペランドが折り重なることに注目して命名した方がいいかと思ったんですが、そうすると一般的になりすぎたり(chainとか)長くなったり(and-chainとか)するんですよね。簡易記法のためのマクロなんだから、説明的すぎるより短い名前がいいでしょうし。かといって、&とか&&とかだと短すぎたり記号的すぎたりする気もしますし、記号でこれ以上複雑にすると暗号的に ...
20.02.2025 06:20 — 👍 0 🔁 0 💬 0 📌 0[Gauche] shiro: あ、多分R5RSからそのままアップデートしたんだと思います。Mahalo.
18.02.2025 13:24 — 👍 0 🔁 0 💬 0 📌 0