From: Ralph Shnelvar Date: 2012-03-08T01:32:20+09:00 Subject: Re: Proc.new v. lambda Bartosz, Wednesday, March 7, 2012, 8:25:57 AM, you wrote: BD> Really, you could have checked it yourself. irb(main):001:0>> a = Proc.new{} =>> # irb(main):002:0>> b = lambda{} =>> # irb(main):003:0>> a.lambda? =>> false irb(main):004:0>> b.lambda? =>> true BD> -- Matma Rex First you have to know there is a lambda? function. What I did do was: irb(main):002:0> p = Proc.new {42} => # irb(main):003:0> l = lambda {43} => # irb(main):004:0> defined? p => "local-variable" irb(main):006:0> defined? l => "local-variable" irb(main):007:0> p.class => Proc irb(main):008:0> l.class => Proc So, given there is a lambda? function, why not a proc? function? In terms of design, why isn't lambda a super or sub class of Proc?