Talk:MIBBLLII

From Esolang
Jump to navigation Jump to search

How the end of input is delimited?

I would like to implement an interpreter but I have some questions:

  • How the end of input is delimited? Consider a program that must reverse its input. When should it stop accumulating and start printing?
  • true signifies '0' or '1' bit?
  • Is IO bit-oriented or byte-oriented? In latter case what's the bit order within a byte - big endian or little endian?

--Blashyrkh (talk) 19:58, 25 January 2026 (UTC)

Byte IO is preferrable

It enables a quine challenge (and especially polyglot quine challenge with brainfuck). --Blashyrkh (talk) 00:44, 26 January 2026 (UTC)

Improvement and clarification proposal

I suggest the following changes to the language specification:

  • [CHANGE] input is nil-delimited list of Church booleans.
  • [CLARIFICATION] '0' bit (both input and output) is denoted as true = λxy.x
  • [CLARIFICATION] '1' bit (both input and output) is denoted as false = λxy.y
  • [CLARIFICATION] Bit order within 8-bit byte is big-endian: most significant bit goes first.
  • [CLARIFICATION] Output list may be infinite (e.g. if the program produces all prime numbers) or delimited with nil.
  • [EXTENSION] If the length of the output bit list is not divisible by 8, then the trailing len mod 8 bits define the exit code according to the table:
Exit codes
Trailing bits Exit code(s)
none 0
0-1 1-2
00-11 3-6
000-111 7-14
0000-1111 15-30
00000-11111 31-62
000000-111111 63-126
0000000-1111111 127-254
  • [CLARIFICATION] If reduction result is not a Church list of Church booleans, exit code should be 255.
  • [CLARIFICATION] Interpreter command line should accept several programs. The evaluation result is the result of composition:
MIBBLLII prog1.mi prog2.mi prog3.mi
output = prog3(prog2(prog1(input)))

Now I ask the original author of the language: do you accept that the language with such changes is still MIBBLLII? Or should it be new language (derived from MIBBLLII and inspired by it, of course) with a different name? --Blashyrkh (talk) 12:47, 5 February 2026 (UTC)