Re: [wmii] [ANN] Rumai 1.0.0

From: Kris Maglione <jg_AT_suckless.org>
Date: Sun, 27 Jan 2008 14:16:05 -0500

On Sun, Jan 27, 2008 at 12:45:22PM -0500, Kris Maglione wrote:
> Heh... it's more like the standard assert(foo == bar). It just uses a
> function rather than pushing a method on the entire object hierarchy. It
> seems much clearer to me. The == operator doesn't have a new meaning foisted
> on it, and it's clear that the want function is not a method of whatever
> object it's operating on.

I suppose the idea behind this is that the two values can be
inspected and printed. I still think it's not ideal, though. I'd
prefer something like:

class Want
        class <<self
                %w{== < > <= >= !=}.each do |op|
                        class_eval %{
                        def #{op} a, b
                                try a #{op} b, a, "#{op}", b
                        end
                        }
                end

                private

                def try result, arga, op, argb
                        if !result
                                print "#{caller[1]}: Want #{arga} #{op} #{argb}; got #{result}\n"
                        end
                end
        end
end

Want.== ret.type, Fcall.type

Anyway, feel free to ignore this. I haven't given it any real thought.

-- 
Kris Maglione
Real programmers don't write in Pascal, Bliss, or Ada, or
any of those pinko computer science languages.  Strong
typing is for people with weak memories.

Received on Sun Jan 27 2008 - 20:16:40 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 16:35:19 UTC