Optimality Constraint Archive
Welcome to the Optimality Constraint Archive. There are only a few
example constraints right now, pending translation of more from
existing Lisp code.
Right now you can do a little Recursive Constraint Demotion, or some T-Order Generation. If neither of
these is interesting, you can browse the current constraints
below. Someday this whole system will become a freely editable wiki so
people can add their own constraints and definitions. In the meantime,
what appears to be a database is actually just gleaned from
code, but you are welcome to mail patches to ncsander@indiana.edu
Constraints
Onset | Useful in Analysis Of | Syllables |
| Name | Onset |
| Description | All syllables must have an onset |
|
Max-IO | Superset Of | Max-IO<Segment>, Max-IO<Feature> |
| See Also | Max-BR, other OO constraints |
| Subset Of | Max |
| Name | Max-IO |
| Description | Every segment in the input must appear in the output |
|
*Low | Denigrated By | Basically Everybody |
| Framework | Shameless Ad Hockery |
| Name | *Low |
| Proposed By | Sanders (20x6) |
| Description | This is a fake constraint necessary for the fake test of RCD I am using. A better example following McCarthy's Thematic Guide is soon coming. |
|
Dep-IO | Superset Of | Dep-IO<Segment>, Dep-IO<Feature> |
| Subset Of | Dep |
| Name | Dep-IO |
| Description | Every segment in the output must appear in the input |
|
OCP-Coronal | Denigrated By | Other Person (1998a) (1998b) (1998c) |
| Framework | Classic OT, others |
| Name | OCP-Coronal |
| Proposed By | Placeholder (1997) |
| Description | Prevent two coronals from occurring next to each other |
|
Note: the Name field should really be HTML Name;
there are (ideally) three names for each constraint: code name, HTML name
and LaTeX name.
Source
The source for this site is released under the GPL,
except for the utility
library, which is released under the revised BSD
licence. What this means is that you may copy and distribute the
code, and use it in new programs as long as they include the source
code. You can do whatever you want with the utilities.
The formal constraint definitions are Python functions that return
the number of
violations incurred, from 0 to infinity. It is possible to return
a negative number, but this is an error, at least in classic OT. The
metadata about each constraint is stored as key=value pairs in the
docstring, but this is not really scalable and will probably be
replaced by a database soon. In particular, the proper setup would
allow a wiki to interface with the constraint database so anyone could
add constraints.