»ö« 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:03 MasterDuke joined 00:05 AlexDaniel left 00:06 sharksoft joined 00:07 kurahaupo joined, mcmillhj joined 00:10 skids joined 00:12 mcmillhj left 00:13 Rawriful left 00:17 Actualeyes left 00:20 Kyo91 joined
timotimo tries out zscript 00:21
00:23 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo hum, it wants complete control over my perl6 builds folder 00:23
00:24 Kyo91 left 00:26 mcmillhj joined 00:31 mcmillhj left 00:33 aindilis joined 00:36 cdg left 00:37 cdg joined 00:38 mcmillhj joined 00:41 cdg left 00:42 pierre joined 00:43 mcmillhj left, pharv left 00:45 konsolebox left, konsolebox joined 00:48 espadrine left 00:54 mcmillhj joined 00:59 mcmillhj left 01:02 Zoffix joined
Zoffix m: my @files = reverse <a b c d e f g h i j>.reverse ... <d g h>.any; dd @files; 01:02
camelia Array @files = ["h", "i", "j"]
Zoffix Any cool tricks to make that produce `<a b c d e f g h>` instead? Basically everything until the LAST match of the RHS of … 01:03
m: my @files = <d g h>.map({<a b c d e f g h i j> ... $_}).sort(-*).head; dd @files; 01:04
camelia Array @files = ["a", "b", "c", "d", "e", "f", "g", "h"]
Zoffix Guess that's sufficiently sufficient...
timotimo you mean like a ...^ ? :) 01:05
Zoffix Nah
timotimo oh, until all of the end points have been seen?
Zoffix Until the last one.
timotimo yeah, whichever comes last?
Zoffix Basically, I'm raking through SETTING filelist, and I want all the files that come before Code.pm6, Routine.pm6 and Sub.pm6, regardless of how those three are oredered :) 01:06
Yeah
01:07 mcmillhj joined
timotimo m: <a b c d e f g h i j>.grep({ (state %set := <d g h>.Set){$_}--; so %set }).perl.say 01:07
camelia Cannot resolve caller postcircumfix:<{ }>(Mu, Str); none of these signatures match:
(\SELF, \key)
(\SELF, \key, Mu \ASSIGN)
(\SELF, \key, Mu :$BIND! is raw)
(\SELF, \key, :$delete!, *%other)
(\SELF, \key, :$exists!, *%oth…
Zoffix :D
timotimo m: <a b c d e f g h i j>.grep({ (state $set = <d g h>.Set){$_}--; so $set }).perl.say
camelia Cannot resolve caller postfix:<-->(Bool); the following candidates
match the type but require mutable arguments:
(Mu:D $a is rw)
(Int:D $a is rw)
(Bool:D $a is rw)

The following do not match for other reasons:
(Bool:U $a…
timotimo m: <a b c d e f g h i j>.grep({ (state $set = <d g h>.SetHash){$_}--; so $set }).perl.say 01:08
camelia ("a", "b", "c", "d", "e", "f", "g").Seq
timotimo you wanted the last one, too?
Zoffix neat timotimo++
01:08 itaipu left
timotimo gulps down some yucky cold medicine to celebrate 01:09
01:09 itaipu joined
timotimo m: <a b c d e f g h i j>.grep({ (state $set = <d g h>.SetHash); LEAVE $set{$_}--; so $set }).perl.say 01:09
camelia ("a", "b", "c", "d", "e", "f", "g", "h").Seq
timotimo phasers are so darn cool 01:10
Zoffix :D
yeah
timotimo sheesh, i feel it burn inside my belly :|
Zoffix What cold medicine are you drinking? 01:11
timotimo 18 Vol-M alcohol
Vol-%
Zoffix :o
timotimo it's "Wick MediNait"
basically a mixture of painkillers and i think something to prevent runny nose and such? 01:12
01:14 itaipu left 01:15 mcmillhj left 01:18 pharv joined 01:19 w_richard_w joined 01:21 pierre left 01:22 mcmillhj joined 01:23 pharv left 01:27 mcmillhj left 01:34 epony left 01:35 Actualeyes joined 01:38 cdg joined 01:39 pierre joined 01:42 mcmillhj joined 01:43 cdg left 01:46 mcmillhj left, aborazmeh left 01:48 epony joined 01:49 itaipu joined 01:54 MasterDuke left, mcmillhj joined 01:58 st_elmo is now known as john_parr 01:59 john_parr left, john_parr joined, mcmillhj left 02:00 cdg joined 02:09 konsolebox left, releasable6 left 02:10 releasable6 joined, ChanServ sets mode: +v releasable6 02:11 mcmillhj joined, konsolebox joined 02:14 lichtkind left 02:15 mcmillhj left 02:21 sharksoft left 02:24 konsolebox left 02:25 konsolebox joined 02:29 mcmillhj joined 02:34 mcmillhj left 02:39 shareable6 left 02:42 mcmillhj joined 02:44 Zoffix left, w_richard_w left 02:45 lookatme joined, ilbot3 left 02:47 mcmillhj left 02:54 mcmillhj joined 02:55 ilbot3 joined, ChanServ sets mode: +v ilbot3 02:57 cdg left 02:58 cdg joined 02:59 mcmillhj left 03:02 cdg left 03:03 epony left 03:05 mcmillhj joined 03:07 lichtkind joined, epony joined 03:08 scovit left 03:09 mcmillhj left 03:10 scovit joined 03:16 wamba joined 03:20 mcmillhj joined 03:21 pierre left 03:22 Actualeyes left 03:25 mcmillhj left 03:29 pierre joined 03:32 mcmillhj joined 03:34 shareable6 joined, ChanServ sets mode: +v shareable6 03:35 vike left 03:36 mcmillhj left 03:45 ufobat_ joined 03:49 ufobat left 03:51 mcmillhj joined 03:53 itaipu left 03:56 mcmillhj left 04:09 mcmillhj joined 04:14 pierre left, mcmillhj left
ZzZombo I don't understand how do `==>`/`<==` work, how do they supply arguments to routines? Since from purely syntax view, `grep(*.blah)` already has it's arguments defined. What magic is this? 04:15
Is it possible to make this work as well:
m: say (1,2,3 ==> grep(* > 1) ==> succ())
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
succ used at line 1
ZzZombo ?
04:17 vike joined 04:20 pierre joined 04:21 mcmillhj joined 04:24 pierre left 04:26 ribasushi left, mcmillhj left 04:27 ribasushi joined 04:34 mcmillhj joined 04:38 mcmillhj left 04:48 mcmillhj joined 04:52 mcmillhj left 04:58 riibunisu joined
Xliff m: say (1,2,3 ==> grep(* > 1)) 05:07
camelia (2 3)
Xliff m: say (1,2,3 ==> grep(* > 1) ==> map(*.succ())
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in parenthesized expression; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3(1,2,3 ==> grep(* > 1) ==> map(*.succ())7⏏5<EOL>
Xliff m: say (1,2,3 ==> grep(* > 1) ==> map(*.succ)
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in parenthesized expression; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3y (1,2,3 ==> grep(* > 1) ==> map(*.succ)7⏏5<EOL>
Xliff m: say (1,2,3 ==> grep(* > 1) ==> map(*.succ))
camelia (3 4)
Xliff m: say (map(*.succ) <== grep(* > 1) <== 1,2,3) 05:08
camelia (3 4)
Xliff Just another way of saying 05:09
05:09 riibunisu left
Xliff m: (1,2,3).grep(* > 1).map(*.succ).say 05:09
camelia (3 4)
Xliff ZzZombo: ^^ 05:11
05:11 mcmillhj joined 05:16 mcmillhj left 05:26 mcmillhj joined, pierre_ joined 05:30 Actualeyes joined, pierre_ left, mcmillhj left 05:37 mcmillhj joined 05:41 mcmillhj left
lookatme m: say grep * > 1, 1, 2, 3; 05:41
camelia (2 3)
lookatme m: say grep (* > 1, 1, 2, 3); 05:42
camelia ()
lookatme m: say grep(* > 1, 1, 2, 3);
camelia (2 3)
05:42 curan joined
lookatme what happened? 05:43
05:44 pierre_ joined, pharv joined 05:49 pierre_ left, pharv left 05:51 troys left 05:53 skids left 05:54 kurahaupo left, kurahaupo_ joined 05:57 dogbert21 left 05:58 kurahaupo_ left, dogbert21 joined, kurahaupo joined 05:59 kurahaupo left, kurahaupo_ joined
ZzZombo m: use soft;&grep.wrap(my sub(|c){c.say;nextsame});grep (* > 1, 1, 2, 3) 06:01
camelia 5===SORRY!5===
Type 'sub' is not declared. Did you mean 'Sub'?
at <tmp>:1
------> 3use soft;&grep.wrap(my sub7⏏5(|c){c.say;nextsame});grep (* > 1, 1, 2,
Malformed my
at <tmp>:1
------> 3use soft;&grep.wrap(my7⏏5 sub(|c){c.sa…
ZzZombo m: use soft;&grep.wrap(my sub (|c){c.say;nextsame});grep (* > 1, 1, 2, 3)
camelia \(({ ... }, 1, 2, 3))
ZzZombo m: use soft;&grep.wrap(my sub (|c){c.say;nextsame});say grep (* > 1, 1, 2, 3)
camelia \(({ ... }, 1, 2, 3))
()
ZzZombo m: use soft;&grep.wrap(my sub (|c){c.say;nextsame});say grep(* > 1, 1, 2, 3)
camelia \({ ... }, 1, 2, 3)
(2 3)
06:02 khw left, roguelazer left 06:03 pierre_ joined 06:04 mcmillhj joined 06:05 roguelazer joined 06:07 pierre_ left 06:09 mcmillhj left 06:12 pierre_ joined 06:13 roguelazer left 06:16 roguelazer joined
lookatme m: use soft; &grep.wrap(my sub (|c){ say ($_, " -> ", $_ > 1) for c; nextsame});say grep (* > 1, 1, 2, 3) 06:16
camelia (({ ... } 1 2 3) -> True)
()
06:17 pierre_ left
lookatme m: say grep * > 1; 06:17
camelia ()
06:18 domidumont joined 06:20 adelyne_ left
lookatme m: say classify * > 1; 06:20
camelia {}
lookatme same as classify :) 06:21
some routine has slurp arguments may have the trap :) 06:23
06:25 domidumont left, domidumont joined 06:28 roguelazer left 06:29 pierre_ joined 06:30 roguelazer joined 06:32 Alikzus joined 06:36 mcmillhj joined 06:41 mcmillhj left 06:45 cdg joined, wamba left, vike left 06:49 cdg left 06:52 trnh joined 06:53 mcmillhj joined 06:56 domidumont left 06:58 mcmillhj left
Geth doc/master: 12 commits pushed by (JJ Merelo)++
review: github.com/perl6/doc/compare/ba943...a51b0c2c14
06:58
07:03 mcmillhj joined 07:09 mcmillhj left 07:12 darutoko joined 07:16 epony left 07:18 mcmillhj joined, pierre_ left, trnh left 07:20 epony joined 07:21 domidumont joined 07:23 mcmillhj left 07:24 epony left 07:27 pierre_ joined 07:29 mcmillhj joined 07:32 robertle joined 07:34 rindolf joined, mcmillhj left 07:35 lowbro joined, lowbro left, lowbro joined, stanley left 07:44 mcmillhj joined 07:45 domidumont left 07:46 epony joined, pharv joined, domidumont joined 07:48 mcmillhj left 07:50 pharv left 07:59 AlexDaniel joined 08:01 mcmillhj joined 08:03 pierre_ left 08:06 mcmillhj left 08:08 pierre_ joined 08:09 AlexDaniel left 08:12 AlexDaniel joined 08:18 mcmillhj joined 08:23 mcmillhj left 08:27 jam_ joined 08:34 mcmillhj joined 08:35 [particle] left 08:36 [particle] joined 08:39 mcmillhj left 08:53 kurahaupo_ left, kurahaupo joined 08:54 kurahaupo left, kurahaupo_ joined, mcmillhj joined 08:56 kurahaupo joined, athenot left 08:57 alpha6 joined 08:58 kurahaupo_ left, athenot joined 08:59 mcmillhj left 09:00 zakharyas joined, scimon joined 09:03 zakharyas left 09:08 dakkar joined 09:12 pierre_ left 09:14 mcmillhj joined, Util left 09:15 Util joined, cdg joined 09:16 Actualeyes left 09:17 pierre_ joined 09:19 mcmillhj left, cdg left 09:22 pierre_ left
rindolf hi all 09:23
09:25 mcmillhj joined, wamba joined 09:29 mcmillhj left 09:31 zakharyas joined 09:36 zakharyas left, pierre_ joined, zakharyas joined 09:40 pierre_ left 09:42 mcmillhj joined, ChoHag left 09:46 pierre_ joined, mcmillhj left, pharv joined, pierre_ left 09:47 pierre_ joined 09:51 pharv left 09:58 mcmillhj joined 10:03 mcmillhj left 10:12 Actualeyes joined 10:20 kaare__ joined 10:21 kaare_ left 10:23 lowbro left 10:28 sena_kun joined 10:31 kaare_ joined 10:32 kaare__ left, titsuki_ joined 10:34 titsuki left 11:03 ChoHag joined 11:05 pierre_ left 11:06 pierre_ joined 11:11 pierre_ left 11:30 cdg joined 11:36 cdg left 11:42 wamba left 11:44 domidumont left, ChoHag left 11:45 lizmat joined 11:46 zakharyas left 11:47 pharv joined 11:52 pharv left 11:53 Zoffix joined
Zoffix lookatme: RE "what happened": `grep(…,…)` invokes the grep routine with `…,…` as args; `grep (…,…)` invokes the grep routine with *a single list* that has `…,…` in it 11:56
Ulti I think my tests just got sub 1s for the first time
\o/
0.92 so possible a ~10% speed up
Zoffix lookatme: and `grep * > 1` calls grep on an empty list; you get an empty Seq back. No trap
12:00 imcsk8_ joined, shareable6 left, shareable6 joined, ChanServ sets mode: +v shareable6 12:01 agwind_ joined 12:02 webstrand left, agwind left 12:03 imcsk8 left 12:04 Zoffix left 12:05 webstrand joined, ChoHag joined 12:12 itaipu joined 12:18 daemon left, Alchemy joined, Alchemy is now known as Guest79945 12:19 lizmat_ joined, Guest79945 left, Guest79945 joined, Guest79945 is now known as Alchemy, Alchemy is now known as daemon, tinita left, huf left 12:20 lizmat left, renormalist left, huf joined, tinita joined, renormalist joined, emeric left, ufobat_ left, jcallen left 12:21 emeric joined, jcallen joined, ufobat_ joined 12:30 jam_ left 12:42 sharksoft joined 12:47 sharksoft left 12:49 domidumont joined 13:04 itaipu left 13:15 Ven`` joined 13:16 ChoHag left 13:20 Lupin joined, Lupin is now known as Guest48327 13:24 Guest48327 left 13:34 Ven`` left, pierre__ joined 13:40 itaipu joined 13:43 ChoHag joined 13:49 domidumont left 13:50 domidumont joined 13:58 cdg joined 14:06 lowbro joined, lowbro left, lowbro joined 14:08 vcv joined 14:10 lizmat_ is now known as lizmat 14:15 ChoHag left, comborico1611 joined 14:19 wamba joined
AlexDaniel Ulti: since when? 14:26
comborico1611 Hey, I'm wondering if anyone could do DeMorgan's Theorm in Perl6 for me. I would do it myself, but I've been away from Perl6 for a few months, and I'm just curious of the difference between it and Common Lisp. 14:27
14:27 ChoHag joined
comborico1611 The first equation says that if X and Y are true, then neither is X false nor is Y 14:27
false. The second equation says that if either X or Y is true, then X and Y
can’t both be false.
Oops. sorry for multiple messages. Didn't know it would do that. 14:28
In Lisp this is written as (and x y) = (not (or (not x) (not y)))
(or x y) = (not (and (not x) (not y)))
14:31 shareable6 left 14:32 shareable6 joined, ChanServ sets mode: +v shareable6, zakharyas joined 14:34 itaipu left 14:41 AlexDaniel left, buggable joined, ChanServ sets mode: +v buggable 14:50 pierre__ left, Xliff left, Xliff joined 14:51 Praise left, pierre__ joined, wamba left, Praise joined, Praise left, Praise joined 14:52 curan left 14:55 pierre__ left 14:58 esh left 15:01 natrys joined
moritz m: sub my_or($x, $y) { not (!$x) && (!$y) } 15:03
camelia ( no output )
15:03 esh joined 15:04 eliasr joined 15:11 itaipu joined 15:12 esh left 15:16 skids joined
cfa morning 15:16
15:18 esh joined 15:21 pierre__ joined 15:26 pierre__ left 15:29 lowbro left, Kyo91 joined 15:35 athenot left 15:36 athenot joined
comborico1611 moritz: thanks! 15:40
15:40 wamba joined 15:53 domidumont left 15:54 Ven`` joined 15:55 esh left 15:59 AlexDaniel joined 16:00 troys joined
jkramer What is 6lang? Some slang for Perl6? github.com/perl6/whateverable/wiki 16:02
AlexDaniel jkramer: 6lang.party/post/6lang-The-Naming-...ion-Update 16:03
jkramer: also: github.com/perl6/6.d-prep/tree/mas...ded-naming
16:03 Ven`` left
AlexDaniel jkramer: note that there's no decision yet to commit to any other name, so “6lang” is **not official at all** 16:04
jkramer: but when the blog post was published I changed references to “perl 6” in whateverable repo to 6lang, to get the ball rolling in some sense 16:05
16:08 Zoffix joined
Zoffix m: use nqp; role R1 { has $.a; }; role R2 { has $.a; }; class C1 does R1 {}; class C2 does R2 {}; class C3 is C1 is C2 { method z { nqp::p6bindattrinvres(nqp::create(self), C2, 「$!a」, 42) }; method y { nqp::getattr(self, C1, 「$!a」) } }.z.y.say 16:09
camelia (Any)
Zoffix m: use nqp; role R1 { has $.a; }; role R2 { has $.a; }; class C1 does R1 {}; class C2 does R2 {}; class C3 is C1 is C2 { method z { nqp::p6bindattrinvres(nqp::create(self), C2, 「$!a」, 42) }; method y { nqp::getattr(self, C2, 「$!a」) } }.z.y.say
camelia 42
jkramer Ah so it's just Perl 6? Got me confused for a second :)
Zoffix So I have two $!a attrs in my class then. Any way to block one of them? So if anyone does `nqp::getattr(self, C2, 「$!a」)` it crashes and say You Shall Not Pass? 16:10
jnthn Zoffix: Attrs are qualified on class *and* attribute name. That's why getattr needs both
yoleaux 00:15Z <Zoffix> jnthn: any tips for fixing this bug: `m: say &min ~~ Callable; #`(False) &min.^compose; say &min ~~ Callable; #`(True)` Some new commits went in that tickle it and that's currently marked as a release blocker. I can only think of something nutty like collecting all the traited subs and then .^composing it at the end of setting
00:16Z <Zoffix> jnthn: For context, the breakage is caused by `is pure` mixing in a role before Callable is fully composed. It's github.com/rakudo/rakudo/issues/1566
00:21Z <Zoffix> jnthn: and nother hack I can think of is mixing in `role is-pure does Callable` instead of just `role is-pure`. Dunno how much evil it is to have a role (Callable) mixed in from two places like this is; `say &min.^roles; # ((is-pure) (Callable) (Callable))`
01:53Z <Zoffix> jnthn: Another idea that promised to be OK, but ran into hacky category (mentioned in commit message): github.com/rakudo/rakudo/commit/3506395576 The start of src/core/traited-routines.pm6 file added there does .^compose on methods [missing BEGIN block]. Is it too much do go through all methods of all types defined by that point and do .^compose on anything that !~~ Callable?
16:11 esh joined
jnthn Nothing anywhere in the implementation thinks they're related just because they have the same unqualified name. 16:11
So no, nothing you can really do...what're you trying to solve?
16:13 athenot left
Zoffix jnthn: experimenting with adding another class for non-infectious FatRat: `my class MuskRat is Rat is FatRat`. Was just thinking defensively in case some future dev writes `nqp::bindattr(self, Rat, 「$!numerator」)` instead of `nqp::getattr(self, FatRat, 「$!numerator」)`, but it's not uber important 16:13
jnthn Maybe inheritance is the wrong tool and the Rational role is enough? Maybe not though :) 16:14
Zoffix No idea. Just started :) Seeing how well it'll play as a Rat-FatRat allomorph 16:15
16:19 zakharyas left
Zoffix jnthn: Is doing `BEGIN { for Any, Iterator, Positional, Associative, Iterable, [... bunch of other classes..] -> \T { for .^methods».name { (my \M := T.^lookup: $_) ~~ Callable and next; M.^compose }` at some point in the SETTING really crazy? 16:19
That's what that flurry of bot messages ended with basically.
jnthn Zoffix: Yeah, I need to look at that a bit more carefully to answer, but am juggling a few other tasks at the moment /o\
Zoffix No problem :)
16:19 comborico1611 left, rindolf left
jnthn releasable6: next 16:20
releasable6 jnthn, Next release in 10 days and ≈2 hours. Blockers: github.com/rakudo/rakudo/issues?q=...%9A%A0%22. Changelog for this release was not started yet
16:20 releasable6 left, releasable6 joined, ChanServ sets mode: +v releasable6 16:21 buggable left, buggable joined, ChanServ sets mode: +v buggable, ZofBot left 16:22 ZofBot joined, ChanServ sets mode: +v ZofBot 16:23 esh left 16:24 huggable left 16:25 zakharyas joined, huggable joined, ChanServ sets mode: +v huggable, esh joined, khw joined 16:27 comborico1611 joined 16:29 rindolf joined 16:50 nekomune joined, athenot joined 16:55 vcv left 16:56 vcv joined 16:59 comborico1611 left
rindolf hi all 17:04
Zoffix: here?
17:05 kaare_ left, kaare__ joined
rindolf lizmat: here? 17:07
El_Che rindolf: they are trying to figure out why pypy is so fast :)
17:07 nekomune left
rindolf El_Che: heh 17:07
El_Che: it is due to alicorn magic 17:08
El_Che probably alicorn magic is why it hasn't replaced cpython as the to-go-python
rindolf El_Che: heh 17:09
thanks for everyone's help so far! Very impressive 17:11
17:14 vcv left 17:15 vcv joined
Zoffix rindolf: what 17:15
rindolf Zoffix: the code with lizmat 's change runs faster butis only aboyut twice the speed of the p5 version 17:17
Zoffix "only about twice faster"? Wasn't the original like a billion times slower? 17:19
rindolf Zoffix: yes 17:21
Zoffix: but i thought your version was faster too
Zoffix rindolf: is Token still an optional parameter? Make it mandatory 17:22
timotimo it'd be a bunch faster if you precompile the primes list %)
Zoffix That too :)
rindolf Zoffix: ok 17:23
timotimo .o( or maybe we can make parsing of long lists of integers faster or something )
rindolf Zoffix: g 17:26
Zoffix: how can i convert $aa to Str?
timotimo you mean like $aa.Str? 17:27
17:27 scimon left
rindolf timotimo: maybe 17:27
El_Che rindolf: interesting stuff you're doing. WHat's the context? Teaching? Curiosity?
Zoffix rindolf: why do you need to? Just remove the default value from Token parameter
rindolf This type cannot unbox to a native integer: P6opaque, Str
Zoffix: I added a type sig 17:28
Zoffix Why?
rindolf Zoffix: wow - now it runs at 7s
which is 3 times faster than p5 17:29
Zoffix: ok, i didnt eventually
Zoffix cool
El_Che to be fair, you should compare it with not-quite-perl5 :) 17:30
rindolf Zoffix: token is a string
El_Che impressive to see how stuff can be optimized
rindolf Zoffix: or should be
Zoffix: your gist has no licence :( 17:33
Zoffix rindolf: considering the amount of unsupported, perf-optimized hackish code you got in that program, the "should be" for type of Token seems to be the most irrelevant of the concerns.
rindolf: it's like driving this i.ytimg.com/vi/TP_u23IneEY/maxresdefault.jpg and worrying about the size of the glove compartment. 17:34
timotimo save a hundred or two hundred cpu cycles by only encoding the token once and printing it as binary after that 17:35
Zoffix rindolf: that gist is in public domain
17:36 Kaiepi left
rindolf Zoffix: ah, is it derived from my original code? 17:36
17:37 robertle left
Zoffix rindolf: from P5 version, yes 17:37
rindolf: then I guess it's not public domain, but whatever the license for that P5 version allows
17:37 Kaiepi joined
rindolf Zoffix: ok, let me add it back 17:37
17:39 ZzZombo left
rindolf Zoffix: see github.com/shlomif/euler-618 17:41
17:42 pierre joined
Zoffix mhm 17:43
rindolf Zoffix: thanks for your help 17:44
Zoffix \o 17:45
17:45 Zoffix left 17:46 pierre left
rindolf timotimo: how can we precompile the primes? 17:48
17:48 ZzZombo joined
timotimo put them into a module 17:49
rindolf timotimo: ah 17:52
timotimo: in a seperate file? 17:53
timotimo yes
it has to be "use"d
rindolf timotimo: ah
timotimo but feel free to put the whole code into a module and just "use" it to run it
maybe with a sub MAIN is export
rindolf timotimo: ok
timotimo: so programs are not precompiled? 17:54
timotimo correct
rindolf timotimo: i see
17:54 dakkar left
timotimo you can see how long it takes to compile with --stagestats 17:54
17:55 athenot left 18:04 zakharyas left 18:06 zakharyas joined 18:07 pmichaud joined
pmichaud good afternoon, #perl6 18:07
[Coke] pmichaud: Hi!
rindolf timotimo: now it is down to 5s 18:08
pmichaud: hi, sup?
18:09 konsolebox left
pmichaud soooooo... the hosting service I use (the one that hosts rakudo.org) is shutting down in a month. 18:09
So I'm trying to see if someone wants to host rakudo.org somewhere else, or if I should migrate rakudo.org to my new provider along with the rest of the sites I'm doing. 18:10
18:11 Kaiepi left, Kaiepi joined
timotimo rindolf: used to be 7, right? 18:13
18:14 parisba left, konsolebox joined
rindolf timotimo: yes 18:15
pmichaud: what does it run?
pmichaud rindolf: currently WordPress, I think.
timotimo what's the factor over perl5 now? 18:16
pmichaud I don't think we run any other services on rakudo.org other than WP
rindolf pmichaud: ah
pmichaud: perhaps see github.com/metacpan/metacpan-puppet/issues/137 18:17
timotimo: 4 times faster
timotimo: well, a little less than that 18:18
timotimo: github.com/shlomif/euler-618 - here 18:19
pmichaud this might also be a good time to address RT #128423
synopsebot RT#128423 [new]: rt.perl.org/Ticket/Display.html?id=128423 [SITE] rakudo.org doesn't work, rakudo.org/ does
18:20 agwind_ is now known as agwind 18:23 robertle joined 18:28 espadrine joined 18:29 Kaiepi left, Kaypie joined 18:32 Zoffix joined
Zoffix pmichaud: I could host, if you want. 18:32
18:32 domidumont joined 18:33 vcv left
Zoffix flicks through the content 18:35
Or we could pare it down to the basics and host on www.p6c.org 18:36
(basics => not WP, but some basic perl-based front-end to a few markdowned announcements; the stuff that powers rakudo.party would do just fine) 18:37
Well, on www.p6c.org server, I mean, with rakudo.org just pointing to a virtual host. 18:38
Bunch of pages look to be fairly outdated, like the whole thing about tickets and how to find tickets 18:40
18:41 Kaiepi joined, Kaypie left
masak hi, pmichaud 18:44
18:46 vcv joined 18:49 Kyo91 left 18:51 darutoko left
masak er, I mean 18:53
pmichaud! \o/
18:53 itaipu left
pmichaud well, the server officially dies on Apr 15; and I'm out of pocket Mar 14-Apr 1 except for email and hotel room wifis. :) 18:55
18:57 Kyo91 joined
Zoffix pmichaud: I can get something up on www.p6c.org in 9hr. Gonna go through all teh content on rakudo.org and move what's still useful. And we'll see then if that's a suitable option. 18:58
|4hr rakudo.org stuff
|4h rakudo.org stuff
ZofBot Zoffix, Will remind you on 2018-03-07T17:58:56.151365-05:00 about rakudo.org stuff
masak ZofBot++ 18:59
pmichaud Zoffix: sounds fantastic, thanks. 19:00
moritz pmichaud: we'll likely need an SQL dump of the wordpress db; could you please provide one?
AlexDaniel Zoffix++
moritz also \o/ pmichaud! :-)
pmichaud I think rakudo.org (my server) has also been hosting the downloadable tarballs and images for rakudo, nqp, and star 19:01
moritz Zoffix: is your plan to maintain wordpress (as rakudo.org uses now), or do something else?
masak here's hoping for many hotel room wifis ;)
pmichaud masak! \o/
moritz! \o?
er,
\o/!
masak haha
pmichaud (can't type today)
masak \o? is a person half cheering and half scratching eir head 19:02
pmichaud Zoffix: yes, I can get an SQL dump of the wordpress db
masak with a pirate hook
masak .oO( Max! o/ und Moritz! o? ) 19:03
pmichaud partially related: Just saw this over the weekend at the robotics competition here in Dallas: www.youtube.com/watch?v=Vt8dbfgbRJs
moritz pmichaud: while you're here, let me just say thank you for all of stuff I learned from you during your active time here 19:04
pmichaud: I turned some of that into a book :) smile.amazon.com/dp/1484232275/
Zoffix moritz: seeing as we don't have a "blog" there, I was going to use the perl6.party engine, which is just a small Mojolicious-based front-end for rending markdown docs: github.com/zoffixznet/perl6.party/...ter/app.pl and github.com/zoffixznet/perl6.party/...y/Posts.pm
masak pmichaud: yes, I can see the connection ;) 19:05
Zoffix moritz: and my plan does not include maintaining release announcements from 2010. I'll go through the posted posts more thoroughly, but ATM looks like it's like 99% release announcements.
moritz Zoffix: ok, makes sense 19:06
masak pmichaud: I'd like to second moritz' thank you, although my book is still forthcoming ;)
pmichaud moritz: it's been my pleasure. I do hope to get back to p6 someday in the not-too-distant-future 19:07
Indeed, I already know of a couple of projects I'm planning to do in p6.
moritz Zoffix: I'd also be happy to add apache rewrite rules that catch the old URLs, and redirect them to the github view of the release notes (they are still in the rakudo repo) 19:08
Zoffix good idea
pmichaud moritz: wow, congrats on the book. Now I have to buy a copy so I can learn how p6 regexes work. :) 19:09
Zoffix :)
19:10 zakharyas left, athenot joined
moritz pmichaud: thanks. I'd be also happy to send you a copy if you /msg me your mailing address 19:11
pmichaud address sent 19:16
19:18 itaipu joined
tadzik pmichaud! \o/ 19:19
pmichaud tadzik! \o/ 19:20
tadzik what a happy day :) 19:21
masak o frabjous day! calooh, callay! 19:22
tadzik kion bonan tagon! 19:23
masak senhezite! 19:25
El_Che sounds like esperanto?
masak aye 19:27
ial tadzik decidis studi ĝin, kaj mi ne kuraĝis malpermesi lin 19:28
19:29 pharv joined
tony-o m: my Num $a = 0.Num; $a += .1.Num for 0..225; $a.fmt('%.17f').say; 19:29
camelia 22.60000000000010000
tony-o m: my Num $a = 0.Num; $a += .1.Num for 0..224; $a.fmt('%.17f').say;
camelia 22.50000000000000000
tadzik :) 19:30
[Coke] tu'HomI'raH SoH 'e' Sov wo' 19:31
El_Che it's all readles to me, but good luck pmichaud with all the plans you have!
tadzik is that klingon? :) 19:32
masak I daresay it is
Zoffix tony-o: 0.1 can't be represented exactly in floats
Also, we have some (Num parsing/Num stringification) bugs that mess with f.p. noise too 19:33
[Coke] If you have to ask if it's Klingon, then it's directed at you. :)
El_Che This seems to work: www.translator.eu/english/klingon/translation/ :) 19:34
19:34 comborico1611 joined
Zoffix RT#132329 RT#128914 RT#128817 RT#128818 RT#128819 19:34
synopsebot RT#132329 [open]: rt.perl.org/Ticket/Display.html?id=132329 [MATH] Rat → Num conversion isn’t monotonous
RT#128914 [new]: rt.perl.org/Ticket/Display.html?id=128914 [BUG] decimal->float conversion differs for literals and Str.Num 19:35
[Coke] it's close. "You're a disappointment to the Empire!"
synopsebot RT#128817 [open]: rt.perl.org/Ticket/Display.html?id=128817 [BUG] Num.perl doesn't round-trip numeric value
RT#128818 [open]: rt.perl.org/Ticket/Display.html?id=128818 [BUG] sprintf %f bogus rounding
RT#128819 [new]: rt.perl.org/Ticket/Display.html?id=128819 [BUG] Num.WHICH doesn't discriminate enough
tony-o ty @zoffix
TEttinger Arog qabu dheer haakhigaw, haquggiika dhoshaa?
masak [Coke]: "You're a disappointment to the Empire"? 19:36
[Coke] ... yes (are you repeating what I said to verify, or asking having missed that I just said that?) 19:37
masak TEttinger: L...Lovecraftian...?
tadzik . o O ( you can speak klingon in any language )
masak [Coke]: missed it :)
tired :)
[Coke] I found one page on the internet with TEttinger's quote in it.
TEttinger masak: that one's made up, this one's what it's imitating:
Sida dhabta ah cuntada waa shidaalka dhabta ah ee dadka sida uu u yahay batroolka shidaasha baabuurka, ama naftadu u tahay shidaasha makiinadaha waaweyn.
[Coke] good guess, then!
Zoffix The parsing bug might've been about Rats, not Nums, now that I think of it. Can't find the ticket. 19:38
TEttinger masak: close, Somali
clearly Rl'yeh is off the coast of the Horn of Africa
masak .oO( Ch'thomali )
TEttinger I've had people say that the generated imitation, and real, Somali both look random keyboard keys 19:39
so.wikipedia.org/wiki/Bogga_Hore 19:40
19:40 Zoffix left
TEttinger it's interesting to me that Somali doesn't use any diacritics, it just uses English letters in unusual ways 19:41
19:42 pierre_ joined
TEttinger the Lovecraftian stuff is at the top of that page, I found it. it imitates about 30 I think 19:46
masak ok, ok, how about this one: "Oumpeá äx’ääļuktëx"
19:47 pierre_ left
TEttinger Alien_U? 19:48
19:48 Rawriful joined
TEttinger Opāi ma pitou ma ongua tei? 19:49
nope, not one of my generated ones, close though. probably lithunian 19:51
19:51 dogbert2 joined
huf there's an _enormous_ advantage to not needing things beyond ascii to write your language 19:51
TEttinger malay
huf so i applaud the somali for being sensible in this
TEttinger they fought a war over it 19:52
huf oh, i take it back :D
it's not worth an entire war
TEttinger sensible, mostly
well it kinda was
huf maybe a third of one
19:52 agwind_ joined, titsuki joined
TEttinger it determined who they would trade with, saudi arabia and egypt, or the west 19:52
they had just overthrown another government and there were two groups of revolutionaries with different ideas on modernizing the language and culture 19:53
19:53 vcv left 19:54 dogbert21 left, Aceeri_ joined, agwind left 19:55 titsuki_ left 19:57 pharv left 19:58 pharv joined
tony-o what war was that TEttinger ? 20:04
or, when was that
TEttinger I've mostly read about the language parts, I think 1960s or 1970s
tony-o maybe the coup in 1969 ? 20:05
TEttinger A number of writing systems have been used over the years for transcribing the Somali language. Of these, the Somali alphabet is the most widely used, and has been the official writing script in Somalia since the Supreme Revolutionary Council formally introduced it in October 1972 20:07
en.wikipedia.org/wiki/Somalia#Languages 20:08
tony-o en.wikipedia.org/wiki/1969_Somali_...7%C3%A9tat
the Aftermath section talks about how that came about 20:09
20:11 tt left 20:12 Zoffix joined
Zoffix What do I need to read to understand how attribute/method resolution works when using multiple roles/classes? 20:13
m: my class MuskRat2 does Rational[Int, Int] is FatRat is Rat {}; say MuskRat2.new(1, 2).perl;
camelia No such method 'Stringy' for invocant of type 'NuT'
in block <unit> at <tmp> line 1
Zoffix I'm trying to make a type is a Rational with it's own denominator/numerator, but I also want it to typecheck for Rat and FatRat, but I keep hitting issues like that ^ and I don't know if it's just a bug or what. 20:14
20:14 tt joined, domidumont left
moritz inheriting both from Rat and FatRat seems strange 20:17
Geth doc: 375d6d6061 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/classtut.pod6
Link to Wikipedia to explain what C3 is
synopsebot Link: doc.perl6.org/language/classtut
moritz but removing "is Rat§ doesn't solve the problem
Zoffix moritz: why?
moritz Zoffix: because they have conflicting behavior
you can't satisfy the Liskov principle for both classes with one single subclass 20:18
Zoffix moritz: I want a Rat/FatRat allomorph that'd behave as one or the other depending on which context is used.
moritz: which behaviour is conflicting that Liskov would be violated? Considering they barely have any methods of their own 20:19
20:20 cdg left
moritz Zoffix: is $FatRat + $MuskRat going to be consistent with Rat or with FatRat? 20:20
Zoffix: whatever it is, it will be inconsistent with the other behavior
20:20 cdg joined
moritz Zoffix: regarding the error message, I think it is a bug; I also think you are confusing rakudo by creating a class that has the Rational role applied three times 20:22
20:23 athenot_ joined 20:24 pharv left, pharv joined
Zoffix moritz: FatRat is an infectious type, the result of that expression is a FatRat. Regardless of whether $MuskRat is a Rat or a FatRat, the result is the same... 20:24
20:25 cdg left, athenot left
moritz Zoffix: oh, then Rat + MuskRat is the more interesting case 20:25
it can either return something compatible with Num or a {Musk,Fat}Rat 20:26
20:26 Kyo91 left
Zoffix moritz: I don't see how that's a strange violation of Liskov, yet `Rat + Num` vs `Rat + Int` isn't. Num and Int are both Cool objects, for them to be strictly Lisovy, they result would have to be the same, no? Yet, one type is defined as more infectious than the other; and same applies to MuskRat 20:29
20:30 shareable6 left
Zoffix Or, a tighter relation. 0 is false, "0" is true, so what's the result for <0>, which is an IntStr allomorph? 20:30
moritz yes, that is also a Liskov violation
Zoffix That's what I'm trying to make tho, a FatRat/Rat allomorph 20:31
moritz I don't see it for Rat + {Int,Num} though, because they are not subclasses of each other
20:32 Kyo91 joined
moritz Zoffix: so, what do you want the result of Rat + MuskRat to be? 20:32
Zoffix A Rat
A MuskRat merely provides more precision for operations with FatRats
otherwise it acts like a Rat 20:33
moritz ok 20:34
I think you can leave out the 'does Rational[Int, Int]' part, because inheriting from FatRat already gives you that
Zoffix Yeah, I had that and it was having similar issues with some methods. 20:36
Zoffix tries againb
20:36 itaipu left
Zoffix hm, I think I had `my class MuskRat2 is Rat is FatRat {};` but did `my class MuskRat2 is FatRat is Rat {};` now and so far seems to work 20:37
Zoffix reads up on what C3 is 20:38
20:40 freeberz left
Zoffix Oh lightbulb moment. now I get it \o/ 20:42
Also, this page could use a Perl 6 example. The Python example starts of by blabbing about metaclasses and Python 3 and stuff: en.wikipedia.org/wiki/C3_lineariza..._in_Python
20:43 itaipu joined
Zoffix m: class A {}; class B {}; class C {}; class D {}; class E {}; class K1 is A is B is C {}; class K2 is D is B is E {}; class K3 is D is A {}; class Z is K1 is K2 is K3 {}; say Z.^mro 20:44
camelia ((Z) (K1) (K2) (K3) (D) (A) (B) (C) (E) (Any) (Mu))
Zoffix Much simpler example :)
Zoffix adds it 20:45
wonder if `<syntaxhighlight lang="perl6">` works 20:47
sena_kun a stupid question, but I bump into it once in a while after haskell's `or [True, False, True, ...]`. e.g. I have a list of Bools, is there a neat way to do `and` or `or` on it? Am I looking for `reduce`?
m: say (True, False).reduce(&[&&]) 20:48
camelia False
sena_kun m: say [&&] (True, False)
camelia False
sena_kun neat enough. \o/ 20:49
Zoffix boom: en.wikipedia.org/wiki/C3_lineariza..._in_Perl_6 20:50
Zoffix relocates
moritz++ for help
20:50 Zoffix left 20:55 Kaypie joined, Kaiepi left 21:00 zakharyas joined 21:10 Zoffix joined 21:11 natrys left, shareable6 joined, ChanServ sets mode: +v shareable6
Zoffix sena_kun: BTW, another tool for your question: Junctions. Lets you also figure out if only one is true or all are true etc 21:12
m: say (0, 1, 1).any.so
camelia True
Zoffix m: say (0, 1, 1).all.so
camelia False
sena_kun Zoffix, ah, indeed, `so @a.all` will do the trick too.
thanks. 21:13
21:15 itaipu left
AlexDaniel : say so all (0, 1, 1) 21:15
m: say so all (0, 1, 1)
camelia False
Zoffix m: say ?all 0, 1, 1 21:16
camelia False
21:17 Zoffix left 21:21 shareable6 left 21:22 bisectable6 left, bisectable6 joined, shareable6 joined, ChanServ sets mode: +v shareable6 21:31 shareable6 left, shareable6 joined, shareable6 left 21:32 shareable6 joined, ChanServ sets mode: +v shareable6 21:39 MasterDuke joined, pierre_ joined 21:43 pharv left, Kyo91_ joined, pierre_ left 21:45 itaipu joined 21:46 pharv joined, Kyo91 left 21:48 pharv left, pharv joined 21:49 committable6 left, committable6 joined, ChanServ sets mode: +v committable6 21:57 zakharyas left 22:00 pharv left, pharv joined
lichtkind the link to staging module on docs.perl6.org/language/modules-core.html doesnt work 22:01
22:05 pharv left, pharv joined 22:10 pharv left, pharv joined 22:13 sdfgsdf joined 22:15 sdfgsdf left 22:16 robertle left
dogbert17 lichtkind: just tried it with FF and it works for me 22:16
scratch that, I did read correctly 22:17
*didn't
ok, if you change the last part Staging.pm -> Staging.pm6 it should work 22:19
Geth doc: ba20a48bce | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/modules-core.pod6
Fix URL to module
22:21
synopsebot Link: doc.perl6.org/language/modules-core
dogbert17 Zoffix is quicker than lightning :-) 22:22
22:24 cpup left 22:26 rindolf left, AlexDaniel left 22:30 MasterDuke left 22:31 sharksoft joined 22:42 pharv left 22:45 pharv joined 22:50 pharv left, pharv joined 22:54 pharv left, pharv joined 22:59 jimav joined
jimav Hi. Is there a command-line tool to view p6 pod? Like p5's "perldoc" command does? "perl6doc" does not seem to want to format an arbitrary (command-line-specified) file. 23:00
timotimo you'd perl6 --doc Blah.pm6 23:04
you can pass the name of a module to --doc, for example --doc=Markdown would look if you have a module Pod::To::Markdown installed and use that for output
jimav: ^
23:05 lichtkind left
jimav I meant if I have just a file, say "foo.pod", can I view it pretty-printed on my terminal? 23:05
23:05 sena_kun left
jimav Not a p6 module 23:05
timotimo that'd be the same 23:06
(it'll execute BEGIN-phasered code, though. and DOC-phasered code as well)
jimav Example: rakudo-star-2018.01/nqp/docs/jvminterop.pod (in the tarball)... 23:07
perl6 --doc <that path> just prints a compiler error 23:08
Unable to parse native definition at /home/jima/ptmp/downloads/rakudo-star-2018.01/nqp/docs/jvminterop.pod:3
23:10 wamba left 23:15 jimav left 23:18 lichtkind joined
timotimo hm, it would probably expect it to begin with =begin pod or something 23:19
23:22 Rawriful left
Geth doc: 190a1f3503 | (Will "Coke" Coleda)++ | doc/Type/IO.pod6
fix quoting
23:26
synopsebot Link: doc.perl6.org/type/IO
23:31 Kyo91_ left 23:33 comborico1611 left 23:35 Zoffix joined, pharv left, cog_ left
Zoffix jimav, that's a Perl 5 pod 23:35
perldoc rakudo-star-2018.01/nqp/docs/jvminterop.pod
23:36 pharv joined 23:38 pharv left, pharv_ joined 23:39 cpup joined 23:48 espadrine left 23:56 aindilis` joined, aindilis left
Zoffix pmichaud: (I think my promise of "in 9hr" rakudo.org alternative was too eager and didn't account my sleeping only 4hr last night; I'll extend it to "in the next 72hr") 23:56