packages feed

gf-3.4: examples/extmini/ParadigmsEng.gf

resource ParadigmsEng = GrammarEng [N,A,V] ** 
  open ResEng, GrammarEng, Prelude in {

oper
  mkN = overload {
    mkN : (dog : Str) -> N 
      = \n -> lin N (regNoun n) ;
    mkN : (man, men : Str) -> N 
      = \s,p -> lin N (mkNoun s p) ;
    } ;

  mkPN : (john : Str) -> PN
     = \s -> lin PN (ss s) ;  

  mkA = overload {
    mkA : (small : Str) -> A 
      = \a -> lin A (mkAdj a) ;
    } ;

  mkV = overload {
    mkV : (walk : Str) -> V 
      = \v -> lin V (regVerb v) ;
    mkV : (go,goes,went,gone : Str) -> V 
      = \p1,p2,p3,p4 -> lin V (mkVerb p1 p2 p3 p4) ;
    } ;

  mkV2 = overload {
    mkV2 : Str -> V2
      = \s -> lin V2 (regVerb s ** {c = []}) ;
    mkV2 : V -> V2
      = \v -> lin V2 (v ** {c = []}) ;
    mkV2 : V -> Str -> V2
      = \v,p -> lin V2 (v ** {c = p}) ;
    } ;

}