Skip to content

Commit 481e6ec

Browse files
committed
README.md: bring up-to-date with current code
1 parent 2640095 commit 481e6ec

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

README.md

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# A Time Library for Dylan
22

3-
**Current status as of Oct 2021:**
3+
**Current status as of Oct 2024:**
44

5-
* Most APIs work, but on Linux only.
6-
* No TZ data yet so only naive time zones work.
5+
* Most APIs work, but on Linux and macOS only.
6+
* Aware time zones are incomplete because TZif support is incomplete.
77
* Needs more tests.
88
* No monotonic clock support yet.
9+
* Assumes 64-bit integers.
910

1011
This library is intended to be an improvement on the Open Dylan `date` library
1112
for several reasons:
@@ -35,9 +36,8 @@ detail.
3536

3637
The `time` library exports a single module, `time` which exports these classes:
3738

38-
* `<time>` - an instant in time, an offset from the Unix Epoch. Has an
39-
associated time zone for use when converting to the time in a specific
40-
location on Earth.
39+
* `<time>` - an instant in time, an offset from the Unix Epoch. Always in UTC.
40+
Specify a zone when displaying a time, if necessary.
4141

4242
* `<duration>` - the elapsed time between two time instants, to nanosecond
4343
precision.
@@ -63,12 +63,13 @@ The library API can be logically separated into several parts:
6363
`parse-time`, or by constructing one from components with `compose-time(year,
6464
month, day, ...)`. It is also fine to call `make(<time>)` directly.
6565

66-
* Accessors - for example to extract the number of seconds from a time or the
67-
number of days in a month.
66+
* Accessors - primarily `time-components` to break a time down into year,
67+
month, day, hour, etc.
6868

6969
* Conversions - for converting times and durations to and from strings,
7070
composing/decomposing them from/into their parts, or converting to a
71-
different zone.
71+
different zone. `compose-time`, `time-components`, `format-time`,
72+
`parse-time`, ....
7273

7374
* Comparisons - the `=`, `<`, and `>` functions work on pairs of times and
7475
pairs of durations.
@@ -98,7 +99,8 @@ The library API can be logically separated into several parts:
9899

99100
## TODO
100101

101-
* Platform other than `x86_64-linux`. Do we want to support 32-bit?
102+
* Platform other than `x86_64-linux` and `x86_64-darwin`. Do we want to support
103+
32-bit?
102104

103105
* Like Rust's time::Instant, uses monotonic clock: `define class <instant>
104106
(<abstract-time>)` Is this needed?

0 commit comments

Comments
 (0)