Hacker News new | ask | show | jobs
by zimbatm 3800 days ago
It's more helpful to think about classes of errors and what the type system prevents.

A simple type system prevents type mismatch errors. A more complex type system like Haskell's might be able to encode interfaces and other rules but might also has it's limits.

The trade-off is usually that the more classes of errors you remove, the more complex the type-system becomes. Over the lifetime of your program, how much time did you spend hunting bugs vs time spent in long compilations or encoding all the rules.

I guess my point is that a lite-weight type system might also be enough.

2 comments

> time spent in long compilations

Type checking Haskell, for example, is actually incredibly fast and adds basically nothing to compilation time. This isn't one of the drawbacks of a type system.

For the record, I've never really had a problem with GHC having long compilation times. If anything it's remarkably fast for what it does (IMO, it's the closest thing to a "sufficiently smart compiler" currently available).