Live data from Hacker News

What Urbit is

urbit.org

161–170 of 251 posts

Re: What Urbit is

#161
post #146

Earlier quoted context omitted.

> #3 seems improbable, as (a) I don't know Lisp It is not hard to re-invent/re-discover Lisp. In fact, it happens all the time. So just because you don't know Lisp doesn't mean you haven't re-invented it, though it does likely mean that you have re-invented it badly. Re-inventions of Lisp are sadly common. Good re-inventions of Lisp are rare. And good re-inventions of Lisp by people who don't know Lisp are unheard of…

Learning Lisp is easy. Learning Haskell is hard. But unlearning either is next to impossible. So anyone writing a new functional language would be best advised to not have that problem. Now, one might feel differently if Lisp, or Haskell, or any other functional language, was such a conspicuous market success. Under the circumstances, however, I don't think one can be faulted for the suspicion that perhaps functional…

> I think we'll have to disagree about whether or not Lisp is a typed language.

That seems like a peculiar position to take in light of your self-avowed and (apparently) carefully cultivated ignorance of Lisp. If you don't know Lisp, how would you know if it's typed or not?

BTW, here's a clue. (Spoiler alert! You may learn something about Lisp by reading the following.):

  Welcome to Clozure Common Lisp Version 1.10-r16479M  (DarwinX8664)!
  ? (type-of (sqrt -2))
  (COMPLEX (SINGLE-FLOAT 0.0 1.4142135))
  ? (sqrt 'x)
  > Error: The value X is not of the expected type NUMBER.
> anyone writing a new functional language would be best advised to not have that problem.

I am reminded of this koan:

  In the days when Sussman was a novice, Minsky once came to him as he sat hacking at the PDP-6.
  "What are you doing?", asked Minsky.
  "I am training a randomly wired neural net to play Tic-tac-toe", Sussman replied.
  "Why is the net wired randomly?", asked Minsky.
  "I do not want it to have any preconceptions of how to play", Sussman said.
  Minsky then shut his eyes.
  "Why do you close your eyes?" Sussman asked his teacher.
  "So that the room will be empty."
  At that moment, Sussman was enlightened.
> Hoon does not have macros

Most languages don't.

> a pure typed language doesn't need macros.

Of course. No language needs macros. That's why most languages are serviceable despite not having them.

> favor us with a lecture

You should be careful. As you yourself have just observed, losing your ignorance is a one-way street. The more you let me teach you, the closer you get to the edge.

Re: What Urbit is

#162
post #146

Earlier quoted context omitted.

> #3 seems improbable, as (a) I don't know Lisp It is not hard to re-invent/re-discover Lisp. In fact, it happens all the time. So just because you don't know Lisp doesn't mean you haven't re-invented it, though it does likely mean that you have re-invented it badly. Re-inventions of Lisp are sadly common. Good re-inventions of Lisp are rare. And good re-inventions of Lisp by people who don't know Lisp are unheard of…

Learning Lisp is easy. Learning Haskell is hard. But unlearning either is next to impossible. So anyone writing a new functional language would be best advised to not have that problem. Now, one might feel differently if Lisp, or Haskell, or any other functional language, was such a conspicuous market success. Under the circumstances, however, I don't think one can be faulted for the suspicion that perhaps functional…

> I think we'll have to disagree about whether or not Lisp is a typed language

Only if you're willing to insert " typed". Without at least one , the debate is meaningless: every party assumes that unqualified "typed" means " type" for some different choice of and then it's just about asserting word semantics.

Re: What Urbit is

#164
post #85

Earlier quoted context omitted.

Because they're so repugnant that they make reasonable people question why anyone would be willing to tolerate, let alone defend him. He's freely declared himself so reprehensible that it impairs his ability to lead any project because it will inevitably attract this type of discussion. If you'd prefer this not to be the case, please outline what restrictions on free speech you'd like emplaced so that people would no…

> He's freely declared himself so reprehensible that it impairs his ability to lead any project because it will inevitably attract this type of discussion. He's incapable of leading a project because you're unwilling to control yourself?

Yup, failure to understand the simplest aspects of public discourse and narcissism to the point of putting one's own desire to spout a bunch of violent racist crap above any consideration for how it might impact people you want to work with is pretty disqualifiying for project leadership. He's incapable of leading a project because he's unwilling to control himself.

Re: What Urbit is

#165
post #146

Earlier quoted context omitted.

> #3 seems improbable, as (a) I don't know Lisp It is not hard to re-invent/re-discover Lisp. In fact, it happens all the time. So just because you don't know Lisp doesn't mean you haven't re-invented it, though it does likely mean that you have re-invented it badly. Re-inventions of Lisp are sadly common. Good re-inventions of Lisp are rare. And good re-inventions of Lisp by people who don't know Lisp are unheard of…

Learning Lisp is easy. Learning Haskell is hard. But unlearning either is next to impossible. So anyone writing a new functional language would be best advised to not have that problem. Now, one might feel differently if Lisp, or Haskell, or any other functional language, was such a conspicuous market success. Under the circumstances, however, I don't think one can be faulted for the suspicion that perhaps functional…

> If Hoon did have macros, however, they would be inherently hygienic, without anything like a gensym

Everything we know about hygienic macros is mainly the result of research in Lisp dialects.

Everything that has syntax has macros. Just not necessarily user definable macros.

Syntax takes some clumps of symbols and converts them to some other symbols. When that is user-defined, we call it a macros; when it is hard-wired in some parser, we call it a grammar production.

"You don't need macros" is reminiscent of "why would you need more than 640 Kb of RAM?"

If you don't need macros, it means that the language syntax has provided exactly the right set of hard-coded ones in the parser.

If that is true, why are there different languages without macros with different syntaxes? And which one is right?

Re: What Urbit is

#166
post #85

Earlier quoted context omitted.

You mean aside from the project under discussion? Why are his personal views even relevant here?

Because they're so repugnant that they make reasonable people question why anyone would be willing to tolerate, let alone defend him. He's freely declared himself so reprehensible that it impairs his ability to lead any project because it will inevitably attract this type of discussion. If you'd prefer this not to be the case, please outline what restrictions on free speech you'd like emplaced so that people would no…

No one wants restrictions on free speech here. It's just boring to see the same thing over and over again.

Why continuously bring it up? We've already had this discussion numerous times.

Re: What Urbit is

#167
post #160
post #151

Earlier quoted context omitted.

> Hello! I'm one of the Urbit devs. Can you please explain to me what a "non-lambda interpreter" is and why it matters?

We had this argument in person! Or, at least we had a good chunk of it. It was cut short, and I think it's my fault for not re-initiating it. As you may remember, I'm really not the person to answer that question sufficiently. But I would like to see you and Curtis have this out at greater length.

> We had this argument in person!

Sorry, I didn't recognize your handle. (And just for the record, I wasn't trying to start an argument, just asking a question.)

> it's my fault

OK ;-)

> I'm really not the person to answer that question sufficiently.

OK.

> But I would like to see you and Curtis have this out at greater length.

Well, we're already having something out in another branch of this thread (https://news.ycombinator.com/item?id=11819810). But it's rather hard to get a straight answer out of him. He has this weird theory that the only way to avoid being sucked into the Lisp Failure Vortex is to not learn Lisp. But at the same time he professes his intentional ignorance of Lisp he also takes these weird pot-shots at it. That is, alas, not a good foundation for a constructive discussion, which is why I was hoping (and continue to hope) that you (or someone) might be able to explain it to me.

Re: What Urbit is

#168
post #161

Earlier quoted context omitted.

Learning Lisp is easy. Learning Haskell is hard. But unlearning either is next to impossible. So anyone writing a new functional language would be best advised to not have that problem. Now, one might feel differently if Lisp, or Haskell, or any other functional language, was such a conspicuous market success. Under the circumstances, however, I don't think one can be faulted for the suspicion that perhaps functional…

> I think we'll have to disagree about whether or not Lisp is a typed language. That seems like a peculiar position to take in light of your self-avowed and (apparently) carefully cultivated ignorance of Lisp. If you don't know Lisp, how would you know if it's typed or not? BTW, here's a clue. (Spoiler alert! You may learn something about Lisp by reading the following.): Welcome to Clozure Common Lisp Version 1.10-r1…

Actually, if you watch the video of the LambdaConf talk, I believe you'll see me deride Lisp as having (and needing) dynamically typed atoms.

I had no idea the concept of an atom had indeed degenerated all the way into complex numbers, which to me and to all decent Americans will always be a "cons" cell. Obviously I had not reckoned with the full and complete degeneracy of Clozure Common Lisp Version 1.10. Or something. If I knew Lisp, I could perhaps condemn it correctly.

In any case, sir: you are misinformed. A "dynamic" type system isn't actually a type system. At best, it's a sort of crutch for retired Jedis who can barely swing their obsolete, one-ended lightsabers.

Or do you wish to become enlightened? Come visit our library, old Jedi. At urbit.org, we have all the enlightenment you need. The age of Lisp was glorious, true. But much time has passed and much we have learned. The times change, uncle, and we must change with them.

Re: What Urbit is

#169
post #85

Earlier quoted context omitted.

Because they're so repugnant that they make reasonable people question why anyone would be willing to tolerate, let alone defend him. He's freely declared himself so reprehensible that it impairs his ability to lead any project because it will inevitably attract this type of discussion. If you'd prefer this not to be the case, please outline what restrictions on free speech you'd like emplaced so that people would no…

Stop with the ad hominem attacks and start posting something of substance. If you have examples of these 'repugnant' views then share them, I haven't seen anything that matches that description when read in context.

I would benefit from this. I don't doubt that Curtis's views are probably offensive, but I haven't seen a clear description of them to conclude that for myself. I tried reading some of his writing, but it seemed so abstract and obfuscated that I gave up before understanding what he was trying to get across. I've seen one-sentence descriptions of his beliefs and they sound horrible, but I've also seen enough tweet-length mischaracterizations of others' beliefs to take those as accurate.

Is there like an intermediate-level overview of Curtis's offensive beliefs, with a glossary and index? I'd be surprised if nobody's assembled one; it could make the ad hominems so much more effective.

Re: What Urbit is

#170

Earlier quoted context omitted.

Learning Lisp is easy. Learning Haskell is hard. But unlearning either is next to impossible. So anyone writing a new functional language would be best advised to not have that problem. Now, one might feel differently if Lisp, or Haskell, or any other functional language, was such a conspicuous market success. Under the circumstances, however, I don't think one can be faulted for the suspicion that perhaps functional…

> If Hoon did have macros, however, they would be inherently hygienic, without anything like a gensym Everything we know about hygienic macros is mainly the result of research in Lisp dialects. Everything that has syntax has macros. Just not necessarily user definable macros. Syntax takes some clumps of symbols and converts them to some other symbols. When that is user-defined, we call it a macros; when it is hard-wi…

Hoon is mainly built on a fixed set of hardwired, built-in macros. This is how I can be so confident about not needing anything like gensyms (what eliminates gensyms is having a subject which is navigated geometrically, not symbolically).

The advantage of fixing the set of hardwired macros is that, when reading code, everyone knows exactly what every line is doing, without having to indirect through the local macro environment. Macros are the first step toward a DSL.

DSLs are always and everywhere a bad idea. They may make code slightly cleaner or better-looking. In exchange, they add a level of indirection to the task of trying to understand it. This is the source of the nickname "write-only code," a common failure mode in FP. Write-only code can also be created by extravagant and pointless use of higher-order or non-strict programming, both of which complicate the task of reading code.

For instance, Hoon has a rune (keyword or digraph) for a 2-tuple, a 3-tuple, a 4-tuple, but not for a 5-tuple or up. Why? The 4-tuple cons pulled its weight, the 5-tuple didn't. For every special form you add to Hoon's fixed, limited set, you're imposing a cost on anyone who has to learn Hoon.

I hope you can see the UI advantage to functional programming in an environment of controlled evaluation complexity. IMHO, too much of FP is a world in which every program is its own language.

Which one is right? Actually, I feel it's possible that the only real language is K, and the rest of us are just phonies.

Post reply on HN