ZecZec
- 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:
| Code | Name | Description |
|---|---|---|
| (.) | 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 |
| 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 |
| 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 |
| Code | Name | Description |
|---|---|---|
| >|< | Intake | Intakes the input thing, also deletes the held item, even if there's no more input |
| >/< | Special intake | Like an intaker that inputs the last one instead of the first one |
| >>>|<<< | Super Intaker | Like an intaker that intakes the whole 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 .. |
| (-/.) | 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 |
| ..++ (-/.) | Push | appends .. to var ., ant turns var . to a list if isn't one |
| -< (-/.) | Roll | removes the first item from the list and outputs the thing |
| >- (-/.) | Pop | removes the last item from the list and outputs the thing |
| ..>+ (-/.) | Pull | Like append, but inserts in the last one |
| .=/../... | 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 |
| ].[ | Antiround | Removes the integer part of . |
| |.| | Absolute | Removes the sign of . |
Templates
here you can add templates to make people's lives easier
Divisibility
/|.|/|..|=)|.|/|..|(?/
Alternate
/|||.|/|..|-/-)|.|/|..|(|*/*..|=0?/
Modulo
|||.|/|..|-/-)|.|/|..|(|*/*..|
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
Any notes outside any piece of code and without / are fine, example:
(Not a note), A real, piece of code that works even with 4-7*+223+- is fine
Any output not printed is attempted to run as >|<>|< code
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..."
Project euler 2
Complemet for infinite loop
(1), (1), 1= (-/a), 1= (-/b), (-/a)+ (-/c), (-/b)+ (-/c), (?</|(-/c)|/|2|=)|(-/c)|/|2|(?/>(((-/c)))()), (-/b)= (-/a), (-/c)= (-/b), 0= (-/c), <6
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
Self Interpreter
Interprets itself
>>>|<<<, <>, |<,
XKCD Random Number
int getRandomNumber
{
(4) chosen by fair dice roll
guaranteed to be random
}
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
>|<, <>, >|<, (|<)