

Oct 4, 2017 Ā· 7 min read

As regular readers of my blog know, I love talking about the future of Haskell as a language. Iām interested in ways we can shape the future of programming in a way that will help Haskell grow. Iāve mentioned network effects as a major hindrance a couple different times. Companies are reluctant to try Haskell since there arenāt that many Haskell developers. As a result, fewer other developers will have the opportunity to get paid to learn Haskell. And the cycle continues.
Many perfectly smart people also have a bias against using Haskell in production code for a business. This stems from the idea that Haskell is an academic language. They see it as unsuited towards āReal Worldā problems. The best rebuttal to this point is to show the many uses of Haskell in creating systems that people use every day. Now, I can sit here and point the ease ofcreating web servers in Haskell. I could also point to the excellent mechanisms for designing front-end UIs. But thereās still one vital area in the future of programming that I have yet to address.
This is of course, the world of AI and machine learning. AI is slowly (or not so slowly) becoming a primary concern for pretty much any software based business. The last 5ā10 years have seen the rise of ācloud nativeā architectures and systems. But we will soon be living in age when all major software systems will use AI and machine learning at their core. In short, we are about the enter the AI Native Future, as my companyās founder put it.
This will be the first in a series of articles where I explore the uses of Haskell in writing AI applications. In the coming weeks Iāll be focusing on using the Tensor Flow bindings for Haskell. Tensor Flow allows programmers to build simple but powerful applications. There are many tutorials in Python, but the Haskell library is still in early stages. So Iāll go through the core concepts of this library and show their usage in Haskell.
But for me itās not enough to show that we can use Haskell for AI applications. Thatās hardly going to move the needle or change the status quo. My ultimate goal is to prove that itās the best tool for these kinds of systems. But first, letās get an idea of where AI is being used, and why itās so important.