Beispiel #1
0
        public override ElaValue Tail()
        {
            if (thunk != null)
            {
                InternalNext = thunk.Force().Ref as ElaList;
                thunk = null;
            }

            return new ElaValue(InternalNext);
        }
Beispiel #2
0
        public override ElaValue Tail()
        {
            if (thunk != null)
            {
                InternalNext = thunk.Force().Ref as ElaList;
                thunk        = null;
            }

            return(new ElaValue(InternalNext));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
 public ElaLazyList(ElaLazy next, ElaValue value) : this((ElaLazyList)null, value)
 {
     this.thunk = next;
 }
Beispiel #5
0
 public ElaLazyList(ElaLazy next, object value) : this(next, ElaValue.FromObject(value))
 {
 }
Beispiel #6
0
        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);
        }
Beispiel #7
0
 public ElaLazyList(ElaLazy next, ElaValue value)
     : this((ElaLazyList)null, value)
 {
     this.thunk = next;
 }
Beispiel #8
0
 public ElaLazyList(ElaLazy next, object value)
     : this(next, ElaValue.FromObject(value))
 {
 }