Skip to content

laurenlindsey1/realhotgirlscript

Repository files navigation

Real Hot Girl Script

Introduction

Well, hello there 😈. This is RealHotGirlScript, a sexy, statically-typed, object-oriented, and esoteric programming language that truly puts the F-U in fun. RealHotGirlScript is meant to make you smile, laugh, and have a sense of confidence and joy as you create through computer programming. Its witty and hilarious syntax is inspired by some of the sayings that members of the team have each used while programming throughout the years as well as references to pop culture icons such as Megan thee Stallion, Rickey Thompson, and Trevor Wallace.

RealHotGirlScript is brought to you by KeAnna Anglin, Lauren Lindsey, Shanaya Nagendran, and Sage Strieker.

Our langauge website can be found at https://laurenlindsey1.github.io/realhotgirlscript/.

Features

  • keywords for variables ending with z
  • data structures similar to arrays, sets, and dictionaries
  • object oriented programming
  • switch statements
  • .hotgirl file extension
  • static typing

Types

JavaScript RealHotGirlScript
string wordz
number digitz (for integer values with paramterized length) or longz (for integers with unlimited length)
const stayz
bool boolz

Variable Declaration and Assignment

JavaScript RealHotGirlScript
let x = 5; digitz x: 5!!!
let y = “hello!”; wordz y: “hello!”!!!
let z = 6.9; longz z: 6.9!!!
let t = true; boolz t: trueShit!!!
let f = false; boolz f: fraudulentAssBitch!!!
const name = “real hot girl script”; stayz name: “real hot girl script”!!!
dictz <wordz,wordz> stateCapitals: $ California ~ "Sacramento", Nevada ~ "Carson City", Oregon ~ "Salem"#!!!
arrayz <digitz> numbers: [1, 2, 3, 4]!!!
setz <wordz> names: $“Shanaya”, “Keanna”, “Sage”, “Lauren”#!!!

Built In Functions

JavaScript RealHotGirlScript
console.log(“Hello World!”); supLilBitch “Hello World!”!!!

Function Declaration

weOutHereTryinToFunction leftOnRead helloWorld()$
  supLilBitch "Hello World"!!!
#

weOutHereTryinToFunction leftOnRead helloWorld(stringz place)$
  supLilBitch "Hello " + place!!!
#

weOutHereTryinToFunction stringz helloWorld(stringz place)$
  andThemsTheFacts "Hello " + place!!!
#

Comments

Single line comments are marked with oop and multiline comments are marked with :/ at the beginning and /: at the end.

oop this is a single line comment

:/
this is a multiline comment
/:

Arithmetic

  • sum = 2 + 4
  • difference = 4 - 2
  • multiplication = 2 * 4
  • integer division = 4 // 2
  • float division = 4 / 2
  • exponents = 2 ^ 4
  • modulus = 4 % 2

A guide to our keywords

RealHotGirlScript Traditional
ATTENTIONATTENTION🗣 class
weOutHereTryinToFunction function
andThemsTheFacts return
keepItPushin continue
spreadThatThang🍯 spread
iHaveSomethingToSay🙅🏾‍♀️ if
becauseWhyyy😼 else if
BECAUSEIMONFUCKINGVACATION👅 else
shutUpGirlfriend😈 switch
andWhatAboutIt👉 case
andLetMeDoMe🤑 default
leftOnRead void
openHerUp🍑 for
sheWaits😩 async
supLilBitch print
hotlineBling💎 await
GTFO💩 break

Types of Static Semantic Errors

  • Type mismatch
  • Assignment to constant variable
  • Continue can only be used in a loop
  • Can only call async functions with await
  • Expected a number of args in call, got a different number
  • Incorrect number of arguments
  • Has no member expression
  • Break outside of loop or switch
  • Not inside a function
  • Not subscriptable
  • Not callable
  • Not a function
  • Not a dictionary type
  • Not a string
  • Not a dictionary
  • Not an integer
  • Not a boolean
  • Not an integer or string
  • Not an integer or long

Control Flow

If Statements

iHaveSomethingToSay🙅🏾‍♀️ x == 0 $
  andThemsTheFacts trueShit!!!
 # becauseWhyyy😼 $
  andThemsTheFacts fraudulentAssBitch!!!
 #

While Loops

wylin🤪 i < 10  $
  text : text + "The number is " + i!!!
  i++!!!
#

For Loops

openHerUp🍑 digitz i: 0 🔥 i < 5 🔥 i++ $
  supLilBitch "The number is " + i!!!
#

For Loops with Spread

openHerUp🍑 [0 spreadThatThang🍯 10] $
  supLilBitch "We love spreads"!!!
#

Example Programs

Hello World

RealHotGirlScript

suplilbitch “Hello World!”!!!

JavaScript

console.log("Hello World!");

Adding Two Numbers

RealHotGirlScript

weOutHereTryinToFunction digitz add (digitz a, digitz b) $
  andThemsTheFacts a + b!!!
#

JavaScript

function add (a, b) {
  return a + b;
}

Even or Odd

RealHotGirlScript

weOutHereTryinToFunction boolz evenOrOdd(digitz x)$
     andThemsTheFacts x % 2 == 0!!!
#

JavaScript

function evenOrOdd(x) {
    return x % 2 == 0;
}

Switch Statement

RealHotGirlScript

digitz number: 0!!!
wordz day: ""!!!
shutUpGirlfriend😈 number $
  andWhatAboutIt👉 0 $
      day : "Sunday"!!!
      GTFO💩!!!
  #
  andWhatAboutIt👉 6  $
      day : "Saturday"!!!
      GTFO💩!!!
  #
  andLetMeDoMe🤑 $
      day : "Weekday"!!!
  #
#

supLilBitch "today is a " + day!!!

JavaScript

let number = 0;
let day;
switch (number) {
  case 0:
    day = "Sunday";
    break;
  case 6:
    day = "Saturday";
    break;
  default:
    day = "Weekday";
}

console.log(“today is a ” + day);

Largest Number of Three

RealHotGirlScript

weOutHereTryinToFunction digitz largestNum(digitz x,  digitz y,  digitz z)$
    iHaveSomethingToSay🙅🏾‍♀️ x >= y && x >= z $
       andThemsTheFacts x!!!
    # becauseWhyyy😼 y >= x && y >= z $
       andThemsTheFacts y!!!
    # BECAUSEIMONFUCKINGVACATION👅 $
        andThemsTheFacts z!!!
    #
#

JavaScript

function largestNum(x, y, z) {
    if (x >= y && x >= z) {
        return x;
    } else if (y >= x && y >= z) {
        return y;
    } else {
        return z;
    }
}

Optimizations

  • Arrays
  • Assignments
  • Binary and Unary Expressions
  • Function Calls
  • Function Declarations
  • If/Else Statements
  • Print Statements
  • Sets
  • Spread For Loops
  • While Loops
  • Function Bodies

About

A programming language for anyone who identifies as a HotGirl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published