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

Reply via email to