unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: HiPhish <hiphish@posteo.de>
To: John Cowan <cowan@ccil.org>
Cc: guile-user@gnu.org
Subject: Re: [ANN] guile-msgpack: MessagePack for GNU Guile (+ help needed)
Date: Thu, 20 Sep 2018 01:32:12 +0200	[thread overview]
Message-ID: <192195549.B8lPcsXauz@aleksandar-ixtreme-m5740> (raw)
In-Reply-To: <CAD2gp_Ta4Pp-sV843b7EctZ=95eOyGwpzGzaJ5O3O8S2MFx8bw@mail.gmail.com>

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.






  reply	other threads:[~2018-09-19 23:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-19 12:33 [ANN] guile-msgpack: MessagePack for GNU Guile (+ help needed) HiPhish
2018-09-19 13:29 ` Thompson, David
2018-09-19 14:06   ` HiPhish
2018-09-19 14:12 ` John Cowan
2018-09-19 23:32   ` HiPhish [this message]
2018-09-20  1:44     ` John Cowan
  -- strict thread matches above, loose matches on Subject: below --
2018-09-20 11:15 Aleksandar Sandic
2018-09-20 11:24 Aleksandar Sandic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=192195549.B8lPcsXauz@aleksandar-ixtreme-m5740 \
    --to=hiphish@posteo.de \
    --cc=cowan@ccil.org \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).