Kebab is a work-in-progress programming language that is somewhat focused on math but is mostly general purpose.
Some elements of it has unicode characters, but they have ascii counterparts. Here is an example of Kebab (Unicode):
a, b ∈ N; // a and b are natural numbers
a := 3; // a is assigned to 3. the assignment operator is :=
divby3 := {x | x % 3 = 0}; //set builder notation. the set "divby3" is made of x such that x divided by 3 has no remainders.
divby5 := {x | x % 5 = 0};
c ∈ Q; // c is a rational number
v, w ∈ Q^2; // d is a vector comprised of 2 rational numbers
m = [[2, 3, 4] [2, 3, 4] [4, 5, 6]]; //m is a matrix
v3 := v·(w×v); // dot and cross products
for i in ord(1, 15) {
if i ∈ divby3 → print("fizz"); //you can use the arrow as "then"
else if i ∈ divby5{ // you can also use {}
print("buzz")
};
else if i ∈ divby3 ∩ divby5 → print("fizzbuzz"); //the union symbol
};
f := 30m; // it can also handle SI units.
g := 100J; h := 10kg; l := 100K; //it will also understand common composite units so you can use J instead of (kg⋅m^2⋅s^−2)
j := g*h*l //result is "0.1(J⋅kg⋅K)"
The language also has built-in packages for things like
math which has "higher-level" mathsgoogol which has functions for generating big numbersbase which deals with base conversion (also supports bases that are negative, fractional, balanced etc.)regpoly which deals with regular polytopesoldunit deals with customary units of china, ottomans etc.quaternion deals with quaternionsTo learn more HTML/CSS, check out these tutorials!