class Lisp::PrimEquivalence
Public Class Methods
eq_impl(args, env)
click to toggle source
# File lib/rubylisp/prim_equivalence.rb, line 63 def self.eq_impl(args, env) o1 = args.car o2 = args.cadr Lisp::Boolean.with_value(o1.eq?(o2)) end
equal_impl(args, env)
click to toggle source
# File lib/rubylisp/prim_equivalence.rb, line 77 def self.equal_impl(args, env) o1 = args.car o2 = args.cadr Lisp::Boolean.with_value(o1.equal?(o2)) end
eqv_impl(args, env)
click to toggle source
# File lib/rubylisp/prim_equivalence.rb, line 49 def self.eqv_impl(args, env) o1 = args.car o2 = args.cadr Lisp::Boolean.with_value(o1.eqv?(o2)) end
neq_impl(args, env)
click to toggle source
# File lib/rubylisp/prim_equivalence.rb, line 70 def self.neq_impl(args, env) o1 = args.car o2 = args.cadr Lisp::Boolean.with_value(!o1.eq?(o2)) end
nequal_impl(args, env)
click to toggle source
# File lib/rubylisp/prim_equivalence.rb, line 84 def self.nequal_impl(args, env) o1 = args.car o2 = args.cadr Lisp::Boolean.with_value(!o1.equal?(o2)) end
neqv_impl(args, env)
click to toggle source
# File lib/rubylisp/prim_equivalence.rb, line 56 def self.neqv_impl(args, env) o1 = args.car o2 = args.cadr Lisp::Boolean.with_value(!o1.eqv?(o2)) end
register()
click to toggle source
# File lib/rubylisp/prim_equivalence.rb, line 5 def self.register Primitive.register("=", "2", "(= n1 n2)\n\nEquivalent to (eqv? n1 n2)") do |args, env| Lisp::PrimEquivalence::eqv_impl(args, env) end Primitive.register("==", "2", "(== n1 n2)\n\nEquivalent to (eqv? n1 n2)") do |args, env| Lisp::PrimEquivalence::eqv_impl(args, env) end Primitive.register("!=", "2", "(!= n1 n2)\n\nEquivalent to (neqv? n1 n2).") do |args, env| Lisp::PrimEquivalence::neqv_impl(args, env) end Primitive.register("/=", "2", "(/= n1 n2)\n\nEquivalent to (neqv? n1 n2).") do |args, env| Lisp::PrimEquivalence::neqv_impl(args, env) end Primitive.register("eq?", "2") do |args, env| Lisp::PrimEquivalence::eq_impl(args, env) end Primitive.register("neq?", "2") do |args, env| Lisp::PrimEquivalence::neq_impl(args, env) end Primitive.register("eqv?", "2") do |args, env| Lisp::PrimEquivalence::eqv_impl(args, env) end Primitive.register("neqv?", "2") do |args, env| Lisp::PrimEquivalence::eqv_impl(args, env) end Primitive.register("equal?", "2") do |args, env| Lisp::PrimEquivalence::equal_impl(args, env) end Primitive.register("nequal?", "2") do |args, env| Lisp::PrimEquivalence::nequal_impl(args, env) end end