> 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