»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:03 dct left 00:06 cog_ joined 00:07 cog__ left 00:14 zakharyas left
samcv nice i found this patent 00:20
"Method and apparatus for providing an iteration operator for an object instance in a dynamically typed language "
thanks Java
BenGoldberg Is java dynamically typed? 00:22
samcv i don't think. but they patented iteration in a dynamically typed langueage 00:23
the patent is pretty vague
so i'm sure many language '''infringe''' on it
www.google.com/patents/US20030101433
their diagrams are really weird. like they hardly make sense to me at all 00:24
well one of them is a control flow type thing the other ones seem to just have been added to have more pictures 00:25
00:33 rindolf left 00:34 rindolf joined 00:38 Cabanossi left, Cabanossi joined
geekosaur java is "dynamically typed" to the extent that an object may be an instance of a subclass instead of the declared class 00:43
00:44 ufobat left 00:49 Sound left
liAealneDx huggable: save me from texas 01:01
huggable liAealneDx, gist.github.com/AlexDaniel/c89bd2786f9b63f31e4c
liAealneDx huggable: save me from texas :is: github.com/rakudo/rakudo/wiki/save...from-texas
huggable liAealneDx, Added save me from texas as github.com/rakudo/rakudo/wiki/save...from-texas
01:07 aborazmeh joined, aborazmeh left, aborazmeh joined 01:08 Cabanossi left, Cabanossi joined 01:10 lukaramu_ left
liAealneDx huggable: save me from texas :is: 🌟 🌟 🌟 → → → github.com/rakudo/rakudo/wiki/save...from-texas ← ← ← 🌟 🌟 🌟 01:16
huggable liAealneDx, Added save me from texas as 🌟 🌟 🌟 → → → github.com/rakudo/rakudo/wiki/save...from-texas ← ← ← 🌟 🌟 🌟
liAealneDx ;)
01:19 rindolf left
liAealneDx (and as always, copy everything before saving the page!) 01:23
01:35 kyan joined
BenGoldberg m: say ¬ 'looks like a gun, no?' 01:36
camelia 5===SORRY!5===
Argument to "say" seems to be malformed
at <tmp>:1
------> 3say7⏏5 ¬ 'looks like a gun, no?'
Bogus postfix
at <tmp>:1
------> 3say 7⏏5¬ 'looks like a gun, no?'
expecting any of:
infix
BenGoldberg m: say ¬('looks like a gun, no?') 01:37
camelia 5===SORRY!5===
Argument to "say" seems to be malformed
at <tmp>:1
------> 3say7⏏5 ¬('looks like a gun, no?')
Bogus postfix
at <tmp>:1
------> 3say 7⏏5¬('looks like a gun, no?')
expecting any of:
infix
BenGoldberg m: say '¬'
camelia ¬
BenGoldberg Oh, it's listed as "want to add"
01:38 adu left
geekosaur looks like "not" to me :p 01:39
BenGoldberg If it was supported, camelia would've say "False" ;)
01:43 adu joined, colomon joined
colomon Do we have a p6 eqivalent of Tie::File? 01:45
01:47 adu left 01:51 cdg joined
BenGoldberg I don't think anyone's going to say "no", because they'll expect to feel silly when someone says "yes, here it is" a few seconds later. 01:54
01:55 robinsmidsrod left
BenGoldberg ... even if there isn't yet an equivilant of that module. 01:55
BenGoldberg doesn't think it would be named Tie:: anything, since Arrays are just objects. 01:56
skids Is there an nqp:: op to determine if something is an NQP stub class vs HLL?
01:57 adu joined, robinsmidsrod joined 01:58 grondilu_ left
BenGoldberg m: my &circumfix:<<⌊ ⌋>> = &floor; say ⌊pi⌋ 01:58
camelia 5===SORRY!5===
Argument to "say" seems to be malformed
at <tmp>:1
------> 3my &circumfix:<<⌊ ⌋>> = &floor; say7⏏5 ⌊pi⌋
Bogus postfix
at <tmp>:1
------> 3my &circumfix:<<⌊ ⌋>> = &floor; say 7⏏5⌊pi⌋
expecti…
01:59
BenGoldberg m: my sub circumfix:<<⌊ ⌋>> { floor $^x }; say ⌊pi⌋
camelia 3
02:02 bwisti joined 02:03 colomon left 02:06 kalkin- left, kalkin- joined 02:09 colomon joined 02:19 cdg left, cdg joined 02:21 cdg_ joined 02:22 kaushal joined 02:24 cdg left 02:28 adu left 02:29 kaushal left 02:37 Cabanossi left, andrzejku left 02:38 andrzejku joined, Cabanossi joined 02:43 agentzh joined 02:45 cdg_ left 02:46 ilbot3 left 02:48 ilbot3 joined, ChanServ sets mode: +v ilbot3 02:49 aborazmeh left 02:55 colomon left 03:07 Cabanossi left 03:08 Cabanossi joined 03:16 adu joined 03:17 adu left 03:23 wamba1 joined 03:34 ZzZombo joined, ZzZombo left, ZzZombo joined 03:35 colomon joined 03:38 Cabanossi left 03:39 Cabanossi joined, noganex joined 03:41 agentzh left 03:42 noganex_ left 03:43 colomon left 03:44 liAealneDx left 03:46 Actualeyes left, colomon joined 04:03 khw left, mr-fooba_ joined, mr-foobar left 04:05 Cabanossi left 04:07 Cabanossi joined 04:16 faraco joined 04:21 firefish5000 left 04:33 ZzZombo left 04:34 Todd joined
Todd Hi All! 04:34
samcv hey Todd 04:35
Todd Is there a run time variable (of some such) out there like &?ROUTINE but which only gives you the name of your sub?
Hey Sam!
samcv isn't that what the name of it is? 04:36
m: sub thing { say &?ROUTINE }; thing
camelia sub thing () { #`(Sub|58540128) ... }
samcv m: sub thing { say &?ROUTINE.name }; thing
camelia thing
samcv there you go Todd
geekosaur there's also callframe which can extract that and even more information, and for more than just the routine invoking it 04:37
samcv m: sub thing { &?ROUTINE }; thing
camelia ( no output )
geekosaur (but it's also fraught with edge cases because not all frames represent subs)
Todd testing 04:39
worked. Thank you! 04:40
Why is this giving me a bad time? 04:42
&?ROUTINE ~~ m/' '(.*?)' '\(/;
No such method 'match' for invocant of type 'Sub'
samcv use &?ROUTINE.name 04:43
otherwise you get a sub object not a string
Todd Oh you betcha I will. I want the match for my file on match
should I assign it to a string first? 04:44
samcv Todd, so you're doing .name right?
m: sub thing { &?ROUTINE.name ~~ /(.*)/; say $0 }; thing
camelia 「thing」
samcv it works fine 04:45
but you can't do substitution with s// without assigning it
Todd This is a tutorial thing for me. I real life I will just use .name. "m" drives me nuts, so I have a running file of examples. This is the last hold out. got *.? and such down.
samcv or you can use .subst
oh this is just to try matching it from the .gist? 04:46
Todd I have a file on "s" too. That one is much easier than "m"
samcv .gist is what you get when you get debug type output
i don't understand the last thing you said
Todd oh. I have a long document written (I call it a keeper) showing various examples of how to do a match. I get complicated, trying to match what you see in the real world. The easy example never work i the real world becuase you have weird characters to deaol with, greed, glups, etc. 04:48
samcv so what are you trying to match, what is the string
Todd so anyway, I want how to do a match on &?ROUTINE ~~ m/' '(.*?)' '\(/; properly for my match keeper file 04:49
And, yes, it is mental tourture to an extent
samcv ok so you want the .gist
Todd what is a .gist
?
04:50 Zeke joined
Todd &?ROUTINE.gist ???? 04:50
04:50 Zeke left
geekosaur it's what say does by default; it reports the minimum information for something instead of its internals as you'd get from .perl 04:50
> say "foo".gist
er
m: say "foo".gist 04:51
camelia foo
geekosaur m: say "foo".perl
camelia "foo"
geekosaur for numbers .gist and .perl do the same thing. strings are quoted and escaped with .perl but formatted as is with .gist. other things report simpler forms with .gist and full information with .perl 04:52
samcv m: say (1,2,3)
camelia (1 2 3)
samcv m: say (1,2,3).gist
camelia (1 2 3)
samcv m: say (1,2,3).perl
camelia (1, 2, 3)
samcv m: say (1,2,3).Str
Todd $ perl6 -e 'my $foo="bar"; say $foo.gist; say $foo.perl;' bar "bar"
camelia 1 2 3
Todd perl6 -e 'say (1,2,3).Str;' 1 2 3
samcv Str basically flattens the object to a string 04:53
if that makes sense
Todd so .gist gets reid of all the unprintable stuff that messes with regex's head?
samcv no
gist is what was already displayed when you did say &?ROUTINE
.gist is the default thing, for debug type printing and such
like hashes if you use say it will call .gist on them 04:54
it's a method that gets called on objects when you use say on them.
Todd I get the same sting back, well printed anyway, with or without .gist, BUTTTTTTT regex likes .gist
ou trying to match, what is the string [21:49] <Todd> so anyway, I w
geekosaur this is more or less the difference between say and print 04:55
Todd ignore that last line
samcv Todd, well gist turns it into a string
geekosaur say uses .gist, print uses .Str iirc which may do something else
samcv say turns it into a string by gisting
Todd sub Test () { #`(Sub|77521912) ... }
geekosaur and yes. .gist produces a String
samcv but if you just do regex on it, it's a sub object not a string
so in this case you have to explicitly call .gist on it
Todd that explains it! Thank you!
samcv kk 04:56
also you know .WHAT right?
m: say (1,2,3).WHAT
camelia (List)
samcv m: say (1,2,3).gist.WHAT
camelia (Str)
samcv and it's cool because you can make your own custom class that has a gist, and other methods that get used by other things so it behaves how you want 04:57
Todd $ perl6 -e 'say (1,2,3).WHAT
(List)
04:57 Flwyd joined
samcv when learning perl6, .WHAT will be very useful 04:57
Todd was that what was suppose to happen
samcv yep 04:58
it tells you what the type of object is
Todd I have no idea what (List) means
samcv that means it has type List
Str is the string type
Todd Then it is a "type" I haven't learned yet. Makes sense 04:59
samcv yeah
List's are immutable i believe. Arrays are like lists but can be altered
Flwyd What incantation would I use so that sub MAIN will take a repeated command line flag? E.g. cli.pl6 --foo 1 --foo 2 --foo 3 gets a 3-element array?
samcv uh don't think you can do that 05:00
Flwyd design.perl6.org/S06.html#Declarin...subroutine suggests you can, and that --foo=1,2,3 would work, but I can't seem to make it happen, so maybe it didn't get implemented.
samcv but there may be some custom thing you could do, i haven't played around with the special USAGE sub
so you want to accept an array? 05:01
I would just have it be a string and then .split(',') it
if you can't take a list (have not tried that before)
Flwyd yeah, something like sub MAIN(:@foo)
geekosaur I would expect ... that
but I don't know if that's implemented yet. the synopsis/"speculation" has a bunch of intended usages that don't actually exist yet 05:02
Flwyd .split(',') isn't ideal, since I want to take filenames, but it would work
samcv uhm can you use slurpy with MAIN geekosaur
Flwyd, if you do *@whatever it will take all items from there onward 05:03
Flwyd Slurpy works, but I'm using that for input files :-) --foo is for supplementary files
Todd Request for Enhancement: on docs.perl6.org/language/variables#...%3FROUTINE would you add some examples of the modifiers to the variables? for example: FILE.IO.basename, &?ROUTINE.gist, and &?ROUTINE.name ??and
samcv yeah that page sucks 05:04
Todd All too often I come across man pages that are meant as a refresher, not a teacher for begineers
Thank you guys! You are something special. Bye bye 05:05
05:05 Cabanossi left
samcv i'll add some stuff there Todd cause i'm not busy atm 05:06
05:06 Todd left
samcv bye then 05:06
05:07 Cabanossi joined
samcv !tell .basename is there there docs.perl6.org/routine/basename#(I...d_basename 05:08
.tell .basename is there there docs.perl6.org/routine/basename#(I...d_basename 05:09
yoleaux samcv: What kind of a name is ".basename"?!
hobbs the base kind
samcv you mean what does it do? 05:11
also why did yoleaux talk to me 05:12
oh
05:12 Flwyd left
samcv .tell Todd .basename is there there docs.perl6.org/routine/basename#(I...d_basename 05:12
yoleaux samcv: I'll pass your message to Todd.
samcv almost thought the bot had gained intellegence there and was rebelling
geekosaur well, it ws, but for a reson :p 05:13
*reason
Geth doc: 02ebcfdcbe | (Samantha McVey)++ | doc/Language/variables.pod6
Add documentation on &?ROUTINE.name
05:15
samcv now todd can be happy
05:17 xtreak joined
geekosaur also added a bit more explanation on the list, about having to stringify 05:21
05:21 eroux joined
geekosaur perl 5's rather incautious string / number autoconversion for stuff is convenient but also a good way to cause bugs because something is not the type you expect 05:22
05:23 Flwydity joined 05:26 CIAvash joined 05:29 travis-ci joined
travis-ci Doc build errored. Samantha McVey 'Add documentation on &?ROUTINE.name' 05:29
travis-ci.org/perl6/doc/builds/210831932 github.com/perl6/doc/compare/bca51...ebcfdcbed4
05:29 travis-ci left
faraco geekosaur: type inference FTW. 05:33
:)
Although sometimes, I'm bit confused with Numeric and Int. 05:34
05:41 curan joined 05:48 itaipu left 05:51 Cabanossi left 05:52 Cabanossi joined
samcv oh no wondfer it failed 05:54
ugexe changed the error codes if something is already installed
Geth doc: 7509ab818a | (Samantha McVey)++ | .travis.yml
Remove unneeded zef install line

Pod::To::HTML is already installed by previous commands and does not need to be reinstalled.
05:55
06:17 Actualeyes joined 06:25 eroux left
CIAvash .tell Flwyd You can do 「sub MAIN (:@foo) {}」 and then use it with 「script.p6 --foo=1 --foo=2 --foo=3」 06:26
yoleaux CIAvash: I'll pass your message to Flwyd.
06:33 wamba1 left 06:34 Flwydity is now known as Flwyd
Flwyd perl6 -e 'sub MAIN(:@foo) { say @foo.elems }' --foo=1,2,3 Usage: 06:39
-e '...' [--foo=<Positional>]
yoleaux 06:26Z <CIAvash> Flwyd: You can do 「sub MAIN (:@foo) {}」 and then use it with 「script.p6 --foo=1 --foo=2 --foo=3」
Flwyd oh, hrm, --foo=1 --foo=2 --foo=3 seems to work now, not sure what was wrong befor 06:40
Ah, a typed array doesn't work. 06:42
perl6 -e 'sub MAIN(Int :@foo) { say @foo.elems }' --foo=1 --foo=2 --foo=3 # only woks if you remove Int
06:43 faraco left 06:46 travis-ci joined
travis-ci Doc build errored. Samantha McVey 'Remove unneeded zef install line 06:46
travis-ci.org/perl6/doc/builds/210837320 github.com/perl6/doc/compare/02ebc...09ab818a33
06:46 travis-ci left
CIAvash Flwyd: Not sure if there is a better way, but you can do 「sub MAIN (:@foo where .all ~~ Int)」, or create a subset and use it. 06:47
Flwyd My real use case is existing files, so a "where the file exists" subset might be the best approach 06:48
06:50 RabidGravy joined 06:54 skids left 06:58 ufobat joined, domidumont joined 07:00 faraco joined, faraco left, faraco joined 07:04 domidumont left 07:05 domidumont joined 07:19 wamba1 joined
RabidGravy boom! 07:22
faraco o/ 07:24
07:24 bjz joined 07:31 BenGoldberg left
[ptc] \o 07:32
samcv damn travis "The job exceeded the maximum time limit for jobs, and has been terminated." looks like it's being super slow 07:37
since i don't think the script changed
07:38 agentzh joined 07:43 agentzh left 07:50 Cabanossi left 07:51 koki1 left 07:52 dct joined, Cabanossi joined 07:54 koki1 joined 07:58 bwisti left 08:03 dct left 08:08 vendethiel- joined, vendethiel left 08:10 brrt joined 08:12 cibs left, brrt left 08:14 imcsk8 left, imcsk8 joined, cibs joined 08:21 xtreak left, Cabanossi left, abraxxa joined 08:22 Cabanossi joined 08:24 xtreak joined 08:25 xtreak_ joined 08:26 xtreak left
lizmat clickbaits p6weekly.wordpress.com/2017/03/13/...y-da-tags/ 08:27
08:30 kent\n left
DrForr tries to wave and bow at the same time, knocks a bottle off his desk and falls out of his chair looking stupid. 08:31
08:32 kent\n joined
tadzik I got baited /o\ 08:39
08:39 wamba1 left
DrForr Et tu, tadzik? 08:41
tadzik yup :( 08:42
I always get baited by weekly
moritz weekly baits are the best baits 08:43
DrForr I would make a joke involved with mastery, but that would be rather crude. 08:45
tadzik giggles 08:47
DrForr . o ( "Why, many many people say that I am a real crepe artist." ) 08:54
08:55 dakkar joined 09:00 rindolf joined, g0d355__ joined 09:09 xtreak_ left 09:14 eiro joined 09:25 travis-ci joined
travis-ci Doc build passed. Samantha McVey 'Remove unneeded zef install line 09:25
travis-ci.org/perl6/doc/builds/210837320 github.com/perl6/doc/compare/02ebc...09ab818a33
09:25 travis-ci left
lizmat looks like there is no Perl 6 presence here yet: eventil.com/events/polyconf-17/submissions/new 09:28
any takers ?
eiro :)) 09:29
lizmat travel and stay seem to be included in the price if your talk is accepted
eiro i just sent a mail on the list about it
lizmat o/
lizmat eiro: yes, and I'm retweeting as it were :-)
eiro++ for noting!
eiro oh cool so it wasn't a coincidence 09:30
lizmat that we should do something about it :-)
eiro sure! also i'm trying to introduce perl6 in sympa during the hackathon
could be nice to have more parts of sympa written in perl6 09:31
09:31 xtreak joined
lizmat eiro: it would :-) 09:33
afk for a few hours&
IOninja Flwyd: that's because `Int @foo` does not mean "array with only Ints in it" but a parametarized one, so even outside of MAIN that wouldn't work. As others stated you want a `where` or subset
09:34 rindolf left
moritz is lizmat on twitter now? 09:35
also, is there a proper CFP for the polyconf? 09:36
eiro this chan is our twitter :) 09:38
IOninja Happy π day! \o/ 09:45
09:48 faraco left 09:50 xtreak left
samcv lizmat, can you put on p6weekly that case insensitive regex is 30% faster? 09:53
moritz can tweet about it 09:56
IOninja My measurements showed 60% faster for large text when match occurs soon enough. 09:57
Basically before we used to .lc it full but now we .fc in chunks, so we save on chunks that didn't have to be .fc'ed (that's my understanding of it)
c: HEAD my $x = 'abcdefghigklm' x 100; for ^100_000 { $ = $x ~~ m:i/HIG/ }; say now - INIT now 09:59
committable6 IOninja, ¦HEAD(d232f3c): «4.6033620»
IOninja c: 2017.02 my $x = 'abcdefghigklm' x 100; for ^100_000 { $ = $x ~~ m:i/HIG/ }; say now - INIT now
samcv that op only foldcases as much as it has to
committable6 IOninja, ¦2017.02: «7.56929078»
09:59 rba_ joined
samcv but my test of a short string showed 30% 09:59
IOninja m: say 7.569/4.603
camelia 1.644362
IOninja 64%
samcv so 30% - 60% sounds fine
IOninja c: HEAD my $x = 'abcdefghigklm' x 100; for ^100_000 { $ = $x ~~ m:i/blarg/ }; say now - INIT now
samcv always sounds good when you say things got faster :)
committable6 IOninja, ¦HEAD(d232f3c): «5.0397881»
IOninja c: 2017.02 my $x = 'abcdefghigklm' x 100; for ^100_000 { $ = $x ~~ m:i/blarg/ }; say now - INIT now
committable6 IOninja, ¦2017.02: «6.4687407» 10:00
IOninja m: say 6.468/5.040
camelia 1.283333
IOninja and 30% faster when the match wasn't present
moritz m: say (6.5 - 5) / 6.5
camelia 0.230769
IOninja oh 10:01
m: say (7.569-4.603)/7.569 10:02
camelia 0.391862
IOninja moritz: is that the proper way to get percetange faster?
samcv you divide it over the old number. that makes sense 10:03
moritz IOninja: yes
10:05 kaushal joined 10:06 vendethiel joined 10:07 vendethiel- left
IOninja m: say 1-4.603/7.569 10:08
camelia 0.391862
IOninja ok
10:12 kaushal left
IOninja Great. Now I'm being trolled on Twitter in French... 10:14
Good. Looks like Perl 6 is spreading :)
Geth ecosystem: 1ba760508e | (Jonathan Worthington)++ | META.list
Add App::InstallerMaker::WiX application.

  github.com/jnthn/p6-app-installermaker-wix
10:18
IOninja jnthn++ cool 10:20
jnthn It'll probably earn another feature or two yet 10:21
But gave me a working MSI :) 10:22
IOninja \o/ 10:23
10:28 xtreak joined 10:33 wamba joined
tadzik Applies candle and light 10:36
masak tadzik: ww? :)
tadzik damn, good that there's no sacrifice and pentagrams involved :o Jokes aside, looks great :D
masak: no, straight from the readme :P
masak hah 10:37
tadzik that was not a prelude for “I put on my robe and wizard hat”, no :P
masak tadzik: here I was convinced that you were having an intimate privmsg with someone :P
tadzik dirty mind :o 10:38
;)
masak clearly
moritz not dirty, just primed
masak thank you, moritz
tadzik hehe 10:39
samcv nice jnthn
IOninja m: ".".IO.append: "foo" 10:40
camelia Cannot resolve caller append(IO::Path: Str); none of these signatures match:
(Any:U \SELF: |values is raw)
in block <unit> at <tmp> line 1
IOninja Since .append is not used by IO::Path, would it be terrible if it were repurposed? Basically, doing what .child() currently does.
moritz (I have some issues with our current culture; one is that any allusion to sex or sex itself is viewed as "dirty", the other is the glorification of alcohol consumption, which I really hate)
IOninja moritz: what about cocaine? 10:41
masak moritz: Europe is a lot less uptight/neurotic about sex than the US, though.
moritz: also, you forgot about violence being glorified.
tadzik moritz: at this point I just stopped associating "dirty" (sexual, not "unclean") with something negative 10:42
masak like, a bloody shootout is somehow fine to show on TV during daytime, but don't you dare expose a (female) nipple
tadzik: right, it just means something needs washing, no? :P
moritz IOninja: I don't whitness any glorification of cocaine consumption, so I have no issue with that
IOninja :)
Any opinion on .append() then? 10:43
masak moritz: you missed a golden opportunity to say "no thanks, I'm good here" :P
moritz masak: :-)
masak: re violence, you're right, but at least there's a lot more awareness for this kind of thing here in .de
tadzik masak: TV and cinema's definition of acceptable is really wacky, yeah
10:44 kaushal joined
tadzik somewhat similar is how people feel when a man dies/gets hurt in a film, and how different it is when it is a woman 10:44
a man's death and suffering is just bread and butter
masak I often refer to the "buttbuttination" mishap when talking about properly crafted regexes. but the language policing that underlies that is rooted in being not-OK with some sexually charged words (or swear words) 10:45
tadzik masak: I'm interested in etymology of "buttbuttination" :P
masak just google it 10:46
DrForr tadzik: s/ass/butt/g
tadzik ah :D
masak the failure was in not putting in the requisite \b anchors
ilmari m: S:g/ass/butt/ given "assassination"
camelia ( no output )
ilmari m: say S:g/ass/butt/ given "assassination"
camelia buttbuttination
10:47 raydiak left
IOninja Fine! Talk about butts. 10:47
tadzik well, changing "riding an ass" (donkey) to "riding a butt" is probably a turn for the worse too
masak tadzik: depends what your quality metric is :P 10:48
10:48 aindilis left
tadzik ( ͡° ͜ʖ ͡°) 10:48
10:48 aindilis joined
masak (shoutout to Tim Minchin's song "My Neighbour's Ass") 10:48
10:49 raydiak joined, labster left
IOninja
.oO( .cat-with() maybe... )
10:49
10:51 wamba left 10:55 kaushal left, itaipu joined
lizmat samcv: done 10:57
afk again&
11:05 Cabanossi left, kyan left 11:07 Cabanossi joined 11:09 notbenh_ left 11:12 wamba1 joined, kaushal joined 11:15 pmurias joined
pmurias IOninja: re tags blog post, aren't descriptive hierarchical names something we should preserve? 11:16
11:20 kaushal left
IOninja Not in my opinion 11:22
11:23 kaushal joined
IOninja I don't want to type 57 characters every time I use your module. 11:23
11:23 jantore left, jantore joined
IOninja That's the sole reason Alias or whatever its name in Perl 5 exists. 11:24
And Perl 5's ecosystem proves preserving heirarcial names is a futile effort
So at the end, you still end up with normal names and annoyingly long names. 11:25
If you can't beat them, join 'em. We have tags. Keep names short and to the point.
pmurias most of the Perl5 modules have a lot better ones then the rubbish non-descriptive ones in ruby 11:29
jast you mean like POE, Moo, Moose, Mouse, Mojolicious, LWP, Plack, Dancer, Catalyst? 11:30
tadzik LWP is a particularly good example, because it actually is descriptive 11:31
at least the W part, L and P are just redundant :P
11:32 kaushal left
pmurias jast: the frameworks have non-descriptive names but a lot of modules have names like Term::ANSIColor 11:33
IOninja :)
pmurias or Digest::MD4
11:33 itaipu_ joined 11:34 gdonald left, gdonald joined
tadzik I'd rather stick to descriptive names unless they're obnioxiously long *and* hard to categorize 11:34
jnthn There's probably a reasonable balance
Like when I was considering what to call my libssh binding
IOninja pmurias: but without Term that name wouldn't make sense. Whereas WebService::Google::Translate has no need for WebService:: tacked onto it. I think you're taking my suggestiom to its extreme as implying that everything should use non-descript names with no colons 11:35
jnthn Just SSH was kinda saying "this is the one true way", but SSH::LibSSH::Async is speculating that some day, somebody might write a synchronous binding too which, well, they may, but it's just not worth an extra level :)
Or at least, they can add that :P 11:36
I do kinda wish I'd just gone with GTK rather than GTK::Simple though :)
IOninja Anyone else can still release SSH::LibSSH::Async
tadzik heh, the Simple curse :P
it's related to the "temporary solution" thingy
11:36 itaipu left
tadzik (fallacy? :P) 11:36
jnthn Yeah, DBIish is the other infamous one we have :)
"Let's not call it DBI so somebody can do the real one later" 11:37
It's probably half a decade later by now :)
And lots of folks have put effort into both of these modules :)
(Both DBIish and GTK::Simple, I mean) 11:38
pmurias IOninja: looking at your pagerank example, CPAN has both Algorithm::PageRank and WWW::Google::PageRank 11:40
11:40 agentzh joined
tadzik well, that may come from "I want to do the other one but the name is taken" 11:40
we did AI::NaiveBayes because the Algorith::NaiveBayes was taken
or did we do the other one and... um 11:41
IOninja pmurias: I'm not following your point. 11:42
Name your modules whatever you want. 11:43
I don't care
No one gave two shits about tags, but the minute I did something about them, all of a sudden everyone's a critic 11:44
IOninja throws hands up in the air and leaves
tadzik this was about tags?
11:44 agentzh left
jnthn I think it started there 11:46
jnthn agrees with IOninja fwiw
tadzik I don't see a reason to not have both, good names *and* tags 11:47
lizmat one can actually have two sheds
DrForr I need to take some time to add tags this weekend. A touch embarrassing since I think I've suggested this feature for perl5 CPAN... 11:48
jnthn tadzik: Yes, but I don't think the point was "have bad names", just "don't have ridiculously long names out of trying to create some neat categorization" 11:53
tadzik nodnod
things like this always remind me of gtk_tree_model_filter_convert_iter_to_child_iter() 11:54
where you cast the first argument to GTK_TREE_MODEL_FILTER()
on the other hand, it's been 10 years and I still remember it
11:55 wamba1 left
pmurias IOninja: I fully support tags 11:55
12:03 abraxxa left 12:04 Cabanossi left 12:07 Cabanossi joined 12:16 raschipi joined 12:17 rindolf joined 12:20 abraxxa joined 12:21 raschipi left 12:23 CIAvash left 12:25 lukaramu joined 12:26 xtreak left 12:29 xtreak joined, xtreak left 12:30 bdmatatu joined 12:33 Sound joined 12:35 edehont joined
tbrowder IOninja: do you consider a tag set for a new module immutable forever? 12:41
or can we refine them based on community response?
or maybe keep origina tags but allow new ones to be added? 12:42
12:43 itaipu_ left 12:46 EricMobiel joined 12:50 itaipu joined 12:51 Cabanossi left 12:52 Cabanossi joined
pmurias tbrowder: if the tags are defined in the module META6.json aren't they per module version? 12:53
12:54 kaushal joined
tbrowder true, so i think adding rather than changing should be the answer in most cases rather than the pain of a rename and deprecation 12:56
12:57 EricMobiel left
IOninja ??? 12:57
DrForr IOninja: Responded to you and FakeUnicode :)
IOninja They're perfectly mutable.
Without any deprecations or pain. 12:58
DrForr++ very nice.
tbrowder tags or names or both?
IOninja tbrowder: tags
tbrowder ah! okay then! i can live with that! 12:59
13:00 mcmillhj joined 13:01 cibs left 13:03 cibs joined 13:06 bjz left 13:08 kaushal left 13:12 j75 left, aborazmeh joined, aborazmeh left, aborazmeh joined 13:17 itaipu left 13:24 itaipu joined 13:25 j75 joined
IOninja DrForr: BTW your invisible times op has wrong precedence :P 13:28
13:29 aborazmeh left
DrForr Sigh. 13:29
IOninja If it makes you feel better, I made the same mistake here: twitter.com/zoffix/status/841641606948278272 even after wondering why making ≡ looser than &[*] wasn't producing right results :) 13:31
DrForr Pfft. I doubt that anyone's going to patse it, mostly they'll probably do nothing or flame with "How *dare* you pervert our sacred syntax..." if they actually read it. 13:32
Though I probably should... 13:33
13:34 gdonald left, lukaramu_ joined, gdonald joined
IOninja Hehe, well, you're not wrong. Here's a person snarking at impossible-to-type-with-keyboard π :) twitter.com/javerous/status/841614348313325568 13:35
DrForr And this is coming from Julien Avérous. 13:37
IOninja Who's he?
jnthn How dare he have a name that's non-ASCII. :P
DrForr The person who tweeted that coment. My point being his last name.
IOninja heh
Ah :) Yeah lol
13:37 lukaramu left
jnthn When I implement algorithms from papers, I often try to stick to the names of things from that, so it's easy to cross-ref the implementation and the algorithm in the literature. It's pretty useful to be able to do that even in the case the names happen not to be ASCII symbols :) 13:40
gfldex I know there was a secret plot behind Perl 6! 13:41
*knew
DrForr TINC
13:48 edehont left
IOninja What do you think of IO::Path.append() doing what .child() currently does? Or is the name too similar with .append in iterables? 13:50
13:50 dopelord83 joined
moritz IOninja: I'm kind of two minds on that (which is why I didn't answer before) 13:51
jnthn worries a tad about the pun with List/Array append
13:53 EricMobiel joined
IOninja Basically, currently it's perfectly fine to do .child('../../../meow'). I will propose for .child() to do full resolve and ensure that resulting path is indeed the child, so you could securely write "stuff/".IO.child($user-input) and not worry about `../../secret` inside $user-input. And I want to keep the current .child()'s behaviour around, but under a name that implies you can go both up and down a path. 13:53
.concat-with() kinda works, but too long 13:55
13:57 dopelord83 left
gfldex IOninja: from the standpoint of the FS a path is a Str. I would expect low level path manipulation to happen with primitives, in this case Str. 13:57
bdmatatu .relative() ? 13:58
13:59 itaipu left
IOninja bdmatatu: no good. That method is already in use and it doesn't really convey the operation performed IMO 13:59
13:59 EricMobiel left
IOninja gfldex: I'm not following.. 14:01
14:03 kst` left
gfldex my $unsafe = ($some-path ~ "../../secret").IO 14:03
concat with a primitive does change a Path into a primitive and requires an explicit operation already 14:04
and that is good
I do agree that .child() should be safe by default 14:05
IOninja OK 14:06
FWIW .Str on IO::Path is kinda broken. I wasn't 100% sure if to consider it a bug, but your use above suggests I should :) 14:07
The .Str doesn't take IO::Path.Cwd into account so if you used a relative path and then chdir() somewhere, the $io-path.slurp will still work, but $io-path.Str.IO.slurp won't 14:08
14:08 itaipu joined
jnthn Yeah, I'd quite like the languge to provide a safe way to concat paths and be sure there's not an escape through .. 14:09
*language's standard library 14:10
gfldex I may be desireable to get the raw input Str back out of a IO::Path
*it
IOninja gfldex: that's .path
gfldex good
IOninja And currently it just does method Str{ $!path }
Thanks for the input \o 14:11
ugexe maybe mention if someone wants cwd taken into account they should use .relative or .absolute (which return Str) 14:12
IOninja Why does it tho? 14:13
ugexe why does Str return the original input? or do .relative and .absolute return Str? 14:14
14:14 donaldh joined
IOninja Why do .relative and .absolute return Str? 14:14
Instead of IO::Path 14:15
ugexe i suppose because if they returned an IO::Path they would just be returning the same thing, but with the "orig" value changed
which both makes sense and doesn't
so probably someone just picked what they thought seemed the better option at the time... not sure (i have an open pr for this even heh) 14:16
IOninja This is one of the points I'll bring up in IO report. Because sometimes-Str sometimes-IO::Path return values are confusing and lead to a lot of superstitious .IO all around. 14:17
ugexe: PR where?
ugexe github.com/rakudo/rakudo/pull/666 14:18
IOninja Ah.
SmokeMachine hi there! does anyone think that it would be acceptable? (github.com/FCO/rakudo/commit/8d544...de1fa46ff) im running the spec tests now...
14:19 cdg joined
IOninja ffs 14:20
So we're doing new weird Unicode stuff every week now?
ugexe my reasoning was .abspath already returns the absolute as a Str, but .abspath isnt supposed to be exposed (i think?) and there is no .relative alternative
moritz SmokeMachine: there are maybe a hundred or more rightwards arrows in Unicode. What made you single out this one? 14:21
SmokeMachine I got the arrow from the "save me from texas"...
moritz: ^^
MasterDuke also, re '...' in paths, i have an open PR github.com/rakudo/rakudo/pull/775 to fail if they don't resolve to something existing 14:22
moritz SmokeMachine: I don't know if that's good a good approach to language design :-)
IOninja SmokeMachine: I very much rather all this stuff is done in a module first.
SmokeMachine the spec tests passed (only t/spec/S17-supply/watch-path.t failed, but I ran only this one and passed)
IOninja SmokeMachine: and last time I suggested this approach, people said they couldn't be bothered... suggesting there's very little interest for "save me from texas" ops other than a group of 4-5 people who maintain that document. 14:23
ugexe MasterDuke: without digging into the problem - what if '...' is in a path for a mkdir? (it wouldnt exist yet)
SmokeMachine moritz: maybe not... :( (thats why am asking here...)
MasterDuke ugexe: it's just for .resolve 14:24
SmokeMachine IOninja: so, you think I shouldn't PR that?
(I was trying to do the "Things we probably want to add" part... I think its a good way to learn about raked before I start to try to get more difficult stuff...) 14:26
MasterDuke IOninja: ah, i see you've already 'taken' the related RT, cool
SmokeMachine *rakudo
IOninja SmokeMachine: I worry that we're adding nearly-useless stuff that adds maintenance burden and possible unforseen sideeffects (e.g. your ??/!! addition still has an unfixed bug in error reporting). And needs extra computing (e.g. in this PR I see you're already adding a conditional with two checks: :rw($<lambda> eq '<->' || $<lambda> eq '↔')).
SmokeMachine: so what I think it's easy to add a bunch of crap because it's fun, but this isn't just a toy we're making here and we'll need to support all this stuff for years to come. 14:27
SmokeMachine IOninja: is there a bug?! where can I see that? Id like to try to fix it!
IOninja See? I showed you the bug last time, but now you don't even remember it. And you're already contemplating adding more unicode ops. 14:28
14:28 donaldh left
SmokeMachine IOninja: sorry, my memory isn't very good... :( where can I see that bug? 14:29
IOninja m: say 0 ⁇ 1 ?? 2 ⁇ 3 ?? 4 !! 5 ‼ 6 !! 7 !! 8
camelia 5===SORRY!5=== Error while compiling <tmp>
Your !! was gobbled by the expression in the middle; please parenthesize
at <tmp>:1
------> 3say 0 ⁇ 1 ?? 2 ⁇ 3 ?? 4 !! 5 ‼ 6 !! 77⏏5 !! 8
expecting any of:
infix
SmokeMachine I'll save this commit into my fork... ill try again after I solve the ⁇‼ bug...
IOninja: thanks! 14:30
IOninja ^ my !! wasn't gobbled. I merely used !! instead of ‼
SmokeMachine IOninja: so, it should be an error, but with different message? 14:32
IOninja Yes.
14:32 donaldh joined, cdg left
SmokeMachine what should be the message? 14:32
14:32 cdg joined
IOninja Dunno. Something that lets me fix my code. In this case, if I'm not mistaken, the last !! should be a ‼ 14:32
SmokeMachine ok... Ill try to get when it occur and think on the message after that... 14:33
14:34 itaipu_ joined 14:36 itaipu left 14:51 curan left 14:52 itaipu_ left 14:56 wamba1 joined
SmokeMachine IOninja: I took some time but I got whats wrong! 14:58
14:58 BenGoldberg joined 14:59 liAealneDx joined
IOninja Sweet. 14:59
15:00 committable6 left
IOninja lizmat: your bot's broken 15:00
I mean...
liAealneDx: your bot's broken
liAealneDx \o/
lizmat was wondering :-)
liAealneDx :S
IOninja liAealneDx: just got hung by `c: a9c5196~1,a9c5196 for ^1000_000 { $ = 42 min 4 }; say now - INIT now`
liAealneDx wow 15:01
weird
IOninja even tho that's supposed to take like 2-3 seconds
15:02 committable6 joined, ChanServ sets mode: +v committable6
liAealneDx c: a9c5196~1,a9c5196 for ^1000_000 { $ = 42 min 4 }; say now - INIT now 15:02
committable6 liAealneDx, ¦a9c5196~1: «0.4441415» ¦a9c5196: «0.4545569»
liAealneDx :o
IOninja heh
liAealneDx c: a9c5196~1..a9c5196 for ^1000_000 { $ = 42 min 4 }; say now - INIT now
committable6 liAealneDx, ¦a9c5196: «0.4727108» ¦7bebec0: «0.45570207»
liAealneDx 🤷
15:02 itaipu joined
IOninja
.oO( a ghost in the machine... one day a robot will even have dreams! )
15:04
MasterDuke c: a9c5196~1..a9c5196 for ^1000_000 { $ max= 42 }; say now - INIT now 15:07
committable6 MasterDuke, ¦a9c5196: «0.7312004» ¦7bebec0: «1.0210853»
15:07 donaldh left
IOninja MasterDuke: you have a robo-message in #perl6-dev :) 15:08
liAealneDx what is a9c5196~1 exactly? 15:09
c: a9c5196~1 say $*VM.version
committable6 liAealneDx, ¦a9c5196~1: «v2017.02.38.g.58457845»
MasterDuke c: a9c5196~1,a9c5196 for ^1000_000 { $ max= 42 }; say now - INIT now
IOninja liAealneDx: that's "1 commit before a9c5196" innit?
committable6 MasterDuke, ¦a9c5196~1: «1.0459089» ¦a9c5196: «0.7141848»
MasterDuke IOninja: ^^^ 15:10
IOninja $*VM gives you MoarVM's version, you want $*PERL.compiler.version
liAealneDx IOninja: yea, just wanted to see the hash too
aaah
damn
c: a9c5196~1 say $*PERL.compiler.version
committable6 liAealneDx, ¦a9c5196~1: «v2017.02.235.g.7.bebec.08.e»
IOninja m: say 1-.714/1.045
camelia 0.316746
liAealneDx IOninja: ah ok, now I know. Something was using this build before and forgot to remove it 15:11
IOninja Ah
liAealneDx so committablle was thinking that something else is using it and got stuck waiting…
IOninja MasterDuke: I'm just adding stuff to Changes file and want it to be accurate....
liAealneDx yes, something is broken, but yea, I'm aware of that thing
thank you for your report!
MasterDuke IOninja: oddly, `{ $ = 42 min 4 }` doesn't even have infix:<min> in the profile 15:13
IOninja oh
MasterDuke but `{ $ min= 42 }` does
15:13 n1ce left, abraxxa left
IOninja m: say [&infix:<min>.prec, &infix:<=>.prec ] 15:14
camelia [{assoc => list, prec => k=} {prec => e=}]
MasterDuke oh, probably a compile time thing
IOninja c: a9c5196~1,a9c5196 for ^1000_000 { $ = (42 max 2) }; say now - INIT now
committable6 IOninja, ¦a9c5196~1: «0.4498478» ¦a9c5196: «0.44798075»
MasterDuke c: a9c5196~1,a9c5196 for ^1000_000 { $ = (42 max $_) }; say now - INIT now
committable6 MasterDuke, ¦a9c5196~1: «0.8896066» ¦a9c5196: «0.4745108»
15:15 kaushal joined
IOninja there we go 15:15
m: say 1-.4745/.08896
camelia -4.333858
IOninja wat
oh
m: say 1-.4745/.8896
MasterDuke m: say (1-.4745)/.08896
camelia 0.466614
5.907149
MasterDuke btw, i based my measurement on the exclusive time for the actual op, not just total times 15:16
IOninja I'll log it as `Made min/max/min=/max= 30%-50% faster" 15:17
MasterDuke: doesn't that miss a lot of work done by the op? like, if I add sub foo {...} and just make the op call that sub, the exclusive time will only have the cost of that call, not of how long it takes to run.
MasterDuke yeah, but max/min don't call anything else 15:18
exclusive time == inclusive time for them 15:19
IOninja s: &infix:<max>
SourceBaby IOninja, Sauce is at github.com/rakudo/rakudo/blob/f190...s.pm#L1939
IOninja looks like it calls infix:<cmp>, no? 15:20
MasterDuke SourceBaby is a bunch of commits behind
IOninja notices SourceBaby is stuck on libtomah thing
MasterDuke github.com/rakudo/rakudo/blob/nom/...1932-L1952 15:21
the narrower versions just call nqp::cmp
IOninja And that doesn't get in the profile as a separate thing? 15:22
MasterDuke nope, nqp ops doen't show in the profiler
they're just counted as exclusive to whatever block they're in 15:23
i'm pretty confident about that, but timotimo could probably confirm
or jnthn
IOninja OK. Thanks for explaining. I'll log it as 3x faster 15:25
BenGoldberg u: turned
unicodable6 BenGoldberg, U+018D LATIN SMALL LETTER TURNED DELTA [Ll] (ƍ)
BenGoldberg, U+019C LATIN CAPITAL LETTER TURNED M [Lu] (Ɯ)
BenGoldberg, 86 characters in total: gist.github.com/2f34daa0fb6182db5b...4cb346eb3b
MasterDuke of course it depends what you mean by faster. i think what i meant in my commit message was that the op takes one third the time 15:26
and i know things like faster and speedup have some technical definitions, but i don't know what they are 15:27
so as long as you convey that they are faster/better looking/stronger in some way, fine by me 15:28
15:28 kaushal left
IOninja Well, I now realize I was measuring wrong. for ^1000_000 { $ = … }; itself takes time to run, but I was expecting the final result to be 3x smaller 15:29
MasterDuke Amhdal's (sp?) law strikes again 15:30
15:32 abraxxa joined
DrForr Amdahl IIRC. 15:34
jast yes 15:35
15:37 kst joined 15:38 koki1 left 15:45 sufrostico left, sufrosti1o left 15:51 zakharyas joined 15:55 grondilu joined 15:56 itaipu left 15:57 itaipu joined, cdg left 15:58 cdg joined 16:01 sufrostico joined, sufrosti1o joined 16:02 itaipu_ joined 16:05 sufrostico left, sufrosti1o left 16:06 itaipu left, sufrostico joined, sufrosti1o joined
IOninja m: sub infix:<+> is equiv(&[*]) { &CORE::infix:<+>($^a, $^b) }; sub infix:<*> { &CORE::infix:<*>($^a, $^b) }; say 2 + 2 * 5 16:07
camelia 12
IOninja laughs evily
m: sub infix:<+> is equiv(BEGIN (&[*], &[+]).pick) { &CORE::infix:<+>($^a, $^b) }; sub infix:<*> is equiv(BEGIN (&[*], &[+]).pick) { &CORE::infix:<*>($^a, $^b) }; say 2 + 2 * 5 16:09
camelia 12
IOninja Can't programmatically define what the precedence is? The above always gives 12... so seems the BEGIN ... pick isn't working.
16:10 domidumont left
IOninja Oh 16:12
It's not even calling my ops!
I didn't even notice :( my evil laughter was for naught
perlpilot So ... I just tried to build rakudo for the first time in a while and it's dying with "Configuration FAIL" Did something change that I should be aware of? 16:13
IOninja perlpilot: nuke nqp/MoarVM 16:14
then try again
m: sub infix:<+> is equiv(&[*]) { say "hi"; &CORE::infix:<+>($^a, $^b) }; sub infix:<*> { say "bye"; &CORE::infix:<*>($^a, $^b) }; say 2 + 2 * 5 16:15
camelia bye
hi
12
IOninja why does that give 12 instead of 20?
16:15 raiph joined
IOninja m: sub infix:<+> is tighter(&[/]) { say "hi"; &CORE::infix:<+>($^a, $^b) }; sub infix:<*> is looser(&[/]) { say "bye"; &CORE::infix:<*>($^a, $^b) }; say 2 + 2 * 5 16:16
camelia bye
hi
12
IOninja precendence is busted.
I'm guessing due to chaining?
m: sub infix:<z> is tighter(&[/]) { say "hi"; &CORE::infix:<+>($^a, $^b) }; sub infix:<*> is looser(&[/]) { say "bye"; &CORE::infix:<c>($^a, $^b) }; say 2 z 2 c 5 16:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3 &CORE::infix:<c>($^a, $^b) }; say 2 z 27⏏5 c 5
expecting any of:
infix
infix stopper
postfix
statement end
IOninja m: sub infix:<z> is tighter(&[/]) { say "hi"; &CORE::infix:<+>($^a, $^b) }; sub infix:<c> is looser(&[/]) { say "bye"; &CORE::infix:<*>($^a, $^b) }; say 2 z 2 c 5 16:18
camelia hi
bye
20
IOninja Works with these ops. 16:19
I guess this will resolve itself when we make it possible for users to do proper chained ops. ¯\_(ツ)_/¯ 16:20
16:21 Cabanossi left 16:22 Cabanossi joined 16:24 cdg_ joined 16:26 cdg left 16:33 mcmillhj left 16:34 vike left 16:35 bwisti joined 16:36 mcmillhj joined 16:38 spebern joined 16:42 mcmillhj left 16:43 khw joined, vike joined 16:44 espadrine joined 16:52 mcmillhj joined 16:55 kurahaupo__ joined, abraxxa left 16:56 spebern left, skids joined 16:58 mcmillhj left 17:03 mcmillhj joined 17:11 vike left 17:12 vike joined, kaushal joined
liAealneDx hehe, so true xkcd.com/1806/ 17:14
in my case it is “space button is AltGr and actual space is on 無変換” 17:15
IOninja
.oO( maniac )
SmokeMachine m: say [+] ( ^20 .grep: *.is-prime ) # <- is that a bug? 17:16
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3say [+] ( ^20 .7⏏5grep: *.is-prime ) # <- is that a bug?
SmokeMachine m: say [+] ^20 .grep: *.is-prime # <- is that a bug?
camelia ()
IOninja heh, looks like it :) 17:17
m: say sum ^20 .grep: *.is-prime
camelia 77
liAealneDx IOninja: … if you want to type Cyrillic letters, then you can switch the layout with ScrLk and you'll get a phonetic (almost) dvorak layout :P
IOninja m: say [+] (^20).grep: *.is-prime
camelia 77
liAealneDx … but some letters are switched for efficiency! 17:18
IOninja m: say [~] 'a' .uc
camelia A
IOninja m: say [~] ("a" .uc)
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3say [~] ("a" .7⏏5uc)
IOninja looks like the grammar for metareduce is missing the part about detached method calls... 17:19
17:19 Sound left
IOninja liAealneDx: btw SmokeMachine was asking for feedback on something that I think interests you: irclog.perlgeek.de/perl6/2017-03-14#i_14261712 17:19
liAealneDx IOninja: ah, thanks 17:20
17:20 eroux joined
IOninja Filed the above bug rt.perl.org/Ticket/Display.html?id=130998 17:23
liAealneDx u: arrow right 17:24
unicodable6 liAealneDx, U+02C3 MODIFIER LETTER RIGHT ARROWHEAD [Sk] (˃)
liAealneDx, U+02F2 MODIFIER LETTER LOW RIGHT ARROWHEAD [Sk] (˲)
liAealneDx, 217 characters in total: gist.github.com/ce7d70f96f84f1da83...672e0e9f99
17:28 cdg_ left, cdg joined 17:29 Undercover left
MasterDuke bisectable6: say [~] ("a" .uc) 17:30
bisectable6 MasterDuke, On both starting points (old=2015.12 new=daa71e6) the exit code is 1 and the output is identical as well
MasterDuke, Output on both points: «04===SORRY!04=== Error while compiling /tmp/lykOIc3W_U␤Confused␤at /tmp/lykOIc3W_U:1␤------> 03say [~] ("a" .08⏏04uc)»
liAealneDx SmokeMachine: so, being the author of that page, of course I'm biased. But smls++ defined some reasons why adding unicode versions makes sense and why it doesn't (which is now included on the new page partially, feel free to read the full comment on the original gist). According to these, → and ↔ are totally reasonable
it's true that there are white arrows, wavy arrows and so on, but there's kinda no reason to pick them 17:31
17:31 grondilu_ joined
IOninja reads the save-from-texas-wiki 17:33
"Why? Because we already support −."
More like "support". After a thousand bug fixes it's still not fully supported and has been a nightmare to support and we should burn it with fire.
17:34 kaushal left
liAealneDx well, feel free to move ∕ to questionable things :P 17:34
BenGoldberg m: sub circumfix:<<⌊ ⌋>> { floor $^x }; say ⌊pi⌋;
camelia 3
17:34 grondilu left
IOninja does so 17:34
17:36 agentzh joined
BenGoldberg Keeping in mind how perl6 is extensible, why not put stuff into a module, experimental::unistuff or whatever? 17:36
17:36 dj_goku left
IOninja BenGoldberg: exactly my thoughts on it. 17:37
liAealneDx BenGoldberg: yea, I think everything from “New ideas” section can be tested in a module first
because these are not simply unicode equivalents for existing features, but new features entirely 17:38
BenGoldberg Some of them would have to be macros. 17:39
IOninja That wiki scares me. 17:40
I really hope TimToady brings a voice of reason.
Make a deal: fix 100 bugs and you get to add one of those fancy ops :P
buggable: tag TOTAL 17:41
buggable IOninja, There are no tickets tagged with TOTAL
IOninja buggable: tags
buggable IOninja, Total: 1550; BUG: 1049; UNTAGGED: 343; LTA: 155; NYI: 93; RFC: 60; CONC: 58; JVM: 57; REGEX: 50; UNI: 31; PERF: 27; SEGV: 27; NATIVECALL: 22; TESTNEEDED: 22; @LARRY: 20; POD: 20; IO: 18; TODO: 18; REGRESSION: 14; PRECOMP: 12; BUILD: 11; OO: 11; TESTCOMMITTED: 11; OPTIMIZER: 9; STAR: 7; BOOTSTRAP: 5; WEIRD: 5; GLR: 4; MATH: 4; OSX: 4; REPL: 4; SPESH: 3; WINDOWS: 3; RT: 2; BELL: 1;
IOninja 1,550 tickets. That's like... 400 more than when I started with Perl 6.
liAealneDx IOninja: this can be applied to any feature, not just unicode ops
BenGoldberg thinks ⁇ ‼ would have been better implemented as macros postcircumfix:<⁇ ‼> rather than mess with the parser.
liAealneDx BenGoldberg: huh… what? 17:42
BenGoldberg Or something like that.
17:43 hcit left
IOninja liAealneDx: no, not just any feature. There *is* currently a way to write a pointy block, so adding → is an aesthetic indulgence. But there's no way to, for example, take a char name from a user and return a char, so there's justification to add Str.parse-names that does that. 17:43
liAealneDx IOninja: why not implement it in a module?
17:44 hcit joined
[Coke] in that particular case, there is buyin from other devs. 17:45
liAealneDx :S 17:46
IOninja liAealneDx: there's no supported way to do it.
+ several users asked for a way to do it and were told there wasn't any (other than using guts or EVAL), so there's demand.
liAealneDx well, I'd use → ↔ the same day it is implemented, not sure about others :) 17:48
17:48 sufrosti1o left, sufrostico left
IOninja liAealneDx: that's not an exact parallel, since you CAN do -> and <-> right now without any new features or even modules. 17:48
liAealneDx IOninja: yea, I guess you are right, to some extent 17:49
IOninja At least that's what I think; I don't know if I'm inventing reasons since I'm the author of parse-names...
liAealneDx IOninja: I mean, right that some features are probably more important than unicode ops
17:49 sufrostico joined, sufrosti1o joined
[Coke] I agree with IOninja++'s assessment there. 17:49
[6~
... before he said that maybe it was because he was the author. I was one of the users who wanted that feature. 17:50
which reminds me: github.com/coke/p6-unicode-mangler...gle.p6#L70
[Coke] needs to write an ugly require that says "if you're using rakudo, you have to use *this* version or higher' 17:51
17:52 Undercover joined, ChanServ sets mode: +v Undercover, wamba1 left
SmokeMachine u: ⌊⌋ 17:53
unicodable6 SmokeMachine, U+230A LEFT FLOOR [Ps] (⌊)
SmokeMachine, U+230B RIGHT FLOOR [Pe] (⌋)
17:53 Cabanossi left, dakkar left 17:54 sufrosti1o left, sufrostico left 17:55 Cabanossi joined, sufrostico joined, kaushal joined, sufrosti1o joined
BenGoldberg m: "PARENTHESIZED STAR".parse-names.say; 17:58
camelia Unrecognized character name [PARENTHESIZED STAR]
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
liAealneDx SmokeMachine: so it's basically a 3-line change, heh
SmokeMachine liAealneDx: yes... 18:01
18:08 cdg left
IOninja "\\".IO.is-absolute is True on Windows... Probably should be False? 18:10
liAealneDx SmokeMachine: hm, have you seen this also? github.com/rakudo/rakudo/blob/nom/....nqp#L5757 18:11
IOninja perl6 -e "my $p = '\\'.IO; chdir 'Z:\\'; $p.Str.IO.dir" <-- gives results for Z:\ drive not the original C:\
liAealneDx SmokeMachine: also, have you figured out what's the actual meaning of 「<?before '{' | '->' >」 ? For example, why it has no ‘<->’ in there?
SmokeMachine liAealneDx: not yet... I paused that commit and Im trying to solve the ⁇‼ bug... 18:13
liAealneDx SmokeMachine: ;) 18:14
SmokeMachine liAealneDx: I think Ill have to take a look at those to make it work... :)
18:16 g0d355__ left 18:17 kaushal left
IOninja liAealneDx: have you figured out how to trigger it? The token infix:sym<lambda> 18:18
18:19 dj_goku joined
liAealneDx IOninja: why are you asking me? It's not my PR :) 18:19
IOninja Don't matter.. Maybe you know. 18:20
SmokeMachine it's not a PR yet! :) 18:21
IOninja Looks like the entire token is always meant to fail 18:23
liAealneDx m: my @a = for 1..3 { $_ } 18:26
camelia 5===SORRY!5===
Word 'for' interpreted as a listop; please use 'do for' to introduce the statement control word
at <tmp>:1
------> 3my @a = for7⏏5 1..3 { $_ }
Unexpected block in infix position (two terms in a row)
at <tmp>:1
------>…
liAealneDx that's the error that comes out of it
SmokeMachine looks that the spec tests aren't testing it... everything passed... :( 18:28
IOninja m: my @a = for 1..3 <-> { $_ }
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
for used at line 1
liAealneDx wait, so one of my questions was why is there no <->
yes ↑ 18:29
IOninja :)
liAealneDx looks like a bug, right?
not so much a bug, but <-> is kinda missing
IOninja m: my @a = for 1..3 -> { $_ }
camelia 5===SORRY!5===
Word 'for' interpreted as a listop; please use 'do for' to introduce the statement control word
at <tmp>:1
------> 3my @a = for7⏏5 1..3 -> { $_ }
Unexpected block in infix position (two terms in a row)
at <tmp>:1
----…
IOninja Seems like it.
IOninja adds it
liAealneDx IOninja: \o/ introduction of a unicode op fixed a bug! 18:30
IOninja hah
SmokeMachine \o/ 18:31
BenGoldberg "␤Undeclared routine:␤ for"? So strange! 18:32
m: my @a = do for 1..3 <-> { $_ } 18:33
camelia Too many positionals passed; expected 0 arguments but got 1
in code at <tmp> line 1
in block <unit> at <tmp> line 1
BenGoldberg m: my @a = do for 1..3 <-> $_ { $_ }
camelia Parameter '$_' expected a writable container, but got Int value
in code at <tmp> line 1
in block <unit> at <tmp> line 1
IOninja liAealneDx: I'm guessing this branch can be deleted now? github.com/perl6/doc/tree/%E2%89%A...5%E2%89%A0 18:52
liAealneDx IOninja: it already is
:P
yes
IOninja k
18:53 adu joined
tbrowder re rakudo: all of a sudden i'm having build probs on Debian. should i blow away ./nqp/MoarVM and retry? 18:56
IOninja Yes.
tbrowder wilco
IOninja: thanks. that seems to have fixed it. 18:58
IOninja m: " ".uniname.say
camelia NO-BREAK SPACE
IOninja u:  
unicodable6 IOninja, Found nothing!
IOninja liAealneDx: your bot is deficient :)
And I think it worked in the past 18:59
liAealneDx IOninja: well… it's your module that cuts it out
IOninja .u  
liAealneDx u: a 
unicodable6 liAealneDx, U+0061 LATIN SMALL LETTER A [Ll] (a)
liAealneDx, U+00A0 NO-BREAK SPACE [Zs] ( )
yoleaux U+00A0 NO-BREAK SPACE [Zs] ( )
liAealneDx IOninja: but I'll fix it now, thanks
IOninja liAealneDx++
19:02 Possum left
adu ergh, why can't everything be as cool as Perl6 19:04
IOninja Because if it were, Perl 6 wouldn't be cool; it'd be just like everything else :P 19:06
.oO( you know you're a Perl 6 coder when you instinctively try to capitalize Cool because it's a type name >_< )
19:07
liAealneDx m: say ‘hello’.starts-with(/h/) 19:08
camelia Cannot resolve caller starts-with(Str: Regex); none of these signatures match:
(Cool:D $: Cool $needle, *%_)
(Str:D $: Str:D $needle, *%_)
in block <unit> at <tmp> line 1
liAealneDx heh
m: say ‘hello’.matches(/^h/) 19:09
camelia No such method 'matches' for invocant of type 'Str'
in block <unit> at <tmp> line 1
liAealneDx m: say ‘hello’ ~~ /^h/
camelia 「h」
liAealneDx m: say ‘hello’.match(/^h/)
camelia 「h」
liAealneDx oh!
RabidGravy boom 19:10
liAealneDx IOninja: interestingly, “.u  ” works with unicodable :D
(if yoleaux is not on the channel)
19:10 unicodable6 left, unicodable6 joined
liAealneDx u:   19:10
unicodable6 liAealneDx, U+00A0 NO-BREAK SPACE [Zs] ( )
liAealneDx unicodable6:  
unicodable6 liAealneDx, U+00A0 NO-BREAK SPACE [Zs] ( )
IOninja u:  
unicodable6 IOninja, U+00A0 NO-BREAK SPACE [Zs] ( )
19:10 ChanServ sets mode: +v unicodable6
liAealneDx unicodable6:   19:10
unicodable6 liAealneDx, U+00A0 NO-BREAK SPACE [Zs] ( ) 19:11
IOninja neat
u:
unicodable6 IOninja, U+0020 SPACE [Zs] ( )
IOninja \o/
liAealneDx well, one \s is required after : anyway
19:14 sufrosti1o left
liAealneDx .u 19:14
yoleaux Search for a Unicode character by codepoint, name, or raw character
liAealneDx ha!
yoleaux: you're a deficient bot! 19:15
IOninja :D
19:15 sufrostico left
IOninja .tell yoleaux you're a deficient bot 19:15
yoleaux IOninja: Thanks for the message.
IOninja .tell dalek you're a deficient bot
yoleaux IOninja: I'll pass your message to dalek.
IOninja I'm actually a bit surprised how well Geth is working. I was a bit worried about massive memory leaks/stability issues 'cause it got a server that listens to stuff. 19:16
19:17 buggable left, buggable joined, ChanServ sets mode: +v buggable, eroux left 19:19 itaipu joined, itaipu_ left 19:20 gdonald left, gdonald joined 19:25 LeCamarade left 19:26 spebern joined 19:28 LeCamarade joined, ufobat left 19:37 labster joined
IOninja What does "sweat smile" mean? 😅? 19:37
19:44 girafe joined
BenGoldberg Why would someone be experiencing a cold sweat? Nervousness would be my guess. 19:45
IOninja It's a heart attack symptop... 19:46
geekosaur where did cold come from? I was thinking post exercise smile... 19:47
IOninja u: 19:48
unicodable6 IOninja, U+0020 SPACE [Zs] ( )
IOninja ugh
u: 😅
unicodable6 IOninja, U+1F605 SMILING FACE WITH OPEN MOUTH AND COLD SWEAT [So] (😅)
IOninja unicode.party called it "sweat smile"
19:49 adu left, wamba1 joined
IOninja If I ever saw a smiling human with open mouth and cold sweat, I'd call an ambulance :) 19:49
19:50 hankache joined
liAealneDx
.oO( better pull out your chainsaw before it eats you )
19:50
hankache hola #perl6
liAealneDx o/ 19:51
19:52 adu joined
BenGoldberg Hello. 19:52
rindolf hankache: hi 19:58
hankache: how are you? 19:59
hankache hello rindolf, all is well and you? 20:00
perlpilot Ah ... I see the problem with my rakudo build ... libtommath was added as a submodule with the git protocol instead of the https protocol 20:01
rindolf hankache: I'm trying to figure out why firefox's debugger.html are failing here on fedora x86-64 20:02
20:02 itaipu_ joined
rindolf hankache: and I did some code golf and Project Euler 20:03
20:03 bjz joined
hankache rindolf aha great! 20:05
20:05 itaipu left 20:08 unicodable6 left
El_Che writing some small perl6 stuff. We had some discussion in the past about returns (what I like) and --> (which I don't). Larry seemed to prefer the latter. Does it mean returns will be removed in the future? (Just to make sure my code is "modern") 20:08
IOninja perlpilot: is there a way to fix that without causing another wave of people that say their build is broken? 20:09
20:09 adu left
perlpilot Dunno. I'm not sure how submodules deal with the protocol change. 20:10
IOninja El_Che: yes, TimToady said he wants returns gone in 6.d
perlpilot But we should tend to favor https over git IMHO
IOninja +1 20:11
El_Che IOninja: thx, I'll adapt the code
liAealneDx IOninja: are you sure it's what he said exactly?
IIRC he wanted it gone before 6.c, but it never happened
20:12 cdg joined
liAealneDx is it written down somewhere that this is actually the plan for 6.d to remove it? 20:12
huggable: 6.d
huggable liAealneDx, Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod
liAealneDx not here
IOninja liAealneDx: I recall that it's 6.d and that's why we changed them in our docs but I don't remember any adjectives on how strongly he wanted that gone 20:13
liAealneDx there were many reasons to change them in the docs :) 20:14
El_Che: in any case, you're better off with --> :)
El_Che liAealneDx: what happened with your nick? :) 20:15
IOninja liAealneDx: I recall sena_TAB changing them as a direct result of TimToady wanting returns gone
El_Che: he's a Zoffix wannabe 20:16
El_Che yeah, Zoffix is the worst
perlpilot If someone would care to apply github.com/MoarVM/MoarVM/pull/553 I'd be happier
El_Che the brokenchicken guy
:)
liAealneDx IOninja: sena_kun first changed everything to use “returns”, and then after discussion changed everything to “-->”, so it's not as simple as that
irclog.perlgeek.de/perl6/2016-12-03#i_13674580 20:17
ok you're right
liAealneDx shuts up
IOninja: I should be more quiet, don't you think? :) 20:18
20:19 labster left
IOninja Ah, Ok I was wrong. 20:20
El_Che: TimToady wants returns to be *deprecated* in 6.d and gone later, but still
liAealneDx hm… what if I do it right now? 20:21
for use 6.d
BenGoldberg m: my $s0 = :(Str $foo --> Int); my $s0 = :(Str $foo returns Int); say $s0 == $s1;
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot resolve caller trait_mod:<returns>(Parameter, Int); none of these signatures match:
(Routine:D $target, Mu:U $type)
at <tmp>:1
liAealneDx doesn't sound like that big of a deal to add a warning
BenGoldberg m: my $s0 = :(Str $foo --> Int); my $s0 = :(Str $foo) returns Int; say $s0 == $s1; 20:22
camelia 5===SORRY!5===
Two terms in a row
at <tmp>:1
------> 3(Str $foo --> Int); my $s0 = :(Str $foo)7⏏5 returns Int; say $s0 == $s1;
expecting any of:
infix
infix stopper
postfix
statement end
20:22 unicodable6 joined, ChanServ sets mode: +v unicodable6, ufobat joined 20:23 hankache left
El_Che I am writing some small tools for helping analysing text and I doubted between p5 and p6, so far p6 has been fun for the task 20:24
BenGoldberg By only having --> it means that :(sig) and sub (sig) must use the same syntax.
El_Che I was happy to see the flip flop operator is still there :)
BenGoldberg Having said that, I suppose one could write sub infix:<returns>(Signature, Parameter) which constructs a new signature based on an existing one. 20:25
Geth whateverable: 7240ed0ed3 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Unicodable should not trim leading spaces
20:26
whateverable: 25f1e10ed3 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/unicodable.t
Typo (oops!)
20:28
20:33 labster joined 20:37 bdmatatu left 20:38 RandalSchwartz joined
RandalSchwartz "rakudobrew build moar" is now breaking for me for the past two days 20:38
Configuration FAIL. You can try to salvage the generated Makefile.
/opt/local/bin/perl5.24 Configure.pl --optimize --prefix=/Users/merlyn/MIRROR/rakudobrew-GIT/moar-nom/install --make-install 20:39
is this expected? Is there a new workflow?
20:39 rindolf left
RandalSchwartz maybe "git_reference" is failing with the new git release? 20:40
MasterDuke RandalSchwartz: libtommath in MoarVM/src/3rdparty was converted into a submodule
and that broke rebuilding for a bunch of people, they had to blow that directory away 20:41
RandalSchwartz just remove the dir?
MasterDuke but i'm not sure how that works with rakudobrew
perlpilot RandalSchwartz: also, is the git protocol disallowed for you? (It's blocked where I am, but https is fine)
RandalSchwartz it is not blocked 20:42
perlpilot RandalSchwartz: I think removing git_reference and moar-nom will do it, but I don't know yet as I just tried a few moments ago and I'm waiting for rakudobrew to rebuild things.
RandalSchwartz: it's sitting on the "updating submodules" step now 20:43
RandalSchwartz I don't have 3rdparty anywhere
ok - I'll try that 20:44
El_Che mmm:
> claudio@bologna:~$ zef install Readline
===> Searching for: Readline
===> Searching for missing dependencies: LibraryCheck, panda
zef install something has panda as a dep
RandalSchwartz ok - it's cloning stuff
self-update did nothing, but build moar seems to be building something 20:45
MasterDuke RandalSchwartz: oops, it's just MoarVM/3rdparty/libtommath 20:46
perlpilot Well ... blah. because rakudobrew is using specific versions of things it's still getting the git protocol version
20:47 cog__ joined
perlpilot RandalSchwartz: if your network isn't blocking the git protocol, I think you should have no problems 20:47
RandalSchwartz you mean, after blowing away those two sub-repos 20:48
perlpilot yes
RandalSchwartz yeah, so far, it's fetching
would have been nicer to know this when I was on a faster net. :)
perlpilot RandalSchwartz: #perl6 is open 24/7 :-) 20:49
RandalSchwartz Yeah... at least Now I Know(tm)
perlpilot RandalSchwartz: btw, what are you using P6 for? Anything interesting? Or just play?
20:51 cog_ left
RandalSchwartz tracking it 20:53
people expect me to know about perl6 too. :)
every time I see it, I'm more impressed. 20:54
but I'm still not seeing a practical deploy for my @clients
IOninja heh 20:55
IOninja wonders if kummerspeck is a real German word 20:56
Google translate translates it as "grief-bacon" :)
20:57 zakharyas left
IOninja RandalSchwartz: what makes it impractical? 20:57
RandalSchwartz the ecosystem isn't there, and perl5 works "well enough" 20:58
and yes, the ecosystem is a chicken-egg problem.
IOninja Ah :) 20:59
RandalSchwartz I can see perl6 for a small team greenstart, but not integrated into a larger project.
and unfortunately, small team greenstarts won't pay my development costs for training.
and if there's no training, there's no books. 21:00
so my interest is limited. I'm getting much more interest and dialog from Dart than from Perl6.
IOninja +we have plenty of books to compete with yours :) 21:01
huggable, books
huggable IOninja, "Perl 6 At A Glance" deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": leanpub.com/perl6 (can order preview digital copies) ; "Think Perl 6: How to Think Like a Computer Scientist": shop.oreilly.com/product/0636920065883.do
RandalSchwartz Yeah, people that can afford more downtime than me. :( 21:03
I'm tired of writing books for minimum wage.
and I'm still working hard for a living. 55 with no retirement and at least $50K in debt. :( 21:04
so I've gotta bet on the more likely sure thing. Dart has legs. 21:05
IOninja Sure, that's understandable. 21:06
huggable: hug RandalSchwartz
huggable hugs RandalSchwartz
El_Che in order to pass parameters not in the surrounding block to a 'anonymous function', I give it a name: my $print-line = sub print-line(Str $line) { say "FOUND: $line" } 21:07
is there a way without naming the sub? I care about the (Str $line) part which I can not seem to amek it work withan a name after sub 21:08
the sub is passed to an other sub and run there with $line as parameter
21:08 vendethiel- joined, sufrostico joined 21:09 sufrosti1o joined 21:10 vendethiel left
El_Che RandalSchwartz: for what it's worth, I learnt Perl with your book 21:10
21:11 bjz_ joined 21:13 bjz_ left
IOninja El_Che: why do you need a name? 21:13
m: $print-line = sub (Str $line) { say "FOUND: $line" }; $print-line(42)
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$print-line' is not declared
at <tmp>:1
------> 3<BOL>7⏏5$print-line = sub (Str $line) { say "FOU
IOninja m: my $print-line = sub (Str $line) { say "FOUND: $line" }; $print-line(42)
camelia Type check failed in binding to '$line'; expected Str but got Int (42)
in sub at <tmp> line 1
in block <unit> at <tmp> line 1
21:13 bjz left
IOninja m: my $print-line = sub (Str $line) { say "FOUND: $line" }; $print-line('foo') 21:13
camelia FOUND: foo
IOninja Also: 21:14
m: my $print-line = sub anon print-name(Str $line) { say "FOUND: $line" }; $print-line('foo'); try EVAL 'print-name("foo")'; say $!.^name
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3my $print-line = sub anon7⏏5 print-name(Str $line) { say "FOUND: $li
expecting any of:
new name to be defined
IOninja oh
El_Che I don't, I use it as a syntax error workaround. Looking at your suggestion now
IOninja m: my $print-line = anon sub print-name(Str $line) { say "FOUND: $line" }; $print-line('foo'); try EVAL 'print-name("foo")'; say $!.^name
camelia FOUND: foo
X::Undeclared::Symbols
IOninja El_Che: well, I meant why do you think you need a name if you don't need it. 21:15
El_Che IOninja: because what ever I tried I ended with compile errors
weird 21:16
IOninja lacking space between `sub` and parens maybe?
El_Che must be that, because the code now works without the name 21:17
IOninja :)
El_Che thx
21:18 RandalSchwartz left 21:20 jonas1 left, ggoebel left
unclechu hey guys, what whould you recommend me to read about writing FFI in perl6? 21:22
21:22 Cabanossi left
unclechu can i just write some bindings to vary libraries using 'ccall'? 21:23
IOninja unclechu: probably docs.perl6.org/language/nativecall
unclechu: no idea what ccall is...
21:23 mcmillhj left
unclechu IOninja: thanks 21:23
IOninja: i mean convention about binary interfaces of libraries, ccall, stdcall, etc. 21:24
21:25 Cabanossi joined
IOninja Ah, never heard about those. But I've seen someone have marginal success calling a Rust library compiled in standard calling format. 21:25
jnthn Pretty sure you can get nativecall to do stdcall calls, though it's not the default 21:26
The convention we're sadly still missing support for is varargs
Geth doc: 7759a30e68 | (Naoum Hankache)++ | doc/Language/about.pod6
about.pod6
21:30
doc: db236af9f3 | (Zoffix Znet)++ | doc/Language/about.pod6
Merge pull request #1244 from hankache/master

about.pod6
IOninja huh make xtest in docs runs `if [ "" != "" ]; then prove -j -e perl6 xt t; else prove -e perl6 xt t; fi` 21:34
21:34 ggoebel joined, itaipu_ left
IOninja is that conditional as weird as I think it is or bash is even crazier than I thought it were? 21:34
moritz IOninja: there's probably an empty variable interpolated into oneo f the strings 21:35
IOninja oh; it's just lying to me: if [ "${TEST_JOBS}" != "" ]; then prove -j ${TEST_JOBS} -e perl6 xt t; else prove -e perl6 xt t; fi
ilmari yes, -x shows the commands after expansion
moritz but bash shows you the interpolated command
IOninja Thanks.
liAealneDx u: ℅ 21:38
unicodable6 liAealneDx, U+2105 CARE OF [So] (℅)
RabidGravy jnthn, I just PRd github.com/jnthn/p6-stomp/pull/2 - simple working pub/sub server :) 21:43
I did it as a PR in case you hated it
moritz submitted a talk about Inline::P{erl5,ython} to PolyConf 21:50
IOninja Man. Turns out GitHub doesn't display true diff! This PR has nbsp between Perl and 6 but both Firefox and Chrome give me a space in those places: github.com/perl6/doc/pull/1244/files 21:51
moritz++
moritz I wonder if I should propose another talk, this one about MOPs in different languages 21:52
21:55 cdg left 21:58 wamba1 left 22:02 cdg joined
IOninja Compilation examples just check they compile and not the output? 22:03
the docs test I mean 22:04
RabidGravy jnthn, I plan to expose the subscribe/unsubscribe as supplies too, so more complex delivery semantics can be implemented, haven't decide how to expose authentication 22:05
IOninja m: printf '%#.5o', 92352;
camelia 0264300
IOninja why does that have a leading zero? A bug?
RabidGravy the transactions I will implement in the connection class 22:06
IOninja oh, I can check with Perl 5
tis there as well
RabidGravy anyway toodles all 22:07
IOninja \o 22:08
oh, in P5 it's an octal number and looks like we just copied that.... :S
Or maybe that's by design :S
IOninja just gonna open a doc issue 22:09
22:12 RabidGravy left
moritz ok, MOP propsoal submitted too 22:17
I just hope they won't approve it, I'd have to do a huge amount of research to actually deliver on it :-)
ss/on // 22:18
mst LOL 22:20
mst wonders if he can bribe an organiser
IOninja :D 22:21
SmokeMachine m: say 0 ?? "bla !! ble" 22:23
camelia 5===SORRY!5=== Error while compiling <tmp>
Your !! was gobbled by the expression in the middle; please parenthesize
at <tmp>:1
------> 3say 0 ?? "bla !! ble"7⏏5<EOL>
SmokeMachine IOninja: inst this message strange too? 22:24
*isn't
IOninja hah
m: say 0 ?? "bla"
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused: Found ?? but no !!
at <tmp>:1
------> 3say 0 ?? "bla"7⏏5<EOL>
22:24 Sound joined
IOninja SmokeMachine: a bit yeah 22:25
SmokeMachine IOninja: it searches for !! or ‼ con what was matched on EXPR
IOninja mhm
liAealneDx m: say 0 ?? "bla !! ble" !! 42 22:26
camelia 42
liAealneDx m: say 0 ?? "bla !! ble"
camelia 5===SORRY!5=== Error while compiling <tmp>
Your !! was gobbled by the expression in the middle; please parenthesize
at <tmp>:1
------> 3say 0 ?? "bla !! ble"7⏏5<EOL>
IOninja SmokeMachine: well, it might not be worth it to fix that case, just because it's so rare and the message isn't too far off.
OTOH...
SmokeMachine but it does that only if i didn't find the !!..
IOninja m: say 0 ?? "bla !! 'bleh'; say 42; say 'meow'; say "hi" 22:27
camelia 5===SORRY!5=== Error while compiling <tmp>
Your !! was gobbled by the expression in the middle; please parenthesize
at <tmp>:1
------> 3bla !! 'bleh'; say 42; say 'meow'; say "7⏏5hi"
expecting any of:
infix
infix…
IOninja shrugs
Unclosed quote here... no idea how easy it is to fix and if it's worth it.
IOninja goes away for the night
SmokeMachine IOninja: what do you think? what should I do? 22:28
IOninja SmokeMachine: dunno :)
22:28 gdonald left, gdonald joined
SmokeMachine IOninja: I think Ill try to fix that (probably it will take some time) but will finish the →{} and try o convince you to pull that in parallel... :) 22:30
22:30 kalkin- left
IOninja SmokeMachine: I'm advance-voting as "abstaining" on the →{} PR. You'll have to convince another dev :) 22:31
SmokeMachine liAealneDx: are you there? :P
liAealneDx yes
22:31 cyphase left
SmokeMachine liAealneDx: would you? 22:31
liAealneDx SmokeMachine: well, I'm not a core dev, but I'm all for → 22:32
(and ↔)
SmokeMachine IOninja: ok, you'll vote as abstaining... but why do you don't think thats a good idea? 22:33
liAealneDx SmokeMachine: if I were you, I'd submit a PR and see what happens. If it is rejected, fine! But without an actual PR we would be discussing it to death 22:34
SmokeMachine liAealneDx: you had seen more stuff to do there, didn't you? 22:35
liAealneDx SmokeMachine: what do you mean?
SmokeMachine liAealneDx: you sad something about why somewhere is only matching → and not ↔... 22:36
liAealneDx oh, I believe IOninja++ fixed it already
let's see
22:36 Actualeyes left
liAealneDx SmokeMachine: yes: github.com/rakudo/rakudo/commit/93...995aa14bc4 22:37
SmokeMachine: which means that your patch should change one line less… ;)
SmokeMachine :)
22:38 BenGoldberg left
liAealneDx SmokeMachine: and this, yes, is something you have to research: github.com/rakudo/rakudo/blob/nom/....nqp#L5757 22:38
SmokeMachine about the ??!! bug... I think this solve "another bug": github.com/FCO/rakudo/commit/ee488...2a2141b4dc 22:39
liAealneDx SmokeMachine: thing is, IOninja is right when he says that he does not want to deal with bugs (and any other related effort) that may arise from these changes
22:40 Voldenet left
liAealneDx SmokeMachine: for example, you added ⁇‼ but this is still open: github.com/perl6/doc/issues/1228 22:40
SmokeMachine m: say 0 ⁇ 1 ?? 2 ⁇ 3 ?? 4 !! 5 ‼ 6 !! 7 !! 8 # <- the error says !! but it should be ‼ (that what that branch fixes...) 22:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Your !! was gobbled by the expression in the middle; please parenthesize
at <tmp>:1
------> 3say 0 ⁇ 1 ?? 2 ⁇ 3 ?? 4 !! 5 ‼ 6 !! 77⏏5 !! 8 # <- the error says !! but it shou
expecting…
SmokeMachine liAealneDx: I should try to write that... but my english is terrible... 22:42
liAealneDx SmokeMachine: there's nothing to write. Currently the problem is that it is not searchable
22:42 kurahaupo__ left
SmokeMachine liAealneDx: that I could try! 22:42
liAealneDx SmokeMachine: for example, this is what I did for ≤≥≠: github.com/perl6/doc/pull/1234/files 22:43
SmokeMachine cloning... 22:44
22:44 kurahaupo__ joined 22:46 Voldenet joined, Voldenet left, Voldenet joined
SmokeMachine u: ⁇‼ 22:47
unicodable6 SmokeMachine, U+2047 DOUBLE QUESTION MARK [Po] (⁇)
SmokeMachine, U+203C DOUBLE EXCLAMATION MARK [Po] (‼)
22:49 Actualeyes joined
SmokeMachine liAealneDx: something like this? github.com/FCO/doc/commit/5ef24f3b...28933afbdb 22:51
liAealneDx SmokeMachine: yea, better than nothing 22:52
SmokeMachine: I mean, this will resolve the issue for sure
but I don't know if there's anything else that could be added there 22:53
Geth doc: FCO++ created pull request #1249:
Docs for ⁇ ‼ unicode op
liAealneDx hmmmmm I wonder what's going to happen with search because of X<Ternary operator>, X<conditional operator>. 22:54
SmokeMachine :(
I don't know how the search works... :( 22:55
liAealneDx SmokeMachine: type “conditional operator” in search and see what happens
SmokeMachine: also, you can build docs locally and test it out
SmokeMachine Ill do that! 22:56
htmlfy.p6?
htmlify.p6?
liAealneDx make
SmokeMachine ok, running...
liAealneDx instructions in README
SmokeMachine thanks! sorry... 22:57
IOninja SmokeMachine: because we have 1,500 bug tickets. The queue grew by about 40% in size since I joined Perl 6. And instead of fixing any bugs this work just adds more "features" instead of trying to knock the queue down. The "it's that way in all software" is an excuse, not a rationalle. Bugs should get priority over new features but we poorly follow that principle. And I didn't invent it. It's step 5 in this 22:59
neat article: www.joelonsoftware.com/2000/08/09/...tter-code/
samcv yeah that's a good one IOninja 23:00
IOninja Oh. I recall reading it last time and we didn't pass #2... Now we more-or-less can
IOninja pats self on the back :) 23:01
Well, not yet I guess. Since Rakudo Star isn't automated.
IOninja depats self
IOninja &
23:01 setty1 left
SmokeMachine IOninja: I think you are right... next time Ill try to get a bug to solve... I already tried... but it was much more difficult for me... 23:02
23:02 cyphase joined
SmokeMachine IOninja: I just don't have enough knowledge to solve most of the bugs... 23:03
liAealneDx SmokeMachine: I think many [LTA] issues are more or less easy 23:05
buggable: tag LTA
buggable liAealneDx, There are 155 tickets tagged with LTA; See perl6.fail/t/LTA for details
23:11 Sound left 23:14 ufobat left 23:15 geekosaur left 23:16 geekosaur joined 23:29 kurahaupo__ left 23:38 pmurias left 23:42 BenGoldberg joined
TimToady now thinks, since he's back from vacation and mean-spirited again, that adding ⁇‼ was probably a bad idea, at least until it can be demonstrated that somebody's autocorrect is autocorrecting ??!! to that 23:50
TimToady also agrees with the technical debt arguments here 23:51