[Haskell-cafe] Haskell Weekly - 01/18/2017
Haskell Weekly
info at haskellweekly.news
Thu Jan 19 15:03:53 UTC 2017
View this email in your browser (http://us10.campaign-archive2.com/?u=49a6a2e17b12be2c5c4dcb232&id=d1f16b3bfc&e=cb0e043b77)
** Haskell Weekly (http://news.us10.list-manage1.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=b2ce8a0cac&e=cb0e043b77)
------------------------------------------------------------
** Issue 38 (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=de22dd7431&e=cb0e043b77)
------------------------------------------------------------
Welcome to Haskell Weekly! Haskell (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=252536aed4&e=cb0e043b77) is an advanced, purely functional programming language. This is a weekly summary of what’s going on in its community. You can subscribe to the email newsletter (http://news.us10.list-manage1.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=9cce0b8a8d&e=cb0e043b77) or the Atom feed (/haskell-weekly.atom) .
Want to contribute to Haskell Weekly? Send us a message on Twitter (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=99e52877ab&e=cb0e043b77) or open an issue on GitHub (http://news.us10.list-manage1.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=5d277e761c&e=cb0e043b77) .
** News from the Haskell community
------------------------------------------------------------
* Brent Yorgey’s new programming languages course (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=2e0a4d0417&e=cb0e043b77)
My new PL course is now finished, and all the course materials are freely available. Working through all the exercises should be a great option for anyone wishing to learn some basics of programming language design and implementation.
* CLaSH 0.7 released: GHC 8 support and more (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=b4d5dfb3a2&e=cb0e043b77)
Our company has been hired to do FPGA development work, and best of all, we get to use CLaSH. As a consequence, I cannot put as much time into CLaSH development as during my days as a PhD/PostDoc. However, we do now get to use CLaSH in industry! And as part of the contract there is time to find and fix bugs in CLaSH!
* safe-prelude: a thought experiment (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=fd6c641c69&e=cb0e043b77)
This is a thought experiment in a different point in the alternative prelude design space. After my blog post on readFile, I realized I was unhappy with the polymorphic nature of readFile in classy-prelude. Adding that with Haskell Pitfalls I’ve been itching to try something else.
* Selecting a platform: JavaScript vs Elm vs PureScript vs GHCJS vs Scala.js (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=d5f09e7db8&e=cb0e043b77)
There are not many people who have worked on production applications in multiple frontend FP systems, and lived to tell the tale. So here goes, my guide to selecting a functional programming platform for the browser.
* The design and use of QuickCheck (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=a96ae75e06&e=cb0e043b77)
The typical examples you’ll find online have deceptively simple code. The examples make it hard to learn how their succinct tests are possible, and how to customize them when things go wrong. This guide puts it all together piece by piece so you can use QuickCheck with confidence.
* Monads made difficult (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=d433789262&e=cb0e043b77)
This is a short, fast and analogy-free introduction to Haskell monads derived from a categorical perspective. This assumes you are familiar with Haskell and basic category theory.
* Constraint kinds (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=debdb1a734&e=cb0e043b77)
In this blog post, I will show some examples of using the ConstraintKinds GHC extension. Classes and contexts were not first-class citizens in Haskell, but the introduction of the Constraint kind has changed this and allows them to be used as parameters of types.
* Expressive types, not oppressive types (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=08a4ca590a&e=cb0e043b77)
Uncle Bob looks at advanced type systems and sees them as more oppressive rather than more expressive. Being able to describe whether or not a function can return null is an opportunity, not a constraint.
* LiquidHaskell (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=1642bf1cdf&e=cb0e043b77)
LiquidHaskell (LH) refines Haskell’s types with logical predicates that let you enforce critical properties at compile time.
** Package of the week
------------------------------------------------------------
This week’s package of the week is dump-core (http://news.us10.list-manage.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=f3e328227e&e=cb0e043b77) , a GHC plugin for rendering Core.
Send us a message on Twitter (http://news.us10.list-manage2.com/track/click?u=49a6a2e17b12be2c5c4dcb232&id=cb9d63a38a&e=cb0e043b77) to nominate next week’s package!
============================================================
Copyright © 2017 Haskell Weekly, All rights reserved.
You are receiving this email because you opted in at our website haskellweekly.news.
Our mailing address is:
Haskell Weekly
13140 Coit Rd
Ste 405
Dallas, TX 75240
USA
Want to change how you receive these emails?
You can ** update your preferences (http://news.us10.list-manage.com/profile?u=49a6a2e17b12be2c5c4dcb232&id=ffbbbbd930&e=cb0e043b77)
or ** unsubscribe from this list (http://news.us10.list-manage.com/unsubscribe?u=49a6a2e17b12be2c5c4dcb232&id=ffbbbbd930&e=cb0e043b77&c=d1f16b3bfc)
Email Marketing Powered by MailChimp
http://www.mailchimp.com/monkey-rewards/?utm_source=freemium_newsletter&utm_medium=email&utm_campaign=monkey_rewards&aid=49a6a2e17b12be2c5c4dcb232&afl=1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170119/85c5094f/attachment.html>
More information about the Haskell-Cafe
mailing list