1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 20:30:28 +02:00
guile/srfi
Marius Vollmer 4549ba4ac6 The SRFI-19 implementation was completely broken. Already the
reference implementation did not handle DST and time zones properly
and relied on non-R5RS-isms like passing reals to `quotient'.  For
Guile, some additional fixes were needed because of the incomplete
numeric tower implementation.  See also srfi-19.test.

* srfi-19.scm (date-zone-offset): Fixed typo in export clause.
(add-duration): Renamed from priv:add-duration.
(priv:time-normalize!): Handle fractional nanoseconds; remove
duplicate definition.  (priv:current-time-tai): Fixed typo.  (time=?,
time<=?): Fixed typos.  (time-tai->time-utc, time-utc->time-tai,
time-utc->time-monotonic): Use make-time-unnormalized instead of
make-time when uninitialized time fields are used.
(set-date-nanosecond!, set-date-second!, set-date-minute!,
set-date-hour!, set-date-day!, set-date-month!, set-date-year!,
set-date-zone-offset!): Define.  (priv:local-tz-offset): Take an extra
argument in order to handle DST effects.  (time-utc->date,
time-tai->date, time-monotonic->date): Handle the changed signature of
priv:local-tz-offset. Don't pass non-integer arguments to quotient
(non-R5RS, not supported by Guile).  (date->time-utc): Ensure that
seconds in a date structure are always exact integers.  Handle DST
properly.  (current-date, julian-day->date,
modified-julian-day->date): Handle the changed signature of
priv:local-tz-offset.  (julian-day->time-utc): Reverted earlier
inexact->exact hack; make-time now handles inexact arguments.
(priv:locale-print-time-zone): At least print the numerical time zone.
(priv:integer-reader): Fixed named let iteration.
(priv:read-directives): Use set-date-month! instead of
priv:set-date-month! etc.  (string->date): Handle DST properly.
2001-06-18 18:30:58 +00:00
..
.cvsignore Integrated the guile-srfi package into the Guile distribution. 2001-04-23 20:21:01 +00:00
ChangeLog *** empty log message *** 2001-06-14 18:26:43 +00:00
Makefile.am * README: Update. 2001-06-07 04:27:37 +00:00
README * README: Update. 2001-06-07 04:27:37 +00:00
srfi-1.scm * srfi-1.scm (fold, fold-pair): Fixed a buggy call to apply. 2001-06-07 17:54:40 +00:00
srfi-2.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-6.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-8.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-9.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-10.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-11.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-13.c Avoid using module operations from C. 2001-05-19 00:17:05 +00:00
srfi-13.h * srfi-13.h 2001-04-27 21:10:46 +00:00
srfi-13.scm Prevent `export' from re-exporting core bindings. 2001-06-14 18:23:28 +00:00
srfi-14.c * Introduce SCM_UNUSED and mark unused function parameters. 2001-06-07 21:12:19 +00:00
srfi-14.h Avoid using module operations from C. 2001-05-19 00:17:05 +00:00
srfi-14.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-16.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-17.scm *** empty log message *** 2001-06-03 23:34:08 +00:00
srfi-19.scm The SRFI-19 implementation was completely broken. Already the 2001-06-18 18:30:58 +00:00

This directory includes most of Guile's SRFI support.       -*- text -*-

For more details about what SRFI means, and what the various numbers
stand for, please refer to the SRFI homepage at

  http://srfi.schemers.org

The following SRFIs are supported (as of 2001-06-06 -- 'martin):

SRFI-0: cond-expand

  Supported by default, no module needs to get used.

SRFI-1: List Library

  A full toolbox of list processing procedures.  (use-modules (srfi
  srfi-1)) will make them available for use.

SRFI-2: and-let*

  (use-modules (srfi srfi-2)) to make and-let* available.

SRFI-6: open-input-string, open-output-string and get-output-string

  (use-modules (srfi srfi-6)) to make these available. (Currently,
  these procedures are available without using the module, but the
  procedures might be factored out of the core library in the
  future.)

SRFI-8: receive

  (use-modules (srfi srfi-8)) to make receive available.

SRFI-9: define-record-type

  A mechanism for defining record types.  (use-modules (srfi srfi-9))
  makes this syntactic form available.

SRFI-10: #,()

  The hash-comma reader extension.  (use-modules (srfi srfi-10))
  activates the extension.

SRFI-11: let-values and let-values*

  Syntactic extensions for handling multiple values.  (use-modules
  (srfi srfi-11)) makes these syntactic forms available.

SRFI-13: string library

  A lot of (more or less) useful string processing procedures.
  (use-modules (srfi srfi-13)) loads the procedures.

SRFI-14: character-set library

  Character-set library.  (use-modules (srfi srfi-14)) loads the
  procedures and standard variables.

SRFI-16: case-lambda

  Syntactic form which permits writing functions acting different
  according to the number of arguments passed.  (use-modules (srfi
  srfi-16)) makes this syntactic form available.

SRFI-17: Generalized set!

  Guile supports generalized set! by default, but this module makes it
  fully compliant to the SRFI.  (use-modules (srfi srfi-17)) loads the
  procedures.

SRFI-19: Time Data Types and Procedures

  A lot of data types and procedures for dealing with times and
  dates.  (use-modules (srfi srfi-19)) loads the procedures.

SRFI-23: Error reporting mechanism (draft)

  This SRFI is still in draft status, but Guile fully supports it
  already.  No need to load any module.