emacs-devel
[Top][All Lists]
Advanced

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

Re: Why is FUNC in cl-callf not allowed to be an expression?


From: Stefan Monnier
Subject: Re: Why is FUNC in cl-callf not allowed to be an expression?
Date: Tue, 21 May 2019 13:38:52 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

> Yeah, I know.  But cl-callf already exists, and the first argument is
> interpreted as a function, so would it hurt to remove the restriction to
> fbound symbols?

FWIW, I don't care what happens to cl-callf ;-)
I just assume that

    (cl-callf (lambda (x) (funcall (if flag #'1+ #'1-) x)) my-number)
    
should compile to the same bytecode as

    (cl-callf (with (if flag #'1+ #'1-)) my-number)

I think the discussion whether the first arg can be an expression or
not is just an indication of a design problem in `cl-callf`.

IOW, I'm more interested in providing a better replacement than in
trying to extend it.

> Would you want to see both gv-modify and gv-place-bind (or however we
> call it) added?  I tend to be more a fan of gv-place-bind.

I don't really have a clear opinion formed on this.


        Stefan




reply via email to

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