[Haskell-cafe] Haskell Weekly News: Issue 328

Semen Trygubenko / Семен Тригубенко semen at trygub.com
Thu May 7 23:29:26 UTC 2015

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.




  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").



  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.


  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.



  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.


  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



Quotes of the Week

    "I like safePerformIO = Just . don't" (sinelaw)


    "Interactive Haddocks sounds like a dream." (NihilistDandy)


    "Being able to have runnable code on standalone blogs is
    huge!" (roche)


    "If you want to have a type system related heart attack, the
    acme-stringly-typed library provides it." (tsahyt)



-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20150508/9f40e720/attachment.sig>

More information about the Haskell-Cafe mailing list