okuoku / yuni

R7RS/R6RS/Generic Scheme portability platform
Other
32 stars 3 forks source link

SIBR: (eqv? 0.0 -0.0) behaviour #163

Closed okuoku closed 2 years ago

okuoku commented 3 years ago

at https://github.com/okuoku/yunibase/commit/8bcb02f125b0ae80618493b1432622652905b576

Many Scheme implementations do not distinguish -0.0 and 0.0 with eqv?.

--     ERR: DIGAMMA
--     OK : GUILE3
--     OK : SAGITTARIUS
--     OK : CHIBI_SCHEME
--     OK : CHICKEN5_CSI
--     ERR: ICYC
--     OK : FOMENT
--     ERR: GOSH
--     OK : KAWA
--     OK : CHEZ_SCHEME
--     OK : GUILE
--     ERR: IRON_SCHEME
--     OK : RACKET
--     ERR: BIGLOO
--     OK : GSI
--     OK : MIT_SCHEME
--     ERR: S7
--     ERR: SCM
--     ERR: STKLOS
okuoku commented 3 years ago

Reserved: SIBR0013

https://github.com/okuoku/yuni/commit/cd7638cc2c6c5d7174a9ae2ebff3d874ca80a4db

okuoku commented 3 years ago

ref: https://github.com/shirok/Gauche/commit/ca136f159390556a2b34dabf279ced88ab6edc89 Gauche adopted R7RS

leppie commented 3 years ago

From memory, at some point I did try to implement -0.0 for IronScheme, I think there were .NET compat errors (possibly not being able to get eqv? to work). From my point of view it was better to not support it than have broken behavior.

lassik commented 3 years ago

https://doc.scheme.org/surveys/zero/ has a section on negative zero.

More generaly, it would be great to integrate the data from SIBR into Scheme Surveys.

okuoku commented 2 years ago

(Now it's at docs : https://docs.scheme.org/surveys/zero/ )

okuoku commented 2 years ago

Done: https://github.com/okuoku/yuni/commit/c1e06a88dd4d5a700deb0db8f211ec03c61824ff?short_path=5d8e68c#diff-5d8e68ce8bdfde66d54edbbc7788a4e5d2ef5c6f1ccd44fa927c44bab4d251a6