|
6macros: discussing the finer points of Perl 6 macros, Qtrees, and how to stay sane | irclog: irclog.perlgeek.de/6macros/today Set by moderator on 28 July 2015. |
|||
|
02:48
ilbot3 joined
17:37
Ven joined
18:18
FROGGS joined
18:38
Ven joined
20:09
Ven joined
20:24
vendethiel joined
|
|||
| vendethiel | masak: do we have a github issue about what we discussed irclog.perlgeek.de/6macros/2017-02-27 + the next day? | 20:56 | |
| I realized I was very wrong then :-) | |||
| cognominal | salut vendethiel | 20:58 | |
| vendethiel | hello | ||
|
21:17
Ven joined
|
|||
| vendethiel | Okay, done writing the setf-related thingie. Good. now... | 21:25 | |
|
21:25
Ven joined
|
|||
| vendethiel | I just started reading Common Lisp Recipes (only 5 months after getting it! woo!) and I realize how wrong I was at first (2017-02-27, 28 - as I linked previously). | 21:26 | |
| (I guess what happened on the '27 is mostly inconsequential, mostly about quasis nesting/scoping) | 21:27 | ||
| this message in particular shows a misunderstanding: irclog.perlgeek.de/6macros/2017-02...i_14177763 | |||
| it's not interesting at all in this case | 21:33 | ||
| and mostly - it's not codewalking | 21:51 | ||
| what's actually interesting is **injecting symbols** | 21:52 | ||
| so we're back to the "hygiene makes it hard to write a lot of macros" point. | |||
| I realized that when looking at something tangential - clhs.lisp.se/Body/m_defi_1.htm define-symbol-macro | 21:54 | ||
| can we, in 007 nowadays, write `macro term:<v> { ... }; v` | |||
|
21:55
Ven joined
|
|||
| vendethiel | I need to check, and I only have my windows computer here. | 21:55 | |
| I'm not sure why defun and defmacro have short names, but define-symbol-macro doesn't.. :) | 21:56 | ||
| anyway, there's a clear duality between define-symbol-macro <=> symbol-macrolet and defmacro <=> macrolet | |||
| However we're still stuck at the "help me have these identifiers make their way into the user code" | 21:58 | ||
| I was thinking of adding a trait to a macro | |||
| macro foo($node) is injecting(<< &infix:<+> $a >>) { $node } | |||
| foo({ 3 + 4 }) # this would use the macro's + | |||
| I'm just throwing this idea I had. It's not very good (dynamic identifiers, how do you set the values, etc), but I don't think we have a solution yet, so I'll throw stuff around :) | 21:59 | ||