From 2dba2e0a3d2f8239d63f0a06692406ee374f3f8c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 23 Apr 2017 11:44:38 +0300 Subject: [PATCH] Haskell success stories --- posts.yaml | 3 ++ posts/haskell-success-stories.md | 58 ++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 posts/haskell-success-stories.md diff --git a/posts.yaml b/posts.yaml index a55f92d..8404a64 100644 --- a/posts.yaml +++ b/posts.yaml @@ -1,3 +1,6 @@ +- file: posts/haskell-success-stories.md + title: Haskell Success Stories + time: 2017-04-24T06:00:00Z - file: posts/generalizing-type-signatures.md title: Generalizing Type Signatures time: 2017-04-20T06:00:00Z diff --git a/posts/haskell-success-stories.md b/posts/haskell-success-stories.md new file mode 100644 index 0000000..ee6a0b7 --- /dev/null +++ b/posts/haskell-success-stories.md @@ -0,0 +1,58 @@ +I've probably blogged, spoken, Tweeted, and commented on a variation +on this theme many times in the past, so please excuse me for being a +broken record. This is important. + +I think we have a problem in the Haskell community. We all know that +using Haskell to create a simple web service, a CRUD app, a +[statically linked command line tool](https://twitter.com/pdxleif/status/855302710928613376), +or a dozen other things is not only possible, but commonplace, +trivial, and not even noteworthy. So we don't bother commenting when +we create +[general purpose reverse proxy tools](https://github.com/fpco/wai-middleware-crowd) +with +[prebuilt Docker images](https://hub.docker.com/r/fpco/wai-crowd/) for +auth-enabling arbitrary webapps. It's boring. Unfortunately, __people +outside our community don't know this__. By not bothering to talk +about this (for us) boring topic, we're hiding away the fact that +Haskell is a practical language for creating real things. + +Instead, we like to talk about +[better preludes](http://www.snoyman.com/blog/2017/01/safe-prelude-a-thought-experiment), +[optimizing common functions](http://www.snoyman.com/blog/2017/01/foldable-mapm-maybe-and-recursive-functions), +or +[dangers in our standard libraries](http://www.snoyman.com/blog/2016/12/beware-of-readfile). I'm +picking on myself here with these examples, but my comments apply far +more generally. + +I know personally at least 10-15 Haskell success stories that have +never been talked about publicly. And I have to apologize for not +leading by example here; unfortunately most of my work in the past few +years has either been under NDA, or been of absolutely no interest to +people outside the Haskell community (usually open source +infrastructure and libraries). So I'm hoping to inspire others to step +up to the plate. + +I'm not trying to tell anyone to stop talking about the things we find +interesting. I just want to point out that just because we, within the +Haskell community, may not find a "I launched a web service, and it's +running, and it's not as buggy as we would have expected v1 to be" +kind of blog post noteworthy, I think others _will_. These kinds of +blog posts are also a much easier way to get started talking publicly +about Haskell, since not all of us can explain zygohistomorphic +prepomorphisms (I know I certainly can't). + +As I was batting the idea for this post around with +[my wife](https://twitter.com/LambdaMom) last night, she pointed out +that, most likely, the people best suited to write these kinds of +posts may not have dedicated blogs at all right now. If you fall into +that category, but would still be interested in writing up a post +about your Haskell success story, I'd like to offer assistance. I'm +happy to let guests write posts on the +[Yesod blog](http://www.yesodweb.com/blog). Articles may also be +relevant to [haskell-lang.org](https://haskell-lang.org). And we've +run Haskell experience reports on +[FP Complete's website](https://www.fpcomplete.com) many times in the +past. + +I hope this time around this message had a bit of a different twist, +and maybe can hit a different group of readers.