[00:00] p6: grammar G { regex TOP { ()+ }; regex abc { abc } }; G.parse("abcabc"); .say for @0 [00:00] niecza v24-109-g48a8de3: OUTPUT«「abc」␤ abc => 「abc」␤␤「abc」␤ abc => 「abc」␤␤» [00:00] ..rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«「abc」␤ abc => 「abc」␤ 「abc」␤ abc => 「abc」␤␤» [00:01] * Mouq fixes that too [00:02] Mouq++ [00:03] I'd much prefer if @/ and friends were distinct things, instead of equivalent to @($/), but I guess it's a solution. (Better than two unnecessary bytes per desire to iterate at least) [00:04] rakudo/nom: 456f3aa | Mouq++ | src/Perl6/Actions.nqp: [00:04] rakudo/nom: @, @1 mean @$, @$1 and %, %1 mean %$, %$1 [00:04] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/456f3aa9bf [00:05] Not my least cryptic commit message... [00:06] I'll be sure to betterify my syngen code once I feel like throwing another half-hour at rakudo compilation :P [00:10] someone should grep the ecosystem for "for $<" and "for $"\d... [00:13] timotimo++: could you please mention this change in p6weekly? [00:14] i'm glad you've given me a change to mention :P [00:14] everything else i remember off the top of my head is TimToady's recent contributions [00:14] so @ and % didn't exist so far, yes? [00:15] at least in rakudo [00:15] timotimo: Technically this is mostly his fault ;p [00:15] timotimo: They existed, but were equivalent to $ [00:15] ah [00:16] *** berekuk left [00:17] r: say Date.today() - 7 [00:17] rakudo-parrot 4d8734, rakudo-jvm 4d8734, rakudo-moar 4d8734: OUTPUT«2014-02-24␤» [00:18] moar-support landed in panda! [00:18] pretty sure that was this week [00:18] cool [00:23] *** kaare_ joined [00:23] lue: https://github.com/lue/pod_vvi/blob/master/lib/PODvvi/Actions.pm6#L45 [00:25] Mouq: yeah, I had a feeling. :) [00:27] *** dmol joined [00:32] Figures I can't use the debugger on Pod::To::HTML :| [00:33] lue: are you having a problem with "Unknown compilation input 'optimize'"? [00:33] Ah, nevermind, I just have to switch around the pod file and the --doc option. For some reason. [00:33] Mouq: Illegal option --doc [00:33] Oh. I was getting that on test files with BEGINs in them [00:34] Cool :) [00:34] *** Pleiades` left [00:34] ... and switching them around does nothing. Great. [00:34] $ perl6-debug-m ../specs/S26*pod6 --doc=HTML [00:34] >>> LOADING ../specs/S26-documentation.pod6 [00:34] $ [00:35] lue: Doesn't that call S26.pod6 with the option --doc=HTML? [00:35] *** dmol left [00:35] *** Pleiades` joined [00:35] probably would. But -debug-m won't accept a starting --doc [00:36] * lue just realized why the debug say he was trying to use (before trying the debugger) probably wasn't printing to screen :P [00:37] *** virtualsue joined [00:37] *** virtualsue left [00:37] I see what's happening, "NEL" isn't actually a unicode name. [00:39] It's only got a unicode 1.0 name, and even then it likely doesn't mean the "\n" you want. [00:40] rn: say "\c[NEL]" [00:40] (U+0085 has the name "NEW LINE (NEL)", the closest match it seems) [00:40] rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name NEL␤at /tmp/tmpfile:1␤------> say "\c[NEL⏏]"␤» [00:40] ..niecza v24-109-g48a8de3: OUTPUT«…␤» [00:40] rn: say "\c[NEW LINE (NEL)]" [00:40] niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Unrecognized character name NEW LINE (NEL) at /tmp/tmpfile line 1:␤------> say "\c[NEW LINE (NEL)⏏]"␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting …» [00:40] ..rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name NEW LINE (NEL)␤at /tmp/tmpfile:1␤------> say "\c[NEW LINE (NEL)⏏]"␤» [00:41] rn: say "\c[NEW LINE]" [00:41] niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Unrecognized character name NEW LINE at /tmp/tmpfile line 1:␤------> say "\c[NEW LINE⏏]"␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (d…» [00:41] ..rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name NEW LINE␤at /tmp/tmpfile:1␤------> say "\c[NEW LINE⏏]"␤» [00:42] "NEL" and "NEXT LINE" are aliases for U+0085 , not the actual name. "NEXT LINE (NEL)" is the Unicode 1.0 name. It has no current Unicode name. [00:43] * Mouq is both happy and annoyed that this super-hyped snow storm has missed us completely [00:44] heh. we got the start of our hyped snowstorm and then it petered out early [00:45] "Don't expect school Monday and Tuesday", "Worst snowstorm of the season!" [00:45] -_- [00:46] r: say "\c[NL]Hello!" [00:46] rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unrecognized character name NL␤at /tmp/tmpfile:1␤------> say "\c[NL⏏]Hello!"␤» [00:54] *** pippo left [00:55] *** rurban left [00:55] *** pippo joined [00:57] *** pippo left [00:58] *** spider-mario left [01:01] *** hoverboard left [01:01] *** colomon left [01:04] *** rurban joined [01:08] *** xenoterracide left [01:17] specs: 35e12b4 | lue++ | S26-documentation.pod: [01:17] specs: Change E to E<0x85> [01:17] specs: [01:17] specs: Currently errors on rakudo. NEL is in reality an alias for a codepoint [01:17] specs: without a current Unicode name, U+0085. Since it's unclear if such [01:17] specs: aliases are supposed to work, for now play it safe. [01:17] specs: review: https://github.com/perl6/specs/commit/35e12b4386 [01:23] doc: f189ac4 | Mouq++ | htmlify.pl: [01:23] doc: Make origin links point to #infix_*, fix search [01:23] doc: review: https://github.com/perl6/doc/commit/f189ac45e8 [01:24] * Mouq updates doc.perl6.org [01:25] *** rurban left [01:28] * lue wonders how long it'll be before perlcabal.org/syn and feather.perl6.nl/syn have the cool stylings of doc.perl6.org :) [01:31] https://github.com/perl6/Pod-To-HTML/commit/41db0 lue++ though I don't feel like this should be Pod::To::HTML's job [01:31] *** colomon joined [01:32] Mouq: there's no standard rule to match any kind of number, and convert it to decimal for you, so far as I know. [01:33] (though it would perhaps be nice if the rakudo side converted E<> things for you...) [01:34] lue: the latter is what I mean [01:34] lue: Though I'm not sure what to in the case of E etc [01:35] Like said, at this point Rakudo's side needs to be founded on AST nodes, instead of building the collection of classes itself. E<> stuff is a perfect example of how ASTyness would be helpful. [01:35] Mouq: E<> is supposed to handle HTML entities, regardless of your chosen backend. [01:36] s/backend/generator/, to be clearer [01:37] perl6 --doc -e'=pod E' [01:37] apos [01:37] :| [01:37] lue: So what is desired behaviour there? [01:37] Output an apostrophe, clearly :) [01:38] (E<> definitely needs to be processed by rakudo, rather than backends) [01:38] ::HTML happens to luck out with HTML entities, but ::Man and ::TeX and etc. would need to handle it similarly to how Rakudo would. [01:38] (if Rakudo didn't handle it, that is) [01:40] So rather than Pod::FormattingCode.new(type => "E", content => Array.new("apos")), you think it should be Pod::FormattingCode.new(type => "E", content => Array.new("'")) or Pod::FormattingCode.new(type => "E", content => "'")? [01:40] And then Pod::To::HTML can escape it itself? [01:41] Mouq: maybe? This is why ASTs would be better perhaps; it would be just another "plain text" node, perhaps with an attribute saying "special char; may need to handle this" [01:41] (with special casing for Pod::FormattingCode.new(type => "E", content => "\n") -> "
" [01:41] ) [01:41] But I definitely think it's detrimental to have every Pod backend implement E<> processing. [01:47] lue: And I'm not sure what you mean by AST [01:48] lue: What I've been saying about AST is that Perl6 should parse the code and generate an AST that builds the Pod at runtime, instead of compiletime [01:48] lue: But I'm not sure if you mean something completely different [01:49] Well, someone (I think tadzik) mentioned a while ago that perhaps the Pod parser in Rakudo should build a more QAST-ish structure, as opposed to the tree of Pod:: stuff it does now. (essentially, a tree of nodes that builds the Pod tree, instead of building the pod tree outright) [01:49] *** hoverboard joined [01:51] But the final output ($=pod and whatever's handed to Pod::To::*) would still be a tree of Pod:: stuff? [01:51] or do I misunderstand? [01:51] because I don't see a way around that [01:52] I forget what the specific issue was that gave rise to the idea, but presumably $=pod would hold the pod. [01:55] *** araujo left [01:55] *** araujo joined [02:02] Mouq: it came up while discussing M<> , and the person making the suggestion was you rather :) [02:04] Mouq: from S26: "By default, once the DOC INIT phase is complete, the interpreter then calls a special default DOC INIT block that walks the AST and generates the documentation, guided by the content of the $?DOC hint, the $=pod tree, and any DOC blocks that have loaded Pod-related handler code." [02:06] Sadly the "How Pod is parsed and processed" section doesn't seem to mention anything by way of processing *another* file's Pod from a Perl 6 script :/ [02:07] EVAL( $slurp ~ "\n$=pod")[0] :P [02:07] Which should really be like use File; File.pod or something [02:07] roast: d429f6e | larry++ | S05-mass/properties-derived.t: [02:07] roast: for <:Common> pick char with that property, duh [02:07] roast: review: https://github.com/perl6/roast/commit/d429f6e686 [02:14] Mouq: too bad we can't have something like DOC import "../docs/file.pod6" :/ [02:14] *** JimmyZ left [02:14] *** JimmyZ joined [02:14] I'd much prefer something like $~Pod.parsefile("foo.pod6") actually [02:21] This is the first time I've run syngen all the way through post-flattening-patches on MoarVM, and it took 2098 seconds, a significantly worse time than the ≈1230s I had before :( Don't know what caused it though. [02:22] *** LooneyLemur left [02:24] *** klapperl_ left [02:27] *** klapperl joined [02:30] *** Sqirrel_ left [02:31] *** Sqirrel joined [02:38] p6: say so "〣" ~~ /<:NumericValue(3)>/ [02:38] niecza v24-109-g48a8de3: OUTPUT«True␤» [02:38] ..rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in metachar:sym; couldn't find final '>' ␤at /tmp/tmpfile:1␤------> say so "〣" ~~ /<:NumericValue[33…» [02:39] wow, there's nothing in roast about that sort of thing [02:44] *** __thou left [02:44] *** alc joined [03:06] *** xenoterracide joined [03:08] *** jnap left [03:12] r: =head1 foo…$=pod.say # Hrm evalbot won't take U+0085 as an inline line separator; this works on CLI [03:12] rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: ( no output ) [03:24] *** fridim__ left [03:39] *** hoverboard left [03:52] r: =head1 foo…$=pod.say [03:52] rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: ( no output ) [03:52] r: =head1 foo……$=pod.say [03:52] rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: OUTPUT«Pod::Heading("level" => "1").hash␤ Pod::Block::Para␤ foo␤␤» [03:52] skids: ^^ [04:00] *** laidback_01 joined [04:04] *** rurban joined [04:05] *** hoverboard joined [04:09] *** jnap joined [04:09] .ask smls What font is used in http://imgur.com/a/y1dHo ? It looks like Helvetica or Arial but not quite... [04:09] Mouq: I'll pass your message to smls. [04:10] And definitely not either [04:13] *** jnap left [04:16] .tell smls And I can't say how much I love the mockup btw. I hope you don't mind if I've done the smallest amount of work getting the docs to look like it. The only thing I note on it is that Routine may need to be broken up into sub-categories [04:16] Mouq: I'll pass your message to smls. [04:17] *** xinming left [04:20] *** xinming joined [04:35] *** xinming left [04:39] *** hoverboard is now known as muchbacon [04:40] *** xenoterracide left [04:41] *** xinming joined [04:42] *** muchbacon is now known as hoverboard [04:43] Mouq: thanks. Wonder why it needs two. [04:43] *** itz joined [04:44] skids: Because =alpha will take keep going until it meets a blank line or another =pod declaration [04:44] Was trying to test Module::{$=pod} but that seems not functional. Also no way to test on evalbot without pod in an available module in base install. Maybe Pod::To:Text could use some dogfooding. [04:45] Mouq: well on star 2014-01 one works. [04:46] *** itz_ joined [04:49] *** vinian joined [04:49] *** vinian left [04:51] r: say "\x[85]" ~~ /\r\n/ [04:51] rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: OUTPUT«Nil␤» [04:52] Pretty sure that's why. [04:52] *** vinian joined [04:53] It wanted to parse it such that it needed two, but it messed up with the \x[85] because of its outdated use of \r, I'm pretty sure [04:54] star: =head1 foo␤$=pod.say [04:54] star 2013-09: OUTPUT«Pod::Heading("level" => "1").hash␤ Pod::Block::Para␤ foo␤␤» [04:54] No? [04:54] Humbug [04:54] Well, I'm 99% certain that its current behavior is spec [04:56] Pod thinks in terms of paragraphs, foo␤$=pod.say is a paragraph to it [04:57] yeah, $=pod.say should be part of the header in that star: line [04:58] p6: grammar Foo { token TOP { * }; proto token a { ab {*} }; token a:sym { }; token a:sym { }; }; Foo.parse('abcabdabdabc').say # Can this work pretty please? [04:59] niecza v24-109-g48a8de3: OUTPUT«「abcabdabdabc」␤ a => 「abc」␤ a => 「abd」␤ a => 「abd」␤ a => 「abc」␤␤» [04:59] ..rakudo-parrot 456f3a, rakudo-jvm 456f3a, rakudo-moar 456f3a: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Proto regex body must be {*} (or <*> or <...>, which are deprecated)␤at /tmp/tmpfile:1␤------> n TOP { * }; proto token a { ab {*} }[3…» [04:59] Niecza++ [04:59] that {*} should rather be <...> I think, at least according to the rakudo grammar [05:00] lue: "(or <*> or <...>, which are deprecated)" :) [05:00] Eh. I think {*} looks too much like a useless closure for my tastes. [05:01] lue: Perhaps, but it echos the spirit of {*} in regular routines [05:01] yeah, but I think <...> is more to the spirit of regexes :) [05:09] *** jnap joined [05:11] <...> is supposed to be {*} nowadays [05:11] Mouq: I think the current behavior is spec, yes. [05:11] <...> is a fossil [05:12] TimToady: is <*> fossily too? [05:12] first I've heard of <*> [05:13] <*foo> is supposed to mean something else entirely [05:14] *** jnap left [05:14] .oO(U+2029 is a "paragraph separator." Bother.) [05:14] you don't like paragraphs? [05:15] No just wondering what pod should do with it. [05:15] treat it as a paragraph separator, of course :) [05:16] Kinda hard to test given linux console just puts a space there when you type it. [05:21] *** [Sno] left [05:48] *** rurban left [05:51] rakudo/nom: 8f8ac8e | Mouq++ | lib/Pod/To/Text.pm: [05:51] rakudo/nom: [Pod::To::Text] support nested items [05:51] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f8ac8e9f3 [05:51] (^because: dogfooding^) [05:53] oh, oh, we have 666 entries on RC [06:20] *** darutoko joined [06:42] *** alc left [06:46] *** kurahaupo_mobile left [06:51] *** [Sno] joined [06:53] *** BenGoldberg left [06:57] *** pdcawley left [06:58] *** pdcawley joined [06:58] *** dayangkun joined [07:08] *** dayangkun left [07:31] *** xenoterracide joined [07:36] *** dmol joined [07:47] *** berekuk joined [07:48] *** Alina-malina left [07:49] *** Alina-malina joined [07:54] *** kaleem joined [07:59] *** FROGGS joined [08:01] *** berekuk left [08:05] *** berekuk joined [08:11] *** kaleem left [08:11] *** kaleem joined [08:12] *** zakharyas joined [08:14] *** kbaker joined [08:17] *** kaleem left [08:17] *** kaleem joined [08:23] *** kbaker left [08:25] *** darutoko- joined [08:25] *** salv0 joined [08:27] *** darutoko left [08:28] *** kaleem left [08:28] *** Ven joined [08:29] *** darutoko- left [08:30] *** kaleem joined [08:30] *** berekuk left [08:40] *** pdcawley left [08:40] *** hoverboard left [08:41] *** pdcawley joined [09:01] *** vinian left [09:05] rakudo/nom: 3333a41 | Mouq++ | src/ (3 files): [09:05] rakudo/nom: Parse and store Pod FormattingCode info in @.meta [09:05] rakudo/nom: [09:05] rakudo/nom: This works in conjunction with an updating commit to Pod::To::HTML [09:05] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3333a41b55 [09:16] * Mouq is pretty happy that Just Worked after he finally got the parsing correct. Corresponding ::HTML commit: https://github.com/perl6/Pod-To-HTML/commit/bbdfc [09:17] Mouq++ [09:22] *** fhelmberger joined [09:33] Mouq: can't you do something like `my @meta := $.map: {~*}` or something ? [09:34] * Ven is needlessly golfing [09:34] Ven: Where? [09:34] In the NQP? [09:34] yes [09:34] does nqp not support that ? [09:34] Not so much... [09:35] It could be golfed to `my @meta := []; @meta.push($_) for $`, but if you need to debug that gets annoying [09:36] *push(~$_) [09:36] Actually... why does that work? [09:36] why wouldn't it work? [09:39] r: =pod L␤␤say $=pod[0].contents[0].meta[0].WHAT [09:39] rakudo-parrot 3333a4, rakudo-jvm 3333a4, rakudo-moar 3333a4: OUTPUT«No such method 'contents' for invocant of type 'Pod::Block::Named'␤ in block at /tmp/tmpfile:3␤␤» [09:40] *** xinming_ joined [09:40] r: =pod L␤␤say $=pod[0].content[0].meta[0].WHAT [09:40] rakudo-parrot 3333a4, rakudo-jvm 3333a4, rakudo-moar 3333a4: OUTPUT«No such method 'meta' for invocant of type 'Pod::Block::Para'␤ in block at /tmp/tmpfile:3␤␤» [09:40] Bluh [09:40] r: =pod L␤␤say $=pod[0].content[0].content[0].meta[0].WHAT [09:40] rakudo-parrot 3333a4, rakudo-jvm 3333a4, rakudo-moar 3333a4: OUTPUT«No such method 'meta' for invocant of type 'Str'␤ in block at /tmp/tmpfile:3␤␤» [09:41] -_- [09:41] r: =pod L␤␤say $=pod[0].perl [09:41] rakudo-parrot 3333a4, rakudo-jvm 3333a4, rakudo-moar 3333a4: OUTPUT«Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("", Pod::FormattingCode.new(type => "L", meta => Array.new("http://perl6.org/…» [09:41] r: =pod L␤␤say $=pod[0].content[0].content[1].meta[0].WHAT [09:41] rakudo-parrot 3333a4, rakudo-jvm 3333a4, rakudo-moar 3333a4: OUTPUT«(Str)␤» [09:41] Weird [09:41] what would you expect it to be? [09:42] o/ [09:42] \o timotimo [09:43] moritz: Not sure, but it's not being serialized like the rest of the code does to strings [09:43] *** xinming left [09:43] \o [09:45] rakudo/nom: 6479fff | Mouq++ | src/Perl6/Actions.nqp: [09:45] rakudo/nom: Serialize strings being put in Pod::FormattingCode.meta [09:45] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6479fff8e8 [09:51] *** dakkar joined [09:52] i'm now looking through the git commit logs to find things to put into the p6weekly [09:52] feel free to point out anything i might miss [09:53] rakudo/nom: ed13bb1 | Mouq++ | src/Perl6/Grammar.nqp: [09:53] rakudo/nom: Pod definitions are semicolon delimited [09:53] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed13bb1d87 [09:54] *** kbaker joined [09:57] *** telex left [09:58] *** telex joined [10:05] doc: 9da5a03 | Mouq++ | htmlify.pl: [10:05] doc: Fix htmlify.pl for the latest Rakudo [10:05] doc: review: https://github.com/perl6/doc/commit/9da5a039ad [10:07] r: say [] Z=> <1 2 3>; [10:07] rakudo-parrot 3333a4, rakudo-jvm 3333a4, rakudo-moar 3333a4: OUTPUT«["a", "b", "c"] => "1"␤» [10:07] good [10:08] r: say [1, 2].WHAT [10:08] rakudo-parrot 3333a4, rakudo-jvm 3333a4, rakudo-moar 3333a4: OUTPUT«(Array)␤» [10:09] timotimo: TimToady++ has probably fixed >60 spectests for perl6-m about unicode properties, so we are down to 71 failures as of yesterday [10:09] where is the JVM? [10:10] timotimo: dunno if you have mentioned it already, panda now supports moar as well [10:10] 4 rakudo.jvm 2014-03-02 100.00% 39214ef 28979 5 610 1505 31099 28579 [10:10] 5 rakudo.moar 2014-03-02 99.83% 39214ef 28931 71 577 1334 30913 28579 [10:10] 6 rakudo.parrot 2014-03-02 99.59% 39214ef 28859 64 595 1395 30913 28579 [10:10] parrot should be clean in today's run [10:11] so Moar is 48 behind JVM? [10:11] sort of [10:11] but Parrot has the only star. [10:11] it is quite possible that tests are fudged on jvm that work on moar and vice versa [10:11] good antenoon, #perl6 [10:12] hi masak [10:12] tro [10:12] er. [10:12] FROGGS: how deep does the moar support go? [10:13] can i just go around and perl6-m rebootstrap.pl and panda my::favourite::module? [10:13] timotimo: yes [10:13] i'll surely mention that [10:13] but you might want to mention that there are two known precomp bugs that break modules like URI [10:14] maybe it is just one bug, I dunno [10:14] yeah [10:15] I am working hard on the S11 stuff if you want to put that in [10:15] rakudo-parrot should get back up to 99.72%, right? [10:16] rakudo/nom: f3cf9d5 | Mouq++ | src/Perl6/Grammar.nqp: [10:16] rakudo/nom: Allow any amount of content in C etc [10:16] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f3cf9d57c8 [10:16] p: say (28859+64) / 28979 [10:16] rakudo-parrot 3333a4: OUTPUT«0.998068␤» [10:16] i should also mention that if we were to run the moar-conc branches for the daily spectest runs, we would be getting even more passes. [10:16] yes [10:17] and when it is merged we can tick some boxes here: http://perl6.org/compilers/features [10:17] which is very nice :o) [10:17] \o/ [10:23] FROGGS: i'd like to link to the "experimental S11", where do i find that? [10:24] rakudo/eleven and panda/eleven [10:24] i meant the spec document :) [10:24] and perhaps link to the S11 spec as well, it fits almost the implementation I think :o) [10:24] oh, that's in specs/master? [10:24] cool. [10:24] yes [10:25] maybe link directly to http://perlcabal.org/syn/S11.html#Versioning [10:25] yes [10:26] did I mention that I love the way you can invoke `panda-m --auth=github:tadzik install Foo` ? [10:26] oooh :) [10:27] (you can even invoke scripts from different dists that install binaries under the same name) [10:28] like Foo and Blurb provide a bar2baz script [10:29] you will end up with bar2baz-m bar2baz-p and bar2baz-j, and to invoke the correct script you can do: bar2baz-m --name=Blurb [10:29] that already works? o_O [10:30] I've not tested it for some weeks but it should still work, yes [10:30] oh wow! [10:30] i didn't even realize! [10:30] only on linux though, I still need to write down the windows wrapper script [10:30] yeah [10:31] what a drag ;) [10:31] :o) [10:31] FROGGS++ [10:31] thanks :o) [10:32] finally some breakfast \o/ [10:32] FROGGS: Does =NAME and so on work? [10:32] ahh, and I need to think about a File::DistDir alike so that a module can load its shared data files [10:33] Mouq: you mean how a CU specifies its metadata? [10:33] FROGGS: mmhm [10:34] no, I think that is not handled yet [10:34] I just cared about what happens when you install a distribution [10:34] FROGGS: Ok, it just caught my eye :) [10:34] at that time you already have a META.info where everything should be included [10:35] so, some day we need a tool that bundles a bunch of files for release, perhaps creating the META.info on its own [10:39] *** darutoko joined [10:40] is that what perl5ers use Dist::Zilla for? [10:41] but this tool is probably a combination of a local installed toolchain and a proper dist upload server [10:41] timotimo: sounds like, I only used Module::Build [10:43] specs/pod6ify: f2f6e3b | Mouq++ | S26-documentation.pod6: [10:43] specs/pod6ify: [S26] This won't work without explicit code block [10:43] specs/pod6ify: review: https://github.com/perl6/specs/commit/f2f6e3bcb7 [10:43] Oop. Should probably be on master [10:45] specs: 39866b1 | Mouq++ | S26-documentation.pod: [10:45] specs: [S26] This won't work without explicit code block [10:45] specs: review: https://github.com/perl6/specs/commit/39866b157b [10:46] Much better. o/ #perl6 [10:47] o/ Mouq [10:48] ciao Mouq [10:52] *** Mouq left [11:07] *** xenoterracide left [11:08] *** denisboyun joined [11:17] *** xenoterracide joined [11:28] masak: ADT started failing overnight, Test::CSV still failing [11:28] CSS::Grammer started failing overnight [11:28] timotimo: ADT failed overnight [11:29] masak: meant Druid, not ADT, for you. :) [11:34] colomon: oh noes :( [11:34] it's tough being a module author [11:35] even tougher since i don't have any users, at least to my knowledge [11:35] on the bright side, your module is pretty cool [11:40] what a relief :) [11:40] i appreciate the notifications in any case [11:41] it's slightly annoying to have a module that needs fixing every now and then, but it'd be much worse to have a module that silently fails as soon as someone tries it out [11:42] lue: (Pod in QAST) no :) [11:42] *** xenoterracide left [11:42] actually, I did extra effort to do it the way it's done now, and I think it's the right way to do that [11:43] tadzik o/ [11:43] you got a favourite thing i should add to this week's p6weekly? [11:43] \o [11:44] o/ [11:44] * colomon wonders if anyone else has tried installing File::Find on moar [11:44] timotimo: other than panda on moar? :) [11:44] colomon: I usually don't since updating modules that are panda deps usually breaks panda :| [11:45] tadzik: already in :) [11:45] tadzik: emmentaler does it, and emmentaler / panda completely break when it does [11:47] oh, but it installs it to a different location, not updates the existing one [11:47] that should work, let's see [11:47] or am I one of those lucky fellas who can't connect to feather:3000? [11:48] ...yes [11:48] tadzik: I poked around the issue a bunch the other day. [11:48] IO::Socket::INET.new(:host, :port(3000)) hangs for me [11:48] (on moar) [11:49] let's see if the update helps [11:53] tadzik: for what it's worth, I think it's a moar bug and not a panda bug. [11:54] it is [11:54] lucky for me :D [11:54] ok, the bug is still there in the latest moar (for me) [11:55] aaow :( [11:55] aaw* [12:09] *** dmol left [12:10] colomon: thank you for the reports. [12:10] I looked into Text::CSV, but I couldn't identify the problem quickly. it seems parsing-related. [12:12] tadzik: what it looks like is happening is File::Find installs (this is with pandabrew/bin/pandabrew panda install File::Find, but the same error comes from emmentaler), then when it wants to clean up the install process it calls rm_rf (Shell::Command) which in turn calls find (File::Find) and when that call is made, it bombs out with an illegal opcode. [12:14] huh [12:14] as if it indeed overwrote the original File::Find, and re-loaded it somehow? [12:16] yeah, that's what it seems like, and that's why I suspect a Moar bug [12:16] it's not even supposed to be possible to trigger a re-load, is it? [12:17] to my knowledge, no [12:17] once it happens, panda is completely borked until you rebootstrap it [12:18] *** colomon left [12:22] *** bluescreen10 joined [12:24] *** colomon joined [12:28] this is pretty big: http://perltricks.com/article/72/2014/2/24/Perl-levels-up-with-native-subroutine-signatures [12:29] it is [12:29] that article is more accurate now than when it was first published. [12:29] but "PerlTricks.com and the authors make no representations or warranties with respect to the accuracy or completeness of the contents of all work on this website and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended. The advice and strategies published on this website may not be suitable for every situation. All work on this website is provided with [12:30] so that's OK. [12:33] cool (sub sigs)++ [12:33] *** xenoterracide joined [12:33] so it took them as much time as perl 6 to mature that much :p [12:35] Ven: yes, but don't ridicule them too much for that. they have other constraints than Perl 6 does. [12:36] masak: well, that's the point. It's ridicule to have *that much constraints*. I don't even know how they can move [12:36] let's just agree that we are happy to have signatures in Perl 5 as well, because we love Perl 5, okay? :o) [12:36] what FROGGS said. [12:37] If you move too far and break their code, your userbase doesn't come with you: http://alexgaynor.net/2013/dec/30/about-python-3/ [12:37] I'm not here to dump on Perl 5. those guys are doing an amazing job. [12:37] exactly (both of your sentences) [12:37] *** xenoterracide left [12:37] the more I'm involved in the Perl community, the more respect I have for Perl 5. [12:38] the fact that Perl 6 is an awesome vision doesn't change the fact that (size-wise), we're the Rebels to Perl 5's Empire. [12:40] *** spider-mario joined [12:41] maybe perl got the "urge to move" stance a bit better? [12:41] s/perl/the ruby community/ # duh [12:43] Ven: I'm not following what you're saying. [12:44] masak: from what I've seen in the community, the 1.9 had a nice list of breaking change (certainly not as much as perl 6 and probably less than py3), but people have been prompt to upgrade [12:45] Ven: that sounds quite likely to me. [12:45] Ven: maybe there is even some measure of "entrenched"-ness along which Ruby is much less affected than either Python or Perl. [12:46] masak: maybe we're just hipsters who try the new things instantly :p [12:47] Ven: seriously though, I think it's connected to how much code you already have that'll break. [12:47] Ven: also possibly connected to how good test coverage you have. [12:47] masak: that's why php people don't do any breaking change -- they don't have test [12:48] masak: but I guess it works much better if, instead of a big list of breaking changes [12:49] masak: you just break little things over time. Less things to fix in one time, you're not "left behind" [12:51] yeah. [12:51] or even "of course" :) [12:51] *** colomon left [12:53] *** skids left [12:53] someone please remind me, what is the undocumented grammar debugging feature in Rakudo again? [12:53] I think [12:53] thank you. [12:54] hm, no; doesn't work. [12:55] hm [12:56] bah, google sucks for searching irc log [12:57] and I can't find it with normal search either :( [12:58] *** rindolf joined [12:58] I tried doing 'git grep' in the Rakudo source, but I came up blank, too. [12:59] that would be an NQP feature [12:59] but also there git grep --word DEBUG comes up empty [13:00] masak: there's a --rxtrace command line option, and $grammar.HOW.trace-on($grammer) [13:03] *** virtualsue joined [13:03] moritz: thank you. [13:04] ahaha. --rxtrace traces the parse of my *program*, not my input. :D [13:04] yes :-) [13:04] for your own grammars, you have the grammar object available :-) [13:05] ===SORRY!=== [13:05] No such method 'trace-on' for invocant of type 'Perl6::Metamodel::GrammarHOW' [13:05] :/ [13:05] *** BenGoldberg joined [13:05] guessing this is an NQP feature, too... [13:06] why not Grammar::Debugger? [13:06] or Grammar::Tracer? [13:06] ah yes, it's from src/how/NQPClassHOW.nqp [13:07] *** vinian joined [13:07] *** vinian left [13:07] tadzik: because I tried it on Friday and discovered it's busted. [13:07] tadzik: https://gist.github.com/masak/eccadc58b72cd32f720e [13:08] tadzik: I don't know if it's busted gloablly on all Rakudo backends, or just on Moar. [13:10] *** DarthGandalf joined [13:10] *** darutoko left [13:10] *** xenoterracide joined [13:11] *** benabik left [13:13] masak: is the tracer also busted? [13:15] good question. [13:16] * masak checks [13:17] no... it's not busted! [13:17] moritz++ [13:27] <[Coke]> moritz++ - i cannot recall the last time I tried to run anything long running on feather. [13:27] <[Coke]> timotimo: TOO MANY SECRETS! [13:29] *** dayangkun joined [13:29] *** cooper joined [13:30] *** regreg joined [13:32] *** Grrrr joined [13:33] has anyone ever used the same action class for several successive parses before? [13:34] it never occurred to me until now, when I needed it. [13:34] *** frettled joined [13:35] by the way, if your DSL is line-based... make the grammar parse a single line, not the whole input. much easier. [13:38] masak: I haven't [13:39] *** TimToady joined [13:41] *** frettled left [13:41] moritz: shouldn't be a problem at all, and it even motivates having an actions object *more* than for just one parse. [13:42] (because I can keep encapsulated, persistent state between parses) [13:44] *** virtualsue left [13:45] *** virtualsue joined [13:46] *** darutoko joined [13:53] *** xenoterracide left [13:53] agreed [13:53] and it's likely faster :-) [13:54] *** virtualsue left [13:55] *** xenoterracide joined [13:56] *** virtualsue joined [13:56] *** camelia joined [13:58] *** ChanServ sets mode: +v camelia [13:59] *** kivutar joined [13:59] *** regreg left [14:01] *** frettled joined [14:06] *** regreg joined [14:08] *** colomon joined [14:11] r: sub a { $a = -> { say 'hi'; return; } $a(); say 'hello' }; a(); [14:11] *** ajr joined [14:11] rakudo-parrot f3cf9d, rakudo-jvm f3cf9d, rakudo-moar f3cf9d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$a' is not declared␤at /tmp/tmpfile:1␤------> sub a { $a⏏ = -> { say 'hi'; return; } $a(); say 'h␤ expectin…» [14:11] r: sub a { $a = -> { say 'hi'; return; }; $a(); say 'hello' }; a(); [14:11] rakudo-parrot f3cf9d, rakudo-jvm f3cf9d, rakudo-moar f3cf9d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$a' is not declared␤at /tmp/tmpfile:1␤------> sub a { $a⏏ = -> { say 'hi'; return; }; $a(); say '␤ expectin…» [14:12] r: sub a { my $a = -> { say 'hi'; return; }; $a(); say 'hello' }; a(); [14:12] rakudo-parrot f3cf9d, rakudo-jvm f3cf9d, rakudo-moar f3cf9d: OUTPUT«hi␤» [14:12] *** ajr is now known as Guest26568 [14:12] So, I got that right. Seems pretty surprising to me [14:12] but it makes sense if you think about it : `if a {}` is `if a -> {}` [14:13] so I guess you need that behavior [14:15] *** xragnar_ joined [14:15] *** xragnar left [14:15] *** xragnar_ is now known as xragnar [14:16] *** xenoterracide left [14:17] *** Guest26568 is now known as ajr_ [14:21] *** pmurias joined [14:22] lue, Mouq: shouldn't it be possible to turn most of the E<...> escapes into regular unicode characters? (so that the backends will just get regular text) [14:24] ahahaha [14:24] Perl is great at unicode [14:28] http://imgur.com/uwpTZXc [14:28] * [Coke] wonders if anyone here has been infected with the Happy songvirus. [14:28] maybe it's just not great at fonts :P [14:28] *** skids joined [14:29] there's a Happy songvirus? [14:29] *** rurban joined [14:32] * [Coke] hurls 24hoursofhappy.com [14:32] *** rurban1 joined [14:32] tadzik: my name was written correctly :P [14:33] lucky you :P [14:33] <[Coke]> it's a 4 minute song, there's a 24 hour music video of it on loop, each time with someone else dancing. (except the artist who shows up every hour on the hour.) (also an official video out there somewhere which is cut from the longer one.) [14:33] quoting YAPC::EU (or was that YAPC::NA?) organizers: „We love Unicode, we just don't use it” :P [14:34] *** rurban left [14:34] anyway, it's very nice to get an actual mail sometimes, I usually only get spam and invoices [14:34] yeah :/ [14:34] four times a year I get the german perl magazine, which is nice :o) [14:34] I'm thinking about setting up a camera and a speaker inside my mailbox [14:34] *g* [14:34] so whenever I see a leaflet tumbling in, I can shout "take your spam someplace else, you moran!" [14:35] with 200W speakers please :-) [14:36] :D [14:36] I'd have trouble keepint it powered, even if it was 2W [14:36] I'd send you a Howler then, and then they would shout at each other :o) [14:37] might be tricky to provide power for the mailbox in a block of flats [14:37] haha [14:37] *** rurban1 left [14:38] power via laser! [14:39] "power" [14:42] with sufficiently high power, you might even module the laser beam directly, and create a plasma that acts as a speaker [14:49] guys, do we want to create a Perl 6 Marketplace? [14:49] <[Coke]> Marketplace? [14:50] like a nice frontend for panda, with ads of new uploads on shiny pictures? [14:50] [Coke]: like the ubuntu software center, if you know that [14:51] http://i1-news.softpedia-static.com/images/news2/Ubuntu-Software-Center-Offers-New-eBooks-and-Magazines-2.jpg [14:51] (my eclipse has a marketplace now, this is why I thought we should have that too) [14:59] *** Ven left [15:01] *** xinming joined [15:02] *** xinming_ left [15:04] *** __thou joined [15:08] *** rurban joined [15:13] *** rurban left [15:17] *** bluescreen10 left [15:18] r: sub a { return { return } }; a()() [15:18] rakudo-moar f3cf9d: OUTPUT«Attempt to return outside of any Routine␤ in block at src/gen/m-CORE.setting:581␤ in block at /tmp/tmpfile:1␤␤» [15:18] ..rakudo-jvm f3cf9d: OUTPUT«Attempt to return outside of any Routine␤ in block at gen/jvm/CORE.setting:581␤ in block at /tmp/tmpfile:1␤␤» [15:18] ..rakudo-parrot f3cf9d: OUTPUT«Attempt to return outside of any Routine␤ in block at gen/parrot/CORE.setting:582␤ in block at /tmp/tmpfile:1␤␤» [15:18] \o/ [15:19] you can't return a block which returns from the routine you returned the block from... you silly. :) [15:22] *** SHODAN joined [15:24] r: sub b { say "HERE"; sub a { return { return } }; a()(); say "THERE" }; b() [15:24] rakudo-moar f3cf9d: OUTPUT«HERE␤Attempt to return outside of any Routine␤ in block at src/gen/m-CORE.setting:581␤ in sub b at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤» [15:24] ..rakudo-parrot f3cf9d: OUTPUT«HERE␤Attempt to return outside of any Routine␤ in block at gen/parrot/CORE.setting:582␤ in sub b at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤» [15:24] ..rakudo-jvm f3cf9d: OUTPUT«HERE␤Attempt to return outside of any Routine␤ in block at gen/jvm/CORE.setting:581␤ in sub b at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤» [15:25] but it's not outside a Routine :P [15:25] so that message is a bit LTA [15:25] TimToady: what would you like it to be? [15:25] *** kaleem left [15:25] "outside of its bound Routine"? [15:26] more like "Cannot return from the routine I was defined in because we already exited it" [15:26] but, some indication of a lexotic failure [15:26] even "Attempt to return outside my Routine" would be in improvement [15:28] 'my' might be mistakenly understood as 'my declaration'. [15:28] "my routine is not currently active, so how can I return from it? [15:29] illegal return / the routine I am bound to / already returned [15:29] :D [15:31] cannot return now / the routine I am part of / already returned [15:32] cannot return now / the routine I am part of / already did so [15:33] * PerlJam likes masak's version [15:34] though "bound to" is not bad, other than the overloadings [15:34] it does indicate deep relationship [15:34] r: sub b { say "ONE"; sub a { say "TWO"; return { say "THREE"; return } } }; sub c($a) { say "FOUR"; $a(); say "FIVE" }; say c(b()); say "SIX"; [15:34] rakudo-parrot f3cf9d, rakudo-jvm f3cf9d, rakudo-moar f3cf9d: OUTPUT«ONE␤FOUR␤TWO␤FIVE␤True␤SIX␤» [15:36] r: sub b { say "ONE"; sub a { say "TWO"; return { say "THREE"; return } } }; sub c($a) { say "FOUR"; say $a()(); say "FIVE" }; say c(b()) [15:36] rakudo-parrot f3cf9d: OUTPUT«ONE␤FOUR␤TWO␤THREE␤Attempt to return outside of any Routine␤ in block at gen/parrot/CORE.setting:582␤ in block at /tmp/tmpfile:1␤␤» [15:36] ..rakudo-moar f3cf9d: OUTPUT«ONE␤FOUR␤TWO␤THREE␤Attempt to return outside of any Routine␤ in block at src/gen/m-CORE.setting:581␤ in block at /tmp/tmpfile:1␤␤» [15:36] ..rakudo-jvm f3cf9d: OUTPUT«ONE␤FOUR␤TWO␤THREE␤Attempt to return outside of any Routine␤ in block at gen/jvm/CORE.setting:581␤ in block at /tmp/tmpfile:1␤␤» [15:36] the routine I belong to, maybe [15:36] I dunno, I think of it as a binding. [15:37] that's why it still attempts to return from the *original* function, even when the block is invoked from somewhere else. [15:37] masak: me too, which is why I like your version more [15:38] *** bluescreen10 joined [15:38] well, but will it be meaningful to the naïve user? [15:38] fwiw, I'm not seriously suggesting we put a haiku as the error message. :) [15:38] they might just say "I didn't bind anything" [15:39] A haiku error message would be awesome :) [15:40] If we teach it as binding, then the naive user will make the connection :) [15:41] Also ... how would a naive user end up in such a situation? [15:41] cannot return now / the routine return is in / already did so [15:41] *** genehack left [15:41] PerlJam: sub f(*@args) { map { return if $_ eq 'foo'; .uc } } [15:42] PerlJam: it is not the top goal of Perl to force CS down the user's throat, merely a secondary goal :) [15:43] *** kaare_ left [15:43] but to be sure, it's very like what would be called binding in, say, Scheme [15:45] On an unrelated note, does perl6 have something like a '#file' pragma? It would be nice if errors produced by code in gen/*/CORE.setting looked like they were generated by the code which generated the setting. That would let the evalbot consolidate those error messages :) [15:46] hark! [15:49] BenGoldberg: not that I know of, but that would be a LHF for someone to pluck [15:51] r: say $?FILE; say $?LINE [15:51] rakudo-parrot f3cf9d, rakudo-jvm f3cf9d, rakudo-moar f3cf9d: OUTPUT«/tmp/tmpfile␤1␤» [15:52] r: constant $?FILE = "PHOO"; constant $?LINE = 1; say $?FILE; say $?LINE [15:52] rakudo-parrot f3cf9d, rakudo-jvm f3cf9d, rakudo-moar f3cf9d: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Twigil-Variable constants not yet implemented. Sorry. ␤at /tmp/tmpfile:1␤------> constant $?FILE = "PHOO"⏏; constant $?LINE = …» [15:52] it might look something more like that [15:52] error messages as haikus sounds like a very nice non-core module. [15:53] well, this particular one merits a hiaku because you are returning in the wrong season [15:54] hehe [15:55] such a bad timing / because you are returning / in the wrong season [15:55] cannot return now / the season for it has passed / to return from here [15:55] though I think it's somewhat gauche to actually use the word "season" [15:56] <[Coke]> we will not redo / all the error messages / for haiku reasons [15:56] only for haiku seasons? [15:56] the time for return / stopped as we left the routine / you silly person [16:00] returning again / without going there again / is not possible [16:02] *** xinming_ joined [16:03] "Did you mean gather/take?" ;) [16:04] one can view the proposed ability to shut down a lazy list as (in part) telling a gather/take to return from the gather [16:04] *** xinming left [16:05] except, of course, that in one sense the gather has already returned [16:05] *nod* [16:06] r: say gather {} [16:06] rakudo-parrot f3cf9d, rakudo-jvm f3cf9d, rakudo-moar f3cf9d: OUTPUT«␤» [16:07] *** hoverboard joined [16:07] *** denisboyun left [16:09] one cannot interpret the shutdown of a gather as anything specific like return or leave or last, because one has no idea what the control structure surrounding the currently blocked take is [16:10] it's more just free the continuation and let the GC sort it out [16:11] yeah. [16:11] *** ajr_ left [16:11] that's the advantage of iterators. :) [16:11] *** ajr joined [16:11] with observers, they're working "against the grain" of the GC, and you have to add manual detaching logic. [16:12] *** ajr is now known as Guest89343 [16:12] *** Guest89343 is now known as ajr_ [16:12] BenGoldberg: a file pragma (ha pragma!) would not help, because in the source code the backend specific stuff will still have other line numbers, and how would one debug virtual line numbers? :o) [16:14] The backend specific stuff in gen/ comes from something which generated it, right? [16:14] it would help where the implementations are shared [16:14] BenGoldberg: yes [16:14] *** rurban joined [16:14] Then you'd point $?FILE and $?LINE to the file and line which did the generating. [16:15] BenGoldberg: have a look at https://github.com/rakudo/rakudo/blob/nom/src/core/terms.pm [16:15] $?LINE is a very funny constant, insofar as the compiler is allowed to change it on every line [16:16] the first parrot specific block is short than the jvm one, so what is the common line number after these blocks? [16:16] http://p6weekly.wordpress.com/?p=82&shareadraft=5314aac3e4766 - after i wrote the biggest portion of this i took a rather long nap and didn't look over the whole thing completely yet, so it's probably missing a few important things [16:17] it must be the biggest line number of all backends, so that there are holes in line numbering of the backends with short fudge blocks [16:17] but then you get a line number reported that either does not exist, or that does match a different position [16:17] I'm not saying that the line numbers would always be common. They'd be common for common code, and point to the vm-specific line numbers for vm-specific code [16:18] or the fudge scripts need to really put these holes in the generated source [16:18] I guess the last bit I said might actually work out [16:18] timotimo: the last bullet point ends in the middle [16:19] *** arnsholt joined [16:19] o/ [16:20] hi arnsholt [16:20] You only need "holes" if you only fudge the line numbers. [16:21] PerlJam: that's exactly the kind of thing i meant :D thanks [16:21] If you fudge the file name, so so code in gen/*/terms.pm pretends that it is actually src/core/terms.pm, you can simply point to the original line numbers [16:21] timotimo++ # I like it :o) [16:21] timotimo++ [16:22] BenGoldberg: but then a backtrace line that points to after a fudge block would be reported for three different line numbers... ahh, now I know what you mean [16:23] Continuing with the https://github.com/rakudo/rakudo/blob/nom/src/core/terms.pm example, [16:24] The backtrace from the first common line of code after the first fudge block would be line 49 of src/core/terms.pm [16:25] And for all three backends, an error in any of gen/*/terms.pm on the corresponding line would appear to come from src/core/terms.pm line 49. [16:25] yes, I got that now [16:25] Ideally, no errors would appear to come from gen/*/, they'd all appear to come from src/code/* [16:25] :) [16:26] *** treehug88 joined [16:26] *** dmol joined [16:26] I really love the idea, because it would not just silence camelia, it would even help debugging code [16:26] timotimo: [Xop] and [Zop] also rely heavily on recognizing list infix precedence of X and Z so that the arguments to the reduction do not flatten as a normal listop would [16:26] *** [Sno] left [16:26] because when I add something errornous, I already have that terms.pm open at the errornous point [16:26] in any case, you should probably use the term "reduction" in there somewhere or people won't see the brackets [16:27] a backtrace pointing to the gen'd setting that I ahve to open just to compare the text is, well, not perfect [16:27] TimToady: that means anything that's list infix now works better, yes? [16:27] And the same is true if you want to edit the code... you've got to go to the src/, not to the gen/ [16:27] i suppose it'd best be a new bullet [16:28] for duckmap, it's not exactly "inspecting"; it just tries it, and fails over to descending the structure [16:28] ah [16:31] If a cat can be both dead and alive, why can't it be on both sides of the door at once? [16:31] http://p6weekly.wordpress.com/?p=82&shareadraft=5314ae5d9d773 - new draft with a few issues fixed [16:32] "make two holes in the door for my two cats; one big and one small" [16:32] timotimo++ [16:32] stop that, it tickles ;) [16:35] *** btyler joined [16:35] masak: so, what does the Y metaoperator do now? [16:36] :P [16:36] timotimo: it doesn't exist. [16:36] timotimo: which is weird, because we have X and Z, right? [16:36] maybe it should zip to longest rather than shortest list [16:36] well, it better get specced soon, else we won't be able to release perl 6! [16:36] TimToady: that sounds surprisingly useful [16:37] but the devil is in the details [16:37] as always [16:37] clearly, the way Y looks, it should've been the zip operator :P [16:38] yeah, how come we never noticed that before :P [16:38] * masak remembers a time when it actually was Y, which was the Texas version of the Yen symbol [16:38] * masak shudders [16:38] *** zakharyas left [16:38] that was a thing? [16:38] timotimo: ya. [16:38] in perl 6, ya? [16:39] timotimo: usedta be we was cuh-ray-zee. [16:39] mhm [16:39] :P [16:39] masak: I think you linked a webpage about an efficient algorithm to pick items according to a non-uniform distribution, at some point in the past. Ring any bells? [16:41] arnsholt: yes. [16:41] arnsholt: ask moritz. [16:42] arnsholt: the model was two-dimensional, stacking rectangles in some cool way. [16:42] Exactly! [16:42] arnsholt: ah, found it: http://www.keithschwarz.com/darts-dice-coins/ [16:43] Thank you! [16:43] masak++ # Your google-fu is stronger than mine [16:43] :) [16:44] man, that's cool. I'm just skimming through it, but... wow. [16:44] I'm pondering doing a talk/coding demp for our students, making a simple chatter-bot, and then I need an efficient select-from-distribution algoritm [16:45] well, I'd go with a simple one for that, I think. [16:45] there's one in the middle of that page that loops a few times, but is a lot simpler than the final algorithm. [16:47] Yeah, or I'd just plop it in as a given (and make a Norwegian TV-cooking joke) [16:49] :) [16:50] "here, we just call the normal aliasing algorithm. next, we..." [16:50] That'd be mean =D [16:51] *** hoverboard left [16:54] so if I run my perl6-m from outside the nom directory, I get: Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so' at :1 (/home/larry/nom/perl6.moarvm::303) [16:55] TimToady: 'make install' ? [16:55] do that [16:56] probably something more like a relative install rather than an absolute [16:56] maybe I need to Configure with an explicit --prefix [16:56] *** fhelmberger left [16:57] I'm running Rakudo-on-Moar here, outside of the nom directory, with a relative install, and without --prefix [16:57] worksforme [16:57] no, all the build lines look absolute [16:57] hmm [16:59] Does perl6-m have the same problem as perl6-j perhaps, that rakudo/perl6-j only works from the rakudo dir, but nqp/install/bin/perl6-j works outside too? [17:00] could be [17:00] can't test at the moment, rebuilding [17:00] *** rurban left [17:01] *** rurban joined [17:04] oh, I'm using the install/bin one [17:06] *** xinming_ left [17:07] *** Alina-malina left [17:07] *** Alina-malina joined [17:07] *** xinming joined [17:11] *** pmurias left [17:17] i'll publish the blorgpost now [17:17] oh, actually [17:17] i have no entries for "what's cooking" [17:17] any suggestions? [17:18] *** kurahaupo_mobile joined [17:20] S11 is still cooking for me... maybe you just move it? [17:22] *** FROGGS left [17:23] *** hoverboard joined [17:30] sub infix:(...) { ...}; 1 Zip 2 :) [17:32] *** molaf joined [17:33] *** kbaker left [17:35] *** kurahaupo_mobile left [17:35] *** kurahaupo_mobile joined [17:35] *** klapperl_ joined [17:37] *** klapperl left [17:41] arnsholt: are you aware of nativecall-jvm fails on linux? [17:43] it boils down to java.lang.UnsatisfiedLinkError: Unable to load library './08-callbacks.so': Native library (linux-x86-64/./08-callbacks.so) not found in resource path [17:44] *** Alina-malina left [17:44] *** Alina-malina joined [17:46] some things I noticed $*VM is '-o ' on parrot, but it's empty on jvm/moar [17:46] also, the linux-x86-64 prefix, that jvm expects for some reason [17:47] *** Alina-malina left [17:48] *** kurahaupo_mobile left [17:48] *** Alina-malina joined [17:48] *** Rotwang joined [17:50] *** rurban left [17:53] *** bjz left [17:54] *** [Sno] joined [17:54] <[Coke]> j: "FooBarBaz".comb(/<:Upper><:!Upper>/); [17:54] rakudo-jvm f3cf9d: ( no output ) [17:54] <[Coke]> j: "say FooBarBaz".comb(/<:Upper><:!Upper>/); [17:54] rakudo-jvm f3cf9d: ( no output ) [17:54] <[Coke]> j: say "FooBarBaz".comb(/<:Upper><:!Upper>/); [17:54] rakudo-jvm f3cf9d: OUTPUT«Fo Ba Ba␤» [17:54] <[Coke]> j: say "FooBarBaz".comb(/<:Upper><:!Upper>*/); [17:54] <[Coke]> ^^ wtf? [17:55] rakudo-jvm f3cf9d: OUTPUT«(timeout)» [17:55] *** rurban joined [17:59] j: say "FooBarBaz".comb(/<:Upper><:!Upper>*/); [17:59] rakudo-jvm f3cf9d: OUTPUT«(timeout)» [17:59] m: say "FooBarBaz".comb(/<:Upper><:!Upper>*/); [17:59] rakudo-moar f3cf9d: OUTPUT«Foo Bar Baz␤» [17:59] <[Coke]> (blocker to porting mojo!) [18:00] j: say "FooBarBaz".comb(/<:Upper>[ .]*/); [18:01] *** treehug8_ joined [18:01] rakudo-jvm f3cf9d: OUTPUT«===SORRY!=== Error while compiling /tmp/q47AyUd0jq␤Unable to parse expression in metachar:sym; couldn't find final '>' ␤at /tmp/q47AyUd0jq:1␤------> rBaz".comb(/<:Upper>[ .⏏]*/);␤ ex…» [18:01] j: say "FooBarBaz".comb(/<:Upper>[ > .]*/); [18:01] rakudo-jvm f3cf9d: OUTPUT«Foo Bar Baz␤» [18:01] [Coke]: ^^ workaround [18:02] tadzik: Yeah, $*VM on JVM doesn't have to necessary info to build the test libs [18:02] tadzik: Run the test suite once with Parrot first and it should pass on JVM too [18:02] *** dakkar left [18:04] *** treehug88 left [18:04] *** treehug8_ left [18:06] <[Coke]> moritz++ [18:06] * masak .oO( moritz++ provided a fixer-Upper ) [18:06] *** rurban left [18:07] *** rurban joined [18:07] <[Coke]> masak: My internet here is super slow. can you bugify this? [18:08] <[Coke]> ++masa [18:08] <[Coke]> ++masak [18:12] *** ajr joined [18:12] *** ajr_ left [18:12] *** ajr is now known as Guest89207 [18:12] *** tgt joined [18:12] *** Guest89207 is now known as ajr_ [18:13] j: say 'a' ~~ /<:!Upper>/; say $/.Str.chars [18:13] rakudo-jvm f3cf9d: OUTPUT«「a」␤␤1␤» [18:14] I thought it might match zero-width, but that's not the problem, it seems [18:15] [Coke], masak: I'll submit the bug report [18:15] moritz++ [18:18] *** rurban left [18:19] *** rurban joined [18:22] *** virtualsue left [18:22] i quite enjoyed the article on loaded dice; i skipped almost half the whole article, though [18:24] it is quite enjoyable. [18:24] http://ssp.impulsetrain.com/goto.html # also enjoyable [18:24] *** rurban left [18:25] wow, first class *gotos*. [18:25] *** berekuk joined [18:26] first class labels [18:31] *** rindolf left [18:32] <[Coke]> moritz++ [18:35] yeah, I was hoping for first-class gotos... :/ [18:36] as in "change goto from line 10 to go to line 20"? :) [18:37] heck, self-modifying assembly code can do that. ;) [18:41] * colomon has just noticed that the wink-smiley his IRC program uses looks very pleased with itself. [18:45] *** FROGGS joined [18:47] *** darutoko left [18:48] *** ajr_ left [18:49] *** rurban joined [18:53] *** rurban left [18:54] *** vendethiel joined [19:05] *** sftp left [19:06] *** treehug88 joined [19:08] *** sftp joined [19:10] well, with first-class labels changing a goto is just changing the label [19:11] *** bluescreen100 joined [19:12] *** denis_boyun joined [19:13] loop labels do already work for the parrot backend, if somebody wants to pick it up I would be happy [19:13] except you can only bind all labels to one destination unless you put an indirection into it [19:14] *** ajr joined [19:15] *** ajr is now known as Guest44670 [19:15] *** Guest44670 is now known as ajr_ [19:15] *** bluescreen10 left [19:16] *** bluescreen100 left [19:19] *** jnap joined [19:21] mu: ed622dc | moritz++ | docs/feather/svnbot.pm: [19:21] mu: remove cruft [19:21] mu: review: https://github.com/perl6/mu/commit/ed622dca12 [19:22] *** xinming left [19:23] *** xinming joined [19:24] arnsholt: that's not really panda-friendly :/ [19:28] Yeah, I know =( [19:28] Problem is that figuring out how to build libraries without the VM telling us is pretty hard [19:28] we don't have this problem on moar [19:32] what's the problem? [19:33] getting compiler flags to compile C code on perl6-j I think [19:34] ah, yes. [19:34] MoarVM is closer to C than the JVM is, I guess. [19:34] a bit :o) [19:34] m: say nqp::backendconfig [19:34] rakudo-moar f3cf9d: OUTPUT«("ccoptiflags" => "-O1 -DNDEBUG", "uvrule" => "\$(AR) \$(ARFLAGS) \$\@ \$(UV_LINUX)", "tomobjects" => "3rdparty/libtommath/bn_error.o 3rdparty/libtommath/bn_fast_mp_invmod.o 3rdparty/libtommath/bn_fast_mp_montgomery_reduce.o 3rdparty/libtommath/bn_fast_s_m…» [19:34] Yeah [19:34] m: say nqp::backendconfig [19:34] rakudo-moar f3cf9d: OUTPUT«(Any)␤» [19:34] m: say nqp::backendconfig [19:34] rakudo-moar f3cf9d: OUTPUT« -O1 -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC␤» [19:34] also moar is coded to give the information arnsholt needs, right? [19:35] j: say nqp::backendconfig [19:35] rakudo-jvm f3cf9d: OUTPUT«("runtime.jars" => "/home/p6eval/rakudo-inst-1/languages/nqp/runtime/asm-4.1.jar:/home/p6eval/rakudo-inst-1/languages/nqp/runtime/asm-tree-4.1.jar:/home/p6eval/rakudo-inst-1/languages/nqp/runtime/jline-1.0.jar:/home/p6eval/rakudo-inst-1/languages/nqp/runtim…» [19:35] AFAIK JVM doesn't expose that kind of information [19:35] colomon: must be, because we use that to compile ops for perl6 [19:37] so the solution is simple! all arnsholt++ needs to do is code a new JVM, and have it give us the needed information… ;) [19:39] you can do it, arnsholt! [19:39] simple solution is simple :o) [19:39] ++arnsholt [19:45] /o\ [19:45] Scary solution is scary =p [19:46] j: say nqp::backendconfig [19:46] rakudo-jvm f3cf9d: OUTPUT«No such method 'at_key' for invocant of type 'BOOTHash'␤ in sub postcircumfix:<{ }> at gen/jvm/CORE.setting:2546␤ in sub postcircumfix:<{ }> at gen/jvm/CORE.setting:2542␤ in block at /tmp/PzxlwlYDgl:1␤␤» [19:47] <[Coke]> The fix is to pull any compiler detector code out of one of the backends and use it at the rakudo level. [19:47] m: say nqp::backendconfig [19:47] rakudo-moar f3cf9d: OUTPUT«(Any)␤» [19:47] <[Coke]> for parrot, that means pulling it out of perl5. what about moar? [19:49] Yeah, I guess that might be doable [19:50] *** rurban joined [19:53] [Coke]: we have presets for the os/compiler combinations, but we will have perl 5 like compiler flags proving in future [19:53] maybe we already have that... [19:53] nwc++ was working on that [19:54] *** rurban left [19:57] *** xenoterracide joined [20:05] *** regreg left [20:06] *** bluescreen100 joined [20:11] nwc10: I guess you're the person to ask about this: Which of Perl (5)'s Configure variables are the right ones to use to figure out how to build shared libraries? [20:11] Or if not the entirely right ones, at least [20:11] the least broken one (damn PCRS) [20:34] *** hoverboard left [20:37] http://feather.perl6.nl/ works again, as well as the perl6.net etc. redirects [20:38] <[Coke]> moritz++ [20:42] moritz: maybe it's time to learn something about ansible :P [20:44] timotimo: does that solve the problem of feather running debian/sid, and nobody except me making an effort to maintain it? :-) [20:45] *** kurahaupo_mobile joined [20:45] i fear not :| [20:46] another problem is that the apache upgrade breaks config [20:47] next time, find the option "create system restoration point" in the control center [20:48] restoring doesn't solve the problem of actually doing the upgrade :( [20:48] right; but if you find that there's trouble, you can clone the machine, do the upgrade, mirror the changes back with much less failure time in between [20:48] well, at least in theory [20:48] i don't know much about sysadmining in practice :( [20:50] well, for proper sysadmin practice, there would be a mirror system and/or a testbed [20:51] *** hoverboard joined [20:51] *** rurban joined [20:52] that'd require moneys and times [20:52] *** bartolin joined [20:54] and since time *is* money, it would actually require money² [20:55] only if it requires moneys times moneys [20:55] i think in this case it's more like 2moneys [20:55] ! money³ [20:55] 2moneys5problems [20:55] *** rurban left [20:59] <[Coke]> ansible communication? [20:59] i don't know what that refers to [21:00] timotimo: http://en.wikipedia.org/wiki/Ansible [21:04] Grrr. The only -debug- that doesn't die with "Unknown compilation input 'optimize'" is -debug-p, and that's waaay too slow with grammars to help anyone :/ [21:13] ah [21:13] ansible is something like puppet or chef [21:15] *** bjz joined [21:15] arnsholt: I think you need $Config{ld} (the unfortunately named variable for the *dynamic* linker) and $Config{lddlflags} [21:15] on the command line you can do things like: perl -V:ld.* [21:16] to get perl to print all config variables matching that pattern [21:16] *** gfldex joined [21:16] but I assume that if you're in the JVM trying to ask perl for >1 variable, pass it a custom little program on the command line (or stdin) which uses Config [21:16] instead of shelling out $n times with a perl -V [21:17] arnsholt: this file might be useful. It describes all the variables that Configure records: http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary [21:20] Cheers! nwc10++ [21:21] I'll probably put the config extraction in Configure.pl and store it in a JVM-friendly format somewhere (a properties file, most likely) [21:21] gnite #perl6 /o [21:21] And with that, I'm off to bed too [21:21] G'nite! [21:25] ♞ arnsholt o/ [21:32] nqp: c961832 | larry++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: [21:32] nqp: add four new opcodes for unicode properties [21:32] nqp: [21:32] nqp: Well, actually, add two new opcodes and two old opcodes that weren't exposed. [21:32] nqp: review: https://github.com/perl6/nqp/commit/c9618321e5 [21:40] good najt, arnsholt :) [21:41] *** hoverboard is now known as LinuxBrokeDawg [21:44] *** bartolin left [21:47] *** LinuxBrokeDawg is now known as hoverboard [21:49] nqp: a0dc24c | larry++ | docs/ops.markdown: [21:49] nqp: document new uniprop opcodes [21:49] nqp: review: https://github.com/perl6/nqp/commit/a0dc24ccd5 [21:50] don't have anything to call the new opcodes yet, you still have to say nqp::getuniname(0x1f4a9) to get to them [21:51] but locally: [21:51] > ./perl6 -e 'say nqp::getuniname(0x2424)' [21:51] SYMBOL FOR NEWLINE [21:52] we'll need to decide a good API for the user [21:52] true [21:52] something obvious like chr() [21:53] TimToady: gee, if only there were a spec with such ideas already in existence... :) [21:53] <[Coke]> TimToady++ [21:53] lue: where is your proposal again? [21:54] the property values work, but I'm not sure ucd2c.pl is encoding them quite right yet [21:54] FROGGS: https://github.com/perl6/specs/blob/master/S15-unicode.pod :) [21:54] looks like the tables are currently storing numerators and denominators in 1-bit fields, which can't be right [21:54] rather, https://raw.github.com/perl6/specs/master/S15-unicode.pod [21:55] but at least you can get at the bogus tables :) [21:55] nap & [21:56] FROGGS: what you're looking for is currently uniname("A") [21:56] uniname/uninames, yeah that is probably obvious enough :o) [21:56] (although it'd be nicer shortened to uname() ☺ ...) [21:56] except we look up the integer value [21:57] so maybe a multi [21:57] <[Coke]> http://perlcabal.org/syn/S15.html - 404 [21:57] could also be cname [21:57] rnap & [21:58] <[Coke]> http://www.pedestrian.tv/news/entertainment/this-photo-of-a-snake-eating-a-crocodile-is-the-mo/bcbb6ae6-0148-4017-80ed-8b4806c6c3a2.htm - THIS PHOTO OF A SNAKE EATING A CROCODILE IS THE MOST TERRIFYINGLY AUSTRALIAN THING EVER [21:58] <[Coke]> (except Damian++) [21:59] Yeah, I assume uniname() would be defined as something like sub uniname($a) { nqp::getuniname($a.ord) } [22:00] [Coke]: Pod6 docs (currently just S15 and S26) have to be hand-generated currently. S26 is old (don't know how much), S15 has never been generated. [22:04] <[Coke]> is the code for that lying about somewhere? [22:06] *** skids left [22:09] [Coke]: the POD5 stuff is in mu/ , Pod6 is (afaik) totally by hand. [22:10] [Coke]: https://github.com/lue/synopsis-generator is my attempt to replace that generator, and the 'pod6ify' branch of the specs repo holds converted synopses for my generator. [22:13] *** hoverboard left [22:15] *** Rotwang left [22:21] *** PZt joined [22:21] *** FROGGS left [22:23] *** Mouq joined [22:28] *** grondilu joined [22:29] * grondilu shows up to comment on the serpent eating a crocodile. [22:29] amazing stuff, huh? Yet I remember having heard that it's not rare that the serpent dies after it, unable to digest the croc. [22:38] there are tradeoffs to everything. [22:39] it's not like they have much choice, though. I also remember that serpents there have pretty much eaten everything so crocs my be the only big game left. [22:39] *** telex left [22:40] *** telex joined [22:40] *may [22:46] *** bjz left [22:52] <[Coke]> lue: what's blocking getting that or something like it into "prod" ? [22:52] * [Coke] commutes [22:55] *** denis_boyun left [23:00] *** tgt left [23:04] rakudo/nom: c8ef8d6 | Mouq++ | src/Perl6/ (2 files): [23:04] rakudo/nom: Allow X to be multi-dimensional [23:04] rakudo/nom: [23:04] rakudo/nom: Also sneak in a fix for a bug with D<> [23:04] rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8ef8d60ee [23:05] [Coke]: last remaining feature is getting backlinks (or smartlinks, as the POD5 generator calls them) under the right paragraph; so far they're only placed under the right section header. [23:06] There's also the need to make it faster in general, last full run on perl6-m for me was 2098 seconds. (On a machine that takes 30m to compile perl6-p, mind you) [23:06] *** Psyche^ joined [23:08] *** btyler left [23:09] *** bjz joined [23:10] *** Psyche^_ left [23:11] lue: Would you like my to time syngen? My laptop is pretty fast [23:11] Mouq: that'd be great, also to see what happens when someone tries running it for the first time ever :) [23:13] lue: What's the line I should run? [23:13] *** xinming_ joined [23:13] (specs in ../specs) [23:13] I use perl6-m -Ilib syngen.p6 --synopses=../specs --outdir=html --backlinks=../roast [23:13] *** fridim__ joined [23:13] lue: Ok, cool. Lemme rebuild panda and try it :) [23:16] *** xinming left [23:18] *** colomon left [23:19] *** kaare_ joined [23:20] Oh, hey, I should probably checkout the pod6ify branch [23:22] *** kurahaupo_mobile left [23:22] Mouq: yeah :) I'll soon push a merge of recent changes in master into pod6ify, after fixing the one Pod6-incompatible change. [23:22] *** berekuk left [23:23] lue++ [23:23] Luckily you changing the same part of S26 in both branches didn't get seen as a merge conflict :) . [23:24] *** colomon joined [23:24] * Mouq is glad he didn't break anything [23:25] Generating HTML files... 1/36 [23:25] These definitely take a while [23:26] specs/pod6ify: 5ef5f5c | larry++ | S32-setting-library/Containers.pod: [23:26] specs/pod6ify: Add Range.sample for TheDamian++ [23:26] specs/pod6ify: review: https://github.com/perl6/specs/commit/5ef5f5ca42 [23:26] specs/pod6ify: 73c60fc | larry++ | S32-setting-library/Containers.pod: [23:26] specs/pod6ify: remove accidental duplication [23:26] *** dalek left [23:27] *** dalek joined [23:27] *** ChanServ sets mode: +v dalek [23:27] Mouq: definitely. It'd be nice to change that to an inline call to Pod::To::HTML, but the module provides no mechanism for such :( [I'd have to construct the Pod stuff myself, like perl6/doc 's htmlify script does, but that seems bothersome.] [23:29] (perl6-j is the only backend I see that desperately requires such a change to the generator) [23:32] Hm :( Ironically, it fails to parse S26-documentation.pod6, which is likely my fault [23:32] *** skids joined [23:34] Oh [23:35] Technically not my fault ;p [23:35] what was it? [23:36] It's all my fault. :) [23:36] m: =begin code :allow␤B␤=end code [23:36] rakudo-moar c8ef8d: OUTPUT«===SORRY!=== Error while compiling /tmp/geVGRdyjTy␤Pod formatting code B missing endtag '>'.␤at /tmp/geVGRdyjTy:2␤------> B␤ expecting any of:␤ pair value␤ quote words␤» [23:40] I was able to parse latest S26 just fine, though I don't have latest rakudo etc. [23:40] * Mouq just decides that B should mean B and removes the rule preventing =gah from parsing [23:41] lue: 984.0981103 seconds [23:41] Yeah, if a command is in a formatting code, either it's supposed to be formatted, or whoever wrote the doc needs to do better :) [23:42] Mouq: that's better than I ever got (1230s) [23:42] Well actually... I'm not sure. [23:42] Should it parse fail? [23:42] What parsefailed? [23:42] m: =begin code :allow␤B␤=end code [23:42] rakudo-moar c8ef8d: OUTPUT«===SORRY!=== Error while compiling /tmp/qFPW1FlrcN␤Pod formatting code B missing endtag '>'.␤at /tmp/qFPW1FlrcN:2␤------> B␤ expecting any of:␤ pair value␤ quote words␤» [23:43] Oh, if it's in a =code block, definitely allow it. [23:43] lue: And it it's not...? [23:43] m: =begin code␤sometext␤=gah␤=end code [23:43] rakudo-moar c8ef8d: ( no output ) [23:44] Mouq: then it gets tricky. Someone might try B , don't know if we want to allow that. [23:45] * lue thinks formatting codes should perhaps not affect =command handling in any way [23:45] lue: Uhm. S02-bits.html (haven't checked the rest) ends up with a bunch of '/S02-lexical-conventions/unicode.t 7􏿽' etc [23:46] Oh? Lemme check the last S02 I generated [23:46]

/S02-lexical-conventions/unspace.t 274􏿽

[23:47] *** xenoterracide left [23:47] *** hoverboard joined [23:48] *** ajr_ left [23:50] Nope, everything looks fine here. Let me update all my stuff and run the latest of everything. It'll take a while though :/ [23:55] I'll save some time by not compiling nqp-p or perl6-p :) [23:55] *** bowtie joined [23:56] *** tgt joined [23:56] another nice insight that falls out of the persistent-actions-class notion: you can put *other* methods on the actions class, called explicitly from the code instead of implicitly from parsing process. [23:59] masak: I've been thinking about slangs lately, and the more I do, the more I realize their primary purpose should be to add languages to Perl 6, not modify existing ones. Trying to change anything in an existing grammar+actions looks very fragile in general to me.