Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.lisp > #32935

Re: symbol-macros -vs- symbol setf-expander

From Kaz Kylheku <847-115-0292@kylheku.com>
Newsgroups comp.lang.lisp
Subject Re: symbol-macros -vs- symbol setf-expander
Date 2019-05-22 20:07 +0000
Organization Aioe.org NNTP Server
Message-ID <20190522125932.721@kylheku.com> (permalink)
References <jwv5zq3eh4i.fsf-monnier+comp.lang.lisp@gnu.org> <20190521125844.749@kylheku.com>

Show all headers | View raw


On 2019-05-21, Kaz Kylheku <847-115-0292@kylheku.com> wrote:
> On 2019-05-21, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> While discussing some extension to Elisp's `gv`, someone pointed out
>> that symbol-macros basically allow you to define a symbol as an
>> arbitrary "place", i.e. a kind of "place alias".
>>
>> Yet, it's subtly different since
>>
>>     (symbol-macrolet ((x (nth 5 (get-list)))) ...)
>>     
>> will re-execute (get-list) (and `nthcdr 5`) everytime `x` is used
>> without offering any easy way to take advantage of the setf-expander
>> infrastructure's ability to do those computations only once.
>>
>> Does anyone here know of work related to this, e.g. discussions about
>> the detailed semantics of symbol-macrolet?
>
> We have probably discussed this before, but in TXR Lisp I provide
> something called placelet.

I found the prior discussion from 2016.

In your response, you said that this is like gv-letplace.

Thus, isn't gv-letplace what that user is looking for, instead of
symbol-macrolet?

symbol-macrolet cannot, and more importantly must not, be made to behave
like gv-letplace or placelet. symbol-macrolet must adhere to its
crystal-clear substitution model.

symbol-macrolet doesn't have any non-obvious "detailed semantics".
If a symbol is in an evaluated position, and lexically defined as a
symbol macro in that scope, then we replace it with its definition
(which is just a literal piece of structure with no parameters), and
then walk that definition to expand more macros. The End.

Back to comp.lang.lisp | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

symbol-macros -vs- symbol setf-expander Stefan Monnier <monnier@iro.umontreal.ca> - 2019-05-21 15:46 -0400
  Re: symbol-macros -vs- symbol setf-expander Kaz Kylheku <847-115-0292@kylheku.com> - 2019-05-21 21:25 +0000
    Re: symbol-macros -vs- symbol setf-expander Kaz Kylheku <847-115-0292@kylheku.com> - 2019-05-22 20:07 +0000
      Re: symbol-macros -vs- symbol setf-expander Stefan Monnier <monnier@iro.umontreal.ca> - 2019-05-30 15:40 -0400
        Re: symbol-macros -vs- symbol setf-expander Kaz Kylheku <847-115-0292@kylheku.com> - 2019-05-31 04:51 +0000
          Re: symbol-macros -vs- symbol setf-expander "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-05-31 16:38 +0200
            Re: symbol-macros -vs- symbol setf-expander Kaz Kylheku <847-115-0292@kylheku.com> - 2019-05-31 18:42 +0000
              Re: symbol-macros -vs- symbol setf-expander "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-05-31 21:24 +0200
                Re: symbol-macros -vs- symbol setf-expander Kaz Kylheku <847-115-0292@kylheku.com> - 2019-06-01 02:34 +0000
              Re: symbol-macros -vs- symbol setf-expander Stefan Monnier <monnier@iro.umontreal.ca> - 2019-05-31 18:14 -0400
                Re: symbol-macros -vs- symbol setf-expander Kaz Kylheku <847-115-0292@kylheku.com> - 2019-06-01 02:51 +0000
                Re: symbol-macros -vs- symbol setf-expander Stefan Monnier <monnier@iro.umontreal.ca> - 2019-06-02 12:16 -0400
                Re: symbol-macros -vs- symbol setf-expander Kaz Kylheku <847-115-0292@kylheku.com> - 2019-06-03 01:13 +0000
        Re: symbol-macros -vs- symbol setf-expander Stefan Monnier <monnier@iro.umontreal.ca> - 2019-05-31 18:04 -0400
  Re: symbol-macros -vs- symbol setf-expander "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-05-22 22:00 +0200
    Re: symbol-macros -vs- symbol setf-expander a.daniel.eliason@gmail.com - 2019-05-23 08:10 -0700
      Re: symbol-macros -vs- symbol setf-expander Spiros Bousbouras <spibou@gmail.com> - 2019-05-23 15:22 +0000
        Re: symbol-macros -vs- symbol setf-expander Dimitri Fontaine <dim@tapoueh.org> - 2019-05-23 18:02 +0200
          Re: symbol-macros -vs- symbol setf-expander Spiros Bousbouras <spibou@gmail.com> - 2019-05-23 16:51 +0000
        Re: symbol-macros -vs- symbol setf-expander Kaz Kylheku <847-115-0292@kylheku.com> - 2019-05-23 17:05 +0000
          Re: symbol-macros -vs- symbol setf-expander "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-05-23 19:26 +0200
  Re: symbol-macros -vs- symbol setf-expander smh <shaflich@gmail.com> - 2019-05-22 18:47 -0700

csiph-web