[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] pcase.el: Add type pattern
From: |
Michael Heerdegen |
Subject: |
Re: [PATCH] pcase.el: Add type pattern |
Date: |
Tue, 10 Mar 2020 17:24:56 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Adam Porter <address@hidden> writes:
> +(pcase-defmacro type (type)
> + "Pcase pattern that matches objects of TYPE.
> +TYPE is a symbol or list as accepted by `cl-typep', which see."
> + `(pred (pcase--flip cl-typep ',type)))
> +
Is there a reason why you omit the (require 'cl-lib) call in the
definition as suggested by Stefan?
With your definition in emacs -Q:
(macroexpand-all '(pcase 10 ((type (integer 0 10)) t))) =>
(if (cl-typep 10 '(integer 0 10)) (progn t) nil)
With Stefan's version:
(macroexpand-all '(pcase 10 ((type (integer 0 10)) t))) =>
(if (and (integerp 10) (>= 10 '0) (<= 10 '10)) (progn t) nil)
I.e. the type expression is treated at compile time and the dependency
to cl-lib is only at compile time, the compiled code has no dependency.
That should be better, no?
Michael.
- Re: [PATCH] pcase.el: Add type pattern, (continued)
- Re: [PATCH] pcase.el: Add type pattern, Stefan Monnier, 2020/03/09
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/09
- Re: [PATCH] pcase.el: Add type pattern, Stefan Monnier, 2020/03/09
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/09
- Re: [PATCH] pcase.el: Add type pattern, Michael Heerdegen, 2020/03/09
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/09
- Re: [PATCH] pcase.el: Add type pattern, Michael Heerdegen, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Michael Heerdegen, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern,
Michael Heerdegen <=
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Michael Heerdegen, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Michael Heerdegen, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Eric Abrahamsen, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Adam Porter, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Michael Heerdegen, 2020/03/10
- Re: [PATCH] pcase.el: Add type pattern, Stefan Monnier, 2020/03/16