class: center, middle ##Python Interpreter in Rust #### 2017/8/6, COSCUP #### Shing Lyu ??? top, middle, bottom left, center, right --- ### About Me * 呂行 Shing Lyu * Mozilla engineer * Servo team ![rust_and_servo](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAToAAACWCAYAAABO60R9AADYiklEQVR4nOy9ebxcRZnw/62qs3T3XXMTskISwm4kLAIjyCaLgoIIwReVAQYUnBHEEZiRYYSRRR0VdFABkVVBFgUxgAouCKOI7Pu+JIGE7MndejlLVf3+OH3OPd23++YmRMff+86T9Od2n1Onqk7VU089Wz2PsNZamsECosX3/2GwWMQYnVnf/ayctQjRWE5rjVKq7TPGGKSU3HzzzfzTP/0Txhp+cOUP+PjHP046hM11tqp7XH38GxrzdwT/t7zHpgYLxib4lP5uHqcU39auXctFF13Ec889xymnnMLRRx/dEn+bIX0+azL3zHjXyQbDX2m+N6b/whhjBQIr6ovVChBYa60QjHwf/SSI5GZDo2knLKPpJwJaXUYk7eZfwAqbXWtVNm2rbZ0t6q4/BBKefOJJbrnlFqZPn86JJ55IT08PcRyjlBrV/ziOcR2Xxx5/jH322YcoigBwHIcHH3yQXXfdFa01juOApeFZrTXKUQz0D3D99dfz9ttv84lPfIJddtkFa+xoxEjGNRnzNu+W9S93P9/nbAxpJMB5gmytbRxLYRvayso0t5273txm81wJIVrizqi68+/Rpt1R796mzVZ1jnou30aLMW4ev1E41KLOsd4xLffLX/6SgYEB5s+fbz3PEykxSsepeZ4ATjrpJG644Ybs2n//93/zvr3eR6xjHOVk/czWcK47zzzzDI8+9igHvP8Attxyy8Y+p+/d9G6tcKvleLZ4v1bznZZrizdCjFozze+S1d803q1wpe08G2OsNdaa+j9rrLXWmvR6+n3UZ+RmUq7+yepr80zbukxjXflrrcpm96yxRtc/66k7jmNrjbWvvfaanTVrllVKWaWUPeqoo+zAwIA1xtgoihrajeM4u3744YdbpZT1fd8Wi0WrlLKHH364jaLIGmOs1rrh2TAMrTHG9vf3249+9KNZe3PmzLGvv/56Q/1N42oaxqvp/RrevfmaaRofk8xTOlfp71Fj2TQ3+fLtrje32aJsS9wZVbddf7vjbbMdrjWPx1g42Tx+7XBxrPabx+nCCy+0UkorpbSHH364HRwcHMHJdL3VIcWnBQsWWCmldRzHlkolK6W0+++/vw3DsGHtZX9tHX+ttbfffrtVSlkppZ02bZp96aWXrLEJjja8t20zps3jMgZ+ZH1oMd9ZP9vhjbWjxrEZH9vRlVa40m6esSlNySFnO0LX/CL5F8yIXa6+3ASa5meb6xtF6HLtt2o3LaO1zj51otGyHWutSQndhRdeaJVStlgsWt/3rVLKHnvssbZWq1lrrUkRzVprtNbGWmuuuuoqq5SyjuNY13Wzv0ope/XVV48gbb3PdYQzlUrFHnPMMVYpZT3Ps52dnVYpZb/61a+m/TNGN41F+s66Tgi1MUYbo7VuPR7p+Lebt/zcNM9386Jus4jzdbea03bz24BPufbb4kQb4tH8bDN+NLfVrt/t3m3U+LdYfLkyJo5j22o+8u2luPPCCy9kRKdQKFgppT344INtGIamjsPZu6WEaPny5WbOnDkZoZNSWtd1rZTSXnjBhWn9DWslxdtf/vKXGVHt7Oy0Ukr7mc98Jlsv7cY2/R7HcbYBt8S1pjXeaj5H4UsT/jV8b0XoxsCXlnPaZp7T50YIXf1fQ4XNCyb/0iM3bb7DzYPQMJCjdwWT1ZUfEJN1avSCsLkyusXOUycITf00WmtjjLEDAwP2ve99b0Z4XNe1nudZpVSKDCZFmiiKjLXWvPHGG2b27NkZN5dyZulzs2bNsm+88Ya11towDG0cxybty8knn9zQVvr8nnvuaQcHB9O+NY5FQuSy92gaA5Mv24xsbeYthWyWRo3l6LlpTejyc76xhC7Xl/x7tGq31QJrfs/mT/PYtFgUo/Cj+V0aFl8OF/NzlSdmrcYpjmNjrTXf/va3rZTSep7X8Pcf/uEf8s+Y+jPWGGP/47z/aCgrpcyIpeu69tVXX7XW2AaJw1hjH3zwwYz7SzdiKaWdOnWqffvttzMCmY157v3r+NY8J6NxLYdD+TlpNw45HBxN6OrfGuba2IZ+tSV0uXlsN8/pc4xGEzvS+ebv/8OfBkKok++VSsXedNNN9vLLL7cLFy7M7qciaPoJw9BaY+0999wzilC5rpshxVlnnTWq3VNPPdUqpWyhUMieTbm7tI7Pfvazo54744wzRtWf/lVK2d/+9rcZsuafi+M4G/M33njDXnbZZfaWW26xlUolQ9T/6bkY1+dvCHc2Jf6tW7fO3nfffXbVqlXZ9bHm5LDDDmvgzPLc2QknnJCNU7VatdZY+9hjj2VlU0LV/Nxxxx2X4UKtVrPWWPvkk082ELn0+bSOn/3sZy3xrfnaY489Zh999NFR7/23Mt/j7k/us0GELk8xN6RDDQRqAzvZ6tmUyFlj7dlnn51N5lZbbWVvu+22rFxK3PLlTzvttIwzcxxnFNFTStnzzz8/a++uu+7KrueJVKvn7rzzzqyd//iP/2gQddPveeJ4+umnjyLedf2LMcbYn/70p3bOnDlZ/V/60peysu+U2OV3z3dSZkwkbMKdjalrPDjXjCOjuMGNHIv89XS8X3rpJTt37lwrpbTbbrut/c1vfpOVz1QeZoRwPPvssw1EJ8+dpcTsy//x5YZ2DzzwwAZilf/kCddPfvKT7JnXX3/dbr311qO4wHw9n/rUp1qOa9rX4eFhe/bZZ2fPXXD+BeOe7wbubiPxb32/2z07nnkm39G8OND8vR0Ctetcu2fGW9dY9aQT8+abb9pp06ZZpZTt6OjIkOCss86y69aty3baWq1mjTF24cKFdquttholgqYEL0+0TjjhBPv5z38+M1rk7zV/UkI2e/Zs+/nPf94ef/zxLQlh87U5c+bYt956yxpjkj7WDQ7r1q0zKTeolMr0ejNnzrRvvvlmw6JqHr+xEGA8ZVuVGaudscq3w52x8GN9uLO+NjfFc63GJBURP//5z2fcfUoQzjjjjMzwlJZL/5533nnjIlr//M//bO+++257yimntOTkmp9LjQxXXXWVve222+y8efNaErl8+a6uLvvaa69l6yLTwxlrH3rooYyA5z9PPvlkw/uMNZ6t5rvVWl4f/rX7vb5yY7VDvYMjkBI3m103xtb/jXzLFc8IYkoVs+tZ+RHEtyb/z7Soqwmyl8i1m1qW/vjHP2bipOu6DaLlXnvtZR9++OHsnYwx9oYbbmjgrJrF0HZcW6tr4ynT7rn89RtvvLFhLB566CG75557ZvcLhUJWvlAo2D//+c/WGpta67Jns7FKx9BYO2qumuZh1FjbxnFuN1dZm/k2TFN524T4zXhgWtTZql3b5lnbVE/+Y0fjYLs2WuJYNoSjx+/II4/MCEpeFN1n333s448/nhERa61du3at3WqrrcYkXHli10yYxvq0KpPvT/MnJbTf+MY3rLHGVmvVbHy+9a1vNRg88tzmT3/6U2vsiA5w1FrOzYltQSvyuNZq/tvhXqvyGY61mNO281yvQwpEa18tO3JdWJH5W+WvZ7+p+9jYug+SpbE8I75J6T1hBQLR8HxatzEm8X/J+dHk203vvfXWW5lPG0AURSilUErx8MMPc8ABB3D55ZczODTIs88+y9VXXw2AUmqU/42t+/oYYxBC4DgOjuMgpcQYM3qAmsDUfaLS59K6WoG1NnMgvuqqq3jh+RcYHBzke9/9HgcccACPPPJI9h5RFGV9i6KIJUuWJGMiRsY3G/P6OFljMdY0zFs2jrl5sNhs3rK6rBg9p01zlbVJa9xouMZI/9Lf+esNdTZ/z7WfPWsb8aG5vlHv1q5fTWMz6pod+aT4NjAwwOuvv57Nd4orSike/OOD7LHHHlx55ZVIkTjq3n77HSxcuBApZVvfQJvzbRRCjFm2+bm0fPrsWHia1nn99dfT39+P7/ssXriYI444grPOOgtjDEoptNYN7S9fvjwZF5FbszSu7WZ60ApfYDQujHSucY6a/R8b5rmpzWY61Q7/nGZHvLyz5CjHydz3/HNjOQw3/23+nn8hY5OJkkJisURxhKOczJk5fTYlEinS5ZFDa40QAtd1qdVqnH766Vx55ZUsXryY4eFhhBDEcTyqfRhBBmstcRy3dkisI5W1dtS9FPnXB9barJ9//OMf2XvvvZk5cybPP/88AK7rEsdxQ39SJHz11VezfuTbT523U0dSKWTDeKZjl5Yd1acWzrCt7rVz2G01560casd0KB/jmVbPtmqzFYz1HDbBGWCEaDSNjzEGJRUrV65k4cKFyWO5uUlPvmitOfXUU3nk4YfoKHosuOM2ukuSSgBjYUWe2I0Hf/LPpQRvfcQxJcovvfQSB7z/AA455BB+9rOf8dprr+E4DlrrbBzy8OKLL2KxyRprgwfaJMQxHb88tHL2HQv/WtGPdg7D+edaPZv/7ow5On9FSCcsGwQBruNiSRApG0Q7snBTQtc80dbajLvTWmcEZLzcWb6eFNKdO0/MHMcZN3FrV7+UkqGhoayPKRfXDFJKtNa88cYbDc+n765NstgcxxnZ/XKe9us7MvT/LAhGHf3TRqPkyLUUD1atWkW5XG5ZTbpxKSm57oc3gm3ECUcpzHqIUbtNNf87k3bGeG6s+oUQPPPMMzzzzDNA8u7tNn4g21hpOhlhE/0+UkqUVNRPRoy7L39t+JsgdNZYpJBEccRVV13Fr3/9a+bNm8f8+fOZN29ehogpUXEdl2qtmu2u7QY4Q74mArWhkCJbM0Kkv1OCujGQIktKyNI+Ay1364ULF1KulCmVStkGIKVMOF8sTz/9NLfddhvPPfccH/zgBznllFNaiur/CwmsXLGSO++8E8/z2Gfffdhy9pYoqTIuRSmVzceiRYuA9vgmBYTasPWsPuZtPZGSL1hbjnjsuRWsXF3GcSTGjG8e0jZb4WwqwWzMnOY5L2PMevH27bffplwu09HZkbVnjMnUOlpr/vjHP/LMM8+w3XbbiQ984AMb3Ke/BjhCJHKhsKnSJ6Hb6fXm7xnYhG1ovpfXmbR8RoyWMWxyrtP+/Oc/F6effjoAd999N9/97nc5+uijOeH4E9h7772tUgollUBgh4aGWLJkSctzdU11j7ljre9MZ/7+3nvvzYknnsjWW29NuVzm/vvv53vf+x6VSmVcxK5dW62IcCuxGOC1116jVqvZjo4OXMfNuPM//OEP4oc/+iG33XYbw8PDQDKGkyZN4mNHfyw9i5vKAyI7l5jOd3K0OS8HiHbz3oAbuXluNefjqaMBL9q1m69zPW1CglPtcDO9Z4zhpJNOEvfeey/WWjo6OvjMZz7DZ//ps3bLOVtmz8VxLJSv7KuvvCpghLvOg5QCR1qi2HLM+7dkv3mT6ShIBmqGn3R1cv1dT9NVEAxU1k+c8njykY98hP322w+Ahx56iNtuuy3bHDd28xqvegVgxYpllIeHbGdHpzDWWKVU2ra48847ufTSS3nggQey52677TaOPPJIm/Yxm892eJMe022ax2Z8bElX2uBKvu7svq2bd3PmjxFDSdP3JlPySPk2n2bTcN56kn5SC5U11n7xi1/M3CnylknHcexRRx1l77zzTjs8PGytsfb6668fZSlttqSO55NaYPPPpt/zPnD/+I//aMvl8ihz+P33329nzJixXheUdtbeVtdblcuPxw033GCtSZylFyxYYI888shRPoHpWdwzzzxzxPqkG+chszCaFnNpR96x+fp45rwV7uTxoG2dtrGuUTi0njZbWnmbyqfuSU8//XRmwcy7ZXR1ddmzzjrL/ulPf8rw0xhjP/ShD7W0biqlbHfJtYA9+WN72j9d/2n7yq3H2aevPtw+9v1D7MWf3cuCZ3sL0jrrsajmXUduv/32UWvmzjvvtFtsscW4rbMb+lFSWiGlLfiu3WxC0QJZP6yxdtmyZfant9xgD/ngBxr6nB41Sx2ZR82nHT1nGR1pjTtt57z52XbznK/7f9wYka/D8zyAzNKYiqxaaxYsWMCCBQv44Ac/SHd3N7fffnvGhqeKVruRrHy7a6n+YrfdduNrX/0axWKRMAoz3ZySiv32248LLriAU045Zb39GO/1VuXydZ900kncfffdDA0Nce+992Zl0vGyOS42HdOs7qb5yl/Pw//NxojsWt1qmYpw6e9yucy3vvUtvvWtb3HER4/g2E8ey49+9CPuueeelgYDJSGdsl12nM20LaZT7V9ONVpDHFWYMUmy57zNeOiZpXT4iupoFWzyPjl93He/+12OPPLITBeW3j/ssMPo6+tj3333HbchYkNAWyj5ikotohZEFCdO4Y5bLmeCP0SoJV/51hX84YFHAI3rOoBAa02tVgMSvXW79f2/xog6pIvS1vUPeeSTUhLHccPCziPdppzs5rqPOuooent7ieII13EzBbbWGkc6fPjDH2bOnDm88cYb70hft77+pIhtjOG2227L7uWNImmZdNH4BR/4X4NEKygUCjiOQxiGAKNwTmvNgp8vYMHPF2TPtMIzIQSRTnDFdV3CKKRSGcZYSxhBtyfYc/sJPPTMcrAWKURLw0Q6t3vttRdHHnlk1p6sx5VL18X79nofhxxySEZ4NwXuCxIi193hMjgcoDq6Oev497HT9pszucehsPaPmKEypx6yGfvucACX3/40g6tWIl2V9R2gWCy+4778JUCuv8hfDwqFQvY9r5A3xmTuHq7r4rruO9JRtINWFi6A2bNnj9zP0YoUAbu7u9lqq60arrWq851A+q4p4qfjkLrLNFvj0u++52+S9v9vBMdxRnG8MJrgpX/bgiWzSFoLwlp8P8HRuBKiYsN20zrZYeuJlEOD14a9SHFl9913H9nY5Aj+pN4GANtvv33DM+8U8kQOJF8//QCO2m82209T9PoBQg/hUWWaH/Lerbo4eI9ZaKDgCPKL4m+V0P3VODprW4tMyc3kT57QtaujlevFxkLeSTOtv1lUsNayZs2a7H5zfwCCWsCKFStGlUlFybwFbWMtv3lYXz35XT4d03YcnbU2E+P+X4H0XT3Po1AoZMabZkjxIf3evsJUdBVoa5Cej+d3UGYNylEYHTO91+WAXafy4muDOISjcC4P1Wo1u9e8Zqy1IMi40Ob3ys/9eBiBlJPr6fQYGKoBRb53wZHsslUHQysWo43FSJcwiKiVA3R/Px1dPbx7Vhc/8XoJqv0od4SMlEqlkb7/DeGUbONZLpq/N1s92llXm6+nEylFsjNqrTMOpFmtkhdd/1KQupukXGHKLcZxjNY68xBP/wKZuOw6LkEQZM+kIuqjjz2a+SWl1/JOmGn9qVnedd0Gt4W/BKRjmOdYUi/ztE86rnMtQmKNzRZWqzltxoF23xuuNeFOqzLN/5rrbH5mvW3WQcd61IbQ/Jzruvj+puF4U222UhJhQesYqSTScRFCUlCWHbco8b7dpzIYWIouDaoGGJmzP/3pT4RhQgzjKM76G+s48+976qmnGp5JCVxaZ8r5j4VnCZGzdHekRE7y9X87gn12momKNcPDMQODIeXhGlE1xMaaCMXw8DC9rmbu1r2EgJNjdguFQlsakfZPGz1qo14ffVkfvWku0/xdZkq//M4isJmSr/59lHHBWrCjlcAN5Wxul8FmBobUBweROGemu1NXV9dI3ZsQUq4tJW5aa6IoyojS9OnT+fCHP8znP/95ZsyYgdYa13Wz+3fffTeXfudSLBbf97OjXq7r8tZbb3HOOecAIxyc4zjEccz222/PmWeeyUEHHcRmm20GJL53adv5PjWLzZsKurq6wCYcQKzjRL8okznIO8o2nPioz10KNvcvnfP8PLcyPFnsKNzJytjGOq1tX39zvettsw6pG0TGOZE4VaeLzJLg4qYidIl/nAJriKMAHYdYbdExGC2IqjEzS4Ij3jMFil0M1zT77PVeZszYIlsXqUvGc889x9e+9jUgwaW0/6mv5He++x3+9Kc/ZeqVvBpnn332YYsttqj3yWRHutINPh2PEU7OZ3C4xoS+qVx20fHsv/vmVKv9rC2XMYUOnFInRb+IiS1DA2UqQwHhcARBwOSuBH8kI7SjUChgGSFocRyjjc5oQepgnKkCUpG/FX1pdb0RMdviSTMuZX502IwEJkz4evzobD02fDtfJSwImXBw1113nXjggQfYfPPN2XnnnZk7dy6zZ8+2nZ2d6YITCGwQBGmdm4TY5QlIyq0BdHZ2svfee7Pvvvuy0047sc0229jp06eLQqFgP/ShD4mPfvSjVKvVjNgZYzjzzDNZvHgxxx9/PFOmTLFBEPDYY4+Jr371qzzzzDMZd+g4DlEUsf322/PTn/7U7rDDDlQqFfHmm2/aF198UTz11FM89thjPPzww/T392fENG8x3RTibQrpJlIsFLO5HRwcFG+++SbPP/88Tz31FEuWLGH//ffnxBNPtFLKNJfFX82PzuZ93t6BH126oAcHB7nrrruEUooddtiBWbNm2d7e3hHCXjfO9fX1USgUNgnOGWPBdcBqjInAWiJtiEODclxiISgImDfD4+4rz2SbPY5mm213sAsXvsG+++4nli1b1mDIuvDCC6nVapx22mlsvvnmFmDFihVcdtll4itf+UrWbv60z6WXXsppp51mV6xYIV544QUee+wxHnzwQZ588kmWLFmS1Z1sapKeokNUS8Tk8077APvuNJVqeTXrysNUsahiARlF1AaHGeovM7SujDIShMEpxUwojBDNFHp6ehBC2JRAp2NtrRVLliyxr776qnj99deZO3cue+21V2YoHYU7bfCsodwG+NH9xZLjaJNwLDfddBMnnHBCw6O9vb1st912zJs3j1133ZXdd9+dJUuWcMYZZ/DGG29s8FEtaETUvJU2hWKxyEEHHcTBBx/MPvvsw7bbbtso1gmRJav51a9+xVFHHUUcx6OOeRUKBWbPnk25XOatt97K2kt35TiO2Xnnnbn55pvZeuutM4WysCMJP6Io4rVXX+PXv/k1d955J3/4wx8aFllzmxuzCNMx3GqrrbjkkkvYfPPNeeSRR3jyySd5+umnefnllxkYGGh45sYbb+SYY47JxJ52FsZMXGLsRDWiRbKUlu8jyHb29b3r+trUWvPxj3+cO+64I6vvXXPfxbwd5zFv3jx222035s2bx8SJE7nsssv453/+53fspuE6EhMbYuFy7Vc/xl5zp1AdXEG5fw1DKwcTjlWAtBavIJj8rn3Z9oDTcTqmAvD8889zyCGH0EzsACZOnMgee+wBwJNPPsny5cuz98obzG644QY+8clPZJxT/l3efvttnnjiCe677z7uvPNOFi1eTHeHx+BgFQNcfN6xvH+3mYTrljE0NEhNecTSR+oAUa0QDlYorxtmYF0ZTzoUHIV1BY8sq/D9BS/R6VoCkn6/973v5ZprrmG77bbjpZde4umnn+bxxx/n2Wef5emnn2blypVZv37yk58wf/78TLppmONNnBxHWJNhbQJjzHWDT4sQbcvnRGDOOussLr300sQHLQxbul7k720MkcteUoiMo0phq6224phjjuGoo45i3rx5ieVKjIje2owc6E5BCsnPfvYzjvl4suhTwpPqGPOQ1+fFcczf/d3fcdNNNzFz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rp166qnmkUceKZ5/73vfOyGZXhAELd9d22N9fN9vqVduo1Ndd/+9731v0b9HHnnEnHLKKUU9N5Zyuzf+6kZjtJW5TXj+29fKmNFz3N7WZNaq+3u7w06335OFqcnC2i68z8l+Nm/ebBYvXtwiw2qX2X3sYx8z9XrdGGPMRRddZKSUxvf9cWViDiYmUrcsEwuCoIClicjc5s2bZx5++GFjjDF33XWXOeigg4r75Xe771/96ldH4G38PTt6vc0Y9XcRzkr6gwnDAKZTad8cfyHFKUDSNDXGGLN06VIzMDBgPM8z1Wq1QGBRFJkvfelLRb0kSYwxxtx6660FwgjDsCMS6nS9HYlN9H63d5SR4O23326MMSaO46KvX/jCF4pnoygqlAtTpkwxDzzwQMsc/EWXvyDYeb7KSSedVCCCMnLYa6+9zE9+8pOWuuvWrTMzZswYhRg7IblOSGkiiGuizzlkfP755xttdHFQbt++3Zx33nlFvTAMW9q6+uqrjTEThLc/03rrXXjRX4TW1b233Fb5WntdpZQx2pgdO3aYgw46qAWJHH744eb2228v6qdpWmgnd+7caV7xileMovzaKSgHtLfffrs5/fTTx0RaZerstNNOM3fccYe55pprzLx587pSZa6to48+2gwPDxea5zRN3bzq2267rdAIus/f/M3fmO3btxcnbCfNVMscljVbpvV3ed6L9f8fonVteUcHmGyfPwdzWmtz7rnnGs/zTF9fX4EcTjrpJLPu2XWFtlEpVWi53/Pe94yi+johude+9rXmq1/9qnnlK185LtJy98IwNB/84AfNRRddZKZNm9b1Pa6+53lm6dKlrfsih4Grr766QHIOPqWU5s477yzgczw46LTeBY7oBjfGjFrHdnjshlc6wUq3df6rRHRGG6OV/X3dddeZvffe28yePdt88IMfNOvXry8AziEDo00BqF/60pc6sqQOIU2ZMsXccccdxftWrVpVIK1OLK+7Nm/ePLNq1aqiz7fddltBbZaRXRkxfuUrXyn66t6XZZnRSmuttXl2/bPmAx/4gJk9e7bZZ599zC9+8QtbT+Wf/4voutd9nhGd2+i33367qVarRkpparWa+cY3vlHUK5v7uPq///3vu1JcDrGcddZZBcW0bfs2s//++4/J8rrrX/nKV4p+3nzzzaZWq3V8ziG/N7zhDSPjysftiAattXnooYfMKaecUjz3tre9rWVM48HBXzaiMyMboWVDlBBZp39F3bbni+e6PDOZtjrV79THtWvXmscff7yoUyxOqX6SJEYbbR588EEzffr0FsrKIaJKpWJuvPFGY4xlJZvNptFGm8u+c9ko6q0dWV522WXGGGMajUbxrl/+8pcFInTvcM9PmzbNrFixYmQTledI6QLwtdHm8ccfN+vWrRuZhfL6dJjb9rnr9Hu8uZ7IGnb73t7P8eBg3HZ2oe5E3zEmjLX/zsez4qEV5tJLLzX3339/Uae8hi1j19occ8wxoxCQQ3KveMUrCjhzsr0bbrihQIztyNEhrb//+7+3SMoYa+dnjLn+F9d3ZIddGz/84Q+NMSPy3fLYHHWnlDLXXHONufrqq63dXD6GCc1nh/Uuv6fbs53a7gavY63xWO/5q6XoTImqK3/aSWxXvzBg1MacdtpphVyvWq0WAHX1NVcXp5xWI5RWHMfmda973Siqzn0/6aSTCsTU/uyPf/zjon61WjW9vb3G8zxzxhlnFH0sU3T5vOqOY8kpuWJeSvNZnqvyWhSnpmn9PWou29amXH+8k7zbmneDnVFtm/HfO9F3doO19vkYCybb568bLJbhqtMY3YH7+c9/vgW5ub8nnHCCFUUYox3yce29+93vHsWKlpHen/70J2P0yDscor36mqtbkJ17ZurUqWblqpUjfTajx+YUDh3nZQz4KPZuh/UucEQ3uDFm1Ny2w2M3vNIJVrqtM6NuThTRtXVgQohuAgA8kXZaAFHZBcqyrDvQ5XXTNDVGG3PVVVeNYkEvv/zyor1yO85C/p577imUAmEYFtRgtVo1S5YsaWlf6xFkqbU23/nOd0a970c/+tFIvdHAUcy5Y8FzlrbrvIyJ6Dr87rqpO9QZ6z1j1e+K6MaAj/FgZ8KI7jk812lOyr+VUiZJktEHUVt9d3/JkiUFonLs5T777GM2btxotNYmyzLd/swjjzxS1HXIyiG98847b9QeKSPdyy67rEB2TpZYPljHm/OyXHsy89kR0XXYy+PBX7ff49Ub6z0j5iUT+LS/dFfqT/TZTvU7PTvWZLV/nDyiXq+bc845x3ieZ2bMmGHZzrY6ZUTqrl1wwQUFG+qQ3mc+8xlbt0RtlZGd+33ppZeaWbNmGc/zzDve8Q5Tr9dH1RkLQe3K3I03r+O1N5E6Y63H89HWRMbeDQYm+s5u9Sbb57Hqv/sf310grEMOOcSsWrmqQCrtdR2ycwgrCIKCCjzwwAPNli1bRsFq+/u/8Y1vtFCCd999d0vbzxcsdUNcuzJX4/3u9uxE3j2SM6JstTxGmKZymYhnxERLe1tjtdPJY2MibcOIVXuz2eTee+9l2rRp7LfffggE2uSh3dveq3MXoG3bt3HyySdz5513AvDyl7+ca6+9lilTphR12vvl3icQPPzIw2zdupXDDz+cSlQp3jeqv11yLXQaT6dr7fPT6Xe3e2O9o9OzY3lBdM0ZMUnPiIm8f7wymec6zcl4cz7e+xrNBpdeeilbtmzh3e9+t5k1a5bQeVw8N0+d3vuqV72KW265pfh9zTXXcOopp5KpDN/zi/qdxnfd9ddxx+13cPLJJ3P00UdPaBwTndNOz3Ra726eEWPBX3sfunlGTGYsL0i6Q/fdlFxlCl/X8rPl57qUrs92qosp2hzVP0bepbVGyByhmdIzzu+u1H83YS6r2eqnVvOd73wHIQRvf/vbmTdvXhHIsfw+l8UIQct9NwbXB8zo99pXm5GglS6ul2sTWuet7EvYYR06zcN4c1nMZz7+Ue21zam739buiK/rC5zusGXDiBKQu/kda5zt4b5KYynGX7o+ap4p1Tdt7VDqX2l9lVJCjkSwHrUcLtfpyidX8p73vIelS5fy0Y9+lA996ENjjqXTeNr71XH/0mFsdPnNyLWWPS7ESO3x4K9DiLVRRFP7mpefLe3xMdc5f+7/B+VANnwwxRtCAAAAAElFTkSuQmCC) --- ### Python's architecture * Interpreted * Garbage Collected * Compiler => bytecode => VM ![python](data:image/png;base64,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) --- background-image: url('pic/ice-cream.jpg') class: center, middle, bleed, text-bg # Flavors --- ### Python Flavors * CPython (THE python) * Jython (JVM) * IronPython (.NET) * Pypy * Educational * Byterun * Jsapy (JS) * Brython (Python in browser) --- class: center, middle # Why & How? --- ### Why rewriting Python in Rust? * Memory safety (?) * Learn about Python's internal * Learn to write Rust from scratch * FUN! --- ### Implementation strategy * Mostly follow CPython 3.6 * Focus on the VM first, then the compiler * Use the Python built-in compiler to generate bytecode * Focus on learning rather than usability --- ### Milestones * Basic arithmetics * Variables * Control flows (require JUMP) * Function call (require call stack) * Built-in functions (require native code) * Run Python tutorial example code <= We're here * Exceptions * GC * Run popular libraries --- class: center, middle, bleed, text-bg background-image: url('pic/car_cutaway.jpg') # Python Internals --- ### How Python VM works * Stack machine * Call stack and frames * Has a NAMES list and CONSTS list * Has a STACK as workspace * Accepts Python bytecode * `python -m dis source.py` --- ### A simple Python code ``` #!/usr/bin/env python3 print(1+1) ``` Running `python3 -m dis source.py` gives us ``` 1 0 LOAD_NAME 0 (print) 3 LOAD_CONST 2 (2) 6 CALL_FUNCTION 1 (1 positional, 0 keyword pair) 9 POP_TOP 10 LOAD_CONST 1 (None) 13 RETURN_VALUE ``` --- ### LOAD_NAME "print" * NAMES = ["print"] * CONSTS = [None, 2] * STACK: ``` | | | print (native code)| +--------------------+ ``` --- ### LOAD_CONST 2 * NAMES = ["print"] * CONSTS = [None, 2] * STACK: ``` | | | 2 | | print (native code)| +--------------------+ ``` --- ### CALL_FUNCTION 1 1. `argument = stack.pop()` (argument == 2) 2. `function = stack.top()` (function == print) 3. call `print(2)` * NAMES = ["print"] * CONSTS = [None, 2] * STACK: ``` | | | print (native code)| +--------------------+ ``` --- ### POP_TOP * NAMES = ["print"] * CONSTS = [None, 2] * STACK: ``` | | | (empty) | +--------------------+ ``` --- ### LOAD_CONST None * NAMES = ["print"] * CONSTS = [None, 2] * STACK: ``` | | | None | +--------------------+ ``` --- ### RETURN_VALUE (returns top of stack == None) --- class: center, middle, bleed, text-bg background-image: url('pic/electronic_parts.jpg') # Technical Detail --- ### Bytecode format * `dis` output format is for human reader * Implementing a `dis` format parser is a waste of time * Emit JSON bytecode using the [bytecode](https://pypi.python.org/pypi/bytecode/0.5) module ``` code = compile(f,...) # Python built-in, return a Code object bytecode.Bytecode() .from_code(code) .to_concrete_bytecode() ``` * Load into Rust using `serde_json` --- ### Types * Everything is a `PyObject` in CPython * We'll need that class hierarchy eventually * Use a Rust `enum` for now ``` pub enum NativeType{ NoneType, Boolean(bool), Int(i32), Str(String), Tuple(Vec
), ... } ``` --- ### Testing * `assert` is essential to for unittests * `assert` raises `AssertionError` * Use `panic!()` before we implement exception ``` assert 1 == 1 ``` ``` 1 0 LOAD_CONST 0 (1) 3 LOAD_CONST 0 (1) 6 COMPARE_OP 2 (==) 9 POP_JUMP_IF_TRUE 18 12 LOAD_GLOBAL 0 (AssertionError) 15 RAISE_VARARGS 1 >> 18 LOAD_CONST 1 (None) 21 RETURN_VALUE ``` --- ### Native Function * e.g. `print()` ``` pub enum NativeType { NativeFunction(fn(Vec
) -> NativeType), ... } match stack.pop() { NativeFunction(func) => return_val = func(), _ => ... } ``` --- ### Next steps * Exceptions * Make it run a small but popular tool/library * Implement the parser * Figure out garbage collection * Performance benchmarking --- ### Contribute ## https://github.com/shinglyu/RustPython ![qr_code](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJQAAACUCAYAAAB1PADUAAADeElEQVR4nO3dQY7jOBBFwfGg73/l6r02GiIfKbkmYlu2pDI+iARJJT8/Pz8//0Dk36cfgN9FoEgJFCmBIiVQpASKlECREihSAkVKoEgJFCmBIiVQpASKlECR+jO9wOfzKZ7jP1vdvnX3fNfrXT9/d7/6/797nt2m2+OMUKQEipRAkRrXUFf1FvXVGmK1Bpre/3QN9vTve8cIRUqgSAkUqbyGutpdI9Q11nQeaLWm2l3jXe1+DdMIRUqgSAkUqe011NtM54VWvz+dp/o2RihSAkVKoEj972qoet5mtWZa/f63MUKREihSAkVqew31tppgWuOsXm/3//+239cIRUqgSAkUqbyGOv0e2dW0pln9/u6/Xz39+94xQpESKFICRerz7We9nJ4nmu6X+u2MUKQEipRAkcr7Q+3ub7T7vbbd13t63sl7eXwVgSIlUKSO7ymf7tG++/zq/aa9CKb7qeoabjqvpscmryJQpASKVL6Wd3pe6s7uflP1/Z6ugaaMUKQEipRAkRrXUHUPyrvPT++/avda3O6+46ffGzRCkRIoUgJFaryWV88zvW3eajqvVq9drjo9T2WEIiVQpASK1Ov6Q+1eC6xroFXT/VN3nl4LNEKREihSAkVqe2+Dae+Bpz9/NV3Le3ot0zwUX0WgSAkUqe29Daama2tP77eazqOdPptmyghFSqBICRSp433K6/1G9fVXexmc7q2we15ryghFSqBICRSp1+0p392D8m37ke5M+0ud7k9lhCIlUKQEitTxHpt3Tr+LX897Te93+r1Ea3m8mkCREihSx9/L230GcG11La8+K+buee7oD8VXEyhSAkVqe5/y006fJfM2p+fVroxQpASKlECR2t7bYLenz+Tdvee9vv8dNRSvIlCkBIpU3ttgt+kZwE/3Gpje7/SZxKuMUKQEipRAkcr3Q739vbSna5hV0/1PV7t7HxihSAkUKYEitX1P+en9OG/vc17XeHecl8dXEyhSAkXqdb0Npt5Wg02vv2ra/8o8FK8iUKQEitSvq6F29/ne3aPz6f1lU0YoUgJFSqBIHe8P9fbr1/uJ6rNZdteIU0YoUgJFSqBIHT8v7/T9Tp/BO61x7q63+35TRihSAkVKoEh9fX8o3sUIRUqgSAkUKYEiJVCkBIqUQJESKFICRUqgSAkUKYEiJVCkBIqUQJH6C+akK0TJ2q/FAAAAAElFTkSuQmCC) --- class: middle, center # Thank you --- ### References * [`dis` documentation](https://docs.python.org/3.4/library/dis.html) * [byterun](http://www.aosabook.org/en/500L/a-python-interpreter-written-in-python.html) * [byterun (GitHub)](https://github.com/nedbat/byterun/) * [cpython source code](https://github.com/python/cpython)