From 60500231d8c4556616ee64582b0c95daf787d5b9 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 30 Mar 2020 21:51:42 +0200 Subject: [PATCH] (Hun) Adjust types for numerals --- src/hungarian/CatHun.gf | 2 +- src/hungarian/NounHun.gf | 4 +++- src/hungarian/ResHun.gf | 20 ++++++++++---------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/hungarian/CatHun.gf b/src/hungarian/CatHun.gf index c19eb8a3..743abe55 100644 --- a/src/hungarian/CatHun.gf +++ b/src/hungarian/CatHun.gf @@ -76,7 +76,7 @@ concrete CatHun of Cat = CommonX ** open ResHun, Prelude in { -- Constructed in NumeralHun. - Card = ResHun.Num ; + Card = ResHun.Numeral ; Numeral = ResHun.Numeral ; Digits = {s : CardOrd => Str ; n : Number} ; diff --git a/src/hungarian/NounHun.gf b/src/hungarian/NounHun.gf index 3b05a049..25f77ae6 100644 --- a/src/hungarian/NounHun.gf +++ b/src/hungarian/NounHun.gf @@ -82,7 +82,9 @@ concrete NounHun of Noun = CatHun ** open ResHun, Prelude in { NumPl = baseNum ** {n = Pl} ; -- : Card -> Num ; - NumCard card = card ; + NumCard card = card ** { + n = Sg -- Numerals take noun in Sg: e.g. öt város, literally 'five city' + } ; -- : Digits -> Card ; -- NumDigits dig = diff --git a/src/hungarian/ResHun.gf b/src/hungarian/ResHun.gf index 400a5659..c48a4d5d 100644 --- a/src/hungarian/ResHun.gf +++ b/src/hungarian/ResHun.gf @@ -120,24 +120,24 @@ oper numtype : NumType ; -- Whether its Num component is digit, numeral or Sg/Pl } ; - Num : Type = { + Numeral : Type = { s : Place => Str ; -- Independent or attribute - n : Number ; -- Singular or plural numtype : NumType ; -- Digit, numeral or Sg/Pl : makes a difference in many languages - } ; - - baseNum : Num = { - s = \\_ => [] ; - n = Sg ; - numtype = NoNum + -- TODO add ordinal } ; {- Numeral can become Num via Noun.gf: NumNumeral : Numeral -> Card ; Noun.gf: NumCard : Card -> Num ; -} - Numeral : Type = Num ** { - -- TODO add ordinal + Num : Type = Numeral ** { + n : Number ; -- Singular or plural + } ; + + baseNum : Num = { + s = \\_ => [] ; + n = Sg ; + numtype = NoNum } ; --------------------------------------------------------------------------------