 I am going to be talking about Haskell in production. So, just before we get started how many of you have actually used Haskell before? How many of you have used it at work for doing something or have put something into production with it? That is great one. Okay, awesome. So, that is you guys looking at me and Bumshi in skepticism. I am Tanmay that is Bumshi. He will be doing a part of the talk as well. The goal of this talk is to give you a brief overview of what the Haskell ecosystem is like and to definitely convince you to give Haskell a shot for work stuff. The idea is not to sell Haskell to you as a language. That is something that you can do on your own time. But here if you are worried about a certain kind of production issues maybe we can try to address that little bit so that you can definitely give it a shot. So, our journey started about a year and a half ago and what attracted us to Haskell was that a lot of big claims were made by the Haskell community in general and everybody who used Haskell talked a lot about Haskell. And in hindsight that is probably one of the dumbest reasons to choose a language and go into production with it. But hey, at the time we were young and foolish and then we decided to go with it. To give you a little bit of background about what we did with Haskell over the last one and a half years just so we can put the kind of stuff that we are talking about more in context and also for a little bit of shamelessness for the sake. We are Hasura and the idea is that we are building this new kind of backend platform as a service, backend as a service thing that doesn't have lock-ins. But it sort of gives you components which are ready to use and these components are microservices. The idea is to give you a bunch of components that you can use. For building these components, which are like say database and search that you need for an application, we used Haskell for solving a bunch of core problems. The first core problem is exposing a nice interface to you over or for rather for Postgres but over JSON. The idea is to give you a JSON query language that you can use from your client and you can execute SQL against a database but from the client directly. That means that you need to compile these kinds of things. You need to understand, select, insert, update queries. You need to understand permissions otherwise obviously it's not safe to contact the database directly. You need to understand relationships etc. Another part of what we implemented was a programmable gateway very similar to Nginx but a more programmable Nginx. Very similar to an API gateway. Maybe you've heard about it before. So before we delve deeper into Haskell just to give you a quick idea of what Haskell looks like. So first Haskell is obviously functional. I'm preaching to the core here but that's a small function that uppercase is every character in a string. So I map the two upper functions on a string. The idea is Haskell is also type. So this is the way of specifying a type