Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kragen
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
37 ms
·
661.
▲
by
kragen
1y ago
Caml was developed in 01985, Linux was first released in 01991, and Caml was extended into OCaml in 01996. I don't think the developers were using Linux at the time; SunOS 4 would be my best guess. I didn't work on it, but I was
662.
▲
by
kragen
1y ago
Unix doesn't use double dashes for options; that's a GNU thing, and, as everyone knows, GNU's Not Unix. Normally the Unix/GNU opposition is irrelevant at this point, but you managed to pick one of the few significant poi
663.
▲
by
kragen
1y ago
In Haskell, yes, because laziness permits deforestation. ML, including OCaml, is eager and consequently cannot do this.
664.
▲
by
kragen
1y ago
I took a similar approach when I wrote a bytebeat player in CPython for a nightclub performance ( https://github.com/kragen/pytebeat ), but I used a shunting-yard parser rather than a Pratt parser.
665.
▲
by
kragen
1y ago
Scary! I'm excited to see how it turns out.
666.
▲
by
kragen
1y ago
The original editor hasn't wanted to anymore since he died in 01852, 173 years ago, so that's not it. Surely what is happening is that people don't buy reference books much anymore, and the core market of farmers gets smalle
667.
▲
by
kragen
1y ago
The savings of two conditional branches sounds interesting; what would the change be?
668.
▲
by
kragen
1y ago
Oh, I understood you to be saying you'd written this article.
669.
▲
by
kragen
1y ago
That has sometimes been true, but for example C++ didn't have variadic macros, maybe still doesn't, because they were added to C after Microsoft decided to stop following C development. https://stackoverflow.com/a
670.
▲
by
kragen
1y ago
TOCTOU bugs are a subset of cache invalidation bugs.
671.
▲
by
kragen
1y ago
The .ipynb format mixes source code with nondeterministic program output in the same file and regularly has backwards-incompatible format "upgrades". Those two make version control a nightmare. The files are also huge because th
672.
▲
by
kragen
1y ago
They've edited that in as a footnote.
673.
▲
by
kragen
1y ago
Yes—and, in many cases, ensuring that you don't use entries which become outdated during your computation.
674.
▲
by
kragen
1y ago
Maybe we can find better abstractions. Software transactional memory seems like a promising candidate, for example. Sawzall/Dremel and SQL seem to also be capable of expressing some interesting things. And, as RoboToaster mentions,
675.
▲
by
kragen
1y ago
The standard things that someone should always say when someone brings up this problem is: • Datalog is much, much better on these axes. • Tutorial D is also better than SQL.
676.
▲
by
kragen
1y ago
Yeah, monoid prefix sum is a surprisingly powerful tool for parallel and incremental algorithm design!
677.
▲
by
kragen
1y ago
That makes sense, thanks. https://en.wikipedia.org/wiki/On-board_diagnostics says: > 1981: General Motors introduced its "Computer Command Control" system on all US passenger vehicles for model year 1981
678.
▲
by
kragen
1y ago
That angle seems potentially insightful, and I'm going to have to think about it, but to me, cache invalidation seems more like replacing one logical thing with nothing. It may or may not get replaced with a new version of the same lo
679.
▲
by
kragen
1y ago
Maybe so, but I think it would have to be an amd64 CPU rather than an i386. Maybe you could do it inside of QEMU; does QEMU running on i386 permit emulating address spaces larger than 4GiB?
680.
▲
by
kragen
1y ago
Presumably, since that's one of the main things he's been working on in recent decades. The third paragraph of the linked article mentions this.
681.
▲
by
kragen
1y ago
To do this as efficiently as possible, it's probably worthwhile to use a higher radix and shorter macro names. For example: $ cc -E - <<. > #define A(x) x x x x x x > #define B(x) A(x) A(x) A(x) A(x) >
682.
▲
by
kragen
1y ago
They were deliberately leaving their C compiler broken because they considered C++ to be the replacement for C.
683.
▲
by
kragen
1y ago
Thank you very much for providing these links!
684.
▲
by
kragen
1y ago
I think the C preprocessor was designed after the GPM clone m6, its successor m4, and Ratfor, so I suspect the difficulty in doing things like this is intentional. I guess I should ask McIlroy, who is responsible for pushing m4 to its ab
685.
▲
by
kragen
1y ago
Oh, are you L33 T.?
686.
▲
by
kragen
1y ago
Yeah, we doin', big pimpin', we spendin' cheese Big pimpin' on B-L-A-D’s, we doin' Big pimpin' up in NYC It's just that Jigga Man, Pimp C and B-U-N B
687.
▲
by
kragen
1y ago
Yes, but neither of them has a high-quality product line.
688.
▲
by
kragen
1y ago
It sounds like you're out of your depth in this conversation, Lieutenant. I have ambivalent feelings about X11, but they aren't relevant to the topic at hand. 0xbadcafebee said, "Why do people keep persisting this myth? X11 h
689.
▲
by
kragen
1y ago
Rewriting GCC's C++ codebase in C is also not realistic.
690.
▲
by
kragen
1y ago
Oh, that's probably what I was thinking of. Thanks!
More ›