What are the names for these old, well-studied things in programming language theory, so we can look them up?
What are the names for these old, well-studied things in programming language theory, so we can look them up?
I've decided that I do not have the time or interest in writing the Related Work section for a paper-length blog post touching on an enormous number of fields, some of which I know well and some of which I haven't thought about in a decade. (As an aside, one real and substantive problem with trying to build a research program without taking the time to share a survey and comparison with related work is that you'll have difficulty communicating with others. It will then take extra effort on others' part to build up a knowledge base. Surveying and comparing to related work is hard and thankless but important work. It's not about credit, it's about building up a shared knowledge base.)
However, I can spare an hour or two and take the time to flesh out one or two in order to demonstrate what I mean.
So, I'll make the following offer: is there any particular excerpt from Stephen's blog post to which you would like the CS/PL/info theory analogue? Or, would you prefer me to pick a particular sentence and identify the body of work that explores that question and the major results of that body of work? (I will take this opportunity to emphasize the "about the non-physics side of things" portion of my original post.)
I'm going to link to this thread in other places where people have asked this question instead of monitoring 3 or 4 different threads going forward. I'll do my best to occasionally monitor this thread for requests and do my best to reply. FYI, I probably won't get around to answering more than one reply until the weekend.
If these concepts don't have a single name that you can just rattle off, and that we can Google - if describing them in terms of existing theory would take serious effort - then surely identifying and naming them is a major contribution?
I don't understand how things could be extremely well studied and developed, but also not exist in some fashion where you could just name and link to it in a matter of minutes rather than hours. Example "emulation cones are called X here".
I've listened to Wolfram and skimmed one of his books before deciding he's beyond my ability to evaluate as genius or crackpot. I'd love to be able to nail down a specific thing where I could read about some existing topic and then read about Wolfram claiming to reinvent it or something, because that could help me learn towards one conclusion over the other in the genius versus crackpot consideration.
One frustrating thing that I often find is that much of Wolfram criticism is non-specific and as it's impossible for me to bucket Wolfram I can't bucket his critics either because they tend not to provide enough detail or clarity.
Emulation cones go by various names, but perhaps the most common is the (bounded) reflexive and transitive closure of a reduction rules of a system. Another common name is the (bounded) reachable set.
Rulial spaces, by which I mean the particular ones Stephen seems interested in toward the end, are higher order term rewriting systems or higher order syntax. But actually, rulial space is used throughout the text in a much more general sense. I'd consider even very canonical results from PL theory, e.g. confluence of rewriting, to be non-trivial observations about a particular rulial space.
The reason for giving (or at least very vaguely hinting at) a definition for rulial spaces and emulation cones is to talk about foliations and then expressiveness. There's some connection between foliation and bisimulation that's difficult to exactly nail down, because nailing it down requires a lot more precision about the exact sort of (emulation cones we are interested in and for which) spaces. The connection between expressiveness and complexity hierarchies is immediately obvious, I think, right?
> One frustrating thing that I often find is that much of Wolfram criticism is non-specific and as it's impossible for me to bucket Wolfram I can't bucket his critics either because they tend not to provide enough detail or clarity.
Oy, no good deed goes unpunished :)
Look, I get why it's frustrating.
But, really, there's a reason that rule #0 of technical writing is to define terms before using them. The reader can only do so much.
>For example, his "emulation cones" are a new name for a very old and extremely well-studied idea. The term "rulial space", similarly, is a new name for an idea that's well-developed in programming language theory.'
What's the old well-studied idea, and the well-developed programming theory idea? A one sentence reply is fine.
Maybe you could advise some developed language or model for this task? The interesting part is to have code-data duality and enough rich language to kick start natural selection that would produce competing algorithms that would gradually become more and more complex (and gradually become closer to sentience).
Though the language might not even be Truring complete as it is. As natural assumption would be that the model should be finite in resources and it can get access to infinite time or memory only in time limit (assuming that the individual algorithms would survive for this to happen).