source: project/release/3/srfi-19/trunk/srfi-19-eggdoc.scm @ 13907

Last change on this file since 13907 was 13907, checked in by Kon Lovett, 11 years ago

Release.

File size: 25.8 KB
Line 
1;;;; srfi-19-eggdoc.scm
2
3(use eggdoc)
4
5(define license #<<EOF
6Copyright (c) 2005, Kon Lovett.  All rights reserved.
7
8Permission is hereby granted, free of charge, to any person obtaining a
9copy of this software and associated documentation files (the Software),
10to deal in the Software without restriction, including without limitation
11the rights to use, copy, modify, merge, publish, distribute, sublicense,
12and/or sell copies of the Software, and to permit persons to whom the
13Software is furnished to do so, subject to the following conditions:
14
15The above copyright notice and this permission notice shall be included
16in all copies or substantial portions of the Software.
17
18THE SOFTWARE IS PROVIDED ASIS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
22OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
23ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24OTHER DEALINGS IN THE SOFTWARE.
25
26Copyright (C) I/NET, Inc. (2000, 2002, 2003). All Rights Reserved.
27Copyright (C) Neodesic Corporation (2000). All Rights Reserved.
28
29This document and translations of it may be copied and furnished to others,
30and derivative works that comment on or otherwise explain it or assist in its
31implementation may be prepared, copied, published and distributed, in whole or
32in part, without restriction of any kind, provided that the above copyright
33notice and this paragraph are included on all such copies and derivative works.
34However, this document itself may not be modified in any way, such as by
35removing the copyright notice or references to the Scheme Request For
36Implementation process or editors, except as needed for the purpose of
37developing SRFIs in which case the procedures for copyrights defined in the SRFI
38process must be followed, or as required to translate it into languages other
39than English.
40
41The limited permissions granted above are perpetual and will not be revoked
42by the authors or their successors or assigns.
43
44This document and the information contained herein is provided on an "AS IS"
45basis and THE AUTHOR AND THE SRFI EDITORS DISCLAIM ALL WARRANTIES, EXPRESS OR
46IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
47INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
48MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
49EOF
50)
51
52(define examples '((pre #<<EOF
53EOF
54)))
55
56(define doc `(
57  (eggdoc:begin
58    (name "srfi-19")
59    (description (p "Time Data Types and Procedures"))
60    (author (url "mailto:klovett@pacbell.net" "Kon Lovett"))
61
62    (requires
63      "Chicken 2.610"
64      locale
65      srfi-29
66      numbers)
67
68    (usage)
69    (download "srfi-19.egg")
70
71    (documentation
72
73      (p "This is a Chicken port of SRFI-19. This document only describes the extensions. "
74      "For the SRFI-19 API see "
75      (url "http://srfi.schemers.org/srfi-19/srfi-19.html" "SRFI-19") ".")
76
77      (subsection "Core Procedures"
78
79        (usage "(require-extension srfi-19-core)")
80
81        (subsubsection "SRFI-19 Document Changes"
82
83          (p "The " (b "nanosecond") " time object element is an integer "
84          "between 0 and 999,999,999 inclusive. (The SRFI-19 document mis-states "
85          "the value.)")
86
87          (p "A " (i "tz-offset") " value follows ISO 8601; positive for "
88          (em "east") " of UTC, and negative for " (em "west") ". This is the "
89          (em "opposite") " of the POSIX TZ environment variable.")
90
91          (p "Where the SRFI-19 document states a " (i "tz-offset") " argument a "
92          "timezone-components object is also legal.")
93
94          (p "The " (code "string->date") " procedure allows the "
95          "template-name argument to be optional. When missing the locale's "
96          "date-time-format string is used. The supplied locale bundle's "
97          "strings are invertible.")
98
99          (procedure "(make-date NANOSECOND SECOND MINUTE HOUR DAY MONTH YEAR ZONE-OFFSET [TZ-NAME #f] [DST-FLAG #f])"
100            (p "Same as SRFI-19 except for the optional parameters and allowing a "
101            "timezone-components object for the " (tt "ZONE-OFFSET") ".") )
102
103          (procedure "(read-leap-second-table FILENAME)"
104            (p "Sets the leap second table from the specified "
105            (tt "FILENAME") ".")
106
107            (p "The file format is the same as the "
108            "\"tai-utc.dat\" file in the distribution. Provided by "
109            "the U.S. Naval Observatory."))
110
111          (procedure "(leap-year? DATE)"
112            (p "Does the specified " (tt "DATE") " fall on a leap year?"))
113        )
114
115        (subsubsection "SRFI-18 Time"
116
117          (p "Due to conflicts between SRFI-18 and SRFI-19 procedure variables "
118          (code "srfi-19:current-time") " is a synonym for "
119          (code "current-time") " and " (code "srfi-19:time?") " "
120          "is a synonym for " (code "time?") ".")
121
122          (procedure "(time->srfi-18-time TIME)"
123            (p "Converts a SRFI-19 time object to a SRFI-18 time object. "
124            "The conversion is really only meaningful for time-duration, "
125            "but any time-type is accepted."))
126
127          (procedure "(srfi-18-time->time TIME)"
128            (p "Converts a SRFI-18 time object into a SRFI-19 "
129            "time-duration object."))
130        )
131
132        (subsubsection "Time Conversion"
133
134          (procedure "(seconds->time/type SECONDS [TIME-TYPE time-duration])"
135            (p "Converts a " (tt "SECONDS") " value, may be fractional, "
136            "into a " (tt "TIME-TYPE") " time object."))
137
138          (procedure "(seconds->date/type SECONDS [TIMEZONE-INFO #f])"
139            (p "Converts a " (tt "SECONDS") " value, which may be fractional, "
140            "into a date object. The " (tt "TIMEZONE-INFO") " is " (code "#t") " for the "
141            "local timezone, " (code "#f") " for the utc timezone, or a "
142            "timezone-components object.")
143
144            (p (tt "SECONDS") " is relative to 00:00:00 January 1, 1970 UTC.") )
145
146          (procedure "(time->nanoseconds TIME)"
147            (p "Returns the " (tt "TIME") " object value as a nanoseconds value."))
148
149          (procedure "(nanoseconds->time NANOSECONDS [TIME-TYPE time-duration])"
150            (p "Returns the " (tt "NANOSECONDS") " value as a time "
151            (tt "TIME-TYPE") " object."))
152
153          (procedure "(nanoseconds->seconds NANOSECONDS)"
154            (p "Returns the " (tt "NANOSECONDS") " value as an inexact seconds value."))
155
156          (procedure "(time->milliseconds TIME)"
157            (p "Returns the " (tt "TIME") " object value as a milliseconds value."))
158
159          (procedure "(milliseconds->time MILLISECONDS [TIME-TYPE time-duration])"
160            (p "Returns the " (tt "MILLISECONDS") " value as a time "
161            (tt "TIME-TYPE") " object."))
162
163          (procedure "(milliseconds->seconds MILLISECONDS)"
164            (p "Returns the " (tt "MILLISECONDS") " value as an inexact seconds value."))
165
166          (procedure "(time->date TIME)"
167            (p "Returns the " (tt "TIME") " object value as a date. A "
168            "shorthand for the " (code "(time-*->date ...)") " procedures."))
169
170          (procedure "(time->julian-day TIME)"
171            (p "Returns the julian day for the " (tt "TIME") " object.") )
172
173          (procedure "(time->modified-julian-day TIME)"
174            (p "Returns the modified julian day for the " (tt "TIME") " object.") )
175        )
176
177        (subsubsection "Time Arithmetic"
178
179          (procedure "(make-duration [#:days 0] [#:hours 0] [#:minutes 0] [#:seconds 0] [#:milliseconds 0] [#:microseconds 0] [#:nanoseconds 0])"
180            (p "Returns a time-object of clock-type "
181            (code "time-duration") " where the seconds and nanoseconds "
182            "values are calculated by summing the keyword arguments.")
183
184            (p (code "ONE-SECOND-DURATION") " and " (code "ONE-NANOSECOND-DURATION") " "
185            "are pre-defined.") )
186
187          (procedure "(divide-duration DURATION NUMBER)"
188            (p "Returns a duration, from " (tt "DURATION") ", divided by "
189            (tt "NUMBER") ", without remainder.") )
190
191          (procedure "(divide-duration! DURATION NUMBER)"
192            (p "Returns " (tt "DURATION") ", divided by " (tt "NUMBER") ", "
193            "without remainder.") )
194
195          (procedure "(multiply-duration DURATION NUMBER)"
196            (p "Returns a duration, from " (tt "DURATION") ", multiplied by "
197            (tt "NUMBER") ", truncated.") )
198
199          (procedure "(multiply-duration! DURATION NUMBER)"
200            (p "Returns " (tt "DURATION") ", multiplied by " (tt "NUMBER") ", "
201            "truncated.") )
202
203          (procedure "(time-negative? TIME)"
204            (p "Is " (tt "TIME") " negative?")
205
206            (p "A time object will never have a negative nanoseconds value.") )
207
208          (procedure "(time-positve? TIME)"
209            (p "Is " (tt "TIME") " positive?"))
210
211          (procedure "(time-zero? TIME)"
212            (p "Is " (tt "TIME") " zero?"))
213
214          (procedure "(time-abs TIME)"
215            (p "Returns the absolute time value, from " (tt "TIME") "."))
216
217          (procedure "(time-abs! TIME)"
218            (p "Returns the absolute " (tt "TIME") " value."))
219
220          (procedure "(time-negate TIME)"
221            (p "Returns the sign inverted time value, from " (tt "TIME") "."))
222
223          (procedure "(time-negate! TIME)"
224            (p "Returns the" (tt "TIME") " sign inverted value."))
225        )
226
227        (subsubsection "Time Comparison"
228
229          (procedure "(time-compare TIME1 TIME2)"
230            (p "Returns -1, 0, or 1.") )
231
232          (procedure "(time-max TIME1 [TIME2 ...])"
233            (p "Returns the maximum time object from " (tt "TIME1 TIME2 ...") "."))
234
235          (procedure "(time-min TIME1 [TIME2 ...])"
236            (p "Returns the minimum time object from " (tt "TIME1 TIME2 ...") "."))
237        )
238
239        (subsubsection "Dates"
240
241          (parameter "(default-date-clock-type [CLOCK-TYPE time-utc])"
242            (p "Sets or gets the clock-type used by default for conversion of a "
243            "date to a time."))
244
245          (procedure "(copy-date DATE)"
246            (p "Returns an exact copy of the specified " (tt "DATE") " "
247            "object."))
248
249          (procedure "(date->time DATE [CLOCK-TYPE (default-date-clock-type)])"
250            (p "Returns the specified " (tt "DATE") " as a time-object "
251            "of type " (tt "CLOCK-TYPE") "."))
252
253          (procedure "(date-zone-name DATE)"
254            (p "Returns the timezone abbreviation of the specified "
255            (tt "DATE") " object. The result is either a string or " (code "#f") "."))
256
257          (procedure "(date-dst? DATE)"
258            (p "Returns the daylight saving time flag of the specified "
259            (tt "DATE") " object.")
260
261            (p "Only valid for \"current\" dates. Historical dates will not "
262            "have a correct setting. Future dates cannot have a correct setting."))
263        )
264
265        (subsubsection "Date Arithmetic"
266
267          (procedure "(date-difference DATE1 DATE2 [CLOCK-TYPE])"
268            (p "Returns the duration between " (tt "DATE1") " and " (tt "DATE2") ".") )
269
270          (procedure "(date-add-duration DATE DURATION [CLOCK-TYPE])"
271            (p "Returns the " (tt "DATE") " plus the " (tt "DURATION") ".") )
272
273          (procedure "(date-subtract-duration DATE DURATION [CLOCK-TYPE])"
274            (p "Returns the " (tt "DATE") " minus the " (tt "DURATION") ".") )
275        )
276
277        (subsubsection "Date Comparison"
278
279          (procedure "(date-compare DATE1 DATE2)"
280            (p "Returns -1, 0, or 1.") )
281
282          (procedure "(date=? DATE1 DATE2)"
283            (p "Is " (tt "DATE1") " on " (tt "DATE2") "?") )
284
285          (procedure "(date>? DATE1 DATE2)"
286            (p "Is " (tt "DATE1") " after " (tt "DATE2") "?") )
287
288          (procedure "(date<? DATE1 DATE2)"
289            (p "Is " (tt "DATE1") " before " (tt "DATE2") "?") )
290
291          (procedure "(date>=? DATE1 DATE2)"
292            (p "Is " (tt "DATE1") " after or on " (tt "DATE2") "?") )
293
294          (procedure "(date<=? DATE1 DATE2)"
295            (p "Is " (tt "DATE1") " before or on " (tt "DATE2") "?") )
296        )
297
298        (subsubsection "Timezone"
299
300          (p (b "Note") " that the daylight saving time (summer time) flag is "
301          (em "always") " taken from the system, unless supplied. Any summer time "
302          "rule component of a " (code "timezone-components") " object is "
303          (em "not") " processed.")
304
305          (p "Remember that SRFI-19 timezone offset follows ISO 8601.")
306
307          (parameter "(local-timezone-locale [TZ-COMPONENTS])"
308            (p "Gets or sets the local timezone-locale object.") )
309
310          (parameter "(utc-timezone-locale [TZ-COMPONENTS])"
311            (p "Gets or sets the utc timezone-locale object.")
312
313            (p "Probably not a good idea to change the value.") )
314
315          (procedure "(timezone-locale-name [TZ-COMPONENTS])"
316            (p "Returns the timezone-locale name of the supplied " (tt "TZ-COMPONENTS") ", or the "
317            (code "(local-timezone-locale)") " if missing.") )
318
319          (procedure "(timezone-locale-offset [TZ-COMPONENTS])"
320            (p "Returns the timezone-locale offset of the supplied " (tt "TZ-COMPONENTS") ", or the "
321            (code "(local-timezone-locale)") " if missing.") )
322
323          (procedure "(timezone-locale-dst? [TZ-COMPONENTS])"
324            (p "Returns the timezone-locale daylight saving time flag of the supplied "
325            (tt "TZ-COMPONENTS") ", or the " (code "(local-timezone-locale)") " if missing.") )
326
327          (subsubsubsection "Deprecated"
328   
329            (procedure "(make-timezone-locale DST-FLAG TZ-COMPONENTS)"
330              (p "Returns a timezone-locale object.")
331 
332              (p "A " (tt "TZ-COMPONENTS") " object is as described by the "
333              (url "locale.html" "locale egg") ".") )
334 
335            (procedure "(timezone-locale? OBJ)"
336              (p "Is the " (tt "OBJ") " a timezone-locale object?") )
337          )
338        )
339      )
340
341      (subsection "Time Period"
342
343        (usage "(require-extension srfi-19-period)")
344
345        (p "A time-period is an interval, [begin end), where begin and "
346        "end are time objects of the same clock type. When end <= begin "
347        "the interval is null.")
348
349        (procedure "(make-null-time-period [CLOCK-TYPE (default-date-clock-type)])"
350          (p "Returns a null interval for the specified " (tt "CLOCK-TYPE") ".") )
351
352        (procedure "(make-time-period BEGIN END [CLOCK-TYPE (default-date-clock-type)])"
353          (p "Returns a new time-period object. The clock types must "
354          "be compatible.")
355
356          (p (tt "BEGIN") " maybe a seconds value, a date, or a time "
357          "(except time-duration). A seconds value or date are converted to "
358          (tt "CLOCK-TYPE") ".")
359
360          (p (tt "END") " maybe a seconds value, a date, or a time. A "
361          "seconds value or date are converted to the same clock type "
362          "as " (tt "BEGIN") ". A time-duration is treated as an offset from "
363          (tt "BEGIN") ".") )
364
365        (procedure "(copy-time-period TIME-PERIOD)"
366          (p "Returns a copy of " (tt "TIME-PERIOD") ".") )
367
368        (procedure "(time-period-begin TIME-PERIOD)"
369          (p "Returns the start time for the " (tt "TIME-PERIOD") ".") )
370
371        (procedure "(time-period-end TIME-PERIOD)"
372          (p "Returns the end time for the " (tt "TIME-PERIOD") ".") )
373
374        (procedure "(time-period-last TIME-PERIOD)"
375          (p "Returns the last time for the " (tt "TIME-PERIOD") "; "
376          "(time-period-end - 1ns).") )
377
378        (procedure "(time-period-type TIME-PERIOD)"
379          (p "Returns the clock-type of the " (tt "TIME-PERIOD") ".") )
380
381        (procedure "(time-period? OBJECT)"
382          (p "Is " (tt "OBJECT") " a time-period?") )
383
384        (procedure "(time-period-null? TIME-PERIOD)"
385          (p "Is the " (tt "TIME-PERIOD") " null?") )
386
387        (procedure "(time-period-length TIME-PERIOD)"
388          (p "Returns the time-duration of the " (tt "TIME-PERIOD") ".") )
389
390        (procedure "(time-period=? TIME-PERIOD-1 TIME-PERIOD-2)"
391          (p "Does " (tt "TIME-PERIOD-1") " begin & end with " (tt "TIME-PERIOD-2") "?") )
392
393        (procedure "(time-period<? TIME-PERIOD-1 TIME-PERIOD-2)"
394          (p "Does " (tt "TIME-PERIOD-1") " end before " (tt "TIME-PERIOD-2") " begins?") )
395
396        (procedure "(time-period>? TIME-PERIOD-1 TIME-PERIOD-2)"
397          (p "Does " (tt "TIME-PERIOD-1") " begin after " (tt "TIME-PERIOD-2") " ends?") )
398
399        (procedure "(time-period<=? TIME-PERIOD-1 TIME-PERIOD-2)"
400          (p "Does " (tt "TIME-PERIOD-1") " end on or before " (tt "TIME-PERIOD-2") " "
401          "begins?") )
402
403        (procedure "(time-period>=? TIME-PERIOD-1 TIME-PERIOD-2)"
404          (p "Does " (tt "TIME-PERIOD-1") " begin on or after " (tt "TIME-PERIOD-2") " "
405          "ends?") )
406
407        (procedure "(time-period-preceding TIME-PERIOD-1 TIME-PERIOD-2)"
408          (p "Return the portion of " (tt "TIME-PERIOD-1") " before " (tt "TIME-PERIOD-2") " "
409          "or " (code "#f") " when it doesn't precede.") )
410
411        (procedure "(time-period-succeeding TIME-PERIOD-1 TIME-PERIOD-2)"
412          (p "Return the portion of " (tt "TIME-PERIOD-1") " after " (tt "TIME-PERIOD-2") " "
413          "or " (code "#f") " when it doesn't succeed.") )
414
415        (procedure "(time-period-contains/period? TIME-PERIOD-1 TIME-PERIOD-2)"
416          (p "Is " (tt "TIME-PERIOD-2") " within " (tt "TIME-PERIOD-1") "?") )
417
418        (procedure "(time-period-contains/time? TIME-PERIOD TIME)"
419          (p "Is " (tt "TIME") " within " (tt "TIME-PERIOD") "?")
420
421          (p (tt "TIME") " is converted to a compatible clock-type if "
422          "possible.") )
423
424        (procedure "(time-period-contains/date? TIME-PERIOD DATE)"
425          (p "Is " (tt "DATE") " within " (tt "TIME-PERIOD") "?")
426
427          (p (tt "DATE") " is converted to a compatible time if "
428          "possible.") )
429
430        (procedure "(time-period-contains? TIME-PERIOD OBJECT)"
431          (p "Is " (tt "OBJECT") " within " (tt "TIME-PERIOD") "?")
432
433          (p (tt "OBJECT") " maybe a time, date, or time-period.") )
434
435        (procedure "(time-period-intersects? TIME-PERIOD-1 TIME-PERIOD-2)"
436          (p "Does " (tt "TIME-PERIOD-2") " overlap " (tt "TIME-PERIOD-1") "?") )
437
438        (procedure "(time-period-intersection TIME-PERIOD-1 TIME-PERIOD-2)"
439          (p "The overlapping time-period of " (tt "TIME-PERIOD-2") " "
440          "and " (tt "TIME-PERIOD-1") ", or " (code "#f") " when no "
441          "overlap.") )
442
443        (procedure "(time-period-union TIME-PERIOD-1 TIME-PERIOD-2)"
444          (p "Returns the time-period spanned by "
445          (tt "TIME-PERIOD-1") " and " (tt "TIME-PERIOD-2") ", or "
446          (code "#f") " when they do not intersect.") )
447
448        (procedure "(time-period-span TIME-PERIOD-1 TIME-PERIOD-2)"
449          (p "Returns the time-period spanned by "
450          (tt "TIME-PERIOD-1") " and " (tt "TIME-PERIOD-2") ", "
451          "including any gaps.") )
452
453        (procedure "(time-period-shift TIME-PERIOD DURATION)"
454          (p "Returns a copy of " (tt "TIME-PERIOD") " shifted by " (tt "DURATION") ".") )
455
456        (procedure "(time-period-shift! TIME-PERIOD DURATION)"
457          (p "Returns " (tt "TIME-PERIOD") " shifted by " (tt "DURATION") ".") )
458      )
459
460      (subsection "Input/Output Procedures"
461
462        (usage "(require-extension srfi-19-io)")
463
464        (procedure "(format-date DESTINATION DATE-FORMAT-STRING [DATE])"
465          (p "Displays a text form of the " (tt "DATE") " on the "
466          (tt "DESTINATION") " using the " (tt "DATE-FORMAT-STRING") ".")
467
468          (p "When the destination is " (code "#t") " the " (code "(current-output-port)") " "
469          "is used, and the date object must be specified.")
470
471          (p "When the destination is a string the " (tt "DATE-FORMAT-STRING") " "
472          "value must be a date object, the " (tt "DESTINATION") " value is used as the "
473          (tt "DATE-FORMAT-STRING") ", and the result is returned as a string.")
474
475          (p "When the destination is a port it must be an " (code "output-port") ", "
476          "and the date object must be specified. When the destination is a number the "
477          (code "(current-error-port)") " is the destination, and the " (tt "DATE") " "
478          "object must be specified.")
479
480          (p "When the destination is " (code "#f") " the result is "
481          "returned as a string, and the " (tt "DATE") " object must be specified."))
482
483        (procedure "(scan-date SOURCE TEMPLATE-STRING)"
484          (p "Reads a text form of a date from the " (tt "SOURCE") ", "
485          "following the " (tt "TEMPLATE-STRING") ", and returns a date "
486          "object.")
487
488          (p "When the source is " (code "#t") " the " (code "(current-input-port)") " "
489          "is used.")
490
491          (p "When the source is a port it must be an " (code "input-port") ".")
492
493          (p "When the source is string it should be a date text form."))
494      )
495    )
496
497    (section "Bugs"
498
499      (p "Local timezone information is not necessarily valid for historic dates and "
500      "problematic for future dates. Daylight saving time is especially an issue. "
501      "Conversion of a time or seconds value to a local date will use the current "
502      "timezone offset value. The current offset will reflect the daylight saving time "
503      "status. So target dates outside of the DST period will be converted incorrectly!")
504
505      (p "Will not read years less than 1 properly. The ISO 8601 year convention for "
506      "years 1 BCE and before and years 10000 CE and after is not supported.")
507    )
508
509    (section "Issues"
510
511      (p "31 December 1 BCE + 1 day => 1 January 1 CE. There is no year 0. Unlike the "
512      "ISO 8601 convention do not subtract 1 when converting a year BCE to a SRFI-19 "
513      "year, just negate the year.")
514
515      (p "The SRFI-18 " (code "current-time") " and " (code "time?") " "
516      "bindings conflict with SRFI-19 bindings.")
517
518      (p "The SRFI-18 time object is not accepted except by the conversion procedures.")
519
520      (p "The expression "
521      (code "(time=? (seconds->time/type (nanoseconds->seconds (time->nanoseconds <time-duration>))) <time-duration>)") " "
522      "might be " (code "#f") ", due to the use of inexact arithmetic.")
523
524      (p "Be careful using the procedures that return some form of "
525      "'julian-day'. These are implemented using the full numeric "
526      "tower and " (em "will") " return rational numbers. Performing "
527      "arithmetic with such a result will require the \"numbers\" "
528      "egg. See the file \"srfi-19-test.scm\" in this egg for an "
529      "example.")
530
531      (p "This will be a problem with code that assumes fixnum and/or flonum "
532      (em "only") " numbers. Perhaps an intermediate file that wraps any "
533      "'julian-day' calls and coerces to an inexact number. Use the wrapped "
534      "'julian-day' call in the problematic code.")
535    )
536
537  (examples "; See the \"srfi-19-test.scm\" file in the egg.")
538
539  (history
540    (version "2.8.0" "Timezone locale creation removed. Removed 'make-local-timezone-locale'.")
541    (version "2.7.1" "Fix for 'add/subtract-duration[!].")
542    (version "2.7.0" "Replaced date comparison w/ a field by field algorithm. Removed local-timezone-info, local-timezone-name, local-timezone-offset, and local-timezone-dst?.")
543    (version "2.6.11" "Printing of \"xxx.0\" => "xxx". More use of fixnum ops in srfi-19-io.")
544    (version "2.6.10" "Dropped :optional.")
545    (version "2.6.9" "Needs Chicken 2.610 for MacOS X & Windows.")
546    (version "2.6.8" "Bug fix for make-date supplied dst flag. Added Bugs section.")
547    (version "2.6.7" "Uses fixnum arithmetic where possible. Added time->julian-day, time->modified-julian-day, date comparisons. Bug fix for multiply-duration, divide-duration, & make-duration. Changed read-leap-second-table to required filename parameter.")
548    (version "2.6.6" "Bug fix for time<=? & time>=?. Added time-period-preceding & time-period-succeeding. Split periods into srfi-19-period.")
549    (version "2.6.5" "Bug fix for platforms not MacOS X, timezone offset was sign reversed.")
550    (version "2.6.4" "Bug fix to time ctors/setters - allowed negative nanoseconds. Added make-local-timezone-locale w/ special case for platforms not Windows or Macintosh. Made local-timezone-locale a parameter.")
551    (version "2.6.3" "Made time-max & time-min n-ary. Added make-null-time-period, time-negative?, time-positive?, time-zero?. Bug fix for local-timezone-offset [reported by Hans Bulfone]")
552    (version "2.6.2" "Bug fix for local-timezone-locale, seconds->date/type, current-nanoseconds, & current-date [reported by Hans Bulfone]")
553    (version "2.6.1" "Deprecated local-timezone-info, local-timezone-name, local-timezone-offset, and local-timezone-dst?. Bug fix for milliseconds->time. Bug fix for current-date when no tz-locale. [reported by Graham Fawcett]")
554    (version "2.6" "Added time-period, date arithmetic, duration routines, fix for possible seconds limit in time object")
555    (version "2.5" "Added Dutch locale, ISO-8601 conversion bug fix, 'date-year-day' bug fix [thanks to Arno Peters]")
556    (version "2.4" "Removed annoying warnings, made srfi-19 an umbrella - uses -core & -io")
557    (version "2.3" "Date dst? field, timezone-locale structure accessors")
558    (version "2.2" "Bug fix for no local timezone setting situation [reported by Mario Domenech Goulart]")
559    (version "2.1" "Bug fix for ->fixnum [reported by Mario Domenech Goulart]")
560    (version "2.0" "Removed I/O routines to own extension")
561    (version "1.9" "Fix, in conjunction w/ srfi-29, for locale details")
562    (version "1.8" "Version removed")
563    (version "1.7" "Brazilian Portuguese [thanks to Mario Domenech Goulart]")
564    (version "1.6" "Bug fix for inexact seconds in time->date [thanks to Peter Bex]")
565    (version "1.5" "Bug fix for compiled use")
566    (version "1.4" "Exports")
567    (version "1.3" "Bug fix")
568    (version "1.2" "Slightly smaller and faster")
569    (version "1.1" "Some SRFI-18 conflict reduction")
570    (version "1.0" "Initial release"))
571
572  (section "License" (pre ,license))
573) ) )
574
575(eggdoc->html doc)
Note: See TracBrowser for help on using the repository browser.