[plt-scheme] (require... ) expanded from a macro

From: Dan Muresan (danmbox at gmail.com)
Date: Sun Oct 29 04:47:57 EST 2006

> Yes, but the C people figured out 10 years ago that this is a bad
> idea, which is why most projects don't conditionalize on a particular
> platform, but rather individual properties.  autoconf isn't exactly a
> well-implemented system, but the basic approach is sound.

Using the autobreak tools is a new idea. If #include was standardised
across Scheme implementation, I could put the dependencies in an
autoconf-ed header and be done with it. Sadly, PLT and Scheme48 don't
provide (include) without some magical incantations...

Now, to take the parallel to its logical conclusion, maybe some C
people "realized" 10 years ago that #ifdef has a problem. Being C
people, they came up with the widely despised autobreak tools instead
of the "right thing". But somehow they didn't manage to ban #ifdef
even in a single implementation. No C compiler team took their
suggestion to drop #ifdef seriously.

But, honestly, I think the autobreak tools are "unmentionables" in a
"right thing" argument.

Again, sorry if I'm ranting, and thanks to Jens who showed me the
incantation required to enable (include) in PLT (why it's not enabled
by default is another mystery). By contrast, on the Scheme48 list,
(include) was left as an "exercise for the reader", but I ran out of
time before doing that exercise...

-- Dan


Posted on the users mailing list.