»ö« 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_UConfusedat /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 |