4 ms·
This is not a bash on Haskell as I like Haskell, but is every Haskell article or discussion academic? It's all fascinating and interesting (especially the OP),
by jonnybgood 13y ago
This is not a bash on Haskell as I like Haskell, but is every Haskell article or discussion academic? It's all fascinating and interesting (especially the OP), but some of us would like to learn about Haskell's applicability in the real world, not just in computer science academia. I would like to read about Haskell workflows, productivity, and the positives/negatives of using it in your organization. Languages like Go and Clojure bring up these kinds of conversations all the time, so why is it so silent (or at least very low volume) on Haskell's front?
- deleted 13y ago[deleted]
- davorak 13y agoWill you please link to some example articles form your example topics and any others that you would be interested in seeing a Haskell analog of?
- jonnybgood 13y agoHere are some examples just off the top of my head. Go: http://blog.gopheracademy.com/moving-to-go http://blog.gopheracademy.com/moving-to-go http://blog.iron.io/2013/03/how-we-went-from-30-servers-to-2-go.html http://blog.iron.io/2013/03/how-we-went-from-30-servers-to-2... http://blog.gopheracademy.com/day-03-building-a-twelve-factor-app-in-go http://blog.gopheracademy.com/day-03-building-a-twelve-facto... Clojure: http://blog.getprismatic.com/blog/2013/1/14/bringing-functional-to-the-frontend-clojure-clojurescript-for-the-web http://blog.getprismatic.com/blog/2013/1/14/bringing-functio... http://www.infoq.com/presentations/Why-Prismatic-Goes-Faster-With-Clojure http://www.infoq.com/presentations/Why-Prismatic-Goes-Faster...
- tel 13y agoThese show up from time to time but I don't think they get the same popularity boost that the cute academic ones do. I also don't think there are as many people trying to sell Haskell internally or externally. Most of what you see with Haskell-in-practice posts is that (a) powerful static typing improves maintainability in various ways (b) training people isn't as hard as people think (c) monad transformers are really important (d) stack dumps don't really exist and that's tough sometimes (e) space leaks happen but you can learn to avoid them without too much effort (f) both robust and scripty/throwaway code is easy to write once you learn how (g) concurrency rocks (h) the awkward squad is still awkward (i) many libraries are abnormally high quality (j) there's some missing library coverage, though. These posts exist and come up from time to time on /r/haskell as well as after the Commercial Users of Functional Programming conference each year. If you go fishing in the /r/haskell archives you'll find quite a few.
- deleted 13y ago[deleted]
- gizmo686 13y agoI think the problem is that Haskell is very much an academic project. It is the go to language for research in functional programming, and its strict insistence on its principles has resulted in many advances in the field. In contrast, Go is a language designed by Google to meet their needs in programming code. This means that it takes some of the best concepts, pioneered by earlier languages, and combined them into a production oriented language. Personally, the reason I use Haskell is because some of the awesome stuff they have developed has not yet reached production oriented languages yet.
- judk 13y agoThere aren't a lot of consumer facing companies using Haskell. Scrive is one, but I can't find blogs. Galois makes "highly reliable" software stuff for hardware manufactures and crypto clients. Edward Kmett is writing/using a Haskell variant for use at the bank where he works. http://elm-lang.org/ http://elm-lang.org/ Elm is a FRP/DHTML webapp-building language Haskell variant whose compiler is a Haskell program. Check out Prezi and Evan's blogs Prezi.com recent hired its author Evan Czaplicki Draw amazing diagrams in Haskell, with Diagrams: http://projects.haskell.org/diagrams/gallery.html http://projects.haskell.org/diagrams/gallery.html Yesod (Michael Snoyman) is a full-festured webapp stack. Michael blogs its features. Ultimately, you don't see large teams using Haskell, and there isn't full integration with all the popular consumer web infrastructure. So instead you have a bunch of small niche products, and the language used to teach mathematical concepts in blogs like Dan Piponi's
- platz 13y agoDon't forget Simon Marlow is at facebook now [1] But even there the goal is not about adopting Haskell in the large, but using rather using Haskell to create a DSL for end users/employees internally in FB to easily create search/spam filter behaviors. Still, it's a start. [1] http://www.haskellcast.com/episode/004-simon-marlow-on-parallelism-and-concurrency http://www.haskellcast.com/episode/004-simon-marlow-on-paral...
- judk 13y agoIf Haskell didn't have anything interesting to offer besides QuickCheck (and everything special about Haskell that QuickCheck depends one, but it has been ported to other languages with varying level of completeness) it would still be a massive contribution to software engineering.
- axman6 13y agoI think this "problem" can be viewed from a different angle: Mathematicians have managed to find a language which they feel confortable expressing their ideas in (whether for fun in this case or for more serious applications). I don't see this as a bad thing, and I say this as someone who definitely prefers to write practical close to metal type programs in Haskell, and doesn't care much for the all the mathematical theory some other adore. On the other hand, it turns out that these mathematicians are giving back some great things to the community. People like Edward Kmett have done a lot of work in using category theory in Haskell, and it's given us lovely things like lenses. They can tell us why things things we think should work but dont (some things you can write a Monad instance for, for example, don't obey the monad laws, and more often than not that leads to problems). The only problem I see if that there are often two different languages being spoken, and it takes a while for us less maths inclined to catch onto why this work is beneficial to us in every day code. Perhaps when I've got something working, I can write a blog post for you showing my Haskell implementation of a decompressor for LZ4, which is most definitely low level and applicable to the real world (there's lots of pointer arithmetic going on).
- codygman 13y agohttps://www.youtube.com/playlist?list=PLxj9UAX4Em-Ij4TKwKvo-SLp-Zbv-hB4B https://www.youtube.com/playlist?list=PLxj9UAX4Em-Ij4TKwKvo-... Those videos show "real world" application, namely the "redoing make" portion of the playlist.