Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-10-27

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:06 leont joined #perl6
00:23 dalek ecosystem: 18ce27a | colomon++ | META.list:
00:23 dalek ecosystem: Move GD to perl6-community-modules
00:23 dalek ecosystem:
00:23 dalek ecosystem: This takes Coke++'s changes and adds a few additional tweaks.
00:23 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/18ce27a6d7
00:48 xenoterracide joined #perl6
00:52 test_ joined #perl6
00:57 xenoterracide_ joined #perl6
01:02 test_ left #perl6
01:12 xenoterracide_ joined #perl6
01:17 xenoterracide__ joined #perl6
01:39 xenoterracide__ joined #perl6
01:52 woshty joined #perl6
02:15 dayangkun joined #perl6
02:21 mauke_ joined #perl6
02:25 chenryn joined #perl6
02:25 mauke joined #perl6
02:28 mauke_ joined #perl6
02:41 chenryn_ joined #perl6
02:45 bjz_ joined #perl6
03:16 noganex_ joined #perl6
03:16 Mso150 joined #perl6
03:33 Ben_Goldberg joined #perl6
03:43 Exodist joined #perl6
03:46 woshty joined #perl6
03:52 xenoterracide joined #perl6
03:55 jack_rabbit joined #perl6
04:28 azawawi joined #perl6
04:28 azawawi hi
04:29 azawawi can anyone please add https://github.com/azawawi/totem to panda module list?
04:33 tony-o azawawi: i'll add it, what does it do?
04:36 dalek ecosystem: 6ab6d85 | tony-o++ | META.list:
04:36 dalek ecosystem: azawawi's totem -
04:36 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/6ab6d85ce0
04:36 mauke_ joined #perl6
04:37 tony-o .tell supernovous i'm trying to use xml::query and when i do .new(xml => $xml) i'm getting 'Cannot create an instance of that type', any clues?  Tests are now failing when I install from panda as well
04:37 yoleaux tony-o: I'll pass your message to supernovous.
04:37 tony-o .tell supernovus i'm trying to use xml::query and when i do .new(xml => $xml) i'm getting 'Cannot create an instance of that type', any clues?  Tests are now failing when I install from panda as well
04:37 yoleaux tony-o: I'll pass your message to supernovus.
04:38 tony-o carp.
04:46 ggoebel111111114 joined #perl6
05:02 chenryn_ joined #perl6
05:13 kaare_ joined #perl6
05:42 azawawi tony-o: thanks... smart web-based search bar experiment :)
05:42 azawawi tony-o: thanks
05:43 azawawi tony-o: it is basically autocompletion inside your mounted project files
05:44 azawawi tony-o: once we index them, you can match modules, files, create files, read docs through it
05:44 azawawi tony-o: currently it indexes modules in install/../site/lib
05:45 azawawi tony-o: think of it as a way to read code faster...
05:45 azawawi tony-o: later index all of http://modules.perl6.org/
05:45 * azawawi &
05:54 virtualsue joined #perl6
06:23 [Sno] joined #perl6
06:54 ptc_p6 joined #perl6
06:56 dayangkun joined #perl6
07:03 davido__ joined #perl6
07:03 kaleem joined #perl6
07:05 darutoko joined #perl6
07:32 Isp-sec joined #perl6
07:32 FROGGS joined #perl6
07:34 oskie left #perl6
07:35 rindolf joined #perl6
07:38 abraxxa joined #perl6
07:49 eiro joined #perl6
07:53 azawawi joined #perl6
07:53 azawawi hi
07:53 azawawi does this look right?
07:53 azawawi m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitdir($file); say +@lib;
07:53 camelia rakudo-moar 315ec6: OUTPUT«3␤»
07:54 FROGGS m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitdir($file); say @lib.perl;
07:54 azawawi m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitdir($file); say +@lib; say @lib[0] eq ''
07:54 camelia rakudo-moar 315ec6: OUTPUT«Array.new("", "dir1", "dir2")␤»
07:54 camelia rakudo-moar 315ec6: OUTPUT«3␤True␤»
07:55 FROGGS m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitpath($file); say @lib.perl;
07:55 camelia rakudo-moar 315ec6: OUTPUT«Array.new("", "/dir1/", "dir2")␤»
07:55 FROGGS ahh, that gives you volume + dirs + file
07:55 FROGGS m: my $file = '/dir1/dir2'; my @lib = $*SPEC.splitpath($file, :nofile); say @lib.perl;
07:55 camelia rakudo-moar 315ec6: OUTPUT«Array.new("", "/dir1/dir2", "")␤»
07:56 azawawi volume like C and D on win32... i see
07:56 * azawawi tries it on win32
07:57 lizmat S32/IO:597: "Unlike just splitting the directories on the separator, empty directory names (C<''>) can be returned, because these are significant on some OSes."
07:57 synopsebot Link: http://perlcabal.org/syn/S32/IO.html#line_597
07:58 azawawi http://rakudo.org/ is down btw from my side
07:58 lizmat S32-setting-library/IO:597 rather
07:59 lizmat azawawi: no problem here
07:59 azawawi now it is working...
07:59 azawawi i suspect a caching proxy in my ISP...
08:00 * azawawi begins to use Perl 6 @ work for various parsing & monitoring scripts :)
08:01 PZt joined #perl6
08:01 lizmat azawawi++
08:03 FROGGS ohh, nice :o)
08:04 FROGGS the stuff I did at the weekend also makes me think that I can use it for several tasks at work
08:04 azawawi m: my $file = 'C:/dir1/dir2'; my @lib = $*SPEC.splitdir($file); @lib.perl.say;
08:04 camelia rakudo-moar 315ec6: OUTPUT«Array.new("C:", "dir1", "dir2")␤»
08:04 zakharyas joined #perl6
08:04 FROGGS I build a Bailador webservice with Template::Mojo and DBIish... works nicely :o)
08:05 azawawi Baliador is built upon HTTP::Easy right?
08:05 azawawi Baildor... :)
08:05 FROGGS yeah
08:05 azawawi damn...
08:05 FROGGS *g*
08:06 FROGGS though, it takes about a second to deliver a simple page... I guess I should profile it at some point
08:06 lizmat_ joined #perl6
08:07 azawawi FROGGS: HTTP::Easy should be refactored to reuse HTTP::Message imho
08:07 azawawi sorry HTTP::Client :)
08:07 azawawi it is not my day today... :)
08:08 azawawi m: my $day = "today"; # :)
08:08 camelia rakudo-moar 315ec6: ( no output )
08:09 azawawi FROGGS: HTTP::UserAgent to be exact
08:09 rindolf joined #perl6
08:09 azawawi FROGGS: the parsing in HTTP::Easy is not 100% correct
08:17 FROGGS azawawi: yes, I am aware of that, but it works for now :o)
08:17 masak morning, #perl6
08:17 * masak is giving a course today
08:17 FROGGS but I'll work on that issue when the service is live
08:17 FROGGS masak: moin
08:19 brrt joined #perl6
08:20 moritz \o
08:21 virtualsue left #perl6
08:24 ptc_p6 joined #perl6
08:24 FROGGS hi moritz
08:27 ugator joined #perl6
08:28 spider-mario joined #perl6
08:33 cognominal joined #perl6
08:36 virtualsue joined #perl6
08:39 lizmat joined #perl6
08:39 mauke_ joined #perl6
08:42 lizmat_ joined #perl6
08:42 mauke joined #perl6
08:48 lizmat joined #perl6
08:49 lizmat__ joined #perl6
08:50 lizmat joined #perl6
08:51 lizmat___ joined #perl6
08:53 lizmat_ joined #perl6
09:00 moritz my $ende =
09:00 moritz $ehour == 24
09:00 moritz && $eminute == 0
09:00 moritz ? unixtime( $year, $month, $day, 0, 0, 0 ) + 24 * 60**2
09:00 moritz : unixtime( $year, $month, $day, $ehour, $eminute, 0 );
09:00 moritz who can spot the bug? :-)
09:02 lizmat joined #perl6
09:03 chenryn_ joined #perl6
09:04 brrt unixtime arguments are funky? /me can't recall how they go at any rate
09:04 mauke_ joined #perl6
09:06 kurahaupo joined #perl6
09:09 moritz brrt: no, the bug is the 24 * 60**2
09:09 moritz assuming that a day has 24 hours
09:09 moritz yesterday didn't.
09:09 moritz (at least in CET/CEST land)
09:10 mauke joined #perl6
09:10 brrt :-D
09:10 brrt nice
09:10 brrt uhm..... hmm
09:10 brrt how do you propose fixing it?
09:13 moritz brrt: in this case I fixed it by calculating the next day using Date::Calc::Add_Delta_YMD
09:14 brrt hmm
09:14 brrt yes
09:14 moritz my ($y, $m, $d) = Add_Delta_YMD($year, $month, $day, 0, 0, 1);  and then unixtime($y, $m, $d, 0, 0, 0)
09:15 lizmat_ joined #perl6
09:15 kjs_ joined #perl6
09:16 ab5tract joined #perl6
09:18 rurban joined #perl6
09:18 rmgk_ joined #perl6
09:22 sftp joined #perl6
09:24 Mso150 joined #perl6
09:30 mauke_ joined #perl6
09:38 brrt joined #perl6
09:39 dayangkun joined #perl6
09:45 lizmat joined #perl6
09:48 tadzik wow, FRA now has a wifi
09:50 FROGGS tadzik: how do you know?
09:50 tadzik FROGGS: I found one :D
09:50 tadzik good guy t-mobile provides one
09:51 FROGGS tadzik: what are you doing in FRA?
09:51 tadzik FROGGS: getting back home from moritz++'s place :)
09:51 FROGGS ohh, nice
09:51 tadzik FRA is of course on the way from NUE to WAW
09:52 FROGGS off course, aye
09:52 tadzik I'm sure that if I flew from Warsaw to Australia FRA would also be on the way :D
09:52 tadzik https://metacpan.org/pod/Devel::DidYouMean perl 5 catching up :P
09:54 TuxCM joined #perl6
09:57 FROGGS *g*
09:57 FROGGS tadzik: can you help me later this week getting the cpandatesters live on feather or so?
09:58 tadzik FROGGS: sure
09:58 FROGGS awesome :o)
09:58 tadzik while we're at it we can also move the modules API somewhere outside my /home
10:02 lizmat_ joined #perl6
10:06 masak Devel::DidYouMean only does function and method calls.
10:07 masak Perl 6 does all declared things :)
10:10 JimmyZ joined #perl6
10:11 pecastro joined #perl6
10:15 moritz nope, not methods (iirc)
10:15 moritz m: say 'abc'.spit(/b/)
10:15 camelia rakudo-moar 315ec6: OUTPUT«No such method 'spit' for invocant of type 'Str'␤  in block <unit> at /tmp/mUhxBPBCs4:1␤␤»
10:16 lizmat joined #perl6
10:23 chenryn_ joined #perl6
10:29 salv0 joined #perl6
10:32 lizmat methods is on my todo list
10:33 kurahaupo joined #perl6
10:34 * FROGGS .oO( methods is on my List $todo )
10:34 lizmat you french person, you!
10:35 FROGGS O.o
10:35 kurahaupo left #perl6
10:36 lizmat ok, so I just pushed a fix to File::Find (for when dir() returns Str)
10:37 lizmat how do I get that back in ext/File__Find in panda ?
10:37 lizmat just do the same change ?
10:39 moritz iirc that's a submodule
10:39 moritz so git submodule update or something like that
10:39 moritz (it's documented in the star release guide, the same applies for panda too)
10:47 lizmat so where does the star release guid live ?  can't seem to find it in the rakudo star repo  :-(
10:47 FROGGS lizmat: https://github.com/rakudo/star/blob/​master/tools/star/release-guide.pod
10:47 lizmat ah, so not under docs  :(
10:47 FROGGS the command is: git submodule foreach git pull origin master
10:48 lizmat and then I need to commit?
10:49 moritz yes
10:49 lizmat FROGGS++ moritz++
10:49 FROGGS :o)
10:50 dalek panda: c42053e | (Elizabeth Mattijsen)++ | ext/ (3 files):
10:50 dalek panda: Bring submodules up to date
10:50 dalek panda: review: https://github.com/tadzik/panda/commit/c42053e57f
10:54 lizmat FROGGS: I'm considering implementing "use fatal" using the same approach you use for "use strict"
10:55 FROGGS lizmat: what does 'use fatal' actually do?
10:55 lizmat throw any warnings in that scope automatically
10:55 moritz s/fail/die/ basically
10:55 lizmat m: say try +"foo"   # should say 0
10:55 camelia rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤  in method gist at src/gen/m-CORE.setting:13672␤  in sub say at src/gen/m-CORE.setting:15862␤  in block <unit> at /tmp/29k0TD3Ee0:1␤␤»
10:56 lizmat the reason the above fails, is that the Failure is being returned by the try
10:56 lizmat compare with:
10:56 lizmat m: say try die
10:56 camelia rakudo-moar 315ec6: OUTPUT«Nil␤»
10:56 moritz then it should also say Nil
10:56 moritz because it's not a warning
10:57 lizmat m: say try +"foo"; say "this should be said, but isn't"
10:57 camelia rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤  in method gist at src/gen/m-CORE.setting:13672␤  in sub say at src/gen/m-CORE.setting:15862␤  in block <unit> at /tmp/uuzEe7_n7K:1␤␤»
10:58 lizmat actually, it is supposed to return 0 according to spec
10:58 lizmat m: say try (+"foo").throw   # the effect of "use fatal"
10:58 camelia rakudo-moar 315ec6: OUTPUT«Nil␤»
10:58 lizmat hmmm....
10:58 lizmat anyways, first make sure the failure gets thrown, then caught by try
11:00 lizmat FROGGS, moritz: my question is: for 'use strict', you use a dynamic variable in the grammar
11:00 lizmat how can I expose such a variable at runtima?
11:00 lizmat in Perl6 space, when the exception is being handled ?
11:00 FROGGS hmmm
11:01 lizmat FWIW, the same approach I would like to use for 'use lib'
11:01 FROGGS I'm not sure
11:01 lizmat :-(
11:02 moritz lizmat: I guess you'll have to install a new lexical symbol for each scope in which the thinig changes
11:03 lizmat a new dynamic var...
11:03 lizmat hmm....
11:03 lizmat $*W.install_lexical_symbol  I assume
11:04 lizmat or, maybe I should do it the other way around: that the runtime looks up the grammar lexical ?
11:04 moritz iirc EXPORT can return a hash (or pair list) of symbols to be installed in the use'rs lexpad
11:05 FROGGS lizmat: I don't think that will work
11:05 moritz dunno if that works for variables yet
11:05 moritz but it could be made to work for variables
11:05 moritz and then you'd have a pretty generic mechanism
11:05 moritz and lib.pm6's EXPORT could just return a new @INC
11:05 kurahaupo joined #perl6
11:05 FROGGS moritz: EXPORT can export vars
11:05 moritz that's a copy + the new elems
11:06 lizmat problem is that EXPORT is done at runtime
11:06 lizmat I need the @*INC at compile time
11:06 FROGGS problem is, that it explodes for the @INC case, because @INC is already declared in the target
11:06 moritz FROGGS: huh? should be declared in an outer scope
11:06 FROGGS moritz: not always
11:07 moritz lizmat: huh? EXPORT should be called at compile time
11:07 FROGGS lizmat: what moritz says
11:07 moritz lizmat: I mean, it needs to know the list of symbols to export at compile time
11:07 moritz at run time, the lexpad is immutable
11:07 lizmat ok, well, I tried doing that with @*INC some times already, and I couldn't get it to work
11:08 lizmat in any case, I think installing the lexical feels better
11:09 moritz that seems to work-ish
11:09 FROGGS lizmat: yes, for transferring parser state you'd need a special lexical, aye
11:10 moritz lunch&
11:11 lizmat FROGGS: so what is $?STRICT ?
11:11 lizmat 1071 in Grammar: if $have_outer && $*UNIT_OUTER.symbol('$?STRICT') {
11:12 FROGGS that's for the case where the outer has installed that compile time var... I'm not sure if we are installing it at all atm
11:12 FROGGS but we need something like that for EVAL for example
11:17 lizmat it's not installed
11:19 lizmat FROGGS: should line 1072 not read $?STRICT as well then ?
11:20 kurahaupo joined #perl6
11:20 lizmat -                $*STRICT := $*W.force_value($*UNIT_OUTER.symbol('$*STRICT'), '$
11:20 lizmat +                $*STRICT := $*W.force_value($*UNIT_OUTER.symbol('$?STRICT'), '$
11:26 woshty joined #perl6
11:31 zakharyas joined #perl6
11:52 JimmyZ joined #perl6
11:56 lizmat lunch&
11:59 FROGGS lizmat: I can't tell without tests
12:05 ghostlines joined #perl6
12:06 ghostlines joined #perl6
12:09 timotimo https://www.reddit.com/r/perl6/comment​s/2kg75z/getting_started_with_perl_6/
12:13 araujo joined #perl6
12:13 araujo joined #perl6
12:14 moritz timotimo: I've replied
12:15 timotimo thanks :)
12:15 timotimo should i go over the whole 5-to-6 document to try and spot out-of-dateness?
12:15 JimmyZ authorized Reply!
12:16 timotimo "i am moritz lenz, and i approve of this message"
12:16 JimmyZ :P
12:17 timotimo moritz: does the "() is a list because special cased" fact have a place at the end of the sentence "1, is a list, (1) isn't."?
12:17 moritz timotimo: wouldn't hurt, though iirc I've done that not-too-long ago
12:17 moritz timotimo: IMHO yes
12:18 brrt moritz++
12:18 moritz timotimo: https://github.com/moritz/perlgeek​.de/tree/master/other/perl-5-to-6 has the sources, if you want to patch anything
12:18 timotimo thanks :)
12:18 timotimo it'd be interesting to note somewhere that %foo<bar baz> is actually %foo{'bar', 'baz'} rather than %foo{'bar baz'}
12:18 FROGGS who blogged recentish about reading material about perl6?
12:19 timotimo vendethiel did a lightning talk
12:19 timotimo but i guess that's implied with "auto quoting"
12:19 FROGGS ohh, right
12:20 timotimo moritz: how should i handle the date part of the articles? should i bump the date when i change stuff?
12:20 FROGGS vendethiel: can you respond to [1] with links to reading material about Perl 6 from your talk at the apw? [1] https://www.reddit.com/r/perl6/comment​s/2kg75z/getting_started_with_perl_6/
12:20 timotimo like, in one place it says the output of $x.WHAT is 'Int()', whereas nowadays it would be '(Int)' - does that warrant a date bump?
12:24 moritz timotimo: don't bump it
12:24 timotimo OK
12:24 moritz timotimo: also, there are some small things that I have fixed in the .pod files, but haven't re-generated the HTML yet
12:24 timotimo fair enough
12:25 moritz timotimo: so if you proof-read, please do it with the .pod files
12:25 timotimo ah
12:25 timotimo makes sense, will do.
12:28 denis_boyun_ joined #perl6
12:32 * brrt brb
12:34 [Coke] colomon: I would like a commit bit to perl6-community-modules
12:35 colomon [Coke]: think I just sent an invitation to you.
12:35 * colomon has never done that before, and may have done it wrong
12:37 lizmat_ joined #perl6
12:38 colomon \o/
12:40 lizmat__ joined #perl6
12:41 dalek perl6-GD: e53deac | coke++ | t/00-load.t:
12:41 dalek perl6-GD: fix typo
12:41 dalek perl6-GD: review: https://github.com/perl6-community-​modules/perl6-GD/commit/e53deac931
12:41 [Coke] ^^ I added webhooks for all the community owned modules.
12:42 colomon [Coke]++ # typo
12:42 colomon webhooks?
12:42 colomon oh!
12:42 leont joined #perl6
12:42 colomon you mean we get reporting on commits now?
12:43 [Coke] a post-commit hook for the web.
12:43 [Coke] colomon++ yes.
12:43 [Coke] if you want to do that for any new modules, just copy the webhook.
12:45 brrt joined #perl6
12:46 lizmat joined #perl6
12:46 dalek roast: 2cba5c0 | usev6++ | S02-names-vars/perl.t:
12:46 dalek roast: Separate test for RT #123048
12:46 dalek roast: review: https://github.com/perl6/roast/commit/2cba5c0ede
12:46 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123048
12:48 colomon [Coke]: how do you do that?
12:49 colomon Ah, think I found it.
12:49 colomon [Coke]++
12:49 lizmat_ joined #perl6
12:51 rurban joined #perl6
12:53 lizmat joined #perl6
12:58 timotimo m: my Junction $b = 3 | 2; my $a = 2; say "Yes" if   $a != $b; say "Yes2" if !($a == $b);
12:58 camelia rakudo-moar 315ec6: ( no output )
12:58 fhelmberger joined #perl6
12:58 timotimo moritz: that's an example from inside 08-junctions.pod
12:58 timotimo the docs expect the output to be Yes
13:00 timotimo m: say [1, 2] === [1, 2]
13:00 camelia rakudo-moar 315ec6: OUTPUT«False␤»
13:01 moritz timotimo: that's an out-of-date-o
13:01 timotimo yup
13:01 timotimo would you like to rephrase that example + paragraph?
13:01 * lizmat feels stupid
13:02 lizmat I just managed to upgrade our live web server instead of our test webserver  :-(
13:02 moritz timotimo: I'm currently at $work, and can't put much thought into it right now
13:02 moritz timotimo: if you don't feel like rephrasing it, please open me a GH issue
13:02 timotimo will do
13:03 timotimo so far, most changes i've made have been turning Perl 6 into Perl 6
13:03 timotimo :P
13:03 timotimo and the github editor doesn't give me a diff before i do the commit, so the commit messages are all useless
13:03 timotimo i'll rebase them locally and do some squashes/rewords
13:03 moritz lizmat: happens to everybody :-)
13:06 timotimo i think i feel stupid more often than i feel smart
13:07 arnsholt I definitely feel stupid more often than I feel smart
13:07 rindolf joined #perl6
13:09 timotimo i might even feel stupid more often than i feel either normal or smart
13:09 guru joined #perl6
13:10 timotimo m: $_ = "test"; say :e
13:10 camelia rakudo-moar 315ec6: OUTPUT«Unexpected named parameter 'e' passed␤  in sub say at src/gen/m-CORE.setting:15859␤  in block <unit> at /tmp/ZWjierrwry:1␤␤»
13:10 timotimo m: $_ = "test"; say (:e)
13:10 camelia rakudo-moar 315ec6: OUTPUT«"e" => Bool::True␤»
13:10 timotimo m: $_ = "test"; say (so :e)
13:10 camelia rakudo-moar 315ec6: OUTPUT«True␤»
13:10 timotimo 11-basic-operators.pod seems to think :e is still the file test thingie
13:11 * timotimo rewrites
13:16 timotimo m: my $ls = lazy { sleep 10 }
13:17 camelia rakudo-moar 315ec6: ( no output )
13:17 timotimo m: my $ls = lazy { sleep 5 }; say "nothing done"
13:17 camelia rakudo-moar 315ec6: OUTPUT«nothing done␤»
13:17 timotimo moritz: should i point out that this is NYI?
13:19 [Coke] m: so lazy sleep for now
13:19 camelia rakudo-moar 315ec6: OUTPUT«(timeout)»
13:21 rurban p: my $ls = lazy { sleep 5 }; say "nothing done"
13:22 camelia rakudo-parrot 315ec6: OUTPUT«nothing done␤»
13:22 itz joined #perl6
13:22 moritz timotimo: or remove any mention of lazy { }
13:25 timotimo moritz: what about circumfix operators that "are thus implemented as macros"?
13:25 timotimo is there any case at all left where an operator is actually a method rather than a sub?
13:26 lizmat () afaik
13:26 timotimo ah, of course
13:26 lizmat you did mean postcircumfix, no?
13:26 timotimo nope
13:27 timotimo the 5-to-6 article suggests the circumfix < > operator is implemented as an "is parsed" macro
13:27 moritz that's wrong; it's just a special, syntactic construct
13:27 timotimo i'll just kill the whole section
13:28 moritz +1
13:29 ugator joined #perl6
13:30 moritz timotimo++
13:32 virtualsue joined #perl6
13:33 timotimo hm
13:33 timotimo std: enum bit Bool <False True>
13:33 camelia std 14ad63b: OUTPUT«[31m===[0mSORRY![31m===[0m�Illegal redeclaration of symbol 'bit' (see line 1) at /tmp/dchFYiNkST line 1:�------> [32menum bit[33m�[31m Bool <False True>[0m�Two terms in a row at /tmp/dchFYiNkST line 1:�------> [32menum bit [33m�[31mBool <Fa…»
13:35 timotimo m: enum Hackers :Larry<Perl>, :Guido<Python>, :Paul<Lisp>; say Larry.perl;
13:35 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/haDLl1Pm2gâ�¤Undeclared names:â�¤    Hackers used at line 1â�¤    Larry used at line 1â�¤Undeclared routine:â�¤    enum used at line 1â�¤â�¤Â»
13:35 timotimo m: enum Hackers (:Larry<Perl>, :Guido<Python>, :Paul<Lisp>); say Larry.perl;
13:35 camelia rakudo-moar 315ec6: OUTPUT«Hackers::Larry␤»
13:35 timotimo mhm, mhm.
13:38 lizmat_ joined #perl6
13:41 brrt timotimo - which paul is that? :-)
13:42 rurban Paul Graham
13:42 brrt oh.. that's not a real hacker imho
13:43 rurban Agree, He was never part of the LISP community. Just wrote books, and his own website
13:43 rurban but he is a serious macro hacker
13:45 brrt i have one of his books, and it scar(r)ed me from common lisp
13:47 timotimo moritz: if you tell me when those changes are likely to hit your website, i'll mention my little proofreading effort in that reddit post
13:47 rurban Really? I met him personally and liked that his simple ANI Common LISP book wss so approachable to beginners. The fellow lisp hackers didn't like it for this.
13:48 rurban the macro book "On Lisp" is pretty hardcore
13:48 timotimo at the moment i also have the perl6 most wanted project open in two tabs and i'm meaning to link to a few modules from there
13:48 moritz timotimo: I can update it tonight
13:48 timotimo cool.
13:49 kaleem joined #perl6
13:49 kjs_ joined #perl6
13:50 timotimo done
13:50 brrt rurban - it's terribly offtopic, my experience wasn't per se that it wasn't accessible
13:50 brrt it just makes clisp come off as a terribly impractical language
13:50 brrt as in
13:51 brrt i'd rather write the same stuff in perl / python or even java
13:51 brrt because if you're writing stuff wherein the accidental complexitiy dominates the essential complexity, you're not writing the right stuff
13:53 brrt (the assumption being that macro's help you avoid accidental complexity but not the essential complexity)
13:53 brrt oh, is the flip-flop test flappy?
13:54 brrt or does it use bit shifting?
13:56 timotimo has anybody thought about advent calendar posts for this year yet?
13:56 timotimo me or tadzik (or both of us) should probably write one (or multiple) articles on game development with what we have nowadays on perl6
13:57 FROGGS +1
13:57 FROGGS no, I'd probably write about cpandatesters
13:57 moritz timotimo: I have; I'd be happy to write about the MoarVM profiler (though jnthn++ would get priority here)
13:57 FROGGS err, s/no//
13:58 zakharyas joined #perl6
13:58 [Coke] PerlJam: octover?
13:58 FROGGS there is a lot to write about this year me thinks
14:02 thou joined #perl6
14:03 brrt yes
14:07 b2gills If I knew how to write NQP I'm fairly sure I've nailed down how to fix `enum Phonetic (:Alpha<A>, <Beta Charlie>)`
14:07 b2gills If I replace the line on https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Actions.nqp#L3292
14:07 b2gills @values.push($*W.compile_time_evaluate($<term>, $_));
14:07 b2gills with `@values.push($_[0][0]);@values.push($_[0][1]);` that example works
14:10 colomon smoke test keeps on hanging when run from cron.  does fine if run by hand.  :/
14:11 dalek perl6-roast-data: ab73248 | coke++ | / (5 files):
14:11 dalek perl6-roast-data: today (automated commit)
14:11 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/ab73248e5c
14:11 dalek perl6-roast-data: c7230e3 | coke++ | / (5 files):
14:11 dalek perl6-roast-data: today (automated commit)
14:11 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/c7230e3d37
14:12 [Coke] 44 JVM failures; 32045 failures in moarvm-jit, 37 failures in moarvm-nojit, 45 failures in parrot
14:14 brrt wow! what the hell
14:15 lizmat_ que?
14:15 brrt moarvm jit being bad
14:16 brrt fwiw, my own spectest run wasn't that bad
14:16 lizmat [Coke] which commit?
14:16 rurban 45 for parrot is also pretty heavy. 36 from S22-package-format/local which passes for me
14:17 lizmat S22 is probably my fault in some way
14:17 brrt hmm
14:17 brrt i want to know why the JIT died
14:18 brrt and in what context
14:18 timotimo brrt: it's possibly my implementation of the multicache* ops that tried to pass one more arg than i actually allocated in that buffer
14:18 Ven_ joined #perl6
14:18 timotimo that was really pretty wrong
14:18 Ven_ FROGGS: I refuse to use reddit :-)
14:18 Ven_ hello, #perl6.
14:21 brrt \o Ven_
14:21 brrt timotimo - let me check those ops :-)
14:21 Ven_ brrt: if you tried to start CL using "on lisp", then yes, I feel you
14:21 timotimo brrt: i fixed them already
14:22 Ven_ brrt: you might want to try "practical common lisp" :)
14:22 brrt i used 'ansi common lisp' iirc
14:22 timotimo ./perl6-m: No such file or directory
14:22 Ven_ it's very old now, isn't it?
14:23 timotimo kind of hard to pass the spec tests if your compiler doesn't build any more
14:23 FROGGS Ven_: np, can you put your slides online?
14:23 Ven_ FROGGS: they are online already. link is on the apw website
14:23 FROGGS ohh
14:23 Ven_ *g*
14:24 brrt they look good to me timotimo
14:24 FROGGS Ven_: where? I just see that: http://act.useperl.at/apw2014/event/1616
14:25 Ven_ FROGGS: in "presentations". http://act.useperl.at/apw2014/talk/5833
14:26 FROGGS Ven_: thansk
14:26 FROGGS thanks*
14:27 timotimo brrt: keep in mind i just fixed them a few hours ago
14:27 timotimo whereas cokes spec test run may have run before that
14:27 brrt ah ok
14:27 brrt i did not know that
14:27 brrt you can excuse me for feeling responsible for all that is JIT
14:27 [Coke] lizmat: a372592 was good jit, a07bdab was bad jit
14:27 timotimo :)
14:27 brrt could well be that [Coke]++ uncovered some edge case I haven't seen yet
14:28 lizmat a07bdab is a docs commit ???
14:28 [Coke] there was a commit in the past few hours that might fix it? re-checking with latest...
14:28 [Coke] lizmat: those are just boundaries.
14:28 [Coke] whenever I happened to kick off the runs.
14:29 lizmat ok
14:29 brrt let's hope so
14:30 gtodd nqp is pretty cool ... :-)
14:30 * gtodd just figured that out
14:31 gtodd soo .... why do we need perl6 if we have nqp?  :-D
14:31 moritz gtodd: because NQP doesn't have listops
14:31 gtodd :-D
14:31 lizmat or assignment ?
14:31 gtodd I know there was something the "NQ" part hehe
14:32 moritz also, I get tired of typing nqp:: eventually :-)
14:32 gtodd :)
14:33 gtodd but since it is so useful .... it would seem NQP would essential for implementing any Perl6 compiler
14:33 gtodd or is it just the way to implement a rakudo backend ? :-)
14:34 JimmyZ there is a rubyish and phpish compiler too
14:34 kaare_ joined #perl6
14:34 rindolf joined #perl6
14:34 JimmyZ *are
14:34 gtodd right
14:34 moritz gtodd: well, niecza tried without an intermediate step
14:36 gtodd moritz:  yeah that's sort of what I was thinking about ... if another .NET variant of perl6 was going to come to life would nqp be in the mix
14:37 gtodd I'm guessing there are advantages to each approach ...
14:37 [Coke] timotimo: yes, HEAD seems fine.
14:37 JimmyZ .oO(6model was firstly implemented in .NET)
14:37 brrt pfew
14:41 timotimo thank you, [Coke]
14:41 [Coke] spectests still using "winner"
14:43 gtodd JimmyZ: It's all a blur ... I was just going through the Edument slides on 6model  and had some slides about Moose open on another desktop at the same time .... :-)
14:43 molaf joined #perl6
14:50 bcode joined #perl6
14:52 gtodd anyway I look forward to future installments in the nqp-[<backend>]  story
14:53 colomon woah, JSON::RPC depends on a LOT of modules
14:56 colomon and works.  :\
14:57 chenryn joined #perl6
14:58 * colomon just installed a cron to be run every hour, so he can test this closer to the source
15:00 FROGGS colomon: how are your feelings about emmentaler vs. cpandatesters btw?
15:00 colomon FROGGS: I've got no clue about cpandatesters
15:00 FROGGS (I know, cpandatesters is not online yet, so it is probably hard to judge)
15:00 colomon it's got a cute name
15:01 FROGGS colomon: it like like this: http://froggs.de/perl6/cpantesters/
15:01 FROGGS and when all goes well it will be online this week
15:01 FROGGS but it is only valuable when we get reports from different machines/users/compiler versiosn
15:01 FROGGS versions*
15:03 colomon Seems valuable but (at least at first glance) completely different in scope?
15:03 PerlJam cpan-date-sters?  :)
15:04 FROGGS colomon: what's the scope of emmentaler then?
15:04 FROGGS PerlJam: :P
15:05 immortal joined #perl6
15:05 immortal joined #perl6
15:06 moritz lexical!
15:07 FROGGS lexical cheese?
15:08 moritz with the holes analyzable at compile time
15:10 FROGGS I bet the holes also get autovivified over time
15:10 * FROGGS .oO( resists to make a pun about Brie and runtime, because that probably only work in German )
15:11 guru joined #perl6
15:15 treehug88 joined #perl6
15:17 colomon FROGGS: sorry for disappearing there
15:17 pmichaud good morning, #perl6
15:17 FROGGS colomon: np, I do not expect immediate reponses on irc :o)
15:17 moritz good am, pm
15:17 FROGGS hi pmichaud
15:18 colomon FROGGS: Am I correctly understanding the idea is to capture information on module installs?
15:19 colomon just as a for instance difference, the smoke tester is running all modules against the HEAD of rakudo moar.
15:20 FROGGS colomon: it captures module install attempts, aye
15:20 FROGGS colomon: but I don't see why panda would forbid attempting a (re)installation of all modules
15:21 colomon so ( at least as shown there ) cpandatesters is telling you how things work against the latest relase
15:21 FROGGS I mean, we can allow it easily
15:21 FROGGS colomon: not only against the latest release, against the compiler version one is currently using
15:22 FROGGS colomon: the shown page is just a mockup; the generated page on my box already show more information
15:23 colomon I dunno, cpandatesters is clearly an awesome idea.
15:24 colomon it seems more like it's something that goes alongside emmentaler rather than replacing it.  but maybe I'm wrong and I'll not have to check each morning to find out what's gone wrong with the emmentaler.  :)
15:25 FROGGS colomon: that's why I want to talk to you... I don't want to kill emmentaler, but I also want to know what I can steal from it :o)
15:25 pmichaud I'm getting spectest errors on my system (using moarvm)... are these known/expected?
15:26 pmichaud flip-flop.t and local.t
15:26 moritz not known to me
15:26 FROGGS flip-flop was mentioned today already (either here or on #moarvm)
15:26 lizmat S22 is locat.t, right?
15:26 pmichaud yes, S22
15:26 lizmat I probably messed that up  :-(
15:27 chenryn I try to run perl6-bench, and the `bench time $CHECKOUTS` hang at `15/65: Testing while_pushme ...` of nqp-moar/2014.10 fro several hours. Anyone knows the reason?
15:27 moritz flip-flop.t was modified yesterday
15:27 lizmat it also appears that my inadvertent upgrade of our web server to Yosemite, removed all of the database files that were on the system
15:27 lizmat thank you &^$%&^%*&Y()*_ much, Apple!
15:28 FROGGS timotimo: do you know about chenryn's problem?
15:28 * lizmat goes offline a bit to consider her sins
15:28 FROGGS eww
15:30 MilkmanDan joined #perl6
15:33 colomon FROGGS: … yeah, trying to think how I can explain what I know.
15:33 FROGGS we can also do that as soon cpandatesters is online...
15:36 colomon FROGGS: I guess the first thing is, expect noise.  :)
15:36 FROGGS yeah, probably
15:36 dalek roast: f4efeee | pmichaud++ | S03-operators/flip-flop.t:
15:36 dalek roast: Change flip-flop.t test from 'todo' to 'skip' to avoid spectest failure.
15:36 dalek roast: review: https://github.com/perl6/roast/commit/f4efeee07a
15:36 colomon switching subjects (slighjtly)
15:36 colomon here's the command that's hanging for me in my emmentaler runs (but only from cron):
15:37 colomon (whoops)  /bin/sh -c /home/smoker/.rakudobrew/m​oar-HEAD/install/bin/perl6 --target=mbc --output=blib/lib/JSON/RPC/Server.pm.moarvm lib/JSON/RPC/Server.pm
15:37 colomon guess you can't start an IRC line with a slash
15:37 arnsholt /Yes you can =)
15:37 arnsholt But you have to send "/ /Stuff"
15:39 colomon anyway, my (big linux box with lots of RAM) machine has spent the last 30 minutes trying to execute that
15:39 FROGGS colomon: that could be an issue with your ENV, because that's quite different when running using cron
15:39 brrt / /foo
15:39 brrt hmm
15:40 colomon FROGGS: yes, I'm guessing that, but what could cause a perl6 compile to hang like that?
15:40 japhb chenryn: What OS are you running on, what CPU, and how much RAM?
15:40 FROGGS colomon: BEGIN blocks?
15:41 moritz colomon: precompilation bugs, maybe
15:41 brrt lizmat, wrt to: "thank you &^$%&^%*&Y()*_ much, Apple!thank you &^$%&^%*&Y()*_ much, Apple!"
15:41 * brrt so totally feels
15:41 japhb .ask timotimo Can you make a perl6-bench mini-benchmark out of the AST benchmark you've been playing with?
15:41 yoleaux japhb: I'll pass your message to timotimo.
15:41 FROGGS m: say <0.0.3 1.0.0>.sort(:by({ Version.new($^a) cmp Version.new($^b)}))
15:41 camelia rakudo-moar 315ec6: OUTPUT«0.0.3 1.0.0␤»
15:41 japhb brrt: What was her rant in reference to?
15:41 FROGGS m: say <0.0.3 1.0.0>.sort(:by({ Version.new($^b) cmp Version.new($^a)}))
15:41 camelia rakudo-moar 315ec6: OUTPUT«0.0.3 1.0.0␤»
15:41 FROGGS why is that the same?
15:41 psch joined #perl6
15:42 chenryn 2.6.32-431.11.2.el6  Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz 32GB ram
15:42 Ven_ "NYM"?
15:42 brrt something about an update removing all database files
15:42 brrt that's not my personal problem with os x, but i have others
15:42 moritz m: say <0.0.3 1.0.0>.sort({Version.new($^b) cmp Version.new($^a)}))
15:42 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1QUu29WBFL�Unexpected closing bracket�at /tmp/1QUu29WBFL:1�------> [32m{Version.new($^b) cmp Version.new($^a)})[33m�[31m)[0m�»
15:42 moritz m: say <0.0.3 1.0.0>.sort({Version.new($^b) cmp Version.new($^a)})
15:42 camelia rakudo-moar 315ec6: OUTPUT«1.0.0 0.0.3␤»
15:42 moritz m: say <0.0.3 1.0.0>.sort({Version.new($^a) cmp Version.new($^b)})
15:42 camelia rakudo-moar 315ec6: OUTPUT«0.0.3 1.0.0␤»
15:42 FROGGS hmmm
15:42 moritz FROGGS: seems that :by is ignored
15:43 moritz looks like a fossil from the days where positional arguments could be filled by name
15:43 FROGGS rakudo/src/core/List.pm:399:    method sort($by = &infix:<cmp>) {
15:43 FROGGS ahh, it's not a named
15:43 moritz FROGGS: yes, it's not :$by
15:43 FROGGS moritz++
15:43 japhb chenryn: Woah, they're still patching RHEL/CentOS 6?  Sheesh.
15:43 japhb But OK, that should be no problem CPU or RAM wise, hmmm.
15:44 japhb And you're not running anything else that would cause swapping or chew all the CPU?
15:46 japhb .tell timotimo Actually, both before and after microoptimizations would be good to have, because that shows how much work the user is having to do that the compiler should be doing ... and how much better it performs with user assistance.
15:46 yoleaux japhb: I'll pass your message to timotimo.
15:51 psch Ven_: "not yet merged" - but further discussion delayed the PR
15:51 psch Ven_: so i guess it should read 'NYI' again
15:51 Ven_ psch: mmh
15:51 Ven_ oh.
15:52 psch also hi #perl6, and sorry for the oversight in flip-flop.t
15:52 chenryn of course no. And when I delete nqp-moar from $CHECKOUTS, I saw `rakudo-moar` run at `56/65: Testing parse-json-no-obj-creation ...` right now.
15:54 chenryn my $CHECKOUTS='perl5/v5.20.1 nqp-moar/2014.10 rakudo-moar/2014.10' before, and only 'perl5/v5.20.1 rakudo-moar/2014.10' now.
15:55 grettis joined #perl6
16:01 TimToady m: 42
16:01 camelia rakudo-moar 315ec6: ( no output )
16:01 TimToady m: 42;43
16:01 camelia rakudo-moar 315ec6: OUTPUT«WARNINGS:␤Useless use of constant integer 42 in sink context (line 1)␤»
16:01 TimToady m: 42.0; 43.0
16:01 camelia rakudo-moar 315ec6: ( no output )
16:01 TimToady missing diagnostic for rats
16:01 TimToady LHF for someone
16:04 pmichaud m: ($_ * 2 if .odd for 0..10).perl.say
16:04 camelia rakudo-moar 315ec6: OUTPUT«No such method 'odd' for invocant of type 'Int'␤  in block <unit> at /tmp/7C86gN0n4u:1␤␤»
16:04 pmichaud m: ($_ * 2 if $_ %% 2 for 0..10).perl.say
16:04 camelia rakudo-moar 315ec6: OUTPUT«(0, 4, 8, 12, 16, 20).list␤»
16:08 TimToady pmichaud: I note that change the current Nil to () there will tend to spit out extra () under our new list semantics
16:09 pmichaud TimToady: except I'd expect the 'for' to flatten those out.
16:09 TimToady for flattens its input, not its output, I think
16:10 pmichaud oh
16:10 pmichaud yes.
16:10 pmichaud anyway, yes, that's what I'm working on ATM
16:11 TimToady an argument could still be made that we need a return value that always disappears in lists
16:11 pmichaud feel free to make that argument.  :)
16:12 FROGGS which has not another meaning or is used in other cases, like it happened for Nil
16:12 pmichaud and then be careful of "always disappears" versus "disappears when flattened"
16:12 TimToady also, only disappears itself, without implication of lower flattening
16:12 TimToady so it's not equiv to .flat
16:13 isBEKaml joined #perl6
16:13 H2O1 joined #perl6
16:14 FROGGS[mobile] joined #perl6
16:14 TimToady These-aren't-the-droids-you're-looking-for is a bit unweildy
16:15 FROGGS[mobile] we could call it HarryPotter
16:16 H2O1 left #perl6
16:16 japhb force-wave
16:16 TimToady NIL!
16:17 TimToady Nothing, Nada, Zilch
16:17 pmichaud m:  (1, 3..5).list.perl.say
16:17 camelia rakudo-moar 315ec6: OUTPUT«(1, 3, 4, 5).list␤»
16:18 pmichaud post-GLR, would we expect that to remain   (1, 3..5) ?
16:19 TimToady I'd think .list on a list would be a no-op
16:19 japhb chenryn: OK, nothing I know of that would cause it to go to sleep like that.  Can you run the benchmark for nqp-moar/2014.10 while running e.g. atop in another window and see if something lookings amiss?
16:19 japhb Gah, cell reception SUCKING
16:19 * japhb is now typing blind, wheeee
16:20 TimToady probably just space weather
16:20 pmichaud TimToady: so it remains (1, 3..5), and the way to get the Range to interpolate is to do .flat ?
16:20 isBEKaml japhb: if you're typing blind - atleast you know how to type. :)
16:20 TimToady or whatever sugar we decide means that
16:20 pmichaud okay.
16:21 pmichaud (I'm agreeing with all of these, fwiw.  :)
16:23 Ven_ mmh, how much much would it be to have a .each?
16:27 chenryn @japhb: there is a process like `perl /data1/git/perl6-bench/timeall --outfile=/data1/git/perl6-benc​h/timings/nqp-moar/2014.10.json nqp-moar`
16:28 chenryn cann't use `strace -p $pid` to follow it...
16:29 TimToady Ven_: do you mean something that flattens only the top level?
16:30 Ven_ TimToady: no, I mean our currently-specced .each (>>. but with order)
16:30 TimToady ah, well, up till now everyone has thought it was very much much :)
16:31 japhb chenryn: Yeah, bench launches timeall, which then launches the compiler in question for each run of each test.  So you'd pretty much have to trace the process group or somesuch.
16:31 Ven_ well :)
16:31 Ven_ decommute &
16:31 japhb Hence my suggestion of atop or another "sees all the perf info at once" program
16:33 japhb timotimo: p6weekly this week?
16:34 kjs_ joined #perl6
16:46 FROGGS joined #perl6
16:47 Hor|zon joined #perl6
16:53 timotimo japhb: give me a bit :)
16:53 yoleaux 15:41Z <japhb> timotimo: Can you make a perl6-bench mini-benchmark out of the AST benchmark you've been playing with?
16:53 yoleaux 15:46Z <japhb> timotimo: Actually, both before and after microoptimizations would be good to have, because that shows how much work the user is having to do that the compiler should be doing ... and how much better it performs with user assistance.
16:53 djanatyn joined #perl6
16:54 japhb ++timotim
16:55 japhb ++timotimo
16:55 timotimo %)
16:55 timotimo i ran a car-accident-related errand today
16:55 timotimo that kind of took most of my time :\
16:55 timotimo being a supposedly grown-up is kind of complicated sometimes
17:12 isBEKaml joined #perl6
17:15 Mso150 joined #perl6
17:16 raydiak g'morning
17:20 timotimo hello raydiak
17:21 TimToady timotimo: just got back from just such an errand himself; someone smacked our car while it parked in the driveway while we were out of town
17:21 ugator joined #perl6
17:21 TimToady *was
17:21 timotimo ah. well, at least it wasn't your fault in that case
17:22 timotimo i'm 100% to blame for what happened to my car. the other party was a concrete pillar, you see?
17:22 moritz a fast-moving concrete pillar :-)
17:22 japhb timotimo: Clearly it jumped out at you ....
17:22 TimToady or they installed it incorrectly
17:23 japhb TimToady: Why in the world was someone travelling into your driveway at sufficient velocity to continue on and hit your car?
17:23 TimToady TAWUI I suppose
17:24 TimToady (turning around while...)
17:24 guru joined #perl6
17:24 timotimo i should have asked the person at the shoppe what it would have cost if they just used gaffer tape
17:24 timotimo and if that price could have been reduced if i supplied my own gaffer tape
17:24 tony-o lol
17:25 masak g'd'evening, #perl6
17:26 abraxxa hi masak!
17:28 cognominal joined #perl6
17:29 moritz timotimo: 5-to-6 updates are live now. Thank you!
17:30 timotimo no, thank *you*!
17:31 timotimo for writing that stuff in the first place
17:33 kaleem joined #perl6
17:33 Mso150 joined #perl6
17:33 lizmat joined #perl6
17:36 * lizmat is feeling a bit better
17:37 lizmat turns out I changed MySQL database storage engine from MyISAM to InnoDB a while ago
17:37 lizmat and had forgotten about it
17:37 lizmat when I accidentally did a upgrade to Yosemite on our live server, instead of our test server
17:38 [Sno] joined #perl6
17:38 lizmat and afterwards got a system that a. didn't run mysql anymore, and b. had a limited apache that could not handle the config it was given
17:38 lizmat I freaked out when I realized that the last successful image backup was in January
17:38 lizmat how time flies  :-(
17:39 * raydiak takes note, goes to back up his server
17:39 lizmat yup
17:39 lizmat please do
17:39 lizmat :-)
17:40 raydiak wow, my last was february... lizmat++ :)
17:40 lizmat my work machine has a daily image and an hourly time machine backup  :-)
17:43 raydiak that'd be a bit overkill for most of my purposes, but at least sticking an e-mail to the effect of "run a backup, fool!" in a weekly cronjob might be wise
17:46 erkan joined #perl6
17:46 erkan joined #perl6
17:48 japhb Also remember that unless you've done a successful restore, you haven't really done a backup.
17:48 * woolfy is happy lizmat is a bit less stressed: most of the past hours were no fun
17:49 FROGGS_ joined #perl6
17:50 * lizmat is restoring the last image backup now on another MacMini (fine so far) and will then copy the necessary data files from the upgraded server
17:50 lizmat and then swap MacMini's
17:51 * moritz hopes it works out fine for lizmat++
17:51 japhb Ditto that
17:54 lizmat moritz japhb FROGGS_ : thank you for your kind words
17:54 Sqirrel joined #perl6
17:54 kaleem_ joined #perl6
17:54 lizmat ah well, moving our SDSL connection to a VDSL connection earlier today, worked out almost flawlessly
17:56 timotimo i really ought to freshen up my backups on my laptop and desktop system ...
18:04 immortal joined #perl6
18:08 Mso150 joined #perl6
18:11 dalek rakudo/nom: cb4a1b1 | (Elizabeth Mattijsen)++ | src/core/CompUnitRepo/Locally.pm:
18:11 dalek rakudo/nom: Fix test breakage in S22-package-format
18:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb4a1b1f47
18:14 raydiak are there things I need to know about circular references in rakudo, other than .perl not working?
18:14 kurahaupo joined #perl6
18:15 raydiak e.g. will such things be garbage-collected appropriately, for one
18:17 [Coke] lizmat: still better support than I'm used to. :)
18:17 japhb raydiak: circular references that are not referenced externally should be garbage-collected, yes.
18:18 raydiak thanks japhb++, I guess that was my main concern, off the top of my head
18:29 Akagi201 joined #perl6
18:29 dalek Perlito: 2df3521 | (Flavio S. Glock)++ | / (2 files):
18:29 dalek Perlito: Perlito5 - Dumper tweak
18:29 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/2df3521510
18:36 timotimo i can't find terribly many changes to list for last week :S
18:36 timotimo .o( i should have done more, damnit! )
18:37 PerlJam timotimo: it was release week.  people were traveling.  et cetera.  :)
18:37 timotimo right, the release will be favourably mentioned, PerlJam++
18:43 timotimo do we already have a victim^Wvolunteer for this month's Star release?
18:44 PerlJam Isn't it almost always moritz anyway?  ;)
18:45 timotimo poor moritz ;(
18:46 abraxxa joined #perl6
18:47 avuserow are things mostly in a good state? I'd be willing to give it another try if so :)
18:47 abraxxa joined #perl6
18:47 PerlJam avuserow++ (Even if just for the thought :)
18:49 FROGGS_ avuserow: take a look at the star-daily smokes done by [Coke]++
18:55 moritz PerlJam: these days, it's mostly been FROGGS_++ who did the star releases
18:55 moritz I helped preparing some, but my last "real" one is a few months back
18:56 PerlJam FROGGS++ moritz++
18:58 vendethiel Any reason the awesome power we have in multis isn't available in other places?
18:58 eternaleye joined #perl6
18:58 vendethiel That's directly related to having a "match"
18:58 PerlJam vendethiel: for instance?
18:59 vendethiel PerlJam: given @a { when :(Bool where True, @b) { say 1 } }
19:00 lizmat afaik, 2014.11 is on my plate
19:01 baest joined #perl6
19:05 baest joined #perl6
19:06 japhb timotimo: It would be useful to have not just the committed changes, but the big discussions/decisions that happened as well, since that seems like an equal part of the "weekly news". OTOH, I know that's a lot of additional work, unless you happen to be taking notes, or we have some collaborative way for people to identify these big discussions for you.
19:07 masak "Sure, Python isn’t Perl 6, so you can’t add arbitrary syntax, but you can often find a clever way to get the job done." -- just found this gem in http://www.aaronsw.com/weblog/rewritingreddit
19:07 masak this is the ideal that we should be striving for. :)
19:07 masak (with macros and slangs)
19:08 colomon masak: wait, which one?
19:09 dalek panda: 85c6e01 | (Elizabeth Mattijsen)++ | ext/Shell__Command:
19:09 dalek panda: Bring Shell::Command up to date
19:09 dalek panda: review: https://github.com/tadzik/panda/commit/85c6e01526
19:10 baest joined #perl6
19:11 denis_boyun_ joined #perl6
19:12 PerlJam colomon: turning python into Perl6 obviously.
19:12 colomon :p
19:14 colomon wait, read that backwards.
19:15 dalek rakudo/nom: b130ad0 | (Elizabeth Mattijsen)++ | src/core/Perl.pm:
19:15 dalek rakudo/nom: Make $*PERL initialization non-lazy
19:15 dalek rakudo/nom:
19:15 dalek rakudo/nom: If it *is* lazy, the next commit will break precomp.  I've traced this back
19:15 dalek rakudo/nom: to something being serialized when it shouldn't, or vice-versa (being in the
19:15 dalek rakudo/nom: serialized blob without there being a de-serializer).  This actually generates
19:15 dalek rakudo/nom: an error similar to when we have lazy @*INC initialization.
19:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b130ad0b92
19:15 dalek rakudo/nom: 737ec3c | (Elizabeth Mattijsen)++ | src/core/Str.pm:
19:15 dalek rakudo/nom: Str.path marked DEPRECATED
19:15 dalek rakudo/nom:
19:15 dalek rakudo/nom: If $*PERL is lazy, then this change will break precomp, and thus panda.
19:16 baest joined #perl6
19:16 ghostlines joined #perl6
19:17 kjs_ joined #perl6
19:18 kurahaupo_ joined #perl6
19:21 ptc_p6 joined #perl6
19:23 dalek rakudo/nom: 0decd7b | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
19:23 dalek rakudo/nom: dir() now returns Str, as specced
19:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0decd7b144
19:24 dalek roast: 6396528 | (Elizabeth Mattijsen)++ | S32-io/dir.t:
19:24 dalek roast: Adapt dir() tests, because now Str is returned
19:24 dalek roast: review: https://github.com/perl6/roast/commit/63965287b6
19:26 * vendethiel mutters something about implementing match using macros anyway
19:26 timotimo and the cat sayeth: vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx​xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx​xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx​xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx​xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi
19:28 vendethiel did he.
19:29 timotimo yes, he did
19:30 pmichaud m: ($_ * 2 if $_ %% 2 for 1..10).perl.say
19:30 camelia rakudo-moar 315ec6: OUTPUT«(4, 8, 12, 16, 20).list␤»
19:31 masak colomon: which ideal? that of being the language that people say "sure, [language X] isn't Perl 6, but [some sour grapes]" :)
19:31 pmichaud TimToady (and others):  Having that output ((), 4, (), 8, (), 12, (), 16, (), 20)  feels wrong to me.
19:31 pmichaud it feels like the false cases of the 'if' ought to return something undefined
19:32 Ven joined #perl6
19:32 colomon masak++
19:32 prammer joined #perl6
19:32 erkan joined #perl6
19:32 erkan joined #perl6
19:34 timotimo pmichaud: FWIW, i find it pretty neat that i can have a map that can fall through the false branch of an if and throw values out
19:34 timotimo it kind of feels natural as in: you could have made that give multiple values instead just as well
19:34 timotimo as in:
19:35 TimToady pmichaud: this is why I was wondering about something special to mark the absence of a value in list comprehensions
19:36 timotimo m: (($_ * 2, $_ * $_) if $_ %% 2 for 1..10).perl.say
19:36 camelia rakudo-moar 315ec6: OUTPUT«((4, 4), (8, 16), (12, 36), (16, 64), (20, 100)).list␤»
19:36 pmichaud timotimo: I agree with the neatness of throwing values out.  I'm just thinking that the values to be thrown out ought to be undefined somehow.
19:37 moritz Nil but defined :-)
19:37 pmichaud as opposed to defined.
19:37 moritz erm
19:37 moritz () but undef
19:37 timotimo oh, you mean () is a defined value?
19:37 pmichaud m:  say ().defined
19:37 camelia rakudo-moar 315ec6: OUTPUT«True␤»
19:37 pmichaud of course it's a defined value.  :)
19:37 timotimo mhm
19:37 TimToady that's what I meant the other day by an Empty primitive
19:37 pmichaud yeah, I'm warming to the idea of Empty
19:38 pmichaud I wish I had a better intuition of what "Nil" actually means.
19:38 TimToady but maybe we should be thinking harder about not producing the empty value in the first place
19:38 PerlJam Empty == Nil but undefined?
19:38 TimToady instead of weeding it out after the fact
19:38 pmichaud PerlJam: Nil is already undefined.
19:38 pmichaud m:  say Nil.defined
19:38 camelia rakudo-moar 315ec6: OUTPUT«False␤»
19:38 PerlJam oh, I'm still thinking of () and Nil as synonyms.
19:39 moritz sort of like () with the OKNess bit set to 0?
19:39 pmichaud Haven't been synonyms since 2010.
19:39 PerlJam Shows you how much I use them :)
19:39 pmichaud well, to me it relates to "what does a function return when it doesn't return anything?"
19:40 pmichaud m:  sub xyz() { return; };   say xyz().WHAT
19:40 camelia rakudo-moar 315ec6: OUTPUT«Nil␤»
19:40 masak m: sub foo {}; say foo.WHAT
19:40 camelia rakudo-moar 315ec6: OUTPUT«Nil␤»
19:40 pmichaud currently we have them returning 'Nil'.  It seems to me that the false-side of an 'if' modifier ought to do the same
19:40 masak m: my %h; say %h<foo>.WHAT
19:40 camelia rakudo-moar 315ec6: OUTPUT«(Any)␤»
19:42 TimToady maybe statement modifier loops just establish a context inside of which any else-less conditional implies an else { next }
19:42 TimToady then we never put the value into the list in the first palce
19:42 pmichaud is it only in statement modifier loops that we have this issue?
19:42 moritz nope
19:42 pmichaud (for 1..10 { $_ * 2 if $_ %% 2 }).perl.say
19:43 TimToady map too
19:43 pmichaud m: (for 1..10 { $_ * 2 if $_ %% 2 }).perl.say
19:43 camelia rakudo-moar 315ec6: OUTPUT«(4, 8, 12, 16, 20).list␤»
19:43 pmichaud is it just loops in general?
19:43 moritz my @list =mdo for 1..10 { $_ * 2 if $_ %% 2 }}
19:43 pmichaud I wouldn't have a problem with saying that LoopIters throw out any Nils they encounter (unless itemized)
19:43 pmichaud as opposed to saying that Lists always do it.
19:44 TimToady earlier seems better
19:44 moritz m: say do for 1..10 { $_ * 2 if $_ %% 2 }}
19:44 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/NdGFtCs0EU�Unexpected closing bracket�at /tmp/NdGFtCs0EU:1�------> [32msay do for 1..10 { $_ * 2 if $_ %% 2 }[33m�[31m}[0m�»
19:44 moritz m: say do for 1..10 { $_ * 2 if $_ %% 2 }
19:44 camelia rakudo-moar 315ec6: OUTPUT«4 8 12 16 20␤»
19:44 Ven joined #perl6
19:45 pmichaud perhaps the distinction we want is Nil.item versus Nil
19:45 pmichaud i.e., Nil.item doesn't flatten/disappear
19:45 isacloud______ joined #perl6
19:46 pmichaud although that's kinda weird since it's not really possible to stick Nil into a scalar ATM
19:46 timotimo posted a pretty short post on the weekly
19:46 pmichaud (because it has another overloaded meaning)
19:46 rindolf joined #perl6
19:46 pmichaud using Nil.item to mean "don't discard this" feels good somehow, though.
19:47 ggherdov_ joined #perl6
19:47 pmichaud fwiw, using    $foo = Nil   to restore Foo to its uninitialized state has always felt a little off-kilter to me.
19:48 timotimo it seems like rakudo isn't building properly on moarvm master at the moment :o
19:48 pmichaud retyping that....
19:49 pmichaud fwiw, using    $foo = Nil   to restore $foo to its uninitialized state has always felt a little off-kilter to me.
19:49 Ven m: role Pet[::ID;; $tag] {  has ID $.collar .= new($tag);  }
19:49 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/AeAfCM6ZzVâ�¤Cannot use .= to initialize an attributeâ�¤at /tmp/AeAfCM6ZzV:1â�¤------> [32m;; $tag] {  has ID $.collar .= new($tag)[33mâ��[31m;  }[0mâ�¤Â»
19:49 Ven m: role Pet[::ID;; $tag] {  has ID $.collar = new($tag);  }
19:49 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/NjX3PfToruâ�¤Undeclared routine:â�¤    new used at line 1 (in Perl 6 please use method call syntax instead)â�¤â�¤Â»
19:49 Ven m: role Pet[::ID;; $tag] {  has ID $.collar = Pet.new($tag);  }; 1
19:49 camelia rakudo-moar 315ec6: ( no output )
19:49 Ven m: role Pet[::ID;; $tag] {  has ID $.collar = Pet.new($tag);  }; say Pet[Int, 5]; say "alive"; say Pet[Str, 5]
19:49 camelia rakudo-moar 315ec6: OUTPUT«(Pet[Int,Int])␤alive␤(Pet[Str,Int])␤»
19:50 Ven oh yea. attr constraints nyi
19:50 masak pmichaud: completely agree about the off-kilter.
19:50 masak pmichaud: the fewer such special cases, the better.
19:51 masak m: class Dog {}; my Dog $dog; say $dog.defined; $dog .= new; say $dog.defined; $dog = Dog; say $dog.defined
19:51 camelia rakudo-moar 315ec6: OUTPUT«False␤True␤False␤»
19:54 moritz rakudo-p spectest with parrot 6.9.0 gives me *lots* of errors
19:55 bartolin moritz: I suspect most of those errors are segfaults (maybe related to gc): perl Configure.pl --backends=ALL
19:55 bartolin erm: http://irclog.perlgeek.de/​perl6/2014-10-26#i_9568218
19:55 bartolin s/perl.*$//
19:57 pmichaud what's the canonical example of where we don't want Nil to automatically disappear from lists?
19:58 bartolin moritz: I tried to run several of the failing test files manually and always got a segfault
20:04 rindolf joined #perl6
20:04 moritz so looks like parrot b0rk
20:06 bartolin rurban++ is hunting GC bugs currently: http://irclog.perlgeek.de/p​arrot/2014-10-27#i_9569886
20:06 ptc_p61 joined #perl6
20:08 ecocode joined #perl6
20:11 itz joined #perl6
20:12 rindolf joined #perl6
20:13 timotimo can other people build a rakudo-moar with all latest masters from scratch?
20:13 timotimo i get segfaults during the core setting :(
20:13 ecocode left #perl6
20:14 itz perl Configure.pl --backends=moar --gen-moar=master --moar-option="--enable-jit" --gen-nqp
20:14 itz =master ?
20:14 itz without the line break of course?
20:14 timotimo no need for --enable-jit any more
20:14 itz oh yeah its default
20:14 timotimo hello itz :)
20:14 timotimo that should do it for you
20:20 itz works for me
20:21 [Coke] takes longer for me to git via http proxy than it does to build rakudo.
20:22 itz what about the parrot one?
20:22 moritz parrot is b0rked.
20:22 ecocode joined #perl6
20:23 TimToady pmichaud: when you're going to bind it positionally, and don't want the wrong positional to show up
20:24 rindolf joined #perl6
20:25 pmichaud TimToady: I think I'd need a code example.
20:25 ecocode left #perl6
20:28 TimToady m: sub foo ($a,$b,$c?) { say $c.defined }; foo 'A', Nil, 'C'  # currently says True
20:28 camelia rakudo-moar 315ec6: OUTPUT«True␤»
20:28 TimToady need to preserve the arg vs item distinction
20:29 TimToady if the Nil disappears too early, we're hosed on that
20:29 pmichaud you're saying that should've been false?
20:29 lizmat but isn't that because Nil currently isn't implemented correctly?
20:29 TimToady no, it should say True
20:30 lizmat ah, ok  *phew*
20:30 pmichaud lizmat: I'm working on nailing down the post-GLR semantics for Nil
20:30 Akagi201 joined #perl6
20:30 TimToady if 'A', Nil, 'C' turns into 'A', 'C' too soon, then foo never binds $c
20:30 * lizmat will remove fingers between hammer and wood
20:31 pmichaud TimToady: well, I never think of that as being a list in the first place.
20:31 pmichaud *List
20:31 moritz with moar master, I get a test failure in t/spec/S32-io/dir.t
20:31 TimToady right, but we're getting rid of parcels
20:31 pmichaud that's not even a Parcel in the current implementation
20:31 TimToady which are the feedstock for Captures
20:31 lizmat moritz: even after update of roast ?
20:32 lizmat and most recent rakudo ?
20:32 moritz lizmat: ah no, my rakudo was out of date
20:32 lizmat *phew*
20:32 moritz waitwaitwait, why does dir return strs now?
20:33 lizmat because it is in the spec ?
20:33 moritz then I'm going to change the spec
20:33 lizmat so we don't need to make an .IO for each dir entry when you don't need it ?
20:33 pmichaud (dir) yeah, we already went through the pain of converting from dir returning Str to IO... why are we changing back?
20:33 * masak .oO( ...are doomed to repeat it... )
20:34 * lizmat was not aware that this had gone the other way before
20:34 * FROGGS_ .oO( ...are doomed to repeat it... )
20:34 moritz lizmat: because it's very convenient to be able to do all sorts of useful file ops on them
20:34 TimToady .oO( ...are doomed to have it repeated to them... )
20:34 moritz lizmat: like checking .d, and .dir()ing them again
20:34 * masak .oO( DOOMED! )
20:34 pmichaud ChangeLog from 2012.07:   + Changed &dir to return IO::Path objects, not strings
20:35 TimToady and how much slower are they?
20:35 lizmat well, not as slow as they used to be
20:35 moritz https://github.com/perl6/doc​/blob/master/htmlify.p6#L88
20:35 TimToady .oO( use Dir::Tiny; )
20:36 pmichaud .oO( The Synopses are not "spec".  )
20:36 lizmat well, I'm glad someone is paying attention to what I'm writing  :-(
20:37 * lizmat is having a bad day and decides to get some rest
20:37 moritz lizmat: it's not the first time I mentioned it: http://irclog.perlgeek.de/​perl6/2014-09-09#i_9322300
20:39 rindolf joined #perl6
20:41 pmichaud TimToady: (Nil)    So, you're saying we'd need to make sure that something like     foo |('A', Nil, 'C')   doesn't lose the Nil
20:41 TimToady which are the feedstock for Captures
20:41 TimToady oops
20:41 TimToady that one, is, of course, more arguable both ways
20:42 pmichaud well, the case of     foo 'A', Nil, 'C'   already doesn't involve a Parcel or List, so I'm having trouble with it as a useful example.
20:42 TimToady stupid touchpad autoscrolls my history too easily
20:44 pmichaud If we have it so that loops remove any bare Nils they encounter, does that get what we're after?
20:44 TimToady could be
20:45 TimToady and a loop optimizer might be good enough to turn that into 'else { next }'
20:45 pmichaud maybe
20:45 kurahaupo joined #perl6
20:45 pmichaud I'm not sure that optimizes.
20:46 TimToady whether it's worth it depends on the bookkeeping costs, either way
20:46 pmichaud well, I'd feel really good if I knew that    { next }   resulted in a Nil, just like { return }   does now.
20:47 TimToady eh?  if you next, you don't need a Nil at all
20:48 pmichaud I mean conceptually.
20:48 TimToady you bypass whatever code stores the value
20:48 pmichaud ummmm, not exactly.
20:48 pmichaud the canonical example is      @list.map( &block )
20:49 pmichaud well, maybe not, since next throws an exception
20:49 pmichaud anyway
20:49 pmichaud (I'm still rusty.)
20:50 TimToady but yes, conceptually I don't see a big problem with value-producing lists throwing away nulls, except maybe for internal ones processing argument lists
20:52 pmichaud what I'm trying to get at is this:  at some level, "next" in a loop serves the same purpose as "return" does in a Routine -- it exits the current block and optionally sends a value to the caller.  It'd be conceptually nice if 'next' and 'return' with no argument sent back the same sort of thing :)
20:53 pmichaud moving away from 'next', though:
20:54 pmichaud m: sub xyz($_) { if $_ == 3 { return };  $_ };   (for 1..5 { xyz($_) }).perl.say
20:54 camelia rakudo-moar 315ec6: OUTPUT«(1, 2, 4, 5).list␤»
20:54 pmichaud would we expect the Nil to be preserved there or discarded?
20:55 TimToady they could always return () if they mean the other thing, I guess
20:55 pmichaud yes.
20:55 pmichaud or even perhaps:
20:56 TimToady so I think I'm okay with it disappearing there
20:56 pmichaud m: sub xyz($_) { if $_ == 3 { return Nil.item };  $_ };   (for 1..5 { xyz($_) }).perl.say
20:56 camelia rakudo-moar 315ec6: OUTPUT«(1, 2, Nil, 4, 5).list␤»
20:56 pmichaud or even:
20:56 pmichaud m: sub xyz($_) { if $_ == 3 { return Nil.item };  $_ };   (for 1..5 { xyz($_).item }).perl.say
20:56 camelia rakudo-moar 315ec6: OUTPUT«(1, 2, Nil, 4, 5).list␤»
20:56 pmichaud m: sub xyz($_) { if $_ == 3 { return };  $_ };   (for 1..5 { xyz($_).item }).perl.say
20:56 rindolf joined #perl6
20:56 camelia rakudo-moar 315ec6: OUTPUT«(1, 2, Nil, 4, 5).list␤»
20:57 TimToady seems pretty okay to me
20:59 pmichaud I think we're in agreement that we want something that means "nothing".  In the case of a "return" with no argument, we've decided that's Nil, and it's undefined.
20:59 pmichaud the undefinedness is a really useful property.
20:59 pmichaud to me, that rules out using  () to mean "nothing", because () is defined.
21:00 pmichaud (and I really don't think I want to head down the path of an empty List being undefined. :)
21:00 TimToady well, it's 0 values as a defined concept
21:00 pmichaud so, extrapolating a bit further, would I expect
21:01 pmichaud for @values { foo($_) };
21:01 pmichaud to always produce a list with the same number of elements as @values ?
21:01 TimToady well, not in sink context :)
21:02 TimToady if you want that, you should return () instead of Nil from foo
21:02 pmichaud okay then:   my @a =  (for @values { foo($_) };)
21:04 TimToady but certainly we've never guaranteed that a flat map returns the same number of values
21:04 pmichaud so, if the block of a 'for' returns Nil, that's an indication to not record a value for that iteration, and if you wanted to preserve the Nil you should do so using .item or something like that.
21:04 pmichaud or ()
21:05 TimToady that seems good
21:05 Mso150_f joined #perl6
21:05 PerlJam pmichaud: so ... @a above does not preserve the Nils that foo may return?
21:05 pmichaud pmichaud: not as I wrote it, no.
21:05 pmichaud if I wanted to keep the Nils, I'd do:
21:06 pmichaud my @a = (for @values { foo($_).item })
21:06 pmichaud EXCEPT
21:06 pmichaud that assigning a Nil into @a would cause that element to revert to its base type object
21:06 PerlJam my @a := (for @values { foo($_) });  # would also preserve the Nil too?
21:06 pmichaud in that case, no, since the Nil's get stripped by the 'for'
21:07 pmichaud (on output)
21:07 PerlJam ok.
21:07 pmichaud but
21:07 pmichaud my @a := (for @values { foo($_).item } );
21:08 pmichaud would cause @a to have the same number of elements as @values   (barring any funny control exceptions in &foo)
21:08 PerlJam And map's behavior is identical to for?
21:08 pmichaud on the output side, yes.
21:09 TimToady except method form doesn't flatten input
21:09 pmichaud this would be for all looping constructs
21:09 pmichaud my @a := (while $i < 10 { foo($i++).item })
21:09 raydiak we return () when we *do* want the Nil preserved in the output list?
21:09 pmichaud raydiak: you return () when you want an empty list in the output
21:10 pmichaud ("Nil" ne "empty list")
21:10 raydiak okay, I was just lost momentarily then
21:12 pmichaud I kind of like this outcome; it prevents us from having to introduce an Empty, and puts the onus of removing items on the looping constructs instead of the List interpolators
21:12 pmichaud more precisely, it puts the onus of removing the Nils on the things that are generating them in the first place :)
21:12 pmichaud so that "removing" is really more "skipping"
21:13 woshty joined #perl6
21:13 pmichaud or "omitting"
21:13 pmichaud or "never generating"  :)
21:14 pmichaud never generating is way more efficient than  "generate and remove"  :)
21:17 gfldex joined #perl6
21:21 dalek cpandatesters.perl6.org: 6d22454 | (Tobias Leich)++ | app.pl:
21:21 dalek cpandatesters.perl6.org: add shebang and `use v6`
21:21 dalek cpandatesters.perl6.org: review: https://github.com/perl6/cpandate​sters.perl6.org/commit/6d224541d4
21:25 sergot FROGGS++
21:26 FROGGS_ :o)
21:26 FROGGS though, I need to implement nqp::closefhi for parrot and jvm before I can merge my panda branch, which implements the reporter client
21:26 sergot hi o/ btw :)
21:27 FROGGS hi sergot
21:27 pmichaud afk for a while, more thinking to do
21:29 dalek panda/reporter: 9497994 | (Elizabeth Mattijsen)++ | / (8 files):
21:29 dalek panda/reporter: Fix 2014.10 deprecations
21:29 dalek panda/reporter: review: https://github.com/tadzik/panda/commit/9497994202
21:29 dalek panda/reporter: c42053e | (Elizabeth Mattijsen)++ | ext/ (3 files):
21:29 dalek panda/reporter: Bring submodules up to date
21:29 dalek panda/reporter: review: https://github.com/tadzik/panda/commit/c42053e57f
21:29 dalek panda/reporter: 85c6e01 | (Elizabeth Mattijsen)++ | ext/Shell__Command:
21:29 dalek panda/reporter: Bring Shell::Command up to date
21:29 dalek panda/reporter: review: https://github.com/tadzik/panda/commit/85c6e01526
21:29 dalek panda/reporter: 45be099 | (Tobias Leich)++ | / (11 files):
21:29 dalek panda/reporter: Merge branch 'master' of github.com:tadzik/panda into reporter
21:29 dalek panda/reporter: review: https://github.com/tadzik/panda/commit/45be0996f1
21:39 fhelmberger joined #perl6
21:39 dalek roast: ff58ad1 | usev6++ | S04-declarations/state.t:
21:39 dalek roast: Add test (fudged 'skip') for RT #115614
21:39 dalek roast: review: https://github.com/perl6/roast/commit/ff58ad1b74
21:39 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=115614
21:40 MilkmanDan joined #perl6
21:42 kjs_ joined #perl6
21:44 tony-o FROGGS++
21:45 FROGGS thanks :o)
21:46 Akagi201 joined #perl6
22:15 Rounin joined #perl6
22:29 dalek roast: 2c34a36 | (Elizabeth Mattijsen)++ | S19-command-line/dash-e.t:
22:29 dalek roast: -e as a stopper appears to work
22:29 dalek roast: review: https://github.com/perl6/roast/commit/2c34a36a35
22:34 colomon joined #perl6
22:35 bronco_creek joined #perl6
22:38 bronco_creek I have a question about reading from a file.  When I use, for example: for $in.lines -> $line {say $line} is see a "?" prepended to the first line.  What's up with that?
22:40 FROGGS that sounds like a replacement character..
22:40 geekosaur windows by any chance? a utf8 file with a byte order mark at the start (like windows text editors like to prepend), sent to a non-utf8 display, would do that
22:41 FROGGS bronco_creek: does that file start with a BOM?
22:41 bronco_creek Yes, Windows.
22:42 FROGGS bronco_creek: you've got notepad++ by any chance?
22:42 bronco_creek I'm using Padre.
22:42 FROGGS ahh, hmmm
22:43 FROGGS dunno if that allows you to save that file without a BOM
22:43 bronco_creek The file I'm trying to process is xml output from another program, but the leading "?" does not show up in Padre.
22:44 timotimo do you have some kind of hex editor?
22:44 timotimo now the question becomes
22:44 timotimo do we want to support byte order marks in rakudo?
22:44 geekosaur I think you'll need to; notepad in at least some versions of windows will insist on prepending a BOM
22:45 geekosaur some other text editors as well (and there's a handful of programs, including some from Microsoft, that depend on it!)
22:45 geekosaur even though you're not supposed to use a BOM with UTF-8
22:45 bronco_creek I tried to strip the "?" with ~~ s/^\?//  but that did not do the trick.
22:46 geekosaur yes, it's getting mapped to a replacement character on output; it's not actually a question mark
22:46 timotimo that's right
22:46 timotimo how about opening the file as binary and outputting the first few bytes as hexadecimals and looking at what exactly it is
22:46 geekosaur actually on display, not on output
22:47 bronco_creek Hmm.  Drove me nut trying to figure out why all of my xml files were invalid when I tried to parse with XML or XML::Parser::Tiny
22:48 timotimo damn, that's annoying
22:48 timotimo very sorry to hear that, bronco_creek :(
22:49 bronco_creek timotimo:  I don't think I have an editor that will let me look at the hex.  Maybe I need to install one.
22:50 timotimo try code like this:
22:50 timotimo m: open("foobar.txt", :bin).perl.say
22:50 camelia rakudo-moar 315ec6: OUTPUT«open is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub open at src/RESTRICTED.setting:5␤  in block <unit> at /tmp/GKZm7GJt9Q:1␤␤»
22:56 bronco_creek timotimo: I tired: $in = open("$file", :bin); $in.perl.say; and got IO::Handle.new etc.
22:56 bronco_creek Looks like user error on my part.
22:56 geekosaur slightly wrong instructions actually
22:57 geekosaur it showed you what you were told to get, which is the handle :) you actually need to read a line and dump it.
22:57 timotimo oh, sorry, you need to .read(5) or so from it
22:58 bronco_creek geekosaur, timotimo:  thanks, I'll try that
22:59 FROGGS we should open an rt ticket for that
22:59 timotimo yeah
23:00 FROGGS will do that now
23:01 FROGGS bronco_creek: you're using rakudo on moarvm?
23:02 bronco_creek geekosaur, timotimo: Nope, even with the :bin in the open statement, I still get the leading BOM
23:02 timotimo yeah, of course you would
23:03 timotimo but at least we know it's a BOM now, right?
23:03 bartolin for the records: I just had clean spectests for latest rakudo on all backends (running on debian 7)
23:03 bronco_creek timotimo:  I'll take you word for it.  I'm still new to perl6.
23:03 timotimo what exactly is the beginning of the output, then?
23:04 FROGGS RT #123070 - rakudo should strip a BOM, but it does not
23:04 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123070
23:04 bronco_creek timotimo: I get: ?<?xml version="1.0" encoding="utf-8"?>
23:04 FROGGS bronco_creek: hopefully we will have a fix for that within a few days
23:05 geekosaur hm
23:05 geekosaur you did not use .perl i take it?
23:05 FROGGS bronco_creek: can you also pass :bin to the read() all?
23:05 FROGGS call*
23:05 geekosaur that should have given you a visualization of a Buf
23:05 timotimo hold on, :bin may be wrong or something?
23:05 timotimo i don't have a local perl6 at this very moment >_<
23:05 FROGGS hold on
23:05 geekosaur pyanfar:60977 Z$ ./install/bin/perl6 -e 'open("/dev/random", :bin).read(5).perl.say'
23:05 geekosaur Buf[uint8].new(102, 234, 161, 85, 205)
23:05 bronco_creek Thanks all.  This isn't a mission-critical issue for me.  Just playing around trying to get familiar with the language.
23:06 TimToady ain't we all :)
23:06 FROGGS *g*
23:07 bronco_creek Still a bit of a moving target, but awesome progress lately.  perl6++
23:07 timotimo bronco_creek: i'm kind of wondering where those xml files have come from such that they started with a BOM
23:08 leont joined #perl6
23:08 FROGGS timotimo: I bet that parrot and jvm get it right though
23:08 timotimo so far i thought BOM was deprecated, but unicode still allows it (but does not recommend)
23:08 bronco_creek They are DITA/XML docs that I extracted from my CMS at work.
23:08 FROGGS and I also think it is a three lines patch to handle it
23:09 geekosaur timotimo, it's not supposed to be used with anything but utf16 and utf32. but many windows programs use it to detect utf8 vs. a windows code page encoding
23:09 geekosaur this is noncompliant (BOM is *never* valid in UTF8) but windows "standard" :/
23:11 geekosaur so de facto for windows interop you need to deal with a BOM at the start of a text file
23:12 bronco_creek Bye for now.  I'm on the road for a week - flying to northern CA then driving back to CO.  Thanks again.
23:12 geekosaur (microsoft has officially deprecated its use in windows utf8... but some of the programs that rely on it to detect utf8 are part of visual studio)
23:13 timotimo joined #perl6
23:19 bronco_creek One more thing.  On backlogging I see I missed FROGGS' question.  I am using the moarvm version from last month.  Hope that helps.
23:22 virtualsue joined #perl6
23:33 chenryn joined #perl6
23:35 Akagi201 joined #perl6
23:42 zjmarlow joined #perl6

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

Perl 6 | Reference Documentation | Rakudo