「關於編譯器的一些想法」修訂間的差異

無編輯摘要
行 87: 行 87:
  ```
  ```
   
   
  ThunkAnnoy8964 thunkannoy8964(TypeOfX x ,TypeFreeVars  env){
  ThunkAnony8964 thunkanony8964(TypeOfX x ,TypeFreeVars  env){
foo(x, env[free_vars]);
foo(x, env[free_vars]);
  }
  }
行 93: 行 93:
  struct ClosureTypei1r1 {
  struct ClosureTypei1r1 {
  TypeFreeVars env, # 可以用鏈表
  TypeFreeVars env, # 可以用鏈表
  *ThunkAnnoy8964 thunk,
  *ThunkAnony8964 thunk,
  };
  };
   
   
  ClosureTypei1r1 annoy8964;
  ClosureTypei1r1 anony8964;
  TypeFreeVars env = free_vars;
  TypeFreeVars env = free_vars;
   
   
  annoy8964.env = env;
  anony8964.env = env;
  annoy8964.thunk = *thunkannoy8964;
  anony8964.thunk = *thunkanony8964;
   
   
  ```
  ```
行 111: 行 111:
改為
改為
  ```
  ```
  annoy9864.thunk(n, annoy8964.env);
  anony9864.thunk(n, anony8964.env);
  ```
  ```


[[category:資訊]]
[[category:資訊]]