2 Natural language processing and combinatory logic

2.1 Applicative universal grammar

A Haskell application for natural language parsing, based on Applicative Universal Grammar (AUG) is described in Mark P. Jones', Paul Hudak's and Sebastian Shaumyan's Using Types to Parse Natural Language. The Haskell source code given by the article is full, it can be run by Gofer, and after a few modification, by GHC too (transpose must be explictly imported from standard library module Data.List, and class Text renamed to Show).

3 Game theoretic semantics

Game theoretic semantics presents an interesting concept of truth -- in another way than that of Tarski.
Its connections to computer science and computer languages is described in Wikipedia's Game semantics article. Merlijn Sevenster's Game theoretical semantics and -logic is a good introductory material too.

3.1 Relatedness to linear logic

The Wikipedia article mentions also the relatedness of game theoretic semantics to linear logic.
Philip Wadler's page on linear logic describes the topic and its relatedness to many concepts concerning Haskell. A taste of linear logic can serve as an introductory article.

5 Other functional or Haskell-related approaches to linguistics

GF is a compiler and grammatical programming environment written entirely in Haskell, with an interactive interpreter and two GUI interfaces, one written in Fudgets and another written in Java. GF grammars are written in a subset of Haskell and compile into an internal GF format that may be used as embedded parsers in Haskell, parsers in Java (with an embedded Java interpreter gfc2java.jar) and subsequently converted to applets (Gramlets). (GF-Haskell to Java translation is performed through an Open Agent Architecture--the original .NET, see GF OAA.) The GF grammatical formalism handles linguistic entities (morphemes, etc.) using type theory: an approach especially suited to machine translation of controlled natural languages. The Grammar Resource Library, a set of basic grammars for Danish, English, Finnish, French, German, Italian, Norwegian, Russian, Spanish and Swedish, is available as a separate download. GF has been used to translate a fragment of C code to JVM (see GFCC (PDF document)).