August 2018
Intermediate to advanced
380 pages
10h 2m
English
Currently, type-level computations represent the leading edge of modern programming technology. The technology is rather experimental, and hence, it still does not have much support in terms of comprehensive error messages and tools for debugging.
So, the preceding error message can be debugged step by step by leveraging algebraic data types. This means that you trace every step of recursion, and make sure that every implicit during every step is resolved correctly. At some point, you come to the place where the resolution produces errors, and then you can see which case produces an error.
These checks can be done with implicitly keyword in Scala. The process of debugging with the implicitly function may ...