Over-Objective Programming Language (Opal)

From Esolang
Jump to navigation Jump to search
Not to be confused with Opal.

The OverObjective Programming Language (called OverObjective or pronounced Opal), is a golfable language with (overly) object-oriented ideas.

OverObjective programs are simple in design, and each instruction can be simplified into the following:

  • import x
  • from x import y
  • ClassName variableName

Notice how there is no equality, the joke about the language is the overwhelming amount of class names, although it is not a joke language.

import Parser

imports the code, and

import VariableOperations

parses variables, so these are required to actually do something.

Outputting input

from IOMethod import InputRequest, OutputRequestFront
import VariableOperations
from String import #
import Parser
InputRequest input
prev OutputRequestFront output

Hex dump:

e0 78

Compiling

The code is compiled into a hex dump, and is very compact. The number of imports takes up the first bytes. Then, the imports are compacted (each import has a unique ID) and is converted into a big integer with unique values. Then, the code is added, with the imports given previously each given their own ID, compacting the code and making it golfable.