
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. [snip]
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: http://en.wikipedia.org/wiki/Morphism). 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: http://planetmath.org/encyclopedia/HomomorphismBetweenAlgebraicSystems.html 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 tough! -regards, Larry