11 ms·
> Just out of curiosity, have you verified in some way that your alternative is legitimate? (Like maybe there are some contexts you haven't considered where oth
by xkapastel 6y ago
> Just out of curiosity, have you verified in some way that your alternative is legitimate? (Like maybe there are some contexts you haven't considered where other aspects of Nock are necessary.)
If you want a Turing complete combinator VM with transparent serialization of all values, there it is. Nock is not a serious language, I would love to hear what aspects you think it has that could be relevant in whatever context.
I'm pretty sure Yarvin's motivation for making the project obscure was just trolling.
- 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.