Boost logo

Boost Users :

Subject: Re: [Boost-users] Lisp/Scheme DSEL in C++?
From: Joel de Guzman (joel_at_[hidden])
Date: 2011-11-17 00:12:38


On 11/17/2011 12:34 PM, Nathan Ridge wrote:
>> >> 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)

Yes.

> - pattern matching

Not sure. Probably, but I haven't looked into it.

> - macros

No.

Regards,

-- 
Joel de Guzman
http://www.boostpro.com
http://boost-spirit.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net