Boost logo

Boost :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2008-03-25 22:14:07

On 03/25/08 19:12, Hartmut Kaiser wrote:
> Larry,
> Let me first state that I have to admit to have a very hard time to follow
> your discussion with Eric. Before this review I actually thought to
> understand Proto (and I've been using it for quite some time during the
> Spirit development)....

Sorry I'm not being more understandable :(

Maybe I'm trying to "shoe-horn" proto's description into
a formalism where it won't fit. OTOH, I've had a lot of trouble
myself in getting it to do what I want, which is pretty easy to
express in this formalism. Maybe your use is not very similar
to mine. Maybe you have easier access and interaction with
Eric and others dealing with proto. Interesting question.
I know I've had trouble before making myself clear; so,
maybe I just have to work harder at that.

>> where the concrete symbols corresponding to the last step in the
>> example
>> abstract derivation above are:
>> 'terminal::type'_1
>> == terminal<int>::type
>> 'terminal:;type'_2
>> == terminal<char>::type
>> 'terminal::type'_3
>> == //none because shift_right is binary
>> ('terminal::type'_1 'terminal::type'_2)'::type'
>> == shift_right<terminal<int>,terminal<char>::type>::type
> Could you please clarify what you're trying to achieve with this notation?
> Is this meant as an alternative notation of expressing proto grammars?

Yes. I was trying to distill the description to just the essence of
the difference between a grammar and expression. In the reply I just
made to Eric's post, I admitted the problem (or at least most of it)
was due to my jumping to conclusions.

> Currently I'm not able to put this in a meaningful relation with Proto, but
> this might be my ignorance.
>> > I also don't
>> > understand what you're trying to get at with morphisms, a concept I
>> > don't grasp. Do you think you could try again to explain what you're
>> > trying to achieve?
> I second Eric's question. What is a morphism in this context and how does it
> relate to the discussion of Proto. I take it you're using the term
> 'morphism' in the mathematical sense of being an "abstraction derived from
> structure-preserving mappings between two mathematical structures" (taken
> from Wikipedia here: What are you
> trying to map onto what?

The last part of my recent reply to Eric's post is hopefully clearer.
It comes with an attachment which illustrates the morphism.
I hope that's clear enough. If not, I still need to work on my
communication skills some more :(

I've also used a different definition of morphism:

The one you cited is closer to category theory which, AFAICT, is more
abstract than the planetmath definition.

BTW, I appreciate both your feedback (letting me know I'm not being
clear) and Eric's in helping me better understand proto. I know it's


Boost list run by bdawes at, gregod at, cpdaniel at, john at