Please log in to watch this conference skillscast.
Dependent typing is at the forefront of much programming language research, not least the DOT calculus being planned for the future of Scala. But what is dependent typing exactly? Why is it important, and what can actually be done with it now? Why should the average Scala developer care?
Dependent typing allows you to prove the correctness of our programs in ways that you couldn’t otherwise do. Complex data structures and algorithms are prone to error-ridden implementations - getting them right is hard. With dependent typing, you can encode invariants in a way the compiler can check for you, easing the burden of implementation and preventing bugs.
Scala already has good support for dependent typing, perhaps more than any other mainstream language. Whilst the syntax is not trivial, learning to use dependent typing techniques is easier than you might think, and it is immediately applicable to many areas.
The Call for Papers is now open for Scala eXchange 2017! Submit your talk for the chance to join a stellar line-up of experts on stage. Find out more.
YOU MAY ALSO LIKE:
- Lightbend's Fast Track to Akka with Java (in London on 16th - 18th August 2017)
- F# eXchange 2018 (in London on 5th - 6th April 2018)
An Introduction to Dependent Typing in Scala - Advanced
I started learning Scala almost 4 years ago, quickly getting to grips with the more functional aspects and developing an appetite for the type-level programming styles it enables. I have been writing Scala in Industry full-time since early 2013, and pushed Scala heavily at my previous organisation (Scotiabank). I am active in the Scala open source community, especially with the Typelevel organization.