プログラミング言語論 第3回レポート


  1. 次のように定義された関数lengthソース):

      struct _list {
        int car;
        struct _list* cdr;
      };
      
      typedef struct _list* list;
      
      list cons(int x, list xs) {
        list ret = (list)malloc(sizeof(struct _list));
        ret->car = x;
        ret->cdr = xs;
        return ret;
      }
      
      int length(list xs) {
        if (xs==NULL) {
          return 0;
        } else {
          return 1+length(xs->cdr);
        }
      }
    
    を同等な繰り返しを用いた定義に書き換えよ。

  2. プリントp.46 問5.7.1
    このHTMLファイルを元にしてよい。

TeXまたはWord(など)でレポートを作成して下さい。

締切は2月13日、提出場所は学務係のレポートボックスです。


プログラミング言語特論のホームページ
Koji Kagawa (kagawa@eng.?????)