Camelia, the Perl 6 bug

IRC log for #parrot, 2009-04-28

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 edd and living in...
00:01 edd PLATFORMS says no-one has reported this to work on OpenBSD..yay
00:02 darbelo edd: What doesn't work on OpenBSD?
00:02 edd i dunno yet :p
00:02 edd im looking for build instructions
00:02 edd no autogrunk... refreshing :p
00:03 darbelo I'm runnig svn HEAD on OpenBSD without any trouble.
00:03 rg oh look. smolder is back. openbsd is just fine: http://smolder.plusthree.com/app/pu​blic_projects/report_details/20447
00:03 shorten rg's url is at http://xrl.us/beqmz8
00:04 cotto OpenBSD was failing one test until recently, but darbelo submitted a fix for it.  Other than that it seems to work fine.
00:04 rg darbelo++ # thanks for that
00:04 edd darbelo: do i know you from the OpenBSD community?
00:05 darbelo Not likely. I avoid misc@ like the *****ing plague.
00:05 edd its erm... yes amusing
00:06 edd i had to ask, as its a small world in openbsd
00:07 edd darbelo: anyway hi, im "the TeX guy" as i get called
00:07 edd nice to meet you all
00:08 edd but the build does somewhat fail
00:08 edd http://pastebin.com/m3629f541
00:08 darbelo what version of parrot are you building?
00:09 rg and on what version of openbsd
00:09 AndyA joined #parrot
00:09 darbelo That error only happens on post 4.4 systems, so he's running 4.5 or -current
00:10 edd -current natrually
00:10 edd :p
00:10 darbelo I submitted a patch for it, he might have a parrot from before it went into the tree.
00:11 edd 1.0.0
00:11 edd shall i svn?
00:11 darbelo IIRC the pach aplied cleanly on 1.0, it's fairly trivial.
00:12 edd i dont mind running svn if it works
00:12 Whiteknight edd, svn is definitely the best route
00:12 rg it should be in 1.1
00:12 rg i believe this is the commit: https://trac.parrot.org/parrot/changeset/38215
00:13 darbelo Yep. That one.
00:15 darbelo Nut svn is the better route, since at least one OpenBSD test failure got fixed in the meantime.
00:17 Whiteknight I think it's safe to assume that most users of OpenBSD should be competent with svn
00:28 Infinoid Actually, I've been hoping to get more testing on openbsd
00:28 Infinoid So, does it work?  :)
00:29 Infinoid The pkgsrc maintainer submitted quite a few fixes, most of them went into the 1.1 release but I think they're all in current svn.
00:29 darbelo Infinoid: Yes it works. You can ping me if it doesn't.
00:29 rg infinoid: it seems with darbelo and mikehh and now edd, we'll have more openbsd testers than freebsd ;)
00:29 Infinoid Thanks.  I wouldn't mind adding evidence of that to the PLATFORMS file, if you care to provide a patch
00:29 edd pkgsrc = netbsd
00:30 edd ok ill tr ysvn
00:30 Infinoid Yeah, but many of the bugs he patched were also reported on openbsd.
00:30 Infinoid I recall at least 3 overlapping tickets
00:30 edd parrot is not actually in openbsd yet
00:30 edd if it works at next realease I can get it in
00:31 darbelo Infinoid: I was talking about svn.
00:31 Infinoid I think the netbsd pkgsrc is still applying patches to 1.0.0... but my goal is to make svn work perfectly :)
00:32 edd the bsds hate porting hand rolled svn releases
00:32 edd as we have to host the tarball ourselves
00:32 Infinoid understandable.  But if svn works, 1.2.0 will be more likely to work as well
00:33 edd aye indeed
00:33 edd i will certainly let you know what happens
00:34 Infinoid edd++
00:34 darbelo Also. Whats the policy on passign TODO-ed tests?
00:35 cotto darbelo, it depends on the test
00:36 cotto some of them are feature-specific, others are platform issues.
00:36 rg darbelo: i would suggest to open a ticket with a patch to remove the todo and ask for testers
00:36 darbelo In particular: some recent changes in libc made some TODOed tests start passing. Thing is: older version of OpenBSD will still fail.
00:37 Infinoid yeah, those are tricky.  we can do platform-specific skips/todos tho
00:38 rg infinoid: i think platform-version specific is quite tricky
00:38 darbelo Can we detect OpenBSD <= 4.4?
00:40 Infinoid rg: Yeah.  Often easier to just fix the code to pass the test :)
00:40 cotto darbelo, is there anything in config_lib.pasm that gives us enough information?
00:41 darbelo I'll check.
00:42 cotto I suspect there won't be, but it's worth looking.
00:43 Infinoid is it worth putting code in the os-specific hints file to detect the os version?
00:44 Infinoid for linux, at least, I suspect the versions of gcc and glibc are more relevant than the kernel version
00:45 darbelo on *BSD you can get the version of the entire OS with uname.
00:46 rg for linux you have to detect the subsystem that actually has the fix that is making your tests pass. on *bsd you get all in one.
00:46 Infinoid here that gives you the kernel version, but the userspace is completely detached from that
00:46 Infinoid yeah.
00:46 Infinoid unless you want to go distro-specific, which... no.
00:48 Infinoid Hmm, it's been a while since I've testd parrot on dragonfly, I ought to get that going again.
00:51 darbelo Gave config_lib.pasm a once-over. Nothing ovbious there. I'll go eat something, and check again later.
01:02 eternaleye joined #parrot
01:09 edd build works
01:09 edd running regress tests
01:12 Coke dduncan: catching up, but stable releases will still go on CPAN.
01:13 Coke so 1.4 is the next one to expect.
01:19 LylePerl joined #parrot
01:43 edd All tests successful (1 subtest UNEXPECTEDLY SUCCEEDED), 16 tests and 572 subtests skipped.
01:43 dduncan so that's how it is
01:51 Infinoid edd: Great.  would you mind giving us a line we can put into PLATFORMS?
01:53 dalek parrot: r38380 | pmichaud++ | trunk (2 files):
01:53 dalek joined #parrot
01:55 rg dalek really doesn't like the ellipsis character that trac is handing it
01:55 edd Infinoid: what about the unexpected pass
01:55 rg edd: probably the one that darbelo mentioned
01:56 edd i have no idea what all the stuff is in platfroms
01:56 edd i do know it doesnt fit in an 80 wide terminal
01:56 edd :p
01:56 Infinoid well, it's one line per tested target platform
01:57 rg actually it does. 80 chars precisely.
01:57 Infinoid the openbsd flags are probably pretty similar to netbsd's... there is a legend below the tables
01:58 rg infinoid: do you have a log why dalek crashed?
01:59 dalek parrot: r38381 | pmichaud++ | trunk/DEPRECATED.pod:
01:59 dalek parrot: [nqp]: Update note about $(...) syntax in DEPRECATED.pod .
01:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38381/
02:00 rg hey! why didn't this one get converted?
02:01 edd rg: it should wrap at <78
02:01 rg edd: not my call and i guess opinions differ on that.
02:01 edd aye
02:03 Infinoid rg: I have a daemontools log.  The bot is run with 2>&1, so stderr and stdout are mixed in a weird way
02:04 Infinoid I have some wide character warnings, and some PRIVMSG debug lines with some unicode (pmichaud's commit message), but no actual error message
02:04 rg something in the wide/unicode character must be killing it
02:07 Infinoid Yeah, it must be judging from the timing of its quits... but I can't reproduce it here with the same code (running under a test wrapper) on the same rev of perl
02:07 rg neither could i.
02:07 pmichaud something else must be putting unicode in the messages, as I don't think I did it.
02:07 rg pmichaud: trac is converting some ... into an ellipsis character
02:08 Infinoid yeah, trac must be collapsing it.
02:09 rg it is. you can tell if you're trying to select the text on the timeline page.
02:10 rg it's not even consequent about it. it doesn't do it on the changeset page
02:10 Infinoid right.  I think it's time for me to write a testsuite for this mess of rss parsers
02:15 dalek parrot: r38382 | pmichaud++ | trunk (2 files):
02:15 dalek parrot: [p6object]:  Update stringification of protoobjects (TT #168).
02:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38382/
02:15 dalek parrot: r38383 | chromatic++ | trunk/src/hash.c:
02:15 dalek parrot: [src] Added a minor optimization to parrot_hash_get_bucket() to avoid some
02:15 dalek parrot: expensive hashing and comparisons when it's not necessary.  The sweet spot is
02:15 dalek parrot: somewhere between four and eight entries in the hash.
02:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38383/
02:43 dalek parrot: r38384 | jkeenan++ | trunk/docs/pdds/draft/pdd30_install.pod:
02:43 dalek parrot: Correct POD formatting for '<' and '>' inside other POD strings.
02:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38384/
02:48 janus joined #parrot
03:23 gaurav joined #parrot
04:02 tetragon joined #parrot
04:34 jhorwitz joined #parrot
04:45 japhb joined #parrot
05:10 flh joined #parrot
05:52 dalek parrot: r38385 | pmichaud++ | trunk/runtime/parrot/library/P6object.pir:
05:52 dalek parrot: [p6object]:  Differentiate a NameSpace object from the NameSpace protoobject.
05:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38385/
06:06 cotto pmichaud, ping
06:11 uniejo joined #parrot
06:20 dalek parrot: r38386 | Infinoid++ | trunk/PLATFORMS:
06:20 dalek parrot: I just tested parrot successfully on dragonfly bsd; add it to PLATFORMS.
06:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38386/
06:28 iblechbot joined #parrot
06:36 amoc joined #parrot
06:42 pmichaud cotto: pong
06:48 dalek joined #parrot
06:50 amoc joined #parrot
06:51 pmichaud time for sleep here... be back in a few hours
06:56 cotto d'oh
06:58 moritz maybe a mail would be easier?
06:58 cotto pmichaud, whenever you get back, what's a good approach to optimizing a PGE grammar?  I'm thinking about the pmc compiler in branches/pmc_pct specifically, but a general approach would also be nice.
06:58 cotto moritz, I like to inconvenience people (including myself) with synchronous communication.
06:59 moritz ;-)
06:59 cotto (which translates to "you're probably right")
06:59 moritz argh, I forgot a {*} again
07:17 masak joined #parrot
07:17 Fayland_logger joined #parrot
07:24 dduncan left #parrot
08:11 HG` joined #parrot
08:16 riffraff joined #parrot
08:18 dalek parrot: r38387 | chromatic++ | trunk/t/pmc/key.t:
08:18 dalek parrot: [t] Removed a TODO test marker for which a test exists and passes.
08:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38387/
08:43 bacek joined #parrot
08:45 amoc joined #parrot
08:50 dalek parrot: r38388 | chromatic++ | trunk/src/pmc/hash.pmc:
08:50 dalek parrot: [PMC] Optimized keyed lookup slightly.  Hash get, exists, and delete operations
08:50 dalek parrot: can use read-only Key STRINGs, as they do not modify the STRING.  Hash store
08:50 dalek parrot: operations do store the Key STRING, so they need COW STRINGs (RT #60128).  The
08:50 dalek parrot: Hash PMC has a new static function to make a read-only STRING from a Key.  This
08:50 dalek parrot: optimization improves PGE performance by around 3.5%, in my rough benchmarks.
08:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38388/
09:38 amoc joined #parrot
09:39 cotto coke, ping
09:45 amoc joined #parrot
09:53 amoc joined #parrot
09:53 FL2 joined #parrot
09:53 cotto Coke_zzz, unping
09:59 bacek good evening, people of past
10:00 bacek cotto: any thought about DOTPLAN in pmc_pct?
10:00 pancake joined #parrot
10:02 dalek parrot: r38389 | bacek++ | branches/pmc_pct/compilers/nqp (3 files):
10:02 dalek parrot: [nqp] Reimplement self as lexical. pmichaud++ for explanations
10:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38389/
10:05 pancake =$*IN doesnt works in rakudo. is this the right place to talk abouit it?
10:05 bacek pancake: #perl6 at freenode
10:06 bacek pancake: prefix:<=> was deprecated. Use .get
10:07 pancake ok
10:07 pancake thanks
10:07 bacek no worries :)
10:08 cotto bacek, I toyed with trying to optimize the grammar, but I don't know PCT well enough to comment intelligently on the plan.
10:08 pancake why =$*IN was deprecated?
10:08 pancake $*IN.get() is looong :)
10:08 bacek pancake: Some conceptual issues. Ask TimToady at #perl6 :)
10:09 pancake hehe, ok i can imagine which them
10:09 pancake http://szabgab.com/talks/perl6/perl6-given.html this tuto should be updated then
10:09 szabgab pancake, I am working on it
10:10 bacek definitely. prefix:<=> was deprecated ~week ago
10:10 pancake szabgab: wow :) fast response! great
10:10 bacek welcome to 21st century :)
10:11 dalek parrot: r38390 | jonathan++ | trunk/config/init/hints/mswin32.pm:
10:11 dalek parrot: [config] Bump up memory older versions of MS VC++ are allowed to use, in order to keep Rakudo compiling.
10:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38390/
10:13 cotto bacek, did you ask pmichaud about optimizing at all?
10:13 szabgab pancake, actually probably you'll want to use    prompt()
10:15 pancake $fh.readline is also deprecated?
10:16 cotto msg coke It looks like partcl will also need to be updated to use the 'hll_map' method before it'll work with svn head.
10:16 purl Message for coke stored.
10:20 szabgab pancake, nope
10:20 szabgab that should work, just for stdin you probably want prompt
10:20 szabgab but probably better switch to #perl6
10:22 bacek cotto: not yet.
10:23 bacek cotto: I don't quite care about speed at this point of time... Make it is first target.
10:24 bacek cotto: but from my observations back-tracking takes a lot of time :-/
10:24 bacek cotto: it was main reason to throw few :: in grammar
10:29 cotto I wish we had some pir profiling tools.
10:29 cotto which doesn't really accomplish much
10:41 cotto msg coke What do I need to run partcl?  I got it to build with r37500, but it complains about not being able to find languages/tcl/runtime/tcllib.pbc when I try to run a hello world.
10:41 purl Message for coke stored.
10:41 cotto time for sleep
10:44 kid51 joined #parrot
10:45 frodwith joined #parrot
11:06 amoc joined #parrot
11:20 dalek joined #parrot
11:24 cognominal joined #parrot
11:45 amoc joined #parrot
11:49 ruoso joined #parrot
11:56 amoc joined #parrot
11:59 Coke cotto; I'm back.
12:00 Coke msg cotto tcl /doesn't/ run. allison has done some legwork on finding things (this being one of them) - fixing them as I get to them. =-)
12:00 purl Message for cotto stored.
12:04 * Coke sees someone refer to pm as Dr. Michaud and will henceforth call pmichaud "Doc" in his internal monologue.
12:06 Coke msg cotto we only use .hll_map in one place; should be an easy fix.
12:06 purl Message for cotto stored.
12:09 rdice joined #parrot
12:20 dalek partcl: r332 | wcoleda++ | trunk/runtime/tcllib.pir:
12:20 dalek partcl: .HLL_map was removed
12:20 dalek partcl: Can't build yet, this change untested
12:20 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=332
12:21 Coke msg cotto http://code.google.com/p/p​artcl/source/detail?r=332
12:21 purl Message for cotto stored.
12:38 amoc joined #parrot
12:38 rg1 joined #parrot
12:39 iblechbot joined #parrot
12:45 amoc joined #parrot
12:45 * Coke wonders how rakudo is getting 'ldflags' to build its pmcs.
12:47 Coke ah. because you're still using the deprecated (but apparently functional) perl scripts, while I'm using the recommended (and broken) makefile.
12:47 * Coke sighs.
12:47 * Coke leaves partcl to rot for a while longer.
13:00 sjn joined #parrot
13:10 gryphon joined #parrot
13:12 amoc joined #parrot
13:14 edd moin
13:19 amoc joined #parrot
13:31 Infinoid good morning
13:36 Coke NO IT ISNT!
13:36 Coke ahem.
13:37 rg when is it ever ;P
13:39 Infinoid $dayofweek ne 'Monday' is a good start for me
14:25 register joined #parrot
14:42 * Coke wonders if he can easily inspect what's getting sent to smolder before ... smolding.
14:44 Infinoid joined #parrot
14:44 rg run $(PERL) t/harness $(EXTRA_TEST_ARGS) --core-tests --archive (i.e. without --send-to-smolder) and look at parrot_test_run.tar.gz
14:44 rg r
14:45 rg EXTRA_TEST_ARGS = --gc-debug --running-make-test
14:46 rg btw if the one running smolder is reading: i'm getting a 500 server error response when submitting reports, although they seem to be transmitted just fine.
14:51 Coke that's mpeters, he's not usually here.
14:51 Coke can't hurt to open a ticket.
14:51 rg in trac? i doubt that'll make a difference
15:00 Coke that's where issues about our use of smolder go, yes.
15:00 Eevee joined #parrot
15:06 particle- you can copy mpeters, if you think it'll help
15:07 particle- mpeters@plusthree.com
15:11 HG` joined #parrot
15:19 Coke mpeters?
15:19 Coke mpeters is mpeters@plusthree.com
15:43 darbelo joined #parrot
15:47 pjcj joined #parrot
15:55 Tene Is there a 'Bruce Keeler' in the channel?
15:57 AkRa joined #parrot
15:57 AkRa Hi, guys
15:57 Infinoid hi, AkRa
15:58 AkRa I'm from Alicante, Spain
15:58 edd_ joined #parrot
15:59 AkRa I'm just preparing a lecture on Parrot for tomorrow morning.
15:59 AkRa It will focus mainly on PIR
16:00 Tene Hi, AkRa!
16:00 flh joined #parrot
16:00 AkRa Most of the material is here: http://pelele.pbworks.com/Procesam​iento%20de%20lenguajes%20con%20sis​tema%20de%20tipos%20din%C3%A1mico
16:00 shorten AkRa's url is at http://xrl.us/beqpdm
16:01 AkRa I'm afraid it is in spanish only
16:02 AkRa just to let you know Parrot will be presented in another university course
16:03 AkRa Any suggestions for a one session lecture on Parrot will be welcome
16:04 moritz PCT might be a good topic
16:04 moritz building a compiler in one hour, or so
16:05 Tene That's my traditional 1-hour presentation.
16:06 Theory joined #parrot
16:06 moritz so the advice should be "steal from Tene" :-)
16:06 Tene Sure.
16:06 Tene http://www.opensourcetv.tv/video/15.html is video of one of them
16:06 Tene I'll try to record my presentation this weekend, too.
16:07 AkRa Yeah, that's fine!
16:07 Tene I plan to end with adding support to mod_parrot, if I have time.
16:07 pmichaud here's mine:  http://pmichaud.com/2009/pres/npw-pct/
16:07 pmichaud (slides only for now)
16:09 AkRa Thanks, a lot, Tene, pmichaud !
16:09 Tene AkRa: please let me know if there's anything else I can do to help with your presentation.
16:10 AkRa I think I should had to stop by here one week ago :)
16:11 pmichaud I'm not sure that it's valid to prepare presentations more than 24 hours in advance.  :-P
16:11 AkRa :D
16:12 AkRa Just a thing: It's 'Polymorphic Container' the new 'official' name for PMC?
16:13 AkRa I just don't find 'Parrot Magic Cookie' anymore on the doc
16:13 Coke Allison retro-named it, yes.
16:14 AkRa Ok
16:15 darbelo I liked the old name better :)
16:15 * moritz too
16:15 gaurav joined #parrot
16:16 braceta joined #parrot
16:16 Infinoid mmm, cookies
16:18 AkRa Tene, pmichaud : Can I link to your urls from my Parrot page?
16:18 pmichaud AkRa: definitely.
16:18 Tene AkRa: Yes.
16:19 AkRa Thanks, they will be of great help!
16:21 pmichaud #parrotsketch in 130
16:22 pmichaud afk, lunch
16:22 Infinoid You know, I really like having a weekly #ps.  It makes me constantly ask myself "what have I done for Parrot lately?"
16:27 whoppix joined #parrot
16:32 NotFound I think the official name for PMC is 'PMC' ;)
16:32 AkRa there is no confusion, there ;)
16:33 NotFound Em, is also called Parrot_PMC from embed
16:35 AkRa Thanks a lot, everybody. Have a nice day!
16:35 NotFound AkRa: I'm from Spain, too
16:37 AkRa Nice! are you involved in Parrot development?
16:37 NotFound AkRa: yes, since last summer
16:38 ilia joined #parrot
16:39 AkRa Wow, so may be I can bother you with some naive questions about it in the following days, should I?
16:39 NotFound AkRa: a tip: use say instead of print in the examples.
16:39 NotFound AkRa: sure!
16:39 AkRa Ah, ok
16:40 AkRa In fact, the presentation was done last year, I must update it a little
16:58 AkRa See you!
16:58 AkRa left #parrot
16:59 moritz Infinoid: it seems that dalek on #perl6 has stopped reporting, again
16:59 moritz Infinoid: I've killed its process on feather a few times in the past two days, and it respawned, but it doesn't seem to last long
17:00 Infinoid Yeah, it hasn't reported any rakudo commits in here since the 22nd
17:00 Infinoid wish I knew what changed.
17:01 Infinoid I have a wrapper script that I've been testing the feed parsers with, but it really needs a full testsuite
17:01 Infinoid Been meaning to add one, but finding a new job takes priority
17:04 moritz sure
17:04 Coke you know cold fusion? =-)
17:05 moritz if I knew, I'd be eligible for the Nobel Prize ;-)
17:08 Andy joined #parrot
17:14 seyedx joined #parrot
17:16 braceta left #parrot
17:31 jonathan parrotsketch is now or in one hour?
17:31 Util 1 hour
17:31 jonathan ok, thanks
17:40 chromatic joined #parrot
17:44 Coke chromatic: hey, c.
17:48 chromatic morning
17:55 jan joined #parrot
17:58 Infinoid chromatic: A blog post of yours from a few days ago made me itch to check out MooseX::Declare, but I ended up getting bogged down reading a bunch of Moose documentation to figure out simple things (like where to put the field initializer logic I'd normally put in new()).
17:58 Infinoid It's great stuff, but it is deceptively simple.  For people like me who are not yet familiar with Moose, there are some pretty deep potholes. :)
17:58 Coke Infinoid: rolsky just wrote a bunch of docs.
17:58 chromatic It could use a book....
17:58 Coke I would imagine rolsky would be a good person for that.
17:58 * Coke assigns a partcl ticket to cotto.
18:01 Infinoid The syntactic changes are great.  The semantic changes are taking me a little longer to figure out.
18:14 barney joined #parrot
18:33 pmichaud time for #ps ?
18:33 Util yes
18:42 allison joined #parrot
18:42 chromatic joined #parrot
18:42 seyedx joined #parrot
18:42 Andy joined #parrot
18:42 ilia joined #parrot
18:42 Theory joined #parrot
18:42 darbelo joined #parrot
18:42 Eevee joined #parrot
18:42 Infinoid joined #parrot
18:42 gryphon joined #parrot
18:42 rdice joined #parrot
18:42 ruoso joined #parrot
18:42 cognominal joined #parrot
18:42 frodwith joined #parrot
18:42 FL2 joined #parrot
18:42 bacek joined #parrot
18:42 japhb joined #parrot
18:42 jhorwitz joined #parrot
18:42 particle- joined #parrot
18:42 contingencyplan joined #parrot
18:42 Coke joined #parrot
18:42 jsut joined #parrot
18:42 zostay_ joined #parrot
18:42 samlh joined #parrot
18:42 Ademan joined #parrot
18:42 szabgab joined #parrot
18:42 s1n joined #parrot
18:42 cheflog__ joined #parrot
18:42 particle2 joined #parrot
18:42 TonyC joined #parrot
18:42 nopaste joined #parrot
18:42 rblackwe joined #parrot
18:42 silug joined #parrot
18:42 estrabd joined #parrot
18:42 rhr joined #parrot
18:42 TimToady joined #parrot
18:42 cotto joined #parrot
18:42 Khisanth joined #parrot
18:42 Tene joined #parrot
18:42 buildbot joined #parrot
18:42 purl joined #parrot
18:42 Aisling joined #parrot
18:42 mmpf joined #parrot
18:42 lucs_ joined #parrot
18:42 tewk_ joined #parrot
18:42 dngor joined #parrot
18:42 confound joined #parrot
18:42 workbench joined #parrot
18:42 ingy joined #parrot
18:42 cxreg joined #parrot
18:42 spinclad joined #parrot
18:45 Coke allison: compiling if you keep the build dir around is "not compiling". =-)
18:45 chromatic Baby Steps!
18:45 purl i heard baby steps was getting the test reforms done.  I'm starting to have fun, even.
18:45 chromatic YOU COULD START TO HAVE FUN TOO, even.
18:45 Coke the hll map stuff is gone.
18:45 Coke chromatic: I highly doubt that.
18:46 Infinoid chromatic: Oh, wow.  http://irclog.perlgeek.de/parrotsketch/today doesn't have any of our reports from before the split
18:46 allison Coke: right, but those are problems with Parrot, not with Partcl
18:46 chromatic Tcl does set an upper bounds on the fun you can have.
18:46 Infinoid Not even my "hi!"
18:46 Coke allison: ... yes, it's parrot's fault. I completely agree. =-)
18:47 allison Coke: and, I know how to fix them
18:47 Infinoid pmichaud: I have an IRC log of the other side, I can paste after #ps is over
18:48 pmichaud Infinoid: well, it's harder for me to comment on what others said if I can't read it :-(
18:48 Infinoid pmichaud: ah.  one sec, I'll throw it on the web
18:48 pmichaud Infinoid++
18:49 Infinoid pmichaud: https://quack.glines.org/upload/infinoid/log.txt
18:49 allison Util: I'm already building the parrot book to a PDF. I can set you up with access to my build infrastructure if you'd like.
18:50 allison Util: oh, but yes, it can't be a 'make' target because it has too many external dependencies
18:51 Coke allison: if it depends on external tools, that doesn't really matter.
18:51 Coke it's ok if "make book" fails with a missing dep.
18:53 Coke (and if you check in something with failures, someone can downgrade them to a nice error message.)
18:53 schmalbe joined #parrot
18:53 Infinoid pmichaud++ # congratulations on the release and the huge number of passing tests!
18:54 allison okay. It needs Pod::Simple (a recent version, not the ancient one checked into Parrot), Pod::PseudoPod, Pod::PseudoPod::LaTeX, and a latex-to-pdf converter, something like 'pdflatex'
18:55 chromatic Probably a patched P::PP::L too.
18:55 Coke (ancient one) why don't we upgrade?
18:55 Coke if we're going to have any copy at all.
19:00 allison oh, yes, I'm using an extensively patched version of P::PP:L
19:01 allison Coke: because we're planning to remove the dependency (not keep one checked in)
19:01 Util I had to patch my P::PP:L to get as far as LaTeX output.
19:01 cotto Coke, against which revision of Parrot do you think it'll be easiest to get partcl to build?
19:01 allison Coke: but, upgrading to the new version is what's holding us back from that
19:01 allison cotto: it builds against 1.0
19:02 Coke ... "sort of", yes.
19:02 allison cotto: would be nice to do 1.1, but it still uses .HLL_map
19:02 cotto s/build/run hello world/
19:02 Coke allison: no, it doesn't.
19:02 cotto sorry, thinko
19:02 allison Coke: oh, did you remove .HLL_map? great!
19:04 Util allison: do you have some "include"ing wrapper that is not checked in? I did not see where anything merged the chapters into a single book PDF.
19:05 chromatic I don't think we ever automated that.
19:05 allison Util: nothing is checked in here, it's in the Onyx Neon repository
19:05 allison with build scripts, the patched versions of the modules, etc
19:07 cognominal joined #parrot
19:11 Util Any reason not to move the build scripts (at least building to PDF, maybe not to the O.N. make-a-real-book format) into Parrot repo, and module patches into the CPAN modules? I could provide the manpower, if that is the only holdup.
19:11 Util Allowing anyone (who has the externals installed) to build the PDF at anytime seems like a Good Thing to me. Always good to be able to edit while reading final-form.
19:12 chromatic No objection here, save that it has external deps.
19:13 dalek tracwiki: v66 | chromatic++ | WikiStart
19:13 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​WikiStart?version=66&amp;action=diff
19:13 shorten dalek's url is at http://xrl.us/beqqd7
19:14 allison Util: I can send you the scripts and the modified version of P::PP::L
19:15 Util allison: thanks!
19:16 Topic for #parrotis now Parrot 1.1.0 Released | http://parrot.org/ | 332 RTs left | Weekly Priority: Remove Deprecated Items
19:16 dalek tracwiki: v10 | coke++ | Parrot%20Virtual%20Machine%20Workshop%202009
19:16 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​Parrot%20Virtual%20Machine%20Worksho​p%202009?version=10&amp;action=diff
19:16 shorten dalek's url is at http://xrl.us/beqqej
19:17 Coke particle-: I made it more true. :(
19:35 Coke hurm. the 1.1 roadmap query is showing #236, which is now on 1.4 milestone.
19:35 Coke That's... wrong. wonder if it's my cache...
19:39 nopaste "tene" at 97.117.72.236 pasted "working HLL P6Object for jonathan++" (21 lines) at http://nopaste.snit.ch/16424
19:40 dalek parrot: r38391 | pmichaud++ | trunk/DEPRECATED.pod:
19:40 dalek parrot: Close out TT #168 (stringification of protoobjects) in DEPRECATED.pod .
19:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38391/
19:42 nopaste "tene" at 97.117.72.236 pasted "parrot trace for jonathan++" (6 lines) at http://nopaste.snit.ch/16425
19:44 jhorwitz Tene: what's your mod_perl6 problem?
20:03 Coke perl6:  is there a way to do "${_}literal" ?
20:04 pmichaud Coke:   {$_}literal
20:05 Coke danke.
20:06 cotto pmichaud, do you have any recommendations for optimizing a grammar?
20:06 Coke cotto: first, profile it! =-)
20:06 cotto Coke, no.  First, write a profiler.
20:06 cotto ;)
20:07 pmichaud cotto: I'd have to see a few more grammars.  Try to structure it to avoid false leads as much as possible
20:07 Coke step one: learn c.
20:07 Tene jhorwitz: segfault on load
20:08 Tene iirc
20:08 Tene erm, on loadimmediate
20:08 jhorwitz Tene: after the latest fix?
20:08 Tene jhorwitz: yes, still there
20:08 Tene lessee if I can get a bt for you
20:08 * jhorwitz is filled with segfault rage
20:08 Tene also, perl6.pir should probably load_language 'perl6'
20:09 Tene instead of load_bytecode on a path
20:09 jhorwitz good catch -- the code hasn't been touched since load_language appeared.
20:10 Tene BUT, there are issues with search paths for the libraries that rakudo tries to load, iirc
20:11 jhorwitz Parrot*Path and PERL6LIB should take care or that.
20:11 jhorwitz s/or/of
20:12 barney joined #parrot
20:13 Tene yeah
20:14 Tene I remember seeing something weird happen with it anyway
20:25 Tene jhorwitz: I lied.  It's "Can't find Perl6MultiSub", which I think is a Parrot*Path issue.
20:25 jhorwitz yeah, make sure your dynpath is right
20:28 Tene will check later
20:29 Tene supposed to be working right now. ;)
20:29 jhorwitz i saw nothing....
20:40 dalek tracwiki: v149 | allison++ | ParrotRoadmap
20:40 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Par​rotRoadmap?version=149&amp;action=diff
20:40 shorten dalek's url is at http://xrl.us/beqqu5
20:47 Coke pmichaud: is PGE LTM a roadmap item, or just a big todo?
20:48 pmichaud we had it on the roadmap because I somewhat think it may affect how language authors write their grammars.
20:48 pmichaud also, I thought I'd be farther along on it by now.
20:49 pmichaud it wouldn't bother me to take it off the roadmap and just leave it as todo
20:49 pmichaud (it'll get done in the same amount of time either way)
20:49 Coke what about protoregex. same thing?
20:49 pmichaud yes.
20:50 Coke ok.
20:50 dalek tracwiki: v150 | coke++ | ParrotRoadmap
20:50 Tene I think they'll both help cardinal's grammar quite a bit
20:50 dalek tracwiki: add link to existing rt
20:50 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Par​rotRoadmap?version=150&amp;action=diff
20:50 shorten dalek's url is at http://xrl.us/beqqwz
20:50 pmichaud oh, they'll help all the grammars quite a bit.
20:50 pmichaud They'll help my bank account, too.
20:50 Tene :)
20:50 pmichaud so, there is more than the usual incentive to complete them in a timely manner :-)
20:53 dalek tracwiki: v151 | coke++ | ParrotRoadmap
20:53 dalek tracwiki: these were more "big todo" rather than roadmap-y.
20:53 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Par​rotRoadmap?version=151&amp;action=diff
20:53 shorten dalek's url is at http://xrl.us/beqqxd
20:58 allison Oh, I just created https://trac.parrot.org/parrot/ticket/589, should I delete it?
20:58 allison (for PGE LTM)
20:59 Coke allison: already fixed.
21:00 Coke I split that ticket into 2, and referenced the RT ticket for the one that had one.
21:00 nopaste "tene" at 97.117.72.236 pasted "rakudo trace for jonathan++" (6 lines) at http://nopaste.snit.ch/16426
21:01 allison Coke: thanks!
21:02 Coke anyone have openbsd?
21:02 Coke hurm. nevermind, ticket's very old.
21:10 nopaste "jonathan" at 85.216.157.73 pasted "Tene - even something this simple fails for me" (9 lines) at http://nopaste.snit.ch/16428
21:21 dalek tracwiki: v67 | allison++ | WikiStart
21:21 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​WikiStart?version=67&amp;action=diff
21:21 shorten dalek's url is at http://xrl.us/beqq3w
21:44 Whiteknight joined #parrot
21:45 chromatic Prediction: Rakudo passes 15k tests before #19.
21:46 * Whiteknight seconds that prediction
21:49 particle- 3mo?
21:49 particle- somebody better start writing some tests.
21:51 Infinoid Is a PIR "select" op (or method or whatever) on the roadmap?
21:51 allison selecting what?
21:51 Infinoid non-blocking I/O.
21:51 Infinoid pir and rakudo have sockets now, but I'm not a big fan of writing network code without some form of select or poll
21:52 allison Infinoid: it's not in the PDD
21:52 allison also not in the existing API
21:53 Infinoid Is there something I can do to help solve that?
21:53 Infinoid Or is there another suggestion on how to write servers with lots of connections?
21:53 allison write a patch, first to the PDD, and then once the group has had a chance to look it over, to the C API or PMC
21:54 allison everything for Sockets is methods on the Socket PMC, rather than opcodes
21:54 particle- if the patch includes tests, all the better :)
21:57 Infinoid what's your opinion of a Select PMC along the same lines?
21:58 Whiteknight what would the Select PMC do?
21:59 PerlJam Whiteknight: work for all IO and not just sockets?  :)
22:00 Whiteknight oh, so like a multiplexer?
22:00 Whiteknight i get it now
22:00 Infinoid rather, it would be the PIR equivalent of an IO::Select object
22:01 Whiteknight basically a thin opaque wrapper around another IO object?
22:01 Infinoid no, it's a List of IO objects
22:02 Infinoid you add a bunch of IO objects to a Select object and call select() on it, it will tell you which ones have data for you to read(), which ones have exceptions that need to be dealt with, and so forht.
22:02 Infinoid forth
22:02 Whiteknight ah, okay. much clearer
22:02 Infinoid this lets you implement IRC servers and web servers (http 1.1 keepalive) and imap servers and such, with lots of idle clients and the occasional piece of data coming in
22:03 Infinoid the default blocking I/O means read() won't return until it has actually gotten some data.  You can't implement a server with blocking I/O, because you can't predict which IO handle to read from next.
22:04 Infinoid rather, read() won't return until it has filled the buffer (you pass the size as an argument), which makes things even less predictable.
22:04 Whiteknight well we need to put together a proper asynchronous IO system anyway, a Select PMC won't negate that need
22:04 Infinoid by asynchronous IO, do you mean AIO-style callbacks?
22:05 Whiteknight yes
22:05 Infinoid That sounds awesome too.  Completely different API tho
22:14 bacek_ joined #parrot
22:15 Infinoid allison: (re TT #593) Is there a single "recommended" way to wrap a library?  It seems like there's a lot of variety in how postgres, opengl, pcre, etc are wrapped
22:16 chromatic Those guidelines have yet to evolve.
22:18 allison aye, part of developing the seed libraries is figuring out what works well and what doesn't
22:18 allison async I/O is on the roadmap (in the PDD too)
22:19 Whiteknight I'm thinking the time is getting ripe to start laying groundwork for asynch IO soon.
22:19 Whiteknight it might be worthwhile coming up with a good step-by-step plan to make that happen
22:21 allison Whiteknight: go for it. It's on the roadmap for 2.0 (next January), but there's no reason it couldn't be prototyped much earlier
22:21 Infinoid detecting AIO support on the host system would probably be a good start.  do we plan to emulate it where it isn't available?
22:22 Whiteknight Infinoid: That's probably preferrable in terms of performance, but in terms of development effort is probably the most expensive
22:22 Whiteknight But putting good configure probes in place now would be a good first step that wouldn't break anything else
22:22 bacek_ good morning
22:23 Infinoid yeah
22:23 Infinoid hi bacek_
22:23 Whiteknight hello bacek
22:23 Infinoid I imagine emulating it would probably be pretty simple... it would still be IO, just not A
22:23 Infinoid but it can come later
22:24 Infinoid are there any non-POSIX AIOs out there?  I've only used it on linux.
22:24 allison Hmmm... (https://trac.parrot.org/parrot/ticket/601) we already have pluggable runloops, so if anyone remembers why we added this item to the roadmap for 2.0, please annotate
22:25 allison AIO probably isn't sufficient for our needs
22:26 allison that is, async I/O on Parrot needs to fully integrate with the Parrot event system
22:26 Whiteknight that's definitely the way I was planning to go about it
22:27 * Infinoid can imagine emulating AIO on top of select()... and can also imagine emulating select() on top of AIO
22:27 Infinoid Whiteknight: Interesting project.  Once I've read the PDD, I'll get back to you if I have some spare cycles for it
22:28 Whiteknight There are lots of cool projects that just appeared in trac
22:29 Whiteknight and apparently I'm in the hole for garbage-collectable contexts
22:29 Whiteknight I'm going to have a few questions about that coming up soon, I'm sure
22:29 kid51 joined #parrot
22:29 allison Whiteknight: your name was on the Roadmap wiki page, feel free to unown the ticket
22:29 Infinoid ooh, GCable contexts
22:29 Whiteknight no, I'm happy to have it
22:29 * Infinoid tried and failed to do that once.
22:30 Whiteknight I had a toy prototype of a Context PMC floating around on my machine somewhere
22:30 allison there's another ticket for that one lying around, with a partial conversion to a Context PMC
22:30 particle- whiteknight: youd'd better anchor it somewhere
22:30 allison worth looking for it, I think it's in RT
22:32 chromatic Does that depend on the calling conventions refactor?
22:33 allison it can happen independently, but will be much simpler after the calling conventions refactor
22:33 Infinoid RT #60564
22:33 chromatic Hm, pluggable runloops is pretty darn easy.
22:33 allison well, we already have them
22:33 chromatic A little refactoring of src/runcore/ would make them trivial.
22:33 Whiteknight is that like asking for "dynrunloop" libraries that could be loaded at runtime?
22:34 allison chromatic: I'm not sure what we intended to add, do you remember?
22:34 chromatic ... except for the difficult part of allowing users to select them.
22:34 Whiteknight yeah, that's the part that sounds the hardest
22:34 allison chromatic: select them at runtime?
22:34 chromatic I thought it was dynrunloops.
22:34 chromatic ./parrot --runcore=foo bar.pbc
22:35 allison that sounds right, I'll add a note to the ticket
22:35 Whiteknight chromatic and allison: Did either of you two see RT # 38432
22:35 Whiteknight ?
22:36 chromatic I saw it but had no particular insight.
22:36 cotto quick clarification: When a deprecation has a milestone listed, is that milestone the first release *after* which the deprecation can happen?
22:37 Whiteknight chromatic: I'm thinking that so long as we are refactoring the runloops and the calling conventions, we could just solve this problem one way or the other
22:37 cotto i.e. "eligible in 1.1" => milestone 1.0 ?
22:37 allison cotto: yes, eligible in 1.1 means the feature might not exist in the 1.1 release
22:37 chromatic The constructor exception problem or some other problem?
22:38 cotto allison, so the milestone should be 1.0?
22:38 allison chromatic: hmmm... actually, the runloop switch should be trivial, we're already doing it on the fly at runtime after Parrot has started
22:38 allison cotto: the milestone should be 1.1
22:39 cotto got it
22:39 allison cotto: it's work that we're doing to prepare for the 1.1 release
22:40 chromatic Switching runloops compiled into libparrot is trivial.  Loading dynrunloops has other implications for installability, discoverability, enumerability, and security.
22:41 allison chromatic: ooof, I don't know that runloops as dynexts will ever work
22:41 allison chromatic: but it's worth prototyping
22:42 allison chromatic: it has some implications too. Could GC modules be dynexts?
22:42 chromatic Making them work is trivial.  Loading them isn't entirely trivial.
22:42 allison chromatic: could large portions of the current "core" be dynexts?
22:42 chromatic I suppose parrot_config could include information about dynruncores.
22:43 chromatic I don't know about the rest of the core.  Ops, perhaps, if the L1 scheme works out.
22:43 allison chromatic: I/O for example?
22:43 allison well, ops can already be dynexts
22:43 chromatic I meant "every op library we have now".
22:44 chromatic I suppose IO *could* be a dynext, but I don't see an easy way to do it like we have for runloops.
22:44 allison many of them already could be now (there's a deprecation item for that)
22:44 chromatic A runloop only has a few characteristics.  It's easy to model that in a way which allows registry/unregistry.
22:46 allison the I/O system is already designed to be swapped out for different architectures
22:46 nopaste "jonathan" at 85.216.157.73 pasted "tene - this one works" (16 lines) at http://nopaste.snit.ch/16430
22:46 allison currently it's swapped at compile time, and each variant defines a set of standard macros
22:47 allison it's a fixed set of functions each variant provides
22:47 allison could just as well be a .so that provides a set of C functions
22:47 chromatic I suppose if the macros turned into invocations of function pointers registered in a struct or somehow, that's workable.
22:48 allison but then, I/O dynexts may not gain us anything, in terms of speed or extensibility
22:49 chromatic Not as much as runloops.
22:50 tetragon joined #parrot
22:53 allison I'm bumping "ordered destruction" out to 3.6, any objections?
22:53 chromatic I think people will want it before then, but no idea how to make it happen intelligently.
22:54 chromatic It depends on saner GC as well -- our constant pools are... complex.
22:54 allison indeed, I think it will be more possible after the GC tasks in 3.0
22:57 Topic for #parrotis now Parrot 1.1.0 Released | http://parrot.org/ | 325 RTs left | Weekly Priority: Remove Deprecated Items
23:00 Whiteknight parrot-users++
23:00 Whiteknight great idea for a new list
23:09 Woody4286 joined #parrot
23:14 Whiteknight allison: I have some questions about GCable contexts, if you've time
23:16 allison Whiteknight: sure, question away
23:16 clunker3 joined #parrot
23:17 Whiteknight 1) Is it worthwhile to maintain a distinction between Interp_Context and Parrot_Context structures?
23:17 Whiteknight I never found any use for the former except as a small overlay for the latter
23:17 allison aye, they should be merged into one PMC
23:18 Whiteknight okay, thanks
23:18 Whiteknight 2) We do want this to be a PMC, and not just a "regular" structure that's PObj-isomorphic?
23:19 Whiteknight like a stack chunk or a STRING?
23:19 Whiteknight I ask because contexts are pretty complex, and the VTABLE interface is pretty limiting
23:20 Whiteknight we would end up needing to do a lot of direct ATTR accesses, which ruins encapsulation
23:20 allison Ideally, a PMC
23:20 Whiteknight ok
23:20 chromatic What does making it a PMC provide?
23:20 allison really ideally, the same PMC as the return continuation
23:20 Whiteknight allison: Ah, that's something I hadn't even considered
23:21 allison really really ideally, we collapse the context, the return continuation, and the "state" for an executing sub/method
23:21 allison also collapse the call signature object
23:21 Whiteknight okay, lots of possibilities that I hadn't even considered
23:22 allison chromatic: PMCs are a standard, GC able structure
23:22 Whiteknight collapsing in the call signature object is going to produce lots of good opportunities for simplification and optimization
23:22 allison Whiteknight: aye
23:23 allison collapsing all of them vastly reduces the amount of allocation we have to do for each call
23:23 allison chromatic: we could create another unique GC-able structure, but there isn't much benefit to it (PMCs are already pretty generic)
23:23 * Whiteknight is awash in all the possibilities
23:25 allison chromatic: we do probably need a GC flag for "short-lived" PMCs, but we probably need that even if contexts aren't PMCs, so implement it once for all
23:27 chromatic Collapsing everything into one structure seems reasonable to me.
23:27 chromatic I don't buy the "PMCs are GCable, so everything GCable must be a PMC" argument.
23:27 chromatic But collapsing everything into one structure makes sense.
23:33 Whiteknight One thing I would like to do eventually is to get all the PMC_data structures allocated from the fixed-sized pools, instead of calling malloc for each one
23:33 Whiteknight because if we're malloc'ing data for every PMC allocation, we're not gaining any of the performance benefits of managing our own pools anyway
23:34 allison chromatic: and I don't see much point in adding a completely different structure and making it GC-able, but I'm happy to explore both paths
23:34 allison Whiteknight: that's certainly possible
23:38 chromatic If we never take advantage of the PMC parts, there's no advantage to it being a PMC.
23:47 Whiteknight chromatic: I think we will take advantage of some PMC parts.
23:48 Whiteknight pushing in arguments, and accessing them again using keyed lookups will be a very good feature
23:48 allison We certainly do take advantage of the PMC parts for call signatures
23:48 chromatic The combined version, yes.
23:49 allison and, if those are the only PMC features we use in the combined PMC, it's still valuable
23:50 starc joined #parrot
23:50 bacek_ quick question: are stuff eligible to remove in 1.4 can be removed in 1.2?
23:51 Whiteknight the new concurrency-friendly cps system is very intriguing to me

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

Parrot | source cross referenced