<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<br class="">
<blockquote type="cite" class="">On Feb 4, 2016, at 11:25 , Steve Haflich <<a href="mailto:shaflich@gmail.com" class="">shaflich@gmail.com</a>> wrote:<br class="">
<br class="">
<silly_question><br class="">
Does it work for plists? For alists?<br class="">
</silly_question><br class="">
</blockquote>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Yes it does because you are wrapping the plists and the alist.</div>
<div class=""><br class="">
</div>
<div class="">Sorry for the pointy response :)  But I had anticipated the question and yes, I presume that lists and plists will be wrapped as in</div>
<div class=""><br class="">
</div>
<div class=""><font face="Courier New" class="">(<reference-operator> (plist <your plist>) 'indicator)</font></div>
<div class=""><br class="">
</div>
<div class="">Otherwise you are getting into nasty syntax with intermingling of indexing and other parameters to discriminate the “view” of the data.  In other words I want this signature</div>
<div class=""><br class="">
</div>
<div class=""><font face="Courier New" class="">(function (object index1 &rest more indexes) (values t boolean))</font></div>
<div class=""><br class="">
</div>
<div class="">with the caveat that an array could have a <font face="Courier New" class="">
index1</font> of <font face="Courier New" class="">NIL</font> to accommodate</div>
<div class=""><font face="Courier New" class="">(aref (make-array () :initial-element 42))</font>.</div>
<div class=""><br class="">
</div>
<blockquote type="cite" class="">Can the user write methods to add his own structures/classes/constructs to the set understood by REF?<br class="">
<br class="">
More seriously, this function seems to me to be an over generalization, distorting CL style.  Built into the numerous built-in ways of supporting data in CL are assumptions about the efficiency and scaling of the various kinds. Although efficiency might not
 matter for particular low-bandwidth operations, in other places it will certainly matter.  That's obvious.  But even more important is that use of an over-generalized reference operator makes the code harder to read and understand.  If I see an aref, I know
 I'm looking at an array, understand something about the expected performance, and know what to look for elsewhere in a huge module to examine where this array is constructed and modified.<br class="">
<br class="">
For me, traditional CL operators have a nice, time-tested balance between generality and specificity.<br class="">
</blockquote>
<div class=""><br class="">
</div>
<div class="">This are all very valid points, but they are not the issue :)  I have not given any context, but the reference operator will not be a CL-level operator.  I am re-doing stuff in a DSL built upon CL, where all the CL operators will be usable, but
 where the overall goal is to offer other users what they may be used to.</div>
<div class=""><br class="">
</div>
<div class="">Cheers</div>
<div class="">—</div>
<div class="">MA</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<br class="">
<br class="">
<div class="">--<br class="">
Marco Antoniotti, Associate Professor<span class="Apple-tab-span" style="white-space:pre">
</span>tel.<span class="Apple-tab-span" style="white-space:pre"> </span>+39 - 02 64 48 79 01<br class="">
DISCo, Università Milano Bicocca U14 2043<span class="Apple-tab-span" style="white-space:pre">
</span><a href="http://bimib.disco.unimib.it" class="">http://bimib.disco.unimib.it</a><br class="">
Viale Sarca 336<br class="">
I-20126 Milan (MI) ITALY<br class="">
<br class="">
Please check: http://cdac.lakecomoschool.org<br class="">
<br class="">
Please note that I am not checking my Spam-box anymore.<br class="">
Please do not forward this email without asking me first.<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
</div>
<br class="">
</body>
</html>