private Expression equal( List<Expression> args, String caller ) {
      
      if ( args.size() != 2 ) {
         System.err.println("= expected 2 arguments and got " + args.size() );
         System.exit(1);
      }
      
      DeferredSubst df = DeferredSubst.getInstance();
      // if the values are the same
      if ( args.get(0).show( df, caller ).compareTo( args.get(1).show(df, caller)) == 0 ) {
            return new Value("#t");
      }
      
      // values weren't the same
      return new Value("#f");
   }