We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
Cirxle
Cirxle is a grid-based esolang created in Scratch! There are 17 symbols but they can be split into just the greens, decoration, directions, splitters, text/symbols, logic gates, delay, and the flip flop heart can be used to make various latches or flip flops. Some examples
The Greens
The greens are signal carriers; they move around the grid and change certain variables depending on the other blocks. They always move one space per tick in a direction (up, down, left, right) defined by a direction variable, display a certain color (Red, Green, Blue) defined by a color variable, and hold a string value depending on a message variable. If they don't hit a block on a tick, they are deleted.
Decoration
I/O, wires, and color displays! I/O blocks are literally just an "I" or an "O", used to tell the user where the inputs and outputs are. Wares/wires are lines that act as basic paths. The color display changes the green's color variable to Red or Blue. All of these decorative blocks act as valid paths so greens are not deleted.
Directions
The arrows: ^, >, <, and v. When a green lands on one, it checks which one:
- ^ points the signal up.
- > points the signal right.
- < points the signal left.
- v points the signal down.
Splitters
Parallel lines:
- When a green lands on a = block, it spawns a clone facing left while the original faces right, splitting the signal horizontally.
- When a green lands on a || block, it spawns a clone facing down while the original faces up, splitting the signal vertically.
Text and Symbols
The text, symbols, and brackets:
- If a green lands on a [ bracket, it begins scanning for letter, symbol, or number blocks as it moves, appending their values to its message variable.
- When it lands on a ] bracket, it stops scanning.
Logic Gates
The AND gate (semicolon) and XOR gate (unitizer):
- AND gates (;) require >1 greens at the same time to let all of them pass through, otherwise any lone green on it is deleted.
- XOR gates (i) require exactly 1 green to be on it to let it pass, otherwise multiple greens on it are deleted.
- High Constant: You can make a high constant by putting an arrow into a splitter going into it, and placing a green on both the splitter and the arrow.
- NOT Gate: You can construct a NOT gate by feeding a high constant and your signal into an XOR gate.
Delay
- ./! delays the greens by reversing them 1 space backward.
- .`/!` delays the greens by reversing them 2 spaces backward.
Flip Flop Heart
The .,/!, flip-flop heart toggles states:
- If multiple greens hit it simultaneously, it changes state between ., and !,.
- If a single green lands on it while it is in the ., state, it is deleted. Otherwise, it passes through.
Some Examples
go to cirxle on scratch and look at the instructions for how to load these!
Please copy the entire thing including the name, the `, and all.
SWITCHES````````0507160116071601050815011408010115080501160806010309160204091501050914011209020113091501140911011509140116091001170915011809040103100820041099010510060112101602141099011510060118101602041199010511030111110815121108141411990115110301171108151811080619110806021308200313081504130807051308070613081207130805101308101113081112130838131308061413081215130809161308161713083818130806191308122013081521130816
GREEN LZR BLASTR100699011106010110079901110706010808990109080201100815011108140108099901090903011009150111090501120911011309081614090815150908231609084809109901101002011110050112100301