[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is gcc able to handle anonymous functions?
From: |
address@hidden |
Subject: |
Re: Is gcc able to handle anonymous functions? |
Date: |
Thu, 5 Jul 2012 00:37:59 +0200 |
On 4 juil. 2012, at 20:10, Marc Hohl wrote:
> Am 04.07.2012 13:29, schrieb David Kastrup:
>> Marc Hohl <address@hidden> writes:
>>
>>> Hello list,
>>>
>>> the topic is somewhat over my head, but perhaps someone with more
>>> insight can answer this question?
>> I think that gcc likely can, don't know about g++, and we don't want to
>> rely on it anyhow.
> Ok.
>
> Well then, is there an alternative?
>
> I want to get rid of bar-line.cc (issue 1320), and I have managed to get all
> definitions but Bar_line::non_empty_barline into scheme.
>
> In lily/note-spacing.cc, I have
>
> Grob *bar = Pointer_group_interface::find_grob (right_col,
> ly_symbol2scm
> ("elements"),
> Bar_line::non_empty_barline);
>
> The simple approach
>
> bool non_empty_barline =
> ly_scm2bool (scm_call_1 (ly_lily_module_constant
> ("bar-line::non-empty-barline"), right_col->self_scm ()));
>
> with
>
> (define-public (bar-line::non-empty-barline grob)
> (and (grob::has-interface grob 'bar-line)
> (pair? (ly:grob-extent grob grob X))))
>
> doesn't work.
>
> I see that in lily/pointer-group-interface.cc the function above is defined as
>
> Grob *
> Pointer_group_interface::find_grob (Grob *me, SCM sym, bool (*pred) (Grob *))
> {
> [snip]
> }
>
> What is bool (*pred) (Grob *)?
>
> Is there a way to get a scheme function in this place, or do I have to put
> the remaining definition of bar-line.cc into another file?
>
> Regards,
>
> Marc
>
>
>
>
>>
>
>
>
> _______________________________________________
> lilypond-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-devel
I just realized that there's an easier way to do this w/ existing code
conventions. You can overload Pointer_group_interface::find_grob so that it
accepts a simple closure as the third argument. Then, wrap the Scheme function
in a simple closure.
Cheers,
MS
- Is gcc able to handle anonymous functions?, Marc Hohl, 2012/07/04
- Re: Is gcc able to handle anonymous functions?, David Kastrup, 2012/07/04
- Re: Is gcc able to handle anonymous functions?, Marc Hohl, 2012/07/04
- Re: Is gcc able to handle anonymous functions?,
address@hidden <=
- Re: Is gcc able to handle anonymous functions?, Marc Hohl, 2012/07/05
- Re: Is gcc able to handle anonymous functions?, Joe Neeman, 2012/07/05
- Re: Is gcc able to handle anonymous functions?, Marc Hohl, 2012/07/05
- Re: Is gcc able to handle anonymous functions?, address@hidden, 2012/07/05
- Re: Is gcc able to handle anonymous functions?, Joe Neeman, 2012/07/05
- Re: Is gcc able to handle anonymous functions?, Marc Hohl, 2012/07/06
- Re: Is gcc able to handle anonymous functions?, David Kastrup, 2012/07/06
- Re: Is gcc able to handle anonymous functions?, Marc Hohl, 2012/07/06
- Re: Is gcc able to handle anonymous functions?, Joe Neeman, 2012/07/06
- Re: Is gcc able to handle anonymous functions?, Marc Hohl, 2012/07/06