Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-12-21

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 masak 'night, #perl6
00:01 jdv79 cya
00:02 dalek doc: 6b644bd | (Brock Wilcox)++ | doc/Type/Cool.pod:
00:02 dalek doc: Document EVAL a bit
00:02 dalek doc: review: https://github.com/perl6/doc/commit/6b644bd76b
00:03 xpen joined #perl6
00:08 dalek doc: ddc42d3 | (Brock Wilcox)++ | doc/Language/testing.pod:
00:08 dalek doc: Add a bunch of testing subs to the search index
00:08 dalek doc: review: https://github.com/perl6/doc/commit/ddc42d336b
00:09 Pessimist left #perl6
00:16 n0tjack joined #perl6
00:29 dalek rakudo/nom: 8ddfff5 | lizmat++ | src/core/ (2 files):
00:29 dalek rakudo/nom: A better fix for #126955, zefram++
00:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8ddfff5533
00:29 lizmat and with that, good night, #perl6!
00:30 lizmat .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 joined #perl6
00:51 dalek rakudo/nom: 1efe240 | hoelzro++ | src/core/CompUnit/Repository/Installation.pm:
00:51 dalek rakudo/nom: Set up $*RESOURCES for the distribution being installed
00:51 dalek rakudo/nom:
00:51 dalek rakudo/nom: $*RESOURCES was only set up for distributions that are loaded
00:51 dalek rakudo/nom: by other pieces of code, so any installer that uses the CompUnit API to
00:51 dalek rakudo/nom: install dists will fail to set up %?RESOURCES for the precompilation
00:51 dalek rakudo/nom: process and cause it to fail
00:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1efe2407f0
00:53 dalek doc: 58af38e | (Brock Wilcox)++ | doc/Language/5to6-nutshell.pod:
00:53 dalek doc: Remove last reference to first-index
00:53 dalek doc: review: https://github.com/perl6/doc/commit/58af38ebb4
01:00 dalek doc: 06e2aec | (Brock Wilcox)++ | doc/Language/nativecall.pod:
01:00 dalek doc: Index nativecall
01:00 dalek doc: review: https://github.com/perl6/doc/commit/06e2aec9c3
01:03 awwaiid :{ ... } # the ':' forces this to be a hash literal, right?
01:05 raiph joined #perl6
01:09 lucs ;If my new() method
01:09 lucs er,
01:09 yeahnoob joined #perl6
01:10 lucs In some class, if I want to signify that my new() method failed, should it 「return Nil」 or something else?
01:11 dalek doc: 32cd437 | (Brock Wilcox)++ | doc/ (2 files):
01:11 dalek doc: Document :{ ... } hash literal syntax
01:11 dalek doc: review: https://github.com/perl6/doc/commit/32cd437405
01:11 gfldex there may be an exception for that see: http://doc.perl6.org/type-exceptions.html
01:12 lucs Okay, thanks, reading...
01:15 gfldex lucs: depends ofc on what your class is supposed to do
01:15 gfldex Nil is the absense of a value, new is asked to provide a value
01:16 gfldex 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 :)
01:17 gfldex if you want to return some undefined value, returning the type object of the class could help too
01:18 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 #perl6
01:23 lucs gfldex: In that last case, how do I test for that undefined value?
01:25 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␤»
01:25 gfldex lucs:^^^^
01:27 lucs gfldex++ Thanks for the example.
01:27 TimToady generally you'll want to fail in case
01:28 TimToady 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;
01:28 camelia rakudo-moar 1efe24: OUTPUT«TrueTrue␤»
01:28 gfldex lucs: note that type smilies are the way to go for inheritance
01:29 TimToady type objects are reserved more for conveying a type that expects to be instantiated, not failure to exist
01:30 gfldex keeping the type information around can help with debugging deep call trees. Nil could come from everywhere.
01:32 * gfldex .oO( Perl 6 supports gradual failure. )
01:36 dalek tablets: 317b600 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
01:36 dalek tablets: linkfix
01:36 dalek tablets: review: https://github.com/perl6/tablets/commit/317b600e5f
01:36 BenGoldberg joined #perl6
01:41 dalek tablets: 22d4992 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
01:41 dalek tablets: fixing another tables layout
01:41 dalek tablets: review: https://github.com/perl6/tablets/commit/22d4992005
01:46 labster m: IO(".")
01:46 camelia rakudo-moar 1efe24: OUTPUT«Cannot invoke this object␤  in block <unit> at /tmp/ZQnz3TovC9:1␤␤»
01:46 diakopter labster: hi!
01:46 labster Howdy diakopter
01:47 sammers joined #perl6
01:47 dalek rakudo/nom: b383852 | TimToady++ | src/Perl6/Actions.nqp:
01:47 dalek rakudo/nom: .= and . should want LHS, fixes $a .= say if True;
01:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b383852eaa
01:52 TimToady huh, we never killed off 'as'
01:52 TimToady I wonder how much code out there still uses it...
01:54 TimToady well, it's relatively harmless compared to EVAL, so probably not worth breaking things
01:54 gfldex what does as do?
01:56 labster m: "/".IO.mkdir # well that's a surprise
01:56 camelia rakudo-moar b38385: OUTPUT«(signal SEGV)»
01:57 dalek rakudo-star-daily: c7316d2 | coke++ | log/ (8 files):
01:57 dalek rakudo-star-daily: today (automated commit)
01:57 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/c7316d22cb
01:57 dalek rakudo-star-daily: 8382061 | coke++ | log/ (8 files):
01:57 dalek rakudo-star-daily: today (automated commit)
01:57 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/8382061fb0
01:57 dalek perl6-roast-data: 1976f26 | coke++ | / (7 files):
01:57 dalek perl6-roast-data: today (automated commit)
01:57 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/1976f263f8
01:57 * skids find a few in arnsholt/Net-ZMQ
01:58 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␤␤»
01:58 labster looks like moarbugs
01:59 skids azawawi/perl6-net-curl has one "as"
02:01 lucs gfldex: Okay, just read up on type smilies (Rosetta code and S12).
02:01 lucs Thanks for the pointers!
02:02 lucs (er, the references?)
02:05 TimToady gfldex: it was the old syntax for coercions on parameters, replaced by coercion type like Int()
02:08 skids colomon/io-prompter has one "as", so does cosimo/perl6-lwp-simple, and jnthn/json-path
02:09 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:10 kaare_ joined #perl6
02:10 pjscott joined #perl6
02:11 pjscott I see quotemeta() was removed.  Is there something left that would quote shell metacharacters for escaping filenames inside qq:x?
02:14 dalek rakudo/nom: 739d1d2 | TimToady++ | src/Perl6/Actions.nqp:
02:14 dalek rakudo/nom: unwarn does Inline::Perl5::Perl5Parent["Foo", $p5]
02:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/739d1d2c75
02:14 TimToady well, there's always tr///
02:15 snarkyboojum joined #perl6
02:15 TimToady or s:g/(\W)/\\$0/
02:15 TimToady which is really all that quotemeta did
02:16 TimToady 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:18 n0tjack joined #perl6
02:19 xpen joined #perl6
02:21 xpen joined #perl6
02:22 * Juerd does really miss quotemeta
02:22 TimToady .tell lizmat require.t doesn't fail here
02:22 yoleaux TimToady: I'll pass your message to lizmat.
02:22 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
02:23 Juerd Have fun, TimToady  :)
02:23 xpen_ joined #perl6
02:26 skids Oh, tadzik/Shell-Command has an "as" and that's gonna need to be fixed pronto, probably before yanking it.
02:27 skids and some more in panda
02:28 pjscott thanks
02:29 skids sammers: hrm it installed for me.
02:29 sammers hmm
02:31 skids I have both libssl2.so and libssl.so in /usr/lib/x86_64-linux-gnu/ (as well as a .a)
02:31 skids erm libssl3
02:33 sammers ok, going to nuke moar and try again...
02:33 sammers thanks
02:38 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 cxreg there's over 300 commits on nom since then
02:40 cxreg maybe self-upgrade only upgrades rakudobrew itself?
02:41 cxreg guess so.  trying "build moar"
02:49 [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:53 pjscott I am missing something basic about Promises, I fear.  The following produces inconsistent results:
02:53 pjscott my @x = 1..3; my $y = 0
02:53 pjscott $y =0;await do for @x -> $x { start { sleep 1; $y += $x } }; $y
02:54 pjscott $y may be 4, 5, or 6
02:56 cxreg you probably need a Promise.all around that?
02:56 cxreg Promise.allof
02:59 pjscott $y =0;await Promise.allof( do for @x -> $x { start { sleep 1; $y += $x } } ); $y
02:59 pjscott same behavior
02:59 pjscott I assume that this is not atomic
03:00 pjscott 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 ?!
03:00 cxreg Cannot invoke this object (REPR: Null)
03:02 ab6tract joined #perl6
03:03 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
03:03 camelia rakudo-moar 739d1d: OUTPUT«y: 0␤x: 1␤y: 0␤x: 2␤y: 0␤x: 3␤6␤»
03:03 ab6tract pjscott: that is almost certainly undefined behavior
03:04 ab6tract pjscott: if you need that, then i would recommend using supplies and a react block
03:04 xpen joined #perl6
03:06 vendethiel joined #perl6
03:06 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:08 ab6tract that said, i am still a bit surprised by this behabior
03:08 pjscott cool, thanks
03:09 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␤»
03:10 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␤»
03:10 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␤»
03:10 ab6tract seems stable without the sleep, actually ... very curious
03:11 Ben_Goldberg joined #perl6
03:11 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␤»
03:11 ab6tract also with the sleep at the other side
03:13 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:14 ab6tract explicit index/key is *definitely* safe within a supply
03:15 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.
03:16 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␤»
03:16 ab6tract pjscott: ^^ this also seems to be stable on my machine
03:17 cxreg i can't imagine that one's truly any safer
03:17 cxreg seems to be a race condition around modifying the container in multiple promises that are resolved simultaneously with the update
03:18 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
03:18 ab6tract the proper way to do this kind of mutation is within react/supply
03:18 skids Yes containers are not threadsafe.  Do this: https://github.com/skids/perl6-Proc-Screen/commit/09ca76e8507d0f5ad393482daf5d5138bf491698
03:18 cxreg wonder if it's something that should fail to compile :/
03:18 ab6tract where any given whenever block is guaranteed to be run in only one thread at a time
03:19 n0tjack joined #perl6
03:20 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:21 ab6tract pjscott: https://github.com/ab5tract/Terminal-Print/blob/master/lib/Terminal/Print/Grid.pm6
03:21 ab6tract the mutation of the grid array is safe here, hope the example makes sense/helps
03:23 pjscott thanks
03:23 noganex joined #perl6
03:23 skids The protection afforded by "whenever" is useful assuming you are OK with non-parrallel execution of course.
03:27 pjscott the previous code I was working on was:
03:27 pjscott await do for @x -> $x { start { sleep 1; %f.push( 42 => $x ) } }
03:42 grondilu concurrent pushes on the same hash?  sounds unsafe.
03:42 grondilu (also what does it mean to push on a hash?)
03:43 grondilu m: (my %).push: *
03:43 camelia rakudo-moar 739d1d: OUTPUT«Trailing item in Hash.push  in block <unit> at /tmp/T0ROD7K_4O:1␤»
03:43 diakopter it's not safe
03:43 grondilu m: (my %).push: pi
03:43 camelia rakudo-moar 739d1d: OUTPUT«Trailing item in Hash.push  in block <unit> at /tmp/eIAgj59QZr:1␤»
03:44 diakopter you have to send it an even number of items
03:44 grondilu oh of course
03:44 BenGoldberg_ joined #perl6
03:44 skids https://6guts.wordpress.com/2014/04/17/racing-to-writeness-to-wrongness-leads/ #exlains these matters
03:45 grondilu anyway, rather do:  %f.push: await do {...}
03:47 labster I'm thinking IO::Path.mkdir and .rmdir should set $!e (existence flag)
03:49 labster 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␤»
03:50 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␤»
03:50 labster m: my $p = "testdir-212".IO; say $p.e; say $p.mkdir; say $p.e, $p.Str.IO.e
03:50 camelia rakudo-moar 739d1d: OUTPUT«False␤True␤FalseTrue␤»
03:51 labster there it is.  Caching the existence of the file.
03:54 skids Well, what if something else rmdirs it between $p.mkdir and $p.e?
03:54 labster then it would still be wrong?
03:55 skids I agree, it should not be "False" if nothing rmdirred it.
03:55 skids But maybe $p.e should actually always check.
03:56 skids Or I dunno how tightly that is all specced to be coupled.
03:56 llfourn joined #perl6
03:58 labster Perl 5, -e $file would always check.  But you could use -e _ to reuse the same result.
04:08 CQ2 joined #perl6
04:16 [Tux] joined #perl6
04:20 n0tjack joined #perl6
04:40 [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:41 [Coke] ah. it's probably systemic. (was trying to diagnose some failures in the stresstest)
05:07 TEttinger joined #perl6
05:07 TimToady joined #perl6
05:09 AlexDaniel joined #perl6
05:23 Actualeyes joined #perl6
05:59 xinming_ joined #perl6
06:05 n0tjack joined #perl6
06:06 cgfbee joined #perl6
06:07 cgfbee joined #perl6
06:23 cognominal joined #perl6
06:23 dalek rakudo/nom: 8622b90 | hoelzro++ | lib/NativeCall.pm6:
06:23 dalek rakudo/nom: Use empty string for undefined library names
06:23 dalek rakudo/nom:
06:23 dalek rakudo/nom: Some C library implementations, for example, glibc, allow a NULL string
06:23 dalek rakudo/nom: to be passed to their dynamic library loading function (dlopen in the
06:23 dalek rakudo/nom: case of glibc).  This returns a handle for the currently executing
06:23 dalek rakudo/nom: image, and is a pretty popular way to access libc routines dynamically.
06:23 dalek rakudo/nom: This change makes it possible to use `is native(Str)` once again
06:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8622b902c1
06:23 Actualeyes left #perl6
06:44 mohae joined #perl6
06:47 pierre-vigier joined #perl6
06:56 zengargo1le joined #perl6
07:27 CIAvash joined #perl6
07:27 FROGGS joined #perl6
07:27 mohae joined #perl6
07:31 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.
07:32 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.
07:33 TimToady maybe it's better now...
07:42 labster joined #perl6
07:42 [Tux] test             50000    25.021    24.907
07:42 [Tux] test-t           50000    14.549    14.435
07:42 [Tux] csv-parser       50000    52.601    52.487
07:42 [Tux] test suite still fails on EOL, but delaying that
07:45 llfourn [Tux]: so is that back to normal after whatever happened yesterday?
07:45 [Tux] speed-wise, yes
07:45 llfourn Cool :)
07:45 [Tux] EOL-wise, I am not yet satisfied
07:46 llfourn I haven't heard of the EOL issue?
07:46 * llfourn reads irc logs
07:46 [Tux] write \r\n to a file, then read back from it: it is \n now (at least on Linux/Unix)
07:48 llfourn I see. Thanks.
07:48 llfourn http://tux.nl/Talks/CSV6/speed4.html -- nice blip!
07:48 [Tux] reload
07:49 llfourn ah it's a spike now :)
07:51 xinming joined #perl6
07:51 * [Tux] => $work
07:55 darutoko joined #perl6
08:01 xinming joined #perl6
08:03 RabidGravy joined #perl6
08:06 n0tjack joined #perl6
08:06 nine hoelzro: you still up?
08:07 RabidGravy marning all
08:09 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:10 TimToady well, don't sweat it, I was changing the internals at the same time, so could've been some random skew
08:11 stmuk rocket launch in 33 mins
08:12 diakopter ooo
08:14 nowan joined #perl6
08:15 sno joined #perl6
08:17 zhi joined #perl6
08:21 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 #perl6
08:25 llfourn o/ _nadim
08:26 firstdayonthejob joined #perl6
08:28 brrt joined #perl6
08:28 vividsnow joined #perl6
08:31 zhi joined #perl6
08:43 pierre-vigier joined #perl6
08:44 stmuk https://www.rt.com/on-air/soyuz-rocket-cargo-spacecraft/
08:45 stmuk . o O ( how many mins to perl6 blastoff? )
08:47 Humbedooh not sure minutes is the best way to count :D
08:49 eads joined #perl6
08:53 CQ joined #perl6
09:10 RabidGravy m: use Test; EVAL "say 42"
09:10 camelia rakudo-moar 8622b9: OUTPUT«42␤»
09:10 RabidGravy m: class Test {}; EVAL "say 42"
09:10 camelia rakudo-moar 8622b9: OUTPUT«42␤»
09:10 RabidGravy oh, was that backed out then?
09:11 RabidGravy at 23:14 last night it was crapping out
09:15 DrForr How are we doing for release anyway?
09:15 hartenfels joined #perl6
09:16 dakkar joined #perl6
09:20 vytas joined #perl6
09:22 RabidGravy on the grounds that I have gone two kernel updates since last reboot I think I had better do that
09:23 vytas joined #perl6
09:24 RabidGravy see y'all in a tick
09:25 rurban joined #perl6
09:27 nine DrForr: I think pretty good
09:28 nine though I would love to see the run_alt issue fixed before the release
09:29 DrForr Nice.
09:29 nine I just fear that one's above my pay Readegrade
09:30 nine Ah typing on a phone screen will never really work...
09:32 RabidGravy joined #perl6
09:32 RabidGravy there
09:33 lolisa joined #perl6
09:33 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 pierre-vigier joined #perl6
09:34 rurban_ joined #perl6
09:34 rindolf joined #perl6
09:38 nowan joined #perl6
09:39 andreoss joined #perl6
09:39 andreoss java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp'
09:39 andreoss
09:40 andreoss while building jvm-nom
09:40 llfourn andreoss: when I get that with moar it usually means I have to Configure.pl again
09:41 llfourn andreoss: are you using rakudobrew?
09:41 andreoss yes
09:41 llfourn hmm that's strange it's meant to do it for you automatically
09:41 sQuEE` joined #perl6
09:42 Some-body_ joined #perl6
09:42 andreoss also why building jvm-nom anyway? why don't just download pre-built tarball?
09:43 pierrot_ joined #perl6
09:44 hanekomu_ joined #perl6
09:44 BinGOs_ joined #perl6
09:45 orevdiabl joined #perl6
09:45 tony-o_ joined #perl6
09:45 sjn_ joined #perl6
09:45 sivoais_ joined #perl6
09:45 Juerd_ joined #perl6
09:45 larion_ joined #perl6
09:45 chewie_1982 joined #perl6
09:45 arnsholt_ joined #perl6
09:45 jojotus_ joined #perl6
09:45 profan_ joined #perl6
09:45 dbohdan_ joined #perl6
09:46 boegel|quassel joined #perl6
09:48 stmuk I'm only seeing one failure on OS X :D t/spec/S32-array/adverbs.t
09:48 Hotkeys_ joined #perl6
09:48 dustinm`_ joined #perl6
09:48 mjgardner joined #perl6
09:48 moznion_ joined #perl6
09:49 stmuk RabidGravy: there have been several EVAL changes
09:49 stmuk m: EVAL "say 42"
09:49 camelia rakudo-moar 8622b9: OUTPUT«42␤»
09:49 stmuk m: EVAL 42
09:49 RabidGravy oh
09:50 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
09:50 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…»
09:50 stmuk m: constant Test=1; EVAL 42
09:50 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;…»
09:51 stmuk its all fixed AFAIK
09:51 RabidGravy ah good
09:55 sivoais joined #perl6
09:56 spacebat joined #perl6
09:57 anon joined #perl6
09:57 b2gills joined #perl6
09:57 kst` joined #perl6
09:57 masak_ joined #perl6
09:59 jdrab_ joined #perl6
09:59 emdashcomma joined #perl6
09:59 bonsaikitten joined #perl6
10:00 lestaway joined #perl6
10:01 raydiak_ joined #perl6
10:02 grondilu_ joined #perl6
10:02 zacts_ joined #perl6
10:02 sunnavy_ joined #perl6
10:03 Praise- joined #perl6
10:03 Praise- joined #perl6
10:04 robertle joined #perl6
10:05 bpmedley joined #perl6
10:05 sivoais joined #perl6
10:05 nine stmuk: throttle.t fails when I run with a high TEST_JOBS setting. It's suffering from a race condition
10:06 M-Illandan1 joined #perl6
10:09 atta_ joined #perl6
10:12 andreoss llfourn: i did rakudo nuke jvm, and start it again
10:13 masak good antenoon, #perl6
10:13 andreoss No writeable path found
10:13 andreoss in block <unit> at tools/build/install-core-dist.pl:12
10:13 andreoss
10:13 andreoss
10:13 kmnns joined #perl6
10:14 nine andreoss: what does the following command give you? ./perl6-jvm -e 'say $*REPO.repo-chain'
10:14 BinGOs joined #perl6
10:14 andreoss $ perl6/jvm-nom/perl6-j -e 'say $*REPO.repo-chain'
10:14 andreoss Error: Could not find or load main class perl6
10:14 andreoss
10:15 mspo joined #perl6
10:15 sivoais joined #perl6
10:15 rurban joined #perl6
10:16 andreoss http://pastebin.com/ucDcELGv
10:16 moritz andreoss: did you "make install"?
10:17 andreoss moritz: i did not, rakudobrew might have
10:17 andreoss it appears to be not properly finished
10:21 zengargoyle joined #perl6
10:22 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 git@github.com:rakudo/rakudo.git && cd rakudo && perl Configure.pl --gen-nqp --gen-moar && make install" and it makes debugging build problems quite difficult
10:24 diakopter I'm kindof liking the unified-Makefile strategy idea
10:24 DrForr It always comes back to make(1).
10:25 sivoais joined #perl6
10:25 nine When you don't let yourself be distracted by its arcane syntax, make(1) is actually really good at what it does
10:26 go|dfish joined #perl6
10:26 andreoss i can't just download binary java classes for rakudo jvm?
10:26 Amnez777 joined #perl6
10:28 gensym joined #perl6
10:30 andrewalker joined #perl6
10:31 espadrine joined #perl6
10:33 iH2O joined #perl6
10:35 sivoais joined #perl6
10:35 andreoss nine: i run rakudo build jvm again, and now it's failing with this
10:35 andreoss Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Pod.nqp'
10:40 _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 _nadim jnthn: I think it was one of yours
10:42 lizmat good *, #perl6!
10:42 yoleaux 02:22Z <TimToady> lizmat: require.t doesn't fail here
10:44 lizmat last night, I set off a JVM spectest with TEST_JOBS=   ( so no parallel testing): the result https://gist.github.com/lizmat/78df0c3c363abbe05c3a
10:45 sivoais joined #perl6
10:45 lizmat m: my @a; @a .= sort if @a   # this seems wrong
10:45 camelia rakudo-moar 8622b9: ( no output )
10:45 lizmat huh?
10:46 lizmat ok, guess I need to pull and build first :-)
10:46 lizmat yup, seems that b383852eaac324b98 fixed that
10:47 RabidGravy _nadim, do you mean parameterised roles?
10:48 RabidGravy they can take any arguments http://doc.perl6.org/language/objects#Parameterized_Roles
10:50 RabidGravy 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 #perl6
10:55 sivoais joined #perl6
10:57 _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: https://github.com/usev6/perl6-roast-data/blob/master/log/rakudo.jvm_summary.out (run without defining TEST_JOBS)
10:57 RabidGravy I'm not sure what you mean then
10:58 eyck joined #perl6
10:59 _nadim do roles have a constructors? or shouldn't have? or makes no sense?!
11:00 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
11:00 camelia rakudo-moar 8622b9: OUTPUT«bar␤»
11:01 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 iH2O left #perl6
11:01 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␤␤»
11:02 _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
11:02 camelia rakudo-moar 8622b9: OUTPUT«constructor␤bar␤»
11:03 pierre-v_ joined #perl6
11:03 _nadim Ah! good
11:03 lizmat can't you just do "class A does B[params] ?
11:03 RabidGravy m: role Foo[Str $message] { method new() { say "constructor" ; return self.bless; }; method bar() { say $message } }; Foo["boo"].new.bar # it has now
11:03 camelia rakudo-moar 8622b9: OUTPUT«constructor␤boo␤»
11:04 RabidGravy and by extension what lizmat said
11:04 andreoss stmuk: when i nuke it's a different error
11:04 andreoss > No writeable path found
11:04 andreoss you might see my pastebin link above
11:05 sivoais joined #perl6
11:06 _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:07 lizmat .tell TimToady require.t still fails for me: https://gist.github.com/lizmat/366474e4595276fc014c
11:07 yoleaux lizmat: I'll pass your message to TimToady.
11:08 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␤»
11:08 nine RabidGravy: ^^^^ that's why it's no good idea
11:08 nine _nadim: ^^^
11:09 RabidGravy nine, *I* know that but I really don't know where _nadim is going
11:09 RabidGravy :)
11:09 loren joined #perl6
11:09 vytas "[Perl6] failed to deliver on every single promise made, most prominently , Perl5 compatibility" - ( http://blog.schmorp.de/2015-11-12-tidbits-why-coro-crashes-or-how-perl-6-deals-with-bugs.html ) Perl6 never promised that, did it ?
11:10 ilmari it promised interoperability
11:11 ilmari 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 lizmat yeah, it's schmorp
11:11 ilmari and 'use v5' for the syntax
11:12 lizmat and having Perl 6 in the title, feels a bit like hit whoring to me at this point
11:12 telex joined #perl6
11:12 _nadim bleah! the new method installed in the class (of course now I think a bit)
11:12 lizmat his premise: not only drew Perl 6 good developers away from Perl 5, they came back mediocre and started destroying Perl 5
11:13 lizmat *
11:13 ZoffixWin joined #perl6
11:13 lizmat (as in Whatever!)
11:13 RabidGravy :)
11:13 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*
11:13 ZoffixWin Dude, it's a shmorp's blog... It's the guy who forked P5 and deliberately made his modules break on newer perls
11:14 ZoffixWin 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
11:14 RabidGravy _nadim, yesterday I believe jnthn fixed up supplying multi candidates from reoles
11:14 * llfourn once rewrote a web scraper in coro and it caused all sorts of bizare crashes
11:15 _nadim RabidGravy: sounds like goodies, althoug most sound like goodies, I need to see some example to understand what that means ;)
11:15 sivoais joined #perl6
11:15 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.
11:15 * ZoffixWin points to the top entry on http://cpanratings.perl.org/dist/Coro#12274
11:15 Skarsnik joined #perl6
11:18 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 brrt because the whole test suite is pretty dog-slow too me
11:18 nine The mountain of arrogance in that blog post is staggering...
11:18 _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
11:19 Skarsnik Hello
11:21 brrt hi Skarsnik
11:21 _nadim hi
11:22 nine andreoss: FWIW make install with JVM backend fails here too, but with a different error: Missing serialize function for REPR ContextRef
11:23 FROGGS nine: I had seen both messages
11:24 smls joined #perl6
11:25 sivoais joined #perl6
11:25 lizmat nine: confirm, same message on make install
11:25 smls m: my @a;  @a ||= (2, 4, 6) if 1;
11:25 camelia rakudo-moar 8622b9: OUTPUT«WARNINGS for /tmp/nbVvhKdvYu:␤Useless use of @a in sink context (line 1)␤»
11:25 smls ^^ TimToady
11:25 lizmat fwiw, I also saw it in the spectest
11:26 Skarsnik does is cached is experimental?
11:27 RabidGravy _nadim, I'm still not quite understanding what you are after, do you mean:
11:27 RabidGravy 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
11:27 camelia rakudo-moar 8622b9: OUTPUT«foo␤»
11:27 kaare_ joined #perl6
11:27 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:28 FROGGS Skarsnik: yes it has :P
11:28 RabidGravy er, segfaulting is *never* a good error reporting mechanism in a library
11:28 vytas thanks all for clarifying regarding P5 compatibility
11:30 vytas 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 #perl6
11:32 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
11:32 DrForr *around
11:34 vytas RabidGravy, I am not sure I understand your comment here, as Perl5 is at fault here
11:34 RabidGravy anyway
11:34 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.
11:35 llfourn ( re vytas )
11:35 sivoais joined #perl6
11:35 kid51 joined #perl6
11:35 llfourn but then I made a new one using Mojo and never looked back
11:37 muraiki joined #perl6
11:43 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:44 lichtkind_ joined #perl6
11:45 sivoais joined #perl6
11:46 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:48 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:49 dalek doc: 40d7d6c | RabidGravy++ | doc/Type/IO/Socket/Async.pod:
11:49 dalek doc: chars-supply and bytes-supply gone
11:49 dalek doc: review: https://github.com/perl6/doc/commit/40d7d6c8d2
11:54 n0tjack joined #perl6
11:55 sivoais joined #perl6
11:56 czester13 joined #perl6
11:56 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 }␤»
11:57 smls ^^ Is there a way to get a stand-alone signature to declare its parameters?
11:58 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␤␤»
11:58 llfourn smls: I tried this earlier today and couldn't see a way
11:58 smls ok
11:59 smls I guess I'll use a lexically scoped multi sub then ;)
11:59 smls instead of given/when
11:59 pierre-vigier joined #perl6
12:00 llfourn smls: mmm yeah why not? :)
12:00 thundergnat joined #perl6
12:02 llfourn I wonder if there is some way of doing a anon multi-sub...
12:02 smls good question
12:03 lizmat hmmm... how would one anon sub know it is part of a multi with another anon sub ?
12:04 lizmat I guess an anon proto in a lexical scope could unite all anon subs in that scope conceivably
12:04 pierre-vigier joined #perl6
12:04 lizmat and then return the proto from the scope ?
12:05 sivoais joined #perl6
12:05 llfourn interesting idea!
12:05 RabidGravy I think I've done that somewhere
12:05 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.
12:05 llfourn you could something similar in an module by cheating using .add_dispatchee
12:08 pierre-vigier joined #perl6
12:09 pmurias joined #perl6
12:10 RabidGravy smls, something like:
12:10 RabidGravy m: say $_ = \( "foo", b => 42 );  my $c = -> $ ($a, :$b) { say $a, $b }; $c($_)
12:10 camelia rakudo-moar 8622b9: OUTPUT«\("foo", :b(42))␤foo42␤»
12:11 llfourn RabidGravy: but what if you want to dispatch against many subs?
12:11 pmurias hi
12:11 |Tux| .tell brrt https://gist.github.com/Tux/946162c6e29aa2f44a29
12:11 yoleaux |Tux|: I'll pass your message to brrt.
12:11 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
12:12 gfldex does precomp wants to open those files for writing?
12:12 Begi joined #perl6
12:12 sergot .seen masak
12:12 yoleaux I saw masak 10:13Z in #perl6: <masak> good antenoon, #perl6
12:13 dalek nqp: 4301f9b | (Pawel Murias)++ | src/vm/js/ (2 files):
12:13 dalek nqp: [js] Implement nqp::capturehasnameds, nqp::captureexistsnamed.
12:13 dalek nqp: review: https://github.com/perl6/nqp/commit/4301f9b059
12:13 dalek nqp: 1c1e96a | (Pawel Murias)++ | t/nqp/76-capture.t:
12:13 dalek nqp: Test nqp::capturehasnameds, nqp::captureexistsnamed.
12:13 dalek nqp: review: https://github.com/perl6/nqp/commit/1c1e96ab65
12:15 sivoais joined #perl6
12:20 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:21 loren joined #perl6
12:22 FROGGS gfldex: but isnt that expected when you build as root?
12:23 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:29 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:30 lucasb joined #perl6
12:33 pierre-vigier joined #perl6
12:34 Begi Is there a IRC support module for Perl6 ? I believe there is not
12:34 RabidGravy zg
12:34 RabidGravy z
12:34 RabidGravy grr
12:34 Skarsnik there is like 2-3 of them
12:34 DrForr Inline::Perl5 will let you use Perl5 modules...
12:34 RabidGravy at least one, I meant to type
12:35 pmurias jnthn: what should I do about ops that rakudo doesn't seem to use?
12:35 RabidGravy http://modules.perl6.org/#q=irc
12:35 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?
12:36 RabidGravy Skarsnik, if only there was a module for that ;-)
12:37 RabidGravy pmurias, bear in mind that there may be things in the ecosystem that use otherwise unexposed nqp things
12:38 RabidGravy probably not many mind
12:38 salva joined #perl6
12:39 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␤»
12:39 smls ^^ Is it not possible to require a flag in a signature without binding its value to a parameter?
12:40 smls s/parameter/variable/
12:40 lucasb you mean like pattern match using a pair object? idk if it's possible
12:40 lucasb but (:$b!) works...
12:40 smls No, I mean just check if the named parameter was passed
12:41 nine gfldex: it should only write to that repo when you install something.
12:42 gfldex nine: it didn't install anything and it was working yesterday
12:42 nine gfldex: what does $*REPO.repo-chain.say print?
12:42 smls Hm,  :b($)!  works. But  :b(True)  doesn't.
12:42 pierre-vigier joined #perl6
12:43 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 gfldex epository::NQP.new(next-repo => CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository)) CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository))
12:43 gfldex https://gist.github.com/gfldex/0c4b507bc214f95bec5f
12:44 gfldex 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
12:45 nine .rev-deps files are supposed to be alongside precomp files, not source files
12:48 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:49 gfldex i did git clean and rm -r install already
12:49 gfldex i will try without the symlink
12:50 xinming joined #perl6
12:50 nine gfldex: what does this give you? perl6 -e 'say $*REPO.precomp-repository.store.prefix'
12:52 lucasb m: foo:{}
12:52 camelia rakudo-moar 8622b9: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
12:52 lucasb m: :::[]
12:52 camelia rakudo-moar 8622b9: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol :<>␤»
12:52 lucasb star: :::[]
12:52 camelia star-m 2015.09: OUTPUT«===SORRY!===␤MVMArray: Index out of bounds␤»
12:53 lucasb ^^ I think that :::[] is an old one
12:54 virtualsue joined #perl6
12:54 * RabidGravy finally sees the difference between IO::Socket::Async.udp and IO::Socket::Async.bind-udp
12:54 RabidGravy (code blindness)--
12:58 andreoss m: say $*REPO.precomp-repository.store.prefix
12:58 camelia rakudo-moar 8622b9: OUTPUT«"/home/camelia/.perl6/2015.11-706-g8622b90/precomp".IO␤»
12:58 andreoss j: say $*REPO.precomp-repository.store.prefix
12:58 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 #perl6
13:00 administrator joined #perl6
13:02 lucasb awwaiid: ping
13:02 pmurias RabidGravy: the thing I'm currently looking at is nqp::captureposprimspec
13:05 gfldex nine: /home/dex/.perl6/2015.11-706-g8622b90/precomp
13:05 gfldex that path exists, got the right rights and is empty
13:05 RabidGravy I'd grep the ecosystem for it but I'm feeling rather slack ;-)  Never seen it in my travels though
13:06 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:08 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?
13:09 gfldex nine: https://gist.github.com/gfldex/a5693b0262c7b6302854
13:09 rurban_ joined #perl6
13:11 |Tux| .tell brrt 13.769, so healthy
13:11 yoleaux |Tux|: I'll pass your message to brrt.
13:12 gfldex nine: do you build rakudo as root?
13:12 nine gfldex: no, never
13:14 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:15 Skarsnik I need to use constant to create new type that are just alias to another one?
13:17 andreoss nine: why never?
13:18 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 nine gfldex: I clearly see the error in the code now
13:19 gfldex please remove that error. Running perl6 as root is a wee little bit annoying. :)
13:19 hassoub joined #perl6
13:20 znpy joined #perl6
13:22 uruwi That's it, screw Cygwin. I want to dual-boot Linux on my machine.
13:22 pierre-vigier joined #perl6
13:23 Psyche^_ joined #perl6
13:23 Skarsnik or run a linux on a virtual box vm
13:24 uruwi eh, too much effort
13:24 uruwi and lots of overhead
13:24 Skarsnik effort?
13:25 uruwi Too much of a bother installing a VM.
13:25 uruwi And also the overhead
13:26 uruwi 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:28 dalek rakudo/nom: 581b87a | (Stefan Seifert)++ | src/core/CompUnit/PrecompilationRepository.pm:
13:28 dalek rakudo/nom: Remove bogus copy&pasto
13:28 dalek rakudo/nom:
13:28 dalek rakudo/nom: Thanks to gfldex++ for patiently giving me debug information!
13:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/581b87a765
13:28 nine gfldex: ^^^
13:29 vytas rakudobrew nuke moar; rakudobrew build moar/panda; panda install Linenoise; perl6; <-- throws warning can't find Linenoise. Is this known problem?
13:33 xpen joined #perl6
13:34 dalek rakudo/nom: 76c447b | lizmat++ | src/core/IO/Path.pm:
13:34 dalek rakudo/nom: Remove superfluous escaping, zefram++
13:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/76c447bd68
13:35 lizmat nine: would it be a recommendation for people to nuke their install after your last commit ?
13:36 nowan joined #perl6
13:36 gfldex lizmat: it only showed up for me it seams (rakudo install as root)
13:36 lizmat aha, ok
13:36 _4d47 joined #perl6
13:37 nine lizmat: not necessary. We probably wrote some useless files, but they should not harm
13:38 hoelzro nine: I'm up now; what's up?
13:38 lucasb perl6 -e 'say q/"""/.IO.gist'  #=> "/tmp/"""".IO
13:38 lucasb perl6 -e 'say IO::File.new(abspath=>q/"""/).gist'  #=> """"".IO
13:39 Skarsnik m: my $a = True; say $a ~~ Str|Numeric
13:39 camelia rakudo-moar 8622b9: OUTPUT«True␤»
13:39 Skarsnik should it be false?
13:39 lucasb lizmat: ^^ what's your opinion about delegatin .gist to .perl or something else?
13:39 Skarsnik or what change that? (that make XML fail now)
13:39 lucasb *delegating
13:40 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
13:40 camelia rakudo-moar 8622b9: OUTPUT«Array␤»
13:41 andreoss is there an easy way to match text between any matching brackets?
13:41 nine hoelzro: in https://github.com/rakudo/rakudo/commit/1efe2407f07caf535 why do you use :repo($*REPO) and not :repo(self)?
13:41 andreoss like q()
13:41 lucasb lizmat: idk, it's path that has quotes in it...
13:41 hoelzro nine: probably because I don't know what I'm doing =P
13:42 cygx joined #perl6
13:42 lucasb I just think strange .gist returning something that looks like valid perl, but it's not
13:42 cygx o/
13:42 hoelzro nine: I'll try that out and make sure that works, thanks for the input =)
13:42 lucasb maybe it could return some other format
13:42 lizmat gists are never intended to be valid perl
13:42 lucasb then, they don't need quotes around it
13:42 lizmat m: say <a b c d>
13:42 camelia rakudo-moar 8622b9: OUTPUT«(a b c d)␤»
13:43 cygx could someone checkout https://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.
13:44 lizmat cygx: run fine for me
13:45 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
13:45 * cygx pulls trigger
13:46 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 roast: e3c7a92 | cygx++ | S02-literals/quoting.t:
13:46 dalek roast: S02-literals/quoting.t: account for automatic newline translation on win32
13:46 dalek roast: review: https://github.com/perl6/roast/commit/e3c7a928b5
13:46 dalek roast: 76c6af6 | cygx++ | S02-literals/quoting.t:
13:46 dalek roast: S02-literals/quoting.t: win32 cmd uses & as separator
13:46 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 #perl6
13:46 nine hoelzro: well you are certainly on the right track! It's just reality trying to be more complicated than we hoped for
13:47 cygx lizmat++
13:47 andreoss m: sub foo(Int() $a) { $a }; say foo(True)
13:47 camelia rakudo-moar 8622b9: OUTPUT«True␤»
13:48 andreoss is there an argument coercion?
13:49 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
13:49 camelia rakudo-moar 8622b9: OUTPUT«((Bool) (Int) (Cool) (Any) (Mu))␤»
13:49 anaeem1_ joined #perl6
13:49 andreoss which will work with Bool
13:50 hoelzro ah ha
13:50 andreoss m: sub foo(Bool() $a) { $a }; say foo(81)
13:50 camelia rakudo-moar 8622b9: OUTPUT«True␤»
13:50 hoelzro nine: should I just back out my change to prevent any further weirdness until we have this properly fixed?
13:50 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 #perl6
13:51 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
13:51 andreoss m: sub foo(Bool() $a) returns Int() { $a }; say foo(81)
13:51 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␤␤»
13:52 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;
13:52 camelia rakudo-moar 76c447: OUTPUT«True␤»
13:52 Ven o/, #perl6!
13:52 Skarsnik well this should not work ~~
13:52 lizmat cygx: looks like the cleanup's fail
13:53 Skarsnik m: my $a = 1; say $a ~~ Bool;
13:53 camelia rakudo-moar 76c447: OUTPUT«False␤»
13:53 vytas m: my @a[;];
13:53 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…»
13:53 andreoss "coerce argument to Bool and coerce return value to Int" ?
13:54 andreoss m: sub foo(Bool() $a) returns Int { $a }; say foo(81)
13:54 camelia rakudo-moar 76c447: OUTPUT«True␤»
13:54 andreoss m: sub foo(Bool() $a) returns int() { $a }; say foo(81)
13:54 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␤␤»
13:55 cygx lizmat: you may back out 789e8b0c9a705d84be3195d75f67f559640ebe77 for now
13:56 cygx on *nix, nonexistent fails can apparently be unlinked, whereas on MinGW, thats a failure
13:56 n0tjack joined #perl6
13:57 dalek roast: 0d5b7e9 | lizmat++ | S32-io/ (2 files):
13:57 dalek roast: Revert "S32-io/{move,rename}.t: properly check return value of &unlink"
13:57 dalek roast:
13:57 dalek roast: As requested by: http://irclog.perlgeek.de/perl6/2015-12-21#i_11752073
13:57 dalek roast:
13:57 dalek roast: This reverts commit 789e8b0c9a705d84be3195d75f67f559640ebe77.
13:57 dalek roast: review: https://github.com/perl6/roast/commit/0d5b7e906a
13:59 lucasb about unlink return values: http://irclog.perlgeek.de/perl6/2015-12-15#i_11717347
13:59 lucasb ^^ I don't like it doens't any notice that things didn't work
14:00 lucasb *it doesn't give any notice
14:02 lucasb so... coercion types as return constraints doesn't work, right?
14:02 lucasb m: sub f(--> Int()) { 42 }; f
14:02 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␤␤»
14:03 lucasb m: sub f(--> Int()) { Int() }; f
14:03 camelia rakudo-moar 76c447: ( no output )
14:03 lucasb m: sub f(--> Int()) { Int() }; say f
14:03 camelia rakudo-moar 76c447: OUTPUT«Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CoercionHOW'␤  in block <unit> at /tmp/oeByywiJvF:1␤␤»
14:03 Skarsnik m: sub f(--> Int) { 42 }; f
14:03 camelia rakudo-moar 76c447: ( no output )
14:03 lucasb m: say Int()
14:03 camelia rakudo-moar 76c447: OUTPUT«Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CoercionHOW'␤  in block <unit> at /tmp/RH2dXB5dXZ:1␤␤»
14:03 lucasb m: say Int().perl
14:03 camelia rakudo-moar 76c447: OUTPUT«Int(Any)␤»
14:05 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 dalek doc: 85fbee8 | RabidGravy++ | doc/Type/IO/Socket/Async.pod:
14:10 dalek doc: Add the new UDP related methods
14:10 dalek doc: review: https://github.com/perl6/doc/commit/85fbee8714
14:10 anaeem1_ joined #perl6
14:11 crux joined #perl6
14:14 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"?
14:14 dakkar (the bug reports UNDO blocks firing on every iteration of a loop)
14:15 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␤»
14:15 pochi what's the difference between assigning (Int) and Nil?
14:17 jdv79 pochi: there's docs on that stuff.  doc.perl6.org maybe.
14:17 * pochi is currently reading S02
14:17 gfldex pochi: Nil is ment to revert a container to it's default value.
14:17 jdv79 that's a differend kind of doc.  maybe not the best for some people.
14:19 lizmat m: my $a is default(42) = 666; say $a; $a = Nil; say $a
14:19 camelia rakudo-moar 76c447: OUTPUT«666␤42␤»
14:19 jdv79 which is basically said in the first few bits of http://doc.perl6.org/type/Nil.
14:19 lizmat m: my $a is default(42) = 666; say $a; $a = Int; say $a
14:19 camelia rakudo-moar 76c447: OUTPUT«666␤(Int)␤»
14:21 gfldex pochi: if a container demands a defined value, you can set the default by hand. see the following for a usecase https://gfldex.wordpress.com/2015/12/10/hashes-are-containers-too/
14:22 Skarsnik hm interresting fail: https://travis-ci.org/supernovus/exemel/jobs/98120044
14:22 anaeem1_ joined #perl6
14:25 Ven dakkar: not really, unless you "do" them
14:25 Ven m: say for ^3 { $_ };
14:25 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…»
14:25 dakkar Ven: S04 is a bit confusing on that point
14:25 Ven m: say for ^3 { .say };
14:25 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…»
14:26 cygx lucasb: according to the code, unlink is supposed to ignore nonexistent files
14:26 Ven m: say do for ^3 { .say };
14:26 camelia rakudo-moar 76c447: OUTPUT«0␤1␤2␤(True True True)␤»
14:26 cygx it's just that the windows implementation is buggy
14:26 Ven dakkar: ^
14:26 cygx I can change it either way (fix the windows implementation or adjust the *nix one to consider unlinking nonexistent files a failure)
14:27 dakkar Ven: eh
14:27 skids joined #perl6
14:27 ab6tract joined #perl6
14:27 dakkar m: my $x=0;my @y = do for ^3 { ++$x }; @y>>.say
14:27 camelia rakudo-moar 76c447: OUTPUT«1␤2␤3␤»
14:27 dakkar fine
14:27 dakkar m: my $x=0;my @y = do while $x < 3 { ++$x }; @y>>.say
14:27 camelia rakudo-moar 76c447: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|83868400>}|57278840) ... }␤»
14:27 ab6tract Ven: that's a bit of a weird example, no?
14:27 dakkar ???
14:27 Ven ab6tract: yeah
14:28 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␤»
14:28 ab6tract dakkar: 'dd' is a nice alternative to >>.say
14:28 dakkar m: my $x=0;my @y = do while $x < 3 { ++$x }; dd @y
14:28 camelia rakudo-moar 76c447: OUTPUT«Array $var = $[sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|83868400>}|55648632) ... }]␤»
14:28 gfldex m: my %seen of Int is default((Int but role :: { method Str() {'NULL'} }).new); say %seen<not-there>; say %seen<not-there>.defined;
14:28 camelia rakudo-moar 76c447: OUTPUT«NULL␤True␤»
14:28 zhi joined #perl6
14:28 ab6tract dakkar: i do not think that while can be 'do'-ed
14:29 dakkar ab6tract: that's more-or-less my initial question
14:29 Ven yeah, seems like I was mistaken, sorry :). Guess you gotta gather
14:29 dakkar there's this bug that says "while/loop/until fire UNDO on each loop"
14:29 ab6tract where is this bug?
14:29 dakkar https://rt.perl.org/Public/Bug/Display.html?id=126005
14:29 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:29 camelia rakudo-moar 76c447: OUTPUT«NULLTrue0␤»
14:30 gfldex neat :)
14:30 dakkar the behaviour is sort-of understandable, since UNDO phasers fire when exiting a block without a defined result
14:30 dakkar if a block does not have a result… UNDO fires
14:30 ab6tract dakkar: ah, yes i see what you mean
14:30 ab6tract the behavior seems sane, though could conceivably be special-cased if deemed undesirable
14:31 dakkar it's an interaction between the VM's implementation of frames, and the exit handlers
14:31 dakkar I think I'll just report my findings to RT, and leave the decision (and eventual fix, maybe) to someone else
14:31 dakkar my C and general VM knowledge is not up to scratch :)
14:31 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
14:31 ab6tract *conditional
14:32 ab6tract without a return value
14:32 smls m: given {a => [2, 4, 6]} -> (:@a is copy) { say @a }
14:32 camelia rakudo-moar 76c447: OUTPUT«replace this Array is copy logic␤  in block <unit> at /tmp/r64gBqmt_o:1␤␤»
14:32 Ven_ joined #perl6
14:32 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>);
14:32 camelia rakudo-moar 76c447: OUTPUT«NULLFalse0␤»
14:32 Ven_ even better :D
14:32 dakkar ab6tract: S04 says «The value of a loop statement is the list of values from each iteration»
14:33 dakkar which does not seem to have much to do with current reality
14:34 ab6tract nope, it doesn't seem to match at all, nor do i understand why that would have been the suggested case
14:35 administrator joined #perl6
14:35 RabidGravy dakkar, it seems in the case of while the value is something that isn't useful at all:
14:36 nine m: my @a = do for 1 .. 3 { $_ + 1 }; say @a;
14:36 camelia rakudo-moar 76c447: OUTPUT«[2 3 4]␤»
14:36 RabidGravy m: my $f = do while Bool.pick {  UNDO { say "undo" }; }; say $f.WHAT
14:36 camelia rakudo-moar 76c447: OUTPUT«undo␤(Method)␤»
14:36 brrt joined #perl6
14:36 ab6tract umm
14:36 ab6tract m: my $i; while $i++ < 5 { say "$i seen here" }
14:36 camelia rakudo-moar 76c447: OUTPUT«1 seen here␤2 seen here␤3 seen here␤4 seen here␤5 seen here␤»
14:36 ab6tract huh, that doesn't work locally
14:37 ab6tract 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) ... }␤»
14:37 lizmat m: say do for ^10 { $_ }   # dakkar: seems to work with do on for
14:37 camelia rakudo-moar 76c447: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
14:38 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.
14:38 lizmat ab6tract: basically, yes   :-)
14:38 brrt Tux: huh... that branch exists surely
14:38 yoleaux 12:11Z <|Tux|> brrt: https://gist.github.com/Tux/946162c6e29aa2f44a29
14:38 ab6tract skids: doesn't explain to me why i get that crazy sub definition back as a return value
14:38 yoleaux 13:11Z <|Tux|> brrt: 13.769, so healthy
14:39 brrt ok, i missed something?
14:39 brrt :-)
14:39 * brrt backlogs
14:39 skids ab6stract: oh yeah, I think that behavior might be new and sink/want related
14:40 ab6tract this is the most churned perl6 period i've ever seen :S
14:40 brrt everybody wants to fix everything before the release :-)
14:40 ab6tract cheers to everyone in the trenches getting it readty
14:40 skids non-for loops are supposed to return lazy lists on the last statement IIRC, unlike for which actually runs.
14:40 brrt which is healthy
14:40 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
14:41 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.
14:42 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
14:42 yoleaux brrt: I'll pass your message to tux.
14:42 brrt .botsnack
14:42 yoleaux :D
14:43 brrt :-)
14:43 brrt well, we've seen, great sink refactors, EVAL being outlawed
14:43 dalek rakudo/nom: f1226f1 | hoelzro++ | src/core/CompUnit/Repository/Installation.pm:
14:43 dalek rakudo/nom: Use current repo for $*RESOURCES
14:43 dalek rakudo/nom:
14:43 dalek rakudo/nom: Otherwise, things will end up installed in the wrong repo!
14:43 dalek rakudo/nom:
14:43 dalek rakudo/nom: nine++ for the tip
14:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f1226f1bb4
14:43 |Tux| atm *both* branches are healthy (speedwise)
14:43 lizmat nine: https://gist.github.com/lizmat/237e55dd03b1b5d6c4a3   # .rev-deps file littering roast after a spectest
14:43 ab6tract m: EVAL "say 42"; my $a = "say 56"; EVAL $a;
14:43 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…»
14:43 lizmat nine: perhaps we should add .rev-deps to .gitignore ?
14:44 lizmat nine: or provide some kind of cleanup ?
14:44 ab6tract brrt: indeed, so this churn is also not particularly healthy for the ecosystem
14:44 ab6tract m: EVAL "say 42"
14:44 camelia rakudo-moar 76c447: OUTPUT«42␤»
14:44 dakkar m: my @x=do for ^2 { UNDO say "undo"; Nil }; dd @x;
14:44 camelia rakudo-moar 76c447: OUTPUT«undo␤undo␤Array $var = $[Any, Any]␤»
14:44 brrt i think RabidGravy's LibraryCheck won't work either, however i had a question
14:44 ab6tract m: EVAL "say {41+1}"
14:44 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}…»
14:45 |Tux| that only leave two issues for me: utf8-c8 and the EOL issue
14:45 brrt Tux, thanks, then i think i'm going to merge it in
14:45 dakkar I understand why ^^^ happens, but it still looks a bit odd
14:45 ab6tract that's a pretty fine line :)
14:45 brrt .ask masak whether what's done in https://github.com/jonathanstowe/LibraryCheck/blob/master/lib/LibraryCheck.pm with EVAL can be done with macro's
14:45 yoleaux brrt: I'll pass your message to masak.
14:45 ab6tract |Tux|: ooc, why do you care about EOL? in perl 5 those \r would be nuked without a thought, right?
14:45 |Tux| nope
14:46 RabidGravy brrt, work for what? It can't check for "non-system" libraries
14:46 RabidGravy but I'm willing to consider anything it makes it more useful
14:46 brrt work anymore
14:46 brrt i mean
14:46 brrt because it uses EVAL without use MONKEY
14:46 |Tux| perl5: «open my $fh, "<", "foo.txt"» where foo.txt has \r\n, my $x = <$fh> => "abc\r\n"
14:47 RabidGravy ah I see
14:47 RabidGravy let's see
14:47 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...
14:47 ab6tract hmm..
14:47 CQ sorry, meant for #httpd
14:48 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 #perl6
14:48 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
14:49 ilmari |Tux|: are you reading in text or binary mode?
14:49 |Tux| text
14:49 ilmari well, then you get graphemes back
14:49 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
14:50 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
14:50 ilmari read binary and decode ho you want yourself?
14:50 ilmari unicode specifies tat "\r\n" is a single grapheme, no?
14:50 brrt gives splitting grapheme issues in most cases ilmari
14:51 brrt 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 :)
14:52 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)
14:52 ab6tract encodings are unbelievably annoying and the least possible fun
14:52 ab6tract URL?
14:52 ab6tract oh, sorry, now it parses :)
14:53 |Tux| where can I read that \r\n is a single grapheme in the Unicode docs?
14:53 * brrt afk for now
14:54 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␤␤»
14:54 ilmari |Tux|: http://www.unicode.org/reports/tr29/#Table_Combining_Char_Sequences_and_Grapheme_Clusters
14:54 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 #perl6
14:55 Woodi hi #perl6 :)
14:56 ZoffixW joined #perl6
14:57 ZoffixW Begi, I've just released v2.001001 of IRC::Client, which is much more usable than the previous version. Check it out: http://modules.perl6.org/repo/IRC::Client
14:58 n0tjack joined #perl6
14:59 ab6tract Woodi: no, not really comparable to XS at all imo
15:00 ab6tract well, outside of the performance question. but it is not prevalent like XS, thankfully
15:01 ab6tract regarding https://perl6advent.wordpress.com/2015/12/21/day-21-nativecall-backs-and-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
15:01 camelia rakudo-moar f1226f: OUTPUT«Planned␤(Promise)␤Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable), status => PromiseStatus::Planned)␤»
15:01 ab6tract i was under the impression that FROGGS had implemented C++ compat for NativeCall that would not force us to do the extern dance
15:01 Skarsnik Yes there is lot of code for cpp
15:02 ab6tract Skarsnik: so is the advent post wrong?
15:02 RabidGravy .tell brrt fixed LibraryCheck with v0.0.5
15:02 yoleaux RabidGravy: I'll pass your message to brrt.
15:02 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
15:03 nine lizmat: sorry about that :/  A git clean -f in t/spec should clean up sufficiently
15:04 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
15:04 lucasb cygx: Hi, thanks for the note. (sorry for the delay, I was away)
15:04 lucasb idk what should be done about unlink. I just wanted to bring it up, since the return values surprised me.
15:04 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).
15:04 ChoHag I may or may not have succeeded in muddying the waters.
15:05 ChoHag Who cares about and checks these kind of things?
15:05 Skarsnik considering this cpp code work https://github.com/rakudo/rakudo/blob/nom/t/04-nativecall/13-cpp-mangling.cpp in the test. Yes the advent is probably wrong
15:05 Skarsnik but it does not work for every c++ compiler
15:06 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?
15:06 ab6tract damnit C++, sort your crap out already!
15:07 lucasb is the description of object hashs (:{...}) accurate in this commit? https://github.com/perl6/doc/commit/32cd4374055b57bb009c8f6683181223c9b91f9e
15:07 ChoHag It's been trying for 30 years.
15:07 arnsholt ab6tract: Nope. Name mangling is very explicitly compiler-specific
15:07 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
15:07 arnsholt In fact, different implementations are *encouraged* to have different name mangling schemes
15:07 ab6tract arnsholt: C++ 11 spec is supposed to define an ABI
15:08 arnsholt Oh, it does?
15:08 FROGGS ab6tract: will do
15:08 arnsholt I'm not very up to date on C++
15:08 RabidGravy I'm sure if someone wants a different c++ compiler supported they will provide a patch ;-)
15:08 lizmat nine: so you're saying one should do that after every spectest run ?
15:08 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 #perl6
15:09 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 sivoais joined #perl6
15:09 hankache hello #perl6
15:09 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.
15:10 ab6tract 30 years without an ABI is crazy
15:10 ChoHag Tests should in principle run against a known environment. FSVO known.
15:10 ChoHag 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...
15:10 hankache do we have a full list of pragmas and what they do?
15:11 ab6tract ChoHag: ......
15:11 ab6tract don't you have a development environment with versions of those dbs?
15:11 ChoHag Psh!
15:12 ChoHag 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
15:12 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
15:12 ChoHag I wish I was joking.
15:12 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...
15:12 nine lizmat: no, just once after updating to at least commit 581b87a765bed561f6c1f773c00dd983476eb434 which fixes this issue
15:12 Woodi alled... We need to BLOCK that ...
15:12 Woodi ... feature! And name it in memories of that famous agency that ex-employes are bashing that other agency..." ;)
15:12 * Woodi hides!
15:13 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.
15:14 ChoHag 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 lnrdo joined #perl6
15:14 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
15:15 ab6tract "test suite broke live" ... ? i'm feeling sorrier for you by the minute :S
15:15 FROGGS ab6tract: I commented, thank you :o)
15:15 lucasb m: say :{ (Int) => 1 }.perl
15:15 camelia rakudo-moar f1226f: OUTPUT«:{Int => 1}␤»
15:15 lucasb m: say :{ (Int) => 1 }
15:15 camelia rakudo-moar f1226f: OUTPUT«(Int) => 1␤»
15:16 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 #perl6
15:16 hankache does anyone have a list of perl 6 pragmas?
15:17 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 #perl6
15:17 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 ab6tract lnrdo: this is not altogether surprising, unfortunatelty
15:18 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  :-(
15:18 ab6tract FROGGS++ # thanks for clarifying
15:18 ChoHag Now, except for bypassing the whole thing as they've done, the test server is what merges code into the live branch.
15:18 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)
15:18 lizmat FROGGS: at least not for me, on OS X
15:19 ChoHag And it only does it when the tests pass.
15:19 FROGGS lizmat: ohh, what a shame
15:19 * RabidGravy attempts to install Task::Star to see if it fails
15:19 lizmat the use.t tests fail
15:19 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 arnsholt It's annoying, but the right call IMO
15:19 lnrdo RabidGravy: Tested on both Debian/Ubuntu and OS X
15:19 ChoHag Forcing tests to work or else should at least stop regressions. Assuming the tests themselves are valid.
15:19 FROGGS arnsholt: the right call is to switch to Perl 6 :P
15:19 lnrdo Some modules will install after retrying.
15:20 lnrdo 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
15:20 ab6tract arnsholt: robertle pointed towards a decision about new vs existing linker, not about object layout or related
15:20 RabidGravy it appears to be that old "Cannot unbox a type object" in panda
15:20 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
15:20 lnrdo Both on Linux and OS X.
15:20 nine lizmat: \o/
15:20 robertle e etc. that can't be right either...
15:20 ChoHag *sigh* Unfortunately the rockstar is unavailable to have his assumptions proven wrong so that I can re-enable the system.
15:20 lnrdo RabidGravy: Yes, that is the intermittent one.
15:20 ab6tract but i'm a dynamic programmer for a reason, and always been mad at c++ for not playing nice :)
15:21 lnrdo RabidGravy: If you try again, you get it working.
15:21 RabidGravy yes I know
15:21 sivoais joined #perl6
15:22 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 #perl6
15:24 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.
15:25 Skarsnik we have :)
15:25 [Coke] ah, there's a comment.
15:25 ZoffixW joined #perl6
15:26 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.
15:26 ab6tract [Coke]: if you know how to contact the author, an update to the post itself might be nice
15:27 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
15:27 ZoffixW lucs, where all(*.keys) ~~ 'Bar' ?
15:27 lucs Hmm...
15:27 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
15:28 lucs ZoffixW: I'll try something like that, thanks.
15:28 Skarsnik The DBIIsh driver is still installed
15:28 RabidGravy isn't it just "has Bar %.bars"
15:28 grondilu joined #perl6
15:28 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 :)
15:28 Skarsnik You need the client library to access them, not only the server
15:28 ZoffixW lnrdo, fwiw, it's not mandatory that you install Task::Star. It's just a collection of modules.
15:29 |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 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
15:29 lnrdo Skarsnik: Probably not on my laptop. I can install.
15:30 ZoffixW lnrdo, "PoC"?
15:30 arnsholt Proof of Concept, probably
15:30 lnrdo ZoffixW: Proof of Concept
15:30 ZoffixW lnrdo, not really. Just pick whatever modules you need on http://modules.perl6.org/ and install anything that's missing
15:30 RabidGravy depends what concept you're trying to prove
15:31 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)
15:31 ZoffixW m: class Foo { has %.foo where 'Bar' %.foo; }; Foo.new( :foo{:foo<bar>})
15:31 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␤␤»
15:31 lnrdo Skarsnik: I do have them, e.g. /usr/local/mysql/lib/...
15:31 ZoffixW RabidGravy, how would you write that? Seems you can't reference the method within itself
15:31 Skarsnik what their full name?
15:31 ZoffixW m: class Foo { has %.foo where 'Bar' %!foo; }; Foo.new( :foo{:foo<bar>})
15:31 camelia rakudo-moar f1226f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KZMnmpP93B␤Undeclared routine:␤    foo used at line 1␤␤»
15:31 sivoais joined #perl6
15:32 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␤␤»
15:32 ilmari m: say "\r\n".uninames
15:32 camelia rakudo-moar f1226f: OUTPUT«(CARRIAGE RETURN (CR) LINE FEED (LF))␤»
15:32 ilmari m: say "\n".uninames
15:32 camelia rakudo-moar f1226f: OUTPUT«(LINE FEED (LF))␤»
15:32 ilmari m: say "\r".uninames
15:32 camelia rakudo-moar f1226f: OUTPUT«(CARRIAGE RETURN (CR))␤»
15:32 andreoss masak: Q::Identifier uses Val::Str for simplicity? Wouldn't it be more appropriate to use something like Val::Symbol?
15:32 ilmari |Tux|: it does seem to preserve what it was originally, even if it's normalised to a single "generic newline" grapheme
15:32 ZoffixW m: class Foo { has %.foo where all(*.keys) ~~ 'Bar'; }; Foo.new( :foo({:foo<bar>}))
15:32 camelia rakudo-moar f1226f: OUTPUT«Type check failed in binding $x; expected <anon> but got Str␤  in block <unit> at /tmp/kF5x6qsGIE:1␤␤»
15:32 ZoffixW *I've no idea what I'm doing* :)
15:33 RabidGravy ZoffixW, you're confusing me (which admittedly isn't difficult)
15:33 lnrdo Thanos:~ lruoso$ ls /usr/local/mysql/lib/libmysqlclient*
15:33 lnrdo /usr/local/mysql/lib/libmysqlclient.18.dylib/usr/local/mysql/lib/libmysqlclient.dylib/usr/local/mysql/lib/libmysqlclient_r.a
15:33 lnrdo /usr/local/mysql/lib/libmysqlclient.a/usr/local/mysql/lib/libmysqlclient_r.18.dylib/usr/local/mysql/lib/libmysqlclient_r.dylib
15:33 ZoffixW Ah, OK, I may have misunderstood what lucs wanted originally :)
15:34 Skarsnik dylib? hm
15:34 Skarsnik I though it was dynlib on os X x)
15:34 geekosaur dylib
15:34 RabidGravy m: class Bar {}; class Foo { has Bar %.foo };   my $a = Foo.new;  $a.foo<bar_1> = Bar.new; say $a.perl
15:34 camelia rakudo-moar f1226f: OUTPUT«Foo.new(foo => (my Bar % = :bar_1(Bar.new)))␤»
15:34 raiph joined #perl6
15:34 ZoffixW m: class Foo { has %.foo where 'bar' ~~ all(*.keys); }; my %h = foo => 'not-bar', ber => 'bar'; Foo.new: :foo(%h); say "k"
15:34 camelia rakudo-moar f1226f: OUTPUT«k␤»
15:35 RabidGravy I thought that was what was wanted ;-)
15:35 lnrdo Skarsnik: MySQL and DBD::mysql are working here.
15:35 ZoffixW I thought ^ that what was wanted... but my solution doesn't work anyway :)
15:35 Skarsnik Oh, it's fine then x)
15:35 Begi joined #perl6
15:35 lnrdo Skarsnik: Talking about P5
15:35 administrator joined #perl6
15:35 khw joined #perl6
15:36 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…»
15:36 ZoffixW 0.o
15:36 Skarsnik lnrdo, I am confused, DBI (p5) work but not DBIish (perl6)?
15:36 lnrdo Skarsnik: Correct.
15:37 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 #perl6
15:37 ZoffixW Doesn't it need to create a test db for tests to run?
15:37 ZoffixW s/it need/it needs you/;
15:37 skids m: class Bar { }; class Foo { has Bar %.h; }; Foo.new(:h{foo => Bar.new}).perl.say
15:37 camelia rakudo-moar f1226f: OUTPUT«Foo.new(h => (my Bar % = :foo(Bar.new)))␤»
15:37 Skarsnik Oh wait
15:37 lnrdo ZoffixW: by "work" I mean: Perl 5 works fine, install and uses it. Perl 6 does not install.
15:38 Skarsnik https://github.com/rakudo/rakudo/blob/nom/lib/NativeCall.pm6#L183 Should be dylib and not dynlib
15:38 lnrdo ZoffixW: ^ DBIsh
15:38 ZoffixW lnrdo, what output do you get from the install?
15:38 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
15:38 camelia rakudo-moar f1226f: OUTPUT«Type check failed in binding $x; expected Bar but got Str␤  in block <unit> at /tmp/q0FuseyO2e:1␤␤»
15:38 lnrdo ZoffixW: Let me run it again here on a clean terminal.
15:39 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 https://github.com/jonathanstowe/LibraryCheck/blob/master/lib/LibraryCheck.pm with EVAL can be done with macro's
15:39 Skarsnik FROGGS, Can you correct this real quick? x)
15:39 lnrdo ZoffixW: panda Task::Star http://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.
15:39 ZoffixW lnrdo, wrong URL
15:40 lnrdo ZoffixW: Sorry
15:40 lnrdo ZoffixW: http://paste.scsys.co.uk/503281
15:40 masak andreoss: specifically, some macro stuff I envision is almost directly at odds with an interactive prompt.
15:40 Skarsnik Task::Star does not install yes x)
15:40 ZoffixW lnrdo, that has nothing to do with DBIish. It's failing on Template::Mojo
15:40 masak hm, maybe that's too strongly worded...
15:40 ZoffixW lnrdo, run panda install DBIish
15:40 lnrdo ZoffixW: Doing that now.
15:41 Skarsnik but Mojo::Template should be fixed x)
15:41 ZoffixW .oO( panda should really NOT bailout the moment a single dist fails)
15:41 lucs ZoffixW, RabidGravy: Yep, "has Bar %.bars" does what I wanted.
15:41 RabidGravy or completely rewritten so that it doesn't need eval
15:41 lnrdo ZoffixW: http://paste.scsys.co.uk/503283
15:41 dalek rakudo/nom: 79303b8 | (Stefan Seifert)++ | lib/NativeCall.pm6:
15:41 dalek rakudo/nom: Fix extension of dynamic libraries on OS X in NativeCall
15:41 dalek rakudo/nom:
15:41 dalek rakudo/nom: 16:38 < Skarsnik>
15:41 dalek rakudo/nom: https://github.com/rakudo/rakudo/blob/nom/lib/NativeCall.pm6#L183 Should
15:41 dalek rakudo/nom: be dylib and not dynlib
15:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/79303b8bc6
15:41 nine FROGGS, Skarsnik: ^^^
15:41 Skarsnik Thx
15:41 FROGGS nine: grrrr!
15:41 lnrdo ZoffixW: Agree, just like cpanm
15:41 FROGGS *g*
15:41 sivoais joined #perl6
15:42 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)
15:42 ZoffixW lnrdo, seems nine++ just committed a fix for your issue ^ but you'd need to rebuild rakudo from HEAD
15:43 andreoss masak: okay
15:43 lucs Now, can I say "has 「array of Bar」 %.foo"?
15:43 masak andreoss: from the good side, I'm pretty OK with just doing `perl6 bin/007 -e='<program here>'` most of the time
15:43 lnrdo ZoffixW: I can do it now. Need to change any command?
15:43 Skarsnik ZoffixW, I suspect Task::Star just depend on everything and so it fail if one depend can't work
15:43 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
15:44 masak (except for that '=', which I dislike)
15:44 andreoss masak: i've added state-less REPL for this purpose, `perl6 ...` is too long to type
15:45 RabidGravy lucs, "has Array[Bar] %.foo" though there may be complications
15:45 masak andreoss: :)
15:45 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
15:45 lucs RabidGravy: Neat, trying...
15:45 masak andreoss: for sure, if something with `readline` could be made to work, it could be useful, even stateless
15:46 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.
15:46 ChoHag OK good.
15:46 RabidGravy lucs:
15:46 * ChoHag goes away again
15:46 RabidGravy m: 'class Bar {}; class Foo { has Array[Bar] %.foo };   my $a = Foo.new;  $a.foo<bar_1>.push: Bar.new; say $a.perl
15:46 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…»
15:46 ZoffixW :)
15:46 RabidGravy m: class Bar {}; class Foo { has Array[Bar] %.foo };   my $a = Foo.new;  $a.foo<bar_1>.push: Bar.new; say $a.perl
15:46 camelia rakudo-moar f1226f: OUTPUT«Foo.new(foo => (my Array[Bar] % = :bar_1(Array[Bar].new(Bar.new))))␤»
15:47 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?
15:47 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.
15:47 andreoss masak: Val::Str is used for identifiers for simplicity or for purpose?
15:48 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
15:48 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
15:48 timotimo damn, people, you are chatting fast :)
15:49 lucs RabidGravy: Playing with that, thanks.
15:49 masak andreoss: ...as opposed to what? :)
15:50 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.
15:50 hoelzro m: https://gist.github.com/hoelzro/94dfab0137342c66f31e
15:50 camelia rakudo-moar f1226f: OUTPUT«(Any)␤»
15:50 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.
15:50 hoelzro ^ shouldn't that be Str?
15:50 andreoss masak: i'm asking, because it hard to add infix:"<" with current code relaying on "infix:<$op>" to be a name of sub
15:50 masak andreoss: ah, yes.
15:51 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...
15:51 andreoss masak: Val::Symbol; Val::Symbol(:name("<"), :type(Q::Infix::Op))
15:51 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.
15:51 ShimmerFairy *in the ... camp
15:51 ChoHag And run everything preceeded by 'time'.
15:51 ShimmerFairy The correct solution is a --keep-going flag, like certain programs have :)
15:51 sivoais joined #perl6
15:52 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?
15:52 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
15:52 ZoffixW 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"
15:52 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"
15:52 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.
15:52 ZoffixW ChoHag++ --abort-on-failure would be good
15:52 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.
15:53 nine lizmat: Inline::Perl5 installs just fine here. Maybe https://github.com/rakudo/rakudo/commit/79303b8bc6 fixes installation for you, too?
15:53 masak andreoss: but that still doesn't answer how to *canonically* represent the operator in things like the built-ins.
15:53 andreoss masak: just by replacing <> with «»?
15:53 lizmat nine: will test
15:54 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:<»>`
15:55 ZoffixW nine, *nod*
15:55 ChoHag But surely the 'correct' solution is replaces, depends, pre-depends, recommends, suggests, et al. as per dpkg?
15:55 ChoHag (See also: the correct answer is rarely the correct one)
15:55 ZoffixW :D
15:55 lizmat m: m: my $a = 10; $a |= 2; say $a   # hangs, probably because of having a junction inside a junction ?
15:55 nine Btw. I really hate that we completely ignore what well established package formats like rpm do.
15:55 camelia rakudo-moar 79303b: OUTPUT«Memory allocation failed; could not allocate 2210864 bytes␤»
15:55 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.
15:56 ZoffixW lizmat, I believe that's rakudobugged with ^ instead of |
15:56 ZoffixW m: m: my $a = 10; $a ^= 2; say $a
15:56 masak andreoss: we might want to start referring to the operators as `infix:+`, `infix:<` etc internally
15:56 lizmat ZoffixW: yeah, but doesn't matter if it is ^ or |
15:56 camelia rakudo-moar 79303b: OUTPUT«Memory allocation failed; could not allocate 2210880 bytes␤»
15:56 ZoffixW k
15:56 masak andreoss: because the quoting is only really necessary in the program text, not in the identifiers we actually store
15:56 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 >
15:56 yoleaux 11:07Z <lizmat> TimToady: require.t still fails for me: https://gist.github.com/lizmat/366474e4595276fc014c
15:56 ChoHag nine: Hah!
15:56 andreoss masak: infix:+ would broke prefix:++, woudn't it?
15:56 ChoHag People have been reinventing package management since before there even was package management.
15:56 masak TimToady: that sounds sane. I like that
15:57 ChoHag And as a system administrator I'm fucking tired of it.
15:57 masak andreoss: nope -- LTM still applies
15:57 masak andreoss: (I hope!)
15:57 ZoffixW ChoHag, https://xkcd.com/927/
15:57 masak andreoss: actually, I don't think we have a test for this :>
15:57 ChoHag Quite.
15:57 ChoHag OTOH, with every new standard my average salary increase, so there's that./
15:58 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 :)
15:58 ChoHag I had this argument the other day with one of our developers over oauth.
15:58 vytas "Aborted (core dumped)" - how can i get more information ?
15:59 uruwi_ joined #perl6
15:59 masak andreoss, TimToady: oh, oops. I read that as "postfix", not "prefix"
15:59 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 ChoHag And thanks for the paycheque.
15:59 vytas i guess --ll-exception should work
16:00 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.
16:00 lnrdo ChoHag: Is there anything better them .deb around?
16:00 ChoHag Bleh. It's time for the 30 minute 5 minute daily sitting down standup meeting.
16:00 masak andreoss: fortunately, ops are user-definable ;)
16:00 ChoHag lnrdo: .dep is the worst package system.
16:00 ChoHag lnrdo: Apart from all the others.
16:00 ChoHag .deb
16:00 uruwi_ Hello
16:00 lnrdo ChoHag: :p
16:01 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)'
16:01 andreoss Type check failed in +; expected Val::Int but got Val::None
16:01 sivoais joined #perl6
16:02 RabidGravy TimToady, I think that one already bolted TBH ;-)
16:02 ChoHag TimToady: This one's up your street.
16:02 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:03 ChoHag 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 :)
16:03 ChoHag Currently only in an uncomitted github fork.
16:03 lizmat nine: can confirm Inline::Perl5 now installs on OS X without problem
16:04 hoelzro m: https://gist.github.com/hoelzro/94dfab0137342c66f31e
16:04 camelia rakudo-moar 79303b: OUTPUT«(Any)␤»
16:04 hoelzro ^ shouldn't that be Str?
16:04 hoelzro since $!dist-id isa Str?
16:04 RabidGravy ChoHag, is this for http://doc.perl6.org/language/modules? I'd suggest pushing a PR so that anyone who cares can check
16:05 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
16:05 lizmat shouldn't that be .params<dist-id> then ?
16:05 hoelzro lizmat: good point =)
16:05 lizmat also, if it were a positional, then .[0] ?
16:05 hoelzro but the issue with .params<dist-id>.type =:= Any stands
16:05 hoelzro .[0] is self
16:06 ChoHag RabidGravy: It is.
16:06 andreoss masak: yep, return was missing
16:06 pmurias m: say(12 % -5)
16:06 camelia rakudo-moar 79303b: OUTPUT«-3␤»
16:06 lizmat hoelzro: ah, ok, yes  :-)
16:06 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".
16:06 lizmat nine: argh, I looked at the wrong thing, Inline::Perl5 still does not install  :-(
16:07 lizmat same error as before
16:07 ChoHag Oh just before I commit/push/PR, how can I link to the 'Units' section of S11?
16:07 cygx TimToady: I'm currently poking the guts of &unlink, which is supposed to treat unlinking nonexistent files as success
16:07 ChoHag (with alternative text)
16:07 ChoHag L<S11#Units|synopsis>?
16:07 * TimToady barely has time to backlog before driving to SoCal today
16:07 RabidGravy L<Test|URI> tes
16:07 RabidGravy er text first, link second
16:08 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
16:08 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
16:08 ChoHag I want to refer to http://design.perl6.org/S11.html#Units
16:09 ChoHag Oh never mind. Now I see a link to the same document earlier.
16:09 ChoHag So we're linking to the synopsis by http URL?
16:10 ChoHag synopses? How's that pluralised?
16:11 Humbedooh like that, yes
16:12 sivoais joined #perl6
16:14 nine lizmat: what errors do you get?
16:14 lizmat t/use.t .......................
16:14 lizmat All 4 subtests passed
16:15 lizmat and then: t/use.t                     (Wstat: 11 Tests: 4 Failed: 0)
16:15 lizmat Non-zero wait status: 11
16:15 lizmat so looks like its segfaulting in there
16:15 pmurias .tell jnthn why is isbig_I checking for the value fitting in 32bits when long is 64bits on the jvm?
16:15 yoleaux pmurias: I'll pass your message to jnthn.
16:16 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
16:16 timotimo not on moar
16:16 ZoffixW m: m: class Foo { has %.foo where all($_.keys) eq 'bar'; }; my %h = foo => 'bar', ber => 'bar'; Foo.new: :foo(%h); say "k"
16:16 camelia rakudo-moar 79303b: OUTPUT«Type check failed in binding $x; expected <anon> but got Str␤  in block <unit> at /tmp/Dohh1GHqyi:1␤␤»
16:16 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
16:17 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 #perl6
16:17 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
16:17 ZoffixW How come this succeeds? I expected it to fail the type check, since not all values are "bar"s?:
16:17 ZoffixW m: class Foo { has %.foo where 'bar' ~~ all(*.values); }; my %h = foo => 'not-bar', ber => 'bar'; Foo.new: :foo(%h); say "k"
16:17 camelia rakudo-moar 79303b: OUTPUT«k␤»
16:18 lizmat nine: $ perl -Mthreads -e 1
16:18 lizmat This Perl not built to support threads
16:19 lizmat $ echo $?
16:19 lizmat 255
16:19 n0tjack joined #perl6
16:19 pmurias timotimo: so isbig_I just returns if the value is small enought for the "optimization" on MoarVM?
16:21 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:22 molaf joined #perl6
16:22 sivoais joined #perl6
16:22 uruwi joined #perl6
16:22 timotimo pmurias: good question. i wonder where it's used, actually
16:23 pmurias in the optimizer to determine if we can store something in a native int
16:25 pmurias MoarVM native integers are 64bit everywhere?
16:27 lizmat pmurias: not on 32bit builds, I don't think ?
16:27 zakharyas joined #perl6
16:29 _nadim joined #perl6
16:30 administ1ator joined #perl6
16:31 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 #perl6
16:32 _nadim joined #perl6
16:32 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
16:34 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:39 ChoHag Resources as in what?
16:41 RabidGravy "resources" as in "the other stuff you want installed with your distribution" and  which you discover through %?RESOURCES
16:41 RabidGravy I'll add that later
16:42 sivoais joined #perl6
16:42 pierre-vigier joined #perl6
16:42 ChoHag Oh right. Those.
16:42 ChoHag Where *do* they go?
16:42 administrator joined #perl6
16:43 RabidGravy in a "resources" directory (or sub-directory thereof)
16:44 koo8 joined #perl6
16:45 dalek doc: 3d03f5c | (Matthew King)++ | doc/Language/modules.pod:
16:45 dalek doc: Clear as mud - be explicit about the definition of 'module'.
16:45 dalek doc: review: https://github.com/perl6/doc/commit/3d03f5cb00
16:45 dalek doc: 1dd77e8 | RabidGravy++ | doc/Language/modules.pod:
16:45 dalek doc: Merge pull request #255 from ChoHag/master
16:45 dalek doc:
16:45 dalek doc: Clear as mud - be explicit about the definition of 'module'.
16:45 dalek doc: review: https://github.com/perl6/doc/commit/1dd77e8a2f
16:45 cygx https://github.com/rakudo/rakudo/pull/646
16:51 mohae joined #perl6
16:52 sivoais joined #perl6
16:52 dha joined #perl6
16:52 psy_ joined #perl6
16:52 dalek doc: 0816047 | RabidGravy++ | doc/Type/ (2 files):
16:52 dalek doc: Move splice() from List to Array
16:52 dalek doc:
16:52 dalek doc: fixes #254
16:52 dalek doc: review: https://github.com/perl6/doc/commit/0816047f22
16:54 psy_ joined #perl6
16:57 sivoais joined #perl6
16:57 _nadim joined #perl6
16:58 administ1ator joined #perl6
16:58 [Coke] m: say 1/3 ≅ 1/2
16:58 camelia rakudo-moar 79303b: OUTPUT«False␤»
17:00 [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…»
17:00 dalek tablets: 5f9fa39 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
17:00 dalek tablets: -prior
17:00 dalek tablets: review: https://github.com/perl6/tablets/commit/5f9fa39750
17:00 dalek tablets: d5488c2 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
17:00 dalek tablets: linkfix
17:00 dalek tablets: review: https://github.com/perl6/tablets/commit/d5488c20d1
17:00 dalek tablets: e96653b | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
17:00 dalek tablets: enlarged set op table
17:00 dalek tablets: review: https://github.com/perl6/tablets/commit/e96653bcd1
17:00 lichtkind joined #perl6
17:06 anaeem1 joined #perl6
17:07 lolisa joined #perl6
17:17 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.
17:18 ChoHag Suggesting good ideas to the masses rarely goes as planned.
17:19 timotimo [Coke]: huh?
17:20 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:21 rurban joined #perl6
17:21 ChoHag Woodi: The synopses are, in the main, surprisingly readable.
17:21 ChoHag Surprisingly compared to your average standards document.
17:22 ChoHag People should be encouraged to read them.
17:22 ChoHag But then, K&R's C book was even more readable, and look what happened to C...
17:22 prammer_ joined #perl6
17:22 dalek doc: c154746 | RabidGravy++ | doc/Language/modules.pod:
17:22 dalek doc: Somewhat describe the resources thing in modules doc
17:22 dalek doc: review: https://github.com/perl6/doc/commit/c154746fd3
17:24 * RabidGravy tries to remember if there was anything else he wanted to fix in the docs
17:25 hankache joined #perl6
17:26 ChoHag There always is.
17:26 ChoHag When was the last time you read a document and thought "That document is clear, concise and complete"?
17:27 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
17:28 pmurias Woodi: I don't think Perl 6 (the language) will get forked soon
17:29 timotimo awwaiid: maybe in the docs it'd be better to suggest (...).hash instead of :{ ... }?
17:29 xfix joined #perl6
17:32 prammer_ joined #perl6
17:34 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 '..'?)␤»
17:34 dha I made a pitch at LPW for people to write more documentation. go me.
17:34 jdv79 can anyone take a look at my post?  I'm not sure its ok.
17:34 n0tjack m: say (1,4,9,16,25 .. *)[77];
17:34 camelia rakudo-moar 79303b: OUTPUT«Nil␤»
17:35 dha jdv79 - where?
17:35 stmuk dha++
17:35 TimToady m: say (1,4,9,16,25 .. *)[4];
17:35 camelia rakudo-moar 79303b: OUTPUT«25..Inf␤»
17:35 jdv79 the advent wp thing
17:35 cygx bye o/
17:36 jdv79 https://perl6advent.wordpress.com/?p=4729&amp;preview=true&amp;iframe=true
17:37 dha hm. "Oops! That page can’t be found."
17:37 jdv79 i think tht's wp saying you didn't login/have access
17:37 dha ah
17:37 n0tjack TimToady: I don't get that output
17:38 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…»
17:38 TimToady there are 5 arguments in that list
17:38 n0tjack TimToady: Yeah, I was just testing the limits of sequence inferencing
17:38 TimToady the range is the last one
17:38 TimToady well, it tells you the limits in the error message :)
17:39 n0tjack I think a DSL for OEIS sequences would be a worthwhile project
17:39 TimToady modules will happen :)
17:39 n0tjack even if there are 5 argumentws, I asked for only one (the 77th, or in your example the 4th), right?
17:39 TimToady yes, ^100 gets the first 100
17:39 dha I guess I don't have access. *shrug*
17:40 jdv79 https://gist.github.com/anonymous/48b4304dc6a11a1a6d62
17:41 jdv79 dha or anyone else without wp access ^^
17:41 n0tjack m: say (1,4,9,16,25 ... *)[4].elems; # I would expect 1
17:41 camelia rakudo-moar 79303b: OUTPUT«===SORRY!===␤Unable to deduce arithmetic or geometric sequence from 9,16,25 (or did you really mean '..'?)␤»
17:41 dha ta.
17:41 n0tjack m: say (1,4,9,16,25 .. *)[4].elems; # I would expect 1
17:41 camelia rakudo-moar 79303b: OUTPUT«Inf␤»
17:41 RabidGravy jdv79, the post looks good to me :)
17:41 moises joined #perl6
17:42 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
17:42 jdv79 RabidGravy: thanks
17:42 TimToady and maybe we should coin that usage for 0-based ordinals!
17:42 jdv79 anyone who knows wp - is it done now?  i told it a time tonight at midnight.
17:42 n0tjack 4thy good of the language, it's got an infinite width
17:42 TimToady so you can talk about the firsty one, meaning the second
17:42 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.
17:43 n0tjack it's not first, but it's first-ish
17:43 TimToady too hard to type :)
17:43 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 #perl6
17:44 TimToady see World.nqp
17:45 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?
17:46 TimToady in src/Perl6
17:48 hankache thanks
17:49 RabidGravy hankache, that's https://github.com/rakudo/rakudo/blob/nom/src/Perl6/World.nqp#L681 if you don't have a checkout
17:49 [Coke] m: my Rat.new(3,4).perl.say;
17:49 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;␤»
17:49 [Coke] m: Rat.new(3,4).perl.say;
17:49 camelia rakudo-moar 79303b: OUTPUT«0.75␤»
17:49 jdv79 dha: cool, thanks
17:50 dha jdv79 -  I'm sure some will want more detail, but it's a good summary.
17:50 hankache thanks RabidGravy TimToady
17:51 dalek rakudo/nom: 7c9e507 | TimToady++ | src/Perl6/Actions.nqp:
17:51 dalek rakudo/nom: META_ASSIGN should want its LHS
17:51 dalek rakudo/nom:
17:51 dalek rakudo/nom: Fixes: my @a;  @a ||= (2, 4, 6) if 1;
17:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c9e507df2
17:51 dalek rakudo/nom: 60210f2 | TimToady++ | src/Perl6/Optimizer.nqp:
17:51 dalek rakudo/nom: improve debugging on useless use
17:51 dalek rakudo/nom:
17:51 dalek rakudo/nom: It now outputs the message immediately so we know which call emitted it.
17:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/60210f23a4
17:53 jdv79 dha: they can come here then:)
17:53 dalek Inline-Perl5: 81243ea | (Stefan Seifert)++ | / (4 files):
17:53 dalek Inline-Perl5: Fix segfault when creating multiple instances without MULTIPLICITY
17:53 dalek Inline-Perl5:
17:53 dalek Inline-Perl5: When creating multiple Inline::Perl5 instances in the hope to run multiple
17:53 dalek Inline-Perl5: Perl 5 interpreters, we segfaulted if perl was not compiled with -DMULTIPLICITY
17:53 dalek Inline-Perl5: Fixed by recognizing the situation and throwing an
17:53 dalek Inline-Perl5: X::Inline::Perl5::NoMultiplicity exception instead.
17:53 dalek Inline-Perl5:
17:53 dalek Inline-Perl5: Thanks to lizmat++ for the report!
17:53 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/81243ea651
17:53 dha jdv79 -  :-)
17:53 nine lizmat: fixed it :) ^^^
17:53 TimToady lizmat: fixed it :) ^^^
17:53 lizmat nine: cool!
17:53 lizmat TimToady: cool!
17:54 dalek nqp: d896027 | (Pawel Murias)++ | src/vm/js/ (2 files):
17:54 dalek nqp: [js] Implement missing bigint ops (only radix_I) is now missing.
17:54 dalek nqp: review: https://github.com/perl6/nqp/commit/d896027796
17:54 dalek nqp: 5cd8a30 | (Pawel Murias)++ | t/nqp/60-bigint.t:
17:54 dalek nqp: Test untested bigint ops (we are now only missing tests for radix_I).
17:54 dalek nqp: review: https://github.com/perl6/nqp/commit/5cd8a304dc
17:54 anaeem1 joined #perl6
17:55 dha lizmat -  I didn't fix anything lately. :-)
17:56 lizmat dha: but you docced!  cool!
17:56 dha I did?
17:56 [Coke] weird. I have a line in a script: $guess = Rat.new( $low.numerator + $high.numerator, $low.denominator + $high.denominator);
17:57 [Coke] dying with Default constructor for 'Rat' only takes named arguments - works fine standalone
17:57 _nadim joined #perl6
17:58 lizmat [Coke]: did another Rat sneak in that scopy by any chance ?
17:58 lizmat *scope
17:58 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?
17:59 [Coke] line number points to that line.
17:59 TimToady some of the MONKEYs are just reserved for future use
17:59 hoelzro hankache: you mean docs?
17:59 prammer joined #perl6
18:00 hankache hoelzro yes
18:00 hoelzro it doesn't look like we have an exhaustive list of them on doc.perl6.org
18:00 hoelzro that might be a nice addition
18:00 TimToady in fact, we might just allow people to say MONKEY-ANYTHING and poke it into %*PRAGMAS
18:01 hankache an entry here https://doc.perl6.org/language.html would be beneficial
18:01 lizmat TimToady: I'm afraid jnthn would be very unhappy with that
18:01 TimToady for anything that falls in the MONKEY category of allowing use MONKEY; or no MONKEY; to change it
18:01 lizmat as I suggested something like that in the past (well, even more generally )
18:01 TimToady lizmat: this would only be for private-use MONKEYs
18:02 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?
18:02 TimToady private as in the current lexical scope
18:02 hoelzro class C { has Str $!dist-id; submethod BUILD(:$!dist-id) {} } # should the :$dist-id parameter have type Str?
18:04 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]]␤»
18:04 moises this does what I want, but is the rigth way?
18:04 RabidGravy hankache, sounds like volunteering to me :)
18:04 ilmari m: class C { has Str $!dist-id; submethod BUILD(:$!dist-id) {} }; C.new(:dist-id([1,2,3]))
18:04 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␤␤»
18:06 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
18:06 hankache RabidGravy If you can provide me a textual definition in any format, i volunteer to write it in pod6
18:07 hoelzro it's not that big of a deal (since the assignment to $!dist-id doesn't type check), but it impacts introspectability
18:08 hoelzro 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_ joined #perl6
18:08 araujo joined #perl6
18:09 lizmat %*MONKEY at the HLL level ?
18:10 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 TimToady well, the basic problem is exposing the interface as a hash, when that might change
18:11 lizmat or perhaps a %?MONKEY  :-)
18:11 lizmat similar in setup to $?LINE and $?FILE
18:12 moises my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a.map: |*; say @b;
18:12 moises m: my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a.map: |*; say @b;
18:12 camelia rakudo-moar 60210f: OUTPUT«[(Any) [(Any) 3 4] [(Any) 5 6]]␤»
18:13 moises Is this the way matrix slice assignment is done?
18:14 ZoffixW joined #perl6
18:15 ZoffixW Is this a known bug? Dates are different, but same .Instant is returned:
18:15 ZoffixW m: say [ DateTime.now, DateTime.now.utc, DateTime.now.Instant, DateTime.now.utc.Instant ]
18:15 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]␤»
18:15 ZoffixW m: say [ DateTime.now, DateTime.now.utc, DateTime.now.posix, DateTime.now.utc.posix ]
18:15 camelia rakudo-moar 60210f: OUTPUT«[2015-12-21T19:15:44.886799+01:00 2015-12-21T18:15:44.889470Z 1450721744 1450721744]␤»
18:16 dalek rakudo/nom: 591783d | lizmat++ | src/core/ (4 files):
18:16 dalek rakudo/nom: The latest of zefram++ suggestions + some
18:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/591783d116
18:16 flussence those dates look the same to me
18:17 ZoffixW flussence, one is 19hr the other is 18hr
18:17 flussence one is +0100, the other is UTC...
18:17 ZoffixW Well. *times* are different, but .Instant and .posix are same
18:17 ZoffixW oh
18:17 ZoffixW Oh, ok, I'm just being stupid
18:18 ZoffixW or rather confused :S
18:20 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 #perl6
18:20 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)]]␤»
18:21 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
18:21 ZoffixW m: say DateTime.now.Instant ≅ DateTime.now.utc.Instant ≅ now
18:21 camelia rakudo-moar 60210f: OUTPUT«False␤»
18:23 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)]]␤»
18:23 ZoffixW m: my @a = [[3,4];[5,6]]; my @b[1..2;1..2] = @a; say @b;
18:23 camelia rakudo-moar 60210f: OUTPUT«[[[3 4] (Any)] [[5 6] (Any)]]␤»
18:23 ZoffixW :)
18:24 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]]␤»
18:25 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 xtreak joined #perl6
18:28 lizmat :-(
18:29 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 #perl6
18:29 ZoffixW would be nice for that to DWIM
18:29 ZoffixW MadcapJake++ # fixing highlighting
18:31 moises wow! all of those got it wrong in a different way ZoffixW . :( . The matrix assignment, I mean.
18:31 moises my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a.map: |*; say @b;
18:31 cognominal joined #perl6
18:31 moises this is the behavior I want
18:31 MadcapJake no prob ZoffixW glad to have some users :)
18:31 ZoffixW m: my @a = [[3,4],[5,6]]; my @b; @b[1..2;1..2] = @a.map: |*; say @b;
18:31 camelia rakudo-moar 591783: OUTPUT«[(Any) [(Any) 3 4] [(Any) 5 6]]␤»
18:32 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
18:32 camelia rakudo-moar 591783: OUTPUT«2000-03-01T00:32:45.978682+01:00␤»
18:33 MadcapJake ZoffixW: did you see what the highlighter does when you add a postfix regex flag? :)
18:34 moises Is that what I should be doing, or I'm missing something about matrices?
18:35 ZoffixW MadcapJake, doesn't seem to do anything lol?
18:35 anaeem1_ joined #perl6
18:35 pierre-vigier joined #perl6
18:35 MadcapJake strange, some themes might not support it. but it actually marks any postfix flag as invalid.illegal
18:36 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."
18:37 lizmat nine: I guess this is part of the "special properties" ?
18:38 lizmat 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
18:39 El_Che does the META.info accepts and author array instead of a single author string?
18:39 RabidGravy authors I think
18:40 nine lizmat: I just wonder how we can differentiate between such a special properties thing and a plain directory
18:40 krunen joined #perl6
18:41 krunen joined #perl6
18:41 ZoffixW El_Che, right there's no "author". Just "authors" that takes an array
18:41 Skarsnik nine, can ressource be typed?
18:41 ZoffixW El_Che, there's also this handy module that will tell you whether your META is valid: http://modules.perl6.org/repo/Test::META
18:41 dalek doc: 006910f | (Karl Rune Nilsen)++ | doc/Type/Attribute.pod:
18:41 dalek doc: Attribute.has-accessor -> has_accessor
18:41 dalek doc: review: https://github.com/perl6/doc/commit/006910f81a
18:41 El_Che ZoffixW: let-me-fix-the-doc then
18:41 Skarsnik It's probably the only way to dill with this kind of stuff
18:41 El_Che http://doc.perl6.org/language/modules
18:42 El_Che is the module mature enough to be referenced from the doc?
18:43 nine lizmat: maybe like this: https://gist.github.com/niner/5f2c51786ffca0eb4a88
18:43 nine Skarsnik: ^^^
18:44 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...
18:44 lizmat the main idea was to have *something* that would free developers from resource management at installations
18:45 lizmat the exact format, I don't care much as long as it's easy to explain  :-)
18:45 RabidGravy nine, works for me - reference in %?RESOURCES by "name"
18:46 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:48 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?
18:49 dalek roast: 637b8e9 | cygx++ | S32-io/ (2 files):
18:49 dalek roast: S32-io/{move,rename}.t: add bugfix that got lost in the revert
18:49 dalek roast: review: https://github.com/perl6/roast/commit/637b8e907e
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 lizmat daxim: https://github.com/MoarVM/MoarVM
18:50 * TimToady images corporate policy would require special attention to MONKEYs in production code, and probably disallow a simple 'use MONKEY;' in any case
18:51 TimToady *imagines
18:52 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:53 nine RabidGravy: in the module, we'll access that as %?RESOURCES<p5helper>
18:53 RabidGravy yeah, that's how I understood it :)
18:54 nine %?RESOURCES<image><image1.png> for directories
18:54 RabidGravy ah, yes
18:54 RabidGravy cool
18:54 RabidGravy totally positive about that
18:55 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:56 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:57 TimToady 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
18:57 TimToady yes, but that's kinda hardwired at the moment, I think
18:57 lizmat if there is no reference of $?LINE in a block, it can not be introspected from another block, afaik
18:57 TimToady then how does callframe get the line?
18:58 TimToady how do backtraces work?
18:58 TimToady .oO( poorly :)
18:58 * lizmat is checking
18:59 lizmat HLL::Compiler.lineof($cursor.orig()
18:59 lizmat ??
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
19:00 * TimToady now imagines serializing the .orig, only with everything translated to only spaces or newlines
19:00 TimToady would be interesting to reverse engineer code based only on the sizes of each line...
19:01 daxim rakudobrew build moar sha-1 did not work for me:  http://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 ?
19:01 TimToady we can add capabilities post 6.c as long as we don't clobber any existing tests
19:02 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, ...
19:02 daxim sorry, I can't parse that.  I used rakudobrew
19:02 _nadim I just need a flipflop but a generic class is even better
19:02 lizmat daxim: I only know of rakudobrew, never used it myself
19:03 lizmat #perl6, can someone else help daxim please ?
19:03 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…»
19:05 dalek doc: ce1302c | (Claudio Ramirez)++ | doc/Language/modules.pod:
19:05 dalek doc: META.info: author -> authord
19:05 dalek doc: review: https://github.com/perl6/doc/commit/ce1302cb17
19:05 dalek doc: c717bda | nxadm++ | doc/Language/modules.pod:
19:05 dalek doc: Merge pull request #257 from nxadm/master
19:05 dalek doc:
19:05 dalek doc: META.info: author -> authors
19:05 dalek doc: review: https://github.com/perl6/doc/commit/c717bda02b
19:05 davercc` joined #perl6
19:05 _nadim TimToady: because I don't know if 100 will be enough, or a thousands
19:06 _nadim I can fliflop by hand or write a class (hmm, circular buffer it is) but thought that there might be something done already
19:07 ZoffixW daxim, rakudobrew triple   should give you bleeding edge of everything
19:08 flussence m: say <Nil House 7> xx *
19:08 camelia rakudo-moar 591783: OUTPUT«(...)␤»
19:08 daxim thanks, trying now.
19:08 flussence _nadim: is an infinite lazy list not long enough?
19:08 TimToady m: say (|<Nil House 7> xx *)[10000]  # how many do you want?
19:08 camelia rakudo-moar 591783: OUTPUT«House␤»
19:08 TimToady m: say (|<Nil House 7> xx *)[100000]  # how many do you want?
19:08 camelia rakudo-moar 591783: OUTPUT«House␤»
19:09 TimToady m: say (|<Nil House 7> xx *)[1000000]  # how many do you want?
19:09 camelia rakudo-moar 591783: OUTPUT«House␤»
19:09 TimToady hmm, that seems wrongish
19:09 flussence m: say (|<Nil House 7> xx *)[10001]
19:09 camelia rakudo-moar 591783: OUTPUT«7␤»
19:09 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
19:10 ZoffixW daxim, https://gist.github.com/TimToady/0b68b598b74df83e1eee
19:10 nine Of course they are... 9+ + 1
19:11 zacts joined #perl6
19:11 FROGGS joined #perl6
19:13 dalek rakudo/nom: d0ed221 | jnthn++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp:
19:13 dalek rakudo/nom: Pass on multi requirements when role does role.
19:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d0ed221a9c
19:13 TimToady daxim: if you're talking about Digest::PSHA1, panda installs that successfully for me here
19:13 ZoffixW daxim, also.... "install party"? :) What's that?
19:13 dalek roast: f6c665d | jnthn++ | S14-roles/composition.t:
19:13 dalek roast: More multi requirements and roles tests.
19:13 dalek roast: review: https://github.com/perl6/roast/commit/f6c665df31
19:14 ZoffixW TimToady, I believe they're trying to install a specific commit of nom
19:14 ZoffixW where sha-1 is the commit sha
19:14 TimToady ah
19:15 yqt joined #perl6
19:16 _nadim flussence: yes lazy lists are better than circular, immutable, buffers,  to look at at least
19:17 dalek rakudo/nom: 34c4fe9 | lizmat++ | src/core/IO/Path.pm:
19:17 dalek rakudo/nom: Remove line I forgot to remove, zefram++
19:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/34c4fe977e
19:18 FROGGS joined #perl6
19:21 El_Che what's the perl6 idiom to mark some tests as "run only as author"? %*ENV{TEST_AUTHOR}?
19:22 Skarsnik Not sure to understand what you want x)
19:22 El_Che xt?
19:22 lizmat if you want to activate that with TEST_AUTOR=1 make tests
19:22 lizmat El_Che: that would be the way
19:22 lizmat perhaps in the form of:
19:22 El_Che the Test::META test should only be run by the author, not the user
19:23 Skarsnik I put it in xt for DBIish
19:23 Skarsnik I should have made travis run these tests x)
19:24 daxim ZoffixW, I invited people to bring their device, and we're installing rakudo   https://www.reddit.com/r/perl6/comments/3xc88b/viennapm_is_hosting_an_install_party_20151221/
19:24 lizmat m: constant AUTHOR = ?%*ENV<TEST_AUTHOR>; if AUTHOR { say "doing tests" }
19:24 camelia rakudo-moar 591783: ( no output )
19:24 El_Che thx lz
19:24 El_Che liz
19:24 RabidGravy El_Che, that would be great if there was a way of specifying "author only test dependencies"
19:26 ZoffixW daxim++ cool :D
19:27 regreg joined #perl6
19:28 TimToady why we don't want to send out software with security flaws: https://www.washingtonpost.com/news/the-switch/wp/2015/12/21/nearly-a-billion-pcs-run-this-notoriously-insecure-software-now-oracle-has-to-clean-it-up/
19:28 ZoffixW vis-à-vis testing vars, we could piggy back on P5's conventions: https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md#environment-variables-for-testing-contexts
19:28 daxim okay, rakudobrew triple finished, what now?  the perl6 executable is still the one from before (rakudobrew build moar)
19:29 TimToady you need to make sure you path is right
19:29 lizmat ZoffixW: good plan!
19:29 Skarsnik "The path is right" Today with TimToady as a guess star
19:30 RabidGravy ZoffixW, I love the way that document uses "consensus"
19:30 ZoffixW RabidGravy, not sure I follow :)
19:30 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 ZoffixW daxim, did it finish correctly or did it say "Make not found blah blah you can run it manually"?
19:32 dha Consensus? There's consensus??
19:32 daxim I got that bug and applied the patch and ran rakudobrew triple again and that worked
19:32 ZoffixW hmpf
19:32 ZoffixW oooh
19:32 ZoffixW daxim, what makes you think it's the old perl6?
19:33 ZoffixW The fresh one would still say 2015.11 in perl6 -v
19:33 daxim inode datetime
19:33 ZoffixW aw :(
19:33 RabidGravy the "perl6" is a shell script so it may not have changed
19:33 daxim I found the built results in .rakudobrew/moar-HEAD-HEAD-HEAD/install/bin
19:33 daxim they did not get installed
19:33 nine RabidGravy: how on earth do we get from p5helper in the Makefile.in to libp5helper.so in the Makefile?
19:34 * ZoffixW tries nuking .rakudobrew and .perl6 and rakudobrew tripple on a server
19:34 pierre-vigier joined #perl6
19:35 RabidGravy nine, LibraryMake determines it from the configuation pf the perl
19:36 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
19:36 TimToady daxim: I think you need to use 'rakudobrew switch moar-HEAD-HEAD-HEAD' or so
19:38 ZoffixW *sigh* connected to the wrong server and nuked perl6 there XD
19:38 Skarsnik I hate env variable to set stuff x)
19:38 ZoffixW I guess it's a good thing I don't work at the nuclear plant
19:38 ZoffixW Skarsnik, for testing? I don't see a better way
19:39 TimToady though oddly, despite building moar-HEAD-HEAD-HEAD yesterday, it seems to be reporting 2015-11 for its version
19:40 TimToady is it lying about HEADs?
19:40 dalek rakudo/nom: cfb1f37 | lizmat++ | src/core/Temporal.pm:
19:40 dalek rakudo/nom: Be consistent in how we create new objects
19:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cfb1f3799e
19:40 ZoffixW Doesn't it get the 2015-11 bit from tags or something that are updated only on release?
19:41 ZoffixW m: say (combinations 1000, 100).elems
19:41 camelia rakudo-moar 34c4fe: OUTPUT«63850511926305130236698511142022274281262900693853331776286816221524376994750901948920974351797699894319420811933446197797592213357065053890␤»
19:41 ZoffixW ^ that should take ages on 2015.11 perl
19:42 cdg joined #perl6
19:42 lizmat afk for a bit&
19:43 prammer_ joined #perl6
19:44 timotimo oh, snap
19:44 timotimo it's monday evening
19:44 RabidGravy it is
19:44 ZoffixW Weekly? :)
19:45 ZoffixW Hm. I haven't made any new modules this week :(
19:45 TimToady ZoffixW: okay, it's actually running latest
19:45 * ZoffixW is dissapointed
19:45 RabidGravy neither have I
19:47 RabidGravy I nearly started making a gdbm binding then got stuck in bugs and documentation
19:47 spider-mario joined #perl6
19:47 timotimo gdb...m?
19:48 ZoffixW ranguard, huh? You're uploading P6 modules to P5 PAUSE? RE: https://github.com/andk/pause/issues/191#issuecomment-166389496
19:48 ZoffixW ..and.... they're OK with it? :)
19:48 RabidGravy ranguard as inLeo Lapworth?
19:49 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
19:49 FROGGS Skarsnik: like the CompileTestLib does?
19:49 ZoffixW RabidGravy, yes
19:49 Skarsnik it only does lib x)
19:50 ZoffixW ilmari, how do I upload to "Perl6/ subdirectory"?
19:50 FROGGS ZoffixW: it does not interfere with the P5 stuff
19:50 FROGGS ZoffixW: that happens automatically if your dist contains a META6.json
19:50 ZoffixW ilmari, nm, I see it mentioned on PAUSE
19:50 ilmari https://github.com/andk/pause/blob/master/lib/pause_1999/edit.pm#L1613-L1617
19:51 daxim $ time perl6 -e'say (combinations 1000, 100).elems'  real    0m0.449s             # works!
19:51 daxim thank yall for the help
19:51 ZoffixW daxim, yey :)
19:51 Skarsnik I still have my IRC::Art module to write in perl6 ~~
19:51 FROGGS ilmari: that's not true
19:52 FROGGS ilmari: the Perl6 subdir can be specified, but it dont has to
19:52 FROGGS ilmari: unless somebody changed my code...
19:53 FROGGS eww, probably somebody has
19:54 lucasb joined #perl6
19:55 FROGGS damnit https://github.com/andk/pause/commit/fa5a6396439ce4926d0f93e4fe39fdf2e9cce294
19:55 pierre-vigier joined #perl6
19:55 FROGGS jdv79: did you do that?
19:55 ilmari FROGGS: https://github.com/andk/pause/commit/fa5a6396439ce4926d0f93e4fe39fdf2e9cce294
19:55 FROGGS ilmari: yes, already spotted it
19:56 FROGGS it is just... that I do not agree
19:57 dha Yeah, that happens.
19:57 RabidGravy that old "consensus" again ;-)
19:57 timotimo "working implementations and rough consensus" etc etc
19:57 FROGGS if I understand correctly it will mean that a distname + version can only be used by author
19:58 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
19:58 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)
19:59 El_Che s/send/sent
19:59 RabidGravy El_Che, thanks but I may decline
19:59 ranguard ZoffixW: Yes: https://github.com/perl6modules/perl6-module-uploader/
19:59 pierre-vigier joined #perl6
19:59 ranguard RabidGravy: yep
19:59 RabidGravy yaY
19:59 FROGGS nine: just dump*
20:00 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)
20:00 nine FROGGS: that means that user code has to be written for all possible backends
20:01 FROGGS ranguard: it was automatic
20:01 FROGGS nine: that's the current state, yes
20:01 FROGGS nine: and we can't do much... what if JVM10 adds 10 keys and removes 4?
20:02 FROGGS 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
20:02 FROGGS ranguard: the design decision was to avoid that
20:03 ranguard ahh, shame, but tools can easily be built to put that in automatically I guess
20:04 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?
20:04 Skarsnik usage statement?
20:05 FROGGS dha: I still love them
20:05 ranguard FROGGS: metaCPAN now copes: https://github.com/CPAN-API/cpan-api/commit/eaaefbf07d202b06ec6e8d9b693d1f24a5235927 :)
20:05 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
20:05 FROGGS ranguard++
20:05 timotimo i don't remember where ... i think it was ":FROM_END" or something
20:05 FROGGS Skarsnik: in docs
20:05 dha timotimo -  that is possible. There may have been some blips along the way.
20:06 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.
20:06 lucasb can I has an example of these usage messages? I don't think I ever saw them
20:06 dha It was suggested that examples might serve the purpose better.
20:06 FROGGS nine: yes, but this can also be a helper module, no?
20:07 dha lucasb Skarsnik - look at, for instance, Type/Array.pod and look for "Usage:"
20:07 lucasb ahhh, in the doc stuff :) thanks, dha
20:08 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.
20:08 * ZoffixW is unsure on how to feel about that
20:09 jme` joined #perl6
20:09 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?
20:09 timotimo lucasb: not sure if i can come up with something better
20:10 rurban1 joined #perl6
20:10 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
20:11 timotimo yeah, :{ } isn't about forcing hash literals
20:11 lucasb m: say :{ (Int) => 1 }.perl
20:11 camelia rakudo-moar cfb1f3: OUTPUT«:{Int => 1}␤»
20:12 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?
20:12 ZoffixW Indeed
20:12 masak m: say :{ "Int" => 1 }.perl
20:12 camelia rakudo-moar cfb1f3: OUTPUT«:{:Int(1)}␤»
20:13 masak m: say :{ Int => 1 }.perl
20:13 camelia rakudo-moar cfb1f3: OUTPUT«:{:Int(1)}␤»
20:13 lucasb m: say :{ (Int) => 1 }
20:13 camelia rakudo-moar cfb1f3: OUTPUT«(Int) => 1␤»
20:13 masak lucasb: looks like it's a bug, yes
20:13 lucasb ^^ see that the gist is right
20:13 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
20:13 ZoffixW ... a bit...
20:13 lucasb masak: someone finally agreed with me today, yay! :)
20:14 masak yay
20:16 labster joined #perl6
20:16 nine FROGGS: that could mean that I will not only need LibraryMake to compile but also at runtime
20:17 ranguard ZoffixW: I want to shutdown this project ASAP, this is just a bootstrap I hope
20:17 FROGGS nine: aye
20:17 ranguard RabidGravy: how do you mean?
20:18 ZoffixW ranguard, in Perl6, two different authors can release module named Foo::Bar
20:18 ZoffixW ranguard, and the user can specify which one they want with :auth<> adverb
20:18 RabidGravy well, the name, version and auth fully identiy the module
20:18 FROGGS a dist*, but yes
20:18 ranguard ahh (I know 0 Perl 6)
20:19 FROGGS that's why the uris table change is problematic
20:19 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
20:19 FROGGS dunno why jdv (jdv79?) did that
20:19 diakopter FROGGS: I totally agree
20:20 pierre-vigier joined #perl6
20:21 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
20:22 RabidGravy when TimToady grew an asses head and serenaded the fairy queen
20:22 FROGGS ranguard: the idea is to allow forks more easily
20:22 FROGGS ranguard: and abandoned projects
20:23 FROGGS well, not to allow the latter strictly speaking
20:23 RabidGravy oh different sort of change
20:23 FROGGS but making it easy to continue someone elses work
20:24 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
20:24 ranguard FROGGS: ick, sounds like asking for confusion and arguments
20:24 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.
20:24 diakopter yes, it effectively just adds the author name into the namespace
20:25 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
20:25 ranguard FROGGS: yea, but forking is very different to releasing
20:25 FROGGS ranguard: and releasing a fork? :o)
20:26 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.
20:26 FROGGS ranguard: if they dont release, there wont be much hits for the dist you search for
20:26 ZoffixW ranguard, I'll upload those dists myself, now that I know PAUSE accepts P6
20:26 dha But maybe I'm just  not understanding the full picture. *shrug*
20:26 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?
20:27 diakopter yes, they link to the origin
20:27 dha I imagine the answer to that is often "no", actually. :-)
20:27 FROGGS hehe
20:27 lucasb FROGGS: the one with most stars and forks? :)
20:27 ranguard ZoffixW: I've only done Acme::Meow so far, waiting on a PAUSE patch
20:27 [particle] joined #perl6
20:27 FROGGS lucasb: exactly
20:28 ZoffixW ranguard, oh, then never mind :D I just saw these, but I guess this is not fed from PAUSE? http://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"
20:28 ranguard ZoffixW: no, that's JDV's test system, which he's hacking what I'm going to do fully
20:29 ZoffixW k
20:29 jdv79 FROGGS: yes
20:29 ranguard FROGGS: MetaCPAN has had that on the todo list for a few years :)
20:29 * jdv79 is on a phone
20:29 FROGGS jdv79: why are we registering P6 dists in the uris table?
20:29 ZoffixW The whole :auth<> thing feels overengineered.
20:30 pierre-vigier joined #perl6
20:30 FROGGS ranguard: four years sounds good to me :o)
20:30 jdv79 we have?  thats how pause works.
20:30 jdv79 we have to i mean
20:30 FROGGS jdv79: P6 dists are meant to be registered in the p6* tables only
20:30 FROGGS jdv79: why?
20:30 AndyDee joined #perl6
20:31 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
20:31 Juerd ZoffixW: Agreed. But the primary reason that I'm reluctant to even use :auth<>, is that it makes my code hideous.
20:32 Juerd 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 ZoffixW Juerd, which error messages?
20:32 dha joined #perl6
20:32 FROGGS jdv79: we should skip all the P5-related tables
20:32 FROGGS jdv79: we won't make use of it
20:32 cygx joined #perl6
20:32 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
20:32 ZoffixW Juerd, that was fixed
20:32 jdv79 we dont.  pause does.  did you read how its used?
20:33 jdv79 pause is not fun
20:33 Juerd ZoffixW: Great. Now only the :auth think remains to be fixed :)
20:33 ranguard FROGGS: out of interest, what happens when several people work on a project, do they makeup an author to share?
20:33 jdv79 btw, is something actuslly broken?
20:34 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
20:34 FROGGS ranguard: they can be a organization, sure
20:34 cygx it could just be the distributor
20:34 ranguard k
20:34 Juerd ZoffixW++  # good example
20:35 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
20:35 RabidGravy so, not entirely clear
20:36 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
20:36 dha dongpoodle and batman really need to do a team-up
20:37 ZoffixW Well, time will tell how this pans out, I s'pose
20:37 FROGGS jdv79: I think I see what you mean
20:37 FROGGS jdv79++
20:38 * FROGGS does not enjoy reading PAUSEs codebase
20:38 jdv79 then we have something in common
20:38 ranguard So, I won't be trampeling anyone's namespaces... as no one has namespaces
20:38 jdv79 bleh but it works
20:38 ranguard s/has/owns/
20:38 RabidGravy it is older than some people here after all
20:38 FROGGS true
20:39 Juerd I think maybe I'll release an Int:auth<Juerd> :)
20:39 ZoffixW :D
20:39 Skarsnik xD
20:39 RabidGravy and me, TimToady and dha are probably older than everyone else put together ;-)
20:40 Juerd Does :auth propagate into types, and can we use them in the same program?
20:40 dha yeah...
20:40 Juerd 'cause then I can make my Int always greater than your Int. :)
20:40 FROGGS Juerd: your Int will shadow the Int from CORE
20:41 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?
20:41 lizmat Juerd: within a lexical scope, yes
20:41 Juerd I see
20:41 lizmat unless you import one of them with a different name
20:41 FROGGS Juerd: you cannot import two modules that export clashing stuff, yes
20:41 Juerd That just means that we'll continue to pick globally unique names anyway.
20:41 ZoffixW m: class Int:auth<dongpoodle> { method Int { 42 } }; my Int $x = 55; say $x.Int
20:41 camelia rakudo-moar cfb1f3: OUTPUT«===SORRY!===␤P6opaque: must compose before allocating␤»
20:41 ZoffixW hm
20:41 FROGGS Juerd: but you are meant to alias one of them
20:42 FROGGS 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
20:43 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␤»
20:43 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␤»
20:44 Skarsnik should the modules in task::star that does not work for x-mas should be removed/forked?
20:44 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
20:44 RabidGravy yes
20:45 pierre-vigier joined #perl6
20:45 ZoffixW Skarsnik, what's more pertinent is fixing panda to not crap out when prereqs are missing
20:46 * masak .oO( does the panda crap out in the woods? )
20:46 RabidGravy well, a judicious CATCH could fix that
20:46 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
20:46 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.␤»
20:46 ZoffixW hm
20:49 lizmat Skarsnik: I think that would be a yes
20:50 rurban_ joined #perl6
20:51 * lizmat is off to watch an awakend force
20:57 geraud joined #perl6
20:59 jdv79 what is a awakened force
21:00 RabidGravy c'thulthu just moved in round the corner
21:02 RabidGravy what modules are there that are really only of interest to module authors (apart from Test::Meta)?
21:02 Skarsnik NativeCall::Typediag x)
21:02 timotimo mi6
21:03 cxreg does rakudo or nom cache compiled code?
21:04 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 #perl6
21:05 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 cdg joined #perl6
21:06 timotimo cxreg: only modules
21:08 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 cxreg i'm having a hard time repeating that though
21:08 timotimo o_O
21:08 cxreg yeah...
21:09 RabidGravy code trolls
21:09 cxreg it's entirely possible that was pebcak but i'm not sure how
21:09 cygx .oO( was alcohol involved? )
21:09 cxreg it was "up arrow, enter" a dozen times
21:09 cdg joined #perl6
21:09 RabidGravy (other mind altering substances are available)
21:10 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:11 lucasb as it is now, it's almost like .perl, expect it doesn't handle all the escape cases right
21:11 lucasb m: say '""""\\'.IO
21:11 camelia rakudo-moar cfb1f3: OUTPUT«"/home/camelia/""""\".IO␤»
21:15 cxreg timotimo: if i ever see a repeat incident i'll try to be more scientifical :)
21:15 cxreg timotimo: the code in question contained thread-unsafe code in addtion to the typo
21:16 cxreg which was the point of running it in the first place
21:20 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:21 RabidGravy otherwise no strong feelings
21:22 cibs joined #perl6
21:22 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)
21:22 camelia rakudo-moar cfb1f3: OUTPUT«True␤False␤»
21:22 * masak submits rakudobug
21:24 pierre-vigier joined #perl6
21:24 TimToady joined #perl6
21:25 lucasb RabidGravy: yeah, I don't think .Str is the right thing too. Thanks for the comment.
21:28 Celelibi joined #perl6
21:29 pierre-vigier joined #perl6
21:30 masak m: sub foo($x) { say (* ~ $x)($_) given $x }; foo(1); foo(2)
21:30 camelia rakudo-moar cfb1f3: OUTPUT«11␤21␤»
21:31 masak this bug brought to you by: Refactoring™
21:31 lucasb so... the WhateverCode is caching the first value it's called with?
21:32 masak yes, but only if it's in a given
21:32 masak m: sub foo($x) { say (* ~ $x)($x) }; foo(1); foo(2)
21:32 camelia rakudo-moar cfb1f3: OUTPUT«11␤22␤»
21:32 lucasb the first value it's *created* with
21:32 masak right
21:36 pierre-vigier joined #perl6
21:36 raiph joined #perl6
21:40 nwc10 joined #perl6
21:40 nwc10 lizmat++ # Perl wine is really nice
21:41 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 http://www.meetup.com/Vienna-Perl-Mongers/events/227358103/
21:41 jdv79 wendy was trying to give it away at spw
21:41 nwc10 even tomboh came and went without us drinking it
21:42 nwc10 having now enjoyed some, "foolish mortals" for not taking her up on the offer
21:42 RabidGravy he must have been sickening for something :)
21:42 nwc10 Not sure what
21:43 dha It's nice.
21:45 diakopter masak: so the closure is overly uptight
21:45 diakopter overly reticent
21:45 diakopter overly retentive
21:46 masak something like that
21:49 diakopter masak: what happens if you add a level of indirection
21:49 masak Try It And See?
21:49 diakopter an invocation of something that retrieves the $x again, for instance
21:50 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 masak I wonder if 007 is now the biggest active Perl 6 program, besides Rakudo itself.
21:50 diakopter ^_^
21:51 diakopter with a license to kill itself?
21:51 RabidGravy a license to ill
21:51 masak only if the refactor is seductive enough
21:58 masak I'm tinkering with the advent post about 007 for day-after-tomorrow.
21:58 masak anything in particular people would like to read about?
21:58 * masak plays with fire, asking the audience what they *prefer*! o.O
21:59 dha A magical pony.
21:59 stmuk nwc10: aren't we supposed to save the perlsecco for the release?
21:59 diakopter newfangled bangle jangles
21:59 masak pony and bangle. got it.
22:00 RabidGravy I'm sure I've got a bottle of US domestic "champagne" somewhere in the house :-\
22:00 diakopter bangle jangles
22:01 masak pony and newfangled bangle jangles -- got it. :)
22:01 RabidGravy but but ponies
22:01 masak oh, several ponies? ok.
22:01 jdv79 what are we toasting.  its not the 25th yet, right?
22:01 dha jdv79 -  I think we're just preparing
22:02 RabidGravy who needs a reasons?
22:02 masak the "every day will be Christmas" is starting to quantum tunnle back to the current present
22:02 masak tunnel*
22:03 jdv79 nice
22:03 RabidGravy it's the large hadron collider what done it
22:05 lucasb m: sub f {}; &f.assuming for ^20; say now - INIT now
22:05 camelia rakudo-moar cfb1f3: OUTPUT«1.07528685␤»
22:05 lucasb creating functions with .assuming is very slow...
22:09 lucasb lots of code in the method: https://github.com/rakudo/rakudo/blob/nom/src/core/Block.pm#L45-L315
22:09 lucasb maybe something could be optimized there...
22:09 jdv79 the lhc is pretty cool.
22:10 jdv79 not to mention f'in expensive
22:10 jdv79 higgs!
22:12 masak I hear the Higgs boson was discovered using Comic Sans.
22:12 jdv79 wut?!
22:13 RabidGravy Higgs Bozo
22:19 _nadim How does one get a non read only value out of a hash?
22:21 Begi2 joined #perl6
22:21 _nadim In a for loop, %h.kv -> $k, $v gives me a read only $v
22:22 El_Che _nadim: that's by design
22:22 _nadim OK then how do I do what i want
22:22 El_Che you want to change a value on the fly?
22:22 jdv79 is rw or is copy
22:23 El_Che or get only the index
22:23 _nadim jdv79: for %h.kv -> $k, $v is rw ?
22:23 El_Che key I mean
22:23 jdv79 is ro is optimizabler so...:)
22:23 jdv79 hencw being default
22:24 _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:)
22:24 masak _nadim: agreed, it should be clearly explained somewhere
22:24 dha I also agree!
22:24 jdv79 is rw to affect tbe orig.  is copy to not.  you know...
22:25 _nadim masak: it probably is ;)
22:27 gfldex there --> http://design.perl6.org/S06.html#Parameter_traits
22:29 _nadim I think we mean for Hashes and with an example ;)
22:29 _nadim I actually decided to not modfy in place, still good to know how to do it, thanks all
22:30 RabidGravy _nadm it's not specific to hashes
22:30 RabidGravy but itym,
22:32 RabidGravy 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␤»
22:33 RabidGravy which won't make the next person who looks at the code hate you quite so much
22:34 RabidGravy 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␤」
22:35 lucs How do I fix this perl6?: while "1 22 333" ~~ m:g/ (\S+) / { say ~$0 } # Prints 「1␤1␤1␤1…」
22:36 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?
22:37 Juerd m: "1 22 333".comb(/\S+/).join(":").say
22:37 camelia rakudo-moar cfb1f3: OUTPUT«1:22:333␤»
22:37 Juerd Although in this case I might just use split :P
22:37 lucs Juerd: Hmm... Nice. Thanks.
22:39 prammer joined #perl6
22:39 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;
22:39 _nadim m: my %h = f => 1, g => 2, h => 3;   for %h.values -> $v is rw { $v += 10 }; say %h;
22:39 camelia rakudo-moar cfb1f3: OUTPUT«f => 11, g => 12, h => 13␤»
22:39 _nadim if that code makes someone hate you, then that someone has a bigger problem than the code
22:40 jdv79 _nadim++
22:42 jvcakg joined #perl6
22:43 gfldex if you wish to concurrent, changing values in place might bite you
22:48 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 _nadim El_Che: something like that ;)
22:53 timotimo hm
22:53 timotimo now i can actually start the blog post )%
22:53 timotimo %)
22:58 masak 'night, #perl6
23:01 _nadim night
23:02 lucs m: "1 2 3".comb(/ $<num> = \S+ /).map({ say $<num> })  # Scope misunderstanding?
23:02 camelia rakudo-moar cfb1f3: OUTPUT«Nil␤Nil␤Nil␤»
23:03 timotimo lucs: $<foo> operates on $/, which you don't put as a parameter there
23:03 timotimo and you're not using :match in comb, so you're only getting a Str that you map over
23:03 timotimo m: "1 2 3".comb(/ $<num> = \S+ /, :match).map(-> $/ { say $<num> })
23:03 camelia rakudo-moar cfb1f3: OUTPUT«「1」␤「2」␤「3」␤»
23:03 lucs Yow, okay :)
23:04 lucs (I may just use $_ for simple cases.)
23:05 timotimo yeah, $_ also gives you the .<num> syntax
23:05 timotimo which is the same length as $<num>, too.
23:06 timotimo m: "1 2 3".comb(/ $<num> = \S+ /, :match).map({ say .<num> })
23:06 camelia rakudo-moar cfb1f3: OUTPUT«「1」␤「2」␤「3」␤»
23:06 lucs Ah, nice.
23:08 lucasb joined #perl6
23:10 lsm joined #perl6
23:10 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
23:11 Juerd Oh, I didn't know you did those :)
23:11 Juerd s/did/made/
23:11 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 :)
23:11 timotimo to be honest, liz did most of the recent ones :)
23:12 Juerd timotimo++ and liz++  # I really like reading the summaries
23:13 timotimo thank you :3
23:13 timotimo it means an alot to me to hear feedback like that
23:15 virtualsue joined #perl6
23:15 Juerd They're just about the right amount of text and it's a great way to stay informed
23:19 rjbs Shout out to p6 in the latest p5 release announcement, http://www.nntp.perl.org/group/perl.perl5.porters/2015/12/msg233475.html
23:22 timotimo rjbs: that'll just give trolls more fodder to hate us for killing off/taking over perl5
23:23 timotimo "now perl6 is even in the most hallowed perl5 release announcements!
23:23 sno joined #perl6
23:23 timotimo when will the tyranny end?!"
23:23 Juerd I thought Camelia would keep the trolls busy?
23:23 ab6tract joined #perl6
23:24 * Juerd <3 the Camelia rubber stamp
23:24 Juerd I'll take it to 32c3. Any of you going there?
23:24 Juerd I'll also bring it to FOSDEM
23:24 timotimo i won't be, but a friend of mine who will is sitting kind of right next to me
23:25 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.
23:25 ab6tract ah, nice :)
23:26 ab6tract i think sixdotoh release could do something similar... EPISODE VI : A NEW HOPE
23:26 ab6tract ;)
23:26 lucasb someone should run the afl fuzzer in moar too
23:27 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:29 ab6tract 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:30 ab6tract or face the might of this *fully operational* battle station
23:30 ab6tract ;)
23:31 Juerd Er...
23:31 Juerd Can we get back to butterflies and fun?
23:32 stmuk "Don't be too proud of this technological terror you've constructed"
23:32 stmuk :)
23:32 ab6tract stmuk++
23:32 ab6tract lol
23:33 ab6tract 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 Juerd Oh, these were references. I didn't notice. Carry on :)
23:35 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 skids joined #perl6
23:36 Juerd Phasers are fired
23:36 stmuk is it too late to change phasers to blasters?
23:36 ab6tract timotimo: both are correct. in fact, the previous can be considered a better wording because it avoids a to-be verb
23:36 timotimo 'k
23:37 timotimo 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 ab6tract maybe even better "which will fire when"
23:37 ab6tract but like so much in english, it doesn't really matter :)
23:37 timotimo ah, that's so much better
23:38 timotimo especially since you attach phasers to variables/subs with "will"
23:38 timotimo m: supply { my $conn will CLOSE { say "yay" } = 10; }
23:38 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…»
23:38 timotimo oh?
23:38 timotimo m: supply { my $conn will close { say "yay" } = 10; }
23:38 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…»
23:38 timotimo m: supply { CLOSE { say "yay" } }
23:38 camelia rakudo-moar cfb1f3: ( no output )
23:42 jdv79 advent post.  20 mins early.  i'm tired.  nite.
23:43 Juerd \o/
23:43 Juerd Good night!
23:44 ab6tract joined #perl6
23:46 ab6tract good night jdv79 !
23:47 ab6tract timotimo: strange that the trait form doesn't work :S
23:48 timotimo argh computer freezing again
23:50 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)␤»
23:50 Juerd Sorry, I tried...
23:51 ab6tract wait.. we have a thaw?
23:51 hankache joined #perl6
23:55 ab6tract no, we don't. phew
23:56 rurban_ joined #perl6
23:56 jdv79 just checked email and added an updae to the post
23:57 jdv79 nite for realz
23:57 Juerd Good night :)

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

Perl 6 | Reference Documentation | Rakudo