Learn python by writing an interpreter!

Varun Krishna S (~vhawk19)


Description:

Python feels like magic to beginners as it abstracts away most of its working, leaving many beginners confused. This talk is targeted at beginners who would like to understand how an interpreter works and how it just works!The session would initially talk about scheme a dialect of lisp for which we would be building an interpreter, followed by building an interpreter for a small dialect of the same. It would roughly last for about 30-40 minutes.

Structure -

  • Introduction (2 mins)
  • Why an interpreter and what does an interpreter do? (5 mins)
  • Scheme and a simple introduction to the subset for which an interpreter would built for (5-10 mins)
  • Building the interpreter itself! (20 mins)
  • Thoughts and conclusions (2 mins)

This session takes inspiration from (How to Write a (Lisp) Interpreter (in Python))1 blogpost written by Peter Norvig, in order to show beginners that it is possible to write a full fledged interpreter while knowing only the very basics of the language!

Prerequisites:

This talk is targeted at beginners who have just started out with python as a programming language and would like to learn more about the language. Hence knowing the very basics(i.e. variables, assignments, loops etc) of the language is the only prerequisite apart from python, and working text editor/IDE.

Speaker Info:

I am python/clojure enthusiast who likes programming languages, databases, web 3.0. I am currently a pre-final year student at Govt. Model Engineering college where I am also a core member of FOSS/Computer Students club. I am also an open source enthusiast and have watched the space, while trying to contribute as much as I could. I have worked as an intern at nilenso, savemo, thedapplist and currently working as an intern at timeswap labs. I have also won several hackathons, including ETH India 2.0 where we won the grand prize. I have worked with python a lot as students all the way from writing scripts to save time to writing a full fledged Django Rest Framework backend for the district administration. As a programming languages enthusiast I strongly believe that writing an interpreter is a very good way to understand python and how an interpreter work in the first place!

Speaker Links:

https://www.linkedin.com/in/vhawk19/

https://github.com/vhawk19

https://twitter.com/vhawk19

Section: Others
Type: Talks
Target Audience: Beginner
Last Updated: