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:PkmnQ/Golf

From Esolang
Jump to navigation Jump to search

(Based on User:Blashyrkh/Golf, but different set of problems and different set of languages)

Golfing results
Language Hello, world! Truth-machine Looping counter Kolakoski sequence A+B Primes Quine
1+[1] 10 bytes 35 bytes 35 33 bytes 14 bytes
23[2] 1217 bytes 192 bytes
96[3] 44 bytes 9 bytes 11 bytes 40 bytes 98 bytes
bitch[4] 50 bytes 10 bytes
BLC8[5] 16 bytes 18 bytes
Brain-Flak[6] 44 bytes 72 bytes 316 bytes
brainfuck 41 38 bytes 121 bytes 5493 bytes (ok not that old, it was made 10 years after Blashyrkh's, but point is it's my very first ungolfed attempt at a brainfuck quine and it'd probably do me good to revisit it)
Countable
Iterate
GolferNightmare[7]
Lazy K
The Church
  1. ↑ For 1+, I'm using the tio.run implementation given on the page (slightly modified to make input actually usable). (I allow exploiting jumping into comments using #, since this interpreter has that trait. I don't know if all of them do, though. If some of them don't, I'll consider making a separate entry for "commentless 1+".)
  2. ↑ For 23, I'm using my own interpreter, which should act the same as the archived interpreter. Programs will be measured in 23 notation, though I'll be presenting them in 23.dezsy on the User:PkmnQ/Golf/Code page.
  3. ↑ For 96, I'm using my own interpreter. Unfortunately, I haven't compared it with the other existing interpreter yet, so I don't know what differences there may be. I'll find some place to publish the interpreter at some point.
  4. ↑ For bitch, I'm using an implementation with unbounded integers, and with character I/O that outputs the whole accumulator as a Unicode codepoint (no modulo by 256). I don't have such an implementation yet, but I'll continue when I do.
  5. ↑ For BLC8, I'm using this implementation. (The tio.run implementation is weird, I haven't figured out what exactly is going on with the I/O.)
  6. ↑ For Brain-Flak, I'm using Unicode input and output, where the first character is the bottom of the current stack (as opposed to the tio.run implementation where the first character is the top of the stack). I'm also specifically allowing Brain-Flak to pretend that it outputted something by just pushing it onto the stack and never touching it again, since it can only ever output if the program halts (which would make 4 out of the 7 programs here impossible, since they require infinite output). I think this technically makes the language capable of hypercomputation for similar reasons to Boolshit, but I just really want to put Brain-Flak here. If I ever put Mini-Flak here (it doesn't have input but that still leaves 5 out of the 7 programs possible enough), it's also getting the same exception.
  7. ↑ Since all programs in GolferNightmare loop forever, I'll allow programs to keep looping without any I/O interaction.

(I'll figure out where I can put these to link to them later, I have them saved at least)

I'm being strict about my output requirements here, so while I might let myself get away with having e.g. a leading newline in the Looping counter example I gave on the CQfuck page, I can't add that example to this table.

  • The output for Hello, world! must be exactly Hello, world!\n. Capitalization and punctuation must be correct, and no leading or trailing whitespace (other than the singular newline at the end). The output must be constant for all inputs.
  • The output for Truth-machine must be exactly 0 for an input of 0 and 1 repeated infinitely for an input of 1. No newlines, whitespace, or whatnot.
  • The output for Looping counter must have n *s on line n (1-indexed). The output must only consist of *s and newlines. (i.e. *\n**\n***\n****\n...) The output must be constant for all inputs.
  • The output for Kolakoski sequence must be the Kolakoski sequence expressed using 1 for 1 and 2 for 2. No extra whitespace/separators/whatever.
  • A+B must take input and output in decimal, where each number only consists of 0123456789, is non-empty, and there are no leading 0s except in the case that the number is just 0. A newline is used to end both numbers in the input. The output must also have a trailing newline. The program must not break due to integer limits, e.g. the brainfuck A+B program must support inputs larger than 255.
  • The output for Primes must be the prime numbers expressed in decimal, with a space between each one. No extra whitespace/separators/whatever. The output must be constant for all inputs.
  • The output for Quine must be exactly the program, with no extra whitespace or whatever added. The program must also be non-empty. The output must be constant for all inputs.