Live data from Hacker News

μLithp - a Lisp in 27 lines of Ruby

fogus.github.com

61–70 of 104 posts

Re: μLithp - a Lisp in 27 lines of Ruby

#61
post #27
post #7

Earlier quoted context omitted.

If you don't know what Lisp is, and are a programmer, it's high time to go read about its basic principles. Lisp is very simple and very powerful. Those who don't learn it are doomed to reinvent it, badly ( cough XSLT cough ).

I'm not exactly a programmer. Could you explain how Lisp can be simple and powerful?

http://mitpress.mit.edu/sicp/

Re: μLithp - a Lisp in 27 lines of Ruby

#62
post #49
post #47

Before this devolves into another farcical, Lisp arm-chair punditry: at 9 operators it's pretty much a kernel untyped lambda-calculus with pairs. And just that. The implementation is as trivial as the concept is profound. The discussion should be about the lambda-calculus, not Lisp, which is a far more complex beast. And much less about Lisp dialects, Greenspun's, or the usual BS topics that invariably appear on any…

If I had a little more time I would have written the uLithp eval in uLithp. The stark simplicity of that never fails to take my breath away.

But will it be dynamically or statically scoped? :)

Re: μLithp - a Lisp in 27 lines of Ruby

#64
post #63

I want to learn a lisp variant. I'm okay in several scripting languages--Python, Ruby, PHP. Any obvious choice? (If not, I imagine I'd like to learn the most widely-used)

> I imagine I'd like to learn the most widely-used

Learn yourself some Clojure for great good.

Re: μLithp - a Lisp in 27 lines of Ruby

#65
post #63

I want to learn a lisp variant. I'm okay in several scripting languages--Python, Ruby, PHP. Any obvious choice? (If not, I imagine I'd like to learn the most widely-used)

> I imagine I'd like to learn the most widely-used Learn yourself some Clojure for great good.

Light Table implements clojure, right?

Then I can get busy with that ahead of time (I've been sweating a Python release)!

Thank you.

Re: μLithp - a Lisp in 27 lines of Ruby

#66
post #65

Earlier quoted context omitted.

> I imagine I'd like to learn the most widely-used Learn yourself some Clojure for great good.

Light Table implements clojure, right? Then I can get busy with that ahead of time (I've been sweating a Python release)! Thank you.

> Light Table implements clojure, right?

Yep!

Happy hacking: learning some Lisp variant is a great day/month/year/lifetime in any programmer's life.

Re: μLithp - a Lisp in 27 lines of Ruby

#68
I love the economy of lisp implementations in dynamic languages. It's especially nice because you don't have to worry about the memory management.

On the otherhand, I've been interested in doing a lisp in low memory environments (uC's, etc). I've done a dialect in C using a semi-space garbage collector. But I'm curious if anyone's done any work on lisps in resource constrained environments.

Re: μLithp - a Lisp in 27 lines of Ruby

#69
post #55
post #47

Before this devolves into another farcical, Lisp arm-chair punditry: at 9 operators it's pretty much a kernel untyped lambda-calculus with pairs. And just that. The implementation is as trivial as the concept is profound. The discussion should be about the lambda-calculus, not Lisp, which is a far more complex beast. And much less about Lisp dialects, Greenspun's, or the usual BS topics that invariably appear on any…

The fun part that distinguishes an early Lisp from the pure lambda calculus is the mixing of strict evaluation and call-by-need. I had to hack that a bit by making a distinction between Procs created with proc vs those with lambda and by tearing apart function bodies. I forget how the original Lisp made the distinction. It looks like I need to re-re-re-re-re-read the Lisp 1.5 manual.

I thought they just had special rules for expressions with a car in {set!, lambda, if, quote, ...} such that arguments to those are not evaluated. From there you can construct whatever else. I might be mistaken, I'm not clear on the history of it.

You know what you might like, if you haven't seen it yet, is the Kernel programming language, a Scheme where everything, including macros, is first-class.

Re: μLithp - a Lisp in 27 lines of Ruby

#70
post #63

I want to learn a lisp variant. I'm okay in several scripting languages--Python, Ruby, PHP. Any obvious choice? (If not, I imagine I'd like to learn the most widely-used)

Racket is another obvious choice.

Clojure has its selling points, but if you're learning Lisp for fun or intellectual gain, I'd definitely recommend Racket.
Post reply on HN