Camelia, the Perl 6 bug

IRC log for #parrot, 2010-11-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 dukeleto i think we should remove the stupid timestamp, and save all of us a death by a thousand trivial merge conflicts
00:03 chromatic Let's remove the whole file.
00:05 sorear MANIFEST and MANIFEST.SKIP are important parts of the CPAN upload process
00:05 sorear When was the last time we uploaded Parrot to CPAN?
00:06 dukeleto sorear: we don't anymore, and i think it was the 0.8.x release
00:06 dukeleto sorear: we don't upload to CPAN anymore
00:06 dukeleto sorear: what i am talking about are comment lines in those files
00:06 dukeleto chromatic: removing the whole file is more work. But if you are volunteering...
00:07 * dukeleto pokes to see how to remove those comment lines
00:08 cotto_work We had a reason for keeping them around.  Something to do with the install process iirc.
00:10 bacek_at_work http://www.mail-archive.com/parrot-​dev@lists.parrot.org/msg04650.html
00:13 dalek parrot: aa5e567 | dukeleto++ | / (2 files):
00:13 dalek parrot: Prevent endless merge conflicts in MANIFEST and MANIFEST.SKIP, and update them
00:13 dalek parrot: review: https://github.com/parrot/parrot/commit/​aa5e5676d0f707fe4a928939b06d37d8c2a7ab44
00:13 dukeleto all i did was tweak the "generated by" comment to not have a timestamp. Presto! No more merge conflicts.
00:18 M_o_C joined #parrot
00:34 whiteknight blah, I didn't realize at first that the embedding application was supposed to set the config hash
00:34 M_o_C left #parrot
00:34 whiteknight that puts a huge wrench into my plans
00:36 M_o_C joined #parrot
00:37 M_o_C left #parrot
00:41 whiteknight actually, there is only one place in Parrot that appears to use the config hash internally. All other uses appear to be from PIR code, which will be running through the IMCC front-end
00:41 whiteknight I can work with this
00:43 GodFather joined #parrot
00:45 whiteknight actually, the more I think about it the dumber it is
00:45 whiteknight The only way to get a config hash in the first place is to have Parrot available to build it. That's why we have miniparrot in the build
00:46 whiteknight but we need the config hash to be made available, as a PMC, during interpreter initialization
00:46 whiteknight so we need to create it before we have GC, then unfreeze it into a PMC, and use it to initialize the library search paths
00:46 whiteknight this is all extremely stupid
00:49 * kid51_ nods at #parrot and gives him a small kipper
00:49 kid51_ left #parrot
00:49 kid51 joined #parrot
00:50 kid51 is now known as kid51_at_dinner
00:52 GodFather left #parrot
00:53 dukeleto whiteknight: i use the config hash from C, but i think i only read it
00:53 whiteknight in PLParrot
00:53 dukeleto whiteknight: yeah
00:53 whiteknight ?
00:54 dukeleto whiteknight: explain what the problem is and why things are stupid
00:54 whiteknight so are you calling Parrot_set_config_hash?
00:54 dukeleto whiteknight: yep.
00:54 dukeleto whiteknight: only because it is required
00:55 whiteknight will do, but first brb for a second
00:55 dukeleto whiteknight: without calling that, random shit broke, at least when I first tried. Perhaps that has been fixed by now.
00:59 whiteknight the config hash appears to serve only one purpose internally: to set up library search paths
00:59 whiteknight you know from PLParrot what the sequence is: set the config hash, THEN create the interpreter, THEN initialize the interpreter
01:00 whiteknight the config has is stored as a hard-coded C array that's output in miniparrot with a freeze on the hash, then converted to a C array literal
01:00 chromatic Why is that not part of parrot.c?
01:01 whiteknight so we load in the frozen byte sequence, create the interpreter, create the GC, thaw the config hash, initialize the library search paths
01:01 whiteknight is there a parrot.c?
01:01 whiteknight src/main.c?
01:01 chromatic Yes.
01:01 whiteknight I don't know
01:02 whiteknight so here's the problem in a nutshell: if you want to be able to load libraries or dynexts or anything, you first need to have a config hash. At the moment, this means that every single embedding application has to link against src/parrot_config.c, and call Parrot_set_config_hash() before creating an interpreter
01:03 chromatic An installed libparrot should already know some basic information.
01:03 whiteknight You can't really [easily] use a custom config hash, because you have to have Parrot available first so you can create it, freeze it, convert it to C code and compile it
01:04 whiteknight and you can't load it/create it dynamically either, because it has to be available as a frozen byte sequence before the first interpreter is created
01:04 whiteknight so basically its boilerplate
01:08 cotto_work So why can't we generate an executable that hard-codes all those values in a parrot_config-like executable?
01:08 chromatic Why can't we generate a .c file linked into libparrot that knows how to initialize all of those at the right time?
01:09 cotto_work It wouldn't win a beauty contest, but it'll get around the bootstrapping problem.
01:11 cotto_work There should be a reasonable way around this.
01:25 seanstickle joined #parrot
01:28 chromatic left #parrot
01:29 davidfetter_vmw left #parrot
01:31 wagle left #parrot
01:32 dngor joined #parrot
01:33 dngor_ left #parrot
01:35 dmalcolm left #parrot
01:45 dngor left #parrot
01:50 whiteknight better option, I think, is to have an API function that loads in a config hash PMC *after* interpreter initialization, and provide some decent fallbacks for cases where a hash is not provided
01:50 dngor joined #parrot
01:50 tcurtis joined #parrot
01:51 wagle joined #parrot
01:51 cotto_work whiteknight: sure.  Use the hard-coded values built during configure-time if the interp hasn't been initialized, otherwise use the real ones.
01:51 whiteknight exactly
01:51 whiteknight that would be easy to do, and much cleaner
01:57 wagle left #parrot
02:03 wagle joined #parrot
02:04 dngor_ joined #parrot
02:04 whiteknight I've got some pondering to do. Out for the night. Later
02:06 cotto_work night
02:06 whiteknight left #parrot
02:09 dngor left #parrot
02:11 dngor joined #parrot
02:12 dngor_ left #parrot
02:13 tcurtis left #parrot
02:14 tcurtis joined #parrot
02:20 bluescreen left #parrot
02:27 tcurtis left #parrot
02:30 tcurtis joined #parrot
02:32 seanstickle left #parrot
02:33 cotto ~~
02:33 lucian left #parrot
02:34 rurban_ joined #parrot
02:35 lucian joined #parrot
02:36 dngor left #parrot
02:36 dngor joined #parrot
02:38 rurban left #parrot
02:38 rurban_ is now known as rurban
02:41 kid51_at_dinner is now known as kid51
02:53 bacek_at_work ~~
02:53 bacek_at_work Any objections to merge gc_ms2_faster_list?
02:54 kid51 bacek_at_work: I did a smolder on it last night and got a PASS.
02:54 bacek_at_work kid51, which platform?
02:54 kid51 linux/i386
02:54 bacek_at_work ok
02:54 kid51 no optimization or anything
02:54 bacek_at_work I build optimized parrot on linux/i386. All tests passed.
02:57 cotto I like having a slower parrot, but I guess you can merge it.
02:57 kid51 I can try a build on Darwin/PPC, but the results won't be available for an hour.
02:58 bacek_at_work kid51, I can wait. Darwin/PPC will be really good test.
03:04 kid51 Is there any reason why the content of the file 'VERSION' is still at 2.10.0 ?
03:05 cotto kid51, the 2.10.1 changes haven't been merged into master yet
03:05 kid51 Ah
03:05 cotto dukeleto, what's the right way to do that?
03:09 * kid51 runs make fulltest on gc_ms2_faster_list on linux/i386 and make test on darwin/ppc
03:18 tcurtis left #parrot
03:20 tcurtis joined #parrot
03:20 tcurtis left #parrot
03:39 kid51 gc_ms2_faster_list: PASS make fulltest linux/i386; PASS make test Darwin/PPC: http://smolder.parrot.org/app​/projects/report_details/1197
03:40 kid51 Files=361, Tests=12524, 1241 wallclock secs (12.35 usr  7.25 sys + 575.66 cusr 156.49 csys = 751.75 CPU)
03:43 kid51 left #parrot
03:44 plobsing anyone know who I talk to about partcl?
03:45 bacek_at_work plobsing, Coke
03:45 dalek parrot: f0aa28e | bacek++ | / (8 files):
03:45 dalek parrot: Merge branch 'gc_ms2_faster_list'
03:45 dalek parrot: review: https://github.com/parrot/parrot/commit/​f0aa28e4faa98850720196535463e19261dc4510
03:47 plobsing aloha: msg Coke do you have any roadmap to get partcl into a reasonable state? what has to happen?
03:47 aloha plobsing: OK. I'll deliver the message.
03:48 bacek_at_work Here we go. Now rakudo should be something like 30% faster.
03:48 plobsing bacek++ # increasing the awesome
03:49 bacek_at_work plobsing, thanks for fixing 64bits build :)
04:29 GeJ building the awesome on my Heisenbox.
04:31 cotto I love your heisenbox.
04:36 GeJ you're probably the only one here.
04:36 GeJ fulltesting the awesome.
04:45 GeJ the awesome's awesomeness is heisenproof!
04:45 GeJ bacek++
05:00 plobsing are there any languages (aside from rakudo and partcl) that uses HLL mapping heavily?
05:02 cotto bacek_at_work, what's magical about your branch?
05:21 bacek joined #parrot
05:22 bacek cotto, gc_ms2_faster_list? Nothing.
05:33 rurban bacek: A few typos you got in gc_ms2_faster_list
05:34 GeJ I would have said "ponies", but again my knowledge of C is extremely limited.
05:53 mikehh left #parrot
06:02 sorear GeJ: what is so heisen about your box?
06:03 dalek TT #1858 created by jimmy++: Parrot can't build with strawberry perl
06:03 dalek TT #1858: http://trac.parrot.org/parrot/ticket/1858
06:03 mikehh joined #parrot
06:20 Patterner joined #parrot
06:25 cotto sorear, it's somehow really good at finding odd corner cases that don't occur on most people's machines
06:36 bacek rurban, sigh... English is my forth language.
06:43 GeJ I'd love to see some comments in your third language in Parrot. Or maybe in the unicode tests.
06:46 dukeleto cotto: what do you want to know?
06:46 cotto dukeleto, you mean about bacek's branch?
06:47 cotto I was curious about the algorithm, but I figured I'd probably learn more effectively by reading the code myself.
06:47 dukeleto 19:05:33 <@cotto> dukeleto, what's the right way to do that?
06:48 cotto oh
06:48 cotto I mean getting master to think that it's 2.10.1 instead of 2.10.0
06:48 cotto merging in changes from the tag
06:50 * dukeleto looks
06:51 GeJ huh, I thought that the post merged version shaved 80% of make fulltest. It's actually threads.t that b0rked. retesting.
06:51 GeJ it's missing an 'off' somewhere.. isnt't it?
06:52 dukeleto cotto: https://gist.github.com/706206
06:52 dukeleto cotto: that is the difference between the releases
06:53 cotto shouldn't VERSION also be different, along with some generated files?
06:53 dukeleto VERSION is manually modified, as per the release manager docs
06:54 cotto that should be checked in though
06:58 bacek left #parrot
07:09 plobsing left #parrot
07:30 fperrad joined #parrot
07:47 chromatic joined #parrot
07:56 cotto hi chromatic
07:57 chromatic evening
08:01 fperrad_ joined #parrot
08:05 fperrad left #parrot
08:05 fperrad_ is now known as fperrad
08:14 theory left #parrot
08:39 dalek TT #1858 closed by jimmy++: Parrot can't build with strawberry perl
08:39 dalek TT #1858: http://trac.parrot.org/parrot/ticket/1858
08:46 zby_home joined #parrot
08:46 zby_home chromatic: ping
08:52 chromatic I'm back in my office, so I can read and review it tomorrow.
08:55 zby_home :)
08:56 zby_home it would be great if it was published next week
08:56 zby_home before the London Perl Workshop
08:56 chromatic Should be doable.
08:57 zby_home nice
08:59 he Hm, 2.10.1 from tar file still not buildable -- include/parrot/oplib/core_ops.h declares Parrot_DynOp_core_2_10_0 but the code tries (and fails) to use Parrot_DynOp_core_2_10_1.
09:00 * moritz thinks the proper fix would be to do a 2.10.2 release
09:00 moritz modifying release afterwards is a bad idea
09:01 he moritz: I agree -- did that happen to 2.10.1?
09:02 moritz yes
09:03 cotto sigh
09:04 he I'll just re-fetch and re-try, I guess.
09:04 moritz I don't know if that particular problem was fixed
09:05 he I didn't quite understand how include/parrot/oplib/core_ops.h is supposed to be updated, but evidently something in the release process changed as part of the conversion to git(?)
09:05 moritz I think the release manager just forgot one step
09:05 moritz not surprising, given how many manual steps are involved
09:05 he "more automation"
09:05 cotto he, it's updated by opsc, which uses the VERSION file
09:06 cotto if either of those steps don't happen, that file will end up out-of-date
09:06 cotto and yes, we need more automation.  dukeleto was talking about that earlier today.
09:34 he OK, the new 2.10.1 built.
09:34 contingencyplan left #parrot
09:45 zby_home left #parrot
10:00 rurban_work joined #parrot
10:24 tadzik1 joined #parrot
10:24 tadzik1 left #parrot
10:25 ligne joined #parrot
10:28 mikehh left #parrot
10:34 rurban_ joined #parrot
10:38 rurban left #parrot
10:38 rurban_ is now known as rurban
11:04 chromatic left #parrot
11:58 darbelo joined #parrot
12:15 rurban_work left #parrot
12:33 bluescreen joined #parrot
12:42 jsut left #parrot
12:51 in4no joined #parrot
12:51 in4no hi all
12:52 moritz hello
12:52 in4no is now known as SingAlong
12:52 SingAlong I just saw that Parrot is one of the participating organisations in Google Summer of Code. This is the first time I'm participating in GSoC and would like to do it with Parrot. ANy pointers?
12:53 SingAlong *any
12:54 moritz SingAlong: Summer of Code or Code-In?
12:54 SingAlong moritz: Summer of Code
12:54 moritz for summer of code you'd have to wait until next year
12:54 moritz I mean, you can start to use and hack on parrot
12:55 moritz but this year's program is already over
12:55 SingAlong moritz: the page at code.google.com/gsoc says Nov 22 is the last date to apply.
12:55 SingAlong moritz: oh wait let me link you to another page
12:56 SingAlong moritz: here's the timeline http://socghop.appspot.com/document/sh​ow/gci_program/google/gci2010/timeline
12:57 moritz and the title says "Google Code-in Timeline"
12:57 SingAlong moritz: oh crap! i didnt read the title. sorry
12:57 moritz not "Summer of Code"
12:57 moritz :-)
12:58 moritz SingAlong: if you want to participate nonetheless, talk to dukeleto; he has been organizing most of that stuff
12:59 SingAlong moritz: well, i'm not in pre-university. I wish I was 4yrs older. But when's the next SoC?
13:00 moritz SingAlong: this year student applications where end of March and start of April
13:00 moritz SingAlong: if next year works the same, it'll be March 2011
13:00 darbelo Next year hasn't been announced yet, but I'd guess about the same dates as this year.
13:01 darbelo There's only so much summer in the year.
13:01 SingAlong whats the SoC program for parrot like? all about improving parrot internals and docs or about languages built on parrot?
13:02 moritz SingAlong: most were about parrot internals, but one focused on Rakudo (Perl 6 on Parrot)
13:03 moritz parrot's GSOC application was under the umbrella of the Perl Foundation
13:03 SingAlong no places for people who are interested in docs and anything on top of parrot?
13:03 moritz if you want to work on python-on-parrot, applying at the python folks might be possible
13:03 darbelo It's not necessarily deep internals, either. External libraries have been accepted as GSoC projects.
13:03 moritz right
13:04 moritz like the optimization framework
13:04 SingAlong thats beautiful. right now I'll start with the baby steps tutorial to build my experimental language)
13:04 SingAlong darbelo: external libs can be developed for parrot? like plugins/addons?
13:04 SingAlong darbelo: where do i find docs to develop these?
13:06 darbelo Parrot can be dynamically extended by loading new PMCs or ops at runtime.
13:06 SingAlong beautiful. looking forward to use it.
13:06 SingAlong do you guys suggest the parrot baby steps tutorial or the PIR tutorial? (not the PCT tutorial coz I want to do something from scratch.)
13:07 SingAlong PIR tutorial from the parrot docs
13:07 moritz isn't there a book on PIR?
13:07 moritz ah yes, it's linked on the parrot homepage too
13:08 SingAlong moritz: there's on on docs.parrot.org
13:08 SingAlong *one
13:09 SingAlong moritz: just wanted to know if i should go with that one or the parrot baby steps tutorial that someone wrote a while ago. been wanting to get started with parrot since 2.6 or 2.7
13:10 moritz SingAlong: I'd suggest to try out one of them, and see if they work for you
13:10 moritz I mostly learned PIR by working with it, and reading existing code
13:10 moritz and then asking dumb questions :-)
13:10 SingAlong moritz: sorry :(
13:10 moritz not your questions are dumb. Mine were :-)
13:11 SingAlong moritz: oh
13:11 moritz and I still got great answers :-)
13:12 SingAlong hope I can help myself from asking dumb questions. realise now to what extent my questions were dumb when i asked them on irc when i was 16
13:14 moritz dumb questions are OK
13:14 moritz as long as you listen to the asnwers :-)
13:16 SingAlong left #parrot
13:17 seanstickle joined #parrot
13:19 SingAlong joined #parrot
13:19 Patterner left #parrot
13:20 SingAlong left #parrot
13:25 Coke aloha, msg plobsing any plans I had for partcl have been derailed by parrot. I honestly haven't tried to do anything other than tread water for months.
13:25 aloha Coke: OK. I'll deliver the message.
13:25 whiteknight joined #parrot
13:27 Coke aloha, msg plobsing - if someone is interested in helping out, I could definitely work on a task list for partcl-nqp. (partcl is "stable" at this point.)
13:27 aloha Coke: OK. I'll deliver the message.
13:27 aloha Coke: Okay.
13:33 lidden joined #parrot
13:35 Psyche^ joined #parrot
13:35 Psyche^ is now known as Patterner
13:43 rurban creating updated parrot, rakudo and rakudo-star packages for cygwin...
13:45 jan left #parrot
13:55 whiteknight rurban++
13:55 whiteknight Coke: Are there any tasks for partcl that would be bite-sized for GCI students to tackle?
13:55 whiteknight documentation, testing, web design, light coding, etc?
13:56 rurban parrot looks fine so far...
13:58 darbelo Coke: I might be able to scrounge up some time to hack on partcl-nqp next week. If you have a task list I can try to clear a few items off it.
13:58 whiteknight msg plobsing Packfile PMC doesn't seem to have get_pointer and set_pointer VTABLEs for importing/exporting a struct PackFile. I'm looking at the code and my naive first impression is that these shouldn't be too hard to add, but I wanted your input first. I'm not sure I really understand all the packfile structures enough to make an informed decision
13:58 aloha OK. I'll deliver the message.
14:15 Coke whiteknight, darbelo: I'll see if I can put a task list up somewhere.
14:22 whiteknight Coke++
14:46 mikehh joined #parrot
14:50 seanstickle left #parrot
14:58 bluescreen left #parrot
14:58 contingencyplan joined #parrot
14:59 bluescreen joined #parrot
15:05 SingAlong joined #parrot
15:05 SingAlong whats a PMC?
15:05 moritz a Parrot Magical Cookie
15:06 moritz or PolyMorphic Container in newspeak
15:06 moritz it's basically a primitive object
15:06 jan joined #parrot
15:06 SingAlong moritz: oh! so thats what can be used to provide object support
15:07 SingAlong I'm confused with num and int types with .local
15:07 SingAlong is num a superset of int?
15:07 whiteknight no. nums are floats
15:08 moritz and int is... int.
15:08 SingAlong thank you!
15:14 whiteknight seen nwellnhof?
15:14 aloha nwellnhof was last seen in #parrot 5 days 18 hours ago joining the channel.
15:41 SingAlong whiteknight: is aloha a bot keeping track of joins and logins?
15:41 whiteknight SingAlong: among other things, yes
15:41 SingAlong seen SingAlong?
15:41 aloha SingAlong was last seen in #parrot 0 seconds ago saying "seen SingAlong?".
15:41 whiteknight he also passes messages
15:42 SingAlong whiteknight: passes?
15:42 SingAlong aloha: help
15:42 aloha SingAlong: Ask me for help about: msg, convert, status, vars, karma, auth, seen, maths, infobot, clock, loader (say 'help <modulename>').
15:42 whiteknight msg SingAlong here's a message from me
15:42 aloha OK. I'll deliver the message.
15:42 whiteknight we don't really do passes in here
15:42 SingAlong whiteknight: i still havent got your msg tho
15:42 SingAlong whiteknight: got it now.
15:43 whiteknight yeah, he sends it the next time you are active in the channel
15:45 dmalcolm joined #parrot
15:45 whiteknight karma SingAlong
15:45 aloha SingAlong has karma of 0.
15:45 whiteknight SingAlong++
15:46 whiteknight karma SingAlong
15:46 aloha SingAlong has karma of 1.
15:46 SingAlong whiteknight++
15:46 whiteknight :)
15:46 SingAlong wow so there's even a point system within the channel (or is this thruout the perl IRC server)
15:46 Coke it's per channel.
15:47 Coke different bots keep track.
15:47 SingAlong haha. had fun trying the bots in the other channels and checking my karma
15:52 whiteknight what brings you to #parrot, SingAlong?
15:52 whiteknight anything we can help you with?
15:52 SingAlong whiteknight: trying out the baby steps tutorial and hanging out in parrot.
15:53 whiteknight oh, nice. That tutorial is pretty high quality
15:53 SingAlong whiteknight: what does it end like? writing a mini language? I'm in the getting started
15:54 whiteknight I don't think he creates a compiler in that tutorial, no. I think he does some data manipulation stuff
15:54 SingAlong whiteknight: oh any tutorial that deals with the compiler stuff? (with PIR not PCT)
15:55 whiteknight there are, I don't know how up-to-date they all are. Things change/improve pretty rapidly around here so not everything is up-to-date
15:55 whiteknight you interested in creating a language?
15:55 SingAlong whiteknight: it's ok if it's old.
15:55 SingAlong whiteknight: ya interested in doing a language.
15:56 whiteknight oh nice. Any language in particular?
15:56 SingAlong i tried the PCT tutorial a while back (parrot 2.6 or 2.7 from the git repo). But the parrot dev was so fast that my spare time wasnt enough :)
15:56 whiteknight Yeah, sorry about that. :)
15:57 SingAlong whiteknight: no it's actually cool that way :)
15:57 SingAlong whiteknight: just want to start by creating a language for kids.
15:57 atrodo There's a squeek (i think it is) tutorial that was recently updated
15:57 SingAlong atrodo: but that's PCT-based right :)
15:57 whiteknight I don't think there are any tutorials about how to create a compiler without pct
15:58 atrodo thought it was nqp, but I might be misremembering
15:58 whiteknight there are some older compilers on github that don't use it
15:58 whiteknight oh right, NQP is written in PIR. But it's pretty high-level stuff
15:58 whiteknight hardly a suitable tutorial
15:58 * PerlJam wonders why anyone would want to write a compiler in pure PIR rather than a higher level language.
15:59 SingAlong PerlJam: for the fun of it? :)
15:59 SingAlong is it possible to create a compiler using just pir after going thru the basics?
15:59 whiteknight you may have a different definition of "fun" than we have :)
15:59 PerlJam sure it's /possible/
15:59 whiteknight winxed writes the compiler in C++ and outputs PIR code to parrot
16:00 whiteknight that might be an interesting example
16:00 SingAlong winxed? who's that?
16:00 whiteknight winxed is a javascript-like language that NotFound is writing
16:00 whiteknight Winxed?
16:00 whiteknight aloha: Winxed?
16:00 aloha whiteknight: Winxed is mentioned in misc/dalek-conf.json, but it looks like it's not configured to display anywhere.
16:00 whiteknight useless bot
16:00 SingAlong haha
16:01 atrodo https://github.com/ekiru/squaak-tutorial <- Looks like NQP-rx
16:01 whiteknight aloha forget Winxed
16:01 aloha whiteknight: I forgot about Winxed.
16:01 Coke (writing a compiler in PIR instead of using PCT/NQP) do not, unless you have a ton of spare time and like doing things the hard way.
16:01 whiteknight aloha: Winxed is http://code.google.com/p/winxed/
16:01 aloha whiteknight: Okay.
16:01 whiteknight damn right it's okay
16:02 Coke that said, I'm positive that the documentation for PCT/NQP could be greatly improved. :|
16:02 SingAlong Coke: well the last time i checked the squaak tutorial was broken
16:03 atrodo SingAlong> The squaak-tutorial on github was updated back in July
16:03 whiteknight I think NQP development has calmed down a little bit lately, I suspect a tutorial written/updated now would be more stable as well
16:04 SingAlong whiteknight: i tried it twice and it was broken. I think the reply i got in the irc here was that around chap-3 the code would run only with a test or something. dont remember what it was.
16:05 whiteknight SingAlong: Okay, that's a problem that we need to address
16:05 * SingAlong hopes he can turn skilled enough to help in sometime
16:05 whiteknight I'll have to run through that tutorial myself soon and see where the pitfalls are
16:06 whiteknight SingAlong: finding problems in our docs is already a big help
16:06 whiteknight maybe eventually we'll get our act together enough to help you build a compiler!
16:06 SingAlong whiteknight: well then I'll do that tomorrow evening. I'll run thru the squaak tutorial once and tell you what the problem is.
16:06 Coke documentation bug reports are very helpful.
16:06 Coke SingAlong++
16:06 whiteknight SingAlong++ That would be perfect
16:07 SingAlong no problemo! would be happy if I can actually find a bug and file it.
16:08 whiteknight msg bacek gc_ms2_faster_list is passing all tests on my box. When are we going to merge it?
16:08 aloha OK. I'll deliver the message.
16:10 Andy left #parrot
16:17 Coke whiteknight: tested against rakudo?
16:17 whiteknight not yet
16:18 Andy joined #parrot
16:18 Coke ugh, still can't build partcl-nqp against parrot.
16:19 whiteknight Coke: What's the roadblock?
16:19 Coke need to validate dukeleto's work on partcl-old and then copy it over.
16:19 Coke (it's the "oh, you switched to git" issue.)
16:20 whiteknight ah, gotcha
16:24 whiteknight can you build it against current parrot if you take out the revision-verification code from Configure.pl?
16:24 whiteknight as a temporary measure
16:27 darbelo Wouldn't fetching from github's svn mirror make HLLs that expect svn happy?
16:27 darbelo or did the svn support code get ripped out/
16:27 * darbelo goes check
16:27 whiteknight parrot_config always returns 1 for svn revision
16:28 whiteknight which is almost always lower than the revision expected by HLLs
16:28 Coke whiteknight: (revision verification) probably.
16:31 Coke bah. should just give up on googlecode and rely on github for everything. :(
16:33 SingAlong what's a multi-part key? is it like an associative array or is it a multi-dimensional array? i just found this in the PIR book $P0['my';'key']
16:33 Coke You can think of it as $P1 = $P0['my'] ; $P1['key']
16:35 SingAlong Coke: so in terms of OO, that would be like someObject.attribute right?
16:42 whiteknight SingAlong: think about it more like a multidimentional array
16:43 whiteknight so a multi-part key is sort of like an array of keys used to look up an entry in a multidimensional aggregate
16:52 whiteknight gc_ms2_faster_list doesn't really affect timing of parrot coretest at all
16:52 whiteknight but that's to be expected, since most coretests don't hardly exercise the GC at all
16:54 theory joined #parrot
16:59 whiteknight blah, damnit. clang ran out of memory trying to pbc_to_exe perl6.c again
17:02 atrodo bad clang
17:06 hercynium joined #parrot
17:07 NotFound aloha: winxed is http://winxed.org/
17:07 aloha NotFound: ... but winxed is http://code.google.com/p/winxed/ ...
17:08 NotFound aloha: winxed is also http://winxed.org/
17:08 aloha NotFound: Okay.
17:27 brianwisti joined #parrot
17:33 SingAlong left #parrot
17:39 whiteknight winxed?
17:39 whiteknight aloha winxed?
17:39 aloha whiteknight: winxed is http://code.google.com/p/winxed/ or http://winxed.org/
17:43 allison left #parrot
17:46 whiteknight seen bluescreen?
17:46 aloha bluescreen was last seen in #parrot 2 hours 47 mins ago joining the channel.
17:46 bluescreen I'm here
17:47 whiteknight ah, hello bluescreen
17:47 bluescreen hello
17:48 whiteknight My commit last night got all the code files in parrot and miniparrot to compile. It fails on linking because there is some weirdness with the interpreter config hash that I need to sort out
17:49 whiteknight I made a few other fixes this morning too
17:49 whiteknight once I get the config hash stuff sorted out, we should be able to build the parrot executable again
17:49 sorear whiteknight++ # awesome work
17:49 whiteknight sorear: thanks!
17:49 sorear whiteknight++ # distinguishing between public and public+private is something I
17:49 bluescreen did you see what I've done with pbc_*
17:49 sorear 've not thought about before
17:50 whiteknight eventually it's going to become stupid-easy to embed Parrot anywhere people want it to be
17:50 whiteknight bluescreen: no
17:50 bluescreen well took out the interp in the longopt calls
17:50 NotFound whiteknight: we talked about the linkable config problem several times, but no one developed a solution.
17:51 whiteknight Notfound: do you have any particular ideas? If not I'm going to just make a solution myself
17:51 whiteknight NotFound: I think I want to break up interpreter initialization internally so it doesn't read the search paths out of the config hash. Then I'm going to add a new function that loads the hash and possibly appends search paths from it
17:52 whiteknight So to the embedder it will be Parrot_api_make_interpreter(...); Parrot_api_set_config_hash(interp, hash)
17:52 NotFound whiteknight: i think that generating a C file with just the values absolutely required to install parrot and to load a pbc/whatever with the remaining, and maybe a way to override that location, will be good and simple.
17:52 NotFound s/install/start
17:53 whiteknight NotFound: yes, adding in hard-coded defaults will be nice. Those defaults can be overridden by adding in a config hash
17:53 whiteknight and any embedder can provide a custom config hash if desired
17:53 dip left #parrot
17:53 NotFound A minimal set of defaults, not all config values.
17:53 whiteknight right, only those that are needed
17:53 whiteknight I think only 3 values are required
17:54 whiteknight That's the best solution I've come up with so far, and I'll probably implement it later today if nobody starts screaming
17:54 NotFound Maybe four: library path, include path, binaries path and config file.
17:56 whiteknight ah right
17:57 ligne left #parrot
17:57 NotFound Binaries is useful for people that want to start without having that directory in the PATH
17:57 whiteknight for speed parrot.exe can hardcode the config hash like it has been doing, but other programs like parrot_config can just load it dynamically from file
17:59 whiteknight in fact, parrot_config can have a --dump-c-code option to create a C file for it if anybody cares
18:01 NotFound I'd like better to have a general purpose easy to parse output format.
18:01 NotFound Then anyone can write a tool that convert to any format wanted.
18:03 whiteknight parrot_config can have multiple output formats. --dump-xml, --dump-yaml, --dump-json, etc
18:03 whiteknight that program probably needs a refactor
18:03 bluescreen whiteknight: have you had any feeback from Shockwave from your blogging on the new embed api?
18:03 whiteknight bluescreen: no, unfortunately. I haven't talked to him in some time
18:04 NotFound Yeah, but that way we may have people asking for options for any format that go fashion.
18:06 allison joined #parrot
18:07 whiteknight NotFound: if we have a folder for "parrot_config/dumpers", anybody can put a file in there. We can load them up by name
18:07 cotto_work ~~
18:08 NotFound whiteknight: take it easy, let's start with something simple, we can complicate it later.
18:08 whiteknight that's very simple
18:08 NotFound Looks simple but I fear there are several hidden cans of worms.
18:09 chromatic joined #parrot
18:11 darbelo Start too simple, that way it'll be easy to complicate later :)
18:14 * NotFound thinks about adding a config key 'favourite_package_maintainer_xkcd_strip'
18:16 NotFound Last night I was ruminating about creating a ByteMmap PMC. What do you think?
18:17 whiteknight NotFound: +1
18:17 whiteknight something like that is going to be essential for JIT. We need to be able to mmap a chunk of memory as executable
18:17 whiteknight but being able to do mapped file access will be killer for parsing applications
18:18 NotFound Both from mapping files and for shared memory.
18:18 whiteknight yes, shared memory too
18:18 whiteknight your dbus idea from yesterday is still interesting me
18:18 NotFound Problem is that dbus at bare C level is not easy.
18:18 whiteknight no it is not
18:19 NotFound Maybe will be appropiate for a SoC.
18:20 whiteknight yes. I should start writing up summaries
18:21 NotFound On the positive side, there are wrappers for perl, python and others to borrow from.
18:25 whiteknight yes there are
18:34 rurban_ joined #parrot
18:36 dalek tracwiki: v21 | whiteknight++ | BigProjectIdeas
18:36 dalek tracwiki: +3 new ideas
18:36 dalek tracwiki: http://trac.parrot.org/parrot/wiki/BigP​rojectIdeas?version=21&amp;action=diff
18:37 Coke hey, reini.
18:38 rurban left #parrot
18:38 rurban_ is now known as rurban
18:39 Coke ,
18:39 Coke ww
18:40 dukeleto hola
18:41 brianwisti yo
18:42 dukeleto brianwisti: how goes it?
18:42 dukeleto brianwisti: have you seen https://github.com/creationix/nvm ?
18:42 dukeleto brianwisti: it is like rvm for node.js
18:43 dukeleto brianwisti: it is something to take a look to get ideas for parrot-handler
18:43 dukeleto brianwisti: it has a nice commandline interface
18:43 brianwisti dukeleto: Going well enough. I have not seen that, but I will take a look at it.
18:44 dukeleto brianwisti: what is the min version of perl needed by parrot-handler now?
18:45 brianwisti I'm using 5.10.1 at the moment.
18:45 brianwisti Took away a teeny tiny bit of 5.12 sugar to make it work.
18:47 dukeleto brianwisti: yeah, i see that. "make test" passes on my machine now, except for pod-coverage.t
18:47 dukeleto brianwisti: should pod-coverage.t go in xt/, perhaps ?
18:47 brianwisti And I haven't even looked at pod-coverage yet.
18:48 * Coke wonders if he should bother making parrot's build 5.13.x clean.
18:48 chromatic Is it not?
18:48 brianwisti dukeleto: I won't move it, but I will explicitly SKIP its tests for now.
18:49 brianwisti Well, I don't plan to move it. Who knows what whimsy will grab me in the future.
18:50 Coke chromatic: it is not.
18:50 Coke something qw() related.
18:51 whiteknight ah, I think qw() got deprecated
18:51 whiteknight (Don't ask how I know that)
18:51 atrodo why is qw() deprecated?
18:51 chromatic Oh, that.
18:51 sorear qw() isn't
18:51 Coke 'twas a specific use of qw in a loop where it expects a list.
18:51 chromatic You need parentheses around "for qw( ... )"
18:51 chromatic it should be "for (qw( ... ))"
18:51 sorear there is a parser bug which caused for qw(..) {} to be accepted
18:51 dalek tracwiki: v22 | whiteknight++ | BigProjectIdeas
18:51 dalek tracwiki: +memcached interface
18:51 whiteknight qw() in list something-or-other is deprecated
18:51 dalek tracwiki: http://trac.parrot.org/parrot/wiki/BigP​rojectIdeas?version=22&amp;action=diff
18:52 sorear the argument to for is always supposed to be in parens
18:52 lidden left #parrot
18:53 whiteknight we need a basic text-templating engine for parrot
18:54 whiteknight actually, if we had a parser system that could easily pull interesting tokens from a stream of mostly-uninteresting text, that would be a great base
18:54 chromatic Coke, that's an easy change to make and worthwhile.  It won't hurt anything.
18:56 tadzik hello parrots
18:56 * moritz flaps
19:00 dukeleto tadzik: hola
19:04 Coke chromatic: hurm. I think someone may have already fixed it.
19:15 darbelo left #parrot
19:21 dukeleto parrot.org is down but OSUOSL is working on it
19:22 dukeleto http://vmkit.llvm.org/ <-- The VMKit project is an implementation of a JVM and CLI virtual machine (.Net is an implementation of the CLI). It translates Java bytecode and MSIL in the LLVM IR and uses the LLVM framework for optimizations and compilation.
19:22 sorear ... I was just about to ask
19:22 dukeleto that could be a nice way of seeing what is in store for Parrot on LLVM
19:22 mikehh left #parrot
19:22 mikehh_ joined #parrot
19:23 dukeleto I just learned that NekoVM has JIT: https://github.com/vava/neko_llvm_jit
19:23 whiteknight shit. We're running behind
19:23 atrodo that's for sure
19:23 Coke parrot: behind the curve since 2001?
19:24 Coke chromatic: yah. I just did the build with 5.13.6, no errors. someone fixed it. whee!
19:24 dukeleto http://llvm.org/releases/2​.8/docs/ReleaseNotes.html <-- This page lists Open Source projects that are using LLVM
19:32 whiteknight last comparison I saw, clang was getting killed by GCC in terms of generated code performance
19:32 whiteknight I know they have a lot of maturation to go still, and have been focusing on becoming feature-complete for C++
19:34 dukeleto parrot.org is back
19:34 dukeleto whiteknight: where are these comparisons you speak of?
19:36 whiteknight http://www.phoronix.com/scan.php?page=artic​le&amp;item=llvm_gcc_dragonegg28&amp;num=1
19:37 whiteknight was on slashdot this week.
19:41 dalek dalek-poller: ad9fd17 | sorear++ | common.pm:
19:41 dalek dalek-poller: Make timeouts overridable per plugin
19:41 dalek dalek-poller: review: https://github.com/sorear/dalek-poller/comm​it/ad9fd17a98bdae23536c5f3b04634495a7b55708
19:41 dalek dalek-poller: 450c516 | sorear++ | modules/local/tpfwikilog.pm:
19:41 dalek dalek-poller: Change tpfwikilog to perl6 / #perl6 and use new API
19:41 dalek dalek-poller: review: https://github.com/sorear/dalek-poller/comm​it/450c516a18f8061c812f49ca75bda6c1bf5b9e0c
19:43 whiteknight TT #443 looks like a fertile supplier of GCI tasks
19:48 sorear dukeleto: what exactly is a context threaded runcore?
19:49 dukeleto sorear: not exactly sure. Where are you reading this?
19:50 sorear BigProjectIdeas
19:51 dukeleto sorear: i really have no clue, i didn't write it.
19:51 chromatic http://ctho.ath.cx/toread/inte​rpreters/context_threading.pdf
19:52 chromatic The idea is to improve the correlation between program control flow and hardware branch prediction.
19:54 dukeleto I think we are going to run into the wallish fact that almost nobody uses the C bindings to LLVM, and they probably have sharp edges. How do we propose to deal with that for Lorito?
19:55 plobsing joined #parrot
19:57 cotto_work dukeleto: if Lorito is simple enough (and that's the intent), we could have an alternate interp implemented in C++ that uses the llvm bindings.
19:59 dukeleto cotto_work: yeah, but who wants to use C++? Not me.
19:59 chromatic C++ for LLVM bindings won't be too bad.
20:00 cotto_work dukeleto, I don't think there'll be that much code.
20:02 chromatic A couple of thousand lines of straightforward OO C++ to a well-defined API.
20:03 sorear chromatic: (finishes paper) neat.
20:03 plobsing ~~
20:03 cotto_work afk; meeting
20:03 mikehh_ left #parrot
20:05 plobsing aloha: msg Coke I asked because I am doing stuff that touches hll_map code and I remember partcl being particularly dependant on that (and wanted to test against it). If it is dead anyways, I won't bother.
20:05 aloha plobsing: OK. I'll deliver the message.
20:06 dukeleto plobsing: what HLL map stuff are you touching?
20:06 dukeleto plobsing: you may want to look at Cardinal, i think it does some HLL map stuff
20:06 dukeleto plobsing: and I barely touch upon some HLL interop stuff in PL/Parrot
20:06 plobsing dukeleto: I'm eliminating the need for saving ParrotInterp as the first PMC constant of every packfile
20:07 plobsing (it does some crufty automagic stuff)
20:07 plobsing it only exists at the intersection of HLL mapping and PBC
20:07 plobsing but I will try with cardinal
20:11 plobsing aloha: msg whiteknight the PackFile PMCs are a lie at the moment. What needs to happen eventually is for Parrot to start using PMCs internally for packfiles. The current ones aren't designed for that and will be a PITA. Until that time, I advise you use (Un)?ManagedStruct PMCs for providing opaque references to embedders.
20:11 aloha plobsing: OK. I'll deliver the message.
20:11 whiteknight plobsing: ah, okay.
20:11 whiteknight disappointing, but understandable.
20:12 whiteknight how much effort is it going to take to make them less lie-full?
20:12 janus left #parrot
20:12 Tene plobsing: what do you want to know about hll mapping?
20:12 janus joined #parrot
20:12 plobsing I want to know if I've broken it in a branch I have yet to make public
20:12 Tene plobsing: what have you changed?
20:13 Tene Are you just concerned about hll mapping working at all, or are you concerned about specific behvior?
20:13 plobsing specific behaviour
20:13 plobsing I am not breaking the world
20:13 Tene What behaviour are you changing or concerned with?
20:14 plobsing The HLL hash in the compiling interpreter is no longer restored in PBC read. This shouldn't break anything because you still need the library which provided the mapped types (which also most likely mapped the types) loaded.
20:16 Tene Yeah, that sounds mostly sane to me.  At least no more broken, at least.
20:17 Tene I remember issues with types being broken with different module load orders, or something.
20:17 Tene This shouldn't break anything additional, though, at least.  Yeah, Cardinal uses some hll_map.
20:18 whiteknight is anybody still working on Cardinal?
20:18 plobsing Tene: are you *freezing* dynpmcs into PBC? that symptom could result
20:18 Tene plobsing: I don't recall.
20:19 plobsing it's analogous to the dynop load order issue, but was expected to not be an issue for another little while
20:19 whiteknight surprise!
20:19 Tene whiteknight: treed is the most-recent person to actively work on it.  He was pretty enthusiastic, but ran into limitations with Parrot's object model and couldn't get support or responses from Parrot folks about it, so he gave up in frustration trying to work around it.
20:19 Tene iirc.
20:20 whiteknight Tene: yeah, that's what I remember too. It's a shame. He was a good person to have around
20:20 Tene He also has less time available these days, but I understand the frustration was the biggest part.
20:21 whiteknight Do you think there is anything we could do right now to try and attract him back?
20:21 Tene whiteknight: I expect he'd be interested in returning if his concerns with the object model were addressed.  I don't recall what his concerns were.
20:22 whiteknight did he open tickets?
20:22 Tene I don't recall.  I think he might have.
20:22 Tene The biggest was inability to subclass Class, iirc.
20:24 cotto_work back
20:24 plobsing how soon on the agenda is our object-model refactor? jnthn will most likely need it for 6model as well.
20:26 cotto_work plobsing: it'll happen pretty soon after we settle on a design for Lorito.  It's necessary before we can implement PMCs there.
20:26 plobsing depending on lorito means it's never going to happen. how long has Lorito been coming RSN?
20:26 cotto_work plobsing: do you think the current PackFile PMCs are beyond repair or just that they need a lot of it.
20:27 plobsing cotto_work: I think they've been designed exclusively with one user in mind and won't be easy to work with from the other side.
20:27 plobsing I think the design has to go from the inside out
20:28 plobsing we may need two sets to facilitate operations
20:28 cotto_work wrt Lorito, I know.  I expect to make significant concrete progress in early December.
20:28 chromatic I'm planning to work on an implementation of the metamodel in December.
20:28 atrodo and I plan to do some lorito coding in December
20:28 whiteknight chromatic++ # I'm looking forward to that
20:28 * tadzik raises hand
20:28 * whiteknight calls on tadzik
20:29 cotto_work (the metamodel doesn't depend on Lorito; it just needs to happen shortly thereafter)
20:29 plobsing chromatic++ cotto++ # we need some big names to put their foot down and JFDI
20:29 * cotto_work goes to hunt pizza
20:29 tadzik I'd like to help with Lorito, if I'd be able to
20:29 whiteknight tadzik: you certainly are able
20:30 whiteknight chromatic: when can we merge gc_ms2_faster_list? It passes all my tests
20:30 plobsing whiteknight: wasn't that already merged?
20:30 tadzik it was
20:30 tadzik (it is)
20:31 whiteknight oh, it was? I don't think I saw anything about it
20:31 chromatic bacek merged it last night.
20:32 tadzik yeah, I also happen to be the one experiencing a slowdown rather than a speedup
20:32 whiteknight oh, looking at the network graphic, there's a second branch called gc_ms2_faster_list that has not been merged
20:33 whiteknight hence my confusion
20:33 chromatic origin/origin/gc_ms2_faster_list?
20:33 cotto_work tadzik: deal.
20:33 tadzik \o.
20:33 dukeleto i think two version of that branch got pushed, or something
20:33 dukeleto do a diff between them to see if there are content differences
20:34 Coke plobsing: partcl is /stable/, not dead.
20:34 tadzik cotto_work: great
20:34 dukeleto chromatic: is the a spec of the proposed metamodel for Lorito? Did I miss a memo?
20:34 Coke so if you break .hll_map, I will be very annoyed.
20:34 chromatic It's a port of Jonathan's work.
20:34 whiteknight chromatic: yeah, that's the one
20:34 plobsing Coke: it doesn't work with latest parrot, it's no use to me dead or alive
20:34 dukeleto Coke: in biology, those are the same thing ;)
20:35 chromatic whiteknight, you can delete that branch.  I pushed the wrong way, then cherrypicked my commits to the right branch.
20:35 whiteknight gotcha
20:35 plobsing both have already been deleted
20:35 Coke plobsing: Thought I was clear: 'partcl' should always work with the latest parrot. if it doesn't, parrot broke something.
20:35 plobsing Coke: just tried to run tests. all fail.
20:35 dukeleto chromatic: ah, i see. I have been reading his code, so that will come in handy. Which language are you planning on implementing the initial lorito metamodel?
20:35 Coke plobsing: then somebody @#&$ broke it again.
20:35 chromatic Probably C and dynpmcs.
20:36 Coke color me un-bleeping-surprised.
20:36 plobsing it complains that increment() isn't implemented on String
20:36 dukeleto Coke: having a continuous integration server that tests HLLs on each parrot commit would fix these kinds of problems. We could easily say "commit X broke version Y of Partcl"
20:37 dukeleto Coke: it is something I will have to glue together soon, because I don't like seeing Partcl not working on Parrot master
20:37 Coke dukeleto: yes, well, not holding my bleeping breath.
20:38 Coke as this has been happening since 2001.
20:38 dukeleto Coke: I realize that. I will have to do it or no one else will.
20:38 dukeleto Coke: That doesn't make it right, sane, or sustainable.
20:38 Tene We've been talking about that idea for as long as I've been aware of Parrot.
20:38 dukeleto Tene: and why so much hot air and so little action?
20:38 Tene I've never seen anybody express intention to work on it, much less do something towards it.
20:39 Coke mikehh++ was the closest thing we had to that, and he was doing it manually.
20:40 dukeleto Well, we have the GCC Compile farm now, and we aren't doing anything with it yet.
20:41 plobsing urg. cardinal is also epic fail against HEAD
20:41 Tene Not surprised.
20:42 PerlJam so ... which languages *work* against HEAD?  :)
20:42 atrodo Rakudo ;)
20:42 tadzik Lua
20:42 plobsing Winxed
20:42 dukeleto plobsing: you should be testing against 2.9.0, not HEAD
20:42 tadzik EOL, I
20:42 tadzik Oh, and LOLCODE
20:42 Tene I don't remember if lolcode uses hll mapping.
20:42 dukeleto we just merged a bunch of branches and had deprecations, most people have not caught up.
20:42 plobsing dukeleto: testing against 2.9.0 does me no good when I'm testing to see if *my* changes broke anything
20:43 dukeleto plobsing: yeah, i guess you are right.
20:43 plobsing I've fixed some things in cardinal, but theres some garbage burried deep under PGE
20:43 Tene cardinal never managed to move to nqp-rx
20:44 Tene afk lunch
20:44 dukeleto Parrot moves faster than most HLL can handle. That is a fundamental problem which I don't know how to solve. Only HLL's with more devs than Parrot, or those which the main author is a Parrot dev, can keep up with Parrot development.
20:44 dukeleto That is what I see, and that is not good.
20:45 PerlJam that is severely not good.
20:45 chromatic That's two things.
20:45 chromatic 1) Parrot changes quickly to meet the needs of Rakudo
20:45 chromatic 2) HLL's can't or don't use the stable API Parrot provides, as far as it provides one
20:46 whiteknight I think #2 is the killer
20:46 PerlJam heh, I was just thinking that
20:46 whiteknight our API changes are already painfully slow
20:46 whiteknight what we don't really have is a defined extending API (for dynpmcs especially)
20:46 chromatic Right.
20:46 chromatic Or well-defined semantics for PMC operations.
20:46 PerlJam so ... why don't HLLs use the parrot API?
20:47 whiteknight double-right
20:47 whiteknight conclusion: dynpmcs are evil. PROBLEM SOLVED
20:47 PerlJam (I'm sure it's a multitude of answers, but making the API "more useful" to HLL authors seems like a good thing)
20:47 chromatic That requires changing the API.
20:47 PerlJam indeed.
20:47 chromatic out from under HLL authors
20:49 Coke chromatic: my last breakage in partcl was because there WAS no api, and I used an internal function because that's what we had.
20:49 Coke (also perljam)
20:49 whiteknight Coke: in those cases you could request an API and we could create it for you
20:49 Coke PerlJam: also, "WHAT API".
20:50 Coke whiteknight: I've been with parrot long enough to know that's not going to happen.
20:51 whiteknight Coke: historically, maybe. That's the way things work now
20:51 PerlJam Coke: progress is made by the unreasonable man.
20:51 Coke see, for example, the ticket I opened that you own about having a way to see if a file was exectuable. (I think. it was something needed for tcl's [file])
20:51 whiteknight Coke: I just took that ticket, and I took several in one batch.
20:51 Coke whiteknight: It's quite possible you're too late. I'm certainly not going to go out of my way to generate a list of things I need.
20:51 whiteknight that's different from asking for things as the need arises
20:52 Coke whiteknight: I'm not saying it's your fault. Just look when the ticket was opened.
20:52 PerlJam Hmm.
20:52 whiteknight Coke: that's true. I can't do anything about problems that occured before my time. What I can do is work to fix things going forward
20:53 Coke And you are the ... third or fourth person who has said they would work with the HLL folks. I wish you luck, I really do.
20:53 Coke (hell, I was probably one of them!)
20:53 PerlJam Part of the problem might be from conflicting "needs" from multiple HLLs.  Synthesizing the big picture is hard when you can only get glimpses of it through various colored lenses.
20:53 Coke in the meantime, my task list generation for partcl-nqp will have to wait until I resurrect partcl again. hopefully I can get to it this weekend.
20:53 whiteknight Coke: either your view of parrot is irrepairably damaged (in which case it doesn't matter what I say or do for you) or you're willing to give us a second chance.
20:54 PerlJam whiteknight: s/second/Nth/
20:54 whiteknight right, however many
20:54 whiteknight either we can make things right from this point forward, or we can't
20:54 Coke I wouldn't say irrepairably. Certain it ain't good.
20:54 Coke *ly
20:55 Coke Ask me again after I've dealt with git and the breakages reported by plobsing.
20:57 Tene Cardinal doesn't use any dynpmcs or dynops.
20:57 Tene Cardinal is just plain PCT and PIR.
20:57 plobsing but is borked anyways
20:57 Tene Yes.
20:57 Tene I don't recall why.
20:58 whiteknight Tene/plobsing: can you guys find out why it's broken? I would love to see it fixed ASAP
20:58 plobsing stdhandle() on interp is gone. thats one failure. logical_not is no longer a vtable, that's another easy one. the next one is deep in PGE
20:58 Tene whiteknight: Maybe tonight.
20:59 whiteknight Tene++ I would really appreciate it
20:59 tadzik hmm. Is it possible currently to write an e.g. Perl 6 module and use it from Lua?
20:59 Tene I was planning to migrate Cardinal to nqp-rx around the time I dropped out of active parrot development.
20:59 plobsing I've already fixed the first two. how should I contribute that?
20:59 Tene tadzik: It was possible, twice, but other people kept breaking it.
20:59 PerlJam tadzik: it /was/ possible.
20:59 Coke aloha, msg dukeleto having the HLLs included in parrot's continuous build process would go a LONG way to avoiding my HLL fatigue.
20:59 aloha Coke: OK. I'll deliver the message.
20:59 Tene Because of no HLL test infrastructure.
21:00 tadzik ouch. How can that be fixed?
21:00 Tene tadzik: After the third time someone broke it and I felt like nobody cared, I gave up working on it and stopped working on Parrot.  I have no idea what it's like today.
21:00 chromatic http://axisofeval.blogspot.com/2​010/09/fast-dynamic-casting.html
21:01 Coke Tene: I FEEL YOUR PAIN
21:03 Coke whiteknight: #1633 is not easy, or it'd be done.
21:03 bluescreen left #parrot
21:03 Coke Too much old stuff still uses CodeString, unfortunately, and the old stuff isn't actively worked on.
21:05 whiteknight Coke: my analysis was quick. Do we have a list of places where it is used?
21:06 Coke nope. haven't touched it in months.
21:06 Coke PGE was the killer, IIRC.
21:06 Coke (it was the toolset that predated PCT)
21:08 whiteknight Blah. PGE is the source of too many problems.
21:08 tadzik Isn't it deprecated or something?
21:09 Coke no.
21:09 whiteknight it isn't in DEPRECATED.pod
21:09 whiteknight maybe we should consider adding it
21:09 tadzik hmm, I thought I recall it being successed by PGE or something... or was that in Rakudo?
21:10 plobsing ask pmichaud first
21:10 dngor left #parrot
21:10 Tene PGE's successor is nqp-rx
21:10 Coke yes, there's a new in-parrot stack that supersedes it.
21:10 whiteknight PGE is superceeded by NQP-RX, if I remember correctly
21:10 whiteknight I remember correctly
21:11 tadzik s/by PGE/by nqp-rx/ I meant
21:11 Coke If PGE is removed, I suspect you'll have to severely cull the list of implemented languages.
21:12 Coke I'm not saying that's a showstopper. It'd kill partcl-old, e.g.
21:12 tadzik well, most of them don't work anyway, do they?
21:13 Coke ARGH.
21:13 Coke yes. because parrot keeps changing.
21:14 Coke so, ripping out another big piece will have pros and cons that have be weighed.
21:14 whiteknight we're clearly not maintaining PGE, and languages that are relying on it are falling behind at an ever-increasing rate
21:14 tadzik well, that certainly makes fixing the old languages more difficult
21:15 whiteknight I'm not necessarily advocating it's removal, but it does seem to be more hindrance than help
21:16 cotto_work Does anyone know it well enough to maintain it?
21:16 plobsing doesn't lua depend on PGE? it works.
21:16 cotto_work lua does
21:16 whiteknight I suspect pmichaud would be considered a maintainer of PGE
21:17 dukeleto whiteknight: glad to see your email about deprecations in 2.11. Thanks for taking the lead on that stuff.
21:17 PerlJam sounds like a good hackathon kind of thing.  Remove PGE and then have a concerted effort to help the languages that use it migrate to nqp
21:19 Coke PerlJam: like partcl? that didn't go so well.
21:19 whiteknight first step in the release_manager_guide.pod is to lay out a list of tasks for the coming release
21:20 Coke it's not a migration so much as a wholesale rewrite.
21:20 whiteknight Coke: what stage is the rewrite at? If we had half a dozen developers hackathoning on it, could we knock it out?
21:20 whiteknight I though it was at least partially working
21:21 Coke it's a small shadow of its original self, and shares virtually none of the code.
21:22 whiteknight can you estimate a percentage of functionality?
21:22 Coke so yeah, it passes a bunch of the partcl-only tests, but can't run enough tcl to get near running tcl's test suite. It's theoretically more extensible, but practically, it's even more of a toy than before.
21:22 cotto_work PerlJam: you underestimate the impact of moving away from pge.
21:22 Coke whiteknight: if you go by official tcl test suite, 0, compared to "something".
21:22 whiteknight okay
21:23 cotto_work It and nqp-rx are completely different beasts.
21:23 whiteknight right
21:23 atrodo How far have talks about a HLL CI gone?  Anything more than hand-waving?
21:23 whiteknight I'm trying to gauge required effort. If it's something that would see an immediate boost if we set up a hackathon, I would do everything I could to encourage that
21:24 whiteknight CI?
21:24 Coke atrodo: CI ?
21:24 cotto_work continuous integration
21:24 cotto_work aloha: ci?
21:24 Coke just hand waving. dukeleto brought it up a few hours ago.
21:24 chromatic At some point, keeping near-abandoned languages on life support isn't worth the effort.
21:24 atrodo Thanks cotto_work, my spelling didn't make it
21:24 whiteknight we have a smolder server, and any project that wants to be added can be
21:24 whiteknight at that point, it's a matter of setting up an automated or semi-automated tool to submit reports
21:24 Coke chromatic: at some point, avoiding letting languages end up on life support might be a good idea.
21:25 atrodo My understanding was that smolder isn't automatic, or am I wrong about that?
21:25 chromatic Without a time machine, that's not going to happen.
21:25 cotto_work atrodo: smolder reports can be submitted autoamtically or manually
21:25 whiteknight smolder is not automatic, but smolder clients can be
21:25 Coke chromatic: I'm willing to settle for just in the future.
21:25 chromatic Then we should discuss the best use of our limited resources.
21:26 chromatic I'm not convinced (but I'm willing to be convinced) that dragging PGE along is a useful use of limited resources.
21:26 Coke I envy all the non-early adopters. ;)
21:26 atrodo Is it feasible/reasonable to use the smolder server for HLLs as well?  Or is there possible something better for HLLs?
21:26 whiteknight atrodo: yes. Rakudo uses it
21:26 Coke atrodo: it already IS enabled.
21:26 plobsing maybe I'm missing somethign fundamental. why is PGE a problem? how much maintenance does it require?
21:27 cotto_work How much maintenance has pge needed and how much pain has it caused us in the past?
21:27 whiteknight I don't think anybody really knows what PGE needs, but languages that rely on it are dieing at an accelerating rate
21:27 cotto_work If it's dragging us down then we should reconsider it, but apparently lua continues to work and I can't remember any substantive commits to pge in recent history.
21:28 cotto_work i.e. low maintenance burden
21:28 chromatic We can't remove CodeString without modifying PGE, as I understand it.
21:28 whiteknight It's not so much that PGE is the huge problem, but when problems pop up there aren't a lot of people around able to fix them quickly
21:28 whiteknight anyway, I have to sign off now. I'll be back later tonight.
21:29 whiteknight left #parrot
21:29 Coke Codestring is in PGE, TGE, data_json.
21:30 Coke (and a gc test?)
21:30 atrodo So, the thought is, that for a HLL CI, smolder would have to be configured to know about it, and an automatic build farm created?
21:30 atrodo *know about a HLL
21:32 Coke the main problem as I see it with an HLL build farm is dealing with the interplay between parrot version & hll version.
21:33 Coke (just to prevent useless false positives. but I'll take false positives at this point over nil)
21:48 brianwisti left #parrot
22:14 dngor joined #parrot
22:20 hercynium left #parrot
22:23 Drossel joined #parrot
22:23 Kulag left #parrot
22:29 fperrad left #parrot
22:29 nopaste "plobsing" at 192.168.1.3 pasted "GC bug - library props destroyed" (18 lines) at http://nopaste.snit.ch/25934
22:30 plobsing yay, testing my changes with lua found a gc bug!
22:33 Drossel left #parrot
22:34 Kulag joined #parrot
22:35 dukeleto atrodo: CI has nothing to do with smolder, other than the CI server being able to run "make smoke"
23:08 Kulag left #parrot
23:08 Kulag joined #parrot
23:12 mikehh joined #parrot
23:12 Andy left #parrot
23:14 mikehh Hey youse guys, I juct checked VERSION in master - IT IS STILL SHOWING 2.10.0
23:14 Kulag left #parrot
23:15 mikehh If I try to use this to build rakudo it will not co-operate
23:15 Kulag joined #parrot
23:16 preflex left #parrot
23:19 plobsing mikehh: just comment out lines 66-77 in rakudo's Configure.pl. I have a patch I apply every time I update rakudo to make it STFU about such things.
23:19 theory left #parrot
23:20 dukeleto I don't understand: Why hasn't someone hand-edited VERSION ? IT IS A MANUALLY EDITED FILE
23:20 mikehh plobsing: thanks - will try that - but we don't have a Tag for 2.10.1 etc
23:20 dalek parrot: c54ff1f | dukeleto++ | VERSION:
23:20 dalek parrot: Bump VERSION
23:20 dalek parrot: review: https://github.com/parrot/parrot/commit/​c54ff1f0f220f36ea96fec2d4e558b263735314b
23:20 preflex joined #parrot
23:20 dukeleto mikehh: there ya go. No more complaining
23:21 dukeleto there are probably other things that were not bumped properly because VERSION wasn't bumped
23:21 mikehh dukeleto: as I just mentioned 2.10.1 has not been pushed to master - no Tag etc
23:21 dukeleto mikehh: yes, there is a RELEASE_2_10_1 tag
23:21 Kulag left #parrot
23:21 dukeleto $ git rev-parse RELEASE_2_10_1
23:21 dukeleto 7240365cbf1ac9709f17f72b949d09b83b468027
23:22 Kulag joined #parrot
23:25 seanstickle joined #parrot
23:26 mikehh I just did a git pull -rebase --verbose and it told me -  * [new tag]         RELEASE_2_10_0 -> RELEASE_2_10_0 - Nothing about 2.10.1 (this is on Kubuntu 10.10 amd64, which I have not used for a while
23:29 cotto_work dukeleto: you should run make bootstrap-ops
23:29 dukeleto cotto_work: maybe you should :)
23:29 cotto_work maybe I should
23:30 dukeleto mikehh: git fetch --tags
23:30 * dukeleto does it, just to beat cotto to i
23:30 dukeleto to it, even
23:33 kid51 joined #parrot
23:41 seanstickle left #parrot
23:47 mikehh left #parrot
23:51 bluescreen joined #parrot
23:56 dalek parrot: 2b2bc27 | plobsing++ | t/dynpmc/foo.t:
23:56 dalek parrot: add test for ParrotLibrary prop survival
23:56 dalek parrot:
23:56 dalek parrot: This is currently broken.
23:56 dalek parrot: review: https://github.com/parrot/parrot/commit/​2b2bc276b17886252e5a843ce11407fcc0829c49
23:56 dalek parrot: a653be4 | plobsing++ | src/gc/gc_ms2.c:
23:56 dalek parrot: mark constant PMCs as alive
23:56 dalek parrot:
23:56 dalek parrot: this fixes ParrotLibrary prop failure
23:56 dalek parrot: review: https://github.com/parrot/parrot/commit/​a653be4a1267430384ec1a905e3715ccb77426c6
23:56 dalek parrot: c149b18 | plobsing++ | VERSION:
23:56 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
23:56 dalek parrot: review: https://github.com/parrot/parrot/commit/​c149b18fa4914d34a7a1a7372de2e563b41e5d17
23:56 dalek parrot: 768dee8 | plobsing++ | / (2 files):
23:56 dalek parrot: hand edit files to remove remaining references to 2_10_0 oplib
23:56 dalek parrot: review: https://github.com/parrot/parrot/commit/​768dee80d7a841e1b6a706ded13ef9d8d69e8a76
23:56 cotto_work plobsing: does that need to be added to the root set?
23:56 plobsing it is in the root set
23:57 plobsing it wasn't being marked anyways
23:57 plobsing something to do with constant PMCs
23:57 plobsing which seem to be the source of a lot of GC bugs
23:57 plobsing because there's probably 3 or 4 different semantics that are implied in different people's heads
23:58 chromatic There are well defined semantics here.
23:59 chromatic The problem is they're not well understood.
23:59 plobsing agreed. which makes them a pain

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

Parrot | source cross referenced