From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 91A6A31713 for ; Fri, 21 Jun 2019 16:07:10 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BgNulxKQrna1 for ; Fri, 21 Jun 2019 16:07:10 -0400 (EDT) Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 284AA3167D for ; Fri, 21 Jun 2019 16:07:09 -0400 (EDT) Received: by mail-lj1-f196.google.com with SMTP id t28so7013527lje.9 for ; Fri, 21 Jun 2019 13:07:09 -0700 (PDT) Date: Fri, 21 Jun 2019 23:07:07 +0300 From: Cyrill Gorcunov Subject: [tarantool-patches] Re: [RFC] box/lua/console: Add console.fmt module Message-ID: <20190621200707.GD24106@uranus> References: <20190620215405.9338-1-gorcunov@gmail.com> <20190621073241.GJ18958@atlas> <20190621081640.GB18551@uranus> <20190621121412.GB5998@atlas> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190621121412.GB5998@atlas> Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: Konstantin Osipov Cc: tarantool-patches@freelists.org, Alexander Turenko On Fri, Jun 21, 2019 at 03:14:12PM +0300, Konstantin Osipov wrote: > > so we simply can't use unmodified third party engines thus > > better to keep own much simpler (hopefully) engine. > > I don't see why we can't fork serpent. But OK, provided you don't > want serpent, what can serpent do that we're going to miss in an > own implementation? Could you write down a summary so that we can > analyze this ahead of time? To be precise my complains against serpent is only one: we will need to patch it on top to handle special symbols from "box" (as mentioned in the original github issue box.NULL). Note that the seializer I provided are mostly taken from Konstantin's draft patch (see https://github.com/tarantool/tarantool/issues/3834) which in turn is derived from https://github.com/stevedonovan/Penlight/blob/master/lua/pl/pretty.lua i guess. I think currently we don't support "block" mode (or as serpent names it -- multiline output). For simple examples of output serpent provides same data as our console.fmt code but I think the devil in details which I didn't discover yet. Thus if you're _quite_ sure that we better should use serpent then I'll try to prepare new version and we will see how it looks.