Perl 6 - the future is here, just unevenly distributed

IRC log for #6macros, 2015-11-09

| Channels | #6macros index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:13 vendethiel joined #6macros
05:37 masak ven: review:
05:37 masak https://github.com/vendethiel/007/commit/bb2c44ac233e4e4239d27f9b1c10c4b646d696d5#diff-5f9c5e70b669396a5a5c3278420921b3R188 looks like the result of a faulty conflict resolution. you're undoing the <statementlist> -> <block> change that happened in master on term:quasi.
05:40 masak https://github.com/vendethiel/007/commit/bb2c44ac233e4e4239d27f9b1c10c4b646d696d5#diff-9899783fe59fab654c1af1b0c082ed2dR135 -- I don't think Q::Property is a Q::Literal. to qualify as a literal, you have to be able to occur freely in an expr. property syntax is specific to the object literal DSL. (because everyone wants the colon.)
05:42 masak https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-9899783fe59fab654c1af1b0c082ed2dR123 -- should be `does Q::Term` nowadays
05:44 masak https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-9899783fe59fab654c1af1b0c082ed2dR419 -- what would it take to fulfill this TODO? it looks like you're already doing `die` if we get back an undefined value.
05:45 masak https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-9899783fe59fab654c1af1b0c082ed2dR420 -- should be `$.ident.name` just like 3 lines down, no?
05:46 masak do you have tests for property lookup? like, one for successful lookup and one for failing lookup? I only see the former.
05:50 masak https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-54febf87456c8c74a4cf1f40d85e83c3R85 -- should be `?%.properties`
05:51 masak maybe we should have two tests for object boolification, too ;)
05:51 masak EOR
06:43 masak two latecoming comments (neither of them blocking acceptance/merge):
06:45 masak https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-54febf87456c8c74a4cf1f40d85e83c3R81 -- it's good that you're sorting, since we want stringification to be predictable. I keep being tempted to show the keys in "source order" (which would require an additional array with that information in Val::Object), but I'm a bit wary about unknown consequences of such a design decis
06:45 masak ion.
06:45 masak decision*
06:46 masak of note, JavaScript seems to have built source order into their objects early on, and then regretted it for various reasons, for example optimization.
06:49 masak the only reason I'm even considering it is that in some class declaration, there *is* a logical order. for example: Q::Postfix::Call ($.expr, $.argumentlist). Q::Statement::My/Constant ($.ident, $.expr). Q::Statement::If ($.expr, $.block).
06:52 masak looking at https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-54febf87456c8c74a4cf1f40d85e83c3R79 with fresh eyes, I'm thinking maybe the quoting logic in Val::Str.quoted-Str should be extracted into a global sub, and then used from both places.
06:52 masak ...maybe. :) it does create another dependency, but maybe that's nicer than creating that Val::Str on-the-fly just to get at one of its methods.
06:57 masak both uses are in Val.pm, so it could still be a lexical sub.
06:58 * masak goes back to injecting comments in the examples/ scripts before 007 has comments implemented
07:38 FROGGS joined #6macros
08:34 pdcawley joined #6macros
09:49 Ven_ joined #6macros
09:50 Ven_ o/
09:50 Ven_ https://github.com/vendethiel/007/commit/bb2c44ac233e4e4239d27f9b1c10c4b646d696d5#diff-5f9c5e70b669396a5a5c3278420921b3R188 -- oops!
09:51 Ven_ https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-9899783fe59fab654c1af1b0c082ed2dR123 whoops :)
09:51 Ven_ https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-9899783fe59fab654c1af1b0c082ed2dR419 I guess it should be cleaned? Is a bare die okay?
09:52 Ven_ https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-9899783fe59fab654c1af1b0c082ed2dR420 well, it's "bolted on". In this case, .ident is a Str (the key)
09:52 Ven_ https://github.com/vendethiel/007/commit/7c3850a32b51a9723aeabfc322743ed22d469b7e#diff-54febf87456c8c74a4cf1f40d85e83c3R85 this definitely warrants test :)
09:53 Ven_ lastly -- http://irclog.perlgeek.de/6macros/2015-11-09#i_11505116 I did that because I knew you argued for it in #perl6 :)
09:55 masak yes, I remember us talking about it. and I won't inflict my current vascillation about *how* to sort on your PR, so please keep it the way it is ;)
09:56 masak re "bare die" -- I think it's fine the way it is. that is, the TODO can probably go away.
09:56 masak what we usually do in the source though is to insert an `# XXX` comment asking for the string to be promoted to an X:: exception
11:26 masak by the way -- when I review, I first do a squash of all the commits, just to make sure I'm not commenting on a change that is undone by a later commit.
11:28 masak it might be worth considering squashing the commits into a single one at some point :) modulo some "preparatory changes", like the term:str -> <str> refactor.
14:10 masak another reason to prefer source ordering of object attributes: initialization order.
14:11 masak basically, a class declaration is like a function body, and an instantiation is like invoking that function. all the attribute declarations run, in order.
18:27 FROGGS joined #6macros
18:54 vendethiel joined #6macros
21:07 Ven_ joined #6macros
21:08 Ven__ joined #6macros
21:13 Ven__ masak: re http://irclog.perlgeek.de/6macros/2015-11-09#i_11505661 - does this not bother you?
21:21 Ven_ joined #6macros
21:22 Ven_ all of my tests fail with this:
21:22 Ven_ # -        Q::Statement::Expr Q::Term::Object [Q::Property<4342195016>]
21:22 Ven_ # +        Q::Statement::Expr Q::Term::Object [Q::Property<4344858216>]
21:25 Ven_ that happened when I removed Q::Property being Q::Literal
21:28 Ven_ heh, do I need a `if` for boolification?
21:28 Ven_ that's the only way I can see from grepping the tests
21:29 Ven_ whoops, there's a fix missing with my commit
21:51 Ven_ joined #6macros

| Channels | #6macros index | Today | | Search | Google Search | Plain-Text | summary