> >> What's equally interesting though is
> >> that scheme (or at least a subset of it) can be implemented in
> >> pure c++. No parsing, just pure DSEL in C++. Now, imagine a
> >> parser that targets this DSEL (through C++) -- a source to source
> >> translator. Essentially, your scheme code will be compiled into
> >> highly efficient C++.
> >
> > I find this quite intriguing, and I'm naturally led to ask two questions:
> >
> > 1. Which subset of Scheme can be implemented in this way, with a DSEL?
> >
> > 2. Has anyone actually done this?
>
> We've done this as well. Of course you understand that this does
> not really follow the lisp syntax, instead it's pure function
> call syntax.

But does a DSEL like this have the potential to support typical Scheme features
like:
 - lazy evaluation (e.g. the "else" expression in an "if" is not evaluated if the
   condition is false)
 - pattern matching
 - macros
?

Thanks,
Nate