Matt Parsons
@mattoflambda
Followers
5K
Following
43K
Media
868
Statuses
18K
Haskell and SQL. Team Lead for Backend Developer UX at @mercury. I wrote @prodhaskell so you can get a Haskell job!
Denver
Joined February 2013
my book is good and you should buy it
Production Haskell is complete! In the next few days, you'll be able to find hard copies on Amazon https://t.co/Upr2GyEqnn
5
9
61
If you want this performance benefit, perhaps contribute in the GitHub PR saying you'd prefer the PR behavior. If cabal devs change their mind and unblock the PR, I'll get it ready and everyone can enjoy faster builds.
0
0
4
1) We're switching away from cabal to buck2 soon. So improvements to cabal aren't going to be relevant to us for much longer. 2) I don't really want to do work that isn't going to be accepted upstream and enjoyed by the whole community.
1
0
2
This change saves a few seconds on every cabal invocation in our (admittedly very large, 18k module now) cabal package. We have been using it with great success, but had to drop the patch because cabal had some other bug we needed to fix. I am considering redoing the patch, but-
1
0
0
The PR https://t.co/jiAQX7FNbz was blocked with implementing an "experimental features" facility into cabal, which does not exist, and the only reference or activity was from the meeting that blocked the improvement PR (linked above).
github.com
This PR changes the behavior of the preprocessFile logic. Currently, it attempts to find a file matching a module name for every known preprocessor, before attempting to find a file with a plain Ha...
1
0
1
Want `cabal` to be faster? đź§µ Currently, the "preprocess modules" step tries all known preprocessors before looking for a `.hs` file. I have a PR that fixes this and looks for a .hs file first, and then preproccesor files if one isn't found.
1
1
4
The Subtle Footgun of TVar (Map _ _) wherein I talk about livelock, concurrent data structures, and the semantics of what a reference really means (link in next post)
1
5
14
ok: `Map k v`, `IORef (Map k v)`, `MVar (Map k v)` bad: `TVar (Map k v)`, `TVar (Map k (Tvar v)` if you need transactionality you need `stm-containers` full-stop
2
0
12
We're building something amazing at @mercury , and now it's available to the public. I got my own personal banking account and it's light years better than anything else I've used
1/ @Mercury Personal launching publicly today! Its been my primary account for a while and changed my financial life: Joint account with my wife, cards+controls for my nanny. Auto transfer money between high-yield-savings + Invest* + checking. Easy+free wires
0
0
9
the design pattern where you bury the "login" menu and make "SIGN UP" incredibly prominent is terrible
0
0
4
Incrementalizing and decentralizing until I’m scattered on the winds
0
0
1
Lesson 8 has me learning important phrases like “I don’t know where the bathroom is” and “I want a beer”
0
0
0
doing Pimsleur lessons for Spanish while waiting for our tests to compile
2
0
1
brother.... we have 16k modules. only 1,358 extracted from main package. drawing boundaries with packages is very difficult to do without trashing the cross-package ux
0
0
3
GHCi scales pretty well up to about 12,000 modules, but after that, the linker and GC pauses are really punishing
1
0
9
love setting out to write a library, only to find that someone else did an optimal implementation a dozen years ago that is precisely what i need https://t.co/1287gcBlWe
github.com
A snoozable timeout implementation in Haskell. Contribute to parsonsmatt/timeout-snooze development by creating an account on GitHub.
1
0
5