chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] How to use prelude?


From: felix winkelmann
Subject: Re: [Chicken-users] How to use prelude?
Date: Mon, 29 May 2006 05:31:25 +0200

On 5/28/06, Peter Bex <address@hidden> wrote:
On Sun, May 28, 2006 at 12:31:14PM +0200, felix winkelmann wrote:
> > Adding a quote in front of the define doesn't work either as that expands
> > to (quote (define with-x #t))
>
> Try "'...'" (one pair of double-quotes for scheme, and one pair of single
> quotes for the shell).

It would be nice if you could document this in the manual.

Yes, there are a lot of things that should be mentioned there... ;-)

> As Kon replied: register-feature! is the way. But that is at run-time,
> of course.
> To have it available at compile-time (I'm not 100% sure in what way you
> want to use this), things are (as usual) a tiny little bit more complicated.

Could you elaborate on how to do it?  I though cond-expand was compile-time.
I guess I was wrong :)

Anyway, what I want to do: I have a definition for a C function that only
exists if Imlib2 is compiled without X.  So, if X is not found, I don't want
a binding for that function.  I guess this has to be done compile time, since
the function doesn't even exist, meaning the (foreign-lambda ...) can't be
translated.


I think the best method is this: compile with or without "-feature XXX"
and then test in your code (at compile-time):

(cond-expand (XXX <code for XXX>) (else <code for not having XXX>))


cheers,
felix




reply via email to

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