-- From http://www.trs.cm.is.nagoya-u.ac.jp/repius/experiments -- -- GHC take very long time to load the generated inverse. -- -- Taking S-Expression, function printSExp seems to generates -- the sequence of tokens correspoding to the given S-Exp. printSExp(x) = printCar(x,MSTokEOS) printCar(Symbol(x), t) = Str(x,t) printCar(SNil, t) = LPar(RPar(t)) printCar(SCons(x,y),t) = LPar(printCar(x,printCdr(y,t))) printCdr(Symbol(x), t) = Dot (Str(x,RPar(t))) printCdr(SNil, t) = RPar(t) printCdr(SCons(x,y),t) = printCar(x,printCdr(y,t))