www.parrotcode.org | Last Release: 0.7.0 "Severe Macaw"
Set by moderator on 3 September 2008.
00:06 Zaba_ joined, bacek joined 00:09 AndyA joined 00:15 japhb joined 00:31 Theory joined 01:03 Whiteknight joined 02:04 Theory joined 02:12 particle1 joined
kid51 must sleep 02:37
purl $kid51->sleep(8 * 3600);
s1n anyone know what get_pmc_keyed refers to (i.e. unimplemented method maybe?) 02:40
03:13 Whiteknight joined 03:15 Ademan joined 03:24 tetragon joined 04:25 tetragon joined
pmichaud get_pmc_keyed is a vtable method 04:33
it's used for looking up entries (e.g. in a hash or array) 04:34
PerlJam good morrow. 05:01
pmichaud good morning 05:09
PerlJam is staying up with a coughing child. 05:13
pmichaud sorry to hear that 05:15
I've had a few nights like that :-|
PerlJam So, what's new in the world? 05:17
05:17 tetragon joined
pmichaud not a whole lot, other than news already reported :-) 05:17
PerlJam I'm still waiting to hear from TAMUCC. The position must stay open until 9/11, so I guess they can't officially hire me until 9/12 05:19
pmichaud sounds like business as usual :-) 05:20
is Cyndi excited? 05:23
PerlJam I think I have some small insight into what it's like to be retired. I keep wandering around looking for stuff to do. I try to do parrot/rakudo things but kids/wife make that difficult. So far I've mowed my sister-in-law's grass, made lots of meals,and generally puttered around their house.
Cyndi is very excited (and happy)
pmichaud well, your insight into retirement somewhat matches mine :-)
PerlJam yeah, but you nominally get to hack on rakudo as your "day job" :) 05:25
pmichaud well, between disability, kids, and travel there haven't been many "days" for my "job" :-) 05:26
(this last week there were some, but I'm apparently still recuperating from this summer :-)
PerlJam I've rediscovered that I'm not "normal". I've been helping Cyndi's sister with her algebra homework (she's going back to school to become a teacher) and apparently I remember how to do it better than her engineer husband. Everyone has been marveling at my ability to do algebra and I've been boggling that everyone is marveling. 05:29
pmichaud shall I send Matthew? he does algebra pretty well also :-) 05:30
PerlJam heh
05:31 chromatic joined
PerlJam greetings chromatic 05:31
chromatic Greetz.
pmichaud, did you see my response to RT #58578? 05:32
pmichaud not yet
I'm looking into something else
chromatic Good; I think I have a simpler solution. (But I blame Rakudo still, not Parrot.) 05:33
pmichaud I'm pretty sure it needs to be max >= min 05:36
the core of the difficulty is that there isn't really a way to find out the depth of the outer stack to know when to stop 05:37
so we keep incrementing until we get an exception
although I suspect we don't need to do $P0 = getinterp at each iteration. 05:38
nopaste "chromatic" at 63.105.17.30 pasted "Another Attempt (Less Confusing)" (21 lines) at nopaste.snit.ch/13959
pmichaud I wanted to have the ability to specify a range of depths to search 05:39
thus the min/max approach
chromatic This still uses min/max, but it doesn't increment depth and decrement max every time through. 05:40
pmichaud except depth needs to be offset by one from min-max 05:41
I want min and max to be relative to the caller, not to !OUTER
i.e., a min of 1 would be !OUTER's caller's caller 05:42
chromatic but depth starts at min and goes up to max 05:43
pmichaud depth starts at min + 1
and goes to max + 1
chromatic Right, min + 1
I don't understand why you decrement max every iteration though.
pmichaud I think I was tired when I wrote that code. :-) 05:44
chromatic I can change it so it goes to max + 1 and test; doing that now.
I kept getting the impression it walked out of the range and the exit condition was never true. 05:46
PerlJam seems like the way it is will never go from min+1 to max+1, but rather from min+1 to int((max+min)/2)
pmichaud in the original source? no, because it's comparing max to min 05:47
not to depth
and min doesn't change
PerlJam oh, right.
chromatic No crash with my latest change. 05:48
pmichaud interesting. I'm surprised it makes a difference.
PerlJam perhaps there's an obscure bug in parrot's inc/dec ;) 05:49
chromatic My backtrace was over 10,000 call frames deep.
Sorry, 100,000.
pmichaud I don't quite understand what was generating the call frames.
nopaste "chromatic" at 63.105.17.30 pasted "Yet Another Rakudo Seggie Patch" (26 lines) at nopaste.snit.ch/13960 05:50
chromatic Exception handler invocations at first, until it exhausted Parrot contexts, and then recursive context marking.
pmichaud "exception handler invocations"? from...? 05:52
chromatic No caller depth exceptions. 05:53
pmichaud but weren't they being popped at the done: label?
or do you mean "No caller depth" exceptions? 05:54
chromatic Yes.
i mean the exceptions, not the handlers
pmichaud so, when the caller didn't have an :outer, it would generate an exception 05:55
chromatic I believe so. 05:56
pmichaud ...and the exception never gets gc'ed?
or...
I'm really confused.
chromatic The exception handler causes another exception to be thrown, which causes another exception to be thrown, which... 05:57
pmichaud which exception handler?
that's the part I'm confused about.
chromatic I'm not sure. It's really hard to tell. 05:58
pmichaud I would've thought that the push_eh on line 91 would be the exception handler for the "No caller depth" exception.
chromatic If I could reproduce it in a few lines of PIR, I could tell you for sure.
PerlJam chromatic++ for plumbing the depths of confusion anyway. :)
pmichaud at any rate, I _really_ don't understand why changing the indices makes any difference. :-) 06:00
and that scares me a bit. 06:01
chromatic Me too.
pmichaud feel free to apply the patch, though 06:03
I do prefer your approach to iterating depth 06:04
chromatic Let's see how many passes we get this way.
06:16 chromatic joined
dalek r30772 | chromatic++ | trunk: 06:17
: [Rakudo] Improved caller lookup algorithm in !OUTER; it's slightly more clear
: this way. It also appears to clean up RT #58578 (reported by Moritz Lenz).
: Neither Patrick nor I trust it completely though.
diff: www.parrotvm.org/svn/parrot/revision?rev=30772
nopaste "PerlJam" at 24.243.121.169 pasted "Is there an easier way?" (41 lines) at nopaste.snit.ch/13961
PerlJam pm: see the paste.
pmichaud looking
PerlJam I just implemented the optional exprs in loop(;;) 06:18
pmichaud I think it ought to be simply if $<e1>
instead of if $<e1>[0] ne '' 06:19
PerlJam just trying to be more explicit there (and remind my self that thingy? is an array)
pmichaud I feel that explicitly testing strings here is not the right way to go 06:20
for one, $<e1>[0] will stringify its AST
PerlJam hmm
pmichaud because any match object stringifies as the stringification of its result object 06:21
06:21 tewk joined
PerlJam okay, so I guess I should change the if $<eee> test too (and I'm pretty sure the original implementation did not compare agains the empty string) 06:23
pmichaud I would do
my $block := $($<block>);
er, actually
PerlJam but, what I was really wondering was if there was a better/easier way to generate the empty statements
pmichaud start over
my $past := $($<block>);
PerlJam (or even the always true)
pmichaud if $<e3> { 06:24
$past := PAST::Stmts.new( $past, $($<e3>[0]) );
}
my $cond := $<e2> ?? $($<e2>[0]) !! PAST::Val.new( :value(1) ); 06:25
PerlJam aha! NQP groks ternary. I had though it didn't for some reason.
pmichaud $past := PAST::Op.new( $cond, $past, :pasttype('while') );
if $<e1> { $past := PAST::Stmts.new( $($<e1>[0]), $past ); } 06:26
make $past;
we added ternary to NQP a few months ago... originally it didn't.
anyway, we only add the $<e3> and $<e1> nodes if they're non-null. 06:27
the other way to make sure we matched something other than empty string is to use $<e1>[0].chars 06:28
I _think_ .chars has been implemented on match objects 06:29
yes, it has.
PerlJam well, I'll play with rearranging things a bit. That'll at least help me get back into the feel of rakudo again. 06:33
pmichaud okay.
PerlJam does NQP understand the modifier form of if/unless while/until, etc. ? 06:38
pmichaud no.
06:40 uniejo joined 06:43 tetragon joined
moritz pmichaud, chromatic: now that test dies after 562 for me 06:43
pmichaud yes, I didn't think it should have that big an impact.
I'll have to look at it in the morning though. About to submit a patch for testing and then time for sleep 06:44
chromatic moritz, do you get an error in can() ?
moritz I'll try to skip that to see if it's the individual test, or more of a complexity problem
chromatic: no, segfault
pmichaud also, for that test I'd prefer that it read the rx_* files and process the skip markers from there 06:45
chromatic Hm. Let me back out a PGE patch and see if that changes things.
moritz would you want skip markers for all Perl 6 implementations in the rx_* files? 06:46
chromatic Sorry, PCT.
pmichaud moritz: they're already there
at least for pge and pugs
nopaste "chromatic" at 63.105.17.30 pasted "Fiddled with this in PCT Debugging It as Well" (15 lines) at nopaste.snit.ch/13962
pmichaud chromatic: shouldn't any locally-set exception handler automatically be popped when leaving the current sub ? 06:47
chromatic I can never remember what's the new system and what's the old system. 06:48
Some PCT code has the generated pop_eh, and some doesn't.
pmichaud I agree it doesn't hurt to have the pop_eh there.
06:51 masak joined
chromatic No problem for me with the test under gdb either way. 06:52
dalek r30773 | pmichaud++ | failthrow: 07:03
: Create a new branch for testing Failure objects and exceptions.
diff: www.parrotvm.org/svn/parrot/revision?rev=30773 07:04
cotto_home chromatic, can #58040 be closed? It looks like you committed a fix but never closed the ticket. 07:11
07:16 tetragon joined
chromatic Doing it now; thanks for the reminder. 07:17
PerlJam pm: still awake? Want to look over my loop_statement refactor?
07:18 viklund joined
nopaste "PerlJam" at 24.243.121.169 pasted "loop_statement refactor with optional expressions for those that can read diff output" (62 lines) at nopaste.snit.ch/13963 07:20
cotto_home does merging tickets cause rt to explode or was that a coincidence? 07:21
moritz tests that
purl tests that are failing?
moritz purl, forget tests that 07:22
purl moritz: I forgot tests that
PerlJam Is there a more useful visualization of the results of "make spectest" ?
moritz PerlJam: make spectest_regression instead
that runs everything that should work right now 07:23
(if that help you)
cotto_home and it's back
PerlJam moritz: aye, thanks. But now my question is "Is there a more useful visualization of make spectest_regression?" :)
moritz PerlJam: not that I know of 07:24
PerlJam: what would you like to have visualized? it should be boring ;)
dalek r30774 | julianalbo++ | trunk:
: rename example xlib.pir to Xlib.pir (first step to make it available from rakudo
chromatic pmichaud has a visualization he uses to create his CSV numbers, but I forget what that is.
dalek diff: www.parrotvm.org/svn/parrot/revision?rev=30774
r30775 | pmichaud++ | failthrow:
: [rakudo]: First-cut version of Failure objects that contain
PerlJam adds such a thing to his list of potential projects
dalek : unthrown exceptions. Still needs a little work, but exists
: in a branch because it causes a lot of spectest_regression
: failures.
purl : failures are mainly due to:
dalek diff: www.parrotvm.org/svn/parrot/revision?rev=30775
moritz chromatic, PerlJam: that's tools/test_summary.pl 07:25
PerlJam moritz: But when it's not boring, not only should it be exciting, but ueberhelpful if it can :)
moritz, chromatic: thanks for that too.
moritz PerlJam: you mean like a HTML matrix? 07:26
pmichaud I'd like to see the progress graphs also show the size of the spectest suite in a light gray
chromatic purl, forget : failures
purl failures are wierd; dying on a call that works in the 00 file.
dalek r30776 | julianalbo++ | trunk:
: rename example xlib.pir to Xlib.pir - forgot to update MANIFEST
diff: www.parrotvm.org/svn/parrot/revision?rev=30776
PerlJam moritz: something like that would be nice.
moritz PerlJam: patches to the test harness are welcome (hint, hint ;)
PerlJam moritz: if it itches enough, I'll scratch it. 07:27
pmichaud (and the size of the spectest suite is in the csv file)
anyway, sleep time here
bbiaw
if people want to play with spectest_regression in the 'failthrow' branch that could be interesting and helpful 07:28
chromatic cotto_home, if you find other open tickets where the last note is me applying a patch, feel free to assign them to me and resolve, or just resolve.
pmichaud (i.e., run "make spectest_regression", and then look at the test file(s) that are reporting "use of uninitialized value" and figure out if it's true or not)
in particular, I'm wondering if 07:29
is($foo, undef, '$foo is undef');
should throw an exception if $foo is uninitialized :-)
chromatic Is that a rhetorical question? 07:30
moritz pmichaud: on the Perl 6 level?
pmichaud moritz: yes.
moritz: in the test suite.
moritz pmichaud: if we have warnings, and a kind of 'use warnings FATAL => ':all'' in place, yes 07:31
07:31 cosimo joined
pmichaud there are a lot of is($foo, undef, '$foo is undef'); in the spectest suite, and I'm wondering if we need to change those tests or if that's a valid mechanism for testing for undefness 07:31
moritz (but tests like that are really wrong anyway)
yes, they should be !$stuff.defined
ok !$foo.defined, ...
pmichaud okay. I need to get .defined defined in Object then 07:32
dalek r30777 | julianalbo++ | trunk:
: rename namespace xlib to Xlib in xlib example (second step to make it available from rakudo)
diff: www.parrotvm.org/svn/parrot/revision?rev=30777
moritz pmichaud: yes, please
pmichaud but it'll have to be tomorrow... too tired to reliably do it tonight
and it scares me how many times I'm repeating words. "What the meaning of C<is> is" "I have to get C<defined> defined" "I'm fixing C<Failure> failures" 07:33
dalek r30778 | duff++ | trunk:
: Make the expressions in a loop statement optional and refactor loop_statement
diff: www.parrotvm.org/svn/parrot/revision?rev=30778
PerlJam pm: that's what you get for being wiki wiki :)
chromatic .defined should be easy to add, right?
Just check against Undef?
pmichaud there is no Undef :-)
chromatic Even easier. 07:34
purl i guess even easier is to serve different CSS documents
pmichaud and it's a bit tricky because we also want the vtable methods to dtrt
so, we need a vtable method that delegates to the .defined method
chromatic Okay. If it's more than four lines I might sleep myself instead.
pmichaud and then .true and get_boolean need to be properly defined in terms of .defined
it's more than four lines. 07:35
might be as few as eight, but definitely more than four. :-)
moritz ;)
sleep well
pmichaud and it's intricate enough that I'd rather do it when I'm thinking clearly so I don't do bad code like the stuff we found earlier :-|
PerlJam pm: before you go ... what's needed to make next/last/redo work? 07:36
or, where would I look for more info?
pmichaud they have to be added into PCT so that the various loop constructs can trap those control exceptions and dtrt
moritz I think we should have control exception in PCT
pmichaud and for that we also need things like "next LABEL" which means the loop and block constructs need to be able to recognize the control exceptions that have their label 07:37
(and the control exceptions need labels)
we already have control exceptions in PCT -- that's how 'return' works
we just need to add the cases for next/last/redo etc. 07:38
moritz envisions a :catches<name1 name2> syntax, so for example a while block would be set up to catch <<last redo next @labels>>
pmichaud something like that might work. More likely is :label('FOO') and just catch all of the control types 07:39
moritz but it shouldn't catch return 07:40
so not "all"
pmichaud it'll end up catching it and rethrowing it because it's not one of the recognized control exceptions
afaik Parrot doesn't give me a way to say "only catch these types of exceptions" 07:41
at some point it's supposed to allow us to mark exceptions as handled or unhandled, but I don't know if that's implemented yet.
anyway, sleep 07:42
purl i think anyway, sleep is necessary before I cough up lej's lungs some more
PerlJam purl: forget anyway, sleep 07:43
purl PerlJam: I forgot anyway, sleep
chromatic pmichaud, if you backlog, I think you set a type for the exception handler 07:47
though the syntax for that I don't remember
dalek r30779 | julianalbo++ | trunk: 07:54
: Fix another MANIFEST mistake
diff: www.parrotvm.org/svn/parrot/revision?rev=30779
r30780 | julianalbo++ | trunk: 08:00
: add nqp and perl6 to nci Xlib examples
diff: www.parrotvm.org/svn/parrot/revision?rev=30780
cotto_home is Allison the only one who can grant edit bits for parrot.org? 08:02
moritz NotFound: is xlibtest.p6 supposed to be a Perl 6 file that can be run by rakudo? 08:04
NotFound: if so, I'd clean it up a bit (for example it uses perl 5 style POD)
dalek r30781 | julianalbo++ | trunk: 08:22
: commented out pod in xlibtest.p6 example
diff: www.parrotvm.org/svn/parrot/revision?rev=30781
rurban@cpan.org | parrot_installation: 08:34
link: www.perlfoundation.org/parrot/index...stallation
moritz NotFound: in Perl 6, the POD is delimited by =begin pod ... =end pod 08:35
08:43 barney joined 08:59 iblechbot joined 09:01 Ademan joined 09:37 kid51 joined
dalek r30782 | kjs++ | trunk: 09:40
: [pirc/new] implement some instruction selection and improve grammar a bit.
diff: www.parrotvm.org/svn/parrot/revision?rev=30782
09:58 kj joined 10:20 Whiteknight joined 10:26 tetragon joined
dalek r30783 | julianalbo++ | trunk: 10:32
: avoid usage of deprecated opcodes in example Xlib.pir
diff: www.parrotvm.org/svn/parrot/revision?rev=30783
r30784 | julianalbo++ | trunk: 10:46
: Xlib example: use current screen in RootWindow instead of assuming 0
diff: www.parrotvm.org/svn/parrot/revision?rev=30784
10:51 kj joined 11:04 barney joined 11:17 Whiteknight joined 11:22 bacek joined 11:43 bacek joined 11:55 Debolaz joined 12:00 aconran joined
dalek r30785 | pmichaud++ | trunk: 12:35
: [rakudo]: spectest-progress.csv update: 157 files, 3129 passing tests
diff: www.parrotvm.org/svn/parrot/revision?rev=30785
12:41 Zaba joined
dalek r30786 | coke++ | trunk: 13:24
: [cage] fix trailing whitespace causing smolder failures.
diff: www.parrotvm.org/svn/parrot/revision?rev=30786
13:27 paco joined 13:44 cognominal joined
NotFound moritz: thanks for the info, but I was not at home. 13:45
dalek r30787 | julianalbo++ | trunk: 13:57
: use perl6 pod delimiters in xlibtest.p6
diff: www.parrotvm.org/svn/parrot/revision?rev=30787
moritz pmichaud: I have some local changes to the suite pending here, which I can't commit until you install the .defined method in global 14:03
NotFound moritz: there is more cleaning required other than the pod and the lack of use v6; ? 14:06
moritz NotFound: yes
use UnquotedModuleName;
and rakudo supports =, so no need to use := all the way
if you want I can do some cleaning 14:07
NotFound Will be nice, I'm not fluent in perl6.
moritz allright 14:09
NotFound Someone is taking care of writing a mysql module?
moritz not that I'm aware of
NotFound I've do some testing this morning, and seems doable, at least for simple queries. 14:10
moritz cool
NotFound I will write some simple code and let people test it. 14:11
dalek r30788 | moritz++ | trunk: 14:13
: clean xlibtest.p6 a bit
: * use UnquoteModuleName
: * assignment instead of binding
: * more consistent whitespaces
diff: www.parrotvm.org/svn/parrot/revision?rev=30788
NotFound moritz: good, thanks. 14:17
14:31 Zaba_ joined 14:33 jan joined
dalek r30789 | allison++ | pdd27mmd: 14:35
: [pdd27mmd] Fixing a test failing from deprecated opcodes, and begin the
: conversion to create a new destination by default.
diff: www.parrotvm.org/svn/parrot/revision?rev=30789
14:35 gryphon joined 15:06 Zaba joined 15:18 Debolaz joined 15:20 radhios joined 15:21 Theory joined 15:39 ron joined
ron I created a page on parrot.org with URL www.parrot.org/wiki/some-testing-status-tools to fill in for a broken link referring to Parrot Test Status tools on the dev page. 15:40
Anyone willing to take a look and see if it fits the content needs of that link? 15:41
moritz notices that the "wiki" link in the navigation points to the perlfoundation.org wiki 15:42
15:45 gryphon joined
particle1 moritz: yes, it's still todo to move that to parrot.org 15:50
ron I don't have an edit bit to fix the link. Should I ask for one, or is someone else interested in fixing the link, or is other content appropriate to fill in there? 15:51
NotFound purl: paste?
purl paste is probably (see: nopaste) or like glue but a little safer to sniff. or nopaste.snit.ch:8001/ or scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste
moritz ron: ask for an edit bit
ron thx
nopaste "NotFound" at 213.96.228.50 pasted "Testing mysql access from pir with nci" (78 lines) at nopaste.snit.ch/13965 15:52
NotFound Someone want to test? 15:53
moritz NotFound: it says mysqlclient library not found
I have a /usr/lib/libmysqlclient.so.15.0.0
NotFound moritz: Do you have a link /usr/lib/libmysqlclient.so to it? 15:54
moritz no
NotFound This is a problem. 15:55
moritz ./parrot mysql.pir
mysql client version: 5.0.32
src/string.c:2106: failed assertion 's'
Backtrace - Obtained 17 stack frames (max trace depth is 32).
(after I added the link) 15:56
NotFound You can try to put the full path in the loadlib call, but I don't know if works that way.
moritz it's good to be root ;)
NotFound Oooops... forgot that doesn't work without my null string patch.
jonathan purl 2 girls, 1 paste 15:57
purl jonathan: sorry...
jonathan ...
jonathan was genuinely curious....
NotFound moritz: look at RT#58438
moritz jonathan: RT #58602 is extra for you ;)
jonathan Oh, that'll be resolved once I get the new dispatcher in place. 15:59
Perl6MultiSub actually handles this - there are PIR tests.
moritz NotFound: do I have to re-configure
jonathan: thought so
NotFound moritz: to apply that patch? No.
moritz NotFound: now it segfaults instead :/ 16:00
NotFound moritz: use connection data and query valid, error check is minimal. 16:01
A query that returns at least 1 row with 1 column.
moritz ok, will do 16:02
what's the order of arguments?
host, database, password, user?
NotFound It only prints first column, anyway.
moritz or host, user, password, database?
NotFound host, user, password, database 16:03
moritz thanks
Fetched 92426 rows.
NotFound++
NotFound Uou!
moritz (that was a part of the IRC log database ;)
NotFound Not a bad test, I do it with just two rows. 16:04
Well, that demonstrates that a simple module able to do queries is doable in short time :) 16:05
moritz ...assuming that the null thingy patch is applied
NotFound moritz: I'm surprised nobody commented it. 16:06
particle1 update log set line = 'notfound++' where line like '%mysql access from pir with nci'
NotFound I will commit anyway, don't see any reason to wait.
moritz I can comment with "very impressive", if that helps you ;) 16:08
dalek r30790 | julianalbo++ | trunk: 16:10
: translate NULL STRING in nci t args to NULL C strings, RT#58438
diff: www.parrotvm.org/svn/parrot/revision?rev=30790
NotFound After my tests with Xlib and mysql I can only say: NCI is great! 16:11
moritz indeed
tewk++ I guess ;)
NotFound Compared with writting C glue for a Perl5 module, is orders of magnitude easier. 16:12
moritz somebody should blog about this. 16:13
particle NotFound isn't using tewk's ncigen yet
although HE REALLY SHOULD
NotFound particle: ENOTENOUGHDOC 16:14
particle since then it'd be another nail in the coffin of the old static nci implementation
NotFound: could you mail tewk and p2 about it?
if you don't, i will
NotFound My initial question is: there is some module using it? 16:15
particle tewk had some example code... don't know if it's committed 16:16
lemme see
NotFound Real module, will be better.
Xlib is not exactly a simple test case. 16:17
particle i have a diff from trunk to gsoc_nci_001 16:36
i'm looking through it for pod and other docs
NotFound: compilers/ncigen/t/ has some examples 16:41
you need only to look at the test library to see how to use ncigen 16:42
NotFound particle: I'm unable to understand uncommented complex perl code in less that one life ;) 16:49
particle try: parrot compilers/ncigen/c99.pbc --target=parse <your_h_file> 16:53
NotFound $ ./parrot compilers/ncigen/c99.pbc --target=parse /usr/include/X11/Xlib.h 16:55
Failed to parse source
Same with several other files. 16:56
particle try compilers\\ncigen\\t\\spi.h 16:57
NotFound Don't have that file. 16:58
particle rats, it's gone in trunk 16:59
nopaste "NotFound" at 213.96.228.50 pasted "Testing mysql access from pir with nci 2.0" (120 lines) at nopaste.snit.ch/13966 17:08
NotFound More error checked and show more than one column. 17:09
moritz seems to work fine here 17:10
with 7 columns 17:11
83796: '-775441', '#perl6', '2005-03-12', 'autrijus', '1110648540', 'yeah. be glad it is not an arrow parameterized on polymorphic existential endofunctors inside a ST thread under STM.', '0'
.oO(...)
particle O_o 17:12
moritz 159748896 exported in real 1m14.105s
NotFound Good :)
moritz bytes, that is
NotFound The speed will probably not be great, I figured now that I build the struct data in each row. 17:14
moritz 159748896 / 1024 / 1024
purl 152.348419189453
moritz is more impressed that 150MB were exported without error 17:15
measuring speed of things that are not optimized isn't very interesting
(I still do that sometimes ;) 17:16
NotFound Is a better test of parrot and nci stability that way, building and discarding a lot of objects.
particle optimizing things you haven't measured the speed of isn't very productive
NotFound So, the idea that a simple mysql module is doable has been reconfirmed :) 17:17
moritz mysqldump takes 35s for the same table 17:18
so it's not that bad ;)
particle 74/35
purl 2.11428571428571
NotFound moritz: I know of a guy that optimized for speed a loop until key pressed. 17:19
particle 211% slower
moritz NotFound: there's no limit for creativity 17:20
NotFound Let me avoid the pessimization for a nicer comparaison.
particle s/creativ/stupid/
moritz particle: not 211% slower. It takes 211% of the time, so it's only 111% slower
particle oops, finger slipped. yep! 17:21
NotFound There was an example to instruct another guy, but a fantastically bad choosen example.
nopaste "NotFound" at 213.96.228.50 pasted "Testing mysql access from pir with nci - unpessimized version" (121 lines) at nopaste.snit.ch/13967 17:23
moritz down to 1m9s 17:26
Tene I get an assertion failure with that pir. 17:27
NotFound Not bad
Tene src/string.c:2106: failed assertion 's'
NotFound Tene: svn up
moritz (and rebuild ;)
Tene 'kay
NotFound See RT#58438 for details. 17:28
moritz running with -G makes it even faster: 1m6s (and uses only about 1.2GB ram ;)
Tene NotFound: now I get a segfault. Is that better? 17:29
NotFound moritz: it's using the mysql function to retrieve all data in a shoot, no wonder it eats a lot of memory.
moritz Tene: did you adapt the connection parameters? 17:30
Tene Nope.
moritz NotFound: yes, I figured...
NotFound Tene: please -t and tell me where dies.
Tene moritz: what params should I set to what?
moritz Tene: the connection params to the DB in the pir source 17:31
Tene: search for real_connect
Tene moritz: what should I set them to? I don't know where this db is.
moritz Tene: you can use any mysql db that you have access to
Tene ah
moritz then search for select, and edit that line to use a useful table name 17:32
nopaste "tene" at 166.70.38.237 pasted "parrot trace for notfound" (1 line) at nopaste.snit.ch/13968
"tene" at 166.70.38.237 pasted "parrot trace with stderr for notfound" (1 line) at nopaste.snit.ch/13969
moritz I too get a segfault if I use a wrong password 17:33
Tene Okay.
NotFound A table with all columns CHAR, better. 17:34
Or VARCHAR, or whatever.
moritz int works fine here
NotFound Tene: Don't see trace in your paste. Did you use parrot -t ? 17:36
moritz NotFound: nopaste.snit.ch/13970 17:37
NotFound I see... I'm using the NULL MYSQL result of the connect instead of the initial to get the error message. 17:41
Tene NotFound: look at the second paste. 17:43
NotFound: I forgot to redirect stderr for the first.
NotFound Tene: is the same, look at the "(1 line)" 17:44
Tene ... huh
Weird.
pmichaud j 17:45
Tene k 17:47
nopaste "NotFound" at 213.96.228.50 pasted "Testing mysql access from pir with nci - fixed segfault?" (123 lines) at nopaste.snit.ch/13971
Tene Yeah, fixed.
NotFound pmichaud: I've been able to make Xlib.pir usable from rakudo :) 17:48
pmichaud NotFound: yay!
NotFound Look at examples/nci/xlibtest.p6
dalek r30791 | allison++ | pdd27mmd: 17:49
: [pdd27mmd] Arguments to multis may be null, in which case pass it along and let
: the multi decide what to do with it (throw an exception, ignore it...).
diff: www.parrotvm.org/svn/parrot/revision?rev=30791
17:50 barney joined
dalek r30792 | allison++ | pdd27mmd: 18:03
: [pdd27mmd] Remove deprecated n_* opcode from test.
diff: www.parrotvm.org/svn/parrot/revision?rev=30792
r30793 | pmichaud++ | trunk: 18:13
: [rakudo]: Update svn:ignore to ignore auto-generated 'Test.pir'
diff: www.parrotvm.org/svn/parrot/revision?rev=30793
18:15 Ademan joined 18:18 martin joined
dalek r30794 | allison++ | pdd27mmd: 18:19
: [pdd27mmd] Removing more cases of defaulting to modifying/morphing the
: destination PMC. 18:20
diff: www.parrotvm.org/svn/parrot/revision?rev=30794
r30795 | pmichaud++ | failthrow: 18:34
: [rakudo]: Change use of Failure objects to merely warn instead of die.
: This causes spectest_regression to pass again, but with warnings
: about places where undefs are being used in value contexts (and we
: can start updating tests or Failure behavior as appropriate).
diff: www.parrotvm.org/svn/parrot/revision?rev=30795 18:35
18:37 Ron joined
particle www.infoworld.com/article/08/08/28/...ons_1.html 18:40
cotto_work if someone's bored, the patch in #32087 can be committed and the ticket closed 18:41
the number of tests needs to be incremented to 14, but the patch is fine otherwise 18:43
PerlJam particle: that seems more like and advertisement for france than anything else. 18:45
cotto_work france++ 18:48
pmichaud I don't even remember the last time I was in france. 2001, probably. 18:50
dalek r30796 | allison++ | pdd27mmd: 18:52
: [pdd27mmd] Fix the call to 'is_equal' so it isn't comparing the second argument
: to itself.
diff: www.parrotvm.org/svn/parrot/revision?rev=30796
paco NotFound: si la implemtacion con nci tarda 74 segs y la nativa son 35 segs, no seria un 50 % mas lenta? 35 es casi la mitad de 74 18:53
NotFound paco: wrong channel or wrong LANG X-)
paco sorry
18:55 martin joined
dalek r30797 | pmichaud++ | trunk: 19:00
: [rakudo]: Merge failthrow branch back into trunk.
diff: www.parrotvm.org/svn/parrot/revision?rev=30797
r30798 | pmichaud++ | failthrow:
: Remove obsolete branch.
diff: www.parrotvm.org/svn/parrot/revision?rev=30798
PerlJam obsolete? Wasn't it created just a few hours ago? 19:01
moritz PerlJam: and already merged ;)
pmichaud I just wanted somewhere to stick the commit until I could make sure I had spectest_regression running
branches are cheap. :-)
dalek r30799 | pmichaud++ | trunk: 19:34
: [rakudo]: Initial implementation of .defined for Object.
diff: www.parrotvm.org/svn/parrot/revision?rev=30799
19:43 Zaba_ joined 20:18 peepsalot joined 20:29 sjansen joined 20:39 silug joined
NotFound How can I know the size of an Array PMC in rakudo? 20:49
pmichaud .elems ? 20:51
NotFound Method 'elems' not found for invocant of class 'FixedStringArray'
pmichaud oh, is that @*ARGS ? 20:52
NotFound No, is a test of a pir module.
pmichaud Rakudo doesn't have an equivalent of FixedStringArray. However, you could try simply evaluating it in numeric context -- i.e., +@array
NotFound get_number() not implemented in class 'FixedStringArray' 20:54
pmichaud what is creating the FixedStringArray?
NotFound Theres is an integer context?
pmichaud Perl doesn't really have an integer context, no.
NotFound pmichaud: is returned from a method call.
pmichaud NotFound: from a Parrot builtin type, or from something else? 20:55
NotFound From a pir module. The value returned is a FixedStringArray.
pmichaud well, this is an example of cross-hll types, then. :-) 20:56
I don't have a quick answer, other than FixedStringArray should probably provide a get_number vtable entry. Most of the other Parrot array types do.
NotFound I'll try with resizable one. 20:57
Tene Should FixedStringArray have a .elems()? 21:03
21:12 iblechbot_ joined 21:14 Ademan joined
nopaste "NotFound" at 213.96.228.50 pasted "First attempt of Mysql module usage from perl6" (25 lines) at nopaste.snit.ch/13972 21:21
NotFound Is this valid perl6? 21:22
It works if I add a get_number vtable function to FixedStringArray. 21:23
particle notfound: does "my Mysql $mysql .= new();" work? 21:40
jonathan my Mysql $db .= new(); # reads so nicely :-)
particle is $row not already a number in "my $elems = +$row;" ?
ah, $row is an array, i suspect 21:41
jonathan I doubt my Mysql $db .= new(); will actually work, though.
NotFound particle: yes, is an array.
jonathan Because it's calling the new() sub in a namespace.
NotFound What must be provided to make that work?
A 'new' sub in the class namespace? 21:42
jonathan NotFound: I believe, register it with p6meta, which will make a proto.
particle yeah, that'll do it
NotFound I'm now making a Mysql::Row class, to simplify. 21:43
jonathan is very happy to see this starting to work :-)
particle that inner while loop can be replaced with a map statement (or many other things)
jonathan Will certainly do some more Rakudo stuff in the next couple of weeks than I have in this last week. 21:44
NotFound particle: I left that for you rakudo guys.
particle and $row := $r.fetch_row... don't need the colon
NotFound I'm just trying to make Mysql to work.
particle yes, it's ugly perl 6, but it is valid perl 6 :) 21:45
NotFound The +$row is a valid thing, then?
particle yes, but $row.elems is probably more clear 21:46
NotFound Are you sure pmc arrays have that method?
particle if you use RPA it will
NotFound RPA? 21:47
purl hmmm... RPA is parrot's generic array, you can call push, pop, shift, unshift etc on it.
particle ResizablePMCArray 21:48
rather than FixedStringArray
Tene But should FSA have .elems? 21:50
NotFound I don't see that method in resizablepmcarray.pmc nor in fixedpmcarray.pmc 21:51
particle perl 6 should wrap RPAs as Perl6Arrays 21:56
and Perl6Array has .elems
but RPA does have .elements which it inherits from FPA 21:57
but i hope that's not exposed to perl 6, because it's not valid perl 6
PerlJam Better would be to DBDI to work :) 21:58
NotFound The Mysql $mysql .= new(); gives: Method 'ACCEPTS' not found for invocant of class 'Mysql' 22:00
PerlJam speaking of which ... is anyone working on dbdi?
NotFound dbdi?
PerlJam ask google, it'll tell you everything you need to know. 22:01
22:26 bacek joined 23:03 tetragon joined 23:56 TiMBuS joined