Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-02-06

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 newkidintown thank you
00:10 labster joined #perl6
00:17 newkidintown What do you guys recommend a newcomer do to learn all of the ins and outs of perl6
00:17 newkidintown any blogs that have a bunch of good posts related to perl6 programming?
00:17 IOninja perl6.party
00:18 newkidintown are you the writer
00:18 IOninja Yup.
00:18 newkidintown I see, I'll check it out
00:19 IOninja newkidintown: there's also a "For newcomers" section on https://perl6.org/resources/ that lists a couple more resources
00:24 gdonald joined #perl6
00:26 OnlineCop left #perl6
00:30 timotimo the advent blog is great, but not really a "get into the language" kind of blog
00:39 newkidintown Have any of you guys used the J programming language
00:43 TEttinger tiny little bit, it's very different
00:45 BenGoldberg joined #perl6
00:48 newkidintown yeah
00:48 newkidintown seems interesting to use for a bunch of cool mathy stuff
00:48 newkidintown maybe neural networks?
00:49 aborazmeh joined #perl6
00:49 aborazmeh joined #perl6
00:56 cibs joined #perl6
01:08 pyrimidine joined #perl6
01:42 timotimo m: say "$🍩".uninames
01:42 camelia rakudo-moar c0a907: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Non-variable $ must be backslashed␤at <tmp>:1␤------> 3say "7⏏5$🍩".uninames␤    expecting any of:␤        argument list␤        double quotes␤        prefix␤        term␤»
01:42 timotimo m: say '$🍩'.uninames
01:42 camelia rakudo-moar c0a907: OUTPUT«(DOLLAR SIGN DOUGHNUT)␤»
01:42 timotimo m: my $🍩 = "d'oh";
01:42 camelia rakudo-moar c0a907: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Name must begin with alphabetic character␤at <tmp>:1␤------> 3my $7⏏5🍩 = "d'oh";␤    expecting any of:␤        constraint␤        infix␤        infix stopper␤        postfix␤        …»
01:42 timotimo m: my \🍩 = "d'oh";
01:42 camelia rakudo-moar c0a907: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed my␤at <tmp>:1␤------> 3my7⏏5 \🍩 = "d'oh";␤»
01:42 timotimo m: my term:<🍩> = "d'oh";
01:42 camelia rakudo-moar c0a907: OUTPUT«5===SORRY!5===␤Type 'term:<🍩>' is not declared␤at <tmp>:1␤------> 3my term:<🍩>7⏏5 = "d'oh";␤Malformed my␤at <tmp>:1␤------> 3my term:<7⏏5🍩> = "d'oh";␤␤»
01:42 timotimo of course
01:48 cibs joined #perl6
01:53 IOninja m: my \term:<🍩> = "d'oh";
01:53 camelia rakudo-moar c0a907: ( no output )
01:53 IOninja m: constant term:<🍩> = "d'oh"; say "I love {🍩} — Homer"
01:53 camelia rakudo-moar c0a907: OUTPUT«I love d'oh — Homer␤»
01:53 IOninja hehe
01:54 IOninja I love it that we live in the age where a picture of a donut is a valid name for a constant.
02:00 jayk joined #perl6
02:11 pyrimidine joined #perl6
02:15 KDr2 joined #perl6
02:24 pyrimidine joined #perl6
02:32 newkidintown not that it matters, but do you guys like camelia?
02:47 japhb newkidintown: Yes.
02:47 japhb (But my opinion is not universal.)
02:48 newkidintown japhb: What makes you like how camelia looks
02:48 japhb newkidintown: I like its intent.
02:48 newkidintown I'm all for butterflies and making perl6 look more appealing to younger people
02:48 newkidintown I'd say the colors are a little ugly when combined though
02:49 japhb I'm color blind.  Maybe that helps.  :-)
02:49 newkidintown lol
02:49 newkidintown The smile looks a little strange in my eyes too
02:50 newkidintown Not symmetrical, looks like someone just made a makeshift smile line with a pen tool
02:50 japhb The prettiest variant I've seen is the one use by moritz++ for his book: https://leanpub.com/perl6
02:51 japhb newkidintown: The canon version of Camelia is not intended for pleasing designers.  :-)
02:51 newkidintown I'm not sure I understand the reasoning behind how camelia looks
02:52 newkidintown not that a logo determines the quality of a language
02:52 japhb I can no more explain that than I can do justice to the Buddha Nature.
02:52 IOninja newkidintown: some of the assymetry is on purpose. Camelia is "wall-eyed" as a pun for Larry Wall.
02:52 newkidintown I like Larry Wall's aesthetic
02:53 newkidintown the colors he wears, patterns on his shirts
02:53 IOninja newkidintown: and I started liking the logo when I realised the rude, elitist kind of people tend to stay clear of anything branded with such kid-friendly, bright logo :)
02:53 newkidintown Have you ever seen Larry Wall without a weird pattern on his shirt lol
02:53 ChoHag joined #perl6
02:54 * IOninja never seen Larry Wall other than a picture or to.
02:55 newkidintown He looks very 80s
02:55 japhb newkidintown: The one on his wikipedia page.
02:55 newkidintown The patterns he wears, his hair, his glasses, his mustache
02:57 AlexDaniel newkidintown: https://github.com/perl6/mu/blob/master/misc/camelia.txt
02:59 IOninja m: sub ö { @_.join.say }; 'Perl ' »ö« 6
02:59 camelia rakudo-moar c0a907: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing infix inside hyper␤at <tmp>:1␤------> 3sub ö { @_.join.say }; 'Perl ' »7⏏5ö« 6␤    expecting any of:␤        infix␤        infix stopper␤»
02:59 IOninja aww
02:59 IOninja m: sub infix:<ö> { @_.join.say }; 'Perl ' »ö« 6
02:59 camelia rakudo-moar c0a907: OUTPUT«Potential difficulties:␤    Useless use of »ö« in sink context␤    at <tmp>:1␤    ------> 3sub infix:<ö> { @_.join.say }; 'Perl ' 7⏏5»ö« 6␤Perl 6␤»
02:59 IOninja huh
03:00 IOninja Useless use of useless use.
03:00 AlexDaniel well, again…
03:00 IOninja Hm?
03:00 pyrimidine joined #perl6
03:00 AlexDaniel you have an infix operator that returns something
03:00 AlexDaniel and it is in sink context
03:01 IOninja I'd argue my program works as I intended it to and the warning is spurious.
03:02 AlexDaniel :|
03:02 AlexDaniel if you want the side effect, don't make it an operator
03:03 IOninja Is that a rule for operators?
03:03 IOninja m: sub infix:<ö> { @_.join.say }; 'Perl ' ö 6
03:03 camelia rakudo-moar c0a907: OUTPUT«Perl 6␤»
03:03 IOninja Works fine without the hyper.
03:04 IOninja m: sub infix:<ö> { @_.join.say }; $ = <a b c> »ö« <e f g>
03:04 camelia rakudo-moar c0a907: OUTPUT«ae␤bf␤cg␤»
03:04 AlexDaniel I'd say it is good tone, not strictly a rule
03:04 pyrimidine joined #perl6
03:05 IOninja m: sub infix:<ö> { @_.join.say }; $ = <a b c> »[&say]« <e f g>
03:05 camelia rakudo-moar c0a907: OUTPUT«ae␤bf␤cg␤»
03:05 IOninja m: <a b c> »[&say]« <e f g>
03:05 camelia rakudo-moar c0a907: OUTPUT«Potential difficulties:␤    Useless use of »[&say]« in sink context␤    at <tmp>:1␤    ------> 3<a b c> 7⏏5»[&say]« <e f g>␤ae␤bf␤cg␤»
03:05 zakharyas joined #perl6
03:07 AlexDaniel m: my @a = <1 2 3>; @a »+=« <5 6 7>; say @a
03:07 camelia rakudo-moar c0a907: OUTPUT«[6 8 10]␤»
03:07 AlexDaniel I wonder how does it know
03:08 gdonald joined #perl6
03:29 agentzh joined #perl6
03:46 lucs I want to write a function that returns an unchanging value that will need to be calculated the first time it is needed.
03:46 lucs How okay is this?: sub foo { state $x; return $x // do { ⋯ $x = ⋯ }; }
03:47 IOninja lucs: can it run at compile time?
03:47 lucs Um, in the case I'm thinking of, no, it needs info from runtime.
03:48 IOninja lucs: sub foo { state $x = … } is shorter
03:48 lucs D'oh! Right.
03:49 IOninja And if compile-time running is file, just turn it into a constant or use `is pure` trait
03:49 IOninja s/is file/is fine/;
03:49 lucs Right. Okay, thanks.
03:54 cibs joined #perl6
03:58 Sgeo joined #perl6
04:06 pyrimidine joined #perl6
04:21 Actualeyes joined #perl6
04:33 wamba joined #perl6
04:39 skids joined #perl6
04:42 Cabanoss- joined #perl6
04:59 pyrimidine joined #perl6
05:00 masak lucs: I believe you could also use the `is cached` trait
05:01 IOninja Yes, but it's experimental and more typing :)
05:02 labster joined #perl6
05:05 pyrimidi_ joined #perl6
05:07 BenGoldberg m: sub foo { ++state $ = 42 }; say foo for ^3;
05:07 camelia rakudo-moar c0a907: OUTPUT«43␤44␤45␤»
05:08 Actualeyes joined #perl6
05:12 IOninja hah cool
05:17 jeffythedragonsl joined #perl6
05:17 jeffythedragonsl why is hexchat always so blurry
05:18 geekosaur sounds like you might have a font issue (possibly poorly configured antialiasing)
05:19 TimToady m: for 1..5 { say once rand }
05:19 camelia rakudo-moar c0a907: OUTPUT«0.0420370555381263␤0.0420370555381263␤0.0420370555381263␤0.0420370555381263␤0.0420370555381263␤»
05:19 TimToady lucs: ^^^
05:20 gdonald joined #perl6
05:23 IOninja Oh neat.
05:25 IOninja m: sub x { say once rand }; say "hi"; for ^5 {x}
05:25 camelia rakudo-moar c0a907: OUTPUT«hi␤0.968206322743424␤0.968206322743424␤0.968206322743424␤0.968206322743424␤0.968206322743424␤»
05:26 IOninja m: sub x is pure { say once rand }; say "hi"; for ^5 {x}
05:26 camelia rakudo-moar c0a907: OUTPUT«0.965978361098404␤WARNINGS for <tmp>:␤Useless use of "x" in expression "x" in sink context (line 1)␤hi␤»
05:26 jeffythedragonsl would you guys say you're more productive in perl6 now than perl5 even with the compiler only just hitting 1.0?
05:26 IOninja Neat
05:26 jeffythedragonsl cause I'm wondering if I should start all my new scripts in perl6
05:26 IOninja jeffythedragonsl: many (most?) of us don't know Perl 5. It's a different language.
05:27 IOninja You could ask if you should write your scripts in perl6 instead of Ruby, really.
05:27 IOninja "only just hitting 1.0". The 1.0 was released on December 25, 2015
05:28 jeffythedragonsl well I mean people have been waiting for a good p6 implementation for a long time
05:28 TimToady it's still not as fast as we'd like, but it's getting quite a bit better than it was
05:29 jeffythedragonsl but it's mostly correct?
05:29 TimToady you do tend to run into a few more dark corners from time to time, if you try hard enough :)
05:29 TimToady everything we release passes the test suite
05:29 TimToady and has for more than a year
05:30 IOninja jeffythedragonsl: but yeah, people generally find their Perl 6 programs are much shorter than Perl 5 versions when they write idiomatic Perl 6. Things I've done are up to 50% shorter.
05:30 TimToady 'correct' is sometimes a matter of interpretation, fo course
05:30 jeffythedragonsl that's huge
05:30 IOninja Indeed.
05:30 TimToady and more readable, genreally
05:30 IOninja Yes.
05:30 IOninja m: sub infix:<ö> { @_.join.say }; 'Perl ' »ö« 6
05:30 camelia rakudo-moar c0a907: OUTPUT«Potential difficulties:␤    Useless use of »ö« in sink context␤    at <tmp>:1␤    ------> 3sub infix:<ö> { @_.join.say }; 'Perl ' 7⏏5»ö« 6␤Perl 6␤»
05:31 TimToady I like that word, "genreally"
05:31 IOninja Is that useless use?
05:31 IOninja *of useless use
05:31 TimToady yes, it's just guessing only an idiot would use a mutator in a metaop :P
05:31 jeffythedragonsl like the word shalloween
05:31 IOninja :D
05:32 jeffythedragonsl trying to remember where I read that...
05:32 TimToady it's actually picking up that "useless use" in a different place than usual, where it's a bit harder to look up whether things are pure or not
05:32 TimToady probably possible to do it righter than it is
05:33 TimToady but given you can always workaround by putting an eager in front, I wasn't too concerned about the guessing there
05:34 TimToady that is, the failure mode you demonstrate is less upsetting to me than the absence of "useless use" messages in places where it is warranted, which is a lot more often than people trying to sneak side effects into an op
05:37 IOninja Yeah.
05:38 IOninja It wasn't real code, just a cooked up thing :)
05:43 jeffythedragonsl so I found out the perl conference is not too far from me.  Anyone ever been?
05:43 TimToady I will add it to my uu file anyway, and maybe see about fixing it some time
05:44 TimToady once or twice
05:48 jeffythedragonsl registration not open yet
05:51 * IOninja laughs
05:51 IOninja once or twice this month? :)
05:52 jeffythedragonsl is Larry Wall still developing perl?
05:52 jeffythedragonsl dead link on his website
05:52 CIAvash joined #perl6
05:52 TimToady he's sort of a has-been, I hear...
05:53 IOninja jeffythedragonsl: TimToady is Larry Wall :)
05:53 TimToady or maybe he's just lousy at keeping his webpage up to date... :)
05:53 IOninja heh
05:53 jeffythedragonsl it's all programmer bare html
05:53 TimToady they hadn't invented anything else yet back in the day
05:54 * TimToady has been too busy having fun with Perl 6 to spend time hacking webpages...
05:55 jeffythedragonsl stroustrop's is still bare html too.  I like it
05:55 jeffythedragonsl I can never spell his name right
05:59 TimToady well, that's his own fault for picking a complicated name
06:01 jeffythedragonsl lol
06:05 Tonik joined #perl6
06:06 pyrimidine joined #perl6
06:22 labster joined #perl6
06:23 * masak wasn't quite enough to tell jeffythedragonsl that TimToady's web page is totally responsive by modern standards
06:23 masak s/quite/quite fast/
06:24 wamba joined #perl6
06:24 samcv good * perl 6
06:25 masak ahoy, samcv
06:25 samcv ahoy!
06:25 hartenfels joined #perl6
06:29 samcv how do i add a special variable called $*COLLATION?
06:32 TimToady just use 'my $*COLLATION = ...' at the top dynamic level
06:32 TimToady or you mean, like, in PROCESS?
06:33 TimToady or GLOBAL?
06:33 TimToady GLOBAL::<$COLLATION> := stuff
06:33 samcv it should be lexically scoped
06:33 pyrimidine joined #perl6
06:33 TimToady if a user does 'my $*COLLATION' it'll be dynamically scoped
06:34 TimToady don't use * if you don't want dynamic scope
06:34 TimToady but it seems like you do
06:34 samcv dynamic seems fine i think
06:35 TimToady the top default goes in PROCESS, generally, without a star
06:36 samcv kk
06:36 TimToady m: PROCESS::.keys
06:36 camelia rakudo-moar c0a907: ( no output )
06:36 TimToady m: PROCESS::.keys.say
06:36 camelia rakudo-moar c0a907: OUTPUT«($ERR $SPEC &chdir $AWAITER $IN %ENV $OUT)␤»
06:36 hartenfels1 joined #perl6
06:36 TimToady m: GLOBAL::.keys.say
06:36 camelia rakudo-moar c0a907: OUTPUT«()␤»
06:36 TimToady haven't put much in GLOBAL yet, but we don't really support multiple interpreters quite yet...
06:43 samcv if i use $*COLLATION.Collation-Level for what to pass to unicmp_s, it gets 8x slower
06:45 wamba joined #perl6
06:47 samcv well not that much mayby 4x slower. i get a 2x slowdown having something under experimental
06:49 RabidGravy joined #perl6
06:56 Eddward joined #perl6
06:57 Eddward Is there a way to 'die' without the stack trace?
06:57 Eddward Just note+exit?
07:03 samcv TimToady, Trying to think of how the $*COLLATION methods should work: https://gist.github.com/98e9628db3232a3ced4e41389bfef9ea
07:03 bjz joined #perl6
07:04 jonas1 joined #perl6
07:04 samcv would be nice if you could do $*Collation.primary = True; but i'm not sure how to make a hook to have it recompute $.Collation-Level, since $.Collation-Level is a bitmask
07:04 samcv that needs to be passed to unicmp_s
07:04 samcv is there a way to allow the user to do $*COLLATION.primary = False; and also be able to recompute the collation level afterward
07:06 TimToady $*COLLATION.set(:!primary) maybe
07:06 samcv hm
07:07 TimToady just pull the keys out of *%opts or so
07:14 KDr2 left #perl6
07:18 darutoko joined #perl6
07:19 samcv TimToady, can a sub read its own signature?
07:19 samcv er method
07:19 samcv or sub i guess too
07:20 samcv would like to warn and give the user the signature in case they don't supply any proper options
07:20 samcv was thinking of doing method set (Bool :$Primary?, Bool :$Secondary, Bool :$Tertiary?, Bool :$Tetriary?)
07:21 TimToady that would work too, though we usually go with lowercase option names
07:21 TimToady don't need the ? there, they're already all optional
07:22 samcv ah ok
07:24 samcv so Bool's are always optional?
07:24 moritz named are optional by default
07:24 samcv ah
07:24 TimToady most things have true/false values without necessary being bools
07:24 moritz you can make them mandatory with :$Primary!
07:24 TimToady do you want to allow :primary(1) and such?
07:25 samcv i don't see why we would need that hm
07:25 samcv but i guess it would be fine. but anything other than True or 1 would be weird
07:25 samcv unless they're directly setting the $.Collation-Level which is the bitmask
07:27 TimToady $foo.Collation-Level looks kinda like a type coercion because of all the caps
07:27 TimToady does Unicode require uppercase there?
07:29 raelga joined #perl6
07:31 samcv oh collation-level is a bitmask
07:31 samcv it only takes int's
07:32 samcv most of the time users won't need to interface with that, and only set based on primary secondary tertiary, tetriary
07:33 samcv i can set it lowercase
07:34 TimToady we mostly try to keep capitalized words for types and enums, though there are of course exceptions
07:38 samcv m: say 5 ~& 2
07:38 camelia rakudo-moar c0a907: OUTPUT«0␤»
07:38 samcv m: say so 5 ~& 2
07:38 camelia rakudo-moar c0a907: OUTPUT«True␤»
07:38 samcv m: say (5 ~& 2).Bool
07:38 camelia rakudo-moar c0a907: OUTPUT«True␤»
07:38 samcv i need that to return False if I get a 0
07:38 samcv oh it looks like it returns a string? wtf
07:38 TimToady you want +& not ~&
07:38 samcv oh ok
07:39 samcv perfect
07:39 samcv looks like i need to update the docs for https://docs.perl6.org/routine/$TILDE$AMPERSAND
07:39 samcv it mentions nothing about returning a string
07:40 TimToady m: say "ABC" ~& "123"
07:40 TimToady m: say "ABC" ~& "abc"
07:40 camelia rakudo-moar c0a907: OUTPUT«ABC␤»
07:40 TimToady m: say "ABC" ~| "   "
07:40 camelia rakudo-moar c0a907: OUTPUT«abc␤»
07:41 TimToady m: say "abc" ~^ "   "
07:41 camelia rakudo-moar c0a907: OUTPUT«ABC␤»
07:42 TimToady tilde does the operations on each character, pairwise
07:43 TimToady m: say ("ABC".ords Z+| "   ".ords).chrs
07:43 camelia rakudo-moar c0a907: OUTPUT«abc␤»
07:43 TimToady more or less that
07:46 labster joined #perl6
07:47 samcv kk
07:48 samcv TimToady, https://gist.github.com/samcv/98e9628db3232a3ced4e41389bfef9ea#file-collationtest-p6-L18-L29 this is what i have currently
07:48 samcv allows you to set by the bitmask or by primary, secondary etc
07:49 samcv maybe we can have a .collate method that is like sort but uses $*COLLATION, and a 'coll' operator to compare
07:50 TimToady $!primary = $primary with $primary
07:51 samcv +1
07:52 TimToady and I'd probably say: $!primary = so $!collation-level +& 1; just to avoid parens
07:53 samcv yeah
07:53 andrzejku joined #perl6
07:53 TimToady course you could just store collation-level and emulate the field names instead
07:54 samcv true
07:54 TimToady but it's not like this has to be all that compact
07:54 TimToady so whatever's clearer is fine
07:56 samcv could we have infix:<~> be is pure?
07:57 samcv so it can be done compile time?
07:57 TimToady I thought I had it that way once, and someone changed it for some reason I don't remember
07:58 TimToady you can always force it with BEGIN, anyway
07:59 TimToady at least, once upon a time I went through and made all the ones that mades sense pure, and maybe some that didn't, like x
07:59 TimToady but some of those got backed out, don't recall why
08:00 TimToady mighta missed ~ at that point, but I don't think I woulda
08:01 TimToady could try it and see what breaks :)
08:01 samcv heh
08:02 andrzejku people what do you know about functional programming in perl6?
08:03 andrzejku https://docs.perl6.org/language/functions
08:03 samcv TimToady, what file should $*COLLATION and the Collation class go in?
08:03 TimToady its own file?
08:04 TimToady in src/core, presumably
08:04 TimToady though one could, I suppose, poke it into Str in a pinch
08:05 jferrero m: say ["" .. "z"]
08:06 camelia rakudo-moar c0a907: OUTPUT«(timeout)»
08:06 TimToady m: say "".succ
08:06 camelia rakudo-moar c0a907: OUTPUT«␤»
08:06 TimToady it doesn't go to 'a'
08:11 abraxxa joined #perl6
08:19 jferrero m: say ["a" .. ""]
08:19 camelia rakudo-moar c0a907: OUTPUT«[]␤»
08:19 jferrero Ok
08:27 samcv TimToady, i settled on not having 'has $.primary' etc https://gist.github.com/samcv/98e9628db3232a3ced4e41389bfef9ea
08:27 samcv makes Collation.perl work perfectly, and not have to deal with TWEAK based on provided parameters. doing Collation.new you must supply the collation level, if you want to use primary etc you can use .set
08:36 pyrimidine joined #perl6
08:41 dakkar joined #perl6
08:43 rindolf joined #perl6
08:51 samcv wtf in my set method i change tho value of $!collation-level, and i can print out the updated value. but then when i check the value afterward it's uncharged
08:51 samcv unchanged
08:53 samcv if you run this, you can see it prints out the updated value from the `set` method and then when i try to check the collation-level it replys back the old value https://gist.github.com/samcv/98e9628db3232a3ced4e41389bfef9ea
08:53 samcv can anybody run it and see what is going on?
08:58 g4 joined #perl6
08:58 g4 joined #perl6
08:58 gfldex samcv: what line in that gist is bothering you?
08:59 samcv i think i got it working. i just rewrote it to kinda how it was before.
08:59 samcv it was the collation-level though
08:59 samcv it should be 14 not 15
08:59 raelga joined #perl6
09:00 samcv just updated the gist. going to do it this way
09:00 samcv have to do much less logic this way too
09:00 geekosaur not likely related, but I have to think $tertiary and $tetriary is just asking for trouble
09:00 gfldex samcv: in the gist you posted it should have read '$*COLLATION.set(:collation-level(False));' in line 58
09:00 samcv you can't set collation-value to false. it's an int
09:01 samcv primary secondary etc are derived from the collation-level
09:01 samcv geekosaur, what should i call it
09:01 samcv tetriary breaks ties with codepoint checks
09:01 geekosaur $quaternary
09:01 gfldex samcv: well, it would need an int too ofc
09:02 gfldex samcv: see https://github.com/nxadm/StrictNamedArguments
09:02 bjz joined #perl6
09:02 geekosaur I just think those two names are begging for someone to create a bug with an inadvertent typo setting thewrong one
09:02 samcv yeah
09:02 geekosaur or worse, stupid brain "autocorrect" (or worse, editor autocorrect!) tricks
09:03 gfldex i would change the multi that takes the int to a positional
09:04 geekosaur (also pedantically I think you have been counting in Latin up to there, but tetr- is Greek)
09:06 arnsholt I was about to point out that tetra is Greek as well =)
09:06 samcv Quaternary is latin?
09:06 geekosaur yes
09:06 arnsholt Yeah
09:06 samcv ok cool :)
09:07 samcv updated gist
09:07 arnsholt Primus, secundus, tertius, quartus, quintus, sextus, septimus
09:08 arnsholt 8th and 9th escape me at the moment, sadly, but then decimus
09:09 arnsholt Octavus and nonus. Right
09:13 andrzejku moritz, hi
09:13 andrzejku moritz, I got question regarding your book
09:14 abraxxa joined #perl6
09:17 samcv i made a file /src/core/Collation.pm https://gist.github.com/0adb4389d5c2caf1f9bd5904c9830bac
09:17 samcv payload: don't change grammar in the setting, please!
09:17 samcv at line 18244, near "(|) { * }\n"
09:17 samcv but i get an error that it can't auto generate it if i remove the proto
09:20 gdonald joined #perl6
09:22 adhoc left #perl6
09:27 gfldex .tell lizmat you may want to link the following tonight http://video.fosdem.org/2017/K.4.201/
09:27 yoleaux gfldex: I'll pass your message to lizmat.
09:28 El_Che the start and end time must be marked, but I haven't had the time to do it (now on route to an other coference)
09:33 cibs joined #perl6
09:39 azawawi joined #perl6
09:39 azawawi hi
09:39 samcv hi
09:45 Geth ¦ ecosystem: c4847d35dc | (Ahmad M. Zawawi)++ | META.list
09:45 Geth ¦ ecosystem: OpenCV: META.info -> META6.json
09:45 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/c4847d35dc
09:50 bjz_ joined #perl6
09:55 pyrimidine joined #perl6
09:55 kent\n joined #perl6
10:15 moritz andrzejku: shoot :-)
10:21 andrzejku moritz, if I buy book now can I get all next updates till forever?:D
10:21 andrzejku or I need to pay for every version
10:21 moritz andrzejku: you get all the updates for free
10:22 moritz (though not a print version, if I ever make one)
10:22 andrzejku ok
10:22 emdashcomma_ joined #perl6
10:22 andrzejku do you need support now or can I wait till you finish?
10:23 moritz andrzejku: you can wait untill I finish, but the price gradually goes up as it becomes more complete
10:23 andrzejku ohh :D
10:23 andrzejku till million :D
10:23 moritz :-)
10:24 moritz probably just to 25 or 30 or so
10:24 andrzejku moritz, good job anyway, I start my own but I am too distracted by qt
10:25 moritz from an author's perspective, books are ridiculously low-priced; video courses or so sell at a much higher price point
10:25 moritz andrzejku: thanks
10:25 andrzejku yeah, but you can sell it forever
10:25 samcv do video courses sell as much? also you could have video course + book together?
10:25 samcv forever
10:26 gfldex most books never turn a decent profit, there is simply to much competition
10:26 andrzejku moritz, and you can always write that you are poor and your kids need chocolate so maybe this motivate more perlers to support your work not download free one
10:27 samcv are you sure too much competition is the reason a perl 6 book wouldn't be profitable?
10:27 samcv if there was only one book. it would have no competition
10:27 andrzejku perl 6 book is unique
10:27 samcv exactly
10:27 andrzejku and all folks know moritz so it is even more unique
10:28 mxco86 joined #perl6
10:28 gfldex if you have 6 books you have 6x the man hours invested. You may get more sales with 6 titles that cover the same topic but you will never move 6x sales.
10:29 bjz joined #perl6
10:29 gfldex it depends ofc how popular Perl 6 becomes. If it takes off like a rocket there will be plenty of money for everyone. :)
10:30 moritz samcv: I'm actually considering recording screencasts, and selling them in bundle with the book, or something like that
10:30 samcv that would be a good way to make some extra money
10:30 moritz I "just" have to get over some hurdles, like learning how to screencast properly
10:30 moritz and getting used to the idea of recording my voice
10:31 moritz also, low book prices come not only from competition, but from expectation
10:31 moritz if there was only one Perl 6 book, I couldn't sell it for 150USD
10:32 moritz because people aren't used to pay that much for a book
10:32 cschwenz joined #perl6
10:32 moritz even if it saves them 10 hours, and they'd gladly pay somebody 150USD for doing something that saves them 10 hours
10:40 samcv write a perl 6 book they said. you'll become a millionaire they said
10:41 moritz ha, nobody said that :-)
10:42 moritz when Italy still had Lira as currency, becoming a millionaire was quite feasible
10:42 moritz :-)
10:42 moritz (1 EUR was roughly 2k Lira, iirc)
10:43 kent\n joined #perl6
10:43 cschwenz left #perl6
10:43 gfldex i that case you may want to move to Zimbabwe
10:49 movl joined #perl6
10:50 pmurias joined #perl6
10:58 pyrimidine joined #perl6
11:00 agentzh joined #perl6
11:00 azawawi zef install OpenCV # now works on macOS & Linux :)
11:04 gregf_ joined #perl6
11:05 zakharyas joined #perl6
11:12 timotimo started watching the perl 6 for beginners talk by the merlo family, but it starts with at least 5 minutes of setup :\
11:12 timotimo i suppose that's what you get when you cut videos based on fixed time intervals?
11:13 nine timotimo: the videos are supposed to be reviewed by the speakers who can then set appropriate start and end points
11:14 timotimo ah, i didn't know that
11:14 timotimo i suppose that didn't happen yet?
11:14 nine I only found out about that when I got the email with the review link :)
11:17 El_Che timotimo: those are the raw feeds
11:17 El_Che I just reviewed brian's talk
11:17 timotimo they do have a pre-roll slide
11:17 El_Che so start and end are ok
11:17 El_Che I gave that a go so they will recode that to a higher quality
11:20 timotimo will the before and after versions both find their way into the file listing?
11:21 timotimo maybe i accidentally opened the before-cutting version of that recording
11:21 gfldex timotimo: you can find the progress here: https://review.video.fosdem.org/overview
11:22 pyrimidine joined #perl6
11:22 pmurias joined #perl6
11:23 espadrine joined #perl6
11:23 El_Che now released wendy's talk. But again: transcoding into higher quality
11:23 El_Che timotimo: you did. Those are indeed raw pre-edited data
11:24 El_Che which is ok to watch ofcourse if you don't mind skipping ahead most of the time
11:24 El_Che speakers stayed within time limitis mostly so our room is pretty ok to watch as raw
11:26 nine Ha, the video review system is written in Perl :) https://github.com/yoe/sreview
11:30 samcv i wish jvm compilation wasn't so slow
11:30 timotimo oh the jvm can be extremely performant. we just don't target it especially well
11:30 timotimo our inclusion of invokedynamic stuff has been good, though
11:31 samcv for compiling things?
11:31 samcv err i mean compiling rakudo
11:31 moritz well, and we don't optimize for few startups, which would be a major win with the JVM
11:32 El_Che nines talk now :)
11:33 samcv where can i see the previews?
11:33 timotimo http://ftp.osuosl.org/pub/fosdem/2017/K.4.201
11:34 samcv so same as https://video.fosdem.org/2017/K.4.201/
11:34 samcv not that many talks there then
11:36 samcv pushing $*COLLATION and the 'coll' operator to rakudo repo now
11:36 samcv coll is also behind experimental :unicmp
11:36 samcv i'm excited
11:41 El_Che I have litteraly edited wendy's video 5 times
11:41 samcv 5? lol
11:41 El_Che end time marking is a moving target
11:42 samcv is it dependent on how other people are editintg their videos?
11:45 El_Che everything is automatically cut as predeclared in the booklet
11:46 El_Che so you get a main vieuw and 2 small (pre and post talks)
11:46 El_Che so most often you need to cut start or end
11:46 El_Che luckily our romm was very ok on timings
11:46 El_Che but neverless of course not perfect to the second
11:49 El_Che off to config management conference now
11:49 El_Che will continue later
11:50 timotimo thank you for your volunteer time :)
11:51 samcv m: say $*COLLATION
11:51 camelia rakudo-moar 206148: OUTPUT«collation-level => 15, Country => International, Language => None, primary => True, secondary => True, tertiary => True, quaternary => True␤»
11:51 samcv nice
11:55 pmurias timotimo: other dynamic languages like ruby are having really good results on the jvm using the graal stuff
12:10 aborazmeh joined #perl6
12:10 aborazmeh joined #perl6
12:23 pyrimidine joined #perl6
12:28 AlexDaniel joined #perl6
12:30 dustinm` joined #perl6
12:32 leah2 joined #perl6
12:35 pyrimidine joined #perl6
12:43 pyrimidine joined #perl6
12:48 lucasb joined #perl6
13:00 ocbtec joined #perl6
13:02 Geth ¦ ecosystem: ff991becce | (Ahmad M. Zawawi)++ | META.list
13:02 Geth ¦ ecosystem: File::HomeDir: META.info -> META6.json
13:02 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/ff991becce
13:07 samcv graal?
13:07 timotimo google search for "graal truffle" i think?
13:07 tadzik holy graal
13:08 timotimo graal online?
13:08 samcv should be able to compare things ignoring case or diacritics with 'coll' operator shortly :)
13:09 samcv or whatever those mean for emoji
13:09 tadzik . o O ( is Cool does Cool )
13:09 tadzik er, Coll
13:09 samcv heh
13:09 tokomer joined #perl6
13:09 samcv is Coll does Cool
13:09 samcv is Cool does Coll? idk
13:10 * samcv wants a Camelia sticker in exchange for my cool work ;P i get paid in stickers yes?
13:14 gdonald joined #perl6
13:14 * [Coke] wonders if we need a win64 category for RT's platform.
13:15 [Coke] or if we should go to win7/ win10, or more specific with win7/32
13:24 luiz_lha joined #perl6
13:34 mr_ron joined #perl6
13:35 Actualeyes joined #perl6
13:36 * DrForr waves weakly from work.
13:36 perlpilot joined #perl6
13:38 sena_kun joined #perl6
13:40 itaipu joined #perl6
13:44 samcv m: use experimental :unicmp; $*COLLATION.set(:quaternary(False), :tertiary(False)); say 'a' coll 'A';
13:44 camelia rakudo-moar 4efcc2: OUTPUT«Same␤»
13:44 samcv nice
13:45 samcv night guys gotta go to bed
13:45 samcv have a coll time
13:45 sena_kun [Coke], ping.
13:48 * nine waves back to DrForr
13:55 DrForr For those of you not following along on Twitbook, tomorrow's Intro to perl 6 class has 80 confirmed attendees, I assume that the 81st is the lady that's going to be handling questions for me.
14:04 eroux joined #perl6
14:05 sufrostico joined #perl6
14:08 faraco joined #perl6
14:11 sufrostico joined #perl6
14:11 faraco hi, I know that java implementation for Perl 6 is exist, but how to get the implementation and does it take a huge amount of memory to compile it compared to moar and rakudo? I'm on a pc that has 1GB, so far, rakudo passed.
14:12 faraco 1GB RAM*
14:12 * faraco want to play around with Perl6 and the java library.
14:13 DrForr If you don't want to compile it, just grab the perl6/docker stack and save some pain.
14:18 perlpilot faraco: I don't think it can be compiled in 1GB of RAM, but I've never tried with such a low amount myself.
14:18 moritz it can, if you have swap space and enough patience
14:18 eroux joined #perl6
14:19 perlpilot DrForr: I'm not sure if I should congratulate you on the attendees or not ... it could be hell depending on the crowd  :-)
14:19 El_Che faraco: get a free 3 months at joyent. You get $250 for 3 months. You can run a big vm for 3 months with that amount
14:21 faraco Thank you!
14:21 DrForr perlpilot: Well, they're going to have someone filtering content for me.
14:21 El_Che faraco: no product placement here, that's just what I did
14:21 El_Che faraco: don't forget to cancel before the 3 months if you're no longer using your big VM :)
14:22 El_Che DrForr: now at configmanagement conference. F*ck man, I was tired yesterday. How are you?
14:24 DrForr Eh, running on fumes, I needed to catch a bus to Charleroi at 51m.
14:24 DrForr *5am.
14:24 El_Che hell
14:25 faraco actually, I found sloppy.io. 5 Euros per month, sounds reasonable.
14:26 DrForr I'm doing a code review then trying to get home; I've got to translate my OSCON demo text to LibreOffice tonight so we can get it into the screencast stuff.
14:29 hartenfels I went with using NativeCall to talk to Java from the regular MoarVM Rakudo, just because the JVM backend was difficult to install and really slow.
14:30 hartenfels But it probably gets very hairy if you do a lot of calling back and forth you do.
14:33 skids joined #perl6
14:36 eroux joined #perl6
14:37 cibs joined #perl6
14:37 pyrimidine joined #perl6
14:39 khw joined #perl6
14:41 ChoHag joined #perl6
14:42 movl joined #perl6
14:43 pyrimidine joined #perl6
14:47 wamba joined #perl6
14:52 wamba joined #perl6
14:52 lukaramu joined #perl6
14:57 nicq20 joined #perl6
15:01 cdg joined #perl6
15:01 agentzh joined #perl6
15:02 hchienjo joined #perl6
15:06 gregf_ joined #perl6
15:07 yqt joined #perl6
15:22 bitmap joined #perl6
15:26 pyrimidine joined #perl6
15:29 gregf__ joined #perl6
15:33 alimon joined #perl6
15:46 rurban joined #perl6
15:46 lizmat joined #perl6
15:52 rurban left #perl6
15:54 Eddward joined #perl6
15:54 avalenn joined #perl6
16:00 nicq20 left #perl6
16:00 itaipu joined #perl6
16:03 wamba joined #perl6
16:07 pyrimidine joined #perl6
16:28 gdonald joined #perl6
16:28 kurahaupo joined #perl6
16:33 Actualeyes joined #perl6
16:52 * [Coke] returns from lovely, motivating, not at all scary $DAYJOB meetings.
16:53 kybr joined #perl6
16:53 * moritz detects some amount of sarcasm from [Coke]
16:57 TimToady u: 😶
16:57 unicodable6 TimToady, U+1F636 FACE WITHOUT MOUTH [So] (😶)
16:58 TimToady "I have no mouth, and I must scream!" ???
16:58 * TimToady isn't sure what the emotion of that emoticon is sposed to be
16:58 kybr it's the null emotion
16:59 moritz in cyberspace, nobody can hear you scream!
17:00 perigrin It's the "Agent Smith teaches Neo a lesson" emoticon.
17:00 garo joined #perl6
17:01 TimToady maybe it means "not saying anything when your government is going all fascist"
17:02 garo What's the state of perl 6 ? (Can the syntax still change? Is the interpreter/compiler stable ?)
17:03 IOninja garo: the language has been frozen since Christmas 2015. So syntax won't change from under you.
17:03 [Coke] sena_kun: pong
17:04 IOninja garo: compiler stability... it's basically a 1.0 release. You can use it, but you might encounter a potential bug and some things (like performance) need more loving.
17:04 mspo is the socket stuff going to get fleshed out or is that not a part of the core language?
17:05 IOninja Fleshed out how?
17:05 * TimToady is currently figuring out how to change the syntax for changing the syntax :)
17:05 IOninja We have two (three?) core socket classes
17:06 garo How does it "work" (Is it compiled, interpreted, does it run in a vm, ...) ?
17:06 TimToady yes, yes, and no, it runs on several vms :P
17:06 IOninja :D
17:06 nine I almost said "all of the above" :)
17:07 TimToady but not on VMS...
17:07 TimToady nor MVS...
17:07 IOninja garo: it's compiled, but from the user's perspective there's no separate compilation stage to do manually. And it's compiled into byte code that can be run on MoarVM, JVM (and there's also a budding JavaScript backend)
17:08 garo So I assume it's always compiled right before it start's running
17:09 pyrimidine joined #perl6
17:09 itaipu joined #perl6
17:09 garo Is it also possible to compile perl6 scripts once and run them as a binary ?
17:09 mspo there is a code cache in ~/.perl6 or something
17:09 b2gills modules are compiled the first time you use them
17:11 mspo IOninja: let's say I want to do some icmp
17:11 IOninja garo: not yet, though modules are already precompiled
17:12 El_Che joined #perl6
17:12 dogbert17 joined #perl6
17:12 nine b2gills: most modules should be precompiled once when you install them
17:13 TimToady mspo: there's always NativeCall if you exceed the capabilities of our socket IO layer
17:14 garo I've heard it's not backwards compatible with perl 5. How many changes would a random perl5 script need to work in perl6 ? (say a typical script of ~50 lines written by a sysadmin as quick hack)
17:15 mspo garo: replace all of the $'s with the correct sigils
17:15 mspo TimToady: even udp was sort of tacked on :)
17:16 moritz garo: there is no universal answer to that; it's like asking "how many screws do you need to turn to fix a typical broken car?"
17:16 nine garo: if it's a quick hack, you may want to rewrite it anyway ;)
17:16 TimToady garo: to turn it into *good* Perl 6, you'd want to turn all the arg-passing boilerplate into real parameter declarations
17:16 garo mspo: Should I read this as "Most likely it won't work, but it's easy to make the necessary changes" ?
17:16 moritz garo: you really don't want to start Perl 6 by porting Perl 5 scripts to it; use it for new stuff for a while, check if you enjoy it
17:17 TimToady well, porting stuff is a good way to learn
17:17 mspo garo: it will be easy
17:17 IOninja garo: Perl 6 is a different language. You'd need to rewrite it entirely. There are some converters that do half a job. At best you'd end up with writing Perl 5 in Perl 6. Non-idiomatic code that doesn't utilize any of the benefits.
17:17 TimToady IOninja: but that's okay too :)
17:18 garo IOninja: I do that with C in C++ all the time :)
17:18 mspo qx{} still works :)
17:18 TimToady people are allowed to write Perl in the dialect they're coming from, as long as they don't mind folks occasionally pointing out more idiomatic ways to do it
17:18 TimToady mspo: but differently
17:19 TimToady you need qqx to be p5's qx
17:19 mspo okay so tehre's change #2 :)
17:19 TimToady hah, I don't recommend keeping count
17:19 TimToady we've been changing things for 16 years now
17:20 st_elmo joined #perl6
17:20 TimToady but yes, it's possible to write in a p6 dialect that is fairly close to p5
17:20 TimToady we still support @_ for instance
17:21 TimToady otoh, shift won't default to shifting @_
17:21 mspo a 50 line sysadmin script is going to be a lot of qx + array + foreach
17:21 mspo I should know I've written about 1000000 of those
17:22 TimToady m: my @foo = (1,2,3); foreach (@foo) { say }
17:22 camelia rakudo-moar 4efcc2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of 'foreach'; in Perl 6 please use 'for'␤at <tmp>:1␤------> 3my @foo = (1,2,3); foreach7⏏5 (@foo) { say }␤»
17:22 TimToady m: my @foo = (1,2,3); for (@foo) { say }
17:22 camelia rakudo-moar 4efcc2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun␤at <tmp>:1␤------> 3my @foo = (1,2,3); f…»
17:22 TimToady m: my @foo = (1,2,3); for (@foo) { .say }
17:22 camelia rakudo-moar 4efcc2: OUTPUT«1␤2␤3␤»
17:22 TimToady the compiler will tend to give you advice too :)
17:22 TimToady m: my @foo = [1,2,3]; for (@foo) { .say }
17:22 camelia rakudo-moar 4efcc2: OUTPUT«1␤2␤3␤»
17:22 samcv anyone here on windows?
17:23 TimToady that might be surprising though
17:23 garo mspo: for me mostly a lot of  system's, modules, and regexps (in that order)
17:23 samcv want to see what windows says if you try to get the size of a directory on the latest rakudo
17:23 TimToady m: my @foo = 1,2,3; for @foo { .say }
17:23 camelia rakudo-moar 4efcc2: OUTPUT«1␤2␤3␤»
17:23 TimToady and that's more idiomatic
17:23 mspo system() ? :/
17:24 samcv ".".IO.s # should give you the size of the current directory
17:24 TimToady well, system() turns into run(), but run returns true on success
17:24 samcv if anybody can run that on windows
17:24 TimToady well, or shell()
17:24 mspo garo: regex is different too
17:24 mspo garo: but in nice ways
17:25 garo that suprises me
17:25 mspo I think there's a p5 regex flag?
17:25 garo i don't see anything missing from regexps in p5
17:25 TimToady it's not about "missing", it's about terrible syntax
17:26 Eddward garo: p6 'regex's add a lot of goodness.
17:26 TimToady and also, there are a number of things missing :)
17:26 garo but won't adding another syntax will only make it worse, it's hard enough to remember the differences between p5 and grep as it is...
17:27 TimToady p5 regex don't do longest token matching, they don't return tree matches easily, etc
17:28 eroux joined #perl6
17:28 TimToady garo: of course it worse if you don't bother to learn the new language, but then it's better :)
17:28 garo something completely different: Was anyone in the perl devroom at FOSDEM yesterday ?
17:28 TimToady if not, a lot of people were lying here :)
17:29 TimToady but mostly they're commuting back home at the moment
17:29 * nine thinks he was there, but maybe that was just a dream
17:30 mspo re: network stuff I think I had some issues when writing a dns client
17:30 mspo but now I can't remember all of the details
17:30 TimToady garo: basically, our attitude is that we already revolutionized the regex industry once with "PCRE", and so maybe we can do it again with feeling :)
17:30 mspo binary padding stuff?
17:31 eroux joined #perl6
17:31 girafe joined #perl6
17:32 sena_kun [Coke], hi! Three days last and I decided to cast you directly here. Since you're some kind of in charge for docs tests(AFAIK), I'd want you to see https://github.com/perl6/doc/pull/1180(this is not so important and I most likely will merge it by myself) and https://github.com/perl6/doc/pull/1181 - this is somewhat important, so I want a review and (maybe) questions.
17:32 garo I received one of the t-shirt's to advertise for the conference in amsterdam, so i feel obliged to do this, but i am not a member of any social network
17:32 TimToady garo: but certainly, the regex redesign was one of the more radical parts of P6, as explained in S05
17:32 [Coke] sena_kun: ok. You can ask for review via the github PR mechanism, I think.
17:32 [Coke] (so you don't have to wait until I'm live here)
17:33 garo S05 ?
17:33 TimToady hmm, no synopsebot...
17:33 sena_kun [Coke], I casted some people who was interested(or, rather, paid some attention to this work) over @, but it is much more reliable to ask directly. Waiting is no problem. :)
17:33 TimToady S05:1
17:33 synopsebot6 Link: http://design.perl6.org/S05.html#line_1
17:33 TimToady there we go
17:34 garo Can I just mail a picture with the t-shirt to someone ?
17:34 [Coke] ok. 1180 seems fine. if you want review on 1181, I am happy to do it, but please mark me in GH or else I'll forget.
17:34 itaipu joined #perl6
17:34 kybr joined #perl6
17:35 mspo anyway I'd also love a way to fatpack stuff, if not literally compile a binary
17:35 mspo is there a replacement for __DATA__ ?
17:35 sena_kun [Coke], I'll do so now. The most important place is a new test mechanism, described in second commentary, I want you to be aware of it.
17:35 TimToady garo: actually, the original reasoning for the radical redesign is in https://perl6.org/archive/doc/design/apo/A05.html
17:35 nine mspo: =finish
17:36 mspo nine: how do I use it?
17:37 sena_kun [Coke], marked. Thanks for your work!
17:38 Geth ¦ doc: 4d74a9ba14 | Altai-man++ | doc/Language/operators.pod6
17:38 Geth ¦ doc: We don't need to skip these examples and signatures;
17:38 Geth ¦ doc:
17:38 Geth ¦ doc: 'returns' changed to '-->' due to https://github.com/perl6/doc/issues/1024;
17:38 Geth ¦ doc: review: https://github.com/perl6/doc/commit/4d74a9ba14
17:38 Geth ¦ doc: 11973c50a9 | Altai-man++ | xt/return-type.t
17:38 Geth ¦ doc: Check Language/ for return types too
17:38 Geth ¦ doc: review: https://github.com/perl6/doc/commit/11973c50a9
17:38 cdg joined #perl6
17:38 Geth ¦ doc: 01d3847db1 | Altai-man++ | 2 files
17:38 Geth ¦ doc: Merge pull request #1180 from perl6/operators-reformat
17:38 Geth ¦ doc:
17:38 Geth ¦ doc: Operators reformat
17:38 Geth ¦ doc: review: https://github.com/perl6/doc/commit/01d3847db1
17:39 nine mspo: everything after =finish is data (just like __DATA__ in Perl 5). You can access it with $=finish (don't you love the consistency?)
17:44 * IOninja reads https://news.ycombinator.com/item?id=13579838
17:45 IOninja wow, no one frothing from the mouth telling everyone how much Perl 6 sucks?
17:45 IOninja Defenitely progress from HN items I've seen a year ago :)
17:46 IOninja Kinda notice the knowledge-lag. A year ago, most people were commenting thinking Perl 6 is the new Perl 5. Now I see some comments about poor docs and lack of books... :)
17:50 mspo nine: nice
17:51 mspo nine: where is that documented?
17:52 nine mspo: don't know
17:57 jdv79 so.  aparrently a misunderstanding on my part of how deboostrap and/or schroot work means i just hosed my box.  which means my latest p6 hobby project, which was not backed up, is not *poof* gone.
17:57 jdv79 maybe the metacpan stuff will get done sooner...:(
17:57 jdv79 *now
18:00 IOninja jdv79: I can certainly empathize: https://irclog.perlgeek.de/perl6/2016-05-06#i_12441561
18:00 pyrimidine joined #perl6
18:06 pyrimidine joined #perl6
18:12 labster joined #perl6
18:13 curan joined #perl6
18:20 TimToady capital-letter keywords?  what capital-letter keywords?
18:20 curan is there any newer version of the Perl 5 slang than https://github.com/rakudo-p5/v5/ (or is that actually a bad idea?), the last (real) commit was quite a while back…
18:21 [Coke] curan: pretty sure no one isa ctively working on that, no.
18:21 TimToady we mostly recommend Inline::Perl5 these days; the v5 is a little bitrotted
18:21 [Coke] (in that proect or elsewehre)
18:21 pyrimidine joined #perl6
18:21 TimToady and v5 is never going to support XS anyway
18:21 curan hm, Inline::Perl5 just runs a full perl5 binary though, right?
18:21 nine For those who haven't done so yet, please fill out http://barcomb.org/survey  You're helping a very nice person :)
18:22 TimToady yes, but it's much better at running p5 code than p6 is :)
18:22 curan still, additional overhead I don't like… sigh
18:22 TimToady well, sure, no free lunches, and all that...
18:23 curan anyway, thanks for the info (maybe remove the v5 reference from the docs then?, if you don't recommend it, that is)
18:24 TimToady I don't think it even works with the current bleading edge because it relies on implementation details that have changed
18:24 TimToady so it would need a champion
18:24 curan v5 sounded like a path to automatically generate Perl 6 code from Perl 5 modules (though that might be a naive idea, sure others would have done it already if it was easy)
18:25 curan in any case: thanks, for all the info [Coke] and TimToady!
18:26 TimToady the main problem with translation is that a lot of p5 relies on knowing implementation details too, since p5 doesn't distinguish heavily between implementation and interface
18:26 IOninja curan: on which page is v5 mentioned?
18:26 TimToady at least with p6, we say if it's not testing in roast, it's not really a part of the language
18:26 sena_kun IOninja, p5-to-6.
18:26 TimToady *tested
18:27 sena_kun IOninja, doc/Language/5to6-nutshell.pod6:=defn  L<v5|https://github.com/rakudo-p5/v5/>
18:27 curan https://docs.perl6.org/language/5to6-nutshell ← here IOninja
18:27 pyrimidine joined #perl6
18:27 TimToady (roast being the Repository Of All Spec Tests)
18:28 [Coke] (remove v5 from the docs) - it's mentioned once in doc/Language/5to6-nutshell.pod6, and that already points to Inline::Perl5 as the preference.
18:28 [Coke] but yes, it could be be removed.
18:31 Geth ¦ doc: d6ccd8574c | (Zoffix Znet)++ | doc/Language/5to6-nutshell.pod6
18:31 Geth ¦ doc: Remove v5 from docs
18:31 Geth ¦ doc:
18:31 Geth ¦ doc: It's bittrotten and pointing to it just causes confusion.
18:31 Geth ¦ doc: https://irclog.perlgeek.de/perl6/2017-02-06#i_14052737
18:31 Geth ¦ doc: review: https://github.com/perl6/doc/commit/d6ccd8574c
18:31 IOninja curan: fixed, thanks.
18:31 * [Coke] slowly backs out of that file.
18:31 [Coke] IOninja++
18:33 nine Oh yes, heavily bitrotted
18:34 samcv you can't `use v5` at all anymore right?
18:34 confundus joined #perl6
18:35 samcv or it was a module?
18:35 IOninja module
18:35 IOninja buggable: eco v5
18:35 buggable IOninja, v5 'Reimplementation of Perl 5 Slang': https://github.com/rakudo-p5/v5
18:37 curan IOninja: thanks!
18:37 cdg joined #perl6
18:46 curan another (dumb) question: there is no Perl 6 equivalent for DBIx::Class yet, right? Or did I overlook something?
18:46 nine curan: true
18:47 * moritz would really love to port sqlalchemy to Perl 6, but lacks the tuits
18:47 TimToady probably only a matter of time, since everything is introspectable
18:48 confundus Don't know if I make sense, but in case of ambiguous regex is there a way to get all possible matches?
18:52 labster joined #perl6
18:55 moritz confundus: there's :overlap and :exhaustive matches
18:59 itaipu joined #perl6
19:00 TimToady m: say "abc" ~~ m:ex/.+?/
19:00 camelia rakudo-moar 4efcc2: OUTPUT«(「a」 「ab」 「abc」 「b」 「bc」 「c」)␤»
19:00 leah2 joined #perl6
19:00 TimToady m: say "abc" ~~ m:ov/. ** 2/
19:00 camelia rakudo-moar 4efcc2: OUTPUT«(「ab」 「bc」)␤»
19:02 confundus Yes, exhaustive is what I want!
19:02 confundus Thanks, I need to learn how to comb through docs better.
19:02 TimToady .oO( exhaustively :)
19:03 agentzh joined #perl6
19:03 confundus :)
19:04 stmuk http://bofh.nikhef.nl/events/FOSDEM/2017/K.4.201/informal_dsl.vp8.webm
19:06 ufobat joined #perl6
19:07 [Coke] .ask moritz can you review https://github.com/perl6/book/issues/88 ? was your commit that added the image.
19:08 yoleaux [Coke]: I'll pass your message to moritz.
19:08 kyan joined #perl6
19:17 bwisti joined #perl6
19:21 Tonik joined #perl6
19:21 mspo m: say "abc" ~~ m:ex/.++/
19:21 camelia rakudo-moar 4efcc2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Quantifier quantifies nothing␤at <tmp>:1␤------> 3say "abc" ~~ m:ex/.++7⏏5/␤»
19:21 mspo m: say "abc" ~~ m:ex/.+/
19:21 camelia rakudo-moar 4efcc2: OUTPUT«(「abc」 「ab」 「a」 「bc」 「b」 「c」)␤»
19:22 mspo m: say "abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac" ~~ m:ex/a.*/
19:22 camelia rakudo-moar 4efcc2: OUTPUT«(「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac」 「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」 「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」 「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」 「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…»
19:30 aindilis joined #perl6
19:31 curan oh nice, the shirt from the Perl dev room @ FOSDEM is a polo shirt
19:32 itaipu joined #perl6
19:33 Geth ¦ book: 8e8edf4f37 | Cale++ | src/images/title.svg
19:33 Geth ¦ book: Delete title.svg
19:33 Geth ¦ book:
19:33 Geth ¦ book: per legal request
19:33 Geth ¦ book: review: https://github.com/perl6/book/commit/8e8edf4f37
19:36 ufobat nine, thanks for your troubleshooing on the performance of bailador, i am down from 230ms/request to 80ms on my box :)
19:37 ufobat nine, pls dont forget to give me your the stacktrace :)
19:37 nine ufobat: oh, great to hear :)
19:37 wamba joined #perl6
19:39 nine ufobat: I hope I didn't hit on Bailador unfairly in the talk. The dramatization required skirting that line closely.
19:39 TEttinger joined #perl6
19:41 nine ufobat: https://gist.github.com/niner/8401a2c9d740f7a016ed8ea6295d4f40
19:41 ufobat thanks :-)
19:42 alimon joined #perl6
19:43 ufobat no, it is fine! i am so happy for the critique, esp that you pinpointed it to the templates!
19:44 ufobat the only think you need to fix in your slides the uri-for is in bailador since a week or so
19:44 ufobat i'll have ea look at your stacktrace in the next few days i guess
19:47 nine ufobat: I should also have had another look at the commit dates of the listed projects. The slide was unchanged from when I gave the talk at LPW. I just had a massively exhausting week and cannot imagine that it would have made much difference...
19:47 bjz joined #perl6
19:48 nine ufobat: so you're now caching the Template::Mojo object?
19:50 ufobat aye
19:50 ufobat i thought you said something that template::Mojo would actually cache it internally somehow, but i either missheared it or i didnt find it
19:53 khw joined #perl6
19:54 ufobat ha! :D i just wanted to fix a few things you said on london.pm but you're right, it is not that if would have had a huge update.. i am actually almost not doing any web, so without critique or wishes i probably wont change much
19:55 espadrine joined #perl6
19:55 nine ufobat: what I meant is that Template::Mojo parses and EVALs only once and you can render the template with different data many times. So in a way it's caching the compiled template (in &.code)
19:59 ufobat ah! makes sense, then caching the template::Mojo object was right thing to do
20:06 pyrimidine joined #perl6
20:23 tbrowder .tell AlexDaniel Did you get nqp files working with perl6-mode in emacs?
20:24 yoleaux 3 Feb 2017 21:40Z <samcv> tbrowder: please see https://github.com/samcv/Atom-as-a-Perl6-IDE I have made a writeup on it :)
20:24 yoleaux tbrowder: I'll pass your message to AlexDaniel.
20:24 tbrowder samcv: thanks!
20:28 Geth ¦ book: 8d6fdbba01 | Cale++ | src/images/title.pdf
20:28 Geth ¦ book: Delete title.pdf
20:28 Geth ¦ book:
20:28 Geth ¦ book: per legal request. This too contained the vector logo graphic
20:28 Geth ¦ book: review: https://github.com/perl6/book/commit/8d6fdbba01
20:40 TEttinger mmmmm legal commits.
20:40 TEttinger just a reminder that society is terrible
20:41 timotimo i disagree
20:41 timotimo that person gave us A Nice Thing, but wanted us to only use the bitmap version of it
20:41 timotimo we ended up using the vector version of it, so we violated their trust
20:41 timotimo and now we throw that vector version out
20:41 timotimo i think that's very fair
20:43 TEttinger I'm not sure what the Nice Thing is, but I guess? I mean, I could give you a vector logo and require that to use it you must type with your back facing the monitor and arms crossed
20:44 _28_ria joined #perl6
20:45 timotimo the nice thing is the picture
20:45 perlpilot I would think that vector graphic has been there for quite some time.
20:49 nine timotimo: it's only fair if you believe that an immaterial thing can be owned :)
20:50 perlpilot I don't see what "ownership" has to do with it.
20:50 timotimo that's true
20:51 IOninja TEttinger: why terrible? It's the more civilized substitute for beating up the offending party.
20:51 cale2 joined #perl6
20:52 TEttinger Mister Cosby requests you sign this non-disclosure agreement...
20:52 TEttinger civilized.
20:52 IOninja ?
20:52 TEttinger I'm not a fan of lawyers
20:53 IOninja How many of them have you met?
20:53 TEttinger I suppose rather, I'm not a fan of what lawyers do
20:53 TEttinger similarly, how many serial killers have you met, IOninja?
20:54 TEttinger I don't imagine you're a fan of what they do
20:54 IOninja Save you from years of learning all the nuances of law and previous judgements? Oh, yeah, those terrible bastards.
20:54 perlpilot TEttinger: sounds like you're painting a broad brush there.
20:54 nine TEttinger: maybe you're just not a fan of needing lawyers :)
20:54 IOninja :)
20:55 TEttinger having lawyers involved for accusations is a step above colonial britain's policy of debtors' prison
20:56 TEttinger it still takes advantage of the needy
20:58 stmuk ?
20:58 cale2 Quite a nice hacker news discussion today
20:59 hobbs no such thing
20:59 IOninja hehe
20:59 TEttinger if a rich guy gets ripped off and loses $1000, he can potentially use lawyers on retainer and pursue with no additional loss incurred. if someone who had $1000 gets ripped off and loses $1000, what's their recourse here?
21:00 IOninja TEttinger: sounds lawyers let you recover your money. Why is that a bad thing? :)
21:00 TEttinger if you can't afford a lawyer in the first place, the outcome is different
21:01 IOninja TEttinger: but that has nothing to do with layers.
21:01 nine Is it the lawyer's fault that you need him and cannot afford him?
21:01 cale2 IOninja: true. but someone linked to this website that hosts zef modules and it looked really nice
21:01 cale2 https://github.com/tony-o/perl-zefserver Can't recall the URL
21:02 IOninja TEttinger: getting diarhea has a very different outcome for someone who don't have access to clean water. Does it mean water purification plants aree evil?
21:02 hobbs nine: sometimes, in that lawyers cause proliferation of cases where you need lawyers :)
21:02 IOninja heh
21:02 IOninja And web developers cause prolifiration of cases where you need web developers :")
21:03 cale2 the more shampoo you use, the more shampoo you need
21:03 TimToady till yer hair fall sout
21:03 TimToady *falls out
21:04 b2gills lawyers have paid people to do "studies" to "prove" that immunizations cause autism
21:04 tbrowder samcv: re atom, do you know where to find the regex rules?  the nav menu is not very useful without some reasonably powerful regexes.
21:05 tbrowder i tried using ^ and \s* and didn't have any success
21:05 perlpilot sometimes it's too bad that legal proof doesn't have to adhere to the same standards as scientific proof.
21:05 nine b2gills: lawyers have also succeeded in getting compensation to millions of poor people for damages done by huge corporations screwing up. There are those and those.
21:05 perlpilot other times it's not too bad.
21:11 pyrimidine joined #perl6
21:11 alimon joined #perl6
21:14 b2gills I didn't say they were all bad
21:15 mspo left #perl6
21:16 cdg joined #perl6
21:19 geekosaur it's also not necessarily the lawyers at fault in those cases; they are hired to do specific things, they are not supposed to insert their own judgments; that's what the judge is there for. it does lead to ugly ethical corner cases, but tightening up a case like the autism one turns out to have knock-on effects that distort judgment elsewhere.
21:19 geekosaur basically "people are hard"
21:20 gdonald joined #perl6
21:31 alimon joined #perl6
21:36 telex joined #perl6
21:44 labster joined #perl6
21:45 gfldex timotimo: are you doing the weekly today?
21:49 cale2 Yeah, lawyers also do nice things like on that Making a Murderer documentary (even though that guy is probably actually guilty)
21:51 timotimo yup, it me
21:51 gfldex .tell timotimo you may want to link the following tonight http://video.fosdem.org/2017/K.4.201/
21:51 yoleaux gfldex: I'll pass your message to timotimo.
21:53 alimon joined #perl6
21:54 timotimo will do
21:54 yoleaux 21:51Z <gfldex> timotimo: you may want to link the following tonight http://video.fosdem.org/2017/K.4.201/
21:54 timotimo %)
21:57 kurahaupo joined #perl6
21:58 timotimo but first: good food! \o/
21:59 rindolf hi all, how are you?
22:00 gfldex i'm thawing
22:01 cale2 The WHY method doc links to this: https://design.perl6.org/S26.html But that document is not so correct. Like there is no WHEREFORE method
22:03 * IOninja points to the very top of that page
22:03 gfldex cale2: POD6 was never completet (and neither is Rakudos implementation)
22:04 cale2 gfldex: Is it abandoned, or is it just low on the totem pole of things to do?
22:04 gfldex cale2: nobody is working on it right now
22:05 gfldex cale2: most of the work is done in the Perl 6 grammar and that is a beast fit for heros
22:07 gfldex cale2: if you want to takle it I can tell you what needs to be done first :)
22:08 cale2 gfldex: So the reason that the docs aren't embedded in the rakudo source is *actually* because it won't work correctly?
22:08 gfldex no, that was done on purpose because there should be more then one Perl 6 implementation.
22:09 gfldex that's a big should tho :->
22:10 jnthn Well, another reason is that Rakudo build times are quite long enough already
22:10 IOninja Not just. You need a CLA to commit to rakudo but not to docs
22:10 cale2 gfldex: So the docs should be related to the official test suite, in reality. Because all implementations should run through the test suite if they want to be official
22:10 jnthn Also...what IOninja just said
22:10 IOninja cale2: not just should; they *are* :)
22:10 jnthn I'm all for .WHY on things in CORE.setting showing docs, fwiw
22:11 IOninja What Rakudo does does not define Perl 6 language. The roast does.
22:11 jnthn That can surely be achieved in some way other than embedding them in Rakudo
22:11 cale2 So we can embed docs in roast
22:11 jnthn Like exposing them as a module that can be lazy loaded
22:11 jnthn On the first .WHY
22:11 jnthn And installing that module
22:12 IOninja ♬ tell me .WHY do we build castles in the skyyyyyaaaaaaayyyy ♬
22:12 IOninja cale2: or we can leave them as is?
22:12 cale2 I've been thinking about the doc situation a lot lately. The docs right now don't seem very loosely coupled. For example, if I want to make a docs website that looks completely different from docs.per6.org, I should be able to do that easily, no?
22:13 IOninja Yes.
22:13 cale2 IOninja: How might I achieve that?
22:13 cale2 scraping the docs data, for example
22:13 IOninja :S
22:13 cale2 my point exactly haha
22:13 IOninja cale2: why scrape anything when you have well-structured data already?
22:14 cale2 IOninja: Where is the well-structured data?
22:14 IOninja cale2: all the docs are written in POD6
22:14 cale2 POD6 isn't finished ;_;
22:14 IOninja You can slice and dice it anyway you want.
22:14 gfldex cale2: and working with Pod::* nodes ain't that hard
22:15 * jnthn wonders when software is ever finished, except when it ceases to be used
22:15 jnthn Apparently it's complete enough to have written doc.perl6.org in so far :)
22:15 IOninja :)
22:15 cale2 gfldex: I've never worked with Pod::* nodes before. Is there a doc on the doc doc doc?
22:15 gfldex cale2: you may want to read the following https://github.com/perl6/perl6-pod-to-bigpage/blob/master/lib/Pod/To/BigPage.pm6#L198
22:17 cale2 thanks gfldex
22:17 gfldex cale2: you could write a mostly complete pod-to-html-renderer in about 200 lines of code
22:20 cale2 I heard there was a POD6 grammar inside Rakudo
22:22 IOninja cale2: it's all part of regular grammar, since pod blocks can be interleaved with regular code
22:22 gfldex cale2: https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Pod.nqp
22:22 gfldex cale2: and https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Grammar.nqp#L25
22:24 IOninja .oO( probably can be refactored into a nice little role... )
22:24 gfldex at the top of my pod6 wish list are parent node references in each Pod::* node and file/line number references to the source file for better error messages or warnings when rendering pod6.
22:25 rurban joined #perl6
22:27 AlexDaniel joined #perl6
22:29 cale2 I don't have any experience with pod format btw. I haven't touched perl5 in my life
22:30 cale2 So coming from docstrings and doctests in python and elixir, pod seems quite complex
22:31 hobbs different focus
22:31 cale2 like i'm not sure why i'd need to write a huge thing just to document my code. and if i'm going to write a book, why wouldn't i use markdown
22:33 gfldex cale2: because if you write your docs in pod6 you can offer CLI access via perl6doc, render to markdown and HTML and hopefully soon LaTeX
22:34 gfldex cale2: and when we got our modules on CPAN, it can display the docs for your module even before a user installed them
22:35 cale2 ahh
22:35 cale2 ok
22:36 hobbs with things like docstrings and javadoc, yeah, you have doc browsers, but the problem is that the docs become a homogeneous mass
22:37 hobbs you don't get much chance to impose organization on the docs, or add things that aren't directly attached to a method or a package or whatever
22:42 cdg joined #perl6
22:43 hobbs POD gives more chances for people to do sloppy work, I guess, but also more chances to produce very good docs
22:48 cale2 hobbs: For people that have never worked with pod before (aka me), it's difficult to get started using it
22:50 gfldex I found that writing the docs for a language greatly helps learning it. I also found that writing a renderer greatly helps to learn how to use pod6.
22:50 gfldex there seams to be a pattern
22:58 pyrimidine joined #perl6
23:16 _28_ria joined #perl6
23:24 cognominal joined #perl6
23:24 lukiramu joined #perl6
23:25 pochi_ joined #perl6
23:26 jayk_ joined #perl6
23:26 pnu__ joined #perl6
23:26 jkva_ joined #perl6
23:26 Grauwolf_ joined #perl6
23:26 kst`` joined #perl6
23:27 zostay_ joined #perl6
23:28 parisba_ joined #perl6
23:28 skids joined #perl6
23:29 sjn__ joined #perl6
23:29 integral_ joined #perl6
23:29 integral_ joined #perl6
23:29 MilkmanD1n joined #perl6
23:29 perigrin_ joined #perl6
23:30 ilmari_ joined #perl6
23:30 obarb joined #perl6
23:30 konobi_ joined #perl6
23:30 shmibs_ joined #perl6
23:33 nightfrog joined #perl6
23:34 eaterof joined #perl6
23:34 aindilis joined #perl6
23:35 lep-delete joined #perl6
23:36 mitchum joined #perl6
23:37 brosefski joined #perl6
23:37 brosefski hi
23:38 brosefski I was wondering if there was reasoning behind the ternary operator being "?? !!" rather than "? :"
23:39 geekosaur part of it was : already being insanely overloaded. I think the other part was to make it more visible
23:40 Matthew[m] joined #perl6
23:40 CIAvash[m] joined #perl6
23:40 timotimo joined #perl6
23:41 xui_nya[m] joined #perl6
23:41 koki joined #perl6
23:41 sammers joined #perl6
23:41 ilogger2 joined #perl6
23:41 dylanwh joined #perl6
23:41 TBSliver joined #perl6
23:42 leah2 joined #perl6
23:44 hobbs and ! is already a "logical" character
23:45 kalkin- joined #perl6
23:45 kalkin- hi
23:46 kalkin- How can I express that a sub can return an Array[Foo] or an empty array? If I do sub f($s) returns Array[Foo] and return an empty array, I get Type check failed
23:46 kalkin- what should be the proper return declartion?
23:47 brosefski ah ok that makes sense
23:48 samcv .
23:49 zacts joined #perl6
23:51 Actualeyes joined #perl6
23:53 hobbs m: sub foo returns Array[Int] { my Int @x; return @x; }; foo()
23:53 camelia rakudo-moar 4efcc2: ( no output )
23:53 hobbs m: sub foo returns Array[Int] { my Int @x; return @x; }; foo().gist
23:53 camelia rakudo-moar 4efcc2: ( no output )
23:54 kalkin- I have a gather/ take inside which might not execute any take
23:54 kalkin- Exact error: Type check failed for return value; expected Array[XML::Node] but got Array ($[])
23:55 kalkin- may be I misunderstand $[]?
23:58 kyan joined #perl6

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

Perl 6 | Reference Documentation | Rakudo