タグ

lispに関するEnc3l1aのブックマーク (1)

  • ちょっと変わったLisp入門

    Lisp処理系を作ってみよう! Lispの説明では、「シンボル」など、ほかの言語にはないものが登場します。Lispのを読むと、ほかの言語では使われないような用語や概念が登場し、Lispを理解しにくくしています。 そこで、ここでは簡単なLisp処理系をC言語で作りながら、Lispを理解しましょう。実はLispの処理系は、性能や堅牢さを考えなければ案外と簡単なのです。Lispの不可思議な部分も処理系の動きが分かれば、理解しやすくなると思います。 セルの管理 まず、定数や広域変数を行います。 #define NIL ((cell)0) #define CAR(e) ((cons_t *)e)->car_e #define CDR(e) ((cons_t *)e)->cdr_e typedef void *cell; typedef struct { cell car_e; cell cdr_e

    ちょっと変わったLisp入門
  • 1