x(y)
X(y) is a language created by User:A for a simpler form of Function x(y).
Syntax
To start a function:
x()
Or:
x(y)
Or it can have as many arguments as you like:
x(a b c d e f g)
To do math (must use spaces before and after the operator used) (+, -, *, or /, here + is shown), and there are only infix operators:
a + b
Math in X(y) is BEDMAS by default, but you can also uses parentheses for grouping, so the following:
a + b * c
would evaluate to a + (b * c)
, but for (a + b) * c
:
(a + b) * c
To do comparison (must use spaces before and after the operator used) (<, >, <=, =>, ==, or !=, here == is shown):
a == b
Ternary (spaces allowed before/after the { or }):
condition{valueIfTrue valueIfFalse}
To call a function:
x()
Or:
x(y)
Or with as many arguments as the function takes:
x(a b c d e f g)
To call a function recursively:
{y}
To return (default return value is 0):
-> a
Examples
Hello, World!
helloWorld() -> "Hello, World!"
Cat
cat(x) -> x
Absolute value function
abs(n) -> (n < 0){0 - n n}
Factorial function
factorial(n) -> (n < 2){1 n * {n - 1}}
FizzBuzz
/
is integer divison.
main(n) -> (n != 100){((fizz(n) + buzz(n)) == ''){[n] [fizz(n) + buzz(n)]} {n + 1} ["Fizz "]} fizz(n) -> ((n / 3) * 3 == n )<"Fizz", ""> buzz(n) -> ((n / 5) * 5 == n)<"Buzz", "">
Fibonacci sequence
fib(acc, num) -> fib(num, num + acc)