Discussion:
bug#26163: time-difference doesn't detect error of differing time types
Zefram
2017-03-18 22:23:36 UTC
Permalink
scheme@(guile-user)> (use-modules (srfi srfi-19))
scheme@(guile-user)> (time-difference (make-time time-tai 0 1) (make-time time-utc 0 1))
$1 = #<time type: time-duration nanosecond: 0 second: 0>

SRFI-19 is explicit that it "is an error" if the arguments to
time-difference are of different time types, and correspondingly the
Guile documentation says the arguments "must be" of the same type.
It would be very easy for time-difference to detect and signal this error.
It's not absolutely a bug that it currently doesn't, but it would be a
useful improvement if it did.

-zefram
Zefram
2017-04-19 18:12:08 UTC
Permalink
Patch attached.

-zefram
Mark H Weaver
2018-10-21 23:45:14 UTC
Permalink
Post by Zefram
$1 = #<time type: time-duration nanosecond: 0 second: 0>
SRFI-19 is explicit that it "is an error" if the arguments to
time-difference are of different time types, and correspondingly the
Guile documentation says the arguments "must be" of the same type.
It would be very easy for time-difference to detect and signal this error.
It's not absolutely a bug that it currently doesn't, but it would be a
useful improvement if it did.
Agreed. Fixed in commit c9d903b6e4f8cc1d8382b20a2f0502c4ce8ffe0a on the
stable-2.2 branch. I'm closing this bug, but feel free to reopen if
appropriate.

Thanks!
Mark

Loading...