summaryrefslogtreecommitdiff
path: root/examples/dates/Dates.gf
blob: 9ac664a1c5654d76d6d8a753ece951d9b040ecda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
abstract Dates = {

flags startcat = Date ;

cat
  Date ; Year ; Month ; Day ; Time ; Hour ; Minute ; Weekday ; Ampm ;

fun
  DFull : Year -> Month -> Day -> Weekday -> Time -> Date ;
  
  MkYear : Int -> Year ;

  MJan, MFeb, MMar, MApr, MMay, MJun, MJul, MAug, MSep, MOct, MNov, MDec : Month ;

  MkDay : Int -> Day ;

  MkTime : Ampm -> Hour -> Minute -> Time ;

  H01, H02, H03, H04, H05, H06, H07, H08, H09, H10, H11, H12 : Hour ;

  MkMinute : Int -> Minute ;

  WSun, WMon, WTue, WWed, WThu, WFri, WSat : Weekday ;

  AM, PM : Ampm ;

-- noncanonical ways

  DToday, DYesterday, DTomorrow : Time -> Date ;

}