Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
doty
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
121.
▲
by
doty
17y ago
Also, self-hosting your compiler in itself can provide a great performance suite; compilers can be fairly complex things and they do memory and cpu-intensive work, so the speed with which compilers compile themselves is a useful benchmark.
122.
▲
by
doty
17y ago
In all cases, this means that a function called twice in a row from the same point in a program may return two different values--and that's exactly what the author is saying is a flaw of imperative languages. For Haskell, this is false. I
123.
▲
by
doty
17y ago
I think it's telling that the very first example to use dynamic allocation has a memory corruption bug. struct { int n; char c[0]; } *foo = malloc(16); /* sizeof(*foo) probably 4, so 12 bytes follow */ foo->n = 16; fo
124.
▲
by
doty
17y ago
To pile on the pedantry: "data" is one of those words that can be used in either a singular or plural construction. The OED has references going as far back as this one, from 1807: W. IRVING Salmag. xviii. 366 My grandfather..took a data fr
125.
▲
by
doty
17y ago
A superset is not always better. Consider domain-specific languages vs. general-purpose languages. You need to weigh the benefits of increased power with the drawbacks of additional complexity.
126.
▲
by
doty
17y ago
How does git make programmer A want to disentangle the fix? How does git keep Programmer B from making changes against the wrong base? (Admittedly, git may make it easier to move that fix from the wrong base to the right one, but it doesn't
127.
▲
by
doty
17y ago
This was not actual Microsoft strategy; until the Windows team destroyed OS/2 Microsoft had every intention of making OS/2 the future. Windows was really just a project that refused to be killed until it won.
128.
▲
by
doty
17y ago
> I wouldn't quite put it that way, because PEGs are defined abstractly, not in terms of any particular parsing method. I thought one of the core things in PEGs was ordered choice, which implies execution order. Packrat parsing is just
129.
▲
by
doty
17y ago
Interesting, thank you for clearing that up for me. Just to make sure I understand: you could view a PEG as having an ambiguity that is resolved by implementation. It's a small and subtle difference that both LL(* ) and PEG grammars are by
130.
▲
by
doty
17y ago
Aren't both packrat and LL(* ) deterministic? I thought the difference was that LL(* ) uses look-ahead to determine which branch of an alternation to choose, where packrat uses backtracking, and simply tries the branches of the alternation