<!-- Tufts VUE 3.3.0 concept-map (Graph-notes-copy2.vue) 2016-11-19 --> <!-- Tufts VUE: http://vue.tufts.edu/ --> <!-- Do Not Remove: VUE mapping @version(1.1) jar:file:/nix/store/miyaz9by4k195j53sbl6mgyky60xqjf1-vue-3.3.0/share/vue/vue.jar!/tufts/vue/resources/lw_mapping_1_1.xml --> <!-- Do Not Remove: Saved date Sat Nov 19 13:55:06 CET 2016 by georges on platform Linux 4.4.26 in JVM 1.8.0_76-00 --> <!-- Do Not Remove: Saving version @(#)VUE: built October 8 2015 at 1724 by tomadm on Linux 2.6.32-504.23.4.el6.x86_64 i386 JVM 1.7.0_21-b11(bits=32) --> <?xml version="1.0" encoding="US-ASCII"?> <LW-MAP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="none" ID="0" label="Graph-notes-copy2.vue" created="1479309847604" x="0.0" y="0.0" width="1.4E-45" height="1.4E-45" strokeWidth="0.0" autoSized="false"> <resource referenceCreated="1479560106062" size="182377" spec="/home/georges/phc/racket-packages/phc-graph/Graph-notes-copy2.vue" type="1" xsi:type="URLResource"> <title>Graph-notes-copy2.vue</title> <property key="File" value="/home/georges/phc/racket-packages/phc-graph/Graph-notes-copy2.vue"/> </resource> <fillColor>#FFFFFF</fillColor> <strokeColor>#404040</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-14</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6af7c0a80026548592b8dffca40a</URIString> <child ID="6" label="Graph" layerID="1" created="1479309863303" x="1370.5449" y="544.5457" width="51.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6afcc0a80026548592b833e3a781</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="7" label="Auto-generation of mappings" layerID="1" created="1479309887096" x="1577.3673" y="857.9207" width="231.0" height="46.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#8AEE95</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6afec0a80026548592b88abb8384</URIString> <child ID="9" label="As a wrapper?" created="1479309895903" x="34.0" y="23.0" width="105.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b00c0a80026548592b8a0766ac6</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="8" layerID="1" created="1479309887097" x="1406.0481" y="567.04584" width="266.19934" height="291.37488" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6affc0a80026548592b80b4ee7cc</URIString> <point1 x="1406.548" y="567.54584"/> <point2 x="1671.7473" y="857.9207"/> <ID1 xsi:type="node">6</ID1> <ID2 xsi:type="node">7</ID2> </child> <child ID="11" label="Structural equality" layerID="1" created="1479309904736" x="1330.5449" y="934.30304" width="129.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#8AEE95</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b03c0a80026548592b81914701e</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="12" layerID="1" created="1479309904738" x="1394.5743" y="567.0625" width="1.9411621" height="367.75" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b04c0a80026548592b8c27d0837</URIString> <point1 x="1396.0155" y="567.5625"/> <point2 x="1395.0743" y="934.3125"/> <ID1 xsi:type="node">6</ID1> <ID2 xsi:type="node">11</ID2> </child> <child ID="13" label="Invariants" layerID="1" created="1479309905789" x="876.0447" y="543.5457" width="75.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#8AEE95</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b05c0a80026548592b80343782b</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="14" layerID="1" created="1479309905791" x="950.5447" y="554.6234" width="420.50024" height="1.8694458" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b06c0a80026548592b870fb7c6a</URIString> <point1 x="1370.5449" y="555.99286"/> <point2 x="951.0447" y="555.1234"/> <ID1 xsi:type="node">6</ID1> <ID2 xsi:type="node">13</ID2> </child> <child ID="15" label="Other" layerID="1" created="1479309906604" x="1372.0449" y="409.30307" width="48.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b07c0a80026548592b8f5e19e10</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="16" layerID="1" created="1479309906606" x="1395.5449" y="431.80304" width="1.0" height="113.242645" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b08c0a80026548592b840ee8fa0</URIString> <point1 x="1396.0449" y="544.5457"/> <point2 x="1396.0449" y="432.30307"/> <ID1 xsi:type="node">6</ID1> <ID2 xsi:type="node">15</ID2> </child> <child ID="17" label="Scope" layerID="1" created="1479309922342" x="569.125" y="397.36423" width="52.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b09c0a80026548592b8217a1807</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="18" layerID="1" created="1479309922344" x="615.9132" y="418.13733" width="273.0816" height="125.90839" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b09c0a80026548592b8dfab693e</URIString> <point1 x="888.4948" y="543.5457"/> <point2 x="616.4132" y="418.63733"/> <ID1 xsi:type="node">13</ID1> <ID2 xsi:type="node">17</ID2> </child> <child ID="19" label="Verification time" layerID="1" created="1479309923132" x="543.125" y="529.5457" width="116.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b0ac0a80026548592b87ee8d14b</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="20" layerID="1" created="1479309923134" x="658.40515" y="543.1349" width="218.1756" height="10.731995" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b11c0a80026548592b89f9e9272</URIString> <point1 x="876.08075" y="553.3669"/> <point2 x="658.90515" y="543.6349"/> <ID1 xsi:type="node">13</ID1> <ID2 xsi:type="node">19</ID2> </child> <child ID="21" label="Specification" layerID="1" created="1479309923917" x="551.625" y="677.8775" width="94.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b12c0a80026548592b83be06baa</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="22" layerID="1" created="1479309923919" x="625.085" y="566.0457" width="261.99976" height="112.33179" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b13c0a80026548592b8f03d2a45</URIString> <point1 x="886.5848" y="566.5457"/> <point2 x="625.585" y="677.8775"/> <ID1 xsi:type="node">13</ID1> <ID2 xsi:type="node">21</ID2> </child> <child ID="23" label="Coloring" layerID="1" created="1479309940842" x="1278.5449" y="66.30307" width="65.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#8AEE95</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b14c0a80026548592b8bc35fbb9</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="24" layerID="1" created="1479309940844" x="1313.3948" y="88.80322" width="80.30017" height="321.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b14c0a80026548592b87410806e</URIString> <point1 x="1393.1951" y="409.30322"/> <point2 x="1313.8949" y="89.30322"/> <ID1 xsi:type="node">15</ID1> <ID2 xsi:type="node">23</ID2> </child> <child ID="25" label="Coalesce nodes which are equal?" layerID="1" created="1479310031080" x="1278.0449" y="1150.303" width="234.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a307c0a80026548592b8c2af76c4</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="26" layerID="1" created="1479310031081" x="1394.5449" y="956.803" width="1.0" height="193.99994" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a307c0a80026548592b8a04c0bf0</URIString> <point1 x="1395.0449" y="957.30304"/> <point2 x="1395.0449" y="1150.303"/> <ID1 xsi:type="node">11</ID1> <ID2 xsi:type="node">25</ID2> </child> <child ID="27" label="Hash consing" layerID="1" created="1479310041195" x="1197.1572" y="1236.7637" width="100.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a308c0a80026548592b8ff6b1596</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="29" label="= deterministic finite automaton minimization
(when there are no unordered sets)" layerID="1" created="1479310064475" x="1142.3567" y="1392.0576" width="302.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a309c0a80026548592b84e893214</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="33" label="=" layerID="1" created="1479310109124" x="1388.7559" y="1278.0215" width="22.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30ac0a80026548592b8ea42a1af</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="34" layerID="1" created="1479310109126" x="1394.9691" y="1172.8047" width="4.862549" height="105.71484" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30ac0a80026548592b87117f4c4</URIString> <point1 x="1395.4691" y="1173.3047"/> <point2 x="1399.3317" y="1278.0195"/> <ID1 xsi:type="node">25</ID1> <ID2 xsi:type="node">33</ID2> </child> <child ID="35" layerID="1" created="1479310112683" x="1309.4902" y="1297.833" width="83.05139" height="94.72461" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30bc0a80026548592b83098fe4a</URIString> <point1 x="1392.0416" y="1298.333"/> <point2 x="1309.9902" y="1392.0576"/> <ID1 xsi:type="node">33</ID1> <ID2 xsi:type="node">29</ID2> </child> <child ID="36" label="= deterministic finite automaton minimization
(when there are unordered sets)" layerID="1" created="1479310130202" x="1468.7128" y="1390.0991" width="302.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30bc0a80026548592b8e12add9f</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="37" layerID="1" created="1479310130203" x="1409.3909" y="1294.5312" width="175.87244" height="96.06787" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30cc0a80026548592b879e5ac96</URIString> <point1 x="1409.8909" y="1295.0312"/> <point2 x="1584.7633" y="1390.0991"/> <ID1 xsi:type="node">33</ID1> <ID2 xsi:type="node">36</ID2> </child> <child ID="42" label="Cache all calls to equal? while grouping nodes" layerID="1" created="1479310644302" x="1518.7698" y="1259.8262" width="315.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dc99799c0a80026548592b87d2d4299</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="44" label="Allows fast comparison of nodes within the same graph" layerID="1" created="1479310691911" x="1558.634" y="1206.3013" width="373.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dcae10dc0a80026548592b847b6398e</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="68" label="Type policy" layerID="1" created="1479311229819" x="76.39288" y="224.19116" width="82.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd2c0a80026548592b8d3f60760</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="90" label="Macro policy" layerID="1" created="1479311433081" x="-708.9739" y="-78.299225" width="92.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd4c0a80026548592b8697d13c4</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="103" label="/!\ May interfere with each other" layerID="1" created="1479311599825" x="-524.9689" y="-217.25525" width="221.0" height="23.0" strokeWidth="3.0" autoSized="true" xsi:type="node"> <fillColor>#FEFEC9</fillColor> <strokeColor>#EA2218</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd5c0a80026548592b8ddb5b6c7</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="104" layerID="1" created="1479311599826" x="-642.9076" y="-194.75525" width="208.37247" height="116.956024" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd5c0a80026548592b81da96232</URIString> <point1 x="-642.4076" y="-78.299225"/> <point2 x="-435.03513" y="-194.25525"/> <ID1 xsi:type="node">90</ID1> <ID2 xsi:type="node">103</ID2> </child> <child ID="105" label="May alter a mapping's inputs" layerID="1" created="1479311627089" x="-453.56888" y="-124.67706" width="198.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b853276e56</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="106" layerID="1" created="1479311627089" x="-619.121" y="-102.17706" width="188.57895" height="29.208061" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b89262c338</URIString> <point1 x="-618.621" y="-73.469"/> <point2 x="-431.04202" y="-101.67706"/> <ID1 xsi:type="node">90</ID1> <ID2 xsi:type="node">105</ID2> </child> <child ID="107" label="May wrap or check or alter a mapping's outputs" layerID="1" created="1479311633861" x="-541.1206" y="-72.143234" width="322.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b8c817c8d9</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="108" layerID="1" created="1479311633863" x="-617.4739" y="-66.298096" width="77.25604" height="2.6596298" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b88ac312bd</URIString> <point1 x="-616.9739" y="-65.79809"/> <point2 x="-540.71783" y="-64.13846"/> <ID1 xsi:type="node">90</ID1> <ID2 xsi:type="node">107</ID2> </child> <child ID="109" label="Wrap with ann" layerID="1" created="1479311725257" x="-139.36258" y="-92.783356" width="102.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8416c8f4f</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="110" layerID="1" created="1479311725259" x="-226.62152" y="-78.2051" width="88.17851" height="7.1673584" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8d9e1112c</URIString> <point1 x="-226.1215" y="-71.53774"/> <point2 x="-138.943" y="-77.7051"/> <ID1 xsi:type="node">107</ID1> <ID2 xsi:type="node">109</ID2> </child> <child ID="134" label="Enforcement on the transform or creation" layerID="1" created="1479312135902" x="194.57953" y="695.1646" width="284.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b83703e1b4</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="135" label=" " layerID="1" created="1479312135902" x="68.89288" y="695.1646" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b885daa51d</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="136" label=" " layerID="1" created="1479312135902" x="-51.92047" y="695.1646" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b88d7a52cf</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="137" label=" " layerID="1" created="1479312135902" x="-178.92047" y="695.1646" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b8fe262430</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="138" label=" " layerID="1" created="1479312135902" x="-329.92047" y="694.3646" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b8ba0f1bbc</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="139" label=" " layerID="1" created="1479312135902" x="-493.5517" y="695.96466" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8ce56fcb8</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="140" label=" " layerID="1" created="1479312135902" x="-862.1742" y="697.5647" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b84c0668a9</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="142" label=" " layerID="1" created="1479312150155" x="-993.41174" y="697.5647" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b844ae0a4b</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="143" label="Invariants on the graph / node" layerID="1" created="1479312150155" x="194.57953" y="656.1646" width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8746d8906</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="144" label=" " layerID="1" created="1479312150155" x="68.89288" y="656.1646" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8eab64176</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="145" label=" " layerID="1" created="1479312150155" x="-51.92047" y="656.1646" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8e2b0179a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="146" label=" " layerID="1" created="1479312150155" x="-178.92047" y="656.1646" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8f1e9514a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="147" label=" " layerID="1" created="1479312150155" x="-329.92047" y="655.3646" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8726ffcc1</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="148" label=" " layerID="1" created="1479312150155" x="-493.5517" y="656.96466" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8ff3e3904</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="150" label=" " layerID="1" created="1479312155692" x="-862.1742" y="658.5647" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8e43cd085</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="151" label=" " layerID="1" created="1479312155692" x="-993.41174" y="658.5647" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b80a95f30b</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="152" label="Compile-time" layerID="1" created="1479312155692" x="194.57953" y="588.27094" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8a738f623</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="153" label=" " layerID="1" created="1479312155692" x="68.89288" y="588.27094" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b840e9de75</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="154" label=" " layerID="1" created="1479312155692" x="-51.92047" y="588.27094" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b869523b7f</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="155" label=" " layerID="1" created="1479312155692" x="-178.92047" y="588.27094" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b80ecff1d4</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="156" label=" " layerID="1" created="1479312155692" x="-329.92047" y="587.47095" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8868c3bd4</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="158" label=" " layerID="1" created="1479312155692" x="-493.5517" y="589.071" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8f1f2c034</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="159" label=" " layerID="1" created="1479312155692" x="-862.1742" y="590.671" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b81f88086b</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="160" label=" " layerID="1" created="1479312155692" x="-993.41174" y="590.671" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8a06db952</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="161" label="Run-time" layerID="1" created="1479312155692" x="194.57953" y="549.27106" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b84247db44</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="162" label=" " layerID="1" created="1479312155692" x="68.89288" y="549.27106" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b80183cc60</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="163" label=" " layerID="1" created="1479312155692" x="-51.92047" y="549.27106" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8a53213f5</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="164" label=" " layerID="1" created="1479312155692" x="-178.92047" y="549.27106" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b88fe1f15c</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="166" label=" " layerID="1" created="1479312165108" x="-329.92047" y="548.47107" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b804a1a9ba</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="167" label=" " layerID="1" created="1479312165108" x="-493.5517" y="550.0711" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8ad21ad51</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="168" label=" " layerID="1" created="1479312165108" x="-862.1742" y="551.67114" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8f7cab75e</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="169" label=" " layerID="1" created="1479312165108" x="-993.41174" y="551.67114" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b824a5ea38</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="170" label="Transformation" layerID="1" created="1479312165108" x="194.57953" y="475.32404" width="139.0" height="46.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8fcd64fad</URIString> <child ID="52" label="Like ->i" created="1479310857171" x="34.0" y="23.0" width="59.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#BDE5F2</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dcc935cc0a80026548592b89128dae1</URIString> <shape xsi:type="rectangle"/> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="171" label=" " layerID="1" created="1479312165108" x="68.89288" y="475.32404" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8414a595b</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="172" label=" " layerID="1" created="1479312165108" x="-51.92047" y="475.32404" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8e07930e9</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="174" label=" " layerID="1" created="1479312165108" x="-178.92047" y="475.32404" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b861833437</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="175" label=" " layerID="1" created="1479312165108" x="-329.92047" y="474.52405" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b82804bc71</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="176" label=" " layerID="1" created="1479312165108" x="-493.5517" y="476.12408" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b80db43a99</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="177" label=" " layerID="1" created="1479312165108" x="-862.1742" y="477.72412" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b86a9bcf32</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="178" label=" " layerID="1" created="1479312165108" x="-993.41174" y="477.72412" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b82c6a1147</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="179" label="Output" layerID="1" created="1479312165108" x="194.57953" y="436.72406" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b88c7132d7</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="180" label=" " layerID="1" created="1479312165108" x="68.89288" y="436.72406" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b82856a3fe</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="182" label=" " layerID="1" created="1479312165108" x="-51.92047" y="436.72406" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8125e3add</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="183" label=" " layerID="1" created="1479312165108" x="-178.92047" y="436.72406" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8242976ae</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="184" label=" " layerID="1" created="1479312165108" x="-329.92047" y="435.92407" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8700f0c58</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="185" label=" " layerID="1" created="1479312165108" x="-493.5517" y="437.5241" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b888f9f0fc</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="186" label=" " layerID="1" created="1479312165108" x="-862.1742" y="439.12415" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b829d22ddb</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="187" label=" " layerID="1" created="1479312165108" x="-993.41174" y="439.12415" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8fb44d733</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="188" label="Input" layerID="1" created="1479312165108" x="194.57953" y="397.724" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8010e8b83</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="190" label=" " layerID="1" created="1479312165108" x="68.89288" y="397.724" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8b07192d1</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="191" label=" " layerID="1" created="1479312165108" x="-51.92047" y="397.724" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b85d8d2676</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="192" label=" " layerID="1" created="1479312165108" x="-178.92047" y="397.724" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b818309ef9</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="193" label=" " layerID="1" created="1479312165108" x="-329.92047" y="396.924" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8ce547432</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="194" label=" " layerID="1" created="1479312165108" x="-493.5517" y="398.52405" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8808f7487</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="195" label=" " layerID="1" created="1479312165108" x="-862.1742" y="400.12408" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8f5b31808</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="196" label=" " layerID="1" created="1479312165108" x="-993.41174" y="400.12408" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#C1F780</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8b71cf339</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="211" label="No cycles in τ" layerID="1" created="1479312437302" x="67.89288" y="359.19955" width="99.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6deb6c15c0a80026548592b8b3165e14</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="212" label="Nouveau Nœud" layerID="1" created="1479312437302" x="-59.42047" y="359.19955" width="112.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8a5a2565a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="213" label="Nouveau Nœud" layerID="1" created="1479312437302" x="-186.42047" y="359.19955" width="112.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b82772e2e6</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="214" label="no excess / missing
nodes" layerID="1" created="1479312437302" x="-346.02045" y="341.59958" width="139.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b844d9ed3a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="215" label="Structural invariant" layerID="1" created="1479312437302" x="-526.0517" y="296.2496" width="162.0" height="86.75" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8c110cac6</URIString> <child ID="248" label="No cycles (a.** != a)" created="1479315054444" x="34.0" y="23.0" width="145.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e0db15543a6be970d2ffe259c8e4183</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="249" label="a.b.c = a" created="1479315069014" x="34.0" y="43.25" width="112.78567" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e0db15643a6be970d2ffe25e7c11d51</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="256" label="a ∈ a.b.c" created="1479315479126" x="34.0" y="63.5" width="112.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e13f9e943a6be970d2ffe25a12d6061</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="216" label="Fill in auto fields" layerID="1" created="1479312437302" x="-885.6742" y="318.0996" width="144.0" height="66.5" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b84cf1af9a</URIString> <child ID="115" label="count(path)" created="1479311769963" x="34.0" y="23.0" width="88.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dda878fc0a80026548592b8d8c09cc8</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="113" label="path" created="1479311761209" x="34.0" y="43.25" width="41.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8a59d8be9</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="217" label="Field types" layerID="1" created="1479312437302" x="-985.41174" y="361.5996" width="81.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8ef57e7b6</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="220" layerID="1" created="1479312977113" x="291.07953" y="408.3908" width="278.54547" height="1.2836304" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b8679982c0</URIString> <point1 x="569.125" y="408.8908"/> <point2 x="291.57953" y="409.17444"/> <ID1 xsi:type="node">17</ID1> <ID2 xsi:type="node">188</ID2> </child> <child ID="221" layerID="1" created="1479312980477" x="290.3051" y="411.24005" width="279.59766" height="32.148132" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b8c719c5c2</URIString> <point1 x="569.4028" y="411.74005"/> <point2 x="290.8051" y="442.88818"/> <ID1 xsi:type="node">17</ID1> <ID2 xsi:type="node">179</ID2> </child> <child ID="222" layerID="1" created="1479312983887" x="331.39423" y="414.96667" width="239.83237" height="65.63089" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b87ce595a9</URIString> <point1 x="570.7266" y="415.46667"/> <point2 x="331.89426" y="480.09756"/> <ID1 xsi:type="node">17</ID1> <ID2 xsi:type="node">170</ID2> </child> <child ID="223" layerID="1" created="1479312987068" x="290.84552" y="543.7224" width="253.11792" height="14.889587" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b83272ecb3</URIString> <point1 x="543.46344" y="544.2224"/> <point2 x="291.34552" y="558.112"/> <ID1 xsi:type="node">19</ID1> <ID2 xsi:type="node">161</ID2> </child> <child ID="224" layerID="1" created="1479312989934" x="288.8164" y="549.4879" width="258.2881" height="43.1994" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b847abd123</URIString> <point1 x="546.6045" y="549.988"/> <point2 x="289.3164" y="592.1874"/> <ID1 xsi:type="node">19</ID1> <ID2 xsi:type="node">152</ID2> </child> <child ID="225" layerID="1" created="1479312993421" x="401.89612" y="674.6299" width="150.60938" height="11.862732" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b82421558c</URIString> <point1 x="552.0055" y="685.9926"/> <point2 x="402.39612" y="675.1299"/> <ID1 xsi:type="node">21</ID1> <ID2 xsi:type="node">143</ID2> </child> <child ID="226" layerID="1" created="1479312996582" x="474.3354" y="691.95703" width="78.10855" height="6.086853" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b890a669f0</URIString> <point1 x="551.9439" y="692.45703"/> <point2 x="474.83536" y="697.5439"/> <ID1 xsi:type="node">21</ID1> <ID2 xsi:type="node">134</ID2> </child> <child ID="227" layerID="1" created="1479313097960" x="116.89288" y="246.69118" width="1.0" height="113.00839" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>Arial-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b8ab3caf16</URIString> <point1 x="117.39288" y="247.19116"/> <point2 x="117.39288" y="359.19955"/> <ID1 xsi:type="node">68</ID1> <ID2 xsi:type="node">211</ID2> </child> <child ID="229" label="Field types" layerID="1" created="1479313578633" x="-985.41174" y="296.00214" width="81.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6df83301c0a80026548592b8cadb0885</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="230" layerID="1" created="1479313589139" x="-945.41174" y="318.50214" width="1.0" height="43.597473" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6df83301c0a80026548592b86616b05c</URIString> <point1 x="-944.91174" y="319.00214"/> <point2 x="-944.91174" y="361.5996"/> <ID1 xsi:type="node">229</ID1> <ID2 xsi:type="node">217</ID2> </child> <child ID="231" label="Fill in info" layerID="1" created="1479314065342" x="-107.36258" y="-69.78337" width="70.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8f9159d49</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="232" layerID="1" created="1479314065343" x="-219.6206" y="-59.9087" width="112.758026" height="1.8569527" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b838839b4e</URIString> <point1 x="-219.1206" y="-59.4087"/> <point2 x="-107.36258" y="-58.551746"/> <ID1 xsi:type="node">107</ID1> <ID2 xsi:type="node">231</ID2> </child> <child ID="233" label="Insert guards" layerID="1" created="1479314071070" x="-136.36258" y="-46.7834" width="99.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8fe58d8d6</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="234" layerID="1" created="1479314071071" x="-247.636" y="-49.643234" width="112.325165" height="10.626976" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8472714c9</URIString> <point1 x="-247.136" y="-49.143234"/> <point2 x="-135.81084" y="-39.51626"/> <ID1 xsi:type="node">107</ID1> <ID2 xsi:type="node">233</ID2> </child> <child ID="239" label="Name the invariants in the type, and refer to them in the transform" layerID="1" created="1479314146769" x="401.0136" y="789.73596" width="446.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6dff35b5c0a80026548592b8604b935b</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="240" layerID="1" created="1479314146770" x="600.7352" y="700.37744" width="21.168274" height="89.8584" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6dff35b5c0a80026548592b8b8ea0a14</URIString> <point1 x="601.23517" y="700.87744"/> <point2 x="621.40344" y="789.73584"/> <ID1 xsi:type="node">21</ID1> <ID2 xsi:type="node">239</ID2> </child> <child ID="241" label="Basic form
already implemented" layerID="1" created="1479314878724" x="1224.5375" y="997.7446" width="146.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e09fb5843a6be970d2ffe2507ab588a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="242" layerID="1" created="1479314878728" x="1323.1526" y="956.8031" width="56.585815" height="41.441467" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e09fb5a43a6be970d2ffe25101bab58</URIString> <point1 x="1379.2384" y="957.3031"/> <point2 x="1323.6526" y="997.74457"/> <ID1 xsi:type="node">11</ID1> <ID2 xsi:type="node">241</ID2> </child> <child ID="244" label="α-equivalence" layerID="1" created="1479314913291" x="1434.1376" y="1005.7449" width="104.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e0b664b43a6be970d2ffe25608d7f84</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="245" layerID="1" created="1479314913294" x="1409.2081" y="956.80304" width="62.766357" height="49.441895" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e0b664b43a6be970d2ffe252aafd35e</URIString> <point1 x="1409.7081" y="957.30304"/> <point2 x="1471.4745" y="1005.74493"/> <ID1 xsi:type="node">11</ID1> <ID2 xsi:type="node">244</ID2> </child> <child ID="246" label="Too hard to implement for now" layerID="1" created="1479314956001" x="1417.3375" y="1043.5447" width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e0b664c43a6be970d2ffe253b42a8fa</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="247" layerID="1" created="1479314956003" x="1496.6509" y="1028.2449" width="15.17334" height="15.799805" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e0b664c43a6be970d2ffe25426d76fa</URIString> <point1 x="1497.1509" y="1028.7449"/> <point2 x="1511.3242" y="1043.5447"/> <ID1 xsi:type="node">244</ID1> <ID2 xsi:type="node">246</ID2> </child> <child ID="252" label="http://docs.racket-lang.org/graph/index.html#%28def._%28%28lib._graph%2Fmain..rkt%29._coloring%2Fgreedy%29%29" layerID="1" created="1479315385244" x="872.13745" y="-11.855225" width="784.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e12548843a6be970d2ffe259bb5e939</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="253" layerID="1" created="1479315385245" x="1270.5393" y="10.644775" width="34.10388" height="56.158203" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e12548843a6be970d2ffe25f25ed174</URIString> <point1 x="1304.1432" y="66.30298"/> <point2 x="1271.0393" y="11.144775"/> <ID1 xsi:type="node">23</ID1> <ID2 xsi:type="node">252</ID2> </child> <child ID="257" label=" " layerID="1" created="1479315626294" x="-689.56244" y="696.5272" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25f6c630d7</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="258" label=" " layerID="1" created="1479315626294" x="-689.56244" y="657.5272" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe259db0c3ce</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="259" label=" " layerID="1" created="1479315626294" x="-689.56244" y="589.63354" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25e603c10f</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="260" label=" " layerID="1" created="1479315626294" x="-689.56244" y="550.63367" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25580295ca</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="261" label=" " layerID="1" created="1479315626294" x="-689.56244" y="476.68677" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe250d1629cb</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="262" label=" " layerID="1" created="1479315626294" x="-689.56244" y="438.0868" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25e477a71a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="263" label=" " layerID="1" created="1479315626294" x="-689.56244" y="399.08667" width="97.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#FFFFFF</fillColor> <strokeColor>#D0D0D0</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25b3ec0015</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="264" label="Well-scopedness
via ∀ flag on the inputs" layerID="1" created="1479315626294" x="-716.26245" y="343.76224" width="161.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#000000</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25522374c0</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="269" label="enforces" layerID="1" created="1479315766762" x="-602.6625" y="246.14484" width="70.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25045c93ba</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="270" layerID="1" created="1479315766763" x="-742.9568" y="267.95978" width="147.40094" height="56.76346" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25f58b5507</URIString> <point1 x="-742.4568" y="324.2232"/> <point2 x="-596.05585" y="268.45975"/> <ID1 xsi:type="node">216</ID1> <ID2 xsi:type="node">269</ID2> </child> <child ID="273" layerID="1" created="1479315784203" x="-550.9628" y="268.6448" width="41.538574" height="28.104797" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25213bebda</URIString> <point1 x="-550.4628" y="269.1448"/> <point2 x="-509.92426" y="296.2496"/> <ID1 xsi:type="node">269</ID1> <ID2 xsi:type="node">215</ID2> </child> <child ID="275" layerID="1" created="1479315857711" x="-623.95337" y="268.64478" width="49.3407" height="75.61749" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25b2914e66</URIString> <point1 x="-623.45337" y="343.76227"/> <point2 x="-575.1127" y="269.14478"/> <ID1 xsi:type="node">264</ID1> <ID2 xsi:type="node">269</ID2> </child> <child ID="278" label="Compile-time policy" layerID="1" created="1479316015544" x="-834.6625" y="38.944725" width="134.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25714e5bc9</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="279" layerID="1" created="1479316015546" x="-757.89404" y="-55.799194" width="85.15155" height="95.2439" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25ca3da090</URIString> <point1 x="-673.24243" y="-55.299194"/> <point2 x="-757.394" y="38.944702"/> <ID1 xsi:type="node">90</ID1> <ID2 xsi:type="node">278</ID2> </child> <child ID="280" label="Run-time check" layerID="1" created="1479316019912" x="-495.4625" y="37.344727" width="110.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25751b3e9d</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="281" layerID="1" created="1479316019914" x="-641.3467" y="-55.799225" width="179.25693" height="93.64395" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25264e9ee1</URIString> <point1 x="-640.8467" y="-55.299225"/> <point2 x="-462.58975" y="37.344727"/> <ID1 xsi:type="node">90</ID1> <ID2 xsi:type="node">280</ID2> </child> <child ID="284" layerID="1" created="1479316050351" x="-809.0899" y="61.444824" width="40.168945" height="257.1548" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25391232ea</URIString> <point1 x="-769.42096" y="61.944824"/> <point2 x="-808.5899" y="318.0996"/> <ID1 xsi:type="node">278</ID1> <ID2 xsi:type="node">216</ID2> </child> <child ID="285" layerID="1" created="1479316052183" x="-763.3057" y="61.444702" width="120.01904" height="282.8175" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe253e59616a</URIString> <point1 x="-762.8057" y="61.944702"/> <point2 x="-643.7867" y="343.7622"/> <ID1 xsi:type="node">278</ID1> <ID2 xsi:type="node">264</ID2> </child> <child ID="286" layerID="1" created="1479316060242" x="-444.86713" y="59.84375" width="4.7231445" height="236.90625" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe2578e91de4</URIString> <point1 x="-440.64398" y="60.34375"/> <point2 x="-444.36713" y="296.25"/> <ID1 xsi:type="node">280</ID1> <ID2 xsi:type="node">215</ID2> </child> <child ID="289" layerID="1" created="1479316096459" x="-434.91504" y="59.844727" width="148.90305" height="282.25482" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c743a6be970d2ffe258016a9d1</URIString> <point1 x="-434.415" y="60.344727"/> <point2 x="-286.51196" y="341.59955"/> <ID1 xsi:type="node">280</ID1> <ID2 xsi:type="node">214</ID2> </child> <child ID="291" label="Invariants expressed as a dummy type on the graph / node" layerID="1" created="1479316157024" x="-663.86255" y="868.74475" width="396.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1dc69443a6be970d2ffe25c307cfac</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="293" label="Enforcements indicate which invariant they satisfy or check" layerID="1" created="1479316213134" x="3.1374512" y="1054.7448" width="395.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e1fb64c43a6be970d2ffe25894f7080</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="295" label=" " layerID="1" created="1479316329322" x="175.13745" y="656.74475" width="15.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e218e1c43a6be970d2ffe25c3d8bcae</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="296" layerID="1" created="1479316329323" x="189.63745" y="667.68555" width="5.4420776" height="1.0220337" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e218e1d43a6be970d2ffe253b54752d</URIString> <point1 x="194.57953" y="668.18555"/> <point2 x="190.13745" y="668.2076"/> <ID1 xsi:type="node">143</ID1> <ID2 xsi:type="node">295</ID2> </child> <child ID="314" label="Each node has an extra field of the following type:
" layerID="1" created="1479317112254" x="-826.86255" y="972.24475" width="339.0" height="107.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e2c94fe43a6be970d2ffe25ab2d9e8d</URIString> <child ID="313" label="(invariants-wrapper (case (→ inv₁ inv-arg … #t) … (→ invₙ inv-arg … #t)))" created="1479317031021" x="5.0" y="38.0" width="276.0" height="63.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> <strokeColor>#404040</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-14</font> <URIString>http://vue.tufts.edu/rdf/resource/6e2c950143a6be970d2ffe25c8aa5ef1</URIString> <richText><html> <head> <style type="text/css"> <!-- body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 } ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside } p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } --> </style> </head> <body> <p> <font face="DejaVu Sans Mono">(invariants-wrapper </font> </p> <p> <font face="DejaVu Sans Mono">(case (&#8594; inv&#8321; inv-arg &#8230; #t) </font> </p> <p> <font face="DejaVu Sans Mono">&#8230; </font> </p> <p> <font face="DejaVu Sans Mono">(&#8594; inv&#8345; inv-arg &#8230; #t)))</font> </p> </body> </html> </richText> <label>(invariants-wrapper (case (→ inv₁ inv-arg … #t) … (→ invₙ inv-arg … #t)))</label> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="315" layerID="1" created="1479317179397" x="-587.4485" y="891.24475" width="106.950165" height="81.5" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe2565dbc3a9</URIString> <point1 x="-480.99832" y="891.74475"/> <point2 x="-586.9485" y="972.24475"/> <ID1 xsi:type="node">291</ID1> <ID2 xsi:type="node">314</ID2> </child> <child ID="318" label="Use a private struct to prevent forging of the invariants aggregated in a case→
(since it is never executed, any non-terminating λ could otherwise be supplied).
" layerID="1" created="1479317202233" x="-960.86255" y="1145.7448" width="531.0" height="77.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe2541159360</URIString> <child ID="324" label="(struct 
 invariants-wrapper ())" created="1479317283315" x="5.0" y="53.0" width="214.0" height="18.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> <strokeColor>#404040</strokeColor> <textColor>#000000</textColor> <font>-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe254bc731a8</URIString> <richText><html> <head color="#000000" style="color: #000000"> <style type="text/css"> <!-- body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 11; font-family: SansSerif; color: #000000 } ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 11; list-style-position: outside } p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } ul { margin-top: 6; font-size: 11; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } --> </style> </head> <body> <p> <font style="font-size:12;" color="#000000" face="DejaVu Sans Mono">(struct invariants-wrapper ())</font> </p> </body> </html> </richText> <label>(struct invariants-wrapper ())</label> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="319" layerID="1" created="1479317202235" x="-686.63226" y="1078.7448" width="16.943237" height="67.5" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe25415de0b8</URIString> <point1 x="-670.189" y="1079.2448"/> <point2 x="-686.13226" y="1145.7448"/> <ID1 xsi:type="node">314</ID1> <ID2 xsi:type="node">318</ID2> </child> <child ID="326" label="graph invariants should only define the dummy type used to identify them" layerID="1" created="1479317586757" x="-968.86255" y="1282.7448" width="611.0" height="172.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e380d1843a6be970d2ffe256d1f3a53</URIString> <child ID="328" label="The actual enforcement is built-in or defined as a contract" created="1479317923153" x="34.0" y="23.0" width="394.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e38dc3343a6be970d2ffe25548c6fd1</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="325" label="(define-for-syntax invariant-introducer (make-syntax-introducer)) ;; the body should return the syntax for a 
 type, ;; such that less precise invariants are supertypes of that type. (define-syntax/parse (define-graph-invariant (name g-descriptor arg …) . body) #'(define-syntax name (graph-invariant (λ (g-descriptor arg …) . body))))" created="1479317551796" x="34.0" y="43.25" width="572.0" height="123.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> <strokeColor>#404040</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-14</font> <URIString>http://vue.tufts.edu/rdf/resource/6e380d1843a6be970d2ffe2537b566f6</URIString> <richText><html> <head color="#000000" style="color: #000000"> <style type="text/css"> <!-- body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 } ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside } p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } --> </style> </head> <body> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(define-for-syntax invariant-introducer </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(make-syntax-introducer)) </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">;; the body should return the syntax for a type, </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">;; such that less precise invariants are supertypes of that type. </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(define-syntax/parse (define-graph-invariant (name g-descriptor arg &#8230;) . body) </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">#'(define-syntax name </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(graph-invariant </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(&#955; (g-descriptor arg &#8230;) . body))))</font> </p> </body> </html> </richText> <label>(define-for-syntax invariant-introducer (make-syntax-introducer)) ;; the body should return the syntax for a type, ;; such that less precise invariants are supertypes of that type. (define-syntax/parse (define-graph-invariant (name g-descriptor arg …) . body) #'(define-syntax name (graph-invariant (λ (g-descriptor arg …) . body))))</label> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="327" layerID="1" created="1479317586758" x="-689.1896" y="1222.2446" width="11.399414" height="61.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e380d1943a6be970d2ffe25baaa9b00</URIString> <point1 x="-688.6896" y="1222.7446"/> <point2 x="-678.29016" y="1282.7446"/> <ID1 xsi:type="node">318</ID1> <ID2 xsi:type="node">326</ID2> </child> <child ID="332" label="The returned type may contain symbols, to indicate node names and field names,
and will contain a reference to a private struct type, so that
two invariants with the same name defined in separate won't conflict" layerID="1" created="1479317996531" x="-1558.8625" y="1375.2448" width="543.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e3ba69443a6be970d2ffe2557b43407</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="333" layerID="1" created="1479318002683" x="-1016.36255" y="1393.3777" width="82.0" height="2.8078613" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e3ba69443a6be970d2ffe25f3986e24</URIString> <point1 x="-934.86255" y="1393.8777"/> <point2 x="-1015.86255" y="1395.6855"/> <ID1 xsi:type="text">325</ID1> <ID2 xsi:type="node">332</ID2> </child> <child ID="335" label="Possibility to define a contract, which checks the output" layerID="1" created="1479323690314" x="-287.0293" y="1256.2448" width="602.0" height="158.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e9111d2c0a80026616d9239e83b633f</URIString> <child ID="337" label="The body should produce a function of type (→ (Listof Nodeᵢ) … Boolean)" created="1479323705555" x="34.0" y="23.0" width="488.0" height="26.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e9111d3c0a80026616d923930b32673</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="341" label="The body should also return the syntax for the graph invariant dummy types that it enforces" created="1479323869262" x="34.0" y="45.5" width="610.0" height="25.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e9407e3c0a80026616d9239a5640863</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="334" label="(define-syntax/parse (define-graph-contract (name g-descriptor arg …) . 
 body) #'(define-syntax name (graph-contract (λ (g-descriptor arg …) . body))))" created="1479323593315" x="34.0" y="67.25" width="563.0" height="85.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> <strokeColor>#404040</strokeColor> <textColor>#000000</textColor> <font>-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6e8fd854c0a80026616d9239752cb6ef</URIString> <richText><html> <head color="#000000" style="color: #000000"> <style type="text/css"> <!-- body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 13; font-family: Arial; color: #000000 } ol { margin-top: 6; font-family: Arial; vertical-align: middle; margin-left: 30; font-size: 13; list-style-position: outside } p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } ul { margin-top: 6; font-size: 13; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: Arial } --> </style> </head> <body> <p color="#000000" style="color: #000000"> <font style="font-size:12;" face="DejaVu Sans Mono">(define-syntax/parse (define-graph-contract (name g-descriptor arg &#8230;) . body) </font> </p> <p color="#000000" style="color: #000000"> <font style="font-size:12;" face="DejaVu Sans Mono">#'(define-syntax name </font> </p> <p color="#000000" style="color: #000000"> <font style="font-size:12;" face="DejaVu Sans Mono">(graph-contract </font> </p> <p color="#000000" style="color: #000000"> <font style="font-size:12;" face="DejaVu Sans Mono">(&#955; (g-descriptor arg &#8230;) . body)))) </font> </p> <p color="#000000" style="color: #000000"> </p> </body> </html> </richText> <label>(define-syntax/parse (define-graph-contract (name g-descriptor arg …) . body) #'(define-syntax name (graph-contract (λ (g-descriptor arg …) . body))))</label> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="339" layerID="1" created="1479323727259" x="68.35225" y="1077.2448" width="124.80871" height="179.5" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e9111d4c0a80026616d9239034cd2a4</URIString> <point1 x="192.66096" y="1077.7448"/> <point2 x="68.85226" y="1256.2448"/> <ID1 xsi:type="node">293</ID1> <ID2 xsi:type="node">335</ID2> </child> <child ID="340" layerID="1" created="1479323738615" x="-640.4145" y="1317.7285" width="353.8852" height="10.250732" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6e9111d4c0a80026616d92391e592054</URIString> <point1 x="-639.9145" y="1318.2285"/> <point2 x="-287.0293" y="1327.4792"/> <ID1 xsi:type="node">328</ID1> <ID2 xsi:type="node">335</ID2> </child> <child ID="342" label="Define a wrapper, which may alter the input and input types, and the output and output types" layerID="1" created="1479326681064" x="347.9707" y="1262.2448" width="683.25" height="202.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6ec139a9c0a80026616d923967bf1cb6</URIString> <child ID="346" label="The body should return one transformer function per node type, plus one more transformer function." created="1479328512808" x="34.0" y="23.0" width="830.6667" height="25.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6ee8e020c0a80026616d9239a263353a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="348" label="The transformer functions have the following type:" created="1479328987933" x="34.0" y="44.75" width="339.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d9239ad712d82</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="352" label="(-> syntax? (listof syntax?) (values 
 boolean? syntax?))" created="1479329393216" x="34.0" y="65.0" width="460.0" height="18.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> <strokeColor>#404040</strokeColor> <textColor>#000000</textColor> <font>DejaVu Sans Mono-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d92391acf1941</URIString> <richText><html> <head color="#000000" style="color: #000000"> <style type="text/css"> <!-- body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 } ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside } p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } --> </style> </head> <body> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(-&gt; syntax? (listof syntax?) (values boolean? syntax?))</font> </p> </body> </html> </richText> <label>(-> syntax? (listof syntax?) (values boolean? syntax?))</label> </child> <child ID="351" label="where the first argument is the mapping's body, and the second argument is a list of input argument names
The return values are a boolean indicating if the body was wrapped in some way, and the wrapped (or original) body.
The last extra function alters the whole graph result (at the level of nodes with placeholders (?)), so that it may inject extra fields" created="1479329173663" x="34.0" y="86.0" width="858.0" height="59.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d9239b05b1b10</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="344" label="(define-syntax/parse (define-graph-wrapper (name g-descriptor argᵢ …) . 
 body) #'(define-syntax name (graph-wrapper (λ (g-descriptor argᵢ …) . body))))" created="1479326880502" x="34.0" y="133.25" width="575.0" height="63.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> <strokeColor>#404040</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-14</font> <URIString>http://vue.tufts.edu/rdf/resource/6ec139a9c0a80026616d9239a14dd476</URIString> <richText><html> <head color="#000000" style="color: #000000"> <style type="text/css"> <!-- body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 } ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside } p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } --> </style> </head> <body> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(define-syntax/parse (define-graph-wrapper (name g-descriptor arg&#7522; &#8230;) . body) </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">#'(define-syntax name </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(graph-wrapper </font> </p> <p color="#000000" style="color: #000000"> <font face="DejaVu Sans Mono">(&#955; (g-descriptor arg&#7522; &#8230;) . body))))</font> </p> </body> </html> </richText> <label>(define-syntax/parse (define-graph-wrapper (name g-descriptor argᵢ …) . body) #'(define-syntax name (graph-wrapper (λ (g-descriptor argᵢ …) . body))))</label> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="345" layerID="1" created="1479326900002" x="219.06221" y="1077.2448" width="304.619" height="185.5" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6ec139aac0a80026616d92397220832f</URIString> <point1 x="219.56223" y="1077.7448"/> <point2 x="523.1812" y="1262.2448"/> <ID1 xsi:type="node">293</ID1> <ID2 xsi:type="node">342</ID2> </child> <child ID="353" label="Garbage collection" layerID="1" created="1479341039823" x="1477.9707" y="129.74475" width="136.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#8AEE95</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d92398f0f2135</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="354" layerID="1" created="1479341039825" x="1401.7124" y="152.24463" width="138.59094" height="257.55835" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d92393e0bc6fe</URIString> <point1 x="1402.2124" y="409.30298"/> <point2 x="1539.8033" y="152.74463"/> <ID1 xsi:type="node">15</ID1> <ID2 xsi:type="node">353</ID2> </child> <child ID="355" label="Too hard to implement for now" layerID="1" created="1479341061597" x="1677.9707" y="128.74475" width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d9239f16e4b43</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="356" layerID="1" created="1479341061598" x="1613.4707" y="140.18779" width="65.0" height="1.27005" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d923937836369</URIString> <point1 x="1613.9707" y="140.95784"/> <point2 x="1677.9707" y="140.68779"/> <ID1 xsi:type="node">353</ID1> <ID2 xsi:type="node">355</ID2> </child> <child ID="357" label="Row polymorphism" layerID="1" created="1479345782598" x="1853.9707" y="409.74475" width="129.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#8AEE95</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d92392b2a40f2</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="358" layerID="1" created="1479345782600" x="1419.6936" y="432.24475" width="454.7085" height="118.06995" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d9239f2e33d1e</URIString> <point1 x="1420.1936" y="549.8147"/> <point2 x="1873.9021" y="432.74475"/> <ID1 xsi:type="node">6</ID1> <ID2 xsi:type="node">357</ID2> </child> <child ID="359" label="Extending existing graph types" layerID="1" created="1479345797404" x="1045.9707" y="204.74475" width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#8AEE95</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d9239be9c047a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="360" layerID="1" created="1479345797406" x="1158.7649" y="227.24475" width="229.48596" height="317.8009" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe22189c0a80026616d9239eb7ccf81</URIString> <point1 x="1387.7509" y="544.54565"/> <point2 x="1159.2649" y="227.74475"/> <ID1 xsi:type="node">6</ID1> <ID2 xsi:type="node">359</ID2> </child> <child ID="361" label="Define a graph-info structure" layerID="1" created="1479345850749" x="752.9707" y="171.74475" width="230.0" height="46.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d9239fd7f5890</URIString> <child ID="365" label="copy from old implementation" created="1479346259321" x="34.0" y="23.0" width="200.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe8bf99c0a80026616d9239dee715fd</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="362" layerID="1" created="1479345850751" x="982.4707" y="203.0557" width="66.3761" height="5.937851" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d92393d9d5229</URIString> <point1 x="1048.3468" y="208.49356"/> <point2 x="982.9707" y="203.55571"/> <ID1 xsi:type="node">359</ID1> <ID2 xsi:type="node">361</ID2> </child> <child ID="363" label="A graph transformation lists its accepted input types, we have to make the code within work with all" layerID="1" created="1479345855459" x="2831.9707" y="421.74475" width="660.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d92392fbc03c6</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="364" layerID="1" created="1479345855461" x="1982.4707" y="421.3672" width="850.33936" height="9.196289" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d9239976c9ae7</URIString> <point1 x="1982.9707" y="421.8672"/> <point2 x="2832.31" y="430.06348"/> <ID1 xsi:type="node">357</ID1> <ID2 xsi:type="node">363</ID2> </child> <child ID="366" label="Define a wrapper syntax with + - ±" layerID="1" created="1479346280567" x="744.9707" y="239.74475" width="266.0" height="67.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d923958a3c2b1</URIString> <child ID="368" label="Fetch the old graph info" created="1479346367496" x="34.0" y="23.0" width="167.0" height="24.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239749dd475</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="369" label="Add/remove fields" created="1479346381443" x="34.0" y="44.0" width="184.0" height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239715edb34</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="367" layerID="1" created="1479346280569" x="1009.5972" y="227.24475" width="86.91492" height="18.97763" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239cdd2238d</URIString> <point1 x="1096.0122" y="227.74475"/> <point2 x="1010.0973" y="245.72238"/> <ID1 xsi:type="node">359</ID1> <ID2 xsi:type="node">366</ID2> </child> <child ID="370" label="What about invariants?
* Just copy them over syntactically?
* Require that they are re-specified
(at least by explicitly copying them by their name)" layerID="1" created="1479346589797" x="788.9707" y="332.74475" width="329.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239ae9362ed</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="371" layerID="1" created="1479346589799" x="997.58856" y="227.24475" width="138.79065" height="106.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d92394b902499</URIString> <point1 x="1135.8793" y="227.74475"/> <point2 x="998.0886" y="332.74475"/> <ID1 xsi:type="node">359</ID1> <ID2 xsi:type="node">370</ID2> </child> <child ID="372" label="Need to make split / with / merge work with nodes,
or at least make the basic graph transformations work with explicit row polymorphism" layerID="1" created="1479347912017" x="1593.9707" y="268.74475" width="565.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7002a307c0a80026616d9239fea067fb</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="373" layerID="1" created="1479347912025" x="1881.9481" y="306.24463" width="33.40454" height="104.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/7002a308c0a80026616d9239fd1b7118</URIString> <point1 x="1914.8527" y="409.74463"/> <point2 x="1882.4481" y="306.74463"/> <ID1 xsi:type="node">357</ID1> <ID2 xsi:type="node">372</ID2> </child> <child ID="376" label="Provide a "with" form, so that mappings can extend or alter the inputs?" layerID="1" created="1479385905764" x="3414.6375" y="491.74475" width="473.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/72463402c0a8002633539faa9129b25a</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="377" layerID="1" created="1479385905770" x="3241.834" y="444.24475" width="329.44043" height="48.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72463402c0a8002633539faadc8678cc</URIString> <point1 x="3242.334" y="444.74475"/> <point2 x="3570.7744" y="491.74475"/> <ID1 xsi:type="node">363</ID1> <ID2 xsi:type="node">376</ID2> </child> <child ID="380" label="Solutions" layerID="1" created="1479386183958" x="2847.6375" y="551.74475" width="626.25" height="128.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa8116b929</URIString> <child ID="378" label="Solution 1: hide the extra fields in the "raw" field" created="1479386144228" x="34.0" y="23.0" width="324.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa04884126</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="382" label="Solution 2: allow the use of split/with/merge, auto-insert a mergefor the + - ± cases" created="1479386844095" x="34.0" y="43.25" width="562.0" height="24.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7254d752c0a8002633539faa3f2cc14b</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="383" label="Solution 3: in the mapping signature, explicitly indicate a row type variable" created="1479386922237" x="34.0" y="64.25" width="491.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faa375d2f0c</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="374" label="Partial solution: for mappings which specify a derived type (with + - ±) for their output, auto-copy the remaining fields?" created="1479385818415" x="34.0" y="84.5" width="782.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FCDBD9</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/72463400c0a8002633539faa503d1c44</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="393" label="Allow limited-field mappings (mappings from n to m fields of a node, keeping the rest intact)" created="1479387268964" x="34.0" y="104.75" width="604.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faae6c01aeb</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="381" layerID="1" created="1479386183961" x="3160.686" y="444.21875" width="1.7087402" height="108.03125" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa48b8542b</URIString> <point1 x="3161.8948" y="444.71875"/> <point2 x="3161.186" y="551.75"/> <ID1 xsi:type="node">363</ID1> <ID2 xsi:type="node">380</ID2> </child> <child ID="387" label="Problem: these operations need to explicitly specify the possible types
for the auto-insertion, it's okay (we know them statically), but for user code it's a bit too verbose" layerID="1" created="1479387124402" x="3501.6375" y="581.24475" width="645.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/725bf583c0a8002633539faa15a27783</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="390" layerID="1" created="1479387136326" x="3302.6375" y="601.39746" width="199.5" height="2.017212" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/725bf583c0a8002633539faa21ba73d6</URIString> <point1 x="3303.1375" y="602.9147"/> <point2 x="3501.6375" y="601.89746"/> <ID1 xsi:type="node">382</ID1> <ID2 xsi:type="node">387</ID2> </child> <child ID="395" label="Could we define some sort of "with" macro which just acts like cons, and leave the fusion of fields to be done outside of the graph?
It then becomes possible to combine the return type info with the input type info to limit the number of cases to handle" layerID="1" created="1479387466709" x="3503.6375" y="652.74475" width="870.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faafb0eb90d</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="396" layerID="1" created="1479387466711" x="3854.0645" y="618.74475" width="54.64673" height="34.5" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faa97a18d9d</URIString> <point1 x="3854.5642" y="619.24475"/> <point2 x="3908.211" y="652.74475"/> <ID1 xsi:type="node">387</ID1> <ID2 xsi:type="node">395</ID2> </child> <child ID="397" label="Polymorphic node types" layerID="1" created="1479387905581" x="1708.6375" y="727.74475" width="166.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#8AEE95</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faacd029888</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="398" layerID="1" created="1479387905582" x="1416.4615" y="565.2322" width="350.84326" height="163.01257" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faa2503ab0e</URIString> <point1 x="1416.9615" y="565.7322"/> <point2 x="1766.8048" y="727.74475"/> <ID1 xsi:type="node">6</ID1> <ID2 xsi:type="node">397</ID2> </child> <child ID="400" layerID="1" created="1479387927584" x="1792.5825" y="432.24463" width="117.076416" height="296.0005" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faaa932392e</URIString> <point1 x="1793.0825" y="727.7451"/> <point2 x="1909.1589" y="432.74463"/> <ID1 xsi:type="node">397</ID1> <ID2 xsi:type="node">357</ID2> <ctrlPoint0 x="1815.6375" y="548.24475" xsi:type="point"/> </child> <child ID="404" layerID="1" created="1479387967910" x="1801.7073" y="432.25" width="117.14758" height="295.99475" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa8f40befb</URIString> <point1 x="1918.3549" y="432.75"/> <point2 x="1802.2073" y="727.74475"/> <ID1 xsi:type="node">357</ID1> <ID2 xsi:type="node">397</ID2> <ctrlPoint0 x="1916.6375" y="603.24475" xsi:type="point"/> </child> <child ID="406" layerID="1" created="1479388021013" x="211.80775" y="717.66406" width="125.32594" height="337.5807" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa3cb33fdb</URIString> <point1 x="336.6337" y="718.16406"/> <point2 x="212.30775" y="1054.7448"/> <ID1 xsi:type="node">134</ID1> <ID2 xsi:type="node">293</ID2> <ctrlPoint0 x="337.63745" y="931.24475" xsi:type="point"/> </child> <child ID="408" layerID="1" created="1479388041109" x="-268.36255" y="679.2012" width="451.3379" height="201.54358" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa9a64a9f9</URIString> <point1 x="182.47534" y="679.7012"/> <point2 x="-267.86255" y="880.24475"/> <ID1 xsi:type="node">295</ID1> <ID2 xsi:type="node">291</ID2> <ctrlPoint0 x="179.63745" y="880.24475" xsi:type="point"/> </child> <child ID="409" layerID="1" created="1479388138737" x="1408.7244" y="1172.803" width="150.40967" height="45.793213" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faa2223c3fb</URIString> <point1 x="1409.2244" y="1173.303"/> <point2 x="1558.634" y="1218.0962"/> <ID1 xsi:type="node">25</ID1> <ID2 xsi:type="node">44</ID2> <ctrlPoint0 x="1464.6375" y="1218.2448" xsi:type="point"/> </child> <child ID="410" layerID="1" created="1479388143803" x="1399.9028" y="1172.803" width="119.48682" height="96.929565" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#000000</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faacb736715</URIString> <point1 x="1400.4028" y="1173.303"/> <point2 x="1518.8896" y="1269.2325"/> <ID1 xsi:type="node">25</ID1> <ID2 xsi:type="node">42</ID2> <ctrlPoint0 x="1444.6375" y="1268.2448" xsi:type="point"/> </child> <child ID="411" layerID="1" created="1479388189966" x="1296.6572" y="1172.803" width="93.310425" height="76.42578" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faad8be8121</URIString> <point1 x="1389.4677" y="1173.303"/> <point2 x="1297.1572" y="1248.7288"/> <ID1 xsi:type="node">25</ID1> <ID2 xsi:type="node">27</ID2> <ctrlPoint0 x="1352.6375" y="1249.2448" xsi:type="point"/> </child> <child ID="412" label="Already implemented for tagged structures,
should not be too hard to make it work for graphs" layerID="1" created="1479389260693" x="1793.6375" y="790.74475" width="338.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7279521dc0a8002633539faa9926c093</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="413" layerID="1" created="1479389260695" x="1819.031" y="750.24475" width="98.02136" height="41.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/7279521dc0a8002633539faa28480501</URIString> <point1 x="1819.531" y="750.74475"/> <point2 x="1916.5524" y="790.74475"/> <ID1 xsi:type="node">397</ID1> <ID2 xsi:type="node">412</ID2> </child> <child ID="414" label="1. record the fields added via node-with+, node-with! and node-with!!
2. The types which may have been added are therefore:
(difference input-types output-types) ∩ fields-mentionned-in-with*" layerID="1" created="1479390037236" x="3858.6375" y="740.74475" width="466.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7287a2ccc0a8002633539faa8697b9f3</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="415" layerID="1" created="1479390037237" x="3968.5771" y="690.24475" width="81.10449" height="51.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/7287a2ccc0a8002633539faa2c556ff8</URIString> <point1 x="3969.0771" y="690.74475"/> <point2 x="4049.1816" y="740.74475"/> <ID1 xsi:type="node">395</ID1> <ID2 xsi:type="node">414</ID2> </child> <child ID="416" label="This does not allowof mixing the explicit with* for structures and the node-with*" layerID="1" created="1479390248006" x="4378.6377" y="811.74475" width="526.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7288d8b8c0a8002633539faa3849d5b4</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="419" layerID="1" created="1479390353025" x="3301.897" y="514.24475" width="318.7273" height="85.60602" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/7289950ec0a8002633539faa78352364</URIString> <point1 x="3302.397" y="599.35077"/> <point2 x="3620.1243" y="514.74475"/> <ID1 xsi:type="node">382</ID1> <ID2 xsi:type="node">376</ID2> <ctrlPoint0 x="3397.6375" y="597.24475" xsi:type="point"/> </child> <child ID="420" label="Problem: the macro will only be accessible within the graph transformation's body
This issue also occurs with node creation functions too (but they are functions, so they can at least be passed around)" layerID="1" created="1479402724372" x="4412.6377" y="757.74475" width="801.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/734b04c1afd9d7675fea10f2925b4ae0</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="423" label="To pass the graph row tvar to other functions, make a new sort of ∀ (like for #:row),
and use (g-row-inst f g-row-var).
I doubt we could find a way to infer the graph row variable to pass in a feasible way.
We could override #%app to allow a more concise syntax, but that's it." layerID="1" created="1479403067621" x="3011.6375" y="763.24475" width="562.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FCDBD9</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7353a85bafd9d7675fea10f24895dc43</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="424" layerID="1" created="1479403607747" x="3076.5981" y="632.74475" width="171.85425" height="131.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/7353a85bafd9d7675fea10f2505e36aa</URIString> <point1 x="3077.0981" y="633.24475"/> <point2 x="3247.9524" y="763.24475"/> <ID1 xsi:type="node">383</ID1> <ID2 xsi:type="node">423</ID2> </child> <child ID="394" label="Won't handle gracefully the case of mappings returning nested nodes" layerID="1" created="1479387344773" x="3337.1375" y="716.74475" width="468.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FCDBD9</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faa75b6ba0c</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="425" layerID="1" created="1479403710634" x="3170.8987" y="673.24475" width="316.39014" height="44.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/7355c611afd9d7675fea10f2464a6ef0</URIString> <point1 x="3171.3987" y="673.74475"/> <point2 x="3486.7888" y="716.74475"/> <ID1 xsi:type="node">393</ID1> <ID2 xsi:type="node">394</ID2> </child> <child ID="426" layerID="1" created="1479404272403" x="4324.1377" y="769.8127" width="89.0" height="2.1586914" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/735e8357afd9d7675fea10f25dfdfc46</URIString> <point1 x="4324.6377" y="770.3127"/> <point2 x="4412.6377" y="771.4714"/> <ID1 xsi:type="node">414</ID1> <ID2 xsi:type="node">420</ID2> </child> <child ID="427" layerID="1" created="1479404290679" x="4103.9146" y="793.2446" width="275.22314" height="30.500122" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/735e8357afd9d7675fea10f2729a7e75</URIString> <point1 x="4104.4146" y="793.7446"/> <point2 x="4378.6377" y="823.24475"/> <ID1 xsi:type="node">414</ID1> <ID2 xsi:type="node">416</ID2> <ctrlPoint0 x="4118.6377" y="823.24475" xsi:type="point"/> </child> <child ID="428" label="Don't record the fields added. Instead, return a tagged structure with *only* the fields added, and stash aside the original.
We know what the original may be statically (one of the graph's nodes)." layerID="1" created="1479404327217" x="3520.6375" y="854.74475" width="818.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/73636845afd9d7675fea10f2a9ff2eca</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="430" layerID="1" created="1479404329622" x="3803.7974" y="690.24475" width="95.55615" height="165.0" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/73636845afd9d7675fea10f26ca61710</URIString> <point1 x="3898.8535" y="690.74475"/> <point2 x="3887.0615" y="854.74475"/> <ID1 xsi:type="node">395</ID1> <ID2 xsi:type="node">428</ID2> <ctrlPoint0 x="3715.6375" y="778.24475" xsi:type="point"/> </child> <child ID="431" label="Problem: what then should be the return type of the mapping?
(U (tagged tag all-fields …)
(tagged WITH extra-fields … (tagged tag original-fields))
Problem with that: it won't work with functional updates (i.e. it'll work only with+, not with!! nor with!)
because the with!! won't know what is the type of the tagged structure." layerID="1" created="1479404856705" x="3604.6375" y="923.74475" width="656.0" height="83.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/736a755dafd9d7675fea10f20c6acfd9</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="432" layerID="1" created="1479404856708" x="3929.7603" y="892.2422" width="2.0163574" height="32.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/736a755dafd9d7675fea10f2f958e7ad</URIString> <point1 x="3930.2605" y="892.7422"/> <point2 x="3931.2769" y="923.7422"/> <ID1 xsi:type="node">428</ID1> <ID2 xsi:type="node">431</ID2> </child> <child ID="433" label="Optionnally parameterize node types with an extra polymorphic type for the "row"
This poly type encapsulates the "extra" fields.
The return type of the mapping should indicate that the node has a "row" and which tvar to use
Statically, we can recognize that from the input, and perform the merge in an easy way" layerID="1" created="1479481584246" x="2273.6375" y="737.74475" width="635.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/77fa5631c0a83801659a3967307a2681</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="434" layerID="1" created="1479481584251" x="2664.9995" y="591.49475" width="319.77393" height="146.75" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/77fa5637c0a83801659a39672e53f0db</URIString> <point1 x="2984.2734" y="591.99475"/> <point2 x="2665.4995" y="737.74475"/> <ID1 xsi:type="node">378</ID1> <ID2 xsi:type="node">433</ID2> </child> <child ID="439" label="This does not however allow the use of "with" etc. without specifying the "main" fields" layerID="1" created="1479485975528" x="2316.6375" y="865.74475" width="566.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/784b6258c0a83801659a396706b41c0d</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="440" layerID="1" created="1479485975532" x="2593.377" y="805.2422" width="5.8342285" height="61.001953" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a3967a5919df0</URIString> <point1 x="2593.8767" y="805.7422"/> <point2 x="2598.711" y="865.74414"/> <ID1 xsi:type="node">433</ID1> <ID2 xsi:type="node">439</ID2> </child> <child ID="443" label="More solutions" layerID="1" created="1479486767440" x="3081.6375" y="272.74475" width="110.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a396709970398</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="444" layerID="1" created="1479486767449" x="3138.0928" y="295.24414" width="22.423096" height="127.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a39670a45e1ce</URIString> <point1 x="3160.0156" y="421.74414"/> <point2 x="3138.5925" y="295.74414"/> <ID1 xsi:type="node">363</ID1> <ID2 xsi:type="node">443</ID2> </child> <child ID="445" label="Cheapy trivial tracking: use let-syntax on the inputs, so that we know their type" layerID="1" created="1479486772901" x="2382.6375" y="160.74475" width="527.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a3967733b628e</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="446" layerID="1" created="1479486772904" x="2696.001" y="183.24475" width="393.2898" height="90.57483" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a3967666d1aa4</URIString> <point1 x="3088.791" y="273.31958"/> <point2 x="2696.5012" y="183.74475"/> <ID1 xsi:type="node">443</ID1> <ID2 xsi:type="node">445</ID2> </child> <child ID="447" label="When the result is just a single node for which we know the type (but not the chain of with! etc.)
auto-create the node, filling each field via (get-field f result) || (get-field f (next result)) || …
and with! etc. only return a sort of pair with the new or overwritten fields in a tagged structure at the front, and the original in the rest" layerID="1" created="1479486800251" x="2542.6375" y="-37.25525" width="887.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a3967a167ad78</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="448" layerID="1" created="1479486800255" x="2999.1572" y="15.244629" width="132.11353" height="258.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a396755702e91</URIString> <point1 x="3130.7705" y="272.74463"/> <point2 x="2999.657" y="15.744629"/> <ID1 xsi:type="node">443</ID1> <ID2 xsi:type="node">447</ID2> </child> <child ID="451" label="Won't work for map etc, those will need an annotation" layerID="1" created="1479487002756" x="2460.6375" y="113.74475" width="364.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/784e56c5c0a83801659a39679b10ce32</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="452" layerID="1" created="1479487002761" x="2642.9941" y="136.2461" width="2.7871094" height="25.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a396764247fc5</URIString> <point1 x="2645.2812" y="160.7461"/> <point2 x="2643.4941" y="136.7461"/> <ID1 xsi:type="node">445</ID1> <ID2 xsi:type="node">451</ID2> </child> <child ID="455" label="Could work, we don't need to statically know the type for get-field/fallback" layerID="1" created="1479487076289" x="2798.6375" y="-182.25525" width="492.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a3967c532603f</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="456" layerID="1" created="1479487076302" x="2995.3267" y="-159.75537" width="45.6062" height="123.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a39678a19388f</URIString> <point1 x="2995.8267" y="-37.25537"/> <point2 x="3040.4329" y="-159.25537"/> <ID1 xsi:type="node">447</ID1> <ID2 xsi:type="node">455</ID2> </child> <child ID="457" label="but we must ensure that the return type is correct. How could we do that???" layerID="1" created="1479487132743" x="3060.6375" y="-137.25525" width="508.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/784e56d0c0a83801659a396759692c9e</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="458" layerID="1" created="1479487132747" x="3113.1375" y="-159.75525" width="133.0" height="23.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/784e56d0c0a83801659a3967b64162ba</URIString> <point1 x="3113.6375" y="-159.25525"/> <point2 x="3245.6375" y="-137.25525"/> <ID1 xsi:type="node">455</ID1> <ID2 xsi:type="node">457</ID2> </child> <child ID="463" label="Bind the result with let, letting it infer the type,
grab the fields with get-field/fallback
and only enforce the type on the result / on the individual fields" layerID="1" created="1479489493797" x="3379.6375" y="-105.25525" width="425.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/7872f6c7c0a83801659a3967b9244b5d</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="464" layerID="1" created="1479489493820" x="3382.0361" y="-114.75525" width="54.138428" height="10.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/7872f6c7c0a83801659a3967fb310cfc</URIString> <point1 x="3382.5364" y="-114.25525"/> <point2 x="3435.6748" y="-105.25525"/> <ID1 xsi:type="node">457</ID1> <ID2 xsi:type="node">463</ID2> </child> <child ID="465" label="Subtyping and recursive types with TR sometimes rejects valid subtyping relationships" layerID="1" created="1479489570917" x="1969.6375" y="479.74475" width="570.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/787577e6c0a83801659a3967e32a4328</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="466" layerID="1" created="1479489570921" x="1972.8401" y="432.17023" width="227.0697" height="48.074493" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a39671d0d1cc7</URIString> <point1 x="1973.3402" y="432.67023"/> <point2 x="2199.41" y="479.74472"/> <ID1 xsi:type="node">357</ID1> <ID2 xsi:type="node">465</ID2> </child> <child ID="467" label="Not so much of a problem,
because we don't use subtyping, we use *bounded* row polymorphism
so we always know the exact list of types allwed,
and don't really use the subtyping aside from (U alt₁ … altₙ)" layerID="1" created="1479489603603" x="2039.6375" y="536.74475" width="470.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a3967df77be38</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="468" layerID="1" created="1479489603606" x="2257.0305" y="502.24512" width="9.553711" height="35.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a39674bacedb2</URIString> <point1 x="2257.5305" y="502.74512"/> <point2 x="2266.0842" y="536.7451"/> <ID1 xsi:type="node">465</ID1> <ID2 xsi:type="node">467</ID2> </child> <child ID="471" label="Pb: a loop will loose type information, so we have to hardcode a few iterations of fetching ->next" layerID="1" created="1479493749797" x="3469.6375" y="-18.255249" width="647.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/78b501a5c0a83801659a39678e8cb2cd</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="472" layerID="1" created="1479493749799" x="3665.6167" y="-52.75525" width="95.916504" height="35.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a39673e57b5e0</URIString> <point1 x="3666.1167" y="-52.25525"/> <point2 x="3761.0332" y="-18.255249"/> <ID1 xsi:type="node">463</ID1> <ID2 xsi:type="node">471</ID2> </child> <child ID="473" label="To avoid a large code blowup, factor out the get-field which will be called in several places in a polymorphic function?" layerID="1" created="1479493833435" x="3405.6375" y="35.74475" width="773.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a396729606ba0</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="474" layerID="1" created="1479493833437" x="3791.8503" y="4.25" width="1.5742188" height="32.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a39679b169ce5</URIString> <point1 x="3792.9246" y="4.75"/> <point2 x="3792.3503" y="35.75"/> <ID1 xsi:type="node">471</ID1> <ID2 xsi:type="node">473</ID2> </child> <child ID="475" label="Must specify the node name or tag+fields in the with* forms, possibly with a "row" variable.
The node name should be concise enough that it's not too much of a pain to write it in a lot of places." layerID="1" created="1479493941528" x="3284.6375" y="211.74475" width="681.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/78b782c0c0a83801659a396727249705</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="477" layerID="1" created="1479494033735" x="3153.2751" y="232.3084" width="131.8623" height="40.936234" strokeWidth="1.0" autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/78b782c1c0a83801659a3967c215e1f3</URIString> <point1 x="3153.7751" y="272.74463"/> <point2 x="3284.6375" y="232.8084"/> <ID1 xsi:type="node">443</ID1> <ID2 xsi:type="node">475</ID2> <ctrlPoint0 x="3212.6375" y="233.24475" xsi:type="point"/> </child> <child ID="478" label="Detect all structure types which are present as inputs or outputs (or within the mapping?)
and use that information to make a large case handling" layerID="1" created="1479494059762" x="3265.6375" y="266.74475" width="598.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a396797741710</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="479" layerID="1" created="1479494059763" x="3191.1375" y="283.9375" width="75.0" height="1.2593689" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a39678b01ea9d</URIString> <point1 x="3191.6375" y="284.4375"/> <point2 x="3265.6375" y="284.69687"/> <ID1 xsi:type="node">443</ID1> <ID2 xsi:type="node">478</ID2> </child> <child ID="482" label="Pb: rather costly (code size)" layerID="1" created="1479494147236" x="3378.6375" y="316.74475" width="196.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a39670e4489d6</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="483" layerID="1" created="1479494147238" x="3499.9492" y="304.24475" width="25.847168" height="13.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396776a928b8</URIString> <point1 x="3525.2964" y="304.74475"/> <point2 x="3500.4492" y="316.74475"/> <ID1 xsi:type="node">478</ID1> <ID2 xsi:type="node">482</ID2> </child> <child ID="484" label="Pb: we can't detect everything" layerID="1" created="1479494157560" x="3593.6375" y="316.74475" width="208.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396750c3a7da</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="485" layerID="1" created="1479494157562" x="3623.5964" y="304.24475" width="38.552734" height="13.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396707564963</URIString> <point1 x="3624.0964" y="304.74475"/> <point2 x="3661.6492" y="316.74475"/> <ID1 xsi:type="node">478</ID1> <ID2 xsi:type="node">484</ID2> </child> <child ID="488" label="Since we don't need occurrence typing for incomplete nodes,
can we use the representation as a case→ ?" layerID="1" created="1479494214687" x="3106.6375" y="109.74475" width="410.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#F2AE45</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/78ba99b9c0a83801659a396792c09d82</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="489" layerID="1" created="1479494214689" x="3149.0796" y="147.24463" width="141.67554" height="126.0" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/78ba99b9c0a83801659a396789c84846</URIString> <point1 x="3149.5796" y="272.74463"/> <point2 x="3290.2551" y="147.74463"/> <ID1 xsi:type="node">443</ID1> <ID2 xsi:type="node">488</ID2> </child> <child ID="490" label="Pb: I'm not sure we can type this correctly (perhaps relying heavily on inference?" layerID="1" created="1479494404441" x="3556.6375" y="113.74475" width="534.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> <fillColor>#FC938D</fillColor> <strokeColor>#776D6D</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-12</font> <URIString>http://vue.tufts.edu/rdf/resource/78bd72dec0a83801659a39679db74cd5</URIString> <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> </child> <child ID="491" layerID="1" created="1479494404443" x="3516.1377" y="126.5695" width="41.065674" height="1.2738876" strokeWidth="1.0" autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> <strokeColor>#404040</strokeColor> <textColor>#404040</textColor> <font>SansSerif-plain-11</font> <URIString>http://vue.tufts.edu/rdf/resource/78bd72dec0a83801659a3967f6f854cc</URIString> <point1 x="3516.6375" y="127.34339"/> <point2 x="3556.7031" y="127.0695"/> <ID1 xsi:type="node">488</ID1> <ID2 xsi:type="node">490</ID2> </child> <layer ID="1" label="Layer 1" created="1479309847607" x="0.0" y="0.0" width="1.4E-45" height="1.4E-45" strokeWidth="0.0" autoSized="false"> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b15c0a80026548592b8d2f3fee2</URIString> </layer> <userZoom>1.0</userZoom> <userOrigin x="-1573.3625" y="-232.75525"/> <presentationBackground>#FFFFFF</presentationBackground> <PathwayList currentPathway="0" revealerIndex="-1"> <pathway ID="0" label="Chemin sans nom" created="1479309847603" x="0.0" y="0.0" width="1.4E-45" height="1.4E-45" strokeWidth="0.0" autoSized="false" currentIndex="0" open="true"> <strokeColor>#B3993333</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-14</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b16c0a80026548592b8204729d3</URIString> <masterSlide ID="2" created="1479309847623" x="0.0" y="0.0" width="800.0" height="600.0" locked="true" strokeWidth="0.0" autoSized="false"> <fillColor>#000000</fillColor> <strokeColor>#404040</strokeColor> <textColor>#000000</textColor> <font>SansSerif-plain-14</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b16c0a80026548592b817230376</URIString> <titleStyle ID="3" label="Header" created="1479309850047" x="329.0" y="174.5" width="142.0" height="51.0" strokeWidth="0.0" autoSized="true" isStyle="true" xsi:type="node"> <strokeColor>#404040</strokeColor> <textColor>#FFFFFF</textColor> <font>Gill Sans-plain-36</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b17c0a80026548592b88a8fba25</URIString> <shape xsi:type="rectangle"/> </titleStyle> <textStyle ID="4" label="Slide Text" created="1479309850048" x="340.0" y="282.5" width="120.0" height="35.0" strokeWidth="0.0" autoSized="true" isStyle="true" xsi:type="node"> <strokeColor>#404040</strokeColor> <textColor>#FFFFFF</textColor> <font>Gill Sans-plain-22</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b17c0a80026548592b8c426a9c8</URIString> <shape xsi:type="rectangle"/> </textStyle> <linkStyle ID="5" label="Links" created="1479309850107" x="372.5" y="385.0" width="55.0" height="30.0" strokeWidth="0.0" autoSized="true" isStyle="true" xsi:type="node"> <strokeColor>#404040</strokeColor> <textColor>#B3BFE3</textColor> <font>Gill Sans-plain-18</font> <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b18c0a80026548592b8ea0d19d7</URIString> <shape xsi:type="rectangle"/> </linkStyle> </masterSlide> </pathway> </PathwayList> <date>2016-11-16</date> <modelVersion>6</modelVersion> <saveLocation>/home/georges/phc/racket-packages/phc-graph</saveLocation> <saveFile>/home/georges/phc/racket-packages/phc-graph/Graph-notes-copy2.vue</saveFile> </LW-MAP>