Literals
lisb=> 42 ;; B: 42
42
Hexadecimal
B => 0xdeadbeef
3735928559
Implementable Integer Bounds
lisb=> min-int ;; B: MININT
-1
lisb=> max-int ;; B: MAXINT
3
Set Constants
lisb=> int-set ;; B: INT
#{0 1 -1 3 2}
lisb=> nat-set ;; B: NAT
#{0 1 3 2}
lisb=> nat1-set ;; B: NAT1
#{1 3 2}
lisb=> integer-set ;; B: INTEGER
#{0 7 1 4 6 3 2 9 5 8}
lisb=> natural-set ;; B: NATURAL
#{0 7 1 4 6 3 2 9 5 8}
lisb=> natural1-set ;; B: NATURAL1
#{7 1 4 6 3 2 9 5 10 8}
Interval
lisb=> (interval 1 10) ;; B: 1..10
#{7 1 4 6 3 2 9 5 10 8}
Comparison
lisb=> (< 1 2) ;; B: 1 < 2
{} ;; TRUE, no bindings
lisb=> (<= 1 2) ;; B: 1<=2
{} ;; TRUE, no bindings
lisb=> (> 42 0) ;; B: 42>0
{} ;; TRUE, no bindings
lisb=> (>= 42 0) ;; B: 42>=0
{} ;; TRUE, no bindings
Arithmetics
lisb=> (+ 1 2) ;; B: 1+2
3
lisb=> (+ 1 2 3 4) ;; B: 1+2+3+4
10
lisb=> (- 1 2) ;; B: 1-2
-1
lisb=> (- 1 2 3 4) ;; B: 1-2-3-4
-8
lisb=> (* 1 2) ;; B: 1*2
2
lisb=> (* 1 2 3 4) ;; B: 1*2*3*4
24
lisb=> (/ 5 2) ;; B: 5/2
2
lisb=> (/ 100 2 5) ;; B: 100/2/5
10
lisb=> (** 2 5) ;; B: 2**5
32
lisb=> (** 2 2 5) ;; B: 2**2**5
4294967296
lisb=> (mod 5 2) ;; B: 5 mod 2
1
Minimum / Maximum of Set
lisb=> (min #{1 3 2}) ;; B: min({1, 3, 2})
1
lisb=> (max #{1 3 2}) ;; B: max({1, 3, 2})
3
Successor / Predecessor
lisb=> (predecessor 42) ;; B: pred(42)
41
lisb=> (successor 42) ;; B: succ(42)
43
lisb=> (dec 42) ;; B: pred(42)
41
lisb=> (inc 42) ;; B: succ(42)
43
Sum / Product over Set
lisb=> (sigma [:x] (member? :x (range 1 10)) (* :x :x)) ;; B: SIGMA(x).(x:1..pred(10)|x*x)
285
lisb=> (pi [:x] (member? :x (range 1 10)) (* :x :x)) ;; B: PI(x).(x:1..pred(10)|x*x)
131681894400
Reals
Create
lisb=> 3.14 ;; B: 3.14
3.14
lisb=> (real 3) ;; B: real(3)
3.0
Set Constants
lisb=> real-set ;; B: REAL
#{0.0 1.0 -1.0 0.79563713 0.7680265 0.60457677 0.85689235 0.6223192 0.12277477 0.24700354}
lisb=> float-set ;; B: lol, broken
lol, broken
Rounding
lisb=> (floor 3.14) ;; B: floor(3.14)
3
lisb=> (ceil 3.14) ;; B: ceiling(3.14)
4