Graph-notes-copy2.vue (216031B)
1 <!-- Tufts VUE 3.3.0 concept-map (Graph-notes-copy2.vue) 2017-04-11 --> 2 <!-- Tufts VUE: http://vue.tufts.edu/ --> 3 <!-- Do Not Remove: VUE mapping @version(1.1) jar:file:/nix/store/z92y35qgs6g3cvvh0i4f14mg5n47zvvi-vue-3.3.0/share/vue/vue.jar!/tufts/vue/resources/lw_mapping_1_1.xml --> 4 <!-- Do Not Remove: Saved date Tue Apr 11 14:04:44 CEST 2017 by Suzanne Soy on platform Linux 4.4.40 in JVM 1.8.0_122-04 --> 5 <!-- 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) --> 6 <?xml version="1.0" encoding="US-ASCII"?> 7 <LW-MAP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 8 xsi:noNamespaceSchemaLocation="none" ID="0" 9 label="Graph-notes-copy2.vue" created="1479309847604" x="0.0" 10 y="0.0" width="1.4E-45" height="1.4E-45" strokeWidth="0.0" autoSized="false"> 11 <resource referenceCreated="1491912284366" size="216026" 12 spec="/home/suzanne/phc/racket-packages/phc-graph/Graph-notes-copy2.vue" 13 type="1" xsi:type="URLResource"> 14 <title>Graph-notes-copy2.vue</title> 15 <property key="File" value="/home/suzanne/phc/racket-packages/phc-graph/Graph-notes-copy2.vue"/> 16 </resource> 17 <fillColor>#FFFFFF</fillColor> 18 <strokeColor>#404040</strokeColor> 19 <textColor>#000000</textColor> 20 <font>SansSerif-plain-14</font> 21 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6af7c0a80026548592b8dffca40a</URIString> 22 <child ID="6" label="Graph" layerID="1" created="1479309863303" 23 x="1370.5449" y="544.5457" width="51.0" height="23.0" 24 strokeWidth="1.0" autoSized="true" xsi:type="node"> 25 <fillColor>#F2AE45</fillColor> 26 <strokeColor>#776D6D</strokeColor> 27 <textColor>#000000</textColor> 28 <font>SansSerif-plain-12</font> 29 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6afcc0a80026548592b833e3a781</URIString> 30 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 31 </child> 32 <child ID="7" label="Auto-generation of mappings" layerID="1" 33 created="1479309887096" x="1577.3673" y="857.9207" width="203.0" 34 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 35 <fillColor>#8AEE95</fillColor> 36 <strokeColor>#776D6D</strokeColor> 37 <textColor>#000000</textColor> 38 <font>SansSerif-plain-12</font> 39 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6afec0a80026548592b88abb8384</URIString> 40 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 41 </child> 42 <child ID="8" layerID="1" created="1479309887097" x="1405.9238" 43 y="567.04584" width="263.0647" height="291.37488" 44 strokeWidth="1.0" autoSized="false" controlCount="0" 45 arrowState="2" xsi:type="link"> 46 <strokeColor>#404040</strokeColor> 47 <textColor>#404040</textColor> 48 <font>SansSerif-plain-11</font> 49 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6affc0a80026548592b80b4ee7cc</URIString> 50 <point1 x="1406.4238" y="567.54584"/> 51 <point2 x="1668.4885" y="857.9207"/> 52 <ID1 xsi:type="node">6</ID1> 53 <ID2 xsi:type="node">7</ID2> 54 </child> 55 <child ID="11" label="Structural equality" layerID="1" 56 created="1479309904736" x="1330.5449" y="934.30304" 57 width="129.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 58 <fillColor>#8AEE95</fillColor> 59 <strokeColor>#776D6D</strokeColor> 60 <textColor>#000000</textColor> 61 <font>SansSerif-plain-12</font> 62 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b03c0a80026548592b81914701e</URIString> 63 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 64 </child> 65 <child ID="12" layerID="1" created="1479309904738" x="1394.5743" 66 y="567.0625" width="1.9411621" height="367.75" strokeWidth="1.0" 67 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 68 <strokeColor>#404040</strokeColor> 69 <textColor>#404040</textColor> 70 <font>SansSerif-plain-11</font> 71 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b04c0a80026548592b8c27d0837</URIString> 72 <point1 x="1396.0155" y="567.5625"/> 73 <point2 x="1395.0743" y="934.3125"/> 74 <ID1 xsi:type="node">6</ID1> 75 <ID2 xsi:type="node">11</ID2> 76 </child> 77 <child ID="13" label="Invariants" layerID="1" 78 created="1479309905789" x="876.0447" y="543.5457" width="75.0" 79 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 80 <fillColor>#8AEE95</fillColor> 81 <strokeColor>#776D6D</strokeColor> 82 <textColor>#000000</textColor> 83 <font>SansSerif-plain-12</font> 84 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b05c0a80026548592b80343782b</URIString> 85 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 86 </child> 87 <child ID="14" layerID="1" created="1479309905791" x="950.5447" 88 y="554.6234" width="420.50024" height="1.8694458" 89 strokeWidth="1.0" autoSized="false" controlCount="0" 90 arrowState="2" xsi:type="link"> 91 <strokeColor>#404040</strokeColor> 92 <textColor>#404040</textColor> 93 <font>SansSerif-plain-11</font> 94 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b06c0a80026548592b870fb7c6a</URIString> 95 <point1 x="1370.5449" y="555.99286"/> 96 <point2 x="951.0447" y="555.1234"/> 97 <ID1 xsi:type="node">6</ID1> 98 <ID2 xsi:type="node">13</ID2> 99 </child> 100 <child ID="15" label="Other" layerID="1" created="1479309906604" 101 x="1372.0449" y="409.30307" width="48.0" height="23.0" 102 strokeWidth="1.0" autoSized="true" xsi:type="node"> 103 <fillColor>#F2AE45</fillColor> 104 <strokeColor>#776D6D</strokeColor> 105 <textColor>#000000</textColor> 106 <font>SansSerif-plain-12</font> 107 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b07c0a80026548592b8f5e19e10</URIString> 108 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 109 </child> 110 <child ID="16" layerID="1" created="1479309906606" x="1395.5449" 111 y="431.80304" width="1.0" height="113.242645" strokeWidth="1.0" 112 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 113 <strokeColor>#404040</strokeColor> 114 <textColor>#404040</textColor> 115 <font>SansSerif-plain-11</font> 116 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b08c0a80026548592b840ee8fa0</URIString> 117 <point1 x="1396.0449" y="544.5457"/> 118 <point2 x="1396.0449" y="432.30307"/> 119 <ID1 xsi:type="node">6</ID1> 120 <ID2 xsi:type="node">15</ID2> 121 </child> 122 <child ID="17" label="Scope" layerID="1" created="1479309922342" 123 x="569.125" y="397.36423" width="52.0" height="23.0" 124 strokeWidth="1.0" autoSized="true" xsi:type="node"> 125 <fillColor>#F2AE45</fillColor> 126 <strokeColor>#776D6D</strokeColor> 127 <textColor>#000000</textColor> 128 <font>SansSerif-plain-12</font> 129 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b09c0a80026548592b8217a1807</URIString> 130 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 131 </child> 132 <child ID="18" layerID="1" created="1479309922344" x="615.9132" 133 y="418.13733" width="273.0816" height="125.90839" 134 strokeWidth="1.0" autoSized="false" controlCount="0" 135 arrowState="2" xsi:type="link"> 136 <strokeColor>#404040</strokeColor> 137 <textColor>#404040</textColor> 138 <font>SansSerif-plain-11</font> 139 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b09c0a80026548592b8dfab693e</URIString> 140 <point1 x="888.4948" y="543.5457"/> 141 <point2 x="616.4132" y="418.63733"/> 142 <ID1 xsi:type="node">13</ID1> 143 <ID2 xsi:type="node">17</ID2> 144 </child> 145 <child ID="19" label="Verification time" layerID="1" 146 created="1479309923132" x="543.125" y="529.5457" width="116.0" 147 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 148 <fillColor>#F2AE45</fillColor> 149 <strokeColor>#776D6D</strokeColor> 150 <textColor>#000000</textColor> 151 <font>SansSerif-plain-12</font> 152 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b0ac0a80026548592b87ee8d14b</URIString> 153 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 154 </child> 155 <child ID="20" layerID="1" created="1479309923134" x="658.40515" 156 y="543.1349" width="218.1756" height="10.731995" 157 strokeWidth="1.0" autoSized="false" controlCount="0" 158 arrowState="2" xsi:type="link"> 159 <strokeColor>#404040</strokeColor> 160 <textColor>#404040</textColor> 161 <font>SansSerif-plain-11</font> 162 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b11c0a80026548592b89f9e9272</URIString> 163 <point1 x="876.08075" y="553.3669"/> 164 <point2 x="658.90515" y="543.6349"/> 165 <ID1 xsi:type="node">13</ID1> 166 <ID2 xsi:type="node">19</ID2> 167 </child> 168 <child ID="21" label="Specification" layerID="1" 169 created="1479309923917" x="551.625" y="677.8775" width="94.0" 170 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 171 <fillColor>#F2AE45</fillColor> 172 <strokeColor>#776D6D</strokeColor> 173 <textColor>#000000</textColor> 174 <font>SansSerif-plain-12</font> 175 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b12c0a80026548592b83be06baa</URIString> 176 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 177 </child> 178 <child ID="22" layerID="1" created="1479309923919" x="625.085" 179 y="566.0457" width="261.99976" height="112.33179" 180 strokeWidth="1.0" autoSized="false" controlCount="0" 181 arrowState="2" xsi:type="link"> 182 <strokeColor>#404040</strokeColor> 183 <textColor>#404040</textColor> 184 <font>SansSerif-plain-11</font> 185 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b13c0a80026548592b8f03d2a45</URIString> 186 <point1 x="886.5848" y="566.5457"/> 187 <point2 x="625.585" y="677.8775"/> 188 <ID1 xsi:type="node">13</ID1> 189 <ID2 xsi:type="node">21</ID2> 190 </child> 191 <child ID="23" label="Coloring" layerID="1" created="1479309940842" 192 x="1278.5449" y="66.30307" width="65.0" height="23.0" 193 strokeWidth="1.0" autoSized="true" xsi:type="node"> 194 <fillColor>#8AEE95</fillColor> 195 <strokeColor>#776D6D</strokeColor> 196 <textColor>#000000</textColor> 197 <font>SansSerif-plain-12</font> 198 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b14c0a80026548592b8bc35fbb9</URIString> 199 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 200 </child> 201 <child ID="24" layerID="1" created="1479309940844" x="1313.3948" 202 y="88.80322" width="80.30017" height="321.0" strokeWidth="1.0" 203 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 204 <strokeColor>#404040</strokeColor> 205 <textColor>#404040</textColor> 206 <font>SansSerif-plain-11</font> 207 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b14c0a80026548592b87410806e</URIString> 208 <point1 x="1393.1951" y="409.30322"/> 209 <point2 x="1313.8949" y="89.30322"/> 210 <ID1 xsi:type="node">15</ID1> 211 <ID2 xsi:type="node">23</ID2> 212 </child> 213 <child ID="25" label="Coalesce nodes which are equal?" layerID="1" 214 created="1479310031080" x="1278.0449" y="1150.303" width="234.0" 215 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 216 <fillColor>#F2AE45</fillColor> 217 <strokeColor>#776D6D</strokeColor> 218 <textColor>#000000</textColor> 219 <font>SansSerif-plain-12</font> 220 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a307c0a80026548592b8c2af76c4</URIString> 221 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 222 </child> 223 <child ID="26" layerID="1" created="1479310031081" x="1394.5449" 224 y="956.803" width="1.0" height="193.99994" strokeWidth="1.0" 225 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 226 <strokeColor>#404040</strokeColor> 227 <textColor>#404040</textColor> 228 <font>SansSerif-plain-11</font> 229 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a307c0a80026548592b8a04c0bf0</URIString> 230 <point1 x="1395.0449" y="957.30304"/> 231 <point2 x="1395.0449" y="1150.303"/> 232 <ID1 xsi:type="node">11</ID1> 233 <ID2 xsi:type="node">25</ID2> 234 </child> 235 <child ID="27" label="Hash consing" layerID="1" 236 created="1479310041195" x="1197.1572" y="1236.7637" 237 width="100.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 238 <fillColor>#F2AE45</fillColor> 239 <strokeColor>#776D6D</strokeColor> 240 <textColor>#000000</textColor> 241 <font>SansSerif-plain-12</font> 242 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a308c0a80026548592b8ff6b1596</URIString> 243 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 244 </child> 245 <child ID="29" 246 label="= deterministic finite automaton minimization
(when there are no unordered sets)" 247 layerID="1" created="1479310064475" x="1142.3567" y="1392.0576" 248 width="302.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 249 <fillColor>#F2AE45</fillColor> 250 <strokeColor>#776D6D</strokeColor> 251 <textColor>#000000</textColor> 252 <font>SansSerif-plain-12</font> 253 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a309c0a80026548592b84e893214</URIString> 254 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 255 </child> 256 <child ID="33" label="=" layerID="1" created="1479310109124" 257 x="1388.7559" y="1278.0215" width="22.0" height="23.0" 258 strokeWidth="1.0" autoSized="true" xsi:type="node"> 259 <fillColor>#F2AE45</fillColor> 260 <strokeColor>#776D6D</strokeColor> 261 <textColor>#000000</textColor> 262 <font>SansSerif-plain-12</font> 263 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30ac0a80026548592b8ea42a1af</URIString> 264 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 265 </child> 266 <child ID="34" layerID="1" created="1479310109126" x="1394.9691" 267 y="1172.8047" width="4.862549" height="105.71484" 268 strokeWidth="1.0" autoSized="false" controlCount="0" 269 arrowState="2" xsi:type="link"> 270 <strokeColor>#404040</strokeColor> 271 <textColor>#404040</textColor> 272 <font>SansSerif-plain-11</font> 273 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30ac0a80026548592b87117f4c4</URIString> 274 <point1 x="1395.4691" y="1173.3047"/> 275 <point2 x="1399.3317" y="1278.0195"/> 276 <ID1 xsi:type="node">25</ID1> 277 <ID2 xsi:type="node">33</ID2> 278 </child> 279 <child ID="35" layerID="1" created="1479310112683" x="1309.4902" 280 y="1297.833" width="83.05139" height="94.72461" 281 strokeWidth="1.0" autoSized="false" controlCount="0" 282 arrowState="2" xsi:type="link"> 283 <strokeColor>#404040</strokeColor> 284 <textColor>#404040</textColor> 285 <font>SansSerif-plain-11</font> 286 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30bc0a80026548592b83098fe4a</URIString> 287 <point1 x="1392.0416" y="1298.333"/> 288 <point2 x="1309.9902" y="1392.0576"/> 289 <ID1 xsi:type="node">33</ID1> 290 <ID2 xsi:type="node">29</ID2> 291 </child> 292 <child ID="36" 293 label="= nondeterministic finite automaton minimization
(when there are unordered sets)" 294 layerID="1" created="1479310130202" x="1468.7128" y="1390.0991" 295 width="327.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 296 <fillColor>#F2AE45</fillColor> 297 <strokeColor>#776D6D</strokeColor> 298 <textColor>#000000</textColor> 299 <font>SansSerif-plain-12</font> 300 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30bc0a80026548592b8e12add9f</URIString> 301 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 302 </child> 303 <child ID="37" layerID="1" created="1479310130203" x="1409.4954" 304 y="1294.2886" width="186.28186" height="96.310425" 305 strokeWidth="1.0" autoSized="false" controlCount="0" 306 arrowState="2" xsi:type="link"> 307 <strokeColor>#404040</strokeColor> 308 <textColor>#404040</textColor> 309 <font>SansSerif-plain-11</font> 310 <URIString>http://vue.tufts.edu/rdf/resource/6dc1a30cc0a80026548592b879e5ac96</URIString> 311 <point1 x="1409.9952" y="1294.7887"/> 312 <point2 x="1595.2771" y="1390.0991"/> 313 <ID1 xsi:type="node">33</ID1> 314 <ID2 xsi:type="node">36</ID2> 315 </child> 316 <child ID="42" 317 label="Cache all calls to equal? and equal-hash-code and equal-secondary-hash-code while grouping nodes" 318 layerID="1" created="1479310644302" x="1518.7698" y="1259.8262" 319 width="681.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 320 <fillColor>#F2AE45</fillColor> 321 <strokeColor>#776D6D</strokeColor> 322 <textColor>#000000</textColor> 323 <font>SansSerif-plain-12</font> 324 <URIString>http://vue.tufts.edu/rdf/resource/6dc99799c0a80026548592b87d2d4299</URIString> 325 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 326 </child> 327 <child ID="44" 328 label="Allows fast comparison of nodes within the same graph" 329 layerID="1" created="1479310691911" x="1558.634" y="1206.3013" 330 width="373.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 331 <fillColor>#F2AE45</fillColor> 332 <strokeColor>#776D6D</strokeColor> 333 <textColor>#000000</textColor> 334 <font>SansSerif-plain-12</font> 335 <URIString>http://vue.tufts.edu/rdf/resource/6dcae10dc0a80026548592b847b6398e</URIString> 336 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 337 </child> 338 <child ID="68" label="Type policy" layerID="1" 339 created="1479311229819" x="76.39288" y="224.19116" width="82.0" 340 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 341 <fillColor>#F2AE45</fillColor> 342 <strokeColor>#776D6D</strokeColor> 343 <textColor>#000000</textColor> 344 <font>SansSerif-plain-12</font> 345 <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd2c0a80026548592b8d3f60760</URIString> 346 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 347 </child> 348 <child ID="90" label="Macro policy" layerID="1" 349 created="1479311433081" x="-708.9739" y="-78.299225" 350 width="92.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 351 <fillColor>#F2AE45</fillColor> 352 <strokeColor>#776D6D</strokeColor> 353 <textColor>#000000</textColor> 354 <font>SansSerif-plain-12</font> 355 <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd4c0a80026548592b8697d13c4</URIString> 356 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 357 </child> 358 <child ID="103" label="/!\ May interfere with each other" 359 layerID="1" created="1479311599825" x="-744.9689" y="-214.25525" 360 width="221.0" height="23.0" strokeWidth="3.0" autoSized="true" xsi:type="node"> 361 <fillColor>#FEFEC9</fillColor> 362 <strokeColor>#EA2218</strokeColor> 363 <textColor>#000000</textColor> 364 <font>SansSerif-plain-12</font> 365 <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd5c0a80026548592b8ddb5b6c7</URIString> 366 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 367 </child> 368 <child ID="105" label="May alter a mapping's inputs" layerID="1" 369 created="1479311627089" x="-453.56888" y="-124.67706" 370 width="198.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 371 <fillColor>#F2AE45</fillColor> 372 <strokeColor>#776D6D</strokeColor> 373 <textColor>#000000</textColor> 374 <font>SansSerif-plain-12</font> 375 <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b853276e56</URIString> 376 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 377 </child> 378 <child ID="106" layerID="1" created="1479311627089" x="-619.121" 379 y="-102.17706" width="188.57895" height="29.208061" 380 strokeWidth="1.0" autoSized="false" controlCount="0" 381 arrowState="2" xsi:type="link"> 382 <strokeColor>#404040</strokeColor> 383 <textColor>#404040</textColor> 384 <font>SansSerif-plain-11</font> 385 <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b89262c338</URIString> 386 <point1 x="-618.621" y="-73.469"/> 387 <point2 x="-431.04202" y="-101.67706"/> 388 <ID1 xsi:type="node">90</ID1> 389 <ID2 xsi:type="node">105</ID2> 390 </child> 391 <child ID="107" 392 label="May wrap or check or alter a mapping's outputs" 393 layerID="1" created="1479311633861" x="-541.1206" y="-72.143234" 394 width="322.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 395 <fillColor>#F2AE45</fillColor> 396 <strokeColor>#776D6D</strokeColor> 397 <textColor>#000000</textColor> 398 <font>SansSerif-plain-12</font> 399 <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b8c817c8d9</URIString> 400 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 401 </child> 402 <child ID="108" layerID="1" created="1479311633863" x="-617.4739" 403 y="-66.298096" width="77.25604" height="2.6596298" 404 strokeWidth="1.0" autoSized="false" controlCount="0" 405 arrowState="2" xsi:type="link"> 406 <strokeColor>#404040</strokeColor> 407 <textColor>#404040</textColor> 408 <font>SansSerif-plain-11</font> 409 <URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b88ac312bd</URIString> 410 <point1 x="-616.9739" y="-65.79809"/> 411 <point2 x="-540.71783" y="-64.13846"/> 412 <ID1 xsi:type="node">90</ID1> 413 <ID2 xsi:type="node">107</ID2> 414 </child> 415 <child ID="109" label="Wrap with ann" layerID="1" 416 created="1479311725257" x="-139.36258" y="-92.783356" 417 width="102.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 418 <fillColor>#F2AE45</fillColor> 419 <strokeColor>#776D6D</strokeColor> 420 <textColor>#000000</textColor> 421 <font>SansSerif-plain-12</font> 422 <URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8416c8f4f</URIString> 423 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 424 </child> 425 <child ID="110" layerID="1" created="1479311725259" x="-226.62152" 426 y="-78.2051" width="88.17851" height="7.1673584" 427 strokeWidth="1.0" autoSized="false" controlCount="0" 428 arrowState="2" xsi:type="link"> 429 <strokeColor>#000000</strokeColor> 430 <textColor>#404040</textColor> 431 <font>SansSerif-plain-11</font> 432 <URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8d9e1112c</URIString> 433 <point1 x="-226.1215" y="-71.53774"/> 434 <point2 x="-138.943" y="-77.7051"/> 435 <ID1 xsi:type="node">107</ID1> 436 <ID2 xsi:type="node">109</ID2> 437 </child> 438 <child ID="134" label="Enforcement on the transform or creation" 439 layerID="1" created="1479312135902" x="194.57953" y="695.1646" 440 width="284.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 441 <fillColor>#F2AE45</fillColor> 442 <strokeColor>#000000</strokeColor> 443 <textColor>#000000</textColor> 444 <font>SansSerif-plain-12</font> 445 <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b83703e1b4</URIString> 446 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 447 </child> 448 <child ID="135" label=" " layerID="1" created="1479312135902" 449 x="68.89288" y="695.1646" width="97.0" height="23.0" 450 strokeWidth="1.0" autoSized="false" xsi:type="node"> 451 <fillColor>#C1F780</fillColor> 452 <strokeColor>#D0D0D0</strokeColor> 453 <textColor>#000000</textColor> 454 <font>SansSerif-plain-12</font> 455 <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b885daa51d</URIString> 456 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 457 </child> 458 <child ID="136" label=" " layerID="1" created="1479312135902" 459 x="-51.92047" y="695.1646" width="97.0" height="23.0" 460 strokeWidth="1.0" autoSized="false" xsi:type="node"> 461 <fillColor>#FFFFFF</fillColor> 462 <strokeColor>#D0D0D0</strokeColor> 463 <textColor>#000000</textColor> 464 <font>SansSerif-plain-12</font> 465 <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b88d7a52cf</URIString> 466 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 467 </child> 468 <child ID="137" label=" " layerID="1" created="1479312135902" 469 x="-178.92047" y="695.1646" width="97.0" height="23.0" 470 strokeWidth="1.0" autoSized="false" xsi:type="node"> 471 <fillColor>#FFFFFF</fillColor> 472 <strokeColor>#D0D0D0</strokeColor> 473 <textColor>#000000</textColor> 474 <font>SansSerif-plain-12</font> 475 <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b8fe262430</URIString> 476 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 477 </child> 478 <child ID="138" label=" " layerID="1" created="1479312135902" 479 x="-329.92047" y="694.3646" width="97.0" height="23.0" 480 strokeWidth="1.0" autoSized="false" xsi:type="node"> 481 <fillColor>#C1F780</fillColor> 482 <strokeColor>#D0D0D0</strokeColor> 483 <textColor>#000000</textColor> 484 <font>SansSerif-plain-12</font> 485 <URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b8ba0f1bbc</URIString> 486 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 487 </child> 488 <child ID="139" label=" " layerID="1" created="1479312135902" 489 x="-493.5517" y="695.96466" width="97.0" height="23.0" 490 strokeWidth="1.0" autoSized="false" xsi:type="node"> 491 <fillColor>#C1F780</fillColor> 492 <strokeColor>#D0D0D0</strokeColor> 493 <textColor>#000000</textColor> 494 <font>SansSerif-plain-12</font> 495 <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8ce56fcb8</URIString> 496 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 497 </child> 498 <child ID="140" label=" " layerID="1" created="1479312135902" 499 x="-862.1742" y="697.5647" width="97.0" height="23.0" 500 strokeWidth="1.0" autoSized="false" xsi:type="node"> 501 <fillColor>#C1F780</fillColor> 502 <strokeColor>#D0D0D0</strokeColor> 503 <textColor>#000000</textColor> 504 <font>SansSerif-plain-12</font> 505 <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b84c0668a9</URIString> 506 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 507 </child> 508 <child ID="142" label=" " layerID="1" created="1479312150155" 509 x="-993.41174" y="697.5647" width="97.0" height="23.0" 510 strokeWidth="1.0" autoSized="false" xsi:type="node"> 511 <fillColor>#C1F780</fillColor> 512 <strokeColor>#D0D0D0</strokeColor> 513 <textColor>#000000</textColor> 514 <font>SansSerif-plain-12</font> 515 <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b844ae0a4b</URIString> 516 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 517 </child> 518 <child ID="143" label="Invariants on the graph / node" layerID="1" 519 created="1479312150155" x="194.57953" y="656.1646" width="210.0" 520 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 521 <fillColor>#F2AE45</fillColor> 522 <strokeColor>#000000</strokeColor> 523 <textColor>#000000</textColor> 524 <font>SansSerif-plain-12</font> 525 <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8746d8906</URIString> 526 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 527 </child> 528 <child ID="144" label=" " layerID="1" created="1479312150155" 529 x="68.89288" y="656.1646" width="97.0" height="23.0" 530 strokeWidth="1.0" autoSized="false" xsi:type="node"> 531 <fillColor>#C1F780</fillColor> 532 <strokeColor>#D0D0D0</strokeColor> 533 <textColor>#000000</textColor> 534 <font>SansSerif-plain-12</font> 535 <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8eab64176</URIString> 536 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 537 </child> 538 <child ID="145" label=" " layerID="1" created="1479312150155" 539 x="-51.92047" y="656.1646" width="97.0" height="23.0" 540 strokeWidth="1.0" autoSized="false" xsi:type="node"> 541 <fillColor>#FFFFFF</fillColor> 542 <strokeColor>#D0D0D0</strokeColor> 543 <textColor>#000000</textColor> 544 <font>SansSerif-plain-12</font> 545 <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8e2b0179a</URIString> 546 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 547 </child> 548 <child ID="146" label=" " layerID="1" created="1479312150155" 549 x="-178.92047" y="656.1646" width="97.0" height="23.0" 550 strokeWidth="1.0" autoSized="false" xsi:type="node"> 551 <fillColor>#FFFFFF</fillColor> 552 <strokeColor>#D0D0D0</strokeColor> 553 <textColor>#000000</textColor> 554 <font>SansSerif-plain-12</font> 555 <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8f1e9514a</URIString> 556 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 557 </child> 558 <child ID="147" label=" " layerID="1" created="1479312150155" 559 x="-329.92047" y="655.3646" width="97.0" height="23.0" 560 strokeWidth="1.0" autoSized="false" xsi:type="node"> 561 <fillColor>#FFFFFF</fillColor> 562 <strokeColor>#D0D0D0</strokeColor> 563 <textColor>#000000</textColor> 564 <font>SansSerif-plain-12</font> 565 <URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8726ffcc1</URIString> 566 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 567 </child> 568 <child ID="148" label=" " layerID="1" created="1479312150155" 569 x="-493.5517" y="656.96466" width="97.0" height="23.0" 570 strokeWidth="1.0" autoSized="false" xsi:type="node"> 571 <fillColor>#C1F780</fillColor> 572 <strokeColor>#D0D0D0</strokeColor> 573 <textColor>#000000</textColor> 574 <font>SansSerif-plain-12</font> 575 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8ff3e3904</URIString> 576 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 577 </child> 578 <child ID="150" label=" " layerID="1" created="1479312155692" 579 x="-862.1742" y="658.5647" width="97.0" height="23.0" 580 strokeWidth="1.0" autoSized="false" xsi:type="node"> 581 <fillColor>#FFFFFF</fillColor> 582 <strokeColor>#D0D0D0</strokeColor> 583 <textColor>#000000</textColor> 584 <font>SansSerif-plain-12</font> 585 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8e43cd085</URIString> 586 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 587 </child> 588 <child ID="151" label=" " layerID="1" created="1479312155692" 589 x="-993.41174" y="658.5647" width="97.0" height="23.0" 590 strokeWidth="1.0" autoSized="false" xsi:type="node"> 591 <fillColor>#C1F780</fillColor> 592 <strokeColor>#D0D0D0</strokeColor> 593 <textColor>#000000</textColor> 594 <font>SansSerif-plain-12</font> 595 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b80a95f30b</URIString> 596 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 597 </child> 598 <child ID="152" label="Compile-time" layerID="1" 599 created="1479312155692" x="194.57953" y="588.27094" width="97.0" 600 height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 601 <fillColor>#F2AE45</fillColor> 602 <strokeColor>#000000</strokeColor> 603 <textColor>#000000</textColor> 604 <font>SansSerif-plain-12</font> 605 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8a738f623</URIString> 606 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 607 </child> 608 <child ID="153" label=" " layerID="1" created="1479312155692" 609 x="68.89288" y="588.27094" width="97.0" height="23.0" 610 strokeWidth="1.0" autoSized="false" xsi:type="node"> 611 <fillColor>#C1F780</fillColor> 612 <strokeColor>#D0D0D0</strokeColor> 613 <textColor>#000000</textColor> 614 <font>SansSerif-plain-12</font> 615 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b840e9de75</URIString> 616 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 617 </child> 618 <child ID="154" label=" " layerID="1" created="1479312155692" 619 x="-51.92047" y="588.27094" width="97.0" height="23.0" 620 strokeWidth="1.0" autoSized="false" xsi:type="node"> 621 <fillColor>#FFFFFF</fillColor> 622 <strokeColor>#D0D0D0</strokeColor> 623 <textColor>#000000</textColor> 624 <font>SansSerif-plain-12</font> 625 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b869523b7f</URIString> 626 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 627 </child> 628 <child ID="155" label=" " layerID="1" created="1479312155692" 629 x="-178.92047" y="588.27094" width="97.0" height="23.0" 630 strokeWidth="1.0" autoSized="false" xsi:type="node"> 631 <fillColor>#FFFFFF</fillColor> 632 <strokeColor>#D0D0D0</strokeColor> 633 <textColor>#000000</textColor> 634 <font>SansSerif-plain-12</font> 635 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b80ecff1d4</URIString> 636 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 637 </child> 638 <child ID="156" label=" " layerID="1" created="1479312155692" 639 x="-329.92047" y="587.47095" width="97.0" height="23.0" 640 strokeWidth="1.0" autoSized="false" xsi:type="node"> 641 <fillColor>#FFFFFF</fillColor> 642 <strokeColor>#D0D0D0</strokeColor> 643 <textColor>#000000</textColor> 644 <font>SansSerif-plain-12</font> 645 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8868c3bd4</URIString> 646 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 647 </child> 648 <child ID="158" label=" " layerID="1" created="1479312155692" 649 x="-493.5517" y="589.071" width="97.0" height="23.0" 650 strokeWidth="1.0" autoSized="false" xsi:type="node"> 651 <fillColor>#FFFFFF</fillColor> 652 <strokeColor>#D0D0D0</strokeColor> 653 <textColor>#000000</textColor> 654 <font>SansSerif-plain-12</font> 655 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8f1f2c034</URIString> 656 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 657 </child> 658 <child ID="159" label=" " layerID="1" created="1479312155692" 659 x="-862.1742" y="590.671" width="97.0" height="23.0" 660 strokeWidth="1.0" autoSized="false" xsi:type="node"> 661 <fillColor>#C1F780</fillColor> 662 <strokeColor>#D0D0D0</strokeColor> 663 <textColor>#000000</textColor> 664 <font>SansSerif-plain-12</font> 665 <URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b81f88086b</URIString> 666 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 667 </child> 668 <child ID="160" label=" " layerID="1" created="1479312155692" 669 x="-993.41174" y="590.671" width="97.0" height="23.0" 670 strokeWidth="1.0" autoSized="false" xsi:type="node"> 671 <fillColor>#C1F780</fillColor> 672 <strokeColor>#D0D0D0</strokeColor> 673 <textColor>#000000</textColor> 674 <font>SansSerif-plain-12</font> 675 <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8a06db952</URIString> 676 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 677 </child> 678 <child ID="161" label="Run-time" layerID="1" created="1479312155692" 679 x="194.57953" y="549.27106" width="97.0" height="23.0" 680 strokeWidth="1.0" autoSized="false" xsi:type="node"> 681 <fillColor>#F2AE45</fillColor> 682 <strokeColor>#000000</strokeColor> 683 <textColor>#000000</textColor> 684 <font>SansSerif-plain-12</font> 685 <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b84247db44</URIString> 686 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 687 </child> 688 <child ID="162" label=" " layerID="1" created="1479312155692" 689 x="68.89288" y="549.27106" width="97.0" height="23.0" 690 strokeWidth="1.0" autoSized="false" xsi:type="node"> 691 <fillColor>#FFFFFF</fillColor> 692 <strokeColor>#D0D0D0</strokeColor> 693 <textColor>#000000</textColor> 694 <font>SansSerif-plain-12</font> 695 <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b80183cc60</URIString> 696 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 697 </child> 698 <child ID="163" label=" " layerID="1" created="1479312155692" 699 x="-51.92047" y="549.27106" width="97.0" height="23.0" 700 strokeWidth="1.0" autoSized="false" xsi:type="node"> 701 <fillColor>#FFFFFF</fillColor> 702 <strokeColor>#D0D0D0</strokeColor> 703 <textColor>#000000</textColor> 704 <font>SansSerif-plain-12</font> 705 <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8a53213f5</URIString> 706 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 707 </child> 708 <child ID="164" label=" " layerID="1" created="1479312155692" 709 x="-178.92047" y="549.27106" width="97.0" height="23.0" 710 strokeWidth="1.0" autoSized="false" xsi:type="node"> 711 <fillColor>#FFFFFF</fillColor> 712 <strokeColor>#D0D0D0</strokeColor> 713 <textColor>#000000</textColor> 714 <font>SansSerif-plain-12</font> 715 <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b88fe1f15c</URIString> 716 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 717 </child> 718 <child ID="166" label=" " layerID="1" created="1479312165108" 719 x="-329.92047" y="548.47107" width="97.0" height="23.0" 720 strokeWidth="1.0" autoSized="false" xsi:type="node"> 721 <fillColor>#C1F780</fillColor> 722 <strokeColor>#D0D0D0</strokeColor> 723 <textColor>#000000</textColor> 724 <font>SansSerif-plain-12</font> 725 <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b804a1a9ba</URIString> 726 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 727 </child> 728 <child ID="167" label=" " layerID="1" created="1479312165108" 729 x="-493.5517" y="550.0711" width="97.0" height="23.0" 730 strokeWidth="1.0" autoSized="false" xsi:type="node"> 731 <fillColor>#C1F780</fillColor> 732 <strokeColor>#D0D0D0</strokeColor> 733 <textColor>#000000</textColor> 734 <font>SansSerif-plain-12</font> 735 <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8ad21ad51</URIString> 736 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 737 </child> 738 <child ID="168" label=" " layerID="1" created="1479312165108" 739 x="-862.1742" y="551.67114" width="97.0" height="23.0" 740 strokeWidth="1.0" autoSized="false" xsi:type="node"> 741 <fillColor>#FFFFFF</fillColor> 742 <strokeColor>#D0D0D0</strokeColor> 743 <textColor>#000000</textColor> 744 <font>SansSerif-plain-12</font> 745 <URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8f7cab75e</URIString> 746 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 747 </child> 748 <child ID="169" label=" " layerID="1" created="1479312165108" 749 x="-993.41174" y="551.67114" width="97.0" height="23.0" 750 strokeWidth="1.0" autoSized="false" xsi:type="node"> 751 <fillColor>#FFFFFF</fillColor> 752 <strokeColor>#D0D0D0</strokeColor> 753 <textColor>#000000</textColor> 754 <font>SansSerif-plain-12</font> 755 <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b824a5ea38</URIString> 756 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 757 </child> 758 <child ID="170" label="Transformation" layerID="1" 759 created="1479312165108" x="194.57953" y="475.32404" 760 width="139.0" height="46.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> 761 <fillColor>#F2AE45</fillColor> 762 <strokeColor>#000000</strokeColor> 763 <textColor>#000000</textColor> 764 <font>SansSerif-plain-12</font> 765 <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8fcd64fad</URIString> 766 <child ID="52" label="Like ->i" created="1479310857171" x="34.0" 767 y="23.0" width="59.0" height="23.0" strokeWidth="1.0" 768 autoSized="true" xsi:type="node"> 769 <fillColor>#FFC63B</fillColor> 770 <strokeColor>#776D6D</strokeColor> 771 <textColor>#000000</textColor> 772 <font>SansSerif-plain-12</font> 773 <URIString>http://vue.tufts.edu/rdf/resource/6dcc935cc0a80026548592b89128dae1</URIString> 774 <shape xsi:type="rectangle"/> 775 </child> 776 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 777 </child> 778 <child ID="171" label=" " layerID="1" created="1479312165108" 779 x="68.89288" y="475.32404" width="97.0" height="23.0" 780 strokeWidth="1.0" autoSized="false" xsi:type="node"> 781 <fillColor>#FFFFFF</fillColor> 782 <strokeColor>#D0D0D0</strokeColor> 783 <textColor>#000000</textColor> 784 <font>SansSerif-plain-12</font> 785 <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8414a595b</URIString> 786 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 787 </child> 788 <child ID="172" label=" " layerID="1" created="1479312165108" 789 x="-51.92047" y="475.32404" width="97.0" height="23.0" 790 strokeWidth="1.0" autoSized="false" xsi:type="node"> 791 <fillColor>#FFFFFF</fillColor> 792 <strokeColor>#D0D0D0</strokeColor> 793 <textColor>#000000</textColor> 794 <font>SansSerif-plain-12</font> 795 <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8e07930e9</URIString> 796 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 797 </child> 798 <child ID="174" label=" " layerID="1" created="1479312165108" 799 x="-178.92047" y="475.32404" width="97.0" height="23.0" 800 strokeWidth="1.0" autoSized="false" xsi:type="node"> 801 <fillColor>#FFFFFF</fillColor> 802 <strokeColor>#D0D0D0</strokeColor> 803 <textColor>#000000</textColor> 804 <font>SansSerif-plain-12</font> 805 <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b861833437</URIString> 806 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 807 </child> 808 <child ID="175" label=" " layerID="1" created="1479312165108" 809 x="-329.92047" y="474.52405" width="97.0" height="23.0" 810 strokeWidth="1.0" autoSized="false" xsi:type="node"> 811 <fillColor>#C1F780</fillColor> 812 <strokeColor>#D0D0D0</strokeColor> 813 <textColor>#000000</textColor> 814 <font>SansSerif-plain-12</font> 815 <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b82804bc71</URIString> 816 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 817 </child> 818 <child ID="176" label=" " layerID="1" created="1479312165108" 819 x="-493.5517" y="476.12408" width="97.0" height="23.0" 820 strokeWidth="1.0" autoSized="false" xsi:type="node"> 821 <fillColor>#FFFFFF</fillColor> 822 <strokeColor>#D0D0D0</strokeColor> 823 <textColor>#000000</textColor> 824 <font>SansSerif-plain-12</font> 825 <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b80db43a99</URIString> 826 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 827 </child> 828 <child ID="177" label=" " layerID="1" created="1479312165108" 829 x="-862.1742" y="477.72412" width="97.0" height="23.0" 830 strokeWidth="1.0" autoSized="false" xsi:type="node"> 831 <fillColor>#FFFFFF</fillColor> 832 <strokeColor>#D0D0D0</strokeColor> 833 <textColor>#000000</textColor> 834 <font>SansSerif-plain-12</font> 835 <URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b86a9bcf32</URIString> 836 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 837 </child> 838 <child ID="178" label=" " layerID="1" created="1479312165108" 839 x="-993.41174" y="477.72412" width="97.0" height="23.0" 840 strokeWidth="1.0" autoSized="false" xsi:type="node"> 841 <fillColor>#FFFFFF</fillColor> 842 <strokeColor>#D0D0D0</strokeColor> 843 <textColor>#000000</textColor> 844 <font>SansSerif-plain-12</font> 845 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b82c6a1147</URIString> 846 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 847 </child> 848 <child ID="179" label="Output" layerID="1" created="1479312165108" 849 x="194.57953" y="436.72406" width="97.0" height="23.0" 850 strokeWidth="1.0" autoSized="false" xsi:type="node"> 851 <fillColor>#F2AE45</fillColor> 852 <strokeColor>#000000</strokeColor> 853 <textColor>#000000</textColor> 854 <font>SansSerif-plain-12</font> 855 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b88c7132d7</URIString> 856 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 857 </child> 858 <child ID="180" label=" " layerID="1" created="1479312165108" 859 x="68.89288" y="436.72406" width="97.0" height="23.0" 860 strokeWidth="1.0" autoSized="false" xsi:type="node"> 861 <fillColor>#C1F780</fillColor> 862 <strokeColor>#D0D0D0</strokeColor> 863 <textColor>#000000</textColor> 864 <font>SansSerif-plain-12</font> 865 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b82856a3fe</URIString> 866 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 867 </child> 868 <child ID="182" label=" " layerID="1" created="1479312165108" 869 x="-51.92047" y="436.72406" width="97.0" height="23.0" 870 strokeWidth="1.0" autoSized="false" xsi:type="node"> 871 <fillColor>#FFFFFF</fillColor> 872 <strokeColor>#D0D0D0</strokeColor> 873 <textColor>#000000</textColor> 874 <font>SansSerif-plain-12</font> 875 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8125e3add</URIString> 876 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 877 </child> 878 <child ID="183" label=" " layerID="1" created="1479312165108" 879 x="-178.92047" y="436.72406" width="97.0" height="23.0" 880 strokeWidth="1.0" autoSized="false" xsi:type="node"> 881 <fillColor>#FFFFFF</fillColor> 882 <strokeColor>#D0D0D0</strokeColor> 883 <textColor>#000000</textColor> 884 <font>SansSerif-plain-12</font> 885 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8242976ae</URIString> 886 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 887 </child> 888 <child ID="184" label=" " layerID="1" created="1479312165108" 889 x="-329.92047" y="435.92407" width="97.0" height="23.0" 890 strokeWidth="1.0" autoSized="false" xsi:type="node"> 891 <fillColor>#FFFFFF</fillColor> 892 <strokeColor>#D0D0D0</strokeColor> 893 <textColor>#000000</textColor> 894 <font>SansSerif-plain-12</font> 895 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8700f0c58</URIString> 896 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 897 </child> 898 <child ID="185" label=" " layerID="1" created="1479312165108" 899 x="-493.5517" y="437.5241" width="97.0" height="23.0" 900 strokeWidth="1.0" autoSized="false" xsi:type="node"> 901 <fillColor>#C1F780</fillColor> 902 <strokeColor>#D0D0D0</strokeColor> 903 <textColor>#000000</textColor> 904 <font>SansSerif-plain-12</font> 905 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b888f9f0fc</URIString> 906 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 907 </child> 908 <child ID="186" label=" " layerID="1" created="1479312165108" 909 x="-862.1742" y="439.12415" width="97.0" height="23.0" 910 strokeWidth="1.0" autoSized="false" xsi:type="node"> 911 <fillColor>#C1F780</fillColor> 912 <strokeColor>#D0D0D0</strokeColor> 913 <textColor>#000000</textColor> 914 <font>SansSerif-plain-12</font> 915 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b829d22ddb</URIString> 916 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 917 </child> 918 <child ID="187" label=" " layerID="1" created="1479312165108" 919 x="-993.41174" y="439.12415" width="97.0" height="23.0" 920 strokeWidth="1.0" autoSized="false" xsi:type="node"> 921 <fillColor>#C1F780</fillColor> 922 <strokeColor>#D0D0D0</strokeColor> 923 <textColor>#000000</textColor> 924 <font>SansSerif-plain-12</font> 925 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8fb44d733</URIString> 926 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 927 </child> 928 <child ID="188" label="Input" layerID="1" created="1479312165108" 929 x="194.57953" y="397.724" width="97.0" height="23.0" 930 strokeWidth="1.0" autoSized="false" xsi:type="node"> 931 <fillColor>#F2AE45</fillColor> 932 <strokeColor>#000000</strokeColor> 933 <textColor>#000000</textColor> 934 <font>SansSerif-plain-12</font> 935 <URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8010e8b83</URIString> 936 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 937 </child> 938 <child ID="190" label=" " layerID="1" created="1479312165108" 939 x="68.89288" y="397.724" width="97.0" height="23.0" 940 strokeWidth="1.0" autoSized="false" xsi:type="node"> 941 <fillColor>#C1F780</fillColor> 942 <strokeColor>#D0D0D0</strokeColor> 943 <textColor>#000000</textColor> 944 <font>SansSerif-plain-12</font> 945 <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8b07192d1</URIString> 946 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 947 </child> 948 <child ID="191" label=" " layerID="1" created="1479312165108" 949 x="-51.92047" y="397.724" width="97.0" height="23.0" 950 strokeWidth="1.0" autoSized="false" xsi:type="node"> 951 <fillColor>#FFFFFF</fillColor> 952 <strokeColor>#D0D0D0</strokeColor> 953 <textColor>#000000</textColor> 954 <font>SansSerif-plain-12</font> 955 <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b85d8d2676</URIString> 956 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 957 </child> 958 <child ID="192" label=" " layerID="1" created="1479312165108" 959 x="-178.92047" y="397.724" width="97.0" height="23.0" 960 strokeWidth="1.0" autoSized="false" xsi:type="node"> 961 <fillColor>#FFFFFF</fillColor> 962 <strokeColor>#D0D0D0</strokeColor> 963 <textColor>#000000</textColor> 964 <font>SansSerif-plain-12</font> 965 <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b818309ef9</URIString> 966 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 967 </child> 968 <child ID="193" label=" " layerID="1" created="1479312165108" 969 x="-329.92047" y="396.924" width="97.0" height="23.0" 970 strokeWidth="1.0" autoSized="false" xsi:type="node"> 971 <fillColor>#FFFFFF</fillColor> 972 <strokeColor>#D0D0D0</strokeColor> 973 <textColor>#000000</textColor> 974 <font>SansSerif-plain-12</font> 975 <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8ce547432</URIString> 976 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 977 </child> 978 <child ID="194" label=" " layerID="1" created="1479312165108" 979 x="-493.5517" y="398.52405" width="97.0" height="23.0" 980 strokeWidth="1.0" autoSized="false" xsi:type="node"> 981 <fillColor>#C1F780</fillColor> 982 <strokeColor>#D0D0D0</strokeColor> 983 <textColor>#000000</textColor> 984 <font>SansSerif-plain-12</font> 985 <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8808f7487</URIString> 986 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 987 </child> 988 <child ID="195" label=" " layerID="1" created="1479312165108" 989 x="-862.1742" y="400.12408" width="97.0" height="23.0" 990 strokeWidth="1.0" autoSized="false" xsi:type="node"> 991 <fillColor>#FFFFFF</fillColor> 992 <strokeColor>#D0D0D0</strokeColor> 993 <textColor>#000000</textColor> 994 <font>SansSerif-plain-12</font> 995 <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8f5b31808</URIString> 996 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 997 </child> 998 <child ID="196" label=" " layerID="1" created="1479312165108" 999 x="-993.41174" y="400.12408" width="97.0" height="23.0" 1000 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1001 <fillColor>#C1F780</fillColor> 1002 <strokeColor>#D0D0D0</strokeColor> 1003 <textColor>#000000</textColor> 1004 <font>SansSerif-plain-12</font> 1005 <URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8b71cf339</URIString> 1006 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1007 </child> 1008 <child ID="211" label="No cycles in τ" layerID="1" 1009 created="1479312437302" x="67.89288" y="359.19955" width="99.0" 1010 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1011 <fillColor>#F2AE45</fillColor> 1012 <strokeColor>#000000</strokeColor> 1013 <textColor>#000000</textColor> 1014 <font>SansSerif-plain-12</font> 1015 <URIString>http://vue.tufts.edu/rdf/resource/6deb6c15c0a80026548592b8b3165e14</URIString> 1016 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1017 </child> 1018 <child ID="212" label="Nouveau Nœud" layerID="1" 1019 created="1479312437302" x="-59.42047" y="359.19955" 1020 width="112.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1021 <fillColor>#F2AE45</fillColor> 1022 <strokeColor>#000000</strokeColor> 1023 <textColor>#000000</textColor> 1024 <font>SansSerif-plain-12</font> 1025 <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8a5a2565a</URIString> 1026 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1027 </child> 1028 <child ID="213" label="Nouveau Nœud" layerID="1" 1029 created="1479312437302" x="-186.42047" y="359.19955" 1030 width="112.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1031 <fillColor>#F2AE45</fillColor> 1032 <strokeColor>#000000</strokeColor> 1033 <textColor>#000000</textColor> 1034 <font>SansSerif-plain-12</font> 1035 <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b82772e2e6</URIString> 1036 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1037 </child> 1038 <child ID="214" label="no excess / missing
nodes" layerID="1" 1039 created="1479312437302" x="-346.02045" y="341.59958" 1040 width="139.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1041 <fillColor>#F2AE45</fillColor> 1042 <strokeColor>#000000</strokeColor> 1043 <textColor>#000000</textColor> 1044 <font>SansSerif-plain-12</font> 1045 <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b844d9ed3a</URIString> 1046 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1047 </child> 1048 <child ID="215" label="Structural invariant" layerID="1" 1049 created="1479312437302" x="-526.0517" y="273.2496" width="162.0" 1050 height="107.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1051 <fillColor>#F2AE45</fillColor> 1052 <strokeColor>#000000</strokeColor> 1053 <textColor>#000000</textColor> 1054 <font>SansSerif-plain-12</font> 1055 <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8c110cac6</URIString> 1056 <child ID="248" label="No cycles (a.** != a)" 1057 created="1479315054444" x="34.0" y="23.0" width="145.0" 1058 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1059 <fillColor>#F2AE45</fillColor> 1060 <strokeColor>#000000</strokeColor> 1061 <textColor>#000000</textColor> 1062 <font>SansSerif-plain-12</font> 1063 <URIString>http://vue.tufts.edu/rdf/resource/6e0db15543a6be970d2ffe259c8e4183</URIString> 1064 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1065 </child> 1066 <child ID="249" label="a.b.c = a" created="1479315069014" 1067 x="34.0" y="43.25" width="112.78567" height="23.0" 1068 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1069 <fillColor>#F2AE45</fillColor> 1070 <strokeColor>#000000</strokeColor> 1071 <textColor>#000000</textColor> 1072 <font>SansSerif-plain-12</font> 1073 <URIString>http://vue.tufts.edu/rdf/resource/6e0db15643a6be970d2ffe25e7c11d51</URIString> 1074 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1075 </child> 1076 <child ID="256" label="a ∈ a.b.c" created="1479315479126" 1077 x="34.0" y="63.5" width="112.0" height="23.0" 1078 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1079 <fillColor>#F2AE45</fillColor> 1080 <strokeColor>#776D6D</strokeColor> 1081 <textColor>#000000</textColor> 1082 <font>SansSerif-plain-12</font> 1083 <URIString>http://vue.tufts.edu/rdf/resource/6e13f9e943a6be970d2ffe25a12d6061</URIString> 1084 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1085 </child> 1086 <child ID="537" label="a.c = count(a.b)" created="1483131981450" 1087 x="34.0" y="83.75" width="118.0" height="23.0" 1088 strokeWidth="1.0" autoSized="true" xsi:type="node"> 1089 <fillColor>#F2AE45</fillColor> 1090 <strokeColor>#776D6D</strokeColor> 1091 <textColor>#000000</textColor> 1092 <font>SansSerif-plain-12</font> 1093 <URIString>http://vue.tufts.edu/rdf/resource/518eb6ce534430712734d86a5ed52578</URIString> 1094 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1095 </child> 1096 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1097 </child> 1098 <child ID="216" label="Fill in auto fields" layerID="1" 1099 created="1479312437302" x="-885.6742" y="318.0996" width="144.0" 1100 height="66.5" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1101 <fillColor>#F2AE45</fillColor> 1102 <strokeColor>#000000</strokeColor> 1103 <textColor>#000000</textColor> 1104 <font>SansSerif-plain-12</font> 1105 <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b84cf1af9a</URIString> 1106 <child ID="115" label="count(path)" created="1479311769963" 1107 x="34.0" y="23.0" width="88.0" height="23.0" 1108 strokeWidth="1.0" autoSized="true" xsi:type="node"> 1109 <fillColor>#F2AE45</fillColor> 1110 <strokeColor>#776D6D</strokeColor> 1111 <textColor>#000000</textColor> 1112 <font>SansSerif-plain-12</font> 1113 <URIString>http://vue.tufts.edu/rdf/resource/6dda878fc0a80026548592b8d8c09cc8</URIString> 1114 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1115 </child> 1116 <child ID="113" label="path" created="1479311761209" x="34.0" 1117 y="43.25" width="41.0" height="23.0" strokeWidth="1.0" 1118 autoSized="true" xsi:type="node"> 1119 <fillColor>#F2AE45</fillColor> 1120 <strokeColor>#776D6D</strokeColor> 1121 <textColor>#000000</textColor> 1122 <font>SansSerif-plain-12</font> 1123 <URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8a59d8be9</URIString> 1124 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1125 </child> 1126 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1127 </child> 1128 <child ID="217" label="Field types" layerID="1" 1129 created="1479312437302" x="-985.41174" y="361.5996" width="81.0" 1130 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1131 <fillColor>#F2AE45</fillColor> 1132 <strokeColor>#000000</strokeColor> 1133 <textColor>#000000</textColor> 1134 <font>SansSerif-plain-12</font> 1135 <URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8ef57e7b6</URIString> 1136 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1137 </child> 1138 <child ID="220" layerID="1" created="1479312977113" x="291.07953" 1139 y="408.3908" width="278.54547" height="1.2836304" 1140 strokeWidth="1.0" autoSized="false" controlCount="0" 1141 arrowState="2" xsi:type="link"> 1142 <strokeColor>#404040</strokeColor> 1143 <textColor>#404040</textColor> 1144 <font>SansSerif-plain-11</font> 1145 <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b8679982c0</URIString> 1146 <point1 x="569.125" y="408.8908"/> 1147 <point2 x="291.57953" y="409.17444"/> 1148 <ID1 xsi:type="node">17</ID1> 1149 <ID2 xsi:type="node">188</ID2> 1150 </child> 1151 <child ID="221" layerID="1" created="1479312980477" x="290.3051" 1152 y="411.24005" width="279.59766" height="32.148132" 1153 strokeWidth="1.0" autoSized="false" controlCount="0" 1154 arrowState="2" xsi:type="link"> 1155 <strokeColor>#404040</strokeColor> 1156 <textColor>#404040</textColor> 1157 <font>SansSerif-plain-11</font> 1158 <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b8c719c5c2</URIString> 1159 <point1 x="569.4028" y="411.74005"/> 1160 <point2 x="290.8051" y="442.88818"/> 1161 <ID1 xsi:type="node">17</ID1> 1162 <ID2 xsi:type="node">179</ID2> 1163 </child> 1164 <child ID="222" layerID="1" created="1479312983887" x="331.39423" 1165 y="414.96667" width="239.83237" height="65.63089" 1166 strokeWidth="1.0" autoSized="false" controlCount="0" 1167 arrowState="2" xsi:type="link"> 1168 <strokeColor>#404040</strokeColor> 1169 <textColor>#404040</textColor> 1170 <font>SansSerif-plain-11</font> 1171 <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b87ce595a9</URIString> 1172 <point1 x="570.7266" y="415.46667"/> 1173 <point2 x="331.89426" y="480.09756"/> 1174 <ID1 xsi:type="node">17</ID1> 1175 <ID2 xsi:type="node">170</ID2> 1176 </child> 1177 <child ID="223" layerID="1" created="1479312987068" x="290.84552" 1178 y="543.7224" width="253.11792" height="14.889587" 1179 strokeWidth="1.0" autoSized="false" controlCount="0" 1180 arrowState="2" xsi:type="link"> 1181 <strokeColor>#404040</strokeColor> 1182 <textColor>#404040</textColor> 1183 <font>SansSerif-plain-11</font> 1184 <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b83272ecb3</URIString> 1185 <point1 x="543.46344" y="544.2224"/> 1186 <point2 x="291.34552" y="558.112"/> 1187 <ID1 xsi:type="node">19</ID1> 1188 <ID2 xsi:type="node">161</ID2> 1189 </child> 1190 <child ID="224" layerID="1" created="1479312989934" x="288.8164" 1191 y="549.4879" width="258.2881" height="43.1994" strokeWidth="1.0" 1192 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 1193 <strokeColor>#404040</strokeColor> 1194 <textColor>#404040</textColor> 1195 <font>SansSerif-plain-11</font> 1196 <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b847abd123</URIString> 1197 <point1 x="546.6045" y="549.988"/> 1198 <point2 x="289.3164" y="592.1874"/> 1199 <ID1 xsi:type="node">19</ID1> 1200 <ID2 xsi:type="node">152</ID2> 1201 </child> 1202 <child ID="225" layerID="1" created="1479312993421" x="401.89612" 1203 y="674.6299" width="150.60938" height="11.862732" 1204 strokeWidth="1.0" autoSized="false" controlCount="0" 1205 arrowState="2" xsi:type="link"> 1206 <strokeColor>#404040</strokeColor> 1207 <textColor>#404040</textColor> 1208 <font>SansSerif-plain-11</font> 1209 <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b82421558c</URIString> 1210 <point1 x="552.0055" y="685.9926"/> 1211 <point2 x="402.39612" y="675.1299"/> 1212 <ID1 xsi:type="node">21</ID1> 1213 <ID2 xsi:type="node">143</ID2> 1214 </child> 1215 <child ID="226" layerID="1" created="1479312996582" x="474.3354" 1216 y="691.95703" width="78.10855" height="6.086853" 1217 strokeWidth="1.0" autoSized="false" controlCount="0" 1218 arrowState="2" xsi:type="link"> 1219 <strokeColor>#404040</strokeColor> 1220 <textColor>#404040</textColor> 1221 <font>SansSerif-plain-11</font> 1222 <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b890a669f0</URIString> 1223 <point1 x="551.9439" y="692.45703"/> 1224 <point2 x="474.83536" y="697.5439"/> 1225 <ID1 xsi:type="node">21</ID1> 1226 <ID2 xsi:type="node">134</ID2> 1227 </child> 1228 <child ID="227" layerID="1" created="1479313097960" x="116.89288" 1229 y="246.69118" width="1.0" height="113.00839" strokeWidth="1.0" 1230 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 1231 <strokeColor>#404040</strokeColor> 1232 <textColor>#404040</textColor> 1233 <font>Arial-plain-11</font> 1234 <URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b8ab3caf16</URIString> 1235 <point1 x="117.39288" y="247.19116"/> 1236 <point2 x="117.39288" y="359.19955"/> 1237 <ID1 xsi:type="node">68</ID1> 1238 <ID2 xsi:type="node">211</ID2> 1239 </child> 1240 <child ID="229" label="Field types" layerID="1" 1241 created="1479313578633" x="-985.41174" y="296.00214" 1242 width="81.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1243 <fillColor>#F2AE45</fillColor> 1244 <strokeColor>#000000</strokeColor> 1245 <textColor>#000000</textColor> 1246 <font>SansSerif-plain-12</font> 1247 <URIString>http://vue.tufts.edu/rdf/resource/6df83301c0a80026548592b8cadb0885</URIString> 1248 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1249 </child> 1250 <child ID="230" layerID="1" created="1479313589139" x="-945.41174" 1251 y="318.50214" width="1.0" height="43.597473" strokeWidth="1.0" 1252 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 1253 <strokeColor>#404040</strokeColor> 1254 <textColor>#404040</textColor> 1255 <font>SansSerif-plain-11</font> 1256 <URIString>http://vue.tufts.edu/rdf/resource/6df83301c0a80026548592b86616b05c</URIString> 1257 <point1 x="-944.91174" y="319.00214"/> 1258 <point2 x="-944.91174" y="361.5996"/> 1259 <ID1 xsi:type="node">229</ID1> 1260 <ID2 xsi:type="node">217</ID2> 1261 </child> 1262 <child ID="231" label="Fill in info" layerID="1" 1263 created="1479314065342" x="-107.36258" y="-69.78337" 1264 width="70.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1265 <fillColor>#F2AE45</fillColor> 1266 <strokeColor>#776D6D</strokeColor> 1267 <textColor>#000000</textColor> 1268 <font>SansSerif-plain-12</font> 1269 <URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8f9159d49</URIString> 1270 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1271 </child> 1272 <child ID="232" layerID="1" created="1479314065343" x="-219.6206" 1273 y="-59.9087" width="112.758026" height="1.8569527" 1274 strokeWidth="1.0" autoSized="false" controlCount="0" 1275 arrowState="2" xsi:type="link"> 1276 <strokeColor>#000000</strokeColor> 1277 <textColor>#404040</textColor> 1278 <font>SansSerif-plain-11</font> 1279 <URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b838839b4e</URIString> 1280 <point1 x="-219.1206" y="-59.4087"/> 1281 <point2 x="-107.36258" y="-58.551746"/> 1282 <ID1 xsi:type="node">107</ID1> 1283 <ID2 xsi:type="node">231</ID2> 1284 </child> 1285 <child ID="233" label="Insert guards" layerID="1" 1286 created="1479314071070" x="-136.36258" y="-46.7834" width="99.0" 1287 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1288 <fillColor>#F2AE45</fillColor> 1289 <strokeColor>#776D6D</strokeColor> 1290 <textColor>#000000</textColor> 1291 <font>SansSerif-plain-12</font> 1292 <URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8fe58d8d6</URIString> 1293 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1294 </child> 1295 <child ID="234" layerID="1" created="1479314071071" x="-247.636" 1296 y="-49.643234" width="112.325165" height="10.626976" 1297 strokeWidth="1.0" autoSized="false" controlCount="0" 1298 arrowState="2" xsi:type="link"> 1299 <strokeColor>#000000</strokeColor> 1300 <textColor>#404040</textColor> 1301 <font>SansSerif-plain-11</font> 1302 <URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8472714c9</URIString> 1303 <point1 x="-247.136" y="-49.143234"/> 1304 <point2 x="-135.81084" y="-39.51626"/> 1305 <ID1 xsi:type="node">107</ID1> 1306 <ID2 xsi:type="node">233</ID2> 1307 </child> 1308 <child ID="239" 1309 label="Name the invariants in the type, and refer to them in the transform" 1310 layerID="1" created="1479314146769" x="401.0136" y="789.73596" 1311 width="446.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1312 <fillColor>#F2AE45</fillColor> 1313 <strokeColor>#776D6D</strokeColor> 1314 <textColor>#000000</textColor> 1315 <font>SansSerif-plain-12</font> 1316 <URIString>http://vue.tufts.edu/rdf/resource/6dff35b5c0a80026548592b8604b935b</URIString> 1317 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1318 </child> 1319 <child ID="240" layerID="1" created="1479314146770" x="600.7352" 1320 y="700.37744" width="21.168274" height="89.8584" 1321 strokeWidth="1.0" autoSized="false" controlCount="0" 1322 arrowState="2" xsi:type="link"> 1323 <strokeColor>#000000</strokeColor> 1324 <textColor>#404040</textColor> 1325 <font>SansSerif-plain-11</font> 1326 <URIString>http://vue.tufts.edu/rdf/resource/6dff35b5c0a80026548592b8b8ea0a14</URIString> 1327 <point1 x="601.23517" y="700.87744"/> 1328 <point2 x="621.40344" y="789.73584"/> 1329 <ID1 xsi:type="node">21</ID1> 1330 <ID2 xsi:type="node">239</ID2> 1331 </child> 1332 <child ID="241" label="Basic form
already implemented" 1333 layerID="1" created="1479314878724" x="1224.5375" y="997.7446" 1334 width="146.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1335 <fillColor>#C1F780</fillColor> 1336 <strokeColor>#776D6D</strokeColor> 1337 <textColor>#000000</textColor> 1338 <font>SansSerif-plain-12</font> 1339 <URIString>http://vue.tufts.edu/rdf/resource/6e09fb5843a6be970d2ffe2507ab588a</URIString> 1340 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1341 </child> 1342 <child ID="242" layerID="1" created="1479314878728" x="1323.1526" 1343 y="956.8031" width="56.585815" height="41.441467" 1344 strokeWidth="1.0" autoSized="false" controlCount="0" 1345 arrowState="2" xsi:type="link"> 1346 <strokeColor>#000000</strokeColor> 1347 <textColor>#404040</textColor> 1348 <font>SansSerif-plain-11</font> 1349 <URIString>http://vue.tufts.edu/rdf/resource/6e09fb5a43a6be970d2ffe25101bab58</URIString> 1350 <point1 x="1379.2384" y="957.3031"/> 1351 <point2 x="1323.6526" y="997.74457"/> 1352 <ID1 xsi:type="node">11</ID1> 1353 <ID2 xsi:type="node">241</ID2> 1354 </child> 1355 <child ID="244" label="α-equivalence normal form" layerID="1" 1356 created="1479314913291" x="1434.1376" y="1005.7449" 1357 width="184.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1358 <fillColor>#A6A6A6</fillColor> 1359 <strokeColor>#776D6D</strokeColor> 1360 <textColor>#000000</textColor> 1361 <font>SansSerif-plain-12</font> 1362 <URIString>http://vue.tufts.edu/rdf/resource/6e0b664b43a6be970d2ffe25608d7f84</URIString> 1363 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1364 </child> 1365 <child ID="245" layerID="1" created="1479314913294" x="1415.6469" 1366 y="956.803" width="89.88867" height="49.441833" 1367 strokeWidth="1.0" autoSized="false" controlCount="0" 1368 arrowState="2" xsi:type="link"> 1369 <strokeColor>#000000</strokeColor> 1370 <textColor>#404040</textColor> 1371 <font>SansSerif-plain-11</font> 1372 <URIString>http://vue.tufts.edu/rdf/resource/6e0b664b43a6be970d2ffe252aafd35e</URIString> 1373 <point1 x="1416.1469" y="957.30304"/> 1374 <point2 x="1505.0355" y="1005.7449"/> 1375 <ID1 xsi:type="node">11</ID1> 1376 <ID2 xsi:type="node">244</ID2> 1377 </child> 1378 <child ID="246" label="Too hard to implement for now" layerID="1" 1379 created="1479314956001" x="1563.3375" y="1093.5447" 1380 width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1381 <fillColor>#A6A6A6</fillColor> 1382 <strokeColor>#776D6D</strokeColor> 1383 <textColor>#000000</textColor> 1384 <font>SansSerif-plain-12</font> 1385 <URIString>http://vue.tufts.edu/rdf/resource/6e0b664c43a6be970d2ffe253b42a8fa</URIString> 1386 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1387 </child> 1388 <child ID="247" layerID="1" created="1479314956003" x="1544.263" 1389 y="1028.2449" width="105.94922" height="65.799805" 1390 strokeWidth="1.0" autoSized="false" controlCount="0" 1391 arrowState="2" xsi:type="link"> 1392 <strokeColor>#000000</strokeColor> 1393 <textColor>#404040</textColor> 1394 <font>SansSerif-plain-11</font> 1395 <URIString>http://vue.tufts.edu/rdf/resource/6e0b664c43a6be970d2ffe25426d76fa</URIString> 1396 <point1 x="1544.763" y="1028.7449"/> 1397 <point2 x="1649.7122" y="1093.5447"/> 1398 <ID1 xsi:type="node">244</ID1> 1399 <ID2 xsi:type="node">246</ID2> 1400 </child> 1401 <child ID="252" 1402 label="http://docs.racket-lang.org/graph/index.html#%28def._%28%28lib._graph%2Fmain..rkt%29._coloring%2Fgreedy%29%29" 1403 layerID="1" created="1479315385244" x="436.13745" y="60.144775" 1404 width="784.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1405 <fillColor>#F2AE45</fillColor> 1406 <strokeColor>#776D6D</strokeColor> 1407 <textColor>#000000</textColor> 1408 <font>SansSerif-plain-12</font> 1409 <URIString>http://vue.tufts.edu/rdf/resource/6e12548843a6be970d2ffe259bb5e939</URIString> 1410 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1411 </child> 1412 <child ID="253" layerID="1" created="1479315385245" x="1218.9329" 1413 y="76.13478" width="60.11206" height="1.75383" strokeWidth="1.0" 1414 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 1415 <strokeColor>#000000</strokeColor> 1416 <textColor>#404040</textColor> 1417 <font>SansSerif-plain-11</font> 1418 <URIString>http://vue.tufts.edu/rdf/resource/6e12548843a6be970d2ffe25f25ed174</URIString> 1419 <point1 x="1278.5449" y="77.38861"/> 1420 <point2 x="1219.4329" y="76.63478"/> 1421 <ID1 xsi:type="node">23</ID1> 1422 <ID2 xsi:type="node">252</ID2> 1423 </child> 1424 <child ID="257" label=" " layerID="1" created="1479315626294" 1425 x="-689.56244" y="696.5272" width="97.0" height="23.0" 1426 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1427 <fillColor>#FFFFFF</fillColor> 1428 <strokeColor>#D0D0D0</strokeColor> 1429 <textColor>#000000</textColor> 1430 <font>SansSerif-plain-12</font> 1431 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25f6c630d7</URIString> 1432 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1433 </child> 1434 <child ID="258" label=" " layerID="1" created="1479315626294" 1435 x="-689.56244" y="657.5272" width="97.0" height="23.0" 1436 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1437 <fillColor>#FFFFFF</fillColor> 1438 <strokeColor>#D0D0D0</strokeColor> 1439 <textColor>#000000</textColor> 1440 <font>SansSerif-plain-12</font> 1441 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe259db0c3ce</URIString> 1442 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1443 </child> 1444 <child ID="259" label=" " layerID="1" created="1479315626294" 1445 x="-689.56244" y="589.63354" width="97.0" height="23.0" 1446 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1447 <fillColor>#FFFFFF</fillColor> 1448 <strokeColor>#D0D0D0</strokeColor> 1449 <textColor>#000000</textColor> 1450 <font>SansSerif-plain-12</font> 1451 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25e603c10f</URIString> 1452 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1453 </child> 1454 <child ID="260" label=" " layerID="1" created="1479315626294" 1455 x="-689.56244" y="550.63367" width="97.0" height="23.0" 1456 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1457 <fillColor>#FFFFFF</fillColor> 1458 <strokeColor>#D0D0D0</strokeColor> 1459 <textColor>#000000</textColor> 1460 <font>SansSerif-plain-12</font> 1461 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25580295ca</URIString> 1462 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1463 </child> 1464 <child ID="261" label=" " layerID="1" created="1479315626294" 1465 x="-689.56244" y="476.68677" width="97.0" height="23.0" 1466 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1467 <fillColor>#FFFFFF</fillColor> 1468 <strokeColor>#D0D0D0</strokeColor> 1469 <textColor>#000000</textColor> 1470 <font>SansSerif-plain-12</font> 1471 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe250d1629cb</URIString> 1472 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1473 </child> 1474 <child ID="262" label=" " layerID="1" created="1479315626294" 1475 x="-689.56244" y="438.0868" width="97.0" height="23.0" 1476 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1477 <fillColor>#C1F780</fillColor> 1478 <strokeColor>#D0D0D0</strokeColor> 1479 <textColor>#000000</textColor> 1480 <font>SansSerif-plain-12</font> 1481 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25e477a71a</URIString> 1482 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1483 </child> 1484 <child ID="263" label=" " layerID="1" created="1479315626294" 1485 x="-689.56244" y="399.08667" width="97.0" height="23.0" 1486 strokeWidth="1.0" autoSized="false" xsi:type="node"> 1487 <fillColor>#FFFFFF</fillColor> 1488 <strokeColor>#D0D0D0</strokeColor> 1489 <textColor>#000000</textColor> 1490 <font>SansSerif-plain-12</font> 1491 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25b3ec0015</URIString> 1492 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1493 </child> 1494 <child ID="264" 1495 label="Well-scopedness
via ∀ flag on the inputs" 1496 layerID="1" created="1479315626294" x="-716.26245" y="343.76224" 1497 width="161.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1498 <fillColor>#F2AE45</fillColor> 1499 <strokeColor>#000000</strokeColor> 1500 <textColor>#000000</textColor> 1501 <font>SansSerif-plain-12</font> 1502 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25522374c0</URIString> 1503 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1504 </child> 1505 <child ID="269" label="enforces" layerID="1" created="1479315766762" 1506 x="-602.6625" y="154.14484" width="70.0" height="23.0" 1507 strokeWidth="1.0" autoSized="true" xsi:type="node"> 1508 <fillColor>#F2AE45</fillColor> 1509 <strokeColor>#776D6D</strokeColor> 1510 <textColor>#000000</textColor> 1511 <font>SansSerif-plain-12</font> 1512 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25045c93ba</URIString> 1513 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1514 </child> 1515 <child ID="270" layerID="1" created="1479315766763" x="-770.12634" 1516 y="176.64484" width="187.72931" height="141.95477" 1517 strokeWidth="1.0" autoSized="false" controlCount="0" 1518 arrowState="2" xsi:type="link"> 1519 <strokeColor>#000000</strokeColor> 1520 <textColor>#404040</textColor> 1521 <font>SansSerif-plain-11</font> 1522 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25f58b5507</URIString> 1523 <point1 x="-769.6264" y="318.0996"/> 1524 <point2 x="-582.8971" y="177.14484"/> 1525 <ID1 xsi:type="node">216</ID1> 1526 <ID2 xsi:type="node">269</ID2> 1527 </child> 1528 <child ID="273" layerID="1" created="1479315784203" x="-559.4103" 1529 y="176.64484" width="74.141754" height="97.1048" 1530 strokeWidth="1.0" autoSized="false" controlCount="0" 1531 arrowState="2" xsi:type="link"> 1532 <strokeColor>#000000</strokeColor> 1533 <textColor>#404040</textColor> 1534 <font>SansSerif-plain-11</font> 1535 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25213bebda</URIString> 1536 <point1 x="-558.9103" y="177.14484"/> 1537 <point2 x="-485.76852" y="273.24963"/> 1538 <ID1 xsi:type="node">269</ID1> 1539 <ID2 xsi:type="node">215</ID2> 1540 </child> 1541 <child ID="275" layerID="1" created="1479315857711" x="-629.69836" 1542 y="176.6449" width="58.562866" height="167.61731" 1543 strokeWidth="1.0" autoSized="false" controlCount="0" 1544 arrowState="2" xsi:type="link"> 1545 <strokeColor>#000000</strokeColor> 1546 <textColor>#404040</textColor> 1547 <font>SansSerif-plain-11</font> 1548 <URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25b2914e66</URIString> 1549 <point1 x="-629.19836" y="343.7622"/> 1550 <point2 x="-571.6355" y="177.1449"/> 1551 <ID1 xsi:type="node">264</ID1> 1552 <ID2 xsi:type="node">269</ID2> 1553 </child> 1554 <child ID="278" label="Compile-time policy" layerID="1" 1555 created="1479316015544" x="-834.6625" y="38.944725" 1556 width="134.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1557 <fillColor>#F2AE45</fillColor> 1558 <strokeColor>#776D6D</strokeColor> 1559 <textColor>#000000</textColor> 1560 <font>SansSerif-plain-12</font> 1561 <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25714e5bc9</URIString> 1562 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1563 </child> 1564 <child ID="279" layerID="1" created="1479316015546" x="-757.89404" 1565 y="-55.799194" width="85.15155" height="95.2439" 1566 strokeWidth="1.0" autoSized="false" controlCount="0" 1567 arrowState="2" xsi:type="link"> 1568 <strokeColor>#000000</strokeColor> 1569 <textColor>#404040</textColor> 1570 <font>SansSerif-plain-11</font> 1571 <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25ca3da090</URIString> 1572 <point1 x="-673.24243" y="-55.299194"/> 1573 <point2 x="-757.394" y="38.944702"/> 1574 <ID1 xsi:type="node">90</ID1> 1575 <ID2 xsi:type="node">278</ID2> 1576 </child> 1577 <child ID="280" label="Run-time check" layerID="1" 1578 created="1479316019912" x="-495.4625" y="37.344727" 1579 width="110.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1580 <fillColor>#F2AE45</fillColor> 1581 <strokeColor>#776D6D</strokeColor> 1582 <textColor>#000000</textColor> 1583 <font>SansSerif-plain-12</font> 1584 <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25751b3e9d</URIString> 1585 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1586 </child> 1587 <child ID="281" layerID="1" created="1479316019914" x="-641.3467" 1588 y="-55.799225" width="179.25693" height="93.64395" 1589 strokeWidth="1.0" autoSized="false" controlCount="0" 1590 arrowState="2" xsi:type="link"> 1591 <strokeColor>#000000</strokeColor> 1592 <textColor>#404040</textColor> 1593 <font>SansSerif-plain-11</font> 1594 <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25264e9ee1</URIString> 1595 <point1 x="-640.8467" y="-55.299225"/> 1596 <point2 x="-462.58975" y="37.344727"/> 1597 <ID1 xsi:type="node">90</ID1> 1598 <ID2 xsi:type="node">280</ID2> 1599 </child> 1600 <child ID="284" layerID="1" created="1479316050351" x="-809.0899" 1601 y="61.444824" width="40.168945" height="257.1548" 1602 strokeWidth="1.0" autoSized="false" controlCount="0" 1603 arrowState="2" xsi:type="link"> 1604 <strokeColor>#000000</strokeColor> 1605 <textColor>#404040</textColor> 1606 <font>SansSerif-plain-11</font> 1607 <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25391232ea</URIString> 1608 <point1 x="-769.42096" y="61.944824"/> 1609 <point2 x="-808.5899" y="318.0996"/> 1610 <ID1 xsi:type="node">278</ID1> 1611 <ID2 xsi:type="node">216</ID2> 1612 </child> 1613 <child ID="285" layerID="1" created="1479316052183" x="-763.3057" 1614 y="61.444702" width="120.01904" height="282.8175" 1615 strokeWidth="1.0" autoSized="false" controlCount="0" 1616 arrowState="2" xsi:type="link"> 1617 <strokeColor>#000000</strokeColor> 1618 <textColor>#404040</textColor> 1619 <font>SansSerif-plain-11</font> 1620 <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe253e59616a</URIString> 1621 <point1 x="-762.8057" y="61.944702"/> 1622 <point2 x="-643.7867" y="343.7622"/> 1623 <ID1 xsi:type="node">278</ID1> 1624 <ID2 xsi:type="node">264</ID2> 1625 </child> 1626 <child ID="286" layerID="1" created="1479316060242" x="-444.6682" 1627 y="59.84375" width="4.5158997" height="213.90625" 1628 strokeWidth="1.0" autoSized="false" controlCount="0" 1629 arrowState="2" xsi:type="link"> 1630 <strokeColor>#000000</strokeColor> 1631 <textColor>#404040</textColor> 1632 <font>SansSerif-plain-11</font> 1633 <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe2578e91de4</URIString> 1634 <point1 x="-440.65234" y="60.34375"/> 1635 <point2 x="-444.16824" y="273.25"/> 1636 <ID1 xsi:type="node">280</ID1> 1637 <ID2 xsi:type="node">215</ID2> 1638 </child> 1639 <child ID="289" layerID="1" created="1479316096459" x="-434.91504" 1640 y="59.844727" width="148.90305" height="282.25482" 1641 strokeWidth="1.0" autoSized="false" controlCount="0" 1642 arrowState="2" xsi:type="link"> 1643 <strokeColor>#000000</strokeColor> 1644 <textColor>#404040</textColor> 1645 <font>SansSerif-plain-11</font> 1646 <URIString>http://vue.tufts.edu/rdf/resource/6e1c69c743a6be970d2ffe258016a9d1</URIString> 1647 <point1 x="-434.415" y="60.344727"/> 1648 <point2 x="-286.51196" y="341.59955"/> 1649 <ID1 xsi:type="node">280</ID1> 1650 <ID2 xsi:type="node">214</ID2> 1651 </child> 1652 <child ID="291" 1653 label="Invariants expressed as a dummy type on the graph / node" 1654 layerID="1" created="1479316157024" x="-663.86255" y="868.74475" 1655 width="396.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1656 <fillColor>#F2AE45</fillColor> 1657 <strokeColor>#776D6D</strokeColor> 1658 <textColor>#000000</textColor> 1659 <font>SansSerif-plain-12</font> 1660 <URIString>http://vue.tufts.edu/rdf/resource/6e1dc69443a6be970d2ffe25c307cfac</URIString> 1661 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1662 </child> 1663 <child ID="293" 1664 label="Enforcements indicate which invariant they satisfy or check" 1665 layerID="1" created="1479316213134" x="3.1374512" y="1054.7448" 1666 width="395.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1667 <fillColor>#F2AE45</fillColor> 1668 <strokeColor>#776D6D</strokeColor> 1669 <textColor>#000000</textColor> 1670 <font>SansSerif-plain-12</font> 1671 <URIString>http://vue.tufts.edu/rdf/resource/6e1fb64c43a6be970d2ffe25894f7080</URIString> 1672 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1673 </child> 1674 <child ID="295" label=" " layerID="1" created="1479316329322" 1675 x="175.13745" y="656.74475" width="15.0" height="23.0" 1676 strokeWidth="1.0" autoSized="true" xsi:type="node"> 1677 <fillColor>#F2AE45</fillColor> 1678 <strokeColor>#776D6D</strokeColor> 1679 <textColor>#000000</textColor> 1680 <font>SansSerif-plain-12</font> 1681 <URIString>http://vue.tufts.edu/rdf/resource/6e218e1c43a6be970d2ffe25c3d8bcae</URIString> 1682 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1683 </child> 1684 <child ID="296" layerID="1" created="1479316329323" x="189.63745" 1685 y="667.68555" width="5.4420776" height="1.0220337" 1686 strokeWidth="1.0" autoSized="false" controlCount="0" 1687 arrowState="2" xsi:type="link"> 1688 <strokeColor>#000000</strokeColor> 1689 <textColor>#404040</textColor> 1690 <font>SansSerif-plain-11</font> 1691 <URIString>http://vue.tufts.edu/rdf/resource/6e218e1d43a6be970d2ffe253b54752d</URIString> 1692 <point1 x="194.57953" y="668.18555"/> 1693 <point2 x="190.13745" y="668.2076"/> 1694 <ID1 xsi:type="node">143</ID1> 1695 <ID2 xsi:type="node">295</ID2> 1696 </child> 1697 <child ID="314" 1698 label="Each node has an extra field of the following type:
" 1699 layerID="1" created="1479317112254" x="-826.86255" y="972.24475" 1700 width="339.0" height="107.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1701 <fillColor>#C1F780</fillColor> 1702 <strokeColor>#776D6D</strokeColor> 1703 <textColor>#000000</textColor> 1704 <font>SansSerif-plain-12</font> 1705 <URIString>http://vue.tufts.edu/rdf/resource/6e2c94fe43a6be970d2ffe25ab2d9e8d</URIString> 1706 <child ID="313" 1707 label="(invariants-wrapper (case (→ inv₁ inv-arg … #t) … (→ invₙ inv-arg … #t)))" 1708 created="1479317031021" x="5.0" y="38.0" width="276.0" 1709 height="63.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> 1710 <strokeColor>#404040</strokeColor> 1711 <textColor>#000000</textColor> 1712 <font>SansSerif-plain-14</font> 1713 <URIString>http://vue.tufts.edu/rdf/resource/6e2c950143a6be970d2ffe25c8aa5ef1</URIString> 1714 <richText><html> 1715 <head> 1716 <style type="text/css"> 1717 <!-- 1718 body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 } 1719 ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside } 1720 p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } 1721 ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } 1722 --> 1723 </style> 1724 1725 </head> 1726 <body> 1727 <p> 1728 <font face="DejaVu Sans Mono">(invariants-wrapper </font> 1729 </p> 1730 <p> 1731 <font face="DejaVu Sans Mono">(case (&#8594; inv&#8321; inv-arg &#8230; #t) </font> 1732 </p> 1733 <p> 1734 <font face="DejaVu Sans Mono">&#8230; </font> 1735 </p> 1736 <p> 1737 <font face="DejaVu Sans Mono">(&#8594; inv&#8345; inv-arg &#8230; #t)))</font> 1738 </p> 1739 </body> 1740 </html> 1741 </richText> 1742 <label>(invariants-wrapper (case (→ inv₁ inv-arg … #t) … (→ invₙ inv-arg … #t)))</label> 1743 </child> 1744 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1745 </child> 1746 <child ID="315" layerID="1" created="1479317179397" x="-587.4485" 1747 y="891.24475" width="106.950165" height="81.5" strokeWidth="1.0" 1748 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 1749 <strokeColor>#000000</strokeColor> 1750 <textColor>#404040</textColor> 1751 <font>SansSerif-plain-11</font> 1752 <URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe2565dbc3a9</URIString> 1753 <point1 x="-480.99832" y="891.74475"/> 1754 <point2 x="-586.9485" y="972.24475"/> 1755 <ID1 xsi:type="node">291</ID1> 1756 <ID2 xsi:type="node">314</ID2> 1757 </child> 1758 <child ID="318" 1759 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).
" 1760 layerID="1" created="1479317202233" x="-960.86255" y="1145.7448" 1761 width="531.0" height="77.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1762 <fillColor>#C1F780</fillColor> 1763 <strokeColor>#776D6D</strokeColor> 1764 <textColor>#000000</textColor> 1765 <font>SansSerif-plain-12</font> 1766 <URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe2541159360</URIString> 1767 <child ID="324" 1768 label="(struct 
 invariants-wrapper ())" 1769 created="1479317283315" x="5.0" y="53.0" width="214.0" 1770 height="18.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> 1771 <strokeColor>#404040</strokeColor> 1772 <textColor>#000000</textColor> 1773 <font>-plain-12</font> 1774 <URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe254bc731a8</URIString> 1775 <richText><html> 1776 <head color="#000000" style="color: #000000"> 1777 <style type="text/css"> 1778 <!-- 1779 body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 11; font-family: SansSerif; color: #000000 } 1780 ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 11; list-style-position: outside } 1781 p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } 1782 ul { margin-top: 6; font-size: 11; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } 1783 --> 1784 </style> 1785 1786 </head> 1787 <body> 1788 <p> 1789 <font style="font-size:12;" color="#000000" face="DejaVu Sans Mono">(struct 1790 invariants-wrapper ())</font> 1791 </p> 1792 </body> 1793 </html> 1794 </richText> 1795 <label>(struct 1796 invariants-wrapper ())</label> 1797 </child> 1798 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1799 </child> 1800 <child ID="319" layerID="1" created="1479317202235" x="-686.63226" 1801 y="1078.7448" width="16.943237" height="67.5" strokeWidth="1.0" 1802 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 1803 <strokeColor>#000000</strokeColor> 1804 <textColor>#404040</textColor> 1805 <font>SansSerif-plain-11</font> 1806 <URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe25415de0b8</URIString> 1807 <point1 x="-670.189" y="1079.2448"/> 1808 <point2 x="-686.13226" y="1145.7448"/> 1809 <ID1 xsi:type="node">314</ID1> 1810 <ID2 xsi:type="node">318</ID2> 1811 </child> 1812 <child ID="326" 1813 label="graph invariants should only define the dummy type used to identify them" 1814 layerID="1" created="1479317586757" x="-968.86255" y="1282.7448" 1815 width="611.0" height="172.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1816 <fillColor>#C1F780</fillColor> 1817 <strokeColor>#776D6D</strokeColor> 1818 <textColor>#000000</textColor> 1819 <font>SansSerif-plain-12</font> 1820 <URIString>http://vue.tufts.edu/rdf/resource/6e380d1843a6be970d2ffe256d1f3a53</URIString> 1821 <child ID="328" 1822 label="The actual enforcement is built-in or defined as a contract" 1823 created="1479317923153" x="34.0" y="23.0" width="394.0" 1824 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1825 <fillColor>#F2AE45</fillColor> 1826 <strokeColor>#776D6D</strokeColor> 1827 <textColor>#000000</textColor> 1828 <font>SansSerif-plain-12</font> 1829 <URIString>http://vue.tufts.edu/rdf/resource/6e38dc3343a6be970d2ffe25548c6fd1</URIString> 1830 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1831 </child> 1832 <child ID="325" 1833 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))))" 1834 created="1479317551796" x="34.0" y="43.25" width="572.0" 1835 height="123.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> 1836 <strokeColor>#404040</strokeColor> 1837 <textColor>#000000</textColor> 1838 <font>SansSerif-plain-14</font> 1839 <URIString>http://vue.tufts.edu/rdf/resource/6e380d1843a6be970d2ffe2537b566f6</URIString> 1840 <richText><html> 1841 <head color="#000000" style="color: #000000"> 1842 <style type="text/css"> 1843 <!-- 1844 body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 } 1845 ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside } 1846 p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } 1847 ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } 1848 --> 1849 </style> 1850 1851 </head> 1852 <body> 1853 <p color="#000000" style="color: #000000"> 1854 <font face="DejaVu Sans Mono">(define-for-syntax invariant-introducer </font> 1855 </p> 1856 <p color="#000000" style="color: #000000"> 1857 <font face="DejaVu Sans Mono">(make-syntax-introducer)) </font> 1858 </p> 1859 <p color="#000000" style="color: #000000"> 1860 <font face="DejaVu Sans Mono">;; the body should return the syntax for a 1861 type, </font> 1862 </p> 1863 <p color="#000000" style="color: #000000"> 1864 <font face="DejaVu Sans Mono">;; such that less precise invariants are 1865 supertypes of that type. </font> 1866 </p> 1867 <p color="#000000" style="color: #000000"> 1868 <font face="DejaVu Sans Mono">(define-syntax/parse 1869 (define-graph-invariant (name g-descriptor arg &#8230;) . body) </font> 1870 </p> 1871 <p color="#000000" style="color: #000000"> 1872 <font face="DejaVu Sans Mono">#'(define-syntax name </font> 1873 </p> 1874 <p color="#000000" style="color: #000000"> 1875 <font face="DejaVu Sans Mono">(graph-invariant </font> 1876 </p> 1877 <p color="#000000" style="color: #000000"> 1878 <font face="DejaVu Sans Mono">(&#955; (g-descriptor arg &#8230;) . body))))</font> 1879 </p> 1880 </body> 1881 </html> 1882 </richText> 1883 <label>(define-for-syntax invariant-introducer (make-syntax-introducer)) ;; the body should return the syntax for a 1884 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> 1885 </child> 1886 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1887 </child> 1888 <child ID="327" layerID="1" created="1479317586758" x="-689.1896" 1889 y="1222.2446" width="11.399414" height="61.0" strokeWidth="1.0" 1890 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 1891 <strokeColor>#000000</strokeColor> 1892 <textColor>#404040</textColor> 1893 <font>SansSerif-plain-11</font> 1894 <URIString>http://vue.tufts.edu/rdf/resource/6e380d1943a6be970d2ffe25baaa9b00</URIString> 1895 <point1 x="-688.6896" y="1222.7446"/> 1896 <point2 x="-678.29016" y="1282.7446"/> 1897 <ID1 xsi:type="node">318</ID1> 1898 <ID2 xsi:type="node">326</ID2> 1899 </child> 1900 <child ID="332" 1901 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" 1902 layerID="1" created="1479317996531" x="-1558.8625" y="1375.2448" 1903 width="543.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1904 <fillColor>#C1F780</fillColor> 1905 <strokeColor>#776D6D</strokeColor> 1906 <textColor>#000000</textColor> 1907 <font>SansSerif-plain-12</font> 1908 <URIString>http://vue.tufts.edu/rdf/resource/6e3ba69443a6be970d2ffe2557b43407</URIString> 1909 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1910 </child> 1911 <child ID="333" layerID="1" created="1479318002683" x="-1016.36255" 1912 y="1393.3777" width="82.0" height="2.8078613" strokeWidth="1.0" 1913 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 1914 <strokeColor>#000000</strokeColor> 1915 <textColor>#404040</textColor> 1916 <font>SansSerif-plain-11</font> 1917 <URIString>http://vue.tufts.edu/rdf/resource/6e3ba69443a6be970d2ffe25f3986e24</URIString> 1918 <point1 x="-934.86255" y="1393.8777"/> 1919 <point2 x="-1015.86255" y="1395.6855"/> 1920 <ID1 xsi:type="text">325</ID1> 1921 <ID2 xsi:type="node">332</ID2> 1922 </child> 1923 <child ID="335" 1924 label="Possibility to define a contract, which checks the output" 1925 layerID="1" created="1479323690314" x="-287.0293" y="1256.2448" 1926 width="602.0" height="158.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> 1927 <fillColor>#F2AE45</fillColor> 1928 <strokeColor>#776D6D</strokeColor> 1929 <textColor>#000000</textColor> 1930 <font>SansSerif-plain-12</font> 1931 <URIString>http://vue.tufts.edu/rdf/resource/6e9111d2c0a80026616d9239e83b633f</URIString> 1932 <child ID="337" 1933 label="The body should produce a function of type (→ (Listof Nodeᵢ) … Boolean)" 1934 created="1479323705555" x="34.0" y="23.0" width="488.0" 1935 height="26.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 1936 <fillColor>#F2AE45</fillColor> 1937 <strokeColor>#776D6D</strokeColor> 1938 <textColor>#000000</textColor> 1939 <font>SansSerif-plain-12</font> 1940 <URIString>http://vue.tufts.edu/rdf/resource/6e9111d3c0a80026616d923930b32673</URIString> 1941 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1942 </child> 1943 <child ID="341" 1944 label="The body should also return the syntax for the graph invariant dummy types that it enforces" 1945 created="1479323869262" x="34.0" y="45.5" width="610.0" 1946 height="25.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 1947 <fillColor>#F2AE45</fillColor> 1948 <strokeColor>#776D6D</strokeColor> 1949 <textColor>#000000</textColor> 1950 <font>SansSerif-plain-12</font> 1951 <URIString>http://vue.tufts.edu/rdf/resource/6e9407e3c0a80026616d9239a5640863</URIString> 1952 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 1953 </child> 1954 <child ID="334" 1955 label="(define-syntax/parse (define-graph-contract (name g-descriptor arg …) . 
 body) #'(define-syntax name (graph-contract (λ (g-descriptor arg …) . body))))" 1956 created="1479323593315" x="34.0" y="67.25" width="563.0" 1957 height="85.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> 1958 <strokeColor>#404040</strokeColor> 1959 <textColor>#000000</textColor> 1960 <font>-plain-12</font> 1961 <URIString>http://vue.tufts.edu/rdf/resource/6e8fd854c0a80026616d9239752cb6ef</URIString> 1962 <richText><html> 1963 <head color="#000000" style="color: #000000"> 1964 <style type="text/css"> 1965 <!-- 1966 body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 13; font-family: Arial; color: #000000 } 1967 ol { margin-top: 6; font-family: Arial; vertical-align: middle; margin-left: 30; font-size: 13; list-style-position: outside } 1968 p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } 1969 ul { margin-top: 6; font-size: 13; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: Arial } 1970 --> 1971 </style> 1972 1973 </head> 1974 <body> 1975 <p color="#000000" style="color: #000000"> 1976 <font style="font-size:12;" face="DejaVu Sans Mono">(define-syntax/parse 1977 (define-graph-contract (name g-descriptor arg &#8230;) . body) </font> 1978 </p> 1979 <p color="#000000" style="color: #000000"> 1980 <font style="font-size:12;" face="DejaVu Sans Mono">#'(define-syntax 1981 name </font> 1982 </p> 1983 <p color="#000000" style="color: #000000"> 1984 <font style="font-size:12;" face="DejaVu Sans Mono">(graph-contract </font> 1985 </p> 1986 <p color="#000000" style="color: #000000"> 1987 <font style="font-size:12;" face="DejaVu Sans Mono">(&#955; (g-descriptor arg 1988 &#8230;) . body)))) </font> 1989 </p> 1990 <p color="#000000" style="color: #000000"> 1991 1992 </p> 1993 </body> 1994 </html> 1995 </richText> 1996 <label>(define-syntax/parse (define-graph-contract (name g-descriptor arg …) . 1997 body) #'(define-syntax name (graph-contract (λ (g-descriptor arg …) . body))))</label> 1998 </child> 1999 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2000 </child> 2001 <child ID="339" layerID="1" created="1479323727259" x="68.35225" 2002 y="1077.2448" width="124.80871" height="179.5" strokeWidth="1.0" 2003 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2004 <strokeColor>#000000</strokeColor> 2005 <textColor>#404040</textColor> 2006 <font>SansSerif-plain-11</font> 2007 <URIString>http://vue.tufts.edu/rdf/resource/6e9111d4c0a80026616d9239034cd2a4</URIString> 2008 <point1 x="192.66096" y="1077.7448"/> 2009 <point2 x="68.85226" y="1256.2448"/> 2010 <ID1 xsi:type="node">293</ID1> 2011 <ID2 xsi:type="node">335</ID2> 2012 </child> 2013 <child ID="340" layerID="1" created="1479323738615" x="-640.4145" 2014 y="1317.7285" width="353.8852" height="10.250732" 2015 strokeWidth="1.0" autoSized="false" controlCount="0" 2016 arrowState="2" xsi:type="link"> 2017 <strokeColor>#000000</strokeColor> 2018 <textColor>#404040</textColor> 2019 <font>SansSerif-plain-11</font> 2020 <URIString>http://vue.tufts.edu/rdf/resource/6e9111d4c0a80026616d92391e592054</URIString> 2021 <point1 x="-639.9145" y="1318.2285"/> 2022 <point2 x="-287.0293" y="1327.4792"/> 2023 <ID1 xsi:type="node">328</ID1> 2024 <ID2 xsi:type="node">335</ID2> 2025 </child> 2026 <child ID="342" 2027 label="Define a wrapper, which may alter the input value and input types, and the output value and output types" 2028 layerID="1" created="1479326681064" x="347.9707" y="1262.2448" 2029 width="726.0" height="202.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2030 <fillColor>#F2AE45</fillColor> 2031 <strokeColor>#776D6D</strokeColor> 2032 <textColor>#000000</textColor> 2033 <font>SansSerif-plain-12</font> 2034 <URIString>http://vue.tufts.edu/rdf/resource/6ec139a9c0a80026616d923967bf1cb6</URIString> 2035 <child ID="346" 2036 label="The body should return one transformer function per node type, plus one more transformer function." 2037 created="1479328512808" x="34.0" y="23.0" width="830.6667" 2038 height="25.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 2039 <fillColor>#F2AE45</fillColor> 2040 <strokeColor>#776D6D</strokeColor> 2041 <textColor>#000000</textColor> 2042 <font>SansSerif-plain-12</font> 2043 <URIString>http://vue.tufts.edu/rdf/resource/6ee8e020c0a80026616d9239a263353a</URIString> 2044 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2045 </child> 2046 <child ID="348" 2047 label="The transformer functions have the following type:" 2048 created="1479328987933" x="34.0" y="44.75" width="339.0" 2049 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2050 <fillColor>#F2AE45</fillColor> 2051 <strokeColor>#776D6D</strokeColor> 2052 <textColor>#000000</textColor> 2053 <font>SansSerif-plain-12</font> 2054 <URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d9239ad712d82</URIString> 2055 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2056 </child> 2057 <child ID="352" 2058 label="(-> syntax? (listof syntax?) (values 
 boolean? syntax?))" 2059 created="1479329393216" x="34.0" y="65.0" width="460.0" 2060 height="18.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> 2061 <strokeColor>#404040</strokeColor> 2062 <textColor>#000000</textColor> 2063 <font>DejaVu Sans Mono-plain-12</font> 2064 <URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d92391acf1941</URIString> 2065 <richText><html> 2066 <head color="#000000" style="color: #000000"> 2067 <style type="text/css"> 2068 <!-- 2069 body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 } 2070 ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside } 2071 p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } 2072 ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } 2073 --> 2074 </style> 2075 2076 </head> 2077 <body> 2078 <p color="#000000" style="color: #000000"> 2079 <font face="DejaVu Sans Mono">(-&gt; syntax? (listof syntax?) (values 2080 boolean? syntax?))</font> 2081 </p> 2082 </body> 2083 </html> 2084 </richText> 2085 <label>(-> syntax? (listof syntax?) (values 2086 boolean? syntax?))</label> 2087 </child> 2088 <child ID="351" 2089 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" 2090 created="1479329173663" x="34.0" y="86.0" width="858.0" 2091 height="59.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 2092 <fillColor>#F2AE45</fillColor> 2093 <strokeColor>#776D6D</strokeColor> 2094 <textColor>#000000</textColor> 2095 <font>SansSerif-plain-12</font> 2096 <URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d9239b05b1b10</URIString> 2097 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2098 </child> 2099 <child ID="344" 2100 label="(define-syntax/parse (define-graph-wrapper (name g-descriptor argᵢ …) . 
 body) #'(define-syntax name (graph-wrapper (λ (g-descriptor argᵢ …) . body))))" 2101 created="1479326880502" x="34.0" y="133.25" width="575.0" 2102 height="63.0" strokeWidth="0.0" autoSized="false" xsi:type="text"> 2103 <strokeColor>#404040</strokeColor> 2104 <textColor>#000000</textColor> 2105 <font>SansSerif-plain-14</font> 2106 <URIString>http://vue.tufts.edu/rdf/resource/6ec139a9c0a80026616d9239a14dd476</URIString> 2107 <richText><html> 2108 <head color="#000000" style="color: #000000"> 2109 <style type="text/css"> 2110 <!-- 2111 body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 } 2112 ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside } 2113 p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 } 2114 ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif } 2115 --> 2116 </style> 2117 2118 </head> 2119 <body> 2120 <p color="#000000" style="color: #000000"> 2121 <font face="DejaVu Sans Mono">(define-syntax/parse (define-graph-wrapper 2122 (name g-descriptor arg&#7522; &#8230;) . body) </font> 2123 </p> 2124 <p color="#000000" style="color: #000000"> 2125 <font face="DejaVu Sans Mono">#'(define-syntax name </font> 2126 </p> 2127 <p color="#000000" style="color: #000000"> 2128 <font face="DejaVu Sans Mono">(graph-wrapper </font> 2129 </p> 2130 <p color="#000000" style="color: #000000"> 2131 <font face="DejaVu Sans Mono">(&#955; (g-descriptor arg&#7522; &#8230;) . body))))</font> 2132 </p> 2133 </body> 2134 </html> 2135 </richText> 2136 <label>(define-syntax/parse (define-graph-wrapper (name g-descriptor argᵢ …) . 2137 body) #'(define-syntax name (graph-wrapper (λ (g-descriptor argᵢ …) . body))))</label> 2138 </child> 2139 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2140 </child> 2141 <child ID="345" layerID="1" created="1479326900002" x="219.88948" 2142 y="1077.2448" width="317.8918" height="185.5" strokeWidth="1.0" 2143 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2144 <strokeColor>#404040</strokeColor> 2145 <textColor>#404040</textColor> 2146 <font>SansSerif-plain-11</font> 2147 <URIString>http://vue.tufts.edu/rdf/resource/6ec139aac0a80026616d92397220832f</URIString> 2148 <point1 x="220.3895" y="1077.7448"/> 2149 <point2 x="537.2813" y="1262.2448"/> 2150 <ID1 xsi:type="node">293</ID1> 2151 <ID2 xsi:type="node">342</ID2> 2152 </child> 2153 <child ID="353" label="Garbage collection" layerID="1" 2154 created="1479341039823" x="1477.9707" y="129.74475" 2155 width="136.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2156 <fillColor>#8AEE95</fillColor> 2157 <strokeColor>#776D6D</strokeColor> 2158 <textColor>#000000</textColor> 2159 <font>SansSerif-plain-12</font> 2160 <URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d92398f0f2135</URIString> 2161 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2162 </child> 2163 <child ID="354" layerID="1" created="1479341039825" x="1401.7124" 2164 y="152.24463" width="138.59094" height="257.55835" 2165 strokeWidth="1.0" autoSized="false" controlCount="0" 2166 arrowState="2" xsi:type="link"> 2167 <strokeColor>#404040</strokeColor> 2168 <textColor>#404040</textColor> 2169 <font>SansSerif-plain-11</font> 2170 <URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d92393e0bc6fe</URIString> 2171 <point1 x="1402.2124" y="409.30298"/> 2172 <point2 x="1539.8033" y="152.74463"/> 2173 <ID1 xsi:type="node">15</ID1> 2174 <ID2 xsi:type="node">353</ID2> 2175 </child> 2176 <child ID="355" label="Too hard to implement for now" layerID="1" 2177 created="1479341061597" x="1622.9707" y="-37.25525" 2178 width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2179 <fillColor>#A6A6A6</fillColor> 2180 <strokeColor>#776D6D</strokeColor> 2181 <textColor>#000000</textColor> 2182 <font>SansSerif-plain-12</font> 2183 <URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d9239f16e4b43</URIString> 2184 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2185 </child> 2186 <child ID="356" layerID="1" created="1479341061598" x="1558.0037" 2187 y="-14.755249" width="157.93408" height="145.0" 2188 strokeWidth="1.0" autoSized="false" controlCount="0" 2189 arrowState="2" xsi:type="link"> 2190 <strokeColor>#404040</strokeColor> 2191 <textColor>#404040</textColor> 2192 <font>SansSerif-plain-11</font> 2193 <URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d923937836369</URIString> 2194 <point1 x="1558.5037" y="129.74475"/> 2195 <point2 x="1715.4377" y="-14.255249"/> 2196 <ID1 xsi:type="node">353</ID1> 2197 <ID2 xsi:type="node">355</ID2> 2198 </child> 2199 <child ID="357" label="Row polymorphism" layerID="1" 2200 created="1479345782598" x="1853.9707" y="409.74475" 2201 width="129.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2202 <fillColor>#8AEE95</fillColor> 2203 <strokeColor>#776D6D</strokeColor> 2204 <textColor>#000000</textColor> 2205 <font>SansSerif-plain-12</font> 2206 <URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d92392b2a40f2</URIString> 2207 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2208 </child> 2209 <child ID="358" layerID="1" created="1479345782600" x="1419.6936" 2210 y="432.24475" width="454.7085" height="118.06995" 2211 strokeWidth="1.0" autoSized="false" controlCount="0" 2212 arrowState="2" xsi:type="link"> 2213 <strokeColor>#404040</strokeColor> 2214 <textColor>#404040</textColor> 2215 <font>SansSerif-plain-11</font> 2216 <URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d9239f2e33d1e</URIString> 2217 <point1 x="1420.1936" y="549.8147"/> 2218 <point2 x="1873.9021" y="432.74475"/> 2219 <ID1 xsi:type="node">6</ID1> 2220 <ID2 xsi:type="node">357</ID2> 2221 </child> 2222 <child ID="359" label="Extending existing graph types" layerID="1" 2223 created="1479345797404" x="1045.9707" y="204.74475" 2224 width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2225 <fillColor>#8AEE95</fillColor> 2226 <strokeColor>#776D6D</strokeColor> 2227 <textColor>#000000</textColor> 2228 <font>SansSerif-plain-12</font> 2229 <URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d9239be9c047a</URIString> 2230 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2231 </child> 2232 <child ID="360" layerID="1" created="1479345797406" x="1158.7649" 2233 y="227.24475" width="229.48596" height="317.8009" 2234 strokeWidth="1.0" autoSized="false" controlCount="0" 2235 arrowState="2" xsi:type="link"> 2236 <strokeColor>#404040</strokeColor> 2237 <textColor>#404040</textColor> 2238 <font>SansSerif-plain-11</font> 2239 <URIString>http://vue.tufts.edu/rdf/resource/6fe22189c0a80026616d9239eb7ccf81</URIString> 2240 <point1 x="1387.7509" y="544.54565"/> 2241 <point2 x="1159.2649" y="227.74475"/> 2242 <ID1 xsi:type="node">6</ID1> 2243 <ID2 xsi:type="node">359</ID2> 2244 </child> 2245 <child ID="361" label="Define a graph-info structure" layerID="1" 2246 created="1479345850749" x="752.9707" y="171.74475" width="230.0" 2247 height="46.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2248 <fillColor>#FEFD8C</fillColor> 2249 <strokeColor>#776D6D</strokeColor> 2250 <textColor>#000000</textColor> 2251 <font>SansSerif-plain-12</font> 2252 <URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d9239fd7f5890</URIString> 2253 <child ID="365" label="copy from old implementation" 2254 created="1479346259321" x="34.0" y="23.0" width="200.0" 2255 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2256 <fillColor>#C1F780</fillColor> 2257 <strokeColor>#776D6D</strokeColor> 2258 <textColor>#000000</textColor> 2259 <font>SansSerif-plain-12</font> 2260 <URIString>http://vue.tufts.edu/rdf/resource/6fe8bf99c0a80026616d9239dee715fd</URIString> 2261 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2262 </child> 2263 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2264 </child> 2265 <child ID="362" layerID="1" created="1479345850751" x="982.4707" 2266 y="203.0557" width="66.3761" height="5.937851" strokeWidth="1.0" 2267 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2268 <strokeColor>#404040</strokeColor> 2269 <textColor>#404040</textColor> 2270 <font>SansSerif-plain-11</font> 2271 <URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d92393d9d5229</URIString> 2272 <point1 x="1048.3468" y="208.49356"/> 2273 <point2 x="982.9707" y="203.55571"/> 2274 <ID1 xsi:type="node">359</ID1> 2275 <ID2 xsi:type="node">361</ID2> 2276 </child> 2277 <child ID="363" 2278 label="A graph transformation lists its accepted input types, we have to make the code within work with all" 2279 layerID="1" created="1479345855459" x="2831.9707" y="421.74475" 2280 width="660.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2281 <fillColor>#C1F780</fillColor> 2282 <strokeColor>#776D6D</strokeColor> 2283 <textColor>#000000</textColor> 2284 <font>SansSerif-plain-12</font> 2285 <URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d92392fbc03c6</URIString> 2286 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2287 </child> 2288 <child ID="364" layerID="1" created="1479345855461" x="1982.4707" 2289 y="421.3672" width="850.33936" height="9.196289" 2290 strokeWidth="1.0" autoSized="false" controlCount="0" 2291 arrowState="2" xsi:type="link"> 2292 <strokeColor>#404040</strokeColor> 2293 <textColor>#404040</textColor> 2294 <font>SansSerif-plain-11</font> 2295 <URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d9239976c9ae7</URIString> 2296 <point1 x="1982.9707" y="421.8672"/> 2297 <point2 x="2832.31" y="430.06348"/> 2298 <ID1 xsi:type="node">357</ID1> 2299 <ID2 xsi:type="node">363</ID2> 2300 </child> 2301 <child ID="366" label="Define a wrapper syntax with + - ±" 2302 layerID="1" created="1479346280567" x="744.9707" y="239.74475" 2303 width="266.0" height="67.25" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2304 <fillColor>#FEFD8C</fillColor> 2305 <strokeColor>#776D6D</strokeColor> 2306 <textColor>#000000</textColor> 2307 <font>SansSerif-plain-12</font> 2308 <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d923958a3c2b1</URIString> 2309 <child ID="368" label="Fetch the old graph info" 2310 created="1479346367496" x="34.0" y="23.0" width="167.0" 2311 height="24.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 2312 <fillColor>#FEFD8C</fillColor> 2313 <strokeColor>#776D6D</strokeColor> 2314 <textColor>#000000</textColor> 2315 <font>SansSerif-plain-12</font> 2316 <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239749dd475</URIString> 2317 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2318 </child> 2319 <child ID="369" label="Add/remove fields" 2320 created="1479346381443" x="34.0" y="44.0" width="184.0" 2321 height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 2322 <fillColor>#FEFD8C</fillColor> 2323 <strokeColor>#776D6D</strokeColor> 2324 <textColor>#000000</textColor> 2325 <font>SansSerif-plain-12</font> 2326 <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239715edb34</URIString> 2327 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2328 </child> 2329 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2330 </child> 2331 <child ID="367" layerID="1" created="1479346280569" x="1009.5972" 2332 y="227.24475" width="86.91492" height="18.97763" 2333 strokeWidth="1.0" autoSized="false" controlCount="0" 2334 arrowState="2" xsi:type="link"> 2335 <strokeColor>#404040</strokeColor> 2336 <textColor>#404040</textColor> 2337 <font>SansSerif-plain-11</font> 2338 <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239cdd2238d</URIString> 2339 <point1 x="1096.0122" y="227.74475"/> 2340 <point2 x="1010.0973" y="245.72238"/> 2341 <ID1 xsi:type="node">359</ID1> 2342 <ID2 xsi:type="node">366</ID2> 2343 </child> 2344 <child ID="370" 2345 label="What about invariants?
* Just copy them over syntactically?
* Require that they are re-specified
(at least by explicitly copying them by their name)" 2346 layerID="1" created="1479346589797" x="788.9707" y="332.74475" 2347 width="329.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2348 <fillColor>#F2AE45</fillColor> 2349 <strokeColor>#776D6D</strokeColor> 2350 <textColor>#000000</textColor> 2351 <font>SansSerif-plain-12</font> 2352 <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239ae9362ed</URIString> 2353 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2354 </child> 2355 <child ID="371" layerID="1" created="1479346589799" x="997.58856" 2356 y="227.24475" width="138.79065" height="106.0" strokeWidth="1.0" 2357 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2358 <strokeColor>#404040</strokeColor> 2359 <textColor>#404040</textColor> 2360 <font>SansSerif-plain-11</font> 2361 <URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d92394b902499</URIString> 2362 <point1 x="1135.8793" y="227.74475"/> 2363 <point2 x="998.0886" y="332.74475"/> 2364 <ID1 xsi:type="node">359</ID1> 2365 <ID2 xsi:type="node">370</ID2> 2366 </child> 2367 <child ID="372" 2368 label="Need to make split / with / merge work with nodes,
or at least make the basic graph transformations work with explicit row polymorphism" 2369 layerID="1" created="1479347912017" x="1595.9707" y="268.74475" 2370 width="565.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2371 <fillColor>#C1F780</fillColor> 2372 <strokeColor>#776D6D</strokeColor> 2373 <textColor>#000000</textColor> 2374 <font>SansSerif-plain-12</font> 2375 <URIString>http://vue.tufts.edu/rdf/resource/7002a307c0a80026616d9239fea067fb</URIString> 2376 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2377 </child> 2378 <child ID="373" layerID="1" created="1479347912025" x="1883.6636" 2379 y="306.24463" width="31.861328" height="104.0" strokeWidth="1.0" 2380 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2381 <strokeColor>#404040</strokeColor> 2382 <textColor>#404040</textColor> 2383 <font>SansSerif-plain-11</font> 2384 <URIString>http://vue.tufts.edu/rdf/resource/7002a308c0a80026616d9239fd1b7118</URIString> 2385 <point1 x="1915.0249" y="409.74463"/> 2386 <point2 x="1884.1636" y="306.74463"/> 2387 <ID1 xsi:type="node">357</ID1> 2388 <ID2 xsi:type="node">372</ID2> 2389 </child> 2390 <child ID="376" 2391 label="Provide a "with" form, so that mappings can extend or alter the inputs?" 2392 layerID="1" created="1479385905764" x="3414.6375" y="491.74475" 2393 width="473.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2394 <fillColor>#C1F780</fillColor> 2395 <strokeColor>#776D6D</strokeColor> 2396 <textColor>#000000</textColor> 2397 <font>SansSerif-plain-12</font> 2398 <URIString>http://vue.tufts.edu/rdf/resource/72463402c0a8002633539faa9129b25a</URIString> 2399 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2400 </child> 2401 <child ID="377" layerID="1" created="1479385905770" x="3241.834" 2402 y="444.24475" width="329.44043" height="48.0" strokeWidth="1.0" 2403 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2404 <strokeColor>#404040</strokeColor> 2405 <textColor>#404040</textColor> 2406 <font>SansSerif-plain-11</font> 2407 <URIString>http://vue.tufts.edu/rdf/resource/72463402c0a8002633539faadc8678cc</URIString> 2408 <point1 x="3242.334" y="444.74475"/> 2409 <point2 x="3570.7744" y="491.74475"/> 2410 <ID1 xsi:type="node">363</ID1> 2411 <ID2 xsi:type="node">376</ID2> 2412 </child> 2413 <child ID="380" label="Solutions" layerID="1" 2414 created="1479386183958" x="2847.6375" y="551.74475" 2415 width="626.25" height="128.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2416 <fillColor>#F2AE45</fillColor> 2417 <strokeColor>#776D6D</strokeColor> 2418 <textColor>#000000</textColor> 2419 <font>SansSerif-plain-12</font> 2420 <URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa8116b929</URIString> 2421 <child ID="378" 2422 label="Solution 1: hide the extra fields in the "raw" field" 2423 created="1479386144228" x="34.0" y="23.0" width="324.0" 2424 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2425 <fillColor>#A6A6A6</fillColor> 2426 <strokeColor>#776D6D</strokeColor> 2427 <textColor>#000000</textColor> 2428 <font>SansSerif-plain-12</font> 2429 <URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa04884126</URIString> 2430 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2431 </child> 2432 <child ID="382" 2433 label="Solution 2: allow the use of split/with/merge, auto-insert a mergefor the + - ± cases" 2434 created="1479386844095" x="34.0" y="43.25" width="562.0" 2435 height="24.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 2436 <fillColor>#FEFD8C</fillColor> 2437 <strokeColor>#776D6D</strokeColor> 2438 <textColor>#000000</textColor> 2439 <font>SansSerif-plain-12</font> 2440 <URIString>http://vue.tufts.edu/rdf/resource/7254d752c0a8002633539faa3f2cc14b</URIString> 2441 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2442 </child> 2443 <child ID="383" 2444 label="Solution 3: in the mapping signature, explicitly indicate a row type variable" 2445 created="1479386922237" x="34.0" y="64.25" width="491.0" 2446 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2447 <fillColor>#E6F7FD</fillColor> 2448 <strokeColor>#776D6D</strokeColor> 2449 <textColor>#000000</textColor> 2450 <font>SansSerif-plain-12</font> 2451 <URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faa375d2f0c</URIString> 2452 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2453 </child> 2454 <child ID="374" 2455 label="Partial solution: for mappings which specify a derived type (with + - ±) for their output, auto-copy the remaining fields?" 2456 created="1479385818415" x="34.0" y="84.5" width="782.0" 2457 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2458 <fillColor>#E6F7FD</fillColor> 2459 <strokeColor>#776D6D</strokeColor> 2460 <textColor>#000000</textColor> 2461 <font>SansSerif-plain-12</font> 2462 <URIString>http://vue.tufts.edu/rdf/resource/72463400c0a8002633539faa503d1c44</URIString> 2463 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2464 </child> 2465 <child ID="393" 2466 label="Allow limited-field mappings (mappings from n to m fields of a node, keeping the rest intact)" 2467 created="1479387268964" x="34.0" y="104.75" width="604.0" 2468 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2469 <fillColor>#E6F7FD</fillColor> 2470 <strokeColor>#776D6D</strokeColor> 2471 <textColor>#000000</textColor> 2472 <font>SansSerif-plain-12</font> 2473 <URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faae6c01aeb</URIString> 2474 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2475 </child> 2476 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2477 </child> 2478 <child ID="381" layerID="1" created="1479386183961" x="3160.686" 2479 y="444.21875" width="1.7087402" height="108.03125" 2480 strokeWidth="1.0" autoSized="false" controlCount="0" 2481 arrowState="2" xsi:type="link"> 2482 <strokeColor>#404040</strokeColor> 2483 <textColor>#404040</textColor> 2484 <font>SansSerif-plain-11</font> 2485 <URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa48b8542b</URIString> 2486 <point1 x="3161.8948" y="444.71875"/> 2487 <point2 x="3161.186" y="551.75"/> 2488 <ID1 xsi:type="node">363</ID1> 2489 <ID2 xsi:type="node">380</ID2> 2490 </child> 2491 <child ID="387" 2492 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" 2493 layerID="1" created="1479387124402" x="3501.6375" y="581.24475" 2494 width="645.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2495 <fillColor>#FC938D</fillColor> 2496 <strokeColor>#776D6D</strokeColor> 2497 <textColor>#000000</textColor> 2498 <font>SansSerif-plain-12</font> 2499 <URIString>http://vue.tufts.edu/rdf/resource/725bf583c0a8002633539faa15a27783</URIString> 2500 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2501 </child> 2502 <child ID="390" layerID="1" created="1479387136326" x="3302.6375" 2503 y="601.39746" width="199.5" height="2.017212" strokeWidth="1.0" 2504 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2505 <strokeColor>#404040</strokeColor> 2506 <textColor>#404040</textColor> 2507 <font>SansSerif-plain-11</font> 2508 <URIString>http://vue.tufts.edu/rdf/resource/725bf583c0a8002633539faa21ba73d6</URIString> 2509 <point1 x="3303.1375" y="602.9147"/> 2510 <point2 x="3501.6375" y="601.89746"/> 2511 <ID1 xsi:type="node">382</ID1> 2512 <ID2 xsi:type="node">387</ID2> 2513 </child> 2514 <child ID="395" 2515 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" 2516 layerID="1" created="1479387466709" x="3503.6375" y="652.74475" 2517 width="870.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2518 <fillColor>#A6A6A6</fillColor> 2519 <strokeColor>#776D6D</strokeColor> 2520 <textColor>#000000</textColor> 2521 <font>SansSerif-plain-12</font> 2522 <URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faafb0eb90d</URIString> 2523 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2524 </child> 2525 <child ID="396" layerID="1" created="1479387466711" x="3854.0645" 2526 y="618.74475" width="54.64673" height="34.5" strokeWidth="1.0" 2527 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2528 <strokeColor>#404040</strokeColor> 2529 <textColor>#404040</textColor> 2530 <font>SansSerif-plain-11</font> 2531 <URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faa97a18d9d</URIString> 2532 <point1 x="3854.5642" y="619.24475"/> 2533 <point2 x="3908.211" y="652.74475"/> 2534 <ID1 xsi:type="node">387</ID1> 2535 <ID2 xsi:type="node">395</ID2> 2536 </child> 2537 <child ID="397" label="Polymorphic node types" layerID="1" 2538 created="1479387905581" x="1708.6375" y="727.74475" 2539 width="166.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2540 <fillColor>#8AEE95</fillColor> 2541 <strokeColor>#776D6D</strokeColor> 2542 <textColor>#000000</textColor> 2543 <font>SansSerif-plain-12</font> 2544 <URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faacd029888</URIString> 2545 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2546 </child> 2547 <child ID="398" layerID="1" created="1479387905582" x="1416.4615" 2548 y="565.2322" width="350.84326" height="163.01257" 2549 strokeWidth="1.0" autoSized="false" controlCount="0" 2550 arrowState="2" xsi:type="link"> 2551 <strokeColor>#404040</strokeColor> 2552 <textColor>#404040</textColor> 2553 <font>SansSerif-plain-11</font> 2554 <URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faa2503ab0e</URIString> 2555 <point1 x="1416.9615" y="565.7322"/> 2556 <point2 x="1766.8048" y="727.74475"/> 2557 <ID1 xsi:type="node">6</ID1> 2558 <ID2 xsi:type="node">397</ID2> 2559 </child> 2560 <child ID="400" layerID="1" created="1479387927584" x="1792.5825" 2561 y="432.24463" width="117.076416" height="296.0005" 2562 strokeWidth="1.0" autoSized="false" controlCount="1" 2563 arrowState="2" xsi:type="link"> 2564 <strokeColor>#404040</strokeColor> 2565 <textColor>#404040</textColor> 2566 <font>SansSerif-plain-11</font> 2567 <URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faaa932392e</URIString> 2568 <point1 x="1793.0825" y="727.7451"/> 2569 <point2 x="1909.1589" y="432.74463"/> 2570 <ID1 xsi:type="node">397</ID1> 2571 <ID2 xsi:type="node">357</ID2> 2572 <ctrlPoint0 x="1815.6375" y="548.24475" xsi:type="point"/> 2573 </child> 2574 <child ID="404" layerID="1" created="1479387967910" x="1801.7073" 2575 y="432.25" width="117.14758" height="295.99475" 2576 strokeWidth="1.0" autoSized="false" controlCount="1" 2577 arrowState="2" xsi:type="link"> 2578 <strokeColor>#404040</strokeColor> 2579 <textColor>#404040</textColor> 2580 <font>SansSerif-plain-11</font> 2581 <URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa8f40befb</URIString> 2582 <point1 x="1918.3549" y="432.75"/> 2583 <point2 x="1802.2073" y="727.74475"/> 2584 <ID1 xsi:type="node">357</ID1> 2585 <ID2 xsi:type="node">397</ID2> 2586 <ctrlPoint0 x="1916.6375" y="603.24475" xsi:type="point"/> 2587 </child> 2588 <child ID="406" layerID="1" created="1479388021013" x="211.80775" 2589 y="717.66406" width="125.32594" height="337.5807" 2590 strokeWidth="1.0" autoSized="false" controlCount="1" 2591 arrowState="2" xsi:type="link"> 2592 <strokeColor>#404040</strokeColor> 2593 <textColor>#404040</textColor> 2594 <font>SansSerif-plain-11</font> 2595 <URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa3cb33fdb</URIString> 2596 <point1 x="336.6337" y="718.16406"/> 2597 <point2 x="212.30775" y="1054.7448"/> 2598 <ID1 xsi:type="node">134</ID1> 2599 <ID2 xsi:type="node">293</ID2> 2600 <ctrlPoint0 x="337.63745" y="931.24475" xsi:type="point"/> 2601 </child> 2602 <child ID="408" layerID="1" created="1479388041109" x="-268.36255" 2603 y="679.2012" width="451.3379" height="201.54358" 2604 strokeWidth="1.0" autoSized="false" controlCount="1" 2605 arrowState="2" xsi:type="link"> 2606 <strokeColor>#000000</strokeColor> 2607 <textColor>#404040</textColor> 2608 <font>SansSerif-plain-11</font> 2609 <URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa9a64a9f9</URIString> 2610 <point1 x="182.47534" y="679.7012"/> 2611 <point2 x="-267.86255" y="880.24475"/> 2612 <ID1 xsi:type="node">295</ID1> 2613 <ID2 xsi:type="node">291</ID2> 2614 <ctrlPoint0 x="179.63745" y="880.24475" xsi:type="point"/> 2615 </child> 2616 <child ID="409" layerID="1" created="1479388138737" x="1408.7244" 2617 y="1172.803" width="150.40967" height="45.793213" 2618 strokeWidth="1.0" autoSized="false" controlCount="1" 2619 arrowState="2" xsi:type="link"> 2620 <strokeColor>#000000</strokeColor> 2621 <textColor>#404040</textColor> 2622 <font>SansSerif-plain-11</font> 2623 <URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faa2223c3fb</URIString> 2624 <point1 x="1409.2244" y="1173.303"/> 2625 <point2 x="1558.634" y="1218.0962"/> 2626 <ID1 xsi:type="node">25</ID1> 2627 <ID2 xsi:type="node">44</ID2> 2628 <ctrlPoint0 x="1464.6375" y="1218.2448" xsi:type="point"/> 2629 </child> 2630 <child ID="410" layerID="1" created="1479388143803" x="1399.9028" 2631 y="1172.803" width="119.57471" height="96.49426" 2632 strokeWidth="1.0" autoSized="false" controlCount="1" 2633 arrowState="2" xsi:type="link"> 2634 <strokeColor>#000000</strokeColor> 2635 <textColor>#404040</textColor> 2636 <font>SansSerif-plain-11</font> 2637 <URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faacb736715</URIString> 2638 <point1 x="1400.4028" y="1173.303"/> 2639 <point2 x="1518.9775" y="1268.7972"/> 2640 <ID1 xsi:type="node">25</ID1> 2641 <ID2 xsi:type="node">42</ID2> 2642 <ctrlPoint0 x="1444.6375" y="1268.2448" xsi:type="point"/> 2643 </child> 2644 <child ID="411" layerID="1" created="1479388189966" x="1296.6572" 2645 y="1172.803" width="93.310425" height="76.42578" 2646 strokeWidth="1.0" autoSized="false" controlCount="1" 2647 arrowState="2" xsi:type="link"> 2648 <strokeColor>#404040</strokeColor> 2649 <textColor>#404040</textColor> 2650 <font>SansSerif-plain-11</font> 2651 <URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faad8be8121</URIString> 2652 <point1 x="1389.4677" y="1173.303"/> 2653 <point2 x="1297.1572" y="1248.7288"/> 2654 <ID1 xsi:type="node">25</ID1> 2655 <ID2 xsi:type="node">27</ID2> 2656 <ctrlPoint0 x="1352.6375" y="1249.2448" xsi:type="point"/> 2657 </child> 2658 <child ID="412" 2659 label="Already implemented for tagged structures,
should not be too hard to make it work for graphs" 2660 layerID="1" created="1479389260693" x="1793.6375" y="790.74475" 2661 width="338.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2662 <fillColor>#FEFD8C</fillColor> 2663 <strokeColor>#776D6D</strokeColor> 2664 <textColor>#000000</textColor> 2665 <font>SansSerif-plain-12</font> 2666 <URIString>http://vue.tufts.edu/rdf/resource/7279521dc0a8002633539faa9926c093</URIString> 2667 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2668 </child> 2669 <child ID="413" layerID="1" created="1479389260695" x="1819.031" 2670 y="750.24475" width="98.02136" height="41.0" strokeWidth="1.0" 2671 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2672 <strokeColor>#404040</strokeColor> 2673 <textColor>#404040</textColor> 2674 <font>SansSerif-plain-11</font> 2675 <URIString>http://vue.tufts.edu/rdf/resource/7279521dc0a8002633539faa28480501</URIString> 2676 <point1 x="1819.531" y="750.74475"/> 2677 <point2 x="1916.5524" y="790.74475"/> 2678 <ID1 xsi:type="node">397</ID1> 2679 <ID2 xsi:type="node">412</ID2> 2680 </child> 2681 <child ID="414" 2682 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*" 2683 layerID="1" created="1479390037236" x="3858.6375" y="740.74475" 2684 width="466.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2685 <fillColor>#A6A6A6</fillColor> 2686 <strokeColor>#776D6D</strokeColor> 2687 <textColor>#000000</textColor> 2688 <font>SansSerif-plain-12</font> 2689 <URIString>http://vue.tufts.edu/rdf/resource/7287a2ccc0a8002633539faa8697b9f3</URIString> 2690 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2691 </child> 2692 <child ID="415" layerID="1" created="1479390037237" x="3968.5771" 2693 y="690.24475" width="81.10449" height="51.0" strokeWidth="1.0" 2694 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2695 <strokeColor>#404040</strokeColor> 2696 <textColor>#404040</textColor> 2697 <font>SansSerif-plain-11</font> 2698 <URIString>http://vue.tufts.edu/rdf/resource/7287a2ccc0a8002633539faa2c556ff8</URIString> 2699 <point1 x="3969.0771" y="690.74475"/> 2700 <point2 x="4049.1816" y="740.74475"/> 2701 <ID1 xsi:type="node">395</ID1> 2702 <ID2 xsi:type="node">414</ID2> 2703 </child> 2704 <child ID="416" 2705 label="This does not allowof mixing the explicit with* for structures and the node-with*" 2706 layerID="1" created="1479390248006" x="4378.6377" y="811.74475" 2707 width="526.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2708 <fillColor>#FC938D</fillColor> 2709 <strokeColor>#776D6D</strokeColor> 2710 <textColor>#000000</textColor> 2711 <font>SansSerif-plain-12</font> 2712 <URIString>http://vue.tufts.edu/rdf/resource/7288d8b8c0a8002633539faa3849d5b4</URIString> 2713 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2714 </child> 2715 <child ID="419" layerID="1" created="1479390353025" x="3301.897" 2716 y="514.24475" width="318.7273" height="85.60602" 2717 strokeWidth="1.0" autoSized="false" controlCount="1" 2718 arrowState="2" xsi:type="link"> 2719 <strokeColor>#404040</strokeColor> 2720 <textColor>#404040</textColor> 2721 <font>SansSerif-plain-11</font> 2722 <URIString>http://vue.tufts.edu/rdf/resource/7289950ec0a8002633539faa78352364</URIString> 2723 <point1 x="3302.397" y="599.35077"/> 2724 <point2 x="3620.1243" y="514.74475"/> 2725 <ID1 xsi:type="node">382</ID1> 2726 <ID2 xsi:type="node">376</ID2> 2727 <ctrlPoint0 x="3397.6375" y="597.24475" xsi:type="point"/> 2728 </child> 2729 <child ID="420" 2730 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)" 2731 layerID="1" created="1479402724372" x="4412.6377" y="757.74475" 2732 width="801.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2733 <fillColor>#FC938D</fillColor> 2734 <strokeColor>#776D6D</strokeColor> 2735 <textColor>#000000</textColor> 2736 <font>SansSerif-plain-12</font> 2737 <URIString>http://vue.tufts.edu/rdf/resource/734b04c1afd9d7675fea10f2925b4ae0</URIString> 2738 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2739 </child> 2740 <child ID="423" 2741 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)." 2742 layerID="1" created="1479403067621" x="3020.6375" y="765.24475" 2743 width="562.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2744 <fillColor>#E6F7FD</fillColor> 2745 <strokeColor>#776D6D</strokeColor> 2746 <textColor>#000000</textColor> 2747 <font>SansSerif-plain-12</font> 2748 <URIString>http://vue.tufts.edu/rdf/resource/7353a85bafd9d7675fea10f24895dc43</URIString> 2749 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2750 </child> 2751 <child ID="424" layerID="1" created="1479403607747" x="3078.0073" 2752 y="632.74475" width="196.0542" height="133.0" strokeWidth="1.0" 2753 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2754 <strokeColor>#404040</strokeColor> 2755 <textColor>#404040</textColor> 2756 <font>SansSerif-plain-11</font> 2757 <URIString>http://vue.tufts.edu/rdf/resource/7353a85bafd9d7675fea10f2505e36aa</URIString> 2758 <point1 x="3078.5073" y="633.24475"/> 2759 <point2 x="3273.5615" y="765.24475"/> 2760 <ID1 xsi:type="node">383</ID1> 2761 <ID2 xsi:type="node">423</ID2> 2762 </child> 2763 <child ID="394" 2764 label="Won't handle gracefully the case of mappings returning nested nodes" 2765 layerID="1" created="1479387344773" x="3337.1375" y="716.74475" 2766 width="468.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2767 <fillColor>#FC938D</fillColor> 2768 <strokeColor>#776D6D</strokeColor> 2769 <textColor>#000000</textColor> 2770 <font>SansSerif-plain-12</font> 2771 <URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faa75b6ba0c</URIString> 2772 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2773 </child> 2774 <child ID="425" layerID="1" created="1479403710634" x="3170.8987" 2775 y="673.24475" width="316.39014" height="44.0" strokeWidth="1.0" 2776 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2777 <strokeColor>#404040</strokeColor> 2778 <textColor>#404040</textColor> 2779 <font>SansSerif-plain-11</font> 2780 <URIString>http://vue.tufts.edu/rdf/resource/7355c611afd9d7675fea10f2464a6ef0</URIString> 2781 <point1 x="3171.3987" y="673.74475"/> 2782 <point2 x="3486.7888" y="716.74475"/> 2783 <ID1 xsi:type="node">393</ID1> 2784 <ID2 xsi:type="node">394</ID2> 2785 </child> 2786 <child ID="426" layerID="1" created="1479404272403" x="4324.1377" 2787 y="769.8127" width="89.0" height="2.1586914" strokeWidth="1.0" 2788 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2789 <strokeColor>#404040</strokeColor> 2790 <textColor>#404040</textColor> 2791 <font>SansSerif-plain-11</font> 2792 <URIString>http://vue.tufts.edu/rdf/resource/735e8357afd9d7675fea10f25dfdfc46</URIString> 2793 <point1 x="4324.6377" y="770.3127"/> 2794 <point2 x="4412.6377" y="771.4714"/> 2795 <ID1 xsi:type="node">414</ID1> 2796 <ID2 xsi:type="node">420</ID2> 2797 </child> 2798 <child ID="427" layerID="1" created="1479404290679" x="4103.9146" 2799 y="793.2446" width="275.22314" height="30.500122" 2800 strokeWidth="1.0" autoSized="false" controlCount="1" 2801 arrowState="2" xsi:type="link"> 2802 <strokeColor>#404040</strokeColor> 2803 <textColor>#404040</textColor> 2804 <font>SansSerif-plain-11</font> 2805 <URIString>http://vue.tufts.edu/rdf/resource/735e8357afd9d7675fea10f2729a7e75</URIString> 2806 <point1 x="4104.4146" y="793.7446"/> 2807 <point2 x="4378.6377" y="823.24475"/> 2808 <ID1 xsi:type="node">414</ID1> 2809 <ID2 xsi:type="node">416</ID2> 2810 <ctrlPoint0 x="4118.6377" y="823.24475" xsi:type="point"/> 2811 </child> 2812 <child ID="428" 2813 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)." 2814 layerID="1" created="1479404327217" x="3520.6375" y="854.74475" 2815 width="818.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2816 <fillColor>#A6A6A6</fillColor> 2817 <strokeColor>#776D6D</strokeColor> 2818 <textColor>#000000</textColor> 2819 <font>SansSerif-plain-12</font> 2820 <URIString>http://vue.tufts.edu/rdf/resource/73636845afd9d7675fea10f2a9ff2eca</URIString> 2821 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2822 </child> 2823 <child ID="430" layerID="1" created="1479404329622" x="3803.7974" 2824 y="690.24475" width="95.55615" height="165.0" strokeWidth="1.0" 2825 autoSized="false" controlCount="1" arrowState="2" xsi:type="link"> 2826 <strokeColor>#404040</strokeColor> 2827 <textColor>#404040</textColor> 2828 <font>SansSerif-plain-11</font> 2829 <URIString>http://vue.tufts.edu/rdf/resource/73636845afd9d7675fea10f26ca61710</URIString> 2830 <point1 x="3898.8535" y="690.74475"/> 2831 <point2 x="3887.0615" y="854.74475"/> 2832 <ID1 xsi:type="node">395</ID1> 2833 <ID2 xsi:type="node">428</ID2> 2834 <ctrlPoint0 x="3715.6375" y="778.24475" xsi:type="point"/> 2835 </child> 2836 <child ID="431" 2837 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." 2838 layerID="1" created="1479404856705" x="3604.6375" y="923.74475" 2839 width="656.0" height="83.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2840 <fillColor>#FC938D</fillColor> 2841 <strokeColor>#776D6D</strokeColor> 2842 <textColor>#000000</textColor> 2843 <font>SansSerif-plain-12</font> 2844 <URIString>http://vue.tufts.edu/rdf/resource/736a755dafd9d7675fea10f20c6acfd9</URIString> 2845 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2846 </child> 2847 <child ID="432" layerID="1" created="1479404856708" x="3929.7603" 2848 y="892.2422" width="2.0163574" height="32.0" strokeWidth="1.0" 2849 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2850 <strokeColor>#404040</strokeColor> 2851 <textColor>#404040</textColor> 2852 <font>SansSerif-plain-11</font> 2853 <URIString>http://vue.tufts.edu/rdf/resource/736a755dafd9d7675fea10f2f958e7ad</URIString> 2854 <point1 x="3930.2605" y="892.7422"/> 2855 <point2 x="3931.2769" y="923.7422"/> 2856 <ID1 xsi:type="node">428</ID1> 2857 <ID2 xsi:type="node">431</ID2> 2858 </child> 2859 <child ID="433" 2860 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" 2861 layerID="1" created="1479481584246" x="2273.6375" y="737.74475" 2862 width="635.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2863 <fillColor>#A6A6A6</fillColor> 2864 <strokeColor>#776D6D</strokeColor> 2865 <textColor>#000000</textColor> 2866 <font>SansSerif-plain-12</font> 2867 <URIString>http://vue.tufts.edu/rdf/resource/77fa5631c0a83801659a3967307a2681</URIString> 2868 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2869 </child> 2870 <child ID="434" layerID="1" created="1479481584251" x="2664.9995" 2871 y="591.49475" width="319.77393" height="146.75" 2872 strokeWidth="1.0" autoSized="false" controlCount="0" 2873 arrowState="2" xsi:type="link"> 2874 <strokeColor>#404040</strokeColor> 2875 <textColor>#404040</textColor> 2876 <font>SansSerif-plain-11</font> 2877 <URIString>http://vue.tufts.edu/rdf/resource/77fa5637c0a83801659a39672e53f0db</URIString> 2878 <point1 x="2984.2734" y="591.99475"/> 2879 <point2 x="2665.4995" y="737.74475"/> 2880 <ID1 xsi:type="node">378</ID1> 2881 <ID2 xsi:type="node">433</ID2> 2882 </child> 2883 <child ID="439" 2884 label="This does not however allow the use of "with" etc. without specifying the "main" fields" 2885 layerID="1" created="1479485975528" x="2316.6375" y="865.74475" 2886 width="566.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2887 <fillColor>#FC938D</fillColor> 2888 <strokeColor>#776D6D</strokeColor> 2889 <textColor>#000000</textColor> 2890 <font>SansSerif-plain-12</font> 2891 <URIString>http://vue.tufts.edu/rdf/resource/784b6258c0a83801659a396706b41c0d</URIString> 2892 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2893 </child> 2894 <child ID="440" layerID="1" created="1479485975532" x="2593.377" 2895 y="805.2422" width="5.8342285" height="61.001953" 2896 strokeWidth="1.0" autoSized="false" controlCount="0" 2897 arrowState="2" xsi:type="link"> 2898 <strokeColor>#404040</strokeColor> 2899 <textColor>#404040</textColor> 2900 <font>SansSerif-plain-11</font> 2901 <URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a3967a5919df0</URIString> 2902 <point1 x="2593.8767" y="805.7422"/> 2903 <point2 x="2598.711" y="865.74414"/> 2904 <ID1 xsi:type="node">433</ID1> 2905 <ID2 xsi:type="node">439</ID2> 2906 </child> 2907 <child ID="443" label="More solutions" layerID="1" 2908 created="1479486767440" x="3081.6375" y="272.74475" 2909 width="110.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2910 <fillColor>#C1F780</fillColor> 2911 <strokeColor>#776D6D</strokeColor> 2912 <textColor>#000000</textColor> 2913 <font>SansSerif-plain-12</font> 2914 <URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a396709970398</URIString> 2915 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2916 </child> 2917 <child ID="444" layerID="1" created="1479486767449" x="3138.0928" 2918 y="295.24414" width="22.423096" height="127.0" strokeWidth="1.0" 2919 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2920 <strokeColor>#404040</strokeColor> 2921 <textColor>#404040</textColor> 2922 <font>SansSerif-plain-11</font> 2923 <URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a39670a45e1ce</URIString> 2924 <point1 x="3160.0156" y="421.74414"/> 2925 <point2 x="3138.5925" y="295.74414"/> 2926 <ID1 xsi:type="node">363</ID1> 2927 <ID2 xsi:type="node">443</ID2> 2928 </child> 2929 <child ID="445" 2930 label="Cheapy trivial tracking: use let-syntax on the inputs, so that we know their type" 2931 layerID="1" created="1479486772901" x="2382.6375" y="160.74475" 2932 width="527.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2933 <fillColor>#A6A6A6</fillColor> 2934 <strokeColor>#776D6D</strokeColor> 2935 <textColor>#000000</textColor> 2936 <font>SansSerif-plain-12</font> 2937 <URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a3967733b628e</URIString> 2938 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2939 </child> 2940 <child ID="446" layerID="1" created="1479486772904" x="2696.001" 2941 y="183.24475" width="393.2898" height="90.57483" 2942 strokeWidth="1.0" autoSized="false" controlCount="0" 2943 arrowState="2" xsi:type="link"> 2944 <strokeColor>#404040</strokeColor> 2945 <textColor>#404040</textColor> 2946 <font>SansSerif-plain-11</font> 2947 <URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a3967666d1aa4</URIString> 2948 <point1 x="3088.791" y="273.31958"/> 2949 <point2 x="2696.5012" y="183.74475"/> 2950 <ID1 xsi:type="node">443</ID1> 2951 <ID2 xsi:type="node">445</ID2> 2952 </child> 2953 <child ID="447" 2954 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" 2955 layerID="1" created="1479486800251" x="2352.6375" y="-40.25525" 2956 width="887.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2957 <fillColor>#A6A6A6</fillColor> 2958 <strokeColor>#776D6D</strokeColor> 2959 <textColor>#000000</textColor> 2960 <font>SansSerif-plain-12</font> 2961 <URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a3967a167ad78</URIString> 2962 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2963 </child> 2964 <child ID="448" layerID="1" created="1479486800255" x="2825.917" 2965 y="12.244873" width="298.08008" height="260.99976" 2966 strokeWidth="1.0" autoSized="false" controlCount="0" 2967 arrowState="2" xsi:type="link"> 2968 <strokeColor>#404040</strokeColor> 2969 <textColor>#404040</textColor> 2970 <font>SansSerif-plain-11</font> 2971 <URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a396755702e91</URIString> 2972 <point1 x="3123.497" y="272.74463"/> 2973 <point2 x="2826.417" y="12.744873"/> 2974 <ID1 xsi:type="node">443</ID1> 2975 <ID2 xsi:type="node">447</ID2> 2976 </child> 2977 <child ID="451" 2978 label="Won't work for map etc, those will need an annotation" 2979 layerID="1" created="1479487002756" x="2460.6375" y="113.74475" 2980 width="364.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 2981 <fillColor>#FC938D</fillColor> 2982 <strokeColor>#776D6D</strokeColor> 2983 <textColor>#000000</textColor> 2984 <font>SansSerif-plain-12</font> 2985 <URIString>http://vue.tufts.edu/rdf/resource/784e56c5c0a83801659a39679b10ce32</URIString> 2986 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 2987 </child> 2988 <child ID="452" layerID="1" created="1479487002761" x="2642.9941" 2989 y="136.2461" width="2.7871094" height="25.0" strokeWidth="1.0" 2990 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 2991 <strokeColor>#404040</strokeColor> 2992 <textColor>#404040</textColor> 2993 <font>SansSerif-plain-11</font> 2994 <URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a396764247fc5</URIString> 2995 <point1 x="2645.2812" y="160.7461"/> 2996 <point2 x="2643.4941" y="136.7461"/> 2997 <ID1 xsi:type="node">445</ID1> 2998 <ID2 xsi:type="node">451</ID2> 2999 </child> 3000 <child ID="455" 3001 label="Could work, we don't need to statically know the type for get-field/fallback" 3002 layerID="1" created="1479487076289" x="2513.6375" y="-207.25525" 3003 width="492.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3004 <fillColor>#A6A6A6</fillColor> 3005 <strokeColor>#776D6D</strokeColor> 3006 <textColor>#000000</textColor> 3007 <font>SansSerif-plain-12</font> 3008 <URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a3967c532603f</URIString> 3009 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3010 </child> 3011 <child ID="456" layerID="1" created="1479487076302" x="2761.4438" 3012 y="-184.75488" width="29.878906" height="145.0" 3013 strokeWidth="1.0" autoSized="false" controlCount="0" 3014 arrowState="2" xsi:type="link"> 3015 <strokeColor>#404040</strokeColor> 3016 <textColor>#404040</textColor> 3017 <font>SansSerif-plain-11</font> 3018 <URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a39678a19388f</URIString> 3019 <point1 x="2790.8228" y="-40.254883"/> 3020 <point2 x="2761.9438" y="-184.25488"/> 3021 <ID1 xsi:type="node">447</ID1> 3022 <ID2 xsi:type="node">455</ID2> 3023 </child> 3024 <child ID="457" 3025 label="but we must ensure that the return type is correct. How could we do that???" 3026 layerID="1" created="1479487132743" x="3062.6375" y="-216.25525" 3027 width="508.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3028 <fillColor>#FC938D</fillColor> 3029 <strokeColor>#776D6D</strokeColor> 3030 <textColor>#000000</textColor> 3031 <font>SansSerif-plain-12</font> 3032 <URIString>http://vue.tufts.edu/rdf/resource/784e56d0c0a83801659a396759692c9e</URIString> 3033 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3034 </child> 3035 <child ID="458" layerID="1" created="1479487132747" x="3004.6394" 3036 y="-201.15958" width="59.021973" height="1.9375153" 3037 strokeWidth="1.0" autoSized="false" controlCount="0" 3038 arrowState="2" xsi:type="link"> 3039 <strokeColor>#404040</strokeColor> 3040 <textColor>#404040</textColor> 3041 <font>SansSerif-plain-11</font> 3042 <URIString>http://vue.tufts.edu/rdf/resource/784e56d0c0a83801659a3967b64162ba</URIString> 3043 <point1 x="3005.1394" y="-199.72206"/> 3044 <point2 x="3063.1614" y="-200.65958"/> 3045 <ID1 xsi:type="node">455</ID1> 3046 <ID2 xsi:type="node">457</ID2> 3047 </child> 3048 <child ID="463" 3049 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" 3050 layerID="1" created="1479489493797" x="3104.6375" y="-178.25525" 3051 width="425.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3052 <fillColor>#A6A6A6</fillColor> 3053 <strokeColor>#776D6D</strokeColor> 3054 <textColor>#000000</textColor> 3055 <font>SansSerif-plain-12</font> 3056 <URIString>http://vue.tufts.edu/rdf/resource/7872f6c7c0a83801659a3967b9244b5d</URIString> 3057 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3058 </child> 3059 <child ID="464" layerID="1" created="1479489493820" x="3316.2458" 3060 y="-193.75" width="1.1416016" height="16.0" strokeWidth="1.0" 3061 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3062 <strokeColor>#404040</strokeColor> 3063 <textColor>#404040</textColor> 3064 <font>SansSerif-plain-11</font> 3065 <URIString>http://vue.tufts.edu/rdf/resource/7872f6c7c0a83801659a3967fb310cfc</URIString> 3066 <point1 x="3316.7458" y="-193.25"/> 3067 <point2 x="3316.8875" y="-178.25"/> 3068 <ID1 xsi:type="node">457</ID1> 3069 <ID2 xsi:type="node">463</ID2> 3070 </child> 3071 <child ID="465" 3072 label="Subtyping and recursive types with TR sometimes rejects valid subtyping relationships" 3073 layerID="1" created="1479489570917" x="1969.6375" y="479.74475" 3074 width="570.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3075 <fillColor>#FEFD8C</fillColor> 3076 <strokeColor>#776D6D</strokeColor> 3077 <textColor>#000000</textColor> 3078 <font>SansSerif-plain-12</font> 3079 <URIString>http://vue.tufts.edu/rdf/resource/787577e6c0a83801659a3967e32a4328</URIString> 3080 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3081 </child> 3082 <child ID="466" layerID="1" created="1479489570921" x="1972.8401" 3083 y="432.17023" width="227.0697" height="48.074493" 3084 strokeWidth="1.0" autoSized="false" controlCount="0" 3085 arrowState="2" xsi:type="link"> 3086 <strokeColor>#404040</strokeColor> 3087 <textColor>#404040</textColor> 3088 <font>SansSerif-plain-11</font> 3089 <URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a39671d0d1cc7</URIString> 3090 <point1 x="1973.3402" y="432.67023"/> 3091 <point2 x="2199.41" y="479.74472"/> 3092 <ID1 xsi:type="node">357</ID1> 3093 <ID2 xsi:type="node">465</ID2> 3094 </child> 3095 <child ID="467" 3096 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ₙ) at the top" 3097 layerID="1" created="1479489603603" x="2039.6375" y="536.74475" 3098 width="470.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3099 <fillColor>#FEFD8C</fillColor> 3100 <strokeColor>#776D6D</strokeColor> 3101 <textColor>#000000</textColor> 3102 <font>SansSerif-plain-12</font> 3103 <URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a3967df77be38</URIString> 3104 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3105 </child> 3106 <child ID="468" layerID="1" created="1479489603606" x="2257.0305" 3107 y="502.24512" width="9.553711" height="35.0" strokeWidth="1.0" 3108 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3109 <strokeColor>#404040</strokeColor> 3110 <textColor>#404040</textColor> 3111 <font>SansSerif-plain-11</font> 3112 <URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a39674bacedb2</URIString> 3113 <point1 x="2257.5305" y="502.74512"/> 3114 <point2 x="2266.0842" y="536.7451"/> 3115 <ID1 xsi:type="node">465</ID1> 3116 <ID2 xsi:type="node">467</ID2> 3117 </child> 3118 <child ID="471" 3119 label="Pb: a loop will loose type information, so we have to hardcode a few iterations of fetching ->next" 3120 layerID="1" created="1479493749797" x="2996.6375" y="-109.25525" 3121 width="647.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3122 <fillColor>#FC938D</fillColor> 3123 <strokeColor>#776D6D</strokeColor> 3124 <textColor>#000000</textColor> 3125 <font>SansSerif-plain-12</font> 3126 <URIString>http://vue.tufts.edu/rdf/resource/78b501a5c0a83801659a39678e8cb2cd</URIString> 3127 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3128 </child> 3129 <child ID="472" layerID="1" created="1479493749799" x="3318.1099" 3130 y="-125.75391" width="1.888916" height="17.0" strokeWidth="1.0" 3131 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3132 <strokeColor>#404040</strokeColor> 3133 <textColor>#404040</textColor> 3134 <font>SansSerif-plain-11</font> 3135 <URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a39673e57b5e0</URIString> 3136 <point1 x="3318.6096" y="-125.25391"/> 3137 <point2 x="3319.4985" y="-109.25391"/> 3138 <ID1 xsi:type="node">463</ID1> 3139 <ID2 xsi:type="node">471</ID2> 3140 </child> 3141 <child ID="473" 3142 label="To avoid a large code blowup, factor out the get-field which will be called in several places in a polymorphic function?" 3143 layerID="1" created="1479493833435" x="2934.6375" y="-73.25525" 3144 width="773.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3145 <fillColor>#A6A6A6</fillColor> 3146 <strokeColor>#776D6D</strokeColor> 3147 <textColor>#000000</textColor> 3148 <font>SansSerif-plain-12</font> 3149 <URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a396729606ba0</URIString> 3150 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3151 </child> 3152 <child ID="474" layerID="1" created="1479493833437" x="3319.9565" 3153 y="-86.75781" width="1.361084" height="13.9921875" 3154 strokeWidth="1.0" autoSized="false" controlCount="0" 3155 arrowState="2" xsi:type="link"> 3156 <strokeColor>#404040</strokeColor> 3157 <textColor>#404040</textColor> 3158 <font>SansSerif-plain-11</font> 3159 <URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a39679b169ce5</URIString> 3160 <point1 x="3320.4568" y="-86.25781"/> 3161 <point2 x="3320.8179" y="-73.265625"/> 3162 <ID1 xsi:type="node">471</ID1> 3163 <ID2 xsi:type="node">473</ID2> 3164 </child> 3165 <child ID="475" 3166 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." 3167 layerID="1" created="1479493941528" x="3284.6375" y="211.74475" 3168 width="681.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3169 <fillColor>#A6A6A6</fillColor> 3170 <strokeColor>#776D6D</strokeColor> 3171 <textColor>#000000</textColor> 3172 <font>SansSerif-plain-12</font> 3173 <URIString>http://vue.tufts.edu/rdf/resource/78b782c0c0a83801659a396727249705</URIString> 3174 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3175 </child> 3176 <child ID="477" layerID="1" created="1479494033735" x="3153.2751" 3177 y="232.3084" width="131.8623" height="40.936234" 3178 strokeWidth="1.0" autoSized="false" controlCount="1" 3179 arrowState="2" xsi:type="link"> 3180 <strokeColor>#404040</strokeColor> 3181 <textColor>#404040</textColor> 3182 <font>SansSerif-plain-11</font> 3183 <URIString>http://vue.tufts.edu/rdf/resource/78b782c1c0a83801659a3967c215e1f3</URIString> 3184 <point1 x="3153.7751" y="272.74463"/> 3185 <point2 x="3284.6375" y="232.8084"/> 3186 <ID1 xsi:type="node">443</ID1> 3187 <ID2 xsi:type="node">475</ID2> 3188 <ctrlPoint0 x="3212.6375" y="233.24475" xsi:type="point"/> 3189 </child> 3190 <child ID="478" 3191 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" 3192 layerID="1" created="1479494059762" x="3265.6375" y="266.74475" 3193 width="598.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3194 <fillColor>#A6A6A6</fillColor> 3195 <strokeColor>#776D6D</strokeColor> 3196 <textColor>#000000</textColor> 3197 <font>SansSerif-plain-12</font> 3198 <URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a396797741710</URIString> 3199 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3200 </child> 3201 <child ID="479" layerID="1" created="1479494059763" x="3191.1375" 3202 y="283.9375" width="75.0" height="1.2593689" strokeWidth="1.0" 3203 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3204 <strokeColor>#404040</strokeColor> 3205 <textColor>#404040</textColor> 3206 <font>SansSerif-plain-11</font> 3207 <URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a39678b01ea9d</URIString> 3208 <point1 x="3191.6375" y="284.4375"/> 3209 <point2 x="3265.6375" y="284.69687"/> 3210 <ID1 xsi:type="node">443</ID1> 3211 <ID2 xsi:type="node">478</ID2> 3212 </child> 3213 <child ID="482" label="Pb: rather costly (code size)" layerID="1" 3214 created="1479494147236" x="3378.6375" y="316.74475" 3215 width="196.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3216 <fillColor>#FC938D</fillColor> 3217 <strokeColor>#776D6D</strokeColor> 3218 <textColor>#000000</textColor> 3219 <font>SansSerif-plain-12</font> 3220 <URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a39670e4489d6</URIString> 3221 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3222 </child> 3223 <child ID="483" layerID="1" created="1479494147238" x="3499.9492" 3224 y="304.24475" width="25.847168" height="13.0" strokeWidth="1.0" 3225 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3226 <strokeColor>#404040</strokeColor> 3227 <textColor>#404040</textColor> 3228 <font>SansSerif-plain-11</font> 3229 <URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396776a928b8</URIString> 3230 <point1 x="3525.2964" y="304.74475"/> 3231 <point2 x="3500.4492" y="316.74475"/> 3232 <ID1 xsi:type="node">478</ID1> 3233 <ID2 xsi:type="node">482</ID2> 3234 </child> 3235 <child ID="484" label="Pb: we can't detect everything" layerID="1" 3236 created="1479494157560" x="3593.6375" y="316.74475" 3237 width="208.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3238 <fillColor>#FC938D</fillColor> 3239 <strokeColor>#776D6D</strokeColor> 3240 <textColor>#000000</textColor> 3241 <font>SansSerif-plain-12</font> 3242 <URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396750c3a7da</URIString> 3243 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3244 </child> 3245 <child ID="485" layerID="1" created="1479494157562" x="3623.5964" 3246 y="304.24475" width="38.552734" height="13.0" strokeWidth="1.0" 3247 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3248 <strokeColor>#404040</strokeColor> 3249 <textColor>#404040</textColor> 3250 <font>SansSerif-plain-11</font> 3251 <URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396707564963</URIString> 3252 <point1 x="3624.0964" y="304.74475"/> 3253 <point2 x="3661.6492" y="316.74475"/> 3254 <ID1 xsi:type="node">478</ID1> 3255 <ID2 xsi:type="node">484</ID2> 3256 </child> 3257 <child ID="488" 3258 label="Since we don't need occurrence typing for incomplete nodes…" 3259 layerID="1" created="1479494214687" x="3106.6375" y="109.74475" 3260 width="419.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3261 <fillColor>#C1F780</fillColor> 3262 <strokeColor>#776D6D</strokeColor> 3263 <textColor>#000000</textColor> 3264 <font>SansSerif-plain-12</font> 3265 <URIString>http://vue.tufts.edu/rdf/resource/78ba99b9c0a83801659a396792c09d82</URIString> 3266 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3267 </child> 3268 <child ID="489" layerID="1" created="1479494214689" x="3148.8015" 3269 y="132.24487" width="155.17188" height="140.99976" 3270 strokeWidth="1.0" autoSized="false" controlCount="0" 3271 arrowState="2" xsi:type="link"> 3272 <strokeColor>#404040</strokeColor> 3273 <textColor>#404040</textColor> 3274 <font>SansSerif-plain-11</font> 3275 <URIString>http://vue.tufts.edu/rdf/resource/78ba99b9c0a83801659a396789c84846</URIString> 3276 <point1 x="3149.3015" y="272.74463"/> 3277 <point2 x="3303.4734" y="132.74487"/> 3278 <ID1 xsi:type="node">443</ID1> 3279 <ID2 xsi:type="node">488</ID2> 3280 </child> 3281 <child ID="490" 3282 label="Pb: I'm not sure we can type this correctly (perhaps relying heavily on inference?" 3283 layerID="1" created="1479494404441" x="3681.6375" y="-20.255249" 3284 width="534.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3285 <fillColor>#FC938D</fillColor> 3286 <strokeColor>#776D6D</strokeColor> 3287 <textColor>#000000</textColor> 3288 <font>SansSerif-plain-12</font> 3289 <URIString>http://vue.tufts.edu/rdf/resource/78bd72dec0a83801659a39679db74cd5</URIString> 3290 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3291 </child> 3292 <child ID="498" label="Key" layerID="1" created="1482930066792" 3293 x="1898.6375" y="-205.75525" width="395.75" height="172.5" 3294 strokeWidth="1.0" autoSized="true" xsi:type="node"> 3295 <fillColor>#F4F5E9</fillColor> 3296 <strokeColor>#776D6D</strokeColor> 3297 <textColor>#000000</textColor> 3298 <font>SansSerif-plain-18</font> 3299 <URIString>http://vue.tufts.edu/rdf/resource/45873cde534430712734d86ab1152fe7</URIString> 3300 <child ID="499" label="Potential solution (not implemented yet)" 3301 created="1482930095971" x="34.0" y="30.0" width="361.33334" 3302 height="27.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 3303 <fillColor>#FFC63B</fillColor> 3304 <strokeColor>#776D6D</strokeColor> 3305 <textColor>#000000</textColor> 3306 <font>SansSerif-plain-16</font> 3307 <URIString>http://vue.tufts.edu/rdf/resource/45873cde534430712734d86a6173ded7</URIString> 3308 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3309 </child> 3310 <child ID="495" label="Problem" created="1482929988379" x="34.0" 3311 y="53.25" width="86.666664" height="27.0" strokeWidth="1.0" 3312 autoSized="false" xsi:type="node"> 3313 <fillColor>#FC938D</fillColor> 3314 <strokeColor>#776D6D</strokeColor> 3315 <textColor>#000000</textColor> 3316 <font>SansSerif-plain-16</font> 3317 <URIString>http://vue.tufts.edu/rdf/resource/45873cdf534430712734d86a3f094d92</URIString> 3318 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3319 </child> 3320 <child ID="493" label="Should be OK (not implemented yet)" 3321 created="1482929962993" x="34.0" y="76.5" width="318.66666" 3322 height="27.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 3323 <fillColor>#FEFD8C</fillColor> 3324 <strokeColor>#776D6D</strokeColor> 3325 <textColor>#000000</textColor> 3326 <font>SansSerif-plain-16</font> 3327 <URIString>http://vue.tufts.edu/rdf/resource/45873cdf534430712734d86a14e4a638</URIString> 3328 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3329 </child> 3330 <child ID="494" label="Done" created="1482929973452" x="34.0" 3331 y="99.75" width="63.0" height="27.0" strokeWidth="1.0" 3332 autoSized="false" xsi:type="node"> 3333 <fillColor>#C1F780</fillColor> 3334 <strokeColor>#5491A4</strokeColor> 3335 <textColor>#000000</textColor> 3336 <font>SansSerif-plain-16</font> 3337 <URIString>http://vue.tufts.edu/rdf/resource/45873cdf534430712734d86a1e77c5e8</URIString> 3338 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3339 </child> 3340 <child ID="500" 3341 label="Valid but not implemented alternative / enhancement" 3342 created="1482930253480" x="34.0" y="123.0" width="474.66666" 3343 height="27.0" strokeWidth="1.0" autoSized="false" xsi:type="node"> 3344 <fillColor>#E6F7FD</fillColor> 3345 <strokeColor>#776D6D</strokeColor> 3346 <textColor>#000000</textColor> 3347 <font>SansSerif-plain-16</font> 3348 <URIString>http://vue.tufts.edu/rdf/resource/45bba55b534430712734d86a7b98e7af</URIString> 3349 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3350 </child> 3351 <child ID="496" label="Rejected solution" 3352 created="1482930039269" x="34.0" y="146.25" 3353 width="153.33333" height="27.0" strokeWidth="1.0" 3354 autoSized="false" xsi:type="node"> 3355 <fillColor>#A6A6A6</fillColor> 3356 <strokeColor>#776D6D</strokeColor> 3357 <textColor>#000000</textColor> 3358 <font>SansSerif-plain-16</font> 3359 <URIString>http://vue.tufts.edu/rdf/resource/45873cdf534430712734d86aab608348</URIString> 3360 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3361 </child> 3362 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3363 </child> 3364 <child ID="503" 3365 label="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." 3366 layerID="1" created="1482933605087" x="2936.6375" y="845.24475" 3367 width="559.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3368 <fillColor>#FC938D</fillColor> 3369 <strokeColor>#776D6D</strokeColor> 3370 <textColor>#000000</textColor> 3371 <font>SansSerif-plain-12</font> 3372 <URIString>http://vue.tufts.edu/rdf/resource/45bba55c534430712734d86a16caa731</URIString> 3373 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3374 </child> 3375 <child ID="506" layerID="1" created="1482933646174" x="3235.9436" 3376 y="802.7446" width="45.887695" height="43.000244" 3377 strokeWidth="1.0" autoSized="false" controlCount="0" 3378 arrowState="2" xsi:type="link"> 3379 <strokeColor>#404040</strokeColor> 3380 <textColor>#404040</textColor> 3381 <font>SansSerif-plain-11</font> 3382 <URIString>http://vue.tufts.edu/rdf/resource/45bbf23d534430712734d86a4fad75b2</URIString> 3383 <point1 x="3281.3313" y="803.2446"/> 3384 <point2 x="3236.4436" y="845.2449"/> 3385 <ID1 xsi:type="node">423</ID1> 3386 <ID2 xsi:type="node">503</ID2> 3387 </child> 3388 <child ID="507" 3389 label="can we use the representation as a case→ ?" 3390 layerID="1" created="1482936022767" x="3303.6375" y="-14.255249" 3391 width="309.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3392 <fillColor>#A6A6A6</fillColor> 3393 <strokeColor>#776D6D</strokeColor> 3394 <textColor>#000000</textColor> 3395 <font>SansSerif-plain-12</font> 3396 <URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86a57e07278</URIString> 3397 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3398 </child> 3399 <child ID="508" layerID="1" created="1482936022770" x="3328.8071" 3400 y="8.244629" width="116.66138" height="102.0" strokeWidth="1.0" 3401 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3402 <strokeColor>#404040</strokeColor> 3403 <textColor>#404040</textColor> 3404 <font>SansSerif-plain-11</font> 3405 <URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86a070392ee</URIString> 3406 <point1 x="3329.307" y="109.74463"/> 3407 <point2 x="3444.9683" y="8.744629"/> 3408 <ID1 xsi:type="node">488</ID1> 3409 <ID2 xsi:type="node">507</ID2> 3410 </child> 3411 <child ID="509" layerID="1" created="1482936026239" x="3612.0593" 3412 y="-5.9935493" width="70.43408" height="1.8493462" 3413 strokeWidth="1.0" autoSized="false" controlCount="0" 3414 arrowState="2" xsi:type="link"> 3415 <strokeColor>#404040</strokeColor> 3416 <textColor>#404040</textColor> 3417 <font>SansSerif-plain-11</font> 3418 <URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86a90157415</URIString> 3419 <point1 x="3612.5593" y="-4.644203"/> 3420 <point2 x="3681.9934" y="-5.4935493"/> 3421 <ID1 xsi:type="node">507</ID1> 3422 <ID2 xsi:type="node">490</ID2> 3423 </child> 3424 <child ID="510" 3425 label="Representation as a binary tree with fields as the leaves.
To avoid the memory cost of carrying the intermediate nodes, we actually store the fields inside a closure,
which builds and returns the tree on request.
When initially building such records, known record types can be represented in a compact way.
When the record is updated (add / remove / modify fields), a series of "delta" patches are stored,
with a memory cost of O(1) per patch and a run-time extraction cost of O(log N) per patch (where N is the total number of fields in the program)" 3426 layerID="1" created="1482936061557" x="3611.6375" y="65.74475" 3427 width="944.0" height="98.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3428 <fillColor>#C1F780</fillColor> 3429 <strokeColor>#776D6D</strokeColor> 3430 <textColor>#000000</textColor> 3431 <font>SansSerif-plain-12</font> 3432 <URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86a3a5e0161</URIString> 3433 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3434 </child> 3435 <child ID="511" layerID="1" created="1482936061559" x="3525.0825" 3436 y="118.24214" width="87.05493" height="1.7288055" 3437 strokeWidth="1.0" autoSized="false" controlCount="0" 3438 arrowState="2" xsi:type="link"> 3439 <strokeColor>#404040</strokeColor> 3440 <textColor>#404040</textColor> 3441 <font>SansSerif-plain-11</font> 3442 <URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86ac0cf2c24</URIString> 3443 <point1 x="3525.5825" y="119.47095"/> 3444 <point2 x="3611.6375" y="118.74214"/> 3445 <ID1 xsi:type="node">488</ID1> 3446 <ID2 xsi:type="node">510</ID2> 3447 </child> 3448 <child ID="512" 3449 label="To also get occurrence typing (probably not across modified versions of a record, only for the same exact unmodified record),
we can turn the closure over the field values (which is a thunk) into a pure promise.
Accessing the fields will be slower (O(log N) + O(log N) per patch), but at least it can be done without loss of functionality
(accesses of modified records within a mapping should be rare in practice, so the cost is acceptble)" 3450 layerID="1" created="1482936478751" x="3997.6377" y="204.74475" 3451 width="835.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3452 <fillColor>#FEFD8C</fillColor> 3453 <strokeColor>#776D6D</strokeColor> 3454 <textColor>#000000</textColor> 3455 <font>SansSerif-plain-12</font> 3456 <URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86aa07fbb12</URIString> 3457 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3458 </child> 3459 <child ID="513" layerID="1" created="1482936478755" x="4214.134" 3460 y="163.24487" width="110.6084" height="41.999878" 3461 strokeWidth="1.0" autoSized="false" controlCount="0" 3462 arrowState="2" xsi:type="link"> 3463 <strokeColor>#404040</strokeColor> 3464 <textColor>#404040</textColor> 3465 <font>SansSerif-plain-12</font> 3466 <URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a24c87b1e</URIString> 3467 <point1 x="4214.634" y="163.74487"/> 3468 <point2 x="4324.242" y="204.74475"/> 3469 <ID1 xsi:type="node">510</ID1> 3470 <ID2 xsi:type="node">512</ID2> 3471 </child> 3472 <child ID="514" 3473 label="Problem: how do we make the field accessors "hybrid",
i.e. working both on fixed records and flex records?
We don't want nested field accesses to build up a tower of U types,
which makes acceesses very costly for the typechecker" 3474 layerID="1" created="1482936685798" x="3909.6375" y="310.24475" 3475 width="454.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3476 <fillColor>#FC938D</fillColor> 3477 <strokeColor>#776D6D</strokeColor> 3478 <textColor>#000000</textColor> 3479 <font>SansSerif-plain-12</font> 3480 <URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a19adbd4d</URIString> 3481 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3482 </child> 3483 <child ID="516" layerID="1" created="1482936769032" x="4225.891" 3484 y="272.24475" width="99.993164" height="38.500122" 3485 strokeWidth="1.0" autoSized="false" controlCount="0" 3486 arrowState="2" xsi:type="link"> 3487 <strokeColor>#404040</strokeColor> 3488 <textColor>#404040</textColor> 3489 <font>SansSerif-plain-12</font> 3490 <URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a0c6770e9</URIString> 3491 <point1 x="4325.3843" y="272.74475"/> 3492 <point2 x="4226.391" y="310.24487"/> 3493 <ID1 xsi:type="node">512</ID1> 3494 <ID2 xsi:type="node">514</ID2> 3495 </child> 3496 <child ID="517" 3497 label="It's already the case anyway when a field appears in more than a single struct." 3498 layerID="1" created="1482936781221" x="3874.6375" y="413.74475" 3499 width="527.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3500 <fillColor>#FFC63B</fillColor> 3501 <strokeColor>#776D6D</strokeColor> 3502 <textColor>#000000</textColor> 3503 <font>SansSerif-plain-12</font> 3504 <URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a0944806f</URIString> 3505 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3506 </child> 3507 <child ID="518" layerID="1" created="1482936781223" x="4136.7676" 3508 y="377.76562" width="1.6572266" height="36.484375" 3509 strokeWidth="1.0" autoSized="false" controlCount="0" 3510 arrowState="2" xsi:type="link"> 3511 <strokeColor>#404040</strokeColor> 3512 <textColor>#404040</textColor> 3513 <font>SansSerif-plain-12</font> 3514 <URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a1c61af46</URIString> 3515 <point1 x="4137.2676" y="378.26562"/> 3516 <point2 x="4137.925" y="413.75"/> 3517 <ID1 xsi:type="node">514</ID1> 3518 <ID2 xsi:type="node">517</ID2> 3519 </child> 3520 <child ID="519" 3521 label="Problem: types like Has-get and the same tagged structure type
won't accept flex structs with the right fields
Adding a (U …) will make an exponential type size → not good" 3522 layerID="1" created="1483019817725" x="4524.6377" y="309.74475" 3523 width="433.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3524 <fillColor>#FC938D</fillColor> 3525 <strokeColor>#776D6D</strokeColor> 3526 <textColor>#000000</textColor> 3527 <font>SansSerif-plain-12</font> 3528 <URIString>http://vue.tufts.edu/rdf/resource/4b10aeea534430712734d86a7563260a</URIString> 3529 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3530 </child> 3531 <child ID="520" layerID="1" created="1483019817727" x="4528.32" 3532 y="272.24475" width="124.71289" height="38.0" strokeWidth="1.0" 3533 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3534 <strokeColor>#404040</strokeColor> 3535 <textColor>#404040</textColor> 3536 <font>SansSerif-plain-12</font> 3537 <URIString>http://vue.tufts.edu/rdf/resource/4b10aeea534430712734d86a3bbe533b</URIString> 3538 <point1 x="4528.82" y="272.74475"/> 3539 <point2 x="4652.5327" y="309.74475"/> 3540 <ID1 xsi:type="node">512</ID1> 3541 <ID2 xsi:type="node">519</ID2> 3542 </child> 3543 <child ID="521" 3544 label="We have to require that the user converts back to the tagged structure representation
when passing to something which expects a tagged structure
(i.e. distinguish the tagged structure types, and the flex tagged structure types)" 3545 layerID="1" created="1483019947983" x="4462.6377" y="394.74475" 3546 width="586.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3547 <fillColor>#FFC63B</fillColor> 3548 <strokeColor>#776D6D</strokeColor> 3549 <textColor>#000000</textColor> 3550 <font>SansSerif-plain-12</font> 3551 <URIString>http://vue.tufts.edu/rdf/resource/4b10aeea534430712734d86afd00a858</URIString> 3552 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3553 </child> 3554 <child ID="522" layerID="1" created="1483019947985" x="4745.158" 3555 y="362.24414" width="6.458496" height="32.998047" 3556 strokeWidth="1.0" autoSized="false" controlCount="0" 3557 arrowState="2" xsi:type="link"> 3558 <strokeColor>#404040</strokeColor> 3559 <textColor>#404040</textColor> 3560 <font>SansSerif-plain-12</font> 3561 <URIString>http://vue.tufts.edu/rdf/resource/4b10aeea534430712734d86ae4487e0b</URIString> 3562 <point1 x="4745.658" y="362.74414"/> 3563 <point2 x="4751.1167" y="394.7422"/> 3564 <ID1 xsi:type="node">519</ID1> 3565 <ID2 xsi:type="node">521</ID2> 3566 </child> 3567 <child ID="523" 3568 label="Possible improvement: count the number of patches, when it goes beyond a certain threshold,
recopy all the fields" 3569 layerID="1" created="1483023191462" x="4231.6377" y="-63.25525" 3570 width="630.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3571 <fillColor>#FFC63B</fillColor> 3572 <strokeColor>#776D6D</strokeColor> 3573 <textColor>#000000</textColor> 3574 <font>SansSerif-plain-12</font> 3575 <URIString>http://vue.tufts.edu/rdf/resource/4b15d0d1534430712734d86a297e96f8</URIString> 3576 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3577 </child> 3578 <child ID="524" layerID="1" created="1483023191464" x="4225.8223" 3579 y="-25.755249" width="265.9878" height="92.00012" 3580 strokeWidth="1.0" autoSized="false" controlCount="0" 3581 arrowState="2" xsi:type="link"> 3582 <strokeColor>#404040</strokeColor> 3583 <textColor>#404040</textColor> 3584 <font>SansSerif-plain-12</font> 3585 <URIString>http://vue.tufts.edu/rdf/resource/4b15d0d1534430712734d86ae98942d0</URIString> 3586 <point1 x="4226.3228" y="65.74487"/> 3587 <point2 x="4491.3105" y="-25.255249"/> 3588 <ID1 xsi:type="node">510</ID1> 3589 <ID2 xsi:type="node">523</ID2> 3590 </child> 3591 <child ID="525" 3592 label="Problem: we don't know which fields to copy, so to do it in a typechecked way,
we would need to dispatch on the known struct types,
and otherwise fall back to keeping the patches, or keeping some patches based on the largest known sub-struct type." 3593 layerID="1" created="1483023305811" x="3944.6377" y="-159.25525" 3594 width="793.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3595 <fillColor>#FC938D</fillColor> 3596 <strokeColor>#776D6D</strokeColor> 3597 <textColor>#000000</textColor> 3598 <font>SansSerif-plain-12</font> 3599 <URIString>http://vue.tufts.edu/rdf/resource/4b15d0d1534430712734d86a64c609f2</URIString> 3600 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3601 </child> 3602 <child ID="526" layerID="1" created="1483023305812" x="4402.172" 3603 y="-106.75513" width="100.84717" height="43.999878" 3604 strokeWidth="1.0" autoSized="false" controlCount="0" 3605 arrowState="2" xsi:type="link"> 3606 <strokeColor>#404040</strokeColor> 3607 <textColor>#404040</textColor> 3608 <font>SansSerif-plain-12</font> 3609 <URIString>http://vue.tufts.edu/rdf/resource/4b15d0d1534430712734d86ac3110955</URIString> 3610 <point1 x="4502.519" y="-63.25525"/> 3611 <point2 x="4402.672" y="-106.25513"/> 3612 <ID1 xsi:type="node">523</ID1> 3613 <ID2 xsi:type="node">525</ID2> 3614 </child> 3615 <child ID="528" 3616 label="Otherwise, we could recopy all the fields on output of graph mappings,
as we know the type there (it's specified for the graph)" 3617 layerID="1" created="1483039527123" x="4797.6377" y="-135.25525" 3618 width="471.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3619 <fillColor>#FEFD8C</fillColor> 3620 <strokeColor>#776D6D</strokeColor> 3621 <textColor>#000000</textColor> 3622 <font>SansSerif-plain-12</font> 3623 <URIString>http://vue.tufts.edu/rdf/resource/4c0c7efe534430712734d86a6143bf3b</URIString> 3624 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3625 </child> 3626 <child ID="529" layerID="1" created="1483039527125" x="4674.5195" 3627 y="-97.75525" width="230.73633" height="35.0" strokeWidth="1.0" 3628 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3629 <strokeColor>#404040</strokeColor> 3630 <textColor>#404040</textColor> 3631 <font>SansSerif-plain-12</font> 3632 <URIString>http://vue.tufts.edu/rdf/resource/4c0c7efe534430712734d86a20138645</URIString> 3633 <point1 x="4675.0195" y="-63.25525"/> 3634 <point2 x="4904.756" y="-97.25525"/> 3635 <ID1 xsi:type="node">523</ID1> 3636 <ID2 xsi:type="node">528</ID2> 3637 </child> 3638 <child ID="530" layerID="1" created="1483039599401" x="4737.1377" 3639 y="-123.80114" width="61.0" height="2.4306335" strokeWidth="1.0" 3640 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3641 <strokeColor>#404040</strokeColor> 3642 <textColor>#404040</textColor> 3643 <font>SansSerif-plain-12</font> 3644 <URIString>http://vue.tufts.edu/rdf/resource/4c0c7efe534430712734d86a22d85a28</URIString> 3645 <point1 x="4737.6377" y="-123.30114"/> 3646 <point2 x="4797.6377" y="-121.87051"/> 3647 <ID1 xsi:type="node">525</ID1> 3648 <ID2 xsi:type="node">528</ID2> 3649 </child> 3650 <child ID="9" label="As a wrapper?" layerID="1" 3651 created="1479309895903" x="1676.3673" y="913.9207" width="105.0" 3652 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3653 <fillColor>#F2AE45</fillColor> 3654 <strokeColor>#776D6D</strokeColor> 3655 <textColor>#000000</textColor> 3656 <font>SansSerif-plain-12</font> 3657 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b00c0a80026548592b8a0766ac6</URIString> 3658 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3659 </child> 3660 <child ID="531" layerID="1" created="1483046153686" x="1688.6351" 3661 y="880.4206" width="30.464355" height="34.000122" 3662 strokeWidth="1.0" autoSized="false" controlCount="0" 3663 arrowState="2" xsi:type="link"> 3664 <strokeColor>#404040</strokeColor> 3665 <textColor>#404040</textColor> 3666 <font>SansSerif-plain-11</font> 3667 <URIString>http://vue.tufts.edu/rdf/resource/4c709721534430712734d86a3c298a33</URIString> 3668 <point1 x="1689.1351" y="880.9206"/> 3669 <point2 x="1718.5995" y="913.9207"/> 3670 <ID1 xsi:type="node">7</ID1> 3671 <ID2 xsi:type="node">9</ID2> 3672 </child> 3673 <child ID="534" layerID="1" created="1483046733635" x="-661.06274" 3674 y="-191.75513" width="24.68274" height="113.95581" 3675 strokeWidth="1.0" autoSized="false" controlCount="0" 3676 arrowState="2" xsi:type="link"> 3677 <strokeColor>#404040</strokeColor> 3678 <textColor>#404040</textColor> 3679 <font>SansSerif-plain-11</font> 3680 <URIString>http://vue.tufts.edu/rdf/resource/4c7aa01c534430712734d86a674135d7</URIString> 3681 <point1 x="-660.56274" y="-78.29932"/> 3682 <point2 x="-636.88" y="-191.25513"/> 3683 <ID1 xsi:type="node">90</ID1> 3684 <ID2 xsi:type="node">103</ID2> 3685 </child> 3686 <child ID="535" 3687 label="Place run-time checks and ann checks after the "editing" policies
(so that the order of the run-time and ann checks do not matter much)" 3688 layerID="1" created="1483046744434" x="-467.36255" 3689 y="-217.25525" width="474.0" height="38.0" strokeWidth="1.0" 3690 autoSized="true" xsi:type="node"> 3691 <fillColor>#F2AE45</fillColor> 3692 <strokeColor>#776D6D</strokeColor> 3693 <textColor>#000000</textColor> 3694 <font>SansSerif-plain-12</font> 3695 <URIString>http://vue.tufts.edu/rdf/resource/4c7aa01c534430712734d86af85a0d62</URIString> 3696 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3697 </child> 3698 <child ID="536" layerID="1" created="1483046744436" x="-524.4689" 3699 y="-202.02475" width="57.606323" height="1.6303558" 3700 strokeWidth="1.0" autoSized="false" controlCount="0" 3701 arrowState="2" xsi:type="link"> 3702 <strokeColor>#404040</strokeColor> 3703 <textColor>#404040</textColor> 3704 <font>SansSerif-plain-11</font> 3705 <URIString>http://vue.tufts.edu/rdf/resource/4c7aa01c534430712734d86aedc8c725</URIString> 3706 <point1 x="-523.9689" y="-201.52475"/> 3707 <point2 x="-467.36255" y="-200.8944"/> 3708 <ID1 xsi:type="node">103</ID1> 3709 <ID2 xsi:type="node">535</ID2> 3710 </child> 3711 <child ID="538" label="i.e. a lens" layerID="1" 3712 created="1484518582413" x="3000.6375" y="699.74475" width="76.0" 3713 height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3714 <fillColor>#E6F7FD</fillColor> 3715 <strokeColor>#776D6D</strokeColor> 3716 <textColor>#000000</textColor> 3717 <font>SansSerif-plain-12</font> 3718 <URIString>http://vue.tufts.edu/rdf/resource/a46d8f60c0a801286acbb58b97c6fd0a</URIString> 3719 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3720 </child> 3721 <child ID="539" layerID="1" created="1484518582423" x="3055.4656" 3722 y="673.2446" width="40.17627" height="27.000122" 3723 strokeWidth="1.0" autoSized="false" controlCount="0" 3724 arrowState="2" xsi:type="link"> 3725 <strokeColor>#404040</strokeColor> 3726 <textColor>#404040</textColor> 3727 <font>SansSerif-plain-11</font> 3728 <URIString>http://vue.tufts.edu/rdf/resource/a46d8f61c0a801286acbb58b996c697e</URIString> 3729 <point1 x="3095.1418" y="673.7446"/> 3730 <point2 x="3055.9656" y="699.74475"/> 3731 <ID1 xsi:type="node">393</ID1> 3732 <ID2 xsi:type="node">538</ID2> 3733 </child> 3734 <child ID="540" 3735 label="Could be implemented using the function-updating-binarry-tree trick
Start from a tree with all positions filled with an empty vector (can be implemented as a single "base" function)
and then "cons" the non-empty vectors, effectively hiding the empty ones" 3736 layerID="1" created="1484520835681" x="983.63745" y="-145.25525" 3737 width="730.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3738 <fillColor>#F2AE45</fillColor> 3739 <strokeColor>#776D6D</strokeColor> 3740 <textColor>#000000</textColor> 3741 <font>SansSerif-plain-12</font> 3742 <URIString>http://vue.tufts.edu/rdf/resource/a46d8f61c0a801286acbb58b2b628a00</URIString> 3743 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3744 </child> 3745 <child ID="541" layerID="1" created="1484520835688" x="1368.2502" 3746 y="-92.75525" width="169.49231" height="223.00012" 3747 strokeWidth="1.0" autoSized="false" controlCount="0" 3748 arrowState="2" xsi:type="link"> 3749 <strokeColor>#404040</strokeColor> 3750 <textColor>#404040</textColor> 3751 <font>SansSerif-plain-11</font> 3752 <URIString>http://vue.tufts.edu/rdf/resource/a46d8f62c0a801286acbb58b19d6b212</URIString> 3753 <point1 x="1537.2426" y="129.74487"/> 3754 <point2 x="1368.7502" y="-92.25525"/> 3755 <ID1 xsi:type="node">353</ID1> 3756 <ID2 xsi:type="node">540</ID2> 3757 </child> 3758 <child ID="542" 3759 label="O(1) memory overhead for each type which is live within an SCC
O(m) time overhead for access, m being the number of SCCs to traverse before reaching the desired node from its ancestor
The O(m) factor can probably be turned into a O(log m) with a bit of extra space usage" 3760 layerID="1" created="1484521031023" x="926.63745" y="-235.25525" 3761 width="825.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3762 <fillColor>#F2AE45</fillColor> 3763 <strokeColor>#776D6D</strokeColor> 3764 <textColor>#000000</textColor> 3765 <font>SansSerif-plain-12</font> 3766 <URIString>http://vue.tufts.edu/rdf/resource/a46d8f62c0a801286acbb58beacd7655</URIString> 3767 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3768 </child> 3769 <child ID="543" layerID="1" created="1484521031026" x="1341.4347" 3770 y="-182.75488" width="4.9055176" height="38.0" strokeWidth="1.0" 3771 autoSized="false" controlCount="0" arrowState="2" xsi:type="link"> 3772 <strokeColor>#404040</strokeColor> 3773 <textColor>#404040</textColor> 3774 <font>SansSerif-plain-11</font> 3775 <URIString>http://vue.tufts.edu/rdf/resource/a46d8f62c0a801286acbb58b90bacc82</URIString> 3776 <point1 x="1345.8402" y="-145.25488"/> 3777 <point2 x="1341.9347" y="-182.25488"/> 3778 <ID1 xsi:type="node">540</ID1> 3779 <ID2 xsi:type="node">542</ID2> 3780 </child> 3781 <child ID="544" label="Check addition of new fields to the input" 3782 layerID="1" created="1484557019620" x="2235.3042" y="324.74472" 3783 width="274.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3784 <fillColor>#F2AE45</fillColor> 3785 <strokeColor>#776D6D</strokeColor> 3786 <textColor>#000000</textColor> 3787 <font>SansSerif-plain-12</font> 3788 <URIString>http://vue.tufts.edu/rdf/resource/a68081d4c0a801286ae39894efbfa682</URIString> 3789 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3790 </child> 3791 <child ID="545" layerID="1" created="1484557019630" x="1975.7919" 3792 y="347.24472" width="335.61157" height="63.670532" 3793 strokeWidth="1.0" autoSized="false" controlCount="0" 3794 arrowState="2" xsi:type="link"> 3795 <strokeColor>#404040</strokeColor> 3796 <textColor>#404040</textColor> 3797 <font>SansSerif-plain-11</font> 3798 <URIString>http://vue.tufts.edu/rdf/resource/a68081d5c0a801286ae398949e441433</URIString> 3799 <point1 x="1976.2917" y="410.41525"/> 3800 <point2 x="2310.9033" y="347.74472"/> 3801 <ID1 xsi:type="node">357</ID1> 3802 <ID2 xsi:type="node">544</ID2> 3803 </child> 3804 <child ID="546" 3805 label="By versionning the lists of fields,
and indicating the last-good version number
in the graph creation code — new versions have to be
approved by bumping the number." 3806 layerID="1" created="1484557036779" x="2181.971" y="222.0781" 3807 width="368.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3808 <fillColor>#F2AE45</fillColor> 3809 <strokeColor>#776D6D</strokeColor> 3810 <textColor>#000000</textColor> 3811 <font>SansSerif-plain-12</font> 3812 <URIString>http://vue.tufts.edu/rdf/resource/a68081d5c0a801286ae398942effba1f</URIString> 3813 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3814 </child> 3815 <child ID="547" layerID="1" created="1484557036786" x="2368.157" 3816 y="289.57812" width="3.7387695" height="35.66797" 3817 strokeWidth="1.0" autoSized="false" controlCount="0" 3818 arrowState="2" xsi:type="link"> 3819 <strokeColor>#404040</strokeColor> 3820 <textColor>#404040</textColor> 3821 <font>SansSerif-plain-11</font> 3822 <URIString>http://vue.tufts.edu/rdf/resource/a68081d6c0a801286ae398944c00f8fa</URIString> 3823 <point1 x="2371.3958" y="324.7461"/> 3824 <point2 x="2368.657" y="290.07812"/> 3825 <ID1 xsi:type="node">544</ID1> 3826 <ID2 xsi:type="node">546</ID2> 3827 </child> 3828 <child ID="550" 3829 label="Needs graph isomorphism in the general case (when the AST contains sets of nodes),
which is costly" 3830 layerID="1" created="1485632929412" x="1640.6375" y="1037.7448" 3831 width="579.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3832 <fillColor>#A6A6A6</fillColor> 3833 <strokeColor>#776D6D</strokeColor> 3834 <textColor>#000000</textColor> 3835 <font>SansSerif-plain-12</font> 3836 <URIString>http://vue.tufts.edu/rdf/resource/e6a06477c0a80128519635b7f1185dc6</URIString> 3837 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3838 </child> 3839 <child ID="551" layerID="1" created="1485632929416" x="1614.5303" 3840 y="1025.436" width="121.777954" height="12.808716" 3841 strokeWidth="1.0" autoSized="false" controlCount="0" 3842 arrowState="2" xsi:type="link"> 3843 <strokeColor>#404040</strokeColor> 3844 <textColor>#404040</textColor> 3845 <font>SansSerif-plain-11</font> 3846 <URIString>http://vue.tufts.edu/rdf/resource/e6a06478c0a80128519635b723122715</URIString> 3847 <point1 x="1615.0302" y="1025.936"/> 3848 <point2 x="1735.8081" y="1037.7448"/> 3849 <ID1 xsi:type="node">244</ID1> 3850 <ID2 xsi:type="node">550</ID2> 3851 </child> 3852 <child ID="554" layerID="1" created="1485632973031" x="1730.171" 3853 y="1075.2449" width="97.48096" height="18.799927" 3854 strokeWidth="1.0" autoSized="false" controlCount="0" 3855 arrowState="2" xsi:type="link"> 3856 <strokeColor>#404040</strokeColor> 3857 <textColor>#404040</textColor> 3858 <font>SansSerif-plain-11</font> 3859 <URIString>http://vue.tufts.edu/rdf/resource/e6a06478c0a80128519635b734204420</URIString> 3860 <point1 x="1827.152" y="1075.7448"/> 3861 <point2 x="1730.671" y="1093.5447"/> 3862 <ID1 xsi:type="node">550</ID1> 3863 <ID2 xsi:type="node">246</ID2> 3864 </child> 3865 <child ID="556" 3866 label="Maybe to simplify the two-representation problem,
we can have either [only-flex-all-the-way-down] or [only-inflexible-all-the-way-down]" 3867 layerID="1" created="1487803597067" x="4616.637" y="78.91142" 3868 width="552.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3869 <fillColor>#FFC63B</fillColor> 3870 <strokeColor>#776D6D</strokeColor> 3871 <textColor>#000000</textColor> 3872 <font>SansSerif-plain-12</font> 3873 <URIString>http://vue.tufts.edu/rdf/resource/75359481d38ff6122624eb26d5af6e3b</URIString> 3874 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3875 </child> 3876 <child ID="557" 3877 label="Aggregation functions:
when a mapping is called multiple times, the aggregation
can merge together contextual data which is only available from the
callers" 3878 layerID="1" created="1487805759600" x="179.63745" y="-144.9219" 3879 width="455.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node"> 3880 <fillColor>#FFC63B</fillColor> 3881 <strokeColor>#776D6D</strokeColor> 3882 <textColor>#000000</textColor> 3883 <font>SansSerif-plain-12</font> 3884 <URIString>http://vue.tufts.edu/rdf/resource/75359482d38ff6122624eb264d4b647a</URIString> 3885 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3886 </child> 3887 <child ID="558" layerID="1" created="1487805841287" x="-537.14795" 3888 y="174.42827" width="616.6211" height="185.27127" 3889 strokeWidth="1.0" autoSized="false" controlCount="0" 3890 arrowState="2" xsi:type="link"> 3891 <strokeColor>#404040</strokeColor> 3892 <textColor>#404040</textColor> 3893 <font>SansSerif-plain-11</font> 3894 <URIString>http://vue.tufts.edu/rdf/resource/75359482d38ff6122624eb263634c828</URIString> 3895 <point1 x="78.97316" y="359.19955"/> 3896 <point2 x="-536.64795" y="174.92828"/> 3897 <ID1 xsi:type="node">211</ID1> 3898 <ID2 xsi:type="node">269</ID2> 3899 </child> 3900 <child ID="559" 3901 label="Related
Contracts as a type (TR recent stuff)
Typed Nanopass in Haskell
(pass ordering)" 3902 layerID="1" created="1488841303345" x="-1468.696" y="978.91156" 3903 width="288.00012" height="140.0" strokeWidth="1.0" 3904 autoSized="false" xsi:type="node"> 3905 <fillColor>#FFC63B</fillColor> 3906 <strokeColor>#776D6D</strokeColor> 3907 <textColor>#000000</textColor> 3908 <font>SansSerif-plain-12</font> 3909 <URIString>http://vue.tufts.edu/rdf/resource/acdfdcb529bace3d04a958401e63a591</URIString> 3910 <shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/> 3911 </child> 3912 <layer ID="1" label="Layer 1" created="1479309847607" x="0.0" 3913 y="0.0" width="1.4E-45" height="1.4E-45" strokeWidth="0.0" autoSized="false"> 3914 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b15c0a80026548592b8d2f3fee2</URIString> 3915 </layer> 3916 <userZoom>0.75</userZoom> 3917 <userOrigin x="-1182.522" y="-282.81644"/> 3918 <presentationBackground>#FFFFFF</presentationBackground> 3919 <PathwayList currentPathway="0" revealerIndex="-1"> 3920 <pathway ID="0" label="Chemin sans nom" created="1479309847603" 3921 x="0.0" y="0.0" width="1.4E-45" height="1.4E-45" 3922 strokeWidth="0.0" autoSized="false" currentIndex="0" open="true"> 3923 <strokeColor>#B3993333</strokeColor> 3924 <textColor>#000000</textColor> 3925 <font>SansSerif-plain-14</font> 3926 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b16c0a80026548592b8204729d3</URIString> 3927 <masterSlide ID="2" created="1479309847623" x="0.0" y="0.0" 3928 width="800.0" height="600.0" locked="true" 3929 strokeWidth="0.0" autoSized="false"> 3930 <fillColor>#000000</fillColor> 3931 <strokeColor>#404040</strokeColor> 3932 <textColor>#000000</textColor> 3933 <font>SansSerif-plain-14</font> 3934 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b16c0a80026548592b817230376</URIString> 3935 <titleStyle ID="3" label="Header" 3936 created="1479309850047" x="329.0" y="174.5" 3937 width="142.0" height="51.0" strokeWidth="0.0" 3938 autoSized="true" isStyle="true" xsi:type="node"> 3939 <strokeColor>#404040</strokeColor> 3940 <textColor>#FFFFFF</textColor> 3941 <font>Gill Sans-plain-36</font> 3942 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b17c0a80026548592b88a8fba25</URIString> 3943 <shape xsi:type="rectangle"/> 3944 </titleStyle> 3945 <textStyle ID="4" label="Slide Text" 3946 created="1479309850048" x="340.0" y="282.5" 3947 width="120.0" height="35.0" strokeWidth="0.0" 3948 autoSized="true" isStyle="true" xsi:type="node"> 3949 <strokeColor>#404040</strokeColor> 3950 <textColor>#FFFFFF</textColor> 3951 <font>Gill Sans-plain-22</font> 3952 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b17c0a80026548592b8c426a9c8</URIString> 3953 <shape xsi:type="rectangle"/> 3954 </textStyle> 3955 <linkStyle ID="5" label="Links" created="1479309850107" 3956 x="372.5" y="385.0" width="55.0" height="30.0" 3957 strokeWidth="0.0" autoSized="true" isStyle="true" xsi:type="node"> 3958 <strokeColor>#404040</strokeColor> 3959 <textColor>#B3BFE3</textColor> 3960 <font>Gill Sans-plain-18</font> 3961 <URIString>http://vue.tufts.edu/rdf/resource/6dbf6b18c0a80026548592b8ea0d19d7</URIString> 3962 <shape xsi:type="rectangle"/> 3963 </linkStyle> 3964 </masterSlide> 3965 </pathway> 3966 </PathwayList> 3967 <date>2016-11-16</date> 3968 <modelVersion>6</modelVersion> 3969 <saveLocation>/home/suzanne/phc/racket-packages/phc-graph</saveLocation> 3970 <saveFile>/home/suzanne/phc/racket-packages/phc-graph/Graph-notes-copy2.vue</saveFile> 3971 </LW-MAP>