The following module was proposed for inclusion in the Module List:

  modid:       Lingua::FeatureSet
  DSLIP:       adpOp
  description: define phonology-style features for emes
  userid:      KAHN (Jeremy Kahn)
  chapterid:   11 (String_Lang_Text_Proc)
  communities:
    comp.lang.perl.modules

  similar:

  rationale:

    I need a tool that constructs objects representing the featureset
    of a phoneme. The standard linguistic notation for this is (for the
    'ch', the 'eh', and the 's' sound in chess"):

    CH [ +stop +fric -voice +palat +cons -vow ] EH [ +vow -cons -low
    -high +front -tense ] S [ +cons +fric -stop +alv -voice ]

    Furthermore, I may want to be able to refer to "feature classes",
    that is, composite features like "affricate":

    class AFF [ +stop +fric ]

    (this example would match 'CH' but not 'S' or 'EH').

    To complicate things further, the list of primitive features is
    linguistically controversial, the set of relevant classes varies
    from language to language, even if you agree on the theoretical
    primitives, and the choice of symbol set to represent the phoneme
    (IPA, Sampa, DARPA-bet, etc) is varied and political.

    Thus, in the finest Perl sense, TMTOWTDI. The dimensions of
    flexibility provided are:

    You, the user, define what you want to be the featureset by
    subclassing "Lingua::FeatureMatrix::Eme", distributed with this
    module. An added side bonus is that you decide whether the base unit
    is a "Phone" or a "Phoneme" (or, for that matter, a "SoundUnit" or a
    "Letter" -- that subclass is *your* module, and the goal is to
    "[put] the focus not so much onto the problem to be solved, but
    rather onto the person trying to solve the problem." (see
    http://kiev.wall.org/~larry/pm.html).

    You, the user, define what the feature set is, and you define how
    the phones distribute among those features, using the best of
    *Impatience* -- use the existing linguistic typographic conventions,
    and this module takes care of constructing your objects for you. No
    translating among conventions for us.

    But let's go one step further. Languages include redundancy, and
    sometimes it's boring (and not *Lazy*) to have to specify yourself
    that something that is "[+stop]" is also "[-vow +cons]", especially
    if you have to specify this for every single "[+stop]" consonant.

    So this module also introduces the concept of an *implicature* -- I
    can say, also in simple linguistically-familiar format, that

    ( [+stop] => [-vow +cons] )

    and this will apply for all phones in the current dataset (unless
    I'm speaking Berber, where this isn't necessarily true...). It's
    also *Lazy*, because the module also does the work of letting me
    know whether I have forgotten to specify any of the features of a
    given phone:

    # probably missing a feature or six; would generate a # warning. T
    [ +cons -vow ]

    Along the way, we pick up some *Hubris*:

    * Doesn't apply just to phones anymore -- we can use it for letters
    and ligatures, if we want.

    * It should be extensible to use these objects to connect to other
    linguistics-style programs like "Lingua::SoundChange", not to
    mention homebrew pronunciation algorithms like "Lingua::Soundex".

  enteredby:   KAHN (Jeremy Kahn)
  enteredon:   Mon Sep  2 18:38:29 2002 GMT

The resulting entry would be:

Lingua::
::FeatureSet      adpOp define phonology-style features for emes     KAHN


Thanks for registering,
The Pause Team

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=92200000_3af935ca9af4a19f&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=92200000_3af935ca9af4a19f&SUBMIT_pause99_add_mod_insertit=1

Reply via email to