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.

GolfText

From Esolang
Jump to navigation Jump to search

GolfText is an esolang invented by User:None1, it is an esolang designed to output repetitive text using shorter code..

Syntax

It is just text, but LZMA compressed!

Examples

99 bottles of beer

FD 37 7A 58 5A 00 00 04 E6 D6 B4 46 02 00 21 01 16 00 00 00 74 2F E5 A3 E0 2E 6B 01 DE 5D 00 1C E0 7C C4 6F 3A 26 B2 05 C8 64 C0 2A 13 9D 16 6E 79 5C 30 78 26 82 3B 39 29 97 B9 56 FB C8 B6 C3 50 CE 24 8E 10 71 A7 CB 6E 24 AB 42 A2 54 BB E0 A8 BE 43 AD 25 D6 57 DD 96 7A 25 8B 80 7B 20 B4 CE BA 00 A9 91 8A E3 E3 EE D4 E2 3B B8 58 56 EF E1 26 7F 9A 41 5E 5C A2 72 13 FC F0 AD F0 89 C5 60 57 78 7E C1 FE 36 20 20 3A 8A F3 C1 8B 3C C3 6C 43 F0 43 07 EE D8 89 38 66 31 14 4D E9 BB 22 D2 00 D5 00 DF AA E3 B7 C6 ED A8 DA 60 C7 AD 0E 34 96 D5 DF 64 5D E0 BA 1A 20 2C 60 94 F9 10 3F C8 64 A1 70 D4 C0 01 D3 D8 62 37 4C 5D 49 18 D1 7D 84 D3 0C 12 34 BB 78 61 A1 B3 54 55 99 4D AA AB 8A 87 21 77 DA EF 7E E0 25 D5 EC 84 C4 BA 56 F0 84 0D 8F C4 90 23 D4 50 63 50 82 8B 8B FA 62 87 C9 0B 9C DA C4 5B 11 28 3F 9D D5 92 63 01 A3 7D 18 17 46 84 71 F0 E5 F5 C3 89 99 E5 CD 9D 9B 34 29 C1 75 5F D5 71 39 C9 C6 61 26 F8 99 21 7C 3B 09 39 5D D2 05 6A 03 32 C7 3A DB E8 01 59 22 BE 74 07 DD 21 F8 13 B1 D9 0A 38 9B D0 BC 6A AC 22 CC 65 BD B8 DB DD 03 D8 63 65 4F 06 53 87 50 C0 4B E4 37 A1 E0 F1 9D BB 0D 5D 59 8F 31 22 A3 1F 40 02 45 F3 9C 15 6A 06 08 2A AA 40 CE 6F 0C 82 2F 58 5B 6C 12 8C 37 9C ED 91 7D E4 75 D1 93 45 31 41 5D 59 FD 7A DE 84 D2 2A 5A 31 D9 2E 29 B7 0E 0D 9F 98 FC DB 05 B8 86 0A 6D 75 5F 54 DB A1 23 B6 B3 56 CC CA 42 85 C9 5A 1D AF 26 C6 19 C2 78 E4 81 44 3E 06 01 11 FA F4 C1 B9 5F 5C 00 30 BC DB 99 15 8F 54 C7 62 D6 D8 CB CB 50 51 35 B7 90 BD 27 4B EC F7 A4 07 72 10 C5 96 3D BB FC FA 4B 95 E8 6F BB 68 12 E7 35 1B E4 B0 00 00 00 91 18 8B 3E DC 08 B0 04 00 01 FA 03 EC 5C 00 00 26 BD F3 C9 B1 C4 67 FB 02 00 00 00 00 04 59 5A

in hex dump.

Original text: 11884B

In GolfText: 544B

Compression rate: 4.6%

FizzBuzz

FD 37 7A 58 5A 00 00 04 E6 D6 B4 46 02 00 21 01 16 00 00 00 74 2F E5 A3 E0 01 9B 00 81 5D 00 18 82 82 8F 23 5F 18 6D 57 4D 6B 8E 30 C5 FD 10 03 6F 05 C5 64 CD E5 0A 1E 23 0A 19 4B 9A DE E8 B1 0D 7B 96 1F AD 33 25 18 B4 7A 1D 19 75 85 DE 4B 58 8F B5 75 60 D5 46 69 F7 9C 4E 0B B4 49 7C 37 A1 16 C2 CE 90 BB FC 02 ED D7 E7 E7 45 6C 36 44 0B F7 84 30 62 4D BB 29 D9 65 AC AD 84 B9 2E 7B 2B 2D D1 A9 80 DB 36 72 7D D4 7D DB 77 06 CE 91 A7 EB 2F 64 61 18 FD 6E 28 BF D1 CE 68 79 E0 A0 00 00 00 00 35 AD 7D EA AB 42 54 56 00 01 9D 01 9C 03 00 00 B5 18 1D AA B1 C4 67 FB 02 00 00 00 00 04 59 5A

Original text: 412B

In GolfText: 192B

Compression rate: 46.6%

Hello, World!

FD 37 7A 58 5A 00 00 04 E6 D6 B4 46 02 00 21 01 16 00 00 00 74 2F E5 A3 01 00 0C 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 00 00 00 00 2C 7B 64 5C F0 33 06 28 00 01 25 0D 71 19 C4 B6 1F B6 F3 7D 01 00 00 00 00 04 59 5A

Original text: 13B

In GolfText: 72B

Compression rate: 553.8%

Yes, sometimes programs in GolfText are longer than in text, this is inevitable in any compression algorithm.

Error Quine

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "yourpath\lzma.py", line 343, in decompress
    res = decomp.decompress(data)
          ^^^^^^^^^^^^^^^^^^^^^^^
_lzma.LZMAError: Input format not supported by decoder

Replace yourpath with your Python lib path, only works when the python interpreter is executed in a python REPL.

NOP

FD 37 7A 58 5A 00 00 04 E6 D6 B4 46 00 00 00 00 1C DF 44 21 1F B6 F3 7D 01 00 00 00 00 04 59 5A

Original text: 0B

In GolfText: 32B

Compression rate: ∞%

Note: an empty program isn't a NOP in this esolang!

Interpreters

Python

import lzma
print(lzma.decompress(input().encode()).decode())

Another one accepting hex dump as input:

import lzma
print(lzma.decompress(bytes([int(i,16) for i in input().split()])).decode())

Usability

Despite its advantage in printing repetitive text, GolfText is very unusable as it can only do one sort of thing: printing stuff.