Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
urbit
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
21 ms
·
151.
▲
by
urbit
13y ago
Again, you have to be able to perform the same computation as the type inference algorithm - for any inference engine, any type system, any language, you can't use it if you don't know what it's going to do. There are a lot o
152.
▲
by
urbit
13y ago
My experience is that there are two very different kinds of Haskell programmers: those who really understand the math, like you, and those who treat it as a black box (the "Learn You A Haskell" contingent). As a black-box language
153.
▲
by
urbit
13y ago
I think the source of the confusion is that I'm carving off a stricter, and smaller, definition of the word "spec" than what we're used to. I agree. The word is not quite right. In general the answer to your questions
154.
▲
by
urbit
13y ago
This is an excellent point, and we're in vehement agreement. Or almost vehement agreement. The thing is, as a programmer, I have to understand what result the algorithm will produce. I have to understand what type my variable will b
155.
▲
by
urbit
13y ago
For the source of my bias, I have actually spent a considerable amount of time working with people in the "RFC world." For example, I wrote the kernel of the Openwave WAP browser, which shipped about a billion units, even if it s
156.
▲
by
urbit
13y ago
Hey, man, that's all on Google as I see it. And besides, I can't Google for "go." And yet, Go seems to be doing just fine...
157.
▲
by
urbit
13y ago
Thanks, and you're right about both problems. One, it takes a good bit of work to boot Arvo beyond a merely correct nock interpreter. The Hoon type system, for instance, is enormously painful if not jet-propelled. Two, the kind of bug
158.
▲
by
urbit
13y ago
The spec defines the semantics, not the performance. I think that's a pretty concrete distinction. But in practice, at a certain level some kind of informative or even quasi-normative convention will have to creep in if you want to de
159.
▲
by
urbit
13y ago
Equality is entirely untyped in Hoon. You're just comparing the nouns - "S-expressions without the S." So there is no type error at all. You'd say &(=(a b) =(5 b) =("foo" a)) and it'd work just fine
160.
▲
by
urbit
13y ago
See my response to tikhonj. No, of course not, because you're naturally good at PL theory. Or maybe artificially good at it. Whatever the reason, you're good at it. But I believe it's clear that most people, even most prog
161.
▲
by
urbit
13y ago
My feeling is that there's a relatively small subset of programmers who adapt well to unification inference, and they think the way you do - they grok the logical problem the inference engine is trying to solve, and don't worry at
162.
▲
by
urbit
13y ago
As for the type inference, you don't need unification to do type inference. Hoon infers only forward, not backward. Of course you could say it's a subset of unification, as it is. I find Hindley-Milner inference systems too powe
163.
▲
by
urbit
13y ago
As for the logical definition of a "spec," you are welcome to find any inconsistencies or imprecisions in the Nock axioms. Actually someone reported a (cosmetic) bug in the Nock spec this morning, which is quite cool. There'
164.
▲
by
urbit
13y ago
You can get rid of the whole name reduction system. Which is hardly trivial. If you assume it, though, it's true that everything else is trivial. Getting symbol tables, functions, environments, free and bound variables, etc, etc, out
165.
▲
by
urbit
13y ago
mi prami la lojban .ui
166.
▲
by
urbit
13y ago
Sigh, HN really is turning into - never mind. :-)
167.
▲
by
urbit
13y ago
Yes. And that's what many people find so elegant about Lisp. But, one could argue, the "is it a function? or is it a macro?" confusion is a significant cognitive load on the Lisp programmer. These are really two different
168.
▲
by
urbit
13y ago
It's a different approach to learning that I think favors the actual learning curve, not the perceived learning curve. Your brain is actually built to memorize symbols like this. (I feel I know the learning process pretty well because
169.
▲
by
urbit
13y ago
Yes, but Hoon would need them. Lisp gets a lot of things for free because it's based on the lambda calculus, which some regard as trivial but I don't. So, for example, lambda in Hoon is not a primitive but a relatively high-level
170.
▲
by
urbit
13y ago
Here's one way to think about it. You have a Facebook profile, right? That's essentially a special-purpose cloud computer - a cloud information appliance. But, wouldn't it be cool to have an actual personal computer in the
171.
▲
by
urbit
13y ago
Restricting symbols to a strict subset, rather than a strict superset, of global keyboards in practice, is about cultural literacy in practice. If you put unicode in variables, perhaps because you're using a national keyboard with spec
172.
▲
by
urbit
13y ago
You're saying, why are reserved words a bad idea? I think most defenders of the humble reserved word would consider it, at best, a hack. Maybe it's a necessary hack, maybe not. With reserved words you are overloading two very di
173.
▲
by
urbit
13y ago
Well, of course, Larry Wall is a god. But that said, the main difference between Hoon line noise and Perl line noise is that most of the ASCII we use has a very regular structure, with a (relatively) limited set of exceptions. So it looks
174.
▲
by
urbit
13y ago
That's an excellent criticism. Of course the problem is exacerbated by the HN link pointing to the philosophy doc. The greatest philosophy is to have no philosophy at all, but perhaps we're not quite there yet. Actually the K&am
175.
▲
by
urbit
13y ago
Yeah, it's true, the one in our kernel is O(n^2) though. Why? Because we're lame. But it hardly matters, as you'll never get anywhere with either O(n) or O(n^2) addition...
176.
▲
by
urbit
13y ago
http://en.wikipedia.org/wiki/Albert_Jay_Nock http://en.wikipedia.org/wiki/Tea_at_the_Palaz_of_Hoon Four-letter names that haven't been overexposed are hard to find. But four letters fits in
177.
▲
by
urbit
13y ago
I agree entirely! This is so much better than the typical "middlebrow dismissive" that I upvoted it... And actually, if you don't like Hoon you can build your own language on this platform. So long as it compiles to Nock.
178.
▲
by
urbit
13y ago
Thanks, but Avro is someone else's cool project! (Arvo is named for http://en.wikipedia.org/wiki/Arvo_P%C3%A4rt. )
179.
▲
by
urbit
13y ago
It's fairly easy to make them non-brittle, because it's very easy to rig a testing framework to run both the hand-optimized "jet" and the pure code, and compare them. Standardizing performance is a subtler and more inter
180.
▲
by
urbit
13y ago
Have fun! I recommend you start with the Nock tutorial: http://www.urbit.org/2013/08/22/Chapter-2-nock.html The build instructions in this file are out of date, use the ones from the Arvo chapter. Also, prob
More ›