気になってた問題についてはだいぶ解決してきたんで Coalton で色々できそう。Coalton は Lisp の一種としてみるよりかは Common Lisp の中に実装された S式 で表現された Lisp 風のシンタックスを持つ ML 系の関数型言語としてみるのが良さそうだ。Coalton 上では S式のような複雑な式を構成する cons セルがないため、マクロを書く能力はなさそう。よって Coalton 自体は自己言及を特徴とする Lisp の性質を持ってない。ただ、Coalton で書いた関数は Common Lisp からシームレスに使える(逆も)ってことが重要であり、これができるのは本当に素晴しい。ともかく型クラスを使って抽象度の高い関数を作れると思うとテンションが上がる。
Conversation
Notices
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 21:10:22 JST
きゅーけー
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Friday, 31-Dec-2021 21:15:17 JST
きゅーけー
Coalton 側で使えるマクロは Common Lisp 側で定義できるはず。既に `make-list` というマクロを見つけている。
可変長引数の関数が書けないならマクロを書けばいいのである。ACL2 でも Coalton でもこれは同じだった。
-