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