staload "prelude/DATS/array.dats"
#define NMONTH 12
extern fun month_name (nmonth: intBtw (1, NMONTH+1)): string
local
val month_name_arr = array_make_arrsz {string} $arrsz(
"January"
, "February"
, "March"
, "April"
, "May"
, "June"
, "July"
, "August"
, "September"
, "October"
, "November"
, "December"
)
in
implement month_name (nmonth) = month_name_arr[nmonth-1]
end
implement main () = let
var i: intGt 0 val () = for (i := 1; i <= NMONTH; i := i + 1) begin
printf ("month_name[%i] = %s\n", @(i, month_name (i))) ;
end in
end