Remix.run Logo
Fwirt 2 hours ago

I'm sure the idea here was a physical quine, although since it only contains 2.5% of its own G-code it's not really a quine, any more than a "Hello World" program is a quine since the string "Hello World" is in the program text. It would be trivial to generate something like this depending on which part of the G-code you pick.

LeifCarrotson an hour ago | parent [-]

Many G-code dialects contain subprogram calls, loops, and conditionals that seem like they'd permit a physical quine. The standard RepRap firmware breaks the rules by taking input:

https://reprap.org/wiki/G-code#M98:_Call_Macro.2FSubprogram

but Fanuc and other dialects allow M97 to call a subroutine chained to the end of a program.

Fwirt 9 minutes ago | parent [-]

G-code is like assembly language for CNC. It’s human readable, you can write it by hand if necessary, most machines will compile it internally to machine instructions, and there are a million different flavors with incompatible macros, etc. The flavor I’m most familiar with is Klipper’s interpreter, which will let you write macros, but that would technically be cheating since you could just stuff an entire program into a macro.