For sure, here are the registers used for each fraction:
comp h^2 > comp H^2
comp h c > done H
comp > done c^2
done H^2 > done h^3
done H > comp
done > comp
Accumulator: comp h^8
The first two does the comparison for odd/even, the h register is moved to the H register during the comparison, then done does H += H>>2, and then keep trying.
Do you happen to know what the smallest/first (by some measure) Fractran program is of which it is unknown whether it halts or not? Or even undecidable?
I don't, sorry. I have played with rewriting systems a lot, but not within the lens of computability. One thing that I've noticed where that some rules can be inferred to be exhaustive(an exhaustive rule can be applied without searching for another rule for as long as the rule can be applied), and that a program where all the rules have less tokens on the right side than on the left side are not turing complete.
Conway's Fractran traditionally compares the accumulator against reduced fractions, but computationally-speaking, getting to the gcd of a fraction does little more than getting rid of otherwise valuable information used during comparison to match against a restricted set of fractions. The support for catalysts, symbols found on both sides of a rewrite rule, makes for a simpler and faster implementation.
15/6 red [green] > blue [green]
5/2 red > blue
red green
These two fractions are not equal and reducing the first into the second, eliminates the capability to match against it only when the catalyst green is present in the accumulator.
I see, so you are using a different model for computation that does not use rational numbers, but instead pairs of integers. From a computational point of view, that makes a lot of sense, disallowing catalysts is quite annoying, but I would not call this Fractran, instead I would call it something like a prioritized chemical reaction network or something like this. The wikipedia article explicitly states:
> The same variable cannot be both decremented and incremented in a single instruction (otherwise the fraction representing that instruction would not be in its lowest terms). Therefore each FRACTRAN instruction consumes variables as it tests them.
I've seen this variance used a lot in the code golfing challenges I participate in, I feel like if I called it something other than Fractran, it wouldn't be long before someone points out that this is quite like fractran and I ough to call that
Conversion between spagetti stacks and pure stack programming(in which the stack contains numbers and no GC) has a massive translation cost if you go from LC to Forth and back.
Forth is an imperative language and as such you will have to model memory state (at least) somehow, if you want to use purely functional language as a representation. But that's the cost of doing business.
The thing is though, you don't translate to LC for performance, but for understanding. At any point, the LC evaluator might recognize a known subterm and replace it with a known equivalent. Depending on the goal, that might help to improve evaluation performance (skip known steps of beta reduction), reduce memory consumption (reduce size of the term), or improve readability (refactor code to use better known abstractions).
It's difficult to understand what they were actually doing, but reading between the lines, it sounds like an advantage of 'machine Forth' is writing some Forth words in assembly? I can see why that would run much faster for a jpeg decoder.
Besides Orca, Befunge, etc.. the McCulloch-Pitts Neuron is a graphical language with a discrete timestep, it solves some of the shortcomings of Orca and Recto where the evaluation has to do a lot of walking to traverse space.
I feel like John Holt, author of Unschooling, who is quoted numerous times in the article, would not be too keen on seeing his name in a post legitimizes a technology that uses inevitabilism to insert itself in all domains of life.
--
"Technology Review," the magazine of MIT, ran a short article in January called
"Housebreaking the Software" by Robert Cowen, science editor of the "Christian
Science Monitor," in which he very sensibly said: "The general-purpose home
computer for the average user has not yet arrived.
Neither the software nor the information services accessible via telephone are
yet good enough to justify such a purchase unless there is a specialized need.
Thus, if you have the cash for a home computer but no clear need for one yet,
you would be better advised to put it in liquid investment for two or three
more years." But in the next paragraph he says "Those who would stand aside
from this revolution will, by this decade's end, find themselves as much of an
anachronism as those who yearn for the good old one-horse shay." This is mostly
just hot air.
What does it mean to be an anachronism? Am I one because I don't own a car or a
TV? Is something bad supposed to happen to me because of that? What about the
horse and buggy Amish? They are, as a group, the most successful farmers in the
country, everywhere buying up farms that up-to-date high-tech farmers have had
to sell because they couldn't pay the interest on the money they had to borrow
to buy the fancy equipment.
Perhaps what Mr. Cowen is trying to say is that if I don't learn how to run the
computers of 1982, I won't be able later, even if I want to, to learn to run
the computers of 1990. Nonsense! Knowing how to run a 1982 computer will have
little or nothing to do with knowing how to run a 1990 computer. And what about
the children now being born and yet to be born? When they get old enough, they
will, if they feel like it, learn to run the computers of the 1990s.
Well, if they can, then if I want to, I can. From being mostly meaningless, or,
where meaningful, mostly wrong, these very typical words by Mr. Cowen are in
method and intent exactly like all those ads that tell us that if we don't buy
this deodorant or detergent or gadget or whatever, everyone else, even our
friends, will despise, mock, and shun us the advertising industry's attack on
the fragile self-esteem of millions of people. This using of people's fear to
sell them things is destructive and morally disgusting.
The fact that the computer industry and its salesmen and prophets have taken
this approach is the best reason in the world for being very skeptical of
anything they say. Clever they may be, but they are mostly not to be trusted.
What they want above all is not to make a better world, but to join the big
list of computer millionaires.
A computer is, after all, not a revolution or a way of life but a tool, like a
pen or wrench or typewriter or car. A good reason for buying and using a tool
is that with it we can do something that we want or need to do better than we
used to do it. A bad reason for buying a tool is just to have it, in which case
it becomes, not a tool, but a toy.
On Computers
Growing Without Schooling #29
September 1982
I don't agree with your characterization of my post, but I do appreciate your sharing this piece (and the fun flashback to old, oversized issues of GWS). Thanks for sharing it! Such a tragedy that Holt died shortly after he wrote that, I would have loved to hear what he thought of the last few decades of computing.
Same, after reading your post, it sent me down reading all sorts of guest articles he did left and right, and it really made me wonder what he'd think of all this. I feel like his views on technology changed over his lifetime. He got more.. I dunno, cynical over time?
You say this like it should give him more credibility. He created a homeschooling methodology that scores well below structured homeschooling in academic evaluations. And that's generously assuming it's being practiced in earnest rather than my experience with people doing it (effectively just child neglect with high minded justification)
I have absolutely no doubt that a quack like John Holt would love AI as a virtual babysitter for children.
It was insightful of him and there absolutely are similar strains of hype today!
He also both points out the silliness of the pitch for the hype-y tech of the day and calls that same tech a tool some might use with good reason.
That doesn't read to me like "tech hyped as inevitable is never okay" but more like "ignore sales pitches and evaluate the hyped tech for yourself." Your own judgment of today's hyped tech might be "kill it with fire." Still, it seems fully in sync with the spirit of that passage for Recurse to ask for a bunch of smart people's varied opinions on it and share them with the world.
https://wiki.xxiivv.com/site/slide_rule
reply