Comment on SRFI-110 and Comparison to Genyris xyzzy
Bill Birch
(22 May 2013 15:03 UTC)
|
Re: Comment on SRFI-110 and Comparison to Genyris xyzzy David A. Wheeler (23 May 2013 13:39 UTC)
|
sweet-expressions are not homoiconic
John David Stone
(23 May 2013 16:08 UTC)
|
Re: sweet-expressions are not homoiconic
John Cowan
(23 May 2013 16:19 UTC)
|
Re: sweet-expressions are not homoiconic
John David Stone
(23 May 2013 16:32 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(24 May 2013 03:55 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(24 May 2013 03:12 UTC)
|
Re: sweet-expressions are not homoiconic
John David Stone
(24 May 2013 15:34 UTC)
|
Re: sweet-expressions are not homoiconic
John Cowan
(24 May 2013 20:02 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(24 May 2013 20:09 UTC)
|
Re: sweet-expressions are not homoiconic
John David Stone
(24 May 2013 21:35 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(24 May 2013 22:40 UTC)
|
Re: sweet-expressions are not homoiconic
John David Stone
(24 May 2013 23:13 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(25 May 2013 03:43 UTC)
|
Re: sweet-expressions are not homoiconic
John Cowan
(25 May 2013 03:20 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(25 May 2013 04:17 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(25 May 2013 04:27 UTC)
|
Re: sweet-expressions are not homoiconic
John Cowan
(25 May 2013 04:55 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(25 May 2013 18:14 UTC)
|
Re: sweet-expressions are not homoiconic
John David Stone
(26 May 2013 23:26 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(27 May 2013 00:29 UTC)
|
Re: sweet-expressions are not homoiconic
John David Stone
(27 May 2013 15:51 UTC)
|
Re: sweet-expressions are not homoiconic
Alan Manuel Gloria
(28 May 2013 04:28 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(28 May 2013 18:34 UTC)
|
Re: sweet-expressions are not homoiconic
Beni Cherniavsky-Paskin
(26 May 2013 20:40 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(26 May 2013 22:43 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(27 May 2013 00:00 UTC)
|
Re: sweet-expressions are not homoiconic
Alexey Radul
(27 May 2013 03:32 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(27 May 2013 04:44 UTC)
|
Re: sweet-expressions are not homoiconic
Alexey Radul
(27 May 2013 05:50 UTC)
|
Re: sweet-expressions are not homoiconic
Alan Manuel Gloria
(27 May 2013 06:34 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(27 May 2013 15:14 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(27 May 2013 13:55 UTC)
|
Re: sweet-expressions are not homoiconic
Alexey Radul
(27 May 2013 16:27 UTC)
|
Re: sweet-expressions are not homoiconic
John Cowan
(27 May 2013 15:55 UTC)
|
RE: sweet-expressions are not homoiconic
Jos Koot
(27 May 2013 04:57 UTC)
|
Re: sweet-expressions are not homoiconic
David A. Wheeler
(27 May 2013 13:37 UTC)
|
Re: sweet-expressions are not homoiconic
John Cowan
(27 May 2013 15:50 UTC)
|
Bill Birch <birchb1024@gmail.com> wrote: > Re: http://srfi.schemers.org/srfi-110/srfi-110.html#genyris Thanks so much for posting! > I have made some syntactic decisions which I regard as restricting > programmers to write in a better style. For example not allowing lists to > wrap encourages more smaller functions. That's OK for source code, however > when loading data files one should not restrict the structure. One > difficulty with a syntax that defaults to lists is that something special > needs to be done for atoms. > > Example (a b c (d e f) xx) is problematic since xx is subordinate but is > not a list. So in Genyris I was forced to add a leading 'continuation' > character ~. Which gives me: > > quote > : a b c > : d e f > : ~xx > : > (a b c (d e f) xx) # PairSource > > There is another (obvious) way to wrap lists in Genyris just place > a = at the end of the line. example: > > list 1 2 3 4 5 = > : 6 7 8 > : > (1 2 3 4 5 6 7 8) # Pair > > In practice I don't often use line continuation in code. Great points. I plan to cut-and-paste the above text (with credit) into the SRFI-110. Although I've made different decisions in sweet-expressions, I think it's helpful to see the contrast. > One thing to remember is that indentation may force you to re-arrange > functions to suit the constraints of indentation. For example I had a > function 'tag' which took two arguments, an expression and a class. e.g. > tag (+ 2 3) Inches > > But when the expression begins to get complex it made more sense to > re-order the function to give tag <class> <expression> simply so the > expression could grow on the subordinate indents. example: ... > So if you use indented syntax expect the language itself to change! Fair point. If it's just a matter of reordering arguments for convenience, macros should be able to handle that nicely, but I think that's a plausible general principle. Lisp syntax has (in my opinion) ossified. Indentation adds a new dimension to syntax, and thus creates new possibilities for ease-of-reading. > Cheers, Thanks! And thanks very much for your comments. --- David A. Wheeler