Boost logo

Proto :

Subject: Re: [proto] Other methods for embedding DSL in C++
From: Eric Niebler (eric_at_[hidden])
Date: 2010-07-26 15:52:23

On 7/26/2010 3:27 PM, joel falcou wrote:
> These methods are aroudn since the Sh, the originator of RapidMind. They
> build ASt at runtime and generate code that get JIT'ed.
> Paul Kelly's DESOLA has some same techniques.
> It's great for out-of-main CPU code geenration, I use somehtign simialr
> for GPGPU code generation (except with proto as a front end).
> For regular CPU code DSL, not sure the RT overhead is worth it.
> Oh and you don't get Compile-timle intrsopection, only runtime.

I confess I'm having a hard time seeing how the code posted in
Manjunath's original email could result in something that can be
introspected at runtime. Does it generate byte code? A runtime
polymorphic AST? And the JIT ... does it actually generate machine code
that then gets executed?

>> P.S : Someone more familiar with Rapidmind or other variants, can you
>> please explain how they do it in more detail?
> Rapidmind is one huge vaporware. Nobody ever saw it running ...

Manjunath asked about why this technique is popular in industry. I don't
know; I've never heard about it before. Is it because it's easier then
programming with expression templates? Maybe had proto been available
earlier we'd see more ET-based DSELs today. That could just be my ego
talking. ;-)

Eric Niebler
BoostPro Computing

Proto list run by eric at