/** * Oooh. Lists. Pretty. * * @author Lots of fun folks. */ public class RealSchemeList { // Fields Object car; RealSchemeList cdr; // Constructors RealSchemeList(Object car, RealSchemeList cdr) { this.car = car; this.cdr = cdr; } // RealSchemeList(Object, RealSchemeList) /** * Get the first element of this list. */ public Object car() { return this.car; } // car() /** * Get all but the first element of this list. */ public RealSchemeList cdr() { return this.cdr; } // cdr() /** * Create a new list. */ public static RealSchemeList cons(Object head, RealSchemeList tail) { return new RealSchemeList(head, tail); } // cons(Object, RealSchemeList) /** * Make an empty list. */ public static RealSchemeList empty() { return null; } // empty() /** * Check if a list is empty. */ public static boolean isEmpty(RealSchemeList lst) { return lst == null; } // isEmpty(RealSchemeList) } // RealSchemeList