»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:09 felher joined, felher is now known as Guest21957 00:13 Guest21957 left 00:14 felher_ joined
hoelzro colomon: did you happen to file a bug report for that bug your found? 00:20
colomon hoelzro: no 00:22
00:24 gfldex left 00:27 tinyblak_ joined
hoelzro ah, ok 00:27
do you know why it's not working?
or just that I broke it? =P
00:29 tinyblak left 00:38 kurahaupo joined, kurahaupo left 00:40 tinyblak_ left, tinyblak joined 00:46 espadrine_ left 01:02 kurahaupo joined 01:04 dayangkun joined 01:09 tinyblak_ joined 01:13 tinyblak left
dalek osystem: cb077e2 | (David Farrell)++ | META.list:
Added System-Passwd
01:17
01:22 tinyblak_ left, tinyblak joined 01:26 dayangkun left 01:32 kurahaupo1 joined 01:41 raiph joined 01:42 erkan joined 01:44 immortal left
colomon hoelzro: I've not the faintest idea why it's not working. I just know your commit broke it. (Or perhaps as likely, made the otherwise hidden brokeness show up.) 01:50
02:02 zakharyas joined 02:04 xinming joined
raiph FROGGS++ # p6 overload constant in a trice 02:06
02:06 xinming_ left 02:07 raiph left 02:12 immortal joined 02:14 erkan left 02:15 xinming left 02:16 xinming joined 02:28 chenryn joined 02:29 adu joined 02:37 erkan joined 02:39 immortal left
dalek osystem: 495db61 | (David Farrell)++ | META.list:
Added Software-License
02:39
02:45 adu left 02:48 chenryn left 02:52 AlexDaniel joined 02:54 chenryn joined
AlexDaniel Hi! I just installed rakudo from debian repos, wrote a simple hello world program (just say 'hello world';) and was surprised that it takes 7 seconds to execute. It feels like it spends most of the time just starting up, is there any way to make it faster? 02:55
02:56 rurban left
perltricks AlexDaniel: it might be an older version of Rakudo. Have you tried downloading Rakudo Star? 02:58
AlexDaniel apt-cache policy rakudo says *** 2014.07-4 0
which is old, right?
perltricks what is the output if you type this in the terminal: time perl6 -e 'say "Hello World"'; 02:59
AlexDaniel hm, that's faster 03:02
japhb AlexDaniel: What is the output of `perl6 -v`?
AlexDaniel perltricks: real0m1.278s; user0m1.112s; sys0m0.116s 03:03
japhb: This is perl6 version 2014.07 built on parrot 6.6.0 revision 0
japhb Oh yeah, that's a large part of the problem.
ugexe AlexDaniel: what OS are you on 03:04
japhb That's 3-4 months old, and on a VM known to have slow startup (not as slow as JVM, mind you, but not as fast as MoarVM).
AlexDaniel I'm on debian unstable 03:05
03:05 virtualsue left
perltricks AlexDaniel: d/l rakudo.org/downloads/star/rakudo-st....09.tar.gz 03:05
japhb AlexDaniel: You may want to just build and install from source, or get and build a recent Rakudo Star from the Rakudo downloads site
AlexDaniel perltricks: yea-yea, already did :)
ugexe alternatively you can use rakudobrew github.com/tadzik/rakudobrew
AlexDaniel Um, guys, I just noticed something
hold on... 03:06
japhb wishes we could get Debian to update, rather than having to explain to people how to get something recent.
ugexe if debian would update it would make travis testing modules way more realistic
japhb I can understand having testing behind -- by design, that lag will happen. But the whole point of unstable is to be current. :-/ 03:07
AlexDaniel Hmm, I was testing it inside a folder that is mounted with sshfs. So if I run it on my local hard drive, I get exactly the same 1.5s result. 03:08
why would that matter
no, seriously. What kind of file system operations is it trying to perform?
ugexe lot of file system work has been done since 2014-09 i believe 03:09
japhb AlexDaniel: There's some searching for module library locations, loading .so's if needed, etc. But ugexe is right ... there was a lot of work in the last few months about reducing startup, and FS ops was part of that.
AlexDaniel okay, so I'll just update then 03:10
oh, so what should I use then?
ugexe try using the other vms as well
AlexDaniel parrot or moarvm?
japhb moarvm 03:11
Plus moarvm has better async I/O and concurrency support
AlexDaniel yea I see 03:12
perltricks AlexDaniel: as a benchmark, on my old Mac with moarvm and the latest Rakudo build, the real is 0.427s
AlexDaniel Hmm, I just felt like Parrot is the recommended choice. Don't know why 03:13
maybe because it is first on every list everywhere 03:14
perltricks yeah it's got more history than the JVM and moarvm builds. And more baggage too :)
03:21 firefish5000 joined
AlexDaniel Well, yeah, it is really fast now if I run it locally 03:28
and 0m6.342s otherwise 03:29
which is 1 second faster, indeed
:\
03:42 perltricks left
AlexDaniel Any Emacs users here? I've read that cperl mode should work pretty well with perl6, but apparently it does not. Perhaps I'm using too old version? Or maybe I should use something else? 03:43
03:49 telex left 03:50 telex joined 03:52 kurahaupo left 04:04 rmgk_ joined, rmgk is now known as Guest15236, Guest15236 left, rmgk_ is now known as rmgk, yeahnoob joined
jdv79 no HTML::TreeBuilder type p6 modules yet? 04:06
04:06 erkan left 04:07 anaeem1_ joined, erkan joined, erkan left, erkan joined 04:14 anaeem1_ left 04:15 anaeem1 joined
yeahnoob I thought Perl6 currently is in the stage of "Language Specification Implementation", not in a "Module/Library Expanding" stage. 04:23
04:25 kaare_ joined
ugexe xml, xml::query, html::xml::parser 04:28
AlexDaniel what is the alternative to [^abc] ? It seems like <[^abc]> does not work 04:32
04:34 adu joined
AlexDaniel oh, <-[abc]> I guess 04:35
04:45 chenryn left 04:53 AlexDaniel left 04:57 chenryn joined 05:02 chenryn left 05:03 Mouq joined, chenryn joined, chenryn left, chenryn joined, chenryn left 05:04 chenryn joined, chenryn left 05:05 chenryn joined, chenryn left, chenryn joined, chenryn left 05:06 chenryn joined, chenryn left, chenryn joined, chenryn left 05:07 chenryn joined, chenryn left 05:08 chenryn joined, chenryn left, chenryn joined, chenryn left 05:09 chenryn joined, chenryn left, chenryn joined, chenryn left 05:10 chenryn joined, chenryn left 05:11 chenryn joined, chenryn left, chenryn joined, chenryn left 05:12 chenryn joined, chenryn left, chenryn joined, chenryn left 05:13 chenryn joined, chenryn left 05:14 chenryn joined, chenryn left, chenryn joined 05:19 kaare_ left
Mouq .tell AlexDaniel github.com/lue/p6mode 05:26
yoleaux Mouq: I'll pass your message to AlexDaniel.
05:34 ptc_p6 joined 05:35 exixt is now known as exixt_ 05:37 firefish5000 left 05:40 araujo left 05:47 BenGoldberg left, kaare_ joined
dalek p/longlit: 4f1b3f0 | TimToady++ | src/QRegex/ (2 files):
make ltm work on regex modifiers
05:53
kudo/longlit: 7bb3656 | TimToady++ | src/Perl6/Actions.nqp:
force <.foo> to call method even if sub declared
05:54
05:57 chenryn left 06:00 lue left 06:01 exixt_ is now known as exixt, chenryn joined 06:10 zakharyas left 06:33 adu left 06:35 firefish5000 joined 06:38 jack_rabbit joined 06:53 tinyblak left 06:58 jack_rabbit left 07:02 kaleem joined 07:06 gfldex joined
dalek p: f4c6cbc | TimToady++ | src/QRegex/NFA.nqp:
correctly propagate longlit info in NFAs
07:11
p: 4f1b3f0 | TimToady++ | src/QRegex/ (2 files):
make ltm work on regex modifiers
p: 68dfa22 | TimToady++ | / (6 files):
Merge branch 'master' into longlit
07:12 erkan left
dalek kudo/longlit: ef6924e | TimToady++ | src/Perl6/Actions.nqp:
nqp wants 1/0, not True/False
07:14
07:14 erkan joined, vendethiel left 07:15 travis-ci joined
travis-ci NQP build failed. TimToady 'Merge branch 'master' into longlit' 07:15
travis-ci.org/perl6/nqp/builds/41217953 github.com/perl6/nqp/compare/fd8e5...dfa222a290
07:15 travis-ci left
dalek kudo/nom: 7137b21 | TimToady++ | src/Perl6/Actions.nqp:
replace INDRULE with var carrying actual coderef

This is so that the nfa routines can call .NFA on the coderef to extract the NFA and merge properly when <foo> refers to a lexical regex.
07:16
kudo/nom: 4da5e49 | TimToady++ | src/Perl6/Grammar.nqp:
coloncircumfix was stealing :() pseudo-sigs

  (This was due to the new longest-literal tiebreaking rule.)
kudo/nom: 5f5ddb4 | TimToady++ | src/Perl6/ (2 files):
<?{}> parse depended on non-lltm ordering
kudo/nom: 7bb3656 | TimToady++ | src/Perl6/Actions.nqp:
force <.foo> to call method even if sub declared
kudo/nom: ef6924e | TimToady++ | src/Perl6/Actions.nqp:
nqp wants 1/0, not True/False
kudo/nom: 4d80624 | TimToady++ | / (38 files):
Merge branch 'nom' into longlit
ast: 3426474 | TimToady++ | S05- (2 files):
modify tests that assume <.foo> can call sub
Mouq TimToady: Does NQP need a Moar revision bump? 07:17
TimToady oh, probably
as well as an nqp bump 07:18
hmm, could sworn I had a script somewhere to do that... 07:19
07:21 travis-ci joined
travis-ci Rakudo build failed. TimToady 'Merge branch 'nom' into longlit' 07:21
travis-ci.org/rakudo/rakudo/builds/41218173 github.com/rakudo/rakudo/compare/3...806242faa2
07:21 travis-ci left
dalek p: 4c2e52a | TimToady++ | tools/build/MOAR_REVISION:
bump moar rev
07:21
kudo/nom: 48edaa3 | TimToady++ | tools/build/NQP_REVISION:
bump nqp rev
07:22
TimToady there, hope I did it right--haven't bumped revs in months... 07:23
now to pull it all down and test on a different machine 07:24
07:25 travis-ci joined
travis-ci NQP build passed. TimToady 'bump moar rev' 07:25
travis-ci.org/perl6/nqp/builds/41218445 github.com/perl6/nqp/compare/68dfa...2e52af9706
07:25 travis-ci left
Mouq TimToady++ 07:25
07:30 travis-ci joined
travis-ci Rakudo build passed. TimToady 'bump nqp rev' 07:30
travis-ci.org/rakudo/rakudo/builds/41218522 github.com/rakudo/rakudo/compare/4...edaa3a7c1c
07:30 travis-ci left, gfldex left
TimToady took me more than a week to implement a single line of the spec, S05:37 07:35
synopsebot Link: perlcabal.org/syn/S05.html#line_37
lizmat TimToady++ :-) 07:39
07:39 woolfy left 07:40 lue joined 07:41 zakharyas joined, chenryn left 07:42 FROGGS joined
TimToady but I could just see it was one of those things that nobody else would do if I didn't :) 07:42
FROGGS TimToady++ 07:43
also, good morning
TimToady still 17 minutes till morning here :)
FROGGS clearly it depends on the definition of 'morning' 07:45
07:45 jimmy_ joined
jimmy_ TimToady: I could't understand that line without a test or example :( 07:46
07:46 zakharyas left, jimmy_ is now known as JimmyZ 07:47 zakharyas joined
lizmat commute to venue& 07:47
07:47 lizmat left
JimmyZ hmm, maybe I understand now ... 07:49
07:49 chenryn joined
TimToady for instance, we have an 'if' keyword that has two literal characters, and a listop rule that recognizes the same word with \w and such 07:51
the literal 'if' is more specific than \w+, so we pick that if the two rules come out to the same longest token by the first rule
07:51 firefish5000 left
TimToady before this fix, you had to be careful to put the rules into the right order 07:52
FROGGS which makes some look aheads obsolete now that it is implemented :o)
TimToady potentially
nine Perl 6 is travelling backwards in time! 07:53
It went from "release date will be announced at FOSDEM" to "will be released at FOSDEM" to "at FOSDEM Larry will say that it is production ready" in just a week... 07:54
FROGGS O.o 07:55
JimmyZ Oh, It means rakudo can be aligned a bit more with STD
FROGGS maybe he will state that it was already done last Christmas :o) 07:56
nine The christmas before that ;)
FROGGS perhaps... 07:57
FROGGS .oO( The Perl 6 Of Christmas Past' )
btw, I always favoured a book with the title - "Perl 6 - A Christmas Carol"
08:01 someanon left 08:03 rurban joined
masak mornings, #perl6 08:05
JimmyZ Perl 6 - the rakudo way to Christmas! 08:06
morning, masak!
FROGGS morning one of the masaks
08:11 darutoko joined 08:14 pecastro left
sergot moritz++ # I will fix this, thanks! 08:18
masak FROGGS: a little inspired by one of Stanisław Lem's short stories, we label ourselves Monday..Sunday. that also helps us keep track of whose turn it is to work that day. 08:20
08:24 lizmat joined 08:25 pdcawley joined
FROGGS masak: I hope there is enough room on the sofa for the other six :o) 08:25
masak sofa + chairs + floors work fine. 08:26
08:28 salv0 left 08:36 xiaomiao is now known as bonsaikitten 08:37 kurahaupo joined, kurahaupo left 08:38 yeahnoob left 08:39 yeahnoob joined 08:45 virtualsue joined 08:46 ghostlines joined, ptc_p6 left 08:47 salv0 joined, ptc_p6 joined 08:51 denis_boyun_ joined, molaf_ joined 08:55 molaf left
masak Perl 5 regexes. I feel efficient and somehow dirty at the same time when using them. 08:59
08:59 tinyblak joined 09:01 immortal joined, immortal left, immortal joined
lizmat m: my @a = do for ^10 { state $a; last if $a++ > 5; $a }; say @a # huh ??? 09:03
camelia rakudo-moar 48edaa: OUTPUT«7 7 7 7 7 7␤»
09:03 erkan left
lizmat m: my @a = do for ^10 { state $a; $a++; $a }; say @a 09:03
camelia rakudo-moar 48edaa: OUTPUT«10 10 10 10 10 10 10 10 10 10␤»
lizmat m: my @a = do for ^10 { state $a; $a++; +$a }; say @a 09:04
camelia rakudo-moar 48edaa: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
moritz lizmat: it's always returning $a
09:04 KCL_ joined
moritz lizmat: the container, not the value 09:04
lizmat: and there's only one $a
FROGGS m: my @a = do for ^10 { state $a; last if $a++ > 5; say $a; $a }; say @a # maybe that shows it better 09:05
camelia rakudo-moar 48edaa: OUTPUT«1␤2␤3␤4␤5␤6␤7 7 7 7 7 7␤»
09:06 jluis joined
masak m: my @a = do for ^10 { state $a; last if $a++ > 5; 0 + $a }; say @a 09:06
camelia rakudo-moar 48edaa: OUTPUT«1 2 3 4 5 6␤»
masak m: my @a = do for ^10 { state $a; last if $a++ > 5; +$a }; say @a
camelia rakudo-moar 48edaa: OUTPUT«1 2 3 4 5 6␤»
FROGGS in `last if $a++ > 5;` it feels like the `last` intercepts the postincrement 09:07
masak I wonder why "it's the container, not the value!" becomes so much of a talking point in (some corners of) Perl 6, but not so much in other languages I deal with on a daily basis.
09:07 KCL left 09:08 JimmyZ left
arnsholt All of the upboats to everyone who made the Rakudo NQP Internals course happen 09:10
09:10 JimmyZ joined
arnsholt My Python project would be so screwed without it 09:10
lizmat is glad to hear it :-)
arnsholt I mean, I could probably figure out this stuff from the NQP and Rakudo sources, but figuring out how to do metamodel stuff purely from that wouldn't be very -Ofun 09:12
And then the project would stop =)
09:15 denis_boyun_ left
lizmat m: my @a = do for ^10 { state $a; $a++; nqp::decont($a) }; say @a # point taken :-) 09:15
camelia rakudo-moar 48edaa: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
09:18 osfameron joined
osfameron waves 09:18
masak lizmat: ...but don't do that in user-facing code ;) 09:19
in fact, I think we should avoid it in the core setting, too.
lizmat $ ack nqp::decont src/core | wc -l
203
a nice project :-)
masak to the extent that the core setting should serve as readable/inspirational examples of good Perl 6 programming practice for curious readers, and not an exercise in manual optimization. 09:20
JimmyZ so it needs remove all nqp::xxx ?
lizmat masak: I think that goal is unattainable 09:21
moritz JimmyZ: no
masak it would be an interesting exercise to find out (a) which of those instances of nqp::decont are there to make spectests pass, and (b) how much removing all of the rest affects Rakudo performance today.
lizmat osfameron o/
(and in the right channel) :-)
09:22 tinyblak left, tinyblak joined
osfameron heh :-) I did think the perl.org #perl6 seemed a bit underpopulated 09:23
masak we're small, but not *that* small.
lizmat osfameron: yeah... :-)
osfameron is vaguely planning a Perl6 christmas project
thinking of porting one of my WIP modules. Either MooX::Zippable, or Open311::Endpoint. 09:24
09:25 dakkar joined
lizmat ++osfameron 09:26
osfameron former would be interesting for playing with the OO stuffs, latter might be useful as a realworld example. 09:27
FROGGS osfameron: what do both modules do?
moritz osfameron: what's Open311::Endpoint? I can't find it on CPAN 09:28
and then name doesn't tell me anything either
osfameron indeed, they're both WIP, 1 sec
O311::E is a webservice implementing Open311 (to let people report civic problems to government authorities) github.com/mysociety/fixmystreet/b...ndpoint.pm 09:29
and Zippable is a zipper implementation to let you efficiently traverse and update complex object structures purely functionally github.com/osfameron/MooX-Zippable 09:30
FROGGS nice :o)
09:36 fhelmberger joined
masak I think Zippable was what I saw a YAPC::EU talk about this year. 09:41
osfameron yes, that's right 09:45
I haven't actually had any time to work on the module since then...)
09:54 pdcawley left 09:55 alexghacker left, virtualsue left 09:57 alexghacker joined
masak nwc10: you may or may not have seen www.i-programmer.info/news/98-langu...stake.html 09:59
and alexgaynor.net/2013/dec/30/about-python-3/
nwc10 I'd seen the latter 10:01
not the former
oh, disappointment 10:02
it only has the raw answer results
not correlation between the answers
masak oh, point. 10:05
that would have been highly useful.
10:08 pdcawley joined
lizmat pdcawley o/ 10:08
lunch&
pdcawley lizmat: o/
10:09 rindolf joined, espadrine_ joined 10:10 immortal left 10:11 erkan joined, yeahnoob left 10:12 zakharyas left
osfameron our datapoint for python 2/3 is that @dracos likes 'six' (compatibility library for python 2 to give it various py3 features) so our code in general targets both 10:17
10:17 espadrine_ left
nwc10 osfameron: remember that I'm an outside observer in all this. You have more experience than I do 10:19
but it seems that six is sane, and the approach you describe is sane
however, there's a massive lag between when Python 3 first appeared, and when six appeared 10:20
10:21 TuxCM left, espadrine_ joined
osfameron yeah, I'm not much of a python developer either, but occasionally hack on some project using it 10:21
10:22 Ugator1 joined
osfameron this article calls the subset of pythong that works in 2 and 3 "python X" medium.com/@thezerobit/python-3-is...2ad703365d 10:22
masak interesting. 10:23
I have heard of six, and I tend to recommend it as a sane option in my Python courses.
osfameron (it's a controversial post, there are various rebuttals around.)
masak and it's moved to blog.thezerobit.com/2014/05/25/pyth...thon.html, apparently. 10:24
nwc10 osfameron: it's also a "someone [else] should do this" post
10:24 Ugator left
nwc10 I don't know if it was him, but someone set up a (logged) IRC channel for "what should be in 2.8?" 10:24
and the channel fizzles out
but it was clear from what I read of the channel, that the sensible folks on it couldn't work out a useful answer
I'm wondering how easy it is these days to get useful pypi download stats, and hence repeat Alex Gaynor's analysis 10:26
masak cf. all the projects over the years that have gone "no, no, Perl 6 is going about this all wrong, here's what we should..." *fizzle*
at least Perl 6 has tenacity going for it.
10:27 pecastro joined
nwc10 masak: I'm not aware of any projects saying that other than Py3k 10:27
and the basic idea of py3k was sensible 10:28
and really it's mostly hindsight which has shown its flaws
masak I was thinking of things like p2 and rindolf.
nwc10 aha
masak and moe, ish.
10:29 TuxCM joined 10:30 JimmyZ left 10:31 Ugator joined
masak oh, and perl5i -- is that still active? 10:32
rurban not really 10:33
FROGGS what about that rperl?
rurban very active
but not related to perl6 that much 10:34
FROGGS yeah, I know...
peterete1 hat does "very active" mean regarding rperl?
FROGGS peterete1: that: github.com/wbraswell/rperl/graphs/contributors
10:35 tinyblak_ joined
rurban look at #perl11 10:35
masak would think it'd be interesting with a Perl 5 on NQP
rurban well, nqp is a bit too slow still to be attractive 10:36
peterete1 I wonder if/when they'll smoke it against CPAN 10:37
moritz it'd just make compilation a bit slower
rurban but the nqp in github.com/fperrad/tvmjit would be
10:38 tinyblak left 10:40 lizmat left 10:41 rurban left, dagurval_ is now known as dagurval 10:43 virtualsue joined 10:46 sqirrel__ joined, rurban joined
arnsholt masak: I agree. I don't think I want to be the one to replicate all of the smoke and mirrors in the parsing though =) 10:46
masak that's a good point. 10:47
maybe it could be a "sane subset", though.
arnsholt Yeah, that's a starting point
Maybe the easiest way would be to implement a yaccalike in NQP and port the perl5 yacc code to that 10:48
masak ooh, like a yacc->nqp compiler? 10:49
arnsholt Yep
masak almost said "transpiler"
arnsholt Then you "only" have to port the C parts of the Perl 5 code to NQP too =)
10:49 dsm joined
masak right. 10:50
10:53 lizmat joined, atta_ is now known as atta
dsm if I call the nqp::encode function in MoarVM back-end, does MVM_string_encode function called somehow? 10:57
lizmat that would make sense, I think, but only code viewing would give you a real answer 10:58
m: my $a = Mu # shouldn't this give a typecheck failure ?
camelia ( no output )
nwc10 Moe started from a "sane subset". How does one avoid ending up where it did?
dsm if I want to add another character encoding set, should I write a encoding.c and encoding.h files in MoarVM/src/strings? 10:59
FROGGS dsm: you may want to add it to github.com/sergot/perl6-encode/ 11:02
11:04 immortal joined
dsm thanks 11:04
11:06 erkan left
jnthn lizmat: No, the default type constraint is Mu. It's the default *value* that is Any 11:10
lizmat ah, yes, of course :-)
jnthn dsm: That's how you'd add it in MoarVM, plus you'd need to give it an entry in a couple of lookup/switch statements in src/strings/ops.c iirc 11:12
11:12 chenryn left
dsm okay thank you. 11:16
jnthn commute & 11:18
dsm lol 11:24
11:24 dsm left
FROGGS NO LOL :P 11:24
11:25 daxim joined 11:28 Mso150 joined
tadzik :D 11:31
11:36 pdcawley left 11:38 chenryn joined 11:41 chenryn left 11:43 Mso150 left, mls_ is now known as mls 11:44 chenryn joined, kaleem left
arnsholt masak: Heck, if you're clever enough it might be possible to do the yacc-ing in such a way that most of the things can be handled as a standard grammar things and the crazy stuff as custom-generated methods in the grammar 11:52
11:52 Mouq left 11:58 sqirrel__ left 12:02 smls joined
smls re irclog.perlgeek.de/perl6/2014-11-17#i_9672813 -- so, the block of a for loop is automatically considered "is rw"? 12:04
What's the reasoning for that design?
masak things like `for @chars { .=uc }` 12:05
smls Well but you have to explicitly say "is rw" in case of a subroutine, and with good reason I think - because that behavior is unintuitive unless you really want it.
I wonder if it's a design decision that was made before using loops as an expressions with a return list was a thing, and should be revisited. 12:06
masak oh, you mean the return value of the block. I see.
I can't say I have a sensible/consistent opinion about that. 12:07
smls Yeah, I mean the return value. The rw-ness of parameters is independent of that. 12:09
12:12 pdcawley joined
smls m: my @a = (^10).map: { state $a; $a++; $a }; say @a 12:13
camelia rakudo-moar 48edaa: OUTPUT«10 10 10 10 10 10 10 10 10 10␤»
smls m: (^10).map({ state $a; $a++; $a }).say
camelia rakudo-moar 48edaa: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
masak this decontainerization business has been up for discussion before. there are RT tickets about it.
I bet pmichaud would have something coherent to say about it. 12:14
smls ^^ Why does it not happen when constructing a Parcel instead of assigning to an Array, tough? 12:15
*though
Let's hope the GLR will make everything awesome and easy to understand... :) 12:18
12:22 chenryn left
masak because a Parcel is Perl 6's version of references. 12:22
m: my $x = 5; my $y = \$x; say $y.WHAT 12:23
camelia rakudo-moar 48edaa: OUTPUT«(Capture)␤»
masak hm. :)
...or maybe it was Captures.
smls :)
lizmat this just on the NPW: deploying perl to heroku goo.gl/GfN81w 12:27
smls I came across an old document once that advertised early Perl 6 "Captures" as Perl 5 references on steroids...
masak would like to deploy Perl 6 to heroku, too
lizmat look at the last slides: it's about deploying rakudo to heroku
smls But I was under the impression that they have evolved in a different direction, and the roles of P5's references are now fulfiled by the container system, binding, and opque objects.
lizmat there's a buildpack for it now
masak lizmat: ooh!
moritz smls: that's correct
12:27 Woodi_ left 12:28 Woodi joined
lizmat masak: goo.gl/GfN81w 12:28
grrrr
github.com/pnu/heroku-buildpack-rakudo
(sorry Grrrr) 12:29
jnthn pnu++ # my hero...ku 12:30
masak lizmat: wow. if my vacation were today and not next week, I would sit down and try that right away.
timotimo o/ 12:33
FROGGS hi timotimo 12:50
TuxCM scoping bug for $!attr inside regex still exists: pastie.org/9725046 12:55
12:56 anaeem1 left
jnthn m: /$!attr/ 12:58
camelia rakudo-moar 48edaa: OUTPUT«===SORRY!=== Error while compiling /tmp/k1MDHftC1a␤Variable $!attr used where no 'self' is available␤at /tmp/k1MDHftC1a:1␤------> /$!attr⏏/␤»
jnthn m: class A { has $!attr; method m() { /$!attr/ } }
camelia ( no output )
masak TuxCM: ticketed here: rt.perl.org/Ticket/Display.html?id=122892
jnthn Yeah, that shouldn't compile.
Since it can never work out. 12:59
masak .oO( <regex> I'm sorry, $!attr -- it would just never work out between us )
13:08 exixt is now known as exixt_ 13:09 kaleem joined 13:12 Ugator1 left 13:18 alexghacker left 13:21 pdcawley left 13:24 bwisti joined 13:27 prevost joined 13:29 denis_boyun_ joined
pnu jnthn, masak: thanks.. :-) 13:30
13:35 chenryn joined 13:43 chenryn left, chenryn joined 13:44 lizmat left 13:51 araujo joined 13:52 anaeem1_ joined, lizmat joined
masak pnu++ 13:54
13:54 chenryn left
masak pnu: I had been meaning to do that for quite some time, but never got the right kind of round tuit for it. 13:55
13:55 kurahaupo joined 13:56 anaeem1_ left 13:57 anaeem1 joined, brrt joined 13:59 zakharyas joined 14:03 perlpilot is now known as PerlJam 14:05 exixt_ is now known as exixt
Ulti is there an equivalent to Python's 'ast' module that can parse Perl6 for you and return an AST? 14:05
14:06 anaeem1 left
moritz m: macro ast($x) { say $x.^name }; ast 42 + 1 14:08
camelia rakudo-moar 48edaa: OUTPUT«AST␤===SORRY!===␤Too few positionals passed; expected 3 arguments but got 2␤»
moritz m: macro ast($x) { say $x.^name; return }; ast 42 + 1
camelia rakudo-moar 48edaa: OUTPUT«AST␤»
moritz Ulti: that's how you get an AST in Perl 6. But right now ASTs are very opaque (you can't introspect them properly)
masak ...but <caveats>.
right.
I expect what you'll eventually *want* is Qtrees. 14:09
Ulti cool! second question can I inspect the call stack? 14:10
moritz yes, with callframe()
Ulti >:3 I'm definitely not trying to do something gross
great thanks moritz
moritz "of course"
14:11 Ven joined 14:15 prevost left
Ulti "Callframe.callframe not yet implemented. Sorry." ;___; 14:16
Ven .tell masak typo on your last blog post "Macro paramters/"
yoleaux Ven: I'll pass your message to masak.
Ulti assuming that's how you get the callingframe of the callframe?
moritz Ulti: you can just do callframe(2) to go deeper
Ulti ahh oj 14:17
thanks
14:21 prevost joined 14:29 pdcawley joined 14:33 telex left 14:34 telex joined
smls rt.perl.org/Public/Bug/Display.html?id=123060 -- That bug report's title doesn't really reflect what's going on. 14:38
A lone $ currently always gets `state` scoping, never `my` scoping. (See also TimToady's comment at the end.)
It's just that Rakudo doesn't parse the first use of $ as if it were part of the declaration (as masak and lizmat seem to except judging from the comments), and instead adds an invisible declaration for it. 14:39
Which I think is a *good* thing - the current behavior is by far the saner alternative. (And also less pythonic... ;)
14:39 colomon left, kaare_ left
smls Parsing something as half of a declaration even though you can't see the other half and thus it doesn't look like a declaration at all, would be far too magical. 14:39
If you want a custom declaration, then go and write a full declaration - including the my/state/our keyword that makes it clear to readers what's going on. 14:40
The implicit declaration that gets added for $ is there for making simple things (e.g. loop counters) easy. If your use-case is less trivial and requires a custom declaration (e.g. a state variable with a default value different from Any), then the $ feature is imo simply not applicable. 14:41
my 3¢... :) 14:43
Ven 's not sure he likes the bare-`$` idea anyways... :)
14:43 colomon joined
FROGGS does 3¢ already make a lone $ ? :o) 14:43
14:45 guru joined 14:46 guru is now known as ajr_
tadzik hmm, pumpkin ale 14:50
jnthn tadzik: I've had one of those before. It was interesting. :) 14:51
tadzik it is indeed :)
reminds me of this finnish beer-thing
osfameron kotikalja? 14:53
tadzik I don't remember the name :( 14:55
15:04 cognominal joined
arnsholt Python just keeps getting odder >.< 15:05
15:05 Spot_ joined
arnsholt The semantics of foo.bar(...) depend on whether the object foo has a member named bar or not 15:05
15:06 chenryn joined 15:08 itz_ joined
Ven arnsholt: well, otherwise it calls a magical fallback nethod, right? 15:10
like __fallback or ruby's method_missing or our FALLBACK or php's __method or..
15:10 itz left
arnsholt Not quite 15:11
Ven okay, I'm interested now :D
arnsholt If foo has a member bar, we invoke the special __call__ method on the member. If not, we look for a member named bar in the class object Foo 15:12
If that exists, we invoke it as a method with foo as the invocant
Ven like a class method?
arnsholt No, that's how instance methods are found 15:13
But now that I've started complaining, I realize that it's just a question of having a fallback in the case of attribute lookup
If the attribute exists, return that. Else, we return an invokable with the object bound as the invocant 15:14
15:17 kurahaupo1 left 15:20 zakharyas left 15:22 chenryn left 15:23 chenryn joined
arnsholt From a cursory think, I think this should be mostly a question of doing the implementation legwork 15:23
15:26 cognominal left 15:27 felher_ is now known as felher 15:28 Diederich-away joined, Diederich-away is now known as Diederich 15:31 kurahaupo1 joined
lizmat slides of the talk I just gave: www.liz.nl/Perl6ForNeophytesNPW2014.pdf 15:47
Ven reads 15:48
lizmat: thanks for the credit.
lizmat you deserve it!
Ven lizmat: I'm going to remove the "5th" syntax from my tutorial. It needn't be here 15:49
it's so little-used it was stupid of me to include it. It just confuses people 15:50
15:51 treehug88 joined, treehug88 left, kaare_ joined
Ven m: sub f($a is copy) { $a++ }; f(42); 15:52
camelia ( no output )
lizmat m: sub f($a is copy) { $a++ }; say f(42); 15:53
camelia rakudo-moar 48edaa: OUTPUT«42␤»
lizmat m: sub f($a is copy) { ++$a }; say f(42);
camelia rakudo-moar 48edaa: OUTPUT«43␤»
lizmat did I make a mistake in a slide?
Ven lizmat: I'm just wondering if the "copy" is... "elided" in this case :)
lizmat well, I used the slides as examples and elided a lot :-) 15:54
basically following the flow you had in learnXinY
15:54 treehug88 joined
lizmat and saying the lines you had in grey :-) 15:54
Ven right. It's a lot simpler. I should take note 15:55
lizmat and sort of sprinkled (new) features in the examples
15:55 ajr_ left
lizmat to see if people were paying attention 15:56
15:57 guru joined, guru is now known as Guest36397 15:58 Guest36397 is now known as ajr_
Ven ...yes you did :). Like when you introduce the $^a sneakily 15:58
16:04 PZt left 16:07 Ven left
dalek rl6-roast-data: 54d75d3 | coke++ | / (5 files):
today (automated commit)
16:10
rl6-roast-data: 9c35a88 | coke++ | / (5 files):
today (automated commit)
16:11 vike left 16:22 denis_boyun_ left
smls S05:2031"ident Match an identifier." - That's not very specific. What is the exact meaning? Does it depend on the system locale? 16:24
synopsebot Link: perlcabal.org/syn/S05.html#line_2031
16:25 ingy left, ingy joined
lizmat timotimo: should you be working on the weekly, I think github.com/pnu/heroku-buildpack-rakudo of pnu is worth mentioning 16:26
FROGGS smls: no, an identifier is everything that matches: \w+ [ <[\-']> \w+ ]* 16:28
TimToady not exactly 16:29
each chunk has to start alpha
FROGGS ahh, yeah 16:30
TimToady <.ident> [ <.apostrophe> <.ident> ]* is how STD has it 16:31
16:32 KCL_ left
TimToady same in rakudo, I guess 16:32
16:34 kaleem left 16:35 brrt left 16:36 anaeem1 joined
smls ok 16:37
16:37 Diederich left 16:38 ghostlines left
smls m: say "ab'cd-ef" ~~ /^ <ident>* % . $/ 16:39
camelia rakudo-moar 48edaa: OUTPUT«「ab'cd-ef」␤ ident => 「ab」␤ ident => 「cd」␤ ident => 「ef」␤␤»
smls hm...
16:40 anaeem1 left, anaeem1 joined 16:44 kaleem joined, grondilu joined, pdcawley left 16:45 anaeem1 left 16:48 ajr_ left 16:49 kaleem left 16:50 ajr joined 16:51 ajr is now known as Guest84034, Guest84034 is now known as ajr_ 16:52 anaeem1 joined 16:53 pdcawley joined, lizmat_ joined, lizmat left 16:56 fhelmberger left 16:58 lizmat_ is now known as lizmat 17:02 ajr_ left 17:03 guru joined, guru is now known as Guest24179, Guest24179 is now known as ajr_
FROGGS TimToady: nqp/src/NQP/Grammar.nqp:40: token identifier { <.ident> [ <[\-']> <.ident> ]* } 17:11
17:11 adu joined 17:12 exixt is now known as exixt_, FROGGS left 17:13 chenryn left
ugexe should panda return an exit code of non-0 when it fails to install a module? it'd be nice to be able to do panda install Gonna::Fail || panda install Different::Module 17:13
lizmat ugexe: it probably should (and note to self :-) 17:14
17:19 virtualsue left 17:21 anaeem1 left 17:22 sqirrel__ joined 17:24 anaeem1 joined 17:26 bwisti left
timotimo lizmat: oh damn, i forgot about the weekly half-way throuh the day :S 17:28
17:33 ajr_ left 17:34 ajr_ joined, ajr_ left
jnthn brb, asia :) & 17:35
TimToady o_O
lizmat safe travels, jnthn! 17:37
17:37 ajr_ joined
TimToady "redeye", so descrbing, much English 17:38
nwc10 , LTA 17:39
or at least, less than enjoyable
TimToady
.oO(Longest Travel Matching)
17:40 jfredett joined
timotimo x= and X= should not accidentally be confused %) 17:40
Xx= on the other hand ... totally legit? :)
TimToady you could remove your shift keys
timotimo longest travel marching?
lizmat timotimo: I guess TimToady's LTM fixes are also mentionable :-) 17:41
TimToady well, PEG rules, really, doesn't actually change LTM, only the tiebraker when LTM doesn't say 17:42
*break
1st rule of LTM club, nobody talks about LTM club. 17:46
actually, I suppose PEG grammars really are a kind of fight club for rules 17:47
17:51 sqirrel_ joined
TimToady masak: on the atom-for-atom cloning, it is fairly certain that both of you are clones, since we don't know how to read out atoms non-destructively 17:51
s/both/all/ by induction 17:52
17:53 Sqirrel left 17:55 sqirrel__ left 18:00 vendethiel joined 18:01 rurban left 18:03 dakkar left 18:07 ajr_ left 18:08 sqirrel_ left 18:09 guru joined, guru left 18:14 guru joined, guru left 18:15 guru joined
lizmat post NPW meeting shutting down& 18:15
18:15 lizmat left, guru is now known as Guest59509 18:18 treehug88 left 18:19 Guest59509 left, treehug88 joined
smls m: say "foo".^mro>>.^methods.uniq.sort(*.name) 18:20
camelia rakudo-moar 48edaa: OUTPUT«ACCEPTS Bool Capture DUMP FLATTENABLE_HASH FLATTENABLE_LIST Numeric Parcel STORE Str WHICH at_pos elems flat fmt gist item list lol new of perl reverse rotate␤»
18:20 raiph joined
smls ^^ is there an easier way to list all methods available for an object? 18:20
TimToady what is this .uniq thing? I thought that was deprecated... 18:21
18:21 ajr_ joined, pecastro left
TimToady m: say "foo".^methods(:all) 18:22
camelia rakudo-moar 48edaa: OUTPUT«WHY BUILD Int Num chomp chop substr pred succ match ords samecase samespace trim-leading trim-trailing trim encode wordcase trans indent codes path unival univals WHICH Bool Str Stringy DUMP ACCEPTS Numeric gist perl comb subst lines split words abs conj s…»
TimToady m: say "foo".^methods
camelia rakudo-moar 48edaa: OUTPUT«WHY BUILD Int Num chomp chop substr pred succ match ords samecase samespace trim-leading trim-trailing trim encode wordcase trans indent codes path unival univals WHICH Bool Str Stringy DUMP ACCEPTS Numeric gist perl comb subst lines split words␤»
smls thanks 18:23
TimToady note the default leaves out Cool
the assumption is that most people are only interested in the methods defined associated with the user-visible behavior, but not in the boilerplate conversion and object management methods 18:26
so syntax
18:28 adu left 18:35 pdcawley left, spider-mario joined 18:36 mj41 joined, smls left
raiph lizmat++ # p6 for neos 18:36
lizmat: (typo at end: "learnxinyminutes/docs/perl6" is missing .com)
18:39 ab5tract joined 18:41 smls joined 18:48 netstar joined
netstar rakudo: say 4 18:49
camelia rakudo-{parrot,moar} 48edaa: OUTPUT«4␤» 18:50
18:50 denis_boyun_ joined
netstar rakudo-parrot: say 4 18:50
camelia rakudo-parrot 48edaa: OUTPUT«4␤»
netstar rakudo-moar: say 4
camelia rakudo-moar 48edaa: OUTPUT«4␤»
netstar healthy
18:50 ajr_ left 18:51 ajr_ joined 18:55 Mouq joined 18:56 tinyblak_ left 18:57 tinyblak joined
netstar is there online some discussion about bitwise operator changes??? 18:57
Rather, the reason behind them.
18:58 tinyblak_ joined, firefish5000 joined 19:01 ajr_ left, tinyblak_ left, gfldex joined
TimToady we wanted & and | for more important things, linguistically speaking 19:01
19:01 guru joined
TimToady and they are badly overloaded in P5 depending on string vs numeric history 19:01
19:01 tinyblak_ joined
TimToady so we disambiguated them 19:01
vendethiel I can't even remember the last time I did bitwise thingies
19:01 guru is now known as Guest40181
netstar Thank you 19:02
TimToady and because they are rarer in Perl than in C, we didn't think the longer huffman coding was a problem
19:02 tinyblak left, FROGGS joined
TimToady --> NorCal & 19:02
ab5tract TimToady: happy trails! 19:03
19:03 espadrine_ left
FROGGS o/ 19:03
firefish5000 m: class tt { has %.a; submethod BUILD(:$def) { my %a is default(3); %!a := %a; } }; my tt $a .= new(:def(5)); say $a.a.default; 19:05
camelia rakudo-moar 48edaa: OUTPUT«3␤»
firefish5000 m: class tt { has %.a; submethod BUILD(:$def) { my %a is default($def); %!a := %a; } }; my tt $a .= new(:def(5)); say $a.a.default;
camelia rakudo-moar 48edaa: OUTPUT«===SORRY!=== Error while compiling /tmp/o1TZ6vYy6V␤Can't use unknown trait 'is default' in a variable declaration.␤at /tmp/o1TZ6vYy6V:1␤------> od BUILD(:$def) { my %a is default($def)⏏; %!a := %a; } }; my tt $a .= …»
firefish5000 Can anyone explain this error to me? why would 'is default' be an unknown trait just because its value is variable? 19:07
19:08 Guest40181 is now known as ajr_, ajr_ left 19:09 n0use joined 19:10 Sqirrel joined, smls left
moritz firefish5000: traits are applied at compile time; at compile time, the value of the parameter isn't known 19:14
19:14 tinyblak joined
moritz firefish5000: though the error message isn't awesome 19:14
nwc10 cue the masakbot?
19:14 Mso150 joined 19:17 tinyblak_ left
Ulti m: my %a = EVAL("my %a is default(42);"); say %a.^name; say %a.default; my $a = EVAL("my %a is default(42);"); say $a.^name; say $a.default; 19:26
camelia rakudo-moar 48edaa: OUTPUT«Hash␤(Any)␤Hash␤42␤»
Ulti ^ isnt that a bit odd?
firefish5000 motitz, Thanks. That explains it well. (Hadn't tried variable defaults outside classes. All recognized as Mu or Any.) Build method recognizes is default to the normal extent. (so only has is different?) 19:27
Ulti firefish5000 you can use the second EVAL to get what you wanted /kind of/ 19:29
19:30 daxim left 19:31 khisanth_ joined, Khisanth left, khisanth_ is now known as Guest38330 19:34 tinyblak left 19:35 tinyblak joined 19:37 Mouq left
vendethiel motitz :o) 19:38
moritz vendethiel: I'm used to various misspellings of my name :-) 19:39
vendethiel sorry, noritz
firefish5000 Util: Im not quite sure why, but that did the trick. Works great in Build assighnment to hash, must assighn to scalar in 'has' statement. Thanks. 19:40
Ulti is there a reason why the default constructor accepts anything without complaint? 19:41
19:41 Mouq joined
Ulti feels like a time bomb waiting for a change to a class the programmer already expects but without it being implemented and probably getting it wrong 19:42
vendethiel Ulti: every method does that
and it's been discussed a lot already, I think
Ulti right but you could make the constructor not do it
as in it could check
m: my %stuff = Hash.new(default => 42); say %stuff.default 19:45
camelia rakudo-moar 48edaa: OUTPUT«(Any)␤»
Ulti got me excited until I saw it did nothing
and that EVAL is actually the only way to get a hash with a default value at runtime? 19:46
19:54 espadrine_ joined 19:56 ptc_p6 left, anaeem1 left 19:57 anaeem1 joined, cognominal joined 19:58 daxim joined, anaeem1 left, anaeem1 joined 20:02 anaeem1 left 20:05 ClarusCogitatio joined 20:07 prevost left 20:09 ptc_p6 joined
firefish5000 In a class, are the subroutines/methods.. setup in order (as of right now, in moar)? I have BUILD seting up a hash to a sub defined in the class. it works if the sub is defined above BUILD, but not below. (the best place would is above the class? or is it okay for BUILD to refer to class routines?) 20:10
20:13 bjz left, bjz joined
firefish5000 m: class t { has %.h; sub cc($p){ return "got a $p";}; submethod BUILD() { my %b is default(&cc); %!h := %b; } }; my t $a .= new; say $a.h.default; say $a.h<c>(45); 20:14
camelia rakudo-moar 48edaa: OUTPUT«sub cc (Any $p) { #`(Sub|99547056) ... }␤got a 45␤»
firefish5000 but with the sub defined after BUILD 20:15
20:15 denis_boyun_ left
firefish5000 m: class t { has %.h; submethod BUILD() { my %b is default(&cc); %!h := %b; }; sub cc($p){ return "got a $p";}; }; my t $a .= new; say $a.h.default; say $a.h<c>(45); 20:15
camelia rakudo-moar 48edaa: OUTPUT«Nil␤Nil␤»
moritz again, the 'is default' runs at time compile time 20:16
that is, before the sub is even parsed
firefish5000 my question is morso if the first example is a bad & unreliable way to do what I want. (just redefined the question in my head) 20:19
moritz I don't see what's bad about it 20:20
20:21 darutoko left
firefish5000 Well, being able to call a routine in a class prior to it being fully built seems ify to me, the fact that I cannot call routines defined after build shows that BUILD is treated specially (since normal routines can see ones defined after themselves in perl) so I fear BUILD may, in the future, be processed before any routine in a class regardless of position. 20:25
moritz BUILD is not treated specially 20:27
20:27 dalek left
moritz it's the 'is default' that happens at compile time 20:27
20:27 dalek joined, ChanServ sets mode: +v dalek 20:28 jepeway left
firefish5000 ohh... I probably should have paid more attention to that part.... so during compile time, the routines above would have already been defined, while those below wouldnt be... thats sincable. (I apologize for making you explain that 3 times) 20:29
20:30 gtodd left, telex left, gtodd joined 20:32 telex joined
FROGGS time perl6-j -e 'say 42' 20:33
42
real0m8.530s
user0m18.729s
and I was under the impression that the oracle jdk is faster than the openjdk -.-
that's oracle jdk 8u25, and before I had openjdk 7u40 or so, and it was about 20-25% faster 20:34
7u65*
ab5tract FROGGS: is it possible we could set up something like nailgun with rakudo? 20:35
FROGGS ab5tract: what's that?
ab5tract it preloads the JVM, so you don't pay the startup cost every time 20:36
FROGGS ab5tract: we have that in rakudo, it is called evalserver
it is used to run the spectests for example
ab5tract www.martiansoftware.com/nailgun/
ah, ok
FROGGS it still does not feel like a nailgun, but anyway :o)
ab5tract hehe 20:37
does perl6-j -e automatically point to the evalserver, if the evalserver is runnin?
[Coke] no
the evalserver is used automatially for "make spectest". 20:38
FROGGS correct, we don't install the evalserver for example
ab5tract with an easy way to set that up, it could be presented as a way to speed up developing with perl6-j
FROGGS true 20:39
and it could heat your room if you have enough cores :o)
ab5tract if one is doing any kind of debugging on the jvm, those startup times start to add up 20:40
[Coke] my laptop hits 100ºC when it's running the java spectests.
FROGGS [Coke]: mine did that too until I cleaned it, then the temp went down by 30°C
firefish5000 m: my Pod::Block $pb .= new; say $pb.^methods; say $pb.content; ## Should this not list contents? 20:41
camelia rakudo-moar 48edaa: OUTPUT«BUILD content gist <anon> <anon>␤␤Saw 1 call to deprecated code during execution.␤================================================================================␤Method content (from Pod::Block) called at:␤ /tmp/ylzug6borF, line 1␤Deprecated …»
FROGGS firefish5000: what content?
20:41 kaare_ left
moritz FROGGS: it does. It's empty. 20:43
firefish5000 content is depriciated in favor of content<s> . and I suppose Nil? Any?
[Coke] moritz++
moritz m: say Pod::Block.new.contents.perl
camelia rakudo-moar 48edaa: OUTPUT«Array.new()␤»
moritz empty array 20:44
[Coke] You can see it in your output, even, there's an extra newline before the "Saw 1"…
firefish5000 Im wondering why contents isnt in the ^meethods list 20:45
FROGGS m: say Pod::Block.^mro
camelia rakudo-moar 48edaa: OUTPUT«(Pod::Block) (Any) (Mu)␤»
sergot m: say 20:46
camelia rakudo-moar 48edaa: OUTPUT«===SORRY!=== Error while compiling /tmp/dyhcaXC2sS␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/dyhcaXC2sS:1␤------> say⏏<EOL>␤ e…»
sergot m: say <1 2 3>[*-1];
camelia rakudo-moar 48edaa: OUTPUT«3␤»
sergot m: say (1,2,3)[*-1];
camelia rakudo-moar 48edaa: OUTPUT«3␤»
sergot m: say ()[*-1];
camelia rakudo-moar 48edaa: OUTPUT«Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]␤ in method gist at src/gen/m-CORE.setting:13756␤ in sub say at src/gen/m-CORE.setting:16487␤ in block <unit> at /tmp/3Y4PZ09Bdi:1␤␤»
sergot I use *-1 ! :) 20:47
FROGGS *g*
kill it with fire!
sergot :)))
ugexe ive run into that before too
FROGGS someone should fix it :o) 20:48
[Coke] I'm pretty sure there's a ticket for that.
sergot If I called it, then I should fix it!
FROGGS ++sergot
sergot And I'm eagor to do this. 20:49
eager
[Coke] I don't see it, though.
FROGGS bettery than lazy in this case anyway
now I'd like to read news about the GLR by pmichaud++ 20:50
[Coke] .seen pmichaud 20:51
20:51 mj41 left
yoleaux I saw pmichaud 10 Nov 2014 15:02Z in #perl6: <pmichaud> good morning, #perl6 20:51
ugexe m: my @a; say @a[@a.end]; 20:52
camelia rakudo-moar 48edaa: OUTPUT«Unsupported use of [-1] subscript to access from end of Array; in Perl 6 please use [*-1]␤ in method gist at src/gen/m-CORE.setting:13756␤ in sub say at src/gen/m-CORE.setting:16487␤ in block <unit> at /tmp/kjJyT_NI8F:1␤␤»
20:53 rindolf left
[Coke] r: say "abcde" ~~ / (a | b | bc | cde)+»/ 20:53
camelia rakudo-{parrot,moar} 48edaa: OUTPUT«「abcde」␤ 0 => 「a」␤ 0 => 「bc」␤ 0 => 「b」␤ 0 => 「cde」␤␤»
[Coke] TimToady: ^^ RT #116895 20:54
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116895
Mouq .tell raydiak github.com/raydiak/Math-Symbolic/issues/1 20:56
yoleaux Mouq: I'll pass your message to raydiak.
[Coke] m: my $x = 1/ 0; $x.gist
camelia rakudo-moar 48edaa: OUTPUT«Type check failed for return value; expected 'Int' but got 'Failure'␤ in any return_error at src/vm/moar/Perl6/Ops.nqp:649␤ in method floor at src/gen/m-CORE.setting:11234␤ in method Str at src/gen/m-CORE.setting:11255␤ in method gist at src/ge…»
sergot anyway, how the error message should look like? 20:57
[Coke] rt.perl.org/Ticket/Display.html?id=112492 - do we support building with C++?
sergot I mean on: ()[*-1] 20:58
Mouq .tell raydiak (Found because of gist.github.com/Mouq/f36a4ccf9547947eec8e btw :)
yoleaux Mouq: I'll pass your message to raydiak.
[Coke] (I'm not a huge fan of build warning tickets in the first place)
jdv79 it makes sense that a parser built using p6 grammars has to be slower than one in p5 using a hybrid regex/handrolled that's been optimized heavily? 20:59
that's not a real question. 21:00
is it in the realm of possibility that could reverse after the upcoming p6 work? 21:01
bartolin wrt ()[*-1] there is RT #111924
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=111924
bartolin and: hi, #perl6
sergot bartolin++ thanks 21:02
21:03 denis_boyun_ joined, anaeem1 joined 21:04 treehug8_ joined 21:05 Mso150 left 21:06 treehug88 left, Guest38330 left, Khisanth joined 21:07 bjz left
Mouq jdv79: I think that it makes sense, but I think development turnaround with the kind of framework that p6 grammars provide. It could probably be faster with hand-optimized assembly, but is that really what you want to be writing in and playing with after its already been optimized? 21:08
21:08 anaeem1 left
bartolin FROGGS: there are spectest failures in S11-modules/export.t for rakudo.jvm. it looks like the failures started with commit github.com/rakudo/rakudo/commit/393acf095d. 21:10
FROGGS bartolin: ohh 21:11
bartolin FROGGS: Though I'm not sure the tests work as intended on the other backends
21:11 spider-mario left
jdv79 For this particular case its almost 2 orders of mag slower so its not insignificant. 300ns in p5 vs 25ms in p6. 21:11
FROGGS bartolin: I was inspecting these issues yesterday and had a gut feeling about my commit from back then
bartolin m: sub exp_no_parens is export { "r_exp_no_parens" }; say &exp_no_parens
camelia rakudo-moar 48edaa: OUTPUT«sub exp_no_parens () { #`(Sub|76375248) ... }␤»
jdv79 i need to profile the p6 grammar to see if there's some fat there
FROGGS perl6-j -e 'sub exp_no_parens is export { "r_exp_no_parens" }; say &exp_no_parens; say &EXPORT::ALL::exp_no_parens; say &exp_no_parens;' 21:12
sub exp_no_parens () { #`(Sub|1937383200) ... }
sub exp_no_parens () { #`(Sub|1302328437) ... }
sub exp_no_parens () { #`(Sub|1937383200) ... }
bartolin: ^^
bartolin FROGGS: the following is after undoing your commit: 21:13
./perl6-j -e 'sub exp_no_parens is export { "r_exp_no_parens" }; say &exp_no_parens; say &EXPORT::ALL::exp_no_parens'
sub exp_no_parens () { #`(Sub|2118721206) ... }
FROGGS bartolin: reverting my patch is also not solution, because that will break NativeCall and many modules that depend on it
bartolin sub exp_no_parens () { #`(Sub|2118721206) ... }
FROGGS so we need a third option :o)
bartolin FROGGS: ;-)
FROGGS: But what does this test mean: "ok( &exp_no_parens === &EXPORT::ALL::exp_no_parens, 'exp_no_parens -- values agree' );"? 21:15
FROGGS: why does it say "values agree"? is "sub exp_no_parens () { #`(Sub|1937383200) ... }" meant as "value"? 21:16
FROGGS the subroutine object is meant as a value here I guess, yes 21:17
I wondered about that too
bartolin FROGGS: Aha. I (naively) expected 'r_exp_no_parens' to be the "value" ;-)
FROGGS I dunno, maybe the test is wrong after all 21:18
21:18 jluis_ joined
bartolin m: sub exp_no_parens is export { "r_exp_no_parens" }; say &exp_no_parens; say &exp_no_parens(); 21:18
camelia rakudo-moar 48edaa: OUTPUT«sub exp_no_parens () { #`(Sub|75933088) ... }␤r_exp_no_parens␤»
FROGGS but... it perhaps gives some insights about my weird patch
21:18 Mouq left 21:30 ClarusCogitatio left, pecastro joined 21:32 ClarusCogitatio joined 21:46 ptc_p6 left, virtualsue joined 21:47 dg left 21:58 ClarusCogitatio left 21:59 lizmat joined 22:00 dg joined, ClarusCogitatio joined, [Sno] left 22:02 [Sno] joined
dalek ast: edf9db8 | usev6++ | S12-subset/subtypes.t:
Fudge (skip) failing test for rakudo.parrot (RT #123234)
22:03
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123234
jdv79 oh man, i tightened up this grammar and now its slower:)
can't win
22:04 daxim left
FROGGS *g* 22:04
jdv79 at least its easier to read now
tony-o m: my @a; my $b = @a[*-1];
camelia rakudo-moar 48edaa: OUTPUT«Unhandled exception: Unsupported use of [-1] subscript to access from end of Array; in Perl 6 please use [*-1]␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13…»
tony-o is that the right error msg? 22:05
FROGGS no
because it proposes what you already did
PerlJam Wasn't there a ticket about that already?
FROGGS yes
was discussed just an hour ago 22:06
tony-o ah, ok
lizmat TimToady: re irclog.perlgeek.de/perl6/2014-11-17#i_9675682 , the message won't appear until after the next release
22:07 woolfy joined 22:08 Alula left
woolfy Wanna mention that today at the Nordic Perl Workshop in Helsinki, lizmat gave a Perl 6 tutorial of 1 hour to 15 people who (mostly) never did any Perl 6. Perl 6 for Neophytes. act.yapc.eu/npw2014/talk/5905 22:10
22:10 amkrankruleuen left, amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined
woolfy Almost everybody was hanging on her lips! 22:10
jdv79 whatsup with nopaste.info gobbling backslashes?
lizmat raiph: re irclog.perlgeek.de/perl6/2014-11-17#i_9675759 thanks! fixed and uploaded again :-)
PerlJam
.oO( lizmat's lips must have really hurt after that! ;)
22:12
woolfy moritz++ because of "Re: The next 100 Years"
lizmat they actually did, but that was more from talking for an hour in a very dry atmosphere :-)
PerlJam lizmat++ sounds like NPW was very productive though :) 22:13
jdv79 nopaste.info/3f465c6aa2.html
is that as good as it gets right now?
lizmat PerlJam: well, at least it's now known we can deploy rakudo on heroku
PerlJam jdv79: I would have used % in the selector rule. 22:14
22:14 Alula joined
PerlJam jdv79: and now that I glance at the code again, in t he selector_group rule as well: rule selector_group { '[' ~ ']' [ <selector>* % ',' ] 22:20
}
22:20 raiph left
PerlJam jdv79: and ... rule selector { [ <selector_path_part> | <selector_group> ]* % '.' } 22:21
PerlJam afk &
22:24 tinyblak left 22:26 Alina-malina left
lizmat m: my @a; @a[@a.end] # maybe .end should return Nil on an empty list ? 22:26
camelia rakudo-moar 48edaa: OUTPUT«Unhandled exception: Unsupported use of [-1] subscript to access from end of Array; in Perl 6 please use [*-1]␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13…»
lizmat m: my @a; @a[Nil] # so it wouldn't be an error, but a warning? 22:27
camelia rakudo-moar 48edaa: OUTPUT«use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/zWW1dKd6BM:1␤␤»
22:28 FROGGS left
cognominal what I need to do to feed data to testers.perl6.org? 22:33
22:37 grondilu left, Alina-malina joined 22:38 onur left 22:41 raiph joined 22:43 kurahaupo left, kurahaupo1 is now known as kurahaupo
itz_ was the NPW videoed? 22:47
22:50 ClarusCogitatio left 22:53 Alina-malina left 22:54 gfldex left
lizmat itz_: most of the presentations were videod mostly 22:54
22:54 ClarusCogitatio joined
jdv79 PerlJam: thanks! i didn't know about that. 22:55
lizmat by one of the organisers using a DSLR... no idea if / when that will come online and where
itz_: you might want to ask on #npw on irc.perl.org
22:55 Alina-malina joined 22:58 rurban joined 23:00 raiph left
ab5tract is panda working for others? 23:03
my projects.json file contains an HTML doc remarking on a 404 23:04
23:04 jluis_ left
tadzik oh? 23:05
do 'panda update'
feather.perl6.nl:3000/projects.json works fine
23:05 ClarusCogitatio left 23:06 pecastro left
ab5tract ah, proxy settings 23:07
23:10 ClarusCogitatio joined
tony-o is there a quick way in p6 regex to say match a ';' that isn't surrounded by ' or "? or is it the usual old tricks 23:14
23:15 lue left 23:16 lue joined
lizmat good night, #perl6! 23:18
23:21 treehug8_ left 23:26 Alina-malina left
cognominal testers.perl6.org/ does not answer anymore :( 23:28
23:28 Alina-malina joined 23:31 Ugator left 23:39 virtualsue left 23:46 Mouq joined 23:50 nebuchadnezzar left 23:54 nebuchadnezzar joined 23:55 chenryn joined
Mouq tony-o: \; 23:55
m: say ";" ~~ / \; /
camelia rakudo-moar 48edaa: OUTPUT«「;」␤␤»
23:57 raiph joined