»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:00 colomon left
ugexe ugexe@debian:~/.rakudobrew/moar-nom/install/share/perl6/site/panda$ perl6 -e 'say %*ENV<PANDA_SUBMIT_TESTREPORTS>' 00:05
(Any)
ugexe@debian:~/.rakudobrew/moar-nom/install/share/perl6/site/panda$ echo $PANDA_SUBMIT_TESTREPORTS
1
00:07 colomon joined
ugexe first, it seems %*ENV does not properly handle readonly env variables 00:09
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:10
nor does the report show up in recent reports 00:11
00:13 virtualsue left
timotimo what is that url? 00:15
00:28 laouji joined
ugexe testers.perl6.org/reports/38361.html 00:29
00:30 colomon left 00:31 colomon joined
timotimo right, that would be the next id in line anyway 00:33
i'll have a look at the server
00:36 Mouq joined
ugexe readonly PANDA_SUBMIT_TESTREPORTS=1; echo $PANDA_SUBMIT_TESTREPORTS; perl6 -e 'say %ENV<PANDA_SUBMIT_TESTREPORTS>' 00:38
00:38 adu joined
ugexe that should demonstrate the read only thing 00:38
00:38 colomon left
TimToady um, is that really an env variable, or just a shell variable? does it need an export? 00:38
00:39 laouji left
timotimo readonly? 00:39
what is that a feature of? 00:40
ugexe bash 00:41
for all i know its not really an env variable
but when its set im not able to set a similarly named env var
ugexe is trying to get around panda deleting %ENV<PANDA_SUBMIT_TESTREPORTS> after every run 00:42
timotimo 38361 | PASS | URI | | 0.1.0 | 2015.3.95.gee.7.a.375 | moar | 64 | t | t 00:43
does this look like your report?
00:43 uvb joined 00:44 laouji joined, laouji left 00:45 colomon joined
ugexe yep 00:45
timotimo hm 00:46
it *could* be the transfer script from hack to www is not working any more
TimToady ugexe: you left the * out 00:47
readonly PANDA_SUBMIT_TESTREPORTS=1; export PANDA_SUBMIT_TESTREPORTS; echo $PANDA_SUBMIT_TESTREPORTS; perl6 -e 'say %*ENV<PANDA_SUBMIT_TESTREPORTS>'
that works
00:48 larion joined
ugexe TimToady: i was using the %*, that ws a typo. but the export 00:48
TimToady looks like you can say 'export readonly 00:49
00:49 laouji joined
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
timotimo: ==> Test report is duplicate of: testers.perl6.org/reports/38361.html
i just tried testing it again
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.
timotimo ugexe: yeah, the tests are getting accepted and the html files are being generated, but not uploaded to the web host
ugexe ah 00:52
dalek k-simple: f22283a | retupmoca++ | META.info:
add provides
k-simple: 702cd06 | retupmoca++ | lib/GTK/NativeLib.pm6:
Fix .dll bundling with S11 changes
ugexe whats wrong with panda determining the provides from /lib? 00:53
or is that for CompUnit.install purposes? 00:54
01:03 aborazmeh joined, aborazmeh left, aborazmeh joined
retupmoca not sure 01:04
but right now you just have to list all of your .pm6? files there (with basically / -> :: for the keys) 01:05
01:06 Tux__ joined, |Tux| left
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:06
(if you don't list a file in "provides", it still gets installed; you just can't 'use' it) 01:07
timotimo did you see the panda command that generates a meta.info for you based on guesses? 01:09
that also contains a provides section
retupmoca yeah, that makes it easier 01:10
01:10 larion left
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:10
01:11 aborazmeh left
retupmoca I just have to remember to manually run the tests again after a panda install to make sure it's correct 01:11
01:12 aborazmeh joined, aborazmeh left, aborazmeh joined 01:18 kaare_ joined
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
which I very much want
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:26
version == version of Perl 6 01:27
Aggrevated due to
m: say $*PERL6.version
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␤␤»
Mouq m: say $*PERL.version
camelia rakudo-moar ee7a37: OUTPUT«vunknown␤»
Mouq .o( v6.i ) 01:28
01:30 aborazmeh left 01:35 aborazmeh joined, aborazmeh left, aborazmeh joined 01:37 xinming_ left, adu left 01:44 colomon left, colomon joined 01:47 aborazmeh left 02:08 aborazmeh joined, aborazmeh left, aborazmeh joined 02:11 vendethiel left
ugexe could that be done in Build.PL 02:16
02:17 chenryn joined, colomon left
ugexe for checking out modules anyway 02:18
02:19 colomon joined 02:20 noganex joined 02:22 chenryn left, vendethiel joined 02:23 raiph left, noganex_ left 02:24 chenryn joined 02:25 colomon left 02:26 yqt left 02:35 colomon joined 02:38 colomon left
Mouq *can't figure out why computer is so slow. has been running 02:38
02:38 colomon joined
Mouq a "for 1..*" loop for an hour and a half* 02:39
02:40 Augustus joined
TimToady maybe you need a faster computer... 02:42
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.
TimToady say set set(<a b c>).list X~ set(<x y z>).list 02:47
m: say set set(<a b c>).list X~ set(<x y z>).list
camelia rakudo-moar ee7a37: OUTPUT«set(ax, ay, az, bx, by, bz, cx, cy, cz)␤»
02:47 uvb left, jack_rabbit left
Augustus is X like a cross product hyper operator? 02:48
colomon it’s not hyper 02:49
TimToady well, we call it a meta
hyper is a different kind of meta
Augustus how do you use it with any arbitrary function rather than another operator?
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)␤»
Augustus what about functions of more than 2 parameters? 02:51
do the meta operators basically create functions that you can use as normal functions? 02:52
TimToady supposed to
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>
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␤»
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
otherwise they stay items by default
otherwise it's hard to make a set of sets :)
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
m: say <a b c>.WHAT
camelia rakudo-moar ee7a37: OUTPUT«(Parcel)␤»
Augustus ohh I see
reading comprehension for the win 02:56
m: say ([X[&infix:<~>]] <a b c>, <d e f>, <g h i>).WHAT 02:57
camelia rakudo-moar ee7a37: OUTPUT«(List)␤»
Augustus m: say (set([X[&infix:<~>]] <a b c>, <d e f>, <g h i>)).WHAT
camelia rakudo-moar ee7a37: OUTPUT«(Set)␤»
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␤␤»
Augustus presumably I could easily create an X like meta-op that takes and returns sets, avoiding the conversion back and forth with lists
TimToady hmm, thought we had one of those
guess that was on rosettacode.org 02:59
colomon sure it’s not a sub?
TimToady the string doesn't occur in src
colomon ah
huh
TimToady well, easy enough to write
rosettacode.org/wiki/Power_set#Perl_6 03:00
I guess that's not quite the same as X 03:01
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:02
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:03
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.
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)
Augustus: believe so
TimToady++ # $s.combinations.map(*.Set).Set
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:06
TimToady yeeeeessssss....but 03:07
ugexe github.com/perl6/nqp/tree/master/docs
Augustus cool, thanks! I take it then there's a reason there's no link on docs.perl6.org? 03:09
TimToady we don't much actually encourage nqp programming as a supportable activity 03:10
03:11 colomon left
Augustus My understanding was that it was necessary when working on slangs, macros, ASTs etc 03:13
TimToady well, so far, but we hope to raise all those activities up to the P6 level someday 03:14
slangs are already getting close 03:15
Augustus Ah, it has more to do with things not being finished than that being the intended way 03:16
03:17 colomon joined
Augustus In a completely unrelated question, would it break anything for the ** quantifier in regexes to accept $variables directly without needing a closure? 03:17
colomon thought not supporting $variables directly in ** quant was a rakudobug? 03:19
colomon admits he didn’t know it worked with closures now.
Augustus it took me some fiddling to get the syntax right but yes it works 03:20
but it seems intuitive for $vars to work, and the closure thing isn't documented clearly
so it took me some guess and check lol
03:20 davido_ left
TimToady well, but now someone will expect ** $foo.bar to work 03:21
03:21 raiph joined
TimToady we sort of left it out on purpose 03:21
colomon notes niecza needed the closure
03:21 davido_ joined
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?
TimToady nope, not without ()
Augustus hmm, ok
TimToady and we're trying to keep the regex slang pretty distinct from the main language 03:23
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
colomon o/
Augustus another regex question. how do locally defined regexes work with no grammar?
colomon I believe they’re just subs.
Augustus Actually they are methods 03:26
and without "my" require a grammar to contain them
colomon without a grammar?
Augustus if you use "my" you can just declare a regex
otherwise you have to nest them inside a grammar
This is relevant because you can't use "multi" with "my" 03:28
since "my" is actually creating a variable
you can't have multiple variables with the same name
moritz dunno about regexes, but with subs, you can dcombine my with multi 03:35
in fact, sub are "my" by default
03:35 aborazmeh left
Augustus maybe I just didn't have the right syntax 03:35
it just complained about redefining the variable 03:36
03:39 chenryn left
Augustus Ah, I see now, the X meta operator doesn't actually work on functions of more than 2 parameters 03:42
it will just repeatedly call binary functions 03:43
03:45 skids left
Augustus actually I think I get it now, THAT's what the extra [] were for, adding a list reduction meta op 03:45
so [X[op]] is actually two meta ops chained together 03:46
colomon right 03:47
colomon completely missed that too
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>␤»
Augustus so I will need to hack the internals to make a meta operator to do cross production of arbitrary functions like junctions do
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)␤»
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)␤»
moritz :(
m: sub a(*@a) is assoc<list> { <( )>.join(@a.join(', ')) }; say <a b c> Z[&a] <d e f> Z[&a] <g h>
camelia rakudo-moar ee7a37: OUTPUT«((a, d), g) ((b, e), h)␤»
Augustus moritz: I don't understand what you are trying to get
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>
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)␤»
moritz colomon: I can, it's just a Routine; but it seems to get ignored
Augustus: I'm trying to come up with a case where X handles the more than two-args case 03:52
and it seems it works for "is assoc<list>" infixes
but now that @dauthers[1] sleeps again, so will I too
&
colomon o/ 03:53
Augustus so it's smart enough to figure out not to call &a multiple times
the associativity tells it to bundle everything together?
03:53 raiph left
Augustus like would that work if the parameters actually did different things? 03:54
wow actually does seem to work 03:56
03:59 adu joined
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:00
04:04 Augustus left 04:06 Sqirrel left 04:15 colomon left 04:16 xinming joined 04:18 molaf left 04:27 laouji left 04:28 laouji joined 04:30 sirdancealot left
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,…»
TimToady you don't have to repeat the Xa, that's what reduce is for
we just don't have the [&fun] form understanding that a *@ argument is list associative rather than binary
(yet) 04:32
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)␤»
TimToady that one is also not quite correct...
that's obviously done something deeply suboptimal...
Oh, Augustus++ has left already... 04:35
04:35 BenGoldberg left 04:40 chenryn joined 04:42 laouji left
dalek rl6-most-wanted: 4d71161 | Adrian++ | most-wanted/modules.md:
correct link to Geo::Ellipsoid
04:50
04:50 chenryn left 04:57 chenryn joined 05:02 Sqirrel joined 05:11 tinyblak left 05:12 tinyblak joined 05:15 laouji joined 05:19 vendethiel left 05:31 chenryn left 05:40 adu left, chenryn joined
dalek ecs: 40163b8 | TimToady++ | S03-operators.pod:
reverse associativity on R ops

This seems slightly less unintuitive than the old semantics.
05:45
ast: 346e879 | TimToady++ | S03-metaops/reduce.t:
[\Rop] no longer works on infinite lists
05:46
05:48 mr-foobar left
dalek kudo/nom: 02e1e99 | TimToady++ | src/ (2 files):
fix R to reverse associativity

  [R**] 2,3,4 and 2 R** 3 R** 4 now both consistently mean 4 ** 3 ** 2.
05:50
TimToady and [Rop] will now be sane(r) on list associatives 05:51
like [R,]
05:57 brrt joined 06:00 vendethiel joined 06:05 mr-foobar joined 06:09 Guest83483 is now known as cec, cec is now known as cdc 06:17 brrt left
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␤␤»
moritz m: for 1..1000 { now }; say now - INIT now # used to be 3 seconds 06:21
camelia rakudo-moar 02e1e9: OUTPUT«0.52396339␤»
moritz irclog.perlgeek.de/perl6/2015-03-28#i_10355392
TimToady m: say [R,] 1..10 06:22
camelia rakudo-moar 02e1e9: OUTPUT«10 9 8 7 6 5 4 3 2 1␤»
moritz jnthn++ # 'now' optimization
TimToady m: say 2 ** 3 ** 4 == 4 R** 3 R** 2
camelia rakudo-moar 02e1e9: OUTPUT«True␤»
[Tux] $ panda install File::Temp 06:23
resolve stage failed for File::Temp: Project File::Temp not found in the ecosystem
in sub die at lib/Panda.pm:182
TimToady .tell BenGoldberg see irclog.perlgeek.de/perl6/2015-03-30#i_10360515 and following
yoleaux TimToady: I'll pass your message to BenGoldberg.
[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:30
I also want to spot performance changes 06:31
06:40 bjz joined 06:49 FROGGS joined 06:52 Ven joined 06:53 sirdancealot joined 06:55 kjs_ joined 06:57 Ven left
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, RabidGravy joined
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 06:59
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:01
07:04 prime left 07:05 prime joined, prime left, prime joined
moritz FROGGS: my guess is as good or bad as yours 07:06
FROGGS the good thing is that moar has an option to shutdown cleanly 07:07
I'll ask stackoverflow later
07:07 Ven left 07:09 esaym153 left 07:10 esaym153 joined 07:17 laouji left, laouji joined
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
therefore I don't think it's useful to disable those jobs
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. wiki.archlinux.org/index.php/Ext4#...rformance) 07:22
$ dd if=/dev/zero of=foo bs=512 count=2000 oflag=dsync
1024000 bytes (1.0 MB) copied, 57.4746 s, 17.8 kB/s
that's nearly 1 min for 1 MB 07:23
07:24 grondilu joined
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
grondilu likes [R,] for reverse and may use that in the future
FROGGS bartolin_: does the remote logging actually help? the collectd logs were pretty useless last time
moritz FROGGS: the collectd logs are stored on hack itself
bartolin_ FROGGS: I hope so. we are collecting kernel messages etc now
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
bartolin_ FROGGS: can you say how many inserts your scripts (cals-stats.pl et al.) generate? 07:26
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
FROGGS though, that attempt usually fails and it does an update instead
bartolin_ FROGGS: aha. maybe we could try to run that in isolation and watch the io stats 07:29
moritz serverfault.com/questions/425607/kv...hat-normal seems i can attempt some tuning
bartolin_ moritz++
07:30 Ven joined
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:30
1024000 bytes (1.0 MB) copied, 0.0070262 s, 146 MB/s 07:31
07:31 laouji left, laouji joined 07:32 brrt joined 07:35 pdcawley joined, pecastro left 07:36 bjz left
moritz bartolin_: the problem is that I seem to have to reboot the guest for each change :( 07:38
bartolin_ moritz: yes :-( 07:39
moritz: but maybe you could provide a separate virtual disk for the database?
and play with that one first?
moritz bartolin_: or I'll experiment with irc.p6c.org
but first, I must $work :(
07:40 zakharyas joined 07:41 laouji left, laouji joined
bartolin_ moritz: an idea for after $work: this way you could add a additional disk on the fly (to play with it): serverfault.com/questions/457250/kv...irtio-disk 07:45
07:51 aborazmeh joined, aborazmeh left, aborazmeh joined 07:58 sergot joined
sergot hi #perl6 07:58
nwc10 good morning sergot 07:59
08:01 kjs_ left
FROGGS hi sergot 08:03
08:12 larion joined 08:15 kjs_ joined 08:16 darutoko joined
jnthn morning o/ 08:18
FROGGS morning jnthn
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"
jnthn nwc10: Well, but it gives us a bonus hour of morning in autumn in return... :) 08:21
nwc10 but the interest rate sucks.
although, hey, given how things are these days, at least it's not negative. 08:22
jnthn True that...
RabidGravy an extra hour of being blinded by the sun coming through the east facing window
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:23
RabidGravy I'm probably being thick, but why in code like gist.github.com/jonathanstowe/4024...48daf33641 does the FETCH get called 11 times for each acccess? 08:26
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:27
08:28 abraxxa joined
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.
RabidGravy confirmed by using an intermediate variable 08:30
cheers
08:36 kurahaupo joined 08:39 rurban_ joined, aborazmeh left, larion left 08:40 aborazmeh joined, aborazmeh left, aborazmeh joined 08:43 laouji_ joined, laouji left 08:46 telex left 08:48 telex joined 08:53 dakkar joined 08:56 rindolf joined 09:01 yeahnoob joined 09:03 laouji joined 09:04 Akagi201_ left, Akagi201 joined, laouji_ left 09:10 espadrine joined 09:11 Akagi201_ joined 09:14 Akagi201 left 09:17 pecastro joined 09:22 larion joined
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:26
moritz yes 09:28
either with &callback:(signature) or &callback (signature9
s/9/)/
I forgot which
FROGGS sub SetCallback(&callback (Str --> Int)) # like this
the one with whitespace is the new syntax
RabidGravy ah ha! cool cheers 09:30
jnthn Wait, isn't that an unpack? 09:33
jnthn thought you had to put &callback:(Str --> Int)
moritz a subsig 09:35
09:38 larion left
moritz bartolin_: ok, with the best setting I achieved 1.8MB/s with your dd benchmark (on a separate VM, same hypervisor) 09:39
09:39 larion joined
moritz bartolin_: so, probably just needs a hack reboot to be happy 09:39
FROGGS jnthn: I took it from the nativecall docs 09:41
jnthn FROGGS: Yes, but we stole unpack syntax there because they other thing wasn't implemented... 09:42
dalek kudo/moreinput: f26fcba | peschwa++ | src/Perl6/Compiler.nqp:
Correctly check for valid input from the secondary prompt.
09:43
psch \o
FROGGS aha 09:44
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
bartolin_: I can run them now
psch saves all his buffers on hack
FROGGS they do not seem to cause trouble when I run them from outside from cron anyway
bartolin_ FROGGS: would be great :-)
09:47 laouji left, Foxcool left 09:48 laouji joined 09:50 Foxcool joined 09:52 Foxcool left
FROGGS bartolin_: running it now 09:53
09:53 Foxcool joined
moritz was just a small load spike 09:55
FROGGS there was just a single report in the queue triggering one dist to be calculated etc 09:58
09:58 virtualsue joined
timotimo o/ 09:58
FROGGS hi timotimo
10:00 chenryn left 10:01 chenryn joined
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:01
FROGGS hold on 10:02
10:03 pecastro left
FROGGS bartolin_: you are ready? 10:04
bartolin_ FROGGS: yep 10:05
FROGGS started
this should be now that maximum work package per run
moritz so far, the load doesn't rise to ridiculous heights 10:08
10:10 pecastro joined
dalek p: d86c3c5 | peschwa++ | src/HLL/Compiler.nqp:
Adjust reading new code for the NQP REPL, jnthn++.
10:10
RabidGravy so, regarding my question above what does the signature "&emit=-> $_ { }" mean for doc.perl6.org/type/Supply#method_tap? 10:11
bartolin_ interesting. it's running for quite a while now. in what interval was it started via crontab? 10:12
10:12 edward joined
jnthn RabidGravy: = means "default value if none supplied" 10:12
-> $_ { } is just a pointy block that takes an argument and throws it away
FROGGS bartolin_: there were jobs every minutes, every five minutes and every 30 minutes
jnthn Not sure why $_ as -> $ { } woulda been enough here.
FROGGS bartolin_: and the jobs were protected by lock files
jnthn Though no problem.
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.
RabidGravy got ya 10:14
jnthn moritz: But a pointy block can never be confused for a hash? :) 10:15
10:15 virtualsue left, virtualsue_ joined
moritz oh 10:15
$ vs $_
dalek c: 5c1a589 | moritz++ | lib/Type/Supply.pod:
Try to make Supply.tap signature clearer, RabidGravy++
10:20
10:21 chenryn left, chenryn joined
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:23
10:24 yeahnoob left 10:25 rindolf left
FROGGS bartolin_: that's what was activated in the crontab when the last hack-crash happened: gist.github.com/FROGGS/6a6d6f54214f8d2e0837 10:25
10:26 chenryn left
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: github.com/perl6/cpandatesters.per...aster/jobs
jnthn timotimo: doc.perl6.org/routine/cue#role_Scheduler looks correct
bartolin_ FROGGS: thanks!
FROGGS bartolin_: the job is done now btw
lunch &
jnthn timotimo: A scheduler should be capable of doing those things.
timotimo: But the one on doc.perl6.org/type/Scheduler looks the same to me? 10:27
10:29 Alina-malina left 10:30 Alina-malina joined
timotimo TPS has 1) the code object as a positional, 2) also a :&stop option 10:30
jnthn What on earth is :&stop? 10:32
Oh, maybe a predicate that can be used for cancellation...
I think having the code object as a positional makes sense. 10:33
It's the one thing that actually is required
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:39
moritz: before 12:05 localtime or later? 10:40
10:40 pdcawley left
bartolin_ moritz: ah, I see, it was before. 10:41
moritz bartolin_: before 10:47
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:48
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
though it would be just as easy to pass that through a lexical both the code object and the stop predicate close over
jnthn I think we should call it cancel rather than stop really
But I need to ponder that a bit more
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?
jnthn Yeah 10:51
So you can use it to cancel runs-once things
Let me think about it a little more though... (can't right now, doing a few $dayjob tasks)
10:53 kurahaupo left, RabidGravy left
timotimo OK 10:54
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:55
I'd leave the remote logging active and hope the problem does not resurface. 10:56
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
so the mount options were the main obstacle, obviously 11:00
11:06 yqt joined 11:08 virtualsue_ left 11:09 laouji left 11:14 chenryn joined 11:15 virtualsue joined, pdcawley joined 11:20 virtualsue_ joined
moritz bartolin_: I guess that means I ruined your measurements. Sorry about that. 11:21
11:22 virtualsue left, virtualsue_ is now known as virtualsue, aborazmeh left
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:24
11:27 aborazmeh joined, aborazmeh left, aborazmeh joined 11:34 Sqirrel left 11:41 Sqirrel joined 11:45 tinyblak left, tinyblak joined 11:48 lichtkind joined 11:59 Akagi201_ left 12:00 Akagi201 joined 12:01 Akagi201_ joined 12:05 Akagi201 left 12:07 chenryn left 12:16 yqt left
dalek Heuristic branch merge: pushed 17 commits to doc by paultcochrane 12:21
12:23 Sqirrel left, rindolf joined 12:25 Alina-malina left 12:29 aborazmeh left 12:30 aborazmeh joined, aborazmeh left, aborazmeh joined
Ven are hyper-ops never lazy 12:34
moritz Ven: hyper is basically the oposite of lazy
Ven mmh, I see where you're coming from 12:35
m: say (0..* Z+ 0..*)[3]
camelia rakudo-moar 02e1e9: OUTPUT«6␤»
Ven okay, I guess that's it for my question
dalek pan style="color: #395be5">perl6-examples: 72d680d | paultcochrane++ | / (2 files):
collect-example-metadata sets examples-metadata attribute

  ... instead of returning the value. This can now be shared with other
methods to increase cohesion.
12:43
pan style="color: #395be5">perl6-examples: e8e5490 | paultcochrane++ | t/004-website-basic.t:
Remove unnecessary create-category-dirs call
pan style="color: #395be5">perl6-examples: 5afb69f | paultcochrane++ | / (2 files):
Use examples-metadata attr in write-category-indices
pan style="color: #395be5">perl6-examples: 355906b | paultcochrane++ | / (2 files):
Use examples-metadata attr in write-example-files
12:45 raiph joined 12:59 rindolf left 13:00 xfix joined 13:05 Alina-malina joined 13:09 sirdancealot left 13:13 tinyblak left 13:28 rindolf joined, tinyblak joined 13:38 RabidGravy joined
PerlJam So ... I'm reading 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 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.
PerlJam nine++ 13:39
13:40 yqt joined 13:52 rurban_ left 13:55 fhelmberger joined 13:57 fhelmberger left
[Coke] nqp-parrot still failing. 13:58
github.com/perl6/nqp/issues/226 13:59
14:00 Ven left, raiph left 14:04 eli-se joined, eli-se left 14:07 dalek left 14:08 Sqirrel joined, dalek joined, ChanServ sets mode: +v dalek
ab5tract o/ #perl6 14:10
[Coke]: i thought we agreed not to worry about Parrot anymore?
[Coke] ~~
at the rakudo level.
we also agreed that we would continue to support nqp-parrot. 14:11
ab5tract okay, i missed that part :/
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
(uh, a dynop)
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␤»
PerlJam ab5tract: what ambiguity? :)
moritz ab5tract: -> $x scopes the $x to inside the block, so there's no ambiguitiy
PerlJam what moritz said 14:16
timotimo yeah, it's just a pointy, and the bit between -> and { is the signature
jnthn m: my $x; { say $x; my $x; } # this is the disallowed you're likely thinking of
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…»
ab5tract jnthn: precisely that, but i couldn't get that failure mode
PerlJam ab5tract: a pointy block is similar to a sub declaration and $x is just a parameter to that "sub" 14:17
14:18 skids joined
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
but I'm not the compiler ;)
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?
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
jnthn ab5tract: No, I didn't re-declare. :)
ab5tract m: my $x; { my $x = 10; say $x + 1; }
camelia rakudo-moar 02e1e9: OUTPUT«11␤»
ab5tract jnthn: okay, sorry I am trying to dodge the pedantry, but it is difficult 14:20
the "reuse of the variable name which is already declared in the outer scope"
jnthn ab5tract: It's fine to use the same name again in an inner scope; plenty of things rely on that. 14:21
Though you most often take advantage of it with (multi) subs.
ab5tract I know it is acceptable from the point of view of lexical scoping
14:21 aborazmeh left
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
AH
jnthn And so when we encounter a use in a block that later declares the variable, it's ambiguous which we meant.
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:25
at least we have sigil invariance now... that solves the worst case of this problem in my experience 14:26
14:31 raiph joined
arnsholt o/ # Hello on a train! 14:31
arnsholt is happy with Rakudo/Moar performance 14:32
35 seconds real time to read in ~7000 lines from file and insert them into Postgres is perfectly reasonable
RabidGravy :-O 14:33
14:33 larion left
jnthn It's not *that* good :P 14:33
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 :)
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?
RabidGravy I'd put that at about 100,000 rows into FoxPro on an 80Mhz computer
timotimo RabidGravy: yup, rakudo performance is at least one order of magnitude slower than what it could/should be :P
arnsholt RabidGravy: And seven man years of debugging the C code that does it =p
timotimo: Not sure if the profile for this job is the most interesting 14:36
This next job is probably more interesting
timotimo ah 14:37
14:37 spider-mario joined
timotimo i don't wanna look at it, most likely it's 50% time spent in reify and gimme again :\ 14:37
arnsholt Probably not, actually 14:38
More likely it'll spend oodles of time in grammar stuff =)
moritz or in the nativecall wrapper functions 14:39
arnsholt Or that
14:40 eli-se joined
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:40
14:40 eli-se left
moritz RabidGravy: where by "start up" you mean connecting to the postgresql server? 14:41
RabidGravy: and if so, via TCP? Or local UNIX socket?
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
;-)
arnsholt Oh, and I really like that I can have dashes in my variable names now =D 14:43
moritz RabidGravy: well, over TCP it does a full SSL handshake, which is always slowish 14:44
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:46
14:49 zoosha left, zoosha joined 14:57 Sqirrel left 14:58 muraiki joined
masak good afternoon, #perl6 15:04
TimToady m: my (\a,\b) = 1,2; say a
camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
TimToady seems like a bug 15:05
masak submits rakudobug 15:06
jnthn That should either DWYM or whine, I guess.
TimToady m: my (\a,\b) := \(1,2); say a
camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
TimToady m: my (\a,\b) ::= \(1,2); say a
camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
jnthn OK, *that* one certainly should work.
15:06 pmichaud left, synopsebot left
jnthn The assignment one is more dubious. 15:07
15:07 rararara joined
jnthn But silently failing is certainly wrong. 15:07
15:07 Sqirrel joined
masak m: my ($a, $b) = 1, 2; say $a 15:10
camelia rakudo-moar 02e1e9: OUTPUT«1␤»
masak m: my \a = 1; say a
camelia rakudo-moar 02e1e9: OUTPUT«1␤»
masak since those two work, I'd expect TimToady's first one to work.
TimToady m: my (\a) = 1; say a
camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
jnthn masak: That's not obvious.
masak jnthn: just talking about my expectations. 15:11
jnthn masak: \a variables are SSA and we don't create a container.
TimToady m: my ($a where +*, $b) = 1,2; say $a
camelia rakudo-moar 02e1e9: OUTPUT«1␤»
TimToady m: my ($a where +*, $b) = 0,2; say $a
masak m: my ($a, \b) = 1, 2; say $a; say \b
camelia rakudo-moar 02e1e9: OUTPUT«0␤»
rakudo-moar 02e1e9: OUTPUT«1␤\((Any))␤»
jnthn masak: Yes, I'm telling you why they might be broken.
masak m: my ($a, \b) = 1, 2; say $a; say b
camelia rakudo-moar 02e1e9: OUTPUT«1␤(Any)␤»
TimToady m: my ($a where +*, $b) ::= 0,2; say $a
camelia rakudo-moar 02e1e9: OUTPUT«Constraint type check failed for parameter '$a'␤ in block <unit> at /tmp/0madUrIw8m:1␤␤»
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 =)
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.
masak m: my (\a, \b); (\a, \b) = 1, 2; say a
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␤␤»
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␤␤»
jnthn That is certainly correct
masak m: my (\a, \b); \a = 1; say a
camelia rakudo-moar 02e1e9: OUTPUT«Cannot modify an immutable Capture␤ in block <unit> at /tmp/v3Z1Q80Ld7:1␤␤»
masak right.
jnthn m: my ($a, *@b) = 1, 2;
camelia ( no output )
jnthn Hmm
arnsholt runs again with --profile
jnthn I must be mis-rememebering or something. 15:14
arnsholt Segfault. Yaaay /o\
15:16 fhelmberger joined
masak #124210 15:17
15:17 Rounin left
masak ENOSYOPSEBOT 15:17
rt.perl.org/Ticket/Display.html?id=124210
tadzik :o
what happened to it :o 15:19
it should probably be moved from feather to p6c soonish 15:20
15:20 synopsebot joined
tadzik botsnack 15:20
botsnack!
grr
synopsebot: botsnack!
flussence botsnuckaway /o\
tadzik what a fraud 15:21
can't fix it now, gotta run to batmobile
masak batsnack 15:23
15:26 brrt left
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
then we could have sigs like (Range ($min,$max)) or (Pair ($k,$v)) or (Complex($r,$i))
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)
TimToady well, [] already requires Positional, doesn't it? 15:29
and () doesn't?
jnthn Sure
15:29 zakharyas left
jnthn m: say Range ~~ Positional 15:29
camelia rakudo-moar 02e1e9: OUTPUT«True␤»
TimToady hmm
jnthn m: sub foo(@a) { }; foo(1..10)
camelia ( no output )
jnthn That'd break if we make Range not be Positional. 15:30
15:30 abraxxa left
Tux__ Inline::Perl5 still fails with panda. maybe because of 15:30
The distribution File::Temp does not seem to have a "provides" section in its META.info file,
15:31 telex left 15:32 telex joined, sirdancealot joined, rindolf left
PerlJam Tux__: Hold on a minute, I'll fix it (File::Temp) 15:36
Tux__ hops on his chair in excitement :)
Int.Range[45] is not very useful though 15:38
PerlJam Is there a "META.info checker" program in existence yet/ 15:39
?
jnthn PerlJam: No, but you can always diff it to what gen-meta produces :) 15:40
Or try and install it using your META.info I guess... 15:41
15:41 perigrin left
PerlJam That second thing is what I did. Where's gen-meta? 15:41
retupmoca if you try installing it to test, remember that the panda test step will work even if your provides are wrong 15:42
so you need to run a test or two against the installed version
jnthn PerlJam: panda gen-meta --ver=v1 or so should produce you a proposed META.info 15:43
PerlJam danke. 15:44
FROGGS timotimo: ohh, you are supposed to get something from me.... 15:46
FROGGS feels p6weakly
15:47 yqt left
Tux__ more panda strangenesses gist.github.com/Tux/0606809efcdc9b545c62 15:47
[Coke] lizmat: github.com/perl6/roast/commit/04af...ec50846109 changed the order of the int/uint types, guessing that was accidental? 15:49
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
Tux__: though you can clone it and do 'panda install .' in its repo
Tux__ look at that gist again
bin/panda fails as it thinks it has to be run as perl6
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
FROGGS Tux__: that is what I explained
Tux__ ah
Tux__ waits a few minutes more :) 15:52
FROGGS Tux__: it installs File::Temp, but the installed one has no provides section
Tux__ ah, now I get it. The installed version *also* needs a provides section 15:53
FROGGS yes
so you can find it after installation
hoelzro o/ #perl6
FROGGS I'm on the phone right now so I cant think properly 15:54
15:54 raiph left
PerlJam wishes he had an "autocorrect" feature for when editing a JSON doc such that => appropriately turns into a : 15:54
FROGGS hehe, a fat comma is json :P 15:55
skids I just keep my meta in yaml and gen the json :-)
TimToady presumably a Tuple role could also provide a default positional constructor for free, rather hardwiring one for things like Complex
PerlJam FROGGS: I tend to confuse myself and think more in a Perl context than a JSON context. 15:56
FROGGS yeah, me too
masak TimToady: if you want prior art, Python already has a tuple type such as the one you describe.
TimToady yes, I know 15:57
masak just checking :)
TimToady that's just one of the reasons I want it :)
it's one of those easily abusable features, like placeholders, and yet it's really handy for certain vectory types 15:58
15:58 khisanth_ is now known as Khisanth, molaf joined
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
15:58 lucas0 joined 15:59 gfldex joined
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
skids Tux__++ wins
PerlJam indeed. Tux__++ :)
masak Tux__++ 16:00
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
FROGGS skids: :S 16:02
skids: but yeah, that will happen for uploads to CPAN at least
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
skids *acerbic 16:03
.oO(My spelling continues to deteriorate over time)
16:04
Tux__ sour, harsh or severe
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:05
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:06
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
Tux__ just checked and was kinda surprised his Text::CSV's META.info already has provides :)
TimToady or Tuple(1,2,3) as a coercion, perhaps 16:08
hoelzro ah, thanks skids
why is it called S11 compliance, then?
lucas0 m: sub f { fail 'hi' }; constant Foo = f; say Foo.WHAT
camelia rakudo-moar 02e1e9: OUTPUT«(Failure)␤»
lucas0 m: constant Foo = fail 'hi'
camelia rakudo-moar 02e1e9: OUTPUT«===SORRY!===␤P6opaque: invalid native access to object attribute␤»
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?
skids hoelzro: Dunno. Maybe S22 content was split from S11 or something.
16:09 captain-adequate joined
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.
TimToady it always bothered me a bit that [] and () were so poorly differentiated as subsigs
masak TimToady: ...that seems like a rather minor use case to me.
TimToady I like to put features further apart than that
16:11 larion joined
TimToady I think we'd see lots of Ranges, Pairs, and Complex unpacked that way 16:11
esp pairs
16:11 Perl6_newbee joined
TimToady you could even do (Pair (\h,\t)) and not bother with *@ at all 16:12
for "cons" lists
spider-mario is it planned to eventually distribute Inline::Perl5 with R*?
timotimo FROGGS: yeah, you're going to give me a quick list of features that are new with panda/eleven landing
TimToady for %hash -> (\k,\v) { ... } 16:13
hoelzro skids: must have been
16:13 eli-se joined
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?
hoelzro is confused on which is right for a new distribution 16:14
16:14 raiph joined
PerlJam hoelzro: META6.json is the new META.info 16:14
timotimo FROGGS: yeah, good enough :)
hoelzro PerlJam: so I should convert META.info in my dists to META6.json?
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.
hoelzro does panda read META6.json?
PerlJam hoelzro: I don't think that panda uses META6.json yet, but I could be wrong
eli-se what a wonderful day
skids hoelzro: not the last time I looked. 16:15
PerlJam skids: so CPAN + Perl5 + Perl6 could all play well together.
tony-o timotimo: going to merge those PRs for http-server=async
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
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
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?
29 Mar 2015 00:56Z <timotimo> tony-o: i think i've switched the two around, though. but you know ...
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
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
tony-o snap
timotimo oh hey tony-o :)
tony-o hey hey
timotimo gasp, someone actually uses HSA ;)
PerlJam tony-o: you're a popular guy ... or timotimo is stalking you ;)
hoelzro so the best thing to probably do for now is symlink META6.json to META.info?
tony-o PerlJam: haha 16:16
TimToady hey hey, we're the MONKEE-TYPES
FROGGS hoelzro: it does not yet read META6.json, but I'll patch it to read both
hoelzro ok, cool
PerlJam hoelzro: I think so. (I think they were incompatible in the past but that's not so anymore; maybe FROGGS can confirm)
hoelzro should S22 be patched to mention that META.info is the legacy format these days? 16:17
16:17 kjs_ left
TimToady maybe lax mode should be called 'use MONKEE;' 16:17
FROGGS hoelzro: no
hoelzro: let's silently deprecate META.info
TimToady "we're too busy singing to put anybody down..."
hoelzro ok 16:18
TimToady actually, would probably have to be 'use MONKEES®;' or so 16:19
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:21
i could see it causing issues with pipelining, now that you've brought it up 16:22
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:23
timotimo the problem with the timeout worker closing connections over and over was based on an older commit 16:25
i was dumb enough not to check out latest master :S
tony-o ah okay
timotimo i have not checked if it's still an issue 16:26
i think for EventSource (and later perhaps WebSockets) i need a way to tell HSA not to close my connection after some time
tony-o it did bring up that pipelining a request doesn't reset that time out
timotimo ah, good point, too
tony-o that too ^
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
so, how do you feel about making $.buffered rw for Response?
tony-o nah i was fighting political crap at work and it occupied most of my time, now i'm back to developing
timotimo yay :) 16:28
politics can suck out all of your energy sometimes :(
i'd also accept a method "flush" for response that would empty out the buffer on command
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
timotimo that seems like a good idea
lucas0 m: my True $x; say $x
camelia rakudo-moar 02e1e9: OUTPUT«True␤»
tony-o so we'd use .unbuffer and and .rebuffer
lucas0 m: my (True $x); say $x 16:29
camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
lucas0 ^^^ I know, this is nonsense code, but it could be more consistent :)
psch m: my (Str $x); say $x
camelia rakudo-moar 02e1e9: OUTPUT«(Any)␤»
16:30 tinyblak left
lucas0 psch: oh, so it's a known bug. I wasn't aware. 16:32
psch lucas0: i'm not sure it's known. it's consistent fwiw, but probably not in the way it should be 16:33
i was mostly curious about the consistency, tbh
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
camelia rakudo-moar 02e1e9: OUTPUT«3␤»
timotimo to get a feel for how "other people" use your module?
tony-o timotimo: yea
16:35 eli-se left
timotimo did the perl6 organisation on github sign up for private repositories yet? 16:36
iirc github will give that to any open source organisation or nonprofit or something like that
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)␤»
bartolin_ erm, RT #117043
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117043
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 16:49 raiph left 16:56 virtualsue left 17:00 Patterner joined 17:04 Psyche^ left 17:05 lucas0 left, raiph joined 17:06 sjn left, dagurval left
Tux__ The link in design.perl6.org/S22.html#license to "Software::License" is pointing to the wrong direction (404) 17:06
17:08 dakkar left
arnsholt Oh, nice. My big files trigger core dumps 17:13
17:18 pecastro left, FROGGS left 17:22 larion left 17:23 larion joined 17:26 colomon joined 17:29 espadrine left
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
muraiki oh, thanks for fixing that nine_ :D 17:31
timotimo i wonder, how far back can we go in time and still have Inline::Perl5 be implementable without difficulty? 17:32
muraiki yeah I seem to be great at breaking it :n 17:33
17:33 eli-se joined 17:35 tinyblak left 17:36 yqt joined 17:38 kjs_ left, ShimmerFairy left
colomon TimToady++ 17:41
17:42 larion left 17:43 larion joined, Perl6_newbee left 17:47 kjs_ joined, sjn joined 17:48 ShimmerFairy joined 17:54 yqt left, kjs_ left
TimToady what, for 'use MONKEES;'? :) 17:55
eli-se I love Perl 6! 17:56
I prefer 'use MONIES;' but I'm afraid I need Java for that. :[
Luckily Perl 6 runs on the JVM! 17:57
17:58 kjs_ joined 17:59 FROGGS joined 18:00 kjs_ left 18:01 kjs_ joined 18:04 larion left 18:05 sirdancealot left, RabidGravy left
FROGGS .oO( <wife making hasperat>».++ ) 18:05
18:06 larion joined
vendethiel El_Che: hahaha 18:06
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:07
TimToady bows 18:08
vendethiel sounds like something I'd read in my perl book :P 18:10
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:11 kjs_ left
TimToady well, I'm still concentrating on having something to write a book *about*, so far 18:12
FROGGS sure
FROGGS rephrases it to "that would be a nice Christmas future"
18:13 brrt joined
colomon +1 18:13
18:13 larion left
TimToady is trying and failing to implement (...) in terms of <args>, which apparently pre-seeds the ast with a call node 18:13
FROGGS \(.,.)/
TimToady o,O 18:14
FROGGS :D
raydiak g'morning #perl6 18:17
18:20 RabidGravy joined, brrt left
muraiki good afternoon 18:22
hehe
raydiak :)
FROGGS++ thanks again! I'd love to be able to merge the only PR I've ever received; didja see my comment? 18:23
FROGGS raydiak: I've seen it, and will tweak it in a bit :o) 18:24
raydiak cool beans
dalek pan style="color: #395be5">perl6-examples: 83a3a67 | paultcochrane++ | / (2 files):
Rename collect-example-metadata -> collect-all-metadata

This is because it collects metadata for all examples
pan style="color: #395be5">perl6-examples: b245c5a | paultcochrane++ | lib/Pod/Htmlify.pm6:
Extract example file metadata collection into its own routine
pan style="color: #395be5">perl6-examples: 8e2abeb | paultcochrane++ | lib/Pod/Htmlify.pm6:
Use Categories instead of examples for category keys
pan style="color: #395be5">perl6-examples: d7aec39 | paultcochrane++ | lib/Pod/Htmlify.pm6:
Document methods in Website class
FROGGS timotimo: gist.github.com/FROGGS/26970309d95afe25e4fc 18:26
raydiak: what is wrong with the file paths ooc? 18:29
ahh, I think I see 18:30
raydiak FROGGS: half of the modules point at Cylinder.pm and Light.pm instead of the files which provide them 18:31
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:32
18:36 silug left, silug joined
raydiak
.oO( perhaps it'd be better encapsulation to put everything in a ::Cylinder :) )
18:39
xfix Let's put a Mail object into Person as well, so we can have .send-email method. 18:41
18:41 fhelmberger left 18:43 rindolf left
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?
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:45
raydiak heh ew...6th? too many required params for my taste 18:47
flussence that was the "create arc" method on a <path> (and it only creates it, you have to attach it manually too) 18:48
18:49 _edwin joined
raydiak hrm...sounds like something that wants to be abstracted away under a more friendly interface 18:51
18:51 larion joined
flussence tweaking the string representation of it directly is so much easier, I wonder why that API exists at all... 18:53
raydiak dynamic uses, I'd assume, like js-powered animation/interaction 18:54
18:57 yqt joined
_edwin FROGGS, hi! do you know why "long" is #defined as __int64 for WIN32 in rakudo's t/04-nativecall/08-callbacks.c ? 19:00
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
_edwin: we have to remove that, now that we properly support long
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
_edwin -> dinner
FROGGS raydiak: you can add extra symbols, this allows to 'use' these symbols... dunno if you are going to do that 19:03
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
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:05
19:11 lichtkind_ joined 19:13 lichtkind left
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:16
19:18 rurban_ joined
_edwin are all spectests supposed to pass with rakudo HEAD on Windows? 19:18
RabidGravy or to me anyway
timotimo as a server
FROGGS _edwin: no, I think we have at least failing tests for unicode stuff in command lines 19:19
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?
_edwin windows + command line handling brings up some painful memories
itz status.github.com/messages
nwc10 "known failing tests" ultimately can get you to such own goals as www.cvedetails.com/cve/CVE-2011-3268/
(IIRC)
At the risk of tempting "pride goes before a fall" I found this own goal more impressive: cve.mitre.org/cgi-bin/cvename.cgi?n...-2012-0830 19:26
... PHP 5.3.9 allows remote attackers to execute arbitrary code ... NOTE: this vulnerability exists because of an incorrect fix for CVE-2011-4885.
nine_ muraiki: just now successfully installed Inline::Perl5 with rakudo 02e1e998218 and panda 80b407b63d 19:28
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.
muraiki maybe it's related to the cwd build error in perl 5.20.2
jnthn TimToady: Did you nail the capture thing yet? 19:30
jnthn can look at it if not :)
nwc10 jnthn: do some spectests fail on Win32?
nine_ muraiki: is that your's? github.com/niner/Inline-Perl5/issues/17
muraiki yes 19:31
sincey ou weren't around I figured that woudl help, hehe
jnthn nwc10: As of when?
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
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 :)
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
dalek kudo/nom: a56d8b0 | FROGGS++ | src/core/CompUnitRepo/Local/Installation.pm:
fix wrappers installed/generated by CUR::Installation

A wrapper generated by CUR::Installation should only care about binaries installed by CUR::Installation. If it would pick up a binary installed by CUR::File, it would potentially try to EVAL bash scripts. Tux++
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
muraiki nine_: thanks. let me know if there's anything else you want me to test. maybe it's a rakudobrew problem.
_edwin here are the fails I get with rakudo/moar on Windows: gist.github.com/edwinst/09ee591440ff4fde19e3
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.
retupmoca nine_: for latest panda, you may be interested in github.com/retupmoca/P6-LibraryMak...76d5e81991
muraiki argh light gray text on a white background 19:36
FROGGS _edwin: you've got a 32bit moar build?
_edwin FROGGS, how can I tell? :} *blush* 19:37
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...
RabidGravy timotimo, ah okay I'm thinking of something to consume
nine_ timotimo: so in other words, I actually was kind of around 19:39
RabidGravy er *consume* the /changes feed from a coudchdb
FROGGS m: say $*KERNEL.bits 19:40
camelia rakudo-moar 02e1e9: OUTPUT«64␤»
FROGGS _edwin: ^^ do that
_edwin FROGGS, 64
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
_edwin because sizeof(long) == 4 still
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)
camelia rakudo-moar 02e1e9: OUTPUT«8␤»
19:42 larion left
FROGGS _edwin: perhaps you've installed a 32bit rakudo on your 64bit box 19:42
_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?
_edwin use NativeCall; say nativesizeof(long) --> 4
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
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
nine_: old installed files maybe? 19:45
ugexe strawberry perl needs to be reinstalled if you get new hardware
as alot of that stuff is generated by Config.pm when its built
nine_ retupmoca: maybe. Nuking my install/ and trying again
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
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:47
19:48 larion joined
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.
longsize* 19:49
ugexe is that auto-detecting error with strawbverry perl or rakudo?
muraiki retupmoca: I fully removed .perl6 and .rakudobrew; did I miss something else?
PerlJam bartolin_: the other changes came after the commit you submitted for the PR? 19:50
FROGGS my longsize is also 4
ugexe if its from rakudo you need to run it from within the visual studio command prompt
FROGGS :/
bartolin_ PerlJam: no, they are not committed yet.
_edwin ugexe, moarvm configure, see here: gist.github.com/edwinst/f704900183d3fb4fe4e6 19:51
PerlJam oh, then, yeah, make a branch for those changes
ugexe _edwin: where are you running the install commands from
PerlJam (and possibly a second PR)
_edwin ugexe, Visual Studio Command Prompt (2010) 19:52
bartolin_ ok, will do that. thanks, PerlJam++
ugexe which one
oh 2010
i dont know anything about 2010
_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
in 2013^
yes. the vs2013 prompt adds PATH stuff so it can find nmake or whatever it does to determine the toolchain 19:54
do you have the dmake and/or nmake commands from your command prompt? 19:55
19:57 Sqirrel left 19:58 Sqirrel joined
_edwin i have used nmake 19:58
hm, the 64-bit cl seems to be there, but I have no vcvars64.bat
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 19:59
mohij Can anyone explain how zef relates to panda? 20:00
_edwin maybe vcvars64.bat got lost somewhere on the way
ugexe zef isnt anything yet 20:01
_edwin: is there a reason you dont want to upgrade to 2013?
dalek kudo/nom: 70fdf39 | (Edwin Steiner)++ | t/04-nativecall/08-callbacks.c:
Remove obsolete #define for long, now that long is properly supported.
20:02
kudo/nom: 64fe6c5 | FROGGS++ | t/04-nativecall/08-callbacks.c:
Merge pull request #396 from edwinst/nom

Remove obsolete #define for long, now that long is properly supported.
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
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
ugexe vcvarsall.bat is the command prompt i use FWIW 20:04
BinGOs "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 20:05
or some such
_edwin BinGOs, yes, just stumbled over that, too, thanks. "setenv /x64" seems to work in the *SDK* Prompt (not VS 2010 Prompt= 20:06
I'll try re-configuring in this environment
looks better...x64 toolchain detected YES, size of pointers 8 20:08
20:09 raiph left, darutoko left
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:10
20:11 sirdancealot joined
_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?
_edwin i did a "git clean -X -f", but will try realclean, too 20:14
realclean does not work, anyway 20:15
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:16
mohij ugexe: OK understood. It's simply not prime time yet. But once it is, it'll be awesome. 20:17
20:18 grondilu left
tony-o is there some trick with panda to force install something that doesn't have a 'provides' section? 20:21
20:22 kjs_ left
ugexe also some basic social crap like liking/commenting from the command line (so not to be baren of them like cpan) 20:22
mohij: how did you find zef anyway 20:23
20:24 espadrine joined
mohij some module -> tony-o -> zef 20:24
iirc
20:30 adu joined 20:31 laouji joined
PerlJam ugexe: where does the name "zef" come from? 20:33
20:39 rurban_ left 20:42 xfix left 20:44 daxim left 20:47 daxim joined
eli-se there's a typo in the docs 20:47
doc.perl6.org/language/functions last example
says dobule instead of double 20:48
also paramters vs parameters
ugexe PerlJam: south african slang. "popularized" by die antwoord 20:49
PerlJam ugexe: That's what I thought. :)
dalek c: d34c2da | coke++ | lib/Language/functions.pod:
fix typos

  eli-se++
20:50
_edwin ok, a proper cleaning did the trick (had to recurse to submodules, etc.) retupmoca, thanks for the hint 20:52
[Coke] eli-se: ^^
thanks.
spider-mario Bakc, too 20:55
a 1; # Int 1\n Any 1\n Bakc in Int with 5
21:00 raiph joined
dalek c: f3df8c1 | usev6++ | lib/Language/functions.pod:
Fix typo

  spider-mario++
21:02
bartolin_ spider-mario: thanks, too :) 21:03
PerlJam and here I am wondering why spider-mario and eli-se don't have commit bits :)
eli-se what's a commit bit?
PerlJam eli-se: permissions such that you can make commits directly to the repository 21:04
eli-se I will likely fuck up.
Please don't set said bit for me!
bartolin_ (wait 'til moritz backlogs)
PerlJam eli-se: that's okay, we're all about forgiveness here.
dalek line-Perl5: 2576145 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
Fix p5helper.so not found after installation with current panda
nine_ muraiki: ^^^ should fix your installation problem 21:05
21:06 atta left
muraiki nine_: yay! thanks :D 21:06
FROGGS timotimo: you have seen my message? 21:07
muraiki nine_: yeah, everything works fine now. thank you so much 21:10
timotimo yup 21:11
21:12 atta joined 21:13 laouji left
tony-o timotimo: still getting segfaults in HSA, gist.github.com/tony-o/fcf211ceecdf3e695c6d 21:14
masak 'night, #perl6
tony-o other than that the shiny web app works pretty fast/smooth for me
dalek c: 7d03cdb | (Steve Mynott)++ | lib/Language/ (4 files):
fix typos
21:15
c: 53efe71 | (Steve Mynott)++ | lib/Language/functions.pod:
Merge branch 'master' of github.com:perl6/doc
21:16 FROGGS left
timotimo tony-o: i got a different kind of error on my end 21:19
which looked like the socket that belongs to a response getting closed underneath my feet
_edwin spectest results with x64 build on windows: gist.github.com/edwinst/51dcfa519ab660289f84 21:21
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
I added some tests as TODO, some of which actually pass 21:24
wanted to take a look at them today, but now the build sidetracked me
21:25 skids left
_edwin I hope I have some time tomorrow or the day after. good night #perl6 21:26
21:26 _edwin left
dalek kudo-star-daily: 486e6e7 | coke++ | log/ (10 files):
today (automated commit)
21:26
rl6-roast-data: 53d7811 | coke++ | / (9 files):
today (automated commit)
21:26 kjs_ joined
[Coke] integration/weird-errors.rakudo.jvm - has a todo passed on jvm 21:27
(squish passes on jvm, moar, moar-jit)
TimToady jnthn: I got the capture thing past the error, but there are some failing tests I need to look at 21:30
(having to do with allowing semis, I think) 21:31
21:31 muraiki left, kjs_ left
jnthn TimToady: OK :) 21:32
TimToady: fwiw, I was going to put a method on Capture called from-args
method from-args(|c) { c }
TimToady: And then just emit a callmethod on that :)
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 21:36 coffee` left, ben` joined 21:37 coffee` joined, telex left
jnthn TimToady: Huh? 21:38
21:38 telex joined 21:39 tinyblak left
jnthn TimToady: Won't that lose the nameds? 21:40
TimToady it still casts to Capture 21:41
but semiarglist returns a call node with no name at the top, expecting the routine name to get filled in later
jnthn Right, I was going to take that node, .unshift Capture, .op('callmethod'), and .name('from-args') 21:43
I don't thin kthe .Capture coercion approach can work
TimToady perhaps not
jnthn As it'll lose track of which named args were quoted and which weren't.
And iiuc \(foo => 42) and \("foo" => 42) should be different?
TimToady okay 21:44
jnthn Well, I'm asking if they should be... :P
tony-o does this moar dump mean anything to you timotimo ? gist.github.com/tony-o/344a9ba0433352b5686d
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
timotimo dunno; maybe if i had the function it crashes in?
21:45 ben` left
jnthn tony-o: Looks like hash corruption to me 21:45
eli-se seems it exploded like a volcano, so I'd say it's a hash eruption 21:47
timotimo you mean heap corruption? 21:48
tony-o: the problem i got was a segfault inside write functions which were called from inside libuv
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:50
timotimo well, yeah, our multithreading stuff isn't mature enough 21:51
eli-se more mature than my multithreading stuff :)
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. :)
tony-o: But so far I've been using them largely to improve the state of native stuff, including the native arrays.
spider-mario r: Array.new.gimme: Int
camelia rakudo-moar 64fe6c: OUTPUT«(signal SEGV)»
spider-mario just found this 21:53
TimToady well, hopefully .gimme is going away soon
jnthn Also, almost certainly another case of an already RT'd bug
eli-se is it a .gimmick? 21:54
timotimo %)
21:55 spebern joined
eli-se Is %) an obscure special variable like $] in Perl 5? 21:56
m: my %) = 42;
camelia rakudo-moar 64fe6c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0GF3cZXbae␤Unexpected closing bracket␤at /tmp/0GF3cZXbae:1␤------> 3my %7⏏5) = 42;␤»
tony-o is there a utility like node's supervisor that perly apps use? 21:57
PerlJam tony-o: is that the thing that reloads on changes? 21:58
tony-o yea, it also restarts the app upon crash
timotimo untroubled.org/daemontools-encore/s...ise.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.
tony-o github.com/isaacs/node-supervisor 22:00
timotimo: that is the one i'm referring to
PerlJam Though, there's a IO::Notification which could be used to build something like that without much difficulty (I think)
tony-o PerlJam: cool, thank you - i might give that a go once HSA is somewhere timotimo can use it somewhat reliably
22:01 brrt left 22:02 spebern left
tony-o i guess as an alternative i could just leave HSA segfaulting and then just encourage using supervisor (laugh) 22:02
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
timotimo it's not the module that's broken ... well, not necessarily 22:04
22:06 RabidGravy left
jnthn TimToady: I just hacked up gist.github.com/jnthn/36054887e166cf0e35f8 22:07
TimToady: Fixes various things and passes S02-types/capture.t at least as much as what we had before.
22:07 adu left
jnthn Full spectest runnin' 22:08
TimToady ah, when you said unshift Capture, you meant a little more than that :P
I kept getting Unknown QAST node type NQPMu 22:09
I'll let you put yours in and play with 'em
eli-se Is there a shorthand for `$_ = .foo()`?
jnthn .=foo(); 22:10
22:11 xinming left
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␤»
retupmoca m: $_ = 'foo'; .=uc; .say
camelia rakudo-moar 64fe6c: OUTPUT«FOO␤»
retupmoca ah, no space
tony-o m: $_ = 'foo'; .=\ uc; .say; 22:12
camelia rakudo-moar 64fe6c: OUTPUT«FOO␤»
jnthn TimToady: OK, spectest is most of the way there
eli-se retupmoca: shiny!
jnthn TimToady: Unless anything comes up in the next moment or two, will push it.
22:14 kaare_ left
dalek kudo/nom: 253bb58 | jnthn++ | src/ (3 files):
Fix various bugs in \(...) syntax.

It didn't correctly differentiate quoted pairs (positional arg) from identifier paris (named arg), nor did it support | for flattening into the Capture. This patches fixes both of these issues, as well as making it handle ;s.
22:17
22:18 espadrine left
dalek ast: 7a69c1e | jnthn++ | S02-types/capture.t:
Unfudge now-passing test for RT #122555.
22:20
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122555
TimToady we'll still have to decide what \(1,2,3, :foo; 4,5,6, :bar) means 22:21
jnthn aye
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
So, 2 code paths become one :) 22:23
TimToady but hey, say \(1,2,3; 4,5,6):foo work
s
22:23 mr-foobar left
eli-se What does ; mean? 22:23
TimToady multi-dimensional
m: say zip(1,2,3; 4,5,6) 22:24
camelia rakudo-moar 64fe6c: OUTPUT«1 4 2 5 3 6␤»
eli-se neat
TimToady a list of list
"lol"
m: say zip(1,2,3; 4,5,6):with(&infix:<~>) 22:25
camelia rakudo-moar 64fe6c: OUTPUT«1 4 2 5 3 6␤»
TimToady hmm, doesn't seem right
m: say zip(1,2,3; 4,5,6):with(&infix:<+>)
camelia rakudo-moar 64fe6c: OUTPUT«1 4 2 5 3 6␤»
TimToady nope, it's ignoring the adverb 22:26
22:27 mohij left
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
m: say &zip.^signature
camelia rakudo-moar 64fe6c: OUTPUT«No such method 'signature' for invocant of type 'Perl6::Metamodel::ClassHOW'␤ in block <unit> at /tmp/sjHvQLjgTq:1␤␤»
TimToady m: say &zip.signature 22:29
camelia rakudo-moar 64fe6c: OUTPUT«(Any |lol)␤»
TimToady ah, that would explain it
dalek kudo/moreinput: fcf012f | peschwa++ | src/Perl6/Grammar.nqp:
Simplify and correct moreinput.

  "nil" doesn't exist, and the conditional was probably always true anyway.
22:31
ast: 194f336 | jnthn++ | S02-types/capture.t:
Toss two tests assuming out-dated design.

We no longer bind nameds to positionals, and haven't for a long while.
22:32
ast: 7e3870b | jnthn++ | S02-types/capture.t:
Test |@a and |%h interpolation in \(...).
psch i realized that the way i've build moreinput there doesn't allow the "overwrite" way that's speculated in STD.pm6
jnthn TimToady: .^signature? :)
Oh 22:33
You relaized, nm :)
I thought we had an RT about |@a in \(...) not working but I canny find it...
Anyway, tested it now :) 22:34
Time for sleep... 22:36
o/
22:37 lichtkind_ left
psch and stage parse is some 2-3 seconds slower, from the looks of it 22:37
'night jnthn o/
dalek kudo/moreinput: add821b | peschwa++ | src/Perl6/Grammar.nqp:
Don't need that local var either.
22:39
22:40 coffee` left 22:41 eli-se left
tony-o am i on the right track with a 'CONTROL' block for catching SIG* ? 22:52
TimToady probably not; signals come in as a Supply 22:55
psch $ ./perl6 -e'signal(SIGINT).tap({ say "ok, ok!"; exit(1) }); sleep 10' 22:56
^Cok, ok!
psch didn't know that works
tony-o: S17 talks about it
dalek kudo/nom: 8dc34c2 | TimToady++ | src/core/LoL.pm:
allow :with on Z and zip
22:59
23:02 skids joined
tony-o awesome, thank you . i need better skimming skills 23:04
23:10 mr-foobar joined
timotimo who was working on moreinput again? 23:13
ah, it was psch 23:14
psch timotimo: i'm pondering if i should merge 23:15
23:15 pdcawley left
psch timotimo: cause it seems to work, and maybe people actually try it then :) 23:15
ugexe whats moreinput? 23:16
psch ugexe: a REPL feature. suppose to read more input until the current statement parses fully
*supposed
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:17
having to type `say "hi";^M` or `say "hi"^M^M` beats not being able to type `say "hi"^M if True;` 23:18
(althoug maybe i'm just missing something and that is doable)
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?
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
ugexe: moreinput is just about parsing, i'd guess your crashes are somewhere further along the compile stages
TimToady psch: a semicolon (or closing brace) policy seems sanish to me 23:22
psch right, (matching depths) closing brace also work 23:26
timotimo psch: i'd also accept triple-\n as a replacement for ;
psch timotimo: it does double currently 23:27
timotimo: that's the `say "hi"^M^M` from above
23:27 raiph left
dalek kudo/nom: 5665280 | TimToady++ | src/core/LoL.pm:
better approximation of zip/cross :with

  (assumes left reduction, still need to deal with baseop_reduce issues
but there's no baseop available by now, and assoc doesn't come through on op)
23:30
TimToady notes that List's reduce method is kinda pathetic for similar reasons 23:32
nap & 23:33
jdv79 is there a terse way to do "index() == 0"? looks like index kicks back a Nil instead of -1. 23:34
23:34 gfldex left
timotimo what do you want, exactly? 23:35
startswith or !contains?
you most probably want "defined index(...)" 23:36
jdv79 startswith
timotimo i've wondered that already; seems like you'd ~~ /^$foo/
which i'm not that satisfied with
jdv79 probably slower than index
meh, ok 23:37
timotimo how am i supposed to work on the weekly if this cat is so cuddly and soft!
no, it'll be faster than index
because index will continue looking if it doesn't find the text at the beginning
and so it'll take longer the longer the string is
jdv79 the strings are always short
timotimo ok
jdv79 index is faster than a regex in p5 but i'll bench it in p6 then if you think so
timotimo there's quite a bit of overhead to regexes, i'm afraid 23:38
i'm interested in making that work better, though
feel free to bench it, please
jdv79 maybe index().Str eq '0' but really?
idk
timotimo if you need high speed, you can use nqp::eqat, which operates on native str and should work very well
no, you want === 0 23:39
hm
no, eqv
jdv79 k
timotimo m: say "foobar".index("foo") // -1
camelia rakudo-moar 8dc34c: OUTPUT«0␤»
timotimo m: say "foobar".index("oo") // -1
camelia rakudo-moar 8dc34c: OUTPUT«1␤»
timotimo m: say "foobar".index("üöä") // -1
camelia rakudo-moar 8dc34c: OUTPUT«-1␤»
timotimo that also works
m: say Nil.Int 23:40
camelia rakudo-moar 8dc34c: OUTPUT«0␤»
timotimo not everything can be beatiful, i'm afraid
m: say \(1,2,3; 4,5,6):foo 23:41
camelia rakudo-moar 8dc34c: OUTPUT«\(1, 2, 3, 4, 5, 6, foo => True)␤»
timotimo does that count as "works"?
m: say \(1,2,3; 4,5,6)
camelia rakudo-moar 8dc34c: OUTPUT«\(1, 2, 3, 4, 5, 6)␤»
jdv79 probably, thanks
timotimo m: say \(1,2,3; 4,5,6).WHAT 23:42
camelia rakudo-moar 8dc34c: OUTPUT«(Capture)␤»
23:43 kurahaupo joined
dalek p: 8aeba2a | peschwa++ | src/QRegex/Cursor.nqp:
Turn NQPCursorRole.{target,orig} into accessors.
23:43
p: 315106c | peschwa++ | src/QRegex/Cursor.nqp:
Make fiddling with Cursor internals scarier, jnthn++.
p: 8f016d1 | peschwa++ | src/QRegex/Cursor.nqp:
Merge branch 'moreinput'
kudo/nom: 91b292d | peschwa++ | src/Perl6/Grammar.nqp:
Partially implement moreinput in our grammar.
23:45
rakudo/nom: d7b0597 | peschwa++ | src/Perl6/Compiler.nqp:
rakudo/nom: Provide $*moreinput for the REPL.
23:45 dalek left, laouji joined
psch dalek! /o\ 23:45
23:45 dalek joined, ChanServ sets mode: +v dalek
psch & 23:52
jdv79 oh duh. index() === 0. i'm 1/2 asleep.
sorry
23:55 Possum left 23:56 larion left
timotimo retupmoca: should i rename the domain that hosts the gtk dlls and also have it host other dlls like zlib, sdl, ...? 23:56
retupmoca: also, it'd be cool if you could give timo/cairo-p6 (or what it's called) the windows-dll-downloader treatment :) 23:57
retupmoca: also perhaps timo/SDL2_raw-p6? :) 23:59