
Calls for Participation School of Haskell 2.0 Open-source version of School of Haskell is going to be released soon! Michael Sloan explains that the aim is to remove any obstacles that historically discouraged people from contributing to School of Haskell through making it open-source, Creative-Commons-licensed and GitHub-hosted and more usable by allowing websites to include editable and runnable Haskell code with ease. He outlines the plans for the editor and markdown rendering services and asks for feedback and more ideas. https://www.fpcomplete.com/blog/2015/05/school-of-haskell-2 http://www.reddit.com/r/haskell/comments/34uc8y/school_of_haskell_20/ Talks Functional Programming @ Amplidata Koen De Keyser gave a talk about Amplidata and their introduction of OCaml as an alternative to Python/C++ in 2010 and transition from OCaml to Haskell in 2014. He argues that going strongly-typed and functional meant moving bugs from test/run time to compile time, gaining expressiveness and reducing boiler-plate, and switching to Haskell meant joining larger community, gaining access to commercial support, adding multi-threaded runtime / garbage collector and enforcing separation of side effects from pure functions (though ramp-up time was significant and "tools are nowhere near Java / .NET / C++ level"). http://people.cs.kuleuven.be/~tom.schrijvers/Research/talks/lhug4b.pdf Discussion People using Haskell in production: what is your build/deployment setup? Jameshfisher asks a number of build/deployment questions on Reddit, as he is starting a "real" Haskell project. Community responses suggest that deploying Haskell is no different from deploying anything else. Haskell-specific parts frequently feature Cabal, Stackage and Shake. http://www.reddit.com/r/haskell/comments/34m4bq/people_using_haskell_in_prod... How to Replace Failure by a Heap of Successes Edward Kmett writes a blog post on writing parsing combinators. He explains gains and losses of switching from State monad to Update monad in parsers, and argues that limited structure of updates can be exploited to yield a more efficient Applicative for parsing and help unclutter parser implementation through better handling of the issue of parse leftovers. https://www.fpcomplete.com/user/edwardk/heap-of-successes http://www.reddit.com/r/haskell/comments/34kouv/edward_kmett_how_to_replace_... Smarter validation Roman Cheplyaka explores different ways of handling and communicating errors in Haskell — Either Monad, Validation Applicative, and SmartValidation Applicative. Either halts on first error, Validation Applicative reports all errors, whereas SmartValidation applicative reports first N errors and stops doing work when N errors were gathered. Roman wants to hear how other people are approaching "first N errors" problem. https://ro-che.info/articles/2015-05-02-smarter-validation Haskell Web Server in a 5MB Docker Image Tim Dysinger solves the problem of redirection of all Amazon Elastic Load Balancer HTTP traffic to HTTPS in Haskell, in one hour and 97 lines of code, and produces a 1.22 MB exe. He argues that Haskell's performance can compete with natively compiled systems languages like Go, Rust and even hand-written C, and that Haskell allows to communicate intent in code with precision. https://www.fpcomplete.com/blog/2015/05/haskell-web-server-in-5mb https://github.com/fpco/rdr2tls Quotes of the Week "I like safePerformIO = Just . don't" (sinelaw) http://www.reddit.com/r/haskell/comments/34kl93/just_stumbled_on_to_the_acme... "Interactive Haddocks sounds like a dream." (NihilistDandy) http://www.reddit.com/r/haskell/comments/34uc8y/school_of_haskell_20/cqy8sau "Being able to have runnable code on standalone blogs is huge!" (roche) http://www.reddit.com/r/haskell/comments/34uc8y/school_of_haskell_20/cqyab7z "If you want to have a type system related heart attack, the acme-stringly-typed library provides it." (tsahyt) http://www.reddit.com/r/haskell/comments/34kl93/just_stumbled_on_to_the_acme... https://hackage.haskell.org/package/acme-stringly-typed