I suspect you're missing the point. He's writing Algol-ish code using Lisp syntax/data structures. The formatting is to emphasize this fact.
Thus, if I understand correctly, he wants to allow us to write & think about the code much as we might handle C code, while still having Lisp-style code-as-data power & flexibility available to us.
I'm actually making a prediction, and not a judgement. Nobody would say I'm a member of the Lisp community, whatever that might mean. But I have seen people get landed on pretty viciously for this kind of formatting before, and if you want participation from a community you should abide the community's standards, even if they are irrational.
Even if the point is to write Algolish code, formatting it like this is likely to earn scorn rather than appreciation.
On the other hand, if you want participation from the Algol-descendant community, who frequently scorn the Lisp community's formatting, that may be exactly the right decision to make to get them familiar with Lisp-like syntax and worry about teaching them the more standard Lisp-community formatting conventions later.
> and if you want participation from a community you should abide the community's standards, even if they are irrational.
I don't think he's going to get much participation from the lisp community, but then again, everybody else is a much bigger community. So who knows, maybe the power of lisp combined with a non-lispy syntax is a balloon that can fly.
This has been noted before. I have seen a couple proposals to add significant whitespace to Scheme which I can't remember the details for offhand, and I believe was also the basis for the Pliant language's syntax.
One such proposal that I like is "sweet-expressions" at http://www.dwheeler.com/readable/. That page also has a rudimentary set of implementations for some Lisp dialects, including Scheme. It's too bad that new Lisp dialects never seem to take notice of these features.
Comments
I'm looking at Prog1.px et. al. If you format your Lisp code this way, the Lisp community is not likely to take your project very seriously.
I suspect you're missing the point. He's writing Algol-ish code using Lisp syntax/data structures. The formatting is to emphasize this fact.
Thus, if I understand correctly, he wants to allow us to write & think about the code much as we might handle C code, while still having Lisp-style code-as-data power & flexibility available to us.
Or maybe not. Just guessing.
I'm actually making a prediction, and not a judgement. Nobody would say I'm a member of the Lisp community, whatever that might mean. But I have seen people get landed on pretty viciously for this kind of formatting before, and if you want participation from a community you should abide the community's standards, even if they are irrational.
Even if the point is to write Algolish code, formatting it like this is likely to earn scorn rather than appreciation.
On the other hand, if you want participation from the Algol-descendant community, who frequently scorn the Lisp community's formatting, that may be exactly the right decision to make to get them familiar with Lisp-like syntax and worry about teaching them the more standard Lisp-community formatting conventions later.
That's a really good point.
> and if you want participation from a community you should abide the community's standards, even if they are irrational.
I don't think he's going to get much participation from the lisp community, but then again, everybody else is a much bigger community. So who knows, maybe the power of lisp combined with a non-lispy syntax is a balloon that can fly.
> So who knows, maybe the power of lisp combined with a non-lispy syntax is a balloon that can fly.
Sounds like Apple's old language Dylan, and perhaps the Julia language: http://www.johnmyleswhite.com/notebook/2012/03/31/julia-i-lo...
You are totally right! That's what I meant!
If you add significant white space while keeping the prefix notation, it kinda looks like python.
https://gist.github.com/2401588
This has been noted before. I have seen a couple proposals to add significant whitespace to Scheme which I can't remember the details for offhand, and I believe was also the basis for the Pliant language's syntax.
One such proposal that I like is "sweet-expressions" at http://www.dwheeler.com/readable/. That page also has a rudimentary set of implementations for some Lisp dialects, including Scheme. It's too bad that new Lisp dialects never seem to take notice of these features.
Also, quick links for others looking for Pliant:
Pliant syntax docs: http://hc.fullpliant.org/doc/language/syntax
Pliant language docs: http://hc.fullpliant.org/doc/
I liked your demonstration. A mix of python and Lisp syntax doesn't sound bad.