From Esolang
Jump to navigation Jump to search

™ or TM is an esolang (or, a family of esolangs) that can do a Truth Machine (except type 4 and 11, which are basically jokes), created by User:None1 and User:PrySigneToFry.

Syntax

Dialects created in 2023

Type 1

There is only one valid program: , which is a Truth Machine.

Other programs raise a syntax error:

Syntax error

Type 2

There are only three valid programs:

  1. , which is a Truth Machine.
  2. ©, which is a cat program.
  3. ®, which is a reverse cat program.

Other programs raise a syntax error:

Syntax error

Type 3

There is only one valid program: an empty program, which is a Truth Machine.

Other programs raise a syntax error:

Syntax error

Type 4

Every program raises a syntax error:

Syntax error

It is obvious that type 4 is a Nope. derivative.

Type 5

Every program is a Truth Machine.

Type 6

Every program that isn't empty is a Truth Machine.

An empty program raises a syntax error:

Syntax error

Dialects created in 2024

Type 7

There is only one valid program: , which is a Truth Machine.

Other programs delete themselves.

Type 8

Any program that is not is a Truth Machine.

raises a syntax error:

Syntax error

Type 9

There are only three valid programs:

  1. , which is a Truth Machine.
  2. ©, which is a Truth Machine.
  3. ®, which is a Truth Machine.

Other programs raise a syntax error:

Syntax error

Type 10

There is only one valid program: , which is a Truth Machine.

Other programs do nothing.

Type 11

Every program does nothing.

This is the same as APLWSI.

Dialects created in 2025

Type 12

There is only one valid program: , which is a Truth Machine.

Other programs are A+B problems.

Type 13

There is only one valid program: , which is a Truth Machine.

Other programs output "滚!".

Type 14

Any program that is not is a Truth Machine.

does nothing.

Type 15

All program except works like in Python.

is Truth-machine.

Type 16

There is only one valid program: , which is a Truth Machine.

Other program does Cat program.

Type 17

There is only one valid program: , which is a Truth Machine.

Other program executes Terminal on your OS(If it is in Windows, then generate a random integer, if it is even then open cmd, otherwise powershell).

Type 18

There is only one valid program: , which is a Truth Machine.

Other program outputs itself.

Type 19

There is only one valid program: , which is a Truth Machine.

Other program has 50% chance to output "滚!" or "不是,哥们?"

Type 20

There is only three valid program:

  1. , which is a Truth Machine.
  2. ©, which is a cat program.
  3. ®, which is a reverse cat program.

Other program output this:

六王毕,四海一,蜀山兀,阿房出。覆压三百余里,隔离天日。骊山北构而西折,直走咸阳。二川溶溶,流入宫墙。五步一楼,十步一阁;廊腰缦回,檐牙高啄;各抱地势,钩心斗角。盘盘焉,囷囷焉,蜂房水涡,矗不知其几千万落。长桥卧波,未云何龙?复道行空,不霁何虹?高低冥迷,不知西东。歌台暖响,春光融融;舞殿冷袖,风雨凄凄。一日之内,一宫之间,而气候不齐。

妃嫔媵嫱,王子皇孙,辞楼下殿,辇来于秦。朝歌夜弦,为秦宫人。明星荧荧,开妆镜也;绿云扰扰,梳晓鬟也;渭流涨腻,弃脂水也;烟斜雾横,焚椒兰也。雷霆乍惊,宫车过也;辘辘远听,杳不知其所之也。一肌一容,尽态极妍,缦立远视,而望幸焉。有不见者三十六年。燕赵之收藏,韩魏之经营,齐楚之精英,几世几年,剽掠其人,倚叠如山。一旦不能有,输来其间。鼎铛玉石,金块珠砾,弃掷逦迤,秦人视之,亦不甚惜。

嗟乎!一人之心,千万人之心也。秦爱纷奢,人亦念其家。奈何取之尽锱铢,用之如泥沙?使负栋之柱,多于南亩之农夫;架梁之椽,多于机上之工女;钉头磷磷,多于在庾之粟粒;瓦缝参差,多于周身之帛缕;直栏横槛,多于九土之城郭;管弦呕哑,多于市人之言语。使天下之人,不敢言而敢怒。独夫之心,日益骄固。戍卒叫,函谷举,楚人一炬,可怜焦土!

呜呼!灭六国者六国也,非秦也;族秦者秦也,非天下也。嗟乎!使六国各爱其人,则足以拒秦;使秦复爱六国之人,则递三世可至万世而为君,谁得而族灭也?秦人不暇自哀,而后人哀之;后人哀之而不鉴之,亦使后人而复哀后人也。

Type 21

There is only one valid program: , which is a Truth Machine.

Other programs raise a syntax error:

Nope.

Type 22

Every program outputs "Nope."

Nope.: 亻尔女子

Type 23

There is only one valid program: , which is a Truth Machine.

Other program calculates 5÷0.

Type 24

There is only one valid program: , which is a Truth Machine.

Other program prints "Hello, world!".

Type 25

There are only four valid programs:

  1. , which is a Truth Machine.
  2. ©, which is a Cat program.
  3. ®, which is a Reversed cat program.
  4. , which is a Guessing number game.

Other programs raise a syntax error:

Nope.

Example Programs

Type 1

Truth Machine

Quine

Syntax error

Type 2

Cat Program

©

Reverse Cat Program

®

Truth Machine

Quine

Syntax error

Type 3

Truth Machine


The Truth Machine for type 3 is shorter than Truth Machine in any other language.

Quine

Syntax error

Type 4

Quine

Syntax error

Self interpreter

No matter what this is.

Self interpreter 2

Syntax error

Type 5

Truth Machine


Alternative
Hello World!

Type 6

Truth Machine

Truth Machine

Type 7

Truth Machine

Delete itself

Any text can go here

Type 8

Truth Machine

Any text can go here (really?)

Type 9

Truth Machine

©
®

Are all truth machines.

Quine

Syntax error

Type 10

Truth Machine

Interpreter for type 11/APLWSI/Nil

Anything can go here

Type 11

Self interpreter/Nil/APLWSI interpreter

Anything can go here

Type 12

Truth Machine

A+B

a plus b

Type 13

Truth Machine

Quine

滚!

Type 14

Truth Machine

Truth Machine

™ type 11/Nil/APLWSI interpreter

Interpreters

The following interpreters are in Python.

Type 1

import sys
code=sys.stdin.read()
if code=='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    print('Syntax error')

Type 2

import sys
code=sys.stdin.read()
if code=='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
elif code=='©':
    print(sys.stdin.read())
elif code=='®':
    a=input()
    l=list(a)
    l.reverse()
    print(''.join(l))
else:
    print('Syntax error')

Type 3

import sys
code=sys.stdin.read()
if code=='':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    print('Syntax error')

Type 4

print('Syntax error')

Type 5

import sys
code=sys.stdin.read()
if True:
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    print('Syntax error') # Just kidding!

Type 6

import sys
code=sys.stdin.read()
if code:
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    print('Syntax error')

Type 7

import sys,os
code=sys.stdin.read()
if code=='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    os.remove(sys.argv[0])

Type 8

import sys
code=sys.stdin.read()
if code!='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    print('Syntax error')

Type 9

import sys
code=sys.stdin.read()
if code in list('™©®'):
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)

else:
    print('Syntax error')

Type 10

import sys
code=sys.stdin.read()
if code=='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)

Type 11

N

Type 12

import sys
code=sys.stdin.read()
if code in list('™'):
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)

else:
    a=int(input())
    b=int(input())
    print(a+b)

Type 13

import sys
code=sys.stdin.read()
if code in list('™'):
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)

else:
    print("滚!")

Type 14

import sys
code=sys.stdin.read()
if code!='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)

Type 15

import sys
code=sys.stdin.read()
if code=='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    exec(code)

Type 16

import sys
code=sys.stdin.read()
if code=='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    print(sys.stdin.read())

Type 17

import sys
from platform import system
from random import randint
from os import system as s
code=sys.stdin.read()
if code=='™':
    x=input()
    if x=='0':
        print(0)
    else:
        while 1:
            print(1)
else:
    if system()=='Windows':
        if randint(0,1):
            s('start powershell')
        else:
            s('start')
    else:
        s('/usr/bin/bash')