| About a week ago there was discussion of a Python-like indentation syntax for Arc (http://arclanguage.org/item?id=374). Today, just for the fun of it, I tried coding a function that would read in text and return an expression with the white space of the input interpreted as nested lists. Thus typing: def foo (a b c)
spam a
eggs b
ham c
Creates the following expression: (def foo (a b c)
(spam a
(eggs b
(ham c))))
Where every new level of indentation is interpreted as a new expression.Unfortunately, seeing as I am more familiar with Common Lisp than Scheme, I wrote in CL, so you can't actually try the new syntax in Arc (yet). And my code is probably pretty buggy, as I just wrote it in a couple of hours. But for what it is worth, you can get my code and try it out in your favorite CL implementation: http://blackthorncentral.net/files/read-indentation.lisp |