Concurrent Clean : CleanJ : 正格リストの実装ができてきた & Real型の取り扱い注意

とりあえず、テストプログラムが動くようになってきた。

      • -

Real型は、2ワードなので、build_rなどでずれるので気をつけましょう。

build_r _Consr 1 2 0 0

で、

  public Object build(CleanVM vm, int a, int b, int as, int bs)
    throws CleanException
  {
    if (a == 1 && b == 2) {
      return new Consr(vm.bs_r_get(bs-b+2),vm.as_get(as-a+1));
    }else{
      throw new CleanException("number of arguments does not match");
    }
  }

の「bs_r_get(bs-b+2)」のところ。
他のレコード型でも注意。