Something you could consider is passing a block:

def mi(&blk)
  res = blk.call
end

mi { 4 == 3}

But that would only help if you were running in a Ruby environment where 
you could convert the block back into its AST.

Or have a look at how rspec does it:

   4.should == 3

That is, define Object#should which returns a wrapper object which 
implements the comparison plus whatever side effects you want.

-- 
Posted via http://www.ruby-forum.com/.