Re: [Boost-bugs] [Boost C++ Libraries] #5857: proto::function undocumented for use in grammars

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5857: proto::function undocumented for use in grammars
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-03-21 04:35:15


#5857: proto::function undocumented for use in grammars
-------------------------------+--------------------------------------------
  Reporter: johnmaddock | Owner: eric_niebler
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: proto
   Version: Boost 1.47.0 | Severity: Problem
Resolution: fixed | Keywords:
-------------------------------+--------------------------------------------
Changes (by eric_niebler):

  * status: new => closed
  * resolution: => fixed

Comment:

 John, the link I gave doesn't specifically talk about
 {{{proto::function}}}, but it makes a general point about all of Proto's
 operator metafunctions -- of which there are a great many, including
 {{{proto::function}}} -- namely, that they can be used in many different
 capacities. They can compute new expression type, match those type, and
 transform those types. This seems to be one of those things that all new
 users of Proto struggle with. It's worth considering whether it indicates
 a flaw in Proto's design, a flaw in Proto's docs, or if it's Just One Of
 Those Things, like Haskell's monads, that are powerful but inherently hard
 to grok.

 Joel, I had another look at the docs about creating lazy functions, and
 you're right. I overemphasize {{{proto::function}}}'s role by a lot. I
 took another crack at it. Have a look [http://boost-
 sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_guide/front_end/making_lazy_functions.html
 here].

 Closing this as fixed, but will continue to think about the overloaded
 (ab)use of Proto's operator metafunctions for Proto-11.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5857#comment:5>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:09 UTC