Email list hosting service & mailing list manager

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)

Re: Comment on SRFI-110 and Comparison to Genyris xyzzy David A. Wheeler 23 May 2013 13:39 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