From: Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Cc: guile-devel@gnu.org, Marius Vollmer <mvo@zagadka.de>
Subject: Re: typechecking
Date: Sat, 15 May 2004 11:16:34 +0200 [thread overview]
Message-ID: <40A5DFF2.80004@dirk-herrmanns-seiten.de> (raw)
In-Reply-To: <16544.2271.454230.492574@localhost.localdomain>
Han-Wen Nienhuys wrote:
> mvo@zagadka.de writes:
>
> > When I say "type checking" what really mean is that the compiler
> > checks whether the user only uses SCM values in the way we want it
> > to, like, no direct arithmetic, no direct use in conditional tests,
> > only
>
> What's the rationale for not allowing direct use in conditional
> tests?
Code like the following:
void f (SCM obj)
{
if (obj) {
/* do something */
}
}
is almost always wrong, since what the user typically wants to check is,
whether obj is SCM_BOOL_F or not:
void f (SCM obj)
{
if (!SCM_FALSEP (obj)) {
/* do something */
}
}
The first version, however, will compile if SCM is defined to be some
pointer type.
Best regards,
Dirk Herrmann
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel
next prev parent reply other threads:[~2004-05-15 9:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-28 13:04 typechecking Han-Wen Nienhuys
2004-05-10 21:34 ` typechecking Marius Vollmer
2004-05-10 21:47 ` typechecking Dale P. Smith
2004-06-10 16:16 ` typechecking Marius Vollmer
2004-05-10 22:57 ` typechecking Han-Wen Nienhuys
2004-05-15 9:16 ` Dirk Herrmann [this message]
2004-05-16 15:11 ` typechecking Han-Wen Nienhuys
2004-05-17 18:31 ` typechecking Marius Vollmer
2004-05-26 17:40 ` typechecking Han-Wen Nienhuys
2004-05-30 8:40 ` typechecking Dirk Herrmann
2004-05-30 8:28 ` typechecking Han-Wen Nienhuys
2004-05-31 7:05 ` typechecking Dirk Herrmann
2004-06-10 16:22 ` typechecking Marius Vollmer
2004-05-30 14:00 ` typechecking Andy Wingo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=40A5DFF2.80004@dirk-herrmanns-seiten.de \
--to=dirk@dirk-herrmanns-seiten.de \
--cc=guile-devel@gnu.org \
--cc=mvo@zagadka.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).