Camelia, the Perl 6 bug

IRC log for #parrot, 2008-03-25

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:29 daxelrod joined #parrot
00:57 Coke I wasn't sending an email.
00:57 grim_fandango joined #parrot
00:57 Coke So, I'm a bit confused.
00:57 Coke "I'd" => "i would (if I were you)"
00:58 * Coke tries to figure out what tense that is.
00:58 kid51 Who are you talking to?  Yours is the first post in nearly an hour!
01:00 wknight8111 joined #parrot
01:01 PerlJam kid51: an hour is nothing in the surreal time that IRC provides
01:02 kid51 As Coke would say, "Heh!"
01:02 rdice joined #parrot
01:05 PerlJam kid51: FYI, about 3 hours ago bgeron asked if parrotcode.org would be interested in something called "zeroinstall", Coke guided him a little.
01:06 Coke 19:02 <@bgeron> either the mailing list is slow, or Coke hasn't sent his email  yet :)
01:59 svnbotl r26530 | jkeenan++ | trunk:
01:59 svnbotl : Skip all manifest tools tests when not working in a checkout from the repository.  All our manifest-generating tools depend on running version control functions.  Hence, there's no point in trying to generate a MANIFEST in a release version and no point in testing the MANIFEST-generating tools in a release version.
01:59 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26530
02:19 grim_fandango joined #parrot
03:00 peepsalot joined #parrot
03:23 Andy joined #parrot
03:36 Theory joined #parrot
03:40 contingencyplan joined #parrot
03:40 peepsalot joined #parrot
04:16 AndyA joined #parrot
05:08 contingencyplan joined #parrot
07:16 uniejo joined #parrot
08:04 kj joined #parrot
08:10 marmic joined #parrot
08:15 jrt4 joined #parrot
08:16 svnbotl r26531 | fperrad++ | trunk:
08:16 svnbotl : [pct]
08:16 svnbotl : update doc
08:16 svnbotl r26532 | fperrad++ | trunk:
08:16 svnbotl : [Lua]
08:16 svnbotl : minor refactor
08:16 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26532
08:25 iblechbot joined #parrot
09:54 ruoso joined #parrot
10:15 wknight8111 joined #parrot
10:54 IllvilJa joined #parrot
11:25 rdice joined #parrot
12:19 marmic joined #parrot
12:21 bgeron Coke: ah, I thought you were, sorry :)
12:21 bgeron I'll mail soon then (at school now)
12:34 skids joined #parrot
12:44 particl1 joined #parrot
13:09 gryphon joined #parrot
13:19 jq joined #parrot
13:29 wknight8111 joined #parrot
13:29 iblechbot joined #parrot
13:53 rdice joined #parrot
14:00 Andy joined #parrot
14:30 davidfetter joined #parrot
14:35 avar joined #parrot
15:13 lathos joined #parrot
15:39 Coke lathos: hio. Any feedback on the feedback, or is that in allison's court now?
15:40 lathos Allison is editing it all up.
15:40 Coke ok.
15:46 svnbotl r26533 | kjs++ | trunk:
15:46 svnbotl : [pct] Fix some NQP in the comments, to make it actually work, if needed. So, no changes are made to executable code, only to the NQP in the comments that is implemented in PIR. This as a preparation of a possible bootstrap of NQP.
15:46 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26533
15:48 pmichaud kjs++
15:48 kj oh hi patrick. Congrats on your marriage!
15:49 pmichaud thanks!
15:50 pmichaud we're very happy :-)
15:50 sjansen joined #parrot
15:50 kj that's good to hear :-)
15:50 kj and good to see you back on #parrot :-)
15:50 kj I tried to bootstrap NQP this afternoon. I got it working mostly, but I couldn't use this version to compile my tutorial language.
15:50 pmichaud glad to be back
15:51 kj there are some parts that must be fixed before it can work.
15:53 Coke http://groups.google.com/group/perl.cpan.te​sters/msg/3173bc9642dfc981?hl=en&amp;&amp;q​=parrot+-site%3Aperl.org+-site%3Aparrotcode​.org+-site%3Acpan.org+-perl.perl6+-perl.cvs :: fail report on parrot 0.6.0
15:53 shorten Coke's url is at http://xrl.us/bh8k6
15:53 particl1 kj: care to share your attempts in the form of a branch?
15:54 pmichaud just make it a subdir of compilers/nqp
15:54 pmichaud as opposed to a branch
15:54 pmichaud I'm not in a great hurry to have self-hosted nqp as the primary implementation, but it would be very useful to have it in compilers/nqp for testing and comparison
15:55 Coke lathos: can you remove the very old version of parrot you have on CPAN?
15:55 Coke (0.0.4)
15:56 Coke (I see cpan testers are still dutifully testing it.)
15:56 kj pmichaud: I made languages/nqp; that's easier to set up
15:56 pmichaud hmmm
15:56 pmichaud that might confuse people
15:56 kj but maybe a subdir of nqp is easier
15:56 kj yea
15:56 kj s/easier/more clear/
15:56 pmichaud they should of course continue to use the same grammar -- only the actions implementation is different
15:57 kj it's pretty much the same; except for some operators: I implemented them as PIR subs instead of the inline stuff
15:57 pmichaud that won't work though
15:57 pmichaud the operators need to be inline because NQP assumes there's no runtime
15:58 kj ah ok
15:58 kj well, I had trouble getting it to work
15:58 pmichaud i.e., when rakudo uses NQP to compile its actions methods, those methods can't assume that NQP runtime operators are available
15:58 kj mm right
15:58 kj I see
15:59 kj ok, so that should be fixed then.
15:59 pmichaud anyway, I think a 'selfhost' version of NQP in compilers/nqp would be useful
15:59 pmichaud it could use the same test suite
15:59 kj How should I add it?
16:00 pmichaud for now, a 'selfhost' subdir of compilers/nqp would seem to be okay
16:00 pmichaud or even an actions.nqp file instead of actions.pir
16:00 kj and within that, a directory structure as generated by tools/dev/mk_language_shell?
16:00 kj or just all files in that selfhost dir
16:00 pmichaud no, I wouldn't recreate the directory structure
16:00 kj actions.pl right?
16:01 pmichaud again, the only difference between a self-hosted nqp and the current version of NQP is the source of the actions
16:01 pmichaud so I think we'd only need a separate actions file, and perhaps a different nqp.pir
16:01 particl1 or make it an option to pass to nqp.pir
16:01 pmichaud (that included the compiled form of actions instead of the pir version that is included now)
16:01 pmichaud (option to pass)  that sounds tricky
16:02 pmichaud because we'd have to know which set of action methods to load
16:02 pmichaud could have two action objects, I suspect
16:02 pmichaud one that uses the PIR-generated action methods, one that has the nqp-generated ones
16:02 pmichaud and then the option to nqp simply says which object to use in the HLLCompiler
16:03 kj i see
16:03 pmichaud but for now I'd do it as two separate executables
16:03 pmichaud where the only difference is the source of the actions, and possibly a separate nqp.pir
16:03 pmichaud I have to run errands -- bbl
16:05 pmichaud parrotsketch in 85, yes?
16:06 pmichaud oh, wait.  18:30 UTC, yes?  so that would be 145
16:06 pmichaud okay, that gives me plenty of time
16:06 pmichaud bbiab
16:16 Theory joined #parrot
16:18 particl1 i'll be missing parrotsketch today
16:28 particl1 report posted.
16:29 Infinoid wknight8111: ping
16:29 wknight8111 hello
16:29 purl que tal, wknight8111.
16:29 wknight8111 que tal, purl
16:29 purl bonjour, wknight8111.
16:30 Infinoid hi!  what do you think we should do about RT #51988?
16:30 wknight8111 ...let me look it up
16:30 Infinoid its the _dup thing
16:30 Infinoid I'm not really sure what the motivation is... the patch breaks on linux, but does it fix warnings on win32?  if so, we might want to do something conditional there
16:32 wknight8111 Win32 warns that "dup" is deprecated and we should use "_dup" instead
16:32 wknight8111 it's a small matter, and just because it's deprecated doesnt mean it's an error, yet
16:32 Infinoid but it probably will be, someday
16:32 Infinoid fair enough.  what do you think about putting the #define in an #ifdef WIN32, or the like?
16:32 svnbotl r26534 | kjs++ | trunk:
16:32 svnbotl : [nqp] add initial actions file for NQP, written in NQP. Update MANIFEST.
16:32 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26534
16:32 particl1 #define Parrot_dup
16:33 wknight8111 we could make a simple macro, #ifdef _WSV_CRT #define DUPLICATE _dup ....
16:33 wknight8111 right, something like that
16:33 * Infinoid will test with mingw, to see whether the warning is msvc-specific or not
16:34 wknight8111 i should have done it with mingw too, before I submitted. I thought the patch was going to be mostly harmless
16:34 Infinoid don't worry about that.  it got us thinking about it, which is a very good thing :)
16:36 Infinoid so far, it sounds like... Parrot_dup is defined to dup() on most platforms, and _dup() on MSVC
16:36 Infinoid that will make everyone happy.  right?
16:37 wknight8111 makes me happy
16:37 particl1 smoke testing will bear that out
16:37 particl1 sounds good, though
16:37 Infinoid sounds like a good start, then
16:53 nopaste "Infinoid" at 75.5.247.241 pasted "rt51988-try1.diff" (49 lines) at http://nopaste.snit.ch/12570
16:53 Infinoid wknight8111: any chance you can try that on msvc and see if it warns?
16:55 Infinoid (that define probably isn't in the right place, but first things first)
16:55 kj wknight8111: hi, you asked for my squaak implementation, no?
16:57 svnbotl r26535 | kjs++ | trunk:
16:57 svnbotl : [nqp] update the TODO file to add some notes about the bootstrap version, so I don't forget these.
16:57 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26535
16:58 wknight8111 kj, you sent it to me. thanks
16:58 wknight8111 Sure, i'll try building now
17:07 chromatic joined #parrot
17:08 kid51 joined #parrot
17:14 particl1 /usr/bin/ld: crt1.o: No such file: No such file or directory
17:14 particl1 collect2: ld returned 1 exit status
17:14 particl1 what's that mean i'm missing?
17:14 Infinoid either gcc or glibc :)
17:14 particl1 i have gcc
17:15 particl1 what's the debian pkg name for glibc?
17:15 Infinoid probably libc6-dev is what you're after
17:15 Infinoid do other C programs compile successfully?
17:15 Infinoid debian has a nice "build-essential" package that covers all that stuff
17:16 particl1 sudo apt-get install build-essential
17:16 particl1 Infinoid++
17:26 wknight8111 darn, it didn't work. I must have messed up the macro. What should I test for, _MSV_CRT?
17:27 jonathan Parrot Sketch is about 1 hour away, right?
17:28 kid51 Damn, I forgot that it's localtime changed when we went to DST.
17:29 Coke jonathan: believe so, yes.
17:30 Coke so how does one get ops in a discussion where no one has ops?
17:31 kid51 1830 GMT correct?
17:31 chromatic Yes.
17:31 kid51 Coke:  I think you have to know one of the #perl ops.
17:32 Coke Crap. YA week of "didn't really do anything."
17:32 Infinoid wknight8111: no idea.  _MSC_VER seems to be used elsewhere
17:32 wknight8111 Infinoid, that's what I was thinking about. That's probably it
17:33 wknight8111 ...building again...
17:34 Coke chromatic: didn't you run some of the SDL stuff recently?
17:34 chromatic I had it working with PDD 15.
17:35 Coke http://rt.perl.org/rt3//Ti​cket/Display.html?id=48727 :: remove classoffset opcode :: except that SDL is using it.
17:36 chromatic Which file?
17:36 purl well, Which file is that error in
17:36 Coke though I think that classoffset already throws an exception, so the examples *can't* work.
17:36 cognominal jonathan, thx for reviewing my patch. I am studying  STD.pm to steer in the right direction
17:36 Coke in examples/sdl/{minesweeper,tetris}
17:37 chromatic Those should be easy to fix.
17:38 chromatic I'll work on them.
17:38 Coke danke.
17:38 Coke (one more deprecation gone.)
17:41 kj joined #parrot
17:41 jonathan cognominal: Welcome. :-) I'm going to try and sort out some of the remaining colonpair bits. :-)
17:43 cognominal also,   :a is :a(0) not  :a(Bool::True)
17:43 cognominal I don't know if you have corrected
17:43 barney joined #parrot
17:44 Infinoid wknight8111: *sigh*.  my winxp installation is broken, not going to be able to test mingw for a while, sorry
17:44 cognominal I am trying to understand namespaces too cuz HLLCompiler currently compiles in the global namespace
17:44 jonathan cognominal: :a is equivalent to :a(1), you mean?
17:45 cognominal yes
17:45 jonathan Yup, just saw the bit of S02 that says that, you're completely right.
17:45 cognominal you did it equivalent to :a(True) and I followed suit which was wrong
17:46 cognominal easy mistake
17:46 Coke [18:45:32] t/postconfigure/03-revision....................1/8
17:46 Coke has been sitting there for some time on feather (svn checkout)
17:46 Coke (local mods)
17:47 Coke ... ah session died. whoops)
17:47 Coke whoa! no, not dead, ^C started it going again.
17:48 jonathan cognominal: Fixing it now.
17:50 jonathan But got some other patches locally related to colonpairs that are halfway through too. :_)
17:52 wknight8111 Yes, that fix killed the warning on cl.exe
17:52 wknight8111 i actually don't have mingw here, so I can't test it now
17:53 cognominal jonathan, will you be able to make it to Albi  may 30 and 31?
17:54 cognominal http://conferences.mongueurs.net/fpw2008/
17:54 cognominal or anyone here who wants to talk anything related to parrot
17:55 jonathan cognominal: 'fraid not - I've already had vacation planned for those dates since before FPW was announced.
17:55 jonathan Shame, because FPW is a good time.
17:55 Infinoid wknight8111: thanks, I'll sort this out and check it in, and test mingw later on when I have the chance
17:55 jonathan say (:a).perl
17:55 jonathan :a
17:55 jonathan say (:!a).perl
17:55 jonathan :!a
17:55 jonathan my $a = 'foo'; say (:$a).perl
17:55 Infinoid I don't think this will break mingw, I'm mainly just curious if the warning shows up there too.
17:55 jonathan :a<foo>
17:56 jonathan Woo. :-)
17:56 cognominal cool
17:56 jonathan The .perl method is thanks to you. Plus a couple of little tweaks. :-)
17:56 cognominal and  :a(2) ?
17:56 jonathan Not implemented yet.
17:58 cognominal I don't think parens are necessary
17:58 cognominal in (:a).perl
17:58 svnbotl r26536 | chromatic++ | trunk:
17:58 svnbotl : [examples] Rewrote away classoffset indexed attribute access in Mines::Field.
17:58 svnbotl r26537 | coke++ | trunk:
17:58 svnbotl : [deprecated]
17:58 svnbotl : Remove deprecated vtable entry "subtype". No tests fail.
17:58 svnbotl : Resolves RT#48569
17:58 svnbotl r26538 | jonathan++ | trunk:
17:58 svnbotl : [rakudo] Add .perl method for Pair class. Patch courtesy of cognominal++, with some tweaks from moi.
17:58 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26538
17:59 jonathan cognominal: Yep, it works without too.
18:01 cognominal in fact,  I did not realize that test were working in parrot , I bundled them but commented them out in my patch
18:02 cognominal btw it seems that in perl6  the left side of a => must be a bareword
18:02 cognominal if I trust STD.pm
18:03 cognominal jonathan, I don't know if that affect your last patch
18:03 svnbotl r26539 | jonathan++ | trunk:
18:03 svnbotl : [rakudo] Add missing desigilname token to the grammar.
18:03 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26539
18:05 cognominal jonathan, .return is supported as long it is not buried in a block?
18:06 jonathan cognominal: My reading of STD.pm is the same, yes, it's an <ident> there.
18:06 jonathan .return in what context?
18:08 cognominal it would not work in inner block in code generated by rakudo?
18:08 jonathan Not if you actually want to return from the outer block, no.
18:08 jonathan We haven't got support for return like that yet.
18:09 cognominal the code generated should trhow and catch an appropriate exception?
18:09 Coke yes.
18:10 cognominal jonathan, in the .perl, it seems that the fatarrow is not necessarily a naked string?
18:11 cognominal I mean the string in the left of =>
18:11 jonathan Yeah. That could do with a fix.
18:11 jonathan Guess in that case you have to instantiate a Pair object.
18:16 svnbotl r26540 | jonathan++ | trunk:
18:16 svnbotl : [rakudo] Fix :a and :!a to meet S02.
18:16 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26540
18:18 jonathan Oh, fatarrow is already implemented.
18:18 * jonathan may have done it, but he sure doesn't remember doing it
18:19 jonathan (whoeverdidit)++
18:19 cognominal you did it I think
18:19 jonathan oops, self-karma.
18:19 jonathan :-)
18:21 cognominal I think that when heredoc will be implemented, rakudo will be able to compile itself
18:21 kj w.r.t. the returning of subroutines and exceptions: It seems to me that it doesn't work with the current infrastructure, does it?
18:22 svnbotl r26541 | jonathan++ | trunk:
18:22 svnbotl : [rakudo] Implement simple varname case for colonpairs, e.g. :$foo.
18:22 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26541
18:22 jonathan kj: I believe not, no.
18:22 kj I mean the PCC and flags like :flat and :slurpy. Whenver you "throw" something, it is converted into an Exception object
18:22 cognominal I forgot that
18:22 kj so that should be adjusted
18:25 Coke why is Parrot_exit defined in both embed.h and exit.h ?
18:25 pmichaud cognominal: (heredoc) -- do we need full heredocs, or just the limited form that NQP is currently using?
18:26 cotto_work joined #parrot
18:26 cognominal that depends if you want to aim toward perl6 or toward self-bootstrapping
18:26 kid51 joined #parrot
18:27 chromatic Coke, silly duplication I suspect.
18:27 pmichaud well, I've already commented that self-bootstrapping isn't my highest priority at the moment :-)
18:27 svnbotl r26542 | chromatic++ | trunk:
18:27 svnbotl : [examples] Removed deprecated classoffset opcode from Tetris example.
18:27 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26542
18:27 Coke chromatic: so I'm guessing remove it from embed.h and see if anything breaks?
18:28 Infinoid won't embedders want to exit cleanly too?
18:28 purl joined #parrot
18:28 Coke I'm getting build warnings from it being re-declared, so something is including both embed.h and exit.h
18:29 Coke is the problem with the thing doing the including?
18:29 chromatic embed.h seems right to me.
18:29 chromatic #ps in one
18:39 cognominal pmichaud, can you see a better way to patch the problem described in http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=49758
18:39 svnbotl r26543 | rblasch++ | trunk:
18:39 svnbotl : Updated PLATFORMS for GNU/OpenSolaris (NexentaOS).
18:39 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26543
18:41 pmichaud cognominal: I think the patch avoids the problem but doesn't actually fix the underlying problem
18:42 pmichaud the underlying problem probably has something to do with the way that subs are being generated or managed
18:42 pmichaud otoh, Parrot really should never produce a "Bus error"
18:43 chromatic I've been slowly removing buses from Parrot over the past year.
18:43 Coke we're going to a complete mass transit system.
18:43 cognominal :)
18:43 pmichaud I didn't see in the ticket itself, but does the problem persist if parrot is invoked with -G ?
18:44 cognominal better than a complete mess
18:44 cognominal never tried -G
18:45 * Coke wolf whistles at pmichaud's honeymoon comment.
18:46 cognominal I think as I said in the thread of the bug report, that the rakudo shell should not wraps a block as part of the eval but that a separate issue even if related
18:46 chromatic If someone can reproduce the problem in simple PIR, I'll fix the seggie.
18:46 * Coke wolf whistles at pmichaud's pictures comment.
18:46 pmichaud right now PCT only knows how to create subs
18:47 cognominal the problem is that the interpreter should not do a bus error on a missing outer block
18:47 cognominal what I did is to avoid generating the reference to the missing outer block
18:47 pmichaud well, PCT should certainly not generate an :outer flag on a block that doesn't have an outer
18:47 cognominal so that's very easy to reproduce with simple pir
18:48 chromatic Throw a test case my way and that'll be one fewer segfault.
18:48 cognominal pmichaud, I agree but the interpetor should to better than a bus error
18:48 pmichaud correct
18:49 pmichaud er, correct if you mean that Parrot should do better than a bus error
18:53 cognominal what is the way to die in pmc code?
18:54 chromatic Throw an exception object.
18:54 Infinoid Andy: ping
18:54 Andy sir
18:54 Infinoid hi!  do you know what the difference between PARROT_HAS_SNPRINTF and PARROT_HAS_C99_SNPRINTF is?
18:54 Andy no.
18:55 chromatic For a piece of candy would you figure it out?
18:55 pmichaud how about a Scooby Snack?
18:55 purl Rank roo, pmichaud!
18:55 Infinoid wknight8111 reported RT #51980 to consolidate the two, but I'm not sure whether we want to.  (His win32 platform defines the first but not the second; my linux platform defines both.)
18:56 wknight8111 never discount the possibility that i'm stupid and sleep-deprived
18:56 Infinoid wknight8111: it would be nice to know what the difference is and whether it's important, your solution might be spot-on :)
18:59 Psyche^ joined #parrot
19:03 Infinoid ok.  since noone admits to having anything to do with snprintf, its fair game to rip it apart and see who complains. :)
19:04 chromatic That's why we have the tests.
19:04 chromatic And may I add, you who are about to die, the rest of us salute you.
19:05 * Infinoid cracks up
19:05 chromatic What, varargs, memory management, and IO all smooshed together don't worry you?
19:06 Infinoid if snprintf does any IO, I've really broken it
19:07 chromatic I'm thinking of sfnprintf perhaps.
19:08 Coke kid51: have you tried re-installing the developer tools from apple?
19:08 Coke (on the chance that the custom gcc 4 overwrote some system file somewhere?)
19:08 svnbotl r26544 | jonathan++ | trunk:
19:08 svnbotl : [rakudo] Implement pairs of the form :a(...) (postcircumfix:()).
19:08 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26544
19:09 kid51 Coke:  If I get time I will try that.
19:09 Coke I also wonder if that particular config step is ignoring your explicit settings you've passed to configure.
19:10 mire joined #parrot
19:10 chromatic If it's the shell script I just looked at, the MACOS_INSTALLATION_TARGET environment variable isn't getting set correctly.
19:11 chromatic It persists through the Configuration process, but it's not present for the make process (and the linking process).
19:11 kid51 Coke:  I'm pretty sure it's not.  I can track those with Parrot::Configure::Trace
19:11 kid51 chromatic:  The problem is in the configuration process.  I can build and test successfully (though perhaps the resulting parrot executable is different).
19:12 wknight8111 what does the warning mean "Null PMC acces in invoke()"?
19:13 chromatic You tried to invoke something that's not a Sub.
19:13 cognominal that it tries to find a routine and fails
19:13 kid51 chromatic:  Besides:  What allison had me set was this:
19:13 kid51 [trad] 516 $ echo $MACOSX_DEPLOYMENT_TARGET
19:13 kid51 10.3
19:14 chromatic In your .bashrc or .tcshrc or .profile?
19:14 kid51 .bashrc
19:14 cognominal ... so you get a null PMC on subsequent invoking
19:14 wknight8111 okay thanks. now i need to debug and figure out what i'm doing wrong
19:15 davidfetter anybody know when yapc::na's going to announce which talks made it?
19:15 kid51 barney:  Does my patch in http://rt.perl.org/rt3/Tic​ket/Display.html?id=51860 work for you re manifest tests?
19:16 kid51 davidfetter:  IIRC Josh extended deadline to Mar 31, so decisions should be made soon after.
19:16 davidfetter thanks :)
19:17 Coke So far, only kid51 has updated that wiki page (so says my RSS feed)
19:17 * davidfetter can most easily make travel plans when he knows he'll be speaking
19:17 Coke (regarding talks)
19:17 contingencyplan joined #parrot
19:17 barney kid51: Yes, I've closed that ticket. Thanks.
19:17 kid51 Yes, and I would like some co-leaders to bring off that session.
19:17 kid51 barney:  Thanks.
19:18 Coke kid51: depending on when that session is, I will of course be there.
19:23 * PerlJam makes a(nother) mental note to read kjs' PCT tutorial
19:24 kj PerlJam: You're editor for the perl review right?
19:25 PerlJam not I
19:25 PerlJam that's bdf
19:26 kj oh sorry I thought that was you ;-)
19:27 PerlJam kj: Are there no back links to the other episodes (I just glanced at #9)
19:27 PerlJam ?
19:27 kj no. that's a good point.
19:27 kj not sure how to do that ...
19:27 kj something with http....#episode8 I think, right?
19:27 PerlJam beats me :)
19:28 kj oh. I'm not really into html
19:32 peeps[work] joined #parrot
19:34 contingencyplan joined #parrot
19:37 cotto_work kj, when someone's looking at individual episodes, there are links to the next/prev episodes at the bottom
19:38 cognominal normally   imcc trips when compiling a sub with a fake outer:   compilers/imcc/pbc.c:969:        IMCC_fatal(interp, 1, "Undefined :outer sub '%s'.\n",
19:39 cognominal but apparently that's different within an eval
19:40 kj cotto_work: you mean newer and older post?
19:40 cotto_work eys
19:40 kj that works kinda, but it's not ideal
19:40 cotto_work s/ey/ye/
19:40 kj i mean, it's not clear what those posts are
19:40 kj but it's not a big deal I think
19:42 pmichaud imcc gets called differently from within parrot than as parrot
19:42 pmichaud for example, try compiling a string using the object that comes back from   $P0 = compreg 'PIR'
19:42 pmichaud I had a post (perhaps a ticket) that illustrated this -- just a sec
19:43 marmic joined #parrot
19:46 * Coke needs a tagline description of parrotblog.org
19:46 chromatic It's a blog.  For parrots.
19:46 Coke ... right. committing...
19:47 pmichaud https://rt.perl.org/rt3/Ti​cket/Display.html?id=47956
19:48 pmichaud shows an example where invoking imcc as "parrot" and using the internal compreg "PIR" compiler produces different results
19:49 kid51 Coke:  apropos parrotblog.org.  Couple of weeks ago, I posted on list re difference between that site and planetparrot.  Didn't get any replies.
19:49 cognominal pmichaud: interesting
19:52 pmichaud difference between planetparrot and parrotblog:
19:52 pmichaud planetparrot is an aggregation of feeds/blogs that are related to parrot (could come from multiple sources)
19:53 pmichaud parrotblog is a place where people can blog about parrot that isn't use.perl (i.e., some parrot news might not be appropriate for a perl-only forum, or perhaps should have a larger reach)
20:00 * jonathan really should get around to writing a Rakudo-related blog post sometime soon.
20:04 Coke kid51: I have that request starred to entice me to reply once my waiting for allison times out. =-)
20:05 Coke planet parrot is an aggregate of any parrot-related blogs.
20:05 Coke parrotblog is, er, for, um, parrot related bloggin?
20:05 * Coke seems pmichaud has already opined on this.
20:10 kid51 It would be good to get that distinction added to the Resources page at parrotcode.org
20:18 Coke <small>A blog dedicated to Parrot news, tutorials, and more</small>
20:18 Coke vs.
20:18 Coke <small>An aggregator of select Parrot-related blogs</small>
20:18 Coke that ok?
20:18 purl NO, it isn't
20:19 pmichaud for the second
20:19 pmichaud "An aggregator of blogs from Parrot-related contributors"
20:19 Coke t/postconfigure/03-revision seems to be hanging pretty regularly now on feather.
20:19 pmichaud since planetparrot doesn't seem to distinguish non-parrot posts from parrot posts
20:20 pmichaud or better
20:20 pmichaud "An aggregator of blogs from selected Parrot contributors"
20:20 Coke +1
20:20 purl 1
20:21 cotto_work +1 1
20:22 Coke and 04-revision.
20:25 Coke any other feedback before i commit this version?
20:25 Coke pmichaud's version.
20:32 svnbotl r26545 | coke++ | trunk:
20:32 svnbotl : [icc]
20:32 svnbotl : RT #52028 ([PATCH] Do not split macro invocations that use CONST_STRING into multiple lines)
20:32 svnbotl : Matt Kraai++
20:32 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26545
20:55 jonathan pmichaud: Got a moment to give me hints on a parsing bug?
20:56 pmichaud sure
20:57 jonathan This works:
20:57 jonathan my $x = <-> $a { say $a; }; $x(42);
20:57 jonathan 42
20:57 jonathan But this doesn't:
20:57 jonathan my $x = -> $a { say $a; }; $x(42);
20:57 jonathan Statement not terminated properly at line 1, near "= -> $a { "
20:58 jonathan I am pretty sure, it's trying to parse that as prefix:- or something.
20:58 jonathan But can't confirm that in any way (not sure how).
20:59 pmichaud it's undoubtedly seeing that as prefix:-
20:59 kj isn't -> a prefix op too?
20:59 pmichaud no, it's part of the <pblock> rule
21:00 pmichaud the best workaround I can come up with for now would be to create a prefix:-> that "fails"
21:01 jonathan Issue with longest token rule and bottom-up parsing is my guess?
21:01 pmichaud yes
21:01 jonathan I don't understand PGE anything close to enough to know where to start fixing that.
21:02 pmichaud well, PGE is likely going to need some massive redesign for longest token rule, and for that I need to look at TimToady's work on his parser
21:02 jonathan I'm not blocking on it as such, so if you can see it being fixed on the scale of weeks then it's fair enough.
21:02 jonathan Ah, OK.
21:02 pmichaud I can see us being able to create a prefix:-> workaround fairly quickly
21:02 jonathan Maybe a workaround is the way to go.
21:02 Coke Ugh. So we now have stuff on the web in the wiki, combust, the repository, and the blog.
21:02 pmichaud I don't have a good time estimate for longest token rule.
21:03 jonathan Sure, it looks to me like a *serious* amount of work.
21:04 pmichaud well, fortunately TimToady has one working (at least to some degree) already, so if I have a template/design to follow I'm hoping it won't be too onerous
21:04 jonathan Here's hoping. :-)
21:04 pmichaud if I had to come up with it myself, I'd be a lot more pessimistic about it
21:05 jonathan What are you thinking of working on next Rakudo wise, beyond catching up on what @other have been doing?
21:06 pmichaud refactoring classes and protoobjects, with an eye towards .HLL
21:06 pmichaud other items would be regex/rule/token, and getting 'return' to work
21:06 pmichaud (since 'return' is needed for PCT completion)
21:07 jonathan OK, cool.
21:07 jonathan They are things I'm less comfortable working on, so I'm happy to not have to worry about them. :-)
21:07 pmichaud anything you'd particularly like to see me work on ?  ;-)
21:08 pmichaud I do take requests :-)
21:08 jonathan Actually, the above list is pretty much what I would have asked for.
21:08 kj i think the control stuff like break/continue/return is interesting, but needs better parrot support
21:08 kj it would be on My Wishlist ;-)
21:08 pmichaud I think parrot is pretty close, it's just PCT that needs to support it
21:08 pmichaud simply being able to throw exceptions is all that I need parrot to do
21:09 pmichaud (throw exceptions with a payload, that is)
21:09 jonathan I take requests too, if there's anything in Rakudo you want me to look at.
21:09 kj ok. I don't really see how it would work frankly, as you have to wrap stuff in exceptions
21:09 kj not very efficient anyway
21:09 pmichaud however, it would be very nice if Parrot had something equivalent to Perl's "Capture" object that can package up positional and named arguments into a single PMC
21:09 jonathan My plans for next stuff is to get fatarrow and colonpair passing named parameters.
21:10 jonathan Hmm, a capture PMC.
21:10 purl it has been said that a capture pmc is quite useful, similar to a DOM tree
21:10 pmichaud there's already a Capture pmc in Parrot, but it's broken.  It needs to be re-done with the new pdd17 model in mind
21:10 pmichaud and the Capture object that PGE/PCT uses is written entirely in PIR, so it's a bit slow
21:11 jonathan Does the one that PAG and PCT use have the correct semantics?
21:11 Coke control-flow-exceptions: we should standardize on how we do this for HLL interop.
21:11 jonathan s/PAG/PGE/
21:11 pmichaud Coke: that's what I'm intending for PCT, yes
21:11 pmichaud jonathan: there are a few minor changes to be made, but essentially the semantics are correct, yes.
21:11 Coke right now tcl is just throwing exceptions and using one of the slots to store the control-flow type.
21:12 Coke (corresponding to the values at: http://www.tcl.tk/man/tcl8.5/TclCmd/return.htm)
21:13 Coke ->
21:13 kj it'd be nice if under the hood, so in PIR, return statements are still return statements, and not exceptions. Even if they're using the exception mechanism
21:13 jonathan pmichaud: Where can I find the PIR version?
21:13 purl the PIR version is gone i think
21:14 pmichaud jonathan: runtime/parrot/library/Parrot/Capture_PIR.pir
21:14 pmichaud kj: that's my intent
21:14 nopaste "cognominal" at 82.67.232.89 pasted "unsucessful fix" (21 lines) at http://nopaste.snit.ch/12571
21:14 pmichaud kj: there will likely be a 'return' op node in PCT
21:14 kj right. but what I meant is, that there's also PIR syntax hiding the exception stuff
21:15 cognominal I try that but it still fails :(
21:15 jonathan pmichaud: Thanks, will keep that in mind as something to work on soon.
21:15 pmichaud oh, I don't think the PIR version of 'return' needs to be exception-based
21:15 pmichaud we already have 'throw' for that :-)
21:15 pmichaud on phone
21:16 chromatic Where's the Capture PMC?
21:16 purl the Capture PMC is probably quite useful, similar to a DOM tree
21:17 pmichaud src/pmc/capture.pmc, I think
21:18 chromatic Hm, I updated it if it's there.
21:18 pmichaud oh, perhaps I need to re-test it then
21:19 chromatic It may still be broken, but it should at least compile correctly.
21:21 pmichaud well, it may work, but I was under the impression that the new PMC implementation would allow us to be more efficient in implementing stuff like this (i.e., a capture needs a separate Hash and Array component)
21:22 pmichaud previously it was somewhat complex because there was really only one data slot
21:22 chromatic Yeah, that's doable.
22:09 Limbic_Region joined #parrot
22:15 jonathan Wheee..
22:15 jonathan class Foo { has $.a; }
22:15 jonathan my $x = Foo.new(a => 42); say $x.a;
22:15 jonathan 42
22:16 kj jonathan++
22:16 kj seems like rakudo is nearing completion :-P
22:16 kj I have no clue how much more must be implemented...
22:16 jonathan You haven't seen the Perl 6 spec, have you? :-P
22:17 cognominal :)
22:17 kj I scrolled through it and thought: too much for me
22:17 kj :-)
22:17 cotto_work joined #parrot
22:17 kj then again, pure size doesn't say anything
22:18 cognominal jonathan, what is the perl6 incantation to ask to use registers for lexical variables?
22:18 cognominal cuz lexpads are costly
22:18 cognominal there must be a way otherwise why native types
22:18 jonathan kj: There's still a *lot* to do in Rakudo.
22:19 PerlJam cognominal: I doubt any such mechanism is specced.
22:19 jonathan cognominal: my int $x; # should, one day, be a Parrot int register
22:19 jonathan The lowercase types are the native ones.
22:19 kj jonathan: yeah i didn't expect otherwise; but it's very difficult to get any clue about which parts. At least for outsiders like myself
22:19 jonathan However, that's not implemented at the moment.
22:19 cognominal I know that :)
22:19 PerlJam oh.  /me was thinking of registers as in the C sense.  Silly me.
22:20 cognominal but some day someone will want to do fibonacci with radkudo
22:20 svnbotl r26546 | jonathan++ | trunk:
22:20 svnbotl : [rakudo] Treat pairs in parameter lists as named arguments.
22:20 svnbotl r26547 | jonathan++ | trunk:
22:20 svnbotl : [rakudo] Fix new method for Object.
22:20 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26547
22:21 jonathan kj: At the moment, it'd probably be easier to point out the bits that are implemented, than the bits that aren't. ;-) But a version of the spec that had the bits that Rakudo implements highlighted green or something, or that it partially implements that are buggy in yello, would be cool to have.
22:21 jrt4 joined #parrot
22:22 kj jonathan: yeah, that'd be cool. When selecting grammar bits to implement, do you look at the spec?
22:22 kj I mean, how do you decide what to do
22:22 PerlJam jonathan: I've thought it would be cool if you could somehow do that with STD.pm vs. grammar.pm  (but that's just parsed, not implemented)
22:22 jonathan I'm going for a breadth-first approach at the moment, which basically means I'm trying to get little bits of all sorts implemented.
22:24 jonathan Part of it is certainly driven, by, which bits of the spec do I look at and have a good idea of how to implement.
22:24 jonathan I'm also trying to get a lot of the common cases covered, though.
22:24 PerlJam kj: When ever I attempt to hack on rakudo, I look at STD.pm and I try to make grammer.pm look more like STD.pm  :)
22:24 kj mm I don't even know how to get at the STD.pm
22:24 jonathan So when I give Perl 6 talks, I can say "and you can run this in Rakudo today". :-)
22:24 PerlJam kj: invariably though, I run into problems hacking the corresponding actions.pm part as I don't do it enough for it to be comfortable.
22:25 PerlJam kj: it's in the pugs repo
22:25 jonathan kj: http://svn.pugscode.org/pugs/src/perl6/STD.pm
22:25 svnbotl r26548 | infinoid++ | trunk:
22:25 svnbotl : [io] Apply patch similar in spirit to RT #51988
22:25 svnbotl : Hopefully this will resolve warnings on win32/msvc.  I'm pretty sure it won't
22:25 svnbotl : affect any other platform.
22:25 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26548
22:25 kj is it me, or is this a very complex spec? :-P
22:26 chromatic It's not just you.
22:26 PerlJam kj: This is "perl 6", not "python 3000"  :-D
22:26 kj ha ha ;-)
22:26 chromatic You mean Python 2.7?
22:26 PerlJam whatever they're calling it these days
22:26 kj i think it's "3" these days...
22:27 kj it seems to me that the spec contains executable code to parse this... Am i right in that?
22:27 PerlJam kj: read the comments
22:30 jonathan Happily, someone++ already did named params. So this works now too...
22:30 jonathan sub foo (:$bar) { say $bar; }
22:30 jonathan foo(bar => 42);
22:30 jonathan 42
22:31 jonathan And foo(:bar(42)) of course.
22:31 kj :bar(42) is same as bar=>42?
22:31 jonathan Yes.
22:31 kj just as in PIR, kinda
22:34 kj a Perl 6 specification tutorial wouldn't be useless ;-) (hint, hint)
22:36 jonathan kj: What would you want it to cover?
22:36 cognominal jonathan : default_statement should be   $<sym>=[default| '*']
22:37 kj jonathan: well I guess it's just a bit confusing how this stuff works. It's not just anohter grammar specification, like any other language. This is way more complex.
22:38 kj and I don't understand why all this complexity...
22:38 pmichaud why should default_statement include '*' ?
22:38 * cognominal searches the relevant synopsis
22:39 jonathan pmichaud: I don't think it should. But when * is equivalent to default
22:39 jonathan But that waits until we implement Worreva.
22:39 pmichaud jonathan: yes, in which case it's a when_statement :-)
22:39 jonathan Right.
22:39 jonathan And I don't think it's a special case either.
22:40 jonathan Just that the Whatever type has a very simple ACCEPTS method. :-)
22:40 pmichaud correct
22:40 jonathan token whatever { '*' {*} }
22:40 jonathan Hmm, should that just instantiate the Whatever class?
22:41 pmichaud seems reasonable enough for now.  Either that or return the Whatever protoobject, or a singleton instance of Whatever
22:41 cognominal oops
22:42 cognominal it reads  default  { ... } is exactly equivalent to  when * {...}
22:42 jonathan The protoobject makes sense.
22:42 pmichaud right... but 'when * { ... }' is an example of a when_statement, not a default statement
22:42 cognominal yes, I was wrong
22:43 pmichaud well, I don't know what sort of definedness we need for '*'
22:43 jonathan Well, I'll stub it in enough to make when * work... :-)
22:43 pmichaud sounds great :-)
22:43 cognominal I can't remember every synopsis :(
22:44 pmichaud neither can I, which is why I had to look it up also :)
22:44 jonathan cognominal: If you could, I'd be terrified of you.
22:44 cognominal I have seen you arenot omniscient either :)
22:44 mire joined #parrot
22:45 jonathan Oh, hmm. While whatever is defined in STD.pm, it's not mentioned nearly anywhere else in the grammar.
22:46 skids joined #parrot
22:46 cognominal * means many different things in many place, that's the ultimate joker
22:47 jonathan Well, I'm not implementing all of it's meanings before I go to bed. :-P
22:48 pmichaud I think the concept of 'whatever' is often more context-sensitive than syntax
22:49 jonathan That's my impression from S02.
22:50 jonathan I remember seeing Whatever for the first time at some YAPC::EU in a Larry keynote and thinking "wow, that's nice...but I wouldn't want to be implementing that". Ah well...
22:50 skids jonathan: http://www.perlfoundation.or​g/perl6/index.cgi?witch_star
22:51 cognominal variables with a + twigil are dynamically scoped?
22:52 cognominal I see them in many places in STD.pm?
22:52 pmichaud they're contextual variables
22:52 pmichaud which means we look up the call stack to find the scope in which it's defined
22:52 cognominal ok, that's what I call dynamical scope
22:52 spez joined #parrot
22:53 cognominal some lisp did that too
22:53 cognominal so we do both lexical and dynamic
22:53 pmichaud the variable in the outer caller scope also has to be defined with the 'context' trait
22:54 pmichaud yes, we do both lexical and dynamic
22:54 jonathan I haven't thought much about how to implement those just yet. :-)
22:54 pmichaud oh, it's easy -- PCT is going to implement dynamic scope
22:54 pmichaud essentially we just use getinterp and traverse the caller stack looking for a matching lexical
22:55 jonathan Oh, wow. It's easy.
22:55 jonathan :-)
22:55 jonathan skids: Thanks. :-)
22:55 pmichaud (we'll have to do some trickery to handle the 'context' trait and skip over entries that aren't 'context'... but we can work that out)
22:55 jonathan Hmm, getting PCT to do that neatly could be fun.
22:56 jonathan As in, in a language-independent way.
22:56 pmichaud I'm thinking it's just a PAST::Var of :scope('context')
22:56 jonathan Or we could just replace its 'dynamic' with our own by fiddling the namespace. :-)
22:56 jonathan Or that.
22:56 jonathan Oh, fiddling the namespace breaks other languages we want to compile. Forget that.
22:57 pmichaud and PCT will convert that to call a subroutine that handles the callstack
22:57 pmichaud note that it's not really namespace related
22:57 pmichaud or, for that matter, I could just leave it up to the HLL to define its own method for grabbing a context var
22:57 jonathan I was referring to putting a new Sub into the namespace entry for 'dynamic' in the PCT namespace. ;-)
22:58 jonathan But it's wrong, wrong wrong.
22:58 pmichaud ohhhh
22:58 pmichaud no, the way to do that is to subclass PAST::Var (or whatever) and add a new method
22:58 purl okay, pmichaud.
22:58 jonathan :-)
22:58 jonathan Oh yes, I know how to do OOP.
22:59 * jonathan shouldn't try and think about anything much when he's this tired
23:01 pmichaud afk for a while
23:02 jonathan say *.WHAT;
23:02 jonathan Whatever
23:02 jonathan woo
23:08 wknight8111 in PIR, i would use the 'exit' keyword to exit the program, right?
23:08 wknight8111 because i'm calling exit, and nothing happens
23:08 jonathan wknight8111: Try end instead
23:08 wknight8111 like "end 0"?
23:08 jonathan Just end
23:09 wknight8111 ok
23:10 kj wknight8111: it's "exit 1" and "end"
23:10 wknight8111 that works like a charm. Thanks
23:10 kj so exit takes an integer arg
23:10 wknight8111 i was doing exit, nothing happened
23:10 kj exit 1 didnt' work?
23:10 wknight8111 no
23:11 kj mmm. i don't remember whether i used that.. prob not then
23:12 wknight8111 it doesnt error either, it just ignores the command
23:12 chromatic There's an end op and an exit I op
23:12 wknight8111 i'll stick with "end", but the exit thing should probably be fixed
23:12 chromatic Okay, I can't find the exit op, just its documentation.
23:13 pmichaud there's a test for it
23:13 pmichaud t/pmc/exception.t
23:14 wknight8111 i found the exit command in the perl6 builtins/control.pir, so that might be worth testing
23:14 * jonathan remembered to update MANIFEST, for once.
23:15 pmichaud looks like it's in core.ops
23:15 chromatic Ah, there it is.
23:15 chromatic Somehow I couldn't find it.
23:15 pmichaud wknight8111: could you nopaste the code you were using to test exit?
23:15 pmichaud or else file a ticket for it?
23:16 wknight8111 it's rediculously simple: .sub 'exit' exit 1 .end
23:16 pmichaud so how do you know it's not working?
23:16 wknight8111 because when I call that function, it doesnt exit
23:17 wknight8111 when i switch the "exit 1" to "end", it exits
23:17 pmichaud oh
23:17 jonathan Does exit just set the exit code?
23:17 jonathan And end actually ends the program?
23:17 pmichaud according to core.ops, it throws an exception
23:17 jonathan Ah.
23:17 pmichaud inline op exit(in INT) { do_exception(interp, EXCEPT_exit, $1);
23:17 pmichaud }
23:18 pmichaud so if there's something catching exceptions, then it would be caught/handled
23:18 pmichaud in rakudo's case, that means that the interactive mode wouldn't "exit"
23:19 pmichaud (or in anything using PCT's interactive mode)
23:19 svnbotl r26549 | jonathan++ | trunk:
23:19 svnbotl : [rakudo] Add the Whatever class and * syntax for it, and give it an ACCEPTS method so when * { ... } always runs.
23:19 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26549
23:20 wknight8111 okay, so that must be the problem then. I was testing it interactively
23:20 rdice joined #parrot
23:20 pmichaud right.  PCT's interactive mode catches exceptions so that a syntax error or floating point error doesn't exit Parrot
23:20 pmichaud but it's not smart enough yet to distinguish an "exit" exception from others
23:21 pmichaud (although I thought it was smart enough to do that...)
23:21 wknight8111 is there a flag we can test to determine if we are running interactively?
23:21 pmichaud not really
23:22 wknight8111 fair enough
23:22 Limbic_Region wknight8111 - implement -T
23:22 pmichaud I just double-checked -- HLLCompiler just catches all exceptions in interactive mode, but doesn't check the type of exception to decide if it should be rethrown
23:22 Limbic_Region er, -t
23:27 cognominal hum, how STD.pm does hash composers?
23:27 pmichaud block
23:28 pmichaud { a => 3, b => 4 }    is just a block
23:28 jonathan OK, now Whatever's stubbed in, I'll get some sleep. :-)
23:28 cognominal jonathan++
23:29 cognominal but, it is executed immediately
23:29 jonathan night all
23:29 cognominal g'night jonathan
23:29 pmichaud it's not executed immediately when used as an rvalue
23:29 pmichaud my %a = { a => 3, b => 4 }
23:32 pmichaud information about hash composers is in S04, starting with "Anywhere a term is expected, a block is taken ... "
23:32 cognominal but it seems that it is a hash composer only if the first expression is pair or hash like
23:32 pmichaud correct.  If the closure contains only a comma-separated list starting with a pair or hash, the closure is treated as a hash composer
23:32 pmichaud (or if the closure is empty)
23:33 pmichaud either way, it parses as a closure (which is what STD.pm is all about)
23:33 cognominal immediatly meaning at affection time
23:33 cognominal affectation!
23:34 pmichaud it's up to something outside of STD.pm to decide if the closure is a hash composer or a closure
23:34 pmichaud (in rakudo, this will be the action methods of noun or term, probably)
23:34 cognominal hum what is the english word for affectation?
23:35 cognominal assignment!
23:35 purl well, assignment is different in scalar contexts than in array context
23:36 cognominal I suppose that actions.pm should look into the block content
23:37 cognominal currently > my %a = { a => b }; gives  Statement not terminated properly at line 1, near "=> b };\n"
23:38 cognominal hum that the fat comma
23:40 pmichaud actions.pm will look into the block content when the block is being used as a term/noun, probably
23:41 cognominal btw STD.pm says an ident at the left of a => but the example in S04  contain  "a" => 1
23:41 pmichaud it should allow ident or term.  but fatcomma in std.pm might be handling only barewords on the lhs, leaving infix:=> to handle the other cases
23:41 pmichaud (I haven't looked)
23:42 cognominal I think it can be legitimate to assign a block to a scalar
23:43 cognominal ha, ok. I get it. this business of expressions handled outside the "main grammar trick me
23:44 cognominal I just figured out how the assignment gets a different precedence according to the list or scalar context
23:45 kid51 joined #parrot
23:45 cognominal should follow jonathan's example and go to bed...
23:45 wknight8111 bed is for the weak
23:47 wknight8111 I wish some of the PCT error messages were a little more descriptive. This debugging is an uphill battle
23:47 cognominal I am past the age when I feel I have to prove somehow my manhood.
23:47 wknight8111 I agree, i'm headed to bed before too long myself
23:47 wknight8111 :)
23:48 * kid51 muses, "Let me see; where is my manhood?  I think I left it around here somewhere."

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

Parrot | source cross referenced