# GF Resource Grammar Library: Synopsis

B. Bringert and A. Ranta

- Introduction
- Categories
  - A hierarchic view
  - Explanations
- Syntax Rules and Structural Words
  - A - one-place adjective
  - A2 - two-place adjective
  - AP - adjectival phrase
  - AdA - adjective-modifying adverb
  - AdN - numeral-modifying adverb
  - AdV - adverb directly attached to verb
  - Adv - verb-phrase-modifying adverb
  - Ant - anteriority
  - CAdv - comparative adverb
  - CN - common noun (without determiner)
  - Card - cardinal number
  - Cl - declarative clause, with all tenses
  - ClSlash
  - Comp - complement of copula, such as AP
  - Conj - conjunction
  - Det - determiner phrase
  - Dig
  - Digits - cardinal or ordinal in digits
  - IAdv - interrogative adverb
  - IComp - interrogative complement of copula
  - IDet - interrogative determiner
  - IP - interrogative pronoun
  - IQuant
  - Imp - imperative
  - ImpForm
  - Interj - interjection
  - ListAP
  - ListAdv
  - ListNP
  - ListRS
  - ListS
  - N - common noun
  - N2 - relational noun
  - N3 - three-place relational noun
  - NP - noun phrase (subject or object)
  - Num - number determining element
  - Numeral - cardinal or ordinal in words
  - Ord - ordinal number (used in Det)
  - PConj - phrase-beginning conjunction
  - PN - proper name
  - Phr - phrase in a text
  - Pol - polarity
  - Predet - predeterminer (prefixed Quant)
  - Prep - preposition, or just case
  - Pron - personal pronoun
  - Punct
  - QCl - question clause, with all tenses
  - QS - question
  - Quant - quantifier ('nucleus' of Det)
  - RCl - relative clause, with all tenses
  - RP - relative pronoun
  - RS - relative
  - S - declarative sentence
  - SC - embedded sentence or question
  - SSlash
  - Sub100
  - Sub1000
  - Subj - subjunction
  - Temp - temporal and aspectual features
  - Tense - tense
  - Text - text consisting of several phrases
  - Unit
  - Utt - sentence, question, word...
  - V - one-place verb
  - V2 - two-place verb
  - V2A - verb with NP and AP complement
  - V2Q - verb with NP and Q complement
  - V2S - verb with NP and S complement
  - V2V - verb with NP and V complement
  - V3 - three-place verb
  - VA - adjective-complement verb
  - VP - verb phrase
  - VPSlash - verb phrase missing complement
  - VQ - question-complement verb
  - VS - sentence-complement verb
  - VV - verb-phrase-complement verb
  - Voc - vocative or "please"
- Lexical Paradigms
  - Paradigms for Bulgarian
  - Paradigms for Catalan
  - Paradigms for Danish
  - Paradigms for Dutch
  - Paradigms for English
  - Paradigms for Finnish
  - Paradigms for French
  - Paradigms for German
  - Paradigms for Italian
  - Paradigms for Norwegian
  - Paradigms for Polish
  - Paradigms for Romanian
  - Paradigms for Russian
  - Paradigms for Spanish
  - Paradigms for Swedish
  - Paradigms for Urdu
- Browsing the libraries with GF commands
- An Example of Usage

# Introduction

This document contains the most important parts of the GF Resource Grammar API. It has been machine-generated from the source files; each chapter gives a link to the relevant source files, which give more information. Some of the files have not yet been prepared so that the machine generated documentation has the right format.

The second-last chapter gives instructions on how to "browse" the library by loading the grammars into the `gf` command editor.

The last chapter contains a brief example of how application grammars can import resource modules. At the same time, it illustrates a "design pattern" for using the resource API to build functor-based applications

The current status of resource grammar completion for different languages is shown in `status.html`.

# Categories

Source 1: `http://www.grammaticalframework.org/lib/resource/src/abstract/Common.gf`

Source 2: `http://www.grammaticalframework.org/lib/resource/src/abstract/Cat.gf`

## A hierarchic view

The chart below shows the categories in a hierarchical top-down order. The edges do not define the complete dependency structure; if they did, the graph would have many many more edges, and also many cycles. The precise meaning of a directed edge from C to D is: there is a constructor of C that takes D as an argument. What the constructors exactly are, and what other arguments they take, is described by separate tables for each category.

The rectangular boxes mark open lexical categories, which have constructors also in the `Paradigms` modules.

## Explanations

Category | Explanation | Example
--- | --- | ---
A | one-place adjective | warm
A2 | two-place adjective | divisible
AP | adjectival phrase | very warm
AdA | adjective-modifying adverb | very
AdN | numeral-modifying adverb | more than
AdV | adverb directly attached to verb | always
Adv | verb-phrase-modifying adverb | in the house
Ant | anteriority | simultaneous, anterior
CAdv | comparative adverb | more
CN | common noun (without determiner) | red house
Card | cardinal number | seven
Cl | declarative clause, with all tenses | she looks at this
Comp | complement of copula, such as AP | very warm
Conj | conjunction | and
Det | determiner phrase | those seven
Digits | cardinal or ordinal in digits | 1,000/1,000th
IAdv | interrogative adverb | why
IComp | interrogative complement of copula | where
IDet | interrogative determiner | how many
IP | interrogative pronoun | who
Imp | imperative | look at this
Interj | interjection | alas
N | common noun | house
N2 | relational noun | son
N3 | three-place relational noun | connection
NP | noun phrase (subject or object) | the red house
Num | number determining element | seven
Numeral | cardinal or ordinal in words | five/fifth
Ord | ordinal number (used in Det) | seventh
PConj | phrase-beginning conjunction | therefore
PN | proper name | Paris
Phr | phrase in a text | but be quiet please
Pol | polarity | positive, negative
Predet | predeterminer (prefixed Quant) | all
Prep | preposition, or just case | in
Pron | personal pronoun | she
QCl | question clause, with all tenses | why does she walk
QS | question | where did she live
Quant | quantifier ('nucleus' of Det) | this/these
RCl | relative clause, with all tenses | in which she lives
RP | relative pronoun | in which
RS | relative | in which she lived
S | declarative sentence | she lived here
SC | embedded sentence or question | that it rains
Subj | subjunction | if
Temp | temporal and aspectual features | past anterior
Tense | tense | present, past, future
Text | text consisting of several phrases | He is here. Why?
Utt | sentence, question, word... | be quiet
V | one-place verb | sleep
V2 | two-place verb | love
V2A | verb with NP and AP complement | paint
V2Q | verb with NP and Q complement | ask
V2S | verb with NP and S complement | tell
V2V | verb with NP and V complement | cause
V3 | three-place verb | show
VA | adjective-complement verb | look
VP | verb phrase | is very warm
VPSlash | verb phrase missing complement | give to John
VQ | question-complement verb | wonder
VS | sentence-complement verb | claim
VV | verb-phrase-complement verb | want
Voc | vocative or "please" | my darling

# Syntax Rules and Structural Words

Source 1: `http://www.grammaticalframework.org/lib/resource/src/api/Constructors.gf`

Source 2: `http://www.grammaticalframework.org/lib/resource/src/abstract/Structural.gf`

## A - one-place adjective

Lexical category, constructors given in lexical paradigms.

## A2 - two-place adjective

Lexical category, constructors given in lexical paradigms.

## AP - adjectival phrase

Function | Type | Example
--- | --- | ---
`comparAP` | A `->` AP | warmer
`mkAP` | A `->` AP | warm
`mkAP` | A `->` NP `->` AP | warmer than Paris
`mkAP` | A2 `->` NP `->` AP | married to her
`mkAP` | A2 `->` AP | married
`mkAP` | AP `->` S `->` AP | probable that John walks
`mkAP` | AP `->` QS `->` AP | uncertain if John walks
`mkAP` | AP `->` VP `->` AP | ready to go
`mkAP` | AP `->` SC `->` AP | ready to go
`mkAP` | AdA `->` A `->` AP | very old
`mkAP` | AdA `->` AP `->` AP | very very old
`mkAP` | Conj `->` AP `->` AP `->` AP | old and big
`mkAP` | Conj `->` ListAP `->` AP | old, big and warm
`mkAP` | Ord `->` AP | oldest
`mkAP` | CAdv `->` AP `->` NP `->` AP | as old as John
`reflAP` | A2 `->` AP | married to himself

## AdA - adjective-modifying adverb

Function | Type | Example
--- | --- | ---
`almost_AdA` | AdA | almost
`quite_Adv` | AdA | quite
`so_AdA` | AdA | so
`too_AdA` | AdA | too
`very_AdA` | AdA | very

## AdN - numeral-modifying adverb

Function | Type | Example
--- | --- | ---
`almost_AdN` | AdN | almost
`at_least_AdN` | AdN | at
`at_most_AdN` | AdN | at
`mkAdN` | CAdv `->` AdN | more than

## AdV - adverb directly attached to verb

Function | Type | Example
--- | --- | ---
`always_AdV` | AdV | always

## Adv - verb-phrase-modifying adverb

Function | Type | Example
--- | --- | ---
`everywhere_Adv` | Adv | everywhere
`here7from_Adv` | Adv | from here
`here7to_Adv` | Adv | to here
`here_Adv` | Adv | here
`mkAdv` | A `->` Adv | warmly
`mkAdv` | Prep `->` NP `->` Adv | in the house
`mkAdv` | Subj `->` S `->` Adv | when John walks
`mkAdv` | CAdv `->` A `->` NP `->` Adv | more warmly than John
`mkAdv` | CAdv `->` A `->` S `->` Adv | more warmly than he runs
`mkAdv` | AdA `->` Adv `->` Adv | very warmly
`mkAdv` | Conj `->` Adv `->` Adv `->` Adv | here and now
`mkAdv` | Conj `->` ListAdv `->` Adv | with John, here and now
`somewhere_Adv` | Adv | somewhere
`there7from_Adv` | Adv | from there
`there7to_Adv` | Adv | to there
`there_Adv` | Adv | there

## Ant - anteriority

Function | Type | Example
--- | --- | ---
`anteriorAnt` | Ant | John has walked
`simultaneousAnt` | Ant | John walks [default]

## CAdv - comparative adverb

Function | Type | Example
--- | --- | ---
`as_CAdv` | CAdv | as
`less_CAdv` | CAdv | less
`more_CAdv` | CAdv | more

## CN - common noun (without determiner)

Function | Type | Example
--- | --- | ---
`mkCN` | N `->` CN | house
`mkCN` | N2 `->` NP `->` CN | mother of John
`mkCN` | N3 `->` NP `->` NP `->` CN | distance from this city to Paris
`mkCN` | N2 `->` CN | mother
`mkCN` | N3 `->` CN | distance
`mkCN` | A `->` N `->` CN | big house
`mkCN` | A `->` CN `->` CN | big blue house
`mkCN` | AP `->` N `->` CN | very big house
`mkCN` | AP `->` CN `->` CN | very big blue house
`mkCN` | N `->` RS `->` CN | house that John owns
`mkCN` | CN `->` RS `->` CN | big house that John loves
`mkCN` | N `->` Adv `->` CN | house on the hill
`mkCN` | CN `->` Adv `->` CN | big house on the hill
`mkCN` | CN `->` S `->` CN | rule that John walks
`mkCN` | CN `->` QS `->` CN | question if John walks
`mkCN` | CN `->` VP `->` CN | reason to walk
`mkCN` | CN `->` SC `->` CN | reason to walk
`mkCN` | N `->` NP `->` CN | king John
`mkCN` | CN `->` NP `->` CN | old king John

## Card - cardinal number

Function | Type | Example
--- | --- | ---
`mkCard` | `Str` `->` Card | thirty-five (given as "35")
`mkCard` | Numeral `->` Card | twenty
`mkCard` | Digits `->` Card | 51
`mkCard` | AdN `->` Card `->` Card | almost fifty

## Cl - declarative clause, with all tenses

Function | Type | Example
--- | --- | ---
`genericCl` | VP `->` Cl | one walks
`mkCl` | NP `->` V `->` Cl | John walks
`mkCl` | NP `->` V2 `->` NP `->` Cl | John loves her
`mkCl` | NP `->` V3 `->` NP `->` NP `->` Cl | John sends it to her
`mkCl` | NP `->` VV `->` VP `->` Cl | John wants to walk
`mkCl` | NP `->` VS `->` S `->` Cl | John says that she walks
`mkCl` | NP `->` VQ `->` QS `->` Cl | John wonders who walks
`mkCl` | NP `->` VA `->` AP `->` Cl | John becomes old
`mkCl` | NP `->` V2A `->` NP `->` AP `->` Cl | John paints it red
`mkCl` | NP `->` V2S `->` NP `->` S `->` Cl | John tells her that we walk
`mkCl` | NP `->` V2Q `->` NP `->` QS `->` Cl | John asks her who walks
`mkCl` | NP `->` V2V `->` NP `->` VP `->` Cl | John forces her to walk
`mkCl` | NP `->` A `->` Cl | John is old
`mkCl` | NP `->` A `->` NP `->` Cl | John is older than her
`mkCl` | NP `->` A2 `->` NP `->` Cl | John is married to her
`mkCl` | NP `->` AP `->` Cl | John is very old
`mkCl` | NP `->` NP `->` Cl | John is the man
`mkCl` | NP `->` N `->` Cl | John is a man
`mkCl` | NP `->` CN `->` Cl | John is an old man
`mkCl` | NP `->` Adv `->` Cl | John is here
`mkCl` | NP `->` VP `->` Cl | John always walks here
`mkCl` | N `->` Cl | there is a house
`mkCl` | CN `->` Cl | there is an old house
`mkCl` | NP `->` Cl | there are five houses
`mkCl` | NP `->` RS `->` Cl | it is John who walks
`mkCl` | Adv `->` S `->` Cl | it is here he walks
`mkCl` | V `->` Cl | it rains
`mkCl` | VP `->` Cl | it is raining
`mkCl` | SC `->` VP `->` Cl | mkCl

## ClSlash

Function | Type | Example
--- | --- | ---
`mkClSlash` | NP `->` VPSlash `->` ClSlash | (whom) he sees here
`mkClSlash` | NP `->` V2 `->` ClSlash | (whom) he sees
`mkClSlash` | NP `->` VV `->` V2 `->` ClSlash | (whom) he wants to see
`mkClSlash` | Cl `->` Prep `->` ClSlash | (with whom) he walks
`mkClSlash` | ClSlash `->` Adv `->` ClSlash | (whom) he sees tomorrow
`mkClSlash` | NP `->` VS `->` SSlash `->` ClSlash | (whom) she says that he loves

## Comp - complement of copula, such as AP

Function | Type | Example
--- | --- | ---
`mkComp` | AP `->` Comp | very old
`mkComp` | NP `->` Comp | this man
`mkComp` | Adv `->` Comp | here

## Conj - conjunction

Function | Type | Example
--- | --- | ---
`and_Conj` | Conj | and
`both7and_DConj` | Conj | both...and
`either7or_DConj` | Conj | either...or
`if_then_Conj` | Conj | if
`or_Conj` | Conj | or

## Det - determiner phrase

Function | Type | Example
--- | --- | ---
`aPl_Det` | Det | (houses)
`aSg_Det` | Det | a (house)
`a_Det` | Det | a (house)
`every_Det` | Det | every
`few_Det` | Det | few
`many_Det` | Det | many
`mkDet` | Quant `->` Det | this
`mkDet` | Quant `->` Card `->` Det | these five
`mkDet` | Quant `->` Ord `->` Det | the best
`mkDet` | Quant `->` Num `->` Ord `->` Det | these five best
`mkDet` | Quant `->` Num `->` Det | these five
`mkDet` | Card `->` Det | forty
`mkDet` | Digits `->` Det | 51
`mkDet` | Numeral `->` Det | five
`mkDet` | Pron `->` Det | my
`mkDet` | Pron `->` Num `->` Det | my five
`much_Det` | Det | much
`somePl_Det` | Det | somePl
`someSg_Det` | Det | someSg
`thePl_Det` | Det | the (houses)
`theSg_Det` | Det | the (houses)
`the_Det` | Det | the (house)

## Dig

Function | Type | Example
--- | --- | ---
`n0_Dig` | Dig | 0
`n1_Dig` | Dig | 1
`n2_Dig` | Dig | 2
`n3_Dig` | Dig | 3
`n4_Dig` | Dig | 4
`n5_Dig` | Dig | 5
`n6_Dig` | Dig | 6
`n7_Dig` | Dig | 7
`n8_Dig` | Dig | 8
`n9_Dig` | Dig | 9

## Digits - cardinal or ordinal in digits

Function | Type | Example
--- | --- | ---
`mkDigits` | `Str` `->` Digits | 35 (from string "35")
`mkDigits` | Dig `->` Digits | 4
`mkDigits` | Dig `->` Digits `->` Digits | 1,233,432

## IAdv - interrogative adverb

Function | Type | Example
--- | --- | ---
`how8much_IAdv` | IAdv | how8much
`how_IAdv` | IAdv | how
`mkIAdv` | Prep `->` IP `->` IAdv | in which city
`mkIAdv` | IAdv `->` Adv `->` IAdv | where in Paris
`when_IAdv` | IAdv | when
`where_IAdv` | IAdv | where
`why_IAdv` | IAdv | why

## IComp - interrogative complement of copula

Lexical category, constructors given in lexical paradigms.

## IDet - interrogative determiner

Function | Type | Example
--- | --- | ---
`how8many_IDet` | IDet | how8many
`mkIDet` | IQuant `->` Num `->` IDet | which (songs)
`mkIDet` | IQuant `->` IDet | mkIDet
`whichPl_IDet` | IDet | whichPl
`which_IDet` | IDet | which

## IP - interrogative pronoun

Function | Type | Example
--- | --- | ---
`mkIP` | IDet `->` CN `->` IP | which five big cities
`mkIP` | IDet `->` N `->` IP | which five cities
`mkIP` | IDet `->` IP | which five
`mkIP` | IQuant `->` CN `->` IP | which big cities
`mkIP` | IQuant `->` Num `->` CN `->` IP | which five cities
`mkIP` | IQuant `->` N `->` IP | which city
`mkIP` | IP `->` Adv `->` IP | who in Paris
`whatPl_IP` | IP | what (plural)
`whatSg_IP` | IP | what (singular)
`what_IP` | IP | what (singular)
`whoPl_IP` | IP | who (plural)
`whoSg_IP` | IP | who (singular)
`who_IP` | IP | who (singular)

## IQuant

Function | Type | Example
--- | --- | ---
`which_IQuant` | IQuant | which

## Imp - imperative

Function | Type | Example
--- | --- | ---
`mkImp` | VP `->` Imp | go
`mkImp` | V `->` Imp | take it
`mkImp` | V2 `->` NP `->` Imp | come here now

## ImpForm

Function | Type | Example
--- | --- | ---
`pluralImpForm` | ImpForm | help yourselves
`politeImpForm` | ImpForm | help yourself polite
`singularImpForm` | ImpForm | help yourself [default]

## Interj - interjection

Lexical category, constructors given in lexical paradigms.

## ListAP

Function | Type | Example
--- | --- | ---
`mkListAP` | AP `->` AP `->` ListAP | mkListAP
`mkListAP` | AP `->` ListAP `->` ListAP | mkListAP

## ListAdv

Function | Type | Example
--- | --- | ---
`mkListAdv` | Adv `->` Adv `->` ListAdv | mkListAdv
`mkListAdv` | Adv `->` ListAdv `->` ListAdv | mkListAdv

## ListNP

Function | Type | Example
--- | --- | ---
`mkListNP` | NP `->` NP `->` ListNP | mkListNP
`mkListNP` | NP `->` ListNP `->` ListNP | mkListNP

## ListRS

Function | Type | Example
--- | --- | ---
`mkListRS` | RS `->` RS `->` ListRS | mkListRS
`mkListRS` | RS `->` ListRS `->` ListRS | mkListRS

## ListS

Function | Type | Example
--- | --- | ---
`mkListS` | S `->` S `->` ListS | mkListS
`mkListS` | S `->` ListS `->` ListS | mkListS

## N - common noun

Lexical category, constructors given in lexical paradigms.

## N2 - relational noun

Lexical category, constructors given in lexical paradigms.

## N3 - three-place relational noun

Lexical category, constructors given in lexical paradigms.

## NP - noun phrase (subject or object)

Function | Type | Example
--- | --- | ---
`everybody_NP` | NP | everybody
`everything_NP` | NP | everything
`mkNP` | Quant `->` N `->` NP | this man
`mkNP` | Quant `->` CN `->` NP | this old man
`mkNP` | Quant `->` Num `->` CN `->` NP | these five old men
`mkNP` | Quant `->` Num `->` N `->` NP | these five men
`mkNP` | Det `->` CN `->` NP | the first old man
`mkNP` | Det `->` N `->` NP | the first man
`mkNP` | Numeral `->` CN `->` NP | fifty old men
`mkNP` | Numeral `->` N `->` NP | fifty men
`mkNP` | Digits `->` CN `->` NP | 51 old men
`mkNP` | Digits `->` N `->` NP | 51 men
`mkNP` | Card `->` CN `->` NP | forty-five old men
`mkNP` | Card `->` N `->` NP | forty-five men
`mkNP` | Pron `->` CN `->` NP | my old man
`mkNP` | Pron `->` N `->` NP | my man
`mkNP` | PN `->` NP | John
`mkNP` | Pron `->` NP | he
`mkNP` | Quant `->` NP | this
`mkNP` | Quant `->` Num `->` NP | these five
`mkNP` | Det `->` NP | these five best
`mkNP` | CN `->` NP | old beer
`mkNP` | N `->` NP | beer
`mkNP` | Predet `->` NP `->` NP | only the man
`mkNP` | NP `->` V2 `->` NP | the man seen
`mkNP` | NP `->` Adv `->` NP | Paris today
`mkNP` | NP `->` RS `->` NP | John, who lives in Paris
`mkNP` | Conj `->` NP `->` NP `->` NP | mkNP
`mkNP` | Conj `->` ListNP `->` NP | mkNP
`nobody_NP` | NP | nobody
`nothing_NP` | NP | nothing
`somebody_NP` | NP | somebody
`something_NP` | NP | something

## Num - number determining element

Function | Type | Example
--- | --- | ---
`mkNum` | `Str` `->` Num | thirty-five (given by "35")
`mkNum` | Numeral `->` Num | twenty
`mkNum` | Digits `->` Num | 21
`mkNum` | Digit `->` Num | five
`mkNum` | Card `->` Num | almost ten
`mkNum` | AdN `->` Card `->` Num | almost ten
`pluralNum` | Num | plural
`singularNum` | Num | singular

## Numeral - cardinal or ordinal in words

Function | Type | Example
--- | --- | ---
`mkNumeral` | Sub1000 `->` Numeral | coerce 1..999
`mkNumeral` | Sub1000 `->` Sub1000 `->` Numeral | 1000m + n
`mkNumeral` | `Str` `->` Numeral | thirty-five (given by "35")
`thousandfoldNumeral` | Sub1000 `->` Numeral | 1000n

## Ord - ordinal number (used in Det)

Function | Type | Example
--- | --- | ---
`mkOrd` | Numeral `->` Ord | twentieth
`mkOrd` | Digits `->` Ord | 51st
`mkOrd` | Digit `->` Ord | fifth
`mkOrd` | A `->` Ord | largest

## PConj - phrase-beginning conjunction

Function | Type | Example
--- | --- | ---
`but_PConj` | PConj | but
`mkPConj` | Conj `->` PConj | and
`otherwise_PConj` | PConj | otherwise
`therefore_PConj` | PConj | therefore

## PN - proper name

Lexical category, constructors given in lexical paradigms.

## Phr - phrase in a text

Function | Type | Example
--- | --- | ---
`mkPhr` | (PConj) `->` Utt `->` (Voc) `->` Phr | but come here John
`mkPhr` | S `->` Phr | I go home
`mkPhr` | Cl `->` Phr | I go home
`mkPhr` | QS `->` Phr | I go home
`mkPhr` | Imp `->` Phr | I go home

## Pol - polarity

Function | Type | Example
--- | --- | ---
`negativePol` | Pol | John doesn't walk
`positivePol` | Pol | John walks [default]

## Predet - predeterminer (prefixed Quant)

Function | Type | Example
--- | --- | ---
`all_Predet` | Predet | all
`most_Predet` | Predet | most
`not_Predet` | Predet | not
`only_Predet` | Predet | only

## Prep - preposition, or just case

Function | Type | Example
--- | --- | ---
`above_Prep` | Prep | above
`after_Prep` | Prep | after
`before_Prep` | Prep | before
`behind_Prep` | Prep | behind
`between_Prep` | Prep | between
`by8agent_Prep` | Prep | by (agent)
`by8means_Prep` | Prep | by (means of)
`during_Prep` | Prep | during
`except_Prep` | Prep | except
`for_Prep` | Prep | for
`from_Prep` | Prep | from
`in8front_Prep` | Prep | in front of
`in_Prep` | Prep | in
`on_Prep` | Prep | on
`part_Prep` | Prep | part
`possess_Prep` | Prep | of (possessive)
`through_Prep` | Prep | through
`to_Prep` | Prep | to
`under_Prep` | Prep | under
`with_Prep` | Prep | with
`without_Prep` | Prep | without

## Pron - personal pronoun

Function | Type | Example
--- | --- | ---
`he_Pron` | Pron | he
`i_Pron` | Pron | i
`it_Pron` | Pron | it
`she_Pron` | Pron | she
`they_Pron` | Pron | they
`we_Pron` | Pron | we
`youPl_Pron` | Pron | you (plural)
`youPol_Pron` | Pron | you (polite)
`youSg_Pron` | Pron | you (singular)

## Punct

Function | Type | Example
--- | --- | ---
`exclMarkPunct` | Punct | !
`fullStopPunct` | Punct | .
`questMarkPunct` | Punct | ?

## QCl - question clause, with all tenses

Function | Type | Example
--- | --- | ---
`mkQCl` | Cl `->` QCl | does John walk
`mkQCl` | IP `->` VP `->` QCl | who walks
`mkQCl` | IP `->` V `->` QCl | who walks
`mkQCl` | IP `->` V2 `->` NP `->` QCl | who loves her
`mkQCl` | IP `->` V3 `->` NP `->` NP `->` QCl | who sends it to her
`mkQCl` | IP `->` VV `->` VP `->` QCl | who wants to walk
`mkQCl` | IP `->` VS `->` S `->` QCl | who says that she walks
`mkQCl` | IP `->` VQ `->` QS `->` QCl | who wonders who walks
`mkQCl` | IP `->` VA `->` AP `->` QCl | who becomes old
`mkQCl` | IP `->` V2A `->` NP `->` AP `->` QCl | who paints it red
`mkQCl` | IP `->` V2S `->` NP `->` S `->` QCl | who tells her that we walk
`mkQCl` | IP `->` V2Q `->` NP `->` QS `->` QCl | who asks her who walks
`mkQCl` | IP `->` V2V `->` NP `->` VP `->` QCl | who forces her to walk
`mkQCl` | IP `->` A `->` QCl | who is old
`mkQCl` | IP `->` A `->` NP `->` QCl | who is older than her
`mkQCl` | IP `->` A2 `->` NP `->` QCl | who is married to her
`mkQCl` | IP `->` AP `->` QCl | who is very old
`mkQCl` | IP `->` NP `->` QCl | who is the man
`mkQCl` | IP `->` N `->` QCl | who is a man
`mkQCl` | IP `->` CN `->` QCl | who is an old man
`mkQCl` | IP `->` Adv `->` QCl | who is here
`mkQCl` | IP `->` NP `->` V2 `->` QCl | who does John love
`mkQCl` | IP `->` ClSlash `->` QCl | who does John today
`mkQCl` | IAdv `->` Cl `->` QCl | why does John walk
`mkQCl` | Prep `->` IP `->` Cl `->` QCl | with whom does John walk
`mkQCl` | IAdv `->` NP `->` QCl | where is John
`mkQCl` | IComp `->` NP `->` QCl | who is this man
`mkQCl` | IP `->` QCl | which houses are there

## QS - question

Function | Type | Example
--- | --- | ---
`mkQS` | (Tense) `->` (Ant) `->` (Pol) `->` QCl `->` QS | who wouldn't have walked
`mkQS` | Cl `->` QS | mkQS

## Quant - quantifier ('nucleus' of Det)

Function | Type | Example
--- | --- | ---
`a_Quant` | Quant | a
`mkQuant` | Pron `->` Quant | my
`no_Quant` | Quant | no
`that_Quant` | Quant | that
`the_Quant` | Quant | the
`this_Quant` | Quant | this

## RCl - relative clause, with all tenses

Function | Type | Example
--- | --- | ---
`mkRCl` | RP `->` VP `->` RCl | that loves John
`mkRCl` | RP `->` ClSlash `->` RCl | whom John loves today
`mkRCl` | RP `->` NP `->` V2 `->` RCl | whom John loves
`mkRCl` | Cl `->` RCl | such that John loves her

## RP - relative pronoun

Function | Type | Example
--- | --- | ---
`mkRP` | Prep `->` NP `->` RP `->` RP | all the houses in which
`which_RP` | RP | which

## RS - relative

Function | Type | Example
--- | --- | ---
`mkRS` | (Tense) `->` (Ant) `->` (Pol) `->` RCl `->` RS | that wouldn't have walked
`mkRS` | Conj `->` RS `->` RS `->` RS | who walks and whose mother runsx
`mkRS` | Conj `->` ListRS `->` RS | who walks, whom I see and who sleeps

## S - declarative sentence

Function | Type | Example
--- | --- | ---
`mkS` | (Tense) `->` (Ant) `->` (Pol) `->` Cl `->` S | John wouldn't have walked
`mkS` | Conj `->` S `->` S `->` S | John walks and I run
`mkS` | Conj `->` ListS `->` S | John walks, I run and you sleep
`mkS` | Adv `->` S `->` S | today, John walks

## SC - embedded sentence or question

Function | Type | Example
--- | --- | ---
`mkSC` | S `->` SC | that he walks
`mkSC` | QS `->` SC | whether he walks
`mkSC` | VP `->` SC | to walk

## SSlash

Function | Type | Example
--- | --- | ---
`mkSSlash` | Temp `->` Pol `->` ClSlash `->` SSlash | mkSSlash

## Sub100

Function | Type | Example
--- | --- | ---
`mkSub100` | Unit `->` Sub100 | coerce 1..9
`mkSub100` | Unit `->` Unit `->` Sub100 | 10m + n
`tenfoldSub100` | Unit `->` Sub100 | 10n

## Sub1000

Function | Type | Example
--- | --- | ---
`mkSub1000` | Sub100 `->` Sub1000 | coerce 1..99
`mkSub1000` | Sub10 `->` Sub1000 | 100n
`mkSub1000` | Sub10 `->` Sub100 `->` Sub1000 | 100m + n

## Subj - subjunction

Function | Type | Example
--- | --- | ---
`although_Subj` | Subj | although
`because_Subj` | Subj | because
`if_Subj` | Subj | if
`that_Subj` | Subj | that
`when_Subj` | Subj | when

## Temp - temporal and aspectual features

Lexical category, constructors given in lexical paradigms.

## Tense - tense

Function | Type | Example
--- | --- | ---
`conditionalTense` | Tense | John would walk
`futureTense` | Tense | John will walk
`pastTense` | Tense | John walked
`presentTense` | Tense | John walks [default]

## Text - text consisting of several phrases

Function | Type | Example
--- | --- | ---
`emptyText` | Text | (empty text)
`mkText` | Phr `->` (Punct) `->` (Text) `->` Text | John walks? Yes.
`mkText` | Utt `->` Text | Yes.
`mkText` | S `->` Text | John walked.
`mkText` | Cl `->` Text | John walks.
`mkText` | QS `->` Text | Did John walk?
`mkText` | (Pol) `->` Imp `->` Text | Walk!
`mkText` | Text `->` Text `->` Text | Where? When? Here. Now!

## Unit

Function | Type | Example
--- | --- | ---
`n1_Unit` | Unit | one
`n2_Unit` | Unit | two
`n3_Unit` | Unit | three
`n4_Unit` | Unit | four
`n5_Unit` | Unit | five
`n6_Unit` | Unit | six
`n7_Unit` | Unit | seven
`n8_Unit` | Unit | eight
`n9_Unit` | Unit | nine

## Utt - sentence, question, word...

Function | Type | Example
--- | --- | ---
`lets_Utt` | VP `->` Utt | let's walk
`mkUtt` | S `->` Utt | John walked
`mkUtt` | Cl `->` Utt | John walks
`mkUtt` | QS `->` Utt | did John walk
`mkUtt` | QCl `->` Utt | does John walk
`mkUtt` | (ImpForm) `->` (Pol) `->` Imp `->` Utt | don't love yourselves
`mkUtt` | IP `->` Utt | who
`mkUtt` | IAdv `->` Utt | why
`mkUtt` | NP `->` Utt | this man
`mkUtt` | Adv `->` Utt | here
`mkUtt` | VP `->` Utt | to sleep
`mkUtt` | CN `->` Utt | beer
`mkUtt` | AP `->` Utt | good
`mkUtt` | Card `->` Utt | five
`no_Utt` | Utt | no
`yes_Utt` | Utt | yes

## V - one-place verb

Lexical category, constructors given in lexical paradigms.

## V2 - two-place verb

Function | Type | Example
--- | --- | ---
`have_V2` | V2 | have

## V2A - verb with NP and AP complement

Lexical category, constructors given in lexical paradigms.

## V2Q - verb with NP and Q complement

Lexical category, constructors given in lexical paradigms.

## V2S - verb with NP and S complement

Lexical category, constructors given in lexical paradigms.

## V2V - verb with NP and V complement

Lexical category, constructors given in lexical paradigms.

## V3 - three-place verb

Lexical category, constructors given in lexical paradigms.

## VA - adjective-complement verb

Lexical category, constructors given in lexical paradigms.

## VP - verb phrase

Function | Type | Example
--- | --- | ---
`mkVP` | V `->` VP | sleep
`mkVP` | V2 `->` NP `->` VP | love it
`mkVP` | V3 `->` NP `->` NP `->` VP | send a message to her
`mkVP` | VV `->` VP `->` VP | want to run
`mkVP` | VS `->` S `->` VP | know that she runs
`mkVP` | VQ `->` QS `->` VP | wonder if she runs
`mkVP` | VA `->` AP `->` VP | become red
`mkVP` | V2A `->` NP `->` AP `->` VP | paint it red
`mkVP` | V2S `->` NP `->` S `->` VP | tell her that we walk
`mkVP` | V2Q `->` NP `->` QS `->` VP | ask her who walks
`mkVP` | V2V `->` NP `->` VP `->` VP | force her to walk
`mkVP` | A `->` VP | be warm
`mkVP` | A `->` NP `->` VP | be older than her
`mkVP` | A2 `->` NP `->` VP | be married to her
`mkVP` | AP `->` VP | be warm
`mkVP` | N `->` VP | be a man
`mkVP` | CN `->` VP | be an old man
`mkVP` | NP `->` VP | be this man
`mkVP` | Adv `->` VP | be here
`mkVP` | VP `->` Adv `->` VP | sleep here
`mkVP` | AdV `->` VP `->` VP | always sleep
`mkVP` | VPSlash `->` NP `->` VP | paint it black
`mkVP` | VPSlash `->` VP | paint itself black
`mkVP` | Comp `->` VP | be warm
`passiveVP` | V2 `->` VP | be loved
`passiveVP` | V2 `->` NP `->` VP | be loved by her
`progressiveVP` | VP `->` VP | be sleeping
`reflexiveVP` | V2 `->` VP | love itself

## VPSlash - verb phrase missing complement

Function | Type | Example
--- | --- | ---
`mkVPSlash` | V2 `->` VPSlash | (whom) (John) loves
`mkVPSlash` | V3 `->` NP `->` VPSlash | (whom) (John) gives an apple
`mkVPSlash` | V2A `->` AP `->` VPSlash | (whom) (John) paints red
`mkVPSlash` | V2Q `->` QS `->` VPSlash | (whom) (John) asks who sleeps
`mkVPSlash` | V2S `->` S `->` VPSlash | (whom) (John) tells that we sleep
`mkVPSlash` | V2V `->` VP `->` VPSlash | (whom) (John) forces to sleep
`mkVPSlash` | VV `->` VPSlash `->` VPSlash | want always to buy
`mkVPSlash` | V2V `->` NP `->` VPSlash `->` VPSlash | beg me always to buy

## VQ - question-complement verb

Lexical category, constructors given in lexical paradigms.

## VS - sentence-complement verb

Lexical category, constructors given in lexical paradigms.

## VV - verb-phrase-complement verb

Function | Type | Example
--- | --- | ---
`can8know_VV` | VV | can (capacity)
`can_VV` | VV | can (possibility)
`must_VV` | VV | must
`want_VV` | VV | want

## Voc - vocative or "please"

Function | Type | Example
--- | --- | ---
`mkVoc` | NP `->` Voc | John
`please_Voc` | Voc | please

# Lexical Paradigms

## Paradigms for Bulgarian

source `http://www.grammaticalframework.org/lib/resource/src/bulgarian/ParadigmsBul.gf`

Function | Type
--- | ---
`mkN001` | `Str` `->` N
`mkN002` | `Str` `->` N
`mkN002a` | `Str` `->` N
`mkN003` | `Str` `->` N
`mkN004` | `Str` `->` N
`mkN005` | `Str` `->` N
`mkN006` | `Str` `->` N
`mkN007` | `Str` `->` N
`mkN007b` | `Str` `->` N
`mkN007a` | `Str` `->` N
`mkN008` | `Str` `->` N
`mkN008b` | `Str` `->` N
`mkN008c` | `Str` `->` N
`mkN008a` | `Str` `->` N
`mkN009` | `Str` `->` N
`mkN009a` | `Str` `->` N
`mkN010` | `Str` `->` N
`mkN011` | `Str` `->` N
`mkN012` | `Str` `->` N
`mkN013` | `Str` `->` N
`mkN014` | `Str` `->` N
`mkN014a` | `Str` `->` N
`mkN015` | `Str` `->` N
`mkN015a` | `Str` `->` N
`mkN016` | `Str` `->` N
`mkN016a` | `Str` `->` N
`mkN017` | `Str` `->` N
`mkN018` | `Str` `->` N
`mkN018a` | `Str` `->` N
`mkN019` | `Str` `->` N
`mkN019a` | `Str` `->` N
`mkN020` | `Str` `->` N
`mkN021` | `Str` `->` N
`mkN022` | `Str` `->` N
`mkN023` | `Str` `->` N
`mkN024a` | `Str` `->` N
`mkN024` | `Str` `->` N
`mkN025` | `Str` `->` N
`mkN026` | `Str` `->` N
`mkN027` | `Str` `->` N
`mkN028` | `Str` `->` N
`mkN028a` | `Str` `->` N
`mkN029` | `Str` `->` N
`mkN030` | `Str` `->` N
`mkN031` | `Str` `->` N
`mkN031a` | `Str` `->` N
`mkN032` | `Str` `->` N
`mkN032a` | `Str` `->` N
`mkN033` | `Str` `->` N
`mkN034` | `Str` `->` N
`mkN035` | `Str` `->` N
`mkN035a` | `Str` `->` N
`mkN036` | `Str` `->` N
`mkN037` | `Str` `->` N
`mkN038` | `Str` `->` N
`mkN039` | `Str` `->` N
`mkN040` | `Str` `->` N
`mkN040a` | `Str` `->` N
`mkN041` | `Str` `->` N
`mkN041a` | `Str` `->` N
`mkN041b` | `Str` `->` N
`mkN042` | `Str` `->` N
`mkN043` | `Str` `->` N
`mkN043a` | `Str` `->` N
`mkN044` | `Str` `->` N
`mkN045` | `Str` `->` N
`mkN046` | `Str` `->` N
`mkN047` | `Str` `->` N
`mkN048` | `Str` `->` N
`mkN049` | `Str` `->` N
`mkN050` | `Str` `->` N
`mkN051` | `Str` `->` N
`mkN052` | `Str` `->` N
`mkN052a` | `Str` `->` N
`mkN053` | `Str` `->` N
`mkN054` | `Str` `->` N
`mkN055` | `Str` `->` N
`mkN056` | `Str` `->` N
`mkN057` | `Str` `->` N
`mkN057a` | `Str` `->` N
`mkN058` | `Str` `->` N
`mkN059` | `Str` `->` N
`mkN060` | `Str` `->` N
`mkN061` | `Str` `->` N
`mkN062` | `Str` `->` N
`mkN063` | `Str` `->` N
`mkN064` | `Str` `->` N
`mkN065` | `Str` `->` N
`mkN066` | `Str` `->` N
`mkN067` | `Str` `->` N
`mkN068` | `Str` `->` N
`mkN069` | `Str` `->` N
`mkN070` | `Str` `->` N
`mkN071` | `Str` `->` N
`mkN072` | `Str` `->` N
`mkN073` | `Str` `->` N
`mkN074` | `Str` `->` N
`mkN075` | `Str` `->` N
`mkA076` | `Str` `->` A
`mkA077` | `Str` `->` A
`mkA078` | `Str` `->` A
`mkA079` | `Str` `->` A
`mkA080` | `Str` `->` A
`mkA081` | `Str` `->` A
`mkA082` | `Str` `->` A
`mkA082a` | `Str` `->` A
`mkA083` | `Str` `->` A
`mkA084` | `Str` `->` A
`mkA084a` | `Str` `->` A
`mkA085` | `Str` `->` A
`mkA086` | `Str` `->` A
`mkA087` | `Str` `->` A
`mkA088` | `Str` `->` A
`mkA089a` | `Str` `->` A
`mkV142` | `Str` `->` VTable
`mkV143` | `Str` `->` VTable
`mkV144` | `Str` `->` VTable
`mkV145` | `Str` `->` VTable
`mkV145a` | `Str` `->` VTable
`mkV145b` | `Str` `->` VTable
`mkV146` | `Str` `->` VTable
`mkV146a` | `Str` `->` VTable
`mkV147` | `Str` `->` VTable
`mkV148` | `Str` `->` VTable
`mkV149` | `Str` `->` VTable
`mkV150` | `Str` `->` VTable
`mkV150a` | `Str` `->` VTable
`mkV151` | `Str` `->` VTable
`mkV152` | `Str` `->` VTable
`mkV152a` | `Str` `->` VTable
`mkV153` | `Str` `->` VTable
`mkV154` | `Str` `->` VTable
`mkV155` | `Str` `->` VTable
`mkV156` | `Str` `->` VTable
`mkV157` | `Str` `->` VTable
`mkV158` | `Str` `->` VTable
`mkV159` | `Str` `->` VTable
`mkV160` | `Str` `->` VTable
`mkV160a` | `Str` `->` VTable
`mkV161` | `Str` `->` VTable
`mkV161a` | `Str` `->` VTable
`mkV162` | `Str` `->` VTable
`mkV163` | `Str` `->` VTable
`mkV164` | `Str` `->` VTable
`mkV165` | `Str` `->` VTable
`mkV166` | `Str` `->` VTable
`mkV167` | `Str` `->` VTable
`mkV168` | `Str` `->` VTable
`mkV169` | `Str` `->` VTable
`mkV170` | `Str` `->` VTable
`mkV171` | `Str` `->` VTable
`mkV172` | `Str` `->` VTable
`mkV173` | `Str` `->` VTable
`mkV174` | `Str` `->` VTable
`mkV175` | `Str` `->` VTable
`mkV176` | `Str` `->` VTable
`mkV177` | `Str` `->` VTable
`mkV178` | `Str` `->` VTable
`mkV179` | `Str` `->` VTable
`mkV180` | `Str` `->` VTable
`mkV181` | `Str` `->` VTable
`mkV182` | `Str` `->` VTable
`mkV183` | `Str` `->` VTable
`mkV184` | `Str` `->` VTable
`mkV185` | `Str` `->` VTable
`mkV186` | `Str` `->` VTable
`mkV187` | `Str` `->` VTable
`mkV188` | `Str` `->` VTable
`adjAdv` | A `->` `Str` `->` A `=`

## Paradigms for Catalan

source `http://www.grammaticalframework.org/lib/resource/src/catalan/ParadigmsCat.gf`

Function | Type
--- | ---
`Gender` | Type
`masculine` | Gender
`feminine` | Gender
`Number` | Type
`singular` | Number
`plural` | Number
`accusative` | Prep
`genitive` | Prep
`dative` | Prep
`mkPrep` | `Str` `->` Prep
`mkN` | `(llum` `:` `Str)` `->` N
`mkN` | `Str` `->` Gender `->` N
`mkN` | `(disc,discos` `:` `Str)` `->` Gender `->` N
`compN` | N `->` `Str` `->` N
`mkN2` | N `->` Prep `->` N2
`deN2` | N `->` N2
`aN2` | N `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `(Anna` `:` `Str)` `->` PN
`mkPN` | `(Pilar` `:` `Str)` `->` Gender `->` PN
`mkA` | `(sol` `:` `Str)` `->` A
`mkA` | `(fort,forta,forts,fortes,fortament` `:` `Str)` `->` A
`mkA` | `(bo` `:` `A)` `->` `(millor` `:` `A)` `->` A
`prefixA` | A `->` A
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkAdV` | `Str` `->` AdV
`mkAdA` | `Str` `->` AdA
`mkV` | `(cantar` `:` `Str)` `->` V
`mkV` | Verbum `->` V
`reflV` | V `->` V
`special_ppV` | V `->` `Str` `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Prep `->` V2
`v2V` | V2 `->` V
`mkV3` | V `->` Prep `->` Prep `->` V3
`dirV3` | V `->` Prep `->` V3
`dirdirV3` | V `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`deVV` | V `->` VV
`aVV` | V `->` VV
`mkV2V` | V `->` Prep `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` Prep `->` AV
`mkA2V` | A `->` Prep `->` Prep `->` A2V
`V0` | Type

## Paradigms for Danish

source `http://www.grammaticalframework.org/lib/resource/src/danish/ParadigmsDan.gf`

Function | Type
--- | ---
`Gender` | Type
`utrum` | Gender
`neutrum` | Gender
`Number` | Type
`singular` | Number
`plural` | Number
`Case` | Type
`nominative` | Case
`genitive` | Case
`mkPrep` | `Str` `->` Prep
`noPrep` | Prep
`mkN` | `(bil` `:` `Str)` `->` N
`mkN` | `(hus` `:` `Str)` `->` Gender `->` N
`mkN` | `(bil,bilen` `:` `Str)` `->` N
`mkN` | `(bil,bilen,biler` `:` `Str)` `->` N
`mkN` | `(dreng,drengen,drenge,drengene` `:` `Str)` `->` N
`mkN2` | N `->` Prep `->` N2
`regN2` | `Str` `->` Gender `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | `Str` `->` Gender `->` PN
`mkPN` | N `->` PN
`mkA` | `(fin` `:` `Str)` `->` A
`mkA` | `(fin,fint` `:` `Str)` `->` A
`mkA` | `(galen,galet,galne` `:` `Str)` `->` A
`mkA` | `(stor,stort,store,storre,storst` `:` `Str)` `->` A
`mkA` | A `->` A
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkAdV` | `Str` `->` AdV
`mkAdA` | `Str` `->` AdA
`mkV` | `(snakke` `:` `Str)` `->` V
`mkV` | `(leve,levde` `:` `Str)` `->` V
`mkV` | `(drikke,` `drakk,` `drukket` `:` `Str)` `->` V
`mkV` | `(spise,spiser,spises,spiste,spist,spis` `:` `Str)` `->` V
`mkV` | V `->` `Str` `->` V
`vaereV` | V `->` V
`depV` | V `->` V
`reflV` | V `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Prep `->` V2
`mkV3` | V `->` Prep `->` Prep `->` V3
`dirV3` | V `->` Prep `->` V3
`dirdirV3` | V `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`mkV2V` | V `->` Prep `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` AV
`mkA2V` | A `->` Prep `->` A2V
`V0` | Type

## Paradigms for Dutch

source `http://www.grammaticalframework.org/lib/resource/src/dutch/ParadigmsDut.gf`

Function | Type
--- | ---
`masculine` | Gender
`feminine` | Gender
`neuter` | Gender
`utrum` | Gender
`de,het` | Gender
`mkN` | `(muis` `:` `Str)` `->` N
`mkN` | `(bit` `:` `Str)` `->` Gender `->` N
`mkN` | `(gat,gaten` `:` `Str)` `->` Gender `->` N
`mkN` | `(muis` `:` `Str)` `->` N `=` `\a` `->` `lin` N `(regNoun` `a)`
`mkN` | `(bit` `:` `Str)` `->` Gender `->` N `=` `\a,b` `->` `lin` N `(regNounG` `a` `b)`
`mkN` | `(gat,gaten` `:` `Str)` `->` Gender `->` N `=` `\a,b,c` `->` `lin` N `(mkNoun` `a` `b` `c)`
`mkN2` | N `->` N2
`mkN2` | N `->` Prep `->` N2
`mkN2` | N `->` N2 `=` `\n` `->` `lin` N2 `(n` `**` `{c2` `=` `"van"})`
`mkN2` | N `->` Prep `->` N2 `=` `\n,p` `->` `lin` N2 `(n` `**` `{c2` `=` `p.s})`
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | `Str` `->` PN `=` `\s` `->` `lin` PN `{s` `=` `\\_` `=>` `s}`
`mkA` | `(vers` `:` `Str)` `->` A
`mkA` | `(goed,goede,goeds,beter,best` `:` `Str)` `->` A
`mkA` | `(vers` `:` `Str)` `->` A `=` `\a` `->` `lin` A `(regAdjective` `a)`
`mkA` | `(goed,goede,goeds,beter,best` `:` `Str)` `->` A `=` `\a,b,c,d,e` `->` `lin` A `(mkAdjective` `a` `b` `c` `d` `e)`
`invarA` | `Str` `->` A
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkPrep` | `Str` `->` Prep
`van_Prep` | Prep
`te_Prep` | Prep
`mkV` | `(aaien` `:` `Str)` `->` V
`mkV` | `(breken,brak,gebroken` `:` `Str)` `->` V
`mkV` | `(breken,brak,braken,gebroken` `:` `Str)` `->` V
`mkV` | `(aai,aait,aaien,aaide,aaide,aaiden,geaaid` `:` `Str)` `->` V
`mkV` | `Str` `->` V `->` V
`mkV` | `(aaien` `:` `Str)` `->` V `=`
`mkV` | `(breken,brak,gebroken` `:` `Str)` `->` V `=`
`mkV` | `(breken,brak,braken,gebroken` `:` `Str)` `->` V `=`
`mkV` | `(aai,aait,aaien,aaide,aaiden,geaaid` `:` `Str)` `->` V `=`
`mkV` | `Str` `->` V `->` V `=` `\v,s` `->lin` V `(prefixV` `v` `s)`
`zijnV` | V `->` V
`reflV` | V `->` V
`zijn_V` | V `=` `lin` V `ResDut.zijn_V`
`hebben_V` | V `=` `lin` V `ResDut.hebben_V`
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Prep `->` V2
`mkV2` | `Str` `->` V2 `=` `\s` `->` `lin` V2 `(v2vv` `(regVerb` `s)` `**` `{c2` `=` `[]})`
`mkV2` | V `->` V2 `=` `\s` `->` `lin` V2 `(s` `**` `{c2` `=` `[]})`
`mkV2` | V `->` Prep `->` V2 `=` `\s,p` `->` `lin` V2 `(s` `**` `{c2` `=` `p.s})`
`mkV3` | V `->` V3
`mkV3` | V `->` Prep `->` V3
`mkV3` | V `->` Prep `->` Prep `->` V3
`mkV3` | V `->` Prep `->` Prep `->` V3 `=` `mkmaxV3`
`mkV3` | V `->` Prep `->` V3 `=` `\v,p` `->` `mkmaxV3` `v` `(mkPrep` `[])` `p`
`mkV3` | V `->` V3 `=` `\v` `->` `mkmaxV3` `v` `(mkPrep` `[])` `(mkPrep` `[])`
`mkmaxV3` | V `->` Prep `->` Prep `->` V3 `=` `\v,c,d` `->` `lin` V3 `(v` `**` `{c2` `=` `c.s` `c3` `=` `d.s})`
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`mkV2V` | V `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkOrd` | A `->` Ord `=` `\a` `->` `lin` Ord `{s` `=` `a.s` `!` `Posit}`
`prepV2` | V `->` Prep `->` V2
`V0` | Type `=` V

## Paradigms for English

source `http://www.grammaticalframework.org/lib/resource/src/english/ParadigmsEng.gf`

Function | Type
--- | ---
`Gender` | Type
`human` | Gender
`nonhuman` | Gender
`masculine` | Gender
`feminine` | Gender
`Number` | Type
`singular` | Number
`plural` | Number
`Case` | Type
`nominative` | Case
`genitive` | Case
`npNumber` | NP `->` Number
`mkN` | `(flash` `:` `Str)` `->` N
`mkN` | `(man,men` `:` `Str)` `->` N
`mkN` | `(man,men,man's,men's` `:` `Str)` `->` N
`mkN` | Gender `->` N `->` N
`mkN` | `Str` `->` N `->` N
`mkN2` | N `->` Prep `->` N2
`mkN2` | N `->` `Str` `->` N2
`mkN2` | `Str` `->` `Str` `->` N2
`mkN2` | N `->` N2
`mkN2` | `Str` `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | N `->` PN
`mkQuant` | `(this,` `these` `:` `Str)` `->` Quant
`mkQuant` | `(no_sg,` `no_pl,` `none_sg,` `non_pl` `:` `Str)` `->` Quant
`mkOrd` | `Str` `->` Ord
`mkA` | `(happy` `:` `Str)` `->` A
`mkA` | `(fat,fatter` `:` `Str)` `->` A
`mkA` | `(good,better,best,well` `:` `Str)` `->` A
`compoundA` | A `->` A
`simpleA` | A `->` A
`irregAdv` | A `->` `Str` `->` A
`mkA2` | A `->` Prep `->` A2
`mkA2` | A `->` `Str` `->` A2
`mkA2` | `Str` `->` Prep `->` A2
`mkA2` | `Str` `->` `Str` `->` A2
`mkAdv` | `Str` `->` Adv
`mkAdV` | `Str` `->` AdV
`mkAdA` | `Str` `->` AdA
`mkAdN` | `Str` `->` AdN
`mkPrep` | `Str` `->` Prep
`noPrep` | Prep
`mkConj` | `Str` `->` Conj
`mkConj` | `Str` `->` Number `->` Conj
`mkConj` | `Str` `->` `Str` `->` Conj
`mkConj` | `Str` `->` `Str` `->` Number `->` Conj
`mkV` | `(cry` `:` `Str)` `->` V
`mkV` | `(stop,` `stopped` `:` `Str)` `->` V
`mkV` | `(drink,` `drank,` `drunk` `:` `Str)` `->` V
`mkV` | `(run,` `ran,` `run,` `running` `:` `Str)` `->` V
`mkV` | `(go,` `goes,` `went,` `gone,` `going` `:` `Str)` `->` V
`mkV` | `Str` `->` V `->` V
`partV` | V `->` `Str` `->` V
`reflV` | V `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Prep `->` V2
`mkV2` | V `->` `Str` `->` V2
`mkV2` | `Str` `->` Prep `->` V2
`mkV2` | `Str` `->` `Str` `->` V2
`mkV3` | V `->` Prep `->` Prep `->` V3
`mkV3` | V `->` Prep `->` V3
`mkV3` | V `->` `Str` `->` V3
`mkV3` | `Str` `->` `Str` `->` V3
`mkV3` | V `->` V3
`mkV3` | `Str` `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`mkV2V` | V `->` Prep `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` AV
`mkA2V` | A `->` Prep `->` A2V
`V0` | Type
`mkSubj` | `Str` `->` Subj `=` `\s` `->` `lin` Subj `{s` `=` `s}`

## Paradigms for Finnish

source `http://www.grammaticalframework.org/lib/resource/src/finnish/ParadigmsFin.gf`

Function | Type
--- | ---
`Number` | Type
`singular` | Number
`plural` | Number
`Case` | Type
`nominative` | Case
`genitive` | Case
`partitive` | Case
`essive` | Case
`translative` | Case
`inessive` | Case
`elative` | Case
`illative` | Case
`adessive` | Case
`ablative` | Case
`allative` | Case
`prePrep` | Case `->` `Str` `->` Prep
`postPrep` | Case `->` `Str` `->` Prep
`postGenPrep` | `Str` `->` Prep
`casePrep` | Case `->` Prep
`mkN` | `(talo` `:` `Str)` `->` N
`mkN` | `(savi,savia` `:` `Str)` `->` N
`mkN` | `(vesi,veden,vesiä` `:` `Str)` `->` N
`mkN` | `(vesi,veden,vesiä,vettä` `:` `Str)` `->` N
`mkN` | `(olo,olon,olona,oloa,oloon,olojen,oloja,oloina,oloissa,oloihin` `:` `Str)` `->` N
`mkN` | `(pika` `:` `Str)` `->` `(juna` `:` `N)` `->` N
`mkN` | `(oma` `:` `N)` `->` `(tunto` `:` `N)` `->` N
`mkN2` | N `->` N2
`mkN2` | N `->` Prep `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | N `->` PN
`mkA` | `Str` `->` A
`mkA` | N `->` A
`mkA` | N `->` `(kivempi,kivin` `:` `Str)` `->` A
`mkA` | `(hyva,parempi,paras` `:` `N)` `->` `(hyvin,paremmin,parhaiten` `:` `Str)` `->` A
`mkA2` | A `->` Prep `->` A2 `=` `\a,p` `->` `a` `**` `{c2` `=` `p` `lock_A2` `=` `<>};`
`mkV` | `(huutaa` `:` `Str)` `->` V
`mkV` | `(huutaa,huusi` `:` `Str)` `->` V
`mkV` | `(huutaa,huudan,huusi` `:` `Str)` `->` V
`mkV` | `(`
`huusin,huusi,huusisi,huutanut,huudettu,huutanee` | `Str)` `->` V
`caseV` | Case `->` V `->` V
`vOlla` | V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Case `->` V2
`mkV2` | V `->` Prep `->` V2
`mkV3` | V `->` Prep `->` Prep `->` V3
`dirV3` | V `->` Case `->` V3
`dirdirV3` | V `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`mkVVf` | V `->` InfForm `->` VV
`mkV2V` | V `->` Prep `->` V2V
`mkV2Vf` | V `->` Prep `->` InfForm `->` V2V
`mkVA` | V `->` Prep `->` VA
`mkV2A` | V `->` Prep `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` AV
`mkA2V` | A `->` Prep `->` A2V
`V0` | Type

## Paradigms for French

source `http://www.grammaticalframework.org/lib/resource/src/french/ParadigmsFre.gf`

Function | Type
--- | ---
`Gender` | Type
`masculine` | Gender
`feminine` | Gender
`Number` | Type
`singular` | Number
`plural` | Number
`accusative` | Prep
`genitive` | Prep
`dative` | Prep
`mkPrep` | `Str` `->` Prep
`mkN` | `(cheval` `:` `Str)` `->` N
`mkN` | `(foie` `:` `Str)` `->` Gender `->` N
`mkN` | `(oeil,yeux` `:` `Str)` `->` Gender `->` N
`mkN` | N `->` `Str` `->` N
`mkN2` | N `->` Prep `->` N2
`deN2` | N `->` N2
`aN2` | N `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | `Str` `->` Gender `->` PN
`mkA` | `(cher` `:` `Str)` `->` A
`mkA` | `(sec,seche` `:` `Str)` `->` A
`mkA` | `(banal,banale,banaux,banalement` `:` `Str)` `->` A
`mkA` | A `->` A `->` A
`prefixA` | A `->` A
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkAdV` | `Str` `->` AdV
`mkAdA` | `Str` `->` AdA
`mkV` | `(finir` `:` `Str)` `->` V
`mkV` | `(jeter,jette,jettera` `:` `Str)` `->` V
`mkV` | V2 `->` V
`etreV` | V `->` V
`reflV` | V `->` V
`mkV2` | `Str` `->` V2 `=` `\s` `->` `dirV2` `(regV` `s)`
`mkV2` | V `->` V2 `=` `dirV2`
`mkV2` | V `->` Prep `->` V2 `=` `mmkV2`
`mkV3` | V `->` V3
`mkV3` | V `->` Prep `->` V3
`mkV3` | V `->` Prep `->` Prep `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`deVV` | V `->` VV
`aVV` | V `->` VV
`mkV2V` | V `->` Prep `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` Prep `->` AV
`mkA2V` | A `->` Prep `->` Prep `->` A2V
`V0` | Type

## Paradigms for German

source `http://www.grammaticalframework.org/lib/resource/src/german/ParadigmsGer.gf`

Function | Type
--- | ---
`Gender` | Type
`masculine` | Gender
`feminine` | Gender
`neuter` | Gender
`Case` | Type
`nominative` | Case
`accusative` | Case
`dative` | Case
`genitive` | Case
`anDat_Case` | Case
`inAcc_Case` | Case
`inDat_Case` | Case
`zuDat_Case` | Case
`Number` | Type
`singular` | Number
`plural` | Number
`mkN` | `(Stufe` `:` `Str)` `->` N
`mkN` | `(Bild,Bilder` `:` `Str)` `->` Gender `->` N
`mkN` | `(x1,_,_,_,_,x6` `:` `Str)` `->` Gender `->` N
`mkN2` | `Str` `->` N2
`mkN2` | N `->` N2
`mkN2` | N `->` Prep `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | `(nom,gen` `:` `Str)` `->` PN
`mkPN` | `(nom,acc,dat,gen` `:` `Str)` `->` PN
`mkA` | `Str` `->` A
`mkA` | `(gut,besser,beste` `:` `Str)` `->` A
`mkA` | `(gut,gute,besser,beste` `:` `Str)` `->` A
`invarA` | `Str` `->` A
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkPrep` | `Str` `->` PCase `->` Prep
`accPrep` | Prep
`datPrep` | Prep
`genPrep` | Prep
`von_Prep` | Prep
`zu_Prep` | Prep
`anDat_Prep` | Prep
`inDat_Prep` | Prep
`inAcc_Prep` | Prep
`mkV` | `(führen` `:` `Str)` `->` V
`mkV` | `(sehen,sieht,sah,sähe,gesehen` `:` `Str)` `->` V
`mkV` | `(geben,` `gibt,` `gib,` `gab,` `gäbe,` `gegeben` `:` `Str)` `->` V
`mkV` | `Str` `->` V `->` V
`no_geV` | V `->` V
`fixprefixV` | `Str` `->` V `->` V
`seinV` | V `->` V
`habenV` | V `->` V
`reflV` | V `->` Case `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Prep `->` V2
`mkV2` | V `->` Case `->` V2
`mkV3` | V `->` Prep `->` Prep `->` V3
`dirV3` | V `->` Prep `->` V3
`accdatV3` | V `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`mkV2V` | V `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` AV
`mkA2V` | A `->` Prep `->` A2V
`V0` | Type

## Paradigms for Italian

source `http://www.grammaticalframework.org/lib/resource/src/italian/ParadigmsIta.gf`

Function | Type
--- | ---
`Gender` | Type
`masculine` | Gender
`feminine` | Gender
`Number` | Type
`singular` | Number
`plural` | Number
`--Prep` | Type
`accusative` | Prep
`genitive` | Prep
`dative` | Prep
`mkPrep` | `Str` `->` Prep
`mkN` | `(cane` `:` `Str)` `->` N
`mkN` | `(carne` `:` `Str)` `->` Gender `->` N
`mkN` | `(uomo,uomini` `:` `Str)` `->` Gender `->` N
`mkN` | N `->` `Str` `->` N
`mkN2` | `Str` `->` N2
`mkN2` | N `->` Prep `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | `Str` `->` Gender `->` PN
`mkA` | `(bianco` `:` `Str)` `->` A
`mkA` | `(solo,sola,soli,sole,solamente` `:` `Str)` `->` A
`mkA` | A `->` A `->` A
`prefixA` | A `->` A `=` `prefA`
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkAdV` | `Str` `->` AdV
`mkAdA` | `Str` `->` AdA
`mkV` | `Str` `->` V
`mkV` | Verbo `->` V
`mkV` | `(udire,odo,ode,udiamo,udiro,udii,udisti,udi,udirono,odi,udito` `:` `Str)` `->` V
`essereV` | V `->` V
`reflV` | V `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Prep `->` V2
`v2V` | V2 `->` V
`mkV3` | V `->` Prep `->` Prep `->` V3
`dirV3` | V `->` Prep `->` V3
`dirdirV3` | V `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`deVV` | V `->` VV
`aVV` | V `->` VV
`mkV2V` | V `->` Prep `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` Prep `->` AV
`mkA2V` | A `->` Prep `->` Prep `->` A2V
`V0` | Type

## Paradigms for Norwegian

source `http://www.grammaticalframework.org/lib/resource/src/norwegian/ParadigmsNor.gf`

Function | Type
--- | ---
`Gender` | Type
`masculine` | Gender
`feminine` | Gender
`neutrum` | Gender
`Number` | Type
`singular` | Number
`plural` | Number
`Case` | Type
`nominative` | Case
`genitive` | Case
`mkPrep` | `Str` `->` Prep
`noPrep` | Prep
`mkN` | `Str` `->` N
`mkN` | `Str` `->` Gender `->` N
`mkN` | `(bil,bilen` `:` `Str)` `->` N
`mkN` | `(dreng,drengen,drenger,drengene` `:` `Str)` `->` N
`mkN2` | N `->` Prep `->` N2
`regN2` | `Str` `->` Gender `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | `Str` `->` Gender `->` PN
`mkPN` | N `->` PN
`mkA` | `(fin` `:` `Str)` `->` A
`mkA` | `(fin,fint` `:` `Str)` `->` A
`mkA` | `(galen,galet,galne` `:` `Str)` `->` A
`mkA` | `(stor,stort,store,storre,storst` `:` `Str)` `->` A
`mkA` | A `->` A
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkAdV` | `Str` `->` AdV
`mkAdA` | `Str` `->` AdA
`mkV` | `(snakke` `:` `Str)` `->` V
`mkV` | `(leve,levde` `:` `Str)` `->` V
`mkV` | `(drikke,` `drakk,` `drukket` `:` `Str)` `->` V
`mkV` | `(spise,spiser,spises,spiste,spist,spis` `:` `Str)` `->` V
`mkV` | V `->` `Str` `->` V
`vaereV` | V `->` V
`depV` | V `->` V
`reflV` | V `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Prep `->` V2
`mkV3` | V `->` Prep `->` Prep `->` V3
`dirV3` | V `->` Prep `->` V3
`dirdirV3` | V `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`mkV2V` | V `->` Prep `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` AV
`mkA2V` | A `->` Prep `->` A2V
`V0` | Type

## Paradigms for Polish

source `http://www.grammaticalframework.org/lib/resource/src/polish/ParadigmsPol.gf`

Function | Type
--- | ---
`Gender` | `Type;`
`masculineP` | `Gender;`
`masculineA` | `Gender;`
`masculineI` | `Gender;`
`feminine` | `Gender;`
`neuter` | `Gender;`
`personal` | `Animacy;`
`Case` | `Type;`
`nominative` | `Case;`
`genitive` | `Case;`
`dative` | `Case;`
`accusative` | `Case;`
`instrumental` | `Case;`
`locative` | `Case;`
`vocative` | `Case;`
`Number` | `Type;`
`singular` | `Number;`
`plural` | `Number;`
`nKapiel` | `Str` `->` `N;`
`nLodz` | `Str` `->` `N;`
`nSul` | `Str` `->` `N;`
`nKonew` | `Str` `->` `N;`
`nWies` | `Str` `->` `N;`
`nDlon` | `Str` `->` `N;`
`nSiec` | `Str` `->` `N;`
`nDrzwi` | `Str` `->` `N;`
`nKosc` | `Str` `->` `N;`
`nNoc` | `Str` `->` `N;`
`nWesz` | `Str` `->` `N;`
`nKrolowa` | `Str` `->` `N;`
`nReka` | `Str` `->` `N;`
`nApteka` | `Str` `->` `N;`
`nDroga` | `Str` `->` `N;`
`nMatka` | `Str` `->` `N;`
`nZiemia` | `Str` `->` `N;`
`nFala` | `Str` `->` `N;`
`nLilia` | `Str` `->` `N;`
`nKobieta` | `Str` `->` `N;`
`nLiczba` | `Str` `->` `N;`
`nSila` | `Str` `->` `N;`
`nDoba` | `Str` `->` `N;`
`nWoda` | `Str` `->` `N;`
`nSzkola` | `Str` `->` `N;`
`nWojna` | `Str` `->` `N;`
`nWiosna` | `Str` `->` `N;`
`nMgla` | `Str` `->` `N;`
`nGwiazda` | `Str` `->` `N;`
`nUlica` | `Str` `->` `N;`
`nOwca` | `Str` `->` `N;`
`nDanie` | `Str` `->` `N;`
`nSerce` | `Str` `->` `N;`
`nNasienie` | `Str` `->` `N;`
`nMorze` | `Str` `->` `N;`
`nImie` | `Str` `->` `N;`
`nCiele` | `Str` `->` `N;`
`nUdo` | `Str` `->` `N;`
`nPiwo` | `Str` `->` `N;`
`nZero` | `Str` `->` `N;`
`nNiebo` | `Str` `->` `N;`
`nTlo` | `Str` `->` `N;`
`nZebro` | `Str` `->` `N;`
`nOkno` | `Str` `->` `N;`
`nGniazdo` | `Str` `->` `N;`
`nWojsko` | `Str` `->` `N;`
`nJajo` | `Str` `->` `N;`
`nJablko` | `Str` `->` `N;`
`nStudio` | `Str` `->` `N;`
`nDziecko` | `Str` `->` `N;`
`nUcho` | `Str` `->` `N;`
`nOko` | `Str` `->` `N;`
`nFacet` | `Str` `->` `N;`
`nArab` | `Str` `->` `N;`
`nPrzyjaciel` | `Str` `->` `N;`
`nKowal` | `Str` `->` `N;`
`nLekarz` | `Str` `->` `N;`
`nKrol` | `Str` `->` `N;`
`nMaz` | `Str` `->` `N;`
`nWrog` | `Str` `->` `N;`
`nKsiadz` | `Str` `->` `N;`
`nOjciec` | `Str` `->` `N;`
`nBrat` | `Str` `->` `N;`
`nBog` | `Str` `->` `N;`
`nChlopiec` | `Str` `->` `N;`
`nMezczyzna` | `Str` `->` `N;`
`nKon` | `Str` `->` `N;`
`nWaz` | `Str` `->` `N;`
`nPtak` | `Str` `->` `N;`
`nKot` | `Str` `->` `N;`
`nPies` | `Str` `->` `N;`
`nBat` | `Str` `->` `N;`
`nChleb` | `Str` `->` `N;`
`nSer` | `Str` `->` `N;`
`nZab` | `Str` `->` `N;`
`nKosciol` | `Str` `->` `N;`
`nCien` | `Str` `->` `N;`
`nPien` | `Str` `->` `N;`
`nLisc` | `Str` `->` `N;`
`nKoc` | `Str` `->` `N;`
`nWiersz` | `Str` `->` `N;`
`nDzien` | `Str` `->` `N;`
`nKajak` | `Str` `->` `N;`
`nMlotek` | `Str` `->` `N;`
`nMiech` | `Str` `->` `N;`
`nSad` | `Str` `->` `N;`
`nDym` | `Str` `->` `N;`
`nWal` | `Str` `->` `N;`
`nDol` | `Str` `->` `N;`
`nOgrod` | `Str` `->` `N;`
`nKwiat` | `Str` `->` `N;`
`nLas` | `Str` `->` `N;`
`nWiatr` | `Str` `->` `N;`
`nPopiol` | `Str` `->` `N;`
`nPokoj` | `Str` `->` `N;`
`nGaj` | `Str` `->` `N;`
`nBrzeg` | `Str` `->` `N;`
`nRok` | `Str` `->` `Str` `->` `N;`
`nProg` | `Str` `->` `N;`
`nStatek` | `Str` `->` `N;`
`nDom` | `Str` `->` `N;`
`mkN` | `(nomSg,` `genSg,` `datSg,` `accSg,` `instrSg,` `locSg,` `vocSg,`
`mkN2` | N `->` N2
`mkFun` | N `->` Prep `->` `N2;`
`nullPrep` | Prep `=` `{s` `=` `[];` `c=` `GenNoPrep;` `lock_Prep=<>};`
`mkN3` | N `->` Prep `->` Prep `->` `N3;`
`mkPrep` | `Str` `->` Case `->` `Prep;`
`genPrep` | `Prep;`
`datPrep` | `Prep;`
`accPrep` | `Prep;`
`instrPrep` | `Prep;`
`bez_Prep` | `Prep;` `--without`
`dla_Prep` | `Prep;` `--for`
`do_Prep` | `Prep;` `--to`
`dookola_Prep` | `Prep;` `--(a)round`
`kolo_Prep` | `Prep;` `--near`
`obok_Prep` | `Prep;` `--beside,` `next` `to`
`od_Prep` | `Prep;` `--from`
`oprocz_Prep` | `Prep;` `--out` `of`
`podczas_Prep` | `Prep;` `--during`
`mimo_Prep` | `Prep;`
`spod_Prep` | `Prep;` `--under`
`u_Prep` | `Prep;` `--by,` `with` `(I` `was` `by` Peter `last` `sunday.)`
`wzdluz_Prep` | `Prep;` `--along`
`z_Prep` | `Prep;` `--from` `(I` `come` `from` `Italy.),` `of/` `from` `(The` `ring` `is` `made` `of` `silver.)`
`zamiast_Prep` | `Prep;` `--instead` `of`
`znad_Prep` | `Prep;` `--over,` `above`
`zza_Prep` | `Prep;` `--behind`
`dzieki_Prep` | `Prep;`
`przeciw_Prep` | `Prep;`

## Paradigms for Romanian

source `http://www.grammaticalframework.org/lib/resource/src/romanian/ParadigmsRon.gf`

Function | Type
--- | ---
`NGender` | Type
`masculine` | NGender
`feminine` | NGender
`neuter` | NGender
`Gender` | Type
`Masculine` | Gender
`Feminine` | Gender
`Anim` | Type
`animate` | Anim
`inanimate` | `Anim;`
`Number` | Type
`singular` | Number
`plural` | Number
`Preposition` | Type
`NCase` | Type
`Acc` | NCase
`Dat` | NCase
`Gen` | NCase
`Nom` | NCase
`mkPrep` | `Str` `->` `NCase->` Bool `->` Prep
`mkPrep` | `Str` `->` NCase `->` `Prep;`
`noPrep` | NCase `->` Prep
`mkN2` | N `->` Prep `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN `=` `mkPropN`
`mkPN` | `Str` `->` `Str` `->` Gender `->` Number `->` PN `=` `mkPropNI`
`mkPN` | `Str` `->` Gender `->` PN `=` `mkPropNoun`
`mkPN` | `Str` `->` Gender `->` Number `->` PN `=` `mkProperNoun;`
`mkInAn` | PN `->` PN `=` `\romania` `->`
`mkPropNI` | `Str` `->` `Str` `->` Gender `->` Number `->` PN `=`
`mkPropN` | `Str` `->` PN `=` `\Ion` `->`
`mkPropNoun` | `Str` `->` Gender `->` PN `=` `\Ion,` `gen` `->`
`mkProperNoun` | `Str` `->` Gender `->` Number `->` PN `=` `\Ion,` `gen,` `num` `->`
`mkA2` | A `->` Prep `->` A2

## Paradigms for Russian

source `http://www.grammaticalframework.org/lib/resource/src/russian/ParadigmsRus.gf`

Function | Type
--- | ---
`Gender` | Type
`masculine` | Gender
`feminine` | Gender
`neuter` | Gender
`Case` | Type
`nominative` | Case
`genitive` | Case
`dative` | Case
`accusative` | Case
`instructive` | Case
`prepositional` | Case
`Number` | Type
`singular` | Number
`plural` | Number
`mkN` | `(karta` `:` `Str)` `->` N
`mkN` | `(tigr` `:` `Str)` `->` Animacy `->` N
`mkN` | `(nomSg,` `genSg,` `datSg,` `accSg,` `instSg,` `preposSg,` `prepos2Sg,` `nomPl,` `genPl,` `datPl,` `accPl,` `instPl,` `preposPl` `:` `Str)` `->` Gender `->` Animacy `->` N
`mkN2` | N `->` N2
`mkN2` | N `->` Prep `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` Gender `->` Animacy `->` PN
`nounPN` | N `->` PN
`mkA` | `(positive` `:` `Str)` `->` A
`mkA` | `(positive,` `comparative` `:` `Str)` `->` A
`mkA2` | A `->` `Str` `->` Case `->` A2
`mkAdv` | `Str` `->` Adv
`mkV` | Aspect `->` `(presentSgP1,presentSgP2,presentSgP3,`
`pastSgP1,imperative,infinitive` | `Str)` `->` V
`mkV2` | V `->` `Str` `->` Case `->` V2
`mkV3` | V `->` `Str` `->` `Str` `->` Case `->` Case `->` V3
`dirV2` | V `->` V2
`tvDirDir` | V `->` V3

## Paradigms for Spanish

source `http://www.grammaticalframework.org/lib/resource/src/spanish/ParadigmsSpa.gf`

Function | Type
--- | ---
`Gender` | Type
`masculine` | Gender
`feminine` | Gender
`Number` | Type
`singular` | Number
`plural` | Number
`accusative` | Prep
`genitive` | Prep
`dative` | Prep
`mkPrep` | `Str` `->` Prep
`mkN` | `(luz` `:` `Str)` `->` N
`mkN` | `Str` `->` Gender `->` N
`mkN` | `(baston,bastones` `:` `Str)` `->` Gender `->` N
`compN` | N `->` `Str` `->` N
`mkN2` | N `->` Prep `->` N2
`deN2` | N `->` N2
`aN2` | N `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `(Anna` `:` `Str)` `->` PN
`mkPN` | `(Pilar` `:` `Str)` `->` Gender `->` PN
`mkA` | `(util` `:` `Str)` `->` A
`mkA` | `(solo,sola,solos,solas,solamente` `:` `Str)` `->` A
`mkA` | `(bueno` `:` `A)` `->` `(mejor` `:` `A)` `->` A
`prefixA` | A `->` A
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkAdV` | `Str` `->` AdV
`mkAdA` | `Str` `->` AdA
`mkV` | `(pagar` `:` `Str)` `->` V
`mkV` | `(mostrar,muestro` `:` `Str)` `->` V
`mkV` | Verbum `->` V
`reflV` | V `->` V
`special_ppV` | V `->` `Str` `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` Prep `->` V2
`v2V` | V2 `->` V
`mkV3` | V `->` Prep `->` Prep `->` V3
`dirV3` | V `->` Prep `->` V3
`dirdirV3` | V `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`deVV` | V `->` VV
`aVV` | V `->` VV
`mkV2V` | V `->` Prep `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` Prep `->` AV
`mkA2V` | A `->` Prep `->` Prep `->` A2V
`V0` | Type

## Paradigms for Swedish

source `http://www.grammaticalframework.org/lib/resource/src/swedish/ParadigmsSwe.gf`

Function | Type
--- | ---
`Gender` | Type
`utrum` | Gender
`neutrum` | Gender
`Number` | Type
`singular` | Number
`plural` | Number
`Case` | Type
`nominative` | Case
`genitive` | Case
`mkPrep` | `Str` `->` Prep
`noPrep` | Prep
`mkN` | `(apa` `:` `Str)` `->` N
`mkN` | `(lik` `:` `Str)` `->` Gender `->` N
`mkN` | `(nyckel,nycklar` `:` `Str)` `->` N
`mkN` | `(museum,museet,museer,museerna` `:` `Str)` `->` N
`mkN2` | `Str` `->` N2
`mkN2` | N `->` Prep `->` N2
`mkN3` | N `->` Prep `->` Prep `->` N3
`mkPN` | `Str` `->` PN
`mkPN` | `Str` `->` Gender `->` PN
`mkPN` | `(jesus,jesu` `:` `Str)` `->` Gender `->` PN
`mkA` | `(billig` `:` `Str)` `->` A
`mkA` | `(bred,brett` `:` `Str)` `->` A
`mkA` | `(tung,tyngre,tyngst` `:` `Str)` `->` A
`mkA` | `(god,gott,goda,battre,bast` `:` `Str)` `->` A
`mkA` | `(liten,litet,lilla,sma,mindre,minst,minsta` `:` `Str)` `->` A
`compoundA` | A `->` A
`mkA2` | A `->` Prep `->` A2
`mkAdv` | `Str` `->` Adv
`mkAdV` | `Str` `->` AdV
`mkAdA` | `Str` `->` AdA
`mkV` | `(stämmer` `:` `Str)` `->` V
`mkV` | `(dricka,drack,druckit` `:` `Str)` `->` V
`mkV` | `(gå,går,gå,gick,gått,gången` `:` `Str)` `->` V
`mkV` | V `->` `Str` `->` V
`depV` | V `->` V
`reflV` | V `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | `Str` `->` Prep `->` V2
`mkV2` | V `->` Prep `->` V2
`mkV3` | `Str` `->` V3
`mkV3` | V `->` V3
`mkV3` | V `->` Prep `->` V3
`mkV3` | V `->` Prep `->` Prep `->` V3
`mkV0` | V `->` V0
`mkVS` | V `->` VS
`mkV2S` | V `->` Prep `->` V2S
`mkVV` | V `->` VV
`mkV2V` | V `->` Prep `->` Prep `->` V2V
`mkVA` | V `->` VA
`mkV2A` | V `->` Prep `->` V2A
`mkVQ` | V `->` VQ
`mkV2Q` | V `->` Prep `->` V2Q
`mkAS` | A `->` AS
`mkA2S` | A `->` Prep `->` A2S
`mkAV` | A `->` AV
`mkA2V` | A `->` Prep `->` A2V
`V0` | Type

## Paradigms for Urdu

source `http://www.grammaticalframework.org/lib/resource/src/urdu/ParadigmsUrd.gf`

Function | Type
--- | ---
`masculine` | Gender
`feminine` | Gender
`singular` | `Number;`
`plural` | `Number;`
`mkN` | `Str` `->` N
`mkN` | `Str` `->` Gender `->` N
`mkN` | `(x1,_,_,_,_,x6` `:` `Str)` `->` Gender `->` N
`mkN2` | N `->` Prep `->` `Str` `->` `N2;`
`mkN3` | N `->` Prep `->` `Str` `->` `Str->` N3
`mkCmpdNoun` | `Str` `->` N `->` N
`mkPN` | `Str` `->` PN `=` `\s` `->` `let` `n` `=` `regNoun` `s` `in` `{s` `=` `n.s` `!` Sg `g` `=` `n.g` `lock_PN` `=` `<>}`
`personalPN` | `Str` `->` `Str` `->` `Str` `->` `Str` `->` Number `->` Gender `->` UPerson `->` Pron `=` `\s1,s2,s3,sp,nn,g,p` `->` `let` `n` `=` `mkPron` `s1` `s2` `s3` `in` `{s` `=` `n.s` `a` `=` `toAgr` `nn` `p` `g` `ps` `=` `sp` `lock_Pron` `=` `<>};`
`demoPN` | `Str` `->` `Str` `->` `Str` `->` Quant `=` `\s1,s2,s3` `->` `let` `n` `=` `makeDemonPronForm` `s1` `s2` `s3` `in` `{s` `=` `n.s` `a` `=` `defaultAgr` `lock_Quant` `=` `<>};`
`mkDet` | `Str` `->` `Str` `->` `Str` `->` `Str` `->` Number `->` Det `=` `\s1,s2,s3,s4,nb` `->` `let` `dt` `=` `makeDet` `s1` `s2` `s3` `s4` `nb` `in` `{s` `=` `dt.s` `n` `=` `nb` `lock_Det` `=` `<>};`
`mkIP` | `(x1,x2,x3:Str)` `->` Number `->` Gender `->` IP `=` `\s1,s2,s3,n,g` `->` `let` `p` `=` `mkIntPronForm` `s1` `s2` `s3` `in` `{` `s` `=` `p.s` `n` `=` `n` `g` `=` `g` `lock_IP` `=` `<>};`
`mkAdN` | `Str` `->` AdN `=` `\s` `->` `{s` `=` `s` `p` `=` False `lock_AdN` `=` `<>}`
`mkA` | `Str->` A
`mkA` | `Str` `->` `Str` `->` A2
`mkA2` | A `->` `Str` `->` A2
`mkV` | `Str` `->` V
`mkV2` | `Str` `->` V2
`mkV2` | V `->` V2
`mkV2` | V `->` `Str` `->` V2
`dirV2` | V `->` V2 `=` `\v` `->` `v` `**` `{c2` `=` `{s` `=` `[]` `c` `=` `VTrans}` `lock_V2` `=` `<>}`
`mkV3` | V `->` `Str` `->` `Str` `->` `V3;`
`mkV2V` | V `->` `Str` `->` `Str` `->` Bool `->` V2V
`dirdirV3` | V `->` V3
`compoundV` | `Str` `->` V `->` V `=` `\s,v` `->` `{s` `=` `\\vf` `=>` `s` `++` `v.s` `!` `vf` `lock_V` `=` `<>}`
`compoundV` | `Str` `->` V2 `->` V `=` `\s,v` `->` `{s` `=` `\\vf` `=>` `s` `++` `v.s` `!` `vf` `lock_V` `=` `<>}`
`mkAdv` | `Str` `->` Adv `=` `\str` `->` `{s` `=` `\\_` `=>` `str` `lock_Adv` `=` `<>};`
`mkPrep` | `Str` `->` `Str` `->` Prep
`mkConj` | `Str` `->` Conj
`mkConj` | `Str` `->` Number `->` Conj
`mkConj` | `Str` `->` `Str` `->` Conj
`mkConj` | `Str` `->` `Str` `->` Number `->` Conj
`mkConj` | `Str` `->` Conj `=` `\y` `->` `mk2Conj` `[]` `y` `plural`
`mkConj` | `Str` `->` Number `->` Conj `=` `\y,n` `->` `mk2Conj` `[]` `y` `n`
`mkConj` | `Str` `->` `Str` `->` Conj `=` `\x,y` `->` `mk2Conj` `x` `y` `plural`
`mkConj` | `Str` `->` `Str` `->` Number `->` Conj `=` `mk2Conj`
`mk2Conj` | `Str` `->` `Str` `->` Number `->` Conj `=` `\x,y,n` `->`
`mkVS` | V `->` `VS;`
`mkVV` | V `->` VV `=` `\v` `->` `lin` VV `(v` `**` `{isAux` `=` `False});`
`mkAdA` | `Str` `->` AdA
`mkVQ` | V `->` VQ

# Browsing the libraries with GF commands

New: Browsing by syntax editor directly on the web.

All of the following assume

        cd $GF_LIB_PATH

To try out inflection paradigms:

        > i -path=alltenses -retain alltenses/ParadigmsGer.gfo
        > cc mkN "Farbe"

To try out overloaded syntax, test lexicon, and inflection paradigms:

        > i -path=alltenses -retain alltenses/TryGer.gfo
        > cc mkCl (mkNP this_Quant (mkN "Farbe")) (mkA "dunkel")

# An Example of Usage

The standard way of building an application has the following modules.

An abstract syntax:

        abstract Music = {
        cat
          Kind,
          Property ;
        fun
          PropKind : Kind -> Property -> Kind ;
          Song : Kind ;
          American : Property ;
        }

A domain lexicon interface:

        interface LexMusic = open Cat in {
        oper
          song_N : N ;
          american_A : A ;
        }

A functor on `Syntax` and the domain lexicon interface:

        incomplete concrete MusicI of Music = open Syntax, MusicLex in {
        lincat
          Kind = CN ;
          Property = AP ;
        lin
          PropKind k p = mkCN p k ;
          Song = mkCN song_N ;
          American = mkAP american_A ;
        }

For each language, an instance of the domain lexicon:

        instance LexMusicGer of LexMusic = CatGer ** open ParadigmsGer in {
        oper
          song_N = mkN "Lied" "Lieder" neuter ;
          american_A = mkA "amerikanisch" ;
        }

For each language, an instantiation of the functor:

        --# -path=.:present:prelude

        concrete MusicGer of Music = MusicI with
          (Syntax = SyntaxGer),
          (LexMusic = LexMusicGer) ;