class CharListC { private InnerList content; private CharListC(InnerList L) { content=L; } public char head() { return content.first; } public CharListC tail() { return new CharListC(content.next); } public CharListC cons(char ch) { return new CharListC(new InnerList(ch,content)); } public static CharListC empty() { return new CharListC(null); } public boolean isempty() { return (content==null); } private static class InnerList { char first; InnerList next; InnerList(char hd,InnerList tl) { first=hd; next=tl; } } }