ZecZec

From Esolang
Jump to navigation Jump to search
The title of this article is not correct because of technical limitations. The correct title is actually >|<>|<.

>|<>|< is a language made by User:BODOKE2801e here's all the things (n is a number, . is a string, and .- is a boolean, also the amount of dots is the ID of the variable/boolean):

Syntax

Here's the syntax:

Outputters
Code Name Description
(.) Print Prints .
(.<.->) Print Conditional Prints . if .- is true
(.>)> Print and jump Prints . and jumps the next command
(.)<.-> Print and jump conditional Prints . unconditionally and jumps the next command if .- is true
(.<.->>)> Print conditional and jump Prints . if .- is true and jumps to the next command unconditionally
(<.->.>)> Print conditional and jump conditional Prints . and jumps the next command if .- is true
Shifters
Code Name Description
n> Jump n times Skips the next n commands
>> or >| End Ends the program
<n Go back n times Goes back n times
<< Go to the start Goes to the start
n>?<.-> Jump conditional Jumps n times if .- is true
<n?<.-> Go back conditional Goes back n times if .- is true
Comparators
Code Name Description
<.-+.-.> And none
<.-*.-.> Or none
-<.-> Not none
-<.-+.-.> Nand none
-<.-*.-.> Nor none
<.-^.-.> Xor none
-<.-^.-.> Xnor none
>.>|<< Greater Checks if . is greater than the last storage, then grabs the one which is higher (via unicode)
>.<|<< Less Checks if . is less than the last storage, then grabs the one which is lower (via unicode)
<.> Storage Stores . , When the marker has a value and passes through a storage, it will swap the stored thing, even if the storage has nothing
/.=..?/ Equal? Throws -* if its the same, *- else
Misc
Code Name Description
>|< Intake Intakes the input thing, also deletes the held item, even if there's no more input
><.->< Intake conditional Intakes the input thing if .- is true
/ Escape Escapes a character after it
-* True Boolean
*- False Boolean
|< Last storage Checks the last storage it met, if there's none, it's automatically *-
, Separate Separates stuff
>?< Contain Boolean that throws -* if the marker has a thing
?< Storage Contain Boolean that throws -* if the last storage has a thing
(?<.->(.)(..)) If then else If .- is true gives . , else, .., note that . and .. can be pieces of code, where each comma is escaped, (i.e >|</, >|<)
>/.<>../< Funnel joins . and .. together
>/-/.?=..< Contain? checks if . contains .., throws -* is it does, *- else
>/++/.?=..< Amount contained checks how many times . contains ..
/>.|--(..) Repeat Repeats . .. times, once activated, .. decrements untill it reaches 0, note that . is a command instead of text
(-/.) var variable .
.= (-/..) set var sets variable .. to .
.+ (-/..) change var changes variable .. by ., note that it is in base of the highest character + 1. (but if it's only numbers it's always base 10)
(?< Marker contains outputs whatever the marker contains,
)./,../,...) list produces a list, note that it's length can be customized
.=/../... regex produces a list of regex matches, ... are the flags
|n-.| Select nth Picks the nth item, else, picks the nth letter
|.+/+..| Add adds . and .. together in base of the highest character + 1, then to base 10 (but if it's only numbers it's always base 10)
|.-/-..| Subtract subtracts . and .. together in base of the highest character + 1, then to base 10 (but if it's only numbers it's always base 10)
|.*/*..| Multiply Multiplies . and .. together in base of the highest character + 1, then to base 10 (but if it's only numbers it's always base 10)
|.|/|..| Divide Divide . and .. together in base of the highest character + 1, then to base 10 (but if it's only numbers it's always base 10)
).( Round down Rounds . down

Notes

You can use newlines instead of commas if its too long

It takes last to first

Still not turing complete, at the talk page, request ideas and i will add more syntax to make it turing complete

it looks like bf

Examples

Hello, world!

(Hello, world!)

Infinite loop

Prints "Hello, world!" forever.

(Hello, world!), << 

Input check

Throws "True" if there's something in the input, else, "False"

>|<, ((?<>?<>(True)(False)))

If the input has "", it gives

False

Else, if it has anything, like "Foo", it gives

True

last input

Outputs the last input

>|<, <>, <1?<?<>, (|<)

If the input has "000, 001, 010, 011, 100, 101, 110, 111", it gives

000

Or a much simpler one, "Foo, Bar" gives

Foo

Fibonacci numbers

Outputs the fibonacci numbers

(1), (1), 1= (-/a), 1= (-/b), (-/a)+ (-/c), (-/b)+ (-/c), ((-/c)), (-/b)= (-/a), (-/c)= (-/b), 0= (-/c), <6

Output: "1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155..."

Truth-machine

Outputs 1 infinitely when the input is 1

>|<, ((?<), <1?<|<=1?/>/

FizzBuzz

Outputs "Fizz" if divisible by 3, "Buzz" if divisible by 5, "FizzBuzz" when both, the number else

0= (-/a), (-/a)= (-/b), ((-/b))  1+ (-/a),  (/?</|(-/a)|/|15|=)|(-/a)|/|15|(?>(FizzBuzz= (-/b)/, <2)()), (/?</|(-/a)|/|5|=)|(-/a)|/|5|(?>(Buzz= (-/b)/, <3)())
(/?</|(-/a)|/|3|=)|(-/a)|/|3|(?>(Fizz= (-/b)/, <4)()), (-/a)= (-/b), <6

Trivia

>|<>|< can be turned to >|<>|< code which is two intakes

>|<>|< is based off the game Human Resource Machine and 7 Billion Humans, so it takes the input front to back, meaning if the input is "A, B", and you want to output "B", the solution is the following code

>|<, <>, >|<, (|<)