Re: [proto] Proto documentation, tutorials, developer guide and general Publis Relations

2010-12-04 Thread Eric Niebler
On 12/4/2010 12:10 PM, joel falcou wrote:
> On 04/12/10 18:01, Eric Niebler wrote:
>> Yes, this an some other newer features are not described in the users'
>> guide at all. That includes sub-domains, per-domain control over
>> as_child and as_expr, external transforms, and now the expanded set of
>> functional callables.
> 
> and the member<> thing or is it still in flux ?

Oh, right. Darn. I really need to sit down and convince myself that that
code is legit. It may still change. :-/

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] Proto documentation, tutorials, developer guide and general Publis Relations

2010-12-04 Thread joel falcou

On 04/12/10 18:01, Eric Niebler wrote:

Something along those lines would be a big improvement. I've gotten
better at explaining Proto since I wrote those docs, and they could use
a major facelift.

I still like the fundamental idea of structuring the users guide around
the idea of Proto as a compiler construction toolkit, with sections for
front-end, intermediate form, and back-end. But before we get to that,
there should be a Not-So-Quick Start with examples that gets people going.



The structure is rather good and I (we) liked it. But some "gallery" of 
detailed
samples could be nice to have a long-standing work-item to go through 
the docs and examples and



The contexts must go.


Great



4/ Maybe more diverse examples coudl eb turned into full fledged,
detailed, step by step tutorial. map_assing

map_assing?



OK my dyslexia stroke again: *map_assign*




Yes, this an some other newer features are not described in the users'
guide at all. That includes sub-domains, per-domain control over
as_child and as_expr, external transforms, and now the expanded set of
functional callables.


and the member<> thing or is it still in flux ?


Any and all contributions are welcome. But no "assing" please.



Promise ;) no assing :€


What is "this"? Are you referring to cpp-next.com? I'm pretty committed
to finishing the article series I started there, and it wouldn't be
right to move it elsewhere at this point.


Once I sent this, I remembered abotu c++-next. Dunno if you could use it 
for more proto expsoure through

tutorial stuff ? I wasn't asking you to move anyway :)



___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] Proto documentation, tutorials, developer guide and general Publis Relations

2010-12-04 Thread Eric Niebler
On 12/4/2010 10:42 AM, joel falcou wrote:
> Hey,
> 
> recently I have been promoting Proto to a few fellow coworker in some
> academic circles as well as in
> some industrial contexts. Most of these evangelisation process turned
> quite well but I felt a lot of time
> that something wasn't clinking as it should and I think it's partially
> because of the way proto presents
> itself and how the docs examples and tutorials are structured. So here
> is a few remarks and some
> ideas on how to improve it.
> 
> 1/ Proto describes itself as "Proto is a framework for building Domain
> Specific Embedded Languages in C++. It provides tools for constructing,
> type-checking, transforming and executing expression templates". A lot
> of people I spoke too where wondering what expression templates were and,
> as non-C++ expert, as honestly no clues what it was about. Others jumped
> on the fact that "oh it enables some lazy evaluation idiom in C++ ?".
> Few were acustomed to the EDSL idom. So, I wonder if we could not touch
> more potential users by stating it in a way "lazy evaluation" appears.

Something along those lines would be a big improvement. I've gotten
better at explaining Proto since I wrote those docs, and they could use
a major facelift.

I still like the fundamental idea of structuring the users guide around
the idea of Proto as a compiler construction toolkit, with sections for
front-end, intermediate form, and back-end. But before we get to that,
there should be a Not-So-Quick Start with examples that gets people going.

> 2/ What's the long term plan for context classes ? I remember discussign
> their removal but will it happen (at least from the doc) ?
> I spend quite a time demonstrating and reteaching transform over context
> to a lot of people. I'll gladly see them
> deprecated in 1.46 and maybe ditched in 1.47 or is there any reson to
> keep them ?

I have a long-standing work-item to go through the docs and examples and
move them all from contexts to transforms. The contexts must go.

> 3/ The documentation on-going example of the calculator is OK but it
> lacks somethign between this and the full fledged, impressive
> small lambda or futures sampels at the end. I noticed a huge gap between
> the toy calculator and code people have to really write with
> proto. On the other hand, the Boost'con 2010 talk examples of map_assign
> was a real gem as it was simple enough to be grokkable by
> everybody and yet demonstrated a lot. I think it should be in the
> documentation instead of as a sample at the end. I remember
> thinking "why it is not detaile dlike that in the doc" during your session.

Good point. Could be part of a Not-So-Quick Start.

> 4/ Maybe more diverse examples coudl eb turned into full fledged,
> detailed, step by step tutorial. map_assing

map_assing?

> , some kind of simpel lazy
> computation stuff (like the numerical integration sampel form Veldhuizen
> paper), a larger example with a transform not tied to the grammar (a lot
> of people assumed it could not be done), 

Yes, this an some other newer features are not described in the users'
guide at all. That includes sub-domains, per-domain control over
as_child and as_expr, external transforms, and now the expanded set of
functional callables.

> etc ... Thomas Heller and I
> were brainstormign a bit and mayeb we can actually get a list, code it
> and write the tutorial over. I can also offer internals of our SIMD code
> or even from Quaff for a tutorial on how having proto enabled
> intermediate representation is useful or on how to do pattern matchign
> on AST.

Any and all contributions are welcome. But no "assing" please.

> 5/ Finally, this is starting to look like the Spirit site. 

What is "this"? Are you referring to cpp-next.com? I'm pretty committed
to finishing the article series I started there, and it wouldn't be
right to move it elsewhere at this point.

> What about a
> proto blog/website where articles liek this or sample code could be
> detailed, introspected and published ?

Perhaps after I finish the Expressive C++ article series on
cpp-next.com, I could continue it elsewhere.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


[proto] Proto documentation, tutorials, developer guide and general Publis Relations

2010-12-04 Thread joel falcou

Hey,

recently I have been promoting Proto to a few fellow coworker in some 
academic circles as well as in
some industrial contexts. Most of these evangelisation process turned 
quite well but I felt a lot of time
that something wasn't clinking as it should and I think it's partially 
because of the way proto presents
itself and how the docs examples and tutorials are structured. So here 
is a few remarks and some

ideas on how to improve it.

1/ Proto describes itself as "Proto is a framework for building Domain 
Specific Embedded Languages in C++. It provides tools for constructing, 
type-checking, transforming and executing expression templates". A lot 
of people I spoke too where wondering what expression templates were and,
as non-C++ expert, as honestly no clues what it was about. Others jumped 
on the fact that "oh it enables some lazy evaluation idiom in C++ ?".
Few were acustomed to the EDSL idom. So, I wonder if we could not touch 
more potential users by stating it in a way "lazy evaluation" appears.


2/ What's the long term plan for context classes ? I remember discussign 
their removal but will it happen (at least from the doc) ?
I spend quite a time demonstrating and reteaching transform over context 
to a lot of people. I'll gladly see them
deprecated in 1.46 and maybe ditched in 1.47 or is there any reson to 
keep them ?


3/ The documentation on-going example of the calculator is OK but it 
lacks somethign between this and the full fledged, impressive
small lambda or futures sampels at the end. I noticed a huge gap between 
the toy calculator and code people have to really write with
proto. On the other hand, the Boost'con 2010 talk examples of map_assign 
was a real gem as it was simple enough to be grokkable by
everybody and yet demonstrated a lot. I think it should be in the 
documentation instead of as a sample at the end. I remember

thinking "why it is not detaile dlike that in the doc" during your session.

4/ Maybe more diverse examples coudl eb turned into full fledged, 
detailed, step by step tutorial. map_assing, some kind of simpel lazy 
computation stuff (like the numerical integration sampel form Veldhuizen 
paper), a larger example with a transform not tied to the grammar (a lot 
of people assumed it could not be done), etc ... Thomas Heller and I 
were brainstormign a bit and mayeb we can actually get a list, code it 
and write the tutorial over. I can also offer internals of our SIMD code 
or even from Quaff for a tutorial on how having proto enabled 
intermediate representation is useful or on how to do pattern matchign 
on AST.


5/ Finally, this is starting to look like the Spirit site. What about a 
proto blog/website where articles liek this or sample code could be 
detailed, introspected and published ?


So here is some cents ;)

Food for thought-ly yours

Joel
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto