Skip to content

Instantly share code, notes, and snippets.

@Agnishom
Created February 3, 2019 16:16
Show Gist options
  • Select an option

  • Save Agnishom/6b2195a95150fb045b6ebb0acea90961 to your computer and use it in GitHub Desktop.

Select an option

Save Agnishom/6b2195a95150fb045b6ebb0acea90961 to your computer and use it in GitHub Desktop.
Monadic Party SOP

I am a final year undergraduate student of Mathematics and (Theoretical) Computer Science studying in Chennai Mathematical Institute, India. My interests in computer science are along the lines of programming languages and logic.

My interest in functional programming began as a leisure activity, but became more serious when I took my first introductory Haskell Course. As time progressed, I educated myself through the means of several internet blogs and other online resources. I also took a follow up course titled "Implementation of Functional Programming" where we discussed the challenges of the implementational aspects of languages with functional abstraction. In the subsequent year, I offered to be the teaching assistant of the same introductory Haskell course which was my initial inspiration. Not only did I tutor this course in my institution, but also over online courses conducted by NPTEL, twice in a row.

Last summer, I interned at a technological start-up VacationLabs, Goa where we used functional programming languages to develop web applications. Having a chance to compare modern programming languages like Elm and Haskell with those like Ruby and Javascript, gave me a first hand understanding of why language level guarantees are important. My experiences have continued to affirm the importance of right tools since then.

An important aspect of functional programming that I appreciate is how deeply it connects with logic. I am of strong conviction that having an expressive type system is the key to a safe and expressive programming language. This connection has given rise to several proof assistants, which are important software artifacts and would be the future of software development. Some interesting projects, like the Formal Abstracts Project and the Xena Project have already started exploring how these ideas could be used to formalize mathematical proofs. Last semester, I took a course that explored the connections between type theory and logic in detail, and we looked at several forms of lambda calculus and analyzed their corresponding logical counterparts.

I also took a course on Symbolic Analysis of Software with SMT Solvers last semester. As a part of this course, I participated in a group project where we extended Haskell's type system with a type-checker plugin. The plugin aims to facilitate equational reasoning for type families over finite types and some forms of inductive types. This extends on the Thoralf Plugin, and does this by translating type family definitions into an SMT solver.

I was also a Monadic Party participant last time, and a scholarship recepient. I am very thankful to the sponsors for this opportunity. Being an undergraduate student, it would have been otherwise impossible for me to afford the air travel or accomodation costs, otherwise. At monadic party, I got a chance to meet and learn from people in academia as well as the industry. Ideas that I learnt at Monadic Party were something that stuck with me, and were very useful in the course of my academic pursuits. My intention in applying for the scholarship programme once again is to continue my learning experience in the world of functional programming. I believe that getting a chance to meet the speakers and other fellow student participants will perpetually enhance my skills.


My Resume: http://agnishom.github.io/resume/resume2018.htm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment