Boost logo

Proto :

Subject: Re: [proto] talking proto
From: Marcin Zalewski (zalewski_at_[hidden])
Date: 2010-07-16 23:15:18


On Fri, Jul 16, 2010 at 09:19, Eric Niebler <eric_at_[hidden]> wrote:
> On 7/16/2010 2:12 AM, Joel Falcou wrote:
>>
>> I think proto is currently filling a hole which will increase in
>> importance. Putting my researcher cap back for a minute, I can tell you
>> that the DS(E)L topic is relatively hot at the moment with effort from
>> a lot of big guns like the SCALA team from Standford or Paul Kelly's
>> team from Imperial College. They all use various host languages and
>> various technology to implement these and I think C++ with the help of
>> Proto has a major role to play in this paradigm shift. So having some
>> brain tank here about that feels important to help push these kind of
>> work in both academic and industrial contexts.
>
>
> I am not familiar with other technologies used to implement DSEL in
> other languages. Are you? Can you point me to some information or
> describe the other efforts in this area? I used little more than my own
> needs and my knowledge of compiler construction toolkits to guide the
> design of proto. Maybe there are other good ideas out there we can steal.

Haskell people have Template Haskell [1]. It allows one to freely
generate syntax trees. One can have DSLs that "hijack" Haskell's
syntax, assigning it non-standard semantics. Oleg Kiselyov has a very
simplified example of tuning an interpreter into a compiler [2].

It would be great if we could write DSLs in C++ at compile time, as
one can use Template Haskell to write DSLs in Haskell (or Lisp DSLs in
Lisp, and so on). But, until then, we have proto. :)

Cheers,
Marcin

[1] http://www.haskell.org/haskellwiki/Template_Haskell
[2] http://okmij.org/ftp/tagless-final/#tc-GADT

> --
> Eric Niebler
> BoostPro Computing
> http://www.boostpro.com
> _______________________________________________
> proto mailing list
> proto_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/proto
>


Proto list run by eric at boostpro.com