From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adonay Felipe Nogueira Subject: bug#27590: artanis has a bundled and customized copy of guile-json package Date: Mon, 17 Jul 2017 00:11:07 -0300 Message-ID: <87inir92r8.fsf@openmailbox.org> References: <87mv8i4tkj.fsf@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37975) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dWwS6-000202-1J for bug-guix@gnu.org; Sun, 16 Jul 2017 23:12:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dWwS2-00082s-Og for bug-guix@gnu.org; Sun, 16 Jul 2017 23:12:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:40310) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dWwS2-00082H-KU for bug-guix@gnu.org; Sun, 16 Jul 2017 23:12:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dWwS2-0004gs-8q for bug-guix@gnu.org; Sun, 16 Jul 2017 23:12:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87mv8i4tkj.fsf@openmailbox.org> (Adonay Felipe Nogueira's message of "Wed, 05 Jul 2017 15:39:08 -0300") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 27590@debbugs.gnu.org I have compared the two. Note however that I didn't test them, I only read the diffs, so my notes might not accurately reflect nested/complex cases. Discarding the new features implemented in guile-json since the bundled customization and the deprecation of (json ...) macro, it seems that "json/builder.scm" is the file where most important changes are. Considering upstream guile-json: - (json-build-object ...) considers the given Scheme "native" directly as a list of pairs (that is: no conversion is done inside the procedure itself). - (json-build ...) has conditionals for checking if a given Scheme "native" is a symbol, and also for checking if it's an association list. - Inside (json-build ...), the conditional that checks if the givem Scheme object is a hash table also builds JSON documents for those cases, but instead of taking the Scheme "native" as it is, it will receive such converted to a list of pairs. Considering the bundled and customized guile-json: - (json-build-object ...) calls procedures to convert the given Scheme "native" to a list of pairs (that is: there is always a conversion made inside the procedure). - (json-build ...) has no conditionals to check for symbols and association lists specially. - Inside (json-build ...), the conditional that checks if the givem Scheme object is a hash table takes the Scheme "native" as it is. This indicates that upstream guile-json seems to have more control on what to do with each thing. However, I don't know if this really impacts GNU Artanis such that there is an unexpected behavior. From the looks of it, there might be no problem on removing the bundle. Of course, a test is preferable.