diff --git a/lib/resource/time/Time.gf b/lib/resource/time/Time.gf index 8a6631a89..a776055ee 100644 --- a/lib/resource/time/Time.gf +++ b/lib/resource/time/Time.gf @@ -19,6 +19,8 @@ Hour ; Minute ; Weekday ; +[Dig]{1}; + fun DateTimeDateTime : Date -> Time -> DateTime ; @@ -31,14 +33,14 @@ YearMonthDate : Year -> MonthName -> Date ; -- March 1995 YearMonthDayDate : Year -> MonthName -> Day -> Date ; -- January 1st, 2006 NumYear : Numeral -> Year ; -DigYear : Digits -> Year ; +DigYear : [Dig] -> Year ; NumMonth : Sub100 -> Month ; -DigMonth : Digits -> Month ; +DigMonth : [Dig] -> Month ; NameMonth : MonthName -> Month ; NumDay : Sub100 -> Day ; -DigDay : Digits -> Day ; +DigDay : [Dig] -> Day ; FormalTime : Hour -> Minute -> Time ; -- "two twenty" PastTime : Hour -> Minute -> Time ; -- "twenty past two" @@ -47,9 +49,9 @@ HourTime : Hour -> Time ; -- "two o'clock" ExactTime : Hour -> Time ; -- "sharp" NumHour : Numeral -> Hour ; -DigHour : Digits -> Hour ; +DigHour : [Dig] -> Hour ; NumMinute : Numeral -> Minute ; -DigMinute : Digits -> Minute ; +DigMinute : [Dig] -> Minute ; fun january : MonthName ; @@ -80,6 +82,7 @@ fun OnDate : Date -> Adv ; AtTime : Time -> Adv ; + {- Add: diff --git a/lib/resource/time/TimeEng.gf b/lib/resource/time/TimeEng.gf index d144ca4f3..54c6253fb 100644 --- a/lib/resource/time/TimeEng.gf +++ b/lib/resource/time/TimeEng.gf @@ -17,6 +17,8 @@ Hour = SS ; Minute = SS ; Time = SS ; +[Dig] = { s : CardOrd => Str } ; + lin DateTimeDateTime date time = { s = date.s ++ "at" ++ time.s }; @@ -84,4 +86,8 @@ OnDate date = let prep = case date.t of { AtTime time = { s = "at" ++ time.s } ; + +BaseDig d = { s = \\o => d.s!o } ; +ConsDig d ds = { s = \\o => d.s!NCard ++ ds.s!o } ; + } ;