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:
- Got The Perfect Agile Model? Here’s What You Should Know About Agnostic Agile (in London on 16th August 2017)
- Uncle Bob's Clean Code: Agile Software Craftsmanship (in London on 1st - 3rd November 2017)
- Gojko Adzic's Specification by Example: From User Stories to Acceptance Tests (in London on 7th - 8th November 2017)
- Agile Testing & BDD eXchange 2017 (in London on 9th - 10th November 2017)
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.