The Next Lisp: Back to the Future
lambdassociates.org
lambdassociates.org
http://groups.google.com/group/Qilang/browse_frm/thread/5927...
My suggestion to Mr. Tarver: if you want me to take your language ideas seriously, save your "opinionating" until after your technical ideas are widely adopted. As much as I'd like to try out a promising language like Qi, an ideological rant against open source won't help convince me or anyone else it's a good idea.
That's two meanings of the word 'free' in one proposition. The first refers to the rights of the users, and the second refers to putting in labor or cash to create something. The fact that the two might be closely related in practice doesn't matter. For this to work, you'd have to make the additional claim "Free-as-in-Speech is identical to Free-as-in-Beer", which would be insane. See: OpenBSD's cd sales.
Additionally, he's throwing in a third concept, which we could safely call "Free-as-in-Lunch".
What he seems to believe is "Free-as-in-Speech software is BS because nothing is Free-as-in-Lunch". Which I still disagree with, but I think would be a more direct way of expressing the point without using confusion about "free" to a rhetorical advantage.
He's linked the two essays because he sees there is a connection between funding and development and he's right.
I'm not an expert on lisp or functional languages so I'm willing to give him the benefit of the doubt on the first two pages where he presents the design tradeoffs of Qi. Then on the next page instead of learning more about Qi, I find myself in the middle of an argument where his word choice confuses the distinction between free/unsupported open source and free/unencumbered open source. WTF? Didn't he just tell us on the previous page one of his strategies for Qi development was "3. Infiltrate don't confront".
And then I get to learn how he's decided to resign his job and become a wandering Taoist.
Does anyone know what that statement means?
The author misses the real essence of Lisp, which is that:
1) a single data structure, the heterogeneous list, can be used to express everything in the language, including the program itself.
2) the linear nature of lists makes it easy to recurse on them, thereby enabling significant use of recursion as a control structure, thereby simplifying the reasoning process about the code.
3) the simplicity and pervasiveness of the list structure makes it easy to write macros in the language, thereby increasing the range of abstractions that the language can express.
4) bindings are dynamic, increasing language flexibility and making the use of a REPL even more valuable.
Do I love this essay? Yes.