Live data from Hacker News

Why Ruby is an acceptable Lisp (2005)

randomhacks.net

61–70 of 115 posts

Re: Why Ruby is an acceptable Lisp (2005)

#61
post #41
post #33

>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 kno…

> 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 lan…

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)

#62
post #20

I'm glad to see this, and even more interested that it was written in 2005. I've read lots of rants about how awesome Lisp is supposed to be from Paul Graham and Steve Yegge and all. But I never see anything significant being written in it or using it, so I haven't felt all that tempted to try learning it. Meanwhile, I've been using Ruby for a while, and the metaprogramming capabilities are pretty cool. It sounds a l…

Macros, arbitrary syntax transformation in macros, and object system as powerful as CLOS, and the ability to comfortably use almost any paradigm.

It's not always useful, but you'll be thankful when it is.

Re: Why Ruby is an acceptable Lisp (2005)

#63
post #53

For a 2005 article, this is totally awesome, as well as that Steve Yegge response. But in 2016, it's hard for me not to get excited about what's seeming like Clojure's upward trajectory into the mainstream and want to jump on board 100%. To paraphrase Rich Hickey, Lisp and immutable functional programming totally rock, and the JVM and Javascript just reach (ClojureScript). As our systems get bigger and more quality i…

On the other functional JavaScript side of things, there are also Elm and Purescript. They are both pure functional, and both are ML-inspired (strongly typed, equational, ADTs with pattern matching, etc.). Elm is a fair bit easier to get started with, but has a substantially weaker type system and fewer useful functional features. Purescript is a fair bit more difficult to get started with, but has a substantially mo…

BuckleScript is worth a look too:

http://bloomberg.github.io/bucklescript/

It's in the OCaml-to-JS family.

Re: Why Ruby is an acceptable Lisp (2005)

#64

Tcl is a better lisp than Ruby. Homoiconic. Yield and tailcall make it easy to implement FP idioms. Macros available if needed.

I am forced to use tcl a lot at work because that's what the ASIC tool vendors settled on for a scripting language. It's awful. Just plain awful. I avoid it as much as I can, but I'm forced to use it thanks to Synopsys.

Re: Why Ruby is an acceptable Lisp (2005)

#65
post #32

Earlier quoted context omitted.

I hardly have used Lisp besides Emacs Lisp and Clojure, but as a language geek I do have my collection of Lisp related stuff, mainly Xerox PARC, Lisp Machines and commercial CL environments. Scheme also has environments like DrRaket, even if the language now has moved beyond its Scheme origins.

I don't know how you got a lispm, but nice for you :-). I was confusing you with Rainer (who, by coincedence, goes by the username lispm on HN), who actually loves CL environments. As for me, I set my store by Geiser. Integrated documentation from all the implmentations it supports, repl (as well as the capability to connect to a remote one), support for all three big Schemes, is an emacs extension, and has excellent…

I wish.

I meant in what concerns papers, videos and magazines articles back from those days.

Re: Why Ruby is an acceptable Lisp (2005)

#66
post #6

Earlier quoted context omitted.

I missed the original postings so it's nice to see this for the first time. That would be difficult if HN didn't allow reposts. Though I can understand if I had seen it already.

That's actually a good point. On a sidenote, I get a weird feeling from HN's simple UI/UX. On one hand, it feels like the old CLI machines that put the focus on "content" - kinda like "do one thing and do it right". On the other hand, reading all the comments, getting notified for replies on comments, etc. is really hard. In this day and age, one would wonder if HN really hates JS (well, except for the upvote button)…

I find notifications on replies annoying. The one feature I do want is better understanding of where upvotes are coming from: when I suddenly get a surge of upvotes that didn't seem to come from any comment of late, I just kind of want to know where it's coming from, as it annoys me to no end. I wish I could somehow see which of my comments were upvoted recently.

Re: Why Ruby is an acceptable Lisp (2005)

#68

Earlier quoted context omitted.

...No. Clojure is lisp, but it's a weird little language, and most of us lispers schemers aren't really totally happy with it. We're used to more flexability, less functionalism, and less opinionation. Plus, Clojure's equality and conses don't work at all the way a lisper would expect, and the conses are way less useful. There's a reason there will never be a universal language.

As a clojure fan, I agree about conses. It's rare to use something like that. Personally I'm happy equality doesn't work like common lisp. See here for a post explaining equality in CL: http://eli.thegreenplace.net/2004/08/08/equality-in-lisp It's old and I don't use common lisp, so please correct me or the post if needed. I've tried to get into lisp numerous times. Clojure was the one that clicked for me. I can't sa…

No, what I mean is that clojure's conses are fairly useless compared to the conses of CL and Scheme.

Also, all programming languages implicitly have most of those equality operators. But yeah, Scheme's equality is a bit cleaner.

Not a super fan of Clojure datastructures. If I want to modify my cdr, than let my modify my cdr.

Re: Why Ruby is an acceptable Lisp (2005)

#69
post #65

Earlier quoted context omitted.

I don't know how you got a lispm, but nice for you :-). I was confusing you with Rainer (who, by coincedence, goes by the username lispm on HN), who actually loves CL environments. As for me, I set my store by Geiser. Integrated documentation from all the implmentations it supports, repl (as well as the capability to connect to a remote one), support for all three big Schemes, is an emacs extension, and has excellent…

I wish. I meant in what concerns papers, videos and magazines articles back from those days.

...Ah. Yeah, I wish I had a lispm too, but I don't even have the more pedestrian antiques.

Re: Why Ruby is an acceptable Lisp (2005)

#70
post #50
post #37

Earlier quoted context omitted.

Tcl was what made possible one of the best startups I had the privilege to be part of. They had a Rails like stack in the first .com wave, but implemented in a mix of Tcl, Apache and C.

Can I get your email? Would love to hear about that stack

It had an architecture similar to AOL Server, just that the founders did their own thing instead.

Tcl was used for almost everything, C for performance critical modules and DB FFI.

The interpreter was loaded as an Apache module.

We supported Informix, MS SQL Server, Sybase SQL Server and Oracle.

All major UNIX variants from late 99's and Windows NT/2000.

Post reply on HN