guile-user
[Top][All Lists]
Advanced

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

Re: scm_apply_1() vs. scm_apply()


From: Hans Aberg
Subject: Re: scm_apply_1() vs. scm_apply()
Date: Wed, 14 Nov 2012 14:43:58 +0100

On 14 Nov 2012, at 11:31, Alexei Matveev wrote:

> I see interface of scm_apply_1() and scm_apply() are the same
> and dont get the difference [1].

File libguile/eval.c in the distribution gives:
/* Apply a function to a list of arguments.

   This function is exported to the Scheme level as taking two
   required arguments and a tail argument, as if it were:
        (lambda (proc arg1 . args) ...)
   Thus, if you just have a list of arguments to pass to a procedure,
   pass the list as ARG1, and '() for ARGS.  If you have some fixed
   args, pass the first as ARG1, then cons any remaining fixed args
   onto the front of your argument list, and pass that as ARGS.  */

Then scm_apply_1() does the first:
SCM
scm_apply_1 (SCM proc, SCM arg1, SCM args)
{
  return scm_apply (proc, scm_cons (arg1, args), SCM_EOL);
}

Hans







reply via email to

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