Subject: Evaluation expression from C assumes that lambda is present

From: Stefan Israelsson Tampe <[email-masked]>
Date: Wed, 8 Jul 2015 20:48:38 +0200

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