guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Geiser-users] geiser-xref-callers does not seem to work


From: Andy Wingo
Subject: Re: [Geiser-users] geiser-xref-callers does not seem to work
Date: Mon, 29 Jan 2018 09:53:04 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Hi!

Great to hear from you jao :)

On Sat 27 Jan 2018 17:41, "Jose A. Ortega Ruiz" <address@hidden> writes:

> hmmm, i was investigating this.  the cause geiser fails is that, in the
> process of looking for other things, it's not able to find
> `program-arities', exported by (system vm program).  i am not sure why:

Weird.  Apologies for this, the function just doesn't exist.  While
program-arity exists and calls it, program-arity itself isn't called.  I
think this is detritus of refactoring :(

The facility that Guile uses now for arities is find-program-arity from
(system vm debug).  It takes an address as an argument.  Pass
(program-code prog) if you know you have a program.  The issue is that
with Guile 2.2 there is code that doesn't necessarily have a
corresponding program object.  For example a function defined in a local
context whose callers can be enumerated by the compiler can be called by
label instead of by value, and in that case the "closure" of the
function can be specialized to be e.g. a vector instead of a closure
object.  So while you always have an address, you don't always have a
program object.

Relatedly, you ask about program-module.  This one is sadly no longer
available.  I suspect it is not coming back either :/  I think you have
to fall back on mapping procedures to files, and files to modules.

You might find a look to (system vm debug) to be useful for Geiser
purposes.  Note also that the interface to local variables and stack
frames changed slightly too; see (system vm frame).

Cheers,

Andy



reply via email to

[Prev in Thread] Current Thread [Next in Thread]