Issue 138 2018-12-20
Welcome to another issue of Haskell Weekly! Haskell is a safe, purely functional programming language with a fast, concurrent runtime. This is a weekly summary of what’s going on in its community.
How to Create 3D Games with PureScript Native and C++ by David Lettier
Hopefully others will use PureScript Native more and more. I’m very excited to turn the concept behind Lambda Lantern into a full featured game but I’m even more excited about using it to get the word out and build up the ecosystem around PSN.
GHC WebAssembly backend reaches TodoMVC by Shao Cheng
Today we demonstrate that writing web apps in Haskell compiled to WebAssembly works well enough that TodoMVC, the more intricate “Hello World!” of web apps, works in your browser.
Covariance and GUIs by Julie Moronuki
This week, we’ve added more reference material and new lessons to two of our ongoing courses.
Picosmos: Writing a simple single-line text-editor with brick by Tom Sydney Kerckhove
In this post we will write a purely functional text editor for a single line of text using brick.
Prisms: Preview, Review, and how to write your own! by Chris Penner
Hey folks! Just finished up a series of articles on using Prisms with the lens library! Hope you like it and learn something :D
Show! Part 3: A replacement for
Showby Harry Garrood
This is part three of three in a series in which I will argue that it is time to consign the
Showtype class to the dustbin of history.
Pure & Lazy Breadth-First Traversals of Graphs in Haskell by Donnacha Oisín Kidney
Today, I’m going to look at extending the previous breadth-first traversal algorithms to arbitrary graphs (rather than just trees).
Thoughts on bootstrapping GHC by Joachim Breitner
The problem is that contemporary Haskell has only one viable implementation, GHC. And GHC, written in contemporary Haskell, needs GHC to be build.
Why Dependent Haskell is the Future of Software Development by Vladislav Zavialov
There’s a tension between writing code that is performant, code that is maintainable and easy to understand, and code that is correct by construction. With available technology, we are in a “pick two” situation.
Classical Logic in Haskell by Vladimir Ciobanu
During a very pleasant conversation at a recent Bucharest FP meetup, somebody mentioned that
Contis, almost exactly, Peirce’s law.
Galois is Hiring! (ad)
Galois is looking for Software Engineers/Researchers and Project Managers! We collaborate with organizations like NASA, DARPA, and Amazon Web Services to explore blue sky ideas and turn them into usable technology. Some of the things we’ve worked on in the past: Formal methods, static analysis, binary analysis, cryptographic algorithms, domain specific languages, programming languages theory, abstract interpretation, type theory, formal verification and software correctness, reinforcement learning, autonomous systems assurance, communication security, cyber-deception for network defense, DDoS defense, provable hardware security, statistical anomaly detection for detecting advanced persistent threats. We think working here is awesome (see https://lifeatgalois.com).
SimSpace is looking for a backend software developer to help shape the future of realistic environments used for cyber security development, testing, and training.
Hasura.io is hiring senior Haskell developers. We build tools for developers to lessen the effort that goes into building backends for applications.
- Call for Haskell.org Committee Nominations
NFDataconstraints for function types
- Haskell compilation benchmark
- How to deal with the records problem when writing REST API clients?
- Improving Commercial Haskell
- Juicy Draw
- No thanks,
- Purescript IV: Routing and Navigation
- Struggling to get started with developing with Haskell
Package of the week
Instead of picking a package this week, we’re going to pick two interesting projects that were announced recently.
This repository is all of the original source material for my book Thinking with Types: Type-Level Programming in Haskell.
This is a fork of JHC Haskell Compiler 0.8.2. The source code is split into reusable components and builds with Haskell Stack.