Camelia, the Perl 6 bug

IRC log for #parrot, 2008-06-01

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 cognominal joined #parrot
00:04 Zaba_ joined #parrot
00:10 AndyA joined #parrot
00:52 bacek joined #parrot
00:55 teknomunk joined #parrot
01:11 nopaste "bacek" at 202.7.166.169 pasted "Diff for t/spectest_regression.data with 10 more passing tests (for pmichaud to commit :)" (39 lines) at http://nopaste.snit.ch/13128
01:16 bacek #perl6?
01:16 bacek purl?
01:28 kid51 purl quit about an hour and a half ago with no explanation!
01:30 bacek drinking with Bender?
01:33 tetragon joined #parrot
01:52 particle bacek: i have map.rakudo failing 59-60, but i'm applying the rest
01:53 dalek r27974 | particle++ | trunk:
01:53 dalek : [rakudo] add 9 more passing test files to spectest_regression (bacek++)
01:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27974
01:59 bacek particle, hmm.
02:00 bacek ok 59 # TODO unspecced - mutating $_ in map works (1)
02:00 bacek ok 60 # TODO unspecced - mutating $_ in map works (2)
02:05 bacek particle, it should works...
02:08 braceta joined #parrot
02:19 jimk joined #parrot
02:29 purl joined #parrot
02:32 Ademan joined #parrot
02:44 Theory joined #parrot
02:48 kid51 joined #parrot
02:54 japhb OK, things look quiet around here, and I've gotten signoff on the big OpenGL patch from Win32, Mac OS X, and Linux.
02:54 japhb I'm preparing to do the big commit now, unless someone has an objection.
03:03 dalek r27975 | japhb++ | trunk:
03:03 dalek : [OpenGL] First cut of parsing OpenGL headers
03:03 dalek : Dynamically generate config/gen/call_list/opengl.in
03:03 dalek : and runtime/parrot/library/OpenGL_funcs.pir using
03:03 dalek : system OpenGL headers.  Remove hardcoded equivalents.
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27975
03:03 dalek r27976 | japhb++ | trunk:
03:03 dalek : [OpenGL] Win32/MSVC support; platform support docs
03:03 dalek : * Add platform support/portability docs to config/auto/opengl.pm
03:03 dalek : * Add comments explaining OpenGL portability knobs to various files
03:03 dalek : * Support OpenGL on Win32/MSVC, thanks to (Ron Blaschke)++
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27976
03:03 dalek r27977 | japhb++ | trunk:
03:03 dalek : [OpenGL] 'make clean' versus 'make realclean' fixes
03:03 dalek : * Change call_list.txt deletion from 'clean' to 'realclean'
03:03 dalek : * Add 'realclean' deletions for new OpenGL generated files
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27977
03:03 dalek r27978 | japhb++ | trunk:
03:03 dalek : [OpenGL] Bring config/gen/opengl.pm docs up to date
03:03 dalek : * Add items for newly generated files to gen files list
03:03 dalek : * Point to config/auto/opengl.pm for platform support docs
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27978
03:03 dalek r27979 | japhb++ | trunk:
03:03 dalek : [OpenGL] Fix braino in Win32/MSVC support
03:03 dalek : * Forgot to add '/gl/*.h' to Win32 include globs
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27979
03:03 dalek r27980 | japhb++ | trunk:
03:03 dalek : [OpenGL] Fixing patch to not confuse normal SVN
03:03 dalek : * Unmangle SVN Id line
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27980
03:03 dalek r27981 | japhb++ | trunk:
03:03 dalek : [OpenGL] Further Win32/MSVC portability fixes
03:03 dalek : * Standardize on uppercase for Win32 env var names
03:03 dalek : * Search both <path>/*.h and <path>/gl/*.h on Win32
03:03 dalek : * Force / for path separator
03:03 dalek : * Ignore empty include paths
03:03 dalek : * Switch to File::Glob::bsd_glob() for space safe globbing
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27981
03:03 dalek r27982 | japhb++ | trunk:
03:03 dalek : [OpenGL] More Win32/MSVC porting
03:03 dalek : * Narrow scope of system headers read for Win32
03:03 dalek : * For now, workaround wchar_t by mapping it as void
03:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27982
03:07 * kid51 must sleep
03:07 purl $kid51->sleep(8 * 3600);
03:10 bacek joined #parrot
03:18 dalek r27983 | japhb++ | trunk:
03:18 dalek : [OpenGL] Setting svn:ignore for generated files
03:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27983
03:19 dalek r27984 | japhb++ | trunk:
03:19 dalek : [OpenGL] Updating MANIFEST.SKIP
03:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27984
03:40 bacek joined #parrot
03:40 tetragon Triangle spins on OS X 10.5 (ppc)
03:46 japhb wheee
03:47 japhb I am *so* happy to have that merged
03:47 japhb git++ # Utterly painless local branches
03:47 japhb I'm already getting to love that feature
03:48 japhb The merge is way saner than SVK, too.
03:49 Theory joined #parrot
03:53 cotto_home looks like something broke
03:53 cotto_home nopaste?
03:53 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
03:53 purl somebody said nopaste was at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste or tools/dev/nopaste.pl
03:54 nopaste "cotto_home" at 75.92.237.130 pasted "OpenGL brokenness on Linux/x86" (12 lines) at http://nopaste.snit.ch/13129
03:54 japhb checking ...
03:55 japhb WTF?  Who puts command lines in a header file?
03:55 japhb OK, give me a couple minutes to kill this.
03:56 japhb cotto_home: can you email me a tarball of your /usr/include/GL/ ?
03:57 cotto_home it looks like the triangle still spins, though
03:58 japhb yeah, those were warnings, not errors
03:58 cotto_home sure.  where to?
03:58 japhb but I'd like to be warning-free
03:58 japhb japhb?
03:58 purl it has been said that japhb is Geoffrey Broadwell, mailto:geoff@broadwell.org
04:01 silug joined #parrot
04:03 * japhb wants to go back in time and shake K&R vigorously: "STOP BEING SO SLIPPERY ABOUT SIZED TYPES!"
04:04 cotto_home sorry for the delay.  My mail server's being uncharacteristically slow.
04:04 japhb np
04:05 japhb I'm trying to find a sane definition of 'size_t', and all I'm getting is insanity or begging the question.
04:05 japhb I'm about to just call it a 'long' and go on with my day.
04:12 japhb FINALLY found it -- it's 'unsigned long'
04:16 japhb cotto_home: mail still not getting through?
04:16 Tene japhb: what is merge like in svk?
04:18 japhb Tene: well, for one thing, it sometimes thinks the entire file has changed when someone else commits your patch (without changes), and you try to sync up again.  git notices that all the changes are to the exact same content, and drops the local patch.
04:19 japhb Secondarily, I don't know if it doesn't exist in SVK, or I never found it, but git wins many points by doing the right thing WRT 'git rebase'
04:20 japhb I'm just finding in general that (aside from sheer number of the git options), working with git has been pretty painless, mostly "oh hey, that's cool!" moments.
04:20 * Tene nods.
04:22 japhb SVK was more of "this sucks less than SVN, and disconnected operation is nice" but not truly painless.  (Though clearly clkao had tried to add defaulting to make things more self-obvious, IMHO the git guys have done a better job of this in most instances.)
04:24 spinclad they've had a long time, and good hackers, to tune it on the kernel tree
04:26 dalek r27985 | chromatic++ | trunk:
04:26 dalek : [src] Added documentation for all undocumented functions.
04:26 dalek : Fixed some minor typos.
04:26 dalek : Tidied the code slightly.
04:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27985
04:27 Tene I'll be traveling again this week, so looks like I'll have time for cardinal again.
04:27 Tene I'm also starting work on a smalltalk grammar.
04:28 tetragon joined #parrot
04:28 Tene Wasn't parsing, though, so I'll try it again while awake, and if that doesn't work, I'll try it with caffeine.
04:28 japhb Tene++
04:28 japhb spinclad: nodnod
04:29 japhb spinclad: and large numbers of highly motivated good hackers makes a big difference, no matter how good a single hacker is.
04:29 japhb Tene: I find the best caffeine is dark chocolate.
04:30 japhb caffeine + endorphins + random good-for-you chemicals + tastes good = mmmmmm....
04:32 ank = coronary thrombosis?
04:33 spinclad Tene: name of squawk?
04:33 japhb ank: don't think so.  70+% cacao dark chocolate is even IIRC diabetic-safe
04:34 japhb I've heard doctors recommend 1-2 oz per day of 70+% dark chocolate.  Sorta like that "glass of red wine" thing.  I just prefer chocolate over wine.
04:35 tetragon Unfortunately the chocolate I like is a bit on the expensive side
04:35 japhb tetragon: what's your chosen brand?
04:35 tetragon (Tends to run $8.25/100g)
04:35 cotto_home I wonder if nutella counts
04:36 tetragon japhb: Soma.  It's a local chocolatier
04:37 japhb tetragon: right now I like Valrhona (sp?) and El Rey -- the latter costs half the former, and I tend to like it more.  There's also a fantastic one I found from a single plantation in South America (Columbia?) but I've forgotten the brand and can't find it anymore.  :-(
04:37 tetragon japhb: www.somachocolate.com
04:38 ank nice
04:38 ank i tried some 85% lindt one a few months ago
04:39 ank i've never had anything like that before
04:39 tetragon japhb: Another local brand I like is ChocoSol
04:39 japhb tetragon: Ah, Toronto.  Hmmm, I wonder if I can get that through a local retailer ... Whole Foods might carry it, I guess.
04:39 tetragon http://www.chocosoltraders.com/
04:40 japhb Soma's home page image is a pretty awesome collage
04:40 tetragon The ChocoSol varieties tend less towards the traditional fine chocolate and more towards rustic
04:40 japhb NICE: http://www.chocosoltraders.com/ingredients.html
04:41 japhb If there is any particular place in the world I want to visit, I think Oaxaca is in the top 3.  Hard to beat the art and chocolate.
04:42 tetragon Their Oxaca Crunch is good
04:44 tetragon And they're where I first tried raw cacao
04:45 japhb How did you like it?
04:46 tetragon Like what?  I stayed in Toronto.  Oaxaca Cruch is one of the chocolate varieties
04:47 japhb tetragon: raw cacao
04:47 dalek r27986 | japhb++ | trunk:
04:47 dalek : [OpenGL] Mesa headers compatibility
04:47 dalek : * Fix a couple warnings in Mesa headers for cotto_home++
04:47 dalek : * Still one such warning unfixed
04:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27986
04:48 tetragon It tasted a bit like chocolate-flavoured dirt
04:48 japhb cotto_home: r27986 should fix 2/3 of your Configure warnings.  As soon as I get your header tarball, I'll work on a clean fix for the last one (the inline shell code)
04:48 japhb tetragon: heh
04:49 tetragon japhb: They've worked on their raw chocolates so that they don't taste like dirt (the earlier batches did)
04:49 japhb nodnod
04:50 tetragon Although for really good hot chocolate, I'd have to go with Soma
04:50 tetragon It's like drinking molten chocolate
04:51 tetragon (which it mostly is)
04:52 japhb tetragon: there was a place around 2 hours south of here that had amazing hot chocolate -- like 5 different varieties, my favorite of which had that "molten chocolate" think, plus lots of distinct spicings.
04:52 japhb Wonder if it's still there
04:52 japhb s/think/thing
04:52 tetragon As for chocolate that I can buy from the grocery store: http://www.cocoacamino.com/en/index.php
04:55 cotto_home japhb, you should have it soon, if not now
04:55 cotto_home s/it/them/
04:55 japhb cotto_home: not quite yet, but my mail server pulls from upstream, rather than accepting pushes, so there's a 60-second delay built in
04:56 * tetragon really wants chocolate now
04:56 pmichaud christmas chocolate?
04:56 japhb tetragon: /me cheated, and ate some of my chocolate before starting this thread. ;-)
04:57 cotto_home looks better. japhb++
04:59 cotto_home and after looking at that mess, japhb++ again
04:59 japhb Which mess?
04:59 japhb The header?
04:59 purl The header is 'Referer:'
04:59 japhb purl, forget the header
04:59 purl japhb: I forgot header
05:00 tetragon cotto_home: It couldn't have been worse than the OS X headers, could it?
05:01 cotto_home I wouldn't know
05:01 dalek r27987 | chromatic++ | trunk:
05:01 dalek : [tools] Made c2str stop lying about how long constant strings are in C source
05:01 dalek : code.  Now they're correct in the generated src/string_private_cstring.h.
05:01 japhb cotto_home: trust me, the OS X headers were nuts.
05:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27987
05:02 japhb cotto_home: though, after just spelunking through some of the gcc-internal headers, I'm finding a whole new definition of "nuts"
05:05 tetragon japhb: I just noticed the OS X headers refered to a header I didn't send you, AvailabilityMacros.h.  I just found it in /usr/include
05:05 japhb That's the thing that filled in the "AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER", I assume ...?
05:06 tetragon Yes
05:06 tetragon And what would be filled in depended upon OS X version
05:06 tetragon Full of #if statements enclosing things like #define AVAILABLE_MAC_OS_X_VERSION_10_4_AN​D_LATER_BUT_DEPRECATED_IN_MAC_OS_X
05:06 tetragon _VERSION_10_5    DEPRECATED_ATTRIBUTE
05:07 japhb I just filtered that stuff out as noise.
05:07 * tetragon notices that some of those macro names are over 80 characters
05:08 tetragon So, no handling of deprecation or of limiting based upon what the target environment is?
05:08 japhb At this point, it really doesn't help us to be anal about matching Apple's deprecations.  Worst that happens is that one of our users manages to use a deprecated CGL API or something, and I don't think it's really our job to police that.
05:09 japhb Mind you, in code we ship, we should avoid using deprecated APIs (if we can), but we shouldn't prevent our *users* from making that decision on their own.
05:09 japhb So if it's declared in a header, I wrap it.
05:10 japhb cotto_home: oddly, your mail still has not arrived.
05:14 japhb Is Mac OS X 10.4 always 32-bit?  Or is there a 64-bit 10.4?
05:15 tetragon IIRC, the core of OS X 10.4 is always 32-bit
05:15 tetragon Userland may vary
05:15 japhb tetragon: OK, thanks.
05:15 * tetragon doesn't have a 64-bit box handy
05:15 dalek r27988 | chromatic++ | trunk:
05:15 dalek : [src] Made string_init() construct constant string table entries directly,
05:15 dalek : bypassing const_string() (for which I have big plans) and using the now-correct
05:15 dalek : string lengths from src/string_private_cstring.h.
05:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27988
05:24 dalek r27989 | japhb++ | trunk:
05:24 dalek : [OpenGL] Comment on Mac OS X 10.4 typedef weirdness
05:24 dalek : * Add comment to config/gen/opengl.pm explaining both that:
05:24 japhb cotto_home: tarball received, thanks
05:24 dalek :   + Mac OS X 10.4 disagrees with everyone else about some typedefs, and
05:24 dalek :   + This doesn't actually matter (and was fixed in 10.5), so is ignored
05:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27989
05:26 japhb cotto_home: what's your OS?
05:27 tetragon japhb: http://developer.apple.com/macosx/64bit.html
05:32 japhb tetragon++ # Always quick with the Apple docs
05:33 japhb Interestingly, the one place that that page explicitly said 64-bit code *doesn't* work is for GUI code.  But they don't bother to specify if OpenGL is part of that.  I guess I have to assume so.  And it looks like 10.4 only has any 64-bit on PPC.
05:34 japhb PPC G5, to be precise
05:34 tetragon I think the original version of that doc was written before the Intel Macs came out
05:35 japhb Anyone have a PPC G5 or 64-bit Intel Mac running Mac OS X 10.4?  kid51 has 10.4/PPC, but didn't specify which processor.
05:35 tetragon I think his is a laptop, which would make it 32-bit
05:36 tetragon And none of my home machines are 64-bit
05:36 dalek r27990 | chromatic++ | trunk:
05:36 dalek : [JIT] Cleaned up warnings in x86 JIT (NotFound, RT #55134).
05:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27990
05:36 japhb tetragon: damn, I think that's a hole in our testing
05:37 japhb 'our' == parrot in general
05:41 tetragon I just ran the file command on OpenGL on my 10.4 box
05:41 tetragon It only reported 32-bit libraries, unlike on my 10.5 box
05:42 japhb tetragon: nodnod.  That matches other evidence.
05:42 tetragon And "make -j4" falls over on my dual-core Intel
05:43 japhb Something GL-related?
05:43 tetragon Nope, src/builtin.c
05:44 japhb (There is one known GL dependency issue, but I'm not sure about the best place to fix it)
05:44 tetragon The one where the glut callbacks depend upon libparrot?
05:44 tetragon Or is this the error handling one
05:45 japhb tetragon: I thought Ron's fixes cleared up those ... or maybe they just made things "better" but not "right"
05:45 cotto_home japhb, Debian Linux on x86
05:46 japhb I was talking about the fact that runtime/parrot/library/OpenGL.pbc depends on both OpenGL.pir and OpenGL_funcs.pir
05:46 tetragon I'll need to try another build without -undefined dynamic_lookup at some point
05:47 japhb ... But there's also the problem that a LOT of those library .pbc's depend on includes in runtime/parrot/include/, and as far as I can tell none of those dependencies are declared.
05:47 tetragon But from what I see in the Makefile, the libparrot thing does appear to have been dealt with
05:47 japhb cotto_home: Using pure Mesa?  Or vendor GL layered on top of system Mesa?
05:52 japhb .oO( 'make realclean; perl Configure.pl; make; make test' can be annoyingly slow at times ... )
05:56 dalek r27991 | japhb++ | trunk:
05:56 dalek : [OpenGL] Ignore Mesa API-mangling headers
05:56 dalek : * Ignore Mesa's {gl,glu,glx}_mangle.h, used for loading both
05:56 dalek :   a vendor GL and Mesa at the same time.  For now we don't
05:56 dalek :   support this, and the headers confuse the header parser.
05:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27991
05:56 japhb cotto_home: r27991 should leave your Configure warnings-free
05:56 cotto_home you mean pure software? no
05:57 japhb cotto_home: I meant, as opposed to having Mesa headers and, say, nvidia drivers
05:57 cotto_home r27991 works.  thanks
05:57 japhb cotto_home: Mind if I feed your platform info to the bot?
05:58 cotto_home I'm using Intel's 3d drivers
05:58 cotto_home nope
05:59 japhb cotto_home: done
06:02 japhb cotto_home: Intel, eh?  Cool ... can you send me output from 'glxinfo' and 'lshw' (or equivalent)?  I'd like to know what I'm up against in supporting more advanced OpenGL stuff on Intel GPUs.
06:02 dalek r27992 | chromatic++ | trunk:
06:02 dalek : [src] Cleaned up find_exception_handler() function (NotFound, RT #55114).
06:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27992
06:03 cotto_home just a sec
06:03 japhb thanks muchly.
06:04 cotto_home nopaste?
06:04 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
06:04 purl nopaste is probably at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating or App::Nopaste or tools/dev/nopaste.pl
06:04 japhb tetragon: For that matter, what GPUs do you have?
06:04 nopaste "cotto_home" at 75.92.237.130 pasted "glxinfo output" (85 lines) at http://nopaste.snit.ch/13130
06:07 japhb cotto_home: interesting, server glx is 1.2
06:07 nopaste "cotto_home" at 75.92.237.130 pasted "lshw output" (525 lines) at http://nopaste.snit.ch/13131
06:07 japhb Oh, now *that* is interesting:
06:07 japhb OpenGL renderer string: Mesa DRI Intel(R) 945GM 20061017 x86/MMX/SSE2
06:07 japhb OpenGL version string: 1.3 Mesa 7.0.3
06:09 japhb OK, I thought I would have only the Voodoo (and similar era) cards stuck at 1.3, but it looks like even the 945GM is stuck there ... at least, with Mesa 7.0.
06:11 japhb Anyone know if nopaste.snit.ch pastes are permanent, or temporary?
06:12 cotto_home they're temporary
06:12 japhb cotto_home: for how long?
06:12 cotto_home idk
06:12 japhb k
06:13 cotto_home I can send you the files if it'd make life easier
06:14 japhb cotto_home: yeah, please, if it's not too much trouble.  The pastes give me stuff to think about, but I'll want to keep permanent copies.
06:14 * japhb goes back to reviewing glxinfo output ...
06:15 japhb Oh good, stencil-enabled visuals.  My next example program would have been hamstrung without that.
06:16 cotto_home done
06:16 japhb thx again
06:17 japhb cotto_home++ tetragon++ # Very helpful
06:18 cotto_home thanks for working to improve Parrot
06:18 japhb My pleasure.  Truly,.
06:19 japhb s/,//
06:19 AndyA joined #parrot
06:20 barney joined #parrot
06:49 cognominal joined #parrot
06:53 nopaste "bacek" at 202.7.166.164 pasted "Summon pmichaud to fix Array.push with no args" (11 lines) at http://nopaste.snit.ch/13132
06:57 pmichaud ....pong
06:57 pmichaud (applied, testing)
06:58 * bacek got "summoning skill" +2
06:58 bacek :)
07:01 mire joined #parrot
07:02 bacek pmichaud, I can fudge last test in S29-array/push.t. Then we can add it to regression
07:02 pmichaud S29-num/complex.t just failed
07:03 pmichaud oh, it looks like a -G issue
07:04 bacek pmichaud, what is '-G'?
07:05 pmichaud -G turns off Parrot's garbage collection
07:05 dalek r27993 | pmichaud++ | trunk:
07:05 dalek : [rakudo]:
07:05 dalek : * Fix Array.push() to work with empty argument lists.  (bacek++)
07:05 dalek : * While we're here, might as well fix Array.delete, Array.exists,
07:05 dalek :   Array.unshift too.
07:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27993
07:05 pmichaud somewhere in Parrot there's a bug that causes segmentation faults.  Adding the -G option seems to make this go away.
07:05 pmichaud (So we suspect it's a bug in the garbage collector)
07:06 bacek pmichaud, gc in parrot is really bad...
07:06 pmichaud we know.  Fortunately there are a couple of people working on that :-)
07:06 bacek any progress?
07:07 pmichaud I haven't been following it that closely :-)
07:08 bacek pmichaud, is very strange... Array.unshift works with '_' in signature...
07:08 bacek s/is/it is/
07:09 pmichaud Array unshift with no arguments works?
07:09 bacek yes...
07:10 bacek oops.
07:10 iblechbot joined #parrot
07:11 bacek no.. bots on #perl6 updated too fast
07:11 bacek It doesn't
07:11 bacek ... works with _ :)
07:12 pmichaud anyway, it's fixed now?
07:13 bacek pmichaud, yes
07:13 bacek S29-array/unshift.t can be added to regression
07:14 dalek r27994 | chromatic++ | trunk:
07:14 dalek : [config] Removed GCC warnings when compiling with g++ (NotFound, RT #55050).
07:14 dalek : All config tests still pass.
07:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27994
07:15 nopaste "bacek" at 202.7.166.166 pasted "proposal to fudge on test in array/push.t" (10 lines) at http://nopaste.snit.ch/13133
07:15 bacek pmichaud,  http://nopaste.snit.ch/13133 is bad or good idea?
07:15 pmichaud (fudge test)   +1
07:15 bacek ok
07:16 bacek so S29-array/push.t can be added to regression now :)
07:17 pmichaud testing.
07:17 purl i think testing is Don't use #perl for testing! or experiri vovere est or make tests pass for existing features, fail for unimplemented features and skip for wishlist features
07:18 bacek purl, you back! How is your drink party with Bender?
07:18 purl bugger all, i dunno, bacek
07:23 dalek r27995 | pmichaud++ | trunk:
07:23 dalek : [rakudo]:
07:23 dalek : * Add two more spectest files to spectest_regression (bacek++)
07:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27995
07:23 bacek Files=54, Tests=994
07:23 pmichaud time for sleep.
07:24 pmichaud woo hoo!  6 more to go to reach 1000!
07:24 pmichaud bacek++
07:25 dalek r27996 | chromatic++ | trunk:
07:25 dalek : [src] Removed unused intlist_dump() and LIST_DEBUG (NotFound, RT #55012).
07:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27996
07:25 pmichaud afk -- sleep.
07:25 bacek pmichaud, I'll try to find some more passing tests.
07:25 bacek pmichaud, and good night!
07:35 dalek r27997 | chromatic++ | trunk:
07:35 dalek : [spec] Added runtime/ files to RPM packages (Gerd Pokorra, RT #54836).
07:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27997
07:41 dalek r27998 | chromatic++ | trunk:
07:41 dalek : [PIR] Fixed language building for recent PGE changes (Moritz Lenz, RT #54182).
07:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27998
07:44 bacek moritz++
07:44 bacek karma moritz
07:44 purl moritz has karma of 39
07:44 bacek karma bacek
07:44 purl bacek has karma of 27
08:11 dalek r27999 | chromatic++ | trunk:
08:11 dalek : [config] Added exec core building to Makefile only for platforms where it works
08:11 dalek : (i386).  See RT #47289 -- this shouldn't break PPC, for example.
08:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27999
08:14 dalek r28000 | chromatic++ | trunk:
08:14 dalek : [docs] Updated PIR PDD 19 to reflect changes in empty namespace declaration
08:14 dalek : (Andrew Whitworth, RT #54942).
08:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28000
08:30 tetragon joined #parrot
08:31 dalek r28001 | chromatic++ | trunk:
08:31 dalek : [dynops] Made the hcf dynop call abort() instead of trying to write a testable,
08:31 dalek : portable segfault (see RT #52222, Seneca Cunningham).
08:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28001
09:08 dalek r28002 | chromatic++ | trunk:
09:08 dalek : [config] Updated Cygwin docs to mention MSWin32 Perl problems.
09:08 dalek : Improved Configure error when forgetting to update path.
09:08 dalek : (Ronald Schmidt, RT #54780).
09:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28002
09:12 Zaba joined #parrot
09:22 masak joined #parrot
09:36 nopaste "masak" at 130.238.45.242 pasted "Something wrong with $_ today" (12 lines) at http://nopaste.snit.ch/13134
09:37 masak kinda strange error
09:37 masak why does $_ expect a parameter?
09:52 bacek masak, it's not from '$_'
09:52 masak it occurs in connection with it
09:55 bacek Yes, it's 'connected to $_'. But it just bug in producing PIR.
09:55 NotFound Someone knows why instead of including readline.h the functions readline and add_history are hand-declared?
09:55 masak bacek: is it fixable?
09:56 bacek masak, dunno right now
09:57 bacek masak, actually this code doesn't looks right for me.
09:57 masak which code?
09:58 bacek masak, your sample... But I can be wrong.
09:58 masak I hope so
09:59 masak what do you consider wrong about it?
10:16 AndyA joined #parrot
10:23 dalek r28003 | chromatic++ | trunk:
10:23 dalek : [config] Fixed some typos and tidied the root makefile template slightly.
10:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28003
10:24 ank joined #parrot
10:26 dalek r28004 | chromatic++ | trunk:
10:26 dalek : [lib] Allowed CONST_STRING in dynpmcs, so that core PMCs can use more
10:26 dalek : CONST_STRING in autogenerated code.
10:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28004
16:39 ilbot2 joined #parrot
16:39 Topic for #parrotis now Parrot 0.6.2 "Reverse Sublimation" Released | http://parrotcode.org/ | 18/672 new/open tix | logged in http://irclog.perlgeek.de/parrot/today
16:41 moritz joined #parrot
16:45 avar joined #parrot
16:53 gmansi joined #parrot
17:03 NotFound Given that PIO_printf and PIO_eprintf don't use PIOs in his interface and that are general purpose, will not be better to rename them as Parrot_printf and move his declarations to embed.h ?
17:14 bacek joined #parrot
17:19 Theory joined #parrot
17:19 moritz uhm, I get a segfault in rakudo while running t/spec/S29-array/push.rakudo
17:23 nemesys joined #parrot
17:29 NotFound moritz: can't reproduce here.
17:30 Ivatar joined #parrot
17:31 NotFound Works both with parrot perl6.pbc and with ./perl6
17:32 moritz valgrind reports some noise
17:35 NotFound Will try with a c++ build.
17:35 moritz ==21724== ERROR SUMMARY: 182558 errors from 73 contexts (suppressed: 61 from 1)
17:40 NotFound Same result winth c++ build.
17:40 NotFound Linux i386
17:41 NotFound Uh, I was not updated, retesting.
17:44 masak joined #parrot
17:46 NotFound Same result, no segfault.
17:46 moritz I tried to reduce the test file, which of course made the bug go away
17:47 NotFound Will try with gcdebug core, but may take ages to finish ;)
17:48 NotFound Adding a --runcore option to perl6 executable will be nice.
17:51 moritz NotFound: I have a reduced test cases that fails with runcode=gcdebug
17:52 moritz NotFound: http://nopaste.snit.ch/13136 produces an assertions failure for me
17:52 moritz called as ../../parrot --runcore=gcdebug perl6.pbc push.rakudo
17:54 NotFound Trying...
17:54 purl succeeding.
17:55 masak purl: you sure talk a lot
17:55 purl masak: what?
17:56 moritz purl: forget trying
17:56 purl moritz: I forgot trying
17:56 masak 'the little bot who forgot to try'
17:56 braceta joined #parrot
17:57 NotFound Maybe is a Jedi knight.
17:57 masak Maybe?
17:57 masak how do I run the rakudo test suite?
17:58 masak `prove t/` doesn't seem to cut it :)
17:58 Zaba_ make test
17:58 purl More like "make fail"
17:58 masak Zaba_: thx
17:58 moritz make test spectest_regression
17:58 masak purl: forget make test
17:58 purl masak: I forgot make test
17:59 moritz the segfault happens in the latter
17:59 masak moritz: ok
17:59 NotFound Many people forget that.
17:59 masak :)
17:59 cognominal joined #parrot
18:00 * moritz tries to reduce the test even more
18:01 masak whoa!? did it just stop by the pugs repo and got me a few more tests?
18:01 moritz masak: it fetches all test from t/spec/* and runs some of them
18:01 NotFound moritz: it's still running.
18:01 NotFound Well, stepping, better say.
18:01 moritz NotFound: takes a few minutes ;)
18:02 masak it's nice to see so many tests actually passing
18:03 moritz some of them are actually fudged ;)
18:03 masak though my adventures with rakudo often quickly run up against things that ought to be a failing test
18:03 masak moritz: meaning that they are hidden?
18:03 masak moritz: all tests successful here
18:04 moritz masak: yes, they aren't executed, mostly because they are parse failures
18:04 masak ah
18:04 NotFound It's a good cpu test executing something non-minimal with the gcdebug core.
18:04 moritz I reduced the test to:
18:04 moritz use v6;
18:04 moritz my @push = ();
18:04 moritz say +@push;
18:05 NotFound Failed!
18:05 NotFound src/string.c:514: failed assertion '!PObj_on_free_list_TEST(a)'
18:05 moritz same here
18:05 moritz bug report sent
18:06 NotFound moritz: mine is a g++ build.
18:06 masak hm, when I run it in parrot perl6.pbc, I get "Scope  not found for PAST::Var '@push'"
18:07 masak is that the same error?
18:07 moritz masak: the interactive thing doesn't really work
18:07 Tene pmichaud: ping
18:07 NotFound Will try now the re-reduced version.
18:07 masak ok :)
18:07 moritz masak: you have to put the statements on one single line in the interactive blah
18:08 masak yuck
18:08 masak though when I do that, everything's fine
18:09 masak and directly from cmd line too
18:09 masak did you say the bug is compiler-specific?
18:09 NotFound Not very fast, anyway.
18:09 moritz masak: it seems to be a garbage collector bug
18:09 masak in parrot?
18:09 purl hmmm... in parrot is false.
18:09 moritz yes
18:10 NotFound masak: looks like not, given that fails same way building with C and with C++
18:10 masak maybe I need to remake
18:10 moritz masak: the reduced test only fails for me when I run parrot with --runcore=gcdebug
18:11 masak oh
18:11 moritz masak: ..after 3 minutes execution time ;)
18:11 NotFound masak: it does not fail for unless I use the gcdbeug core.
18:11 masak pray tell, what is this gcdebug core?
18:11 masak seems it is neither fast nor safe to use :)
18:11 NotFound masak: the gcdebug core makes a full gc after each opcode.
18:12 masak haha
18:12 NotFound So it's no exactly very fast.
18:12 NotFound But helps reproduce bugs.
18:13 NotFound There's a chromatic's article in perl.com about it.
18:13 masak you should use some Monte Carlo method to randomly add and remove GCs between each opcode, keeping the ones that go wrong
18:14 masak but favoring minimal sets
18:14 moritz or just an option to run GC after each $n opcodes
18:14 NotFound A Las Vegas method will be more enlighten X-)
18:14 masak :)
18:15 moritz bug report is [perl #55164]
18:16 NotFound Same stacktrace with the reduced case.
18:16 moritz aye
18:16 moritz you can also remove the 'use v6;'
18:16 moritz which seems to be a no-op anyway
18:17 masak does it produce opcodes? otherwise, it doesn't matter
18:17 masak yup, it spat out the failed assertion here too
18:19 * moritz wonders if there is a way to execute the compilation with normal runcore, and only the execution wih the gcdebug runcore
18:19 masak moritz: oh. I'm starting to realize what took time now...
18:19 NotFound moritz: probably to add a --runcore option to the executable will be simpler.
18:21 japhb moritz: output to .pir, and then run that manually?
18:21 moritz japhb: the generated pir doesn't run
18:21 moritz Class 'Perl6Array' not found
18:22 japhb moritz: eww
18:22 moritz so it seems to need some libraries, and I don't know how to include them
18:23 japhb Actually, I think that may be a valid RT -- when PCT is told to output to .pir, either that .pir should be directly runnable, or there should at least be an option to output the .pir with runtime setup included so that it *will* directly run.
18:26 moritz japhb: there's already a ticket for that
18:26 moritz japhb: don't know its status, though
18:30 jhorwitz moritz: try adding this to your generated PIR: load_bytecode '/path/to/parrot/languages/perl6/perl6.pbc'
18:33 moritz jhorwitz: error:imcc:syntax error, unexpected PARROT_OP, expecting $end ('load_bytecode')
18:33 jhorwitz paste the PIR?
18:33 moritz load_bytecode '/home/moritz/src/parrot/l​anguages/perl6/perl6.pbc'
18:34 moritz as the first line in the file
18:34 jhorwitz ah
18:34 paco joined #parrot
18:34 moritz does it need to be inside a namespace, sub or whatever?
18:35 jhorwitz throw it in a sub w/ :init :load
18:36 moritz jhorwitz: thanks, that works
18:37 moritz ... and doesn't produce ane error with gcdebug anymore
18:38 jhorwitz excellent
18:38 masak but strange
18:38 moritz it's not excellent, because it means debugging is much harder
18:38 NotFound moritz: agree.
18:38 jhorwitz oh i see
18:39 jhorwitz kinda like when buggy code works in gdb.  :-P
18:39 NotFound As some tickets say, it must be the old gc problem manifesting again.
18:39 masak is there a way to compile but not run using gcdebug?
18:40 moritz masak: try ../../parrot --runcore=debug perl6.pbc -c $file
18:40 masak let's hope that variant breaks in the same way
18:40 jhorwitz afk &
18:40 masak i.e. that the error is in the compilation phase, and not an interaction between compilation and runtime
18:44 moritz $ ../../parrot --runcore=gcdebug perl6.pbc -c push.rakudo
18:44 moritz syntax OK
18:53 pmichaud kid51++ jkeenan++   # changing code_tests to codetest
18:53 masak` joined #parrot
18:53 masak` it compiles ok :/
18:54 masak` moritz: so the GC problem requires both compilation and running to manifest
18:54 bacek joined #parrot
18:55 paco joined #parrot
18:56 moritz masak`: seems like, yes
18:57 masak` (whoever finally solves it)++
18:57 pmichaud (gc problem)   switching runcores in the middle probably doesn't help find a gc bug, because gc bugs are very dependent on the order of execution
18:58 pmichaud i.e., even changing a single instruction is often enough to make the evidence of the bug disappear
18:58 NotFound That's why gcdebug is so useful.
18:59 pmichaud correct.
18:59 pmichaud slow, but useful.
18:59 pmichaud actually, "slow" doesn't describe it well.  Excruciatingly slow.  Feels like working on geologic timescales :-)
19:00 moritz pmichaud: do you think an option to executed GC only each $N opcodes would be helpful?
19:00 Zaba joined #parrot
19:00 pmichaud moritz: I don't know enough about parrot internals to know for sure.
19:00 NotFound Yes, but the solution is to have a more robust gc, in order to not have to use it frequently.
19:01 moritz NotFound: ah right. Go ahead and implement it... (/me ducks very deep)
19:01 NotFound moritz: I think an option to not use it until n opcodes executed will be useful.
19:02 masak` plus a script that does binary search on the exact point of error
19:02 NotFound That way one can try several n values in each case.
19:03 NotFound masak`: binary search if fast enough to do it by hand.
19:04 masak` NotFound: not sure I parsed that.
19:04 NotFound masak`: I think there is no need for the script in the majority of usages.
19:04 tetragon Ick, t/pmc/exception.t started failing recently on my box (no segfault/sigbus)
19:05 moritz if you want good binary search, used gi + git-svn
19:05 masak` NotFound: you may be right
19:05 masak` time to go home and plug in the laptop
19:07 pmichaud (standalone PIR)  I worked on getting pir-output modules to run standalone last night, but got too tired to finish.
19:07 pmichaud however, I don't think they'll be useful for gc debugging, since it's another case of the sequence of operations changing to hide the bug
19:09 Tene pmichaud: I have a question about interactive execution.
19:09 NotFound pmichaud: I think most gc bugs are hidden because after a few opcodes the offending vars are reused, in that case will be useful. But I don't have any evidence, just a thought.
19:11 Tene pmichaud: actions.pm currently uses @?BLOCK to keep track of symbol tables and such, and a few other similar tricks.  That environment isn't available after compilation ends.  Is there a plan to fix this such that interactive mode can actually work?
19:11 pmichaud Tene: That's not really the problem.
19:11 pmichaud by the time a program is running, @?BLOCK may be long gone
19:11 pmichaud (e.g., imagine the case where we compile to .pir and then run the .pir
19:11 pmichaud )
19:12 pmichaud in interactive mode, we need to be able to execute code that modifies the current lexical environment
19:12 pmichaud but Parrot isn't really set up for that, since lexical scopes are tied to .sub, and the smallest unit of execution we have is a .sub
19:13 Tene pmichaud: So the actions.pm stage needs to be able to look things up in the current lexical environment, then?
19:13 pmichaud partially.  But consider this:
19:13 pmichaud if I do:    my @past = ();
19:13 pmichaud when compiled, it acts as if I had done
19:13 pmichaud { my @past = () }
19:13 Tene Right.
19:14 pmichaud (because the statement has to be in a sub)
19:14 pmichaud which means that the @past variable was local to that one interactive line
19:14 pmichaud so we have to have a way for interactive mode to be able to propagate the lexicals it defined into its outer environment
19:14 Tene Yes, I understand that problem.
19:14 pmichaud to me that's the fundamental blocker at the moment.
19:16 Tene I'm more referring to the fact that "say $a" doesn't do a lookup in the lexical environment, it looks at $?BLOCK, which won't exist anymore.
19:16 pmichaud uh, that's not correct.
19:16 pmichaud say $a does do a lookup in the lexical environment
19:17 pmichaud find_lex $P17, "$a"
19:17 pmichaud $P18 = "say"($P17)
19:17 pmichaud oh, if you mean the process of compiling say $a doesn't have $a defined.... you're correct.  But that's a very fixable problem.
19:17 Tene In the compilation stage.  actions.pm:1572
19:18 pmichaud I'm not worried about that.
19:18 Tene Okay.
19:18 pmichaud we'll just pass the current lexical environment to the compiler, and the compiler can check for lexical variables when one isn't defined in $?BLOCK
19:18 Tene Clever.
19:19 pmichaud so that's not the hard issue in my eyes :-)
19:19 Tene Okay, thanks.
19:19 Tene I didn't think it was the most significant issue, just wondering if you had a solution planned yet.
19:19 pmichaud I do now.  :-P
19:20 pmichaud but I knew I could solve that problem so hadn't thought about it.  The "propagate lexicals to another scope" is trickier.
19:20 pmichaud it may be that we'll have a special flag that we pass to the compiler that tells it to generate code to move the lexicals to the outer scope when finished.
19:21 pmichaud Although I don't know if Parrot yet allows us to modify another sub's lexical table.
19:26 pmichaud at any rate, it hasn't been high on my list of things to solve just yet.  Interactive mode is still a "nice to have" feature -- not a "gotta have".  :-)
19:26 NotFound I've made a proof of concept implementation and it catches the bug.
19:26 NotFound paste?
19:26 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
19:26 purl it has been said that paste is (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste
19:28 nopaste "NotFound" at 213.96.228.50 pasted "gcdebug N test" (35 lines) at http://nopaste.snit.ch/13138
19:29 NotFound PARROT_GCDEBUG_SKIP=85000 ../../parrot --runcore=gcdebug perl6.pbc testprog.p6
19:29 mire joined #parrot
19:32 moritz NotFound: testing now...
19:35 NotFound With the 85000 value, just a few seconds before fail.
19:38 NotFound 85080 is almost exact.
19:38 moritz NotFound: your example (with 85000) didn't reproduce the error for me
19:38 moritz NotFound: I'll try with different values
19:38 NotFound moritz: try a lower value.
19:40 moritz the run time seems strongly non-linear in PARROT_GCDEBUG_SKIP
19:41 NotFound Will build with C and retest.
19:44 NotFound Fails with 85082
19:46 NotFound moritz: the algorithm is simple, if it does not fail or finishes in a short time, break and try other value ;)
19:53 NotFound 85084 is the exact point in my build.
19:53 moritz that seems build dependent
19:54 NotFound Strange.
19:54 purl But true.
19:54 moritz so it's a a nice way to identify GC bugs
19:54 moritz but not good for really tracing them
19:54 moritz anyway, nice patch
19:54 moritz NotFound++
19:55 NotFound For tracing, aborting at that point may help.
19:57 NotFound Or run under debugger and setting a breakpoint when counter exhausts.
19:57 moritz that's actually a nice idea
20:00 bacek joined #parrot
20:11 NotFound Patch sended to the mailing list.
20:12 scrottie joined #parrot
20:13 scrottie Hi pmichaud >=)
20:19 scrottie pmichaud, thought I'd try to catch you active, re: the Larry Wall doll, but my clunky old irc-II client doesn't save messages and I'm heading out in a bit, so I'll catch you on email.  cheers!  I'm scott@slowass.net, by the way.
20:20 scrottie left #parrot
20:55 moritz btw the newly fudged S04-statements/try.t could be added to /spectest_regression.data
20:55 pmichaud moritz++
20:59 moritz S29-list/map.t also passes, but I wouldn't add that before clarifying if the last two tests are actually correct
20:59 moritz if they aren't, they should test for the exact opposite
21:00 Theory joined #parrot
21:01 jan joined #parrot
21:01 moritz it's a bit frustrating that p6l seems to discuss various stuff that nobody implements atm, but simple stuff doesn't get answered
21:01 moritz (ok, I sent this one to p6c, maybe I am to blame here)
21:02 donaldh joined #parrot
21:03 pmichaud what isn't being answered?  I'll try to push it
21:03 pmichaud I might have just overlooked it.  Likely, given how code-focused I've been for the past week.
21:04 moritz the question if $_ is rw in a map block
21:04 pmichaud I think yes.  Just a sec --
21:06 pmichaud S02:  You may add a trait argument of <rw> to allow called routines to modify your value. $_, $!, and $/ are context<rw> by default.
21:06 pmichaud so, assuming that @array is rw, I'd presume that $_ in a map block would be rw as well  (assuming the map block doesn't have a signature)
21:07 moritz so the 'rw' doesn't have to be in map's signature?
21:08 pmichaud you mean on the block argument?  That would seem to make the block itself rw
21:08 moritz ah right
21:08 pmichaud map doesn't assign to the block (I don't think) -- it simply invokes the block with arguments
21:11 moritz pmichaud: thanks for the clarification, I'll correct the test
21:18 * moritz changed 'svn up' to 'svn up || true' in his local makefile to have 'make spectest' working offline
21:18 pmichaud smart.
21:18 donaldh joined #parrot
21:18 pmichaud isn't there a character that can be put in front of a makefile line that says "ignore the result code?"
21:18 pmichaud I think it's @ or + or something?
21:19 moritz dunno, my Makefile-fu is rather bad
21:22 moritz pmichaud: http://sial.org/pbot/31176
21:23 Zaba_ joined #parrot
21:23 NotFound pmichaud: @
21:24 NotFound Ops, no, this is to not echo the command.
21:24 pmichaud hyphen
21:24 pmichaud spectest_regression:
21:25 pmichaud -svn up
21:25 pmichaud or, more precisely
21:25 pmichaud -cd test && svn up
21:25 NotFound Yes, that is.
21:28 pmichaud ($_ in map block)   Also, S04 says this about the 'for' statement:
21:28 pmichaud If you rely on $_ as the implicit parameter to a block, then $_ is considered read/write by default. That is, the construct:
21:28 pmichaud for @foo {...}
21:28 pmichaud is actually short for:
21:28 pmichaud for @foo <-> $_ {...}
21:28 pmichaud so you can modify the current list element in that case.
21:28 pmichaud so, I'd take it that bare blocks tend to treat $_ as rw
21:30 particle pmichaud:  the makefile prefix char for nmake is ! iirc
21:31 moritz so it's incompatible? d'oh
21:32 particle @ is so it won't print
21:33 particle @echo 'foo' # prints 'foo', not "echo 'foo'\nfoo"
21:33 particle oh, i see, -
21:34 particle no, i don't recognize that for nmake
21:34 pmichaud –[[number ]]command
21:34 pmichaud Turns off error checking for the command. Spaces and tabs can appear
21:34 pmichaud before the command. By default, NMAKE halts when any command returns
21:34 pmichaud an error in the form of a nonzero exit code. This modifier tells NMAKE to
21:34 arbingersys joined #parrot
21:34 pmichaud ignore errors from the specified command.
21:35 particle that's microsoft nmake, and not at&t or bell or whatever?
21:35 pmichaud I'm pretty sure it is.
21:35 particle well, go ahead and try it
21:35 particle 'course, win32 build is broken atm
21:36 pmichaud the PDF I took the above from was describing the Microsoft Program Maintenance Utility (NMAKE)
21:36 pmichaud version 1.20.
21:37 particle ooh, that's damned old
21:37 particle but probably still accurate
21:37 pmichaud so it's likely available :-)
21:37 dalek r28018 | pmichaud++ | trunk:
21:37 dalek : [rakudo]:
21:37 dalek : * Add S04-statements/try.t to spectest_regression (moritz++)
21:37 particle Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
21:37 particle Copyright (C) Microsoft Corporation.  All rights reserved.
21:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28018
21:37 pmichaud rakudo spectest_regression:  55 test files, 1012 tests
21:38 pmichaud is "1012 tests" the number of passing tests, or the number of tests including todo and skip ?
21:38 particle pmichaud: did you see that allison++ has added branchcc and return_branchcc for you to pdd25cx ?
21:38 pmichaud I did, yes!
21:38 pmichaud that should be... interesting.
21:38 particle i figured it would make you happy :)
21:39 pmichaud well, the devil is in the details -- I have to actually try using it first.  :-)
21:39 pmichaud but as I reviewed my various exception handling code, the thought of having to create a separate sub to handle each exception was looking really nasty.
21:40 moritz pmichaud: I think fudged tests emit something like "ok $count - skip $reason", so they'll be counted as passing
21:40 particle i figured we'd write a library file with an exception handler generator or something
21:41 pmichaud that still seemed pretty icky.
21:41 particle well, anyway, there may not be a need
21:41 pmichaud that's what I'm hoping.
21:41 particle i've gotta go epoxy some bolts in cement &
21:42 japhb kinky
21:42 pmichaud moritz: you're correct, skipped tests count as passing tests.  Wish we could fix that somehow.
21:43 moritz pmichaud: maybe just emit 'not ok # TODO' stuff?
21:43 pmichaud that might be nicer.
21:44 moritz it sounds like fudge could easily do that, but the only time I actually looked at its source I got scared off by too many local()s
21:44 moritz maybe I just need to ignore that ;)
21:45 moritz and hope that larry's code is so good that all my changes DWIM
21:45 nopaste "pmichaud" at 76.183.97.54 pasted "What's the purpose of eval here?" (13 lines) at http://nopaste.snit.ch/13140
21:46 pmichaud (from S04-statements/try.t)
21:47 moritz pmichaud: probably that the test won't exit if the implementation is faulty
21:47 pmichaud ....but we use #?rakudo skip   for that now
21:47 pmichaud or #?pugs skip  or   #?<impl>  skip
21:47 pmichaud and the whole point of a "try" block is to catch exceptions, including exits.  :-)
21:48 moritz I have to admit that I fudged that file rather brainlessly
21:48 pmichaud well, I agree that the test needs fudging for Rakudo
21:48 pmichaud I'm just thinking that there may be a lot of 'eval's that were done from before we had the ability to  #?impl skip
21:48 pmichaud and I'd like to get rid of those.  :-)
21:49 moritz I didn't even check if CATCH blocks should work inside or outside the try { ... }, because I hoped that the one who moved it to t/spec/ checked it ;)
21:49 pmichaud inside.
21:49 pmichaud that way the CATCH block has access to the try block's lexicals.
21:49 moritz seems logical ;)
21:50 moritz how well does eval() work in rakudo?
21:50 pmichaud okay, as long as you aren't trying to access outer-scoped lexicals.
21:50 pmichaud my $a;  eval "$a = 4";    # won't work.
21:51 moritz t/spec/S29-num/pi.t looks like much fun
21:51 moritz #?rakudo 6 skip 'eval not implemented'
21:51 moritz is_approx((eval("Num::pi "), $PI),  "Num::pi");
21:52 pmichaud unless Num::pi is being declared locally in the test, I don't think we need eval there.
21:52 moritz aye
21:52 pmichaud i.e.:   is_approx(Num::pi, $PI, "Num::pi")     should be sufficient.
21:52 moritz that's one of the cases you mentioned
21:53 moritz > say Num::pi
21:53 moritz [oops; continuation 0xb64b97a0 of type 22 is trying to jump from runloop 274 to runloop 50]
21:53 moritz Null PMC access in clone()
21:53 pmichaud oh, that's interesting.
21:55 pmichaud aha, old artifact.
21:55 pmichaud fixing.
21:56 moritz should type names propate from eval to the outside?
21:56 pmichaud example?
21:57 moritz mx $x = eval 'class A { }; A.new()"; say $x.WHAT
21:57 Zaba joined #parrot
21:57 pmichaud no, eval has its own lexical scope
21:57 pmichaud eval 'my $a = 3;';    does not give the outer scope a lexical $a
21:57 pmichaud at least, I don't think it does.
21:57 pmichaud (checking)
21:57 moritz so, what should the example print? "A\n"?
21:58 moritz and is the output useful?
21:58 pmichaud oh, the output would still be 'A', yes
21:58 pmichaud but the classname 'A' would not be in scope.
21:59 moritz that's kinda... ugly
22:00 pmichaud S04:  Blocks are delimited by curlies, or by the beginning and end of the current compilation unit (either the current file or the current eval string).
22:02 arbingersys left #parrot
22:05 pmichaud (Null PMC access) -- not sure where that NULL is coming from.  :-|
22:05 pmichaud oh, yes I am.  :-)
22:06 moritz speaking of "sure" - I should surely go te bed right now ;-)
22:07 moritz good localtime() everybody, see you tomorrow
22:07 pmichaud a demain
22:07 bacek moritz, see you... It's 8AM of tomorrow here :)
22:09 dalek r28019 | pmichaud++ | trunk:
22:09 dalek : [rakudo]:
22:09 dalek : * Clean up slurpy arguments to 'print'
22:09 dalek : * Fix lookups of non-existent package items
22:09 dalek : * moritz++
22:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28019
22:18 Whiteknight joined #parrot
22:20 pmichaud particle: ping
22:23 teknomunk joined #parrot
22:50 Whiteknight chromatic++ has been on a rampage this weekend! My inbox is filled with tales of his travels
22:50 Whiteknight with s/travels/commits/
22:59 jonathan hi all
22:59 jonathan Back from France.
22:59 jonathan Three words. I hate flying.
23:01 jonathan On the upside, I did some Rakudo hacking at Orly airport. And fixed a GC bug in Parrot.
23:01 jonathan ci's coming in a bit
23:02 NotFound A tax-free patch?
23:02 jonathan It's all EU.
23:02 jonathan If I want tax-free stuff, I have to nip over to the Ukraine
23:04 NotFound I hate eastern europeans, they don't voted the "Chiqui Chiqui" in Eurovision X-)
23:05 jonathan By that logic, as a Brit, I hate almost all of Europe. ;-)
23:05 NotFound Yes, but the easterns the worse.
23:06 toft left #parrot
23:07 * jonathan points out that he moved to east europe from west europe. :-)
23:10 NotFound Anyway, the "Chiqui Chiqui" is destined to conquer the world, like the Macarena X-)
23:12 NotFound I'm wondering why ldd parrot shows libstdc++.so in non-c++ build.
23:13 NotFound And the same with ldd blib/lib/libparrot.so
23:14 tetragon I see the same on OS X (with otool)
23:14 tetragon Some of the build steps are done (on OS X) with g++ for some reason I haven't looked at
23:15 tetragon The OS X build uses "c++" instead of "ld" as the linker
23:15 NotFound Looks strange, given all "Why C" stuff in parrot faqs.
23:16 jonathan NotFound: I believe it's for ICU linking to work.
23:16 jonathan Since ICU is written in C++.
23:16 tetragon It looks like the Linux config defaults to using g++ when $conf->data->get('link') isn't set
23:16 NotFound jonathan: Stranger again.
23:17 tetragon jonathan: I've worked with ICU.  It has a Java, C++, and a pure C API
23:17 Limbic_Region joined #parrot
23:17 Whiteknight an optimized build fails "make perl6". Is this a known issue or should I create a ticket?
23:18 jonathan Whiteknight: provided there's no obvious link with the other currently open ticket on something not working on an optimized build yes. (I forget what the other currently being discussed issue is...)
23:19 NotFound By the way, I think some document must say that parrot is not written in C, but in the common subset of C and C++.
23:19 Whiteknight chromatic opened one about the optimized build failing a few of the threading tests
23:19 jonathan Ah, OK.
23:19 jonathan That doesn't feel like an obvious link to me.
23:19 jonathan So please do submit a ticket.
23:24 Whiteknight done and done
23:24 Whiteknight i need to submit some follow-up info (i didn't copy the error messages the first time, and need to rebuild)
23:29 NotFound Specifying --link=gcc , same result.
23:29 Eevee so.  what needs doing that will get my..  ankles wet
23:39 dalek r28020 | coke++ | trunk:
23:39 dalek : RT #53602 (remove or convert tools/docs/search-ops.py)
23:39 dalek : implementation by kid51++
23:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28020
23:53 kid51 joined #parrot
23:56 * kid51 logs on and for the first time in days is not deluged with > 20 Viagra/Cialis spams
23:57 kid51 More emails from Parroteers than spam -- perhaps there's hope for humanity yet!

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

Parrot | source cross referenced