> On 09 Jan 2015, at 15:17, Marcus Denker <marcus.den...@inria.fr> wrote:
> 
> 
>> On 09 Jan 2015, at 15:10, Evan Donahue <emdon...@gmail.com 
>> <mailto:emdon...@gmail.com>> wrote:
>> 
>> Hello,
>> 
>> I'm currently working on an embedding of the miniKanren logic programming 
>> language in Pharo (http://minikanren.org/ <http://minikanren.org/>) and I 
>> have run into an issue with the method compilation internals I was hoping 
>> someone could shed some light on:
>> 
>> miniKanren has an operator, fresh, that basically evaluates a block and 
>> returns a logic variable. My current syntax for a conjunction of logic 
>> variables is:
>> 
>> var1 and: var2
>> 
>> When I try to use the same syntax for fresh:
>> 
>> var1 and: [ :var2 | var2 ]
>> 
>> Compilation fails with "Warning: and: (or:) takes zero-arg block" which 
>> seems on first glance to come from the compiler attempting to inline my and: 
>> call.

Another thing we can do… we could remove the warning in the method 
#isInlineAndOr. Then the and: would be compiled as a message as in the non-block
example.

        Marcus

Reply via email to