»ö« 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:04
kurahaupo__ left
|
|||
atweiden-air | m: gist.github.com/anonymous/9c7bd705...643da6ee01 | 00:09 | |
camelia | rakudo-moar 53d7b7: OUTPUT«[DEBUG] $leading-whitespace: 2[DEBUG] $leading-whitespace: 5[DEBUG] $leading-whitespace: 8True» | ||
samcv | how can I get grammars to return multiple matches? | 00:10 | |
atweiden-air | why is the $leading-whitespace variable additive? | ||
i was thinking it may have something to do with $/ | 00:11 | ||
timotimo | atweiden-air: it could be related to backtracking | ||
00:12
cognominal left
|
|||
atweiden-air | i thought regex backtracked but not token | 00:12 | |
timotimo | oh, i didn't realize | ||
samcv | yeah tokens don't backtrack | ||
timotimo | i'm not exactly sure when the assignment to a :my happens, maybe it's too early? | ||
00:12
silug left
00:13
silug joined
|
|||
timotimo | oh, hah | 00:13 | |
yeah, $/<leading-whitespace> gets a list in it | |||
because you're [ ]*-ing it | |||
it'd probably be easier to have it in a separate token so you get a guaranteed fresh $/ for each line | |||
atweiden-air | ok, will try that | 00:14 | |
00:14
Cole_ns left
|
|||
samcv | gist.github.com/samcv/7c1fc86a7428...8c642a0ea8 how can I make this find multiple matches? | 00:15 | |
it's only returning the last match | |||
00:16
sufrostico joined
|
|||
atweiden-air | samcv: do you want the Matches, or do you want to build an AST | 00:17 | |
AlexDaniel | samcv: you asked for one url, you got one url | ||
timotimo | yeah, you're matching any amount of shit, then a <url>, then any amount of shit | ||
you may want to use a regular regex match for url instead of trying to parse the whole string with your grammar | 00:18 | ||
that'll give you things like "exhaustive" matching | |||
or you can .comb it | |||
samcv | ah ok | ||
comb could be good, good suggestion | |||
AlexDaniel | you can also try something funny like <url> %% [.*?] | ||
<url>+ I mean | 00:19 | ||
samcv | ah AlexDaniel that works great | 00:20 | |
AlexDaniel | though you should try throwing some large piece of text into it to see if it actually works great | 00:21 | |
samcv | yeah that's what i'm going to do. and also benchmark it and try and find the fastest way to do it | ||
comb may work faster | |||
AlexDaniel | definitely | ||
00:22
sufrostico left
|
|||
AlexDaniel | and it's probably better | 00:22 | |
(just comb me all urls out of it!) | |||
00:24
sufrostico joined
|
|||
AlexDaniel | left one reminds me of Camelia imgur.com/Ggn2kCu | 00:26 | |
00:29
troys_ is now known as troys
00:30
Actualeyes joined
00:34
atweiden-air left
00:37
sufrostico left
00:39
sufrostico joined,
pierre_ joined,
pierre_ left
00:40
pierre_ joined
00:43
cooper_ joined
00:47
cooper_ is now known as cooper
00:53
kyclark joined
00:56
kalkin-_ left,
kyclark left
01:16
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:20
itaipu left
01:41
troys is now known as troys_
02:02
nadim_ left,
nadim joined
02:11
BenGoldberg joined
02:14
xtt joined
02:15
pierre_ left
02:22
nadim left
02:23
pierre_ joined
02:27
cdg left
02:28
pierre_ left
02:45
ilbot3 left
02:47
ilbot3 joined
02:50
MilkmanDan left
02:55
pierre_ joined
02:57
canopus left
02:59
canopus joined
03:10
djbkd joined
03:22
kyclark joined
03:23
araujo left
03:24
araujo joined,
cooper_ joined,
cooper_ left,
cooper_ joined
03:27
cooper left
03:33
sQuEE left
|
|||
samcv | is there a way to negate a regex match? my regex term { <allowed>+ <-sp - protected> } | 03:34 | |
but that does not work | 03:35 | ||
there's a regex named protected btw | |||
03:35
pierre_ left
03:36
kyclark left,
sQuEE joined
|
|||
samcv | err i guess it should be -ws | 03:37 | |
my regex term { <allowed>+ <-ws -protected> } this does not work though | 03:38 | ||
03:38
noganex joined
|
|||
samcv | is there a special way to define character classes as opposed to regexes? | 03:38 | |
maybe it's because protected is a token and not of the correct type? | |||
geekosaur | that question sounds wrong | ||
if you want "don't match this regex", a negated charclass is not the way to do it | 03:39 | ||
unless the regex itself is a charclass and nothing else (and even then I don't think you can say it that way?) | |||
samcv | well the protected regex is just a character class | ||
yeah that's what it is | |||
03:40
pierre_ joined,
noganex_ left
|
|||
samcv | either some way to define my own charclasses or just negate a regex should work, just 'don't match this' | 03:40 | |
timotimo | does anybody want to implement boyer-moore substring finding in MoarVM? | 03:41 | |
03:51
mayathecat joined
04:01
mayathecat left
|
|||
AlexDaniel | samcv: what about <!before … > ? | 04:03 | |
04:03
mayathecat joined
|
|||
timotimo | normally boyer moore is implemented in terms of 8bit characters | 04:04 | |
04:05
pierre_ left
|
|||
timotimo | for the needle, that is | 04:05 | |
we normally have signed 32bit graphemes for our strings ... | |||
so ideally the table for the skips would be made sparse | |||
potentially a sorted list of graphemes that occur in the needle string | 04:06 | ||
thankfully the size of that table is then at most the number of graphemes in the needle string | |||
and since it's sorted, binary search can be employed | 04:07 | ||
samcv | AlexDaniel, my regex term { <allowed>+ <!after <protected>> } this works :) | 04:14 | |
awesome | |||
04:17
imcsk8 left,
AlexDaniel left
04:18
imcsk8 joined
04:19
dextertzu left
04:21
dextertzu joined
04:23
pierre_ joined
04:27
xtt left
04:38
khw joined
04:42
mayathecat left,
pierre_ left
04:46
labster joined
04:48
pierre_ joined
04:52
pierre_ left
05:00
garu left,
garu joined
05:04
mst left
05:05
mst joined
05:13
khw left
05:16
Cabanossi left
05:20
Cabanossi joined
05:25
BenGoldberg left
05:28
troys_ is now known as troys
05:30
xtt joined
|
|||
samcv | ok well I created a module, your guys input is requested github.com/samcv/URL-Find/ | 05:35 | |
if anything should be tweaked | |||
05:36
brillenfux joined
05:38
brillenfux_ joined
05:41
dj_goku left
05:42
brillenfux left
|
|||
seatek | oh that's a neat way to use the grammar-y stuff, samcv - wouldn't have thought to do that! | 05:44 | |
samcv | :) | ||
later i might add more functions for like only grabbing the base url or the suffix, but so far seems pretty good with everything i've tested it with | 05:47 | ||
05:48
aborazmeh left
|
|||
samcv | 95% sure no url's should use any of the reserved characters like & % for the last thing in the url | 05:48 | |
psch | ? can be valid as last character, can't it? | ||
05:49
pierre_ joined
|
|||
psch | (also you might be missing a few protocols, not sure if an exhaustive list is the right approach there) | 05:49 | |
like, file://, telnet://, mailto:// exist | 05:50 | ||
samcv | well psch after the ? you pass query strings, but if it ends in ? | ||
then that doesn't give any data | |||
psch | right, but it's useful on some websites to prevent server-side caching | ||
samcv | so it's probably somebody just doing google.com/thing? | ||
hmm | 05:51 | ||
psch | i think i saw it the most on imgur.com, where a given direct link to a picture wouldn't load without the ? at the end but would with it | ||
samcv | i could have a find-uris to find any uri and not just URL's | 05:52 | |
but URL's are locations on the internet | |||
err Web | |||
since internet and web are different things | |||
psch | right, so file:// and mailto:// wouldn't belong | 05:53 | |
samcv | yeah | ||
05:53
pierre_ left
|
|||
samcv | they're uri's so could have something to find all URI's maybe just anything that's ascii:// or something, would have to check the rules for generic URI's because i think they're different from url's | 05:54 | |
psch | "Examples of popular schemes include http, ftp, mailto, file, data, and irc." says wikipedia though vOv | ||
en.wikipedia.org/wiki/Uniform_Reso...tor#Syntax | |||
honestly, whatever satisfies your needs :) | 05:55 | ||
samcv | i could expand it though. seems like ftp https and http should be a little seperate though | ||
still not sure about the ? at the end. but it may be a special case where it does something differently | 05:56 | ||
since it's the query and i guess blank query must have some meaning | |||
psch, those are all fair things though that need to be considered | |||
seatek | Somebody should annotate this page with a warning about using EVAL in a loop docs.perl6.org/routine/EVAL -- how it will consume memory and that it's a known bug from forever, and to consider using Callable instead | 05:59 | |
06:00
wtw left
|
|||
seatek | I can't find it to edit it ;) | 06:00 | |
06:00
wtw joined
06:01
brillenfux_ left,
troys left
|
|||
psch | seatek: github.com/perl6/doc/blob/master/d...pod6#L1208 | 06:02 | |
06:03
brillenfux_ joined
|
|||
seatek | oo thanks psch ! | 06:03 | |
06:07
wtw_ joined
|
|||
dalek | c: ecd6226 | seatek++ | doc/Type/Cool.pod6: warn the unsuspecting of EVAL atrocities. |
06:09 | |
synopsebot6 | Link: doc.perl6.org/type/Cool | ||
06:09
wtw left
|
|||
seatek | i figure that any bug that's been in the language for more than 5 years should be a documented "feature" | 06:09 | |
06:10
brillenfux__ joined
06:12
brillenfux_ left
|
|||
moritz | it's not been in the language for that long, it's been in the compiler | 06:14 | |
which is a kinda important distinction here | |||
seatek | not to any user | ||
moritz | though if it makes you happy, I'm not opposed to having links to known bug tickets in there, as long as somebody maintains them | 06:15 | |
that is, removes them when closed | |||
even better would be have an "affects" field in RT, and then a possibility to dynamically list all the bugs that affect a certain function | |||
seatek | i'll be watching this one as long as i use perl -- it effects everyone using Crust stuff who tries using it in the way it's documented to be used | ||
psch | clearly we need to revive niecza /o\ | 06:17 | |
moritz | psch: please do! | ||
psch | i don't feel qualified, honestly :) | 06:18 | |
it would help with exactly this kind of misconception though, i suppose | |||
seatek | i'll gather the neighborhood cats and fruit offerings! | ||
yes | |||
yes it would | 06:19 | ||
there is no distinction except internally here | |||
i'm going to work on the documentation for Crust to offer Callables as an alternative in the meantime | 06:20 | ||
06:21
labster left
|
|||
psch | hm, actually i wonder how CoreCLR is doing | 06:21 | |
seatek | i so wish i knew enough to help out down in the machine room. maybe one day | 06:22 | |
06:22
ChoHag left
|
|||
psch | seatek: well, it's mostly a matter of looking at tickets and then looking at source code | 06:23 | |
i didn't have any idea of compiler development before starting to contribute to rakudo | |||
(i'm preetty sure that still shows sometimes though :) ) | |||
seatek | ha! i've never even come close to compiler work before | 06:24 | |
06:24
ChoHag joined,
domidumont joined
|
|||
seatek | you know tons. i'm still trying to get used to the basics! | 06:24 | |
06:25
domidumont left
|
|||
seatek | i can certainly imagine why people would not want to tackle memory leak problems | 06:25 | |
psch | well, my first commit was on Jan 18 2014 so i did spend some time with the language and compiler :P | ||
seatek | yeah :) | ||
psch | note though that there's clearly people around that spent a lot more time with it | ||
dalek | c: 50d6647 | gfldex++ | doc/Type/Cool.pod6: Revert "warn the unsuspecting of EVAL atrocities." This reverts commit ecd622683229423f557962933bc86952b70ecf6a. We do not warn about bugs in the docs. There are a way to many to add them all, there is no sane way to decide what bug to pick and any bug is an implementation detail. We do not doc implementation details in general. |
06:28 | |
synopsebot6 | Link: doc.perl6.org/type/Cool | ||
06:28
darutoko joined
|
|||
seatek | I wasted almost 2 days of work trying to isolate what was going on -- and it was that bug. That isn't just a silly bug. That is a subtle bug, and it has a very wide scope. | 06:31 | |
06:32
brillenfux_ joined
06:33
pierre_ joined
06:34
brillenfux__ left
|
|||
gfldex | seatek: the quality of the bug does not change the fact that it is an implementation detail. Also, there are at least 40 more subtle bugs. When are you going to add them too? | 06:35 | |
seatek: And you will have to watch RT and update the docs whenever a bug you added was fixed. | |||
seatek | I try to help people whenever I can. To me, that is more important. | ||
That bug is big, and it's been around for many years. It's not going anywhere any time soon most probably. | 06:36 | ||
gfldex | how do you know? | 06:37 | |
seatek | It's a feature of the language | 06:38 | |
Even if it's not ;) | |||
we tested it together | |||
it's been around for years | |||
everyone who uses Crust in the documented way will experience it | 06:39 | ||
and that's just one | |||
psch | seatek: the docs document roast, not rakudo | ||
gfldex | then you should send an PR with a workaround to crust | ||
seatek | it gets slower and slower and eats up more and more memory -- unless you use callables instead | ||
yes i intend to as soon as i work out a nice neat way to handle it... which i've almost got just right | 06:40 | ||
dalek | osystem: cc67a3e | (Samantha McVey)++ | META.list: Add URL::Find module |
06:42 | |
osystem: 71e44e4 | RabidGravy++ | META.list: Merge pull request #267 from samcv/master Add URL::Find module |
|||
seatek | i think the documentation should link to related bugs | 06:43 | |
i'd be happy to work on something like that, that will automate it | |||
ugh add to the stack | |||
EVAL would pull up a huge list | 06:44 | ||
06:45
cpage_ left
|
|||
seatek | it kinda bugs me using EVAL anyway for this stuff. or even callables. roles make so much more sense. | 06:46 | |
probably nobody uses tags in RT | |||
gfldex | seatek: we do: rt.perl.org/Public/Search/Simple.h...%5Bconc%5D | 06:48 | |
seatek | those are RT queues though aren't they? | 06:49 | |
psch | no, we have only one perl6 queue | 06:50 | |
seatek | ah ok nice :) | ||
yeah how about i use Crust for that with an EVAL | |||
06:51
RabidGravy joined
|
|||
seatek | no i will look at that later | 06:51 | |
gfldex: since you deleted the warning to others about EVAL, it falls on you to fix the EVAL bug. otherwise all the days of suffering others experience as a result will all your fault. even if they didn't bother to check any documentation. or even used EVAL. ;) | 06:55 | ||
xtt | Does anyone know if perl6 currently provide raw socket? I want to construct an icmp message but I can't find API | 06:56 | |
06:57
domidumont joined
06:58
domidumont left
07:01
domidumont joined,
domidumont left,
silug left
07:03
ufobat joined
07:04
domidumont joined
07:07
domidumont left,
abraxxa joined
07:08
skids left
|
|||
RabidGravy | xtt, I think there's a module for it | 07:12 | |
07:12
pierre_ left,
neuraload joined
|
|||
RabidGravy | or I thought there was, I can't find it anymore | 07:12 | |
xtt | oh sad | 07:13 | |
RabidGravy Seems the doc does not explain how to construct that docs.perl6.org/type/IO::Socket::INET | 07:15 | ||
seatek | gfldex: ok finally got Crust working ok with callables and still being able to use their middlware. It does eliminate the memory problems, and the performance is about 300% better. | ||
RabidGravy | yes, because that only makes TCP sockets | ||
07:15
domidumont joined
|
|||
xtt | :RabidGravy I thought since they have tcp api, raw_sock seems to be available somewhere | 07:16 | |
07:17
pierre_ joined
|
|||
RabidGravy | well IO::Socket::Async handles UDP as well, but no support currently for other packet types currently | 07:17 | |
you could look at github.com/tokuhirom/p6-Raw-Socket (which is what I was thinking of,) and see if that can be made to do what you want | 07:18 | ||
07:18
zacts left
|
|||
RabidGravy | it appears that tokuhirom removed it from the modules list when the UDP support in IO::Socket::Async came along | 07:19 | |
07:20
silug joined
07:21
pierre_ left
|
|||
RabidGravy | anyway off to the grindstone, have fun | 07:23 | |
07:24
pierre_ joined
07:27
firstdayonthejob joined
|
|||
xtt | RabidGravy thanks for this repo! | 07:27 | |
07:30
pierre_ left,
cpage_ joined
07:38
pierre_ joined
07:39
firstdayonthejob left
07:41
wamba joined
07:42
pierre_ left
|
|||
Xliff | No MSIs for latest rakudo release? | 07:46 | |
*snarl* -- and 2016.7 MSI only installs to C: -- getting tight on the SSD. | 07:48 | ||
07:53
xinming left
07:54
xinming joined
07:56
imcsk8 left,
imcsk8 joined
07:58
pierre_ joined
08:03
labster joined
|
|||
seatek | Xliff: somebody said he was going to make MSI's for Windows either last weekend or this weekend. So hopefully this weekend | 08:03 | |
08:07
xinming left
08:09
djbkd left
|
|||
Xliff | seatek++: Thanks for the update. | 08:10 | |
WOOOO HOOOOO! | |||
Xliff does silly dance. | |||
Just got to major milestone in this silly project I am working on. | 08:11 | ||
Using silly OAuth authentication flow. | |||
s/OAuth/"OAuth2"/ | |||
(scare quotes required) | |||
Doing everything in the flow with a script. No browser. No webserver. | 08:12 | ||
And I'm.... al... most.... THERE. | |||
Xliff does another silly dance. | |||
seatek | :) | ||
Xliff | Of course all of this is in an extremely cluttered test script. | 08:14 | |
Breaking it up into reusable parts will be tricky. | |||
seatek | the pain and the glory ;) | ||
Xliff | Yeah. This process is critical to the Webservice API I am trying to hook into. | 08:16 | |
I haven't even started with the applications, yet! | |||
/o\ | |||
eveonline-third-party-documentation...index.html | 08:17 | ||
seatek | Just don't use any EVALs! | ||
Xliff | It's taken me a week and I have only gotten through the SSO! | ||
Xliff glares at seatek. | |||
Dood would have to be desperate or insane to use any MONKEYS | 08:18 | ||
seatek | that looks nice and design'y | ||
Xliff | Of course, I could be pushed to be both. | ||
Long way from that, tho | |||
seatek | yeah i don't like evals at all either | ||
Xliff | (And if you believe that, I have a bridge to sell you up north...) | ||
Xliff flees | 08:19 | ||
seatek | eve online stuff eh? that's funny. i was looking at json for wow addons the other day here. i think there must be a theme happening in perl here.. | 08:20 | |
08:24
xinming joined
|
|||
Xliff | You're imagining it. | 08:25 | |
;) | |||
seatek | i'm always doing that ;) | 08:26 | |
08:35
zakharyas joined
08:42
dextertzu left
08:44
pierre__ joined,
dextertzu joined
08:45
pierre_ left
08:46
mtj_ joined,
risou___ joined
08:48
petercommand left
08:49
petercommand joined
08:54
kurahaupo__ joined
08:58
labster left
09:00
labster joined
09:03
pierre__ left
09:08
pmurias joined
|
|||
pmurias | seatek: what is Crust using EVAL for? | 09:09 | |
seatek | reading in people's .p6sgi files -- the basis of their apps | 09:10 | |
pmurias | shouldn't it only happen when the .p6sgi file changes? | 09:11 | |
seatek | i just submitted a pull request to the Crust maintainer updating the readme.md file with info on how to use a callable instead | ||
one would think so! | |||
but using the callable make the memory leak stop... and increases performance by about 300% | 09:12 | ||
(in the case of middleware using sessions) | |||
09:12
pierre_ joined
09:14
nadim joined
|
|||
pmurias | seatek: weird, the Crust source looks like it should be only calling EVAL once per Crust::Runner.run | 09:14 | |
09:15
g4 joined,
g4 left,
g4 joined
|
|||
seatek | yes -- i didn't understand it either.. but if you pass a callable directly in there, where it's pulling in the source from whatever source, the memory leak disappears | 09:16 | |
09:16
pierre_ left
|
|||
seatek | it's like the fact that it was eval'ed tainted it somehow | 09:17 | |
which makes me crazy | |||
the odd thing too is that this EVAL bug uses up more memory, then seems to taper off.... ;) | 09:20 | ||
09:20
rindolf joined
|
|||
seatek | pmurias: gfldex knows more about it than me i'm sure | 09:21 | |
gfldex | i don't. I do however know where the search button on RT is. | ||
seatek | you did some test here that demonstrated it succinctly... if i'm remembering right | 09:22 | |
it's much more pleasant using a Callable anyway. if such craziness can be pleasant. it needs a Role overhaul | 09:24 | ||
09:25
labster left
|
|||
DrForr | I do something simpler with Prancer, IIRC. | 09:26 | |
09:26
Ulti left,
Ulti joined
|
|||
seatek | DrForr: i need to check that out. are you still doing stuff with it, or has it been abandoned? | 09:26 | |
DrForr | Not abandoned, just need to finish what's piled up before it. | 09:27 | |
seatek | pmurias: one thing too -- the memory leak is GREATLY exacerbated if you use middlware with your call | ||
i know the feeling :( | |||
thinking i might be able to get back to my actual work tomorrow. :) | 09:28 | ||
09:28
kurahaupo__ left,
FROGGS joined
09:36
neuraload left
09:37
neuraload joined
09:40
ocbtec joined
09:46
labster joined
09:47
cognominal joined
|
|||
Xliff | And that's the bearer token done. SSO flow completed! | 09:50 | |
And now I crash. | |||
seatek | ;) happy temporary oblivion | ||
tadzik | ooh | 09:52 | |
C# 7.0 new features feels perl6-y :) | |||
switch (shape) { case Rectangle s when (s.Length == s.Height): ... } | 09:53 | ||
stmuk_ fights perl5 carton | |||
tadzik | I like carton | 09:54 | |
what problems do you have with it? | |||
stmuk_ | just a large number of nasty deps .. it does work better than I expected for the task | 10:00 | |
not quite as deterministic as I would expect either | |||
10:03
wamba left
|
|||
FROGGS | mst: [OT] is there a IRC channel where I could post a Perl 5 job offer in Germany? | 10:07 | |
DrForr | #perl.de on irc.perl.org? Maybe #perl_de or #perlde | ||
10:07
andrzejku_ left
|
|||
FROGGS | DrForr++ # #perlde exists | 10:08 | |
10:11
girafe left
10:12
labster left
10:13
pierre_ joined
|
|||
seatek | pmurias: here's an example of how the EVAL leak can easily happen unexpectedly, too. Though of course it's expected with the .new being inside the loop, it could be very easily occluded somewhere. but i haven't been able to find any evidence of "taint", like it seemed, after minimal trying. gist.github.com/adaptiveoptics/4ae...15ee9bfebe | 10:13 | |
10:14
TEttinger left
10:17
labster joined
10:18
pierre_ left
|
|||
seatek | That little bit just ate up 14G on my system in a matter of a couple minutes. | 10:21 | |
jnthn | seatek: What Rakudo version are you using, ooc? | 10:24 | |
seatek | the latest production one... no test one | ||
jnthn | Am running that snippet here for a couple of minutes. | ||
seatek | 2016.10-48-gaaec517 | 10:25 | |
jnthn | Odd, here it reached a platteau after some seconds and hasn't grown since. | 10:26 | |
seatek | it's saying, yum yum | ||
interesting | |||
jnthn | This is Rakudo version 2016.10-285-gee8ae92 built on MoarVM version 2016.10-50-g37d3be7 | ||
implementing Perl 6.c. | |||
Is what I have. | |||
seatek | maybe it is better equipped to handle danger | 10:27 | |
jnthn | Maybe...though the last EVAL leak fix I remember doing was all the way back in September | ||
seatek | this ticket was still open... thank you jnthn for working on those. these are the big scary things to me | 10:28 | |
i wish i knew enough to | |||
i'll work on that eventually | |||
jnthn | Well, there's two ways things can leak. Either a "real leak" (where the VM itself loses track of the memory and leaks it), which can be found with Valgrind, or where the VM itself is in control of the memory but doesn't release it for far too long. The latter class of bugs was once very hard to find, which is why I made the MoarVM heap profiler :) | 10:30 | |
10:31
xtt left
|
|||
jnthn | (And found/fixed two EVAL bugs in the past using it.) | 10:31 | |
seatek | that is SO handy. work more now to be lazy later. :) i'm trying to think what the symptoms seem more like... | 10:32 | |
i dont' know enough to tell any difference. system behavior i think it could be either one | 10:35 | ||
system is still begrudgingly freeing up memory. ;) | 10:36 | ||
pmurias | jnthn: in case of Crust it seems the EVAL should be called only while loading the app | 10:37 | |
jnthn: actually EVALFILE | 10:38 | ||
10:38
andrzejku joined
10:47
brrt joined
|
|||
seatek | jnthn pmurias - doing more broad testing... it seems that memory usage DOES level off when using Crust with EVAL, so maybe the memory issue in Crust isn't that exactly. | 10:49 | |
yeah, EVALFILE in this case | 10:50 | ||
jnthn | If it levels off then it's not really a leak? | 10:51 | |
That doesn't explain the simple EVAL loop you posted earlier eating 14GB though. That would surely count as a leak. Except I can't reproduce it... | 10:52 | ||
seatek | yes - confirmed that memory usage is leveling off on the Crust with EVALFILE -- i've been letting 2 tests run a good long time here | 10:56 | |
how strange that storing session id's is memory as hashes is slower than database lookups of those same keys | 10:57 | ||
i am not going to look at that. i've seen nothing | 10:58 | ||
so yes.. the memory eating does seem to have a cap -- which is reassuring with that EVAL | 10:59 | ||
10:59
labster left
11:05
brillenfux_ left
11:06
effbiai joined
|
|||
effbiai | hi, i've installed perl6 with fedora package repository (dnf install rakudo-star). how can i get the module manager (panda) installed from a repository? | 11:06 | |
11:14
wamba joined
|
|||
seatek | yes.... i've been doing longer-running tests at load and concurrency. there is an upper limit its hitting at about 2G | 11:16 | |
stmuk_ | if its rakudo-star it will have panda already | ||
seatek | Taking EVAL out and using Callable instead is bringing it up to about 2/3 as much. so it that is reassuring about EVAL in this case. i freaked over nothing. | 11:17 | |
11:17
brillenfux joined,
rindolf left
|
|||
effbiai | no, panda is not included in this package :( | 11:17 | |
seatek | effbiai: i always install from the rakudo website -- the brew -- then you get it all, and the most current | 11:18 | |
stmuk_ | effbiai: what does "perl6 -v" say? | ||
DrForr | effbiai: github.com/tadzik/panda if you need it. | ||
effbiai | This is Rakudo version 2016.07.1 built on MoarVM version 2016.07 | 11:19 | |
implementing Perl 6.c. | |||
seatek | 2016.10 is the latest i think | ||
effbiai | i know | ||
the problem with running a package that is manually installed in a production system is remembering to update and patch it.. | |||
that's why i'd like it from the repo | 11:20 | ||
seatek | yeah i hear you :) | ||
strangely, the Crust middleware... for sessions.. you can use in-memory cookie/session storage. i ran these tests using the same cookie so it didn't have to store and send new ones.... | 11:21 | ||
stmuk_ | what does "rpm -qa|grep rakudo" say? | ||
effbiai | where will panda (github.com/tadzik/panda) install the modules by default? | ||
# rpm -qa|grep rakudo-star | |||
rakudo-star-0.0.2016.07-1.fc24.x86_64 | |||
stmuk_ | rpms.famillecollet.com/rpmphp/zoom....akudo-star | 11:22 | |
seatek | but for the memory resident cookie lookups , performance was close to 20% slower than doing actual, real database lookups for those cookies. | ||
and i watched the database server toO! | |||
11:23
rindolf joined
|
|||
stmuk_ | effbiai: I think you will have to contact the fedora packager | 11:24 | |
tell him its misnamed and isn't rakudo star either :) | |||
seatek | effbiai: it puts them in a subdirectory in your home folder... .rakudo-something | ||
effbiai | ok, thanks stmuk_ and seatek | 11:25 | |
seatek | effbiai: it's all kept very neatly separated from your distribution's distribution | ||
it just knows to look there because of your path environment variable in your .bashrc | 11:26 | ||
you can swap it back and forth at any time | |||
effbiai | and what's the variable? PERL6LIB? | ||
seatek | that's for libraries | ||
effbiai | yeah, that was the question also :) | ||
pmurias | jnthn: do we have clearly defined rules when closures might be optimized in nqp or is it just do anything that doesn't break rakudo or nqp? | ||
seatek | the $PATH just has to include ~/.rakudobrew/bin | 11:27 | |
effbiai | ..if i wanna use perl6 from rakudobrew | ||
seatek | yup | ||
and take that out if you don't | |||
they don't overlap | |||
effbiai | but if i only want to use panda to download modules, it's sufficient with PERL6LIB - right? | ||
pmurias | jnthn: as immediate blocks are visible by various introspection ops like nqp::caller etc. | 11:28 | |
seatek | PERL6LIB in your environment gives a search order for libraries | ||
effbiai | (to show perl6 where to find it's modules) | ||
ok, thanks | |||
seatek | sure | ||
jnthn | pmurias: NQP makes no attempts to have nqp::caller and friends not show the effects of its optimizations | 11:31 | |
pmurias: Rakudo is stricter: it won't do such optimizations if it spots construction of a pseudostash | 11:32 | ||
11:54
effbiai left,
FROGGS left
12:12
AlexDaniel joined
12:18
AlexDaniel left
12:19
effbiai joined
|
|||
effbiai | i'm getting an error when trying to install panda. seems like it fetches and builds File::Find, but when it's testing it the file cannot be found. full paste; zerobin.net/?5550cdaf3d4ac133#SV2q...6cejbUoIY= | 12:22 | |
nevermind - I was missing the TAP::Harness :> | 12:32 | ||
12:37
Xliff left
12:38
dextertzu left
12:40
dextertzu joined
12:55
seatek left
12:58
AlexDaniel joined
13:12
zacts joined
|
|||
[Coke] | viki: doesn't look like 8b85121 fixed that, still getting the warning. | 13:34 | |
(perl6/doc) | |||
13:35
kyclark joined
|
|||
AlexDaniel | samcv: hey | 13:35 | |
viki | [Coke]: what's the warning? | 13:37 | |
AlexDaniel | m: sub find-urls ( Str $string, Numeric :$limit = ∞, :$ascii?) { say $limit }; find-urls(‘foo’) | ||
camelia | rakudo-moar 88152b: OUTPUT«Inf» | ||
AlexDaniel | m: sub find-urls ( Str $string, Numeric :$limit = ∞, :$ascii?) { say $limit }; find-urls(‘foo’, :limit(42)) | ||
camelia | rakudo-moar 88152b: OUTPUT«42» | ||
AlexDaniel | samcv: why not this? ↑ | ||
samcv: ah, you want it to be defined, then Numeric:D | 13:38 | ||
also, the method body can be shortened to just this: $string.comb($ascii ?? /<urlascii>/ !! /<url>/, $limit) | 13:39 | ||
dalek | c: 2f2b0f3 | coke++ | doc/Type/Real.pod6: Add closing > for C<> Fixes #1013 |
13:40 | |
synopsebot6 | Link: doc.perl6.org/type/Real | ||
13:42
nadim_ joined
13:45
nadim left
13:51
abraxxa left
|
|||
[Coke] | viki: ^^ all set. | 14:05 | |
viki | [Coke]++ thanks | 14:06 | |
14:17
zakharyas left
14:21
skids joined
14:28
kurahaupo joined,
kurahaupo__ joined
14:31
ggoebel left
14:36
kyclark left
14:38
kyclark joined
14:54
cdg joined
14:56
itaipu joined,
neuraload left
14:58
sufrostico left
15:00
khw joined
15:02
Actualeyes left,
canopus left
15:04
ggoebel joined
15:10
canopus joined
|
|||
timotimo | moritz: may i bounce an idea off of you? | 15:10 | |
would it be hard to accept renderings of our docs from travis-ci via upload and make them available via different vhosts on perl6.org? | 15:11 | ||
moritz | timotimo: depends on what kind of uploads/authentication travis supports | 15:17 | |
timotimo | we ought to be able to figure out something smart ... | ||
if we do, is that a sensible idea? | |||
moritz | yes | 15:20 | |
timotimo | cool. i'll research ways to make the transfer secure and authenticated | 15:21 | |
but for now i'll AFK | |||
15:23
sufrostico joined,
aries_liuxueyang left
15:25
cdg_ joined
15:27
cdg left
15:31
g4 left
15:34
acrussell_ joined
15:40
brillenfux left
|
|||
El_Che | kickstart is going well. If every day lizmat and woolfie make a pledge it will be achieved in no time :) | 15:44 | |
lizmat | well, we'd like to see it being a community supported thing :-) | 15:51 | |
so please, don't let us stop you supporting this as well! | |||
15:53
araujo left
16:03
richi235 left
|
|||
viki | eh... fuck it, I'm in... for $50, to get monthly ebook drafts | 16:04 | |
16:05
richi235 joined
|
|||
timotimo | who was it again that runs bisectable? AlexDaniel? | 16:06 | |
AlexDaniel | yes | ||
also MasterDuke has full access to it | |||
timotimo | ah yes, good | 16:08 | |
could you do me a favor? :) | |||
AlexDaniel | sure | ||
timotimo | i'd like to see how CORE.setting.moarvm's file size has evolved throughout your recorded history | ||
and if it's possible also to see how "time perl6 -e ''" reports maxresidentk | |||
AlexDaniel | wanna have ssh access to do it yourself? | 16:09 | |
timotimo | oh | ||
well, that'd be cool :) | |||
AlexDaniel | I'd need your public key | ||
timotimo | a sec | ||
github.com/timo.keys - the first one here is my desktop. i think the second one is my laptop. i'd like to have both installed if that's fine :) | 16:10 | ||
16:10
Xliff joined
|
|||
AlexDaniel | sure | 16:10 | |
[Coke] | viki;so, LTA that perl6 --doc is reporting the missing > at the end of the file rather than close to the C< that started it. | ||
AlexDaniel | timotimo: I'll PM you with details | 16:12 | |
timotimo | ty | ||
16:14
mohae_ joined
16:17
mohae left
16:20
ufobat left
16:21
nicq20 joined
16:23
ufobat joined
16:36
gregf_ left
16:50
araujo joined,
araujo left,
araujo joined
16:53
araujo left
16:56
araujo joined,
mohae joined
16:57
kyclark left
16:58
domidumont left
16:59
mohae_ left
17:11
sufrostico left
|
|||
perlpilot just processed about 68000 lines of CSV with perl6 and is happy. | 17:14 | ||
It took about 5 seconds for what I was doing and that wasn't too long. | 17:15 | ||
17:15
nicq20 left,
sufrostico joined
17:16
FROGGS joined
|
|||
FROGGS | o/ | 17:16 | |
timotimo | perlpilot: yay | 17:20 | |
17:20
gregf_ joined
17:21
sufrostico left
17:25
domidumont joined
17:32
sufrostico joined
|
|||
timotimo | i.imgur.com/17SMj1h.png - apparently our CORE.setting.moar file size over the last year and a half | 17:37 | |
viki | What are the units? bytes? | 17:38 | |
psch | accidentaly? | ||
2015.10 was definitely an interesting time, in any case | 17:39 | ||
timotimo | bytes, yes | ||
gist.github.com/timo/48c1a72154ca6...5c2ee346b1 | 17:40 | ||
spike of 2542180 bytes (123.626377252%) | |||
25f8469 - add function composition operator (1 year, 2 months ago) <TimToady> | |||
can that be right? | |||
psch | wasn't that one of the first unicode ops in the setting..? | 17:41 | |
i might be completely off the mark there | |||
timotimo | we had set operations before, no? | 17:42 | |
psch | hm, probably, yeah | ||
that commit is really tiny too | 17:43 | ||
hm, is there a git syntax for "commit after this ref"? | 17:44 | ||
timotimo | i know there'? a "commit before this ref" | ||
psch | i know $ref~$int for "before" | ||
like, HEAD~1 shows the second most recent one | |||
geekosaur | "commit before this ref" is never ambiguous. "commit after this ref" often is, because git doesn't actually track branches/tags/etc. as distinct entities and there could be multiple "after" commits that apply to different branches etc. | 17:46 | |
psch | geekosaur++, that's a good point actually | ||
timotimo | just grab the whole log with "git log", make sure it's --pretty=oneline or --oneline and use grep -B1 :P | ||
(yeah, ideally you'd -g and eyeball it for merges and such ...) | 17:47 | ||
actually | |||
grep parent $your-id and -B 1 that? | |||
well, -B 1 isn't enough for merge commits | |||
anyway | 17:50 | ||
i'm not very confident in my data ... i might have mishandled it at some point and gotten the wrong results | 17:51 | ||
17:57
labster joined
|
|||
moritz | perl6.org now redirects to perl6.org/ | 18:20 | |
18:20
firstdayonthejob joined
|
|||
viki | sweet. moritz++ | 18:20 | |
timotimo | FROGGS: i'm still a tiny bit irked that testers.perl6.org spikes cpu usage every few minutes :S | 18:22 | |
i've thought about doing it a bunch of times, but somehow i can't quite get a hold of this task >_< | 18:25 | ||
FROGGS | hmmmm | 18:26 | |
[Coke] finds a ticket that was fixed, with tests, passing, 11 months ago, but never closed. | |||
Can someone with Windows 10 verify an RT for me? | 18:29 | ||
(RT #126992) | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126992 | ||
ugexe | Xliff: `perl6 -e 'use IO::Socket::SSL;'` *does* work though right? | 18:35 | |
Xliff | yes | 18:36 | |
Actually, in many situations, HTTP::UserAgent will work. I have a script that is working right now that doesn't exhibit this problem, however it doesn't use Promises. | 18:37 | ||
ugexe | I think that error message is just wrong (github.com/sergot/http-useragent/b....pm6#L355) | 18:38 | |
Xliff | I'm of the opinion that HTTP::UserAgent has issues depending on how it is used. However, for the life of me, I can't tell you what cases will cause the error and what will not. | ||
ugexe | i.e. it *is* a failure, but not for the reason the error message says | ||
Xliff | ugexe: That could be. | ||
ugexe | thread stuff is still wonky for all Perl6 HTTP modules | 18:39 | |
Xliff | Please note, that this error occurs when OpenSSL 1.1 is used. My patch may fix some situations, but may fail with others due to NativeCall issues... (or libopenssl issues) | ||
Works fine without threading. | |||
At least as far as i can tell. | |||
ugexe | Yeah thats probably it. You could remove that `die` (but leave the ::('IO::Socket::SSL') ~~ Failure) to get the real error | 18:40 | |
18:41
kurahaupo__ left
18:52
acrussell_ left
|
|||
viki | Answer to why Kickstarter for LP6 and what O'Rly media brings to the table: www.reddit.com/r/perl/comments/5db...r/da4aq2k/ | 18:54 | |
ugexe | I tried your script with Net::HTTP and get the same error. But if I add a `state $sleep += 2; sleep $sleep;` inside the for loop before the start block it instead gives: `Could not find symbol '&Transport' in block <unit> at test.pl6 line 26` | ||
18:55
bitmap left
|
|||
ugexe | Xliff: this is working - something to do with the delay caused by sleep (works with HTTP::UserAgent too, but gives the Compress::Zlib error) gist.github.com/ugexe/b13730923b25...eabb1e2db6 | 18:59 | |
Xliff | Ooh! Neat! ugexe++ | 19:00 | |
19:00
domidumont left
19:02
davercc joined
19:12
chris2 left
19:15
cdg_ left
|
|||
perlpilot wonders about the trend line for donations to the LP6 book if you remove lizmat's and woolfy's contribution. | 19:17 | ||
19:18
nicq20 joined
|
|||
viki | $58/average | 19:19 | |
19:20
sufrostico left
|
|||
viki | m: say (10000, 137 xx 22, 108 xx 6, 99 xx 2, 66 x 3, 50 xx 37, 25 xx 64, 10, 1, 1).flat.Bag | 19:21 | |
camelia | rakudo-moar b5aa3c: OUTPUT«bag(99(2), 10000, 50(37), 108(6), 137(22), 1(2), 10, 666666, 25(64))» | ||
19:21
sufrostico joined
|
|||
viki | m: say (10000, 137 xx 22, 108 xx 6, 99 xx 2, 66 xx 3, 50 xx 37, 25 xx 64, 10, 1, 1).flat.Bag | 19:22 | |
camelia | rakudo-moar b5aa3c: OUTPUT«bag(66(3), 99(2), 10000, 50(37), 108(6), 137(22), 1(2), 10, 25(64))» | ||
viki | A typo produced 6 sixes! OMG IT"S A SIGN! | ||
moritz | a sign of a type :-) | ||
*typo | 19:23 | ||
viki | :D | ||
moritz | man, when you typo typo, you know you have a chronic lack of sleep | ||
viki | Hm one more now | 19:26 | |
lizmat | perlpilot: please don't :-) | ||
viki | m: say (10000, 137 xx 22, 108 xx 6, 99 xx 2, 66 xx 3, 50 xx 37, 25 xx 65, 10, 1, 1).flat.Bag.values.sum | ||
camelia | rakudo-moar b5aa3c: OUTPUT«139» | ||
viki | But weird that the sum gives 139 backers, but the total on the site shows 141 | ||
lizmat | viki: good catch :-) | 19:27 | |
19:28
chris2 joined
|
|||
lizmat | anyways, only 400$ away from 50% :-) | 19:28 | |
viki | \o/ | ||
perlpilot | I'm trying to get us closer to 50%, but my phone is acting weird right now | ||
lizmat | perlpilot++ | ||
perlpilot | ah, there it goes. It was stuck and wouldn't let me enter an amount. | 19:31 | |
stmuk_ | it was probably sending it to China | 19:32 | |
19:34
darutoko left
|
|||
stmuk_ | [Coke]: wrt RT#126992 it passes for me on Windows | 19:37 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126992 | ||
viki | So the butterfly on the cover is called a 「"Cracker" butterfly」? 😂😂😂 | ||
And here I thought we were a diverse bunch... | |||
stmuk_: [Coke] thanks. Marked ticket as resolved. | 19:39 | ||
stmuk_ | I'm sure we have vim and emacs users! | ||
19:44
lostinfog joined
|
|||
RabidGravy | I dunno, have we had anyone pitch up complaining that there isn't an Eclipse plugin yet | 19:45 | |
lizmat is spectesting a fix for RT #130131 | 19:47 | ||
nicq20 | Anyone notice if I'm doing something really dumb in the "check" sub? github.com/nicqrocks/p6-Watcher/bl...hecker.pm6 | 19:48 | |
19:48
labster left
|
|||
viki | MY EYES! | 19:49 | |
nicq20 | IKR | ||
19:50
domidumont joined
|
|||
RabidGravy | what is it doing that you don't expect it do be doing? | 19:51 | |
moritz | nicq20: I don't understand why you use a promise when a simple timer would be enough | ||
nicq20 | If I place this in a loop, it segfaults after 256 runs. | 19:52 | |
moritz | nicq20: nothing happens when the promise triggers | ||
viki | nicq20: looks fine to me, though I'd probably use a proper object instead of a string for the error | ||
moritz: what's a simple timer? | |||
moritz | viki: my $time = now; ...; if now - $time >= 60 { ... } | ||
viki | Ah | 19:53 | |
RabidGravy | if it segfaults, then you need to examine the gdb backtrace | ||
19:53
Cabanossi left
|
|||
moritz | maybe the intent was to do something like await Promise.anyof($t, start { try to connect here }) | 19:53 | |
nicq20 | moritz: Using actual time is a much better idea now that you mention it... | 19:54 | |
RabidGravy: How do I get the backtrace to show? | |||
RabidGravy | use 'perl6-gdbm-m' rather than 'perl6' | 19:55 | |
moarvm should never segfault with plain perl 6 code | 19:56 | ||
moritz | and then enter "run", wait for the segfault, and then "bt" | ||
19:58
Cabanossi joined
|
|||
nicq20 | `bt` returns: | 19:58 | |
0: unwind_after_handler, 1: MVM_frame_try_return, 2: MVM_interp_run, 3: MVM_vm_run_file, 4: main | |||
All from "libmoar.so" | 19:59 | ||
FROGGS | (for the logs, it is called "perl6-gdb-m" and the run command is implicit) | ||
20:03
kyclark joined
|
|||
moritz would love to publish his blog post on his own p6 book project, but the brain feels like a big mushroom tonight | 20:03 | ||
nicq20 | Hmm... The debug mode does not seem to be saying much useful. :/ | 20:09 | |
20:10
sufrostico left
|
|||
FROGGS | nicq20: usually you compile MoarVM with --debug=3 and then paste the "bt full" of the failing ode in a ticket | 20:11 | |
code* | |||
20:11
kurahaupo__ joined
20:12
ocbtec left
|
|||
nicq20 | FROGGS: Do I specify the '--debug=3' when I run make or the Configure.pl? | 20:12 | |
FROGGS | nicq20: Configure.pl | 20:13 | |
20:13
Cabanossi left
20:15
MilkmanDan joined
20:16
domidumont left,
sufrostico joined
20:18
Cabanossi joined
20:22
xinming left
20:23
xinming joined
20:28
cognominal left
20:30
sufrostico left
20:32
Cabanossi left
|
|||
RabidGravy | meanwhile in another window I am trying to calm the enthusiasm of someone who doesn't even know what ssh is to be doing their own system administration | 20:34 | |
psch | sounds fun! | ||
RabidGravy | every once in a while the radio station does something weird and the best course of action is to be restarting some pieces, and nearly all of those times I am on a train or something | 20:37 | |
20:37
Cabanossi joined
|
|||
RabidGravy | you guys are going to have to help me move the whole thing over to a Perl 6 version of Emitria by writing more modules | 20:39 | |
20:40
Coleoid_ns joined
|
|||
RabidGravy | as I have completely reset my plans for an ORM type thingy in the last few days | 20:40 | |
20:40
sufrostico joined
|
|||
RabidGravy | but in other news a well known online luxury fashion retailer paid me for another day of doing Perl 6 stuff | 20:41 | |
El_Che | uk based? | 20:42 | |
dudz | Are you using perl for website? | ||
*hello | |||
viki | hey | 20:43 | |
[Coke] | dudz: Hi, can we help you? | 20:44 | |
viki | dudz: it's kind'f bare bones so far. We haven't yet had a champion to develop a solid web framework. There are some in various stages of development at modules.perl6.org | ||
RabidGravy | yes, uk based, | ||
perlpilot | RabidGravy: What's "the whole thing"? And what modules do you need written? :-) | ||
RabidGravy | I have done web stuff in Perl 6 | ||
dudz | hi [Coke] | 20:45 | |
20:46
ufobat left
|
|||
RabidGravy | perlpilot, the "whole thing" is the management and scheduling of radio playout, making sure that the right things get played out the stream at the right time | 20:46 | |
dudz | I was thinking of something to do to contribute towards a perl modules database, and at the same time use that as samples to show my experience, i was told that the perl6 community hasn't got that much modules adding functionality for the language yet and so I was thinking to use existing cpan modules for perl5 as ideas on what things to make for perl6 | 20:47 | |
nicq20 | FROGGS: Adding '--debug=3' when setting up moar seems to error out trying to find 'Perl6/Grammar.moarvm' | ||
RabidGravy | I want to place the mostly working well but horrible PHP and Python hybrid of www.sourcefabric.org/en/airtime/ with something that is a sane design under the hood | 20:48 | |
nicq20 | FROGGS: Seems to compile everything fine though. | ||
FROGGS | that's strange | ||
[Coke] | dudz: there's a "most wanted" page showing modules that have been specifically asked for. | 20:49 | |
github.com/perl6/perl6-most-wanted...modules.md | |||
FROGGS | nicq20: dunno what to suggest though | ||
RabidGravy | dudz, the trick at this point is not so much "port all the things" but make new and exciting designs that reflect Perl 6 idiom to cover common needs | ||
nicq20 shrugs | |||
[Coke] | ... it is generous to call a git repo with a single readme file and nothing else a WIP (picking one at random off that list.) | 20:50 | |
perlpilot notes in passing that DBIx::Class is missing from the most wanted ;) | |||
viki | dudz: metacpan.org/pod/Mojolicious would be nice :) But not a code port, API port :) A lot of that code we have in core Perl 6 already | 20:51 | |
RabidGravy | perlpilot, having thought about it quite a lot, a straight up port of DBIx::Class is not going to work at all well - a whole new design is required | ||
not because there's anything much wrong with DBIx::Class per-se but just some of the ways it works don't play too well with the way Perl 6 is | 20:52 | ||
mst | amusingly, I think a whole new design is required because there *is* plenty wrong with the DBIC design | 20:53 | |
El_Che | mst: shut up :) | ||
mst: no dbix here :) | |||
nicq20 | FROGGS: Oh, well. I'll try to look into it more. There has to be something small I'm missing or forgetting because Net::HTTP works fine, and it seems to open a connection for each request as well. | ||
RabidGravy | mst, in detail perhaps but the very high level API is basically sound | ||
some of the actual code is the satan | 20:54 | ||
dudz | ok thanks [Coke] RabidGravy and viki | ||
mst | I wish resultsets had been envisioned as proper collections from the start | ||
also waaay too much of the persistence logic lives in the row objects | |||
I would like basically LINQ + orthogonal persistance | |||
RabidGravy | and prefetch should just be killed with fire | ||
mst | how so? prefetch is probably the single most effective optimisation tool | 20:55 | |
20:55
cognominal joined
|
|||
mst | it was adding that to Class::DBI::Sweet that started me down this entire path into madness | 20:55 | |
RabidGravy | it *is* an effective optimisation thing but it hurts badly when you start getting complicated with your queries | 20:57 | |
so adding one small condition somewhere on a result way down the line can break the whole thing | |||
mst | in that you can produce completely cfazy complex queries with resultset chaining but making them work -and- prefetch at the same time results in a massive fight? | 20:58 | |
right | |||
20:58
labster joined
|
|||
mst | ok, so, that is not a problem with prefetch, it's a problem with how I first implemented it and the things people now rely on that weren't actually the right approach | 20:58 | |
RabidGravy | I took a lot of it out at DB, but some of those queries were getting exceptionally hairy | 20:59 | |
three or four pages of generated SQL type hairy | |||
but hey it was oracle, it's good a half way decent query optimiser right ;-) | 21:00 | ||
mst | my mistake, basically, was never figuring out a good way to be able to tell whether the user was trying to achieve "add a WHERE to the query" or "restrict a prefetch to a subset of its results" - for the latter, you should be pushing those clauses into the ON clause so's not to destroy LEFT JOINs | ||
so 'add some WHERE to the query' gets (ab)used for both, and that makes it very easy to get the wrong one | |||
RabidGravy | mind you I learned something new about Postgres today which wasn't something I expected, no ORM involved whatsoever | 21:03 | |
I think we should have committed to proper object relational data storage in the nineties and sacked off all the straight relational databases, then we wouldn't be in this mess:) | 21:09 | ||
perlpilot | That doesn't sound very perlish ;) | 21:10 | |
21:12
TEttinger joined
21:17
cdg joined
21:18
nicq20 left
|
|||
RabidGravy | y'see I think "Document" or "Graph" data stores are probably more perlish in ethos, but they're totally shit to make complex transactional applications in | 21:20 | |
21:21
bazzaar joined,
firstdayonthejob left
|
|||
bazzaar | o/ perl6 | 21:22 | |
RabidGravy | I'll probably be well retired before they come up with something that works for everything we want to do with it | ||
bazzaar | m: grammar { token TOP { <command> }; proto token command {*}; token command:sym<create> { <mid> 'est' <sym>* }; token mid { 'create_t' } }.parse: 'create_testcreate', :actions(class {method TOP ($/) { say $<command>.WHAT}}); | 21:23 | |
camelia | rakudo-moar 4f581a: OUTPUT«(Match)» | ||
bazzaar | m: grammar { token TOP { <command> }; proto token command {*}; token command:sym<create> { <mid> 'est' <sym>* }; token mid { 'create_t' } }.parse: 'create_testcreate', :actions(class {method TOP ($/) { say $<command><mid>.WHAT}}); | ||
camelia | rakudo-moar 4f581a: OUTPUT«(Match)» | ||
[Coke] | I have happily given up on ORM having lost many more hours trying to make it work than I ever saved from being exposed to SQL. | ||
bazzaar | m: grammar { token TOP { <command> }; proto token command {*}; token command:sym<create> { <mid> 'est' <sym>* }; token mid { 'create_t' } }.parse: 'create_testcreate', :actions(class {method TOP ($/) { say $<command><sym>.WHAT}}); | ||
camelia | rakudo-moar 4f581a: OUTPUT«(Array)» | ||
21:24
firstdayonthejob joined
|
|||
bazzaar | anyone know why <sym> is an array, and not a match object like <mid> | 21:24 | |
RabidGravy | [Coke], I love them and I have probably written more straight up SQL in my life than most people have written perl | 21:25 | |
jnthn | bazzaar: Because you wrote <sym>* | ||
RabidGravy | it's just I get irked at the extreme edge | ||
jnthn | bazzaar: Meaning "match many of them" | 21:26 | |
So you get an array of match objects | |||
(Same with + and **) | |||
RabidGravy | I think I may have to make an I4GL slang for Perl 6 | ||
21:26
richi235 left
|
|||
bazzaar | jnthn: aaah, very good :) | 21:26 | |
m: grammar { token TOP { <command> }; proto token command {*}; token command:sym<create> { <mid> 'est' <sym>? }; token mid { 'create_t' } }.parse: 'create_testcreate', :actions(class {method TOP ($/) { say $<command><sym>.WHAT}}); | 21:27 | ||
camelia | rakudo-moar 4f581a: OUTPUT«(Match)» | ||
mst | [Coke]: my main issue with SQL is that you can't factor out chunks of queries in a reusable way; when I'm writing DBIx::Class code, I'm imagining the SQL it'll generate | ||
but most ORMs try and hide the database and augh | 21:28 | ||
RabidGravy | well you can't factor out chunks of queries in a sane away across DBMs anyway | 21:29 | |
21:29
richi235 joined
|
|||
mst | RabidGravy: sure. but being able to do things like 'this other query, except with an extra bit of WHERE clause' should have nicer ways to do it than string concatenation, basically | 21:32 | |
RabidGravy | yeah, if only we had killed MySQL when we had a chance we might be closer to that | 21:33 | |
perlpilot | mst: maybe you could prototype an improved DBIx::Class in Perl 6 and get some people to run with it like you did with DBIx::Class (only with lessons learned now) :) | 21:35 | |
21:35
seatek joined
|
|||
RabidGravy | perlpilot, I don't want mst to do it | 21:36 | |
;-) | |||
perlpilot | :-PPP | ||
RabidGravy | I love the hippy freak dearly but I want someone from outside to come along and do something completely new | 21:37 | |
viki | :) | 21:38 | |
perlpilot | The real trick is finding someone knowledgeable enough about the problem space *and* Perl 6 to do it well. | ||
mst | RabidGravy: I've been waiting for somebody to come and do something completely new for a long time, and yet nobody's even come close to a DBIC replacement | 21:39 | |
RabidGravy: so, like, I don't want me to do it either but eventually I may end up having to anyway ;) | |||
RabidGravy | I've been dicking around with the SQL generation part for a while now and I'm just about to throw most of it away and start again | 21:40 | |
viki | dudz: out of curiousity, where did you hear that Perl 6 doesn't have many modules? | ||
RabidGravy | I think 745 is quite good, that's half as many again since January, I think we should have a stretch target of 1000 by this coming January | 21:42 | |
dudz | viki: irc | ||
viki | I thinks that's way optimistic :) | ||
dudz, which chanmel? This one? | |||
dudz | irc.perl.org/#australia (perlmongers, sydney) | 21:43 | |
viki | Ah :) | ||
dudz | :) | ||
RabidGravy | people only write modules that they want to use, it's not the modules it's the software written in Perl 6 we need | ||
viki | I haven't written any Perl 6 code for months | 21:44 | |
RabidGravy | slacker | ||
viki | dunno what to writw | ||
Other than a web framework, for which I don't have the stamina | |||
perlpilot | viki: you sound like me. We need less people like us and more people who just make stuff | 21:45 | |
RabidGravy | you could fix the Net::ZMQ module if you're bored, I go back to it every once in a while and give up | ||
I have "special reasons" for wanting it to work | |||
dudz | viki's a nice name, my wife has that same name only spelt differently, and she's very beautiful and smart and pretty and very great. | 21:46 | |
jnthn found ZemoMQ kinda interesting... :) | |||
*Zero | |||
RabidGravy: Does the module make nice use of the Perl 6 async stuff? | 21:47 | ||
RabidGravy | not particularly, it's just a binding to the libzmq but for some reason it stopped working a few months ago | ||
I've decided that a strong niche for P6 would be in the messaging middleware space, given the strength of the async design, but for this to come in to play we need many bindings to many messaging platforms | 21:49 | ||
21:49
setty1 left
|
|||
japhb | And async SSL sockets ... | 21:50 | |
jnthn | japhb: Yeah, I suspect I'll need to be wanting a painful kind of fun to hack further on that... :) | 21:51 | |
RabidGravy | japhb, that probably needs a teensy change to expose the underlying socket and jobs a good un | ||
jnthn | I really want it though, so... :) | ||
21:51
Tonik joined
|
|||
RabidGravy | jnthn, while I'm thinking about this subject, would you be averse to splitting the client and server parts of Stomp and releasing the former? | 21:52 | |
dudz | Going to head out to the skatepark and practice some exercise, I got a bit of a stomich that I want to get rid of for asthetics. | 21:53 | |
RabidGravy | aesthetics | ||
dudz | *aesthetics | ||
RabidGravy | 2016 is great | 21:54 | |
japhb | jnthn: I don't doubt at all that there will be pain. But man would it open things up in the networking space .... | ||
jnthn | .oO( If you work off the butt too, you'll have good assthetics... ) |
||
RabidGravy | yeah, it wou;d | ||
dudz | been watching 'paper planes' (australian movie) | ||
RabidGravy | would | ||
dudz | *bbl | ||
jnthn | RabidGravy: No aversion to that really, no | ||
RabidGravy: Though iirc there's a lot of possible re-use between them | |||
So may want to split off the parser too...maybe :) | 21:55 | ||
21:56
FROGGS left
22:01
skids left
|
|||
Coleoid_ns | Hi, #Perl6! | 22:01 | |
perlpilot | Coleoid_ns: greetings | ||
Coleoid_ns | When I'm running tests, sometimes it stops interpreting newlines, and starts echoing them as literal '\n' strings. | 22:02 | |
RabidGravy | jnthn, maybe I'll revisit the server part and get that somewhat working, it would certainly play to my medium term evil | ||
Coleoid_ns | (when its giving me "expected x but got y" feedback on a failure) | 22:03 | |
22:03
ufobat joined
|
|||
perlpilot | Coleoid_ns: got a transcript of this behavior you can put on gist or something? | 22:03 | |
Coleoid_ns | but sometimes i actually get the newline | ||
I'll paste one up in a few. | |||
bazzaar | m: grammar { token TOP { <command> }; proto token command {*}; token command:sym<create> { <mid> 'est' <sym>* }; token mid { 'create_t' } }.parse: 'create_test', :actions(class {method TOP ($/) { say $<command><sym> }}); | 22:04 | |
camelia | rakudo-moar 4f581a: OUTPUT«[]» | ||
bazzaar | m: grammar { token TOP { <command> }; proto token command {*}; token command:sym<create> { <mid> 'est' <sym>* }; token mid { 'create_t' } }.parse: 'create_test', :actions(class {method TOP ($/) { say $/}}); | ||
camelia | rakudo-moar 4f581a: OUTPUT«「create_test」 command => 「create_test」 mid => 「create_t」» | ||
viki | Coleoid_ns: got code we can reproduce this with? | 22:05 | |
bazzaar | another <sym> question, if in this case <sym> is an empty array, why doesn't it appear as such in the match object? | 22:06 | |
Coleoid_ns | nopaste.me/view/56a45603 | 22:07 | |
I have code, but it's far, far from golfy, and I don't know what triggers the change. | 22:08 | ||
This is $dayjob code, so it's pretty hairy. | |||
RabidGravy | what are you using to run these tests? | ||
viki | Coleoid_ns: and it's the exact same test that flips back and forth between those behaviours? | ||
Coleoid_ns: what's the test BTW, is() ? | 22:09 | ||
22:09
Tonik left
|
|||
Coleoid_ns | Well, largely the same, but I'm TDDing, so neither code nor tests remain the same. | 22:09 | |
jnthn | bazzaar: Try say $/.perl instead for more verbose output | ||
Coleoid_ns | Yep, is(). | ||
jnthn | bazzaar: I think the .gist output used by say just includes things that matched something | 22:10 | |
22:10
wamba left
|
|||
viki | Coleoid_ns: oh, I think I know what it is | 22:10 | |
Coleoid_ns: it'll print literal whitespace like that when *only* whitespace differs between the values | |||
m: use Test; plan 1; is "foo\tbar", "foo\tbaz" | 22:11 | ||
camelia | rakudo-moar 4f581a: OUTPUT«1..1not ok 1 - # Failed test at <tmp> line 1# expected: 'foo baz'# got: 'foo bar'# Looks like you failed 1 test of 1» | ||
viki | m: use Test; plan 1; is "foo\tbar", "foo bar" | ||
camelia | rakudo-moar 4f581a: OUTPUT«1..1not ok 1 - # Failed test at <tmp> line 1# expected: "foo bar"# got: "foo\tbar"# Looks like you failed 1 test of 1» | ||
viki | See ^ | ||
Coleoid_ns | :O | ||
viki | Basically so you don't stare at it going "wtf! where's the difference" :) | ||
Coleoid_ns | vikiL Thanks! | ||
viki | No problem. | ||
perlpilot | Maybe someone will write an enhancement one day that highlights exactly which characters are different. | 22:12 | |
viki | And it will be named Test::More and live in userspace ;) | 22:13 | |
bazzaar | jnthn: that's a great help, thankyou | ||
Coleoid_ns | viki: I will go read up on Test::More... | 22:14 | |
perlpilot | heh | ||
dalek | c: 87c254f | (Zoffix Znet)++ | doc/Language/testing.pod6: Document is()'s special treatment of values... that differ only on whitespace |
22:16 | |
synopsebot6 | Link: doc.perl6.org/language/testing | ||
viki | Coleoid_ns: I was kidding. I don't think that module exists :)Pop | ||
perlpilot | yet! | ||
Coleoid_ns: you could write it even :) | |||
Coleoid_ns | If nothing like that exists in Test::*, I may have to, to retain my eyesight while I work through this project. | 22:18 | |
RabidGravy | I've been doing some stuff with Test::Class::Moose (thanks Ovid) this week and I may try and improve that space in P6 soon | 22:23 | |
22:23
travis-ci joined
|
|||
travis-ci | Doc build errored. Zoffix Znet 'Document is()'s special treatment of values... | 22:23 | |
travis-ci.org/perl6/doc/builds/177156770 github.com/perl6/doc/compare/2f2b0...c254f10054 | |||
22:23
travis-ci left
|
|||
viki | bah | 22:24 | |
22:24
lostinfog left
|
|||
viki | Ahhh | 22:24 | |
RabidGravy | travis has been flaky this week, stopped randomly a couple of builds | ||
viki | moritz made perl6.org forse SSL and apparently Pod::To::PigPage relies on it being http :) | ||
Or maybe LWP::Simple instead of Pod::To::PigPage | 22:25 | ||
RabidGravy | I thought I'd fixed LWP::Simple and https | ||
viki | Yeah, it's Pod::To::Bigpage | ||
.tell gfldex FYI: github.com/gfldex/perl6-pod-to-bigpage/issues/5 | 22:27 | ||
yoleaux | viki: I'll pass your message to gfldex. | ||
22:29
ufobat left
|
|||
RabidGravy | why does travis-ci.org/retupmoca/P6-Compress-Zlib show "error" | 22:31 | |
22:39
kyclark left
22:41
kyclark joined,
sufrostico left
|
|||
geekosaur | the branches tab says #9 errored | 22:41 | |
"panda: command not found" | 22:42 | ||
kyclark | Is there a recommended GUI toolkit like Qt or GTK? | ||
22:42
mattp_ left
|
|||
geekosaur | so for some reasn build history does not show the successful build #10 yet | 22:43 | |
stops at #9 which errored | |||
22:43
sufrostico joined
|
|||
RabidGravy | kyclark, afaik there is only a GTK binding for P6 right now | 22:47 | |
works fairly well, could use some help, need another widget a day boost up probably | 22:48 | ||
kyclark | Are there docs on that I can read? I tried a simple GTK C program and got errors on OSX about something being deprecated. | ||
Ah, found it on modules.perl7 | 22:49 | ||
*6 | |||
viki | modules.perl6.org/#q=gtk | ||
bazzaar | m: grammar { token TOP { <command> }; proto token command {*}; token command:sym<create> { <mid> 'est' <sym>* }; token mid { 'create_t' } }.parse: 'create_testcreate', :actions(class {method TOP ($/) { say $/.perl}}); | 22:50 | |
camelia | rakudo-moar 4f581a: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new((:command(Match.new(ast => Any, list => (), hash => Map.new((:mid(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "create_testcreate", to => 8, from => 0)),:sym([Match.new(ast => Any, list =>…» | ||
RabidGravy | github.com/perl6/gtk-simple | ||
bazzaar | m: grammar { token TOP { <command> }; proto token command {*}; token command:sym<create> { <mid> 'est' <sym>* }; token mid { 'create_t' } }.parse: 'create_testcreate', :actions(class {method TOP ($/) { say $/<command><sym> }}); | ||
camelia | rakudo-moar 4f581a: OUTPUT«[「create」]» | ||
RabidGravy | kyclark, the caveat is, if it's missing a widget you want, you get to implement it | 22:51 | |
kyclark | Right-o | ||
RabidGravy | we've had a couple of big pushes on it, but it's massive | 22:52 | |
bazzaar | heck, irc clips +camelia's output | 22:53 | |
RabidGravy | I did like two weeks of a widget a day and it's still half there | ||
22:53
pmurias left
|
|||
bazzaar | anyway $/.perl shows :sym to contain an array, but no values are shown (why?), but $/<command><sym> is the array with 'create' as the first element | 22:55 | |
22:56
nadim joined
|
|||
RabidGravy | I'm not a grammar expert but isn't that what you asked for? | 22:57 | |
22:57
nadim_ left
|
|||
bazzaar | m: my @array = <one two three>; say @array.perl | 22:58 | |
camelia | rakudo-moar 4f581a: OUTPUT«["one", "two", "three"]» | ||
23:02
nadim left
|
|||
bazzaar | RabidGravy: I quess I am just querying the .perl output of the match object, perhaps it doesn't report more than a couple of levels deep ... | 23:03 | |
viki recalls a bug involving Match and .perl | 23:05 | ||
23:05
setty1 joined
|
|||
viki | "$/.perl doesn't round-trip when captures are present | 23:05 | |
": rt.perl.org/Ticket/Display.html?id...et-history | 23:06 | ||
bazzaar | viki: that's just the thing, good spot :) | 23:11 | |
23:17
kurahaupo left
23:22
kurahaupo__ left
23:25
firstdayonthejob left
23:27
kyclark left
23:32
kyclark joined
23:36
Herby_ joined
|
|||
Herby_ | o/ | 23:36 | |
23:44
kyclark left
|
|||
RabidGravy | erp | 23:46 | |
23:50
skids joined,
cdg left
23:51
BenGoldberg joined
|