module SchemeBooleans
Scheme booleans module
Public Instance Methods
equal?(other)
click to toggle source
# File lib/lisp/interpreter/core/boolean.rb, line 27 def equal?(other) raise arg_err_build 2, other.size if other.size != 2 other[0].to_s == other[1].to_s ? TRUE : FALSE end
if(other)
click to toggle source
# File lib/lisp/interpreter/core/boolean.rb, line 39 def if(other) raise arg_err_build 3, 0 if other.empty? expr, other = find_next_value other raise arg_err_build 3, other.size + 1 if other.size < 2 res = if_helper expr, other (find_next_value res)[0] end
not(other)
click to toggle source
# File lib/lisp/interpreter/core/boolean.rb, line 32 def not(other) raise arg_err_build 1, other.size if other.size != 1 valid = check_for_bool other[0] raise type_err '<boolean>', other[0].type unless valid other[0] == TRUE ? FALSE : TRUE end