The following is an outline for a high-level and currently unnamed programming language.
It is greatly influnced by Python due to the long time I have spent working with it, although
APL, Fortran, BASIC and mathematical logic theory notation have had significant impact on its syntax.
It only exists as a concept in my head for the time being, and once it has been laid out
I will start working towards its actualization: writing it in C.
---------------------------------- [ THIS IS A WORK IN PROGRESS ! ] ----------------------------------
?(1 + 3 = 4)
[OUT]: True
?(2 - 5 = 4)
:{'Hello'}
`{'Goodbye'}
[OUT]: Goodbye
-5 # negation
[OUT]: -5
4! # factorial
[OUT]: 24
/3 # inverse
[OUT]: 0.333…
1 + 3 # addition
[OUT]: 4
2 - 5 # subtraction
[OUT]: -3
2 * 3 # multiplication
[OUT]: 6
6 / 2 # division
[OUT]: 3
3 ^ 2 # exponentiation
[OUT]: 9
2 + 2 = 4 # equals
[OUT]: TRUE
2 + 2 ~= 5 # nequals (alt ≠)
[OUT]: TRUE
2 > 3 # morethan
[OUT]: FALSE
5 < 9 # lessthan
[OUT]: TRUE
5 >= 7 # morethan or eq (alt ≥)
[OUT]: FALSE
3 <= 4 # lessthan or eq (alt ≤)
[OUT]: TRUE
(log 3 81)
[OUT]: 4
(lb 256)
[OUT]: 8
(ln 2.71828)
[OUT]: 0.999999327347
(lg 10,000)
[OUT]: 4
(MOD 23 7)
[OUT]: 2
(RND 4.2)
[OUT]: 5
(RND 3.8)
[OUT]: 4
(RND 0.5)
[OUT]: 1
(RND 17 5)
[OUT]: 15
(RND 23.43 0.6)
[OUT]: 24
(RND 2.08 0.1)
[OUT]: 2.1
~A # NOT
A & B # AND
A ~& B # NAND
A ~= B # XOR
A = B # XNOR
building arrays
l[2, 6]
[OUT]: [2, 3, 4, 5, 6]
l[8, 3]
[OUT]: [8, 7, 6, 5, 4, 3]
l[-6, -2]
[OUT]: [-6, -5, -4, -3, -2]
l[-2, -6]
[OUT]: [-2, -3, -4, -5, -6]
l[x+3:2,6]
[OUT]: [5, 6, 7, 8, 9]
l[x*2:2,6]
[OUT]: [4, 6, 8, 10, 12]
l[2^x:2,6]
[OUT]: [4, 8, 16, 32, 64]
working with arrays
s <- [1, 6, 23, 17]
s.2
[OUT]: 23
s.2,1
[OUT]: [23, 6]
s <- [ [2, 3, 6], [7, 4, 9], [8, 1, 5] ]
s.2
[OUT]: [8, 1, 5]
s.1.2
[OUT]: 9
s.*.1
[OUT]: [3, 4, 1]
array operations
s <- [7, 2, 5, 9]
(SUM s)
[OUT]: 23
(PROD s)
[OUT]: 630
A <- {2, 3, 4, 5}
B <- {4, 5, 6, 7}
(UNION A B)
[OUT]: {2, 3, 4, 5, 6, 7}
(INTSC A B)
[OUT]: {4, 5}