10 minutes ago, Robby Findler wrote: > On Wed, Jun 8, 2011 at 8:55 AM, Eli Barzilay <e...@barzilay.org> wrote: > > > > [Yes, that's true regardless. If `take' in plain `racket' stays > > as is, then eventually the one in lazy will need to change. It > > just happened to be the first thing that made me look at the order > > more closely, and discover thet other issues. As another point, > > the justification for the argument order in Haskell is not > > laziness but its implicit currying -- so of course it shouldn't be > > a reason to make lazy racket follow it.] > > So, part of the discussion is changing the argument order for strict > Racket's take?
Yes. The problem is that `racket/list' followed srfi-1 which contradicts Haskell, and Clojure (and very likely more), *and* it also contradicts its own `take-while': (take list n) (take-while pred list) > That seems difficult, for backward compatibility reasons. My suggestion, to accommodate legacy code, is to allow *both* orders, which is possible if improper lists are forbidden. (I said that I'm fine with just changing it, but the compatibility issue is probably making that impractical.) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev