On Nov 9, 2013, at 11:26 AM, Brandon Weaver <keystonelemur / gmail.com> =
wrote:

> "Some may say Ruby is a bad rip-off of Lisp or Smalltalk, and I admit =
that. But it is nicer to ordinary people."
> - Matz, LL2
>=20
> Ruby is a language designed in the following steps:
>=20
>=20
>   * take a simple lisp language (like one prior to CL).
>   * remove macros, s-expression.
>   * add simple object system (much simpler than CLOS).
>   * add blocks, inspired by higher order functions.
>   * add methods found in Smalltalk.
>=20
>   * add functionality found in Perl (in OO way).
>=20
>=20
> So, Ruby was a Lisp originally, in theory.
> Let's call it MatzLisp from now on. ;-)
> - Matz
> ----
>=20
> About that...
>=20
>=20
> On Sat, Nov 9, 2013 at 11:13 AM, botp <botpena / gmail.com> wrote:
> On Sun, Nov 10, 2013 at 12:46 AM, Brandon Weaver
> <keystonelemur / gmail.com> wrote:
> > It doesn't fit the feel of Ruby, and isn't nearly as expressive or =
succinct
> > as what I mentioned above.
>=20
> ruby is not lisp.
>=20
> try eg,
>=20
> array.shift #=3D> 1
> array #=3D> [2, 3, 4, 5]
>=20
> kind regards -botp
>=20


All interesting and such, but moot given core language change =
discussions happens over on ruby-core mailing list. I think your =
suggestion has merit (Hey, I=92m a Lisper, too!), but nothing we can =
really do over here. Even better, fork ruby, add the methods, and submit =
a PR. I=92d say it should be in Enumerable, as well. The implementation =
should be dead-easy:

class Array
  def rest(n=3D1)
    self.drop(n)
  end
end