<div dir="ltr">(hope you don't mind that I put this back on the list)<br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 6, 2013 at 11:04 PM, Andrei Soroker <span dir="ltr"><<a href="mailto:soroker@gmail.com" target="_blank">soroker@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Whoa, I had no idea ej existed! Why did you pick a tuple vs. a list for the path?</div>
</blockquote><div><br></div><div style>To be honest, I don't think this was a very good design choice on my part and I would go with a list if I was starting over. I wanted to be able to support accessing array elements by index and if I'm remembering my thought process, I was worried about the ambiguity of passing a bare string accidentally instead of a list. In ej, you can do:</div>
<div style><br></div><div style><div>J = [<<"a1">>, <<"a2">>, <<"a3">>].</div><div>ej:get({2}, J).<br></div><div><br></div><div><<"a2">></div>
</div><div style><br></div><div style>If the path argument was a list, and bare integers were still the way to ask for an array element by index, then the code would allow you to say this:</div><div style><br></div><div style>
ej:get("accident", J)</div><div style><br></div><div style>That would probably end up failing anyway, just not straight away. Given how infrequently I've ended up with a need for array access by index, I think a better choice would have been to stick with list for the path and then tag indices like {idx, 5}.</div>
<div style><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>I am also somewhat partial to the analogy with XPath, which only addresses reading and not writing.</div>
</div></blockquote><div><br></div><div style>Horses for courses :) We end up using the set and delete quite a bit for normalizing incoming data before validating with ej:valid.</div><div style><br></div><div style>+ seth</div>
<div style><br></div></div>-- <br>Seth Falcon | @sfalcon | <a href="http://userprimary.net/">http://userprimary.net/</a>
</div></div>