»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:01 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 00:26 girafe left
notviki is amused by the two Perl 4 posts on r/perl 00:26
Yes, 4
b2gills To be fair, I have seen a lot of people write code that looks like Perl 4 on Stackoverflow 00:32
sammers hello #perl6 00:37
notviki \o
00:46 newbie1 left 00:56 Actualeyes joined 00:57 kurahaupo__ joined
sammers anyone have a good .vimrc for p6 that I can take a look at? 00:58
01:02 sufrostico joined
gfldex samcv: bigpage ends up at docs.perl6.org/perl6.xhtml and it's intended use is full text search and other QA stuff on the resulting html, printing is just a side effect 01:07
01:09 espadrine left 01:10 kent\n left
gfldex samcv: if you want to print it with a reasonable font size, bring 500 sheets of paper :) 01:10
01:12 olinkl left, romrador left, erdic left, webstrand left, ShoaibJahejo left, kshannon_ left, ambs left, spider-mario left, SHODAN left, Possum left, rightfold left, cosimo_ left, adrusi left, mithaldu_ left, TeamBlast left, BinGOs left, mindos left, amalia__ left, notbenh_ left, BinGOs_ joined
notviki weeeeeeeeeeee 01:12
01:12 kshannon joined, yubimusubi joined, SHODAN joined, rodarmor joined, adrusi joined, webstrand joined, cosimo joined, erdic_ joined 01:13 ShoaibJahejo joined, kent\n joined, ambs joined, erdic_ is now known as erdic, spider-mario joined, TeamBlast joined 01:15 amalia__ joined, aborazmeh joined, aborazmeh left, aborazmeh joined 01:16 bpmedley joined 01:17 mindos joined 01:18 geraud left, rightfold joined, mithaldu_ joined 01:21 olinkl joined 01:23 sufrostico left, tbrowder left, ilmari left, xiaomiao left, avalenn left, obra left, jantore left, Woodi left, UgJkA left, Charlie left, jkva left, [particle] left, sunnavy left, roguelazer left, JimmyZ left, Woodi joined, jantore joined, sunnavy joined, xiaomiao joined, ilmari joined, JimmyZ joined, [particle] joined 01:24 obra joined, avalenn joined 01:25 roguelazer joined, Charlie joined, BinGOs_ is now known as BinGOs 01:26 BinGOs left, BinGOs joined, sufrostico joined, aborazmeh left 01:27 ugjka joined 01:28 Peter_R joined, jkva joined, tbrowder joined 01:33 notbenh_ joined, Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 01:54 mulk[m] joined 02:00 sufrostico left 02:13 azertus joined 02:18 geraud joined 02:22 stux|RC joined 02:30 kalkin- joined 02:34 kalkin-_ left
timotimo re-ran the travis hook for json_fast and it succeeded this time, yay 02:35
02:40 dalek left 02:42 kipd left, jnap_ left 02:43 mephinet left 02:44 jnap_ joined 02:45 mulk[m] left, JimmyZ left, solarbunny left, solarbunny joined, dalek joined, ChanServ sets mode: +v dalek, JimmyZ joined 02:46 ilbot3 left, mulk[m] joined 02:47 wictory[m] joined 02:48 stux|RC-only left, tadzik joined, mephinet joined 02:50 ilbot3 joined, kipd joined 02:51 jraglin left 02:54 sftp left, tbrowder left, tbrowder joined 02:55 kaare_ left
AlexDaniel m: use nqp; my @a = 25, 50, 60; say nqp::atpos_i(@a, 2) 02:57
camelia rakudo-moar fbbe44: OUTPUT«This type (Array) does not support positional operations␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel can't do that, right?
timotimo yeah, you need to get at its $!storage 02:58
or $!reified
03:04 sftp joined
SmokeMachine m: sub bla(--> Seq[Capture]) {gather {take \(42)}}; bla # how can I set the return? 03:07
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤An exception occurred while parameterizing Seq␤at <tmp>:1␤Exception details:␤ 5===SORRY!5=== Error while compiling <tmp>␤ Seq cannot be parameterized␤ at <tmp>:1␤ ------> 3sub bla(--> Se…»
03:08 M-Illandan joined
SmokeMachine m: sub bla(--> Positional[Capture]) {gather {take \(42)}}; bla # how can I set the return? 03:08
camelia rakudo-moar fbbe44: OUTPUT«Type check failed for return value; expected Positional[Capture] but got Seq ((\(42),).Seq)␤ in sub bla at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel SmokeMachine: what is the problem you are trying to solve?
SmokeMachine AlexDaniel: I want to say that my function returns a Seq with Captures... 03:09
AlexDaniel: I just want to make my pod looks good... 03:10
timotimo i don't think we have anything that'd let you express that properly (i.e .in a way that'll also be checked)
SmokeMachine AlexDaniel www.irccloud.com/pastebin/KFHSavJL/ 03:11
once on docs you guys changed the "returns" to "-->" wouldn't be a good idea change that to on pods? 03:12
AlexDaniel well, if it says that Seq cannot be parameterized, then I guess it is so :(
SmokeMachine and Seq isn't a Positional too, write?
right? (sorry)
AlexDaniel m: sub bla(--> Iterable[Capture]) {gather {take \(42)}}; say bla 03:13
camelia rakudo-moar fbbe44: OUTPUT«Type check failed for return value; expected Iterable[Capture] but got Seq ((\(42),).Seq)␤ in sub bla at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
SmokeMachine m: sub bla(--> Iterable[Capture]) {gather {take \(42)}}; bla # how can I set the return? 03:15
camelia rakudo-moar fbbe44: OUTPUT«Type check failed for return value; expected Iterable[Capture] but got Seq ((\(42),).Seq)␤ in sub bla at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel this stupid error message again
m: sub bla(--> Int + 1) { 42 }; say bla
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Type 'Int' is not declared. Did you mean 'int'?␤at <tmp>:1␤------> 3sub bla(--> Int7⏏5 + 1) { 42 }; say bla␤»
03:16 rpburkholder left
SmokeMachine Type check failed for return value; expected Iterable[Capture] but got Seq ((\(42), \(42), \(42),...) :( :( 03:16
m: say gather {take \(42)} ~~ Iterable 03:17
camelia rakudo-moar fbbe44: OUTPUT«True␤»
SmokeMachine m: say gather {take \(42)} ~~ Iterable[Capture]
camelia rakudo-moar fbbe44: OUTPUT«False␤» 03:18
SmokeMachine why?!
03:18 TEttinger joined
SmokeMachine m: \(42) ~~ Capture 03:18
camelia ( no output )
SmokeMachine m: say \(42) ~~ Capture
camelia rakudo-moar fbbe44: OUTPUT«True␤»
SmokeMachine m: sub bla(--> Iterable) {gather {take \(42)}}; bla # better than Mu...
camelia ( no output ) 03:19
notviki SmokeMachine: because it's not parametarized but just a normal seq with a capture in it
SmokeMachine notviki: any way to make that work?
notviki Don't parametarize it?
SmokeMachine notviki: yes...I think thats the way... 03:20
notviki m: say Array[Capture](gather {take \(42)}) ~~ Positional[Capture] 03:21
camelia rakudo-moar fbbe44: OUTPUT«True␤»
SmokeMachine m: sub bla(--> Int where * %% 2) {2}; bla
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Type 'Int' is not declared. Did you mean 'int'?␤at <tmp>:1␤------> 3sub bla(--> Int7⏏5 where * %% 2) {2}; bla␤»
notviki m: subset Even of Int where * %% 2; m: sub bla(--> Even) {2}; bla 03:22
camelia ( no output )
SmokeMachine m: sub bla(--> Iterable where {.all ~~ Capture}) {gather {take \(42)}}; bla 03:23
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Type 'Iterable' is not declared␤at <tmp>:1␤------> 3sub bla(--> Iterable7⏏5 where {.all ~~ Capture}) {gather {take ␤»
SmokeMachine m: subtype Iterable-of-Captures of Iterable where {.all ~~ Capture}; sub bla(--> Iterable-of-Captures) {gather {take \(42)}}; bla 03:24
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3subtype Iterable-of-Captures of Iterable7⏏5 where {.all ~~ Capture}; sub bla(--> It␤ expecting any of:␤ infix␤ infix stopper␤ …»
SmokeMachine m: subset Iterable-of-Captures of Iterable where {.all ~~ Capture}; sub bla(--> Iterable-of-Captures) {gather {take \(42)}}; bla
camelia ( no output )
SmokeMachine i think that works!
m: subset Iterable-of-Captures of Iterable where {.all ~~ Capture}; sub bla(--> Iterable-of-Captures) {gather {take \(42)}}; say bla 03:25
camelia rakudo-moar fbbe44: OUTPUT«This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤ in block <unit> at <tmp> line 1␤␤»
SmokeMachine or not... :(
m: subset Iterable-of-Captures of Iterable where {.cache.all ~~ Capture}; sub bla(--> Iterable-of-Captures) {gather {take \(42)}}; say bla
camelia rakudo-moar fbbe44: OUTPUT«(\(42))␤»
notviki
.oO( over-engineering... )
[Coke] m: use Test; EVAL "{5+5}.say"
camelia rakudo-moar fbbe44: OUTPUT«10␤»
SmokeMachine it won't work on my case... my seq is infinite... :( 03:26
notviki Test.pm6 turns on monkey eval seeing
Geth c: 31a8cc0462 | (Daniel Mita)++ | doc/Type/Cool.pod6
More info on allowing EVAL
c: 524b4588b6 | (Will Coleda)++ | doc/Type/Cool.pod6
Merge pull request #1051 from mienaikage/EVAL-error-override

More info on allowing EVAL
TEttinger what, we have another bot as a mass effect reference now? 03:27
committable6 TEttinger, ¦«we»: Cannot find this revision (did you mean “ZA”?)
evalable6 TEttinger, Full output: gist.github.com/f10523650b86b38b3e...543b164c83
TEttinger, rakudo-moar fbbe446: OUTPUT«(exit code 1) 04===SORRY!04=== Error while compiling /tmp/XBVrfosw65␤Bogus postf…»
bisectable6 TEttinger, On both starting points (old=2015.12 new=fbbe446) the exit code is 1 and the output is identical as well
TEttinger, gist.github.com/b9117acfcbaef2d65b...d73fd78150
TEttinger ha
notviki heh
Geth c: dacc5927b2 | (Will "Coke" Coleda)++ | README.md
remove trailing whitespace
c: da44af48cd | (Will "Coke" Coleda)++ | 2 files
fix spelling errors
TEttinger what, u, hey 03:28
committable6 TEttinger, ¦«u,»: Cannot find this revision (did you mean “ZA”?)
evalable6 TEttinger, rakudo-moar fbbe446: OUTPUT«(exit code 1) 04===SORRY!04=== Error while compiling /tmp/qPWaRWX2o_␤Undeclared routines:␤ hey used at line 1␤ u used at line 1␤»
bisectable6 TEttinger, On both starting points (old=2015.12 new=fbbe446) the exit code is 1 and the output is identical as well
TEttinger, Output on both points: 04===SORRY!04=== Error while compiling /tmp/IBuHdxg0x9␤Undeclared routines:␤ hey used at line 1␤ u used at line 1␤
TEttinger aw, wanted to get the unicode bot in there
notviki ?
TEttinger u: hey
unicodable6 TEttinger, U+25C9 FISHEYE [So] (◉)
notviki We have two unicode bots in here...
unicodable6 TEttinger, U+1045E SHAVIAN LETTER THEY [Lo] (𐑞)
TEttinger, gist.github.com/389de4f703d75c0fb4...a46ae5b254
notviki u, hah 03:29
unicodable6 notviki, U+062D ARABIC LETTER HAH [Lo] (ح)
notviki, U+062E ARABIC LETTER KHAH [Lo] (خ)
notviki, gist.github.com/e84815821a51ccfbef...7acbf7350d
TEttinger hehe
AlexDaniel haha, perhaps it was a bad idea to add “what:” shortcut :D
[Coke] yoleaux: owner?
TEttinger what, me worry?
committable6 TEttinger, ¦«me»: Cannot find this revision (did you mean “ZA”?)
evalable6 TEttinger, Full output: gist.github.com/0a3a9d4d69dc7c1f0b...91f9cd88d6
TEttinger, rakudo-moar fbbe446: OUTPUT«(exit code 1) 04===SORRY!04=== Error while compiling /tmp/2QSlAQ3DaZ␤Bogus postf…»
bisectable6 TEttinger, On both starting points (old=2015.12 new=fbbe446) the exit code is 1 and the output is identical as well
TEttinger, gist.github.com/04755e2dcc5bce029a...68dc1f1e99
notviki :)
[Coke] TEttinger: hey, you're kind of spamming everyone.
TEttinger I'll stop
AlexDaniel let's see if somebody stumbles upot it again. If yes, I'll make it answer me only :| 03:30
TEttinger that seems like a good idea
AlexDaniel well another way to do it is to require : instead of a comma
TEttinger yeah 03:31
AlexDaniel m: my @a = [2, 5, 8],; my ($x, $y, $z) = @a[0]; say $y++; say @a
camelia rakudo-moar fbbe44: OUTPUT«5␤[[2 5 8]]␤»
TEttinger it's also strange that 3 bots respond to what
AlexDaniel any way to do it? := doesn't work this way
03:32 stmuk_ joined
AlexDaniel TEttinger: this command was introduced for my work on regressions 03:32
TEttinger passive regressive
seems useful for you, definitely
the name is a little odd for general sue 03:33
use
AlexDaniel TEttinger: evalable gets back with a quick answer for HEAD, then bisectable says what it thinks is the answer, and committable gives a slightly better picture
TEttinger can you demonstrate what proper use would be?
I'm guessing the part after what, is code, but is there a specific commit that it needs as well? 03:34
03:34 stmuk left
Geth c: 4466f170a6 | (Will "Coke" Coleda)++ | doc/Type/IO/Path.pod6
Remove 5-6 text that is inappropriate here.

Additionally, this was already covered in better detail in doc/Language/5to6-perlfunc.pod6
Closes #1097
03:35
AlexDaniel “what” simply takes code
what: my %h = <a 1 b 2>; enum Bits (%h); dd Bits.enums
evalable6 AlexDaniel, rakudo-moar fbbe446: OUTPUT«Map.new(())»
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=fbbe446) because on both starting points the exit code is 0
committable6 AlexDaniel, gist.github.com/e71497ede1635ea23c...7510dbf794
bisectable6 AlexDaniel, bisect log: gist.github.com/bcf283b69c05e361d0...0db54123fc
AlexDaniel, (2016-05-13) github.com/rakudo/rakudo/commit/d3...8f10839d54
TEttinger ah, that looks like a result 03:36
AlexDaniel you won't need that ever unless you do the work I do :) 03:37
TEttinger ah, makes sense to restrict it to your work then
AlexDaniel (which is going through thousands of snippets and throwing most of them into the bots, trying to figure out if there is any regression of some sort)
TEttinger or do some weird name like "whaaaa, say 42" 03:38
AlexDaniel I'll just require : I think…
anyway
m: my @a = [2, 5, 8],; my ($x, $y, $z) = @a[0]; say $y++; say @a
camelia rakudo-moar fbbe44: OUTPUT«5␤[[2 5 8]]␤»
AlexDaniel ↑ can I actually bind $x $y $z there?
notviki m: my @a = [2, 5, 8],; my ($x, $y is raw, $z) := \(|@a[0]); say $y++; say @a 03:40
camelia rakudo-moar fbbe44: OUTPUT«5␤[[2 6 8]]␤»
[Coke] is zef recommended today over panda?
notviki [Coke]: yes
[Coke]: also is being switched to in Rakudo Star
[Coke] ok.
notviki blogs.perl.org/users/steve_mynott/2...uture.html
huggable: zef star :is: blogs.perl.org/users/steve_mynott/2...uture.html
huggable notviki, Added zef star as blogs.perl.org/users/steve_mynott/2...uture.html
SmokeMachine notviki: how did that work? Didn't you bind the position 0? How was the position 1 changed? I didn't get it... 03:42
notviki :/
Geth c: 4a2ebfbfe0 | (Will "Coke" Coleda)++ | 3 files
prefer zef to panda

Closes #894
notviki Ah
SmokeMachine Hum! The whole array was on position 0! 03:43
notviki SmokeMachine: look at the array. It has just one element in it: an array of three elemenstts
SmokeMachine notviki: yes! Thanks! I got it!
timotimo TEttinger: what is the other bot that's a mass effect reference? 03:44
i must have missed that one
oh, maybe you meant "another bot, this one as a mass effect reference" 03:45
rather than "another mass-effect-referencing bot"
SmokeMachine notviki: is the \() creating a capture?
BenGoldberg m: dd \()
camelia rakudo-moar fbbe44: OUTPUT«\()␤»
BenGoldberg m: \().WHAT.say 03:46
camelia rakudo-moar fbbe44: OUTPUT«(Capture)␤»
SmokeMachine Or a sigl less?
AlexDaniel .tell MasterDuke I have optimized Sift4 a bit. It is 60% faster now! :O
yoleaux AlexDaniel: I'll pass your message to MasterDuke.
timotimo aye, \() is for capture literals 03:48
SmokeMachine: you seem to be under the impression that parameterizing something with something means that the one something must be a container with only the other somethings in it
SmokeMachine I guess that if you didn't use the \() you would Bind the scalar container...
timotimo: I was with that idea... but when notviki did show that the seq hasn't parameter I remembered that could be only a role... 03:51
Geth c: 2cbb3b6ced | (Will "Coke" Coleda)++ | doc/Language/5to6-perlvar.pod6
tag p5's special variables in search.

Closes #1009
AlexDaniel s: max, \()
SourceBaby AlexDaniel, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Num, Capture); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
AlexDaniel s: max 03:52
SourceBaby AlexDaniel, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Num); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
AlexDaniel s: &max
SourceBaby AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/fbbe...s.pm#L1935
timotimo i have a hard time understanding that sentence
AlexDaniel s: &infix:<max>
SourceBaby AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/fbbe...s.pm#L1930
SmokeMachine timotimo: I remembered that I could do some like it, that has nothing to do with types: github.com/FCO/Test-Fuzz/blob/mast...Fuzzed.pm6 03:53
timotimo: sort, my English isn't very good...
Sorry* 03:54
AlexDaniel ok I'm getting a hang of it…
timotimo don't worry, i'm sure everything's fine and in order 04:05
04:15 aborazmeh joined, aborazmeh left, aborazmeh joined
[Coke] (docs) did a git clean -xdf; then ran 'make' - the bigpage stuff says (cached) after most things. this seems bad. 04:17
04:19 hartenfels left 04:23 xtreak joined 04:27 aborazmeh left
[Coke] (docs) Writing programs document for Perl 6 ... did this step get super slow recently? 04:35
appears to be when running highlights on it.
timotimo i thought the change to using the other highlightign stuff made it much faster? 04:37
maybe it's falling back to something else? perhaps in a non-optimal way that makes it much slower?
[Coke] it's running the coffee script node highlighter. 04:41
taking up virtually no cpu or memory.
timotimo ah 04:43
well, that's ... good?
i need to go to bed, even though AGDQ is still running 04:44
04:44 MasterDukeLaptop joined
timotimo i just can't stay up long enough to watch it through to the end 04:44
i expect you'll understand
04:49 gabiruh joined 04:56 faraco joined
faraco hi, is it usually take couple of days to let your PR-ed module available to be installed using panda or zef? 04:56
notviki nope
faraco: you need to run panda/zef update
[Coke] what's the PR? 04:57
notviki (providing you see it on modules.perl6.org)
faraco oh, gonna try that notiviki
notviki faraco: it takes at most 2 hours for it to show up on modules.perl6.org and it'd be available even faster for panda update... No idea how frequent zef updates its site with data 04:58
faraco Mofixes (first module, just to test the fully working environment)
oh I see
notviki buggable: eco Mofixes
buggable notviki, Mofixes 'A collection of ready to use (whatever)fix for Perl 6': github.com/faraco/Mofixes
faraco please don't laugh at that :(
okay, thanks notviki, it's working. 05:00
05:01 kyan left
notviki sweet 05:01
timotimo we don't yet offer something like an easily installable ecosystem that people can deploy in their own home/company/university/... 05:02
notviki faraco: your mofact gives bogus answers for negative factorials. You could use UInt instead of Int in the signature
faraco oh yeah, unsigned. Didn't know that type even exist. Thanks for the recommendation.
notviki drops to bed 05:03
05:17 faraco left 05:24 aborazmeh joined, aborazmeh left, aborazmeh joined 05:27 teatime joined
teatime Hello once again, friendly Perl people. 05:27
timotimo oh, it's mister teatime!
teatime bows menacingly. 05:28
timotimo i regret i've already got to go
but please have yourself a lovely time in our comfy channel
teatime Always!
05:29 Resol joined
teatime I actually had a specific question a bit ago, but naturally it now escapes me. 05:29
05:30 aborazmeh left 05:32 faraco joined, faraco left, faraco joined
faraco hi 05:32
I tried ufo, but is says CUSTOM_LIB dynamic var not found.
just running `ufo` in my project dir.
05:33 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo ufo hasn't been necessary for a very long time and has bit-rotted as a consequence 05:33
05:33 CIAvash joined
teatime Oh, I remembered! I need a data structure that would be similar to a hashmap, except I want fast lookups by both key (to value) and value (to key). Anything built-in? If it matters, both keys and values will be strings, and as it happens, it will generally be the case that for a given value, many keys will map to it, like this: { a→B, b→B, c→B, d→B, e→C, f→C, g→C, h→D, …} 05:40
it's totally acceptable for my use to maintain two hashes (one key-to-value, and one-value-to-list-of-keys), but being rather uneducated wrt comp. sci., I figured I might be overlooking something "clever" (read: fun and new to me) 05:42
05:42 aborazmeh left
faraco timotimo: oh thanks for the information. 05:45
timotimo if you just want to use it to run tests, you can use prove to invoke perl6 -Ilib for you
05:46 Cabanossi left
timotimo installing is usually best done with "panda install ." or "zef install .", and you'll very likely have to put --force before install because of the "already installed" check 05:46
i'm going to bed now. gnite!
05:48 Cabanossi joined 06:00 shayan_ joined 06:01 shayan_ left, shayan_ joined 06:02 khw left
faraco oh thanks! 06:03
06:03 faraco left 06:05 dugword left 06:11 skids left
ugexe teatime: i use `my %value-lookup = %key-lookup.antipairs` 06:11
06:12 bjz joined, rpburkholder joined
teatime yeah I suppose I was probably over-thinking it 06:13
ugexe hmm but that wont work for multiple values 06:15
teatime I noticed :) it is a handy idiom I will [probably not remember by the next time I could use it], though :)
the two-hash solution is straightforward, though. 06:16
06:22 brillenfux joined
ugexe m: my %x = foo => "xxx", bar => "xxx", baz => "..."; say %x.categorize({ $_.value }); # this is getting closer 06:22
camelia rakudo-moar fbbe44: OUTPUT«{... => [baz => ...], xxx => [bar => xxx foo => xxx]}␤»
06:28 Resol left 06:29 bjz left 06:33 bjz joined 06:37 BenGoldberg left 06:39 MasterDukeLaptop left 06:48 xtreak left 06:51 RabidGravy joined 06:55 Tonik joined 06:57 xtreak joined 07:01 Tonik left
moritz \o 07:04
07:05 shayan_ left 07:10 kurahaupo_ joined 07:11 kurahaupo` joined 07:13 bjz left 07:14 kurahaupo` left, kurahaupo__ left, kurahaupo__ joined 07:15 kurahaupo_ left
RabidGravy right today I find out how well I can get to work without a tube service 07:16
07:17 bjz joined 07:19 kurahaupo__ left 07:23 domidumont joined 07:26 avuserow joined 07:27 domidumont left 07:28 domidumont joined
moritz y u no tube? 07:33
07:37 thayne joined 07:42 bjz left 07:49 bjz joined 07:51 CIAvash left 07:54 bwisti left 07:57 gearchef joined
AlexDaniel /o\ .min is really slow 08:03
or so it seems
when calling it with a function on a reasonably sized array 08:08
08:12 ufobat joined
teatime sigh... just spent like 20 minutes composing a long and hopefully helpful response to a semi-coherent question on Reddit, only to get instant-downvoted almost certainly by the asker. I really gotta stop redditing, it's not at all good for me. 08:13
If I limited myself to NPR and Perl-related forums, I would probably perceive humanity 100% more positively. 08:14
08:17 zakharyas joined, rpburkholder left 08:18 bjz left
AlexDaniel teatime: use reddit for funny pics only 08:19
samcv interesting there's a ㎜ unicode symbol for millimeters 08:20
u: mm
unicodable6 samcv, U+002C COMMA [Po] (,)
samcv, U+0040 COMMERCIAL AT [Po] (@)
samcv, gist.github.com/010067e7d1b36c7b95...aaa1ff22e7
AlexDaniel u: hertz
unicodable6 AlexDaniel, Found nothing!
samcv
oh nice ﹫ small commercial at :) yey 08:21
AlexDaniel u: hz
unicodable6 AlexDaniel, U+31C5 CJK STROKE HZZ [So] (㇅)
AlexDaniel, U+31C6 CJK STROKE HZG [So] (㇆)
AlexDaniel, gist.github.com/4d4c23ebafac8cb9d4...afe54438bb
samcv for times you need an at symbol, but lowercaseish
AlexDaniel u: ghz
unicodable6 AlexDaniel, U+3393 SQUARE GHZ [So] (㎓)
samcv there is a lowercase @ symbol though or there used to be. though technically the small ﹫ is not a lowercase @
AlexDaniel samcv: do you know if there is any way to turn ㎓ into GHz? 08:22
samcv oh like get the letters out of it 08:23
AlexDaniel yea
samcv i would try case folding
m: "㎓".cf.say
camelia rakudo-moar fbbe44: OUTPUT«No such method 'cf' for invocant of type 'Str'␤ in block <unit> at <tmp> line 1␤␤»
samcv uhm
AlexDaniel fc ?
samcv yes
AlexDaniel but no
samcv m: "㎓".fc.say
camelia rakudo-moar fbbe44: OUTPUT«㎓␤»
samcv nope
i know of no way 08:24
also why is it ‘square ghz’ why square
as opposed to rectangle?
AlexDaniel u: SQUARE 08:25
unicodable6 AlexDaniel, U+005B LEFT SQUARE BRACKET [Ps] ([)
AlexDaniel, U+005D RIGHT SQUARE BRACKET [Pe] (])
AlexDaniel, gist.github.com/f71acabfb9bbc02d14...a7cc202900
AlexDaniel u: ㎜ 08:26
unicodable6 AlexDaniel, U+339C SQUARE MM [So] (㎜)
samcv m: "㎓".uniprop('Decomposition_Type').say
camelia rakudo-moar fbbe44: OUTPUT«Square␤»
samcv m: "㎓".NFD.say 08:27
camelia rakudo-moar fbbe44: OUTPUT«NFD:0x<3393>␤»
AlexDaniel ㎯ :-/
samcv u: ㎯ 08:28
unicodable6 samcv, U+33AF SQUARE RAD OVER S SQUARED [So] (㎯)
AlexDaniel :D
samcv lemme try this perl 5 module i use for transliteration tho 08:29
yup that work
AlexDaniel samcv: by the way, not sure if you know about this: 08:30
u: ↉
unicodable6 AlexDaniel, U+2189 VULGAR FRACTION ZERO THIRDS [No] (↉)
samcv this is the cpan module i use search.cpan.org/~sburke/Text-Unidec...idecode.pm 08:31
a 0/3 fraction? yeah it exists
m: say ↉
camelia rakudo-moar fbbe44: OUTPUT«0␤»
samcv m: say "↉".uniprop('Denominator_Value') 08:32
camelia rakudo-moar fbbe44: OUTPUT«0␤»
samcv i probably spelled that wrong
AlexDaniel can we nominate this as a stupidest way to write 0 in perl 6? :)
samcv m: say "1".uniprop('Denominator_Value')
camelia rakudo-moar fbbe44: OUTPUT«0␤»
samcv m: "↉".uniprop('NUMERIC_VALUE_DENOMINATOR').say 08:33
camelia rakudo-moar fbbe44: OUTPUT«0␤»
samcv m: "½".uniprop('NUMERIC_VALUE_DENOMINATOR').say
camelia rakudo-moar fbbe44: OUTPUT«0␤»
teatime the fraction slash is supposed to allow arbitrary vulgar fractions, but I don't know of anything that actually implements it that way... I really wish my terminal did, though.
samcv m: "½".uniprop('Numeric_Value_Denominator').say
camelia rakudo-moar fbbe44: OUTPUT«2␤»
samcv m: "↉".uniprop('Numeric_Value_Denominator').say
camelia rakudo-moar fbbe44: OUTPUT«1␤»
samcv wat
:\ 08:34
teatime also I assume the 'SQAURE' bit in the name refers to the fact that it's a double-width CJK-compatibility character
samcv yeah teatime
AlexDaniel that's right, but it does not make it less crazy
teatime which part?
samcv i'm not sure exactly how the code works to set the numerator and denominator… ugh but it says denominator of 1 but it's 3 08:35
teatime (is crazy)
AlexDaniel for example that only some units (e.g. ㎓) were added 08:37
or that there are only some fractions 08:38
teatime My unverified assumption, is that Unicode only included whatever characters existed in pre-existing character sets and couldn't be unambiguously represented by existing symbols
AlexDaniel why add them at all huh?
right 08:39
teatime the primary reason things get added is that they're used by some encoding; getting something added just because it's useful or logical is IMO a little bit unreasonably difficult
as for why they were added to the original encoding, probably because double-width latin letters are ugly 08:40
I feel like I'm being obvious and missing your point, though.
samcv what teatime said is true though. they were put in for compatibility mainly 08:42
for converting from existing character sets
some things are not added, like the lowercase @ symbol though. though they did add a small 08:43
@ symbol. but adding a lowercase property one would have been confusing
08:43 dakkar joined
teatime if no single legacy encoding contains both lowercase @ and small @, they probably just included one and defined the appropriate mapping 08:44
samcv well yeah no legacy encoding did i believe it was for historical documents and such 08:45
well maybe not that old but there used to be a lowercase and uppercase version. now it's really just a symbol without case
08:45 wamba joined
samcv also ampersand used to be a letter in its own right 08:45
teatime I did not know that, and I am a minor typography nerd. 08:46
DrForr 'et'.
samcv and per se and ( means, and 'and' by itself) and how ampersand got its name
teatime about @ that is.
samcv a b c d e f g… x y z and per se and
became ampersand
and then they ditched the ampersand as the 27th letter and it just became “X, Y and Z” 08:47
DrForr Huh, I thought it was backformation from 'etc'.
teatime wrt unicode, there are two things that make me irrationally angry. one, is that almost but not quite all superscript latin letters exist (this may have been fixed, can't remember)
samcv well ampersand is just Et
from latin which means and
but it used to be its own letter
that was said with the rest of the alphabet 08:48
teatime the other is this: "Hey, let's have a bacon emoji... everyone loves bacon!" "Ok, sure." "Also, can we have the copyleft symbol?" "{protracted discussion about whether the copyleft symbol is a real character, with multiple pronouncements about the dangers of adding characters just because you want to}" 08:49
samcv heh
pretty much
emoji is much easier to add though 08:50
08:50 g4 joined, g4 left, g4 joined
samcv because it's not text it has no real rules for inclusion mostly 08:50
teatime I mean... it could go into the emoji block or otherwise above the BMP just fine
samcv yeah 08:51
(ɔ)
teatime heh... there's a combining circle-around you could have used :) 08:52
samcv www.unicode.org/L2/L2016/16059-copyleft.pdf
well that's not circle it's just a reversed c with parens ;)
u: U+1F16C 08:53
unicodable6 samcv, U+1F16C <reserved> [Cn] (🅬)
teatime exactly :) If I were on my own actual computer, I could just type it :/
samcv is there an ao digraph 08:54
like there's æ
teatime I'm talking about U+20DD 08:55
samcv what is 20DD the reversed c? 08:56
hobbs no, the circle 08:57
08:58 xtreak left
teatime m: say "\ua73e\u20dd" 08:59
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5===␤Unrecognized backslash sequence: '\u'␤at <tmp>:1␤------> 3say "\7⏏5ua73e\u20dd"␤Unrecognized backslash sequence: '\u'␤at <tmp>:1␤------> 3say "\ua73e\7⏏5u20dd"␤ expecting any of:␤ argument list␤ …»
teatime m: say "\u{a73e}\u{20dd}"
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5===␤Unrecognized backslash sequence: '\u'␤at <tmp>:1␤------> 3say "\7⏏5u{a73e}\u{20dd}"␤Unrecognized backslash sequence: '\u'␤at <tmp>:1␤------> 3say "\u{a73e}\7⏏5u{20dd}"␤Missing block␤at <tmp>:1␤------> 3say …»
hobbs of course, it refuses to render as combining for me. But ᴐ⃝ or ɔ⃝ *ought* to work 09:00
teatime ok I give up. it probably wouldn't render correctly for you anyway.
and also, I don't think there's a plain reversed capital C :)
samcv why would it be a capital c 09:01
hobbs teatime: it's \x, we're not JavaScript :)
samcv copyright sign is lowercase but large c?
teatime I promise I tried really hard to find the list of perl6 escape sequences :)
samcv: it's difficult for me to say it's meaninfully either of those
samcv m: say "\x[a73e]\x[20dd]"
camelia rakudo-moar fbbe44: OUTPUT«Ꜿ⃝␤»
samcv just looks like a backwarrds C and then a circle :P 09:02
m: say "\x[a73e]\x[20dd]".uninames
camelia rakudo-moar fbbe44: OUTPUT«(LATIN CAPITAL LETTER REVERSED C WITH DOT COMBINING ENCLOSING CIRCLE)␤»
samcv m: say "\x[a73e]\x[20dd]".uniprops('GCB').perl
camelia rakudo-moar fbbe44: OUTPUT«("Other", "Extend").Seq␤»
samcv GCB= grapheme cluster break
teatime there are a bunch of combining enclosing shapes, including a keycap! 09:03
samcv m: say "\x[a73e]\x[20dd]".chars
camelia rakudo-moar fbbe44: OUTPUT«1␤»
samcv ye that's what i thought it'd say
well should at least ;)
teatime since you guys presumably do a bunch of boundary-pushing unicode in the *nix terminal: what terminal are you using? 09:04
09:04 jonas1 joined, abraxxa joined
teatime I'm still finding urxvt to work best for me, but I have several complaints, at least some of which will probably never be fixed. 09:05
masak in which Guido recounts how he grudgingly added closures to Python: python-history.blogspot.se/2009/04/...tures.html :P
(morning, #perl6)
samcv morning
09:06 nick_1902 joined, cibs left 09:08 cibs joined
samcv which complaints teatime 09:08
teatime I'd probably rather skip getting into it just now for a bunch of reasons; if you really care though, I can make a note to send you a comprehensive list in the indefinite future :) 09:10
samcv i care about too many things :P 09:12
09:12 abraxxa left
samcv i hate all my terminals as well 09:13
09:13 abraxxa joined
arnsholt I'm currently on the Windows bash terminal (at work) and gnome-terminal (at home) 09:14
And I suspect the reason we hate our terminals is that terminals are a bit shit, fundamentally 09:15
DrForr grumbles somethning about Tickit from the perl5 side.
arnsholt For some reason technologies from the 50s and 60s don't always do all we want in the 21st century =)
09:21 AlexDaniel left, melezhik joined 09:23 Stown joined
melezhik Hi! I have already asked, but still can't get a working code. How to create an alias to module function and make this alias exportable? 09:25
I was suggested by :notviki 09:26
this way: constant &foo is export = &bar
but this looks like does not compile 09:27
masak m: sub bar {}; constant &foo is export = &bar
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Can't use unknown trait 'is export' in a sub declaration.␤at <tmp>:1␤ expecting any of:␤ rw raw hidden-from-backtrace hidden-from-USAGE␤ pure default DEPRECATED inlinable nodal␤ …»
melezhik masak: that is it; I got the same compilation error; 09:28
masak m: constant switlity is export = 42
camelia ( no output )
masak m: sub bar {}; constant foo is export = &bar
camelia rakudo-moar fbbe44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Can't use unknown trait 'is export' in a sub declaration.␤at <tmp>:1␤ expecting any of:␤ rw raw hidden-from-backtrace hidden-from-USAGE␤ pure default DEPRECATED inlinable nodal␤ …»
masak does not know why this happens, if it's a bug, or if there's some excellent reason for it not to work
your use case seems fairly reasonable to me on the face of it
so does the syntax you use to achieve it
09:29 xtreak joined
melezhik masak: and? what should we do? your idea? 09:29
masak hmm 09:30
m: sub bar { say "OH HAI" }; sub foo is export { bar }; foo
camelia rakudo-moar fbbe44: OUTPUT«OH HAI␤»
masak will that work for now?
as a workaround
and we'll get right on fixing the `constant` way for you in the meantime... :) 09:31
melezhik yeah, sure this "strait" method I know :)))
I wanted to rely on more terse syntax with it
masak .oO( the royal strait method )
melezhik but for now it's ok
masak well, workarounds are often slightly less elegant
melezhik yeah, sure
masak depends if you want to have something working while you wait or not, I guess :P
whenever I do a workaround, I usually put in a `# RAKUDO` comment that links to the RT ticket 09:32
melezhik ok, so should we post a RT ticket on this?
masak I know tux has gone one step further, and he automatically tests whether the bugs he's interested in have been fixed on a regular basis
melezhik: yes, would you do the honors?
masak has done some character development over the years; nowadays he likes to delegate rakudobugging :P 09:33
melezhik: [email@hidden.address]
melezhik masak: sure , will taka a look later 09:34
masak do include the code I sent to camelia in the bug report; that immediately provides steps-to-reproduce and what you observed in the report 09:35
then you only need to explain what you expected (for sub constants to be exportable)
09:46 Actualeyes left
Woodi hi #perl6 :) 09:46
www.lunski.pl/files/slip.txt :)
09:47 rindolf joined
masak Woodi: your server sends that as Windows-1252 when it should send it as UTF-8 09:48
Woodi masak: no idea why :)
masak it's to do with what headers it sends. I believe it's configurable 09:49
09:49 bjz joined
masak Woodi: by "magic" is simply meant the fact that `my Int $x = 42; $x = Nil` sets $x to Int, not Nil 09:49
i.e. you assign one thing, but get another
Woodi btw. there was talk about R* future, eg. for noobs, for Task:: Other idea is to degrade it into script that downloads and installs what someone requested 09:50
masak: I know, maybe I just put my thinking in that place :)
09:51 bjz left
Woodi but slip() is a bit strange and messy ATM, IMO 09:52
masak how do you mean? 09:53
slip() is essentially what came out of the GLR
Woodi probably this is how browsing sources some time ago looked to me - slip handling was scattered all aroud. maybe now it's better 09:55
09:57 user9 joined 09:59 xtreak left 10:02 xtreak joined 10:15 darutoko joined 10:23 CIAvash joined 10:24 bjz joined 10:31 TEttinger left
DrForr I seem to be able to print out at most 14 digits after the decimal on a floating-point value. Is this a limitation, or am I simply using the wrong type? 10:37
(probably the latter)
10:37 brillenfux_ joined
masak DrForr: how many digits did you expect? 10:39
10:39 brillenfux left, brillenfux__ joined
DrForr Well, true, it's a float therefore IEEE limitations apply. I was just thinking that I was missing a type for bignum-type calculations. 10:39
moritz FatRat? 10:41
DrForr Ah, I'm betting ... yeah, just found it myself.
masak m: say FatRat.new(1, 1e20)
camelia rakudo-moar fbbe44: OUTPUT«Type check failed in binding to de; expected Int but got Num (1e+20)␤ in block <unit> at <tmp> line 1␤␤»
masak m: say FatRat.new(1, 1e20.Int)
camelia rakudo-moar fbbe44: OUTPUT«0.00000000000000000001␤»
masak ...probably reasonable to require those constructor arguments to be Int, yes 10:42
10:42 brillenfux_ left 10:43 brillenfux joined 10:44 brillenfux__ left 10:45 gregf_ joined 10:46 brillenfux_ joined 10:48 brillenfux__ joined, cibs left 10:49 brillenfux left, cibs joined 10:50 brillenfux_ left 10:52 brillenfux joined 10:53 brillenfux__ left, brillenfux left 11:00 rafaschip joined 11:04 kalkin- left 11:05 kalkin- joined, wamba left 11:08 kalkin- left, kalkin- joined
moritz m: say 1e-20.FatRat 11:09
camelia rakudo-moar fbbe44: OUTPUT«0␤»
moritz m: say 1e-20.FatRat(1e-30)
camelia rakudo-moar fbbe44: OUTPUT«0.00000000000000000001␤»
kalkin- m: say 1e-200.FATRAT(1e-300) 11:10
camelia rakudo-moar fbbe44: OUTPUT«No such method 'FATRAT' for invocant of type 'Num'␤ in block <unit> at <tmp> line 1␤␤»
kalkin- m: say 1e-200.FatRat(1e-300)
camelia rakudo-moar fbbe44: OUTPUT«0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010␤»
DrForr m: my $x=FatRat.new(2,1);say $x.sqrt
camelia rakudo-moar fbbe44: OUTPUT«1.4142135623731␤»
kalkin- camelia:++ 11:11
11:15 labster left 11:25 nick_1902 left 11:36 bjz left 11:37 Stown left 11:45 Stown joined
tbrowder hi #perl6 11:52
11:54 bjz joined
rafaschip hi o/ 11:55
tbrowder one of my goals is to create a postscript module and i wonder if anyone has an idea about how to write tests for ps objects
11:55 pmurias joined
moritz PS files are just text or blob 11:56
tbrowder i guess one thing is to somehow wrap ghostscript (libgs) to test the object
moritz you know how to write tests for text or blobs, right?
11:56 xtreak left
rafaschip well, postscript is a programming language, so you should look into roast. 11:56
moritz and if you want run it, then yes, something like gs
tbrowder hi rafaschip and moritz 11:57
not sure what you mean about testing a blob? 11:58
11:58 kalkin- left 11:59 xtreak joined
tbrowder rafaschip: is that p6's roast or something else? 11:59
moritz tbrowder: your module will produce a postscript file, no?
tbrowder: you can just test that this is what you expect 12:00
(compare to a hard-coded blob)
rafaschip p6's roast. But only if you actually want to interpret it.
12:00 xtreak left
tbrowder yes, and i know i can test the string output, but i'm trying to think more generally if i can. ps is so easy to get wrong and debugging is difficult 12:02
i think i should first concentrate on complete chunks and test against gs for syntactic correctness, then look for semantic correctness... 12:05
moritz can ps script produce simple text output? 12:06
tbrowder there is a way i think to write to file but i don't know how do that now--easiest is to filter it through gs to a file i think 12:08
yep, i think gs is the trick 12:09
rafaschip In the map doc page: docs.perl6.org/type/Map the type graph has a node called "PseudoStash", but I get a 404 when I click on it. 12:11
m: my PseudoStash $p; say $p 12:12
camelia rakudo-moar caba0d: OUTPUT«(PseudoStash)␤»
moritz rafaschip: there are simply no docs for PseudStash yet 12:14
rafaschip Uhum, but it shouldn't give a 404, I think. It should send people to a NIY page. 12:15
or NDY page.
Not documented Yet.
12:16 andrzejku joined, Stown left
lizmat there's no mention of PseudoStash in the speculations, so it may be a Rakudo internals specific implementation detail 12:16
so, not sure that would want documention in docs 12:17
pmurias tbrowder: are you interested in testing what exact postscript is emitted or in testing the result it produces? 12:18
12:22 kalkin- joined
rafaschip lizmat: so mentions to it should be remove from the docs, right? 12:23
tbrowder pmurias: both. the module will have objects that are to produce valid ps code that should execute throughthe ps interpteter. the validity of the code is easy to check, but the actual painted page results are not so easy to check. as in perl, TMTOWTDI
lizmat well, perhaps: otoh, there does seem to be at least one spectest related to it 12:24
so, I'm not sure :-)
rafaschip We should ask The Architect. 12:25
DrForr "Maaa! That black cat's back again!" 12:26
tbrowder ref ps: i think the valid code check is the most important, at least initially. testing the actual page results can wait a bit. 12:29
thanks for helpful comments rafaschip, moritz, and pmurias 12:30
moritz you're welcome 12:34
rafaschip anytime
pmurias tbrowder: what will your module do? 12:35
kalkin- m: $*REPO.repo-chain.grep( { <installed> (elem) $_.^methods.map: *.name } ) ==> map( *.installed) ==> flat ==> sort 12:36
camelia rakudo-moar caba0d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix ==> instead␤at <tmp>:1␤------> 3 } ) ==> map( *.installed) ==> flat ==>7⏏5 sort␤»
kalkin- As far as I understand the above doesn't work because sort can't be applied to each one of the results emitted by flat, right?
@foo ==> executes some function in parallel on each element of @foo 12:37
moritz kalkin-: needs to be ==> sort() iirc
kalkin- m: $*REPO.repo-chain.grep( { <installed> (elem) $_.^methods.map: *.name } ) ==> map( *.installed) ==> flat ==> sort()
camelia rakudo-moar caba0d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix ==> instead␤at <tmp>:1␤------> 3 } ) ==> map( *.installed) ==> flat ==>7⏏5 sort()␤»
moritz m: $*REPO.repo-chain.grep( { <installed> (elem) $_.^methods.map: *.name } ) ==> map( *.installed) ==> flat() ==> sort() )
camelia rakudo-moar caba0d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unexpected closing bracket␤at <tmp>:1␤------> 3map( *.installed) ==> flat() ==> sort() 7⏏5)␤»
moritz m: $*REPO.repo-chain.grep( { <installed> (elem) $_.^methods.map: *.name } ) ==> map( *.installed) ==> flat() ==> sort()
camelia rakudo-moar caba0d: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤»
moritz kalkin-: I don't think your understanding of ==> is correct 12:38
kalkin- moritz: may be. back to reading docs
12:42 CIAvash left 12:43 rba_ left 12:56 aborazmeh joined, aborazmeh left, aborazmeh joined
melezhik hi masak: - perl #130533 12:57
an issue on function exported alias
masak great 12:58
oh, we're into the 130-thousands now
I still (not-so) fondly remember the 80-thousands 12:59
13:01 aborazmeh left 13:03 aborazmeh joined, aborazmeh left, aborazmeh joined 13:07 aborazmeh left 13:10 gearchef left 13:16 aborazmeh joined, aborazmeh left, aborazmeh joined 13:20 aborazmeh left, aborazmeh_ joined, aborazmeh_ left, aborazmeh_ joined 13:21 aborazmeh_ is now known as aborazmeh
jnthn Oh my. It turns out Digest::SHA1::Native "works" for a hilarious reason. 13:22
At first I noticed it gave warnings building on Linux. Didn't worry about them. Then moved on to fixing its build on Windows.
After patching the Makefile it failed to link; missing symbols.
Turns out it declared SHA1_Init but called SHA1Init. 13:23
How could this ever work?
eythian
jnthn So, I rename the calls. Now it builds on Windows and totally test fails.
Turns out the reason it worked on Linux is because MoarVM declares a SHA1Init etc. internally. 13:24
And so at library load time it gets mapped to that.
And that does something different in the result it produces than the SHA1_Final in the code in the library.
Which is why it fails the tests after the rename.
:P :P 13:25
jnthn will send a PR :)
And file a MoarVM bug that we should try not to leak those symbols :)
(To be clear, the magical library load mapping thing that makes it work on Linux doesn't happen on Windows; the thing won't even link :)) 13:26
13:27 gearchef joined, aborazmeh left 13:30 dudz joined, bjz left 13:33 aborazmeh joined, aborazmeh left, aborazmeh joined 13:36 buggable left, buggable joined, ChanServ sets mode: +v buggable
SmokeMachine is there any way to declare more than 1 var as my? 13:36
m: my ($a, $b) 13:37
camelia ( no output )
SmokeMachine m: my ($a, $b); say $b
camelia rakudo-moar 62f702: OUTPUT«(Any)␤»
SmokeMachine why is it working?
thanks!
m: my ($a, $b) = (1, 2); say $b 13:38
camelia rakudo-moar 62f702: OUTPUT«2␤»
SmokeMachine thanks! 13:39
notviki m: my ($a, $b) = 1, 2; say $b
camelia rakudo-moar 62f702: OUTPUT«2␤»
notviki SmokeMachine: ^ no need for second parens
SmokeMachine notviki: yes, thanks! 13:40
13:40 aborazmeh left
[Coke] (docs) yup, 'make htmlify' hangs for me after emitting 'Writing programs document for Perl 6 ...', and top shows it sitting in a coffeescript process doing nothing. (just retried on master to make sure it wasn't something with my branch) 13:47
13:47 curt_ joined
jnthn Whee. I found a way to make Digest::SHA1::Native a bunch faster while I was at it. :) 13:47
[Coke] jnthn++ 13:51
rafaschip jnthn: can you make the same change in Moar, while you're at it?
jnthn rafaschip: Which "same change"? 13:54
Oh, the faster, you mean? 13:55
timotimo always give everyone the faster :)
rafaschip Make the change in the function you were calling acidentally before.
jnthn Oh
No, the speedup wasn't in the C code
It was in the Perl 6 binding to it
github.com/bduggan/p6-digest-sha1-...3fdf70f6de 13:56
So, nothing relevant to nab for Moar. 13:57
rafaschip jnthn++
timotimo i think we're still taking a string for sha1 on moar, aren't we? 13:58
jnthn timotimo: Yes, though we use it to hash source code, which we slurp in as a string to parse, or at least that was the original purpose :)
timotimo do we encode that back to utf8 before hashing or something?
jnthn Not sure. :) 13:59
If so, only for expedience when implementing the thing :)
rafaschip m: say Blob.new(1..10).unpack("A*")
camelia rakudo-moar 3fb04c: OUTPUT«Use of the 'unpack' method is experimental; please 'use experimental :pack'␤ in block <unit> at <tmp> line 1␤␤»
rafaschip m: use experimental :pack; say Blob.new(1..10).unpack("A*") 14:00
camelia rakudo-moar 3fb04c: OUTPUT« ␤␤»
rafaschip m: use experimental :pack; say Blob.new(65..75).unpack("A*")
camelia rakudo-moar 3fb04c: OUTPUT«ABCDEFGHIJK␤»
14:01 cdg joined
pmurias jnthn: throwpayloadlex is supposed to throw with lexotic semantics? 14:02
jnthn Yes 14:03
Well, purely lexical 14:04
In terms of the location
14:04 aborazmeh joined, aborazmeh left, aborazmeh joined
jnthn But the thing has to be in dynamic scope to be throwable to. 14:04
pmurias if it's not in dynamic scope an error should happen? 14:05
andrzejku :)
pmurias andrzejku: ? 14:06
andrzejku hi
kalkin- m: $*REPO.repo-chain.map: *.*installed
camelia ( no output )
jnthn pmurias: Yes
kalkin- m: say $*REPO.repo-chain.map: *.*installed # How do i fix this seq error? I don't understand it 14:07
camelia rakudo-moar 3fb04c: OUTPUT«This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤ in block <unit> at <tmp> line 1␤␤»
kalkin- I mean i understand what it says, but where is the seq which has already been iterated?
jnthn pmurias: In fact, there's a particular error handler for it registers with hll config iirc
14:07 wamba joined
jnthn m: say $*REPO.repo-chain.map: *.installed 14:07
camelia rakudo-moar 3fb04c: OUTPUT«No such method 'installed' for invocant of type 'CompUnit::Repository::AbsolutePath'␤ in block <unit> at <tmp> line 1␤␤»
jnthn m: say $*REPO.repo-chain.map: *.?installed
camelia rakudo-moar 3fb04c: OUTPUT«(Nil () () (CompUnit::Repository::Installation::InstalledDistribution.new(prefix => "/home/camelia/rakudo-m-inst-2/share/perl6".IO(:SPEC(IO::Spec::Unix),:CWD("/home/camelia")))) Nil Nil Nil)␤»
jnthn m: say $*REPO.repo-chain.map: *.*installed 14:08
camelia rakudo-moar 3fb04c: OUTPUT«This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤ in block <unit> at <tmp> line 1␤␤»
jnthn Hm, odd
m: say $*REPO.repo-chain.map: { .*installed }
camelia rakudo-moar 3fb04c: OUTPUT«This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤ in block <unit> at <tmp> line 1␤␤»
14:08 aborazmeh left
pmurias jnthn: thank you for clarification, some bugs just make me suspect everything ;) 14:08
lizmat .*installed ??
jnthn pmurias: fwiw the MoarVM impl of it is, iirc, quite clear :) 14:09
kalkin- jnthn: ohh nice, didn't know i can use the question mark to check if method exists
arnsholt Calls all multi candidates, no_
?
lizmat m: say $*REPO.repo-chain.map: *.installed
camelia rakudo-moar 3fb04c: OUTPUT«No such method 'installed' for invocant of type 'CompUnit::Repository::AbsolutePath'␤ in block <unit> at <tmp> line 1␤␤»
jnthn No, nothing to do with multi
.*foo calls all foo methods in the *inheritance* chain
arnsholt Ah, right
jnthn And .+foo does the same but dies if there's not at least one :)
arnsholt Vertically, not horizontally as it were
jnthn Aye 14:10
14:11 kurahaupo__ joined 14:21 Geth left, Geth joined, ChanServ sets mode: +v Geth
dalek osystem: d9955af | (Fernando Correa de Oliveira)++ | META.list:
Adding Test::Fuzz to the ecosystem
14:26
osystem: 2056766 | faraco++ | META.list:
Merge pull request #283 from FCO/master

Adding Test::Fuzz to the ecosystem
yoleaux 8 Jan 2017 21:04Z <AlexDaniel> dalek: We like dogfood. Change the webhook to geth.perl6.party/?chan=#perl6-dev (or #moarvm for moarvm), Content-type: application/json and "Send me everything."
yoleaux 8 Jan 2017 21:04Z <AlexDaniel> dalek: #perl6 I mean
notviki is starting to get sick of the phrase "dogfood" 14:28
timotimo updated the webhook
Geth osystem: d9955af3f8 | (Fernando Correa de Oliveira)++ | META.list
Adding Test::Fuzz to the ecosystem
14:29
osystem: 20567664e4 | faraco++ | META.list
Merge pull request #283 from FCO/master

Adding Test::Fuzz to the ecosystem
timotimo cool, works apparently
tbrowder .tell pmurias my planned module (see most wanted modules) will provide PS and EPS functions and classes to produce PS and PDF docs
yoleaux tbrowder: I'll pass your message to pmurias.
14:30 Geth left
tbrowder the skeleton is here <github.com/tbrowder/PostScript-Lib...master> 14:30
14:30 Geth joined, ChanServ sets mode: +v Geth 14:33 Geth left 14:34 Geth joined, ChanServ sets mode: +v Geth 14:36 Geth left 14:37 Geth joined, ChanServ sets mode: +v Geth 14:38 Geth left, Geth joined, ChanServ sets mode: +v Geth
SmokeMachine \o/ 14:39
rafaschip Paranbéns! 14:40
SmokeMachine Obrigado! :)
14:40 Geth left, Geth joined, ChanServ sets mode: +v Geth
notviki is done tweaking Geth's throttle... 14:43
14:43 awwaiid joined, go|dfish left
pmurias tbrowder: wouldn't it be best to test the exact ps using string comparision in this case? 14:45
yoleaux 14:29Z <tbrowder> pmurias: my planned module (see most wanted modules) will provide PS and EPS functions and classes to produce PS and PDF docs
pmurias tbrowder: as it seems you would care if the exact ps is generated rather then if it produces the same output 14:46
notviki timotimo: how did you trigger the same merge? 14:48
Or is it GitHub just sending recent data to the new hook :/ 14:49
14:50 faraco joined
faraco hi, why #`(multiline comment doesn't work after newline?) 14:51
notviki m: say "x"
camelia rakudo-moar 731d58: OUTPUT«x␤»
notviki m: #`(does␤itx␤workx␤) 14:52
camelia ( no output )
notviki faraco: seems to work fine?
faraco hmm, maybe I did something wrong
let me try again
oh somehow worked now. nevermind 14:54
14:56 Undercover joined, ChanServ sets mode: +v Undercover
andrzejku is in perl6 something like c++ template system? 14:58
DrForr Parametrized types, maybe? 14:59
tadzik what problem do you need to solve?
andrzejku I just want to look on syntax
timotimo notviki: i re-delivered the last payload 15:00
in the list of recently delivered, there's a three-dots-button that'll let you do that
andrzejku timotimo, priv?
timotimo what? 15:01
andrzejku timotimo, priv message
timotimo what's the context for that?
andrzejku friendship 15:02
timotimo don't have time now 15:03
andrzejku ok
teatime forces himself to stop thinking about the fact that you could totally use the C preprocessor with Perl 6 code.
arnsholt teatime: Well, why do you think Perl 5 supports "#line 42", eh? 15:05
}:)
15:05 ocbtec joined
pmurias considers snitching on teatime to the thought police 15:05
teatime 09:55 <ttt> you can have the whole pistol in your checked baggage
09:55 <ttt> you can have the whole pistol in your checked baggage 15:06
oh god
wtf
I am sorry, my trackpad is malfunctioning :( please forgive.
rafaschip andrzejku: Read this whole page: docs.perl6.org/type/Signature. It's required reading.
eythian teatime: I hear that you can have the whole pistol in your checked baggage
DrForr Oof. middle-button stuck?
teatime I beleive I've seen that said somewhere.
15:06 FROGGS joined
ugexe you cannot have the whole pistol in your checked baggage, only allah can have the whole pistol in your checked baggage 15:07
dalek rl6-most-wanted: eeb406f | (Curt Tilmes)++ | most-wanted/modules.md:
Add WIP for GraphQL
rl6-most-wanted: 8693999 | RabidGravy++ | most-wanted/modules.md:
Merge pull request #37 from CurtTilmes/master

Add WIP for GraphQL
15:08 g4 left
jnthn So, GTK::Simple uses gtk-dlls.p6c.org/ in order to obtain DLLs for GTK on Windows 15:11
Does anyone know if any other modules have a similar arrangement?
notviki heh, teatime good job! You've set off all of NSA spyware with baggaged pistols!
jnthn I'm sorta pondering it for Archive::Libarchive::Raw 15:12
rafaschip jnthn: Just so you know, distros don't allow packaging that. 15:13
jnthn Though it's licensing situation is...confusing: github.com/libarchive/libarchive/b...er/COPYING
Geth rl6-most-wanted: eeb406fe05 | (Curt Tilmes)++ | most-wanted/modules.md
Add WIP for GraphQL
rl6-most-wanted: 8693999d82 | (Jonathan Stowe)++ | most-wanted/modules.md
Merge pull request #37 from CurtTilmes/master

Add WIP for GraphQL
rafaschip And if anything depends on it, it will block them.
jnthn rafaschip: Can you clarify that a bit?
notviki timotimo: ah, neat :D
15:13 faraco left
jnthn (locate libarchive.so on my Ubuntu VM shows it up, for example) 15:14
(So it seems it is distributed...)
rafaschip jnthn: Packages cannot make downloads. In fact they test the packages without internet access.
For windows it's acceptable, I think.
jnthn I did say "on Windows" ;)
rafaschip jnthn: Yes. I should have agreed with you from the start it's acceptable on windows. 15:15
jnthn Yes, I'm certainly not proposing this for anything besides Windows :) 15:16
rafaschip I was just warning you distros are different.
With that caveat, it's a good solution, I think, but you need to somehow maintain the server. I think the best solution is getting in contact with them and getting the DLLs in the same server. This way there's no need to do the maintenence work in two servers. 15:18
And the costs are divided between more people.
jnthn Ah, seems that p6c.org is the Perl 6 community server 15:19
rafaschip "Perl 6 Community Servers" I just saw it. Do the sponsors allow this kind of use? 15:20
15:21 teatime left
jnthn moritz: I just saw gtk-dlls.p6c.org/ and was wondering, if I wanted a similar arrangement for libarchive, if it'd be reasonable to host that binary on p6c.org too. I see gtk-dlls got its own subdomain, is that the way to go? (And if you're the wrong person to ask, who's the right person?) 15:22
15:22 Stown joined 15:23 jonas1 left, FROGGS left
awwaiid jnthn: have you looked at the Alien:: set of modules on cpan? 15:26
jnthn awwaiid: Have heard of, not really familiar with 15:27
awwaiid They are specifically setting out to improve the external-binary-dependencies library world in a few ways, worth a look and maybe worth stealing some ideas
jnthn: metacpan.org/pod/Alien has a good introduction 15:28
jnthn Yeah, found that :)
awwaiid cool. possibly not what you're immediately needing, but overlaps I think
jnthn Yes. I think that's the more long term solution :) 15:29
Or something in that direction.
15:29 awwaiid left, cdg left, curt_ left, awwaiid joined, curt_ joined 15:30 cdg joined, andrzejku left
awwaiid Graham, the current Alien maintainer, attends the DC perl mongers and has lots of good ideas with this and FFI in general 15:32
jnthn *nod*
I'm the wrong person to work on a Good Solution to this kind of thing.
I know enough about the area to know I don't know anything close to enough about the area. :)
I do probably have enough yak shaving time to scratch the "make the libarchive bindings expereince better for Windows users" itch. 15:33
(Provided a GTK::Simple-esque intermediate-term solution is OK)
tbrowder pmurias: i think the "proper output" problem may be solved (at least approximately) with a combination of a p6 regex and use of the ghostscript program "ps2ps": a PS distiller which is supposed to normalize and simplify ps input 15:40
15:46 jdmmmmm joined
[Coke] hoelzro: hio. 15:49
hoelzro [Coke]: howdy
rafaschip When should "andthen" be used instead of "&&", "and" or "//"? 15:58
moritz andthen checks defined, not truth, much like // 16:01
jnthn ugexe: Any idea how I might resolve "No extracting backend available" from zef? 16:02
rafaschip So, it's a lower precedence form of //?
jnthn It also sets $_ for the RHS, I think?
ugexe: Reproduction: "zef install Archive::Libarchive" (on Ubuntu fwiw) 16:03
rafaschip I see. Thanks.
And orelse sets "$!".
jnthn Oh, panda fails too 16:04
"fetch stage failed for Archive::Libarchive::Raw: Unable to handle source 'github.com/frithnanth/perl6-Archiv...hive-Raw'"
notviki huh 16:05
rafaschip: where did you get the $!?
jnthn Yeah, I'm confused
Oh, you weren't talking to me :)
rafaschip Oh no, it sets "$_" too. 16:06
docs.perl6.org/routine/orelse
Sorry for the confusion. 16:07
pmurias in docs.perl.org if I type in "//" in the search box I get sent to "/" 16:09
notviki rafaschip: orselse is the lowerprecedence of //; andthen/notendthen check for definedness, but return Empty when shortcurcuiting, so you can use them in list comprehensions 16:10
rafaschip pmurias: It shows a list for me, starting with / and having // in the second position.
What's a "list comprehension"? 16:11
notviki m: dd [ Int && Num ]
camelia rakudo-moar 731d58: OUTPUT«[Int]␤»
notviki m: dd [ Int andthen Num ]
camelia rakudo-moar 731d58: OUTPUT«[]␤»
pmurias rafaschip: I get the list too
16:12 khw joined
notviki pmurias: move the cursor down to "//" 16:12
rafaschip It's LTA, though. 16:14
diakopter I typed dd in docs.perl6.org and it's not in the result list 16:16
oh, I guess it is, far down
16:17 zakharyas left
rafaschip notviki: I still don't understand where it would be used. Can you show me an example? 16:18
[Coke] diakopter: there's an issue for 'prefer exact matches in search results', but it ain't done yet.
16:18 geekosaur left, troys joined, wictory[m] left, M-Illandan left, mulk[m] left 16:19 tadzik left, geekosaur joined
notviki rafaschip: I did show the example above 16:24
ranguard: andthen/notandthen are also used internally for with/without handling
16:24 ocbtec left
rafaschip Why is the second one useful? 16:24
notviki Which second one?
rafaschip [ Int andthen Num ] 16:29
notviki rafaschip: you don't get any items in the list when the condition fails
rafaschip So, if they are all undefined, you get an empty list instead of the last value. Cool. 16:30
notviki You get Empty (which is a slip)
If it gave an empty list it'd still be an item
m: dd [ () or 42 ]
camelia rakudo-moar 731d58: OUTPUT«[42]␤»
notviki m: dd [ () or () ]
camelia rakudo-moar 731d58: OUTPUT«[]␤»
notviki really... 16:31
m: dd [ (() or ()), ]
camelia rakudo-moar 731d58: OUTPUT«[(),]␤»
notviki m: dd [ (() andthen ()), ]
camelia rakudo-moar 731d58: OUTPUT«[(),]␤»
rafaschip Ok, I see.
thanks notviki 16:32
notviki "So, if they are all undefined" <-- no, if any are undefined; for andthen; if any are defined for notandthen 16:35
Maybe easier to understand what they do by looking at their source: github.com/rakudo/rakudo/blob/731d...#L623-L684
16:37 Stown left
[Coke] github.com/rakudo/rakudo/blob/731d...#L623-L684 16:38
oops. Sorry, working on windows at work today. misclicks aplenty. 16:39
16:40 shayan_ joined, shayan_ left, thayne left, skids joined 16:43 shayan_ joined 16:48 sunnavy left 16:49 azertus left
rafaschip Yep, the code made it clear. 16:50
notviki \o/ 16:51
rafaschip u: �
unicodable6 rafaschip, U+FFFD REPLACEMENT CHARACTER [So] (�)
rafaschip Someone sent me a literal replacement character. Broken Unicode everywhere. 16:53
16:53 gcole left 16:56 nicq20 joined
nicq20 hello \o 16:56
[Coke] o/
16:56 tadzik joined 16:58 Praise left 16:59 perlpilot_ joined, Bucciarati left 17:03 Bucciarati joined, Bucciarati left 17:06 azertus joined
rafaschip "I mean, it's sort of loosely analogous to working with Roman numerals instead of Arabic numerals. I mean, it's not that you can't do arithmetic; it's just a bitch. Much more difficult, perhaps, and therefore mentally not -- more constraining. But all of that stuff is now squashed into such a narrow interval that I don't even know when it happened. I remember that the preposterous syntax, the "> >", or whatever syntax that somebod 17:08
...dden there was the vertical bar and just everything clicked at that point. And that was the time then I could start to make up these really neat examples
--Kernighan
[Coke] EMISSINGTEXT
nicq20 So why are there ~3 different versions of making a Slip? 17:09
rafaschip Thgere's at least 3 different ways to do anything in Perl 6.
[Coke] It's kind of our motto. *sheepish grin* 17:10
nicq20 fair
perlpilot_ Because after 3 different versions of something, we really understand it.
[Coke] rafaschip's send is here: www.princeton.edu/~hos/mike/transc...nighan.htm
17:12 shayan_ left 17:13 Matthew[m] joined, wictory[m] joined, M-Illandan joined, ilmari[m] joined, dp[m] joined, xui_nya[m] joined, Matias[m] joined, mulk[m] joined, CIAvash[m] joined, AlexDaniel joined
AlexDaniel o/ 17:14
[Coke] AlexDaniel: regarding doc ticket to recommend .p6, I think you need to get some community consensus on that. 17:17
AlexDaniel [Coke]: well, these seems to be more popular according to the stats from the ecosystem 17:19
who puts .p6 scripts into their modules that I don't know
but still
[Coke] the way module authors are doing it doesn't mean it's the recommmended way, though. 17:20
17:20 bwisti joined
[Coke] stares at powershell, and wonders if it's worth trying to get rakudo to build here. 17:20
AlexDaniel but who is talking about the recommended way? 17:24
“Source files generally use the standard 「.pm」 extension, and scripts or executables use 「.pl」.”
I'm not a native speaker, but google says that the meaning of “generally” is “in most cases; usually” 17:25
so what's the source for that?
17:25 shayan_ joined
notviki uses .p6 and .pm6 17:26
jnthn also
nicq20 as well 17:27
AlexDaniel yea
17:31 khw left 17:34 khw joined 17:35 stmuk joined 17:36 FROGGS joined
pmurias having a recommended file ending ending would be great 17:36
17:37 stmuk_ left 17:38 dugword joined
huf just one? 17:38
come *on*, is perl6 perl anymore? :D
17:39 pyrimidine joined, shayan_ left
jnthn Hey, we'll still have two: one for modules and one for scripts. :) 17:40
17:41 zakharyas joined
notviki ...and one for meta file that people can't seem to agree on (or at least to remember to use the One True Filename) 17:41
17:43 dugword left, gcole joined 17:46 dugword joined 17:51 cibs left, dugword left
AlexDaniel script.timtowtdi6 17:51
huf oh good :D
17:52 cibs joined 17:53 andrzejku joined 17:55 Bucciarati joined
ugexe if perl6 stopped allowing .pm it would make having a dual language module where you have both perl5 and perl6 modules in the same dist 17:55
[Coke] ugexe: would make it what?
ugexe make it possible^ 17:56
[Coke] yah, but that ship has sailed. and you can call them .whateveryouwant, really.
17:57 xinming left
ugexe so you have a perl6 distribution that uses Inline::Perl5 to load a perl5 module you are including. CUR::FileSystem will open all .pm and .pm6 files as perl6 modules. The perl5 part has no problem because it does not look at .pm6 files as libraries 17:57
[Coke] Right, but that's possible to do if you want to do it, and isn't worth stopping someone from calling their code that never touches P5 .pm 17:59
(IMO) 18:01
18:02 xinming joined 18:04 mr-foobar left
ugexe better github metrics too 18:07
pmurias ugexe: you can add 'use v5' and 'use v6' into your mixed perls modules 18:10
18:11 dugword joined 18:12 domidumont left
[Coke] LHF: is Instant.DateTime in roast? (docs #1120) 18:14
18:15 grumble left 18:18 Actualeyes joined, dugword left, dakkar left 18:19 shayan_ joined 18:20 mr-foobar joined 18:25 domidumont joined 18:26 cibs left 18:27 cibs joined 18:33 grumble joined
ugexe m: use v5; 18:34
camelia rakudo-moar af4bb6: OUTPUT«===SORRY!===␤Could not find Perl5 at line 1 in:␤ /home/camelia/.perl6␤ /home/camelia/rakudo-m-inst-2/share/perl6/site␤ /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-2/share/perl6␤ CompUnit::Reposit…»
18:36 wamba left 18:40 zakharyas left 18:41 ufobat left 18:45 Tonik joined
awwaiid I use .pl for Perl5, Perl6, and Prolog :) 18:49
TimToady
.oO(and Poland!)
awwaiid hehe
perlpilot_ tries not to use .pl for anything 18:50
awwaiid oh true. I use #!/usr/bin/env with no extension once I'm productionizing
perlpilot_ The last time I remember using files that end in .pl was for prolog and when .pl stood for "perl library" 18:51
awwaiid does not remember that
geekosaur perl4 and earlier when there were no modules
perlpilot_ yep, good old perl 4.036 18:52
TimToady m: my $ext = "pl"; $ext++; say $ext
camelia rakudo-moar af4bb6: OUTPUT«pm␤»
awwaiid ah. I started with perl5 and so was indoctrinated later :)
TimToady obviously "pm" is one better :)
awwaiid TimToady++ # word math
geekosaur still uses .pl (in perl5) for things that are not intended to become executables, or which are still works in progress. don't have enough p6 around to have settled on an extension for it in those situations 18:53
jonadab remembers getting upset with Microsoft for hijacking .inf, when it was already in use for Inform source code.
TimToady remembers getting upset with Microsoft for making extensions so important in the first place... 18:54
geekosaur (also of late I have things which are .pl in the source repo and installed without the extension)
perlpilot_ TimToady: indeed! And calling them "extensions" instead of suffixes.
(or did CP/M do that?)
18:54 shayan_ left
geekosaur enh, that predates microsoft. every DEC OS, for example (and DOS did borrow from CP/M which borrowed from RSX11 or some such) 18:54
18:54 kyan joined
perlpilot_ yeah, that part of my memory is very murky 18:55
18:55 acrussell joined
jonadab is glad modern OSes didn't borrow more file path stuff from VMS. That was _confusing_. 18:55
I would like ; versioning, though.
geekosaur also VM/SP although they didn't call them either extensions or suffixes (but VM filenames were a bit weird: FOO EXEC A1 where EXEC would be the extension and A1 the device identifier)
jonadab That is a weird order. 18:56
If FOO is the filename and A1 the device, I'd expect EXEC to be the directory.
geekosaur (and under various circumstances the device id could be abbreviated to A or dropped altogether for the default device, which you can imagine made filename parsing "interesting")
TimToady the bias towards 3 letters was originally based on the use of RAD50 (also called RAD40, depending on what base you were thinking in) 18:57
jonadab Some filesystems actually stored the extension separately from the base filename, so it had its own length limit.
TimToady ayup
geekosaur well, the whole DEC thing where they mostly preferred multiples of 3 bits for register sizes (so, 6, 12, 18, 36 bits that I am aware of; the 8 bit PDP11/VAX11 was IIRC mostly for IBM compatibility reasons) 18:58
perlpilot_ Wasn't it DEC who also had 9 bit bytes for a while too?
jonadab 36-bit computing was because that was large enough to store numbers with a certain number of decimal places.
TimToady well, really, the PDP11 was very much it's own thing
jonadab Which was important in some of the sciences, I guess.
TimToady *its
geekosaur perlpilot_, yes, that was a hack to get IBM compatibility on PDP10's 36 bit word size, so they went one bit over and either ignored the 9th bit or used it for parity or etc. 18:59
again because DEC architecture worked much better in 3-bit groups 19:00
so splitting a 36 bit register into 8-bit chunks was hard, but into 9 bits was easy (and there was an addressing mode that let you address within a register with a chunk size in multiples of 3 bits and a chunk number)
19:03 Actualeyes left, FROGGS left 19:06 Actualeyes joined
Geth osystem: 938ced52a6 | (Marc Chantreux)++ | META.list
porting Rototo to perl6 was a terrible idea

  * the function signatures doesn't work the way perl5 works (much better)
  * there are cleaner solutions outthere (see XML::Writer)
19:13
lizmat starts working on the P6W 19:16
19:17 confundus joined 19:19 pyrimidi_ joined
moritz ++lizmat 19:19
19:20 darutoko left 19:21 pyrimidine left 19:22 bpmedley left, confundus left 19:27 girafe joined, cdg left 19:31 pyrimidi_ left 19:32 pyrimidine joined 19:36 confundus joined 19:37 pyrimidine left 19:38 melezhik_ joined, shayan_ joined 19:46 labster joined 19:47 lukaramu joined 19:50 TEttinger joined 19:52 pyrimidine joined 19:54 troys is now known as troys_
diakopter karma lizmat 19:55
.karma lizmat
:karma lizmat
lizmat diakopter: it's spelled "lizmat++" :-) 19:56
diakopter I guess the karma is ethereal and emergent from the clogs, as opposed to tracked by a bot
moritz correct 19:58
I'm kinda surprised that nobody has made the effort yet to trawl the logs for karma stats 19:59
TimToady that would demonstrate a lack of enlightenment :) 20:00
diakopter karmable
20:01 pyrimidine left
moritz we can't be all enlightened 20:01
20:02 pyrimidine joined 20:03 curt_ left 20:06 pyrimidine left 20:07 rafaschip left
Geth osystem: melezhik++ created pull request #284:
use canonical name for meta file
20:09
osystem: 3051606c1c | (Alexey Melezhik)++ | META.list
use canonical name for meta file
osystem: 6071e0aebe | (Alexey Melezhik)++ | META.list
Merge pull request #284 from melezhik/master

use canonical name for meta file
20:09 dugword joined 20:14 dugword left 20:15 cibs left 20:17 cibs joined 20:18 bjz joined 20:21 pyrimidine joined 20:23 pmurias left 20:27 wamba joined 20:30 Tonik left 20:34 domidumont left 20:41 kurahaupo__ is now known as kurahaupo
RabidGravy I'm not sure whether I should pleased or worried that all the tests pass in this thing having refactored a list that gets unpacked all over the place to a proper class and removed a bunch of methods 20:41
20:50 espadrine joined 20:55 bjz left 20:57 neewbie joined
neewbie hello 20:58
there is any place where can i ask for help in perl 6? i'm a beginner
perlpilot_ neewbie: this is the place :)
neewbie thanks, i have this question: how can i iterate over chars in a string? i tried my $string "help"; for $string -> $t { say $t} 21:00
moritz for $string.comb -> $t { say $t }
neewbie but it iterates over the string, returning the string itself
21:00 cdg joined
neewbie thanks moritz! :D 21:00
21:00 nicq20 left
moritz m: for 'abcde'.comb -> $t { say $t } 21:00
camelia rakudo-moar 6703b4: OUTPUT«a␤b␤c␤d␤e␤»
neewbie If no matcher is supplied, a list of characters in the string (e.g. $matcher = rx/./) is returned. 21:03
thanks :D
21:10 troys_ is now known as troys 21:12 melezhik_ left
perlpilot_ neewbie: ooc, what are you doing that needs iterating the characters of a string? 21:12
neewbie www.reddit.com/r/dailyprogrammer/c...o_many_or/ 21:13
perlpilot_ neewbie: cool 21:14
confundus neewbie: I wanted to do the hard #297 using grammars, but couldn't pull it off :( 21:17
neewbie i don't even know what grammars is in perl =( 21:18
actually, even in english my grammar is bad x-x
AlexDaniel lol, this output format 21:19
ah wait 21:20
“output: (as internal arrays to your language)”
confundus neewbie: they are really cool, imagine describing just the structure of something and let perl 6 do all the parsing 21:22
neewbie i'll try to find a youtube video about it 21:26
perlpilot_ neewbie: you could start at docs.perl6.org/language/grammar_tutorial
21:27 shayan_ left
neewbie thanks 21:27
21:28 neewbie left 21:29 neewbie joined 21:31 Actualeyes left
neewbie can i have the index with the string.comb? because the .WHAT says it is a Seq, no an array. i was trying to do .kv to return the index and value of the char 21:34
geekosaur should be able to apply .list to it? 21:35
neewbie thanks!!!
geekosaur indices are not very useful with Seq since it goes away after iteration
perlpilot_ m: my $s = "foobar"; for $s.comb.kv -> $i, $v { say "$i: $v" } # but ... you can do what you asked. 21:36
camelia rakudo-moar 6703b4: OUTPUT«0: f␤1: o␤2: o␤3: b␤4: a␤5: r␤»
21:36 kurahaupo left 21:37 kurahaupo__ joined
neewbie hm 21:37
so whats the difference between .comb.kv to .comb.list.kv? i checked, it was a typo in the variable name, i'm sorry 21:38
timotimo shouldn't be a noticable difference 21:41
21:44 Tonik joined 21:46 confundus left
AlexDaniel m: grammar G { token TOP { (<-[()]>+)? [[‘(’ ~ ‘)’ <x=.TOP> ] (<-[()]>+)?]* } }; say G.parse(‘sum ((1 2 3) (3 4 5) join)’) 21:46
camelia rakudo-moar 6703b4: OUTPUT«「sum ((1 2 3) (3 4 5) join)」␤ 0 => 「sum 」␤ x => 「(1 2 3) (3 4 5) join」␤ x => 「1 2 3」␤ 0 => 「1 2 3」␤ 1 => 「 」␤ x => 「3 4 5」␤ 0 => 「3 4 5」␤ 1 => 「 join」␤»
AlexDaniel eval: grammar G { token TOP { (<-[()]>+)? [[‘(’ ~ ‘)’ <x=.TOP> ] (<-[()]>+)?]* } }; say G.parse(‘sum ((1 2 3) (3 4 5) join)’); .say for ^9999
evalable6 AlexDaniel, rakudo-moar 6703b4c: OUTPUT«「sum ((1 2 3) (3 4 5) join)」␤ 0 => 「sum 」␤ x => 「(1 2 3) (3 4 5) join」␤ x => 「1…»
AlexDaniel, Full output: gist.github.com/6f2bdd1aeced96d194...997e9c81cf
AlexDaniel this seems to pass the 298 challenge 21:47
slap on some Actions and you're ready to go
oops, I mean 297
ah wait, there's already one Perl 6 solution there! 21:48
neewbie impressive 21:49
21:51 floutenvy joined
diakopter where is the 297 challenge 21:52
nm I see the ilnk
21:54 cibs left 21:56 cibs joined 21:57 Technaton joined
andrzejku hey 21:59
Perl6 is more functional
or imperative?
I cann't feel it
perlpilot_ andrzejku: it's whatever you need it to be. 22:00
skids funcoolperative 22:01
gfldex skids: you Sir are wrong! 22:03
m: say so v6 ~~ Cool;
camelia rakudo-moar 6703b4: OUTPUT«False␤»
22:03 floutenvy left
skids Ah but: 22:03
m: say so "Perl6" ~~ Cool
camelia rakudo-moar 6703b4: OUTPUT«True␤»
22:04 skids left
jnthn As I see it, Perl 6 doesn't try and force you to program in a functional style, but it certainly invites it. :) 22:04
gfldex I stand corrected.
m: say so * ~~ Cool;
camelia rakudo-moar 6703b4: OUTPUT«{ ... }␤»
gfldex Whatever is cool later. 22:05
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/01/09/...erbotting/
22:06 floutenvy joined
notviki What are tuits? 22:07
22:08 setty1 joined 22:09 RabidGravy left 22:10 kurahaupo__ left
lizmat notviki: seriously ? 22:10
notviki wow big weekly
lizmat: well, I know it as "get to it" as find time to do something, but the weekly says "come get your tuits at the booth"... so ... what do people get? 22:11
lizmat blog.liruoko.ru/images/tuit/tuit_002_small.jpg
notviki still doesn't get it. 22:12
What's it for?
gfldex looks like a pet rock to me :->
22:12 acrussell left
lizmat it's round 22:12
perigrin they're round tuits ... 22:13
lizmat if I give it to you, you get around to it
perigrin lizmat: you guys need to make stick versions now ...
lizmat stick versions? elaborate :-)
perigrin lizmat: so that people can stick to it ... 22:14
and keep doing whatever awesome thing they were doing before.
when they got around to it.
notviki get round toits at the booth?
I don't get it.
lizmat++ good and long weekly.
lizmat notviki: you get around to it === you get a round tuit 22:15
22:15 andrzejku left
perigrin it's a terrible english language pun. 22:15
notviki But why? Just for the pun?
What you do with them?
lizmat it's a project management tool for coworkers who tell you "they didn't get around to it"
notviki Ah haha
lizmat you give it to them, and they got around to it :-) 22:16
notviki now wants one :P
perigrin has a number of them on his bedside shelf.
notviki thought for years perigrin was female.... 22:17
jnthn has a pile of them on top of his computer :)
perlpilot_ I think I gave all of my round tuits away
I do have a lucky wooden nickel under the monitor in front of me though
notviki Only got square ones left? :P
perigrin notviki: the beard usually gives it away, but IRC makes that hard to see.
notviki ehe 22:18
perlpilot_ notviki: I gave all mine to friends/coworkers as encouragement and in the interest of "spreading the love" :-) 22:19
22:21 dugword joined
gfldex lizmat: how did you get rakudo onto the github showoff list? 22:21
22:21 Gasher joined
AlexDaniel hm… these tuits seem to be flat 22:22
depends on how you look at them, I guess :) 22:23
22:23 shayan_ joined
perigrin AlexDaniel: there's not a lot ... to ... it. 22:24
lizmat gfldex: I contacted Github using the comment form
gfldex told you so! :-> 22:25
lizmat yup :-)
22:25 dugword left 22:27 cpage_ left
perlpilot_ AlexDaniel: now you've got me wondering how hard it would be to print stuff on wooden spheres for "really round" tuits. :) 22:32
lizmat wouldn't that be a spherical tuit instead of a round one ? 22:33
perlpilot_ they'd be round in 3 dimensions instead of just 2
lizmat would prefer to have them round in the 4th dimension 22:34
AlexDaniel bwhahaha
u: ROUND 22:35
unicodable6 AlexDaniel, U+047A CYRILLIC CAPITAL LETTER ROUND OMEGA [Lu] (Ѻ)
AlexDaniel, U+047B CYRILLIC SMALL LETTER ROUND OMEGA [Ll] (ѻ)
22:35 pyrimidine left
unicodable6 AlexDaniel, gist.github.com/67c3850c7b94515e6e...61f99b9f40 22:35
22:36 pyrimidine joined 22:37 shayan_ left 22:41 pyrimidine left 22:45 Tonik left
neewbie why do i get his error if my 'ifs' are corrected nested ? Missing block (whitespace needed before curlies taken as a hash subscript?) 22:46
lizmat neewbie: because Perl 6 doesn't need parens for conditions in if and the like
if *does* need to know where the block starts
and it does that by whitespace
gfldex neewbie: please fill this form: gist.github.com/ 22:47
neewbie so if (@stack[*-1][1] eq '(') { is wrong? 22:48
lizmat m: my @stack; if @stack[*-1][1] eq '(' { } 22:50
camelia rakudo-moar 6703b4: OUTPUT«Effective index out of range. Is: -1, should be in 0..^Inf␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
gfldex neewbie: you may have some runaway quotes 22:52
we could tell you if you would show us the code
lizmat afk&
22:55 cpage_ joined
neewbie gfldex: gist.github.com/anonymous/940e1d57...0e948ab435 22:56
i don't know how to think like perl
b2gills In case anybody was wondering I believe yoleaux is run by David P. Kendal dpk.io
( yoleaux is hosted by xn--ht-1ia18f.nonceword.org and I came across ~dpk@xn--ht-1ia18f.nonceword.org with a google search )
gfldex add a ' ' before { in line 8 22:57
neewbie sigh
thanks
Y_Y
gfldex gist.github.com/gfldex/f63f6e36f40.../revisions 22:59
i like gist :)
23:05 pyrimidine joined 23:09 lukaramu left, jdmmmmm left 23:12 jraglin joined 23:13 jraglin left 23:14 jraglin joined 23:16 cpage_ left 23:17 shayan_ joined, TEttinger left 23:19 cpage_ joined, rpburkholder joined
Geth c: 429b9d92ae | (Samantha McVey)++ | util/trigger-rebuild.txt
Trigger doc rebuild to pull in highlighter fixes

  github.com/perl6/atom-language-per...dc3aea476d
23:25
23:25 floutenvy left 23:26 wamba left 23:27 wamba joined, rindolf left
samcv anybody good with regex want to assist with this highlighter issue 23:28
see regex101.com/r/lkY7j5/1
trying to stop word quoting if there is a `+` anywhere before it, but i cannot do greedy backreferences 23:29
23:32 cpage_ left, raschip joined 23:34 TEttinger joined 23:39 jraglin left 23:40 jraglin joined, shayan_ left 23:42 floutenvy joined 23:44 bpmedley joined 23:47 shayan_ joined
raschip Brazillians are starting to get happier because Carnival is getting closer. Here is little bit for you guys: www.youtube.com/watch?v=dyNJ8m0lUiU 23:48
23:49 floutenvy left, dugword joined, dugword left, dugword joined 23:50 jraglin left 23:52 dugword left 23:54 floutenvy joined 23:55 jraglin joined 23:57 floutenvy left