Great, that's a much happier reply than your previous one, indeed :-) Thanks!!
-- Éric On Jan 24, 2011, at 6:33 PM, Robby Findler wrote: > Ugh. Please excuse my previous reply. I completely forgot about a > change to the contract system (that I helped with a little bit but > that Stevie and Matthew did most of the work for). > > If you change eqv? in your code to equal?, you should get #t back. > You'll need the pre-release version, tho. This was no in 5.0.2. > > Sorry, > Robby > > On Mon, Jan 24, 2011 at 3:15 PM, Eric Tanter <[email protected]> wrote: >> Sorry, I don't get it. I'm not asking from a theoretical point of view, but >> from a very practical, racket point of view, of two functions being eqv. >> >> Concretely: >> ;; tmp.rkt >> #lang racket >> (define f (λ (x) x)) >> (define ((pred f1) f2) (eqv? f1 f2)) >> (define eq-f (pred f)) >> (provide/contract [f (-> integer? integer?)]) >> (provide eq-f) >> >> ;;tmp2.rkt >> #lang racket >> (require "tmp.rkt") >> (eq-f f) >> >> -> is there a way to get that last call return #t? >> >> -- Éric >> >> On Jan 24, 2011, at 5:56 PM, Matthias Felleisen wrote: >>> On Jan 24, 2011, at 2:41 PM, Eric Tanter wrote: >>>> Hi all, >>>> >>>> From the DLS'10 paper of Stephen and Matthias, it says "the class system >>>> must determine that two classes are equal modulo contract wrapping". >>>> >>>> I'm interested in that exact property but for functions. Ie. how do we >>>> determine if two functions are "equal" modulo contract wrapping? >>> >>> eta-expansion? proxy-lambda? >>> >>> >>>> >>>> Thanks! >>>> >>>> -- Éric >>>> _________________________________________________ >>>> For list-related administrative tasks: >>>> http://lists.racket-lang.org/listinfo/users >>> >>> >> >> _________________________________________________ >> For list-related administrative tasks: >> http://lists.racket-lang.org/listinfo/users > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

