Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-11-08

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 masak 'night, #perl6
00:01 timotimo gnite masak
00:03 timotimo it occurs to me ... with cairo and gtk3, a nice frontend for druid should be buildable
00:03 woolfy joined #perl6
00:08 xenoterracide joined #perl6
00:22 alexghacker timotimo++ it sounds like there needs to be something in Type coercion that prevents cycles
00:22 alexghacker whether that should error or simply stop recursion and try other alternatives is another question
00:23 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
00:24 alexghacker which, I think, makes me lean towards it being an error to encounter a cycle while doing type coercion
00:24 alexghacker make problems like that visible
00:24 timotimo there's not really a concept of "type coercion"
00:25 timotimo 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
00:26 timotimo fair enough :)
00:26 timotimo in this case it's just BS in the implementation :)
00:26 alexghacker fair enough  :)
00:26 * timotimo is trying unsuccessfully to build Brackets
00:28 timotimo roar
00:28 timotimo this is annoying as shit
00:28 timotimo sorry, i'm not usually cursing like this
00:29 timotimo FROGGS: the name of the distribution is surprisingly small on a test results page
00:31 timotimo 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:41 * timotimo sent a pull request to make Acme::DSON show up green on cpandatesters
00:43 timotimo FROGGS: also, the tables really ought to be sortable and stuff
00:55 xenoterracide joined #perl6
01:11 xenoterracide joined #perl6
01:15 cognominal Is there a way to force the strict mode on the Perl 6 shell? BTW: I like the non strict default
01:18 pochi_ joined #perl6
01:19 Tekk_` joined #perl6
01:21 felher_ joined #perl6
01:21 Tene_ joined #perl6
01:21 Tene_ joined #perl6
01:21 davido__ joined #perl6
01:22 PerlJam joined #perl6
01:22 Alula joined #perl6
01:23 raydiak cognominal: I don't see one besides putting 'use strict;' at the beginning of your one-liner
01:23 raydiak cognominal: actually, 'use v6;' is slightly shorter and works too :)
01:24 woolfy joined #perl6
01:26 raydiak duh, except you were asking about the REPL, not one-liners; sorry :P
01:32 PZt joined #perl6
01:36 hightower4 joined #perl6
01:49 timotimo the repl has strict mode off?
01:49 timotimo damn, it does
02:03 pecastro joined #perl6
02:20 avuserow joined #perl6
02:21 bjz joined #perl6
02:23 FROGGS joined #perl6
02:25 araujo joined #perl6
02:29 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:39 BinGOs joined #perl6
02:39 BinGOs joined #perl6
02:39 mst joined #perl6
03:03 KCL joined #perl6
03:12 [Sno] joined #perl6
03:23 japhb timotimo: Did you ever get a chance to try `bench stress` ?
03:51 hoelzro is there a way to tell a quote construct to *not* interpret \\ as a single \?
03:59 raydiak hoelzro: https://github.com/perl6/roast/blob/master/S02-literals/quoting.t#L52
04:00 hoelzro ah, thanks raydiak!
04:00 raydiak m: say Q{\\}
04:00 camelia rakudo-moar a0304c: OUTPUT«\\␤»
04:00 hoelzro m: constant @STUFF = OUTER::OUTER::.keys()
04:00 camelia rakudo-moar a0304c: OUTPUT«===SORRY!===␤ctxlexpad needs an MVMContext␤»
04:00 hoelzro that's...odd.
04:00 raydiak m: say 「\\」
04:00 camelia rakudo-moar a0304c: OUTPUT«\\␤»
04:01 hoelzro m: my @STUFF = OUTER::OUTER::.keys()
04:01 camelia rakudo-moar a0304c: ( no output )
04:01 rmgk_ joined #perl6
04:10 FROGGS joined #perl6
04:13 kurahaupo_ joined #perl6
04:23 hoelzro m: OUTER::OUTER::.pairs.map(*.value)
04:23 camelia rakudo-moar a0304c: ( no output )
04:23 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)␤»
04:24 hoelzro should those be Mus?
04:32 vendethiel joined #perl6
04:53 xenoterracide joined #perl6
04:55 vendethiel joined #perl6
05:05 ggoebel111111113 joined #perl6
05:09 hoelzro is glob gone?
05:09 hoelzro m: &glob
05:09 camelia rakudo-moar a0304c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/SIcLdn4z_Gâ�¤Undeclared routine:â�¤    &glob used at line 1â�¤â�¤Â»
05:18 vendethiel joined #perl6
05:21 arcterus joined #perl6
05:23 raydiak dir takes a smart-match test
05:23 raydiak http://perlcabal.org/syn/S32/IO.html#dir()
05:24 raydiak 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␤»
05:24 raydiak m: say dir(:test(/i/))».Str
05:24 camelia rakudo-moar a0304c: OUTPUT«rakudo-inst-2 .viminfo rakudo-inst-1 niecza rakudo-inst bin .bash_history Perlito␤»
05:25 raydiak though it's not exactly globbing syntax, if that's specfically what you wanted
05:25 raydiak *specifically
05:26 arcterus joined #perl6
05:30 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 https://github.com/perl6/specs/commit/a2a25246d10e12ab303ca07a882d67ba2f996e89
05:31 hoelzro ah, thanks!
05:32 raydiak ah, here's something a bit more informative, dug up from the clog from the day of the other commit: https://github.com/perl6/specs/commit/9d5747d3d8
05:32 raydiak and you're welcome, of course :)
05:35 molaf joined #perl6
05:39 raydiak afaict, the 2014-10-20 result at http://irclog.perlgeek.de/perl6/search/?q=glob is the closest thing we ever had to a discussion about the removal of glob...???...
05:42 vendethiel joined #perl6
05:42 tinyblak joined #perl6
05:42 xenoterracide joined #perl6
05:55 virtualsue joined #perl6
05:59 xinming joined #perl6
05:59 Woodi hallo today :)
06:02 Woodi some user experience: man... these grammars are terrible... just save yourself some pain and time and just use Perl5 regexes !
06:02 Woodi you start with perfect:  rule TOP { <marker> <inside> <marker> };
06:02 Woodi and that's all what is good in grammars
06:02 Woodi at leas to start with them ;)
06:03 Woodi eg. http://pastebin.com/nGRGmep2
06:03 Woodi how to use '.+' in them ?
06:05 Woodi probably regexes... and what is difference in terms and rules ? "rules skips white spaces" ? good luck with that :)
06:06 Woodi 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 Woodi so much for baby Perl6 :)
06:07 Woodi grammars are totally unintuitive, all or nothing thing
06:08 araujo joined #perl6
06:15 tinyblak joined #perl6
06:17 Louis1951 joined #perl6
06:19 immortal joined #perl6
06:25 vendethiel joined #perl6
06:38 kaare_ joined #perl6
06:47 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 tinyblak joined #perl6
06:47 TimToady you want to use .* or .+ but those only make sense with backtracking, and only 'regex' allows backtracking of the three
06:47 TimToady generally you want to start with tokens in a grammar, because those don't play games with whitespace, and don't backtrack
06:48 TimToady backtracking is usually bad in a grammar
06:48 TimToady you have a matcher defined as '{' | '}' but don't seem to realize that this matches } stuff { just as easily as { stuff }
06:48 TimToady or { stuff {
06:50 tinyblak_ joined #perl6
06:50 TimToady you also don't seem to realize that both . and \s match whitespace
06:51 TimToady s/matcher/marker/
06:52 TimToady sure you can use p5 regex, but you won't get a parse tree out of it
06:58 TimToady also, single quotes are not going to interpolate \n
07:00 arcterus joined #perl6
07:01 TimToady https://gist.github.com/anonymous/e6daa08077bbef203f1f is more like what you want
07:03 vendethiel joined #perl6
07:04 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 TimToady much better if you have tokens that are smart enough to not eat the marker in the first palce
07:06 TimToady *place
07:06 telex joined #perl6
07:07 jfredett joined #perl6
07:11 [Sno]_ joined #perl6
07:12 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 TimToady occasionally there is a use for .*? and .+? (the frugal variants)
07:13 TimToady note that grep and p5 limit . to matching inside a single line by default, so you can get away with more sloppy thinking
07:14 TimToady but in p6, . matches any char including newline, so you want \N if you want to match something that is not a newline
07:15 TimToady this is much more precise, but p5 and grep have taught you bad habits :)
07:20 kjs_ joined #perl6
07:20 tinyblak joined #perl6
07:22 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:29 * raydiak takes notes for future Math::Symbolic::Grammar revisions
07:29 raydiak (particularly offensive backtracking)
07:30 gfldex joined #perl6
07:30 [Sno] joined #perl6
07:42 Sqirrel joined #perl6
07:42 tinyblak joined #perl6
07:47 vendethiel joined #perl6
07:51 woolfy joined #perl6
07:53 woolfy left #perl6
08:12 tinyblak joined #perl6
08:13 darutoko joined #perl6
08:18 mirjam joined #perl6
08:32 anaeem1 joined #perl6
08:34 dalek rakudo/nom: 4969e67 | TimToady++ | src/Perl6/ (2 files):
08:34 dalek rakudo/nom: parse colon invocants like STD
08:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4969e671ef
08:34 dalek roast: 88c52fa | TimToady++ | S (2 files):
08:34 dalek roast: unfudge colon invocant tests
08:34 dalek roast: review: https://github.com/perl6/roast/commit/88c52fa8a2
08:35 spider-mario joined #perl6
08:35 spider-mario joined #perl6
08:35 rindolf joined #perl6
08:42 tinyblak joined #perl6
08:46 molaf_ joined #perl6
08:58 raiph joined #perl6
09:00 tinyblak_ joined #perl6
09:06 mirjam joined #perl6
09:11 dalek cpandatesters.perl6.org: 0ad7b0d | (Tobias Leich)++ | jobs/calc-stats.pl:
09:11 dalek cpandatesters.perl6.org: fix gobbling of dist releases
09:11 dalek cpandatesters.perl6.org: review: https://github.com/perl6/cpandatesters.perl6.org/commit/0ad7b0dc12
09:13 FROGGS fix all the things /o/
09:25 denis_boyun_ joined #perl6
09:33 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:34 Woodi TimToady: probably it's my memory fails or I messed with input string but I just have that feeling that it is learning !
09:35 Woodi of course it is absurd, it would require interpreter code to be self-modifing and other things but realy who knows...
09:37 ugator joined #perl6
09:45 FROGGS[mobile] joined #perl6
09:47 FROGGS[mobile] Woodi: a single character can easily make your grammar parse or fail to... like making a quantifier frugal or greedy...
09:48 FROGGS[mobile] Also, when you use token when you want rules, or vice versa, has the same effect
09:48 tinyblak joined #perl6
09:48 FROGGS[mobile] it might look identical on the first glimpse
09:52 anaeem___ joined #perl6
09:55 Woodi I just want \something that matches alphanums, white spaces and new lines to capture things between markers...
09:57 dalek rakudo/nom: f460d71 | TimToady++ | src/Perl6/ (2 files):
09:57 dalek rakudo/nom: also handle parenthesized invocant colon
09:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f460d714e8
09:57 dalek roast: f211650 | TimToady++ | S12-methods/indirect_notation.t:
09:57 dalek roast: also test parenthesized invocant colon
09:57 dalek roast: review: https://github.com/perl6/roast/commit/f211650558
09:58 Mso150_d_y joined #perl6
10:01 Woodi and yes, sloppy thinking, it's all me... and wanting to be lazy and impatient too
10:02 Woodi and starting with 'rule TOP' is what google returns moust :) I thinked it is required and still act on this
10:06 denis_boyun_ joined #perl6
10:09 dalek roast: 4cc6720 | TimToady++ | S12-methods/instance.t:
10:09 dalek roast: unfudge invocant colons
10:09 dalek roast: review: https://github.com/perl6/roast/commit/4cc6720271
10:12 tinyblak joined #perl6
10:18 Mso150_d_y joined #perl6
10:23 lucas_ joined #perl6
10:24 Alina-malina joined #perl6
10:24 Alina-malina joined #perl6
10:24 Alina-malina joined #perl6
10:30 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:36 lucas_ hello, good morning.
10:36 lucas_ 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:«=>». Or do you think it's hard to read this way?
10:37 lucas_ If "=:=" is the container identity test and "!=:=" is its negated form. Wouldn't you like having a negated shortcut like "=!="?
10:41 masak morning, #perl6
10:42 tinyblak joined #perl6
10:44 moritz \o masak, *
10:46 colomon o/
10:47 masak small self-hosting C compiler: http://homepage.ntlworld.com/edmund.grimley-evans/cc500/
10:53 regreg joined #perl6
10:54 moritz m: say 1 # what version is it now?
10:54 camelia rakudo-moar a0304c: OUTPUT«1␤»
10:59 anaeem1_ joined #perl6
11:02 vendethiel o/ #perl6
11:08 masak aloha [v|V]en.*
11:13 tinyblak joined #perl6
11:19 ggoebel111111113 joined #perl6
11:22 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))␤»
11:23 masak ESTILLNOTCHRISTMAS
11:23 masak m: class C { has $.x where * > 0 }; say C.new(:x(-42)).x
11:23 camelia rakudo-moar a0304c: OUTPUT«-42␤»
11:34 lucas_ m: sub prefix:<=^.^=> { say "oh hai, $^a" }; =^.^= '#perl6'
11:34 camelia rakudo-moar a0304c: OUTPUT«oh hai, #perl6␤»
11:42 tinyblak joined #perl6
11:45 FROGGS m: say $*PERL.compiler.build-date
11:45 camelia rakudo-moar a0304c: OUTPUT«2014-11-07T22:08:27Z␤»
11:47 colomon how do I ask a potentially lazy list if it has more than one element?
11:48 colomon … I guess @a[1].defined is good enough for my purposes?
11:48 tinyblak_ joined #perl6
11:59 chenryn joined #perl6
12:00 dalek mu: 61905e1 | (Lucas Buchala)++ | docs/feather/script/update-syn:
12:00 dalek mu: Update URL prefix for Differences.pod
12:00 dalek mu: review: https://github.com/perl6/mu/commit/61905e1c04
12:00 dalek mu: ad90770 | (Lucas Buchala)++ | docs/feather/script/update-syn:
12:00 dalek mu: Add CSS for Differences.pod
12:00 dalek mu: review: https://github.com/perl6/mu/commit/ad90770711
12:00 dalek mu: cfb587e | (Tobias Leich)++ | docs/feather/script/update-syn:
12:00 dalek mu: Merge pull request #4 from lucasbuchala/fix1
12:00 dalek mu:
12:00 dalek mu: Update Differences.pod generation
12:00 dalek mu: review: https://github.com/perl6/mu/commit/cfb587e7fb
12:07 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 masak and I think the main way macros can improve on that is to make the syntax even more suggestive.
12:08 masak dare I suggest that Ruby has a slight edge on Perl 6 for various reasons having to do with commas and whitespace.
12:08 masak using macros that hook into the Perl 6 grammar, we could regain that edge.
12:11 lucas_ FROGGS: thanks!
12:15 FROGGS hmmm, I wonder if it would be sane to move http://perlcabal.org/syn/ to design.perl6.org, and shut down perl6cabal.org completely
12:15 masak +1
12:16 FROGGS "Where Are We?
12:16 FROGGS 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."
12:16 FROGGS I mean, the site can stay as long as the outdated cruft is removed...
12:16 lucas_ or maybe {specs,spec,syn,synopsis,synopses}.perl6.org
12:16 FROGGS no
12:16 masak no
12:16 FROGGS not specs and not spec
12:16 FROGGS the rest would work :o)
12:17 masak I prefer "design", though
12:17 lucas_ oh, specs is not the desired word...
12:17 FROGGS yeah, pmichaud++ calls it design docs nowadays, which pretty covers it
12:17 masak "specs" means "glasses".
12:18 [Sno] joined #perl6
12:18 FROGGS the roast repository could be made available somehow under spec.perl6.org
12:18 FROGGS (in a human readable form maybe)
12:19 FROGGS 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.
12:20 masak 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:22 FROGGS perl6.org is also hosted on feather?
12:25 denis_boyun_ joined #perl6
12:32 zjmarlow joined #perl6
12:33 colomon m: say -1.2.floor
12:33 camelia rakudo-moar a0304c: OUTPUT«-1␤»
12:33 zjmarlow left #perl6
12:33 masak precedence.
12:33 colomon m: say (-1.2).floor
12:33 camelia rakudo-moar a0304c: OUTPUT«-2␤»
12:33 masak m: say -(1.2.floor) # without parens, means this
12:33 camelia rakudo-moar a0304c: OUTPUT«-1␤»
12:35 moritz FROGGS: yes, perl6.org is hosted on feather2
12:35 moritz FROGGS: see also: https://github.com/perl6/infrastructure-doc
12:36 masak moritz++ # for all kinds of reasons
12:36 FROGGS ahh
12:36 FROGGS moritz++ # :o)
12:37 FROGGS moritz: so, we could easily make design.perl6.org show the synopsis?
12:41 moritz FROGGS: in principle, yes
12:41 moritz FROGGS: but I'd wait a bit for the new server, and then host it there
12:41 FROGGS yes, no hurry
12:42 moritz I guess then I'll also ask Dan if we can host DNS for perl6.org ourselves
12:42 moritz then it'll be less hassle to get new subdomains and point them seomewhere else
12:42 sqirrel__ joined #perl6
12:50 dalek cpandatesters.perl6.org: 71ab0fd | (Tobias Leich)++ | app.pl:
12:50 dalek cpandatesters.perl6.org: treat NOTESTS as NA
12:50 dalek cpandatesters.perl6.org: review: https://github.com/perl6/cpandatesters.perl6.org/commit/71ab0fd536
13:00 bartolin hi #perl6
13:00 bartolin it would be great if someone takes a look at this PR: https://github.com/perl6/nqp/pull/197
13:02 dalek cpandatesters.perl6.org: e2ea199 | (Tobias Leich)++ | app.pl:
13:02 dalek cpandatesters.perl6.org: distinguish between NA and NOTESTS
13:02 dalek cpandatesters.perl6.org: review: https://github.com/perl6/cpandatesters.perl6.org/commit/e2ea199270
13:02 dalek cpandatesters.perl6.org: d576ec8 | (Tobias Leich)++ | / (2 files):
13:02 dalek cpandatesters.perl6.org: correctly display NOTESTS reports
13:02 dalek cpandatesters.perl6.org: review: https://github.com/perl6/cpandatesters.perl6.org/commit/d576ec8090
13:02 dalek nqp: d666ea5 | usev6++ | src/QRegex/P6Regex/Grammar.nqp:
13:02 dalek nqp: Convert panic() call to more specific, overrideable method
13:02 dalek nqp: review: https://github.com/perl6/nqp/commit/d666ea5578
13:02 dalek nqp: ad973ba | (Tobias Leich)++ | src/QRegex/P6Regex/Grammar.nqp:
13:02 dalek nqp: Merge pull request #197 from usev6/master
13:02 dalek nqp:
13:02 dalek nqp: Convert panic() call to more specific, overrideable method
13:02 dalek nqp: review: https://github.com/perl6/nqp/commit/ad973ba2b3
13:02 FROGGS bartolin++
13:03 bartolin thanks, FROGGS++
13:06 beastd joined #perl6
13:07 regreg joined #perl6
13:07 araujo joined #perl6
13:09 [Sno] joined #perl6
13:09 dalek cpandatesters.perl6.org: d033bbe | (Tobias Leich)++ | / (2 files):
13:09 dalek cpandatesters.perl6.org: fix display of NOTESTES, really
13:09 dalek cpandatesters.perl6.org: review: https://github.com/perl6/cpandatesters.perl6.org/commit/d033bbe951
13:10 FROGGS grrr, copy & pasto
13:10 FROGGS I'll disable the dalek spam now
13:11 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«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8kjEalkaXPâ�¤Two terms in a rowâ�¤at /tmp/8kjEalkaXP:1â�¤------> [32m; }; say A([1, 2, 3]); my @a := 1, 2, 4 [33mâ��[31m… *; say A(@a)[0mâ�¤    expecting any of:â�¤        postfixâ�¤        in…»
13:14 colomon argu
13:14 colomon m: sub A(@a is copy) { say @a[0]; }; say A([1, 2, 3]); my @a := 1..*; say A(@a)
13:14 camelia rakudo-moar a0304c: OUTPUT«1␤True␤1␤True␤»
13:14 colomon m: sub A(@a is copy) { say @a[0]; }; say A([1, 2, 3]); my @a := gather loop { take 1; }; say A(@a)
13:15 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)
13:16 camelia rakudo-moar a0304c: OUTPUT«(timeout)1␤»
13:16 isBEKaml joined #perl6
13:17 colomon hmmm
13:17 colomon is there a idiomatic way to copy an infinite lazy list?
13:17 colomon *potentially infinite
13:19 leont joined #perl6
13:20 FROGGS my @b := gather loop { take @a[$++] } # would that work?
13:21 isBEKaml FROGGS: isn't loop *eager*?
13:21 colomon isBEKaml: shouldn't matter
13:21 colomon as the "take" will halt its execution.
13:21 colomon maybe pause is a better word than halt
13:22 isBEKaml colomon: ah, I thought you wanted a lazy copy
13:22 colomon isBEKaml: that is lazy
13:22 isBEKaml colomon: good to know
13:22 colomon FROGGS: that won't work right if @a is finite, will it?
13:22 ugator joined #perl6
13:23 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…»
13:23 colomon my first stab was    gather for @a -> $a is copy { take $a;  }
13:24 colomon which seems to work.
13:24 FROGGS ahh
13:24 colomon (though it doesn't solve my current problem at all.)
13:24 FROGGS hehe
13:24 colomon (or rather, that was only stage one of my current problem, it appears.)
13:26 erkan joined #perl6
13:27 Blackrush joined #perl6
13:27 Blackrush hi everyone, I was wondering if there were any plans to support a BEAM backend on Rakudo?
13:29 vendethiel yo Blackrush :)
13:29 vendethiel Blackrush: Do It Yourself :P
13:30 Blackrush vendethiel, hey pal :)
13:30 arnsholt There aren't any plans ATM, I think
13:30 vendethiel it wouldn't work anyway
13:30 arnsholt The focus is JVM and Moar for the time being
13:30 vendethiel there are some semantics you can't bring to BEAM
13:31 vendethiel "or else..."
13:31 arnsholt What kind of semantics?
13:32 vendethiel the whole container thingie
13:32 Blackrush immutability of variables i think
13:32 vendethiel beam is ssaf-based
13:33 Blackrush okay you lost me here
13:34 xinming joined #perl6
13:34 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:36 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 masak as for myself, I'd much rather see us get further on the JS backend. ++pmurias
13:37 FROGGS +1
13:37 vendethiel beam, a performant VM? now you're trolling ;-)
13:37 tinyblak joined #perl6
13:37 dalek roast: 496aa2f | usev6++ | S05-metasyntax/repeat.t:
13:37 dalek roast: Add tests for RT #111956
13:37 dalek roast: review: https://github.com/perl6/roast/commit/496aa2ffa9
13:37 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=111956
13:38 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 #perl6
13:39 timotimo vendethiel: is that slower or faster than moarvm?
13:39 vendethiel no clue
13:39 vendethiel faster than moar-nojit, slower than moar-jit, I'd say
13:39 masak does BEAM have a JIT?
13:39 timotimo mhm, mhm
13:40 vendethiel no it doesn't
13:40 vendethiel though there have been paper earlier in the year working on that
13:46 Blackrush well thank you guys to reply so fast
13:49 haroldwu joined #perl6
13:53 colomon does bless copy arrays you pass it?
13:54 timotimo i don't think it should; how else would you store a shared reference to an array into a class's attributes?
13:55 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␤»
13:55 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"
13:55 camelia rakudo-moar a0304c: OUTPUT«(timeout)Made a␤»
13:55 timotimo hm
13:55 dalek mu: b7c41f6 | (Lucas Buchala)++ | docs/feather/syn_index.html:
13:55 dalek mu: Update CSS for syn_index.html
13:55 dalek mu: review: https://github.com/perl6/mu/commit/b7c41f6c42
13:56 colomon timotimo: it definitely does copy.  or something that involves going through an entire infinite list.
13:56 colomon but only if it doesn't know it's infinite.
13:56 masak I think I half-remember the decision to make it copy. I may even have had a hand in arguing for that.
13:56 timotimo mhm
13:56 masak but it's years ago.
13:57 colomon I don't mind copying as a concept, but copy combined with eagerly doing the copying is a bit of a disaster
13:58 masak *nod*
13:58 masak m: my @a = 1..*; my @b = @a; say @b.elems
13:58 camelia rakudo-moar a0304c: OUTPUT«Inf␤»
13:58 masak should work more like that, no?
13:58 leont FROGGS: any documentation on close-pipe?
14:01 colomon afk # need exercise
14:03 FROGGS leont: no... lizamt++ specced pipe() which return IO::Pipe, and .close will shutdown that process and return an Process::Status
14:04 FROGGS leont: right now I try to merge the child process's stdout + stderr
14:04 xtreak joined #perl6
14:05 xtreak perl6: say 3
14:05 camelia rakudo-{parrot,moar} a0304c: OUTPUT«3␤»
14:05 FROGGS m: say 3.^mro
14:05 camelia rakudo-moar a0304c: OUTPUT«(Int) (Cool) (Any) (Mu)␤»
14:06 xtreak Is perl6 gonna be released in FOSSDEM 2015?
14:06 FROGGS xtreak: no, the plan is to release it 2015
14:06 FROGGS but february is quite unlikely doable
14:07 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?
14:07 masak xtreak: good: we're getting a bit more focus, aiming for something.
14:07 xtreak Any specific place to read about it? I had it from reddit, HN.
14:08 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
14:08 masak xtreak: it's all pretty new for us too. so I don't think there's any one place to read about it.
14:08 masak xtreak: but you can get fresh news here.
14:08 FROGGS timotimo: though, I dunno how we can let the user slurp from both filehandles
14:09 FROGGS 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
14:10 FROGGS then you can have a rw pipe
14:11 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
14:11 FROGGS xtreak: did you try rakudo on moarvm? a reent one?
14:11 timotimo xtreak: we're already working on optimizing the performance and have made significant progress over the last year
14:12 cognominal joined #perl6
14:14 xtreak I had it from http://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 xtreak I think I tried with parrot backend.. Not quite sure.. sorry about that..
14:14 FROGGS xtreak: that sounds like you've chosen the jvm backend
14:14 FROGGS np
14:15 FROGGS just try the -moar tarball
14:15 timotimo moarvm does a startup + say "hello" in 0.4 seconds on my machine
14:15 FROGGS time perl6 -e 'say "hello xtreak"'
14:15 FROGGS hello xtreak
14:15 FROGGS real0m0.322s
14:15 timotimo (nqp-m does the same thing in 0.07s)
14:16 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"
14:16 timotimo the flag would be --backends=moar
14:16 timotimo perhaps you have to supply --gen-moar and/or --gen-nqp
14:16 timotimo but i think they will be supplied automatically?
14:17 FROGGS --gen-moar implies --gen-nqp
14:17 timotimo good
14:17 FROGGS but you have to pass --gen-moar at least
14:17 FROGGS then you don't have to pass --backends for example
14:17 xtreak I think I supplied it as parrot. Installed it few months back. Is nqp different from moar?
14:17 FROGGS xtreak: nqp is a part of our compiler tool chain
14:18 FROGGS xtreak: you probably won't ever need it directöy
14:18 FROGGS directly*
14:19 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
14:20 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 :)
14:22 xtreak Thanks timotimo. Is nqp a lightweight version of perl?
14:25 FROGGS correct
14:25 FROGGS it has all you need to build a compiler
14:26 timotimo more specifically, it's a lightweight version of perl6
14:27 KCL_ joined #perl6
14:30 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
14:30 timotimo --gen-moar will checkout moarvm from github instead of using the tarball, but that should be fine
14:31 xtreak I have the tar ball. How can I use it?
14:32 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?
14:33 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
14:34 FROGGS xtreak: you can do: perl Configure.pl --backends=moar,jvm,parrot --gen-moar --gen-parrot
14:34 FROGGS xtreak: then you have all three and can compare
14:34 FROGGS xtreak: or leave out the jvm if you are sure you don't wanna use it
14:35 cognominal timotimo++
14:35 xtreak Then how can I run the compiled binary with parrot backend or MoarVM backend?
14:35 FROGGS perl6-p
14:35 FROGGS the moar one is perl6-m
14:36 FROGGS 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
14:37 xtreak Ok I compiled with the moarvm backend now. I will recompile it again later. Curious about the perl6 speed. :)
14:37 FROGGS :o)
14:37 FROGGS xtreak: have fun playing with it
14:37 FROGGS xtreak: and please report any surprises and absurdities
14:38 xtreak I am new to compiling from scratch. Thanks a lot froggs and timotimo for being patient and helpful :)
14:39 FROGGS was a pleasure :o)
14:39 xtreak Sure I will report the speed and also if I face a surprise..
14:39 FROGGS thank you
14:40 xtreak Will the tests results be passed to a web service like the modules I install with CPAN?
14:41 FROGGS xtreak: no
14:41 FROGGS at least not yet
14:42 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)
14:42 FROGGS we just need to do it
14:44 timotimo FROGGS: previous reports will not get "notests" or "na" applied to them?
14:45 FROGGS timotimo: correct
14:45 timotimo OK
14:45 timotimo how does cpandatesters react to newer versions of modules coming out?
14:45 FROGGS need to write a script to update their grade
14:45 FROGGS timotimo: happily I'd hope :o)
14:45 timotimo hehe.
14:45 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
14:46 timotimo that's good
14:46 timotimo did you read all my feature requests? :)
14:46 FROGGS for example, in case the newer dist version has more than 20 reports, it won't consider reports for older releases
14:46 FROGGS yes, I put it into the TODO.md locally
14:47 FROGGS though, I don't agree to that:
14:47 FROGGS <timotimo> FROGGS: the name of the distribution is surprisingly small on a test results page
14:48 xtreak Ok.. I am running the rakudo-test : All pass.
14:48 timotimo good!
14:48 FROGGS yes, it has been long since there was an issue with these tests :o)
14:49 xtreak Now I am running the spec test.. Its a huge one it seems
14:49 timotimo that's right
14:50 timotimo env TEST_JOBS=4 make spectest will run 4 in parallel
14:50 timotimo uh oh
14:50 timotimo panda rebootstrap segfaults my perl6-m here
14:50 FROGGS O.o
14:50 colomon joined #perl6
14:51 FROGGS I just did that
14:51 xtreak Learning something new everyday :) but I started it :)
14:51 FROGGS with HEAD of moar/nqp/rakudo
14:51 timotimo that's probably my fault :\
14:51 FROGGS ahh, pheew
14:51 FROGGS hmmm, I dunno how to tell libuv to merge stdour/stderr
14:52 timotimo IIRC the #libuv people are responsive and nice
14:53 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?
14:54 FROGGS timotimo: not yet... where should such a documentation go? and... do we want to keep that env var?
14:54 FROGGS that's why I usually do btw: PANDA_SUBMIT_TESTREPORTS=1 panda --exclude=panda smoke
14:54 timotimo dunno
14:54 xtreak timotimo . You write http://p6weekly.wordpress.com/ ? Great. Just checked it now to know the latest improvements..
14:54 timotimo i didn't even know "panda smoke" exists
14:54 timotimo xtreak: thank you :)
14:54 FROGGS I mean, it is quite comfortable to do right now
14:54 FROGGS timotimo: only in the reporter branch
14:55 timotimo OK
14:55 timotimo should we be thinking about vandalism protection measures?
14:56 timotimo 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:57 ClarusCogitatio joined #perl6
14:57 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)
14:57 FROGGS xtreak: you don't need to run these actually
14:58 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
14:59 xtreak t/spec/S11-modules/export.rakudo.moar ......................... Dubious, test returned 22 (wstat 5632, 0x1600)
14:59 xtreak Failed 22/36 subtests
14:59 xtreak (less 8 skipped subtests: 6 okay)
14:59 xtreak is printed
14:59 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.  :)
14:59 FROGGS xtreak: :/
14:59 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
15:00 xtreak I cancelled it now and am running the make install
15:00 colomon FROGGS: emmentaler is just a simple script which uses panda.pm
15:00 FROGGS ahh, hmm
15:00 FROGGS I see
15:00 timotimo my reports show up \o/
15:00 FROGGS *g*
15:02 xtreak Does perl6 comes with mysql and sqlite dbd? I see them compiling..
15:03 timotimo we have a module called DBIish
15:03 timotimo rakudo star (which is what the distribution is called) comes with a bunch of modules
15:03 timotimo perl6 itself does not, though
15:04 xtreak Now I run the make install where is ther perl6 binary located?
15:04 FROGGS usually in install/bin/
15:04 FROGGS you should put that in PATH
15:06 xtreak Ya got it.. Now it runs in
15:06 xtreak real0m0.480s
15:06 xtreak user0m0.368s
15:06 xtreak sys0m0.112s
15:06 xtreak for say 'hello' . Awesome ;)
15:06 FROGGS yay!
15:07 xtreak How to run it with nqp?
15:08 masak npq is already in there somewhere.
15:08 masak er, nqp*
15:08 FROGGS nqp-p -e 'say("hello")'
15:08 FROGGS and nqp-m -e 'say("hello")'
15:08 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?
15:08 FROGGS yes
15:08 FROGGS the JVM can beat MoarVM when it comes to large data mangling or longer running apps
15:11 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 immortal joined #perl6
15:14 leont NQP is a limited subset of perl 6, some things are identical, some things are present
15:14 leont The parentheses matter apparently, for example
15:14 xtreak But in terms of dev it seems parrot has more activity..
15:15 xtreak Thanks I ran it now with the parenthesis. Its 0.100s . 4 times faster.. :)
15:17 FROGGS xtreak: parrot has one active developer
15:17 FROGGS MoarVM has about 4+ devs
15:18 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:19 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 JimmyZ joined #perl6
15:19 xtreak Great.. So what does rakudo as a distribution mean?
15:19 FROGGS rakudo is one compiler that complies to the Perl 6 spec
15:20 FROGGS 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 :(
15:20 FROGGS and actually the only one that survived, which is not a bad thing
15:20 FROGGS really?
15:21 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: https://github.com/rakudo/rakudo/blob/nom/src/core/Buf.pm#L340
15:22 xtreak Ya I am eager to do compiler hacking but compiler things seem little alien to me as Perl is my first language..
15:23 xtreak Thanks I will look into it..
15:24 FROGGS that explains a bit the architecture behind rakudo: https://www.youtube.com/watch?v=XgPh5Li3k4
15:25 FROGGS also talks like this: https://www.youtube.com/watch?v=bhAIyrk2ogo
15:25 timotimo "this video does not exist"
15:25 FROGGS eww
15:26 timotimo for the first one
15:26 FROGGS this link works for the first pasted link: https://www.youtube.com/watch?v=XgPh5Li3k4g&amp;index=32&amp;list=PLA9_Hq3zhoFy0zej1j4QZtz5awFKXunZX
15:26 FROGGS the second link should do, and was recorded recentish
15:28 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
15:30 xtreak Ok..
15:31 slavik joined #perl6
15:33 xtreak left #perl6
15:37 guru joined #perl6
15:39 jfredett joined #perl6
15:39 sqirrel_ joined #perl6
15:57 gfldex joined #perl6
15:57 xenoterracide joined #perl6
16:01 zakharyas joined #perl6
16:08 thou joined #perl6
16:08 anaeem1 joined #perl6
16:09 leont Great. Having a segfault, but can't do «gdb perl6 …» like I'd usually do
16:10 masak why not?
16:10 masak I'm asking as someone who hasn't tried doing that.
16:12 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
16:12 leont In the end, I had to do «gdb --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»
16:12 masak what arnsholt said.
16:12 arnsholt IIRC the script is literally three lines long
16:13 arnsholt Yeah, it's a bit annoying
16:13 leont Yes, it works, but it's not very user friendly
16:13 masak maybe we should ship another script that does the gdb invocation?
16:13 leont I was thinking just that
16:13 TimToady perl6 --with=gdb or so?
16:13 masak ooh
16:14 leont Apparently, MVM_6model_find_method_cache_only is giving me a segfault when using precompiled libraries
16:15 masak golfed reproducible steps would be much appreciated.
16:15 TimToady sounds like maybe something is neglecting to serialize/deserialize correctly
16:16 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?
16:17 TimToady or one of the standard ones?
16:17 leont By me
16:18 isBEKaml joined #perl6
16:18 TimToady could well be tickling some construct that is incompletely implemented then
16:18 TimToady (wrt precomp)
16:18 * arnsholt suggests perl6 --gdb
16:18 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
16:19 masak arnsholt: +1
16:20 * arnsholt goes to implement
16:20 TimToady ++arnsholt
16:20 arnsholt I think someone like jnthn will have to do the Windows variant though =)
16:21 leont http://paste.scsys.co.uk/438375
16:23 leont I seem to have figured out which line triggers it, but that's not golfing it down much :-/
16:24 leont Also, same line elsewhere doesn't crash
16:25 TimToady is this something that worked before, and stopped working?
16:26 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
16:26 masak arnsholt: arrays? in bash?
16:27 arnsholt Yeah
16:27 arnsholt I think those are Bash-only
16:28 leont Yeah, bash is kornish like that
16:28 arnsholt Googling seems to indicate that they're only in bash >= 3 too
16:28 arnsholt Every time I do argument handling in anything other than Perl, I realise how spoiled I am by Getopt::Long
16:29 arnsholt Shell is particularly bad
16:30 telex joined #perl6
16:30 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:31 masak one of the first things I tried to do in the Perl 6 universe was to port Getopt::Long.
16:31 masak without being guided by tests, and trying to stick as close as possible to the Perl 5 implementation.
16:31 masak I didn't get far.
16:32 masak and not just because Pugs probably wasn't quite ready for it, either.
16:33 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:34 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
16:34 leont Not sure that can be fixed
16:35 leont something like "foo:1" in G::L is not really translatable right now
16:35 leont (it means $args{foo} will be undefined by default, --foo means it's 1, and --foo=2 means it's too)
16:36 leont It's very useful for things like verbosity IME
16:37 ugexe too or two?
16:37 leont two
16:37 grondilu joined #perl6
16:39 leont I'm suspecting my problem is bless related
16:39 masak leont++ # spending tuits finding the problem
16:42 TimToady > cat try
16:42 TimToady sub MAIN(:$foo) { say $foo }
16:42 TimToady > perl6 try
16:42 TimToady (Any)
16:42 TimToady > perl6 try --foo
16:42 TimToady True
16:42 TimToady > perl6 try --foo=2
16:42 TimToady 2
16:42 TimToady looks like it already does what you want
16:44 leont I see, I should have left out the type apparently.
16:45 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 dalek specs: ddb321d | (Lucas Buchala)++ | S0 (2 files):
16:45 dalek specs: Put C<...> around code and type names in S02 and S03
16:45 dalek specs: review: https://github.com/perl6/specs/commit/ddb321de23
16:45 dalek specs: f39433d | (Lucas Buchala)++ | S03-operators.pod:
16:45 dalek specs: Whitespace alignment for ranges and flipflops in S03 (easier to see the caret ^)
16:45 dalek specs: review: https://github.com/perl6/specs/commit/f39433dc61
16:45 thou joined #perl6
16:46 japhb timotimo: stress branch ping  :-)
16:46 leont coercion types is my missing feature of choice it seems :-/
16:47 japhb Oh screw it, I'll just merge and watch the fallout
16:48 leont My theory was wrong, it's the line before the bless. Now I really don't understand :-/
16:49 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 #perl6
16:54 mirjam joined #perl6
16:57 * leont was mistaken, this didn't work befpre, but failed with a very different error in the same general direction
17:06 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.
17:11 timotimo japhb: i couldn't run it yet :/
17:13 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.
17:13 timotimo japhb: will an up-to-date rakudo it still gives the loads and loads of errors, partially in MAKE-CLEAN-PARTS
17:13 timotimo which iirc is about paths or something
17:13 japhb timotimo: Yeah, I think 2014.10 will get you more happiness.
17:17 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
17:20 lucas_ Nobody answered me here: http://irclog.perlgeek.de/perl6/2014-11-08#i_9628380
17:20 lucas_ So I guess I'll just do it, ok? I think infix:«...» looks nicer than infix:['...'] even if the inside contains "<" or ">". Again, is that ok?
17:21 timotimo is that in the core setting?
17:21 kaare_ joined #perl6
17:21 timotimo oh, it's just in the specs
17:21 lucas_ ops, no in specs, S03
17:21 timotimo that should be fine
17:21 lucas_ yes
17:22 lucas_ 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?
17:23 moritz m: say 42
17:23 camelia rakudo-moar f460d7: OUTPUT«42␤»
17:23 moritz TimToady: looks pretty recent to me
17:24 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 :)
17:25 TimToady m: say new Set: 1,2,3;
17:25 camelia rakudo-moar f460d7: OUTPUT«set(1, 2, 3)␤»
17:25 timotimo oh, indirect method syntax is now implemented?
17:25 japhb timotimo: did you run `bench stress` with --verbose?
17:25 timotimo i ran "quickstress"
17:26 moritz eeks.
17:26 timotimo should i kill it and restart?
17:26 japhb timotimo: That will build more than a few compilers ...
17:26 timotimo in that case i should be running it in a tmux anyway
17:26 timotimo 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
17:27 japhb Yes, seems like a good plan
17:27 timotimo .o( but it says "quick"stress! )
17:28 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
17:28 timotimo hm, i still haven't turned the AST evaluation benchmark into a perl6-bench-compatible benchmark
17:28 TimToady in the overall scheme of things, a year is an eyeblink
17:29 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 :)
17:29 TimToady in your copious free time :)
17:32 moritz japhb: http://irclog.perlgeek.de/perl6/search/?nick=japhb&amp;q=irclog updated for your pleasure
17:32 TimToady moritz++ except for the "eeks" :)
17:33 timotimo moritz: eeks what?
17:33 TimToady moritz++ doesn't like invocant colons on the caller end of things
17:33 moritz timotimo, TimToady: the p5 folks struggle to get rid of indirect method calls; we just got them
17:33 timotimo ah
17:33 TimToady not the same at all
17:33 timotimo aren't ours saner, though?
17:34 TimToady ours is unambiguous
17:34 leont Yeah that
17:34 timotimo i think it's kinda cute.
17:34 leont The problem with indirect method calls in perl 5 is that something as simple as «foo bar» is highly ambiguous
17:34 timotimo m: sub doit($a, $b) { say "$a does $b" }; &doit 20: 14;
17:34 camelia rakudo-moar f460d7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/RhrMtCySMhâ�¤Two terms in a rowâ�¤at /tmp/RhrMtCySMh:1â�¤------> [32moit($a, $b) { say "$a does $b" }; &doit [33mâ��[31m20: 14;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopp…»
17:34 timotimo :o
17:34 ghostlines joined #perl6
17:35 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 #perl6
17:35 TimToady that is unambiguously a function call
17:36 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
17:37 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
17:37 camelia rakudo-moar f460d7: OUTPUT«No such method 'doit' for invocant of type 'Int'␤  in block <unit> at /tmp/_a3kCn8V6J:1␤␤»
17:38 TimToady that's the main reason we picked colon for the signature, was for symmetry with the call :)
17:39 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:41 TimToady don't use it with complicated objects
17:43 TimToady m: my @a = 1; push @a: 2,3; say @a
17:43 camelia rakudo-moar f460d7: OUTPUT«1 2 3␤»
17:44 dalek specs: 591e783 | (Lucas Buchala)++ | S03-operators.pod:
17:44 dalek specs: Change square brackets to french angle quotes
17:44 dalek specs: review: https://github.com/perl6/specs/commit/591e7834b2
17:45 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␤»
17:45 TimToady m: my @a = 1,2,3; say map @a: { "$_ mapped with endweighty function" };
17:45 camelia rakudo-moar f460d7: OUTPUT«1 mapped with endweighty function 2 mapped with endweighty function 3 mapped with endweighty function␤»
17:47 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␤»
17:47 TimToady potentially some new idioms ripe for both use and abuse :)
17:49 TimToady a way to avoid parens for people who despise (^@a).map: for instance
17:50 TimToady but want to put the block last because of endweight
17:50 FROGGS_ joined #perl6
17:51 TimToady or people who really want their constructors to remind them of C++ for some reason...
17:52 kaare_ joined #perl6
17:52 TimToady m: say new Set(1,2,3);  # but only up to a point
17:52 camelia rakudo-moar f460d7: OUTPUT«[31m===[0mSORRY![31m===[0m 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â�¤------> [32msay new Set[33mâ��[31m(1,2,3);  # but only up to a point[0mâ�¤Â»
17:55 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 Sqirrel joined #perl6
17:56 masak wait, so we support invocant colons?
17:57 masak m: say $*OUT: "OH HAI"
17:57 camelia rakudo-moar f460d7: OUTPUT«OH HAI␤»
17:57 masak \o/
17:57 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?
17:57 timotimo masak: that's much prettier than "print >> STDOUT 'hi'" or what python2 had
17:57 masak agreed.
17:57 japhb moritz: Thank you!
17:58 japhb TimToady: Heh.  Perhaps I need to use Perl 6's ... sequence identifying magic ... in that Perl 5 code.  Hmmm.
17:59 erkan joined #perl6
17:59 erkan joined #perl6
17:59 japhb timotimo: Hmmm, interesting.  Add that as a github issue?
17:59 timotimo will do
18:01 timotimo oh
18:02 timotimo a few rakudo-jvms couldn't be built due to a RAM shortage
18:02 japhb Oh interesting
18:02 japhb How much RAM do you have free?
18:03 timotimo dunno, i just closed a chromium with lots of open tabs :P
18:03 timotimo now i got 5 gigs free
18:03 japhb Yeah, that would be a killer, given the process-per-tab architecture
18:03 timotimo heh.
18:04 timotimo 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_ joined #perl6
18:07 ugator joined #perl6
18:08 timotimo i know someone who treats their tab bar quite different :P
18:18 Ven joined #perl6
18:21 Alina-malina joined #perl6
18:22 kurahaupo1 joined #perl6
18:35 timotimo the "hub" commandline program created the Acme::DSON pull request in my own repository, rather than the one i forked from m(
18:36 anaeem1_ joined #perl6
18:37 timotimo now xfix will surely notice that i've done some work i'd like to see merged :P
19:10 tgt joined #perl6
19:19 firefish5000 joined #perl6
19:28 kurahaupo1 left #perl6
20:05 Mso150_d_y joined #perl6
20:06 timotimo o/
20:08 psch joined #perl6
20:08 psch hi #perl6 o/
20:09 erkan joined #perl6
20:09 erkan joined #perl6
20:09 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
20:09 timotimo Use of uninitialized value $timeout in addition (+) at /home/timo/oldhome/timo/perl6/bench/timeall line 458.
20:10 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 psch for the 'constant *' case, that is
20:10 timotimo ask it if it has a compile_time_value
20:11 timotimo a QAST::Var(:decl) shold have that, or might have to
20:11 FROGGS_ if $value_ast.has_compile_time_value {
20:11 FROGGS_ $value := $value_ast.compile_time_value;
20:11 psch timotimo: i tried that.  it doesn't, and $*W.compile_time_evaluate complains about "can't evaluate null object' or similar
20:13 FROGGS_ psch: can you check if we hit that line for the constant declaration?
20:13 FROGGS_ rakudo/src/Perl6/Actions.nqp:3431:            $value := $value_ast.compile_time_value;
20:13 kurahaupo joined #perl6
20:13 timotimo right, compile_time_evaluate needs a callable
20:14 psch FROGGS_: will do, give me a moment
20:15 psch 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
20:15 FROGGS_ ewww :o)
20:15 timotimo ask for an account on feather?
20:16 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
20:16 timotimo i'd actually enjoy more faster :3
20:17 arnsholt Just think back to the good old days of stage parse on Parrot =)
20:18 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
20:18 FROGGS_ (for parrot)
20:18 psch i ended up putting the debug say into the else... :)
20:19 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
20:19 FROGGS_ that's why I pasted the code too :o)
20:19 psch *blindly
20:20 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
20:20 FROGGS_ I also had 120s+
20:22 FROGGS_ I love my i5 :o)
20:23 FROGGS_ 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:24 arnsholt So nqp/docs/ops says that getlex throws an exception if the lexical doesn't exist
20:24 arnsholt Is that an NQP extra, or is the Moar op supposed to do that as well?
20:26 FROGGS_ MoarVM/src/core/interp.c:192:                        MVM_exception_throw_adhoc(tc, "getlex: outer index out of range");
20:26 FROGGS_ arnsholt: ^^
20:26 timotimo yeah, moar does it
20:26 * psch is reminded to exchange his windows host for a real OS soon
20:26 psch FROGGS_: i hit the line you mentioned, but i think i found my thinko
20:26 FROGGS_ nice!
20:26 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
20:26 psch at least that's what i'm trying now
20:27 psch '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...
20:27 arnsholt Hmm. I guess my compiler generates a decl where it shouldn't
20:28 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
20:28 psch a bit too much FUN for me, that'd be
20:29 FROGGS_ arnsholt: that sounds like you have stuff in your AST that does not belong there
20:29 arnsholt Indeed
20:29 arnsholt The code runs though =)
20:29 arnsholt Oh
20:29 FROGGS_ arnsholt: try on another vm, that sometimes provides valuable hints
20:29 arnsholt Looks like a perverse interaction of options
20:29 FROGGS_ O.o
20:30 arnsholt I had both --target=ast and --output=test.moarvm
20:30 FROGGS_ ohh, yes
20:30 FROGGS_ don't do that :P
20:32 arnsholt Hmm. Somehow nqp::say(a) ends up with the QAST::Var for a being :decl
20:33 arnsholt Oh, no it isn't. I'm misreading the output
20:34 arnsholt The AST is several kinds of weird though. Should probably fix that anyways
20:37 timotimo what are you up to, arnsholt? more snake?
20:37 arnsholt Yup
20:39 timotimo neato :)
20:39 timotimo will snake get nativecall, too? :3
20:40 arnsholt It's got correct (more or less I think) indent handling, and rudimentary variable handling
20:40 arnsholt That's a bit far off ATM =D
20:40 arnsholt Should probably get stuff like variables and basic control structures working first
20:40 arnsholt Oh, and functions ^_^
20:40 masak arnsholt++
20:41 arnsholt It's a bit annoying that I don't get an exception with the non-existent lexical though
20:41 timotimo :)
20:42 arnsholt Python's concept of variable declarations proving to be more than a bit annoying
20:43 timotimo yeah, i can only imagine
20:43 masak m: .say for 0, 60 ... 300
20:43 camelia rakudo-moar f460d7: OUTPUT«0␤60␤120␤180␤240␤300␤»
20:43 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
20:44 masak arnsholt: the more I learn about languages, the less I like Python's variable declaration policy.
20:44 arnsholt Me too!
20:45 arnsholt "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.
20:45 masak oh, the 'def' thing doesn't bother me so much, for some reason.
20:45 arnsholt More of a mild annoyance
20:46 arnsholt I like to structure scripts with mainline code at the top and definitions below
20:46 arnsholt 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 =)
20:46 moritz I'm learning python for $work these days, and I don't understand the scoping at all
20:47 masak moritz: LEGB :P
20:47 arnsholt It's pretty simple, actually
20:47 moritz masak: what des LEGB mean?
20:47 arnsholt There's the global scope, and new scopes are introduced by def and class
20:48 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"
20:48 moritz so no block scope scopes at all?
20:49 masak nope
20:49 arnsholt Reading a variable finds the one in the nearest available lexical scope
20:49 arnsholt Also, note that nonlocal is only in Python 3
20:49 masak moritz: thankfully, because that wouldn't work at all with the "assigning declares" policy.
20:49 arnsholt Yeah
20:49 moritz masak: aye
20:49 masak arnsholt: ...and when I asked about nonlocal on #python, they said "...but don't use it, it's not Pythonic"
20:50 arnsholt Waaaaaaat?!
20:50 masak arnsholt: it's like, argh, they finally have a fix for their weird scoping, and then they reject it.
20:50 arnsholt It's better to do the list trick shenanigans?
20:50 timotimo that's ... kind of not so awesome
20:50 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...
20:51 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 masak but that's what they told me.
20:51 masak yeah, from my point of view it's clear that Python's normal scoping policies are broken.
20:51 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 #perl6
20:53 masak arnsholt: also "In the face of ambiguity, refuse the temptation to guess."
20:53 arnsholt Oh, that one too!
20:54 * masak has been teaching Python this week
20:55 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␤␤»
20:55 FROGGS_ m: my Buf $a; say $a ~ Buf.new(65)
20:55 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␤»
20:58 dalek rakudo/nom: 2121b16 | (Tobias Leich)++ | src/core/Buf.pm:
20:58 dalek rakudo/nom: fix `Buf.new ~ (Any)` and similar
20:58 dalek rakudo/nom:
20:58 dalek rakudo/nom: Using string operations like concat on a Buf (utf8,Blob8,...) and something that is not
20:58 dalek rakudo/nom: a Buf:D failed by eating all your memory. Now we convert the buffer types to strings when
20:58 dalek rakudo/nom: we know how, and fail otherwise.
20:58 dalek rakudo/nom: This is meant to fix RT #122600 and RT #122827.
20:58 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122600
20:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2121b16c03
21:01 psch hm
21:02 psch my test code is 'constant $p = "foo"; infix:[$p] { "foo" }; say 1 foo 1'
21:02 psch and i end up in the line FROGGS_++ mentioned before, which is for the declaration of the constant
21:03 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
21:03 FROGGS_ hmmm
21:03 psch and thus nibble_to_str dies with "colonpair too complex..."
21:04 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
21:04 camelia rakudo-moar f460d7: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
21:04 FROGGS_ eww
21:04 FROGGS_ m: sub circumfix:["a b"]($) { "foo" }; say a 1 b # just checking
21:04 camelia rakudo-moar f460d7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/CGa69Jm6CN�Colon pair value '"a b"' too complex to use in name�at /tmp/CGa69Jm6CN:1�------> [32msub circumfix:["a b"][33m�[31m($) { "foo" }; say a 1 b # just checking[0m�»
21:05 psch FROGGS_: <semilist> (and <pblock>) don't get passed into colonpair_nibble_to_str
21:05 psch anyway, i'll check the .value
21:06 psch i don't know what the right circumfix syntax is with :[] either
21:07 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 #perl6
21:07 masak why is that?
21:08 moritz probably to avoid ambiguty and/or ttiar-style stuff
21:08 * moritz handwaves
21:08 vendethiel that'd be crazy Oo
21:08 masak never mind crazy -- forbidding it is a little bit boring, no?
21:09 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!␤»
21:09 masak Perl 5 allows space as the delimiter around regexes!
21:10 masak 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!␤»
21:10 masak :D
21:10 vendethiel please, no, no, god no.
21:10 masak m: sub infix:<$a>($, $) { "not a var, hah!" }; my $a; say $a $a $a $a $a $a $a
21:10 camelia rakudo-moar f460d7: OUTPUT«not a var, hah!␤»
21:10 * psch was a bit sad when HyperWhatever got implemented that ****** wouldn't be valid code
21:11 vendethiel hahahaha
21:11 psch m: sub infix:<$a>($,$) { "hah!" }; my $a; say [$a] $a, $a, $a
21:11 camelia rakudo-moar f460d7: OUTPUT«hah!␤»
21:12 masak Malkovich!
21:12 tinyblak joined #perl6
21:13 psch m: sub infix:<$a>($,$) { "hah!" }; my $a; say [$a] $a, $a [[$a]] $a, $a #
21:13 camelia rakudo-moar f460d7: OUTPUT«hah!␤»
21:14 psch FROGGS_: you were refering to the .value of the QAST::Var, right?
21:14 FROGGS_ psch: yes
21:15 TimToady m: sub infix:<$a>($,$) { say "hah!" }; my $a; [$a] $a, $a, $a
21:15 camelia rakudo-moar f460d7: OUTPUT«hah!␤hah!␤»
21:15 FROGGS_ psch: though that might be a QAST::Want, right?
21:15 psch it SORRYs with "Can't find method"
21:15 FROGGS_ :/
21:15 psch FROGGS_: i don't get a Want.  I get a Stmts with a Var inside
21:21 sqirrel_ joined #perl6
21:22 psch m: constant $foo = "bar"; BEGIN { say $foo }
21:22 camelia rakudo-moar f460d7: OUTPUT«bar␤»
21:22 dalek roast: fcf5aff | (Tobias Leich)++ | S03-operators/buf.t:
21:22 dalek roast: add tests for concating buffers
21:22 dalek roast:
21:22 dalek roast: This adds tests for RT #122827, RT #122600 and concating buffers to type objects.
21:22 dalek roast: review: https://github.com/perl6/roast/commit/fcf5aff5c9
21:22 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122827
21:22 psch it's there, which probably means i have to do something to the ast to get it
21:24 mirjam joined #perl6
21:28 mirjam joined #perl6
21:31 zakharyas joined #perl6
21:33 virtualsue joined #perl6
21:33 FROGGS_ I just killed camelia with: std: when 42 { say "This should fail" }
21:34 camelia joined #perl6
21:35 TimToady that's odd, parses locally
21:35 FROGGS_ std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 166...
21:36 FROGGS_ that's what I got just now after camelia joined
21:36 FROGGS_ TimToady: but it should not parse according to RT #71368
21:36 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=71368
21:38 FROGGS_ m: say True ~~ Int
21:38 camelia rakudo-moar 2121b1: OUTPUT«False␤»
21:38 TimToady there is no /home/camelia, should probably be /home/p6eval
21:38 FROGGS_ m: say Bool::True ~~ Int
21:38 camelia rakudo-moar 2121b1: OUTPUT«False␤»
21:39 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
21:39 camelia rakudo-moar 2121b1: OUTPUT«(Bool) (Cool) (Any) (Mu)␤»
21:41 thou joined #perl6
21:43 dalek evalbot: 5fe53ad | moritz++ | build-scripts/rebuild-nqp-jvm.sh:
21:43 dalek evalbot: Get rid of most absolute paths
21:43 dalek evalbot: review: https://github.com/perl6/evalbot/commit/5fe53ad647
21:44 FROGGS_ moritz++
21:44 * masak .oO( absolute paths corrupt absolutely )
21:44 dalek snake: e81b890 | (Arne Skjærholt)++ | src/Snake/Grammar.nqp:
21:44 dalek snake: Explicit line joining with backslash-newline.
21:44 dalek snake: review: https://github.com/arnsholt/snake/commit/e81b890e31
21:44 dalek snake: cd7e378 | (Arne Skjærholt)++ | src/Snake/ (2 files):
21:44 dalek snake: Rework variable handling a bit.
21:44 dalek snake: review: https://github.com/arnsholt/snake/commit/cd7e3782b4
21:44 vendethiel arnsholt++
21:45 dalek evalbot: 94f9eff | moritz++ | / (2 files):
21:45 dalek evalbot: Get rid of most absolute paths
21:45 dalek evalbot: review: https://github.com/perl6/evalbot/commit/94f9effcd7
21:48 arnsholt masak: Or absolute paths get absolutely corrupted? =)
21:49 wolv joined #perl6
21:50 masak absolutely.
21:50 arnsholt Heehee
21:55 TimToady the funniest bit is that inside of processes, we're getting rid of relative paths as fast as we can :)
21:57 itz Output from C<--profile> can be visualized by C<kcachegrind>
21:57 itz I'm proposing to remove that since I believe its no longer true.  Can anyone confirm that?
21:59 FROGGS_ itz: it is only true for perl6-p and nqp-p
22:00 itz hmmm maybe I should add "for the Parrot backend" in that case?
22:00 masak +1
22:03 BenGoldberg joined #perl6
22:03 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:04 psch but it breaks on bare calls with "cannot find circumfix:<( )>"
22:04 psch (the fact that the approach is rather messy aside)
22:06 psch *get the compile time value
22:07 moritz m: say 42
22:07 camelia rakudo-moar 2121b1: OUTPUT«42␤»
22:07 masak ship it!
22:07 [Sno] joined #perl6
22:07 moritz seems the cron job for rebuilding works again
22:08 FROGGS_ very nice
22:12 TimToady m: say "\00".ords
22:12 camelia rakudo-moar 2121b1: OUTPUT«0 48␤»
22:13 TimToady there are tests that assume that should throw an exception, but I can argue it both ways
22:13 TimToady (the final tests in S02-literals/char-by-number.t)
22:14 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â�¤    ------> [32msay 0123[33mâ��[31m;[0mâ�¤123â�¤Â»
22:14 TimToady in $~MAIN octaloids are merely warned about
22:15 TimToady which is yet a 3rd approach
22:15 masak m: say 0123; #OK
22:15 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â�¤    ------> [32msay 0123[33mâ��[31m; #OK[0mâ�¤123â�¤Â»
22:16 masak aww
22:16 TimToady n: say 0123; #OK
22:16 camelia niecza v24-109-g48a8de3: OUTPUT«123␤»
22:16 TimToady n: say 0123; #OK octal
22:16 camelia niecza v24-109-g48a8de3: OUTPUT«123␤»
22:17 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:â�¤------> [32msay 0123[33mâ��[31m; #OK redefined[0mâ�¤â�¤123â�¤Â»
22:17 TimToady that's probably a LishHF
22:20 * masak .oO( sir, your fruits are hanging way too lish at this point )
22:25 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␤»
22:26 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â�¤    ------> [32msay 0123[33mâ��[31m;[0mâ�¤123â�¤Â»
22:27 gtodd ... keeping something running on a JVM is only low hanging when you have a lot of memory available
22:28 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â�¤    ------> [32msay 00[33mâ��[31m;[0mâ�¤0â�¤Â»
22:28 gtodd m: say 0o0 ;
22:28 camelia rakudo-moar 2121b1: OUTPUT«0␤»
22:28 gtodd .o0(0o0)
22:28 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.
22:29 BenGoldberg s/octal in decimal/octal and decimal/
22:31 TimToady But You're Thinking Of It Wrong!  --The Thought Police
22:38 FROGGS_ std: enum A <a b c>; enum B <a b c>; say B::a; say a
22:38 FROGGS_ sorry
22:38 fhelmberger joined #perl6
22:39 camelia joined #perl6
22:39 FROGGS_ I have a patch for RT #72696 in the queue, though it needs finetuning after $sleep
22:39 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=72696
22:39 FROGGS_ gnight
22:40 psch nite FROGGS_ o/
22:40 psch masak: i can't ship it, it doesn't work :/
22:40 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:55 itz https://github.com/rakudo/rakudo/pull/329
23:01 dalek rakudo/nom: 7092586 | (Steve Mynott)++ | docs/running.pod:
23:01 dalek rakudo/nom: doc kcachegrind profiling for parrot backend only
23:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/709258629e
23:01 dalek rakudo/nom: ddc6110 | (Steve Mynott)++ | docs/running.pod:
23:01 dalek rakudo/nom: doc profiling for MoarVM
23:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ddc61109f0
23:01 dalek rakudo/nom: 518878c | (Steve Mynott)++ | src/Perl6/Compiler.nqp:
23:01 dalek rakudo/nom: perl6 profile help fixes
23:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/518878c0cc
23:01 dalek rakudo/nom: 3563935 | (Carl Mäsak)++ | / (2 files):
23:01 dalek rakudo/nom: Merge pull request #329 from stmuk/nom
23:01 dalek rakudo/nom:
23:01 dalek rakudo/nom: perl6 profile help fixes
23:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/356393550e
23:06 araujo joined #perl6
23:07 timotimo o/
23:10 timotimo japhb: quickstress ran through
23:13 * timotimo does quickstart, too, just for fun
23:14 dj_goku joined #perl6
23:14 dj_goku joined #perl6
23:38 * psch goes to sleep o/
23:54 timotimo oh wow
23:55 masak 'night, #perl6
23:56 timotimo method !dba is responsible for the biggest amount of BOOTStr allocations
23:57 timotimo hm. does push_s allocate a new BOOTStr in any case?
23:57 timotimo that could be it

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo