»ö« 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 Zoffix on 25 May 2018.
donpdonp isnt there a way to do "A" * 5 => "AAAAA" 00:09
MasterDuke m: say "A" x 5
camelia AAAAA
donpdonp haha thx
MasterDuke x repeats into a string, xx repeats into a list 00:10
donpdonp m: MIME::Base64.encode("Z")
camelia Could not find symbol '&Base64'
in block <unit> at <tmp> line 1
donpdonp so im seeing some weirdness that I dont know if base64 is supposed to work this way or not 00:11
after a certain string length, there are literal newlines in the output
timotimo yeah i think it tends to do that in some cases
but there should be a parameter for that
Juerd Base64 is specified to have crlf line endings 00:12
2rfc.net/2045#2.1
It's MIME, after all. 00:13
Also, I found this when googling: github.com/perl6/Perl6-MIME-Base64/issues/10
So apparently it does correctly implement line endings, but the wrong ones :)
donpdonp ah base64.encode("payload", oneline => True)
im at OSCON in portland oregon and there is a perl group booth 00:15
wih perl6 stickers. \o/
and a lanyard tag donp.org/i/vnDe.jpg 00:16
Kaiepi one thing i love about perl 6 is it makes programming so easy 00:18
have you ever tried to write ipc between two different languages in node?
it's callback hell 00:19
timotimo they do have async functions now 00:20
Kaiepi yeah, but not with stuff like Net 00:21
it could be so much better a language if you could use promises and async functions with the net modules 00:22
that being said it still doesn't do concurrency 00:23
well
it sort of does
the cluster module's technically multithreaded but it only uses one thread at a time
the only multithreading in node's libuv related 00:24
Geth Swapped META.info → META6.json in 5 dists in github.com/perl6/ecosystem/commit/4cb4da6b8f 00:26
Zoffix donpdonp: FWIW, you can write `oneline => True` as just `:oneline` There's a whole ton of such shortcuts for colonpairs: rakudo.party/post/Perl-6-Colonpairoscopy 00:27
donpdonp giggles at Colonpairoscopy 00:28
Zoffix: thx.
Zoffix m: say DateTime.new('2016-12-31T23:00:00-01:00').in-timezone: 0 00:53
camelia 2017-01-01T00:00:00Z
Zoffix This is wrong, innit? It should be 2016-12-31T23:59:60Z
m: say DateTime.new('2016-12-31T23:00:00-01:00').in-timezone: -1 00:55
camelia 2016-12-31T23:59:59-00:00
Zoffix m: say DateTime.new('2016-12-31T23:00:00-01:00') <=> DateTime.new('2017-01-01T00:00:00Z') 00:56
camelia Same
Zoffix Is TPF an ISO member? I recall it was a memeber of some org or something... I want a free copy of ISO 8601 and I don't see the free "draft" versions they usually got 01:10
Zoffix spots www.loc.gov/standards/datetime/iso...-02-16.pdf 01:11
don't say nothing about it 01:16
Aha: www.cl.cam.ac.uk/~mgk25/iso-time.html 01:20
"ISO 8601 does not define whether 09:00 refers to the exact end of the ninth hour of the day or the period from 09:00 to 09:01 or anything else."
I take it to mean "anything goes"
tbrowder_ Zoffix: wikipedia has a prettiy detailed entry on iso 8601 01:22
Zoffix Doesn't have any info for my question. 01:23
Also unrealiable.
Juerd What is your question anyway? :) 01:25
Zoffix Oh, I thought I asked it... 01:26
Juerd: Is 2016-12-31T23:00:00-01:00 the same date as 2017-01-01T00:00:00Z or is 2016-12-31T23:59:60Z the righter answer?
benjikun What would you guys think about having a user-help discussion board for Perl6? Something similar to Golang's forum.golangbridge.org/
Juerd *hates* the T in iso datetimes :(
Juerd tries to parse visually.
benjikun It could all be authenticated through GitHub's oauth account integration thingymabob 01:27
Zoffix Juerd: in other words, how does the timezone diff calculated when one timezone has a leapsecond, but the other doesn't, yet
Juerd Since the other timezone is defined through GMT, I thought it would get 01:59:60 for +0200, etc. 01:29
I haven't verified this at all, it's an assumption.
Zoffix m: say DateTime.new('2016-12-31T23:59:60Z').in-timezone: -3600 01:30
camelia 2016-12-31T22:59:60-01:00
Zoffix This gotta be wrong...
Juerd "On clocks that display local time tied to UTC, the leap second may be inserted at the end of some other hour (or half-hour or quarter-hour), depending on the local time zone." en.wikipedia.org/wiki/Leap_second
Doesn't sound very wrong then
Zoffix [citation needed]? :) 01:31
Juerd In this case, the wikipedia article *is* the citation ;) 01:32
Zoffix I mean, I don't see a citation reference for that particular statement in that article
I don't want some Joe's guestimations. I want Real Legit™ references 01:33
Juerd Understood and agreed 01:34
But I don't have any :)
benjikun "ally, there are some that use half-hour or even quarter-hour offsets (or even some odd offsets)" 01:36
**Actually,
www.w3.org/International/wiki/Work...hTimeZones
Zoffix Yey! Win: RFC7164: "Leap seconds do not respect local time and always occur at the end of the UTC day"
ZofBot: now I can eat!
benjikun lol 01:37
SmokeMachine Im thinking of sending a PR to rakudo that adds 4 methods on Any and 4 methods on Seq... 01:39
to make this possible: www.irccloud.com/pastebin/PTrXcS4E/ 01:40
what do you guys think?
Juerd SmokeMachine: I love it, but why on Any? 01:41
benjikun I like the individual ideas, but how does adding them on top of eachother like that make sense 01:41
SmokeMachine Juerd: if not on Any, I should do `^10 .Seq.take-while...` 01:42
benjikun `^10.take-while(* < 3)` would be (0, 1, 2), and then ignore-until would be applied to (0, 1, 2), right?
weird how you can stack them like that
Juerd SmokeMachine: Iterable? 01:44
SmokeMachine Juerd: yes, good idea! 01:45
Juerd Also, how can you find out all of the types a value is/does? 01:46
benjikun `(^Inf).take-while(* > 0)` 01:47
lol
Juerd benjikun: >=
benjikun both infinity :3 01:48
SmokeMachine www.irccloud.com/pastebin/D9BpfrQT
benjikun Still weird to me how it applies them one after another but don't feed into eachother 01:49
SmokeMachine Juerd: it’s already working...
Juerd SmokeMachine: I'm not sure what you're responding to now :) 01:50
SmokeMachine Juerd: sorry I had read something and understood something else 01:52
timotimo imgur.com/P3x44wy 01:57
Juerd Apart from the shade of blue, that looks very 1994. 01:59
timotimo not older than me, that's very good.
SmokeMachine But it’s not using nqp... :( I don’t know how fast it is...
Juerd Are you sure that's a web safe color? :)
timotimo i'm hoping i can get a design-capable person to look over it 02:00
Juerd en.wikipedia.org/wiki/Web_colors#W...afe_colors for those fortunate enough not to have experienced this horror.
timotimo once it's kind of usable
Juerd timotimo: Simply removing the tiled background does a lot :)
Anyhow, what am I looking at?
timotimo www.toptal.com/designers/subtlepatterns/ - will you recommend one? :)
timotimo it's a part of the new moarvm profiler frontend that i'm developing for a TPF grant 02:01
Juerd I'd recommend using a solid color instead :)
timotimo there'll be labels for the two graphs; the upper one is how long each gc run took, the lower is how far apart they were 02:02
Juerd Ah!
Juerd How many variables did you have? I'm amazed a gc run can take as long as 100 ms! 02:02
timotimo i don't actually remember what code that was
(the start time lacked the divide-by-1000 part) 02:04
i think i'll also put reference lines in for the average time 02:05
and each line gets its own unique combination of 3 emoji that identifies it across all profiles ever taken
then mousing over the bars should make a rippling wave effect through the graphs 02:06
but first i'll go to bed
benjikun night night timotimo
xi- I'm having a weird issue with the trim method 02:14
> $path.trim('/');
Too many positionals passed; expected 1 argument but got 2
on 2018.04.1
lookatme xi-, $path.trim() 02:18
xi- but I don't want to trim spaces
lookatme m: my $path = "/root/foo/"; $path ~~ s{/$}=""; say $path; 02:20
camelia 5===SORRY!5===
Unrecognized regex metacharacter / (must be quoted to match literally)
at <tmp>:1
------> 3my $path = "/root/foo/"; $path ~~ s{7⏏5/$}=""; say $path;
Unrecognized regex metacharacter $ (must be quoted to match literally…
lookatme m: my $path = "/root/foo/"; $path ~~ s{"/"$}=""; say $path;
camelia /root/foo
xi- m: my $path = '/root/foo/; say $path.trim('/'); 02:21
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in single quotes; couldn't find final "'" (corresponding starter was at line 1)
at <tmp>:1
------> 3path = '/root/foo/; say $path.trim('/');7⏏5<EOL>
expecting …
xi- m: my $path = '/root/foo/'; say $path.trim('/');
camelia Too many positionals passed; expected 1 argument but got 2
in block <unit> at <tmp> line 1
lookatme xi-, the trim not accept additional arguments 02:22
xi- why did I think it did
lookatme yeah, why do you think it did ? 02:23
docs.perl6.org/type/Str#method_trim
warriors does $path.subst("/","",:g) do hat u want 02:24
what
xi- this doese $path ~~ s/^\/(.*)\/$/~$0/ 02:25
actually it would if I added a few question marks
lookatme warriors, he just want remove last /
xi- no, first and last 02:26
Geth doc: d8c13a74a5 | (Zoffix Znet)++ | doc/Type/DateTime.pod6
Document .in-timezone's behaviour with UTC seconds

Per RFC 7164: tools.ietf.org/html/rfc7164#section-3 Prop spec: github.com/perl6/roast/commit/4f83...f61c4ef13a POV: exited mostly complete in Rakudo for ages, except for a small rounding(?) bug: R#2097 github.com/rakudo/rakudo/issues/2097
synopsebot Link: doc.perl6.org/type/DateTime
synopsebot R#2097 [open]: github.com/rakudo/rakudo/issues/2097 [6.d review][easy to resolve][good first issue][tests committed] Cannot parse valid leap-second dates when in weird timezones
Zoffix xi-: FWIW, if you're working with proper paths, we have IO::Path type that handles all the dirty work for you 02:28
(like differentiating between `/` and `/` with combiners on it :))
xi- they were proper paths before I started manipulating them, I'm trying to extract a hash from the middle of it 02:29
Zoffix ok :) 02:30
m: say "/root/foo/".substr: 1, *-1; 02:32
camelia root/foo
Zoffix m: say "/root/foo/".subst: :g, /^「/」|「/」$/, '';
camelia root/foo
Zoffix m: say "/root/34125wetsdgsdg45e6ywesryf/foo/".IO.parent.basename 02:34
camelia 34125wetsdgsdg45e6ywesryf
Zoffix SmokeMachine: usually stuff that works on Seqs works on Lists, and is also stuck into Any to facilitate the non-Iterable-stuff-is-a-1-el-list semantics. So sometimes just an Any candidate is enough 02:36
SmokeMachine: and .ignore-until is probably better named .skip-until, to match with the .skip method we already have
Other than proliferation of core methods, +1 on that. I like it more than .toggle 02:37
SmokeMachine: .take-* might not be a very good name either BTW, because we have .take, which emits a CX::Take control exception, so it'd be weird to have another .take-* method that does something totally different than CX::Take stuff 02:39
.oO( .pull-until / .skip-until / .pull-while / .skip-while )
02:41
to match with .pull-one on Iterators vOv
warriors IO::Path.new($path).cleanup.Str :) 03:00
warriors m: IO::Path.new("/root/foo/").cleanup.Str 03:04
camelia IO::Path is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in method new at src/RESTRICTED.setting line 32
in block <unit> at <tmp> line 1
warriors m: say IO::Path.new("/root/foo/").cleanup.Str
camelia IO::Path is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in method new at src/RESTRICTED.setting line 32
in block <unit> at <tmp> line 1
warriors anyway why does IO::Path.new("/root/foo/ ").cleanup.Str ; return /root/foo/ , while IO::Path.new("/root/foo").cleanup.Str return /root/foo 03:06
Zoffix warriors: .Str on IO::Path just returns the $.path arg you gave it. And those two paths are also equivalent 03:08
warriors yes but the stringification is different
Zoffix warriors: yes, because you gave different $.path attributes. 03:10
.absolute/.relative methods are the proper way to stringify IO::Path objects, tho I think they don't do anything special with the trailing /
Ah, no they do clean it up :) 03:11
*phew* :)
m: .absolute.say for "/tmp/".IO, "/tmp//".IO, "/tmp".IO
camelia /tmp
/tmp
/tmp
Zoffix m: .relative.say for "/tmp/".IO, "/tmp//".IO, "/tmp".IO 03:12
camelia ../../tmp
../../tmp
../../tmp
Zoffix (.Str sucks for historical reasons) 03:13
SmokeMachine Zoffix: do you think its better now? www.irccloud.com/pastebin/I4t8GSSA/ 03:14
warriors they are not equivilant path , IO::Path.new("/root/foo/ ") treats the extra two space as the basename
:)
Zoffix m: .absolute.say for "/tmp/ ".IO, "/tmp//".IO, "/tmp".IO
camelia /tmp/
/tmp
/tmp
Zoffix right, I missed that whitespace in your original message
SmokeMachine: oh no, it's terrible :( while is `.pull-while(/^en0/)` needed? 03:15
m: my $x = 42; until ++$x == 45 { say "skipping $x" } 03:16
camelia skipping 43
skipping 44
Zoffix SmokeMachine: like, "until" suggests the value that matches wouldn't actually be skipped.
SmokeMachine: ah, OK, now I get it
SmokeMachine Zoffix: or `.skip-until`do not possible get the /^en0/ line, or I have to get it on `pull-while` too... 03:17
Zoffix: does that make sense?
Zoffix SmokeMachine: yeah
SmokeMachine your answer is better than mine...
Xliff \o 03:17
substr-rw is described as: method substr-rw($from, $length?) in the docs. 03:18
What is the default value for $length?
SmokeMachine Zoffix: This works too www.irccloud.com/pastebin/fq5Dnsp1/
Zoffix Xliff: I'd guess same as .substr; "until the end of str"
Zoffix SmokeMachine: yeah, but it still sucks in that you have to specify the same condition twice basically 03:19
Xliff m: my $a = "Abc"; $a.substr-rw(2) = 'd'; $a.say
camelia Abd
Xliff m: my $a = "Abc"; $a.substr-rw(1) = 'd'; $a.say
camelia Ad
Xliff m: my $a = "Abc"; $a.substr-rw(0) = 'd'; $a.say
camelia d
Xliff OK. Thanks.
Zoffix s: ($ = "x"), 'substr-rw'
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/b308...l.pm6#L158
Xliff That should bve specified in the docs.
I'll pop an issue in and fix it.
Zoffix s: ($ = "x"), 'substr-rw', \(1)
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/b308....pm6#L2783
Zoffix Xliff: at least in Rakudo, the default is `Inf` 03:20
SmokeMachine: *shrug* maybe 4 methods ain't a good idea after all
SmokeMachine Zoffix: in my first version `.skip-until` wasn't skipping the last line too (the one that matcher with the condition), so the `.pull-while` didn't need to get it... 03:21
Zoffix SmokeMachine: but I'm not the king of the hill. Ask on the Issue and have devs comment :)
Zoffix goes to bed
SmokeMachine .tell Zoffix I like your opinion... :) 03:22
yoleaux SmokeMachine: I'll pass your message to Zoffix.
Xliff Issue in... self-assigning. 03:23
Geth doc: Xliff self-assigned substr-rw is missing an explanation into the default value of $length github.com/perl6/doc/issues/2187
f054a04606 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/syntax.pod6

  - Empty key was already reserved for custom ops categories only
  - As of 6.d `:sym` is also reserved:
   POV: github.com/rakudo/rakudo/commit/a68784a6f6
   PropSpec: github.com/perl6/roast/commit/de6df3639c
Zoffix Was gonna say a no-arg versions of those methods could skip/pull 1 item and then you could write `.say for lines.skip-until(/^en0/).pull-while.pull-while.pull-while(/^\s+/)` but now that I look at it it kinda looks weird (like a typo basically) and has this non-obvious default in it :) 03:24
yoleaux 03:22Z <SmokeMachine> Zoffix: I like your opinion... :)
Xliff my $t = <BINARY NCHAR>.ROLL; $t.substr-rw( (^$t.chars).roll, 1 ) = 'z'; $t.say 03:24
m: my $t = <BINARY NCHAR>.ROLL; $t.substr-rw( (^$t.chars).roll, 1 ) = 'z'; $t.say
camelia No such method 'ROLL' for invocant of type 'List'
in block <unit> at <tmp> line 1
Xliff m: my $t = <BINARY NCHAR>.roll; $t.substr-rw( (^$t.chars).roll, 1 ) = 'z'; $t.say 03:25
camelia BINzRY
Xliff m: my $t = <BINARY NCHAR>.roll; $t.substr-rw( (^$t.chars).roll, 1 ) = 'z'; $t.say
camelia NCHzR
Xliff m: my $t = <BINARY NCHAR>.roll; $t.substr-rw( (^$t.chars).roll, 1 ) = 'z'; $t.say
camelia NCHzR
Xliff m: my $t = <BINARY NCHAR>.roll; $t.substr-rw( (^$t.chars).roll, 1 ) = 'z'; $t.say
camelia BINAzY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = 'z'; $t.say
camelia zINARY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = 'z'; $t.say
camelia NCHAz
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = 'z'; $t.say
camelia BINAzY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = 'z'; $t.say
camelia BINzRY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say 03:29
camelia NeHAR
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia NCfAR
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia NCxAR
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia NCkAR
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia NCuAR
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia BIaARY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia BIeARY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia BINmRY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia BeNARY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia BINAnY
Xliff m: my $t = <BINARY NCHAR>.pick; $t.substr-rw( (^$t.chars).pick, 1 ) = ('a'..'z').pick; $t.say
camelia rCHAR
SmokeMachine Zoffix www.irccloud.com/pastebin/tmY7TsdQ/ 03:30
SmokeMachine more methods? `.pull-one`? `.skip-one`? 03:37
Zoffix: ^^ 03:38
SmokeMachine better yet! `.pull` and `.skip` (this one already exists) 03:53
`.skip` and `.head`? 03:54
warriors www.reddit.com/r/ProgrammingLangua..._examples/ , does rakudo now do parallel junctions 03:58
Xliff warriors: Not yet, that I know of. 04:21
warriors thanks 04:33
SmokeMachine still working on it: github.com/FCO/rakudo/commit/64cad...afaae16f33 04:44
warriors great :) 04:49
RimRoady p6: say 3 05:07
camelia 3
RimRoady p6: for(i=0,i<10,i++){say i;} 05:10
camelia 5===SORRY!5=== Error while compiling <tmp>
Whitespace required before < operator
at <tmp>:1
------> 3for(i=0,i<10,i++){say i;}7⏏5<EOL>
expecting any of:
postfix
RimRoady For(i=0;i<10;i++){say i} 05:11
RimRoady p6: for(i=0;i<10;i++){say i} 05:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Whitespace required before < operator
at <tmp>:1
------> 3for(i=0;i<10;i++){say i}7⏏5<EOL>
expecting any of:
postfix
buggable New CPAN upload: Archive-Libarchive-0.0.8.tar.gz by FRITH modules.perl6.org/dist/Archive::Lib...cpan:FRITH 09:49
sarna I've seen a reference to Paul Graham's essay in p6weekly 09:59
so I though, why won't we ask the guy what he thinks about p6
so I sent him an email 10:00
he responded!!
"I don't know anything about specific Perl versions, unfortunately." 10:01
:(
El_Che lol 10:16
:)
and the naming quesion hits us again 10:17
tbrowder_ hi, #perl6 \o 10:38
Ven` \o 10:39
tbrowder_ Ven: hi (can’t make back tic with this keyboard) 10:40
Ven` The backtick is a lie :) 10:41
tbrowder_ i just discovered, unless i made a mistake, “copy $file, $dir” throws an error—surprising, and not clear why in docs 10:42
tbrowder_ the dir exists, so the copy should work. where is IO expert Zoffix? 10:44
Zoffix SmokeMachine: .head already exists and .pull-one already exists. It's a method on the Iterator
SmokeMachine: IMO that is starting to smell like Featuritis: github.com/perl6/6.d-prep/blob/mas...featuritis 10:45
Zoffix SmokeMachine: i.e. we're presented with one program: .toggle is too complex and we start to dismantle it into now what 6? 8? methods, without having any particular usecase in mind. 10:46
s/program/problem/;
tbrowder_: you're asking to copy from name A to name B but it finds it can't use name B, because another filesystem entity already occupies that space, so it throws. It's merely an assumption that you may have meant to copy the file INTO some directory in such cases and the things get even more weird when the INTO thing is actually a dangling symlink 10:49
tbrowder_: so be explicit. Also R#2043
synopsebot R#2043 [open]: github.com/rakudo/rakudo/pull/2043 Allow directories as destinations for IO::Path.copy/move.
tbrowder_ Zoffix: thanks! 10:50
tyil sarna: poke 10:53
tbrowder_ ah, the io file to dir indeed is very complicated and fraught with peril! 10:56
sarna tyil: pong 11:04
tyil hi 11:05
I've been working to make something like norvig.com/lispy.html in Perl 6 11:06
I've ditched the approach used in his tutorial for a Grammar based solution
sarna nice! 11:07
jkramer Is there a way to change :degree and :batch for hyper and race globally? I have a script in which I use them a lot and I wonder if there's a way to avoid having to give arguments to each call
tyil I've got most of it working by now, just gonna clean up this mess and use some tricks I've just learned from moritz' book
sarna that's awesome :D
Ven` jkramer: write a small wrapper that gets them from $*DEGREE and $*BATCH? 11:08
tyil it's much more fun to make this than I anticipated, and much easier to work with when it's a grammar with actions 11:08
Ven` yeah, grammars tend to do that...
tyil should be a nice article once I get it in shape
Zoffix .tell SmokeMachine FYI: github.com/rakudo/rakudo/issues/20...-406239925 IMO we don't have *any* usecases for multi-toggle toggle. I wouldn't use some convoluted toggle system for your ipconfig example. I'd just split on the empty line 11:09
yoleaux Zoffix: I'll pass your message to SmokeMachine.
sarna can't wait to read it :)
jkramer Ven`: That's what I thought, just wanted to ask in case there's something builtin :) I mean it kinda would make sense to have global variables for that, since often times the number of cores doesn't change during runtime :)
Ven` fair enough :P
sarna tyil: lispy is pretty well-known, I think HN and r/programming are going to be interested :) 11:10
tyil neat :D
Zoffix jkramer: in the future those methods will do more advanced estimation of what's the best degree/batch is: R#1741 11:11
synopsebot R#1741 [open]: github.com/rakudo/rakudo/issues/1741 [ASYNC][RFC][perf] RFC: make default $degree in hyper/race depend on number of cores
jkramer ZofBot: Cool! 11:17
jkramer I love that you can declare callables like this in P6 <3 my &h = *.hyper(:8degree, :1024batch); 11:19
And then jus @foo.&h....
pmurias El_Che: he would have likely answered "I don't know anything about Camelia, unfortunately" if we did a rename 11:25
El_Che that's way better than I don't know about a specific version 11:26
El_Che as is "maybe I could look at this new lang" instead of "meh, a version" 11:26
pmurias "meh, a new language I have no use for" isn't that better 11:30
dotdotdot Hi, I'm using grammars that need backtracking. I tried using proto regexes, but that failed (didn't backtrack?), however regex alternation `|` works. Why is that the case? Code: framabin.org/p/?a716d7e8a1a1b493#C...gIYAYX3EY= 11:31
sarna I think a niche is forming
sarna people need a good dynamic lang 11:32
tyil but do they actually want it as well?
sarna well, some of the people who were angry with Python went to write Go 11:33
tyil most people are very fond of <their favourite lang>, and dont want to use another lang 11:33
sarna Go isn't ideal, we could reclaim them
"Camelia - your next favourite programming language"
Ven` "Camelia - your last favorite programming language" ;-) 11:34
sarna :^)
pmurias sarna: Go is fast and simple 11:34
sarna pmurias: it's not safe though, and doesn't let you have fun 11:35
Ven` fun? Go is for Adults??? like Google, these people don't have time for fun.
sarna like, look at this
m: my $foo = 5;
camelia ( no output )
sarna compiles!
in go it wouldn't :v
Ven` why not? 11:36
sarna compiler yells at you if you have unused variables/imports
Ven` ah, that
sarna they're not compiler warnings, they're errors
which is.. interesting
Ven` it's not interesting it's just bad, like Go in general 11:37
sarna a lot of people are angry with Go atm. they want a dynamic language with good concurrency support 11:38
tyil I wasn't happy with Go 11:39
nor with Rust
hence I tried Perl 6
which promises basically everything I want, and so far holds true to its Promise
sarna Rust is like.. it /should/ feel good, but something feels off, and I don't know what
tyil: I wish it was faster though 11:40
tyil the syntax doesnt feel nice, nor the docs :(
sarna but I know we're getting there :D
tyil more speed would always be better
but its fast enough for my usecases
sarna what was your issue with docs?
Ven` the Rust docs are amazing :o
tyil which are mostly automating stuff for my own servers 11:41
back when I tried it (years back), the docs felt rather clumsy and not user friendly, took my too much effort to find out what exactly they wanted me to do
sarna oh
El_Che pmurias: as in, "maybe someday I'll have a look at, maybe" instead "been there, done that"
Ven` oh, years back for sure. They've been overhauled multiple times since then.
sarna now they're really good
Ven` Rust shines in docs and compiler errors, methinks. 11:42
tyil better compiler errors than perl 6?
Ven` different kind really.
sarna I'd say yes 11:43
Ven` blog.rust-lang.org/2016/08/10/Shap...-come.html
if you're interested.
sarna they even link you to in-depth explanations
tyil I am slightly interested tbh
but I also want to finish this scheme parser :.
Ven` They took a page from Elm's book, here: elm-lang.org/blog/compiler-errors-for-humans
tyil hm, `method procedure:sym{"<"} ($/)` seems to be not accepted 11:46
but I cant do sym<<> either
how would I get < as the symbol for this method name? 11:47
Ven` m: procedure:sym<< < >> {} 11:50
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
procedure:sym«<» used at line 1
Ven` m: syb procedure:sym<< < >>() {}
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected block in infix position (missing statement control word before the expression?)
at <tmp>:1
------> 3syb procedure:sym<< < >>()7⏏5 {}
expecting any of:
infix
Ven` m: sub procedure:sym<< < >>() {}
camelia ( no output )
Ven` sigh.
MasterDuke i think you have the use the unicode << 11:55
Ven` I just demonstrated you didn't :c
MasterDuke heh, that you did
buggable New CPAN upload: Hash-Restricted-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz 11:59
pmurias sarna, Ven`: being an elaborate fun language is explicitly *NOT* a goal of Go 12:02
Ven` I'm sure of that. The explicit goal is to help people not bright enough to write C++. :P 12:03
tyil Ven`: the << < >> works, thanks :D 12:04
sarna pmurias: yup, I know that :) still, if its goal was to be a good language for concurrency, it failed at that 12:07
Ven` what's fan lang? 12:08
pmurias a Perl 6 kinda of subset/spin off compiling to lua 12:08
Ven` I've never heard of it 12:12
pmurias Ven`: it hasn't been released
Ven` who works on that? 12:13
pmurias (and no, it's not a backend I'm writing)
Ven` hahahahaha
pmurias Ven`: agentzh
MasterDuke and ingy 12:14
pmurias ingy doesn't work on it anymore, but AFAIK it's an internal OpenResty tool
Ven` I think ingy is busy with testml :) 12:15
Ven` > method pass??-compos?? { 12:21
oh, Perl 6. :-)
SmokeMachine .tell Zoffix I’ll make a ecosystem module with that... 12:24
yoleaux 11:09Z <Zoffix> SmokeMachine: FYI: github.com/rakudo/rakudo/issues/20...-406239925 IMO we don't have *any* usecases for multi-toggle toggle. I wouldn't use some convoluted toggle system for your ipconfig example. I'd just split on the empty line
SmokeMachine: I'll pass your message to Zoffix.
pmurias El_Che: regardless of what Perl 6 is/will be called I'm not aware of a good marketing hook we have to make people give it a try besides pure curiosity 12:43
Ven` pmurias: like grammars you mean?
faraco Make JVM a priority I guess? 12:44
pmurias faraco: I'm working on the JVM/GraalVM/Truffle backend today ;) 12:46
Ven`: grammars would be one possible marketing hook 12:47
faraco pmurias: Nice :D 12:55
Ven` pmurias: I'm soo happy you're working on such a backend, btw. I've been following Graal&Truffle for many years now (since back when I did Ruby...), have seen a few presentations on it, and it's just incredible. 12:59
pmurias MasterDuke++ has been helping along with it too 13:01
Ven` MasterDuke++ # for loops and other goodness! 13:03
titsuki bisectable: my %dict; say !%dict<a>:exists; say %dict<a>:!exists; 13:48
bisectable6 titsuki, Bisecting by output (old=2015.12 new=e9e8cd5) because on both starting points the exit code is 1
titsuki, bisect log: gist.github.com/91f657516b75b08b05...55156fb3a3
titsuki, There are 6 candidates for the first “new” revision. See the log for more details 13:49
buggable New CPAN upload: Chart-Gnuplot-0.0.5.tar.gz by TITSUKI modules.perl6.org/dist/Chart::Gnupl...an:TITSUKI 13:59
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Build-0.0.5.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK 14:09
pmurias .tell Zoffix what is Your? 15:31
yoleaux pmurias: I'll pass your message to Zoffix.
Zoffix . 16:05
yoleaux 12:24Z <SmokeMachine> Zoffix: I’ll make a ecosystem module with that...
15:31Z <pmurias> Zoffix: what is Your?
Zoffix pmurias: the nearly-minimum compiler that passes the Perl 6 Specification. The only requirement is that it must produce valid TAP output and the number of tests in the TAP must match the number of spectests 16:06
And since it passes the spec, it can claim to be a Perl 6 compiler. 16:07
But it'll have a bun of stuff like `sub ok(|) { pass }` for example. There's no functionality requirements other than the literal content of the spec.
Zoffix That's as far as its implementation goes, with the purpose of seeing how useless it is after implementing the entire spec. From the front-end, it'll serve as an invitation/education point for people wanting to write Perl 6 compilers and for us to explore whether we have any roadblocks for featuring multiple compilers. 16:09
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Build-0.0.6.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK
Zoffix So pmichaud's concerns in this comment will be basically addressed: github.com/perl6/perl6.org/issues/...-372381163
We will no longer sweep the problem of multi-implementation under the rug, pretending it can't exist, but instead use the Your as the second impl, and in its space Your will invite/educate compiler writers, until we have more than one open source impl 16:10
Also, it's not Your, it's Your™ :) 16:11
Zoffix s/bun of stuff/bunch of stuff/ 16:14
raschipi Zoffix: It should at least be able to run a Hello World program, I think, so that other infrastructure besides roast can be tested. Can they be installed side by side, for example. 16:16
raschipi Just cheat with a if /say 'hello world';/ { say 'hello world' }; 16:17
Zoffix When I'm done, it'll have a nice page explaining how you can make You™ compiler and implement whatever you want in it ;) 16:19
raschipi You IRC redirection is out? 16:20
Zoffix raschipi: what? 16:26
Zoffix X::Syntax::Malformed 16:29
Zoffix m: class X::Waat is Exception { has $.n; method message { "$n, wat u meen bruh?" } }; die X::Watt.new: n => <raschipi> 16:30
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$n' is not declared. Did you mean '$!n'?
at <tmp>:1
------> 3 Exception { has $.n; method message { "7⏏5$n, wat u meen bruh?" } }; die X::Watt.n
Zoffix m: class X::Waat is Exception { has $.n; method message { "$!n, wat u meen bruh?" } }; die X::Watt.new: n => <raschipi> 16:30
camelia Could not find symbol '&Watt'
in block <unit> at <tmp> line 1
raschipi irc.perl6.org looks out
Zoffix Ah
I don't have access to that box
Well, other than hypervisor for rebooting it
raschipi It just your domain name, then, ok.
Zoffix It's not 16:31
It's not my domain name
oh, you mean irc.perl6.PARTY
raschipi Yes, sorry
Zoffix Yeah, linode died yesterday and it doesn't have autostart 16:33
Zoffix It's back up now. 16:33
raschipi thanks 16:34
donpdonp with out any 'use JSON::something' statement, to-json is available at the perl6 repl. 16:53
which library is that coming from 16:54
im pretty sure i came across a json serialization bug
MasterDuke donpdonp: there's an internal (to|from)-json, but it's deprecated for normal use 16:58
m: say to-json(1)
camelia 1
donpdonp k. i get the same err from json::fast
MasterDuke ugh, don't remember how to turn on deprecation warnings for camelia 16:59
jnthn Hm, locally it gives me the deprecation warning on using that
MasterDuke e: say to-json(1)
evalable6 1
Saw 1 occurrence of deprecated code.
===================================================…
MasterDuke, Full output: gist.github.com/b61da0315863a2da5a...7c19f42a97
jnthn ah, camelia suppresses them
donpdonp m: my $hash = {a=>"A", b=>"B"}; to-json [$hash]
camelia ( no output )
MasterDuke donpdonp: then should ping timotimo
donpdonp i thought there might be a depedency between json::fast and the internal one since they act identical, but maybe thats a coincidence 17:00
timotimo: gist.github.com/donpdonp/539e49d07...ff8e406f7c
jnthn That's not the JSON module, that's because of the single argument rule 17:01
jnthn If the thing placed into a [...] is Iterable then it makes an array from the iteration of that thing 17:01
Try [{a=>"A", b=>"B"},] 17:02
donpdonp :O well thats confusing. thx
,] does fix it. 17:03
jnthn m: dd [1..10] # means things like this work :) 17:04
camelia [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
jnthn Or [@bar.grep(&foo)] and so forth
donpdonp m: my $host = "abc"; "@{$host}" 17:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of @{$host}; in Perl 6 please use @($host) for hard ref or @::($host) for symbolic ref
at <tmp>:1
------> 3my $host = "abc"; "@{$host}7⏏5"
donpdonp is that a bug, or p6 syntax creativity that im not aware of? <grin> 17:14
m: my $host = "abc"; "\@{$host}" 17:15
camelia WARNINGS for <tmp>:
Useless use of "\\@{$host}" in expression "\\@{$host}" in sink context (line 1)
donpdonp hmm on my repl I get the expected "@abc" 17:15
Zoffix donpdonp: what's the bug part?
donpdonp Zoffix: i would expect "@{$host}" to be "@abc" instead of an error 17:16
Zoffix donpdonp: you can use the indirect ref, shown in the error message
indirect lookup
donpdonp is it saying the {} syntax can change while inside a quoted sting?
geekosaur they dson'r want a ref, they wannt literal @ followed by expr $host expanded
MasterDuke donpdonp: the repl automatically prints the last value evaluated, but with the bots you have to explicitly print
geekosaur but are getting intterpolation on the @ instead
donpdonp the @ being outside "{}" the subsitution area is whats throwing me off. 17:17
Zoffix Ah
donpdonp there are more special characters than {} while inside a string?
Zoffix donpdonp: the {} is the codeblock
geekosaur yes, things that look lie variables get interpolated
donpdonp right, which is why im puzzled that @ would create a syntax error outside the codeblock
geekosaur: ah i see
geekosaur (possibly with postcircumfixes, which means you can call some methoids that way as well)
Zoffix donpdonp: some of the errors are purposeful breaking of the language on the assumption the user is meant a construct from another language, like I'm guessing Perl 5's constructs 17:18
in this case
Zoffix R#1356 17:19
synopsebot R#1356 [open]: github.com/rakudo/rakudo/issues/1356 [RFC] Let's remove most (if not all) perl5-oriented error messages for variables
kanbas Heya sorry for asking so many questions, but does anybody know of anywhere I can read up on using threads with collections? I'm trying to use atomic operations with lists and not getting very far
donpdonp Zoffix: thx. 17:20
Zoffix donpdonp: FWIW, I often find it more helpful to use single quotes, and the \qq[] escape syntax inside of them whenever I need to interpolate a variable or something. 17:21
moritz kanbas: the thread-safe data structures in Perl 6 are Promise (scalars), Channel (list/quues) and Supply (streams for the Observable pattern)
Zoffix m: my $host = 'abc'; say '@{\qq[$host]}'
camelia @{abc}
Zoffix m: my $host = 'abc'; say '@\qq[$host]'
camelia @abc
kanbas moritz: Okay, cheers
donpdonp looks at that syntax then runs screaming out of the room 17:22
m: '\qq[1]'
camelia ( no output )
donpdonp m: say '\qq[1]'
camelia 1
jnthn kanbas: The various atomic operators work on Scalar containers, which may be individual elements of an Array, for example, but they don't magically make the Array itself safe. 17:23
Zoffix donpdonp: the longer way to write double quotes is the `qq` quoter: `say qq♥meows♥`.. So the escape is the escape char `\` and the very same `qq` after it to instroduce the `qq`-type interpolation instead of single-quote interpolkation mode
BTW, the indirect syntax in the error doesn't actually work in that case
jnthn kanbas: There are a copule of lock-free data structures implemented as Perl 6 modules. 17:24
kanbas jnthn: Okie doke, I think I'll look at restructuring things so that I use channels instead of the awkward approach I'm currently using. Years of Java makes some habits harder to break than others it seems
Zoffix m: my @abc = <foo bar ber>; my $host = "abc"; "@{$host}"
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of @{$host}; in Perl 6 please use @($host) for hard ref or @::($host) for symbolic ref
at <tmp>:1
------> 3oo bar ber>; my $host = "abc"; "@{$host}7⏏5"
jnthn :)
Zoffix m: my @abc = <foo bar ber>; my $host = "abc"; "@::($host)"
camelia WARNINGS for <tmp>:
Useless use of "@::($host)" in expression "@::($host)" in sink context (line 1)
Zoffix m: my @abc = <foo bar ber>; my $host = "abc"; say "@::($host)"
camelia @::(abc)
Zoffix m: my @abc = <foo bar ber>; my $host = "abc"; say "@::($host)[]"
camelia foo bar ber
Zoffix mh, I guess it's fine
m: say "yo{" brah{" I herd {"setouq ekil u".comb.reverse.join} so I got"} quotes in your"} quotes" 17:27
camelia yo brah I herd u like quotes so I got quotes in your quotes
Zoffix donpdonp: how's this syntax? :)
donpdonp Zoffix: ha, its understandable because its just one {} mechanism.
'\qq[]' on the other hand, will haunt my dreams. 17:28
TimToady it's only for occasional use in emergencies
Zoffix m: "&say("heh, @(<ko revetahw>)».flip()")" 17:29
camelia heh, ok whatever
moritz donpdonp: Perl 5's "foo ${\join $x, @blah} bar" haunts my dreams :D 17:31
TimToady usuallly sticks to @{[]} because it's slightly less ugly 17:32
moritz ... and slightly more confusing, unless you have more than one element to interpolate 17:33
moritz ... in which case you need to know what $" is right now, or something? 17:33
TimToady m: my $host = "abc"; say qc[My host is @{$host}.]; 17:34
camelia My host is @abc.
Zoffix TimToady: "<TimToady> we might possibly reserve :sym at that point as well" colabti.org/irclogger/irclogger_log...1-25#l1076 17:43
TimToady: is that just for routines, or should it be reserved on variables too?
$ ./perl6 -e 'use v6.d.PREVIEW; sub meows:sym<z> {}' 17:44
===SORRY!=== Error while compiling -e
The :sym<> colonpair is reserved
But `my $meows:sym<z>` is currently accepted
Also, where's this extended naming stuff documented?
Zoffix cringes at the new "█████████████████████████████████████████" bars on teh docs site :S 17:45
Zoffix Looks like this is the place: docs.perl6.org/language/syntax#Identifiers 17:50
Zoffix ZofBot: no one's talking no more. It's just me and you, bud. 17:55
El_Che Zoffix: are you one of ZofBot's bots? 17:56
Zoffix I'm many of ZofBot's bots. 17:57
synopsebot Link: doc.perl6.org/language/syntax
Zoffix TimToady: I did subs only. If `:sym` needs to be reserved on variables too, ping me. And if it needs to be reserved, what about empty-key colonpairs? (`my $foo:<blah>`) right now they aren't reserved on vars either; on subs they cry about wrong category name 18:05
TimToady m: say &foo:<bar> 18:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
foo:<bar> used at line 1
TimToady hmm
TimToady tends to prefer informal reservations over formal ones, but that might just be a character flaw 18:16
Zoffix FWIW, you can make Callable variables with "forbidden" names 18:17
m: my &meowfix:sym<bar> = {$^a + $^b}; 2 bar 3
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my &meowfix:sym<bar> = {$^a + $^b}; 27⏏5 bar 3
expecting any of:
infix
infix stopper
statement end
statemen…
Zoffix m: my &meowfix:<bar> = {$^a + $^b};
camelia ( no output )
Zoffix m: sub meowfix:<bar> {$^a + $^b};
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot add tokens of category 'meowfix'
at <tmp>:1
------> 3sub meowfix:<bar>7⏏5 {$^a + $^b};
Zoffix e: use v6.d.PREVIEW: sub meowfix:sym<bar> {$^a + $^b};
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/h_PDo3Rmxs
Confused
at /tmp/h_PDo3Rmxs:1
------> 03use v6.d.PREVIEW08⏏04: sub meowfix:sym<bar> {$^a + $^b};
Zoffix e: use v6.d.PREVIEW; sub meowfix:sym<bar> {$^a + $^b}; 18:18
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/iw03l4NncY
The :sym<> colonpair is reserved
at /tmp/iw03l4NncY:1
------> 03use v6.d.PREVIEW; sub meowfix:sym<bar>08⏏04 {$^a + $^b};
Zoffix e: use v6.d.PREVIEW; my &meowfix:sym<bar> = {$^a + $^b};
evalable6
TimToady I suspect anyone demented enough to create meowfix subs is sufficiently imaginative to realize how much trouble they could be getting into :) 18:20
Zoffix :)
TimToady Perl 6 provides plenty of convenient jungle to go out and get eaten in. 18:22
TimToady Perl is very far from a language where everything that is not mandatory is forbidden. :) 18:23
[Coke] I thought the bars on titles was inserted and quickly removed; still there?
[Coke] Perl 6: The Jumanji of languages? 18:24
hythm p6: my $str = ">"; my &code = &infix:<<$str>> # doesn't work, if each statemment in a line by it self it works 18:25
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in code at <tmp> line 1
5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:…
Zoffix [Coke]: they're still on this page: docs.perl6.org/language.html 18:25
m: my $str = ">"; ␤ my &code = &infix:<<$str>> 18:26
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in code at <tmp> line 2
5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:…
Zoffix hythm: doesn't look like it works with line byitself either?
m: constant $str = ">"; my &code = &infix:<<$str>>
camelia ( no output )
Zoffix m: constant $str = ">"; my &code = &infix:<<$str>>; say code 2, 3
camelia False
Zoffix m: constant $str = ">"; my &code = &infix:<<$str>>; say code 4, 3
camelia True
hythm in repl if I wrote my $str = ">" then hit enter, and write second statment it works 18:27
[Coke] Zoffix: weird. wonder if it's intended to make MIGRATION GUIDES a header.
can you open a doc ticket for that? if tb can't fix it, I'll take a shot this weekend.
Zoffix hythm: that's a quirk of the REPL.
diakopter [Coke]: more like the Heart of Darkness of languages 18:28
[Coke] Would rather those just ended up as headers. ah, they also have pages that don't need to exist.
DIAKOPTER
long time no see
Zoffix hythm: or I guess a quirk of the REPL that avoids a bug where variables in «» must be compile-time known when used in stuff like &infix... There was a ticket somewhere for that
diakopter [Coke]: or Through Gates of Splendor, more like
hythm Zoffix sure, how to open it? is ther a URL I can go to?
Zoffix hythm: I meant this is already filed as a bug 18:29
hythm: but new bugs are usually filed at github.com/rakudo/rakudo/issues/new
hythm ah noted
Zoffix but the bug was filed on RT, I believe. So it'd be somewhere in fail.rakudo.party/
diakopter puts away esoteric allusion puns 18:30
Zoffix hythm: found it: RT#127284
synopsebot RT#127284 [new]: rt.perl.org/Ticket/Display.html?id=127284 "&infix:«$var»" interpolation throws spurious compile-time warning
Zoffix [Coke]: D#2188 18:33
synopsebot D#2188 [open]: github.com/perl6/doc/issues/2188 Language page has weird ascii bars
diakopter [Coke]: LTNS indeed 18:35
hythm Is there a way to convert str "<", ">",.. to their respective sub? soemthing like I was tryiuing to do above 'my $str = "<"; my &code = &infix:<<$str>>' 18:35
moritz m: my $op = '<'; say &::("infix:«$op»") 18:36
camelia proto sub infix:«<» ($?, $?, *%) {*}
moritz m: my $op = '<'; say &::("infix:«$op»")(3, 5)
camelia True
moritz hythm: ^^
hythm great, thanks
kaiser_ Zoffix b2gills and others: A huge thanks for your help yesterday. Much appreciated. 18:45
I have tried your version today at work, with and without sprintf (surprisingly, non-sprintf version is only slightly faster), and here's the result:
The initial run is now twice as fast but still takes about 50 seconds. Subsequent runs are also a bit fast than my original version, around 0.36s.
This is on Ubuntu 16.0.4 and Rakudo Star version 2018.01
The fastest version is here: gist.github.com/kaisersparpick/289...29145c36a2 18:46
What still seems weird is why the script pauses for around 50 seconds after the first loop. 18:47
raschipi kaiser_: Did you try the command i sent you? 18:49
kaiser_ drop_caches? No, sorry, it was the first thing on my list and totally missed it! Duh! Just realised when I got home. I'll try it tomorrow :) 18:51
MasterDuke kaiser_: what's the input?
kaiser_ This is a simple script that counts lines and words in a Node.js project. The input is a list of oroject root diretories. 18:52
kaiser_ I mean list a number of Node.js projects. 18:52
MasterDuke and it pauses after the first 'count-stuff'?
kaiser_ Oh, I can't type today :( A list of Node.js projects. 18:53
It pauses after the first loop, just before printing "Subtotal".
MasterDuke huh, didn't do it for me 18:55
kaiser_ Out of curiosity, I've also written a Python version. It always finishes in cca 0.017s. gist.github.com/kaisersparpick/ab1...e4dcd3bdd6
MasterDuke kaiser_: are the projects you're running in against available to clone/download somewhere? 18:56
kaiser_ Sorry no, they are rather confidential but I'll try to create something similar to test it with, which I will be able to share. 18:57
MasterDuke kaiser_: you could also try stracing it. the -r option will print the time diff between successive calls 18:58
kaiser_ The Perl 5 version runs fine for me too, on the same machine. So I suspect it must have something to do with my installation on Rakudo? 18:58
* of Rakudo
MasterDuke maybe, but i don't remember hearing of anyone else having a similar problem 18:59
diakopter kaiser_: just create an installation tree for no-one-left-behind
kaiser_: or npm-bomb 19:00
kaiser_ The node_modules folder is excluded and the other project folders are two level deep at most. 19:01
diakopter (I'm kidding, that would be all 665,000 packages in npm, quite a few TB) 19:02
oh
kaiser_ :)
Oh just looked at npm-bomb... Neat :) 19:03
b2gills kaiser_: Perl 6 is sufficiently far from the hardware that it is difficult to impossible to correctly guess what approach will be the fastest 19:05
kaiser_ b2gills: I'm perfectly happy with the performance of the subsequent runs and also perfectly happy with any of the suggested improved versions of the code - they're all better than my original :). I'll try and test it on my box at home and if I can't replicate the issue, than it must be something specific to the machine in the office. 19:12
b2gills kaiser_: Really if you want to speed up the code it might be best to run the profiler, and look at what's taking the longest to run. 19:14
kaiser_ Sounds good. How can I do that? 19:15
b2gills perl6 --profile example.p6 file.in
kaiser_ Thx!
b2gills It generates an html report
[Coke] tbrowder_: btw, please understand I am not attempting to be negative about this stuff; it's just much easier to have opinions on stuff that already exists. Thanks so much for getting things moving on this project! 20:05
sdo hello 20:27
do you know a place where I can find info regarding inheritance with Perl 6 and OO 20:28
thanx in advence
raschipi sdo: docs.perl6.org/language/objects#Inheritance 20:30
Geth doc: 11d081bd19 | (Aleks-Daniel Jakimenko-Aleksejev)++ | manage-page-order.p6
Unbust doc build

Argh. My guess is that the problem is in Pod::To::BigPage as it expects a non-empty subtitle and starts crying if it's empty. That should be fixed properly, but for now I just want to let the docs website rebuild. Also, we should ot have these categories as table rows, but I believe that the work for that is in progress.
20:41
raschipi Can we have an htmlifarevable that tells us about doc rebuilds? 21:01
AlexDaniel well, you can just take a look at docs.perl6.org/build-log/ 21:12
El_Che AlexDaniel: maybe the bots could be melted into one. By now this channel has more bots than Perl 5 OO systems 21:13
AlexDaniel El_Che: is it a problem? 21:15
I mean, there are lots of people in this channel, and just a small % of them are bots. And the problem is …? 21:16
rejoins are annoying that I agree, but lately these don't happen that often
and if I was to change something, I'd rewrite these bots to use Matrix (so that they're always online) 21:17
instead of IRC directly I mean
geekosaur El_Che's going a bit botty? 21:21
ingy what time of day is masak around?
AlexDaniel .seen masak
yoleaux I saw masak 07:44Z in #moarvm: * masak .oO( Saruman )
ingy UTC? 21:22
AlexDaniel yes 21:23
that's actually very early, hmm… (or very late?)
ingy 14 hours ago 21:24
AlexDaniel ingy: I'd say 18-20 is a better bet
ingy 18-20? 21:25
AlexDaniel yeah, 18:00 ⌁ 20:00
ingy he's only here 2 hours a day?
how efficient! 21:26
AlexDaniel I'm judging by messages like colabti.org/irclogger/irclogger_log...07-14#l595
tbrowder_ AlexDaniel: i’m getting close to pushing PR on doc issue #2185, reorg, and the Language pages work fine without a subtitle for the group entries on my local machine. the reorg i hope will help speed up the Language page redo after 2185 is merged. 21:33
AlexDaniel cool
Geth doc: tbrowder++ created pull request #2189:
Doc reorg
21:40
El_Che AlexDaniel: problem? not at all 21:43
AlexDaniel tbrowder_: cool, left some comments 21:49
tbrowder_: why are we even trying to have build/ in git? 21:50
tbrowder_: isn't the whole point of having a build/ directory so that you can wipe it completely at any time and also put it into .gitignore 21:51
tbrowder_ well, i think travis puked if the build dirs aren’t there—maybe some yml work could help that 21:54
AlexDaniel I don't think there's anything travis-specific going on there 21:57
try removing the build/ directory locally and see if stuff works
tbrowder_ ok (he says, grimacing), you mean push that change to my PR? 22:00
here goes... 22:01
AlexDaniel tbrowder_: there are merge conflicts with manage-page-order.p6 but you can ignore that for now 22:05
tbrowder_ roger 22:06
AlexDaniel that's because I touched that file trying to fix the doc build…
tbrowder_ i just pushed the deleted build dir, no Makefile change yet 22:07
tbrowder_ ok, i obviously haven’t been paying attention. have we bailed out ofntravis completely? 22:20
do i need to learn a brand new config? i’m getting too old for all these changes! 22:21
AlexDaniel tbrowder_: no, travis is still there 22:23
it did not run for your pull request for some reason, but I don't know why 22:24
tbrowder_ shippable doesn’t seem to have a problem with no build dir if i read it right... 22:25
DrForr o/ 22:38
Has the fact that the "Cannot locate native library '..':" error doesn't state a filename/line been reported? 22:40
AlexDaniel DrForr: heh just 209 tickets to look through: github.com/rakudo/rakudo/issues?q=...abel%3ALTA fail.rakudo.party/t/LTA 22:53
DrForr I'll have a look, thanks. This is the first yak on the way to getting Cro working again. 22:54
AlexDaniel DrForr: fwiw I don't think it was 22:55
I also looked at nativecall tickets, nothing there
well, I mean, not relevant to that issue
s/not/
/
DrForr You don't think it was reported? I'll look first.
AlexDaniel yea 22:56
DrForr "Not found module" message does not include file - maybe related, but not quite. 22:57
'kay, I don't see it. Is the appopriate way still a message to [email@hidden.address] 22:58
*appropriate 22:59
timotimo there's also the github issue tracker 23:05
it's slightly favoured over RT
DrForr Should I just file in GH? 23:07
AlexDaniel DrForr: yes 23:08
↑ that's to your last question :)
DrForr Thanks. Doing so in a sec. 23:09
DrForr github.com/rakudo/rakudo/issues/2101 # If someone could add a 'LTA' label? (I seem unable to, otherwise I would.) 23:23
timotimo done 23:24
Geth perl6-pod-to-bigpage: 195273a014 | (Tom Browder)++ (committed using GitHub Web editor) | bin/pod2onepage
reformat to ease understanding code
23:32
DrForr My current thinking is that I'd love to sit down and write a quick wiki in Cro so that there are more real-world applications out there, but it relies on IO::Socket::Async::SSL, and that seems to have the problem I had with Readline, and probably still do in a few regards. 23:48