»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by diakopter on 6 April 2013. |
|||
masak | 'night, #perl6 | 00:09 | |
jnthn | sleep & | 00:18 | |
00:34
dayangkun joined
00:35
xinming_ joined,
perigrin left
00:37
perigrin joined
00:38
xinming left
00:49
mikemol left
00:54
PacoAir left
01:01
gcole left
01:05
anuby joined,
hypolin joined
01:07
perigrin left,
perigrin joined
01:20
FROGGS_ joined
01:24
FROGGS left
01:30
mikemol joined
01:55
djanatyn joined
02:07
frdmn joined
02:14
lichtkind__ joined
02:16
tgt left
02:17
lichtkind_ left
02:28
lustlife joined
02:39
Tene joined,
Tene left,
Tene joined
02:41
LoRe left,
LoRe joined
02:51
orafu left,
orafu joined
02:54
preflex left
02:55
preflex_ joined,
preflex_ is now known as preflex
02:57
dmol joined,
dmol1 left
03:04
hrbkid joined
03:15
berekuk left
03:38
adu_ joined,
adu_ is now known as adu
03:47
dmol left
04:12
araujo left
04:25
adu left
|
|||
lue | S02/Names/Dynamic Lookup: "If the variable is not visible in the caller, it returns failure." should that failure be C<Failure> (ie, does the sentence talk about returning a Failure object) ? | 04:34 | |
diakopter | lue: pretty sure yes | 04:37 | |
lue clarifies | |||
dalek | ecs: 5a85c48 | lue++ | S02-bits.pod: [S02] Minor clarification Make it clear that a specific type (C<Failure>) is returned instead of something representing a general concept (failure). |
04:46 | |
FROGGS_ | .tell pmurias: 'use v5' itself is not a problem, but after doing it, the Perl6::Grammar.statement rule is still the active one, _that_ is a problem because it means a slang cant have its own statement rule | 05:17 | |
yoleaux | FROGGS_: I'll pass your message to pmurias:. | ||
FROGGS_ | .tell pmurias 'use v5' itself is not a problem, but after doing it, the Perl6::Grammar.statement rule is still the active one, _that_ is a problem because it means a slang cant have its own statement rule | 05:44 | |
yoleaux | FROGGS_: I'll pass your message to pmurias. | ||
05:45
FROGGS_ is now known as FROGGS
05:46
ikrs joined
05:51
kaare_ joined
06:00
rindolf joined
06:01
SamuraiJack joined
06:17
ikrs left
|
|||
diakopter | you're a slang | 06:25 | |
r: slang { } | |||
p6eval | rakudo e489af: OUTPUT«===SORRY!===Method 'new_type' not found for invocant of class 'NQPMu'» | ||
diakopter | wat. | ||
please don't do this to me rakudo... | |||
the more you break, the more you tempt me to fuzz you all night instead of what I should be working on | 06:26 | ||
moritz | slangs are simply NYI | ||
06:29
SamuraiJack left
|
|||
diakopter | ok. still, a problem that was unknown to me. so just as tempting | 06:29 | |
moritz | it's a package declarator that doesn't have a meta object associated with it | ||
so %HOW<slang> is empty, meaning it falls back to NQPMu | |||
diakopter | ok. so it's NYI. still a problem that was unknown to me... so just as tempting :P | 06:30 | |
rnp: say «««x»»» | 06:41 | ||
p6eval | rakudo e489af: OUTPUT««« x »»» | ||
..niecza v24-35-g5c06e28, pugs: OUTPUT«««x»»» | |||
diakopter | rnp: say ««x»«x»» | 06:42 | |
p6eval | rakudo e489af, niecza v24-35-g5c06e28, pugs: OUTPUT««x»«x»» | ||
diakopter | so why does the last one add spaces | 06:43 | |
moritz | r: say «««x»»».perl | ||
p6eval | rakudo e489af: OUTPUT«("«", ("«", "x", "»").list, "»")» | ||
06:43
SamuraiJack joined
|
|||
FROGGS | morning \o/ | 06:44 | |
diakopter | \o/ <- yawn | ||
FROGGS | I'm awake for two hours now and just happy that here is somebody :o) | 06:45 | |
06:48
SamuraiJack left,
SamuraiJack joined
|
|||
diakopter | r: say ««««x»»»» | 06:54 | |
p6eval | rakudo e489af: OUTPUT««« « x » »»» | ||
diakopter | r: say «««««x»»»»» | ||
p6eval | rakudo e489af: OUTPUT««« « « x » » »»» | ||
diakopter | r: say «««««x»»»»».perl | ||
p6eval | rakudo e489af: OUTPUT«("«", ("«", "«", "«", "x", "»", "»", "»").list, "»")» | ||
FROGGS | std: my $x = 0; until $x++ < 4 { } continue { } | ||
p6eval | std 86b102f: OUTPUT«===SORRY!===Strange text after block (missing comma, semicolon, comment marker?) at /tmp/JYm26Qy9Zu line 1:------> my $x = 0; until $x++ < 4 { }⏏ continue { } expecting horizontal whitespaceParse failedFAILED 00:00 44m»… | ||
FROGGS | std: use v5; my $x = 0; until ($x++ < 4) { } continue { } | 06:55 | |
p6eval | std 86b102f: OUTPUT«===SORRY!===Confused at /tmp/ZzJH5hRuja line 1:------> use v5; my $x = 0; until ($x++ < 4) { }⏏ continue { }Parse failedFAILED 00:01 53m» | ||
FROGGS | std: use v5; my $x = 0; until ($x++ < 4) { }; continue { } | ||
p6eval | std 86b102f: OUTPUT«===SORRY!===Confused at /tmp/pz6Za_JhJg line 1:------> $x = 0; until ($x++ < 4) { }; continue ⏏{ } expecting any of: p5infix statement modifierParse failedFAILED 00:01 53m» | ||
diakopter | r: say «««»»».DUMP | ||
p6eval | rakudo e489af: OUTPUT«No such method 'package' for invocant of type 'NQPAttribute' in block at src/gen/CORE.setting:939 in method reify at src/gen/CORE.setting:5723 in method reify at src/gen/CORE.setting:5618 in method gimme at src/gen/CORE.setting:6039 in method eager at sr… | 06:56 | |
diakopter | .tell japhb dunno: r: say «««»»».DUMP | ||
yoleaux | diakopter: I'll pass your message to japhb. | ||
FROGGS | feels like I've mostly used 10% of Perl 5 when looking at until/continue | 06:59 | |
and other stuff I learn these days | |||
moritz | you shouldn't use all Perl 5 features :-) | 07:03 | |
FROGGS | moritz: ya, for most things it is like: "ohh good that I've never seen it before" | 07:06 | |
07:12
dayangkun left
07:15
Chillance left
|
|||
dalek | : 5f0eeb8 | (Tobias Leich)++ | TODO_compound_statements.md: added TODO_compound_statements.md |
07:23 | |
: 9102362 | (Tobias Leich)++ | TODO_compound_statements.md: I dont like md |
07:24 | ||
07:25
dayangkun joined
|
|||
labster | hello o/ | 07:26 | |
FROGGS | hi labster | 07:27 | |
timotimo | hello | ||
labster | there's unless -> elsif -> else in P5? That's ... different. | 07:28 | |
FROGGS | it is | 07:29 | |
I've read some "rules" like ten years ago that you never should use unless+else, and do it as if+else instead because of readability | |||
doing unless+elsif+else is rather insane | 07:30 | ||
doing an unless with many ||'s and &&'s is not that good too, adding elsif would be ... well ... | 07:31 | ||
labster | it's not so much "used only 10% of P5" as "only gone 10% down the P5 rabbit hole" | 07:32 | |
FROGGS | right | 07:33 | |
about File::Spec | |||
I really do like the changes! | 07:34 | ||
the only thing I can argue with are the typos here (first sentence) github.com/labster/p6-File-Spec#case_tolerant and the additional whitespace before VMS right before EOF | 07:35 | ||
labster++ | |||
now somebody should make it a core module :o) | |||
japhb | .tell diakopter same problem I'm dealing with re: DUMP(\()) -- it works its way down to a Hash, and then recurses infinitely. I'm betting a Parrot or NQP Hash is getting wrapped in a Perl 6 Hash somehow, and it when it tries to examine the Perl 6 Hash's $!storage and $!descriptor ... 10 GOTO 10. | 07:36 | |
yoleaux | japhb: I'll pass your message to diakopter. | ||
06:56Z <diakopter> japhb: dunno: r: say «««»»».DUMP | |||
labster | Summary for everyone else: I wanted to add a new function set to File::Spec that does almost what splitpath/catpath does. We leave the original set as is -- it keeps all of the characters in the path. And then add a new set which does it with dirname/basename syntax -- which loses trailing slashes, sets dirname and basename to '/' for root, etc. And does it portably. | 07:37 | |
The only thing I'm not sure about is the names. currently the splitting one is 'path-components', and the joining one is 'join-path'. | 07:38 | ||
FROGGS: Yeah, it's going to have to be a core module if IO::Path will work right. Not sure how to get started on that. | 07:39 | ||
FROGGS | labster: what about 'split' and 'join'? | 07:41 | |
"The New The Better The Shorter"(tm) | |||
labster | join had a previous meaning. I think it was the same as 'catfile'. Which is not quite 'catdir' and definitely not 'catpath'. Not that I'm opposed to changing the meaning. | 07:43 | |
diakopter | r: say DUMP m!1! | ||
yoleaux | 07:36Z <japhb> diakopter: same problem I'm dealing with re: DUMP(\()) -- it works its way down to a Hash, and then recurses infinitely. I'm betting a Parrot or NQP Hash is getting wrapped in a Perl 6 Hash somehow, and it when it tries to examine the Perl 6 Hash's $!storage and $!descriptor ... 10 GOTO 10. | ||
p6eval | rakudo e489af: OUTPUT«No such method 'match' for invocant of type 'Any' in block at /tmp/EedEdOclqf:1» | ||
labster | Also, if we're going to put this in core, should I change all of the underscores to hyphens in the method names? That's what the cool kids are doing these days. | 07:46 | |
FROGGS | labster: if that is the core-style, thes yes :o) | 07:50 | |
diakopter | r: say &say.DUMP | 07:53 | |
p6eval | rakudo e489af: OUTPUT«Sub<1>( :$!dispatchees(Mu), :$!dispatcher_cache(Mu), :$!dispatcher(Mu), :$!rw(0), :$!inline_info(Mu), :$!yada(0), :$!package(GLOBAL<5>(...)), :$!onlystar(0), :$!dispatch_order(Mu), :$!dispatch_cache(Mu), :$!state_vars(Mu)… | ||
07:53
araujo joined
08:01
tgt joined
|
|||
diakopter | r: say .^methods.DUMP.chars | 08:02 | |
p6eval | rakudo e489af: OUTPUT«28118» | ||
08:04
jac50 joined,
hrbkid left
|
|||
dalek | : c1b6b95 | (Tobias Leich)++ | README.md: added do-s and don't-s |
08:16 | |
diakopter | FROGGS: I'm sorry, goto is a necessity for me. ;) | 08:17 | |
08:17
BigBear joined
|
|||
FROGGS | hmmm, well then, plans can change :o) | 08:17 | |
diakopter | do you want an evalbot target for your branch? | 08:18 | |
FROGGS | YES YES YES!!! | ||
08:18
tgt left
|
|||
FROGGS | err, but wait | 08:19 | |
we need to patch rakudo for that | |||
diakopter | hm, I probably shouldn't have asked that if I wasn't willing (well, able) to make it happen | ||
right, it needs a separate build | |||
FROGGS | this patch: gist.github.com/FROGGS/5fe2eb96e2515bf02a14 | ||
and, cwd must be v5's repo rootdir, PERL6LIB=blib | 08:20 | ||
"[...] willing (well, able) to make it happen" - do you mean C<goto> or the evalbot thingy ? | 08:21 | ||
tadzik | blib/lib, no? | 08:25 | |
FROGGS | there is no blib/lib in this repo | 08:26 | |
08:28
James_ joined,
James_ is now known as Guest398
08:30
berekuk joined
08:31
berekuk left
08:32
jac50 left
08:38
tgt joined
|
|||
diakopter | FROGGS: both ;) | 08:47 | |
FROGGS | \o/ | 08:50 | |
08:50
cognominal joined
|
|||
diakopter | .ask lizmat PM me when you can; thanks | 08:51 | |
yoleaux | diakopter: I'll pass your message to lizmat. | ||
08:56
odoacre joined
09:08
domidumont joined
|
|||
dalek | : b9c89f6 | (Tobias Leich)++ | / (3 files): support unless+elsif+else |
09:09 | |
: 00e985b | (Tobias Leich)++ | t/spectest.data: add some comments what is missing |
|||
FROGGS | r: for 1..10 { next if /3/; say $_ } | 09:13 | |
p6eval | rakudo e489af: OUTPUT«1245678910» | ||
FROGGS | shouldn't be too hard to support labels... | ||
moritz | then please implement them for regular rakudo too :-) | 09:17 | |
FROGGS | moritz: that's is what I'm doing first :o) | 09:18 | |
still searching where 'next' is implemented | |||
ahh, found it | |||
src/NQP/Actions.pm:1563: method term:sym<next>($/) { make QAST::Op.new( :op('control'), :name('next') ) } | 09:19 | ||
moritz | that's NQP's next | ||
rakudo's next is in src/core/control.pm | 09:20 | ||
FROGGS | ohh, k, thanks | ||
09:22
domidumont left
09:23
domidumont joined
09:26
BigBear left
09:28
James_ joined,
James_ is now known as Guest32128
09:29
spider-mario joined
09:32
Guest398 left
|
|||
masak | forenoon, #perl6 | 09:43 | |
FROGGS | hi masak | 09:45 | |
09:46
cognominal left
|
|||
moritz | \o masak | 09:48 | |
how's the t2 review proceeding? | |||
09:48
cognominal joined
|
|||
FROGGS | <FROGGS> "shouldn't be too hard to support labels..." <---- not true | 09:49 | |
timotimo | :( | 09:50 | |
were you going to build labels for perl6 first and use that in perl5-support code? | |||
FROGGS | timotimo: right, since Perl 6 is supposed to have labels too | 09:51 | |
but it is not that easy because 'next' adds a pirop 'die 0 .CONTROL_LOOP_NEXT' | |||
so I'm digging now in parrots code | |||
timotimo | mhm | ||
i wished i had had labels last month when i went to implement brownian trees | 09:52 | ||
i should finish that up and put it on rosettacode i think | |||
FROGGS | ya, do that | 09:53 | |
cool, found "ops.'push_pirop'('goto', redolabel)" within parrots code | |||
spider-mario | is rakudo 2013.02 supposed to be buildable against nqp 2013.03? | 09:59 | |
moritz | not necessarily | 10:03 | |
it can happen, but it's not supported | |||
and I have no idea if it works | |||
spider-mario | ok, thanks. :) | 10:04 | |
I just tried and it failed | |||
I was just wondering whether it was to be expected | |||
the exact error is: | 10:05 | ||
Method 'post' not found for invocant of class 'Perl6::Compiler' | |||
FROGGS | spider-mario: most times one adds a feature to nqp and rakudo, then using an older rakudo will work | ||
timotimo | yeah, the stages have been renamed somewhere along the way | ||
FROGGS | but sometimes (when refactoring something for example), things will break | ||
10:07
labster left
10:18
lizmat joined
10:28
James_ joined,
James_ is now known as Guest24752
10:32
Guest32128 left
|
|||
moritz finished reading "Harry Potter and the Natural 20" | 10:35 | ||
very amusing fanfic | |||
... if you know a bit about pen&paper role-play gaming | 10:36 | ||
10:37
anuby left
|
|||
dalek | p-jvm-prep: d489e2e | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java: Fix serialization tests. |
10:37 | |
timotimo | jnthn has tuits again \o/ | 10:38 | |
jnthn | Yes, just need to catch up with all the things folks want me to look at now ;) | 10:39 | |
timotimo | sorry =x | ||
FROGGS .oO( and things which went wrong in his absence ) | 10:44 | ||
tadzik | moritz: how is it compared to hpatmor? | 10:46 | |
moritz | tadzik: not rational at all :-) | 10:47 | |
tadzik | haha | ||
moritz | and the plot isn't quite as intricate | 10:48 | |
more on the funny side, and less on the deep side | |||
tadzik | is there an epub-y thing somewhere? | ||
10:53
t5a joined
10:54
t5a left
|
|||
timotimo | changing my brownian tree implementation to only spawn new particles on the very outside makes the result look *very* different, but also prettier | 11:09 | |
1400 seconds :| | 11:10 | ||
11:11
berekuk joined
11:28
James_ joined,
James_ is now known as Guest36146
11:32
PacoAir joined,
Guest24752 left
|
|||
dalek | p-jvm-prep: 0f21904 | jnthn++ | / (5 files): Add partial P6bigint REPR and some basic ops. This is enough to pass the first 5 of 60-bigint.t. Note that P6bigint currently is not able to embed itself into a P6opaque. |
11:42 | |
p-jvm-prep: cc05609 | jnthn++ | / (2 files): Basic bigint arithmetic operations. |
|||
colomon | \o/ | 11:48 | |
11:51
cognominal left
|
|||
dalek | p-jvm-prep: 2a293ae | jnthn++ | / (2 files): Bitwise operations on big integers. |
11:53 | |
11:58
cognominal joined
12:00
DarthGandalf left
|
|||
nwc10 | jnthn: oh, "worked" on my machine (the usual) except that you moved the goalposts again. botherit | 12:04 | |
and I have to go out | |||
12:08
berekuk left
12:13
berekuk joined
12:28
James_ joined,
James_ is now known as Guest31819
12:29
Guest31819 left
12:32
Guest36146 left
|
|||
cognominal | latest parrot or rakudo is broken on my mac: gist.github.com/cognominal/5330328 | 12:37 | |
12:39
zby_home_ joined
|
|||
cognominal | disregard, it seems I have accidentally modified some file. | 12:42 | |
nope, that's a generated file | 12:43 | ||
12:47
mikemol left
|
|||
timotimo | did you make really-really-clean twice? | 12:48 | |
12:48
mikemol joined
|
|||
cognominal | I am recompiling after having done a make realclean in rakudo/ rakudo/parrot and rakudo/nqp | 12:51 | |
timotimo | but does realclean really make it clean enough? >_< | 12:52 | |
12:52
mikemol left
|
|||
cognominal | "make test" passes. The problem seems with the Perl 6 shell. Will see if "make spectest" succeeds. | 12:59 | |
12:59
SamuraiJack left
13:00
mikemol joined
|
|||
spider-mario | timotimo: when in doubt, one can use git clean | 13:03 | |
timotimo | indeed | 13:04 | |
i had to do that once to get parrot to build | |||
13:11
SamuraiJack joined
|
|||
cognominal | running manually perl6 was running the wrong perl6. | 13:11 | |
Not sure why it is not installed (anymore?) in my /usr/local/bin where the stale Perl 6 (3 days old) were | 13:13 | ||
13:15
zby_home_ left
|
|||
spider-mario | I install mine in ~/.perl6/ | 13:15 | |
13:24
dayangkun left
13:27
berekuk left
13:44
PacoAir left
13:45
dayangkun joined,
PacoAir joined
13:47
cognominal left
13:57
cognominal joined
14:07
fhelmberger joined
14:09
gcole joined
14:10
jtpalmer left
|
|||
masak | we have no release manager for Rakudo this month. who would like the great honor of being release manager? | 14:10 | |
(FROGGS has May. I'll volunteer for June if someone signs up for April) | 14:11 | ||
er, FROGGS++ | |||
14:12
dayangkun left
14:14
cognominal__ joined,
cognominal left
14:15
jtpalmer joined
14:19
fhelmberger left
14:28
Patterner left
14:29
frdmn left,
frdmn joined,
Patterner joined
14:31
frd|afk joined
14:35
frdmn left
14:36
cognominal joined,
cognominal__ left
|
|||
gtodd | masak: I would do it except no one knows who I am and I know nothing about release management ... I'm willing to learn but preferably by watching at this point :-D | 14:55 | |
masak | that's fine. | ||
release management is really easy. | |||
but if you prefer to go one or two cycles just watching, that's OK :) | 14:56 | ||
timotimo | this syntax for regexes has been scrapped since the apocalypse, right? / @kids := [(\S+) \s+]* / | 14:59 | |
in favor of $<kids>=..., afaict? | |||
masak | yeah, I'd say so. | 15:03 | |
timotimo | but there's no way to say "i'll be matching keys and values, so please turn this into a hsah for me", short of adding a closure? | 15:05 | |
masak | sounds like something I'd be doing in an action method. | 15:08 | |
timotimo | sure | 15:09 | |
gtodd | masak: ok :-) | 15:26 | |
masak: one of the challenges in some projects is coming up with release mottos, code names, etc. I watched a lot of Monty Python and took several linguistics course so it's not like I'd be completely useless | 15:28 | ||
masak | :) | ||
gtodd heads off to subscribe to various mailing lists | 15:29 | ||
masak | in our case it's just the PerlMongers group that needs to be chosen. | ||
gtodd++ | |||
gtodd | masak: Oh and I have a book about ITIL3 out of the library that isn't due back for 12 days so ... ;-) | ||
hah I made myself laugh | |||
raiph | masak: i'm curious about your reaction to my sense that action methods remind me of phasers... | 15:30 | |
masak | raiph: they feel like the same category of thing, yes. but they are attached at runtime, and are meant to be a (replaceable) backend to the grammar. so they're a bit different too. | 15:32 | |
15:34
cognominal left
|
|||
pmichaud | note that it's possible to cut unofficial releases to get a feel for what it's like. | 15:34 | |
thanks to git clone, anyone can fork the rakudo repo and go through all of the steps needed to cut a release. | 15:35 | ||
including commits :) | |||
15:38
cognominal joined
|
|||
masak | yes. that's a really good point. | 15:41 | |
gtodd: if you do that, I volunteer to stand by to help if you get stuck. | |||
gtodd: if you succeed, I could very well sign you up for April ;) | |||
15:43
cognominal__ joined
15:44
cognominal left
|
|||
gtodd | masak: there appears to be PM in Ottawa ... with a possibly dormant website ;-) | 15:47 | |
pmichaud: good idea ... I will release it to myself a few times first ... this will allow me to find out what git is :-) | 15:49 | ||
cheers | |||
raiph | masak: thanks | ||
masak | gtodd: oh, git is conceptually easy. it's a way to snapshot your file system at significant moments. the fact that it then organizes these snapshots (yours and others) in a useful way, is really mostly a nice bonus. ;) | 15:50 | |
skids | The hard part about git is finding a good starting point for reading docs. | 15:52 | |
timotimo | try gitinit? | ||
www.atlassian.com/git/tutorial <- have not tried it yet, but it has colors | 15:53 | ||
skids | There are some OK tutorials. | ||
timotimo | tom.preston-werner.com/2009/05/19/t...rable.html - i remember liking this very much | 15:54 | |
gtodd | masak: true ... the fact that they are so easy and fast lets you get pretty fancy with zfs snapshots ... easy to see the fs as change managed dataset and - vecie versa - vcs as a way to manage a file system | ||
ok thanks | |||
skids | timotimo: the first one looks much better than anything I could find when I first took up git. | 15:57 | |
gtodd | I like the parable in that the style of presentation feels perlish | 15:59 | |
but the atlassian tutorial is thorough | 16:00 | ||
16:01
census joined,
census left
16:03
BigBear joined
|
|||
timotimo | the first step to understand git: implement your own dvcs :P | 16:06 | |
arnsholt | I quite like hg-init as well | 16:08 | |
They have a very good SVN reeducation section that helped me understand how to properly work with a DVCS | 16:09 | ||
timotimo | hg makes me mad | 16:14 | |
arnsholt | I've never actually used Mercurial | 16:15 | |
The hg-init SVN reeducation was just useful to me =) | |||
timotimo | i agree on that part | 16:18 | |
dalek | : e55045e | (Tobias Leich)++ | README.md: fix markup issue |
16:21 | |
timotimo | hg has the infuriating property of deciding for me that some things should really not be done | 16:23 | |
like changing history before pushing is a biiiig no no | |||
and one time i was told to delete my repo and clone it anew to get rid of commits that hg was intent on pushing to the remote | 16:24 | ||
apparently now i can do something with mercurial plugins to get rid of a commit and all floolowing commits, which is nice, but git has had that for ages in core :| | |||
spider-mario | I don’t like that in hg either | 16:26 | |
I also love git’s staging area | |||
FROGGS | std: use v5; { 1 } continue { 2 } | 16:27 | |
p6eval | std 86b102f: OUTPUT«===SORRY!===Confused at /tmp/bdEGbNxnWq line 1:------> use v5; { 1 }⏏ continue { 2 }Parse failedFAILED 00:01 52m» | ||
FROGGS | std: use v5; if (1) { 1 } continue { 2 } | 16:28 | |
p6eval | std 86b102f: OUTPUT«===SORRY!===Confused at /tmp/LXR8NuT4Yw line 1:------> use v5; if (1) { 1 }⏏ continue { 2 }Parse failedFAILED 00:01 52m» | ||
timotimo | what does that syntax even mean? | 16:30 | |
FROGGS | timotimo: the continue block runs right after the block before | 16:32 | |
and I believe it doesn't get executed if the first block comes to a 'redo', 'last' or 'next' | |||
but it's a bit strange IMO | 16:33 | ||
timotimo | mhm | 16:34 | |
geekosaur | I thought it did for next | 16:36 | |
in fact that's kinda the point of it | |||
FROGGS | ya, looks like | ||
(reading Perl 5's test file for that | |||
) | 16:37 | ||
so at 'last' is the only one which gets rig of it | |||
rid | |||
"it is always executed just before the conditional is about to be evaluated again" | 16:39 | ||
*the conditional of the main block | |||
that makes it clear | 16:40 | ||
timotimo | ah, that makes some sense | 16:43 | |
is there any special trick to using regcomp to get an nqp compiler and creating a class in there and then exposing that class to the outer perl6 code? can i just create a dynamic variable before running the nqp code, thenset the value inside and grab the class from that variable for instance? | 16:45 | ||
16:48
arlinius left
|
|||
FROGGS | damnit, the same trap like before... I can't add an continue-block to statement_control<while>/<until>, because it still uses these grammar tokens from Perl 6 land -.- | 16:53 | |
16:54
Chillance joined
16:55
dmol joined
|
|||
timotimo | "load_language" couldn't find a compiler module for the language 'nqp' - my mistake? | 16:56 | |
FROGGS | no idea | ||
timotimo | someone else have an old perl6 at hand? | 16:58 | |
FROGGS | no, I'm on bleeding edge :o) | ||
or better: :o( | 16:59 | ||
timotimo | nope, my older perl6 doesn't do it either | ||
oh, maybe regcomp and all that only works in nqp? | 17:00 | ||
r: my $comp := regcomp__Ps('perl6'); $comp.eval("say 'hi'"); | 17:01 | ||
p6eval | rakudo e489af: OUTPUT«===SORRY!===Undeclared routine: regcomp__Ps used at line 1» | ||
timotimo | r: my $comp := pir::regcomp__Ps('perl6'); $comp.eval("say 'hi'"); | ||
p6eval | rakudo e489af: OUTPUT«use of uninitialized value of type Mu in string contextuse of uninitialized value of type Mu in string context===SORRY!===error:imcc:syntax error, unexpected PREG, expecting '(' ('$P5005') in file '(file unknown)' line 206065058» | ||
timotimo | o_O | ||
jnthn | Think you want nqp::getcomp | 17:03 | |
timotimo | that may be the case | ||
17:05
sqirrel joined
|
|||
timotimo | when i try to nqp::getcomp perl6 it works, but not nqp (i get a null pmc back or something?) | 17:06 | |
and pir::load_language__0s('nqp') doesn't help either | |||
jnthn | I guess the NQP compiler isn't loaded since it's not needed | ||
timotimo | is there an nqp equivalent to load_language__0s just like getcomp? | 17:07 | |
jnthn | r: nqp::loadbytecode('nqp') | ||
p6eval | rakudo e489af: OUTPUT«"load_bytecode" couldn't find file 'nqp' in block at /tmp/2l7XMhvjAx:1» | ||
jnthn | r: nqp::loadbytecode('nqp.pbc') | ||
p6eval | rakudo e489af: OUTPUT«"load_bytecode" couldn't find file 'nqp.pbc' in block at /tmp/0EEyfmBHQO:1» | ||
jnthn | r: nqp::loadbytecode('NQP.pbc') | ||
p6eval | rakudo e489af: OUTPUT«"load_bytecode" couldn't find file 'NQP.pbc' in block at /tmp/QiGO3KRYP4:1» | ||
jnthn | Hm | ||
timotimo | probably would have to give the absolute path? :( | 17:08 | |
jnthn | I thought that may do it, but apparently not... | ||
17:10
tgt_ joined,
bbkr left
17:11
bbkr joined,
tgt left,
tgt_ is now known as tgt
17:19
xinming_ left
|
|||
dalek | Heuristic branch merge: pushed 24 commits to nqp-jvm-prep/asm_port by jnthn | 17:21 | |
tadzik | question: would anyone mind panda becoming more of a cpanm than CPAN.pm? | ||
17:21
xinming joined
|
|||
moritz | I'm sure somebody would mind; but the majority of user surely prefers a simple (albeit opinionated) software over the complicated mess that CPAN.pm is | 17:23 | |
tadzik | other question: how much do you use the ability to browse the module ecosystem that panda provides? | ||
side note: I'm not removing it :) | |||
timotimo | are you refering to modules.perl6.org or does panda have some kind of browsing feature? | 17:25 | |
japhb | jnthn, what is the asm_port branch? | ||
tadzik | hah | ||
'panda list', 'panda search' and all that | |||
timotimo | oh, right | ||
tadzik | list is quite useful because it shows what's installed | 17:26 | |
moritz | I've used 'panda search' occasionally | ||
japhb | tadzik, I use it all the time | ||
17:26
arcterus joined
|
|||
tadzik | ok, cool | 17:26 | |
japhb | tadzik, in what sense do you want to make panda more like cpanm? | ||
17:26
arcterus left
|
|||
jnthn | japhb: A branch donaldh++ has been working on to replace BCEL with ASM (asm.ow2.org) for code generation | 17:26 | |
japhb | ah! | ||
tadzik | japhb: I don't, that's not quite its goal. But I'm working on a bit of an experimental rewrite of panda, and I brought it to a state where it behaves like cpanm :) | 17:27 | |
I think that might be a useful tool for folks | |||
so it doesn't use any kind of statefiles, projectfiles, utilizes the feather.perl6.nl:3000/module/Acme;Meow api and all that | |||
japhb | Woah, when did that API come into existence? | 17:28 | |
No statefile ... how do we recreate our installs after rebuilding Rakudo? | 17:29 | ||
tadzik | japhb: it was there since I created that website | 17:30 | |
I thought that might be useful one day, never used it | |||
timotimo | hehehe | ||
tadzik | japhb: we won't then. This thing would be like cpanm, fire and forget | ||
may be useful for oneshot installations | 17:31 | ||
like 'I need SVG::Plot for this small script, but I don't want to install it generally' | |||
redpanda -L extlib SVG::Plot, done | |||
BigBear | How do i get the equivalent of perldoc Text::CSV or perldoc Form to see how to use the new perl 6 Text::CSV and perl 6 Form (that replaces good ool Format)? | 17:32 | |
japhb | tadzik: -L specifies an install lib tree? | 17:33 | |
tadzik, and does redpanda still use the Pies API? | 17:35 | ||
tadzik | no, I didn't make it so | ||
japhb likes the idea of various opinionated (or not) frontends that all talk to the same underlying API | |||
... but that API need not be Pies. | |||
tadzik | actually, I don't think this Pies idea in hindsight | ||
I don't think it ever once became useful | |||
it was just creating additional work when adding features to panda | 17:36 | ||
japhb | tadzik, I think the big problem was designing the API before designing multiple frontends. I find APIs like that often come better from refactorings than Big Up Front Design. | ||
tadzik | it either didn't work out, or I couldn't use it to my advantage | ||
hmm, maybe | 17:37 | ||
17:37
cognominal__ left
|
|||
japhb | Build a couple different install tools (maybe just panda and redpanda are enough, maybe you need a third, I dunno), then refactor the common bits into an API. | 17:37 | |
JMHO, of course | 17:38 | ||
tadzik | sure, a valuablue one | ||
maybe I just approached all this from the wrong angle | |||
anyway, I'll first try to reach the goal of having an awesome module manager, then I'll think about the details :) | 17:39 | ||
hoelzro | howdy #perl6 folk | 17:40 | |
BigBear | p6doc Form tells me | 17:41 | |
No POD found in /opt/local/lib/parrot/4.10.0/languages/perl6/site/lib/Form.pm is there another way to see how to use the new Form or perl 6 Text::CSV for which p6doc gives me same error message about no POD in the Text/CSV.pm? | |||
hoelzro | what happened to the 2013.03 release? =( | ||
tadzik | BigBear: do you have it installed? | 17:42 | |
BigBear | tadzik: , yes I do tests passed and it installed | ||
tadzik | does that file exist in your filesystem, can you read it/ | 17:43 | |
17:43
cognominal__ joined
|
|||
BigBear | tadzik: yes it exists and just checked I can also read it (I am root - only right after the install ;-) | 17:45 | |
tadzik | oh, maybe this file indeed has no Pod inside? :) | 17:46 | |
dalek | c: 8999263 | tadzik++ | bin/p6doc: Pod is the new POD |
17:47 | |
17:50
awwaiid left
17:51
awwaiid joined
|
|||
BigBear | tadzik: a grep -i pod /opt/local/lib/parrot/4.10.0/languages/perl6/site/lib/Form.pm or in /opt/local/lib/parrot/4.10.0/languages/perl6/site/lib/Text/CSV.pm returns nothing | 17:51 | |
tadzik | BigBear: it's entirely possible that a module is not documented, and so you'll get no documentation :/ | 17:52 | |
BigBear: could you install File::Find and try on that? | |||
I remember writing docs for that one :) | |||
BigBear | tadzik: ;-) OK - will see what happens with that ;-) | 17:54 | |
17:54
cognominal__ left
|
|||
BigBear | tadzik: panda install File::Find | 17:55 | |
resolve stage failed for File::Find: Project File::Find not found in the ecosystem | |||
tadzik | duh | ||
oh | |||
it's in the File::Tools distribution, sorry | 17:56 | ||
I really ought to split those | |||
it's annoying for everytone | |||
BigBear | tadzik: I tried p6doc File::Find::Dupliactes instead and that does indeed give me a Pod-like output. So I guess I am out of lukc for the new perl 6 Form and the new Text::CSV that panda installed then? | 17:58 | |
tadzik | why File::Find::Duplicates? | ||
I didn't know we have that :) | 17:59 | ||
apparently we have, okay :) | |||
labster++ | |||
BigBear: yeah, not every module is documented :/ | |||
it'd definitely help to nag module authors about it:) | 18:00 | ||
colomon has not documented any of his modules.... | 18:02 | ||
BigBear | tadzik: panda list | grep -i find gave me File::Find::Duplicates ;-) | 18:03 | |
lue | hello world o/ | 18:04 | |
tadzik | BigBear: ha, nice :) | 18:07 | |
also answering my prior question about 'list' usage | |||
BigBear | does perl6 irc channel have it's pastebin somewhere? I would show you the other output I got from installing File::Tools which succeeded but then canot fidn it's file or Pod for that matter. | 18:08 | |
japhb | BigBear, use gist | ||
BigBear | japhb: how do I use it? or where is gist? | 18:09 | |
Tene | gist.github.com/ | 18:10 | |
sprunge.us/ is pretty nice too | |||
japhb | gist.github.com/ | ||
Tene | feh. https. :P | 18:11 | |
18:11
SamuraiJack left
|
|||
japhb | BigBear, gist allows either private (hashed ID) or public (simple integer ID) pastes. | 18:11 | |
BigBear | thanks - here is the output of me seemingly succeeding to install File::Tools , but then not finding it nor the embedded Pod content I was searvhing for. gist.github.com/anonymous/5331694 | 18:15 | |
18:15
rindolf left
18:16
arlinius joined
18:17
cognominal joined
|
|||
tadzik | yes, that's my mistake again | 18:17 | |
File::Tools contains 2 modules inside: File::Find and Shell::Command | |||
so you install File::Tools, but get 2 other things | 18:18 | ||
this is stupid and it's already reported to the module author | |||
(me) | |||
dalek | p-jvm-prep/asm_port: f6b38e8 | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java: Fix exception handler code-gen. |
18:21 | |
p-jvm-prep/asm_port: 977809b | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java: Complete (hopefully) todo local handling. |
|||
p-jvm-prep/asm_port: 468cb5f | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java: Add missing native array cases. |
|||
p-jvm-prep/asm_port: 71e44a5 | jnthn++ | lib/QAST/JASTCompiler.nqp: Fix incorrect array instruction usage. |
|||
nwc10 | jnthn: "the usual" on master | 18:24 | |
should I try that branch? | |||
jnthn | nwc10: Not yet | ||
Still got some unbusting to do | |||
I've gone from all of t/qast failing to just one test in one test file failing, though... | 18:25 | ||
18:25
cognominal left
|
|||
japhb | nice! | 18:25 | |
18:26
awwaiid left
|
|||
jnthn | It makes it through the build but unfortunately the resulting NQPJVM doesn't work | 18:26 | |
nwc10 | it compiles - ship it! | 18:27 | |
18:28
sqirrel left
18:32
awwaiid joined
18:33
cognominal joined
|
|||
BigBear | tadzik: I commented some more on gist.github.com/anonymous/5331694 , why does p6doc only parse half of the line and stop at '4'? BTW File::Find that one gets when installing File::Tools does have embedded Pod. Thanks. | 18:33 | |
cognominal | probably the META.info of a git package should include a entry for the names of the module/package/classes it installs | 18:35 | |
BigBear | Is TestML a bad idea or not likley to be fixed soonish ? Googled and it seems to have been broken for months now? I woiuld quite like to install XXX and YAML but they both depend on TestML which doesn't even build so I can't install it and skip the test even. | 18:36 | |
18:37
berekuk joined
|
|||
ingy | hi BigBear | 18:37 | |
:) | |||
BigBear: maybe join #testml | 18:38 | ||
BigBear: Oh I see, you don't want to use TestM, it's just getting in your way? | 18:40 | ||
tadzik | moritz: *poke* | 18:41 | |
(comments under gist.github.com/anonymous/5331694) | |||
18:41
berekuk left
|
|||
moritz takes a look | 18:42 | ||
18:44
berekuk joined
|
|||
moritz has no idea what's going wrong | 18:44 | ||
18:45
lue left
18:46
PacoAir left
|
|||
BigBear | ingy: if I show you the error it fails with - do you think somebody can "fix" that so it builds, or is that perl6 build error only the peak of an ice-berg? | 18:47 | |
18:48
lue joined,
cognominal left
|
|||
dalek | : 5d4f654 | (Tobias Leich)++ | README.md: make clear what v5 is made for |
18:53 | |
18:55
PacoAir joined
18:56
cognominal joined
18:59
toddr_ joined
19:00
Timbus|Away joined
19:01
frd|afk left
|
|||
BigBear | tadzik: I just installed File::Tools under latest rakudo star under win 7 pro now . which was first panda perl6 module on that install , but now all toher attempts of using panda fail from Shell::Command with : | 19:01 | |
perl6 panda install Text::CSV Form | |||
===SORRY!=== | |||
Missing or wrong version of dependency 'c:/rakudo/lib/parrot/4.10.0/languages/p | |||
rl6/lib/Shell/Command.pm' | 19:02 | ||
19:02
Timbus left,
Timbus|Away is now known as Timbus
19:03
cognominal left
|
|||
dalek | p-jvm-prep/asm_port: a23e7ec | jnthn++ | src/org/perl6/nqp/runtime/ExceptionHandling.java: Better reporting on startup crashes. |
19:04 | |
p-jvm-prep/asm_port: 887e811 | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java: Use correct class name format in anewarray. |
|||
p-jvm-prep/asm_port: e6ccfd8 | jnthn++ | Makefile: Don't need the debug-all version. |
|||
jnthn | nwc10: selftest seems to pass on the branch now \o/ | 19:05 | |
nwc10: Feel free to give it a run, if you have time | |||
nwc10 | the machine has 8 cores and a load average of 0.42 | 19:06 | |
so I think that it has time... | |||
tadzik | BigBear: hold on. File::Tools installed fine, but now everything else fails? | 19:07 | |
19:07
census joined
|
|||
tadzik | also, File::Tools definitely comes with Rakudo Star, so you didn't need to install it | 19:08 | |
and also, how is that windows but with root and /opt? | |||
BigBear | tadzik: yes. that's the gist of it. will go and remove the file::tools files and see if panda revives. My earlier stuff was on mac os and now I switched to windows to see if I have more luck with TestML on that. | 19:09 | |
tadzik | ah | ||
19:09
cognominal joined
|
|||
tadzik | panda is hard to maintain :| | 19:13 | |
I should stop bitching and fix it, I guess | 19:14 | ||
masak | tadzik++ # maintaining panda | 19:15 | |
tadzik | I try | ||
masak | tadzik: as far as I can see, you're doing a great job. | ||
tadzik | I did some big refactors today, and stumbled upon the wall between "make things better" and "don't break panda for users" | 19:16 | |
masak | tadzik: I know it's thankless sometimes. but unless it's patently obvious to you, panda is part of a really important toolchain, and likely to remain so for a while. | ||
tadzik | it should be entirely possible to achieve both though :) | ||
yes, that's why I really don't want to break it in any way | |||
masak | tadzik: panda is awesome, and, by transitivity, you are awesome :D | ||
nwc10 | jnthn: a failure on make test: | ||
t/qast/qast_6model.t ......... 10/21 Unhandled exception: This representation can not box a native int in <anon> in <anon> | |||
tadzik | I'm surprised almost every other day that someone uses it | ||
nwc10 | (oh, with a few more newlines than that) | 19:17 | |
tadzik | that someone I've never heard of uses it | ||
19:17
lue left
|
|||
tadzik | I now wonder, when I say "don't break panda to users", does that also mean not breking the API between parts of panda | 19:17 | |
emmentaler uses some, possibly people use them too | |||
masak: thanks for the warm words :) | 19:18 | ||
nwc10 | jnthn: and prove --exec="java -cp .;bin;3rdparty/asm/asm-4.1.jar NQPJVM" t/nqp/*.t t/serialization/*.t | 19:19 | |
masak | emmentaler is likely the only big downstream consumer right now. | ||
nwc10 | every test fails like this: | ||
masak | tadzik: why do you want to break API compat? | ||
nwc10 | t/nqp/01-literals.t ............. Error: Could not find or load main class NQPJVM | ||
t/nqp/01-literals.t ............. Dubious, test returned 1 (wstat 256, 0x100) | |||
No subtests run | |||
masak | tadzik: and can you do it in steps, perhaps deprecating stuff over a period, and then removing it? | 19:20 | |
nwc10 | that prove like is what "make selftest" runs | ||
so, doesn't work on my machine. For some reason that it not quite obvious to me | |||
BigBear | tadzik: it was my fault for breaking panda under win, I did not check if File::Tools were already installed , first. Don't be too hard on yourself. you are doing a great job. | ||
tadzik | masak: I think Panda::Resources is madness and insanity | ||
and it couples everything to an annoying degree | 19:21 | ||
BigBear: it's alright :) Actually, I think I can blame your problem on precompilation itself, not panda ;) | |||
masak | tadzik: what do you envision instead? | 19:22 | |
tadzik | BigBear: I guess the second File::Tools got installed to another location than the R* one, and Rakudo got confused loading that | ||
masak: I think those modules (Panda::Builer, ::Tester etc) are build around the wrong concept. It occured to me on FPW last year: the only thing they need to know of is the directory they operate on | |||
it then makes it super-easy to test them, to make individual tools of them etc | 19:23 | ||
19:23
tgt left
|
|||
tadzik | they chdir somewhere, do work, chdir back when they started. No external resources necessary | 19:23 | |
nwc10 | aha. Java hateful. There seems to be no command line option to avoid needing to know whether the path separator is : or ; :-( | ||
I have a local hack commit on master | |||
tadzik | right now they're given Panda::Resources on initialization, then Pies::Project, then feed Project to Resources to know which dir should they operate on | 19:24 | |
they're actually completely stateless, and there's no need for them to be objects at all | |||
nwc10 | jnthn: selftest successful when I change ; to : | 19:26 | |
tadzik | masak: so that makes it hard, because I need to throw around how Panda talks to its delegates | 19:28 | |
masak | tadzik: as long as you don't break emmentaler, I think you'll be fine. | 19:29 | |
tadzik | I guess so | ||
masak | tadzik: although you might want to blog about it, just in case there are "darkpan" clients hiding in the woods :) | ||
tadzik | right :) | 19:30 | |
I will. So far I'm silently working locally :) | |||
19:30
lue joined
|
|||
FROGGS | when do NEXT phasers run? after the loops body? | 19:30 | |
19:31
tgt joined,
dmol left
|
|||
Juerd | IIRC after each iteration, including the last. | 19:32 | |
FROGGS | hmmm | ||
Juerd | But it's been a while :) | ||
So I might simply remember it wrong. | |||
FROGGS | r: for 1..3 -> $x { say $x; NEXT { say "n" } } | 19:33 | |
p6eval | rakudo e489af: OUTPUT«1n2n3n» | ||
nwc10 | jnthn: selftest successful, nqptest "the usual", t/qast/qast_6model.t fails test 12 Unhandled exception: This representation can not box a native int | ||
moritz | r: for 1..3 -> $x { say $x; LEAVE { say "n" } } | ||
p6eval | rakudo e489af: OUTPUT«1n2n3n» | ||
FROGGS | r: for 1..3 -> $x { say $x; FIRST { say "n" } } | ||
p6eval | rakudo e489af: OUTPUT«n123» | ||
FROGGS | r: for 1..3 -> $x { say $x; LAST { say "n" } } | ||
p6eval | rakudo e489af: OUTPUT«123n» | ||
FROGGS | I'd need NEXT minus LAST | 19:34 | |
BigBear | tadzik: did a msi "repair" , but it is still broken. which pre-compilaiton issue was created when I installed the File::Tools on R*? What should I go and delete? is it the 'c:/rakudo/lib/parrot/4.10.0/languages/perl6/lib/Shell/Command.pir'? or is it C:\rakudo\lib\parrot\4.10.0\languages\perl6\lib\Shell\Command.pir I shoudl delete now? | ||
Juerd | FROGGS: ENTER, and ignore the first? | 19:35 | |
19:35
dmol joined
|
|||
Juerd | No, s/ENTER/LEAVE/ | 19:35 | |
Hm, no, ENTER. | |||
FROGGS | no, I'd need: 1 n 2 n 3 | 19:36 | |
Juerd: for this: perldoc.perl.org/functions/continue.html | |||
jnthn | nwc10: Thanks; I also get that qast_6model.t one. Think that's the last thing I need to find before I merge this branch. | ||
FROGGS | so yeah, ENTER but not FRIST | ||
*FIRST | 19:37 | ||
19:37
domidumont left
|
|||
tadzik | BigBear: hold on, there's an option I want you to try | 19:38 | |
BigBear: could you try RAKUDO_MODULE_DEBUG=1 <perl6 something something>? | |||
Juerd | r: for 1..3 -> $x { say $x; ENTER { say "n" if (state $foo)++ } } | 19:39 | |
p6eval | rakudo e489af: OUTPUT«1n2n3» | ||
BigBear | tadzik: sure, I'd be glad too ... | ||
Juerd | FROGGS: That's what you wanted, right? | 19:40 | |
19:40
kaare_ left
|
|||
Juerd | Probably not the best way to do this. Would probably go wrong if executed twice, so a regular lexical may be better. | 19:41 | |
tadzik | BigBear++ | 19:42 | |
19:43
awwaiid left
|
|||
masak | r: for 1..3 -> $x { say $x; ENTER say "n" if (state $foo)++ } | 19:43 | |
p6eval | rakudo e489af: OUTPUT«1n2n3» | ||
masak | r: for 1..3 -> $x { say $x; say "n" if (state $foo)++ } | ||
p6eval | rakudo e489af: OUTPUT«12n3n» | ||
masak | r: for 1..3 -> $x { say "n" if (state $foo)++; say $x } | ||
p6eval | rakudo e489af: OUTPUT«1n2n3» | ||
Juerd | *facepalm* | ||
That makes sense :) | 19:44 | ||
masak | I'm glad ;) | ||
FROGGS | right, now make an AST out of that :o) | ||
(no worry, I'll do that) | 19:45 | ||
BigBear | tadzik: OK output of perl6 panda list shown under the old thread gist.github.com/anonymous/5331694 hope that is what you were after , if not re-specify please. | ||
19:45
cognominal left
19:46
marmay joined
19:48
cognominal joined
|
|||
marmay | Hello, I've got a question regarding Perl6 / Rakudo. I would like to do some pattern matching within an action method. Rakudo complains, because I try to overwrite $/, at least I think that this is the reason why it is complaining. Is there a way to do pattern matching in an action method? | 19:49 | |
masak | marmay: an excellent question. | 19:50 | |
marmay: I remember running into this issue a year or so ago on Niecza. Niecza allows it, but overwrites $/ (to my great surprise and disappointment) | 19:51 | ||
FROGGS | marmay: you could use another variable as $/ within your methods signature as a workaround | ||
masak | marmay: but I can't claim to know the "right answer" here. in some way I want the cake and eat it, too. | ||
that is, both re-entrant pattern matching, and non-clobbered $/ | 19:52 | ||
19:54
awwaiid joined
|
|||
jnthn | If you declare "$/ is copy" or so in the signautre you can overwrite it, but that's probably not entirely helpful... | 19:54 | |
tadzik | BigBear: ah, yes. It loads Shell::Command and Fil::Find from site/ (c:/rakudo/lib/parrot/4.10.0/languages/perl6/site/lib/Shell | ||
marmay | FROGGS: This does not seem to work. | ||
tadzik | ...but everything else from R* installation | ||
so things break | 19:55 | ||
marmay | jnthn: Just noticed this, yes. Not so helpful. :-) | ||
FROGGS | marmay: in what way? | ||
tadzik | that's less than awesome, I know :/ | ||
FROGGS | marmay: you need to rename the $<variable>-vars too | ||
tadzik | and it's probably broken on unixes too for the same reason | ||
moritz? | |||
FROGGS | marmay: because $<variable> is a shorthand for $/<variable> | ||
moritz | tadzik? | ||
19:56
mtk left
|
|||
marmay | FROGGS: for method( $x ) { make ~$x } I get: "Cannot bind attributes in a type object", for $/ it just works. | 19:56 | |
moritz was very muc distracted with parenting for the last ~2h | |||
jnthn | make also expects to set $/ | 19:57 | |
$m.make(~$x) # would do it | |||
moritz | r: grammar A { token TOP { a+ } }; A.parse('aa', :actions(class { method TOP ($x) { $x.make(~$x) } })).say | 19:58 | |
p6eval | rakudo e489af: OUTPUT«「aa」» | ||
moritz | r: grammar A { token TOP { a+ } }; A.parse('aa', :actions(class { method TOP ($x) { make(~$x) } })).say | ||
p6eval | rakudo e489af: OUTPUT«Cannot bind attributes in a type object in sub make at src/gen/CORE.setting:10844 in method TOP at /tmp/nreMIFb2rB:1 in any !reduce at src/stage2/QRegex.nqp:714 in any !cursor_pass at src/stage2/QRegex.nqp:678 in regex TOP at /tmp/nreMIFb2rB:1 in method… | ||
jnthn | tbh though, I'd probably move the logic that wants to do the pattern matching etc. into some other private method that I pass things to, or a subroutine nested inside of my action method. | ||
tadzik | moritz: yes, there's a problem with our CUSTOM_LIB business | ||
I don't quite know what to do from there | |||
moritz | what's the problem? | ||
tadzik | we install R*, and everything in languages/perl6/lib | ||
dalek | p-jvm-prep/asm_port: fa800ba | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6int.java: Fix typo; unbreaks qast_6model.t. |
||
jnthn | nwc10: Blah, was a typo. :) | 19:59 | |
tadzik | then the user panda-installs one of the Panda deps, like File::Find | ||
that ends up in site/ | |||
then the moduleloader loads some things from site, and some from languages/perl6/lib | |||
jnthn | nwc10: So, should be clean now. :) | ||
19:59
mtk joined
|
|||
moritz | well, there are three possible solutions | 20:00 | |
1) require exact versions (and teach rakudo multi-version module handling) | |||
2) teach rakudo to automatically re-precompile with the updated dependencies | 20:01 | ||
3) don't precompile | |||
BigBear | sorry stepping outside for ~ 30 minutes or so - will check back after - to see if I can help or test anything .... | ||
20:01
awwaiid left,
cognominal left
|
|||
moritz | 4) fudge the installed modules to narrow down @*INC to only contain perl (and not site) libs | 20:02 | |
tadzik | moritz: I guess 2) is the desired solution eventually | ||
moritz | aye | ||
tadzik | we've been to 3) already, it was sloooow :) | 20:03 | |
moritz | I know | ||
in the past few months I've been very close to attacking 2) several times | |||
tadzik | hmm, hold on | 20:04 | |
I just thought "1) yeah, but we never change versions", and that's the piont too | |||
marmay | jnthn, moritz: Thanks for your help. It works as expected. | ||
tadzik | those are exactly the same Shell/Command.pm | ||
20:08
awwaiid joined
20:12
cognominal joined
20:32
cognominal left
20:37
cognominal joined
|
|||
BigBear | tadzik: two more questions. It did not seem to brek under mac os x , but maybe my perl6 there did not have a pre-built File::Tools ? will investigate. but also on windows I have 4 Command.pm files , of which only two count, will add location and size info to the gist link, but the R* one and the one from File::Tols differ in size quite a bit? So maybe it is a version mismatch in windows... | 20:39 | |
...between your module and the R* pre-built one? | |||
tadzik: pasted file info from under windows in gist.github.com/anonymous/5331694 | 20:44 | ||
20:48
PacoAir left
|
|||
lizmat | odd discrepancy I just noticed: README in rakudo mentions "make spectest", and not "make test" | 20:51 | |
yoleaux | 08:51Z <diakopter> lizmat: PM me when you can; thanks | ||
20:52
census left
|
|||
lizmat | whereas the output of configure mentions "make test" and not "make spectest: | 20:52 | |
*" | |||
diakopter | (ignore that msg from yoleaux) :D | ||
lizmat | yes, I figured that | 20:53 | |
can you tell yoleaux to not pass a message on later? | |||
diakopter | seems leaves out the date if it's on the same day; I wonder if it includes the date if it's not the same day | ||
.commands | 20:54 | ||
yoleaux | Commands are divided into categories: general, services, admin, api, demos. Use .commands <category> to get a list of the commands in each. | ||
BigBear | tadzik: done a diff between the two from lib and site and they are not only of different size but they are definitly different. appended diff -du at end of gist.github.com/anonymous/5331694 | ||
BigBear: is going to rest ... will check back again tomorrow | 20:56 | ||
21:00
dmol left
|
|||
lizmat | .commands demos | 21:02 | |
yoleaux | Commands in demos: crash, flood, wait, wait-crash. Use .help to get information about them. | ||
jnthn | .flood the earth, but let noah survive | ||
yoleaux | jnthn: Sorry, this command is admin-only. | ||
jnthn | "admin" indeed :P | ||
colomon | :) | ||
masak | :D | 21:03 | |
tadzik | BigBear: sorry, was afk. Gotta sleep now, will look at it tomorrows | 21:05 | |
21:05
dmol joined
|
|||
BigBear | tadzik: one last comment for the day. jsut finnished cheking under mac os x and I have two Command.pm files of different sizes, just like under windows, but the perl6 panda something commands still work my installation did not break it there? | 21:05 | |
tadzik | I dunno :) | ||
tadzik sleeps | |||
21:05
rgc joined
|
|||
lizmat | gnight tadzik! | 21:06 | |
21:08
BigBear left
|
|||
masak | 'night, #perl6 | 21:14 | |
lizmat | night masak | ||
diakopter | o/ | ||
japhb | night masak (and belatedly tadzik)! | ||
21:15
berekuk left
21:16
berekuk joined
21:23
dmol left
21:25
dmol joined
21:26
dmol left
21:31
spider-mario left
21:34
dmol joined
21:41
marmay left
21:43
kurahaupo joined
|
|||
lizmat | night #perl6! | 21:51 | |
diakopter | o/ | ||
21:53
dmol left
21:58
cognominal left
22:03
lustlife left
22:05
cognominal joined
22:09
cognominal left
|
|||
kurahaupo | good morning #perl6 | 22:14 | |
FROGGS | hi kurahaupo | 22:15 | |
22:28
frdmn joined
22:44
awwaiid left
22:46
awwaiid joined
22:52
berekuk left
22:54
berekuk joined
22:57
rgc left
|
|||
felher | Good night, good people :) | 22:59 | |
23:00
rgc joined
23:17
grondilu joined
|
|||
grondilu | rn: say 2 Rxx rand | 23:17 | |
p6eval | rakudo e489af: OUTPUT«0.852463807768316 0.852463807768316» | 23:18 | |
..niecza v24-35-g5c06e28: OUTPUT«0.92083557924294634 0.92083557924294634» | |||
grondilu was expecting two different numbers | |||
r: say rand xx 2 | |||
p6eval | rakudo e489af: OUTPUT«0.395225263058336 0.586990305959386» | ||
grondilu | see? | ||
23:20
cooper_ is now known as cooper,
cooper left,
cooper joined
23:36
frdmn left,
frdmn joined
23:38
Targen joined
|