Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pg
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
pg
3y ago
In earlier drafts I wrote "the existence of some set of best essays follows necessarily" but it sounded so pedantic that it didn't seem worth keeping just to protect myself from being accused of not understanding the distinct
2.
▲
by
pg
3y ago
It's not available yet. And in any case if this is the future there should be multiple companies doing it, not just Apple.
3.
▲
If you're interested in eye-tracking, I'm interested in funding you
(twitter.com)
374 points
by
pg
3y ago
|
209 comments
4.
▲
The Social Radars: Conversations with Startup Founders
(thesocialradars.com)
142 points
by
pg
4y ago
|
32 comments
5.
▲
by
pg
4y ago
Thanks, but as I learned when I was running HN, being a regular user of a forum (which the moderator necessarily is) and writing essays are fundamentally incompatible. If you're known to be a regular user of a forum, then when someone
6.
▲
by
pg
4y ago
I'm not leaving Twitter. It seems more likely than not that Elon will reverse the ban on links to other social media sites. I just don't want to hang out there in the meantime. Plus given the way things are going, it seemed like a
7.
▲
by
pg
6y ago
Yes. The root of the problem is that the hospitals' supply chain is brittle, and broke under the stress. One hopes it will get redesigned to be more robust. But in the meantime Flexport can get PPE now, and now is when it's needed
8.
▲
by
pg
7y ago
This looks pretty good. The only thing I don't like is the coloring of tokens in the examples. It doesn't make them easier to read; it's just distracting.
9.
▲
by
pg
7y ago
As names, car and cdr are great: short, and just the right visual distance apart. The only argument against them is that they're not mnemonic. But (a) more mnemonic names tend to be over-specific (not all cdrs are tails), and (b) after
10.
▲
by
pg
7y ago
This was something I'd meant to do for a long time, and wanting to work on it was one of the reasons I retired from YC. Being overtly ambitious would have provoked haters, but few will see this thread now, so I'll tell you: the go
11.
▲
by
pg
7y ago
It would not be clearer to use 1 instead of car when you were using a pair to represent a tree, rather than a list, and you were traversing the left and right branches using car and cdr.
12.
▲
by
pg
7y ago
An infinite number, in theory. Even (sign n d) does, since you can have anything in d.
13.
▲
by
pg
7y ago
What this (def typecheck ((var f) arg env s r m) (mev (cons (list (list f (list 'quote arg)) env) (fu (s r m) (if (car r) (pass var arg env s (cdr r) m)
14.
▲
by
pg
7y ago
You wouldn't learn much more from reading it, because (to an almost comical extent in retrospect) the internal code was just like HN. In fact, not just like; it was mostly the same code.
15.
▲
by
pg
7y ago
One answer to this question (and an exciting idea in itself) is that the difference between conciseness and many of these apparently unrelated matters approaches zero. E.g. that all other things being equal, the debuggability of a language,
16.
▲
by
pg
7y ago
It's still the case. bel.bel is generated by software. Most of the actual code is Arc that I turn into Bel in generating it. E.g. the interpreter and anything called by it, and the reader. But code that's only used in Bel programs
17.
▲
by
pg
7y ago
Initially I would have preferred that. I did it that way in Arc. But since functions are lists in Bel, I couldn't do that, or you wouldn't be able to call a function on a number. As often happened with things I was forced into, th
18.
▲
by
pg
7y ago
I don't expect implementations to be compliant. Starting with an initial phase where you care just about the concepts and not at all about efficient implementation almost guarantees you're going to have to discard some things from
19.
▲
by
pg
7y ago
(where (cadr x)) would be ((b c) a). where tells you what to set, and setting the cadr of (a b c) means setting the car of (b c).
20.
▲
by
pg
7y ago
In the same way it's an improvement over other Lisp dialects. There's no huge hole in Arc that Bel fixes. Just a lot of things that are weaker or more awkward or more complicated than they should be.
21.
▲
by
pg
7y ago
I talk about this in the first section of the The Bel Language: http://paulgraham.com/lib/paulgraham/bellanguage.txt
22.
▲
by
pg
7y ago
Because falsity is also the empty list.
23.
▲
by
pg
7y ago
Numbers are represented using pairs. Specifically (lit num (sign n d) (sign n d)) where the first (sign n d) is the real component and the second the imaginary component. A sign is either + or -, and n and d are unary integers (i.e.
24.
▲
by
pg
7y ago
That was once true, but it's all been rewritten.
25.
▲
by
pg
7y ago
I originally did call it flip, but then I took that name for the current flip: (def flip (f) (fn args (apply f (rev args))))
26.
▲
by
pg
7y ago
It's so broadly the goal of the language that many things do, often in small ways. For example, it turns out to be really convenient that strings are simply lists of characters. It means all the list manipulation functions just work on
27.
▲
by
pg
7y ago
I think the point of a high-level language is to make your programs shorter. All other things (e.g. libraries) being equal, language A is better than language B if programs are shorter in A. (As measured by the size of the parse tree, obvio
28.
▲
by
pg
7y ago
Because it's not a primitive. It's handled by a special case in the interpreter, (= f apply) (applyf (car args) (reduce join (cdr args)) a s r m) rather than being something whose behavior you have to assume.
29.
▲
by
pg
7y ago
At first it was not just all one codebase, but all one thread . If HN was busy, all our internal software would run a little slower.
30.
▲
by
pg
7y ago
One thing you can say for Bel for sure is that it will give implementors lots of opportunities to develop new optimization techniques. That's partly humorously euphemistic, but also true.
More ›