Granted it would be as simple as array[1..-1] but that lacks the distinct
eloquence of most ruby syntax and it seems to be far more of a language
feature possibility.
Monkey patching it on would be trivial, yes, but I would rather avoid that
in favor of discussing this as a possible feature.
This of course inspired by Lisp's car/cdr or first/rest and head/tail (of
which I don't remember the origin.)
Granted it would be as simple as array[1..-1] but that lacks the
distinct eloquence of most ruby syntax and it seems to be far more of a
language feature possibility.
Monkey patching it on would be trivial, yes, but I would rather avoid
that in favor of discussing this as a possible feature.
This of course inspired by Lisp's car/cdr or first/rest and head/tail
(of which I don't remember the origin.)
Someone already did, and I did actually go directly to that record. The
demand is there and is about a season old so I was mixing it up a bit
after I discovered the report to add it.
"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
Ruby is a language designed in the following steps:
* 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.
* add functionality found in Perl (in OO way).
So, Ruby was a Lisp originally, in theory.
Let's call it MatzLisp from now on.
- Matz
···
----
About that...
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.
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’m a Lisper, too!), but nothing we can really do over here. Even better, fork ruby, add the methods, and submit a PR. I’d say it should be in Enumerable, as well. The implementation should be dead-easy:
class Array
def rest(n=1)
self.drop(n)
end
end
···
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
Ruby is a language designed in the following steps:
* 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.
* add functionality found in Perl (in OO way).
So, Ruby was a Lisp originally, in theory.
Let's call it MatzLisp from now on.
- Matz
----
About that...
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.
Someone already did, and I did actually go straight to that list. The
request is there and is about a year old so I was stirring it up a bit
after I found the report to add it.
···
On Sat, Nov 9, 2013 at 5:45 PM, Tamara Temple <tamouse.lists@gmail.com>wrote:
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
>
> Ruby is a language designed in the following steps:
>
>
> * 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.
>
> * add functionality found in Perl (in OO way).
>
>
> So, Ruby was a Lisp originally, in theory.
> Let's call it MatzLisp from now on.
> - Matz
> ----
>
> About that...
>
>
> 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.
>
> ruby is not lisp.
>
> try eg,
>
> array.shift #=> 1
> array #=> [2, 3, 4, 5]
>
> kind regards -botp
>
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’m a Lisper, too!), but nothing we can really do over here. Even
better, fork ruby, add the methods, and submit a PR. I’d say it should be
in Enumerable, as well. The implementation should be dead-easy:
On Nov 9, 2013, at 5:50 PM, Brandon Weaver <keystonelemur@gmail.com> wrote:
Someone already did, and I did actually go straight to that list. The request is there and is about a year old so I was stirring it up a bit after I found the report to add it.