News for hackers. Stuff that matters.
Re:Why Ruby is an acceptable Lisp (2005) by nabla9 on Saturday September 10, 2016 @06:12PM (#12471099)
>But, for the sake of argument, I'd like to boil them down to two things:

> LISP is a dense functional language. > LISP has programmatic macros.

First of these is wrong and second is just picking something from feature list without any concern of practicality.

When someone writes Lisp as LISP and speaks about functional programming, I get the feeling that the author has not programmed with Lisp outside school (or knows only Scheme). Using toy examples don't help.

There is also problem with treating Lisp as a single entity. It's like Treating C++ and JavaScript as the same language because their syntax looks similar to someone who is not actually programming with them.

There are at least two major "schools" of lisp. Traditional Lisp style with Common Lisp as it's main representative, another being Emacs Lisp. The another is Scheme & Clojure camp that goes towards different goals.

Re:Why Ruby is an acceptable Lisp (2005) by ekidd on Saturday September 10, 2016 @06:28PM (#12471150)
> When someone writes Lisp as LISP and speaks about functional programming, I get the feeling that the author has not programmed with Lisp outside school (or knows only Scheme)

I've actually spent something like a dozen years writing Common Lisp and Scheme macros for production software. But I try not to put the nastiest ones in blog posts. :-)

In my experience, real-world Lisp was often a surprisingly functional language, certainly by the standards of the day.

Based on working with real-life Lisp code bases at four different organizations, I also stand by my description of what Lisp macros in production software typically looked like in 2005. Sure, there was the occasional elaborate macro that implemented something like Prolog in Lisp, and it was glorious. But the actual day-to-day workhorse Lisp macros were less flashy—most of them delayed evaluation, improved syntax, or performed simple transformations.

Many of these things are extremely valuable, but you don't necessarily need the full power of macros to implement them.

Re:Why Ruby is an acceptable Lisp (2005) by qwertyuiop924 on Saturday September 10, 2016 @07:12PM (#12471309)
Like I said: the featured I find myself giving thanks for the most in lisp is 1) never having to remember syntax, or remember exactly how it works in ambiguous contexts, and 2) never having to figure out how to indent my code.

The big stuff is there when it matters, but the little stuff makes up the day-to-day.

Re:Why Ruby is an acceptable Lisp (2005) by qwertyuiop924 on Saturday September 10, 2016 @06:21PM (#12471130)
I agree regarding this mischaracterization of Lisp, but have to laugh as you mischaracterize Scheme. Lisps are excellent at adapting to programming paradigms. Scheme is often used academically in a functional style, but if you want to go full-on procedural or OO, we're just as good as Common Lisp. Okay, maybe we're not quite as good as CLOS, but we're not as far off as you'd think.

Also, most Schemes are way more traditional than Clojure. And no, Racket isn't Scheme.

Re:Why Ruby is an acceptable Lisp (2005) by nabla9 on Saturday September 10, 2016 @06:33PM (#12471172)
I had to simplify in the sake of argument.

Both Common Lisp and Scheme are multi paradigm languages by nature, but Scheme took philosophical step into different direction. This philosophical difference may follow into other Lisp dialects that are not exactly Scheme.

Re:Why Ruby is an acceptable Lisp (2005) by qwertyuiop924 on Saturday September 10, 2016 @06:38PM (#12471195)
...I would say clojure goes in a third direction, but fair enough.