From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Newsgroups: gmane.lisp.guile.user Subject: Re: Guile bugs Date: Thu, 20 Jul 2017 22:41:28 +0200 Message-ID: <87poculu2v.fsf@gnu.org> References: <87lgtajpkc.fsf@web.de> <87h8y7ruuz.fsf_-_@gnu.org> <877ez384eu.fsf@elektro.pacujo.net> <87k2333qx9.fsf@gmail.com> <87pocvc5ya.fsf@elektro.pacujo.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1500583323 21041 195.159.176.226 (20 Jul 2017 20:42:03 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 20 Jul 2017 20:42:03 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) Cc: guile-user@gnu.org To: Marko Rauhamaa Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Jul 20 22:41:59 2017 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 1dYIGf-0004iL-Qa for guile-user@m.gmane.org; Thu, 20 Jul 2017 22:41:53 +0200 Original-Received: from localhost ([::1]:39892 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYIGi-0007e6-7i for guile-user@m.gmane.org; Thu, 20 Jul 2017 16:41:56 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43754) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYIGN-0007dy-CQ for guile-user@gnu.org; Thu, 20 Jul 2017 16:41:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dYIGJ-0003fv-F8 for guile-user@gnu.org; Thu, 20 Jul 2017 16:41:35 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35259) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dYIGJ-0003fr-BF; Thu, 20 Jul 2017 16:41:31 -0400 Original-Received: from reverse-83.fdn.fr ([80.67.176.83]:47972 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dYIGI-0001M4-Pv; Thu, 20 Jul 2017 16:41:31 -0400 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 2 Thermidor an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu In-Reply-To: <87pocvc5ya.fsf@elektro.pacujo.net> (Marko Rauhamaa's message of "Thu, 20 Jul 2017 21:35:09 +0300") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e 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:13955 Archived-At: Hi Marko, Marko Rauhamaa skribis: > taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer"): [...] >>> 2. What would prevent Guile's GC from scanning the mmapped area for >>> pointers? >> >> I don't know the details but AFAIK this is no problem with Boehm GC. > > I don't understand. It can be quite time-consuming to scan gigabytes of > RAM for pointers. libgc knows which regions it must scan and mmap=E2=80=99d regions like this= are not among them. For the record, the loader in Guile 2.2 mmaps .go files in memory just like this (see =E2=80=98load-thunk-from-file=E2=80=99.) >>> 3. How do I efficiently encode information in a bytevector in Scheme >>> code? >> >> What sort of data? >> >> I have a library called bytestructures that imitates the C type system >> within Scheme, to be used on bytevectors that contain data structures >> generated by C code, though the library is built upon a generic core >> with which other structures can be declared as well. Not sure if this >> helps you: >> >> https://github.com/TaylanUB/scheme-bytestructures/ > > That's precisely it. It would be nice to have it as part of standard > Guile. Even though I agree that something like bytestructures should eventually land in Guile, I think Taylan just pointed out that this is something you can use if you=E2=80=99re dealing with structured binary data. But again, that really depends on the kind of data you=E2=80=99re dealing w= ith. Maybe sometimes the tools that (system foreign) provides are good enough, maybe sometimes you=E2=80=99d rather do something different like Gu= ile=E2=80=99s ELF parser does. HTH, Ludo=E2=80=99.