On Nov 11, 2007 3:34 PM, David MacIver <[EMAIL PROTECTED]> wrote: > > Per-function type annotations are considered good practice in Haskell > > because > > it has an undecideable type system but not in ML, where you generally see no > > type annotations whatsoever. > > Haskell's core type system isn't undecidable as far as I know. Type > inference is entirely possible and no less straightforward than in ML > with Haskell's core Hindley Milner + type classes type system. It's > more a case of readability and explicit public contracts for the > module. Haskell's type system + a bazillion add-ons found only in GHC > head is of course. ;-)
Sorry, talking at cross purposes (and I made a mistake). Type *checking* for the core type system is decidable. Type inference isn't (e.g. show(read "1") needs a type annotation). In general I'm willing to live with features that can't be inferred as long as a large enough subset of the language can be. Adding explicit type annotations for features which allow more expresivity doesn't strike me as an unreasonable trade off. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to jvm-languages@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---