You might also like to know that DTP is coming to Haskell, slowly but surely.
I am reading the Type Driven Development with Idris book by Edwin Brady. I am new to dependent types (but have some experience with F# and Haskell). The book is really cool and dependent types is a fascinating topic. However I cannot stop wondering what the disadvantages of dependent types are. If there were only advantages of dependent types then surely it would already be a feature in e.g. Haskell.--I do realize that this question is not Idris specific but please help me understand what kind of drawback there are in dependent type languages.Thanks
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
>There are regressions in comparison with other languages (e.g. in Idris, it is notHave to explicitly specify types at the top level, is not a regression. It is an improvement.
> permissible to write a top level term without a type signature).
--
I could be silly and say something like "(Nil ∈ T a, (a :: T a) ∈ T a) => T a -> T a -> T a", or I could argue against TDNR except via type classes or I could argue that just because Idris _doesn't_ have a type for it doesn't mean that Idris _shouldn't_ have a type for it, but I'll settle for "No, I can't tell you it's type."
--
I tend to prefer the second approach over the third approach. This is a consequence of my perspective on types as extrinsic (i.e. basically entirely erasable, only there to enable early detection of errors), which I think is at odds with dependent types, which AFAICT are usually viewed as intrinsic (i.e. terms have little to no meaning apart from their types).