public override ElaValue Tail() { if (thunk != null) { InternalNext = thunk.Force().Ref as ElaList; thunk = null; } return new ElaValue(InternalNext); }
public override ElaValue Tail() { if (thunk != null) { InternalNext = thunk.Force().Ref as ElaList; thunk = null; } return(new ElaValue(InternalNext)); }
protected internal override ElaValue Tail(ExecutionContext ctx) { if (thunk != null) { InternalNext = thunk.Force(ctx).Ref as ElaList; if (InternalNext == null) { ctx.Fail("Invalid lazy list definition."); return(Default()); } thunk = null; } return(new ElaValue(InternalNext)); }
public ElaLazyList(ElaLazy next, ElaValue value) : this((ElaLazyList)null, value) { this.thunk = next; }
public ElaLazyList(ElaLazy next, object value) : this(next, ElaValue.FromObject(value)) { }
protected internal override ElaValue Tail(ExecutionContext ctx) { if (thunk != null) { InternalNext = thunk.Force(ctx).Ref as ElaList; if (InternalNext == null) { ctx.Fail("Invalid lazy list definition."); return Default(); } thunk = null; } return new ElaValue(InternalNext); }