Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-03-14

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:06 cog_ joined #perl6
00:20 samcv nice i found this patent
00:20 samcv "Method and apparatus for providing an iteration operator for an object instance in a dynamically typed language "
00:20 samcv thanks Java
00:22 BenGoldberg Is java dynamically typed?
00:23 samcv i don't think. but they patented iteration in a dynamically typed langueage
00:23 samcv the patent is pretty vague
00:23 samcv so i'm sure many language '''infringe''' on it
00:23 samcv https://www.google.com/patents/US20030101433
00:24 samcv their diagrams are really weird. like they hardly make sense to me at all
00:25 samcv well one of them is a control flow type thing the other ones seem to just have been added to have more pictures
00:34 rindolf joined #perl6
00:38 Cabanossi joined #perl6
00:43 geekosaur java is "dynamically typed" to the extent that an object may be an instance of a subclass instead of the declared class
01:01 liAealneDx huggable: save me from texas
01:01 huggable liAealneDx, https://gist.github.com/Alex​Daniel/c89bd2786f9b63f31e4c
01:01 liAealneDx huggable: save me from texas :is: https://github.com/rakudo/ra​kudo/wiki/save-me-from-texas
01:01 huggable liAealneDx, Added save me from texas as https://github.com/rakudo/ra​kudo/wiki/save-me-from-texas
01:07 aborazmeh joined #perl6
01:07 aborazmeh joined #perl6
01:08 Cabanossi joined #perl6
01:16 liAealneDx huggable: save me from texas :is: 🌟 🌟 🌟 → → → https://github.com/rakudo/ra​kudo/wiki/save-me-from-texas ← ← ← 🌟 🌟 🌟
01:16 huggable liAealneDx, Added save me from texas as 🌟 🌟 🌟 → → → https://github.com/rakudo/ra​kudo/wiki/save-me-from-texas ← ← ← 🌟 🌟 🌟
01:16 liAealneDx ;)
01:23 liAealneDx (and as always, copy everything before saving the page!)
01:35 kyan joined #perl6
01:36 BenGoldberg m: say ¬ 'looks like a gun, no?'
01:36 camelia rakudo-moar d232f3: OUTPUT: «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␤       …»
01:37 BenGoldberg m: say ¬('looks like a gun, no?')
01:37 camelia rakudo-moar d232f3: OUTPUT: «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␤     …»
01:37 BenGoldberg m: say '¬'
01:37 camelia rakudo-moar d232f3: OUTPUT: «¬␤»
01:37 BenGoldberg Oh, it's listed as "want to add"
01:39 geekosaur looks like "not" to me :p
01:39 BenGoldberg If it was supported, camelia would've say "False" ;)
01:43 adu joined #perl6
01:43 colomon joined #perl6
01:45 colomon Do we have a p6 eqivalent of Tie::File?
01:51 cdg joined #perl6
01:54 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:55 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 #perl6
01:57 robinsmidsrod joined #perl6
01:58 BenGoldberg m: my &circumfix:<<⌊ ⌋>> = &floor; say ⌊pi⌋
01:58 camelia rakudo-moar d232f3: OUTPUT: «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⌋
01:59 camelia rakudo-moar d232f3: OUTPUT: «3␤»
02:02 bwisti joined #perl6
02:06 kalkin- joined #perl6
02:09 colomon joined #perl6
02:19 cdg joined #perl6
02:21 cdg_ joined #perl6
02:22 kaushal joined #perl6
02:38 andrzejku joined #perl6
02:38 Cabanossi joined #perl6
02:46 agentzh joined #perl6
02:48 ilbot3 joined #perl6
02:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
03:08 Cabanossi joined #perl6
03:16 adu joined #perl6
03:23 wamba1 joined #perl6
03:34 ZzZombo joined #perl6
03:34 ZzZombo joined #perl6
03:35 colomon joined #perl6
03:38 Cabanossi joined #perl6
03:39 noganex joined #perl6
03:46 colomon joined #perl6
04:03 mr-fooba_ joined #perl6
04:07 Cabanossi joined #perl6
04:16 faraco joined #perl6
04:34 Todd joined #perl6
04:34 Todd Hi All!
04:35 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?
04:35 Todd Hey Sam!
04:36 samcv isn't that what the name of it is?
04:36 samcv m: sub thing { say &?ROUTINE }; thing
04:36 camelia rakudo-moar d232f3: OUTPUT: «sub thing () { #`(Sub|58540128) ... }␤»
04:36 samcv m: sub thing { say &?ROUTINE.name }; thing
04:36 camelia rakudo-moar d232f3: OUTPUT: «thing␤»
04:36 samcv there you go Todd
04:37 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
04:37 camelia rakudo-moar d232f3: ( no output )
04:37 geekosaur (but it's also fraught with edge cases because not all frames represent subs)
04:39 Todd testing
04:40 Todd worked.  Thank you!
04:42 Todd Why is this giving me a bad time?
04:42 Todd &?ROUTINE ~~ m/' '(.*?)' '\(/;
04:42 Todd No such method 'match' for invocant of type 'Sub'
04:43 samcv use &?ROUTINE.name
04:43 samcv otherwise you get a sub object not a string
04:43 Todd Oh you betcha I will.  I want the match for my file on match
04:44 Todd should I assign it to a string first?
04:44 samcv Todd, so you're doing .name right?
04:44 samcv m: sub thing { &?ROUTINE.name ~~ /(.*)/; say $0 }; thing
04:44 camelia rakudo-moar d232f3: OUTPUT: «「thing」␤»
04:45 samcv it works fine
04:45 samcv but you can't do substitution with s// without assigning it
04:45 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.
04:45 samcv or you can use .subst
04:46 samcv 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"
04:46 samcv .gist is what you get when you get debug type output
04:46 samcv i don't understand the last thing you said
04:48 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
04:49 Todd so anyway, I want how to do a match on &?ROUTINE ~~ m/' '(.*?)' '\(/; properly for my match keeper file
04:49 Todd And, yes, it is mental tourture to an extent
04:49 samcv ok so you want the .gist
04:49 Todd what is a .gist
04:49 Todd ?
04:50 Zeke joined #perl6
04:50 Todd &?ROUTINE.gist   ????
04:50 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 geekosaur > say "foo".gist
04:50 geekosaur er
04:51 geekosaur m: say "foo".gist
04:51 camelia rakudo-moar d232f3: OUTPUT: «foo␤»
04:51 geekosaur m: say "foo".perl
04:51 camelia rakudo-moar d232f3: OUTPUT: «"foo"␤»
04:51 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)
04:52 camelia rakudo-moar d232f3: OUTPUT: «(1 2 3)␤»
04:52 samcv m: say (1,2,3).gist
04:52 camelia rakudo-moar d232f3: OUTPUT: «(1 2 3)␤»
04:52 samcv m: say (1,2,3).perl
04:52 camelia rakudo-moar d232f3: OUTPUT: «(1, 2, 3)␤»
04:52 samcv m: say (1,2,3).Str
04:52 Todd $ perl6 -e 'my $foo="bar"; say $foo.gist; say $foo.perl;'  bar "bar"
04:52 camelia rakudo-moar d232f3: OUTPUT: «1 2 3␤»
04:52 Todd perl6 -e 'say (1,2,3).Str;'  1 2 3
04:53 samcv Str basically flattens the object to a string
04:53 samcv if that makes sense
04:53 Todd so .gist gets reid of all the unprintable stuff that messes with regex's head?
04:53 samcv no
04:53 samcv gist is what was already displayed when you did say &?ROUTINE
04:53 samcv .gist is the default thing, for debug type printing and such
04:54 samcv like hashes if you use say it will call .gist on them
04:54 samcv it's a method that gets called on objects when you use say on them.
04:54 Todd I get the same sting back, well printed anyway, with or without .gist, BUTTTTTTT regex likes .gist
04:54 Todd ou trying to match, what is the string [21:49] <Todd> so anyway, I w
04:55 geekosaur this is more or less the difference between say and print
04:55 Todd ignore that last line
04:55 samcv Todd, well gist turns it into a string
04:55 geekosaur say uses .gist, print uses .Str iirc which may do something else
04:55 samcv say turns it into a string by gisting
04:55 Todd sub Test () { #`(Sub|77521912) ... }
04:55 geekosaur and yes. .gist produces a String
04:55 samcv but if you just do regex on it, it's a sub object not a string
04:55 samcv so in this case you have to explicitly call .gist on it
04:55 Todd that explains it!  Thank you!
04:56 samcv kk
04:56 samcv also you know .WHAT right?
04:56 samcv m: say (1,2,3).WHAT
04:56 camelia rakudo-moar d232f3: OUTPUT: «(List)␤»
04:56 samcv m: say (1,2,3).gist.WHAT
04:56 camelia rakudo-moar d232f3: OUTPUT: «(Str)␤»
04:57 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
04:57 Todd (List)
04:57 Flwyd joined #perl6
04:57 samcv when learning perl6, .WHAT will be very useful
04:57 Todd was that what was suppose to happen
04:58 samcv yep
04:58 samcv it tells you what the type of object is
04:58 Todd I have no idea what (List) means
04:58 samcv that means it has type List
04:58 samcv Str is the string type
04:59 Todd Then it is a "type" I haven't learned yet.  Makes sense
04:59 samcv yeah
04:59 samcv List's are immutable i believe. Arrays are like lists but can be altered
04:59 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?
05:00 samcv uh don't think you can do that
05:00 Flwyd https://design.perl6.org/S06.ht​ml#Declaring_a_MAIN_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.
05:00 samcv but there may be some custom thing you could do, i haven't played around with the special USAGE sub
05:01 samcv so you want to accept an array?
05:01 samcv I would just have it be a string and then .split(',') it
05:01 samcv if you can't take a list (have not tried that before)
05:01 Flwyd yeah, something like sub MAIN(:@foo)
05:01 geekosaur I would expect ... that
05:02 geekosaur 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
05:02 samcv uhm can you use slurpy with MAIN geekosaur
05:03 samcv 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
05:03 Todd Request for Enhancement: on https://docs.perl6.org/language/va​riables#index-entry-%26%3FROUTINE would you add some examples of the modifiers to the variables?  for example:  FILE.IO.basename,  &?ROUTINE.gist, and &?ROUTINE.name ??and
05:04 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
05:05 Todd Thank you guys!  You are something special.  Bye bye
05:06 samcv i'll add some stuff there Todd cause i'm not busy atm
05:06 samcv bye then
05:07 Cabanossi joined #perl6
05:08 samcv !tell .basename is there there https://docs.perl6.org/routine/basename#(IO::Path)_method_basename
05:09 samcv .tell .basename is there there https://docs.perl6.org/routine/basename#(IO::Path)_method_basename
05:09 yoleaux samcv: What kind of a name is ".basename"?!
05:09 hobbs the base kind
05:11 samcv you mean what does it do?
05:12 samcv also why did yoleaux talk to me
05:12 samcv oh
05:12 samcv .tell Todd .basename is there there https://docs.perl6.org/routine/basename#(IO::Path)_method_basename
05:12 yoleaux samcv: I'll pass your message to Todd.
05:12 samcv almost thought the bot had gained intellegence there and was rebelling
05:12 geekosaur well, it ws, but for a reson :p
05:13 geekosaur *reason
05:15 Geth ¦ doc: 02ebcfdcbe | (Samantha McVey)++ | doc/Language/variables.pod6
05:15 Geth ¦ doc: Add documentation on &?ROUTINE.name
05:15 Geth ¦ doc: review: https://github.com/perl6/doc/commit/02ebcfdcbe
05:15 samcv now todd can be happy
05:17 xtreak joined #perl6
05:21 * geekosaur also added a bit more explanation on the list, about having to stringify
05:21 eroux joined #perl6
05:22 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:23 Flwydity joined #perl6
05:26 CIAvash joined #perl6
05:29 travis-ci joined #perl6
05:29 travis-ci Doc build errored. Samantha McVey 'Add documentation on &?ROUTINE.name'
05:29 travis-ci https://travis-ci.org/perl6/doc/builds/210831932 https://github.com/perl6/doc/com​pare/bca510bc5172...02ebcfdcbed4
05:29 travis-ci left #perl6
05:33 faraco geekosaur: type inference FTW.
05:33 faraco :)
05:34 faraco Although sometimes, I'm bit confused with Numeric and Int.
05:41 curan joined #perl6
05:52 Cabanossi joined #perl6
05:54 samcv oh no wondfer it failed
05:54 samcv ugexe changed the error codes if something is already installed
05:55 Geth ¦ doc: 7509ab818a | (Samantha McVey)++ | .travis.yml
05:55 Geth ¦ doc: Remove unneeded zef install line
05:55 Geth ¦ doc:
05:55 Geth ¦ doc: Pod::To::HTML is already installed by previous commands and does not
05:55 Geth ¦ doc: need to be reinstalled.
05:55 Geth ¦ doc: review: https://github.com/perl6/doc/commit/7509ab818a
06:17 Actualeyes joined #perl6
06:26 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:39 Flwyd perl6 -e 'sub MAIN(:@foo) { say @foo.elems }' --foo=1,2,3                                 Usage:
06:39 Flwyd -e '...' [--foo=<Positional>]
06:39 yoleaux 06:26Z <CIAvash> Flwyd: You can do 「sub MAIN (:@foo) {}」 and then use it with 「script.p6 --foo=1 --foo=2 --foo=3」
06:40 Flwyd oh, hrm, --foo=1 --foo=2 --foo=3 seems to work now, not sure what was wrong befor
06:42 Flwyd Ah, a typed array doesn't work.
06:42 Flwyd perl6 -e 'sub MAIN(Int :@foo) { say @foo.elems }' --foo=1 --foo=2 --foo=3 # only woks if you remove Int
06:46 travis-ci joined #perl6
06:46 travis-ci Doc build errored. Samantha McVey 'Remove unneeded zef install line
06:46 travis-ci https://travis-ci.org/perl6/doc/builds/210837320 https://github.com/perl6/doc/com​pare/02ebcfdcbed4...7509ab818a33
06:46 travis-ci left #perl6
06:47 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:48 Flwyd My real use case is existing files, so a "where the file exists" subset might be the best approach
06:50 RabidGravy joined #perl6
06:58 ufobat joined #perl6
06:58 domidumont joined #perl6
07:00 faraco joined #perl6
07:00 faraco joined #perl6
07:05 domidumont joined #perl6
07:19 wamba1 joined #perl6
07:22 RabidGravy boom!
07:24 faraco o/
07:24 bjz joined #perl6
07:32 [ptc] \o
07:37 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 samcv since i don't think the script changed
07:38 agentzh joined #perl6
07:52 dct joined #perl6
07:52 Cabanossi joined #perl6
07:54 koki1 joined #perl6
08:08 vendethiel- joined #perl6
08:10 brrt joined #perl6
08:12 brrt left #perl6
08:14 imcsk8 joined #perl6
08:14 cibs joined #perl6
08:21 abraxxa joined #perl6
08:22 Cabanossi joined #perl6
08:24 xtreak joined #perl6
08:25 xtreak_ joined #perl6
08:27 * lizmat clickbaits https://p6weekly.wordpress.com/2​017/03/13/2017-11-tidy-da-tags/
08:31 * 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:32 kent\n joined #perl6
08:39 tadzik I got baited /o\
08:41 DrForr Et tu, tadzik?
08:42 tadzik yup :(
08:42 tadzik I always get baited by weekly
08:43 moritz weekly baits are the best baits
08:45 DrForr I would make a joke involved with mastery, but that would be rather crude.
08:47 * tadzik giggles
08:54 DrForr . o ( "Why, many many people say that I am a real crepe artist." )
08:55 dakkar joined #perl6
09:00 rindolf joined #perl6
09:00 g0d355__ joined #perl6
09:14 eiro joined #perl6
09:25 travis-ci joined #perl6
09:25 travis-ci Doc build passed. Samantha McVey 'Remove unneeded zef install line
09:25 travis-ci https://travis-ci.org/perl6/doc/builds/210837320 https://github.com/perl6/doc/com​pare/02ebcfdcbed4...7509ab818a33
09:25 travis-ci left #perl6
09:28 lizmat looks like there is no Perl 6 presence here yet: https://eventil.com/events/​polyconf-17/submissions/new
09:28 lizmat any takers ?
09:29 eiro :))
09:29 lizmat travel and stay seem to be included in the price if your talk is accepted
09:29 eiro i just sent a mail on the list about it
09:29 eiro lizmat o/
09:29 lizmat eiro: yes, and I'm retweeting as it were  :-)
09:29 lizmat eiro++ for noting!
09:30 eiro oh cool so it wasn't a coincidence
09:30 lizmat that we should do something about it  :-)
09:30 eiro sure! also i'm trying to introduce perl6 in sympa during the hackathon
09:31 eiro could be nice to have more parts of sympa written in perl6
09:31 xtreak joined #perl6
09:33 lizmat eiro: it would  :-)
09:33 lizmat afk for a few hours&
09:33 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:35 moritz is lizmat on twitter now?
09:36 moritz also, is there a proper CFP for the polyconf?
09:38 eiro this chan is our twitter :)
09:45 IOninja Happy π day! \o/
09:53 samcv lizmat, can you put on p6weekly that case insensitive regex is 30% faster?
09:56 * moritz can tweet about it
09:57 IOninja My measurements showed 60% faster for large text when match occurs soon enough.
09:57 IOninja 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)
09:59 IOninja 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»
09:59 IOninja c: 2017.02 my $x = 'abcdefghigklm' x 100; for ^100_000 { $ = $x ~~ m:i/HIG/ }; say now - INIT now
09:59 samcv that op only foldcases as much as it has to
09:59 committable6 IOninja, ¦2017.02: «7.56929078»
09:59 rba_ joined #perl6
09:59 samcv but my test of a short string showed 30%
09:59 IOninja m: say 7.569/4.603
09:59 camelia rakudo-moar d232f3: OUTPUT: «1.644362␤»
09:59 IOninja 64%
09:59 samcv so 30% - 60% sounds fine
09:59 IOninja c: HEAD my $x = 'abcdefghigklm' x 100; for ^100_000 { $ = $x ~~ m:i/blarg/ }; say now - INIT now
09:59 samcv always sounds good when you say things got faster :)
09:59 committable6 IOninja, ¦HEAD(d232f3c): «5.0397881»
09:59 IOninja c: 2017.02 my $x = 'abcdefghigklm' x 100; for ^100_000 { $ = $x ~~ m:i/blarg/ }; say now - INIT now
10:00 committable6 IOninja, ¦2017.02: «6.4687407»
10:00 IOninja m: say 6.468/5.040
10:00 camelia rakudo-moar d232f3: OUTPUT: «1.283333␤»
10:00 IOninja and 30% faster when the match wasn't present
10:00 moritz m: say (6.5 - 5) / 6.5
10:00 camelia rakudo-moar d232f3: OUTPUT: «0.230769␤»
10:01 IOninja oh
10:02 IOninja m: say (7.569-4.603)/7.569
10:02 camelia rakudo-moar d232f3: OUTPUT: «0.391862␤»
10:02 IOninja moritz: is that the proper way to get percetange faster?
10:03 samcv you divide it over the old number. that makes sense
10:03 moritz IOninja: yes
10:05 kaushal joined #perl6
10:06 vendethiel joined #perl6
10:08 IOninja m: say 1-4.603/7.569
10:08 camelia rakudo-moar d232f3: OUTPUT: «0.391862␤»
10:08 IOninja ok
10:14 IOninja Great. Now I'm being trolled on Twitter in French...
10:14 IOninja Good. Looks like Perl 6 is spreading :)
10:18 Geth ¦ ecosystem: 1ba760508e | (Jonathan Worthington)++ | META.list
10:18 Geth ¦ ecosystem: Add App::InstallerMaker::WiX application.
10:18 Geth ¦ ecosystem:
10:18 Geth ¦ ecosystem: https://github.com/jnthn/p6-app-installermaker-wix
10:18 Geth ¦ ecosystem: review: https://github.com/perl6/e​cosystem/commit/1ba760508e
10:20 IOninja jnthn++ cool
10:21 jnthn It'll probably earn another feature or two yet
10:22 jnthn But gave me a working MSI :)
10:23 IOninja \o/
10:28 xtreak joined #perl6
10:33 wamba joined #perl6
10:36 tadzik Applies candle and light
10:36 masak tadzik: ww? :)
10:36 tadzik damn, good that there's no sacrifice and pentagrams involved :o Jokes aside, looks great :D
10:36 tadzik masak: no, straight from the readme :P
10:37 masak hah
10:37 tadzik that was not a prelude for “I put on my robe and wizard hat”, no :P
10:37 masak tadzik: here I was convinced that you were having an intimate privmsg with someone :P
10:38 tadzik dirty mind :o
10:38 tadzik ;)
10:38 masak clearly
10:38 moritz not dirty, just primed
10:38 masak thank you, moritz
10:39 tadzik hehe
10:39 samcv nice jnthn
10:40 IOninja m: ".".IO.append: "foo"
10:40 camelia rakudo-moar d232f3: OUTPUT: «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␤␤»
10:40 IOninja Since .append is not used by IO::Path, would it be terrible if it were repurposed? Basically, doing what .child() currently does.
10:40 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)
10:41 IOninja moritz: what about cocaine?
10:41 masak moritz: Europe is a lot less uptight/neurotic about sex than the US, though.
10:41 masak moritz: also, you forgot about violence being glorified.
10:42 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
10:42 masak tadzik: right, it just means something needs washing, no? :P
10:42 moritz IOninja: I don't whitness any glorification of cocaine consumption, so I have no issue with that
10:42 IOninja :)
10:43 IOninja Any opinion on .append() then?
10:43 masak moritz: you missed a golden opportunity to say "no thanks, I'm good here" :P
10:43 moritz masak: :-)
10:43 moritz masak: re violence, you're right, but at least there's a lot more awareness for this kind of thing here in .de
10:43 tadzik masak: TV and cinema's definition of acceptable is really wacky, yeah
10:44 kaushal joined #perl6
10:44 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 tadzik a man's death and suffering is just bread and butter
10:45 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
10:46 masak just google it
10:46 DrForr tadzik: s/ass/butt/g
10:46 tadzik ah :D
10:46 masak the failure was in not putting in the requisite \b anchors
10:46 ilmari m: S:g/ass/butt/ given "assassination"
10:46 camelia rakudo-moar d232f3: ( no output )
10:46 ilmari m: say S:g/ass/butt/ given "assassination"
10:46 camelia rakudo-moar d232f3: OUTPUT: «buttbuttination␤»
10:47 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
10:48 masak tadzik: depends what your quality metric is :P
10:48 tadzik ( ͡° ͜ʖ ͡°)
10:48 aindilis joined #perl6
10:48 masak (shoutout to Tim Minchin's song "My Neighbour's Ass")
10:49 raydiak joined #perl6
10:49 IOninja .oO( .cat-with() maybe... )
10:55 itaipu joined #perl6
10:57 lizmat samcv: done
10:57 lizmat afk again&
11:07 Cabanossi joined #perl6
11:12 wamba1 joined #perl6
11:12 kaushal joined #perl6
11:15 pmurias joined #perl6
11:16 pmurias IOninja: re tags blog post, aren't descriptive hierarchical names something we should preserve?
11:22 IOninja Not in my opinion
11:23 kaushal joined #perl6
11:23 IOninja I don't want to type 57 characters every time I use your module.
11:23 jantore joined #perl6
11:24 IOninja That's the sole reason Alias or whatever its name in Perl 5 exists.
11:24 IOninja And Perl 5's ecosystem proves preserving heirarcial names is a futile effort
11:25 IOninja So at the end, you still end up with normal names and annoyingly long names.
11:25 IOninja If you can't beat them, join 'em. We have tags. Keep names short and to the point.
11:29 pmurias most of the Perl5 modules have a lot better ones then the rubbish non-descriptive ones in ruby
11:30 jast you mean like POE, Moo, Moose, Mouse, Mojolicious, LWP, Plack, Dancer, Catalyst?
11:31 tadzik LWP is a particularly good example, because it actually is descriptive
11:31 tadzik at least the W part, L and P are just redundant :P
11:33 pmurias jast: the frameworks have non-descriptive names but a lot of modules have names like Term::ANSIColor
11:33 IOninja :)
11:33 pmurias or Digest::MD4
11:33 itaipu_ joined #perl6
11:34 gdonald joined #perl6
11:34 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
11:34 jnthn Like when I was considering what to call my libssh binding
11:35 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 :)
11:36 jnthn Or at least, they can add that :P
11:36 jnthn I do kinda wish I'd just gone with GTK rather than GTK::Simple though :)
11:36 IOninja Anyone else can still release SSH::LibSSH::Async
11:36 tadzik heh, the Simple curse :P
11:36 tadzik it's related to the "temporary solution" thingy
11:36 tadzik (fallacy? :P)
11:36 jnthn Yeah, DBIish is the other infamous one we have :)
11:37 jnthn "Let's not call it DBI so somebody can do the real one later"
11:37 jnthn It's probably half a decade later by now :)
11:37 jnthn And lots of folks have put effort into both of these modules :)
11:38 jnthn (Both DBIish and GTK::Simple, I mean)
11:40 pmurias IOninja: looking at your pagerank example, CPAN has both Algorithm::PageRank and WWW::Google::PageRank
11:40 agentzh joined #perl6
11:40 tadzik well, that may come from "I want to do the other one but the name is taken"
11:40 tadzik we did AI::NaiveBayes because the Algorith::NaiveBayes was taken
11:41 tadzik or did we do the other one and... um
11:42 IOninja pmurias: I'm not following your point.
11:43 IOninja Name your modules whatever you want.
11:43 IOninja I don't care
11:44 IOninja 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
11:44 tadzik this was about tags?
11:46 jnthn I think it started there
11:46 * jnthn agrees with IOninja fwiw
11:47 tadzik I don't see a reason to not have both, good names *and* tags
11:47 lizmat one can actually have two sheds
11:48 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:53 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
11:54 tadzik things like this always remind me of gtk_tree_model_filter_convert_iter_to_child_iter()
11:54 tadzik where you cast the first argument to GTK_TREE_MODEL_FILTER()
11:54 tadzik on the other hand, it's been 10 years and I still remember it
11:55 pmurias IOninja: I fully support tags
12:07 Cabanossi joined #perl6
12:16 raschipi joined #perl6
12:17 rindolf joined #perl6
12:20 abraxxa joined #perl6
12:25 lukaramu joined #perl6
12:29 xtreak joined #perl6
12:30 bdmatatu joined #perl6
12:33 Sound joined #perl6
12:35 edehont joined #perl6
12:41 tbrowder IOninja: do you consider a tag set for a new module immutable forever?
12:41 tbrowder or can we refine them based on community response?
12:42 tbrowder or maybe keep origina tags but allow new ones to be added?
12:46 EricMobiel joined #perl6
12:50 itaipu joined #perl6
12:52 Cabanossi joined #perl6
12:53 pmurias tbrowder: if the tags are defined in the module META6.json aren't they per module version?
12:54 kaushal joined #perl6
12:56 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:57 IOninja ???
12:57 DrForr IOninja: Responded to you and FakeUnicode :)
12:57 IOninja They're perfectly mutable.
12:58 IOninja Without any deprecations or pain.
12:58 IOninja DrForr++ very nice.
12:58 tbrowder tags or names or both?
12:58 IOninja tbrowder: tags
12:59 tbrowder ah! okay then! i can live with that!
13:00 mcmillhj joined #perl6
13:03 cibs joined #perl6
13:12 aborazmeh joined #perl6
13:12 aborazmeh joined #perl6
13:24 itaipu joined #perl6
13:25 j75 joined #perl6
13:28 IOninja DrForr: BTW your invisible times op has wrong precedence :P
13:29 DrForr Sigh.
13:31 IOninja If it makes you feel better, I made the same mistake here: https://twitter.com/zoffix​/status/841641606948278272 even after wondering why making ≡ looser than &[*] wasn't producing right results :)
13:32 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:33 DrForr Though I probably should...
13:34 lukaramu_ joined #perl6
13:34 gdonald joined #perl6
13:35 IOninja Hehe, well, you're not wrong. Here's a person snarking at impossible-to-type-with-keyboard π :) https://twitter.com/javerou​s/status/841614348313325568
13:37 DrForr And this is coming from Julien Avérous.
13:37 IOninja Who's he?
13:37 jnthn How dare he have a name that's non-ASCII. :P
13:37 DrForr The person who tweeted that coment. My point being his last name.
13:37 IOninja heh
13:37 IOninja Ah :) Yeah lol
13:40 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:41 gfldex I know there was a secret plot behind Perl 6!
13:41 gfldex *knew
13:41 DrForr TINC
13:50 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 dopelord83 joined #perl6
13:51 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 #perl6
13:53 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:55 IOninja .concat-with() kinda works, but too long
13:57 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:58 bdmatatu .relative() ?
13:59 IOninja bdmatatu: no good. That method is already in use and it doesn't really convey the operation performed IMO
14:01 IOninja gfldex: I'm not following..
14:03 gfldex my $unsafe = ($some-path ~ "../../secret").IO
14:04 gfldex concat with a primitive does change a Path into a primitive and requires an explicit operation already
14:04 gfldex and that is good
14:05 gfldex I do agree that .child() should be safe by default
14:06 IOninja OK
14:07 IOninja 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:08 IOninja 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 itaipu joined #perl6
14:09 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:10 jnthn *language's standard library
14:10 gfldex I may be desireable to get the raw input Str back out of a IO::Path
14:10 gfldex *it
14:10 IOninja gfldex: that's .path
14:10 gfldex good
14:10 IOninja And currently it just does method Str{ $!path }
14:11 IOninja Thanks for the input \o
14:12 ugexe maybe mention if someone wants cwd taken into account they should use .relative or .absolute (which return Str)
14:13 IOninja Why does it tho?
14:14 ugexe why does Str return the original input? or do .relative and .absolute return Str?
14:14 donaldh joined #perl6
14:14 IOninja Why do .relative and .absolute return Str?
14:15 IOninja 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
14:15 ugexe which both makes sense and doesn't
14:16 ugexe 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:17 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 IOninja ugexe: PR where?
14:18 ugexe https://github.com/rakudo/rakudo/pull/666
14:18 IOninja Ah.
14:18 SmokeMachine hi there! does anyone think that it would be acceptable? (https://github.com/FCO/rakudo/commit/8d​54440865c7570e9cff1c84991e3bcde1fa46ff) im running the spec tests now...
14:19 cdg joined #perl6
14:20 IOninja ffs
14:20 IOninja So we're doing new weird Unicode stuff every week now?
14:20 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
14:21 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"...
14:21 SmokeMachine moritz: ^^
14:22 MasterDuke also, re '...' in paths, i have an open PR https://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 :-)
14:22 IOninja SmokeMachine: I very much rather all this stuff is done in a module first.
14:22 SmokeMachine the spec tests passed (only t/spec/S17-supply/watch-path.t failed, but I ran only this one and passed)
14:23 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)
14:23 SmokeMachine moritz: maybe not... :( (thats why am asking here...)
14:24 MasterDuke ugexe: it's just for .resolve
14:24 SmokeMachine IOninja: so, you think I shouldn't PR that?
14:26 SmokeMachine (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
14:26 SmokeMachine *rakudo
14:26 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 '↔')).
14:27 IOninja 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!
14:28 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:29 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
14:29 camelia rakudo-moar d232f3: OUTPUT: «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␤        …»
14:29 SmokeMachine I'll save this commit into my fork... ill try again after I solve the ⁇‼ bug...
14:30 SmokeMachine IOninja: thanks!
14:30 IOninja ^ my !! wasn't gobbled. I merely used !! instead of ‼
14:31 SmokeMachine IOninja: so, it should be an error, but with different message?
14:32 IOninja Yes.
14:32 donaldh joined #perl6
14:32 SmokeMachine what should be the message?
14:32 cdg joined #perl6
14:32 IOninja Dunno. Something that lets me fix my code. In this case, if I'm not mistaken, the last !! should be a ‼
14:33 SmokeMachine ok... Ill try to get when it occur and think on the message after that...
14:34 itaipu_ joined #perl6
14:56 wamba1 joined #perl6
14:58 SmokeMachine IOninja: I took some time but I got whats wrong!
14:58 BenGoldberg joined #perl6
14:59 liAealneDx joined #perl6
14:59 IOninja Sweet.
15:00 IOninja lizmat: your bot's broken
15:00 IOninja I mean...
15:00 IOninja liAealneDx: your bot's broken
15:00 liAealneDx \o/
15:00 * lizmat was wondering  :-)
15:00 liAealneDx :S
15:00 IOninja liAealneDx: just got hung by `c: a9c5196~1,a9c5196 for ^1000_000 { $ = 42 min 4 }; say now - INIT now`
15:01 liAealneDx wow
15:01 liAealneDx weird
15:01 IOninja even tho that's supposed to take like 2-3 seconds
15:02 committable6 joined #perl6
15:02 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»
15:02 liAealneDx :o
15:02 IOninja heh
15:02 liAealneDx c: a9c5196~1..a9c5196 for ^1000_000 { $ = 42 min 4 }; say now - INIT now
15:02 committable6 liAealneDx, ¦a9c5196: «0.4727108» ¦7bebec0: «0.45570207»
15:02 liAealneDx 🤷
15:02 itaipu joined #perl6
15:04 IOninja .oO( a ghost in the machine... one day a robot will even have dreams! )
15:07 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:08 IOninja MasterDuke: you have a robo-message in #perl6-dev :)
15:09 liAealneDx what is a9c5196~1 exactly?
15:09 liAealneDx c: a9c5196~1 say $*VM.version
15:09 committable6 liAealneDx, ¦a9c5196~1: «v2017.02.38.g.58457845»
15:09 MasterDuke c: a9c5196~1,a9c5196 for ^1000_000 { $ max= 42 }; say now - INIT now
15:09 IOninja liAealneDx: that's "1 commit before a9c5196" innit?
15:09 committable6 MasterDuke, ¦a9c5196~1: «1.0459089» ¦a9c5196: «0.7141848»
15:09 MasterDuke IOninja: ^^^
15:10 IOninja $*VM gives you MoarVM's version, you want $*PERL.compiler.version
15:10 liAealneDx IOninja: yea, just wanted to see the hash too
15:10 liAealneDx aaah
15:10 liAealneDx damn
15:10 liAealneDx c: a9c5196~1 say $*PERL.compiler.version
15:10 committable6 liAealneDx, ¦a9c5196~1: «v2017.02.235.g.7.bebec.08.e»
15:10 IOninja m: say 1-.714/1.045
15:10 camelia rakudo-moar d232f3: OUTPUT: «0.316746␤»
15:11 liAealneDx IOninja: ah ok, now I know. Something was using this build before and forgot to remove it
15:11 IOninja Ah
15:11 liAealneDx so committablle was thinking that something else is using it and got stuck waiting…
15:11 IOninja MasterDuke: I'm just adding stuff to Changes file and want it to be accurate....
15:11 liAealneDx yes, something is broken, but yea, I'm aware of that thing
15:11 liAealneDx thank you for your report!
15:13 MasterDuke IOninja: oddly, `{ $ = 42 min 4 }` doesn't even have infix:<min> in the profile
15:13 IOninja oh
15:13 MasterDuke but `{ $ min= 42 }` does
15:13 IOninja m: say [&infix:<min>.prec, &infix:<=>.prec ]
15:14 camelia rakudo-moar d232f3: OUTPUT: «[{assoc => list, prec => k=} {prec => e=}]␤»
15:14 MasterDuke oh, probably a compile time thing
15:14 IOninja c: a9c5196~1,a9c5196 for ^1000_000 { $ = (42 max 2) }; say now - INIT now
15:14 committable6 IOninja, ¦a9c5196~1: «0.4498478» ¦a9c5196: «0.44798075»
15:14 MasterDuke c: a9c5196~1,a9c5196 for ^1000_000 { $ = (42 max $_) }; say now - INIT now
15:14 committable6 MasterDuke, ¦a9c5196~1: «0.8896066» ¦a9c5196: «0.4745108»
15:15 kaushal joined #perl6
15:15 IOninja there we go
15:15 IOninja m: say 1-.4745/.08896
15:15 camelia rakudo-moar d232f3: OUTPUT: «-4.333858␤»
15:15 IOninja wat
15:15 IOninja oh
15:15 IOninja m: say 1-.4745/.8896
15:15 MasterDuke m: say (1-.4745)/.08896
15:15 camelia rakudo-moar d232f3: OUTPUT: «0.466614␤»
15:15 camelia rakudo-moar d232f3: OUTPUT: «5.907149␤»
15:16 MasterDuke btw, i based my measurement on the exclusive time for the actual op, not just total times
15:17 IOninja I'll log it as `Made min/max/min=/max= 30%-50% faster"
15:17 IOninja 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.
15:18 MasterDuke yeah, but max/min don't call anything else
15:19 MasterDuke exclusive time == inclusive time for them
15:19 IOninja s: &infix:<max>
15:19 SourceBaby IOninja, Sauce is at https://github.com/rakudo/rakudo/blob/f190​f24/src/core/Any-iterable-methods.pm#L1939
15:20 IOninja looks like it calls infix:<cmp>, no?
15:20 MasterDuke SourceBaby is a bunch of commits behind
15:20 * IOninja notices SourceBaby is stuck on libtomah thing
15:21 MasterDuke https://github.com/rakudo/rakudo/blob/nom/s​rc/core/Any-iterable-methods.pm#L1932-L1952
15:21 MasterDuke the narrower versions just call nqp::cmp
15:22 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
15:23 MasterDuke they're just counted as exclusive to whatever block they're in
15:23 MasterDuke i'm pretty confident about that, but timotimo could probably confirm
15:23 MasterDuke or jnthn
15:25 IOninja OK. Thanks for explaining. I'll log it as 3x faster
15:25 BenGoldberg u: turned
15:25 unicodable6 BenGoldberg, U+018D LATIN SMALL LETTER TURNED DELTA [Ll] (ƍ)
15:25 unicodable6 BenGoldberg, U+019C LATIN CAPITAL LETTER TURNED M [Lu] (Ɯ)
15:25 unicodable6 BenGoldberg, 86 characters in total: https://gist.github.com/2f34​daa0fb6182db5b317b4cb346eb3b
15:26 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:27 MasterDuke and i know things like faster and speedup have some technical definitions, but i don't know what they are
15:28 MasterDuke so as long as you convey that they are faster/better looking/stronger in some way, fine by me
15:29 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:30 MasterDuke Amhdal's (sp?) law strikes again
15:32 abraxxa joined #perl6
15:34 DrForr Amdahl IIRC.
15:35 jast yes
15:37 kst joined #perl6
15:51 zakharyas joined #perl6
15:55 grondilu joined #perl6
15:57 itaipu joined #perl6
15:58 cdg joined #perl6
16:01 sufrostico joined #perl6
16:01 sufrosti1o joined #perl6
16:02 itaipu_ joined #perl6
16:06 sufrostico joined #perl6
16:06 sufrosti1o joined #perl6
16:07 IOninja m: sub infix:<+> is equiv(&[*]) { &CORE::infix:<+>($^a, $^b) }; sub infix:<*> { &CORE::infix:<*>($^a, $^b) }; say 2 + 2 * 5
16:07 camelia rakudo-moar daa71e: OUTPUT: «12␤»
16:07 * IOninja laughs evily
16:09 IOninja 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 rakudo-moar daa71e: OUTPUT: «12␤»
16:09 IOninja Can't programmatically define what the precedence is? The above always gives 12... so seems the BEGIN ... pick isn't working.
16:12 IOninja Oh
16:12 IOninja It's not even calling my ops!
16:12 IOninja I didn't even notice :( my evil laughter was for naught
16:13 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:14 IOninja perlpilot: nuke nqp/MoarVM
16:14 IOninja then try again
16:14 IOninja m: sub infix:<+> is equiv(&[*]) { say "hi"; &CORE::infix:<+>($^a, $^b) }; sub infix:<*> { say "bye"; &CORE::infix:<*>($^a, $^b) }; say 2 + 2 * 5
16:14 camelia rakudo-moar daa71e: OUTPUT: «bye␤hi␤12␤»
16:15 IOninja why does that give 12 instead of 20?
16:15 raiph joined #perl6
16:16 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 rakudo-moar daa71e: OUTPUT: «bye␤hi␤12␤»
16:16 IOninja precendence is busted.
16:16 IOninja I'm guessing due to chaining?
16:17 IOninja 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 rakudo-moar daa71e: OUTPUT: «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␤…»
16:18 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 rakudo-moar daa71e: OUTPUT: «hi␤bye␤20␤»
16:19 IOninja Works with these ops.
16:20 IOninja I guess this will resolve itself when we make it possible for users to do proper chained ops. ¯\_(ツ)_/¯
16:22 Cabanossi joined #perl6
16:24 cdg_ joined #perl6
16:35 bwisti joined #perl6
16:36 mcmillhj joined #perl6
16:38 spebern joined #perl6
16:43 khw joined #perl6
16:43 vike joined #perl6
16:44 espadrine joined #perl6
16:52 mcmillhj joined #perl6
16:55 kurahaupo__ joined #perl6
16:56 skids joined #perl6
17:03 mcmillhj joined #perl6
17:11 vike joined #perl6
17:12 kaushal joined #perl6
17:14 liAealneDx hehe, so true https://xkcd.com/1806/
17:15 liAealneDx in my case it is “space button is AltGr and actual space is on 無変換”
17:15 IOninja .oO( maniac )
17:16 SmokeMachine m: say [+] ( ^20 .grep: *.is-prime ) # <- is that a bug?
17:16 camelia rakudo-moar daa71e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3say [+] ( ^20 .7⏏5grep: *.is-prime ) # <- is that a bug?␤»
17:16 SmokeMachine m: say [+] ^20 .grep: *.is-prime # <- is that a bug?
17:16 camelia rakudo-moar daa71e: OUTPUT: «()␤»
17:17 IOninja heh, looks like it :)
17:17 IOninja m: say sum ^20 .grep: *.is-prime
17:17 camelia rakudo-moar daa71e: OUTPUT: «77␤»
17:17 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
17:17 IOninja m: say [+] (^20).grep: *.is-prime
17:17 camelia rakudo-moar daa71e: OUTPUT: «77␤»
17:18 liAealneDx … but some letters are switched for efficiency!
17:18 IOninja m: say [~] 'a' .uc
17:18 camelia rakudo-moar daa71e: OUTPUT: «A␤»
17:18 IOninja m: say [~] ("a" .uc)
17:18 camelia rakudo-moar daa71e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3say [~] ("a" .7⏏5uc)␤»
17:19 IOninja looks like the grammar for metareduce is missing the part about detached method calls...
17:19 IOninja liAealneDx: btw SmokeMachine was asking for feedback on something that I think interests you: https://irclog.perlgeek.de/​perl6/2017-03-14#i_14261712
17:20 liAealneDx IOninja: ah, thanks
17:20 eroux joined #perl6
17:23 IOninja Filed the above bug https://rt.perl.org/Ticket/Display.html?id=130998
17:24 liAealneDx u: arrow right
17:24 unicodable6 liAealneDx, U+02C3 MODIFIER LETTER RIGHT ARROWHEAD [Sk] (˃)
17:24 unicodable6 liAealneDx, U+02F2 MODIFIER LETTER LOW RIGHT ARROWHEAD [Sk] (˲)
17:24 unicodable6 liAealneDx, 217 characters in total: https://gist.github.com/ce7d​70f96f84f1da83f0c2672e0e9f99
17:28 cdg joined #perl6
17:29 MasterDuke bisectable6: say [~] ("a" .uc)
17:29 bisectable6 MasterDuke, On both starting points (old=2015.12 new=daa71e6) the exit code is 1 and the output is identical as well
17:29 bisectable6 MasterDuke, Output on both points: «===SORRY!=== Error while compiling /tmp/lykOIc3W_U␤Confused␤at /tmp/lykOIc3W_U:1␤------> say [~] ("a" .⏏uc)»
17:30 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
17:31 liAealneDx it's true that there are white arrows, wavy arrows and so on, but there's kinda no reason to pick them
17:31 grondilu_ joined #perl6
17:33 * IOninja reads the save-from-texas-wiki
17:33 IOninja "Why? Because we already support −."
17:33 IOninja 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 liAealneDx well, feel free to move ∕ to questionable things :P
17:34 BenGoldberg m: sub circumfix:<<⌊ ⌋>> { floor $^x }; say ⌊pi⌋;
17:34 camelia rakudo-moar daa71e: OUTPUT: «3␤»
17:34 * IOninja does so
17:35 agentzh joined #perl6
17:36 BenGoldberg Keeping in mind how perl6 is extensible, why not put stuff into a module, experimental::unistuff or whatever?
17:37 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
17:38 liAealneDx because these are not simply unicode equivalents for existing features, but new features entirely
17:39 BenGoldberg Some of them would have to be macros.
17:40 IOninja That wiki scares me.
17:40 IOninja I really hope TimToady brings a voice of reason.
17:40 IOninja Make a deal: fix 100 bugs and you get to add one of those fancy ops :P
17:41 IOninja buggable: tag TOTAL
17:41 buggable IOninja, There are no tickets tagged with TOTAL
17:41 IOninja buggable: tags
17:41 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
17:41 IOninja 1,550 tickets. That's like... 400 more than when I started with Perl 6.
17:41 liAealneDx IOninja: this can be applied to any feature, not just unicode ops
17:41 * BenGoldberg thinks ⁇ ‼ would have been better implemented as macros postcircumfix:<⁇ ‼> rather than mess with the parser.
17:42 liAealneDx BenGoldberg: huh… what?
17:42 BenGoldberg Or something like that.
17:43 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 #perl6
17:45 [Coke] in that particular case, there is buyin from other devs.
17:46 liAealneDx :S
17:46 IOninja liAealneDx: there's no supported way to do it.
17:46 IOninja + 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.
17:48 liAealneDx well, I'd use → ↔ the same day it is implemented, not sure about others :)
17:48 IOninja liAealneDx: that's not an exact parallel, since you CAN do -> and <-> right now without any new features or even modules.
17:49 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...
17:49 liAealneDx IOninja: I mean, right that some features are probably more important than unicode ops
17:49 sufrostico joined #perl6
17:49 sufrosti1o joined #perl6
17:49 [Coke] I agree with IOninja++'s assessment there.
17:49 [Coke] [6~
17:49 [Coke] ... before he said that maybe it was because he was the author. I was one of the users who wanted that feature.
17:50 [Coke] which reminds me: https://github.com/coke/p6-unicode-m​angler/blob/master/bin/mangle.p6#L70
17:51 * [Coke] needs to write an ugly require that says "if you're using rakudo, you have to use *this* version or higher'
17:52 Undercover joined #perl6
17:53 SmokeMachine u: ⌊⌋
17:53 unicodable6 SmokeMachine, U+230A LEFT FLOOR [Ps] (⌊)
17:53 unicodable6 SmokeMachine, U+230B RIGHT FLOOR [Pe] (⌋)
17:55 Cabanossi joined #perl6
17:55 sufrostico joined #perl6
17:55 kaushal joined #perl6
17:55 sufrosti1o joined #perl6
17:58 BenGoldberg m: "PARENTHESIZED STAR".parse-names.say;
17:58 camelia rakudo-moar daa71e: OUTPUT: «Unrecognized character name [PARENTHESIZED STAR]␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
17:58 liAealneDx SmokeMachine: so it's basically a 3-line change, heh
18:01 SmokeMachine liAealneDx: yes...
18:10 IOninja "\\".IO.is-absolute is True on Windows... Probably should be False?
18:11 liAealneDx SmokeMachine: hm, have you seen this also? https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Actions.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:\
18:11 liAealneDx SmokeMachine: also, have you figured out what's the actual meaning of 「<?before '{' | '->' >」 ? For example, why it has no ‘<->’ in there?
18:13 SmokeMachine liAealneDx: not yet... I paused that commit and Im trying to solve the ⁇‼ bug...
18:14 liAealneDx SmokeMachine: ;)
18:14 SmokeMachine liAealneDx: I think Ill have to take a look at those to make it work... :)
18:18 IOninja liAealneDx: have you figured out how to trigger it? The token infix:sym<lambda>
18:19 dj_goku joined #perl6
18:19 liAealneDx IOninja: why are you asking me? It's not my PR :)
18:20 IOninja Don't matter.. Maybe you know.
18:21 SmokeMachine it's not a PR yet! :)
18:23 IOninja Looks like the entire token is always meant to fail
18:26 liAealneDx m: my @a = for 1..3 { $_ }
18:26 camelia rakudo-moar daa71e: OUTPUT: «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␤------>…»
18:26 liAealneDx that's the error that comes out of it
18:28 SmokeMachine looks that the spec tests aren't testing it... everything passed... :(
18:28 IOninja m: my @a = for 1..3 <-> { $_ }
18:28 camelia rakudo-moar daa71e: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    for used at line 1␤␤»
18:28 liAealneDx wait, so one of my questions was why is there no <->
18:29 liAealneDx yes ↑
18:29 IOninja :)
18:29 liAealneDx looks like a bug, right?
18:29 liAealneDx not so much a bug, but <-> is kinda missing
18:29 IOninja m: my @a = for 1..3 -> { $_ }
18:29 camelia rakudo-moar daa71e: OUTPUT: «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␤----…»
18:29 IOninja Seems like it.
18:29 * IOninja adds it
18:30 liAealneDx IOninja: \o/ introduction of a unicode op fixed a bug!
18:30 IOninja hah
18:31 SmokeMachine \o/
18:32 BenGoldberg "␤Undeclared routine:␤    for"?  So strange!
18:33 BenGoldberg m: my @a = do for 1..3 <-> { $_ }
18:33 camelia rakudo-moar daa71e: OUTPUT: «Too many positionals passed; expected 0 arguments but got 1␤  in code  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
18:33 BenGoldberg m: my @a = do for 1..3 <-> $_ { $_ }
18:33 camelia rakudo-moar daa71e: OUTPUT: «Parameter '$_' expected a writable container, but got Int value␤  in code  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
18:52 IOninja liAealneDx: I'm guessing this branch can be deleted now? https://github.com/perl6/doc/tr​ee/%E2%89%A4%E2%89%A5%E2%89%A0
18:52 liAealneDx IOninja: it already is
18:52 liAealneDx :P
18:52 liAealneDx yes
18:52 IOninja k
18:53 adu joined #perl6
18:56 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.
18:56 tbrowder wilco
18:58 tbrowder IOninja: thanks. that seems to have fixed it.
18:58 IOninja m: " ".uniname.say
18:58 camelia rakudo-moar daa71e: OUTPUT: «NO-BREAK SPACE␤»
18:58 IOninja u:
18:58 unicodable6 IOninja, Found nothing!
18:58 IOninja liAealneDx: your bot is deficient :)
18:59 IOninja And I think it worked in the past
18:59 liAealneDx IOninja: well… it's your module that cuts it out
18:59 IOninja .u
18:59 liAealneDx u: a
18:59 unicodable6 liAealneDx, U+0061 LATIN SMALL LETTER A [Ll] (a)
18:59 unicodable6 liAealneDx, U+00A0 NO-BREAK SPACE [Zs] ( )
18:59 yoleaux U+00A0 NO-BREAK SPACE [Zs] ( )
18:59 liAealneDx IOninja: but I'll fix it now, thanks
18:59 IOninja liAealneDx++
19:04 adu ergh, why can't everything be as cool as Perl6
19:06 IOninja Because if it were, Perl 6 wouldn't be cool; it'd be just like everything else :P
19:07 IOninja .oO( you know you're a Perl 6 coder when you instinctively try to capitalize Cool because it's a type name >_< )
19:08 liAealneDx m: say ‘hello’.starts-with(/h/)
19:08 camelia rakudo-moar daa71e: OUTPUT: «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␤␤»
19:08 liAealneDx heh
19:09 liAealneDx m: say ‘hello’.matches(/^h/)
19:09 camelia rakudo-moar daa71e: OUTPUT: «No such method 'matches' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
19:09 liAealneDx m: say ‘hello’ ~~ /^h/
19:09 camelia rakudo-moar daa71e: OUTPUT: «「h」␤»
19:09 liAealneDx m: say ‘hello’.match(/^h/)
19:09 camelia rakudo-moar daa71e: OUTPUT: «「h」␤»
19:09 liAealneDx oh!
19:10 RabidGravy boom
19:10 liAealneDx IOninja: interestingly, “.u  ” works with unicodable :D
19:10 liAealneDx (if yoleaux is not on the channel)
19:10 unicodable6 joined #perl6
19:10 liAealneDx u:
19:10 unicodable6 liAealneDx, U+00A0 NO-BREAK SPACE [Zs] ( )
19:10 liAealneDx unicodable6:
19:10 unicodable6 liAealneDx, U+00A0 NO-BREAK SPACE [Zs] ( )
19:10 IOninja u:
19:10 unicodable6 IOninja, U+00A0 NO-BREAK SPACE [Zs] ( )
19:10 liAealneDx unicodable6:
19:10 unicodable6 liAealneDx, U+00A0 NO-BREAK SPACE [Zs] ( )
19:10 IOninja neat
19:11 IOninja u:
19:11 unicodable6 IOninja, U+0020 SPACE [Zs] ( )
19:11 IOninja \o/
19:11 liAealneDx well, one \s is required after : anyway
19:14 liAealneDx .u
19:14 yoleaux Search for a Unicode character by codepoint, name, or raw character
19:14 liAealneDx ha!
19:15 liAealneDx yoleaux: you're a deficient bot!
19:15 IOninja :D
19:15 IOninja .tell yoleaux you're a deficient bot
19:15 yoleaux IOninja: Thanks for the message.
19:15 IOninja .tell dalek you're a deficient bot
19:15 yoleaux IOninja: I'll pass your message to dalek.
19:16 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:17 buggable joined #perl6
19:19 itaipu joined #perl6
19:20 gdonald joined #perl6
19:26 spebern joined #perl6
19:28 LeCamarade joined #perl6
19:37 labster joined #perl6
19:37 IOninja What does "sweat smile" mean? 😅?
19:44 girafe joined #perl6
19:45 BenGoldberg Why would someone be experiencing a cold sweat?  Nervousness would be my guess.
19:46 IOninja It's a heart attack symptop...
19:47 geekosaur where did cold come from? I was thinking post exercise smile...
19:48 IOninja u:
19:48 unicodable6 IOninja, U+0020 SPACE [Zs] ( )
19:48 unicodable6 IOninja, U+0020 SPACE [Zs] ( )
19:48 IOninja ugh
19:48 IOninja u: 😅
19:48 unicodable6 IOninja, U+1F605 SMILING FACE WITH OPEN MOUTH AND COLD SWEAT [So] (😅)
19:48 IOninja unicode.party called it "sweat smile"
19:49 wamba1 joined #perl6
19:49 IOninja If I ever saw a smiling human with open mouth and cold sweat, I'd call an ambulance :)
19:50 hankache joined #perl6
19:50 liAealneDx .oO( better pull out your chainsaw before it eats you )
19:50 hankache hola #perl6
19:51 liAealneDx o/
19:52 adu joined #perl6
19:52 BenGoldberg Hello.
19:58 rindolf hankache: hi
19:59 rindolf hankache: how are you?
20:00 hankache hello rindolf, all is well and you?
20:01 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 itaipu_ joined #perl6
20:03 rindolf hankache: and I did some code golf and Project Euler
20:03 bjz joined #perl6
20:05 hankache rindolf aha great!
20:08 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:09 IOninja perlpilot: is there a way to fix that without causing another wave of people that say their build is broken?
20:10 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
20:10 perlpilot But we should tend to favor https over git IMHO
20:10 IOninja +1
20:11 El_Che IOninja: thx, I'll adapt the code
20:11 liAealneDx IOninja: are you sure it's what he said exactly?
20:11 liAealneDx IIRC he wanted it gone before 6.c, but it never happened
20:12 cdg joined #perl6
20:12 liAealneDx is it written down somewhere that this is actually the plan for 6.d to remove it?
20:12 liAealneDx huggable: 6.d
20:12 huggable liAealneDx, Proposals for 6.d language: https://github.com/perl6/specs/blob/master/v6d.pod
20:12 liAealneDx not here
20:13 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:14 liAealneDx there were many reasons to change them in the docs :)
20:14 liAealneDx El_Che: in any case, you're better off with --> :)
20:15 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
20:15 IOninja El_Che: he's a Zoffix wannabe
20:16 El_Che yeah, Zoffix is the worst
20:16 perlpilot If someone would care to apply https://github.com/MoarVM/MoarVM/pull/553 I'd be happier
20:16 El_Che the brokenchicken guy
20:16 El_Che :)
20:16 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
20:17 liAealneDx https://irclog.perlgeek.de/​perl6/2016-12-03#i_13674580
20:17 liAealneDx ok you're right
20:17 * liAealneDx shuts up
20:17 liAealneDx IOninja: I should be more quiet, don't you think? :)
20:20 IOninja Ah, Ok I was wrong.
20:20 IOninja El_Che: TimToady wants returns to be *deprecated* in 6.d and gone later, but still
20:21 liAealneDx hm… what if I do it right now?
20:21 liAealneDx for use 6.d
20:21 BenGoldberg m: my $s0 = :(Str $foo --> Int); my $s0 = :(Str $foo returns Int); say $s0 == $s1;
20:21 camelia rakudo-moar b19df9: OUTPUT: «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␤»
20:21 liAealneDx doesn't sound like that big of a deal to add a warning
20:22 BenGoldberg m: my $s0 = :(Str $foo --> Int); my $s0 = :(Str $foo) returns Int; say $s0 == $s1;
20:22 camelia rakudo-moar b19df9: OUTPUT: «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 #perl6
20:22 ufobat joined #perl6
20:23 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.
20:24 El_Che I was happy to see the flip flop operator is still there :)
20:25 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:26 Geth ¦ whateverable: 7240ed0ed3 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
20:26 Geth ¦ whateverable: Unicodable should not trim leading spaces
20:26 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/7240ed0ed3
20:28 Geth ¦ whateverable: 25f1e10ed3 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/unicodable.t
20:28 Geth ¦ whateverable: Typo (oops!)
20:28 Geth ¦ whateverable: review: https://github.com/perl6/wha​teverable/commit/25f1e10ed3
20:33 labster joined #perl6
20:38 RandalSchwartz joined #perl6
20:38 RandalSchwartz "rakudobrew build moar" is now breaking for me for the past two days
20:38 RandalSchwartz Configuration FAIL. You can try to salvage the generated Makefile.
20:39 RandalSchwartz /opt/local/bin/perl5.24 Configure.pl --optimize --prefix=/Users/merlyn/MIRROR/r​akudobrew-GIT/moar-nom/install --make-install
20:39 RandalSchwartz is this expected?  Is there a new workflow?
20:40 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
20:41 MasterDuke and that broke rebuilding for a bunch of people, they had to blow that directory away
20:41 RandalSchwartz just remove the dir?
20:41 MasterDuke but i'm not sure how that works with rakudobrew
20:41 perlpilot RandalSchwartz: also, is the git protocol disallowed for you?  (It's blocked where I am, but https is fine)
20:42 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.
20:43 perlpilot RandalSchwartz: it's sitting on the "updating submodules" step now
20:43 RandalSchwartz I don't have 3rdparty anywhere
20:44 El_Che mmm:
20:44 RandalSchwartz ok - I'll try that
20:44 El_Che > claudio@bologna:~$ zef install Readline
20:44 El_Che ===> Searching for: Readline
20:44 El_Che ===> Searching for missing dependencies: LibraryCheck, panda
20:44 El_Che zef install something has panda as a dep
20:44 RandalSchwartz ok - it's cloning stuff
20:45 RandalSchwartz self-update did nothing, but build moar seems to be building something
20:46 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 #perl6
20:47 perlpilot RandalSchwartz: if your network isn't blocking the git protocol, I think you should have no problems
20:48 RandalSchwartz you mean, after blowing away those two sub-repos
20:48 perlpilot yes
20:48 RandalSchwartz yeah, so far, it's fetching
20:48 RandalSchwartz would have been nicer to know this when I was on a faster net. :)
20:49 perlpilot RandalSchwartz: #perl6 is open 24/7  :-)
20:49 RandalSchwartz Yeah... at least Now I Know(tm)
20:49 perlpilot RandalSchwartz: btw, what are you using P6 for?  Anything interesting?  Or just play?
20:53 RandalSchwartz tracking it
20:53 RandalSchwartz people expect me to know about perl6 too. :)
20:53 RandalSchwartz every time I see it, I'm more impressed.
20:54 RandalSchwartz but I'm still not seeing a practical deploy for my @clients
20:55 IOninja heh
20:56 * IOninja wonders if kummerspeck is a real German word
20:56 IOninja Google translate translates it as "grief-bacon" :)
20:57 IOninja RandalSchwartz: what makes it impractical?
20:58 RandalSchwartz the ecosystem isn't there, and perl5 works "well enough"
20:58 RandalSchwartz and yes, the ecosystem is a chicken-egg problem.
20:59 IOninja Ah :)
20:59 RandalSchwartz I can see perl6 for a small team greenstart, but not integrated into a larger project.
20:59 RandalSchwartz and unfortunately, small team greenstarts won't pay my development costs for training.
21:00 RandalSchwartz and if there's no training, there's no books.
21:00 RandalSchwartz so my interest is limited.  I'm getting much more interest and dialog from Dart than from Perl6.
21:01 IOninja +we have plenty of books to compete with yours :)
21:01 IOninja huggable, books
21:01 huggable IOninja, "Perl 6 At A Glance"  https://deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": https://leanpub.com/perl6 (can order preview digital copies) ; "Think Perl 6: How to Think Like a Computer Scientist": http://shop.oreilly.com/product/0636920065883.do
21:03 RandalSchwartz Yeah, people that can afford more downtime than me. :(
21:03 RandalSchwartz I'm tired of writing books for minimum wage.
21:04 RandalSchwartz and I'm still working hard for a living.  55 with no retirement and at least $50K in debt. :(
21:05 RandalSchwartz so I've gotta bet on the more likely sure thing.  Dart has legs.
21:06 IOninja Sure, that's understandable.
21:06 IOninja huggable: hug RandalSchwartz
21:06 * huggable hugs RandalSchwartz
21:07 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:08 El_Che 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 El_Che the sub is passed to an other sub and run there with $line as parameter
21:08 vendethiel- joined #perl6
21:08 sufrostico joined #perl6
21:09 sufrosti1o joined #perl6
21:10 El_Che RandalSchwartz: for what it's worth, I learnt Perl with your book
21:11 bjz_ joined #perl6
21:13 IOninja El_Che: why do you need a name?
21:13 IOninja m: $print-line = sub (Str $line) { say "FOUND: $line" }; $print-line(42)
21:13 camelia rakudo-moar b19df9: OUTPUT: «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␤»
21:13 IOninja m: my $print-line = sub (Str $line) { say "FOUND: $line" }; $print-line(42)
21:13 camelia rakudo-moar b19df9: OUTPUT: «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 IOninja m: my $print-line = sub (Str $line) { say "FOUND: $line" }; $print-line('foo')
21:13 camelia rakudo-moar b19df9: OUTPUT: «FOUND: foo␤»
21:14 IOninja Also:
21:14 IOninja m: my $print-line = sub anon print-name(Str $line) { say "FOUND: $line" }; $print-line('foo'); try EVAL 'print-name("foo")'; say $!.^name
21:14 camelia rakudo-moar b19df9: OUTPUT: «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␤»
21:14 IOninja oh
21:14 El_Che I don't, I use it as a syntax error workaround. Looking at your suggestion now
21:14 IOninja m: my $print-line = anon sub print-name(Str $line) { say "FOUND: $line" }; $print-line('foo'); try EVAL 'print-name("foo")'; say $!.^name
21:14 camelia rakudo-moar b19df9: OUTPUT: «FOUND: foo␤X::Undeclared::Symbols␤»
21:14 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
21:16 El_Che weird
21:16 IOninja lacking space between `sub` and parens maybe?
21:17 El_Che must be that, because the code now works without the name
21:17 IOninja :)
21:17 El_Che thx
21:18 RandalSchwartz left #perl6
21:22 unclechu hey guys, what whould you recommend me to read about writing FFI in perl6?
21:23 unclechu can i just write some bindings to vary libraries using 'ccall'?
21:23 IOninja unclechu: probably https://docs.perl6.org/language/nativecall
21:23 IOninja unclechu: no idea what ccall is...
21:23 unclechu IOninja: thanks
21:24 unclechu IOninja: i mean convention about binary interfaces of libraries, ccall, stdcall, etc.
21:25 Cabanossi joined #perl6
21:25 IOninja Ah, never heard about those. But I've seen someone have marginal success calling a Rust library compiled in standard calling format.
21:26 jnthn Pretty sure you can get nativecall to do stdcall calls, though it's not the default
21:26 jnthn The convention we're sadly still missing support for is varargs
21:30 Geth ¦ doc: 7759a30e68 | (Naoum Hankache)++ | doc/Language/about.pod6
21:30 Geth ¦ doc: about.pod6
21:30 Geth ¦ doc: review: https://github.com/perl6/doc/commit/7759a30e68
21:30 Geth ¦ doc: db236af9f3 | (Zoffix Znet)++ | doc/Language/about.pod6
21:30 Geth ¦ doc: Merge pull request #1244 from hankache/master
21:30 Geth ¦ doc:
21:30 Geth ¦ doc: about.pod6
21:30 Geth ¦ doc: review: https://github.com/perl6/doc/commit/db236af9f3
21:34 IOninja huh make xtest in docs runs `if [ "" != "" ]; then prove -j  -e perl6 xt t; else prove -e perl6 xt t; fi`
21:34 ggoebel joined #perl6
21:34 IOninja is that conditional as weird as I think it is or bash is even crazier than I thought it were?
21:35 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
21:35 ilmari yes, -x shows the commands after expansion
21:35 moritz but bash shows you the interpolated command
21:35 IOninja Thanks.
21:38 liAealneDx u: ℅
21:38 unicodable6 liAealneDx, U+2105 CARE OF [So] (℅)
21:43 RabidGravy jnthn, I just PRd https://github.com/jnthn/p6-stomp/pull/2 - simple working pub/sub server :)
21:43 RabidGravy I did it as a PR in case you hated it
21:50 * moritz submitted a talk about Inline::P{erl5,ython} to PolyConf
21:51 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: https://github.com/perl6/doc/pull/1244/files
21:51 IOninja moritz++
21:52 moritz I wonder if I should propose another talk, this one about MOPs in different languages
22:02 cdg joined #perl6
22:03 IOninja Compilation examples just check they compile and not the output?
22:04 IOninja the docs test I mean
22:05 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;
22:05 camelia rakudo-moar b19df9: OUTPUT: «0264300»
22:05 IOninja why does that have a leading zero? A bug?
22:06 RabidGravy the transactions I will implement in the connection class
22:06 IOninja oh, I can check with Perl 5
22:06 IOninja tis there as well
22:07 RabidGravy anyway toodles all
22:08 IOninja \o
22:08 IOninja oh, in P5 it's an octal number and looks like we just copied that.... :S
22:08 IOninja Or maybe that's by design :S
22:09 * IOninja just gonna open a doc issue
22:17 moritz ok, MOP propsoal submitted too
22:17 moritz I just hope they won't approve it, I'd have to do a huge amount of research to actually deliver on it :-)
22:18 moritz ss/on //
22:20 mst LOL
22:20 * mst wonders if he can bribe an organiser
22:21 IOninja :D
22:23 SmokeMachine m: say 0 ?? "bla !! ble"
22:23 camelia rakudo-moar b19df9: OUTPUT: «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>␤»
22:24 SmokeMachine IOninja: inst this message strange too?
22:24 SmokeMachine *isn't
22:24 IOninja hah
22:24 IOninja m: say 0 ?? "bla"
22:24 camelia rakudo-moar b19df9: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Confused: Found ?? but no !!␤at <tmp>:1␤------> 3say 0 ?? "bla"7⏏5<EOL>␤»
22:24 Sound joined #perl6
22:25 IOninja SmokeMachine: a bit yeah
22:25 SmokeMachine IOninja: it searches for !! or ‼ con what was matched on EXPR
22:25 IOninja mhm
22:26 liAealneDx m: say 0 ?? "bla !! ble" !! 42
22:26 camelia rakudo-moar b19df9: OUTPUT: «42␤»
22:26 liAealneDx m: say 0 ?? "bla !! ble"
22:26 camelia rakudo-moar b19df9: OUTPUT: «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>␤»
22:26 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.
22:26 IOninja OTOH...
22:26 SmokeMachine but it does that only if i didn't find the !!..
22:27 IOninja m: say 0 ?? "bla !! 'bleh'; say 42; say 'meow'; say "hi"
22:27 camelia rakudo-moar b19df9: OUTPUT: «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…»
22:27 * IOninja shrugs
22:27 IOninja Unclosed quote here... no idea how easy it is to fix and if it's worth it.
22:27 * IOninja goes away for the night
22:28 SmokeMachine IOninja: what do you think? what should I do?
22:28 IOninja SmokeMachine: dunno :)
22:28 gdonald joined #perl6
22:30 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:31 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
22:31 liAealneDx yes
22:31 SmokeMachine liAealneDx: would you?
22:32 liAealneDx SmokeMachine: well, I'm not a core dev, but I'm all for →
22:32 liAealneDx (and ↔)
22:33 SmokeMachine IOninja: ok, you'll vote as abstaining... but why do you don't think thats a good idea?
22:34 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:35 SmokeMachine liAealneDx: you had seen more stuff to do there, didn't you?
22:35 liAealneDx SmokeMachine: what do you mean?
22:36 SmokeMachine liAealneDx: you sad something about why somewhere is only matching → and not ↔...
22:36 liAealneDx oh, I believe IOninja++ fixed it already
22:36 liAealneDx let's see
22:37 liAealneDx SmokeMachine: yes: https://github.com/rakudo/rakudo/commit/​935231c13b95dc303ac92a9e583e2c995aa14bc4
22:37 liAealneDx SmokeMachine: which means that your patch should change one line less… ;)
22:37 SmokeMachine :)
22:38 liAealneDx SmokeMachine: and this, yes, is something you have to research: https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Actions.nqp#L5757
22:39 SmokeMachine about the ??!! bug... I think this solve "another bug": https://github.com/FCO/rakudo/commit/ee​488ec5b538298583c36ec1ae5da22a2141b4dc
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 liAealneDx SmokeMachine: for example, you added ⁇‼ but this is still open: https://github.com/perl6/doc/issues/1228
22:41 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 rakudo-moar b19df9: OUTPUT: «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…»
22:42 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 SmokeMachine liAealneDx: that I could try!
22:43 liAealneDx SmokeMachine: for example, this is what I did for ≤≥≠: https://github.com/perl6/doc/pull/1234/files
22:44 SmokeMachine cloning...
22:44 kurahaupo__ joined #perl6
22:46 Voldenet joined #perl6
22:46 Voldenet joined #perl6
22:47 SmokeMachine u: ⁇‼
22:47 unicodable6 SmokeMachine, U+2047 DOUBLE QUESTION MARK [Po] (⁇)
22:47 unicodable6 SmokeMachine, U+203C DOUBLE EXCLAMATION MARK [Po] (‼)
22:49 Actualeyes joined #perl6
22:51 SmokeMachine liAealneDx: something like this? https://github.com/FCO/doc/commit/5ef​24f3b9e9cc4c1c4d94aa2129efd28933afbdb
22:52 liAealneDx SmokeMachine: yea, better than nothing
22:52 liAealneDx SmokeMachine: I mean, this will resolve the issue for sure
22:53 liAealneDx 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
22:53 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1249
22:54 liAealneDx hmmmmm I wonder what's going to happen with search because of X<Ternary operator>, X<conditional operator>.
22:54 SmokeMachine :(
22:55 SmokeMachine I don't know how the search works... :(
22:55 liAealneDx SmokeMachine: type “conditional operator” in search and see what happens
22:55 liAealneDx SmokeMachine: also, you can build docs locally and test it out
22:56 SmokeMachine Ill do that!
22:56 SmokeMachine htmlfy.p6?
22:56 SmokeMachine htmlify.p6?
22:56 liAealneDx make
22:56 SmokeMachine ok, running...
22:56 liAealneDx instructions in README
22:57 SmokeMachine thanks! sorry...
22:59 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 IOninja neat article: https://www.joelonsoftware.com/2000/08/0​9/the-joel-test-12-steps-to-better-code/
23:00 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
23:01 * IOninja pats self on the back :)
23:01 IOninja Well, not yet I guess. Since Rakudo Star isn't automated.
23:01 * IOninja depats self
23:01 * IOninja &
23:02 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 cyphase joined #perl6
23:03 SmokeMachine IOninja: I just don't have enough knowledge to solve most of the bugs...
23:05 liAealneDx SmokeMachine: I think many [LTA] issues are more or less easy
23:05 liAealneDx buggable: tag LTA
23:05 buggable liAealneDx, There are 155 tickets tagged with LTA; See http://perl6.fail/t/LTA for details
23:16 geekosaur joined #perl6
23:42 BenGoldberg joined #perl6
23:50 * 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:51 * TimToady also agrees with the technical debt arguments here

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

Perl 6 | Reference Documentation | Rakudo