//>>built
define("dojox/lang/functional/linrec",["dijit","dojo","dojox","dojo/require!dojox/lang/functional/lambda,dojox/lang/functional/util"],function(v,k,r){k.provide("dojox.lang.functional.linrec");k.require("dojox.lang.functional.lambda");k.require("dojox.lang.functional.util");(function(){var b=r.lang.functional,h=b.inlineLambda,t=["_r","_y.a"];b.linrec=function(a,e,f,g){var m={},c={},d=function(u){m[u]=1};if("string"==typeof a)a=h(a,"_x",d);else{var n=b.lambda(a);a="_c.apply(this, _x)";c["_c\x3d_t.c"]=
1}if("string"==typeof e)e=h(e,"_x",d);else{var l=b.lambda(e);e="_t.t.apply(this, _x)"}if("string"==typeof f)f=h(f,"_x",d);else{var p=b.lambda(f);f="_b.apply(this, _x)";c["_b\x3d_t.b"]=1}if("string"==typeof g)g=h(g,t,d);else{var q=b.lambda(g);g="_a.call(this, _r, _y.a)";c["_a\x3d_t.a"]=1}d=b.keys(m);c=b.keys(c);a=new Function([],"var _x\x3darguments,_y,_r".concat(d.length?","+d.join(","):"",c.length?",_t\x3d_x.callee,"+c.join(","):l?",_t\x3d_x.callee":"",";for(;!",a,";_x\x3d",f,"){_y\x3d{p:_y,a:_x}}_r\x3d",
e,";for(;_y;_y\x3d_y.p){_r\x3d",g,"}return _r"));n&&(a.c=n);l&&(a.t=l);p&&(a.b=p);q&&(a.a=q);return a}})()});