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!