On Sun, Jul 15, 2012 at 10:02 AM, Kartik Agaram <a...@akkartik.com> wrote:
>> GROUP is critically important.. you could just use (...) for a nested list 
>> of lists.. But since it *DISABLES* indentation processing, you lose all 
>> indentation support inside..
>
> Perhaps let inside the bindings of another let is enough of a corner
> case that we shouldn't try to support it? As long as we have curly
> infix and modern exps inside (...) is life not pretty good?

Currently, sweet-expressions strives for generality: it is quite
conceivable that people will want to use indentation inside some let
constructs, so we strive to support it.

Consider the following Scheme macro for list comprehensions, assuming
that concatenate from SRFI-1 is available:

define-syntax list-of
  syntax-rules (is in)
    \
    . list-of x
    .   var in expr
    .   clauses
    .   \ ...
    . \ concatenate
    . .   map
    . .     lambda (var)
    . .       list-of x
    . .         clauses
    . .         \ ...
    . .     expr
    \
    . list-of x
    .   var is expr
    .   clauses
    .   \ ...
    . \ let ((var expr))
    . .   list-of x
    . .     clauses
    . .     \ ...
    \
    . list-of x
    .   pred?(args ...)
    .   clauses
    .   \ ...
    . \ if pred?(args ...)
    . .    list-of x
    . .      clauses
    . .      \ ...
    . .    '()
    \ list-of x
    . \ list(x)

Now, Scheme's semantics with regards to hygienic macros is that it
mostly gives an example of the macro, followed by its translation.

If you're building a control macro (like list-of above) you want to
express it in indentational form.  But the semantics of Scheme
hygienic macros requires that the "example" must be the first element
in a list, followed by its translation, as the second element of the
same list.  group is necessary for this (in the above code, it's just
the symbol \)

Sincerely,
AmkG

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to