Issue 107 2018-05-17
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.
Want to see something featured in Haskell Weekly? Open an issue or pull request on GitHub.
In our previous post, I gave a brief introduction on how to create simple combinatorial hardware in Clash and we ended up with a partly working, ugly circular stack implementation. In this post we will fix the bug, tidy up the code to make it much nicer to read, and simulate our design.
With the release of
backprop, I’ve been exploring the space of parameterized models of all sorts, from linear and logistic regression and other statistical models to artificial neural networks, feed-forward and recurrent (stateful).
For now, we’ll conclude our series on deployment by looking at the Github developer API. Most projects you’ll work on use Github for version control. But with the API, there are a lot of interesting tricks that can make your experience cooler!
Once the initial decision to have a dynamically typed exception system was made, everything that could make use of an exception-like semantic in any case was bolted on. What am I going to do, though? Write my own ecosystem and runtime that works how I would prefer?
I followed some ideas from category theory but, being a programmer, I leaned more towards writing code than being preoccupied with mathematical rigor. That left me longing for more elegant proofs of the kind I’ve seen in mathematical literature.
Dependency management in Haskell is complicated. Even if one is able to become productive in the language, any of the problems described here could still make it difficult enough for them to give up on the system they want to build.
Once that last commit goes in, it’s time to get your app out there by opening up a distribution channel. One viable Linux app distribution channel is Flathub. To add your app to Flathub, you must first make a Flatpak manifest.
In this video we’ll explore the basics of Cabal, and how you can use it to package libraries, build executables, run automated tests, and more. We’ll also have a look at the family of
A generational copying garbage collector, in its most basic form, is quite simple. However, as we’ll see, not all objects can be copied, and some objects require more bookkeeping by the RTS.
Had I been writing F# code, I’d immediately be reaching for an active pattern, but this is Haskell. If there’s one thing, though, I’ve learned about Haskell so far, it’s that, if F# can do something, there’s a very good chance Haskell can do it too — only, it may be called something else.
ITPro.TV is a fast-growing digital media business that focuses on continuing education in technical domains. We are currently accepting applications for full-stack software professionals to join our small but talented multidisciplinary team.
We are looking for candidates who share a interest for performance analysis, tuning, and optimizing the GHC compiler and runtime for our workload.
You will work on the trading floor, directly with traders, building software to automate their work and improve their efficiency. The role is highly development focused and you will use Haskell for almost all tasks.
- Announce: hasktags 0.70
- Grading students: HaskellRank #02
- Haskell communities and activities report
- Minimal effort build improvements and a GHC 8.2.2 upgrade
- Why did you decide to learn Haskell?
Package of the week
This week’s package of the week is ghc-syntax-highlighter, a syntax highlighter for Haskell using lexer of GHC itself.