4 ms·
> I would love to hear what aspects you think it has that could be relevant in whatever context. I wasn't taking issue with what you said, just trying to under
by westoncb 6y ago
> I would love to hear what aspects you think it has that could be relevant in whatever context.
I wasn't taking issue with what you said, just trying to understand how well-grounded it was. I personally have little familiarity with Urbit, just a bit of curiosity (enough to read a few HN comments on the subject).
> If you want a Turing complete combinator VM with transparent serialization of all values, there it is.
I guess the piece that's missing for me is why you believe that set of properties forms a complete set of requirements for the language.
Like maybe they described Nock as "a Turing complete combinator VM with transparent serialization of all values," so then finding something else fitting that description is supposed to be equivalent—but I wouldn't consider it to necessarily be so, since people often speak informally when giving some abstract summary like that (it's not necessarily meant to be exhaustive).
- yasp 6y agoNock doesn't have the notion of lambdas. The language xkapastel links does. Why doesn't Nock? No clue.
- xkapastel 6y agoYou are being too charitable. Nock does not have any interesting properties and does not meet any serious constraints besides being obscure. Here is Nock's origin document, for reference: http://moronlab.blogspot.com/2010/01/urbit-functional-programming-from.html http://moronlab.blogspot.com/2010/01/urbit-functional-progra... Some of the ideas are interesting but they are independent of Nock. Any combinatory logic would do the trick.
- westoncb 6y agoHmm, I looked around on that post at all the parts referring to Nock and I still don't see anything that would convince an impartial reader of what you're saying. Are you taking issue with the style/language the post is written in? I mean it does sound to me like someone a little too fascinated by their own ideas... —but I it seems too uncharitable to dismiss it because of that. What I got from my quick skim is that the author was well aware of some similarity to combinatory logics, but intentionally took a different direction with Nock: > Unlike the lambda calculus, Nock represents code as data, not data as code. This is because it is system software, not metamathematics. Its loyalties in this matter are not even slightly divided. Or > As you'll quickly see if you try this exercise, raw Nock is not a usable programming language. But nor is it an esoteric language or automaton, like SK combinators. Rather, Nock is a tool for defining higher-level languages - comparable to the lambda calculus, but meant as foundational system software rather than foundational metamathematics. This sounds reasonable to me. I don't know if Nock successfully fulfills this claim, but without assuming the author is just straight up lying about this stuff, it seems like, "Any combinatory logic would do the trick" is probably not accurate.
- xkapastel 6y agoHave you ever implemented a programming language before? You are relying a lot on "quick skims" and the POV of an "impartial reader", i.e. someone who does not know the domain. It's much easier to see through the bullshit if you're familiar with PL. > Unlike the lambda calculus, Nock represents code as data, not data as code. This is because it is system software, not metamathematics. Its loyalties in this matter are not even slightly divided. This does not mean anything. > But nor is it an esoteric language or automaton, like SK combinators. Rather, Nock is a tool for defining higher-level languages - comparable to the lambda calculus, but meant as foundational system software rather than foundational metamathematics. This is hilarious considering Nock is, in fact, esoteric. SK combinators are also very comparable to lambda calculus, and it's not clear what "foundational system software" even means in the context of a combinatory logic just like SK combinators. And why would Nock be any good at "defining higher level languages"? Keep in mind that their idea of "higher level languages" includes Hoon, another esoteric language. You skimmed it quickly and didn't see anything that jumped out to you as wrong. That's a good explanation for how a cup and ball game like Urbit got as many users as it did: you need a bit of specialized knowledge to see that it's full of hot air.
- westoncb 6y agoI think you've got me wrong on this—the idea that I'm "relying" on "quick skims" and the POV of an "impartial reader," would imply that I'm somehow using these things against you. I literally am an impartial reader trying to understand this, who spent a little time reading a resource you pointed me at. If I missed what you wanted me to discover in the resource, you could just highlight it here. But instead you've chosen to question my competence and make another series of ungrounded derogatory assertions about the tech. Now including some mistakes, or at least overly uncharitable interpretations that are useless to an impartial reader: > This is hilarious considering Nock is, in fact, esoteric. It's esoteric sure, but it seems like his usage here refers to Esoteric Languages (https://en.wikipedia.org/wiki/Esoteric_programming_language https://en.wikipedia.org/wiki/Esoteric_programming_language) —which has a separate meaning (e.g. languages "as a proof of concept, as software art,"). That seems to be the whole point when he compares it to e.g. lambda calculus: he is maximizing practicality over mathematical elegance. So it makes perfect sense to point out that while it's esoteric it's not an Esoteric Language. > This does not mean anything. Again, if you take an uncharitable extreme, I agree: it's basically a meaningless thing to say. But if I wanted to be charitable I could come up with several ways of interpreting it. > SK combinators are also very comparable to lambda calculus Yes, I got the sense he was using them pretty much interchangeably here, using SK combinators as an example of an esoteric language, and in the next sentence he prefers "lambda calculus" because its a formal system in mathematical logic rather than a computational system, and the whole purpose of the sentence is to make a distinction between software foundations vs. mathematical foundations. Unless you show an interest in exchanging ideas over rhetoric in your reply—don't expect any further responses from me.