Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-03-30

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:05 ugexe ugexe@debian:~/.rakudobrew/moar-nom/install/share/perl6/site/panda$ perl6 -e 'say %*ENV<PANDA_SUBMIT_TESTREPORTS>'
00:05 ugexe (Any)
00:05 ugexe ugexe@debian:~/.rakudobrew/moar-nom/install/share/perl6/site/panda$ echo $PANDA_SUBMIT_TESTREPORTS
00:05 ugexe 1
00:07 colomon joined #perl6
00:09 ugexe first, it seems %*ENV does not properly handle readonly env variables
00:10 ugexe secondly when I remove the readonly PANDA_SUBMIT_TESTREPORTS and redo the after setting it the normal way, it gets to the end and claims to have submitted a test report along with a URL. But the URL is 404
00:11 ugexe nor does the report show up in recent reports
00:15 timotimo what is that url?
00:28 laouji joined #perl6
00:29 ugexe http://testers.perl6.org/reports/38361.html
00:31 colomon joined #perl6
00:33 timotimo right, that would be the next id in line anyway
00:33 timotimo i'll have a look at the server
00:36 Mouq joined #perl6
00:38 ugexe readonly PANDA_SUBMIT_TESTREPORTS=1; echo $PANDA_SUBMIT_TESTREPORTS; perl6 -e 'say %ENV<PANDA_SUBMIT_TESTREPORTS>'
00:38 adu joined #perl6
00:38 ugexe that should demonstrate the read only thing
00:38 TimToady um, is that really an env variable, or just a shell variable?  does it need an export?
00:39 timotimo readonly?
00:40 timotimo what is that a feature of?
00:41 ugexe bash
00:41 ugexe for all i know its not really an env variable
00:41 ugexe but when its set im not able to set a similarly named env var
00:42 * ugexe is trying to get around panda deleting %ENV<PANDA_SUBMIT_TESTREPORTS> after every run
00:43 timotimo 38361 | PASS  | URI      |          | 0.1.0   | 2015.3.95.gee.7.a.375 | moar    | 64   | t          | t
00:43 timotimo does this look like your report?
00:43 uvb joined #perl6
00:44 laouji joined #perl6
00:45 colomon joined #perl6
00:45 ugexe yep
00:46 timotimo hm
00:46 timotimo it *could* be the transfer script from hack to www is not working any more
00:47 TimToady ugexe: you left the * out
00:47 TimToady readonly PANDA_SUBMIT_TESTREPORTS=1; export PANDA_SUBMIT_TESTREPORTS; echo $PANDA_SUBMIT_TESTREPORTS; perl6 -e 'say %*ENV<PANDA_SUBMIT_TESTREPORTS>'
00:47 TimToady that works
00:48 larion joined #perl6
00:48 ugexe TimToady: i was using the %*, that ws a typo. but the export
00:49 TimToady looks like you can say 'export readonly
00:49 laouji joined #perl6
00:50 timotimo to be honest, i don't see any kind of script or crontab entry that'd upload the html files from hack to www
00:50 ugexe TimToady: exporting makes it work. thanks
00:50 ugexe timotimo: ==> Test report is duplicate of: http://testers.perl6.org/reports/38361.html
00:50 ugexe i just tried testing it again
00:51 timotimo .tell FROGGS what's up with cpandatesters not uploading its html files to www any more? didn't there use to be a cronjob that does that?
00:51 yoleaux timotimo: I'll pass your message to FROGGS.
00:51 timotimo ugexe: yeah, the tests are getting accepted and the html files are being generated, but not uploaded to the web host
00:52 ugexe ah
00:52 dalek gtk-simple: f22283a | retupmoca++ | META.info:
00:52 dalek gtk-simple: add provides
00:52 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/f22283ae1d
00:52 dalek gtk-simple: 702cd06 | retupmoca++ | lib/GTK/NativeLib.pm6:
00:52 dalek gtk-simple: Fix .dll bundling with S11 changes
00:52 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/702cd066a8
00:53 ugexe whats wrong with panda determining the provides from /lib?
00:54 ugexe or is that for CompUnit.install purposes?
01:03 aborazmeh joined #perl6
01:03 aborazmeh joined #perl6
01:04 retupmoca not sure
01:05 retupmoca but right now you just have to list all of your .pm6? files there (with basically / -> :: for the keys)
01:06 Tux__ joined #perl6
01:06 retupmoca I think the idea is to disconnect the 'use name' from the filename, but panda still does the filename style lookup for testing, so the filename still has to match the key right now
01:07 retupmoca (if you don't list a file in "provides", it still gets installed; you just can't 'use' it)
01:09 timotimo did you see the panda command that generates a meta.info for you based on guesses?
01:09 timotimo that also contains a provides section
01:10 retupmoca yeah, that makes it easier
01:10 retupmoca but most of my stuff already has a META and only has a couple of files, so I tend to just manually do it
01:11 retupmoca I just have to remember to manually run the tests again after a panda install to make sure it's correct
01:12 aborazmeh joined #perl6
01:12 aborazmeh joined #perl6
01:18 retupmoca tbh I don't really see the point behind 'provides', but I'm not going to complain too much since it's a step towards full module versioning
01:18 kaare_ joined #perl6
01:18 retupmoca which I very much want
01:26 Mouq I was thinking it might be useful to be able to specify (perhaps in the META file, perhaps elsewhere) that if you want to run with *this* version, checkout this sha1, if you want to run with *that* version, checkout that sha1. idk if there's already been solid discussion on this
01:27 Mouq version == version of Perl 6
01:27 Mouq Aggrevated due to
01:27 Mouq m: say $*PERL6.version
01:27 camelia rakudo-moar ee7a37: OUTPUT«Dynamic variable $*PERL6 not found␤  in method <anon> at src/gen/m-CORE.setting:15853␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2908␤  in any find_method at src/gen/m-Metamodel.nqp:1052␤  in block <unit> at /tmp/YxxBQ7o1LK:1␤␤»
01:27 Mouq m: say $*PERL.version
01:27 camelia rakudo-moar ee7a37: OUTPUT«vunknown␤»
01:28 Mouq .o( v6.i )
01:35 aborazmeh joined #perl6
01:35 aborazmeh joined #perl6
01:45 colomon joined #perl6
02:08 aborazmeh joined #perl6
02:08 aborazmeh joined #perl6
02:16 ugexe could that be done in Build.PL
02:17 chenryn joined #perl6
02:18 ugexe for checking out modules anyway
02:19 colomon joined #perl6
02:20 noganex joined #perl6
02:22 vendethiel joined #perl6
02:24 chenryn joined #perl6
02:35 colomon joined #perl6
02:38 Mouq *can't figure out why computer is so slow. has been running
02:38 colomon joined #perl6
02:39 Mouq a "for 1..*" loop for an hour and a half*
02:40 Augustus joined #perl6
02:42 TimToady maybe you need a faster computer...
02:44 colomon or a smaller Inf
02:44 Augustus does anyone know what it would take to get junction like behavior using sets? In particular passing sets as parameters to functions and getting back a set of the return values resulting from that function invoked on the cross product of the sets values.
02:47 TimToady say set set(<a b c>).list X~ set(<x y z>).list
02:47 TimToady m: say set set(<a b c>).list X~ set(<x y z>).list
02:47 camelia rakudo-moar ee7a37: OUTPUT«set(ax, ay, az, bx, by, bz, cx, cy, cz)␤»
02:48 Augustus is X like a cross product hyper operator?
02:49 colomon it’s not hyper
02:49 TimToady well, we call it a meta
02:49 TimToady hyper is a different kind of meta
02:49 Augustus how do you use it with any arbitrary function rather than another operator?
02:50 TimToady m: say set set(<a b c>).list X[&infix:<~>] set(<x y z>).list
02:50 camelia rakudo-moar ee7a37: OUTPUT«set(ax, ay, az, bx, by, bz, cx, cy, cz)␤»
02:51 Augustus what about functions of more than 2 parameters?
02:52 Augustus do the meta operators basically create functions that you can use as normal functions?
02:52 TimToady supposed to
02:53 Augustus so X[foo](set <a b c>.list, set <x y z>.list, set <1 2 3>.list) or similar should work?
02:53 TimToady m: say [X[&infix:<~>]] <a b c>, <d e f>, <g h i>
02:53 camelia rakudo-moar ee7a37: OUTPUT«adg adh adi aeg aeh aei afg afh afi bdg bdh bdi beg beh bei bfg bfh bfi cdg cdh cdi ceg ceh cei cfg cfh cfi␤»
02:54 Augustus what does the extra [] do? And when do you need the .list vs not?
02:54 TimToady sets need .list to turn into one
02:54 TimToady otherwise they stay items by default
02:54 TimToady otherwise it's hard to make a set of sets :)
02:55 Augustus sorry, I was just confused because the infix example (your first one) you used .list, but in your prefix example (most recent) you didn't
02:55 TimToady I wasn't using sets there
02:55 TimToady m: say <a b c>.WHAT
02:55 camelia rakudo-moar ee7a37: OUTPUT«(Parcel)␤»
02:55 Augustus ohh I see
02:56 Augustus reading comprehension for the win
02:57 Augustus m: say ([X[&infix:<~>]] <a b c>, <d e f>, <g h i>).WHAT
02:57 camelia rakudo-moar ee7a37: OUTPUT«(List)␤»
02:57 Augustus m: say (set([X[&infix:<~>]] <a b c>, <d e f>, <g h i>)).WHAT
02:57 camelia rakudo-moar ee7a37: OUTPUT«(Set)␤»
02:58 TimToady m: (set(<a b c>),set(<x y z>)).powerset
02:58 camelia rakudo-moar ee7a37: OUTPUT«No such method 'powerset' for invocant of type 'Parcel'␤  in block <unit> at /tmp/_qIQrLRQhY:1␤␤»
02:58 Augustus presumably I could easily create an X like meta-op that takes and returns sets, avoiding the conversion back and forth with lists
02:58 TimToady hmm, thought we had one of those
02:59 TimToady guess that was on rosettacode.org
02:59 colomon sure it’s not a sub?
02:59 TimToady the string doesn't occur in src
02:59 colomon ah
02:59 colomon huh
02:59 TimToady well, easy enough to write
03:00 TimToady http://rosettacode.org/wiki/Power_set#Perl_6
03:01 TimToady I guess that's not quite the same as X
03:02 Augustus a quick googling on meta operators and I find example of existing ones but not the syntax for defining your own. do you know where I can find that?
03:03 TimToady we don't support that quite yet; you could add rules to parse new ones, but it won't automatically write the backend for a new metaoperator for you as it will for more standard grammatical categories
03:04 Augustus I see.
03:04 colomon is it possible to explicitly define the backend?  I know how to do it in core, but I don’t know if it’s possible to make it work outside of Rakudo’s internal.
03:05 Augustus I was looking through the perl6 grammar and action files earlier; those are written in NQP right?
03:05 colomon (backend for a new metaop)
03:05 colomon Augustus: believe so
03:05 colomon TimToady++ # $s.combinations.map(*.Set).Set
03:06 Augustus I know the docs for perl6 are gradually being brought up to date, but I don't remember seeing a section for NQP. Do NQP docs exist?
03:07 TimToady yeeeeessssss....but
03:07 ugexe https://github.com/perl6/nqp/tree/master/docs
03:09 Augustus cool, thanks! I take it then there's a reason there's no link on docs.perl6.org?
03:10 TimToady we don't much actually encourage nqp programming as a supportable activity
03:13 Augustus My understanding was that it was necessary when working on slangs, macros, ASTs etc
03:14 TimToady well, so far, but we hope to raise all those activities up to the P6 level someday
03:15 TimToady slangs are already getting close
03:16 Augustus Ah, it has more to do with things not being finished than that being the intended way
03:17 colomon joined #perl6
03:17 Augustus In a completely unrelated question, would it break anything for the ** quantifier in regexes to accept $variables directly without needing a closure?
03:19 * colomon thought not supporting $variables directly in ** quant was a rakudobug?
03:19 * colomon admits he didn’t know it worked with closures now.
03:20 Augustus it took me some fiddling to get the syntax right but yes it works
03:20 Augustus but it seems intuitive for $vars to work, and the closure thing isn't documented clearly
03:20 Augustus so it took me some guess and check lol
03:21 TimToady well, but now someone will expect ** $foo.bar to work
03:21 raiph joined #perl6
03:21 TimToady we sort of left it out on purpose
03:21 * colomon notes niecza needed the closure
03:21 davido_ joined #perl6
03:22 TimToady the {} indicating a value that could not be known at compile time
03:22 Augustus is there a reason that $foo.bar in a regex is harder than string interpolation? doesn't $foo.bar work in string interpolation?
03:22 TimToady nope, not without ()
03:22 Augustus hmm, ok
03:23 TimToady and we're trying to keep the regex slang pretty distinct from the main language
03:25 TimToady afk for a bit &
03:25 Augustus Seems reasonable enough. A minor update to the docs and I would have gotten to my solution right away
03:25 colomon o/
03:25 Augustus another regex question. how do locally defined regexes work with no grammar?
03:25 colomon I believe they’re just subs.
03:26 Augustus Actually they are methods
03:26 Augustus and without "my" require a grammar to contain them
03:26 colomon without a grammar?
03:26 Augustus if you use "my" you can just declare a regex
03:26 Augustus otherwise you have to nest them inside a grammar
03:28 Augustus This is relevant because you can't use "multi" with "my"
03:28 Augustus since "my" is actually creating a variable
03:28 Augustus you can't have multiple variables with the same name
03:35 moritz dunno about regexes, but with subs, you can dcombine my with multi
03:35 moritz in fact, sub are "my" by default
03:35 Augustus maybe I just didn't have the right syntax
03:36 Augustus it just complained about redefining the variable
03:42 Augustus Ah, I see now, the X meta operator doesn't actually work on functions of more than 2 parameters
03:43 Augustus it will just repeatedly call binary functions
03:45 Augustus actually I think I get it now, THAT's what the extra [] were for, adding a list reduction meta op
03:46 Augustus so [X[op]] is actually two meta ops chained together
03:47 colomon right
03:47 * colomon completely missed that too
03:48 moritz m: sub a(*@a) { <( )>.join(@a.join(', ') }; say <a b c> X[&a] <d e f> X[&a] <g h>
03:48 camelia rakudo-moar ee7a37: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3neAFGWJsz␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/3neAFGWJsz:1␤------> 3sub a(*@a) { <( )>.join(@a.join(', ') 7⏏5}; say <a b c> X[&a] <d e f> X[&a] <g h>␤»
03:48 Augustus so I will need to hack the internals to make a meta operator to do cross production of arbitrary functions like junctions do
03:49 moritz m: sub a(*@a) { <( )>.join(@a.join(', ')) }; say <a b c> X[&a] <d e f> X[&a] <g h>
03:49 camelia rakudo-moar ee7a37: OUTPUT«((a, d), g) ((a, d), h) ((a, e), g) ((a, e), h) ((a, f), g) ((a, f), h) ((b, d), g) ((b, d), h) ((b, e), g) ((b, e), h) ((b, f), g) ((b, f), h) ((c, d), g) ((c, d), h) ((c, e), g) ((c, e), h) ((c, f), g) ((c, f), h)␤»
03:50 moritz m: sub a(*@a) is assoc<list> { <( )>.join(@a.join(', ')) }; say <a b c> X[&a] <d e f> X[&a] <g h>
03:50 camelia rakudo-moar ee7a37: OUTPUT«((a, d), g) ((a, d), h) ((a, e), g) ((a, e), h) ((a, f), g) ((a, f), h) ((b, d), g) ((b, d), h) ((b, e), g) ((b, e), h) ((b, f), g) ((b, f), h) ((c, d), g) ((c, d), h) ((c, e), g) ((c, e), h) ((c, f), g) ((c, f), h)␤»
03:50 moritz :(
03:50 moritz m: sub a(*@a) is assoc<list> { <( )>.join(@a.join(', ')) }; say <a b c> Z[&a] <d e f> Z[&a] <g h>
03:50 camelia rakudo-moar ee7a37: OUTPUT«((a, d), g) ((b, e), h)␤»
03:50 Augustus moritz: I don't understand what you are trying to get
03:51 colomon moritz: can you give a sub an assoc?
03:51 moritz m: sub infix:<a>(*@a) is assoc<list> { <( )>.join(@a.join(', ')) }; say <a b c> Xa <d e f> Xa <g h>
03:51 camelia rakudo-moar ee7a37: OUTPUT«(a, d, g) (a, d, h) (a, e, g) (a, e, h) (a, f, g) (a, f, h) (b, d, g) (b, d, h) (b, e, g) (b, e, h) (b, f, g) (b, f, h) (c, d, g) (c, d, h) (c, e, g) (c, e, h) (c, f, g) (c, f, h)␤»
03:51 moritz colomon: I can, it's just a Routine; but it seems to get ignored
03:52 moritz Augustus: I'm trying to come up with a case where X handles the more than two-args case
03:52 moritz and it seems it works for "is assoc<list>" infixes
03:52 moritz but now that @dauthers[1] sleeps again, so will I too
03:52 moritz &
03:53 colomon o/
03:53 Augustus so it's smart enough to figure out not to call &a multiple times
03:53 Augustus the associativity tells it to bundle everything together?
03:54 Augustus like would that work if the parameters actually did different things?
03:56 Augustus wow actually does seem to work
03:59 adu joined #perl6
04:00 Augustus having to repeat the X and the function/operator is sub optimal, makes it hard to switch between the junction and regular versions, but it's cool that it can be made to work at all. thx for the help everybody
04:16 xinming joined #perl6
04:28 laouji joined #perl6
04:31 TimToady m: sub infix:<a>(*@a) is assoc<list> { <( )>.join(@a.join(', ')) }; say [Xa] <a b c>, <d e f>, <g h i>
04:31 camelia rakudo-moar ee7a37: OUTPUT«(a, d, g) (a, d, h) (a, d, i) (a, e, g) (a, e, h) (a, e, i) (a, f, g) (a, f, h) (a, f, i) (b, d, g) (b, d, h) (b, d, i) (b, e, g) (b, e, h) (b, e, i) (b, f, g) (b, f, h) (b, f, i) (c, d, g) (c, d, h) (c, d, i) (c, e, g) (c, e, h) (c, e, i) (c, f, g) (c, f,…»
04:31 TimToady you don't have to repeat the Xa, that's what reduce is for
04:31 TimToady we just don't have the [&fun] form understanding that a *@ argument is list associative rather than binary
04:32 TimToady (yet)
04:34 TimToady m: sub infix:<a>(*@a) is assoc<list> { <( )>.join(@a.join(', ')) }; say (<a b c>, <d e f>, <g h i>).reduce(&infix:<a>)
04:34 camelia rakudo-moar ee7a37: OUTPUT«((((((a b c, d), e), f), g), h), i)␤»
04:34 TimToady that one is also not quite correct...
04:34 TimToady that's obviously done something deeply suboptimal...
04:35 TimToady Oh, Augustus++ has left already...
04:40 chenryn joined #perl6
04:50 dalek perl6-most-wanted: 4d71161 | Adrian++ | most-wanted/modules.md:
04:50 dalek perl6-most-wanted: correct link to Geo::Ellipsoid
04:50 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/4d71161fea
04:57 chenryn joined #perl6
05:02 Sqirrel joined #perl6
05:12 tinyblak joined #perl6
05:15 laouji joined #perl6
05:40 chenryn joined #perl6
05:45 dalek specs: 40163b8 | TimToady++ | S03-operators.pod:
05:45 dalek specs: reverse associativity on R ops
05:45 dalek specs:
05:45 dalek specs: This seems slightly less unintuitive than the old semantics.
05:45 dalek specs: review: https://github.com/perl6/specs/commit/40163b8cab
05:46 dalek roast: 346e879 | TimToady++ | S03-metaops/reduce.t:
05:46 dalek roast: [\Rop] no longer works on infinite lists
05:46 dalek roast: review: https://github.com/perl6/roast/commit/346e8795dc
05:50 dalek rakudo/nom: 02e1e99 | TimToady++ | src/ (2 files):
05:50 dalek rakudo/nom: fix R to reverse associativity
05:50 dalek rakudo/nom:
05:50 dalek rakudo/nom: [R**] 2,3,4 and 2 R** 3 R** 4 now both consistently mean 4 ** 3 ** 2.
05:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/02e1e99821
05:51 TimToady and [Rop] will now be sane(r) on list associatives
05:51 TimToady like [R,]
05:57 brrt joined #perl6
06:00 vendethiel joined #perl6
06:05 mr-foobar joined #perl6
06:19 TimToady m: say [R,] 1..10
06:19 camelia rakudo-moar ee7a37: OUTPUT«Too many positionals passed; expected 2 arguments but got 10␤  in block  at src/gen/m-CORE.setting:21915␤  in sub  at src/gen/m-CORE.setting:22065␤  in block <unit> at /tmp/FV8Kllg0qJ:1␤␤»
06:21 moritz m: for 1..1000 { now }; say now - INIT now # used to be 3 seconds
06:21 camelia rakudo-moar 02e1e9: OUTPUT«0.52396339␤»
06:21 moritz http://irclog.perlgeek.de/perl6/2015-03-28#i_10355392
06:22 TimToady m: say [R,] 1..10
06:22 camelia rakudo-moar 02e1e9: OUTPUT«10 9 8 7 6 5 4 3 2 1␤»
06:22 moritz jnthn++ # 'now' optimization
06:22 TimToady m: say 2 ** 3 ** 4 == 4 R** 3 R** 2
06:22 camelia rakudo-moar 02e1e9: OUTPUT«True␤»
06:23 [Tux] $ panda install File::Temp
06:23 [Tux] resolve stage failed for File::Temp: Project File::Temp not found in the ecosystem
06:23 [Tux] in sub die at lib/Panda.pm:182
06:23 TimToady .tell BenGoldberg see http://irclog.perlgeek.de/perl6/2015-03-30#i_10360515 and following
06:23 yoleaux TimToady: I'll pass your message to BenGoldberg.
06:30 [Tux] masak, thanks for the update. Of course I'd like to see all my tests pass, but OTOH, I'd rather test against current
06:31 [Tux] I also want to spot performance changes
06:40 bjz joined #perl6
06:49 FROGGS joined #perl6
06:52 Ven joined #perl6
06:53 sirdancealot joined #perl6
06:55 kjs_ joined #perl6
06:58 FROGGS timotimo: my scripts on hack are disabled
06:58 yoleaux 00:51Z <timotimo> FROGGS: what's up with cpandatesters not uploading its html files to www any more? didn't there use to be a cronjob that does that?
06:59 Ven joined #perl6
06:59 RabidGravy joined #perl6
06:59 FROGGS timotimo: the html files are not generated atm, the rsync from www is still running though, but there is nothing to rsync unless I run the ./runall.sh
07:01 FROGGS moritz: for moarvm we do not free its mem at shutdown time so the os has to clean up for us (which is faster)... might this confuddle cron?
07:05 prime joined #perl6
07:05 prime joined #perl6
07:06 moritz FROGGS: my guess is as good or bad as yours
07:07 FROGGS the good thing is that moar has an option to shutdown cleanly
07:07 FROGGS I'll ask stackoverflow later
07:10 esaym153 joined #perl6
07:17 laouji joined #perl6
07:20 bartolin_ FROGGS, moritz: IMO we don't have enough information to debug the problem with hack, yet. in order to get more information (at least we have remote logging now) the problem has to occur again. in the best case we're able to provoke the high load
07:20 bartolin_ therefore I don't think it's useful to disable those jobs
07:22 bartolin_ one thing I found: write performance is really bad if one forces a sync to disk. that is probably related to "barrier" being enabled on the filesystem (see e.g. https://wiki.archlinux.org/index.php/Ext4#Barriers_and_Performance)
07:22 bartolin_ $ dd if=/dev/zero of=foo bs=512 count=2000 oflag=dsync
07:22 bartolin_ 1024000 bytes (1.0 MB) copied, 57.4746 s, 17.8 kB/s
07:23 bartolin_ that's nearly 1 min for 1 MB
07:23 grondilu joined #perl6
07:24 moritz is there a way to detect syncs?
07:24 bartolin_ in my experience database inserts or updates could be problematic when the database has fsync activated
07:24 * grondilu likes [R,] for reverse and may use that in the future
07:24 FROGGS bartolin_: does the remote logging actually help? the collectd logs were pretty useless last time
07:24 moritz FROGGS: the collectd logs are stored on hack itself
07:24 bartolin_ FROGGS: I hope so. we are collecting kernel messages etc now
07:25 FROGGS bartolin_: okay, that must be new
07:25 moritz bartolin_: oh, it seems that if both the hypervisor and the guest have barriers enabled, that's probably rather bad
07:26 Rounin joined #perl6
07:26 bartolin_ FROGGS: can you say how many inserts your scripts (cals-stats.pl et al.) generate?
07:28 FROGGS bartolin_: it attempts an insert for every dist and the three backends, so about 280*3
07:28 bartolin_ btw: if you run my dd command from above, you can see that 1 cpu is maxed out with IO while writing happens
07:28 FROGGS though, that attempt usually fails and it does an update instead
07:29 bartolin_ FROGGS: aha. maybe we could try to run that in isolation and watch the io stats
07:29 moritz http://serverfault.com/questions/425607/kvm-guest-io-is-much-slower-than-host-io-is-that-normal seems i can attempt some tuning
07:29 bartolin_ moritz++
07:30 Ven joined #perl6
07:30 bartolin_ moritz: please note that my dd command from above syncs to disc after every 512 bytes. if I leave out the "oflag=dsync" there is no problem (since the OS caches the stuff):
07:31 bartolin_ 1024000 bytes (1.0 MB) copied, 0.0070262 s, 146 MB/s
07:31 laouji joined #perl6
07:32 brrt joined #perl6
07:35 pdcawley joined #perl6
07:38 moritz bartolin_: the problem is that I seem to have to reboot the guest for each change :(
07:38 bartolin_ moritz: yes :-(
07:39 bartolin_ moritz: but maybe you could provide a separate virtual disk for the database?
07:39 bartolin_ and play with that one first?
07:39 moritz bartolin_: or I'll experiment with irc.p6c.org
07:39 moritz but first, I must $work :(
07:40 zakharyas joined #perl6
07:41 laouji joined #perl6
07:45 bartolin_ moritz: an idea for after $work: this way you could add a additional disk on the fly (to play with it): http://serverfault.com/questions/457250/kvm-and-libvirt-how-do-i-hotplug-a-new-virtio-disk
07:51 aborazmeh joined #perl6
07:51 aborazmeh joined #perl6
07:58 sergot joined #perl6
07:58 sergot hi #perl6
07:59 nwc10 good morning sergot
08:03 FROGGS hi sergot
08:12 larion joined #perl6
08:15 kjs_ joined #perl6
08:16 darutoko joined #perl6
08:18 jnthn morning o/
08:18 FROGGS morning jnthn
08:18 nwc10 jnthn: it occurred to me that DST is "I heard that you had too much morning so I stole some of it and turned it into afternoon"
08:21 jnthn nwc10: Well, but it gives us a bonus hour of morning in autumn in return... :)
08:21 nwc10 but the interest rate sucks.
08:22 nwc10 although, hey, given how things are these days, at least it's not negative.
08:22 jnthn True that...
08:22 RabidGravy an extra hour of being blinded by the sun coming through the east facing window
08:23 jnthn Eh well, at least our DST in Europe comes into affect at the same instantaneous time across the continent, only occurs once a year, and is a whole number of hours offset, all of which are violated by some parts of the world. :)
08:26 RabidGravy I'm probably being thick, but why in code like https://gist.github.com/jonathanstowe/4024771e8848daf33641 does the FETCH get called 11 times for each acccess?
08:27 jnthn RabidGravy: Probably because the containerized thing gets passed down to different methods as part of doing IO, and they each want to type-check the value, and call FETCH to obtain it.
08:28 abraxxa joined #perl6
08:28 RabidGravy ah got ya, thought it might be something like that
08:28 jnthn RabidGravy: Wrose, Proxy thwarts a bunch of the optimizations that kick out most of said checks.
08:30 RabidGravy confirmed  by using an intermediate variable
08:30 RabidGravy cheers
08:36 kurahaupo joined #perl6
08:39 rurban_ joined #perl6
08:40 aborazmeh joined #perl6
08:40 aborazmeh joined #perl6
08:43 laouji_ joined #perl6
08:48 telex joined #perl6
08:53 dakkar joined #perl6
08:55 rindolf joined #perl6
09:01 yeahnoob joined #perl6
09:03 laouji joined #perl6
09:04 Akagi201 joined #perl6
09:10 espadrine joined #perl6
09:11 Akagi201_ joined #perl6
09:17 pecastro joined #perl6
09:22 larion joined #perl6
09:26 RabidGravy if one had a method foo ( Code $callback )  but wanted to constrain the Code to a specific signature is that at all possible?
09:28 moritz yes
09:28 moritz either with  &callback:(signature) or &callback (signature9
09:28 moritz s/9/)/
09:28 moritz I forgot which
09:28 FROGGS sub SetCallback(&callback (Str --> Int)) # like this
09:28 FROGGS the one with whitespace is the new syntax
09:30 RabidGravy ah ha! cool cheers
09:33 jnthn Wait, isn't that an unpack?
09:33 * jnthn thought you had to put &callback:(Str --> Int)
09:35 moritz a subsig
09:39 moritz bartolin_: ok, with the best setting I achieved 1.8MB/s with your dd benchmark (on a separate VM, same hypervisor)
09:39 larion joined #perl6
09:39 moritz bartolin_: so, probably just needs a hack reboot to be happy
09:41 FROGGS jnthn: I took it from the nativecall docs
09:42 jnthn FROGGS: Yes, but we stole unpack syntax there because they other thing wasn't implemented...
09:43 dalek rakudo/moreinput: f26fcba | peschwa++ | src/Perl6/Compiler.nqp:
09:43 dalek rakudo/moreinput: Correctly check for valid input from the secondary prompt.
09:43 dalek rakudo/moreinput: review: https://github.com/rakudo/rakudo/commit/f26fcba65d
09:43 psch \o
09:44 FROGGS aha
09:45 bartolin_ moritz: that's much better. OTOH I'm still curious what caused the high IO wait and I'd like to see some stats when FROGGS's scripts are running (before and after a reboot).
09:45 FROGGS hi psch
09:45 FROGGS bartolin_: I can run them now
09:45 * psch saves all his buffers on hack
09:45 FROGGS they do not seem to cause trouble when I run them from outside from cron anyway
09:45 bartolin_ FROGGS: would be great :-)
09:48 laouji joined #perl6
09:50 Foxcool joined #perl6
09:53 FROGGS bartolin_: running it now
09:53 Foxcool joined #perl6
09:55 moritz was just a small load spike
09:58 FROGGS there was just a single report in the queue triggering one dist to be calculated etc
09:58 virtualsue joined #perl6
09:58 timotimo o/
09:58 FROGGS hi timotimo
10:01 chenryn joined #perl6
10:01 bartolin_ FROGGS: ok, there was nothing special regarding io wait. could you easily simulate a run with data for all dists? (I want to test whether database inserts/updates have any impact. alternatively maybe we could use a test database?)
10:02 FROGGS hold on
10:04 FROGGS bartolin_: you are ready?
10:05 bartolin_ FROGGS: yep
10:05 FROGGS started
10:05 FROGGS this should be now that maximum work package per run
10:08 moritz so far, the load doesn't rise to ridiculous heights
10:10 pecastro joined #perl6
10:10 dalek nqp: d86c3c5 | peschwa++ | src/HLL/Compiler.nqp:
10:10 dalek nqp: Adjust reading new code for the NQP REPL, jnthn++.
10:10 dalek nqp: review: https://github.com/perl6/nqp/commit/d86c3c5d1c
10:11 RabidGravy so, regarding my question above what does the signature "&emit=-> $_ { }" mean for http://doc.perl6.org/type/Supply#method_tap?
10:12 bartolin_ interesting. it's running for quite a while now. in what interval was it started via crontab?
10:12 edward joined #perl6
10:12 jnthn RabidGravy: = means "default value if none supplied"
10:12 jnthn -> $_ { } is just a pointy block that takes an argument and throws it away
10:12 FROGGS bartolin_: there were jobs every minutes, every five minutes and every 30 minutes
10:12 jnthn Not sure why $_ as -> $ { } woulda been enough here.
10:12 FROGGS bartolin_: and the jobs were protected by lock files
10:12 jnthn Though no problem.
10:13 moritz jnthn: to make it very clear that it's not a hash, I think
10:13 bartolin_ FROGGS: aha. I'll wait until it's finished and take a closer look at the locks.
10:14 RabidGravy got ya
10:15 jnthn moritz: But a pointy block can never be confused for a hash? :)
10:15 virtualsue_ joined #perl6
10:15 moritz oh
10:15 moritz $ vs $_
10:20 dalek doc: 5c1a589 | moritz++ | lib/Type/Supply.pod:
10:20 dalek doc: Try to make Supply.tap signature clearer, RabidGravy++
10:20 dalek doc: review: https://github.com/perl6/doc/commit/5c1a589e39
10:21 chenryn joined #perl6
10:23 timotimo jnthn: what'd be your favored answer for the Scheduler and ThreadPoolScheduler doc pages regarding the signature of .cue? currently cue is documented on Scheduler (which doesn't restrict the signature) and it has two errors in it ...
10:25 FROGGS bartolin_: that's what was activated in the crontab when the last hack-crash happened: https://gist.github.com/FROGGS/6a6d6f54214f8d2e0837
10:26 RabidGravy moritz, yeah that's clearer the lack of white space caused my brane to parse it as if =-> was some symbol I hadn't encountered before ;-)
10:26 FROGGS bartolin_: the jobs are here: https://github.com/perl6/cpandatesters.perl6.org/tree/master/jobs
10:26 jnthn timotimo: http://doc.perl6.org/routine/cue#role_Scheduler looks correct
10:26 bartolin_ FROGGS: thanks!
10:26 FROGGS bartolin_: the job is done now btw
10:26 FROGGS lunch &
10:26 jnthn timotimo: A scheduler should be capable of doing those things.
10:27 jnthn timotimo: But the one on http://doc.perl6.org/type/Scheduler looks the same to me?
10:30 Alina-malina joined #perl6
10:30 timotimo TPS has 1) the code object as a positional, 2) also a :&stop option
10:32 jnthn What on earth is :&stop?
10:32 jnthn Oh, maybe a predicate that can be used for cancellation...
10:33 jnthn I think having the code object as a positional makes sense.
10:33 jnthn It's the one thing that actually is required
10:39 bartolin_ moritz: ooc, at what time did you change the mount options for / and /home on hack? was it before froggs started his job or afterwards?
10:40 bartolin_ moritz: before 12:05 localtime or later?
10:41 bartolin_ moritz: ah, I see, it was before.
10:47 moritz bartolin_: before
10:48 timotimo jnthn: i'll go ahead and change the documentation to show the code object as a positional; should i also put the :&stop argument in there and describe its function?
10:49 timotimo i wonder if the stop predicate should get an argument, for example the return value of the last run of the code object?
10:49 timotimo though it would be just as easy to pass that through a lexical both the code object and the stop predicate close over
10:49 jnthn I think we should call it cancel rather than stop really
10:49 jnthn But I need to ponder that a bit more
10:50 jnthn But ideally if we have such a predicate we would test it *before* doing the work
10:50 timotimo so it would also be called before the very first time we invoke the code object?
10:50 jnthn Yeah
10:51 jnthn So you can use it to cancel runs-once things
10:51 jnthn Let me think about it a little more though... (can't right now, doing a few $dayjob tasks)
10:54 timotimo OK
10:55 bartolin_ FROGGS, moritz: if the jobs had been running with the old settings, I would have said that they couldn't have been the culprint. IO utilization was somewhat higher for about 2 minutes (right after the start of the jobs), but that was nothing that should impact the system noticable. OTOH with the old settings that could or could not have been different.
10:56 bartolin_ I'd leave the remote logging active and hope the problem does not resurface.
10:59 moritz bartolin_: fwiw I've only changed the mount options, the changed KVM settings aren't yet active
10:59 bartolin_ moritz: the throughput is 1.6 MB/s now
11:00 bartolin_ so the mount options were the main obstacle, obviously
11:06 yqt joined #perl6
11:14 chenryn joined #perl6
11:14 virtualsue joined #perl6
11:15 pdcawley joined #perl6
11:20 virtualsue_ joined #perl6
11:21 moritz bartolin_: I guess that means I ruined your measurements. Sorry about that.
11:24 bartolin_ moritz: no big deal. it's not what I was looking for, but we know now that the jobs are not problematic wrt IO wait (with the new mount options(.
11:27 aborazmeh joined #perl6
11:27 aborazmeh joined #perl6
11:41 Sqirrel joined #perl6
11:45 tinyblak joined #perl6
11:48 lichtkind joined #perl6
12:00 Akagi201 joined #perl6
12:01 Akagi201_ joined #perl6
12:21 dalek Heuristic branch merge: pushed 17 commits to doc by paultcochrane
12:23 rindolf joined #perl6
12:30 aborazmeh joined #perl6
12:30 aborazmeh joined #perl6
12:34 Ven are hyper-ops never lazy
12:34 moritz Ven: hyper is basically the oposite of lazy
12:35 Ven mmh, I see where you're coming from
12:35 Ven m: say (0..* Z+ 0..*)[3]
12:35 camelia rakudo-moar 02e1e9: OUTPUT«6␤»
12:35 Ven okay, I guess that's it for my question
12:43 dalek perl6-examples: 72d680d | paultcochrane++ | / (2 files):
12:43 dalek perl6-examples: collect-example-metadata sets examples-metadata attribute
12:43 dalek perl6-examples:
12:43 dalek perl6-examples: ... instead of returning the value.  This can now be shared with other
12:43 dalek perl6-examples: methods to increase cohesion.
12:43 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/72d680d858
12:43 dalek perl6-examples: e8e5490 | paultcochrane++ | t/004-website-basic.t:
12:43 dalek perl6-examples: Remove unnecessary create-category-dirs call
12:43 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/e8e549082e
12:43 dalek perl6-examples: 5afb69f | paultcochrane++ | / (2 files):
12:43 dalek perl6-examples: Use examples-metadata attr in write-category-indices
12:43 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/5afb69f9bf
12:43 dalek perl6-examples: 355906b | paultcochrane++ | / (2 files):
12:43 dalek perl6-examples: Use examples-metadata attr in write-example-files
12:43 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/355906b7ca
12:45 raiph joined #perl6
13:00 xfix joined #perl6
13:05 Alina-malina joined #perl6
13:28 rindolf joined #perl6
13:28 tinyblak joined #perl6
13:38 RabidGravy joined #perl6
13:38 PerlJam So ... I'm reading http://okmij.org/ftp/meta-programming/StagingNG.pdf and it seems related to Perl 6 but mostly in that it talks about things we already do?  My brain isn't fully engaged this morning yet, but if someone else wants to mine that publication for any useful info, there it is.  :)
13:38 yoleaux 29 Mar 2015 11:52Z <nine_> PerlJam: re http://irclog.perlgeek.de/perl6/2015-03-27#i_10352333 support for named arguments was rather more involved than just an additional multi method p6_to_p5 since I first need to handle named arguments at all and then flatten them into the P5 argument list. This is the only case where arguments are not a 1:1 mapping.
13:39 PerlJam nine++
13:40 yqt joined #perl6
13:55 fhelmberger joined #perl6
13:58 [Coke] nqp-parrot still failing.
13:59 [Coke] https://github.com/perl6/nqp/issues/226
14:04 eli-se joined #perl6
14:08 Sqirrel joined #perl6
14:08 dalek joined #perl6
14:10 ab5tract o/ #perl6
14:10 ab5tract [Coke]: i thought we agreed not to worry about Parrot anymore?
14:10 [Coke] ~~
14:10 [Coke] at the rakudo level.
14:11 [Coke] we also agreed that we would continue to support nqp-parrot.
14:11 ab5tract okay, i missed that part :/
14:14 jnthn [Coke]: We changed the semantics of index a little in Moar and in the JVM impl. The most direct change would be tweaking Parrot; otherwise we'd need to implement a Parrot op that has the semantics we want.
14:14 jnthn (uh, a dynop)
14:15 ab5tract m: my  $x = 10; for ^4 -> $x { say $x+1 }; # I was under the impression that this kind of ambiguity was disallowed
14:15 camelia rakudo-moar 02e1e9: OUTPUT«1␤2␤3␤4␤»
14:15 PerlJam ab5tract: what ambiguity?  :)
14:15 moritz ab5tract: -> $x scopes the $x to inside the block, so there's no ambiguitiy
14:16 PerlJam what moritz said
14:16 timotimo yeah, it's just a pointy, and the bit between -> and { is the signature
14:16 jnthn m: my $x; { say $x; my $x; } # this is the disallowed you're likely thinking of
14:16 camelia rakudo-moar 02e1e9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/V5o5Lrs9MF␤Lexical symbol '$x' is already bound to an outer symbol;␤the implicit outer binding must be rewritten as OUTER::<$x>␤before you can unambiguously declare a new '$x' in this scope␤at /tmp/V5o5…»
14:16 ab5tract jnthn: precisely that, but i couldn't get that failure mode
14:17 PerlJam ab5tract: a pointy block is similar to a sub declaration and $x is just a parameter to that "sub"
14:18 skids joined #perl6
14:18 ab5tract PerlJam: I got that part, but I would have expected it to hit the same rule as jnthn's example. doesn't matter to me that it is in the sub declaration vs declared in the lexical block
14:18 ab5tract but I'm not the compiler ;)
14:19 PerlJam okie.  (I was just trying different words to see if anything clicked :)
14:19 ab5tract jnthn: so it only seems to matter that you access $x before your re-declaration?
14:19 moritz well, it is a bit inconsistent, because signatures are the only place where the scope of a variable can leak out of a block a bit
14:19 jnthn ab5tract: No, I didn't re-declare. :)
14:19 ab5tract m: my $x; { my $x = 10; say $x + 1; }
14:19 camelia rakudo-moar 02e1e9: OUTPUT«11␤»
14:20 ab5tract jnthn: okay, sorry I am trying to dodge the pedantry, but it is difficult
14:20 ab5tract the "reuse of the variable name which is already declared in the outer scope"
14:21 jnthn ab5tract: It's fine to use the same name again in an inner scope; plenty of things rely on that.
14:21 jnthn Though you most often take advantage of it with (multi) subs.
14:21 ab5tract I know it is acceptable from the point of view of lexical scoping
14:22 jnthn The problem in the one we do warn about is that a lexical variable doesn't exist (to the compiler, but also in the mind of the reader) until its declaration.
14:22 ab5tract but why you would draw the line at { say $x; my $x } as opposed to { my $x; say $x } is what confused me
14:22 ab5tract AH
14:22 jnthn And so when we encounter a use in a block that later declares the variable, it's ambiguous which we meant.
14:25 ab5tract okay. I want to be clear that I'm not complaining about lexical scoping. Only that _most_ of the time you encounter variable name reuse in this way, it would have been easier all around if the dev could have just chosen a unique name in the first place
14:26 ab5tract at least we have sigil invariance now... that solves the worst case of this problem in my experience
14:31 raiph joined #perl6
14:31 arnsholt o/ # Hello on a train!
14:32 * arnsholt is happy with Rakudo/Moar performance
14:32 arnsholt 35 seconds real time to read in ~7000 lines from file and insert them into Postgres is perfectly reasonable
14:33 RabidGravy :-O
14:33 jnthn It's not *that* good :P
14:34 arnsholt jnthn: I know, but frankly I don't particularly care if it could be 10 seconds =)
14:34 jnthn Well, performance is always contextual :)
14:35 arnsholt Yep. I think the job munging 50 megs of data into the DB might take a wee bit longer though =)
14:35 timotimo arnsholt: can has --profile perhaps?
14:35 RabidGravy I'd put that at about 100,000 rows into FoxPro on an 80Mhz computer
14:35 timotimo RabidGravy: yup, rakudo performance is at least one order of magnitude slower than what it could/should be :P
14:35 arnsholt RabidGravy: And seven man years of debugging the C code that does it =p
14:36 arnsholt timotimo: Not sure if the profile for this job is the most interesting
14:36 arnsholt This next job is probably more interesting
14:37 timotimo ah
14:37 spider-mario joined #perl6
14:37 timotimo i don't wanna look at it, most likely it's 50% time spent in reify and gimme again :\
14:38 arnsholt Probably not, actually
14:38 arnsholt More likely it'll spend oodles of time in grammar stuff =)
14:39 moritz or in the nativecall wrapper functions
14:39 arnsholt Or that
14:40 eli-se joined #perl6
14:40 RabidGravy also the last time I benchmarked it the PostgresSQL start up was really costly, for a sufficiently small number of rows it always came at worse than e.g. CSV or xBase
14:41 moritz RabidGravy: where by "start up" you mean connecting to the postgresql server?
14:41 moritz RabidGravy: and if so, via TCP? Or local UNIX socket?
14:42 arnsholt This next job is nudging into non-trivial data set size; 700k rows
14:42 RabidGravy moritz, er, yes and oh god no I can't remember
14:42 RabidGravy ;-)
14:43 arnsholt Oh, and I really like that I can have dashes in my variable names now =D
14:44 moritz RabidGravy: well, over TCP it does a full SSL handshake, which is always slowish
14:46 PerlJam arnsholt: me too.  Makes my lazy pinky no longer a problem.  No more will I accidentally type variable names like_This or occasionally like_THis when I mean them to be like_this
14:49 zoosha joined #perl6
14:58 muraiki joined #perl6
15:04 masak good afternoon, #perl6
15:04 TimToady m: my (\a,\b) = 1,2; say a
15:04 camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
15:05 TimToady seems like a bug
15:06 * masak submits rakudobug
15:06 jnthn That should either DWYM or whine, I guess.
15:06 TimToady m: my (\a,\b) := \(1,2); say a
15:06 camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
15:06 TimToady m: my (\a,\b) ::= \(1,2); say a
15:06 camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
15:06 jnthn OK, *that* one certainly should work.
15:07 jnthn The assignment one is more dubious.
15:07 rararara joined #perl6
15:07 jnthn But silently failing is certainly wrong.
15:07 Sqirrel joined #perl6
15:10 masak m: my ($a, $b) = 1, 2; say $a
15:10 camelia rakudo-moar 02e1e9: OUTPUT«1␤»
15:10 masak m: my \a = 1; say a
15:10 camelia rakudo-moar 02e1e9: OUTPUT«1␤»
15:10 masak since those two work, I'd expect TimToady's first one to work.
15:10 TimToady m: my (\a) = 1; say a
15:10 camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
15:10 jnthn masak: That's not obvious.
15:11 masak jnthn: just talking about my expectations.
15:11 jnthn masak: \a variables are SSA and we don't create a container.
15:11 TimToady m: my ($a where +*, $b) = 1,2; say $a
15:11 camelia rakudo-moar 02e1e9: OUTPUT«1␤»
15:11 TimToady m: my ($a where +*, $b) = 0,2; say $a
15:11 masak m: my ($a, \b) = 1, 2; say $a; say \b
15:11 camelia rakudo-moar 02e1e9: OUTPUT«0␤»
15:11 camelia rakudo-moar 02e1e9: OUTPUT«1␤\((Any))␤»
15:11 jnthn masak: Yes, I'm telling you why they might be broken.
15:11 masak m: my ($a, \b) = 1, 2; say $a; say b
15:11 camelia rakudo-moar 02e1e9: OUTPUT«1␤(Any)␤»
15:11 TimToady m: my ($a where +*, $b) ::= 0,2; say $a
15:11 camelia rakudo-moar 02e1e9: OUTPUT«Constraint type check failed for parameter '$a'␤  in block <unit> at /tmp/0madUrIw8m:1␤␤»
15:12 TimToady we should probably refuse to turn a siggie with a 'where' into an assignation
15:12 arnsholt ~4 minutes to parse 77k lines (39k DB rows), not too hot, I guess =)
15:12 jnthn I *thought* we had something in place that looked at signatures and complained if they had anything that made them too complex to drop to a simple list of containers.
15:12 masak m: my (\a, \b); (\a, \b) = 1, 2; say a
15:12 camelia rakudo-moar 02e1e9: OUTPUT«Cannot modify an immutable Capture␤  in method STORE at src/gen/m-CORE.setting:9123␤  in block <unit> at /tmp/7sw5ZFw8cf:1␤␤»
15:13 masak m: my (\a, \b); (\a) = 1; say a
15:13 camelia rakudo-moar 02e1e9: OUTPUT«Cannot modify an immutable Capture␤  in block <unit> at /tmp/yrN0c29rfU:1␤␤»
15:13 jnthn That is certainly correct
15:13 masak m: my (\a, \b); \a = 1; say a
15:13 camelia rakudo-moar 02e1e9: OUTPUT«Cannot modify an immutable Capture␤  in block <unit> at /tmp/v3Z1Q80Ld7:1␤␤»
15:13 masak right.
15:13 jnthn m: my ($a, *@b) = 1, 2;
15:13 camelia rakudo-moar 02e1e9: ( no output )
15:13 jnthn Hmm
15:13 * arnsholt runs again with --profile
15:14 jnthn I must be mis-rememebering or something.
15:14 arnsholt Segfault. Yaaay /o\
15:16 fhelmberger joined #perl6
15:17 masak #124210
15:17 masak ENOSYOPSEBOT
15:17 masak https://rt.perl.org/Ticket/Display.html?id=124210
15:17 tadzik :o
15:19 tadzik what happened to it :o
15:20 tadzik it should probably be moved from feather to p6c soonish
15:20 synopsebot joined #perl6
15:20 tadzik botsnack
15:20 tadzik botsnack!
15:20 tadzik grr
15:20 tadzik synopsebot: botsnack!
15:20 flussence botsnuckaway /o\
15:21 tadzik what a fraud
15:21 tadzik can't fix it now, gotta run to batmobile
15:23 masak batsnack
15:27 TimToady suppose there were a Tuple role that provided a .tuple method that turned any ordered representation into a list, then suppose subsigs could use that on non-Positional types
15:27 TimToady then we could have sigs like (Range ($min,$max)) or (Pair ($k,$v)) or (Complex($r,$i))
15:28 TimToady doesn't have to be named "tuple" of course
15:28 jnthn Unfortunately, sub foo([$head, *@tail]) would then behave differently when called with foo(1..10) or foo(my @a = 1..10)
15:29 TimToady well, [] already requires Positional, doesn't it?
15:29 TimToady and () doesn't?
15:29 jnthn Sure
15:29 jnthn m: say Range ~~ Positional
15:29 camelia rakudo-moar 02e1e9: OUTPUT«True␤»
15:29 TimToady hmm
15:29 jnthn m: sub foo(@a) { }; foo(1..10)
15:29 camelia rakudo-moar 02e1e9: ( no output )
15:30 jnthn That'd break if we make Range not be Positional.
15:30 Tux__ Inline::Perl5 still fails with panda. maybe because of
15:30 Tux__ The distribution File::Temp does not seem to have a "provides" section in its META.info file,
15:32 telex joined #perl6
15:32 sirdancealot joined #perl6
15:36 PerlJam Tux__: Hold on a minute, I'll fix it (File::Temp)
15:36 * Tux__ hops on his chair in excitement :)
15:38 Tux__ Int.Range[45] is not very useful though
15:39 PerlJam Is there a "META.info checker" program in existence yet/
15:39 PerlJam ?
15:40 jnthn PerlJam: No, but you can always diff it to what gen-meta produces :)
15:40 jnthn Or try and install it using your META.info I guess...
15:41 perigrin left #perl6
15:41 PerlJam That second thing is what I did.  Where's gen-meta?
15:42 retupmoca if you try installing it to test, remember that the panda test step will work even if your provides are wrong
15:42 retupmoca so you need to run a test or two against the installed version
15:43 jnthn PerlJam: panda gen-meta --ver=v1 or so should produce you a proposed META.info
15:44 PerlJam danke.
15:46 FROGGS timotimo: ohh, you are supposed to get something from me....
15:46 * FROGGS feels p6weakly
15:47 Tux__ more panda strangenesses https://gist.github.com/Tux/0606809efcdc9b545c62
15:49 [Coke] lizmat: https://github.com/perl6/roast/commit/04af9e7f9a4b325530d775897c4365ec50846109 changed the order of the int/uint types, guessing that was accidental?
15:50 FROGGS Tux__: you sadly need to wait a while to install File::Temp via panda+git... its META.info was just fixed minutes ago
15:50 FROGGS Tux__: though you can clone it and do 'panda install .' in its repo
15:50 Tux__ look at that gist again
15:50 Tux__ bin/panda fails as it thinks it has to be run as perl6
15:51 FROGGS Tux__: yes, that is another issue
15:51 Tux__ and File::temp reported "installed" (less than minutes ago) and then was still not found
15:51 FROGGS Tux__: that is what I explained
15:51 Tux__ ah
15:52 * Tux__ waits a few minutes more :)
15:52 FROGGS Tux__: it installs File::Temp, but the installed one has no provides section
15:53 Tux__ ah, now I get it. The installed version *also* needs a provides section
15:53 FROGGS yes
15:53 FROGGS so you can find it after installation
15:53 hoelzro o/ #perl6
15:53 FROGGS I'm on the phone right now so I cant think properly
15:54 * PerlJam wishes he had an "autocorrect" feature for when editing a JSON doc such that => appropriately turns into a :
15:55 FROGGS hehe, a fat comma is json :P
15:55 skids I just keep my meta in yaml and gen the json :-)
15:55 TimToady presumably a Tuple role could also provide a default positional constructor for free, rather hardwiring one for things like Complex
15:56 PerlJam FROGGS: I tend to confuse myself and think more in a Perl context than a JSON context.
15:56 FROGGS yeah, me too
15:56 masak TimToady: if you want prior art, Python already has a tuple type such as the one you describe.
15:57 TimToady yes, I know
15:57 masak just checking :)
15:57 TimToady that's just one of the reasons I want it :)
15:58 TimToady it's one of those easily abusable features, like placeholders, and yet it's really handy for certain vectory types
15:58 molaf joined #perl6
15:58 masak last time we talked about this, I remember us toying with the idea of a Parcel acting as a tuple (with a predictable .WHICH) just as long as you don't mutate it.
15:58 lucas0 joined #perl6
15:59 gfldex joined #perl6
15:59 flussence .oO( /me finds it ironic that I'm hacking on the perl6 profiler because *the javascript* is too slow... )
15:59 Tux__ skids, I keep my META in perl5 and generate both yaml and json
15:59 skids Tux__++ wins
15:59 PerlJam indeed.  Tux__++  :)
16:00 masak Tux__++
16:01 skids Maybe right after everyone has adjusted to "provides" then we hit them with the META6.json change, just to be ascerbic?
16:01 * ugexe has been using META6.json for all his projects not on the ecosystem list
16:02 FROGGS skids: :S
16:02 FROGGS skids: but yeah, that will happen for uploads to CPAN at least
16:02 * Tux__ does not have the faintest idea of what ascerbic means
16:03 FROGGS skids: but there is no reason to not support both for panda+git
16:03 rindolf joined #perl6
16:03 skids *acerbic
16:04 skids .oO(My spelling continues to deteriorate over time)
16:04 Tux__ sour, harsh or severe
16:05 TimToady masak: I suppose one could pun a Tuple role and get an actual tuple, but I'm thinking more of it as composed into tuple-like classes
16:06 hoelzro I noticed a change FROGGS made to raydiak's pray over the weekend; adding provides to META.info for S11 compliance.  I don't see mention of "provides" in S11, though; where is that documented?
16:07 skids S22
16:07 TimToady though punning a role that doesn't allocate storage seems a bit weird; at minimum we might require (1,2,3) but Tuple to get a bare tuple type
16:07 * Tux__ just checked and was kinda surprised his Text::CSV's META.info already has provides :)
16:08 TimToady or Tuple(1,2,3) as a coercion, perhaps
16:08 hoelzro ah, thanks skids
16:08 hoelzro why is it called S11 compliance, then?
16:08 lucas0 m: sub f { fail 'hi' }; constant Foo = f; say Foo.WHAT
16:08 camelia rakudo-moar 02e1e9: OUTPUT«(Failure)␤»
16:08 lucas0 m: constant Foo = fail 'hi'
16:08 camelia rakudo-moar 02e1e9: OUTPUT«===SORRY!===␤P6opaque: invalid native access to object attribute␤»
16:09 TimToady but I'm kinda liking the idea of biasing the subsig toward Tuple if it's (), and toward Positional if it's []
16:09 lucas0 ^^^ Strange error?
16:09 skids hoelzro: Dunno.  Maybe S22 content was split from S11 or something.
16:09 captain-adequate joined #perl6
16:10 TimToady so you'd *have* to write [$head, *@tail] if you really want to unpack a Range, rather than ($head, *@tail)
16:10 masak TimToady: ah, I think I see better what you mean to use Tuple for now.
16:10 TimToady it always bothered me a bit that [] and () were so poorly differentiated as subsigs
16:10 masak TimToady: ...that seems like a rather minor use case to me.
16:10 TimToady I like to put features further apart than that
16:11 larion joined #perl6
16:11 TimToady I think we'd see lots of Ranges, Pairs, and Complex unpacked that way
16:11 TimToady esp pairs
16:11 Perl6_newbee joined #perl6
16:12 TimToady you could even do (Pair (\h,\t)) and not bother with *@ at all
16:12 TimToady for "cons" lists
16:12 spider-mario is it planned to eventually distribute Inline::Perl5 with R*?
16:12 timotimo FROGGS: yeah, you're going to give me a quick list of features that are new with panda/eleven landing
16:13 TimToady for %hash -> (\k,\v) { ... }
16:13 hoelzro skids: must have been
16:13 eli-se joined #perl6
16:13 FROGGS timotimo: you'll get that in about two hours... does that suffice?
16:13 hoelzro skids: do you know why S22 talks about META6.json, rather than the seemingly more popular META.info?
16:14 * hoelzro is confused on which is right for a new distribution
16:14 raiph joined #perl6
16:14 PerlJam hoelzro: META6.json is the new META.info
16:14 timotimo FROGGS: yeah, good enough :)
16:14 hoelzro PerlJam: so I should convert META.info in my dists to META6.json?
16:14 skids I remember seeing a decision to change from META.info to META6.json go by on IRC.  Wasn't paying too much attention as to why.
16:14 hoelzro does panda read META6.json?
16:14 PerlJam hoelzro: I don't think that panda uses META6.json yet, but I could be wrong
16:14 eli-se what a wonderful day
16:15 skids hoelzro: not the last time I looked.
16:15 PerlJam skids: so CPAN + Perl5 + Perl6 could all play well together.
16:15 tony-o timotimo: going to merge those PRs for http-server=async
16:15 yoleaux 28 Mar 2015 15:16Z <timotimo> tony-o: like for example the timeout worker keeps closing connections over and over because they are not being thrown out of the pool
16:15 yoleaux 29 Mar 2015 00:53Z <timotimo> tony-o: i have a problem with HTTP::Server::Async; if i set buffered to true, EventSource won't work because writing to the response will not give the browser any data
16:15 yoleaux 29 Mar 2015 00:54Z <timotimo> tony-o: but if i set it to false, waiting for a request's promise to signal that all the data has arrived takes a long time in which the server just waits ... maybe it doesn't handle content-length properly?
16:15 yoleaux 29 Mar 2015 00:56Z <timotimo> tony-o: i think i've switched the two around, though. but you know ...
16:15 yoleaux 29 Mar 2015 00:58Z <timotimo> tony-o: i don't expect making $.buffered rw on the response would be absolutely terrible. it was my first instinct to do that, but that caused an exception that didn't get printed due to SCHEDULER problems OSLT
16:15 yoleaux 29 Mar 2015 01:52Z <timotimo> tony-o: i'm wishing for something that'd let me know if the connection that belongs to a Response object gets terminated by the client
16:15 tony-o snap
16:15 timotimo oh hey tony-o :)
16:15 tony-o hey hey
16:15 timotimo gasp, someone actually uses HSA ;)
16:15 PerlJam tony-o: you're a popular guy ... or timotimo is stalking you  ;)
16:15 hoelzro so the best thing to probably do for now is symlink META6.json to META.info?
16:16 tony-o PerlJam: haha
16:16 TimToady hey hey, we're the MONKEE-TYPES
16:16 FROGGS hoelzro: it does not yet read META6.json, but I'll patch it to read both
16:16 hoelzro ok, cool
16:16 PerlJam hoelzro: I think so.  (I think they were incompatible in the past but that's not so anymore; maybe FROGGS can confirm)
16:17 hoelzro should S22 be patched to mention that META.info is the legacy format these days?
16:17 TimToady maybe lax mode should be called 'use MONKEE;'
16:17 FROGGS hoelzro: no
16:17 FROGGS hoelzro: let's silently deprecate META.info
16:17 TimToady "we're too busy singing to put anybody down..."
16:18 hoelzro ok
16:19 TimToady actually, would probably have to be 'use MONKEES®;' or so
16:21 tony-o timotimo: does the '$*SCHEDULER.cue .. :in'  mechanism not just cue once or are you saying that it's closing long open requests that shouldn't be closed?
16:22 tony-o i could see it causing issues with pipelining, now that you've brought it up
16:23 tony-o also, do you have a repo or something i can look at where it's taking a long time for the server to signal end of request?
16:25 timotimo the problem with the timeout worker closing connections over and over was based on an older commit
16:25 timotimo i was dumb enough not to check out latest master :S
16:25 tony-o ah okay
16:26 timotimo i have not checked if it's still an issue
16:26 timotimo i think for EventSource (and later perhaps WebSockets) i need a way to tell HSA not to close my connection after some time
16:26 tony-o it did bring up that pipelining a request doesn't reset that time out
16:26 timotimo ah, good point, too
16:26 tony-o that too ^
16:27 timotimo i'm glad to see you're back; i was worried for a bit that you might have disappeared for an unknown period of time
16:27 timotimo so, how do you feel about making $.buffered rw for Response?
16:27 tony-o nah i was fighting political crap at work and it occupied most of my time, now i'm back to developing
16:28 timotimo yay :)
16:28 timotimo politics can suck out all of your energy sometimes :(
16:28 timotimo i'd also accept a method "flush" for response that would empty out the buffer on command
16:28 tony-o i think it could work, i was thinking calling it .unbuffer so we can change .buffered to false and then flush the cache
16:28 timotimo that seems like a good idea
16:28 lucas0 m: my True $x; say $x
16:28 camelia rakudo-moar 02e1e9: OUTPUT«True␤»
16:28 tony-o so we'd use .unbuffer and and .rebuffer
16:29 lucas0 m: my (True $x); say $x
16:29 camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
16:29 lucas0 ^^^ I know, this is nonsense code, but it could be more consistent :)
16:29 psch m: my (Str $x); say $x
16:29 camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
16:32 lucas0 psch: oh, so it's a known bug. I wasn't aware.
16:33 psch lucas0: i'm not sure it's known.  it's consistent fwiw, but probably not in the way it should be
16:33 psch i was mostly curious about the consistency, tbh
16:34 timotimo tony-o: want to see my "web app" code?
16:34 bartolin_ m: my (Str $x); $x = 3; say $x # at least this is somewhere in RT
16:34 camelia rakudo-moar 02e1e9: OUTPUT«3␤»
16:34 timotimo to get a feel for how "other people" use your module?
16:34 tony-o timotimo: yea
16:36 timotimo did the perl6 organisation on github sign up for private repositories yet?
16:36 timotimo iirc github will give that to any open source organisation or nonprofit or something like that
16:38 bartolin_ m: my ($x0, \x1) = (1, 2); say $x0; say x1 # already in RT 117043 and has a test in roast
16:38 camelia rakudo-moar 02e1e9: OUTPUT«1␤(Any)␤»
16:38 bartolin_ erm, RT #117043
16:38 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=117043
16:40 tony-o m: my ($x0, \x1) = 1,2; say $x0; say x1;
16:40 camelia rakudo-moar 02e1e9: OUTPUT«1␤(Any)␤»
16:41 kjs_ joined #perl6
17:00 Patterner joined #perl6
17:05 raiph joined #perl6
17:06 Tux__ The link in http://design.perl6.org/S22.html#license to "Software::License" is pointing to the wrong direction (404)
17:13 arnsholt Oh, nice. My big files trigger core dumps
17:23 larion joined #perl6
17:26 colomon joined #perl6
17:31 muraiki hi all. I just built rakudo + moar + Inline::Perl5. all of the tests pass, but when I try to use Inline::Perl5 in a repl I get the error "unable to find Inline/p5helper.so IN @*INC"
17:31 yoleaux 29 Mar 2015 11:53Z <nine_> muraiki: foo(bar => 1, baz => 2) works now as intended in Inline::Perl5
17:31 tinyblak joined #perl6
17:31 muraiki oh, thanks for fixing that nine_ :D
17:32 timotimo i wonder, how far back can we go in time and still have Inline::Perl5 be implementable without difficulty?
17:33 muraiki yeah I seem to be great at breaking it :n
17:33 eli-se joined #perl6
17:36 yqt joined #perl6
17:41 colomon TimToady++
17:42 larion joined #perl6
17:47 kjs_ joined #perl6
17:47 sjn joined #perl6
17:48 ShimmerFairy joined #perl6
17:55 TimToady what, for 'use MONKEES;'?  :)
17:56 eli-se I love Perl 6!
17:56 eli-se I prefer 'use MONIES;' but I'm afraid I need Java for that. :[
17:57 eli-se Luckily Perl 6 runs on the JVM!
17:58 kjs_ joined #perl6
17:59 FROGGS joined #perl6
18:01 kjs_ joined #perl6
18:05 * FROGGS .oO( <wife making hasperat>».++ )
18:06 larion joined #perl6
18:06 vendethiel El_Che: hahaha
18:07 colomon TimToady: for “Using both left and right associativity at the same precedence level is not prohibited, but is likely to drive you mad, unless of course you were mad in the first place, which seems almost a certainty by this point.”
18:08 * TimToady bows
18:10 vendethiel sounds like something I'd read in my perl book :P
18:11 TimToady that bit of writing may yet find its way into a book :)
18:11 FROGGS that would be a nice Christmas present :o)
18:12 TimToady well, I'm still concentrating on having something to write a book *about*, so far
18:12 FROGGS sure
18:12 * FROGGS rephrases it to "that would be a nice Christmas future"
18:13 brrt joined #perl6
18:13 colomon +1
18:13 * TimToady is trying and failing to implement (...) in terms of <args>, which apparently pre-seeds the ast with a call node
18:13 FROGGS \(.,.)/
18:14 TimToady o,O
18:14 FROGGS :D
18:17 raydiak g'morning #perl6
18:20 RabidGravy joined #perl6
18:22 muraiki good afternoon
18:22 muraiki hehe
18:22 raydiak :)
18:23 raydiak FROGGS++ thanks again! I'd love to be able to merge the only PR I've ever received; didja see my comment?
18:24 FROGGS raydiak: I've seen it, and will tweak it in a bit :o)
18:24 raydiak cool beans
18:24 dalek perl6-examples: 83a3a67 | paultcochrane++ | / (2 files):
18:24 dalek perl6-examples: Rename collect-example-metadata -> collect-all-metadata
18:24 dalek perl6-examples:
18:24 dalek perl6-examples: This is because it collects metadata for all examples
18:24 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/83a3a67216
18:24 dalek perl6-examples: b245c5a | paultcochrane++ | lib/Pod/Htmlify.pm6:
18:24 dalek perl6-examples: Extract example file metadata collection into its own routine
18:24 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/b245c5a4c0
18:24 dalek perl6-examples: 8e2abeb | paultcochrane++ | lib/Pod/Htmlify.pm6:
18:24 dalek perl6-examples: Use Categories instead of examples for category keys
18:24 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/8e2abeb2dd
18:24 dalek perl6-examples: d7aec39 | paultcochrane++ | lib/Pod/Htmlify.pm6:
18:24 dalek perl6-examples: Document methods in Website class
18:24 dalek perl6-examples: review: https://github.com/perl6/perl6-examples/commit/d7aec397eb
18:26 FROGGS timotimo: https://gist.github.com/FROGGS/26970309d95afe25e4fc
18:29 FROGGS raydiak: what is wrong with the file paths ooc?
18:30 FROGGS ahh, I think I see
18:31 raydiak FROGGS: half of the modules point at Cylinder.pm and Light.pm instead of the files which provide them
18:32 raydiak I know my style is more than a little careless at times, but even I didn't put vectors, matrices, rays and objects in ::Cylinder :)
18:36 silug joined #perl6
18:39 raydiak .oO( perhaps it'd be better encapsulation to put everything in a ::Cylinder :) )
18:41 xfix Let's put a Mail object into Person as well, so we can have .send-email method.
18:44 flussence .oO( speaking of wonderfully designed APIs, I made the mistake of trying to draw a SVG pie chart using only DOM methods today... )
18:44 raydiak how'd that go?
18:45 flussence I gave up and went back to assembling strings of tags, after it threw an error about some 6th positional parameter being wrong
18:47 raydiak heh ew...6th? too many required params for my taste
18:48 flussence that was the "create arc" method on a <path> (and it only creates it, you have to attach it manually too)
18:49 _edwin joined #perl6
18:51 raydiak hrm...sounds like something that wants to be abstracted away under a more friendly interface
18:51 larion joined #perl6
18:53 flussence tweaking the string representation of it directly is so much easier, I wonder why that API exists at all...
18:54 raydiak dynamic uses, I'd assume, like js-powered animation/interaction
18:57 yqt joined #perl6
19:00 _edwin FROGGS, hi! do you know why "long" is #defined as __int64 for WIN32 in rakudo's t/04-nativecall/08-callbacks.c ?
19:01 _edwin I ask because it breaks this test for my build on Windows. (12-sizeof.t is working find, it does not have that #define)
19:01 FROGGS _edwin: ohh, that is an historical accident
19:01 FROGGS _edwin: we have to remove that, now that we properly support long
19:02 raydiak FROGGS: tyvm, I can merge it like that...is it supposed to have all the modules for each file? now there is none of the lighting subclasses listed (ambient, specular, etc) which reside inside Lighting.pm, but I can add those myself if you'd rather...think the only other missing one is Pray::Scene::Camera::Anaglyph from Camera.pm
19:02 _edwin ok, thanks. will do a pull request if nobody beats me to it
19:02 * _edwin -> dinner
19:03 FROGGS raydiak: you can add extra symbols, this allows to 'use' these symbols... dunno if you are going to do that
19:04 raydiak ah I see...yeah I wasn't aiming for that
19:04 FROGGS raydiak: but it might be nice for a user, since he/she does not need to know what the file is called where the symbols are in
19:05 raydiak well I don't really support using the classes directly at this time, there is some tangles in the API, that's why it's under the App:: namespace
19:11 lichtkind_ joined #perl6
19:16 RabidGravy timotimo, when you mentioned you looking at an EventSource thing was that a client or a server?  I ask because I was thinking of a CouchDB interface and that is the interesting part fpr most people
19:18 rurban_ joined #perl6
19:18 _edwin are all spectests supposed to pass with rakudo HEAD on Windows?
19:18 RabidGravy or to me anyway
19:18 timotimo as a server
19:19 FROGGS _edwin: no, I think we have at least failing tests for unicode stuff in command lines
19:21 timotimo RabidGravy: i've implemented a server. at some point in the near future i'll even look into building gzip support into that
19:21 nwc10 if so, shouldn't they be TODOed conditionally on the OS?
19:21 _edwin windows + command line handling brings up some painful memories
19:21 itz https://status.github.com/messages
19:21 nwc10 "known failing tests" ultimately can get you to such own goals as http://www.cvedetails.com/cve/CVE-2011-3268/
19:21 nwc10 (IIRC)
19:26 nwc10 At the risk of tempting "pride goes before a fall" I found this own goal more impressive: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0830
19:26 nwc10 ... PHP 5.3.9 allows remote attackers to execute arbitrary code ... NOTE: this vulnerability exists because of an incorrect fix for CVE-2011-4885.
19:28 nine_ muraiki: just now successfully installed Inline::Perl5 with rakudo 02e1e998218 and panda 80b407b63d
19:29 muraiki nine_: weird. I'm not sure what's going on. I even completely removed rakudobrew, perl6, and panda, and reinstalled it
19:29 nine_ timotimo: I guess you could go to the point where NativeCall got support for callbacks. Without them implementing Inline::Perl5 would have been quite a challenge.
19:29 muraiki maybe it's related to the cwd build error in perl 5.20.2
19:30 jnthn TimToady: Did you nail the capture thing yet?
19:30 * jnthn can look at it if not :)
19:30 nwc10 jnthn: do some spectests fail on Win32?
19:30 nine_ muraiki: is that your's? https://github.com/niner/Inline-Perl5/issues/17
19:31 muraiki yes
19:31 muraiki sincey ou weren't around I figured that woudl help, hehe
19:31 jnthn nwc10: As of when?
19:32 nwc10 jnthn: question from _edwin about 14 minutes ago
19:32 nine_ muraiki: is your panda up to date as well?
19:33 mohij joined #perl6
19:33 jnthn Ah... No, there's S17 flappage and a few others that need attention, one of them due to a test added a while ago that was sensitive to \r\n issues
19:33 muraiki I did rakudobrew build-panda after installing rakudo and compiling perl6, but if there was some step I also needed to do to make sure I got the latest panda, then I didn't do it :)
19:34 nine_ muraiki: ok. I've never used rakudobrew myself, so I wouldn't know. perlbrewing 5.20.2 right now to see if I can reproduce
19:34 nwc10 jnthn: ah OK thanks. There's some thread-related flappage on x86_64 linux
19:34 dalek rakudo/nom: a56d8b0 | FROGGS++ | src/core/CompUnitRepo/Local/Installation.pm:
19:34 dalek rakudo/nom: fix wrappers installed/generated by CUR::Installation
19:34 dalek rakudo/nom:
19:34 dalek rakudo/nom: A wrapper generated by CUR::Installation should only care about binaries
19:34 dalek rakudo/nom: installed by CUR::Installation. If it would pick up a binary installed by
19:34 dalek rakudo/nom: CUR::File, it would potentially try to EVAL bash scripts. Tux++
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a56d8b0ba3
19:34 timotimo nine_: i kind of sort of wish you would have been around to build Inline::Perl5 like 3 years ago ... would have perhaps put a little damper on all the hate perl6 is getting
19:34 muraiki nine_: thanks. let me know if there's anything else you want me to test. maybe it's a rakudobrew problem.
19:34 _edwin here are the fails I get with rakudo/moar on Windows: https://gist.github.com/edwinst/09ee591440ff4fde19e3
19:35 muraiki I'm really grateful for Inline::Perl5. I think if there's any chance of using perl 6 at my work, it will probably require using Inline::Perl5
19:35 jnthn _edwin: Hm, you ahve some I don't.
19:35 retupmoca nine_: for latest panda, you may be interested in https://github.com/retupmoca/P6-LibraryMake/commit/c45f9f6da558a6f7e989c702bec45e76d5e81991
19:36 muraiki argh light gray text on a white background
19:36 FROGGS _edwin: you've got a 32bit moar build?
19:37 _edwin FROGGS, how can I tell? :} *blush*
19:38 _edwin I just noticed that the autodetection of the x64 toolchain did not seem to work
19:38 nine_ timotimo: oh the irony. In September 2011, I asked on #perl6 how I could help as I was looking for a topic for my bachelor's thesis. I was pointed to S17. So I went and implemented threading support in Parrot as a basis that was never used. In August 2013 I wanted to suggest Perl 5 interop as topic for my master's thesis but it looked like the work on that was already under way and I had a hard time finding something else to do...
19:38 RabidGravy timotimo, ah okay I'm thinking of something to consume
19:39 nine_ timotimo: so in other words, I actually was kind of around
19:39 RabidGravy er *consume* the /changes feed from a coudchdb
19:40 FROGGS m: say $*KERNEL.bits
19:40 camelia rakudo-moar 02e1e9: OUTPUT«64␤»
19:40 FROGGS _edwin: ^^ do that
19:40 _edwin FROGGS, 64
19:41 * PerlJam starts working on that time machine so he can go back to 2011 and suggest to nine that he do Inline::Perl5  ;)
19:41 FROGGS hmmm, then I wonder why that nativecall test failed earlier
19:41 _edwin because sizeof(long) == 4 still
19:42 PerlJam nine_: though, I'm not sure NativeCall was up to snuff in 2011, but maybe you could have made improvements there too :)
19:42 FROGGS m: use NativeCall; say nativesizeof(long)
19:42 camelia rakudo-moar 02e1e9: OUTPUT«8␤»
19:42 FROGGS _edwin: perhaps you've installed a 32bit rakudo on your 64bit box
19:43 _edwin FROGGS, my 64-bit strawberry perl also thinks this: intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678
19:43 FROGGS is that normal?
19:43 _edwin use NativeCall; say nativesizeof(long) --> 4
19:44 _edwin somehow both me and Configure.pl seem to have gotten confused
19:44 * retupmoca has the same on my machine; perl6 built with "Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x64"
19:44 kjs_ joined #perl6
19:44 nine_ retupmoca: thanks. That makes sense as an explanation for muraiki's fail. But I wonder why it then works for me at all...
19:44 retupmoca that is, my nativesizeof(long) == 4 as well
19:45 retupmoca nine_: old installed files maybe?
19:45 ugexe strawberry perl needs to be reinstalled if you get new hardware
19:45 ugexe as alot of that stuff is generated by Config.pm when its built
19:45 nine_ retupmoca: maybe. Nuking my install/ and trying again
19:46 ugexe for example, if you clone your hard drive over to a new one, strawberry perl wont work correctly anymore because it must point at some sort of hardware ID
19:46 _edwin I guess my 32 vs. 64 bit confusion already starts here, probably before the strawberry config is involved: auto-detecting x64 toolchain ....................... NO
19:47 brrt joined #perl6
19:47 bartolin_ a git related question: the other day I created a PR for rakudo (394). I didn't create a branch for that PR in my clone of rakudo. (looks like I should have done that.) now I have some unrelated changes: can I create a branch for those and make a second PR from that branch or should I better close my first PR?
19:48 larion joined #perl6
19:48 bartolin_ (and re-create it from a branch)
19:48 _edwin however, my strawberry claims to be a x64 build, which matches the ptrsize=8, but still says lonsize=4.
19:49 _edwin longsize*
19:49 ugexe is that auto-detecting error with strawbverry perl or rakudo?
19:49 muraiki retupmoca: I fully removed .perl6 and .rakudobrew; did I miss something else?
19:50 PerlJam bartolin_: the other changes came after the commit you submitted for the PR?
19:50 FROGGS my longsize is also 4
19:50 ugexe if its from rakudo you need to run it from within the visual studio command prompt
19:50 FROGGS :/
19:50 bartolin_ PerlJam: no, they are not committed yet.
19:51 _edwin ugexe, moarvm configure, see here: https://gist.github.com/edwinst/f704900183d3fb4fe4e6
19:51 PerlJam oh, then, yeah, make a branch for those changes
19:51 ugexe _edwin: where are you running the install commands from
19:51 PerlJam (and possibly a second PR)
19:52 _edwin ugexe, Visual Studio Command Prompt (2010)
19:52 bartolin_ ok, will do that. thanks, PerlJam++
19:52 ugexe which one
19:52 ugexe oh 2010
19:52 ugexe i dont know anything about 2010
19:53 _edwin ugexe, do you think the environment variables are set wrong, i.e. for 32-bit?
19:53 ugexe in 2012 its VS2013 x64 Native Tools COmmand Prompt
19:53 ugexe in 2013^
19:54 ugexe yes. the vs2013 prompt adds PATH stuff so it can find nmake or whatever it does to determine the toolchain
19:55 ugexe do you have the dmake and/or nmake commands from your command prompt?
19:58 Sqirrel joined #perl6
19:58 _edwin i have used nmake
19:58 _edwin hm, the 64-bit cl seems to be there, but I have no vcvars64.bat
19:59 _edwin i had to go through quite an ordeal when installing the tools, because Visual Studio 2010 and the Windows SDK 7.1 hate each other
20:00 mohij Can anyone explain how zef relates to panda?
20:00 _edwin maybe vcvars64.bat got lost somewhere on the way
20:01 ugexe zef isnt anything yet
20:01 ugexe _edwin: is there a reason you dont want to upgrade to 2013?
20:01 dalek rakudo/nom: 70fdf39 | (Edwin Steiner)++ | t/04-nativecall/08-callbacks.c:
20:01 dalek rakudo/nom: Remove obsolete #define for long, now that long is properly supported.
20:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70fdf3902e
20:01 dalek rakudo/nom: 64fe6c5 | FROGGS++ | t/04-nativecall/08-callbacks.c:
20:01 dalek rakudo/nom: Merge pull request #396 from edwinst/nom
20:01 dalek rakudo/nom:
20:01 dalek rakudo/nom: Remove obsolete #define for long, now that long is properly supported.
20:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/64fe6c59b5
20:02 ugexe zef is a pluggable module installer. it installs modules using CompUnits directly instead of passing to the compiler. it installs modules without building and copying them over
20:03 ugexe and will tie into a module repository and test matrix at zef.pm
20:03 _edwin ugexe, initially I wanted to duplicate the rakudo star build, and that mentioned 2010. I am not too keen on upgrading, i think also the installation size of 2013 is quite intimidating
20:04 ugexe vcvarsall.bat is the command prompt i use FWIW
20:05 BinGOs "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
20:05 BinGOs or some such
20:06 _edwin BinGOs, yes, just stumbled over that, too, thanks. "setenv /x64" seems to work in the *SDK* Prompt (not VS 2010 Prompt=
20:06 _edwin I'll try re-configuring in this environment
20:08 _edwin looks better...x64 toolchain detected YES, size of pointers 8
20:10 mohij ugexe: So panda is it for now until some point in the future where zef will be an alternative (not intending to replace panda)?
20:11 sirdancealot joined #perl6
20:13 _edwin I get lots of linker errors now for linking moar.dll :(  starting with "callsite.obj : error LNK2001: unresolved external symbol uv_mutex_unlock"
20:13 retupmoca _edwin: 'nmake realclean' first maybe?
20:14 _edwin i did a "git clean -X -f", but will try realclean, too
20:15 _edwin realclean does not work, anyway
20:16 ugexe mohij: i suppose so. we have some other features that panda doesnt, like an install manifest/uninstalling modules, plugins, fetching without using git, and some others. but its not ready to be used until i write a dependency parser
20:17 mohij ugexe: OK understood. It's simply not prime time yet. But once it is, it'll be awesome.
20:21 tony-o is there some trick with panda to force install something that doesn't have a 'provides' section?
20:22 ugexe also some basic social crap like liking/commenting from the command line (so not to be baren of them like cpan)
20:23 ugexe mohij: how did you find zef anyway
20:24 espadrine joined #perl6
20:24 mohij some module -> tony-o -> zef
20:24 mohij iirc
20:30 adu joined #perl6
20:31 laouji joined #perl6
20:33 PerlJam ugexe: where does the name "zef" come from?
20:47 daxim joined #perl6
20:47 eli-se there's a typo in the docs
20:47 eli-se http://doc.perl6.org/language/functions last example
20:48 eli-se says dobule instead of double
20:48 eli-se also paramters vs parameters
20:49 ugexe PerlJam: south african slang. "popularized" by die antwoord
20:49 PerlJam ugexe: That's what I thought.  :)
20:50 dalek doc: d34c2da | coke++ | lib/Language/functions.pod:
20:50 dalek doc: fix typos
20:50 dalek doc:
20:50 dalek doc: eli-se++
20:50 dalek doc: review: https://github.com/perl6/doc/commit/d34c2daba5
20:52 _edwin ok, a proper cleaning did the trick (had to recurse to submodules, etc.) retupmoca, thanks for the hint
20:52 [Coke] eli-se: ^^
20:52 [Coke] thanks.
20:55 spider-mario Bakc, too
20:55 spider-mario a 1;        # Int 1\n Any 1\n Bakc in Int with 5
21:00 raiph joined #perl6
21:02 dalek doc: f3df8c1 | usev6++ | lib/Language/functions.pod:
21:02 dalek doc: Fix typo
21:02 dalek doc:
21:02 dalek doc: spider-mario++
21:02 dalek doc: review: https://github.com/perl6/doc/commit/f3df8c1b83
21:03 bartolin_ spider-mario: thanks, too :)
21:03 PerlJam and here I am wondering why spider-mario and eli-se don't have commit bits  :)
21:03 eli-se what's a commit bit?
21:04 PerlJam eli-se: permissions such that you can make commits directly to the repository
21:04 eli-se I will likely fuck up.
21:04 eli-se Please don't set said bit for me!
21:04 bartolin_ (wait 'til moritz backlogs)
21:04 PerlJam eli-se: that's okay, we're all about forgiveness here.
21:04 dalek Inline-Perl5: 2576145 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
21:04 dalek Inline-Perl5: Fix p5helper.so not found after installation with current panda
21:04 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/257614503a
21:05 nine_ muraiki: ^^^ should fix your installation problem
21:06 muraiki nine_: yay! thanks :D
21:07 FROGGS timotimo: you have seen my message?
21:10 muraiki nine_: yeah, everything works fine now. thank you so much
21:11 timotimo yup
21:12 atta joined #perl6
21:14 tony-o timotimo: still getting segfaults in HSA, https://gist.github.com/tony-o/fcf211ceecdf3e695c6d
21:14 masak 'night, #perl6
21:14 tony-o other than that the shiny web app works pretty fast/smooth for me
21:15 dalek doc: 7d03cdb | (Steve Mynott)++ | lib/Language/ (4 files):
21:15 dalek doc: fix typos
21:15 dalek doc: review: https://github.com/perl6/doc/commit/7d03cdbf6c
21:15 dalek doc: 53efe71 | (Steve Mynott)++ | lib/Language/functions.pod:
21:15 dalek doc: Merge branch 'master' of github.com:perl6/doc
21:15 dalek doc: review: https://github.com/perl6/doc/commit/53efe71e78
21:19 timotimo tony-o: i got a different kind of error on my end
21:19 timotimo which looked like the socket that belongs to a response getting closed underneath my feet
21:21 _edwin spectest results with x64 build on windows: https://gist.github.com/edwinst/51dcfa519ab660289f84
21:23 itz I just saw the squish failure on os x too
21:23 _edwin if you mean the TODO passed, I think that's my fault
21:24 _edwin I added some tests as TODO, some of which actually pass
21:24 _edwin wanted to take a look at them today, but now the build sidetracked me
21:26 _edwin I hope I have some time tomorrow or the day after. good night #perl6
21:26 dalek rakudo-star-daily: 486e6e7 | coke++ | log/ (10 files):
21:26 dalek rakudo-star-daily: today (automated commit)
21:26 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/486e6e7e05
21:26 dalek perl6-roast-data: 53d7811 | coke++ | / (9 files):
21:26 dalek perl6-roast-data: today (automated commit)
21:26 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/53d7811934
21:26 kjs_ joined #perl6
21:27 [Coke] integration/weird-errors.rakudo.jvm - has a todo passed on jvm
21:27 [Coke] (squish passes on jvm, moar, moar-jit)
21:30 TimToady jnthn: I got the capture thing past the error, but there are some failing tests I need to look at
21:31 TimToady (having to do with allowing semis, I think)
21:32 jnthn TimToady: OK :)
21:32 jnthn TimToady: fwiw, I was going to put a method on Capture called from-args
21:32 jnthn method from-args(|c) { c }
21:32 jnthn TimToady: And then just emit a callmethod on that :)
21:33 jnthn Well, unshifting Capture to the argument list.
21:33 TimToady I just poked a name of '&infix:<,>' into the nameless call
21:34 tinyblak joined #perl6
21:36 ben` joined #perl6
21:37 coffee` joined #perl6
21:38 jnthn TimToady: Huh?
21:38 telex joined #perl6
21:40 jnthn TimToady: Won't that lose the nameds?
21:41 TimToady it still casts to Capture
21:41 TimToady but semiarglist returns a call node with no name at the top, expecting the routine name to get filled in later
21:43 jnthn Right, I was going to take that node, .unshift Capture, .op('callmethod'), and .name('from-args')
21:43 jnthn I don't thin kthe .Capture coercion approach can work
21:43 TimToady perhaps not
21:43 jnthn As it'll lose track of which named args were quoted and which weren't.
21:43 jnthn And iiuc \(foo => 42) and \("foo" => 42) should be different?
21:44 TimToady okay
21:44 jnthn Well, I'm asking if they should be... :P
21:44 tony-o does this moar dump mean anything to you timotimo ?  https://gist.github.com/tony-o/344a9ba0433352b5686d
21:45 jnthn I'd sorta thought that was one of the bugs with \(...)
21:45 tony-o i've never seen this error , guess it's a glibc dump
21:45 timotimo dunno; maybe if i had the function it crashes in?
21:45 jnthn tony-o: Looks like hash corruption to me
21:47 eli-se seems it exploded like a volcano, so I'd say it's a hash eruption
21:48 timotimo you mean heap corruption?
21:48 timotimo tony-o: the problem i got was a segfault inside write functions which were called from inside libuv
21:50 tony-o i'm trying to track down the segfaults some more, there was a known issue i think jnthn was fixing last time i looked at any of this stuff.  i'd imagine it's either done or p6 has progressed enough that i can fix this somehow by nowm, it's been a number of months
21:51 timotimo well, yeah, our multithreading stuff isn't mature enough
21:51 eli-se more mature than my multithreading stuff :)
21:52 timotimo well, you only just started :)
21:52 jnthn tony-o: You over-estimate my tuit supply in the last months... It has now improved again somewhat, and it will be good during April and onwards. :)
21:52 jnthn tony-o: But so far I've been using them largely to improve the state of native stuff, including the native arrays.
21:52 spider-mario r: Array.new.gimme: Int
21:52 camelia rakudo-moar 64fe6c: OUTPUT«(signal SEGV)»
21:53 spider-mario just found this
21:53 TimToady well, hopefully .gimme is going away soon
21:53 jnthn Also, almost certainly another case of an already RT'd bug
21:54 eli-se is it a .gimmick?
21:54 timotimo %)
21:55 spebern joined #perl6
21:56 eli-se Is %) an obscure special variable like $] in Perl 5?
21:56 eli-se m: my %) = 42;
21:56 camelia rakudo-moar 64fe6c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0GF3cZXbae␤Unexpected closing bracket␤at /tmp/0GF3cZXbae:1␤------> 3my %7⏏5) = 42;␤»
21:57 tony-o is there a utility like node's supervisor that perly apps use?
21:58 PerlJam tony-o: is that the thing that reloads on changes?
21:58 tony-o yea, it also restarts the app upon crash
21:59 timotimo http://untroubled.org/daemontools-encore/supervise.8.html ← i wonder, was this the thing that i used and had a good experience with?
21:59 PerlJam I don't think there's something like that for P6 yet.
22:00 tony-o https://github.com/isaacs/node-supervisor
22:00 tony-o timotimo: that is the one i'm referring to
22:00 PerlJam Though, there's a IO::Notification which could be used to build something like that without much difficulty (I think)
22:00 tony-o PerlJam: cool, thank you - i might give that a go once HSA is somewhere timotimo can use it somewhat reliably
22:02 tony-o i guess as an alternative i could just leave HSA segfaulting and then just encourage using supervisor (laugh)
22:03 timotimo here's my clear vote against that
22:03 tony-o yea i'm not in favor of having borken modules associated to my name either
22:04 timotimo it's not the module that's broken ... well, not necessarily
22:07 jnthn TimToady: I just hacked up https://gist.github.com/jnthn/36054887e166cf0e35f8
22:07 jnthn TimToady: Fixes various things and passes S02-types/capture.t at least as much as what we had before.
22:08 jnthn Full spectest runnin'
22:08 TimToady ah, when you said unshift Capture, you meant a little more than that :P
22:09 TimToady I kept getting Unknown QAST node type NQPMu
22:09 TimToady I'll let you put yours in and play with 'em
22:09 eli-se Is there a shorthand for `$_ = .foo()`?
22:10 jnthn .=foo();
22:11 retupmoca m: $_ = 'foo'; .= uc; .say
22:11 camelia rakudo-moar 64fe6c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F9ZyVgdPMU␤Preceding context expects a term, but found infix .= instead␤at /tmp/F9ZyVgdPMU:1␤------> 3$_ = 'foo'; .=7⏏5 uc; .say␤»
22:11 retupmoca m: $_ = 'foo'; .=uc; .say
22:11 camelia rakudo-moar 64fe6c: OUTPUT«FOO␤»
22:11 retupmoca ah, no space
22:12 tony-o m: $_ = 'foo'; .=\ uc; .say;
22:12 camelia rakudo-moar 64fe6c: OUTPUT«FOO␤»
22:12 jnthn TimToady: OK, spectest is most of the way there
22:12 eli-se retupmoca: shiny!
22:12 jnthn TimToady: Unless anything comes up in the next moment or two, will push it.
22:17 dalek rakudo/nom: 253bb58 | jnthn++ | src/ (3 files):
22:17 dalek rakudo/nom: Fix various bugs in \(...) syntax.
22:17 dalek rakudo/nom:
22:17 dalek rakudo/nom: It didn't correctly differentiate quoted pairs (positional arg) from
22:17 dalek rakudo/nom: identifier paris (named arg), nor did it support | for flattening into
22:17 dalek rakudo/nom: the Capture. This patches fixes both of these issues, as well as making
22:17 dalek rakudo/nom: it handle ;s.
22:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/253bb585b5
22:20 dalek roast: 7a69c1e | jnthn++ | S02-types/capture.t:
22:20 dalek roast: Unfudge now-passing test for RT #122555.
22:20 dalek roast: review: https://github.com/perl6/roast/commit/7a69c1e2da
22:20 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122555
22:21 TimToady we'll still have to decide what \(1,2,3, :foo; 4,5,6, :bar) means
22:21 jnthn aye
22:22 TimToady right now it just tosses all the nameds
22:22 jnthn But now we only have to fix it in one place for foo(1,2,3, :foo; 4,5,6, :bar) to also behave the same
22:23 jnthn So, 2 code paths become one :)
22:23 TimToady but hey, say \(1,2,3; 4,5,6):foo work
22:23 TimToady s
22:23 eli-se What does ; mean?
22:23 TimToady multi-dimensional
22:23 TimToady m: say zip(1,2,3; 4,5,6)
22:24 camelia rakudo-moar 64fe6c: OUTPUT«1 4 2 5 3 6␤»
22:24 eli-se neat
22:24 TimToady a list of list
22:24 TimToady "lol"
22:25 TimToady m: say zip(1,2,3; 4,5,6):with(&infix:<~>)
22:25 camelia rakudo-moar 64fe6c: OUTPUT«1 4 2 5 3 6␤»
22:25 TimToady hmm, doesn't seem right
22:25 TimToady m: say zip(1,2,3; 4,5,6):with(&infix:<+>)
22:25 camelia rakudo-moar 64fe6c: OUTPUT«1 4 2 5 3 6␤»
22:26 TimToady nope, it's ignoring the adverb
22:28 timotimo where does the adverb land? must be in a method, no? or does it get discarded completely?
22:28 TimToady it ought to attach as a named arg to zip
22:28 TimToady m: say &zip.^signature
22:28 camelia rakudo-moar 64fe6c: OUTPUT«No such method 'signature' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/sjHvQLjgTq:1␤␤»
22:29 TimToady m: say &zip.signature
22:29 camelia rakudo-moar 64fe6c: OUTPUT«(Any |lol)␤»
22:29 TimToady ah, that would explain it
22:31 dalek rakudo/moreinput: fcf012f | peschwa++ | src/Perl6/Grammar.nqp:
22:31 dalek rakudo/moreinput: Simplify and correct moreinput.
22:31 dalek rakudo/moreinput:
22:31 dalek rakudo/moreinput: "nil" doesn't exist, and the conditional was probably always true anyway.
22:31 dalek rakudo/moreinput: review: https://github.com/rakudo/rakudo/commit/fcf012f2b6
22:32 dalek roast: 194f336 | jnthn++ | S02-types/capture.t:
22:32 dalek roast: Toss two tests assuming out-dated design.
22:32 dalek roast:
22:32 dalek roast: We no longer bind nameds to positionals, and haven't for a long while.
22:32 dalek roast: review: https://github.com/perl6/roast/commit/194f33626e
22:32 dalek roast: 7e3870b | jnthn++ | S02-types/capture.t:
22:32 dalek roast: Test |@a and |%h interpolation in \(...).
22:32 dalek roast: review: https://github.com/perl6/roast/commit/7e3870b6fe
22:32 psch i realized that the way i've build moreinput there doesn't allow the "overwrite" way that's speculated in STD.pm6
22:32 jnthn TimToady: .^signature? :)
22:32 jnthn Oh
22:33 jnthn You relaized, nm :)
22:33 jnthn I thought we had an RT about |@a in \(...) not working but I canny find it...
22:34 jnthn Anyway, tested it now :)
22:36 jnthn Time for sleep...
22:36 jnthn o/
22:37 psch and stage parse is some 2-3 seconds slower, from the looks of it
22:37 psch 'night jnthn o/
22:39 dalek rakudo/moreinput: add821b | peschwa++ | src/Perl6/Grammar.nqp:
22:39 dalek rakudo/moreinput: Don't need that local var either.
22:39 dalek rakudo/moreinput: review: https://github.com/rakudo/rakudo/commit/add821b488
22:52 tony-o am i on the right track with a 'CONTROL' block for catching SIG* ?
22:55 TimToady probably not; signals come in as a Supply
22:56 psch $ ./perl6 -e'signal(SIGINT).tap({ say "ok, ok!"; exit(1) }); sleep 10'
22:56 psch ^Cok, ok!
22:56 * psch didn't know that works
22:56 psch tony-o: S17 talks about it
22:59 dalek rakudo/nom: 8dc34c2 | TimToady++ | src/core/LoL.pm:
22:59 dalek rakudo/nom: allow :with on Z and zip
22:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8dc34c2606
23:02 skids joined #perl6
23:04 tony-o awesome, thank you  . i need better skimming skills
23:10 mr-foobar joined #perl6
23:13 timotimo who was working on moreinput again?
23:14 timotimo ah, it was psch
23:15 psch timotimo: i'm pondering if i should merge
23:15 psch timotimo: cause it seems to work, and maybe people actually try it then :)
23:16 ugexe whats moreinput?
23:16 psch ugexe: a REPL feature.  suppose to read more input until the current statement parses fully
23:16 psch *supposed
23:17 psch the current iteration leans on the side of "need the semicolon" instead of "assume it as early as possible", which i like more than the other way around
23:18 psch having to type `say "hi";^M` or `say "hi"^M^M` beats not being able to type `say "hi"^M  if True;`
23:18 psch (althoug maybe i'm just missing something and that is doable)
23:19 psch TimToady: do you have any input on that ^^^ decision?
23:19 ugexe ah. by any chance do you know if that could be related to native call modules that crash when used from the repl?
23:20 psch ugexe: no.  i think i recall a ticket about misbehavior modules from the REPL, but nothing i touched has anything to do with that
23:20 psch ugexe: moreinput is just about parsing, i'd guess your crashes are somewhere further along the compile stages
23:22 TimToady psch: a semicolon (or closing brace) policy seems sanish to me
23:26 psch right, (matching depths) closing brace also work
23:26 timotimo psch: i'd also accept triple-\n as a replacement for ;
23:27 psch timotimo: it does double currently
23:27 psch timotimo: that's the `say "hi"^M^M` from above
23:30 dalek rakudo/nom: 5665280 | TimToady++ | src/core/LoL.pm:
23:30 dalek rakudo/nom: better approximation of zip/cross :with
23:30 dalek rakudo/nom:
23:30 dalek rakudo/nom: (assumes left reduction, still need to deal with baseop_reduce issues
23:30 dalek rakudo/nom: but there's no baseop available by now, and assoc doesn't come through on op)
23:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/566528071f
23:32 * TimToady notes that List's reduce method is kinda pathetic for similar reasons
23:33 TimToady nap &
23:34 jdv79 is there a terse way to do "index() == 0"?  looks like index kicks back a Nil instead of -1.
23:35 timotimo what do you want, exactly?
23:35 timotimo startswith or !contains?
23:36 timotimo you most probably want "defined index(...)"
23:36 jdv79 startswith
23:36 timotimo i've wondered that already; seems like you'd ~~ /^$foo/
23:36 timotimo which i'm not that satisfied with
23:36 jdv79 probably slower than index
23:37 jdv79 meh, ok
23:37 timotimo how am i supposed to work on the weekly if this cat is so cuddly and soft!
23:37 timotimo no, it'll be faster than index
23:37 timotimo because index will continue looking if it doesn't find the text at the beginning
23:37 timotimo and so it'll take longer the longer the string is
23:37 jdv79 the strings are always short
23:37 timotimo ok
23:37 jdv79 index is faster than a regex in p5 but i'll bench it in p6 then if you think so
23:38 timotimo there's quite a bit of overhead to regexes, i'm afraid
23:38 timotimo i'm interested in making that work better, though
23:38 timotimo feel free to bench it, please
23:38 jdv79 maybe index().Str eq '0' but really?
23:38 jdv79 idk
23:38 timotimo if you need high speed, you can use nqp::eqat, which operates on native str and should work very well
23:38 timotimo no, you want === 0
23:39 timotimo hm
23:39 timotimo no, eqv
23:39 jdv79 k
23:39 timotimo m: say "foobar".index("foo") // -1
23:39 camelia rakudo-moar 8dc34c: OUTPUT«0␤»
23:39 timotimo m: say "foobar".index("oo") // -1
23:39 camelia rakudo-moar 8dc34c: OUTPUT«1␤»
23:39 timotimo m: say "foobar".index("üöä") // -1
23:39 camelia rakudo-moar 8dc34c: OUTPUT«-1␤»
23:39 timotimo that also works
23:40 timotimo m: say Nil.Int
23:40 camelia rakudo-moar 8dc34c: OUTPUT«0␤»
23:40 timotimo not everything can be beatiful, i'm afraid
23:41 timotimo m: say \(1,2,3; 4,5,6):foo
23:41 camelia rakudo-moar 8dc34c: OUTPUT«\(1, 2, 3, 4, 5, 6, foo => True)␤»
23:41 timotimo does that count as "works"?
23:41 timotimo m: say \(1,2,3; 4,5,6)
23:41 camelia rakudo-moar 8dc34c: OUTPUT«\(1, 2, 3, 4, 5, 6)␤»
23:41 jdv79 probably, thanks
23:42 timotimo m: say \(1,2,3; 4,5,6).WHAT
23:42 camelia rakudo-moar 8dc34c: OUTPUT«(Capture)␤»
23:43 kurahaupo joined #perl6
23:43 dalek nqp: 8aeba2a | peschwa++ | src/QRegex/Cursor.nqp:
23:43 dalek nqp: Turn NQPCursorRole.{target,orig} into accessors.
23:43 dalek nqp: review: https://github.com/perl6/nqp/commit/8aeba2a18d
23:43 dalek nqp: 315106c | peschwa++ | src/QRegex/Cursor.nqp:
23:43 dalek nqp: Make fiddling with Cursor internals scarier, jnthn++.
23:43 dalek nqp: review: https://github.com/perl6/nqp/commit/315106c01d
23:43 dalek nqp: 8f016d1 | peschwa++ | src/QRegex/Cursor.nqp:
23:43 dalek nqp: Merge branch 'moreinput'
23:43 dalek nqp: review: https://github.com/perl6/nqp/commit/8f016d1d05
23:45 dalek rakudo/nom: 91b292d | peschwa++ | src/Perl6/Grammar.nqp:
23:45 dalek rakudo/nom: Partially implement moreinput in our grammar.
23:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/91b292d65d
23:45 dalek rakudo/nom: d7b0597 | peschwa++ | src/Perl6/Compiler.nqp:
23:45 dalek rakudo/nom: Provide $*moreinput for the REPL.
23:45 laouji joined #perl6
23:45 psch dalek! /o\
23:45 dalek joined #perl6
23:51 * psch &
23:52 jdv79 oh duh.  index() === 0.  i'm 1/2 asleep.
23:52 jdv79 sorry
23:56 timotimo retupmoca: should i rename the domain that hosts the gtk dlls and also have it host other dlls like zlib, sdl, ...?
23:57 timotimo retupmoca: also, it'd be cool if you could give timo/cairo-p6 (or what it's called) the windows-dll-downloader treatment :)
23:59 timotimo retupmoca: also perhaps timo/SDL2_raw-p6? :)

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

Perl 6 | Reference Documentation | Rakudo