»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:01 espadrine left 00:02 n0tjack left
RabidGravy right finally fixed that last to the ecosystem 00:04
me-- # typotastic
00:06 _dolmen_ left
dalek rl6-most-wanted: 8181e56 | timo++ | most-wanted/modules.md:
add azawawi++ 's File::Zip as a WIP
00:06
00:07 raiph joined
lizmat .tell rarara__ I've completed GLRifying Str.split, but still need to look at a few spectest fails, will continue after some sleep 00:07
yoleaux lizmat: I'll pass your message to rarara__.
lizmat good night, #perl6!
RabidGravy right, that's enough. See you all in the morning 00:10
00:11 f33r3x joined 00:12 f33r3x left 00:14 xpen joined 00:15 RabidGravy left, softmoth left, spider-mario left 00:19 xpen left 00:25 tokuhirom joined 00:28 leont left 00:29 yeahnoob joined, tokuhirom left 00:33 ChoHag left 00:42 kid51 joined, _dolmen_ joined 00:44 rangerprice joined 00:48 n0tjack joined 00:49 Actualeyes joined 00:52 n0tjack left 01:08 BenGoldberg left, BenGoldberg joined 01:09 tokuhirom joined, BenGoldberg left 01:10 BenGoldberg joined 01:13 lsm-desktop joined 01:20 TimToady joined 01:21 n0tjack joined 01:22 _dolmen_ left 01:32 rurban left 01:47 AlexDaniel left
tokuhirom Is there a ruby's Thread.kill(thr) in perl6? 01:48
gfldex not yet
01:49 rangerprice left
tokuhirom oh 01:49
01:50 kid51 left
tokuhirom my test script never stop since it runs thread and the script never join the thread :( 01:53
01:54 adu joined
tokuhirom until a few days ago it was running 01:54
since done-testing calls exit(0).
gfldex such are the way of a beta release
tokuhirom but now, it never call exit(0) github.com/rakudo/rakudo/commit/60...36f9d24de3
yah, i know
01:56 n0tjack left
gfldex you could file a rakudobug or your provide a gist so somebody with sufficient knowledge can have a look 01:56
01:56 softmoth joined
adu exit(0) in a test? 01:57
That seems like a poorly written test
tokuhirom yes. my test case is not good 01:58
adu oh wait, that's lib test
02:01 softmoth left
tokuhirom i want to test a script like 02:01
Thread.start({ (server runs here) }); (client access to the server); done-testing;
02:04 adu left 02:11 n0tjack joined
japhb .ask nine Why did you use reified.push in 07f186d rather than nqp::push and .CREATE instead of nqp::create? 02:11
yoleaux japhb: I'll pass your message to nine.
japhb Grepping the Rakudo source, there are 93 CREATE and 198 nqp::create; it's not at all clear to me when to prefer one to the other, given that Mu.CREATE just calls nqp::create(self) 02:13
02:15 xpen joined 02:16 n0tjack left 02:19 Oatmeal left, xpen left 02:20 xpen joined 02:26 Juerd left 02:29 Oatmeal joined 02:30 Juerd joined 02:36 Oatmeal left 02:37 vendethiel joined 02:42 dayangkun joined 02:43 Actualeyes left 02:46 ilbot3 joined 02:47 Oatmeal joined 02:50 llfourn joined 02:51 Oatmeal left 02:57 Oatmeal joined 03:03 Oatmeal left 03:06 kaare_ joined 03:10 Oatmeal joined, Oatmeal left 03:11 adu joined 03:14 dayangkun left 03:16 dayangkun joined 03:31 BenGoldberg left 03:32 vendethiel left 03:44 softmoth joined 03:49 softmoth left 03:51 CJKinni_ left 04:00 Zoffix left 04:07 TimToady left 04:08 TimToady joined 04:22 Actualeyes joined 04:24 adu left 04:32 MadcapJake joined 04:38 n0tjack joined 04:42 n0tjack left 04:54 jasanj joined 04:57 aborazmeh joined, aborazmeh left, aborazmeh joined
Hotkeys I can't seem to get to pages on doc.perl6.org that have a '/' 05:03
I assume because of url funkiness
eg doc.perl6.org/syntax/%24%2F
($/)
05:07 Zoffix joined
Hotkeys then again it doesn't even exist in doc.perl6.org/syntax/ 05:09
05:09 skids left
mst if it's apache, maybe it needs AllowEncodedSlashes 05:11
05:11 raiph left 05:17 pollei left 05:19 domm joined 05:23 domm left 05:24 ingy joined 05:33 softmoth joined 05:36 FROGGS joined 05:37 softmoth left 05:43 aborazmeh left, uruwi joined 05:47 protium joined 05:49 crux joined 05:54 khw left 05:58 domm joined
dalek kudo/nom: e154644 | TimToady++ | src/Perl6/Grammar.nqp:
recognize metaop categoricals that need autogen

The actual autogen is NYI, but at least we report that now.
06:06
TimToady m: &infix:<X+> # before 06:19
camelia rakudo-moar 07f186: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oyRnITEL_o␤Undeclared routine:␤ &infix:<X+> used at line 1. Did you mean '&infix:<∖>', '&infix:<lt>', '&infix:<eq>', '&infix:<o>', '&infix:<~|>'?␤␤»
06:19 adhoc joined
psch TimToady: the patch misses e.g. &infix:['X+'], doesn't it? 06:22
TimToady hmm, I thought we were post-canonicalization there... 06:23
psch oh, that might be, yes. i'm asking because i don't know :) 06:24
TimToady m: &infix:<X+> # after
camelia rakudo-moar e15464: OUTPUT«5===SORRY!5=== Error while compiling /tmp/idyQIfBS8I␤Autogeneration of X+ infix not yet implemented. Sorry. ␤at /tmp/idyQIfBS8I:1␤------> 3&infix:<X+>7⏏5 # after␤ expecting any of:␤ postfix␤» 06:25
psch m: &infix:['X+']
camelia rakudo-moar e15464: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3vzfBfORhw␤Undeclared routine:␤ &infix:<X+> used at line 1. Did you mean '&infix:<∖>', '&infix:<lt>', '&infix:<eq>', '&infix:<o>', '&infix:<~|>'?␤␤»
TimToady but it doesn't seem to work right
06:25 domm left
TimToady note it's canonicalized by the time it gives that error though, hmm 06:25
06:31 abaugher joined 06:41 FROGGS_ joined 06:42 FROGGS left
dalek kudo/nom: f69d5d7 | TimToady++ | src/Perl6/Grammar.nqp:
use pre-canonicalized name of function, psch++
06:44
TimToady anyway, it already parses the metaop inside and produces the ast for it; someone just needs to wrap that up in a function and poke it back into the symbol 06:47
06:47 FROGGS__ joined
TimToady is going to bed soon, so will leave that for someone else to do, if they want to work on that while I sleep :) 06:48
06:48 FROGGS_ left
TimToady any, should work with :[] in half an hour or so 06:49
*anyway
works locally, even with &infix:['X' ~ '+'] 06:50
06:51 FROGGS__ left 06:53 ChoHag joined 06:57 geraud left 07:05 domm joined, n0tjack joined
nine Good morning, #perl6! 07:07
yoleaux 02:11Z <japhb> nine: Why did you use reified.push in 07f186d rather than nqp::push and .CREATE instead of nqp::create?
07:10 n0tjack left, RabidGravy joined 07:11 cognominal joined
nine .tell japhb the truth? I cargo culted .CREATE without thinking that much about it. I had a look at IterationBuffer.push, saw that it just does nqp::push and thought that if we cannot inline that, we have much bigger problems. So I rather avoided breaking encapsulation. 07:11
yoleaux nine: I'll pass your message to japhb.
07:13 domm left, domm joined
nine .tell japhb The good news is, that indeed, it does not matter all that much. Using nqp::push directly would be about 3 % faster. My guess is that once spesh did it's work, they're equal. 07:14
yoleaux nine: I'll pass your message to japhb.
[Tux] test 50000 40.446 40.329 07:15
test-t 50000 40.058 39.941
07:15 rindolf joined 07:17 _dolmen_ joined 07:19 risou joined 07:21 softmoth joined 07:22 domm left, azawawi joined
azawawi good morning #perl6 07:22
TimToady m: &infix:['X' ~ '+'] 07:25
camelia rakudo-moar f69d5d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RO3scemCYF␤Autogeneration of X+ infix not yet implemented. Sorry. ␤at /tmp/RO3scemCYF:1␤------> 3&infix:['X' ~ '+']7⏏5<EOL>␤ expecting any of:␤ postfix␤»
TimToady there we go
night everyone &
07:25 softmoth left
RabidGravy marning! 07:26
07:28 cognominal left, cognominal joined
azawawi RabidGravy: im seeing 7.8 seconds to 8 seconds on File::Zip test today with the latest rakudo... :) 07:33
RabidGravy yay! groovy
07:33 darutoko joined
azawawi Groovy is cool also as a language :) 07:34
oops lol
RabidGravy found the module I was thinking of when someone asked about enums the other day github.com/jonathanstowe/Log-Syslo.../Native.pm
azawawi Groovy is good btw for embedding changing business logic in Java land
RabidGravy I'd actually forgotten I wrote that
azawawi btw what happened to seek(..., $whence) constants? 07:35
why not adverbs also? 07:36
seek( $offset, :first | :last | :current )
RabidGravy I think I fixed it to use multis just before I went on holiday and then forgot about it 07:37
moritz adverbs are better when they compose
seek($offset, :first, :last)
WAT?
azawawi moritz: i see
moritz: good morning
RabidGravy but an enum would be good 07:38
moritz azawawi: good morning :-)
azawawi moritz: but then again enums would be faster
azawawi time to test zef 07:39
so why not make git tags useful for a command like the following "panda install $module@$tag-version" 07:43
like github.com/tadzik/panda/tags
07:44 FROGGS joined 07:45 lolisa joined 07:48 bjz joined 07:52 _dolmen_ left 07:56 yeahnoob left 07:57 abraxxa joined
moritz azawawi: I'd prefer it if we actually released modules, gave them versions, uploaded them seomewhere (PAUSE?), and then taught panda to install released versions 07:58
azawawi moritz: so then we have actual archives with checksums to verify them 07:59
07:59 yeahnoob joined
azawawi zef is so slow fyi compared to panda 08:02
why is it "Initializing" on every run?
moritz but I think zef still precompiles, no? 08:06
FROGGS and zef can install stuff concurrently 08:08
azawawi: maybe so you can an updated distribution list every time?
the Perl 5 cpan client does it once a day by default I think 08:09
azawawi i think the panda approach is the safest way 08:10
though it can be enhanced when failing to install a module to say to the user "maybe use `panda update` and reinstall?" 08:11
or better ask the user to issue an update and reinstall
or go automated to try to do it anyway without asking the user 08:12
panda install XYZ # if it fails, panda runs update and try to installs it again
azawawi tries panda on windows again 08:15
08:19 espadrine joined
azawawi failed t\01-sanity\55-use-trace.t on windows 08:21
hmmm 08:23
no .bat for binaries on windows
panda has no panda.bat
s/binaries/scripts
FROGGS: i remember that you fixed it last time, right? 08:24
08:25 Actualeyes left 08:26 ely-se joined
moritz m: sub f(:$*A) { say $*A }; my $*A = 42; await start f :$*A 08:30
camelia rakudo-moar f69d5d: OUTPUT«Dynamic variable $*A not found␤ in block <unit> at /tmp/5rYG6okbFW:1␤␤»
moritz :(
m: sub f { say $*A }; my $*A = 42; f; 08:31
camelia rakudo-moar f69d5d: OUTPUT«42␤»
moritz m: sub f { say $*A }; my $*A = 42; await start f;
camelia rakudo-moar f69d5d: OUTPUT«Dynamic variable $*A not found␤ in block <unit> at /tmp/jDdv9_jkJO:1␤␤»
moritz is that by design? 08:32
and if yes, how do I get dynamic variables into a thread?
FROGGS azawawi: no, I didnt 08:33
moritz m: sub f(:$*A) { say $*A }; my $*A = 42; my $A = $*A; await start f :$A
camelia rakudo-moar f69d5d: OUTPUT«42␤»
moritz this seems to work
08:34 espadrine left
azawawi Perl 6 is now mentioned on Selenium HQ website www.seleniumhq.org/download/#thirdP...geBindings after github.com/SeleniumHQ/www.selenium...rg/pull/48 . About 9 days of wait time and followup :) 08:34
moritz 9 days is pretty good 08:36
moritz still waits on this one: github.com/OTRS/otrs/pull/656
08:38 kjs_ joined
azawawi starts working on github.com/tadzik/panda/issues/112 08:39
moritz: nice 08:42
dalek kudo/nom: 26e461a | (Sterling Hanenkamp)++ | src/core/IO/Handle.pm:
Signal done when the handle closes
08:47
kudo/nom: da88815 | lizmat++ | src/core/IO/Handle.pm:
Merge pull request #566 from zostay/handle-supply-is-done

Signal done when the handle closes
RabidGravy just waiting for the electricity to go off here as the gas guy services thee boiler 08:49
08:52 mr-foobar joined
RabidGravy azawawi, what is that "lukeis" guy's problem? He seems to think that he gets to decide on how any particular language bindings get made, without doing anything in that regard himself 08:54
azawawi RabidGravy: but we have "Perl 6" on their website so it is a win :) 08:57
RabidGravy azawawi++ # great diplomatic skills, I think I would have made with the full on raving about half way through that exchange 08:58
08:59 rindolf left 09:04 rindolf joined 09:09 softmoth joined
RabidGravy yay, boiler guy managed to service the boiler without killing the electricity 09:10
09:10 dakkar joined 09:12 rindolf left 09:13 softmoth left 09:14 kjs_ left
RabidGravy which does of course mean I have shut down all these little computers for nothing 09:16
09:20 ely-se left 09:21 ollej left 09:22 Begi1115 joined, rarara_ joined
rarara_ Good day! 09:22
09:23 ely-se joined 09:24 FROGGS left
rarara_ lizmat++ 09:24
09:24 zakharyas joined 09:25 telex left, diana_olhovik_ joined 09:26 telex joined 09:29 yeahnoob left 09:30 Psyche^_ joined, grondilu joined, espadrine joined
azawawi so panda does not use CUR::Inst or will use it in the future? 09:30
09:31 [Sno] left
lizmat panda will use whatever Rakudo will provide for installation... 09:32
afk for a few hours&
09:32 n0tjack joined, [Sno] joined 09:34 Psyche^ left 09:36 n0tjack left 09:52 lolisa left 09:53 azawawi left 09:55 RabidGravy left 10:05 _mg_ joined 10:09 Hor|zon left 10:12 kjs_ joined
jnthn morning, #perl6 10:13
mrf morning 10:15
jnthn .tell tokuhirom If you Thread.start, you can also pass :app_lifetime which will have the thread automatically killed at the end of the program
yoleaux jnthn: I'll pass your message to tokuhirom.
jnthn moritz: There's an RT about start and dynamics already. 10:19
(Long story short, it should work as you wish.) 10:20
moritz jnthn: great
tokuhirom jnthn: oh, thanks! i'll use it 10:21
yoleaux 10:15Z <jnthn> tokuhirom: If you Thread.start, you can also pass :app_lifetime which will have the thread automatically killed at the end of the program
10:22 risou is now known as risou_awy, kid51 joined 10:23 risou_awy is now known as risou 10:24 pmurias joined
dalek p: 1fbf6c5 | (Pawel Murias)++ | src/vm/js/nqp-runtime/reprs.js:
[js] Add a noop compose for NFA
10:25
rarara_ m: my $compfiles=$("a", "b", "c"); my $comp-prom = do for |$compfiles -> $comparison { start {($comparison ~ "1", $comparison ~ "2", $comparison ~ "3")}}; my @g = await |$comp-prom; say @g.perl; say [Z] @g; 10:35
camelia rakudo-moar da8881: OUTPUT«[("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3")]␤((a1 b1 c1) (a2 b2 c2) (a3 b3 c3))␤»
rarara_ m: my $compfiles=$("a",); my $comp-prom = do for |$compfiles -> $comparison { start {($comparison ~ "1", $comparison ~ "2", $comparison ~ "3")}}; my @g = await |$comp-prom; say @g.perl; say [Z] @g;
camelia rakudo-moar da8881: OUTPUT«["a1", "a2", "a3"]␤((a1 a2 a3))␤»
rarara_ This ^^ doesn't seems consistent to me
but maybe I'm making mess 10:36
can be golfed down removing any async stuff 10:37
10:39 g4 joined 10:44 tokuhirom left
ab5tract_ rarara_: what is incondidtrnt? 10:45
*inconsistent
also, i think those slips are not necessary
rarara_ I am learning
10:46 jasanj left
ab5tract_ no worries, didn't mean it aggressively 10:47
rarara_ m: my $g=$("a",); my @o = do for |$g -> $e { ($e ~ "1", $e ~ "2", $e ~ "3") }; say @o.perl;'
camelia rakudo-moar da8881: OUTPUT«5===SORRY!5=== Error while compiling /tmp/j3bKm3eBtz␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/j3bKm3eBtz:1␤------> 031", $e ~ "2", $e ~ "3") }; say @o.perl;'7⏏5<EOL>␤ expecting any of:␤ sin…»
rarara_ m: my $g=$("a",); my @o = do for |$g -> $e { ($e ~ "1", $e ~ "2", $e ~ "3") }; say @o.perl;
camelia rakudo-moar da8881: OUTPUT«[("a1", "a2", "a3"),]␤»
ab5tract_ the one-arg rule will flatten a list if it is a single arg
m: my $g=$("a",); my @o = do for $g -> $e { $e X~ <1 2 3> }; say @o.perl; 10:48
camelia rakudo-moar da8881: OUTPUT«[("a1", "a2", "a3").Seq,]␤»
rarara_ m: my $g=$("a",); my @o = do for |$g -> $e { ($e ~ "1", $e ~ "2", $e ~ "3") }; say @o.perl; say [Z] @o;
camelia rakudo-moar da8881: OUTPUT«[("a1", "a2", "a3"),]␤((a1 a2 a3))␤»
rarara_ m: my $g=$("a",); my @o = do for |$g -> $e { ($e ~ "1", $e ~ "2", $e ~ "3") }; say @o.perl; my @o2 = [Z] @o; say @o2; 10:49
camelia rakudo-moar da8881: OUTPUT«[("a1", "a2", "a3"),]␤[(a1 a2 a3)]␤»
rarara_ m: my $g=$("a",); my @o = do for |$g -> $e { ($e ~ "1", $e ~ "2", $e ~ "3") }; say @o.perl; my @o2 = [Z] @o; say @o2;
camelia rakudo-moar da8881: OUTPUT«[("a1", "a2", "a3"),]␤[(a1 a2 a3)]␤»
rarara_ m: my $g=$("a","b"); my @o = do for |$g -> $e { ($e ~ "1", $e ~ "2", $e ~ "3") }; say @o.perl; my @o2 = [Z] @o; say @o2;
camelia rakudo-moar da8881: OUTPUT«[("a1", "a2", "a3"), ("b1", "b2", "b3")]␤[(a1 b1) (a2 b2) (a3 b3)]␤»
ab5tract_ rarara_: can you clarifywhat the strangeness you are finding is?
10:49 brrt joined
rarara_ it is the [Z] 10:49
ab5tract_ but I'm not personally seeing anything inconsistent 10:50
brrt good * #perl6
ab5tract_ can you clarify what you are expecting?
rarara_ I would have supposed it to return [(a1) (a2) (a3)]
my $g=$("a",); my @o = do for |$g -> $e { ($e ~ "1", $e ~ "2", $e ~ "3") }; say @o.perl; my @o2 = [Z] @o; say @o2;
ab5tract_ but it is a list with a single element 10:51
rarara_ yes but in some cases you cannot know in advance
ab5tract_ so the list is flattened, and then that single element is zipped with... nothing, as there is no second element
rarara_ and then you have to add an if and check the number of elements
zipped with nothing for me is [$(a1,) ,$(a2,) ,$(a3,)] 10:52
ab5tract_ m: my $g=$("a",); my @o = do for $g -> $e { $e X~ <1 2 3> }; say (flat @o).perl;
camelia rakudo-moar da8881: OUTPUT«(("a1", "a2", "a3").Seq,).Seq␤»
rarara_ you see: it zips with nothing
now it just don't zip
ab5tract_ rarara_: yes. that's due to the behavior I described
rarara_ ah ok, the one arg rule 10:53
10:54 TEttinger left 10:56 cschwenz joined
ab5tract_ I agree that your case is a bit confusing 10:56
10:56 cschwenz left
rarara_ I am thinking.. Maybe is just me not adapting in the right way 10:56
For sure adding if s everywhere to check the number of elements is not the solution to adapt 10:57
10:57 softmoth joined
moritz why would you need to check for the number of elements? 10:58
rarara_ the same as adding flat and eager everywhere
moritz because I don't know if the 1 arg rule will be applied or not
ab5tract_ rarara_: I would tend to not use [Z] for that use case, tbh
10:58 domm joined
rarara_ not knowing the number of elements of the list 10:58
ab5tract_ m: my @t = do for (<a b c d>, <e f g h>) -> $t { $t.map({[$_]}) }; @t.say
camelia rakudo-moar da8881: OUTPUT«[([a] [b] [c] [d]) ([e] [f] [g] [h])]␤»
moritz rarara_: the one-arg rule is syntactic in nature
rarara_: if you call something(@foo), then the one-arg rule applies to @foo because it's one argument 10:59
10:59 lucasb_ joined
ab5tract_ note how this approach maintains the list groupings and array-ifies each individual element 10:59
moritz rarara_: independent of the number of elements inside @foo
rarara_ something weird is happening with [Z]
ab5tract_ rarara_: have you explored the [] meta-op much besides the [Z] case? 11:00
rarara_ not
ab5tract_ maybe playing with some other examples might clear some stuff up
m: sub infix:<fun> ( $old-level, $new-level ) { say "moving from -Ofun=$old-level to -Ofun=$new-level" }; say [fun] ^6 11:01
camelia rakudo-moar da8881: OUTPUT«moving from -Ofun=0 to -Ofun=1␤moving from -Ofun=True to -Ofun=2␤moving from -Ofun=True to -Ofun=3␤moving from -Ofun=True to -Ofun=4␤moving from -Ofun=True to -Ofun=5␤True␤»
11:01 softmoth left
ab5tract_ which can and maybe should include some custom infix operator exploration :) 11:02
11:02 _mg_ left
ab5tract_ that version is messed up because say is interfering somehow.. interesting 11:02
m: sub infix:<fun> ( $old-level, $new-level ) { say "moving from -Ofun=$old-level to -Ofun=$new-level" }; ([fun] ^6)>>.say
camelia rakudo-moar da8881: OUTPUT«moving from -Ofun=0 to -Ofun=1␤moving from -Ofun=True to -Ofun=2␤moving from -Ofun=True to -Ofun=3␤moving from -Ofun=True to -Ofun=4␤moving from -Ofun=True to -Ofun=5␤True␤»
ab5tract_ derp
Timbus its the ret.. 11:03
ab5tract_ m: sub infix:<fun> ( $old-level, $new-level ) { "moving from -Ofun=$old-level to -Ofun=$new-level" }; ([fun] ^6).say
camelia rakudo-moar da8881: OUTPUT«moving from -Ofun=moving from -Ofun=moving from -Ofun=moving from -Ofun=moving from -Ofun=0 to -Ofun=1 to -Ofun=2 to -Ofun=3 to -Ofun=4 to -Ofun=5␤»
11:03 ely-se left
flussence ideally you'd just slap "--> $new-level" in the signature and it'd work... 11:05
ab5tract_ flussence: what do you mean? 11:06
flussence returning the input value instead of the return value of "say"
ab5tract_ m: sub infix:<fun> ( $old-level, $new-level ) { state $level; say $old-level; $new-level="moving from -Ofun={$level} to -Ofun={++$level}" }; ([fun] ^6).say 11:09
camelia rakudo-moar da8881: OUTPUT«0␤Use of uninitialized value $level of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub infix:<fun> at /tmp/L4nuFI9wuc:1␤Cannot assign to a readonly variable or a value␤ in sub infi…»
11:09 RabidGravy joined
ab5tract_ anyway, looks like I've got some learning up to do too 11:09
RabidGravy learning is over-rated 11:10
11:10 rindolf joined
RabidGravy but I have replenished my beer stock now so all is good 11:10
why did I think that it was possible to directly compare arrays with '~~' 11:19
jnthn m: my @a = 1..5; my @b = 2..6; my @c = 1..5; say @a ~~ @b; say @a ~~ @c; 11:20
camelia rakudo-moar da8881: OUTPUT«False␤True␤»
jnthn 'cus you can? ;)
moritz though note that * has a special meaning in ~~ array comparison
m: say [1, 2, 3, 4, 5] ~~ [1, 2, *] 11:21
camelia rakudo-moar da8881: OUTPUT«False␤»
moritz huh, or maybe not anymore?
RabidGravy me being dumb again 11:23
11:23 adhoc left
RabidGravy m: my @a = <1 2 3>; my @b = <3 1 2>; say @a.sort ~~ @b.sort; 11:23
camelia rakudo-moar da8881: OUTPUT«False␤»
ab5tract_ m: sub infix:<f>($o,$n) { state $s; my $t = $s ?? "Moving from -Ofun={$s} to -Ofun={$n}" !! "Starting at -Ofun=$n"; $s = $n; $t }; say [f] ^6 11:24
camelia rakudo-moar da8881: OUTPUT«Moving from -Ofun=4 to -Ofun=5␤»
11:24 adhoc joined
RabidGravy the Seq returned by sort doesn't compare that way 11:24
lucasb_ m: say @(<1 2 3>.sort) ~~ @(<1 2 3>.sort) 11:25
camelia rakudo-moar da8881: OUTPUT«True␤»
lucasb_ is this the idiomatic way of unrolling a Seq?
ab5tract_ why does that example I just pasted only return 4-5 ?
I would have expected a list of things, not just the final case 11:26
timotimo moritz: i thought a single * would match any element on the other side? perhaps a ** does what you meant there? 11:29
(or should mean)
moritz m: say [1, 2, 3] ~~ [1, 2, *] 11:30
camelia rakudo-moar da8881: OUTPUT«True␤»
moritz m: say [1, 2, 3, 4] ~~ [1, 2, **]
camelia rakudo-moar da8881: OUTPUT«True␤»
moritz timotimo: you seem to be correct, as usual :-)
timotimo oh i'm sorry ;) 11:31
lizmat m: dd "abc".split("",2,:all) # returns 2 elements, as expected 11:32
camelia rakudo-moar da8881: OUTPUT«Seq $var = ("", "abc").Seq␤»
lizmat m: m: dd "abc".split("b",2,:all) # returns 3 elements??? that seems incorrect ? 11:33
camelia rakudo-moar da8881: OUTPUT«Seq $var = ("a", "b", "c").Seq␤»
jnthn :all is kinda confusigly named :)
(When you see it together with a limit) 11:34
lucasb_ I was going to ask what :all do...
rarara_ m: my $a=Array.new(1,2,3); say $a; my $c=($a).List; say $c.perl;
camelia rakudo-moar da8881: OUTPUT«[1 2 3]␤$(1, 2, 3)␤»
rarara_ m: my $a=1; say $a; my $c=($a).List; say $c.perl;
camelia rakudo-moar da8881: OUTPUT«1␤$(1,)␤»
rarara_ why do we get a different number of elements in the two cases? 11:35
11:35 kid51 left
lucasb_ from syn: "If the :all adverb is supplied to the string delimiter form, the delimiter will be returned in alternation with the split values." 11:35
rarara_ m: my $a=Array.new(1); say $a; my $c=($a).List; say $c.perl;
camelia rakudo-moar da8881: OUTPUT«[1]␤$(1,)␤»
lucasb_ so, the first example "abc".split("",2,:all) should return ("", "", "abc") ?
rarara_ m: Array.new(1) == 1 11:36
camelia rakudo-moar da8881: OUTPUT«WARNINGS:␤Useless use of "==" in expression ".new(1) == 1" in sink context (line 1)␤»
rarara_ m: say Array.new(1) == 1
camelia rakudo-moar da8881: OUTPUT«True␤»
rarara_ m: say Array.new(1).WHAT; say 1.WHAT;
camelia rakudo-moar da8881: OUTPUT«(Array)␤(Int)␤»
lucasb_ ok, maybe :all is a little misnamed, maybe :interpolate, :intercalate, :interpose, I don't know :) 11:39
rarara_ it is the one arg rule.. pff 11:40
but $a could have been an array or not.. so flatten or not.. so get a list with 1 element or N.. How can you know all of this in advance? 11:41
timotimo what piece of code are we talking about right now? 11:45
gfldex rarara_: if you don't know what is returned in advance you need more multies to untangle it 11:49
11:51 grondilu left
RabidGravy (more multis)++ 11:54
11:59 ely-se joined 12:02 dayangkun left
moritz or you can ge coercive 12:03
slurpies are good that
12:11 ambs left, spider-mario joined 12:14 pmurias_ joined 12:18 pmurias left
JimmyZ m: slice 12:18
camelia rakudo-moar da8881: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6gicncw6DC␤Undeclared routine:␤ slice used at line 1. Did you mean 'splice', 'slip'?␤␤»
JimmyZ m: splice 12:19
camelia rakudo-moar da8881: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SnKVOzG9Ev␤Calling splice() will never work with declared signature (@arr, |c is raw)␤at /tmp/SnKVOzG9Ev:1␤------> 3<BOL>7⏏5splice␤»
12:22 _mg_ joined
dalek c: df1b189 | moritz++ | html/.htaccess:
Install redirect for a renamed document
12:25
lucasb_ m: $_ = 'abc'; ss/a/x/; .say 12:26
camelia rakudo-moar da8881: OUTPUT«xbc␤»
lucasb_ ^ what adverb is getting concatenated here to form "ss"? 12:27
timotimo :samespace
lucasb_ how come only 'ss' works and the other regex adverbs don't? 12:29
timotimo you mean "why does only :samespace have a short-hand"?
lucasb_ yes
why? :)
timotimo dunno
there's also one for "same accent" ... :keepmarks? 12:30
i've never used any of those two, tbh
oh
ignoremarks
lucasb_ S02 says "You may omit the first colon by joining an initial Q, q, or qq with a single short form adverb"
timotimo that may refer to quoting, though 12:31
er
that definitely only refers to quoting
that's why it says "initial Q, q or qq"
lucasb_ so I thought this only works with q/qq and not s///
timotimo right
12:33 Skarsnik joined
lucasb_ oh, I found it in S05. the special forms are only ss/// and ms// 12:34
timotimo: thanks!
timotimo glad to help! (i don't know how i helped, but ...) 12:35
Skarsnik Hello, is there a way to type a hash? 12:40
timotimo sure
m: my %foo{Int}; %foo{1} = "hi"; say %foo.perl
camelia rakudo-moar da8881: OUTPUT«(my Any %{Int} = 1 => "hi")␤»
moritz that's for the keys 12:42
and for the values:
m: my Int %foo; %foo<a> = 1; say 'alive'; %foo<b> = 'c'
camelia rakudo-moar da8881: OUTPUT«alive␤Type check failed in assignment to %foo; expected Int but got Str␤ in block <unit> at /tmp/32F_k7N2v8:1␤␤»
dalek ecs: d9d22e6 | (Kamil Kułaga)++ | S26-documentation.pod:
added missing semicollon
12:45
12:45 softmoth joined 12:46 sufrostico joined
ilmari m: my Int %Foo{Int} = (42 => 37); say %foo.perl 12:47
camelia rakudo-moar da8881: OUTPUT«5===SORRY!5=== Error while compiling /tmp/n8gnKoisYm␤Variable '%foo' is not declared. Did you mean '%Foo'?␤at /tmp/n8gnKoisYm:1␤------> 3my Int %Foo{Int} = (42 => 37); say 7⏏5%foo.perl␤»
ilmari m: my Int %foo{Int} = (42 => 37); say %foo.perl
camelia rakudo-moar da8881: OUTPUT«(my Int %{Int} = 42 => 37)␤»
Skarsnik Oh thx you. I was wondering how to to to write stuff like that %addr = (0 => "header", 512 => "something"); and keep the key as number 12:49
timotimo in that case you want an object hash literal 12:50
m: say :{0 => "header", 512 => "something"}.perl
camelia rakudo-moar da8881: OUTPUT«:{0 => "header", 512 => "something"}␤»
timotimo m: say dd :{0 => "header", 512 => "something"}
camelia rakudo-moar da8881: OUTPUT«Hash[Mu,Any] $var = :{0 => "header", 512 => "something"}␤Nil␤»
12:50 ely-se left
timotimo you can := that into a %foo variable 12:50
(otherwise it'll be a regular assignment and stringify again)
12:50 softmoth left
lucasb_ It seems that plain %h has type Hash[Mu,Any] and %h{Foo} has type Hash[Foo,Str]. I would argue that the second type should be Hash[Foo,Any]. Would anyone agree? 12:54
12:55 [Tux] joined
timotimo m: dd my %foo 12:55
camelia rakudo-moar da8881: OUTPUT«Hash $var = {}␤»
timotimo m: (my %foo).of.perl.say
camelia rakudo-moar da8881: OUTPUT«Mu␤»
timotimo m: (my %foo).^roles.perl.say
camelia rakudo-moar da8881: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤ in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤ in any apply at gen/moar/m-Metamodel.nqp:2671␤ in any compose at gen/moar/m-Metamodel.nqp:2807␤ in…»
timotimo ah, duh
that thing again
lucasb_ ^^ I meant 'my Foo %h' and not 'my %h{Foo}', sorry 12:57
timotimo ah
why is the key type Mu and not Str(Any)?
lucasb_ m: my Int %h = 1,Any
camelia rakudo-moar da8881: OUTPUT«Type check failed in binding key; expected Str but got Int␤ in block <unit> at /tmp/mfGaOP06xb:1␤␤»
lucasb_ it's inverted: Hash[ValueType,KeyType], not Hash[KeyType,ValueType] 12:58
timotimo ooooh
Skarsnik hm interesting, it work directly pastebin.com/WMMJ4NxU
timotimo of course
lucasb_ m: my Int %h = Any,1 # <-- I meant this, sorry agaaain
camelia rakudo-moar da8881: OUTPUT«Type check failed in binding key; expected Str but got Any␤ in block <unit> at /tmp/SVtIyGFFge:1␤␤»
timotimo right, the LHS of a pair will only be automatically turned into a string if it's a valid identifier 12:59
numbers aren't, so they won't
lucasb_ m: my %h = Any,1 13:01
camelia rakudo-moar da8881: OUTPUT«Use of uninitialized value of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/0guOraYaXe:1␤»
13:01 ribasushi joined 13:02 bitmap joined
colomon timotimo: my RT foo is weak. can you point out to Kamil that Rat arithmetic is explicitly spec’d to not be limited to resulting in a Rat? 13:03
timotimo colomon: did you get that per mail? if so, just use the "reply to list" function of your mail client to respond
colomon timotimo: got it in mail, but in a mail client that is hard to respond from. Still, hmmm. 13:04
timotimo give me a link to the relevant part of the spec and i'll send it 13:05
timotimo makes tea in the hopes of calming his cough
colomon is working on a reply now.
13:07 lucasb_ left
RabidGravy is there a standalone META parser thingy out there that I am missing? 13:07
tadzik nope
RabidGravy might make one then
reason being that I would like to make something that tests that the one in a distribution is likely to work 13:08
timotimo instead of making tea, i think i'll just lie down to sleep for another bit and hope i'll miraculously recover 13:09
RabidGravy sounds like a plan
both wife and cat are asleep here
timotimo colomon: does "working on a reply" imply you can sand it out yourself? 13:10
lizmat is contemplating a nap in the sun as well
colomon timotimo: yes
RabidGravy boiler man came an hour earlier than anticipated so we'd done everything we needed to do before we usually go out ;-) 13:11
dalek kudo/nom: 3cc1955 | jnthn++ | src/core/Str.pm:
Prepare Str.perl for upcoming NFG changes.

Updates to the NFG algorithm mean that we will can get isolated marks in the middle of a string, after control characters.
timotimo okay 13:15
timotimo takes that nap
colomon timotimo: mail (hypothetically) sent
jnthn timotimo: nap well :)
13:20 perl6fun joined
Skarsnik Is there a defined solution for modules that provide the same service? I mean like the 5 jsons modules are easy to change because they mainly only provide a parse-json function. But like I have a module that parse hmtl using a c lib and there is already html::parser:xml. It could be good the user can just select the implementation he want; without changing deeply his code (like sub module) 13:33
13:34 pmurias_ is now known as pmurias
pmurias Skarsnik: do the modules provide an identical API? 13:34
Skarsnik not exactly. h:p:x provide a class when I just provide a parse-html function. but basicly you provide a html string and it return a XML::Document 13:36
13:37 raiph joined
pmurias I don't think there is a defined solution, or that one is even possible. 13:38
Skarsnik I was trying to come with a solution to override all the h:p:x call/symbol with my own one (providing a 'fake' h:p:x class) but I don't think it's possible 13:40
I was also thinking something like a 'fake' module Service::Parse::HTML and it use by default h:p:x but if you write use OtherImpl; OtherImpl can say to s:p:h to use him 13:44
perl6fun I need a good analytics module like pandas and good visualisation like ggplot2 and seaborn in perl 6. 13:46
13:47 skids joined
dalek c: 8df205d | moritz++ | util/sync:
Synchronize .htaccess too
13:47
13:48 apotheon joined
moritz perl6fun: the either use Inline::Python, or port them to Perl 6 13:48
brrt actually ggplot2 is an R library :-) 13:49
(i'm not sure about seaborn)
and it is indeed awesome
moritz stanford.edu/~mwaskom/software/seaborn/ "Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics."
well, write Inline::R, use it :-) 13:50
perl6fun Porting these libraries to perl 6 would be better :) 13:53
moritz it seems I deleted quite a few files from doc.perl6.org that I shouldn't have :(
I hope that the next automatic sync restores them
unless I misunderstood rsync, and github.com/perl6/doc/commit/8df205d3ce is to blame 13:55
13:55 Actualeyes joined 13:56 _mg_ left 13:58 CJKinni_ joined, softmoth joined
hahainternet is there a nice way to get the unicode name for a character? 13:58
am i missing some key function here?
moritz m: say uniname(42)
camelia rakudo-moar 3cc195: OUTPUT«ASTERISK␤»
hahainternet oh, bare uniname 13:59
merc
i
moritz m: say uniname('ä'.ord)
camelia rakudo-moar 3cc195: OUTPUT«LATIN SMALL LETTER A WITH DIAERESIS␤»
moritz m: say uniname('ä')
camelia rakudo-moar 3cc195: OUTPUT«LATIN SMALL LETTER A WITH DIAERESIS␤»
moritz ah, both work
brrt m: say uniname(0x1234)
camelia rakudo-moar 3cc195: OUTPUT«ETHIOPIC SYLLABLE SEE␤»
perl6fun When is perl 6 released officially?? I mean for production use. Any fixed date please??
brrt m: say uniname(0xcafe)
camelia rakudo-moar 3cc195: OUTPUT«<Hangul Syllable>␤»
moritz perl6fun: we aim for a Christmas release 14:00
brrt perl6fun: the standard answer is 'whenever it is ready for you'
(wrt to 'production')
perl6fun moritz Any exact date?
brrt and there is a very significant chance that the release of perl6.christmas will not meet your standards of production 14:01
that is the normal way of programming languages, fwiw
no exact date as far as i know perl6fun
14:01 ely-se joined
PerlJam perl6fun: note that there are also people using Rakudo Perl 6 "in production" right now. 14:01
brrt that too
ely-se fools
14:01 Hor|zon joined
brrt hi ely-se 14:01
moritz PerlJam: even people using it in production, without scare quotes
PerlJam yeah, I wasn't actually meaning those to be scare quotes :) 14:02
dalek osystem: 4ad66f0 | RabidGravy++ | META.list:
Add Object::Permission::Group

  github.com/jonathanstowe/Object-Pe...sion-Group
PerlJam
.oO( We need more quoting constructs! ;)
brrt there is more than one way to 'scare quote' something :-P
dalek c: 542b373 | moritz++ | doc/Language/5to6-nutshell.pod:
Give 5to6-nutshell a less terse title
14:03
Skarsnik hm, where is nativecall.pod? the link at the bottom of doc.perl6.org/language/nativecall is 404
moritz Skarsnik: try again
irclog.perlgeek.de/perl6/2015-10-29#i_11450883
ely-se PerlJam: write about it on www.reddit.com/r/UnnecessaryQuotes/ 14:04
moritz why am I not surprised that there's a reddit for that?
PerlJam because it's no surprise that there's a reddit for almost anything? 14:05
Skarsnik Well the github.com/perl6/doc/raw/master/li...vecall.pod is missing x)
brrt moritz: correct link is raw.githubusercontent.com/perl6/do...ecall.pod, actual link is github.com/perl6/doc/raw/master/li...vecall.pod
basically, those urls are no longer how github refers to raw pages, apparently
Skarsnik oh thx
brrt so s/github.com/raw.githubusercontent.com/ and s@/raw@@ 14:06
14:07 crux left
RabidGravy if you want scare quotes it should 👻Scare👻 14:07
PerlJam yes, those are scary
14:07 crux joined
perl6fun I would love to see perl 6 documentation in readthedocs format 14:08
RabidGravy (still haven't worked out how to enter unicode characters directly into xchat)
perl6fun, simple matter of making the appropriate pod renderer 14:09
I'm sure you'll have fun making it ;-)
perl6fun RabidGravy where can I find the help for that? I would love to do that :-)
PerlJam huh. NativeCall is quite different (bigger) from the last time I looked at it. 14:10
:n
oops
FROGGS++ 14:11
jnthn novapatch: Don't suppose you're about for a Unicode question? 14:12
(Or anyone else who knows a good amount about normalization.) 14:13
pmurias perl6fun: re use in production, I don't think there will be a hard date line between ready and not ready
ely-se I know a guy who does, but he isn't on IRC.
mrf jnthn: Is there any way to make Grammar::Tracer show the string its attempting to match against the rule? 14:14
jnthn mrf: iirc it only shows the things it actually matched 14:15
Don't think there's an option to do otherwise
mrf jnthn: damn.
jnthn You may be able to figure out where it is from looking at what was recently matched 14:16
14:17 sufrostico left
RabidGravy perl6fun, probably a good place to start would be the code in github.com/perl6/doc which has the bits that render it as HTML 14:17
mrf jnthn: Yeah. I think the error is my lack of understanding on how grammars actually work on text
14:19 sufrostico joined, fildon joined 14:25 diana_olhovik_ left
mrf Is there any way to make a token match greedy. 14:27
perl6fun RabidGravy Yeah I went through that
14:27 CJKinni__ joined 14:28 diana_olhovik joined
jnthn mrf: :!r maybe 14:28
mrf: Well, wait
mrf so token foo { [<[ab>] | <[ab]>} on 'aaa' would all be consumed in the first capture
jnthn mrf: It is greedy, do you mean "and backtrack2?
mrf assuming some *'s in there 14:29
perl6fun jnthn I want to have a good reading on regex "Grammar" of perl 6, I heard is a big thing. I want to have a good reading. Can you point to some resources or video?
mrf jnthn: I don't know. Maybe. It might need to use regex I suppose.
jnthn mrf: The thing you jsut wrote looks malformed? ] in a wrong place? 14:30
14:31 CJKinni_ left, pollei joined
jnthn perl6fun: doc.perl6.org has some tutorials; jnthn.net/papers/2014-fosdem-perl6-today.pdf has a walkthrough of building up a grammar 14:31
mrf m: grammar G {token foo { [ <[ab]>* | <[ab]>* ] } }; G.parse('aaa', :rule<foo>).say;
camelia rakudo-moar 3cc195: OUTPUT«「aaa」␤»
mrf m: grammar G {token foo { [ <[ab]>* | <[ab]>* ] } }; G.parse('aaa', :rule<foo>).perl.say;
jnthn perl6fun: There's a video of that FOSDEM talk I think...I don't have a link handy
camelia rakudo-moar 3cc195: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(), orig => "aaa", to => 3, from => 0)␤»
dalek kudo/nom: 0cdb974 | lizmat++ | src/core/Str.pm:
Make Str.split on strings a bit faster

  - about 2x faster for specific limit case
  - if no limit, 10x faster for pull-one, 15x faster for push-all case
14:32
14:32 CJKinni__ left
jnthn mrf: That seems to be matching correctly, but I don't get why you have two identical things in the alternation :) 14:33
mrf jnthn: for example. The example I am working on is a with a grammar for RFC5234. which has "token repeat { <DIGIT>* | [<DIGIT> '*' <DIGIT>] }" and "token repetition { <repeat>? <element> }" the string "1*1" should get all consumed by the repeat capture but it instead only captures "1" 14:35
PerlJam mrf: looks like a job for % (but that's orthogonal to your issue) 14:36
rarara_ lizmat++
14:36 llfourn left
mrf PerlJam: yes. I am mostly copying the rfcs ABNF then I will perl6ify later 14:36
rarara_ To put myself under public ridicule, this is my first Perl6 script, AKA how-to-work-around-things-u-dont-understand : gist.github.com/anonymous/db7f9dcb00f4dd817ea1 14:37
14:37 tokuhiro_ joined
rarara_ it works 14:37
mrf jnthn: tests for the repeat token work fine but the repetition finds that 1 matches the repeat so throws the *1 into the element. Or so it seems. 14:38
14:38 ely-se left
moritz rarara_: is there a reason why you avoid array variables? 14:40
PerlJam m: grammar G { token repeat { \d* | [ \d '*' \d ] }; token element { .* }; token TOP { <repeat>? <element> } }; G.parse("1*1");
camelia ( no output )
PerlJam m: grammar G { token repeat { \d* | [ \d '*' \d ] }; token element { .* }; token TOP { <repeat>? <element> } }; say G.parse("1*1");
camelia rakudo-moar 3cc195: OUTPUT«「1*1」␤ repeat => 「1*1」␤ element => 「」␤»
moritz rarara_: also, note($string) is a bit nicer to write than $*ERR.say($string) 14:41
mrf PerlJam: No I am confused. We go back and check my grammar I think?
s/We/will/
moritz PerlJam: there's usually no reason to put a ? quantifer after a regex that matches the empty string, like token repeat does
rarara_ moritz: no idea why array variables are there at all! 14:42
14:42 mattn_jp_ joined
rarara_ in perl5 you use them because they are the default 14:42
PerlJam moritz: i'm just parroting mrf's grammar
mrf moritz: I suspect they are aware but were helping debug my exampl
rarara_ you have even a sigil for tat
moritz rarara_: well, one reason is documentation; instead of $head-array you can write @head, and you still know it's an array 14:43
PerlJam mrf: If you show your grammar + input, maybe I or someone else can spot something?
mrf PerlJam: I will see if I can figure out this gist malarky 14:44
moritz rarara_: another is that you can iterate over it without any ugly | prefix, so just "for @head -> $a { ... }"
rarara_ this explains things a bit :)
14:46 perl6fun left
mrf PerlJam: gist.github.com/ungrim97/7c0d17e1846cd002377d 14:48
14:51 khw joined 14:54 ely-se joined 14:55 mattn_jp_ left
PerlJam mrf: so ... that code works exactly as I expect (once I remove the whitespace that your grammar does not match) 14:57
mrf FFS. PerlJam++++++ Thank you I am apparently and ejit 14:58
14:58 sufrostico left
mrf PerlJam: I appologise for wasting you time 14:59
jnthn novapatch: Don't worry; the issue was actually a bug in canonical composition where it accidentally missed looking for primary composites for starter/starter combinations. 15:00
15:02 llfourn joined 15:04 fildon left
[Coke] we have a scheduled date for the december release, it's ok to hand that out if someone is looking for a date, I think. 15:05
moritz oh, the 24th happens to be a Thursday after the third Tuesday of a month :-)
lizmat cycling& 15:06
[Coke] the 17th is the release date, not the 24th.
(the 1st is a tuesday, so it's earlier than normal) 15:07
moritz oh
[Coke] perhaps we can simplify our release date logic after christmas. 15:08
dalek href="https://perl6.org:">perl6.org: f120673 | (Nelo Onyiah)++ | source/compilers/index.html:
Correct the links to Perlito

The links in the page were not accurate:
  - www.perlito.org/ => *Server not found* error
  - perlcabal.org/~fglock/perlito6.html => redirected to perl6.org/
There also issues with the *Pugs* links but I don't know what those should be :)
href="https://perl6.org:">perl6.org: 21c46af | moritz++ | source/compilers/index.html:
Merge pull request #41 from j1n3l0/patch-1

Correct the links to Perlito
ast: a33a710 | jnthn++ | S05-mass/properties- (4 files):
Fix tests for upcoming NFG semantic changes.

We stick in a control char to force a grapheme extender to stand alone and so be available for matching in isolation. Note that these tests are rather contrived, since they pair together graphemes from multiple
  (natural) languages. Another possible change would have been to pick a
non-extending character in place of the extending ones for the tests in question, but this change was the less effort.
15:13
jnthn Could whoever fixed the Buf.list/Blob.list to return a List, not an Array, please take a look at S32-str/pack.t which seems to need updates to match. 15:16
(Or anyone else with time) 15:17
15:18 g4 left
PerlJam [Coke]: I think we should simplify the release date logic at some point; christmas sounds like a good pivot point for that. 15:18
15:18 andreoss joined
andreoss can i write something like proto token number { * { make +$/ } } ; ? 15:20
[Coke] I vote: third Saturday of the month. more likely a volunteer can find time to do this on the weekend.
andreoss or i have to use Actions class here?
PerlJam andreoss: you can write that, but better would be a valid regex :) 15:21
andreoss so i should something else indead of WhatEver?
*should put
PerlJam andreoss: but, no you don't *need* an action class. you can sprinkle { make ... } through out your grammar
andreoss: that's not a Whatever 15:22
andreoss i mean can i do make inside proto token?
what is that?
PerlJam oh, I totally didn't see that it was proto 15:23
andreoss: I don't think there's a way to use an onlystar and other actions in a proto regex 15:28
andreoss: I think you can only say proto token number {*} (and that's why it's called an "onlystar")
15:29 ely-se left
PerlJam If you could do other actions, I'd expect it to be something like proto token number { {*} { ... } } But that feels dubious 15:29
dalek ast: bd54140 | jnthn++ | S32-io/IO-Socket-INET. (2 files):
Change unfortunate choice in socket tests.

While 0xbeef and 0xbabe were cute hex codes to pick, it turns out they both are Hangul syllables, which under the improved NFG implementation form a single grapheme, thus breaking the tests.
15:30
15:31 pippo joined
jnthn Yeah, you can't do such things in a proto token/regex/rule, at least not in 6.c 15:31
pippo o/ #perl6
jnthn OK, I now have almost all of the NFG changes done, and I think I'm going to do a revision bump so they can get some testing in the wild 15:32
The only exception is that I didn't yet turn on \r\n becoming a single grapeheme 'cus it seems to break things rather impressively.
masak doing it on the proto level feels overly complex. usually the proto gets called by a non-proto rule, and the action could be done there.
I won't say "it's bad to want that", but waiting for a convincing use case does not seem all that unreasonable. 15:33
PerlJam masak: I think andreoss is just trying to avoid writing { make +$/ } over and over again. 15:34
masak it seems to me that in the token you'd have the *least* detailed information about what was actually captured in $/
jnthn I suspect it will also cause some minor ecosystem fallout when I do, since "\r\n".chars will be 1, and .substr(*-2) eq "\r\n" will thus never work. OTOH, .chomp will do the Right Thing, and I hope most folks will be using that. :)
masak PerlJam: yeah. writing it over and over again in this case does not seem all that unreasonable to me.
PerlJam: the only reason those are all the same is that Perl 6 happens to correctly numify them already.
jnthn masak: Also, it's not in any way clear that the $/ of the proto token is anythign to do with the $/ of the token you called, and it's not clear how we'd even talk about the $/ of the rule that was called. 15:35
masak right.
jnthn And this'd complicate LTM a good bit too I suspect
So yeah, we'd better *really* want it.
PerlJam yeah.
masak that's a good unpacking of what I vagely meant by "overly complex" :)
15:36 tokuhiro_ left
masak basically, it's orders of magnitude easier to explain why it'd be a bad idea, than to implement it. :) 15:36
PerlJam In general though, (if I can read andreoss' mind a little) grammars in practice seem to be less DRY than one would want. I imagine at some point we'll figure out how to make that better. Maybe via a module :) 15:37
dalek p: ad7b8cb | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for NFG improvements.
masak PerlJam: oh, I'm all for that.
PerlJam: specifically, I feel I'm hitting interesting limits of grammars in my 007 work.
PerlJam oh really?
masak ya.
moritz finds it much easier to write a simple grammar than one that generates good error messages on parse failures 15:38
PerlJam got an example?
(masak)
pippo .tell azawawi Is there a way to tell Selenium::Webdriver::Firefox not to look for the prefs.json in the subdir it is executed from?
yoleaux pippo: I'll pass your message to azawawi. 15:39
masak PerlJam: perhaps the clearest one is that we're planning to allow something like `{{{t @ Q::Trait}}}` (that's 007 syntax, but hopefully easy to read)
PerlJam: when the parser sees such an unquote, it doesn't get the actual *trait* that goes there -- it gets a *promise* of a future trait, kind of like a parse-level parameter. 15:40
moritz and the trait influences the grammar?
masak PerlJam: and so the parser goes "OK, well if I get that hypothetical trait, then afterwards I'll be in *this* parsing state..." and continues on parsing.
moritz: yes ^
PerlJam and what happens if the promise is never fulfilled? 15:41
masak you mean if no-one evaluates that quasi? 15:42
it's kind of like no-one evaluating a qq string. nothing of import happens.
I imagine if someone tried to put a square literal in the round trait hole, they'd get a nice type error. 15:43
PerlJam I was thinking more of debugging in the presence of quasi, so that makes sense
masak m: class Q::Trait {}; class Q::Literal::Str {}; die X::TypeCheck.new(:operation<unquote>, :got(Q::Literal::Str), :expected(Q::Trait)) 15:44
camelia rakudo-moar 3cc195: OUTPUT«Type check failed in unquote; expected Q::Trait but got Q::Literal::Str␤ in block <unit> at /tmp/_mcnA98wYk:1␤␤»
masak PerlJam: I'd like parse errors that show where in the code things went wrong to show both a "before" and an "after" view wrt macro applications. 15:45
haven't tried out that idea in practice, but looking forward to it ;)
PerlJam It sounds nice from here :)
masak I can recommend github.com/masak/007/issues for some light reading about near-future 007 plans 15:47
(also planning to put together a bit of a roadmap soonish)
dalek kudo/nom: d138617 | jnthn++ | tools/build/NQP_REVISION:
Bump to get improved NFG in MoarVM.

This aligns our definition of "grapheme" with that of grapheme cluster in Unicode Annex #29. There is one exception: we don't treat \r\n as a single grapheme yet (we will, but need to further debug the fallout of doing so). The changes so far should hopefully cause little fallout in the ecosystem, aside from more correct semantics with the characters of various languages. The other notable changes is that we no longer produce synthetics for combining chars placed on control chars (so a combiner after a control char is now an isolated combiner).
15:48
RabidGravy from the above it sounds like I may need to test some HTTP clients against that 15:50
masak 'night, #perl6 15:51
RabidGravy toodlepip
PerlJam masak++ roadmap. Someone was asking me about the state of macros in P6 the other day and told them to ask you about it. Having a roadmap would help answer some of their questions I'm sure
dalek ast: 2906649 | jnthn++ | S15-nfg/grapheme-break.t:
Fudge \r\n grapheme test.
masak well, it's a roadmap for *007*, a project whose purpose it is to inform Perl 6 macros by making all the interesting mistakes *quickly* in a toy project. so far that's working very well, as evidenced by the issue queue. 15:52
jnthn RabidGravy: Please do; also again after the \r\n thing, though I'm hopeful it'll be mostly harmless
masak but it's important also to realize that once 007 has filled that role, *then* the real implementation work begins in Rakudo.
really 'night
PerlJam good night masak
jnthn masak++ # understanding the importance of exploring/prototyping/building one to throw away 15:53
'night, masak
dalek kudo/nom: 300d5be | jnthn++ | t/spectest.data:
Run S15-nfg/grapheme-break.t on Moar.
15:54
ast: a177726 | jnthn++ | S15-nfg/cgj.t:
Unfudge some NFG tests that now pass.
15:55
jnthn 405 new passing tests :) 15:56
*newly
RabidGravy yay! 15:58
mrf Hopefuly not another stupid mistake on my part but I appear to have a reproducable test that fails if I 'use Grammar::Tracer' in my grammar but passes without!
psch the reverse of #123452 15:59
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123452
psch mrf: as linked by synbot6, Grammar::Tracer can influence your grammar 16:00
dalek kudo-star-daily: 2dae47f | coke++ | log/ (9 files):
today (automated commit)
rl6-roast-data: 3d7640c | coke++ | / (9 files):
today (automated commit)
rl6-roast-data: 3b1afb1 | coke++ | / (9 files):
today (automated commit)
psch mrf: the ticket is rejected, but the pitfall still exists apparently 16:01
mrf psch: will take a read.
psch mrf: as in, it's not rakudos fault, but Grammar::Tracer
jnthn Yes, Grammar::Tracer issue 16:02
jnthn really should look at it, but that applies to a lot of things :/
psch jnthn: did you see the SEGV yesterday? 16:03
jnthn m: say «நி กำ षि "\r\n"»».chars
camelia rakudo-moar 3cc195: OUTPUT«(2 2 2 2)␤»
jnthn psch: Yes, and hope it got RT'd 'cus I don't remember what it was :)
mrf Thats fair. Will see if I can golf my example into something more consise and add it to the ticket 16:04
psch jnthn: no, i'll RT it
jnthn psch: Thanks
mrf * on Grammar::Tracer
jnthn The NFG stuff is taking all my concentration at the moment
(Nearly there with that issue now)
andreoss can Grammar::Debugger have lexical effect? 16:05
jnthn It does?
(Only affects the grammars in the lexical scope where you use the module)
psch i'll make a general-ish ticket for the control exception stuff i suppose 16:06
andreoss seems not working
psch as in, i have a suspicion that whatever makes moar SEGV is what allows it to handle loop CXs, which is why the handling is broken on jvm 16:07
16:07 raiph left
andreoss paste.debian.net/318742/ 16:07
jnthn andreoss: It's a MOP module, so it works at compile time 16:08
andreoss: So it's the lexical scope the grammar itself is in that matters, not its usage
RabidGravy well it looks like HTTP::UserAgent doesn't have a problem with any of the changes
jnthn RabidGravy: \o/
andreoss: Guess what you want is a way to turn the tracing output on/off at runtime... 16:09
RabidGravy I suspected that as it actual does any searching for '\r\n' in a Buf before decoding it
andreoss yes
jnthn I don't think there's a way to do that
Feel free to file a ticket
(In the github issues)
I can see lots of people seem to find Grammar::Tracer useful, so it's worth a bit of my time to do fixes/improvements :) 16:10
ugexe Grammar::Tracer++ jnthn++ 16:11
16:12 bacek left
moritz jnthn: it's my go-to solution for debugging grammars when I'm tired of inserting "{say "step 1.2.42"}" at all the places :-) 16:15
16:16 abraxxa left
PerlJam mine too 16:17
16:21 abraxxa joined
dalek rl6-roast-data: 254ebdc | coke++ | log/ (4 files):
Archive old test logs
16:22
psch ticketed as #126490
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126490
[Coke] jvm: failing 1316 tests. moar:312; moar-nojit: 385 16:23
new S32-str/pack.t tests failing everywhere, please fudge those.
16:23 lucasb_ joined
[Coke] also: S03-operators/arith.t 151 - infix<!+> is not iffy enough; RT #73386 16:24
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=73386
16:25 Hor|zon left 16:26 bacek joined, _mg_ joined 16:27 zengargoyle joined
dalek ast: b0cad93 | jnthn++ | S32-str/pack.t:
Fix pack.t after return type changes.
16:28
16:28 pmurias_ joined 16:29 pippo left, pkv joined 16:31 _mg_ left, pmurias left
lucasb_ m: sub a::b { say 'hi' }; module a { b } 16:32
camelia rakudo-moar 3cc195: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u5kCzdWtuP␤Undeclared routine:␤ b used at line 1␤␤»
lucasb_ ^^ Is this supposed to work? It seems a::b is treated as a simple name, not compound, so no namespace "a" is autovivified.
perl -E 'sub a::b { say "hi" }; package a; b' #=> P5, outputs "hi"
moritz lucasb_: no, subroutine invocation with identifies is purely lexical
[Coke] colomon: rejected the Rat/Num ticket. 16:33
16:33 diana_olhovik left 16:34 brrt left
[Coke] RT: 1026; GLR: 5; NOM: 8; LTA: 86; WEIRD: 11; TESTS: 10; XMAS: 66 16:35
lucasb_ moritz: ok, thanks. Do you think 'sub a::b' should be valid or emit a warning? 16:36
m: say class { has $.a::b::c }.^methods 16:37
camelia rakudo-moar 3cc195: OUTPUT«(a::b::c)␤»
lucasb_ ^^ IMO, this should clearly be invalid. method names should be "simple", not compound
uruwi ab5stract_ Should I consider Terminal::Print stable? 16:39
[Coke] psch: did you update roast with RT info for #126490 ?
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126490
moritz m: our sub a::b { 42 }; say a::b() 16:43
camelia rakudo-moar 3cc195: OUTPUT«Could not find symbol '&b'␤ in block <unit> at /tmp/Iy_qZ_tfVv:1␤␤Actually thrown at:␤ in block <unit> at /tmp/Iy_qZ_tfVv:1␤␤»
moritz lucasb_: well, either it should work or throw a proper error 16:44
RabidGravy uruwi you may need to define what you mean by stable
psch [Coke]: oh, no. i could fudge the jvm tests i guess, yeah
[Coke]: we don't have a test that shows the SEGV on moar though, maybe that wants adding too...
RabidGravy with a lot of modules there is a good chance they may change in some regard before Perl 6 makes a final release 16:45
psch ...why is S04-statments/redo.t a+x..? o.o 16:46
lucasb_ m: sub a::b {}; say ::.keys.grep(/a/) 16:47
camelia rakudo-moar 3cc195: OUTPUT«(&a::b)␤»
lucasb_ I don't fully understand what "::" is, but it seems that a::b is inserted in the "symbol table" as a whole, not splitted into subnames and inserted accordingly into namespaces. So, yes, either it should work or throw an error. 16:48
[Coke] psch: please fudge the tests, yes. will help anyone else doing roast triage.
uruwi RabidGravy ab5tract_ developed enough for production use 16:54
dalek osystem: a213f9d | PerlJam++ | META.list:
Add HexDump::Tiny
16:56
lucasb_ nothing is production stable in this world... in this life... This is a *journey*
uruwi That it's unlikely that a future build will break programs using it. 16:57
I have to leave pretty soon.
RabidGravy I would say the interface is unlikely to change, but what lucasb_ said 16:59
17:00 tokuhiro_ joined, lostinfog joined
RabidGravy has IO::Path.watch changed or stopped working recently? 17:00
i.e. it appears that such as "react { whenever '/tmp'.IO.watch { .... } }' isn't doing anything when I create a file in /tmp 17:02
jnthn RabidGravy: I think somebody recently reported some oddity with /tmp and IO::Notification 17:03
RabidGravy: Does it work outside of /tmp? 17:04
17:04 uruwi left
dalek ast: d3a7f93 | peschwa++ | S04-statements/label.t:
Add test for #126490.
17:08
ast: f9f4522 | peschwa++ | S04-statements/ (4 files):
JVM-fudge a few tests with common failure mode.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126490
17:08 pmurias_ left
RabidGravy jnthn, it appears not 17:15
jnthn ugh 17:16
We do have spectests for it
So it's a bit odd it's regressed
PerlJam RabidGravy: what OS are you on, OOC?
RabidGravy that is "react { whenever '.'.IO.watch { say $_; } }" doesn't do anything if I change a file
or add a file
17:17 ^elyse^ joined
RabidGravy PerlJam, Fedora 22 4.2.3-200.fc22.x86_64 17:17
jnthn RabidGravy: Ugh, that does work on Windows. 17:18
RabidGravy: So, platform-specific
17:20 llfourn left
PerlJam (works on ubuntu too fwiw) 17:21
RabidGravy: also, I assume there's nothing weird about how the fs is mounted?
17:22 kjs_ left
dalek p: 2ed0a13 | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
Temporary fix so \v can handle \r\n grapheme.

We will be able to do better than this once the LTM NFAs are updated to better grok NFG.
17:23
p: e00d482 | jnthn++ | src/HLL/Compiler.nqp:
Cope with NFG's \r\n semantics in lineof.
RabidGravy PerlJam, nah, inasmuch as it hasn't changed since last time it worked
^elyse^ PerlGem 17:24
RabidGravy it's implemented in libuv at the bottom isn't
PerlJam aye 17:25
well, afaik anyway
ilmari yes, moarvm/src/io/filewatchers.c 17:36
uses uv_fs_event_{init,start} 17:37
WFM on Debian stable too 17:39
works on tmpfs (/run/user/$uid) too 17:40
diakopter prof-m: say 33 17:41
camelia prof-m 3cc195: OUTPUT«33␤Writing profiler output to /tmp/mprof.html␤»
.. Prof: p.p6c.org/18dda46
ilmari it appears to consider creation and deletion to be renames
17:41 raiph joined
diakopter does that still work with gists? 17:41
RabidGravy I'm not precluding that this is some weird selinux thing 17:42
diakopter prof-m: gist.github.com/anonymous/c3303e1f975c607ab2bb 17:45
camelia prof-m 3cc195: OUTPUT«Usage:␤ /tmp/Ee90k3wEGg <w> <h> <steps> ␤Writing profiler output to /tmp/mprof.html␤»
.. Prof: p.p6c.org/18ddb4c
diakopter prof-m: gist.github.com/anonymous/c3303e1f975c607ab2bb 10 10 20 17:46
camelia prof-m 3cc195: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ykVJ9B46Si␤Confused␤at /tmp/ykVJ9B46Si:1␤------> 3https:7⏏5//gist.github.com/anonymous/c3303e1f975c␤ expecting any of:␤ colon pair␤»
.. Prof: p.p6c.org/18ddb6a
diakopter hehehe
RabidGravy okay I may have ruled out an OS thing as I just run the self same code on the little computer <- there which is running the same kernel and everything
17:47 rarara_ left
RabidGravy and worky 17:47
SooOOOOoo
PerlJam selinux on both?
diakopter moritz: can the gist version of evalbot accept parameters?
17:47 ambs joined
RabidGravy yep 17:48
17:48 ^elyse^ left
RabidGravy the only difference is that the other machine has a way older rakudo (i.e. 2015.09-412-g32d7b08 ) 17:49
so I'm gwine make me a new rakudo and see what happens 17:50
moritz diakopter: no
17:51 tokuhiro_ left, raiph left
diakopter *could XD 17:51
17:53 Actualeyes left 17:54 dakkar left
moritz diakopter: I'm against cramming too much sophistication into camelia; it's a an evalbot, not "Perl 6 as a service" 17:54
plus undocumented features that aren't documented tend to bitrot and/or be forgotten 17:55
diakopter :)
moritz in fact, prof-m was probably a mistake
RabidGravy yeah, I see it as a way of demonstrating code in public and/or replicating bugs 17:56
moritz it was temping, and cool, but ultimately it's very seldomly used
17:56 ambs left
moritz and of course a nightmare to debug when the scp step fails 17:57
17:59 andreoss left 18:02 espadrine left
RabidGravy Ooof "Stage parse : 170.759" okay the poor things only a "Intel(R) Celeron(R) CPU N2807 @ 1.58GHz" but nonetheless 18:03
18:04 abaugher left, abaugher joined 18:06 kjs_ joined
RabidGravy okay that's very very strange a "2015.10-60-g300d5be" on the other machine *does* work 18:07
so, let's just rebuild it again on the laptop
18:08 Calibellus joined 18:09 zakharyas left, diana_olhovik_ joined 18:10 ^elyse^ joined
tony-o is there a mechanism to make 'die' bubble up to the block a start { } was started in? 18:14
m: CATCH { default { "CAUGHT IN MAIN $_".say; } }; start { die 'died'; } 18:15
camelia ( no output )
moritz tony-o: start { } returns a promise. If you access it's .result, and the block died, than accessing the .result also dies
m: await start { die 42 }
camelia rakudo-moar 3cc195: OUTPUT«42␤ in block <unit> at /tmp/8E9nb4IG2Z:1␤␤»
moritz tony-o: as does "await"
tony-o moritz: i'm looking for a way to do flow control on a blocking socket, .poll won't tell me if there is anything to read (yet) and i don't have a way to kill the socket if nothing is read otherwise 18:16
moritz tony-o: and you should handle all your promises (await them, which .result does implicitly)
tony-o so i want to do a start { sleep 1; die; }; $sock.recv;
RabidGravy okay, identical kernel with 2015.10-60-g300d5be on this machine doesn't work 18:17
18:17 tokuhiro_ joined, llfourn joined, raiph joined
moritz tony-o: can you .recv inside a thread? 18:17
18:18 zakharyas joined
tony-o moritz: no because the socket stuff doesn't work across thread 18:19
moritz tony-o: if so, you could just do my $p = start { $sock.recv }; if $p.status === Planned { nothing to read } else { say $p.result }
:(
tony-o the handles have to be copied to the thread when it's started and there was some issue jnthn can probably expand on where they didn't want to do that on moar yet :-(
18:20 _mg_ joined
moritz tony-o: another idea would be to have a thread dedicated to reading, and fill a Supply or a Channel whenever a value is available 18:20
you can query a Channel in a non-blocking way
18:21 ambs joined, llfourn left
tony-o the .recv fails randomly unless it's in the same thread as the socket was created 18:22
18:22 karim32 joined
karim32 Can I debug Perl 6 applications the same I can python ones using pdb (pdb.set_trace()) or 18:22
ruby ones using pry (binding.pry). That is, setting a break point and moving step by step and being able to see the values of the variables.
tony-o karim32: check out: github.com/jnthn/rakudo-debugger/ 18:23
karim32 is that the only one or are there any most popular libraries? 18:25
as well
seems outdated
RabidGravy "outdated"?
PerlJam yeah, it was last updated like 1.5 months ago! It's *old* ;) 18:26
tony-o moritz: i think i understand what you mean, i wonder if that can work with the way reads are happening. i'll give it a shot 18:27
MadcapJake Is there an equivalent function for strings that acts like `index` but you can use a regex?
karim32 2 years ago, no? 18:28
tony-o MadcapJake: you can use a regex in index
MadcapJake oh :P docs say $needle is a `Str:D`
18:28 leont joined
psch m: "foo bar baz".index(/bar/).say 18:28
camelia rakudo-moar 3cc195: OUTPUT«Cannot call index(Str: Regex); none of these signatures match:␤ (Cool:D $: Cool $needle, *%_)␤ (Cool:D $: Cool $needle, Cool $pos, *%_)␤ in block <unit> at /tmp/qVJWwvoiYV:1␤␤»
karim32 yeah, 2 months, you're right
tony-o karim32: that's when it was created
m: "foo bar baz".match(/bar/).say; 18:29
camelia rakudo-moar 3cc195: OUTPUT«「bar」␤»
psch m: "foo bar baz".match(/bar/).from.say;
camelia rakudo-moar 3cc195: OUTPUT«4␤»
karim32 yeah, I know, I just saw "2" everywhere
tony-o m: "foo bar baz".match(/bar/).hash.say;
camelia rakudo-moar 3cc195: OUTPUT«Map.new()␤»
karim32 thx
tony-o m: "foo bar baz".match(/bar/).perl.say;
camelia rakudo-moar 3cc195: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(), orig => "foo bar baz", to => 7, from => 4)␤»
tony-o m: "foo bar baz".match(/'ba' [ 'z' | 'r' ]/).perl.say; 18:30
PerlJam MadcapJake: $/.from is your best bet if you need the position of the match.
camelia rakudo-moar 3cc195: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(), orig => "foo bar baz", to => 7, from => 4)␤»
karim32 by they way, what's the news about Perl 6 release, what happened on Oct 9th (or 10th)? Will it be released by the end of this year for sure?
tony-o m: "foo bar baz".match(/'ba' [ 'z' || 'r' ]/).perl.say;
camelia rakudo-moar 3cc195: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(), orig => "foo bar baz", to => 7, from => 4)␤»
MadcapJake ok thanks! 18:31
18:31 kjs_ left
[Coke] karim32: nothing happened on the 9th or 10th that I know of. on the 22nd we released the beta compiler: www.nntp.perl.org/group/perl.perl6....11547.html 18:32
there is one more beta release next month, then christmas on the 17th of december or so
karim32 it's not known when the stable version 1.0 will be released? 18:33
[Coke] ?
"the 17th of december" 18:34
PerlJam karim32: "christmas" is the "stable version 1.0" version
karim32 I see.
18:34 karim32 left
[Coke] please try out the beta release (2015.10) and provide feedback. 18:35
dalek kudo/nom: 64ae8f1 | coke++ | docs/release_guide.pod:
Note the v6.c release is December.
18:36
18:40 FROGGS joined 18:42 vendethiel joined 18:45 karim32 joined
karim32 I have a simple method 18:45
sub method1(:$a1, :$b1) { }
How can I check in "method1" whether the argument(s) is(are) passed or not? That is,
method1(a1 => 3) # a1 passed, b1 not
moritz karim32: often checking $a1.defined is good enough
karim32: if not, you can do help with a nested signature
karim32 won't calling "b1" throw an exception in my case? 18:46
I mean, calling b1.defined
moritz m: sub f(*%named ( :$a1, :$b1 ) ) { say %named<b1>:exists }; f :b1(Mu)
camelia rakudo-moar 3cc195: OUTPUT«cannot stringify this␤ in sub f at /tmp/Lyh_cD_Lcu:1␤ in block <unit> at /tmp/Lyh_cD_Lcu:1␤␤»
moritz karim32: no 18:47
m: sub f(:$a1, :$b1) { say $b1.defined }; f(a1 => 3)
camelia rakudo-moar 3cc195: OUTPUT«False␤»
karim32 ok, what's "you can do help with a nested signature "?
PerlJam karim32: you can make the named parameters required and then the compiler will check for you ;) 18:48
moritz m: sub f(*%named ( :$a1, :$b1 ) ) { say %named<b1>:exists }; f b1 => Any
camelia rakudo-moar 3cc195: OUTPUT«True␤»
moritz karim32: ^^ see above
there by checking that b1 exists in the %named hash, you know that a value was passed, even thoug it was a type object (and thus not .defined)
gfldex karim32: see: rosettacode.org/wiki/Undefined_values#Perl_6 18:49
karim32 tnx
moritz karim32: another option is to write separate multis
karim32 ok
18:49 karim32 left
moritz m: multi f(:$a!) { say "a passed: $a" }; multi f(:$b!) { say "b passed: $b" }; f :a<x> 18:49
camelia rakudo-moar 3cc195: OUTPUT«a passed: x␤»
gfldex m: sub foo(:$a){ say $a.VAR.WHAT; $a.VAR.defined }; foo; # $a is a container. The container is defined, it's content is not. 18:51
camelia rakudo-moar 3cc195: OUTPUT«(Scalar)␤»
gfldex m: sub foo(:$a){ say $a.VAR.WHAT, $a.VAR.defined }; foo; # $a is a container. The container is defined, it's content is not.
camelia rakudo-moar 3cc195: OUTPUT«(Scalar)False␤»
PerlJam karim32 quit (unfortunately) 18:53
psch j: my @a := (gather do for ^5 { take $_; last if $_ == 3 }).cache; say @a # golf for the UnwindException in j-roast relating to .match(:x) (and thus e.g. .comb as well)
camelia ( no output )
psch assignment instead of binding works, leaving out the last also works
thus probably at least somewhat related to #126940...
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126940
psch not sure why the UnwindException doesn't arrive through camelia though... 18:54
moritz j: say 42 18:55
camelia rakudo-jvm 3cc195: OUTPUT«42␤»
ugexe sometimes the unwind exception turns into a bunch of permgen errors
moritz psch: iirc camelia uses the eval-server, which might catch it
RabidGravy right, I'm going to reboot this laptop to see if the surprisingly coincidental sepolicy update has anything to do with this 18:57
18:58 tokuhiro_ left
psch moritz: right, it does, and then prints it to the original STDERR 19:01
that fits with UnwindException being a ControlException, so we deal with it internally until we exit the CompUnit because the UWE doesn't go away and it sticks around 19:02
in contrast to e.g. NPEs which straight up break out of the CompUnit via dieInternal 19:03
not sure if we want the EvalServer to keep printing those kind of failure modes to the combined STD{OUT,ERR} it uses for eval-ish output
as i see it that really only influences camelia - when running roast via evalserver it usually goes onto a terminal anyway 19:04
19:07 RabidGravy left
[Coke] psch: I'm going to start fudging the remaining failing java tests. 19:09
(tonight, not right now) please let me know if any of those new tickets can be combined. 19:10
psch [Coke]: okay, i'll look over new tickets tomorrow and add whatever i can make sound coherent from my notes 19:11
[Coke] Danke. We need to get the board clean on that again, I'd rather be working off tickets than failing test. 19:12
19:14 RabidGravy joined
bartolin [Coke], psch: the other day I looked at S32-list/squish.t: irclog.perlgeek.de/perl6/2015-10-24#i_11429176 19:14
19:14 telex left
bartolin I guess there will be more tests failing for the same reason 19:14
RabidGravy rest easy folks, the .watch works there was just something weird going on with the laptop, I suspect that they messsed up the selinux policy as there was another update rather quick on the heels of an earlier one 19:16
19:16 telex joined, atweiden joined
psch bartolin: i saw something with lots of Mu.new in S03-metaops/hyper.t too, but that seems to work currently... 19:16
...i think, maybe i'm not running the right test, gotta verify when r-j finished building 19:17
bartolin my r-j is also rebuilding atm :-) 19:18
psch bartolin: ah, the test is actually ".squish is nodal", so yeah..
j: say [[2, 3], [4, [5, 6]]]».squish 19:19
camelia rakudo-jvm 3cc195: OUTPUT«((2 3 Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new…»
19:19 AlexDaniel joined, gonz_ joined
^elyse^ How do interpreters like YARV, MoarVM, Lua etc deal with rooting of pointers the GC needs to know about? Calls to GC functions all over the place? 19:19
19:19 ambs left
^elyse^ i.e. the part that is not the JIT part 19:20
19:20 ambs joined
^elyse^ JIT knows about call stack layout, so that's not an issue. 19:20
MadcapJake how do I turn a command-line argument into a string? I tried wrapping it in `~(...)` but I'm still getting this: "Use of uninitialized value <element> of type Any in string context" 19:21
wait, i think the problem is that i'm using `.words.map: ...` on a string, is that not allowed? 19:22
[Coke] m: "this is what".words.say
camelia rakudo-moar 3cc195: OUTPUT«(this is what)␤»
psch m: say "abc def ghi".words.map: &uc
camelia rakudo-moar 3cc195: OUTPUT«(ABC DEF GHI)␤»
psch m: .say for "abc def ghi".words.map: &uc
camelia rakudo-moar 3cc195: OUTPUT«ABC␤DEF␤GHI␤»
moritz ^elyse^: they typically don't use the OS stack for referencing GC'ed objects at all 19:23
gfldex MadcapJake: see: design.perl6.org/S06.html#Declaring...subroutine
moritz ^elyse^: control flow typically happens on the heap in such VMs
^elyse^ oh ok
MadcapJake well i'm trying to run a function in the map and I am doing this: `"asd asd asd".words.map: translate(*)` 19:24
19:24 kjs_ joined
MadcapJake is that the wrong use of whatever symbol? 19:24
moritz MadcapJake: that doesn't work. Use .words.map: &translate
MadcapJake ohh ok cool, thanks!
TimToady or *.&translate
but &translate will probably do okay 19:25
moritz MadcapJake: in short, * doesn't do it's magic when it's in an argument list. Otherwise one couldn't pass a Whatever object anywhere
MadcapJake ok good to know! 19:27
psch bartolin: S32-list/squish.t locally aborts in the first test with "expected Positional but got Seq", fwiw
bartolin oops, something in 0cdb974ecd seems to have broken the jvm build (around "?? $!todo = 0") 19:29
psch: were you able to build r-j on HEAD?
psch oh, no, didn't pull 19:30
bartolin psch: wrt S32-list/squish.t -- I see that error as well ... (with a build from last night) 19:32
MadcapJake i'm passing a string into a script and when i .say it, it's outputting `(Any)`. Here's how I'm running it: `perl6 script.p6 -e "hello world"` the first arg is captured as a string but the second is just an `(Any)`.
psch MadcapJake: there is only one argument? 19:35
19:36 raiph left
gfldex if perl6 is suppiled both with a script and -e '<your code here>', will it run MAIN? 19:37
psch gfldex: if you run <perl6 -e 'code' $file> $file will be in $*ARGFILES, if you run <perl6 file -e 'code'>, -e will be an argument to file.MAIN 19:38
19:38 rarara_ joined
psch as in, the first case doesn't execute file, it executes the -e as perl6 code 19:38
19:40 rarara_ left, rarara_ joined, kjs_ left, lucasb_ left 19:41 raiph joined
bartolin hmm, adding parenthesis lets r-j build: gist.github.com/usev6/8bd78b697a2e1367e381 19:41
I wonder why this caused no problem with r-m 19:42
psch r: my $f; 1 < 0 ?? $f = 1 !! $f = 0
camelia rakudo-{moar,jvm} 3cc195: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Precedence of = is too loose to use inside ?? !!; please parenthesize␤at /tmp/tmpfile:1␤------> 3my $f; 1 < 0 ?? $f7⏏5 = 1 !! $f = 0␤ expecting any of:␤ infix␤ i…»
psch r: my $f; 1 < 0 ␤ ?? $f = 1 ␤ !! $f = 0 19:43
camelia rakudo-{moar,jvm} 3cc195: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Precedence of = is too loose to use inside ?? !!; please parenthesize␤at /tmp/tmpfile:2␤------> 3 ?? $f7⏏5 = 1 ␤ expecting any of:␤ infix␤ infix stopper␤»
psch definitely curious
i've already seen Perl6::Grammar-level things differing between r-j and r-m, but not like this 19:44
19:45 raiph left
timotimo stopped napping, reads backlog now 19:48
19:52 _mg_ left 19:54 Begi1115 left, tokuhiro_ joined 19:57 Begi1115 joined 19:58 tokuhiro_ left
lizmat notices 2 test-files in spectest die when run under harness, but not when run directly 20:00
20:02 zakharyas left
hoelzro lizmat: which two? is that based on the load the system's under? 20:04
lizmat S32-array/pop.t and t/spec/S32-num/complex.t 20:05
load doesn't seem to matter, just whether they run under the harness or not
aka, with "make" they die, with "perl6" they do not 20:06
I'm also looking at a segfault trying to fix #126487 :-( 20:07
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126487
psch gosh this parsing difference in split is creepy 20:08
lizmat psch: ??
psch m: my $f; 1 < 0 ␤ ?? $f = 1 ␤ !! $f = 0
camelia rakudo-moar 3cc195: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XnwMVxI_K5␤Precedence of = is too loose to use inside ?? !!; please parenthesize␤at /tmp/XnwMVxI_K5:2␤------> 3 ?? $f7⏏5 = 1 ␤ expecting any of:␤ infix␤ infix stopper␤»
20:08 rarara_ left
psch lizmat: that's from core/Str.pm:910 20:09
lizmat: r-m HEAD builds with it, but apparently shouldn't
lizmat: r-j doesn't build with it, with the same error as camelia
lizmat aha... ok, lemme fix that
bartolin lizmat: S32-num/complex.t fails for me with 'PERL6LIB=lib perl6-m t/spec/S32-num/complex.t'
lizmat: though somtimes it runs more than 100 tests, sometimes only a few 20:10
psch lizmat: well, the scary bit is that the difference happens in the first place...
lizmat psch: indeed
20:10 kjs_ joined
bartolin lizmat: oh, once in a while it passes :-/ 20:11
psch probably related to the fails-on-jvm-but-works-on-moar in S06-operator-overloading/sub.t...
20:12 kjs_ left
psch r: sub circumfix:['@', '@'] { $^a.say }; @ 5 @ 20:12
camelia rakudo-jvm 3cc195: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> 3sub circumfix:['@', '@'] { $^a.say }; @7⏏5 5 @␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
..rakudo-moar 3cc195: OUTPUT«5␤»
psch vOv
hoelzro crazy
lizmat psch: running spectest now, will commit if ok(ish) 20:13
20:15 espadrine joined
[Coke] do we have a page somewhere summarizing all the various testing bits? 20:16
20:16 bacek left, llfourn joined
[Coke] like my daily runs, the module testing ?colomon runs... 20:16
20:17 bacek joined
jnthn ^elyse^: You generally have a choice: scan the system stack for things that could be pointers and accept false positives (means you can't do things like moving collectors) or explicitly track things (which is what MoarVM does, though it's done with an inline static function and is so relatively cheap) 20:17
^elyse^ ok
colomon oooo, just realized today was the first day my smoker’s made it through without messing up in the reporting stages in weeks. (Whoever fixed panda)++
jnthn (Moar's collector moves objects, so it really needs to know.)
dalek kudo/nom: 078d813 | lizmat++ | src/core/Str.pm:
Fix ternary thinko spotted by psch++

Odd thing is that the core setting build ok with this on Moar. But apparently not on the JVM. Hope this unbreaks the build there.
20:19
[Coke] IWBNI if we had something that combined those, the old smolder parrot service, cpantesters...
the build wasn't broken on the JVM, was it?
lizmat ah, sorry, perhaps only the test S06-operator-overloading/sub.t ? 20:20
20:20 kaare_ left
[Coke] the daily run ran today. 20:21
20:21 llfourn left
[Coke] ah. it broken since then, I guess. 20:21
bartolin [Coke]: yeah, build was broken, see irclog.perlgeek.de/perl6/2015-10-29#i_11452793
lizmat [Coke]: breakage was only on JVM, apparently
[Coke] rant: IWBNI I could reconfig and remake and if no config changes were needed, have it just do a normal make.
hoelzro [Coke]: we have github.com/perl6/infrastructure-doc 20:22
[Coke] (rather than rebuild everything)
hoelzro but I don't think that includes what you're looking for
so maybe it should
20:22 darutoko left
flussence kind of off the wall question: suppose I wanted to make a quoting construct like «q{ }» or «rx{ }», where would I even start? 20:22
psch flussence: i think your best bet is poking masak or helping with 007 20:24
as a starting point
because subs don't really do that
moritz flussence: I'd start by investigating slangs
flussence: iirc FROGGS++ has written two or three slangs 20:25
flussence yeah, I'm looking through the specs and it keeps telling me "macros!"...
moritz not sure how powerful they are, and how deep you have to dig
psch oh, slangs are more on the "this works now" side, but they come with a lot more "understanding Perl6::Grammar" than macros would i think 20:26
but well, that's the trade off right there
flussence I guess whatever the answer is, it won't be as easy as "hey p6, here's my prefix letters gimme all those fancy quoting character pairs for free kthx" 20:27
20:28 TEttinger joined
psch flussence: well, the main catch is TTIAR 20:29
oh, no, i think i misassumed something there
but yes, getting the quoting pairs for free currently should be workable with a slang, but it's some digging around 20:30
[Coke] r: say ?(42 but False) 20:33
camelia rakudo-{moar,jvm} 3cc195: OUTPUT«False␤»
[Coke] r: my $value = 42 but False; say $?value;
camelia rakudo-{moar,jvm} 3cc195: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Variable '$?value' is not declared. Did you mean '$value'?␤at /tmp/tmpfile:1␤------> 3my $value = 42 but False; say 7⏏5$?value;␤»
[Coke] r: my $value = 42 but False; say ?$value;
camelia ( no output )
..rakudo-moar 3cc195: OUTPUT«False␤»
20:35 _mg_ joined
jnthn m: BEGIN { %*LANG<MAIN> := %*LANG<MAIN> but role { token quote:sym<omg> { 'omg' {} <quibble(%*LANG<Quote>)> } }; %*LANG<MAIN-actions> := %*LANG<MAIN-actions> but role { method quote:sym<omg>(Mu $/) { $/.'!make'($/.hash.<quibble>.ast) } } }; say omg/wtf/ 20:36
camelia rakudo-moar 3cc195: OUTPUT«wtf␤»
20:36 sufrostico joined
jnthn flussence: It's hacky but something like ^ 20:36
dalek ast: 7266412 | coke++ | integration/advent2010-day19.t:
Fudge RT #126491 for JVM
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126491
20:36 _mg_ left 20:37 kjs_ joined
lizmat m: use nqp; class A { has str $!a; method BUILD() { nqp::chars($!a) } }; A.new # tada 20:38
camelia rakudo-moar 3cc195: OUTPUT«(signal SEGV)»
lizmat m: use nqp; my str $foo; say $foo
camelia rakudo-moar 3cc195: OUTPUT«␤»
lizmat I always thought that native strings initialized to the empty string ? 20:39
jnthn: ^^^ ??
jnthn lizmat: In Rakudo I think we make that happen.
In NQP maybe not
lizmat m: use nqp; my str $foo; say nqp::chars($foo)
camelia rakudo-moar 3cc195: OUTPUT«0␤»
lizmat apparently it only goes wrong with native string attributes ? 20:40
jnthn: this is rakudo, so bug?
jnthn lizmat: oh, mis-read... 20:41
Yeah, bug then
lizmat ok, will rakudobug it 20:42
jnthn Thanks
At least that should be an easy one to fix :)
jnthn is tired and will continue with (and maybe complete) the rn -> 1 grapheme thingy tomorrow 20:43
jdv79 why is that a thing? crlf as two chars feels normal. 20:44
leont It seems my harness does work on p6-j, it's just the eval-server bindings that fail for some unknown reason (haven't tested that path on moar, so odds are it's an issue in my code) 20:45
jnthn jdv79: Because Unicode says it's one grapheme :)
jdv79 ok 20:46
AlexDaniel m: say flip 6e-9;
camelia rakudo-moar 3cc195: OUTPUT«90-e6␤»
[Coke] m: say ~6e-9 20:47
camelia rakudo-moar 3cc195: OUTPUT«6e-09␤»
jnthn (And I'm pretty sure picking and choosing Unicode rules won't end well for us. :))
AlexDaniel jnthn: ah, what a relief… I was already going to defend it :) 20:50
20:50 sufrostico left
psch leont: moar doesn't have an eval-server afaik 20:50
lizmat #126492 has arrived in RT 20:51
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126492
leont jnthn: you can always do the thing khw did (implement some part of Unicode no one has implemented before, and then discover that their specs are contradicting themselves, then having to argue with them because why admit you made a mistake) 20:52
[Coke] r: use Test; is-deeply (produce *+*, 1..10), +«<1 3 6 10 15 21 28 36 45 55>
camelia rakudo-jvm 3cc195: OUTPUT«Type check failed in binding @a; expected Positional but got Seq␤ in sub is-deeply at lib/Test.pm:422␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-moar 3cc195: OUTPUT«ok 1 - ␤»
leont ;-)
20:52 sufrostico joined
[Coke] psch, bartolin - is that the failure mode you were discussing earlier? 20:52
jnthn leont: I thought I might be heading to such a situation today, but no, it was my bug. Phew. :) 20:53
20:53 raiph joined
leont psch: correct. I guess I should treat jvm as low priority anyway. 20:53
jnthn leont: Which bit was it, ooc? 20:54
leont Something about folding case and negative character groups
psch [Coke]: squish was what we talked about i think
20:54 kjs_ left
psch j: say [[2, 3], [4, [5, 6]]].map: &squish # this one 20:54
camelia rakudo-jvm 078d81: OUTPUT«(([2 3] Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.n…»
leont In fully folded mode, any negative character set containing an s would now suddenly also match the two characters ss, because of ß 20:55
This patch led to madness
path
lizmat m: [[2, 3], [4, [5, 6]]].map: &say
camelia rakudo-moar 078d81: OUTPUT«[2 3]␤[4 [5 6]]␤»
leont (well, not match, but you get the point) 20:56
jnthn Such a patch probably would lead to madness too :P 20:58
lizmat psch: what is that code supposed to do?
bartolin j: say squish("a", "b", "b", "a") # a bit simpler, even
camelia rakudo-jvm 078d81: OUTPUT«(a b a Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.new Mu.ne…»
lizmat m: say [[2, 3], [4, [5, 6]]].squish
camelia rakudo-moar 078d81: OUTPUT«([2 3] [4 [5 6]])␤»
lizmat m: say squish("a", "b", "b", "a") 20:59
camelia rakudo-moar 078d81: OUTPUT«(a b a)␤»
lizmat bartolin psch I think it's another ternary precedence issue
AlexDaniel m: printf '', :l'l;
camelia rakudo-moar 078d81: OUTPUT«Unexpected named parameter 'l'l' passed␤ in block <unit> at /tmp/vPvUIHeS6Y:1␤␤»
AlexDaniel Hm, I don't really like how error messages are using single quotes 21:00
especially considering that variables can have ' in their names
.oO( maybe that's the main problem )
psch lizmat: it's a test, from S03-metaops/hyper.t:443
bartolin lizmat: oh! the other day I tried to debug that and found that somehow IterationEnd =:= $pulled did not match within 'push-exactly' (src/core/Iterator.pm) 21:01
psch lizmat: well, not literally, but » instead of map does the same
lizmat: oh, that could be i guess... i didn't look closely at it
21:04 Oatmeal joined
dalek kudo/nom: 4e50aa2 | lizmat++ | src/core/Any-iterable-methods.pm:
Fix precedence issue in squish
21:04
bartolin lizmat++ 21:05
lizmat still building jvm, not sure if that fixes it, though :-(
jnthn m: say «நி กำ षि "\r\n"»».chars
camelia rakudo-moar 078d81: OUTPUT«(1 1 1 2)␤»
jnthn 3 out of 4 :)
lizmat »» ?? 21:06
jnthn m: say «நி กำ षि \r\n»».chars
camelia rakudo-moar 078d81: OUTPUT«(1 1 1)␤»
lizmat ah, ok
jnthn Oh, duh, not scarequotes :)
lizmat: heh, yeah, I mighta chosen a different qqw form there :) 21:07
(Just copied it from the RT)
m: say "नि".chars
camelia rakudo-moar 078d81: OUTPUT«1␤»
dalek ast: cc9a364 | coke++ | S32-list/produce.t:
Fudge RT #126493 for JVM
21:08
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126493
21:10 firstdayonthejob joined
[Coke] was 4e50aa2f18e6d915c278548dfd7962b7011e513b to fix an issue on the JVM? 21:10
jnthn Anyways, 'night o/
21:10 diana_olhovik_ left
[Coke] night 21:10
psch [Coke]: the actual issue is that it worked before on mvm, i think 21:11
[Coke]: but practically, yes
lizmat night jnthn
[Coke] anytime we change perl6 code that worked on mvm but didn't on jvm, it worries me. 21:12
lizmat [Coke] hopefully so
[Coke] feels like we're missing an underlying issue somewhere.
timotimo so many lines of text today
psch nods
lizmat [Coke]: agree
psch there's something underlying grammars that's weird
21:13 sufrostico left
psch m: my $x; 0 ?? $x = 5 !! $x = 0; 21:13
camelia rakudo-moar 078d81: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ni6cAuL8i7␤Precedence of = is too loose to use inside ?? !!; please parenthesize␤at /tmp/ni6cAuL8i7:1␤------> 3my $x; 0 ?? $x7⏏5 = 5 !! $x = 0;␤ expecting any of:␤ infix␤ infi…»
psch heh 21:14
TimToady guesses a bootstrapping issue
21:15 raiph left
bartolin lizmat: I'm afraid 4e50aa2 does not fix the Mu.new issue 21:15
lizmat ok, then I should probably revert that one
bartolin maybe you can wait for your build to finish and double check? 21:16
21:16 skids left
psch TimToady: we're still changing things relevant for ?? !! during CORE.setting compilation? 21:16
lizmat bartolin: build finished and indeed not fixed :-( 21:17
TimToady some exceptions don't exist till partway through, and I've had trouble calling note() sometimes
psch but shouldn't it still die and complain about "can't build exception object" or somesuch
bartolin psch: that was what the failing jvm build compained about 21:18
dalek ast: 246b9ea | coke++ | integration/weird-errors.t:
add test for RT #115326
ast: f95820a | coke++ | S03-operators/assign.t:
merge two RTs
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=115326
21:18 raiph joined
TimToady psch: unless it's in a try somewhere 21:19
21:19 kjs_ joined 21:21 geraud joined
[Coke] hurm. after lizmat's commit, I'm getting the "Type check failed in binding @a; expected Positional but got Seq" on squish now 21:21
and we have other things failing that way.
#126493 21:22
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126493
[Coke] ->
bartolin for the records: the jvm build failed like this: gist.github.com/usev6/9be71bd04ea7d34c9595 21:23
21:23 dg left
itz_stmuk has anyone used gcc 5.1.1 successfully? 21:24
bartolin is very curious why moar had no problem with that
TimToady lizmat: 4e50aa2 looks like superstitious parens to me 21:25
=:= is chaining, which is tighter than ||
21:26 dg joined
dalek kudo/nom: 8fcc28f | lizmat++ | src/core/Any-iterable-methods.pm:
Revert "Fix precedence issue in squish"

This reverts commit 4e50aa2f18e6d915c278548dfd7962b7011e513b.
Superstitious parens don't fix no JVM issues :-(
21:27
21:29 abelman joined, diana_olhovik joined 21:33 zakharyas joined 21:38 diana_olhovik__ joined
RabidGravy itz_stmuk, yes 21:38
21:38 diana_olhovik left 21:39 JustThisGuy joined
psch hrm, this is really weird 21:41
perl6-m --setting=NULL still bails on assignment in ?? !!
i mean, with 85de7fd2 reverted as well 21:42
err, not 85de7fd2, 078d813a
85de7fd2 is my local revert commit... :S
JustThisGuy Hi all! I'm putting together a intro presentation, and I was trying to translate the Perl 5 idiom "while (<>) {...}" to Perl 6. I found how to do this on perl6advent.wordpress.com/2011/12/...c-perl-6/. 21:43
21:44 Alina-malina left
JustThisGuy My program is "for lines() { .say }". It works file if I only specify one filename on the command line. If I specify 2 or more, it cats them all as it should, but hangs at the end. 21:44
s/file/fine/
21:45 Alina-malina joined
lizmat JustThisGuy: that feels like a bug then 21:46
gfldex JustThisGuy: what does perl6 --version say and what OS do you use? 21:47
JustThisGuy OK, thanks lizmat! Just wanted to make sure I wasn't doing something wrong.
Linux Mint 17.2 and "2015.10-49-ga333147 built on MoarVM version 2015.10" 21:48
gfldex m: .say for lines 21:49
camelia rakudo-moar 4e50aa: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;␤Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí␤I mo dhiaidh bhí gleanntáin ghlas’ G…»
dalek kudo/nom: 3b212a0 | lizmat++ | src/core/IO/Handle.pm:
Fix for #126487

Should also handle cases where a word or whitespace would extend for more than one entire chunk.
21:50
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126487
JustThisGuy OK, thanks for the help. I'm off to file a bug...
lizmat JustThisGuy: you know how to do that ? 21:51
just send an email to [email@hidden.address]
21:51 FROGGS left
JustThisGuy Yeah, I did that before with "[BUG]" in the Subject. 21:51
lizmat okidoki :-)
JustThisGuy bye! 21:52
lizmat will have a look at it tomorrow:
bye!
21:52 JustThisGuy left
lizmat gets an early night 21:53
itz_stmuk libuv in moar is 1.0.0?
japhb I count at least 5 different modules in the ecosystem (>1%!) that are HTTP/HTTPS clients: LWP::Simple, Net::HTTP, HTTP::UserAgent, HTTP::Client, and HTTP::Tinyish. Any guidance on which one to use? My main requirements are: solid HTTPS support, both GET and POST, and proper cookie and proxy handling. Probably in that order, too.
yoleaux 07:11Z <nine> japhb: the truth? I cargo culted .CREATE without thinking that much about it. I had a look at IterationBuffer.push, saw that it just does nqp::push and thought that if we cannot inline that, we have much bigger problems. So I rather avoided breaking encapsulation.
07:14Z <nine> japhb: The good news is, that indeed, it does not matter all that much. Using nqp::push directly would be about 3 % faster. My guess is that once spesh did it's work, they're equal.
itz_stmuk (probably asking on the wrong channel I know)
japhb Thanks, nine++!
flussence japhb: I'd probably go with Net::Curl, that way the stability is Someone Else's Problem :) 21:54
japhb flussence: *chuckle* OK, I guess that's 6 different modules then ... 21:55
Does it use the library via NativeCall, or shell out to the CLI client? 21:56
flussence NativeCall
japhb Excellent. OK, that's probably the best plan then.
Hmmm, and I can actually make use of having SCP available too ... thanks for the pointer, flussence++ 21:57
flussence azawawi++ # writing the module in the first place 21:58
japhb Yeah, I was about to say azawawi++ for just piles of modules. 21:59
22:00 rindolf left, rindolf joined 22:01 _dolmen_ joined
itz_stmuk Net::Curl::Easy for the lazy as well :) 22:01
it even pasts at least one of the w3c broken ecoding tests 22:02
22:03 abelman left, firstdayonthejob left
japhb itz_stmuk: Broken encoding tests? 22:07
tony-o moritz: just an FYI, the channel/supply thing runs in whatever thread the data was emitted from so that causes cross thread problems too
22:07 firstdayonthejob joined
tony-o m: my $s = Supply.new; $s.tap: -> $r { $*THREAD.name.say; }; await Thread.start({ $s.emit("from thread"); }, :name<from thread>); $s.emit('from main'); 22:08
camelia rakudo-moar 8fcc28: OUTPUT«from thread␤Must specify a Promise or Channel to await on (got a Thread)␤ in block <unit> at /tmp/2BN_ZkGhag:1␤␤»
tony-o m: my $s = Supply.new; $s.tap: -> $r { $*THREAD.name.say; }; Thread.start({ $s.emit("from thread"); }, :name<from thread>); $s.emit('from main'); 22:09
camelia rakudo-moar 8fcc28: OUTPUT«from thread␤Initial thread␤»
itz_stmuk github.com/azawawi/perl6-net-curl/...encoding.t 22:13
japhb: most of the pure perl 6 web client don't handle wrongly encoded web pages
japhb: there are a number of such test pages on the w3c.org site 22:14
22:14 diana_olhovik__ left 22:17 kid51 joined
tony-o i believe the one ugexe is working also handles that 22:18
22:20 tokuhiro_ joined, tokuhiro_ left, Zoffix left, tokuhiro_ joined
itz_stmuk Net::HTTP? 22:21
22:25 bjz left 22:27 lostinfog left
itz_stmuk I don't see any decode logic 22:32
22:33 vendethiel left
Skarsnik is that at http level or at html level? 22:34
ugexe i havent broke that part out from zef::net::http yet, so currently its $response.body.unpack('A*') heh
22:37 zakharyas left
itz_stmuk www.w3.org/2006/11/mwbp-tests/ 22:40
22:44 kjs_ left
ugexe i have some code for guessing decoding from places other than the header github.com/ugexe/Perl6-MediaType/b...iaType.pm6 22:44
once i got ot heuristics i said enough 22:46
22:47 zengargoyle left 22:49 zengargoyle joined 22:52 Begi1115 left
itz_stmuk ah cool 22:53
22:59 lucasb joined 23:01 rindolf left 23:10 ^elyse^ left
lucasb do I have to be logged on RT to avoid these "Possible cross-site request forgery" warnings? I don't remeber if I have a account there or not... 23:19
timotimo Actually while the main characters do not have a subclass the Class Mastery XP they earn is basically wasted. It's a good idea to always set a subclass to the story characters. 23:21
lucasb timotimo: hmm, interesting. but I didn't understand anything :) 23:22
timotimo timotimo: cat walked over touchpad :) 23:23
23:32 kmel_ joined 23:38 Kmel__ joined
lucasb m: @*ARGS = '/dev/null' xx 2; .say for lines 23:42
camelia rakudo-moar 3b212a: OUTPUT«Memory allocation failed; could not allocate 32768 bytes␤»
23:42 Kmel__ left
lucasb ^^ it's this new ticket: for lines() Hangs on 2 or More Files #126494 23:42
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126494
RabidGravy tadzik, I've done a PR on JSON::Unmarshal if you get a minute 23:44
23:44 espadrine left
tadzik oh, sure 23:48
RabidGravy: thanks a lot :)
23:52 RabidGravy left 23:54 sufrostico joined 23:56 lucasb left 23:58 bacek left