Gave a #haskell talk last Friday on revisiting MTL and ReaderT:
youtu.be/vhqa_n1n0dI
Jason Shipman retweeted
🚰🥤 I present you with a pragmatic guide for avoiding space leaks in #Haskell programs.
After using Haskell in anger for the last 7 years, I developed P̵T̵S̵D̵ best practices for reducing unnecessary memory usage.
No 👏 more 👏 space 👏 leaks 👏
kodimensional.dev/space-leak
Jason Shipman retweeted
throwback to some truly sicko code i wrote a while ago (this is pure haskell)
Jason Shipman retweeted
Haskell performance pro tip for (most) concurrent programs: don't do anything in the main thread. Just forkIO the real main and wait until it's done.
Jason Shipman retweeted
I keep abusing evil evil implicit parameters as a better/faster ReaderT IO pattern, but that raises the question of how to handle backtracking on error.
Since (?foo :: a) gets reified as IP "foo" a, we can write some somewhat cursed combinators for this.
gist.github.com/ekmett/04595…
Jason Shipman retweeted
ki 1.0.0, a structured concurrency library for Haskell, hot out of the oven!
hackage: hackage.haskell.org/package/…
github: github.com/awkward-squad/ki
reddit announcement: reddit.com/r/haskell/comment…
discourse announcement: discourse.haskell.org/t/ki-1…
tfw trying to read pg source docs on a phone, especially when the sidebar collapse doesn’t work in my browser
Jason Shipman retweeted
do you ever think about how the industry-standard way of configuring C projects is to generate a script that tests the host C compiler against hundreds of dummy programs, reporting whether or not they throw errors
Jason Shipman retweeted
I am looking for a new Haskell job!
* used Haskell since 2006
* professionally since 2017
* lead architect of a code base with half a million lines of Haskell code since 2019
GitHub github.com/gelisam
YouTube haskellcat.com
Blog gelisam.com
Jason Shipman retweeted
New #haskell & #compiler blogpost: "How to lower an IR"!
luctielen.com/posts/how-to-l…
The hardest thing with compiler blogposts is to avoid having to write a full compiler for each article. 😅
Announcing monad-logger-aeson: Structured logging in Haskell for cheap
jship.github.io/posts/2022-0…
Wrote some Groovy in Jenkins for the first time today and found some known bug with closure-based loops only processing the first list item. SO advised sidestepping this bug with a counter-based for loop, so that stuff got put in a “Groovy’s got hands” commit.
Jason Shipman retweeted
Uncurled - everything I know and learned about running and maintaining Open Source projects for three decades
daniel.haxx.se/blog/2022/04/…
un.curl.dev/
Jason Shipman retweeted
The Hidden Dangers of Haskell's Ratio Type fpcomplete.com/blog/hidden-d…
Jason Shipman retweeted
The curse of engineering is that everything is obvious after the fact.
The fact that it took you n weeks and a half dozen design docs to figure it out is instantly forgotten.
Imagining the joy I’d feel during dev and code review if Dict wasn’t a thing, but Pudding was:
data Pudding :: Constraint -> * where
Proof :: c => Pudding c
Jason Shipman retweeted
Game Developers: I'm gonna make this machine render beautiful vibrant landscapes 60 times per second.
Web Developers: This newspaper article needs at least 7 seconds to show up and will boil your computer alive if you try to scroll too fast.















