unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: Julian Graham <joolean@gmail.com>
Cc: "Andy Wingo" <wingo@pobox.com>, "Ludovic Courtès" <ludo@gnu.org>,
	"Guile Users" <guile-user@gnu.org>
Subject: Re: Accessing multiple values from C
Date: Tue, 17 Jan 2012 22:15:24 -0500	[thread overview]
Message-ID: <87pqehzooj.fsf@netris.org> (raw)
In-Reply-To: <CANdC_RCBUh1pqptrMt_vy+DcoBuEF8u1707ciSr6-wqd_xgXFw@mail.gmail.com> (Julian Graham's message of "Wed, 11 Jan 2012 23:50:32 -0500")

Hi Julian, thanks for working on this!

Julian Graham <joolean@gmail.com> writes:
> +SCM
> +scm_c_value_ref (SCM obj, size_t idx)
> +{
> +  SCM values = scm_struct_ref (obj, SCM_INUM0);
> +  return scm_list_ref (values, SCM_I_MAKINUM (idx));
> +}
> +

Should this verify that `obj' is a values object?

Should it verify that `idx' can fit in an inum?

Also, if `obj' is _not_ a values object and `idx' is 0, should this
simply return `obj'?  Since a single value is conceptually no different
than multiple values (but is represented very differently within Guile),
I'd think that this function should handle that case gracefully.

What do other people think?

    Thanks,
      Mark



  parent reply	other threads:[~2012-01-18  3:15 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-01 15:34 Accessing multiple values from C Julian Graham
2011-11-01 22:57 ` Ludovic Courtès
2012-01-09 18:54 ` Andy Wingo
2012-01-09 19:00   ` Julian Graham
2012-01-12  4:50     ` Julian Graham
2012-01-15 21:47       ` Ludovic Courtès
2012-01-16  9:05         ` Andy Wingo
2012-01-18  3:15       ` Mark H Weaver [this message]
2012-01-18 16:20         ` Andy Wingo
2012-01-18 20:19         ` Ludovic Courtès
2012-01-18 21:01           ` Mark H Weaver
2012-01-18 21:44             ` Ludovic Courtès
2012-01-18 21:47             ` Mark H Weaver
2012-01-18 23:06               ` Mark H Weaver
2012-01-18 21:01           ` Julian Graham

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=87pqehzooj.fsf@netris.org \
    --to=mhw@netris.org \
    --cc=guile-user@gnu.org \
    --cc=joolean@gmail.com \
    --cc=ludo@gnu.org \
    --cc=wingo@pobox.com \
    /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).