From 5892c59cc4dd947692ff1503b39ab7dc4e02037b Mon Sep 17 00:00:00 2001 From: Patrick Hurst Date: Thu, 5 Dec 2013 11:36:46 -0500 Subject: Basic datetime library. --- Makefile.am | 13 ++++++------- lib/ur/datetime.ur | 26 ++++++++++++++++++++++++++ lib/ur/datetime.urs | 12 ++++++++++++ 3 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 lib/ur/datetime.ur create mode 100644 lib/ur/datetime.urs diff --git a/Makefile.am b/Makefile.am index d626c267..652296ea 100644 --- a/Makefile.am +++ b/Makefile.am @@ -95,13 +95,12 @@ if USE_EMACS endif uninstall-local-main: - rm -f $(DESTDIR)$(BIN)/urweb \ - $(DESTDIR)$(LIB_UR)/basis.urs $(DESTDIR)$(LIB_UR)/char.urs $(DESTDIR)$(LIB_UR)/listPair.urs $(DESTDIR)$(LIB_UR)/list.urs \ - $(DESTDIR)$(LIB_UR)/monad.urs $(DESTDIR)$(LIB_UR)/option.urs $(DESTDIR)$(LIB_UR)/string.urs $(DESTDIR)$(LIB_UR)/top.urs \ - $(DESTDIR)$(LIB_UR)/char.ur $(DESTDIR)$(LIB_UR)/listPair.ur $(DESTDIR)$(LIB_UR)/list.ur \ - $(DESTDIR)$(LIB_UR)/monad.ur $(DESTDIR)$(LIB_UR)/option.ur $(DESTDIR)$(LIB_UR)/string.ur $(DESTDIR)$(LIB_UR)/top.ur \ - $(DESTDIR)$(LIB_JS)/urweb.js \ - $(DESTDIR)$(INCLUDE)/config.h $(DESTDIR)$(INCLUDE)/queue.h $(DESTDIR)$(INCLUDE)/request.h $(DESTDIR)$(INCLUDE)/types.h \ + rm -f $(DESTDIR)$(BIN)/urweb $(DESTDIR)$(LIB_UR)/basis.urs $(DESTDIR)$(LIB_UR)/char.urs $(DESTDIR)$(LIB_UR)/datetime.urs \ + $(DESTDIR)$(LIB_UR)/listPair.urs \ $(DESTDIR)$(LIB_UR)/list.urs $(DESTDIR)$(LIB_UR)/monad.urs \ + $(DESTDIR)$(LIB_UR)/option.urs $(DESTDIR)$(LIB_UR)/string.urs $(DESTDIR)$(LIB_UR)/top.urs $(DESTDIR)$(LIB_UR)/char.ur \ + $(DESTDIR)$(LIB_UR)/datetime.ur $(DESTDIR)$(LIB_UR)/listPair.ur $(DESTDIR)$(LIB_UR)/list.ur $(DESTDIR)$(LIB_UR)/monad.ur \ + $(DESTDIR)$(LIB_UR)/option.ur $(DESTDIR)$(LIB_UR)/string.ur $(DESTDIR)$(LIB_UR)/top.ur $(DESTDIR)$(LIB_JS)/urweb.js \ + $(DESTDIR)$(INCLUDE)/config.h $(DESTDIR)$(INCLUDE)/queue.h $(DESTDIR)$(INCLUDE)/request.h $(DESTDIR)$(INCLUDE)/types.h \ $(DESTDIR)$(INCLUDE)/urweb.h $(DESTDIR)$(INCLUDE)/types_cpp.h $(DESTDIR)$(INCLUDE)/urweb_cpp.h uninstall-local: uninstall-local-main uninstall-emacs diff --git a/lib/ur/datetime.ur b/lib/ur/datetime.ur new file mode 100644 index 00000000..56c29724 --- /dev/null +++ b/lib/ur/datetime.ur @@ -0,0 +1,26 @@ +type datetime = { + Year : int, + Month : int, + Day : int, + Hour : int, + Minute : int, + Second : int +} + +fun toTime dt : time = fromDatetime dt.Year dt.Month dt.Day + dt.Hour dt.Minute dt.Second + +fun fromTime t : datetime = { + Year = datetimeYear t, + Month = datetimeMonth t, + Day = datetimeDay t, + Hour = datetimeHour t, + Minute = datetimeMinute t, + Second = datetimeSecond t +} + +fun datetimef fmt dt : string = timef fmt (toTime dt) + +val now : transaction datetime = + n <- now; + return (fromTime n) diff --git a/lib/ur/datetime.urs b/lib/ur/datetime.urs new file mode 100644 index 00000000..9d99b9e3 --- /dev/null +++ b/lib/ur/datetime.urs @@ -0,0 +1,12 @@ +type datetime = { Year : int, + Month : int, + Day : int, + Hour : int, + Minute : int, + Second : int + } + +val toTime : datetime -> time +val fromTime : time -> datetime +val datetimef : string -> datetime -> string +val now : transaction datetime -- cgit v1.2.3