X-Loop: help-debbugs@HIDDEN Subject: bug#31154: predicate function for foreign-object not obvious Resent-From: Matt Wette <matt.wette@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-guile@HIDDEN Resent-Date: Sat, 14 Apr 2018 18:35:01 +0000 Resent-Message-ID: <handler.31154.B.152373085729032 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 31154 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: 31154 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-guile@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.152373085729032 (code B ref -1); Sat, 14 Apr 2018 18:35:01 +0000 Received: (at submit) by debbugs.gnu.org; 14 Apr 2018 18:34:17 +0000 Received: from localhost ([127.0.0.1]:52603 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1f7Q08-0007YC-IK for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 14:34:16 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50400) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <matt.wette@HIDDEN>) id 1f7Q05-0007Xv-9U for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 14:34:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <matt.wette@HIDDEN>) id 1f7Pzz-0003VE-CR for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 14:34:08 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:44102) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <matt.wette@HIDDEN>) id 1f7Pzz-0003V1-9W for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 14:34:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41322) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <matt.wette@HIDDEN>) id 1f7Pzx-0006sV-V1 for bug-guile@HIDDEN; Sat, 14 Apr 2018 14:34:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <matt.wette@HIDDEN>) id 1f7Pzu-0003SK-O2 for bug-guile@HIDDEN; Sat, 14 Apr 2018 14:34:05 -0400 Received: from mail-pl0-x22e.google.com ([2607:f8b0:400e:c01::22e]:41665) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <matt.wette@HIDDEN>) id 1f7Pzu-0003Ru-IE for bug-guile@HIDDEN; Sat, 14 Apr 2018 14:34:02 -0400 Received: by mail-pl0-x22e.google.com with SMTP id bj1-v6so7809104plb.8 for <bug-guile@HIDDEN>; Sat, 14 Apr 2018 11:34:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=b5IT9L9VbsdYl2taZhBE2IhsE9gsWC3fZChv+MHUPjU=; b=StwXBwNjcfqovfVJoWhRRZ2ulAhUY/Dzy7QBN2Mk2HVyewEtAMYi3d2Wd8qT13nmL2 kOvIJilzzEZ43tYHugqLmRsum1b3kaQT1RuOb0l1ihwTsJIXFPgkMcdQg5SDwPlqv35U RZGzHrHaWe9Q1mID1x8pAY+C+0aHob6VAqCg/HRCd7HZDZNgWM9ok/4Yn61dZjr++Hzh CmCcDRiJyWpkvnlNjphO9wUlQQyvXDZvzFu2AIY0bXdSRgUnrbzYzhhW6oh148e6jZta NCafZ4f2ts17VUz3ox9voVN3SPBw+/FseCJ1+s3gXQ7ZgbhijtYhiQXEzxq7Cqt9fHsX CXVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=b5IT9L9VbsdYl2taZhBE2IhsE9gsWC3fZChv+MHUPjU=; b=WTEEDOynWukbwoqUdnqZyuWdt384mBCl98jL1q0QiqkoLbor114B3abJ2MF4n2djo4 +dPoFXAh0BDJoOAej9LU+R8+aGAVuy/sUQj0wRlas18cr4aRp7ExijMOX9DobefMYfsh pX5QgtOV7u9Y/DFelz6CBwCP0/lMmvMDHl9jxO7/ZSR61xLlsMAXEa9xbvLJxZMjxese gzKcJgJC89SnhS8BXfzzn/BPD9hqhmsRgoIhk3U/mjJu8dDwFLnDnLBdhBsDNCm0PqF+ 0JKR4J2uRvUpNNrurOjOaeDC437zM10TdR4BVEe+lPkFncrwQE3SRGI8DZVXbrrr9u3p QvRg== X-Gm-Message-State: ALQs6tB4hD+LWZhx0qr3lc/i5TFGTcZ6mzDthgRWLiNHrLIAHj+/PM+i W53ywmiVUdrApca2y4lkq+KPev8/ X-Google-Smtp-Source: AIpwx4/yr1eeKiSi0f5aUG/pw4YAtqvdes4CGUVdhSy7SpRVviboMSBwniecD2DpdS3M8FlAWt5A1Q== X-Received: by 2002:a17:902:7405:: with SMTP id g5-v6mr9631350pll.4.1523730841308; Sat, 14 Apr 2018 11:34:01 -0700 (PDT) Received: from [192.168.2.183] (216-165-229-229.championbroadband.com. [216.165.229.229]) by smtp.gmail.com with ESMTPSA id a12sm19838981pfe.78.2018.04.14.11.34.00 for <bug-guile@HIDDEN> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 14 Apr 2018 11:34:00 -0700 (PDT) From: Matt Wette <matt.wette@HIDDEN> Message-ID: <689d625b-94f7-919b-c017-fa921d54c744@HIDDEN> Date: Sat, 14 Apr 2018 11:33:59 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -5.0 (-----) The reference manual (guile-2.2.3) does not provide instruction on how to generate a predicate for a foreign object, and it is not obvious. Maybe it doesn't need to be in the manual but should then be in an example somewhere, IMO. The following patch to the reference manual is one option: --- doc/ref/api-foreign-objects.texi-orig 2018-04-14 11:26:35.779502997 -0700 +++ doc/ref/api-foreign-objects.texi 2018-04-14 11:28:42.823072217 -0700 @@ -96,6 +96,33 @@ needed. @end deftypefn +To generate a predicate for a foreign object use the @code{SCM_IS_A_P} +macro as follows. + +@example +static SCM foo_type; + +static SCM +scm_foo_p(SCM obj) { + return SCM_IS_A_P(obj, foo_type)? SCM_BOOL_T: SCM_BOOL_F; +} + +void +init_foo() +{ + SCM name, slots; + + name = scm_from_utf8_symbol("foo"); + slots = scm_list_2 (scm_from_utf8_symbol ("data"), + scm_from_utf8_symbol ("deps")); + finalizer = NULL; + foo_type = scm_make_foreign_object_type(name, slots, finalizer); + + scm_c_define_gsubr("foo?", 1, 0, 0, scm_foo_p); + ... +} +@end example + One can also access foreign objects from Scheme. @xref{Foreign Objects and Scheme}, for some examples.
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Matt Wette <matt.wette@HIDDEN> Subject: bug#31154: Acknowledgement (predicate function for foreign-object not obvious) Message-ID: <handler.31154.B.152373085729032.ack <at> debbugs.gnu.org> References: <689d625b-94f7-919b-c017-fa921d54c744@HIDDEN> X-Gnu-PR-Message: ack 31154 X-Gnu-PR-Package: guile Reply-To: 31154 <at> debbugs.gnu.org Date: Sat, 14 Apr 2018 18:35:01 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-guile@HIDDEN If you wish to submit further information on this problem, please send it to 31154 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 31154: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D31154 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#31154: Acknowledgement (predicate function for foreign-object not obvious) Resent-From: Matt Wette <matt.wette@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-guile@HIDDEN Resent-Date: Sat, 14 Apr 2018 19:26:01 +0000 Resent-Message-ID: <handler.31154.B31154.152373394416773 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 31154 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: 31154 <at> debbugs.gnu.org Received: via spool by 31154-submit <at> debbugs.gnu.org id=B31154.152373394416773 (code B ref 31154); Sat, 14 Apr 2018 19:26:01 +0000 Received: (at 31154) by debbugs.gnu.org; 14 Apr 2018 19:25:44 +0000 Received: from localhost ([127.0.0.1]:52685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1f7Qnw-0004MS-DY for submit <at> debbugs.gnu.org; Sat, 14 Apr 2018 15:25:44 -0400 Received: from mail-pf0-f174.google.com ([209.85.192.174]:46619) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <matt.wette@HIDDEN>) id 1f7Qnu-0004MG-JU for 31154 <at> debbugs.gnu.org; Sat, 14 Apr 2018 15:25:42 -0400 Received: by mail-pf0-f174.google.com with SMTP id h69so8618325pfe.13 for <31154 <at> debbugs.gnu.org>; Sat, 14 Apr 2018 12:25:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=VgnV1fZsWy/izTxtg+xJeccc18aNkbGH58JRe5Mzje0=; b=YywhPB+axKH5DLKmhwHqxyTMlf46pcyQlNq9K2dCJz4KV1PgltjVT10m8azGUzL+Hc BY/cTkmB9oQvu5MAyP34gsu8sllxTtHXMOUiHLOtUcgokjCjowCk6d4dC/HW7GNuaosX tfWQT/k2TQJzoWdlCB4Ui43L5Iv9TVcR+rzH9dcKlO8QdN/Y6YaqsDHAUscFkwuUCDdf AvvBv3Q73Ac6u9gKjSQ11gr6fYjPibyOX+l51CAFLRvxtYTp5bjw8DKDVYc3+LOMSY4p x2QQLkqWlRf6Ij+IK1/aiAsRf01yjp7aj6fS934P5JtkR+nhOoyvIGR75lRpnwxsLhuv s+UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=VgnV1fZsWy/izTxtg+xJeccc18aNkbGH58JRe5Mzje0=; b=HjlXOgAMIOXOT2hXSurbK81ziQWSLNzimHCJgyOKmSsOJEFPebjGAekqtPZ/DNzRE5 YkSq34G8WIXvhmr4Byo0C6Jskg2pzZi6+j5+pWa6GASh0VwsN3LO6pHKL38g1wMW8rhO /C1vfcoy8Oo2e6Ww4/wfSLG7Jha7dXovxNpWpDgFec9OM3Pk5m1YvfpoLBApN5COcLmT Svh31kEnE5RP+o0q5ymycmNlbfSFRzBWi6U6vcWyQmy6y/fe+9FO+a5PErPbjNHJzsrC 5++quWQ/B/iR2dUBKJA7/eK3Zade0/d3A6AkePj2/MEL4fTCc1/omjJBKvNQP7GPRhi7 g2CQ== X-Gm-Message-State: ALQs6tBxbZc85jqOjQV/hk7+6Ltx/yuzs4VD5xWL/MJr6Cva+ULLe6v6 oI3lXx2LySslz5qflgd15EdVvEaT X-Google-Smtp-Source: AIpwx48NFIDYRyByYw1ODgRDTX0S0ERz54xaEcaHMx3Qou66H7nNY30ny7sPbfrKbgP5rdZ9I8MK3Q== X-Received: by 10.167.133.198 with SMTP id z6mr7781063pfn.38.1523733936185; Sat, 14 Apr 2018 12:25:36 -0700 (PDT) Received: from [192.168.2.183] (216-165-229-229.championbroadband.com. [216.165.229.229]) by smtp.gmail.com with ESMTPSA id 76sm13796289pge.5.2018.04.14.12.25.35 for <31154 <at> debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 14 Apr 2018 12:25:35 -0700 (PDT) References: <689d625b-94f7-919b-c017-fa921d54c744@HIDDEN> <handler.31154.B.152373085729032.ack <at> debbugs.gnu.org> From: Matt Wette <matt.wette@HIDDEN> Message-ID: <664618b2-ad6b-5b29-c181-b3157e953209@HIDDEN> Date: Sat, 14 Apr 2018 12:25:34 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <handler.31154.B.152373085729032.ack <at> debbugs.gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Perhaps it belongs with the demo in Section 5.5 Defining New Foreign Object Types, with the image demo.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.