Functional Morphology

Publicerad 2004 av Markus Forsberg (född 1974)

Computer And Information Science Linguistics Embedded Languages Finite Functions Data- Och Informationsvetenskap Morphological Description Functional Programming
Typ av publikation: Artiklar
Typ av innehåll: Refereegranskad publ.

Ingår i:
The 2002 International Conference on Functional Programming, October 4-6 2002, Pittsburg PA, USA

Published by: Chalmers tekniska högskola, ISSN:0362-1340,


This paper presents a methodology for implementing natural language morphology in the functional language Haskell. The main idea behind is simple: instead of working with untyped regular expressions, which is the state of the art of morphology in computational linguistics, we use finite functions over hereditarily finite algebraic datatypes. The definitions of these datatypes and functions are the language-dependent part of the morphology.

The language-independent part consists of an untyped dictionary format which is used for synthesis of word forms, and a decorated trie, which is used for analysis. Functional Morphology builds on ideas introduced by Huet in his computational linguistics toolkit Zen, which he has used to implement the morphology of Sanskrit. The goal has been to make it easy for linguists, who are not trained as functional programmers, to apply the ideas to new languages.

As a proof of the productivity of the method, morphologies for Swedish, Italian, Russian, Spanish, and Latin have already been implemented using the library. The Latin morphology is used as a running example in this article.