LIGHTED

From Esolang
Jump to navigation Jump to search

LIGHTED is a language based on light by User:Hammy

Memory

There is an infinity by infinity box. A cursor is in the middle. Each cell in the box can store from 00 to ff in hexadecimal.

Commands

^v<> Moves the cursor in those directions respectively.

1 Sets the accumulator to 1

l Makes a light at the current position of the cursor with a brightness of the accumulator.

But what is a light, you may ask?

A light makes lights with smaller brightness around it.

Here's what a light with brightness 3 would look like (it's the one called 03):

00 00 01 00 00
00 02 02 02 00
01 02 03 02 01
00 02 02 02 00
00 00 01 00 00

Lights cannot be "lit". Lights hold a static value.

. Pushes the current value of the cursor to the stack.

, Pushes the accumulator to the stack.

! Pops the top of the stack and sets the accumulator to it.

? Basically !l1

x Deletes the light at the position.

/ Output the top of the stack as ASCII.

+ Increments the accumulator.

£ Output the cursor value as ASCII.

& Output the accumulator as ASCII.

\$% Input versions of /£&

[] While the current cursor value isn't 0...

() While the top of the stack isn't 0...

{} While the accumulator isn't 1...

: Duplicate the top of stack

a Adds the top two values of the stack

* Multiply

-d Opposite of a*

~ NOT the top of the stack (bitwise thing)

A AND

| OR

_ XOR

m Modulo

@ Numeric version of £

Examples

Cat

$[£$]

Truth machine

%+?>[@]@