31 lines
542 B
Text
31 lines
542 B
Text
|
-- Standard operators library for the Lamb programming language
|
||
|
-- Copyright (c) 2013 darkf
|
||
|
-- Licensed under the terms of the zlib license, see LICENSE for details
|
||
|
|
||
|
-- binary operators
|
||
|
add(x,y) -> x+y.
|
||
|
mul(x,y) -> x*y.
|
||
|
div(x,y) -> x/y.
|
||
|
|
||
|
cons(x,y) -> x::y.
|
||
|
|
||
|
eq(x,y) -> x==y.
|
||
|
neq(x,y) -> x != y.
|
||
|
|
||
|
lt(x,y) -> x<y.
|
||
|
gt(x,y) -> x>y.
|
||
|
|
||
|
and(true,true) -> true.
|
||
|
and(_,_) -> false.
|
||
|
|
||
|
or(true, _) -> true.
|
||
|
or(_, true) -> true.
|
||
|
or(_, _) -> false.
|
||
|
|
||
|
xor(true, false) -> true.
|
||
|
xor(false, true) -> true.
|
||
|
xor(_, _) -> false.
|
||
|
|
||
|
-- unary operators
|
||
|
neg(x) -> 0-x.
|