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: [ANN] guile-msgpack: MessagePack for GNU Guile (+ help needed) Date: Thu, 20 Sep 2018 01:32:12 +0200 Message-ID: <192195549.B8lPcsXauz@aleksandar-ixtreme-m5740> References: <3401551.pIYnLFp0Xl@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 1537399848 7680 195.159.176.226 (19 Sep 2018 23:30:48 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 19 Sep 2018 23:30:48 +0000 (UTC) Cc: guile-user@gnu.org To: John Cowan Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Sep 20 01:30:44 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 1g2lve-0001vo-QZ for guile-user@m.gmane.org; Thu, 20 Sep 2018 01:30:43 +0200 Original-Received: from localhost ([::1]:47692 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g2lxl-0001gZ-2i for guile-user@m.gmane.org; Wed, 19 Sep 2018 19:32:53 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59293) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g2lxL-0001gS-DR for guile-user@gnu.org; Wed, 19 Sep 2018 19:32:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g2lxH-00006h-T8 for guile-user@gnu.org; Wed, 19 Sep 2018 19:32:27 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]:54222) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g2lxA-0008P2-Og for guile-user@gnu.org; Wed, 19 Sep 2018 19:32:18 -0400 Original-Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 814362104D for ; Thu, 20 Sep 2018 01:32:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1537399933; bh=/g5wFpD+Ux4gD9NIIpVWu4XJ9ABkxY3eg0B/EYi5NSQ=; h=From:To:Cc:Subject:Date:From; b=E24LGkzSXEQ4Isg36pY/JRPGLWH7GX2YBZa5PmGEa8GjLkIqYltTRZ3pJHAu/tvpA wHh6uPX5JoKwzfzv+P0rFzqQPVkUnbQjSKFV8ytQLokvgIw/01zmwh3EvDKGEdY4J2 hpWas7sJ9yv523Of6nCd5Se+PehoAHoD7cRCmJt/Fcvtn7JsIUI5vrdaV6AP1khetH 2rdph3fCQhdG6m1yXK/v/JIvzKc5qVSnm9+2eUOc3itAttYNVCA2URyjt4eyjF1Y2Q NqdA5kPGkT5900irjOE71NQMWME/qrDvPR/Ac6gySmiRPrtj6/hWAe3tenfEgZ6lNZ 3b2EFoSyh1txA== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 42Fx3J4V9mz6tm8; Thu, 20 Sep 2018 01:32:12 +0200 (CEST) In-Reply-To: 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:14893 Archived-At: John Cowan wrote: > By convention, Scheme procedures whose only side effect is on a port > don't use the ! in their names: we write `read`, `write`, `display`, not > `read!`, `write!`, `display!`. > > I would suggest calling them pack-and-write and read-and-unpack; > you can leave out the "and-" if you think those are too long. That's a really good point, I did not think of. In my Racket implementation I called the functions without exclamation mark, but that implementation lacks pure procedures. > The Scheme community is small enough that doing a little bit to make > libraries > more portable is worthwhile. I'd use R6RS `library` instead of > Guile-specific > `define-module`, and maybe put the code proper into a separate file from the > module furniture. (To use `include` or any other Guile-specific procedure > in an R6RS library, add `(only (guile) include)` to the imports list.) > Using > Guile-specific procedures is not usually a problem, as there are probably > equivalents in other Schemes. How popular is r6rs anyway? From what I gathered it was pretty badly received and r7rs small was intentionally designed to be less ambitious, while the upcoming r7rs will be larger than even Common Lisp. > Usually there's just using a constructor wrapper that checks the types > before > calling the real constructor (`cons` in this case). OK, that was my first idea, but I thought that there might be perhaps something more idiomatic. > Returning a list of values is idiomatic. It is actually possible for a > caller to > receive multiple values without knowing how many it's going to get, but it's > probably more trouble than it's worth in this case. Yes, after writing my original email I found out how to bind an unknown number of values, but there doesn't seem to be a way of returning an unknown number of values. > GoFundMe seems like the right thing. GoFundMe is about fundraising campaigns, I was thinking something along the lines of a tip-jar where you can chip in a little if you want.