»ö« 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«1234567 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/k1MDHftC1aVariable $!attr used where no 'self' is availableat /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/o1TZ6vYy6VCan'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)Hash42» | ||
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«NilNil» | ||
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 1Deprecated …» | ||
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/dyhcaXC2sSUnsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentat /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
|