On Thu, Dec 29, 2022 at 12:18:01PM +0300, Jean Louis wrote: > Thanks Thomas, after following your corrections: > > (setq my-list '()) ➜ nil > (benchmark 10000000 '(setq my-list (cons "Word" my-list))) ➜ "Elapsed time: 5.943843s (4.111302s in 3 GCs)" > > It works! > > > Read benchmark's doc string carefully :-) > > My misunderstanding is with FORM and BODY, when I read FORM, I > understand it is same as BODY. Now I see the difference. > > I have found reference in Emacs Lisp manual, but I cannot find > reference that FORM as argument means quoted sexp, if you have that > reference, let me know It's a bit subtle, since the point is rather the intention than the data type itself (the result of an evaluation is itself a form after all -- that's the magic of Lisp). The next I came to it (I searched Elisp's manual with `i' then `form' is "10.1 Introduction to Evaluation": A Lisp object that is intended for evaluation is called a “form” or “expression”(1). The fact that forms are data objects and not merely text is one of the fundamental differences between Lisp-like languages and typical programming languages. Any object can be evaluated [...] Worth reading :) Cheers -- t