From 738dd44ec8cf4b4d3820d47befb23a2d951eb928 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 17 Apr 2020 13:29:13 +0200 Subject: [PATCH] (Hun) Add digits --- src/hungarian/NounHun.gf | 5 ++++- src/hungarian/NumeralHun.gf | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/hungarian/NounHun.gf b/src/hungarian/NounHun.gf index 180a38df..20cefd26 100644 --- a/src/hungarian/NounHun.gf +++ b/src/hungarian/NounHun.gf @@ -87,7 +87,10 @@ concrete NounHun of Noun = CatHun ** open ResHun, Prelude in { } ; -- : Digits -> Card ; - -- NumDigits dig = + NumDigits dig = dig ** { + s = \\place => dig.s ! NCard ; + numtype = IsNum ; + } ; -- : Numeral -> Card ; NumNumeral num = num ; diff --git a/src/hungarian/NumeralHun.gf b/src/hungarian/NumeralHun.gf index ca2a9e93..f9c66af1 100644 --- a/src/hungarian/NumeralHun.gf +++ b/src/hungarian/NumeralHun.gf @@ -90,3 +90,40 @@ oper numNumber = Sg ; + -- numerals as sequences of digits + lincat + Dig = TDigit ; + + lin + -- : Dig -> Digits ; -- 8 + IDig d = d ** {s = \\_ => d.s} ; + + -- : Dig -> Digits -> Digits ; -- 876 + IIDig d i = { + s = \\x => d.s ++ BIND ++ i.s ! x ; + n = numNumber + } ; + + D_0 = mkDig "0" ; + D_1 = mkDig "1" ; + D_2 = mkDig "2" ; + D_3 = mkDig "3" ; + D_4 = mkDig "4" ; + D_5 = mkDig "5" ; + D_6 = mkDig "6" ; + D_7 = mkDig "7" ; + D_8 = mkDig "8" ; + D_9 = mkDig "9" ; + + oper + mkDig : Str -> TDigit = \s -> { + s = s ; + n = numNumber + } ; + + TDigit = { + s : Str ; -- TODO add ordinals + n : Number + } ; + +}