TrumpCL — A Proposed Computer Language Inspired by the Trump Presidency
Draft version 1.0
Computer languages are based on logic and determinism. While these foundations are ideal for developing software to address real world problems, they are inadequate to deal with a world in which alternate realities drive policy. This new world calls for a new kind of computer program.
We are greatly impressed and appreciative of the efforts of the TrumpScript team (http://samshadwell.me/TrumpScript/) who have built and implemented one such language. That said, we feel that there is ample room, if not desperate need, for additional languages, especially those that can be created without proper design or planning.
This document describes some of the requirements and principles of Trump — the computer language, or TrumpCL for short.
Data Types and Primitives
TrumpCL brings two new innovations in the area of data types.
The alt-Boolean data type is a fundamental data type in the language designed to deal with the need to quickly change the underlying logic of reality as needed. Unlike Boolean expressions that are defined by truth tables, the Alt-Boolean data type operations are defined by untruth tables.
The primary value of alt-Boolean types is their ability to negate and override existing logic in an application that is implemented by standard Boolean variables.
Consider a climate model function that returns true if global warming exists.
Boolean C = isGlobalWarmingReal();
You can then define an alt-Boolean C and set it to false at any point in the program
Alt-Boolean C = false;
The language then will recursively backtrack through the isGlobalWarmingReal function, modifying logic, algorithms and even raw data as needed to produce the false result in variable C, ensuring that in all future executions of the application, Boolean C takes on the value of the corresponding Alt-Boolean variable.
Support for Huge data types
All numeric data types in TrumpCL support an attribute of HUGE. Huge values allow computational results to accurately reflect desired multiples of calculated values.
Let’s say double O represents the number of attendees at president Obama’s first inauguration and double T represents the number of attendees at president Trump’s inauguration. In existing computer programs, the relationship between these would be approximately:
T = O/3
However, by applying the huge attribute to T, the comparison can be avoided and an appropriately huge number can result
@huge T = O/3
T will be equal to 1.5 million (or more) regardless of the value of O.
Most computer languages are designed to accurately read and process data, typically from a database. This poses unique challenges to TrumpCL, in that accurate data can result in accurate results which may not match the desired results. It can be very difficult with traditional software to understand how to modify raw data to produce a given set of results.
Fortunately, TrumpCL supports the @fake attribute on all database record types. Applying @fake to a data set allows instant exclusion of the data set from all further calculations. @fake can be applied at any level from individual records to database tables, to entire databases, companies or countries. This ability to apply @fake at any scope makes it one of the most powerful tools for producing desired results. Note however, that at this time localization support is not complete and thus @fake cannot be applied to any data in Russian or sourced from Russian IP addresses.
TrumpCL offers native support for multi-threading that is better than any other language.
All threads are controlled by the executive thread. Any results produced by a thread are modified by the executive thread to the desired results. This helps ensure that no individual thread will conflict with the executive thread or any other thread.
On occasion, a thread may produce results that, while accurate in other computer languages would be considered undesirable in TrumpCL (as in, not a result that was expected or desired when the thread was launched). In this event the executive will arbitrarily shut down the thread (fire the thread) or attempt to block any pipes that are being used by the thread to communicate. In an extreme conflict, the thread may leak accurate data — this is called a “tweet”. The executive will typically respond with a contradictory “tweet” that negates that from the first thread, labeling it as “Sad!”.
At this time there is a known flaw in the design that can cause certain threads to be aborted by external applications (known as “judicials”) that judge the operation of a TrumpCL application to be in conflict with operating system requirements or configuration settings. However there is little doubt this can be resolved in time.
Most development environments comprise of code editors, compilers and various testing and error checking tools. TrumpCL has the unique ability to accept code or existing applications in any input language and produce desired results. Both the input applications and the desired output are defined by .EO files that contain the executive orders that drive the logic.
Unlike other languages where syntax coloring varies based on the nature of the language element, all code in TrumpCL is colored gold.
Unit Tests and Error Checking
Unit testing and error checking is never required in TrumpCL, as the results of the output are always either the desired results, or can be blamed on the input code that was written previously by other developers in other languages.
There is no current implementation of TrumpCL, however we are confident that someone will issue an executive order that will spontaneously cause it to come into being.