Greentext

From Esolang
Jump to: navigation, search
Greentext
Paradigm(s) imperative
Designed by Jfeng41
Appeared in 2015
Computational class Turing complete
Reference implementation Greentext Github
File extension(s) .gt

Greentext is a work-in-progress esoteric scripting language based off of the trademark greentext format (or "Meme Arrows") of the anonymous forum site 4chan. Every line in the language begins with a >.

A Basic Rundown

Booleans

:^) = true
:^( = false

Printing

>mfw "Hello World!"

Variable assignment

>be foo    # Declare unassigned variable "foo"
>be bar like 1234   # Dclare variable "bar" and assign it the value 1234


If Statements

>implying foo is bar      # if "foo" is equal to "bar"
    >mfw "True"
>Or not            # else
    >mfw "False"
>done implying

("else if" statements have not been implemented as of November 12, 2015)

For Loops

>inb4 i from 10 to 0 by -2     # Variable decrement variable i from 10 to 0 with step counter -2
    >mfw i                     # Prints 10, 8, 6, 4, 2 on separate lines    
>done inb4      

Main Function

>dank memes         # Main function
    #Code n stuff
>tfw                # Return

Function Declaration

>wewlad foobar (n,m)          # Declare function
    >be barfoo like n + m     # Define variable "barfoo"
    >tfw barfoo               # Return barfoo

Function Usage

>wew foobar(2,3)    # wew is an internal variable that contains the value returned by the last function used.
>be baw like wew    # Assign the value in "wew" to "baw"
>mfw baw            # 5

Examples

Fizzbuzz

>dank memes
>inb4 i from 0 to 100 by 1
  >implying i % 15 is 0
    >mfw "fizzbuzz", i
  >or not
    >implying i % 3 is 0
      >mfw "fizz", i
    >done implying
    >implying i % 5 is 0
      >mfw "buzz", i
    >done implying
  >done implying
>done inb4
>tfw

Fibonacci sequence

>wewlad factorial(n)
  >be result like 1
  >implying n > 1
    >be m like n - 1
    >wew factorial(m)
    >be result like wew
  >done implying
  >tfw n * r

>dank memes
  >be n like 10
  >wew factorial(n)
  >mfw wew                  # Outputs n!
  >tfw[[Category:2015]