LISPのソースコードを毎日読む
今日は無限ループだ。
for(;;){
printf("...",bind(Prompt));
bind(Qmark)=eval_(xread());
printf("...",bind(Qmark));
}
#define bind(x) (*(obj*)(x))
となっている。car(x)と同じだよ。
またPrompt,Qmarkは次のようになっている。
#define Qmark ((obj)(symbols[21].ob))
#define Prompt ((obj)(symbols[23].ob))
この部分で、読んで、評価して、表示している。
これをすんなり受け入れられるかだ?
頭が硬い、硬い