»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31 Set by jnthn on 28 February 2015. |
|||
00:04
Alina-malina left,
Alina-malina joined
00:05
tinyblak left
00:10
skids joined
00:16
lucasb left
00:33
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:36
gfldex left
00:46
raiph joined
01:01
Rounin left
01:05
yqt left
01:07
aborazmeh left,
laouji joined
01:15
yeahnoob joined
|
|||
tony-o | thanks for the PR zoffix | 01:17 | |
Zoffix | np | ||
01:19
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:22
dtscode joined
|
|||
dtscode | if i wanted to build the standard perl 6 interpreter from source, is this all i need? github.com/perl6/std/ | 01:22 | |
colomon | dtscode: no. | 01:23 | |
dtscode: that’s just the parser | |||
and not the parser that rakudo actually uses, it’s more of a standard reference implementation of a p6 parser | |||
TimToady | see rakudo.org/how-to-get-rakudo/ | 01:24 | |
dtscode | oh so i should use rakudo? | 01:25 | |
colomon | if you want to actually use perl 6, yes. :) | 01:26 | |
dtscode | thanks :D | 01:27 | |
#perl was right. you guys are cool | |||
colomon is just glad TimToady++ thought of the how-to-get-rakudo link | 01:28 | ||
TimToady | I went to perl6.org and clicked on the big DOWNLOAD button to see what it'd say :) | 01:30 | |
Zoffix | woohoo. *now* I'm done. All non-compliant S11 dists received a RP :) ... "April 1, 2015: 124 contributions" on github lol :D | 01:31 | |
Actually did not see that big download button there the two times I wanted to install perl6.. It sorta blends into the background among those shadowy blocks | 01:32 | ||
TimToady | we should maybe put it in the top row rather than the bottom | 01:35 | |
afk | |||
01:42
aborazmeh left,
Vlavv_ left
01:46
dj_goku_ joined
|
|||
dalek | href="https://perl6.org:">perl6.org: 3aa4c7f | (Zoffix Znet)++ | source/index.html: Move download button to top row, to make it more obvious |
01:46 | |
01:48
dj_goku left
01:55
Vlavv_ joined
02:06
chenryn_ joined
02:07
aborazmeh joined,
aborazmeh left,
aborazmeh joined
02:17
noganex_ joined,
Juerd joined
02:18
synopsebot joined,
hugme joined,
ChanServ sets mode: +v hugme
02:20
noganex left
02:27
telex left
02:28
telex joined
02:43
jack_rabbit joined
02:47
tinyblak joined,
tinyblak left
02:48
chenryn_ left
02:51
chenryn_ joined
03:01
tinyblak joined
|
|||
Zoffix | What do you think about fixing this github.com/perl6/doc/issues/45 (add missing variables to 'Search') by adding the missing variables directly to github.com/perl6/doc/blob/master/t...emplate.js ? | 03:17 | |
They're compile and dynamic variables (doc.perl6.org/language/variables#Co...variables) and they're in a table. I don't mind doing the work. | |||
Unless there a way to make htmlfy to index them somehow? | 03:18 | ||
Ah... design.perl6.org/S26.html#Indexing_terms | 03:29 | ||
Zoffix makes a note to look at that tomorrow | |||
03:33
BenGoldberg left
|
|||
skids | gist.github.com/skids/dbe151cb35a4de8c4b9a # could someone with a full test environment fold this in? | 03:43 | |
03:48
chenryn_ left
|
|||
skids | (I don't think we should be expecting new users to figure out that RAKUDO_MODULE_DEBUG exists.) | 03:49 | |
03:49
chenryn_ joined
03:53
chenryn_ left
04:02
aborazmeh left
04:03
dtscode left
04:12
raiph left
04:15
prime left
04:17
kaare_ joined
|
|||
raydiak | after building a fresh clone of raydiak/MoarVM, which is identical to MoarVM/MoarVM, moar --version gives "2015.01-190-gc3bf959"...anyone have a clue what is up with the ".01"? the commit part is correct :P | 04:18 | |
04:28
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
raydiak | ah fixed it, needed a git pull --tags upstream master (and then git push --tags too) | 04:35 | |
04:37
skids left
04:46
aborazmeh left
04:50
chenryn_ joined
04:54
chenryn_ left
04:58
sirdancealot left
05:01
uvb joined
05:05
uvb left,
uvb joined
05:31
uvb left
05:37
chenryn_ joined
05:38
yeahnoob left
05:47
xfix joined
05:55
Sqirrel joined
|
|||
jnthn | morning, #perl6 | 06:12 | |
dalek | kudo/nom: 10cd401 | jnthn++ | src/Perl6/Grammar.nqp: Give decent error for | used outside of arglist. Before we just called it out as a call to a non-existing prefix:<|> sub, which was LTA. |
06:13 | |
kudo/nom: 1457816 | jnthn++ | src/ (2 files): Typed exception for mis-placed |. |
|||
bartolin_ | \o/ jnthn | 06:14 | |
dalek | ast: 72ca1c1 | jnthn++ | S32-exceptions/misc.t: Test for X::Syntax::ArgFlattener exception. |
||
jnthn | Folks can feel free to word-smith the message; there may be a better one :) | 06:15 | |
moritz | "Illegal use of prefix | outside of an argument list"? | 06:17 | |
not sure that's better | |||
anyway, jnthn++ for throwing the error in the first place | |||
ah, I'm glad to see we're not the only one having trouble with high system load (on hack, I mean) | 06:18 | ||
06:18
brrt joined
|
|||
moritz | the debian mirror we use at $work has a load avg. > 220 right now :-) | 06:18 | |
06:18
brrt left
|
|||
jnthn | loads of trouble... | 06:18 | |
06:22
jack_rabbit left
06:35
FROGGS joined
06:44
Sqirrel left
07:02
darutoko joined
|
|||
moritz | uhm, did the 'sillymoose' github account rename to 'dnmfarrell'? | 07:13 | |
Woodi | hallo #perl6 | 07:15 | |
FROGGS | moritz: yes | ||
Woodi | I tried to use Bailador for simple app, but fall into misc troubles... eg. pastebin.com/fcbCSM1G | 07:16 | |
dalek | osystem: 29353d7 | moritz++ | META.list: Track a github username change |
07:17 | |
Woodi | I think Buf thingies should be drowned much deeper | ||
moritz | FROGGS: github.com/dnmfarrell/URI-Encode/c...7a403be094 introduced a trailing comma in build-depends | 07:18 | |
Woodi | getting simple %env is much harder then it need to be... | ||
FROGGS | eww | ||
jnthn | request.env<$_> | ||
Surely that's not what was meant? :) | |||
{$_} | 07:19 | ||
Woodi | jnthn: works for request.env<PATH_INFO>; | ||
jnthn | Yes, that's a literal. | ||
foo<...> is foo{'...'} | |||
So you're doing request.env{'$_'} there | |||
FROGGS | moritz++ # I PR'd it | ||
Woodi | hmm :) | 07:20 | |
moritz | PerlJam: raw.githubusercontent.com/perlpilo.../META.info is invalid JSON | ||
Woodi | but why that Bufs popping up ? | 07:21 | |
also: reload on ^key in running Bailador app would be nice :) | 07:22 | ||
jnthn | Woodi: I didn't design it so I don't know the actual answer, but "we can't rely on what encoding we have at that level" would be a fair enough answer. | ||
07:23
zakharyas joined
|
|||
jnthn | You'd have to ask somebody who knows Bailador better than I do :) | 07:23 | |
Woodi | jnthn: same thing on commend line works... or it is other level ? | ||
jnthn | Woodi: I don't know what request.env actually corresponds to | 07:24 | |
Woodi | jnthn: as usual, method calls :) | 07:25 | |
jnthn | :P | ||
.oO( Not all that is accurate is useful... ) |
07:26 | ||
07:26
foRei joined,
foRei left
07:27
eli-se joined
07:35
eli-se left
07:38
pdcawley joined
|
|||
moritz | moritz@pat:~/p6/all>ls */*/META.info|wc -l | 07:40 | |
297 | |||
moritz@pat:~/p6/all>grep -L provides */*/META.info|wc -l | |||
TimToady | m: my %a; say %a.of; my $a = {}; say $a.of | ||
moritz | 89 | ||
camelia | rakudo-moar 145781: OUTPUT«(Mu)(Any)» | ||
moritz | TimToady: that looks worng | ||
TimToady | m: my @a; say @a.of; my $a = []; say $a.of | ||
camelia | rakudo-moar 145781: OUTPUT«(Mu)(Any)» | ||
TimToady | so does that | ||
07:41
Sqirrel joined
07:42
eli-se joined,
eli-se left
|
|||
raydiak | FROGGS++ thanks for the merge :) | 07:43 | |
07:45
fhelmberger joined
|
|||
FROGGS | pleasure :o) | 07:46 | |
raydiak | allows Compress::Zlib to not require Inline anymore, which is great for installing on Windows | 07:48 | |
which seemed important to me all of a sudden when I merged the PNG support into Pray yesterday and then realized you can't install it without a c compiler | 07:49 | ||
07:52
tinyblak_ joined
|
|||
FROGGS | ahh yes | 07:53 | |
I also need Compress::Zlib for panda/CPAN | |||
that's awesome | |||
raydiak | funny thing I noticed about panda on windows, seemes to require "prove", which means I had to install strawberry perl too, unless we have our own replacement | 07:55 | |
07:56
tinyblak left
|
|||
raydiak | oh but if anyone feels up to porting github.com/MoarVM/MoarVM/commit/7a...a2e70ad5de to JVM...precisely how to do that isn't immediately obvious to me, I'd be guessing | 08:00 | |
08:03
eli-se joined,
laouji left
|
|||
eli-se | I can make Perl 6 look like C++! | 08:03 | |
08:04
laouji joined
|
|||
moritz | is that a good thing? :-) | 08:04 | |
eli-se | m: sub static_cast { { int => sub ($x) { $x.Int } } }; static_cast<int>(1.23) | ||
camelia | ( no output ) | ||
eli-se | m: sub static_cast { { int => sub ($x) { $x.Int } } }; static_cast<int>(1.23).say | 08:05 | |
camelia | rakudo-moar 145781: OUTPUT«1» | ||
eli-se | :) | ||
FROGGS | raydiak: you need to handle it here: github.com/perl6/nqp/blob/master/s....java#L178 | ||
raydiak: though, there is a caveat | |||
eli-se | Does a slang have to be a Grammar? | 08:06 | |
or based on | |||
FROGGS | raydiak: and it results in the question: "how the heck do I get a pointerish thing from the underlined storage of a VMArray?!" | ||
08:07
laouji left
|
|||
FROGGS | eli-se: I'd say so | 08:07 | |
raydiak | FROGGS: yeah that's where I stopped when I was looking in to it :) | ||
08:07
laouji joined
|
|||
eli-se | meh | 08:07 | |
FROGGS | raydiak: that's also where I stopped when I attempted that months ago .O9 | 08:08 | |
err, :o) | |||
eli-se: why meh? | |||
eli-se | that means you can't use any existing parser | ||
such as libclang :P | 08:09 | ||
jnthn | Well, the real issue is having the other parser know when to stop and hand back control... | ||
eli-se | Can't just brace-match because of C preprocessor. | ||
FROGGS | exactly | ||
eli-se | jnthn: right | ||
FROGGS | if you could have a main entry token that knows where to stop you could hand off that piece to the other parser | 08:10 | |
08:10
RabidGravy joined
|
|||
jnthn | afaik, the thing calling a slang mostly wants to get back a Cursor saying "I matched and got to this point in the text", | 08:10 | |
08:13
kjs_ joined
|
|||
raydiak | FROGGS: I'll try to remember to look in to it again soon if nobody else does it sooner; I was trying to read about it and got confused but it's after 1 AM here so that's kinda expected | 08:14 | |
FROGGS | yeah | ||
sadly it still wont be a LHF after two cups of coffee in the morning :/ | |||
timotimo | o/ | 08:15 | |
eli-se | I find grammars difficult to use though | 08:16 | |
raydiak | g'mornin timo | ||
08:16
eli-se left
|
|||
timotimo | hey raydiak | 08:17 | |
Compress::Zlib working without Inline::C is fantastic news | |||
also, leont was working on a TAP::Harness implementation in perl6 some time ago | |||
that could be used to provide "prove" if there's no system-wide prove installed (i.e. on windows) | 08:18 | ||
raydiak | nice | ||
timotimo | github says leont/tap-harness6 was updated 7 hours ago, but the latest commit is somewhat older | 08:20 | |
might just have been a push of already-committed stuff | |||
oh | 08:21 | ||
no, that's from the "provides" pull request | |||
moritz | timotimo: also, could be another branch, or a tag | ||
timotimo | Zoffix: i don't know where these "6" come from in github.com/Leont/tap-harness6/pull/2/files | 08:22 | |
is that your code or just pandas gen-meta? | |||
moritz | uk.businessinsider.com/reddit-april...015-4?r=US muhaha | 08:24 | |
tadzik | www.reddit.com/r/thebutton/comments...n_so_many/ :D | 08:28 | |
nine_ | So what happened after April 1st was over? | 08:30 | |
yoleaux | 1 Apr 2015 22:29Z <japhb> nine_: I seem to recall someone (you, I think?) mentioning that there was something unsafe about running multiple Python interpreters in a single process as a way of working around the unsafe/poorly scaling threading. Can you give specifics? | ||
moritz | nine_: www.reddit.com/r/thebutton seems like it stopped working :( | 08:32 | |
08:43
tinyblak_ left
08:44
eli-se joined
08:48
kjs_ left
08:49
rurban_ joined
|
|||
raydiak | good night #perl6 | 08:49 | |
eli-se | ybe | ||
timotimo | gnite raydiak | 08:50 | |
tadzik | goonite | ||
08:50
sirdancealot joined
08:52
albert joined
08:53
kjs_ joined,
tinyblak joined,
Rounin joined
|
|||
albert | Hello, I wonder is there a Perl 6 IDE with code completion and debugger? I tried Padre with Perl6 plugin,, but it doesn't work. | 08:54 | |
08:55
kjs_ left
|
|||
moritz | albert: what do you mean by "it doesn't work"? | 08:56 | |
08:57
tinyblak left
|
|||
moritz | albert: if it looks like a bug in Padre, please submit a bug report; your chances of getting it fixed are higher than finding another IDE | 08:57 | |
osfameron | someone's tried embedding perl6 into eclipse too | 08:58 | |
hmmm, that's probably not the same thing | 08:59 | ||
albert | moritz: I already submitted a bug report: github.com/PadreIDE/Padre-Plugin-P.../issues/1. Maybe someone here can advise how to fix this bug? | ||
nine_ | albert: I'd guess that you're missing some Module::Install Padre plugin | 09:00 | |
nwc10 | b | 09:01 | |
nine_ | albert: try it again after installing Module::Install::PadrePlugin | 09:02 | |
09:02
gfldex joined
|
|||
albert | Ohh, Thanks! | 09:02 | |
eli-se | I'm gonna rewrite my compiler in Perl 6 today. | 09:03 | |
it has some ugly hacks in it that I want to get rid of anyway | 09:04 | ||
jnthn | eli-se: Have fun! :) Hope it comes out nicely :) | 09:05 | |
eli-se | the hardest part will probably be learning Perl 6 regexen | ||
timotimo | they are pretty much worth it, IMO | ||
eli-se | so I can translate this regex to Perl 6: [ \n]|#(\((?:(?-1)|.)*?\))|#.*?\n | ||
timotimo | using perl6-debug-m (plus installing Debugger::UI::CommandLine) is very nice for playing around with regexen | 09:06 | |
eli-se | also, is | 09:07 | |
oops | |||
09:07
eli-se left
09:08
eli-se joined
|
|||
vendethiel- | is someone on reddit really complaining about "FatRat.nude"? | 09:08 | |
timotimo | may be | 09:09 | |
link? | |||
eli-se | lol reddit | ||
pack seems to be similar in Perl 6 | |||
vendethiel- | timotimo: it's directly linking to doc, r/programming/new "I know that it’s ... that doesn’t change the fact that Perl 6 has a method called FatRat.nude() (doc.perl6.org)" | ||
tadzik | vendethiel-: after Pillars of Transphobia there is very little that can surprise me | ||
timotimo | that's not what the method is called? | 09:10 | |
jnthn | Rat and FatRat do have a .nude method | ||
Because who wants to write .numerator-and-denominator? :) | |||
eli-se has never seen a fat rat that isn't nude | |||
tadzik | hmm, well, the TMNT master was not fat iirc | 09:11 | |
timotimo | i mean, the method is not called "FatRad.nude", at least not to me | ||
eli-se | it's not called until you call it! | ||
timotimo | tadzik: but he wasn't fat, was he? i seem to recall he was rather thin? | ||
nine_ | jnthn: Yesterday I did some digging on rt.perl.org/SelfService/Display.html?id=123989 | ||
tadzik | yes, that's what my memory tells me too | ||
eli-se | tadzik makes me want tzatziki | ||
tadzik | hehe | ||
nine_ | jnthn: I guess a solution may be to copy the previous callframe's $*DISPATCHER to the current callframe. Does that sound feasible? | 09:13 | |
eli-se | does Perl 6 have the equivalent of Perl 5 my $x = ''; open my $fh, '>', \$x; ? | ||
timotimo | is that what Tux built with IO::String? | ||
jnthn | nine_: Well, that should already be being done | ||
nine_: That's what the setdispatcher/takedispatcher nqp ops are about | |||
nine_ | jnthn: where? | ||
|Tux| | IO::String was for reading, not for writing | 09:14 | |
timotimo | oh, OK | ||
nine_ | jnthn: ok, thanks. Will look further into that direction | ||
eli-se | I want to write binary data, not text. | ||
|Tux| | though writing will be on my todo | ||
jnthn | nine_: Search for nqp::setdispatcher in src/Perl6/Metamodel/Dispatchers.nqp | 09:15 | |
09:17
eli-se left
|
|||
|Tux| | eli-se: gist.github.com/Tux/8ebe8af1949c2aced18b | 09:17 | |
vendethiel- | I think you're supposed to use buffers then | ||
|Tux| | Buf is binary, Str is string | 09:18 | |
vendethiel- | |Tux|: "str!" <- that ! shouldn't be needed for a positional parameter | 09:19 | |
timotimo | right, but: Buf is rw, Str is immutable | ||
(though there is substr-rw) | |||
vendethiel- | isocpp.org/blog/2015/04/the-c-languages-merge ahhaha | ||
09:20
mr-foobar left
|
|||
|Tux| | April fool? | 09:20 | |
jnthn | substr-rw doesn't change Str being immutable :) | 09:21 | |
timotimo | right | ||
jnthn | It makes a new Str and assigns it to the container | ||
timotimo | it works on the scalar instead | ||
yeah | |||
jnthn | Blob is an immutable buf | 09:22 | |
|Tux| adds Blob to notes | |||
timotimo | .o( and every last word he said was adorable! he said blob, blob, blob blo-blo-blo-blo-blo-blo-blob ) | ||
09:23
espadrine_ joined
|
|||
timotimo | aaw, stack egg | 09:26 | |
that's cute | |||
sort of like a democratic tamagochi | |||
masak | antenoon, #perl6 | 09:29 | |
moritz | \o masak | 09:30 | |
Zoffix | timotimo, fixed, sorry: github.com/Leont/tap-harness6/pull/2/files | 09:31 | |
moritz | Zoffix++ # all those pull requests | 09:32 | |
Zoffix | timotimo, they came from my code that figures out the names that stripped 'pm' before 'pm6' so the 6 got left over :} github.com/zoffixznet/perl6-util-M...run.pl#L68 | ||
\o/ | |||
timotimo | hah :D | ||
thanks a whole lot for doing this! :) | |||
Zoffix | np | ||
09:34
eli-se joined
09:36
wryk joined
09:39
kjs_ joined
09:56
haroldwu left
09:57
tinyblak joined,
haroldwu joined
09:59
prl joined
|
|||
prl | Hi guys, | 09:59 | |
masak | \o | ||
prl | if I use a start block, | ||
should i expect that the promised is kept? | 10:00 | ||
my $p = start {1}; say $p.status | |||
i got Planned in the latest Rakudo star | |||
moritz | prl: eventually, yes | ||
prl: well, it's only kept after the code of the promise has actually run | |||
prl: a thread pool scheduler runs it when it's convenient | 10:01 | ||
and until then, it's Planned | |||
prl | aha, sleep 1 before reading $p.status helps | ||
but | |||
moritz | don't sleep | ||
if you want to wait for the result, that is | |||
access $p.result; it'll block until the promise is fulfilled (or broken) | 10:02 | ||
masak .oO( blog post: bad habits of a pre-promises era ) | |||
10:02
tinyblak left
|
|||
prl | yes true) | 10:02 | |
moritz | doc.perl6.org/type/Promise | ||
prl | what if i divide by zero inside the start block? | ||
it is still kept | |||
moritz | prl: why don't you try it and see? | ||
masak: now listening to: No Doubt - Don't Sleep :-) | 10:03 | ||
masak | :) | ||
prl | it is still kept | ||
moritz | m: my $p = start { die "OH NOEZ" }; await $p; say $p.result | ||
camelia | rakudo-moar 145781: OUTPUT«===SORRY!===OH NOEZ» | ||
prl | it is still kept | ||
10:03
albert left
|
|||
prl | urm:) | 10:03 | |
moritz | prl: because 1/0 produces a Rat instead of dieing | 10:04 | |
prl | my $p = {1 / 0}; .... say $p.status prints Kept | ||
оу | |||
ок | |||
ok | |||
cool | |||
thanks | |||
masak | .u к | 10:05 | |
yoleaux | U+043A CYRILLIC SMALL LETTER KA [Ll] (к) | ||
masak | hugme: hug the letter к | 10:06 | |
hugme hugs the letter к | |||
masak | I love our current collection of bots :> | ||
jnthn | m: my $a = 1/0; say $a.WHAT | 10:07 | |
camelia | rakudo-moar 145781: OUTPUT«(Rat)» | ||
jnthn | Heh, such lazy :P | ||
An actual exception in a Promise will make it Broken, though | 10:08 | ||
masak .oO( but what happens if you wrap the Promise inside an Unbreakable Vow...? ) :P | |||
masak .oO( 2037: Perl 7 is announced. it is the merge of Perl 6 and the HPMoR community ) | 10:09 | ||
vendethiel- | HPMoR? | ||
moritz | Hilarious Perl and the Methods of Rats? | ||
tadzik | :D | 10:10 | |
masak | vendethiel-: massive time sink advisory. | ||
you have been duly warned. | |||
moritz | vendethiel-: hpmor.com/ | ||
a Harry Potter fanfic (and a good one), with the same amount of text as ~4 original Harry Potter books | |||
masak .oO( my Lock $lock .= new; $lock.alohamora ) | 10:11 | ||
moritz | masak: no, you must first .colloportus before you can .alohamora it :-) | 10:12 | |
DrForr | sub AVADAKADAVRA() { self.free } | ||
masak | o.O | ||
DrForr: you... you... you just *used self in a sub*! :( | 10:13 | ||
moritz | that's fine, if it's declared as an outer lexical | ||
DrForr | s/self// # ;... | ||
masak | also, be glad you got a vowel wrong there. otherwise you might've gotten a stern talk with Moody. | ||
10:13
raydiak left
|
|||
DrForr | Never read the books. | 10:14 | |
tadzik | you can't tell me what to do! | ||
english so unambigous | |||
DrForr | I just assumed she ripped off 'abracadabra'. | ||
10:16
chenryn_ left,
prl left
|
|||
DrForr | "Well, see, they just took Latin, and ... ruined it." | 10:16 | |
masak | what, you're saying "wingardium leviosa" is not actually Latin? | 10:17 | |
10:17
chenryn_ joined
|
|||
jnthn | Let's ask a native Latin speaker...oh, wait... :P | 10:17 | |
arnsholt | Well, the Harry Potter spells are a reasonable facsimile of Latin, IMO =) | 10:19 | |
masak | of course, they've been meticulously catalogued by the Wikipedia community: en.wikipedia.org/wiki/List_of_spel...rry_Potter | 10:20 | |
up to and including actual intersections with actual Latin. | 10:21 | ||
tadzik | nine_: I get an error when building Inline::Perl5: /usr/bin/ld: /home/tsosnierz/.plenv/versions/5.18.1/lib/perl5/5.18.1/x86_64-linux/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_sv_yes' can not be used when making a shared object; recompile with -fPIC | ||
10:21
chenryn_ left
|
|||
tadzik | is my perl5 miscompiled? | 10:21 | |
10:22
tinyblak joined,
Akagi201_ left
|
|||
moritz | tadzik: look like | 10:23 | |
tadzik | plenv--- | ||
moritz | tadzik: see the README.md in Inline::Perl5 | 10:24 | |
perl 5 needs the -Duseshrplib configure option | |||
tadzik | aha! | 10:25 | |
thank you | |||
10:27
laouji left
10:30
laouji joined
10:43
eli-se left
10:44
eli-se joined,
lichtkind joined
10:45
eli-se left
10:47
grondilu joined
|
|||
grondilu | what's this "provides" section in META.info about? github.com/grondilu/clifford/pull/1 I can't see any "provides" word in S11. | 10:50 | |
nine_ | tadzik: hit me, too a couple of times already ;) | 10:52 | |
timotimo | this cat likes stepping onto my touchpad | 10:54 | |
FROGGS | grondilu: design.perl6.org/S22.html#provides | ||
grondilu: and we all do that for this: perl6advent.wordpress.com/2013/12/...g-modules/ | 10:55 | ||
and we talk about "S11 support" because it is about supporting design.perl6.org/S11.html#Versioning | 10:56 | ||
10:56
kurahaupo1 joined
10:59
chenryn_ joined
|
|||
bartolin_ | while trying to make Test.pm report correct line numbers for failing tests I found the following: | 11:05 | |
11:05
eli-se joined
|
|||
bartolin_ | m: for 1 .. 200 { }; { say callframe(1) } | 11:05 | |
camelia | rakudo-moar 145781: OUTPUT«(signal SEGV)» | ||
bartolin_ | m: for 1 .. 199 { }; { say callframe(1) } | ||
camelia | rakudo-moar 145781: OUTPUT«CallFrame.new(level => 3, annotations => ("line" => "1", "file" => "/tmp/azHtS40kZu").hash, my => EnumMap.new("\$!" => Mu, "!UNIT_MARKER" => Mu, "GLOBALish" => Mu, "\$=pod" => Mu, "\$_" => Mu, "\$?PACKAGE" => Mu, "\$/" => Mu, "EXPORT" => Mu, "::?PACKAGE" =…» | ||
eli-se | I wonder how VMs catch stack overflows. | ||
like JVM and CLR do to throw exceptions | |||
bartolin_ | MVM_SPESH_DISABLE=1 makes the segfault go away. | ||
eli-se | in Windows it's trivial due to SEH | ||
bartolin_ | is the above a known problem or should I report it (and where: github issue for moarvm?) | 11:06 | |
timotimo | bartolin_: that seems quite similar to a bug i saw recently | ||
bartolin_ | timotimo: masak digged for a segfault with "for": RT #124191 | 11:07 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124191 | ||
bartolin_ | timotimo: but this one does not go away with MVM_SPESH_INLINE_DISABLE=1. furthermore it looks different in so far as my for loop does nothing. | 11:08 | |
timotimo | good catch | ||
11:10
wryk left,
SamuraiJack joined
|
|||
bartolin_ | with latest rakudo star it segfaults with 100 iterations (99 run fine): | 11:11 | |
star-m: for 1 .. 100 { }; { say callframe(1) } | |||
camelia | star-m 2015.02: OUTPUT«(signal SEGV)» | ||
bartolin_ | star-m: for 1 .. 99 { }; { say callframe(1) } | ||
camelia | star-m 2015.02: OUTPUT«CallFrame.new(level => 3, annotations => ("line" => "1", "file" => "/tmp/ERb3GGEtqd").hash, my => EnumMap.new("EXPORT" => Mu, "\$!" => Mu, "\$=pod" => Mu, "\$?PACKAGE" => Mu, "\$/" => Mu, "GLOBALish" => Mu, "::?PACKAGE" => Mu, "!UNIT_MARKER" => Mu, "\$_" => Mu…» | ||
11:12
prl joined
|
|||
prl | guys, another question about promises | 11:12 | |
11:12
synopsebot left
|
|||
prl | my $p = start{sleep 5}; my $t = Promise.new($p, Promise.in(3)}; say $t.result; say $p.statusж | 11:12 | |
my $p = start{sleep 5}; my $t = Promise.new($p, Promise.in(3)}; say $t.result; say $p.status; | |||
behaves differently from what I expect. I expect it to stop after 3 sec and print Planned for $p | 11:13 | ||
instead it waits 5 sec and prints Kept | |||
timotimo | bartolin_: yeah, we very recently tuned the thresholds für spesh and jit to kick in a bit later | ||
11:13
hugme left
|
|||
timotimo | the first argument to Promise.new is supposed to be code to run, you're passing in a Promise into Promise.new | 11:14 | |
FROGGS | für :P | ||
timotimo | FROGGS: damn it %) | ||
FROGGS | timotimo: never mind, he does understand :o) | ||
bartolin_ | .oO( ist mir gar nicht aufgefallen ... ) |
11:15 | |
prl | no no, it was Promise.anyof | ||
timotimo | ah, ok | ||
prl | my $p = start{sleep 5}; my $t = Promise.anyof($p, Promise.in(3)}; say $t.result; say $p.status; | ||
moritz | m: my $p = start{sleep 1; say 'done sleeping'}; my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $t.status | 11:16 | |
camelia | rakudo-moar 145781: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xteei0iYJkCalling start() will never work with declared signature (&code, :catch(&catch))at /tmp/xteei0iYJk:1------> 3my $p = 7⏏5start{sleep 1; say 'done sleeping'}; my » | ||
moritz | m: my $p = start {sleep 1; say 'done sleeping'}; my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $t.status | ||
camelia | rakudo-moar 145781: OUTPUT«done sleepingTrueKept» | ||
moritz | m: my $p = start {sleep 3; say 'done sleeping'}; my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $t.status | 11:17 | |
camelia | rakudo-moar 145781: OUTPUT«done sleepingTrueKept» | ||
prl | yes, exactly what i have | ||
timotimo | m: my $p = start { say "starting to sleep"; sleep 3; say 'done sleeping'}; say "$p created" my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $p.status | ||
prl | Kept is for both $p and $t | ||
camelia | rakudo-moar 145781: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p8MHCfYoxtTwo terms in a rowat /tmp/p8MHCfYoxt:1------> 3; say 'done sleeping'}; say "$p created"7⏏5 my $t = Promise.anyof($p, Promise.in(0. expecting any of: infix infi…» | ||
timotimo | m: my $p = start { say "starting to sleep"; sleep 3; say 'done sleeping'}; say "$p created"; my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $p.status | 11:18 | |
camelia | rakudo-moar 145781: OUTPUT«Promise<139684156545648> createdstarting to sleepdone sleepingTrueKept» | ||
timotimo | m: my $p = start { say "starting to sleep"; sleep 3; say 'done sleeping'}; say "$p created"; my $t = Promise.anyof($p, Promise.in(0.1)); say $t.result; say $p.status | ||
camelia | rakudo-moar 145781: OUTPUT«Promise<140493355297432> createdstarting to sleepdone sleepingTrueKept» | ||
timotimo | huh. | ||
11:18
chenryn_ left
|
|||
timotimo | m: my $p = start { say "starting to sleep"; sleep 3; say 'done sleeping'}; say "$p created"; my $t = Promise.anyof($p, start { 1 }); say $t.result; say $p.status | 11:18 | |
camelia | rakudo-moar 145781: OUTPUT«Promise<140333017106400> createdstarting to sleepTruePlanned» | 11:19 | |
prl | nice:) | ||
but why | |||
timotimo | good question | 11:20 | |
seems like a bug | |||
11:20
eli-se left
|
|||
timotimo | tony-o: my web app seems very stable with latest HSA, but i still seem to have no way to detect when the client closes the connection for my EventSource connection | 11:20 | |
tony-o: and for some reason it seems like chrome keeps reconnecting over and over | 11:21 | ||
11:24
KCL joined
|
|||
timotimo | tony-o: it's quite suspiciously close to exactly 30 seconds before each reconnect | 11:25 | |
or "close" for that matter | |||
11:27
chenryn_ joined
11:28
KCL_ left
|
|||
tadzik | FROGGS: it seems like panda doesn't install test-depends | 11:32 | |
I had to manually install File::Temp for Inline::Perl5 | 11:33 | ||
FROGGS | yes, test-depends has nothing to do with depends | ||
panda could be made smart enough to only temporarily fetch test-depends, but until now it just ignores it | 11:34 | ||
tadzik | well, but now panda can't install Inline::Perl5 :) | ||
FROGGS | this commit is bogus I'd say: github.com/niner/Inline-Perl5/comm...fb1cd0f10c | 11:35 | |
for now at least | |||
tadzik | I think it's panda's fault to not understand it | ||
I say we should make it behave like it used to, so install both build-depends and test-depends | |||
FROGGS | 'used to'? there never was a test-depends | 11:36 | |
tadzik | yes, I know | 11:37 | |
what I mean is that modules that are now correctly written according to S11 are not installable with panda | |||
and that's panda's fault | |||
11:37
prl left
|
|||
tadzik | in this case panda is like cpanm, which also just installs whatever test-depends it finds for the sake of things working | 11:38 | |
(except that panda does not) | |||
FROGGS | m: my $depends = ['Foo']; say $depends (+) Any | ||
camelia | rakudo-moar 145781: OUTPUT«bag(Foo)» | ||
FROGGS | m: my $depends = ['Foo']; say ($depends (+) Any).list | ||
camelia | rakudo-moar 145781: OUTPUT«Foo => 1» | ||
tadzik | . o O ( it depends ) | ||
FROGGS | m: my $depends = ['Foo']; say ($depends, Any).unique.list | ||
camelia | rakudo-moar 145781: OUTPUT«Foo (Any)» | ||
11:41
coffee` joined
11:43
kjs_ left
11:45
Sqirrel left
|
|||
FROGGS | hmmm, my patch is not working yet :/ | 11:48 | |
11:50
chenryn_ left
11:53
SamuraiJack left
11:54
wryk joined
12:00
chenryn_ joined
|
|||
FROGGS | tadzik: I pushed a fix | 12:03 | |
tadzik | FROGGS++ \o/ | ||
in return, have this floppy drive song: www.youtube.com/watch?v=4bnakHWlRAI | |||
FROGGS | that's totally worth it :D | 12:04 | |
tadzik | oh it is :D | ||
up from a certain point, at least | |||
FROGGS | *g* | 12:05 | |
lol: www.youtube.com/watch?v=cM_sAxrAu7Q | 12:06 | ||
tadzik | have you seen the one on dot printer? | ||
www.youtube.com/watch?v=u8I6qt_Z0Cg | 12:07 | ||
FROGGS | wow | 12:12 | |
12:13
chenryn_ left,
chenryn_ joined,
raydiak joined
12:18
chenryn_ left
12:21
chenryn_ joined
12:27
laouji left
|
|||
colomon | www.scaleway.com/pricing # hmmm, might be worth it just to have someplace decent to try Rakudo on ARM? | 12:35 | |
12:36
chenryn_ left
12:40
rindolf joined
|
|||
RabidGravy | m: class Foo { }; say Foo.^ver; | 12:44 | |
camelia | rakudo-moar 145781: OUTPUT«No such method 'gist' for invocant of type 'NQPMu' in sub say at src/gen/m-CORE.setting:18729 in block <unit> at /tmp/uebvqBad6T:1» | ||
[Coke] | Zoffix++ | ||
RabidGravy | is that expected, and if so how does one determine the version of a class? | ||
12:45
rmgk left,
raiph joined
|
|||
RabidGravy | colomon, got to be quicker than a RaspberryPI ;=) | 12:46 | |
colomon | yeah, I figure 2GB ram would be a huge help there. :) | ||
12:47
rmgk joined,
telex left
12:48
telex joined
12:53
chenryn_ joined
12:54
chenryn_ left
13:05
aborazmeh joined,
aborazmeh left,
aborazmeh joined
13:06
kurahaupo1 left
13:15
sirdancealot left
13:21
skids joined
13:22
kjs_ joined
13:38
Hor|zon left
13:43
Hor|zon joined
13:50
captain-adequate left
14:01
rindolf left
14:03
tinyblak left
14:09
yqt joined
14:10
Perl6_newbee joined
14:15
captain-adequate joined,
lucasb joined
14:17
aborazmeh left
14:21
captain-adequate left
|
|||
[Coke] merges zoffix++'s PR for coke's dumb module. | 14:21 | ||
14:23
Hor|zon left
14:24
pdcawley left
14:27
captain-adequate joined,
pdcawley joined
|
|||
lucasb | perl6 -e '@*ARGS.shift.IO.lines' <(seq 10) #=> Unhandled exception: Failed to seek in filehandle | 14:32 | |
I know I can't seek a pipe, but why does the lines method need to seek? | |||
moritz | it shouldn't | 14:33 | |
14:35
Hor|zon joined
14:45
azawawi joined
|
|||
azawawi | hi | 14:45 | |
FROGGS: ping | |||
.tell timotimo i think your problem with farabi6 is related to the new panda installation scheme (i.e. using CompUnitRepo). Please take a look at your share/site folder | 14:46 | ||
yoleaux | azawawi: I'll pass your message to timotimo. | ||
azawawi | .tell FROGGS I managed to fix farabi6 to use CompUnitRepo. Please see github.com/azawawi/farabi6/blob/ma....pm6#L182. FROGGS++ | 14:47 | |
yoleaux | azawawi: I'll pass your message to FROGGS. | ||
dalek | kudo/nom: 3a8ecbc | usev6++ | lib/Test.pm: Report correct line numbers for failing tests The hard coded level for callframe we had before did only match in some cases. Now we're looking outwards until we leave Test.pm Additionally we can grab the call frame from within conditional, since the bug which prevented that seems to be gone (cmp. commit 4111fa43ca). |
14:51 | |
kudo/nom: b4576d7 | PerlJam++ | lib/Test.pm: Merge pull request #401 from usev6/fix_test.pm Report correct line numbers for failing tests |
|||
timotimo | hmm | 14:52 | |
yoleaux | 14:46Z <azawawi> timotimo: i think your problem with farabi6 is related to the new panda installation scheme (i.e. using CompUnitRepo). Please take a look at your share/site folder | ||
colomon | woah, getting the line number of failing tests would be pretty huge… | 14:53 | |
lucasb | perl6 -e '@*ARGS.shift.IO.slurp.perl.say' <(echo hello) # returns empty string | 14:54 | |
moritz | colomon: haven't we had that for a while? | 14:55 | |
lucasb | So, my guess is that some IO code doesn't like pipes | ||
colomon | moritz: may mean it’s been a while since I was debugging something in roast. ;) | ||
14:56
kjs_ left
|
|||
PerlJam | moritz: modulo RT#124227, yes | 14:56 | |
moritz | PerlJam: well yes, but I mean the feature in general | 14:57 | |
14:57
rindolf joined
|
|||
moritz | which hoelzro++ added in 2014-07-24 (commit 4a1fb9fa67790cd040ec98fdf5806e517dcbc28a) | 14:58 | |
colomon remembers long, frustrating periods pouring over roast source trying to figure out where the failing test was.... | |||
hoelzro++ | |||
moritz can't help but wonder how long it would have taken to find that commit with svn | 14:59 | ||
15:00
azawawi left
|
|||
bartolin_ | hmm, yes the commit message was a bit misleading, sorry. hoelzro++ for adding that feature ("line numbers for failing tests"). | 15:02 | |
15:02
yqt left
|
|||
[Coke] | we need a test for that. :P | 15:02 | |
15:04
kjs_ joined
15:06
rindolf left
15:08
vytas joined
|
|||
moritz | bartolin_: I don't think it was a bad commit message | 15:12 | |
15:20
fhelmberger left
|
|||
ugexe | testers isn't generating HTML pages still | 15:21 | |
moritz | FROGGS: you can re-enable your cron jobs, I think | ||
15:26
Possum left
|
|||
FROGGS | moritz: shall I enable all of them at once? | 15:27 | |
yoleaux | 14:47Z <azawawi> FROGGS: I managed to fix farabi6 to use CompUnitRepo. Please see github.com/azawawi/farabi6/blob/ma....pm6#L182. FROGGS++ | ||
15:28
zakharyas left
|
|||
moritz | FROGGS: yes, though with flock proctection against multiple executions at the same time | 15:28 | |
FROGGS | sure | ||
15:34
LonelyGM joined,
Perl6_newbee left
|
|||
japhb | nine_: about? | 15:36 | |
15:38
coffee` left
15:39
coffee` joined,
coffee` is now known as coffee,
coffee left
15:40
coffee` joined
15:45
robinsmidsrod left,
robinsmidsrod joined
|
|||
lichtkind | cheers i just decided to convert my personal private toolchain to perl 6 | 15:46 | |
15:46
sirdancealot joined
|
|||
[Coke] | lichtkind++ | 15:49 | |
15:49
RabidGravy left
|
|||
skids | perl6 is such a tool :-) lichtkind++ | 15:49 | |
lichtkind | i just started ++ when i have done | 15:50 | |
its also jsut a training becasue i will give next p6 talks on german perl workshop and yapc | |||
PerlJam | lichtkind: no, the ++ is because you've started :) | ||
lichtkind | :) | 15:51 | |
PerlJam | lichtkind: Is there a reason this toolchain is personal and private? Could you make some modules out of it and share? | ||
lichtkind | no i also thought about to release it they are general useful for fast movements between different projects and such things | 15:52 | |
it just wrote it for fun but should be usable by any friend of command line | 15:53 | ||
is github mandatory or would bitbucket accptable? | 15:54 | ||
masak | lichtkind++ | 15:55 | |
moritz | lichtkind: I think part of our toolchain depends on the github URL schemes | 15:56 | |
lichtkind: so if you want it the easy way, use github; if not, we can try to flush out those github specifics | |||
lichtkind | but should be no problem to change sme strings? | ||
moritz | once you find what needs changing, it shouldn't be a big problem | 15:57 | |
lichtkind | i just ask becasue i have currently same diskussian wiht mishin to convert github because metacpan | ||
abraxxa | FROGGS: did NativeCall already gain is rw support? | 15:59 | |
16:03
RabidGravy joined
16:09
eli-se joined
16:10
spider-mario joined
16:11
LonelyGM left
|
|||
FROGGS | abraxxa: no, it is trickier than I thought :/ | 16:11 | |
abraxxa | FROGGS: i see. do you start a branch I could look at? | ||
16:12
Psyche^ joined
|
|||
eli-se | hi | 16:12 | |
FROGGS | abraxxa: I just have diffs on my disk yet... | 16:13 | |
abraxxa: I might put it in branches tonight | |||
hi eli-se | |||
16:13
LonelyGM joined
|
|||
abraxxa | FROGGS: ok | 16:13 | |
jnthn | FROGGS, abraxxa: If this is a "should be done soon", I can be pondering it :) | 16:14 | |
nine_ | japhb: hi | ||
abraxxa | jnthn: would be great so I can continue with DBDish::Oracle | ||
16:14
Patterner left
|
|||
jnthn | And work on it in the next days. | 16:14 | |
Yes, unblocking Oracle support sounds worthwhile :) | |||
abraxxa | once the basics work and it's merged to the main repo I plan on working on DBIish itself too | ||
jnthn | Nice! | 16:15 | |
abraxxa | things like AutoCommit should be a Bool, the github discussion about not making DBI's faults regarding PrintError/RaiseError | ||
nine_ | japhb: about your Inline::Python question: Python does not support multiplicity the way perl does. So using multiple interpreters concurrently probably is out of the question | 16:16 | |
abraxxa | nine_: fork + IPC :P | 16:17 | |
16:17
LonelyGM left
|
|||
dalek | kudo/param-is-rw: 00674de | FROGGS++ | lib/NativeCall.pm: implement "is rw" params in NativeCall |
16:17 | |
FROGGS | jnthn: I just pushed my stuff to MoarVM/param-is-rw and rakudo/param-is-rw | 16:18 | |
though that does not mean that I hand it over directly... if I manage to get further today I'll push :o) | 16:19 | ||
TimToady | agh, S11 now says: Compilation units posted to an authority (such as CPAN) | 16:21 | |
CPAN is not an authority! | |||
CPAN authors can be authorities though | 16:22 | ||
jnthn | FROGGS: I'm still recovering from sleeping 2 hours the night before last, so it'll be at least tomorrow before I'm up to it :) | 16:23 | |
FROGGS | jnthn: just tell me | ||
jnthn | FROGGS: Will do :) | ||
abraxxa | FROGGS: looks good as far as I understand the code | 16:24 | |
FROGGS | abraxxa: problem is "just" that we decontainerize the arguments in nqp when a native sub call is made, which strip off the NativeRef thingies | 16:25 | |
and that means we cannot assign to it anymore | |||
that's the current showstopper | 16:26 | ||
abraxxa | FROGGS: what arguments? the 'is rw'? | 16:27 | |
FROGGS | abraxxa: you apply 'is rw' to params... but the arguments you pass later when you call the native subs, these get deconted | 16:28 | |
abraxxa | FROGGS: you mean that you don't know any more which argument correlated to which param? | 16:29 | |
jnthn | No, we lost the fact it's a container. | 16:30 | |
abraxxa doesn't know what a container is | |||
jnthn | my $a = 42; # here, $a is a Scalar container, and 42 is the value stored inside of it | ||
abraxxa | why isn't it called a variable? | 16:31 | |
jnthn | heh | ||
Better to maybe say that a Scalar contianer is bound to the variable $a :) | |||
*container | 16:32 | ||
abraxxa | a struct which hold type + value? | ||
jnthn | The distinction matters in Perl 6 because containers are first class | ||
That's pretty much what a Scalar is, yes. | |||
Hand-waving a bit, though, since actually it points to a descriptor containing the type, the variable name, and some ro-ness info | 16:34 | ||
Uh, rw-ness actually | |||
16:35
wryk left
|
|||
abraxxa | that MoarVM internal details, right? | 16:37 | |
another implementation might do it differently | |||
dalek | ecs: 093fdd7 | TimToady++ | S11-modules.pod: Clarify that CPAN is not itself an authority Also explain that "standard Perl 6 library" does not just mean publicly shared libaries. |
||
jnthn | abraxxa: Scalar is spec, but how it looks on the inside is not | 16:39 | |
timotimo | i've been slightly annoyed by having decont_all generated for every nativeinvoke anyway | ||
but what really annoys me about it is probably not having to do it ... it's not knowing what the callsite looks like at that point | 16:40 | ||
FROGGS | timotimo: and we have to tweak exactly that I think | ||
bbl | |||
16:40
FROGGS left
16:41
noganex_ left
|
|||
jnthn | timotimo: Yes, decont_all was certainly a "get stuff working" thing :) | 16:41 | |
OK, I'm informed it's dinner time. | |||
& | |||
timotimo | i'm slightly jealous; i'll have to go grocery shopping before dinner can be made here :S | ||
16:46
lizmat joined
16:47
kjs_ left
|
|||
lizmat is glad that TimToady finally takes the time to read what I wrote over a year ago | 16:47 | ||
yoleaux | 1 Apr 2015 15:22Z <FROGGS> lizmat: We need to talk about CUR::Installation and the way that non-existent dirs trigger that CURs do not appear in @*INC... (I "fixed" it in a rather scary way and want to fix it properly) | ||
16:47
lizmat left
|
|||
PerlJam | TimToady: What's an "official distribution"? (I seem to be having difficulty with the word "official" lately) Is it just one that claims to be a "Perl 6 distribution"? | 16:47 | |
jercos | The official distribution is the one that gets handed around at the office, right? :p | 16:48 | |
TimToady | it's official if it has any authority :) | 16:49 | |
16:49
RabidGravy left
|
|||
dalek | rl6-roast-data: 43afcd6 | coke++ | / (9 files): today (automated commit) |
16:51 | |
PerlJam | It makes it sound like there's some Perl6 godhead from which officialdom springs forth. (and that interpretation only makes sense to me for the "Perl 6 standard") | ||
(and yes, this can be construed as a problem within my brain, but I'm slightly worried about the other brains that would agree) | 16:52 | ||
16:53
lizmat joined
|
|||
tony-o | arnsholt: the 'act' method is in S17 under supplies | 16:53 | |
TimToady | maybe we should ask the French Academy to nail down the official meaning of all these words... | ||
lizmat | maybe we should find a better wording instead of ridiculing an effort to make sense of the mess that nobody else dared to touch | 16:54 | |
16:54
lizmat left
|
|||
ab5tract | maybe it would be helpful to move from "official" to "reference" distribution? | 16:54 | |
TimToady | all words are squishy | ||
and I don't think there's any ambiguity at the top end, really, since official distributions generally know they're official; it's the local site-wide stuff that might get stuck in PERL6LIB-land | 16:55 | ||
ab5tract | TimToady: indeed. All the more reason, though, to heed that tale about castles in the swamp. | 16:56 | |
TimToady | the important thing is not so much the haggling about the words, but actually having and conveying an accurate notion of the boundary where identity becomes critical to correctness, and when a module crosses that boundary | 16:58 | |
and certainly this is something to be worked out over time, since it's probably impossible to define accurately in advance | |||
16:59
mr-foobar joined
|
|||
TimToady | in a sense, git errs on the side of giving everything an exact identity right from the start, even dev stuff | 16:59 | |
[Coke] finds "standard perl 6 library" confusing wording since that can be taken to mean "what is shipped with a p6 implementation" | |||
[Coke] is probably slightly behind backlog, apologies. | 17:00 | ||
TimToady | hence the parenthetical remark to expand | ||
17:01
molaf joined
|
|||
PerlJam | maybe S11:668 needs a similar parenthetical, or a link to a more comprehensive explanation that has yet to be written :) | 17:01 | |
TimToady | at some point it all becomes tl;dr without achieving much more clarity... | ||
17:02
yqt joined
|
|||
TimToady | the intent is to push the immutable identity boundary as close to development as possible, though we probably can't take the git approach of driving all the way down to the floor | 17:03 | |
ab5tract | TimToady: reading your the clarification of "standard Perl 6 library", I get the more of a sense that you mean 'everything coded in Perl 6' -- . o ( call it the 'Perliverse' ? ) | ||
where 'everything coded in Perl 6' necessarily includes not only the local/site environment, but anything which might be conceivably added to that environment | 17:04 | ||
dalek | kudo/nom: d17c404 | lizmat++ | docs/release_guide.pod: It's all tl;dr, won't have time |
||
TimToady | anything that might be shared and then reshared must have an appropriate identity to prevent accidental semantic action at a distance | 17:05 | |
PerlJam | I'm mostly just worried about the meme that "official" means "Larry Wall said it was so" that seems to continue to pervade that populace. To me, "official" should mean 'conforms to an agreed upon interface' or something like that. | ||
ab5tract | PerlJam: then in a sense you could say 'conformant' or 'idempotent' ... | 17:07 | |
PerlJam | (and clearly, identity would be part of the "interface" :) | ||
TimToady | I can't think of a good word that means "blessed by the authority in question" other than "official", but maybe it just requires more coffee | 17:08 | |
17:08
RabidGravy joined
17:10
Hor|zon left,
espadrine_ left
17:11
spider-mario left
|
|||
TimToady | the problem is that it's a circular definition; what we're trying to do is to get authorities to authorize things when they ought to, and not send ambiguous things out into the wide world, because that's a big source of accidential genericity | 17:12 | |
ab5tract | TimToady: but what is 'the authority' WRT the DarkPAN? Perl 6 is pupating in highly distributed times. | ||
isn't the 'authorities who authorize' essentially the module writers who conform to the interface? | |||
PerlJam | ab5tract: there's no 'the authority', there's many of them. | ||
ab5tract | PerlJam: it was intended as a leading question :) | 17:13 | |
TimToady | my parenthetical remark was intended to indicate that dark authorities still should consider this issue of accidentally mutating the language as well | ||
it's like a contract, yes | 17:14 | ||
ab5tract | *module writers who choose to release their module into/according to this idempotent system | ||
17:14
spider-mario joined
|
|||
TimToady | maybe there should just be a footnote on "official" linking back to this conversation :) | 17:15 | |
ab5tract | so "official" really is circular here: "official because official therefore official" | ||
I think a more appropriate phrasing would be 'participating' | |||
TimToady circles the wagons :) | 17:16 | ||
funny how that's also ambiguous, you can circle the wagons if you're a settler, or you can circle the wagons if you're attacking the settlers | 17:17 | ||
PerlJam | I think I'd elide the words "official" and "standard" and just say: Whenever an authority (such as a CPAN author or a company) posts a compilation unit as part of a Perl 6 distribution, or enters it into any Perl 6 library, the module is required to declare its full name so that installations can know its unique, immutable identity, ... | 17:18 | |
lichtkind | jnthn: for my talk 2 weeks ago i used your picture with our inofficial slogan : all VM belong to us | ||
PerlJam | i.e. "Perl 6" is what makes it "standard" or "official" | ||
(or conformant or idempotent) | 17:19 | ||
TimToady | ss/Perl 6 distribution/distribution of Perl 6 code/ | ||
PerlJam | yeah, that too | ||
17:21
rindolf joined
|
|||
PerlJam | This feels like one of those concepts that it's *really* important to make easily understood by the widest audience and so should be explained such that a child could understand | 17:21 | |
17:22
eli-se left
|
|||
PerlJam | (or, perhaps like many introverts, I'm *way* over-thinking it) | 17:24 | |
(or, perhaps I'm prone to hyperbole ;) | |||
PerlJam lunch & | |||
raydiak | good morning #perl6 | 17:25 | |
TimToady | well, these are very slippery concepts, and I don't blame lizmat for blaming me for sniping at her when she's been trying to do something about it all along | ||
if it's any help, in my head I was sniping at the words, not at lizmat++ | 17:26 | ||
17:27
geever joined
17:32
yqt left
|
|||
TimToady | m: my @a; say @a.of; my $a = []; say $a.of; my %h; say %h.of; my $h = {}; say $h.of; | 17:33 | |
camelia | rakudo-moar d17c40: OUTPUT«(Mu)(Any)(Mu)(Any)» | ||
TimToady | jnthn: do you see any particular reason not to make all of these Mu? (other than that .^name then returns Str<324189768>[Mu] instead of Hash?) | 17:34 | |
oddly, there's no trouble with .^name and Array, which still returns Array | |||
TimToady assumes the Str<324189768>[Mu] problem is some kind of circularity and/or mixin cache issue | 17:45 | ||
or somewhere it's assuming that Hash means Hash[Any] | 17:46 | ||
ab5tract | TimToady: I think you should consider the potential benefits of leaving the wagons be and throwing a collaborative pow wow instead. I wish it had happened in history more often, that's for sure. | 17:50 | |
17:50
coffee` left
17:52
joffrey joined
17:53
kjs_ joined
17:54
joffrey left,
coffee` joined,
Caymanboy joined
17:55
coffee` left
|
|||
TimToady | for good or ill, this is the pow wow | 17:55 | |
17:56
abraxxa left
17:57
edward left
17:58
coffee` joined
18:07
Hor|zon joined
|
|||
ab5tract | Tim | 18:07 | |
TimToady: gist.github.com/ab5tract/4dc7deb90ae8a75ecbcc | |||
some potential phrasings for the pow wow :) | 18:08 | ||
TimToady | ab5tract++ :D | ||
18:11
Hor|zon left
|
|||
ab5tract | my personal favorite is: The CompUnit is said to be 'representing' if and only if | 18:12 | |
because hip hop :) | 18:13 | ||
18:15
johnjohn101 joined,
yqt joined,
Caymanboy left
18:17
Hor|zon joined
|
|||
tony-o | are you guys talking in reference to an article or a synopsis? | 18:21 | |
18:22
kjs_ left
|
|||
johnjohn101 | hi perl6 people | 18:22 | |
skids | o/ | 18:24 | |
18:25
spider-mario left,
eli-se joined
|
|||
TimToady | tony-o: mostly about S11 and how to manage modules out in the wide world | 18:26 | |
timotimo | ah it's tony-o :) | 18:27 | |
eli-se | I wonder what this Easter thing is. | ||
18:28
spider-mario joined
|
|||
tony-o | TimToady: i interpreted 'authoritive' to mean that the module was uploaded to that authority. IE if i upload my module to panda: and cpan: wants to make that module available, then cpan: should defer to panda: (or the module author should upload the module to both places) | 18:29 | |
so if i uploaded CSV::Parser to panda: - panda: is the authoritive because, as the author, i chose it to be my one true authoritive module provider | 18:30 | ||
TimToady | modules are uploaded *by* authorities, not *to* authorities | ||
you name might be conferred by CPAN, but you are the authority, not CPAN | |||
tony-o | then i should go reread s11 with new context | 18:31 | |
18:31
spider-mario left
|
|||
tony-o | last time i read it was like 8 months ago | 18:31 | |
[Tux] | tony-o, /me would welcome generic feedback on github.com/Tux/CSV if you'd care :) | ||
TimToady | I guess I'd say that CPAN is an authority, but on user identities, not module identities | 18:32 | |
CPAN (or reasonable facsimile) does have to convey module identity properly, but that's also different from being a module name authority | 18:33 | ||
tony-o | is it expected, then, that CPAN share its modules with other apps, panda and the like | ||
moritz | yes | ||
TimToady | it doesn't matter, as long as module identity is maintained | ||
tony-o | so CSV::Parser:auth<tony-o> | ||
is available from Panda, CPAN, etc. | |||
moritz | I fully expect panda to be able to use CPAN, and github, and other sources | ||
TimToady | what we don't want is different repos to offer different modules that appear to have the same identity | 18:34 | |
module identities need to be universal, like a URI | |||
tony-o | so you don't want CPAN to offer CSV::Parser:auth<tony-o> which differs (from a code perspective) from PANDA CSV::Parser:auth<tony-o> | 18:35 | |
TimToady | not unless they are different versions :) | ||
18:35
Aaron`J joined
|
|||
tony-o | both :vers<1.0> :-) | 18:35 | |
TimToady | correct | ||
and if there's a checksum to enforce it, so much the better | 18:36 | ||
timotimo | having gotten the user name "timo" on github gave me the doubtful honor of discovering random projects where people named timo are involved somehow | ||
TimToady | if it's a good enough checksum, you can use it as a proxy for the identity, as git does | 18:37 | |
timotimo | i'd expect :auth<timo> would have to be prefixed with a name-authority in every case ... %) | ||
TimToady | where's your sense of self-authority? :) | 18:38 | |
tony-o | how do you handle me uploading CSV::Parser, changing a couple of lines and uploading it to panda with same version? is the 'authority' expected to be different as timotimo is saying about the prefix? | ||
*should* you be able to do panda upload CSV::Parser:auth<cpan:tony-o>:vers<1.0> ? | |||
and have panda go get the information from cpan ? | 18:39 | ||
TimToady | that's why it really needs a hash of some sort to remind you to change the version | 18:40 | |
tony-o | i'd think cpan should complain about duplicate versions the way npm does | ||
TimToady | if you're going to put it multiple places, we probably need a staging area locally from which it is then uploaded to other places | 18:41 | |
presumably any two repos out in the world should be able to exchange metadata and cross check it, and raise an alarm if two supposedly identical entries are not identical | 18:42 | ||
because one of them could well be a trojan horse if that were true | 18:43 | ||
it's a big security issue, as well as a know-what-language-you're-running issue | |||
moritz | why does "let's sign our packages" immediately comes to mind? | ||
tony-o | lol | 18:44 | |
18:44
rurban_ left
|
|||
moritz | speaking of which, I recently added instructions to the rakudo release guide that we at least sign our release tags | 18:44 | |
TimToady | moritz++ | ||
moritz | next up is probably signing the tarballs | ||
and doing a key signing party at the next big p6 hackathon, with all the hilarity that involves | 18:45 | ||
18:45
spider-mario joined
|
|||
tony-o | i don't know, it doesn't seem like a bad idea to have a package manager defer to another authority for a download (or upload) and error out the user that the repo has changed from what it expected upon download | 18:46 | |
18:47
qman_ joined
|
|||
tony-o | i guess that gets hairy too though | 18:47 | |
moritz | tony-o: think of the package manager a bit like a bittorrent client | ||
18:47
yqt left
|
|||
tony-o | moritz: that was what i was trying to convey - | 18:47 | |
moritz | except that it doesn't necessarily need to talk bittorrent :-) | 18:48 | |
TimToady | I guess my big point is that collective authority out in the world or in a distro's package manager does not absolve us of the duty to enforce identity and the level of modules | ||
tony-o | and doing a poor job, sinus infection season | ||
TimToady | *at the level | ||
18:49
yvan1 joined
|
|||
eli-se | What's the recommended way to add something to @*INC? | 18:50 | |
18:50
Aaron`J is now known as amdj
|
|||
moritz | eli-se: depends | 18:50 | |
eli-se: why do you need it? | |||
eli-se | in Perl 5 I do this: github.com/mill-lang/mill/blob/dev...illc#L2-L5 | 18:51 | |
So I don't have to set PERL5LIB all the time while developing (and I don't want it in .zshrc). | |||
tony-o | eli-se: you can do just: use lib '../lib' | ||
eli-se | oh cool | ||
tony-o | that works in p5 too iirc | 18:52 | |
moritz | yes | ||
as long as you execute it always from the same dir | |||
which is fine for development, usually | |||
for for installed things, you, well, install the modules too | |||
eli-se | nice, thanks | ||
dalek | kudo/nom: 5e842d6 | moritz++ | docs/release_guide.pod: Instructions for signing the release tarballs |
||
tony-o | didn't notice it was a bin | ||
eli-se | well with __file__ preferably actually | 18:53 | |
sometimes I run it from the VM source dir | |||
dalek | p: 2641c50 | moritz++ | docs/release_guide.pod: Instructions for signing the release tarballs |
18:55 | |
18:57
qman___ joined
|
|||
tony-o | eli-se: for the __file__ thing you could: use lib "{$?FILE.IO.dirname}/../lib"; | 18:59 | |
eli-se | awesome | 19:00 | |
TimToady | wow, spectests get really upset if you forget to itemize circumfix:<{ }> :) | ||
tony-o | eli-se: check out the bottom of this page for some other cool variables doc.perl6.org/language/variables | 19:01 | |
moritz | TimToady: I'm surprised the setting even builds | 19:03 | |
usually when I try to change *anything* about how list iterations work, setting compilation hangs | |||
19:05
muraiki joined
19:08
qman___ left,
rindolf left,
yqt joined
19:09
Qman___ joined
19:11
Qman___ is now known as nurumaik
19:12
spider-mario left
|
|||
dalek | kudo/nom: a4fd3da | TimToady++ | src/core/List.pm: .invert must return a flat list of pairs |
19:13 | |
rakudo/nom: 639f55d | TimToady++ | src/core/List.pm: | |||
rakudo/nom: start undistinguishing Parcel and List | |||
19:13
dalek left
|
|||
TimToady killed dalek! | 19:13 | ||
19:13
dalek joined,
ChanServ sets mode: +v dalek
|
|||
TimToady | maybe it'll report the rest? | 19:14 | |
maybe not? | |||
19:14
spider-mario joined
|
|||
[Coke] | moritz: I don't have a gpg key, so I feel I shoud drop the next release. | 19:21 | |
dalek | ast: 493af7f | TimToady++ | S (3 files): keep up with .perl and []/{} changes |
19:25 | |
19:30
telex left
19:32
telex joined
|
|||
masak thinks, not for the first time, that he would like to set up a date between dalek and rosettacode.org/wiki/Find_Common_Directory_Path | 19:32 | ||
TimToady | [1,2,3][] and {:foo, :bar}{} look a little funny as a way to call nqp::decont though, so maybe we could recruit .<> as a standard way to decont anything | 19:33 | |
then .perl could output [1,2,3]<> and {:foo, :bar}<> instead | |||
and we could also say $foo<> for a decont | |||
masak is not immediately a fan | 19:34 | ||
TimToady | a prefix would also work, if we could find one | 19:35 | |
except that a postfix is usually where you want it | 19:36 | ||
and .decont is just too ugly | |||
and just about as uninformative as <> | |||
masak | .decont is ugly mostly because it's just a made-up word | ||
TimToady | my internal bikeshedder has yet to come up with a good short word that means that | 19:37 | |
.contents is too long | |||
and I'm trying to Omit Needless Words in .perl output anyway | |||
masak | *nod* | 19:38 | |
TimToady | that was part of the motivation for :{} | ||
PerlJam | [Coke]: is creating a gpg too onerus (or maintaining one) because you don't ever use gpg ? | ||
*gpg key | |||
masak | I think my initial not-fan reaction to <> is because to me, <> is sugar for {}, so it makes no sense for it to sometimes mean [] | ||
TimToady | at the moment we're cheating and not putting a .list on List to distinguish it from Parcel anymore | ||
but those are converging anyway | |||
well, S09 mixes {} and [] on the same entity anyway | 19:39 | ||
but both of those Zen slices are simply implemented as nqp::decont | |||
m: {:foo}<> | 19:40 | ||
camelia | ( no output ) | ||
TimToady | std: {:foo}<> | ||
camelia | std 28329a7: OUTPUT«ok 00:00 136m» | ||
TimToady | std: <> | ||
camelia | std 28329a7: OUTPUT«5===SORRY!5===Unsupported use of <>; in Perl 6 please use lines() to read input, or ('') to represent the null string, or () to represent the empty list at /tmp/JbzV0ygVs5 line 1:------> 3<7⏏5>Parse failedFAILED 00:00 134m» | ||
masak | sometimes I'm thinking "why don't other languages appear to have these kind of problems with distinguishing container stuff from decontained stuff?" | ||
PerlJam | masak: other languages have painted themselves into different corners :) | ||
masak | I never see people fretting over these issues in the Python or Ruby communities | 19:41 | |
neither on the implementor or end user side | |||
PerlJam: yeah, I guess that's it | |||
most languages do not offer both = and := | |||
and so the distinction is not so obvious, or maybe not even there at all | |||
geekosaur | in haskell and java, boxing/unboxing comes up | ||
TimToady | it all comes from wanting push @foo, @bar; to work right :) | ||
masak | geekosaur: I'm not talking about primitives versus wrapper types | 19:42 | |
TimToady | similar principle | ||
masak | geekosaur: I'm talking about values versus containers | ||
TimToady | you're talking about optional levels of indirection | ||
most languages don't give you the choice | |||
19:43
FROGGS[mobile] joined
|
|||
masak | anyway, I fully agree with the underlying goal here: making things seem effortless :) | 19:43 | |
for example in the .perl output | |||
19:43
LonelyGM joined
|
|||
TimToady has been tormenting himself the last couple days on behalf of the .perl user :) | 19:44 | ||
masak | :P | ||
FROGGS[mobile] | :D | ||
TimToady wasn't expecting my @ or % to have a different .of type than [] or {}... | |||
masak .oO( come for the compiler lore, stay for the convoluted in-jokes and in-puns based on in-memes ) :P | |||
TimToady | the road to purgatory is paved with melting snowclones | 19:45 | |
19:45
raiph left
|
|||
masak read that as "melting semicolons" | 19:45 | ||
come to think about it, semicolons kinds look like melting colons | 19:46 | ||
TimToady | sorta like semisweet chocolate | ||
PerlJam | TimToady: no circumfix for decont? (kind of as irony :) | ||
19:46
darutoko left,
raiph joined
|
|||
TimToady | PerlJam: thought about that, or a decoration on existing circumfixes, but decided something orthogonal was preferable | 19:47 | |
19:47
johnjohn101 left
|
|||
TimToady | whether the generic version turns out to be <> or something else | 19:47 | |
PerlJam | The only marginally constructive thing I have to say about <> is that, like masak, I'm not a fan. (yet) | 19:48 | |
masak | I could've added "yet". TimToady can be persuasive. | ||
but I don't buy the S09 argument. :) | 19:49 | ||
I don't know that this is the right quesiton to ask, but it may push us towards a better optimum: | 19:50 | ||
what would Perl 5 do? | |||
if this design question somehow turned up in Perl 5, what syntax would they arrive at? | |||
PerlJam | .oO( the wrong thing ) |
||
masak | well, yeah. | ||
but what, in particular? | |||
[Coke] | PerlJam: I have no gpg key, correct. I suppose I could get one solely for issue rakudo releases. | 19:51 | |
Juerd | You should get one, and once you have it, use it for a lot of things. But one thing is enough reason to create it. | 19:52 | |
masak | isn't something like @$array_ref basically Perl 5's decont already? | ||
but that's on variables only, I guess. not on literals like we're discussing now. | |||
PerlJam | [Coke]: I just made one. It didn't take too long (generating enough entropy seemed to take a while). But now I need to learn how to "port" it to the machines where I'm likely to use it (I assume I can just copy ~/.gnupg around) | 19:53 | |
TimToady | thing is, in P5 @ guarantees you get an array, while it only guarantees Positional in P6 | 19:54 | |
masak | not that we use that a lot yet | 19:55 | |
lucasb | m: say '!' x !$_ ~ 'foo' for True, False | 19:56 | |
camelia | rakudo-moar 80afb7: OUTPUT«foo!foo» | ||
masak | lucasb: numifying Bool considered a code smell :) | 19:57 | |
PerlJam | still cute though | ||
lucasb | :D | ||
I learned this from a few commits ago | |||
masak | I think it was RandallSchwartz who said True numifying to 1 is damaging, and it should be 42 or something just so people don't do stuff like that | ||
PerlJam | masak: ->*[] could be considered a P5 decont perhaps | 19:58 | |
masak | eeks | ||
ok, forget I asked what P5 would do | |||
PerlJam | masak: and I think it was merlyn who said "Randal only has one ell" | ||
TimToady | so while we could use %() for the bare Hash, @() doesn't work for the bare Array | ||
masak | PerlJam: oops. you're right. | ||
TimToady | darn microwave wifi lag... | 20:00 | |
dalek | kudo/nom: 1602e1d | coke++ | docs/release_guide.pod: Drop release. |
20:03 | |
[Coke] | we could use a release manager for April. (note the new signing requirement) | 20:04 | |
20:05
mr-foobar left
|
|||
FROGGS[mobile] | what does he has to sing? | 20:05 | |
masak | FROGGS[mobile]: anything, as long as it's opera. | 20:06 | |
FROGGS[mobile] | :S | ||
vendethiel- | so, [..][] and {..}{} "decont" now | 20:08 | |
20:08
amdj left
|
|||
TimToady | they have for quite some time now | 20:08 | |
m: say [1,2,3].perl; say [1,2,3][].perl | |||
camelia | rakudo-moar 80afb7: OUTPUT«[1, 2, 3][1, 2, 3][]» | ||
TimToady | star-m: say [1,2,3].perl; say [1,2,3][].perl | 20:09 | |
camelia | star-m 2015.02: OUTPUT«[1, 2, 3]Array.new(1, 2, 3)» | ||
TimToady | but the repetition of the new form is suboptimal | ||
so it'd be nice to have a standard decont postfix of some sort | |||
m: say 42.item[].perl | 20:10 | ||
camelia | rakudo-moar 80afb7: OUTPUT«42» | ||
TimToady | m: say 42.item.perl | ||
camelia | rakudo-moar 80afb7: OUTPUT«42» | ||
TimToady | heh | ||
m: say 42.item<>.perl | |||
camelia | rakudo-moar 80afb7: OUTPUT«42» | ||
TimToady | hmm | 20:11 | |
m: say []<>.perl | |||
camelia | rakudo-moar 80afb7: OUTPUT«[][]» | ||
TimToady | heh, already works :D | ||
that proves we should make it work...er... | 20:12 | ||
20:12
raiph left
|
|||
vendethiel- 's not sure what it means to be "decont". | 20:12 | ||
PerlJam | Right now, I don't think I'd mind an ugly, but explicit .decont | ||
vendethiel- | it means I can't "foo = x"? | ||
and call .VAR, and so on so forth | |||
20:13
qman_ left
|
|||
El_Che | TimToady: I suspect a python/java/.net conspiracy: your fosdem talk is still not online :( | 20:13 | |
20:13
kjs_ joined
|
|||
vendethiel- | El_Che: are you sure it wasn't lost? | 20:13 | |
PerlJam | vendethiel-: it's taking your presents out of the box and throwing the box away :) | ||
El_Che | I'll mail them tomorrow to check the status | ||
video was pretty problematic this edition | |||
FROGGS[mobile] | El_Che: Mine is also missing :/ | ||
vendethiel- | El_Che: it really was :[. 100+ videos missing! | 20:14 | |
masak | I agree with PerlJam about ugly-but-explicit .decont -- it seems the sanest choice right now, even if it's a bit too explicit for Perl ;) | ||
vendethiel- | does .decont warrant such a "huffmanized" postfix? | ||
El_Che | FROGGS[mobile]: sucks. Most talks were very nice | ||
FROGGS[mobile] | Also +1 for. decont from me | ||
El_Che | I saw all the perl talks :) | ||
20:15
nurumaik left
|
|||
vendethiel- | TimToady: do you have other usages for postfix [] and {} in mind? | 20:15 | |
or does it look like perl6 code will regularly need decont? | |||
vendethiel- hasn't needed it much, but might be doing something "incorrectly" | 20:16 | ||
TimToady | we've had Zen slices for interpolation for about 13 years now... | ||
vendethiel- | .oO( surely you had sigil variance in perl for longer :P ) |
||
masak | I do like the Zen slices. very Perl 6. | 20:17 | |
TimToady is opposed to .decont because it's too much noise in .perl, and because it's no more informative than something shorter that already works | |||
PerlJam | It's slightly more informative to the humans. | ||
TimToady | and it's quite visually distinct | ||
20:18
Qman___ joined
|
|||
FROGGS[mobile] | .perl is not quite for humans | 20:18 | |
PerlJam | If they have to read its output it is. | 20:19 | |
vendethiel- | TimToady: it seems like I have to revisit how zen slices are useful once in a while :). (except for interpolating) | ||
FROGGS[mobile] | I also very often read HTML output | 20:20 | |
TimToady | .[] is really a postfix form of @, and {} of % | ||
jnthn | TimToady: (make all of them Mu) I suspect that them coming out as Any is accidental rather than intended, so yeah, no problem wiht that. | 20:24 | |
TimToady | vendethiel-: actually, tomorrow it will be 13 years and 11 months since A02 came out with the idea | 20:28 | |
vendethiel- | TimToady: can I read a RFC on that, maybe? | ||
TimToady | jnthn: good, cause I already checked it in | ||
www.perl6.org/archive/doc/design/apo/A02.html | 20:29 | ||
oh wait, that was in an Update:, so it was some later than that | 20:30 | ||
20:31
colomon left
|
|||
TimToady | but today is the 14th anniversary of A01, which does talk about sigil invariance | 20:33 | |
jnthn | TimToady: heh | 20:34 | |
jnthn finally caught up with backlog at least | |||
vendethiel- | :D | 20:36 | |
dalek | kudo/nom: d4fd249 | TimToady++ | src/core/ (2 files): switch to .<> as more visually distinct decont |
20:38 | |
ast: ad98ada | TimToady++ | S32- (2 files): fix .perl roundtrip tests that use decont |
20:39 | ||
20:43
Rounin left
|
|||
TimToady | m: my @a; say @a.of; my $a = []; say $a.of; my %h; say %h.of; my $h = {}; say $h.of; | 20:44 | |
camelia | rakudo-moar 1602e1: OUTPUT«(Mu)(Mu)(Mu)(Mu)» | ||
TimToady | yay for consistency | ||
nap & | 20:46 | ||
20:48
xfix left
20:50
Sqirrel joined
|
|||
dalek | ecs: 3eeab76 | PerlJam++ | S11-modules.pod: Excise "official" wording |
20:52 | |
bartolin_ | [Coke]: you said earlier we'd need tests for reporting line numbers for failing tests. I tried something with shelling out and looking of the output. since I'm not sure about that approach I didn't commit yet, but created a PR (56) for roast | 20:55 | |
21:01
kurahaupo1 joined
|
|||
vendethiel- feels sad soooo many videos are missing from fosdem :( | 21:02 | ||
eli-se | fosdamn | 21:05 | |
[Coke] | bartolin_: ISTR test::util has a runner that could be used. | 21:17 | |
masak .oO( lostdem ) | 21:19 | ||
21:20
raiph joined
|
|||
vendethiel- | hah! | 21:20 | |
21:20
Qman___ left,
FROGGS[mobile] left
|
|||
bartolin_ | [Coke]: do you mean "is_run"? I don't know if it's possible to run test files with that. will have to look at it -- but not today ... | 21:21 | |
21:21
fhelmberger joined
21:26
fhelmberger left
21:33
skids left,
kurahaupo1 left
21:34
eternaleye left,
hoelzro left
21:35
eternaleye joined
|
|||
literal | is there something up-to-date that has info similar to rakudo.git/docs/compiler_overview.pod ? that one doesn't mention MoarVM at all | 21:35 | |
eli-se | Is there a more direct Perl 6 equivalent of shell {a..z}{a..z} other than $_ X~ $_ given 'a'..'z'? | 21:36 | |
21:37
mattp__ joined
|
|||
eli-se | (order is insignificant) | 21:37 | |
21:37
raydiak left,
rhr_ joined
21:38
xinming_ joined,
hobbs left,
mattp_ left,
xinming left,
pnu left,
rhr left,
f3ew left
21:39
f3ew joined,
pnu joined,
raydiak joined
21:40
hobbs joined
|
|||
tony-o | you want a random a-z length 2 string? | 21:42 | |
m: (aa..zz).pick(1).say; | |||
camelia | rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ymm3Wn4H5OUndeclared routines: aa used at line 1 zz used at line 1» | ||
tony-o | m: ('aa'..'zz').pick(1).say; | ||
camelia | rakudo-moar d4fd24: OUTPUT«xk» | ||
tony-o | m: ('aa'..'zz').pick(1).say; | 21:43 | |
camelia | rakudo-moar d4fd24: OUTPUT«bs» | ||
tony-o | bs indeed perlbot | ||
21:43
hoelzro joined
|
|||
literal | m: ('a'..'z').combinations(2).perl | 21:43 | |
camelia | ( no output ) | ||
literal | output too long? | ||
eli-se: anyway, that will give you all 2-element combinations | |||
tony-o | literal: you didn't "say" it | 21:44 | |
literal | oh | ||
m: say ('a'..'z').combinations(2).perl | |||
camelia | rakudo-moar d4fd24: OUTPUT«(["a", "b"], ["a", "c"], ["a", "d"], ["a", "e"], ["a", "f"], ["a", "g"], ["a", "h"], ["a", "i"], ["a", "j"], ["a", "k"], ["a", "l"], ["a", "m"], ["a", "n"], ["a", "o"], ["a", "p"], ["a", "q"], ["a", "r"], ["a", "s"], ["a", "t"], ["a", "u"], ["a", "v"], ["a…» | ||
eli-se | cool | ||
tony-o | if you want just one you can .pick | ||
or if you wanted 5 you could .pick(5) | |||
eli-se | awesome! | 21:46 | |
literal | hm, actually, combinations() won't give you aa and bb, etc, though | ||
so tony-o's solution sounds better | 21:47 | ||
b2gills | m: say ('a'..'z').combinations(2)>>.join.pick(5); | 21:52 | |
camelia | rakudo-moar d4fd24: OUTPUT«px lz tv dx ho» | ||
21:52
eli-se left
|
|||
tony-o | m: (('a'..'z') x (0..9)).pick(2).say | 21:53 | |
camelia | rakudo-moar d4fd24: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za…» | ||
21:54
muraiki left
21:56
colomon joined
21:58
eli-se joined
|
|||
lucasb | m: say ('a'..'z')[0..5].perl | 22:01 | |
camelia | rakudo-moar d4fd24: OUTPUT«("a", "b", "c", "d", "e", "f")» | ||
lucasb | ^^ What is a more idiomatic way of getting just the first N elements from an list/array? | ||
Also, how can I do a take, drop, take-while, drop-while in Perl 6? | |||
literal | m: say ('a'..'z')[^5] | 22:02 | |
camelia | rakudo-moar d4fd24: OUTPUT«a b c d e» | ||
lucasb | literal: oh, that's better | 22:03 | |
masak | lucasb: yeah, `.[^5]` is our `take 5` | ||
I guess `.[5..*]` would be our `drop 5` | |||
`take-while` and `drop-while` are just a function definition away, each. | 22:04 | ||
lucasb | m: say ('a'..'z')[20..*] | ||
camelia | rakudo-moar d4fd24: OUTPUT«u v w x y z» | ||
lucasb | literal, masak: thanks! | 22:05 | |
masak | m: sub take-while(&cond, @list) { @list.grep: { &cond($_) ?? True !! last } }; say take-while * < 10, 3..Inf | 22:07 | |
camelia | rakudo-moar d4fd24: OUTPUT«3 4 5 6 7 8 9» | ||
masak | seems to work. | ||
funny, my mind designed it with .map, but my fingers wrote it with .grep :) | 22:08 | ||
lucasb | that "last" will shortcut the grep? | 22:09 | |
I guess I mean "short-circuit" | 22:10 | ||
:) | |||
22:13
geever left
|
|||
masak | yeah, a .grep is implemented with a loop, which responds to a `last`. | 22:13 | |
timotimo | so, are these the first commits towards GLR? | 22:22 | |
22:25
raiph left
22:27
raiph joined
22:38
BenGoldberg joined
22:44
lucasb left
22:47
Foxcool left
22:48
RabidGravy left
|
|||
eli-se | gonna write PCRE library for Perl 6 | 22:51 | |
22:52
yqt left
|
|||
tony-o | you can use p5 regex in p6 | 22:52 | |
eli-se | omg | ||
how | |||
masak | one engine, two syntaxes. | 22:53 | |
tony-o | m: say "a" ~~ :p5/a/; | ||
camelia | rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Vz2X3uL27GMissing required term after infixat /tmp/Vz2X3uL27G:1------> 3say "a" ~~ :p5/a/7⏏5; expecting any of: prefix term» | ||
eli-se | absolutely terrific! | 22:54 | |
masak | the adverb needs to go on something | ||
Juerd | That's a relief. I can still pester everyone with unreadable regexes in Perl 6! :-) | ||
literal | m: say "a" ~~ m:p5/a/; | ||
camelia | rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KKeZYNtSG5Adverb p5 not allowed on mat /tmp/KKeZYNtSG5:1------> 3say "a" ~~ m:p5/a/7⏏5;» | ||
tony-o | m: say "a" ~~ /a/:p5; | ||
camelia | rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3bbfrIKeeLYou can't adverb thatat /tmp/3bbfrIKeeL:1------> 3say "a" ~~ /a/:p57⏏5; expecting any of: pair value» | ||
masak | m: say "a" ~~ rx:p5/a/ | ||
camelia | rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WURr9EMVw9Adverb p5 not allowed on rxat /tmp/WURr9EMVw9:1------> 3say "a" ~~ rx:p5/a/7⏏5<EOL>» | ||
masak | huh. | ||
Juerd | Who doesn't love a nice nested stack of (?>...) | ||
tony-o | it's something like that | ||
masak | m: say "a" ~~ /:p5 a/ | ||
literal | m: say "a" ~~ m:P5/a/; | ||
camelia | rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/m102tZTNjDUnrecognized regex modifier :pat /tmp/m102tZTNjD:1------> 3say "a" ~~ /:p7⏏055 a/» | ||
rakudo-moar d4fd24: OUTPUT«「a」» | |||
Juerd | Silly colons, you don't nest! :P | 22:55 | |
tony-o | m: say 'a' ~~ m:P5/./; | ||
camelia | rakudo-moar d4fd24: OUTPUT«「a」» | ||
masak | oh, capital P | ||
tony-o | duh | ||
Juerd | masak: Yes, small p would be perl, the executable. It's just the language, so that's Perl... (Probably not the real reason, but it fits.) | ||
BenGoldberg | p56: say 'a' =~ /./; | ||
yoleaux | 30 Mar 2015 02:23 EDT <TimToady> BenGoldberg: see irclog.perlgeek.de/perl6/2015-03-30#i_10360515 and following | ||
camelia | p5-to-p6 : OUTPUT«say('a' ~~ m:P5!.!)» | ||
masak | Juerd: I buy that. | 22:56 | |
eli-se | m: say '#(foo #(bar) baz)' ~~ m:P5:s/[ \n]|#(\((?:(?-1)|.)*?\))|#.*?\n/ | ||
tony-o | the perl6 regex is much nicer after having forced myself to use it for a while | ||
camelia | rakudo-moar d4fd24: OUTPUT«「#(foo #(bar)」 0 => 「(foo #(bar)」» | ||
Juerd | m: say "foo".Perl; # bug! | ||
camelia | rakudo-moar d4fd24: OUTPUT«No such method 'Perl' for invocant of type 'Str' in block <unit> at /tmp/2qvds03oC9:1» | ||
eli-se | meh | ||
m: '#(foo #(bar) baz)' ~~ m:P5:s/[ \n]|#(\((?:(?-1)|.)*?\))|#.*?\n/; say $<> | |||
camelia | rakudo-moar d4fd24: OUTPUT«「#(foo #(bar)」 0 => 「(foo #(bar)」» | ||
Juerd looks up (? ...) | 22:57 | ||
Argh | |||
(?-...) | |||
eli-se | recursive backreference | ||
to relative group -1 | |||
Juerd | Ah | ||
BenGoldberg | TimToady++ | ||
.ping | 22:58 | ||
yoleaux | There is no ping command; nor can this be construed as a response. | ||
Juerd | I think I've even used it once. | ||
BenGoldberg | .tell TimToady TimToady++ | ||
yoleaux | BenGoldberg: I'll pass your message to TimToady. | ||
eli-se | Can you use all Perl 5 modifiers with m:P5? such as /s and /x and /g | ||
tony-o | iirc you have to :x:g them | 22:59 | |
eli-se | nice | ||
tony-o | m: say "a" ~~ m:P5:g/./; | ||
camelia | rakudo-moar d4fd24: OUTPUT«「a」» | ||
Juerd | eli-se: I don't know if you can use them as modifiers, but if not, there's (?...:...) for most of them. | 23:01 | |
eli-se | right | ||
23:04
Sqirrel left
|
|||
eli-se | brb; gonna sleep | 23:06 | |
23:07
Sqirrel joined
|
|||
jdv79 | p5 p6 perf diff on my parse heavy code seems more like 3 orders of mag now. did something slow down? p5 is ~44ms and p6 is ~3.2s | 23:08 | |
23:08
eli-se left
|
|||
tony-o | [Tux]: what kind of feedback are you looking for on the csv bench? | 23:09 | |
23:11
Sqirrel left
23:12
Sqirrel joined,
skids joined
23:13
raiph left
23:16
kjs_ left
23:21
pecastro left
|
|||
tony-o | jdv79: ouch | 23:22 | |
jdv79 | i'm waiting for the glr. idk. | 23:24 | |
:( | |||
23:25
KCL_ joined
|
|||
tony-o | glr? | 23:25 | |
jdv79 | most of the time seems to be spent in listy things | ||
tony-o | oh | ||
jdv79 | gimme, reify, etc... | ||
the code is pretty simple | |||
my code i mean | |||
timotimo | jdv79: we've recently lost inlining of many blocks at the moarvm level, but it shouldn't have caused a gigantic slowdown | 23:26 | |
skids | is the SVG ecosystem module panda install broken for other people, or just me? | ||
timotimo goes towards bed | 23:27 | ||
jdv79 | ok | ||
23:27
KCL left
|
|||
tony-o | panda install SVG | 23:34 | |
oops | |||
skids: built and installed for me | |||
skids | Hrm. I get a "no STable" and it tries to blame XML::Writer for being old, but panda install XML::Writer works fine, and doing so does not fix things. | 23:39 | |
tony-o | what does your $PATH look like | 23:40 | |
skids | Oh, I;ve got rakudobrew's path in there, forgot I was in that subshell, retrying. | 23:41 | |
nope same result. | 23:42 | ||
23:43
hobbs left
|
|||
skids | Hrm maybe I have to get a new panda into my local install dir. | 23:43 | |
tony-o | yea you might have a manual perl6 and rakudobrew panda or other way around from your path | 23:44 | |
which perl6 ; which panda ; | |||
that might give some hints | 23:45 | ||
skids | Yeah panda is weeks old. Because rakudobrew doesn't support installing it anywhere but in-tree | ||
masak | 'night, #perl6 | 23:46 | |
skids | o/ | ||
23:49
Sqirrel left
23:56
aborazmeh joined,
aborazmeh left,
aborazmeh joined
23:58
raiph joined
23:59
Sqirrel joined
|