From 075630989ef9119e67be21f105a16463d7c37823 Mon Sep 17 00:00:00 2001 From: mainzelm Date: Mon, 10 Mar 2003 13:27:09 +0000 Subject: [PATCH] Make srfi-19 a functor and move the definition back to scheme/srfi. --- scheme/more-interfaces.scm | 88 +++++++++++++++++++++++++++++++ scheme/more-packages.scm | 12 ++++- {scsh => scheme/srfi}/srfi-19.scm | 0 scsh/scsh-interfaces.scm | 87 ------------------------------ scsh/scsh-package.scm | 9 +--- 5 files changed, 99 insertions(+), 97 deletions(-) rename {scsh => scheme/srfi}/srfi-19.scm (100%) diff --git a/scheme/more-interfaces.scm b/scheme/more-interfaces.scm index 7560b39..14b1dd9 100644 --- a/scheme/more-interfaces.scm +++ b/scheme/more-interfaces.scm @@ -535,6 +535,94 @@ )) +(define-interface srfi-19-interface + (export;; Constants + time-duration + time-monotonic + time-process + time-tai + time-thread + time-utc + ;; Current time and clock resolution + current-date + current-julian-day + current-modified-julian-day + current-time + time-resolution + ;; Time object and accessors + make-time + time? + time-type + time-nanosecond + time-second + set-time-type! + set-time-nanosecond! + set-time-second! + copy-time + ;; Time comparison procedures + time<=? + time=? + time>? + ;; Time arithmetic procedures + time-difference + time-difference! + add-duration + add-duration! + subtract-duration + subtract-duration! + ;; Date object and accessors + make-date + date? + date-nanosecond + date-second + date-minute + date-hour + date-day + date-month + date-year + date-zone-offset + date-year-day + date-week-day + date-week-number + ;; Time/Date/Julian Day/Modified Julian Day converters + date->julian-day + date->modified-julian-day + date->time-monotonic + date->time-tai + date->time-utc + julian-day->date + julian-day->time-monotonic + julian-day->time-tai + julian-day->time-utc + modified-julian-day->date + modified-julian-day->time-monotonic + modified-julian-day->time-tai + modified-julian-day->time-utc + time-monotonic->date + time-monotonic->time-tai + time-monotonic->time-tai! + time-monotonic->time-utc + time-monotonic->time-utc! + time-tai->date + time-tai->julian-day + time-tai->modified-julian-day + time-tai->time-monotonic + time-tai->time-monotonic! + time-tai->time-utc + time-tai->time-utc! + time-utc->date + time-utc->julian-day + time-utc->modified-julian-day + time-utc->time-monotonic + time-utc->time-monotonic! + time-utc->time-tai + time-utc->time-tai! + ;; Date to string/string to date converters. + date->string + string->date)) + (define-interface srfi-27-interface (export random-integer random-real diff --git a/scheme/more-packages.scm b/scheme/more-packages.scm index 40889a5..bcf1dc8 100644 --- a/scheme/more-packages.scm +++ b/scheme/more-packages.scm @@ -807,7 +807,15 @@ ; SRFI-18 - no implementation given -; SRFI-19 - needs access to time primitves => moved to scsh +(define (make-srfi-19 scheme-with-scsh) + (structure srfi-19-interface + (open scheme-with-scsh + (subset srfi-1 (reverse!)) + srfi-6 + srfi-8 + signals + srfi-9) + (files (srfi srfi-19)))) ; SRFI-20 - withdrawn ; SRFI-21 - no implementation given @@ -949,7 +957,7 @@ ; SRFI packages srfi-1 srfi-2 srfi-5 srfi-6 srfi-7 srfi-8 srfi-9 - srfi-11 srfi-13 srfi-14 srfi-16 srfi-17 + srfi-11 srfi-13 srfi-14 srfi-16 srfi-17 make-srfi-19 srfi-23 srfi-25 srfi-26 srfi-27 srfi-28 srfi-31 srfi-37 ) diff --git a/scsh/srfi-19.scm b/scheme/srfi/srfi-19.scm similarity index 100% rename from scsh/srfi-19.scm rename to scheme/srfi/srfi-19.scm diff --git a/scsh/scsh-interfaces.scm b/scsh/scsh-interfaces.scm index e93964a..7e199b1 100644 --- a/scsh/scsh-interfaces.scm +++ b/scsh/scsh-interfaces.scm @@ -1188,90 +1188,3 @@ md5-digest-for-string md5-digest-for-port)) -(define-interface srfi-19-interface - (export;; Constants - time-duration - time-monotonic - time-process - time-tai - time-thread - time-utc - ;; Current time and clock resolution - current-date - current-julian-day - current-modified-julian-day - current-time - time-resolution - ;; Time object and accessors - make-time - time? - time-type - time-nanosecond - time-second - set-time-type! - set-time-nanosecond! - set-time-second! - copy-time - ;; Time comparison procedures - time<=? - time=? - time>? - ;; Time arithmetic procedures - time-difference - time-difference! - add-duration - add-duration! - subtract-duration - subtract-duration! - ;; Date object and accessors - make-date - date? - date-nanosecond - date-second - date-minute - date-hour - date-day - date-month - date-year - date-zone-offset - date-year-day - date-week-day - date-week-number - ;; Time/Date/Julian Day/Modified Julian Day converters - date->julian-day - date->modified-julian-day - date->time-monotonic - date->time-tai - date->time-utc - julian-day->date - julian-day->time-monotonic - julian-day->time-tai - julian-day->time-utc - modified-julian-day->date - modified-julian-day->time-monotonic - modified-julian-day->time-tai - modified-julian-day->time-utc - time-monotonic->date - time-monotonic->time-tai - time-monotonic->time-tai! - time-monotonic->time-utc - time-monotonic->time-utc! - time-tai->date - time-tai->julian-day - time-tai->modified-julian-day - time-tai->time-monotonic - time-tai->time-monotonic! - time-tai->time-utc - time-tai->time-utc! - time-utc->date - time-utc->julian-day - time-utc->modified-julian-day - time-utc->time-monotonic - time-utc->time-monotonic! - time-utc->time-tai - time-utc->time-tai! - ;; Date to string/string to date converters. - date->string - string->date)) diff --git a/scsh/scsh-package.scm b/scsh/scsh-package.scm index 41378fd..227eeb6 100644 --- a/scsh/scsh-package.scm +++ b/scsh/scsh-package.scm @@ -589,11 +589,4 @@ external-calls) (files md5)) -(define-structure srfi-19 srfi-19-interface - (open scheme-with-scsh - (subset srfi-1 (reverse!)) - srfi-6 - srfi-8 - signals - srfi-9) - (files srfi-19)) +(define-structure srfi-19 (make-srfi-19 scheme-with-scsh))