public static ZilFunction FromList([NotNull] Context ctx, [NotNull] ZilListBase list) { var functionSubr = ctx.GetSubrDelegate("FUNCTION"); Debug.Assert(functionSubr != null); return((ZilFunction)functionSubr.Invoke("FUNCTION", ctx, list.ToArray())); }
public static ZilSegment FromList([NotNull] Context ctx, [NotNull] ZilListBase list) { if (!(list is ZilForm form)) { form = new ZilForm(list) { SourceLine = SourceLines.Chtyped }; } return(new ZilSegment(form)); }
public static ZilEvalMacro FromList([NotNull] Context ctx, [NotNull] ZilListBase list) { if (list.First == null || list.Rest == null || list.Rest.First != null) { throw new InterpreterError( InterpreterMessages._0_Must_Have_1_Element1s, "list coerced to MACRO", 1); } if (!list.First.IsApplicable(ctx)) { throw new InterpreterError( InterpreterMessages.Element_0_Of_1_Must_Be_2, 1, "list coerced to MACRO", "applicable"); } return(new ZilEvalMacro(list.First)); }
public static ZilList FromList([NotNull] Context ctx, [NotNull] ZilListBase list) { return(new ZilList(list.First, list.Rest)); }
public ZilFalse([NotNull] ZilListBase value) : base(value) { }
public ZilSplice([NotNull] ZilListBase other) : base(other.First, other.Rest) { }
public static ZilAsoc FromList([NotNull] Context ctx, [NotNull] ZilListBase list) { throw new InterpreterError(InterpreterMessages.CHTYPE_To_0_Not_Supported, "ASOC"); }
public static ZilDecl FromList(Context ctx, [NotNull] ZilListBase list) { return(new ZilDecl(list)); }