Skip to main content
8 events
when toggle format what by license comment
Jul 16, 2016 at 13:49 comment added sara @S.Lott you'd be surprised how much you can document in a type signature in a strong type system. Foldable f => (b -> a -> b) -> b -> f a -> a in haskell there are only so many ways to implement this function signature. it's more or less impossible to get wrong. of course there is a limit to everything, but when you work in a really powerful type system, you find that when you think about your types and get them right, there is more or less only one way to get the program to compile at all, and it's the correct way (yes, I know it's impossible to write bugs in strongly typed languages).
Sep 2, 2011 at 4:16 comment added Rei Miyasaka "You can't experiment as easily." -- F# and Haskell are both static languages, and they have full-fledged REPLs, and seldom ask you of an identifier or expression's type.
Sep 2, 2011 at 2:54 comment added S.Lott @quanticle: That's not really architectural, is it?
Sep 2, 2011 at 2:52 comment added quanticle @S.Lott I find that APIs written in dynamic languages require a bit more documentation. In a static language, the method signature tells you what types of arguments are required. In a dynamic language, you can't tell as easily - the API documentation has to tell you what objects are expected.
Sep 2, 2011 at 2:21 comment added S.Lott @Doug T.: "compiler helps you find errors". Sometimes. Not often enough. The interesting errors can't be found by a compiler at all. That's what unit testing is for.
Sep 2, 2011 at 2:19 comment added Doug T. "You can't experiment as easily."-- True, the tradeoff being that the compiler helps you find errors whereas with interpreted languages you may not find an error until a user executes that line of code.
Sep 2, 2011 at 2:00 history edited S.Lott CC BY-SA 3.0
added 392 characters in body
Sep 2, 2011 at 1:27 history answered S.Lott CC BY-SA 3.0