From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mike Gran Newsgroups: gmane.lisp.guile.user Subject: Re: guile_gi-0.3.2 released Date: Thu, 30 Dec 2021 09:10:57 -0800 Message-ID: References: <49c3f704-691f-bbfe-7a4c-d6082f0a514a@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3100"; mail-complaints-to="usenet@ciao.gmane.io" Cc: guile-user@gnu.org To: Matt Wette Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Thu Dec 30 18:11:28 2021 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n2yxa-0000ia-R1 for guile-user@m.gmane-mx.org; Thu, 30 Dec 2021 18:11:26 +0100 Original-Received: from localhost ([::1]:37162 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n2yxZ-0006zd-6i for guile-user@m.gmane-mx.org; Thu, 30 Dec 2021 12:11:25 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:57356) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n2yxJ-0006x2-01 for guile-user@gnu.org; Thu, 30 Dec 2021 12:11:09 -0500 Original-Received: from sonic303-2.consmr.mail.bf2.yahoo.com ([74.6.131.41]:40347) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n2yxF-0003nz-2s for guile-user@gnu.org; Thu, 30 Dec 2021 12:11:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1640884262; bh=fvTe72qhJwyiudyBgdbFdRIPlFbN4X3TLOYZ9wRQc4s=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject:Reply-To; b=fYNQqe8JfbX3ZmPrg/WA1fjKLlm7t9yCnUGD4VrTBpnEmlyy+W9r5PEasIPUXAJsKu9tIpoaXqhRL4h5XufOR24qWyyiJMvFnGEbqhiayyZTHzLO3roLy5niIDUo3PbIaDxpT1q+4xRYndtRCAZ7932WMCZeXmhzVpTnKtRVRVyb3XQ/g5Nwi5usEz1OeY8Fm8SrITIeDGTK2zWtLiJP+nBBBDOUYn6w4dPp45txZ4SeY+dbEiAZzydjklzIW3vxbNqQiaThgwqLw4GwtefJMATmrZaGc7jTJzh7r82OBOCVPzioHoCbuudke++3DgzzrLbqlUlq4NKZQK3Pwi3S0w== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1640884262; bh=0hsdReI35o1AAzdP8Am2i/vSgstGu76d8aAnfWf5eA0=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=ZLdcBmHOqgrMzSHDs3sWKgzcoZngITeZVzbYm6mSniDijFnjAoQSMsn9awgTI0h1FofzhYGrrYYkQ/WGjAJBli9YFQH1UA1FknF/QQkABMHJuoPJa3zfGEHseEPhXvXEniLXRXCn4p0LGhKGM7sO6XVt/2amISfefmwM0j+o/9/o8PjS05ZWRAezN7OfUCNN6hIYtbwJIipi8CVgg/8FEgoHaOvd9bXeirbBlA0LO9lpkecf6+SEJde2/zjC2uJc1iDEjSD7ZUZNNE6J6ubf9T4/FQEwYGFas3/nQpO+qEPyzRdLZBm4NJ539dCg+o4qexGeW5NN4JwW0K84Zl6PuA== X-YMail-OSG: jN9DdqIVM1mz4xTQUaIP3i1Z41wJDpMYcIhhkpunDLlQc0530HETjklCq6_vjlU a3YlY2bdIjJz9zVI5QLCyTPeH97FH87u59Tu.5h1NIa_cRiPnWnQcScEs7eVQXBaSpB9a55Gld1r SCO_jZKSYHzpXZsYucTuImD6WRPQK8WAeovThFgQReKsNaZZzMubwDsmLsS9HGItP5IJAt01mblu 9CLBf7bBQtML8ySfzlrf3JkO0DWDnPhInbrjS0P28Io6Zcv9ORD1eAugrk5G3m2B_VHOxZO6IRgM UjMgGW1l6HL1LbSRFi53blhsUtaP6ZtZuP7ZQ7v_BXVQ3rA3JDG1ZZaDiUinp2F5TbeoDbjSZGxO 9Wx7q7wKMPNazQFCHLfGMF0ptywZMXD8MldUIJnJ_zFOGi1JDZ5WAXYk9QjNr51hFbqCcH2r0x7k j3a4rC7kbvtQCvhrK_FpWQ9xHFbI9kgrlbWKg6kzgKFZGSxO.dYtmeInsDFo1qpgQi9va9UcnwVL p7QksqyJdWvJ2xwAVlWHHlvru4VLypxxH0mN2kIdxr5Zblua2liB6lbgzQavsgKvdWf9hDKoFwvq M1PBWA6vw.mkqOYUTLh4wuMPUeMmXHF27fMMEi9vy2dxxwuVEUxDzFgACrbO.6kp7XgPXbLSM_qu UTOV1aukMRJmU74gjP85.LFyYtz.Q5bfLtrbq8t74Bu92StgGOMXt0IZOURftcxJ9XEN82lOeN5I HDHdFxdjTH.N3UfsZAhFio1m9Ge9UnmF3df7Y2WvSbu002dtSbr3vTLMrM1w.phccSoHXlUxyKPE mi_XZNfDoz0KFWw9tP7etErJLJaVuXVTZ2QRkvFfMI X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.bf2.yahoo.com with HTTP; Thu, 30 Dec 2021 17:11:02 +0000 Original-Received: by kubenode548.mail-prod1.omega.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID dc9e0c82f3cb53c55eacc3e3116e8ab8; Thu, 30 Dec 2021 17:10:59 +0000 (UTC) Content-Disposition: inline In-Reply-To: <49c3f704-691f-bbfe-7a4c-d6082f0a514a@gmail.com> X-Mailer: WebService/1.1.19551 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=74.6.131.41; envelope-from=spk121@yahoo.com; helo=sonic303-2.consmr.mail.bf2.yahoo.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:17942 Archived-At: On Thu, Dec 30, 2021 at 07:40:50AM -0800, Matt Wette wrote: > Thanks for the effort, Mike et al. > > I'll be digging in, curious to see how you worked the GObject system in. > I've spent some time trying to understand how GObject is laid out, as > the use of C macros makes it quite obtuse and I could not find a lot on > it.� If you are interested in my perspective let me know. Hi Matt, It is mostly GOOPS classes holding pointers to GObjects, and then relying on GOOPS to sort out getting the right method to the right GObject. The code is a tangle: especially all the FFI necessary to make it work. I wanted to get this release out there, even though it is rough, as the state of the code before a refactoring begins. The type system needs to be reconstructed. guile-gi expects that the GLib and GObject to which it is linked compile time is compatible with the GObject and GLib it finds at run-time, which may not be true. Please feel free to send any advice. There is a parallel effort -- g-golf -- which tries to provide typelib-generated bindings in a more schemey, user-friendly way. It also tries to minimize the amount of C. guile-gi has a lot of C, and its goal (not that we've really discussed a vision) is to be a fairly direct dump of GObject methods into GOOPS classes, for better or for worse. -Mike Gran