Word operations for encodings #
The building blocks of concrete encodings of pairs, options and lists, and their tidy computability
in linear time and space (Turing.MultiTapeTM.ComputableTidilyInLinearTimeAndSpace).
A word w is framed by writing each symbol b as [true, b] and appending [false]. A framed
word marks its own end, so it can be followed by any word and still be read back.
Main definitions #
Turing.MultiTapeTM.frame: the framed word.Turing.MultiTapeTM.unframe,Turing.MultiTapeTM.dropFrame: the word framed at the start of a word, and what follows the frame.
Main results #
Framed words #
The word framed at the start of v, see Turing.MultiTapeTM.frame.
Instances For
What follows the frame at the start of v, see Turing.MultiTapeTM.frame.
Instances For
Transducers for the word operations #
Reading the word framed at the start of an encoded value.
Dropping the frame at the start of an encoded value.
Prepending true to an encoded value.
Dropping the first symbol of an encoded value.
Keeping just the first symbol of an encoded value.
A function with a fixed value d on the input encoded by the empty word, and tidily computable
in linear time and space on the other inputs.