I'd call the reaction notation pseudocode inasmuch as I'd call assembly language pseudocode or prime factorizations pseudocode -- they're equivalent in completely mechanical way. (Caveat: there needs to be a prime<->species assignment block, too.)
A way I'd been experimenting with FRACTRAN is with a slightly different notation, Python:
It uses multiplicative rather than additive notation. All that's left is to take the RHS and divide it by the LHS.
---
On HN a while back, someone posted something about how Petri nets are the same as rewrite rules in a commutative monoid, and seeing as FRACTRAN is sort of a system of rewrite rules, I thought to see whether anyone had made the connection before, and sure enough there's a paper. Cook, Soloveichik, Winfree, and Bruck, "Programmability of chemical reaction networks." http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.155...
I propose that there is an informal difference between pseudocode, and a specification for a machine: Typically, pseudocode doesn't have a mechanical compiler.
It may not have a mechanical compiler for some technical reason (such as inconsistent syntax or impossible semantics), or it might just be too much bother to write a real compiler and sort out how to make all possible program work.
But yes, going by this, the moment one writes a pseudocode-to-FRACTRAN compiler, it ceases to be pseudocode and becomes a domain-specific language for writing FRACTRAN programs.
I agree, but I'm saying something stronger here. The reaction notation is equivalent to a FRACTRAN program. Given a prime<->species correspondence, it survives a round trip to and from fractional notation, so to speak ("assembly" and "disassembly"). It's just another way of writing prime decompositions.
Perfectly logical agents who can see the entirety of logical consequence would think "eh, what's the big deal? it's equivalent!" But, for whatever reason, the notation finally made me "get" FRACTRAN.
A way I'd been experimenting with FRACTRAN is with a slightly different notation, Python:
It uses multiplicative rather than additive notation. All that's left is to take the RHS and divide it by the LHS.---
On HN a while back, someone posted something about how Petri nets are the same as rewrite rules in a commutative monoid, and seeing as FRACTRAN is sort of a system of rewrite rules, I thought to see whether anyone had made the connection before, and sure enough there's a paper. Cook, Soloveichik, Winfree, and Bruck, "Programmability of chemical reaction networks." http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.155...