»ö« 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. |
|||
tbrowder | [Coke]: standing by for critique... | 00:00 | |
[Coke] | tbrowder: you have been very patient. I'm late, I'll do it now. | 00:01 | |
tbrowder | no hurry, we have 24 hrs or so 😃 | 00:03 | |
00:03
pierre_ joined
00:06
cdg joined
00:09
wamba left,
MasterDukeLaptop joined
|
|||
[Coke] | tbrowder: I actually don't have any edits for you, technically or stylistically. Good read, esp. liked the walkthrough on when you hide somethings. | 00:10 | |
well done, thanks for putting it together! | |||
00:10
rindolf left
|
|||
babydrop | \o/ | 00:10 | |
00:10
pyrimidine joined
|
|||
tbrowder | ok, thanks. how about the ending comments and the clever // operator--too much? | 00:11 | |
babydrop | Perl 6 Advent Day 11 — "Perl 6 Core Hacking: It Slipped Through The QASTs": perl6advent.wordpress.com/2016/12/...the-qasts/ | ||
MasterDukeLaptop | babydrop: "avaiable" | 00:14 | |
00:15
pyrimidine left
|
|||
[Coke] | nah, 'sfine. | 00:15 | |
my FQN comment (which slipped out too early) was about this line: | |||
github.com/perl6/doc/blob/master/d....pod6#L193 | |||
00:16
cdg left
|
|||
babydrop | MasterDukeLaptop: fixed, thanks. | 00:16 | |
00:17
pierre_ left
|
|||
MasterDukeLaptop | heh, want a really nitpicky one? S///‘s in the second to last sentence before "Slippety Slip" looks like a quote, not apostrophe (at least in this browser (FF 50 on Kubuntu 16.10)) | 00:19 | |
babydrop | MasterDukeLaptop: same here. It's wordpress being too smart for its own good and changing the quotes. | 00:21 | |
MasterDukeLaptop | yeah, i see another one, but probably way too minor to worry about | 00:22 | |
i was trying to use something at work yesterday to make a blog post (maybe it was wordpress, i don't know) and it was aweful | 00:23 | ||
previews popping up unasked for (and incorrect), not showing images, etc | |||
hats off to you people who do it more than once ever | 00:24 | ||
oooh, and a link to QAST docs! babydrop++ | 00:25 | ||
babydrop | I didn't see what that 'v' in Want is about tho | 00:26 | |
00:26
bjz left
|
|||
MasterDukeLaptop | oh, just reading the docs you helpfully linked, maybe void context | 00:28 | |
babydrop | .ask lucasb were you going to fix that slip bug or should I take care of it? It's trivial and will let you learn the build system. | 00:34 | |
yoleaux | babydrop: I'll pass your message to lucasb. | ||
00:35
lukiramu left
|
|||
MasterDukeLaptop | babydrop: nice article | 00:37 | |
babydrop | Thanks. | 00:39 | |
00:54
bjz joined
00:58
canopus left
01:00
pyrimidine joined
01:04
canopus joined
01:05
pyrimidine left
01:19
pyrimidine joined
01:24
pyrimidine left
01:32
lucasb left
01:48
espadrine left
01:51
CIAvash[m] left
02:00
pyrimidine joined
02:05
pyrimidine left
02:06
pyrimidine joined
02:10
pyrimidine left
02:21
pierre_ joined
02:22
mulk[m] joined
02:27
giraffe left
02:28
pyrimidine joined
02:30
ilmari[m] joined,
Matthew[m] joined,
tadzik joined,
M-Illandan joined,
CIAvash[m] joined,
Matias[m] joined,
dp[m] joined
02:33
pyrimidine left
02:35
giraffe joined
02:36
skids joined
02:45
ilbot3 left
02:49
ilbot3 joined
02:51
bjz left
|
|||
samcv | i'm getting github's linguist to be able to classify Perl6 pod correctly as perl 6 pod now perl 5 pod | 02:52 | |
also do people want Pod to be its own 'language' on github | |||
Pod6 that is | |||
"Alright, the results of the .pod6 file search have finished downloading. All-in-all, we're only looking at 52 unique repositories, distributed between 28 unique users... so I'm afraid the usage is too thin to warrant addition as a new language, methinks. I'm a little concerned about how the syntactic differences might skew the classifier, though..." | 02:53 | ||
that was for .pod6 but there are more than are just called .pod, but was curious how people want it to be classified on github? should I lobby for having it be 'Pod6' ? is that wanted by people? | 02:54 | ||
or maybe Perl 6 Pod, any thoughts? | |||
03:02
bjz joined,
kyclark joined
03:08
labster left
03:09
kyclark left
03:13
noganex_ joined
03:14
pierre_ left
03:16
noganex left
03:19
pyrimidine joined
03:24
pyrimidine left
|
|||
AlexDaniel | hooray, uniprops! | 03:27 | |
samcv | :) | ||
03:28
kyclark joined,
pyrimidine joined
03:29
pierre_ joined
|
|||
AlexDaniel | samcv: there's a little problem with uniprops | 03:30 | |
samcv | yeah it's not building. fixing that. unless there's something else you didn't like in the implementation? | 03:31 | |
AlexDaniel | samcv: basically, S15 suggests that uniprops should return a hash | ||
samcv | it does. but it also shows uniprops("a", "ASCII_Hex_Digit") | 03:32 | |
idk does it really make sense for it to be a hash though | |||
03:32
kyclark left
|
|||
samcv | unless there is like .uniprops(:all) or something idk that will return all the unicode properties for something | 03:33 | |
but uninames returns a sequence | |||
03:33
pyrimidine left
|
|||
AlexDaniel | yea, it would be stupid to have “uninames” do one thing but “uniprops” doing something different | 03:33 | |
also, this: irclog.perlgeek.de/perl6/2014-03-04#i_8379769 | |||
03:35
pierre_ left
|
|||
samcv | bookmarked that | 03:37 | |
the vulgar fractions I will have to see how I should do that | 03:38 | ||
that would make the most sense and not involve weird checks | |||
AlexDaniel | samcv: actually: github.com/perl6/specs/commit/33dad1e20b | ||
samcv | oh i see it was rewritten | 03:39 | |
but they must have left in hash a few places | |||
so you are for allowing a list of chars or list of integers for uniprops? | 03:40 | ||
and then maybe we should also have a multi for uniprop(Int, @properties) hmm | |||
AlexDaniel | samcv: I'm not against, but I wonder what is the justification for having it | 03:42 | |
m: say (65,50)».uniprop | 03:43 | ||
camelia | rakudo-moar ea2884: OUTPUT«(Lu Nd)» | ||
AlexDaniel | that's kinda short enough, isn't it? | ||
samcv | because having uniprops only perform things on strings, whereas uniprop performs them on int's or on strings | ||
i think it would be best if they have the same types allowed on them | 03:44 | ||
m: say 10.uniname | |||
camelia | rakudo-moar ea2884: OUTPUT«LINE FEED (LF)» | ||
samcv | m: say (10, 11).uninames | ||
camelia | rakudo-moar ea2884: OUTPUT«Cannot resolve caller uninames(List); none of these signatures match: (Str:D $str) in block <unit> at <tmp> line 1» | ||
samcv | if as TimToady says that the essence of the function is getting values from integers, we should support integers for uniprops and uninames | 03:45 | |
not saying doing (65,50)».uniprop is not doable. but why should uniprop be able to take integers but uniprops can't? that seems weird | 03:47 | ||
AlexDaniel | samcv: the weird thing here is that uninames comes from Cool | ||
and string operations from Cool tend to stringify stuff | 03:48 | ||
samcv | it works in my testing | ||
a string of numbers | |||
AlexDaniel | no-no, sure | ||
samcv | (10,11).uniprops #> Cc, Cc is what i get | ||
AlexDaniel | but I'm trying to see any consistency between it and other methods from cool… | 03:49 | |
samcv | ah | ||
AlexDaniel | maybe that's the wrong way to think about it, but… | ||
samcv | i mean. Cool doesn't make much sense i agree | ||
AlexDaniel | for example, unival is in Int | 03:51 | |
samcv | (4000, 'a').uniprops('Script').perl #> ("Tibetan", "Latin").Seq | ||
yeah it would make sense maybe to move them | |||
"10".uniprops treats it as a string not a number | 03:52 | ||
AlexDaniel | m: say ‘⅔’.unival | ||
camelia | rakudo-moar ea2884: OUTPUT«0.666667» | ||
AlexDaniel | m: say 50.unival | ||
camelia | rakudo-moar ea2884: OUTPUT«2» | ||
AlexDaniel | and it also works on strings and ints | 03:53 | |
samcv | so it only takes numbers right | ||
i mean unival assumes you're giving it a number | |||
whereas uniprop takes strings or integer | |||
m: say 1.unival | 03:54 | ||
camelia | rakudo-moar ea2884: OUTPUT«NaN» | ||
samcv | m: say 50.unival | ||
camelia | rakudo-moar ea2884: OUTPUT«2» | ||
samcv | ah i guess it can take integers but | ||
AlexDaniel | m: say ‘2’.unival | ||
camelia | rakudo-moar ea2884: OUTPUT«2» | ||
AlexDaniel | in fact, unival looks up some uniprops, right? | ||
samcv | it's only used for numbers though, so i think it's different than uniprops | ||
yeah | 03:55 | ||
AlexDaniel | … so is it unival that should be moved to Cool, or vice versa? | ||
oh no… | 03:56 | ||
samcv | yeah i think unival should move to cool | ||
no? | |||
AlexDaniel | m: say "4a¾".univals | 03:57 | |
camelia | rakudo-moar ea2884: OUTPUT«(4 NaN 0.75)» | ||
AlexDaniel | /o\ | ||
THIS IS A STR METHOD!! /o\ | |||
samcv | yeah it acts like uninames | ||
where is it now? | |||
int, ok | |||
well unival/vals and uniname uniprop all work on ints and strings... | 03:58 | ||
strings work on each character | |||
integers work as integers | |||
AlexDaniel | s: '', 'univals' | ||
SourceBaby | AlexDaniel, Sauce is at github.com/rakudo/rakudo/blob/ea28...ol.pm#L102 | ||
samcv | so i think it's natural for arrays to be allowed because it uses the strings chars individually. but where to put them, all in their own function? | ||
the function is in Str but the method in Cool | 03:59 | ||
AlexDaniel | right | ||
s: univals | |||
SourceBaby | AlexDaniel, Something's wrong: ERR: ===SORRY!=== Error while compiling -eCalling univals() will never work with any of these multi signatures: (Str:D $str)at -e:6------> put sourcery( ⏏univals )[1]; | ||
AlexDaniel | s: univals('') | ||
SourceBaby | AlexDaniel, Something's wrong: ERR: Cannot resolve caller sourcery(Seq); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
samcv | s: univals('1') | 04:00 | |
SourceBaby | samcv, Something's wrong: ERR: Cannot resolve caller sourcery(Seq); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
samcv | s: univals(1) | ||
SourceBaby | samcv, Something's wrong: ERR: ===SORRY!=== Error while compiling -eCalling univals(Int) will never work with any of these multi signatures: (Str:D $str)at -e:6------> put sourcery( ⏏univals(1) )[1]; | ||
AlexDaniel | s: univals('hello') | ||
SourceBaby | AlexDaniel, Something's wrong: ERR: Cannot resolve caller sourcery(Seq); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
AlexDaniel | ah | ||
s: 'univals' 'hello' | |||
SourceBaby | AlexDaniel, Something's wrong: ERR: ===SORRY!=== Error while compiling -eUnable to parse expression in argument list; couldn't find final ')' at -e:6------> put sourcery( 'univals'⏏ 'hello' )[1]; expecting any of: infix infix stopper | ||
AlexDaniel | s:'univals 'hello' | 04:01 | |
oops | |||
s: univals 'hello' | |||
SourceBaby | AlexDaniel, Something's wrong: ERR: Cannot resolve caller sourcery(Seq); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
samcv | multi sub univals(Str:D $str) { $str.ords.map: { unival($_) } } | ||
AlexDaniel | babydrop: I'd be happy if I ever learn how to use this bot :) | ||
*bleep blop* github.com/rakudo/rakudo/blob/ea28...r.pm#L2995 | |||
MasterDukeLaptop | m: dd [.file, .line] with &univals | 04:03 | |
camelia | rakudo-moar ea2884: OUTPUT«["SETTING::src/core/Str.pm", 3003]» | ||
samcv | but Str and Int's both inherit cool's methods, and since they are multi's that makes some since i guess? | 04:04 | |
i mean we have docs.perl6.org/type/Cool#routine_abs | |||
too. and that can't be done on strings | |||
AlexDaniel | samcv: I am completely confused by now, but I think I found a doc bug | ||
samcv | though. i guess it tries to convert it to an actual number | ||
AlexDaniel | docs.perl6.org/type/Int#routine_unival | 04:05 | |
there is no unival in Int | |||
samcv | yeah | ||
but *should* there be? | |||
it probably should be in both Int and Str? | 04:07 | ||
AlexDaniel | why? One is enough :) | 04:08 | |
in its sub form I guess it doesn't matter | |||
samcv | though. in Str it says: # These probably belong in a separate unicodey file | ||
above the unis | |||
AlexDaniel | and Cool.unival just passes it to sub unival which is in Str… okay | 04:09 | |
samcv | but then on the docs they wouldn't show up in their proper section right? | ||
AlexDaniel | samcv: yes, I already created a ticket: github.com/perl6/doc/issues/1045 | ||
samcv | well unival does take an int as an argument, so it could make sense to be in the int section? or is it more important for it to be in the section for the file it is in than the type it accepts | 04:10 | |
AlexDaniel | samcv: well, it lists both sub and method forms. There is no unival method in Int, so it is misleading | 04:13 | |
i.e. this is what the docs say (on type/Int page): multi method unival(Int:D: --> Numeric) | 04:14 | ||
m: say Int.^methods # (obviously no such method in Int) | |||
camelia | rakudo-moar ea2884: OUTPUT«(Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range sign sin tan cotan acosech conj atan2 cosec pred asec acotan cosh acos acosec sech unpolar log10 atanh log exp acosh truncate sinh tanh acotanh Re…» | ||
samcv | yeah | ||
AlexDaniel | samcv: but my question at this moment is actually “why keep it in Str? Why not move it to Cool?” | 04:15 | |
samcv | that would be fine with me. all the methods are in Cool | ||
+1 | |||
04:16
cdg joined
|
|||
samcv | should I go ahead and do that? | 04:16 | |
AlexDaniel | *shrug* | 04:17 | |
samcv | all the methods are there... so it makes way more sense | ||
sec lemme make sure it won't break the docs | |||
AlexDaniel | samcv: right now everyone is asleep (me too!), perhaps try asking it again a bit later | 04:18 | |
samcv | ok | ||
like in how many hours? | 04:19 | ||
a lot of people are in europe right | |||
it's only 8pm here now | |||
04:23
labster joined
|
|||
samcv | ok i moved them to Cool. i think that's the way to go tbh. will talk with people later about it and see what they think | 04:30 | |
04:34
cyphase left
04:39
kyclark joined,
cyphase joined
04:44
cyphase left
|
|||
dalek | c: f1fa142 | coke++ | doc/Language/syntax.pod6: remove trailing whitespace |
04:49 | |
synopsebot6 | Link: doc.perl6.org/language/syntax | ||
c: 10fcdc4 | coke++ | doc/Language/typesystem.pod6: Expand acronym, switch article |
|||
synopsebot6 | Link: doc.perl6.org/language/typesystem | ||
04:56
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'Expand acronym, switch article' | 04:57 | |
travis-ci.org/perl6/doc/builds/182964373 github.com/perl6/doc/compare/d14ee...fcdc4963d7 | |||
04:57
travis-ci left
|
|||
[Coke] | why does 'make html' in the doc project require bigpage? | 04:58 | |
[Coke] gets a SEGV building the docs, and upgrades his rakudo | 05:03 | ||
05:05
pierre_ joined
|
|||
[Coke] | Couldn't determine correct make program. Aborting. | 05:07 | |
bah | 05:08 | ||
05:08
kyclark left
05:09
nicq20_ joined,
pyrimidine joined,
cdg left
05:10
pierre_ left
05:14
pyrimidine left,
bjz left
|
|||
[Coke] | updated; now I get "unlock when we're not locked!" (tagging jnthn) | 05:20 | |
(only when running in parallel) | 05:21 | ||
05:23
nicq20_ left
05:24
khw left
05:27
bjz joined
05:28
pyrimidine joined
05:30
BenGoldberg left
|
|||
dalek | c: a93cbe7 | coke++ | doc/Programs/00-running.pod6: searchable "environment variable" Closes #950 |
05:30 | |
05:33
pyrimidine left
|
|||
Xliff | Does anyone know why this error occurs? -- "Cannot invoke this object (REPR: Null; VMNull)" -- I'm getting it from the latest OO::Monitors, now | 05:39 | |
Which means Terminal::Print might also be affected. | |||
05:43
cibs left
05:45
cibs joined
|
|||
dalek | c: 8d7b9d3 | coke++ | doc/Language/variables.pod6: add a link from ! twigils to attributes. closes #967 |
05:45 | |
synopsebot6 | Link: doc.perl6.org/language/variables | ||
[Coke] | Xliff: what version of rakudo are you using? | ||
MasterDukeLaptop | Xliff: usually seems to happen with async/conc stuff. dogbert17 was valgrinding a bunch of stuff earlier and creating moarvm issues for jnthn | 05:46 | |
lizmat has been getting those when running the spectest with TEST_HARNESS=6 | |||
05:50
travis-ci joined
|
|||
travis-ci | Doc build passed. Will "Coke" Coleda 'searchable "environment variable" | 05:50 | |
travis-ci.org/perl6/doc/builds/182967758 github.com/perl6/doc/compare/10fcd...3cbe7cd3e0 | |||
05:50
travis-ci left
05:51
Cabanossi left,
Cabanossi joined
05:55
pyrimidine joined
06:00
pyrimidine left,
rurban joined
06:04
travis-ci joined
|
|||
travis-ci | Doc build passed. Will "Coke" Coleda 'add a link from ! twigils to attributes. | 06:04 | |
travis-ci.org/perl6/doc/builds/182968696 github.com/perl6/doc/compare/a93cb...7b9d3b5edf | |||
06:04
travis-ci left,
rurban left
06:07
wisti left
|
|||
[Coke] | why is travis so verbose on doc build? | 06:11 | |
06:15
sunnavy left
06:18
pyrimidine joined
06:26
pyrimidine left
|
|||
samcv | nice Coke :) | 06:31 | |
06:31
rurban joined
|
|||
samcv | would be nice if it wasn't so verbose | 06:31 | |
06:40
AlexDaniel left
06:41
CIAvash joined
06:44
darutoko joined
06:50
pyrimidine joined
|
|||
Xliff | [Coke]: Latest from git. | 06:51 | |
Let me get exact. One sec. | |||
[Coke]: 2016.11-182-gea28845f9 | |||
06:55
pyrimidine left
07:03
pyrimidine joined
|
|||
Xliff | I just rebuild my entire rakudo install. Version did not change. Still getting VMNull error. | 07:04 | |
07:05
bjz left
07:07
pyrimidine left,
pierre_ joined
07:23
labster left
07:28
domidumont joined
07:32
domidumont left
07:33
domidumont joined
07:54
kaare_ left
07:55
pyrimidine joined,
kaare_ joined
07:57
presiden joined
07:59
labster joined
08:00
pyrimidine left
|
|||
presiden | where can I read the doc about subscript and superscript operator(?) ? | 08:06 | |
08:13
pyrimidine joined
08:14
Tonik joined
08:18
pyrimidine left
08:20
domidumont left
08:25
Tonik left,
bpmedley left,
skids left
08:28
Vynce joined
08:29
RabidGravy joined,
trnh joined,
trnh left,
trnh joined
08:35
pyrimidine joined
08:40
pyrimidine left
|
|||
samcv | presiden, this? docs.perl6.org/language/subscripts | 08:44 | |
08:45
giraffe left
|
|||
presiden | samcv: ah, thanks. | 08:48 | |
samcv | no problem | ||
presiden | so, what about superscript, is that just exponentation operator? | ||
08:48
notbenh left
|
|||
samcv | oh | 08:49 | |
you don't mean subscript as in accessing an array index? | |||
m: say 2⁹ | |||
camelia | rakudo-moar ea2884: OUTPUT«512» | ||
samcv | you can do that | ||
or | |||
m: say 2**9 | |||
camelia | rakudo-moar ea2884: OUTPUT«512» | ||
samcv | but subscript letters don't do anything. what are you trying to do? | ||
08:50
notbenh joined
|
|||
samcv | not sure what you mean by subscript, what mathematical operation are you meaning | 08:50 | |
08:54
ufobat joined
|
|||
presiden | samcv: eh, super-script I think what it's called, not sub-script, but yes, I mean the exponent operator. | 08:54 | |
08:54
giraffe joined
08:56
notbenh left
|
|||
psch | [Coke], samcv: travis isn't configured to be more verbose on doc than on e.g. rakudo. both have "on_success: change" and "on_error: always" as their reporting policy | 08:57 | |
08:58
notbenh joined
|
|||
psch | not sure why it reported two successes in a row though. maybe the second started before the first was finished and starting is what fetches the previous status | 08:59 | |
08:59
pyrimidine joined
|
|||
samcv | wth atom tests travis-ci.org/perl6/atom-language-...82071#L281 | 09:01 | |
s ✗ #16: Line contains inconsistent indentation. Expected 2 got 4. | |||
⚡ #17: Line exceeds maximum allowed length. Length is 83, max is 80. | |||
✗ #19: Line contains inconsistent indentation. Expected 2 got 4. | |||
⚡ #20: Line exceeds maximum allowed length. Length is 83, max is 80. | |||
whyyyyy though.... | 09:02 | ||
jesus | |||
SHODAN | because | 09:04 | |
samcv | it tests fine on my computer using the apm test program | ||
because no brackets or ; :( | |||
it still runs fine though | |||
09:04
pyrimidine left
|
|||
samcv | also i have no clue how i can keep the line under 80 because it's literally all one thing. but i don't know coffeescript at all | 09:05 | |
09:09
sena_kun joined,
pierre_ left
09:12
Actualeyes left
09:15
labster left
09:23
pyrimidine joined
09:24
labster joined
09:25
domidumont joined
09:28
rindolf joined
09:29
wamba joined
09:30
girafe left
|
|||
timotimo | o/ | 09:32 | |
09:33
ufobat left
09:40
rindolf left
09:46
Vynce left
09:52
rindolf joined
10:01
andrzejku joined
|
|||
samcv | well i need to go to sleep. night all | 10:03 | |
timotimo | gnite samcv | 10:04 | |
10:24
notbenh left
10:26
labster left,
notbenh joined
10:31
brrt left,
cibs left
10:33
cibs joined
10:35
TEttinger left
10:36
rurban left,
bjz joined
10:40
presiden left
10:42
Actualeyes joined
10:45
trnh left
10:53
presiden joined
10:57
abruanese_ joined
11:07
abruanese_ is now known as abruanese
11:13
xinming_ left
11:14
xinming joined
11:17
pyrimidine left,
pyrimidi_ joined
11:28
espadrine joined
11:29
pierre_ joined
|
|||
RabidGravy | okay, how is this react block exiting without hitting any phasers | 11:33 | |
11:34
ufobat joined
11:40
andrzejku left,
bjz_ joined,
bjz left
11:41
pierre_ left
|
|||
RabidGravy | ah the done phaser on a IO::Socket::Async.Supply doesn't get called unless there has been some input :( | 11:42 | |
11:44
presiden left
11:46
andrzejku joined
|
|||
RabidGravy | I'm going to call bug on that as otherwise there is no way of telling the client disconnected | 11:47 | |
11:51
lukaramu joined
|
|||
ufobat | does anyone know if Inline::Perl5 just works with perl5.24? or older versions as well? | 11:57 | |
11:58
CIAvash left
12:00
zacts left
|
|||
nine | ufobat: 5.18 minimum | 12:01 | |
ufobat | nine: okay . then i am doing something wrong - cant get it up and running | 12:02 | |
nine | ufobat: details? | 12:03 | |
ufobat | wait a few sec, pls | 12:04 | |
gist.github.com/ufobat/d705a1bfc81...8ff865c110 | 12:06 | ||
nine | ufobat: ah, I see :) Please try again with the modules you actually want to use. You picked two examples that expose a bit of strangeness of Perl 5. print is not really a function. It's more like an op and cannot be called that easily. | 12:09 | |
ufobat | both are examples from your README.md | 12:10 | |
nine | Data::Dumper is simply complaining about invalid usage. You need to pass the data it should dump to its constructor. | ||
ufobat | i wanted to start your Dancr benchmark :) | ||
nine | That's....true...and odd. That means those examples must have worked at some point. Could be that they still do on older Perl versions. | 12:11 | |
ufobat | nine, could you pls have a look at gist.github.com/ufobat/7dbf0d77f9e...4d701b16df | 12:12 | |
thats the reason why i tried a more simple example ;) | |||
but maybe this is not Inline::Perl5 related | |||
looks perl6ish | |||
okay DateTime works | 12:15 | ||
perl6 -e 'use Inline::Perl5; use JSON::XS:from<Perl5>; my $j = Json::XS.new; ' | 12:16 | ||
Could not find symbol '&XS' | |||
nine | Bailador-Benchmark? Is this about Dancr ported to Bailador or Dancr for Dancer2? | ||
ufobat | ahh damn! | ||
its just a foldername where i stored your Dancr from your example dir | 12:17 | ||
forget about my json example :-) | |||
niner.name/talks/Web%20development%...dor/Dancr/ <- that one | 12:18 | ||
nine | ufobat: I don't get where Digest enters the picture here. It's not used by Dancr | ||
Oh, then it's a pure Bailador application and Inline::Perl5 is not even used | |||
ufobat | i thought it was the reason since the other 2 examples didnt work, | 12:19 | |
nine | examples/Dancer/Dancr is the one using Inline::Perl5 | ||
ufobat | in the benchmark you just use Inline::Per5 for Plack and HTTP::Request::Common | ||
niner.name/talks/Web%20development%...-bench.pl6 <- no? | 12:20 | ||
nine | Ooooh....I did not even script the Bailador benchmark. That's just copy pasta from the Dancer2 implementation | ||
My Bailador benchmark was just ab2 -n 100 localhost:3000 after manually creating a couple of blog entries | 12:21 | ||
ufobat | okay now it makes more sense! | ||
thanks for helping me :) | 12:23 | ||
nine | you're welcome :) | 12:28 | |
I'm happy that someone's interested in my work :) | 12:29 | ||
12:30
FROGGS joined
|
|||
ufobat | me too :-) i am happy for the critic on bailador so i want to improve it :) | 12:30 | |
tadzik | <3 | 12:31 | |
dalek | c: 3cb4189 | Altai-man++ | doc/Type/Signature.pod6: Attempt to explain ways to declare return type in signature |
12:33 | |
synopsebot6 | Link: doc.perl6.org/type/Signature | ||
c: bd83d34 | Altai-man++ | doc/Type/Signature.pod6: fill-region-as-paragraph |
|||
synopsebot6 | Link: doc.perl6.org/type/Signature | ||
c: ce8b05c | Altai-man++ | doc/Type/Signature.pod6: Fix grammar |
|||
synopsebot6 | Link: doc.perl6.org/type/Signature | ||
c: 9babec9 | (Tom Browder)++ | doc/Type/Signature.pod6: Merge pull request #1044 from perl6/return-ways-explanation Attempt to explain ways to declare return type in signature |
|||
synopsebot6 | Link: doc.perl6.org/type/Signature | ||
c: 6afacd7 | (Tom Browder)++ | doc/Type/Signature.pod6: grammar tweak |
12:38 | ||
synopsebot6 | Link: doc.perl6.org/type/Signature | ||
Xliff | Just for shiz and giggles, this worked. | ||
perl6 -e 'use Inline::Perl5; my $p5 = Inline::Perl5.new; $p5.use("JSON::XS"); my $j = $p5.invoke("JSON::XS", "new"); say $j' | |||
I've never had much luck using the :from<perl5> form. | 12:39 | ||
perl6 -e 'use Inline::Perl5; use XML::Hash::XS:from<Perl5>;' | |||
Can't load '/home/cbwood/perl5/lib/perl5/i686-linux-gnu-thread-multi-64int/auto/XML/Hash/XS/XS.so' for module XML::Hash::XS: libicudata.so.55: cannot open shared object file: No such file or directory at /usr/share/perl/5.24/XSLoader.pm line 96. | 12:40 | ||
Which doesn't make much sense, since the invoke() form worked. | |||
On the other hand, this worked: | 12:41 | ||
perl6 -e 'use Inline::Perl5; use JSON::XS:from<Perl5>; my $j = JSON::XS.new; say $j' | 12:42 | ||
Inline::Perl5::Perl5Object.new(ptr => NativeCall::Types::Pointer.new(-2080666168), perl5 => Inline::Perl5.new) | |||
ufobat and I had the same issue. "perl5" vs "Perl5" and "JSON" vs "Json". LOL | 12:43 | ||
Xliff goes back to lurking. | |||
ufobat | :D | ||
12:43
Xliff is now known as Xliff_L
|
|||
dalek | c: 3fde48d | Altai-man++ | doc/Language/regexes.pod6: Index missing regex adverbs. Fixes github.com/perl6/doc/issues/1046 |
12:48 | |
synopsebot6 | Link: doc.perl6.org/language/regexes | ||
babydrop | AlexDaniel: it's not rocket surgery... I don't know why people have so much trouble learning to use it. There are two modes: subs and methods. Subs: give it a sub (&foo) or sub and args if you want a specific candidate. args are given with a Capture, so it'd be (&foo, \("some", "arg")). For methods, it's Object, Method name in a string, args (and args go in captures) | 12:50 | |
12:51
pyrimidi_ left,
pyrimidine joined
|
|||
dalek | c: de5f160 | (Tom Browder)++ | doc/Type/Signature.pod6: attempt some explanation for the preferred form |
12:52 | |
synopsebot6 | Link: doc.perl6.org/type/Signature | ||
sena_kun | tbrowder++ | 12:53 | |
13:00
canopus left
13:06
canopus joined
13:16
sunnavy joined
|
|||
babydrop | Xliff_L: you don't need "use Inline::Perl5" for :from<Perl5> form | 13:16 | |
13:17
pmurias joined
13:20
bjz_ left
13:22
bjz joined
|
|||
ufobat | what is this: Missing serialize REPR function for REPR MVMContext (BOOTContext) ? | 13:33 | |
what i did was a my $db will leave { .disconnect } = connect_db(); # which is a DBIish.connect object | 13:34 | ||
babydrop | m: { my $db will leave { say "meows" } = "foos" }; say 42 | 13:36 | |
camelia | rakudo-moar ea2884: OUTPUT«meows42» | ||
babydrop | ufobat: some sort of a bug | 13:37 | |
m: multi sub foo(Int $x where 1..10) { state $bar = 42; say $bar; }; foo(3); | 13:39 | ||
camelia | rakudo-moar ea2884: OUTPUT«(Any)» | ||
babydrop | Trippy bug :) | ||
That's RT#130257 | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130257 | ||
13:41
andrzejku left
13:42
bpmedley joined
13:48
lucasb joined
|
|||
dalek | c: 36e737b | (Tom Browder)++ | doc/Type/Signature.pod6: cleanup from last edit |
13:50 | |
synopsebot6 | Link: doc.perl6.org/type/Signature | ||
Xliff_L | babydrop: It's that way in the docs. | 13:53 | |
However I just read that part in like a following paragraph, so. Shortcuts FTW! | |||
tbrowder: Has anyone ever mistaken you for John Creighton? | 13:55 | ||
13:55
sena_kun left
|
|||
tbrowder | I don't know that name so I don't think so | 13:59 | |
babydrop | Xliff_L: yes, synopsis doesn't make the fact clear, those the next paragraphs do: github.com/niner/Inline-Perl5#load...l-5-module | 14:05 | |
14:08
ufobat left
14:12
MasterDukeLaptop left
14:16
khw joined
|
|||
Xliff_L | tbrowder: Ben Browder played John Creighton on FarScape. Just a little in-joke. | 14:20 | |
It's been that kind of morning. | |||
zoffixBabyDroppedOnHaid: Yes. I got that. Thanks. ;) | 14:21 | ||
babydrop | buggable: speed | 14:22 | |
buggable | babydrop, ▅▃▄▂▁▆▃▂▅▂▄▃█▃▄▄▆▄▅▃▄▃▄▄▃▄▃▃▃▃▄▆▄▄▄▆▃▄▄▃▄▃▆▄▄▅▅▁▂▂ data for 2016-11-16–2016-12-11; variance: 6.238s–7.175s | ||
babydrop | buggable: eco | 14:23 | |
buggable | babydrop, Out of 754 Ecosystem dists, 137 have warnings and 0 have errors. See modules.perl6.org/update.log for details | ||
Xliff_L | Oh! Nice stats. | ||
babydrop | neat | ||
14:23
KotH_ is now known as KotH
|
|||
tbrowder | Xliff_L: interesting, I almost thought BB could be the son of my cousin, who has lived in eastern Tennessee for a long time, but his birth date and place pretty much preclude that. There are a lot of Browders in Tennessee, and most are VERY distantly related if at all. | 14:39 | |
14:43
cdg joined
14:47
andrzejku joined
|
|||
babydrop | Is Readline supported on Windows? Wondering if we need to add Windows case to github.com/rakudo/rakudo/commit/c6...57f7196bb0 | 14:50 | |
Xliff_L | tbrowder++ | 14:57 | |
14:58
cognominal left
14:59
bartolin_ left
15:03
rurban joined
15:04
rurban1 joined
15:08
rurban left
15:10
zakharyas joined
15:16
cdg left
|
|||
babydrop | What does "intX[2;2] to intY[2;2]" mean? github.com/rakudo/rakudo/commit/79...7ce66a4512 | 15:26 | |
oh, like int32, int64... nevermind | |||
timotimo | no, it's male ints vs female ints | 15:29 | |
15:29
mscha joined
|
|||
mscha | m: my %a = a => { p=>1, q=>2 }, b => { x=>3, y=>4 }; my %b = %a.clone; %c<b><x> = 42; say %a; | 15:31 | |
camelia | rakudo-moar ea2884: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '%c' is not declaredat <tmp>:1------> 3 b => { x=>3, y=>4 }; my %b = %a.clone; 7⏏5%c<b><x> = 42; say %a;» | ||
mscha | m: my %a = a => { p=>1, q=>2 }, b => { x=>3, y=>4 }; my %b = %a.clone; %b<b><x> = 42; say %a; | ||
camelia | rakudo-moar ea2884: OUTPUT«{a => {p => 1, q => 2}, b => {x => 42, y => 4}}» | ||
mscha | Is there an easy way to do a deep clone in Perl 6? | ||
babydrop | m: my %a = a => { p=>1, q=>2 }, b => { x=>3, y=>4 }; my %b = %a.deepmap: { $_ = .clone }; %b<b><x> = 42; say %a; | 15:39 | |
camelia | rakudo-moar ea2884: OUTPUT«{a => {p => 1, q => 2}, b => {x => 3, y => 4}}» | ||
babydrop | Note that .clone currently doesn't work on Lists/Arrays (and possibly some other core types) | ||
m: my %a = a => { p=>1, q=>2 }, b => { x=>3, y=>4 }; my %b = %a».clone; %b<b><x> = 42; say %a; | 15:41 | ||
camelia | rakudo-moar ea2884: OUTPUT«{a => {p => 1, q => 2}, b => {x => 3, y => 4}}» | ||
babydrop | .oO( that's probably not safe... ) |
||
15:46
wisti joined
15:56
kyclark joined
|
|||
tbrowder | [Coke]: ref my 12 Dec Advent post, can you say whether that module behavior is expected to stay the same with the module work being done? Such behavior is described in the docs now (but not in as much detail), but I would like to add a statement to that effect in the post (and also ensure there are spectests to check for it). | 15:58 | |
[Coke] | tbrowder: I can't comment on that, no. | 16:00 | |
you can check for spectests; if we have tests in the 6.c branch, then you're good. | 16:01 | ||
16:02
cdg joined
|
|||
tbrowder | it seems reasonable that such behavior wouldn't change, but it would be nice to have it confirmed. I'll check spectests... | 16:02 | |
mscha | Thanks for the tips, babydrop! | 16:03 | |
16:04
giraffe left,
cdg left
16:05
cdg joined,
nowan joined
16:13
kyclark left,
giraffe joined
16:14
trnh joined
16:19
Kvjvjvjvkvivhch joined
16:21
Kvjvjvjvkvivhch left
|
|||
babydrop | 0racle bazzaar cygx dogbert17 if you wish to be credited under something other than those aliases, please add yourself to github.com/rakudo/rakudo/blob/nom/CREDITS | 16:26 | |
babydrop thought dogbert17 was already in it... | |||
0racle is seatek I think... | 16:27 | ||
16:30
kyclark joined
16:31
bartolin joined
16:33
cdg_ joined
16:35
dmaestro joined,
cdg left
16:38
andrzejku left
16:41
zacts joined
|
|||
dalek | c: b7bbfb5 | coke++ | doc/Type/Signature.pod6: remove trailing whitespace |
16:43 | |
synopsebot6 | Link: doc.perl6.org/type/Signature | ||
c: 056f60f | coke++ | / (3 files): Update through 2 major versions of jquery |
|||
[Coke] | ^^ I tested that with search, seems fine. | ||
babydrop | .oO( famous last words.... ) |
16:44 | |
16:46
ufobat joined
16:49
kyclark left
16:51
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'Update through 2 major versions of jquery' | 16:51 | |
travis-ci.org/perl6/doc/builds/183039820 github.com/perl6/doc/compare/36e73...6f60f2c029 | |||
16:51
travis-ci left
16:54
zacts left
|
|||
babydrop | Weird how open-source world is commercialized these days.... Even my core hacking post garners comments about marketing and value to consumer | 16:54 | |
16:55
mohae left
|
|||
babydrop | Gone are the days when writing code for fun was normal? | 16:55 | |
babydrop shakes fist at the cloud | |||
16:55
mohae joined
16:57
zacts joined
17:08
andrzejku joined
17:09
skids joined
|
|||
[Coke] | Is there a way to get a pre-built rakudo in place for doc so we don't have to rebuild the whole compiler each time for the docs site? | 17:13 | |
17:19
mawkish joined,
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'Update through 2 major versions of jquery' | 17:19 | |
travis-ci.org/perl6/doc/builds/183039820 github.com/perl6/doc/compare/36e73...6f60f2c029 | |||
17:19
travis-ci left
17:21
trnh left
|
|||
babydrop | What distro does it use? There's probably an `apt-get install rakudo` we could stick? | 17:25 | |
timotimo | i think apt-get is available there, yeah | 17:27 | |
we could just put "apt-cache search rakudo" into the travis script and see what it outputs :D | |||
babydrop | :) | ||
[Coke] | the failure there is a moarvm panic. happened twice: MoarVM panic: Collectable 0x2b30d6aa7060 in fromspace accessed | ||
timotimo | ouch! | ||
[Coke] | having a same version each time would insulate us from issues with running at HEAD also. | ||
timotimo | mhm | 17:28 | |
[Coke] | ah, crap. the styles are wonky on search (but not locally, only on the prod site) | 17:30 | |
searching puts the dropdowns in the upper left hand corner of the screen. | |||
I'll back it out, but it woudl be nice to get a modern jquery at some point. | |||
babydrop | wait! | ||
[Coke]: wait, there's most likely an easy fix for that. | 17:31 | ||
babydrop looks | |||
dalek | c: 97271a9 | coke++ | / (3 files): Revert "Update through 2 major versions of jquery" This reverts commit 056f60f2c02936144f19885ef4d5199d06f57a04. While the styles work fine locally, in prod they put the search results in the upper left hand corner of the screen. |
||
babydrop | heh | ||
[Coke] | babydrop: too slow. Please feel free to re-revert, though! | ||
17:35
BenGoldberg joined
|
|||
babydrop | interesting... on a local build I also get the external link thingies displayed... i.imgur.com/tfTOTu4.png | 17:37 | |
[Coke] | babydrop: yes, that's because locally we have the mojo plugins to run SASS stuff | 17:38 | |
so you now have a locally modified copy of the css style. those mods aren't in prod, I don't think. | |||
babydrop makes a quizzical look | |||
samcv | good morning perl 6 | ||
babydrop | \o | ||
aye, that style wasn't saved in generated CSS | 17:39 | ||
17:39
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'Revert "Update through 2 major versions of jquery" | 17:39 | |
travis-ci.org/perl6/doc/builds/183047370 github.com/perl6/doc/compare/056f6...271a986a87 | |||
17:39
travis-ci left
17:49
zakharyas left
17:53
mscha left,
Actualeyes left
|
|||
[Coke] | ooh, I think I figured out how to smarten the search a tad. | 17:55 | |
babydrop | Wait until I push the fix for jQuery, if possible :) | 17:58 | |
17:59
Linxius joined
18:00
Linxius is now known as LX
18:01
LX is now known as forma,
forma is now known as linxiu
|
|||
samcv | nice [Coke] | 18:01 | |
babydrop | ffs | 18:05 | |
stupid web dev tools collapsing elements so I can't grab the class of a menu item that's the currently highlighted nav item ~_~ | |||
18:06
linxiu left,
Linxius joined
|
|||
ufobat | zostay, have you made some improvements on p6w lately? :-) | 18:07 | |
18:07
Linxius left
|
|||
dalek | c: c598575 | (Zoffix Znet)++ | / (3 files): Revert "Revert "Update through 2 major versions of jquery"" This reverts commit 97271a986a87a493fde266748b64f6bf7080c398. |
18:08 | |
c: 85de0d2 | (Zoffix Znet)++ | / (17 files): Update jQuery UI + tweak our overrides for it to match old look - Also generate CSS from SASS, which includes github.com/perl6/doc/commit/e3c7aa...6eb3026a30 |
18:09 | ||
zostay | No. Hard to find time and when I do I keep running into obscure async bugs | 18:10 | |
babydrop is done | |||
18:12
pmurias left
|
|||
[Coke] | babydrop++ | 18:15 | |
timotimo | [Coke]: don't forget you can activate pseudo-classes on elements via the top of the right panel thingie | ||
18:16
travis-ci joined
|
|||
travis-ci | Doc build failed. Zoffix Znet 'Revert "Revert "Update through 2 major versions of jquery"" | 18:16 | |
travis-ci.org/perl6/doc/builds/183053301 github.com/perl6/doc/compare/97271...98575f65aa | |||
18:16
travis-ci left,
lluchs joined
|
|||
babydrop | timotimo: what right panel thingie? (what browser/web dev tool?) | 18:17 | |
18:17
travis-ci joined
|
|||
travis-ci | Doc build failed. Zoffix Znet 'Update jQuery UI + tweak our overrides for it to match old look | 18:17 | |
travis-ci.org/perl6/doc/builds/183053572 github.com/perl6/doc/compare/c5985...de0d278f5c | |||
18:17
travis-ci left
18:19
pmurias joined
|
|||
samcv | oh now that people are awake. should I try and have Github add Perl 6 Pod as its own language or just have it do as Perl 6 | 18:25 | |
i mean for now the syntax highlighting will obv be for perl 6, but do people want it labeled as Pod6 (or some other name) instead of just perl 6 | 18:26 | ||
i am a little bit for having Pod6, but i wanted to know what you guys think | |||
babydrop | samcv: what would it do for Pod6 intermixed in perl6 code? | 18:27 | |
samcv | that would just be perl 6 | ||
atm i'm at least gonna get it to not think .pod that are perl 6 pod is actualy perl pod | |||
babydrop, github.com/perl6/specs/blob/master...nicode.pod | |||
babydrop | How? | ||
samcv | see what happens now | ||
for things called .pod that aren't perl 5 pod | 18:28 | ||
babydrop doesn't need to click to know what happens. | |||
There's a lengthy issue on the topic: github.com/perl6/doc/issues/167 | |||
samcv | oh | ||
well i made a pull request to github's linguist which classifies and chooses what syntax highilghter to use | 18:29 | ||
babydrop | We went with "screw it, let's rename stuff to .pod6" | ||
Cool | |||
samcv++ | |||
samcv | so for some statistics | ||
with my changes 103 repositories by 74 users. have .pod files that are perl 6 pod | |||
that are named .pod | |||
52 unique repositories, distributed between 28 unique users that are named .pod6 | 18:30 | ||
so there's double the number that are really pod6 that are called .pod | |||
so should I make it classify as 'Pod6' language? do people want that? | |||
and not classified as 'Perl 6' | |||
github.com/github/linguist/pull/3366 here is where me and the Linguist people are talking | 18:31 | ||
babydrop has no opinion | |||
18:32
stmuk joined
|
|||
samcv | i mean 'Pod' is its own language | 18:32 | |
RabidGravy | okay I'm having a weird time here | ||
why does this code gist.github.com/jonathanstowe/925f...2e79334343 exit completely without an error message or anything when a client disconnects? | 18:33 | ||
timotimo | babydrop: chrome's | ||
18:33
BenGoldberg left
|
|||
RabidGravy | that shouldn't happen right | 18:34 | |
18:34
stmuk_ left
|
|||
RabidGravy | it's the writing to the socket that does it, but surely that is just an SIGPIPE and an exception | 18:35 | |
timotimo | i could imagine you're losing a few of the values from the supply by not waiting for the listeners to be set up before emitting stuff | 18:36 | |
but yeah, since you're never .done-ing the supply, it shouldn't just end | |||
RabidGravy | it is a SIGPIPE | ||
samcv | Footnote: Ze and hir are popular gender-free pronouns preferred by some transgender and/or gender non-conforming individuals | ||
[popular] | 18:37 | ||
timotimo | oh? | ||
samcv | oops | ||
sorry meant to paste to another channel | |||
timotimo | huh, i hadn't seen those yet | ||
babydrop | samcv: in what language? | ||
samcv | english? | ||
babydrop | English. never saw those before | ||
samcv | i guess | ||
www.washingtonpost.com/news/volokh...93de4dd5c7 | |||
this was the article i was pasting to another channel but ended up here | 18:38 | ||
imo you should call somebody what they want to be called, even if it's not a 'common' pronoun | |||
babydrop | Sure. | ||
samcv: which one do you use? | 18:39 | ||
samcv | what pronoun? the normal one? | ||
babydrop | Well, which one? | ||
timotimo | huh, a fine? that'll surely get some people spouting vitriol all over the 'net | ||
samcv | well her | ||
babydrop | Noted. | 18:40 | |
samcv | timotimo, yeah i think that was the point of the title | ||
timotimo | ah, right, clickbait and all that | ||
samcv | yeah | ||
timotimo | *sigh* such is the world of journalism that we live in today | ||
samcv | ^ | ||
timotimo goes AFK for dinner, yay | |||
[Coke] | ok. I have a local search working that if you search for 'envirt', you get 'environment variables' and 'invert' | 18:43 | |
(e.g.) | |||
I am thinking maybe we don't turn on the levenshtein search unless you have at least 3 chars, though. | 18:44 | ||
samcv | [Coke], do you think Pod6 should be its own language name on github? like how Pod is? | ||
or do you want it just to be labeled as Perl 6 code | |||
[Coke] | samcv: I'm the one that renamed all the files in perl6/doc to be .pod6 | ||
oh, I thought you mean as opposed to pod, not as opposed to perl6 | |||
samcv | is pod6 indexed as perl 6? | 18:45 | |
i don't think it is | |||
[Coke] | I mean, we can follow perl5's lead there, I guess. I don't really care. | ||
samcv | because my pull release adds that github.com/github/linguist/pull/33...-266298145 | ||
so like 99% sure it doesn't. unless you set the .gitattributes | |||
but is 'Pod6' an ok name or what? | |||
atm there's 103 repos with 74 users with .pod's that get classified as perl 6 pod by my PR to github's linguist, which is double the number of unique repos and users that even have .pod6 files period | 18:47 | ||
lucasb | what? some POD5 files are recognized as Pod6 files? | 18:52 | |
yoleaux | 00:34Z <babydrop> lucasb: were you going to fix that slip bug or should I take care of it? It's trivial and will let you learn the build system. | ||
babydrop | lots of Perl 5 test files get recognized as Perl 6 | 18:53 | |
lucasb | babydrop++ please, take care. I'm not confident right now :) | ||
babydrop | OK | ||
mst | alternative idea: lucasb should try, babydrop should review+help | 19:04 | |
then it gets fixed to 'confident' *and* lucasb learns the build system | 19:05 | ||
babydrop | +1 | ||
19:06
Tonik joined
|
|||
lucasb | +1 | 19:10 | |
(I'll try when I get some time, if babydrop don't get there first) | 19:11 | ||
19:11
mawkish left
|
|||
babydrop | lucasb: OK. Let me know when you have time and I'll give instructions on what to do | 19:11 | |
19:11
mawkish joined
|
|||
lucasb | babydrop: thanks | 19:11 | |
about POD, should "=end foo" emit a warn/error if no "=begin foo" was seen before it? | 19:12 | ||
dalek | c/coke/levenshtein: 7ebb0d7 | coke++ | / (3 files): Allow fuzzy searching For #999 |
||
lucasb | right now, P6 thinks the "=" in =end is an infix | ||
[Coke] | github.com/perl6/doc/pull/1047 - feel free to merge if someone else gives it a thumbs up | ||
19:12
BenGoldberg joined
|
|||
lucasb | sub end { 42 } \n say my $x \n =end | 19:12 | |
19:14
Vynce joined,
dalek left
19:15
dalek joined,
ChanServ sets mode: +v dalek
19:20
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'Allow fuzzy searching | 19:20 | |
travis-ci.org/perl6/doc/builds/183063123 github.com/perl6/doc/commit/7ebb0d77b368 | |||
19:20
travis-ci left
19:21
darutoko left
|
|||
ufobat | is it still pretty common that using Proc::Async leads to a segfault? | 19:25 | |
timotimo | shouldn't be | 19:26 | |
we do have that one thing where we double-free stuff in the work queue somehow sometimes | 19:27 | ||
MasterDuke | ufobat: i'd say yes | 19:29 | |
jnthn | I've been working on something that uses Proc::Async quite heavily, and running it and its test suite dozens of times a day. Haven't seen it SEGV in a week plus. | 19:30 | |
Maybe more. Can't quite remember when the last batch of fixes went in. | |||
MasterDuke | hmm, thought those "no such method 'XXX' for object 'YYY'" seen when running with TEST_HARNESS=6 and such were P::A related? | 19:31 | |
jnthn | No, the missing methods were grammar/match object related | 19:32 | |
babydrop | Nov 30 github.com/rakudo/rakudo/commit/74...d732da2d1a | ||
And Nov 23 github.com/rakudo/rakudo/commit/e4...8b78321c8f | 19:33 | ||
jnthn | So no obvious connection with Proc::Async. I think there's still some oddity in grammar/regex stuff somewhere that leads to concurrency issues (there's at least one RT still open on the matter) | ||
babydrop | and github.com/rakudo/rakudo/commit/6b...ce7ace2bda | ||
jnthn | Yeah, after the fixes of the 23rd it was a good bit better. Think it was the ones on the 30th that I've not seen it SEGV since. | 19:35 | |
MasterDuke | ahh, i may be mistakenly accusing P::A then | ||
ufobat | we.. i am on 2012.11 not nom! | ||
psch hopes that's a typo | |||
moritz | 2012.11? you've got to be kidding us | 19:36 | |
ufobat | ah ah ah | ||
well i am on 2016.11 | |||
moritz that for a time that ufobat was using RHEL 4 or something | |||
jnthn | MasterDuke: If you do get a P::A-related SEGV I'll happily look in to it, but as of the last round of fixes it's seemed a good bit better. | ||
ufobat did to much time travelling lateley | 19:37 | ||
jnthn, i am going to install nom and check if it is gone first | |||
RabidGravy | right, now with gist.github.com/jonathanstowe/925f...2e79334343 | ||
jnthn | Fingers crossed :) | ||
RabidGravy | It is getting an unhandled exception despite the CATCH | 19:38 | |
second version | |||
this is very odd | |||
19:38
pyrimidine left
|
|||
RabidGravy | can't even work out where the "Cannot resolve caller postcircumfix:<[ ]>(Mu, Int);" is coming from | 19:39 | |
nine | [ptc]: did you notice that Test::Builder actually works with rakudo's lexical_module_load branch? | 19:40 | |
japhb | jnthn: Is there anyone other than you that can work on github.com/jnthn/oo-monitors/issues/8 ? The project I'm working on that tickles this bug (or bug cooperative, you can't trust 'em, they might just work together) is starting to get users hitting it as well, and as the project expands, the 'no precompilation' workaround gets painfully slow .... | 19:42 | |
jnthn | RabidGravy: Dunno if it's relevant here, but QUIT catches exceptions from the supply you're subscribed to, while CATCH does the usual "exceptions generated by code in this dynamic scope" thing | 19:43 | |
RabidGravy: I can't guess where the postcircumfix thing is coming from either... | 19:44 | ||
japhb: Didn't I fix precomp on OO::Monitors once recently? :S | |||
japhb | jnthn: The fix wasn't complete. | ||
RabidGravy | so a QUIT in the react should catch that. let me try | ||
moritz | m: say Date.new('2017-02-29') | 19:45 | |
camelia | rakudo-moar 8d4dbb: OUTPUT«Day out of range. Is: 29, should be in 1..28 in block <unit> at <tmp> line 1» | ||
japhb | jnthn: So for some subset of uses (and I happen to be dealing with one), OO::Monitors is still broken with precomp on. : -( | ||
moritz | m: say Date.new('2016-02-29') | ||
camelia | rakudo-moar 8d4dbb: OUTPUT«2016-02-29» | ||
jnthn | japhb: Urgh | ||
moritz | m: say Date.new(year => 2017, month => 2, day => 29) | ||
camelia | rakudo-moar 8d4dbb: OUTPUT«2017-02-29» | ||
moritz | BUG | ||
japhb | jnthn: Yeah, and I'm *really* sorry to keep bugging you with this one, if there's anyone else qualified, I'll bug them instead ... | 19:46 | |
moritz | m: say Date.new(year => 2017, month => 42, day => 29) | 19:47 | |
camelia | rakudo-moar 8d4dbb: OUTPUT«2017-42-29» | ||
19:47
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
jnthn | What a strange error... | 19:49 | |
moritz | bisectable6: say Date.new(year => 2017, month => 42, day => 29) | ||
bisectable6 | moritz, Bisecting by exit code (old=2015.12 new=8d4dbb2). Old exit code: 1 | ||
moritz, bisect log: gist.github.com/7e080e976a205a729d...35428f8f6b | |||
moritz, (2016-02-14) github.com/rakudo/rakudo/commit/58...2627389942 | |||
jnthn | japhb: It does look rather like all concurrency stuff can be golfed away from it at least, so it's a plain precomp bug. | ||
The first golf is really odd too in that INIT shouldn't even really play into precomp | 19:51 | ||
moritz | I'm glad I'm not imagning this. I was sure I didn't implement it that way originally | 19:52 | |
jnthn | japhb: I'll have some tuits for Perl 6 stuff during the week (Wed typically is the day I set aside for Perl 6 stuff); I'll try and look at it then if nobody else beats me to it | 19:54 | |
japhb | jnthn: Thank you! | ||
[ptc] | nine: no, I'd not spotted that. Thanks for pointing that out :-) | 19:55 | |
nine: I've been wanting to write up what's been collected in the ticket for Test::Builder as a rakudobug, but I've been low on tuits lately... | |||
japhb | nine: Do you have any ideas on the issue (github.com/jnthn/oo-monitors/issues/8) I've been discussing with jnthn? Just in case this turns out to be more in your wheelhouse than his ... | 19:56 | |
jnthn is relieved to notice he still has all week to come up with his advent post | 19:58 | ||
babydrop | huggable: advent | ||
huggable | babydrop, github.com/perl6/mu/blob/master/mi...6/schedule | ||
19:58
kurahaupo__ joined
|
|||
babydrop | RabidGravy: I guess you remember about yours? :) | 19:58 | |
RabidGravy | yeah though I'm struggling with what should be a trivial example here | 20:00 | |
dalek | c: b7f0e9d | (Zoffix Znet)++ | template/ (2 files): Add cache bumping thing to assets So we could decache stuff on style/JS changes |
20:02 | |
20:07
labster joined
20:10
travis-ci joined
|
|||
travis-ci | Doc build failed. Zoffix Znet 'Add cache bumping thing to assets | 20:10 | |
travis-ci.org/perl6/doc/builds/183070984 github.com/perl6/doc/compare/85de0...f0e9de5929 | |||
20:10
travis-ci left
20:11
rindolf left
|
|||
pmurias | nqp-m: nqp::say('6x'+0) | 20:11 | |
camelia | nqp-moarvm: OUTPUT«6» | ||
pmurias | nqp-j: nqp::say('6x'+0) | ||
nqp-j: say("lives?") | |||
j: say("lives") | 20:12 | ||
psch | nqp-j never worked | ||
camelia | rakudo-jvm 8ca367: OUTPUT«lives» | ||
psch | it only complained in interesting but ultimately not-really-fixable ways iirc | ||
j: use nqp; nqp::say('6x'+0) | |||
camelia | rakudo-jvm 8ca367: OUTPUT«Cannot convert string to number: trailing characters after number in '036⏏5x' (indicated by ⏏) in sub val at gen/jvm/CORE.setting line 31224 in method Numeric at gen/jvm/CORE.setting line 12802 in sub infix:<+> at gen/jvm/CORE.setting lin…» | ||
psch | well that doesn't do the nqp codepath anyway :/ | ||
pmurias | m: my str $foo = '6x'; my int $bar = $foo;say($bar); | 20:13 | |
camelia | rakudo-moar 8d4dbb: OUTPUT«6» | ||
pmurias | j: my str $foo = '6x'; my int $bar = $foo;say($bar); | ||
camelia | rakudo-jvm 8ca367: OUTPUT«0» | ||
20:14
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
rindolf joined
|
|||
ufobat | jnthn, it does still segfault :/ | 20:18 | |
jnthn, but i am running perl6 --profile | 20:19 | ||
jnthn | And...when you're not using that? | 20:20 | |
ufobat | it just takes longer to segfault ^^ | ||
20:21
pyrimidine joined
20:24
lucasb left
|
|||
jnthn | OK. If you're able, please golf it and stick it in RT, otherwise reproduction instructions would allow someone else to do the initial bit of hunting. | 20:25 | |
ufobat | jnthn, gist.github.com/ufobat/8fa1042351d...cr-pm6-L44 | 20:26 | |
japhb | .ask tadzik Would you mind adding a module version in your META.info for Terminal-ANSIColor? Without a version, the module installers won't upgrade it by default. (Some of Terminal-Print's users are asking us why 256-color mode doesn't work and the answer usually ends up being '--force your Terminal-ANSIColor install' to get the latest.) | ||
yoleaux | japhb: I'll pass your message to tadzik. | ||
20:28
domidumont left
|
|||
lluchs | Is there an easy way to get from this: (('a', 1), ('b', 2), ('a', 2), ('a', 1)) to this: {a => set(1, 2), b => set(2)}, i.e. collect the values in sets? | 20:28 | |
babydrop | m: (('a', 1), ('b', 2), ('a', 2), ('a', 1)).flat.Set.say | 20:29 | |
camelia | rakudo-moar 8d4dbb: OUTPUT«set(a, b, 1, 2)» | ||
babydrop | hm | ||
lluchs | Not quite, I want a hash of sets. | 20:30 | |
ufobat | jnthn, is this golfed enough? or doesn't it count because of --profile? perl6 --profile -e 'while True {try {say await Proc::Async.new("/usr/bin/curl", "-m", "15", "localhost:3000").start; CATCH {.gist.say}} }' | ||
jnthn | No, we already know that --profile and concurrency stuff don't get along too well. | 20:31 | |
ufobat | okay | ||
babydrop | m: say (% .push: (('a', 1), ('b', 2), ('a', 2), ('a', 1)).flat)».Set | 20:32 | |
camelia | rakudo-moar 8d4dbb: OUTPUT«{a => set(1, 2), b => set(2)}» | ||
babydrop | lluchs: ^ | ||
lluchs | cool, thanks | ||
20:33
obfusk joined
|
|||
jnthn | ufobat: If you seaprate out the server and the client part into separate processes, and one of them still breaks, it'd help indicate if the problem is in one, the other, or due to the two together. | 20:33 | |
Well, if it doesn't still break when you've taken them apart | 20:34 | ||
(e.g. just have start_requests in a separate process) | |||
jnthn away for a bit | 20:35 | ||
20:36
labster left
20:37
mawkish left
20:39
kurahaupo__ left
20:40
rurban joined
|
|||
RabidGravy | okay this apparently stupidly simple example is actually doing my head in | 20:41 | |
20:41
rurban2 joined
|
|||
tadzik | japhb: absoluetly | 20:42 | |
yoleaux | 20:26Z <japhb> tadzik: Would you mind adding a module version in your META.info for Terminal-ANSIColor? Without a version, the module installers won't upgrade it by default. (Some of Terminal-Print's users are asking us why 256-color mode doesn't work and the answer usually ends up being '--force your Terminal-ANSIColor install' to get the latest.) | ||
20:42
mawkish joined
20:43
rurban1 left,
dalek left
20:44
dalek joined,
ChanServ sets mode: +v dalek
20:45
rurban left
20:46
Tonik left,
nchambers is now known as god
20:48
mawkish left
|
|||
ufobat | jnthn, it dosnt segfault if i seperate them into 2 processes | 20:51 | |
20:53
mawkish joined
|
|||
RabidGravy | okay that "Unhandled exception in code scheduled on thread 18 | 20:59 | |
Cannot resolve caller postcircumfix:<[ ]>(Mu, Int); none of these signatures match: | |||
" | |||
21:00
girafe joined
|
|||
RabidGravy | I cannot catch it anywhere | 21:00 | |
in the mainline, in the react, in the taps, nowhere | |||
21:05
BenGoldberg left
21:07
espadrine left
21:10
labster joined
|
|||
RabidGravy | okay it's the second time it hits the signal handler | 21:12 | |
21:15
kurahaupo__ joined
|
|||
RabidGravy | pretty certain the offending line is src/core/signals.pm:67 | 21:22 | |
babydrop | m: $*KERNEL.signals.say | 21:25 | |
ugh... lag | |||
camelia | rakudo-moar 0c75e5: OUTPUT«[(Any) SIGHUP SIGINT SIGQUIT SIGILL SIGTRAP SIGABRT SIGBUS SIGFPE SIGKILL SIGUSR1 SIGSEGV SIGUSR2 SIGPIPE SIGALRM SIGTERM SIGSTKFLT SIGCHLD SIGCONT SIGSTOP SIGTSTP SIGTTIN SIGTTOU SIGURG SIGXCPU SIGXFSZ SIGVTALRM SIGPROF SIGWINCH SIGIO SIGPWR SIGSYS]» | ||
RabidGravy | I think I'll have to instrument this but it looks like @known_signals is getting messed up on subsequent invocations | 21:31 | |
lizmat | RabidGravy: could be a race condition, have you tried replacing "state" with "my" ? | 21:33 | |
21:33
bjz left
|
|||
lizmat | or: | 21:33 | |
RabidGravy | no, I haven't got that far yet | ||
lizmat | my @known_signales := once $*KERNEL.signals | 21:34 | |
s/les/ls/ | |||
I know once is basically also a state var,. but then it would at least not be on an array, just on a hidden scalar | |||
MasterDuke | would INIT work instead of once? | 21:36 | |
lizmat | yes, but then you would run this at every start up, even when you don't need signal() | ||
and this is quite involved, if I remember correctly | |||
$ 6 '' | 21:37 | ||
real0m0.120s | |||
RabidGravy | right moving that signal outside does fix it | ||
lizmat | $ 6 '$*KERNEL.signals' | ||
real0m0.173s | |||
MasterDuke: we don't want to incur a 50+ millisecond delay for each start up | 21:38 | ||
MasterDuke | lizmat: ha, definitely not | 21:39 | |
lizmat | hmmm... actually, am quite unpleasantly surprised to see startup at 120 msecs now :-( | 21:40 | |
less than 2 weeks ago, I saw it at less than 105 msecs | |||
babydrop | :( | 21:41 | |
21:41
lukiramu joined
21:43
FROGGS left
|
|||
RabidGravy | okay, thar's way weird | 21:44 | |
lizmat | m: my regex line { \N* \n }; "abc\ndef\nghi" ~~ / <first=line> <second=line> /; say $<first second> | ||
camelia | rakudo-moar 0c75e5: OUTPUT«(「abc」 「def」)» | ||
lizmat | m: my regex line { \N* \n }; "abc\ndef\nghi" ~~ / <first=line> <second=line> /; say $<first second>>>.chomp | ||
camelia | rakudo-moar 0c75e5: OUTPUT«(abc def)» | ||
21:45
lukaramu left
|
|||
lizmat | I want to get the latter result by modifying the regex so I don't need the >>.chomp | 21:45 | |
suggestions ? | |||
RabidGravy | this works perfeectly fine gist.github.com/jonathanstowe/6918...7f5eedb8cf | 21:47 | |
only need to trap the SIGPIPE outside | |||
psch | lizmat: you need something to get Str instead of Match | ||
RabidGravy | totalyy weird | ||
psch | lizmat: unless that's the side-effect of .chomp you don't care about, then you can use )> | 21:48 | |
m: my regex line { \N* )> \n }; "abc\ndef\nghi" ~~ / <first=line> <second=line> /; say $<first second> | |||
camelia | rakudo-moar 0c75e5: OUTPUT«(「abc」 「def」)» | ||
psch | m: my regex line { \N* )> \n }; "abc\ndef\nghi" ~~ / <first=line> <second=line> /; say $<first second>>>.Str | 21:49 | |
camelia | rakudo-moar 0c75e5: OUTPUT«(abc def)» | ||
psch | but yeah | ||
lizmat | )> is what I was looking for, psch++ | ||
psch: so where is that documented ? | 21:51 | ||
psch | lizmat: looks like it's only in rb-nutshell.pod6 currently, unless my grep skills fail me | 21:52 | |
'the "lookaround" C</foo\Kbar/> becomes C«/foo <( bar )>' | 21:53 | ||
and yeah, that's definitely lacking, so i'm pretty sure a doc ticket would be appreciated | |||
21:53
bjz joined
|
|||
babydrop | The code examples in this section and ones below it are really weird: docs.perl6.org/language/regexes#Re...g_literals | 21:55 | |
May give an impression that it's how you're supposed to do replacements :/ | |||
babydrop would use a .subst in there instead of the dance with $_ and s/// | |||
lizmat | psch: github.com/perl6/doc/issues/1048 | 21:56 | |
psch | lizmat++ | ||
22:01
setty1 joined
22:03
bjz left
22:07
pmurias left
22:08
cdg_ left
22:12
andrzejku left
22:24
mawkish left,
mawkish joined
22:25
cdg joined
22:29
ggoebel left
|
|||
samcv | lizmat, would you mind mentioning that atom/github syntax highlighter has moved changed and to download the new plugin here atom.io/packages/language-perl6/ | 22:30 | |
lizmat | samcv: will do | ||
samcv | and it's now a perl6org github project, repo is here github.com/perl6/atom-language-perl6 (previous link was for atom package repo) | ||
hah it's only been downloaded once so far :) not even i've downloaded it but then again no need to download it when you're releasing them lol | 22:31 | ||
i'm sure plenty of people still have the old plugin | |||
babydrop must be that 1 download | 22:34 | ||
wooo! Do I get a prize? :) | |||
22:34
mawkish left
|
|||
samcv | yes :) | 22:36 | |
22:36
kurahaupo__ left
22:37
pmurias joined,
lucasb joined
|
|||
MasterDuke | lizmat: if you're looking for filler, maybe mention that profile output can be SQL (useful for analyzing profiles that even the Qt version can't handle)? it happened ~two weeks ago, but don't think was in a weekly | 22:37 | |
lizmat | MasterDuke: good point, will do | 22:38 | |
lucasb | I can do has $!foo and method foo { $!foo } to expose a private attr | 22:39 | |
is there someway I can say 'has $.foo is something' to have a reader accessor but forbid the named parameter in initialization? | |||
babydrop | lucasb: forbid or ignore? | ||
lucasb | forbid | 22:40 | |
babydrop | submethod BUILD (*%_) { %_ and die 'lulz nah' } | ||
lucasb | well, ignoring would work too | ||
babydrop | then just empty submethod | ||
That will remove all .new initialization though. | |||
lucasb | I want to forbid one specific attribute, not all | 22:41 | |
babydrop | submethod BUILD (*%_) { %_<foo>:exists and die 'lulz nah' } | ||
Umm no | |||
Umm yes | |||
Hmm | |||
lucasb | hmm | ||
babydrop | lucasb: well, the above would work, but it'll also fail to initialize any params you *do* want | 22:42 | |
lucasb | I don't think so | ||
babydrop | method new (*%_) { %_<foo>:exists and die 'lulz nah'; self.bless: %_ } | ||
m: class { has $.meow; submethod BUILD (*%_) { %_<foo>:exists and die 'lulz nah' } }.new(:42meow).meow.say | 22:43 | ||
camelia | rakudo-moar 0c75e5: OUTPUT«(Any)» | ||
babydrop | yup | ||
22:43
mawkish joined
|
|||
babydrop | m: class { has $.meow; method new (*%_) { %_<foo>:exists and die 'lulz nah'; self.bless: %_ } }.new(:42meow).meow.say | 22:43 | |
camelia | rakudo-moar 0c75e5: OUTPUT«Too many positionals passed; expected 1 argument but got 2 in method new at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
lizmat | method new (*%_) { %_<foo>:delete; self.bless: %_ } # just ignoring | ||
babydrop | m: class { has $.meow; method new (*%_) { %_<foo>:exists and die 'lulz nah'; self.bless: |%_ } }.new(:42meow).meow.say | ||
camelia | rakudo-moar 0c75e5: OUTPUT«42» | ||
babydrop | m: class { has $.meow; method new (*%_) { %_<foo>:exists and die 'lulz nah'; self.bless: |%_ } }.new(:42meow, :45foo).meow.say | 22:44 | |
camelia | rakudo-moar 0c75e5: OUTPUT«lulz nah in method new at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
babydrop | works | ||
22:45
labster left,
AlexDaniel joined
|
|||
AlexDaniel | samcv: any chance of faster uninames? :) | 22:45 | |
samcv | heh | 22:46 | |
that would be nice... | |||
i will see what i can do | |||
hmm multi sub uniname(Int:D $code) { nqp::getuniname($code) } | |||
looks like it cannot be optimized in rakudo, would have to be in nqp | 22:47 | ||
22:50
mawkish left,
mawkish joined
|
|||
lucasb | thanks babydrop, lizmat | 22:51 | |
m: class C { has $.a; has $.b; submethod TWEAK(*%_) { die 'nope' if %_<b>; $!b = 'my own value' } }; say C.new(a=>10) | 22:52 | ||
camelia | rakudo-moar 0c75e5: OUTPUT«C.new(a => 10, b => "my own value")» | ||
lucasb | m: class C { has $.a; has $.b; submethod TWEAK(*%_) { die 'nope' if %_<b>; $!b = 'my own value' } }; say C.new(a=>10,b=>20) | ||
camelia | rakudo-moar 0c75e5: OUTPUT«nope in submethod TWEAK at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
lucasb | ^^ what about this, is it an acceptable way too? | ||
22:54
mawkish left,
mawkish joined
|
|||
AlexDaniel | m: say :10<4_x> | 22:55 | |
camelia | rakudo-moar 0c75e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot convert string to number: malformed base-10 number in '034⏏5_x' (indicated by ⏏)at <tmp>:1------> 3say :10<4_x>7⏏5<EOL>» | ||
AlexDaniel | .oO( … … … nnnooooooooooooooooo ) |
||
22:55
rindolf left
|
|||
samcv | AlexDaniel, uninames can get all from (0..0x1FFFF) in 0.67 seconds | 22:57 | |
so i think the slow part about unicodable is the searching through the text | |||
babydrop | lucasb: sort of. This version will set $.foo, and then you'd die and the default is distanced away from the attribute. So I wouldn't use it in case I ever added some logic that does something when $.foo is set to something | ||
AlexDaniel | samcv: oh. Any chance of faster searching? :D | ||
well, I should be using index instead of a regex, I guess | 22:58 | ||
ah, it's .contains | |||
okay, should be fine | |||
… but with a junction | |||
samcv | u: penguin | 23:01 | |
unicodable6 | samcv, U+1F427 PENGUIN [So] (🐧) | 23:02 | |
23:03
rurban2 left
|
|||
samcv | AlexDaniel, it's slow because you're using grep | 23:04 | |
i can search through all codepoints 10 times in 1.35 seconds | 23:05 | ||
with .contains, searching for a single word | |||
grep makes it take 45 seconds... | |||
doing the exact same thing. (no junction) | |||
babydrop | unicodable6: source | 23:06 | |
unicodable6 | babydrop, github.com/perl6/whateverable | ||
samcv | for (0..0x1FFFF) { grep({ $_.uniname.contains('PENGUIN')}) # 10 times => 45 secs | ||
for (0..0x1FFFF) { | |||
(uniname $_).contains('PENGUIN'); | |||
} | |||
then 1.35 secs doing that 10 times for all codepoints | 23:07 | ||
babydrop | that grep looks wrong. | ||
You're doing the same contains thing in both versions, but in grep version you're calling grep 1FFFF times | 23:08 | ||
0x20000 times rather | 23:09 | ||
MasterDuke | the actual code is: for (0..0x1FFFF).grep({ (!@words or uniname($_).contains(@words.all)) and (!@props or uniprop($_) eq @props.any) }) { | 23:10 | |
babydrop | m: (^0x110000).grep(*.uniname.contains: 'PENGUIN').say; say time now - INIT now | ||
camelia | rakudo-moar 0c75e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3iname.contains: 'PENGUIN').say; say time7⏏5 now - INIT now expecting any of: infix infix stopper postfix stateme…» | ||
babydrop | m: (^0x110000).grep(*.uniname.contains: 'PENGUIN').say; say now - INIT now | ||
camelia | rakudo-moar 0c75e5: OUTPUT«(128039)2.5682320» | ||
samcv | ah that is probably true | 23:13 | |
MasterDuke | m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF).grep({ (!@words or uniname($_).contains(@words.all)) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:16 | |
camelia | rakudo-moar 0c75e5: OUTPUT«PENGUIN3.7370324» | ||
AlexDaniel | my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF).grep({ uniname($_).contains(@words[0]) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:18 | |
23:18
BenGoldberg joined
|
|||
AlexDaniel | m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF).grep({ uniname($_).contains(@words[0]) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:18 | |
camelia | rakudo-moar 0c75e5: OUTPUT«PENGUIN0.30956292» | ||
AlexDaniel | :| | ||
m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF).grep({ (!@words or uniname($_).contains(@words[0])) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | |||
camelia | rakudo-moar 0c75e5: OUTPUT«PENGUIN0.4982935» | ||
AlexDaniel | m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF).grep({ (!@words or uniname($_).contains(@words == 1 ?? @words[0] !! @words.all)) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:19 | |
camelia | rakudo-moar 0c75e5: OUTPUT«PENGUIN0.69428024» | ||
MasterDuke | m: my @props; my @words = <GUN LAGAR>; my @a; for (0..0x1FFFF).grep({ (!@words or uniname($_).contains(@words == 1 ?? @words[0] !! @words.all)) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:20 | |
samcv | the junctions are actually making it slow | ||
camelia | rakudo-moar 0c75e5: OUTPUT«CUNEIFORM SIGN A TIMES LAGAR GUNUCUNEIFORM SIGN LAGAR GUNUCUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE5.6568068» | ||
timotimo | yeah, junctions aren't very fast | ||
samcv | m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF) { !@words or uniname($_).contains(@words)) and (!@props or uniprop($_) eq @props.any) }; say now - INIT now | ||
camelia | rakudo-moar 0c75e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Missing blockat <tmp>:1------> 3 !@words or uniname($_).contains(@words)7⏏5) and (!@props or uniprop($_) eq @props. expecting any of: statement end statement modifier…» | ||
23:20
BenGoldberg left
|
|||
samcv | m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF) { say "match" if !@words or uniname($_).contains(@words) and (!@props or uniprop($_) eq @props.any) }; say now - INIT now | 23:20 | |
camelia | rakudo-moar 0c75e5: OUTPUT«match1.18019193» | ||
timotimo | if you .contains(@words), you'll get a stringification of @words as the needle | 23:21 | |
AlexDaniel | well, that's a bit different, isn't it? | ||
samcv | yeah | ||
23:22
pmurias left,
BenGoldberg joined
|
|||
AlexDaniel | m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF).grep({ (!@words or uniname($_).match(/@words/)) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:23 | |
camelia | rakudo-moar 0c75e5: OUTPUT«(timeout)» | ||
MasterDuke | a profile shows 25% exclusive in '<anon> (gen/moar/BOOTSTRAP.nqp:2167)' and 15% exclusive in 'contains (SETTING::src/core/Cool.pm:146)' | ||
AlexDaniel | :-| | ||
MasterDuke | and the BOOTSTRAP code is: Routine.HOW.add_method(Routine, 'find_best_dispatchee', nqp::getstaticcode(sub ($self, $capture, int $many = 0) { | ||
babydrop | m: use MONKEY; for (my $b = Bag.new(<a b c>)).^attributes { next unless .name eq '$!WHICH'; say nqp::attrinited($b,Bag,'$!WHICH') } | 23:24 | |
camelia | rakudo-moar 0c75e5: OUTPUT«Potential difficulties: Redeclaration of symbol '$b' at <tmp>:1 ------> 3use MONKEY; for (my $b7⏏5 = Bag.new(<a b c>)).^attributes { next P6opaque: no such attribute '$!WHICH' in type Bag when trying to check if it's initialized…» | ||
babydrop | Redeclaration? | ||
23:24
RabidGravy left
|
|||
BenGoldberg | m: my @p <== grep { .contains: "PENGUIN" } <== map { .uniname } <== 0..0x1FFFF; say now - INIT now; | 23:24 | |
camelia | rakudo-moar 0c75e5: OUTPUT«0.4613726» | ||
timotimo | huh, that's weird | ||
AlexDaniel | BenGoldberg: yeah, that's great, now with an array! | 23:25 | |
timotimo | i wonder if it explodes because of code we have to point out that for (my $foo), @array { } or whatever that syntax is in perl5 ... is in perl5 | ||
23:26
BenGoldberg left,
BenGoldberg joined
23:28
god is now known as nchambers
|
|||
babydrop | for my $foo ( @array ) { ... } | 23:29 | |
23:33
Ben_Goldberg joined
23:34
BenGoldberg left
23:35
BenGoldberg joined
|
|||
BenGoldberg | m: my @p := grep { .contains: "PENGUIN" } <== map { .uniname } <== 0..0x1FFFF; say now - INIT now; | 23:35 | |
camelia | rakudo-moar 0c75e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Sorry, do not know how to handle this case of a feed operator yet.at <tmp>:1------> 3N" } <== map { .uniname } <== 0..0x1FFFF7⏏5; say now - INIT now;» | ||
BenGoldberg | m: my @p := grep { .contains: "PENGUIN" }, map { .uniname }, 0..0x1FFFF; say now - INIT now; | 23:36 | |
camelia | rakudo-moar 0c75e5: OUTPUT«Type check failed in binding; expected Positional but got Seq (("PENGUIN",).Seq) in block <unit> at <tmp> line 1» | ||
23:38
Ben_Goldberg left,
dmaestro left
|
|||
BenGoldberg | m: my @foo := grep True, ^5; | 23:40 | |
camelia | rakudo-moar 0c75e5: OUTPUT«Potential difficulties: Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead at <tmp>:1 ------> 3my @foo := grep7⏏5 True, ^5;Cannot use Bool as Matcher with 'grep'. …» | ||
BenGoldberg | m: my @foo := grep :so, ^5; | 23:41 | |
camelia | rakudo-moar 0c75e5: OUTPUT«Unexpected adverb 'so' passed to grep on List in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: my @foo := grep *.so, ^5; | ||
camelia | rakudo-moar 0c75e5: OUTPUT«Type check failed in binding; expected Positional but got Seq ((1, 2, 3, 4).Seq) in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: say Seq ~~ PositionalBindFailover; | 23:42 | |
camelia | rakudo-moar 0c75e5: OUTPUT«True» | ||
BenGoldberg wonders what he's missing. | 23:43 | ||
AlexDaniel | m: my @props; my @words = <PENGUIN>; my $x = -> $y { my $out = False; for @words { $out = True if $x.contains($_) }; $out }; my @a; for (0..0x1FFFF).grep({ (!@words or $x(uniname($_))) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:44 | |
camelia | rakudo-moar 0c75e5: OUTPUT«No such method 'contains' for invocant of type 'Block' in block at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
AlexDaniel | m: my @props; my @words = <PENGUIN>; my $x = -> $y { my $out = False; for @words { $out = True if $y.contains($_) }; $out }; my @a; for (0..0x1FFFF).grep({ (!@words or $x(uniname($_))) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | ||
camelia | rakudo-moar 0c75e5: OUTPUT«PENGUIN2.7838986» | ||
23:44
nchambers left
|
|||
AlexDaniel | well, that looks faster /o\ | 23:44 | |
23:44
Vynce left
|
|||
MasterDuke | m: my @props; my @words = <GUN LAGAR>; my $x = -> $y { my $out = False; for @words { $out = True if $y.contains($_) }; $out }; my @a; for (0..0x1FFFF).grep({ (!@words or $x(uniname($_))) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:45 | |
camelia | rakudo-moar 0c75e5: OUTPUT«BATAK LETTER SIMALUNGUN ABATAK LETTER SIMALUNGUN HABATAK LETTER SIMALUNGUN PABATAK LETTER SIMALUNGUN WABATAK LETTER SIMALUNGUN GABATAK LETTER SIMALUNGUN RABATAK LETTER SIMALUNGUN MABATAK LETTER SIMALUNGUN SABATAK LETTER SIMALUNGUN Y…» | ||
BenGoldberg | AlexDaniel, What exactly are you trying to do, anyway? | ||
AlexDaniel | BenGoldberg: not sure if I'm trying to do anything :) | 23:46 | |
BenGoldberg: basically, this line is from unicodable | |||
MasterDuke | AlexDaniel: different results for an array | ||
AlexDaniel | now there are of course better ways to do it | ||
(like, don't search sequentially and don't search in perl 6…) | |||
but I'm feeling kinda lazy so perhaps we can get rakudo faster? ;) | |||
23:46
mohae left
|
|||
babydrop | AlexDaniel: well volunteered! | 23:47 | |
23:48
mohae joined
|
|||
AlexDaniel | m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF).grep(-> $z { (!@words or @words.first({uniname($z).contains($_)})) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:49 | |
camelia | rakudo-moar 0c75e5: OUTPUT«PENGUIN2.17332158» | ||
AlexDaniel | well, that's some progress, yea? | ||
MasterDuke | different results for an array again, though | 23:50 | |
AlexDaniel | hmm, what's different? | 23:51 | |
MasterDuke | m: my @props; my @words = <GUN LAGAR>; my @a; for (0..0x1FFFF).grep(-> $z { (!@words or @words.first({uniname($z).contains($_)})) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | ||
23:51
Ben_Goldberg joined
|
|||
camelia | rakudo-moar 0c75e5: OUTPUT«BATAK LETTER SIMALUNGUN ABATAK LETTER SIMALUNGUN HABATAK LETTER SIMALUNGUN PABATAK LETTER SIMALUNGUN WABATAK LETTER SIMALUNGUN GABATAK LETTER SIMALUNGUN RABATAK LETTER SIMALUNGUN MABATAK LETTER SIMALUNGUN SABATAK LETTER SIMALUNGUN Y…» | 23:51 | |
23:51
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
BenGoldberg | m: my $props = none; my $words = any <GUN LAGAR>; my $results = (^0x20000).grep { .uniprops.contains($props) or .uninames.contains($names) }; say now - INIT now; | 23:51 | |
camelia | rakudo-moar 0c75e5: OUTPUT«5===SORRY!5===Function "none" may not be called without arguments (please use () or whitespace to denote arguments, or &none to refer to the function as a noun, or use .none if you meant $_)at <tmp>:1------> 3my $props = none7⏏5; my $word…» | ||
MasterDuke | m: my @props; my @words = <GUN LAGAR>; my @a; for (0..0x1FFFF).grep({ (!@words or uniname($_).contains(@words == 1 ?? @words[0] !! @words.all)) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | ||
camelia | rakudo-moar 0c75e5: OUTPUT«CUNEIFORM SIGN A TIMES LAGAR GUNUCUNEIFORM SIGN LAGAR GUNUCUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE5.471930» | ||
BenGoldberg | m: my $props = none(); my $words = any <GUN LAGAR>; my $results = (^0x20000).grep { .uniprops.contains($props) or .uninames.contains($names) }; say now - INIT now; | ||
camelia | rakudo-moar 0c75e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unexpected block in infix position (missing statement control word before the expression?)at <tmp>:1------> 3UN LAGAR>; my $results = (^0x20000).grep7⏏5 { .uniprops.contains($props) or .uninam…» | ||
BenGoldberg | m: my $props = none(); my $words = any <GUN LAGAR>; my $results = (^0x20000).grep: { .uniprops.contains($props) or .uninames.contains($names) }; say now - INIT now; | 23:52 | |
camelia | rakudo-moar 0c75e5: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$names' is not declaredat <tmp>:1------> 3.contains($props) or .uninames.contains(7⏏5$names) }; say now - INIT now;» | ||
AlexDaniel | MasterDuke: wait, why is there a difference? | ||
BenGoldberg | m: my $props = none(); my $words = any <GUN LAGAR>; my $results = (^0x20000).grep: { .uniprops.contains($props) or .uninames.contains($words) }; say now - INIT now; | ||
camelia | rakudo-moar 0c75e5: OUTPUT«0.0020322» | ||
BenGoldberg | How's that for fast! | ||
MasterDuke | different number of results | ||
23:52
lukiramu left
|
|||
AlexDaniel | MasterDuke: that I see, but why? | 23:52 | |
BenGoldberg | m: my $props = none(); my $words = any <GUN LAGAR>; my $results = (^0x20000).grep: { .uniprops.contains($props) or .uninames.contains($words) }; say +$results; | 23:53 | |
camelia | rakudo-moar 0c75e5: OUTPUT«Cannot resolve caller uniprops(Int); none of these signatures match: (Str:D $str, Stringy:D $propname = "General_Category") in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: my $props = none(); my $words = any <GUN LAGAR>; my $results = (^0x20000).grep: { .uniprops.contains($props) or .uninames.contains($words) }; say +@$results; | ||
camelia | rakudo-moar 0c75e5: OUTPUT«Cannot resolve caller uniprops(Int); none of these signatures match: (Str:D $str, Stringy:D $propname = "General_Category") in block <unit> at <tmp> line 1» | ||
BenGoldberg | m: my $props = none(); my $words = any <GUN LAGAR>; my $results = (^0x20000).grep: { .uniprops.contains($props) or .uninames.contains($words) }; say $results.elems; | ||
camelia | rakudo-moar 0c75e5: OUTPUT«Cannot resolve caller uniprops(Int); none of these signatures match: (Str:D $str, Stringy:D $propname = "General_Category") in block <unit> at <tmp> line 1» | ||
MasterDuke | AlexDaniel: that i don't know | ||
AlexDaniel | eval: my @props; my @words = <GUN LAGAR>; my @a; for (0..0x1FFFF).grep({ (!@words or uniname($_).contains(@words == 1 ?? @words[0] !! @words.all)) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | 23:54 | |
evalable6 | AlexDaniel, rakudo-moar 0c75e5d: OUTPUT«CUNEIFORM SIGN A TIMES LAGAR GUNUCUNEIFORM SIGN LAGAR GUNUCUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE4.8927714» | ||
AlexDaniel | eval: my @props; my @words = <GUN LAGAR>; my @a; for (0..0x1FFFF).grep(-> $z { (!@words or @words.first({uniname($z).contains($_)})) and (!@props or uniprop($_) eq @props.any) }) { .uniname.say }; say now - INIT now | ||
evalable6 | AlexDaniel, rakudo-moar 0c75e5d: OUTPUT«BATAK LETTER SIMALUNGUN ABATAK LETTER SIMALUNGUN HABATAK LETTER SIMALUNGUN PABATAK LETTER S…» | ||
AlexDaniel, Full output: gist.github.com/729852f13bc9fb7081...3cbef7b9a7 | |||
AlexDaniel | MasterDuke: ahhhhhhhhhhhhhhhhhhh it should be .all | 23:55 | |
so .first is out | |||
timotimo | no, you can .first({ not ... }) | ||
AlexDaniel | m: my @props; my @words = <PENGUIN>; my @a; for (0..0x1FFFF).grep(-> $z { (!@words or !@words.first({ not uniname($z).contains($_)})) and (!@props or @props.first({uniprop($z) eq $_})) }) { .uniname.say }; say now - INIT now | 23:56 | |
camelia | rakudo-moar 0c75e5: OUTPUT«PENGUIN2.366784» | ||
23:56
Actualeyes joined
|