トップ «前の日記(2008-03-09) 最新 次の日記(2008-03-15)» 編集

Route 477



2008-03-11

[biwascheme] applyを実装した

てか「まだ無かったのかよ」といわれそうだが(笑).

なんかapplyは難しいというイメージがあったのだが,別にそんなことはなかったぜ. テストケースが動かないのは, (lambda vars (foo) (bar)) みたいな記法に対応してなかったせいだった.

というわけでソース.Callはこういう風に使います(私信).

  define_libfunc("apply", 2, null, function(ar){
    var proc = ar.shift(), rest_args = ar.pop(), args = ar;
    args = args.concat(rest_args.to_array());

    return new Call(proc, args, function(result){/*特になにもしない*/});
  })