From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: HiPhish Newsgroups: gmane.lisp.guile.user Subject: Re: A value for "nothing" Date: Sun, 26 Aug 2018 22:25:05 +0200 Message-ID: <2870707.xeUVe6UqSq@aleksandar-ixtreme-m5740> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit X-Trace: blaine.gmane.org 1535315069 18485 195.159.176.226 (26 Aug 2018 20:24:29 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 26 Aug 2018 20:24:29 +0000 (UTC) Cc: guile-user@gnu.org To: jbranso@fastmail.com Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Aug 26 22:24:25 2018 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fu1aC-0004hF-GD for guile-user@m.gmane.org; Sun, 26 Aug 2018 22:24:24 +0200 Original-Received: from localhost ([::1]:50267 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fu1cG-0004f8-G7 for guile-user@m.gmane.org; Sun, 26 Aug 2018 16:26:34 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41212) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fu1bM-0004dY-Pp for guile-user@gnu.org; Sun, 26 Aug 2018 16:25:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fu1aw-0003Qf-71 for guile-user@gnu.org; Sun, 26 Aug 2018 16:25:13 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]:38910) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fu1av-0003Em-Sv for guile-user@gnu.org; Sun, 26 Aug 2018 16:25:10 -0400 Original-Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 4D21020FAD for ; Sun, 26 Aug 2018 22:25:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1535315107; bh=eGIJJiK8SGWHKggN/0RzP19qIYVybRG2sS8jLcPzKtE=; h=From:To:Cc:Subject:Date:From; b=mkAgEEoxiLr4Qg/bMGwhbPtzVo3GQAUk2qd412Hux4y3eVWATkugPdBP5tbTQP9b7 oM5cnLlU/JmwuisJRnAiCUlqwEdjaQlsO0ASoe6vTlocNSrZrINvmk7suTYYeAmZCT H8q/WpOZ+oK23LQzOc9ws3COYOMGv4qXHAEk3kglAUyT5FmgTUUVZV4bfaDRmEKkRq s4p+T090lWPiCv6KDyd1tSCr7draI+nhP6Es4P/drxTV2zb3j2KIBLxgwSxpD5iNT2 +xGtFkzEtdrHTsProJmgQS+R8dVZehuzB3BN8w7fB/1zkqZRJm94SiMne6tLrUojgm tQpg3/rvOhgpQ== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 41z62V2F8xz6tmH; Sun, 26 Aug 2018 22:25:06 +0200 (CEST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 185.67.36.65 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:14767 Archived-At: The main advantage of JSON is that it is human-readable. This is great if you want to save the data on disc and be able to get it without needing special software, or if you want to write it out by hand but be able to parse it by a computer. I actually had done that, I maintained a number of records by hand and use a small script to splice the data in a modified form into a LaTeX document. However, being text-based becomes a liability when there is no need for human readability. For instance, if you want to send data between processes there will never be a human who will eyeball it, size and parsing efficiency are much more important. JSON is non-trivial to parse. I am writing this implementation of MessagePack because I want to be able to write a Neovim client for Guile. This will effectively allow writing Neovim plugins in Guile: Neovim launches an external Guile process and the two processes communicate via RPC using MessagePack as the protocol. This way Neovim can be retrofitted with any language for writing plugins; old Vim needed be be compiled with support for foreign scripting languages baked into the binary.