|
From: | Noah Lavine |
Subject: | Re: Guile API for foreign languages: proposing SCM scm_list_0(void) |
Date: | Thu, 31 Jan 2013 08:37:46 -0500 |
On Thu 31 Jan 2013 12:27, Andy Wingo <address@hidden> writes:
> On Tue 22 Jan 2013 11:55, Andy Wingo <address@hidden> writes:
>
>> SCM_BOOL_F
>> SCM_BOOL_T
>> SCM_ELISP_NIL
>> SCM_EOF_VAL
>> SCM_EOL
>> SCM_UNBOUND
>> SCM_UNDEFINED
>> SCM_UNSPECIFIED
>>
> Instead, users should just keep a table of what the values of theseOr by Scheme:
> constants are for a given Guile major series. Defining them as
> enumerated values doesn't help e.g. an Ada compiler. The particular
> language should make this list in their own source code format, perhaps
> generated by a small C program linked to libguile.
(for-each
(lambda (pair)
(format #t "static const scm_t_bits my_~A = 0x~X;\n"
(car pair) (object-address (cdr pair))))
`(("false" . #f)
("true" . #t)
("nil" . #nil)
("eof" . ,the-eof-object)
("eol" . ())
("unspecified" . ,*unspecified*)))
static const scm_t_bits my_false = 0x4;
static const scm_t_bits my_true = 0x404;
static const scm_t_bits my_nil = 0x104;
static const scm_t_bits my_eof = 0xa04;
static const scm_t_bits my_eol = 0x304;
static const scm_t_bits my_unspecified = 0x804;
Unbound and undefined are a little trickier.
Andy
--
http://wingolog.org/
[Prev in Thread] | Current Thread | [Next in Thread] |