»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
masak 'night, #perl6 00:00
timotimo gnite masak 00:01
00:02 woolfy left
timotimo it occurs to me ... with cairo and gtk3, a nice frontend for druid should be buildable 00:03
00:03 woolfy joined 00:04 virtualsue left 00:08 xenoterracide joined 00:13 denis_boyun_ left, xenoterracide left 00:17 PZt left
alexghacker timotimo++ it sounds like there needs to be something in Type coercion that prevents cycles 00:22
whether that should error or simply stop recursion and try other alternatives is another question
timotimo IMO it's just either wrong for buf to do Stringy or for i to return self.Stringy in that case 00:23
alexghacker probably so, but there may also be a deeper problem
which, I think, makes me lean towards it being an error to encounter a cycle while doing type coercion 00:24
make problems like that visible
timotimo there's not really a concept of "type coercion"
the "Stringy" method ought to do a type coercion to something that does Stringy, but it doesn't have to, it's just a method 00:25
alexghacker well, there's certainly an emergent behavior that I would categorize as type coercion
timotimo fair enough :) 00:26
in this case it's just BS in the implementation :)
alexghacker fair enough :)
timotimo is trying unsuccessfully to build Brackets
roar 00:28
this is annoying as shit
sorry, i'm not usually cursing like this
00:29 ajr_ left
timotimo FROGGS: the name of the distribution is surprisingly small on a test results page 00:29
and it'd be nice if you could reach the github repository website for the module from the test results page and maybe also the overview lists 00:31
timotimo sent a pull request to make Acme::DSON show up green on cpandatesters 00:41
FROGGS: also, the tables really ought to be sortable and stuff 00:43
00:51 grettis left 00:55 xenoterracide joined 00:59 thou left 01:11 xenoterracide left, xenoterracide joined
cognominal Is there a way to force the strict mode on the Perl 6 shell? BTW: I like the non strict default 01:15
01:16 xenoterracide left 01:21 woolfy left, Tene left, PerlJam left, felher left, cotto left, davido___ left, pochi left, Tekk_ left, pochi_ joined, Tekk_` joined 01:22 felher_ joined, Alula left, Tene_ joined, Tene_ left, Tene_ joined, davido__ joined, PerlJam joined, Alula joined 01:23 ugator_ left
raydiak cognominal: I don't see one besides putting 'use strict;' at the beginning of your one-liner 01:23
cognominal: actually, 'use v6;' is slightly shorter and works too :)
01:24 woolfy joined
raydiak duh, except you were asking about the REPL, not one-liners; sorry :P 01:26
01:32 PZt joined 01:36 hightower4 joined 01:41 exixt_ is now known as exixt 01:46 adu left
timotimo the repl has strict mode off? 01:49
damn, it does
01:52 jfredett left 02:03 pecastro joined 02:06 cognominal left 02:20 avuserow joined, FROGGS left 02:21 bjz joined 02:23 FROGGS joined 02:24 araujo left 02:25 araujo joined
timotimo i wonder if it'd be a better idea to build an svg rather than a bunch of divs for the icicle graph in the profiler app ... 02:29
02:39 BinGOs left, BinGOs joined, mst left, BinGOs left, BinGOs joined, mst joined 03:03 KCL joined 03:11 [Sno] left 03:12 [Sno] joined
japhb timotimo: Did you ever get a chance to try `bench stress` ? 03:23
03:28 leont left
hoelzro is there a way to tell a quote construct to *not* interpret \\ as a single \? 03:52
raydiak hoelzro: github.com/perl6/roast/blob/master...ting.t#L52 03:59
hoelzro ah, thanks raydiak! 04:00
raydiak m: say Q{\\}
camelia rakudo-moar a0304c: OUTPUT«\\␤»
hoelzro m: constant @STUFF = OUTER::OUTER::.keys()
camelia rakudo-moar a0304c: OUTPUT«===SORRY!===␤ctxlexpad needs an MVMContext␤»
hoelzro that's...odd.
raydiak m: say 「\\」
camelia rakudo-moar a0304c: OUTPUT«\\␤»
hoelzro m: my @STUFF = OUTER::OUTER::.keys() 04:01
camelia ( no output )
04:01 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk 04:03 PZt left 04:09 FROGGS left 04:10 FROGGS joined 04:13 kurahaupo_ joined 04:14 kurahaupo_ is now known as kurahaupo
hoelzro m: OUTER::OUTER::.pairs.map(*.value) 04:23
camelia ( no output )
hoelzro m: say OUTER::OUTER::.pairs.map(*.value) 04:24
camelia rakudo-moar a0304c: OUTPUT«(Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu)␤»
hoelzro should those be Mus?
04:31 vendethiel left 04:32 vendethiel joined 04:52 vendethiel left 04:53 xenoterracide joined 04:55 vendethiel joined 05:05 ggoebel111111113 joined 05:06 ggoebel111111112 left
hoelzro is glob gone? 05:09
m: &glob
camelia rakudo-moar a0304c: OUTPUT«===SORRY!=== Error while compiling /tmp/SIcLdn4z_G␤Undeclared routine:␤ &glob used at line 1␤␤»
05:17 vendethiel left 05:18 vendethiel joined 05:21 arcterus joined
raydiak dir takes a smart-match test 05:23
perlcabal.org/syn/S32/IO.html#dir()
m: say dir».Str 05:24
camelia rakudo-moar a0304c: OUTPUT«rakudo-inst-2 evalbot .viminfo rakudo-inst-1 .bashrc .ssh std rakudo-star-2014.09.tar.gz rakudo-star-2014.09 niecza p2 .cpanm rakudo-inst bin rakudo2 perl5 p1 .local .perlbrew rakudo1 .bash_history log Perlito .rcc star evalbot.log star-2014.09␤»
raydiak m: say dir(:test(/i/))».Str
camelia rakudo-moar a0304c: OUTPUT«rakudo-inst-2 .viminfo rakudo-inst-1 niecza rakudo-inst bin .bash_history Perlito␤»
raydiak though it's not exactly globbing syntax, if that's specfically what you wanted 05:25
*specifically
05:26 arcterus left, arcterus joined
hoelzro raydiak: I'm curious about glob because I see artifacts referring to it in rakudo code 05:30
raydiak hoelzro: looks like it went away at github.com/perl6/specs/commit/a2a2...ba2f996e89
hoelzro ah, thanks! 05:31
raydiak ah, here's something a bit more informative, dug up from the clog from the day of the other commit: github.com/perl6/specs/commit/9d5747d3d8 05:32
and you're welcome, of course :)
05:35 molaf joined
raydiak afaict, the 2014-10-20 result at irclog.perlgeek.de/perl6/search/?q=glob is the closest thing we ever had to a discussion about the removal of glob...???... 05:39
05:40 vendethiel left 05:41 BenGoldberg left 05:42 vendethiel joined, tinyblak joined, xenoterracide left, xenoterracide joined 05:48 arcterus left 05:55 virtualsue joined, virtualsue left 05:58 Tene_ is now known as Tene, xinming left 05:59 xinming joined, araujo left
Woodi hallo today :) 05:59
some user experience: man... these grammars are terrible... just save yourself some pain and time and just use Perl5 regexes ! 06:02
you start with perfect: rule TOP { <marker> <inside> <marker> };
and that's all what is good in grammars
at leas to start with them ;)
eg. pastebin.com/nGRGmep2 06:03
how to use '.+' in them ?
probably regexes... and what is difference in terms and rules ? "rules skips white spaces" ? good luck with that :) 06:05
it's my at least 3rd start with grammars and this time I just giveup and dovngraded to Perl5 and have working something in 5 minutes... 06:06
so much for baby Perl6 :)
grammars are totally unintuitive, all or nothing thing 06:07
06:08 araujo joined 06:14 xenoterracide left, tinyblak left 06:15 tinyblak joined 06:17 Louis1951 joined 06:19 immortal joined 06:21 erkan left 06:24 vendethiel left 06:25 vendethiel joined, Louis1951 left 06:35 vanila left 06:38 kaare_ joined 06:46 tinyblak left, vendethiel left
TimToady Woodi: there are only three kinds of matchers in grammars (rule, token, and regex), yet you seem to always want to use 'rule' when token or regex would make better sense 06:47
06:47 tinyblak joined
TimToady you want to use .* or .+ but those only make sense with backtracking, and only 'regex' allows backtracking of the three 06:47
generally you want to start with tokens in a grammar, because those don't play games with whitespace, and don't backtrack
backtracking is usually bad in a grammar 06:48
you have a matcher defined as '{' | '}' but don't seem to realize that this matches } stuff { just as easily as { stuff }
or { stuff {
06:50 tinyblak_ joined
TimToady you also don't seem to realize that both . and \s match whitespace 06:50
s/matcher/marker/ 06:51
sure you can use p5 regex, but you won't get a parse tree out of it 06:52
06:53 tinyblak left
TimToady also, single quotes are not going to interpolate \n 06:58
07:00 arcterus joined
TimToady gist.github.com/anonymous/e6daa08077bbef203f1f is more like what you want 07:01
07:03 vendethiel joined
TimToady except, of course, that backtracking is not an efficient way to write a parser, and this code is relying on backtracking all the way back up from things to TOP in order to recognize a trailing marker 07:04
07:04 telex left
TimToady much better if you have tokens that are smart enough to not eat the marker in the first palce 07:04
*place 07:06
07:06 telex joined 07:07 jfredett joined 07:08 arcterus left 07:11 jfredett left, [Sno]_ joined 07:12 [Sno] left, [Sno]_ is now known as [Sno]
TimToady anyway, .* and .+ have virtually no place in a good parser, since they are greedy and always match clear to the end of the string or file 07:12
occasionally there is a use for .*? and .+? (the frugal variants)
note that grep and p5 limit . to matching inside a single line by default, so you can get away with more sloppy thinking 07:13
but in p6, . matches any char including newline, so you want \N if you want to match something that is not a newline 07:14
this is much more precise, but p5 and grep have taught you bad habits :) 07:15
07:19 tinyblak_ left 07:20 kjs_ joined, kjs_ left, tinyblak joined
TimToady it's like it's more complicated to drive a car than to ride a bicycle, and you have to start observing the stop signs and speed limits...but you can go a lot further 07:22
07:24 vendethiel left
raydiak takes notes for future Math::Symbolic::Grammar revisions 07:29
(particularly offensive backtracking)
07:29 [Sno] left 07:30 gfldex joined, [Sno] joined 07:41 tinyblak left, Sqirrel left 07:42 Sqirrel joined, [Sno] left, tinyblak joined 07:47 vendethiel joined 07:50 woolfy left 07:51 woolfy joined 07:53 woolfy left 07:56 lizmat left 08:11 tinyblak left 08:12 tinyblak joined 08:13 darutoko joined 08:19 mirjam joined 08:32 anaeem1 joined
dalek kudo/nom: 4969e67 | TimToady++ | src/Perl6/ (2 files):
parse colon invocants like STD
08:34
ast: 88c52fa | TimToady++ | S (2 files):
unfudge colon invocant tests
08:35 spider-mario joined, spider-mario left, spider-mario joined, rindolf joined 08:41 tinyblak left 08:42 tinyblak joined 08:46 molaf_ joined 08:50 molaf left 08:55 gfldex left 08:58 raiph joined 09:00 tinyblak_ joined 09:03 tinyblak left 09:04 mirjam left 09:06 mirjam joined
dalek href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: 0ad7b0d | (Tobias Leich)++ | jobs/calc-stats.pl:
fix gobbling of dist releases
09:11
09:13 raiph left
FROGGS fix all the things /o/ 09:13
09:25 denis_boyun_ joined
Woodi TimToady: I have strange feeling when using grammars... I write one and, of course, it not working, of course, my fault.. so I try something simpler, then simpler then I start from "base" things. that eventually works. then I build something bigger around this, works, and so on, and at the end I have exactly what I started with ! except it works now... 09:33
TimToady: probably it's my memory fails or I messed with input string but I just have that feeling that it is learning ! 09:34
of course it is absurd, it would require interpreter code to be self-modifing and other things but realy who knows... 09:35
09:37 ugator joined 09:45 FROGGS[mobile] joined
FROGGS[mobile] Woodi: a single character can easily make your grammar parse or fail to... like making a quantifier frugal or greedy... 09:47
09:47 tinyblak_ left
FROGGS[mobile] Also, when you use token when you want rules, or vice versa, has the same effect 09:48
09:48 tinyblak joined
FROGGS[mobile] it might look identical on the first glimpse 09:48
09:52 anaeem___ joined 09:55 exixt is now known as exixt_, anaeem1 left
Woodi I just want \something that matches alphanums, white spaces and new lines to capture things between markers... 09:55
dalek kudo/nom: f460d71 | TimToady++ | src/Perl6/ (2 files):
also handle parenthesized invocant colon
09:57
ast: f211650 | TimToady++ | S12-methods/indirect_notation.t:
also test parenthesized invocant colon
09:58 Mso150_d_y joined
Woodi and yes, sloppy thinking, it's all me... and wanting to be lazy and impatient too 10:01
and starting with 'rule TOP' is what google returns moust :) I thinked it is required and still act on this 10:02
10:03 denis_boyun_ left 10:06 denis_boyun_ joined
dalek ast: 4cc6720 | TimToady++ | S12-methods/instance.t:
unfudge invocant colons
10:09
10:11 tinyblak left 10:12 tinyblak joined 10:18 Mso150_d_y left, Mso150_d_y joined 10:23 lucas_ joined, Alina-malina left 10:24 Alina-malina joined, Alina-malina left, Alina-malina joined, Alina-malina left, Alina-malina joined
Woodi TimToady: example above works perfectly, thank you. but I still have no idea why with regexes it works and 'rule things { \S+ | \s+ };' or token no. will study docs. 10:30
lucas_ hello, good morning. 10:36
Stylistic question: Wouldn't you mind if I change the remaining occurrences of infix:['...'] in S03 to use french angle quotes, like from infix:['=>'] to infix:􏿽xAB=>􏿽xBB. Or do you think it's hard to read this way? 10:37
If "=:=" is the container identity test and "!=:=" is its negated form. Wouldn't you like having a negated shortcut like "=!="?
10:37 denis_boyun_ left
masak morning, #perl6 10:41
10:41 tinyblak left 10:42 tinyblak joined
moritz \o masak, * 10:44
colomon o/ 10:46
masak small self-hosting C compiler: homepage.ntlworld.com/edmund.grimle...ans/cc500/ 10:47
10:53 regreg joined
moritz m: say 1 # what version is it now? 10:54
camelia rakudo-moar a0304c: OUTPUT«1␤»
10:55 anaeem___ left 10:59 anaeem1_ joined 11:01 ggoebel111111113 left
vendethiel o/ #perl6 11:02
masak aloha [v|V]en.* 11:08
11:11 tinyblak left 11:13 tinyblak joined 11:19 ggoebel111111113 joined 11:21 regreg left
masak m: class Conf { has @.boxes where { all(@$_) >= 0 } }; my $c = Conf.new(:boxes[ 2, 2, -1 ]); say $c.perl 11:22
camelia rakudo-moar a0304c: OUTPUT«Conf.new(boxes => Array.new(2, 2, -1))␤»
masak ESTILLNOTCHRISTMAS 11:23
m: class C { has $.x where * > 0 }; say C.new(:x(-42)).x
camelia rakudo-moar a0304c: OUTPUT«-42␤»
lucas_ m: sub prefix:<=^.^=> { say "oh hai, $^a" }; =^.^= '#perl6' 11:34
camelia rakudo-moar a0304c: OUTPUT«oh hai, #perl6␤»
11:41 tinyblak left 11:42 tinyblak joined
FROGGS m: say $*PERL.compiler.build-date 11:45
camelia rakudo-moar a0304c: OUTPUT«2014-11-07T22:08:27Z␤»
colomon how do I ask a potentially lazy list if it has more than one element? 11:47
… I guess @a[1].defined is good enough for my purposes? 11:48
11:48 tinyblak_ joined 11:52 tinyblak left 11:59 chenryn joined
dalek : 61905e1 | (Lucas Buchala)++ | docs/feather/script/update-syn:
Update URL prefix for Differences.pod
12:00
: ad90770 | (Lucas Buchala)++ | docs/feather/script/update-syn:
Add CSS for Differences.pod
: cfb587e | (Tobias Leich)++ | docs/feather/script/update-syn:
Merge pull request #4 from lucasbuchala/fix1

Update Differences.pod generation
12:01 anaeem1_ left
masak I think the (often Ruby-related) revelations about DSLs often boil down to how powerful the combination of code blocks + syntactic suggestion can be. 12:07
and I think the main way macros can improve on that is to make the syntax even more suggestive.
dare I suggest that Ruby has a slight edge on Perl 6 for various reasons having to do with commas and whitespace. 12:08
using macros that hook into the Perl 6 grammar, we could regain that edge.
lucas_ FROGGS: thanks! 12:11
FROGGS hmmm, I wonder if it would be sane to move perlcabal.org/syn/ to design.perl6.org, and shut down perl6cabal.org completely 12:15
masak +1
FROGGS "Where Are We? 12:16
The Pugs project was started on February 1st, 2005 by Audrey Tang. To keep up to date on the latest developments, join us on IRC (irc.freenode.net #perl6), and check out This week on Perl 6."
I mean, the site can stay as long as the outdated cruft is removed...
lucas_ or maybe {specs,spec,syn,synopsis,synopses}.perl6.org
FROGGS no
masak no
FROGGS not specs and not spec
the rest would work :o)
masak I prefer "design", though 12:17
lucas_ oh, specs is not the desired word...
FROGGS yeah, pmichaud++ calls it design docs nowadays, which pretty covers it
masak "specs" means "glasses".
12:18 [Sno] joined
FROGGS the roast repository could be made available somehow under spec.perl6.org 12:18
(in a human readable form maybe)
or stats about it... coverage, todos and NYI's 12:19
masak I think we should avoid tying *anything* to spec.perl6.org -- better to have the tests at tests.perl6.org or roast.perl6.org or something.
if we decide to put anything on spec.perl6.org, it should be a disambiguation page explaining about the spectests and the design, and linking to them. 12:20
FROGGS that makes sense
12:21 Mso150_d_y left
FROGGS perl6.org is also hosted on feather? 12:22
12:25 denis_boyun_ joined 12:32 zjmarlow joined
colomon m: say -1.2.floor 12:33
camelia rakudo-moar a0304c: OUTPUT«-1␤»
12:33 zjmarlow left
masak precedence. 12:33
colomon m: say (-1.2).floor
camelia rakudo-moar a0304c: OUTPUT«-2␤»
masak m: say -(1.2.floor) # without parens, means this 12:34
camelia rakudo-moar a0304c: OUTPUT«-1␤»
moritz FROGGS: yes, perl6.org is hosted on feather2 12:35
FROGGS: see also: github.com/perl6/infrastructure-doc
12:35 denis_boyun_ left
masak moritz++ # for all kinds of reasons 12:36
FROGGS ahh
moritz++ # :o)
moritz: so, we could easily make design.perl6.org show the synopsis? 12:37
moritz FROGGS: in principle, yes 12:41
FROGGS: but I'd wait a bit for the new server, and then host it there
FROGGS yes, no hurry
moritz I guess then I'll also ask Dan if we can host DNS for perl6.org ourselves 12:42
then it'll be less hassle to get new subdomains and point them seomewhere else
12:42 sqirrel__ joined
dalek href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: 71ab0fd | (Tobias Leich)++ | app.pl:
treat NOTESTS as NA
12:50
12:56 ugator left 12:59 araujo left
bartolin hi #perl6 13:00
it would be great if someone takes a look at this PR: github.com/perl6/nqp/pull/197
dalek href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: e2ea199 | (Tobias Leich)++ | app.pl:
distinguish between NA and NOTESTS
13:02
href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: d576ec8 | (Tobias Leich)++ | / (2 files):
correctly display NOTESTS reports
p: d666ea5 | usev6++ | src/QRegex/P6Regex/Grammar.nqp:
Convert panic() call to more specific, overrideable method
p: ad973ba | (Tobias Leich)++ | src/QRegex/P6Regex/Grammar.nqp:
Merge pull request #197 from usev6/master

Convert panic() call to more specific, overrideable method
FROGGS bartolin++
bartolin thanks, FROGGS++ 13:03
13:06 beastd joined 13:07 regreg joined, araujo joined 13:08 [Sno] left 13:09 [Sno] joined
dalek href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: d033bbe | (Tobias Leich)++ | / (2 files):
fix display of NOTESTES, really
13:09
FROGGS grrr, copy & pasto 13:10
I'll disable the dalek spam now
13:10 immortal left
colomon m: sub A(@a is copy) { say @a[0]; }; say A([1, 2, 3]); my @a := 1, 2, 4 … *; say A(@a) 13:11
camelia rakudo-moar a0304c: OUTPUT«===SORRY!=== Error while compiling /tmp/8kjEalkaXP␤Two terms in a row␤at /tmp/8kjEalkaXP:1␤------> ; }; say A([1, 2, 3]); my @a := 1, 2, 4 ⏏… *; say A(@a)␤ expecting any of:␤ postfix␤ in…»
colomon argu 13:14
m: sub A(@a is copy) { say @a[0]; }; say A([1, 2, 3]); my @a := 1..*; say A(@a)
camelia rakudo-moar a0304c: OUTPUT«1␤True␤1␤True␤»
colomon m: sub A(@a is copy) { say @a[0]; }; say A([1, 2, 3]); my @a := gather loop { take 1; }; say A(@a)
camelia rakudo-moar a0304c: OUTPUT«(timeout)1␤True␤» 13:15
colomon m: sub A(@a is copy) { say @a[0]; }; A([1, 2, 3]); my @a := gather loop { take 1; }; A(@a)
camelia rakudo-moar a0304c: OUTPUT«(timeout)1␤» 13:16
13:16 isBEKaml joined
colomon hmmm 13:17
is there a idiomatic way to copy an infinite lazy list?
*potentially infinite
13:19 leont joined 13:20 tinyblak_ left
FROGGS my @b := gather loop { take @a[$++] } # would that work? 13:20
isBEKaml FROGGS: isn't loop *eager*? 13:21
colomon isBEKaml: shouldn't matter
as the "take" will halt its execution.
maybe pause is a better word than halt 13:22
isBEKaml colomon: ah, I thought you wanted a lazy copy
colomon isBEKaml: that is lazy
isBEKaml colomon: good to know
colomon FROGGS: that won't work right if @a is finite, will it?
13:22 ugator joined
FROGGS m: my @a = ^20; my @b := gather loop { take @a[$++] }; say @b 13:23
camelia rakudo-moar a0304c: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (A…»
colomon my first stab was gather for @a -> $a is copy { take $a; }
which seems to work. 13:24
FROGGS ahh
colomon (though it doesn't solve my current problem at all.)
FROGGS hehe
colomon (or rather, that was only stage one of my current problem, it appears.)
13:25 isBEKaml left 13:26 erkan joined 13:27 Blackrush joined
Blackrush hi everyone, I was wondering if there were any plans to support a BEAM backend on Rakudo? 13:27
vendethiel yo Blackrush :) 13:29
Blackrush: Do It Yourself :P
Blackrush vendethiel, hey pal :) 13:30
arnsholt There aren't any plans ATM, I think
vendethiel it wouldn't work anyway
arnsholt The focus is JVM and Moar for the time being
vendethiel there are some semantics you can't bring to BEAM
"or else..." 13:31
arnsholt What kind of semantics?
vendethiel the whole container thingie 13:32
Blackrush immutability of variables i think
vendethiel beam is ssaf-based
Blackrush okay you lost me here 13:33
13:33 xinming left 13:34 xinming joined
Blackrush with everything going on actually on Erlang community right now I think it would be a real plus for rakudo to support such a performant VM 13:34
masak I don't think anyone's disagreeing. but it won't happen on its own, and resources here are already spread thin. 13:36
as for myself, I'd much rather see us get further on the JS backend. ++pmurias
FROGGS +1 13:37
vendethiel beam, a performant VM? now you're trolling ;-)
13:37 tinyblak joined
dalek ast: 496aa2f | usev6++ | S05-metasyntax/repeat.t:
Add tests for RT #111956
13:37
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=111956
masak I think BEAM can be considered to have a performance edge, at least for some concurrency stuff. 13:38
vendethiel Well, it's meant for IO-bound stuff. If you try to do anything outside of that, it's slow as a dog
13:39 anaeem1_ joined
timotimo vendethiel: is that slower or faster than moarvm? 13:39
vendethiel no clue
faster than moar-nojit, slower than moar-jit, I'd say
masak does BEAM have a JIT?
timotimo mhm, mhm
vendethiel no it doesn't 13:40
though there have been paper earlier in the year working on that
Blackrush well thank you guys to reply so fast 13:46
13:46 Blackrush left 13:48 haroldwu left 13:49 haroldwu joined 13:50 ugator left
colomon does bless copy arrays you pass it? 13:53
timotimo i don't think it should; how else would you store a shared reference to an array into a class's attributes? 13:54
masak m: my @a = 1, 2, 3; class C { has @.a }; my $c1 = C.new(:@a); my $c2 = C.new(:@a); say $c1.a === $c2.a 13:55
camelia rakudo-moar a0304c: OUTPUT«False␤»
colomon m: class A { has @.a; }; my @a := 1..*; my @b := gather loop { take 1; }; A.new(a => @a); say "Made a"; A.new(a => @b); say "Made b"
camelia rakudo-moar a0304c: OUTPUT«(timeout)Made a␤»
timotimo hm
dalek : b7c41f6 | (Lucas Buchala)++ | docs/feather/syn_index.html:
Update CSS for syn_index.html
colomon timotimo: it definitely does copy. or something that involves going through an entire infinite list. 13:56
but only if it doesn't know it's infinite.
masak I think I half-remember the decision to make it copy. I may even have had a hand in arguing for that.
timotimo mhm
masak but it's years ago.
colomon I don't mind copying as a concept, but copy combined with eagerly doing the copying is a bit of a disaster 13:57
masak *nod* 13:58
m: my @a = 1..*; my @b = @a; say @b.elems
camelia rakudo-moar a0304c: OUTPUT«Inf␤»
masak should work more like that, no?
leont FROGGS: any documentation on close-pipe?
13:59 sqirrel__ left
colomon afk # need exercise 14:01
FROGGS leont: no... lizamt++ specced pipe() which return IO::Pipe, and .close will shutdown that process and return an Process::Status 14:03
leont: right now I try to merge the child process's stdout + stderr 14:04
14:04 xtreak joined
xtreak perl6: say 3 14:05
camelia rakudo-{parrot,moar} a0304c: OUTPUT«3␤»
FROGGS m: say 3.^mro
camelia rakudo-moar a0304c: OUTPUT«(Int) (Cool) (Any) (Mu)␤»
xtreak Is perl6 gonna be released in FOSSDEM 2015? 14:06
FROGGS xtreak: no, the plan is to release it 2015
but february is quite unlikely doable
masak xtreak: I think this new focus on "released in 2015" has both good and bad aspects to it. 14:07
timotimo FROGGS: can the user switch between merged and separate stdout/stderr?
masak xtreak: good: we're getting a bit more focus, aiming for something.
xtreak Any specific place to read about it? I had it from reddit, HN.
masak xtreak: bad: we will inevitably waste *some* additional goodwill making some people disappointed because it's not ready for *them* and their requirements. 14:08
FROGGS timotimo: yes
masak xtreak: it's all pretty new for us too. so I don't think there's any one place to read about it.
xtreak: but you can get fresh news here.
FROGGS timotimo: though, I dunno how we can let the user slurp from both filehandles
timotimo: I guess we have to return something else then a single fh from nqp::openpipe... 14:10
timotimo another thing i'd like to see is giving the subprocess already-opened file descriptors when spawning
FROGGS then you can have a rw pipe
xtreak I am curious as its Larry wall.. I played with perl6 but its very slow.. So even if its released its gonna be a slow one and will be optimised? 14:11
FROGGS it is just that you cannot access fds right now at all
xtreak: did you try rakudo on moarvm? a reent one?
timotimo xtreak: we're already working on optimizing the performance and have made significant progress over the last year
14:12 cognominal joined
xtreak I had it from rakudo.org/downloads/star/ . As I am on linux I compiled it. It takes 6 seconds for a print statement from the terminal with perl6 -e "say 'hello'".. 14:14
I think I tried with parrot backend.. Not quite sure.. sorry about that..
FROGGS xtreak: that sounds like you've chosen the jvm backend
np
just try the -moar tarball 14:15
timotimo moarvm does a startup + say "hello" in 0.4 seconds on my machine
FROGGS time perl6 -e 'say "hello xtreak"'
hello xtreak
real0m0.322s
timotimo (nqp-m does the same thing in 0.07s)
xtreak So can I download the tar and compile it with moar flag? I find only a single tar 14:16
timotimo ah, yeah, the source code tars "have all of them"
the flag would be --backends=moar
perhaps you have to supply --gen-moar and/or --gen-nqp
but i think they will be supplied automatically?
FROGGS --gen-moar implies --gen-nqp 14:17
timotimo good
FROGGS but you have to pass --gen-moar at least
then you don't have to pass --backends for example
xtreak I think I supplied it as parrot. Installed it few months back. Is nqp different from moar?
FROGGS xtreak: nqp is a part of our compiler tool chain
xtreak: you probably won't ever need it directöy 14:18
directly*
xtreak Well you reported 0.322s and timotimo reported 0.07s with nqp so I thought they are different.. 14:19
timotimo yes, nqp is a compiler for a more simpler version of perl6; we use NQP to write the biggest portion of rakudo
xtreak So what will be the best way to compile perl6 to be fastest as of now? I am gonna compile now.. It will be helpful if u could post the flags to be set while compiling.. 14:21
timotimo just use --gen-moar and we hope you'll be satisfied :)
xtreak Thanks timotimo. Is nqp a lightweight version of perl? 14:22
FROGGS correct 14:25
it has all you need to build a compiler
timotimo more specifically, it's a lightweight version of perl6 14:26
14:27 KCL_ joined 14:28 colomon left
xtreak I downloaded the rakudo star latest tar and also the MoarVM 2 Mb tar. Now I need to do perl Configure.pl --gen-moar . Right? 14:30
moritz xtreak: yes
timotimo --gen-moar will checkout moarvm from github instead of using the tarball, but that should be fine
14:31 KCL left
xtreak I have the tar ball. How can I use it? 14:31
FROGGS xtreak: just run the configure in the star tarball... it will do what you want 14:32
xtreak Also how can I recompile it again with parrot to check the speed ? Can I just remove the folder or any steps needed?
cognominal is the non documentation of add_fallback deliberate? 14:33
timotimo yes, there is supposed to be a "more public" api in the future
FROGGS xtreak: you can do: perl Configure.pl --backends=moar,jvm,parrot --gen-moar --gen-parrot 14:34
xtreak: then you have all three and can compare
xtreak: or leave out the jvm if you are sure you don't wanna use it
cognominal timotimo++ 14:35
xtreak Then how can I run the compiled binary with parrot backend or MoarVM backend?
FROGGS perl6-p
the moar one is perl6-m
and the first option to --backend will be installed as 'perl6' 14:36
timotimo and "perl6" will be the one for whatever you put first in your --backends list
xtreak Ok I compiled with the moarvm backend now. I will recompile it again later. Curious about the perl6 speed. :) 14:37
FROGGS :o)
xtreak: have fun playing with it
xtreak: and please report any surprises and absurdities
xtreak I am new to compiling from scratch. Thanks a lot froggs and timotimo for being patient and helpful :) 14:38
FROGGS was a pleasure :o) 14:39
xtreak Sure I will report the speed and also if I face a surprise..
FROGGS thank you
xtreak Will the tests results be passed to a web service like the modules I install with CPAN? 14:40
FROGGS xtreak: no 14:41
at least not yet
xtreak Ok.. It will be helpful if they do so to track bugs in installation.. Any ideas of why? 14:42
FROGGS xtreak: the module test reports just exist for about a week (actually since Monday)
we just need to do it
timotimo FROGGS: previous reports will not get "notests" or "na" applied to them? 14:44
FROGGS timotimo: correct 14:45
timotimo OK
how does cpandatesters react to newer versions of modules coming out?
FROGGS need to write a script to update their grade
timotimo: happily I'd hope :o)
timotimo hehe.
FROGGS it will prefer newer dist releases when it comes to dist quality if you are talking about that 14:46
timotimo i wonder if xfix will react to my Acme::DSON pull request soon-ish
that's good
did you read all my feature requests? :)
FROGGS for example, in case the newer dist version has more than 20 reports, it won't consider reports for older releases
yes, I put it into the TODO.md locally
though, I don't agree to that: 14:47
<timotimo> FROGGS: the name of the distribution is surprisingly small on a test results page
xtreak Ok.. I am running the rakudo-test : All pass. 14:48
timotimo good!
FROGGS yes, it has been long since there was an issue with these tests :o)
xtreak Now I am running the spec test.. Its a huge one it seems 14:49
14:49 exixt_ is now known as exixt
timotimo that's right 14:49
env TEST_JOBS=4 make spectest will run 4 in parallel 14:50
uh oh
panda rebootstrap segfaults my perl6-m here
FROGGS O.o
14:50 colomon joined
FROGGS I just did that 14:51
xtreak Learning something new everyday :) but I started it :)
FROGGS with HEAD of moar/nqp/rakudo
timotimo that's probably my fault :\
FROGGS ahh, pheew
hmmm, I dunno how to tell libuv to merge stdour/stderr
timotimo IIRC the #libuv people are responsive and nice 14:52
FROGGS timotimo: yes, I know that channel quite well... I just asked :o) 14:53
timotimo FROGGS: is there any documentation for the environment variable that i have to set for panad to submit reports?
FROGGS timotimo: not yet... where should such a documentation go? and... do we want to keep that env var? 14:54
that's why I usually do btw: PANDA_SUBMIT_TESTREPORTS=1 panda --exclude=panda smoke
timotimo dunno
xtreak timotimo . You write p6weekly.wordpress.com/ ? Great. Just checked it now to know the latest improvements..
timotimo i didn't even know "panda smoke" exists
xtreak: thank you :)
FROGGS I mean, it is quite comfortable to do right now
timotimo: only in the reporter branch 14:55
timotimo OK
14:55 ClarusCogitatio left
timotimo should we be thinking about vandalism protection measures? 14:55
like, do you record the IP of a submission so that big chunks of bogus data from the same source could easily be wiped off the database? 14:56
14:57 ClarusCogitatio joined
xtreak I just opened the test cases for spectest. Well they are huge. Is it safe to stop and run later. I think it will take a long time to finish.. 14:57
colomon timotimo: panda smoke just installs every module (with an exclude field so you can tell panda not to install itself)
FROGGS xtreak: you don't need to run these actually
xtreak Ok. I will stop them now.. 14:58
FROGGS colomon: correct... I non-installing thingy that does not report duplicate reports would be awesome
xtreak t/spec/S11-modules/export.rakudo.moar ......................... Dubious, test returned 22 (wstat 5632, 0x1600) 14:59
Failed 22/36 subtests
(less 8 skipped subtests: 6 okay)
is printed
colomon FROGGS: I'm pretty sure emmentaler can be made to do that. But I'm also pretty sure I don't have time for it today. :)
FROGGS xtreak: :/
timotimo FROGGS, xtreak: that's probably the ctrl-c killing the test 15:00
FROGGS colomon: I am thinking of panda actually, because I just want to fiddle with one place
xtreak I cancelled it now and am running the make install
colomon FROGGS: emmentaler is just a simple script which uses panda.pm
FROGGS ahh, hmm
I see
timotimo my reports show up \o/
FROGGS *g*
xtreak Does perl6 comes with mysql and sqlite dbd? I see them compiling.. 15:02
timotimo we have a module called DBIish 15:03
rakudo star (which is what the distribution is called) comes with a bunch of modules
perl6 itself does not, though
xtreak Now I run the make install where is ther perl6 binary located? 15:04
FROGGS usually in install/bin/
you should put that in PATH
xtreak Ya got it.. Now it runs in 15:06
real0m0.480s
user0m0.368s
sys0m0.112s
for say 'hello' . Awesome ;)
FROGGS yay!
xtreak How to run it with nqp? 15:07
masak npq is already in there somewhere. 15:08
er, nqp*
FROGGS nqp-p -e 'say("hello")'
and nqp-m -e 'say("hello")'
xtreak Thats magnitude of speed increase for me as I had it for 6 seconds with JVM.. So MoarVM gonna be the fastest one yet?
FROGGS yes
the JVM can beat MoarVM when it comes to large data mangling or longer running apps
xtreak I ran it as ./nqp-m -e "say 'as'" inside install/bin but it prints a long error msg.. Have I missed something? 15:12
leont You want perl6-m, not nqp-m, for actual perl 6 15:13
15:13 immortal joined, immortal left, immortal joined
leont NQP is a limited subset of perl 6, some things are identical, some things are present 15:14
The parentheses matter apparently, for example
xtreak But in terms of dev it seems parrot has more activity..
Thanks I ran it now with the parenthesis. Its 0.100s . 4 times faster.. :) 15:15
15:16 erkan left
FROGGS xtreak: parrot has one active developer 15:17
MoarVM has about 4+ devs
15:17 slavik1 left
xtreak Great for my AMD A8 with 4GB RAM.. I hope today's play will stretch my night :) Eagerly awaiting the Tim Toady speech in FOSSDEM ;) 15:18
FROGGS yeah, I'm also eager to see it... though, a lot of work is to be done to achieve or goals :o) 15:19
15:19 JimmyZ joined
xtreak Great.. So what does rakudo as a distribution mean? 15:19
FROGGS rakudo is one compiler that complies to the Perl 6 spec
there was niecza and originally pugs, but rakudo is the most advanced compiler 15:20
xtreak I am eager to do compiler hacking but the source looks so scary to a budding perler :(
FROGGS and actually the only one that survived, which is not a bad thing
really?
xtreak So rakudo compiles to some intermediate code and they run on a VM which is MoarVM and Parrot? 15:21
FROGGS this is how concating Buffers is implemented... it is quite readable: github.com/rakudo/rakudo/blob/nom/...uf.pm#L340
xtreak Ya I am eager to do compiler hacking but compiler things seem little alien to me as Perl is my first language.. 15:22
Thanks I will look into it.. 15:23
FROGGS that explains a bit the architecture behind rakudo: www.youtube.com/watch?v=XgPh5Li3k4 15:24
also talks like this: www.youtube.com/watch?v=bhAIyrk2ogo 15:25
timotimo "this video does not exist"
FROGGS eww
timotimo for the first one 15:26
FROGGS this link works for the first pasted link: www.youtube.com/watch?v=XgPh5Li3k4...5awFKXunZX
the second link should do, and was recorded recentish
xtreak I just looked into perl5 git repo. Its 75% perl. I thot its a lot of C.. I will start reading the source.. Feel great to have all of you.. Thanks a lot froggs and timotimo :) 15:29
FROGGS xtreak: we're not talking about Perl 5 here
xtreak Ok.. 15:30
15:31 slavik joined 15:33 xtreak left 15:37 guru joined 15:38 guru is now known as Guest40087, Guest40087 is now known as ajr_ 15:39 jfredett joined, sqirrel_ joined 15:44 mirjam left 15:46 chenryn left 15:57 gfldex joined, xenoterracide joined 16:01 zakharyas joined 16:05 xenoterracide left 16:08 thou joined, anaeem1_ left, anaeem1 joined
leont Great. Having a segfault, but can't do 􏿽xABgdb perl6 􏿽x85􏿽xBB like I'd usually do 16:09
masak why not? 16:10
I'm asking as someone who hasn't tried doing that.
leont Because perl6 is a shell script that starts a shell script that starts moar 16:12
arnsholt leont: Just dump the shell script and extricate the moar invocation
leont In the end, I had to do 􏿽xABgdb --args /home/leon/.rakudobrew/moar-HEAD/install/bin/moar --execname=perl6 --libpath="/home/leon/.rakudobrew/moar-HEAD/install/languages/nqp/lib" --libpath="/home/leon/.rakudobrew/moar-HEAD/install/languages/perl6/lib" --libpath="/home/leon/.rakudobrew/moar-HEAD/install/languages/perl6/runtime" /home/leon/.rakudobrew/moar-HEAD/install/languages/perl6/runtime/perl6.moarvm􏿽xBB
masak what arnsholt said.
arnsholt IIRC the script is literally three lines long
Yeah, it's a bit annoying 16:13
leont Yes, it works, but it's not very user friendly
masak maybe we should ship another script that does the gdb invocation?
leont I was thinking just that
TimToady perl6 --with=gdb or so?
masak ooh
leont Apparently, MVM_6model_find_method_cache_only is giving me a segfault when using precompiled libraries 16:14
masak golfed reproducible steps would be much appreciated. 16:15
TimToady sounds like maybe something is neglecting to serialize/deserialize correctly
leont At this stage, I'm not sure how to golf it. It's only failing in two of my four test-files, that is some information 16:16
TimToady is this a precompiled-by-you library?
or one of the standard ones? 16:17
leont By me
16:18 isBEKaml joined
TimToady could well be tickling some construct that is incompletely implemented then 16:18
(wrt precomp)
arnsholt suggests perl6 --gdb
16:18 sqirrel_ left
masak also, the prior for a successful golfing just went up with the data "by me". 16:18
TimToady well, a gdb backtrace might well help
masak arnsholt: +1 16:19
arnsholt goes to implement 16:20
TimToady ++arnsholt
arnsholt I think someone like jnthn will have to do the Windows variant though =)
leont paste.scsys.co.uk/438375 16:21
I seem to have figured out which line triggers it, but that's not golfing it down much :-/ 16:24
Also, same line elsewhere doesn't crash
16:24 isBEKaml left
TimToady is this something that worked before, and stopped working? 16:25
arnsholt Oh, bah. Arrays aren't /bin/sh compatible 16:26
leont No, it's after a recent change of mine, but I didn't notice before because I was testing without precompile
masak arnsholt: arrays? in bash?
arnsholt Yeah 16:27
I think those are Bash-only
leont Yeah, bash is kornish like that 16:28
arnsholt Googling seems to indicate that they're only in bash >= 3 too
16:28 JimmyZ left
arnsholt Every time I do argument handling in anything other than Perl, I realise how spoiled I am by Getopt::Long 16:29
Shell is particularly bad
16:29 telex left 16:30 telex joined
leont Getopt::Long has horrible internals (it was originally written in perl 3, and has evolved parallel to perl 4-5), but it works 16:30
masak one of the first things I tried to do in the Perl 6 universe was to port Getopt::Long. 16:31
without being guided by tests, and trying to stick as close as possible to the Perl 5 implementation.
I didn't get far.
and not just because Pugs probably wasn't quite ready for it, either. 16:32
leont I respect jv's dedication, he's maintaining that code for 24 years, but I wish it used stuff like OO instead of having everything global :-/ 16:33
masak leont: ooc, have you tried out Perl 6's MAIN parameter handling, and if so, do you have any opinion of it? 16:34
leont I tried it out, it didn't do everything I wanted
Not sure that can be fixed
something like "foo:1" in G::L is not really translatable right now 16:35
(it means $args{foo} will be undefined by default, --foo means it's 1, and --foo=2 means it's too)
It's very useful for things like verbosity IME 16:36
ugexe too or two? 16:37
leont two
16:37 grondilu joined
leont I'm suspecting my problem is bless related 16:39
masak leont++ # spending tuits finding the problem
16:41 kaare_ left
TimToady > cat try 16:42
sub MAIN(:$foo) { say $foo }
> perl6 try
(Any)
> perl6 try --foo
True
> perl6 try --foo=2
2
looks like it already does what you want
leont I see, I should have left out the type apparently. 16:44
TimToady we don't have coercion types yet, or you could declare it Int() to get (Int), 1, or 2 out of it 16:45
16:45 thou left
dalek ecs: ddb321d | (Lucas Buchala)++ | S0 (2 files):
Put C<...> around code and type names in S02 and S03
16:45
ecs: f39433d | (Lucas Buchala)++ | S03-operators.pod:
Whitespace alignment for ranges and flipflops in S03 (easier to see the caret ^)
16:45 thou joined
japhb timotimo: stress branch ping :-) 16:46
leont coercion types is my missing feature of choice it seems :-/
japhb Oh screw it, I'll just merge and watch the fallout 16:47
leont My theory was wrong, it's the line before the bless. Now I really don't understand :-/ 16:48
dalek Heuristic branch merge: pushed 48 commits to perl6-bench by japhb 16:49
TimToady rakudo_scalar_store calls MVM_6model_find_method_cache_only in two places, so probably one of tc, STABLE(rcd->of)->HOW, tc->instance->str_consts.type_check, or tc->instance->str_consts.accepts_type is corrupt
16:50 ghostlines joined 16:54 mirjam joined
leont was mistaken, this didn't work befpre, but failed with a very different error in the same general direction 16:57
japhb .tell moritz The irclog search data appears out of date -- searching for something I said in the last couple days gives no results, and even searching for my own nick shows results starting a few days ago 17:06
yoleaux japhb: I'll pass your message to moritz.
timotimo japhb: i couldn't run it yet :/ 17:11
japhb .tell jnthn `bench stress` and `bench diagnose` work now; try both with --verbose; html_plot output is missing, but others work (though html can be improved); you'll need IPC::Run in your perl5; let me know if you have problems. :-) 17:13
yoleaux japhb: I'll pass your message to jnthn.
timotimo japhb: will an up-to-date rakudo it still gives the loads and loads of errors, partially in MAKE-CLEAN-PARTS
which iirc is about paths or something
japhb timotimo: Yeah, I think 2014.10 will get you more happiness.
moritz japhb: thanks, I'll recreate the search index 17:17
yoleaux 17:06Z <japhb> moritz: The irclog search data appears out of date -- searching for something I said in the last couple days gives no results, and even searching for my own nick shows results starting a few days ago
lucas_ Nobody answered me here: irclog.perlgeek.de/perl6/2014-11-08#i_9628380 17:20
So I guess I'll just do it, ok? I think infix:􏿽xAB...􏿽xBB looks nicer than infix:['...'] even if the inside contains "<" or ">". Again, is that ok?
timotimo is that in the core setting? 17:21
17:21 kaare_ joined
timotimo oh, it's just in the specs 17:21
lucas_ ops, no in specs, S03
timotimo that should be fine
lucas_ yes
timotimo: thank you 17:22
TimToady moritz: rakudo has not rebuilt on evalbot since Nov 5, looks like. is this an accident or by design?
moritz m: say 42 17:23
camelia rakudo-moar f460d7: OUTPUT«42␤»
moritz TimToady: looks pretty recent to me
TimToady huh, must be looking at the wrong thing then 17:24
timotimo japhb: it's running now. i'll be AFK for a bit while it runs :)
TimToady m: say new Set: 1,2,3; 17:25
camelia rakudo-moar f460d7: OUTPUT«set(1, 2, 3)␤»
timotimo oh, indirect method syntax is now implemented?
japhb timotimo: did you run `bench stress` with --verbose?
timotimo i ran "quickstress"
moritz eeks. 17:26
timotimo should i kill it and restart?
japhb timotimo: That will build more than a few compilers ...
timotimo in that case i should be running it in a tmux anyway
i'll be away from my desktop the whole evening anyway, so i can let it run for quite some time if that'd be interesting
japhb Yes, seems like a good plan 17:27
timotimo .o( but it says "quick"stress! )
japhb Well, the idea of the 'quick' commands is that it's one quick command and you walk away. Several hours later, you have ready made results. 17:28
timotimo hehe
hm, i still haven't turned the AST evaluation benchmark into a perl6-bench-compatible benchmark
TimToady in the overall scheme of things, a year is an eyeblink
timotimo i wonder how that should scale; just running it more times seems like a pretty boring way to scale the workload 17:29
TimToady japhb: you should add an autoscalar that figures out the geometry of the scaling for you :)
in your copious free time :)
17:30 ghostlines left
moritz japhb: irclog.perlgeek.de/perl6/search/?ni...p;q=irclog updated for your pleasure 17:32
17:32 kaare_ left
TimToady moritz++ except for the "eeks" :) 17:32
timotimo moritz: eeks what? 17:33
TimToady moritz++ doesn't like invocant colons on the caller end of things
moritz timotimo, TimToady: the p5 folks struggle to get rid of indirect method calls; we just got them
timotimo ah
TimToady not the same at all
timotimo aren't ours saner, though?
TimToady ours is unambiguous 17:34
leont Yeah that
timotimo i think it's kinda cute.
leont The problem with indirect method calls in perl 5 is that something as simple as 􏿽xABfoo bar􏿽xBB is highly ambiguous
timotimo m: sub doit($a, $b) { say "$a does $b" }; &doit 20: 14;
camelia rakudo-moar f460d7: OUTPUT«===SORRY!=== Error while compiling /tmp/RhrMtCySMh␤Two terms in a row␤at /tmp/RhrMtCySMh:1␤------> oit($a, $b) { say "$a does $b" }; &doit ⏏20: 14;␤ expecting any of:␤ postfix␤ infix stopp…»
timotimo :o
17:34 ghostlines joined 17:35 ghostlines left
timotimo m: sub doit($a, $b) { say "$a does $b" }; 20.&doit: 14; 17:35
camelia rakudo-moar f460d7: OUTPUT«20 does 14␤»
17:35 ghostlines joined
TimToady that is unambiguously a function call 17:35
timotimo fair enough i suppose 17:36
TimToady you can call a method with it, but only by looking up the function implementing the method yourself
moritz after a bit of pondering, I now see the symmetry between method invocant: @arglist and the declaration method(invocant: @arglist) 17:37
TimToady m: sub doit($a, $b) { say "$a does $b" }; doit 20: 14; # should fail
camelia rakudo-moar f460d7: OUTPUT«No such method 'doit' for invocant of type 'Int'␤ in block <unit> at /tmp/_a3kCn8V6J:1␤␤»
TimToady that's the main reason we picked colon for the signature, was for symmetry with the call :) 17:38
moritz though I'm still not convinced that having the punctuation after the first arg determine whethere it's a function or a method call is a good idea 17:39
17:40 thou left
TimToady don't use it with complicated objects 17:41
17:42 exixt is now known as exixt_
TimToady m: my @a = 1; push @a: 2,3; say @a 17:43
camelia rakudo-moar f460d7: OUTPUT«1 2 3␤»
dalek ecs: 591e783 | (Lucas Buchala)++ | S03-operators.pod:
Change square brackets to french angle quotes
17:44
17:44 exixt_ is now known as exixt
TimToady m: my @a = 1,2,3; map @a: { "$_ mapped with endweighty function" }; say @a 17:45
camelia rakudo-moar f460d7: OUTPUT«1 2 3␤»
TimToady m: my @a = 1,2,3; say map @a: { "$_ mapped with endweighty function" };
camelia rakudo-moar f460d7: OUTPUT«1 mapped with endweighty function 2 mapped with endweighty function 3 mapped with endweighty function␤»
TimToady m: my @a = 1,2,3; say map ^@a: { "$_ mapped with endweighty function" }; 17:47
camelia rakudo-moar f460d7: OUTPUT«0 mapped with endweighty function 1 mapped with endweighty function 2 mapped with endweighty function␤»
TimToady potentially some new idioms ripe for both use and abuse :)
a way to avoid parens for people who despise (^@a).map: for instance 17:49
but want to put the block last because of endweight 17:50
17:50 FROGGS_ joined
TimToady or people who really want their constructors to remind them of C++ for some reason... 17:51
17:52 kaare_ joined
TimToady m: say new Set(1,2,3); # but only up to a point 17:52
camelia rakudo-moar f460d7: OUTPUT«===SORRY!=== Error while compiling /tmp/lp46UuR_lM␤Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax␤at /tmp/lp46UuR_lM:1␤------> say new Set⏏(1,2,3); # but only up to a point␤»
17:54 Sqirrel left, FROGGS left
TimToady anyway, it's definitely one of those things that opens up the style possibilities for both good and ill, very anti-Pythonic 17:55
17:55 Sqirrel joined
masak wait, so we support invocant colons? 17:56
m: say $*OUT: "OH HAI" 17:57
camelia rakudo-moar f460d7: OUTPUT«OH HAI␤»
masak \o/
timotimo japhb: maybe it'd be cool if perl6-bench would set the console title every now and then so that the user could see what it's doing right now and how many other times it's going to do that thing again before starting to do another thing?
masak: that's much prettier than "print >> STDOUT 'hi'" or what python2 had
masak agreed.
japhb moritz: Thank you!
TimToady: Heh. Perhaps I need to use Perl 6's ... sequence identifying magic ... in that Perl 5 code. Hmmm. 17:58
17:59 erkan joined, erkan left, erkan joined
japhb timotimo: Hmmm, interesting. Add that as a github issue? 17:59
timotimo will do
18:01 immortal left
timotimo oh 18:01
a few rakudo-jvms couldn't be built due to a RAM shortage 18:02
japhb Oh interesting
How much RAM do you have free?
timotimo dunno, i just closed a chromium with lots of open tabs :P 18:03
now i got 5 gigs free
japhb Yeah, that would be a killer, given the process-per-tab architecture
timotimo heh.
well, it wasn't that many. i could still see the favicons of all the tabs 18:04
japhb
.oO( No more than 100 ... )
18:07 kaare_ left, kaare_ joined, ugator joined
timotimo i know someone who treats their tab bar quite different :P 18:08
18:17 Alina-malina left 18:18 Ven joined 18:19 ghostlines left 18:21 Ven left, Alina-malina joined 18:22 kurahaupo1 joined
timotimo the "hub" commandline program created the Acme::DSON pull request in my own repository, rather than the one i forked from m( 18:35
18:35 anaeem1 left 18:36 anaeem1_ joined
timotimo now xfix will surely notice that i've done some work i'd like to see merged :P 18:37
18:42 zakharyas left 18:46 Pleiades` left 18:49 mirjam left 19:03 jfredett left 19:10 tgt joined, regreg left, kurahaupo left 19:12 tgt left 19:19 firefish5000 joined 19:28 kurahaupo1 left 20:05 Mso150_d_y joined, erkan left
timotimo o/ 20:06
20:08 psch joined
psch hi #perl6 o/ 20:08
20:09 erkan joined, erkan left, erkan joined
psch 'infix:["+"] {...}' was surprisingly simple, but i don't see how to get 'constant $foo = "bar"; infix:[$foo] { }' works 20:09
timotimo japhb: my system has started stress testing now
Use of uninitialized value $timeout in addition (+) at /home/timo/oldhome/timo/perl6/bench/timeall line 458.
psch what ends up being passed to colonpair_nibble_to_str is a QAST::Stmts/QAST::Var(:decl()), which i don't understand how to compile-time-evaluate 20:10
for the 'constant *' case, that is
timotimo ask it if it has a compile_time_value
a QAST::Var(:decl) shold have that, or might have to 20:11
FROGGS_ if $value_ast.has_compile_time_value {
$value := $value_ast.compile_time_value;
psch timotimo: i tried that. it doesn't, and $*W.compile_time_evaluate complains about "can't evaluate null object' or similar
FROGGS_ psch: can you check if we hit that line for the constant declaration? 20:13
rakudo/src/Perl6/Actions.nqp:3431: $value := $value_ast.compile_time_value;
20:13 kurahaupo joined
timotimo right, compile_time_evaluate needs a callable 20:13
psch FROGGS_: will do, give me a moment 20:14
i'm on a laptop with ~90+s stage parse, so this takes a bit longer than i'm used to... :) 20:15
timotimo aaw
FROGGS_ ewww :o)
timotimo ask for an account on feather?
psch even though 90+s wasn't that slow a few months back. funny how quickly one gets used to "faster" 20:16
timotimo yes
i'd actually enjoy more faster :3
arnsholt Just think back to the good old days of stage parse on Parrot =) 20:17
psch FROGGS_: apparently my Actions.nqp is a few commits behind, i'll have to rebuild 20:18
FROGGS_ two years ago the stage parse was about 80s
(for parrot)
psch i ended up putting the debug say into the else... :)
FROGGS_ but the setting size was just the half of what we have now 20:19
psch that's what i get for trusting those line numbers
FROGGS_ that's why I pasted the code too :o)
psch *blindly
arnsholt FROGGS_: I think it was around two minutes on my machine at the time 20:20
FROGGS_ arnsholt: it increased at some point, aye
I also had 120s+
I love my i5 :o) 20:22
I run two virtual machines (OpenBSD x86 and OpenBSD x86_64), both smoke the ecosystem and I also run the spectest for perl6-m 20:23
arnsholt So nqp/docs/ops says that getlex throws an exception if the lexical doesn't exist 20:24
Is that an NQP extra, or is the Moar op supposed to do that as well?
FROGGS_ MoarVM/src/core/interp.c:192: MVM_exception_throw_adhoc(tc, "getlex: outer index out of range"); 20:26
arnsholt: ^^
timotimo yeah, moar does it
psch is reminded to exchange his windows host for a real OS soon
FROGGS_: i hit the line you mentioned, but i think i found my thinko
FROGGS_ nice!
psch i've been passing the QAST::Stmts to nibble_to_str, but colonpair_nibble_to_str should probably catch that and unwrap the QAST::Var
at least that's what i'm trying now
'cause the Var has the compile time value, right 20:27
FROGGS_ psch: I just wanted to check that we actually have a compile time value in our constant...
arnsholt Hmm. I guess my compiler generates a decl where it shouldn't
psch FROGGS_: i see. good anyway, because i wouldn't want to implement compile time values for constants for operator overloading (and everything else) 20:28
arnsholt Derp? Can't stringify this with --target=ast
psch a bit too much FUN for me, that'd be
FROGGS_ arnsholt: that sounds like you have stuff in your AST that does not belong there 20:29
arnsholt Indeed
The code runs though =)
Oh
FROGGS_ arnsholt: try on another vm, that sometimes provides valuable hints
arnsholt Looks like a perverse interaction of options
FROGGS_ O.o
arnsholt I had both --target=ast and --output=test.moarvm 20:30
FROGGS_ ohh, yes
20:30 darutoko left
FROGGS_ don't do that :P 20:30
arnsholt Hmm. Somehow nqp::say(a) ends up with the QAST::Var for a being :decl 20:32
Oh, no it isn't. I'm misreading the output 20:33
The AST is several kinds of weird though. Should probably fix that anyways 20:34
timotimo what are you up to, arnsholt? more snake? 20:37
arnsholt Yup
timotimo neato :) 20:39
will snake get nativecall, too? :3
arnsholt It's got correct (more or less I think) indent handling, and rudimentary variable handling 20:40
That's a bit far off ATM =D
Should probably get stuff like variables and basic control structures working first
Oh, and functions ^_^
masak arnsholt++
arnsholt It's a bit annoying that I don't get an exception with the non-existent lexical though 20:41
timotimo :)
arnsholt Python's concept of variable declarations proving to be more than a bit annoying 20:42
timotimo yeah, i can only imagine 20:43
masak m: .say for 0, 60 ... 300
camelia rakudo-moar f460d7: OUTPUT«0␤60␤120␤180␤240␤300␤»
arnsholt I can see how it's really straightforward in a simple interpreter with a chain of dicts for lexpads, but on a platform that knows about declaring variables and such, it's actually easier to do require explicit declarations
masak arnsholt: the more I learn about languages, the less I like Python's variable declaration policy. 20:44
arnsholt Me too!
"def foo(): ..." being an assignment annoys me a bit too 20:45
masak arnsholt: one of the most frequently occurring questions on StackOverflow about Angular is about why variables end up being assigned to the wrong scope. Angular has the same (non-)declaration policy as Python.
oh, the 'def' thing doesn't bother me so much, for some reason.
arnsholt More of a mild annoyance
I like to structure scripts with mainline code at the top and definitions below 20:46
And I mess it up every time I do something in Python again, since they're spaced far enough apart for me to forget between each time =)
moritz I'm learning python for $work these days, and I don't understand the scoping at all
masak moritz: LEGB :P 20:47
arnsholt It's pretty simple, actually
moritz masak: what des LEGB mean?
arnsholt There's the global scope, and new scopes are introduced by def and class
masak moritz: Local scope, Enclosing (function) scopes, Global scope, Builtins. 20:48
arnsholt Assigning (note that def and class are effectively assignments) to a name creates a lexical in the closest scope, unless the name has been previousl declared "global" or "nonlocal"
moritz so no block scope scopes at all? 20:49
masak nope
arnsholt Reading a variable finds the one in the nearest available lexical scope
Also, note that nonlocal is only in Python 3
masak moritz: thankfully, because that wouldn't work at all with the "assigning declares" policy.
arnsholt Yeah
moritz masak: aye
masak arnsholt: ...and when I asked about nonlocal on #python, they said "...but don't use it, it's not Pythonic"
arnsholt Waaaaaaat?! 20:50
masak arnsholt: it's like, argh, they finally have a fix for their weird scoping, and then they reject it.
arnsholt It's better to do the list trick shenanigans?
timotimo that's ... kind of not so awesome
arnsholt I can sort of agree that it might be better to factor code to not need that kind of stuff, but when you do need it...
masak maybe I shouldn't speak of the #python people (or the wider community) as a homogenous group. I guess there are differing views within it. 20:51
but that's what they told me.
yeah, from my point of view it's clear that Python's normal scoping policies are broken.
arnsholt It also struck me today that the assignment declares policy goes against The Zen of Python: "Explicit is better than implicit." =)
20:52 crab2313 joined
masak arnsholt: also "In the face of ambiguity, refuse the temptation to guess." 20:53
arnsholt Oh, that one too!
masak has been teaching Python this week 20:54
FROGGS_ m: my Buf $a.=new 20:55
camelia rakudo-moar f460d7: OUTPUT«Cannot modify an immutable Buf␤ in method dispatch:<.=> at src/gen/m-CORE.setting:1313␤ in any at src/gen/m-Metamodel.nqp:1510␤ in block <unit> at /tmp/Q1K9ru8MMW:1␤␤»
FROGGS_ m: my Buf $a; say $a ~ Buf.new(65)
camelia rakudo-moar f460d7: OUTPUT«use of uninitialized value of type Buf in string context in any at src/gen/m-Metamodel.nqp:1510␤␤Memory allocation failed; could not allocate 124928 bytes␤»
dalek kudo/nom: 2121b16 | (Tobias Leich)++ | src/core/Buf.pm:
fix `Buf.new ~ (Any)` and similar

Using string operations like concat on a Buf (utf8,Blob8,...) and something that is not a Buf:D failed by eating all your memory. Now we convert the buffer types to strings when we know how, and fail otherwise. This is meant to fix RT #122600 and RT #122827.
20:58
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122600
psch hm 21:01
my test code is 'constant $p = "foo"; infix:[$p] { "foo" }; say 1 foo 1' 21:02
and i end up in the line FROGGS_++ mentioned before, which is for the declaration of the constant
FROGGS_ so it parses? 21:03
psch but in &colonpair_nibble_to_str i get a QAST::Var(lexical $p :decl) which doesn't have a compile_time_value
FROGGS_ hmmm
psch and thus nibble_to_str dies with "colonpair too complex..."
FROGGS_ and does its .value have a compile_time_value? 21:04
psch m: sub circumfix:["a", "b"]($) { "foo" }; say a 1 b # just checking
camelia rakudo-moar f460d7: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
FROGGS_ eww
21:04 kaare_ left
FROGGS_ m: sub circumfix:["a b"]($) { "foo" }; say a 1 b # just checking 21:04
camelia rakudo-moar f460d7: OUTPUT«===SORRY!=== Error while compiling /tmp/CGa69Jm6CN␤Colon pair value '"a b"' too complex to use in name␤at /tmp/CGa69Jm6CN:1␤------> sub circumfix:["a b"]⏏($) { "foo" }; say a 1 b # just checking␤»
psch FROGGS_: <semilist> (and <pblock>) don't get passed into colonpair_nibble_to_str 21:05
anyway, i'll check the .value
i don't know what the right circumfix syntax is with :[] either 21:06
21:06 Mso150_d_y left
psch the bit i have works for e.g. infix:["a"] and infix:["a", "b"], not sure if infix:["a b"] works as i assume would be expected 21:07
moritz spaces in operators are forbidden
21:07 Mso150_d_y joined
masak why is that? 21:07
moritz probably to avoid ambiguty and/or ttiar-style stuff 21:08
moritz handwaves
vendethiel that'd be crazy Oo
masak never mind crazy -- forbidding it is a little bit boring, no?
psch m: sub infix:<$a>($, $) { "not a var, hah!" }; say 1 $a 1 # at least we allow this 21:09
camelia rakudo-moar f460d7: OUTPUT«not a var, hah!␤»
masak Perl 5 allows space as the delimiter around regexes!
m: sub infix:<$a>($, $) { "not a var, hah!" }; my $a; say $a $a $a 21:10
camelia rakudo-moar f460d7: OUTPUT«not a var, hah!␤»
masak :D
vendethiel please, no, no, god no.
masak m: sub infix:<$a>($, $) { "not a var, hah!" }; my $a; say $a $a $a $a $a $a $a
camelia rakudo-moar f460d7: OUTPUT«not a var, hah!␤»
psch was a bit sad when HyperWhatever got implemented that ****** wouldn't be valid code
vendethiel hahahaha 21:11
21:11 tinyblak left
psch m: sub infix:<$a>($,$) { "hah!" }; my $a; say [$a] $a, $a, $a 21:11
camelia rakudo-moar f460d7: OUTPUT«hah!␤»
masak Malkovich! 21:12
21:12 tinyblak joined
psch m: sub infix:<$a>($,$) { "hah!" }; my $a; say [$a] $a, $a [[$a]] $a, $a # 21:13
camelia rakudo-moar f460d7: OUTPUT«hah!␤»
psch FROGGS_: you were refering to the .value of the QAST::Var, right? 21:14
FROGGS_ psch: yes
TimToady m: sub infix:<$a>($,$) { say "hah!" }; my $a; [$a] $a, $a, $a 21:15
camelia rakudo-moar f460d7: OUTPUT«hah!␤hah!␤»
FROGGS_ psch: though that might be a QAST::Want, right?
psch it SORRYs with "Can't find method"
FROGGS_ :/
psch FROGGS_: i don't get a Want. I get a Stmts with a Var inside
21:21 sqirrel_ joined 21:22 rindolf left
psch m: constant $foo = "bar"; BEGIN { say $foo } 21:22
camelia rakudo-moar f460d7: OUTPUT«bar␤»
dalek ast: fcf5aff | (Tobias Leich)++ | S03-operators/buf.t:
add tests for concating buffers

This adds tests for RT #122827, RT #122600 and concating buffers to type objects.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122827
psch it's there, which probably means i have to do something to the ast to get it
21:24 mirjam joined, crab2313 left 21:26 lucas_ left 21:28 mirjam left, mirjam joined 21:31 zakharyas joined 21:33 camelia left, virtualsue joined
FROGGS_ I just killed camelia with: std: when 42 { say "This should fail" } 21:33
21:34 camelia joined
TimToady that's odd, parses locally 21:35
21:35 ChanServ sets mode: +v camelia
FROGGS_ std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 166... 21:35
that's what I got just now after camelia joined 21:36
TimToady: but it should not parse according to RT #71368
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=71368
FROGGS_ m: say True ~~ Int 21:38
camelia rakudo-moar 2121b1: OUTPUT«False␤»
TimToady there is no /home/camelia, should probably be /home/p6eval
FROGGS_ m: say Bool::True ~~ Int
camelia rakudo-moar 2121b1: OUTPUT«False␤»
TimToady it parses fine, and STD is only going to catch some subset of semantic errors, of which this is one 21:39
FROGGS_ m: say Bool.^mro
camelia rakudo-moar 2121b1: OUTPUT«(Bool) (Cool) (Any) (Mu)␤»
21:41 thou joined
dalek albot: 5fe53ad | moritz++ | build-scripts/rebuild-nqp-jvm.sh:
Get rid of most absolute paths
21:43
FROGGS_ moritz++ 21:44
21:44 [Sno] left
masak .oO( absolute paths corrupt absolutely ) 21:44
dalek ake: e81b890 | (Arne Skjærholt)++ | src/Snake/Grammar.nqp:
Explicit line joining with backslash-newline.
ake: cd7e378 | (Arne Skjærholt)++ | src/Snake/ (2 files):
Rework variable handling a bit.
vendethiel arnsholt++
dalek albot: 94f9eff | moritz++ | / (2 files):
Get rid of most absolute paths
21:45
21:48 ajr_ left
arnsholt masak: Or absolute paths get absolutely corrupted? =) 21:48
21:49 wolv joined
masak absolutely. 21:50
arnsholt Heehee
21:54 exixt is now known as exixt_ 21:55 sqirrel_ left
TimToady the funniest bit is that inside of processes, we're getting rid of relative paths as fast as we can :) 21:56
itz Output from C<--profile> can be visualized by C<kcachegrind> 21:57
I'm proposing to remove that since I believe its no longer true. Can anyone confirm that?
21:58 Sqirrel left
FROGGS_ itz: it is only true for perl6-p and nqp-p 21:59
itz hmmm maybe I should add "for the Parrot backend" in that case? 22:00
masak +1
22:03 BenGoldberg joined
psch heh, throwing the .name of the QAST::Var into $*W.find_symbol kinda works - at least i get the name and can declare the sub like that 22:03
but it breaks on bare calls with "cannot find circumfix:<( )>" 22:04
(the fact that the approach is rather messy aside)
*get the compile time value 22:06
moritz m: say 42 22:07
camelia rakudo-moar 2121b1: OUTPUT«42␤»
masak ship it!
22:07 [Sno] joined
moritz seems the cron job for rebuilding works again 22:07
FROGGS_ very nice 22:08
TimToady m: say "\00".ords 22:12
camelia rakudo-moar 2121b1: OUTPUT«0 48␤»
TimToady there are tests that assume that should throw an exception, but I can argue it both ways 22:13
(the final tests in S02-literals/char-by-number.t)
22:14 exixt_ is now known as exixt
TimToady m: say 0123; 22:14
camelia rakudo-moar 2121b1: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that␤ at /tmp/g1iz9Me1qv:1␤ ------> say 0123⏏;␤123␤»
TimToady in $~MAIN octaloids are merely warned about
which is yet a 3rd approach 22:15
masak m: say 0123; #OK
camelia rakudo-moar 2121b1: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that␤ at /tmp/ulgTwEBhN4:1␤ ------> say 0123⏏; #OK␤123␤»
masak aww 22:16
22:16 spider-mario left
TimToady n: say 0123; #OK 22:16
camelia niecza v24-109-g48a8de3: OUTPUT«123␤»
TimToady n: say 0123; #OK octal
camelia niecza v24-109-g48a8de3: OUTPUT«123␤»
TimToady n: say 0123; #OK redefined 22:17
camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that at /tmp/p9rYNlRmZz line 1:␤------> say 0123⏏; #OK redefined␤␤123␤»
TimToady that's probably a LishHF
masak .oO( sir, your fruits are hanging way too lish at this point ) 22:21
gtodd j: say 0123 ; 22:25
camelia rakudo-jvm 2121b1: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory␤»
TimToady p: say 0123; 22:26
camelia rakudo-parrot 2121b1: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o123 if you mean that␤ at /tmp/350xH_NXtw:1␤ ------> say 0123⏏;␤123␤»
gtodd ... keeping something running on a JVM is only low hanging when you have a lot of memory available 22:27
BenGoldberg m: say 00; 22:28
camelia rakudo-moar 2121b1: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/Tp0fcy08Zt:1␤ ------> say 00⏏;␤0␤»
gtodd m: say 0o0 ;
camelia rakudo-moar 2121b1: OUTPUT«0␤»
gtodd .o0(0o0)
BenGoldberg istm that the warning about the leading 0 ought to be omited for 00 .. 07, since they're the same in octal in decimal.
s/octal in decimal/octal and decimal/ 22:29
TimToady But You're Thinking Of It Wrong! --The Thought Police 22:31
FROGGS_ std: enum A <a b c>; enum B <a b c>; say B::a; say a 22:38
22:38 camelia left
FROGGS_ sorry 22:38
22:38 fhelmberger joined, thou left 22:39 camelia joined
FROGGS_ I have a patch for RT #72696 in the queue, though it needs finetuning after $sleep 22:39
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=72696
FROGGS_ gnight
psch nite FROGGS_ o/ 22:40
masak: i can't ship it, it doesn't work :/
camelia std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 166.␤ EvalbotExecuter::_auto_execute(HASH(0x1c009c8), "enum A <a b c>; enum B <a b c>; say B::a; say a", GLOB(0x65c5ee8), "/tmp/2qF0YsfUw_", "std") called at lib/EvalbotE…»
22:40 ChanServ sets mode: +v camelia 22:42 fhelmberger left 22:46 zakharyas left
itz github.com/rakudo/rakudo/pull/329 22:55
22:56 araujo left
dalek kudo/nom: 7092586 | (Steve Mynott)++ | docs/running.pod:
doc kcachegrind profiling for parrot backend only
23:01
kudo/nom: ddc6110 | (Steve Mynott)++ | docs/running.pod:
doc profiling for MoarVM
kudo/nom: 518878c | (Steve Mynott)++ | src/Perl6/Compiler.nqp:
perl6 profile help fixes
kudo/nom: 3563935 | (Carl Mäsak)++ | / (2 files):
Merge pull request #329 from stmuk/nom

perl6 profile help fixes
23:06 araujo joined
timotimo o/ 23:07
japhb: quickstress ran through 23:10
timotimo does quickstart, too, just for fun 23:13
23:14 dj_goku joined, dj_goku left, dj_goku joined 23:17 dj_goku_ left 23:30 virtualsue left
psch goes to sleep o/ 23:38
23:42 psch left
timotimo oh wow 23:54
masak 'night, #perl6 23:55
timotimo method !dba is responsible for the biggest amount of BOOTStr allocations 23:56
hm. does push_s allocate a new BOOTStr in any case? 23:57
that could be it