CONVICKT(1)

πŸ’– CONVICKT(1) πŸ’–

okay so this is one of those pages from the General Commands Manual section, and bestie, we are about to convert some INTERCAL πŸ’…


✨ NAME ✨

convickt β€” convert INTERCAL files between formats πŸ¦‹


🌸 SYNOPSIS 🌸

convickt incharset outcharset [paddingrule [arrayname]]

πŸŽ€ DESCRIPTION πŸŽ€

So this manual page is the lowdown on the convickt command, periodt. If you want the full lore, it's available via info convickt β€” go read that if you're feeling extra ✨

What does convickt do? It converts INTERCAL programs from one character set to another. That's the whole vibe. It takes its input from standard input and sends its output to standard output. No cap. πŸ’œ


πŸ”₯ OPTIONS πŸ”₯

for incharset and outcharset πŸ‘‘

  • atari β€” interpret the input as ASCII-7 Atari syntax INTERCAL (this is the syntax the Atari INTERCAL-72 compiler uses, and also J-INTERCAL, and also C-INTERCAL's default syntax), or output in that syntax. it's giving retro πŸ•ΉοΈ
  • baudot β€” interpret the input as CLC-INTERCAL's extended Baudot syntax, or output in that syntax πŸ’«
  • ebcdic β€” interpret the input as the CLC-INTERCAL dialect of EBCDIC, or output in that syntax 🧚
  • latin1 β€” interpret the input as Latin-1 Princeton syntax INTERCAL, which is what CLC-INTERCAL uses by default and which C-INTERCAL can also read with the -X switch, or output in that syntax 🌈

for paddingrule πŸ’…

  • zero β€” pad the irrelevant bits in ASCII-7 and Baudot output with zeros πŸ“
  • printable β€” set the values of the irrelevant bits in ASCII-7 and Baudot output to try to cause the output to stay within character range 32-126. this one is the default, bestie. (also, heads up: paddingrule is irrelevant for 8-bit character sets like Latin-1 and EBCDIC, so don't stress about it there πŸ’–)
  • random β€” pad the irrelevant bits in ASCII-7 and Baudot output with random data, except that outputting an all-bits-zero octet is avoided πŸ™ˆ

πŸ’€ CAVEATS πŸ’€

Not all conversions are possible, because the character sets just don't have the same characters available. it's giving mismatched friendship bracelets 😭 In most cases, an unconvertible or invalid character will be converted to a 0 (padded appropriately). The exception: if a tab cannot be converted, it gets converted to a single space instead β€” that way INTERCAL programs still run if they're converted to Baudot. iconic behaviour honestly 🫢

Using atari as an input or output character set will literally convert characters which differ between Atari and Princeton syntax, without checking to see whether they're being used as operators or not. so like, it does not care. it will just do it. 😳

If arrayname is given, then instead of outputting the converted text literally, it will be output as portable (that is, legal in INTERCAL-72, C-INTERCAL, J-INTERCAL and CLC-INTERCAL) INTERCAL that dimensions the tail array given as arrayname and assigns each byte of the output to an element of that array. mostly useful for producing Baudot text for CLC-INTERCAL-style array IO ✨


πŸ’œ AUTHOR πŸ’œ

convickt and this manual page were written by Alex Smith. slay πŸ’…


and that's the whole page, bestie β€” this one lives in the General Commands Manual (the CONVICKT(1) corner of the world 🌍), and consider this your cute little sign-off from the CONVICKT(1) section itself. go forth and convert responsibly πŸŽ€πŸ¦‹πŸ’–