bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#10163: Incomplete/vague section of Guile Manual


From: Ryan Fox
Subject: bug#10163: Incomplete/vague section of Guile Manual
Date: Tue, 29 Nov 2011 20:17:18 -0500

Hello,
In section 5.7.1.4, "Writing Guile Primitives for Dia" at http://www.gnu.org/software/guile/manual/guile.html, the description of the square_p() implementation is incomplete. It uses a macro call to ensure that the SCM value is a shape, but does not explain what that implementation is:

/* Check that arg is really a shape SMOB. */
SCM_VALIDATE_SHAPE (SCM_ARG1, shape);

The explanation merely states:
"SCM_VALIDATE_SHAPE is a macro that you should define as part of your SMOB definition: it checks that the passed parameter is of the expected type."

After some searching, I was able to figure out that the function scm_assert_smob_type() is probably the intended behaviour for this. However, there was no indication of this in the description.

As a side note: I'm a new Schemer, so perhaps this isn't idiomatic, but would it make more sense to use the SCM_SMOB_PREDICATE macro instead? This way, you can simply return false for any type, even if it isn't a shape. Asking if a number is a shape (for example) doesn't strike me as particularly exceptional or incorrect.

Thanks,
Ryan Fox


reply via email to

[Prev in Thread] Current Thread [Next in Thread]