CopyPasta Language

From Esolang
Jump to navigation Jump to search

CopyPasta Language is an esoteric programming language created by User:Rerednaw in 2018. This programming language refers to the CopyPasta meme. The purpose of this programming language is to facilitate the practice of CopyPasta.

Commands

There's multiple versions of CopyPasta Language.

Ctrl+C version

Copy : Copy the text of the following line to the clipboard
CopyFile : Copy the text of the file cited in the following line to the clipboard or in the case where the next line is TheFuckingCode copys the code to the clipboard
Duplicate : Duplicate the text in the clipboard as many times as the following line specifies
Pasta! : Display the clipboard and stop the program
Copying doesn't reset the clipboard.

Ctrl+V version

All of the commands from the Ctrl+C version works also on this version.
CoolStoryBro : Takes two numbers of the following line separated by a space. Deletes the characters between the two numbers.
Creepy : Takes three numbers of the following line separated by a space. Adds to the ASCII of a character the value of the third number, then calcules this result modulo 256, and retransforms it as an ASCII character. Does that for every character in the range of the first two numbers.
IfAndOnlyIfAndOnlyIfAndOnlyIf : Takes two numbers of the following line separated by a space. If the two characters exist and if the two characters selected are equal, go to the next command, or else ignore the next command.
BUTI'MNOTDONEYET : Go to the line specified in the next line.

Notes

For all of these commands, the first character or the first line is represented by the number 1.
Ranges are always inclusive.

Examples

Hello, World!

Copy
Hello, World!
Pasta!

Display 1000 times a sentence

Copy
Hi !
Duplicate
999
Pasta!

View a text file

CopyFile
loremipsum.txt
Pasta!

Quine

CopyFile
TheFuckingCode
Pasta!

Mini Fibonacci sequence

Copy
---- 0 1 1 0 0 0 0 0
IfAndOnlyIfAndOnlyIfAndOnlyIf
1 5
BUTI'MNOTDONEYET
29
IfAndOnlyIfAndOnlyIfAndOnlyIf
10 12
BUTI'MNOTDONEYET
15
Creepy
12 12 1
BUTI'MNOTDONEYET
7
IfAndOnlyIfAndOnlyIfAndOnlyIf
6 8
BUTI'MNOTDONEYET
25
Creepy
12 12 1
Creepy
8 8 255
BUTI'MNOTDONEYET
15
CoolStoryBro
1 2
BUTI'MNOTDONEYET
3
CoolStoryBro
1 7
CoolStoryBro
4 9
Pasta!

Prints the next two numbers in the sequence (2 and 3). Some variables must be changed to print the next numbers.

Interpreter

Ruby interpreter by User:Conor O'Brien (Ctrl+C version)

Other information

Files containing CopyPasta language code must end with .copypasta