Flow

From Esolang
Jump to navigation Jump to search

Intro

Flow is an esolang created by User:helpeesl on 5/10/2025

Commands

The commands can be in many forms those being:

  • Two input forwards
  • Two input backwards
  • Two input neutral
  • One input forwards
  • One input backwards
  • One input neutral
  • Refrences
  • Others


Two inputs mean that those commands have a left and right input
One input mean that those commands have only a left input
Refrences mean that those commands point to something and surround an input

Forwards means that the result of the command is going out of the leftmost input
Backwards means that the result of the command is going into the leftmost input
Neutral means that it goes both ways

Commands also:

  • can’t be used as a representation of a, b, or c except for refrences

which can’t be on their own

  • don’t share inputs

The Two input forwards Commands

The commands that are in the Two inputs forwards group are:

a>b This creates a path from a to b
a]b If there’s a path from a to b, then this removes that path, otherwise 
this creates a path from a to b
a/b This removes a path from a to b if there is a path from a to b
a?b If there is a path from a to b set the imaginary bool to true, otherwise set it to false
a}b This clears a and sets b to b+a if there is a path from a to b
a)b This sets b to how many paths are from a if there is a path from a to b

The Two input backwards Commands

The commands that are in the Two inputs backwards group are:

a<b This creates a path from b to a 
a[b If there is a path from b to a, then this removes that path, otherwise 
this creates a path from b to a 
a\b This removes a path from b to a if there is a path from b to a
a.b If there is a path from b to a set the imaginary bool to true, otherwise set it to false
a{b This clears b and sets a to a+b if there is a path from b to a
a(b This sets a to how many paths are to b if there is a path from b to a

The Two input neutral Commands

The command that are in the Two input neutral group are:

a_b This creates a path from a to b, and b to a
a^b If there is a path from a to b, b to a, or both, then this removes that/those paths,
otherwise it creates a path from a to b, b to a, or both
a|b This removes a path from a to b if there is any and b to a if there is any
a~b This swaps a and b if there is a path from a to b and b to a
a=b This sets a and b to a+b if the is a path from a to b and b to a
a-b This sets a and b to a-b if the is a path from a to b and b to a

The One input Forwards Commands

The commands that are in the One input forwards group are:

a>> This creates a path from a to every other cell
a]] If any cells have a path from a, remove that path, otherwise create a path 
from a to that cell
a// This deletes all paths from a
a}} This splits a into x equal pieces where x is how many paths are from a and adds
those pieces to each end of a path from a and clears a

The One input Backwards Commands

The commands that are in the One input backwards group are:

a<< This creates a path from every other cell to a
a[[ If any cells have a path to a, remove that path, otherwise create a path 
to a from that cell
a\\ This deletes all paths to a
a{{ This takes all cells with a path from themselves to a and adds them to a and clears them

The One input Neutral Commands

The commands that are in the One input neutral commands are:

a__ This command adds a path from a to every other cell and a path from every other cell to a
a^^ If any cells have a path from a, to a, or both, then this removes that/those paths,
otherwise it creates a path from that cell from a, to a, or both
a|| This deletes all paths from or to a
a++ This creates a cell called a if it doesn’t already exist
a?? This removes the cell called a if it exists and creates a cell called a if it doesn’t 
a!! This removes the cell called a if it exists
a-- This negates a
a’’ This sets a to e^a
a,, This sets a to a log e
a%% This floors a

The Refrence Commands

The commands that are in the Refrence commands are:

“a” This interprets a to be a string using UTC-8
‘a’ This interprets a to be a Boolean 
#a# This interprets a to be a number
?a? This inputs into a
$a$ This outputs a as what it’s interpreted as
(a) This replaces a in the command that this is a part of instead gets the cell at a instead
:a: This sets a to the imaginary bool

The other Commands

The commands that are not in any category are:

a@b This checks for if a is true, if so then this goes to the
abs(flr(num((b)))th command in code
a+b this sets a to a+b
a*b this sets a to a*b
a!x This sets a to x where x is a non-cell string, bool, or number
surrounded by newlines if it’s a string

Programs

Cat

a++b++c++#b#b!1c!4?“a”?’b’$a$b@c