»ö« 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.
newkidintown thank you 00:00
00:05 captain-adequate left 00:09 labster left 00:10 labster joined
newkidintown What do you guys recommend a newcomer do to learn all of the ins and outs of perl6 00:17
any blogs that have a bunch of good posts related to perl6 programming?
IOninja perl6.party
newkidintown are you the writer 00:18
IOninja Yup.
newkidintown I see, I'll check it out
IOninja newkidintown: there's also a "For newcomers" section on perl6.org/resources/ that lists a couple more resources 00:19
00:22 gdonald left 00:24 gdonald joined 00:26 OnlineCop left
timotimo the advent blog is great, but not really a "get into the language" kind of blog 00:30
newkidintown Have any of you guys used the J programming language 00:39
TEttinger tiny little bit, it's very different 00:43
00:44 espadrine left 00:45 BenGoldberg joined
newkidintown yeah 00:48
seems interesting to use for a bunch of cool mathy stuff
maybe neural networks?
00:49 aborazmeh joined, aborazmeh left, aborazmeh joined 00:54 cibs left 00:56 cibs joined 01:05 girafe left 01:08 pyrimidine joined 01:14 pyrimidine left 01:26 lichtkind left
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␤»
timotimo m: say '$🍩'.uninames
camelia rakudo-moar c0a907: OUTPUT«(DOLLAR SIGN DOUGHNUT)␤»
timotimo m: my $🍩 = "d'oh";
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␤ …»
timotimo m: my \🍩 = "d'oh";
camelia rakudo-moar c0a907: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed my␤at <tmp>:1␤------> 3my7⏏5 \🍩 = "d'oh";␤»
timotimo m: my term:<🍩> = "d'oh";
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";␤␤»
timotimo of course
01:46 cibs left 01:48 cibs joined
IOninja m: my \term:<🍩> = "d'oh"; 01:53
camelia ( no output )
IOninja m: constant term:<🍩> = "d'oh"; say "I love {🍩} — Homer"
camelia rakudo-moar c0a907: OUTPUT«I love d'oh — Homer␤»
IOninja hehe
I love it that we live in the age where a picture of a donut is a valid name for a constant. 01:54
02:00 jayk left, jayk joined 02:11 pyrimidine joined 02:15 KDr2 joined 02:16 pyrimidine left 02:24 pyrimidine joined 02:29 pyrimidine left
newkidintown not that it matters, but do you guys like camelia? 02:32
02:41 labster left 02:47 ChoHag left
japhb newkidintown: Yes. 02:47
(But my opinion is not universal.)
newkidintown japhb: What makes you like how camelia looks 02:48
japhb newkidintown: I like its intent.
newkidintown I'm all for butterflies and making perl6 look more appealing to younger people
I'd say the colors are a little ugly when combined though
japhb I'm color blind. Maybe that helps. :-) 02:49
newkidintown lol
The smile looks a little strange in my eyes too
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: leanpub.com/perl6
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
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.
IOninja newkidintown: some of the assymetry is on purpose. Camelia is "wall-eyed" as a pun for Larry Wall.
newkidintown I like Larry Wall's aesthetic
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 :)
newkidintown Have you ever seen Larry Wall without a weird pattern on his shirt lol
02:53 ChoHag joined
IOninja never seen Larry Wall other than a picture or to. 02:54
newkidintown He looks very 80s 02:55
japhb newkidintown: The one on his wikipedia page.
newkidintown The patterns he wears, his hair, his glasses, his mustache
AlexDaniel newkidintown: github.com/perl6/mu/blob/master/mi...amelia.txt 02:57
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␤»
IOninja aww
m: sub infix:<ö> { @_.join.say }; 'Perl ' »ö« 6
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␤»
IOninja huh
Useless use of useless use. 03:00
AlexDaniel well, again…
IOninja Hm?
03:00 ocbtec left, pyrimidine joined
AlexDaniel you have an infix operator that returns something 03:00
and it is in sink context
IOninja I'd argue my program works as I intended it to and the warning is spurious. 03:01
AlexDaniel :| 03:02
if you want the side effect, don't make it an operator
IOninja Is that a rule for operators? 03:03
m: sub infix:<ö> { @_.join.say }; 'Perl ' ö 6
camelia rakudo-moar c0a907: OUTPUT«Perl 6␤»
IOninja Works fine without the hyper.
m: sub infix:<ö> { @_.join.say }; $ = <a b c> »ö« <e f g> 03:04
03:04 pyrimidine left
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
IOninja m: sub infix:<ö> { @_.join.say }; $ = <a b c> »[&say]« <e f g> 03:05
camelia rakudo-moar c0a907: OUTPUT«ae␤bf␤cg␤»
IOninja m: <a b c> »[&say]« <e f g>
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 03:06 gdonald left
AlexDaniel m: my @a = <1 2 3>; @a »+=« <5 6 7>; say @a 03:07
camelia rakudo-moar c0a907: OUTPUT«[6 8 10]␤»
AlexDaniel I wonder how does it know
03:08 gdonald joined 03:09 pyrimidine left 03:13 agentzh left 03:29 agentzh joined 03:39 aborazmeh left
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
How okay is this?: sub foo { state $x; return $x // do { ⋯ $x = ⋯ }; }
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.
IOninja lucs: sub foo { state $x = … } is shorter 03:48
lucs D'oh! Right.
IOninja And if compile-time running is file, just turn it into a constant or use `is pure` trait 03:49
s/is file/is fine/;
lucs Right. Okay, thanks.
03:52 cibs left 03:54 cibs joined, Actualeyes left 03:58 Sgeo joined 04:06 pyrimidine joined 04:10 pyrimidine left 04:21 Actualeyes joined 04:33 wamba joined 04:39 skids joined 04:42 Cabanoss- joined 04:46 Cabanossi left, Cabanoss- is now known as Cabanossi 04:59 pyrimidine joined
masak lucs: I believe you could also use the `is cached` trait 05:00
IOninja Yes, but it's experimental and more typing :) 05:01
05:02 labster joined 05:05 pyrimidi_ joined, pyrimidine left, Actualeyes left
BenGoldberg m: sub foo { ++state $ = 42 }; say foo for ^3; 05:07
camelia rakudo-moar c0a907: OUTPUT«43␤44␤45␤»
05:08 Actualeyes joined 05:10 pyrimidi_ left, skids left
IOninja hah cool 05:12
05:15 Sgeo left 05:17 jeffythedragonsl joined
jeffythedragonsl why is hexchat always so blurry 05:17
05:18 gdonald left
geekosaur sounds like you might have a font issue (possibly poorly configured antialiasing) 05:18
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␤»
TimToady lucs: ^^^
05:20 gdonald joined
IOninja Oh neat. 05:23
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␤»
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␤»
jeffythedragonsl would you guys say you're more productive in perl6 now than perl5 even with the compiler only just hitting 1.0?
IOninja Neat
jeffythedragonsl cause I'm wondering if I should start all my new scripts in perl6
IOninja jeffythedragonsl: many (most?) of us don't know Perl 5. It's a different language.
You could ask if you should write your scripts in perl6 instead of Ruby, really. 05:27
"only just hitting 1.0". The 1.0 was released on December 25, 2015
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
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 :)
everything we release passes the test suite
and has for more than a year
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
jeffythedragonsl that's huge
IOninja Indeed.
TimToady and more readable, genreally
IOninja Yes.
m: sub infix:<ö> { @_.join.say }; 'Perl ' »ö« 6
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␤»
TimToady I like that word, "genreally" 05:31
IOninja Is that useless use?
*of useless use
TimToady yes, it's just guessing only an idiot would use a mutator in a metaop :P
jeffythedragonsl like the word shalloween
IOninja :D
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
probably possible to do it righter than it is
but given you can always workaround by putting an eager in front, I wasn't too concerned about the guessing there 05:33
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:34
05:36 AlexDaniel left
IOninja Yeah. 05:38
It wasn't real code, just a cooked up thing :)
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
once or twice 05:44
jeffythedragonsl registration not open yet 05:48
IOninja laughs 05:51
once or twice this month? :)
jeffythedragonsl is Larry Wall still developing perl? 05:52
dead link on his website
05:52 CIAvash joined
TimToady he's sort of a has-been, I hear... 05:52
IOninja jeffythedragonsl: TimToady is Larry Wall :) 05:53
TimToady or maybe he's just lousy at keeping his webpage up to date... :)
IOninja heh
jeffythedragonsl it's all programmer bare html
TimToady they hadn't invented anything else yet back in the day
TimToady has been too busy having fun with Perl 6 to spend time hacking webpages... 05:54
jeffythedragonsl stroustrop's is still bare html too. I like it 05:55
I can never spell his name right
TimToady well, that's his own fault for picking a complicated name 05:59
jeffythedragonsl lol 06:01
06:05 Tonik joined 06:06 pyrimidine joined 06:07 labster left 06:11 pyrimidine left, jeffythedragonsl left 06:17 lizmat left 06:22 labster joined
masak wasn't quite enough to tell jeffythedragonsl that TimToady's web page is totally responsive by modern standards 06:23
s/quite/quite fast/
06:24 wamba left, wamba joined
samcv good * perl 6 06:24
masak ahoy, samcv 06:25
samcv ahoy!
06:25 hartenfels joined 06:26 wamba left 06:27 labster left
samcv how do i add a special variable called $*COLLATION? 06:29
TimToady just use 'my $*COLLATION = ...' at the top dynamic level 06:32
or you mean, like, in PROCESS?
or GLOBAL? 06:33
GLOBAL::<$COLLATION> := stuff
samcv it should be lexically scoped
06:33 pyrimidine joined
TimToady if a user does 'my $*COLLATION' it'll be dynamically scoped 06:33
don't use * if you don't want dynamic scope 06:34
but it seems like you do
samcv dynamic seems fine i think
TimToady the top default goes in PROCESS, generally, without a star 06:35
samcv kk 06:36
TimToady m: PROCESS::.keys
camelia ( no output )
TimToady m: PROCESS::.keys.say
camelia rakudo-moar c0a907: OUTPUT«($ERR $SPEC &chdir $AWAITER $IN %ENV $OUT)␤»
06:36 hartenfels1 joined
TimToady m: GLOBAL::.keys.say 06:36
camelia rakudo-moar c0a907: OUTPUT«()␤»
TimToady haven't put much in GLOBAL yet, but we don't really support multiple interpreters quite yet...
06:37 hartenfels left, hartenfels1 is now known as hartenfels, Tonik left 06:39 pyrimidine left
samcv if i use $*COLLATION.Collation-Level for what to pass to unicmp_s, it gets 8x slower 06:43
06:45 wamba joined
samcv well not that much mayby 4x slower. i get a 2x slowdown having something under experimental 06:47
06:49 RabidGravy joined 06:56 Eddward joined
Eddward Is there a way to 'die' without the stack trace? 06:57
Just note+exit?
06:58 wamba left 07:02 agentzh left
samcv TimToady, Trying to think of how the $*COLLATION methods should work: gist.github.com/98e9628db3232a3ced...389bfef9ea 07:03
07:03 bjz joined 07:04 jonas1 joined
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
that needs to be passed to unicmp_s
is there a way to allow the user to do $*COLLATION.primary = False; and also be able to recompute the collation level afterward
TimToady $*COLLATION.set(:!primary) maybe 07:06
samcv hm
TimToady just pull the keys out of *%opts or so 07:07
07:12 BenGoldberg left 07:14 KDr2 left 07:15 Eddward left 07:18 darutoko joined
samcv TimToady, can a sub read its own signature? 07:19
er method
or sub i guess too
would like to warn and give the user the signature in case they don't supply any proper options 07:20
was thinking of doing method set (Bool :$Primary?, Bool :$Secondary, Bool :$Tertiary?, Bool :$Tetriary?)
TimToady that would work too, though we usually go with lowercase option names 07:21
don't need the ? there, they're already all optional
samcv ah ok 07:22
07:23 newkidintown left
samcv so Bool's are always optional? 07:24
moritz named are optional by default
samcv ah
TimToady most things have true/false values without necessary being bools
moritz you can make them mandatory with :$Primary!
TimToady do you want to allow :primary(1) and such?
samcv i don't see why we would need that hm 07:25
but i guess it would be fine. but anything other than True or 1 would be weird
unless they're directly setting the $.Collation-Level which is the bitmask
TimToady $foo.Collation-Level looks kinda like a type coercion because of all the caps 07:27
does Unicode require uppercase there?
07:29 raelga joined
samcv oh collation-level is a bitmask 07:31
it only takes int's
most of the time users won't need to interface with that, and only set based on primary secondary tertiary, tetriary 07:32
i can set it lowercase 07:33
TimToady we mostly try to keep capitalized words for types and enums, though there are of course exceptions 07:34
samcv m: say 5 ~& 2 07:38
camelia rakudo-moar c0a907: OUTPUT«0␤»
samcv m: say so 5 ~& 2
camelia rakudo-moar c0a907: OUTPUT«True␤»
samcv m: say (5 ~& 2).Bool
camelia rakudo-moar c0a907: OUTPUT«True␤»
samcv i need that to return False if I get a 0
oh it looks like it returns a string? wtf
TimToady you want +& not ~&
samcv oh ok
perfect 07:39
looks like i need to update the docs for docs.perl6.org/routine/$TILDE$AMPERSAND
it mentions nothing about returning a string
TimToady m: say "ABC" ~& "123" 07:40
camelia rakudo-moar c0a907: OUTPUT«␤»
TimToady m: say "ABC" ~& "abc"
camelia rakudo-moar c0a907: OUTPUT«ABC␤»
TimToady m: say "ABC" ~| " "
camelia rakudo-moar c0a907: OUTPUT«abc␤»
TimToady m: say "abc" ~^ " " 07:41
camelia rakudo-moar c0a907: OUTPUT«ABC␤»
TimToady tilde does the operations on each character, pairwise 07:42
m: say ("ABC".ords Z+| " ".ords).chrs 07:43
camelia rakudo-moar c0a907: OUTPUT«abc␤»
TimToady more or less that
07:46 labster joined
samcv kk 07:47
TimToady, gist.github.com/samcv/98e9628db323...p6-L18-L29 this is what i have currently 07:48
allows you to set by the bitmask or by primary, secondary etc
maybe we can have a .collate method that is like sort but uses $*COLLATION, and a 'coll' operator to compare 07:49
TimToady $!primary = $primary with $primary 07:50
samcv +1 07:51
TimToady and I'd probably say: $!primary = so $!collation-level +& 1; just to avoid parens 07:52
07:52 raelga left
samcv yeah 07:53
07:53 andrzejku joined
TimToady course you could just store collation-level and emulate the field names instead 07:53
samcv true 07:54
TimToady but it's not like this has to be all that compact
so whatever's clearer is fine
samcv could we have infix:<~> be is pure? 07:56
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
you can always force it with BEGIN, anyway 07:58
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
but some of those got backed out, don't recall why
mighta missed ~ at that point, but I don't think I woulda 08:00
could try it and see what breaks :) 08:01
samcv heh
andrzejku people what do you know about functional programming in perl6? 08:02
docs.perl6.org/language/functions 08:03
samcv TimToady, what file should $*COLLATION and the Collation class go in?
TimToady its own file?
in src/core, presumably 08:04
though one could, I suppose, poke it into Str in a pinch
jferrero m: say ["" .. "z"] 08:05
camelia rakudo-moar c0a907: OUTPUT«(timeout)» 08:06
TimToady m: say "".succ
camelia rakudo-moar c0a907: OUTPUT«␤»
TimToady it doesn't go to 'a'
08:11 abraxxa joined
jferrero m: say ["a" .. ""] 08:19
camelia rakudo-moar c0a907: OUTPUT«[]␤»
jferrero Ok
samcv TimToady, i settled on not having 'has $.primary' etc gist.github.com/samcv/98e9628db323...389bfef9ea 08:27
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:34 bjz left 08:35 aindilis left 08:36 pyrimidine joined 08:41 dakkar joined 08:42 pyrimidine left 08:43 rindolf joined 08:48 dogbert17 left
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
unchanged
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 gist.github.com/samcv/98e9628db323...389bfef9ea 08:53
can anybody run it and see what is going on?
08:58 g4 joined, g4 left, g4 joined
gfldex samcv: what line in that gist is bothering you? 08:58
samcv i think i got it working. i just rewrote it to kinda how it was before. 08:59
it was the collation-level though
it should be 14 not 15
08:59 raelga joined
samcv just updated the gist. going to do it this way 09:00
have to do much less logic this way too
geekosaur not likely related, but I have to think $tertiary and $tetriary is just asking for trouble
gfldex samcv: in the gist you posted it should have read '$*COLLATION.set(:collation-level(False));' in line 58
samcv you can't set collation-value to false. it's an int
primary secondary etc are derived from the collation-level 09:01
geekosaur, what should i call it
tetriary breaks ties with codepoint checks
geekosaur $quaternary
gfldex samcv: well, it would need an int too ofc
samcv: see github.com/nxadm/StrictNamedArguments 09:02
09:02 bjz joined
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
geekosaur or worse, stupid brain "autocorrect" (or worse, editor autocorrect!) tricks
gfldex i would change the multi that takes the int to a positional 09:03
geekosaur (also pedantically I think you have been counting in Latin up to there, but tetr- is Greek) 09:05
arnsholt I was about to point out that tetra is Greek as well =) 09:06
samcv Quaternary is latin?
geekosaur yes
arnsholt Yeah
samcv ok cool :)
updated gist 09:07
arnsholt Primus, secundus, tertius, quartus, quintus, sextus, septimus
8th and 9th escape me at the moment, sadly, but then decimus 09:08
Octavus and nonus. Right 09:09
andrzejku moritz, hi 09:13
moritz, I got question regarding your book
09:14 abraxxa left, abraxxa joined 09:15 raelga left
samcv i made a file /src/core/Collation.pm gist.github.com/0adb4389d5c2caf1f9...04c9830bac 09:17
payload: don't change grammar in the setting, please!
at line 18244, near "(|) { * }\n"
but i get an error that it can't auto generate it if i remove the proto
09:18 gdonald left 09:20 gdonald joined
gfldex .tell lizmat you may want to link the following tonight video.fosdem.org/2017/K.4.201/ 09:27
yoleaux gfldex: I'll pass your message to lizmat.
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:28
09:31 cibs left 09:33 cibs joined 09:39 azawawi joined
azawawi hi 09:39
samcv hi
Geth ecosystem: c4847d35dc | (Ahmad M. Zawawi)++ | META.list
OpenCV: META.info -> META6.json
09:45
09:50 bjz_ joined 09:52 bjz left 09:55 kent\n left, pyrimidine joined, kent\n joined 10:01 pyrimidine left, kent\n left 10:02 TEttinger left
moritz andrzejku: shoot :-) 10:15
andrzejku moritz, if I buy book now can I get all next updates till forever?:D 10:21
or I need to pay for every version
moritz andrzejku: you get all the updates for free
(though not a print version, if I ever make one) 10:22
10:22 emdashcomma left
andrzejku ok 10:22
10:22 emdashcomma_ joined
andrzejku do you need support now or can I wait till you finish? 10:22
moritz andrzejku: you can wait untill I finish, but the price gradually goes up as it becomes more complete 10:23
andrzejku ohh :D
till million :D
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
moritz from an author's perspective, books are ridiculously low-priced; video courses or so sell at a much higher price point 10:25
andrzejku: thanks
andrzejku yeah, but you can sell it forever
samcv do video courses sell as much? also you could have video course + book together?
forever
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
samcv are you sure too much competition is the reason a perl 6 book wouldn't be profitable? 10:27
if there was only one book. it would have no competition
andrzejku perl 6 book is unique
samcv exactly
andrzejku and all folks know moritz so it is even more unique
10:28 mxco86 joined
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:28
10:29 bjz joined
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:29
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 bjz_ left
moritz I "just" have to get over some hurdles, like learning how to screencast properly 10:30
and getting used to the idea of recording my voice
also, low book prices come not only from competition, but from expectation 10:31
if there was only one Perl 6 book, I couldn't sell it for 150USD
because people aren't used to pay that much for a book 10:32
10:32 cschwenz joined
moritz even if it saves them 10 hours, and they'd gladly pay somebody 150USD for doing something that saves them 10 hours 10:32
samcv write a perl 6 book they said. you'll become a millionaire they said 10:40
moritz ha, nobody said that :-) 10:41
when Italy still had Lira as currency, becoming a millionaire was quite feasible 10:42
:-)
(1 EUR was roughly 2k Lira, iirc)
10:43 kent\n joined, cschwenz left
gfldex i that case you may want to move to Zimbabwe 10:43
10:49 movl joined 10:50 pmurias joined 10:58 pyrimidine joined 11:00 agentzh joined
azawawi zef install OpenCV # now works on macOS & Linux :) 11:00
11:04 gregf_ joined, pyrimidine left, agentzh left 11:05 zakharyas left, zakharyas joined 11:10 zakharyas left
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
i suppose that's what you get when you cut videos based on fixed time intervals?
nine timotimo: the videos are supposed to be reviewed by the speakers who can then set appropriate start and end points 11:13
timotimo ah, i didn't know that 11:14
i suppose that didn't happen yet?
nine I only found out about that when I got the email with the review link :)
11:16 labster left
El_Che timotimo: those are the raw feeds 11:17
I just reviewed brian's talk
timotimo they do have a pre-roll slide
El_Che so start and end are ok
I gave that a go so they will recode that to a higher quality
timotimo will the before and after versions both find their way into the file listing? 11:20
11:21 pmurias left
timotimo maybe i accidentally opened the before-cutting version of that recording 11:21
gfldex timotimo: you can find the progress here: review.video.fosdem.org/overview
11:22 pyrimidine joined, pmurias joined 11:23 espadrine joined
El_Che now released wendy's talk. But again: transcoding into higher quality 11:23
timotimo: you did. Those are indeed raw pre-edited data
which is ok to watch ofcourse if you don't mind skipping ahead most of the time 11:24
speakers stayed within time limitis mostly so our room is pretty ok to watch as raw
nine Ha, the video review system is written in Perl :) github.com/yoe/sreview 11:26
11:26 pyrimidine left
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
our inclusion of invokedynamic stuff has been good, though
samcv for compiling things? 11:31
err i mean compiling rakudo
moritz well, and we don't optimize for few startups, which would be a major win with the JVM
El_Che nines talk now :) 11:32
samcv where can i see the previews? 11:33
timotimo ftp.osuosl.org/pub/fosdem/2017/K.4.201
samcv so same as video.fosdem.org/2017/K.4.201/ 11:34
not that many talks there then
pushing $*COLLATION and the 'coll' operator to rakudo repo now 11:36
coll is also behind experimental :unicmp
i'm excited
11:37 azawawi left
El_Che I have litteraly edited wendy's video 5 times 11:41
samcv 5? lol
El_Che end time marking is a moving target
samcv is it dependent on how other people are editintg their videos? 11:42
El_Che everything is automatically cut as predeclared in the booklet 11:45
so you get a main vieuw and 2 small (pre and post talks) 11:46
so most often you need to cut start or end
luckily our romm was very ok on timings
but neverless of course not perfect to the second
off to config management conference now 11:49
will continue later
timotimo thank you for your volunteer time :) 11:50
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␤»
samcv nice
pmurias timotimo: other dynamic languages like ruby are having really good results on the jvm using the graal stuff 11:55
12:10 aborazmeh joined, aborazmeh left, aborazmeh joined 12:23 pyrimidine joined 12:26 leah2 left 12:28 AlexDaniel joined, pyrimidine left 12:30 dustinm` joined 12:32 leah2 joined 12:35 pyrimidine joined 12:41 pyrimidine left 12:43 pyrimidine joined 12:44 gregf_ left 12:48 lucasb joined, pyrimidine left 12:54 bjz left 12:55 bitmap left 13:00 ocbtec joined
Geth ecosystem: ff991becce | (Ahmad M. Zawawi)++ | META.list
File::HomeDir: META.info -> META6.json
13:02
13:07 Actualeyes left
samcv graal? 13:07
timotimo google search for "graal truffle" i think?
tadzik holy graal
timotimo graal online? 13:08
samcv should be able to compare things ignoring case or diacritics with 'coll' operator shortly :)
or whatever those mean for emoji 13:09
tadzik . o O ( is Cool does Cool )
er, Coll
samcv heh
13:09 tokomer joined
samcv is Coll does Cool 13:09
is Cool does Coll? idk
samcv wants a Camelia sticker in exchange for my cool work ;P i get paid in stickers yes? 13:10
13:11 movl left 13:12 gdonald left 13:14 gdonald joined
[Coke] wonders if we need a win64 category for RT's platform. 13:14
or if we should go to win7/ win10, or more specific with win7/32 13:15
13:24 luiz_lha joined, luiz_lha is now known as Guest92602 13:25 Guest92602 is now known as luiz_lha 13:33 lucasb left 13:34 mr_ron joined 13:35 Actualeyes joined
DrForr waves weakly from work. 13:36
13:36 perlpilot joined 13:38 sena_kun joined 13:40 itaipu joined
samcv m: use experimental :unicmp; $*COLLATION.set(:quaternary(False), :tertiary(False)); say 'a' coll 'A'; 13:44
camelia rakudo-moar 4efcc2: OUTPUT«Same␤»
samcv nice
night guys gotta go to bed 13:45
have a coll time
sena_kun [Coke], ping.
nine waves back to DrForr 13:48
13:49 eroux left 13:53 cog_ left
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. 13:55
14:02 aborazmeh left 14:04 eroux joined 14:05 sufrostico joined 14:08 faraco joined, eroux left 14:09 sufrostico left 14:11 sufrostico joined
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:11
1GB RAM* 14:12
faraco want to play around with Perl6 and the java library.
DrForr If you don't want to compile it, just grab the perl6/docker stack and save some pain. 14:13
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
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
faraco Thank you! 14:21
DrForr perlpilot: Well, they're going to have someone filtering content for me.
El_Che faraco: no product placement here, that's just what I did
faraco: don't forget to cancel before the 3 months if you're no longer using your big VM :)
DrForr: now at configmanagement conference. F*ck man, I was tired yesterday. How are you? 14:22
DrForr Eh, running on fumes, I needed to catch a bus to Charleroi at 51m. 14:24
*5am.
El_Che hell
faraco actually, I found sloppy.io. 5 Euros per month, sounds reasonable. 14:25
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:26
14:29 ChoHag left
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:29
But it probably gets very hairy if you do a lot of calling back and forth you do. 14:30
14:30 faraco left 14:33 skids joined 14:35 cibs left 14:36 eroux left, eroux joined 14:37 cibs joined, pyrimidine joined 14:39 khw joined 14:40 kybr left 14:41 ChoHag joined 14:42 movl joined 14:43 pyrimidine left, pyrimidine joined 14:47 wamba joined 14:48 pyrimidine left 14:51 wamba left 14:52 wamba joined, lukaramu joined 14:57 nicq20 joined 15:01 cdg joined, agentzh joined 15:02 hchienjo joined, g4 left 15:03 hchienjo left 15:06 agentzh left, gregf_ joined 15:07 yqt joined 15:10 eroux left 15:14 wamba left 15:22 bitmap joined 15:26 gregf_ left 15:27 pyrimidine joined 15:29 gregf__ joined 15:33 alimon joined 15:34 itaipu left 15:37 tokomer left 15:46 rurban joined, lizmat joined 15:52 rurban left 15:53 avalenn left 15:54 Eddward joined, avalenn joined 15:56 AlexDaniel left 15:58 abraxxa left 16:00 nicq20 left, itaipu joined 16:04 wamba joined 16:06 pyrimidine left 16:07 pyrimidine joined, lizmat left 16:12 pyrimidine left 16:13 hartenfels left 16:18 Actualeyes left 16:20 CIAvash left 16:26 gdonald left 16:28 gdonald joined, kurahaupo joined 16:33 Actualeyes joined
[Coke] returns from lovely, motivating, not at all scary $DAYJOB meetings. 16:52
16:53 kybr joined
moritz detects some amount of sarcasm from [Coke] 16:53
16:57 itaipu left
TimToady u: 😶 16:57
unicodable6 TimToady, U+1F636 FACE WITHOUT MOUTH [So] (😶)
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
kybr it's the null emotion
moritz in cyberspace, nobody can hear you scream! 16:59
perigrin It's the "Agent Smith teaches Neo a lesson" emoticon. 17:00
17:00 garo joined
TimToady maybe it means "not saying anything when your government is going all fascist" 17:01
garo What's the state of perl 6 ? (Can the syntax still change? Is the interpreter/compiler stable ?) 17:02
IOninja garo: the language has been frozen since Christmas 2015. So syntax won't change from under you. 17:03
[Coke] sena_kun: pong
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?
IOninja Fleshed out how? 17:05
TimToady is currently figuring out how to change the syntax for changing the syntax :)
IOninja We have two (three?) core socket classes
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
IOninja :D
nine I almost said "all of the above" :)
TimToady but not on VMS... 17:07
nor MVS...
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)
garo So I assume it's always compiled right before it start's running 17:08
17:09 pyrimidine joined, itaipu joined
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
b2gills modules are compiled the first time you use them
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, dogbert17 joined
nine b2gills: most modules should be precompiled once when you install them 17:12
TimToady mspo: there's always NativeCall if you exceed the capabilities of our socket IO layer 17:13
17:13 kurahaupo left
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:14
mspo garo: replace all of the $'s with the correct sigils 17:15
TimToady: even udp was sort of tacked on :)
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 ;)
TimToady garo: to turn it into *good* Perl 6, you'd want to turn all the arg-passing boilerplate into real parameter declarations
garo mspo: Should I read this as "Most likely it won't work, but it's easy to make the necessary changes" ?
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
TimToady well, porting stuff is a good way to learn 17:17
mspo garo: it will be easy
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.
TimToady IOninja: but that's okay too :)
garo IOninja: I do that with C in C++ all the time :) 17:18
mspo qx{} still works :)
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
mspo: but differently
you need qqx to be p5's qx 17:19
mspo okay so tehre's change #2 :)
TimToady hah, I don't recommend keeping count
we've been changing things for 16 years now
17:20 st_elmo joined
TimToady but yes, it's possible to write in a p6 dialect that is fairly close to p5 17:20
we still support @_ for instance
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
I should know I've written about 1000000 of those
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 }␤»
TimToady m: my @foo = (1,2,3); for (@foo) { say }
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…»
TimToady m: my @foo = (1,2,3); for (@foo) { .say }
camelia rakudo-moar 4efcc2: OUTPUT«1␤2␤3␤»
TimToady the compiler will tend to give you advice too :)
m: my @foo = [1,2,3]; for (@foo) { .say }
camelia rakudo-moar 4efcc2: OUTPUT«1␤2␤3␤»
samcv anyone here on windows?
TimToady that might be surprising though 17:23
garo mspo: for me mostly a lot of system's, modules, and regexps (in that order)
samcv want to see what windows says if you try to get the size of a directory on the latest rakudo
TimToady m: my @foo = 1,2,3; for @foo { .say }
camelia rakudo-moar 4efcc2: OUTPUT«1␤2␤3␤»
TimToady and that's more idiomatic
mspo system() ? :/
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
samcv if anybody can run that on windows
TimToady well, or shell()
mspo garo: regex is different too
garo: but in nice ways
garo that suprises me 17:25
mspo I think there's a p5 regex flag?
garo i don't see anything missing from regexps in p5
TimToady it's not about "missing", it's about terrible syntax
Eddward garo: p6 'regex's add a lot of goodness. 17:26
17:26 luiz_lha left
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 kybr left
TimToady p5 regex don't do longest token matching, they don't return tree matches easily, etc 17:27
17:28 eroux joined
TimToady garo: of course it worse if you don't bother to learn the new language, but then it's better :) 17:28
17:28 eroux left
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 :)
but mostly they're commuting back home at the moment 17:29
nine thinks he was there, but maybe that was just a dream
mspo re: network stuff I think I had some issues when writing a dns client 17:30
but now I can't remember all of the details
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 :)
mspo binary padding stuff?
17:31 eroux joined, girafe joined
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 github.com/perl6/doc/pull/1180(this is not so important and I most likely will merge it by myself) and 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
TimToady garo: but certainly, the regex redesign was one of the more radical parts of P6, as explained in S05
[Coke] sena_kun: ok. You can ask for review via the github PR mechanism, I think.
(so you don't have to wait until I'm live here) 17:33
garo S05 ?
TimToady hmm, no synopsebot...
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. :)
TimToady S05:1
synopsebot6 Link: design.perl6.org/S05.html#line_1
TimToady there we go
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 left, itaipu joined, kybr joined
mspo anyway I'd also love a way to fatpack stuff, if not literally compile a binary 17:35
is there a replacement for __DATA__ ?
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.
TimToady garo: actually, the original reasoning for the radical redesign is in perl6.org/archive/doc/design/apo/A05.html
nine mspo: =finish
mspo nine: how do I use it? 17:36
sena_kun [Coke], marked. Thanks for your work! 17:37
17:38 cdg left
Geth doc: 4d74a9ba14 | Altai-man++ | doc/Language/operators.pod6
We don't need to skip these examples and signatures;

  'returns' changed to '-->' due to github.com/perl6/doc/issues/1024;
17:38
doc: 11973c50a9 | Altai-man++ | xt/return-type.t
Check Language/ for return types too
17:38 cdg joined
Geth doc: 01d3847db1 | Altai-man++ | 2 files
Merge pull request #1180 from perl6/operators-reformat

Operators reformat
17:38
17:39 dakkar left
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:39
17:40 xzhao left
IOninja reads news.ycombinator.com/item?id=13579838 17:44
wow, no one frothing from the mouth telling everyone how much Perl 6 sucks? 17:45
Defenitely progress from HN items I've seen a year ago :)
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:46
mspo nine: nice 17:50
nine: where is that documented? 17:51
nine mspo: don't know 17:52
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
maybe the metacpan stuff will get done sooner...:(
*now
18:00 pyrimidine left
IOninja jdv79: I can certainly empathize: irclog.perlgeek.de/perl6/2016-05-06#i_12441561 18:00
18:00 pyrimidine joined 18:03 Eddward left 18:05 pyrimidine left 18:06 pyrimidine joined 18:12 labster joined 18:13 curan joined, labster left
TimToady capital-letter keywords? what capital-letter keywords? 18:20
18:20 pyrimidine left
curan is there any newer version of the Perl 5 slang than github.com/rakudo-p5/v5/ (or is that actually a bad idea?), the last (real) commit was quite a while back… 18:20
[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
[Coke] (in that proect or elsewehre)
18:21 pyrimidine joined
TimToady and v5 is never going to support XS anyway 18:21
curan hm, Inline::Perl5 just runs a full perl5 binary though, right?
nine For those who haven't done so yet, please fill out barcomb.org/survey You're helping a very nice person :)
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
TimToady well, sure, no free lunches, and all that...
curan anyway, thanks for the info (maybe remove the v5 reference from the docs then?, if you don't recommend it, that is) 18:23
TimToady I don't think it even works with the current bleading edge because it relies on implementation details that have changed 18:24
so it would need a champion
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)
in any case: thanks, for all the info [Coke] and TimToady! 18:25
18:26 pyrimidine left
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?
TimToady at least with p6, we say if it's not testing in roast, it's not really a part of the language
sena_kun IOninja, p5-to-6.
TimToady *tested 18:27
sena_kun IOninja, doc/Language/5to6-nutshell.pod6:=defn L<v5|github.com/rakudo-p5/v5/>
curan docs.perl6.org/language/5to6-nutshell ← here IOninja
18:27 pyrimidine joined
TimToady (roast being the Repository Of All Spec Tests) 18:27
[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
but yes, it could be be removed. 18:29
Geth doc: d6ccd8574c | (Zoffix Znet)++ | doc/Language/5to6-nutshell.pod6
Remove v5 from docs

It's bittrotten and pointing to it just causes confusion.
  irclog.perlgeek.de/perl6/2017-02-06#i_14052737
18:31
IOninja curan: fixed, thanks.
[Coke] slowly backs out of that file.
IOninja++
nine Oh yes, heavily bitrotted 18:33
samcv you can't `use v5` at all anymore right? 18:34
18:34 confundus joined
samcv or it was a module? 18:35
IOninja module
buggable: eco v5
buggable IOninja, v5 'Reimplementation of Perl 5 Slang': github.com/rakudo-p5/v5
curan IOninja: thanks! 18:37
18:37 cdg left, cdg joined 18:41 st_elmo left
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
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
confundus Don't know if I make sense, but in case of ambiguous regex is there a way to get all possible matches? 18:48
18:51 espadrine left 18:52 itaipu left, cdg left, labster joined 18:55 leah2 left
moritz confundus: there's :overlap and :exhaustive matches 18:55
18:59 itaipu joined
TimToady m: say "abc" ~~ m:ex/.+?/ 19:00
camelia rakudo-moar 4efcc2: OUTPUT«(「a」 「ab」 「abc」 「b」 「bc」 「c」)␤»
19:00 leah2 joined
TimToady m: say "abc" ~~ m:ov/. ** 2/ 19:00
camelia rakudo-moar 4efcc2: OUTPUT«(「ab」 「bc」)␤»
confundus Yes, exhaustive is what I want! 19:02
Thanks, I need to learn how to comb through docs better.
TimToady
.oO( exhaustively :)
19:03 agentzh joined
confundus :) 19:03
stmuk bofh.nikhef.nl/events/FOSDEM/2017/K...l.vp8.webm 19:04
19:06 ufobat joined
[Coke] .ask moritz can you review 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 19:17 bwisti joined 19:20 darutoko left 19:21 Tonik joined
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/␤»
mspo m: say "abc" ~~ m:ex/.+/
camelia rakudo-moar 4efcc2: OUTPUT«(「abc」 「ab」 「a」 「bc」 「b」 「c」)␤»
mspo m: say "abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac" ~~ m:ex/a.*/ 19:22
camelia rakudo-moar 4efcc2: OUTPUT«(「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac」 「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」 「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」 「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」 「abaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…»
19:27 itaipu left 19:30 aindilis joined
curan oh nice, the shirt from the Perl dev room @ FOSDEM is a polo shirt 19:31
19:32 itaipu joined
Geth book: 8e8edf4f37 | Cale++ | src/images/title.svg
Delete title.svg

per legal request
19:33
19:35 wamba left
ufobat nine, thanks for your troubleshooing on the performance of bailador, i am down from 230ms/request to 80ms on my box :) 19:36
nine, pls dont forget to give me your the stacktrace :) 19:37
nine ufobat: oh, great to hear :)
19:37 wamba joined
nine ufobat: I hope I didn't hit on Bailador unfairly in the talk. The dramatization required skirting that line closely. 19:39
19:39 TEttinger joined 19:40 khw left
nine ufobat: gist.github.com/niner/8401a2c9d740...a6295d4f40 19:41
ufobat thanks :-)
19:41 alimon left 19:43 alimon joined
ufobat no, it is fine! i am so happy for the critique, esp that you pinpointed it to the templates! 19:43
the only think you need to fix in your slides the uri-for is in bailador since a week or so 19:44
i'll have ea look at your stacktrace in the next few days i guess
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
19:47 bjz joined
nine ufobat: so you're now caching the Template::Mojo object? 19:48
ufobat aye 19:50
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
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:54
19:55 espadrine joined
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:56
ufobat ah! makes sense, then caching the template::Mojo object was right thing to do 19:59
20:05 pyrimidine left 20:06 pyrimidine joined 20:10 Tonik left
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 github.com/samcv/Atom-as-a-Perl6-IDE I have made a writeup on it :)
tbrowder: I'll pass your message to AlexDaniel.
tbrowder samcv: thanks!
Geth book: 8d6fdbba01 | Cale++ | src/images/title.pdf
Delete title.pdf

per legal request. This too contained the vector logo graphic
20:28
20:39 _28_ria left
TEttinger mmmmm legal commits. 20:40
just a reminder that society is terrible
timotimo i disagree 20:41
that person gave us A Nice Thing, but wanted us to only use the bitmap version of it
we ended up using the vector version of it, so we violated their trust
and now we throw that vector version out
i think that's very fair
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:43
20:44 _28_ria joined
timotimo the nice thing is the picture 20:45
perlpilot I would think that vector graphic has been there for quite some time.
20:47 confundus left
nine timotimo: it's only fair if you believe that an immaterial thing can be owned :) 20:49
perlpilot I don't see what "ownership" has to do with it. 20:50
timotimo that's true
IOninja TEttinger: why terrible? It's the more civilized substitute for beating up the offending party. 20:51
20:51 cale2 joined
TEttinger Mister Cosby requests you sign this non-disclosure agreement... 20:52
civilized.
IOninja ?
TEttinger I'm not a fan of lawyers
IOninja How many of them have you met? 20:53
TEttinger I suppose rather, I'm not a fan of what lawyers do
similarly, how many serial killers have you met, IOninja?
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.
perlpilot TEttinger: sounds like you're painting a broad brush there.
nine TEttinger: maybe you're just not a fan of needing lawyers :)
IOninja :)
TEttinger having lawyers involved for accusations is a step above colonial britain's policy of debtors' prison 20:55
it still takes advantage of the needy 20:56
20:57 itaipu left, sena_kun left, alimon left
stmuk ? 20:58
cale2 Quite a nice hacker news discussion today
hobbs no such thing 20:59
IOninja hehe
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?
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
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?
cale2 IOninja: true. but someone linked to this website that hosts zef modules and it looked really nice
github.com/tony-o/perl-zefserver Can't recall the URL
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 :)
IOninja heh
And web developers cause prolifiration of cases where you need web developers :")
cale2 the more shampoo you use, the more shampoo you need 21:03
TimToady till yer hair fall sout
*falls out
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.
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.
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.
perlpilot other times it's not too bad.
21:10 pyrimidine left 21:11 pyrimidine joined, alimon joined, bjz left 21:13 eroux left
b2gills I didn't say they were all bad 21:14
21:15 mspo left 21:16 cdg joined 21:18 gdonald left, alimon left
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
basically "people are hard"
21:20 gdonald joined, labster left, jonas1 left 21:24 curan left 21:31 alimon joined 21:35 telex left 21:36 telex joined 21:38 alimon left 21:42 kyan left 21:43 yqt left 21:44 labster joined
gfldex timotimo: are you doing the weekly today? 21:45
cale2 Yeah, lawyers also do nice things like on that Making a Murderer documentary (even though that guy is probably actually guilty) 21:49
timotimo yup, it me 21:51
gfldex .tell timotimo you may want to link the following tonight video.fosdem.org/2017/K.4.201/
yoleaux gfldex: I'll pass your message to timotimo.
21:53 alimon joined
timotimo will do 21:54
yoleaux 21:51Z <gfldex> timotimo: you may want to link the following tonight video.fosdem.org/2017/K.4.201/
timotimo %)
21:55 ocbtec left 21:57 kurahaupo joined 21:58 pmurias left
timotimo but first: good food! \o/ 21:58
rindolf hi all, how are you? 21:59
gfldex i'm thawing 22:00
cale2 The WHY method doc links to this: design.perl6.org/S26.html But that document is not so correct. Like there is no WHEREFORE method 22:01
IOninja points to the very top of that page 22:03
gfldex cale2: POD6 was never completet (and neither is Rakudos implementation)
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
cale2: most of the work is done in the Perl 6 grammar and that is a beast fit for heros 22:05
22:06 skids left
gfldex cale2: if you want to takle it I can tell you what needs to be done first :) 22:07
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.
that's a big should tho :-> 22:09
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
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
jnthn Also...what IOninja just said
IOninja cale2: not just should; they *are* :)
jnthn I'm all for .WHY on things in CORE.setting showing docs, fwiw
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
cale2 So we can embed docs in roast
jnthn Like exposing them as a module that can be lazy loaded
On the first .WHY
And installing that module
IOninja ♬ tell me .WHY do we build castles in the skyyyyyaaaaaaayyyy ♬ 22:12
cale2: or we can leave them as is?
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?
IOninja Yes. 22:13
cale2 IOninja: How might I achieve that?
scraping the docs data, for example
IOninja :S
cale2 my point exactly haha
IOninja cale2: why scrape anything when you have well-structured data already?
cale2 IOninja: Where is the well-structured data? 22:14
IOninja cale2: all the docs are written in POD6
22:14 RabidGravy left
cale2 POD6 isn't finished ;_; 22:14
IOninja You can slice and dice it anyway you want.
gfldex cale2: and working with Pod::* nodes ain't that hard
jnthn wonders when software is ever finished, except when it ceases to be used 22:15
Apparently it's complete enough to have written doc.perl6.org in so far :)
IOninja :)
cale2 gfldex: I've never worked with Pod::* nodes before. Is there a doc on the doc doc doc?
gfldex cale2: you may want to read the following github.com/perl6/perl6-pod-to-bigp...e.pm6#L198
cale2 thanks gfldex 22:17
gfldex cale2: you could write a mostly complete pod-to-html-renderer in about 200 lines of code
cale2 I heard there was a POD6 grammar inside Rakudo 22:20
IOninja cale2: it's all part of regular grammar, since pod blocks can be interleaved with regular code 22:22
gfldex cale2: github.com/rakudo/rakudo/blob/nom/...l6/Pod.nqp
cale2: and github.com/rakudo/rakudo/blob/nom/...ar.nqp#L25
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:24 ufobat left 22:25 rurban joined 22:27 AlexDaniel joined
cale2 I don't have any experience with pod format btw. I haven't touched perl5 in my life 22:29
So coming from docstrings and doctests in python and elixir, pod seems quite complex 22:30
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
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:33
cale2: and when we got our modules on CPAN, it can display the docs for your module even before a user installed them 22:34
cale2 ahh 22:35
ok
hobbs with things like docstrings and javadoc, yeah, you have doc browsers, but the problem is that the docs become a homogeneous mass 22:36
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:37
22:41 cdg left 22:42 cdg joined 22:43 kurahaupo left
hobbs POD gives more chances for people to do sloppy work, I guess, but also more chances to produce very good docs 22:43
cale2 hobbs: For people that have never worked with pod before (aka me), it's difficult to get started using it 22:48
22:48 _28_ria left
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
there seams to be a pattern
22:57 pyrimidine left 22:58 pyrimidine joined 22:59 alimon left, wamba left 23:03 pyrimidine left 23:05 rurban left 23:16 _28_ria joined 23:41 ilogger2 joined, ChanServ sets mode: +v ilogger2, dylanwh joined, TBSliver joined 23:42 leah2 joined
hobbs and ! is already a "logical" character 23:44
23:45 kalkin- joined
kalkin- hi 23:45
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
what should be the proper return declartion?
brosefski ah ok that makes sense 23:47
samcv . 23:48
23:49 zacts joined 23:51 Actualeyes joined
hobbs m: sub foo returns Array[Int] { my Int @x; return @x; }; foo() 23:53
camelia ( no output )
hobbs m: sub foo returns Array[Int] { my Int @x; return @x; }; foo().gist
camelia ( no output )
kalkin- I have a gather/ take inside which might not execute any take 23:54
Exact error: Type check failed for return value; expected Array[XML::Node] but got Array ($[])
may be I misunderstand $[]? 23:55
23:58 kyan joined