10. The Language Specification - Comparisons¶

This section contains a list of comparison operators. They all take two arguments and return a boolean value depending on the relationship between the two arguments.

10.1. “<” - Is Less Than¶

Arity: 2

10.1.1. Any a, Same Type b: Less Than¶

If a and b are of the same type, checks if a is less than b by whatever way that type is compared (e.g. Numbers by size, strings lexicographically).

Ex:

==================================================
<5T<T5
==================================================
Pprint("\n",lt(5,T))
Pprint("\n",lt(T,5))
==================================================
True
False


10.1.2. Seq a, Int b: Slice Till¶

Takes a slice of sequence a until index b. This is equivalent to the Python statement a[:b]. The slice is not inclusive of the element at index b

Ex:

<"abcdefgh"5
==================================================
Pprint("\n",lt("abcdefgh",5))
==================================================
abcde


10.1.3. Set a, Set b: Is Subset¶

Checks if set a is a subset of set b. This means that it checks if set b contains all the elements of set a.

Ex:

==================================================
<{[1 2){[1 2 3)
==================================================
Pprint("\n",lt(Pset(Plist(1,(2))),Pset(Plist(1,(2),(3)))))
==================================================
True


10.2. “q” - Is Equal To¶

Arity: 2

This checks if the two values are equal to each other. This is the same as the Python ==.

Ex:

==================================================
qT5qTT
==================================================
Pprint("\n",equal(T,5))
Pprint("\n",equal(T,T))
==================================================
False
True


10.3. “>” - Is Greater Than¶

Arity: 2

10.3.1 Any a, Same Type b: Greater Than¶

This checks if a is greater than b. Uses the same type of comparisons as <

Ex:

==================================================
>5T>T5
==================================================
Pprint("\n",gt(5,T))
Pprint("\n",gt(T,5))
==================================================
False
True


10.3.2 Seq a, Int b: Slice From¶

This takes a slice of sequence a from index b onwards till the end. This is equivalent to the Python a[b:]. The slice is inclusive of the element at index b.

Ex:

==================================================
>"abcdefgh"5
==================================================
Pprint("\n",gt("abcdefgh",5))
==================================================
fgh


10.3.3. Set a, Set b: Is Superset¶

Checks is set a is a superset of set b. This means that it checks if set a contains all the elements of set b. This does not return True if the two sets are equal.

Ex:

==================================================
>{[1 2 3){[1 2)
==================================================
Pprint("\n",gt(Pset(Plist(1,(2),(3))),Pset(Plist(1,(2)))))
==================================================
True


10.4. “n” - Not Equal To¶

Arity: 2

Checks if the two elements are not equal to each other. This is equivalent to Python’s ”!=”.

Ex:

==================================================
nT5nTT
==================================================
Pprint("\n",ne(T,5))
Pprint("\n",ne(T,T))
==================================================
True
False


10.5. “g” - Is Greater Than or Equal To¶

Arity: 2

10.5.1. Any a, Same Type b: Greater Than or Equal To¶

Checks if a is greater than or equal to b.

Ex:

==================================================
gT5gTTg5T
==================================================
Pprint("\n",gte(T,5))
Pprint("\n",gte(T,T))
Pprint("\n",gte(5,T))
==================================================
True
True
False


10.5.2. Seq a, Int b: Slice From, 1-indexed¶

This takes a slice of a, from the element b-1. It is equivalent to a[b-1:].

Ex:

==================== 3 chars =====================
gG5
==================================================
Pprint("\n",gte(G,5))
==================================================
efghijklmnopqrstuvwxyz


10.5.3. Set a, Set b: Superset or Equal¶

Checks if set a is a superset of set b or equal to set b.

Ex:

==================================================
g{[1 2 3){[2 3)g{[1 2 3){[1 2 3)
==================================================
Pprint("\n",gte(Pset(Plist(1,(2),(3))),Pset(Plist(2,(3)))))
Pprint("\n",gte(Pset(Plist(1,(2),(3))),Pset(Plist(1,(2),(3)))))
==================================================
True
True


10.6. “}” - Contains¶

Arity: 2

Checks if the second argument, a collection, contains the first argument. Is equivalent to the Python in operator.

Ex:

==================================================
}\a"abc"
==================================================
Pprint("\n",("a" in "abc"))
==================================================
True