Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-12-12

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 cognominal in the french tradition of $A++ obfuscation, I have
00:02 cognominal m: use nqp; my $A; $A += floor .1 + ([+] (1..10).map: { sprintf( "%b", EVAL ":16<{nqp::sha1(~rand)}>").comb.grep({ /1/ }).Int })/800; say $A
00:02 camelia rakudo-moar 04791b: OUTPUT«1␤»
00:02 cognominal which works, most of the time.
00:03 TimToady speaking of tiresome, nap &
00:04 RabidGravy boom!
00:04 RabidGravy bed time for me too,
00:06 masak 'night, #perl6
00:08 Coke2 joined #perl6
00:17 khw joined #perl6
00:22 Zoffix m: say so '٣' ~~ /\d/
00:22 camelia rakudo-moar 04791b: OUTPUT«True␤»
00:23 Zoffix Is there a modifier flag in P6 akin to /a in P5? I.e. where \d would match only 0..9 and not the weird Unicode stuff?
00:23 Zoffix (same goes for \w)
00:23 AlexDaniel Zoffix: what about <[0..9]> ?
00:23 lizmat Zoffix: <[0123456789]> ?
00:23 Zoffix Sure, but that's not the flag :) (reason I ask, is the question came up in #perl 5)
00:24 Zoffix I guess there's no real sense for it... It was my suspicion P5 didn't have it :)
00:24 Zoffix s/P5/P6/;
00:28 AlexDaniel no More::Unicode; :)
00:29 Zoffix Well, that flag makes more sense in P5: <Zoffix> eval: my $input = '٣'; say $input + 42; <perlbot> Zoffix: 42
00:29 Zoffix m: my $input = '٣'; say $input + 42;
00:29 camelia rakudo-moar 04791b: OUTPUT«45␤»
00:30 AlexDaniel “User-defined modifiers will be possible: m:fuzzy/pattern/;” (from S05)
00:30 AlexDaniel yeah, fuzzy regexes. That would be great
00:33 AlexDaniel m: say so '٣' ~~ m:codes/\d/
00:33 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vEqyw4o_mN␤Adverb codes not allowed on m␤at /tmp/vEqyw4o_mN:1␤------> 3say so '٣' ~~ m:codes/\d/7⏏5<EOL>␤»
00:39 skids m:  say +"Ⅰ" # Ah, good, that would have made things sticky.
00:39 camelia rakudo-moar 04791b: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5Ⅰ' (indicated by ⏏)␤  in block <unit> at /tmp/scIndClv2I:1␤␤Actually thrown at:␤  in block <unit> at /tmp/scIndClv2I:1␤␤»
00:46 kid51 joined #perl6
01:13 ShimmerFairy m: say Ⅰ; # you can use those kinds of numerals standalone, just not where positional base-10 digits are needed :)
01:13 yoleaux 10 Dec 2015 20:19Z <ZoffixW> ShimmerFairy: you've got a PR: https://github.com/ShimmerFairy/L​ingua--EN--Numbers--Ordinal/pulls
01:13 camelia rakudo-moar 04791b: OUTPUT«1␤»
01:15 BenGoldberg joined #perl6
01:20 pierre-vigier joined #perl6
01:41 rhr joined #perl6
01:42 bjz joined #perl6
01:43 lucs In P5, map() discards () values. Is there an equivalent in P6?
01:44 lucs ( s/discards/flattens/ ? )
01:45 TimToady m: say (1,2,(),4,5).flat.perl
01:45 camelia rakudo-moar 04791b: OUTPUT«(1, 2, 4, 5).Seq␤»
01:45 TimToady m: say (1,2,(),4,5).grep(*.elems).perl
01:45 camelia rakudo-moar 04791b: OUTPUT«(1, 2, 4, 5).Seq␤»
01:46 TimToady m: say (1,2,(),4,"").grep(*.elems).perl
01:46 camelia rakudo-moar 04791b: OUTPUT«(1, 2, 4, "").Seq␤»
01:46 TimToady a good argument for not confusing strings with lists :)
01:50 lucs m: say map( {$_ > 2 ?? $_ * 2 !! () }, 1,2,3,4,3,2).flat  # Feels rather heavy. How do I improve this?
01:50 camelia rakudo-moar 04791b: OUTPUT«(6 8 6)␤»
01:53 lucs (I could grep first on >2 I guess)
01:54 TimToady just return Empty instead of ()
01:54 TimToady then you shouldn't need a flat
01:54 TimToady m: say map( {$_ > 2 ?? $_ * 2 !! Empty }, 1,2,3,4,3,2)
01:54 camelia rakudo-moar 04791b: OUTPUT«(6 8 6)␤»
01:55 lucs Aha! That's what I was missing.
01:55 lucs Thanks :)
01:55 TimToady m: say map( {$_ > 2 ?? $_ * 2 !! |() }, 1,2,3,4,3,2)
01:55 camelia rakudo-moar 04791b: OUTPUT«(6 8 6)␤»
01:55 TimToady same deal
01:55 lucs Oh, nice
01:55 TimToady Empty is just a degenerate Slip
01:57 AlexDaniel m: say flatmap( {$_ > 2 ?? $_ * 2 !! () }, 1,2,3,4,3,2)
01:57 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xE_IdB_5gQ␤Undeclared routine:␤    flatmap used at line 1␤␤»
01:57 AlexDaniel hmm
01:57 AlexDaniel m: say (1,2,3,4,3,2).flatmap: {$_ > 2 ?? $_ * 2 !! () }
01:57 camelia rakudo-moar 04791b: OUTPUT«(6 8 6)␤»
01:58 AlexDaniel it is a bit different though
02:01 uruwi joined #perl6
02:05 pierre-vigier joined #perl6
02:08 retupmoca .tell nine it turns out any filename mangling at all on .dll files makes windows unhappy when a .dll depends on another .dll :(
02:08 yoleaux retupmoca: I'll pass your message to nine.
02:09 retupmoca .tell nine so I can't make .dll bundling for OpenSSL work :(
02:09 yoleaux retupmoca: I'll pass your message to nine.
02:10 loren joined #perl6
02:20 uruwi_ joined #perl6
02:24 uruwi joined #perl6
02:28 BenGoldberg m: say Splat;
02:28 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zN6yOVWrd_␤Undeclared name:␤    Splat used at line 1␤␤»
02:28 BenGoldberg m: say splat;
02:28 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nZDRFWIvNu␤Undeclared routine:␤    splat used at line 1. Did you mean 'split', 'flat', 'spurt'?␤␤»
02:28 BenGoldberg m: say !();
02:28 camelia rakudo-moar 04791b: OUTPUT«True␤»
02:28 BenGoldberg m: say |();
02:28 camelia rakudo-moar 04791b: OUTPUT«␤»
02:29 BenGoldberg m: (|()).WHAT.say;
02:29 camelia rakudo-moar 04791b: OUTPUT«(Slip)␤»
02:29 BenGoldberg m: say Slip;
02:29 camelia rakudo-moar 04791b: OUTPUT«(Slip)␤»
02:29 BenGoldberg m: say map( {$_ > 2 ?? $_ * 2 !! Slip }, 1,2,3,4,3,2)
02:29 camelia rakudo-moar 04791b: OUTPUT«Parameter '$slip' requires an instance of type Slip, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/_esd2GA2xd:1␤␤»
02:29 BenGoldberg m: say map( {$_ > 2 ?? $_ * 2 !! Slip.new }, 1,2,3,4,3,2)
02:29 camelia rakudo-moar 04791b: OUTPUT«(6 8 6)␤»
02:30 TimToady about one time in 100, we should add a "Nyaa, nyaa, nyaa!" to the end :)
02:37 ShimmerFairy TimToady: track a user's common errors and have those common errors occasionally get a "(have you really not learned yet?)" attached to it :P
02:38 TimToady "My, my, my...another missing 'my'"
03:05 jesse___ joined #perl6
03:17 AlexDaniel Parameter $slip?
03:18 zacts are there any official Perl6 t-shirts that go towards the project?
03:18 zacts I want a camelia shirt
03:18 AlexDaniel m: say 1.map: { Slip }
03:18 camelia rakudo-moar 04791b: OUTPUT«Parameter '$slip' requires an instance of type Slip, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/yzlCGpskFO:1␤␤»
03:22 hahainternet ah timotimo thanks for linking that article
03:30 telex joined #perl6
03:34 noganex_ joined #perl6
03:35 AlexDaniel omg, this latest advent post is one of those things that makes me think that Perl 6 is awesome
03:37 llfourn I just read it too. Switch statements are just a specific case of composing blocks with both given and when.
03:37 llfourn I love that!
03:37 AlexDaniel and I've just figured that you can use “when” on the right hand side
03:37 AlexDaniel m: $_ = 5; say ‘hello’ when 5
03:37 camelia rakudo-moar 04791b: OUTPUT«hello␤»
03:38 llfourn nice
03:40 Ben_Goldberg joined #perl6
03:41 vendethiel joined #perl6
03:43 AlexDaniel m: $_ = 6; say ‘ok’ when 6; default { say ‘huh?’ }
03:43 camelia rakudo-moar 04791b: OUTPUT«ok␤huh?␤»
03:44 TimToady the modifier doens't do "succeed"
03:44 AlexDaniel m: $_ = 6; when 6 { say ‘ok’ }; default { say ‘huh?’ }
03:44 camelia rakudo-moar 04791b: OUTPUT«ok␤»
03:45 AlexDaniel hm, actually that's what I thought, but I messed something up
03:45 AlexDaniel makes sense
03:47 AlexDaniel no “default” modifier though :D
03:47 TimToady there's no loop modifier either :)
03:49 AlexDaniel m: for ^5 for { say 42 } # ehh
03:49 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2AbqdP2bkF␤Missing block␤at /tmp/2AbqdP2bkF:1␤------> 3for ^5 for 7⏏5{ say 42 } # ehh␤»
03:53 AlexDaniel m: (say $_ for ^5) for ^3
03:53 camelia rakudo-moar 04791b: OUTPUT«0␤1␤2␤3␤4␤0␤1␤2␤3␤4␤0␤1␤2␤3␤4␤»
03:53 AlexDaniel nice :)
03:58 AlexDaniel m: (for ^3 { (for ^1 { .say }) for ^2 }) for ^4 # yeeeaaah!
03:58 camelia rakudo-moar 04791b: OUTPUT«0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0​␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤»
03:59 AlexDaniel you can probably do the same thing with ifs. Good exercise for eyes
04:00 dwarring m: given 5 { say 'hello' when 5; say 'hi' when * % 2 }"
04:00 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pmCeMo9TzW␤Strange text after block (missing semicolon or comma?)␤at /tmp/pmCeMo9TzW:1␤------> 3ay 'hello' when 5; say 'hi' when * % 2 }7⏏5"␤»
04:00 dwarring m: given 5 { say 'hello' when 5; say 'hi' when !** % 2 }"
04:00 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/s6Dm_m01Rl␤Strange text after block (missing semicolon or comma?)␤at /tmp/s6Dm_m01Rl:1␤------> 3 'hello' when 5; say 'hi' when !** % 2 }7⏏5"␤»
04:01 dwarring m: given 5 { say 'hello' when 5; say 'hi' when !** %% 2 }"
04:01 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fds288pqWS␤Strange text after block (missing semicolon or comma?)␤at /tmp/fds288pqWS:1␤------> 3'hello' when 5; say 'hi' when !** %% 2 }7⏏5"␤»
04:01 dwarring m: given 5 { say 'hello' when 5; say 'hi' when * !%% 2 }"
04:01 camelia rakudo-moar 04791b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rLQGcOhbSk␤Strange text after block (missing semicolon or comma?)␤at /tmp/rLQGcOhbSk:1␤------> 3 'hello' when 5; say 'hi' when * !%% 2 }7⏏5"␤»
04:01 dwarring m: given 5 { say 'hello' when 5; say 'hi' when * !%% 2 }
04:01 camelia rakudo-moar 04791b: OUTPUT«hello␤hi␤»
04:02 dwarring m: given 5 { when 5 {say "hello"}; when * !%% 2 {say "hi"}}
04:02 camelia rakudo-moar 04791b: OUTPUT«hello␤»
04:04 dwarring m: given 5 { say 'hello' when 5; say 'hi' when * !%% 2; say 'blah' when * %% 2  }
04:04 camelia rakudo-moar 04791b: OUTPUT«hello␤hi␤»
04:29 adhoc joined #perl6
04:30 loren joined #perl6
04:42 skids m: given 5 { { say "hello"; succeed } when 5; { say "hi" } when * !%% 2; { say "blah" } when * %% 2  }
04:42 camelia rakudo-moar 04791b: OUTPUT«hello␤succeed without when clause␤  in block <unit> at /tmp/KYHd4x836K:1␤␤»
04:44 skids m: given 5 { when 5 { say "hello"; succeed };  { say "hi" }  when * !%% 2; { say "blah" } when * %% 2  }
04:44 camelia rakudo-moar 04791b: OUTPUT«hello␤»
04:45 skids m: given 5 { 42.say when 5; 43.say; } # golf
04:45 camelia rakudo-moar 04791b: OUTPUT«42␤43␤»
04:46 TimToady that is exactly how I'd expect it to behave
04:46 skids no implicit succeed on a statement modifer form?
04:48 diakopter m: given 5 { 42.say and succeed when 5; 43.say; } # golf
04:48 camelia rakudo-moar 04791b: OUTPUT«42␤succeed without when clause␤  in block <unit> at /tmp/GbLU7TMtr8:1␤␤»
04:48 TimToady that's exactly what I said earlier
04:48 TimToady it is by design, and directly contradicts what the P5 folk decided :)
04:48 diakopter that error is at least myopic
04:49 TimToady yeah, it's a bit LTA
04:49 TimToady maybe "without when block"
04:50 skids -EDIDNTBACKLOG
04:51 skids Yep already in design docs that way.
05:02 kaare_ joined #perl6
05:03 jack_rabbit joined #perl6
05:09 skids .seen dalek
05:09 yoleaux I saw dalek 11 Dec 2015 19:23Z in #perl6: <dalek> perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/085928fff0
05:16 mbrock joined #perl6
05:44 raiph joined #perl6
05:54 nige1 joined #perl6
06:16 vividsnow joined #perl6
06:28 xpen joined #perl6
06:34 vividsnow joined #perl6
06:43 cpage_ joined #perl6
07:25 vividsnow joined #perl6
07:35 rafl joined #perl6
07:45 RabidGravy joined #perl6
07:46 jack_rabbit joined #perl6
07:49 loren joined #perl6
08:01 _nadim joined #perl6
08:02 CIAvash joined #perl6
08:10 _nadim Good Morning
08:16 darutoko joined #perl6
08:17 [Tux] test             50000    22.910    22.796
08:17 [Tux] test-t           50000    18.641    18.527
08:17 [Tux] csv-parser       50000    25.752    25.638
08:19 hankache joined #perl6
08:25 darutoko- joined #perl6
08:25 xfix joined #perl6
08:28 darutoko joined #perl6
08:30 lizmat joined #perl6
08:31 darutoko- joined #perl6
08:31 lizmat good *, #perl6!
08:33 hankache hi lizmat
08:34 RabidGravy marnin
08:37 hankache hi RabidGravy
08:39 spider-mario joined #perl6
08:42 lizmat joined #perl6
08:42 darutoko joined #perl6
08:43 Actualeyes joined #perl6
08:46 rindolf joined #perl6
08:48 _nadim A short question before everything gets buzy like a Morrocan Sook here, I have a method that I pass %options too. The options are overrides to what the class 'has'. It feels clumsy. Better to pass a class containing the options?
08:49 Woodi _nadim: replacing hash with some key with class ?
08:50 Woodi _nadim: you tried named params ?
08:51 Woodi also "setters" for more important functionalities ?
08:52 _nadim I have not tried anything yet :) The ide was that the option_class would 'sa' all the parameters, and thus I get named parameters by default
08:53 _nadim that allows me to put the defaults in the option_class directly
08:53 _nadim what's a 'setter'? and where is it documented?
08:54 lizmat joined #perl6
08:54 stmuk -> #lpw2015
08:54 Woodi _nadim: option class could be augmented to read some config too. depends how complicated use case is...
08:55 _nadim hmm, yes I like that ides. It's not too complicated but I'd like to get this pattern right. I am finished with the module, just don't want it too look to ugly
08:58 RabidGravy in fact if you wanted to simplify the code, a good choice would be to replace the attributes in the original class with a single attribute of the options class and have the handles ( ..... ) for all the previous attribute
08:58 RabidGravy so you don't need to change the parts of the original class that uses those original attributes
08:58 _nadim the passing of the option_class should not be too ugly either. compare dump($x, $t, {opt1 => 1, opt2 =>} ; to dump($x, $t, some::option::class.new(opt1 => 1, opt2 => 2))
08:59 _nadim RabidGravy: exactly what I want to do
08:59 RabidGravy perfect then
08:59 _nadim I just need to find out how ;)
09:00 RabidGravy on the face of it fairly simple
09:01 rurban joined #perl6
09:01 _nadim Iread that to add a module to the ecosystem one has to holler around here
09:02 vendethiel joined #perl6
09:02 mrf joined #perl6
09:02 RabidGravy create a PR against the ecosystem repo adding your module's META.info to the META.list and prod here and all's good
09:03 firstdayonthejob joined #perl6
09:03 hankache joined #perl6
09:04 _nadim OK, anyone up for a peer review before that? This is my firs P6 code after all.
09:05 * vendethiel backlogs
09:06 vendethiel _nadim: what's your module?
09:07 _nadim https://github.com/nkh/P6-Data-Dump-Tree
09:07 lizmat joined #perl6
09:10 _nadim RabidGravy: the only thing I find about the handles trait is http://www.jnthn.net/papers/2008-bpm-perl6oo.pdf doc.perl6.org returns noting about it.
09:17 Woodi _nadim: indentation is bit unusual :) but clear. I think pythonists would put you on MoustWanted list ;)
09:19 _nadim hmm, yes, it's the one that works with my brains, K&R is from hell ;)  If pythonists opionion was important, I'd do Python and i have always found the language boring, although it is good and I have used it.
09:19 lizmat joined #perl6
09:22 Woodi _nadim: do this works for .parse output maybe ?
09:23 _nadim I sure hope it does even if I don't have the slightest idea what it is.
09:23 _nadim try it, it should. And I am interested in making it work with everything.
09:24 Woodi oki :)
09:24 _nadim one can add roles for specific classes to reduce/augment the output.
09:24 pierre-vigier joined #perl6
09:25 _nadim the whole idea is that this should make things much easier on the poor developers. With a secret agenda of making them use more complex structures.
09:25 _nadim Woodi: send me a piece of code, I want to try too
09:33 leont joined #perl6
09:35 domidumont joined #perl6
09:35 vendethiel _nadim: wow, you have a very... surprising way to indent your code
09:36 bjz joined #perl6
09:39 _nadim and I use tabs too.
09:39 Woodi _nadim: I getting empty output...
09:40 _nadim Woodi: did you 'say' it?
09:40 Woodi _nadim: my $r = SomeGrammar.parse("....."); dump $r;
09:40 Woodi err...
09:41 bjz_ joined #perl6
09:41 domidumont joined #perl6
09:41 _nadim Woodi: I did not get to grammars yet. give me something I can run and I'll try dumping it.
09:41 pierre-vigier joined #perl6
09:44 psy_ joined #perl6
09:44 Woodi _nadim: http://paste.scsys.co.uk/502667
09:46 Woodi _nadim: and with 'say' things are visible :)  but I get just one level what is in .perl output; do default 'depth' param is 1 ?
09:47 _nadim it's because Math has a handler, there's arole, let me try it on
09:48 iH2O joined #perl6
09:52 RabidGravy _nadim, if you haven't already worked it out, "handles" is an attribute trait that allows you to delegate certain methods to the value of the attribute
09:53 _nadim RabidGravy: I got that but I just haven't figured out how to use it
09:54 RabidGravy m:   class B { method foo() { say "foo" } };   class C { has B $.b handles <foo> = B.new; };  C.new.foo
09:54 camelia rakudo-moar 502b88: OUTPUT«foo␤»
09:55 Woodi _nadim: also module didn't work on star-2015.09 becouse some problems with 'append'; and yesterday[--] Rakudo had problems with use lib and pre-compilation...
09:56 grondilu I went through the emacs info page lately.  Can't help noticing how good is the texinfo system.  I wonder how easy it will be to convert the Perl 6 doc into this format.
09:56 Woodi maybe  use lib '.'  isn't needed ?
09:57 Woodi grondilu: but you back on emacs thanx to vim movie ? :)
09:57 grondilu not quite yet, but I'm considering it
09:57 _nadim Woodi: this is how it will look like http://paste.scsys.co.uk/502668
09:57 RabidGravy I always thought texinfo was a good format but info was an awful program
09:58 Woodi a lot of keys to remember... /me never been forced enought to learn them :)
09:59 RabidGravy yeah, basically having to learn emacs in order to read documentation is a bit much
09:59 _nadim Woodi: Match is mangled, on purpose, by default. give me a some time I will give you an example. I just ran into something ;)
10:00 _nadim Woodi: the good thing is that if there are things you don't want to see in the Match, you can chose not to.
10:00 rindolf joined #perl6
10:00 Woodi _nadim: ok, have some time ;)  but about Match output: can some parts like from/to/orig can be grepped out ?
10:01 Woodi o, nice, I jast asked about that :)
10:01 RabidGravy right off out for the day
10:02 Skarsnik joined #perl6
10:03 _nadim Woodi: yes, you can do whatever you want with the data you display. It's in the docs ;). a bit later we can discuss it outside this channel to reduce noise
10:03 Woodi but comparing vim and emacs keystrokes time: it's similiar, ESC : in vim takes a lot of time.
10:04 dj_goku_ joined #perl6
10:04 dj_goku_ joined #perl6
10:05 Dee22 joined #perl6
10:06 vendethiel- joined #perl6
10:06 vividsnow1 joined #perl6
10:06 bjz joined #perl6
10:06 ggoebel9 joined #perl6
10:07 colomon_ joined #perl6
10:07 Woodi _nadim: ok, I will check docs first. on disk I have them but not on github...
10:09 pecastro joined #perl6
10:09 emdashcomma_ joined #perl6
10:10 luis` joined #perl6
10:10 notostraca joined #perl6
10:10 uruwi_ joined #perl6
10:10 leat1 joined #perl6
10:10 yakudzo joined #perl6
10:10 bitmap joined #perl6
10:10 telex joined #perl6
10:10 moei joined #perl6
10:11 rindolf joined #perl6
10:11 _nadim Woodi: they are in lib/Data/Dump/Tree.pod
10:11 rurban1 joined #perl6
10:11 ilogger2_ joined #perl6
10:12 _nadim Woodi: jusr msg'ed you, let's continue there
10:13 molaf joined #perl6
10:14 M-Illandan joined #perl6
10:15 kaare_ joined #perl6
10:15 xfix joined #perl6
10:17 bitmap_ joined #perl6
10:17 telex joined #perl6
10:17 chansen_ joined #perl6
10:17 iH2O left #perl6
10:18 moei joined #perl6
10:18 silug joined #perl6
10:18 rindolf joined #perl6
10:21 stux|RC-only joined #perl6
10:23 WizJin joined #perl6
10:24 Ven joined #perl6
10:29 woodruffw joined #perl6
10:29 mephinet joined #perl6
10:38 Begi joined #perl6
10:39 yqt joined #perl6
10:40 mephinet joined #perl6
10:55 leont joined #perl6
11:04 keix joined #perl6
11:15 pierre-vigier joined #perl6
11:15 rurban joined #perl6
11:24 sammers joined #perl6
11:33 loren joined #perl6
11:40 * grondilu was thinking of day12 of advent of code and could not solve it with either deepmap or duckmap.  Wonders if a deepgrep would make sense.
11:41 grondilu http://adventofcode.com/day/12
11:42 grondilu ^oh actually this will make sense to you only if you can see the part 2 of this
11:43 grondilu (and you can't if you haven't solved part 1)
11:48 pmurias joined #perl6
11:48 Begi2 joined #perl6
11:53 koo8 joined #perl6
11:55 grondilu m:  sub deepgrep(&test, @array) { gather @array.map: { if $_ ~~ Positional { take deepgrep(&test, $$_) } elsif .&test { .take } } }; say deepgrep * %% 2,   [[1], 2, [[3,4], 5], [[[]]], [[[6]]], 7, 8, []];
11:55 camelia rakudo-moar 502b88: OUTPUT«(() 2 ((4)) () (6) 8 ())␤»
12:27 pierre-vigier joined #perl6
12:40 kid51 joined #perl6
12:49 pierre-vigier joined #perl6
12:50 llfourn grondilu: I cleaned up your code a bit with what I learnt earlier about 'when', https://gist.github.com/LL​Fourn/99f4ccf32de604bc61b2 :)
12:51 nine Oh, dalek is down.
12:51 yoleaux 11 Dec 2015 18:23Z <ab5tract> nine: thanks for looking into it! "fix is just to abort precompilation if we encounter a dependency that we couldn't load from a precomp file". wouldn't that imply that 'no precompilation;' will bubble up from it's scope into anything which depends on it? i'm assuming not, but curious to know further. hope you enjoy(ed) the party!
12:51 yoleaux 02:08Z <retupmoca> nine: it turns out any filename mangling at all on .dll files makes windows unhappy when a .dll depends on another .dll :(
12:51 yoleaux 02:09Z <retupmoca> nine: so I can't make .dll bundling for OpenSSL work :(
12:52 nine Manual announce: I merged repository_registry in rakudo, roast, panda and Inline::Perl5. Please upgrade all in tandem.
12:53 jnthn nine++
12:54 nine .tell retupmoca Do I understand you correctly that we may not rename libfoo.dll to 79952901E881C09690ED5B86509C32B8D6E18D6B.dll?
12:54 yoleaux nine: I'll pass your message to retupmoca.
12:55 nine jnthn: I think I'm gonna try to implement "no precompilation 'users';" so Inline::Perl5 itself can be precompiled while it's reverse dependencies may not.
12:55 hankache joined #perl6
12:56 Skarsnik why renaming lib? x)
12:57 jnthn nine: Wonder if there's a better word than "users" for that...
12:57 nine Bikeshed at will :) I'm not 100 % convinced it's the right word but lack a better idea.
12:58 jnthn Yes, dependers is clumbsy ;)
12:58 jnthn And dependencies is the wrong direction
12:59 nine Skarsnik: to avoid file system compatibility issues. But I guess they won't be that common with native libraries anyway
12:59 geekosaur nine, openssl has two dlls (libssl, libcrypto) and the former calls into the latter. that would fail if you renamed libcrypto
12:59 nine jnthn: and "users" could well refer to modules "use'ing" the current module ;)
13:00 geekosaur and afaik there's no install_name_tool to edit ssl.dll to point to the new name of crypto.dll
13:01 nine geekosaur, Skarsnik: the second reason for using those SHAs is to avoid collisions in case two distributions ship with similar named resource files.
13:01 jnthn nine: Oh, I figured that's where "users" came from
13:01 nine Ok, have to be off now. Will be back in a couple of hours.
13:01 jnthn nine: Maybe we can store the distribution resources in a directory named with the sha1 and keep the original names, for anything ending in .so, .dll, etc.
13:02 Skarsnik sound like a better idea.
13:02 nine jnthn: oh I like that idea. I was also thinking about using Punycode instead of SHAs so the vast majority of resource files will keep their original name while we're still on the safe side
13:02 jnthn m: say $(1, 2) X <a b c>
13:02 camelia rakudo-moar 502b88: OUTPUT«((1 a) (1 b) (1 c) (2 a) (2 b) (2 c))␤»
13:03 jnthn m: my $x = True; while $x { FIRST { say "first" }; LAST { say "last" }; $x = False; }
13:03 camelia rakudo-moar 502b88: OUTPUT«first␤last␤»
13:03 geekosaur note that this is not windows specific; it comes up there mainly because you want to bundle C bits on Windows because they can be hard to get otherwise
13:04 llfourn nine++, your merge has fixed: RT #126878 if anyone can close it
13:10 Begi joined #perl6
13:17 jnthn I've been through the RT tickets that were filed since I made the xmas ticket list, and a number of them (13-14) made it into the list. https://rt.perl.org/Ticket/Display.html?id=123766 is probably pretty final.
13:18 jnthn There are a number of tickets relating to the feed operations, ==> and <==. Given they are so far from what's in the design docs, I'm pondering those becoming experimental, so we can decide later, get their threading behavior worked out, etc. We won't be able to nail all of that this side of xmas. If anyone has any objections on this one, please let me know within the next day or so.
13:21 jnthn lunch &
13:28 moritz seems that hack is hung again :(
13:30 pdcawley joined #perl6
13:32 dalek joined #perl6
13:33 timotimo m: sub succeed(|c) { say "ha-ha!" }; given 10 { when * %% 2 { say "even" }; when * !%%2 { say "odd" }; say "booboo" }
13:33 camelia rakudo-moar bdc37f: OUTPUT«even␤ha-ha!␤booboo␤»
13:34 moritz jnthn: ==> and <== seem to be used a bit in the ecosystem, so there'd be a significatn (but not huge) cost associated with experimentalizing them
13:34 timotimo ^- we might want to either have it automatically call SUCCEED instead of succeed or we may want to look that up only in the core setting
13:34 timotimo the danger of someone "accidentally" defining a "sub succeed" and having "when" suddenly not succeed properly any more is real, IMO
13:35 timotimo also meshes well with the theme of "all-capital-letters subs and methods get called by perl6 on your behalf"
13:35 Skarsnik succeed and proceed are very confusing x)
13:35 sergot joined #perl6
13:36 moritz jnthn: MARTIMM/BSON, colomon/ABC cosimo/perl6-cache-memcached, labster/perl6-File-Find-Duplicates,masak/crypt,  marcoonroad/Coro-Simple, tokuhirom/p6-Crust vendethiel/Sprockets.pl are the users of ==>
13:36 * vendethiel- looks
13:37 vendethiel- ah, yes, I do use that, it's pretty nice :-)
13:38 vendethiel- ab5tract: your advent post was really great, I linked it around to a few friends who wanted to learn perl 6 :). helps demysticize
13:38 vendethiel- great advent posts in general. @bloggers>>++
13:40 timotimo Skarsnik: confusing in what way?
13:41 colomon moritz: ABC doesn’t actually use ==>, those characters only appear in strings
13:41 Skarsnik It's not that obvious like break or continue
13:42 Skarsnik proceed for me is "exit and proceed the rest of the code" x)
13:42 moritz colomon: oh right, I misread
13:42 colomon moritz: no worries, I was just like, “Do I even know how to use ==>”?
13:44 timotimo Skarsnik: perhaps that's just "not being a native speaker"?
13:44 Skarsnik Yes, probably
13:46 dalek doc: 9d7d682 | sylvarant++ | doc/Language/nativecall.pod:
13:46 dalek doc: Clarify that CStruct are by reference
13:46 dalek doc:
13:46 dalek doc: This commit clarifies that in NativeCall CStructs are always pass by reference.
13:46 dalek doc: This wasn't immediately clear to me when I worked on Compress::Brotli, leading to some odd behaviour.
13:46 dalek doc: review: https://github.com/perl6/doc/commit/9d7d6825f8
13:46 dalek doc: 12b4542 | sylvarant++ | doc/Language/nativecall.pod:
13:46 dalek doc: Fix grammer
13:46 dalek doc: review: https://github.com/perl6/doc/commit/12b45426dd
13:46 dalek doc: 703ee75 | moritz++ | doc/Language/nativecall.pod:
13:46 dalek doc: Merge pull request #238 from sylvarant/master
13:46 dalek doc:
13:46 dalek doc: Clarify that CStructs are exchanged by reference
13:46 dalek doc: review: https://github.com/perl6/doc/commit/703ee75372
13:47 Skarsnik I was wondering how you pass a cstruct not by ref actually x)
13:47 timotimo the only way we have is to put it into another CStruct with "HAS"
13:48 timotimo the rest is up to ABI considerations
13:48 timotimo because a struct obviously doesn't fit into a register
13:50 pdcawley joined #perl6
13:57 jnthn timotimo: The same argument could be made for any sub, including the other control operators.
13:58 Skarsnik succeed sound like a signal name x)
13:58 timotimo hm
13:58 jnthn I'm leaning towards the compiler only looking for various *types* in the setting.
13:59 jnthn (Block, Parameter, Signature...)
14:00 timotimo mhm
14:00 timotimo if someone has a use-case for overriding these, perhaps a use statement could change that behavior
14:01 llfourn m: say Int ~~ 1 #bug?
14:01 camelia rakudo-moar bdc37f: OUTPUT«Invocant requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/pyUxurVWY9:1␤␤»
14:01 timotimo llfourn: do you expect anything else?
14:02 timotimo m: say Int == 1
14:02 camelia rakudo-moar bdc37f: OUTPUT«Invocant requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/RQLJLZKnON:1␤␤»
14:02 grondilu m: package A { our regex foo { foo } }; say "foo" ~~ /<A::foo>/;
14:02 camelia rakudo-moar bdc37f: OUTPUT«Method '!cursor_init' not found for invocant of class 'A'␤  in block <unit> at /tmp/oTiNJS6mpx:1␤␤»
14:02 llfourn I expect False because Int doesn't match 1
14:02 Skarsnik m: say 1 ~~ Int
14:02 camelia rakudo-moar bdc37f: OUTPUT«True␤»
14:02 llfourn m: say Str ~~ "foo";
14:02 camelia rakudo-moar bdc37f: OUTPUT«False␤»
14:02 llfourn like that ^^
14:02 timotimo oh, interesting that that doesn't warn
14:03 jnthn grondilu: A needs to be a grammar for that to work
14:03 jnthn grondilu: And no need for our
14:03 grondilu even like this?:
14:03 grondilu m: package A { our $foo = rx/foo/ }; say "foo" ~~ /<A::foo>/;
14:03 camelia rakudo-moar bdc37f: OUTPUT«Method '!cursor_init' not found for invocant of class 'A'␤  in block <unit> at /tmp/DhUFkQ3uEY:1␤␤»
14:03 jnthn That's even less likely to work.
14:04 grondilu m: package A { our $foo = rx/foo/ }; say "foo" ~~ /<$A::foo>/;
14:04 camelia rakudo-moar bdc37f: OUTPUT«「foo」␤»
14:04 jnthn Givne the fanishing $
14:04 jnthn *vanishing
14:04 jnthn That'll do it.
14:04 grondilu ok
14:04 jnthn <A::foo> is defined as "switch to grammar A and use its foo rule"
14:04 grondilu ok, makes sense
14:05 xpen joined #perl6
14:06 raiph joined #perl6
14:12 llfourn timotimo: to me Str ~~ "foo" is the only one that behaves correctly :P
14:12 timotimo i wonder if there's a separate multi candidate to make that "work"
14:13 hankache m: "foo" ~~ Str
14:13 camelia rakudo-moar bdc37f: ( no output )
14:13 llfourn I think Mu should have multi method ACCEPTS(Mu:U: Any:D) { False }
14:13 hankache m: say "foo" ~~ Str
14:13 camelia rakudo-moar bdc37f: OUTPUT«True␤»
14:14 timotimo llfourn: i think that's the wrong way around
14:15 llfourn timotimo: you mean my picture in general or the args to ACCEPTS?
14:15 bjz joined #perl6
14:15 llfourn timotimo: yes you are right :)
14:16 llfourn method ACCEPTS(Mu:D: Mu:U) { False } # I guess
14:16 llfourn thanks!
14:17 psy_ joined #perl6
14:26 bjz joined #perl6
14:27 dalek nqp: 21e8038 | jnthn++ | src/QRegex/Cursor.nqp:
14:27 dalek nqp: Make !cursor_init ignore unknown named args.
14:27 dalek nqp:
14:27 dalek nqp: Easiest way to fix Grammar.parse failing to match Perl 6 interface
14:27 dalek nqp: consistency rules.
14:27 dalek nqp: review: https://github.com/perl6/nqp/commit/21e8038f64
14:28 dalek rakudo/nom: b946a30 | jnthn++ | tools/build/NQP_REVISION:
14:28 dalek rakudo/nom: Bump NQP_REVISION for interface consistency fix.
14:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b946a30574
14:28 dalek roast: 8dc9fec | jnthn++ | S12-class/interface-consistency.t:
14:28 dalek roast: Test for RT #126708.
14:28 dalek roast: review: https://github.com/perl6/roast/commit/8dc9fec698
14:33 _nadim Is it possible to alias roles and classes? I have a class Data::Dump::Tree::Role::XXXX, it's a mouth full, I want to make it _also_ available as DDTR::XXXX.
14:33 jnthn Using a constant is the usual trick
14:33 Skarsnik class DDTR::XXX is Dump::Tree::Role::XX ?
14:34 jnthn package DDTR { constant XXXX = ...; }
14:34 _nadim XXXX is a role
14:34 _nadim sure I can make XXXX point to it too
14:34 jnthn constant doesn't care what it points at :)
14:35 _nadim I realized that after I wrote it was a role :)
14:35 _nadim I'm trying both, just for fun!
14:36 llfourn you can also is export the constant if you want it available elsewhere :)
14:38 lizmat joined #perl6
14:39 lizmat jnthn: punning a class with a method yadayada, should maybe not fail, but instead install the yadayada's ?
14:39 lizmat m: role A { method $a { ... } }; A.new
14:39 camelia rakudo-moar b946a3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D_7tiHleEj␤Missing block␤at /tmp/D_7tiHleEj:1␤------> 3role A { method7⏏5 $a { ... } }; A.new␤»
14:40 lizmat m: role A { method a { ... } }; A.new
14:40 camelia rakudo-moar b946a3: OUTPUT«Method 'a' must be implemented by A because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2685␤  in any apply at gen/moar/m-Metamodel.nqp:2695␤  in any compose at gen/moar/m-Metamodel.nqp:2831␤  in any make_pun …»
14:40 jnthn lizmat: Punning it will continue to fail
14:40 jnthn lizmat: But I'm going to whitelist a few more methods
14:41 lizmat jnthn: the problem is really with something like this:
14:41 lizmat m: role A { method a { ... } }; say A
14:41 camelia rakudo-moar b946a3: OUTPUT«Method 'a' must be implemented by A because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2685␤  in any apply at gen/moar/m-Metamodel.nqp:2695␤  in any compose at gen/moar/m-Metamodel.nqp:2831␤  in any make_pun …»
14:41 jnthn Right, so .gist goes on the whitelist :)
14:41 lizmat failing because it puns the role into a class
14:41 jnthn Same with WHICH, and perl
14:42 lizmat and .Str I assume ?
14:42 jnthn Guess so
14:42 _nadim I opted for Skarsnik's solution role XX does other_role {}  it looks good and I don't need to handle user defined roles
14:42 lizmat ok, not sure where you are whitelisting that...  but we'll see :-)
14:42 diana_olhovik joined #perl6
14:42 loren joined #perl6
14:43 broquaint joined #perl6
14:43 jnthn There's already a short list of things we do when we configure the role punning.
14:45 lizmat ok
14:45 llfourn _nadim: making a new role just to make a shrot name is a little odd to me but * feels good :)
14:47 Ven joined #perl6
14:47 leont joined #perl6
14:47 skids joined #perl6
14:58 _nadim :) I prefer long names but it's a request by user #1, can't refuse him.
15:00 lizmat cool, we passed the 51K spectest tests boundary
15:01 jnthn And that's without including the stress tests :)
15:01 llfourn \o/ nicely done
15:01 pierre-vigier joined #perl6
15:11 * jnthn tests a fix for RT #126507
15:12 molaf joined #perl6
15:13 _nadim I can't seem to find something like try catch for exceptions, wht's the best place to learn about exceptions?
15:13 llfourn _nadim: have you checked out http://docs.perl6.org/language/exceptions
15:13 cognominal joined #perl6
15:13 jnthn http://doc.perl6.org/language/exceptions
15:13 jnthn hah
15:14 llfourn eh but it doesn't look like there's an example of try { } there :P
15:14 * llfourn adds to TODO
15:14 jnthn Well, you often don't need try
15:14 jnthn To use with CATCH
15:14 jnthn But yeah, should go in there
15:14 llfourn yep :)
15:14 _nadim yes I have, wanted more but I guess all is there, don't ask what more or I'll die X::UNKNOWN on you ;)
15:15 llfourn I haven't really used exceptions much. I should.
15:15 * lizmat notices that a rebuild on JVM only succeeds after nuking install
15:16 * jnthn will be away for a bit
15:16 llfourn m: { die "Fail"; CATCH { .perl.say } }
15:16 camelia rakudo-moar b946a3: OUTPUT«X::AdHoc.new(payload => "Fail")␤Fail␤  in block <unit> at /tmp/Hj5B6o4ueM:1␤␤»
15:16 _nadim llfourn: lucky you, I have no choice, it's eploding in my face all the time :)
15:17 llfourn hmm I think the docs shouldn't have "To handle all exceptions use a default statement."
15:17 llfourn you can handle all of them with CATCH { ...do something to $_ }
15:17 llfourn (or am I missing something)
15:20 llfourn m: { die "Fail"; CATCH {  } }; say "i'm still running"; # let's see
15:20 camelia rakudo-moar b946a3: OUTPUT«Fail␤  in block <unit> at /tmp/UjBC5gMd81:1␤␤»
15:20 lizmat but make install fails on jvm:
15:20 lizmat ./perl6-j tools/build/install-core-dist.pl
15:20 lizmat No writeable path found
15:20 lizmat in block <unit> at tools/build/install-core-dist.pl:15
15:20 llfourn hmm so if you don't test $_ it continues..
15:21 llfourn m: { die "Fail"; CATCH { note $_ } }; say "i'm still running";
15:21 camelia rakudo-moar b946a3: OUTPUT«Fail␤  in block <unit> at /tmp/k3B1XNpN5i:1␤␤Fail␤  in block <unit> at /tmp/k3B1XNpN5i:1␤␤Actually thrown at:␤  in block <unit> at /tmp/k3B1XNpN5i:1␤␤»
15:23 lucs m: my $a = 42; say $a[0][0][0]  # Why does this work?
15:23 camelia rakudo-moar b946a3: OUTPUT«42␤»
15:24 geekosaur iirc scalars get promoted to lists when needed?
15:24 lucs Hmm...
15:24 geekosaur so that happesn 3 times
15:24 timotimo not "get promoted to"
15:24 timotimo individual values act like a list of that individual values in cases where a listy operation is performed upon them
15:25 lucs I kind of expected it to fail.
15:26 * lucs changes his expectations.
15:26 _nadim llfourn: there is this too http://moritz.faui2k3.org/files​/talks/2013-yapc-p6-exceptions/
15:26 llfourn _nadim: ah yes you're right It's a good one :)
15:27 _nadim I haven't read it yet. I was scratching my head with Exception is not resumable!
15:27 timotimo this years' advent calendar is now only 5k views and visitors behind last years'
15:27 hankache anyone tried Farabi6?
15:27 lucs timotimo: What was the total last year?
15:27 hankache panda install Farabi6
15:28 hankache is it failing for everyone?
15:28 timotimo 50,115 views, 24,309 visitors
15:28 lucs Not bad for halfway through.
15:29 timotimo between april and september, each month also had between 2k and 2.5k views
15:29 lucs s/Not bad/Pretty good/
15:29 hankache what is @*INC?
15:29 timotimo december 2015 alone is at 16.5k views, 7k visitors
15:29 timotimo hankache: deprecated is what it is :)
15:30 hankache timotimo ah so yhis is where the error is coming from
15:30 geekosaur it needs to be updated for curli
15:30 hankache so we replace it with what?
15:31 lucs Did "curli" mean anything?
15:31 _nadim Can anyone explain "This exeption is not resumable" ?
15:31 timotimo depends on how it's used. if it's like "BEGIN { @*INC.push: "/foo/bar/baz" }" it should have been turned into 'use lib "/foo/bar/baz"' a long, long time ago
15:31 timotimo lucs: "CompUnitRepo::Local::Installation"
15:31 lucs Oho, thanks
15:31 Skarsnik $*REPO ?
15:32 timotimo please tell me where "@*INC" is used?
15:32 hankache timotimo: https://github.com/azawawi/fa​rabi6/blob/master/t/01-load.t
15:32 Skarsnik There is maybe a pullrequest for it?
15:32 timotimo oh, it's just in the test file
15:33 hankache yup
15:33 timotimo there is a pull request for it now.
15:34 hankache bah forget about it i can install it even with --no tests
15:35 timotimo sure
15:35 hankache i meant i can't install it
15:35 hankache :(
15:35 timotimo oh!
15:35 timotimo well, that's bad
15:36 hankache i can't install it even with --notests
15:36 timotimo it probably needs to use %*RESOURCES to find all its files
15:37 hankache anyway thanks for the PR I hope the author will fix it
15:40 Util joined #perl6
15:41 El_Che azawi, the author of farabi, is often around
15:41 domidumont joined #perl6
15:49 lizmat joined #perl6
15:51 leont joined #perl6
15:51 loren joined #perl6
15:54 rurban joined #perl6
15:56 skids joined #perl6
15:57 dalek doc: 7187fee | skids++ | doc/Language/control.pod:
15:57 dalek doc: Decided example of when statement modifier disrupted the flow
15:57 dalek doc:
15:57 dalek doc:   Explain it when explaining proceed/succeed instead
15:57 dalek doc:   Also, document nested when/default statements
15:57 dalek doc: review: https://github.com/perl6/doc/commit/7187fee000
16:02 maddingue joined #perl6
16:12 _nadim Heap corruption detected: pointer 0x7f2976249fc8 to past fromspace,  I think I am a disturbance in the force!
16:12 _nadim Do I tnarrow it down or do I keep it for after Christmas?
16:13 lizmat .tell nine https://gist.github.com/li​zmat/be6246dfd8d7bdf7ba2f   # JVM make install full stacktrace
16:13 yoleaux lizmat: I'll pass your message to nine.
16:13 xfix joined #perl6
16:14 lizmat _nadim: a rakudobug is always appreciated
16:18 xfix joined #perl6
16:20 _nadim I live to serve.
16:21 _nadim would a branch of my module plus the code to generate the error work?
16:26 grondilu best would be to reproduce the error with a minimalistic code
16:27 lizmat what grondilu said :-)
16:28 * timotimo lives to sever
16:30 lizmat keynote&
16:33 _nadim I did not ask what was best :)
16:36 regreg joined #perl6
16:37 domidumont timotimo: I found what was wrong yesterday: the command that failed loaded  perl6.moarvm from old rakudo package (i.e. /usr/share/perl6/runtime/perl6.moarvm)
16:37 _nadim jnthn: you probably won't be surprised that I wrapped some exception ahndling around the attributes code as you suggested yesterday, I got tired of getting a different error everytime a different class is dumpes, I think 'Isa' is not implemented for class XXXX was the drop :)
16:38 JimmyZ joined #perl6
16:38 domidumont timotimo: once the old rakudo package is removed, I no longer get the error about QRegex.nqp , which is good
16:40 domidumont timotimo: but  package build still fails: Unhandled exception: While looking for '/usr/share/perl6/runtime/perl6.moarvm'
16:41 timotimo ah. phew!
16:44 timotimo i don't have an immediate idea why that'd happen :|
16:45 Skarsnik blame nine! wait that does not work anymore? x)
16:46 domidumont timotimo: the perl6-m that was built is looking for perl6.moarvm in prefix dir (/usr). But this file is not yet installed. I need to way to tell perl6-m to look elsewhere to find perl6.moarvm
16:47 Actualeyes left #perl6
16:48 domidumont I guess that the root cause is --prefix option is used to specify where nqp and moar are (in this case in /usr/bin/ because they are packaged separately and already installed)
16:48 domidumont and --prefix is also used to specify where to install rakudo.
16:49 domidumont To install files in the build directory, I have to use DESTDIR variable before running make install. But this variable is not used to locate perl6.moarvm
16:55 RabidGravy joined #perl6
16:56 moritz domidumont: doesn't the new --sdkroot option solve the problem?
16:56 moritz domidumont: you can point it to the directory with nqp and moar, and specify a different --prefix
16:57 domidumont moritz: Oops, Looks like I missed this option. I'm going to try
16:58 domidumont thanks
16:58 khw joined #perl6
16:58 jnthn _nadim: Exception is not resumable - did you actually call .resume? Or was something in Rakudo trying to do that?
16:58 moritz domidumont: it's only a month old or so
17:00 Ch0c0late joined #perl6
17:01 pierre-vigier joined #perl6
17:04 _nadim jnthn: I did call resume
17:05 jnthn Ah. Well, it means what it says. Some exceptions represent a condition that is unrecoverable, you can't just try going on.
17:06 CIAvash joined #perl6
17:06 jnthn It's mostly there to support control exceptions, like warnings.
17:07 timotimo jnthn: should i also duplicate MVM_nativeref_read_positional_* into *_read_multidim_*? the same for writing?
17:08 jnthn timotimo: Yeah, I'd think so
17:08 timotimo OK
17:08 timotimo this'll get us a bunch of new ops, too ... and more entries into the HLL and more work for the hllconfig portion of rakudo
17:09 * timotimo has never considered if hllconfig struct would be an ABI thing
17:09 timotimo it's not, though, right? because we fill it with an MVMHash
17:10 jnthn A bunch of new ops?
17:10 Skarsnik Is there a way to use 'perl6' from another language btw?
17:10 jnthn Skarsnik: Inline::Perl6 does it from Perl 5
17:10 jnthn timotimo: I'd only expect the 4 typed ones for taking the ref
17:11 Skarsnik I was thinking more from C/C++ x)
17:11 jnthn timotimo: WE don't need to do the 2d/3d special case ones
17:11 timotimo oh, duh
17:11 jnthn Skarsnik: I'd guess Inline::Perl6 was written at least partly in C... :)
17:12 timotimo writing to and reading from these references goes via assign_* and decont_* anyway
17:12 timotimo not via special ops
17:12 jnthn aye
17:12 timotimo that was my mistake of thought
17:12 jnthn That was the point; you can implement native-int-ref++ without having to know exactly what type of aggregate the native value being referenced lives in.
17:12 vividsnow joined #perl6
17:13 jnthn (While making sure that spesh can know, and strip out the indirection)
17:13 timotimo right
17:13 jnthn Darn, my RT #126507 patch regressed exactly one spectest..
17:13 * jnthn will figure it out after dinner
17:14 b2gills m: $/=5;$_=6;#`(␤$/++;$_--;#)␤print "This program wasn't written in Perl $_, it was built for Perl $/!\n"
17:14 camelia rakudo-moar b946a3: OUTPUT«This program wasn't written in Perl 6, it was built for Perl 5!␤»
17:14 b2gills m: $/=5;$_=6;# `(␤$/++;$_--;#)␤print "This program wasn't written in Perl $_, it was built for Perl $/!\n"
17:14 camelia rakudo-moar b946a3: OUTPUT«This program wasn't written in Perl 5, it was built for Perl 6!␤»
17:16 TimToady gah, what are these non-QAST nodes doing in my QAST tree?  old_topic_1 and sm_result_1 etc.
17:18 jnthn TimToady: Quickly grepping, seems they're to do with the locallifetime op
17:18 jnthn Which was a sorear++ creation for improving code size (notably, on the JVM)
17:18 _nadim live can't be so hard that exception handling has to look like this, what am I doing wrong/ugly http://nopaste.linux-dev.org/?879301
17:19 jnthn TimToady: If we don't handle that op specially at the moment, I suggest doing so, and just visiting its first child (similar to how the handle op needs special treatment)
17:20 timotimo m: my @result = (try <1, 2, 3>, die "oh no!") orelse "error occured, see $!"; say @result
17:20 camelia rakudo-moar b946a3: OUTPUT«[(Any)]␤»
17:20 jnthn _nadim: Well, the first lines could be my @a = try get_Any_attributes($a);
17:20 timotimo m: my @result = ((try <1, 2, 3>, die "oh no!") orelse "error occured, see $_"); say @result
17:20 camelia rakudo-moar b946a3: OUTPUT«Use of Nil in string context  in block  at /tmp/vYyotn3rUf:1␤[error occured, see ]␤»
17:20 timotimo m: my @result = ((try <1, 2, 3>, die "oh no!") orelse "error occured, see $!"); say @result
17:20 camelia rakudo-moar b946a3: OUTPUT«[error occured, see oh no!]␤»
17:20 timotimo ^- just one other way to do it
17:21 jnthn Then I'd probably just $! ?? ('Dumper exception! See documentation', "$!") !! @a or so
17:21 jnthn Instead of mutating @a
17:27 _nadim indeed
17:33 SmokeMachine___ joined #perl6
17:33 xfix_ joined #perl6
17:34 Ch0c0late_ joined #perl6
17:34 flussenc1 joined #perl6
17:34 avalenn_ joined #perl6
17:35 jony__ joined #perl6
17:35 mrsolo_ joined #perl6
17:36 integral_ joined #perl6
17:36 integral_ joined #perl6
17:36 ilmari_ joined #perl6
17:37 corbyhaas_ joined #perl6
17:38 [ptc]_ joined #perl6
17:39 Humbedoo` joined #perl6
17:39 robins joined #perl6
17:40 riatre joined #perl6
17:40 yx_ joined #perl6
17:40 frew joined #perl6
17:41 hacst joined #perl6
17:42 advwp joined #perl6
17:42 jdv79 this used to work a few ?weeks? ago:  https://gist.github.com/ano​nymous/8498f62f04cead485be5
17:42 jdv79 not sure what is goin on there
17:45 geekosaur joined #perl6
17:46 RabidGravy joined #perl6
17:47 TimToady how the heck are we getting an ast node of Perl6::Optimizer?!?
17:47 JimmyZ joined #perl6
17:47 BuildTheRobots joined #perl6
17:55 koo8 joined #perl6
17:55 WizJin joined #perl6
17:56 timotimo huh?
17:56 RabidGravy boo
17:58 lucasb joined #perl6
18:00 zengargo1le joined #perl6
18:03 advwp joined #perl6
18:04 jdv79 seems it may be connected to precomp.  adding no precompilation changed the error
18:04 TimToady sanity restored, visit_children wasn't return $node, so returned self instead
18:11 [Coke] joined #perl6
18:15 TimToady so when my make runs tools/build/install-core-dist.pl, I get all these lovely sets of WARNINGS, none of which say which file they're from (course, would probably be a hash anyway, grr)
18:18 jdv79 .tell nine confirmed i think.  looks like URI2 is broke by precomp.  adding no precompilation to the top of *.pm6 kills the errors.
18:18 yoleaux jdv79: I'll pass your message to nine.
18:18 TimToady so I presume it's just a bug that this message includes 'inst#' there: Please make sure that inst#/home/larry/.rakudobrew/moar​-nom/install/share/perl6/site/bin is in your PATH
18:20 jnthn Yeah, could do with being stripped
18:20 TimToady incidentally I still get the stupid "Couldn't determine correct make program. Aborting." when I 'rakudobrew triple'
18:21 TimToady I'm worried that we're not going to be able to support these things if the right people aren't in town...
18:23 s_kilk joined #perl6
18:25 jdv79 the bus factor is worthy of worry around here
18:27 cdg joined #perl6
18:27 advwp joined #perl6
18:30 bhm camelia: help
18:30 camelia bhm: Usage: <(nqp-js|star-j|rakudo-MOAR|niecza|nqp-parrot|r​akudo-moar|p5-to-p6|debug-cat|pugs|nqp-jvm|nqp-​moarvm|star-m|prof-m|std|rakudo-jvm|rPn|nPr|r-j​vm|rj|rn|nrP|r-j|nqp|perl6|rakudo|Prn|star|n|nq​p-m|nr|sm|nom|rnP|nqp-mvm|P|M|p56|Pnr|m|r|rm|sj​|p6|nqp-q|r-m|nqp-p|nqp-j|j)(?^::\s(?!OUTPUT))
18:30 camelia ..$perl6_program>
18:31 ChristopherBotto joined #perl6
18:35 sufrostico joined #perl6
18:36 [Coke] jnthn: +1 to making things experimental pre christmas.
18:40 johnjohn101 joined #perl6
18:40 johnjohn101 release this month?
18:40 timotimo well, we certainly hope so!
18:41 johnjohn101 timotimo: very nice. it's been a long time coming :)
18:41 timotimo that's quite true
18:43 johnjohn101 so basically rakudo perl on which engine?
18:43 advwp joined #perl6
18:43 jnthn MoarVM
18:43 [Coke] moavm
18:45 jnthn [Coke]: Yes, so far with feeds it's been "I like them" (hey, me too...that's why I want to get 'em right :)) and "a handful of modules use them", but no "I'll step up and take care of them", so I suspect experimental.
18:48 iH2O joined #perl6
18:49 lucasb can someone look into yours panda's rootdir and see if there is a '(HANDLED) Failed to open file' directory in there? Am I the only one experiencing this?
18:52 lucasb It seems panda installs fine, even with this strange directory
18:56 pjscott joined #perl6
18:56 pjscott Basic question about laziness:
18:57 pjscott I used File::Find to get a lazy list: my $list = find( dir => '.', type => 'file' );
18:57 pjscott Then did .say for $list[0..*];
18:57 pjscott But it did not output anything until it had gotten all the results.  What am I missing?
18:58 TimToady * calls .elems, which is eager
18:58 jnthn 0..* will call .elems on the list to find the upper bound
18:58 jnthn just write .say for @$list
18:58 jnthn or my \list = find ...; .say for list
18:58 TimToady well, that will cache, I suspect
18:59 pjscott Huh, that was too easy.
18:59 jnthn Yes, I'm not entirely happy that we made @ be .cache, not .list
18:59 pjscott I thought @$list would flatten it, never thought to try.
18:59 TimToady well, I still think that's the best place to put it, mnemonically
18:59 pjscott Works.
19:00 pjscott Somewhat counterintuitive since @list = find would be eager
19:02 TimToady because of the assignment, not the @
19:02 AlexDaniel joined #perl6
19:02 pierre-vigier joined #perl6
19:02 TimToady @list := find would presumably be lazy
19:02 pjscott I am going to be looking for the ways to make this easy to understand.
19:03 iH2O left #perl6
19:03 pjscott Yes it is TT
19:04 ChristopherBotto This is the beginning of a very long file name that I found after installing panda:
19:04 ChristopherBotto '/home/username/.rakudobrew/​moar-de52f9/panda/(HANDLED) Failed to open file /home/username/.rakudobrew/moar-de52f9/p​anda/inst#/home/username/.rakudobrew/moa​r-de52f9/install/share/perl6/site/panda: no such file or directory   in any  at /home/username/.rakudobrew/moar-d​e52f9/install/share/perl6/runtime
19:04 timotimo ChristopherBotto: you're the second person to find something like that; for the other person it created one folder for each word and put them all into one deep chain :(
19:05 ChristopherBotto timotimo: Yes that is the case.
19:05 timotimo oh lord :(
19:07 lucasb thing is... panda bootstrap tries to call bin/panda with an option --prefix=inst#/some/path ... I don't think this will end well :)
19:08 lucasb then, make-default-ecosystem in Panda::App does $prefix = "$*CWD/$prefix"
19:08 lucasb then, there is this line: mkpath $pandadir unless $pandadir ~~ :d
19:09 lucasb I think mkpath is somehow splitting this stringifed failure with '/' and creating lots of directories
19:10 ChristopherBotto Despite the funny directory, I was able to install Config::INI and it works!
19:11 lucasb indeed, I think panda just tries that, sees that it doesn't work, and move on to try another possible directory to install things
19:11 zengargoyle i've been sorta curious why inst#/... was picked over something like inst://.. URI-ish like scheme.
19:13 bjz joined #perl6
19:13 lucasb *stringified failure
19:22 dalek nqp: 65ea65a | timotimo++ | / (2 files):
19:22 dalek nqp: bump Moar Revision and map mulditimref_* ops
19:22 dalek nqp: review: https://github.com/perl6/nqp/commit/65ea65a80f
19:22 dalek nqp: 0f09e73 | timotimo++ | / (2 files):
19:22 dalek nqp: Merge branch 'multidim_references'
19:22 dalek nqp:
19:22 dalek nqp: Makes available the multidimref_* nqp:: ops
19:22 dalek nqp: review: https://github.com/perl6/nqp/commit/0f09e73bfa
19:25 lucasb So, the problematic code in panda is easy to reproduce, just call mkpath with an IO object: perl6 -e 'use Shell::Command; mkpath "foo/bar".IO'
19:25 lucasb it will create a '(HANDLED) Failed to open file' directory tree
19:26 travis-ci joined #perl6
19:26 travis-ci NQP build failed. Timo Paulssen 'Merge branch 'multidim_references'
19:26 travis-ci https://travis-ci.org/perl6/nqp/builds/96480811 https://github.com/perl6/nqp/com​pare/21e8038f6473...0f09e73bfa36
19:26 travis-ci left #perl6
19:26 timotimo oh?
19:26 timotimo huh. let's see.
19:27 timotimo is travis-ci somehow broken?
19:28 advwp joined #perl6
19:30 ChoHag_ joined #perl6
19:30 ChoHag_ I considered adding another adverb to postcircumfix:<[ ]>. Is doing that really as complicated as it looks?
19:33 ChoHag (ie. I have to add it to, and replicate much of the magic of, postcircumfix:(< >) rather than just to AT-POS)
19:33 ollej joined #perl6
19:35 timotimo the travis ci website doesn't seem to work at all for me
19:35 lucasb MoarVM op 'multidimref_i' is unknown as a core or extension op
19:35 lucasb timotimo: ^^ I see this error in travis site
19:35 timotimo um, huh? did it not respect the MOAR_REVISION?
19:36 timotimo oh, haha
19:36 timotimo i used >> instead of >
19:36 dalek nqp: ff112f3 | timotimo++ | tools/build/MOAR_REVISION:
19:36 dalek nqp: fix moar version bump
19:36 dalek nqp: review: https://github.com/perl6/nqp/commit/ff112f37ac
19:37 timotimo that ought to fix the build
19:38 advwp joined #perl6
19:40 travis-ci joined #perl6
19:40 travis-ci NQP build passed. Timo Paulssen 'fix moar version bump'
19:40 travis-ci https://travis-ci.org/perl6/nqp/builds/96482219 https://github.com/perl6/nqp/com​pare/0f09e73bfa36...ff112f37ac95
19:40 travis-ci left #perl6
19:41 timotimo that's good
19:46 secwang joined #perl6
19:52 dalek nqp: 044d4dd | timotimo++ | tools/build/MOAR_REVISION:
19:52 dalek nqp: bump for an important fix in multidim nativerefs
19:52 dalek nqp: review: https://github.com/perl6/nqp/commit/044d4ddd05
19:53 xpen joined #perl6
19:53 dalek rakudo/nom: d6687b0 | timotimo++ | / (3 files):
19:53 dalek rakudo/nom: bump NQP & make available multi-dimensional arrayrefs
19:53 dalek rakudo/nom:
19:53 dalek rakudo/nom: only on MoarVM so far, but it's #?if moar'd everywhere.
19:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d6687b000a
19:54 retupmoca .botsnack
19:54 yoleaux :D
19:54 yoleaux 12:54Z <nine> retupmoca: Do I understand you correctly that we may not rename libfoo.dll to 79952901E881C09690ED5B86509C32B8D6E18D6B.dll?
19:54 johnjohn101 will perl6 do ssl?
19:54 AlexDaniel johnjohn101: what do you mean exactly?
19:55 johnjohn101 can i access a ssl socket in perl6? is that feature available?
19:55 Skarsnik It's the module I think
19:55 timotimo we have a module for that,
19:55 timotimo yeah
19:55 johnjohn101 ok
19:56 Skarsnik But I am not sure it work? http::ua does not seem to put the right header to make it work
19:56 retupmoca .tell nine renaming dlls works fine if libfoo.dll is standalone. But in the case of openssl: ssleay32.dll depends on libeay32.dll. I load libeay32.dll (works great!), then I try to load ssleay32.dll which tries to find or load a dll named 'libeay32.dll'. Since I didn't load it with that filename, ssleay32 won't load because it can't find libeay32.dll
19:56 yoleaux retupmoca: I'll pass your message to nine.
19:56 Skarsnik *work for https
19:57 nine jdv79: that's a really strange error. I golfed it down to: RAKUDO_MODULE_DEBUG=1 perl6 -Ilib -e 'use URI2::Authority::Host; use URI2::Authority::UserInfo; class URI2::Authority { has URI2::Authority::Host $.host; }'
19:57 yoleaux 16:13Z <lizmat> nine: https://gist.github.com/li​zmat/be6246dfd8d7bdf7ba2f   # JVM make install full stacktrace
19:57 yoleaux 18:18Z <jdv79> nine: confirmed i think.  looks like URI2 is broke by precomp.  adding no precompilation to the top of *.pm6 kills the errors.
19:57 yoleaux 19:56Z <retupmoca> nine: renaming dlls works fine if libfoo.dll is standalone. But in the case of openssl: ssleay32.dll depends on libeay32.dll. I load libeay32.dll (works great!), then I try to load ssleay32.dll which tries to find or load a dll named 'libeay32.dll'. Since I didn't load it with that filename, ssleay32 won't load because it can't find libeay32.dll
19:57 adhoc joined #perl6
19:57 Skarsnik hm, good remark for 32v64 bits dll x)
19:58 dalek rakudo/nom: 15a9ed9 | jnthn++ | src/core/ (3 files):
19:58 dalek rakudo/nom: Make slicing with adverbs respect itemization.
19:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/15a9ed9c1a
19:58 timotimo .tell hoelzro i enjoyed your post and am looking forward to having the performance be better in the future (no matter who fixes it). good work golfing it!
19:58 yoleaux timotimo: I'll pass your message to hoelzro.
19:59 dalek roast: d72ac0f | jnthn++ | S32- (2 files):
19:59 dalek roast: Tests for RT #126507.
19:59 dalek roast: review: https://github.com/perl6/roast/commit/d72ac0f5e8
19:59 zengargoyle looking deeper... '/tmp/foobar'.IO when .split by Shell::Command::mkpath looks like it tries to open the path: Failure $var = Failure.new(exception => X::IO::Directory.new(path => q|/tmp/foobar|.IO(:SPEC(IO::Spec::Unix)), trying => "open", use => Any, os-error => Any), backtrace => Backtrace.new)
19:59 nine jdv79: both role URI2::Authority::UserInfo and role URI2::Authority::Host have a method escaped (::?CLASS:D:) { $.canonical }. Won't they conflict?
20:00 aigan joined #perl6
20:01 aigan What is the shebang to put in top of file for perl6 built with rakudobrew?
20:01 Skarsnik hm,
20:01 Skarsnik should be /usr/bin/perl6 ?
20:01 zengargoyle i use: #!/usr/bin/env perl6 :)
20:03 lucs regex question: https://gist.github.com/lucs/bae8c4e4101d9476b661
20:03 aigan Thank you, zengargoyle
20:03 Skarsnik I wonder if perl6 read the shebang. I remember testing a long time ago ruby/python/ruby and python was the only one not doing it x)
20:03 moritz iirc it doesn't
20:04 moritz Skarsnik: well, if you tested ruby/python/ruby, your sample size was 2 :-)
20:04 Skarsnik perl5 ><
20:05 jnthn m: my $a = 42; say .WHAT for <<$a b c>>, qqww{$a b c}, qqw{$a b c}
20:05 * zengargoyle wonders if panda problem is: a) passing .IO to mkpath; or b) mkpath not doing something like .IO.path on its input.
20:06 jnthn camelia?
20:06 jnthn Slacker!
20:06 camelia rakudo-moar b946a3: OUTPUT«(List)␤(List)␤(Array)␤»
20:08 Humbedooh joined #perl6
20:10 * zengargoyle or c) .IO.split not doing the expected 'split on the path' but trying to .open the .IO object
20:10 lucasb zengargoyle++ # for taking a look into mkpath 'foo'.IO
20:10 xiaomiao joined #perl6
20:11 jack_rabbit joined #perl6
20:13 lsm-desktop joined #perl6
20:16 zengargoyle actually, guess IO.split doing .open is to be expected most of the time.  my @data = 'path/to/file'.IO.split(/MARKER/);  in the splitting the input stream sort of way.
20:20 ChristopherBotto zengargoyle: Wow. I like that idiom.
20:20 masak joined #perl6
20:20 masak ahoy, #perl6
20:20 masak I see we had a hack reboot :)
20:22 zengargoyle i'm sorta leaning towards mkpath needing to .IO.path or just .Str on its arguments before trying to split them.  or being less quick hacky in general... for [\~] $name.split(/<[\/\\]>/).map({"$_/"}) { ... doesn't seem to be the best of ways to do it...
20:23 lucasb indeed, I think having '$name = $name.Str' in mkpath would work, but... it doesn't look pretty :)
20:27 lucasb but anyways, even after this, mkpath will still get an argument of '/current/path#inst/some/path'... which is not correct. panda needs to fix this
20:28 advwp joined #perl6
20:42 rindolf joined #perl6
20:43 sufrostico joined #perl6
20:45 RabidGravy re panda giving the stringied repo to mkpath, doesn't it want to be prefix or prefix-path or something?
20:45 RabidGravy on the repo object
20:46 timotimo okay, now to write a few tests for native multidim refs
20:50 xfix joined #perl6
20:51 xfix joined #perl6
20:53 dalek rakudo-star-daily: 30043bd | coke++ | log/ (2 files):
20:53 dalek rakudo-star-daily: today (automated commit)
20:53 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/30043bd364
20:54 Begi Hello #perl6 !
20:54 timotimo hello, Begi!
20:55 timotimo m: my int @arr[2;2]; @arr[0;0]++; say @arr # hooray
20:55 camelia rakudo-moar 15a9ed: OUTPUT«[[1 0] [0 0]]␤»
20:56 jnthn timotimo++
20:57 Skarsnik yarr
20:57 timotimo S09-typed-arrays has native-int, but that thing is gigantic. i wonder if it's all right to add tests for this there
20:58 Begi m: say "That's fun !";
20:58 camelia rakudo-moar 15a9ed: OUTPUT«That's fun !␤»
20:58 Begi Sorry, I try
20:59 lucs Begi: You can do  /msg camelia m: ...
21:03 dalek rakudo/nom: adf4e76 | jnthn++ | src/core/Str.pm:
21:03 dalek rakudo/nom: Fix return type of qqw{...}.
21:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/adf4e769f5
21:03 dalek rakudo/nom: 091f0ce | jnthn++ | src/ (2 files):
21:03 dalek rakudo/nom: Expand the non-punning methods list for roles.
21:03 dalek rakudo/nom:
21:03 dalek rakudo/nom: These methods will now not try to pun the role, but work on the type
21:03 dalek rakudo/nom: object of the role itself. This will fix things like === doing .WHICH
21:03 dalek rakudo/nom: and so trying to pun the role, and similar for .gist, .perl and some
21:03 dalek rakudo/nom: others. This was mostly an issue because a role with stubbed methods
21:03 dalek rakudo/nom: cannot be punned (and it would be rather odd to make it do so).
21:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/091f0ce6ce
21:03 pierre-vigier joined #perl6
21:03 dalek roast: ae54d6c | jnthn++ | S02-literals/quoting.t:
21:03 dalek roast: Test for RT #123808.
21:03 dalek roast: review: https://github.com/perl6/roast/commit/ae54d6c05b
21:03 dalek roast: 0a6fd2c | jnthn++ | S14-roles/stubs.t:
21:03 dalek roast: Tests for RT #126606.
21:03 dalek roast: review: https://github.com/perl6/roast/commit/0a6fd2cc48
21:03 yqt joined #perl6
21:04 Begi Perl6 for Christams, is it real ?
21:05 Skarsnik Yes for 2020
21:05 Begi Oh, too bad... :o)
21:05 Skarsnik But yes, 6.c is for this christmas
21:05 timotimo there'll be perl6 releases around christmas on every year
21:06 Begi A nice gift !
21:06 timotimo and many more in between
21:06 * jnthn will be very happy to have 6.c out the door :)
21:06 timotimo yes, it'll be a good feeling i'm sure
21:07 jnthn Then I'm going to sleep for like 2-3 weeks :P
21:07 Skarsnik Oh after the bug repport list will grow 10 time faster
21:08 jnthn That's what a growing userbase gets you. :)
21:08 jnthn The xmas RT list is now down to 24 tickets (from being up to 28 after I reviewed those filed since it was created)
21:08 AlexDaniel Skarsnik: then he will wake up and fix half of these…
21:08 AlexDaniel
21:09 Skarsnik I am worried about users expecting a good quality for everything around, 'base' module, panda, etc... since it's quite not there I think x)
21:10 lucs And then they'll start complaining that it was released too soon :)
21:10 Skarsnik Yes
21:10 jnthn We just can't win this one.
21:11 timotimo wait, wasn't the xmas list at 14?
21:11 jnthn If we told the community "it'll happen in 2 years", it would have been a mixture of "yeah right" and then more folks diving in six months before. :)
21:11 RabidGravy there will also be lots of highly motivated skilled programmers flocking to fix the bugs
21:12 RabidGravy ;-)
21:12 Skarsnik I think there should be a policy for ecosystem after x-mas of inciting people to fix module that doing YAExisctingModuleThingy
21:12 AlexDaniel I am worried about jnthn's health. He is fixing bugs faster than I report them, this is… uh… so inhumanely
21:12 Skarsnik xD
21:12 jnthn ;)
21:13 jnthn I'll be making sure to take a break after the release, to recharge :)
21:13 RabidGravy Skarsnik, I don't think ther should be a policy, but a culture of doing so
21:13 timotimo hm. i didn't even look see if there's an RT for the native refs on multidim arrays
21:14 jnthn timotimo: It was 14, but I made the list in late September, and there were new issues filed since then, some of which I felt deserved to be on the list.
21:14 jnthn timotimo: So I added them. 4 of the 14 I added are already picked off. :)
21:16 AlexDaniel actually, I don't see bugs jumping into my face anymore. Even when I try to do something crazy. And even the error messages are fine when I'm acting like a clown. So yeah, I'd say that Perl 6 is kinda ready.
21:16 jnthn If anyone fancies a list-y one that's probably LHF-ish, then https://rt.perl.org/Ticket/Display.html?id=126522 is about X and Z (and I suspect their meta-op forms too) not respecting itemization.
21:16 Skarsnik m: sprintf("%s");
21:16 camelia rakudo-moar 091f0c: OUTPUT«Directives specify 1 argument, but no argument was supplied␤␤»
21:16 Skarsnik m: sprintf("%s", 1, 2);
21:16 camelia rakudo-moar 091f0c: OUTPUT«Directives specify 1 argument, but 2 arguments were supplied␤␤»
21:16 AlexDaniel see? Great error message
21:17 Woodi problem with expectations of good quality is easy fixable: this xmas gift is *just* spec :)  in such context any implementation is BONUS :)
21:17 Skarsnik damn I have another one that I don't remember with printf xD
21:17 Skarsnik m: sprintf("%%s", 1, 2);
21:17 camelia rakudo-moar 091f0c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/98bdhBZrpQ␤Variable '%s' is not declared␤at /tmp/98bdhBZrpQ:1␤------> 3sprintf("%7⏏5%s", 1, 2);␤»
21:17 AlexDaniel anyway, the only thing that makes me sad right now is slow startup time… Sooo I'm hoping that it will get better soon
21:18 AlexDaniel I mean, the startup time itself is fine. But when you load a bunch of modules… oh boy!
21:18 koo8 joined #perl6
21:18 Skarsnik I don't have precomp on my rakudo, the pain is real yes x)
21:19 AlexDaniel other times, when I don't use a bunch of modules, Perl 6 makes me very happy.
21:19 timotimo jnthn: wow, it's a bit scary to see the number go up like that again
21:19 Woodi AlexDaniel: heh, yesterday I tried some fuzzer app and *it* was scared by startup time then bored and constantly displayed zzzzzz.... ;)
21:22 Woodi but as I said implementation can be marketed as bonus and after few examples everybody is amazed anyway :)
21:24 masak Begi: Perl 6 is real right now! but yes, we've marked Christmas as special and "release" and all that :)
21:28 nine Woodi: this is how we see it. But the rest of the world will just read "release" and think of "implementation". See the KDE 4 debacle on how such a difference in view point can play out
21:28 timotimo nine: i don't know anything about a kde4 debacle
21:29 Skarsnik I think for kde4 I remember there were clearly stating that not supporting kde3 anymore or something similar
21:29 Skarsnik and kde4 was a disaster for a long time x)
21:29 Begi I really would like to help the Perl6 projet. Is there anything easy that I can do ?
21:29 nine timotimo: developers released a KDE 4.0 with the meaning of "stable API" targeted at application developers. Distributors and users jumped and shipped and installed it immediately to complain about bugs and missing features
21:29 Begi Tests ? ... ?
21:30 Skarsnik There are many way
21:30 AlexDaniel Woodi: marking it as a bonus will make some people disappointed
21:30 timotimo ooooh ugh
21:30 cdg joined #perl6
21:30 Skarsnik Write modules, fix modules, improve module is a nice way to not touching too much of perl6 core
21:31 Begi Yeah, there is too much to do
21:31 Begi *so much
21:31 Skarsnik You can juste give you a goal and see if you reach it
21:31 Juerd Begi: Documentation, tests, modules, promotion, articles for blogs/news sites, bug fixing
21:32 Skarsnik I wanted to do stats about a website, I ended patching/writing bunch of module x)
21:32 Juerd Begi: There's a list of missing documentation somewhere. A lot of the documentation could be written as a stub by just summarizing the relevant parts from the design documents (synopses)
21:33 Juerd Begi: But also just using Perl 6 and telling everyone how much you love it, is a great way to help the project :)
21:34 Begi I alreday do it :)
21:34 Begi *already
21:34 Juerd Begi++
21:35 jnthn I'm off for the evening... Have fun :-) &
21:37 timotimo see ya jnthn :)
21:38 adhoc joined #perl6
21:39 skids .oO(is there a holiday between now and "e"aster that starts with "d"...)
21:42 RabidGravy I'm sure one can be made up otherwise
21:46 skids Feb 12th "Darwin Day"
21:50 [Coke] .
21:50 vendethiel joined #perl6
21:54 xpen joined #perl6
21:55 RabidGravy dudley dooright
21:55 Begi joined #perl6
22:02 masak Begi: it's easy to aim too high. we get the most help from people who contribute small things, but do it repeatedly, day by day, week by week :)
22:02 Begi I'll try to help some modules
22:02 Begi Question : is there a way to find out which version of Perl6 is used by my script ?
22:04 Skarsnik $*PERL.version
22:05 Begi Thanks Skarsnik
22:06 TEttinger joined #perl6
22:07 molaf joined #perl6
22:10 leont joined #perl6
22:16 Woodi AlexDaniel: "some people" always will be disappointed, 100% coverage in any discipline is rather impossible. but Perl6 for years had spec-implementations distinction. and, additionally&&as_promised, quite good implementation is available
22:16 Woodi no other way than state this every time :)
22:17 Woodi Java was usable around 1.4 :)
22:18 vendethiel 1.5, with generics :¨P
22:20 Woodi hmm, Swing was 1.2 and it was usable for me :)
22:24 Woodi nine: we should be happy that Nokia didn't managed to kill Qt like they did with Symbian...
22:30 firstdayonthejob joined #perl6
22:34 nine Woodi: oh I am
22:36 gfldex m: { say 1; succeed; say 2 }; say 3;
22:36 camelia rakudo-moar 091f0c: OUTPUT«1␤succeed without when clause␤  in block <unit> at /tmp/FV1zpRk18Y:1␤␤»
22:36 gfldex is there a statement that leaves the current block?
22:36 nine .tell jnthn if use lib ought to install a $?REPO and this is a lexical and we prohibit use lib in modules, those modules may not be able to load their dependencies, since they will only look in $*REPO
22:36 yoleaux nine: I'll pass your message to jnthn.
22:37 gfldex m: { say 1; leave; say 2 }; say 3;
22:37 camelia rakudo-moar 091f0c: OUTPUT«1␤leave not yet implemented. Sorry. ␤  in block <unit> at /tmp/6liNrTCSo4:1␤␤»
22:38 RabidGravy last ?
22:39 gfldex m: { say 1; last; say 2 }; say 3;
22:39 camelia rakudo-moar 091f0c: OUTPUT«1␤last without loop construct␤  in block <unit> at /tmp/nz6zqlUeVP:1␤␤»
22:39 RabidGravy boo
22:39 gfldex looks like it's leave, what is left out for now
22:43 AlexDaniel gfldex: until then you can use given { succeed } ?
22:43 vendethiel joined #perl6
22:43 AlexDaniel m: given { say 1; succeed; say 2 }; say 3
22:43 camelia rakudo-moar 091f0c: OUTPUT«5===SORRY!5===␤Expression needs parens to avoid gobbling block␤at /tmp/ICLMcC6eQH:1␤------> 3given { say 1; succeed; say 2 }7⏏5; say 3␤Missing block (apparently claimed by expression)␤at /tmp/ICLMcC6eQH:1␤------> 3given { say 1; succ…»
22:44 AlexDaniel m: given 1 { say 1; succeed; say 2 }; say 3
22:44 gfldex m: { say 1; when * {succeed}; say 2 }; say 3;
22:44 camelia rakudo-moar 091f0c: OUTPUT«1␤succeed without when clause␤  in block <unit> at /tmp/DuqiaZpp5O:1␤␤»
22:44 camelia rakudo-moar 091f0c: OUTPUT«1␤3␤»
22:44 AlexDaniel aahh without when clause…
22:45 AlexDaniel hm what about sub { return }
22:45 gfldex sub aint a block
22:46 * grondilu has no idea what is this succeed keyword
22:46 masak grondilu: it's Perl 6's `break`
22:46 AlexDaniel m: say 5; sub { say 8; return; 9 }(); say 10
22:46 camelia rakudo-moar 091f0c: OUTPUT«5␤8␤10␤»
22:46 AlexDaniel m: say 5; sub { say 8; return; say 9 }(); say 10
22:46 camelia rakudo-moar 091f0c: OUTPUT«5␤8␤10␤»
22:47 masak grondilu: it exits from the block that contains the `when` block (usually a `given` block, but not necessarily)
22:47 AlexDaniel m: sub x { say 5; sub { say 8; return; say 9 }(); say 10 }; x
22:47 camelia rakudo-moar 091f0c: OUTPUT«5␤8␤10␤»
22:47 masak grondilu: it's called `succeed`, because once you've matched a particular `when` block, your match has succeeded, and (by default) you will exit the surrounding block.
22:47 masak grondilu: the opposite is `proceed`, as in "keep matching stuff, or whatever comes after this `when` block"
22:48 grondilu ok
22:48 * grondilu adds re-reading S04 to his TODO
22:48 gfldex m: sub f (&c) { say 1; c; say 2 }; f({ say 3; return }); say 4;
22:48 camelia rakudo-moar 091f0c: OUTPUT«1␤3␤Attempt to return outside of any Routine␤  in block <unit> at /tmp/5vLcwohdfV:1␤␤»
22:48 masak grondilu: those keywords got their final names shortly after I published the advent post about given/when back in 2009: https://perl6advent.wordpress.com/2009/12​/16/day-16-we-call-it-the-old-switcheroo/
22:48 TimToady .oO(Attempt to think outside the box at line 42)
22:49 AlexDaniel .oO(Expected any of … ?)
22:49 gfldex m: sub f (&c) { say 1; c; say 2 }; f({ say 3; OUTER::return }); say 4;
22:49 camelia rakudo-moar 091f0c: OUTPUT«1␤3␤2␤4␤»
22:50 gfldex that is a little confusing
22:50 grondilu m:  for 2 { when * %% 3 { say "huh?" }; say "ok" }
22:50 camelia rakudo-moar 091f0c: OUTPUT«ok␤»
22:50 grondilu hum weird, few days ago I had noticed ^this failed.
22:51 grondilu (maybe it was fixed since)
22:54 RabidGravy everything gets fixed
22:56 masak gfldex: OUTER::return would return from the whole program, which is nonsensical.
22:56 masak gfldex: recall that OUTER:: has to do with lexical blocks, not call frames.
22:57 masak and the OUTER:: of the block in the f() call is the block for the whole program, which -- nominally, at least -- is not a function that can be returned from.
22:57 gfldex m: sub MAIN () { sub f (&c) { say 1; c; say 2 }; f({ say 3; OUTER::return }); say 4; }
22:57 camelia rakudo-moar 091f0c: OUTPUT«1␤3␤2␤4␤»
22:57 masak in Rakudo, unfortunate-ish-ly, it seems to be a function... but that doesn't matter, since the OUTER::return doesn't seem to work anyway in this case.
22:58 masak m: return; say "!"
22:58 camelia rakudo-moar 091f0c: OUTPUT«Attempt to return outside of any Routine␤  in block <unit> at /tmp/UTIkdXz9nl:1␤␤»
22:58 masak Rakudo++
22:58 masak 'night, #perl6
22:58 snarkyboojum joined #perl6
22:58 tadzik g'night masak
22:58 tadzik (good evening #perl6 :))
23:00 vendethiel bai :)
23:00 Skarsnik Good night
23:03 RabidGravy toodlepip
23:08 * grondilu is wondering if he can write the XOR swap algorithm in one statement
23:09 grondilu m:  my ($a, $b) = 1, 2; $a +^= $b; $a +^= $b = $a +^ $b; say "$a, $b";  # two statements
23:09 camelia rakudo-moar 091f0c: OUTPUT«2, 1␤»
23:09 grondilu m:  my ($a, $b) = 1, 2; ($a +^= $b) +^= $b = $a +^ $b; say "$a, $b";  # one statement
23:09 camelia rakudo-moar 091f0c: OUTPUT«2, 1␤»
23:09 grondilu oh that does work?  I thought I had failed locally
23:10 * grondilu looks at his history and notice he had a typo:  += instead of +^=
23:12 grondilu m:  my ($a, $b) = 13, 24; $a +^= $b +^= $b = $a +^ $b; say "$a, $b";
23:12 camelia rakudo-moar 091f0c: OUTPUT«13, 0␤»
23:12 grondilu m:  my ($a, $b) = 13, 24; ($a +^= $b) +^= $b = $a +^ $b; say "$a, $b";
23:12 camelia rakudo-moar 091f0c: OUTPUT«24, 13␤»
23:13 grondilu parens are needed though
23:13 vendethiel joined #perl6
23:13 bjz joined #perl6
23:15 grondilu m:  my ($a, $b) = 13, 24; ($a +^= $b) +^= $b +^= $a; say "$a, $b";
23:15 camelia rakudo-moar 091f0c: OUTPUT«24, 13␤»
23:17 grondilu pretty cool
23:18 ChristopherBotto Good night #perl6. Thank you all for all of your work.
23:20 lucasb joined #perl6
23:21 leont joined #perl6
23:25 lmmx joined #perl6
23:29 grondilu also, still looking at how to improve performance for permutations, I'm wondering : do we have to create the Iterator class on the fly every time?
23:29 grondilu m: sub f { class :: { say "hi" }.new }; f(); f();
23:29 camelia rakudo-moar 091f0c: OUTPUT«hi␤hi␤»
23:30 pierre-vigier joined #perl6
23:30 grondilu m: sub f { class Foo { say "hi" }; Foo.new }; f(); f();
23:30 camelia rakudo-moar 091f0c: OUTPUT«hi␤hi␤»
23:30 grondilu m: class Foo { say "hi" }; sub f { Foo.new }; f(); f();
23:30 camelia rakudo-moar 091f0c: OUTPUT«hi␤»
23:31 grondilu m: sub f { state class :: { say "hi" }.new }; f(); f();
23:31 camelia rakudo-moar 091f0c: OUTPUT«hi␤hi␤»
23:32 skids m: sub f { BEGIN { class :: { say "hi" }.new } }; f().perl.say; f().perl.say;
23:32 camelia rakudo-moar 091f0c: OUTPUT«hi␤<anon|55967680>.​new␤<anon|55967680>.new␤»
23:32 secwang joined #perl6
23:32 grondilu m: sub f { BEGIN { class :: { say "hi" } }.new }; f(); f();
23:32 camelia rakudo-moar 091f0c: OUTPUT«hi␤»
23:33 grondilu though on second though it should not matter much.  It's not like this class is created at each pull-one call
23:35 snarkyboojum_ joined #perl6
23:36 skids m: sub f { class :: { say "hi" } }; f().perl.say; f().perl.say; # looks like the class is actually the same thing anyway
23:36 camelia rakudo-moar 091f0c: OUTPUT«hi␤<anon|73070784>␤hi␤<anon|73070784>␤»
23:36 lucasb m: say ().permutations
23:36 camelia rakudo-moar 091f0c: OUTPUT«Constraint type check failed for parameter '$n'␤  in block <unit> at /tmp/Z8j40O4LBe:1␤␤»
23:36 lucasb star: say ().permutations
23:36 camelia star-m 2015.09: OUTPUT«()␤»
23:38 lucasb for comparison: ruby -e 'p [].permutation.to_a'  #=> [[]]
23:39 MadcapJake joined #perl6
23:40 grondilu it's a recent choice not to allow null or negative parameter for permutations.  Maybe it can be revised.
23:40 lucasb ok, but thanks anyway for improving its performance, grondilu++
23:46 timotimo grondilu++
23:47 raiph joined #perl6
23:47 TimToady certainly we allow 0 on combinations
23:48 TimToady m: say (1,2).combinations
23:48 camelia rakudo-moar 091f0c: OUTPUT«(() (1) (2) (1 2))␤»
23:48 TimToady or we couldn't get the powerset
23:52 zengargo1le joined #perl6
23:52 grondilu taking 0 elems among n makes sense, but not quite permuting 0 elements.
23:53 AlexDaniel m: my @a = 1; @a = @a, 1; say @a.combinations
23:53 camelia rakudo-moar 091f0c: OUTPUT«(() ((\Array_60551968 = [Array_60551968 1])) (1) ((\Array_60551968 = [Array_60551968 1]) 1))␤»
23:54 grondilu the real equivalent is taking k elements among 0
23:54 grondilu that should not be allowed imho
23:54 grondilu m: say combinations(0, 1)
23:54 camelia rakudo-moar 091f0c: OUTPUT«()␤»
23:56 Psyche^ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo