Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-12-22

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:02 timotimo computer is back!
00:02 dalek doc: 809fde6 | ab5tract++ | doc/Type/Hash.pod:
00:02 dalek doc: Make the example work for more than two instants
00:02 dalek doc: review: https://github.com/perl6/doc/commit/809fde65d9
00:03 kid51 joined #perl6
00:06 cpage_ joined #perl6
00:06 lizmat jdv79: three letters SW7
00:07 lizmat it was nice, it was 3D, it had a lot of action, and felt like a re-imagination of SW4 to me
00:09 timotimo i sure hope my blog post text isn't gone now ...
00:12 timotimo it's still there \o/
00:12 lizmat :-)
00:15 timotimo hm, i didn't check exactly how far our sized and signedness support for lexicals and such has come
00:15 timotimo m: my int8 $foo = 10000; say $foo;
00:15 camelia rakudo-moar cfb1f3: OUTPUT«16␤»
00:15 timotimo ah, neat.
00:15 timotimo m: my int8 $foo = -1; my uint8 $bar = -1; say $foo; say $bar;
00:15 camelia rakudo-moar cfb1f3: OUTPUT«-1␤255␤»
00:17 davercc` joined #perl6
00:19 kid51 joined #perl6
00:20 timotimo .u two
00:20 yoleaux U+0012 DEVICE CONTROL TWO [Cc] (␒)
00:20 yoleaux U+001E INFORMATION SEPARATOR TWO [Cc] (␞)
00:20 yoleaux U+0032 DIGIT TWO [Nd] (2)
00:21 ab6tract m: my $x = 'hitchhikers'; my %answers  := :{ $x => 42 }; for %answers.keys -> $k is rw { $k = 'not-' ~ $k }
00:21 camelia rakudo-moar cfb1f3: OUTPUT«Parameter '$k' expected a writable container, but got Str value␤  in block <unit> at /tmp/5kYyd3vXvc:1␤␤»
00:21 timotimo .u three
00:21 yoleaux U+0013 DEVICE CONTROL THREE [Cc] (␓)
00:21 yoleaux U+001D INFORMATION SEPARATOR THREE [Cc] (␝)
00:21 yoleaux U+0033 DIGIT THREE [Nd] (3)
00:21 timotimo oh lord.
00:21 timotimo how many of those are there ...
00:22 timotimo m: (128 .. 0x1000).grep( .uniname ~~ / DIGIT / ).map( .chr.say )
00:22 camelia rakudo-moar cfb1f3: OUTPUT«Method 'uniname' not found for invocant of class 'Any'␤  in block <unit> at /tmp/FbmBulbwSl:1␤␤»
00:22 ab6tract so .keys doesn't seem to fully respect object hashes...
00:22 timotimo m: (128 .. 0x1000).grep( .&uniname ~~ / DIGIT / ).map( .chr.say )
00:22 camelia rakudo-moar cfb1f3: OUTPUT«Cannot call uniname(Any); none of these signatures match:␤    (Str:D $str)␤    (Int:D $code)␤  in block <unit> at /tmp/zsI0FOPjdh:1␤␤»
00:22 timotimo huh, what am i doing wrong here?
00:22 timotimo m: (128 .. 0x100).grep( * < 20)
00:22 camelia rakudo-moar cfb1f3: ( no output )
00:22 timotimo m: (128 .. 0x100).grep( * < 20).say
00:22 camelia rakudo-moar cfb1f3: OUTPUT«()␤»
00:22 timotimo m: (128 .. 0x100).grep( * < 2000).say
00:22 camelia rakudo-moar cfb1f3: OUTPUT«(128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191…»
00:22 timotimo m: (128 .. 0x100).grep( *.uniname ).say
00:22 camelia rakudo-moar cfb1f3: OUTPUT«(130 131 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195…»
00:23 flussence m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( .chr.say )
00:23 timotimo m: (128 .. 0x100).map( *.uniname ).say
00:23 camelia rakudo-moar cfb1f3: OUTPUT«Method 'chr' not found for invocant of class 'Any'␤  in block <unit> at /tmp/OpeNS4z5OV:1␤␤»
00:23 camelia rakudo-moar cfb1f3: OUTPUT«(  BREAK PERMITTED HERE NO BREAK HERE  NEXT LINE (NEL) START OF SELECTED AREA END OF SELECTED AREA CHARACTER TABULATION SET CHARACTER TABULATION WITH JUSTIFICATION LINE TABULATION SET PARTIAL LINE FORWARD PARTIAL LINE BACKWARD REVERSE LINE FEED SINGLE SHIF…»
00:23 timotimo oh, duh
00:23 timotimo thank you, flussence :)
00:23 flussence I got it wrong the other day too :)
00:23 timotimo i was operating on the completely wrong $_
00:23 timotimo i feel really tired and i must finish that blog post :)
00:23 timotimo m: (128 .. 0x1000).grep( *.&uniname ~~ / DIGIT / ).map( .chr.say )
00:23 camelia rakudo-moar cfb1f3: OUTPUT«WhateverCode object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/1WW15xDpwT:1␤Method 'chr' not found for invocant of class 'Any'␤  in block <unit> at /tmp/1WW15xDpwT:1␤␤»
00:23 timotimo %)
00:23 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( .chr.say )
00:23 camelia rakudo-moar cfb1f3: OUTPUT«Method 'chr' not found for invocant of class 'Any'␤  in block <unit> at /tmp/1gwqf29BIJ:1␤␤»
00:24 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( *.chr.say )
00:24 camelia rakudo-moar cfb1f3: OUTPUT«٠␤١␤٢␤٣␤٤␤٥␤٦␤٧␤٨␤٩␤۰␤۱␤۲␤۳␤۴​␤۵␤۶␤۷␤۸␤۹␤ݳ␤ݴ␤ݵ␤ݶ␤ݷ␤ݸ␤ݹ␤ݺ␤ݻ␤ݼ␤ݽ␤߀␤߁​␤߂␤߃␤߄␤߅␤߆␤߇␤߈␤߉␤०␤१␤२␤३␤४␤५␤६␤७␤८…»
00:24 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DIE / }).map( *.chr.say )
00:24 camelia rakudo-moar cfb1f3: ( no output )
00:24 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DICE / }).map( *.chr.say )
00:24 camelia rakudo-moar cfb1f3: ( no output )
00:24 timotimo where them die at
00:24 timotimo .u dice
00:24 yoleaux No characters found
00:24 timotimo .u die
00:24 yoleaux U+2680 DIE FACE-1 [So] (⚀)
00:24 yoleaux U+2681 DIE FACE-2 [So] (⚁)
00:24 yoleaux U+2682 DIE FACE-3 [So] (⚂)
00:24 timotimo there they are
00:24 timotimo m: say +⚂
00:24 camelia rakudo-moar cfb1f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dmFiSBa72B␤Prefix + requires an argument, but no valid term found␤at /tmp/dmFiSBa72B:1␤------> 3say +7⏏5⚂␤    expecting any of:␤        prefix␤»
00:24 timotimo m: say +"⚂"
00:24 camelia rakudo-moar cfb1f3: 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/KW6A8aJ2nd:1␤␤Actually thrown at:␤  in block <unit> at /tmp/KW6A8aJ2nd:1␤␤»
00:24 timotimo ah, symbol/other doesn't do it
00:24 timotimo too bad :)
00:25 flussence m: say '⚀'.unival
00:25 camelia rakudo-moar cfb1f3: OUTPUT«NaN␤»
00:25 timotimo m: say ٦ + ݺ
00:25 camelia rakudo-moar cfb1f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ABhEg0IOda␤Undeclared routine:␤    ݺ used at line 1␤␤»
00:25 timotimo oh, damn!
00:25 timotimo i forgot the unicode consortium didn't put values to them
00:26 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DICE / }).map( *.uniprop ).Bag.say
00:26 camelia rakudo-moar cfb1f3: OUTPUT«bag()␤»
00:26 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DICE / }).map( *.uniprop ).say
00:26 camelia rakudo-moar cfb1f3: OUTPUT«()␤»
00:26 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( *.uniprop ).say
00:26 camelia rakudo-moar cfb1f3: OUTPUT«(Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd …»
00:26 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( *.uniprop ).Bag.say
00:26 camelia rakudo-moar cfb1f3: OUTPUT«bag(Lo(11), Nd(160), No(17))␤»
00:26 timotimo which of those do we accept for numbers? probably only Nd?
00:27 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).grep( *.uniprop eq 'Nd' ).join.say
00:27 camelia rakudo-moar cfb1f3: OUTPUT«16321633163416351636163716381639164016​411776177717781779178017811782178317841785198​419851986198719881989199019911992199324062407​240824092410241124122413241424152534253525362​537253825392540254125422543266226632664266526​66266726682669267026712790279127922793…»
00:27 timotimo haha
00:27 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).grep( *.uniprop eq 'Nd' ).map( *.chr ).join.say
00:27 camelia rakudo-moar cfb1f3: OUTPUT«٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇​߈߉०१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧੨੩੪੫੬੭੮੯૦૧૨​૩૪૫૬૭૮૯୦୧୨୩୪୫୬୭୮୯௦௧௨௩௪௫௬௭௮௯౦౧౨౩౪…»
00:27 timotimo m: say ৪ + ૪
00:27 camelia rakudo-moar cfb1f3: OUTPUT«8␤»
00:27 timotimo good
00:27 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / SUPERSCRIPT / }).grep( *.uniprop eq 'Nd' ).map( *.chr ).join.say
00:27 camelia rakudo-moar cfb1f3: OUTPUT«␤»
00:27 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / SUPERSCRIPT / }).map( *.uniprop ).Bag.say
00:27 camelia rakudo-moar cfb1f3: OUTPUT«bag(Mn(2), No(3))␤»
00:28 timotimo wow, that's really not many, he?
00:28 lucasb tomorrow you will wonder who created this huge backlog :)
00:28 timotimo m: (128 .. 0x1000).grep({ .uniname ~~ / SUPERSCRIPT / }).map( *.chr ).join.say
00:28 camelia rakudo-moar cfb1f3: OUTPUT«²³¹ٰܑ␤»
00:28 dalek doc: cc397c0 | ab5tract++ | doc/Type/Hash.pod:
00:28 dalek doc: Document in-place editing of hash values
00:28 dalek doc: review: https://github.com/perl6/doc/commit/cc397c0c93
00:28 timotimo i'm good at skipping my own crap. but do you want me to do this stuff locally?
00:28 timotimo that'd probably be better
00:28 geekosaur there's also /query
00:28 lucasb timotimo++, I'm just kidding :)
00:29 ab6tract timotimo: i usually cut myself off at 5 consecutive camelias :)
00:29 lizmat ab6tract: keys are always supposed to be ro
00:31 timotimo good point, yeah
00:31 timotimo oh hey lizmat, you're still awake, too
00:32 timotimo how's your flu tonight?
00:33 lizmat today was the first day we went out of the door...  to the cinema, at 22:15
00:33 lizmat still not 100%, :-(
00:33 TEttinger m: say ٦ + ٧ + ٨
00:33 camelia rakudo-moar cfb1f3: OUTPUT«21␤»
00:34 lizmat TEttinger: isn't there a factor 2 missing?  :-)
00:34 TEttinger m: say ٦³ + ٧ + ٨
00:34 camelia rakudo-moar cfb1f3: OUTPUT«231␤»
00:35 TEttinger so ٦ is 6
00:35 timotimo i can't help but think people are going to use this as a reason to say perl6 is stupid.
00:36 TEttinger stupid LIKE A FOX
00:36 ShimmerFairy timotimo: honestly, I think it'd be dumb if we supported unicode variable/function/etc. names, but not unicode numbers (which is why I put in the digit support in the first place)  :)
00:36 timotimo ShimmerFairy: don't get me wrong. i kind of love it, personally.
00:36 davercc joined #perl6
00:37 ShimmerFairy Yeah, I just wanted to mention the positive about it :)
00:37 timotimo .u -
00:37 yoleaux U+002D HYPHEN-MINUS [Pd] (-)
00:37 timotimo is "HYPHEN-MINUS" retconned? %)
00:38 lsm joined #perl6
00:38 lizmat good night, #perl6!
00:38 timotimo gnite and get well soon, lizmat :)
00:39 TEttinger FEEL AFFLUENT AND FLUENT RATHER THAN FLUISH SOON...
00:40 _nadim night all
00:41 Juerd Welterusten
00:48 cpage_ joined #perl6
00:51 ShimmerFairy joined #perl6
00:54 dalek rakudo-star-daily: 9721109 | coke++ | log/ (8 files):
00:54 dalek rakudo-star-daily: today (automated commit)
00:54 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/9721109a16
00:58 grondilu off topic but livetream for spaceX launch in half-hour is starting:  https://www.youtube.com/watch?v=O5bTbVbe4e4
01:02 yeahnoob joined #perl6
01:05 grondilu joined #perl6
01:08 timotimo cool
01:08 timotimo i'll hopefully be in bed sleeping by that time
01:08 timotimo but ... will not likely make that
01:10 raiph joined #perl6
01:11 [Coke] just got an error doing a make install.
01:23 adu joined #perl6
01:23 lsm joined #perl6
01:26 lsm joined #perl6
01:27 protium joined #perl6
01:31 woodruffw joined #perl6
01:33 Brian__ joined #perl6
01:33 Brian__ left #perl6
01:33 bdmatatu joined #perl6
01:34 timotimo https://p6weekly.wordpress.com/2015/12/22/​2015-52-closer-and-closer-to-the-release/ - post publisherized!
01:36 [Sno] joined #perl6
01:39 grondilu holy crap they did it
01:40 timotimo wow
01:40 timotimo it landed
01:40 grondilu the Falcon 9 landed
01:40 timotimo and it's upright
01:46 molaf_ joined #perl6
01:46 lsm-desktop joined #perl6
01:48 psy_ joined #perl6
01:49 psy_ joined #perl6
01:51 timotimo okay, now off to bed
02:05 gfldex .tell timotimo the monkeyness of EVAL was weekly forgotten
02:05 yoleaux gfldex: I'll pass your message to timotimo.
02:08 vendethiel joined #perl6
02:10 molaf__ joined #perl6
02:16 diakopter cool, yeah [OT] falcon 9 landing http://youtu.be/MFN1jcFgJfw
02:18 zhi joined #perl6
02:21 xpen joined #perl6
02:22 cpage_ joined #perl6
02:38 rhr joined #perl6
02:39 kaare_ joined #perl6
02:58 rhr joined #perl6
03:13 zengargoyle joined #perl6
03:22 noganex_ joined #perl6
03:25 asdf-man joined #perl6
03:39 cpage_ joined #perl6
04:05 n0tjack joined #perl6
04:06 CQ2 joined #perl6
04:20 AndyDee joined #perl6
04:33 BenGoldberg_ joined #perl6
04:37 quester joined #perl6
04:38 xpen joined #perl6
04:38 quester yoleaux .botsnack
04:50 adu joined #perl6
05:03 skids Hrm.  This one's going to be hard to golf.  Under some certain combination of concurrent constructs, Proc::Async, and Test, a script that uses Test hangs.
05:03 * skids thinks he'll leave that one till later.
05:03 skids probably MONKEY-SEE-NO-EVAL related.
05:41 * TimToady et al. in SoCal
06:17 uruwi is Template::Mojo not fixed yet...?
06:19 TimToady doesn't look lik eit
06:22 darutoko joined #perl6
06:42 uruwi Technically I can start developing now!
06:46 labster joined #perl6
06:56 pierre-vigier joined #perl6
06:58 n0tjack joined #perl6
07:00 pierre-vigier joined #perl6
07:05 uruwi joined #perl6
07:09 pierre-vigier joined #perl6
07:13 FROGGS joined #perl6
07:19 ellybelly joined #perl6
07:20 ellybelly joined #perl6
07:25 pierre-vigier joined #perl6
07:30 [Tux] test             50000    23.593    23.481
07:30 [Tux] test-t           50000    13.948    13.836
07:30 [Tux] csv-parser       50000    51.062    50.950
07:36 xpen joined #perl6
07:40 raydiak good evening, #perl6
07:41 raydiak just rakudobrewed, and panda seems broken due to missing Shell::Command
07:43 nine raydiak: can you give me details?
07:44 raydiak sure, what kind of details?
07:46 nine The full error message would be a start
07:47 raydiak any invocation of panda gives https://gist.github.com/ano​nymous/24eb0adbc81ce4a0a238
07:48 dalek rakudo/nom: e19dab5 | usev6++ | t/spectest.data:
07:48 dalek rakudo/nom: Do not run UDP tests on JVM (NYI)
07:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e19dab5318
07:48 dalek rakudo/nom: 73d193b | FROGGS++ | t/spectest.data:
07:48 dalek rakudo/nom: Merge pull request #647 from usev6/spectest_udp_jvm
07:48 dalek rakudo/nom:
07:48 dalek rakudo/nom: Do not run UDP tests on JVM (NYI)
07:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/73d193baff
07:49 nine And perl6 -MShell::Command -e '' # gives you the same?
07:51 raydiak I deleted ~/.rakudobrew/moar-nom and started it recompiling before I thought to mention the problem here, so I can let you know in a couple minutes when it's done if it's still broken :)
07:52 nine It may have sufficed to just run panda's bootstrap.pl ;)
07:52 El_Che I noticed precomp generating false warning when developing a module (when the source is changed): https://gist.github.com/nxadm/1726865fe240719ae7d7
07:53 raydiak nine: already tried that, didn't help
07:53 El_Che even when you don't delete .precomp, the first run of the program (when not in a row) gives the warning: Use of uninitialized value %ENV of type Any in string context
07:54 nine El_Che: can you get the exact location of that message with --ll-exception?
07:54 El_Che ok
07:54 El_Che nine: identical output
07:55 El_Che it doesn't look like an exception, the program runs fine
07:57 El_Che it's weird. If I run it in a series, only the first runs has it. If I wait a few minutes, the first time after that gives the warning.
07:57 El_Che ow, it's certainly related to 'run'
07:57 El_Che my $proc = run ~$.bin, ~$.file_left, ~$.file_right, :out; my $diff = $proc.out.slurp-rest;
07:59 El_Che commenting the run line out makes the warning disappear
08:01 nine El_Che: do you access %*ENV anywhere before that?
08:02 raydiak nine++ : that seems to have fixed it, I guess it was just something to do with recent changes and trying to rakudobrew over a rather old version...thanks for the help though :)
08:03 nine raydiak: glad it works for you now :)
08:04 lustlife joined #perl6
08:05 CIAvash joined #perl6
08:12 rurban joined #perl6
08:13 [Sno] joined #perl6
08:15 silug joined #perl6
08:17 nwc10 stmuk: Well, this was an "install party" so it seemed "on topic". And, for some reason (not planned) I have 2 bottles. Well, had.
08:19 km3 joined #perl6
08:24 firstdayonthejob joined #perl6
08:28 RabidGravy joined #perl6
08:29 _nadim Good morning all
08:29 RabidGravy morning!
08:38 luiz_lha joined #perl6
08:45 luiz_lah joined #perl6
08:45 dalek roast: ec013cb | usev6++ | S10-packages/precompilation.t:
08:45 dalek roast: Fix typo: test newly created array @precompiled2
08:45 dalek roast: review: https://github.com/perl6/roast/commit/ec013cb9c5
08:53 rurban_ joined #perl6
08:53 CIAvash joined #perl6
08:54 rurban left #perl6
08:54 stmuk joined #perl6
08:54 mre joined #perl6
09:01 dakkar joined #perl6
09:10 labster joined #perl6
09:13 El_Che nine: no.
09:16 RabidGravy I asked thiis a long time ago, but I forgot the answer, how do I find whether a system is 32 or 64 bits (in a program)
09:16 RabidGravy I thought it was $?BITS but no
09:16 RabidGravy m: say $?BITS
09:16 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AoHnQIqjDE␤Variable '$?BITS' is not declared␤at /tmp/AoHnQIqjDE:1␤------> 3say 7⏏5$?BITS␤»
09:19 nine RabidGravy: oh, that's trivial! my constant $?BITS = do { my int $a = 0x1ffffffff; nqp::iseq_i($a,8589934591) ?? 64 !! 32; }
09:21 RabidGravy Oh yeah I'm looking at the code for that right here ;-) But I thought it was exposed somewhere
09:21 El_Che sorry nine, I was doing an intervention. Db is aan indexing now :)
09:21 lizmat m: say $*KERNEL.bits
09:21 camelia rakudo-moar 73d193: OUTPUT«64␤»
09:21 El_Che nine: you get the same behaviour when using run in the repl, btw
09:22 lizmat RabidGravy: ^^^
09:22 RabidGravy :) see I knew someone else would remember ;-) cheers lizmat
09:23 lizmat moarn!
09:23 RabidGravy strangely though
09:23 RabidGravy m:  use nqp; my constant $?BITS = do { my int $a = 0x1ffffffff; nqp::iseq_i($a,8589934591) ?? 64 !! 32; }; say $?BITS
09:23 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lEJ5Xjqk38␤Constants with a '?' twigil not yet implemented. Sorry. ␤at /tmp/lEJ5Xjqk38:1␤------> 3qp::iseq_i($a,8589934591) ?? 64 !! 32; }7⏏5; say $?BITS␤»
09:23 RabidGravy so how does that code in Int even work?
09:24 nine Maybe it's just allowed in the setting
09:24 lizmat only core settings are allowed to do $?FOO
09:24 lizmat at least until 6.c
09:24 RabidGravy ah okay
09:24 lizmat fwiw, the implementation of bits is now: $!bits //= $.hardware ~~ m/_64|w|amd64/ ?? 64 !! 32;
09:25 lizmat perhaps nine's code would be better ?
09:25 nine lizmat: it's not mine :) I found it in Int.pm
09:25 lizmat interesting
09:26 RabidGravy it's used for calculating the Range of an Int
09:27 nine Also those are answers to different questions: $*KERNEL.bits tells you if the operating system is 64 or 32 bits while $?BITS tells you what your rakudo supports. You could run a 32 Bit rakudo on a 64 Bit OS
09:27 lizmat hmmm... I vaguely remember some discussion about whether or not to expose $?BITS
09:28 RabidGravy m: use nqp; my constant MyInt = do { my int $a = 0x1ffffffff; nqp::iseq_i($a,8589934591) ?? int64 !! int32; }; say MyInt
09:28 camelia rakudo-moar 73d193: OUTPUT«(int64)␤»
09:28 RabidGravy that's sorta kinda what I want
09:29 lizmat RabidGravy: isn't that just "int" ?
09:29 RabidGravy is it? that would be lovely
09:30 nine int should be the platform int IIRC
09:30 lizmat afaik, "int" is defined as the platform int
09:30 lizmat hmm....
09:30 lizmat m: say int.Range
09:30 camelia rakudo-moar 73d193: OUTPUT«-9223372036854775808..9223372036854775807␤»
09:30 lizmat would be different on a 32bit build
09:31 RabidGravy I'm sure I had difficulty with it in a native binding before, but I'll try it and see
09:32 RabidGravy (what's a core dump among friends ;)
09:32 lizmat :-)
09:32 lizmat afk for a few hours&
09:32 cuonglm joined #perl6
09:34 cuonglm Hi, anyone get error when installing rakudo from source with the latest git?
09:35 cuonglm I got this error http://pastebin.com/3DiUSMn5
09:35 cuonglm It seems that `tools/build/install-core-dist.pl` did not looking up the right destination dir
09:37 nine cuonglm: please remove your install/share/perl6 directory and run make install again. It's a one time issue caused by a change of versioning of the CORE dist
09:39 brrt joined #perl6
09:40 cuonglm :nine I used stow to manage /usr/local
09:40 rindolf joined #perl6
09:41 nine stow?
09:42 brrt good hi #perl6
09:42 yoleaux 21 Dec 2015 15:02Z <RabidGravy> brrt: fixed LibraryCheck with v0.0.5
09:42 brrt RabidGravy++
09:42 brrt are LPW2015 videos online yet
09:42 cuonglm :nine It's GNU stow
09:43 cuonglm :nine Anyway, it worked now, remove my /usr/local/stow/perl6/share then make install again
09:44 cuonglm :nine So every time version in CORE dist changed, I must do this action?
09:44 nine cuonglm: no, this one time only. We didn't change just the version but the way the version gets generated. Unfortunatly the new versions are lower than the old ones.
09:45 labster1 joined #perl6
09:45 cuonglm :nine Yeah, thanks for the information.
09:47 labster joined #perl6
09:49 nwc10 left #perl6
10:02 uruwi Strangely, on 64-bit platforms int is 64-bit on Linux but 32-bit on Windows
10:02 uruwi Or maybe it's because I was testing it on 2015.09 for Windows
10:02 dalek tablets: 2854610 | lichtkind++ | docs/appendix-b-grouped.txt:
10:02 dalek tablets: fix whitespace
10:02 dalek tablets: review: https://github.com/perl6/tablets/commit/2854610b50
10:03 nine uruwi: there are different models for what int should be on a 64 bit system. And I seem to remember that this is indeed a difference between Linux and Windows
10:03 uruwi m: my int $a = 2**63-1; ++$a; say $a;
10:03 camelia rakudo-moar 73d193: OUTPUT«-9223372036854775808␤»
10:03 brrt yes, windows is evil
10:04 nine uruwi: https://en.wikipedia.org/wiki/64-bit
10:04 uruwi That works on one line, but if I type  each line individually on the REPL, the second line chokes the program
10:04 moritz uruwi: natives in the REPL are a known problem
10:07 RabidGravy uruwi, nine that's fine, what I'm doing is unlikey to work on windows anyway :)
10:07 xinming joined #perl6
10:08 masak good antenoon, #perl6
10:09 RabidGravy good 10ish GMT masak
10:09 bitman joined #perl6
10:10 brrt good sometime masak
10:11 thomax joined #perl6
10:20 dalek tablets: 71ca088 | lichtkind++ | docs/appendix-b-grouped.txt:
10:20 dalek tablets: testing new navigation for index B
10:20 dalek tablets: review: https://github.com/perl6/tablets/commit/71ca08869a
10:20 dalek tablets: e648d95 | lichtkind++ | docs/appendix-b-grouped.txt:
10:20 dalek tablets: next bunch of set ops
10:20 dalek tablets: review: https://github.com/perl6/tablets/commit/e648d9529d
10:26 _nadim Hmmm! why can't I camm a sub X? X1 is fine
10:26 _nadim call a sub X
10:29 RabidGravy there's an X operator
10:29 RabidGravy m: sub X { }  say X
10:29 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OXNjBmbtnu␤Strange text after block (missing semicolon or comma?)␤at /tmp/OXNjBmbtnu:1␤------> 3sub X { }7⏏5  say X␤    expecting any of:␤        infix␤        infix stopper␤        statemen…»
10:30 RabidGravy m: sub X { };  say X
10:30 camelia rakudo-moar 73d193: OUTPUT«(X)␤»
10:30 RabidGravy or rather
10:30 RabidGravy m: say X.perl
10:30 camelia rakudo-moar 73d193: OUTPUT«X␤»
10:30 RabidGravy m: say X.WHAT
10:30 camelia rakudo-moar 73d193: OUTPUT«(X)␤»
10:31 RabidGravy m: sub X() { };  say X()
10:31 camelia rakudo-moar 73d193: OUTPUT«Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CoercionHOW'␤  in block <unit> at /tmp/QlUWPk7py1:1␤␤»
10:32 nine m: sub X($a) { $a };  say X(1)
10:32 camelia rakudo-moar 73d193: OUTPUT«Cannot invoke this object␤  in block <unit> at /tmp/U2pOFhEt0l:1␤␤»
10:33 _nadim I just stumbled on it, not calling things X, I tried to find the operator X, X, and then had to dig in the long (but goody) list of operators
10:36 espadrine joined #perl6
10:38 gfldex .tell timotimo please ignore me, i'm visually challenged
10:38 yoleaux gfldex: I'll pass your message to timotimo.
10:38 timotimo gfldex: sure
10:38 yoleaux 02:05Z <gfldex> timotimo: the monkeyness of EVAL was weekly forgotten
10:38 yoleaux 10:38Z <gfldex> timotimo: please ignore me, i'm visually challenged
10:39 _nadim Can someone please remind me (again) how I can return a reference?  sub my_sub { my %h ; .... ; return %h, 42}  (%h,$i) = my_sub ;
10:39 timotimo i just woke up for this
10:39 nine _nadim: &my_sub
10:39 _nadim nine: thanks, and the explanation for this ugliness is?
10:42 M-eternaleye joined #perl6
10:43 _nadim well that actually makes no difference!
10:43 gfldex _nadim: you can return anything but a reference
10:44 gfldex there may be reasons to return an explicit capture in some cases tho
10:44 _nadim that's what I thought but I get odd number of elements, 2 secs
10:45 llfourn m: sub my_sub { return { a => 'b'}, 42 }; my (%h,$i) := my_sub(); %h.say; $i.say #crosses fingers
10:45 camelia rakudo-moar 73d193: OUTPUT«a => b␤42␤»
10:45 llfourn is that what you wanted _nadim?
10:47 nine _nadim: oh, sorry, I misunderstood your question
10:47 _nadim m: sub my_sub {my %h = a => 1 ; %h, 42} ; my (%h, $i) = my_sub() ;
10:47 camelia rakudo-moar 73d193: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/gtJBEp3mcf:1␤␤»
10:47 _nadim nine: :)
10:47 FROGGS the %h will gobble the stuff
10:47 FROGGS m: sub my_sub {my %h = a => 1 ; %h, 42} ; my ($h, $i) = my_sub();
10:47 camelia rakudo-moar 73d193: ( no output )
10:47 FROGGS m: sub my_sub {my %h = a => 1 ; %h, 42} ; my ($h, $i) = my_sub(); say $h
10:47 camelia rakudo-moar 73d193: OUTPUT«a => 1␤»
10:48 FROGGS _nadim ^^
10:48 timotimo maybe we should warn when we see something like (%h, $i) = ... ?
10:48 _nadim anything that doesn't force me to change sigil?
10:48 nine timotimo: and (@a, $i) = ...
10:48 llfourn _nadim: the reason it errored in your last example was because you didn't use :=
10:48 timotimo yeah
10:49 _nadim Argggg!
10:49 _nadim and I knew that
10:49 gfldex a slurpy has to be at the end of a parameter list
10:49 timotimo well, it's not really a slurpy
10:49 FROGGS m: sub my_sub {my %h = a => 1 ; %h, 42} ; my (%h, $i) := my_sub(); say %h
10:49 camelia rakudo-moar 73d193: OUTPUT«a => 1␤»
10:49 timotimo slurpyness only works on signature binding
10:50 FROGGS so yeah, we should warn and hint at these two options
10:50 timotimo in this case it's just regular assignment that breaks things
10:50 _nadim I was a bit proud that I finally used := for something yesterday and now it bites me back
10:50 gfldex binding is hard
10:52 cibs joined #perl6
10:52 M-Illandan joined #perl6
10:53 timotimo when trying to wake up i had the excellent idea for a toy language named "SnoozePL"
10:53 timotimo you get a barrage of random statements and all you can do is snooze them or execute them
10:53 timotimo so it's more like a interactive programming experience
10:54 gfldex is that the language electronic sheep deam in?
10:54 uruwi Hmm, even having a terminal-like character grid in the browser poses a big problem.]
10:54 timotimo i wouldn't recommend dreaming in that language
10:55 timotimo uruwi: hum?
10:55 uruwi all fun and games until you want to display Japanese
10:55 uruwi (was going to use unicodetiles.js for frontend)
10:57 uruwi at least it works in dom mode
10:58 timotimo i have kind of no clue what you're talking about
10:58 uruwi Now I'm considering a still text-based, but having stuff like tables interface
10:58 TEttinger uruwi: rot.js ?
10:58 uruwi I planned on a text-based RPG
10:59 timotimo text-based RPG: easy. text-based JRPG: really difficult!
10:59 uruwi TEttinger: I looked at it, but I just need a way to display things as most of the work will be in Perl 6
10:59 TEttinger ah ok
11:01 TEttinger timotimo: sounds like Tinder: the PL
11:01 TEttinger swipe left or right
11:02 uruwi at least this works http://imgur.com/x11ALpc, but  I'm worried about how much space English text will take then
11:02 rindolf joined #perl6
11:02 timotimo hehe
11:02 timotimo "what kind of statement do you like?"
11:02 uruwi (as I also plan on supporting multiple languages)
11:03 timotimo you're using double-width ascii?
11:03 timotimo actually, compared between the japanese and english characters it looks like the ascii is quad-width
11:04 cibs joined #perl6
11:05 uruwi Well, it's not supposed to be double-width; that's just how it looks once you put fullwidth characters in DOM mode
11:05 uruwi in WebGL or canvas display, half the character gets cut off.
11:06 uruwi Plus all the space between the lines; I'm afraid that UT won't work.
11:06 lizmat m: class A { }; sub A { say "foo" }; A   # the problem is not limited to X
11:06 camelia rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/qLVdu97Ftf:␤Useless use of constant value A in sink context (line 1)␤»
11:07 lizmat we should probably warn on creating a sub with the name of a class in scope
11:07 uruwi At least not for anything outside a map interface, so the HTTP protocol will be more complex.
11:07 lizmat m: { class A { } }; sub A { say "foo" }; A   # and class being our by default, makes things more complicated
11:07 camelia rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/FpkouGVDea:␤Useless use of constant value A in sink context (line 1)␤»
11:08 uruwi Or resort to extreme methods such as having the server send JS for the client to execute
11:08 lizmat m: { my class A { } }; sub A { say "foo" }; A   # only if you make the class lexical, are we ok
11:08 camelia rakudo-moar 73d193: OUTPUT«foo␤»
11:09 timotimo m: my class A { }; sub A { say "urgh" }; A
11:09 camelia rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/Ub7wPkEmrB:␤Useless use of constant value A in sink context (line 1)␤»
11:09 timotimo mhm mhm
11:10 administrator joined #perl6
11:11 jnthn There was already an xmas RT or two on the type vs. sub distinction; the answer was the type wins.
11:11 yoleaux 21 Dec 2015 16:15Z <pmurias> jnthn: why is isbig_I checking for the value fitting in 32bits when long is 64bits on the jvm?
11:12 jnthn Meaning A() where A is a type will consistently produce a coercion type
11:12 lizmat but shouldn't we at least warn when someone is creating a sub with the same name as a class in a scope ?
11:12 timotimo well, it can still be reached with &A
11:13 lizmat hence the warn  :-)
11:13 jnthn There already *is* a warning on the mistaken usage.
11:13 lizmat well, ok, maybe not...
11:13 jnthn But also
11:13 lizmat anyways, good noon, jnthn :-)
11:13 timotimo do we have something that turns warnings off if you know what you're doing?
11:13 jnthn Subs/methods get lowercase names by standard coding conventions.
11:13 timotimo yup, goon nood, dood!
11:13 jnthn And types uppercase (aside from natives)
11:16 czester joined #perl6
11:16 czester left #perl6
11:17 czester13 joined #perl6
11:17 FROGGS o/
11:18 cibs_ joined #perl6
11:21 czester13 hi, I have one question .. what should be value of 'enc' parameter of 'slurp' function to allow 'cp1250' encoding?
11:23 cibs joined #perl6
11:25 lizmat czester13: have you tried :enc<cp1250> ?
11:26 FROGGS czester13: windows-1252
11:26 timotimo also, it might not be implemented yet on moarvm ...
11:26 lizmat FROGGS: 1252 ?
11:26 FROGGS there is no shortcut for cp1250 yet
11:26 FROGGS ohh, hups
11:26 FROGGS well, windows-1252 is the only we have implemented
11:27 AlexDaniel joined #perl6
11:27 AlexDaniel m: my Int $x = Inf;
11:27 camelia rakudo-moar 73d193: OUTPUT«===SORRY!===␤Cannot find method 'value'␤»
11:27 FROGGS czester13 / lizmat: look: https://github.com/rakudo/rakudo/blob/no​m/src/core/Rakudo/Internals.pm#L236-L257
11:28 firstdayonthejob joined #perl6
11:28 lizmat FROGGS: should we add cp1250 as an alias for windows-1250 at least ?
11:28 cibs joined #perl6
11:29 AlexDaniel m: say Int.Range
11:29 camelia rakudo-moar 73d193: OUTPUT«-Inf..Inf␤»
11:29 FROGGS lizmat: that won't help if we do not support 1250 at all
11:29 AlexDaniel perhaps it should say -Inf^..^Inf ?
11:29 czester13 FROGGS: ok, thanx for info :)
11:30 lizmat AlexDaniel: well, that would perhaps convey better that we can't put an Inf into a bigInt
11:30 FROGGS czester13: perhaps you can slurp in a byte buffer and extend Encode for your needs... https://github.com/sergot/perl6-encode
11:30 kid51 joined #perl6
11:31 FROGGS lizmat: the design docs state that Int should be able to store Inf
11:34 timotimo oh, yeah. i remember lots of talk about that, FROGGS
11:34 AlexDaniel timotimo: was there any final decision?
11:35 andreoss joined #perl6
11:36 lucasb joined #perl6
11:36 lizmat before Christmas, no Inf in Int
11:36 timotimo i'm not sure. i remember there being serious worries it can be done without running into implementation problems?
11:36 lizmat after Christmas, who knows, but chances are not good, afaiu
11:39 thomax do we get perl 6.christmas?
11:40 regreg joined #perl6
11:41 AlexDaniel thomax: you can write a letter to Santa :)
11:41 ZoffixWin joined #perl6
11:41 ZoffixWin .u ૪
11:41 yoleaux U+0AEA GUJARATI DIGIT FOUR [Nd] (૪)
11:41 ZoffixWin m: ૪૪૪ + 42
11:41 camelia rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/GylQwEjmWF:␤Useless use of "+" in expression "૪૪૪ + 42" in sink context (line 1)␤»
11:42 thomax i did 15 yrs ago.
11:42 ZoffixWin hm, weird.
11:42 AlexDaniel ZoffixWin: weird what? Looks like it works
11:42 lizmat m: say ૪૪૪ + 42
11:42 camelia rakudo-moar 73d193: OUTPUT«486␤»
11:43 AlexDaniel thomax: good! Then there is a high chance that we will get it this year :)
11:43 lizmat assuming gujarati numerics are decimal ?
11:43 ZoffixWin AlexDaniel: ah, right
11:43 ZoffixWin timotimo: ^^ looks like your Weekly is wrong. It's not just for single digits.
11:43 ZoffixWin m: say ٦1٥٠3 + ٤६੬៩ - ৭۹੧
11:43 camelia rakudo-moar 73d193: OUTPUT«65381␤»
11:43 timotimo oh?
11:44 timotimo OK, perhaps it only applies to categories that don't map exclusively to 0-9
11:44 timotimo like roman numerals
11:44 AlexDaniel .u ٤
11:44 yoleaux U+0664 ARABIC-INDIC DIGIT FOUR [Nd] (٤)
11:44 administrator joined #perl6
11:45 AlexDaniel .u Ⅳ
11:45 yoleaux U+2163 ROMAN NUMERAL FOUR [Nl] (Ⅳ)
11:45 AlexDaniel [Nd] [Nl]
11:45 lizmat m: say Ⅳ + Ⅳ
11:45 camelia rakudo-moar 73d193: OUTPUT«8␤»
11:45 lizmat m: say ⅣⅣ
11:45 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ek_fgPKzeh␤Bogus postfix␤at /tmp/Ek_fgPKzeh:1␤------> 3say Ⅳ7⏏5Ⅳ␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement mod…»
11:45 AlexDaniel which means, um, no idea. Numeric digit, numeric letter?
11:46 ZoffixWin That makes sense since I don't think "ⅣⅣ" is a valid number
11:46 lizmat numeraL
11:47 AlexDaniel oh well, let's see
11:48 stmuk https://twitter.com/despair .. The "Windows" section of every open-source project's "how to compile and install" file:
11:48 AlexDaniel m: say join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘Nl’/ })».chr
11:48 camelia rakudo-moar 73d193: OUTPUT«ᛮᛯᛰⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↀↁↂ​ↅↆↇↈ〇〡〢〣〤〥〦〧〨〩〸〹〺ꛦꛧꛨꛩꛪꛫꛬꛭꛮꛯ𐅀𐅁𐅂𐅃𐅄𐅅𐅆𐅇𐅈𐅉𐅊𐅋𐅌𐅍𐅎…»
11:49 AlexDaniel m: say join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘Nd’/ })».chr
11:49 camelia rakudo-moar 73d193: OUTPUT«0123456789٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹​߀߁߂߃߄߅߆߇߈߉०१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧੨੩੪੫੬​੭੮੯૦૧૨૩૪૫૬૭૮૯୦୧୨୩୪୫୬୭୮୯௦௧௨௩௪௫௬௭௮௯౦౧…»
11:49 AlexDaniel actually, not too many!
11:50 AlexDaniel Full: ᛮᛯᛰⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯ​ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾ​ⅿↀâ†�ↂↅↆↇↈ〇〡〢〣〤〥〦​〧〨〩〸〹〺ꛦꛧꛨꛩꛪꛫꛬꛭꛮ​ꛯð�…€ð�…�ð�…‚ð�…ƒð�…„ð�……ð�…†ð�…‡ð�…ˆð�…‰ð�​…Šð�…‹ð�…Œð�…�ð�…Žð�…�ð�…�ð�…‘ð�…’ð�…“ð�…”ð�…​•ð�…–ð�…—ð�…˜ð�…™ð�…šð�…›ð�…œð�…�ð�…žð�…Ÿð�… ð�…¡ð�…¢ð�…£ð�…¤ð�…¥ð�…¦ð�…§ð�…¨ð�…©ð​�…ªð�…«ð�…¬ð�…­ð�…®ð�…¯ð�…°ð�…±ð�…²ð�​…³ð�…´ð���ð��Šð��‘ð��’ð��“ð��”ð��•ð’�
11:50 AlexDaniel And: 0123456789٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇߈߉०​१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧੨੩੪੫੬੭੮੯૦૧૨૩૪૫૬૭૮૯୦୧​୨୩୪୫୬୭୮୯௦௧௨௩௪௫௬௭௮௯౦౧౨౩౪౫౬౭౮౯೦೧೨೩೪೫೬೭೮೯൦൧൨​൩൪൫൬൭൮൯෦෧෨෩෪෫෬෭෮෯๐๑๒๓๔๕๖๗๘๙໐໑໒໓໔໕໖໗໘໙༠༡༢
11:50 AlexDaniel 𐒠𐒡𐒢𐒣𐒤𐒥𐒦𐒧𐒨𐒩𑁦𑁧𑁨𑁩𑁪𑁫𑁬𑁭𑁮𑁯𑃰𑃱𑃲𑃳𑃴𑃵𑃶𑃷𑃸𑃹𑄶𑄷𑄸𑄹𑄺𑄻𑄼​𑄽𑄾𑄿𑇐𑇑𑇒𑇓𑇔𑇕𑇖𑇗𑇘𑇙𑋰𑋱𑋲𑋳𑋴𑋵𑋶𑋷𑋸𑋹𑓐𑓑𑓒𑓓𑓔𑓕𑓖𑓗𑓘𑓙𑙐𑙑𑙒𑙓​𑙔𑙕𑙖𑙗𑙘𑙙𑛀𑛁𑛂𑛃𑛄𑛅𑛆𑛇𑛈𑛉𑜰𑜱𑜲𑜳𑜴𑜵𑜶𑜷𑜸𑜹𑣠𑣡𑣢𑣣𑣤𑣥𑣦𑣧𑣨𑣩𖩠
11:52 Psyche^ joined #perl6
11:52 timotimo stmuk: hah, never noticed the "0.0833 FT.", who came up with that? %)
11:53 AlexDaniel .u ½
11:53 yoleaux U+00BD VULGAR FRACTION ONE HALF [No] (½)
11:53 AlexDaniel oh there's also No
11:54 timotimo No.
11:54 timotimo №1
11:54 AlexDaniel yeah, No. Not gonna paste it here, enough unicode spam
11:55 AlexDaniel “timotimo i can't help but think people are going to use this as a reason to say perl6 is stupid.” yes. Though one day they will probably get over it
11:56 AlexDaniel hmmm so does it mean that I can copy any part of that and camelia will eat it?
11:56 AlexDaniel m: say ൭൮൯෦෧෨෩෪෫෬෭෮෯๐๑๒๓๔๕๖๗๘๙໐໑໒໓໔໕໖໗໘໙༠​༡༢༣༤༥༦༧༨༩၀၁၂၃၄၅၆၇၈၉႐႑႒႓႔႕႖႗႘႙០១២៣
11:56 camelia rakudo-moar 73d193: OUTPUT«7890123456789012345678901234567​890123456789012345678901234567890123␤»
11:56 AlexDaniel m: say +join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘No’/ })».chr
11:56 camelia rakudo-moar 73d193: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5²³¹¼½¾৴৵৶৷৸৹୲୳୴୵୶୷௰௱௲౸౹౺౻౼౽​౾൰൱൲൳൴൵༪༫༬༭༮༯༰༱༲༳፩፪፫፬፭፮፯፰፱፲፳…»
11:56 timotimo ah, it has the superscripts
11:57 AlexDaniel ah that's a wrong one
11:57 AlexDaniel m: say +join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘Nd’/ })».chr
11:57 camelia rakudo-moar 73d193: OUTPUT«12345678901234567890123456789012345678​901234567890123456789012345678901234567890123​456789012345678901234567890123456789012345678​901234567890123456789012345678901234567890123​456789012345678901234567890123456789012345678​90123456789012345678901234567890123456…»
11:57 AlexDaniel yeeaaaaaaaah
11:58 timotimo yeah, thanks obama^Wcamelia
11:58 smash joined #perl6
11:59 AlexDaniel Nd is “Number, decimal digit”. Nl is “Number, letter” and No is “Number, other”
11:59 AlexDaniel so I guessed it right
11:59 AlexDaniel and you can only use these things as digits if they are decimal digits, totally makes sense
12:01 AlexDaniel by the way, I remember somebody here liked dashes
12:01 AlexDaniel m: say join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘Pd’/ })».chr
12:01 AlexDaniel here is a special category for dashes!
12:01 camelia rakudo-moar 73d193: OUTPUT«-֊־᐀᠆‐‑‒–—―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-␤»
12:01 AlexDaniel .oO( let's allow all of them in variable names! )
12:03 Skarsnik joined #perl6
12:03 Skarsnik Hello
12:03 lucs It's me
12:04 lucasb Oh hai
12:07 Begi joined #perl6
12:09 thomax m: ⠎⠁⠽⠀⠄⠠⠓⠑⠇⠇⠕⠀⠠⠸⠺⠲⠄
12:09 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VCoia9VyEe␤Bogus statement␤at /tmp/VCoia9VyEe:1␤------> 3<BOL>7⏏5⠎⠁⠽⠀⠄⠠⠓⠑⠇⠇⠕⠀⠠⠸⠺⠲⠄␤    expecting any of:␤        prefix␤        term␤»
12:12 AlexDaniel timotimo: “Rakudo now understands × and ÷ operators” it also understands ∞
12:12 AlexDaniel m: say ∞
12:12 camelia rakudo-moar 73d193: OUTPUT«Inf␤»
12:12 thomax m: say ⠼⠃⠉+⠼⠙⠃;
12:12 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/hFQzsZyAAD:1␤------> 3say7⏏5 ⠼⠃⠉+⠼⠙⠃;␤Bogus postfix␤at /tmp/hFQzsZyAAD:1␤------> 3say 7⏏5⠼⠃⠉+⠼⠙⠃;␤    expecting any of:␤        infix␤ …»
12:13 thomax m: say :⠼⠃⠉"+"⠼⠙⠃";
12:13 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/HjEFB_5xCv:1␤------> 3say7⏏5 :⠼⠃⠉"+"⠼⠙⠃";␤Confused␤at /tmp/HjEFB_5xCv:1␤------> 3say :7⏏5⠼⠃⠉"+"⠼⠙⠃";␤    expecting any of:␤        colon …»
12:13 AlexDaniel m: say bool.Range
12:13 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/90S6N9TliK␤Undeclared routine:␤    bool used at line 1␤␤»
12:13 thomax no braille support yet?
12:14 AlexDaniel .u ⠼
12:14 yoleaux U+283C BRAILLE PATTERN DOTS-3456 [So] (⠼)
12:14 FROGGS Script, other?
12:14 AlexDaniel thomax: Braille is a symbol, not a number
12:14 AlexDaniel thomax: that's according to unicode
12:14 pochi m: sub foo(Int $a) { say "the integer is $a" }; foo(False)
12:14 camelia rakudo-moar 73d193: OUTPUT«the integer is False␤»
12:14 pochi this can't be right?
12:15 thomax but it has digits?
12:15 Skarsnik Bool being enum (so Int) is an issue, yes
12:15 FROGGS m: say False.^mro
12:15 camelia rakudo-moar 73d193: OUTPUT«((Bool) (Int) (Cool) (Any) (Mu))␤»
12:15 pochi ok, but it's not supposed to be like that?
12:16 AlexDaniel pochi: I don't think that it is supposed to be like that…
12:16 FROGGS Bool is supposed to be an enum
12:16 AlexDaniel m: sub foo(Int $a) { say "the integer is {+$a}" }; foo(False)
12:16 camelia rakudo-moar 73d193: OUTPUT«the integer is 0␤»
12:16 FROGGS well, it kinda makes sense
12:16 FROGGS since this always worked
12:16 pochi m: sub foo(Int $a) { say "the integer is $a" }; foo("5")
12:16 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xKrXa0266H␤Calling foo(Str) will never work with declared signature (Int $a)␤at /tmp/xKrXa0266H:1␤------> 3oo(Int $a) { say "the integer is $a" }; 7⏏5foo("5")␤»
12:17 pochi then that should work too?
12:17 Skarsnik It's an issue that Bool could match Int
12:17 FROGGS pochi: why? a string is not an Int
12:17 AlexDaniel pochi: ah no, that should not
12:17 Skarsnik What was the motive to have Bool an enum?
12:17 FROGGS m: say Str.^mro
12:17 camelia rakudo-moar 73d193: OUTPUT«((Str) (Cool) (Any) (Mu))␤»
12:17 AlexDaniel pochi: basically if you use + in front of it then it will kinda cast to Int
12:17 pochi so much for type safety?
12:17 AlexDaniel pochi: in other words, Bool is always safe in such respect
12:17 FROGGS m: sub foo(Int() $a) { say "the integer is $a" }; foo("5") # pochi: you can coerce it
12:17 camelia rakudo-moar 73d193: OUTPUT«the integer is 5␤»
12:18 lucasb I think things like 'sub f(SuperClass() $x) {...}; f(SubClass.new)' are confusing
12:18 FROGGS m: sub foo(Int() $a) { say "the integer is $a" }; foo("5foo") # pochi: only with valid numbers
12:18 camelia rakudo-moar 73d193: OUTPUT«Cannot convert string to number: trailing characters after number in '5⏏5foo' (indicated by ⏏)␤  in sub foo at /tmp/If1791OYs2:1␤  in block <unit> at /tmp/If1791OYs2:1␤␤Actually thrown at:␤  in sub foo at /tmp/If1791OYs2:1␤  in block <…»
12:18 lucasb people expect SubClass to be coerced to SuperClass
12:18 FROGGS lucasb: aye
12:18 pochi but I didn't expect bool to be subclass of int ...
12:18 FROGGS lucasb: I tripped over that too
12:18 uruwi I'm a bit  confused about sockets. If I have only one client, I can just call .accept once, right?
12:18 FROGGS pochi: it is an eNUMERation though
12:19 Skarsnik For me, Bool should not match the Int type
12:19 pochi explicit conversion is fine, but implicit?
12:19 pochi sounds scary to me
12:19 FROGGS Skarsnik: and I'd like to be able to specify that I want to accept Int, and not its subtypes in a signature
12:19 AlexDaniel pochi: but hey, you can pass any enum thingy into that, as far as I can see
12:19 FROGGS pochi: there is no implicit conversion
12:20 Skarsnik m: say True ~~ Numeric;
12:20 camelia rakudo-moar 73d193: OUTPUT«True␤»
12:20 Skarsnik It should not work ~~
12:20 FROGGS let Larry judge I'd say (in case he has not already)
12:21 AlexDaniel m: enum Bool <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Cat)
12:21 camelia rakudo-moar 73d193: OUTPUT«the integer is Cat␤»
12:21 AlexDaniel meh
12:22 Skarsnik lol
12:22 uruwi m: enum Bool <Cat Dog>; sub foo(Int $a) { say "the integer is {$a.Int}" }; foo(Cat)
12:22 camelia rakudo-moar 73d193: OUTPUT«the integer is 0␤»
12:22 AlexDaniel m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Cat)
12:22 camelia rakudo-moar 73d193: OUTPUT«the integer is Cat␤»
12:22 uruwi m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is {$a.Int}" }; foo(Cat)
12:22 camelia rakudo-moar 73d193: OUTPUT«the integer is 0␤»
12:22 AlexDaniel m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is {+$a}" }; foo(Cat)
12:22 camelia rakudo-moar 73d193: OUTPUT«the integer is 0␤»
12:22 AlexDaniel m: enum Animal <Cat Dog>; sub foo(Int() $a) { say "the integer is $a" }; foo(Cat)
12:22 camelia rakudo-moar 73d193: OUTPUT«the integer is Cat␤»
12:22 AlexDaniel ouch
12:22 uruwi m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Dog)
12:22 camelia rakudo-moar 73d193: OUTPUT«the integer is Dog␤»
12:22 uruwi m: enum Animal <Cat Dog>; sub foo(int $a) { say "the integer is $a" }; foo(Dog)
12:22 camelia rakudo-moar 73d193: OUTPUT«the integer is 1␤»
12:23 uruwi m: enum Animal <Cat Dog>; sub foo(Int:D $a) { say "the integer is $a" }; foo(Dog)
12:23 camelia rakudo-moar 73d193: OUTPUT«the integer is Dog␤»
12:23 uruwi I'm a bit  confused about sockets. If I have only one client, I can just call .accept once, right?
12:23 AlexDaniel "is $a"?
12:23 uruwi m: enum Animal <Cat Dog>; sub foo(Int:D $a is Int) { say "the integer is $a" }; foo(Dog)
12:23 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d5BG80tBW2␤Can't use unknown trait 'is ' in a parameter declaration.␤at /tmp/d5BG80tBW2:1␤    expecting any of:␤        rw␤        readonly␤        copy␤        required␤        raw␤        le…»
12:23 uruwi m: enum Animal <Cat Dog>; sub foo($a is Int) { say "the integer is $a" }; foo(Dog)
12:23 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D3vcU95FmI␤Can't use unknown trait 'is ' in a parameter declaration.␤at /tmp/D3vcU95FmI:1␤    expecting any of:␤        rw␤        readonly␤        copy␤        required␤        raw␤        le…»
12:24 uruwi m: enum Animal <Cat Dog>; sub foo($a) { say "the integer is $a" }; foo(Dog)
12:24 camelia rakudo-moar 73d193: OUTPUT«the integer is Dog␤»
12:24 uruwi m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Dog)
12:24 camelia rakudo-moar 73d193: OUTPUT«the integer is Dog␤»
12:24 thomax m: enum Bool <Cat Dog>; sub foo(Int $a) { say "the integer is " ~ $a*1 }; foo(Cat)
12:24 camelia rakudo-moar 73d193: OUTPUT«the integer is 0␤»
12:24 uruwi TMTOWTDI, indeed.
12:24 AlexDaniel thomax: haha, that might be a bit too explicit :D
12:24 FROGGS you are not surprised that you can do math with enums, right?
12:24 uruwi m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Dog + Dog)
12:24 camelia rakudo-moar 73d193: OUTPUT«the integer is 2␤»
12:24 uruwi m: enum Animal <Cat Dog Rabbit>; sub foo(Int $a) { say "the integer is $a" }; foo(Dog + Dog)
12:24 camelia rakudo-moar 73d193: OUTPUT«the integer is 2␤»
12:25 AlexDaniel FROGGS: personally I'm surprised that it is stringified into Dog
12:25 lucasb .oO( camelia, also available in your nearest /query window )
12:25 uruwi m: enum Animal <Cat Dog Rabbit>; say Dog + Dog;
12:25 camelia rakudo-moar 73d193: OUTPUT«2␤»
12:25 uruwi m: enum Animal <Cat Dog Rabbit>; say Dog + Dog - Rabbit;
12:25 camelia rakudo-moar 73d193: OUTPUT«0␤»
12:25 FROGGS AlexDaniel: string interpolation calls .Stringy on it
12:25 uruwi m: enum Animal <Cat Dog Rabbit>; say (Dog + Dog).Animal;
12:25 camelia rakudo-moar 73d193: OUTPUT«Method 'Animal' not found for invocant of class 'Int'␤  in block <unit> at /tmp/iAdpWzXRXg:1␤␤»
12:25 FROGGS and an enum stringifies to its name
12:25 uruwi m: enum Animal <Cat Dog Rabbit>; say Animal(Dog + Dog);
12:25 camelia rakudo-moar 73d193: OUTPUT«Rabbit␤»
12:26 timotimo why do people keep saying "wtf, bool is an int?" :(
12:26 thomax m: enum Animal <Cat Dog Rabbit>; say (Dog + Dog - Rabbit).Animal;
12:26 camelia rakudo-moar 73d193: OUTPUT«Method 'Animal' not found for invocant of class 'Int'␤  in block <unit> at /tmp/CU6bH456aL:1␤␤»
12:26 AlexDaniel FROGGS: I understand, but it's all is just kinda weird… I was expecting an int and now boom! It stringified into Dog…
12:26 FROGGS if enums would not be a subclass anymore, how do you want to OR flags together?
12:26 AlexDaniel FROGGS: I agree that it makes sense, but it is going to be a pitfall for sure
12:26 nine uruwi: you can /msg camelia m: say "foo"; # for playing around
12:26 uruwi m: enum Animal <Cat Dog Rabbit>; say Animal(Dog + Dog - Rabbit);
12:26 camelia rakudo-moar 73d193: OUTPUT«Cat␤»
12:26 timotimo subclass means "where you expect an A, every B will work, too if B is A"
12:26 timotimo and Bool is Int
12:26 timotimo so everywhere that expects an Int, a Bool works, too
12:27 Skarsnik But it does not feel right
12:27 FROGGS Skarsnik: the other way around would defeat subclassing
12:28 nine Skarsnik: it may not feel right but it will be very usefull when communicating with systems that use 0 and 1 for boolean values (like databases)
12:28 Skarsnik I get the idea of being able to do math with enum. but it should not match for Int signature
12:28 AlexDaniel and imagine perl6critic: “It seems like you are using $a (which is Int) inside double quotes. You should be using {+$a} instead!”
12:28 timotimo should we disallow subclassing Int completely?
12:29 timotimo because people expect every Int to stringify to the value as decimal digits
12:29 Skarsnik And I was not able to make enum work with NC value. I had to match again MY_VALUE_OF_ENUM.value
12:29 AlexDaniel timotimo: or… there could be a special numeric stringification?
12:30 Skarsnik so I don't get the point x)
12:31 FROGGS Skarsnik: enums and NC work pretty well together... can you show your problem in a one liner?
12:31 thomax the current debian rakudo version is 2014.07-4
12:31 Skarsnik hm
12:31 timotimo thomax: wow, that's not even from the last 12 months :(
12:31 Skarsnik for stable
12:32 thomax unstable
12:32 AlexDaniel 2015.09-2 in unstable
12:32 timotimo that's quite a bit more reasonable
12:32 thomax oh, but than the packet version isn't updated
12:33 uruwi m: say Instant.new(1)
12:33 camelia rakudo-moar 73d193: OUTPUT«Cannot make a Instant object using .new␤  in block <unit> at /tmp/YbHG2LwJOM:1␤␤»
12:34 thomax oh, my fault, just saw the stable
12:36 jczeus joined #perl6
12:36 Skarsnik m: my int32 $a = 42; enum piko (HELLO, NYO => 42); given $a {say "Nyo" when NYO;}
12:36 camelia rakudo-moar 73d193: OUTPUT«===SORRY!===␤Cannot invoke this object␤»
12:37 Skarsnik hm
12:39 Skarsnik enum syntax is really weird btw (for me)
12:39 AlexDaniel m: enum Bool (Cat, Dog => 42)
12:39 camelia rakudo-moar 73d193: OUTPUT«===SORRY!===␤Cannot invoke this object␤»
12:40 Skarsnik m: my int32 $a = 42; enum piko (HELLO => 1, NYO => 42); given $a {say "Nyo" when NYO;}
12:40 camelia rakudo-moar 73d193: OUTPUT«Nyo␤»
12:40 Skarsnik hm nvm it works x)
12:40 AlexDaniel so it only works if you specify all of the values?
12:42 AlexDaniel m: enum Bool (Cat);
12:42 camelia rakudo-moar 73d193: OUTPUT«===SORRY!===␤Cannot invoke this object␤»
12:43 AlexDaniel m: enum Bool «:Cat(1) Dog»; say +Dog
12:43 camelia rakudo-moar 73d193: OUTPUT«2␤»
12:43 AlexDaniel right
12:44 AlexDaniel Skarsnik: ^
12:44 AlexDaniel m: enum Bool «Cat :Dog(42)»; say +Dog; say +Cat
12:44 camelia rakudo-moar 73d193: OUTPUT«42␤0␤»
12:45 pochi m: enum Bool <True False>; say False.Int
12:45 camelia rakudo-moar 73d193: OUTPUT«1␤»
12:45 AlexDaniel pochi: I've thought about it :)
12:45 lucasb pochi: you change the whole meaning of the universe doing that :)
12:46 AlexDaniel lucasb: isn't it locally scoped?
12:46 lucasb AlexDaniel: idk, just kidding
12:46 pochi why am I allowed to do that at all?
12:46 lizmat m: say Date.new(:2016year,:2month,:29day).later(:1year)  # is this a bug ?
12:46 camelia rakudo-moar 73d193: OUTPUT«day of 2017/2 out of range. Is: 29, should be in 1..28␤  in block <unit> at /tmp/Oct1qHeUJv:1␤␤»
12:46 pochi m: enum Bool <True False>; enum Bool <Dog Cat>
12:46 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ii85IzFvMV␤Redeclaration of symbol Bool␤at /tmp/ii85IzFvMV:1␤------> 3enum Bool <True False>; enum Bool7⏏5 <Dog Cat>␤»
12:46 pochi I can redeclare once, but not twice?
12:47 AlexDaniel m: enum Bool <True False>; { enum Bool <Dog Cat> }
12:47 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/K_EQtSevml␤Redeclaration of symbol Bool␤at /tmp/K_EQtSevml:1␤------> 3enum Bool <True False>; { enum Bool7⏏5 <Dog Cat> }␤»
12:49 thomax m: enum Bool <Dog Cat>;
12:49 camelia rakudo-moar 73d193: ( no output )
12:49 thomax m: enum Bool <Dog Cat>; enum Bool <True False>;
12:49 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uxjbm2kYJD␤Redeclaration of symbol Bool␤at /tmp/uxjbm2kYJD:1␤------> 3enum Bool <Dog Cat>; enum Bool7⏏5 <True False>;␤»
12:49 lucasb lizmat: I remember masak already talked about this issue. do you think it's better to give an error or advance to the next day, in this case March 1st ?
12:50 AlexDaniel lizmat: I'd say that it is. It feels like “later” is supposed to handle that kind of stuff
12:50 AlexDaniel m: say Date.new(:2016year,:2month,:29day).later(:1days)
12:50 camelia rakudo-moar 73d193: OUTPUT«2016-03-01␤»
12:50 lizmat m: say Date.new(:2016year,:1month,:31day).later(:1month) # in the case of months, we move to the last day of the month
12:50 camelia rakudo-moar 73d193: OUTPUT«2016-02-29␤»
12:51 lucasb anyway, date handling is already confusing enough, that I think in edge cases like these, it's better to give an error
12:51 lizmat so it would seem logical to me to do the same for moving with years
12:51 AlexDaniel lizmat: oh, then yes!
12:52 Skarsnik FROGGS, returning Buf in NC does not work?
12:53 AlexDaniel lizmat: indeed, now it totally makes sense. Now I'm starting to think though what is going to happen if you give a combination of those
12:53 Juerd lizmat: Rockchip didn't mind having 31 November though :)  https://lkml.org/lkml/2015/12/2/1202
12:53 FROGGS Skarsnik: no, a Buf needs to now its .elems
12:54 FROGGS Skarsnik: I could imagine a 'returns blob8[32]' though
12:54 AlexDaniel there is a much easier way to handle dates by the way: https://en.wikipedia.org/wiki​/International_Fixed_Calendar
12:54 Skarsnik I was pondering how to handle BLOB field in DBIish
12:54 pochi m: say enum Int <1 2 3>
12:54 camelia rakudo-moar 73d193: OUTPUT«Map.new(("1" => 0,"2" => 1,"3" => 2))␤»
12:54 AlexDaniel though it means that we have to throw away our buggy calendars :)
12:55 kaare_ joined #perl6
12:55 timotimo Skarsnik: that'd map to Blob, i'd expect
12:55 FROGGS Juerd: ohh wow *g*
12:58 thomax m: say Date.new(:1752year,:9month,:3day)
12:58 camelia rakudo-moar 73d193: OUTPUT«1752-09-03␤»
12:58 thomax hmm.. there was no 3.9.1752
12:58 Skarsnik hm mysqlclient you are *** MYSQL_TYPE_BLOBBLOB or TEXT field
12:59 Skarsnik Nice way to know if you have to apply an encoding or not xD
13:00 AlexDaniel m: say Date.new(:1000year,:9month,:3day)
13:00 camelia rakudo-moar 73d193: OUTPUT«1000-09-03␤»
13:00 AlexDaniel thomax: there was no 1000-09-03 either according to this logic?
13:00 thomax try `cal 1752`
13:01 AlexDaniel thomax: I know, but all operations are on Gregorian calendar, whatever that means
13:01 hankache joined #perl6
13:02 thomax ok, right by definition
13:02 FROGGS didnt they even made up an entire century around 900bc?
13:03 AlexDaniel m: say Date.new(year => -5000,:2month,:28day)
13:03 camelia rakudo-moar 73d193: OUTPUT«-5000-02-28␤»
13:03 AlexDaniel thomax: ↑ like, you know…
13:03 * jnthn resolves the multis/roles RT, meaning we're now down to 2 xmas RTs.
13:04 jnthn One of which is already fixed, and just testneeded
13:05 AlexDaniel thomax: but the whole calendar thing is fucked up, I don't think that there is any way to do it right…
13:06 thomax AlexDaniel: well. better to have the idea going. bugs are free to fix.
13:06 psy_ joined #perl6
13:08 AlexDaniel I'm kinda glad that at least the clock is not so bad. Unless you start thinking about sexagesimal numeral system that we are still using for whatever reason…
13:08 hankache jnthn++
13:09 AlexDaniel thomax: but the definition of “right” is a bit weird here. If we start following the history then basically we are introducing all of these exceptions into the user land
13:10 AlexDaniel thomax: so personally I think that it is much more elegant to break the history for consistency
13:11 Skarsnik timotimo, you should add in the weekly post that the 'bool' exist only on NativeCall
13:11 timotimo https://www.reddit.com/r/perl/comments/3xta​r9/201552_closer_and_closer_to_the_release/  -  random microbenchmark nonsense
13:12 thomax would be nice. but hey, there are so many testers out there, it will take a while to get all the bug fixes in order after there will be serious release.
13:12 Skarsnik wow += is very slow
13:12 timotimo yeah
13:13 timotimo it used to be faster than ++ on native ints apparently
13:13 timotimo i wonder if i should have named my reddit account "timotimotimotimotimotimo" instead of "6timo"
13:13 Skarsnik lol
13:14 timotimo Skarsnik: instead of "wow, += is slow", you could also have said "damn, native ints are great!"
13:15 AlexDaniel timotimo: optimist detected
13:15 timotimo i'm optimotimo
13:16 dalek perl6.org: b8cc699 | (Zoffix Znet)++ | fetch-recent-blog-posts.pl:
13:16 dalek perl6.org: Fix broken automated Recent Blogs refresh
13:16 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/b8cc699c8b
13:18 timotimo Skarsnik: did you also notice that += on a native int is almost 2x faster than on an Int?
13:24 Skarsnik FROGGS, are the Str returned by native routine encoded?
13:24 FROGGS Skarsnik: yes, and there is a trait to specify something non-utf8
13:25 FROGGS To specify how to marshal string return types, just apply this trait to the routine itself.
13:25 FROGGS sub input_box() returns Str is encoded('utf8') is native('libgui') { * }
13:25 FROGGS that's a quote from http://doc.perl6.org/language/nativecall
13:26 Skarsnik and for CArray[Str] ?
13:26 FROGGS hmmm
13:26 FROGGS no idea
13:27 timotimo i'll go sit in my car for a few hours now ...
13:27 timotimo cya!
13:27 FROGGS o/
13:27 FROGGS must be nice, sitting in a new car... touching leather... :o)
13:27 Skarsnik actually it's probably an issue for class A is cstruct { has Str $a} ?
13:27 thomax :-)
13:27 timotimo it's not a new car, though
13:29 FROGGS Skarsnik: we implemented it for Parameter and Routine... that we didnt implement it for Attribute is just an oversight
13:29 thomax wow, i really like to see a js implementation of perl6
13:31 thomax like amber-smalltalk
13:34 zakharyas joined #perl6
13:35 pochi m: my $c = False; say $c+1; say ++$c
13:35 camelia rakudo-moar 73d193: OUTPUT«1␤True␤»
13:37 loren joined #perl6
13:39 Begi "False + 1 = 1" because (False = 0) I guess ?
13:40 Skarsnik m: my $c = False; say $c+2
13:40 camelia rakudo-moar 73d193: OUTPUT«2␤»
13:41 Skarsnik m: my $c = False; say ++$c; say ++$c;
13:41 camelia rakudo-moar 73d193: OUTPUT«True␤True␤»
13:41 gfldex m: my enum MyBool ( False => 0, True => 1 )
13:41 camelia rakudo-moar 73d193: ( no output )
13:41 gfldex that's why
13:41 raiph joined #perl6
13:41 Skarsnik m: my enum MyBool ( False => 0, True => 0...Inf)
13:41 camelia rakudo-moar 73d193: OUTPUT«===SORRY!===␤Method 'succ' not found for invocant of class 'Pair'␤»
13:42 Skarsnik m: my enum MyBool ( False => 0, True => 0..Inf)
13:42 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XVjtNUA8Iq␤Type error in enum. Got 'Range' Expected: 'Int'␤at /tmp/XVjtNUA8Iq:1␤------> 3num MyBool ( False => 0, True => 0..Inf)7⏏5<EOL>␤»
13:44 pochi m: my $c = False; $c++; $c++; $c++; say $c; $c--; say $c
13:44 camelia rakudo-moar 73d193: OUTPUT«True␤False␤»
13:45 Skarsnik that a weird Int x)
13:45 lizmat m: say Inf++   # same thing
13:45 gfldex m: (False,True)>>.value.say
13:45 camelia rakudo-moar 73d193: OUTPUT«Cannot call postfix:<++>(Num); none of these signatures match:␤    (Mu:D $a is rw)␤    (Mu:U $a is rw)␤    (Int:D $a is rw)␤    (int $a is rw)␤    (Bool:U $a is rw)␤    (Bool:D $a is rw)␤    (Num:D $a is rw)␤    (Num:U $a is rw)␤    (num …»
13:45 camelia rakudo-moar 73d193: OUTPUT«(0 1)␤»
13:45 lizmat mebbe not  :-)
13:46 gfldex m: (False,True)>>.key.say
13:46 camelia rakudo-moar 73d193: OUTPUT«(False True)␤»
13:46 lizmat m: my $a = Inf; $a++
13:46 camelia rakudo-moar 73d193: ( no output )
13:46 lizmat m: my $a = Inf; $a++; say $a
13:46 camelia rakudo-moar 73d193: OUTPUT«Inf␤»
13:46 gfldex you make Inf as big as you want :)
13:47 lizmat m: my $a = Inf; $a--; say $a   # making Inf smaller  :-)
13:47 camelia rakudo-moar 73d193: OUTPUT«Inf␤»
13:48 Begi m: my $a = Inf; my $b = Inf; my $c = $a - $b; say $c;
13:48 camelia rakudo-moar 73d193: OUTPUT«NaN␤»
13:48 Begi What's this output ?
13:49 lizmat wonder if it would make sense to add a postfix:<++>(Mu:D) candidate (without the "is rw") for better errors
13:51 pochi sub inc1(Int $a is rw) { $a++; return $a }; say inc1(my $c=42); say inc1(my $d=False)
13:51 pochi m: sub inc1(Int $a is rw) { $a++; return $a }; say inc1(my $c=42); say inc1(my $d=False)
13:51 camelia rakudo-moar 73d193: OUTPUT«43␤True␤»
13:51 pochi m: sub inc2(Int $a is rw) { $a+=1; return $a }; say inc2(my $c=42); say inc2(my $d=False)
13:51 camelia rakudo-moar 73d193: OUTPUT«43␤1␤»
13:52 pochi shouldn't they both do the same?
13:52 pochi I'd exepect so
13:52 moritz pochi: only if you return with "return-rw" instead of "return"
13:54 pochi using return-rw seems to give the same results
14:01 lizmat Begi: NaN is Not a Number
14:01 lizmat nothing edible  :-)
14:01 Begi Oh ok thanks
14:03 nine Skarsnik: of course Bool has somewhat different behavior than Int. Otherwise it would not make any sense for it to exist at all and we could just use Int instead.
14:04 nine Subclasses have different behavior than their parents. I really don't get why people are surprised by the relationship between Bool and Int when they're accepting the same as a given for all other subclasses.
14:07 moritz nine: I think one reason is that folk expects "subclasses can do everything the parents can, and more"
14:07 Skarsnik the issue Bool ~~ Numeric should not be true (like sub foo(Int) should not catch Bool) since it's definitly not the same meaning and just an implementation quirk
14:08 moritz Skarsnik: but you can use True and False like numbers
14:08 nine moritz: which is wrong
14:08 moritz m: sub multiply(Numeric $x) { $x * 42 }; say multiply(True); say multiply(False)
14:08 camelia rakudo-moar 73d193: OUTPUT«42␤0␤»
14:08 moritz no surpises here
14:09 Skarsnik it's not a matter of True/False having a integer value. It just True and False have not the same meaning as 0 and 1
14:12 nine Skarsnik: if you want to argue about this, please use other arguments than "I just don't want it so"
14:17 thomax in other languages bools don't have a obvious other value than true and false (no int or anything). but hey, i can live with it easily
14:17 nine In most other languages, True and False are exactly equivalent to 1 and 0 respectively.
14:18 huf and in most of the rest, they degrade to 0/1 *somehow*
14:19 thomax 0 is false, true is not 0. thats good enough for me.
14:19 gfldex if only computers could do more then just numbers
14:19 huf shell true is amazing though :)
14:20 thomax gfldex: semantics. they should have an understanding of common sense.
14:24 Juerd Skarsnik: Are Python and Javascript 'wrong' too? True is 1 in Python. true is 1 in Javascript.
14:24 Juerd Actually, in a quick search for languages that don't let you use true as a number, or where true as a number is not 1, I'm only finding Ruby
14:24 Juerd Ruby says: -e:1:in `<main>': undefined method `+' for true:TrueClass (NoMethodError)
14:24 Juerd When you try to do true + 1
14:25 thomax Juerd: there is no right or wrong in this question. it's a matter of definition
14:25 Juerd thomax: I agree.
14:25 Skarsnik It's not about 1 being True and 0 False, it's about Bool being of type Int x)
14:25 Juerd Note that True in Perl 6 is not "the" true value, but "a" true value.
14:26 Juerd There are many more true values, like 42 and "hello".
14:26 thomax Juerd: smalltalk also defines bool as a set of the values true and false
14:26 nine m: sub foo(Int $a) { say $a; }; constant a = 1; foo(a);
14:26 camelia rakudo-moar 73d193: OUTPUT«1␤»
14:26 nine Skarsnik: should this also not work? ^^^
14:27 cygx joined #perl6
14:27 thomax the int in the parameter definition is the problem here
14:27 Skarsnik m: sub serialize($a) {say "Doing some stuff"; given $a {say "serialize integer" when Int; say "serialize bool" when Bool; say "Serialize string" when Str}}; serialize(True);
14:27 camelia rakudo-moar 73d193: OUTPUT«Doing some stuff␤serialize integer␤serialize bool␤»
14:27 thomax and the 1. of cause
14:27 cygx Juerd: true is *not* 1 in JS, there's just a bunch of implicit conversions
14:27 Juerd Skarsnik: Did you just change your opinion? First you say "It just True and False have not the same meaning as 0 and 1" and then you say "It's not about 1 being True and 0 False"
14:28 cygx personally, I can live with true ~~ Int, but there are arguments against it
14:28 nine Skarsnik: so you have some buggy code that doesn't properly consider subclasses and that's why we should change the definition of the language?
14:28 cygx the boolean algebra is sufficiently different from the integers
14:28 hahainternet a quick diverted question, if i read in chunks of a file i get a 'supply', now i'd like to distribute things reponding to that supply over threads as perl6 sees fit
14:29 cygx the integer-like thing with elements 0,1 is Z_2
14:29 hahainternet what is the right way now to create something that should 'autothread' over this?
14:29 Juerd cygx: Perl 6 has different operators for boolean operations, that work on logical truthy and falsy values, rather than only True and False.
14:29 nine m: class A {}; class B is A {}; sub serialize($a) {say "Doing some stuff"; given $a {say "serialize A" when A; say "serialize B" when B; say "Serialize string" when Str}}; serialize(B.new);
14:29 camelia rakudo-moar 73d193: OUTPUT«Doing some stuff␤serialize A␤serialize B␤»
14:29 Skarsnik nine, Why Bool should be a subtype of Int? I mean I can understand Bool coercible to Int. It's does not feel right on a semantic level that Bool ~~ Int
14:29 nine Skarsnik: ^^^ exactly the same issue
14:30 Juerd Skarsnik: Quite often, in Perl 6 the semantics are chosen to be practical and useful, not necessarily to feel right :)
14:30 cygx Juerd: that's orthogonal
14:31 Juerd cygx: Yes.
14:31 nine Skarsnik: Bool is an enumeration. That comes from latin "numerus" meaning "number". Enumerations are just closed sets of names for values. enum Bool < False True > is about the same as package Bool { constant False = 0; constant True = 1; }
14:31 Juerd Skarsnik: An example of this is that :15th is turned into :th(15). Might not feel right, but it is very useful.
14:32 Juerd Skarsnik: In fact, the thing that understands :th also understands :st and :nd for :1st and :2nd
14:32 nine Skarsnik: what type of value would be more natural for Bool than 0 and 1, i.e. Int?
14:32 hahainternet ah, i can share a supply
14:32 hahainternet excellent
14:32 Juerd hahainternet: What you're doing is something that I've been meaning to find out. Will you share your code when you get it working?
14:33 hahainternet Juerd: if i do get it working sure
14:33 hahainternet it won't be soon
14:33 hahainternet fighting C currently
14:33 hahainternet p6 comes later
14:33 Juerd hahainternet: Research .hyper and .race if you haven't done so already :)
14:33 Juerd I'm not entirely sure if these apply here, because you're getting values from a supply.
14:35 dakkar joined #perl6
14:35 Skarsnik nine, on a semantic level Boolean has not the same meaning as numbers for me. That Boolean end up being a sub set of number is just an implementation purpose, It could very be "str:True" and "str:False" I will be fine with it
14:35 thomax nine: in predicate logic there is no 0 or 1
14:36 nine Skarsnik: and what use cases would that improve? Which ones would it make harder?
14:37 uruwi I know when I first programmed in Java that I was disappointed that I couldn't use 0 or 1 for false or true
14:37 hahainternet m: True + 1
14:37 camelia rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/wGdK0gQsO6:␤Useless use of "+" in expression "True + 1" in sink context (line 1)␤»
14:37 hahainternet m: say True + 1
14:37 camelia rakudo-moar 73d193: OUTPUT«2␤»
14:37 hahainternet that's a bit wacky
14:37 thomax but in bool algebra is 0 and 1. well. i really don't care. i just hope the fastcgi interface runs well, also the dbiish connectors and stuff like that
14:37 hahainternet so i can see it from that perspective
14:39 Skarsnik nine, for me when you work on semantic stuff (like comparing type) Bool should not be a Numeric, for the rest it's perfectly fine for me
14:39 thomax true + 1 is like true + true and should be true and not 2.
14:39 Skarsnik say True + False
14:39 Skarsnik m: say True + False
14:39 camelia rakudo-moar 73d193: OUTPUT«1␤»
14:39 uruwi I'm finding a way to shoehorn that into a rhythm
14:39 Skarsnik well + coerce to Int, so it's normal x)
14:39 nine Skarsnik: again, which use cases would be improved by having Bool not be Numeric and which would be made harder?
14:40 uruwi Well, I found it useful on calculators
14:40 loren joined #perl6
14:40 hahainternet it is 'normal', but it's also a little surprising
14:40 thomax nine: if bool is a enumeration with false and true it can't be 2
14:40 uruwi But it doesn't lead to as neat as code
14:41 thomax nine: if false is 0 and true is 1
14:41 uruwi IE it makes it harder to read
14:41 uruwi We've got ?? !! anyway.
14:41 hahainternet it looks like a Bool in a signature is strict enough not to allow Ints to pass, so i think that's probably sufficient
14:42 thomax there is no 2 in the enumerated type bool
14:42 hahainternet whether or not it smartmatches is kinda irrelevant as smart matching is 'smart'
14:42 nine thomax: that's just based on your "it should be", which is no good base for drawing conclusions.
14:42 prammer joined #perl6
14:42 Skarsnik thomax, the + operator force to numeric value
14:42 uruwi m: sub f(Bool $b) {say "a bool $b"}; f(3);
14:42 camelia rakudo-moar 73d193: OUTPUT«Type check failed in binding $b; expected Bool but got Int␤  in sub f at /tmp/vjFVsmGNs_:1␤  in block <unit> at /tmp/vjFVsmGNs_:1␤␤»
14:42 uruwi m: sub f(Bool $b) {say "a bool $b"}; f(so 3);
14:42 camelia rakudo-moar 73d193: OUTPUT«a bool True␤»
14:43 mspo http://i.imgur.com/dAEp7Wu.jpg?1
14:43 Skarsnik :m class P { method Int returns Int () {return 42};} my P $p = P.new; say 1 + $p;
14:43 Skarsnik m: class P { method Int returns Int () {return 42};} my P $p = P.new; say 1 + $p;
14:43 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qZABB84k4s␤Missing block␤at /tmp/qZABB84k4s:1␤------> 3class P { method Int returns Int7⏏5 () {return 42};} my P $p = P.new; say 1␤»
14:44 Skarsnik m: class P { method Int() {return 42};} my P $p = P.new; say 1 + $p;
14:44 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AuR8buDWgL␤Strange text after block (missing semicolon or comma?)␤at /tmp/AuR8buDWgL:1␤------> 3class P { method Int() {return 42};}7⏏5 my P $p = P.new; say 1 + $p;␤    expecting any of:␤       …»
14:45 thomax Skarsnik: than make a bool aware infix op + and * for bool :-) it's possible these day
14:45 harrison_ joined #perl6
14:46 Skarsnik why whould I want + doing boolean algebra x)
14:46 darutoko joined #perl6
14:47 thomax Skarsnik: because + is logic or and * is logic end (by definition of bool algebra..)
14:47 thomax please, someone raise a more interesting topic.
14:47 thomax ^end^and
14:48 Skarsnik logic or? there is 'or' and || already x)
14:48 thomax m: say true || false;
14:48 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/s3WwplZIam␤Undeclared routines:␤    false used at line 1␤    true used at line 1␤␤»
14:48 ellybelly joined #perl6
14:48 ellybelly_ joined #perl6
14:48 harrison_ Fun Fact: I am the only one who uses Perl for coding in Kenya at Multimedia University.
14:48 thomax m: say true | false;
14:48 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/65LN1ojpcJ␤Undeclared routines:␤    false used at line 1␤    true used at line 1␤␤»
14:49 ZoffixW joined #perl6
14:49 ZoffixW m: say True || False;
14:49 camelia rakudo-moar 73d193: OUTPUT«True␤»
14:49 thomax oh, these caps..
14:49 cygx harrison_: what are the more popular choices?
14:49 ZoffixW The True + 1 resulting in True because there's a Bool can be just as equally argued should result in 2, because there's an Int :)
14:49 thomax m: say True && False;
14:49 camelia rakudo-moar 73d193: OUTPUT«False␤»
14:50 harrison_ People talk more of Java and PHP, there is Python too.
14:50 lizmat m: say True + 1
14:50 camelia rakudo-moar 73d193: OUTPUT«2␤»
14:50 lizmat ZoffixW: ^^^
14:50 ZoffixW Is there? I thought Python was just a creepy cult who practice Two Minutes of Hate about Perl
14:50 thomax lizmat: not again :-p
14:50 ZoffixW lizmat, yeah, I saw that. Makes sense to me.
14:51 harrison_ They do hate on Perl code, believe me. Funny though how they complain solely based on sigils.
14:51 lizmat m: say ?(True + 1)
14:51 camelia rakudo-moar 73d193: OUTPUT«True␤»
14:51 mspo harrison_: perl6 can be sigil-less
14:51 ZoffixW m: say True + True + True == ٣ =='٣'
14:51 camelia rakudo-moar 73d193: OUTPUT«True␤»
14:51 ZoffixW X)
14:51 mspo harrison_: but normally adds *additional* characters!  $*, $! and so on :)
14:52 daxim joined #perl6
14:52 harrison_ mspo_: I so love it! And Perl 5 too!
14:52 mspo harrison_: yeah I could never get over the additional complexity of python
14:52 rurban joined #perl6
14:53 mspo harrison_: but since perl was the first thing I learned it's probably messed up my brain
14:53 ZoffixW I learned Python before Perl.
14:53 uruwi ^
14:53 ZoffixW Never really cared about it.
14:53 harrison_ ZoffixW, for real?
14:53 uruwi Though not very deeply.
14:53 uruwi Just enough to write what I needed.
14:54 mspo all of my python scripts immediately use 100% cpu for some reason
14:54 ZoffixW harrison_, well... yeah, I could write simple programs in Python before I even heard of Perl, but I kinda put it back where I found it and never looked back. The whole indent-declares-blocks feels like a straight-jacket to me
14:54 El_Che I learnt spanish and dutch way before perl :)
14:54 ZoffixW So I never made any real programs with Python, but I "learned" it :)
14:54 thomax mspo: it's because the p6 release date is close. now the python scripts speed up a bit.
14:55 harrison_ ZoffixW, I know! Although I do write better code than some of the Python purists, which is funnier.
14:55 * cygx learned Java before Perl
14:55 mspo I couldn't get over __init__() being in the "not line noise" language
14:55 * uruwi learned Java before Perl
14:55 cygx at that point, my brain had already been damaged by C, though ;)
14:55 El_Che ZoffixW: didn't you go through the huge and complicated shell scripts phase before that?
14:55 harrison_ mspo: hahaha
14:55 * uruwi also learned C before Java
14:55 ZoffixW El_Che, nope :)
14:55 El_Che ZoffixW: you missed a lot of fun
14:55 ZoffixW heh
14:56 * uruwi learned TI-89 Basic before C
14:56 mspo that was my (sysadmin) progression- shell, awk, perl, $therest
14:56 * thomax learned 6502 first, than, basic, pascal, c, shell, lisp and years later perl
14:56 harrison_ A Python purist came to me saying Julia will be Python's reply to Perl 6.
14:56 mspo also leaving .pyc files all over the place.. what a damned mess
14:56 lizmat ah...  6502 assembly...  :-)
14:57 * El_Che : (some) pascal, shell, perl, rest (Java, Ruby, some pyhton, some perl6 :) )
14:57 uruwi harrison_ But eww, 1-based indexing
14:57 lizmat my first assembly was 8080 / Z80 though
14:57 * cygx has fond memories of QBasic and nibbles
14:57 uruwi Z80 is the only one I even kinda know though
14:57 thomax i had a z80 card with cp/m on my apple ii
14:58 * uruwi : GML > 83+ Basic > 89 Basic > C > Java > Racket > Scala > Python > Danmakufu (language used to program STGs) > Perl6
14:58 thomax and used ucsd pascal and borland pascal on it
14:58 El_Che I remember a fun C personal project. It took time to finish it. I replaces by a few hundreds of line of perl5 :)
14:58 lizmat Ah, the Apple Ⅱ
14:59 mspo I like how perl6 is almost always the shortest answer in rosettacode
14:59 thomax yepp, and ucsd pascal had a virtual machine as well
14:59 hankache joined #perl6
14:59 mspo which is why I'm trying to stick with it
14:59 harrison_ mspo, Yes!
14:59 mspo unlike erlang which I've given up on twice
14:59 thomax mspo: shortest answer means nothing. it should be a) readable and b) fast
14:59 uruwi mspo: But also not a very fast answer
15:00 mspo shorter has a lot of to with understandable, imho
15:00 uruwi saying it as someone who did AoC in p6
15:00 mspo just say what you want done without all of the distractions
15:00 mspo maybe I should learn prolog instead ;)
15:00 mspo "I want X, you figure it out"
15:00 thomax haha
15:00 mspo (coffee)
15:01 dalek perl6-roast-data: cdd5c86 | coke++ | / (7 files):
15:01 dalek perl6-roast-data: today (automated commit)
15:01 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/cdd5c86236
15:01 hankache .tell tadzik can you please check the PR on https://github.com/tadzik/Template-Mojo
15:01 yoleaux hankache: I'll pass your message to tadzik.
15:01 grondilu J often wins in shortness though.  But it's most obscure.
15:03 mspo grondilu: if I were younger I'd learn J and just hang out on wall st
15:03 mspo mm monies
15:03 grondilu not sure how well are unsigned native integers are integrated now, but replacing `my @` by `my uint32 @` in http://rosettacode.org/wiki/SHA-256#Perl_6 changes the digest result.
15:05 skids joined #perl6
15:05 AlexDaniel m: say -Inf^..^Inf
15:05 camelia rakudo-moar 73d193: OUTPUT«-Inf^..^Inf␤»
15:05 AlexDaniel m: say Inf^..^Inf
15:05 camelia rakudo-moar 73d193: OUTPUT«Inf^..^Inf␤»
15:06 ZoffixW m: say 1^..^1
15:06 camelia rakudo-moar 73d193: OUTPUT«1^..^1␤»
15:06 ZoffixW m: say (1^..^1).elems
15:06 camelia rakudo-moar 73d193: OUTPUT«0␤»
15:07 ZoffixW m: say (Inf^..^Inf).elems
15:07 camelia rakudo-moar 73d193: OUTPUT«Inf␤»
15:07 ZoffixW orly
15:07 ZoffixW m: say (-Inf^..^Inf).elems
15:07 camelia rakudo-moar 73d193: OUTPUT«Inf␤»
15:07 ZoffixW neat
15:07 AlexDaniel ZoffixW: yeah, it is great
15:07 ZoffixW m: say Inf == Inf
15:07 camelia rakudo-moar 73d193: OUTPUT«True␤»
15:07 AlexDaniel it's one of those times when I expect it to give garbage and it actually makes it right
15:08 * ZoffixW tries to wrap head around meaning of Inf^..^Inf
15:08 ZoffixW and why its .elems be Inf and not 0, since it's two same infinities
15:08 AlexDaniel m: .say for Inf..Inf
15:09 grondilu it has no meaning
15:09 ZoffixW Right
15:09 camelia rakudo-moar 73d193: OUTPUT«(timeout)Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤In​f␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤​Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤In​f␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤Inf␤I…»
15:09 ZoffixW hm
15:09 grondilu imho Inf..Inf and similar hsould fail
15:09 cygx m: say Inf < Inf
15:09 camelia rakudo-moar 73d193: OUTPUT«False␤»
15:10 ZoffixW grondilu, agreed
15:10 AlexDaniel well, either it fails or does what it does
15:10 tadzik hankache: yeah :)
15:10 yoleaux 21 Dec 2015 03:15Z <skids> tadzik: I sent PRs on Shell-Command and on Panda to remove "as" in case there is a rushed pre-xmas removal of it.
15:10 yoleaux 15:01Z <hankache> tadzik: can you please check the PR on https://github.com/tadzik/Template-Mojo
15:10 AlexDaniel because basically what you get is an infinite list…
15:10 thomax inf is as well just a conept
15:10 ZoffixW But what it does is meaningless :)
15:10 tadzik hankache: merged, thanks a lot!
15:10 ZoffixW Well, no, what is does is wrong, because you're asking for something meaningless but you get Inf
15:10 AlexDaniel ZoffixW: if only you treat Inf as a number
15:11 tadzik skids: alright, will take a look
15:11 xpen joined #perl6
15:11 skids tadzik: someone merged them already, I thought you...
15:11 tadzik oh
15:11 tadzik maintainers++ <3
15:11 ZoffixW m: say 'a'..'c'
15:11 camelia rakudo-moar 73d193: OUTPUT«"a".."c"␤»
15:12 ZoffixW m: say |'a'..'c'
15:12 camelia rakudo-moar 73d193: OUTPUT«1.."c"␤»
15:12 geekosaur [22 15:09] <cygx> m: say Inf < Inf       mathematically this is nonsense...
15:12 ZoffixW m: say |('a'..'c')
15:12 camelia rakudo-moar 73d193: OUTPUT«abc␤»
15:12 AlexDaniel geekosaur: False is probably a good answer for nonsense? :)
15:12 ZoffixW It's possible for one infinity to be smaller than the other, tho
15:12 AlexDaniel maybe not though
15:13 geekosaur not really. you can for example confuse the heck out of a sort that way
15:13 ZoffixW hmhmhmh
15:13 AlexDaniel m: say -Inf < Inf
15:13 camelia rakudo-moar 73d193: OUTPUT«True␤»
15:13 geekosaur arguably it should return a nonvalue
15:13 AlexDaniel m: say Inf > Inf
15:13 camelia rakudo-moar 73d193: OUTPUT«False␤»
15:13 AlexDaniel m: say Inf > -Inf
15:13 camelia rakudo-moar 73d193: OUTPUT«True␤»
15:13 ZoffixW That is nonsense ^
15:13 xpen joined #perl6
15:13 AlexDaniel m: say Inf <=> -Inf # I wanted this
15:13 camelia rakudo-moar 73d193: OUTPUT«More␤»
15:14 Skarsnik is that possible to defined a = operator for a particular left Type? lik my Type $a = $b;
15:14 ZoffixW Or is it? My brain's collapsing on itself /o\
15:14 ZoffixW m: say Inf -1 > Inf
15:14 camelia rakudo-moar 73d193: OUTPUT«False␤»
15:14 ZoffixW m: say Inf > Inf -1
15:14 camelia rakudo-moar 73d193: OUTPUT«False␤»
15:15 ZoffixW m: say Inf == pi.chars
15:15 camelia rakudo-moar 73d193: OUTPUT«False␤»
15:15 thomax m: say Inf - Inf
15:15 camelia rakudo-moar 73d193: OUTPUT«NaN␤»
15:16 AlexDaniel come on, we are not going to return undef for numeric comparison operators
15:16 thomax as a system programmer i'm happy to don't deal with concepts like Inf
15:16 AlexDaniel or are we…
15:17 AlexDaniel thomax: unless you use infinite lists? :)
15:17 gtodd ZoffixW:  infinities ... are cool  :-0
15:17 cygx m: say Inf ~~ Cool
15:17 camelia rakudo-moar 73d193: OUTPUT«True␤»
15:17 cygx checks out
15:17 skids tadzik: Oh damn.  The githib quickedit faked me out again so the Shell::Command fix was never actually PRd.
15:17 ZoffixW m: say (1, 2, 3 ... *) < (0.1, 0.2, 0.3 ...* )
15:17 camelia rakudo-moar 73d193: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/nw0qfQUgIG:1␤␤Actually thrown at:␤  in block <unit> at /tmp/nw0qfQUgIG:1␤␤»
15:17 ZoffixW aww :(
15:17 xpen_ joined #perl6
15:18 gtodd oh I though Inf was a C OO L :-P
15:18 tadzik ow
15:19 ZoffixW m: my @smaller-inf = (1, 2, 3 ... *); my @larger-inf = (0.1, 0.2, 0.3 ...* ); say so @smaller-inf.elems < @larger-inf.elems
15:19 camelia rakudo-moar 73d193: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/vGHUoqNPVr:1␤␤Actually thrown at:␤  in block <unit> at /tmp/vGHUoqNPVr:1␤␤»
15:19 skids tadzik: IIRC it was just line 47 needing Str()
15:19 gtodd if perl6 is consistent-ish with the latest math geek thinking about Infinite Infinities and has real numbers :-D it will be very Cool
15:20 pmurias joined #perl6
15:20 ZoffixW m: say 1/∞
15:20 camelia rakudo-moar 73d193: OUTPUT«0␤»
15:20 ZoffixW wat :|
15:21 ZoffixW That should be NaN
15:21 AlexDaniel m: .say for Inf..1
15:21 camelia rakudo-moar 73d193: ( no output )
15:21 FROGGS m: .say for -Inf..1
15:21 camelia rakudo-moar 73d193: OUTPUT«(timeout)-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-In​f␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-I​nf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-​Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-Inf␤-I…»
15:22 pmurias Juerd: I wouldn't use JavaScript as an example of thought out design
15:22 AlexDaniel jnthn: It looks like https://rt.perl.org/Public/​Bug/Display.html?id=125336 is now fixed. Um, all by itself. I don't know, maybe you want to take a look. If it is, then just mark it as “tests needed” perhaps?
15:23 FROGGS design just happened to JavaScript when it was a teenager
15:24 hankache tadzik: no worries dear, thank you.
15:26 ZoffixW m: my \ⁿ = pi; say eⁱ*ⁿ+1 ≅ 0
15:26 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eLQVchD_Xj␤Undeclared routine:␤    eⁱ used at line 1␤␤»
15:27 lnrdo_ joined #perl6
15:27 ZoffixW huh
15:27 ZoffixW m: sub eⁱ { say e**i }; eⁱ
15:27 camelia rakudo-moar 73d193: OUTPUT«0.54030230586814+0.841470984807897i␤»
15:27 ZoffixW :o
15:29 ZoffixW m: $x₁ = 2; $x₂ = 4; say $x₁² + $x₂²
15:29 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/khpUMXKSFm␤Variable '$x' is not declared␤at /tmp/khpUMXKSFm:1␤------> 3<BOL>7⏏5$x₁ = 2; $x₂ = 4; say $x₁² + $x₂²␤»
15:29 ZoffixW aww
15:29 lnrdo_ ZoffixW: Just retried the process to install moar, panda & Task::Star. It worked. DBIish is not a dep anymore and do not work by it self. Just to inform.
15:29 flaviusb joined #perl6
15:29 ZoffixW Yeah, I think someone tossed failing modules from Task::Star last night.
15:29 ZoffixW oh
15:30 Skarsnik duh, DBIish should work
15:30 ZoffixW m: my $x₁ = 2; my $x₂ = 4; say $x₁² + $x₂²
15:30 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BL5YoorgiT␤Bogus postfix␤at /tmp/BL5YoorgiT:1␤------> 3my $x7⏏5₁ = 2; my $x₂ = 4; say $x₁² + $x₂²␤    expecting any of:␤        constraint␤        infix␤        infix stopper␤   …»
15:30 ZoffixW dammit
15:30 ZoffixW My hopes were raised and dashed expertly :)
15:30 ZoffixW It'd be pretty cool to make it work tho
15:30 thomax DBIish should work, indeed
15:30 ZoffixW m: my \x₁ = 2; my \x₂ = 4; say x₁² + x₂²
15:30 camelia rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RjDSHgfvFe␤Term definition requires an initializer␤at /tmp/RjDSHgfvFe:1␤------> 3my \x7⏏5₁ = 2; my \x₂ = 4; say x₁² + x₂²␤»
15:31 ZoffixW m: sub term:<x₁> {2}; sub term:<x₂> {4}; say x₁² + x₂²
15:31 camelia rakudo-moar 73d193: OUTPUT«20␤»
15:31 ZoffixW \o/
15:31 rurban_ joined #perl6
15:32 ZoffixW m: my \xₙ = 2; my \xₘ = 4; say xₙ² + xₘ²
15:32 camelia rakudo-moar 73d193: OUTPUT«20␤»
15:32 ZoffixW It's kinda weird that subscribt letters work, but numbers don't
15:32 thomax :-)
15:33 loren joined #perl6
15:33 rurban left #perl6
15:33 ZoffixW m: my \xₙ = 3; my \xₘ = 4; my \yₔ = 5; say xₙ² + xₘ² == yₔ²
15:33 camelia rakudo-moar 73d193: OUTPUT«True␤»
15:33 ZoffixW :D
15:34 thomax in a programming language, i wouldn't use any characters i can't reach via a plain vt102 terminal
15:34 ZoffixW But why?
15:35 ZoffixW I think it's important to progress a programming language closer to how humans communicate with each other, using plain language, symbols and math
15:35 thomax because my programs should be editable under any circumstances
15:35 * geekosaur sometimes needs to get at code from e.g. an Android terminal program (think connectbot) that may not be very Unicode-y
15:36 ZoffixW What I hear you saying is much of current software is shit and can't handle Unicode correctly :)
15:36 ZoffixW The solution is to fix that software and to force people to stop writing such software. Not to remain in the stoneage and avoid Unicode :)
15:36 geekosaur what you hear me saying is that I do not have control over everything between me and something I need to debug\
15:36 * ZoffixW points at how Apple murdered Flash
15:37 geekosaur and it is pointless to whine about how everyone ought to update to the latest everything when there is large enterprise change control in play
15:38 thomax yepp
15:38 thomax but for sure, it looks nice
15:39 lizmat .oO( Flash was so bad, even Adobe doesn't want to have anything to do with it )
15:40 dalek rakudo/nom: 0be08d5 | lizmat++ | src/core/Temporal.pm:
15:40 dalek rakudo/nom: Small speedup on days-in-month calculation
15:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0be08d521c
15:40 cygx who needs flash? silverlight is, like the future, man!
15:40 ZoffixW heh
15:41 thomax silverlight?
15:41 Skarsnik FROGGS, I have weird issue with Pointer.deref comparing to calling nativecast directly
15:42 ZoffixW thomax, microsoft's failed attempt at doing the same thing as Flash
15:43 Skarsnik I am not sure how to golf that ~~
15:43 thomax ah, ok. m$. not my world.
15:44 geekosaur silverlight's already on life support
15:44 ZoffixW m: sub fib (Int $n) { my \φ = (1+sqrt(5))/2;  (  φ**$n - (-1/φ)**$n  ) / sqrt(5) }; say fib 10000
15:44 camelia rakudo-moar 73d193: OUTPUT«Numeric underflow␤  in sub fib at /tmp/Am3Mgb7SW4:1␤  in block <unit> at /tmp/Am3Mgb7SW4:1␤␤Actually thrown at:␤  in sub fib at /tmp/Am3Mgb7SW4:1␤  in block <unit> at /tmp/Am3Mgb7SW4:1␤␤»
15:44 ZoffixW underflow? :(
15:46 ZoffixW m: say (1/1², 1/2², 1/3² ... 1/*²)[5]
15:46 camelia rakudo-moar 73d193: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/IklxrSAMHz:1␤␤»
15:46 RabidGravy joined #perl6
15:47 ZoffixW m: say map 1/*², 1..*
15:47 camelia rakudo-moar 73d193: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/YUSVjNGiNh:1␤␤»
15:47 ZoffixW bruh
15:47 ZoffixW m: say map 1/***2, 1..*
15:47 camelia rakudo-moar 73d193: OUTPUT«Cannot call Numeric(Sub: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/cHBu_ggyxk:1␤␤»
15:47 ZoffixW heh
15:47 Skarsnik FROGGS, Internal error: inconsistent bind result in method deref at /home/skarsnik/.rakudobrew/moar-nom/​install/share/perl6/sources/C7890ECB​4E25D599B1CAB139328C93400ABB5545:52 I think it's because the implicit return try to bind and for some reason that not good?
15:48 RabidGravy erp
15:49 FROGGS Skarsnik: I dunno, I'd need a golf I'd think
15:49 Skarsnik The issue it does not fail for every data I get ~~
15:52 cygx o/
15:54 ZoffixW m: my $*TOLERANCE = 1e-4; say π²/6 ≅ [+] map { 1/$_² }, 1..50000
15:54 camelia rakudo-moar 0be08d: OUTPUT«True␤»
15:54 ZoffixW \o/
15:57 lizmat .tell masak looking at DateTime.now.later(:hour(1.5))  : is there a reason for not allowing that?
15:57 yoleaux lizmat: I'll pass your message to masak.
15:57 thomax how do you create such a sign with a standard keyboard?
15:57 lizmat .tell masak e.g., because not every hour is 3600 seconds ?
15:57 ZoffixW \o/ lizmat++
15:57 yoleaux lizmat: I'll pass your message to masak.
15:58 ZoffixW m: say DateTime.now.later: :months(1.5)
15:58 camelia rakudo-moar 0be08d: OUTPUT«This type cannot unbox to a native integer␤  in block <unit> at /tmp/CzZMKBfONL:1␤␤»
15:58 ZoffixW m: say DateTime.now.later: :months(1)
15:58 camelia rakudo-moar 0be08d: OUTPUT«2016-01-22T16:58:31.469671+01:00␤»
15:58 hankache .tell MadcapJake can you please check the issue I opened related to https://github.com/MadcapJake/language-perl6fe
15:58 yoleaux hankache: I'll pass your message to MadcapJake.
15:58 lizmat ZoffixW: fwiw, months I can see being an issue
15:58 lizmat as not every month has the same length
15:59 lizmat same goes for years
15:59 darutoko joined #perl6
15:59 lizmat but days/hours/minutes have the same length, very generally
15:59 lizmat except for leap secs of course
15:59 grondilu m: my $*TOLERANCE = 1e-4; say π²/6 ≅ [+] map 1/*², 1..50000
15:59 camelia rakudo-moar 0be08d: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/DxqQMJSTBs:1␤␤»
15:59 ZoffixW lizmat, I recall a discussion on this topic in here like a 6-12 months ago. With the decision that if you overflow you'd use last day or first day or something
16:00 lizmat I'm not talking about that
16:00 lizmat I'm talking about the fact that if we allow fractions for hour / minute/ day
16:00 lizmat what it means:
16:00 gfldex thomax: https://github.com/jshholland/irss​i-scripts/blob/master/digraphs.pl
16:00 ZoffixW m: say DateTime.now.clone( :1month :31day ).later: :months(1)
16:00 camelia rakudo-moar 0be08d: OUTPUT«2015-02-28T17:00:51.971010+01:00␤»
16:00 grondilu can't curry ²?
16:00 lizmat is 1.5 hour always 5400 seconds ?
16:01 ZoffixW No
16:01 grondilu m: say map *², ^10;
16:01 camelia rakudo-moar 0be08d: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/Foc8fWg_De:1␤␤»
16:01 lizmat is 1.5 minute always 90
16:01 ZoffixW Leap seconds is a thing
16:01 ZoffixW But we do handle leap months. I dunno how hard it'd be to handle leap whatever
16:01 ZoffixW s/months/days/
16:01 lizmat well, that's the question really
16:02 lizmat if we say ".later(:hour(1.5))
16:02 ZoffixW m: say DateTime.now.clone( :2month :28day ).later: :days(1)
16:02 camelia rakudo-moar 0be08d: OUTPUT«2015-03-01T17:02:15.567692+01:00␤»
16:02 lizmat does that always mean 5400 seconds?
16:02 lizmat or sometimes 5401 seconds ?
16:02 ZoffixW m: say DateTime.now.clone( :2000year :2month :28day ).later: :days(1)
16:02 camelia rakudo-moar 0be08d: OUTPUT«2000-02-29T17:02:25.426656+01:00␤»
16:02 Skarsnik it's weird, there is lot of test in DateTime for that x)
16:02 prammer joined #perl6
16:03 lizmat ZoffixW: as long as they're Int's the meaning is clear
16:03 ZoffixW Doesn't seem there's a solid formula for leap seconds: https://en.wikipedia.org/wiki/Leap​_second#Insertion_of_leap_seconds
16:03 ZoffixW They just decide when to put them in
16:04 geekosaur yes, the earth doesn't provide nice timetables for how its rotation changes
16:04 ZoffixW ¯\_(ツ)_/¯ my usecase for :hours(1.5) was calculating UTC offsets
16:04 geekosaur too many variables
16:05 lizmat I guess one alternative could be to just convert to seconds, find out what later is, then find out if there was a leap sec in between
16:05 thomax afaik, there is one single person on earth who ajust leapseconds every X years
16:06 iH2O joined #perl6
16:07 gtodd thomax: and to quote sys.admin.recovery (??) they could be replaced by a perl script ;-)
16:07 iH2O p6: say 3
16:07 camelia rakudo-moar 0be08d: OUTPUT«3␤»
16:07 gtodd thomax: or perl6 which could take it to infintiy
16:07 gtodd and beyond
16:08 iH2O God loves perl6
16:08 mohae joined #perl6
16:08 thomax at http://www.iers.org/ maybe
16:09 geekosaur alt.sysadmin.recovery >.>
16:09 kjs_ joined #perl6
16:09 dalek rakudo/nom: ebe1c79 | lizmat++ | src/core/Temporal.pm:
16:09 dalek rakudo/nom: Speed up day-of-year a bit
16:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ebe1c7994e
16:09 nine We should fix earth to get this rotation thing right instead of working around the real issue.
16:10 gtodd m: say 3++ ;
16:10 camelia rakudo-moar 0be08d: OUTPUT«Cannot call postfix:<++>(Int); none of these signatures match:␤    (Mu:D $a is rw)␤    (Mu:U $a is rw)␤    (Int:D $a is rw)␤    (int $a is rw)␤    (Bool:U $a is rw)␤    (Bool:D $a is rw)␤    (Num:D $a is rw)␤    (Num:U $a is rw)␤    (num …»
16:10 ZoffixW nine, that's pretty easy. We just need to get rid of the Moon :P
16:10 gtodd :-D
16:10 thomax rofl
16:10 gtodd ok ...  so ∞++ is not going to work
16:11 nine ZoffixW: well volunteered!
16:11 ZoffixW lol
16:12 thomax and 365 days also don't fit in any logical category
16:13 geekosaur and stop all earthquakes and stop global warming so the glaciers will stop melting and do something about the mantle plume under Iceland and ...
16:13 RabidGravy so. if I implement an Associative type myself and have a say .values is there any way that it can "know" that the target is rw?
16:13 gtodd m: say ∞ ;
16:13 camelia rakudo-moar 0be08d: OUTPUT«Inf␤»
16:13 gtodd m: say ∞ + 1 ;
16:13 camelia rakudo-moar 0be08d: OUTPUT«Inf␤»
16:13 gtodd m: say "∞ and beyond"
16:13 camelia rakudo-moar 0be08d: OUTPUT«∞ and beyond␤»
16:14 RabidGravy e.g. if I have "my %h = Foo.new;  for %h.values <-> $v { }" can it know that?
16:16 hankache panda install Pod::To::HTML is unsuccessful, any ideas why ?
16:17 Skarsnik how does it fail?
16:17 khw joined #perl6
16:17 hankache the last test fails
16:17 ZoffixW m: say DateTime.new( :2015year :6month :30day :23hour :59minute :59second ).later: :1second
16:17 camelia rakudo-moar 0be08d: OUTPUT«2015-06-30T23:59:60Z␤»
16:17 hankache t/05-zero-width-index.t ..
16:18 ZoffixW lizmat, ^ seems we handle leap seconds already, so I'd think making :hours(1.5) work should be trivial
16:18 ZoffixW m: say DateTime.new( :2016year :6month :30day :23hour :59minute :59second ).later: :1second
16:18 camelia rakudo-moar 0be08d: OUTPUT«2016-07-01T00:00:00Z␤»
16:19 lizmat m: say DateTime.new( :2015year :6month :30day :23hour :59minute :59second ).later: :1minute
16:19 camelia rakudo-moar 0be08d: OUTPUT«2015-07-01T00:00:59Z␤»
16:19 ZoffixW m: say DateTime.new( :2015year :6month :30day :23hour :59minute :0second ).later: :1minute
16:19 camelia rakudo-moar 0be08d: OUTPUT«2015-07-01T00:00:00Z␤»
16:20 lizmat m: say DateTime.new( :2015year :6month :30day :23hour :59minute :59second ).later: :1minute   # 1 minute is 61 seconds
16:20 camelia rakudo-moar 0be08d: OUTPUT«2015-07-01T00:00:59Z␤»
16:20 xpen joined #perl6
16:21 ZoffixW weird
16:21 ZoffixW m: say DateTime.new( :2016year :6month :30day :23hour :59minute :59second ).later: :1minute
16:21 camelia rakudo-moar 0be08d: OUTPUT«2016-07-01T00:00:59Z␤»
16:22 lizmat the minute is logical, not 60 seconds  ;-)
16:22 andreoss joined #perl6
16:22 ZoffixW m: say DateTime.new( :2015year :6month :30day :23hour :59minute :60second ).later: :1minute
16:22 camelia rakudo-moar 0be08d: OUTPUT«2015-07-01T00:01:00Z␤»
16:25 * ZoffixW detracts previous comments about 1.5 being trivial
16:29 ZoffixW Anyone knows where the sauce for DateTime is? I don't see it in nom/src/core
16:29 Skarsnik core/Timeline
16:29 lizmat src/core/Temporal
16:30 ZoffixW Thanks
16:30 Skarsnik yes Temporal xD
16:30 hoelzro o/ #perl6
16:30 ZoffixW \o
16:31 pmurias hoelzro: \o
16:31 hoelzro o/ ZoffixW, pmurias
16:31 ZoffixW huh
16:31 lizmat ZoffixW: ??
16:32 ZoffixW Oh, nm. confused .clone with .later
16:33 ZoffixW It's not documented that that both 'second' and 'seconds' work :)
16:33 ZoffixW m: say DateTime.now.later: :2seconds
16:33 camelia rakudo-moar ebe1c7: OUTPUT«2015-12-22T17:33:19.489182+01:00␤»
16:34 MadcapJake hankache: I just fixed your issue.  Somehow missed an alternation when I added the `size_t` type.  Thanks for posting the issue!
16:34 yoleaux 15:58Z <hankache> MadcapJake: can you please check the issue I opened related to https://github.com/MadcapJake/language-perl6fe
16:35 ZoffixW Ah, it is. Just not under each unit
16:35 hankache MadcapJake Thanks dear :)
16:36 dalek nqp: 0ea455c | (Pawel Murias)++ | t/nqp/81-radix.t:
16:36 dalek nqp: Makes radix test with lowercase really use lowercase.
16:36 dalek nqp: review: https://github.com/perl6/nqp/commit/0ea455cf9d
16:36 dalek nqp: 05c2690 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
16:36 dalek nqp: [js] Fix bug with slurpy params.
16:36 dalek nqp: review: https://github.com/perl6/nqp/commit/05c26908dc
16:36 dalek nqp: e1c72a9 | (Pawel Murias)++ | src/vm/js/ (3 files):
16:36 dalek nqp: [js] Implement nqp::radix_I.
16:36 dalek nqp: review: https://github.com/perl6/nqp/commit/e1c72a930e
16:36 dalek nqp: 73c1e7f | (Pawel Murias)++ | t/nqp/81-radix.t:
16:36 dalek nqp: Test nqp::radix_I.
16:36 dalek nqp: review: https://github.com/perl6/nqp/commit/73c1e7f899
16:39 * ZoffixW sees a solution for :hours(1.5)
16:40 iH2O left #perl6
16:40 Skarsnik if you are bored you can change the . for subsecond in the default formater to a coma x)
16:40 ZoffixW Before entering the given $unit {...} change unit to a next smaller one, multiplying the given number by how many of those smallers units fit into the larger one
16:41 rurban_ joined #perl6
16:42 rindolf joined #perl6
16:44 ZoffixW Hm, that won't work for :months(1.3) or :years(1/378432000)
16:44 ZoffixW Dates suck :(
16:45 * gfldex .oO( Dem Glücklichen schlägt keine Stunde. )
16:46 ZoffixW What?! Get out! My mother was a saint!
16:47 hankache joined #perl6
16:47 dalek rakudo/nom: 77e3d4b | lizmat++ | src/core/ (3 files):
16:47 dalek rakudo/nom: Make tai-utc a class with class methods
16:47 dalek rakudo/nom:
16:47 dalek rakudo/nom: Our subs are notoriously slow atm, so replace the module by a class
16:47 dalek rakudo/nom: that has class methods, which optimize better in the current context.
16:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/77e3d4b6f5
16:48 xfix joined #perl6
16:56 hankache what is the equivalent of s/// in Perl 6?
16:56 andreoss m: role F { has $.a = "defaulty" } ; class D does F { } ; class S is D { has $.a = "hello" }; say S.new.a;
16:56 camelia rakudo-moar 77e3d4: OUTPUT«hello␤»
16:56 andreoss okay
16:56 hankache #search and replace using regex
16:56 andreoss m: role F { has $.a = "defaulty" } ; class D does F {  has $a. = "fail" } ; class S is D { has $.a = "hello" }; say S.new.a;
16:56 camelia rakudo-moar 77e3d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SO57isM1pO␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/SO57isM1pO:1␤------> 3"defaulty" } ; class D does F {  has $a.7⏏5 = "fail" } ; class S is D { has $.a = "␤»
16:56 andreoss m: role F { has $.a = "defaulty" } ; class D does F {  has $.a = "fail" } ; class S is D { has $.a = "hello" }; say S.new.a;
16:56 camelia rakudo-moar 77e3d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gyxMcabIaw␤Attribute '$!a' already exists in the class 'D', but a role also wishes to compose it␤at /tmp/gyxMcabIaw:1␤»
16:57 nebuchadnezzar m: my $v = "foo"; $v ~~ s/foo/bar/; say $v
16:57 camelia rakudo-moar 77e3d4: OUTPUT«bar␤»
16:58 hankache ah ok so same syntax as Perl 5
16:58 hankache thanks nebuchadnezzar
16:59 thomax but s///g didn't work, or?
17:00 nebuchadnezzar http://doc.perl6.org/language/regexes
17:00 lizmat m: my $a = "foo"; $a ~~ s/o/a/; say $a
17:00 camelia rakudo-moar 77e3d4: OUTPUT«fao␤»
17:00 nebuchadnezzar adverbs are put in front now
17:00 lizmat m: my $a = "foo"; $a ~~ s:g/o/a/; say $a
17:00 camelia rakudo-moar 77e3d4: OUTPUT«faa␤»
17:02 hankache m: my Str $x = "Time to feed the cat!"; $x ~~ s/ cat /     hacker /; say $x;
17:02 camelia rakudo-moar 77e3d4: OUTPUT«Time to feed the      hacker !␤»
17:02 hankache why is it space sensitive??
17:02 hankache ^^
17:03 hankache m: my Str $x = "Time to feed the cat!"; $x ~~ s/ cat /                                            hacker /; say $x;
17:03 camelia rakudo-moar 77e3d4: OUTPUT«Time to feed the                                             hacker !␤»
17:04 hankache is this normal? s/not sensitive to whitespace/sensitive to whitespace ?
17:04 nebuchadnezzar hankache: the replacement string is litteral
17:05 nebuchadnezzar m: my Str $x = "Time to feed the cat!"; $x ~~ s/     cat    /hacker/; say $x;
17:05 camelia rakudo-moar 77e3d4: OUTPUT«Time to feed the hacker!␤»
17:05 andreoss can i proto class?
17:05 nebuchadnezzar hankache: the regexp part is not whitespace sensitive
17:06 andreoss m: proto class Foo {*}; say Foo.WHAT
17:06 camelia rakudo-moar 77e3d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rBhi6RY_KY␤Missing block␤at /tmp/rBhi6RY_KY:1␤------> 3proto class7⏏5 Foo {*}; say Foo.WHAT␤    expecting any of:␤        new name to be defined␤»
17:06 nebuchadnezzar hankache: you have quite extensive informations in the documentation
17:06 dalek nqp: 5376b23 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
17:06 dalek nqp: [js] Make radix_I and radix accept all the flags.
17:06 dalek nqp: review: https://github.com/perl6/nqp/commit/5376b23838
17:06 dalek nqp: 8c64347 | (Pawel Murias)++ | t/nqp/81-radix.t:
17:06 dalek nqp: Test radix flags.
17:06 dalek nqp: review: https://github.com/perl6/nqp/commit/8c643479bb
17:07 hankache nebuchadnezzar++
17:12 andreoss m: class Foo { ... }; say Foo.WHAT
17:12 camelia rakudo-moar 77e3d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dDPHPbTmgw␤The following packages were stubbed but not defined:␤    Foo␤at /tmp/dDPHPbTmgw:1␤------> 3class Foo { ... }; say Foo.WHAT7⏏5<EOL>␤    expecting any of:␤        postfix␤        st…»
17:12 keix joined #perl6
17:22 rvchangue joined #perl6
17:29 lucasb joined #perl6
17:33 dalek rakudo/nom: 1088291 | lizmat++ | src/core/ (2 files):
17:33 dalek rakudo/nom: Move get-local-timezone-offset to Rakudo::Internals
17:33 dalek rakudo/nom:
17:33 dalek rakudo/nom: Also streamline a bit
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/10882910b9
17:34 flussence (subs are that much slower than methods? I would've assumed the opposite to be true)
17:34 lizmat flussence: it's the lookup of *our* subs!
17:34 lizmat A::foo() vs A.foo()
17:34 flussence oh, "my" subs are fine then?
17:34 lizmat yup
17:34 lizmat which is the default, yes
17:34 flussence that's a relief :)
17:41 flussence «Stage parse      : 124.864» -- owww... that's 150% of normal
17:42 lizmat huh?
17:43 flussence I usually get 80-90s for that, the other numbers have scaled up a bit too...
17:43 lizmat have been getting between 48/49 secs so far
17:43 lizmat are you at nom?
17:44 flussence just built 1088291, yep
17:44 flussence oh whoops, false alarm
17:44 flussence forgot I had another window open doing other compilation stuff...
17:46 awwaiid Can someone with powers for doc.perl6.org take a look at https://github.com/perl6/doc/issues/253 ? Basically it requires a new rakudo, as the current one doesn't know about MONKEY-SEE-NO-EVAL but the code has been updated to use the pragma
17:50 TimToady m: my Str $x = "Time to feed the cat!"; $x ~~ s[ cat ] =     'hacker'       ; say $x;
17:50 camelia rakudo-moar 77e3d4: OUTPUT«Time to feed the hacker!␤»
17:50 timotimo my driving was a success
17:51 moritz awwaiid: doing it now
17:51 awwaiid thank you moritz
17:51 thomax timotimo: oh, i thought you just sit in the car. didn't aware that you drove it.
17:52 TimToady .tell hankache see http://irclog.perlgeek.de/p​erl6/2015-12-22#i_11759252 for how to put spaces around the replacement
17:52 yoleaux TimToady: I'll pass your message to hankache.
17:52 flussence .oO( it's one of them classic cars, with a steering wheel... )
17:53 s_kilk joined #perl6
17:53 timotimo thomax: the car kind of sort of drove itself
17:53 RabidGravy I just sit in the car, I even have beer
17:53 timotimo i mean, i didn't put much work into the driving part
17:55 * thomax needs to fix some issues on his simson schwalbe
17:56 brrt joined #perl6
17:58 lucasb m: { !! }
17:58 camelia rakudo-moar 108829: ( no output )
17:58 lucasb m: { say !! }
17:58 camelia rakudo-moar 108829: OUTPUT«Non ast passed to WANTED: NQPMu␤Non-QAST node visited NQPMu␤Weird node visited: NQPMu␤Weird node in analyze: NQPMu␤===SORRY!===␤Unknown QAST node type NQPMu␤»
17:58 lucasb without the block, it's an error, as expected
17:59 mohae joined #perl6
18:00 moritz oom
18:01 moritz installing panda with a freshly brewed rakudo fails
18:01 moritz with an error that looks like it's coming from Test.pm
18:01 harrison_ joined #perl6
18:01 moritz EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override,
18:01 moritz at /home/rakudobrew/rakudobrew/moar-nom/​install/share/perl6/sources/F8FD1F2FA​036B47A236AF2A54FCFD435C80D7177:195
18:01 * flussence just successfully installed everything up to linenoise, but isn't using rakudobrew
18:01 moritz ------> llable ?? $op !! try EVAL "&infix:<$op>"⏏ -> $matcher {
18:01 llfourn moritz: I had the same problem earler today
18:02 moritz so, it is picking up an older, precompiled version of Test.pm?
18:02 llfourn had to rm rakudo/install
18:02 flussence moritz: that sounds like a familiar problem
18:02 llfourn and make install...yep that's what seemed to be happening
18:03 TimToady yes, I've been carping about that failure mode, but you can blow away install/share/perl6 to fix it
18:03 moritz that makes me worry that the dependency tra<cking in curli is somehow broken :/
18:03 TimToady metwo
18:03 thomax does error codes stay like this? ...l6/sources/F8FD1F2FA036B47​A236AF2A54FCFD435C80D7177:195
18:04 thomax aeh, not codes but context hints
18:04 TimToady it could perhaps put the original name in parens?
18:04 moritz TimToady: that would help immensely
18:04 flussence it could put the original name somewhere in the filename...
18:05 TimToady well, there's no guarantee the original filename will even work in the filesystem
18:05 flussence even a module name squashed to ascii alnum's better than nothing :)
18:06 TimToady I do like having an identity that (very nearly almost) can't collide
18:06 TimToady but it's not terribly user-friendly in its aspect :)
18:08 dalek perl6.org: 9fb575b | moritz++ | / (5 files):
18:08 dalek perl6.org: Change some HTTP links to HTTPS
18:08 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/9fb575bf49
18:09 moritz Public Service Announcement: IRC logs now with SSL: https://irclog.perlgeek.de/
18:09 flussence having {$sha1}-{$sanitized-name}" as the filename could work, I'm averse to suggesting things that might cause slowdown though.
18:09 flussence yay! moritz++
18:10 TimToady I do think just saying the name in parens will be sufficient to pacify the masses
18:10 flussence good enough for me :)
18:10 TimToady who, if they see only sha-1s will rise up and slay us
18:11 TimToady but it's very nice to be able to copy/paste the actual filename to look at, so I still think the hash should be primary
18:11 thomax yepp! don't force me to build checksums of those dirs!
18:11 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
18:12 geekosaur should std: still be mentioned there?
18:12 timotimo honestly, i'd prefer not to get slain any time soon
18:12 TimToady we can drop it
18:12 moritz std: 42
18:12 camelia std : OUTPUT«No such file or directory»
18:12 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
18:12 timotimo admin plz install 42 it sez no such file or directory k thx
18:13 camelia std : OUTPUT«(timeout)cat: /home/camelia/std/snap/revision: No such file or directory␤»
18:13 TimToady it was a prototype that we actually planned to throw away, for a change :)
18:13 mst admin plz cure camelia's std
18:13 flussence the timeoutcat ate it!
18:13 TimToady std successfully infected others
18:20 spider-mario joined #perl6
18:21 hankache joined #perl6
18:24 tadzik joined #perl6
18:27 Skarsnik hm, is there a way to get Module::Role if the Role is declared with my?
18:34 llfourn Skarsnik: get an object doing the role and .^roles maybe?
18:38 FROGGS joined #perl6
18:38 FROGGS o/
18:39 Skarsnik wb FROGGS, I have a question with Str encoded and NC xD
18:39 FROGGS Skarsnik: ask :o)
18:40 Skarsnik If I say that my returned string is ascii, perl6 keep it ascii or It's unicode?
18:41 FROGGS Skarsnik: string are always NFG strings, is that what you ask?
18:41 FROGGS strings*
18:42 Skarsnik I try to solve the mysql/dbiish issue to return blob (or even different encoding according to the field encoding) and I want to always work the c string with no encoding to encode them after.
18:44 Skarsnik or should I use Blob as return type instead of Str
18:45 FROGGS Blob wont work because its repr is a VMArray
18:45 FROGGS and a VMArray needs to know its length, err elems
18:45 FROGGS there is currently no way of telling that you want to return a null terminated buffer
18:46 [Tux] o/
18:46 FROGGS otherwise a buf8 would be a good choice
18:46 FROGGS hi [Tux]
18:47 FROGGS Skarsnik: so for now you'd have to return an ascii string and recode that
18:47 timotimo .o( ubf8 )
18:47 Skarsnik so if I do sub foo is native returns Str encoded('ascii'); I still have a unicode string?
18:48 FROGGS Skarsnik: you'll get an NFG string
18:48 FROGGS but when code point mapping is what ascii demands
18:48 FROGGS but the*
18:49 Skarsnik sound like I don't have the real raw data still them
18:49 FROGGS ohh
18:49 FROGGS wait
18:49 FROGGS MVM_exception_throw_adhoc(tc,
18:49 FROGGS "Will not decode invalid ASCII (code point > 127 found)");
18:49 FROGGS that's in MoarVM/src/core/strings/ascii.c
18:50 timotimo yeah
18:50 TimToady m: multi sub infix:<+>(Bool $a, Bool $b) { Bool($a + $b) }; say True + True
18:50 camelia rakudo-moar 108829: OUTPUT«Memory allocation failed; could not allocate 122464 bytes␤»
18:50 TimToady cool, a bug!
18:50 FROGGS wait, cant we nativecast to a Str?
18:51 TimToady I was gonna say, it's easy to implement boolean algebra if you need it, but...  :)
18:51 Skarsnik good question x)
18:51 timotimo TimToady: i don't see the bug yet
18:52 Skarsnik it's a bit weird we have the clever Str return type but nothing for just 'some data ending with a \0'
18:52 FROGGS Skarsnik: if you return a Pointer $p, you should be able to do this later: my $result = nativecast(Str is encoded('utf8'), $p)
18:52 TimToady ah, it's a bug in my program :)
18:52 TimToady m: multi sub infix:<+>(Bool $a, Bool $b) { Bool($a or $b) }; say True + True
18:52 camelia rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aHOFaUsEL7␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/aHOFaUsEL7:1␤------> 3ub infix:<+>(Bool $a, Bool $b) { Bool($a7⏏5 or $b) }; say True + True␤    expecting a…»
18:52 vendethiel joined #perl6
18:53 timotimo that's more interesting
18:53 TimToady m: multi sub infix:<+>(Bool $a, Bool $b) { Bool($a || $b) }; say True + True
18:53 camelia rakudo-moar 108829: OUTPUT«True␤»
18:53 TimToady there we go
18:53 Skarsnik I could maybe work around with CArray[int8] since I have the lenght, but it's ugly xD
18:53 timotimo or's precedence is too loose for that syntax? why should it be a problem there, though?
18:53 TimToady Skarsnik: Boolean algebra can be implemented if you really want it, but the use case for it in normal programming is not very common
18:53 FROGGS Skarsnik: do what I just said, it is the best way me thinks
18:55 Skarsnik Should I create a ticket or something to have a raw_c_string type in NC?
18:55 FROGGS Skarsnik: go ahead, but perhaps request a null terminated buffer instead
18:56 vendethiel o/, #perl6
18:56 timotimo o/ vendethiel
18:56 FROGGS TimToady: didnt we want to rename nativecast and nativesizeof to something else?
18:56 FROGGS TimToady: like with a dash? I guess we should do it now or never..
18:57 Skarsnik hm I am for NATIVECAST
18:57 TimToady I dunno, it looks pretty low-level to run 'em all together :)
18:57 FROGGS ohh no
18:58 timotimo Skarsnik: the thing is that you can just pass the c-string around as a regular pointer to every native function that expects a char*. and when you want an actual Str, you use "nativecast"
18:59 timotimo FROGGS: do you think we should teach nativecast about a "null-terminated array" kind of thing?
18:59 timotimo well ... would not really be a cast, i'm imagining more like a copy
18:59 FROGGS timotimo: yes, that is what I think
18:59 crux joined #perl6
19:00 FROGGS timotimo: though, guessing the size has always been a weird and sometimes problematic thing
19:00 FROGGS timotimo: so a 'returns buf8[32]' might also be awesome to have
19:00 timotimo mhm
19:01 timotimo it's more likely that you'll figure out the size of the returned buffer as you call the native function
19:01 skids Well really C libraries that don't give you at least a #define for an upper limit are pretty broken, and really should be passing you back lengths, but anyway.
19:01 FROGGS timotimo: yes, we'd probably need both
19:01 skids I've always been partial to "ztr" for a "zed" terminated str :-)
19:01 FROGGS skids: yes, "should"
19:01 timotimo like, a function could return a size as an int and set a int8_t** in the argument list
19:02 FROGGS Skarsnik: we can close this, right? https://rt.perl.org/Ticket/Display.html?id=126645
19:03 molaf joined #perl6
19:04 lucasb joined #perl6
19:06 bitmap joined #perl6
19:06 skids For those competently implemented C libraries, eventually it might be nice to be able to associate a char* with a size_t via some sugar in the signature.
19:06 FROGGS skids: we've thought about that too
19:07 skids Which would lead to people asking for a way to just make "get a pointer, look for zero terminator, cram the result into a buf" as an additional sugar.
19:07 lucasb m: say(True or False)
19:07 camelia rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A1meiQFn52␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/A1meiQFn52:1␤------> 3say(True7⏏5 or False)␤    expecting any of:␤        infix␤        infix stopper␤»
19:07 colomon_ joined #perl6
19:08 lucasb ^^ shouldn't that be allowed? bug, right?
19:08 timotimo m: say((True or False))
19:08 camelia rakudo-moar 108829: OUTPUT«True␤»
19:10 FROGGS m: say(1 or 2) # is that a precedence bug?
19:10 camelia rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fOoDhURmtq␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/fOoDhURmtq:1␤------> 3say(17⏏5 or 2) # is that a precedence bug?␤    expecting any of:␤        infix␤  …»
19:10 FROGGS or a braino?
19:10 timotimo i think it's a bug in the allowed maximum precedence we'd parse inside those parens
19:11 TimToady no, it's intentional
19:11 Skarsnik FROGGS, Oh yeah you can probably close the RT, I think I left it open because the : solution was meh x)
19:11 FROGGS I remember having hard times with that in v5
19:11 TimToady commas are special in arg lists
19:11 timotimo oh, and "or" is looser than ,
19:13 TimToady the limit is actually set at listop precedence
19:13 TimToady m: say(1 X 1,2,3)
19:13 camelia rakudo-moar 108829: OUTPUT«((1 1) (1 2) (1 3))␤»
19:13 * vendethiel wrote a perl one-liner for a friend today, and wish he could've used 6 instead :p
19:13 TimToady so we can have list infixes
19:15 TimToady at this point it would be difficult to find a precedence design issue we haven't already thought about once or twice :)
19:16 lostinfog joined #perl6
19:18 lucasb ok, not a bug, then. But it surprised me. Maybe I have to get more acquainted with the precedence table
19:18 zacts \o/ go perl6!
19:18 grondilu it's actually the same even when it's not a arg list
19:18 zacts happy perl6 tuesday
19:18 grondilu m: say my @ = 1 X 1,2,3
19:18 camelia rakudo-moar 108829: OUTPUT«[(1 1) (1 2) (1 3)]␤»
19:19 lucasb m: say(do True or False)  # is the the "right" way to write that?
19:19 camelia rakudo-moar 108829: OUTPUT«True␤»
19:19 lucasb *is this
19:19 grondilu no neeed for "do"
19:19 grondilu m: say True or False
19:19 camelia rakudo-moar 108829: OUTPUT«True␤»
19:20 lucasb grondilu: try say True and False :)
19:20 zengargoylew joined #perl6
19:20 grondilu m: say True and False
19:20 camelia rakudo-moar 108829: OUTPUT«True␤»
19:20 * grondilu is confused
19:20 grondilu m: say(True and False)
19:20 camelia rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ixAjAdVu2E␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/ixAjAdVu2E:1␤------> 3say(True7⏏5 and False)␤    expecting any of:␤        infix␤        infix stopper␤»
19:20 timotimo right; the only other way would be to introduce a maximum-loose comma just for use inside calls
19:21 Skarsnik FROGGS, I was thinking of implementing https://github.com/Skarsnik/nativecall-typedia​g/blob/master/lib/NativeCall/TypeDiag.pm6#L39 directly in NC (it valids routine signature), what do you think?
19:21 timotimo m: say False or True
19:21 camelia rakudo-moar 108829: OUTPUT«False␤»
19:21 grondilu oh yeah
19:21 timotimo ah, say returns True, of course.
19:22 timotimo what i meant but failed to show was that or has looser precedence than the argument list there
19:22 grondilu I should have remembered the common idio :  do-this or die "oops could not do this"
19:22 lucasb m: True or False  # maybe this could get a useless use message
19:22 camelia rakudo-moar 108829: ( no output )
19:22 grondilu and/or have the exact precedence to allow that
19:23 FROGGS Skarsnik: +1
19:23 timotimo yeah
19:23 psy_ joined #perl6
19:23 lichtkind joined #perl6
19:23 grondilu but why does "say(True or False) fail?
19:23 grondilu *"
19:23 timotimo consider what say(True, False or False, True) would have to mean
19:23 grondilu sorry meant "say(True and False)"
19:24 timotimo doesn't make a difference in this case
19:24 timotimo between or and and
19:24 mst did anybody get around to cpan-ing rakudobrew?
19:24 administrator joined #perl6
19:24 TimToady can we fix the make issue first?
19:25 El_Che mst: maybe unrelated but jdv79's advent post was about perl6 + cpan
19:25 dalek rakudo/nom: d8ad27f | lizmat++ | src/core/Temporal.pm:
19:25 dalek rakudo/nom: Move default-formatter inside DateTime class
19:25 dalek rakudo/nom:
19:25 dalek rakudo/nom: So that we poison CORE:: a little less
19:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d8ad27f4b8
19:25 El_Che mst: (though not about rakudo)
19:25 mst is 'the make issue' the silent fail I hit?
19:25 TimToady no, this one isn't silent
19:26 mst ok, so, I can totally -prep- it for cpan-ing without actually shipping it
19:26 * lizmat seems to have missed what the make issue is
19:26 nmbooker joined #perl6
19:26 Skarsnik FROGGS, the issue is I check the param name to handle Str, but it will not allow subtype of str and type ~~ Str will allow str (and str in nc param seem buggy)
19:27 kanishka joined #perl6
19:28 TimToady if the Makefile doesn't contain a MAKE= it just gives up, instead of just running 'make', which works fine in Linux
19:28 FROGGS Skarsnik: hmmm, yeah, so we need to find a better solution
19:28 TimToady so you can't do rakudobrew triple
19:28 lizmat TimToady: or on OS X apparently ?
19:28 lizmat ah, rakudobrew related
19:29 * lizmat goes silent again
19:30 TimToady though I don't quite understand what the difference is that allows bare rakudobrew to succeed while rakudobrew triple doesn't
19:30 gblade joined #perl6
19:31 FROGGS m: say 1:all
19:31 camelia rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RGdA9JF9rB␤You can't adverb 1␤at /tmp/RGdA9JF9rB:1␤------> 3say 1:all7⏏5<EOL>␤    expecting any of:␤        pair value␤»
19:31 FROGGS m: say 1.:all
19:31 nmbooker Hi I've just been playing around with the andthen operator, and noticed that when Nil is on the LHS it returns (), and not nil
19:31 camelia rakudo-moar 108829: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
19:31 nmbooker Is that intentional?
19:31 nmbooker (or what's the reason for that)?
19:31 gblade left #perl6
19:31 timotimo could very well be that it didn't get updated for new semantics
19:32 timotimo TimToady would know for sure
19:33 TimToady oh, I think it's because rakudobrew triple cd's and does the submakes by hand, instead of relying on Configure
19:33 TimToady and the submakes don't specify MAKE=
19:34 Skarsnik m: say str ~~ Str;
19:34 camelia rakudo-moar d8ad27: OUTPUT«Cannot unbox a type object␤  in block <unit> at /tmp/PeqLw2zWJe:1␤␤»
19:34 TimToady tadzik: ^^^
19:34 Skarsnik m: my str $a; say $a ~~ Str;
19:34 camelia rakudo-moar d8ad27: OUTPUT«True␤»
19:34 Skarsnik m: my str $a; say $a does Str;
19:34 camelia rakudo-moar d8ad27: OUTPUT«Cannot mix in non-composable type Str into object of type Str␤  in block <unit> at /tmp/zUqjMENd85:1␤␤»
19:37 stmuk m: say num64 ~~ Num
19:37 camelia rakudo-moar d8ad27: OUTPUT«Cannot unbox a type object␤  in block <unit> at /tmp/5rsDksKzs4:1␤␤»
19:37 stmuk that was 126927
19:38 Skarsnik str sucks because you can't use .perl on it x)
19:39 yqt joined #perl6
19:40 TimToady nmbooker: the return value is not actually (), but Empty
19:40 TimToady m: say (Nil andthen 1).WHAT
19:40 camelia rakudo-moar d8ad27: OUTPUT«(Slip)␤»
19:40 TimToady m: say (Nil andthen 1).defined
19:40 camelia rakudo-moar d8ad27: OUTPUT«False␤»
19:41 TimToady the intent is to allow use in list comprehensions
19:41 TimToady otherwise your result would contain a bunch of Nil values where you just want them dropped
19:43 TimToady also, andthen is designed to work not just with scalar values, but also with a failure/success model where you can distinguish failures from listy success, since one great way to implement a backtracking engine is to iterate a lazy list of branch points on success
19:44 TimToady andthen is really intended for logic programming more then just as a defined-and, which is why it also topicalizes the LHS
19:46 nmbooker Yes the topicalisation is useful - I was actually looking at using it to chain a series of calls that can each return an undefined value.
19:46 TimToady in that model, you want the andthen itself to just return a list of remaining possibilities without Nils scattered in
19:46 TimToady since failures should just cut themselves from the tree of possibilities
19:47 TimToady m: say Empty.defined
19:47 camelia rakudo-moar d8ad27: OUTPUT«False␤»
19:47 nmbooker are there any examples out there of the kinds of usage you're talking about (in listcomps or failure trees)?
19:47 TimToady we force Empty to be undefined for purposes like that, iiuc
19:48 TimToady STD was entirely build on those sorts of ideas, though the expression Perl left something to be desired :)
19:48 TimToady *Perl 5
19:48 timotimo hm
19:48 timotimo here's a little idea
19:48 timotimo why is METAOP_ASSIGN like this:
19:48 TimToady which is why we got 'andthen' in Perl 6 :)
19:48 nmbooker ok so as long as I check definedness with .defined / with / without or whatever, rather than identity to Nil, I should be OK.
19:48 timotimo -> $a, $b { $a = op(($a // op.()), $b) }
19:48 nine lizmat: I see 2 solutions for the native library naming problem: 1. have the FileSystem repository look for META6.json in $.prefix.parent instead of $.prefix and use the meta data when looking for resources. 2. have resources/lib by convention be the directory for native libs
19:49 nine FROGGS: ^^^
19:49 timotimo shouldn't we actually pretend op.() is always pure
19:49 timotimo and put the value op.() returns as a variable into the closure?
19:49 TimToady nmbooker: yep
19:49 rindolf Hi all.
19:49 _nadim Can some of youhave a look here and tell me how you break it. I'd like it to be tested by other before I add it to the ecosystem, mainly because this is my first P6 code and I suspect it's going to break
19:49 TimToady just like you shouldn't say ~~ True
19:49 _nadim rindolf: hi
19:49 rindolf _nadim: sup?
19:49 RabidGravy nine, the latters is what I've gone for :)
19:49 _nadim https://github.com/nkh/P6-Data-Dump-Tree
19:50 FROGGS nine: what is the native library naming problem?
19:50 mst TimToady: indeed, that's basically the way I've been implementing a backtracking engine in my prolog-ish thing ;)
19:50 nine FROGGS: that the name of libraries created during a module's build are platform dependent. It's p5helper.so on Linux and p5helper.dylib on OS X
19:51 FROGGS nine: you've even got a bigger problem
19:51 oftl joined #perl6
19:51 nine FROGGS: which is?
19:51 FROGGS nine: the library path must be known at moarvm build time IIRC
19:51 nmbooker mst: Can you point me to any of your code?  I'm interested to see how that kind of usage works.
19:52 Skarsnik ?
19:52 virtualsue joined #perl6
19:52 nine FROGGS: why's that?
19:52 Skarsnik If you give the full path NC will load the lib fine
19:52 nine FROGGS: if that were true, Inline::Perl5 could have never worked
19:52 FROGGS nine: you're not allowed to load libs from random paths on many platforms
19:53 _nadim rindolf: do me a favor and test the module above. if you break it you can alsways tell me on our usual channel.
19:53 nmbooker TimToady: Thanks for the clarification, most helpful
19:53 FROGGS nine: where do you install it to?
19:53 rindolf _nadim: will do.
19:53 nine FROGGS: install/share/perl6/site/resources
19:53 TimToady timotimo: I don't quite understand your proposal...the code there is to autoviv in things like; %hash{$newvalue} += 1
19:53 _nadim rindolf++
19:53 vv3 joined #perl6
19:54 nine FROGGS: Perl 5 installes compiled libs into e.g. /usr/lib/perl5/5.22.0/x86_6​4-linux-thread-multi/auto/
19:54 lizmat moritz: do you recall why dates in years > 9999 should have a + in front of them ?
19:54 mst nmbooker: code is currently in a private git repo because I'm rewriting everything
19:54 mst nmbooker: I would suggest looking at minikanren as a canonical form of that approach designed to be taught
19:55 lizmat nine: feels like 2 is the least work for the moment, and easiest to generalize post Christmas
19:55 FROGGS nine: see https://github.com/MoarVM/MoarVM/commit/​d2e5c768f1ea69932d0a2ed1e0b26299281700ca
19:55 nmbooker mst: ok thanks
19:55 RabidGravy and what I'm already doing :)
19:55 Skarsnik how x86 x64 is handled on windows for lib btw?
19:56 FROGGS nine: yes, this directory is compiled in
19:56 jdv79 sup #perl6?
19:56 nine A variation of 1 would be to look in lib/ for modules if a META6.json is present in $.prefix, i.e. use lib "/home/nine/Inline-Perl5"; instead of use lib "/home/nine/Inline-Perl5/lib";
19:56 _nadim jdv79: hi
19:56 FROGGS nine: do you have a lib in @prefix@/share/perl6/site/lib by any chance?
19:56 rindolf _nadim: how do I run the tests? prove t/*.t fails.
19:57 nine FROGGS: but the shared objects are stored in subdirectories according to the module's namespace. So it's not all in one directory.
19:57 timotimo TimToady: actually, what i now think is that calling op.() every time METAOP_ASSIGN is called would be more costly than only calling it when defor falls through
19:57 Skarsnik prove -e 'perl6 -I lib' something like that
19:57 TimToady timotimo: indeed
19:58 _nadim rindolf: I have this alias t6='PERL6LIB=lib,t prove -v -e perl6'
19:58 FROGGS nine: subdirectories might be okay, I'm not sure about that
19:58 TimToady note we're only calling op there with no args to get the identity value
19:58 timotimo TimToady: i kind of wish we could do something more cheap than callmethod defined ...
19:58 dalek rakudo/nom: 6925c2b | lizmat++ | src/core/Temporal.pm:
19:58 dalek rakudo/nom: Streamline DateTime's default-formatter
19:58 dalek rakudo/nom:
19:58 dalek rakudo/nom: - don't bother checking year for extreme values, sprintf will do the right thing
19:58 dalek rakudo/nom: - only check for timezone offset irregularity if one is given
19:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6925c2b77f
19:58 _nadim rindolf: so I just do t6 t/ or t6 t/whatnot.t
19:59 TimToady well, .DEFINITE would probably work too for the intended purpose
19:59 nine FROGGS: Inline::Perl5's p5helper.so use to be installed alongside Perl5.pm6. Now it's installed into share/perl6/site/resources/
19:59 rindolf _nadim: ah, well the documentation for the module may be lacking.
19:59 nine FROGGS: if anything, the directory is more predictable now
19:59 TimToady it's not really for dealing with Nil or Failure, but with type objects
19:59 TimToady so I suspect using .DEFINITE would make more sense than .defined
19:59 dalek roast: 4f8dc6b | lizmat++ | S32-temporal/DateTime.t:
19:59 dalek roast: As per 6925c2b77f1560 extreme years don't get a +
19:59 dalek roast: review: https://github.com/perl6/roast/commit/4f8dc6bc5c
20:00 _nadim rindolf: you are kinding me, right? there's a whole .pod file that does nothing else but document it, then the tests, and a directory named examples
20:00 TimToady we just don't have a // variant that does that, so we'd have to hardwire it, but that might well be faster than what we have
20:00 FROGGS nine: if a clean install works on an openbsd box, I'll shut up :o)
20:00 mohae joined #perl6
20:00 rindolf _nadim: I mean in the README.
20:00 TimToady timotimo: feel free to time it and see if it helps
20:00 lizmat .oO( /// )
20:00 timotimo TimToady: the question is why does defor use .defined and not .DEFINITE. but i'll surely time it.
20:01 _nadim rindolf: README is not documentation
20:01 rindolf _nadim: and I am getting many test failures.
20:01 lizmat timotimo: because .defined will defuse Failures ?
20:01 TimToady because // we use on Nil and Failure all the time
20:01 _nadim rindolf: but i take README patches :)
20:01 rindolf _nadim: yes, it is.
20:01 TimToady m: say Empty.defined; say Empty.DEFINITE
20:01 camelia rakudo-moar d8ad27: OUTPUT«False␤True␤»
20:01 TimToady and there
20:02 timotimo OK
20:02 timotimo so for metaop assign it'd still be fine to use DEFINITE and a ?? !!?
20:03 _nadim rindolf: README says: See lib/.... for a complete documentation, follow the README
20:03 nmbooker left #perl6
20:04 flussence I followed the readme and... GitHub-- # https://github.com/nkh/P6-Data-Dump-Tr​ee/blob/master/lib/Data/Dump/Tree.pod
20:04 _nadim All, what has happened to Autoload and ties? any URLs to enlighten me?
20:04 flussence you mean p5's autoload?
20:05 flussence I think that's been replaced by «method FALLBACK»...
20:05 _nadim flussence: thanks
20:06 flussence there's also the "handles" trait on attributes, which does method passthrough
20:07 TimToady timotimo: yes, I think that should be fine
20:08 TimToady in fact, it should probably be better, since it'll not hide a failure that was stored in a variable
20:08 _nadim my previous dumper made it visible if a "class" handled autoload and ties, not sure I'll add that but it is always nice to know stuff
20:08 rindolf _nadim: do the tests succeed for you?
20:08 tadzik TimToady: oh, triple :|
20:08 RabidGravy _nadim, tie has gone completely, but replaced by the ability to implement a Positional or Associative yourself
20:08 nine lizmat: establishing the lib convention is the easy part. The hard part is that rakudo must be able to turn 'lib/p5helper' into 'lib/libp5helper.so' according to platform conventions when the only source of information is $*VM.config<so> where not even the format is standardized between backends.
20:08 _nadim rindolf: you think I'd upload it otherwise?
20:08 rindolf _nadim: no.
20:09 timotimo TimToady: my first attempt at changing it forgot to change it in the optimizer, so showed no change at all %)
20:09 _nadim just grab the output and open a ticket
20:09 TimToady tadzik: I keep going in and changing the error message to just do 'make' anyway, but it doesn't quite seem like the right fix
20:09 lizmat nine: then we should standardize that in VM.pm ?
20:09 rindolf _nadim: but they fail here.
20:09 rindolf _nadim: ok.
20:09 TimToady tadzik: either we need to probe for gmake in make's clothing, or it needs to look in .. and ../... for MAKE=
20:09 nine lizmat: yes, I'm thinking about a method taking the base name and optionally some version information and returning the full file name.
20:10 _nadim rindolf: can you also use it on some of your objects/structures?
20:10 lizmat I would say, make that another attribute of VM
20:10 nine lizmat: version information may be mandatory on some platforms as I've just learned
20:10 TimToady *../..
20:10 rindolf _nadim: let me see.
20:10 rindolf _nadim: I haven't written a lot of P6 code.
20:10 Skarsnik nine, I think the old NC was able to turn path/to/foo to path/to/foo.something
20:11 nine old NC?
20:11 timotimo TimToady: from 6.84s to 4.56s for my Int $i = 0; Nil while ($i += 1) < 10_000_000
20:11 Skarsnik before I put the api version 'support' on it
20:11 _nadim rindolf: the ide with a dumper is that you can feed it anything, even the smallest pieces
20:11 rindolf _nadim: ah.
20:11 timotimo however, i'm getting a failure "Cannot assign to an immutable value" in install-core-dist.pl
20:11 Skarsnik but the guess_libname code is a mess x)
20:11 TimToady m: my $x = Failure.new: $x += 1; say $x
20:11 camelia rakudo-moar 6925c2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dA0yLJbCUb␤Cannot use variable $x in declaration to initialize itself␤at /tmp/dA0yLJbCUb:1␤------> 3my $x = Failure.new: $7⏏5x += 1; say $x␤    expecting any of:␤        argument list␤        …»
20:12 TimToady m: my $x = Failure.new; $x += 1; say $x
20:12 camelia rakudo-moar 6925c2: OUTPUT«1␤»
20:12 TimToady timotimo: and fixes ^^^
20:12 TimToady so I'd say it's definitely an improvement, timotimo++
20:12 timotimo cool :)
20:12 TimToady well, I presume it fixes that
20:12 nine From NativeCall.pm6: #Err, this is a mess, why so many way to get the extension?
20:13 Skarsnik nine, accoring to https://github.com/rakudo/rakudo/blo​b/nom/t/04-nativecall/17-libnames.t ./libfoo will be ./libfoo.so
20:13 flussence _nadim: `prove -e 'perl6-m -Ilib'` kinda falls apart horribly here. Most of those tests die with “'use lib' may not be pre-compiled”
20:13 timotimo TimToady: yeah, that throws the failure properly
20:13 TimToady sugoi!
20:13 timotimo who writes the test for that? :)
20:13 timotimo i'd have to be fudged for now until i figure out the "cannot modify an immutable value" problem
20:14 Skarsnik but I am pretty sure it does not work on os X and win32 x)
20:14 lizmat nine: so those 5 lines need to be moved to VM and given an $!lib-ext attribute ?
20:16 TimToady timotimo: I'm willing to delegate that to you, given I have other things to worry about...
20:16 Skarsnik $*VM.config<dll> give a pattern like "lib%s.so"
20:16 timotimo interesting
20:17 rindolf _nadim: https://github.com/nkh/P6-Data-Dump-Tree/issues/2
20:17 timotimo the explosion comes from $time += 2440588 inside DateTime.new
20:17 lizmat timotimo: did I break something in DateTime ?
20:17 timotimo no
20:17 timotimo i broke it with my change to METAOP_ASSIGN
20:18 El_Che having a go to compile libuv on solaris.
20:18 nine Skarsnik: only on MoarVM
20:18 lizmat well, I'm looking at DateTime atm, perhaps we can do without METAOP_ASSIGN  :-)
20:18 FROGGS El_Che: good luck
20:19 nine Skarsnik: on JVM you have $*VM.config<nativecall.so> which just gives you ".so"
20:19 timotimo lizmat: i still think it's a problem i ought to fix.
20:19 lizmat timotimo: oki
20:19 Skarsnik Yes I figured that why there was so many stuff in this function
20:20 timotimo haha
20:20 timotimo with --ll-exception i get "cannot modify an immutable Int", without it it's an immutable Str
20:21 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a, Mu \b { a = op.(a // op.(), b) } }; my Str $f; $f ~= "hi";
20:21 camelia rakudo-moar 6925c2: ( no output )
20:21 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a, Mu \b { a = op.(a.DEFINITE ?? a !! op.(), b) } }; my Str $f; $f ~= "hi";
20:21 camelia rakudo-moar 6925c2: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/RUxw3aCZ2N:1␤␤»
20:21 timotimo that puzzles me a bit
20:22 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a, Mu \b { a = op.(a.DEFINITE ?? op.() !! a, b) } }; my Str $f; $f ~= "hi";
20:22 camelia rakudo-moar 6925c2: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block  at /tmp/SeJNskbRVB:1␤Cannot modify an immutable Str␤  in block <unit> at /tmp/SeJNskbRVB:1␤␤»
20:22 Skarsnik nine, but actually this code should append the right extension (and eventually the version) if there is none
20:22 timotimo well, that thing is the right way around, but why would that give me trouble with the assignment?
20:23 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.(a.DEFINITE ?? op.() !! a, b) } }; my Str $f; $f ~= "hi";
20:23 camelia rakudo-moar 6925c2: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block  at /tmp/I3UzLQf3iP:1␤Cannot modify an immutable Str␤  in block <unit> at /tmp/I3UzLQf3iP:1␤␤»
20:23 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.(a.DEFINITE ?? a !! op.(), b) } }; my Str $f; $f ~= "hi";
20:23 camelia rakudo-moar 6925c2: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/yYl2d83fYR:1␤␤»
20:23 timotimo so ... halp anyone?
20:23 nine Skarsnik: yes, trying to pull it into VM::platform-library-name(IO::Path $library, Version :$version);
20:24 jdv79 lizmat: i forgot about that.  went to see it today.  it was ok.
20:25 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.( (if a.DEFINITE { a } else { op.() }), b) } }; my Str $f; $f ~= "hi";
20:25 camelia rakudo-moar 6925c2: ( no output )
20:25 timotimo why does that make it work, but ?? !! doesn't
20:25 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a, Mu \b { a = op.( (if a.DEFINITE { a } else { op.() }), b) } }; my Str $f; $f ~= "hi";
20:25 camelia rakudo-moar 6925c2: ( no output )
20:25 timotimo the "is raw" isn't what does it
20:28 dalek rakudo/nom: 2e4238f | FROGGS++ | src/Perl6/Grammar.nqp:
20:28 dalek rakudo/nom: fix misparse of digit+dot+colon, RT #126959
20:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2e4238fbe4
20:28 virtualsue joined #perl6
20:29 _nadim flussence: not pre-compiled? I am not following you.
20:29 TimToady_ joined #perl6
20:31 flussence _nadim: modules hardcoding module paths won't work in 2015.12
20:32 _nadim flussence: rindolf submitted something similar. I hav eno idea of what it is :), There is a dependency on Text::Table::Simple that I should elminate, it's just for test.
20:32 _nadim I am not, afaik, harcoding anything.
20:33 AlexDaniel joined #perl6
20:33 * rindolf eats TimToady 's extra underscore.
20:33 s_kilk joined #perl6
20:33 flussence lib/Data/Dump/Tree/DescribeBaseObjects.pm has "use lib '.'" on line 2
20:33 TimToady .tell jnthn I think the answer to #126005 is to transform any loop that wants its return value into a map, including KEEP/UNDO, but also loops in non-statementlist context, as the specs ask for; that should give us the correct semantics for KEEP/UNDO and should allow for sink optimization of maps to throw away values later, hopefully after checking return for success
20:33 yoleaux TimToady: I'll pass your message to jnthn.
20:34 El_Che has anyone been able to compile moarvm on solaris? solaris 10 does not have ifaddr.h that's needed by libuv
20:35 El_Che (solaris 11 does, but that's an other story)
20:35 _nadim flussence: yes I found that one, and eliminated it, but the testd still pass
20:36 _nadim i mean here :)
20:36 mst right, got rakudobrew going locally. not 100% sure what I want to do with a cpan-able version yet, I'll ponder
20:36 mst if anybody else has a go before me, please somebody hilight me so I know
20:36 mst tadzik: ^^
20:37 _nadim flussence: if you simply remove that line in th emodule, do you still get the same failures?
20:37 _nadim honnestly i don't see how a use lib sould break things, even if it should not be there
20:38 rindolf El_Che: which Solaris version are you using?
20:38 El_Che rindolf: none anymore :)
20:38 El_Che rindolf: but I am trying to get it built in 10 and 11
20:38 mspo El_Che: have you tested SmartOS?
20:39 rindolf El_Che: ah.
20:39 mspo if I get pkgsrc up to date then joyent would test for us
20:39 TimToady lunch &
20:39 lizmat _nadim: in Perl 6, we don't want "use lib" inside modules
20:39 El_Che mspo: I am involved with opencsw
20:39 lizmat _nadim: at least not before Christmas
20:39 rindolf TimToady: bon appetit.
20:39 El_Che mspo: foss for solaris 10 and 11
20:39 mspo El_Che: join pkgsrc instead :)
20:40 flussence _nadim: now fails most tests with: Could not find symbol '&AsciiGlyphs' in method new at lib/Data/Dump/Tree.pm:44
20:40 * timotimo finally switched from the unreliable wifi to an ethernet cable
20:40 El_Che mspo: now that I am professionaly not involved with solaris, my packaging efforts are more of a foss/nostalgia/social engagement :)
20:41 El_Che now that I am NOT
20:41 El_Che I mean
20:41 _nadim lizmat: I don't either, the one that was there just escaped me when that code went from script to module.
20:42 dalek rakudo/nom: 3b3e42b | lizmat++ | src/core/Temporal.pm:
20:42 dalek rakudo/nom: Streamline Dateish.week/week-year/week-number
20:42 dalek rakudo/nom:
20:42 dalek rakudo/nom: - by using native ints
20:42 dalek rakudo/nom: - by not using "do" when it is not needed
20:42 dalek rakudo/nom: - by directly using AT-POS (at least for now)
20:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3b3e42b0a6
20:43 M-eternaleye joined #perl6
20:43 _nadim flussence: Arff, that one escaped thee tests. Do me a favor, change ddtr to DDTR on that line. it's hard to force one's terminal to not support ANSI!
20:43 _nadim but that's certainly a bug, I'll add tests forcing non ANSI
20:45 timotimo i really don't want to have if a.DEFINITE { a } else { op.() } instead of a ?? !!
20:45 timotimo as that means putting in QAST::Block :|
20:45 flussence now it complains about has-accessor; that's been removed
20:46 flussence correct spelling is has_accessor, iirc 2015.11 has both
20:46 virtualsue joined #perl6
20:46 flussence fixing that shows a bunch of other errors and now I'm getting a bit lost
20:48 timotimo damn :(
20:49 lizmat timotimo: ///   ?
20:49 lizmat ah, that won't help, won't it ?
20:49 timotimo is /// actually a thing?
20:49 timotimo or are you suggesting i build that?
20:49 lizmat no, a figment of my imagination
20:49 timotimo i could build a p6definiteor
20:49 timotimo to go with our defor
20:49 lizmat well, TimToady alluded to such a functionality
20:50 lizmat I was merely suggesting a syntax  :-)
20:51 lizmat timotimo: BTW, what wrong with "a.DEFINITE ?? a !! op()" ?
20:51 rindolf _nadim: did you consider enabling CI (= Continuous Integration) for your repositories?
20:51 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.(a.DEFINITE ?? a !! op.(), b) } }; my Int $i; $i += 1;
20:51 camelia rakudo-moar 3b3e42: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/lZl_XKlkov:1␤␤»
20:51 timotimo that's what's wrong
20:52 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.((if a.DEFINITE { a } else { op.() }), b) } }; my Int $i; $i += 1;
20:52 camelia rakudo-moar 3b3e42: ( no output )
20:52 lizmat ah, I see
20:52 lizmat well, I don't see the reason, but I see
20:52 timotimo :)
20:52 timotimo i'd like for someone to find out the reason, but it'd be fine if not
20:53 lizmat something deconting in a ?? !! ?
20:53 nine Oh, someone fixed the endless loop on exceptions in the setting :)
20:53 lizmat perhaps a return rather than a return-rw
20:53 lizmat nine: jnthn  did
20:53 _nadim flussence: this is really weird. But I do appreciate the help. any chance I could get an account and test myself?
20:54 nine jnthn++ # you're my hero!
20:54 FROGGS nine: jnthn did
20:54 _nadim good I have the snapshots to prove it works somewhere ;)
20:54 timotimo hm, but decont doesn't mutate the incoming arg to the outer, though?
20:55 _nadim flussence: but I believe that has-accessor error are not directly related. what rakudo so you use?
20:57 flussence _nadim: you'd be best off asking someone else for a p6c.org account :)
20:57 flussence also: «This is Rakudo version 2015.11-722-g10882910b928»
20:57 s_kilk joined #perl6
20:58 _nadim any idea of who to ask?
20:58 TimToady timotimo: why are you using a comma there in the !!
20:58 masak hi, #perl6
20:58 yoleaux 15:57Z <lizmat> masak: looking at DateTime.now.later(:hour(1.5))  : is there a reason for not allowing that?
20:58 yoleaux 15:57Z <lizmat> masak: e.g., because not every hour is 3600 seconds ?
20:58 _nadim masak: hi
20:59 lizmat masak o/
20:59 timotimo m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.((a.DEFINITE ?? a !! op.()), b) } }; my Int $i; $i += 1;
20:59 camelia rakudo-moar 3b3e42: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/B0AHi5nKJy:1␤␤»
20:59 masak I'll be able to produce an advent blog post by midnight
20:59 timotimo TimToady: sadly that's not the problem :(
20:59 * flussence isn't sure who has admin access to that box, but one of them will see this soon enough :)
20:59 _nadim :)
21:00 masak lizmat: I dunno, re DateTime.now.later(:hour(1.5)) -- my first thought is to make hours hours and not something else. if someone wants more magic, they can write their own multis or translation functions or something.
21:00 * masak down scope again for now, but will work on that advent post
21:00 _nadim rindolf: Yo! deal me an account on your box.
21:00 Sqirrel joined #perl6
21:01 rindolf _nadim: hmmm...
21:02 rindolf _nadim: I'm behind a NAT.
21:02 rindolf _nadim: I can try to see if I can reproduce the problem on mageia x86-64 v5 .
21:02 timotimo the thing is i'd've implemented /// exactly the way i put the code into the optimizer ... the code that crashes with the "cannot modify" error you can see up there
21:04 _nadim rindolf: give me 5 I upload a version without use lib, maybe that fixes at least some of the problems
21:06 rindolf _nadim: well, I'm not sure if it's a problem on v5.
21:06 stmuk what happens to .pod in precomp land? I assume they don't get compiled
21:06 rindolf _nadim: what I can do is use ssh port forwarding to open an ssh port to my machine for you.
21:06 stmuk .pod files I mean
21:06 rindolf _nadim: do you have an ssh service?
21:06 TEttinger joined #perl6
21:07 flussence stmuk: I don't think the module loading stuff even touches plain pod files...
21:08 timotimo this is frustrating. i don't know how to go forward with this.
21:09 _nadim rindolf: I mean 5 minutes :) new version is up. I don't have any sshd up but I can fix that tomorrow
21:09 flussence stmuk: yeah, just checked and it only cares about .pm/.pm6
21:09 awwaiid2 joined #perl6
21:09 borkur joined #perl6
21:10 rindolf _nadim: I don't understand.
21:11 rindolf _nadim: I tested your module on mga v6 so far.
21:11 stmuk where should Foo.pod for Foo.pm get installed on the filesystem I wonder
21:12 _nadim when I said "give me 5' I meant give me 5 minutes so i can upload a version without the "use lib"
21:12 mspo I thought pod was inline
21:13 stmuk I don't think any pod gets installed at all by panda etc without being mentioned in 'provides' and S22 doesn't mention pod
21:13 _nadim stmuk: perl6 -Mwhatnot -e 42, will tell you where it looks for whatever that it doesn't find.
21:13 _nadim except if you have a whatever module installed that is
21:13 stmuk mspo: it can be inline and in files also .. I'm asking about the last case
21:14 _nadim stmuk: a panda . that installs the module you stand in would be nice
21:14 Brock joined #perl6
21:15 geraud joined #perl6
21:16 Skarsnik _nadim, like panda insall .
21:17 flussence stmuk: in a perfect world it'd go in $prefix/man/man3 like perl5's pod does... right now there's nothing :(
21:18 stmuk yeah I suspected this. I may just choose .../share/perl6/site/doc
21:18 flussence no objections here!
21:20 stmuk actually core docs probably go under .../share/perl6/doc
21:21 _nadim Skarsnik: yes like that!!! I asked few time, no one answered :) now I know it, used it and the module installs locally and passes the tests.
21:21 perlpilot joined #perl6
21:22 skids .oO(the easiest way to get an answer out of the Internet is to "be wrong on the Internet" :-)
21:25 brrt joined #perl6
21:31 RabidGravy stmuk, you'll be pleased I started a gdbm module - may finish it tomorrow
21:31 stmuk cool .. I had a look at the API but it was too C like for my poor braine
21:32 stmuk but when it's finished I can add its usage as an example for the p6 cookbook
21:32 stmuk ++RabidGravy
21:33 rindolf _nadim: some tests still fail with commit 9d6986a4585ba6169a0100b8483f0b6c30b53418
21:33 RabidGravy It'll just be a hash with a funny constructor :)
21:34 lizmat RabidGravy: have you considered a parameterized role type thingy?
21:34 _nadim rindolf: can you please report them?
21:34 rurban joined #perl6
21:34 lizmat my %h = Hash[:gdbm<file>].new ?
21:35 pierre-vigier joined #perl6
21:35 rindolf _nadim: yes.
21:35 _nadim thanks.  Work Here (tm) of course ;)
21:35 [Sno] joined #perl6
21:37 RabidGravy lizmat, hmm that would be cool, let me get the basic thing working first
21:38 rindolf _nadim: I commented on the bug.
21:38 rindolf _nadim: what is your system?
21:39 vendethiel m: my $a = 'hey'; Hash[$a].new.perl.say
21:39 camelia rakudo-moar 3b3e42: OUTPUT«Parameter 't' requires a type object of type Str, but an object instance was passed.  Did you forget a 'multi'?␤  in block <unit> at /tmp/73wbdnroji:1␤␤»
21:40 vendethiel m: my $a = 'hey'; Hash[$a eq 'hey' ?? Str !! !!!].new.perl.say
21:40 camelia rakudo-moar 3b3e42: OUTPUT«(my Str % = )␤»
21:40 vendethiel uh-oh.
21:40 _nadim rindolf: I run suse
21:41 AlexDaniel m: my Rat $x = Inf
21:41 camelia rakudo-moar 3b3e42: OUTPUT«===SORRY!===␤Cannot find method 'value'␤»
21:41 perlpilot I think something like my %h is gdbm<file.db>;  # would read a little better.
21:42 _nadim rindolf: that looks more workable. can you: panda install Text::Table:Simple? I'll look at the other failures
21:43 rurban left #perl6
21:43 rindolf _nadim: OK.
21:43 RabidGravy perlpilot, that would be by the way of an after market modification
21:44 RabidGravy :)
21:44 perlpilot RabidGravy, once you get the NativeCall bit done, the rest should be easy  ;)
21:45 RabidGravy precisely
21:46 dalek rakudo/nom: b791a85 | lizmat++ | src/core/Temporal.pm:
21:46 dalek rakudo/nom: Simplify Dateish.formatter handling
21:46 dalek rakudo/nom:
21:46 dalek rakudo/nom: - there is no default value for the formatter anymore
21:46 dalek rakudo/nom:   so we don't need to pass the Callable around anymore
21:46 dalek rakudo/nom: - the default-formatter sub is now a private method
21:46 dalek rakudo/nom:   so we can directly access the attributes, instead of method calling
21:46 dalek rakudo/nom: - DateTime.Str now calls this private method if there is no formatter
21:46 dalek rakudo/nom: - streamlined .perl using zefram++ insights
21:46 dalek rakudo/nom: - added comment as to why there is an .IO method (collatoral fixage)
21:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b791a8531e
21:47 Skarsnik oh sound nice
21:47 lizmat I'm sure this has some performance effects somewhere...
21:47 dalek rakudo/platform_library_name: cdd7ae6 | (Stefan Seifert)++ | / (3 files):
21:47 dalek rakudo/platform_library_name: New method $*VM.platform-libary-name
21:47 dalek rakudo/platform_library_name:
21:47 dalek rakudo/platform_library_name: Turns "foo" into "libfoo.so" on Linux/MoarVM, "foo.dylib" on OS X/JVM, and so
21:47 dalek rakudo/platform_library_name: forth. Takes optional version information and uses it if the platform requires
21:47 dalek rakudo/platform_library_name: it.
21:47 dalek rakudo/platform_library_name: review: https://github.com/rakudo/rakudo/commit/cdd7ae6a68
21:48 nine lizmat, FROGGS: thoughts about ^^^?
21:48 nine RabidGravy: ^^^
21:48 nine Skarsnik: ^^^^
21:49 lizmat nine: is this still just about extension, of does this go further ?
21:49 dalek doc/phasers: 081331e | (Brock Wilcox)++ | doc/Language/phasers.pod:
21:49 dalek doc/phasers: Initial phaser doc, from S04
21:49 dalek doc/phasers: review: https://github.com/perl6/doc/commit/081331ea77
21:49 hoelzro nine++
21:49 hoelzro I'm so glad you cleaned that up
21:50 lizmat nine: does this also handle the situation where libs need to be installed in certain dirs on certain systems ?
21:50 labster joined #perl6
21:50 RabidGravy nine++ # could do with a whole usage thing though
21:50 FROGGS nine: you've changed the meaning
21:51 lizmat nine++  # never mind the certain dirs question
21:51 Skarsnik nc #180 is probably a bad way to see if extension is here, but not sure x)
21:52 nine FROGGS: how?
21:52 FROGGS nine: you are now doing sprintf using moars lib pattern, where the old code did not. I think this will result in libnames like 'liblibfoo'
21:52 RabidGravy I was just going to ask that
21:53 nine FROGGS: I know :/ OTOH this way you can do is native("perl") without having to differentiate between platforms that name it libperl.so or perl.dll
21:53 RabidGravy tbh, I can edit hoever many native modules I have
21:54 FROGGS nine: that is still a) a change, and b) inconsistent to what on jvm happens
21:54 RabidGravy but does it require that a "helper" dll is named with lib then?
21:55 Skarsnik yes that too
21:55 RabidGravy (I have two like that released)
21:55 FROGGS RabidGravy: yes, the current code would expect it to be called libhelper.so on linux
21:55 nine FROGGS: I'd actually rather change the JVM backend or add the logic to platform-library-name. Because otherwise every NativeCall wrapper for some library needs to handle platform specific naming which is exactly what platform-library-name is trying to solve.
21:55 RabidGravy I appear to have missed something
21:56 RabidGravy so my "utmphelper.so"  won't work even if I use a full path
21:56 FROGGS nine: what if we just strip a duplicate 'lib' prefix if it is there?
21:57 nine RabidGravy: yes, to be consistent with all other libraries on the system (which should be a good thing)
21:57 dalek rakudo-star-daily: 9ef9073 | coke++ | log/ (8 files):
21:57 dalek rakudo-star-daily: today (automated commit)
21:57 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/9ef9073c01
21:57 lizmat nine: please add the JVM logic to platform-library-name
21:57 Skarsnik nine, well... if you want to have fun. libgtk2 is libxwindowgtk2.so (something like that)
21:57 * perlpilot just read perl6-weekly and found out about the CLOSE phaser (something I wanted just the other day)
21:57 lizmat nine: there's plenty of it in there already
21:57 [Coke] http://www.infoworld.com/article/3017​418/application-development/developer​s-can-unwrap-perl-6-on-christmas.html
21:57 timotimo i really don't want to give up the optimization for METAOP_ASSIGN in the optimizer ;_;
21:58 pierre-vigier joined #perl6
21:58 RabidGravy nine, I'm cool with that
21:58 nine FROGGS: if there's a duplicate "lib" then the user specified "libmysql" instead of the more platform independent "mysql". Shouldn't we rather educate users about that?
21:58 Skarsnik I think I saw some liblibstuff
21:59 RabidGravy it's only some transitional period anyway
22:00 FROGGS nine: sure, then let's add the lib prefix for jvm too
22:00 Skarsnik I am also for removing the argument to is native arg trait and have a register-new-lib("libplop", 1)
22:00 RabidGravy ?
22:01 nine Do we really have no .is-posix?
22:01 FROGGS nine: here you could look for platforms/compiler and lib patterns: https://github.com/MoarVM/MoarVM​/blob/master/build/setup.pm#L138
22:02 Skarsnik RabidGravy, you actually can write sub foo is native(Str) in case you make a call that previously loaded the right file with this symbol on it
22:02 Skarsnik And (I did not check) I think NC try to dlopen for each routine marked is native
22:03 RabidGravy Oh I see
22:03 dalek doc/phasers: 8a4831a | (Brock Wilcox)++ | doc/Language/phasers.pod:
22:03 dalek doc/phasers: Start shuffling things into sections
22:03 dalek doc/phasers: review: https://github.com/perl6/doc/commit/8a4831a538
22:03 Skarsnik so having something that say 'I need nc to load this file' once should be enought x)
22:05 nine lizmat: $*DISTRO.name gives "Mac OS X" on OS X, doesn't it?
22:05 stmuk macosx
22:06 nine FROGGS: That is the file that prompted me to ask for is-posix :)
22:06 FROGGS :o)
22:06 lizmat $ 6 'say $*DISTRO.name'
22:06 lizmat macosx
22:06 lizmat ah, stmuk  beat me to it
22:06 lizmat stmuk++
22:07 rindolf Hi all. panda install gives me this - http://paste.debian.net/354698/ - why, and how can it be fixed?
22:09 dalek rakudo/nom: 48e3958 | lizmat++ | src/core/Temporal.pm:
22:09 dalek rakudo/nom: Dateish.daycount-from-ymd/ymd-from-daycount private
22:09 dalek rakudo/nom:
22:09 dalek rakudo/nom: There were no tests for it, and no documentation.  Better to keep things
22:09 dalek rakudo/nom: private in light of 6.c
22:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48e3958c4b
22:10 moritz rindolf: the usual advice is to nuke the installation directory (plus $HOME/.perl6), recompile a new rakudo from scratch, and cross your fingers
22:10 moritz (and bootstrap rakudo, of course
22:10 rindolf moritz: wow! That sucks.
22:10 moritz rindolf: agreed
22:11 rindolf _nadim: sorry!
22:11 nine Then maybe we should try to debug this issue for a change...
22:13 nine rindolf: what rakudo version were you using when you last bootstrapped panda?
22:14 rindolf nine: latest from an hour ago or so.
22:14 _nadim rindolf: no problem, you have helped a lot already. But I'd do what was told, nuke it, clone rakudo and install from there, that's what I did
22:14 nine rindolf: and you bootstrapped panda and when using panda this error occurs?
22:14 dalek doc: 876ac46 | (Steve Mynott)++ | / (2 files):
22:14 dalek doc: Some quick fixes to get basic p6doc usage working post-curli.
22:14 dalek doc:
22:14 dalek doc: Needs more attention since -f index etc. doesn't work.
22:14 dalek doc: review: https://github.com/perl6/doc/commit/876ac46b55
22:15 Skarsnik lizmat, you can probably remove the subseconds parameter in the default formatter and put the $second == $second.floor instead since sub second are in the ISO
22:15 dalek rakudo/platform_library_name: 212e857 | (Stefan Seifert)++ | / (3 files):
22:15 dalek rakudo/platform_library_name: New method $*VM.platform-libary-name
22:15 dalek rakudo/platform_library_name:
22:15 dalek rakudo/platform_library_name: Turns "foo" into "libfoo.so" on Linux/MoarVM, "foo.dylib" on OS X/JVM, and so
22:15 dalek rakudo/platform_library_name: forth. Takes optional version information and uses it if the platform requires
22:15 dalek rakudo/platform_library_name: it.
22:15 dalek rakudo/platform_library_name: review: https://github.com/rakudo/rakudo/commit/212e857d52
22:15 nine Now with JVM and OS X goodness ^^^
22:15 RabidGravy nine++
22:16 _nadim nine: rindolf and flussence had the same error on their box testing my module, somehting that makes no sense to me
22:17 _nadim What would the exception "Method 'has-accessor' not found for invocant of class 'Attribute' mean when Attribute has such a method listed in the docs?
22:17 FROGGS nine: darwin (osx) also has a lib prefix: https://github.com/MoarVM/MoarVM​/blob/master/build/setup.pm#L494
22:17 rindolf nine: yes, I did  - i'm usiing rakudobrew.
22:17 Skarsnik has-accessor is still on the doc?
22:18 _nadim Yes
22:18 _nadim and I hope it will stay
22:18 Skarsnik I though someone removed it, or was it on another class?
22:18 Skarsnik all the MOP should be _
22:18 _nadim well I hope it is not removed!
22:18 FROGGS _nadim: it is called has_accessor
22:19 stmuk can_haz-accessor?
22:19 _nadim it's the error message, I didn't change it
22:20 _nadim hmm, which means that I need to update my rakudo
22:20 nine @all: many thanks for all the input! Very much appreciated
22:20 _nadim because it works fine here
22:20 dalek rakudo/nom: e45c773 | kyle++ | t/harness:
22:20 dalek rakudo/nom: typo
22:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e45c773257
22:21 Skarsnik nine, maybe you should remove (or edit for other plateform) t/04-nc/17 x)
22:21 _nadim because it works fine herefr
22:21 _nadim FROGGS: did it change name this last week or so?
22:21 RabidGravy about a week ago
22:22 Skarsnik yes something like that
22:22 _nadim Docs is not updated BTW
22:22 RabidGravy broke JSON::Unmarshal
22:22 lizmat Skarsnik: ok,will check for spectest fallout
22:23 _nadim RabidGravy: just curious, how did the name of a method in Attribute break another class?
22:23 RabidGravy er sorry?
22:23 nine Skarsnik: those tests already uncovered a bug! I will edit them
22:24 smls joined #perl6
22:25 nine rindolf: can you upload your install/share/perl6 somewhere for me? Might give me a clue
22:25 rindolf nine: OK , let me see.
22:25 RabidGravy _nadim, because JSON::Marshal used thae method
22:25 RabidGravy https://github.com/jonathanstowe/JSON-Marshal/c​ommit/bb6dcea9a5854a6a5480f2c87a2cd00e5586e26a
22:27 RabidGravy it needs it to determine whether it's public
22:27 lizmat m: say DateTime.Str   # will soon be fixed
22:27 camelia rakudo-moar b791a8: OUTPUT«Cannot look up attributes in a type object␤  in block <unit> at /tmp/Ac_VrxC1eI:1␤␤»
22:28 rindolf nine: there you go - http://www.shlomifish.org/Files/fil​es/arcs/install-share-perl6.tar.xz
22:28 _nadim hrmm, git etch and my prompt isplays a nice -627, 627 commits! yes I need an update
22:28 RabidGravy oops
22:29 stmuk Pod::To::HTML /  t/05-zero-width-index.t fails for me
22:29 stmuk maybe I can look tomorrow
22:29 rindolf nine: and I'm going to sleep - it's 00:29 here.
22:29 rindolf Happy holidays, everyone.
22:29 dalek rakudo/nom: ddb8e52 | (Stefan Seifert)++ | / (4 files):
22:29 dalek rakudo/nom: New method $*VM.platform-libary-name
22:29 dalek rakudo/nom:
22:29 dalek rakudo/nom: Turns "foo" into "libfoo.so" on Linux/MoarVM, "foo.dylib" on OS X/JVM, and so
22:29 dalek rakudo/nom: forth. Takes optional version information and uses it if the platform requires
22:29 RabidGravy harr
22:29 dalek rakudo/nom: it.
22:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ddb8e523cf
22:29 RabidGravy nine++
22:30 lizmat nine++
22:30 smls TimToady: Another "Useless use":
22:30 smls 6 'my $debug;  my $debugout = open("debug.log", :a);  say $debugout: 42 if $debug'
22:30 smls WARNINGS for -e:
22:30 smls Useless use of $debugout in sink context (line 1)
22:30 dalek rakudo/nom: 0d5372f | FROGGS++ | src/Perl6/Actions.nqp:
22:30 dalek rakudo/nom: correctly fix digit+dot+colonpair, RT #126959
22:30 dalek rakudo/nom:
22:30 dalek rakudo/nom: The code that turns pairs into named args of an arglist threw an error
22:30 dalek rakudo/nom: before, swallowing the complaint about the syntax error.
22:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0d5372fe43
22:30 TimToady huh
22:30 RabidGravy another day of fixing modules in my future then
22:31 Skarsnik nine, does it keep libfoo working?
22:31 dalek roast: 94ee230 | FROGGS++ | S02-lexical-conventions/minimal-whitespace.t:
22:31 dalek roast: add tests for RT #126959
22:31 dalek roast: review: https://github.com/perl6/roast/commit/94ee230558
22:31 RabidGravy nine, how does this all play with %?RESOURCESnow?
22:31 Skarsnik I mean it does not do liblibfoo x)
22:32 TimToady m: say 42: if 1
22:32 camelia rakudo-moar e45c77: OUTPUT«WARNINGS for /tmp/9GJUNw1Brs:␤Useless use of constant integer 42 in sink context (line 1)␤42␤»
22:32 TimToady shorter
22:32 nine Skarsnik: no, though there's still the heuristic looking for '.so'
22:33 nine RabidGravy: not yet. Though I will add the resources/lib convention
22:33 Skarsnik I just update my module for version and bool/size_t x)
22:34 FROGGS nine: you've seen my message about the lib prefix on OSX?
22:34 nine .tell rindolf your share/perl6 really doesn't contain anything but panda's modules and the CORE dist. And lots of pre-curli files. I really wonder where panda installed Shell::Command to
22:34 yoleaux nine: I'll pass your message to rindolf.
22:34 nine FROGGS: yes, I changed VM.pm line 65 accordingly
22:35 FROGGS awesome
22:35 nine FROGGS: many thanks for pointing out those things!
22:35 RabidGravy I'll take a look in the morning
22:36 nine I really have to get into bed now. Good * all!
22:36 Skarsnik RabidGravy, if you have module that does not use a libpath you should already get a warning from nc x)
22:36 FROGGS gnight nine++
22:36 kjs_ joined #perl6
22:36 RabidGravy toodlepip
22:37 FROGGS doing the same now... gnight #perl6
22:37 Skarsnik good night
22:37 lizmat gnight nine!
22:37 lizmat gnight FROGGS!
22:38 RabidGravy Skarsnik, with 29 modules it's like painting the Forth bridge checking and fixing them at themoment :)
22:38 dalek rakudo/nom: e86ab8c | lizmat++ | src/core/Temporal.pm:
22:38 dalek rakudo/nom: No need for :subseconds anymore, Skarsnik++
22:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e86ab8c9e3
22:39 _nadim hmm, so I  rebuild rakudo, config, make, make install. perl6 -V shows me a perl6 build on the latest commit. What I find very surprising is that running the tests still pass while I have has-accessor, rather than has_accessor, in my code. Is there something to flush away?
22:40 RabidGravy no it's in the setting
22:40 RabidGravy weird
22:40 _nadim It's not often i want my code to ail, but right now I do
22:40 lizmat is this about Attribute.has_accessor ?
22:40 _nadim I did install the module with panda
22:41 RabidGravy is it actually hitting that in your tests?  It won't be a compile time error
22:41 _nadim lizmat: I have has-accessor in my code. worked fine because I have an older rakudo. I just updated it, still works
22:43 _nadim RabidGravy: yes, all tests still pass, I'll check again that I say the rigt version displayed by -V
22:45 _nadim My bad, it's getting late
22:46 _nadim I fetched but didn't merge, og course my perl is going to give me the same commit since I rebuild the same perl6! Bahh
22:50 dalek rakudo/nom: f0c5469 | TimToady++ | src/Perl6/Actions.nqp:
22:50 dalek rakudo/nom: want colon invocant, smls++
22:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f0c5469819
22:53 _nadim When one installs a new version of rakudo, all the modules have to be re-installed?
22:53 RabidGravy "it depends"
22:53 Skarsnik with precompil stuff I am not sure x)
22:53 timotimo at the moment we install the sources
22:54 timotimo when you have a newer version of rakudo, the precompilation files will all become stale
22:54 _nadim I just got the same message as rindolf, can't find Shell::Command
22:54 timotimo so when you execute stuff, it'll re-build stuff for you
22:54 timotimo oh, hmm.
22:54 timotimo maybe it's looking in a different folder now. like ~/.perl6/2015.11-321413134-gfuairen/
22:55 _nadim is there a way to clean up everything and rebuild? I'll reinstall the 3 module si have installed, that's OK
22:56 _nadim or any other way to revive it, right now I have a piece of dead wood
22:56 mscha joined #perl6
22:57 lizmat rm -rf install
22:57 mscha p6: say Ⅵ + Ⅳ;
22:57 camelia rakudo-moar e86ab8: OUTPUT«10␤»
22:59 mscha p6: say ⅯⅯⅩⅤ + Ⅰ;
22:59 camelia rakudo-moar e86ab8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Bogus postfix␤at /tmp/tmpfile:1␤------> 3say Ⅿ7⏏5ⅯⅩⅤ + Ⅰ;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statem…»
23:00 telex joined #perl6
23:00 _nadim lizmat: thanks, I'll get a new panda too, sounds almost cute
23:00 lizmat hehe...  it helped me a lot of times
23:02 lichtkind hej liz
23:03 masak ok, 23rd advent blog post draft: https://gist.github.com/masak/c6be8893838868f47ae8 (limited time only)
23:03 * geekosaur needs to nuke his local rakudobrew and start over... it's from before curli landed
23:03 mscha say ¼ × 8;
23:03 mscha p6: say ¼ × 8;
23:03 camelia rakudo-moar e86ab8: OUTPUT«2␤»
23:04 lichtkind nine FROGGS he article about perl 6 is don and proofread twice anyone want to chekc for technical mistakes?
23:05 mscha p6: 2¹⁰
23:05 camelia rakudo-moar e86ab8: ( no output )
23:05 mscha p6: say 2¹⁰
23:05 camelia rakudo-moar e86ab8: OUTPUT«1024␤»
23:06 mscha p6: say √5;
23:06 camelia rakudo-moar e86ab8: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/tmpfile:1␤------> 3say7⏏5 √5;␤Bogus postfix␤at /tmp/tmpfile:1␤------> 3say 7⏏5√5;␤    expecting any of:␤        infix␤        infix stopper␤        postf…»
23:07 masak mscha: need to define a prefix:<√>
23:07 masak m: sub prefix:<√>($n) { sqrt $n }; say √5
23:07 camelia rakudo-moar e86ab8: OUTPUT«2.23606797749979␤»
23:08 adu joined #perl6
23:09 timotimo masak: "mess upp"? :)
23:10 cpage_ joined #perl6
23:10 mscha p6: say “I love that “I love that “I love that “this” works!” works!” works!”
23:10 camelia rakudo-moar e86ab8: OUTPUT«I love that “I love that “I love that “this” works!” works!” works!␤»
23:11 masak timotimo: fix'd, thanks
23:11 timotimo mscha: and now build something terribly confusing with these :D
23:12 timotimo masak: "There are combinations of horrors that can be imagined." sounds kind of weird on its own
23:14 timotimo other than that, good post!
23:16 masak thanks. fixing that sentence too
23:17 diakopter so many ponies
23:17 RabidGravy mmm ponies
23:18 diakopter you could linkify modules.perl6.org
23:18 diakopter oh wait that's jdv's
23:19 _nadim thank you all for the help, now everything is, hapilly, broken.
23:19 smls TimToady: I get  "[DISLOCATED MESSAGE] Useless use of &infix:<=> in sink context"  for a Perl 6 script that's 640 lines long. Any idea what I should look for to golf it?
23:19 kjs_ left #perl6
23:20 timotimo _nadim: :(
23:20 timotimo smls: perhaps the --target=ast will give you a little hint?
23:20 smls I'll try
23:20 timotimo in there you can just grep out all mentions of &infix:<=> and see if the "annotations" show you anything
23:20 timotimo then we can find what piece of the grammar&actions was responsible
23:21 masak ok, advent post scheduled
23:21 masak in 38 minutes :)
23:21 masak going to bed now
23:21 masak 'night, #perl6
23:22 RabidGravy toodles
23:22 timotimo neato
23:22 timotimo good night masak
23:23 lizmat gnight masak
23:23 smls timotimo: It only spits out one line with "&infix:<=>":
23:23 smls - QAST::Var(lexical &infix:<=>) :BY<&defoid W W u u U u U u U u U u> :context<sink>
23:24 timotimo ah
23:24 timotimo can you give me the context of that?
23:24 timotimo if it's not the first child of a call, that'd be weird. maybe it's also weird to have sink context in there
23:24 smls wait i think i see which sub this is in
23:26 smls timotimo: Alright, the offending line in the source has the form:   %hash{.foo}{.bar} »=» 1 for @list;
23:27 smls will try to reproduce it as a one-liner
23:27 smls Thanks for that --target=ast advice :)
23:30 smls ...got it. TimToady:
23:30 smls m: my @a;  @a »=» 1 for 1;
23:30 camelia rakudo-moar f0c546: OUTPUT«[DISLOCATED MESSAGE] Useless use of &infix:<=> in sink context␤»
23:30 [Sno] joined #perl6
23:31 * [Coke] yawns
23:33 timotimo right. so that's about hyper metaops not wanting their operator
23:39 rurban joined #perl6
23:40 rurban joined #perl6
23:41 [Coke] m: say -Inf^..^Inf
23:41 camelia rakudo-moar f0c546: OUTPUT«-Inf^..^Inf␤»
23:41 [Coke] m: say (-Inf^..^Inf).min
23:41 camelia rakudo-moar f0c546: OUTPUT«-Inf␤»
23:41 [Coke] m: say (-Inf^..^Inf).minmax
23:42 camelia rakudo-moar f0c546: OUTPUT«(timeout)»
23:42 [Coke] ... does Range need its own minmax?
23:43 [Coke] do we need to resolve RT #126990 before christmas? Looks like it would be an easy fix if we went with option #3.
23:43 lizmat [Coke]: it can't, really
23:52 lizmat [Coke]: especially with non-integers numeric and excludes-min/max in play
23:52 lizmat .minmax probably shouldn't hang, though
23:58 rvchangue joined #perl6
23:58 geraud m: say 一+八;
23:58 camelia rakudo-moar f0c546: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1DzzHkMquh␤Undeclared routines:␤    一 used at line 1␤    八 used at line 1␤␤»
23:59 dalek rakudo/nom: d01eb83 | lizmat++ | src/core/Range.pm:
23:59 dalek rakudo/nom: Streamline Range.ACCEPTS + .in-range method
23:59 dalek rakudo/nom:
23:59 dalek rakudo/nom: - add Cool candidate that fastpaths Ints
23:59 dalek rakudo/nom: - add in-range method: return True if in range, or X::OutOfRange fail
23:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d01eb83944
23:59 dalek rakudo/nom: b69aa55 | lizmat++ | src/core/Int.pm:
23:59 dalek rakudo/nom: Fix for #126990 option #3, ^-Inf..^Inf
23:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b69aa55c5c

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

Perl 6 | Reference Documentation | Rakudo