Parrot 0.6.0 "P&P" released | Please mentor for SoC | parrotcode.org/ | YAPC::NA talks deadline is Mar 31 | tinyurl.com/2pmnlq
Set by moderator on 18 March 2008.
Coke ewilhelm: "this gives us all the command line tools you need, as well as xcode, if you want the gui). it also does if it you don't want the gui. =-) 00:00
wknight8111: don't use find_global. It's deprecated.
wknight8111 yeah, i've already gotten rid of it. For future reference, what should I use in it's place? 00:03
00:03 slightlyoff joined
Tene find_no_globals() 00:06
pmichaud get_hll_global
or get_global
$P0 = get_hll_global ['Other';'Namespace'], 'foo'
$P0()
wknight8111 okay, thanks
pmichaud get_hll_global reads from a namespace relative to the (hll) root 00:07
get_global reads relative to the current namespace
wknight8111 ok, that makes sense
00:09 lidi20 joined
jonathan finally gets around to scribbling a Rakudo blog post 00:14
pmichaud oooh, ya beat me to it :-) 00:15
Coke seen ambs? 00:16
purl ambs was last seen on #parrot 5 days and 7 hours ago, saying: now I just need to get rid of that complain to the undefined function 'link' [Mar 22 09:46:55 2008]
jonathan pmichaud: I'm sure you'll write a more general/comprehensive one.
Coke also "get_root_global", iIRC.
jonathan use.perl.org/~JonathanWorthington/journal/35993
Only talked about pairs and subset. 00:17
00:17 Psyche^ joined, GeJ joined
Coke seen chromatic? seen allison? 00:20
seen chromatic?
purl chromatic was last seen on #parrot 22 hours and 17 minutes ago, saying: Works for me.
Coke seen seen allison?
seen allison?
purl allison was last seen on #parrot 16 days and 4 hours ago, saying: jonathan: yes, it's there now [Mar 11 12:56:49 2008]
Coke (argh)
Tene seen Coke?
purl Coke was last seen on #parrot 13 seconds ago, saying: (argh)
Coke *smack* 00:21
jonathan posts it on rakudo.org too 00:30
Coke ETOOMANYBLOGS 00:39
Coke needs a blog aggregator that is smart enough to weed out duplicate posts.
(across feeds)
Coke <3's amazon, briefly.
lathos reads the meeting minutes, finds out he has work to do. 00:42
Coke *whip crack* 00:43
Coke offers lathos a free cookie.
jonathan Yeah, I wish there were one place to post it too. 00:45
Anyway, sleep...got flight to Uk tomorrow for wedding.
wknight8111 what would cause a "null PMC in invoke()" error in my compiler before the TOP rule has even started? 00:47
00:49 jrt4 joined
lathos You spelt something wrong? 00:49
Coke did you do a find_global and try to invoke something without checking to make sure you found it? 00:50
wknight8111 no, i dont use "find_global" anywhere 00:51
I have a debug statement as the very first thing in my TOP rule, and that never triggers. 00:52
so no action rules are getting called
I should have put this under version control so I could revert back before this 00:55
Coke not specifially find_global, but some kind of lookup.
"how are you invoking TOP?"
did you just use the language shell maker? 00:56
wknight8111 yeah exactly. language shell maker. I call 'command_line'(args) without problem, i get to the interactive shell no problem 00:57
when I do a .namespace declaration, does that go till the end of the current file, or does it carry over through .include statements? 01:00
I mean, I assume it doesnt carry over 01:02
okay, i figured it out. a misplaced ".namespace" directive in one of my builtins files 01:07
Coke smacks whoever asked about the exit exception: it's in the compiler faq! =-) 01:14
wknight8111: it does carry over.
.include is as if you typed all that in the original file. 01:15
wknight8111 thanks coke, that's helpful information! 01:17
ewilhelm Coke: are there any soc mentors with pugs chops?
Coke ewilhelm: I don't know.
... did larry volunteer?
ewilhelm grep suggests not 01:18
Coke ack!
grep?
purl i think grep is like groups, except not or Globally search for Regular Expression and Print
Coke no, grep is <reply>ACK!
purl okay, Coke.
ewilhelm my people.tsv is the mentors file
01:21 Theory joined 01:52 drbean joined 01:55 Ademan_ joined
wknight8111 grep 01:56
...i was expecting the bot to say something...
Tene purl: grep
purl ACK!
Tene grep?
purl ACK!
wknight8111 show-off 01:57
Infinoid heh 01:58
ack --thbbbbt
ewilhelm my ack ignores direct filename arguments if it doesn't recognize the extension though
Tene ewilhelm: update to latest
Coke svn-latest 01:59
ewilhelm fooey
Coke or you can wait for 2.0 which is RSN.
ewilhelm sets palm reminder for RSN 02:01
02:29 cotto_home joined 03:41 b2gills left
dalek r26586 | infinoid++ | trunk: 03:51
: [CREDITS] Why aren't a.k.a.'s more common in CREDITS? There's only 1. And now there's 2.
diff: www.parrotvm.org/svn/parrot/revision?rev=26586
Infinoid diakopter: \\o/
cotto_home Infinoid, you can add an aka for me as cotto if you want 04:03
(and one for chromatic, but I don't think anyone knows his real name) 04:05
jk about chromatic 04:07
04:16 AndyA joined
Infinoid his real name isn't chromatic? :) 04:49
cotto_home: I have to admit, that checkin was actually an evil plan of mine to check dalek's new "svnlog" plugin 04:50
cotto_home sneaky 04:51
I didn't notice that it wasn't svnbotl. It'll be nice to have a smarter svn bot.
Infinoid I just hope it keeps working 04:52
05:07 Ademan joined 07:34 nopaste joined, iblechbot joined
dalek r26587 | fperrad++ | trunk: 08:32
: [Lua] PAST-pm deprecation
: - test_lex uses PCT/PAST
diff: www.parrotvm.org/svn/parrot/revision?rev=26587
09:30 wknight8111 joined 09:38 skv joined 10:09 kj joined
dalek r26588 | fperrad++ | trunk: 10:15
: [Lua]
: - fix POD
diff: www.parrotvm.org/svn/parrot/revision?rev=26588
10:36 TonyC joined 10:57 ruoso joined 11:47 dalek joined
dalek test of self-flood prevention 11:56
diakopter oh good, it works for separate messages
Coke oh, dalek still knows the branch. excellent. 12:15
12:23 particle joined 12:31 wknight8111 joined
Coke particl1: hio 12:31
particle hey there 12:32
harumph, my nicks switched
pmichaud particl1: good morning! 12:42
purl morning jackass
kj purl's not too nice today... 12:43
pmichaud purl often seems to be that way towards my comments... for example
purl pmichaud: huh?
pmichaud hello, all
morning, all
oh, I guess they're gone :-)
good.
pmichaud spits at purl.
Infinoid good morning pmichaud :) 12:45
12:47 kid51 joined 12:49 iblechbot joined 13:03 lidden joined 13:09 skids joined 13:33 gryphon joined
Coke wonders if he ever opened a ticket about the smoke. 13:41
kid51 Any smoke in particular? 13:42
Coke go here: smoke.parrotcode.org/smoke/ :: look at the last visible text on the screen. 13:44
(the coda is in the wrong spot. removing it breaks the coda test, putting somewhere else might fail the coda test. (not sure.) 13:45
(if so, the coda test should probably be smarter.)
kid51 Yup, that's been there for a long time. I have an RT open which calls for revamping the smoke reports, but it didn't include that particular.
Coke ah. moving it just before the __DATA__ block is fine, codingstd test still passes. 13:47
... whoops, wrong coda test, moment... 13:48
dalek r26589 | coke++ | trunk: 13:51
: [codingstd]
: Move the perl coda out of the DATA segment: in there, it's visible
: on the server in the HTML. This file continues to pass the codingstd test.
diff: www.parrotvm.org/svn/parrot/revision?rev=26589
Coke dalek, you on a hair trigger there?
diakopter dalek polls the rss every 30 seconds 13:52
Coke /Users/coke/research/parrot/tools/util/gen_release_info.pl is missing the perl coda, if someone wishes for a quick win. 13:53
diakopter oooo I think dalek is actually throttling its posts 13:54
diakopter high-fives Infinoid
Coke hearing no takers, I'll add the coda. 13:58
diakopter Coke: I would've, but I don't have a commitbit.
course, I haven't asked for one. 13:59
14:02 rdice joined
Infinoid looking good so far 14:03
dalek r26590 | coke++ | trunk: 14:06
: [codingstd]
: remove unused 'use'
diff: www.parrotvm.org/svn/parrot/revision?rev=26590
r26591 | coke++ | trunk: 14:07
: [codingstd]
: - add the perl coda to one file that didn't have it...
: - ignore the perl6 files in nqp when running critic tests...
: - perlcritic now passes all tests. Adding back to the default set of
: codingstd tests.
diff: www.parrotvm.org/svn/parrot/revision?rev=26591
Infinoid Coke++ # was wondering why perlcritic wasn't in that set already 14:08
diakopter one disadvantage of the new system is that it doesn't force SVN::Web to precache the diff page. So the first (few) person(s) to hit it experience a few-second delay.
Infinoid you could always fork off a "fetch" process right after writing the log to the channel 14:10
or right before, if you wanted to guarantee a clean precache 14:11
hmm. "guarantee" is too strong a word. but if you don't fork, it could idle out like svnbotl did
14:12 rdice joined
pmichaud how long does it take to do the precaching? 14:13
maybe fork off a precache, wait five seconds, then write log to chan
Infinoid probably depends greatly on the size of the diff 14:14
pmichaud we don't need *immediate* notification of changes. :-)
Infinoid think I'd prefer to make SVN::Web smarter so that it doesn't generate the same data multiple times in parallel 14:15
dalek r26592 | coke++ | trunk: 14:18
: [codingstd]
: Only generate diag output about this test if we're actually going
: to run the test.
diff: www.parrotvm.org/svn/parrot/revision?rev=26592
Infinoid if threads::shared stuff is valid in mod_perl, that should be pretty easy to do
diakopter: that should reduce the overhead, right? 14:19
hmm. different problem, but still useful. 14:22
14:42 turrepurre joined 14:55 kj joined 15:01 Theory joined 15:04 peeps[work] joined
dalek r26593 | coke++ | trunk: 15:07
: [codingstd]
: Relax one of the not-yet passing perlcritic rules slightly
diff: www.parrotvm.org/svn/parrot/revision?rev=26593
16:06 Theory joined 17:04 IllvilJa joined 17:06 kid51 joined
kid51 Coke: ping 17:17
Coke pong
kid51 Last night we had a Parrot/Rakudo build fest at Toronto.pm. I have lots of data to report.
Some of it is build/test logs on OSes that we haven't seen before. 17:18
Coke sweet.
kid51 Some of it is failures on OSes that we see all the time, together with some diagnoses.
Coke You gonna open some tickets to track progress and/or hit the list? 17:19
kid51 Particularly for tracking by OS, I was thinking of opening them up as RTs rather than simply as posts to the list.
Coke certainly for the failures, ya.
(there is an "what os did this happen on" setting as well. 17:20
kid51 I think I'll open up one ticket, intended to be open-ended, which simply says "Secure user feedback on build-install." Then have other more specific tickets refer to that one.
So the successful builds will close right away -- but we'll have a tag for that OS. The ones that failed will be bug reports. Okay? 17:21
Coke ... it's verbose, but fine. 17:28
thanks! 17:30
wknight8111 If i'm interested in requesting a commit-bit, I have to fill out a CLA first, correct? 17:45
Coke it's a prereq to getting a bit, not to asking about it. =-) 17:46
I would say anyone that gets accepted into SOC is probably going to get one (and branch to do their work in.)
dalek r26594 | pmichaud++ | trunk: 17:56
: [tge]:
: * Convert TGE to use Perl6Grammar and Perl6Regex instead of
: deprecated pgc/P6Regex (RT#48028).
diff: www.parrotvm.org/svn/parrot/revision?rev=26594
r26595 | pmichaud++ | trunk: 18:14
: [json]:
: * Convert JSON to use Perl6Regex and Perl6Grammar instead of the
: deprecated P6Regex and pgc tools (RT#48028).
diff: www.parrotvm.org/svn/parrot/revision?rev=26595
Coke seen js? 18:15
purl I haven't seen 'js', Coke. There are too many close matches to list.
Coke seen kj?
purl kj was last seen on #parrot 5 hours and 32 minutes ago, saying: purl's not too nice today...
18:28 contingencyplan joined 18:32 chromatic joined
chromatic pmichaud, ping 18:32
pmichaud chromatic: pong 18:35
chromatic I'm updating Pheme to use P6Regex; any advice? 18:36
pmichaud the biggest thing is to remember that non-word characters all require quoting
chromatic Or Perl6Grammar, whichever it is.
How about the quote token?
pmichaud normally it's commas, quotes, and hyphens that get overlooked
checking 18:37
it needs to be backwhacked
token quote { \\' }
and the semi in token ws
should be quoted or backwhacked
the only other item is that any old-non-capturing rules <?ws> become <.ws> in the new syntax 18:38
chromatic Ah, I missed the semicolon.
Everything else I had.
pmichaud I don't see much else in the pheme grammar that needs convering
chromatic Scheme wins one.
pmichaud in the makefile, just change pgc.pir to use runtime/parrot/library/PGE/Perl6Grammar.pbc and it'll compile to the Perl6Regex syntax 18:39
chromatic Already done.
pmichaud that should be about it, then :-)
chromatic Thanks! 18:40
dalek r26596 | chromatic++ | trunk:
: [Pheme] Converted grammar from pgc to Perl6Grammar.
diff: www.parrotvm.org/svn/parrot/revision?rev=26596
18:40 Psyche^ joined 18:41 contingencyplan joined
cognominal is there a parrot libray that does the equivalent of a perl6/unix unlink(). or system() as a cop out? 18:45
dalek r26597 | pmichaud++ | trunk: 18:50
: [nqp]:
: * Add some useful operators such as ++, --, &lt;, &lt;=, &gt;, &gt;=.
: * Patch courtesy Klass-Jan Stol &lt;parrotcode@gmail.com&gt; (kjs++)
: * (some Pm modifications to patch before applying)
diff: www.parrotvm.org/svn/parrot/revision?rev=26597
Infinoid diakopter: might want to remove html escapes from the log message... 18:53
pmichaud s/remove/unescape/ 18:56
diakopter Infinoid: I bet that's an option in XML::RAI
18:59 slightlyoff joined
diakopter maybe not 18:59
Infinoid I don't see one in XML::RSS::Parser (its backend) either 19:00
diakopter HTML::Entities it is, then :] 19:01
Infinoid you sound like you know what you're doing 19:03
diakopter :P 19:04
19:07 dalek joined
jonathan Ooh, we haz new SVN bot? 19:12
diakopter it's a teency bit smarter
wknight8111 I HAS A NEW_SVNBOT </lolcode> 19:13
actually, i don't have one, but it isn't valid lolcode to say that YOU HAS one 19:14
diakopter well hmm. why isn't it getting 26598 19:15
Tene Although perhaps it should be!
Infinoid heh
"YOU HAS" == export
dalek r26599 | jonathan++ | trunk:
: [rakudo] Start sticking in some bits of file I/O. open, which returns the new IO object, and has methods .print, .say and .close. prefix:= added too, but looks like Parrot IO iterator maybe isn't done yet. It's a start, anyway.
diff: www.parrotvm.org/svn/parrot/revision?rev=26599
jonathan diakopter: It looks like it missed my previous patch. 19:16
WHERE'S MY KARMA?! :'(
Infinoid jonathan++
diakopter jonathan++
cotto_work jonathan++
jonathan Phew!
Infinoid karma plus interest :)
purl plus interest :) has neutral karma
Infinoid karma jonathan
purl jonathan has karma of 444
wknight8111 karma wknight8111
purl wknight8111 has karma of 7
wknight8111 yay! positive integer! 19:17
cotto_work karma cotto
purl cotto has karma of 1
cotto_work karma cotto_home
purl cotto_home has karma of 1
cotto_work karma cotto_work
purl cotto_work has neutral karma
diakopter I must've killed it right after it logged the grabbing of 26598, but before it posted it to the channel
Infinoid probably.
purl Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
Infinoid purl: you sound like a volunteer
purl Infinoid: i'm not following you...
Infinoid purl: then lead!
purl Infinoid: sorry...
jonathan That's a palindromically pleasing number. 19:18
I'd best not check in anything else.
cotto_work or check in 10 things at once
Infinoid svnbotl got confused by lots of checkins at once, but dalek won't :) 19:19
jonathan Cool. :-)
Ah well, that at least gets the start of some I/O support for Rakudo. 19:20
Infinoid awesome
jonathan++ # to annoy him into making 9 more checkins
jonathan Well, got a wedding tomorrow and seeing friends tonight and on Sunday, so probably not any this weekend. 19:22
I'm hackathoning next weekend though. :-)
OK, gotta go, happy hacking. 19:23
Infinoid seeya!
Tene Okay, anyone feel like talking to me about this getattribute thing? 19:25
chromatic What about it? 19:26
Coke pmichaud++ chromatic++ # ripping more stuff out. 19:28
cognominal jonathan++
Tene Nevermind, that does work as I expected. 19:29
wknight8111 I wish I could hackathon all weekend. real life is the pits
cognominal how do I generate a .pbc from a .p6 file? the -o seems ununplemented. And getting a pbc from a pir file generated by --state=pir gets me "No such called depth" 19:32
Coke cognominal: ../../parrot perl6.pbc --target=pir foo.p6 | ../../parrot -o foo.pbc -
untested. =-)
Do we have any IMCC hackers about? 19:35
wondering if we can a patch for 48024 so we can see how close we're getting. Most of the usages of that syntax have been ripped out. 19:36
cognominal ok , one must gives the -o foo.pbc before the foo.pir. makes sense. 19:39
cotto_work seen allison 19:40
purl allison was last seen on #parrot 17 days ago, saying: jonathan: yes, it's there now [Mar 11 12:56:49 2008]
chromatic Coke, I can't find anything specific to IMCC which parses them specially. 19:43
I think they're macros.
dalek r26600 | coke++ | trunk: 19:44
: [json]
: RT #52200
: Use the more natural rule name 'value' instead of 'thing',
: now that it works.
diff: www.parrotvm.org/svn/parrot/revision?rev=26600
Coke ... Doh. 19:50
that ticket really means "remove the new_p_i" opcode. 19:51
and new_p_i_p, presumably.
chromatic But something in IMCC parses it. 19:52
Coke the .Integer ? yah, but I can remove the opcodes separately. 19:53
(trying that now.)
only one thing in the build depended on it (src/pic.c), struck that... 19:55
dalek r26601 | tene++ | trunk: 19:58
: Fix lolcode for functions that don't have parameters.
diff: www.parrotvm.org/svn/parrot/revision?rev=26601
Tene Okay, wtf, did I stop working on lolcode before I actually finished what I was trying to do?
Could what was there have ever actually worked?
Still doesn't actually work for functions that *do* have parameters. 19:59
Coke pretty sure it did at one point yes. I blame the merge back of the pmc stuff.
at one point, at least most tests passed...
but it's probably quicker to fix them to figure out when they broken. :|
20:00 iblechbot joined
Coke # Failed test 'no trailing whitespace' 20:01
# at t/codingstd/trailing_space.t line 50.
# Trailing space or tab char found in the following files:
# /home/coke/sandbox/parrot/languages/perl6/src/builtins/io.pir 110
nopaste "coke" at 72.228.52.192 pasted "test results of removing new_p_i and new_p_i_p .." (11 lines) at nopaste.snit.ch/12590
chromatic That's not bad at all. 20:02
Tene I wrote a >100-line messy pir routine without any comments? 20:04
Coke fixes one of those. 20:05
dalek r26602 | coke++ | trunk: 20:06
: new_p_i is [DEPRECATED], remove it.
:
diff: www.parrotvm.org/svn/parrot/revision?rev=26602
Coke dalek, you can ignore trailing blank lines, you know.
Infinoid if that's our biggest complaint for a plugin that's less than 24 hours old, we're doing well :) 20:07
Coke Infinoid++ # ok, sheesh. =-)
chromatic: looks like t/pmc/pmc.t can just remove all the tests that use new_p_i, since they're testing behavior of *that* opcode. 20:08
(but I won't commit that just yet.)
chromatic Yeah, that's about the last one to commit. 20:12
Coke hurm. I assume find_type_i_p is also deprecated by this. 20:13
is that a reasonable assumption? 20:14
chromatic Aha, found it in IMCC. 20:17
Coke, play with that patch and you'll find some targets for optimizations. 20:21
dalek r26603 | coke++ | trunk: 20:22
: new_p_i is [DEPRECATED], remove it.
purl i already had it that way, dalek.
dalek diff: www.parrotvm.org/svn/parrot/revision?rev=26603
Infinoid blinks
Coke feeds the bot, even with commits. 20:23
cotto_work botsnakc
botsnack
purl :)
Coke which patch, the one from a few days ago? yah.
chromatic: www.coleda.com/tmp/remove_new_int.diff
chromatic: ah, *that* patch. danke. 20:25
chromatic The nice part is that it removes code from IMCC. 20:26
The sad part is that it doesn't remove more.
Coke make
ww
applying that to my work in progress... 20:27
Tene Okay, the big problem was that I apparently reorganized the grammar a bit in an older commit and never fixed the actions to match.
Coke chromatic: Excellent, yes, this will let me do some major cleanups. 20:37
20:39 sjansen joined
dalek r26604 | tene++ | trunk: 20:40
: Fix the last test failure.
: Add tests for functions that have parameters.
diff: www.parrotvm.org/svn/parrot/revision?rev=26604
Tene ... oh, right, I have to do extra things when I add a new file.
I'll remember that eventually. 20:41
dalek r26605 | tene++ | trunk: 20:42
: Fix MANIFEST. I'll remember this someday.
diff: www.parrotvm.org/svn/parrot/revision?rev=26605
Coke anyone know what the right way to do: .const .Sub temp = "_default_combiner" 20:45
is, without ".Sub" ? 20:46
Tene pdd19 includes the line:
.const .Sub $P0 = "_sub_label"
Coke yes, but .Sub is going away, so... =-) 20:47
Tene '.const .sub foo = "_..."' appears in many places in the tree.
What does it do now anyway? 20:48
Okay, looks like I've got another hour left before this exam is over, and I've closed the lolcode ticket. 20:51
Coke give that man another ticket!
... or did you want a kewpie doll this time? 20:56
Tene Heh. 20:58
obtw, my laptop screen died again. I can't get it to come back up by plugging in an external monitor anymore.
dalek r26606 | coke++ | trunk: 20:59
: [codingstd] avoid trailing whitespace
diff: www.parrotvm.org/svn/parrot/revision?rev=26606
Tene "coke's laptop repairs"-- 21:02
Coke chromatic: there, cleaned up the ones that come first in the build process before the first .const .Sub. =-) 21:06
dalek r26607 | coke++ | trunk:
: use of type ids (e.g. ".Integer") is [DEPRECATED]
: Avoid using them in some PIR modules.
diff: www.parrotvm.org/svn/parrot/revision?rev=26607
chromatic Does .const 'Sub' not work?
Coke error:imcc:syntax error, unexpected STRINGC, expecting INTV or FLOATV or STRINGV or PMCV (''Sub'') 21:09
chromatic Hm. 21:10
21:10 GeJ_ joined
chromatic I'll poke at that shortly. 21:10
21:10 turrepurre_ joined
Coke sehr gut. 21:11
I am wondering why we're using that, rather than just a runtime find_ 21:12
chromatic Maybe it gets optimized into the bytecode.
21:14 szbalint_ joined, Psyche^ joined, jq- joined 21:24 daxelrod joined
Coke well, if we have to convert them to runtime lookups to remove the .Foo, c'est le vie. 21:24
chromatic I'm not sure what they're doing.
Coke ok. i think I have all the .Foo stuff in library removed modulo .const .Sub, commit to following pending a test run.... but later. next is compilers/
21:25 ruz joined
Coke (i'm using make in the patched version to find the stumbling blocks, copying the edited files over to a pristine parrot, and then testing from there, and just commenting out any use of .const .Sub to get the thing to build in original working copy.) 21:29
chromatic ... nothing but net. 21:31
Coke more of a "does that seem like a reasonable approach." ^_^
chromatic I'd generate and apply a patch instead of copying files, but six of one... 21:32
21:32 japhb joined 21:33 nopaste joined
dalek r26608 | coke++ | trunk: 21:34
: use of type ids (e.g. ".Integer") is [DEPRECATED]
purl i already had it that way, dalek.
dalek : Avoid using them in some PIR modules: especially when checking for Undef,
: better to use the opcode than the explicit type check.
: (also fix one grammar-o in a comment)
diff: www.parrotvm.org/svn/parrot/revision?rev=26608
Coke -> later
21:36 TonyC joined
wknight8111 can we use .include (or something similar) in grammar and NQP files? 21:36
chromatic As inline PIR perhaps.
I don't believe PGE or NQP support that yet.
wknight8111 okay, that's what I thought 21:37
thanks
Tene ... oh, that isdecl() change I made to lolcode is probably wrong. 21:44
I need to remember to test that when I get home.
21:46 MagNET joined
Tene Yep, wrong. 21:46
The two easy choices I can see are "empty redeclaration stomps on the old value" and "declaration without assignment is an error" 21:49
I'm unsure how to get the "empty redeclaration doesn't stomp on the old value" behavior currently tested for while still allowing declaration without assignment. 21:50
japhb NCI/extending question: How can C code (called as NCI from PIR, *not* an op) get the current interpreter? Yes, I could have the PIR code do '$P1 = getinterp; myfunc($P1, real_args ...)' everywhere, but that seems ugly -- especially as getinterp returns a PMC-wrapped interp, so all of the C functions need to unwrap it. 21:56
chromatic Unless you pass the interpreter as an argument, you can't.
(without performing evil magic I won't guarantee will work) 21:57
japhb chromatic: er, why not?
chromatic You'll have to root around in the call stack to find a likely pointer.
japhb Since the C code is called synchronously from PIR, the interp is guaranteed to be the same (no problem with current interp getting swapped out from under it)
Is there really no current interp anymore? 21:58
chromatic "the same" as what?
Perhaps I'm misunderstanding your question.
1) you have a C function which does not take the interpreter or anything which contains the interpreter as an argument
2) you invoke that C function through NCI
21:58 davidfetter joined
chromatic 3) within that function, you want a pointer to the interpreter which invoked that C function through NCI 21:59
Is that the question?
japhb yes
chromatic That's the same question as "How do I use the equivalent of Tcl's upvar in C?"
japhb Like I said, manually passing the current interpreter from PIR through NCI will certainly work, it's just ugly. 22:00
chromatic It's not uglier than the alternative, sadly.
japhb ah
well, OK then, thanks
chromatic You're welcome!
I mean, I can imagine ways to do it, but none of them are robust and some of them are at least very platform specific. 22:01
Infinoid sounds like the sort of thing TLS was invented for, but that doesn't make TLS any less ugly 22:20
chromatic It's just a global variable by any other name. 22:29
Infinoid eh... it's a different kind of scope. I got to learn all about it when working on some threaded p5 xs stuff, and I still have scars from that. 22:38
a C library being called from one parrot interpreter, which has wired a callback into another parrot interpreter, would break gloriously with TLS-stored interpreters 22:41
22:50 lathos joined 22:58 skids joined 23:12 mmcleric joined 23:30 sirstan joined
pmichaud (.Sub versus find_): the reason for using const .Sub is because it's the only way to get the address of an :anon subroutine at compile time. If a subroutine is marked :anon, then you can't do a runtime lookup 23:43
s/address/PMC 23:44
23:50 tetragon joined 23:54 Limbic_Region joined, Theory joined 23:59 mmcleric joined