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.
Heat foreign
Heat foreign is an esoteric programming language by user:raiseafloppafan7741 in 2026. It is based on how YouTube's auto-generated subtitles tends to hallucinate "heat", "foreign", or even "[Applause]", and the name is a double reference.
Overview
The program is a binary tree stored in linear form via breadth-first search. For example, heat foreign heat is:
heat
/ \
foreign heat
Another example, heat foreign [Music] heat heat is:
heat
/ \
foreign [Music]
/ \
heat heat
When the program is executed, the root node is selected. The selected node's instruction is then executed, then its left branch is executed, then its right branch is executed. When the program has no more nodes to execute, it halts.
Non-operations in the source are ignored.
Operations
[Music] is a no-op.
heat clones its parent node's instruction and adds it as a child of its leftmost branch, or if it has no parent node (it is the root) then it clones itself instead. For example:
[Music] [Music]
/ --> /
heat heat
/
[Music]
heat --> heat
/
heat
heat heat
/ /
foreign --> foreign
/ \ / \
heat heat heat heat
/
heat
foreign replaces its right branch with its left branch.
thank you copies its two branches to the next node in line through the breadth-first search order, or does nothing if it is the root. For example:
heat
/ \
thank you [Music]
/ \
foreign heat
BFS: heat thank you [Music] foreign heat
~~~~~~~
|
|
v
heat
/ \
thank you [Music]
/ \ / \
foreign heat foreign heat
If there is no "next node" (this node is the last node in the tree) then it does this to the root instead.
ah copies the opposite branch of its parent node to the opposite branch of its grandparent node. If there is no parent or grandparent node, nothing happens. If the opposite branch of its parent node is empty, then it deletes the opposite branch of its grandparent node.
[Music]
/ \
[Music] [Music]
/ \
ah heat
|
|
v
[Music]
/ \
[Music] heat
/ \
ah heat
so copies the operation of its sibling branch (or its parent if it has no sibling, or itself if it is the root) to its two branches.
oh copies the operation of its grandparent to all of its grandchildren. If it has no grandparent, then it copies the operation of its parent. If it is the root, then it copies itself. If it has no grandchildren, it makes them. If it has no children, it makes them with the copied operation and then proceeds with making the grandchildren.
[Laughter] prunes itself from the program tree.
[Applause] prunes its opposite sibling branch from the program tree, or does nothing if it has none.
Examples
Do nothing
[Music]
Wow. Who could've seen that coming?
Looping counter
In here, the program itself is considered to be the counter.
heat
Below are the first few generations of the execution of this program. The node with parentheses around it is the one being executed for that generation while the node in curly braces is the one being copied.
Gen 0 {(heat)}
Gen 1 {heat}
/
(heat)
Gen 2 heat
/
{heat}
/
(heat)
Gen 3 heat
/
heat
/
{heat}
/
(heat)