fcn encode(text,table){ text.pump(String,table.get) } fcn decode(bits,table){ // this is a horrible decoder, for testing only w:=bits.walker(); sink:=Sink(String); try{ s:=""; while(1){ s+=w.next(); if(c:=table.find(s)) { sink.write(c); s=""; } }}catch(TheEnd){} sink.close(); }