<html>
    <head>
      <base href="http://bugzilla.ecoinformatics.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:marten@eecs.berkeley.edu" title="Marten Lohstroh <marten@eecs.berkeley.edu>"> <span class="fn">Marten Lohstroh</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Check for problems with sanitized RecordToken labels"
   href="http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5722">bug 5722</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
                
           </td>
           <td>marten@eecs.berkeley.edu
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Check for problems with sanitized RecordToken labels"
   href="http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5722#c13">Comment # 13</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Check for problems with sanitized RecordToken labels"
   href="http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5722">bug 5722</a>
              from <span class="vcard"><a class="email" href="mailto:marten@eecs.berkeley.edu" title="Marten Lohstroh <marten@eecs.berkeley.edu>"> <span class="fn">Marten Lohstroh</span></a>
</span></b>
        <pre>If certain strings are unacceptable as labels because the parser cannot deal
with them, then the only right behavior for records is to reject such labels
(as was established by changeset 64633). The problem is that actors like
RecordDisassembler and RecordAssembler use a number of complex type constraints
that tie port names to labels in RecordTypes. Bluntly renaming labels results
in undesired behavior and unexpected typing problems. Because the the
sanitation mapping is not invertible, the original port names can no longer
function as proper identifiers. E.g., what kind of record should a
RecordAssembler with two inputs "a b" and "a_b" produce? And how can
RecordDisassembler ensure that its input record has two distinct fields that
correspond two its two outputs "c d" and "c_d"? Errors like these would be
trapped by RecordType as it requires labels to be unique, but the resulting
errors are not very friendly, and the solution as a whole is not very elegant.

If we want to allow record labels that are equally expressive as port names,
the expression language needs to be adapted. This is a task that requires some
careful thought. I don't have time to look into this right now, but I will look
do so by the end of February and come up with a proposal / candidate
implementation.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>