The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="41 11 511 791" width="511pt" height="791pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2006-07-05 19:11Z</dc:date><!-- Produced by OmniGraffle Professional 4.1.2 beta 2 --></metadata><defs><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="#695f7e"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-size="24pt" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="541.6667" cap-height="729.1667" ascent="770.01953" descent="-229.98047" font-weight="bold"><!--{
    NSCTFontTraitsAttribute = {
        NSCTFontProportionTrait = 0; 
        NSCTFontSlantTrait = 0; 
        NSCTFontSymbolicTrait = 2; 
        NSCTFontWeightTrait = 0.4; 
    }; 
    NSFontNameAttribute = "Helvetica-Bold"; 
    NSFontSizeAttribute = 24; 
}--><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-face><font-face font-size="12pt" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="583.33337" cap-height="750" ascent="770.01953" descent="-229.98047" font-weight="500"><!--{
    NSCTFontTraitsAttribute = {
        NSCTFontProportionTrait = 0; 
        NSCTFontSlantTrait = 0; 
        NSCTFontSymbolicTrait = 0; 
        NSCTFontWeightTrait = 0; 
    }; 
    NSFontNameAttribute = Helvetica; 
}--><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-5 -3 6 6" markerWidth="6" markerHeight="6" color="#695f7e"><g><path d="M -3.2 0 L 0 1.20000005 L 0 -1.20000005 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-size="12pt" units-per-em="1000" underline-position="-110.00061" underline-thickness="50.003052" slope="0" x-height="500" cap-height="750" ascent="860.0006" descent="-139.99939" font-weight="600"><!--{
    NSCTFontTraitsAttribute = {
        NSCTFontProportionTrait = 0; 
        NSCTFontSlantTrait = 0; 
        NSCTFontSymbolicTrait = -2147483648; 
        NSCTFontWeightTrait = 0.23; 
    }; 
    NSFontNameAttribute = LiHeiPro; 
}--><font-face-src><font-face-name name="LiHeiPro"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 2</title><rect fill="White" width="570.96002" height="817.44"/><g><title>Layer 1</title><line x1="407.37082" y1="693.91626" x2="375.7006" y2="674.65295" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="467.36768" y1="665.2022" x2="458.63232" y2="684.7978" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="278.51831" y1="751.9367" x2="262.22076" y2="749.7967" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="400.00601" y1="732.60992" x2="372.99405" y2="742.39008" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="274.68704" y1="207.76514" x2="277.31299" y2="187.23488" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="188.50845" y1="498.2498" x2="166.49155" y2="498.75018" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="467.51935" y1="583.12537" x2="472.4862" y2="601.02173" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="240.8279" y1="254.96204" x2="181.1721" y2="284.03796" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="303.26294" y1="244.46034" x2="328.73706" y2="247.53964" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="254.359" y1="500.55667" x2="274.64099" y2="502.44336" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="254.89299" y1="280.46918" x2="241.50609" y2="314.75272" marker-start="url(#FilledArrow_Marker)" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="453.47977" y1="320.02457" x2="467.5202" y2="302.97546" stroke="#5f7e69" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="461.71" y1="360.87369" x2="479.29" y2="370.12631" stroke="#5f7e69" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="398.5373" y1="362.57312" x2="403.008" y2="360.32571" stroke="#5f7e69" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="229.75813" y1="529.45532" x2="236.24188" y2="554.54468" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="205.49927" y1="468.62912" x2="191.50073" y2="443.37088" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="202.23094" y1="524.29602" x2="176.76904" y2="559.70398" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="296.43182" y1="220.0856" x2="338.56818" y2="186.91441" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="237.87346" y1="235.53508" x2="211.12654" y2="231.4649" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="250.82881" y1="213.99854" x2="218.17119" y2="170.00146" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="291.07748" y1="435.5555" x2="246.14801" y2="475.556" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="308.5535" y1="323.4512" x2="284.26352" y2="270.50247" marker-start="url(#FilledArrow_Marker)" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><circle cx="340" cy="392" r="65.00009" fill="#b3b3b3"/><circle cx="340" cy="392" r="65.00009" stroke="#7e7e7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(290 379.5)" fill="White"><tspan font-size="24pt" font-weight="bold" fill="White" x="31.988281" y="23" textLength="34.71">Val</tspan></text><circle cx="270.50003" cy="240.50002" r="32.500042" fill="#d5c0ff"/><circle cx="270.50003" cy="240.50002" r="32.500042" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(246.5 234)" fill="Black"><tspan font-size="12pt" x="11.326172" y="11" textLength="25.347">Pure</tspan></text><circle cx="198.5" cy="143.5" r="32.50005" fill="#d5c0ff" fill-opacity=".8"/><circle cx="198.5" cy="143.5" r="32.50005" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(174.5 137)" fill="Black"><tspan font-size="12pt" x="16.333008" y="11" textLength="15.333">Str</tspan></text><circle cx="221.5" cy="497.5" r="32.500042" fill="#bfeaff"/><circle cx="221.5" cy="497.5" r="32.500042" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(197.5 491)" fill="Black"><tspan font-size="12pt" x="2.6542969" y="11" textLength="42.691002">Mutable</tspan></text><circle cx="178.5" cy="226.5" r="32.500046" fill="#d5c0ff" fill-opacity=".8"/><circle cx="178.5" cy="226.5" r="32.500046" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(154.5 220)" fill="Black"><tspan font-size="12pt" x="17.329102" y="11" textLength="13.341">Int</tspan></text><circle cx="364.5" cy="166.5" r="32.500042" fill="#d5c0ff" fill-opacity=".8"/><circle cx="364.5" cy="166.5" r="32.500042" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(340.5 160)" fill="Black"><tspan font-size="12pt" x="9.65625" y="11" textLength="28.687">Code</tspan></text><circle cx="157.5" cy="586.5" r="32.500046" fill="#bfeaff" fill-opacity=".8"/><circle cx="157.5" cy="586.5" r="32.500046" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(133.5 580)" fill="Black"><tspan font-size="12pt" x="3.319336" y="11" textLength="41.361">Routine</tspan></text><circle cx="175.5" cy="414.5" r="32.500042" fill="#bfeaff" fill-opacity=".8"/><circle cx="175.5" cy="414.5" r="32.500042" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(151.5 408)" fill="Black"><tspan font-size="12pt" x="6.993164" y="11" textLength="34.013">Scalar</tspan></text><circle cx="244.50002" cy="586.5" r="32.500042" fill="#bfeaff" fill-opacity=".8"/><circle cx="244.50002" cy="586.5" r="32.500042" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(220.5 580)" fill="Black"><tspan font-size="12pt" x="9.665039" y="11" textLength="28.669">Array</tspan></text><circle cx="432.5" cy="345.5" r="32.500034" fill="#c0ffd5"/><circle cx="432.5" cy="345.5" r="32.500034" stroke="#5f7e69" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(408.5 339)" fill="Black"><tspan font-size="12pt" x="17.666016" y="11" textLength="12.667">IO</tspan></text><circle cx="508.5" cy="385.5" r="32.500038" fill="#c0ffd5" fill-opacity=".8"/><circle cx="508.5" cy="385.5" r="32.500038" stroke="#5f7e69" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(484.5 379)" fill="Black"><tspan font-size="12pt" x="4.986328" y="11" textLength="38.027">Handle</tspan></text><circle cx="488.5" cy="277.50003" r="32.500038" fill="#c0ffd5" fill-opacity=".8"/><circle cx="488.5" cy="277.50003" r="32.500038" stroke="#5f7e69" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(464.5 271)" fill="Black"><tspan font-size="12pt" x="5.6572266" y="11" textLength="36.685001">Socket</tspan></text><circle cx="229.5" cy="345.5" r="32.500042" fill="#d5c0ff" fill-opacity=".8"/><circle cx="229.5" cy="345.5" r="32.500042" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(205.5 339)" fill="Black"><tspan font-size="12pt" x="9.2109375" y="11" textLength="7.33">T</tspan><tspan font-size="12pt" x="16.1015625" y="11" textLength="22.687">uple</tspan></text><circle cx="307.5" cy="505.5" r="32.500038" fill="#bfeaff" fill-opacity=".8"/><circle cx="307.5" cy="505.5" r="32.500038" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(283.5 499)" fill="Black"><tspan font-size="12pt" x="6.6591797" y="11" textLength="34.681">Object</tspan></text><circle cx="450" cy="520.00006" r="65.000084" fill="#b3b3b3"/><circle cx="450" cy="520.00006" r="65.000084" stroke="#7e7e7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(400 493)" fill="White"><tspan font-size="24pt" font-weight="bold" fill="White" x="23.996094" y="23" textLength="52.007">Role</tspan><tspan font-size="24pt" font-weight="bold" fill="White" x="21.335938" y="52" textLength="57.328">Land</tspan></text><circle cx="361.5" cy="251.50002" r="32.500038" fill="#d5c0ff" fill-opacity=".8"/><circle cx="361.5" cy="251.50002" r="32.500038" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(337.5 245)" fill="Black"><tspan font-size="12pt" x="13.324219" y="11" textLength="21.351">Seq</tspan></text><circle cx="151.5" cy="298.5" r="32.500042" fill="#d5c0ff" fill-opacity=".8"/><circle cx="151.5" cy="298.5" r="32.500042" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(127.5 292)" fill="Black"><tspan font-size="12pt" x=".984375" y="11" textLength="46.030998">Mapping</tspan></text><line x1="266.06277" y1="360.88614" x2="259.92444" y2="358.30304" marker-start="url(#FilledArrow_Marker_2)" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="4"/><line x1="400.85486" y1="462.81293" x2="382.69266" y2="441.67874" marker-start="url(#FilledArrow_Marker)" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><ellipse cx="481.5" cy="633.5" rx="50.50008" ry="32.500042" fill="#bfeaff"/><ellipse cx="481.5" cy="633.5" rx="50.50008" ry="32.500042" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(443.1 620)" fill="Black"><tspan font-size="12pt" x="8.0542984" y="11" textLength="60.691002">array_store</tspan><tspan font-size="12pt" x="8.385353" y="25" textLength="60.029">array_fetch</tspan></text><circle cx="133.5" cy="499.5" r="32.500042" fill="#d5c0ff" fill-opacity=".60000002"/><circle cx="133.5" cy="499.5" r="32.500042" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(109.5 493)" fill="Black"><tspan font-size="12pt" x="3.65625" y="11" textLength="40.687">Foreign</tspan></text><circle cx="281.5" cy="154.5" r="32.500042" fill="#d5c0ff" fill-opacity=".60000002"/><circle cx="281.5" cy="154.5" r="32.500042" stroke="#695f7e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(257.5 148)" fill="Black"><tspan font-size="12pt" x=".66210938" y="11" textLength="46.675">Dynamic</tspan></text><ellipse cx="328.5" cy="758.5" rx="50.50008" ry="32.500042" fill="#bfeaff" fill-opacity=".60000002"/><ellipse cx="328.5" cy="758.5" rx="50.50008" ry="32.500042" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(290.1 752)" fill="Black"><tspan font-size="12pt" x="9.062111" y="11" textLength="58.675">ArrayClass</tspan></text><circle cx="347.5" cy="657.5" r="32.500038" fill="#bfeaff" fill-opacity=".60000002"/><circle cx="347.5" cy="657.5" r="32.500038" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(323.5 637)" fill="Black"><tspan font-size="12pt" x="2.9882812" y="11" textLength="45.356998">upcast / </tspan><tspan font-size="12pt" x="2.6572266" y="25" textLength="46.019">coerce / </tspan><tspan font-size="12pt" x="15.996094" y="39" textLength="16.007">etc</tspan></text><circle cx="229.5" cy="745.5" r="32.500046" fill="#bfeaff" fill-opacity=".4"/><circle cx="229.5" cy="745.5" r="32.500046" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(205.5 725)" fill="Black"><tspan font-size="12pt" x="6.3222656" y="11" textLength="38.689">subset </tspan><tspan font-size="12pt" x="8.6572266" y="25" textLength="33.133999">of Val </tspan><tspan font-size="12pt" x="2.991211" y="39" textLength="42.016998">variants</tspan></text><ellipse cx="444.5" cy="716.5" rx="50.50008" ry="32.500042" fill="#bfeaff" fill-opacity=".8"/><ellipse cx="444.5" cy="716.5" rx="50.50008" ry="32.500042" stroke="#5f747e" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(406.1 703)" fill="Black"><tspan font-size="12pt" x="2.048439" y="11" textLength="75.152">case over Val </tspan><tspan font-size="12pt" x="17.391212" y="25" textLength="42.016998">variants</tspan></text><text transform="translate(56 21)" fill="Black"><tspan font-size="12pt" x=".29006958" y="10" textLength="75.419">New Runcore</tspan></text></g></g></svg>