
Lisp without parentheses: Lisp INdented  - helium
http://www.genyris.com/
======
lucraft
Yes, it has been a few months since the last person tried this.

------
kraemate
Am i the only one who likes lisp because of the parenthesis and the lack of
syntax? The parens are the perfect way of representing the syntax trees, and
you dont have to be bothered with remembering all the syntax and operators etc
like with the other languages.

~~~
kingkongrevenge
> the perfect way of representing the syntax trees

Humans don't think in syntax trees.

~~~
shiro
I do. When I think of algorithms I vaguely imagine DAG, which maps nicely to
S-expr (the junction point maps to a tail function call).

In languages with syntax, I have to add syntactic fluff to satisfy the
compiler, which is mostly an extra annoyance.

I don't say my way of thinking is the correct one. Some great programmers I
respect have said they don't think in DAG (and naturally they choose languages
other than Lisp as a primary tool).

------
jacquesm
Hm, this feels like comitting hara-kiri, but I actually found the eight queens
sample:

<http://www.genyris.com/wiki?page=default/eightqueenssource>

A lot more readable than the 'regular' lisp version:

<http://obereed.net/queens/algorithm.html>

By automating the process of converting between 'indented' lisp and 'regular'
lisp those that want it can have it and those that do not can simply ignore
it.

~~~
prodigal_erik
True, having a round trip to Lisp's standardized format might make this
usable. I have to wonder how much of Ruby's success is owed to being unable to
trivially share Python code with strangers without most of our tools shredding
the whitespace.

~~~
jacquesm
That's one of my pet peeves with python. Even sites like the django
documentation suffer from this, cut&paste simply does not work in the python
world and it is much poorer because of that.

It also can make debugging such a problem hell because you have to completely
grok the code in order to spot the fact that the last line of a code block has
somehow mysteriously jumped left 4 spaces.

And it makes refactoring code a major pain.

Braces rule compared to spaces.

~~~
stcredzero
_cut &paste simply does not work in the python world and it is much poorer
because of that._

I think that might have made it much _better_!

<http://perldesignpatterns.com/?CutAndPasteProgramming>

~~~
jacquesm
Especially while learning a new language cut & paste is a pretty good way to
get function definitions from the the tutorial into the interpreter.

Having to re-type a bunch of stuff that is already in a computer makes me feel
like it is 1978 again.

~~~
snprbob86
Cut and paste is a good way to get the definitions from the tutorial into the
interpreter _without reading them_.

Personally, I've only ever had a problem copy-pasting from the web. Even then,
it is rare; a mild occasional annoyance well worth the price of the clutter
free syntax.

------
JulianMorrison
Set the highlight color of your () to white. Solved.

~~~
olliesaunders
Why are people up-voting this? This is a recipe for bugs.

~~~
DrJokepu
I think (hope) that it was meant to be funny as opposed to being a serious
advice.

~~~
jamesbritt
I've done this with Ruby and set the color to light gray. My co-workers wanted
to have C/Java-style parens around damn near everything (except when they
didn't; the reasoning to omit them was something along the lines of, "But,
see, _here_ it's a DSL." )

They strike me as line noise and make it harder to read many things, so I
lightened up the color in my vim syntax files to give the appearance of more
white space.

I had mixed results. Yes, it was far more readable to me, but there were times
when a paren was missing or mistakenly added, or the spacing was off (another
coding standard violation), and so on.

Now that I code on my own, the new coding standards say no parens unless
required by the language. I also changed my syntax coloring back to more
clearly show parens.

~~~
DrJokepu
Heated debates amongst programmers (coworkers) about marginally important
questions such as indenting styles, parenthesis usage, naming conventions,
source code directory structure, etc. are always very amusing to observe. I
usually sit back and just watch the show.

~~~
jamesbritt
"I usually sit back and just watch the show."

Were that always an option. :)

------
mahmud
Best attempt at this has got to be Dylan. Latest, plausible, attempt is
probably David Moon's PLOT (Programming for Old Timers):

<http://users.rcn.com/david-moon/PLOT/>

See how he does macros for a syntax-full language :-)

<http://users.rcn.com/david-moon/PLOT/Moon-ILC09.pdf>

------
radu_floricica
Either have parentheses and format by hand or use parentheses and have the
editor format the text. Personally, I like the latter best. Easier to change
stuff.

------
alrex021
Oh no, I have no parenthesis. I am not a dataset nor a function, how do I
compute?

------
sharjeel
Did you mean Python?

~~~
helium
Well not really, Pythons' syntax isn't homoiconic.

<http://en.wikipedia.org/wiki/Homoiconicity>

~~~
eru
At least most of it isn't.

