Haskell programmer since 2012; GHC contributor since 2018.

Joined April 2012
Replying to @scheminglunatic
A blood-black terminal began to scroll. A system of nodes interlinked within nodes interlinked within nodes interlinked within one AST. And dreadfully distinct against the dark, a long typechecking trace was displayed.
1
1
1
14
2,242
Vladislav Zavialov retweeted
Replying to @snorripall
year of the haskell desktop
3
1
28
533
Vladislav Zavialov retweeted
somewhere on a C++ team, one engineer is weakening atomic memory orderings to save nanoseconds. another is converting an object to JSON so it can travel over HTTP to a different process on the same machine. the first engineer needs three approvals.
42
115
12
5,209
198,020
Vladislav Zavialov retweeted
It's funny how we sometimes don't realize how some things can be confusing to students. Today, I got an email from someone enrolled in the compilers module asking: "How come we access local variables in the stack by their slot number (like LOAD_L 4)? Doesn't that break stack LIFO philosophy? Isn't that just random memory access?" And honestly, that's a great catch! I never stopped to think that this could trip people, but after his email I get it. I have added a small text note in that chapter to clarify things. Hopefully it helps others too. The answer is that there are, indeed, two terminologies in conflict here: 1. We have a stack as this abstract data type that we study in computer science/data structures, which is strict LIFO. 2. But we also have the stack as a "memory region" in systems programming, which is a bit different. Even though we call this memory region a stack, the slots inside each frame are randomly addressable. TL;DR: the stack (memory region) uses a proper LIFO philosophy when it's stacking (pushing/popping) entire frames. But within a frame, slots are randomly addressable.
27
43
4
1,005
46,226
Vladislav Zavialov retweeted
If you make something go 20% faster, you did something smart. If you made it go 10x faster, you stopped doing something stupid
4
1
1
29
1,075
Vladislav Zavialov retweeted
using Megaparsec.choice instead of alternative (<|>) helps GHC compile parsers faster. If this were a paper, it would be called “Choice is better than the alternative”
1
2
17
1,124
Vladislav Zavialov retweeted
Replying to @convolutedpixel
I’m more in the “the despair is because your software sucks. Make it better and you will feel better” camp
2
39
2,805
Vladislav Zavialov retweeted
Serokell’s GHC team continues sharing progress on Dependent Haskell. @int_index presents three major contributions and a host of smaller improvements that push Dependent Haskell closer to becoming a practical reality. serokell.io/blog/serokell-s-…
2
9
1,044
Vladislav Zavialov retweeted
I'm so specialized that I had to invent a new word to describe what I do in Icelandic. I might be the only Icelander doing "forritaskáldun" (e. program synthesis)! – at Mölndal, Sverige
3
5
42
1,846
Vladislav Zavialov retweeted
from a very young age i knew that everyone was wrong and i was right
136
23,505
532
122,516
2,419,471
Shaming people for asking questions? Tsk, tsk.
If you ever worry about not being a good SWE, Remind yourself that someone non-ironically asked this question.
2
528
"You'll own nothing and be happy" is what a garbage-collected language feels like after using Rust's ownership system.
8
568
Vladislav Zavialov retweeted
Ain't no party like a
2
2
28
Did you know these type signatures are not equivalent in Haskell? f :: forall a b. a -> b -> a g :: (forall a b. a -> b -> a) ScopedTypeVariables are a joke.
2
4
556
Just found out that the 45 nm, 32 nm, 28 nm processes, etc., are all marketing terms unrelated to actual gate length. And it's been this way since 1997.
2
1
2
1,117
Now do Fur Density, you'll need a log chart to see anything but Rust.
ocaml has the highest fun density per line of code, see the attached totally scientific graph:
1
1
6
558
LLM-generated code is embarrassingly bad. I end up rewriting most of it. However, this was also the case with some developers I used to work with, so I guess LLMs are replacing some of you after all, hug?
7
522
MuniHac starts in a week, and I’m going to attend. Train tickets bought, room booked — see you there!
8
504
Ah, that intoxicating feeling of pushing to a mutable vector.
3
6
1,118
My profunctors are fmap/contramap.
8
459