public void EvalTake(RCRunner runner, RCClosure closure, RCSymbol left, RCBlock right) { RCBot bot = runner.GetBot(closure.Bot); Take module = (Take)bot.GetModule(typeof(Take)); module.DoTake(runner, closure, left, right); }
public override RCClosure Next(RCRunner runner, RCClosure tail, RCClosure previous, RCValue result) { if (previous.Index < 2) { return(base.Next(runner, tail, previous, result)); } else { RCBot bot = runner.GetBot(tail.Bot); Take module = (Take)bot.GetModule(typeof(Take)); module.Untake(runner, tail); return(base.Next(runner, tail, previous, result)); } }