From c878a7561c03e4ab856958cb5eb34ad1fe13010c Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 27 Jun 2008 11:21:49 +0000 Subject: [PATCH] removed obsolete items from doc --- doc/DocGFC.pdf | Bin 46102 -> 0 bytes doc/ParadigmsRus.tex | 424 ------------ doc/release2.html | 546 --------------- doc/resource-preamble | 7 - doc/resource-synopsis.txt | 893 ------------------------- doc/resource.pdf | Bin 422166 -> 0 bytes doc/resource.txt | 1258 ----------------------------------- doc/transfer-reference.html | 842 ----------------------- doc/transfer-reference.txt | 649 ------------------ doc/transfer-tutorial.html | 214 ------ doc/transfer-tutorial.txt | 165 ----- doc/transfer.html | 34 - doc/transfer.txt | 27 - doc/val-optimization.txt | 183 ----- 14 files changed, 5242 deletions(-) delete mode 100644 doc/DocGFC.pdf delete mode 100644 doc/ParadigmsRus.tex delete mode 100644 doc/release2.html delete mode 100644 doc/resource-preamble delete mode 100644 doc/resource-synopsis.txt delete mode 100644 doc/resource.pdf delete mode 100644 doc/resource.txt delete mode 100644 doc/transfer-reference.html delete mode 100644 doc/transfer-reference.txt delete mode 100644 doc/transfer-tutorial.html delete mode 100644 doc/transfer-tutorial.txt delete mode 100644 doc/transfer.html delete mode 100644 doc/transfer.txt delete mode 100644 doc/val-optimization.txt diff --git a/doc/DocGFC.pdf b/doc/DocGFC.pdf deleted file mode 100644 index f1d2e39c4f10936a24768beb0bdeb87f9ba0d9cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46102 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

b9 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 diff --git a/doc/ParadigmsRus.tex b/doc/ParadigmsRus.tex deleted file mode 100644 index 950c88965..000000000 --- a/doc/ParadigmsRus.tex +++ /dev/null @@ -1,424 +0,0 @@ -This is an API for the user of the resource grammar for adding -lexical items. It gives functions for forming expressions of open -categories: nouns, adjectives, verbs. - -Closed categories (determiners, pronouns, conjunctions) are -accessed through the resource syntax API, {\tt Structural.gf}. - -The main difference with {\tt MorphoRus.gf} is that the types -referred to are compiled resource grammar types. We have moreover -had the design principle of always having existing forms, rather -than stems, as string arguments of the paradigms. - -The structure of functions for each word class {\tt C} is the following: -first we give a handful of patterns that aim to cover all -regular cases. Then we give a worst-case function {\tt mkC}, which serves as an -escape to construct the most irregular words of type {\tt C}. -%However, this function should only seldom be needed: we have a -%separate module {\tt IrregularEng}, which covers all irregularly inflected -words. - -The following modules are presupposed: -\begin{verbatim} - resource ParadigmsRus = open - (Predef=Predef), - Prelude, - MorphoRus, - CatRus, - NounRus - in { - - flags coding=utf8 ; -\end{verbatim} - -\textbf{Parameters} - -To abstract over gender names, we define the following identifiers. -\begin{verbatim} - oper - Gender : Type ; - - masculine : Gender ; - feminine : Gender ; - neuter : Gender ; -\end{verbatim} - -To abstract over case names, we define the following. -\begin{verbatim} - Case : Type ; - - nominative : Case ; - genitive : Case ; - dative : Case ; - accusative : Case ; - instructive : Case ; - prepositional : Case ; -\end{verbatim} - -In some (written in English) textbooks accusative case -is put on the second place. However, we follow the case order -standard for Russian textbooks. -To abstract over number names, we define the following. -\begin{verbatim} - Number : Type ; - - singular : Number ; - plural : Number ; - - Animacy: Type ; - - animate: Animacy; - inanimate: Animacy; -\end{verbatim} - -\textbf{Nouns} -Best case: indeclinabe nouns: {\cyr kofe}, {\cyr -pal\cyrsftsn{}to}, {\cyr VUZ}. -\begin{verbatim} - mkIndeclinableNoun: Str -> Gender -> Animacy -> N ; -\end{verbatim} - -Worst case - give six singular forms: -Nominative, Genetive, Dative, Accusative, Instructive and Prepositional; -corresponding six plural forms and the gender. -May be the number of forms needed can be reduced, -but this requires a separate investigation. -Animacy parameter (determining whether the Accusative form is equal -to the Nominative or the Genetive one) is actually of no help, -since there are a lot of exceptions and the gain is just one form less. -\begin{verbatim} - mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg, - nomPl, genPl, datPl, accPl, instPl, preposPl: Str) - -> Gender -> Animacy -> N ; -\end{verbatim} -({\cyr \em muzhchina, muzhchinu, muzhchine, muzhchinu, -muzhchino\cyrishrt{}, muzhchine} - -\noindent {\cyr \em muzhchin\cyrery{}, muzhchin, muzhchinam, -muzhchin, muzhchinami, muzhchinah}) - -\vspace{5mm} - -The regular function captures the variants for some popular nouns -endings from the list below: -\begin{verbatim} - regN : Str -> N ; -\end{verbatim} - -Here are some common patterns. The list is far from complete. - -\subsubsection{Feminine patterns} - -\noindent feminine, inanimate, ending with "-a", Inst -"{\cyr -mashin-o\cyrishrt{}}": -\begin{verbatim} - nMashina : Str -> N ; -\end{verbatim} -feminine, inanimate, ending with "-a", Inst -"{\cyr -edinic-e\cyrishrt{}}": -\begin{verbatim} - nEdinica : Str -> N ; -\end{verbatim} -feminine, animate, ending with "-a": -\begin{verbatim} - nZhenchina : Str -> N ; -\end{verbatim} -feminine, inanimate, ending with "{\cyr g\_k\_h-a}": -\begin{verbatim} - nNoga : Str -> N ; -\end{verbatim} -feminine, inanimate, ending with "-{\cyr -iya}": -\begin{verbatim} - nMalyariya : Str -> N ; -\end{verbatim} -feminine, animate, ending with "{\cyr -ya}": -\begin{verbatim} - nTetya : Str -> N ; -\end{verbatim} -feminine, inanimate, ending with "-{\cyr \cyrsftsn{}}"(soft sign): -\begin{verbatim} - nBol : Str -> N ; -\end{verbatim} - -\subsubsection{Neuter patterns} - -\noindent neutral, inanimate, ending with "-ee": -\begin{verbatim} - nObezbolivauchee : Str -> N ; -\end{verbatim} -neutral, inanimate, ending with "-e": -\begin{verbatim} - nProizvedenie : Str -> N ; -\end{verbatim} -neutral, inanimate, ending with "-o": -\begin{verbatim} - nChislo : Str -> N ; -\end{verbatim} -neutral, inanimate, ending with "-{\cyr oe}": -\begin{verbatim} - nZhivotnoe : Str -> N ; -\end{verbatim} - -\subsubsection{Masculine patterns} - -\noindent Ending with consonant: - -\noindent masculine, inanimate, ending with "-{\cyr el}"- "{\cyr -pep-la}": -\begin{verbatim} - nPepel : Str -> N ; -\end{verbatim} -animate, "{\cyr brat-\cyrsftsn{}ya}": -\begin{verbatim} - nBrat : Str -> N ; -\end{verbatim} -same as above, but inanimate: -\begin{verbatim} - nStul : Str -> N ; -\end{verbatim} -"{\cyr malyshe\cyrishrt{}}": -\begin{verbatim} - nMalush : Str -> N ; -\end{verbatim} -"{\cyr potol-ok, potol-ka}" -\begin{verbatim} - nPotolok : Str -> N ; -\end{verbatim} -the next four differ in plural nominative and/or accusative -form(s): - -\noindent {\cyr bank-i}(Nom=Acc): -\begin{verbatim} - nBank : Str -> N ; -\end{verbatim} -same as above, but animate: -\begin{verbatim} - nStomatolog : Str -> N ; -\end{verbatim} -"{\cyr adres-a}" (Nom=Acc): -\begin{verbatim} - nAdres : Str -> N ; -\end{verbatim} -"{\cyr telefony}" (Nom=Acc): -\begin{verbatim} - nTelefon : Str -> N ; -\end{verbatim} -masculine, inanimate, ending with "{\cyr \cyrsftsn{}}" (soft -sign): -\begin{verbatim} - nNol : Str -> N ; -\end{verbatim} -masculine, inanimate, ending with "{\cyr -en\cyrsftsn{}}": -\begin{verbatim} - nUroven : Str -> N ; -\end{verbatim} - -Nouns used as functions need a preposition. The most common is with Genitive. -\begin{verbatim} - mkFun : N -> Prep -> N2 ; - mkN2 : N -> N2 ; - mkN3 : N -> Prep -> Prep -> N3 ; -\end{verbatim} - -\subsubsection{Proper names} - -{\cyr Ivan, Masha}: -\begin{verbatim} - mkPN : Str -> Gender -> Animacy -> PN ; -\end{verbatim} -\begin{verbatim} - nounPN : N -> PN ; -\end{verbatim} - -On the top level, it is maybe {\tt CN} that is used rather than {\tt N}, and -{\tt NP} rather than {\tt PN}. -\begin{verbatim} - mkCN : N -> CN ; - mkNP : Str -> Gender -> Animacy -> NP ; -\end{verbatim} - -\textbf{Adjectives} -Non-comparison (only positive degree) one-place adjectives need 28 -(4 by 7) forms in the worst case: (Masculine | Feminine | Neutral -| Plural) * (Nominative | Genitive | Dative | Accusative Inanimate -| Accusative Animate | Instructive | Prepositional). Notice that 4 -short forms, which exist for some adjectives are not included in -the current description, otherwise there would be 32 forms for -positive degree. - -The regular function captures the variants for some popular -adjective endings below. The first string agrument is the -masculine singular form, the second is comparative: -\begin{verbatim} - regA : Str -> Str -> A ; -\end{verbatim} - -\noindent Invariable adjective is a special case: {\cyr haki, -mini, hindi, netto}: -\begin{verbatim} - adjInvar : Str -> A ; -\end{verbatim} - -Some regular patterns depending on the ending. - -\noindent ending with "{\cyr y\cyrishrt{}}": -\begin{verbatim} - AStaruyj : Str -> Str -> A ; -\end{verbatim} -ending with "{\cyr i\cyrishrt{}}", Gen - "{\cyr -malen\cyrsftsn{}k-ogo}": -\begin{verbatim} - AMalenkij : Str -> Str -> A ; -\end{verbatim} -ending with "{\cyr i\cyrishrt{}}", Gen - "{\cyr horosh-ego}": -\begin{verbatim} - AKhoroshij : Str -> Str -> A ; -\end{verbatim} -ending with "{\cyr o\cyrishrt{}}", plural - "{\cyr molod-ye}": -\begin{verbatim} - AMolodoj : Str -> Str -> A ; -\end{verbatim} -ending with "{\cyr o\cyrishrt{}}", plural - "{\cyr kak-ie}": -\begin{verbatim} - AKakoj_Nibud : Str -> Str -> Str -> A ; -\end{verbatim} - -Two-place adjectives need a preposition and a case as extra arguments. - -"{\cyr delim na}": -\begin{verbatim} - mkA2 : A -> Str -> Case -> A2 ; -\end{verbatim} - -Comparison adjectives need a positive adjective (28 forms without -short forms). Taking only one comparative form (non-syntactic) and -only one superlative form (syntactic) we can produce the -comparison adjective with only one extra argument - non-syntactic -comparative form. Syntactic forms are based on the positive forms. - -\begin{verbatim} - mkADeg : A -> Str -> ADeg ; -\end{verbatim} -On top level, there are adjectival phrases. The most common case -is just to use a one-place adjective. -\begin{verbatim} - ap : A -> IsPostfixAdj -> AP ; -\end{verbatim} - -\textbf{Adverbs} -Adverbs are not inflected. %Most lexical ones have position after the verb. Some can be preverbal (e.g. {\it always}). -\begin{verbatim} - mkAdv : Str -> Adv ; -\end{verbatim} - -\textbf{Verbs} - -In our lexicon description ({\it Verbum}) there are 62 forms: 2 -(Voice) by { 1 (infinitive) + [2(number) by 3 -(person)](imperative) + [ [2(Number) by 3(Person)](present) + -[2(Number) by 3(Person)](future) + 4(GenNum)(past) ](indicative)+ -4 (GenNum) (subjunctive) } Participles (Present and Past) and -Gerund forms are not included, since they fuction more like -Adjectives and Adverbs correspondingly rather than verbs. Aspect -is regarded as an inherent parameter of a verb. Notice, that some -forms are never used for some verbs. %Actually, the majority of verbs do not have many of the forms. -\begin{verbatim} - Voice: Type; - Aspect: Type; - Tense : Type; - Bool: Type; - Conjugation: Type ; -\end{verbatim} -"{\cyr gulya-Esh\cyrsftsn{}, gulya-Em}": -\begin{verbatim} - first: Conjugation; -\end{verbatim} - -\noindent Verbs with vowel "{\cyr \cyryo}": "{\cyr -da\cyryo{}sh\cyrsftsn{}}" (give), "{\cyr -p\cyrsftsn{}\cyryo{}sh\cyrsftsn{}}" (drink): -\begin{verbatim} - firstE: Conjugation; -\end{verbatim} - -\noindent "{\cyr vid-Ish\cyrsftsn{}, vid-Im}": -\begin{verbatim} - second: Conjugation; -\end{verbatim} -"{\cyr hoch-Esh\cyrsftsn{}, hot-Im}": -\begin{verbatim} - mixed: Conjugation; -\end{verbatim} -irregular: -\begin{verbatim} - dolzhen: Conjugation; - - true: Bool; - false: Bool; - - active: Voice ; - passive: Voice ; - imperfective: Aspect; - perfective: Aspect ; -\end{verbatim} - -The worst case need 6 forms of the present tense in indicative -mood ({\cyr ya begu}, {\cyr ty bezhish\cyrsftsn{}}, {\cyr on -bezhit}, {\cyr my bezhim}, {\cyr vy bezhite}, {\cyr oni begut}), a -past form (singular, masculine: {\cyr ya bezhal}), an imperative -form (singular, second person: {\cyr begi}), an infinitive ({\cyr -bezhat\cyrsftsn{}}). Inherent aspect should also be specified. -\begin{verbatim} - mkVerbum : Aspect -> (presentSgP1,presentSgP2,presentSgP3, - presentPlP1,presentPlP2,presentPlP3, - pastSgMasculine,imperative,infinitive: Str) -> V ; -\end{verbatim} - -Common conjugation patterns are two conjugations: first - verbs -ending with {\cyr -at\cyrsftsn{}/-yat\cyrsftsn{}} and second - -{\cyr -it\cyrsftsn{}/-et\cyrsftsn{}}. Instead of 6 present forms -of the worst case, we only need a present stem and one ending -(singular, first person): {\cyr ya l\cyryu{}bl\cyryu{}}, {\cyr ya -zhdu}, etc. To determine where the border between stem and ending -lies it is sufficient to compare first person from with second -person form: {\cyr ya l\cyryu{}bl\cyryu{}}, {\cyr ty -l\cyryu{}bish\cyrsftsn{}}. Stems should be the same. So the -definition for verb {\cyr l\cyryu{}bit\cyrsftsn{}} looks like: -\texttt{regV Imperfective Second }"{\cyr l\cyryu{}b}" "{\cyr -l\cyryu{}}" "{\cyr l\cyryu{}bil}" "{\cyr l\cyryu{}bi}" "{\cyr -l\cyryu{}bit\cyrsftsn{}}"; -\begin{verbatim} - regV : Aspect -> Conjugation -> (stemPresentSgP1, - endingPresentSgP1,pastSgP1,imperative,infinitive: Str) -> V ; -\end{verbatim} - -For writing an application grammar one usually doesn't need the -whole inflection table, since each verb is used in a particular -context that determines some of the parameters (Tense and Voice -while Aspect is fixed from the beginning) for certain usage. The -{\it V} type, that have these parameters fixed. We can extract the -{\it V} from the lexicon. -\begin{verbatim} - mkV : Verbum -> Voice -> V ; - mkPresentV : Verbum -> Voice -> V ; -\end{verbatim} - -Two-place verbs, and the special case with direct object. Notice -that a particle can be included in a {\tt V}. - -\noindent "{\cyr vo\cyrishrt{}ti v dom}", "{\cyr v}", accusative: -\begin{verbatim} - mkV2 : V -> Str -> Case -> V2 ; -\end{verbatim} -{\cyr slozhit\cyrsftsn{} pic\cyrsftsn{}mo v konvert}: -\begin{verbatim} - mkV3 : V -> Str -> Str -> Case -> Case -> V3 ; -\end{verbatim} -"{\cyr videt\cyrsftsn{}}", "{\cyr l\cyryu{}bit\cyrsftsn{}}": -\begin{verbatim} - dirV2 : V -> V2 ; - tvDirDir : V -> V3 ; -\end{verbatim} - -The definitions should not bother the user of the API. So they are -hidden from the document. diff --git a/doc/release2.html b/doc/release2.html deleted file mode 100644 index d34b49cc1..000000000 --- a/doc/release2.html +++ /dev/null @@ -1,546 +0,0 @@ - - - - -

- -

Grammatical Framework Version 2

- -Release of Version 2.0 - -

- -Planned: 24 June 2004 - -

- -Aarne Ranta - -

- - - - -

Highlights

- -Module system. - -

- -Separate compilation to canonical GF. - -

- -Improved GUI. - -

- -Improved parser generation. - -

- -Improved shell (new commands and options, help, error messages). - -

- -Accurate language specification -(also of GFC). - -

- -Extended resource library. - -

- -Extended Numerals library. - - - - - - -

Module system

- -
  • Separate modules for abstract, - concrete, and resource. -
  • Replaces the file-based include system -
  • Name space handling with qualified names -
  • Hierarchic structure (single inheritance **) + - cross-cutting reuse (open) -
  • Separate compilation, one module per file -
  • Reuse of abstract+concrete as resource -
  • Parametrized modules: - interface, instance, incomplete. -
  • New experimental module types: transfer, - union. - - - - -

    Canonical format GFC

    - -
  • The target of GF compiler; to reuse, just read in. - -
  • Readable by Haskell/Java/C++/C applications (by BNFC generated parsers). - - - - - -

    New features in expression language

    - -In addition to the module system: - -

    - -

  • Disjunctive patterns P | ... | Q. -
  • String patterns "foo". -
  • (?) Integer patterns 74. -
  • Binding token &+ to glue separate tokens at unlexing phase, - and unlexer to resolve this. -
  • New syntax alternatives for local definitions: let without - braces and where. -
  • Pattern variables can be used on lhs's of oper definitions. -
  • New Unicode transliterations (by Harad Hammarström). - - - - -

    New shell commands and command functionalities

    - -
  • pi = print_info: information on an identifier in scope. -
  • h = help now in long or short form, - and on individual commands. -
  • gt = generate_trees: all trees of a given - category or instantiations of a given incomplete term, up to a - given depth. -
  • gr = generate_random can now be given - an incomplete term as an argument, to constrain generation. -
  • so = show_opers shows all ope - operations with a given value type. -
  • pm = print_multi prints the multilingual - grammar resident in the current state to a ready-compiles - .gfcm file. -
  • All commands have both long and short names (see help). Short - names are easier to type, whereas long names - make scripts more readable. -
  • Meaningless command options generate warnings. - - - - -

    New editor features

    - -
  • Active text field: click the middle button in the focus to send - in refinement through the parser. -
  • Clipboard: copy complex terms into the refine menu. -
  • Two-step refinements generated by the "Generate" operation. - - - -

    Improved implementation

    - -
  • Haskell source code is organized into subdirectories. -
  • BNF Converter is used for defining the languages GF and GFC, which also - give reliable LaTeX documentation. -
  • Lexical rules sorted out by option -cflexer for efficient - parsing with large lexica. -
  • GHC optimizations and strictness flags are used for improving performance. - - - - -

    New parser (work in progress)

    - -
  • By Peter Ljunglöf, based on MCFG. -
  • Much more efficient for morphology and discontinuous constituents. -
  • Treatment of cyclic rules. -
  • Currently lots of alternative parsers via flags -parser=newX. - - - - -

    Status (21/6/2004)

    - -Grammar compiler, editor GUIs, and shell work for all platforms -(with restrictions for Solaris). - -

    - -The updated HelpFile (accessible through h command) -marks unsupported features present in GF 1.2 with *. -They will be supported again if interested users appear. - -

    - -GF1 grammars can be automatically translated to GF2 (although the -result is not as good -as manual, since indentation and comments are destroyed). The results can be -saved in GF2 files, but this is not necessary. -Some rarely used GF1 features are no longer supported (see next section). - -

    - -It is also possible to write a GF2 grammar back to GF1, with the -command pg -printer=old. - - - - -Resource libraries -and some example grammars and have been -converted. Most old example grammars work without any changes. -There is a new resource API with -many new constructions. - -

    - -A make facility works, finding out which modules have to be recompiled. - -

    - -Soundness checking of module depencencies and completeness is not -complete. This means that some errors may show up too late. - -

    - -The environment variable GF_LIB_PATH needs some more work. - -

    - -Latex and XML printing of grammars do not work yet. - - - - - -

    How to use GF 1.* files

    - -Backward compatibility with respect to old GF grammars has been -a central goal. All GF grammars, from version 0.9, should work in -the old way in GF2. The main exceptions are some features that -are rarely used. -
      -
    • The package system introduced in GF 1.2, cannot be - interpreted in the module system of GF 2.0, since packages are in - mutual scope with the top level. -
    • tokenizer pragmas are cannot be parsed any more. In GF - 1.2, they are already replaced by lexer flags. -
    • var pragmas cannot be parsed any more. -
    - -

    - -Very old GF grammars (from versions before 0.9), with the completely -different notation, do not work. They should be first converted to -GF1 by using GF version 1.2. - - - - - -The import command i can be given the option -old. E.g. -

    -  i -old tut1.Eng.g2
    -
    -But this is no more necessary: GF2 detects automatically if a grammar -is in the GF1 format. - -

    - -Importing a set of GF2 files generates, internally, three modules: -

    -  abstract tut1 = ...
    -  resource ResEng = ...
    -  concrete Eng of tut1 = open ResEng in ...
    -
    -(The names are different if the file name has fewer parts.) - - -

    - -The option -o causes GF2 to write these modules into files. - - - - -The flags -abs, -cnc, and -res can be used -to give custom names to the modules. In particular, it is good to use -the -abs flag to guarantee that the abstract syntax module -has the same name for all grammars in a multilingual environmens: -

    -  i -old -abs=Numerals hungarian.gf
    -  i -old -abs=Numerals tamil.gf
    -  i -old -abs=Numerals sanskrit.gf
    -
    - -

    - -The same flags as in the import command can be used when invoking -GF2 from the system shell. Many grammars can be imported on the same command -line, e.g. -

    -  % gf2 -old -abs=Tutorial tut1.Eng.gf tut1.Fin.gf tut1.Fra.gf
    -
    - -

    - -To write a GF2 grammar back to GF1 (as one big file), use the command -

    -  > pg -old
    -
    - - - - - - - -GF2 has more reserved words than GF 1.2. When old files are read, a preprocessor -replaces every identifier that has the shape of a new reserved word -with a variant where the last letter is replaced by Z, e.g. -instance is replaced by instancZ. This method is of course -unsafe and should be replaced by something better. - - - - - - -

    Abstract, concrete, and resource modules

    - -Judgement forms are sorted as follows: -
      -
    • abstract: - cat, fun, def, data, flags -
    • concrete: - lincat, cat, printname, flags -
    • resource: - param, oper, flags -
    • -
    - - - - -Example: -
    -  abstract Sums = {
    -    cat 
    -      Exp ;
    -    fun 
    -      One : Exp ;
    -      plus : Exp -> Exp -> Exp ;
    -  }
    -
    -  concrete EnglishSums of Sums = open ResEng in {
    -    lincat 
    -      Exp = {s : Str ; n : Number} ;
    -    lin
    -      One = expSg "one" ;
    -      sum x y = expSg ("the" ++ "sum" ++ "of" ++ x.s ++ "and" ++ y.s) ;
    -  }
    -
    -  resource ResEng = {
    -    param 
    -      Number = Sg | Pl ;
    -    oper 
    -      expSG : Str -> {s : Str ; n : Number} = \s -> {s = s ; n = Sg} ;
    -  }
    -
    - - - - - -

    Opening and extending modules

    - -A concrete or resource can open a -resource. This means that -
      -
    • the names defined in resource can be used ("become visible") -
    • but: these names are not included in ("exported from") the opening module -
    -A module of any type can moreover extend a module of the same type. -This means that -
      -
    • the names defined in the extended module can be used ("become visible") -
    • and also: these names are included in ("exported from") the extending module -
    -Examples of extension: -
    -  abstract Products = Sums ** {
    -    fun times : Exp -> Exp -> Exp ;
    -  }
    -  -- names exported: Exp, plus, times
    -
    -  concrete English of Products = EnglishSums ** open ResEng in {
    -    lin times x y = expSg ("the" ++ "product" ++ "of" ++ x.s ++ "and" ++ y.s) ;
    -  }
    -
    -Another important difference: -
  • extension is single -
  • opening can be multiple: open Foo, Bar, Baz in {...} - - - -Moreover: -
  • opening can be qualified -

    -Example of qualified opening: -

    -  concrete NumberSystems of Systems = open (Bin = Binary), (Dec = Decimal) in {
    -    lin 
    -      BZero = Bin.Zero ;
    -      DZero = Dec.Zero
    -  }
    -
    - - - - -

    Compiling modules

    - -Separate compilation assumes there is one module per file. - -

    - -The module header is the beginning of the module code up to the -first left bracket ({). The header gives -

      -
    • the module type: abstract, concrete (of A), - or resource -
    • the name of the module (next to the module type keyword) -
    • the name of extended module (between = and **) -
    • the names of opened modules -
    - - - - -filename = modulename . extension - -

    - -File name extensions: -

      -
    • gf: GF source file (uses GF syntax, is type checked and compiled) -
    • gfc: canonical GF file (uses GFC syntax, is simply read -in instead of compiled; produced from all kinds of modules) -
    • gfr: GF resource file (uses GF syntax, is only read in; produced from -resource modules) -
    • gfcm: canonical multilingual GF file -(uses GFC syntax, is only read in; produced -from a set of abstract and conctrete modules) -
    -Only gf files should ever be written/edited manually! - - - - - - -What the make facility does when compiling Foo.gf -
      -
    1. read the module header of Foo.gf, and recursively all headers from -the modules it depends on (i.e. extends or opens) -
    2. build a dependency graph of these modules, and do topological sorting -
    3. starting from the first module in topological order, -compare the modification times of each gf and gfc file: -
        -
      • if gf is later, compile the module and all modules depending on it -
      • if gfc is later, just read in the module -
      -
    -Inside the GF shell, also time stamps of modules read into memory are -taken into account. Thus a module need not be read from a file if the -module is in the memory and the file has not been modified. - - - - -If the compilation of a grammar fails at some module, the state of the -GF shell contains all modules read up to that point. This makes it -faster to compile the faulty module again after fixing it. - -

    - -Use the command po = print_options to see what -modules are in the state. - -

    - -To force compilation: -

      -
    • The flag -src in the import command forces compilation from - source even if more recent object files exist. This is useful - when testing new versions of GF. -
    • The flag -retain in the import command forces reading in - gfr files in addition to gfc files. This is useful - when testing operations with the cc command. -
    - - - -

    Module search paths

    - -Modules can reside in different directories. Use the path -flag to extend the directory search path. For instance, -
    -  -path=.:../resource/russian:../prelude
    -
    -enables files to be found in three different directories. -By default, only the current directory is included. -If a path flag is given, the current directory -. must be explicitly included if it is wanted. - -

    - -The path flag can be set in any of the following -places: -

      -
    • when invoking GF: gf -path=xxx -
    • when importing a module: i -path=xxx Foo.gf -
    • as a pragma in a topmost file: --# -path=xxx -
    -A flag set on a command line overrides ones set in files. - -

    - -The value of the environment variable GF_LIB_PATH is -appended to the user-given path. - - - - -

    To do

    - -Testing - -

    - -Documentation - -

    - -Packaging - - - - - -

    Nasty details

    - - -
  • Readline in Solaris - -
  • Proper treatment file search paths - -
  • Unicode fonts in GUIs - -
  • directionality of Semitic alphabets - - - - - diff --git a/doc/resource-preamble b/doc/resource-preamble deleted file mode 100644 index ac3185f42..000000000 --- a/doc/resource-preamble +++ /dev/null @@ -1,7 +0,0 @@ -\documentclass[11pt,a4paper]{article} - -\usepackage[T2A,OT1]{fontenc} -\usepackage[ot2enc]{inputenc} -\usepackage[russian,german,french,english]{babel} -\usepackage{isolatin1} % user defined package - diff --git a/doc/resource-synopsis.txt b/doc/resource-synopsis.txt deleted file mode 100644 index 383c8804b..000000000 --- a/doc/resource-synopsis.txt +++ /dev/null @@ -1,893 +0,0 @@ -==GF Resource Grammar Library: Synopsis== - - -==Syntax== - -[source ../api/Constructors.gf] - - -|| Function | Type | Example || -| ``mkText`` | ``Phr -> Text`` | //But John walks.// | -| ``mkText`` | ``Phr -> (Punct) -> (Text) -> Text`` | //John walks? Yes.// | -| ``mkText`` | ``Utt -> Text`` | //John.// | -| ``mkText`` | ``S -> Text`` | //John walked.// | -| ``mkText`` | ``Cl -> Text`` | //John walks.// | -| ``mkText`` | ``QS -> Text`` | //Did John walk?// | -| ``mkText`` | ``Imp -> Text`` | //Walk!// | -| ``emptyText`` | ``Text`` | //(empty text)// | -| ``fullStopPunct`` | ``Punct`` | //.// | -| ``questMarkPunct`` | ``Punct`` | //?// | -| ``exclMarkPunct`` | ``Punct`` | //!// | -| ``mkPhr`` | ``Utt -> Phr`` | //why// | -| ``mkPhr`` | ``(PConj) -> Utt -> (Voc) -> Phr`` | //but why John// | -| ``mkPhr`` | ``S -> Phr`` | //John walked// | -| ``mkPhr`` | ``Cl -> Phr`` | //John walks// | -| ``mkPhr`` | ``QS -> Phr`` | //did John walk// | -| ``mkPhr`` | ``Imp -> Phr`` | //walk// | -| ``mkPConj`` | ``Conj -> PConj`` | //and// | -| ``mkVoc`` | ``NP -> Voc`` | //John// | -| ``mkUtt`` | ``S -> Utt`` | //John walked// | -| ``mkUtt`` | ``Cl -> Utt`` | //John walks// | -| ``mkUtt`` | ``QS -> Utt`` | //did John walk// | -| ``mkUtt`` | ``Imp -> Utt`` | //love yourself// | -| ``mkUtt`` | ``(ImpForm) -> (Pol) -> Imp -> Utt`` | //don't love yourselves// | -| ``mkUtt`` | ``IP -> Utt`` | //who// | -| ``mkUtt`` | ``IAdv -> Utt`` | //why// | -| ``mkUtt`` | ``NP -> Utt`` | //John// | -| ``mkUtt`` | ``Adv -> Utt`` | //here// | -| ``mkUtt`` | ``VP -> Utt`` | //to walk// | -| ``lets_Utt`` | ``VP -> Utt`` | //let's walk// | -| ``positivePol`` | ``Pol`` | //(John walks) [default]// | -| ``negativePol`` | ``Pol`` | //(John doesn't walk)// | -| ``simultaneousAnt`` | ``Ant`` | //(John walks) [default]// | -| ``anteriorAnt`` | ``Ant`` | //(John has walked) --# notpresent// | -| ``presentTense`` | ``Tense`` | //(John walks) [default]// | -| ``pastTense`` | ``Tense`` | //(John walked) --# notpresent// | -| ``futureTense`` | ``Tense`` | //(John will walk) --# notpresent// | -| ``conditionalTense`` | ``Tense`` | //(John would walk) --# notpresent// | -| ``singularImpForm`` | ``ImpForm`` | //(help yourself) [default]// | -| ``pluralImpForm`` | ``ImpForm`` | //(help yourselves)// | -| ``politeImpForm`` | ``ImpForm`` | //(help yourself) (polite singular)// | -| ``mkS`` | ``Cl -> S`` | //John walks// | -| ``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`` | ``DConj -> S -> S -> S`` | //either John walk or I run// | -| ``mkS`` | ``DConj -> ListS -> S`` | //either John walks, I run or you sleep// | -| ``mkS`` | ``Adv -> S -> S`` | //today, John 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 it is good// | -| ``mkCl`` | ``NP -> VQ -> QS -> Cl`` | //John wonders if it is good// | -| ``mkCl`` | ``NP -> VA -> AP -> Cl`` | //John becomes old// | -| ``mkCl`` | ``NP -> V2A ->NP -> AP -> Cl`` | //John paints it red// | -| ``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 -> N -> Cl`` | //John is a man// | -| ``mkCl`` | ``NP -> CN -> Cl`` | //John is an old man// | -| ``mkCl`` | ``NP -> NP -> Cl`` | //John is the man// | -| ``mkCl`` | ``NP -> Adv -> Cl`` | //John is here// | -| ``mkCl`` | ``NP -> VP -> Cl`` | //John walks here// | -| ``mkCl`` | ``V -> Cl`` | //it rains// | -| ``mkCl`` | ``VP -> Cl`` | //it is raining// | -| ``mkCl`` | ``N -> Cl`` | //there is a house// | -| ``mkCl`` | ``CN -> Cl`` | //there is an old houses// | -| ``mkCl`` | ``NP -> Cl`` | //there are five houses// | -| ``mkCl`` | ``NP -> RS -> Cl`` | //it is John that walks// | -| ``mkCl`` | ``Adv -> S -> Cl`` | //it is here John walks// | -| ``genericCl`` | ``VP -> Cl`` | //one walks// | -| ``mkVP`` | ``V -> VP`` | //walk// | -| ``mkVP`` | ``V2 -> NP -> VP`` | //love her// | -| ``mkVP`` | ``V3 -> NP -> NP -> VP`` | //send it to her// | -| ``mkVP`` | ``VV -> VP -> VP`` | //want to walk// | -| ``mkVP`` | ``VS -> S -> VP`` | //know that she walks// | -| ``mkVP`` | ``VQ -> QS -> VP`` | //ask if she walks// | -| ``mkVP`` | ``VA -> AP -> VP`` | //become old// | -| ``mkVP`` | ``V2A -> NP -> AP -> VP`` | //paint it red// | -| ``mkVP`` | ``A -> VP`` | //be warm// | -| ``mkVP`` | ``AP -> VP`` | //be very warm// | -| ``mkVP`` | ``A -> NP -> VP`` | //be older than her// | -| ``mkVP`` | ``A2 -> NP -> VP`` | //be married to her// | -| ``mkVP`` | ``N -> VP`` | //be a man// | -| ``mkVP`` | ``CN -> VP`` | //be an old man// | -| ``mkVP`` | ``NP -> VP`` | //be the man// | -| ``mkVP`` | ``Adv -> VP`` | //be here// | -| ``mkVP`` | ``VP -> Adv -> VP`` | //sleep here// | -| ``mkVP`` | ``AdV -> VP -> VP`` | //always sleep// | -| ``reflexiveVP`` | ``V2 -> VP`` | //love itself// | -| ``passiveVP`` | ``V2 -> VP`` | //be loved// | -| ``passiveVP`` | ``V2 -> NP -> VP`` | //be loved by her// | -| ``progressiveVP`` | ``VP -> VP`` | //be sleeping// | -| ``mkImp`` | ``V -> Imp`` | //go// | -| ``mkImp`` | ``V2 -> NP -> Imp`` | //take it// | -| ``mkImp`` | ``VP -> Imp`` | //go there now// | -| ``mkNP`` | ``Det -> N -> NP`` | //the first man// | -| ``mkNP`` | ``Det -> CN -> NP`` | //the first old man// | -| ``mkNP`` | ``QuantSg -> N -> NP`` | //this man// | -| ``mkNP`` | ``QuantSg -> CN -> NP`` | //this old man// | -| ``mkNP`` | ``QuantPl -> N -> NP`` | //these men// | -| ``mkNP`` | ``QuantPl -> CN -> NP`` | //these old men// | -| ``mkNP`` | ``Numeral -> N -> NP`` | //twenty men// | -| ``mkNP`` | ``Numeral -> CN -> NP`` | //twenty old men// | -| ``mkNP`` | ``Int -> N -> NP`` | //45 men// | -| ``mkNP`` | ``Int -> CN -> NP`` | //45 old men// | -| ``mkNP`` | ``Num -> N -> NP`` | //almost twenty men// | -| ``mkNP`` | ``Num -> CN -> NP`` | //almost twenty old men// | -| ``mkNP`` | ``Pron -> N -> NP`` | //my man// | -| ``mkNP`` | ``Pron -> CN -> NP;`` | //my old man// | -| ``mkNP`` | ``PN -> NP`` | //John// | -| ``mkNP`` | ``Pron -> NP`` | //he// | -| ``mkNP`` | ``Predet -> NP -> NP`` | //only John// | -| ``mkNP`` | ``NP -> V2 -> NP`` | //John killed// | -| ``mkNP`` | ``NP -> Adv -> NP`` | //John in Paris// | -| ``mkNP`` | ``Conj -> NP -> NP -> NP`` | //John and I// | -| ``mkNP`` | ``Conj -> ListNP -> NP`` | //John, I, and that// | -| ``mkNP`` | ``DConj -> NP -> NP -> NP`` | //either John or I// | -| ``mkNP`` | ``DConj -> ListNP -> NP`` | //either John, I, or that// | -| ``mkDet`` | ``QuantSg -> Det`` | //this// | -| ``mkDet`` | ``QuantSg -> (Ord) -> Det`` | //this first// | -| ``mkDet`` | ``QuantPl -> Det`` | //these// | -| ``mkDet`` | ``QuantPl -> (Num) -> (Ord) -> Det`` | //these five best// | -| ``mkDet`` | ``Quant -> Det`` | //this// | -| ``mkDet`` | ``Quant -> Num -> Det`` | //these five// | -| ``mkDet`` | ``Num -> Det`` | //almost twenty// | -| ``mkDet`` | ``Numeral -> Det`` | //five// | -| ``mkDet`` | ``Int -> Det`` | //51// | -| ``mkDet`` | ``Pron -> Det`` | //my// | -| ``defSgDet`` | ``Det`` | //the (house)// | -| ``defPlDet`` | ``Det`` | //the (houses)// | -| ``indefSgDet`` | ``Det`` | //a (house)// | -| ``indefPlDet`` | ``Det`` | //(houses)// | -| ``defQuant`` | ``Quant`` | //the// | -| ``indefQuant`` | ``Quant`` | //a// | -| ``mkQuantSg`` | ``Quant -> QuantSg`` | //this// | -| ``massQuant`` | ``QuantSg`` | //(mass terms)// | -| ``mkQuantPl`` | ``Quant -> QuantPl`` | //these// | -| ``mkNum`` | ``Numeral -> Num`` | //twenty// | -| ``mkNum`` | ``Int -> Num`` | //51// | -| ``mkNum`` | ``AdN -> Num -> Num`` | //almost ten// | -| ``mkOrd`` | ``Numeral -> Ord`` | //twentieth// | -| ``mkOrd`` | ``Int -> Ord`` | //51st// | -| ``mkOrd`` | ``A -> Ord`` | //best// | -| ``mkAdN`` | ``CAdv -> AdN`` | //more than// | -| ``n1_Numeral`` | ``Numeral`` | //one// | -| ``n2_Numeral`` | ``Numeral`` | //two// | -| ``n3_Numeral`` | ``Numeral`` | //three// | -| ``n4_Numeral`` | ``Numeral`` | //four// | -| ``n5_Numeral`` | ``Numeral`` | //five// | -| ``n6_Numeral`` | ``Numeral`` | //six// | -| ``n7_Numeral`` | ``Numeral`` | //seven// | -| ``n8_Numeral`` | ``Numeral`` | //eight// | -| ``n9_Numeral`` | ``Numeral`` | //nine// | -| ``n10_Numeral`` | ``Numeral`` | //ten// | -| ``n20_Numeral`` | ``Numeral`` | //twenty// | -| ``n100_Numeral`` | ``Numeral`` | //hundred// | -| ``n1000_Numeral`` | ``Numeral`` | //thousand// | -| ``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`` | //son// | -| ``mkCN`` | ``N3 -> CN`` | //flight// | -| ``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 loves// | -| ``mkCN`` | ``CN -> RS -> CN`` | //big house that John loves// | -| ``mkCN`` | ``N -> Adv -> CN`` | //house in the city// | -| ``mkCN`` | ``CN -> Adv -> CN`` | //big house in the city// | -| ``mkCN`` | ``CN -> S -> CN`` | //rule that John walks// | -| ``mkCN`` | ``CN -> QS -> CN`` | //question if John walks// | -| ``mkCN`` | ``CN -> VP -> CN`` | //reason to walk// | -| ``mkCN`` | ``N -> NP -> CN`` | //king John// | -| ``mkCN`` | ``CN -> NP -> CN`` | //old king John// | -| ``mkAP`` | ``A -> AP`` | //old// | -| ``mkAP`` | ``A -> NP -> AP`` | //older than John// | -| ``mkAP`` | ``A2 -> NP -> AP`` | //married to her// | -| ``mkAP`` | ``A2 -> AP`` | //married to myself// | -| ``mkAP`` | ``AP -> S -> AP`` | //probable that John walks// | -| ``mkAP`` | ``AP -> QS -> AP`` | //uncertain if John walks// | -| ``mkAP`` | ``AP -> VP -> 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`` | ``DConj -> AP -> AP -> AP`` | //either old or big// | -| ``mkAP`` | ``DConj -> ListAP -> AP`` | //either old, big, or warm// | -| ``mkAdv`` | ``A -> Adv`` | //warmly// | -| ``mkAdv`` | ``Prep -> NP -> Adv`` | //with John// | -| ``mkAdv`` | ``Subj -> S -> Adv`` | //when John walks// | -| ``mkAdv`` | ``CAdv -> A -> NP -> Adv`` | //more warmly than John// | -| ``mkAdv`` | ``CAdv -> A -> S -> Adv`` | //more warmly than John walks// | -| ``mkAdv`` | ``AdA -> Adv -> Adv`` | //very warmly// | -| ``mkAdv`` | ``Conj -> Adv -> Adv -> Adv`` | //here and now// | -| ``mkAdv`` | ``Conj -> ListAdv -> Adv`` | //with John, here and now// | -| ``mkAdv`` | ``DConj -> Adv -> Adv -> Adv`` | //either here or now// | -| ``mkAdv`` | ``DConj -> ListAdv -> Adv`` | //either here, now, or with John// | -| ``mkQS`` | ``QCl -> QS`` | //who walks// | -| ``mkQS`` | ``(Tense) -> (Ant) -> (Pol) -> QCl -> QS`` | //who wouldn't have walked// | -| ``mkQS`` | ``Cl -> QS`` | //does John walk// | -| ``mkQCl`` | ``Cl -> QCl`` | //does John walk// | -| ``mkQCl`` | ``IP -> VP -> QCl`` | //who walks// | -| ``mkQCl`` | ``IP -> NP -> V2 -> QCl`` | //whom does John love// | -| ``mkQCl`` | ``IP -> Slash -> QCl`` | //whom does John love today// | -| ``mkQCl`` | ``IAdv -> Cl -> QCl`` | //why does John walk// | -| ``mkQCl`` | ``Prep -> IP -> Cl -> QCl`` | //with who does John walk// | -| ``mkQCl`` | ``IAdv -> NP -> QCl`` | //where is John// | -| ``mkQCl`` | ``IP -> QCl`` | //what is there// | -| ``mkIP`` | ``IDet -> N -> IP`` | //which city// | -| ``mkIP`` | ``IDet -> (Num) -> (Ord) -> CN -> IP`` | //which five best cities// | -| ``mkIP`` | ``IP -> Adv -> IP`` | //who in Paris// | -| ``mkIAdv`` | ``Prep -> IP -> IAdv`` | //in which city// | -| ``mkRS`` | ``RCl -> RS`` | //that walk// | -| ``mkRS`` | ``(Tense) -> (Ant) -> (Pol) -> RCl -> RS`` | //that wouldn't have walked// | -| ``mkRCl`` | ``RP -> VP -> RCl`` | //that walk// | -| ``mkRCl`` | ``RP -> NP -> V2 -> RCl`` | //which John loves// | -| ``mkRCl`` | ``RP -> Slash -> RCl`` | //which John loves today// | -| ``mkRCl`` | ``Cl -> RCl`` | //such that John loves her// | -| ``which_RP`` | ``RP`` | //which// | -| ``mkRP`` | ``Prep -> NP -> RP -> RP`` | //all the houses in which// | -| ``mkSlash`` | ``NP -> V2 -> Slash`` | //(whom) John loves// | -| ``mkSlash`` | ``NP -> VV -> V2 -> Slash`` | //(whom) John wants to see// | -| ``mkSlash`` | ``Cl -> Prep -> Slash`` | //(with whom) John walks// | -| ``mkSlash`` | ``Slash -> Adv -> Slash`` | //(whom) John loves today// | -| ``mkListS`` | ``S -> S -> ListS`` | //he walks, I run// | -| ``mkListS`` | ``S -> ListS -> ListS`` | //John walks, I run, you sleep// | -| ``mkListAdv`` | ``Adv -> Adv -> ListAdv`` | //here, now// | -| ``mkListAdv`` | ``Adv -> ListAdv -> ListAdv`` | //to me, here, now// | -| ``mkListAP`` | ``AP -> AP -> ListAP`` | //old, big// | -| ``mkListAP`` | ``AP -> ListAP -> ListAP`` | //old, big, warm// | -| ``mkListNP`` | ``NP -> NP -> ListNP`` | //John, I// | -| ``mkListNP`` | ``NP -> ListNP -> ListNP`` | //John, I, that// | - - -==Paradigms for Danish== - - -[source ../danish/ParadigmsDan.gf] - - - - -|| Function | Type | Example || -| ``Gender`` | ``Type`` | - | -| ``utrum`` | ``Gender`` | - | -| ``neutrum`` | ``Gender`` | - | -| ``Number`` | ``Type`` | - | -| ``singular`` | ``Number`` | - | -| ``plural`` | ``Number`` | - | -| ``Case`` | ``Type`` | - | -| ``nominative`` | ``Case`` | - | -| ``genitive`` | ``Case`` | - | -| ``mkPrep`` | ``Str -> Prep`` | - | -| ``noPrep`` | ``Prep`` | //empty string// | -| ``mkN`` | ``(dreng,drengen,drenge,drengene : Str) -> N`` | - | -| ``regN`` | ``Str -> N`` | - | -| ``regGenN`` | ``Str -> Gender -> N`` | - | -| ``mk2N`` | ``(bil,bilen : Str) -> N`` | - | -| ``mk3N`` | ``(bil,bilen,biler : Str) -> N`` | - | -| ``mkN2`` | ``N -> Prep -> N2`` | - | -| ``regN2`` | ``Str -> Gender -> N2`` | - | -| ``mkN3`` | ``N -> Prep -> Prep -> N3`` | - | -| ``mkPN`` | ``Str -> Gender -> PN`` | //Paris neutrum// | -| ``regPN`` | ``Str -> PN`` | //utrum gender// | -| ``nounPN`` | ``N -> PN`` | - | -| ``mkNP`` | ``Str -> Str -> Number -> Gender -> NP`` | - | -| ``mkA`` | ``(galen,galet,galne : Str) -> A`` | - | -| ``regA`` | ``Str -> A`` | - | -| ``mk2A`` | ``(stor,stort : Str) -> A`` | - | -| ``mkA2`` | ``A -> Prep -> A2`` | - | -| ``mkADeg`` | ``(stor,stort,store,storre,storst : Str) -> A`` | - | -| ``regADeg`` | ``Str -> A`` | - | -| ``irregADeg`` | ``(tung,tyngre,tyngst : Str) -> A`` | - | -| ``mk3ADeg`` | ``(galen,galet,galna : Str) -> A`` | - | -| ``mk2ADeg`` | ``(bred,bredt : Str) -> A`` | - | -| ``compoundA`` | ``A -> A`` | //-/mer/mest norsk// | -| ``mkAdv`` | ``Str -> Adv`` | - | -| ``mkAdV`` | ``Str -> AdV`` | - | -| ``mkAdA`` | ``Str -> AdA`` | - | -| ``mkV`` | ``(spise,spiser,spises,spiste,spist,spis : Str) -> V`` | - | -| ``regV`` | ``(snakke : Str) -> V`` | - | -| ``mk2V`` | ``(leve,levde : Str) -> V`` | - | -| ``irregV`` | ``(drikke, drak, drukket : Str) -> V`` | - | -| ``vaereV`` | ``V -> V`` | - | -| ``partV`` | ``V -> Str -> V`` | - | -| ``depV`` | ``V -> V`` | - | -| ``reflV`` | ``V -> V`` | - | -| ``mkV2`` | ``V -> Prep -> V2`` | - | -| ``dirV2`` | ``V -> V2`` | - | -| ``mkV3`` | ``V -> Prep -> Prep -> V3`` | //snakke, med, om// | -| ``dirV3`` | ``V -> Prep -> V3`` | //give,_,til// | -| ``dirdirV3`` | ``V -> V3`` | //give,_,_// | -| ``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`` | - | - - -==Paradigms for English== - - -[source ../english/ParadigmsEng.gf] - - - - -|| Function | Type | Example || -| ``Gender`` | ``Type`` | - | -| ``human`` | ``Gender`` | - | -| ``nonhuman`` | ``Gender`` | - | -| ``masculine`` | ``Gender`` | - | -| ``Number`` | ``Type`` | - | -| ``singular`` | ``Number`` | - | -| ``plural`` | ``Number`` | - | -| ``Case`` | ``Type`` | - | -| ``nominative`` | ``Case`` | - | -| ``genitive`` | ``Case`` | - | -| ``mkN`` | ``(flash : Str) -> N`` | - | -| ``mkN`` | ``(man,men : Str) -> N`` | - | -| ``mkN`` | ``(man,men,man's,men's : Str) -> N`` | - | -| ``mkN`` | ``Str -> N -> N`` | - | -| ``mkN2`` | ``N -> Prep -> N2`` | - | -| ``regN2`` | ``Str -> N2`` | - | -| ``mkN3`` | ``N -> Prep -> Prep -> N3`` | - | -| ``mkPN`` | ``Str -> PN`` | - | -| ``mkPN`` | ``N -> PN`` | - | -| ``mkA`` | ``(happy : Str) -> A`` | - | -| ``mkA`` | ``(fat,fatter : Str) -> A`` | - | -| ``mkA`` | ``(good,better,best,well : Str) -> A`` | - | -| ``compoundA`` | ``A -> A`` | //-/more/most ridiculous// | -| ``mkA2`` | ``A -> Prep -> A2`` | - | -| ``mkAdv`` | ``Str -> Adv`` | - | -| ``mkAdV`` | ``Str -> AdV`` | - | -| ``mkAdA`` | ``Str -> AdA`` | - | -| ``mkPrep`` | ``Str -> Prep`` | - | -| ``noPrep`` | ``Prep`` | - | -| ``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`` | - | -| ``partV`` | ``V -> Str -> V`` | - | -| ``reflV`` | ``V -> V`` | - | -| ``mkV2`` | ``V -> Prep -> V2`` | //believe in// | -| ``mkV2`` | ``V -> V2`` | //kill// | -| ``mkV3`` | ``V -> Prep -> Prep -> V3`` | //speak, with, about// | -| ``dirV3`` | ``V -> Prep -> V3`` | //give,_,to// | -| ``dirdirV3`` | ``V -> V3`` | //give,_,_// | -| ``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`` | - | - - -==Paradigms for Finnish== - - -[source ../finnish/ParadigmsFin.gf] - - - - -|| Function | Type | Example || -| ``Number`` | ``Type`` | - | -| ``singular`` | ``Number`` | - | -| ``plural`` | ``Number`` | - | -| ``Case`` | ``Type`` | - | -| ``nominative`` | ``Case`` | - | -| ``genitive`` | ``Case`` | - | -| ``partitive`` | ``Case`` | - | -| ``translative`` | ``Case`` | - | -| ``inessive`` | ``Case`` | - | -| ``elative`` | ``Case`` | - | -| ``illative`` | ``Case`` | - | -| ``adessive`` | ``Case`` | - | -| ``ablative`` | ``Case`` | - | -| ``allative`` | ``Case`` | - | -| ``prePrep`` | ``Case -> Str -> Prep`` | //ilman, partitive// | -| ``postPrep`` | ``Case -> Str -> Prep`` | //takana, genitive// | -| ``postGenPrep`` | ``Str -> Prep`` | //takana// | -| ``casePrep`` | ``Case -> Prep`` | //adessive// | -| ``mkN`` | ``(talo : Str) -> N`` | - | -| ``mkN`` | ``(savi,savia : Str) -> N`` | - | -| ``mkN`` | ``(vesi,veden,vesiä : Str) -> N`` | - | -| ``mkN`` | ``(olo,oln,olona,oloa,oloon,oloina,oloissa,olojen,oloja,oloihin : Str) -> N`` | - | -| ``sgpartN`` | ``(meri : N) -> (merta : Str) -> N`` | - | -| ``nMeri`` | ``(meri : Str) -> N`` | - | -| ``nKukko`` | ``(kukko,kukon,kukkoja : Str) -> N`` | - | -| ``nTalo`` | ``(talo : Str) -> N`` | - | -| ``nLukko`` | ``(lukko : Str) -> N`` | - | -| ``nArpi`` | ``(arpi : Str) -> N`` | - | -| ``nSylki`` | ``(sylki : Str) -> N`` | - | -| ``nLinux`` | ``(linuxia : Str) -> N`` | - | -| ``nPeruna`` | ``(peruna : Str) -> N`` | - | -| ``nRae`` | ``(rae, rakeena : Str) -> N`` | - | -| ``nSusi`` | ``(susi,suden,sutta : Str) -> N`` | - | -| ``nPuu`` | ``(puu : Str) -> N`` | - | -| ``nSuo`` | ``(suo : Str) -> N`` | - | -| ``nNainen`` | ``(naista : Str) -> N`` | - | -| ``nTilaus`` | ``(tilaus,tilauksena : Str) -> N`` | - | -| ``nKulaus`` | ``(kulaus : Str) -> N`` | - | -| ``nNauris`` | ``(naurista : Str) -> N`` | - | -| ``compN`` | ``Str -> 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 -> (kivempaa,kivinta : Str) -> A`` | - | -| ``mkA2`` | ``A -> Prep -> A2`` | - | -| ``mkV`` | ``(soutaa : Str) -> V`` | - | -| ``mkV`` | ``(soutaa,souti : Str) -> V`` | - | -| ``mkV`` | ``(soutaa,soudan,souti : Str) -> V`` | - | -| ``mkV`` | ``(tulla,tulee,tulen,tulevat,tulkaa,tullaan,tuli,tulin,tulisi,tullut,tultu,tullun : Str) -> V`` | - | -| ``mkV`` | ``V -> Case -> V`` | - | -| ``vValua`` | ``(valua : Str) -> V`` | - | -| ``vKattaa`` | ``(kattaa, katan : Str) -> V`` | - | -| ``vOstaa`` | ``(ostaa : Str) -> V`` | - | -| ``vNousta`` | ``(nousta, nousen : Str) -> V`` | - | -| ``vTuoda`` | ``(tuoda : Str) -> V`` | - | -| ``caseV`` | ``Case -> V -> V`` | - | -| ``vOlla`` | ``V`` | - | -| ``mkV2`` | ``V -> Prep -> V2`` | - | -| ``caseV2`` | ``V -> Case -> V2`` | - | -| ``dirV2`` | ``V -> V2`` | - | -| ``mkV3`` | ``V -> Prep -> Prep -> V3`` | //puhua, allative, elative// | -| ``dirV3`` | ``V -> Case -> V3`` | //siirtää, (accusative), illative// | -| ``dirdirV3`` | ``V -> V3`` | //antaa, (accusative), (allative)// | -| ``mkV0`` | ``V -> V0`` | - | -| ``mkVS`` | ``V -> VS`` | - | -| ``mkV2S`` | ``V -> Prep -> V2S`` | - | -| ``mkVV`` | ``V -> VV`` | - | -| ``mkV2V`` | ``V -> Prep -> 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`` | - | - - -==Paradigms for French== - - -[source ../french/ParadigmsFre.gf] - - - - -|| Function | Type | Example || -| ``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`` | ``V -> V2 = dirV2`` | - | -| ``mkV2`` | ``V -> Prep -> V2 = mmkV2`` | - | -| ``mkV3`` | ``V -> V3`` | //donner,_,_// | -| ``mkV3`` | ``V -> Prep -> V3`` | //placer,_,dans// | -| ``mkV3`` | ``V -> Prep -> Prep -> V3`` | //parler, à, de// | -| ``mkV0`` | ``V -> V0`` | - | -| ``mkVS`` | ``V -> VS`` | - | -| ``mkV2S`` | ``V -> Prep -> V2S`` | - | -| ``mkVV`` | ``V -> VV`` | //plain infinitive: "je veux parler"// | -| ``deVV`` | ``V -> VV`` | //"j'essaie de parler"// | -| ``aVV`` | ``V -> VV`` | //"j'arrive à parler"// | -| ``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`` | - | - - -==Paradigms for German== - - -[source ../german/ParadigmsGer.gf] - - - - -|| Function | Type | Example || -| ``Gender`` | ``Type`` | - | -| ``masculine`` | ``Gender`` | - | -| ``feminine`` | ``Gender`` | - | -| ``neuter`` | ``Gender`` | - | -| ``Case`` | ``Type`` | - | -| ``nominative`` | ``Case`` | - | -| ``accusative`` | ``Case`` | - | -| ``dative`` | ``Case`` | - | -| ``genitive`` | ``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`` | //gut,besser,beste// | -| ``invarA`` | ``Str -> A`` | //prima// | -| ``mkA2`` | ``A -> Prep -> A2`` | - | -| ``mkAdv`` | ``Str -> Adv`` | - | -| ``mkPrep`` | ``Str -> Case -> Prep`` | - | -| ``accPrep`` | ``Prep`` | - | -| ``datPrep`` | ``Prep`` | - | -| ``genPrep`` | ``Prep`` | - | -| ``von_Prep`` | ``Prep`` | - | -| ``zu_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`` | - | -| ``seinV`` | ``V -> V`` | - | -| ``habenV`` | ``V -> V`` | - | -| ``reflV`` | ``V -> Case -> V`` | - | -| ``mkV2`` | ``V -> Prep -> V2`` | - | -| ``mkV2`` | ``V -> V2`` | - | -| ``mkV2`` | ``V -> Case -> V2`` | - | -| ``mkV3`` | ``V -> Prep -> Prep -> V3`` | //sprechen, mit, über// | -| ``dirV3`` | ``V -> Prep -> V3`` | //senden,(accusative),nach// | -| ``accdatV3`` | ``V -> V3`` | //give,accusative,dative// | -| ``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`` | - | - - -==Paradigms for Italian== - - -[source ../italian/ParadigmsIta.gf] - - - - -|| Function | Type | Example || -| ``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`` | //parlare, a, di// | -| ``dirV3`` | ``V -> Prep -> V3`` | //dare,_,a// | -| ``dirdirV3`` | ``V -> V3`` | //dare,_,_// | -| ``mkV0`` | ``V -> V0`` | - | -| ``mkVS`` | ``V -> VS`` | - | -| ``mkV2S`` | ``V -> Prep -> V2S`` | - | -| ``mkVV`` | ``V -> VV`` | //plain infinitive: "voglio parlare"// | -| ``deVV`` | ``V -> VV`` | //"cerco di parlare"// | -| ``aVV`` | ``V -> VV`` | //"arrivo a parlare"// | -| ``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`` | - | - - -==Paradigms for Norwegian== - - -[source ../norwegian/ParadigmsNor.gf] - - - - -|| Function | Type | Example || -| ``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`` | //empty string// | -| ``mkN`` | ``(dreng,drengen,drenger,drengene : Str) -> N`` | - | -| ``regN`` | ``Str -> N`` | - | -| ``regGenN`` | ``Str -> Gender -> N`` | - | -| ``mk2N`` | ``(bil,bilen : Str) -> N`` | - | -| ``mkN2`` | ``N -> Prep -> N2`` | - | -| ``regN2`` | ``Str -> Gender -> N2`` | - | -| ``mkN3`` | ``N -> Prep -> Prep -> N3`` | - | -| ``regPN`` | ``Str -> PN`` | //utrum// | -| ``regGenPN`` | ``Str -> Gender -> PN`` | - | -| ``nounPN`` | ``N -> PN`` | - | -| ``mkNP`` | ``Str -> Str -> Number -> Gender -> NP`` | - | -| ``mkA`` | ``(galen,galet,galne : Str) -> A`` | - | -| ``regA`` | ``Str -> A`` | - | -| ``mk2A`` | ``(stor,stort : Str) -> A`` | - | -| ``mkA2`` | ``A -> Prep -> A2`` | - | -| ``mkADeg`` | ``(stor,stort,store,storre,storst : Str) -> A`` | - | -| ``regADeg`` | ``Str -> A`` | - | -| ``irregADeg`` | ``(tung,tyngre,tyngst : Str) -> A`` | - | -| ``mk3ADeg`` | ``(galen,galet,galne : Str) -> A`` | - | -| ``mk2ADeg`` | ``(bred,bredt : Str) -> A`` | - | -| ``compoundA`` | ``A -> A`` | //-/mer/mest norsk// | -| ``mkAdv`` | ``Str -> Adv`` | //e.g. her// | -| ``mkAdV`` | ``Str -> AdV`` | //e.g. altid// | -| ``mkAdA`` | ``Str -> AdA`` | - | -| ``mkV`` | ``(spise,spiser,spises,spiste,spist,spis : Str) -> V`` | - | -| ``regV`` | ``(snakke : Str) -> V`` | - | -| ``mk2V`` | ``(leve,levde : Str) -> V`` | - | -| ``irregV`` | ``(drikke, drakk, drukket : Str) -> V`` | - | -| ``vaereV`` | ``V -> V`` | - | -| ``partV`` | ``V -> Str -> V`` | - | -| ``depV`` | ``V -> V`` | - | -| ``reflV`` | ``V -> V`` | - | -| ``mkV2`` | ``V -> Prep -> V2`` | - | -| ``dirV2`` | ``V -> V2`` | - | -| ``mkV3`` | ``V -> Prep -> Prep -> V3`` | //snakke, med, om// | -| ``dirV3`` | ``V -> Prep -> V3`` | //gi,_,til// | -| ``dirdirV3`` | ``V -> V3`` | //gi,_,_// | -| ``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`` | - | - - -==Paradigms for Russian== - - -[source ../russian/ParadigmsRus.gf] - -(To appear) - - -==Paradigms for Spanish== - - -[source ../spanish/ParadigmsSpa.gf] - - - - -|| Function | Type | Example || -| ``Gender`` | ``Type`` | - | -| ``masculine`` | ``Gender`` | - | -| ``feminine`` | ``Gender`` | - | -| ``Number`` | ``Type`` | - | -| ``singular`` | ``Number`` | - | -| ``plural`` | ``Number`` | - | -| ``Prep`` | ``Type`` | - | -| ``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,solamiento : 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`` | //hablar, a, di// | -| ``dirV3`` | ``V -> Prep -> V3`` | //dar,(accusative),a// | -| ``dirdirV3`` | ``V -> V3`` | //dar,(dative),(accusative)// | -| ``mkV0`` | ``V -> V0`` | - | -| ``mkVS`` | ``V -> VS`` | - | -| ``mkV2S`` | ``V -> Prep -> V2S`` | - | -| ``mkVV`` | ``V -> VV`` | //plain infinitive: "quiero hablar"// | -| ``deVV`` | ``V -> VV`` | //"terminar de hablar"// | -| ``aVV`` | ``V -> VV`` | //"aprender a hablar"// | -| ``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`` | - | - - -==Paradigms for Swedish== - - -[source ../swedish/ParadigmsSwe.gf] - - - - -|| Function | Type | Example || -| ``Gender`` | ``Type`` | - | -| ``utrum`` | ``Gender`` | - | -| ``neutrum`` | ``Gender`` | - | -| ``Number`` | ``Type`` | - | -| ``singular`` | ``Number`` | - | -| ``plural`` | ``Number`` | - | -| ``Case`` | ``Type`` | - | -| ``nominative`` | ``Case`` | - | -| ``genitive`` | ``Case`` | - | -| ``mkPrep`` | ``Str -> Prep`` | - | -| ``noPrep`` | ``Prep`` | //empty string// | -| ``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`` | //här// | -| ``mkAdV`` | ``Str -> AdV`` | //alltid// | -| ``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`` | ``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`` | - | - diff --git a/doc/resource.pdf b/doc/resource.pdf deleted file mode 100644 index 0efae7b5038b5502abbff73576fcca458c426f69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422166 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 #ImIM+`HxyI3%5E) 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%0A_-p}(FgI;Jo{T=Kj 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ⅈ-k@ri9$% zScXNPB1OttuFq-aKVA@VuCuhqmh~`ag8IIK39OTUEK*_nkRJJ5V##8AWwwHyeWC2S z3n#^iubI)sdFvKug63_0es;gl;%U*o62{F^H5scu?eL8W6bgDA z^686&kBinBhhi_20zclny=OeSF-)$ zI(46k)AfjpHnwZtWWT+n&r%s^rLObg zu8^L~H6?vX&n+@jcg2fFoLFiX9=Wb_$nrCkJ<=>;k7#YwYm!(Os)Z#iaLuolFx`1#M*r>hPPO6(t(R#_;{(A z??DaC9gk)j#f9*#pR5(IGDKWIX~%78F?MAi9Vh<;iAhGKY5`^oi_&kp7J0hs1UD-( zZawhX?(uGM5BFtp3ePf)L|?zpTpAo3ciaEAj$0F7+ombe9~y+demt7eJ!xN%+VhRQ zFU8u@KePl1uguH~OclvKF5>*Y`^TJAo%0Iezi!$3H40zp*J?apTT|&Mrqdy@Hf^qfsJg(COp`* z_+eOM-*uLQ_twVdEnc|?E zwSG6N_r9`|(Jy{|)t@UnC04FAPTh2%xk+r_V&BbuLa7^BW+&~h_c=NB=dPBXMKP!D z9eQgL|Hoj8aK*~bEZ$j3=hla8x8L3!*Y+=xpLt~i=Mi4D6YWp@yJ|LPRq?W~YbjVg zm%-{!Qes=(uKR|kY?avl>b+g@r{l>nYqpE$#ph&4#VmifS4>^?^z|24_OM;=|Dwfm z=+!#;vx(gw1W);kq zez0xz`POf{w#Nu}{K(I5$M#O*?(_=1k-Cb06yZ1ZO7y7OxBcee>^|I=?$n zeNL0Kzu$Lmg`1Ez z-|u(VHk-eHBc#|-eE86%yO$Tv$*akqE+%wMW%*~;P!8$G^WN-ty*}Qc2)ViM7qj2FmP=4GB;s`Z)w>UV zG5@I-*~n_jqG=m%kf!^Cq2}ZFbPi)#+pN=X3&Xd3V+>9(TPM#|J^j{N=_7_qU$%yB zUc0*f)Hyq0ku$SjB)s3I?7Xz=di54>E~kVY9NxXLMjjKN99ebqy>z+Q^A4lDL%*7> znFJRW^weDpbB#AG{eCWf_JN0stBX05CV%|vIu2J@WAz( z*#nyrRMSd6PU%%}KE?6PHt|o84Bt7im}&gan&W2_+1-lxX~Fn`W9pZsd+nI!D0yBg zoNo4h)AvNPEz1wiD!9-T)TlDy{Ej6Hs)Rf_mMjrCFSbkDzH7^}l%Qu_>8EO3INmD@ zzYO`=eRPU)neX1cMF$^u1TJ$w?cf{iez)1CO)Mn3XLUjHyUdT@k6o5Zis(M=8n^2f zYxb2D5h@26lVmSk+O_*9xA>r(Zy{}*_9W@S{p5n%DlR%)4Vw;DHRYXI{=zJ!>s`31VRzoro5nBhiTu6#oB!vy8jEkX*@4vhhGmyoRhUlk&S#tXTH=ZC<#*ohYkibX3ZI+4Z@T6> zSChX}p87US4N}{;jX!}|&tvD=Z_14Z7gY{@)XJ8Ukt%Jdoy^bsL_lhtWb`I;MMF+k zaY+Xi^VL>YmK;*rwNv-?rmvzLmz+L)Nf3U=5~jP5&qd@(r-4b@hKPFI@Y=5eJr3@j z_ojynwzMs0`lhoXA>cYojr8^N%Wl4%71CzN+8=5W+H^$u4SV?1rYwfVmzTIpOYfPUi#vDa>LaOwusC;@2+K1*dlI4C z{DM$&J4c6Zv;XglXMZUwcuc&~b*ikAaayAE9bV3)V`2@AON{=UVOqh`6wKGPjVHR( zuV`yt44Wofm!Gp&=>PCr$KE@gPHbD0`G5Yxc{vFjofdbe);Djv>3U%T%d%VNLkdb) zv0s&Pa`Q=AXdw2n<>e*jw(O}_iuhKCUJ1T1vm+@}=*E}0d}dB9Md2s=j&Nv{+D+{3 z%bTuIpw}aFW=_Go<7w|zxu;Z2($Uu6tHaB``C`$db=84~*BHD|z7WB$_)p<0d+1Ic zBmQ5`QGfp|bGhB|Z8PU{7e2Aw#~*2OE6xZpxp+9DU||`@nKfabdKT{bFSg)Y(%U_8 z=Bi)%kFo#%%9Owtv0Q!OcDb5g7v*YpJvg}J$D45eO0{+K^zCl6KUJu@{ zXM;1YF~lEhXYo^Uy5t!vqN;rJ?eTk;HMf8MdsHqXDCXCuxJqswofAhkDgWs^^KO^g z4c1!sIJd7CKI}=@<8mg($$Ea%>(V2CWLNIpIpbDw+PNj)w(0Uubl~Y%mEd?jDeFVD ztnFdhws#CnjOt%2JEpx|Cvx3z>dr)?z{n}f+$KthuRhPTwy4+L$hM`iiKAEQD3fO3 zlEjzVVH37r$o2f?XYfI}!DLqHoqJd6#2O!#|M)V!Sl8UV{e0V@i7$VyHcGYT`rx=BCDRm=G*IIShonwef9gb;TNwHTYP+1=)Ug{eSKQsQD$4CwX*E)eXMN`3#Uw- z_N{pxqsQ-e`aQLuUf=z*e&*lb@|=^*oUv4_pz0D-g&LY$n8GVoQ_$)jkSJ2cY6{xn zL9k-o8ga7dwi{?SN5z)aM?Svsj+xr5ZTDoFh1T4XMo$kHmnIViw@LM0KaYIL;dNlh z-1%k-UkGnnRaNERUDf+^G!nUA{lD}+tNi2BN2i-wxBl6DOV=(YcF*r4Q`%G?tw`=( zeY?A&Np}Y5_!R@t@hgwA%0H%+|920TyBGJjmQj9XN!|OazaE{{hm4A5zFfcVWA_~4 z?8HgJL)kizbey(HRpVAS;_oc_XdOxV^ z^?6H4^_uY5t?O?u*spd@bGDtR?~abhLu<~S%bfqJR@TSBrD0>{&&=zSW^cd9xB6I_ zhxZzjZq;-b!`FxYW$(WVx<^*&)U#si*ByIwxjLTP+pRn0Y$Ej~!DMy$?)*hO&(3f- zw-sn@%C=)q?z}Q3HTm?;)uN5OKFf8dUtDe z2`%r|o-UHzqoDC{Rx0E9|0+6~Syuy+In)-{8hk&yj(3A_Q%2wM^sj4PJ>T_el|rP$ zgQu1!UH9_sGD_N$e!kIkx$Q#z~9UMTNHK-kdar zJz0;H#j4=%gy6F8*Jp~$S|5%z&wuxAdhn-Rx2NYuv}JG~EVi?qQrdnxCgM))^v$OQ z-o5-})9pS_GTZR@o%W|E$^ug5C5m_{#NC# zwtCZh|4qbA*;8e>B%6xE`cz^H&dd(|JcVo4QnmRpZo9Tk@$US+s%V=?q5tHYq4WFi z?s?Z|@j>GqSGm(|2UDy1XMQ)#>s1R}?8F-RpECsCG++K|E`v(C`gyKzPuDMBc{);4 z>ciFet9j3!9M~U{@l&=)&VNdj>;9F#{8!e0o-yH&lKg%y;q#8tY}cE^{o9}a{K%qI z!`1gyZe?WI>e<^rhwOQBYzD6+cHea~e6vC_1Luc>Hrz$mKHsR@eOG;2 z!HUPuNd*b=t1I?t87c?2rKxr=(|UE~hlQb5aa+b?1C!T}6JK{5ZBojZdRgnUhzO(g zQ%$ZLVwTz4Qm4;k7plMUpM_IK!l$b^$vIr~ob~yv$kyD_`Lm6lxvjm-QWUUH*SW&< zs$y#=cTT9#vn@+j@Vv23$+eJ=6NtVp(|;vbQzP`i>cepfY$xI}x~_P$aQI)dx?jh% zWkF9!z=HUOZ{{6WOSvYOltdj^IfrR`zIh$bj(uX@|Acl#+{-wBbK{)@iK?!A?kvg; z_Y1n>>fW5%<-2#|SH@}1|DzSOd-s0a*0q88tFFjBpEKJ%>z`XVt&=PfxWE+AYkqF4 zKyJ|#vrGF})-K57iaOx1FKfGhSY)F^oc#8uIU$O|mFLa&r|a6Ed+hT2Ty~G}TgH3b zE0mQIKL{JF=M}8XSirv`Y$N*=gX6!yna;en^hQK;#?cDPMwRGmzaQUK`|$bH|n z`=H3`O-1E~EoY2*MIQ@zb^eXso_WgXt6Es!Cp)v%hs>YMc>F|9{rHwo+FR1^hJ3Ak z7b1CYYSAT$*06QVaxw<{4*%Qfkyg^=e(5L2@R`e3cc?#g?y1>u>$(Ah*iLP++ButKRTsVbIUO-8SC-3>Y>C*rAOSU|@#XsY*2;Vcs`_;mhhjQw2bgWG-T&jEW`hv~UUztK( zrM+qOk8R%{S3fA8ADSriq)OzRv43dIm$)`g)?XTHzPTnD(vV(-1cjE5`I3^)IJ~ZY}X#$zT02EF=t$UvGcMn-<0t5b9UC(f8UU`=qS4H@qHPW z!Pe=&?W`~GTK(oQdMD5E@n+2z73SV)N1xmh{r=MFdO1s>(8rkgfGv@}Kx(3)adi((3zC?#0aA4TaxpS`EAiF(fY*(1AVEP9$h#b>%33r5C0_L%(Z>?H6PV{cPtEZ2@bq_?cT3v zb0_{bOpg+NwqnLP3+1jz@v!3=po7i}O%gel#=LcJUg{-x9w!fm09~){{OzN zqNcpXL%aUIS*nhL#nO!Ycc0asE!3Q(5!NPkJydP|fy2(P4+$n-y7jaywq+7G-_j?X z2m7y<$$IBax%_w6p337>-d(&elq}G8Q~-R=xh43V^NOm7gpvoL5xf5Fc~JP+=~By; z+Xq6WVpGy4Q!q;dKRJp`?l0@T!t$V#?uB**#Vv|}lWwPel+#GwY<10gDpLiK1 zMP_Y#dpyGOu*;)gpKEva*ey9MbpJTp5~;`KliYag{+5TDf6RW&BF8sdNsC{Z&nhLp za$D#JrU{Fl-`+OMDfmwI>f$rsEz6!7-FE?*YT$#2 z2Y`81gVhH3AO z#kXzUZ~S5!cgB;IHG5UG7Vew-zTMIFsgzXDSIs}{B?TFFjIj!Z+nPQXe-Bu5o9$vx zLHqG);ZO(TiDny5&tA5|>~PTO6>4qYmX=-AlDy92*?Nm(760OZM_1BBcdpvy`%K$@ zbb2BWEKX_5qth<%MU|~ zxy>&gsVoxHtMZXoniVT@@lA}&X8EIg-uOI=jTc$|y0~!Hzd(!Fdg0{-w#9~*bLLD+ zeJphLn5JZyru51b<-`5QL3G5$oH>(vk7mx9^!A~N-^qW>bNpUj{C>j^)1}K_S7Odn=gqXW^*D{zMj2WxJzMf^R=7{Rkl-%bGjpC6hE)p+hesz z#-CwI=BlJSU*c9A=soD4Xw|(q@Vi!s=!WB=cdYJ21UuT<9(}Fb(<~)_ZP&zei`M?z z)ww?R!9o6azo*>EOIkbgu;i=PR(ts)W|%DAxOaj4e!rjW9BbTvuPf^4PoLzV!L-hx zN4nR4(%l|)jiR*ob1#)G&fR!tTX$=!QzB@&vG-ruVX*R#;MuHxi+d@D(f2W@~gU?(xpO&|AZ}z zZdfoQ;A70S!|xmCP2!oaym_`om3RE1e}?mUh3vX(-hWNXxuBd@U3SVjEqa0VJ|T5E zx#yfhOA3%afih$5L;BY9nyHWoCpJ`ZdL}Y{wKd1xc{pnj3Mu4|E6j{Ph>2 zj~!UC{k=GQ-3^Jzlt$kN7R+x>@42AlzQ}o^k><}yf0zFd53XIQwDe-d-o^&m{LQ-~ zVoP6L(X5LoR135Dck2Gxf6oq|ZJ+9q{Ud#I{NJblp0#hkcYurArsL}0$G&z7VNMp$ zmd0DIn|YzEbpQUHS9$96-`&5jaem5`!q>I6#lM4Ze}B8Bo4>B&^_NSxq{`PVO+R*P z%m3q9Z)T^s8R?!lb9+^Pw~~S84!!QS? z+wQ!-rD->{%krI*<&5i0#d3A2YxjgS3M!wz)t_JI*Urk_C)V$LOJimLm#yWyOSTFj z$1X?v1sgvqd{`SPD|gxN;F2YC!~6Tsn#?)oTeXNa_)b#8w&bn%!%uEA^Iyk3(>g)geY*DZAzS`5PxL*mLN%{k&giH_HC{;t}m({ayTA^s&9scQX3#Iq%zHnDOT`Ba_KO z&E%O^PQ@L&;obO9hHu9)(|aox&UxLi{eH;tH0z#RRn9Jgl?$dO7wJ8y_oI zWa$3<2XUGlrwmuB>{ZH-*WR%vz{vgVi!VC4?J<%pmB#x{H^x7|%Ja16$@RMirl$LD z{aXHS*#tJV9Y-eE-MMylW2a!wu{Z6e2^SU?w-?UH7wOk(e7ZsM*Y_E#+r?k5NIi9K zh1BdxYafVQy^zLic`}YErS?ISfF0lRw|ebPUK~Fx8#XZ66rYP(%h0gGJR|SdCGiE- zc^}^%e^vaD_Z{mmPSu*}oSqJ1;yo&g^7kIC{#PpFKl^d!8mn!!d)yNIj8#=0DX4q0 zoLsbv(SU{(RaXs%I(sti{yy zaY2sU>_U~8jHFG6mR|7Pve!W@gr~sl(2|fdX*c9=t&=bks5$hSHS9;sZ0~I>(>}QU zy~u5-5~^DG@%ok{GkK(%r^UTxtUi@g`*zhKOCgDq+_by9MeR?b)9bXX?X?g88ytUXu+U5-1(R026E?E4=;;0_58CHS!J*GLhZQ>UEC{Jd7Y$Z_dV@w>#5M%aKol! zZDq;+gr!XtJx?E*MO>2Dt;4k7M9765R!7S^!lukW$+tHws^XS)()LFiUwR+<@@>oc zyKFIE>YlAxnIJoBw)J~Hk-)QWmj+lYKIv>4R=Qi)wtB5XTHuD*bk(z*e!&m-#2E8& zIK+2|h^9*Jd$y-^cgKv=*WS+fTKs#x+0q?*Rg`xJnO|c+<93K6;UtUK1p}qFts7pv zTef=HOG_>DHi`dVP1RcJS5?mbCBlg;M6Ah0ZQDO)~p+Jf9trjX(af z!;vo~vCw)Fi>uo~yNciMPp>$`Up37((}(Os+yhuu zCk9AH>1r{&XISd-KKr}taW3oc9Se8tO1N@%f-Uo>sU07lduDrz#4e0D`25*^+tQia zrluAHqgq8*7PU9WOR*Vb)zD6I*jV&+Agj0?n-Hw%;$E30fs- zFXs0#%;w@dI{{6Bhmw9(`hE@rZ1dz5=Z{P|#P&C& zGtx!rcjJa5d)~LNJfq6BN8tI|RkGp+O)?g*_s`r|rB&x$7wH&yp~Zex>pC@ypp!ip zR=;HR7hig;%c)>V*}t~N;5+rr?z8({^;J}|IU%)cUR`Ui~IAEE&uarryY;0ZvNe6<+lCYw`c#`tIAyx z_ovpMx+P^2)sp5F8J-)gmUu0^izD4a=63Dx`OiY_4?N)6tMr&DMZR}i{kes<|2ejZ ziM9P*a6aj`+TlPi*LKBazb!KTt{>QQY;Ss(%5%AU_S54TSI;aA+smxCf=m2}zwxV_ z&pUf+)?Lm}>pZ;8H-0)-M{SYZ;@>qAYS8DU^Jf@Qo?s?ZrReG(o^OdV{ z;Szz>o~<60w-rR=#Pse&oh$xQ`YzU+`SLdFbdCjQCU$)J<9y!U?|1o6#S5Ee?$6v; zb^!x99Vq|MiA~GJf-?m)O6#EvNNHIcj^`vz6M{F7|3))8ELb zCAzG?qFdmkX6_cFcYj|0eKp_w<9GY#)i-xyY0rRKDWLX@k)fFZe8k-h%R(tL;ucCp zp6HM>GUmt(Hdiy(cDe|s; zd%NN{h)$j&p%~WYb!bUk?ECd`cdzCeo6Uc9{W^d6Euq{Q&E@O2hp(^u;N2srxzfkG zepTBCrFQX^Cs*(P?w#$XYgn^2tx03$p=Rf+{hQBjeR6-JrT1=a$$34sSNV2l?b^TP ze&U|8w6xmG*A9QUG|_Y0_2S*V!S^?R?Yz5t^4a(c@3MYNA5pm(Tl<6eZQa5ddusXr z&npp|bFkxC)>g45kHd#%U;qBG*l)^KtJ=ETZ_8pWP7AiruFJc%`@=f5ImQ#i-1n<= zJihg0>2l{E(}a&@uA5rW^oK}Sguo_u+$x1gX{Ut?E~{yt7d^{}YP`*S^f4_$1N$jptpTk`wx zx_j3X{f~BTHkxh4cd~Thg+K4i)@m;QB=%dY=8WdUV^10E*E)N0WF~ssuI@a%?$!|( zNslRKzSVMx39S4iR{B5Di`5FCs+md39g>B~aVGXTf*> zx|4!xOHPM=E0Ae2l-X05;Vas|@ro~x%q#Pi-*P&Gv}_$SI;%u4KZ#wYu5#&mKL1Mh zgzP&h68xHsP8u;eMX_A2GeqC0L|>3RcSffyV4dIQ&Z8>RzH+v&TiYDAvF6&#gxmLj z|N0YvfjM>#B2JnmskxOw=hmPvzo+cWVR=zTJQ2?Um2M zdlxR4DPnf{|E2jECOHrMXFWS5{-yiLso!kf`iY-HT;_Z_BlSTrq3mAT`(4S_Ium)n zY-Va-_g~8MdwCtBfhzOW=NvN~q=f_*xxW!Qqwpr}xaCAW<(IKX3OSYuoBR$=H+ruV3-2_Ue1#+{^<>OV&E<6RK!WTBWyP@`qXC zOD=55-Q|2YdGhVZPv83ApWC=nq3LwnU50&cc1Z}%4+<%)+qrkkK9=?W98DL_e#xG> z+*H8KCdl~8*Ynah4FB*s|2ge^_t^a{b@yFfs;g*z%3^%LFeyLozmZv0c+G{!9&Tr*yQK4s|=qVwna6q3E4JdZ+^|;7PATW6nkQ2 zo8N5C*fQt4fJY&hfkC=v!iKw-1!5aK4+piJPU}%RYt>p1+A-ci?{RpE?;qc%byp|KUj%06?Uww?=2>YLO{MJTs--oibM(zLlkX zlfyv%e8%nG9K zKlQJ;_R%gQpLCCp&YPl|M0|Z1*YA_-+iln_+2FqCl0$^p(G9%!GJV93|I<9FnK1n` zXSn7Rjq|%0KCua!&Jfm{bEERFa-oaHG=^6&}|$oWo0ROxW7Lbor;KX6Z*i?>u?wU@$%T&X&`E9~`{=WP072wzSXB z(*)i27&4tzH#Ai!a11>c^m)79NmhOho%cL@8AU!!DYZKMWlyAux8Q}hY~6qR^tY}2 zAf9OSUc{1XQjVxs-kxnOKQ3&}_Wsb3bm5kb9MfFQ-n0LCRgxL1y`1gM=Fj3`7wIgK zExZ?~_w>n8ea+2nNf$%BLq5k7BULBH>6SNwTO)LwW<1(CPkdqhnlm@=TAoP|)6dK{N*{w4eJETa|LVofCvAD6_wxymG5^l#_P7tg%sFPCcD{Npp6ob+b5+rFcI6 zp{l&qZQaS45dq6*o%b$V>yT@i@ZNNRackpg`-=;G>UYKceSGTwPkrU%%nwrYQlR$& zr{<-A8Z;*01`CK~WN3~!nBNS`Dm^pMvIBxcHG89O_uaM-s(ruyLo!=Nam8{AW*r0O zGyC4;HOzf^e2>PqM`5?7$#}k7@?T$m+tFyxO)tIEC%H1;W%Hf5=F!UFkgp`jQ0!=e?x8J=x zd)=)M+wE;@_6SenILJNY$A*2?pSz`#dOSQ+Wvad})1Uvk`upmV`>&cZB5!==|6^M6 zzOLx7Oj^+7w(0*r1oI|F&9wL?Hh-HE-``hl)7A*Ih-Ga|Y0_Bv$Gjk=@b$#`tM~1z zUw19E_`O|SX|c|kz)43fQ)_$z73)^$+W+V5_svT^`Os>Iu9&xCht46hx9dLbj&R!A z?9BF}`Y zEnH%U1Rb6|{5d~k+Ghtx{TW}m_-igFUc6GX$5Jm*K%mVJN!?2ZblLzmYm99v=X;?Pz5T#j&wnGKVRV)M)FCWx}Hc~F)*JuLB<(u>=5 zH})N|m^4i-VQrLuqJVtQ@}0{A?;qVD>Tprw?EAwe;!`poc}MWrq<06;{&M8Px>bt; zS$93zXjM{be`WQ(_A@~N5nK@^Cu3(gXMMQd{ATF^`5kAUS5fCuM% zMK7LBE&8-9o4;DfH#}xZsC>;f)v(MvD{NznV|hcjub!>Nx^nbu+=%}97@45LxToW8zM7qSzs9ab-?_ax3Unvz-L-s8N>c%Imsgokk(-I*3M0Rt zA&<@edpTIBN2)a)YxE{6VLUmUU!Mv=&a-pd9~`Rplbj)8j4q z&Ns4eOg?>i$$8ahi}$;Ke_-J~d1-&@_Uye{LJA5?J<9(H{Sa1S%wPBJ@#CNc{;!`o zUv>4}EaK29mDQ1%_Upn{>-QWF>@NJC{^aJio=1ItTQ6>tI^g(yVx;6@Q#<=>t4|zW zaA?Cfu3etdt0!shp24NI>y1EJQJmbV)n*>%S>0AiyBWQJ!#L53DKxJ<)8I znis;vJNw82(VY?|CU2j$vuun>PC9eJdriH>oy@8N)+N`>7Oq!x+{>{g>&4_>jT8KC z_5Ni<^YNs0*rOowI`e(_ZgXvSmukdCq zlf9*KLD%T2(I*~uDcN+kBHKX80<)gh;wsh+jfz)g+ZOhAEag~yW}3mrGt<`b7KNV4 z%oTEwi~sg}`jOpJ=D*3jSa0z8>71DjPfnMy8M=Or@oD7i+irESPB1aZ`KO&N?;ED) zhi_<=@7}{56Ki-a(tN|)%L_T<#QDmv$mDW4rSEyU%yP4)i}CJ9&6c&_N-tFJGrKVP z(3|WhO4iplnD2UWrt6`W?&KSZyh36-PW5;h=ZnvA?!Q%opty|7Q9!@A|1%0=E4STe&fX z%gbInjpyc{sdoyTuYB3O)7~bl=G>35!Z$DCraJj)&J7b zW6z3Jk=M_v-8;49){5CDYMr`gPwf;|SnP1%()xrO9D3o*+cr6@H)vCT_c~TKwez*0 zc8!XPutjI+pGlKu%~0QP>c%zyk11U@Pv5p!1 zDXs|P`l|(L{Wj+vEY4RN34f>(`tbAU>i(bm)~mIhy&cbB+__?I$g@ewp~hW_i3Z`} z@nKi*bvo4_{xDT$_q(S8`W?n~Ay?;JYup@q-Xc!AS5zkKR#pv4=$Ccbws9$Bf7^1O%XIJRW8IctV={IxTc&n-ySeE@DYqW;cKw?&oFYo= zInxeq5PNm{d6vYvjG%+-IvhHhnVPr7x0xg`P-{hRaE-`cHh^dGXvt=4+=u zs=A6k$l%=Wp0MfNp8Lx~k2>b9m>m_mE+ws4y;;a%TgCThxwY!u4#s~Chd&&5AF3!O20@=$=PvGVBS-)%#2TqSQ>N# zzRjy;7A|L>YW;7%OBLf{%WEm&Ov(G2>Jvq)y7X3kY`v#*^qk)W&yB6391s6(kUh1` zPPx$X%+%@984J0@J{Rz;4*P1gf1Qx}`gDi+-X&kp%3eBI{VwU!O+P`sV{&iL>hJUn znYixJvxS;&z6?93y_;<>C-#4DvHgGM$E&7-#=OuQj-cisxZ!AOglIULV_Ai2PSh&Y zvyrDK-QEEn6Uz+WYEWT6X;tJBt=%&{ld@m(u3fgmk~d%CpDO=J+^Nvu9mJ$+ zIeF%+qN%&NdE??9%qxD^JU@KO2GOtoADw^u@8Rde&qbxLUFv^Z_jUW(!~E}OT-x9w zQ<}5&=NEx_3EFC!hE8jErnY$Qz4b=^o{4?v*_Ze8&G*|K053*;_VVG`_&-9)E?(-7 zF14F)y&o<5&!6jG%FNh%fA`tfRlJ_QQ}tA&{a0`MJ;p^< zeWt~eG%~}p4<-h-wcifD{PV8Uf$Ee`EB=~DJayrC`6%ile|A%W=jHBKn_je~uIpH$ zl`C3zQqZgSS>ej+wXYu~$MWeZ|@kg)=i>dhSqh z+f}0O`ffv?#o`by_v$mZKBiwhdB%KyDsSKtFE7n?QQdWOB`!*>+ zq*zPV_;s`Dp~$&1wmc6ML=JWL%li9X<9rvW@a0M;_v;5!H>yRx@76zBARHrbx^-`@ zOWEmNWooS-f7}W`ThJ}@VX4mUTsuquML#V+USn#|(wxn>?WcNNN63+$?^BlEdHC;a zy~txT{Zt;tvkJ^%Y*2%o^2%l~qvE1v5- zK6zcAF;F?`bh5aA%2J;BV^8PXVd4{ zp0)K`o|fd_lc!r%7PNJmGEY=l=p<$1e$DzvsAZ4)JkPd_b7w{|~#9dOnH>ra6TGA~q zEoPfiy}Q2b;?=91xhC*5HOFM!s=X>wYr3M9B~##(pJX~G3&-Y=CZ^`YN$0e8>)G&~ z?#nKI`tk9G6AjmoEv-HOFmZ>FdE1&CF(YR7oJiGYGatr2kbhy$U@}){wpgF5JdX+Ixx94Jc8utaeG}ccKt&5nBbQ<=} zkT@!5V7pH(jg9wI^XdsxerY{opVTn%Th-0S3N=#QhwB!$CHrw#PW54`ungKNAHgDI zsM+&Q_rV%}r4^I9Ihm7KLUXO|6fHC0>VEm|O6bia3@i`A{n_mbo3p+yjoI+{=c=Q* z-Vv*0S8X~ui)jvLcPvk*q|g(tlnSlz*#Y_%OI5{q7}F0(@w_g+=^i0@Ze#C?*Aa{o zHnrEM|7I{PIBIaG%PQIA(n|gwh8NtOZu$au+gLr~C04IjT&kH-EHJw?r+9_yp*P zg?n0l8w5PxXl*-{_s{+BhWDFwYgeBAaU*25`pgIBp`R{%7Gey25%iu%@OX=*n879W z&7aG}HfHX(MSD(CtD8j?9s{Z(>NvY$orF8%`?B}wsZWr zR~>oyef6p(5AR95x~+K4;X=rxV%NO4ey->D`uVPUqqTn71^yN9Kke3AeOIrZvq7x7 zjPt`9neJB+T#}Du#IA;Zo?j%rd*N1wuPtwbg~V^?R{Kaa^G(QlbL5v9=jjuVRdf~{ zVpBIct$KuMa7i(V6R55j7<va`=xb% zQPT|R>e?I3Wol1e#_wl+$aG^-OM2~@X;Hz!oy>e6P8Q2FB+1lxp7<-laxi?x^R-Ji z=k@*EI-xG+WcuB|-<{+glqGCmo8D`0xYPLO-LG@@GC%E)KfANMH0S$e-k{FPmoLLP z9CSo`wl|&4*NRg)9QN<=%Kn;*GSU;VsC|`nS01a_W4cAdwOy zkIfr%W}TUzzjbr5aPpyjIrDo8r4IqfPDhjwfHPPtTIpkFZ+vBkmC^ci-m+ z1{WAQtPZW6>A0mexYcp(=Y7Z7x4DY5t0_G7(K-L_RPJv5&zqDKW_#>e{)UHnRc*ra zH9Dua3MX&AB69W6S%;4NYYfK0S5Mbn6f;>aV?XmwVs`kozl+i*IZy7GH*ta2l%SBM zOZnJyJQ_Q0h_(L{`J!DT`=~hL*GJ9p?4)7~mVN8PFSzyb z2!uN}mnF|*YMowkVrgvQs?{}l4Jq$llwOrm)4B61lIuhbv&O2wPE1WkZ@x`;;B`4X zZRv`6ewESZ_#a$snrkTVh_bcoqBHLvQW*?8{>3>@woop1Quq`M>Rq)W7Zd z6GG=_Ev)+@z4epz|9z2vUmyJcTR$`+o&|Fd4BSEiw`B}X%|LA(5ZlBY%Q{dtB)2+jE4>mOq?azkb{1{LT5rV%I-h&$9ksYgzsOqDO>cpOsns zz4MpY%+f*2Z0~@^zdk=L`}XYeySJZS_Y^A4WLo_6?wj8DwX3bx6mdRtdh#@M>-YUF zPru90yma`pxQ`H{{pVHz7b&r`v-ywjvU+!zZDq$ruKxaX1Ggn569FZtOhWB$y|A>)LDI zK6k_LuBqCO&KM|oTP&URu=480==aN+#2HxBKQyh{*`0Xc`<(@+uig#cZ?$Ie^Fso9 z7Q0@4m$d4V`n}mMPw2@E1;2t&zu8};{)J3?IQ6}n|8pbR5qC0UMi7rHskHN#Erh(J`Dc_ZYG`- zSUN{%;?;-;|IQs>b$i=I`-PlSnVjpoTGYZeCf50XZ4O>wbfCat|Fc~U-tE91WE{VB$+8~a1~ z8h0)VU4Ce`$6BTbZ#u5z2HQW~V-a_QNhGTLW?KO_Fu2gnF2nJngF|HD{-WPXONuvdTBq>X$zgv^*gA{L7OEMiB)(r?TFse} zCA8P>-QUEQQE3Z*^R-Pa-x+hj z_s;!$$)}TqVt@SG5$Ed7aeZom{NJb;CboKvMq{opIQ~{o3~ET=GNms zz3pyH@sX(bubgXQITp@7_g+sVvTm2yMK(n#hJ96X+3#O;FWDjTI(>clf|Xpawmx8N znW6gef67btPnzdgOfGJ9I5R^c>zwcPcN?^C7+w3R$1l&rw%#Z-?=lO=PJ^(oXR?iE zw-lG1ke#vGM7C5zqHp0!9`+?J`H74_AD%%O(?Cnxlk*M(62` z+5C47t9V)zQ|bn16+^{VksT&^s)~!ID0!{Wy1B+` z3iCDdL;GJhzc2bRYsWtEF!A10;jqZL43q!QJhk!alN}PXF7EnvSJE?)(V*(eKCAx) zpHIEjo@=ftI^{5fncVs9v;X}ISA2c*c5_gMnV8muuG!c3{Qb3KudmIN2DO)QIiJnb zRT<`KEZ%kS&cepahr z`yE7~idGSO;uDf@Cht8IB_^_mHxsY~iokiZ|$qXC`Yme2)o}0>* z7QFPz=b(?5^{fI{cPjmf3EyXBo;Js3p^TuTbJJ~ui*C+qo1e;`{yBg1ho9ogO;h5r zR1~1%A5=LQnphxpda*2QHMb<@u=Tx>xAUY=3f5i^|8SA*$i02>LJ5rTpO!Y~usl7g zuUw?kXF6x1rL*O!@Tbau5?AgE<+oH(wcg#xa51YaJUo2vDyz_cdlt0luK4dcfA!m| z&sU%47Q6Q8c-HP8FQ2_?zu(&;3fg};`}gXK23-l`BSpIn!22)Ls=vN_UiUlX?W~3G z@7=H2b!mzQcXj@?@b{~}F0V2*J6{(oaftQ#%h^>QvU`LNr`+4S@{pABnTPudLIhW) z*u4dRS1*l^>5TDLKM5wRFWT{g+l+UE+&)XBuR*OwXueHA~Q0YkIf-KxApf z%#arCXCG#7h!#rJu&>cw?(*r=tt{zq-9oOZTw0Qgrc8d-jlzv^!3qSwXR>_4P65V)P;kw{ajaeBTalt(Snu~8U%zWs& zx-fogZVjvQr5!r^-u?P}Sgn=e&II{CA7lTn5B+P>md_9$w43Sf6W81wGY+3#5&m#$ zb05>BrL*__ZNER$`0|Ce)x1}KcKTm5o|4&mj_a1iqLq(3Rw|ydIwf@JwzJHQ(lU94 zXrr2g&z}Cw{U;4==h=>Fyqe2)wbh&4 zl`xilDxmgj&!769-4)D7CNFb~+wqWj-m=Qu@%}dpGmBDq>pvJ$ID|1K4p?y&fHq_I@a`v&f|-bj})i%&$OTEFFZ+nYn}C1y$aDMtN(nN zvcW-A?}tsDiCdJzZZ)UiD@hrbURz9&of0vhRr>43A_lVy9}nNjR$usS%llQ!RyXhB zTI0z(Ki9pzPF&{0CKmS9d|%kNJCr?P|8@VF&}x~qzPoo%HpD;6^am?U8=cA(jvQQ`@IABgS9H5x;fx#m7aCYQtu6K_{go475Eo`%WN=_%!}POj zbhzhMEIz-g{fz1iJDmdz4zWk(1}$q{z~uGoy@I2YoJQJOrCq&xET4`%EsxCA{@PmY z$05CXw^o11*>ofhV_oxan*6&IAn>e|1R>_RL`${id2#P}4PLz7q2ybLwrod(Rf>z1{O~@jUtay}!4uUH7m&w*7wW zkH0a!|2}Wzir*S~HFo)pYxC;m1Af%r{^9Fuag*m^f0_Kb{@*{`&uH02J>g{gAglTR z+gTn4E0dL9SMxmBbMbK8{Uim;yH~0+7>=ijUU?As$GR(K zP1|Iyiq@QqN`DpiyI;-4szBoOKMAEOYx}uV$}Y$h6bDRo$o%-$YrW!^fbwIt;X3!0 z?Pjw2D7)*tQwMYSj7+Rh48CBLc0yCGX+q*#-?b~J zS4v)gsj}QkTF_fnSFv#V&5omo^$o9TXLNl!Sy~(KxQMH+@vKt*-YcP#W2Rg3CFGd} zvhtapNYsjdZ=E5pbbb0IrL~vogXIpUbTIaq|dx;FSwL^!RPX1s0#3JhR%=Rg!L8zq;C`d*}NrA0zLba84^y z<=Xbw;8-E&m+3Jx-rO^v)_udV=!7(%tKWmQ%RhX3ELZAd@F#)2vwlr{rrLAsl>0)m zJWsy?3Ro##Gp-uvayJ^SWjL+*P^+LN2= z)0SHtQVr|bzVVyg;ajhqu1{Ft?cr$=rdhFl>BE}V+Xt1sjSKA0-e{Up^ihDGj$QB5{{_DWw@5~pm|0e~tM1`+|@&l!|J1e^5U$sh~$B*&B3or{4A7N00v1kG!6GbM@DDR&ftc#e~;Y zyLbFJrYG2BVXmVS8-Hi#+3DXVH~7zb@qyDWWom4ijNz#-e^l#B&VJS2?PEGA;^T%r zzs}``c6cm2bnEKNm-%lmy)G}v5xC#g6q%!G1~oSnPjWM;9gR&{xf%ss_l$di+B~P zqpVjjKhzAJKKZ)0ie;yw89#sS_ZN#2JGf>QeSdM5i}QHf&zda3Z7c3Q`l>CG(^s9Q znjjyV>~nX2Z=!>GV%~}3y+Qro9;JV)3-wO;m*XvPR^Z^J-Rtij`>NN};Ps-e{?|6W z)3;)?CU`Eh7rk1&JzQaJY172p9KTIGGxvXwd@nr9{B4S0r^_vgSs(H*8#8nG1*bh{ zV3fV|c z-XC6^?!;Ov^ExPBzIk=a@_Dw47pE0??sRIpsMvUaegD^QcRpV3{q}GDWA%jhzl|;l zEcBdJQm1k7%fT(;K?=r>{gyTb8A;ubCY+!Bpz)ZE)5>oFN<31fVzF_NntiD@+fFC# zX?#8{MyHZEe1ywb~OV$yh?QsACpGA(3kdV{Ej{{sf2OEvS~h#y#Fut)vQ zzZqGq@$CBkBG>V(>08v_%8BHk-BlHQ${hthBhR+G4R<=`-h*q!ib~-d#;=Bvd~Hui!|xxV0j@-RSm?3zjNj{leOU zp%$LE?Y8=_QdMn`arU^dqvjKG{&K z&& zzO+&NUhlV)^V0r&-XC(qY*OLtw;OLAiBC-Ubl5qdZzE5Ipj7{gbC0uB_!1`={?7W) z%=0X4hU@Lj497GcImXkxLRHhQ%(~zb-0-uhvDj|Qk`4QldKZ*FJ#IQx#nLuGW?8G> z)>mZ<89sD8O^z^F8RWaoRrm;pO+}~Qo1)r@xn{?&X~|F5Xx-xV{YhNVBp0r@#|$in zo>H|73QL0QB89IqPCt1~r$x`%&$FpII%HluW6QGdVgWHGfmWQ;UVLd~V^%p>{kKy^ z%0pw0$@41=e`8Wpe?ACekM_Kj5dFdS&$(kcnE_OvDiE?Y`S?Jhk7$e;6`8I(bK*Gr&Rj*78Mf z(|GOQc3%riQh$BgtEj0av|dR*EK6@n&dJU>If6e9GME~x@Sk)(XXB@t7<}u`qyI(L zm2+(TW=>za|7qE;*EOF$@dit|90@$W?DO`?8=8G*E;+(sXbS39m+YHs6P($Q3nJOLYm=fZ4k;&E1<>DK0edCtQ)JsP9rti&j(Z3&Yb!*nK87e_L zU;1z;@qX5R{(6%}T6=p`E-Tt8fNt;GcD%`Gw3z$)b5%( z-K#r_U(xyj-=pC*7l6G0t4cUE}JC{c+W6W~g3y@UH&!s=nR5!Y9xEJ*PjH^TIm? z=5(J1ZKE3PznTo1^J?T5X_~mkXXi5%yGTqe(fu4NVwL>n=w8<&CoPU>?qAQffBIps z?2F1mLeJKCq#Zk;rO}XQm1nQh(qG7I`t0F%@#FTIB@?QyoKTOH)REEH;dW(8^&P9% z`qnbnkK3s5sD@a%ynCqFuBGuuoi%!n@5zuBeZ>n*mw32VNWWZW$>m!D7*{@i)yM_>2%29->S-y-52 z=1Q(}ni;wOdA@?=d447?(MyV<|LUqMG`1~lGgZFxa!PBdiq=_!{rr`&;!pE-NE@tD zY+HUeLGZ-1?6!M~wa&?xPAQ44KJjuD^MzNn8++zD9nkb$-`V~{dBJwWR#}Bf5*h6O zyboFZe-N&9h~;RTn9b%(3jK2*EKn#BQ(U#$W3`u(W%%(_lLPY%tyKiC-uUn-WqIb? zo|ej8+x5y$D}53DFhz4BPqmF$=}puOks5sT@Qo^8-ucxq#*qqoiR zd5r8c4R6FNl)Ehq4J`G0XX0y@oBQ{`6KDM?x6f=$>#F{gw=!4l zkKQPE-OtsvaL$^iZ;k}1u}bu+e@V{rC#b2J?lG*z+(z5FFS(&G80nZmLy=igo^fAd*Z1Ai=?*W{ z3Fz8ZeqvX}c71bKQwv!QuPrHJ#lOC}ZV5ZM;_9Z4-TU|r|DW&8J|>#>Q7CYk_LfBz z$v56Sdg8`?S1&GQCblLdWp1Xa6}lOr3fSHD=A8_$1F{$p64?%_nu-j23K-B+LA zwc}ZG;JnE4ljm<6{N*~N!I$&!>jL{g&X);O>^$du_)^U0Hd($&z1XH>mPght?$9|O z6S@z4pZ4vpV_*&Uims=2I&D`<=4|KKZ++~i#5(P3+m@RsIh#12R6D>ZSe|iUw}Dra z`a0u|<(@O7Whw-{k68(4#iU!m4twa}J0~ms@~3%6K4=`CG|S%nrO*XVmyemkdV6he zDE{4XdF5KB6f5EW4~My+8E&=_D@WU2oD2OB{-)71dfF^lW9W zHY>5YvudW;$*B)_#tN?ujGVE)`sGp%(`Dju%MJG^_sSee=$TlsQ@~-$a{igzRsyq* zCS+J$DRQzf|H~Z3=XPjry`9M4yL0a;`K3>NUHoiHueFG6iukv-zSz0S`g>Tiy)33P zD8yV|`$795m){iqQg4^vXMVar;OCw)X;ILjzb2o=N;P8n%XoReGFO-+WXk?IdHO@1 zro}{_uX_%ryPvx?yFl)B{1%&onyGQtcZwwK+|Mz6{9sm{IQN?quXq^qx}rmiSKl&~ zubc0muXgsm{Xfl!Cs=9~P+bA8RZNW#wTdN{MM{>2#EjP-jX2$R`;_3_^Whogxd~Uc z-{)tKQ*nFO+j!@|Or8n7=38zkUljD5IVH#clYgO|;nnp@D<`TIGO5gHWjp&W&DL+O z)lq+KuNz%$`~U3D%(uH+6SZ+iSe@D1SLWZ%?e9r)Y99$a9`>Ez{3S!QVOq!2veXqS zKCiCUR)2m}cfCjdz5Trc-z|&yzTLfUu764D@ez)g)w^~q>nxr2bZh+nYH5D&M>C#Q zeq1R3$j^Jp1topCa=Uj+TsXtm+4R<(c)phD@TIK(0{zXsY~|ncCpDrtOshh}$ZtodEDHQdfi9$T${|Mz-Y@Y}=9TOUm0&zJhF z`trr?iARcM#3DHl+)nP3+q~(CfjG_qrZn&-jD*Zi@?A)EoHp(|UG}3lZyr+6q>EH99sSLA|TT^=&RlnSw-*cMJvfg`jS#w!O>Xsh@ z-!+vUmfSO~@eqvH_E>m1ZR@ihjc1Q8oByu+Qo2X_(Hg;JlaCtu^ci$zRR3S}&0Rj} zMSDt9SiwTgGTFAePnt5KXQpKTewTdm+VANfSFrV~KFa#AGi8q8(}1lv9l|C}6-s)m z;oQUjH*@#tjgOCb?rw-)$9O%IN4oElf3zCHdbJEo*1D(p>*R^Pq9 z700K{6K0>lw0YN_SN_KzZn2!#mgT>VKlA^j^d6O_#IH+C4B3w`g&O!@uGLE`@a@>N zckQf<{1wK{tuf~H-<#iWs^>e@+W6;^O!@S+VMjDw&glOwxbfAV_us6GO&+JbH75Lc z@bZZ5Rm06wX1>wASx_Ks6m*CE!egnEPd^5nXi#3W@!j2)!w2nuBs#=+^lo@j%;~lA z{DiG+Zc1)?-Z_`Ix2Mh54-%+3@>(+N#gWIw`>wP^tM0q5IBBCAtA2NVpZAmkb?*z0 zR_iACzX*!ot+ko2_ynu}X}h_}QxYR?)qSXC>oIhTx3x+sZgnaz51qT4v!K_~JL5>a zXU5y(X}43m%7bJ0oG<6j`g)|;Pe1GHhVL_1iMlH&zT`44z4~|h8NrYQ{uPsieI#O= zenu!Pex4V@5&MocAjU!WsZ&PEBT_^P6Luw#M4SBtAh_S!-pP z|0nQC0wJZF&%UkFRY-H>j7?MZ6!c4eW;1{HM!`=$%MO&a#s1q<$(%ILEI(JBF(9|7 zFuHI0o1(iJuf5Ea+!(x1B{uz9m=Ix<^LlozY2Wn~F`6lV%%{%~_$PXK+L;!fUn{Km zb3KkcDc*nodn=c(;}P)_A6L&w>ALeVSE66_1YiD)%JwXUrJP$@TehFqe!Xde*B=Gd zOT{|8FN(TeuZ-FC>!HZgIR!4<<%(t=N@rh)K-h_ul5p-*)C9Z(mO-Z#8@cNTZ{1n5;^A|vA4;(Pcj&xfKeXw|-nYRw*S0cf z-`EstdYH#;0`uaxnd`ZPQ7jO^#bX?-sIf zd~0m;%6_qrjm}J~3sz z%$?2v0c}@Rj~L1QMSFN9{%6kEue#^Kue;Oj7jQ7LED$rlzw826ThUX=FizR9M-Bh- z%bGTxU~B(5r;4%Xz3Q`wgoqAZl&87G5hfxhtj>95kXgqY>%Mx@`Tef{x2RePoRm^)b(k>G;@efTWnm5PlYaduwJ^*5 z9RAaxD4ey&}qwtMwS$-X5iiV?}>-$Sl{y|VJ#a$VIN@4x;(&hXFnpY0!Q zw(e;EpACQCm3@9^8!R=gV{u<@{(JMw<~OE+t~QH)t8r0e8{cg6*hqVx&};kl{w-ZB zF|jYoqI&oJJwMyylQyWV1usU^iOkcxsyQVjfzkAa|^$;TdH51mEm@IYVFM{bMFiGX`FSv zA-OBbe%|y2+lmsmu5rKXz$R?7Ms`!-#Nb1{-CXu>H+@UA5P3W;D(7q6NrCh&ooRRY zOZ%!koL5{7JiJEtn6_@m1~nbA)c+Pcof~dmJNk89zGBj3(=LwQf4>=KJ-@o4{jQ-D z(;d~jN>U1jF-Kuah&q?4oYnwfdutYS_vbTOSq3oPFG6acpt>yg!pv z-DU~<+V7DKo$7KhjK@uS#Y5(rs7qfgH|Bq%eC{@+RubIjm+`{EEcg?&@vjhcF&%H5cEB>1$|M(p5 z!-BJ?R~hKc|KF?E6t&dLtCR8cHIXYWM$3{m)l_&l{ZaLMJ45h6zG3Lrxkrw^nWMxT zdBF8cs*|AjR41Md4FzhiO8Wd2XDCW&MBga>QoT24x%ks<@hjFovHY<&$V5eec}25C zp!vg#$A7e{hOP7Xw=-W*xYB0(?=+hXj?1U^tU0v%dzkKH6-U(*iz4Ub%}PA9?ec}< z`6dg#_0Klnzi02KghO+$L|Dek7hRpTV@7(cVbmd0i5`c42B}&WH#(=R6n^J1x$5-Y z7lr)25%Yx=9BR9!{C>Pwft$;KD_T2u|C2pZ8vplY^2aiytqRyXeU;zq3S*VK`!e*W zF&q#x?LJoaqe58u@D<~Y|2{0!JoW0=N{M}YRz)b7t5vX_JQexVr|eJhm7g|`ubsO$ z=l+&^M=U2WCEu{=&0|h0TGZ3MYCCI?h~d4GOTq426%Lv%%9&p)GnJuX?o%)ETYcVv z-i%F4dKhOFE4_T1P$c&I^#j9n0j}UTtp{&BKl{+)%jKm)PU)=G?=HDaWobUvag6<@ z^~001zd9sigDO@t0~`nG&B3UY8x02uL;540|Z>&#SdB zDsKI~?AlYVr~7h$rarG<>)HHf$(c>lmuR+UhKcWg|KR*A1Aq4wRe`3i6R+Hxy5H<@ z-k-gz<^{DF%V_9%iO5_%E#H0q=!V&LVX0DXbIksz&Wu?w?YPzl7YET(6??R#%XTnt zP!fpT{Iy$hf<$-0uDXwY8vduIhra4Px$5FF?nS-nflAASIeC4&ii6T*ekfgiUaH6V zd%{b-(>_fnGa_%ce!3=hvLdu3R)g#GM3?QZp=sq;ue38(%9I=Sq{_E`II`}x((B~l zE7SC|8EPD5jaL7D6mTuoHj2f@iCblRWGL&3%SSdJn92XzL!Ti?Vey7juPxp?e9CGT z5J_*?%y96AM%w4IOSztUOlA5rkGtvG(hW~r)wY~EEx34{dey;1i30ELhjZMPO4~=72mdU?T`QICyUho`Vt8ho@*t^*e*X`%CTO##b zP@-QsyXb~9bJM)fVvGx)1nDg>IYh%_l?c-e4Wm4o|{&s)Ve)(5@ zo*vUI^O^279MKHC^}k(Z|EyaEYPN6AtvtKE`b=p5qO7Iy)zT4NQ`4m*RV=t7Rvc^l z8NE~g)ekO%>WYZjpLXq;Im7madSPj+rTOgwp=z~+`ET!&4DHReqC2ieZqRk>wjE`|8u!)#u-0sR^4Yl&Aru2_fnF>>e>ZG zP6_L-PfuGiw=L)4J>9~nPs_~Ol@zqjc^6BRbh;f8S7BcxX?x*{@Y;uRlA8N+8Fq*` zHkE!#31}2aoON{b|IW)Z=btM4I%8|?1aHf8eyJ+goj!h<^6kFT`{nLt87}7*iZPy6 zS)zHIQEQ9n%By$oL>v%Wzf1bj8I4QZn;C`qHoCrl(Y1&3;e-a?8LKilTKX;vJ8Q7$ zOrjWzVl`733HAU*ddrMZOeMt`Iz?m?-3o}D& zG(W!)x)A-K;Le$am-vsEKQwz_dj7BdVM~Se55KLEwD@M#uw0!#T0K9MA+xNerg3wC z!M_EG|DNz~zdhgV-*f-hW`7&8v_3#>3UKSgz}x~pt859IYeuv_ObtNeBm`R@h(m=r zDp&H(n7ubXYC%J=$le78cdqnTE>yjhrZkC9RrOr>*Oh9+_x)oPt97^hzSSVbn@Sc)iFm3Et;^bYNdgD z%ju`Sn=Ptib5F(I-TL&|pJ#8Kl3GkRzs|qby?NX1?a|qFKchZ=Y;=tY4`^b!cueRRU}>cQPZcfSnJ*2%X8BO#NB2l+zz?s#xZHb<=NNn9TB{K z@|(%?y)Hh7X1zGHGnTnAQ0wlEu&cMCRyxcH6kD^joLO7>@uAS2rQ3trHi#6)zBU(j z*%HP+d+Ril8FIg08S03bxURZ=&8$O%#qEU7hbcuL?&)y53AP#Bl0Cay`_;LN9!a9k zzjHYRo~zkC$jZ{%S8mqYA#(BR>lfi=_wIPr=jZ*-6EkorVCX8T6Fzh2)a-UGyZIWD z+syBli94;|c*XEs?B$ZRTZ_9y64ONL*|oIg*G4}WC6_td%zJzyzRZ_VwUhPv zoR5Z2`0fgOXy`qf#2voUqj$sqjrVL>Jfz!xUP(Q>_;l#!9o^oXz4vO0?isA8XZ)$n z;oQ_+&t1_pqixp7g3asp>D}vJwBrJU(=wND9Ys6laD2KSYp1KYX5v@X)eH8m>N@Vb zv*@OvRHmX5?^j9L;?^FIgHo3bpMC0nQ4!oWUGwnc(_!zpG#q`BPL}1qJ}v#L;nBxT z?bj2H4|f~REHGcD@;I;ehr_Ss1$l5FWPW^e{0xeejvq7M#$!OJxAS^Ac@*dq8l=#C&?Df>7Lk> z)U)DT^bJi>qk{bmZSBud#e0g#stZY+wQNP;$x&1B5+yht4PPM$IGf_v1+n!HGc4{ef3Q< z4FTy10oxx2`L3{f_@PIc-6YL2;4?FaNKfGe)>Fb;A2goPDv@8Uqi&*6;2AuZ&1tcR zk&x`qfbg$sC3!j-XIv-E^*Y+~H&?eIM#YlKAn0auegLsVdj1i~A0V zD#R{ow?7_WxaMf#k`O=p0~a@#{=5`_#ypI(!Yk$N?h8JAJD0Hsr4`ryz%@T zktZ`%MW=C<^Uo|3W!!nBiO1{z%DA6TjIYZFnZ8@~d)<2N^GjG;*qRhK$NkOP&&|T) z`$Y1oR%p}y^;XMo2Tl2Aw=%%bp=PD6O~_})w!V~0OQ*l)|6IzX!l8L(e*Z=ZtHr5L zSHHe_*(6}K#Ei{%-~HPAdS{>D(x#WHp??D!e2!he^X~OoD}#Rryp)4d*(7ovcKc*iO482%l}W4zivCPK6&MIL0{o6=PtI^d((VBcrag9 zk(6aM7tlS&cJqeTjHDG(A$7Qq)*jE6UYVXd^0d^2_mc{ImR|h1SoW z%xrHdE|bjMSX7g>c7L@Slf1^vq+M^WpSqsOIN9vd6z6?Yba!8{eAk|CxN85Q&3(JH z7U~ODp1Qhw)ymtqvXdCMzjo37dbi|j_oAvo!>@Zax3B)IHg8c*r&=th%awYb+VrOM zWev=X3OBzzkZIrO@JvhWm%jXglIvf4x%*f?9W`>lTal<^bfQ5aQ{=m=Slpu2RhREN zOQyT)`r4E&h&>hDI(2rg_$BAIiLb9!pI7mFtDnKs*Y2+~yEZ;ANx{@}?GG2>12wl; z-0t!CGVsr}?K_?zBXV&u1-NXWkryj4?x@*|zNd^B1 zy)G7Zb6V}*ug0xRt<#PjTPN##d4s%4(W09dzxv#4oRM}t+SkK{u!H< zJh0TK>Wv*v6}T(xjU1+`slz zt>f{}Wo+hhCResF7W4K<)YVrsGE9EMc0$o%(%i-RQl__+mq$x^ zXWjl8dQSCct!9^w*Q>DY>3cl{cno+0gd*2eeZ8lAKUX7BTI%1W{L&qj<)8BoA2a;3 zl5ckYyZn8>ZhA;4_E~M)dH?Pa{u^zE&N|zrL6@87zvDO8-&bAv|C^hzA8U=X`S;ti z#dF1vNvQXIHo5ZC{CKTpAGhz6BjKmtM#uAh{r#~~G3JSWO}+KGMI9U59=`tl*FvK+ zkttkS?yrU6_7*LfyIb!rly{fC7!x^X!RN;;Z4yg;rSAOFb34F#vFnjY-Rx^gJ&7T^ z*V*>uJ4M`iVZtTYvpz~`NkQg^fNxg|+z3u4_szseos6ha7?l;_Gg~P<1J2tPq&u!tI{B0AK{0pu4aP|C|nU->@PY!tcoH@LsT*)+b=NaFf@}Ey922EWUWOHOL*IJYL zakh0mt92at3zCjK%HF=ZQN&5}(A=J?_|`YVt7&OmxA;larzp6a<6OLzO-bs>$Op_4XY7aX?F0!&NasVbNwGWhfB2wZu1pc@8s}B%A)k%>Gknfj!X_QKd{j1 zX9u(Aj5`nfe{bq~rI)gRmFM?EovCs)E>mK8Z-*^!de6W=^YpAGeG4oZgm|n^DYS6? zX-a0lvsF}T|GjJTR~b#I%TYVZ5iYqjb^bF0H=WSmYhF&{?!Cb=Wy$8=56-fIESejw zzCT>J=J&QpQMHQxRL<(ZpUkdKi`Jh0Qscm1mS=G*9E&M-kJv7qdTP!2 zj=B)PY{Q3v#?B#D>2FqMPd+$NYxczNU$5osUua^sDO3!Wce*QdtE`-Z^iDf^#g@4GzAFh0};o(;9rkwo}Aps@4 zob#Jsr7#+ZCguL)7HCopKbIYrGW+I(Zk^wsZwj7Css5lii+ky^!%nxqIycSQ@*^(P zP4`)%ddJDf6C%8K-sw8N{ECj#(=BKETfFr6To-i4NEfQkdU1wFz@*x(E-rC((9&tY zoQD$u%?DW~Dx?=-77jz)rE{|4O%Z=vAaopZnq84zIw6 zaz~$7cig@qdMV(K-fis-mOC&1PTuJsqtkNQj%B6$$vvB=N^dx49-74eA~)veM=^V` zpgD>$k+x5tu1aTGvvN(f|5Jk>daG1?jAD0QJ*nF~b&132V*j!?f4^PTa%g0f-Eefz zg@r3P0%myo<@^Y*SQ7l?U|OS!7-Q_dLKdwPSFGkKDeXuRST<+F^BBu0x2utjJ%Q(S zF5J(|vP|g++<4)8{j}wKZ}0Pel(no{>b~uo+nhDIdFq#VbPArUL}jvBR2r@F=XKsO z{nU{QTUIHT@ww7tOq!c7FOhIXwoifET(KJ_~ntss7Me zkhWdDFLtl($rUqVH?NuGuwzc}L$mhgz^#IUZY}2ji}(M0srKhD=jF1)&#=_zpjsMK za~oP3z%M*7HGr)?K(5b0d&LOW=b(LIw>^YvzlXmtWLz_EUwl~utI+{HgZ$l+hy9N+ z^|+k=;<3ajsBn|L>F+J~&9A;$r=%I^mu40r(a~JCdbi$kzqwhpF@>Nj51!ngefaG0 z+5OsvYaXsYoA~we-Lw4f=eCK8RS2x!eSG#8#*IRU4E6t>Dm>e=ZT0TMXJ^OHa{l@4 z-A^~RV{038%Wuy%Kl)MP`lGVPv2i-xWf5O|Dx%h$KL7Va;n^M|#r5CLZU{D1U2Par^J?4Fje}^{9Y;pN}Q*w?!`o;g=wIKNVgE-A4%c}j)pI!O((zQx~ zkcMu{xIZ7n&KsBQ%GTY}?C|4i6z8$MvS#viwcGdh-=3Q0<;ZYZvR+b0)F-=-?aw8C z!%35VD!9bO{5NF}j%Y4C&3>#m?$I&%>2Kn=Hyq)bu2ZB}U(+#%A6q+0{+|<+H1tM_m*magD?A0!&=L$U6StvHA3emr#Bxq zT~m8}j@o*$#>!jMyH7H6`zq{yzxZK&{^_L)G7isKWR-q0mHXI}sq^I@2PNE-?ENOH z`Ao)1HLg?i*8`13cY}*>@w+Zi;5eq+P}&y8-f^kTYxApJF>Tqbp{E%+4QJf)QC>Mi zM)&P}t|!q8EoN<8zw4jb^d9BBV=LIzntvAu_J2?;`@8aung8`ge4;uhHl}VUdEv*A zyz+hf(HRTF&)SLA#&7#t&=Pj0XwjNyhQh%CTdd^^FX}!^=leG$H_h=u;H#3~E$pc> zUl;scbUQoMqIm{yCi4m%;n2w&SZ=6SnC|C05z~CvslagcgYT1nv2uyHtiAqP{FBMU z^V66zIKKJLeWcI3qt$P3$lu^No+OoQuZHU_6IcCPyKaMVgxHq(jK7txFg_C0DeW)Q zteQ~9!Flh(meZD(eZ2RqjkvopVeKv zD&)rcuX{rJb7%gR`!g}P?pKd;s(Rs_u-QuNLYK7nOt|b&_2Fpnoh19$pEkM$`0MX_ z8n80r>JH9NS4(~O-mo-DzgEGb>@6tVwBoUztIjur*8;ke_c7gKusVNzg%Q(*$IIpY zO*OigofGBpX|7*s^=8}Rc446aspRj`x4&AlHfF9)Pu-sR>iOk$2ef&8R z=xMbRKX%BXFH-AP)`xYcdt;-7(vL3m%zeTnq>#Pf$c5#LtfsupeP^Da`(lP>m-*q7 z8;d-+|Cs9)s@?UFdTKVGQ9Z*mr0$OR>^JRFtU>p*a%5}@KF*l)SYeh%gsdFb8O;m# zo^Lvy%I}i#Wc$6PD}?2{s;2*6pxWTp7x`w@oeK*KSBL+(+qWv0- zj%u%48O*%mL)9|Yg^%8C{yxomPo>Cm#`AMJE(aFtbzc5``h46>E2Z~LGRvPGiQLG} zv2>Av*cNTgpUc(e>o6TGTB$L~;K4@z+ne_=eqsuBy{bNw?d8=9cO|Zf&&q4B`1X5z z2(fiIeqdAWN5#@y<1aQm2TuoYJsIWMFMKLkDSn2)`HZ)FSlG)Z2HrdqA-BP>$o-m% zQrWuoSwb11i=T!|EtP7q z-LDdAKJjwQ?8Y+$RoxP31=fV{Z2io*4SXc zz@NWf)}-*MrP5=rol%Z!pO$^p*m2%>HdhkQrDT<7Ya^^=12m59o2ReOYW+jk6e5wnD*YOvJYJLz5B+7 z1%(=X>!+61O#L)Hc;$q5TiF?F@*W?IUA6P1&&EtX=ewtWm^lVN)VvGa94{O?3Www~@gvW-8nrY2$g4gCRnsMq1 z+blLFv!&b4{JO|vxbK9X`Q8(%Eqm&9JJzXWDCl47E&e%aePB~%l3s^8bmUG-&`(&OuFX@9B|{GSDG5uAUKySGh1NHR}b z;?wUnU59SGo6Z0FNJQYzojbky;>!%Kd~Ra-c6jza-B*0`cRyNV`*Rwr>VY3#nl7NIoCf@Oz3fU-tTQ2 zxBFky0VWPZ$@`wn9LrLAFBd+)|1RwRo=*Gy%u$?&zG7(_ff_uZrje16G5oe-Q$x^l zOOPm1)5s9Cv5jEU=xpTeyxVR9wb#QrDl?fPX77y`TF}7tWo^dm2!Q|v2M6!jGx}Ul zs!TPBzqJ|x1J+dRY`|FdR zW$#m54oJE+=S&sty`Zpo3g4ki@3dbZ2~j-E$^Ym~XWTwTr?OrH4sGSfvfi)wWhJx( zrbV?H&%YzsxTB*hxAL~c!ih$1Y>9C_aqb#HJ)0`--pFOrREoUP>~{4G$HR_QFMAA+ zh<+@)=q9_=Lt03->S~0W!1K1RH7sX3MJ_JCdEWV^QEk`a9{=Ewi}PbLnM|kV=PSu$~FiV%G~_zWuaX ze|pV|PgdV2CUtm9&fSzBZ;}_-lDVr^XHn<@p*j7Pp%J_DmdGT{c(7(}hobY+u0`kV zDq9U~W^FB1db?$5%eS!D>K>D4yuSTiQK8E~IDgmaa7T7? zO`mcD{Z> z6RgrZXB)p?J+0%xg!=)%4qjikJ0SS}`*$BtB=J7=^(%aISL0(4<3*!A*IEBHc;$CZ zaopOFy7AAp*>{`o{&1Sa5~!SPb)`{P#WQl-=~uU=9kozpPV;zZr>fun)~Zm$J*JBz zIcyE{#;$8;b87R$8`nu@6t>7uG0|FZU2tNCg#qUsJ{6JH(r<=->^#fYJ+i$VqiXc> zp@KqpNz;mTOxro*f@jyW2&tIO` zTYImZIU`{1)gfn4@cXQ5{(j4s-wsF?So>Z#{Y%Yh6Q`N6Xo^PXAMT>z4I$ujz;P@P@9s%b~!(x}@&nojLPQr+t=}zxZ=z zM_jzf#n;BWh4=oe7vL4I-)tYyy20?^rJtF#C3UkFem4I7;?EJgsz+a!KQ^)7-ha;j zwcK>`FA}oNl^ecqQe3orTXQixz=rYL}TI>1uM~0XG0Cb4|rV=`hN97XFy2%wVfMhE$N#*_2XXG1hLq!!u%{8 z#N+b=3bk9smc2FgQa=%XTAIWlG8nVQroW`r!?lotl1|Lz2Cxd z(St2tYi|C~?LDYBM~wUb6_YuCB+WJU@wLcUe@c4wEm!Jnro)sD=k5L1kHxasCB7_N zSGz>W!d51K``ZtX2s8yH4a(-h`tPWuA6tk}_7mQh3@{CS*Q;=`Ok8`ct>J zxooP<`QH8DM)RJa<_}Uc4^=Okc>g0qzhuFxmwE@iZG>h%%}B92bLsKy*9)5_ivKw} zeXeZX-Iw8O?ElZ1Z&YhGul~0^_sZ^)H?LO6JT2PbSHzjdG&j+6cC*)x$@}$|T^IiT zS>I>hy`PwskRhmQ0aZ7Krsl@5Id4-#%oTU0hM?JTf|bzG2*`zm*TY|EW-~9ow=Z7i z&EaDld)Uetk83OF*DYKs*V*TCN+q>=!+(+I%AXRWYqcjyWhOjVl}Jdt@J25ze6Ce# zm;Cf88&rAif4+aVvO&pG{algG|9<>ApPODqF>(z!{Gt-4$mNE8ntJlfz`rnrB zC6xEE_O0QqjV+n6--^AC%74&~D>}M{X}PGy`HrM(M|EG<-fdqVBfK`la>lg-n#u*b z_uYkG=TyEtpC5Pp@Fa`0%D6rGyWez)?25^}aa^L%Yf8b)R&-hB4L zyxBiIq?CF#h@X=_&@%hZiy3>TPsvCQG5q(Gh4EFlW-7<>sPoA@oMnr4+?e-BN_pC; zBGLO#Vl0lGzO_v1&$_o+_xE?Su^QeHJM3GX_iML|(TBL(B1WpkE9@(F+*>Y_qjzDI z|MD41(=HaZ@9-B~>Bac-U2WG7FGsGqW|C()&*<~#z7M|ZFvs*z$rp>Zla6Z@Z{4%K z{p(=6#4o*_3l{p!(5#!gt87oOh1LwswA;^|PhQ*o{Nsu?Y40PU&x=o5D4$xGwYhPP zioWWRTY+s7?{9t1o1c8Vb8;Em_88`dSdULvr5Kntt(x&#ewI+cs?)dIUwNmgW<`D! zUiCxoqHJ*0sd5LdGfK1n*p)m#Tfmm3wEK7Vmkbp_p4IA0J1rH&Ry1YKy0&x1!z`yM zZ;!9)``2b=9C70IulxHx`|g|HT#%?>fBo>kUDvxTT04HOee3sI%;N8~%T2Hi2PbT= zPKZ3!^KV*?#fFw1k?)LOcDNN)T8J7w;K*K6ZT@J(=kNPo3y23P>)eWI3VOwzvbJGj z$HdPQs3iT#(HuJO=s+Jd9u(Ff*T zSi0|9XqxP^3EXniYpsrJ9Nr*v``mU(gJTl4pEIW473EsLd;PYZvl*_>=x%ZQGqokJ zHvauApO1Mxr&q3??Ymd1^4!bFwe$Gwg10{6P*I6ZJhrat#~jNht~ZRKyI6$XrYG2m zoOtolbX|+ycP0(J1=ErQq$2HmVw<9MHe9e1+Rm7I=|SBwFV>GQJ{{e9c}2oEPj-ii zoa(2ugNYFaUOs*0<{*O{Md-W_v0!97!{>4ovGbcF8 zhfZI}+bQw>jvQa^LZ@JXkCH`yl+LGX9HKoces9^dj(eqy zQCbA2>(uFIcCcKydv8Af%*2Iv

    =+>Y=la2KgH{xqFGvO;__e)j`F9Q9mPFxE;%pS?VX=qB_ioSKqkTCH+#r(0`ZO}cuv zYg?wD`^McX{Un`_S=CziNjhG5Hdj{gib`BpAhWEE{`nPLGiIIFI&Ky|kF$37kFauK z2F6ocU9I-{S=Nd<_3Z9`#CWIp`(CRTSw*=MTyH#Izf5cqTjv~2Ux_ZA<7ywgIcG2U z#wql5e!yadr@!CnU6=GZC+0l+c#2q8Pwc^r4$H%b-hY2<>HopN+S2BtS$n&Tlj6my z_x!g__BYRHc$pkm^!{+OLByHI&m5G4j(9%)do4fy$ve*0-!5|NW&W3mik;i(J!$FV zp!d$}Wlsh0El#nl({U2JBL8Z2v5;4Ny#D`<9`RZC_MQ4)vU~RZ3O#{fyH6Yu+@HC2 z_%vzo%U8y+ckK77nRQ<%uHg1J)=rVjQdVp#30c1~nHtUFnf~=oxt~61q0DSnv5cm( zUKb4Z%=($$@yy;JIQ<|$)5N6Yy|#AtTo1XH75X}IF)}$G{CFq!Sfk@XRo$)~=C1xv zPqbb1Uu^YHv)R+D$E(_FZu(J%2VpxT58bz|W}e)?|G(zn%I|;l!t?h$THpQQN5Q>c zyPwG=8m&{UqPqcbCA?y1B*i_vhg z^YMAO+p)fPURdgTpZH})Y(?^%rU#pvZXDhBQ*OoHQ&;$Qg}Nnh^$o)xeRK1- zMV>gEcwtqm!GZreH%&F}E%z|G8z|lJ)#1**bk!<=p$f zlkfVRF_v-tr~a8Ot2k@l$L9~Fl|L`}=zjD7gUYPcQxx)Gu_+v~s`I zc{bW@(P(07y=bNPD``Q3#;r8vNt~L;{OVS{u>W${>dxtaDH^7xOtv?o^wOUfotqh1 z8xeG9TFH+i`zyEp*zjXRN}cZCldGS8H}9T)9eNw#o}JMx<~JsRb`N-ib`Qvfc6aYu zdCKbcRQc}Hv+c!a2_J85yK6rC=+V`QorX$Fg$rM{ulX#!la<@;*wy^@rKXENY>Qnt zQ^CvgzryLy`+onrw)7Lfneb_^P0ypmT8zvJ|Lj|Fy7uv*Tj`SZmAv=Adu>dMIVf)7 z1KL(^o&QHupt0@1q0?tKJmJ_H_IbyYy>H8Mr@e1epCr8UMapI+ABnls?AlaUPBM3W z{rB0C2a=^Xl9wEft$kYVnbhjVxS#hPXYcdgZ6#igb3+!^s4pFjl zuY*$+E0zZzG&>r7 z<#cTA{o1SH`OX5T1oU1=KDbj;RWD@07q{)fjakx8b3glA6)d@*mNDm~@d3%d3~51~ zbt*AV4?_GD{@2~!e)C(mjeYi?r&~jVW1L=@h6~5UnbzJtyHLVtmBf+XpC3K?ep;Nn z;?P{5J$bjzC5xE7+&Im$;D|NnkL~A{F1a&ZZl%CN;Se9eL$a)d+R5BKO>m! z!}aakB1Vtxu}eCiTG{?oo5ugdu=2stv$rQSC?yBw<>}Y5WGk9VPE#+6&QE$a^RRhZ zB+IXDnzw{|5*gB;E{j-kFZO6i^zm~G-hF%2x%OYjeD$}*Y*LTUZFq2Y-QK-DGQsDT zWv$)+Ihxl+GgxQ+-rL7#$bHY6`Yld&zDVU!_KUMs^7h)*?LYO(s=-z0VC&!aPm@~b zS#H}e=b-*DVy)1eRrQPh1a)sRdXpP|{Nda?(dWNOEHr%>C$TXjh=RbYDVMDy>ZKX-mOFA~sy`AgjO5Ko<*vf;n?&ky2ac*Iv( ze%)-}{Q};v4$I}_PuVPru$pzK_5*9v&Z7@rKh+Dn5jAhy-S4i~S+BEbY`e_9mnB1) zWAm>KH{C-xU00MPcTMz*IeVeAE2TF0$?Zk&PA#hw)qHxU&Qs*ZRzB+oTHpMi1$_SX zt4{Rhxh+QpX5Zv;emz;nv(V33)pSMJ=6Ux;4gODE_}eLKjSF}G(|3whDI%MSlq!Q} zg_wFMzId1OA)AraPqV)^N7jO+=do03aqJm)?vs-(%+?*USadbww*K_J+Ya12a`EdL zU+bA$m4ENvbKfb6>CDpnKKIUzOpLqA=N(*Up7vTp`_T6bhF@-;Xk43ImG}3gue_Rr zg^c&t=&fge-F^FXCFhAIz7H?Ya9-JOH810SZ^P+14_%~EU%LvO+SvarQ>eXDu32mM3fVjzAJG?yI*(8Ox9h(><#DGG zeR0$=Mw-3qUej|6)}+0^bgwskfqfR#9w@?d33S=&8QoSbE@))cm8es#e#|d-<#}mCo=v93llt4` z7Xp?&^Z)vGp`%A}1^?sDy~?5KH>{oKTDJY2 z;_cUz$AvHPxT)3T#C`Md!@0jLzTYwaWwgBI?8^U3-ha*emijIA+@Yv{QSYDG>!#<| zn+t_?Ebcoyy?pZzrrE}zj(Z-cE4t5{@VHOo4=E{?>Aoh+ug%)NupKm-P(T_!ukszUl2`vD0B4EzGb|}8_ad)Ukd%0 z;oTDaNwt0#*ImIjgWSy*HyjZuJo918w;6XD4Me9`)Pz@a&#hO|eCXBrCFSXK6Tw-h z=1k7I&9b{GVA|g*KJ7UL+83{?wYtbg?asb6H(s~pLW`uC{(-JZT2_n)TTKeMHLrwQ z`ZSrkK5wn(+xeM)I)84cX#edZ*-1-vE}mNPB`rGF`+wF>-h)y}B4_p9&rUwmxZsG_ z?CJLRmUvkkuP}MoH2clPWqnf{nIzVniLW~;ux{;{k0EbY-OKO${kvcfb9TlfO;H{( zQ>7298R)_}SNnG^SE^K&W)9nt;#3sqo0&Y1{rS?&iulwVCN(3=|lPzv{7Ngxc?G z3eGTFk!^p7KUes?p^L$3L9><9S2}N*wp(kFXjVdqoBPi5tWQHW$Za|t=GJ0xbLH{& zZEqI!7C&(4UGRFRcW>(53+4)z*>5hGJN7JH^Zt%f;3OCOd9R(@)?Gc3m0BVHV@@~E z_HDcD^G=(!x<{H7#J^=U^iQ1oeNv#V5VK}x(caT$lU1K99e<;#;Up(xJmsmvDZPtR zQ|>&vm;1;n!;|HB@tu{8N*C^?K1rP~ZYk=lxIpefj{Gli=gwT!-ox8g?e=8*RG-zG zoUp1-fWN@=-lmS6byE*-pA}ncaioRev-V-*N2hi>>%4gpp)s%VQ+)lKl5%mLe~mFb zw|_fl#3*)7D7ka*%aN1wPj9;^r+iGLK^n2U)Z~(!u9`t`Sp8e zE6hyVllwsH&9;tRlUK8rA6VzZtIQpD^Xw}3iv03BRFh({R^K4; zo=L)?eWHwS7Wlort*U0kCMmRhP16bqzsU8$LRX_@w#-`~RNQpv(`WtFJI|!OOZlP4 z>HZ?~@aDU#V$}6E$2@z$^ww&TKb!eg+d1_s&3P|;%lLMWE#Gou-`)!$^7;EV9lhVZ zKB?z>_<O14&if_tCmT??l)t#Oj`{*rWQ96fcmP7Jg zLB^L8HVRDO%XfU*YN+mTKVcI8Rl`_e9?Qy@BU2)e8Srl~Ok*#2I@KqB&7A9Ue-f_n z9eZ+u*WTPesrIY?8J1KTcK^#ywP#PBvGI-M(+bmFAKooVzwkcl(K_$DT8<78h7NiS zU%qKA<>8%i`_?C!d-a+7Hj$J(gtAG1!_);{{VuU1d>{{7Ua0mrZWUcPCsE9axQ zX$tqJ*D1#*??1ln-qg!ej_-LP!FS?m@gtGSS#oDzTJc`A+VN>`-1JUMi^v)Cl)me> z%?=loQ!xFw=!5Pxft2%|wPv%e;+EMa?6^Ap^xsGRoF|!LZhmTZ{x{RPK;~xZKhIW9 zm4}5~n_9g)1nc6m3+-ZlhQ768Y<|D{#<5~`m3tn3l_$&lrrkap+_avN&2>_&Z}!SP zYyTJfZhFvpZca$ZCI)k@8M}pl7<&Aj-(X+Mu_PYyAdU}601ZepG2%8_SQ1xlm zjdxq$cyjnI6PtYb^;^$#EKJY2WE!&>HhLyYy)OT^XU>1K&-3dUy+UvGV5zM@br7gt zGBh(pEC(~fvc<|6)M+DFTdfU;*H&8?Gi~0x^N4tK>ut)Kz3SaD2Zz8ZF3~Efc5{~4 zi!Qi-f&cZ>f;5*|lXMju#mw5u_1@npem3Xya!t3CuG{l}OQ%m>e)95^8>au&&n>gp zS2LI2+8_#^@vOR(s}SrYaw)`L^jSxNWo*ji)%Q=Q)bFjB5zslM(bOh(jas0~;1 zMP4sDGihq?R1dF}f2$%>%(gmsNyL|4(UWYMI?*mObb98#jhqS_7hP$8rX4P2=r#AA zynATVEDoO*0_J|YnAe~OdKt@|6d5%+8(&) zsFxeufqx$t7bnione@l~ ziJUMivquPTRmqc0$6Ytyj|@;em+-bSXict;>zoefoN1+82Nu>TpA+Kg)@4@8c+_85 zFZ$N*HZQ~CD~tSnCx|U$;@)3&Cc)$30&{T#;R5gZu{x@!Ui%i+*EU5=X?E*6__j*# zlmEW=OcxsDdKtJv_pt42d}pA`{^0**p5oVrKb}9S%akd0vUt?=<$U3FwyYyF4IcJQ zJ^k44;bE)gFM5(Lno5-PC%?7M3=Apo=lMQWJT>(E-X#TnJlwa0nWbNC>U@33Yej&^ zC5G&ID%#P!rXCv?B!&Jux{awok-2*1JxdN%Il0&%kJIdX{(rxr`7l10N!{+r{ZCgm zwl?17y8j@h?2oO?3^k9}%eItWF1~+Qr;R1!T=TzB>ElHiQ|<1oB>#yqE?P=uvHr3vw z^36-$mA#yQ-jy&Gi?TKSUcJ;fC6Vcer;O=Tb1uh2ReRsQk=`P6?m_T@+f9)ij9TZb z!>`Ys`Otvz*u-9yg1*BGw@(yyOk!%DXWjoGDd686M%Ik%GTYqTO|e(5e80Xt&-HcL zbfs&>lBFB=mw76w-A}n@r}f&zZ|=jsx9(faI4!=VSXb}){CJt-`ktlV!{bl9nf$wU zqF9K8`k5PReofA~E?Xdy_@%-r^p5uTyEppsVk6nS=NH(?pWik+W#*I329e42Exx9F|XG*Pgpkg?|S9trj{H!2uEJStfFC}VqZy#E0^(VX=@W@q&_ z-Q%1e+Mf6@Lvp!WI%`i&V*iBid3UzF|M_jF^!vSUL(clutpAXDm-*`V#W$y^A6WdB zr;+{ht@cgV)$U1o2h22nSY+h>rhS_J|G%3;g|AngWV-+9>KXnS?A%_(>JPiVm3-TU^;g%dm~FL?gOAC)y_)U%&e}CTzn@$` z`la9V_iuS`pSx2r3tDjT2`*@jEG*&kdd9|>-2!9K3SEK)?b(R4MYqia_Py3DDM@o- z`EUQ$hyU%Dd%I@Mv6;M3<3y6uWG>C)r@T$yT7NmXi-B>1iRST4o0)xlo5C5sy}z9= z{$sd&ndxSCZ{FIwHY}L`)}?p;du7xs_r?3>X8kWT zY81KVIqm)1GpC|oo9>d2i*GIwc+r#DydfeDRJg|PE8|u*aw-z^TQT>9Lhsfkj#qA2 z>o4Uo6f>=T;yieS9#jj+eg5{u|8YmM+oUa)Q(Y@ zx^d(D^K-qAtXSyZqj2o9CD(p24DQI34NkeJ`{`SP{C$PHSA9>YskGZZ zJ#Qj#b{X%(OChfo3YWd!ySU?1$qTh7(_WVxS{|AH(BJ83fw)URlG5UPXRN0i>IpKs zq_!wBrdKKFPCm=#u6!`)UEl@lbpaYG8eX@mqfIhB>OD7_wC>NVh!)Jm%nvv z%=F_mI;E2QuG~C)_nzF`tAUr3pR>9K%~IbyRdA(%Y0VTphWqPm%6~Gg@Kn@$&RucQ z+F|0gDLzKaewZZdPl@OhO#L#G#q>B}d*k!#rC{Wry_4e`%>*+v;x?zf?YDGQmkcQ2kPav(DmH|5DzZ zke=j;;R_#2%x$VZb)S8QVB5`PS+$oLY~L7W_ga6wF()}V{A=w~-3J%sJY%BY@6qbA z@MPVr`+tisdp?`l2f2;0#jM_;oAz>7=fl?ryfK{K3k@-G^R^8$7t(w&(iw2lrc+ zAN#YbuH!J%;fv3#tmQr(YHK^+xUOyG^o~PY4$7(4HyLrRz2neltP$&YCP1=b`Fnrn zR3FAKm*#vBIoDxw@y4mL#hf3cddx1axggW2z`Wo_@&cg+CpFgI{uFZU?gH)$%l{ty z7IWjVrc=Pm9gEYGc#AVtjO$H)=)2m_6HTq-_`JxhiMK)Y?gFcMzXIlcOI&-f^XT@} z&mR7ZpFn@#gEp`p1*5Vlh?&lOHQm~YI5;E zzg%s7Opcve->eCT7WAK0d;Lt5Ynky(p2+tLnVhSI|6YmOrr5AdUig!9bbHUi7SCfV zk23F)Xc6&xe^Ewf;+4#lyT=$D=4g7}-MV~%i|ALi3+y~gE|!Vk>YkIp<74qS^7FgD z(ozgZekHxvRP0RCs#tfSzFXj*k?Mt&YqH%~R`nQWxLvT?XegMrcVUm;&ez$zd)M6i z>U8i7$Hoa$-Y=;;)p0mZLbLFG#O=+KuB@x>*XuvO#9_w?XU0p0tbP3A6Fe6xJv|r@ z+V{%uz!4LP{9TdU2A!Fg>Sn4n?z;Q*xu9>+k_fIicij^KD;K?3_`1bu#>YFW?q;4> zzPznku3?q$RN+~Mj$Iof68V2`;z%!;9JGi3Y47iyJJVyF%BC{dyBR zioRD{DGEL-e&gi3Prb8-_3j34*5~hIb!HlWKgSZF^(c691GhrhORMO4kDMnOSiSnL z?=H#Wyo3t1=_C=jfLjz)sc zE*7etzy88v=7_oATY+*n@H3iC|HzXT|H&y>rn67wl!|C|UDkK;?Kh@pbv?Qvb))fN zyJ1vH>D861f|t*JFFs`htL(p{`=9=M_V?^>*3a25{ddOy`TXzMZ}YH&T!mLQ9{u~+ zx1tgGTA;f6&#$)EMQ^=-cmHm|Ssa?OHWmB#Rfd}Ve!T8hc>6>3vmE8Kj?e#8^SE#jpIy%XC(Tvi6z3mSJop+@5xhjYLz9#)(lE>Pd z7+t>X{U+V%=Uhm&?Kf(3GlbENz1|9whA;y30#{?>F`|K7jv+pK>1L@ru6 zaek3W4$s>Z-SqT%Mw%Q`lU}_%9DelW!`8@0{P($*w~Ig8@@tjF+PJREuc9ArsZ#XY z9xuB5_Vh<3zt?`S4*Z!n0q!<_%fyO?BklH z%_TR*x;EOe=e5MHU@O%pcUQhvUgl>!#aiQv&bm_n_Edq`1jo+Li!%5Oub)|HRCTLd zGkSsiZqhA0Q)e%TFkbLQS>jsS!KkUe6%iT& z6KtCIS-M`;*4(q;;;9WO4(!@cv_a{lLn7rfc{?|+1vbwgf;x7$9t7JDtW%EkAu=2ow(~7OXdh)_H zv+nQuT6e8`qocl7^$I`BwK?2R^Uf~e)BnrD6|~}Tc=0n)L!WMuQ+s5tyJX+dIq|If zSI`8nJDSVH>#oiCq&;`e(FaoM(+ldFH?QJe!}^o&oYDop*N--e+q z{Jp$!SB*8F`r(dwJj)|IpO?kQImJJ^{zZ+UjZt;Z>7zos?(Q_;d9cUV=ZW*djTZIq zx?^RnJ|-<&qTc>SV{P+p*Xj>-9DXX!#`#Ic)`uePu8M7Z>8i%=xAH?o7N_nz_G<-+ z0xTE*nuRE~zX~mJvY9i(=HR2Uss&LlpT5ukdpcpp%_Fk?zS6V(xn!6oDlhb%T5$5o zO73u#5Bowbo-x<+3!iu}`SJCOi?_X+6&(F5eu+xVql#Nwj@HFj-2QZ?cVhmXB}bF? zuH%>P-=HXT?qy+ZcY%LkTUl(Jm7K%qt$MD} zBtqu!%?V3;-b<=F>{2)_KTG)DoQ8K|x8`kqw_MLM?)c3lNngV=v0GS%EkxF2NNr*1l*HccXEQhV-uSpc*Zt|VR5q2$ZR|e` zUQf0Z2<8l!;k`xG!EYfJ8p?PR`S(OD}A=>U;b4-^HRau*8(T_OZU(HE+r9>c=XSuEyr`2 z=lq^?Sz&^Pe}KZrgX?EjciC;4a`N9Y@ItC5^MwzG%1=6d*>ED`@lD6}mG9)c{c2-Y z^cwC?@ujuG(E(nzD|IdeU8woA=V)8^)hcmbO$Pbbr9s*zpMT8IH(e2`8Yd;txs~mc zrS3oVRnqTLn9k? z_%>wgh3+{~oE}^H^_hU?z0{b#+**y-sn2$*WF)VbD-T_gb#&u|2_>y3gG;|F7O{v% zE^AkqVPMtxbBdQ+|KS;pdgquj^cGA@5nzkF{#^6mXUPHy`Hx~T2O=hB?%#Icz4)Ar z<$(z~kC)odVVvW$`mO=zWYNTT_O`k}OLneqLqK+dDycrV^X)v~4r_@~8L5 zRaRurW_4(cH?@$ud2HXsYfE!}NHsCS#2IYB?p#Ku1=dC?8mu2f~lJ(h2~zDzY_j^evN*TW@VgNMt@=4^yR zSL~sDwF;)HlS`i$wj19nXl6Of^4YSkZA;FNr}5vrZ_j>s|39PruY>YfnjxUZMSfBi zmyv;mIlMD$0$KtB5=ELLGXX7!CEN@NznOPC47AhY#aXk2yLW0cCroF#+px`p*Y;Pd zT4txFc&kYEj=wAZBt2iJq$k$E<`Ya6xiVK>=PGvD5tBdrYH8W#zgvttk`y&{Zi%ga zt)3m^!ExBtp!9FSohLT~Zu!S3ta%{u|7Bs$=j5wfznz|Kt@Pwen%~52=0BI7&6oeP zO8lMXhhq~qytt+}(Ia`;qL-QRPp^4#K4SZvaJTxrsi=~k%&C9n*{V{Ro)H_SHE(Xz zZgXF6oS*EGFfB)qO-W#C+p@itWd-HjOSW`Qw2(0oaywP=eIvJe(Yi-xE3fk%uRGJv zXVz<=ocVJf&pas~AC?u;cP{ZJKVY5sy7#NVrUd)2+W2?JtX@0wO}Vl@ZH+|JeUaG` zN#7;ru)KM^^qt#=fSG^l>{yO)d`Ob|6xqaU)TPQJcA0yg&`G7D6Uy!)fd@Z1v-BnE z>amCXI+Ntm>y`OJHoCzfL~!newKY#f6uj2?W}a&NH|v;lTdn!ER%S<~HJAI=t)0)@ zB%|OXvbuX+;p&AmdiuVx`$wxiZ^)goLB`l_a?@`8+(@z1hZ7PU63!&c?f={!@W9T$ zlIMlS)K>=;8RIzT6;w#b2!$vuJdv$Y^@I1Q=DEF-8Jq+Rr^M}fSQ8(>XK2X#RPpuZ z#o?SQSPoYtZQI?Vd^V+JjYRhLPq*Lxx;{00#qRfq>wn#K&8~g-Whh5{pHQqe+A)+w#?dFp$UR`0+yD#|&`g-km*}Wj~ z)RJb0&vw1L&s@9JAZD7pn1Ofcfk-yL?Cq=d+w5O?*&ue>-S21uRVJieWNfu>VI6$kDagif9ECfcPs0z{rSteY|F&hwH9neOU)v- zD*krqnz7wJc0-VI=G8ps#$JIf!P~8FTkbMoXjFXvvm!BVV#zUfoLf-kDsW`%Fryc`AIKf0DZTkzAB#Wj)%YcIc< zXzOtJjML#I6D)0_bp#T<_5~R)%wJh@d|gg=0P}{KlXq-k{l7QODR++7=S?X^E2hqv zv*^zyE91>e_0H_E%C$YQq^LhOw)*4dy+(2WL$>Z#xG`h7=Ta@EbjSP!agR4%6=(S6 zq#MY(_V%WO%ea?l1nlp>(k|k+@_%hpvfuXnOI5;iZ`#SnSX?=0Im_R3^TiD}9Xf*f z%x+HTFMZl5cwtha$DW#B-0lW5=lUB=xU(YC(SDlmRlh#<%o)FLJwE><%Thmg^1Oy0 z_8+%?%@(1y6m6AV~7w$8H;n09~iLjk`0B~$tfR2f?RpJ`|83T3!m7F!W{?tqi)`uFUV*g!ct?QamF2KTd{m)))m8t&Qo^YPwZdo$%&%b9) zM+8~_G8}u98SMF#`z^2f+?v>jYTWmiF$UaxH?=xofI2wcB_>KsE;bHoBg6WFX6a!my4BonNO)`C`R zgb9FFYpiCDF#rBHqd_l9+fma!kt zpPdtN`t!c4{E3SdeY8K{H``N}ebr!zw%S3pr_;0#K8O-7yJxa|SNHCRUlPpIT?{w; zzJB!T{Pp{y59r@<{PXy)?`_$`s|zNc?4G?yyIDJ?`Lx>eC+mI*oDrL#G3zfk<2Dzm zRh!G-JDusg5b`v<@B70g%7+?m78>s1E-%delq&yslA@Por~BVYpVJ=v-M!3~#h;ZW zeqp8SUf+2J=|v&^-w!&ZbzZdE&$Hq7G~LdFR?V-wBoC;Y8g477JoDYxk2mIdB|1{#Kzj;Z|px5F=QInVfHdcs$clH%(8W%_$(9zNEU?P#G={Nk4}Q%}vvIKBJwK92L;zB=da-uiug7GYYtq1*YR;+DRnzY|)Oau}vhusGKF?2=#6 z63g?JuU1LPPni&u^;F^SK|5B#%T<$VwVs;%Zl0a|ZGE%)w19Irio$-3%4<(~&rfPC zSQfKyQ-^D2qtNE!?@w2*-IctRbHnsw#RYx`6dvAr^_e+w|9VcBy6_|FO9Q5*YwtS3 z+r`~BPjq68Le}4-%JpxL+@JbDEvg?mfP=`7>kZ~FzQMK zF@@M0C7ch6S1vcdy!kWF(HSkXq_gi@wO!G)y~vqu`u^}X&B;BSu3rsOH(dU5bmQ88 zdbc;7(`a}kl{KZ&K;p2Q$JsB8Srh9mN+qv{DZH9B!#}|8M9I1I&E6^+k?Y%vowjCw z`^|RVyCscfO?djrbDckuq8jyk3zK7+&)ij+B-rFXTmQ&UpI!g_!@|QHLwck{O+^gs z?(P5bR(}3Af00FN+&X@7X4u_e>YeJE$$ILBQg`ywYtyaPPGwtBwBTy!yPY+zChbP1 z+8VvK;y;&#E6>~_sdGSnnR~$Wr{@B6GBv&!-A%Z=^Fd+871Ptz_Rr<~8+Pyb6|m)a ziT=|YjiHhATb&NBc~yVv?8ZB4iUoXYH6G=09&q{~(z$YJm~**twMWgXyPDYAIjd|zF$%P)vQuL z!)eOd`mZxuCFie;eIX%wMg8(-W8Kf^pFEJArRTjM*`m)$RkmQ>){q^Je|ER9q(=C8 z>(x8A%&jRia41ePxcqZ{tmoED`=&F8E;ww?H~1--|9oB5AI(a;u!e8n9+_-7^1wmB zu2)s#{5=E;2OhLUfBI>`Jeox#) zYM*OIeHNPVV%DwcJtCc*n>+=Tgykv?@3K~8+_o(<_t}?KXShA=cCNXAZwt$cn032O z?|gpewLW*x38vlif0T#Lt+D*MNuf^nZ)9k9|8@2E_L_X!ClZ{+u9vGnWZk6TqUih8 zDY1`ZdiU#BPrm$GxV3EOT@mf-vcErFGLEzgZunbOTXgG|??&y}yKd}Ak5N?Q>_7i1 zExtT&W}-@~=V|lhd2j!!CtbO~(xxl2{L%B*Ug<26Y(Lc2Xrq6h>@IN z&p0-5TGz4k*G6)QJYj`zS4Us!2v~br&^2PxoTuIYINAD~RRkj@-QQ(dT&-f{l{z~+ z`+DBgA{7hI_O~@G6BY(7U7Eg~Wnt5dB^G8E4c4Y^s=s|}t$m+@W96~*cNQsUyz zaW^%4>N3+eTv)3)@0uNp_*RMP4#P#aSopWz|B=b!)G2sP=V2(7bey9O9~=A{6ZE=EpXA0-krGw!h5=hr1!!%n?!Jf}91X+!W_y`7ey)r604|9SL&@Cu1* zk1T@T1lLTJQoS5iZ8zKbME?VwpM{?3y39t;ZvI^qcYdDB!}ycObUvK&T-zJMxb69_ zyUxpMT`j^Gs{C(mj6WUfVP}(I#k}Rl&ELyfJr*-C^6;pZHZV+Cbo+DR{_Zc?Q!1Tz zemk|9E0lfTM!Va;&mAjbx^?=|hlJjfXYo4k`n&MBT$}Y;Eurgv?PHkfbMMZ((`T(d)t>ia_Df}xSabcyC&Nj?7c#q+ z^Zpc=;O6YEy0cni@~d7|#g8B7pWB&M{jGU%oLkYRTr%<$b=voP!HUj4a?Jq#^3@(Qdr%6|TiX~D4vOtM+_)z#^6^puM2wlMmw`Nt+subE6~ z&1?9hkG{TfmCN#-k7H1elor$(j5K&(He7 zu5kT}eaMo^%=b_C?W+BJZ?*DK#vwfOuqi2Sx#zi0b|(>`;XU(YPMtSuY+UfqA5fsq7X>imX$e^18W z_s+2OII#9`oty9J=n!hR+2`!uhco03@ZC~Ao0g!?w!yoop}K@!f=S`mwqM6Sd%T&l zF@I6p6f14*134Rgwwzp?&Aw^NeUXLBpDft;cX3IxaNeBTHw#yCU0i+7>d0BcQ2DRl zw&|E{WStkTx1(@PjCgS0e9g(yGhUjVwfv)XXZ@wWo1Q!FV7-(%yE^V>)$|!N9^DZ< zcRlV$M?sFoJN5 zm+?;(qkS*-*Z&i+HUB!_o{y1N^U9QG>rbRVH@vNIvPNd1YKY~5>NUaTXVWep={xh} z^}NR`oI~d%j6&roW}e?hdzxxhGF#1})YwdTKK@d$*mEE1STxM>Y>Q9q!*f zx@G5lNuRV=|En{cxW1d-DHO|S;n7*R^Y+ivUmvXp9YL_TbnPt6HUYS%2i5+DmgewF ze@snbQ^&|{0?@7of^CAW5hwd@TL|p^tzGkm!SHbHO9tjII_)xSGdz3d6b0Viw75sr za?;$?I<4ZF|7R~cv1rM(oRVpc7c&}^x{t2<9w+*<&XY4b=zsTr^QVvgKKeVUH2Ft< zuwH$f{=B_gxZFAx_vv2W?HX}lT90JX&R8ie&dF6f^~B9z_xoRaFZRKaD=YC@)$ScD z!;d>}JNcLWWapN!@?T$D)hpNTg2JKG%_St+e>@ zv@Q?5yCvQWJB9tu=4kRfZ2Ek08jqO)o9+5fHLu+*C8ql<;I)6kVd}Sd|8X_@GU0>z zdWBo^x`PA5@5Xf*OtyRTYT0cc;arPZwtLTZ=gr7=GPSz%Z1%2Oi#W9}xLkX4KK0(s zX;U10cxNdpmiW93e6yp}#fo=hu}gNrQGdPvyB^=2HZ6neAfH;E^>c|iHy0L{UtW0C z-|(uB_MJccJ%>-+yK`p4`-(S}A8LBGi3STzl9df#HT$P`tlZ{h8O{Y;nPswmpIyPl#A0IPz2*C*x41}jS-e}2+Y#iar0{B) zt?LTU?$2hCx7R-Vr_yn<*u39zQOu)9KP65og>ao-xAJsH(Lxoy_hQ_Sc9=ctGOs%! zc2k#TiIf-hKCT>gLlq8&5^w>+l zQS!gv`O``D8cjVMeseY_Wqf#8C^F}m!Q8%LPvsSAAIuj?c^p~))9w||R6f}qT0&p6 zzRE9GHNHIW{AckAkB_QpMVo&gW|nwK|9gk50i z(3x{!vU+7z-uau1UvF5Rsh=e8&dT=SsHU|@bc*=&mVe2C zZ)2}I}DDXOI_Eb%Nf4+T9=h8b%Pw*dRp7Ert$FoCU_}jvLKRRV5 zUrbBwOALR>5@{`MA7ARCmGVU!B^(7tGM#zV)GY1jotpZ}kZeSw&47(ioRkc5uk2PYEoDTK>sg zdGUHb-!)IKsjd4WVOrF6vE?1N?vw-XM zm)eC}7=EUN*uQDg*)gAG^~duEY?V%%jl)CeefiG6Q$aG`;0T?2cF$nz+kc7jP3H; z*}u6L2<T)Hl;?3?Pl;bH2_!iPs9Yrj?(Po8Y+R;eQ@r(JtD z>+`1@M_zfpT#@+u*uSnwhj|8*RrdY6=vnjE*7FZn-1O3r678Vu4Z3CXljRv|Cr?=U z|JSbF-*c+(wn?wQe_`p4IiIqGbsW@lN_H*J-=tNlvG=BPwEOM=i%Yf%hu%vHa{PU; z^qS-rFH1Aew|D#f-rhZW#m?zV{PAGMop+j#_$_F>+&1a|ruT^t%oygM6@9feB7Vo* zdu_V2wYD}~o?Y_w=rIQ;^+^UMJ5;|1cfay(z3%k?j`CZLZsA$Y&v@Ri_I<%&QmW~? zS%uxVSgTSfYEftI{m|vxXMC8KykOtbxVKF;0TbA!^xwEs?7sYHa=|O->*j7-MX#J= z_4}H{Hs#2bwJghz#J_Hr{l4*}@@|$ppM&K56)o=UEV-<)N;f2?CXuo3*2mmyKkF)v z%yRI1c5}*v3+LMXt5zQKoN%qInRVgx2REg6E1mlCL7DMI!Ef)pbe!sXi z{KK8K%UV89S$TKotpsre)kK}W#$qouPpB+As?)@IE&Zc+&ACWU#@3D?S?gN9sEuUD^UYlSZ6R;_k<8pH8nO@8GksH- zz*NzG-uCB1f$WWeO|g-;?+4Ej<$q-y-1hB>_O8cU4O=GooGA*swy?{`;nCAA_90m-WT8rfyidx^jy4s*0-anKQp-gi2@oAD=DyV*xM! zdj~VS&CyTo|89%>xAVjP{|v5%b1!45h(XmWxFWVNMrU`gr`Uq%%xMIi~XI*Q}U#NW00x z@#3dX6XK>#y1k{WJUD0D*M)nlpVq633YtVm<(NHeP!mhOqSmi5vFTy*??t(%)5P

    DRJo0{02d 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%0DTflslJ&u;& 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%0AupK53d+)W!{ScHjE@xIEJ` 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

    p3)ar^Je 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%0DEG)Uao(on(J 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 HcjE#8@IlA9 diff --git a/doc/resource.txt b/doc/resource.txt deleted file mode 100644 index 13f1f4798..000000000 --- a/doc/resource.txt +++ /dev/null @@ -1,1258 +0,0 @@ -The GF Resource Grammar Library, Version 1.2 -Authors: Aarne Ranta, Ali El Dada, Janna Khegai, and Björn Bringert -Last update: %%date(%c) - -% NOTE: this is a txt2tags file. -% Create an latex file from this file using: -% txt2tags -ttex --toc resource.txt -%!style(tex) : isolatin1 -%!postproc: "section*{" "section{" -%!postproc(tex): "#SMALL" "scriptsize" -%!postproc(tex): "#BFIG" "begin{figure}" -%!postproc(tex): "#GRAMMAR" "includegraphics[width=4in]{Grammar.epsi}" -%!postproc(tex): "#EFIG" "end{figure}" -%!postproc(tex): "#BCENTER" "begin{center}" -%!postproc(tex): "#ECENTER" "end{center}" -%!postproc(tex): "#CAPTION" "caption{" -%!postproc(tex): "#RBRACE" "end{figure}" -%!postproc(tex): "#CLEARPAGE" "clearpage" -%!postproc(tex): "#PARADIGMSRUS" "input{ParadigmsRus.tex}" -%!target:tex - -#CLEARPAGE - -%%toc - -#CLEARPAGE - -This document is a guide for using the -GF Resource Grammar Library. It presupposes knowledge of GF and its -module system, knowledge that can be acquired e.g. from the -GF tutorial. -We start with an introduction to the library, and proceed to -details with the goal of covering all that one needs to know -in order to use the library. - -How to //write// one's own resource grammar (i.e. to implement the API for -a new language), is covered by a separate Resource-HOWTO document (available in -the www address below). - -The main part of the document (the API documentation) is generated -from the actual GF code by using the ``gfdoc`` tool. This documentation -is also available on-line in HTML format in - -[``http://www.cs.chalmers.se/~aarne/GF/lib/resource-1.2/doc/`` http://www.cs.chalmers.se/~aarne/GF/lib/resource-1.2/doc/]. - - -=Motivation= - -The GF Resource Grammar Library contains grammar rules for -10 languages (in addition, 2 languages are available as incomplete -implementations, and a few more are under construction). Its purpose -is to make these rules available for application programmers, -who can thereby concentrate on the semantic and stylistic -aspects of their grammars, without having to think about -grammaticality. The targeted level of application grammarians -is that of a skilled programmer with -a practical knowledge of the target languages, but without -theoretical knowledge about their grammars. -Such a combination of -skills is typical of programmers who, for instance, want to localize -software to new languages. - -The current resource languages are -- ``Ara``bic -- ``Cat``alan -- ``Dan``ish -- ``Eng``lish -- ``Fin``nish -- ``Fre``nch -- ``Ger``man -- ``Ita``lian -- ``Nor``wegian -- ``Rus``sian -- ``Spa``nish -- ``Swe``dish - - -The first three letters (``Eng`` etc) are used in grammar module names. -The Arabic and Catalan implementations are still incomplete, but -enough to be used in many applications. - - - -==A first example== - -To give an example application, consider a system for steering -music playing devices by voice commands. In the application, -we may have a semantical category ``Kind``, examples -of ``Kind``s being ``Song`` and ``Artist``. In German, for instance, ``Song`` -is linearized into the noun "Lied", but knowing this is not -enough to make the application work, because the noun must be -produced in both singular and plural, and in four different -cases. By using the resource grammar library, it is enough to -write -``` - lin Song = mkN "Lied" "Lieder" neuter -``` -and the eight forms are correctly generated. The resource grammar -library contains a complete set of inflectional paradigms (such as -``mkN`` here), enabling the definition of any lexical items. - -The resource grammar library is not only about inflectional paradigms - it -also has syntax rules. The music player application -might also want to modify songs with properties, such as "American", -"old", "good". The German grammar for adjectival modifications is -particularly complex, because adjectives have to agree in gender, -number, and case, and also depend on what determiner is used -("ein amerikanisches Lied" vs. "das amerikanische Lied"). All this -variation is taken care of by the resource grammar function -``` - mkCN : AP -> CN -> CN -``` -(see the table in the end of this document for the list of all resource grammar -functions). The resource grammar implementation of the rule adding properties -to kinds is -``` - lin PropKind kind prop = mkCN prop kind -``` -given that -``` - lincat Prop = AP - lincat Kind = CN -``` -The resource library API is devided into language-specific -and language-independent parts. To put it roughly, -- the lexicon API is language-specific -- the syntax API is language-independent - - -Thus, to render the above example in French instead of German, we need to -pick a different linearization of ``Song``, -``` - lin Song = mkN "chanson" feminine -``` -But to linearize ``PropKind``, we can use the very same rule as in German. -The resource function ``mkCN`` has different implementations in the two -languages (e.g. a different word order in French), -but the application programmer need not care about the difference. - - - -==Note on APIs== - -From version 1.1 onwards, the resource library is available via two -APIs: -- original ``fun`` and ``oper`` definitions -- overloaded ``oper`` definitions - - -Introducing overloading in GF version 2.7 has been a success in improving -the accessibility of libraries. It has also created a layer of abstraction -between the writers and users of libraries, and thereby makes the library -easier to modify. We shall therefore use the overloaded API -in this document. The original function names are mainly interesting -for those who want to write or modify libraries. - - - -==A complete example== - -To summarize the example, and also give a template for a programmer to work on, -here is the complete implementation of a small system with songs and properties. -The abstract syntax defines a "domain ontology": -``` - abstract Music = { - - cat - Kind, - Property ; - fun - PropKind : Kind -> Property -> Kind ; - Song : Kind ; - American : Property ; - } -``` -The concrete syntax is defined by a functor (parametrized module), -independently of language, by opening -two interfaces: the resource ``Syntax`` and an application lexicon. -``` - 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 ; - } -``` -The application lexicon ``MusicLex`` has an abstract syntax that extends -the resource category system ``Cat``. -``` - abstract MusicLex = Cat ** { - - fun - song_N : N ; - american_A : A ; - } -``` -Each language has its own concrete syntax, which opens the -inflectional paradigms module for that language: -``` - concrete MusicLexGer of MusicLex = - CatGer ** open ParadigmsGer in { - lin - song_N = mkN "Lied" "Lieder" neuter ; - american_A = mkA "amerikanisch" ; - } - - concrete MusicLexFre of MusicLex = - CatFre ** open ParadigmsFre in { - lin - song_N = mkN "chanson" feminine ; - american_A = mkA "américain" ; - } -``` -The top-level ``Music`` grammars are obtained by -instantiating the two interfaces of ``MusicI``: -``` - concrete MusicGer of Music = MusicI with - (Syntax = SyntaxGer), - (MusicLex = MusicLexGer) ; - - concrete MusicFre of Music = MusicI with - (Syntax = SyntaxFre), - (MusicLex = MusicLexFre) ; -``` -Both of these files can use the same ``path``, defined as -``` - --# -path=.:present:prelude -``` -The ``present`` category contains the compiled resources, restricted to -present tense; ``alltenses`` has the full resources. - -To localize the music player system to a new language, -all that is needed is two modules, -one implementing ``MusicLex`` and the other -instantiating ``Music``. The latter is -completely trivial, whereas the former one involves the choice of correct -vocabulary and inflectional paradigms. For instance, Finnish is added as follows: -``` - concrete MusicLexFin of MusicLex = - CatFin ** open ParadigmsFin in { - lin - song_N = mkN "kappale" ; - american_A = mkA "amerikkalainen" ; - } - - concrete MusicFin of Music = MusicI with - (Syntax = SyntaxFin), - (MusicLex = MusicLexFin) ; -``` -More work is of course needed if the language-independent linearizations in -MusicI are not satisfactory for some language. The resource grammar guarantees -that the linearizations are possible in all languages, in the sense of grammatical, -but they might of course be inadequate for stylistic reasons. Assume, -for the sake of argument, that adjectival modification does not sound good in -English, but that a relative clause would be preferrable. One can then use -restricted inheritance of the functor: -``` - concrete MusicEng of Music = - MusicI - [PropKind] - with - (Syntax = SyntaxEng), - (MusicLex = MusicLexEng) ** - open SyntaxEng in { - lin - PropKind k p = mkCN k (mkRS (mkRCl which_RP (mkVP p))) ; - } -``` -The lexicon is as expected: -``` - concrete MusicLexEng of MusicLex = - CatEng ** open ParadigmsEng in { - lin - song_N = mkN "song" ; - american_A = mkA "American" ; - } -``` - - -==Lock fields== - -//This section is only relevant as a guide to error messages that have to do with lock fields, and can be skipped otherwise.// - -FIXME: this section may become obsolete. - -When the categories of the resource grammar are used -in applications, a **lock field** is added to their linearization types. -The lock field for a category ``C`` is a record field -``` - lock_C : {} -``` -with the only possible value -``` - lock_C = <> -``` -The lock field carries no information, but its presence -makes the linearization type of ``C`` -unique, so that categories -with the same implementation are not confused with each other. -(This is inspired by the ``newtype`` discipline in Haskell.) - -For example, the lincats of adverbs and conjunctions are the same -in ``CatEng`` (and therefore in ``GrammarEng``, which inherits it): -``` - lincat Adv = {s : Str} ; - lincat Conj = {s : Str} ; -``` -But when these category symbols are used to denote their linearization -types in an application, these definitions are translated to -``` - oper Adv : Type = {s : Str ; lock_Adv : {}} ; - oper Conj : Type = {s : Str} ; lock_Conj : {}} ; -``` -In this way, the user of a resource grammar cannot confuse adverbs with -conjunctions. In other words, the lock fields force the type checker -to function as grammaticality checker. - -When the resource grammar is ``open``ed in an application grammar, -and only functions from the resource are used in type-correct way, the -lock fields are never seen (except possibly in type error messages). -If an application grammarian has to write lock fields herself, -it is a sign that the guarantees given by the resource grammar -no longer hold. But since the resource may be incomplete, the -application grammarian may occasionally have to provide the dummy -values of lock fields (always ``<>``, the empty record). -Here is an example: -``` - mkUtt : Str -> Utt ; - mkUtt s = {s = s ; lock_Utt = <>} ; -``` -Currently, missing lock field produce warnings rather than errors, -but this behaviour of GF may change in future. - - -==Parsing with resource grammars?== - -The intended use of the resource grammar is as a library for writing -application grammars. It is not designed for parsing e.g. newspaper text. There -are several reasons why this is not practical: -- Efficiency: the resource grammar uses complex data structures, in -particular, discontinuous constituents, which make parsing slow and the -parser size huge. -- Completeness: the resource grammar does not necessarily cover all rules -of the language - only enough many to be able to express everything -in one way or another. -- Lexicon: the resource grammar has a very small lexicon, only meant for test -purposes. -- Semantics: the resource grammar has very little semantic control, and may -accept strange input or deliver strange interpretations. -- Ambiguity: parsing in the resource grammar may return lots of results many -of which are implausible. - - -All of these problems should be solved in application grammars. -The task of resource grammars is just to take care of low-level linguistic -details such as inflection, agreement, and word order. - -It is for the same reasons that resource grammars are not adequate for translation. -That the syntax API is implemented for different languages of course makes -it possible to translate via it - but there is no guarantee of translation -equivalence. Of course, the use of functor implementations such as ``MusicI`` -above only extends to those cases where the syntax API does give translation -equivalence - but this must be seen as a limiting case, and bigger applications -will often use only restricted inheritance of ``MusicI``. - - - -=To find rules in the resource grammar library= - -==Inflection paradigms== - -Inflection paradigms are defined separately for each language //L// -in the module ``Paradigms``//L//. To test them, the command -``cc`` (= ``compute_concrete``) -can be used: -``` - > i -retain german/ParadigmsGer.gf - - > cc mkN "Schlange" - { - s : Number => Case => Str = table Number { - Sg => table Case { - Nom => "Schlange" ; - Acc => "Schlange" ; - Dat => "Schlange" ; - Gen => "Schlange" - } ; - Pl => table Case { - Nom => "Schlangen" ; - Acc => "Schlangen" ; - Dat => "Schlangen" ; - Gen => "Schlangen" - } - } ; - g : Gender = Fem - } -``` -For the sake of convenience, every language implements these five paradigms: -``` - oper - mkN : Str -> N ; -- regular nouns - mkA : Str -> A : -- regular adjectives - mkV : Str -> V ; -- regular verbs - mkPN : Str -> PN ; -- regular proper names - mkV2 : V -> V2 ; -- direct transitive verbs -``` -It is often possible to initialize a lexicon by just using these functions, -and later revise it by using the more involved paradigms. For instance, in -German we cannot use ``mkN "Lied"`` for ``Song``, because the result would be a -Masculine noun with the plural form ``"Liede"``. -The individual ``Paradigms`` modules -tell what cases are covered by the regular heuristics. - -As a limiting case, one could even initialize the lexicon for a new language -by copying the English (or some other already existing) lexicon. This would -produce language with correct grammar but with content words directly borrowed from -English - maybe not so strange in certain technical domains. - - - -==Syntax rules== - -Syntax rules should be looked for in the module ``Constructors``. -Below this top-level module exposing overloaded constructors, -there are around 10 abstract modules, each defining constructors for -a group of one or more related categories. For instance, the module -``Noun`` defines how to construct common nouns, noun phrases, and determiners. -But these special modules are seldom or never needed by the users of the library. - -TODO: when are they needed? - -Browsing the libraries is helped by the gfdoc-generated HTML pages, -whose LaTeX versions are included in the present document. - - -==Special-purpose APIs== - -To give an analogy with the well-known type setting software, GF can be compared -with TeX and the resource grammar library with LaTeX. -Just like TeX frees the author -from thinking about low-level problems of page layout, so GF frees the grammarian -from writing parsing and generation algorithms. But quite a lot of knowledge of -//how// to write grammars is still needed, and the resource grammar library helps -GF grammarians in a way similar to how the LaTeX macro package helps TeX authors. - -But even LaTeX is often too detailed and low-level, and users are encouraged to -develop their own macro packages. The same applies to GF resource grammars: -the application grammarian might not need all the choices that the resource -provides, but would prefer less writing and higher-level programming. -To this end, application grammarians may want to write their own views on the -resource grammar. One example of this is the overloaded predication -operation ``pred`` available in ``api/Combinators``. -Instead of the ``NP-VP`` structure, it permits clause construction directly from -verbs and adjectives and their arguments: -``` - pred : V -> NP -> Cl ; -- x converges - pred : V2 -> NP -> NP -> Cl ; -- x intersects y - pred : V3 -> NP -> NP -> NP -> Cl ; -- x intersects y at z - pred : V -> NP -> NP -> Cl ; -- x and y intersect - pred : A -> NP -> Cl ; -- x is even - pred : A2 -> NP -> NP -> Cl ; -- x is divisible by y - pred : A -> NP -> NP -> Cl ; -- x and y are equal -``` - - -==Browsing by the parser== - -A method alternative to browsing library documentation is -to use the parser. -Even though parsing is not an intended end-user application -of resource grammars, it is a useful technique for application grammarians -to browse the library. To find out which resource function implements -a particular structure, one can just parse a string that exemplifies this -structure. For instance, to find out how sentences are built using -transitive verbs, write -``` - > i english/LangEng.gf - - > p -cat=Cl -fcfg "she loves him" - - PredVP (UsePron she_Pron) (ComplV2 love_V2 (UsePron he_Pron)) -``` -The parser returns original constructors, not overloaded ones. - -Parsing with the English resource grammar has an acceptable speed, but -with most languages it takes just too much resources even to build the -parser. However, examples parsed in one language can always be linearized into -other languages: -``` - > i italian/LangIta.gf - - > l PredVP (UsePron she_Pron) (ComplV2 love_V2 (UsePron he_Pron)) - - lo ama -``` -Therefore, one can use the English parser to write an Italian grammar, and also -to write a language-independent (incomplete) grammar. One can also parse strings -that are bizarre in English but the intended way of expression in another language. -For instance, the phrase for "I am hungry" in Italian is literally "I have hunger". -This can be built by parsing "I have beer" in LanEng and then writing -``` - lin IamHungry = - let beer_N = regGenN "fame" feminine - in - PredVP (UsePron i_Pron) (ComplV2 have_V2 - (DetCN (DetSg MassDet NoOrd) (UseN beer_N))) ; -``` -which uses ParadigmsIta.regGenN. - - - -==Example-based grammar writing== - -The technique of parsing with the resource grammar can be used in GF source files, -endowed with the suffix ``.gfe`` ("GF examples"). The suffix tells GF to preprocess -the file by replacing all expressions of the form -``` - in Module.Cat "example string" -``` -by the syntax trees obtained by parsing "example string" in ``Cat`` in ``Module``. -For instance, -``` - lin IamHungry = - let beer_N = regGenN "fame" feminine - in - (in LangEng.Cl "I have beer") ; -``` -will result in the rule displayed in the previous section. The normal binding rules -of functional programming (and GF) guarantee that local bindings of identifiers -take precedence over constants of the same forms. Thus it is also possible to -linearize functions taking arguments in this way: -``` - lin - PropKind car_N old_A = in LangEng.CN "old car" ; -``` -However, the technique of example-based grammar writing has some limitations: -- Ambiguity. If a string has several parses, the first one is returned, and -it may not be the intended one. The other parses are shown in a comment, from -where they must/can be picked manually. -- Lexicality. The arguments of a function must be atomic identifiers, and are thus -not available for categories that have no lexical items. -For instance, the ``PropKind`` rule above gives the result -``` - lin - PropKind car_N old_A = AdjCN (UseN car_N) (PositA old_A) ; -``` -However, it is possible to write a special lexicon that gives atomic rules for -all those categories that can be used as arguments, for instance, -``` - fun - cat_CN : CN ; - old_AP : AP ; -``` -and then use this lexicon instead of the standard one included in ``Lang``. - - -=Overview of syntactic structures= - -==Texts. phrases, and utterances== - -The outermost linguistic structure is ``Text``. ``Text``s are composed -from Phrases (``Phr``) followed by punctuation marks - either of ".", "?" or -"!" (with their proper variants in Spanish and Arabic). Here is an -example of a ``Text`` string. -``` - John walks. Why? He doesn't want to sleep! -``` -Phrases are mostly built from Utterances (``Utt``), which in turn are -declarative sentences, questions, or imperatives - but there -are also "one-word utterances" consisting of noun phrases -or other subsentential phrases. Some Phrases are atomic, -for instance "yes" and "no". Here are some examples of Phrases. -``` - yes - come on, John - but John walks - give me the stick please - don't you know that he is sleeping - a glass of wine - a glass of wine please -``` -There is no connection between the punctuation marks and the -types of utterances. This reflects the fact that the punctuation -mark in a real text is selected as a function of the speech act -rather than the grammatical form of an utterance. The following -text is thus well-formed. -``` - John walks. John walks? John walks! -``` -What is the difference between Phrase and Utterance? Just technical: -a Phrase is an Utterance with an optional leading conjunction ("but") -and an optional tailing vocative ("John", "please"). - - -==Sentences and clauses== - -TODO: use overloaded operations in the examples. - -The richest of the categories below Utterance is ``S``, Sentence. A Sentence -is formed from a Clause (``Cl``), by fixing its Tense, Anteriority, and Polarity. -For example, each of the following strings has a distinct syntax tree -in the category Sentence: -``` - John walks - John doesn't walk - John walked - John didn't walk - John has walked - John hasn't walked - John will walk - John won't walk - ... -``` -whereas in the category Clause all of them are just different forms of -the same tree. -The difference between Sentence and Clause is thus also rather technical. -It may not correspond exactly to any standard usage of the terms -"clause" and "sentence". - -Figure 1 shows a type-annotated syntax tree of the Text "John walks." -and gives an overview of the structural levels. - -#BFIG - -``` -Node Constructor Value type Other constructors ------------------------------------------------------------ - 1. TFullStop Text TQuestMark - 2. (PhrUtt Phr - 3. NoPConj PConj but_PConj - 4. (UttS Utt UttQS - 5. (UseCl S UseQCl - 6. TPres Tense TPast - 7. ASimul Anter AAnter - 8. PPos Pol PNeg - 9. (PredVP Cl -10. (UsePN NP UsePron, DetCN -11. john_PN) PN mary_PN -12. (UseV VP ComplV2, ComplV3 -13. walk_V)))) V sleep_V -14. NoVoc) Voc please_Voc -15. TEmpty Text -``` - -#BCENTER -Figure 1. Type-annotated syntax tree of the Text "John walks." -#ECENTER - -#EFIG - -Here are some examples of the results of changing constructors. -``` - 1. TFullStop -> TQuestMark John walks? - 3. NoPConj -> but_PConj But John walks. - 6. TPres -> TPast John walked. - 7. ASimul -> AAnter John has walked. - 8. PPos -> PNeg John doesn't walk. -11. john_PN -> mary_PN Mary walks. -13. walk_V -> sleep_V John sleeps. -14. NoVoc -> please_Voc John sleeps please. -``` -All constructors cannot of course be changed so freely, because the -resulting tree would not remain well-typed. Here are some changes involving -many constructors: -``` - 4- 5. UttS (UseCl ...) -> - UttQS (UseQCl (... QuestCl ...)) Does John walk? -10-11. UsePN john_PN -> - UsePron we_Pron We walk. -12-13. UseV walk_V -> - ComplV2 love_V2 this_NP John loves this. -``` - - -==Parts of sentences== - -The linguistic phenomena mostly discussed in both traditional grammars and modern -syntax belong to the level of Clauses, that is, lines 9-13, and occasionally -to Sentences, lines 5-13. At this level, the major categories are -``NP`` (Noun Phrase) and ``VP`` (Verb Phrase). A Clause typically -consists of just an ``NP`` and a ``VP``. -The internal structure of both ``NP`` and ``VP`` can be very complex, -and these categories are mutually recursive: not only can a ``VP`` -contain an ``NP``, -``` - [VP loves [NP Mary]] -``` -but also an ``NP`` can contain a ``VP`` -``` - [NP every man [RS who [VP walks]]] -``` -(a labelled bracketing like this is of course just a rough approximation of -a GF syntax tree, but still a useful device of exposition). - -Most of the resource modules thus define functions that are used inside -NPs and VPs. Here is a brief overview: - -**Noun**. How to construct NPs. The main three mechanisms -for constructing NPs are -- from proper names: "John" -- from pronouns: "we" -- from common nouns by determiners: "this man" - - -The ``Noun`` module also defines the construction of common nouns. -The most frequent ways are -- lexical noun items: "man" -- adjectival modification: "old man" -- relative clause modification: "man who sleeps" -- application of relational nouns: "successor of the number" - - -**Verb**. -How to construct VPs. The main mechanism is verbs with their arguments, -for instance, -- one-place verbs: "walks" -- two-place verbs: "loves Mary" -- three-place verbs: "gives her a kiss" -- sentence-complement verbs: "says that it is cold" -- VP-complement verbs: "wants to give her a kiss" - - -A special verb is the copula, "be" in English but not even realized -by a verb in all languages. -A copula can take different kinds of complement: -- an adjectival phrase: "(John is) old" -- an adverb: "(John is) here" -- a noun phrase: "(John is) a man" - - -**Adjective**. -How to constuct ``AP``s. The main ways are -- positive forms of adjectives: "old" -- comparative forms with object of comparison: "older than John" - - -**Adverb**. -How to construct ``Adv``s. The main ways are -- from adjectives: "slowly" -- as prepositional phrases: "in the car" - - -==Modules and their names== - -This section is not necessary for users of the library. - -TODO: explain the overloaded API. - -The resource modules are named after the kind of -phrases that are constructed in them, -and they can be roughly classified by the "level" or "size" of expressions that are -formed in them: -- Larger than sentence: ``Text``, ``Phrase`` -- Same level as sentence: ``Sentence``, ``Question``, ``Relative`` -- Parts of sentence: ``Adjective``, ``Adverb``, ``Noun``, ``Verb`` -- Cross-cut (coordination): ``Conjunction`` - - -Because of mutual recursion such as in embedded sentences, this classification is -not a complete order. However, no mutual dependence is needed between the -modules themselves - they can all be compiled separately. This is due -to the module ``Cat``, which defines the type system common to the other modules. -For instance, the types ``NP`` and ``VP`` are defined in ``Cat``, -and the module ``Verb`` only -needs to know what is given in ``Cat``, not what is given in ``Noun``. To implement -a rule such as -``` - Verb.ComplV2 : V2 -> NP -> VP -``` -it is enough to know the linearization type of ``NP`` -(as well as those of ``V2`` and ``VP``, all -given in ``Cat``). It is not necessary to know what -ways there are to build ``NP``s (given in ``Noun``), since all these ways must -conform to the linearization type defined in ``Cat``. Thus the format of -category-specific modules is as follows: -``` - abstract Adjective = Cat ** {...} - abstract Noun = Cat ** {...} - abstract Verb = Cat ** {...} -``` - - -==Top-level grammar and lexicon== - -The module ``Grammar`` collects all the category-specific modules into -a complete grammar: -``` - abstract Grammar = - Adjective, Noun, Verb, ..., Structural, Idiom -``` -The module ``Structural`` is a lexicon of structural words (function words), -such as determiners. - -The module ``Idiom`` is a collection of idiomatic structures whose -implementation is very language-dependent. An example is existential -structures ("there is", "es gibt", "il y a", etc). - -The module ``Lang`` combines ``Grammar`` with a ``Lexicon`` of -ca. 350 content words: -``` - abstract Lang = Grammar, Lexicon -``` -Using ``Lang`` instead of ``Grammar`` as a library may give -for free some words needed in an application. But its main purpose is to -help testing the resource library, rather than as a resource itself. -It does not even seem realistic to develop -a general-purpose multilingual resource lexicon. - -The diagram in Figure 2 shows the structure of the API. - -#BFIG - -#GRAMMAR - -#BCENTER -Figure 2. The resource syntax API. -#ECENTER - -#EFIG - -==Language-specific syntactic structures== - -The API collected in ``Grammar`` has been designed to be implementable for -all languages in the resource package. It does contain some rules that -are strange or superfluous in some languages; for instance, the distinction -between definite and indefinite articles does not apply to Finnish and Russian. -But such rules are still easy to implement: they only create some superfluous -ambiguity in the languages in question. - -But the library makes no claim that all languages should have exactly the same -abstract syntax. The common API is therefore extended by language-dependent -rules. The top level of each languages looks as follows (with English as example): -``` - abstract English = Grammar, ExtraEngAbs, DictEngAbs -``` -where ``ExtraEngAbs`` is a collection of syntactic structures specific to English, -and ``DictEngAbs`` is an English dictionary -(at the moment, it consists of ``IrregEngAbs``, -the irregular verbs of English). Each of these language-specific grammars has -the potential to grow into a full-scale grammar of the language. These grammars -can also be used as libraries, but the possibility of using functors is lost. - -To give a better overview of language-specific structures, -modules like ``ExtraEngAbs`` -are built from a language-independent module ``ExtraAbs`` -by restricted inheritance: -``` - abstract ExtraEngAbs = Extra [f,g,...] -``` -Thus any category and function in ``Extra`` may be shared by a subset of all -languages. One can see this set-up as a matrix, which tells -what ``Extra`` structures -are implemented in what languages. For the common API in ``Grammar``, the matrix -is filled with 1's (everything is implemented in every language). - -Language-specific extensions and the use of restricted -inheritance is a recent addition to the resource grammar library, and -has only been exploited in a very small scale so far. - - -=API Documentation= - -==Top-level modules== - -===Grammar: the Main Module of the Resource Grammar=== - -%!include: ../lib/resource-1.0/abstract/Grammar.txt - -===Lang: a Test Module for the Resource Grammar=== - -%!include: ../lib/resource-1.0/abstract/Lang.txt - - -==Type system== - -===Cat: the Category System=== - -%!include: ../lib/resource-1.0/abstract/Cat.txt - -===Common: Structures with Common Implementations=== - -%!include: ../lib/resource-1.0/abstract/Common.txt - - -==Syntax rule modules== - -===Adjective: Adjectives and Adjectival Phrases=== - -%!include: ../lib/resource-1.0/abstract/Adjective.txt - -===Adverb: Adverbs and Adverbial Phrases=== - -%!include: ../lib/resource-1.0/abstract/Adverb.txt - -===Conjunction: Coordination=== - -%!include: ../lib/resource-1.0/abstract/Conjunction.txt - -===Idiom: Idiomatic Expressions=== - -%!include: ../lib/resource-1.0/abstract/Idiom.txt - -===Noun: Nouns, Noun Phrases, and Determiners=== - -%!include: ../lib/resource-1.0/abstract/Noun.txt - -===Numeral: Cardinal and Ordinal Numerals=== - -%!include: ../lib/resource-1.0/abstract/Numeral.txt - -===Phrase: Phrases and Utterances=== - -%!include: ../lib/resource-1.0/abstract/Phrase.txt - -===Question: Questions and Interrogative Pronouns=== - -%!include: ../lib/resource-1.0/abstract/Question.txt - -===Relative: Relative Clauses and Relative Pronouns=== - -%!include: ../lib/resource-1.0/abstract/Relative.txt - -===Sentence: Sentences, Clauses, and Imperatives=== - -%!include: ../lib/resource-1.0/abstract/Sentence.txt - -===Structural: Structural Words=== - -%!include: ../lib/resource-1.0/abstract/Structural.txt - -===Text: Texts=== - -%!include: ../lib/resource-1.0/abstract/Text.txt - -===Verb: Verb Phrases=== - -%!include: ../lib/resource-1.0/abstract/Verb.txt - - -==Inflectional paradigms== - -===Arabic=== - -%!include: ../lib/resource-1.0/arabic/ParadigmsAra.txt - -===Danish=== - -%!include: ../lib/resource-1.0/danish/ParadigmsDan.txt - -===English=== - -%!include: ../lib/resource-1.0/english/ParadigmsEng.txt - -===Finnish=== - -%!include: ../lib/resource-1.0/finnish/ParadigmsFin.txt - -===French=== - -%!include: ../lib/resource-1.0/french/ParadigmsFre.txt - -===German=== - -%!include: ../lib/resource-1.0/german/ParadigmsGer.txt - -===Italian=== - -%!include: ../lib/resource-1.0/italian/ParadigmsIta.txt - -===Norwegian=== - -%!include: ../lib/resource-1.0/norwegian/ParadigmsNor.txt - -===Russian=== - -% %!include: ../lib/resource-1.0/russian/ParadigmsRus.txt - -% %!include: ""./ParadigmsRus.tex"" - -#PARADIGMSRUS - -===Spanish=== - -%!include: ../lib/resource-1.0/spanish/ParadigmsSpa.txt - -===Swedish=== - -%!include: ../lib/resource-1.0/swedish/ParadigmsSwe.txt - - -#CLEARPAGE - -=Summary of Categories and Functions= - -These tables show all categories and functions in ``Grammar``, -except the functions in ``Structural``. -All example strings can be parsed in ``LangEng`` and therefore -translated to the other ``Lang`` languages. - - -==Categories== - - -#SMALL - -|| Category | Module | Explanation | Example | -| A2 | Cat | two place adjective | "married" -| A | Cat | one place adjective | "old" -| AdA | Common | adjective modifying adverb, | "very" -| AdN | Common | numeral modifying adverb, | "more than" -| AdV | Common | adverb directly attached to verb | "always" -| Adv | Common | verb phrase modifying adverb, | "in the house" -| Ant | Common | anteriority | simultaneous -| AP | Cat | adjectival phrase | "very old" -| CAdv | Common | comparative adverb | "more" -| Cl | Cat | declarative clause, with all tenses | "she walks" -| CN | Cat | common noun (without determiner) | "red house" -| Comp | Cat | complement of copula, such as AP | "very warm" -| Conj | Cat | conjunction, | "and" -| DConj | Cat | distributed conj. | "both" - "and" -| Det | Cat | determiner phrase | "these seven" -| Digit | Numeral | digit from 2 to 9 | "4" -| IAdv | Common | interrogative adverb | "why" -| IComp | Cat | interrogative complement of copula | "where" -| IDet | Cat | interrogative determiner | "which" -| Imp | Cat | imperative | "look at this" -| IP | Cat | interrogative pronoun | "who" -| N2 | Cat | relational noun | "brother" -| N3 | Cat | three place relational noun | "connection" -| N | Cat | common noun | "house" -| NP | Cat | noun phrase (subject or object) | "the red house" -| Num | Cat | cardinal number (used with QuantPl) | "seven" -| Numeral | Cat | cardinal or ordinal, | "five" / "fifth" -| Ord | Cat | ordinal number (used in Det) | "seventh" -| PConj | Common | phrase beginning conj. | "therefore" -| Phr | Common | phrase in a text | "but look at this please" -| PN | Cat | proper name | "Paris" -| Pol | Common | polarity | positive -| Predet | Cat | predeterminer (prefixed Quant) | "all" -| Prep | Cat | preposition, or just case | "in" -| Pron | Cat | personal pronoun | "she" -| QCl | Cat | question clause, with all tenses | "why does she walk" -| QS | Cat | question | "where did she walk" -| Quant | Cat | quantifier with both sg and pl | "this"/"these" -| QuantPl | Cat | quantifier ('nucleus' of plur. Det) | "many" -| QuantSg | Cat | quantifier ('nucleus' of sing. Det) | "every" -| RCl | Cat | relative clause, with all tenses | "in which she walks" -| RP | Cat | relative pronoun | "in which" -| RS | Cat | relative | "that she loves" -| S | Cat | declarative sentence | "she was here" -| SC | Common | embedded sentence or question | "that it rains" -| Slash | Cat | clause missing NP (S/NP in GPSG) | "she loves" - - -|| Category | Module | Explanation | Example | -| Sub10 | Numeral | numeral under 10 | "9" -| Sub100 | Numeral | numeral under 100 | "99" -| Sub1000 | Numeral | numeral under 1000 | "999" -| Sub1000000 | Numeral | numeral under million | 123456 -| Subj | Cat | subjunction, | "if" -| Tense | Common | tense | present -| Text | Common | text consisting of several phrases | "He is here. Why?" -| Utt | Common | sentence, question, word... | "be quiet" -| V2A | Cat | verb with NP and AP complement | "paint" -| V2 | Cat | two place verb | "love" -| V3 | Cat | three place verb | "show" -| VA | Cat | adjective complement verb | "look" -| V | Cat | one place verb | "sleep" -| Voc | Common | vocative or | "please" "my darling" -| VP | Cat | verb phrase | "is very warm" -| VQ | Cat | question complement verb | "ask" -| VS | Cat | sentence complement verb | "claim" -| VV | Cat | verb phrase complement verb | "want" -| [Adv] | Conjunction | adverb list | "here, oddly" -| [AP] | Conjunction | adjectival phrase list | "even, very odd" -| [NP] | Conjunction | noun phrase list | "John, all women" -| [S] | Conjunction | sentence list | "I walk, you run" - - -==Functions== - -|| Function | Module | Type | Example | -| AAnter | Common | Ant | "" -| ASimul | Common | Ant | "" -| AdAdv | Adverb | AdA -> Adv -> Adv | "very" -| AdAP | Adjective | AdA -> AP -> AP | "very old" -| AdjCN | Noun | AP -> CN -> CN | "big house" -| AdnCAdv | Adverb | CAdv -> AdN | "more than" -| AdNum | Noun | AdN -> Num -> Num | "almost ten" -| AdvCN | Noun | CN -> Adv -> CN | "house on the mountain" -| AdvIP | Question | IP -> Adv -> IP | "who in Paris" -| AdvNP | Noun | NP -> Adv -> NP | "Paris without wine" -| AdvSC | Adverb | SC -> Adv | "that he sleeps" -| AdvSlash | Sentence | Slash -> Adv -> Slash | "she sees here" -| AdVVP | Verb | AdV -> VP -> VP | "always sleep" -| AdvVP | Verb | VP -> Adv -> VP | "sleep here" -| ApposCN | Noun | CN -> NP -> CN | "number x" -| BaseAdv | Conjunction | Adv -> Adv -> [Adv] | "here" - "today" -| BaseAP | Conjunction | AP -> AP -> [AP] | "even" - "odd" -| BaseNP | Conjunction | NP -> NP -> [NP] | "the car" - "the house" -| BaseS | Conjunction | S -> S -> [S] | "I walk" - "you run" -| CleftAdv | Idiom | Adv -> S -> Cl | "it is here that she sleeps" -| CleftNP | Idiom | NP -> RS -> Cl | "it is she who sleeps" -| CompAdv | Verb | Adv -> Comp | "here" -| CompAP | Verb | AP -> Comp | "old" -| ComparA | Adjective | A -> NP -> AP | "warmer than the house" -| ComparAdvAdj | Adverb | CAdv -> A -> NP -> Adv | "more heavily than Paris" -| ComparAdvAdjS | Adverb | CAdv -> A -> S -> Adv | "more heavily than she sleeps" - - -|| Function | Module | Type | Example | -| CompIAdv | Question | IAdv -> IComp | "where" -| ComplA2 | Adjective | A2 -> NP -> AP | "married to her" -| ComplN2 | Noun | N2 -> NP -> CN | "brother of the woman" -| ComplN3 | Noun | N3 -> NP -> N2 | "connection from that city to Paris" -| ComplV2A | Verb | V2A -> NP -> AP -> VP | "paint the house red" -| ComplV2 | Verb | V2 -> NP -> VP | "love it" -| ComplV3 | Verb | V3 -> NP -> NP -> VP | "send flowers to us" -| ComplVA | Verb | VA -> AP -> VP | "become red" -| ComplVQ | Verb | VQ -> QS -> VP | "ask if she runs" -| ComplVS | Verb | VS -> S -> VP | "say that she runs" -| ComplVV | Verb | VV -> VP -> VP | "want to run" -| CompNP | Verb | NP -> Comp | "a man" -| ConjAdv | Conjunction | Conj -> [Adv] -> Adv | "here or in the car" -| ConjAP | Conjunction | Conj -> [AP] -> AP | "warm or cold" -| ConjNP | Conjunction | Conj -> [NP] -> NP | "the man or the woman" -| ConjS | Conjunction | Conj -> [S] -> S | "he walks or she runs" -| ConsAdv | Conjunction | Adv -> [Adv] -> [Adv] | "here" - "without them, with us" -| ConsAP | Conjunction | AP -> [AP] -> [AP] | "warm" - "red, old" -| ConsNP | Conjunction | NP -> [NP] -> [NP] | "she" - "you, I" -| ConsS | Conjunction | S -> [S] -> [S] | "I walk" - "she runs, he sleeps" -| DConjAdv | Conjunction | DConj -> [Adv] -> Adv | "either here or there" -| DConjAP | Conjunction | DConj -> [AP] -> AP | "either warm or cold" -| DConjNP | Conjunction | DConj -> [NP] -> NP | "either the man or the woman" -| DConjS | Conjunction | DConj -> [S] -> S | "either he walks or she runs" -| DefArt | Noun | Quant | "the" -| DetCN | Noun | Det -> CN -> NP | "the man" -| DetPl | Noun | QuantPl -> Num -> Ord -> Det | "the five best" -| DetSg | Noun | QuantSg -> Ord -> Det | "this" -| EmbedQS | Sentence | QS -> SC | "whom she loves" -| EmbedS | Sentence | S -> SC | "that you go" -| EmbedVP | Sentence | VP -> SC | "to love it" -| ExistIP | Idiom | IP -> QCl | "which cars are there" -| ExistNP | Idiom | NP -> Cl | "there is a car" -| FunRP | Relative | Prep -> NP -> RP -> RP | "all houses in which" -| GenericCl | Idiom | VP -> Cl | "one sleeps" -| IDetCN | Question | IDet -> Num -> Ord -> CN -> IP | "which five hottest songs" -| IdRP | Relative | RP | "which" -| ImpersCl | Idiom | VP -> Cl | "it rains" -| ImpPl1 | Idiom | VP -> Utt | "let's go" -| ImpVP | Sentence | VP -> Imp | "go to the house" -| IndefArt | Noun | Quant | "a" -| MassDet | Noun | QuantSg | ("beer") -| NoNum | Noun | Num | "" -| NoOrd | Noun | Ord | "" -| NoPConj | Phrase | PConj | "" -| NoVoc | Phrase | Voc | "" -| NumInt | Noun | Int -> Num | "51" -| NumNumeral | Noun | Numeral -> Num | "five hundred" -| OrdInt | Noun | Int -> Ord | "13 th" -| OrdNumeral | Noun | Numeral -> Ord | "thirteenth" -| OrdSuperl | Noun | A -> Ord | "hottest" -| PassV2 | Verb | V2 -> VP | "be seen" -| PConjConj | Phrase | Conj -> PConj | "and" -| PhrUtt | Phrase | PConj -> Utt -> Voc -> Phr | "but come here please" -| PlQuant | Noun | Quant -> QuantPl | "these" -| PositA | Adjective | A -> AP | "warm" -| PositAdvAdj | Adverb | A -> Adv | "warmly" - -|| Function | Module | Type | Example | -| PossPron | Noun | Pron -> Quant | "my" -| PPartNP | Noun | NP -> V2 -> NP | "the city seen" -| PNeg | Common | Pol | "" -| PPos | Common | Pol | "" -| PredetNP | Noun | Predet -> NP -> NP | "only the man" -| PredSCVP | Sentence | SC -> VP -> Cl | "that she sleeps is good" -| PredVP | Sentence | NP -> VP -> Cl | "she walks" -| PrepIP | Question | Prep -> IP -> IAdv | "with whom" -| PrepNP | Adverb | Prep -> NP -> Adv | "in the house" -| ProgrVP | Idiom | VP -> VP | "be sleeping" -| QuestCl | Question | Cl -> QCl | "does she walk" -| QuestIAdv | Question | IAdv -> Cl -> QCl | "why does she walk" -| QuestIComp | Question | IComp -> NP -> QCl | "where is she" -| QuestSlash | Question | IP -> Slash -> QCl | "whom does she love" -| QuestVP | Question | IP -> VP -> QCl | "who walks" -| ReflA2 | Adjective | A2 -> AP | "married to itself" -| ReflV2 | Verb | V2 -> VP | "see himself" -| RelCl | Relative | Cl -> RCl | "such that she loves him" -| RelCN | Noun | CN -> RS -> CN | "house that she buys" -| RelSlash | Relative | RP -> Slash -> RCl | "that she loves" -| RelVP | Relative | RP -> VP -> RCl | "that loves her" -| SentAP | Adjective | AP -> SC -> AP | "good that she came" -| SentCN | Noun | CN -> SC -> CN | "fact that she smokes" -| SgQuant | Noun | Quant -> QuantSg | "this" -| SlashPrep | Sentence | Cl -> Prep -> Slash | (with whom) "he walks" -| SlashV2 | Sentence | NP -> V2 -> Slash | (whom) "he sees" -| SlashVVV2 | Sentence | NP -> VV -> V2 -> Slash | (whom) "he wants to see" -| SubjS | Adverb | Subj -> S -> Adv | "when he came" -| TCond | Common | Tense | "" -| TEmpty | Text | Text | "" -| TFut | Common | Tense | "" -| TExclMark | Text | Phr -> Text -> Text | "She walks!" -| TFullStop | Text | Phr -> Text -> Text | "She walks." -| TPast | Common | Tense | "" -| TPres | Common | Tense | "" -| TQuestMark | Text | Phr -> Text -> Text | "Does she walk?" -| UseA2 | Adjective | A2 -> A | "married" -| UseCl | Sentence | Tense -> Ant -> Pol -> Cl -> S | "she wouldn't have walked" -| UseComp | Verb | Comp -> VP | "be warm" -| UseN2 | Noun | N2 -> CN | "brother" -| UseN3 | Noun | N3 -> CN | "connection" -| UseN | Noun | N -> CN | "house" -| UsePN | Noun | PN -> NP | "Paris" -| UsePron | Noun | Pron -> NP | "she" -| UseQCl | Sentence | Tense -> Ant -> Pol -> QCl -> QS | "where hadn't she walked" -| UseRCl | Sentence | Tense -> Ant -> Pol -> RCl -> RS | "that she hadn't seen" -| UseVQ | Verb | VQ -> V2 | "ask" (a question) -| UseVS | Verb | VS -> V2 | "know" (a secret) -| UseV | Verb | V -> VP | "sleep" -| UttAdv | Phrase | Adv -> Utt | "here" -| UttIAdv | Phrase | IAdv -> Utt | "why" -| UttImpPl | Phrase | Pol -> Imp -> Utt | "love yourselves" -| UttImpSg | Phrase | Pol -> Imp -> Utt | "love yourself" -| UttIP | Phrase | IP -> Utt | "who" -| UttNP | Phrase | NP -> Utt | "this man" -| UttQS | Phrase | QS -> Utt | "is it good" -| UttS | Phrase | S -> Utt | "she walks" -| UttVP | Phrase | VP -> Utt | "to sleep" -| VocNP | Phrase | NP -> Voc | "my brother" - -|| Function | Module | Type | Example | -| num | Numeral | Sub1000000 -> Numeral | "2" -| n2 | Numeral | Digit | "2" -| n3 | Numeral | Digit | "3" -| n4 | Numeral | Digit | "4" -| n5 | Numeral | Digit | "5" -| n6 | Numeral | Digit | "6" -| n7 | Numeral | Digit | "7" -| n8 | Numeral | Digit | "8" -| n9 | Numeral | Digit | "9" -| pot01 | Numeral | Sub10 | "1" -| pot0 | Numeral | Digit -> Sub10 | "3" -| pot110 | Numeral | Sub100 | "10" -| pot111 | Numeral | Sub100 | "11" -| pot1to19 | Numeral | Digit -> Sub100 | "18" -| pot0as1 | Numeral | Sub10 -> Sub100 | "3" -| pot1 | Numeral | Digit -> Sub100 | "50" -| pot1plus | Numeral | Digit -> Sub10 -> Sub100 | "54" -| pot1as2 | Numeral | Sub100 -> Sub1000 | "99" -| pot2 | Numeral | Sub10 -> Sub1000 | "600" -| pot2plus | Numeral | Sub10 -> Sub100 -> Sub1000 | "623" -| pot2as3 | Numeral | Sub1000 -> Sub1000000 | "999" -| pot3 | Numeral | Sub1000 -> Sub1000000 | "53000" -| pot3plus | Numeral | Sub1000 -> Sub1000 -> Sub1000000 | "53201" - diff --git a/doc/transfer-reference.html b/doc/transfer-reference.html deleted file mode 100644 index d858b1c06..000000000 --- a/doc/transfer-reference.html +++ /dev/null @@ -1,842 +0,0 @@ - - - - - -Transfer language reference - -

    Transfer language reference

    - -Author: Björn Bringert <bringert@cs.chalmers.se>
    -Last update: Wed Mar 1 13:52:22 2006 -
    - -

    -
    -

    -
    - -

    -
    -

    -

    -WARNING: The Transfer language is still experimental. Its syntax, type system and semantics may change without notice. I will try to help you with any problems this might cause, but I will not refrain from changing the language solely for reasons of backwards compatibility. -

    -

    -This document describes the features of the Transfer language. -See the Transfer tutorial -for an example of a Transfer program, and how to compile and use -Transfer programs. -

    -

    -Transfer is a dependently typed functional programming language -with eager evaluation. The language supports generalized algebraic -datatypes, pattern matching and function overloading. -

    - -

    Current implementation status

    -

    -Not all features of the Transfer language have been implemented yet. The most -important missing piece is the type checker. This means that there are almost -no checks done on Transfer programs before they are run. It also means that -the values of metavariables are not inferred. Thus metavariables cannot -be used where their values matter. For example, dictionaries for overloaded -functions must be given explicitly, not as metavariables. -

    - -

    Layout syntax

    -

    -Transfer uses layout syntax, where the indentation of a piece of code -determines which syntactic block it belongs to. -

    -

    -To give the block structure without using layout -syntax, you can enclose the block in curly braces and -separate the parts of the blocks with semicolons. -

    -

    -For example, this case expression: -

    -
    -  case x of
    -         p1 -> e1
    -         p2 -> e2
    -
    -

    -

    -is equivalent to this one: -

    -
    -  case x of {
    -         p1 -> e1 ;
    -         p2 -> e2 
    -  }
    -
    -

    -

    -Here the layout is insignificant, as the structure is given with -braces and semicolons. Thus it is equivalent to: -

    -
    -  case x of { p1 -> e1 ; p2 -> e2 }
    -
    -

    - -

    Imports

    -

    -A Transfer module starts with some imports. Most modules will have to -import the prelude, which contains definitons used by most programs: -

    -
    -  import prelude
    -
    -

    -

    -For more information about the standard prelude, see Standard prelude. -

    - -

    Function declarations

    -

    -Functions need to be given a type and a definition. The type is given -by a typing judgement on the form: -

    -
    -  f : T
    -
    -

    -

    -where f is the function's name, and T its type. See -Function types for a how the types of functions -are written. -

    -

    -The definition of the function is then given as a sequence of pattern -equations. The first equation whose patterns match the function arguments -is used when the function is called. Pattern equations are on the form: -

    -
    -  f p11 ... p1m = exp1
    -  ...
    -  f pn1 ... pnm = expn
    -
    -

    -

    -where p11 to pnm are patterns, see Patterns. -

    -

    -Pattern equations can also have guards, boolean expressions which determine -whether to use the equation when the pattern has been matched. Pattern equations -with guards are written: -

    -
    -  f p11 ... p1m | guard1 = exp1
    -  ...
    -  f pn1 ... pnm | guardn = expn
    -
    -

    -

    -Pattern equations with and without guards can be mixed in the definiton of -a function. -

    -

    -Any variables bound in the patterns are in scope in the guards and -right hand sides of each pattern equation. -

    - -

    Data type declarations

    -

    -Transfer supports Generalized Algebraic Datatypes. -They are declared thusly: -

    -
    -  data D : T where 
    -       c1 : Tc1
    -       ...
    -       cn : Tcn
    -
    -

    -

    -Here D is the name of the data type, T is the type of the type -constructor, c1 to cn are the data constructor names, and -Tc1 to Tcn are their types. -

    -

    -FIXME: explain the constraints on the types of type and data constructors. -

    - -

    Lambda expressions

    -

    -Lambda expressions are terms which express functions, without -giving names to them. For example: -

    -
    -  \x -> x + 1
    -
    -

    -

    -is the function which takes an argument, and returns the value of the -argument + 1. -

    - -

    Local definitions

    -

    -To give local definition to some names, use: -

    -
    -  let x1 = exp1
    -      ...
    -      xn = expn
    -   in exp
    -
    -

    -

    -Here, the variables x1 to xn are in scope in all the expressions -exp1 to expn, and in exp. Thus let-defined functions can be -mutually recursive. -

    - -

    Types

    - -

    Function types

    -

    -Functions types are of the form: -

    -
    -  A -> B
    -
    -

    -

    -This is the type of functions which take an argument of type -A and returns a result of type B. -

    -

    -To write functions which take more than one argument, we use currying. -A function which takes n arguments is a function which takes one -argument and returns a function which takes n-1 arguments. Thus, -

    -
    -  A -> (B -> C)
    -
    -

    -

    -or, equivalently, since -> associates to the right: -

    -
    -  A -> B -> C
    -
    -

    -

    -is the type of functions which take teo arguments, the first of type -A and the second of type B. This arrangement lets us do -partial application of function to fewer arguments than the function -is declared to take, returning a new function which takes the rest -of the arguments. -

    -

    Dependent function types

    -

    -In a function type, the value of an argument can be used later -in the type. Such dependent function types are written: -

    -
    -  (x : A) -> B
    -
    -

    -

    -Here, x is in scope in B. -

    - -

    Basic types

    -

    Integers

    -

    -The type of integers is called Integer. -Standard decmial integer literals, such as 0 and 1234 are used to -represent values of this type. -

    -

    Floating-point numbers

    -

    -The only currently supported floating-point type is Double, which supports -IEEE-754 double-precision floating-point numbers. Double literals are written -in decimal notation, e.g. 123.456. -

    -

    Strings

    -

    -There is a primitive String type. String literals are written -with double quotes, e.g. "this is a string". -FIXME: This might be replaced by a list of -characters representation in the future. -

    -

    Booleans

    -

    -Booleans are not a built-in type, though some features of the Transfer language -depend on them. The Bool type is defined in the -Standard prelude. -

    -
    -  data Bool : Type where
    -          True : Bool
    -          False : Bool
    -
    -

    -

    -In addition to normal pattern matching on booleans, you can use the built-in -if-expression: -

    -
    -  if exp1 then exp2 else exp3
    -
    -

    -

    -where exp1 must be an expression of type Bool. -

    - -

    Records

    -

    Record types

    -

    -Record types are created by using a sig expression: -

    -
    -  sig { l1 : T1; ... ; ln : Tn }
    -
    -

    -

    -Here, l1 to ln are the field labels and T1 to Tn are field types. -

    -

    Record values

    -

    -Record values are constructed using rec expressions: -

    -
    -  rec { l1 = exp1; ... ; ln = expn }
    -
    -

    -

    Record projection

    -

    -Fields are selected from records using the . operator. This expression selects -the field l from the record value r: -

    -
    -  r.l
    -
    -

    -

    Records and layout syntax

    -

    -The curly braces and semicolons are simply explicit layout syntax, so -the record type and record expression above can also be written as: -

    -
    -  sig l1 : T1
    -      ...
    -      ln : Tn
    -
    -

    -
    -  rec l1 = exp1
    -      ...
    -      ln = expn
    -
    -

    - -

    Record subtyping

    -

    -A record of some type R1 can be used as a record of any type R2 -such that for every field p1 : T1 in R2, p1 : T1 is also a -field of T1. -

    - -

    Tuples

    -

    -Tuples on the form: -

    -
    -  (exp1, ..., expn)
    -
    -

    -

    -are syntactic sugar for records with fields p1 to pn. The expression -above is equivalent to: -

    -
    -  rec { p1 = exp1; ... ; pn = expn }
    -
    -

    - -

    Lists

    -

    -The List type is not built-in, though there is some special syntax for it. -The list type is declared as: -

    -
    -  data List : Type -> Type where 
    -          Nil : (A:Type) -> List A
    -          Cons : (A:Type) -> A -> List A -> List A
    -
    -

    -

    -The empty list can be written as []. There is an operator :: which can -be used instead of Cons. These are just syntactic sugar for expressions -using Nil and Cons, with the type arguments hidden. -

    - -

    Case expressions

    -

    -Pattern matching is done in pattern equations and with the -case construct: -

    -
    -  case exp of
    -       p1 | guard1 -> rhs1
    -       ...
    -       pn | guardn -> rhsn
    -
    -

    -

    -where p1 to pn are patterns, see Patterns. -guard1 to guardn are boolean expressions. Case arms can also be written -without guards, such as: -

    -
    -       pk -> rhsk
    -
    -

    -

    -This is the same as writing: -

    -
    -       pk | True -> rhsk
    -
    -

    - -

    Patterns

    - -

    Constructor patterns

    -

    -Constructor patterns are written as: -

    -
    -  C p1 ... pn
    -
    -

    -

    -where C is a data constructor which takes n arguments. -If the value to be matched is C v1 ... vn, -then v1 to vn will be matched against p1 to pn. -

    - -

    Variable patterns

    -

    -A variable pattern is a single identifier: -

    -
    -  x
    -
    -

    -

    -A variable pattern matches any value, and binds the variable name to the -value. A variable may not occur more than once in a pattern. -Note that variable patterns may not use the same identifier as data constructors -which are in scope, since they will then be interpreted as constructor -patterns. -

    - -

    Wildcard patterns

    -

    -Wildcard patterns are written with a single underscore: -

    -
    -  _
    -
    -

    -

    -Wildcard patterns match all values and bind no variables. -

    - -

    Record patterns

    -

    -Record patterns match record values: -

    -
    -  rec { l1 = p1; ... ; ln = pn }
    -
    -

    -

    -A record value matches a record pattern if the record value has all the -fields l1 to ln, and their values match p1 to pn. -

    -

    -Note that a record value may have more fields than the record pattern. -The values of these fields do not influence the pattern matching. -

    - -

    Disjunctive patterns

    -

    -It is possible to write a pattern on the form: -

    -
    -  p1 || ... || pn
    -
    -

    -

    -A value will match this pattern if it matches any of the patterns p1 to pn. -FIXME: talk about how this is expanded -

    - -

    List patterns

    -

    -When pattern matching on lists, there are two special constructs. -A whole list can by matched be a list of patterns: -

    -
    -  [p1, ... , pn]
    -
    -

    -

    -This pattern will match lists of length n, such that each element -in the list matches the corresponding pattern. The empty list pattern: -

    -
    -  []
    -
    -

    -

    -is a special case of this. It matches the empty list, oddly enough. -

    -

    -Non-empty lists can also be matched with ::-patterns: -

    -
    -  p1::p2
    -
    -

    -

    -This pattern matches non-empty lists such that the first element of -the list matches p1 and the rest of the list matches p2. -

    - -

    Tuple patterns

    -

    -Tuples patterns on the form: -

    -
    -  (p1, ... , pn)
    -
    -

    -

    -are syntactic sugar for record patterns, in the same way as -tuple expressions, see Tuples. -

    - -

    String literal patterns

    -

    -String literals can be used as patterns. -

    - -

    Integer literal patterns

    -

    -Integer literals can be used as patterns. -

    - -

    Metavariables

    -

    -Metavariables are written as questions marks: -

    -
    -  ?
    -
    -

    -

    -A metavariable is a way to tell the type checker that: -"you should be able to figure out what this should be, -I can't be bothered to tell you". -

    -

    -Metavariables can be used to avoid having to give type -and dictionary arguments explicitly. -

    - -

    Overloaded functions

    -

    -In Transfer, functions can be overloaded by having them take a record -of functions as an argument. For example, the functions for equality -and inequality in the Transfer Prelude are defined as: -

    -
    -  Eq : Type -> Type
    -  Eq A = sig eq : A -> A -> Bool
    -  
    -  eq : (A : Type) -> Eq A -> A -> A -> Bool
    -  eq _ d = d.eq
    -  
    -  neq : (A : Type) -> Eq A -> A -> A -> Bool
    -  neq A d x y = not (eq A d x y)
    -
    -

    -

    -We call Eq a type class, though it's actually just a record type -used to pass function implementations to overloaded functions. We -call a value of type Eq A an Eq dictionary for the type A. -The dictionary is used to look up the version of some function for the -particular type we want to use the function on. Thus, in order to use -the eq function on two integers, we need a dictionary of type -Eq Integer: -

    -
    -  eq_Integer : Eq Integer
    -  eq_Integer = rec eq = prim_eq_Integer
    -
    -

    -

    -where prim_eq_Integer is the built-in equality function for -integers. To check whether two numbers x and y are equal, we -can then call the overloaded eq function with the dictionary: -

    -
    -  eq Integer eq_Integer x y
    -
    -

    -

    -Giving the type at which to use the overloaded function, and the appropriate -dictionary can be cumbersome. Metavariables come to the rescue: -

    -
    -  eq ? ? x y
    -
    -

    -

    -The type checker can in most cases figure out the values of the type and -dictionary arguments. NOTE: this is not implemented yet. -

    - -

    Type class extension

    -

    -By using record subtyping, see Record subtyping, we can -create type classes which extend other type classes. A dictionary for the -new type class can also be used as a dictionary for old type class. -

    -

    -For example, we can extend the Eq type class above to Ord, a type -class for orderings: -

    -
    -  Ord : Type -> Type
    -  Ord A = sig eq : A -> A -> Bool
    -              compare : A -> A -> Ordering
    -
    -

    -

    -To extend an existing class, we keep the fields of the class we want to -extend, and add any new fields that we want. Because of record subtyping, -for any type A, a value of type Ord A is also a value of type Eq A. -

    - -

    Extending multiple classes

    -

    -A type class can also extend several classes, by simply having all the fields -from all the classes we want to extend. The Num class in the -Standard prelude is an example of this. -

    - -

    Standard prelude

    -

    -The standard prelude, see prelude.tra, -contains definitions of a number of standard types, functions and -type classes. -

    - -

    Operators

    -

    -Most built-in operators in the Transfer language are translated -to calls to overloaded functions. This means that they can be -used at any type for which there is a dictionary for the type class -in question. -

    - -

    Unary operators

    - - - - - - - - - - - -
    OperatorPrecedenceTranslation
    -10-x => negate ? ? x
    - -

    - -

    Binary operators

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    OperatorPrecedenceAssociativityTranslation of x op y
    >>=3leftbind ? ? x y
    >>3leftbind ? ? x (\_ -> y)
    ||4rightif x then True else y
    &&5rightif x then y else False
    ==6noneeq ? ? x y
    /=6noneneq ? ? x y
    <6nonelt ? ? x y
    <=6nonele ? ? x y
    >6nonegt ? ? x y
    >=6nonege ? ? x y
    ::7rightCons ? ? x y
    +8leftplus ? ? x y
    -8leftminus ? ? x y
    *9lefttimes ? ? x y
    /9leftdiv ? ? x y
    %9leftmod ? ? x y
    - -

    - -

    Compositional functions

    - -

    do notation

    -

    -Sequences of operations in the Monad type class can be written -using do-notation, like in Haskell: -

    -
    -  do x <- f
    -     y <- g x
    -     h y
    -
    -

    -

    -is equivalent to: -

    -
    -  f >>= \x -> g x >>= \y -> h y
    -
    - - - - diff --git a/doc/transfer-reference.txt b/doc/transfer-reference.txt deleted file mode 100644 index 143780381..000000000 --- a/doc/transfer-reference.txt +++ /dev/null @@ -1,649 +0,0 @@ -Transfer language reference -Author: Björn Bringert -Last update: %%date(%c) - -% NOTE: this is a txt2tags file. -% Create an html file from this file using: -% txt2tags transfer.txt - -%!target:html -%!options(html): --toc -%!encoding:utf-8 - -**WARNING: The Transfer language is still experimental. Its syntax, type system and semantics may change without notice. I will try to help you with any problems this might cause, but I will not refrain from changing the language solely for reasons of backwards compatibility.** - -This document describes the features of the Transfer language. -See the [Transfer tutorial transfer-tutorial.html] -for an example of a Transfer program, and how to compile and use -Transfer programs. - -Transfer is a dependently typed functional programming language -with eager evaluation. The language supports generalized algebraic -datatypes, pattern matching and function overloading. - - -== Current implementation status == - -**Not all features of the Transfer language have been implemented yet**. The most -important missing piece is the type checker. This means that there are almost -no checks done on Transfer programs before they are run. It also means that -the values of metavariables are not inferred. Thus metavariables cannot -be used where their values matter. For example, dictionaries for overloaded -functions must be given explicitly, not as metavariables. - - -== Layout syntax== - -Transfer uses layout syntax, where the indentation of a piece of code -determines which syntactic block it belongs to. - -To give the block structure without using layout -syntax, you can enclose the block in curly braces and -separate the parts of the blocks with semicolons. - -For example, this case expression: - -``` -case x of - p1 -> e1 - p2 -> e2 -``` - -is equivalent to this one: - -``` -case x of { - p1 -> e1 ; - p2 -> e2 -} -``` - -Here the layout is insignificant, as the structure is given with -braces and semicolons. Thus it is equivalent to: - -``` -case x of { p1 -> e1 ; p2 -> e2 } -``` - - -== Imports == - -A Transfer module starts with some imports. Most modules will have to -import the prelude, which contains definitons used by most programs: - -``` -import prelude -``` - -For more information about the standard prelude, see [Standard prelude #prelude]. - -== Function declarations == - -Functions need to be given a type and a definition. The type is given -by a typing judgement on the form: - -``` -f : T -``` - -where ``f`` is the function's name, and ``T`` its type. See -[Function types #function_types] for a how the types of functions -are written. - -The definition of the function is then given as a sequence of pattern -equations. The first equation whose patterns match the function arguments -is used when the function is called. Pattern equations are on the form: - -``` -f p11 ... p1m = exp1 -... -f pn1 ... pnm = expn -``` - -where ``p11`` to ``pnm`` are patterns, see [Patterns #patterns]. - - -Pattern equations can also have guards, boolean expressions which determine -whether to use the equation when the pattern has been matched. Pattern equations -with guards are written: - -``` -f p11 ... p1m | guard1 = exp1 -... -f pn1 ... pnm | guardn = expn -``` - -Pattern equations with and without guards can be mixed in the definiton of -a function. - -Any variables bound in the patterns are in scope in the guards and -right hand sides of each pattern equation. - - - -== Data type declarations == - -Transfer supports Generalized Algebraic Datatypes. -They are declared thusly: - -``` -data D : T where - c1 : Tc1 - ... - cn : Tcn -``` - -Here ``D`` is the name of the data type, ``T`` is the type of the type -constructor, ``c1`` to ``cn`` are the data constructor names, and -``Tc1`` to ``Tcn`` are their types. - -FIXME: explain the constraints on the types of type and data constructors. - - -== Lambda expressions == - -//Lambda expressions// are terms which express functions, without -giving names to them. For example: - -``` -\x -> x + 1 -``` - -is the function which takes an argument, and returns the value of the -argument + 1. - - -== Local definitions == - -To give local definition to some names, use: - -``` -let x1 = exp1 - ... - xn = expn - in exp -``` - -Here, the variables ``x1`` to ``xn`` are in scope in all the expressions -``exp1`` to ``expn``, and in ``exp``. Thus let-defined functions can be -mutually recursive. - - -== Types == - -=== Function types ===[function_types] - -Functions types are of the form: - -``` -A -> B -``` - -This is the type of functions which take an argument of type -``A`` and returns a result of type ``B``. - -To write functions which take more than one argument, we use //currying//. -A function which takes n arguments is a function which takes one -argument and returns a function which takes n-1 arguments. Thus, - -``` -A -> (B -> C) -``` - -or, equivalently, since ``->`` associates to the right: - -``` -A -> B -> C -``` - -is the type of functions which take teo arguments, the first of type -``A`` and the second of type ``B``. This arrangement lets us do -//partial application// of function to fewer arguments than the function -is declared to take, returning a new function which takes the rest -of the arguments. - - -==== Dependent function types ==== - -In a function type, the value of an argument can be used later -in the type. Such dependent function types are written: - -``` -(x : A) -> B -``` - -Here, ``x`` is in scope in ``B``. - - -=== Basic types === - -==== Integers ==== - -The type of integers is called ``Integer``. -Standard decmial integer literals, such as ``0`` and ``1234`` are used to -represent values of this type. - - -==== Floating-point numbers ==== - -The only currently supported floating-point type is ``Double``, which supports -IEEE-754 double-precision floating-point numbers. Double literals are written -in decimal notation, e.g. ``123.456``. - - -==== Strings ==== - -There is a primitive ``String`` type. String literals are written -with double quotes, e.g. ``"this is a string"``. -FIXME: This might be replaced by a list of -characters representation in the future. - - -==== Booleans ==== - -Booleans are not a built-in type, though some features of the Transfer language -depend on them. The ``Bool`` type is defined in the -[Standard prelude #prelude]. - -``` -data Bool : Type where - True : Bool - False : Bool -``` - -In addition to normal pattern matching on booleans, you can use the built-in -if-expression: - -``` -if exp1 then exp2 else exp3 -``` - -where ``exp1`` must be an expression of type ``Bool``. - - - -=== Records === - -==== Record types ==== - -Record types are created by using a ``sig`` expression: - -``` -sig { l1 : T1; ... ; ln : Tn } -``` - -Here, ``l1`` to ``ln`` are the field labels and ``T1`` to ``Tn`` are field types. - -==== Record values ==== - -Record values are constructed using ``rec`` expressions: - -``` -rec { l1 = exp1; ... ; ln = expn } -``` - -==== Record projection ==== - -Fields are selected from records using the ``.`` operator. This expression selects -the field ``l`` from the record value ``r``: - -``` -r.l -``` - -==== Records and layout syntax ==== - -The curly braces and semicolons are simply explicit layout syntax, so -the record type and record expression above can also be written as: - -``` -sig l1 : T1 - ... - ln : Tn -``` - -``` -rec l1 = exp1 - ... - ln = expn -``` - - -==== Record subtyping ====[record_subtyping] - -A record of some type R1 can be used as a record of any type R2 -such that for every field ``p1 : T1`` in R2, ``p1 : T1`` is also a -field of T1. - - -=== Tuples ===[tuples] - -Tuples on the form: - -``` -(exp1, ..., expn) -``` - -are syntactic sugar for records with fields ``p1`` to ``pn``. The expression -above is equivalent to: - -``` -rec { p1 = exp1; ... ; pn = expn } -``` - - -=== Lists === - -The ``List`` type is not built-in, though there is some special syntax for it. -The list type is declared as: - -``` -data List : Type -> Type where - Nil : (A:Type) -> List A - Cons : (A:Type) -> A -> List A -> List A -``` - -The empty list can be written as ``[]``. There is an operator ``::`` which can -be used instead of ``Cons``. These are just syntactic sugar for expressions -using ``Nil`` and ``Cons``, with the type arguments hidden. - - -== Case expressions == - -Pattern matching is done in pattern equations and with the -``case`` construct: - -``` -case exp of - p1 | guard1 -> rhs1 - ... - pn | guardn -> rhsn -``` - -where ``p1`` to ``pn`` are patterns, see [Patterns #patterns]. -``guard1`` to ``guardn`` are boolean expressions. Case arms can also be written -without guards, such as: - -``` - pk -> rhsk -``` - -This is the same as writing: - -``` - pk | True -> rhsk -``` - - -== Patterns ==[patterns] - -=== Constructor patterns === - -Constructor patterns are written as: - -``` -C p1 ... pn -``` - -where ``C`` is a data constructor which takes ``n`` arguments. -If the value to be matched is ``C v1 ... vn``, -then ``v1`` to ``vn`` will be matched against ``p1`` to ``pn``. - - -=== Variable patterns === - -A variable pattern is a single identifier: - -``` -x -``` - -A variable pattern matches any value, and binds the variable name to the -value. A variable may not occur more than once in a pattern. -Note that variable patterns may not use the same identifier as data constructors -which are in scope, since they will then be interpreted as constructor -patterns. - - -=== Wildcard patterns === - -Wildcard patterns are written with a single underscore: - -``` -_ -``` - -Wildcard patterns match all values and bind no variables. - - -=== Record patterns === - -Record patterns match record values: - -``` -rec { l1 = p1; ... ; ln = pn } -``` - -A record value matches a record pattern if the record value has all the -fields ``l1`` to ``ln``, and their values match ``p1`` to ``pn``. - -Note that a record value may have more fields than the record pattern. -The values of these fields do not influence the pattern matching. - - -=== Disjunctive patterns === - -It is possible to write a pattern on the form: - -``` -p1 || ... || pn -``` - -A value will match this pattern if it matches any of the patterns ``p1`` to ``pn``. -FIXME: talk about how this is expanded - - -=== List patterns === - -When pattern matching on lists, there are two special constructs. -A whole list can by matched be a list of patterns: - -``` -[p1, ... , pn] -``` - -This pattern will match lists of length n, such that each element -in the list matches the corresponding pattern. The empty list pattern: - -``` -[] -``` - -is a special case of this. It matches the empty list, oddly enough. - -Non-empty lists can also be matched with ``::``-patterns: - -``` -p1::p2 -``` - -This pattern matches non-empty lists such that the first element of -the list matches ``p1`` and the rest of the list matches ``p2``. - - -=== Tuple patterns === - -Tuples patterns on the form: - -``` -(p1, ... , pn) -``` - -are syntactic sugar for record patterns, in the same way as -tuple expressions, see [Tuples #tuples]. - - -=== String literal patterns === - -String literals can be used as patterns. - - -=== Integer literal patterns === - -Integer literals can be used as patterns. - - -== Metavariables ==[metavariables] - -Metavariables are written as questions marks: - -``` -? -``` - -A metavariable is a way to tell the type checker that: -"you should be able to figure out what this should be, -I can't be bothered to tell you". - -Metavariables can be used to avoid having to give type -and dictionary arguments explicitly. - - -== Overloaded functions == - -In Transfer, functions can be overloaded by having them take a record -of functions as an argument. For example, the functions for equality -and inequality in the Transfer [Prelude #prelude] are defined as: - -``` -Eq : Type -> Type -Eq A = sig eq : A -> A -> Bool - -eq : (A : Type) -> Eq A -> A -> A -> Bool -eq _ d = d.eq - -neq : (A : Type) -> Eq A -> A -> A -> Bool -neq A d x y = not (eq A d x y) -``` - -We call ``Eq`` a //type class//, though it's actually just a record type -used to pass function implementations to overloaded functions. We -call a value of type ``Eq A`` an Eq //dictionary// for the type A. -The dictionary is used to look up the version of some function for the -particular type we want to use the function on. Thus, in order to use -the ``eq`` function on two integers, we need a dictionary of type -``Eq Integer``: - -``` -eq_Integer : Eq Integer -eq_Integer = rec eq = prim_eq_Integer -``` - -where ``prim_eq_Integer`` is the built-in equality function for -integers. To check whether two numbers ``x`` and ``y`` are equal, we -can then call the overloaded ``eq`` function with the dictionary: - -``` -eq Integer eq_Integer x y -``` - -Giving the type at which to use the overloaded function, and the appropriate -dictionary can be cumbersome. [Metavariables #metavariables] come to the rescue: - -``` -eq ? ? x y -``` - -The type checker can in most cases figure out the values of the type and -dictionary arguments. **NOTE: this is not implemented yet.** - - -=== Type class extension === - -By using record subtyping, see [Record subtyping #record_subtyping], we can -create type classes which extend other type classes. A dictionary for the -new type class can also be used as a dictionary for old type class. - -For example, we can extend the ``Eq`` type class above to ``Ord``, a type -class for orderings: - -``` -Ord : Type -> Type -Ord A = sig eq : A -> A -> Bool - compare : A -> A -> Ordering -``` - -To extend an existing class, we keep the fields of the class we want to -extend, and add any new fields that we want. Because of record subtyping, -for any type ``A``, a value of type ``Ord A`` is also a value of type ``Eq A``. - - -=== Extending multiple classes === - -A type class can also extend several classes, by simply having all the fields -from all the classes we want to extend. The ``Num`` class in the -[Standard prelude #prelude] is an example of this. - - -== Standard prelude ==[prelude] - -The standard prelude, see [prelude.tra ../transfer/lib/prelude.tra], -contains definitions of a number of standard types, functions and -type classes. - - -== Operators == - -Most built-in operators in the Transfer language are translated -to calls to overloaded functions. This means that they can be -used at any type for which there is a dictionary for the type class -in question. - -=== Unary operators === - -|| Operator | Precedence | Translation | -| ``-`` | 10 | ``-x => negate ? ? x`` | - - -=== Binary operators === - -|| Operator | Precedence | Associativity | Translation of ``x op y`` | -| ``>>=`` | 3 | left | ``bind ? ? x y`` | -| ``>>`` | 3 | left | ``bind ? ? x (\_ -> y)`` | -| ``||`` | 4 | right | ``if x then True else y`` | -| ``&&`` | 5 | right | ``if x then y else False`` | -| ``==`` | 6 | none | ``eq ? ? x y`` | -| ``/=`` | 6 | none | ``neq ? ? x y`` | -| ``<`` | 6 | none | ``lt ? ? x y`` | -| ``<=`` | 6 | none | ``le ? ? x y`` | -| ``>`` | 6 | none | ``gt ? ? x y`` | -| ``>=`` | 6 | none | ``ge ? ? x y`` | -| ``::`` | 7 | right | ``Cons ? ? x y`` | -| ``+`` | 8 | left | ``plus ? ? x y`` | -| ``-`` | 8 | left | ``minus ? ? x y`` | -| ``*`` | 9 | left | ``times ? ? x y`` | -| ``/`` | 9 | left | ``div ? ? x y`` | -| ``%`` | 9 | left | ``mod ? ? x y`` | - - - -== Compositional functions == - - - -== do notation == - -Sequences of operations in the Monad type class can be written -using do-notation, like in Haskell: - -``` -do x <- f - y <- g x - h y -``` - -is equivalent to: - -``` -f >>= \x -> g x >>= \y -> h y -``` diff --git a/doc/transfer-tutorial.html b/doc/transfer-tutorial.html deleted file mode 100644 index 14569344a..000000000 --- a/doc/transfer-tutorial.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - -Transfer tutorial - -

    Transfer tutorial

    - -Author: Björn Bringert <bringert@cs.chalmers.se>
    -Last update: Fri Dec 9 11:55:35 2005 -
    - -

    -
    -

    - - -

    -
    -

    -

    -WARNING: The Transfer language is still experimental. Its syntax, type system and semantics may change without notice. I will try to help you with any problems this might cause, but I will not refrain from changing the language solely for reasons of backwards compatibility. -

    - -

    Objective

    -

    -We want to write a Transfer program which we can use to do aggregation -in sentences which use conjunctions on the sentence, noun phrase and -verb phrase levels. For example, we want to be able to transform -the sentence "John walks and Mary walks" to the sentence -"John and Mary walk". We would also like to transform -"John walks and John swims" to "John walks and swims". -

    -

    -Thus that what we want to do is: -

    -
      -
    • Transform sentence conjunction where the verb phrases in the sentences - are identical to noun phrase conjunction. -
    • Transform sentence conjunction where the noun phrases in the sentences - are identical to verb phrase conjunction. -
    - -

    -This needs to be done recursively and thoughout the sentence, to be -able to handle cases like "John walks and Mary walks and Bill walks", and -"John runs and Mary walks and Bill walks". -

    -

    -FIXME: what about John walks and Mary runs and Bill walks"? -

    - -

    Abstract syntax

    -

    -We will use the abstract syntax defined in -Abstract.gf. -

    - -

    Concrete syntax

    -

    -There is an English concrete syntax for this grammar in -English.gf. -

    - -

    Generate tree module

    -

    -To be able to write Transfer programs which use the types defined in -an abstract syntax, we first need to generate a Transfer file with -a data type defintition corresponding to the abstract syntax. -This is done with the transfer grammar printer: -

    -
    -  $ gf
    -  > i English.gf
    -  > pg -printer=transfer | wf tree.tra
    -
    -

    -

    -Note that you need to load a concrete syntax which uses the abstract -syntax that you want to create a Transfer data type for. Loading just the -abstract syntax module is not enough. FIXME: why? -

    -

    -The command sequence above writes a Transfer data type definition to the -file tree.tra. -

    - -

    Write transfer code

    -

    -We write the Transfer program -aggregate.tra. -

    -

    -FIXME: explain the code -

    - -

    Compiling Transfer programs

    -

    -Transfer programs are written in the human-friendly Transfer language, -but GF only understands the simpler Transfer Core language. Therefore, -before using a Transfer program, you must first compile it to -Transfer Core. This is done using the transferc command: -

    -
    -  $ transferc -i<lib> <transfer program>
    -
    -

    -

    -Here, <lib> is the path to search for any modules which you import -in your Transfer program. You can give several -i flags. -

    -

    -So, to compile aggregate.tra which we created above, we use: -

    -
    -  $ transferc aggregate.tra
    -
    -

    -

    -The creates the Transfer Core file aggregate.trc. -

    - -

    Using Transfer programs in GF

    - -

    Loading the grammars

    -

    -To use a Transfer Core program to transform abstract syntax terms -in GF, you must first load the grammars which you want to use the -program with. For the example above, we need the grammar English.gf -and its dependencies. We load this grammar with: -

    -
    -  > i English.gf
    -
    -

    - -

    Loading the Transfer program

    -

    -There are two steps to using a Transfer Core program in GF. First you load -the program into GF. This is done with the i command, which is also -used when loading grammar modules. To load the aggregate.trc which -we created above, we use: -

    -
    -  > i aggregate.trc
    -
    -

    - -

    Calling Transfer functions

    -

    -To call a Transfer function on a term, we use the at command. -The at command takes the name of a Transfer function and an abstract -syntax term, and applies the function to the term: -

    -
    -  > at aggregS ConjS And (Pred John Walk) (Pred Mary Walk)
    -  
    -  Pred (ConjNP And John Mary) Walk
    -
    -

    -

    -Of course, the input and output terms of the at command can -be read from and written to pipes: -

    -
    -  > p "John walks and Mary walks" | at aggregS | l
    -  
    -  John and Mary walk
    -
    -

    -

    -To see what is going on between the steps, we can use -tr flags -to the commands: -

    -
    -  > p -tr "John walks and Mary walks" | at -tr aggregS | l
    -  
    -  ConjS And (Pred John Walk) (Pred Mary Walk)
    -  
    -  Pred (ConjNP And John Mary) Walk
    -  
    -  John and Mary walk
    -
    -

    - -

    Transfer between different abstract syntaxes

    -

    -If the transfer function which you wan to call takes as input a term in one -abstract syntax, and returns a term in a different abstract syntax, you -can use the -lang flag with the at command. This is needed since the -at command type checks the result it produces, and it needs to -know which abstract sytnax to type check it in. -

    - - - - diff --git a/doc/transfer-tutorial.txt b/doc/transfer-tutorial.txt deleted file mode 100644 index ceb12693f..000000000 --- a/doc/transfer-tutorial.txt +++ /dev/null @@ -1,165 +0,0 @@ -Transfer tutorial -Author: Björn Bringert -Last update: %%date(%c) - -% NOTE: this is a txt2tags file. -% Create an html file from this file using: -% txt2tags -t html --toc darcs.txt - -%!target:html -%!options(html): --toc -%!encoding:utf-8 - -**WARNING: The Transfer language is still experimental. Its syntax, type system and semantics may change without notice. I will try to help you with any problems this might cause, but I will not refrain from changing the language solely for reasons of backwards compatibility.** - -= Objective = - -We want to write a Transfer program which we can use to do aggregation -in sentences which use conjunctions on the sentence, noun phrase and -verb phrase levels. For example, we want to be able to transform -the sentence "John walks and Mary walks" to the sentence -"John and Mary walk". We would also like to transform -"John walks and John swims" to "John walks and swims". - -Thus that what we want to do is: - -- Transform sentence conjunction where the verb phrases in the sentences - are identical to noun phrase conjunction. -- Transform sentence conjunction where the noun phrases in the sentences - are identical to verb phrase conjunction. - - -This needs to be done recursively and thoughout the sentence, to be -able to handle cases like "John walks and Mary walks and Bill walks", and -"John runs and Mary walks and Bill walks". - - -FIXME: what about John walks and Mary runs and Bill walks"? - - -= Abstract syntax = - -We will use the abstract syntax defined in -[Abstract.gf ../transfer/examples/aggregation/Abstract.gf]. - -= Concrete syntax = - -There is an English concrete syntax for this grammar in -[English.gf ../transfer/examples/aggregation/English.gf]. - -= Generate tree module = - -To be able to write Transfer programs which use the types defined in -an abstract syntax, we first need to generate a Transfer file with -a data type defintition corresponding to the abstract syntax. -This is done with the ``transfer`` grammar printer: - -``` -$ gf -> i English.gf -> pg -printer=transfer | wf tree.tra -``` - -Note that you need to load a concrete syntax which uses the abstract -syntax that you want to create a Transfer data type for. Loading just the -abstract syntax module is not enough. FIXME: why? - -The command sequence above writes a Transfer data type definition to the -file [tree.tra ../transfer/examples/aggregation/tree.tra]. - - -= Write transfer code = - -We write the Transfer program -[aggregate.tra ../transfer/examples/aggregation/aggregate.tra]. - -FIXME: explain the code - -= Compiling Transfer programs = - -Transfer programs are written in the human-friendly Transfer language, -but GF only understands the simpler Transfer Core language. Therefore, -before using a Transfer program, you must first compile it to -Transfer Core. This is done using the ``transferc`` command: - -``` -$ transferc -i -``` - -Here, ```` is the path to search for any modules which you import -in your Transfer program. You can give several ``-i`` flags. - -So, to compile ``aggregate.tra`` which we created above, we use: - -``` -$ transferc aggregate.tra -``` - -The creates the Transfer Core file ``aggregate.trc``. - - -= Using Transfer programs in GF = - -== Loading the grammars == - -To use a Transfer Core program to transform abstract syntax terms -in GF, you must first load the grammars which you want to use the -program with. For the example above, we need the grammar ``English.gf`` -and its dependencies. We load this grammar with: - -``` -> i English.gf -``` - -== Loading the Transfer program == - -There are two steps to using a Transfer Core program in GF. First you load -the program into GF. This is done with the ``i`` command, which is also -used when loading grammar modules. To load the ``aggregate.trc`` which -we created above, we use: - -``` -> i aggregate.trc -``` - -== Calling Transfer functions == - -To call a Transfer function on a term, we use the ``at`` command. -The ``at`` command takes the name of a Transfer function and an abstract -syntax term, and applies the function to the term: - -``` -> at aggregS ConjS And (Pred John Walk) (Pred Mary Walk) - -Pred (ConjNP And John Mary) Walk -``` - -Of course, the input and output terms of the ``at`` command can -be read from and written to pipes: - -``` -> p "John walks and Mary walks" | at aggregS | l - -John and Mary walk -``` - -To see what is going on between the steps, we can use ``-tr`` flags -to the commands: - -``` -> p -tr "John walks and Mary walks" | at -tr aggregS | l - -ConjS And (Pred John Walk) (Pred Mary Walk) - -Pred (ConjNP And John Mary) Walk - -John and Mary walk -``` - -=== Transfer between different abstract syntaxes === - -If the transfer function which you wan to call takes as input a term in one -abstract syntax, and returns a term in a different abstract syntax, you -can use the ``-lang`` flag with the ``at`` command. This is needed since the -``at`` command type checks the result it produces, and it needs to -know which abstract sytnax to type check it in. \ No newline at end of file diff --git a/doc/transfer.html b/doc/transfer.html deleted file mode 100644 index b45917143..000000000 --- a/doc/transfer.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - -The GF Transfer language - -

    The GF Transfer language

    - -Author: Björn Bringert <bringert@cs.chalmers.se>
    -Last update: Fri Dec 9 11:54:38 2005 -
    - -

    -WARNING: The Transfer language is still experimental. Its syntax, type system and semantics may change without notice. I will try to help you with any problems this might cause, but I will not refrain from changing the language solely for reasons of backwards compatibility. -

    -

    -The GF Transfer language is a programming language which can be -used to write functions which work on abstract syntax terms. -

    -

    Transfer tutorial

    -

    -The Transfer tutorial shows an example of how to -write and use a simple transfer function for a GF grammar. -

    -

    Transfer reference

    -

    -The Transfer reference aims to cover -all constructs in the Transfer language. -

    - - - - diff --git a/doc/transfer.txt b/doc/transfer.txt deleted file mode 100644 index 611cfaf6b..000000000 --- a/doc/transfer.txt +++ /dev/null @@ -1,27 +0,0 @@ -The GF Transfer language -Author: Björn Bringert -Last update: %%date(%c) - -% NOTE: this is a txt2tags file. -% Create an html file from this file using: -% txt2tags transfer.txt - -%!target:html -%!encoding:utf-8 - -**WARNING: The Transfer language is still experimental. Its syntax, type system and semantics may change without notice. I will try to help you with any problems this might cause, but I will not refrain from changing the language solely for reasons of backwards compatibility.** - -The GF Transfer language is a programming language which can be -used to write functions which work on abstract syntax terms. - -= Transfer tutorial = - -The [Transfer tutorial transfer-tutorial.html] shows an example of how to -write and use a simple transfer function for a GF grammar. - - -= Transfer reference = - -The [Transfer reference transfer-reference.html] aims to cover -all constructs in the Transfer language. - diff --git a/doc/val-optimization.txt b/doc/val-optimization.txt deleted file mode 100644 index e2342876d..000000000 --- a/doc/val-optimization.txt +++ /dev/null @@ -1,183 +0,0 @@ -Idea: in GFC, represent tables as just lists values, without showing -the parameters. - -Concrete syntax: - - table T [t1 ; ... ; tn] - -where t1,...,tn are terms. This is treated as equivalent to - - table {p1 => t1 ; ... ; pn => tn} - -where p1,...,pn is the canonical listing of patterns of type T. - -Advantage: reduce the size of GFC files. - -Disadvantages: you don't get the sharing optimization, e.g. -table {A|B => v} instead of table T [v ; v] -Moreover, it is slower to select from the table, because -one first has to look up the position index of the argument. - -Usage: when compiling a module, use the -val option: - - i -val -src Foo.gf - -Summary of results, testing with lib/resource/french/TestVerbesFre.gf: - - without -val with -val ratio - compilation time 129 s 84 s 65 % - time to read back gfcm 109 s 32 s 29 % - size of generated gfcm 28 M 9 M 32 % - memory use in compilation 376 M 251 M 67 % - memory use in reading gfcm 1120 M 524 M 47 % - -No significant loss in linearization (which needs selection). - -Conclusion: for the case at hand (which prompted the experiment -at the first place), the gain is significant: compilation needs -30 % less resources, and using the compiled grammar needs -50-70 % less. - -More testing is desirable to find out if -val is always good. - -At the moment, reuse is not possible with gfc modules created -with the -val flag (although it is supported by the GF syntax -already). - - - -10/1/2004 - -Test the generation of course-of-values tables - ---------------------- -Without: - - i -src TestVerbesFre.gf - 129160 msec - - > gr -cat=V | l -table - 650 msec - -gf +RTS -K10M -s -8,469,778,952 bytes allocated in the heap -2,779,891,252 bytes copied during GC -133,108,856 bytes maximum residency (36 sample(s)) - - 32295 collections in generation 0 ( 24,25s) - 36 collections in generation 1 ( 24,68s) - - 376 Mb total memory in use - - INIT time 0,01s ( 0,04s elapsed) - MUT time 80,21s (499,76s elapsed) - GC time 48,93s ( 50,01s elapsed) - EXIT time 0,00s ( 0,00s elapsed) - Total time 129,15s (549,81s elapsed) - - %GC time 37,9% (9,1% elapsed) - - Alloc rate 105,581,886 bytes per MUT second - - Productivity 62,1% of total user, 14,6% of total elapsed - - -wc french/*.gfc french/*.gfr - 37 2533 44976 french/CategoriesFre.gfc - 0 9 62 french/ConjugNancy.gfc - 2 29 137 french/MorphoFre.gfc - 29 966 7641 french/NumeralsFre.gfc - 136 393891 4415193 french/RulesFre.gfc - 151 4211 39290 french/StructuralFre.gfc - 123 607 3259 french/SyntaxFre.gfc - 285 4702 59892 french/TestResourceFre.gfc - 6790 27179 184046 french/TestVerbesAbs.gfc - 6781 28170 198376 french/TestVerbesFre.gfc - 20 214 1245 french/TypesFre.gfc - 6494 45458 254878 french/VerbesAbs.gfc - 6494 1272600 23438292 french/VerbesFre.gfc - 6449 45143 209154 french/Vs.gfc - 6278 47836 426316 french/ConjugNancy.gfr - 14465 72471 655006 french/MorphoFre.gfr - 238250 798560 8973600 french/SyntaxFre.gfr - 492 2557 21908 french/TypesFre.gfr - 293276 2747136 38933271 total - -pm | wf test0.gfcm -55660 msec - -wc test0.gfcm - 28041 1784674 28669416 test0.gfcm - -> i test0.gfcm -+ reading test0.gfcm 103290 msec -109450 msec - -1120 Mb total memory in use - ----------------------- -After: - - - i -src -val TestVerbesFre.gf - 84650 msec - - gr -cat=V | l -table - 390 msec - -gf +RTS -K10M -s -6,061,907,436 bytes allocated in the heap -1,576,739,488 bytes copied during GC - 92,700,188 bytes maximum residency (32 sample(s)) - - 23109 collections in generation 0 ( 13,98s) - 32 collections in generation 1 ( 12,02s) - - 251 Mb total memory in use - - INIT time 0,01s ( 0,00s elapsed) - MUT time 59,28s (122,35s elapsed) - GC time 26,00s ( 26,91s elapsed) - EXIT time 0,00s ( 0,00s elapsed) - Total time 85,29s (149,26s elapsed) - - %GC time 30,5% (18,0% elapsed) - - Alloc rate 102,241,650 bytes per MUT second - - Productivity 69,5% of total user, 39,7% of total elapsed - -wc french/*.gfc french/*.gfr - 37 3894 13600 french/CategoriesFre.gfc - 0 9 62 french/ConjugNancy.gfc - 2 29 137 french/MorphoFre.gfc - 29 938 5726 french/NumeralsFre.gfc - 136 354450 3097901 french/RulesFre.gfc - 151 3738 22354 french/StructuralFre.gfc - 123 607 3259 french/SyntaxFre.gfc - 285 2437 18664 french/TestResourceFre.gfc - 6790 27179 184046 french/TestVerbesAbs.gfc - 6781 27694 191696 french/TestVerbesFre.gfc - 20 214 1245 french/TypesFre.gfc - 6494 45458 254878 french/VerbesAbs.gfc - 6494 442149 5078881 french/VerbesFre.gfc - 6449 45143 209154 french/Vs.gfc - 6278 47836 426316 french/ConjugNancy.gfr - 14465 72471 655006 french/MorphoFre.gfr - 238250 798560 8973600 french/SyntaxFre.gfr - 492 2557 21908 french/TypesFre.gfr - 293276 1875363 19158433 total - -pm | wf test1.gfcm -13030 msec - -wc test1.gfcm - 28041 912901 8894578 test1.gfcm - -> i test1.gfcm -+ reading test1.gfcm 24220 msec -32720 msec - -524 Mb total memory in use - -