Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/samshadwell/TrumpScript

Make Python great again
https://github.com/samshadwell/TrumpScript

Last synced: about 1 month ago
JSON representation

Make Python great again

Awesome Lists containing this project

README

        

# Final Update
It's been a while since we made any updates to TrumpScript, and we just wanted to make it official that our development on this project has stopped and that we will no longer be accepting issues or pull requests on this repo.

Frankly, this joke isn't funny anymore. Rather than spend your time beating the "Trump is ridiculous" meme to death, please actually do something instead and donate to:
* [American Civil Liberties Union](https://www.aclu.org)
* [National Resources Defense Council](https://www.nrdc.org)
* [Planned Parenthood](https://www.plannedparenthood.org)

# TrumpScript
Make Python great again

## Mission
TrumpScript is a language based upon the illustrious Donald Trump. As the undeniably best US President, we found that the current field of programming languages does not include any that Trump's glorious golden combover would approve of.

TrumpScript is our solution to this. It's the programming language Trump would approve of. Just like he is going to make America great again, we hope our efforts will make programming great again.

## Installation
To use, download the .zip and extract the contents or clone the repository by typing

```bash
git clone https://github.com/samshadwell/TrumpScript.git
```

Add the TrumpScript root directory to your system `PATH` using one of the two following techniques

1. Temporary: Write `export PATH=$PATH:/path/to/TrumpScript/bin` to terminal.
2. Permanent: Append `export PATH=$PATH:/path/to/TrumpScript/bin` to the end of your `~/.bashrc` file.

## Usage
* Write a TrumpScript file following the syntax we've specified (good luck).
* Execute `TRUMP /path/to/trumpscript/file.tr`
* Enjoy the wonderful world of TrumpScript!

## Features
Our language includes several convenient features, perfect for any aspiring Presidential candidate including:
* No floating point numbers, only integers. America never does anything halfway.
* All numbers must be strictly greater than 1 million. The small stuff is inconsequential to us.
* There are no import statements allowed. All code has to be home-grown and American made.
* Instead of `True` and `False`, we have the keywords `fact` and `lie`.
* Only the most popular English words, Trump's favorite words, and current politician names can be used as variable names.
* Error messages are mostly quotes directly taken from Trump himself.
* All programs must end with `America is great`.
* Our language will automatically correct Forbes' $4.5B to $10B.
* In its raw form, TrumpScript is not compatible with Windows, because Trump isn't the type of guy to believe in PC.
* TrumpScript boycotts OS X and all Apple products until such time as Apple gives cellphone info to authorities regarding radical Islamic terrorist couple from Cal.
* The language is completely case insensitive.
* If the running computer is from China, TrumpScript will not compile. We don't want them stealing our American technological secrets.
* By constructing a wall (providing the --Wall flag), TrumpScript will refuse to run on machines with Mexican locales
* Warns you if you have any Communists masquerading as legitimate "SSL Certificates" from China on your system.
* Won't run in root mode because America doesn't need your help being great. Trump is all we need.
* Easy to type with small hands

If you find you can't get any TrumpScript to run on your computer (probably because we disallow the two most popular operating systems), you can specify the `--shut_up` flag to let the interpreter know you just want your code to run, damn it.

## Grammar
The grammar of the language is fairly convoluted, but here's a taste of the enlightened decisions we've made.

Arithmetic operators:
* `+` and `plus` do addition
* `-` and `minus` do subtraction
* `*` and `times` do multiplication
* `/` and `over` do division
* `<`, `less`, `fewer`, and `smaller` all evaluate to 'less than'
* `>`, `more`, `greater`, and `larger` all evaluate to 'greater than'

Control flow:
* Use `,` and `;` to treat compound statements as a single evaluation, similar to how `()` are used in other languages
* Use `:` and `!` to define the scope of loops and if statements, similar to how `{}` is used in Java
* `if`, `else if`, and `else` do what you think they do
* `not`, `and`, and `or` do what you expect

The exciting parts:
* Strings are denoted by double quotes (`"I love Trump"`)
* The `is` and `are` keywords are used both to check for equality, and for assignment. To use for assignment, say something like `Trump is great` or `Democrats are dumb`. To use to check for equality, do the same but append a `?`. For example, you may need to ask yourself `Trump is "the best"?` (although we all know that would evaluate to `fact` anyway)
* Assignment can also be done via the `make` keyword. E.g. `Make America great` assigns the value of the variable `great` to `America`
* Printing to stdout can be done via `tell` or `say`
* While loops are denoted via `as long as`. And that's the only type of loop you need anyway
* If a 'word' (so anything that could be a variable name) is deemed unnecessary by the compiler, it's simply thrown away. So you can make truly self documenting code, or code that appear to read very very similarly to real speeches by the big man himself. You can find some interesting examples in our `test/test_files` directory

Example:
```
What are we in this country
Hillary speaks nothing but lies
But look at me I came to this election to make guys
believe again
believe in fact
if, all of us real lies the light; : say "VOTE TRUMP" !
but I know we should be free
else the result will be bad: all the work of George
Washington was for nothing
so this election say "Hello World" say "TRUMP FOR PRESIDENT"!
America is great.
```

But most importantly, Trump doesn't like to talk about his failures. So a lot of the time your code will fail, and it will do so silently. Just think of debugging as a fun little game.

## Because We Pretend We're Good People
If this page entertained you, consider making a donation to your favorite charity or political campaign.

I'm a fan of the [Electronic Frontier Foundation](https://www.eff.org), [donate here](https://supporters.eff.org/donate/button)

There's also [Hillary Clinton](https://www.hillaryclinton.com/contribute/donate/), and of course [Donald Trump himself. ](http://www.reactiongifs.com/r/saywha.gif)

## Because We've Sold Out
If you're feeling extra generous, you can also buy us a beer (or two) for more brainstorming because our small loan of a million dollars wasn't enough:

Paypal:
[paypal.me/Shadwell](https://paypal.me/Shadwell)

Bitcoin:
[1AKK76WNmQheCYgZEksB61Jyp1voYxN63v](bitcoin:1AKK76WNmQheCYgZEksB61Jyp1voYxN63v)

## Hey, this repo seems pretty dead...
This project is (probably) not totally dead, and we'll get back to it eventually, but hold tight for now, since we're all busy students full-time.

But by all means, please submit a pull request! We're all just shocked this has blown up so much, and we'd love to get this language implemented "properly!"

## Media
Hey, cool, [we got an article on Inverse written about us!](https://www.inverse.com/article/10448-coders-assimilate-donald-trump-to-a-programming-language)

[Also Motherboard](http://motherboard.vice.com/read/donald-trump-in-a-programming-language)

[And The Verge](http://www.theverge.com/tldr/2016/1/21/10806944/donald-trump-script-python)

[And one on Gizmodo](http://gizmodo.com/theres-a-donald-trump-programming-language-1754458693)

[And TheNextWeb](http://thenextweb.com/us/2016/01/22/trumpscript-is-a-programming-language-that-thinks-and-acts-like-donald/)

[And Mashable](http://mashable.com/2016/01/22/donald-trump-programming-language/#9NAKAP8GPOqt)

[And The Washington Post](https://www.washingtonpost.com/news/powerpost/wp/2016/01/22/decentralizing-control-of-the-internet-meet-trumpscript-a-new-programming-language-are-iphone-sales-in-decline/)

[Geekwire](http://www.geekwire.com/2016/donald-trump-programming-language-seeks-to-make-programming-great-again/)

[UPI](http://www.upi.com/Odd_News/2016/01/22/Group-of-coders-create-script-language-based-on-Donald-Trump/1101453495327/)

[Neowin](http://www.neowin.net/news/neobytes--trumpscript-will-make-python-great-again)

## History
Created for HackRice ([hack.rice.edu](http://hack.rice.edu/)) by:

[Sam Shadwell](http://samshadwell.me), [@samshadwell](https://github.com/samshadwell)

Dan Korn, [@DnlRKorn](https://github.com/DnlRKorn)

Chris Brown, [@CryoBrown](https://github.com/CryoBrown)

Cannon Lewis, [@cannon10100](https://github.com/cannon10100)