[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Mon, 10 May 2004 23:34:52 +0200
Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)
Han-Wen Nienhuys <address@hidden> writes:
> I've added the stricter typechecking code to the SCM_UNPACK macro in
> CVS HEAD. It caught a few glitches in goops.h and backtrace.h , which
> I corrected.
> I propose that the old
> is removed, as it provides little extra strictness.
Hmm, I don't agree. That setting is much stricter than the default
one: Guile itself has many places that would need to be fixed for
STRICTNESS == 2. For example, code like
if (x == SCM_EOL)
does not compile with STRICTNESS == 2, and it is indeed not completely
correct. (It should be SCM_EQ_P (x, SCM_EOL) or SCM_NULLP (x).)
It would be a nice little (?) project to make Guile compile with
STRICTNESS == 2. Some places, like
switch (ISYMNUM (SCM_CAR (x)))
case (ISYMNUM (SCM_IM_AND)):
in eval.c might be hard to fix, tho.
> Also, I think that DEBUG_TYPING_STRICTNESS==0 should go too. The code
> contained a thinko (leading to loads of compile errors). This
> suggests that the code has never been tested since its inception a few
> years ago.
Can you elaborate? Guile itself compiles fine with STRICTNESS==0.
Indeed, this strictness level offers no type checking.
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
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3 331E FAF8 226A D5D4 E405
- Re: typechecking,
Marius Vollmer <=
- Re: typechecking, Dale P. Smith, 2004/05/10
- Re: typechecking, Han-Wen Nienhuys, 2004/05/10
- Re: typechecking, Dirk Herrmann, 2004/05/15
- Re: typechecking, Han-Wen Nienhuys, 2004/05/26
- Re: typechecking, Dirk Herrmann, 2004/05/30
- Re: typechecking, Han-Wen Nienhuys, 2004/05/30
- Re: typechecking, Dirk Herrmann, 2004/05/31
- Re: typechecking, Andy Wingo, 2004/05/30