»ö« 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/3neAFGWJszUnable 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«1234» | ||
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/V5o5Lrs9MFLexical 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 scopeat /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/0GF3cZXbaeUnexpected closing bracketat /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/F9ZyVgdPMUPreceding context expects a term, but found infix .= insteadat /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 |