> the only people who want to use it are math majors
Edit: This is FUD and I kind of feel offended by it, though I'm not sure that is rational
I'm not a math major. I am a web dev. I want to use Haskell (and am using in a smaller capacity) because it means I have to be up late fixing things less. It means that I can worry about my sites getting hacked less because of the strong static typing guarantees which protect me against csrf.
On top of all that type annotations are great for documenting things. On top of that, composing functions and monads can allow you to do things much safer and much more quickly.
There are many teaching resources which show how some of Haskell's perceived cons can be pros such as these:
Honestly from my experiences in #haskell on freenode, /r/haskell, and Haskell related content on the web it seems like many more people are using it with the intent to make "real world software".
I haven't gotten the ivory tower vibe from anyone in the Haskell community yet. Quite the opposite actually, everyone seems very pragmatic.
The syntax for "record types" - elements of named tuples - is really awkward and pollute namespace.
I.e., if I want a module in my app to have two different types containing an element 'customerID' that I'd like to refer by name in that context, then it's a bit painful - and it is a really common need if I need to quickly make a mostly-CRUD webapp, for which otherwise Haskell/Yesod would be as practical as Ruby/Rails.
There are a few different solutions to the record name space problem that are due to land in the next year. And already some decent lens based solutions too.
Most frameworks protect you against CSRF, that is not unique to Haskell. Other languages also allow you to check your work using tests and static checks.
I would argue that it isn't quite the same, since with Haskell you can enforce it with the type system. While other frameworks are great pieces of engineering and usually well tested, Haskell is nothing without it's type system therefore tons of work is put towards ensuring that what the type system says is true, is true.
The other thing is I believe frameworks like Yesod use property based testing which IME catches a lot more than unit tests by themselves.
I feel like my point is unclear here, perhaps someone more experienced with Haskell and/or Yesod can articulate it better than I can.
Edit: This is FUD and I kind of feel offended by it, though I'm not sure that is rational
I'm not a math major. I am a web dev. I want to use Haskell (and am using in a smaller capacity) because it means I have to be up late fixing things less. It means that I can worry about my sites getting hacked less because of the strong static typing guarantees which protect me against csrf.
On top of all that type annotations are great for documenting things. On top of that, composing functions and monads can allow you to do things much safer and much more quickly.
There are many teaching resources which show how some of Haskell's perceived cons can be pros such as these:
http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way...
http://book.realworldhaskell.org/
http://learnyouahaskell.com/
http://adit.io/posts/2013-04-17-functors,_applicatives,_and_... (with web dev applicable example) http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_H...
Honestly from my experiences in #haskell on freenode, /r/haskell, and Haskell related content on the web it seems like many more people are using it with the intent to make "real world software".
I haven't gotten the ivory tower vibe from anyone in the Haskell community yet. Quite the opposite actually, everyone seems very pragmatic.