Lisp は動的型付き言語なので、なんでも動的と思われるかもしれないけどそんなことはなくて、特にメタプログラミングは言語に構文を追加するのがメインで、構文の変換はコンパイル時に行われるので基本的に静的なメタプログラミングをしている。そして Lisp は昔 eval で動的なメタプログラミングして痛い目にあった人がいるために基本的にメタプログラミングはマクロでやるのが良いよっていう感じになってる。
Conversation
Notices
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Thursday, 03-Jun-2021 12:33:14 JST
きゅーけー
-
きゅーけー (tojoqk@mastodon.tojo.tokyo)'s status on Thursday, 03-Jun-2021 12:37:11 JST
きゅーけー
そういう価値観を Lisp 界からいただいていたので、Ruby のメタプログラミングが動的にやるものだと知って驚愕した。Ruby のメタプログラミングをして Lisp のメタプログラミングについても何か知った気になるのだけは本当に回避したい事象だと思う。たんに影響を受けただけで、基本的に Ruby と Lisp は別の言語という認識が良い。
-