Mind to Mind

Range Constructors (unfinished draft)

An unfinished follow-on to Core Range Algebra and Attributed Range Algebra.

A note on this page: this is a working draft, not a finished paper. It reuses the title page from Attributed Range Algebra — a copy/paste artifact that was never cleaned up — and it still has a handful of [TODO: ...] placeholders where a citation was never filled in. It’s posted here as a rough sketch of where this line of work was headed next, not as a completed piece of writing.

Both Core Range Algebra and Attributed Range Algebra leave one question unanswered: given the Create operation that builds a single range from a position and a length, what actually decides where ranges come from in the first place? This draft introduces the Range Constructor: a function that takes an arbitrary sequence and returns a sequence of ranges, playing much the same role for range algebra that a lexical analyzer (lex, for instance) plays for a stream of bytes. Most of the draft works through building constructors out of regular expressions — treating the familiar lexer pattern of “match this expression, return a token” as “match this expression, construct a range” — and sketches, without finishing, a notion of parallel range construction for handling several, possibly overlapping, match rules at once.

Read the draft (PDF)

Tags: