(Sorry for the delay. It was a crazy weekend.)

On 8/6/2010 8:21 PM, Manjunath Kudlur wrote:
> Eric Niebler wrote:
>> Let me understand. Your goal is to have something like spirit subrules,
>> except the subrules are like ordinary functions, and the functions
>> should be invokable by name, is that right? Spirit subrules are neat and
>> tidy and efficient because they are hidden away inside a grammar. But
>> that's not your case. Hence the need for the module and the operator->*.
>> Did I get that right?
> 
> Yes. I know with Spirit subrules, one only exposes the top level rule
> and the auxiliary rules are hidden inside the grammar. 

Correct.

> Here, my goal
> is to provide the user with a mechanism to define a set of mutually
> recursive functions, and he should be able to "call" any of the
> functions. He has to do module->*func(...) and cannot do just
> func(...) because the definitions of functions are contained in the
> module.

Actually, I think your users will be forced to do: (module->*func)(...)
because of the precedence. That's pretty ugly. But I see where you're
going. Your scheme could be made to work as you describe, I think.

I'm left wondering why you want this, though. In what way is it better
than just defining some mutually recursive functions?

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
_______________________________________________
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to