- character: a single displayable element
- characterset: a set of characters...
- string: a list of characters
- word: a string of characters taken from an allowable characterset (eg, no whitespace)
- punctuation set: a character set containing only punctuation characters
- dictionary: an unordered set of distinct words.
- text: an ordered set (list) of words and punctuation.
- constrained text: text conforming to structural rules. (eg: matched quotes, capitalization of sentences etc.)
- educational dictionary: a dictionary where each word has a definition. (Closed dictionary: all definitions are in terms of words in the dictionary. Dependent dictionary: all definitions are based on words from another dictionary.)
- traditional text editors map charactersets to strings, these should be renamed string editors.
- language editors should map words and punctuation to constrained text.
- language editors would be more useful than string editors in a wide variety of tasks.
so, I'll:
- choose a character set of alphanumeric and some punctuation
- make a device for creating a dictionary on the fly
- make a device for distilling dictionaries from source texts
- make devices for selecting words quickly from dictionary
- make devices for selecting punctuation quickly
- make devices for following basic written language rules (capilalization, matching quotes etc.)
- use those devices to create contrained text
an environment for developing these sorts of tools could be a textual development environment.
- dictionary management
- word map: take words and write descriptions of how they relate to other words.