Re: OT: Programs You Wish Existed
From: | Paul Bennett <paul-bennett@...> |
Date: | Thursday, March 2, 2006, 21:13 |
On Thu, Mar 2, 2006 at 3:54 AM, Arthaey Angosii wrote:
> I need a senior project idea for my computer science degree. My
> previous two ideas turned out to have already been solved, so I come
> to you folks.
>
> Does anyone have requests for software they wish existed? I'm
> obviously interested in conlang- or language- or linguistics-related
> projects, but really anything will do at this point. If I do something
> language-related, I'll certainly share it with the list. :)
I know it sounds simple, but how about a "world class" sound change program.
XML input files defining a tree of languages, supporting standard "X > Y / A _ B"
rules for any point in the tree, including cases where any of X,Y,A,B may be
blank. If X is blank, allow the ">" to be replaced with "+" instead. If Y is
blank, allow the ">" to be replaced by "-" instead.
Fully UTF-8 rules, corpus and output files.
The ability to apply the changes at any point in the tree (or multiple points for
multiple outputs) to any given corpus, specified as being provided at any
higher point in the tree.
The ability to apply the changes at any point in the tree (or multiple points for
multiple outputs) to any user-supplied word, specified as being at any higher
point in the tree.
The ability to define arbitrary [xyz] attributes, and to group attributes. For
instance [+rounded] and [-rounded] obviously can usually stand on their own,
but [+alveolar], [+palatal], and [+velar] should be groupable so that setting
any one clears the others in that group.
The ability to assign abritrary attributes to any UTF-8 character.
The ability to have rules applied to attributes, characters, or a mixture.
A notation for combinations of attributes that are similar to a defined
character, but which differ by a few attributes.
The ability to assign ordered lists of characters to named variables, and include
in rules transformations of the sort "for any character c in list x, replace c
in the output with character t found at the index (the index of c within x)
within list y.
The ability to assign sets of [] attributes to named variables, and allow the use
of the character-modified-by-attribute notation to work with these variables.
Allow separate orthographic reading and writing rules for any point in the tree of
languages, so that inputs and outputs can use "real" text instead of IPA or
whatever phonetic notation you decide to use.
Rules editor using a "Windows Explorer" like left pane for managing and selecting
languages, and an XSLT RTF right pane for hiding the XML markup behind
character formatting (e.g. attributes are always monospace, variables are
always italic, or whatever). Bonus points for letting the user provide their
own XSLT file. Double bonus points for letting the user define their own XSLT
via a dialog or wizard instead of having to know XSLT.
My wishlist for the perfect sound change applier has additional items, which I
can't fully formulate just yet. I tried writing my own version a while ago, but
it was for a much smaller assignment, and merely needed to be an example of
polymorphic inheritance, so most of my ideas fell by the wayside.
Paul