5 ms·
>Interesting stuff, but in my usual 15 minutes of attention-span for things like this, utterly impenetrable. It's pretty much designed to be as hard to underst
by akhilcacharya 11y ago
>Interesting stuff, but in my usual 15 minutes of attention-span for things like this, utterly impenetrable.
It's pretty much designed to be as hard to understand as possible.
Look at the source/demo videos - it seems like it's designed to be obfuscated.
https://github.com/urbit/urbit https://github.com/urbit/urbit
http://urbit.org/preview/~2015.9.25/materials/part-i http://urbit.org/preview/~2015.9.25/materials/part-i
Personally, I can't get over the really made up words.
- yebyen 11y ago> Personally, I can't get over the really made up words. The idea of having new names for everything is that when you use a name you've already seen before in another context, you carry forward any ideas you have about things with that name based on their implementations in those other languages. There's a specific meaning for the words that are used for the introductory language concepts: arm, gate, battery, sample, core, rune, glyph, ... twig, jet, and so on. Many of these are either new concepts, or new arrangements of old concepts. A gate is not a lambda or a function, neither is a core, and if either were called those things anyone who hadn't seen them explained before would probably go ahead and take the big word to their nearest search engine, only to become even more confused by idiosyncratic and sometimes conflicting explanations of those ideas that appear slightly differently in hundreds of other languages. I think that Hoon hopes to be the first programming language for a lot of people one day, so they won't usually be coming expecting familiar things to have familiar names.
- msutherl 11y agoInterestingly, this same objection comes up when people try to read so-called (normally French) postructuralist theory from the 60s and 70s. Derrida himself, or Rorty writing on Derrida, supposedly advanced a similar argument, that using new terms allowed one to avoid falling back onto old concepts. I couldn't find a good source quickly, but it's mentioned here: https://en.wikipedia.org/wiki/Jacques_Derrida#Criticism_from_analytic_philosophers https://en.wikipedia.org/wiki/Jacques_Derrida#Criticism_from...
- fit2rule 11y agoFascinating side-chain .. thanks for that!
- jpt4 11y agoYou mean that out of all the things in this combinator [0] flavored abstract rewrite system [1], programmed via a symmetrical [2], forward-inferenced [3] typed language, exposing modula-2 style per-code-block compilation control [4], all designed to support a content centric [5], natively networked [6] global computing environment with sovereignty-hard siloing capabilities [7], the most difficult part to understand is the naming scheme? Edit: In the early Urbit docs [8] there was a nigh ad nauseam emphasis on the "stupidity" of the project. What the epiphany of careful inspection revealed was that this stupidity was not that of intellectual deficiency, but rather opposition to "cleverness" of the kind that tends to foster (and infest) Urbit's peer group of deep stack [9] rebuilds. One of the most insightful comments I've heard after springing Urbit on unsuspecting PL professionals was (paraphrased): "It [Urbit] does all the things we've said we wanted, in the worst possible way." All words are equally made up until grounded in referents. The question is, are the Worfian shorthands new words provide worth the cost [10] of expanding the symbol table, as compared to the interpretation overhead of translating new concepts into old? Under the burden of internalizing all the content linked below and more, I judge new vocabulary justified. [0] http://www.ucombinator.org/ http://www.ucombinator.org/ [1] https://en.wikipedia.org/wiki/Abstract_rewriting_system https://en.wikipedia.org/wiki/Abstract_rewriting_system (ARS being the most mechanical of the pure computational models outside reversible logic) [2] http://tunes.org/wiki/symmetric_20lisp.html http://tunes.org/wiki/symmetric_20lisp.html [3] https://en.wikipedia.org/wiki/Forward_chaining https://en.wikipedia.org/wiki/Forward_chaining [4] https://en.wikipedia.org/wiki/Modula-2#Description https://en.wikipedia.org/wiki/Modula-2#Description (see Definition/Implementation modules) [5] https://en.wikipedia.org/wiki/Content_centric_networking https://en.wikipedia.org/wiki/Content_centric_networking [6] http://netcentriccomputing.org/ http://netcentriccomputing.org/ [7] https://en.wikipedia.org/wiki/Capability-based_security https://en.wikipedia.org/wiki/Capability-based_security (not yet fully implemented) [8] http://moronlab.blogspot.com/2010/01/moron-lab-goals-principles-rules.html http://moronlab.blogspot.com/2010/01/moron-lab-goals-princip... [9] I won't say full stack, because the reshaping blade only penetrates OS deep. For a hardware-grounded reset, see good old Loper OS (http://www.loper-os.org/?p=8 http://www.loper-os.org/?p=8). [10] Because words are context dependent, this expansion is only logarithmic with respect to the increase of immediately referable concept space.
- 11y ago