~ATH

~ATH (pronounced "till death") is an esoteric programming language primarily geared towards imminently deceased programmers. The language exists on both Earth and Alternia.

John Egbert and Karkat Vantas are both beginner programmers attempting to learn this language. Either all programming languages in the Homestuck universe are similarly impenetrable, or they've made poor choices for beginner programming languages.

In certain object-oriented programming languages, most notably C++, the declarations of destructors—functions called when an object is destroyed—are prefixed with tildes.

In the Hayes command set, a language used in most dialup modems, ATH is also the command to hang up.

Specification
~ATH is an apparently insufferable language to work with. Its logic is composed of nothing but infinite loops, or at best, loops of effectively interminable construction.

Below is the simplest legal ~ATH program, which loops forever and does nothing. Any code deviating from this pattern will not compile. ~ATH(THIS) { // ADDITIONAL GRAVES... } EXECUTE(NULL); THIS.DIE;

The only straightforward way to get anything done with ~ATH is to use the EXECUTE statement. However, EXECUTE statements may only be placed at the end of the eponymous ~ATH loops. The loop's life is bound to that of a specified object, and will not terminate until that object dies. In the above example, the loop is bound to the program's life, so there is no way to break the loop and continue execution. However, ~ATH allows the user to import other objects from a rather large library, such as the author and the universe. Like Sburb, it is capable of interacting with reality. As Karkat notes, this might be useful for posthumously releasing a will or a deadly virus, but not much else. Anything with a short lifespan, such as a rapidly decaying particle or a fruit fly, is conveniently absent from the library.

Without short-lived objects present in the library, the only way to get anything done in a timely manner is to trick ~ATH into doing what you want. How one does so is not clear, as the only example we've seen is HS 3926 (this program) written by Sollux Captor, which defies analysis.

The Mobius Double-Reacharound Virus (check_thii2_2hiit_out.~ATH)
The first ~ATH program that was seen to be executed is the Mobius Double Reacharound Virus (titled "check_thii2_2hiit_out.~ATH"), written by Sollux and sent to Karkat. Karkat compiles and runs the program in a fit of frustration and stupidity.

bifurcate THIS[ THIS, THIS ]; import universe U1; import universe U2; ~ATH(U1) { ~ATH(!U2) { } EXECUTE(~ATH( THIS ){}EXECUTE(NULL)); } EXECUTE(~ATH( THIS ){}EXECUTE(NULL)); [ THIS, THIS ].DIE;

This shows that ~ATH code is apparently color-sensitive, a fact of which Karkat was skeptical.

The program, when run, causes the computer to explode and places a curse on its user, everyone he knows, and everyone he will ever meet. Examining the source code, the program appears to split itself into two: one blue, and one red. (~ATH do we part?) It then imports two instances of the universe. What follows is inscrutible: the indentation and coloration suggests that the ~ATH blocks overlap in a manner that is entirely unlike any normal programming language.



A possible interpretation: The red code waits for the death of the universe (U1), then waits for the blue code to end. The blue code waits for the death of "!U2" (i.e., the opposite of the universe or perhaps, since ~ATH code runs til death, the negation indicates "upon the creation of" or the death of U2's nonexistence), which has no immediately discernible meaning, then waits for the red code to end. The lines are twisted in such a way that the program can't finish executing until the universe both stops and starts existing at the same time, which apparently makes the computer explode. As Karkat puts it, Sollux is "obnoxiously good" at ~ATH.

Karkat and Sollux believe this code is what caused the lusus to die, but Kanaya expresses doubts.

According to Andrew's Formspring, U1 is the trolls' universe and U2 is the kids' universe, and the program in some way represents the relationship between the two. Whether the execution of the virus actually caused certain events within Homestuck or merely foreshadowed them is unknown.

The last part of the code, "[ THIS, THIS ].DIE;" likely refers to the events of Cascade, where both the trolls' and kids' universe are destroyed.

unhackable.~ath
Another working ~ATH program seen so far is "unhackable.~ath", which was copied by Sollux Captor from an obscure server, far beyond the Alternian global network. This file always struck Sollux as quite odd.

It is an extremely simple ~ATH program. Its main loop is tied to the lifespan of the universe. When the universe dies, a mysterious subprogram, represented by an image cyclically displaying pool balls, will be executed. Unfortunately, none of the characters, not even Sollux, have any way of knowing what that subprogram does, as the subprogram runs on a protected part of the server. It is completely unhackable. After seeing Karkat abuse his other program, Sollux deletes the file, though it doesn't do much good, as the program is already running elsewhere. Luckily, whatever harm it will do probably will not occur for many billions of years.

It is later revealed that, when executed, the subprogram summons an indestructible demon into the recently voided universe. This monstrous being has the power to travel through time, and will use this power to go about assembling followers through various epochs, even going so far as to personally establish the parameters for his future summoning, largely through the actions of his officer,. The execution of the code eventually comes to pass in HS 6011 (Intermission 2), after the destruction of the trolls' universe in HS 6009 ([S] Cascade), causing to manifest through the body of.

As can travel through time, he already exists within the universe and therefore the program itself is essentially just a formality - something Sollux could never have known.

SBURB CLIENT.~ATH
In addition, one ~ATH program has been shown so far in the post-Scratch universe, which Roxy Lalonde sent to Jane Crocker as a pirated version of Sburb. However, the program turned out to be merely a series of short, cryptic warnings from Ro?? to Jane, followed by the explosion of Jane's computer in an attempt to assassinate her yet again. She is saved, however, by Gcat. As it was revealed, Ro?? coded this version herself and sent it to Jane because she wasn't ready to play the game yet, and the real client was never sent to her; however, Lil' Seb downloaded the client to Dad's computer to play it, and Jane became some sort of "action girl" instead, just like John did when Dave copied his server disc and connected to Jade.