»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by masak on 28 November 2015.
masak 'night, #perl6 00:01
jdv79 cya
dalek c: 6b644bd | (Brock Wilcox)++ | doc/Type/Cool.pod:
Document EVAL a bit
00:02
00:03 xpen joined 00:08 xpen left
dalek c: ddc42d3 | (Brock Wilcox)++ | doc/Language/testing.pod:
Add a bunch of testing subs to the search index
00:08
00:09 Pessimist left 00:11 Skarsnik left 00:14 vendethiel left 00:16 n0tjack joined 00:18 koo8 left 00:21 n0tjack left 00:26 rurban_ left
dalek kudo/nom: 8ddfff5 | lizmat++ | src/core/ (2 files):
A better fix for #126955, zefram++
00:29
lizmat and with that, good night, #perl6!
.tell TimToady seems like the last set of EVAL changes broke t/spec/S11-modules/require.t 00:30
yoleaux lizmat: I'll pass your message to TimToady.
00:39 raiph left, raiph joined 00:49 ilbelkitty left
dalek kudo/nom: 1efe240 | hoelzro++ | src/core/CompUnit/Repository/Installation.pm:
Set up $*RESOURCES for the distribution being installed

  $*RESOURCES was only set up for distributions that are loaded
by other pieces of code, so any installer that uses the CompUnit API to install dists will fail to set up %?RESOURCES for the precompilation process and cause it to fail
00:51
c: 58af38e | (Brock Wilcox)++ | doc/Language/5to6-nutshell.pod:
Remove last reference to first-index
00:53
c: 06e2aec | (Brock Wilcox)++ | doc/Language/nativecall.pod:
Index nativecall
01:00
awwaiid :{ ... } # the ':' forces this to be a hash literal, right? 01:03
01:05 raiph left, raiph joined
lucs ;If my new() method 01:09
er,
01:09 yeahnoob joined
lucs In some class, if I want to signify that my new() method failed, should it 「return Nil」 or something else? 01:10
dalek c: 32cd437 | (Brock Wilcox)++ | doc/ (2 files):
Document :{ ... } hash literal syntax
01:11
gfldex there may be an exception for that see: doc.perl6.org/type-exceptions.html
lucs Okay, thanks, reading... 01:12
01:12 TEttinger left
gfldex lucs: depends ofc on what your class is supposed to do 01:15
Nil is the absense of a value, new is asked to provide a value
i would be careful with Nil and prefere to invent my own exceptions if i can help it 01:16
lucs Makes sense, just more stuff to learn, eh :)
gfldex if you want to return some undefined value, returning the type object of the class could help too 01:17
TimToady doesn't seem broken here 01:18
yoleaux 00:30Z <lizmat> TimToady: seems like the last set of EVAL changes broke t/spec/S11-modules/require.t
01:19 ilbelkyr joined
lucs gfldex: In that last case, how do I test for that undefined value? 01:23
01:24 rurban left
gfldex m: class C { method new () { C } }; my $c = C.new; say so $c ~~ C:D, $c ~~ C:U, $c.defined; 01:25
camelia rakudo-moar 1efe24: OUTPUT«FalseTrueFalse␤»
gfldex lucs:^^^^
lucs gfldex++ Thanks for the example. 01:27
TimToady generally you'll want to fail in case
Nil is just the most benign form of failure 01:28
gfldex m: class C { method new () { C } }; class D is C { method new () { D } }; my $c-or-d = D.new; say $c-or-d ~~ C:U, $c-or-d ~~ D:U;
camelia rakudo-moar 1efe24: OUTPUT«TrueTrue␤»
gfldex lucs: note that type smilies are the way to go for inheritance
TimToady type objects are reserved more for conveying a type that expects to be instantiated, not failure to exist 01:29
01:30 AlexDaniel left
gfldex keeping the type information around can help with debugging deep call trees. Nil could come from everywhere. 01:30
gfldex .oO( Perl 6 supports gradual failure. ) 01:32
dalek blets: 317b600 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
linkfix
01:36
01:36 BenGoldberg joined
dalek blets: 22d4992 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
fixing another tables layout
01:41
labster m: IO(".") 01:46
camelia rakudo-moar 1efe24: OUTPUT«Cannot invoke this object␤ in block <unit> at /tmp/ZQnz3TovC9:1␤␤»
diakopter labster: hi!
labster Howdy diakopter
01:46 sammers left 01:47 sammers joined
dalek kudo/nom: b383852 | TimToady++ | src/Perl6/Actions.nqp:
.= and . should want LHS, fixes $a .= say if True;
01:47
TimToady huh, we never killed off 'as' 01:52
I wonder how much code out there still uses it...
well, it's relatively harmless compared to EVAL, so probably not worth breaking things 01:54
gfldex what does as do?
labster m: "/".IO.mkdir # well that's a surprise 01:56
camelia rakudo-moar b38385: OUTPUT«(signal SEGV)»
dalek kudo-star-daily: c7316d2 | coke++ | log/ (8 files):
today (automated commit)
01:57
kudo-star-daily: 8382061 | coke++ | log/ (8 files):
today (automated commit)
rl6-roast-data: 1976f26 | coke++ | / (7 files):
today (automated commit)
skids find a few in arnsholt/Net-ZMQ
labster j: "/".IO.mkdir 01:58
camelia rakudo-jvm 6c0f93: OUTPUT«Failed to create directory '/' with mode '0o777': File / already exists␤ in block <unit> at /tmp/LFlB2yNApP:1␤␤Actually thrown at:␤ in block <unit> at /tmp/LFlB2yNApP:1␤␤»
labster looks like moarbugs
01:59 rolv left
skids azawawi/perl6-net-curl has one "as" 01:59
lucs gfldex: Okay, just read up on type smilies (Rosetta code and S12). 02:01
Thanks for the pointers!
(er, the references?) 02:02
TimToady gfldex: it was the old syntax for coercions on parameters, replaced by coercion type like Int() 02:05
skids colomon/io-prompter has one "as", so does cosimo/perl6-lwp-simple, and jnthn/json-path 02:08
sammers hi all, trying to install IO::Socket::SSL on debian sid and getting "Cannot locate native library 'libssl'". I have libssl, libssl-dev, and openssl installed... I just tried again with libssl1.0.2, but still seeing the same error. What am I missing? 02:09
02:10 kaare_ joined, pjscott joined
pjscott I see quotemeta() was removed. Is there something left that would quote shell metacharacters for escaping filenames inside qq:x? 02:11
dalek kudo/nom: 739d1d2 | TimToady++ | src/Perl6/Actions.nqp:
unwarn does Inline::Perl5::Perl5Parent["Foo", $p5]
02:14
TimToady well, there's always tr///
02:15 snarkyboojum joined
TimToady or s:g/(\W)/\\$0/ 02:15
which is really all that quotemeta did
we got rid of it because it's not longer needed internally, since we parse regex inline rather than as a second pass now 02:16
02:18 n0tjack joined 02:19 xpen joined 02:21 xpen left, xpen joined
Juerd does really miss quotemeta 02:22
TimToady .tell lizmat require.t doesn't fail here
yoleaux TimToady: I'll pass your message to lizmat.
02:22 n0tjack left
TimToady afk # going to see Emma musical... 02:22
Juerd I have a quotemeta defined in three different perl6 things. One module, two contrived scripts
Have fun, TimToady :) 02:23
02:23 xpen_ joined 02:26 xpen left
skids Oh, tadzik/Shell-Command has an "as" and that's gonna need to be fixed pronto, probably before yanking it. 02:26
and some more in panda 02:27
pjscott thanks 02:28
skids sammers: hrm it installed for me. 02:29
sammers hmm 02:30
skids I have both libssl2.so and libssl.so in /usr/lib/x86_64-linux-gnu/ (as well as a .a) 02:31
erm libssl3 02:32
sammers ok, going to nuke moar and try again... 02:33
thanks
cxreg i used rakudobrew to build a couple weeks ago and self-upgrade is telling me "Already up-to-date." what did i do wrong? 02:38
there's over 300 commits on nom since then
maybe self-upgrade only upgrades rakudobrew itself? 02:40
guess so. trying "build moar" 02:41
[Coke] (perl6/parrot book bought my mistake) You can amplify the 1 star review on amazon that claims it is out of date. (nicely, pleaes) 02:49
pjscott I am missing something basic about Promises, I fear. The following produces inconsistent results: 02:53
my @x = 1..3; my $y = 0
$y =0;await do for @x -> $x { start { sleep 1; $y += $x } }; $y
$y may be 4, 5, or 6 02:54
cxreg you probably need a Promise.all around that? 02:56
Promise.allof
pjscott $y =0;await Promise.allof( do for @x -> $x { start { sleep 1; $y += $x } } ); $y 02:59
same behavior
I assume that this is not atomic
since $y is being modified by multiple parallel promises 03:00
cxreg i'm running your code against the latest nom and it gives me in alternating executions, "6" and a compilation error ?!
Cannot invoke this object (REPR: Null)
03:01 kaare_ left 03:02 ab6tract joined, xpen_ left
ab6tract m: my @x = 1..3; my $y =0;await do for @x -> $x { start { say "y: $y\nx: $x"; sleep 1; $y += $x } }; say $y 03:03
pjscott So I should not try modifying the same container from multiple simultaneous Promises I imagine. I can modify my actual code to workaround
camelia rakudo-moar 739d1d: OUTPUT«y: 0␤x: 1␤y: 0␤x: 2␤y: 0␤x: 3␤6␤»
ab6tract pjscott: that is almost certainly undefined behavior
pjscott: if you need that, then i would recommend using supplies and a react block 03:04
03:04 xpen joined 03:06 vendethiel joined
ab6tract pjscott: inside a react block each whenever is guaranteed to only be accessed by one thread at a time, allowing for you to do this kind of mutation safely 03:06
that said, i am still a bit surprised by this behabior 03:08
pjscott cool, thanks
ab6tract m: my @y; $y =0;await do for @x -> $x { start { say "y: $y\nx: $x"; sleep 1; @y[$x-1] = $x } }; say [+] @y 03:09
camelia rakudo-moar 739d1d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cVFLKj2puD␤Variable '$y' is not declared. Did you mean '@y'?␤at /tmp/cVFLKj2puD:1␤------> 3my @y; 7⏏5$y =0;await do for @x -> $x { start { sa␤»
ab6tract m: my @x = 1..3; my @y; await do for @x -> $x { start { @y[$x-1] = $x } }; say [+] @y 03:10
camelia rakudo-moar 739d1d: OUTPUT«6␤»
ab6tract m: my @x = 1..3; my @y; await do for @x -> $x { start { @y[$x-1] = $x } }; say [+] @y
camelia rakudo-moar 739d1d: OUTPUT«6␤»
ab6tract seems stable without the sleep, actually ... very curious
03:11 Ben_Goldberg joined
ab6tract m: my @x = 1..3; my @y; await do for @x -> $x { start { @y[$x-1] = $x; sleep 1 } }; say [+] @y 03:11
camelia rakudo-moar 739d1d: OUTPUT«6␤»
ab6tract also with the sleep at the other side
03:13 BenGoldberg left
ab6tract pjscott: iirc, this kind of array access via explicit index should also be safe to use. ditto with hashes. can't remember if that is *only* guaranteed for supplies or if we can trust it for basic promises like this. but to me this looks like a "we've returned from the promise before completing the promise" bug 03:13
explicit index/key is *definitely* safe within a supply 03:14
skids .tell tadzik I sent PRs on Shell-Command and on Panda to remove "as" in case there is a rushed pre-xmas removal of it. 03:15
yoleaux skids: I'll pass your message to tadzik.
ab6tract m: my @x = 1..3; my $y =0;await do for @x -> $x { start { $y += $x; sleep 1; } }; say $y 03:16
camelia rakudo-moar 739d1d: OUTPUT«6␤»
ab6tract pjscott: ^^ this also seems to be stable on my machine
cxreg i can't imagine that one's truly any safer 03:17
seems to be a race condition around modifying the container in multiple promises that are resolved simultaneously with the update
ab6tract cxreg: yeah, i wouldn't trust it necessarily. but the output is stable over here. 03:18
cxreg randomizing the sleep does as well
ab6tract the proper way to do this kind of mutation is within react/supply
skids Yes containers are not threadsafe. Do this: github.com/skids/perl6-Proc-Screen...38bf491698
cxreg wonder if it's something that should fail to compile :/
ab6tract where any given whenever block is guaranteed to be run in only one thread at a time
03:19 n0tjack joined
pjscott yes, I noticed it was stable without the sleep. My original code had something that took a fraction of a second to execute and when I boiled it down it was stable without a sleep 03:20
ab6tract pjscott: github.com/ab5tract/Terminal-Print...t/Grid.pm6 03:21
the mutation of the grid array is safe here, hope the example makes sense/helps
pjscott thanks 03:23
03:23 noganex joined
skids The protection afforded by "whenever" is useful assuming you are OK with non-parrallel execution of course. 03:23
03:25 n0tjack left 03:26 noganex_ left
pjscott the previous code I was working on was: 03:27
await do for @x -> $x { start { sleep 1; %f.push( 42 => $x ) } }
03:30 vendethiel left 03:34 kid51 left 03:37 ab6tract left
grondilu concurrent pushes on the same hash? sounds unsafe. 03:42
(also what does it mean to push on a hash?)
m: (my %).push: * 03:43
camelia rakudo-moar 739d1d: OUTPUT«Trailing item in Hash.push in block <unit> at /tmp/T0ROD7K_4O:1␤»
diakopter it's not safe
grondilu m: (my %).push: pi
camelia rakudo-moar 739d1d: OUTPUT«Trailing item in Hash.push in block <unit> at /tmp/eIAgj59QZr:1␤»
diakopter you have to send it an even number of items 03:44
grondilu oh of course
03:44 BenGoldberg_ joined
skids 6guts.wordpress.com/2014/04/17/rac...ess-leads/ #exlains these matters 03:44
grondilu anyway, rather do: %f.push: await do {...} 03:45
03:47 Ben_Goldberg left
labster I'm thinking IO::Path.mkdir and .rmdir should set $!e (existence flag) 03:47
m: my $p = "testdir-112".IO; say $p.mkdir; say $p.e, $p.Str.IO.e; 03:49
camelia rakudo-moar 739d1d: OUTPUT«True␤TrueTrue␤»
labster m: my $p = "testdir-112".IO; $p.e; say $p.mkdir; say $p.e, $p.Str.IO.e 03:50
camelia rakudo-moar 739d1d: OUTPUT«True␤TrueTrue␤»
labster m: my $p = "testdir-212".IO; say $p.e; say $p.mkdir; say $p.e, $p.Str.IO.e
camelia rakudo-moar 739d1d: OUTPUT«False␤True␤FalseTrue␤»
labster there it is. Caching the existence of the file. 03:51
skids Well, what if something else rmdirs it between $p.mkdir and $p.e? 03:54
labster then it would still be wrong?
skids I agree, it should not be "False" if nothing rmdirred it. 03:55
But maybe $p.e should actually always check.
Or I dunno how tightly that is all specced to be coupled. 03:56
03:56 llfourn joined
labster Perl 5, -e $file would always check. But you could use -e _ to reuse the same result. 03:58
03:59 yqt left 04:04 [Tux] left 04:08 CQ2 joined 04:10 CQ left, CQ2 is now known as CQ 04:16 [Tux] joined 04:20 n0tjack joined 04:26 n0tjack left
[Coke] getting some EVAL related errors: prove -v -e t/fudgeandrun t/spec/S17-procasync/stress.t t/spec/S32-array/adverbs.t t/spec/S32-io/IO-Socket-Async.t 04:40
ah. it's probably systemic. (was trying to diagnose some failures in the stresstest) 04:41
05:05 TimToady left, risou is now known as risou_awy, risou_awy is now known as risou 05:07 TEttinger joined, TimToady joined 05:09 AlexDaniel joined 05:23 Actualeyes joined 05:28 skids left 05:42 BenGoldberg_ left 05:46 pjscott left 05:51 khw left 05:59 xinming_ joined 06:03 xinming left 06:05 n0tjack joined 06:06 cgfbee joined, cgfbee left 06:07 cgfbee joined 06:09 n0tjack left 06:23 cognominal joined, sno left
dalek kudo/nom: 8622b90 | hoelzro++ | lib/NativeCall.pm6:
Use empty string for undefined library names

Some C library implementations, for example, glibc, allow a NULL string to be passed to their dynamic library loading function (dlopen in the case of glibc). This returns a handle for the currently executing image, and is a pretty popular way to access libc routines dynamically. This change makes it possible to use `is native(Str)` once again
06:23
06:23 Actualeyes left 06:35 mohae left 06:44 mohae joined 06:47 pierre-vigier joined 06:56 zengargoyle left, zengargo1le joined 07:07 geraud left 07:27 CIAvash joined, mohae left, FROGGS joined, mohae joined
nine .tell TimToady Test.pm6 is part of the CORE dist that's installed during make install by tools/build/install-core-dist.pl. When you make changes to Test.pm6 just do a make install afterwards. 07:31
yoleaux nine: I'll pass your message to TimToady.
TimToady didn't work 07:32
yoleaux 07:31Z <nine> TimToady: Test.pm6 is part of the CORE dist that's installed during make install by tools/build/install-core-dist.pl. When you make changes to Test.pm6 just do a make install afterwards.
TimToady maybe it's better now... 07:33
07:33 labster left 07:42 labster joined
[Tux] test 50000 25.021 24.907 07:42
test-t 50000 14.549 14.435
csv-parser 50000 52.601 52.487
test suite still fails on EOL, but delaying that
llfourn [Tux]: so is that back to normal after whatever happened yesterday? 07:45
[Tux] speed-wise, yes
llfourn Cool :)
[Tux] EOL-wise, I am not yet satisfied
llfourn I haven't heard of the EOL issue? 07:46
llfourn reads irc logs
[Tux] write \r\n to a file, then read back from it: it is \n now (at least on Linux/Unix)
07:47 xinming_ left
llfourn I see. Thanks. 07:48
tux.nl/Talks/CSV6/speed4.html -- nice blip!
[Tux] reload
llfourn ah it's a spike now :) 07:49
07:51 xinming joined
[Tux] => $work 07:51
07:53 AndyDee left 07:55 darutoko joined 07:58 snarkyboojum left 07:59 raiph left, xinming left 08:01 xinming joined 08:03 RabidGravy joined 08:06 n0tjack joined
nine hoelzro: you still up? 08:06
RabidGravy marning all 08:07
08:08 nowan left
nine TimToady: I cannot reproduce the failure to update the installed Test module. I make a change to lib/Test.pm6, do make install and the change is visible. 08:09
TimToady well, don't sweat it, I was changing the internals at the same time, so could've been some random skew 08:10
08:11 n0tjack left
stmuk rocket launch in 33 mins 08:11
diakopter ooo 08:12
08:14 nowan joined 08:15 sno joined 08:17 zhi joined 08:20 ellybelly left
nine Wow, just had a spectest run (incl. Perl 5 integration) and only t/spec/S32-array/adverbs.t and t/spec/S17-supply/throttle.t failed. Hasn't looked this good for a looong time 08:21
_nadim Good morning all
08:22 ellybelly joined
llfourn o/ _nadim 08:25
08:26 firstdayonthejob joined 08:28 brrt joined, vividsnow joined 08:29 zhi left 08:31 zhi joined 08:35 pierre-vigier left 08:39 CQ left 08:43 pierre-vigier joined
stmuk www.rt.com/on-air/soyuz-rocket-car...pacecraft/ 08:44
. o O ( how many mins to perl6 blastoff? ) 08:45
Humbedooh not sure minutes is the best way to count :D 08:47
08:49 eads joined, eads left 08:53 CQ joined
RabidGravy m: use Test; EVAL "say 42" 09:10
camelia rakudo-moar 8622b9: OUTPUT«42␤»
RabidGravy m: class Test {}; EVAL "say 42"
camelia rakudo-moar 8622b9: OUTPUT«42␤»
RabidGravy oh, was that backed out then?
at 23:14 last night it was crapping out 09:11
DrForr How are we doing for release anyway? 09:15
09:15 hartenfels joined 09:16 dakkar joined 09:18 labster left 09:20 vytas joined, vytas left
RabidGravy on the grounds that I have gone two kernel updates since last reboot I think I had better do that 09:22
09:23 vytas joined
RabidGravy see y'all in a tick 09:24
09:25 RabidGravy left, rurban joined
nine DrForr: I think pretty good 09:27
though I would love to see the run_alt issue fixed before the release 09:28
DrForr Nice. 09:29
nine I just fear that one's above my pay Readegrade
Ah typing on a phone screen will never really work... 09:30
09:32 RabidGravy joined
RabidGravy there 09:32
09:33 lolisa joined
DrForr I'm just hoping to get inspired on the way home to start planning the tutorial, it'd be nice to know that I'll have something to teach :) 09:33
09:33 pierre-vigier left, pierre-vigier joined 09:34 rurban_ joined, rindolf joined 09:35 nowan left 09:36 yeahnoob left 09:38 nowan joined 09:39 andreoss joined
andreoss java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp' 09:39
while building jvm-nom 09:40
llfourn andreoss: when I get that with moar it usually means I have to Configure.pl again
andreoss: are you using rakudobrew? 09:41
andreoss yes
llfourn hmm that's strange it's meant to do it for you automatically
09:41 sQuEE` joined 09:42 Some-body_ joined
andreoss also why building jvm-nom anyway? why don't just download pre-built tarball? 09:42
09:43 pierrot_ joined 09:44 hanekomu_ joined 09:45 BinGOs_ joined, orevdiabl joined, tony-o_ joined, sjn_ joined, sivoais_ joined, Juerd_ joined, larion_ joined, chewie_1982 joined, arnsholt_ joined, jojotus_ joined, profan_ joined, dbohdan_ joined 09:46 boegel|quassel joined
stmuk I'm only seeing one failure on OS X :D t/spec/S32-array/adverbs.t 09:48
09:48 Hotkeys_ joined, dustinm`_ joined, mjgardner joined, moznion_ joined
stmuk RabidGravy: there have been several EVAL changes 09:49
m: EVAL "say 42"
camelia rakudo-moar 8622b9: OUTPUT«42␤»
stmuk m: EVAL 42
09:50 dustinm` left, raydiak_ left, jojotus left, sQuEE left, Hotkeys left, moznion left, hanekomu left, Gardner left
RabidGravy oh 09:50
09:50 mjgardner is now known as Gardner, Some-body_ is now known as DarthGandalf, Juerd_ is now known as Juerd
camelia rakudo-moar 8622b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0KFJvArb5Y␤EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override,␤but only if you're VERY sure your data contains no injection attacks)␤at /tmp/0KFJvArb5Y:1␤------> 3EVAL 427⏏5<E…» 09:50
stmuk m: EVAL 42
camelia rakudo-moar 8622b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2B3GST6WGh␤EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override,␤but only if you're VERY sure your data contains no injection attacks)␤at /tmp/2B3GST6WGh:1␤------> 3EVAL 427⏏5<E…»
stmuk m: constant Test=1; EVAL 42
camelia rakudo-moar 8622b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VmMAUJvq9l␤EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override,␤but only if you're VERY sure your data contains no injection attacks)␤at /tmp/VmMAUJvq9l:1␤------> 3constant Test=1;…»
stmuk its all fixed AFAIK 09:51
RabidGravy ah good
09:52 sivoais_ left 09:55 sivoais joined 09:56 spacebat joined 09:57 anon joined, b2gills joined, anon is now known as Guest89912, kst` joined, masak_ joined 09:59 jdrab_ joined, emdashcomma joined, bonsaikitten joined 10:00 lestaway joined 10:01 raydiak_ joined 10:02 sivoais left, grondilu_ joined, zacts_ joined, sunnavy_ joined 10:03 Praise- joined, Praise- left, Praise- joined 10:04 robertle joined 10:05 bpmedley joined, sivoais joined
nine stmuk: throttle.t fails when I run with a high TEST_JOBS setting. It's suffering from a race condition 10:05
10:06 M-Illandan1 joined 10:09 atta_ joined 10:12 zengargo1le left, grondilu left, bpmedley_ left, mspo left, thundergnat left, Guest27964 left, go|dfish left, sunnavy left, M-Illandan left, atta left, jdrab left, Praise left, lestrrat left, masak left, xiaomiao left, masak_ is now known as masak, lestaway is now known as lestrrat, sivoais left
andreoss llfourn: i did rakudo nuke jvm, and start it again 10:12
masak good antenoon, #perl6 10:13
10:13 rurban left
andreoss No writeable path found 10:13
in block <unit> at tools/build/install-core-dist.pl:12
10:13 kmnns joined 10:14 BinGOs_ is now known as BinGOs
nine andreoss: what does the following command give you? ./perl6-jvm -e 'say $*REPO.repo-chain' 10:14
10:14 BinGOs left, BinGOs joined
andreoss $ perl6/jvm-nom/perl6-j -e 'say $*REPO.repo-chain' 10:14
Error: Could not find or load main class perl6
10:15 mspo joined, sivoais joined, rurban joined, zhi left
andreoss pastebin.com/ucDcELGv 10:16
moritz andreoss: did you "make install"?
andreoss moritz: i did not, rakudobrew might have 10:17
it appears to be not properly finished
10:19 mprelude left 10:21 zengargoyle joined
andreoss j: $*REPO.repo-chain 10:22
camelia rakudo-jvm 6c0f93: OUTPUT«Dynamic variable $*REPO not found␤ in block <unit> at /tmp/gKC_AIjyyP:1␤␤Actually thrown at:␤ in any at gen/jvm/Metamodel.nqp:2853␤ in block <unit> at /tmp/gKC_AIjyyP:1␤␤» 10:23
nine I'm starting to develop a sever dislike for rakudobrew. It's only little more comfort over "git clone [email@hidden.address] && cd rakudo && perl Configure.pl --gen-nqp --gen-moar && make install" and it makes debugging build problems quite difficult
10:23 sivoais left
diakopter I'm kindof liking the unified-Makefile strategy idea 10:24
10:24 Amnez777 left
DrForr It always comes back to make(1). 10:24
10:25 sivoais joined
nine When you don't let yourself be distracted by its arcane syntax, make(1) is actually really good at what it does 10:25
10:26 go|dfish joined
andreoss i can't just download binary java classes for rakudo jvm? 10:26
10:26 Amnez777 joined 10:28 gensym joined, CIAvash left 10:30 andrewalker joined 10:31 espadrine joined 10:32 sivoais left 10:33 iH2O joined 10:35 sivoais joined
andreoss nine: i run rakudo build jvm again, and now it's failing with this 10:35
Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Pod.nqp'
10:39 Guest89912 left
_nadim I read in some doc that role can take a single argument if they have a single attribute, can't find it again (of course), does anyone have a link to that dc? 10:40
jnthn: I think it was one of yours
10:42 sivoais left
lizmat good *, #perl6! 10:42
yoleaux 02:22Z <TimToady> lizmat: require.t doesn't fail here
lizmat last night, I set off a JVM spectest with TEST_JOBS= ( so no parallel testing): the result gist.github.com/lizmat/78df0c3c363abbe05c3a 10:44
10:45 sivoais joined
lizmat m: my @a; @a .= sort if @a # this seems wrong 10:45
camelia ( no output )
lizmat huh?
ok, guess I need to pull and build first :-) 10:46
yup, seems that b383852eaac324b98 fixed that
10:46 kmnns left 10:47 xinming left
RabidGravy _nadim, do you mean parameterised roles? 10:47
they can take any arguments doc.perl6.org/language/objects#Para...ized_Roles 10:48
they only obvious difference between the role parameters and method/sub arguments is that [square brackets] are used 10:50
stmuk andreoss: I saw something similar with rakudobrew moar and had to nuke
10:51 xinming joined 10:53 sivoais left 10:55 sivoais joined, xinming left
_nadim RabidGravy: thanks but not that one, it documented single argument to roles; as well as private attributes to roles. 10:57
bartolin_ my last JVM spectest (from last night) looks ok-ish: github.com/usev6/perl6-roast-data/...ummary.out (run without defining TEST_JOBS)
RabidGravy I'm not sure what you mean then
10:58 eyck left, eyck joined
_nadim do roles have a constructors? or shouldn't have? or makes no sense?! 10:59
arnsholt_ You can instantiate roles. But what you end up instantiating (IIRC) is an empty class that does the role 11:00
RabidGravy m: role Foo { method bar() { say "bar" } }; Foo.new.bar # yes - it's called type-punning
camelia rakudo-moar 8622b9: OUTPUT«bar␤»
nine RabidGravy: but there, the role doesn't really have a constructor. It's the class that's automatically generated that has one 11:01
11:01 iH2O left
RabidGravy m: role Foo { method new() { say "constructor" }; method bar() { say "bar" } }; Foo.new.bar # it has now 11:01
camelia rakudo-moar 8622b9: OUTPUT«constructor␤Method 'bar' not found for invocant of class 'Bool'␤ in block <unit> at /tmp/KxpvJMKBt3:1␤␤»
_nadim and it's something that I'd like to be called automatically, eg: a role gets multipe parameters and must do something with them before being effective. 11:02
RabidGravy m: role Foo { method new() { say "constructor" ; return self.bless; }; method bar() { say "bar" } }; Foo.new.bar # it has now
camelia rakudo-moar 8622b9: OUTPUT«constructor␤bar␤»
11:02 sivoais left 11:03 pierre-v_ joined
_nadim Ah! good 11:03
lizmat can't you just do "class A does B[params] ?
RabidGravy m: role Foo[Str $message] { method new() { say "constructor" ; return self.bless; }; method bar() { say $message } }; Foo["boo"].new.bar # it has now
camelia rakudo-moar 8622b9: OUTPUT«constructor␤boo␤»
RabidGravy and by extension what lizmat said 11:04
andreoss stmuk: when i nuke it's a different error
> No writeable path found
you might see my pastebin link above
11:05 sivoais joined, pierre-vigier left
_nadim RabidGravy: these are good news, although I wonder why the parameters in [], I want to do role composition (of sort), where a role is given a role as paramete. 11:06
lizmat .tell TimToady require.t still fails for me: gist.github.com/lizmat/366474e4595276fc014c 11:07
yoleaux lizmat: I'll pass your message to TimToady.
nine m: role Foo { method new() { say "constructor" ; return self.bless; }; method bar() { say "bar" } }; class Bar does Foo { method new() { self.bless }; }; Bar.new.bar 11:08
camelia rakudo-moar 8622b9: OUTPUT«bar␤»
nine RabidGravy: ^^^^ that's why it's no good idea
_nadim: ^^^
RabidGravy nine, *I* know that but I really don't know where _nadim is going 11:09
:)
11:09 loren joined
vytas "[Perl6] failed to deliver on every single promise made, most prominently , Perl5 compatibility" - ( blog.schmorp.de/2015-11-12-tidbits-...-bugs.html ) Perl6 never promised that, did it ? 11:09
ilmari it promised interoperability 11:10
which Inline::Perl[56] gives you 11:11
RabidGravy *shrug* another blog post whining about something where the author went straight to the ranting without engaging the community. I ignore them.
11:11 telex left
lizmat yeah, it's schmorp 11:11
ilmari and 'use v5' for the syntax
lizmat and having Perl 6 in the title, feels a bit like hit whoring to me at this point 11:12
11:12 telex joined
_nadim bleah! the new method installed in the class (of course now I think a bit) 11:12
11:12 sivoais left
lizmat his premise: not only drew Perl 6 good developers away from Perl 5, they came back mediocre and started destroying Perl 5 11:12
* 11:13
11:13 ZoffixWin joined
lizmat (as in Whatever!) 11:13
RabidGravy :)
FROGGS well, nobody ever promised Perl 5 *compat* AFAIK, the reason to make Perl 6 was to break it... but we have Perl 5 *interop*
ZoffixWin Dude, it's a shmorp's blog... It's the guy who forked P5 and deliberately made his modules break on newer perls
Who cares what he thinks about P6 11:14
_nadim but I think I will be fine, i want to do something like role A {} ; role B{} ; class C does A(B) ; where A quirels B away and soes things with it
RabidGravy _nadim, yesterday I believe jnthn fixed up supplying multi candidates from reoles
llfourn once rewrote a web scraper in coro and it caused all sorts of bizare crashes
_nadim RabidGravy: sounds like goodies, althoug most sound like goodies, I need to see some example to understand what that means ;) 11:15
11:15 sivoais joined
brrt .ask Tux whether he'd care to test the moarvm timos-jit-patch branch for the slowdown in the test 11:15
yoleaux brrt: I'll pass your message to Tux.
ZoffixWin points to the top entry on cpanratings.perl.org/dist/Coro#12274
11:15 Skarsnik joined 11:17 vividsnow left
brrt i've commited a fix for some of the issues i could spot at sight, but i'm not sure whether it makes a differenc 11:18
because the whole test suite is pretty dog-slow too me
nine The mountain of arrogance in that blog post is staggering...
_nadim RabidGravy: Ah! I think I understand what multicandidates for roles can do. it is probably good in a tool box, right now I want a role, well the one method it supplies to use another role
Skarsnik Hello 11:19
brrt hi Skarsnik 11:21
_nadim hi
11:22 sivoais left
nine andreoss: FWIW make install with JVM backend fails here too, but with a different error: Missing serialize function for REPR ContextRef 11:22
FROGGS nine: I had seen both messages 11:23
11:24 smls joined 11:25 sivoais joined
lizmat nine: confirm, same message on make install 11:25
smls m: my @a; @a ||= (2, 4, 6) if 1;
camelia rakudo-moar 8622b9: OUTPUT«WARNINGS for /tmp/nbVvhKdvYu:␤Useless use of @a in sink context (line 1)␤»
smls ^^ TimToady
lizmat fwiw, I also saw it in the spectest
11:26 brrt left
Skarsnik does is cached is experimental? 11:26
RabidGravy _nadim, I'm still not quite understanding what you are after, do you mean: 11:27
m: role B { method foo() { say "foo" } }; role C { method add-role(::R) { self does R } }; class A does C {}; my $a = A.new; $a.add-role(B); $a.foo
camelia rakudo-moar 8622b9: OUTPUT«foo␤»
11:27 kaare_ joined
vytas llfourn, Coro works well and I actually like it segfaulting early, as it pinpoints issues in my code. It's good blog post regarding that actually, but with misleading information on Perl6, with Perl6 in the title but nothing really about Perl6 and crappy conclusion.. 11:27
FROGGS Skarsnik: yes it has :P 11:28
RabidGravy er, segfaulting is *never* a good error reporting mechanism in a library
vytas thanks all for clarifying regarding P5 compatibility
RabidGravy, it's better then trying to hide it. with good unit tests and including GC stages means I don't see Coro issues in production 11:30
Skarsnik Oooh more drama? x) 11:31
RabidGravy rather you than me :)
11:31 administrator joined
DrForr If we go aroudn trying to stomp on all the drama and attention seeking nothing would get *done*. 11:32
RabidGravy vytas, if it's between segfaulting and hiding it, then it is not good software and I wouldn't use it in production
DrForr *around
11:32 administrator is now known as Guest10189 11:33 sivoais left
vytas RabidGravy, I am not sure I understand your comment here, as Perl5 is at fault here 11:34
RabidGravy anyway
llfourn could be :). I was a pretty new perl programmer back then. I think it used WWW::Mechanize::Firefox and bunch of Moose so I dunno what's to blame for my difficulties.
( re vytas ) 11:35
11:35 sivoais joined, kid51 joined
llfourn but then I made a new one using Mojo and never looked back 11:35
11:37 muraiki joined, pierre-v_ left 11:42 sivoais left
RabidGravy what's the difference between IO::Socket::Async.udp and IO::Socket::Async.bind-udp ? (hint: I can't seen any difference in the code) 11:43
11:44 lichtkind_ joined 11:45 sivoais joined
nine vytas: no it's not Perl 5's fault. Perl 5's destructor behavior is very well documented. If a library author decides to ignore that documentation and write failing code, it's hardly Perl's fault 11:46
11:47 lichtkind left
nine vytas: and if the library author argues that the documented behavior is wrong, then he should also make a suggestion on how to actually implement a better behavior. Without that it's hard to take the criticism serious as the author obviously doesn't know the difficulties involved. 11:48
dalek c: 40d7d6c | RabidGravy++ | doc/Type/IO/Socket/Async.pod:
chars-supply and bytes-supply gone
11:49
11:52 lichtkind_ left, sivoais left 11:53 ZoffixWin left 11:54 n0tjack joined 11:55 _nadim left, sivoais joined 11:56 czester13 joined
smls m: say $_ = \( "foo", b => 42 ); when :($a, :$b) { say $a, $b } 11:56
camelia rakudo-moar 8622b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dlU74Sn2V3␤Variable '$a' is not declared␤at /tmp/dlU74Sn2V3:1␤------> 3foo", b => 42 ); when :($a, :$b) { say 7⏏5$a, $b }␤»
smls ^^ Is there a way to get a stand-alone signature to declare its parameters? 11:57
sergot m: EVAL 11:58
camelia rakudo-moar 8622b9: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in block <unit> at /tmp/9iB3LhIZW6:1␤␤»
llfourn smls: I tried this earlier today and couldn't see a way
smls ok
11:58 n0tjack left
smls I guess I'll use a lexically scoped multi sub then ;) 11:59
instead of given/when
11:59 pierre-vigier joined
llfourn smls: mmm yeah why not? :) 12:00
12:00 xpen left, thundergnat joined 12:02 sivoais left
llfourn I wonder if there is some way of doing a anon multi-sub... 12:02
smls good question
lizmat hmmm... how would one anon sub know it is part of a multi with another anon sub ? 12:03
12:03 pierre-vigier left
lizmat I guess an anon proto in a lexical scope could unite all anon subs in that scope conceivably 12:04
12:04 pierre-vigier joined
lizmat and then return the proto from the scope ? 12:04
12:05 sivoais joined
llfourn interesting idea! 12:05
RabidGravy I think I've done that somewhere
andreoss masak: i'm trying to add repl to 007, sadly making $runtime a global variable doesn't create a shared scope, according to AST it runs a single statement in a block. thus `my x = 1` is the same as `{ my x = 1}`. could you give me any hint here? As I see it now, there should be something like class Q::Scope is Q::Block { ... }, which would be entered but not left.
llfourn you could something similar in an module by cheating using .add_dispatchee
12:06 pierre-vigier left 12:07 salva left 12:08 pierre-vigier joined 12:09 pmurias joined 12:10 pierre-vigier left
RabidGravy smls, something like: 12:10
m: say $_ = \( "foo", b => 42 ); my $c = -> $ ($a, :$b) { say $a, $b }; $c($_)
camelia rakudo-moar 8622b9: OUTPUT«\("foo", :b(42))␤foo42␤»
llfourn RabidGravy: but what if you want to dispatch against many subs? 12:11
pmurias hi
|Tux| .tell brrt gist.github.com/Tux/946162c6e29aa2f44a29
yoleaux |Tux|: I'll pass your message to brrt.
gfldex i'm getting Failed to open file /usr/local/src/rakudo-2015-12-21/install/share/perl6/site/sources/AE46567315EAEDEEC3BB86B7F840D6F711ED032F.rev-deps: permission denied
does precomp wants to open those files for writing? 12:12
12:12 Begi joined, loren left, sivoais left
sergot .seen masak 12:12
yoleaux I saw masak 10:13Z in #perl6: <masak> good antenoon, #perl6
dalek p: 4301f9b | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Implement nqp::capturehasnameds, nqp::captureexistsnamed.
12:13
p: 1c1e96a | (Pawel Murias)++ | t/nqp/76-capture.t:
Test nqp::capturehasnameds, nqp::captureexistsnamed.
12:15 sivoais joined
gfldex it does try to open that file for writing. Rakudo is confused right now when build as root and run as a non-priv user. 12:20
12:21 loren joined
FROGGS gfldex: but isnt that expected when you build as root? 12:22
12:22 sivoais left
gfldex i solved that problem by running perl6 in my home directory as root. It created plenty of precomp files with root permissions that i had to chown by hand back to my non-priv user. I would say that is undesireable. 12:23
12:23 rurban left 12:27 rurban_ left
gfldex besides, if rakudo can't create precomp files, i would expect it to drop the idea of precomping and just run the script. 12:29
12:30 lucasb joined 12:33 pierre-vigier joined
Begi Is there a IRC support module for Perl6 ? I believe there is not 12:34
RabidGravy zg
z
grr
Skarsnik there is like 2-3 of them
DrForr Inline::Perl5 will let you use Perl5 modules...
RabidGravy at least one, I meant to type
pmurias jnthn: what should I do about ops that rakudo doesn't seem to use? 12:35
RabidGravy modules.perl6.org/#q=irc
12:35 pierre-vigier left
Skarsnik we need a .modules IRC or something like that x) 12:35
pmurias jnthn: I could write tests and implement them in nqp-js but I feel it might make sense to just remove them?
RabidGravy Skarsnik, if only there was a module for that ;-) 12:36
pmurias, bear in mind that there may be things in the ecosystem that use otherwise unexposed nqp things 12:37
probably not many mind 12:38
12:38 salva joined
smls m: multi x () { say "without b" }; multi x (:b!) { say "with b" }; x; x :b 12:39
camelia rakudo-moar 8622b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1Ax8PvO_F6␤Missing block␤at /tmp/1Ax8PvO_F6:1␤------> 3ti x () { say "without b" }; multi x (:7⏏5b!) { say "with b" }; x; x :b␤»
smls ^^ Is it not possible to require a flag in a signature without binding its value to a parameter?
s/parameter/variable/ 12:40
lucasb you mean like pattern match using a pair object? idk if it's possible
but (:$b!) works...
smls No, I mean just check if the named parameter was passed
nine gfldex: it should only write to that repo when you install something. 12:41
gfldex nine: it didn't install anything and it was working yesterday 12:42
nine gfldex: what does $*REPO.repo-chain.say print?
smls Hm, :b($)! works. But :b(True) doesn't.
12:42 pierre-vigier joined
gfldex nine: (inst#/home/dex/.perl6/2015.11-706-g8622b90 inst#/usr/local/src/rakudo-2015-12-21/install/share/perl6/site inst#/usr/local/src/rakudo-2015-12-21/install/share/perl6/vendor inst#/usr/local/src/rakudo-2015-12-21/install/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => CompUnit::Repository::NQP.new(next-repo => CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository))) CompUnit::R 12:43
epository::NQP.new(next-repo => CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository)) CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository))
gist.github.com/gfldex/0c4b507bc214f95bec5f
nine: i found that rakudo turns symlinks (it's actually /usr/local/src/rakudo/ -> rakudo-2015-12-21) what may be wrong too 12:44
nine gfldex: oh, I just saw: sources/AE46567315EAEDEEC3BB86B7F840D6F711ED032F.rev-deps is totally bogus anyway
.rev-deps files are supposed to be alongside precomp files, not source files 12:45
12:45 pierre-vigier left 12:46 kid51 left, Guest10189 left
nine gfldex: there are only two places that assemble a path to a .rev-deps file and both look absolutely correct to me. So I assume there's something very strange about your installation. 12:48
gfldex i did git clean and rm -r install already 12:49
i will try without the symlink
12:50 xinming joined
nine gfldex: what does this give you? perl6 -e 'say $*REPO.precomp-repository.store.prefix' 12:50
lucasb m: foo:{} 12:52
camelia rakudo-moar 8622b9: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
lucasb m: :::[]
camelia rakudo-moar 8622b9: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol :<>␤»
lucasb star: :::[]
camelia star-m 2015.09: OUTPUT«===SORRY!===␤MVMArray: Index out of bounds␤»
lucasb ^^ I think that :::[] is an old one 12:53
12:54 virtualsue joined
RabidGravy finally sees the difference between IO::Socket::Async.udp and IO::Socket::Async.bind-udp 12:54
(code blindness)--
andreoss m: say $*REPO.precomp-repository.store.prefix 12:58
camelia rakudo-moar 8622b9: OUTPUT«"/home/camelia/.perl6/2015.11-706-g8622b90/precomp".IO␤»
andreoss j: say $*REPO.precomp-repository.store.prefix
camelia rakudo-jvm 6c0f93: OUTPUT«Dynamic variable $*REPO not found␤ in block <unit> at /tmp/Om5x2mKJhf:1␤␤Actually thrown at:␤ in any at gen/jvm/Metamodel.nqp:2853␤ in block <unit> at /tmp/Om5x2mKJhf:1␤␤»
13:00 Actualeyes joined, administrator joined 13:01 administrator is now known as Guest49158
lucasb awwaiid: ping 13:02
pmurias RabidGravy: the thing I'm currently looking at is nqp::captureposprimspec
gfldex nine: /home/dex/.perl6/2015.11-706-g8622b90/precomp 13:05
that path exists, got the right rights and is empty
RabidGravy I'd grep the ecosystem for it but I'm feeling rather slack ;-) Never seen it in my travels though
nine gfldex: and it's exactly the right path. I really don't get where a /usr/local/src/rakudo-2015-12-21/install/share/perl6/site/sources/AE46567315EAEDEEC3BB86B7F840D6F711ED032F.rev-deps can even come from. 13:06
13:08 arnsholt_ is now known as arnsholt
gfldex nine: i removed the symlink, killed install, rebuild and rebootstrapped panda. Same result. 13:08
nine gfldex: what does --ll-exception reveal about where in the code the error occurs?
gfldex nine: gist.github.com/gfldex/a5693b0262c7b6302854 13:09
13:09 rurban_ joined
|Tux| .tell brrt 13.769, so healthy 13:11
yoleaux |Tux|: I'll pass your message to brrt.
gfldex nine: do you build rakudo as root? 13:12
nine gfldex: no, never
gfldex most distros will have rakudo/install as root. You don't really want that stuff to be writeable by any noob. :) Playing the hard game right from the start may come to your advantage later. 13:14
Skarsnik I need to use constant to create new type that are just alias to another one? 13:15
13:16 czester13 left
andreoss nine: why never? 13:17
nine gfldex: oh my, I'm so stupid. All the time I've looked into an old version. I only noticed because the line numbers in your backtrace did not make sense. 13:18
gfldex: I clearly see the error in the code now
gfldex please remove that error. Running perl6 as root is a wee little bit annoying. :) 13:19
13:19 hassoub joined 13:20 hassoub left, znpy joined
uruwi That's it, screw Cygwin. I want to dual-boot Linux on my machine. 13:22
13:22 pierre-vigier joined 13:23 Psyche^_ joined
Skarsnik or run a linux on a virtual box vm 13:23
uruwi eh, too much effort 13:24
and lots of overhead
13:24 pierre-vigier left
Skarsnik effort? 13:24
uruwi Too much of a bother installing a VM. 13:25
And also the overhead
And I have a flash drive that I need to format because it's spamming me with multi-volume set messages 13:26
Skarsnik hm, XML does not pass its test
13:27 Psyche^ left
dalek kudo/nom: 581b87a | (Stefan Seifert)++ | src/core/CompUnit/PrecompilationRepository.pm:
Remove bogus copy&pasto

Thanks to gfldex++ for patiently giving me debug information!
13:28
nine gfldex: ^^^
vytas rakudobrew nuke moar; rakudobrew build moar/panda; panda install Linenoise; perl6; <-- throws warning can't find Linenoise. Is this known problem? 13:29
13:33 nowan left, xpen joined
dalek kudo/nom: 76c447b | lizmat++ | src/core/IO/Path.pm:
Remove superfluous escaping, zefram++
13:34
lizmat nine: would it be a recommendation for people to nuke their install after your last commit ? 13:35
13:36 nowan joined
gfldex lizmat: it only showed up for me it seams (rakudo install as root) 13:36
lizmat aha, ok
13:36 _4d47 joined
nine lizmat: not necessary. We probably wrote some useless files, but they should not harm 13:37
13:37 lolisa left
hoelzro nine: I'm up now; what's up? 13:38
lucasb perl6 -e 'say q/"""/.IO.gist' #=> "/tmp/"""".IO 13:39
perl6 -e 'say IO::File.new(abspath=>q/"""/).gist' #=> """"".IO
Skarsnik m: my $a = True; say $a ~~ Str|Numeric
camelia rakudo-moar 8622b9: OUTPUT«True␤»
Skarsnik should it be false?
lucasb lizmat: ^^ what's your opinion about delegatin .gist to .perl or something else?
Skarsnik or what change that? (that make XML fail now)
lucasb *delegating
lizmat lucasb: is that supposed to signify an empty path ? 13:40
vytas m: my @array = 1,2,3; my $smth = @array; say $smth.^name; # ARRAY - is this correct
camelia rakudo-moar 8622b9: OUTPUT«Array␤»
andreoss is there an easy way to match text between any matching brackets? 13:41
nine hoelzro: in github.com/rakudo/rakudo/commit/1e...7f07caf535 why do you use :repo($*REPO) and not :repo(self)?
andreoss like q()
lucasb lizmat: idk, it's path that has quotes in it...
hoelzro nine: probably because I don't know what I'm doing =P
13:42 cygx joined
lucasb I just think strange .gist returning something that looks like valid perl, but it's not 13:42
cygx o/
hoelzro nine: I'll try that out and make sure that works, thanks for the input =)
lucasb maybe it could return some other format
lizmat gists are never intended to be valid perl
lucasb then, they don't need quotes around it
lizmat m: say <a b c d>
camelia rakudo-moar 8622b9: OUTPUT«(a b c d)␤»
cygx could someone checkout github.com/perl6/roast/pull/89 and see if the tests mentioned in the commit messages still run properly? 13:43
uruwi I should have installed Linux four months sooner.
lizmat cygx: run fine for me 13:44
nine hoelzro: also you set $*RESOURCES to the the Distribution::Resources of the module currently being installed. That will be the wrong one for reverse dependencies from other dists 13:45
uruwi And also being tired of seeing aliased Japanese text on many webpages
cygx pulls trigger
hoelzro nine: ok; how should I fix this? I was having trouble with getting %?RESOURCES to compile for any module being installed 13:46
dalek ast: e3c7a92 | cygx++ | S02-literals/quoting.t:
S02-literals/quoting.t: account for automatic newline translation on win32
ast: 76c6af6 | cygx++ | S02-literals/quoting.t:
S02-literals/quoting.t: win32 cmd uses & as separator

Revert "S32-io/{move,rename}.t: properly check return value of &unlink"
As requested by: irclog.perlgeek.de/perl6/2015-12-21#i_11752073
This reverts commit 789e8b0c9a705d84be3195d75f67f559640ebe77.
13:46 dalek left, uruwi left
hoelzro I was getting this type error about $dist-id being Any when it should be a Str 13:46
lizmat cygx: running spectest again to verify
13:46 dalek joined, ChanServ sets mode: +v dalek
nine hoelzro: well you are certainly on the right track! It's just reality trying to be more complicated than we hoped for 13:46
cygx lizmat++ 13:47
andreoss m: sub foo(Int() $a) { $a }; say foo(True)
camelia rakudo-moar 8622b9: OUTPUT«True␤»
andreoss is there an argument coercion? 13:48
nine hoelzro: I'd say we just have to set the right $*RESOURCES for the rev-dep being compiled in line 185. The difficult part is just finding the right dist-id for a precomp-id 13:49
lizmat m: say True.^mro
camelia rakudo-moar 8622b9: OUTPUT«((Bool) (Int) (Cool) (Any) (Mu))␤»
13:49 anaeem1_ joined
andreoss which will work with Bool 13:49
hoelzro ah ha 13:50
andreoss m: sub foo(Bool() $a) { $a }; say foo(81)
camelia rakudo-moar 8622b9: OUTPUT«True␤»
hoelzro nine: should I just back out my change to prevent any further weirdness until we have this properly fixed?
lucasb maybe Bool could do a role Integral, instead of be a subclass of Int... but idk what I'm talking :)
13:50 Ven joined
nine hoelzro: well the change - incomplete as it may be - obviously has improved things for you. So I'd leave it in for now. 13:51
lizmat Bool is a proper Enum nowadays, hence also an Int
andreoss m: sub foo(Bool() $a) returns Int() { $a }; say foo(81)
camelia rakudo-moar 76c447: OUTPUT«Type check failed for return value; expected Int(Any) but got Bool␤ in sub foo at /tmp/Hr2JRpqDjt:1␤ in block <unit> at /tmp/Hr2JRpqDjt:1␤␤»
lizmat cygx: some fails in t/spec/S32-io/move.t (14, 26, 28-29) and t/spec/S32-io/rename.t (14, 26, 28-29) 13:52
Skarsnik m: my $a = True; say $a ~~ Int;
camelia rakudo-moar 76c447: OUTPUT«True␤»
Ven o/, #perl6!
Skarsnik well this should not work ~~
lizmat cygx: looks like the cleanup's fail
Skarsnik m: my $a = 1; say $a ~~ Bool; 13:53
camelia rakudo-moar 76c447: OUTPUT«False␤»
vytas m: my @a[;];
camelia rakudo-moar 76c447: OUTPUT«(signal XFSZ)Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Resultchild 0 can't returns! BOOTInt␤- QAST::Op(callmethod new) ␤ - QAST::WVal(Array) ␤ - QAST::Stmts+{QAST::SpecialArg}(:named<shape>) ;␤ - 0␤␤Non-QAST node visit…»
andreoss "coerce argument to Bool and coerce return value to Int" ?
m: sub foo(Bool() $a) returns Int { $a }; say foo(81) 13:54
camelia rakudo-moar 76c447: OUTPUT«True␤»
andreoss m: sub foo(Bool() $a) returns int() { $a }; say foo(81)
camelia rakudo-moar 76c447: OUTPUT«Type check failed for return value; expected int(Any) but got Bool␤ in sub foo at /tmp/WrWDA5uway:1␤ in block <unit> at /tmp/WrWDA5uway:1␤␤»
cygx lizmat: you may back out 789e8b0c9a705d84be3195d75f67f559640ebe77 for now 13:55
on *nix, nonexistent fails can apparently be unlinked, whereas on MinGW, thats a failure 13:56
13:56 n0tjack joined
lucasb about unlink return values: irclog.perlgeek.de/perl6/2015-12-15#i_11717347 13:59
^^ I don't like it doens't any notice that things didn't work
*it doesn't give any notice 14:00
14:00 n0tjack left
lucasb so... coercion types as return constraints doesn't work, right? 14:02
m: sub f(--> Int()) { 42 }; f
camelia rakudo-moar 76c447: OUTPUT«Type check failed for return value; expected Int(Any) but got Int␤ in sub f at /tmp/zOj0fzztdV:1␤ in block <unit> at /tmp/zOj0fzztdV:1␤␤»
lucasb m: sub f(--> Int()) { Int() }; f 14:03
camelia ( no output )
lucasb m: sub f(--> Int()) { Int() }; say f
camelia rakudo-moar 76c447: OUTPUT«Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CoercionHOW'␤ in block <unit> at /tmp/oeByywiJvF:1␤␤»
Skarsnik m: sub f(--> Int) { 42 }; f
camelia ( no output )
lucasb m: say Int()
camelia rakudo-moar 76c447: OUTPUT«Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CoercionHOW'␤ in block <unit> at /tmp/RH2dXB5dXZ:1␤␤»
lucasb m: say Int().perl
camelia rakudo-moar 76c447: OUTPUT«Int(Any)␤»
vytas m: my @a{} # shouldn't this warning change as shaped arrays are [] ? 14:05
camelia rakudo-moar 76c447: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FvG2B9zO6V␤The {} shape syntax with the @ sigil is reserved␤at /tmp/FvG2B9zO6V:1␤------> 3my @a{7⏏5} # shouldn't this warning change as sha␤»
14:10 anaeem1_ left
dalek c: 85fbee8 | RabidGravy++ | doc/Type/IO/Socket/Async.pod:
Add the new UDP related methods
14:10
14:10 anaeem1_ joined 14:11 crux joined
RabidGravy I've so rarely used UDP I haven't really got a feel for whether there is enough there 14:14
dakkar hello. I was looking at #126005 and… do while/loop blocks have a "return value"?
(the bug reports UNDO blocks firing on every iteration of a loop)
14:14 anaeem1_ left
pochi m: my Int $a is default(42) = 0; say $a; $a = (Int); say $a; $a = Nil; say $a 14:15
camelia rakudo-moar 76c447: OUTPUT«0␤(Int)␤42␤»
pochi what's the difference between assigning (Int) and Nil?
jdv79 pochi: there's docs on that stuff. doc.perl6.org maybe. 14:17
pochi is currently reading S02
gfldex pochi: Nil is ment to revert a container to it's default value.
14:17 rurban_ left
jdv79 that's a differend kind of doc. maybe not the best for some people. 14:17
lizmat m: my $a is default(42) = 666; say $a; $a = Nil; say $a 14:19
camelia rakudo-moar 76c447: OUTPUT«666␤42␤»
jdv79 which is basically said in the first few bits of doc.perl6.org/type/Nil.
lizmat m: my $a is default(42) = 666; say $a; $a = Int; say $a
camelia rakudo-moar 76c447: OUTPUT«666␤(Int)␤»
gfldex pochi: if a container demands a defined value, you can set the default by hand. see the following for a usecase gfldex.wordpress.com/2015/12/10/ha...iners-too/ 14:21
Skarsnik hm interresting fail: travis-ci.org/supernovus/exemel/jobs/98120044 14:22
14:22 anaeem1_ joined
Ven dakkar: not really, unless you "do" them 14:25
m: say for ^3 { $_ };
camelia rakudo-moar 76c447: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0Lf69mi3Ka␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun␤at /tmp/0Lf69mi3Ka:1␤------> 3…»
dakkar Ven: S04 is a bit confusing on that point
Ven m: say for ^3 { .say };
camelia rakudo-moar 76c447: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fgl99ydtMO␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun␤at /tmp/fgl99ydtMO:1␤------> 3…»
cygx lucasb: according to the code, unlink is supposed to ignore nonexistent files 14:26
Ven m: say do for ^3 { .say };
camelia rakudo-moar 76c447: OUTPUT«0␤1␤2␤(True True True)␤»
cygx it's just that the windows implementation is buggy
Ven dakkar: ^
cygx I can change it either way (fix the windows implementation or adjust the *nix one to consider unlinking nonexistent files a failure)
dakkar Ven: eh 14:27
14:27 skids joined, ab6tract joined
dakkar m: my $x=0;my @y = do for ^3 { ++$x }; @y>>.say 14:27
camelia rakudo-moar 76c447: OUTPUT«1␤2␤3␤»
dakkar fine
m: my $x=0;my @y = do while $x < 3 { ++$x }; @y>>.say
camelia rakudo-moar 76c447: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|83868400>}|57278840) ... }␤»
ab6tract Ven: that's a bit of a weird example, no?
dakkar ???
Ven ab6tract: yeah
gfldex m: my %seen of Int is default((Int but role :: { method Str() {'NULL'} }).new); say %seen<not-there>; 14:28
camelia rakudo-moar 76c447: OUTPUT«NULL␤»
ab6tract dakkar: 'dd' is a nice alternative to >>.say
dakkar m: my $x=0;my @y = do while $x < 3 { ++$x }; dd @y
camelia rakudo-moar 76c447: OUTPUT«Array $var = $[sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|83868400>}|55648632) ... }]␤»
gfldex m: my %seen of Int is default((Int but role :: { method Str() {'NULL'} }).new); say %seen<not-there>; say %seen<not-there>.defined;
camelia rakudo-moar 76c447: OUTPUT«NULL␤True␤»
14:28 zhi joined
ab6tract dakkar: i do not think that while can be 'do'-ed 14:28
dakkar ab6tract: that's more-or-less my initial question 14:29
Ven yeah, seems like I was mistaken, sorry :). Guess you gotta gather
dakkar there's this bug that says "while/loop/until fire UNDO on each loop"
ab6tract where is this bug?
dakkar rt.perl.org/Public/Bug/Display.html?id=126005
gfldex m: my %seen of Int is default(0 but role :: { method Str() {'NULL'} }); say %seen<not-there>, %seen<not-there>.defined, Int.new(%seen<not-there>); 14:30
camelia rakudo-moar 76c447: OUTPUT«NULLTrue0␤»
gfldex neat :)
dakkar the behaviour is sort-of understandable, since UNDO phasers fire when exiting a block without a defined result
if a block does not have a result… UNDO fires
ab6tract dakkar: ah, yes i see what you mean
the behavior seems sane, though could conceivably be special-cased if deemed undesirable
dakkar it's an interaction between the VM's implementation of frames, and the exit handlers 14:31
I think I'll just report my findings to RT, and leave the decision (and eventual fix, maybe) to someone else
my C and general VM knowledge is not up to scratch :)
ab6tract but i think that this is kind of exactly what one should expect for these loop style constructs. it leaves the block to test the conditionaly
*conditional
without a return value 14:32
smls m: given {a => [2, 4, 6]} -> (:@a is copy) { say @a }
camelia rakudo-moar 76c447: OUTPUT«replace this Array is copy logic␤ in block <unit> at /tmp/r64gBqmt_o:1␤␤»
14:32 Ven_ joined
smls ^^ What does this error message mean? 14:32
Ven_ m: my %seen of Int is default(0 but role :: { method Str() {'NULL'}; method defined { False }; }); say %seen<not-there>, %seen<not-there>.defined, Int.new(%seen<not-there>);
camelia rakudo-moar 76c447: OUTPUT«NULLFalse0␤»
Ven_ even better :D
dakkar ab6tract: S04 says «The value of a loop statement is the list of values from each iteration»
which does not seem to have much to do with current reality 14:33
14:33 Ven left
ab6tract nope, it doesn't seem to match at all, nor do i understand why that would have been the suggested case 14:34
14:35 administrator joined
RabidGravy dakkar, it seems in the case of while the value is something that isn't useful at all: 14:35
nine m: my @a = do for 1 .. 3 { $_ + 1 }; say @a; 14:36
camelia rakudo-moar 76c447: OUTPUT«[2 3 4]␤»
RabidGravy m: my $f = do while Bool.pick { UNDO { say "undo" }; }; say $f.WHAT
camelia rakudo-moar 76c447: OUTPUT«undo␤(Method)␤»
14:36 administrator is now known as Guest20490, brrt joined
ab6tract umm 14:36
m: my $i; while $i++ < 5 { say "$i seen here" }
camelia rakudo-moar 76c447: OUTPUT«1 seen here␤2 seen here␤3 seen here␤4 seen here␤5 seen here␤»
ab6tract huh, that doesn't work locally
m: sub f { my $i; while $i++ < 5 { "$i seen here" } }; say f() 14:37
camelia rakudo-moar 76c447: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|83868400>}|58249736) ... }␤»
lizmat m: say do for ^10 { $_ } # dakkar: seems to work with do on for
camelia rakudo-moar 76c447: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
ab6tract lizmat: yeah but isn't for just an alias for map now? 14:38
skids loop return values were only implemented for "for" loops. It's been suggested that some of the iterable stuff may be preferable to actually implementing it, but making a final call on that has been neglected so far.
lizmat ab6tract: basically, yes :-)
14:38 Guest49158 left
brrt Tux: huh... that branch exists surely 14:38
yoleaux 12:11Z <|Tux|> brrt: gist.github.com/Tux/946162c6e29aa2f44a29
ab6tract skids: doesn't explain to me why i get that crazy sub definition back as a return value
yoleaux 13:11Z <|Tux|> brrt: 13.769, so healthy
brrt ok, i missed something? 14:39
:-)
brrt backlogs
skids ab6stract: oh yeah, I think that behavior might be new and sink/want related
ab6tract this is the most churned perl6 period i've ever seen :S 14:40
brrt everybody wants to fix everything before the release :-)
ab6tract cheers to everyone in the trenches getting it readty
skids non-for loops are supposed to return lazy lists on the last statement IIRC, unlike for which actually runs.
brrt which is healthy
RabidGravy ab6tract, it appears that the return value of a while is something to do with the loop condition rather than anything that happens in a block
ab6tract RabidGravy: true... in fact, it looks almost like it *is* the while loop block that is returned, as i guess that is something like the signature we could expect from it 14:41
skids ISTR while returning the result of the conditional not so long ago.
ab6tract brrt: it's healthy for the code, but i expect not for the developers. but we like to torture them anyway :) 14:42
brrt .ask tux for my clarity whether the healthy numbers are from the fixed branch, and whether he's ok with me merging stuff
yoleaux brrt: I'll pass your message to tux.
brrt .botsnack
yoleaux :D
brrt :-) 14:43
well, we've seen, great sink refactors, EVAL being outlawed
dalek kudo/nom: f1226f1 | hoelzro++ | src/core/CompUnit/Repository/Installation.pm:
Use current repo for $*RESOURCES

Otherwise, things will end up installed in the wrong repo!
  nine++ for the tip
|Tux| atm *both* branches are healthy (speedwise)
lizmat nine: gist.github.com/lizmat/237e55dd03b1b5d6c4a3 # .rev-deps file littering roast after a spectest
ab6tract m: EVAL "say 42"; my $a = "say 56"; EVAL $a;
camelia rakudo-moar 76c447: OUTPUT«5===SORRY!5=== Error while compiling /tmp/muD0fJqriB␤EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override,␤but only if you're VERY sure your data contains no injection attacks)␤at /tmp/muD0fJqriB:1␤------> 3EVAL "say 42"; m…»
lizmat nine: perhaps we should add .rev-deps to .gitignore ?
nine: or provide some kind of cleanup ? 14:44
ab6tract brrt: indeed, so this churn is also not particularly healthy for the ecosystem
m: EVAL "say 42"
camelia rakudo-moar 76c447: OUTPUT«42␤»
dakkar m: my @x=do for ^2 { UNDO say "undo"; Nil }; dd @x;
camelia rakudo-moar 76c447: OUTPUT«undo␤undo␤Array $var = $[Any, Any]␤»
brrt i think RabidGravy's LibraryCheck won't work either, however i had a question
ab6tract m: EVAL "say {41+1}" 14:45
camelia rakudo-moar 76c447: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Zp6ayTv9CJ␤EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override,␤but only if you're VERY sure your data contains no injection attacks)␤at /tmp/Zp6ayTv9CJ:1␤------> 3EVAL "say {41+1}…»
|Tux| that only leave two issues for me: utf8-c8 and the EOL issue
brrt Tux, thanks, then i think i'm going to merge it in
dakkar I understand why ^^^ happens, but it still looks a bit odd
ab6tract that's a pretty fine line :)
brrt .ask masak whether what's done in github.com/jonathanstowe/LibraryCh...ryCheck.pm with EVAL can be done with macro's
yoleaux brrt: I'll pass your message to masak.
ab6tract |Tux|: ooc, why do you care about EOL? in perl 5 those \r would be nuked without a thought, right?
|Tux| nope
RabidGravy brrt, work for what? It can't check for "non-system" libraries 14:46
but I'm willing to consider anything it makes it more useful
brrt work anymore
i mean
because it uses EVAL without use MONKEY
|Tux| perl5: «open my $fh, "<", "foo.txt"» where foo.txt has \r\n, my $x = <$fh> => "abc\r\n"
RabidGravy ah I see 14:47
let's see
CQ hello, is there a way to see successful http authentications from the logs? I want to generate a list of daily logins to a webpage...
ab6tract hmm..
CQ sorry, meant for #httpd
14:48 loren left
ab6tract well, i certainly sympathize with jnthn++ that this is a no-win scenario 14:48
|Tux| ab6tract, note that I have :!chomp (chomp set to False in perl6)
14:48 raiph joined, zhi left
brrt so i was wondering, seeing as we're simply substituting a library name, whether macros could do that 14:48
|Tux| so whatever is in the source should stay in what I read
ilmari |Tux|: are you reading in text or binary mode? 14:49
|Tux| text
ilmari well, then you get graphemes back
ab6tract yeah that does feel like it shouldn't be tampering with newlines.. but at the same time, i can't personally care much for that. you are also losing the original unicode encodings
ilmari do you object to "e\{COMBINING DIAERESIS}" being normalised to a single grapheme too? 14:50
|Tux| the problem with binary is that there is no way to change from binary to text and back on an open file handle
ilmari read binary and decode ho you want yourself?
unicode specifies tat "\r\n" is a single grapheme, no?
brrt gives splitting grapheme issues in most cases ilmari
or we should have something like a decode-with-modulus 14:51
|Tux| ilmari: that is up to the user by using utf8-c8, which is what is the second issue :)
ab6tract why couldn't they just get this right in the design? ;) 14:52
|Tux| ilmari, URL for Unicode specifying \r\n to a single grapheme? (that might convince me to deal with that differently)
ab6tract encodings are unbelievably annoying and the least possible fun
URL?
oh, sorry, now it parses :)
|Tux| where can I read that \r\n is a single grapheme in the Unicode docs? 14:53
brrt afk for now
14:54 brrt left
vytas m: say run("false").status # what's status ? 14:54
camelia rakudo-moar f1226f: OUTPUT«run is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:1␤ in sub run at src/RESTRICTED.setting:14␤ in block <unit> at /tmp/UXBZ2CJp3N:1␤␤»
ilmari |Tux|: www.unicode.org/reports/tr29/#Table...e_Clusters
Woodi RabidGravy: "things in the ecosystem that use otherwise unexposed nqp" :) probably nqp is new XS becouse it is "standard" way for making things faster...
14:54 jpoehls_ joined 14:55 jpoehls_ left
Woodi hi #perl6 :) 14:55
14:56 ZoffixW joined
ZoffixW Begi, I've just released v2.001001 of IRC::Client, which is much more usable than the previous version. Check it out: modules.perl6.org/repo/IRC::Client 14:57
14:58 n0tjack joined
ab6tract Woodi: no, not really comparable to XS at all imo 14:59
14:59 zacts_ left
ab6tract well, outside of the performance question. but it is not prevalent like XS, thankfully 15:00
regarding perl6advent.wordpress.com/2015/12/...-beyond-c/ 15:01
skids m: start { sleep 1; }.status.say; start { sleep 1; }.WHAT.say; start { sleep 1; }.perl.say; # vytas: status is whether a Promise is broken or complete or pending
camelia rakudo-moar f1226f: OUTPUT«Planned␤(Promise)␤Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable), status => PromiseStatus::Planned)␤»
ab6tract i was under the impression that FROGGS had implemented C++ compat for NativeCall that would not force us to do the extern dance
Skarsnik Yes there is lot of code for cpp
ab6tract Skarsnik: so is the advent post wrong? 15:02
15:02 n0tjack left
RabidGravy .tell brrt fixed LibraryCheck with v0.0.5 15:02
yoleaux RabidGravy: I'll pass your message to brrt.
Woodi ab6tract: yes, not exactly. but if nqp will be visible to programmers then it will be used. and if it will be used then backcompatibility will be hurting
nine lizmat: sorry about that :/ A git clean -f in t/spec should clean up sufficiently 15:03
RabidGravy Woodi, the only places I use nqp things is where I can't do what I need without it, speed doesn't come in to it 15:04
ab6tract Woodi: i was under the impression that we would not allow 'use nqp' anywhere outside of core, but i guess that's not very Perl-ish
lucasb cygx: Hi, thanks for the note. (sorry for the delay, I was away)
idk what should be done about unlink. I just wanted to bring it up, since the return values surprised me.
ChoHag I have attempted to rewrite the 2nd paragraph of modules.pod in a way which makes it clear which sense of 'module' is referred to (in an un-comitted checkout of a github fork).
I may or may not have succeeded in muddying the waters.
Who cares about and checks these kind of things? 15:05
Skarsnik considering this cpp code work github.com/rakudo/rakudo/blob/nom/...ngling.cpp in the test. Yes the advent is probably wrong
but it does not work for every c++ compiler
15:05 ZoffixW left
FROGGS Skarsnik: should work with g++/clang (linux, osx) and g++/MSVC (windows) 15:06
ab6tract Skarsnik: should work on every C++/11 compatible one though, right?
damnit C++, sort your crap out already!
lucasb is the description of object hashs (:{...}) accurate in this commit? github.com/perl6/doc/commit/32cd43...23c9b91f9e 15:07
ChoHag It's been trying for 30 years.
arnsholt ab6tract: Nope. Name mangling is very explicitly compiler-specific
ab6tract FROGGS: should/could you make a comment on that advent post? it's a bit of a shame that it presents extern, considering it isn't necessary
arnsholt In fact, different implementations are *encouraged* to have different name mangling schemes
ab6tract arnsholt: C++ 11 spec is supposed to define an ABI
arnsholt Oh, it does? 15:08
FROGGS ab6tract: will do
arnsholt I'm not very up to date on C++
RabidGravy I'm sure if someone wants a different c++ compiler supported they will provide a patch ;-)
lizmat nine: so you're saying one should do that after every spectest run ?
arnsholt But given the reasons for name mangling being compiler-dependent, I can't see how they do that and not also make all sorts of requirements on object-layout and such
15:09 hankache joined
ab6tract myself either. it was quite news to me when i heard about it, given how much of a ridiculous PITA C++ bindings have always been 15:09
15:09 sivoais joined
hankache hello #perl6 15:09
15:09 sivoais left
ab6tract arnsholt: well it was a stupid problem to begin with, imo. surprised it didn't kill C++ adoption to begin with 15:09
ChoHag lizmat: Before.
ab6tract 30 years without an ABI is crazy 15:10
ChoHag Tests should in principle run against a known environment. FSVO known.
I'm having this argument at $ork with the guy who wants the automated pre-release test suite to poke the live database and customer APIs...
hankache do we have a full list of pragmas and what they do?
ab6tract ChoHag: ...... 15:11
don't you have a development environment with versions of those dbs?
ChoHag Psh!
Development environment? They call it "production". 15:12
ab6tract well, please tell me the name of your site so that i know to never store PII there :P
Woodi ab6tract, brrt: "1.5d to deadline... everybody wanted to fix everything and things was breaking as they was fixed. Then Management called: guys, we need to sink things before they go to into void... Luckily Overlord had idea how to do this. Actually, we can't whine on our Managers as they are lastly barely sleeping and Head Engeener can consult with them what things actually should be doing. Then management c
ChoHag I wish I was joking.
robertle as a C++ person I would like to said that while the name manglign certainly isn't nice, the question at the beginning of C++ history was whether to write a linker or use the one that was there. and the answer was to use the one present even if it made a few things uglier...
nine lizmat: no, just once after updating to at least commit 581b87a765bed561f6c1f773c00dd983476eb434 which fixes this issue
Woodi alled... We need to BLOCK that ...
... feature! And name it in memories of that famous agency that ex-employes are bashing that other agency..." ;)
Woodi hides!
ab6tract robertle: thanks for the clarification. the brush i was using was too wide to acknowledge that i'm sure there was a reason. mea culpa 15:13
ChoHag I'm trying to beat them into shape but it's heavy going - I've only been their sysadmin for 2 months.
Within 2 days of having a test/build server they had to turn it off because the rockstar comitted a massive patch and they thought - incorrectly - that the test suite was what broke live. 15:14
15:14 lnrdo joined
lnrdo Hey! 15:14
ab6tract ChoHag: well, at my $work we consider live traffic to be our test suite, but we also have a very full featured development environment
"test suite broke live" ... ? i'm feeling sorrier for you by the minute :S 15:15
FROGGS ab6tract: I commented, thank you :o)
lucasb m: say :{ (Int) => 1 }.perl
camelia rakudo-moar f1226f: OUTPUT«:{Int => 1}␤»
lucasb m: say :{ (Int) => 1 }
camelia rakudo-moar f1226f: OUTPUT«(Int) => 1␤»
lucasb ^^ I think the output of .perl is wrong. anyone confirms it? 15:16
lnrdo I've been trying to install moarvm, rakudo start and Task::Star with no luck. Anyone know of any guide (including versions) that is expected to work on Debian or OS/X?
15:16 prammer joined
hankache does anyone have a list of perl 6 pragmas? 15:16
15:17 AlexDaniel left
ab6tract does anyone know what nick Chartenhels goes by? it might be nice to have an update in the post itself 15:17
FROGGS lnrdo: what is the problem you running into? current versions of rakudo should work on osx and linux
15:17 administrator joined
lnrdo FROGGS: I'm running into trouble during tests for modules included on Task::Star 15:17
flussence ChoHag: I was in a similar nightmare job a few years ago; no tests *at all* when I started there. 80k when I left... but I just know they haven't been run once since.
15:18 administrator is now known as Guest66044
ab6tract lnrdo: this is not altogether surprising, unfortunatelty 15:18
15:18 _4d47 left
ChoHag flussence: I intend to cement the tests into the release process. 15:18
lizmat FROGGS: fwiw, Inline::Perl5 doesn't install out of the box atm :-(
ab6tract FROGGS++ # thanks for clarifying
ChoHag Now, except for bypassing the whole thing as they've done, the test server is what merges code into the live branch.
FROGGS lnrdo: ahh, so you might need to contact the module authors; or, you install an older rakudo star that ships its own modules (though then you will run into trouble when updating modules)
lizmat FROGGS: at least not for me, on OS X 15:19
ChoHag And it only does it when the tests pass.
FROGGS lizmat: ohh, what a shame
RabidGravy attempts to install Task::Star to see if it fails
lizmat the use.t tests fail
15:19 Guest20490 left
arnsholt ab6tract: Well, it'd force the C++ standard to dictate all kinds of irrelevant crap like object layout and such, which would break the language even more 15:19
It's annoying, but the right call IMO
lnrdo RabidGravy: Tested on both Debian/Ubuntu and OS X
ChoHag Forcing tests to work or else should at least stop regressions. Assuming the tests themselves are valid.
FROGGS arnsholt: the right call is to switch to Perl 6 :P
lnrdo Some modules will install after retrying.
Then executing the same command several times result in a different result :p 15:20
lizmat nine: confirm that spectest does not leave .rev-deps around anymore
ab6tract arnsholt: robertle pointed towards a decision about new vs existing linker, not about object layout or related
RabidGravy it appears to be that old "Cannot unbox a type object" in panda
robertle ab6tract: no worries, I think a lot of C++ people find the ABI issues quite frustrating as well. but I find that aspect of the C++ history quite positive as well: there was a clear focus on the language itself, not on other bits and bobs. other, perhaps more modern, languages seem to try and build everything together as one coherent system: language, libraries, maker, linker, package management, style guid
lnrdo Both on Linux and OS X.
nine lizmat: \o/
robertle e etc. that can't be right either...
ChoHag *sigh* Unfortunately the rockstar is unavailable to have his assumptions proven wrong so that I can re-enable the system.
lnrdo RabidGravy: Yes, that is the intermittent one.
ab6tract but i'm a dynamic programmer for a reason, and always been mad at c++ for not playing nice :)
lnrdo RabidGravy: If you try again, you get it working. 15:21
RabidGravy yes I know
15:21 Begi left, sivoais joined
ab6tract robertle: I always appreciate a historical perspective. thank you! 15:22
lnrdo Also it probably requires instructions on how to properly "enable" client libraries for PosgreSQL, MySQL and others, or do not require all to install Task::Star
15:22 hans_ joined 15:23 raiph left
arnsholt ab6tract: Oh, that *is* an interesting point. Although I guess even with a custom linker libs would be compiler-specific though 15:24
[Coke] reads the latest nativecall post about C++ and thought that we had better C++ integration than that.
Skarsnik we have :) 15:25
[Coke] ah, there's a comment.
15:25 ZoffixW joined
lnrdo Skarsnik: It is not referenced on the how-to-get-rakudo... post, I believe. 15:26
ZoffixW lnrdo, yeah, you get that error when a dists has uninstalled prereqs. The second time you run it, the prereqs are already installed, so it works.
ab6tract [Coke]: if you know how to contact the author, an update to the post itself might be nice
lucs How can I say "has %.foo where each value is a Bar"? 15:27
lnrdo ab6tract: Just trying to break the shell and get into Perl 6 here yet
ZoffixW lucs, where all(*.keys) ~~ 'Bar' ?
lucs Hmm...
Skarsnik lnrdo, oh I was anwsering Coke. but for DBIish, it just skip the test but it can work after you installed the proper library
lucs ZoffixW: I'll try something like that, thanks. 15:28
15:28 grondilu_ is now known as grondilu
Skarsnik The DBIIsh driver is still installed 15:28
RabidGravy isn't it just "has Bar %.bars"
15:28 grondilu left, grondilu joined
lnrdo Skarsnik: That appears to be more complicate on OS X. I do have MySQL and PostgreSQL installed. Both failed. 15:28
lucs RabidGravy: I'll try that too, first :)
Skarsnik You need the client library to access them, not only the server
ZoffixW lnrdo, fwiw, it's not mandatory that you install Task::Star. It's just a collection of modules.
|Tux| ilmari, I think I get it, but when I have a \r\n ended file, and I read with :!chomp, what should the grapheme be? \r + \n or \r\n - currently it is \n 15:29
15:29 sivoais left
lnrdo ZoffixW: Not what is necessary to make some PoC web application? 15:29
Skarsnik and the current DBIish search for libsqlite3.dynlib (for os X) that probably does not exist
lnrdo Skarsnik: Probably not on my laptop. I can install.
ZoffixW lnrdo, "PoC"? 15:30
arnsholt Proof of Concept, probably
lnrdo ZoffixW: Proof of Concept
ZoffixW lnrdo, not really. Just pick whatever modules you need on modules.perl6.org/ and install anything that's missing
RabidGravy depends what concept you're trying to prove
ZoffixW lnrdo, I think there's Bailador and PSGI that you could utilize... Though Bailador was broken with unmerged PRs last time I looked at it. 15:31
Skarsnik lnrdo, try so search a a libmysqlclient (for mysql) and libpq (for Pg)
ZoffixW m: class Foo { has %.foo where 'Bar' %.foo; }; Foo.new( :foo{:foo<bar>})
camelia rakudo-moar f1226f: OUTPUT«Method 'foo' not found for invocant of class 'Str'␤ in any accepts_type at gen/moar/m-Metamodel.nqp:3407␤ in block <unit> at /tmp/E5rEROT4IO:1␤␤»
lnrdo Skarsnik: I do have them, e.g. /usr/local/mysql/lib/...
ZoffixW RabidGravy, how would you write that? Seems you can't reference the method within itself
Skarsnik what their full name?
ZoffixW m: class Foo { has %.foo where 'Bar' %!foo; }; Foo.new( :foo{:foo<bar>})
camelia rakudo-moar f1226f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KZMnmpP93B␤Undeclared routine:␤ foo used at line 1␤␤»
15:31 sivoais joined
ilmari m: say "\r\n".unichars 15:32
camelia rakudo-moar f1226f: OUTPUT«Method 'unichars' not found for invocant of class 'Str'␤ in block <unit> at /tmp/CfUSJESl8E:1␤␤»
ilmari m: say "\r\n".uninames
camelia rakudo-moar f1226f: OUTPUT«(CARRIAGE RETURN (CR) LINE FEED (LF))␤»
ilmari m: say "\n".uninames
camelia rakudo-moar f1226f: OUTPUT«(LINE FEED (LF))␤»
ilmari m: say "\r".uninames
camelia rakudo-moar f1226f: OUTPUT«(CARRIAGE RETURN (CR))␤»
andreoss masak: Q::Identifier uses Val::Str for simplicity? Wouldn't it be more appropriate to use something like Val::Symbol?
ilmari |Tux|: it does seem to preserve what it was originally, even if it's normalised to a single "generic newline" grapheme
ZoffixW m: class Foo { has %.foo where all(*.keys) ~~ 'Bar'; }; Foo.new( :foo({:foo<bar>}))
camelia rakudo-moar f1226f: OUTPUT«Type check failed in binding $x; expected <anon> but got Str␤ in block <unit> at /tmp/kF5x6qsGIE:1␤␤»
ZoffixW *I've no idea what I'm doing* :) 15:33
RabidGravy ZoffixW, you're confusing me (which admittedly isn't difficult)
lnrdo Thanos:~ lruoso$ ls /usr/local/mysql/lib/libmysqlclient*
/usr/local/mysql/lib/libmysqlclient.18.dylib/usr/local/mysql/lib/libmysqlclient.dylib/usr/local/mysql/lib/libmysqlclient_r.a
/usr/local/mysql/lib/libmysqlclient.a/usr/local/mysql/lib/libmysqlclient_r.18.dylib/usr/local/mysql/lib/libmysqlclient_r.dylib
ZoffixW Ah, OK, I may have misunderstood what lucs wanted originally :)
Skarsnik dylib? hm 15:34
I though it was dynlib on os X x)
geekosaur dylib
RabidGravy m: class Bar {}; class Foo { has Bar %.foo }; my $a = Foo.new; $a.foo<bar_1> = Bar.new; say $a.perl
camelia rakudo-moar f1226f: OUTPUT«Foo.new(foo => (my Bar % = :bar_1(Bar.new)))␤»
15:34 raiph joined
ZoffixW m: class Foo { has %.foo where 'bar' ~~ all(*.keys); }; my %h = foo => 'not-bar', ber => 'bar'; Foo.new: :foo(%h); say "k" 15:35
camelia rakudo-moar f1226f: OUTPUT«k␤»
RabidGravy I thought that was what was wanted ;-)
lnrdo Skarsnik: MySQL and DBD::mysql are working here.
ZoffixW I thought ^ that what was wanted... but my solution doesn't work anyway :)
Skarsnik Oh, it's fine then x)
15:35 Guest66044 left, Begi joined
lnrdo Skarsnik: Talking about P5 15:35
15:35 administrator joined, khw joined
ZoffixW m: class Foo { has %.foo where 'bar' ~~ all $_.keys; }; my %h = foo => 'not-bar', ber => 'bar'; Foo.new: :foo(%h); say "k" 15:36
camelia rakudo-moar f1226f: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5bar' (indicated by ⏏)␤ in any accepts_type at gen/moar/m-Metamodel.nqp:3407␤ in block <unit> at /tmp/jTtfD0ySZu:1␤␤Actually thrown at:␤ in any ac…»
ZoffixW 0.o
15:36 administrator is now known as Guest36467, hankache left
Skarsnik lnrdo, I am confused, DBI (p5) work but not DBIish (perl6)? 15:36
lnrdo Skarsnik: Correct.
15:36 xpen left
ZoffixW lnrdo, by "work" do you mean the module doesn't work correctly in your module or tests get skipped or tests are failing? 15:37
Skarsnik hm, I should work normaly
15:37 vividsnow joined
ZoffixW Doesn't it need to create a test db for tests to run? 15:37
s/it need/it needs you/;
skids m: class Bar { }; class Foo { has Bar %.h; }; Foo.new(:h{foo => Bar.new}).perl.say
camelia rakudo-moar f1226f: OUTPUT«Foo.new(h => (my Bar % = :foo(Bar.new)))␤»
Skarsnik Oh wait
lnrdo ZoffixW: by "work" I mean: Perl 5 works fine, install and uses it. Perl 6 does not install. 15:38
Skarsnik github.com/rakudo/rakudo/blob/nom/...l.pm6#L183 Should be dylib and not dynlib
lnrdo ZoffixW: ^ DBIsh
ZoffixW lnrdo, what output do you get from the install?
15:38 lucasb left
Skarsnik I don't know if it's my fault or It was already like that before x) 15:38
ZoffixW m: class Bar { }; class Foo { has Bar %.h; }; Foo.new(:h{foo => 'not bar'}).perl.say
camelia rakudo-moar f1226f: OUTPUT«Type check failed in binding $x; expected Bar but got Str␤ in block <unit> at /tmp/q0FuseyO2e:1␤␤»
lnrdo ZoffixW: Let me run it again here on a clean terminal.
masak andreoss: yes, adding a REPL is a bit hard, for the reasons you specify. I'm afraid 007 is not currently factored in a way that makes this easy. 15:39
yoleaux 14:45Z <brrt> masak: whether what's done in github.com/jonathanstowe/LibraryCh...ryCheck.pm with EVAL can be done with macro's
Skarsnik FROGGS, Can you correct this real quick? x)
15:39 sivoais left
lnrdo ZoffixW: panda Task::Star paste.scsys.co.uk/paste 15:39
masak andreoss: maybe some other time I will make a toy language exploring the ultimate frontiers of REPLs. but I fear 007 is not that language.
ZoffixW lnrdo, wrong URL
15:39 ab6tract left
lnrdo ZoffixW: Sorry 15:40
ZoffixW: paste.scsys.co.uk/503281
masak andreoss: specifically, some macro stuff I envision is almost directly at odds with an interactive prompt.
Skarsnik Task::Star does not install yes x)
ZoffixW lnrdo, that has nothing to do with DBIish. It's failing on Template::Mojo
masak hm, maybe that's too strongly worded...
ZoffixW lnrdo, run panda install DBIish
lnrdo ZoffixW: Doing that now.
Skarsnik but Mojo::Template should be fixed x) 15:41
ZoffixW
.oO( panda should really NOT bailout the moment a single dist fails)
lucs ZoffixW, RabidGravy: Yep, "has Bar %.bars" does what I wanted.
RabidGravy or completely rewritten so that it doesn't need eval
lnrdo ZoffixW: paste.scsys.co.uk/503283
dalek kudo/nom: 79303b8 | (Stefan Seifert)++ | lib/NativeCall.pm6:
Fix extension of dynamic libraries on OS X in NativeCall

16:38 < Skarsnik>
  github.com/rakudo/rakudo/blob/nom/...l.pm6#L183 Should
be dylib and not dynlib
nine FROGGS, Skarsnik: ^^^
Skarsnik Thx
FROGGS nine: grrrr!
lnrdo ZoffixW: Agree, just like cpanm
FROGGS *g*
15:41 sivoais joined
FROGGS "niner has committed since you started editing" 15:42
Skarsnik someone should write the test for win32 and os X on t/17 for this x)
ZoffixW lnrdo, seems nine++ just committed a fix for your issue ^ but you'd need to rebuild rakudo from HEAD
andreoss masak: okay 15:43
lucs Now, can I say "has 「array of Bar」 %.foo"?
masak andreoss: from the good side, I'm pretty OK with just doing `perl6 bin/007 -e='<program here>'` most of the time
lnrdo ZoffixW: I can do it now. Need to change any command?
Skarsnik ZoffixW, I suspect Task::Star just depend on everything and so it fail if one depend can't work
lucs (how far can this be pushed?) 15:44
ZoffixW Skarsnik, panda should still continue installing all the deps, even if one fails, for all dists, not just Task::Star. This is how cpanm in P5 works, for example
masak (except for that '=', which I dislike)
andreoss masak: i've added state-less REPL for this purpose, `perl6 ...` is too long to type
RabidGravy lucs, "has Array[Bar] %.foo" though there may be complications 15:45
masak andreoss: :)
ZoffixW Successful installation of module X should not depend whether module Y got installed. Especially since, to my knowledge, we do not have a means to specify optional prereqs ATM
lucs RabidGravy: Neat, trying...
masak andreoss: for sure, if something with `readline` could be made to work, it could be useful, even stateless
ChoHag ZoffixW: If module X requires module Y and module Y is not installed, then module X cannot, by definition, succesfully install. 15:46
ZoffixW ChoHag, yes, that's not the situation we're discussing.
ChoHag OK good.
RabidGravy lucs:
ChoHag goes away again
RabidGravy m: 'class Bar {}; class Foo { has Array[Bar] %.foo }; my $a = Foo.new; $a.foo<bar_1>.push: Bar.new; say $a.perl
camelia rakudo-moar f1226f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bBHVt9FuIY␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/bBHVt9FuIY:1␤------> 3$a.foo<bar_1>.push: Bar.new; say $a.perl7⏏5<EOL>␤ expecting any of:␤ sing…»
ZoffixW :)
RabidGravy m: class Bar {}; class Foo { has Array[Bar] %.foo }; my $a = Foo.new; $a.foo<bar_1>.push: Bar.new; say $a.perl
camelia rakudo-moar f1226f: OUTPUT«Foo.new(foo => (my Array[Bar] % = :bar_1(Array[Bar].new(Bar.new))))␤»
ShimmerFairy just a quick note: gentoo's portage also bails if one of the packages to be merged fails (that is, it won't go on installing other things, nor would I expect it to) 15:47
ZoffixW ShimmerFairy, why would you not expect it to?
lnrdo ZoffixW, Skarsnik: Thank you for all the help. I'll need to head out for a meeting. I'll clean up and try again later.
andreoss masak: Val::Str is used for identifiers for simplicity or for purpose?
ChoHag Well in a situation where X doesn't *require* Y, but X and Y are both to be installed, I personally prefer the situation where the complete list of failues is provided at the end rather than, say, GNU configure which lists failures one at a time, or yum, which appears to silently ignore them. 15:48
timotimo decides to just skip a few pages of backlog
ShimmerFairy ZoffixW: because it doesn't. Honestly, having a long install go on despite my goal being ultimately unsuccessful would be annoying. Just tell me right away that something needs to be fixed
timotimo damn, people, you are chatting fast :)
lucs RabidGravy: Playing with that, thanks. 15:49
masak andreoss: ...as opposed to what? :)
15:49 sivoais left
RabidGravy lucs, the complication comes because you it's tricky assign from a list to that 15:50
ChoHag But ShimmerFairy's situation is also important to consider. While the list of failures at the end is useful, it helps to be aware during a long run that there have been failures despite the record of them having disappeared in the terminal's history.
hoelzro m: gist.github.com/hoelzro/94dfab0137342c66f31e
camelia rakudo-moar f1226f: OUTPUT«(Any)␤»
masak andreoss: used to be it was Str, but since the Q objects became fully immersed/introspectable in the language, it has to be Val::Str.
hoelzro ^ shouldn't that be Str?
andreoss masak: i'm asking, because it hard to add infix:"<" with current code relaying on "infix:<$op>" to be a name of sub
masak andreoss: ah, yes.
ShimmerFairy ChoHag: in the case of emerge, at least it reprints warnings and errors issued by the build process at the end :) . But yeah, I think I'm perhaps in the "don't pretend it's still worth going forward". 15:51
masak andreoss: I've been thinking about that...
andreoss masak: Val::Symbol; Val::Symbol(:name("<"), :type(Q::Infix::Op))
ChoHag Of course the correct answer is "don't let them disapear like that" but the correct answer is rarely the correct one, else I'd use pv in every pipeline and tmux in every terminal.
ShimmerFairy *in the ... camp
ChoHag And run everything preceeded by 'time'.
ShimmerFairy The correct solution is a --keep-going flag, like certain programs have :)
15:52 sivoais joined
masak andreoss: ...not sure I see a strong case for Val::Symbol. at least not for the reason of "infix:<$op>" :) 15:52
ChoHag Surely the correct solution is a --abort-on-failure flag?
ZoffixW ShimmerFairy, well, it does tell you (in the output). And I suppose it depends on what your actual goal is. With Task::Star, my goal is to "get a standard collection of modules" not get Task::Star itself successfully installed. Basically, the usecase is to have the P5's version of Task::* modules that are merely a collection of modules. And even for other usecases: I rather have a complete set of failures at the end of the install so I know how much
I need to fix to accomplish my ultimate goal, not have to fix issue after issue and re-run the install in hopes that I'm "almost there"
ShimmerFairy well, emerge has the --keep-going one that I never use, so that you can say "no really, install as much as possible", so I'd prefer the "die by default"
masak andreoss: I was thinking of how to define a `>` operator in the language, it's currently not possible, because `infix:<>>` gets parsed the wrong way.
ZoffixW ChoHag++ --abort-on-failure would be good
ChoHag (See also: the correct answer is rarely the correct one) 15:53
masak andreoss: thinking we might want to support `infix:«>»` like in Perl 6.
nine lizmat: Inline::Perl5 installs just fine here. Maybe github.com/rakudo/rakudo/commit/79303b8bc6 fixes installation for you, too?
masak andreoss: but that still doesn't answer how to *canonically* represent the operator in things like the built-ins.
andreoss masak: just by replacing <> with «»?
lizmat nine: will test
nine ZoffixW: the correct solution for Task::* is support for a "suggests" in addition to a "depends", just like rpm for example has. 15:54
masak andreoss: no, not across the board. then someone will cry because they can't define `infix:<»>`
ZoffixW nine, *nod* 15:55
ChoHag But surely the 'correct' solution is replaces, depends, pre-depends, recommends, suggests, et al. as per dpkg?
(See also: the correct answer is rarely the correct one)
ZoffixW :D
lizmat m: m: my $a = 10; $a |= 2; say $a # hangs, probably because of having a junction inside a junction ?
nine Btw. I really hate that we completely ignore what well established package formats like rpm do.
camelia rakudo-moar 79303b: OUTPUT«Memory allocation failed; could not allocate 2210864 bytes␤»
masak andreoss: actually, it's a two-part problem: (a) strong enough quoting/escaping that people can define the operators they want, and (b) a reasonable way to represent the operators internally, that still roughly resembles how the user refers to them.
ZoffixW lizmat, I believe that's rakudobugged with ^ instead of | 15:56
m: m: my $a = 10; $a ^= 2; say $a
masak andreoss: we might want to start referring to the operators as `infix:+`, `infix:<` etc internally
lizmat ZoffixW: yeah, but doesn't matter if it is ^ or |
camelia rakudo-moar 79303b: OUTPUT«Memory allocation failed; could not allocate 2210880 bytes␤»
ZoffixW k
masak andreoss: because the quoting is only really necessary in the program text, not in the identifiers we actually store
TimToady masak: the current p6 policy is to use <> if there are no < or > inside, use «» if there are, unless there are both kinds inside, in which case it reverts to <> and backwhacks any < or >
yoleaux 11:07Z <lizmat> TimToady: require.t still fails for me: gist.github.com/lizmat/366474e4595276fc014c
ChoHag nine: Hah!
andreoss masak: infix:+ would broke prefix:++, woudn't it?
ChoHag People have been reinventing package management since before there even was package management.
masak TimToady: that sounds sane. I like that
ChoHag And as a system administrator I'm fucking tired of it. 15:57
masak andreoss: nope -- LTM still applies
andreoss: (I hope!)
ZoffixW ChoHag, xkcd.com/927/
masak andreoss: actually, I don't think we have a test for this :>
ChoHag Quite.
OTOH, with every new standard my average salary increase, so there's that./
TimToady andreoss: infix and prefix are different categories, so it never even gets as far as to apply LTM 15:58
ZoffixW sees an obvious loophole with a pay system like that :)
ChoHag I had this argument the other day with one of our developers over oauth.
vytas "Aborted (core dumped)" - how can i get more information ?
15:59 sivoais left, uruwi_ joined
masak andreoss, TimToady: oh, oops. I read that as "postfix", not "prefix" 15:59
15:59 eMBee left
ChoHag Like, I already have to look after pam, http-basic, kerberos, ldap, etc. In 5 years I'll have to look after whatever replaces oauth. By all means use the standard du juor but don't pretend it's the final word on the matter. 15:59
And thanks for the paycheque.
vytas i guess --ll-exception should work
andreoss masak: there's no enough ops to test 16:00
masak TimToady: in 007, there's no whitespace rule distinguishing infix from postfix, so they're sort of in the same name space as far as parsing goes.
lnrdo ChoHag: Is there anything better them .deb around?
ChoHag Bleh. It's time for the 30 minute 5 minute daily sitting down standup meeting.
masak andreoss: fortunately, ops are user-definable ;)
ChoHag lnrdo: .dep is the worst package system.
lnrdo: Apart from all the others.
.deb
uruwi_ Hello
lnrdo ChoHag: :p
TimToady Hey folks, let's try to stay just a little bit focused on Perl 6 this week, eh? 16:01
andreoss $ perl6 -Ilib bin/007 -e='sub infix:<+++>(a,b) { a + b }; say(1 + 2 +++ 3)'
Type check failed in +; expected Val::Int but got Val::None
16:01 sivoais joined
RabidGravy TimToady, I think that one already bolted TBH ;-) 16:02
ChoHag TimToady: This one's up your street.
16:02 hans_ left
ChoHag I've attempted to reword the second paragraph of modules.pod to make it clear which definition of 'module' is being referred to. I may or may not have made it worse. 16:02
How and by whom should the wording be considered? 16:03
masak andreoss: I invite you over to #6macros, where we don't interfere too much with the focus on Perl 6 :)
ChoHag Currently only in an uncomitted github fork.
lizmat nine: can confirm Inline::Perl5 now installs on OS X without problem
hoelzro m: gist.github.com/hoelzro/94dfab0137342c66f31e 16:04
camelia rakudo-moar 79303b: OUTPUT«(Any)␤»
hoelzro ^ shouldn't that be Str?
since $!dist-id isa Str?
RabidGravy ChoHag, is this for doc.perl6.org/language/modules? I'd suggest pushing a PR so that anyone who cares can check
lizmat hoelzro: with dist_id being a named param? 16:05
TimToady is a little like Moses now, and has to delegate a lot of the decisions, alas
lizmat shouldn't that be .params<dist-id> then ?
hoelzro lizmat: good point =)
lizmat also, if it were a positional, then .[0] ?
hoelzro but the issue with .params<dist-id>.type =:= Any stands
.[0] is self
ChoHag RabidGravy: It is. 16:06
andreoss masak: yep, return was missing
pmurias m: say(12 % -5)
camelia rakudo-moar 79303b: OUTPUT«-3␤»
lizmat hoelzro: ah, ok, yes :-)
ChoHag TimToady: Well you should definitely look at it, being a linguist and all. It was a case of "this should be easy to clear up", with emphasis on the "should".
lizmat nine: argh, I looked at the wrong thing, Inline::Perl5 still does not install :-(
same error as before 16:07
ChoHag Oh just before I commit/push/PR, how can I link to the 'Units' section of S11?
cygx TimToady: I'm currently poking the guts of &unlink, which is supposed to treat unlinking nonexistent files as success
ChoHag (with alternative text)
L<S11#Units|synopsis>?
TimToady barely has time to backlog before driving to SoCal today
RabidGravy L<Test|URI> tes
er text first, link second
ChoHag OK I'll switch that. What should the link be? Is S11#Units correct? 16:08
cygx just needs conformation that the win32 behaviour of treating nonexistent files as failure is wrong
hoelzro I'm just wondering if since $!dist-id's type is Str, if :$!dist-id should also have a Str type, since passing anything that's not a Str would not type check
ChoHag I want to refer to design.perl6.org/S11.html#Units
16:09 sivoais left
ChoHag Oh never mind. Now I see a link to the same document earlier. 16:09
So we're linking to the synopsis by http URL?
synopses? How's that pluralised? 16:10
Humbedooh like that, yes 16:11
16:11 lnrdo left 16:12 sivoais joined 16:13 raiph left
nine lizmat: what errors do you get? 16:14
lizmat t/use.t .......................
All 4 subtests passed
and then: t/use.t (Wstat: 11 Tests: 4 Failed: 0) 16:15
Non-zero wait status: 11
so looks like its segfaulting in there
pmurias .tell jnthn why is isbig_I checking for the value fitting in 32bits when long is 64bits on the jvm?
yoleaux pmurias: I'll pass your message to jnthn.
nine lizmat: is your perl compiled with -DMULTIPLICITY? 16:16
lizmat pmurias: FWIW, I think it's a cheat to more easily support 32-bit systems
timotimo not on moar
ZoffixW m: m: class Foo { has %.foo where all($_.keys) eq 'bar'; }; my %h = foo => 'bar', ber => 'bar'; Foo.new: :foo(%h); say "k"
camelia rakudo-moar 79303b: OUTPUT«Type check failed in binding $x; expected <anon> but got Str␤ in block <unit> at /tmp/Dohh1GHqyi:1␤␤»
timotimo pmurias: at least on moar we have a "smallbigint" "optimization" that puts values that fit into 32bits into one half of the pointer that usually points at the mp_int struct
lizmat nine: doesn't appear to be 16:17
timotimo pmurias: not quite sure why it'd be replicated 1:1 on the jvm, though
16:17 pierre-vigier joined
nine lizmat: maybe that test needs fixing. I'll try it here with a fresh perlbrew perl 16:17
lizmat nine: standard issue on OS X
ZoffixW How come this succeeds? I expected it to fail the type check, since not all values are "bar"s?:
m: class Foo { has %.foo where 'bar' ~~ all(*.values); }; my %h = foo => 'not-bar', ber => 'bar'; Foo.new: :foo(%h); say "k"
camelia rakudo-moar 79303b: OUTPUT«k␤»
16:18 Guest36467 left
lizmat nine: $ perl -Mthreads -e 1 16:18
This Perl not built to support threads
$ echo $? 16:19
255
16:19 pierre-vigier left, n0tjack joined
pmurias timotimo: so isbig_I just returns if the value is small enought for the "optimization" on MoarVM? 16:19
16:20 uruwi_ left, sivoais left
TimToady btw, nine++ is correct that Name:auth<foo>:ver<42> is only about identity, and should not be overloaded with repository info; if S22 contradicts this, it should be adjusted at some point 16:21
16:22 molaf joined, sivoais joined, uruwi joined
timotimo pmurias: good question. i wonder where it's used, actually 16:22
pmurias in the optimizer to determine if we can store something in a native int 16:23
MoarVM native integers are 64bit everywhere? 16:25
lizmat pmurias: not on 32bit builds, I don't think ? 16:27
16:27 zakharyas joined 16:29 sivoais left, _nadim joined 16:30 _nadim left, administ1ator joined
nine lizmat: I can reproduce it here! 16:31
[Coke] Should prompt give you a NumStr (or other *Str) instead of a Str?
16:32 sivoais joined, _nadim joined
timotimo it would be interesting to have prompt give you val semantics 16:32
nine lizmat: I wonder how that could have escaped since July considering that you have to specifically tell perlbrew to compile with -DMULTIPLICITY
RabidGravy ChoHag, that looks fine to me, it could probably do with mentioning "resources" in the page somewhere, but I'll merge if no-one else chimes in 16:34
16:37 administ1ator left, _nadim left
ChoHag Resources as in what? 16:39
16:40 sivoais left
RabidGravy "resources" as in "the other stuff you want installed with your distribution" and which you discover through %?RESOURCES 16:41
I'll add that later
16:42 sivoais joined, pierre-vigier joined
ChoHag Oh right. Those. 16:42
Where *do* they go?
16:42 administrator joined 16:43 administrator is now known as Guest27168
RabidGravy in a "resources" directory (or sub-directory thereof) 16:43
16:44 koo8 joined 16:45 mohae left
dalek c: 3d03f5c | (Matthew King)++ | doc/Language/modules.pod:
Clear as mud - be explicit about the definition of 'module'.
16:45
c: 1dd77e8 | RabidGravy++ | doc/Language/modules.pod:
Merge pull request #255 from ChoHag/master

Clear as mud - be explicit about the definition of 'module'.
cygx github.com/rakudo/rakudo/pull/646
16:46 anaeem1_ left, Guest27168 left, pierre-vigier left 16:49 sivoais left 16:51 mohae joined 16:52 sivoais joined, dha joined, psy_ joined
dalek c: 0816047 | RabidGravy++ | doc/Type/ (2 files):
Move splice() from List to Array

fixes #254
16:52
16:53 psy_ left 16:54 psy_ joined 16:56 robertle left, sivoais left 16:57 sivoais joined, _nadim joined 16:58 administ1ator joined
[Coke] m: say 1/3 ≅ 1/2 16:58
camelia rakudo-moar 79303b: OUTPUT«False␤»
[Coke] m: until 1/3 ≅ 1/2 { say "eek" } 17:00
camelia rakudo-moar 79303b: OUTPUT«(timeout)eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤eek␤e…»
dalek blets: 5f9fa39 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
-prior
blets: d5488c2 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
linkfix
blets: e96653b | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
enlarged set op table
17:00 ZoffixW left, lichtkind joined 17:04 FROGGS left 17:06 anaeem1 joined 17:07 Ven_ left, lolisa joined
Woodi TimToady: I don't think you will be somewhat lucky like Moses... more probable is fate of st. Thomas (as described by Chesterton): he wrote "Summa", published it and later visited some conference. And there everyone had his own heresy based on half-understanding "Summa"s... Then he had very heated speach and than goes silent, forever... 17:17
ChoHag Sounds about right.
Suggesting good ideas to the masses rarely goes as planned. 17:18
timotimo [Coke]: huh? 17:19
Woodi TimToady: but, in case Perl6, some book could prevent misc heresies... I think such book will be hard without you. but if you don't want to write it personally then, I belive, authors would be glad for some sketch in eg. org-mode :) 17:20
17:21 rurban joined
ChoHag Woodi: The synopses are, in the main, surprisingly readable. 17:21
Surprisingly compared to your average standards document.
People should be encouraged to read them. 17:22
But then, K&R's C book was even more readable, and look what happened to C...
17:22 prammer_ joined
dalek c: c154746 | RabidGravy++ | doc/Language/modules.pod:
Somewhat describe the resources thing in modules doc
17:22
17:23 prammer left, prammer_ is now known as prammer
RabidGravy tries to remember if there was anything else he wanted to fix in the docs 17:24
17:25 dakkar left, hankache joined 17:26 anaeem1 left
ChoHag There always is. 17:26
When was the last time you read a document and thought "That document is clear, concise and complete"?
Woodi ChoHag: maybe you are right. but still many reasons/background why things are like they are is not documented... 17:27
timotimo awwaiid: :{ ... } is actually for "object hashes", which means it'll construct a hash that will not stringify its keys
pmurias Woodi: I don't think Perl 6 (the language) will get forked soon 17:28
timotimo awwaiid: maybe in the docs it'd be better to suggest (...).hash instead of :{ ... }? 17:29
17:29 xfix joined 17:32 prammer_ joined, prammer left, prammer_ is now known as prammer 17:33 zakharyas left
n0tjack m: say (1,4,9,16,25 ... *)[77]; 17:34
camelia rakudo-moar 79303b: OUTPUT«===SORRY!===␤Unable to deduce arithmetic or geometric sequence from 9,16,25 (or did you really mean '..'?)␤»
dha I made a pitch at LPW for people to write more documentation. go me.
jdv79 can anyone take a look at my post? I'm not sure its ok.
n0tjack m: say (1,4,9,16,25 .. *)[77];
camelia rakudo-moar 79303b: OUTPUT«Nil␤»
dha jdv79 - where? 17:35
stmuk dha++
TimToady m: say (1,4,9,16,25 .. *)[4];
camelia rakudo-moar 79303b: OUTPUT«25..Inf␤»
jdv79 the advent wp thing
cygx bye o/
17:36 cygx left
jdv79 perl6advent.wordpress.com/?p=4729&...frame=true 17:36
dha hm. "Oops! That page can􏿽x92t be found." 17:37
jdv79 i think tht's wp saying you didn't login/have access
dha ah
n0tjack TimToady: I don't get that output
TimToady m: say [\+](1,3...*)[^100] # you want this 17:38
camelia rakudo-moar 79303b: OUTPUT«(1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 625 676 729 784 841 900 961 1024 1089 1156 1225 1296 1369 1444 1521 1600 1681 1764 1849 1936 2025 2116 2209 2304 2401 2500 2601 2704 2809 2916 3025 3136 3249 3364 3481 360…»
TimToady there are 5 arguments in that list
n0tjack TimToady: Yeah, I was just testing the limits of sequence inferencing
TimToady the range is the last one
well, it tells you the limits in the error message :)
n0tjack I think a DSL for OEIS sequences would be a worthwhile project 17:39
TimToady modules will happen :)
n0tjack even if there are 5 argumentws, I asked for only one (the 77th, or in your example the 4th), right?
TimToady yes, ^100 gets the first 100
dha I guess I don't have access. *shrug*
jdv79 gist.github.com/anonymous/48b4304dc6a11a1a6d62 17:40
dha or anyone else without wp access ^^ 17:41
n0tjack m: say (1,4,9,16,25 ... *)[4].elems; # I would expect 1
camelia rakudo-moar 79303b: OUTPUT«===SORRY!===␤Unable to deduce arithmetic or geometric sequence from 9,16,25 (or did you really mean '..'?)␤»
dha ta.
n0tjack m: say (1,4,9,16,25 .. *)[4].elems; # I would expect 1
camelia rakudo-moar 79303b: OUTPUT«Inf␤»
RabidGravy jdv79, the post looks good to me :)
17:41 moises joined
jdv79 its a book and less upbeat than i'd hoped but that's reality i guess 17:42
TimToady it's not really the 4th, it's just 4thy
jdv79 RabidGravy: thanks
TimToady and maybe we should coin that usage for 0-based ordinals!
jdv79 anyone who knows wp - is it done now? i told it a time tonight at midnight.
n0tjack 4thy good of the language, it's got an infinite width
TimToady so you can talk about the firsty one, meaning the second
jdv79 anything else i have to do? also, anyone want to fix it in any way please do. i'm gonna be out tonight probably.
n0tjack it's not first, but it's first-ish 17:43
TimToady too hard to type :)
17:43 prammer left
RabidGravy regarding todays post, I'd like to see a full up expat binding as sometimes I find it a better way of dealing with XML documents 17:43
hankache does anyone have alist of all perl 6 pragmas?
17:44 dbohdan_ left
TimToady see World.nqp 17:44
dha jdv79 - Looks ok to me. But as far as correctness, I'm probably not expert on the subject. 17:45
hankache where is it available?
TimToady in src/Perl6 17:46
17:47 psy_ left
hankache thanks 17:48
RabidGravy hankache, that's github.com/rakudo/rakudo/blob/nom/...d.nqp#L681 if you don't have a checkout 17:49
[Coke] m: my Rat.new(3,4).perl.say;
camelia rakudo-moar 79303b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A2xNt5N7sQ␤Malformed my␤at /tmp/A2xNt5N7sQ:1␤------> 3my Rat7⏏5.new(3,4).perl.say;␤»
[Coke] m: Rat.new(3,4).perl.say;
camelia rakudo-moar 79303b: OUTPUT«0.75␤»
jdv79 dha: cool, thanks
dha jdv79 - I'm sure some will want more detail, but it's a good summary. 17:50
hankache thanks RabidGravy TimToady
dalek kudo/nom: 7c9e507 | TimToady++ | src/Perl6/Actions.nqp:
META_ASSIGN should want its LHS

Fixes: my @a; @a ||= (2, 4, 6) if 1;
17:51
kudo/nom: 60210f2 | TimToady++ | src/Perl6/Optimizer.nqp:
improve debugging on useless use

It now outputs the message immediately so we know which call emitted it.
jdv79 dha: they can come here then:) 17:53
dalek line-Perl5: 81243ea | (Stefan Seifert)++ | / (4 files):
Fix segfault when creating multiple instances without MULTIPLICITY

When creating multiple Inline::Perl5 instances in the hope to run multiple Perl 5 interpreters, we segfaulted if perl was not compiled with -DMULTIPLICITY Fixed by recognizing the situation and throwing an X::Inline::Perl5::NoMultiplicity exception instead.
Thanks to lizmat++ for the report!
dha jdv79 - :-)
nine lizmat: fixed it :) ^^^
TimToady lizmat: fixed it :) ^^^
lizmat nine: cool!
TimToady: cool!
dalek p: d896027 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Implement missing bigint ops (only radix_I) is now missing.
17:54
p: 5cd8a30 | (Pawel Murias)++ | t/nqp/60-bigint.t:
Test untested bigint ops (we are now only missing tests for radix_I).
17:54 anaeem1 joined
dha lizmat - I didn't fix anything lately. :-) 17:55
lizmat dha: but you docced! cool! 17:56
dha I did?
[Coke] weird. I have a line in a script: $guess = Rat.new( $low.numerator + $high.numerator, $low.denominator + $high.denominator);
dying with Default constructor for 'Rat' only takes named arguments - works fine standalone 17:57
17:57 _nadim left, _nadim joined
lizmat [Coke]: did another Rat sneak in that scopy by any chance ? 17:58
*scope
hankache do we have any definition for the pragmas? i mean i know what monkey-see-no-eval and monkey-patching, but what about the others?
[Coke] line number points to that line. 17:59
TimToady some of the MONKEYs are just reserved for future use
hoelzro hankache: you mean docs?
17:59 prammer joined
hankache hoelzro yes 18:00
hoelzro it doesn't look like we have an exhaustive list of them on doc.perl6.org
that might be a nice addition
TimToady in fact, we might just allow people to say MONKEY-ANYTHING and poke it into %*PRAGMAS
hankache an entry here doc.perl6.org/language.html would be beneficial 18:01
lizmat TimToady: I'm afraid jnthn would be very unhappy with that
TimToady for anything that falls in the MONKEY category of allowing use MONKEY; or no MONKEY; to change it
lizmat as I suggested something like that in the past (well, even more generally )
TimToady lizmat: this would only be for private-use MONKEYs
hankache maybe also expand the doc to explain everything that begins with "use" (NativeCall, lib etc..) 18:02
lizmat private as in-core, or in ecosystem private?
TimToady private as in the current lexical scope
hoelzro class C { has Str $!dist-id; submethod BUILD(:$!dist-id) {} } # should the :$dist-id parameter have type Str?
moises p6: my @a; @a[1..2;1..2] = |(3,4), |(5,6); say @a; 18:04
camelia rakudo-moar 79303b: OUTPUT«[(Any) [(Any) 3 4] [(Any) 5 6]]␤»
moises this does what I want, but is the rigth way?
RabidGravy hankache, sounds like volunteering to me :)
ilmari m: class C { has Str $!dist-id; submethod BUILD(:$!dist-id) {} }; C.new(:dist-id([1,2,3]))
camelia rakudo-moar 79303b: OUTPUT«Type check failed in assignment to $!dist-id; expected Str but got Array␤ in submethod BUILD at /tmp/mzKyW5deEL:1␤ in block <unit> at /tmp/mzKyW5deEL:1␤␤»
hankache RabidGravy I volunteer, but unfortunately I don't know most of them, hence why i asked 18:06
lizmat TimToady: but how would one check such a MONKEY setting ? by checking %*PRAGMAS at BEGIN time? that is what jnthn was very much against
hankache RabidGravy If you can provide me a textual definition in any format, i volunteer to write it in pod6
hoelzro it's not that big of a deal (since the assignment to $!dist-id doesn't type check), but it impacts introspectability 18:07
and this made me think: how stable is 6.c going to be? are we guaranteeing backwards compat for all P6 after 6.c? 18:08
TimToady lizmat: yes, I can see that; we'd have to provide a way to access that wouldn't change if the implementation changed
18:08 anaeem1 left, anaeem1_ joined, araujo joined
lizmat %*MONKEY at the HLL level ? 18:09
TimToady anyway, not a big deal, just thinking that we're not the only people who will want to have a big monkey on, monkey off control switch 18:10
lizmat
.oO( we don't want to be stuck with another XS for the next 100 years )
18:11 pmurias left
TimToady well, the basic problem is exposing the interface as a hash, when that might change 18:11
lizmat or perhaps a %?MONKEY :-)
similar in setup to $?LINE and $?FILE
moises my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a.map: |*; say @b; 18:12
m: my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a.map: |*; say @b;
camelia rakudo-moar 60210f: OUTPUT«[(Any) [(Any) 3 4] [(Any) 5 6]]␤»
moises Is this the way matrix slice assignment is done? 18:13
18:13 anaeem1_ left 18:14 ZoffixW joined
ZoffixW Is this a known bug? Dates are different, but same .Instant is returned: 18:15
m: say [ DateTime.now, DateTime.now.utc, DateTime.now.Instant, DateTime.now.utc.Instant ]
camelia rakudo-moar 60210f: OUTPUT«[2015-12-21T19:15:04.514896+01:00 2015-12-21T18:15:04.517535Z Instant:1450721740.520424 Instant:1450721740.524297]␤»
ZoffixW m: say [ DateTime.now, DateTime.now.utc, DateTime.now.posix, DateTime.now.utc.posix ]
camelia rakudo-moar 60210f: OUTPUT«[2015-12-21T19:15:44.886799+01:00 2015-12-21T18:15:44.889470Z 1450721744 1450721744]␤»
dalek kudo/nom: 591783d | lizmat++ | src/core/ (4 files):
The latest of zefram++ suggestions + some
18:16
flussence those dates look the same to me
ZoffixW flussence, one is 19hr the other is 18hr 18:17
flussence one is +0100, the other is UTC...
ZoffixW Well. *times* are different, but .Instant and .posix are same
oh
Oh, ok, I'm just being stupid
or rather confused :S 18:18
lizmat nine: Inline::Perl5 tests now completed ok, but install still failed: now nuking install to make sure no interference from previous fails 18:20
ZoffixW I hate when dates are involved in my code -_-
18:20 vendethiel joined
moises m: my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a; say @b; 18:20
camelia rakudo-moar 60210f: OUTPUT«[(Any) [(Any) [3 4] [5 6]] [(Any) (Any) (Any)]]␤»
lizmat nine: Failed to copy '/Users/liz/Github/panda/.panda-work/1450721718_1/resources/p5helper.so # shouldn't there be a .dylib in there somewhere ? 18:21
moises this don't work the way I expected
ZoffixW m: say DateTime.now.Instant ≅ DateTime.now.utc.Instant ≅ now
camelia rakudo-moar 60210f: OUTPUT«False␤»
18:23 lolisa left
ZoffixW m: my @a = [[3,4];[5,6]]; my @b; @b[1..2;1..2] = @a; say @b; 18:23
camelia rakudo-moar 60210f: OUTPUT«[(Any) [(Any) [3 4] [5 6]] [(Any) (Any) (Any)]]␤»
ZoffixW m: my @a = [[3,4];[5,6]]; my @b[1..2;1..2] = @a; say @b;
camelia rakudo-moar 60210f: OUTPUT«[[[3 4] (Any)] [[5 6] (Any)]]␤»
ZoffixW :)
m: my @a = [[3,4];[5,6]]; my @b; @b[1..2;1..2]; @b = @a; say @b; 18:24
camelia rakudo-moar 60210f: OUTPUT«[[3 4] [5 6]]␤»
nine lizmat: oh damn...I forgot about that issue. We still don't have a way to handle those platform dependent file extensions in the META6.json. 18:25
18:25 xtreak joined
lizmat :-( 18:28
ZoffixW m: say DateTime.now.later: :hours(2.5) 18:29
camelia rakudo-moar 60210f: OUTPUT«Type check failed in assignment to $!hour; expected Int but got Rat␤ in block <unit> at /tmp/Td_E4PomYo:1␤␤»
18:29 MadcapJake joined
ZoffixW would be nice for that to DWIM 18:29
MadcapJake++ # fixing highlighting
18:30 cognominal left
moises wow! all of those got it wrong in a different way ZoffixW . :( . The matrix assignment, I mean. 18:31
my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a.map: |*; say @b;
18:31 cognominal joined
moises this is the behavior I want 18:31
MadcapJake no prob ZoffixW glad to have some users :)
ZoffixW m: my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a.map: |*; say @b;
camelia rakudo-moar 591783: OUTPUT«[(Any) [(Any) 3 4] [(Any) 5 6]]␤»
moises but I have to add the ".map: |*" for it to work 18:32
ZoffixW m: say DateTime.now.clone( :2000year :2month :29day ).later: :5hours
camelia rakudo-moar 591783: OUTPUT«2000-03-01T00:32:45.978682+01:00␤»
MadcapJake ZoffixW: did you see what the highlighter does when you add a postfix regex flag? :) 18:33
moises Is that what I should be doing, or I'm missing something about matrices? 18:34
ZoffixW MadcapJake, doesn't seem to do anything lol? 18:35
18:35 anaeem1_ joined, pierre-vigier joined, anaeem1_ left
MadcapJake strange, some themes might not support it. but it actually marks any postfix flag as invalid.illegal 18:35
ZoffixW MadcapJake, ah :) I might not have that defined in my theme 18:36
nine lizmat: some smart person wrote in S22: "If a leaf of the "resource" hash is a hash, it indicates files with special properties (such as being provided by the builder, so not part of the distribution). This will allow a good MANIFEST to be created from the META6.json information."
lizmat nine: I guess this is part of the "special properties" ? 18:37
an object for p5helper that would create the correct extension for a given OS ? 18:38
nine lizmat: p5helper.so is both build-time and has a platform dependent name
El_Che does the META.info accepts and author array instead of a single author string? 18:39
RabidGravy authors I think
nine lizmat: I just wonder how we can differentiate between such a special properties thing and a plain directory 18:40
18:40 krunen joined, krunen left 18:41 krunen joined
ZoffixW El_Che, right there's no "author". Just "authors" that takes an array 18:41
Skarsnik nine, can ressource be typed?
ZoffixW El_Che, there's also this handy module that will tell you whether your META is valid: modules.perl6.org/repo/Test::META
El_Che ZoffixW: let-me-fix-the-doc then
dalek c: 006910f | (Karl Rune Nilsen)++ | doc/Type/Attribute.pod:
Attribute.has-accessor -> has_accessor
Skarsnik It's probably the only way to dill with this kind of stuff
18:41 smls left
El_Che doc.perl6.org/language/modules 18:41
is the module mature enough to be referenced from the doc? 18:42
18:42 virtualsue left
nine lizmat: maybe like this: gist.github.com/niner/5f2c51786ffca0eb4a88 18:43
Skarsnik: ^^^
ZoffixW El_Che, I think so. Plus, the author is active, so if any problems do show up, they'll be fixed fast. 18:44
lizmat nine: looks fine to me...
the main idea was to have *something* that would free developers from resource management at installations 18:45
the exact format, I don't care much as long as it's easy to explain :-)
RabidGravy nine, works for me - reference in %?RESOURCES by "name"
Skarsnik There should be a way to tell "This module need this C lib" and if enought information are provided panda could build the lib under shitty plateform like Win32, but not in case of a unix-like 18:46
daxim if I want to run "rakudobrew build moar sha-1" (from rakudobrew usage), from which repo do I pick a recentish sha-1? 18:48
RabidGravy but in the case of e.g. "directoty" would %?RESOURCES<images> return the directory and then one could do .child on it?
dalek ast: 637b8e9 | cygx++ | S32-io/ (2 files):
S32-io/{move,rename}.t: add bugfix that got lost in the revert
18:49
TimToady lizmat: it is a lot like the $?LINE issue, since we want to be able to have it mean different things depending on location in scope, such that "use MONKEY; ...no MONKEY; ...use MONKEY" works without requiring subscopes for here to end-of-block
18:49 hankache left
lizmat daxim: github.com/MoarVM/MoarVM 18:49
TimToady images corporate policy would require special attention to MONKEYs in production code, and probably disallow a simple 'use MONKEY;' in any case 18:50
*imagines 18:51
nine RabidGravy: my plan is that the build will generate sprintf($*VM.config<dll>, $_<name>), i.e. "name": "p5helper", "type": "dll" will give us a libp5helper.so on Linux, libp5helper.dylib on OS X and p5helper.dll on Windows. 18:52
RabidGravy: in the module, we'll access that as %?RESOURCES<p5helper> 18:53
RabidGravy yeah, that's how I understood it :)
nine %?RESOURCES<image><image1.png> for directories 18:54
RabidGravy ah, yes
cool
totally positive about that
nine I guess we could use { "images": ["image1.png", "image2.png"]} for directories, i.e guess that an array means we're dealing with a directory. But that's less future proof 18:55
TimToady lizmat: the hard question is whether a called routine can examine CALLER::<%?THING>; each callsite needs a way to find out which snapshot of %*THING is current, for anything in that category 18:56
it's one thing to require all access to be at compile time, but another if we have to support dynamic introspection 18:57
lizmat well, it's the same issue with $?LINE really
TimToady yes, but that's kinda hardwired at the moment, I think
lizmat if there is no reference of $?LINE in a block, it can not be introspected from another block, afaik
TimToady then how does callframe get the line?
how do backtraces work? 18:58
.oO( poorly :)
lizmat is checking
HLL::Compiler.lineof($cursor.orig() 18:59
??
nine RabidGravy: but with those special properties, we lose transparent access for FileSystem repositories :/ Those just give you $.prefix.parent.child('resources').child($key); right now
TimToady now imagines serializing the .orig, only with everything translated to only spaces or newlines 19:00
would be interesting to reverse engineer code based only on the sizes of each line...
daxim rakudobrew build moar sha-1 did not work for me: paste.scsys.co.uk/503294 it appears we are stuck on the november release for the install party 19:01
lizmat he... perhaps at this point before Christmas, we just allow for the current set of MONKEYs and expand post 6.c ?
TimToady we can add capabilities post 6.c as long as we don't clobber any existing tests
lizmat daxim: couldn't you just build from nom ? 19:02
_nadim Hi, is there a class, or a simple construct, which would I can iterate, and that resets to the first value after the last element is given, EG: never stops. Eg: my state = XXX.new(Nil, House, 7) which would return nil, then House,then 7, then Nil, ...
daxim sorry, I can't parse that. I used rakudobrew
_nadim I just need a flipflop but a generic class is even better
lizmat daxim: I only know of rakudobrew, never used it myself
#perl6, can someone else help daxim please ? 19:03
19:03 andreoss left
TimToady m: say (|<Nil House 7> xx *)[^100] # why do you need a class? 19:03
camelia rakudo-moar 591783: OUTPUT«(Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil House 7 Nil…»
dalek c: ce1302c | (Claudio Ramirez)++ | doc/Language/modules.pod:
META.info: author -> authord
19:05
c: c717bda | nxadm++ | doc/Language/modules.pod:
Merge pull request #257 from nxadm/master

  META.info: author -> authors
19:05 davercc` joined
_nadim TimToady: because I don't know if 100 will be enough, or a thousands 19:05
I can fliflop by hand or write a class (hmm, circular buffer it is) but thought that there might be something done already 19:06
ZoffixW daxim, rakudobrew triple should give you bleeding edge of everything 19:07
flussence m: say <Nil House 7> xx * 19:08
camelia rakudo-moar 591783: OUTPUT«(...)␤»
daxim thanks, trying now.
flussence _nadim: is an infinite lazy list not long enough?
TimToady m: say (|<Nil House 7> xx *)[10000] # how many do you want?
camelia rakudo-moar 591783: OUTPUT«House␤»
TimToady m: say (|<Nil House 7> xx *)[100000] # how many do you want?
camelia rakudo-moar 591783: OUTPUT«House␤»
TimToady m: say (|<Nil House 7> xx *)[1000000] # how many do you want? 19:09
19:09 davercc left
camelia rakudo-moar 591783: OUTPUT«House␤» 19:09
TimToady hmm, that seems wrongish
flussence m: say (|<Nil House 7> xx *)[10001]
camelia rakudo-moar 591783: OUTPUT«7␤»
TimToady I guess they're all a multiple of 3, plus 1 19:10
ZoffixW daxim, if it cries about not finding make, just save this file somewhere, then cd into ~/.rakudobrew/bin/ and type git apply FILENAME-where-you-saved-thatpatch
daxim, gist.github.com/TimToady/0b68b598b74df83e1eee
nine Of course they are... 9+ + 1
19:11 zacts joined, FROGGS joined
dalek kudo/nom: d0ed221 | jnthn++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp:
Pass on multi requirements when role does role.
19:13
TimToady daxim: if you're talking about Digest::PSHA1, panda installs that successfully for me here
ZoffixW daxim, also.... "install party"? :) What's that?
dalek ast: f6c665d | jnthn++ | S14-roles/composition.t:
More multi requirements and roles tests.
ZoffixW TimToady, I believe they're trying to install a specific commit of nom 19:14
where sha-1 is the commit sha
TimToady ah
19:14 FROGGS left 19:15 yqt joined
_nadim flussence: yes lazy lists are better than circular, immutable, buffers, to look at at least 19:16
19:16 xtreak left
dalek kudo/nom: 34c4fe9 | lizmat++ | src/core/IO/Path.pm:
Remove line I forgot to remove, zefram++
19:17
19:18 FROGGS joined
El_Che what's the perl6 idiom to mark some tests as "run only as author"? %*ENV{TEST_AUTHOR}? 19:21
Skarsnik Not sure to understand what you want x) 19:22
El_Che xt?
lizmat if you want to activate that with TEST_AUTOR=1 make tests
El_Che: that would be the way
perhaps in the form of:
El_Che the Test::META test should only be run by the author, not the user
19:23 espadrine left
Skarsnik I put it in xt for DBIish 19:23
I should have made travis run these tests x)
daxim ZoffixW, I invited people to bring their device, and we're installing rakudo www.reddit.com/r/perl6/comments/3x..._20151221/ 19:24
lizmat m: constant AUTHOR = ?%*ENV<TEST_AUTHOR>; if AUTHOR { say "doing tests" }
camelia ( no output )
El_Che thx lz
liz
RabidGravy El_Che, that would be great if there was a way of specifying "author only test dependencies"
ZoffixW daxim++ cool :D 19:26
19:27 regreg joined
TimToady why we don't want to send out software with security flaws: www.washingtonpost.com/news/the-sw...ean-it-up/ 19:28
ZoffixW vis-à-vis testing vars, we could piggy back on P5's conventions: github.com/Perl-Toolchain-Gang/too...g-contexts
daxim okay, rakudobrew triple finished, what now? the perl6 executable is still the one from before (rakudobrew build moar)
TimToady you need to make sure you path is right 19:29
lizmat ZoffixW: good plan!
Skarsnik "The path is right" Today with TimToady as a guess star
RabidGravy ZoffixW, I love the way that document uses "consensus" 19:30
ZoffixW RabidGravy, not sure I follow :)
daxim no, I mean the .rakudobrew/bin/perl6 is still the old one, is rakudobrew triple supposed to build just moar-HEAD-HEAD-HEAD or more than that?
19:31 pierre-vigier left
ZoffixW daxim, did it finish correctly or did it say "Make not found blah blah you can run it manually"? 19:31
dha Consensus? There's consensus?? 19:32
daxim I got that bug and applied the patch and ran rakudobrew triple again and that worked
ZoffixW hmpf
oooh
daxim, what makes you think it's the old perl6?
The fresh one would still say 2015.11 in perl6 -v 19:33
daxim inode datetime
ZoffixW aw :(
RabidGravy the "perl6" is a shell script so it may not have changed
daxim I found the built results in .rakudobrew/moar-HEAD-HEAD-HEAD/install/bin
they did not get installed
nine RabidGravy: how on earth do we get from p5helper in the Makefile.in to libp5helper.so in the Makefile?
ZoffixW tries nuking .rakudobrew and .perl6 and rakudobrew tripple on a server 19:34
19:34 pierre-vigier joined
RabidGravy nine, LibraryMake determines it from the configuation pf the perl 19:35
nine RabidGravy: well LibraryMake gives you %SO% which you can use in the Makefile.in, but that's actually: my $so = $*VM.config<dll>; $so ~~ s/^.*\%s//; 19:36
RabidGravy right
TimToady daxim: I think you need to use 'rakudobrew switch moar-HEAD-HEAD-HEAD' or so
ZoffixW *sigh* connected to the wrong server and nuked perl6 there XD 19:38
Skarsnik I hate env variable to set stuff x)
ZoffixW I guess it's a good thing I don't work at the nuclear plant
19:38 pierre-vigier left
ZoffixW Skarsnik, for testing? I don't see a better way 19:38
TimToady though oddly, despite building moar-HEAD-HEAD-HEAD yesterday, it seems to be reporting 2015-11 for its version 19:39
is it lying about HEADs? 19:40
dalek kudo/nom: cfb1f37 | lizmat++ | src/core/Temporal.pm:
Be consistent in how we create new objects
ZoffixW Doesn't it get the 2015-11 bit from tags or something that are updated only on release?
m: say (combinations 1000, 100).elems 19:41
camelia rakudo-moar 34c4fe: OUTPUT«63850511926305130236698511142022274281262900693853331776286816221524376994750901948920974351797699894319420811933446197797592213357065053890␤»
ZoffixW ^ that should take ages on 2015.11 perl
19:42 cdg joined
lizmat afk for a bit& 19:42
19:43 prammer_ joined
timotimo oh, snap 19:44
19:44 prammer left
timotimo it's monday evening 19:44
19:44 prammer_ is now known as prammer
RabidGravy it is 19:44
ZoffixW Weekly? :)
Hm. I haven't made any new modules this week :( 19:45
TimToady ZoffixW: okay, it's actually running latest
ZoffixW is dissapointed
RabidGravy neither have I
I nearly started making a gdbm binding then got stuck in bugs and documentation 19:47
19:47 spider-mario joined
timotimo gdb...m? 19:47
ZoffixW ranguard, huh? You're uploading P6 modules to P5 PAUSE? RE: github.com/andk/pause/issues/191#i...-166389496 19:48
..and.... they're OK with it? :)
RabidGravy ranguard as inLeo Lapworth?
Skarsnik I want someone to write a Compile module to compile C/C++ binary and library x) 19:49
ilmari ZoffixW: yes, as long as you upload it to the Perl6/ subdirectory of your author directory , it gets indexed in a separate index
FROGGS Skarsnik: like the CompileTestLib does?
ZoffixW RabidGravy, yes
Skarsnik it only does lib x)
ZoffixW ilmari, how do I upload to "Perl6/ subdirectory"? 19:50
FROGGS ZoffixW: it does not interfere with the P5 stuff
ZoffixW: that happens automatically if your dist contains a META6.json
ZoffixW ilmari, nm, I see it mentioned on PAUSE
ilmari github.com/andk/pause/blob/master/...1613-L1617
daxim $ time perl6 -e'say (combinations 1000, 100).elems' real 0m0.449s # works! 19:51
thank yall for the help
ZoffixW daxim, yey :)
Skarsnik I still have my IRC::Art module to write in perl6 ~~
FROGGS ilmari: that's not true
ilmari: the Perl6 subdir can be specified, but it dont has to 19:52
ilmari: unless somebody changed my code...
eww, probably somebody has 19:53
19:54 lucasb joined 19:55 muraiki left
FROGGS damnit github.com/andk/pause/commit/fa5a6...f2e9cce294 19:55
19:55 pierre-vigier joined
FROGGS jdv79: did you do that? 19:55
ilmari FROGGS: github.com/andk/pause/commit/fa5a6...f2e9cce294
FROGGS ilmari: yes, already spotted it
it is just... that I do not agree 19:56
19:57 pierre-vigier left
dha Yeah, that happens. 19:57
RabidGravy that old "consensus" again ;-)
timotimo "working implementations and rough consensus" etc etc
19:57 cdg left
FROGGS if I understand correctly it will mean that a distname + version can only be used by author 19:57
nine Why exactly is there no standard for the $*VM.config keys? 19:58
FROGGS nine: because we just the vm's config in a hash and expose it
El_Che send a PR to Test::META to document the TEST_AUTHOR idiom (e.g. making the loading of the module conditional so regular users will not need to install Test::META)
s/send/sent 19:59
RabidGravy El_Che, thanks but I may decline
ranguard ZoffixW: Yes: github.com/perl6modules/perl6-module-uploader/
19:59 pierre-vigier joined
ranguard RabidGravy: yep 19:59
RabidGravy yaY
FROGGS nine: just dump*
El_Che RabidGravy: of course you may :) 20:00
ranguard FROGGS: the Perl6 dir isn't automatic, but the Upload interface lets you specify a subdir (and many tools)
nine FROGGS: that means that user code has to be written for all possible backends
FROGGS ranguard: it was automatic 20:01
nine: that's the current state, yes
nine: and we can't do much... what if JVM10 adds 10 keys and removes 4?
ranguard: and I think it is problematic that Perl 6 dists are now registered in the tables that are used for Perl 5 20:02
ranguard FROGGS: I'd assumed it was when I did my first upload with a META6.json
FROGGS ranguard: the design decision was to avoid that
ranguard ahh, shame, but tools can easily be built to put that in automatically I guess 20:03
FROGGS ranguard: I dont mind the Perl6 dir right now... the uris table is more of a problem 20:04
dha Speaking of consensus. There was that time that I started putting usage statements all over the place and then some people didn't like it so I stopped. Should those be removed before P6 escapes into the wild for reals, or is their presence a sufficiently minor issue that we can ignore it for now?
Skarsnik usage statement?
FROGGS dha: I still love them 20:05
ranguard FROGGS: metaCPAN now copes: github.com/CPAN-API/cpan-api/commi...24a5235927 :)
timotimo dha: i found something very strange where a named parameter in the description was replaced with a totally different name in the usage statement
FROGGS ranguard++
timotimo i don't remember where ... i think it was ":FROM_END" or something
FROGGS Skarsnik: in docs
dha timotimo - that is possible. There may have been some blips along the way.
20:05 darutoko left
nine FROGGS: but I guess we could standardise some basic keys like cc, make and so? 20:06
dha FROGGS - Yeah, but I kind of see how many of them seem repetitive.
lucasb can I has an example of these usage messages? I don't think I ever saw them
dha It was suggested that examples might serve the purpose better.
FROGGS nine: yes, but this can also be a helper module, no?
dha lucasb Skarsnik - look at, for instance, Type/Array.pod and look for "Usage:" 20:07
lucasb ahhh, in the doc stuff :) thanks, dha
ZoffixW ranguard, Does it mean my upload of my own module I've just done will fail because someone else has got dibs on the namespace? RE: "We produce a version of 0.000.000_YYMMDDhhmm for each release, this will allow an author to release their own version (we will happily transfer over any PAUSE permissions required)." 20:08
dha They were basically intended to be like the similar lines in the P5 docs, which a number of people indicated they found useful.
ZoffixW is unsure on how to feel about that
20:08 jme` left 20:09 jme` joined
ranguard ZoffixW: If you upload before us we won't upload, if after us, we'll hand over permissions to you 20:09
lucasb timotimo: are you willing to rephrase that commit about object hashes?
timotimo lucasb: not sure if i can come up with something better
20:10 rurban1 joined
ranguard and that version should mean you can do as you like as we've not trampled your version numbers 20:10
lucasb timotimo: ah, ok. I just thought that description was not very accurate
timotimo yeah, :{ } isn't about forcing hash literals 20:11
lucasb m: say :{ (Int) => 1 }.perl
camelia rakudo-moar cfb1f3: OUTPUT«:{Int => 1}␤»
lucasb ^^ this is a bug, right? should output (Int), not Int 20:12
RabidGravy doesn't all of the above re: PAUSE make any "auth" on the distribution or in a "use" somewhat moot?
ZoffixW Indeed
masak m: say :{ "Int" => 1 }.perl
camelia rakudo-moar cfb1f3: OUTPUT«:{:Int(1)}␤»
masak m: say :{ Int => 1 }.perl 20:13
camelia rakudo-moar cfb1f3: OUTPUT«:{:Int(1)}␤»
lucasb m: say :{ (Int) => 1 }
camelia rakudo-moar cfb1f3: OUTPUT«(Int) => 1␤»
masak lucasb: looks like it's a bug, yes
lucasb ^^ see that the gist is right
20:13 rurban left
ZoffixW I'm also a bit annoyed to find out that some person took all of my code and pushed it onto PAUSE and now owns all of the namespaces. 20:13
masak the .perl output doesn't roundtrip
ZoffixW ... a bit...
lucasb masak: someone finally agreed with me today, yay! :)
masak yay 20:14
20:16 labster joined
nine FROGGS: that could mean that I will not only need LibraryMake to compile but also at runtime 20:16
ranguard ZoffixW: I want to shutdown this project ASAP, this is just a bootstrap I hope 20:17
FROGGS nine: aye
ranguard RabidGravy: how do you mean?
ZoffixW ranguard, in Perl6, two different authors can release module named Foo::Bar 20:18
ranguard, and the user can specify which one they want with :auth<> adverb
RabidGravy well, the name, version and auth fully identiy the module
FROGGS a dist*, but yes
ranguard ahh (I know 0 Perl 6)
FROGGS that's why the uris table change is problematic 20:19
20:19 pierre-vigier left
FROGGS there should not be any Perl 5 style indexing going on for Perl 6 20:19
RabidGravy use Foo::Bar:ver<v1>:auth<zoffix> and use Foo::Bar:ver<v1>:auth<rabid> are different
FROGGS dunno why jdv (jdv79?) did that
diakopter FROGGS: I totally agree
20:20 pierre-vigier joined
timotimo what's everyone's favourite change from the last 7 days? 20:21
ranguard so, going forward ANYONE can release a Foo::Bar, and I've got to hope I can find the one that is what I was actually after
RabidGravy when TimToady grew an asses head and serenaded the fairy queen 20:22
FROGGS ranguard: the idea is to allow forks more easily
ranguard: and abandoned projects
well, not to allow the latter strictly speaking 20:23
RabidGravy oh different sort of change
FROGGS but making it easy to continue someone elses work
RabidGravy which also somewhat ties in the NYI supercedes and superceded-by stuff 20:24
FROGGS ranguard: imagine github would allow unique repository names only
ranguard FROGGS: ick, sounds like asking for confusion and arguments
dha FROGGS - I guess I see the utility of that from an implementation standpoint, but ranguard's concern seems pretty major from a user's pov.
diakopter yes, it effectively just adds the author name into the namespace
FROGGS dha: compare that to what I just said 20:25
ZoffixW timotimo, panda no longer emits the %*ENV warnings... ( combinations .. ... ).elems got a gazillion times faster
ranguard FROGGS: yea, but forking is very different to releasing
FROGGS ranguard: and releasing a fork? :o)
ZoffixW ranguard, can you transfer the perms for all of modules taken from github.com/zoffixznet to ZOFFIX pause user? I can give you a full list if needed. 20:26
dha FROGGS - the repository name thing? I'm not sure how that would let the user know which one he wants.
FROGGS ranguard: if they dont release, there wont be much hits for the dist you search for
ZoffixW ranguard, I'll upload those dists myself, now that I know PAUSE accepts P6
dha But maybe I'm just not understanding the full picture. *shrug*
FROGGS dha: if you are searching for a open source project, and you find five on github... somehow you can guess which is the right one, no?
diakopter yes, they link to the origin 20:27
dha I imagine the answer to that is often "no", actually. :-)
FROGGS hehe
lucasb FROGGS: the one with most stars and forks? :)
ranguard ZoffixW: I've only done Acme::Meow so far, waiting on a PAUSE patch
20:27 [particle] joined
FROGGS lucasb: exactly 20:27
ZoffixW ranguard, oh, then never mind :D I just saw these, but I guess this is not fed from PAUSE? hack.p6c.org:5001/author/JDV/releases 20:28
FROGGS and there will be a so called recommendation manager at some point, marking one of the dists as "the one"
ranguard ZoffixW: no, that's JDV's test system, which he's hacking what I'm going to do fully
ZoffixW k 20:29
jdv79 FROGGS: yes
20:29 Praise- is now known as Praise
ranguard FROGGS: MetaCPAN has had that on the todo list for a few years :) 20:29
jdv79 is on a phone
FROGGS jdv79: why are we registering P6 dists in the uris table?
20:29 pierre-vigier left
ZoffixW The whole :auth<> thing feels overengineered. 20:29
20:30 pierre-vigier joined
FROGGS ranguard: four years sounds good to me :o) 20:30
jdv79 we have? thats how pause works.
we have to i mean
FROGGS jdv79: P6 dists are meant to be registered in the p6* tables only
jdv79: why?
20:30 AndyDee joined
jdv79 the uris table is part of ingestion. 20:31
ranguard FROGGS: I hate that someone tells me about Foo::Bar and I have to spend ANY time working out which one they meant, which you get in other languages
Juerd ZoffixW: Agreed. But the primary reason that I'm reluctant to even use :auth<>, is that it makes my code hideous.
It's already making error messages unsightly 20:32
FROGGS ranguard: the other option is that you get a Foo::Bar, Foo::BarSimple, Foo::BarFast, Foo::BarNew
20:32 dha left
ZoffixW Juerd, which error messages? 20:32
20:32 dha joined
FROGGS jdv79: we should skip all the P5-related tables 20:32
jdv79: we won't make use of it
20:32 cygx joined
Juerd ZoffixW: I forgot which one. Something with :ver<Any>:auth<Any>, or something like that. 20:32
ranguard yea, but then I know which is which
ZoffixW Juerd, that was fixed
jdv79 we dont. pause does. did you read how its used?
pause is not fun 20:33
Juerd ZoffixW: Great. Now only the :auth think remains to be fixed :)
ranguard FROGGS: out of interest, what happens when several people work on a project, do they makeup an author to share?
jdv79 btw, is something actuslly broken?
cygx ranguard: auth doesn't necessarily mean author 20:34
ZoffixW FROGGS, I don't see how this is any better: Foo::Bar:auth<zoffixznet>, Foo::Bar:auth<froggz>, Foo::Bar:auth<dongpoodle>, Foo::BarNew:auth<batman>, especially since this leaves plain Foo::Bar ambiguous
FROGGS ranguard: they can be a organization, sure
cygx it could just be the distributor
ranguard k
Juerd ZoffixW++ # good example
jdv79 FROGGS: ill backlog later but afaik that part is fine 20:35
RabidGravy ZoffixW, I would think "the most recent version of any auth", but obviously different auths might have different version schemes
so, not entirely clear
ZoffixW RabidGravy, but "the most recent version of any auth" is a nonsensical choice, considering the modules can be about vastly disparate things and have entirely different APIs 20:36
RabidGravy yes
dha dongpoodle and batman really need to do a team-up
ZoffixW Well, time will tell how this pans out, I s'pose 20:37
FROGGS jdv79: I think I see what you mean
jdv79++
20:37 sno left
FROGGS does not enjoy reading PAUSEs codebase 20:38
jdv79 then we have something in common
ranguard So, I won't be trampeling anyone's namespaces... as no one has namespaces
jdv79 bleh but it works
ranguard s/has/owns/
RabidGravy it is older than some people here after all
FROGGS true
Juerd I think maybe I'll release an Int:auth<Juerd> :) 20:39
ZoffixW :D
Skarsnik xD
RabidGravy and me, TimToady and dha are probably older than everyone else put together ;-)
Juerd Does :auth propagate into types, and can we use them in the same program? 20:40
dha yeah...
Juerd 'cause then I can make my Int always greater than your Int. :)
FROGGS Juerd: your Int will shadow the Int from CORE
lizmat well, and *that* I feel is Wrong(TM) 20:41
Juerd FROGGS: And if two non-core modules have the same name, you'll also be able to use just one of them?
lizmat Juerd: within a lexical scope, yes
Juerd I see
lizmat unless you import one of them with a different name
FROGGS Juerd: you cannot import two modules that export clashing stuff, yes
Juerd That just means that we'll continue to pick globally unique names anyway.
ZoffixW m: class Int:auth<dongpoodle> { method Int { 42 } }; my Int $x = 55; say $x.Int
camelia rakudo-moar cfb1f3: OUTPUT«===SORRY!===␤P6opaque: must compose before allocating␤»
ZoffixW hm
FROGGS Juerd: but you are meant to alias one of them
Juerd: (which is not implemented currently) 20:42
cxreg so that Promise race condition example from yesterday, I'm not concerned that there's such a race or undefined behavior as I was that it would unpredictably fail to compile sometimes
FROGGS m: class Int:auth<dongpoodle> { method Int { "42" } }; my Int $x = 55; say $x.Int 20:43
camelia rakudo-moar cfb1f3: OUTPUT«===SORRY!===␤P6opaque: must compose before allocating␤»
FROGGS m: class Int:auth<dongpoodle> { method Int { "42" } }; my Int $x = "55"; say $x.Int
camelia rakudo-moar cfb1f3: OUTPUT«===SORRY!===␤P6opaque: must compose before allocating␤»
Skarsnik should the modules in task::star that does not work for x-mas should be removed/forked? 20:44
20:44 pierre-vigier left
RabidGravy I did have a separate but related thought the other day where it would be nice to have some thing that e.g. gives me any old "from-json" and it will only crap out if any of JSON::Pretty, JSON::Fast or JSON::Tiny and so forth not install 20:44
Skarsnik People will probably expect them to at least install
RabidGravy yes
20:45 pierre-vigier joined
ZoffixW Skarsnik, what's more pertinent is fixing panda to not crap out when prereqs are missing 20:45
masak .oO( does the panda crap out in the woods? ) 20:46
RabidGravy well, a judicious CATCH could fix that
ZoffixW m: class Foo:auth<dongpoodle> is Int { method Int { "42" } }; class Foo:auth<zoffix> is Int { method Int { "4242" } }; my $x = Foo.new(55); say $x.Int
camelia rakudo-moar cfb1f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MliZKEEI9B␤Redeclaration of symbol Foo␤at /tmp/MliZKEEI9B:1␤------> 3 "42" } }; class Foo:auth<zoffix> is Int7⏏5 { method Int { "4242" } }; my $x = Foo.␤»
ZoffixW hm
20:48 ZoffixW left
lizmat Skarsnik: I think that would be a yes 20:49
20:50 rurban_ joined
lizmat is off to watch an awakend force 20:51
20:51 raydiak_ is now known as raydiak 20:53 administ1ator left 20:56 spider-mario left 20:57 geraud joined
jdv79 what is a awakened force 20:59
RabidGravy c'thulthu just moved in round the corner 21:00
21:02 pierre-vigier left
RabidGravy what modules are there that are really only of interest to module authors (apart from Test::Meta)? 21:02
Skarsnik NativeCall::Typediag x)
timotimo mi6
cxreg does rakudo or nom cache compiled code? 21:03
21:03 n0tjack left
cxreg across executions, I mean 21:04
RabidGravy I was just contemplating an e.g Task::Author to grab up the collection (following from El_Che's suggestion)
21:05 pierre-vigier joined
Skarsnik mi6 does bad thing (like rebuilding the META) when you run the test, make it not good to work with other author module 21:05
21:05 cdg joined
timotimo cxreg: only modules 21:06
cxreg hm. i swear that i had a file that had a typo and then i fixed it, and then for some time it would alternate between running and repeating the (now fixed) compilation error 21:08
i'm having a hard time repeating that though
timotimo o_O
cxreg yeah...
RabidGravy code trolls 21:09
21:09 cdg left
cxreg it's entirely possible that was pebcak but i'm not sure how 21:09
cygx
.oO( was alcohol involved? )
cxreg it was "up arrow, enter" a dozen times
21:09 cdg joined
RabidGravy (other mind altering substances are available) 21:09
lucasb About .gist methods in IO::{Path,File,Dir} objects, in your opinion, what should they do? a) leave the way it is; b) be the same as .Str; c) be the same as .perl; d) output a friendly string like "path:foo/bar", "dir:foo/bar", "file:foo/bar" 21:10
as it is now, it's almost like .perl, expect it doesn't handle all the escape cases right 21:11
21:11 cdg left
lucasb m: say '""""\\'.IO 21:11
camelia rakudo-moar cfb1f3: OUTPUT«"/home/camelia/""""\".IO␤»
21:12 FROGGS left
cxreg timotimo: if i ever see a repeat incident i'll try to be more scientifical :) 21:15
21:15 zengargoylew left
cxreg timotimo: the code in question contained thread-unsafe code in addtion to the typo 21:15
which was the point of running it in the first place 21:16
RabidGravy lucasb, in answer to you question, it's useful to just "say" one and see what it is, so not the same as .Str 21:20
21:21 cibs left
RabidGravy otherwise no strong feelings 21:21
21:22 cibs joined
nine timotimo: loading modules with lots of dependencies got much, much faster. 21:22
masak m: sub foo($x) { say (* == $x)($_) given $x }; foo(1); foo(2)
camelia rakudo-moar cfb1f3: OUTPUT«True␤False␤»
masak submits rakudobug
21:23 TimToady left, pierre-vigier left 21:24 pierre-vigier joined, TimToady joined 21:25 Celelibi left
lucasb RabidGravy: yeah, I don't think .Str is the right thing too. Thanks for the comment. 21:25
21:27 pierre-vigier left, kaare_ left 21:28 Celelibi joined 21:29 pierre-vigier joined
masak m: sub foo($x) { say (* ~ $x)($_) given $x }; foo(1); foo(2) 21:30
camelia rakudo-moar cfb1f3: OUTPUT«11␤21␤»
masak this bug brought to you by: Refactoring™ 21:31
lucasb so... the WhateverCode is caching the first value it's called with?
masak yes, but only if it's in a given 21:32
m: sub foo($x) { say (* ~ $x)($x) }; foo(1); foo(2)
camelia rakudo-moar cfb1f3: OUTPUT«11␤22␤»
lucasb the first value it's *created* with
masak right
21:33 moises left 21:36 pierre-vigier left, pierre-vigier joined, raiph joined 21:40 nwc10 joined
nwc10 lizmat++ # Perl wine is really nice 21:40
RabidGravy Perl wine? I'm just having a tempranillo myself 21:41
nwc10 RabidGravy: lizmat gave me a bottle a while back, and I'd not had a decent excuse to drink it until www.meetup.com/Vienna-Perl-Mongers/...227358103/
jdv79 wendy was trying to give it away at spw
nwc10 even tomboh came and went without us drinking it
having now enjoyed some, "foolish mortals" for not taking her up on the offer 21:42
RabidGravy he must have been sickening for something :)
nwc10 Not sure what
dha It's nice. 21:43
diakopter masak: so the closure is overly uptight 21:45
overly reticent
overly retentive
masak something like that 21:46
diakopter masak: what happens if you add a level of indirection 21:49
masak Try It And See?
diakopter an invocation of something that retrieves the $x again, for instance
masak I was just happy I golfed this one, to be honest. it was smack in the middle of the logic that compares precedence between two operators in the 007 parser. 21:50
I wonder if 007 is now the biggest active Perl 6 program, besides Rakudo itself.
diakopter ^_^
with a license to kill itself? 21:51
RabidGravy a license to ill
masak only if the refactor is seductive enough
I'm tinkering with the advent post about 007 for day-after-tomorrow. 21:58
anything in particular people would like to read about?
masak plays with fire, asking the audience what they *prefer*! o.O
dha A magical pony. 21:59
stmuk nwc10: aren't we supposed to save the perlsecco for the release?
21:59 skids left
diakopter newfangled bangle jangles 21:59
masak pony and bangle. got it.
RabidGravy I'm sure I've got a bottle of US domestic "champagne" somewhere in the house :-\ 22:00
diakopter bangle jangles
masak pony and newfangled bangle jangles -- got it. :) 22:01
RabidGravy but but ponies
masak oh, several ponies? ok.
jdv79 what are we toasting. its not the 25th yet, right?
22:01 prammer left
dha jdv79 - I think we're just preparing 22:01
RabidGravy who needs a reasons? 22:02
masak the "every day will be Christmas" is starting to quantum tunnle back to the current present
tunnel*
jdv79 nice 22:03
RabidGravy it's the large hadron collider what done it
lucasb m: sub f {}; &f.assuming for ^20; say now - INIT now 22:05
camelia rakudo-moar cfb1f3: OUTPUT«1.07528685␤»
lucasb creating functions with .assuming is very slow...
lots of code in the method: github.com/rakudo/rakudo/blob/nom/...m#L45-L315 22:09
maybe something could be optimized there...
jdv79 the lhc is pretty cool.
not to mention f'in expensive 22:10
higgs!
22:10 lucasb left
masak I hear the Higgs boson was discovered using Comic Sans. 22:12
jdv79 wut?!
22:13 xfix left
RabidGravy Higgs Bozo 22:13
22:18 Skarsnik left
_nadim How does one get a non read only value out of a hash? 22:19
22:20 regreg left 22:21 Begi2 joined, cygx left
_nadim In a for loop, %h.kv -> $k, $v gives me a read only $v 22:21
El_Che _nadim: that's by design 22:22
_nadim OK then how do I do what i want
El_Che you want to change a value on the fly?
jdv79 is rw or is copy
El_Che or get only the index 22:23
_nadim jdv79: for %h.kv -> $k, $v is rw ?
El_Che key I mean
jdv79 is ro is optimizabler so...:)
hencw being default
22:24 Begi left
_nadim I am all for optimization, as long as it is documented how to do the not optimized 22:24
jdv79 i think it is somewhere:)
masak _nadim: agreed, it should be clearly explained somewhere
dha I also agree!
jdv79 is rw to affect tbe orig. is copy to not. you know...
_nadim masak: it probably is ;) 22:25
22:25 Begi2 left
gfldex there --> design.perl6.org/S06.html#Parameter_traits 22:27
_nadim I think we mean for Hashes and with an example ;) 22:29
I actually decided to not modfy in place, still good to know how to do it, thanks all
RabidGravy _nadm it's not specific to hashes 22:30
but itym,
m: my %h = f => 1, g => 2, h => 3; for %h.kv -> $k, $v { %h{$k} = $v +10 }; say %h; 22:32
camelia rakudo-moar cfb1f3: OUTPUT«f => 11, g => 12, h => 13␤»
RabidGravy which won't make the next person who looks at the code hate you quite so much 22:33
inplace editing is harder to read 22:34
El_Che fwiw, I haven't read the code and I hate you already... just kidding :) 22:35
lucs In perl5 : while ("1 22 333" =~ / (\S+) /gx) { print "$1\n" } # Prints 「1␤22␤333␤」
How do I fix this perl6?: while "1 22 333" ~~ m:g/ (\S+) / { say ~$0 } # Prints 「1␤1␤1␤1…」
22:35 dha left
RabidGravy always code like the maintenance programmer is a psychopath who knows your address 22:36
labster RabidGravy: so I'm the maintenance programmer of my own code?
Juerd m: "1 22 333".comb(/\S+/).join(":").say 22:37
camelia rakudo-moar cfb1f3: OUTPUT«1:22:333␤»
Juerd Although in this case I might just use split :P
lucs Juerd: Hmm... Nice. Thanks.
22:39 prammer joined
lucs Yeah, comb, split, similar here. 22:39
_nadim my %h = f => 1, g => 2, h => 3; for %h.values -> $v is rw { $v += 10 }; say %h;
m: my %h = f => 1, g => 2, h => 3; for %h.values -> $v is rw { $v += 10 }; say %h;
camelia rakudo-moar cfb1f3: OUTPUT«f => 11, g => 12, h => 13␤»
_nadim if that code makes someone hate you, then that someone has a bigger problem than the code
jdv79 _nadim++ 22:40
22:42 jvcakg joined
gfldex if you wish to concurrent, changing values in place might bite you 22:43
El_Che _nadim: we all have bigger problems than the code. Let me introduce you to your manager or you junior colleague :) 22:48
_nadim gfldex: I do not in this case but I'll keep that in mind
22:49 vendethiel left
_nadim El_Che: something like that ;) 22:49
timotimo hm 22:53
now i can actually start the blog post )%
%)
masak 'night, #perl6 22:58
22:58 RabidGravy left
_nadim night 23:01
lucs m: "1 2 3".comb(/ $<num> = \S+ /).map({ say $<num> }) # Scope misunderstanding? 23:02
camelia rakudo-moar cfb1f3: OUTPUT«Nil␤Nil␤Nil␤»
timotimo lucs: $<foo> operates on $/, which you don't put as a parameter there 23:03
and you're not using :match in comb, so you're only getting a Str that you map over
m: "1 2 3".comb(/ $<num> = \S+ /, :match).map(-> $/ { say $<num> })
camelia rakudo-moar cfb1f3: OUTPUT«「1」␤「2」␤「3」␤»
lucs Yow, okay :)
(I may just use $_ for simple cases.) 23:04
23:05 jvcakg left
timotimo yeah, $_ also gives you the .<num> syntax 23:05
which is the same length as $<num>, too.
m: "1 2 3".comb(/ $<num> = \S+ /, :match).map({ say .<num> }) 23:06
camelia rakudo-moar cfb1f3: OUTPUT«「1」␤「2」␤「3」␤»
lucs Ah, nice.
23:07 prammer left 23:08 lucasb joined 23:10 lsm joined
Juerd timotimo: The last p6weekly didn't have the ecosystem addition. Did nothing happen or is it no longer part of the summary? 23:10
timotimo Juerd: i just made a mistake
Juerd Oh, I didn't know you did those :) 23:11
s/did/made/
lucasb I just had to come here to comment one last thing... The epigraph for perl 5.23.6 is very funny, you should take a look :)
timotimo to be honest, liz did most of the recent ones :)
Juerd timotimo++ and liz++ # I really like reading the summaries 23:12
timotimo thank you :3 23:13
it means an alot to me to hear feedback like that
23:15 virtualsue joined
Juerd They're just about the right amount of text and it's a great way to stay informed 23:15
rjbs Shout out to p6 in the latest p5 release announcement, www.nntp.perl.org/group/perl.perl5....33475.html 23:19
23:20 jojotus_ is now known as jojotus
timotimo rjbs: that'll just give trolls more fodder to hate us for killing off/taking over perl5 23:22
"now perl6 is even in the most hallowed perl5 release announcements! 23:23
23:23 sno joined
timotimo when will the tyranny end?!" 23:23
Juerd I thought Camelia would keep the trolls busy?
23:23 ab6tract joined
Juerd <3 the Camelia rubber stamp 23:24
I'll take it to 32c3. Any of you going there?
I'll also bring it to FOSDEM
timotimo i won't be, but a friend of mine who will is sitting kind of right next to me
ab6tract rjbs: but who are the FUZZ RAIDERS? :) 23:25
rjbs ab6tract: We've been getting a lot of nice crashers reporting by people running fuzz testers against perl5.
ab6tract ah, nice :)
i think sixdotoh release could do something similar... EPISODE VI : A NEW HOPE 23:26
;)
lucasb someone should run the afl fuzzer in moar too
ab6tract i see it as much more of a potential unifier than not, to be honest. but old emnities die hard, especially in the perl community :) 23:27
there's never been a perl that's Perled as hard as perl6, and the True Guardians of the Perl will inevitably come around... 23:29
or face the might of this *fully operational* battle station 23:30
;)
Juerd Er... 23:31
Can we get back to butterflies and fun?
stmuk "Don't be too proud of this technological terror you've constructed" 23:32
:)
ab6tract stmuk++
lol
Juerd: well i can't imagine a world where inter-sibling rivalry and star wars references are un-fun, but if it bother you then yes let's move on 23:33
23:33 rindolf left
Juerd Oh, these were references. I didn't notice. Carry on :) 23:33
timotimo would i say "supply blocks can now have a CLOSE phaser, which fires when" or would it be "which is fired when"? 23:35
23:35 skids joined
Juerd Phasers are fired 23:36
stmuk is it too late to change phasers to blasters?
ab6tract timotimo: both are correct. in fact, the previous can be considered a better wording because it avoids a to-be verb
timotimo 'k
stmuk: well, we do have phaser blasts 23:37
Juerd I'd go for plural anyway, though, because you can have more than one phaser
23:37 cpage_ left
ab6tract maybe even better "which will fire when" 23:37
but like so much in english, it doesn't really matter :)
timotimo ah, that's so much better
especially since you attach phasers to variables/subs with "will" 23:38
m: supply { my $conn will CLOSE { say "yay" } = 10; }
camelia rakudo-moar cfb1f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0kKg037ta9␤Can't use unknown trait 'will CLOSE' in a variable declaration.␤at /tmp/0kKg037ta9:1␤------> 3pply { my $conn will CLOSE { say "yay" }7⏏5 = 10; }␤ expecting any of:␤ begin c…»
timotimo oh?
m: supply { my $conn will close { say "yay" } = 10; }
camelia rakudo-moar cfb1f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Yb6pOWMUSd␤Can't use unknown trait 'will close' in a variable declaration.␤at /tmp/Yb6pOWMUSd:1␤------> 3pply { my $conn will close { say "yay" }7⏏5 = 10; }␤ expecting any of:␤ begin c…»
timotimo m: supply { CLOSE { say "yay" } }
camelia ( no output )
23:42 ab6tract left
jdv79 advent post. 20 mins early. i'm tired. nite. 23:42
Juerd \o/ 23:43
Good night!
23:44 ab6tract joined
ab6tract good night jdv79 ! 23:46
23:47 rurban_ left
ab6tract timotimo: strange that the trait form doesn't work :S 23:47
23:48 lichtkind left
timotimo argh computer freezing again 23:48
Juerd m: thaw($timotimo.computer) 23:50
camelia rakudo-moar cfb1f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/82MY6giDh8␤Variable '$timotimo' is not declared␤at /tmp/82MY6giDh8:1␤------> 3thaw(7⏏5$timotimo.computer)␤»
Juerd Sorry, I tried...
23:50 labster left
ab6tract wait.. we have a thaw? 23:51
23:51 hankache joined
ab6tract no, we don't. phew 23:55
23:56 rurban_ joined
jdv79 just checked email and added an updae to the post 23:56
nite for realz 23:57
Juerd Good night :)
23:58 davercc` left, virtualsue left