Re: when are macros useful?

Liste des GroupesRevenir à cl lisp 
Sujet : Re: when are macros useful?
De : No_spamming (at) *nospam* noWhere_7073.org (B. Pym)
Groupes : comp.lang.lisp
Date : 05. Jul 2024, 00:04:48
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6769t$2ubtb$1@dont-email.me>
User-Agent : XanaNews/1.18.1.6
Here is a very simple macro example which shows some of the features:
destructuring, substituting into a template to produce a form,
using (gensym) to invent a needed symbol. The purpose of this macro
is to introduce a very simple language feature; a loop construct
which executes a sequence of forms N times, where N is a parameter.
We implement our new kind of loop, which we will call ``ntimes''
in terms of the Common LISP ``dotimes' loop:
 
    (defmacro ntimes (count . forms) (let ((counter (gensym)))
                                       `(dotimes
                                           (,counter ,count) ,@forms)))

Scheme

(define-syntax ntimes
  (syntax-rules ()
    [(_ count forms ...)
     (do ((n 0 (+ n 1)))
       ((= n count))
       forms ...)]))

Date Sujet#  Auteur
5 Jul 24 * Re: when are macros useful?2B. Pym
6 Jul 24 `- Re: when are macros useful?1Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal