»ö« 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:08
evalable6 left,
evalable6 joined,
ChanServ sets mode: +v evalable6
00:15
margeas left
|
|||
jdv79 | what does "Unexplained error" actually mean? | 00:16 | |
guess i'll upgrade | 00:17 | ||
i had a program that was working and then it seemed to just stop | 00:18 | ||
gist.github.com/anonymous/23d027a8...20cafd2458 | 00:20 | ||
00:23
ACTPic joined
00:25
ACTPic left
00:26
APic joined
00:28
leah2 joined
|
|||
MasterDuke | jdv79: lizmat did some stuff with exceptions today i think, how new/old is your rakudo? | 00:30 | |
jdv79 | it was a few days old and now its latest | 00:31 | |
both error the same | |||
very strange. one minute it was fine and then seemingly inexplicably that odd error | 00:32 | ||
00:32
troys is now known as troys_
00:37
mcmillhj left
|
|||
timotimo | m: die X::AdHoc.new | 00:40 | |
camelia | Unexplained error in block <unit> at <tmp> line 1 |
||
timotimo | the awaiter stuff is deep, deep magic | 00:41 | |
timotimo goes to bed | 00:42 | ||
in the gist i'm kind of surprised it doesn't have the "original" stack trace | 00:43 | ||
i don't think the stack trace should point at the rethrow method? | |||
00:43
Cabanossi left
00:45
leah2 left,
Cabanossi joined
|
|||
jdv79 | so it appears i can't get a proc::async or a qqx ot complete | 00:56 | |
they jut hang | |||
*just | |||
timotimo | you're not fork()ing, right? | 01:00 | |
jdv79 | truly bizarre | ||
timotimo | no, i really should go sleep | 01:01 | |
jdv79 | if i strace the program with the block proc async or qqx then i get the Unexplained error | ||
timotimo | good luck! | ||
jdv79 | until i reboot | ||
wth! | |||
ok, thanks | |||
some resource getting depleted or put into a bad state. dmesg doesn' treport anything | 01:02 | ||
timotimo | you could perhaps try if use v6.d.PREVIEW does anything, but i don't have high hopes | ||
jdv79 | i am not forking afaik | ||
that's what i am using | |||
timotimo | OK | ||
jdv79 | nite | 01:03 | |
timotimo | compiling moarvm with its configure.pl having --telemeh passed and then setting MVM_TELEMETRY_LOG to some filename will result in a file that has a bit of extra info about threads and locks and such | ||
there's not yet a tool that makes it more easily digestible, though | |||
jdv79 | ok. i'll try to golf it tomorrow i guess | ||
timotimo | that would be helpful | ||
'nite | 01:04 | ||
01:05
evalable6 left,
evalable6 joined,
ChanServ sets mode: +v evalable6
01:13
Cabanossi left
01:15
Cabanossi joined
01:17
dj_goku joined,
dj_goku left,
dj_goku joined
01:24
leah2 joined
01:36
mcmillhj joined
01:39
eliasr left
01:43
mcmillhj left
01:44
Cabanossi left
01:45
Cabanossi joined
01:46
ilbot3 left
01:52
hoffentlichja joined
01:55
matiaslina joined
01:56
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:03
lexinad joined
02:10
mcmillhj joined
02:17
lexinad left
02:19
zakharyas joined
02:20
leah2 left
02:36
leah2 joined
02:41
troys_ is now known as troys
02:42
kurahaupo joined
02:45
noganex joined
02:48
noganex_ left
02:54
leah2 left
02:58
Cabanossi left
03:00
Cabanossi joined
03:06
xinming_ left
03:07
xinming joined
03:12
matiaslina left
03:13
lexinad joined
03:14
lexinad left
03:19
lexinad joined,
zakharyas left
03:27
mcmillhj left
03:29
mr-foobar left
03:32
mr-foobar joined
03:37
lexinad left
03:43
leah2 joined,
Cabanossi left
03:45
Cabanossi joined
03:46
Pilu left
03:47
pilne joined
03:58
leah2 left,
Cabanossi left
03:59
Cabanossi joined
04:00
mr-foobar left
04:02
troys is now known as troys_
04:04
mr-foobar joined
04:05
skids left
04:15
BenGoldberg left
04:16
leah2 joined
04:26
leah2 left
04:27
wamba joined
04:33
wamba left
04:35
troys_ is now known as troys
04:38
cgfbee left
04:44
leah2 joined
04:46
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:50
aborazmeh left
04:57
Cabanossi left
04:59
Cabanossi joined
|
|||
hoffentlichja | m: subset MyStr of Str where 4 < *.chars < 10; my MyStr $s = 's'; | 05:10 | |
camelia | ===SORRY!=== QAST::Block with cuid 1 has not appeared |
||
hoffentlichja | what's happening here, how can I set that constraint? | 05:11 | |
the error message is a bit cryptic | 05:15 | ||
geekosaur | it's an internal error that shouldn't happen | ||
05:15
pilne left
|
|||
hoffentlichja | geekosaur: but the syntax is correct? it happens on my system as well | 05:16 | |
I thought it's because of incorrect syntax | |||
geekosaur | happens on mine as well. I'm not sure if it's supposed to work or not | ||
'where' is known to be a bit finicky | |||
05:17
HoboWithAShotgun joined
|
|||
geekosaur | but not this kind of finicky; that error means the compiler got confused about what it's parsing | 05:17 | |
hoffentlichja | so how do I set that constraint then? | 05:18 | |
geekosaur | have to do it with normal parameter syntax, looks like | 05:19 | |
m: my &s = 4 < *.chars < 10; say &s("sssss") | |||
camelia | ===SORRY!=== QAST::Block with cuid 1 has not appeared |
||
geekosaur | looks like WhateverCode parsing doesn't mix well with chained comparisons | ||
m: subset MyStr of Str where {4 < $_.chars < 10}; my MyStr $s = "s"; | 05:20 | ||
camelia | Type check failed in assignment to $s; expected MyStr but got Str ("s") in block <unit> at <tmp> line 1 |
||
hoffentlichja | yea but isn't what type constraints are for? it gives the same error anyway | ||
geekosaur: that's what I was looking for, it was because of the syntax after all | 05:22 | ||
geekosaur | it's not incorrect syntax; it's a bug in the compiler | ||
I'm composing a ticket | |||
hoffentlichja | so it should work the way I wrote it initially as well? | 05:23 | |
geekosaur | it should, yes. | ||
hoffentlichja | alright, good to know | ||
geekosaur | but it's not handling the combination of chained comparisons (4 < ... < 10) and WhateverCode (*.chars) | ||
which is what I was testing with the &s thing, to make sure it wasn;t somehow related to it being in a 'where' | |||
hoffentlichja | I see | 05:24 | |
05:24
kyan left
|
|||
geekosaur | RT #132206 | 05:24 | |
synopsebot | RT#132206 [new]: rt.perl.org/Ticket/Display.html?id=132206 Compiler error on WhateverCode and chained comparisons | 05:25 | |
05:27
mempko joined
|
|||
hoffentlichja | I didn't think it was a bug because I thought someone would have surely noticed this way before me | 05:28 | |
05:30
FK04 left
05:31
FiendKing04 joined
05:37
AlexDaniel left
05:38
nadim joined
05:43
kurahaupo_ joined
05:46
kurahaupo left
05:47
leah2 left
05:49
kurahaupo_ left
05:50
kurahaupo joined
05:52
yht joined
05:58
yht left
06:01
troys left
06:05
cgfbee joined
06:15
yht joined
06:16
leah2 joined
06:21
domidumont joined
06:22
kerframil left,
domidumont left
06:23
salva joined,
darutoko joined
06:24
domidumont joined,
leah2 left
06:26
mempko left
06:30
domidumont left
06:31
domidumont joined
06:41
leah2 joined
06:43
Cabanossi left
06:44
Cabanossi joined
06:53
shadoxx left
06:55
shadoxx joined
07:12
leah2 left
07:14
Aaronepower left
07:17
someuser joined
|
|||
lizmat clickbaits p6weekly.wordpress.com/2017/10/02/...e-granted/ | 07:19 | ||
07:28
leah2 joined
07:30
kurahaupo_ joined,
kurahaupo_ left,
kurahaupo_ joined
07:33
kurahaupo left,
kurahaupo joined,
tyilanmenyn joined
07:34
kurahaupo left,
kurahaupo joined,
kurahaupo left
07:35
kurahaupo_ left,
tyil left,
kurahaupo joined
07:42
dakkar joined
07:48
rba_ joined
07:50
leah2 left
|
|||
rba_ | Curious if there is any news from the Solaris build side. Would be interessted in Sparc and x86 build. Would assist if appreciated... | 07:50 | |
TEttinger | solaris is still a thing? | 07:52 | |
I thought opensolaris was closed down at least | |||
also that Oracle was trying to EOL solaris | 07:53 | ||
maybe I'm thinking of new SPARC chips | |||
rba_ | Banks in CH still have plenty of Solaris system. Yet new projects run on Linux. | ||
TEttinger | I can't remember which country is CH. switzerland? | ||
rba_ | yes | 07:54 | |
TEttinger | I should have guessed from "banks" :) | ||
"do one thing, do it wel, then have really good chocolate for doing it so well. also make the chocolate" | 07:55 | ||
what time is it in central europe right now... early-to-mid morning? | 07:56 | ||
rba_ | Having a build ready to install would make it more easy to convince people to try to use it... | ||
07:56
eliasr joined
|
|||
rba_ | yes, mid morning | 07:56 | |
TEttinger | I think the channel should be more active soon, it's the middle of the night here on the pacific coast of US | 07:57 | |
I think there's a decent-sized amount of european developers | |||
rba_ | Saw in irc backlog that El_Che is pushing in this area... | 07:58 | |
08:06
leah2 joined
08:10
kurahaupo_ joined,
kurahaupo__ joined,
kurahaupo__ left
08:11
Morfent left
08:12
kurahaupo__ joined,
leont joined,
rba__ joined
|
|||
mspo | rba_: joyent will be bulk building moarvm, nqp, and rakudo now | 08:13 | |
rba_: since they're all in pkgsrc | |||
08:13
kurahaupo left
|
|||
mspo | which also works on solaris, btw | 08:13 | |
08:14
kurahaupo_ left
|
|||
mspo | but it failed to build :) | 08:15 | |
us-east.manta.joyent.com/pkgsrc/pub.../build.log | |||
that's SmartOS x86_64 | 08:16 | ||
08:16
leah2 left,
rba_ left,
kurahaupo__ left
08:19
tyilanmenyn is now known as tyil
08:21
rba_ joined
08:23
rba__ left
08:29
rindolf joined,
robertle_ joined
08:30
lowbro joined,
lowbro left,
lowbro joined
|
|||
rba_ | thanks mspo. | 08:33 | |
mspo | rba_: not sure if there's sparc support at all? | 08:36 | |
08:42
yht left
08:43
yht joined,
Cabanossi left
08:44
sproctor joined,
Cabanossi joined
08:45
shadoxx left,
shadoxx joined
08:46
dj_goku_ joined
|
|||
El_Che | rba_: libuv was the blocking factor last time I tried | 08:48 | |
08:49
rba_ left,
dj_goku left
08:56
rba_ joined
08:58
rba__ joined,
rba_ left
09:01
mr-foobar left
09:02
wamba joined,
rba__ left,
rba_ joined
09:03
mr-foobar joined
09:07
leont left
09:08
nowan left
09:11
nowan joined,
ShalokShalom left
09:13
Cabanossi left
09:14
Cabanossi joined
09:16
yht left
09:18
ilbot3 left
09:22
piojo joined
|
|||
piojo | Hi | 09:22 | |
Rakudo crashed after running for a couple days--I have a backtrace, but it wasn't a debug build | |||
starting with: 'bin/moar': double free or corruption (!prev): 0x00007fd13562e960 | 09:23 | ||
Eh, I can answer my own question--I'll run it as debug mode next time | |||
09:23
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
piojo | Actually, how do I run rakudo with debugging symbols? | 09:24 | |
09:25
epony left
|
|||
piojo | Okay, looks like it should be perl6-debug-m | 09:25 | |
Zoffix | hoffentlichja: the language is just 2 years old and compiler is pretty big. It's not super rare to discover a bug no one has seen before :) Also, any error that mentions QAST stuff is not something a user should see and is a bug that should be filed. In your case it was already known and can be worked around by rewriting the chained WhateverCode to be just a block: subset MyStr of Str where { 4 < .chars < 10 | 09:26 | |
}; my MyStr $s = 's'; | |||
piojo: I'm not sure, but I think you also need a debug-enabled moar for it to spit out useful stuff | |||
09:27
ilbot3 left
09:28
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
hoffentlichja | Zoffix: yes, now I know better | 09:29 | |
09:30
epony joined,
TEttinger left
09:34
rba__ joined,
rba_ left
|
|||
Zoffix | Actually in this case a thunk is sufficient: | 09:35 | |
m: subset MyStr of Str where 4 < .chars < 10; say "s" ~~ MyStr; say "foobar" ~~ MyStr | |||
camelia | False True |
||
09:35
pmurias joined
|
|||
hoffentlichja | Zoffix: so that * made all the difference, I thught I have to use it if it's not in a block | 09:38 | |
09:38
rba__ left
09:42
rba_ joined,
lowbro left
09:43
lizmat left
09:46
mcmillhj joined
|
|||
Zoffix | hoffentlichja: yeah, the WhateverCode maker can't figure out that `4 < *.chars` is not the complete chunk and it to go further to get the `< 10` part too, hence the QAST error. Some places, like the `where` clause "thunk" (make a chunk of code that's executed later). The `where` clause smartmatches against the RHS stuff to figure out if the type constraint passes. The { 4 < .chars < 10 } or (the 4 < *.chars < | 09:50 | |
10 if it worked) cause the smartmatch to happen against Code, and if its return value is truthy, then the type constraint passes. The thunk in where clause, on the other hand, results in whatever value it returns to be smartmatched against (the value to be checked is also aliased to $_). So for example, `subset SimilarList of List where (1, **, 5, *, 9);` would make `(1, 5, 7, 9)` pass type constraint, but | |||
`(1, 5, 7, 42, 9)` not. In the case of `4 < .chars < 10`, the value to be checked is alised to $_, .chars returns its length, and the `<` chain returns either True or False, and smartmatch with True is always True and with False always False, so this works out fine as type constaint. But in some cases there's a difference between a thunk and a block (or whatevercode). E.g. here: subset Broken where .chars; say | |||
"" ~~ Broken; say " 3 " ~~ Broken; say "foo" ~~ Broken. The check was intended to subset strings that have some chars, but the chunk returns a number and smartmatch with a number does a numeric comparison, so the first two cases give True, because the number in the string matches the number of chars, but last one doesn't. To fix it you need to either use a block (`where {.chars}`) or whatevercode (`where | 09:51 | ||
*.chars`) or to ensure the thunk returns a True/False value (`where .so`) | |||
09:51
mcmillhj left
09:57
Cabanossi left,
rba_ left,
rba__ joined
09:59
Cabanossi joined
10:01
araujo left
|
|||
hoffentlichja | Zoffix: thanks for the long explanation. | 10:05 | |
10:09
abraxxa left
10:10
abraxxa joined,
lizmat joined
10:13
lichtkind left
10:14
araujo joined,
araujo left,
araujo joined
|
|||
Geth | modules.perl6.org/cpan-support: 9ff343d23a | (Zoffix Znet)++ | 4 files Make CPAN dist tree navigable - Serve files as static content; for now |
10:17 | |
10:17
ufobat joined
|
|||
Zoffix | \o/ | 10:17 | |
Light at the end of CPAN tunnel :) Can see content of CPAN dists already. | 10:18 | ||
Zoffix & | |||
10:21
lowbro joined,
lowbro left,
lowbro joined
10:25
lichtkind joined
10:28
margeas joined
|
|||
ufobat | nhi :) | 10:30 | |
10:38
araujo left
10:43
Cabanossi left
10:44
Cabanossi joined
10:46
rba__ left
10:49
leah2 joined
10:50
yht joined
10:55
araujo joined,
araujo left,
araujo joined
10:58
leah2 left
11:03
llfourn left
|
|||
ufobat | is there a way to quote inside a regex, i am looking for \Q \E from perl5 | 11:08 | |
between \Q and \E anything is ment literaly | 11:09 | ||
11:10
W4RL0RD joined
|
|||
Juerd | twitter.com/zoffix/status/912990653742747649 if the ↑↑ are supposed to indicate higher peaks, I'd suggest using ↑↑ instead (reverse video) | 11:11 | |
jnthn | ufobat: Just use quotes ;) | 11:12 | |
ufobat | mhm thats to easy ;-) | ||
too | |||
thanks | 11:13 | ||
Juerd | From a Perl 6 perspective, using \Q...\E instead of '...' looks kinda weird. :D | ||
Most of my dayjob work is Perl 5, and I keep running into these weird looking things. | |||
11:13
Cabanossi left
|
|||
Juerd | Haven't encountered the horrendous ->$#* yet :) | 11:14 | |
11:14
Cabanossi joined
|
|||
ufobat | i was googling for it and i found the \Q thingy in the design documents (perl6.org/archive/doc/design/exe/E05.html) somewhere a note that it is removed but.. yeah :) | 11:14 | |
11:20
domidumont left
11:21
domidumont joined
|
|||
Zoffix | Juerd: would you submit a PR? github.com/zoffixznet/perl6-buggab...ed.pm6#L64 | 11:21 | |
Juerd | Sorry, I have no time to clone and test the suggestion | 11:22 | |
Basically it would mean changing '↑' to "\cV↑\cO" | 11:23 | ||
Zoffix | Oh, it's an ANSI thing. I thought it were a different Unicode char | ||
Juerd | Not ANSI, but IRC | ||
IRC has its own color codes | 11:24 | ||
Zoffix | Wonder if it'd show up broken in channel logs | ||
Juerd | Depends on whether those logs support IRC color codes :D | ||
11:31
piojo left
11:32
mr-foobar left
|
|||
Zoffix | Looks duplucated: irclog.perlgeek.de/perl6/2017-10-03#i_15249840 | 11:32 | |
Unless it's my IRC client showing a single one where two were supposed to be... | 11:33 | ||
11:33
mr-foobar joined
11:43
Cabanossi left,
AlexDaniel joined
|
|||
AlexDaniel | squashable6: next | 11:43 | |
squashable6 | AlexDaniel, ⚠🍕 Next SQUASHathon in 2 days and ≈22 hours (2017-10-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
AlexDaniel | \o/ | ||
moritz++ | 11:44 | ||
11:44
Cabanossi joined
11:50
zakharyas joined
11:51
ShalokShalom joined
11:53
AlexDaniel left
11:58
rba_ joined
|
|||
hoffentlichja | I'm envisioning a world in which we have something like node's johnny-five for IoT written in perl6 | 12:01 | |
timotimo | rakudo's still a bit memory hungry for embedded situations | 12:02 | |
well, a step up from embedded | |||
but still | |||
hoffentlichja | timotimo: teoretically node is not the best fit for that either | ||
I think raspberry pi and the likes will be able to run rakudo without any problem | 12:04 | ||
Zoffix | 😺🌈😋😀📦 | 12:05 | |
timotimo | a raspi 3 definitely | ||
Zoffix | yey, Unicode's back in logs (whoever fixed it)++ | ||
timotimo | are there multicore raspis? | 12:06 | |
hoffentlichja | timotimo: yes, they are quad cores | ||
timotimo | even raspi 2? | 12:07 | |
hoffentlichja | yes, I have one | ||
timotimo | that's nice | ||
since one of rakudo's strengths is parallel stuff | |||
Zoffix | "In October, Hacktoberfest and SQUASHathon happen at the same time, so people participating in SQUASHathon are also hacktoberfesting." ... does that work if you make a PR to one of the repos you have a commit bit to tho? | ||
timotimo | hm, we'll just give a commit bit after the fourth merged pr or something? | 12:08 | |
hoffentlichja | Zoffix: github says no | ||
12:08
harrison joined
|
|||
Zoffix | .tell AlexDaniel looks like squashathon PRs won't count towards Hacktoberfest for many people: irclog.perlgeek.de/perl6/2017-10-03#i_15250088 | 12:09 | |
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||
Zoffix | hoffentlichja: thanks. | ||
buggable: tag lhf | 12:10 | ||
buggable | Zoffix, There are 3 tickets tagged with LHF; See fail.rakudo.party/t/LHF for details | ||
12:10
tony-o left
|
|||
abraxxa | tyil: regarding tyil.nl/tutorials/6lang-creating-a...rvice.html if you use systemd your daemon doesn't have to fork to go into the background because systemd monitors the processes without a pidfile or any other old, obscure workaround | 12:10 | |
12:10
AlexDaniel joined
12:11
tony-o joined,
epony left
|
|||
tyil | abraxxa: but I dont use systemd, and I wouldn't recommend systemd because I think its a pile of exploitable, breaking shit | 12:12 | |
abraxxa | hm, modules.perl6.org shows a 4 besides DATABASE but lists 7 modules when I click it | ||
tyil | also, systemd is made to be incompatible with everything so it cant even work on bsd | ||
abraxxa | tyil: I like the service file concept and don't care about the rest very much as long as its stable | ||
tyil | if just the init part, its ok, but the entire systemd package is all but stable | 12:13 | |
abraxxa | i don't like that it tries to replace everything but as init system i like it much more than sysv with the per-distro incompatible init scripts | ||
tyil | you can get the service file concept with runit as well anyway | ||
abraxxa | i guess the number difference comes from core modules | 12:14 | |
tyil | someone worked on a perl 6 module to make that possible | ||
abraxxa | tyil: i don't know runit, which distro is using it by default? | ||
tyil | voidlinux | ||
abraxxa | never heared of that | ||
tyil | now you have :> | ||
Geth | ecosystem: patzim++ created pull request #370: Add RPi::Device::ST7036 to ecosystem |
12:15 | |
tyil | anyway, I dont like systemd, I dont intend to go out of my way to support it, if you feel something should be added to that article, you can make a PR on github.com/Tyil/website | ||
12:17
scovit joined
|
|||
scovit | Hello, does somebody know how would you do this: sub await (blabla:D $s) is export { react { whenever $s.events { done; } }; }; | 12:19 | |
Geth | ecosystem: dec40c113c | (Patrick Zimmermann)++ (committed using GitHub Web editor) | META.list Add RPi::Device::ST7036 to ecosystem See github.com/patzim/RPi-Device-ST7036 |
||
ecosystem: dd943f5b2a | (Zak B. Elep)++ (committed using GitHub Web editor) | META.list Merge pull request #370 from patzim/patch-1 Add RPi::Device::ST7036 to ecosystem, thanks @patzim! |
|||
scovit | in v6.d? Using Awaitable role? I know that it is still not finished buy I have checked the source code and it seems very complex | ||
s/buy/but/ | 12:20 | ||
I just worry that things which now seems simple are going to become overwhelming in v6.d | 12:21 | ||
or maybe I can just keep that code and things will just work out | 12:22 | ||
12:24
AlexDaniel left
|
|||
timotimo | scovit: your code up there looks like the equivalent of implementing blabla's get-await-handle by just calling self.events.get-await-handle | 12:24 | |
though actually ... | |||
yeah i'm not sure about that | 12:25 | ||
Geth | modules.perl6.org: 3343674a40 | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Root.pm Don't show core dists in tag view |
||
Zoffix | abraxxa: thanks. Fixed. | 12:26 | |
abraxxa | Zoffix++ # thanks! | 12:27 | |
can we also unify serialiSation and serialiZation? | 12:28 | ||
12:28
AlexDaniel joined
|
|||
scovit | timotimo events is a Supply, not a Promise, I am done at the first emit | 12:29 | |
timotimo | ah | 12:30 | |
scovit | it's awaiting for things for happening, opposed to being done | ||
Geth | modules.perl6.org: 03c4743e3f | (Zoffix Znet)++ | tag-aliases.json [REBUILD] Normalize "serialization" tag |
||
12:30
yht left
|
|||
Zoffix | abraxxa: done (will update on next db rebuild) | 12:31 | |
abraxxa | Zoffix: awesome! | ||
timotimo | hm, so return the await-handle of a promise you'll keep when a message comes through the $s.events i guess | ||
Zoffix & | 12:32 | ||
scovit | timotimo: ok, that seems not so complex, more understandable than creating my own await-handle at least | 12:33 | |
good idea :) | |||
s/await-handle/Awaitable::Handle/ | 12:34 | ||
timotimo | oh yes | 12:35 | |
12:36
harrison left
|
|||
timotimo | no reason to try that for something that can more or less already be awaited | 12:36 | |
hm, probably can also $s.events.head(1).Promise.get-await-handle | |||
m: my Supplier $s .= new; my $p = $s.Supply.head(1).Promise; $s.then({ say "oh yeah!" }); $s.emit("hi"); sleep 1; | 12:37 | ||
camelia | No such method 'then' for invocant of type 'Supplier'. Did you mean 'tree'? in block <unit> at <tmp> line 1 |
||
timotimo | m: my Supplier $s .= new; my $p = $s.Supply.head(1).Promise; $p.then({ say "oh yeah!" }); $s.emit("hi"); sleep 1; | ||
camelia | oh yeah! | ||
timotimo | kind of like this? | ||
scovit | very clear! | ||
timotimo | that'll also give you an exception in the await if the supply quits rather than done-ing | 12:39 | |
12:47
ShalokShalom left,
ShalokShalom_ joined
12:52
mcmillhj joined
12:55
rba__ joined,
rba_ left
|
|||
Ulti | just checking out this post www.reddit.com/r/perl/comments/73y...e_granted/ and found that collation example given in the docs doesn't appear to work as expected for me locally docs.perl6.org/language/experiment...ion_Levels | 12:56 | |
12:56
AlexDaniel left
|
|||
Ulti | 'a' coll 'A' in that situation reports More | 12:56 | |
this is with rakudo built about half an hour ago | 12:57 | ||
12:59
wamba left
|
|||
lizmat | m: dd 'a' coll 'A' | 13:01 | |
camelia | Order::Less | ||
lizmat | Ulti: what situation do you mean? | ||
13:01
jonas1 joined
|
|||
lizmat | ah, I see: | 13:01 | |
m: $*COLLATION.set(:quaternary(False), :tertiary(False)); dd 'a' coll 'A' | 13:02 | ||
camelia | Use of the $*COLLATION dynamic variable is experimental; please 'use experimental :collation' in block <unit> at <tmp> line 1 |
||
lizmat | m: use experimental :collation; $*COLLATION.set(:quaternary(False), :tertiary(False)); dd 'a' coll 'A' | ||
camelia | Order::More | ||
Ulti | sorry, yeah you got it | ||
lizmat | m: use experimental :collation; $*COLLATION.set(:!tertiary); dd 'a' coll 'A' | 13:03 | |
camelia | Order::More | ||
lizmat | looks like a rakudobug to me :-) | ||
must be afk for a while, commute to Amsterdam& | 13:04 | ||
13:04
lizmat left
|
|||
Ulti | safe journey | 13:04 | |
13:04
cdg joined
13:08
ufobat left
13:14
Cabanossi left,
ShalokShalom_ is now known as ShalokShalom,
Cabanossi joined
13:17
mr-fooba_ joined
13:20
mr-foobar left
13:23
leah2 joined
13:26
scovit left
13:29
leah2 left
13:37
epony joined
13:41
skids joined
13:43
cdg left
13:44
cdg joined
13:48
cdg left
13:50
zakharyas left
14:00
kurahaupo joined,
kurahaupo left,
kurahaupo_ joined
14:02
mr-fooba_ left
14:04
atroxaper joined
|
|||
atroxaper | o/ #perl6 | 14:05 | |
m: sub s(&funk:(:$param)!) { &funk(:param(works)) }; s( {say $:param} ); | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: works used at line 1. Did you mean 'words', 'ords'? |
||
atroxaper | sub s(&funk:(:$param)!) { &funk(:param('works')) }; s( {say $:param} ); | ||
m: sub s(&funk:(:$param)!) { &funk(:param('sorry')) }; s( {say $:param} ); | |||
camelia | sorry | ||
atroxaper | m: sub c(:&funk:(:$param)!) { &funk(:param('not work')) }; c( funk => {say $:param} ); | 14:06 | |
camelia | Required named parameter 'funk:(:$param)' not passed in sub c at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
atroxaper | Can't crack named subroutine as parameter of sub | ||
HoboWithAShotgun | so as it turns out, clone does not call BUILD on the cloned object | ||
is there a proper copy constructor= | 14:07 | ||
? | |||
14:08
mr-foobar joined
|
|||
Zoffix | nope | 14:08 | |
HoboWithAShotgun | that sucks because the class in question is immutable and private to some other namespace | 14:09 | |
14:10
epony left
|
|||
jnthn | clone is just a method | 14:11 | |
Zoffix | m: sub c (:&funk (:(:$param))) { funk :42param }; c(funk => {say $:param}) | ||
camelia | 42 | ||
Zoffix | atroxaper: ^ | ||
jnthn | method clone() { callsame().CLONE() }; method CLONE() { ...copy logic here... } | ||
Zoffix | atroxaper: looks like there's a parsing bug when `!` or `is required` is used as well. | 14:12 | |
HoboWithAShotgun | sec | ||
Zoffix | m: sub c (:&funk:(:$param)) { funk :42param }; c(funk => {say $:param}) | 14:13 | |
camelia | No such method 'signature' for invocant of type 'Callable' in sub c at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | the plot moistens | ||
atroxaper: oh, nevermind. That method isn't constraining by signature :( | 14:14 | ||
atroxaper | Zoffix: :)) | ||
14:14
piojo joined
|
|||
Zoffix | Filed the "no signature method" as rt.perl.org/Ticket/Display.html?id=132209 | 14:18 | |
atroxaper | m: sub c(:&funk is required (:(:$param))) { &funk(:param('finally. Zoffix++')) }; c( funk => {say $:param} ); | 14:19 | |
camelia | finally. Zoffix++ | ||
atroxaper | m: sub c(:&funk! (:(:$param))) { &funk(:param('finally. Zoffix++')) }; c( funk => {say $:param} ); | 14:20 | |
camelia | finally. Zoffix++ | ||
Zoffix | And thge RT for `is required`: rt.perl.org/Ticket/Display.html?id=132210 | ||
m: say {say $:param}.Capture | 14:21 | ||
camelia | \() | ||
atroxaper | I think signature of parameter have to be in 'where' part. After ! of 'is required' | ||
Zoffix | m: sub c(:&funk! (:(:$param))) { &funk(::parrrrrrrrrrrrrrrrrrrrrrrrrrrrram('finally. Zoffix++')) }; c( funk => {say $:parrrrrrrrrrrrrrrrrrrrrrrrrrrrram} ); | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> No such symbol 'parrrrrrrrrrrrrrrrrrrrrrrrrrrrram' at <tmp>:1 ------> 3funk(::parrrrrrrrrrrrrrrrrrrrrrrrrrrrram7⏏5('finally. Zoffix++')) }; c( funk => {sa |
||
Zoffix | m: sub c(:&funk! (:(:$param))) { &funk(:parrrrrrrrrrrrrrrrrrrrrrrrrrrrram('finally. Zoffix++')) }; c( funk => {say $:parrrrrrrrrrrrrrrrrrrrrrrrrrrrram} ); | ||
camelia | finally. Zoffix++ | ||
Zoffix | atroxaper: it doesn't actually constrain it. You're unpacking the param, but .Capture returns an empty capture | 14:22 | |
m: sub c(:&funk! where .signature ~~ :(:$param)) { &funk(:param('finally. Zoffix++')) }; c( funk => {say $:param} ); | |||
camelia | finally. Zoffix++ | ||
Zoffix | m: sub c(:&funk! where .signature ~~ :(:$param)) { &funk(:parram('finally. Zoffix++')) }; c( funk => {say $:parram} ); | ||
camelia | Constraint type check failed in binding to parameter '&funk'; expected anonymous constraint to be met but got -> :$parram! { #`(Blo... in sub c at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | That works, but requires a `where` | 14:23 | |
atroxaper | Best! | ||
'where' would in 'library' code. I worry about users :) | 14:24 | ||
That is ok then. | |||
14:26
zakharyas joined
|
|||
atroxaper | Who knows, is that way a good way to constraint such 'callback'? | 14:26 | |
Zoffix | Yeah. You could also use subset helpers to give a meaningful error | 14:27 | |
14:27
rba__ left
|
|||
Zoffix | buggable: eco Subset::Helper | 14:27 | |
buggable | Zoffix, Subset::Helper 'create awesome subsets': github.com/zoffixznet/perl6-Subset-Helper | ||
Zoffix | .in 5d add `where-is` to subset helper, bruh | ||
yoleaux | Zoffix: I'll remind you on 8 Oct 2017 14:27Z | ||
HoboWithAShotgun | ok here's the thing: hastebin.com/binuwiheji.rb | 14:28 | |
i don't have access to the bar class, have i? | |||
Zoffix | HoboWithAShotgun: that submethod BUILD looks useless to me | 14:29 | |
HoboWithAShotgun | this is a smalles self contained example | ||
Zoffix | m: class Foo { has $.x; has $.y = $!x + 1 }.new(:42x).y.say | ||
camelia | 43 | ||
atroxaper | Nice subset! | ||
Zoffix | Ah, ok, then | ||
atroxaper | And one more question. when I call &come-code(|%all-possible-args) then is will crash if &come-code do not expect one or more possible-args. Now I grep %all-poosible-args for entries of signature. Is it a good way& | 14:30 | |
Zoffix | atroxaper: an anon capture | 14:32 | |
m: sub foo (:$a, :$b, |) { say "$a and $b and the rest is ignored" }; my %meow = :42a, :72b, :50c; foo |%meow | |||
camelia | 42 and 72 and the rest is ignored | ||
Zoffix | m: sub foo (:$a, :$b, |c) { say "$a and $b and the rest was {c.perl}" }; my %meow = :42a, :72b, :50c; foo |%meow | 14:33 | |
camelia | 42 and 72 and the rest was \(:c(50)) | ||
14:33
rba_ joined
|
|||
Zoffix | HoboWithAShotgun: I'm not quite following that code. The two tests the same item for two different values... | 14:34 | |
atroxaper | But is works only when I control the foo method. But I expect that it will be written by user of lib... | 14:35 | |
Zoffix | Ahj | 14:36 | |
atroxaper | Ok then. It is not hard to grep, Just wanted to ensure that I found a good way. Thank you. | 14:38 | |
Zoffix | Yeah, don't really see a short way | 14:41 | |
14:43
AlexDaniel joined
|
|||
Zoffix | m: sub foo (:$a, :$b) { say "$a and $b" }; my %meow = :42a, :72b, :50c; foo |(%meow{&foo.signature.params.grep(*.named)».usage-name}:p) | 14:44 | |
camelia | Too many positionals passed; expected 0 arguments but got 2 in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | Wonder why it doesn't wanna slip in those pairs :/ | ||
14:45
mcmillhj left
|
|||
Zoffix | m: sub foo (:$a, :$b) { say "$a and $b" }; my %meow = :42a, :72b, :50c; foo |((%meow{&foo.signature.params.grep(*.named)».usage-name}:p).Hash) | 14:49 | |
camelia | 42 and 72 | ||
Zoffix | m: sub foo (:$a, :$b) { say "$a and $b" }; my %meow = :42a, :72b, :50c; foo |%(%meow{&foo.signature.params.grep(*.named)».usage-name}:p) | ||
camelia | 42 and 72 | ||
Zoffix | I guess I confused slipping and capturing... List.Capture shoves Pairs in it into named args... | 14:50 | |
14:52
kurahaupo_ is now known as kurahaupo
|
|||
Zoffix | (also, `.usage-name` is unspecced; don't use it :P) | 14:52 | |
atroxaper | What is '.usage-name'?! | 14:53 | |
Zoffix | It's used when generating the name for default USAGE message for sub MAIN | ||
m: sub MAIN($x, $y, $x) {} | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Redeclaration of symbol '$x' at <tmp>:1 ------> 3sub MAIN($x, $y, $x7⏏5) {} expecting any of: shape declaration |
||
Zoffix | m: sub MAIN($x, $y, $z) {} | ||
camelia | Usage: <tmp> <x> <y> <z> |
||
Zoffix | ^ like her | ||
*here | |||
14:54
mcmillhj joined
|
|||
atroxaper | lol :) | 14:54 | |
Zoffix | m: sub foo (:$a, :$b) { say "$a and $b" }; my %meow = :42a, :72b, :50c; say &foo.cando: \(:42a) | 14:55 | |
camelia | (sub foo (:$a, :$b) { #`(Sub|76304600) ... }) | ||
Zoffix | I'd say that's a bug in `cando`. The sub won't work if I call it with those args | 14:56 | |
Oh nevermind | |||
it will :D | |||
One day, I'll learn this language :) | 14:57 | ||
atroxaper | m: sub foo (:$a, :$b) { say "$a and $b" }; my %meow = :42a, :72b, :50c; foo |%(%meow{&foo.signature.params.grep(*.named).map: *.name.substr(1)}:p) | ||
camelia | 42 and 72 | ||
Zoffix | m: sub foo (:$a, :$b) { say "$a and $b" }; my %meow = :42a, :72b, :50c; foo |(%(%meow{%meow.keys.combinations.grep({&foo.cando: \(|%(%meow{$_}:p))}).sort(-*).head}:p)) | 14:59 | |
camelia | 42 and 72 | ||
Zoffix | ehehehe | ||
atroxaper | Scary... | 15:01 | |
HoboWithAShotgun | zofffix: the last line of that should of course read: ok $foo.bar[0].y == 7, "fails"; | 15:03 | |
hastebin.com/ikosabupuj.rb | 15:04 | ||
Zoffix | Well, that was embarassing... my quip on www.reddit.com/r/perl/comments/73y...e_granted/ exposed a bug in rakudo and it took me like an hour to notice the output was wrong :P | ||
m: for <a b c> { $^v.uc andthen say $v orelse .say | 15:05 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block at <tmp>:1 ------> 3b c> { $^v.uc andthen say $v orelse .say7⏏5<EOL> expecting any of: statement end statement modifier statement modifier loop |
||
Zoffix | m: for <a b c> { $^v.uc andthen say $v orelse .say } | ||
camelia | a a a |
||
Zoffix | ^ that bug :) | ||
m: for <a b c> { $^v.uc andthen say $v } | 15:06 | ||
camelia | a b c |
||
Zoffix | Filed as rt.perl.org/Ticket/Display.html?id=132211 | 15:08 | |
15:08
wamba joined
|
|||
Zoffix | daxim++ # made me find 1 rakudobug and 3 Inline::Perl5 bugs :D | 15:08 | |
daxim | inline::* is cheating | 15:09 | |
Zoffix | Why? | 15:10 | |
Unicode::Collate is cheating | |||
daxim | nope, that's a core module | ||
inline is cheating because I could embed libperl into language Foo, but no one would say running that program is a Foo program | 15:11 | ||
Zoffix | daxim: but we have the spec mandating Inline::Perl5 support. | ||
daxim | that's orthogonal to what I just said | ||
Zoffix | It's part of the language that I can load up Unicode::Collate and use its features. | 15:12 | |
15:13
piojo left
15:20
mcsnolte joined
15:25
zakharyas left
15:28
Cabanossi left
15:29
Cabanossi joined
15:31
hoffentlichja left
15:34
cdg joined,
cdg left,
cdg joined
15:35
someuser left,
cdg_ joined
15:37
brrt joined
15:39
cdg left,
brrt left
15:48
ChoHag left
|
|||
zostay | m: my %s = <x a y b>; if <x y> ~~ %s { say 'found' } | 15:50 | |
camelia | Type check failed in binding to parameter '&call'; expected Callable but got Method+{<anon|50258432>} (Method+{<anon|5025843...) in block <unit> at <tmp> line 1 |
||
zostay | i feel like that should work | ||
Zoffix | zostay: yeah, it's this annoying bug: rt.perl.org/Ticket/Display.html?id...et-history | 15:51 | |
zostay: also, that smartmatch would look for a List key, not for either x or y keys | 15:53 | ||
Actually bypasses the first bug if you write it properly | 15:54 | ||
m: my %s = <x a y b>; if <x y>.any ~~ %s { say 'found' } | |||
camelia | ( no output ) | ||
Zoffix | oh :( | ||
Yeah, it's hitting the Mu candidate that takes a Mu topic :\ | 15:56 | ||
s: {}, 'ACCEPTS' | |||
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/f946.../Mu.pm#L13 | ||
15:56
zakharyas joined
|
|||
Zoffix | s: {}, 'ACCEPTS', \(<x y>.any) | 15:57 | |
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/f946...Any.pm#L18 | ||
Zoffix | Ah that. OK. | ||
zostay | Sounds like this needs an update then, docs.perl6.org/type/Hash#(Map)_method_ACCEPTS | ||
Zoffix hackety hacks | |||
zostay: update for which part? | |||
15:58
domidumont left
|
|||
Zoffix | Oh "If the topic is list-like (Positional), returns True if any of the list elements exist as a key in the Map." | 15:58 | |
zostay: ah, OK, I misread the code then | |||
Sounds like I could be more productive if I don't continually give wrong answers on this channel :D | 15:59 | ||
\o | 16:00 | ||
16:00
Zoffix left,
W4RL0RD left
16:01
AlexDaniel left
16:03
W4RL0RD joined
16:04
robertle_ left
16:05
cdg joined
16:06
cdg_ left
16:07
cdg_ joined
16:08
cdg left
16:12
lowbro left,
Cabanossi left
16:14
Cabanossi joined
16:18
mempko joined
16:22
rba_ left
16:26
sproctor left
16:27
piojo joined
16:28
mempko left
|
|||
Geth | modules.perl6.org/cpan-support: a631a303e0 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder.pm Exclude PSIXDISTS user from CPAN downloads - Lots of experimental uploads and it takes some time to download 'em all on slow networks - We filtered their METAs anyway |
16:30 | |
16:33
cdg joined,
cdg_ left,
dakkar left
|
|||
Geth | modules.perl6.org/cpan-support: 24cc6f7efe | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Root.pm Don't show core dists in tag view |
16:34 | |
modules.perl6.org/cpan-support: 2d9e73c851 | (Zoffix Znet)++ | tag-aliases.json [REBUILD] Normalize "serialization" tag |
|||
16:36
traxex left
16:41
zakharyas left
16:43
troys joined
16:46
Pilu joined
16:49
mempko joined
|
|||
tbrowder | ugexe: why does zef show ":auth" for some modules but not others? does it look both in META6 and on the module definition line? | 16:54 | |
i should have said "when zef installs a module and its dependencies" | |||
16:55
lizmat joined
17:12
W4RL0RD left
17:14
shadoxx left
|
|||
[Coke] | do you have a specific example of one with an :auth and one without? | 17:15 | |
17:17
shadoxx joined
17:18
atroxaper left
17:20
domidumont joined
17:22
ken joined
17:23
ken is now known as Guest54426
17:30
cdg left
17:31
leah2 joined
17:32
cdg joined,
cdg left
17:33
piojo left,
cdg joined
17:34
cdg left
17:36
shadoxx left
17:37
shadoxx joined
17:41
HoboWithAShotgun left
17:55
leah2 left
17:58
cdg joined
18:03
setty1 joined,
epony joined
18:14
leah2 joined
18:15
Rawriful joined
18:20
AlexDaniel joined
18:26
Pilu left
|
|||
Geth | modules.perl6.org/cpan-support: 50e9dbf5cb | (Zoffix Znet)++ | 2 files Add /raw/ route to cater raw files |
18:27 | |
18:27
Cabanossi left
18:29
Cabanossi joined
18:30
darutoko left
18:36
cdg left,
domidumont left
18:38
mcmillhj left
18:39
leah2 left,
mcmillhj joined,
|oLa| joined
18:41
|oLa| left
|
|||
Geth | modules.perl6.org/cpan-support: dd986c6d0f | (Zoffix Znet)++ | 2 files Implement rudimentary in-page file viewer |
18:43 | |
18:44
mcmillhj left
18:50
Morfent joined
18:51
mcmillhj joined
18:56
HoboWithAShotgun joined,
mcmillhj left,
leah2 joined
18:57
eliasr left
18:58
Cabanossi left
18:59
Cabanossi joined
19:03
mcmillhj joined
|
|||
tbrowder | [Coke]: after looking more closely, I see the listed modules have an "auth" key in their META6.json file! I hadn't seen that key listed before in other META6.json examples. As I've commented before, I think there is a disconnect between the very few required META6 keys and those that we need to enforce for a good ecosystem/CPAN. | 19:06 | |
Xliff | m: my %s = <x a y b>; if <x y>.any ~~ %s.keys { say 'found' } | 19:07 | |
camelia | ( no output ) | ||
Xliff | m: my %s = <x a y b>; dd %s | ||
camelia | Hash %s = {:x("a"), :y("b")} | ||
Xliff | m: my %s = <x a y b>; if %s ~~ <x y>.any { say 'found' } | 19:08 | |
camelia | ( no output ) | ||
Xliff | m: my %s = <x a y b>; if %s eq <x y>.any { say 'found' } | ||
camelia | ( no output ) | ||
Xliff | m: my %s = <x a y b>; if %s.keys eq <x y>.any { say 'found' } | ||
camelia | ( no output ) | ||
19:08
mcmillhj left
19:09
brrt joined
19:10
brrt left
|
|||
timotimo | interesting | 19:12 | |
bisectable6: if 3 * (1 + 2){ say "haha" } | |||
bisectable6 | timotimo, Bisecting by output (old=2015.12 new=2724a85) because on both starting points the exit code is 1 | ||
timotimo, bisect log: gist.github.com/08639d1baf78934c61...855d6f57ab | |||
timotimo, (2016-08-03) github.com/rakudo/rakudo/commit/7e...452d870762 | |||
19:16
Guest54426 left
19:18
Guest54426 joined
19:20
mcmillhj joined
19:21
zakharyas joined
19:24
Rawriful left
|
|||
Geth | modules.perl6.org/cpan-support: d5fb0e0674 | (Zoffix Znet)++ | 8 files Add Perl 6 code highligher It's a lot less than ideal and breaks on some constructs. Will need to figure out how to use atom-language-perl6 highligher on web eventually. |
19:26 | |
19:27
Cabanossi left
19:29
Cabanossi joined
19:30
mempko left
19:33
troys is now known as troys_
|
|||
Geth | modules.perl6.org/cpan-support: 059d02a759 | (Zoffix Znet)++ | assets/js/main.js Make line numbers clickable |
19:35 | |
19:37
ChoHag joined
|
|||
AlexDaniel clickbaits code-golf.io/ | 19:40 | ||
19:56
zakharyas left
19:59
Cabanossi left,
mdef joined,
Cabanossi joined
|
|||
mdef | hay?? | 19:59 | |
bagaimana cara kerja perl untuk web ? | 20:00 | ||
20:01
mdef left,
Guest54426 left
20:02
lizmat left
20:03
Guest54426 joined
20:04
leont_ joined
20:05
cdg joined
20:08
Zoffix joined
|
|||
Zoffix | marcusramberg: | 20:09 | |
oops... sorry, fat fingers ':) | |||
20:10
leont_ left
|
|||
Zoffix | And Indenesian person's left already; was gonna say mi.cro.services/ | 20:10 | |
20:12
rba_ joined
|
|||
Xliff | Hmm.... parsing a 1.9meg hash definition takes ~135 to parse in current rakudo. Takes ~14 seconds to load once parsed. | 20:15 | |
s/to parse/seconds to parse/ | 20:16 | ||
masak likes to perl untuk web | |||
El_Che | you little cara kerja! | 20:17 | |
20:17
Rawriful joined
20:19
Rawriful left
|
|||
AlexDaniel | Xliff: so put it into a pm6 file and let it get precompiled? | 20:20 | |
masak | El_Che: I think you might have just called me a workflow. | 20:26 | |
El_Che | masak: you're a piece of workflow, they say | 20:31 | |
20:32
kyan joined
20:40
lizmat joined
|
|||
Xliff | AlexDaniel: My apologies. Those tests were done in a pm6 file. | 20:41 | |
20:41
niceperl joined
|
|||
AlexDaniel | Xliff: ah, so it's 135s before precompilation and 14s after? | 20:41 | |
Xliff | Yes. | ||
AlexDaniel | Xliff: I'm curious, have you tried to achieve the same with JSON::Fast? | 20:42 | |
Xliff | So if there can be some serialization done to get those times down, it would be nice. However, I think this is one of the areas where the nature of rakudo actually prevents much in the way of speed increases. | ||
20:42
mempko joined
|
|||
Xliff | AlexDaniel: I'd have to look into it. So, the answer is "no". | 20:42 | |
But my experiments with JSON::Fast say it should be faster. | 20:43 | ||
AlexDaniel | Xliff: I recall a ticket somewhere with thousands of “say” statements or something like that, and it was really slow | ||
so maybe keeping that data as perl 6 code is the slowest approach, but maybe not | 20:44 | ||
Xliff | Yes. | ||
That was the conclusion I had come up with, as well. | |||
So the other way I am managing that is taking the relatively static data out of the text files, and putting them into an .sqlite3 | 20:45 | ||
And then just querying that. | |||
AlexDaniel would first try dumping all that data into text files :D Current filesystems handle thousands of files in the same directory pretty well | 20:46 | ||
AlexDaniel is not saying that it's the right solution :) | 20:47 | ||
squashable6: next | |||
squashable6 | AlexDaniel, ⚠🍕 Next SQUASHathon in 2 days and ≈13 hours (2017-10-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
timotimo | Xliff: what syntax were you using for the hash definition? do you have something to reproduce? i'd like to run it through a c-level profiler | 20:50 | |
Xliff | timotimo: Standard Hash declaration. | 20:53 | |
For perl6 | |||
I can gist it if you want. | |||
timotimo | you mean like my %foo = a => 2, b => 3, c => 4? | ||
that'd be nice | |||
i don't want to come up with an example of my own %) | |||
Xliff | our %foo = { a=>1, b=>2, c=>3 } | ||
OK. One sec. | |||
timotimo | that's not how you do that d) | 20:54 | |
:) | |||
it used to give an error if you do it like that | |||
bisectable6: my %foo = { a => 1, b => 2 } | |||
bisectable6 | timotimo, On both starting points (old=2015.12 new=fa8fe84) the exit code is 0 and the output is identical as well | ||
timotimo, Output on both points: «Potential difficulties: Useless use of hash composer on right side of hash assignment; did you mean := instead? at /tmp/nhB0ZJLaoo:1 ------> 03my %foo = { a => 1, b => 2 }08⏏04<EOL>» | |||
timotimo | oh, it still does | ||
Xliff | Oh. Perens, not curly braces. LOL | 20:55 | |
m: our %foo = ( a=>1, b=>2, c=>3 ) | |||
camelia | ( no output ) | ||
timotimo | OK | ||
Xliff | except it was more like | ||
timotimo | now i know using our variables is excruciatingly slow, but i don't think it matters for the initializer a tall | ||
Xliff | m: our %foo = ( record_id => { a=>1, b=>2, c=>3 } ) | 20:56 | |
camelia | ( no output ) | ||
timotimo | OK, multi-level, that's more interesting | ||
20:57
Cabanossi left
20:58
Aaronepower joined
20:59
Cabanossi joined
21:01
rindolf left
|
|||
tyil | is there any step-by-step tutorial for contributing perl 6 modules to CPAN? | 21:03 | |
Xliff | timotimo: Here, but this was not what I intended. :/ | 21:04 | |
21:04
mcmillhj left
|
|||
Xliff | gist.github.com/Xliff/795c8dbef036...1a3877799' | 21:04 | |
gist.github.com/Xliff/795c8dbef036...11a3877799 <-- no quote at end | 21:05 | ||
21:05
mcmillhj joined
|
|||
timotimo | that's only one file, right? | 21:06 | |
21:06
TEttinger joined
|
|||
Xliff | Yes. | 21:06 | |
21:07
skids left
|
|||
timotimo | k, because my browser didn't like it :) | 21:09 | |
Xliff | Yeah. It's a large file. | ||
timotimo | takes like a gig of ram to compile, too | ||
Xliff | Yeppers. | ||
So FWIW - File was autogenerated from a mysql database. | 21:10 | ||
This was over a year ago when I was still new to rakudo. | |||
timotimo | okay, 93% time spent in a single function | ||
Xliff | Wow! | ||
21:10
mcmillhj left
|
|||
timotimo | oh, that's spesh | 21:10 | |
without perf it finishes in under a second - loading the precompiled file, that is | 21:11 | ||
i'll proflie the precomp process now | 21:12 | ||
this time it's only 15% of time spent in that same function | 21:15 | ||
looks like spesh is running into an extreme slowdown situation from the gigantic frame and keeps the compiling thread from doing GC for a long time | 21:16 | ||
21:17
mcmillhj joined,
jonas1 left
21:20
wamba left
|
|||
AlexDaniel | Zoffix: CPAN question? ↑ | 21:21 | |
! | 21:22 | ||
:) | |||
21:22
mcmillhj left,
troys_ is now known as troys
|
|||
timotimo | incidentally the speshlog for loading the precomped thing is 85 megs big | 21:22 | |
Xliff | timotimo: So 85 meg vs a gig? | 21:25 | |
I can see that. | 21:26 | ||
21:26
MasterDuke left
|
|||
Xliff | Incidentally, that 132 second parse is 50% larger than what it takes to parse Perl6's core. | 21:26 | |
21:26
MasterDuke joined
|
|||
timotimo | hm? | 21:27 | |
21:27
mcmillhj joined
|
|||
Xliff | Takes me 95-96 for nqp to parse the perl6 core. | 21:27 | |
95-96 seconds | |||
timotimo | the 85 megs is the size of the text file that spesh spits out when you ask it | ||
Xliff | Oh! | ||
OK, that's mostly human readable bloat. | 21:28 | ||
timotimo | well, yeah :) | ||
i can give you a taste of the interesting bits, hold on | |||
Xliff | And the frame for parsing the large file would mean that it would output a lot more than a 1 gig logfile. | ||
timotimo | t.h8.lv/stats_for_mainline.txt | ||
i'm not sure what you mean by that? | 21:29 | ||
the "logged at offset" bit is the interesting bit here | |||
not only because it makes up 99% of the whole file | 21:30 | ||
you see, every time a frame that's being logged hits something interesting like an invocation, it'll take note of that in the log | |||
it wants to share entries, of course | |||
that's why it takes the bytecode offset of the interesting instruction, and searches for an already existing entry | 21:31 | ||
sadly, that's implemented as a linear search | |||
because that's fast enough for normal cases | |||
Xliff | ahhhh | ||
21:32
mcmillhj left
|
|||
timotimo | the entry i copied into that text file is from very early on | 21:33 | |
Xliff | OK. Off for a quick nap. Stomach isn't feeling right. | ||
timotimo | when not nearly all of the frame has been run | ||
oh, hope you'll feel better soon | |||
Xliff | thx | ||
21:33
zakharyas joined
|
|||
MasterDuke | timotimo: can it easily be made a binary search or something smarter than linear? | 21:34 | |
timotimo | 16% into the log file and this stats entry goes up to bytecode index 1 million | ||
yeah, it should be easy | |||
hm, or maybe not, though | |||
you think 1 million, that's already huge? | 21:35 | ||
well, the last entry the file has lists offsets up to 6 million | |||
MasterDuke | bigger indeed | 21:36 | |
timotimo | actually, no, it can't. it's not sorted | ||
Zoffix | tyil: check back in a week | ||
tyil | Zoffix: I can do that :> | ||
if someone had a mediocre guide I was planning to make an easy one myself | 21:37 | ||
Zoffix | .in 5d link tyil to CPAN guide | ||
yoleaux | Zoffix: I'll remind you on 8 Oct 2017 21:37Z | ||
tyil | but if you do it its even less work :p | ||
MasterDuke | timotimo: ugh. second time that's been a problem | ||
Zoffix | tyil: Don't have anything ATM, but was planning to make a writeup after launching CPAN support on modules.perl6.org. | ||
timotimo | oh | ||
tyil | Zoffix: nice | 21:38 | |
timotimo | it's probably totally feasible to just cache the last position in the array and the corresponding bytecode offset | ||
tyil | the cpan support on module.perl6.org made me interested in adding cpan support for my modules | ||
Zoffix | \o/ | ||
tyil | but I couldnt find a lot of info on contributing p6 modules to cpan | ||
timotimo | let me see what the "access pattern" is like | ||
by putting loads of printf in :D | |||
tyil | say is shorter | ||
Zoffix | put is shorter | 21:39 | |
tyil: the nutshell is the process is the same as for Perl 5 modules, except on PAUSE you select "Perl6" as the directory on the uploads page—or use App::Mi6 and its `mi6 upload` feature (though check the archive it makes is file by running `mi6 dist` first) | 21:40 | ||
Zoffix & | |||
(say => prints gist; put => prints string with a newline; so `put` is closer to `printf`) | 21:41 | ||
jdv79 | gist.github.com/anonymous/17e152e8...836df9cbb5 | 21:42 | |
timotimo | C doesn't have say or put :) | ||
jdv79 | that's a gist that seems related. my case that i haven't been able to golf is very similar but the qqx call blocks. | ||
timotimo | it does have puts, but i don't want to do my own formatting | ||
geekosaur | printf has shortcomings in any language with a richer type system than C's. I kinda prefer Python's % operator (not that we could call it that) | 21:43 | |
21:44
mcmillhj joined
|
|||
timotimo | MasterDuke: okay, so, the MVM_spesh_stats_update function goes through all log entries and scatters the individual pieces into the right places | 21:44 | |
MasterDuke: there's nothing preventing us from keeping those lists sorted by doing binary search and inserting into the middle or heck even keeping a heap or other sorted datastructure | 21:45 | ||
MasterDuke: even having a "highest bytecode position so far" check could be a good improvement | 21:47 | ||
so we can instantly just append to the end in that case | |||
thing is, usually these "by offset" entries don't reach anywhere past 100 | 21:49 | ||
21:49
mcmillhj left
|
|||
jdv79 | swapping in proc::async for the qqx yields hte same results | 21:50 | |
timotimo | MasterDuke: so perhaps once a "spesh by type" thing has more than 1k entries we just stop caring about that frame | 21:51 | |
actually, we already have an upper limit for bytecode size where we'll not spesh a frame at all. we should definitely copy that check into the logging perhaps | |||
MasterDuke | was wondering about that | 21:52 | |
timotimo | could even skip putting data into the log if the bytecode offset is too high, but that'd probably make logging have more overhead, which we don't want | ||
jnthn | jdv79: Platform? | ||
MasterDuke | both things actually, might be nice to have some sorted array functions in moar, but also is it even worth it for something that large (in that particular case) | 21:53 | |
jnthn | jdv79: hmm, though I can reproduce it. | ||
jdv79: But wait, nothing awaits that start block? | 21:54 | ||
jdv79 | linux | ||
jnthn | So no wonder it exits :) | 21:55 | |
MasterDuke | (the sorted data structure functionality would also be nice for that sc id situation) | ||
jnthn | Stick an await before the `start` and all is good | ||
jdv79 | i think its a golf failure | ||
jnthn | Ah | ||
jdv79 | i guess i'll just post the whole thing. the actual thing blocks on the proc call | 21:56 | |
jnthn | Yeah, I'm not seeing anything surprising in it only doing "before" there | ||
jdv79 | ok, sorry. i'll get it in a bit. | ||
jnthn | Reason I asked about platform is I'm sure there was an RT about some interaction of run and...something... | 21:57 | |
I forget what | |||
And it was only on OSX | |||
timotimo | good, with that skip in place loading that module is as fast as if i had disabled spesh | ||
jnthn | But that predated the re-working of run in terms of Proc::Async | ||
lizmat calls it a night | 21:58 | ||
21:58
lizmat left
|
|||
MasterDuke | timotimo: nice | 21:59 | |
21:59
setty1 left
|
|||
timotimo | pushed the fix | 21:59 | |
Xliff: now loading the precomped file is like a hundred times faster | 22:00 | ||
22:03
kyan left,
mcmillhj joined
|
|||
timotimo | Xliff: but parsing and compiling the file still takes 1:13m | 22:04 | |
not sure how long it took before, but the difference is probably small | |||
okay, could be about 10 seconds faster | 22:06 | ||
22:08
mcmillhj left,
Guest54426 left
|
|||
timotimo | Xliff: and if you have "constant %systems = %( ... )" it'll load in under a third of a second on my machine | 22:11 | |
you have jnthn to thank for that one | |||
22:13
pmurias left
22:19
Ven`` left
22:20
mcmillhj joined
22:25
mcmillhj left
|
|||
jdv79 | jnthn: its too big. i'll try to golf again tomorrow. | 22:25 | |
22:26
AlexDaniel left
22:27
Cabanossi left
|
|||
Geth | modules.perl6.org/cpan-support: 05fd06a5c6 | (Zoffix Znet)++ | 3 files Add back button to files browser |
22:28 | |
jnthn | jdv79: Alrighty. I'm heading for sleep soon anyways. | 22:29 | |
tyil | no lizmat :( | ||
22:29
Cabanossi joined
|
|||
tyil | .tell lizmat was this your doing? :p ghostbin.com/paste/t9opu | 22:29 | |
yoleaux | tyil: I'll pass your message to lizmat. | ||
timotimo | nite jnthn :) | ||
Geth | modules.perl6.org/cpan-support: 38709db18e | (Zoffix Znet)++ | 3 files Improve file browser's look |
22:32 | |
Zoffix | tyil: you can view who committed by appending commit sha to github.com/rakudo/rakudo/commit/ so: github.com/rakudo/rakudo/commit/98fae3d | 22:33 | |
22:33
mcmillhj joined
|
|||
tyil | Zoffix: it was intended as a joke (hence the :p), since I saw her working with stuff that looked like that at the perl monger meetup | 22:33 | |
Zoffix | tyil: tho "doing"… doing what? There's no error in that output | 22:34 | |
Ah. OK. | |||
geekosaur | ther eis, and it looks t o me like rakudobrew has horled itself yetagaian | ||
*horked itself yet again | |||
22:34
pecastro left
|
|||
tyil | sh: 1: /home/tyil/.local/var/rakudobrew/moar-nom/install/bin/nqp-m: not found looks wrong to me | 22:34 | |
Zoffix | geekosaur: what is it? I see only four lines of standard output. Cuts off at "cloning nqp | ||
tyil | that said, it seems to compile Just Fine(tm) | 22:35 | |
Zoffix | tyil: that's normal. It checks if you already have built nqp and if not it builds it for you (hence the "cloning" bit) | ||
tyil | hmm | ||
Zoffix | Maybe it shouldn't output it :) | ||
tyil | could be made prettier in that case | ||
Zoffix | tyil: you should join us during SQUASHathon this weekend and make it prettier. I think that stuff is controlled by the first two files here: github.com/rakudo/rakudo/tree/nom/tools/build | 22:36 | |
squashable6: status | |||
squashable6 | Zoffix, ⚠🍕 Next SQUASHathon in 2 days and ≈11 hours (2017-10-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
Xliff | timotimo++ && jnthn++ | 22:37 | |
tyil | Zoffix: if I have time, I will, I'm still not entirely done moving into this new place and have something planned for sunday already | ||
Zoffix | \o/ | ||
tyil | it shouldnt take too much time to fix | ||
22:38
mempko left,
mcmillhj left
22:39
epony left
|
|||
timotimo | Xliff: if it's autogenerated from mysql anyway, you can probably have a constant %systems = do { use DBIish; ... }; in your file and it'd probably be faster than parsing perl6 code | 22:40 | |
Zoffix | :O :O :O searched for a Perl module to guess if a file is binary or or text; turns out it supports it out of the box with -B/-T file tests. | ||
Zoffix gets jealous | |||
22:40
bloatable6 left
|
|||
Zoffix | (we do have Data::TextOrBinary in ecosystem tho) | 22:40 | |
22:40
bloatable6 joined
|
|||
jnthn | Hm, that module sounds familiar...did I wrote it? | 22:41 | |
eco: Data::TextOrBinary | |||
bah, how's that thing work | |||
eco Data::TextOrBinary | |||
Not like that :) | |||
Zoffix | Bucciarati: eco Data::TextOrBinary | ||
oops | |||
buggable: eco Data::TextOrBinary | |||
buggable | Zoffix, Data::TextOrBinary 'Heuristic detection of text vs. binary data.': github.com/jnthn/p6-data-textorbinary | ||
jnthn | yup :P | ||
oh, right, now I remember :) | |||
Zoffix | :) | ||
jnthn | It uses a fairly simple heuristic, which I nabbed from git :P | 22:42 | |
22:43
pilne joined
|
|||
Xliff | jnthn: If more than 30% of the text is not a printable character, it's binary? | 22:44 | |
22:44
mcmillhj joined
|
|||
Xliff | Or 30% of a suitably large enough sample, even. | 22:44 | |
22:44
buggable left
22:45
zakharyas left
|
|||
jnthn | I can't remember, but it's something along those lines | 22:45 | |
Though I think there's some other twist | |||
22:45
buggable joined
|
|||
Zoffix | eco: Meow | 22:45 | |
buggable | Zoffix, Acme::Meow 'The kitty you always wanted, now in Perl 6': github.com/tadzik/perl6-Acme-Meow | ||
Zoffix | trigger works now | ||
Xliff | jnthn: Of course there's always a twist. | 22:46 | |
jnthn | Yeah, it's got some extra smarts. Null byte always means binary, \r not followed by \n also | ||
Line \n's don't count either way | |||
Xliff | Ah. NULL byte will shortcut everything. | ||
jnthn | Yeah, the lone \r too | 22:47 | |
Xliff | And no computer uses just \r's | ||
LOL! Jinx | |||
Geth | modules.perl6.org/cpan-support: 4076ead17e | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Dist.pm Do not attempt to render binary files in-page |
||
22:47
kurahaupo_ joined,
kurahaupo_ left
22:48
kurahaupo_ joined
|
|||
jnthn | Other than that it's just a table lookup to see if it's printable or not | 22:48 | |
22:49
mcmillhj left,
kurahaupo left
22:53
virtualsue left
22:56
arnsholt left
22:57
arnsholt joined
22:59
mcmillhj joined
23:02
dpk joined
23:04
mcmillhj left
23:12
cdg left
23:13
niceperl left
23:14
mcmillhj joined
23:15
HoboWithAShotgun left
23:20
mcmillhj left
23:27
Cabanossi left
23:29
Cabanossi joined
23:41
cdg joined
23:42
epony joined
23:45
cdg left
23:47
Morfent left
23:50
nadim left
23:55
skids joined
|