We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
User talk:PkmnQ/Golf
"Hello, world!" usually do not capitalize "w". The string is exactly "Hello, world!\n" (but if you insist on your form, I can rewrite my programs). --Blashyrkh (talk) 18:04, 2 October 2026 (UTC)
- Really? The form I always remember seeing was with a capital W. For the sake of fair comparison I'll change it to your form, though. –PkmnQ (talk) 02:02, 3 October 2026 (UTC)
"Primes" program form
The problem supposes a variety of possible solutions (different algorithms, data structures, memory layouts whatever), an excellent candidate for golfing. If quines are the "most free" then it's certainly the Number Two. --Blashyrkh (talk) 16:09, 5 October 2026 (UTC)
- I might add it when I make more A+B programs, I'm hesitant about adding more program forms that require decimal output when so far I've only made it in Brain-Flak (and technically 1+, but it has its own decimal I/O). –PkmnQ (talk) 15:32, 10 October 2026 (UTC)
You call 15-bytes BLC8 "Hello, world" trivial?
Probably, I could manage to print the letter "H" in 15 bytes. But certainly not the whole string. HOW???? --Blashyrkh (talk) 18:47, 7 October 2026 (UTC)
- I see only one possible solution to this mystery: your interpreter treats everything that follows the program as input. And your "hello world" is actually a cat program (I=0010) followed by "Hello, world!" string. Am I right? --Blashyrkh (talk) 19:21, 7 October 2026 (UTC)
- Yes, I saw no reason to disallow it since it seems to be an intended feature of the language (to me, at least). But I'm realizing now that this means if the program is given further input that it no longer works properly as a Hello, world program, so I'll remove it. This also affects the Quine (since it's just an "append the input to itself" program with itself given as input), but I don't think it affects the Truth-machine or Looping counter. –PkmnQ (talk) 04:21, 8 October 2026 (UTC)
- How exactly does it work if input is given both in source file and in stdin? Are they concatenated or is stdin ignored? Is there any delimiter between the program part and the input part? Should the input part be aligned to byte boundary? The same for BLC (not 8)? (I ask so many questions to implement the same feature in my interpreter)
- My first Lazy K quine relied on input. It didn't use it (so input string could be any), but it waited for it. It didn't look quiny enough when run from console without input redirection: I had to press Enter or Ctrl-D. It was so because it used implicit Church pair as data section terminator. My new quines are fine. --Blashyrkh (talk) 05:14, 8 October 2026 (UTC)
- The input is seemingly concatenated without any delimiter, though admittedly I'm just trusting the tio.run implementation on that one, because when testing I've just been concatenating my input directly to the program. –PkmnQ (talk) 10:40, 8 October 2026 (UTC)
- If you run your BLC8 "Hello world" and give it the string "test" as an input, what would it print? --Blashyrkh (talk) 21:03, 8 October 2026 (UTC)
- Meanwhile I fixed my interpreter's BLC mode: if 0's and 1's are encountered in the source file after the program has been parsed, the parsed program
progis replaced withB prog (V bit), wherebitis eitherK(0) orKI(1). Used Tromp's 132-bit quine as a test: it works, but if additional input is given, it's appended to the output (so, technically, it's not a quine according to our rules). - To fix BLC8 mode I need your answer to my question about your "Hello world". I suppose it's just 0b0010+"Hello, world!\n" string i.e. not a whole number of bytes. What happens with the source file's garbage 4 bits? Are they dropped, or are they prepended to the actual input? --Blashyrkh (talk) 22:02, 8 October 2026 (UTC)
- The 4 extra bits are ignored, i.e. the removed "Hello, world!\n" program was
*Hello, world!<U+000A>but could've just as well been+Hello, world!<U+000A>. –PkmnQ (talk) 02:55, 9 October 2026 (UTC)
- The input is seemingly concatenated without any delimiter, though admittedly I'm just trusting the tio.run implementation on that one, because when testing I've just been concatenating my input directly to the program. –PkmnQ (talk) 10:40, 8 October 2026 (UTC)
- Yes, I saw no reason to disallow it since it seems to be an intended feature of the language (to me, at least). But I'm realizing now that this means if the program is given further input that it no longer works properly as a Hello, world program, so I'll remove it. This also affects the Quine (since it's just an "append the input to itself" program with itself given as input), but I don't think it affects the Truth-machine or Looping counter. –PkmnQ (talk) 04:21, 8 October 2026 (UTC)
Interpreters?
I've been thinking of adding a few interpreters as a program form, but I'm not sure what languages I want to include. I'll certainly have Deadfish, but beyond that I haven't picked anything else. Maybe brainfuck for a Turing-complete one, unless I find something better. –PkmnQ (talk) 02:03, 14 October 2026 (UTC)
- I thought of brainfuck (I already have the one in Lazy K, it's huge and certainly golfable), but vagueness of specification (cell size, eof behavior etc...) stopped me. I also have golfed program in BytePusher, but specification for this form would be "something nice and cute" (ok for golfing, not ok for competition). --Blashyrkh (talk) 07:06, 14 October 2026 (UTC)
- What about self-interpreter? --Blashyrkh (talk) 10:43, 14 October 2026 (UTC)
Join The Church
We offer:
- salvation of your soul (probably) (if you have any);
- transcendental experience;
- basis of combinators which is proven to be
holycomplete; - a lot of fun.