Silly Emplosions

From Esolang
Jump to navigation Jump to search

This is a new idea of a program language. It is just a idea so it isn't really invented yet. This is a list of the ideas:

  • If you leave a variable for too long without assigning a value, the variable will lose its value.
  • You can return from a function more than once to return multiple values from the function at the same time.
  • Sometimes it skips commands and doesn't do it right the first time so you have to repeat it sometimes.
  • If you try to read a value of a variable that isn't set yet, it will continue until a value is assigned, then it will go back and try again what it was trying to do before.
  • A return statement will not always know where to return to.
  • You can write a program by dragging a stylus across the screen, and if you don't like it, you can try again.
  • The source-code needs to have a .EXE extension to confuse people.
    • Better version of the idea before: the source-codes need to have the same extensions as the executables, to confuse people.
    • Another better version of the idea before: the source-codes need to have the same file names as the executables, and they should be overwritten by the executable files when compiled, to confuse people.
  • You have to use floating-point calculations for dealing with strings.
  • Large arrays are stored on VHS tapes.
  • The program has to compile itself after it has been compiled with the compiler.
    • Haha, actually, Java already does that :D
  • The program source-code includes control characters like BEL and stuff as parts of variable names.
  • Every variable should be immediately deallocated once the data stored in said variable has been read once.
  • ] closes an (, } closes [ and ) closes {. Strings start with ' and end with ", or they can start with " and end with ' for the interpreter to automatically convert them to leet.
  • Any "if" statement requires at least 14,000 subconditions.
  • Array indices start at 0.5 (as a compromise between starting with 0 and starting with 1)
  • Programs must be saved as .rtf and written in Wingdings. Every name/keyword is exactly 1 character. If you need more variables, make a namespace. (Anything not in Wingdings is considered a comment.)
    • Despite this, the interpreter/compiler only runs on OSes that don't even have Wingdings. So you need two computers to be able to write and run a program.