<div class="gmail_quote">On Wed, Feb 8, 2012 at 9:54 AM, julien tayon <span dir="ltr"><<a href="mailto:julien@tayon.net" target="_blank">julien@tayon.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2012/2/7 Mark Janssen <<a href="mailto:dreamingforward@gmail.com" target="_blank">dreamingforward@gmail.com</a>>:<br>
<div>> On Mon, Feb 6, 2012 at 6:12 PM, Steven D'Aprano <<a href="mailto:steve@pearwood.info" target="_blank">steve@pearwood.info</a>> wrote:<br>
><br>
</div><div>> I have the problem looking for this solution!<br>
> </div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>{ "a" : 1 } + { "a" : { "b" : 1 } } == KABOOM. This a counter example</div>

proving it does not handle all structures.<br><br></blockquote><div>Ah, but I already anticipated this.  One just has to decide the relationship between the *group* and the *atomic*.  (These are key words that you can find out about at <a href="http://pangaia.sf.net">pangaia.sf.net</a> "grouping model").</div>
<div><br></div><div>Admittedly, this might be arbitrary, but once decided you get the full power of the recursive data structure.   It's kind of like defining the base case of factorial.  The math (in my world) simply decided that factorial(0)=1 as the convention of "an empty product" (Wikipedia::Factorial).  </div>
<div><br></div><div>But, in theory, it should work and provide considerable power.  Since it's all arbitrary one shouldn't get hung up too much on which convention is adopted, even though it will have to be followed thereafter.  But "practice beats purity", as they say... :)</div>
<div><br></div><div>mark</div></div>