diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb
index 2591f74e36b6630a10e080965aa59c20a346b4e1..7936efc80e4ccf20f8baa5771d0ec98570ff1349 100644
--- a/Library/Homebrew/version.rb
+++ b/Library/Homebrew/version.rb
@@ -125,6 +125,13 @@ class Version
     m = /_([^_]+)/.match(stem)
     return m.captures.first unless m.nil?
   end
+
+  # DSL for defining comparators
+  class << self
+    def compare &blk
+      send(:define_method, '<=>', &blk)
+    end
+  end
 end
 
 class VersionSchemeDetector