COMMON LISP JP > Archives > 2025/01/21

2024/06/29 21:21:19 UTC新着Lisp記事
#
Schemeプログラミング(1) #Scheme - Qiita https://qiita.com/schema/items/183e0601b2be6dfb4b2e
2024/07/18 11:24:31 UTC新着Lisp記事
#
線形代数計算ライブラリLLAをWindowsで動かす https://marui.hatenablog.com/entry/2024/07/18/115154
2024/08/06 07:18:12 UTC新着Lisp記事
#
Clojureを使って競技プログラミングに参加する #AtCoder - Qiita https://qiita.com/shunsuke459/items/6c01e6b9fbaa12e35a8f
2024/09/07 08:22:07 UTC新着Lisp記事
#
ど素人のLisp入門#2 MacでTanukiのローカルLLMを呼び出して結果を取得する|shi3z https://note.com/shi3zblog/n/neb04d5495c7b
2024/09/29 19:28:11 UTC新着Lisp記事
#
Common Lispでpng画像をグレースケールしたい https://zenn.dev/waaaaaasu/articles/aa82e2ffc65258
2024/10/14 09:30:34 UTC新着Lisp記事
#
LispによるLLM進化計算を行う|shi3z https://note.com/shi3zblog/n/n6cb35bcefa5e
2024/10/31 05:38:58 UTC新着Lisp記事
#
https://marui.hatenablog.com/entry/2024/10/31/133931 SBCLに確保されるメモリ空間 - 丸井綜研
2024/11/30 11:33:51 UTC新着Lisp記事
#
GNU GuileのHTTPレスポンスで日本語が文字化けする問題の解決法 https://www.tojo.tokyo/posts/gnu-guile-change-port-encoding.html
2024/12/01 05:40:37 UTC新着Lisp記事
#
音を再生しながら録音する (Lisp Advent Calendar 2024) - 丸井綜研 https://marui.hatenablog.com/entry/2024/12/01/130105
2024/12/01 05:51:16 UTC新着Lisp記事
#
Clojure Language Update 2024 #Clojure - Qiita https://qiita.com/athos/items/49609613d28cb2fb61b2
2024/12/01 09:00:29 UTCshiro
#
test
2024/12/02 01:33:59 UTC新着Lisp記事
#
試行錯誤な日々: clojureのreplで実行したいコマンドはshellのパイプで渡せる https://asukiaaa.blogspot.com/2024/12/pass-command-to-repl-by-pipe.html
2024/12/05 05:31:54 UTC新着Lisp記事
#
Clojure Family が色々ある話 - ハッカーと漫画家 https://www.kbaba1001.com/posts/202412030751_clojure-family/
2024/12/06 03:13:52 UTC新着Lisp記事
#
Lispと一緒(32) ラズパイPico2でもuLisp、SPIメモリ読み書き | デバイスビジネス開拓団 https://jhalfmoon.com/dbc/2024/12/06/lisp%E3%81%A8%E4%B8%80%E7%B7%9232-%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4pico2%E3%81%A7%E3%82%82ulisp%E3%80%81spi%E3%83%A1%E3%83%A2%E3%83%AA%E8%AA%AD%E3%81%BF%E6%9B%B8%E3%81%8D/
2024/12/06 08:27:22 UTC新着Lisp記事
#
JVMのメモリー使用量が想定より3割り増しだった件 https://studist.tech/jvm-uses-memory-ignoring-maxram-466ca6badeb5
2024/12/08 15:00:09 UTC新着Lisp記事
#
extend-protocolでClass/forName怒られるワケ https://blog.valerauko.net/2024/12/07/why-no-class-forname-in-extend-protocol/
2024/12/23 14:46:44 UTC新着Lisp記事
#
Schemeをスクリプト言語としてRustで使う #Rust - https://qiita.com/raviqqe/items/0302b3d498ebb6b8bfc2
2024/12/24 09:52:25 UTC新着Lisp記事
#
Allegro Common Lisp の Modern Mode で読めなくなるコードとそれへの対処
https://y2q-actionman.hatenablog.com/entry/2024/12/24/Allegro_Common_Lisp_%E3%81%AE_Modern_Mode_%E3%81%A7%E8%AA%AD%E3%82%81%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A8%E3%81%9D%E3%82%8C%E3%81%B8%E3%81%AE%E5%AF%BE%E5%87%A6
2024/12/25 15:47:28 UTC新着Lisp記事
#
「末尾再帰への書き換え」をやめよう! https://www.tojo.tokyo/posts/stop-rewriting-to-tail-recursion.html
2024/12/25 17:32:30 UTC新着Lisp記事
#
ClojureでRDDとTDDのハイブリッドな開発スタイルを実践しよう https://zenn.dev/lagenorhynque/articles/742cf1a0b0a850
2024/12/28 00:04:11 UTC新着Lisp記事
#
Needleman–Wunsch アルゴリズム #Scheme https://qiita.com/schema/items/59e8e99227b1b384d6a4
#
フィボナッチ数列の 10000 番目を求める #Scheme https://qiita.com/schema/items/4cef16de695414091626
2024/12/30 01:18:12 UTC新着Lisp記事
#
GNU Artanis 紹介 #Web https://qiita.com/NalaGinrut/items/092aa745567a8404fc30
2024/12/31 00:14:25 UTC新着Lisp記事
#
Scheme言語は製品開発に十分なポテンシャルがある #Web https://qiita.com/NalaGinrut/items/bbe36aee9de18046a2eb 興味深いけどAIで文章生成したのかな?
2025/01/01 05:38:18 UTC新着Lisp記事
#
はじめてのscheme制作 https://zenn.dev/clazz/books/a752b62f7b5e64
2025/01/07 10:44:03 UTChnagamin95
#
aifの通常の定義は、aifをエクスポートするパッケージ (UTIL) とaifを使用するパッケージ (USER) とが同一でないとうまく使えないのですね。
```
; caught WARNING:
;   undefined variable: USER::IT
```
つい先ほどこの罠に引っかかりました。
現代でアナフォリックマクロを定義するときのベストプラクティスはあるのでしょうか?
2025/01/08 03:07:04 UTC新着Lisp記事
#
キーワードにするシンボル特有の問題ですが、標準のLOOPのキーワード(forなど)はどこのパッケージで使っても大丈夫なような工夫があります。具体的には名前の文字列で比較するようにしています。
#
他には、
・read時に確定するようにする
・キーワードはkeywordシンボルを使う
・(共有場所として)cl-userのシンボルを使う
・専用のパッケージを使う
別のアプローチとしては、
・アナフォリックマクロは使わない(when-letあたりにする)
あたりかと思います。
#
;; read時にinternする
(defmacro aif (pred con &optional alt)
  (let ((it (intern "IT" *package*)))
    `(let ((,it ,pred))
       (if ,it ,con ,alt))))
#
個人的にはアナフォリックマクロは実際のコードでは使われていないので(話題になる程には)、when-letあたりを使うようにしています。
2025/01/08 07:31:17 UTChnagamin95
#
ありがとうございます。確かに、LOOPマクロにも特殊用途のシンボルがありますね。
*package*というものを使うとリード時にシンボルを構成することもできるのですね。入門中の身なので生兵法で使うのがちょっと怖いですが、分かって使う分にはかなり便利そうです。
アナフォリックマクロを使わないというアプローチはとても明快ですね。こちらを採用してみます。