Parrot 3.4.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 17 May 2011.
soh_cah_toa the only parrot-related headers it includes is parrot/api.h and parrot/longopt.h both of which are listed as dependencies 00:00
mikehh probably one of the major ones like parrot.h 00:01
or extend.h or embed.h or something like that
soh_cah_toa it's a frontend program though. if it uses the api, isn't it not supposed to include anything but parrot/api.h?
whiteknight soh_cah_toa: right. Just api.h 00:04
unless you are trying to use funcions from elsewhere
soh_cah_toa hmm...b/c if i do include parrot/parrot.h, it passes
whiteknight weird 00:08
dukeleto mikehh: i am seeing t/pmc/threads.t randomly fail: gist.github.com/1034700 00:09
soh_cah_toa yeah, there isn't a single non-Parrot_api_* call anywhere. could it be b/c it defines PFOPT_UTILS? whatever that does
mikehh dukeleto: it tends to fail on me about once a week or so,but if I re-run the test it nearly always passes 00:10
dukeleto: I have seen that one before I think, I usually fail with a Segmentation fault though 00:13
dukeleto: but there does not seem to be any consistancy about it, and it tends to fail in different test areas 00:15
dukeleto mikehh: it it GC-related. It seems to usually fail during large test suite runs, but passes when run with prove individually
mikehh dukeleto: yeah, probably, it has most often failed for me when running make fulltest, but usually not in the same test, testb, testf or testr 00:17
and I don't think I have had it fail more thatn once 00:18
I wonder if it could be a write barrier or something like that 00:22
00:24 daniel-s left
dukeleto github.com/nlemke/nyan/raw/master/2.jpg 00:36
dalek rrot: 7684807 | soh_cah_toa++ | / (5 files):
Fix for TT #2134
01:17
rrot: 9411d47 | soh_cah_toa++ | frontend/pbc_disassemble/main.c:
Removed ctype.h from pbc_disassemble because it didn't rely on anything in it
01:30
01:31 kid51 joined 01:38 whiteknight left 01:47 ligne joined
kid51 Some testing results. 01:59
at 037628f8a
make test; make fulltest PASS on linux/i386
make test PASS on Darwin/PPC 02:00
at 9411d47f3624 (latest); make test PASS with all g++ build on linux/i386
02:05 woosley joined
dalek rrot: 4b296a2 | soh_cah_toa++ | src/ (17 files):
Fixed several perldoc rendering issues and added a few "SEE ALSO" sections
02:12
kid51 soh_cah_toa: Links like svn.perl.org/perl6/doc/trunk/design/syn/S12.pod do not appear to be valid any more. 02:21
soh_cah_toa kid51: i was gonna remove that but i didn't wanna make anyone angry 02:22
kid51 We'd probably be better off asking the Perl 6 people what the current definitive location for the Synopses is. 02:23
soh_cah_toa kid51: ok. so remove it or leave it?
kid51 Perhaps (i) grep our repository for similar links; (ii) post to perl6-users about a more current location 02:24
soh_cah_toa sure
what is it exactly? the synopsis for perl 6 objects? 02:25
kid51 The Synopsis, IIRC, was Larry Wall's plan for Perl 6 ... or maybe Damian Conway's summary thereof 02:26
soh_cah_toa how about this? perlcabal.org/syn/S12.html 02:27
kid51 That looks better. 02:28
soh_cah_toa alright
kid51 Thanks. 02:29
kid51 must sleep
02:29 kid51 left 02:30 rurban_ joined 02:33 rurban left, rurban_ is now known as rurban
dalek rrot: cb9eaf0 | soh_cah_toa++ | src/multidispatch.c:
Updated links to Perl 6 synopsis and apocalypse 12. Also deleted a few duplicate blank lines
02:35
02:44 bubaflub joined
cotto ~ 03:02
soh_cah_toa cotto: hey 03:13
cotto hi soh_cah_toa 03:14
soh_cah_toa while i was working on pbc_disassemble, i had to take a look at a few of its tests and i got a few ideas 03:15
just to get atleast something working, i'm gonna test that it recognizes switches and displays the right output just like t/tools/pbc_disassemble.t
cotto sure. That's a start.
04:01 bubaflub left 04:08 SHODAN left 04:31 soh_cah_toa left 05:47 theory left 06:20 fperrad joined
cotto msg dukeleto M0 primitive strings (i.e. not objects) need to have a discoverable length. The options I see are C-style null-terminated strings and length-prefixed strings. Thoughts? 07:01
aloha OK. I'll deliver the message.
cotto sleeps
07:02 mj41 joined 07:14 zby_home left 07:17 mj41_nb joined 07:18 mj41 left 07:28 bacek_at_work left 07:55 ligne left 08:05 aloha left 08:20 cotto left 08:50 daniel-s joined 08:57 bacek_at_work joined 09:00 aloha joined 09:20 perlite joined 09:39 JimmyZ joined 10:07 woosley left 10:30 rurban_ joined 10:35 rurban left, rurban_ is now known as rurban 10:38 klavspr joined 11:12 JimmyZ_ joined 11:16 JimmyZ left, JimmyZ_ is now known as JimmyZ 11:22 klavs joined 11:38 klavs left 11:48 JimmyZ_ joined, dod left 11:53 JimmyZ left, JimmyZ_ is now known as JimmyZ, dod joined
Coke yawns 12:41
12:50 mtk joined 12:54 bubaflub joined, smash joined
smash hello everyone 12:54
daniel-s hey Dr Nick 13:10
I mean smash
13:15 klavspr left 13:53 jsut_ joined, jsut left 13:54 PacoLinux joined 13:57 lucian joined 14:16 lucian_ joined, lucian left 14:18 whiteknight joined
whiteknight good morning, #parrot 14:21
bubaflub morning whiteknight 14:31
whiteknight hello bubaflub. How are things going with you and your work? 14:33
bubaflub whiteknight: not bad at all. didn't have as much time this weekend as i thought i would to work on it, but i'm still ahead of my schedule. 14:34
whiteknight: still go that segfault i need to look into, but i have a feeling it'll be straightforward.
seen plobsing
aloha plobsing was last seen in #parrot 2 days 11 hours ago joining the channel.
whiteknight bubaflub: Do you have a backtrace for this segfault? 14:35
bubaflub whiteknight: no - how would i produce one?
whiteknight do you have gdb?
bubaflub (backtrace, not segfault)
yes
gdb winxed while i run the test?
whiteknight run the program in gdb. When you get to the segfault, type "bt"
bubaflub whiteknight: ok, one sec.
whiteknight then, copy+paste as much of the result as you reasonably can
(if there's like an infinite loop, and there are a few thousand lines, don't give me all of that :) 14:36
bubaflub hmm, i thought i could just do gdb "winxed t/integer/get/01-get.t" 14:37
but it's not liking that
do i need some other incantation?
Coke gdb needs an executable.
bubaflub Coke: i thought that was the winxed part 14:38
Coke gdb "thing args" treats "thing args" as as a single arg.
bubaflub Coke: ah, ok
14:38 klavs joined
bubaflub do i need something like 14:38
moritz gdb exec
bubaflub gdb winxed -- args
moritz run your arguments here
Coke I usually do what moritz said - gdb executable in the shell, then the literal "run" with args after it in gdb.
whiteknight gdb --args winxed t/integer/get/01-get.t
then, type "start", "c", and "bt" 14:39
14:39 daniel-s left
bubaflub well, the back trace is pretty simple 14:41
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x00000001003ede4a in __gmpz_get_d_2exp ()
(gdb) bt
#0 0x00000001003ede4a in __gmpz_get_d_2exp ()
#1 0x000000010047e364 in ffi_call_unix64 ()
#2 0x000000010059a070 in ?? ()
whiteknight that's it? Doesn't even look like there is any parrot in there 14:42
bubaflub that's it
whiteknight and you're running your program from Parrot?
bubaflub well, from winxed
moritz maybe the parrot doesn't have any debug symbols? 14:43
bubaflub i can compile the winxed test to PIR and run it htere
i can make realclean and re compile the parrot with other options
whiteknight bubaflub: compile parrot without --optimize 14:49
bubaflub whiteknight: ok. is --optimize turned on by default?
whiteknight no, it shouldn't be 15:00
if you just do a basic "perl Configure.pl" without options, you should get a deubg build 15:01
debug
bubaflub whiteknight: still not getting any bigger backtrace 15:06
15:08 cosimo joined 15:13 contingencyplan left
whiteknight okay, weird 15:14
okay, you need to step through the program. Type "start" to restart the program 15:15
Then you probably want to break at something like "break Parrot_NCI_invoke"
then "c" to run the program until that point 15:16
bubaflub whiteknight: ok 15:17
atrodo whiteknight> ping 15:20
whiteknight atrodo: pong
atrodo whiteknight> I just realized this weekend I didn't have a YAPC project 15:21
So i decided it's either going to be updating draak to use the new embedding API or work on opsc_lasm
whiteknight atrodo: both cool projects
I'm still not nearly as familiar with draak as I should be
atrodo I'm leaning towards the former, so I'm probably going to be looking for some help the next couple days to get acquanted with the new api
whiteknight okay, definitely. I'd be glad to help 15:22
or, at least answer questions
atrodo sweet, tahnks
whiteknight> Actually, i was hoping you'd write it for me ;)
whiteknight> actually, is there a good primer doc for the new api?
whiteknight There were some docs, I can't remember exactly where or how great condition they are in 15:23
I can start digging those out and dusting them off
benabik G'morning, #parrot
whiteknight The code is probably the best example. frontend/parrot/main.c is where to look for most uses 15:24
15:24 theory joined
atrodo whiteknight> Thanks. I'll probably check it out during lunch 15:25
whiteknight I'll look through some docs tonight when I get home and see what I can do about improving them.
or, at least exposing them
here's what we have now: github.com/parrot/parrot/blob/mast...ed_new.pod 15:26
I'll go over that with a fine-toothed comb and improve it for you
atrodo whiteknight++ 15:27
15:29 daniel-s joined, theory left
bubaflub whiteknight: hah! i figured it out. it was a stupid mistake on my part. i was passing in a pointer that i didn't have a structview for 15:32
dalek 0: e638bd1 | klavs++ | item.c:
minor fix
0: c12e302 | klavs++ | dm0.c:
print x with ops, if str const has >0 NL char - do not print
0: d224bc2 | klavs++ | / (2 files):
fixed convert_x_x
0: ebf1243 | klavs++ | dm0.c:
update
0: e9b4ba6 | klavs++ | item.c:
fixed HasItem()
bubaflub whiteknight: what does the [immediate] tag on a function do? i imagine it's something like inlining, right? 15:37
PerlJam bubaflub: immediate execution (as soon as its parsed)
bubaflub PerlJam: ok. 15:39
whiteknight: could you take a look at gist.github.com/1035844 and tell me what i'm doing wrong? when define int_t in the test file everything passes; i'd like to move that definition of int_t out of the test file and into Integer.winxed but i'm getting an error. 15:44
15:51 daniel-s left
whiteknight so when you break out int_t into a separate file, you get an error? 15:51
bubaflub yep 15:53
whiteknight what kind of error? runtime? compile-time? 15:54
moritz does returning a value from an :immediate sub work?
whiteknight moritz: yes. You can return one value. It gets stored in the constants table in place of the function
moritz whiteknight: ok
bubaflub whiteknight: run-time. "Null PMC access in find_method('alloc')"
which i imagine means something like int_t isn't actually returning anything and then i'm calling alloc() on a big ole nothing 15:55
whiteknight bubaflub: I don't know how immediate subs work in Winxed. In PIR, I don't know if they work in separate files
immediates create a staticly visible constant, that might not be visible between separately loaded pbcs
bubaflub whiteknight: ok. i'll try nix-ing the immediate. can i do a chained method call like int_t().alloc()
whiteknight bubaflub: sure, you can do that. You can get a similar effect with a coroutine 15:56
function int_t() { var int_t = ...; while(1) yield int_t}
that way you aren't creating a new StructView on every call to int_t, if you're worried about churn
moritz somehow that has the smell of premature optimization
or are you trying to create a singleton for semantic reasons? 15:57
whiteknight moritz: I'm only suggesting that as a replacement for his current code
Winxed doesn't have an easy way to store global data, so the best way to do it without dropping to PIR is a coroutine right now 15:58
moritz so in the current way, can't int_t be an ordinary routine?
whiteknight sure, it can be. But if you do that you create a new StructView on each invocation
it's different semantics, I don't want to blindly mix and match if the application has specific needs
bubaflub whiteknight: interesting; i might not use it for int_t because currently it's only needed for one function 16:00
whiteknight: but i'll keep it in mind for gmpz_t - that way every time we create a big int we don't have to create a separate structview 16:01
whiteknight okay, then just use a regular function or something
bubaflub although currently gmpz_t is in the same file as the constructor so i can use [immediate]
whiteknight: updated gist.github.com/1035844 with working code. it seems a bit ugly but it works. 16:02
whiteknight doesn't look ugly to me at all
brb, food
bubaflub whiteknight: good enough. thanks.
dalek rrot-gmp: 1bda307 | bubaflub++ | src/GMP/Integer. (3 files):
add int_t type function

this will allow us to call functions that take int * as a parameter
16:05
16:05 theory joined
dalek rrot-gmp: 3182194 | bubaflub++ | t/integer/get/01-get.t:
fix test that was segfaulting

i was foolishly passing in a blank var instead of a StructView allocated for an integer
16:05
16:07 mj41_nb left 16:23 JimmyZ left, JimmyZ joined 16:29 klavs left 16:44 cotto joined 16:46 preflex left 16:49 preflex joined 16:56 soh_cah_toa joined
soh_cah_toa ~~ 16:59
17:09 JimmyZ left
cotto_work ~ 17:11
soh_cah_toa cotto_work: hey 17:12
cotto_work: well, i have my first tests and they pass. they're not very important ones but at least it's something :)
cotto_work Having something is great. 17:13
Are you just testing cli args or are you actually having the tests run hbdb and check its output?
soh_cah_toa the cli switches test work so that's my next task 17:14
17:14 ambs joined
soh_cah_toa i have to dig through IPC::Open3 still. i think it will work nicely though 17:15
cotto_work Yup. Just read the documentation carefully. 17:17
17:17 Eclesia joined
Eclesia hi 17:17
cotto_work Contact over the next two weeks will be interesting. I'm at OS Bridge starting Tuesday through Friday, then I'm taking off on Saturday to YAPC::NA, getting back Friday and heading out again for the 4th of July weekend. 17:18
I won't be unreachable during that time, but it'll be harder than normal. 17:19
17:19 dmalcolm joined
soh_cah_toa well, i'll be at yapc so that's not an issue 17:19
cotto_work I'll probably end up leaving a lot of comments on github.
17:19 alester joined
soh_cah_toa hopefully, i can get some much needed advice during the hackathon :) 17:20
and as for the other days you'll be away, i can always ask the other devs here 17:21
so i don't think any of that will be a problem
cotto_work great
soh_cah_toa crosses his fingers
i'm going away for two weeks at the end of july 17:22
but i'll still have internet access and will continue to work as usual
17:25 lucian joined
dukeleto ~~ 17:25
17:28 lucian__ joined 17:29 lucian_ left 17:31 bubaflub left
dalek rrot/soh-cah-toa/hbdb: 918811f | soh_cah_toa++ | / (5 files):
Removed old tests and added two new tests for checking command-line switches
17:31
17:33 lucian left
cotto_work soh_cah_toa: I'd encourage you to write and nopaste a quick & dirty minimal example of using IPC::Open3 to run hbdb once you understand it well enough to do so. 17:33
soh_cah_toa sure, i'm looking through the docs now 17:34
Eclesia question : is winxed in parrot by default ? 17:36
cotto_work Eclesia: it is now
Eclesia ok
cotto_work It was added within the last couple weeks. 17:37
dukeleto cotto_work: i am not sure what kind of primitive strings m0 should have. Null-terminated seems reasonable, I guess 17:40
Eclesia: it just got added. The 3.6.0 release (in one month) will be the first supported release containing winxed 17:41
Eclesia: tuesday's 3.5.0 release will be the first dev release with Winxed
17:42 smash left 17:45 lucian__ left 17:46 lucian joined
cotto_work I may end up cutting the release tonight so I don't have to try doing that on the road. 17:46
also not quite sure how #ps is going to work 17:47
atrodo dukeleto> I vote for pascal style, length specified style 17:48
cotto_work atrodo: what does that buy us?
atrodo cotto_work> nulls in strings 17:49
cotto_work Having null-terminated string will make translating between C and the M0 overlay easier.
atrodo and a small benefit, speed of knowing how long a string is
Eclesia winxed code must be compiler before being usable ?
atrodo cotto_work> that's true, but that assumes a c world and could enforce those assumptions on all HLLs 17:51
cotto_work HLL strings won't need to be M0 strings underneath, similarly to how STRINGs aren't a wrapper around C strings. 17:53
17:54 bubaflub joined, lucian_ joined
atrodo But HLLs would have to translate from HLL string to M0 string for some operations, wouldn't they? 17:54
Eclesia parrot file.winxed ? not possible ?
cotto_work You can pretend that they are by messing with ->strstart, but there's a reason we strongly discourage that.
Eclesia: you need to use the winxed compiler. 17:55
atrodo: sure, but that's not the majority of what the code will be doing.
Eclesia ok, so parrot do not reconize file extension an associate the correct compiler 17:56
cotto_work only for pir and pasm
and pbc
atrodo but what if there is null in a HLL string? Say, for a key lookup or something? 17:57
17:58 lucian left
cotto_work Hash lookups are usually done with STRING* keys if a stringy thing is needed. 17:59
atrodo So maybe a better question is what are m0 strings used for?
cotto_work almost by definition, they'll be used wherever we use C strings now 18:01
NotFound Eclesia: you can compile winxed to pir, or use the 'winxed' executable.
cotto_work anything between when a string gets passed to Parrot and when it can be converted to a STRING*
atrodo So is the S register a m0 string or STRING*? 18:02
cotto_work Currently I'm using them for M0 strings, but that's just because there aren't any object strings yet. 18:03
bubaflub dukeleto: whiteknight++ helped me fix the one test i had that was segfaulting so now all tests pass. 18:04
18:06 lucian joined, lucian_ left
whiteknight bubflub: All tests pass? Time to add more tests! 18:07
tadzik I had that attidute on last week's GSoC task 18:08
I was _annoyed_ by the fact that everything passes
atrodo tadzik++
tadzik not sure if that's really the Right Attitude 18:09
atrodo tadzik> Sure it is. It means you're never done
cotto_work tadzik++ 18:12
It's a great attitude until you have complete test coverage.
atrodo whiteknight> ping 18:14
tadzik it's quite different when writing parsers, methinks. The coverage is never 100% :)
atrodo code coverage rarely reaches 100%, and that's usually not the right goal to aim for 18:15
cotto_work That's why I didn't say 100%. ;] 18:16
tadzik :) 18:17
atrodo cotto_work++ # subtle and correct
cotto_work obvious and correct would have been a better choice 18:18
Eclesia in winxed, how do I transform an int to a char ?
atrodo subtle wording
NotFound Eclesia: use the chr builtin 18:19
dukeleto whiteknight: ping 18:20
Eclesia NotFound: thanks 18:22
whiteknight dukeleto: pong 18:23
dukeleto whiteknight: i need your help in trying to add test coverage to Parrot_sub_new_from_c_func . I attempted to register a PIR compreg to make the TODO tests for it actually run, but failed 18:25
whiteknight: my grant is done except I need 0.9% more test coverage and Parrot_sub_new_from_c_func is the only way to get there: tapir2.ro.vutbr.cz/cover/latest-c_c...end-c.html 18:26
whiteknight is that function used anywhere?
oh, you don't need a compiler or anything like that. This is an easy one 18:27
dukeleto whiteknight: this is my failed attempt github.com/parrot/parrot/commit/a0...54aaeb472a
18:27 lucian_ joined
whiteknight no, you don't need anything like that 18:28
dukeleto whiteknight: if you could make just one of the tests in t/src/embed.t pass, then I can take over from there.
whiteknight let me put together an example
dukeleto whiteknight: i figured I was barking up the wrong tree
whiteknight: thanks so much!
whiteknight: that function is only used in the tests. I don't see any use of it anywhere in Parrot core 18:29
whiteknight: do you think anybody outside core is using it?
whiteknight I suspect we can deprecate it. I also suspect it's duplicate functionality of something else
dukeleto whiteknight: i have verified that neither Rakudo nor PL/Parrot use it 18:30
nor does Blizkost 18:31
18:31 lucian left
whiteknight gist.github.com/1036232 18:31
18:32 lucian joined
whiteknight that's an extremely quick stab at it. Should point you in the right direction 18:32
dukeleto whiteknight: i also fixed a bunch of missing PARROT_CALLIN_START/END in extend.c
18:32 rurban_ joined
whiteknight Actually, Parrot_ext_call should use a signature "I->I" 18:32
but other than that, I think that's pretty close to what your test wants to be
dukeleto whiteknight: awesome, thanks
whiteknight basically, that function wraps a C function in an NCI PMC 18:33
dukeleto whiteknight: your TODO comments in the tests lead me to believe that some kind of PIR compiler needed to be registered for stuff to work
whiteknight for some tests, at least as they were previously written
18:34 lucian__ joined
whiteknight the coverage, and the quality of tests wasn't too great back then, so I didn't pain myself to really dig in and sort it all out 18:35
18:35 rurban left
whiteknight so it's good you're doing it. Don't let my lazy comments get in your way 18:35
18:35 rurban_ is now known as rurban 18:36 lucian___ joined, lucian_ left 18:39 lucian left 18:40 lucian__ left, ambs left 18:44 lucian joined 18:46 elmex left
Eclesia can someone translate this error in some human words ? pastebin.com/2yZb8D0y 18:47
whiteknight Eclesia: Looks like an internal Winxed compile error of some variety 18:48
Eclesia found it. case sensitive on a variable name
NotFound Eclesia: it's a winxed bug. Let me see the source that triggers it.
18:48 mj41_nb joined 18:49 lucian___ left
Eclesia NotFound: 10sec, finishing something 18:49
NotFound Eclesia: 'k
dalek website: lucian++ | Compiler work 18:51
website: www.parrot.org/content/compiler-work
lucian dukeleto: there :P 18:52
lucian wishes blog posts would write themselves from residual brain waves
Tene lucian: let me know when you get that working
lucian Tene: right after M:N language interop :P 18:53
Tene lucian: I had that working two years ago :P 18:54
lucian Tene: how 'bout now? :P
Eclesia NotFound: just to be sure. there are no colored outputs in parrot ? 18:55
lucian Tene: and i think the answer is "secretary"
Eclesia NotFound: pastebin.com/C95db11D 18:56
Tene lucian: "secretary" doesn't pick up from residual brain waves; you still have to dictate the content verbally.
lucian Tene: not if you mutter while you work
Eclesia whiteknight: would a x3.64 class be a good contribution for rosella ?
Tene oh man, I really wouldn't want anything produced from my work-mutterings to be published with my name on it. 18:57
lucian Tene: you'd seem a little crazy, though. and the secretary would have to be a good editor too
NotFound Eclesia: there is a curses module, but I don't think it can do colors well. 18:58
Eclesia: that code doesn't trigger the bug for me.
whiteknight Eclesia: depends. What is x3.64? 18:59
Tene There would be lots of cursing, and lots of horrible misleading ideas.
Eclesia NotFound: to reproduce the bug replace the named var x364 by X364
NotFound Eclesia: in functon init?
Eclesia NotFound: when you use it : X364.FOREGROUND_REd
lucian Tene: just like my blog posts! see? 19:00
NotFound Eclesia: fine, thanks.
Tene Huh; I don't remember cursing on your blog posts; apparently I've been reading the wrong blog.
lucian Tene: hmm, it's possible i read the drafts before publishing :) 19:01
Eclesia NotFound: X3.64 are some codes handle by all terminals. works pretty well on windows/linux/mac. en.wikipedia.org/wiki/ANSI_escape_code
(well not all, but a waste majority)
(waste = huge , sorry french word) 19:02
NotFound Eclesia: yes, it seems useful.
Eclesia NotFound: is there no way to declare a string in a winxed class ?
NotFound Eclesia: no, parrot attributes are PMCs and I've not implemented yet a way to work around that, 19:03
Eclesia NotFound: can not make any constants ? 19:04
NotFound Eclesia: At class level? 19:06
Eclesia NotFound: yes
19:06 elmex joined
NotFound There was some problems with that, I don't remeber if they got fixed. 19:06
Eclesia NotFound: and also, is there a somthing similar to 'say' but without at line jump at the end
NotFound Eclesia: print 19:07
Eclesia thx
19:13 mj41_nb left
dalek nxed: r1053 | NotFound++ | trunk/winxedst1.winxed:
fix bug class name being recognized as a function, Eclesia++
19:13
nxed: r1054 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler
Eclesia ?
19:14 lucian_ joined
Eclesia NotFound: sorry to bother again : I'm trying to make a concatenation of different types . (String) "\\u001B[" + (byte)31 + (char)'m' 19:16
NotFound: how can I write that in winxed ?
19:17 lucian left
NotFound Eclesia: chr should do it, but looks like there is a bug in chr with const argument that I thought it was fixed. 19:23
This should work, but fails right now: "\\u001B[" + chr(31) + chr(m) 19:24
Eclesia I had the same problem in pir. so looks like in parrot, not winxed. 19:25
NotFound You can use: "\\u001B[\\x1F" + chr(m) for a now. 19:26
Don't know about that parrot problem, but winxed is generating wrong pir. 19:27
dalek rrot: 9420e50 | jkeenan++ | frontend/pbc_disassemble/main.c:
[codingstd] Fix formatting of copyright line.
19:34
19:42 klavs joined 19:43 dodathome joined 19:44 ambs joined
Eclesia NotFound: here every code works : pastebin.com/Ak5rv6Di . do you know anything I could do avoid any modification on vars ? 19:45
do to avoid*
NotFound Eclesia: you can use methods that return the values, instead of exposing the attributes. 19:49
Eclesia hm... I think I'll wait for you to make the constants work ^^ 19:51
NotFound Eclesia: if you want to hide them, you can put the values in a namespace and use them in the class. 19:52
Eclesia NotFound: that enough for today. thanks for the help :) ++ 19:55
19:55 Eclesia left 20:05 klavs left
dalek nxed: r1055 | NotFound++ | trunk/winxedst1.winxed:
fix generated pir of strings results from constant expressions with low-ascii
20:09
nxed: r1056 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler
rrot: f31e96b | NotFound++ | ext/winxed/compiler.pir:
update winxed snapshot to r1054
20:14
rrot: acf170c | NotFound++ | ext/winxed/compiler.pir:
update winxed snapshot to r1056
20:14 mj41 joined 20:19 contingencyplan joined 20:27 whiteknight left 20:28 dodathome left 20:31 lucian_ left 20:39 lucian joined 20:45 ambs left 20:50 lucian_ joined 20:54 lucian left, fperrad left 21:05 lucian joined 21:08 lucian__ joined 21:10 lucian_ left 21:12 lucian left 21:13 lucian joined 21:17 lucian__ left 21:24 RobertLJ joined 21:29 simcop2387_ joined 21:31 simcop2387 left, simcop2387_ is now known as simcop2387 21:41 PurityControl joined 21:47 Patterner left, PurityControl is now known as Patterner 21:49 lucian_ joined 21:54 lucian left 21:58 mj41 left 22:01 whiteknight joined
dalek rrot/leto/embed_grant: 706cdf2 | dukeleto++ | t/src/embed.t:
[t] Parrot_sub_new_from_c_func, whiteknight++
22:06
dukeleto With that commit, I think my TPF grant is done. Running a final "make fullcover" to be sure. 22:07
bubaflub dukeleto: does that finish your grant? 22:08
whiteknight dukeleto++
bubaflub dukeleto++ indeed
whiteknight it's about time. I'm tired of hearing about our extending and embedding subsystems
cotto_work dukeleto++ 22:09
22:11 lucian joined
NotFound dukeleto++ 22:13
tadzik dukeleto++ # very nice! :)
sorear wasn't somebody else in the process of rewriting embedding? 22:14
22:15 lucian_ left
cotto_work sorear: you're probably thinking of whiteknight 22:16
22:30 kid51 joined 22:31 RobertLJ left 22:33 lucian left
dalek rrot/leto/embed_grant: cb9d88b | dukeleto++ | t/src/embed.t:
Pay the ANSI 89 tax yet again
22:41
rrot/leto/embed_grant: 0744112 | dukeleto++ | src/extend.c:
Attempt to make the MSWin32-x86-multi-thread ttbot happy by ANSI-89-ification
22:43
soh_cah_toa cotto_work: you were right about IPC::Open3 ;) 22:51
it's very tricky 22:52
dukeleto cotto_work: just a heads up, i am to blame for a codingstd test failure in master currently, but i am in process of fixing it 22:54
dalek rrot/leto/embed_grant: 31aede0 | dukeleto++ | src/extend.c:
Make t/codingstd/c_macro_args.t pass again
22:56
nopaste "soh_cah_toa" at 192.168.1.3 pasted "IPC::Open3 Problems" (48 lines) at nopaste.snit.ch/53390 22:57
soh_cah_toa i can't figure out why i get "Can't use an undefined value as a symbol reference at ipc.pl line 40" 22:58
cotto_work dukeleto: good to know 22:59
23:00 dmalcolm left
dukeleto soh_cah_toa: while (my @fd_ready = $select->can_read()) { 23:01
kid51 soh_cah_toa: How can you be certain that $fd is defined before you use it?
dukeleto soh_cah_toa: you might want parens around @fd_ready to do what you want it to do
soh_cah_toa: you are in scalar context there, iirc 23:02
soh_cah_toa: Data::Dumper is your friend :)
soh_cah_toa parenthesis didn't help 23:03
dukeleto soh_cah_toa: use Data::Dumper and find the first variable which doesn't match what your brain thinks it should be
soh_cah_toa: warn Dumper [ $fd ] is probably undef 23:04
bubaflub soh_cah_toa: also, to get $bad_cmd to work you should have = qr/.../
soh_cah_toa ok
dukeleto soh_cah_toa: qr is for compiled regexen 23:05
soh_cah_toa but select() blocks until one of the filehandles can be read so anytime it reaches the foreach, @fd_ready should have something in it
dukeleto soh_cah_toa: perl 5 only parses stuff inside qr// once, which can lead to big savings
dukeleto has to go 23:06
soh_cah_toa: good luck!
soh_cah_toa ok
bubaflub soh_cah_toa: it looks like $stderr is undefined
soh_cah_toa $stderr? how is that possible? 23:07
bubaflub soh_cah_toa: i'll have to look. i'm not terribly familiar with IPC::Open3.
kid51 soh_cah_toa: I don't understand why you need the 'while' loop at all. 23:08
soh_cah_toa oh wait, if i change the args for open3() to typeglob references, it runs but not how i want it to :(
kid51 perldoc IO::Select suggests:
my @fd_ready = $select->can_read();
soh_cah_toa yeah, you're right
kid51 foreach my $fd (@fd_ready) {
jnthn__ Anybody with IMCC opinions: .lex '$x', $P0 works, but with $[ISN]0 it doesn't.
The one seems to call decalre_preg or some such on the LexInfo 23:09
kid51 next unless defined $fd;d
next unless defined $fd;
soh_cah_toa tries
kid51 if (fileno($fd) == fileno($stderr)) { print "STDERR: ", scalar <$stderr> }
etc
jnthn__ Wondering if we can extend this, to give langauges with lexpads that can handle native types a shot at working... :)
cotto_work jnthn__: only PMCs can be lexicals. What would you expect .lex 'foo', $I0 to do?
jnthn__ cotto_work: Yes, that's what I'm trying to fix. 23:10
cotto_work ah
jnthn__ cotto_work: Parrot's own LexPad doesn't need to implement this Right Away.
cotto_work jnthn__: I can see why it's something you want though.
bubaflub soh_cah_toa: check out annocpan.org/~LBROCARD/perl-5.12.4/...#note_2486 23:11
jnthn__ cotto_work: Right, we have a custom lexpad type in Rakudo.
bubaflub the note mentions that std_err *does not* autovivify
soh_cah_toa bubaflub: yeah, i've read the perldoc for it. it's horrible though
bubaflub soh_cah_toa: i concur 23:12
23:12 RobertLJ joined
whiteknight jnthn__: I have lots of IMCC opinions. Most of them are not positive 23:13
cotto_work That's decidedly wacky, but the documentation does mention how to get around it.
whiteknight jnthn__: I see no technical reason why .lex cannot work with other types
jnthn__: the bigger issue is adding in the necessary ops to store/fetch lexical values into the lexpad. .lex only populates the lexinfo
23:19 kid51 is now known as kid51_at_dinner
bubaflub soh_cah_toa: gist.github.com/1036843 - this works for me. note i added 'use Symbol;' and '$stderr = gensym();' at the advice here: www.perlmonks.org/?node_id=151886 23:19
soh_cah_toa bubaflub: i saw that in the perldoc and was looking at the perldoc for Symbol but didn't really udnerstand what it does 23:20
ha! hubdub :)
bubaflub that's how i say it in my head
sorear people still use &Symbol::gensym? 23:21
soh_cah_toa bubaflub: why'd you take away the print $stdin "this_is_not_a_command";? that's supposed (i hope) to enter a command. it really worked w/o it?
oh i see 23:22
bubaflub soh_cah_toa: oh, sorry. that was just for my own testing purposes. since i don't have a copy of hubdub i just replaced it with 'echo "oh hai"' and what not
soh_cah_toa spoke too soon
i now understand all the warnings i've heard for years about ipc programming 23:23
soh_cah_toa gives it a try
23:25 alester left
soh_cah_toa it appears that after i call open3(), nothing happens. i placed a print before and after the call and only the before printed 23:29
i'll nopaste it
bubaflub soh_cah_toa: there is a chance that your stuff could hang waiting for input... i'm not sure how to check 23:30
soh_cah_toa it does it even if i use another program besides hbdb 23:31
nopaste "soh_cah_toa" at 192.168.1.3 pasted "open3() Doesn't Return?" (59 lines) at nopaste.snit.ch/53391 23:32
bubaflub soh_cah_toa: does this look like a possible solution? www.perlmonks.org/?node_id=836165
sorear it's a shame your code has to run on non-POSIX platforms
soh_cah_toa bubaflub: hmmm...not really. though maybe i'll try placing the waitpid elsewhere 23:35
sorear: indeed
bubaflub soh_cah_toa: i'm running your script in the perl debugger, `perl -d temp.pl`, and the code executes past open3. it just doesn't print to stdout. is that because it's being read by something else? 23:36
soh_cah_toa i just moved waitpid() to right after open3() and it does block. just waiting for input. weird 23:37
and hbdb is running during that time b/c ps aux says so 23:38
cotto_work soh_cah_toa: use variables in open3().
23:39 daniel-s joined
cotto_work That gets me a nice message about hello.pbc not existing. 23:39
soh_cah_toa oh! progress! 23:40
w/ variables and no waitpid() i do get some hbdb output
but not all
nopaste "soh_cah_toa" at 192.168.1.3 pasted "Almost There" (65 lines) at nopaste.snit.ch/53392 23:41
cotto_work I like where this is going. 23:42
soh_cah_toa yes, it's close
but there's 2 more lines after HBDB blah blah that aren't outputting
bubaflub soh_cah_toa: i think it's because you are only reading stdout and stderr once
you should maybe have some kind of while loop somewhere to keep reading from those things until you hit EOF 23:43
the <$stdout> is only going to read one line at a time
soh_cah_toa hmm...yes
23:44 pjcj left
bubaflub soh_cah_toa: i'm not exactly where it should go, but you should be able to do something like a 23:44
23:44 pjcj joined
bubaflub while (<$stdout>) { print "STDOUT: $_"; } 23:44
soh_cah_toa yeah
nopaste "soh_cah_toa" at 192.168.1.3 pasted "More Output!" (24 lines) at nopaste.snit.ch/53393 23:49
soh_cah_toa oh man, so close. but now i think that ^Z null pmc issue is popping up again :(
sorear suggested that it was b/c i'm not checking for EOF or null or something after readline_interactive() but i don't know how to do that 23:50
bubaflub soh_cah_toa: that's possible 23:52
cotto_work soh_cah_toa: get the test working and you can watch it go from failing to passing. 23:53
jnthn__ cotto_work: If I were to do a patch that enabled non-P-register lexicals, would it be ok?
cotto_work: Looks like I may be able to make it work.
cotto_work jnthn__: I don't believe that the limitation is there for any reason other than expediency. I want to verify with pmichaud, but I'd be surprised if there were a reason to reject such a patch. 23:54
soh_cah_toa cotto_work: ok 23:55
jnthn__ cotto_work: OK, have asked pmichaud++ to comment :) 23:59