This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gh_enter reconsidered



    >> Yes I know people might call scm_cons() before they call
    >> gh_enter(), they might do it now, they might do a lot of
    >> things, big deal.

    Jim> Well, honestly, I see Guile as a library that does a lot of
    Jim> things.  I do think you should be able to call gh_cons and
    Jim> gh_append and all that jazz wherever you like.  Requiring
    Jim> people to do those things only in the context of a gh_enter
    Jim> call is ugly.  At least the grotesquery required for a
    Jim> traditional init function is hidden inside.

One way around that is to have an

	assert(gh_is_initialized());

in each gh_ function, where gh_is_initialized() returns 1 in between
calls to gh_init() and gh_exit(), and 0 otherwise.

It hides grotesqueness, but it carries a performance penalty.