Bug 617 - boolean value representation is inconsistent
Summary: boolean value representation is inconsistent
Status: RESOLVED FIXED
Alias: None
Product: UIM
Classification: Unclassified
Component: libuim: Scheme interpreter (show other bugs)
Version: unspecified
Hardware: All All
: low minor
Assignee: YamaKen
QA Contact:
URL: http://lists.sourceforge.jp/mailman/a...
Whiteboard:
Keywords:
Depends on: 642
Blocks: 7164
  Show dependency treegraph
 
Reported: 2004-05-14 22:26 UTC by YamaKen
Modified: 2007-07-22 09:32 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description YamaKen 2004-05-14 22:26:07 UTC
boolean value representation is inconsistent as following.
uim> #f
()
uim> #t
1
uim> (not #f)
t

This is unusable to compare boolean lists. I should investigate this in R5RS.

uim> (equal? '(#f #t) (map not '(#t #f)))
()

Another R5RS-compliant implementation bahaves following.

gosh> (equal? '(#f #t) (map not '(#t #f)))
#t
Comment 1 YamaKen 2004-05-19 18:01:29 UTC
The patch attached to the URL (by Kouhei Sutou-san) makes siod distinguish
between #f and () (and implicitly solves this bug). But many Scheme codes under
scm directory are not distinguishing between the ones, so bug #642 has to be
fixed before the patching.
Comment 2 YamaKen 2004-09-19 19:29:25 UTC
some predicates returns 't instead of 1. They should be modified to return
unified value.

uim> (string? "")
t
uim> (number? 0)
t
uim> #t
1
Comment 3 YamaKen 2006-06-09 00:57:43 UTC
It may be resolved by uim 1.3.0 by disabling SIOD-compatible mode.
Comment 4 YamaKen 2007-07-22 09:32:48 UTC
Resolved by SigScheme with --disable-compat-siod-bugs.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.