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.
01:24 ilbot3 joined 02:48 ilbot3 joined 02:54 vendethiel joined 08:02 FROGGS joined 09:51 vendethiel joined
vendethiel o/ 10:15
masak \\o 10:18
vendethiel I'll try to get back to irclog.perlgeek.de/6macros/2015-10-29 in the afternoon 10:29
but for now, family stuff &
masak :)
I tested the patch some more. it looks very promising. 10:32
I think its weakest point right now is Val::Object's stringification. 10:33
the obvious thing is that there's a `=>` in there, which is Perl 6, not 007 :)
but it also doesn't quote/escape its values properly 10:36
masak notices something odd with the way this is factored for arrays, and goes to fix 10:38
ok, just pushed github.com/masak/007/commit/745db5...b0526f9d0f which will surely help you make a better stringification for objects by exposing the right things 10:59
dinner & 11:02
11:34 FROGGS_ joined
masak Q::Property does Q but not Q::Literal. literals are only for things that can occur in expressions. 14:20
pushed yet another small commit that makes quoted stringification easier. 14:48
vendethiel: token term:object { '{' ~ '}' <property>* % [\\h* ',' \\h*] } -- why only horizontal whitespace? surely an object can be written over several lines? 14:55
I think both of those should be <.ws>
... 15:11
so, I was thinking
quasi @ Q::Trait { ... } means "put the parser in a state so that it's expecting a trait", right?
and the default `quasi { ... }` means something like `quasi @ Q::Expr { ... }` (because that's what macros return, because that's what both listop calls and operators are) 15:12
if that's so, then how come we can write arbitrary statementlists inside of the quasi? 15:13
something doesn't add up there.
this doesn't happen in Lisp because "everything's an expression/AST fragment" 15:20
in Perl 6, we have to agree with the parser what it is we're parsing 15:21
vendethiel: it seems `{bar() {}}` parses as a valid object literal, but `{bar() {} }` doesn't right now 15:59
16:04 vendethiel joined
vendethiel haha 16:25
also, you linked a fork of the riddley project. any reason? 16:26
github.com/ztellman/riddley seems more up-to-date
18:04 vendethiel joined 19:54 vendethiel joined