public static object AssQ(object key, List l) { foreach (Pair cell in l) { if (cell.Car == key) return cell; } return false; }
public static object SchemeError(object message, List args) { throw new Newmoon.SchemeException(message.ToString(), args); }
public static SchemeString Join(List l, SchemeString sep) { StringBuilder b = new StringBuilder(); bool haveFirst = false; sep.ensureNative(); foreach (SchemeString s in l) { if (haveFirst) b.Append(sep._string); if (s.isNative()) { b.Append(s._string); } else { b.Append(s._chars); } haveFirst = true; } return new SchemeString(b, true); }
public SchemeException(string message, List detail) : base("Newmoon.SchemeException: "+message+": "+detail) { }
public static SchemeString FromList(List l) { StringBuilder b = new StringBuilder(); foreach (Char c in l) { b.Append(c); } return new SchemeString(b, true); }