Camelia, the Perl 6 bug

IRC log for #parrot, 2011-07-16

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:03 zloyrusskiy left #parrot
00:03 kid51 Do we have release managers yet for Aug 16, 2011 - 3.7 or Nov 15, 2011 - 3.10 ?
00:04 kid51 (Those entries are still missing from release_manager_guide.pod.)
00:07 jay Ok... very cool.  Thanks again, Coke++, invaluable.  soh_cah_toa, it works with the &, and definitely does not work without it: it compiles, but then barfs: "Could not find sub &infix:<+>"
00:10 soh_cah_toa jay: TimToady says "I think the & is optional only to allow declaration of &*foo, which would be a dynamic name"
00:12 jay Well, it's the first time I've seen it, so it may only be optional for operator cases like this... obviously not needed for regular runtime functions.  But I'm fine with that!
00:12 rurban_ joined #parrot
00:13 kid51 Felipe ping
00:13 cotto ~~
00:14 rurban left #parrot
00:14 rurban_ is now known as rurban
00:23 logie left #parrot
00:27 Felipe kid51: pong
00:38 theory left #parrot
00:42 jay Coke++ I now have a more general additive operator, thanks to you!  https://gist.github.com/1085849
00:42 dalek NQR: 7c20a2b | (Jay Emerson)++ | / (10 files):
00:42 dalek NQR: Generalizing the + operator, Coke++
00:42 dalek NQR: review: https://github.com/NQRCore/NQR/commit/7c20a2be5f
00:44 soh_cah_toa ah, cool. didn't know you could do that in R. it's kinda like p6's hyper operators
00:45 jay R has some very slick stuff... admittedly tuned for efficient data analysis,.
00:50 jay It can also do things like c(1,2,3,4) + c(1,2) by recycling the second argument twice... a nice use for NotFound's Coroutines, perhaps (not sure).
00:51 soh_cah_toa what do you mean by "recycle"?
00:54 Kulag left #parrot
00:55 Kulag joined #parrot
01:01 Kulag left #parrot
01:01 Kulag joined #parrot
01:08 dalek parrot: 1e74105 | jkeenan++ | / (3 files):
01:08 dalek parrot: Add a small program to help release manager update some version numbers.
01:08 dalek parrot: review: https://github.com/parrot/parrot/commit/1e74105623
01:11 dalek parrot: 00ee3f9 | jkeenan++ | CREDITS:
01:11 dalek parrot: Credit Felipe Pena.
01:11 dalek parrot: review: https://github.com/parrot/parrot/commit/00ee3f9386
01:18 jay Sorry, distracted, soh_cah_toa.
01:18 jay I mean c(1,2,3,4) + c(1,2) = c(1,2,3,4) + c(1,2,1,2)
01:34 kid51 is now known as kid51_at_dinner
01:50 cotto kid51++ for release managerial laziness
01:52 cotto not lazy enough though
01:52 Coke jay: glad to help.
01:52 Coke jay: the & is a perl-ism.
01:52 cotto If that's *only* for the release process, it can update a bunch of other files too.
01:52 Coke it's a sigil indicating "This names a function"
01:53 Coke $scalar, @array, %hash, &function
02:29 theory joined #parrot
02:30 jay Thanks, Coke.  I'm back.  That makes sense!
02:31 pmichaud_ joined #parrot
02:31 pmichaud left #parrot
02:33 Kulag left #parrot
02:34 Kulag joined #parrot
02:37 kid51_at_dinner is now known as kid51
02:46 logie joined #parrot
02:47 bubaflub ~
02:49 jay Hello bubaflub.  More progress today I see
02:50 bubaflub jay: nice. i see you're getting this grammar stuff done as well.  good work.
02:51 jay Slowly, yes.  I noticed some thunk progress... the installation is probably tricky, integrating it properly?
02:52 bubaflub jay: the question is where i should copy the shared object file so that we can do load_lib properly.  everything else works swimmingly.  i imagine it's just going to go the same place my .pbc (compiled Parrot code) goes.
02:53 jay will some 'make install' (either yours or parrot's if it is distributed with parrot) put it into /usr/lib or something sensible, though?  Or maybe that isn't necessary.  Not sure.
02:54 bubaflub jay: yes.  Parrot comes with a library called distutils (which i believe is stolen/inspired from Python) which handles this kind of stuff.  plumage is the package management stuff and they work hand in hand.
02:54 bubaflub jay: my setup.winxed basically has a big hash of information that distutil uses to build my library - what files to build and what should be installed
02:55 bubaflub jay: i have a few custom functions in setup.winxed to handle my library specific stuff - generate the NCI thunks and compile a C file to check which version of GMP we have.
02:55 jay cool.  It will be a little while befor I get back to that.
02:55 bubaflub jay: indeed.  but it should *just work*
02:56 jay Magic!   Actually saw the Harry Potter movie today, actually.
02:56 theory left #parrot
02:58 bubaflub jay: nice, my wife and i will catch an afternoon showing tomorrow.  what did you think about it?
02:59 jay Very good.  Better than the last one.  We saw the 2D version.  My wife said that one of the reviews was down on the 3D version -- dark and not that impressive.
03:00 bubaflub jay: yeah, both my wife and i have glasses and 3D doesn't always work.
03:00 bubaflub jay: plus, i already see in 3D all the time.  no reason to need it for a movie.
03:01 jay bubaflub: lol.  Me too.  Glasses.
03:13 logie left #parrot
03:14 dalek parrot-gmp: 61cc3e6 | bubaflub++ | / (2 files):
03:14 dalek parrot-gmp: update docs a bit
03:14 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/61cc3e683c
03:16 Kulag left #parrot
03:24 theory joined #parrot
03:26 redicaps joined #parrot
03:29 theory left #parrot
03:33 kid51 left #parrot
03:36 jay Quickie:   NQP, dividing two integers, I want the float result, not the integer division.  How do I typecast an int up to a float?
03:36 jay pir::set__dp($arg)  ???  googled it, seems overly complicated and may not be right.
03:55 jay Ah well, I'll get it tomorrow.  Night, all
03:55 jay left #parrot
03:56 dalek NQR: 8be71ad | (Jay Emerson)++ | / (7 files):
03:56 dalek NQR: Vectorized the +*-/ (though integer / isn't right)
03:56 dalek NQR: review: https://github.com/NQRCore/NQR/commit/8be71ad38c
04:17 dduncan joined #parrot
04:20 dduncan left #parrot
04:22 dduncan joined #parrot
04:26 dduncan left #parrot
04:27 logie joined #parrot
04:27 theory joined #parrot
05:00 soh_cah_toa left #parrot
05:35 theory left #parrot
06:05 logie left #parrot
06:06 zby_home joined #parrot
06:19 Ademan joined #parrot
06:20 dalek rakudo/nom: e707e6e | moritz++ | src/Perl6/SymbolTable.pm:
06:20 dalek rakudo/nom: fix typo in comment
06:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e707e6ed01
06:22 contingencyplan joined #parrot
06:24 Ademan is the bytecode format documented somewhere? I saw documentation for the file format, and a list of opcodes but nothing about the bytecode
06:26 moritz Ademan: have you seen docs/pdds/draft/pdd13_bytecode.pod ?
06:28 dalek parrot: c331dd5 | cotto++ | docs/project/release_manager_guide.pod:
06:28 dalek parrot: make release manager instructions less ambiguous (hopefully)
06:28 dalek parrot: review: https://github.com/parrot/parrot/commit/c331dd5013
06:29 Ademan moritz: is that in the source tree? I've only looked at the website thus far, I'll check that out though, thanks.
06:36 cotto Ademan, http://docs.parrot.org/parrot/latest/html​/docs/pdds/draft/pdd13_bytecode.pod.html
06:36 cotto also in the file that moritz++ mentioned
06:37 cotto The web page is generated from that file.
06:38 cotto The file is in drafts because there are some inconsistencies between it and the current implementation, but it's generally true.  You can use pbc_dump -d to explore .pbc files directly.
06:41 redicaps left #parrot
06:41 simcop2387_ joined #parrot
06:43 simcop2387 left #parrot
06:43 simcop2387_ is now known as simcop2387
06:50 redicaps joined #parrot
06:50 redicaps left #parrot
06:52 woosley joined #parrot
06:56 woosley left #parrot
07:05 fperrad joined #parrot
07:41 jjore left #parrot
07:53 daniel-s joined #parrot
08:12 rurban_ joined #parrot
08:14 rurban left #parrot
08:14 rurban_ is now known as rurban
08:20 dafrito joined #parrot
08:22 simcop2387_ joined #parrot
08:24 simcop2387 left #parrot
08:24 simcop2387_ is now known as simcop2387
08:27 jjore joined #parrot
08:39 contingencyplan left #parrot
08:45 jjore left #parrot
09:05 jjore joined #parrot
09:11 zby_home_ joined #parrot
09:13 zby_home left #parrot
09:15 zloyrusskiy joined #parrot
09:35 whiteknight joined #parrot
09:57 zby_home_ left #parrot
10:21 whiteknight left #parrot
10:36 mj41 joined #parrot
10:38 Kulag joined #parrot
10:55 Kulag left #parrot
10:55 Kulag joined #parrot
10:58 mj41 left #parrot
11:03 mj41 joined #parrot
11:27 whiteknight joined #parrot
11:36 mj41 left #parrot
11:38 daniel-s left #parrot
11:43 whiteknight good morning, #parrot
11:47 zloyrusskiy hi
11:56 lucian joined #parrot
12:01 Kulag left #parrot
12:02 Kulag joined #parrot
12:04 jay joined #parrot
12:06 Kulag left #parrot
12:06 Kulag joined #parrot
12:07 dalek NQR: fd08cfe | (Jay Emerson)++ | README (2 files):
12:07 dalek NQR: soh_cah_toa++ README bugs
12:07 dalek NQR: review: https://github.com/NQRCore/NQR/commit/fd08cfe759
12:09 dalek GSL: 2050360 | (Jay Emerson)++ | README (2 files):
12:09 dalek GSL: soh_cah_toa++ README bugs
12:10 dalek GSL: review: https://github.com/NQRCore/GSL/commit/2050360e59
12:12 kid51 joined #parrot
12:14 zloyrusskiy left #parrot
12:19 rurban_ joined #parrot
12:19 rurban left #parrot
12:19 rurban_ is now known as rurban
12:23 jay Good morning, parroters
12:23 whiteknight hello jay
12:24 jay morning whiteknight!
12:24 whiteknight how are you doing today, jay?
12:24 jay I'm trying to divide integers and get the float result.  Not bad for 8 AM, huh?
12:25 whiteknight you probably want to cast to float before you do the division
12:26 whiteknight integer division is...integery
12:26 moritz nqp-rx: say(pir::div__NNN(5, 2))
12:26 moritz nqp: say(pir::div__NNN(5, 2))
12:26 p6eval nqp: OUTPUT«2.5␤»
12:26 jay moritz++: nice!
12:26 jay I'll try both, though... what is the simplest NQP typecast?
12:27 moritz nqp automatically typecasts when it expects an N register
12:27 moritz which is what happens here
12:27 tadzik jay: you can just $N1 = $I1
12:27 tadzik if you're piring
12:27 jay NQP-ing
12:27 moritz so the two are the same
12:27 tadzik oh, then what moritz++ said
12:29 jay Bingo!  The morning is definitely looking up... moritz++.
12:29 dalek NQR: b256796 | (Jay Emerson)++ | src/nqr/Operators.pm:
12:29 dalek NQR: moritz++ vectorized division working
12:29 dalek NQR: review: https://github.com/NQRCore/NQR/commit/b256796967
12:30 kid51 moritz: Parrot is having supported release 3.6 on Tuesday.  Do you know if Rakudo is building okay on Parrot HEAD?
12:30 moritz kid51: it was last I tried, but I'll try again now
12:30 whiteknight blah, still getting the segfault in Rosella.
12:30 kid51 moritz: Thank you very much.
12:31 dalek rakudo/nom: fa9c35c | (Solomon Foster)++ | src/core/ (2 files):
12:31 dalek rakudo/nom: Add prefix:<abs>(Real), redefine Real.abs to do calculation directly instead of using .Bridge.
12:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fa9c35c6eb
12:31 dalek rakudo/nom: d7d46e3 | (Solomon Foster)++ | t/spectest.data:
12:31 dalek rakudo/nom: Turn on abs.t.
12:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d7d46e352b
12:34 jay moritz, let me revisit something above: nqp automatically typecasts when it expects an N register
12:35 moritz jay: correct
12:35 jay ? $ans[$i] = $a[$i] / $b[$i];  ans is ResizableFloatArray, a and b are ResizableIntegerArray, I'm not getting the float result?
12:35 jay (sorry := )
12:36 moritz jay: it doesn't do static analysis on types of your arrays
12:36 jay ah ok.  Thanks!
12:36 moritz jay: if you use /, it is just compiled to the 'div__PPP' opcode, I think
12:37 moritz so it promotes the arguments to PMCs
12:37 moritz and then the result is a PMC too
12:37 moritz and that is then converted to a  float
12:37 jay ah, that's what I didn't get.
12:37 moritz not very efficient :-)
12:38 jay So I should go change some of my + - * operations to improve performance, too.
12:38 moritz it is sometimes instructive to run nqp with the --target=PIR option, and look at the output
12:38 moritz right
12:39 jay Things like this aren't critical when they happen once... but in a long loop will add up.
12:40 moritz aye
12:40 jay All int multiplication: @ans[$i] := pir::mul__III($a[$i], $b[$i]); ?
12:42 moritz right
12:42 jay And one more question: someone said @ans and $ans are identical in NQP (and note I use each above, for some unknown reason having to do with sleep).  Is there some reason I should do one or the other?
12:43 whiteknight @ is typically used to mean array, in perl-land
12:43 whiteknight so it's a visual cue that what you are doing is array-ish
12:44 whiteknight other than that, NQP doesn't do any type-checking to prove that what you say about it is correct
12:44 jay Ok.  No performance surprises under the hood, then.
12:44 whiteknight there might be some initialization logic special for @, but I can't remember
12:48 moritz nqp: my @a; @a[0] := 1; say(@a)
12:48 p6eval nqp: OUTPUT«1␤»
12:49 moritz nqp: my $a; $a[0] := 1; say($a)
12:49 p6eval nqp: OUTPUT«set_pmc_keyed() not implemented in class 'Undef'␤current instr.: '_block1000' pc 0 ((file unknown):1)␤»
12:49 moritz don't know if that's the same in nqp-rx
12:49 p6eval left #parrot
12:49 p6eval joined #parrot
12:49 moritz nqprx: say(1)
12:49 p6eval nqprx: OUTPUT«1␤»
12:50 moritz nqprx: my $a; $a[0] := 1; say($a)
12:50 p6eval nqprx: OUTPUT«set_pmc_keyed() not implemented in class 'Undef'␤current instr.: '_block11' pc 0 (EVAL_1:4)␤»
12:50 moritz nqprx: my @a; @a[0] := 1; say(@a)
12:50 p6eval nqprx: OUTPUT«1␤»
12:50 moritz yep, same difference
12:50 jay I don't know if it matters, but I'm creating all Resizable*Array explicitly.
12:51 jay Anyway, I think I've got it... onwards, many thanks.
12:55 dalek NQR: d8efe09 | (Jay Emerson)++ | src/nqr/Operators.pm:
12:55 dalek NQR: mortiz++ proper operators with efficient typecasting
12:55 dalek NQR: review: https://github.com/NQRCore/NQR/commit/d8efe09140
13:06 moritz rakudo builds and tests fine for me on latest parrot
13:06 moritz (both 'master' and 'nom' branch of rakudo)
13:07 moritz (on linux amd64)
13:08 jay moritz: I'll hit the same issue with comparison operators, I assume...  will they be iseq__III, iseq_INN, and so on?  Does I versus i matter for some reason?  squaak had iPP for example, not IPP.
13:09 kid51 Thanks.  Is there any build farm that does that automatically? (apart from http://tt.taptinder.org/buildstatus/rakudo/master)
13:10 moritz jay: I'm not sure about the uppercase/lowercase thing, pmichaud_++ could tell you
13:10 moritz jay: andn yes, same thing for the comparison ops
13:10 JimmyZ joined #parrot
13:10 jay Well, at least the compiler hasn't complained about I yet
13:10 jay Thanks
13:21 whiteknight 2940c8015fc03decb2070b396f2c6a358e8f9943 is the first commit I've found before the sprintf segfaults
13:22 whiteknight I've been going backwards by 5-10 commits each time, and this is the first one that hasn't exhibited that behavior or worse
13:35 JimmyZ good evening, #parrot
13:36 whiteknight fd7880aa6706fca4fd2d is good too
13:39 dalek NQR: b6fb6c5 | (Jay Emerson)++ | src/nqr/ (2 files):
13:39 dalek NQR: Added the : operator; 1:5 -->> (1,2,3,4,5)
13:39 dalek NQR: review: https://github.com/NQRCore/NQR/commit/b6fb6c5150
13:57 whiteknight 179425591a68315348f7 definitely seems to be the first commit where the segfaults happen
13:58 whiteknight I don't quite know how either of those commits could be causing this behavior though
14:01 whiteknight ...nevermind, I found it
14:02 whiteknight after changing the rules for looking up builtins, we're getting into an infinite loop
14:09 dalek NQR: f0bb2b7 | (Jay Emerson)++ | src/nqr/ (2 files):
14:09 dalek NQR: R-style warning() messages
14:09 dalek NQR: review: https://github.com/NQRCore/NQR/commit/f0bb2b7aee
14:21 jay As I look at the squaak grammar, I see funky special characters around the relational operators: I'll try copying here:
14:21 jay token infix:sym�<� { <sym> <O('%relational, :pirop<islt iPP>')> }
14:22 jay Yes, they show.  I assume I just copy-and-paste and I'll be fine writing my own sub with the same name?
14:23 moritz yes
14:23 JimmyZ does NQR use new NQP or NQP-rx ?
14:23 moritz the <O()> is a call to the operator precedence parser
14:25 kid51 left #parrot
14:25 jay Right.  It's the funky << >> I was asking about.
14:27 jay I'm building on squaak, so I'm writing grammar in whatever squaak's Grammar.pm is, and writing runtimes that are whatever squaak's Runtime.pm would be using.
14:27 jay I think the answer may be NQR-rx
14:27 jay But I obviously have no idea.  !_)
14:31 dalek Rosella: 11e8e34 | Whiteknight++ | src/ (5 files):
14:31 dalek Rosella: Fix build and all tests following winxed compiler updates. The differences in the way builtins are looked up means they now get conflicted if we have a symbol named 'sprintf' anywhere searchable. Be explicit wherever we want to use the builtin
14:31 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/11e8e343f3
14:33 lichtkind joined #parrot
14:44 jay ping moritz
14:59 lateau joined #parrot
15:06 bubaflub ~
15:07 jay moritz: undo ping, I'm all set.  Very cool stuff...
15:12 woosley joined #parrot
15:21 Patterner 1
15:35 mj41 joined #parrot
15:48 kid51 joined #parrot
15:49 kid51 Do we have release managers yet for Aug 16, 2011 - 3.7 or Nov 15, 2011 - 3.10 ?
15:49 kid51 (Those entries are still missing from release_manager_guide.pod.)
15:51 zloyrusskiy joined #parrot
16:04 contingencyplan joined #parrot
16:07 ambs joined #parrot
16:09 jay moritz++ once again, thank you... R-style vectorized relational operator:
16:09 jay > print( c(1,2,3) != 2 )
16:09 jay 1 0 1
16:09 jay > print( c("A", "B", "C") != "C" )
16:09 jay 0 0 0
16:10 dalek NQR: 0e2701c | (Jay Emerson)++ | src/nqr/ (2 files):
16:10 dalek NQR: First relational operators, thanks moritz++
16:10 dalek NQR: review: https://github.com/NQRCore/NQR/commit/0e2701c3c8
16:11 rurban_ joined #parrot
16:12 whiteknight left #parrot
16:15 rurban left #parrot
16:15 rurban_ is now known as rurban
16:22 fivetonsflax joined #parrot
16:29 simcop2387_ joined #parrot
16:30 simcop2387 left #parrot
16:30 simcop2387_ is now known as simcop2387
16:45 JimmyZ left #parrot
16:49 woosley left #parrot
16:58 mj41 left #parrot
17:14 mj41 joined #parrot
17:21 dalek NQR: 24c2284 | (Jay Emerson)++ | src/nqr/Grammar.pm:
17:21 dalek NQR: More operators
17:21 dalek NQR: review: https://github.com/NQRCore/NQR/commit/24c22848c3
17:22 jay left #parrot
17:28 cotto ~~
17:28 cotto kid51, I usually consider the bottom of that file to be the canonical list.
17:36 Felipe hi guys
17:37 theory joined #parrot
17:43 fivetonsflax hi cotto
17:43 fivetonsflax just dropped in to say I haven't vanished -- life got in the way, but I'm still going to work on your "glossy brochure".
17:44 zloyrusskiy left #parrot
17:46 jay joined #parrot
17:52 kid51 cotto: Yes, that's the place I was looking.
18:02 mj41 left #parrot
18:05 cotto Coke (or someone) tried to set up a Google calendar for it, but it's easier just to edit the file.
18:14 bluescreen joined #parrot
18:15 kid51 Does anyone know who first came up with the idea of Parrot as a register-based VM?
18:16 jay Suppose I wanted to implement my own PAST::Op while loop... am I nuts?
18:18 dafrito left #parrot
18:18 lateau left #parrot
18:20 cotto kid51, allison would probably know that.
18:24 * kid51 is preparing his talk for FOSSCON next Saturday.
18:30 Felipe cool
18:46 lucian left #parrot
18:47 jay I have a possible PAST operator inconsistency between 'if' and the evaluation of a 'while' condition.  Anyone here know about this?
18:55 allison kid51, cotto: it's been register-based from the very beginning
18:55 * allison tries to get github to let her link to ancient commits
18:56 allison kid51: the first two commits to parrot (ever) were a README file and nothing else
18:57 allison kid51: the third commit was Simon Cozen's working directory and included register.h and register.c
18:57 allison kid51: which defined our, now very familiar, I, N, S, and P register types
18:58 allison kid51: August 29th, 2001
18:58 kid51 Does that mean it was Simon's idea?  Or was he merely the first to commit those to CVS?  (I know he has commit 1)
18:59 allison kid51: Simon and Dan worked pretty closely together, so I'd say it was a join inspiration rather than solely Simon's idea
18:59 kid51 thx
18:59 kid51 I am going to post to parrot-dev a message which asks questions like these.
18:59 allison kid51: dan made some posts later that show he was entirely in favor of the idea, but don't claim it as "his" idea http://www.sidhe.org/~dan/​blog/archives/000189.html
19:01 allison kid51: navigating history in github is a pain, if you're curious, try giggle
19:03 allison (and it's Ask that has commit #1 and #2, Simon has commit #3)
19:04 kid51 allison: I'm not probing that deeply.  I'm looking for one-sentence descriptions I can include in an introductory level talk -- or one sentence answers anyone familiar with Parrot should be able to give.
19:04 jay Retracting PAST operator question.  May be ok (though I am not).
19:04 contingencyplan left #parrot
19:09 bubaflub ~
19:23 bubaflub jay: how goes the coding?
19:32 cotto first commit: https://github.com/parrot/parrot/commit/​9bb281bf85088000ee40079dfc3599375571591a
19:41 jay bubaflub... hit a wall under the hood, now in PAST and pirop land.  Can I ask a question?
19:41 bubaflub jay: go ahead; can't guarantee that i'll be able to answer
19:43 jay I have a place in Actions.pm,    $cond = $<EXPR>.ast.  I know that this will evaluate to a ResizableIntegerArray of length 1, but I really want it to evaluate to the contents (stripping away the PMC).  Not getting anywhere, don't know quite enough.  This is modifying standard 'if' and 'while' logical condition evaluation.
19:43 jay The reason for this is every object in the NQR world is a Resizable*Array.  No literals.
19:44 jay I think I need something like  my $cond := PAST::Op.new( :pirop<set__IP>,     # Set or coercion?
19:44 jay $<EXPR>.ast );
19:45 jay (sorry, that didn't display well)
19:47 bubaflub jay: i'm not entirely sure; why do you want to strip away the container and get the contents?
19:47 jay Because the 'if' and 'while' actions need $cond to evaluate to 0 or 1, and they don't know what to do with the arrays of length 1.
19:48 tadzik jay: how about $<EXPR>.ast[0]?
19:48 jay I'll try that again, but I did already and it didn't like it.  Just a sec.
19:49 jay No.  Compiles, but isn't doing the right thing.
19:50 bubaflub jay: regrettably i don't know much about that area of Parrot.
19:50 jay I really think it needs to be a PAST::Op.new of some sort acting on $<EXPR>.ast.
19:55 moritz so your question is really "how do I represent a .[] keying access in PAST", right?
19:56 jay Maybe, sounds close.  We just tried pirop<get_integer_keyed> and didn't get anywhere.
19:57 moritz set__PQi pirop might help
19:57 jay We'll try it now.  Thanks.
19:58 jay PQi... is the return the i?  P and Q would be what?
19:58 moritz returns a P
19:59 moritz Q means a PMC that is accessed with a key, or something
19:59 moritz and i would be the index
19:59 jay I'll try, I'm thinking we want iQi then, is that legal?
19:59 moritz dunno, try it :-)
19:59 jay lol willdo!  Thanks.
20:00 jay moritz++ for the 10^th time today.  You rock.  You have no idea how far I've gotten in the last 8 hours because of your little nuggets.
20:01 jay I'll blog it later.
20:02 moritz jay: and I always have the feeling I can't answer most of your questions, just point in vague directions
20:02 moritz jay: one more vague direction: https://github.com/perl6/nqp-rx/bl​ob/master/src/NQP/Actions.pm#L764 is how nqp-rx itself compiles $thing[index]
20:02 jay That's my fault because my questions are probably not quite stated properly.
20:02 jay I'll copy that and add it to my growing random notes to look at.
20:03 moritz actually I'm surprised not more people ask questions like you do
20:03 moritz they are the typical ones that come up when you write a compiler
20:03 jay They must be smarter than I am.
20:04 moritz or they give up earlier :-)
20:05 dalek rakudo/nom: afc5299 | (Solomon Foster)++ | src/core/Num (2 files):
20:05 dalek rakudo/nom: Fix Numeric.exp($base).  Add "multi" to Num.exp.
20:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/afc52991fe
20:05 dalek rakudo/nom: 7940ef2 | (Solomon Foster)++ | src/core/ (2 files):
20:05 dalek rakudo/nom: Add exp(Numeric, Numeric).  Fix infix:<**>(Int, Int) to handle negative powers properly.
20:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7940ef26ec
20:05 dalek rakudo/nom: 1fbe8b1 | (Solomon Foster)++ | t/spectest.data:
20:05 dalek rakudo/nom: Turned on exp.t.
20:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1fbe8b1f6c
20:05 dalek rakudo/nom: 9fd4115 | (Solomon Foster)++ | t/spectest.data:
20:05 dalek rakudo/nom: Turn on gcd.t, add lcm.t.
20:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9fd411556f
20:06 GodFather joined #parrot
20:26 ambs left #parrot
20:33 soh_cah_toa joined #parrot
20:33 soh_cah_toa ~~
20:58 GodFather Newbe, I want to write a token statement to recognize the following perl 5 regex [A-Za-z][-_A-Za-z0-9]* therefore token varname { [A-Za-z][-_A-Za-z0-9]* }
21:03 soh_cah_toa GodFather: that looks right to me
21:05 fperrad left #parrot
21:07 GodFather when I run parrot Per6Grammar.pbc --output=file.pir file.pg I get the error.
21:07 GodFather unable to parse regex at line 11, near "{ [A-Za-z]"
21:07 jay left #parrot
21:08 soh_cah_toa GodFather: could you nopaste the source code?
21:09 GodFather Sorry don't know how to nopaste
21:10 soh_cah_toa GodFather: http://nopaste.snit.ch
21:10 kid51 aloha: nopaste?
21:10 aloha kid51: nopaste is is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
21:13 jsut joined #parrot
21:14 GodFather soh_cah_toa, I think I figured it out... When expressing [A-Z]  (perl5 syntax) in Perl6 the equivalent is <[A..Z]> I just tried a test and it worked.
21:15 soh_cah_toa oh yeah, i think you're right
21:18 jsut_ left #parrot
21:23 bubaflub GodFather: you're right - perl6 regexes work slightly differently. i usually read http://feather.perl6.nl/syn/S05.html
21:24 TimToady you can also try feeding things to std: on freenode #perl6 and it'll usually tell you when it spots a p5ism
21:26 TimToady p6eval: niecza: /[A-Z]/
21:26 p6eval TimToady: niecza v7-38-gf5e9082: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Invalid regex metacharacter (must be quoted to match literally) at /tmp/6FspKhflYZ line 1:␤------> [32m/[A-[33m⏏[31mZ]/[0m␤␤Action method metachar:sym<-> not yet implemented at /tmp/6FspKhflYZ line 1:␤------> [32m/[A-[3…
21:26 TimToady std: /[A-Z]/
21:26 p6eval std 516268a: OUTPUT«Can't locate Moose.pm in @INC (@INC contains: /home/p6eval/perl5/perlbrew/perls/perl-5.1​4.1-RC1/lib/site_perl/5.14.1/x86_64-linux /home/p6eval/perl5/perlbrew/perls/p​erl-5.14.1-RC1/lib/site_perl/5.14.1 /home/p6eval/perl5/perlbrew/perls/​perl-5.14.1-RC1/lib/5.14.1/x86_6…
21:26 TimToady ooh
21:27 tadzik hihi
21:27 TimToady well, niecza has similar messages
21:27 preflex left #parrot
21:27 TimToady with the new LTM nom should get there pretty soon too
21:29 preflex joined #parrot
21:43 Psyche^ joined #parrot
21:48 Patterner left #parrot
21:48 Psyche^ is now known as Patterner
21:53 kid51 left #parrot
21:54 GodFather Thanks to all who provided help!!
21:55 jay joined #parrot
22:07 lichtkind left #parrot
22:13 dafrito joined #parrot
23:07 Felipe odd, I've posted a comment in a ticket, but no mail was sent to ticket lists.
23:17 Felipe got the mail now :)
23:24 dukeleto ~~
23:25 Felipe I have closed a bug that seems already fixed, any problem?
23:28 cotto Felipe, if you're 100% sure, great.  If not, someone here can verify.
23:28 Felipe k
23:32 dalek website: soh_cah_toa++ | Good News, Everyone!
23:32 dalek website: http://www.parrot.org/content/good-news-everyone
23:35 bluescreen left #parrot
23:38 dalek TT #1688 closed by Felipe++: Internal assertion triggered when writing trivial code.
23:38 dalek TT #1688: http://trac.parrot.org/parrot/ticket/1688

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced