unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#21013: Evaluation expression from C assumes that lambda is present
@ 2015-07-08 18:48 Stefan Israelsson Tampe
  2016-06-24  7:53 ` Andy Wingo
  0 siblings, 1 reply; 2+ messages in thread
From: Stefan Israelsson Tampe @ 2015-07-08 18:48 UTC (permalink / raw)
  To: 21013

[-- Attachment #1: Type: text/plain, Size: 936 bytes --]

When using the profiler in a pure module ,profile does not work

The reason is that in
    scmsigs.c,

At an evaluation occurs from C e.g.

static SCM
close_1 (SCM proc, SCM arg)
{
  return scm_primitive_eval_x (scm_list_3 (scm_sym_lambda, SCM_EOL,
   scm_list_2 (proc, arg)));
}

This means that languages in guile that want's profiling needs to export
lambda from (guile). Maybe this is a feature but there are two things that
can improve,

1. We can export @@ or @ as the only symbol from guile and fix all
evaluatoins like the above to issue a (@ (guile) lambda) in stead of lambda
etc. Maybe we should use a more uncommon symbol for @ and @@ to be used in
situations like that for which should always be reexported for langages
that want to support guile features.

lambda is a very common symbol and I would expect profiling to fail under
elisp no so this issues seams to be urgent. I will for know export lambda.

Regards
Stefan

[-- Attachment #2: Type: text/html, Size: 1295 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#21013: Evaluation expression from C assumes that lambda is present
  2015-07-08 18:48 bug#21013: Evaluation expression from C assumes that lambda is present Stefan Israelsson Tampe
@ 2016-06-24  7:53 ` Andy Wingo
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Wingo @ 2016-06-24  7:53 UTC (permalink / raw)
  To: Stefan Israelsson Tampe; +Cc: 21013-done

On Wed 08 Jul 2015 20:48, Stefan Israelsson Tampe <stefan.itampe@gmail.com> writes:

> When using the profiler in a pure module ,profile does not work
>
> The reason is that in 
> scmsigs.c, 
>
> At an evaluation occurs from C e.g.
>
> static SCM
> close_1 (SCM proc, SCM arg)
> {
> return scm_primitive_eval_x (scm_list_3 (scm_sym_lambda, SCM_EOL,
> scm_list_2 (proc, arg)));
> }

Amusing!  I tried to work around this use of `eval' but I can't because
there's too much C sclerosis.  Instead I switched to use scm_eval and
specified a module; should fix the issue.

Andy





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-06-24  7:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-08 18:48 bug#21013: Evaluation expression from C assumes that lambda is present Stefan Israelsson Tampe
2016-06-24  7:53 ` Andy Wingo

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).