|
Parrot 1.0 Released | parrot.org | Thanks to everyone who helped get 1.0 out the door! Set by moderator on 18 March 2009. |
|||
|
00:04
TiMBuS joined
00:09
AndyA joined
00:34
tetragon joined
|
|||
| Coke | do we still expect to be able to generate PASM from PIR? | 00:35 | |
|
00:43
eternaleye joined
|
|||
| dalek | rrot: r37603 | coke++ | trunk (2 files): Test /all/ POD files when trying to compile PIR. |
01:12 | |
| Coke | Whiteknight: ping | 01:16 | |
| Whiteknight | Coke: pong | ||
| Coke | Whiteknight: run t/examples/pod.t | 01:17 | |
| one of the book samples fails. | |||
| blame says you added it. =-) | |||
| Whiteknight | okay, let me take a lookie | 01:18 | |
|
01:20
neuralis left
|
|||
| Whiteknight | all tests pass for me | 01:20 | |
| Coke | did you up? | 01:21 | |
| need r37603 | |||
| dalek | rrot: r37604 | coke++ | trunk/docs/intro.pod: [docs/t] add more PIR targets so this code is eventually validated. |
01:24 | |
| Whiteknight | ah, I was 1 commit behind | 01:26 | |
| Coke | yah, before that, book wasn't checked for samples. | ||
| Whiteknight | so it's not my fault, it's your fault for adding it to the test? | 01:27 | |
| :) | |||
| Coke | it's particle's fault. | 01:29 | |
| Whiteknight | fix coming through now | 01:30 | |
| Coke | whee. I just added more of those blocks to ch04 which highlight more issues. | 01:31 | |
| Whiteknight | STOP HIGHLIGHTING MORE ERRORS! | ||
| Coke | As soon as you give us a new GC! | ||
| Whiteknight | I'm not fixing anymore tonight, I'm heading to bed | ||
| Coke | =-) | ||
| I'll give you a cookie. | |||
| (I have a box of GS cookies here somewhere.) | 01:32 | ||
| Whiteknight | I'll take th cookie with me to bed | ||
| dalek | rrot: r37605 | coke++ | trunk/docs/book/ch04_pir_subroutines.pod: [docs/t] add more PIR targets so this code is eventually validated. |
||
| purl | i already had it that way, dalek. | ||
| jonathan | Whiteknight: OH HAI | 01:34 | |
| Whiteknight | hey jonathan! | ||
| purl | jonathan is mailto:jnthn@jnthn.net or trying to put together a grant application. or however seeing weird issues. | ||
| jonathan | Whiteknight: I seem to remember a while back you maybe stated an interest in getting Parrot's socket I/O working again? | ||
| If I remember wrong just ignore me. :-) | |||
| Whiteknight | jonathan: I express lots of interests, that was definitely one of them | ||
| part of a larger interest in getting the async IO system working eventually | 01:35 | ||
| jonathan | Whiteknight: Some Rakudo users really want socket IO. | ||
| Whiteknight | right after I fix the GC and cure cancer | ||
| :) | |||
| jonathan | Whiteknight: I don't know what your priorities are, but if you're looking to do something that is wanted, that would certainly be high on my want list. | ||
| (Because once Parrot does it, Rakudo can easily use it.) | 01:36 | ||
| Whiteknight | Okay, I'll bump that up the list and take a look into it | ||
| dalek | tracwiki: v59 | coke++ | WikiStart | ||
| tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff | |||
| shorten | dalek's url is at xrl.us/bekxfz | ||
| dalek | rrot: r37606 | whiteknight++ | trunk/docs/book/ch03_pir_basics.pod: Fix a PIR error in one of the samples from the book that I added |
||
| jonathan | Awesome, thanks! :-) | ||
| Whiteknight++ | |||
| Whiteknight | okay, I REALLY need to go to bed no | ||
| I'll talk to you guys later | |||
| jonathan | Night | 01:37 | |
| Coke | night! | ||
| jonathan epicly does NOT want to do the socket IO support himself... | |||
| At least partly because I know bugger all about socket I/O. | 01:38 | ||
| Coke | would you like to make a parrot 1.0 release for macports? =-) | 01:39 | |
| dalek | tracwiki: v60 | coke++ | WikiStart | 01:40 | |
| tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff | |||
| shorten | dalek's url is at xrl.us/bekxgb | ||
| dalek | tracwiki: v1 | coke++ | DocsTasklist | ||
| tracwiki: add a cage docs task. | |||
| tracwiki: trac.parrot.org/parrot/wiki/DocsTa...ction=diff | |||
| shorten | dalek's url is at xrl.us/bekxgd | ||
| jonathan | Coke: Actually compared to that I'd rather do socket I/O. | ||
| Because I know even _less_ about macports. | |||
| Coke | just making 'make install' work on os x for 1.0.0 would suffice. =-) | ||
| jonathan | Does that not have making time travel work as a pre-requisite? | 01:42 | |
| Coke | having a patched version work counts. | ||
| jonathan | :-) | ||
| If I had any Mac hardware at all lying around that'd be easier. | |||
| Actually, I lie. I have an iPod. | 01:43 | ||
| Coke | I can make you a login on this box. | ||
| though I wish allison would swing us some nice os x server donated somewhere. =-) | |||
| jonathan | You could make me a login, but tbh I'd probably block on knowledge of OS X shortly afterwards. | 01:44 | |
| And which point there's Google, which I'm quite sure you're equally capable of using. :-| | |||
| So I fear I'd not be a great deal of use. | 01:45 | ||
| Coke | but I'm lazy! | 01:46 | |
| (I really don't want to work on it, because it's going to make rip out huge portions of Configure) | 01:47 | ||
|
01:49
Andy joined
|
|||
| jonathan | I've barely looked at Configure for ages. | 01:51 | |
| I remember doing a lot of Win32 support tweaks in it years back, but that was before kid51 did a bunch of work on it. | 01:52 | ||
| Coke | As I vaguely understand it, my problem is configure.pl ignores things I specify on the command line if the hints file disagrees with me. | 01:53 | |
| my secondary problem is that I can't fix the hints file to DTRT for shared libs so i can avoid having to specify my non-shared options on the command line. | 01:54 | ||
| kid51 | jonathan: Since I haven't worked on Win32 since before I joined the project, the Win32 parts should be exactly as you left it, for better or worse. | ||
| Coke | (my tertiary problem is that I have little incentive to change how configure.pl works if we're going to be ditching it for something not written in perl) | 01:56 | |
| dalek | rrot: r37607 | coke++ | trunk/t/pmc (2 files): UnSKIP a passing test, convert another to a TODO. |
||
| kid51 | Coke: And who is the magic person who is going to come along and rewrite all our configuration in non-Perl? | 01:57 | |
| Coke | kid51: I was hoping for someone who wasn't me. | ||
| kid51 | I'd like to meet that person. Maybe I could learn the general theory of configuration! | ||
| Coke | we had that person, but enough people managed to piss him off that he's not touching config in any substantive way. | 01:58 | |
| (and no, I don't mean me.) | |||
| jonathan | kid51: I wasn't suggesting you did anything wrong - just that I've not had need to look at the Configure codebase for a while because it's worked fine for me. :-) | 01:59 | |
| Coke | msg rurban is RT #42411 closable? | ||
| purl | Message for rurban stored. | ||
| kid51 | jonathan: I didn't take that implication. Yes, I view what I have done with Configure.pl as making it better Perl 5 and therefore more stable and surprise-free. | 02:01 | |
| jonathan | To be honest, I think porting Configure away from Perl 5 is a while off. | 02:03 | |
| It's a worthy goal, sure, but being realistic it's a while off. | 02:04 | ||
| kid51 | If we found some brilliant college student, it would be a great GSOC project. | 02:05 | |
| Even a portion of that, such as eliminating our dependence on Perl 5 %Config, would be a good GSOC project. | 02:07 | ||
| jonathan | Aye, that's a good point. | ||
| rg | i'm thinking we might want to have a hll in core parrot (maybe an extended version of nqp) that can be used to replace things we're currently using perl for. | 02:09 | |
| kid51 | But how could we use that HLL to probe for things in the absence of a Parrot executable? | 02:11 | |
| rg | we'd depend on an older pbc_to_exe version of that hll | 02:13 | |
| it gives you a lot of bootstrapping problems, though, that's true. | |||
| Coke | (while off) 3.0 | ||
| rg | the only other choice i can see it to actually use sh like autoconf or perl configure | 02:14 | |
| Coke | rg: only need to extend nqp if it's not good enough. =-) | 02:15 | |
| we'd still need to get enough of parrot to run even a precompiled PBC. | |||
| kid51 | The Perl Configure rests on metaconfig (?) which was written by Larry as an alternative to autoconf. | 02:17 | |
| And knowledgeable people with whom I've spoken have said, "Don't go near autoconf." | 02:18 | ||
| Problem is that both those technologies are old in IT years and very few people are expert in them. | |||
| Coke | parrot has a long, inglorious tradition of recreating wheels that we don't need to. Hopefully we won't repeat that mistake with a config do-over. | ||
| rg | coke: self-hosting kind of implies that an older version of the language is used to build the current version | 02:19 | |
| Coke | ... in fact, given our project, that could almost be our motto. | ||
| kid51 | Well, at least the current *structure* of configuration should give us a guide to what needs to be done and in what order. | ||
| Coke | one would hope, yes. | 02:20 | |
| rg | actually, what we might want to hope for is that rakudo will be mature enough that when we decide to be self-hosting, we can just use that :) | 02:21 | |
| so we'd go perl5 -> perl6 :) | |||
| kid51 | Then I would actually have to *learn* Perl 6! I've been participating in Parrot to avoid having to do that! | 02:22 | |
| rg | after looking at moritz++'s very nice tutorials, i don't think it's all that hard | 02:23 | |
| dalek | tracwiki: v11 | coke++ | ParrotLongTermRoadmap | 02:24 | |
| tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff | |||
| shorten | dalek's url is at xrl.us/bekxme | ||
|
02:26
Tene joined
|
|||
| Coke | rg: I think using rakudo as our config system is pretty crazy. | 02:26 | |
| NQP, I can see that. | 02:27 | ||
| we really should use NQP or another HLL-like thing more internally anyway. | |||
| in fact, someone should find a suitable library file and rewrite it in NQP. =-) | |||
| dalek | tracwiki: v1 | coke++ | ParrotBasedConfig | 02:28 | |
| rg | coke: i could however take your last comment as a prediction that we're not going for self-hosting. is that what you're thinking? | ||
| dalek | tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff | ||
| tracwiki: v2 | coke++ | ParrotBasedConfig | |||
| tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff | |||
| shorten | dalek's url is at xrl.us/bekxm3 | ||
| dalek's url is at xrl.us/bekxm5 | |||
| Coke | I think self hosting your /config system/ is hard. | 02:30 | |
| even gcc doesn't do that, do they? | |||
| rg | no, they all use autoconf | ||
| Coke | seems vaguely sane to me. =-) | 02:31 | |
| rg | i'm not so sure | ||
| Coke | Here's my concern: reinventing wheels, doing things the hard way because it's cool. We have more important things to worry about than figuring out how to get self-hosting working. | 02:32 | |
| allison | the "everyone is using autoconf" is certainly a plus in my book | 02:33 | |
| Coke | if it is a lower workload to use an /existing/ toolset that has its own support mechanism and is open source and we can push fixes back to... | ||
| allison | it may not be perfection, but that at least tells us it's not tortuously bad | ||
| Coke | I'm just saying, let's consider that as an option. | ||
| I certainly don't want to learn autoconf, but it has to be easier than learning Configure.pl. =-) | 02:34 | ||
| allison | :) | ||
| rg | i'd like to hear an opinion on using perl's configure.sh ;) | 02:35 | |
| allison | hmmm... I need something for pynie that's not perl. It doesn't have to do much, since it can access parrot_config. autoconf might be worth trying as an experiment | ||
| Coke | allison: do you have a feel for when pirc is due to land? | 02:36 | |
| allison | it's heavily dependent on its current primary developer | 02:37 | |
| it may need more volunteers involved to push it the final bit of the way | 02:38 | ||
| Coke | has anyone reviewed the progress to make sure it's on the right track compared to IMCC? | ||
| kid51 | rg: We currently *do* use Perl 5's configure.sh -- to the extent that we import the results of Perl configuration in auto::defaults. | ||
| allison | Coke: I haven't looked at it in detail | ||
| rg | kid51: well yes. but we'd need to use it directly, so we can influence optional settings | 02:40 | |
| allison | why does autoconf on windows require perl? | 02:42 | |
| Coke | because they had no sh? | ||
| Coke guessing. | |||
| purl | rumour has it guessing is lame | ||
| Coke | purl: so's your mother. | ||
| purl | Coke: huh? | ||
| allison | wait, heck... *all* autoconf requires perl | ||
| kid51 | Wuh-oh! | ||
| gravity | automake is a perl script | 02:43 | |
| Coke | not a showstopper for me. =-) | ||
| gravity | (not sure if that's also under consideration) | ||
| rg | oops, that's right. :( | ||
| allison | it's just adding another dependency to our dependencies... | ||
| kid51 | no problem! | 02:44 | |
| Coke | having dependencies isn't terrible. =-) | ||
| allison | <sigh> It's turtles all the way down! | ||
| Coke | the way we're using perl NOW is evil. I can see a way that involves almost no evil. | ||
| rg | how is that evil? | ||
| allison | Coke: that's fair, yes | ||
| rg: he said "the way we're using it" not "the fact that we're using it" | 02:45 | ||
| rg probably hasn't seen enough of the way we're using perl | 02:46 | ||
| Coke | rg: the evil bit is that we assume parrot is being built with the same compiler that perl was. | ||
| so we steal lots of perl config information that is quite possibly wrong. | |||
| (and occasionally makes parrot go boom.) | |||
| kid51 | config/auto/defaults.pm | ||
| rg | i think it's a reasonable assumption and it's easy and possible to override (i do it for sparc all the time ;)) | ||
| Coke | but having perl be part of our build process isn't crazy. | ||
| you can't always override. | 02:47 | ||
| the way config is currently built. | |||
| (but then you're not overriding hints, not not override perl5.) | |||
| Coke closes a few RTs today | |||
| kid51 | Could we have another 'not' in that sentence? ;-) | 02:48 | |
| dalek | tracwiki: v3 | coke++ | ParrotBasedConfig | ||
| tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff | |||
| shorten | dalek's url is at xrl.us/bekxqn | ||
| Coke | allison: perhaps you could diplomatically close RT 37115 | ||
| rg | coke: allison just disconnected | ||
| Coke | msg allison perhaps you could diplomatically close RT 37115 | 02:49 | |
| purl | Message for allison stored. | ||
| Coke | rg: dank | ||
| rg: danke | |||
|
02:49
allison joined
|
|||
| kid51 | Perhaps if on the Wiki we had a table that mapped the values extracted from Perl 5 %Config to why we're concerned with them (or not). | 02:50 | |
| Coke | I think rather than try to explain our current system, we might want to design a new one. | 02:51 | |
| (that may involve off the shelf components!) | 02:52 | ||
| kid51 | And 'design a new one' does not entail reinventing wheels? | ||
| The Perl 5 defaults are, in one sense, the most *unexplained* parts of our configuration system. | 02:53 | ||
| allison | kid51: it has the potential to involve reinventing wheels, but it doesn't *have* to | ||
| kid51 | All the subsequent steps are *explained* to the extent that we've got tests covering all the code. | 02:54 | |
| allison | Like, what if we translated our current system, almost exactly, to something like autoconf | ||
| kid51 | k | ||
| rg | so you are effectively reinventing autoconf (to the extend that you need for parrot) | 02:55 | |
| Coke | having tests covering the code doesn't mean it's a good design. | ||
| allison | we've really worked out the kinks in what it takes to configure and build parrot, so we don't throw that knowledge away | ||
| Coke | it just means that the code that was originally slapped together is tested. | ||
| allison | we learn from it, and improve based on what we know | ||
| Coke | I'm not suggesting throwing everything out. I would just like to start a redesign with a design. | ||
| allison | ah, yes | 02:56 | |
| rg | coke: what is prompting you to do that right now? | ||
| kid51 | Coke: Agreed. I never challenged the fundamental design of configuration. I wouldn't have been competent to do so. But the tests are one way of making manifest what the design is, FBOW. | ||
| allison | that should likely go on the roadmap | ||
| Coke | rg: the fact that I cannot install (#&@$ parrot on OS X. | ||
| because the config system is flawed. That's why I started ranting about it earlier. | |||
| allison | we have a milestone for replacing the buildsystem, but not one for designing a build system | ||
| Coke | allison: I assumed that any major items would need to be designed first. If you want to make that explicit, thascool. | 02:57 | |
| allison | Coke: I kind of liked having PDD milestones as well as implementation milestones, it helped me focus on one before the other | 02:58 | |
| Coke | I would recommend, by default, putting a design milestone a full stable release ahead of the impl. | ||
| crap. now I'm reminded of code.google.com/p/perl-devel-nytpro...tail?id=14 | 02:59 | ||
| shorten | Coke's url is at xrl.us/bei34x | ||
| Coke | anyone with XS shaped tuits, fixing that would help parrot. | 03:00 | |
| rg | coke: isn't redesigning the whole config (while necessary to get rid of the perl dependency) a bit overkill? | ||
| Coke | rg: not if it was never designed in the first place. | ||
| If you could point at the design of the current system, sure, we could take that and run with it. that document doesn't exist. | 03:01 | ||
| as kid51 pointed out, it's enshrined in code, and tests of code. | |||
| rg: writing code without knowing why you're doing it is /definitely/ a waste of time. | |||
| we can certainly limp along with config as is. | 03:02 | ||
| kid51 | Actually, there's one aspect of the current system I would like to jettison: All the user prompts in the 'inter' steps. (1) Only 1 parrot developer has ever 'fessed up to using them. (2) They require more complicated tests. | ||
| Coke | And I'm not suggesting we /change/ the whole design. I'm suggesting we /have/ a design before we rewrite the implementation. | 03:03 | |
| that new design may very well be mostly comprised of the old design. | |||
| kid51: no, they don't require tests. =-) | |||
| kid51 | writing code without knowing why you're doing it is ... often called "having a job" | ||
| Coke | but that's an old argument I don't feel like having again. | ||
| If we want interactive prompts, seems it should be possible to make everything interactive, not piecemeal, and then have a single test. | 03:04 | ||
| rg | may i point out that you'd still need a fix for osx much sooner than a new config system could arrive? | 03:05 | |
| Coke | rg: if you'd like to parrot what I said, sure. | ||
| rg: I'm aware that redoing config is a big deal. I'm not arguing about doing it sooner than 3.0 | 03:06 | ||
| rg? | |||
| purl | it has been said that rg is Rolf Grossmann <mailto:rg@progtech.net> | ||
| rg | ok, so you're mostly ranting and in the process at least trying to get a design for a new config :) | 03:07 | |
| Coke | I'm not trying to design the config right now either. | ||
| Just pointing out that a design needs to be on the roadmap, which it will be, presumably for 2.5, which is still over a year away. Plenty of time. =-) | |||
| ... and this configure discussion has been going on for... years already. | 03:08 | ||
| at least since kid51 started cleaning it up. | |||
| Resending code.google.com/p/perl-devel-nytpro...tail?id=14 in case anyone has XS shaped tuits. =-) | |||
| shorten | Coke's url is at xrl.us/bei34x | ||
| pmichaud | hello, all. | 03:14 | |
| Coke | pmichaud: EEK! | ||
| pmichaud wonders what "EEK!" is meant to mean in this context :-) | 03:15 | ||
| anyone know of any blockers to the rakudo release? | |||
| I guess I scared everyone away? | 03:20 | ||
| rg | not me, but i can't help you. | ||
| dalek | rrot: r37608 | allison++ | trunk/ports/ubuntu (2 files): [ubuntu] Updates from producing the packages. |
03:24 | |
| allison | pmichaud: hip, hip, hurray! | 03:26 | |
| pmichaud | allison: congratulations on Parrot 1.0. Outstanding work. | 03:27 | |
| allison | pmichaud: thanks! | ||
| dalek | rrot: r37609 | allison++ | trunk/ports/debian/rules: [debian] Some changes made while generating packages. |
03:28 | |
| allison | Coke: RT #37115 closed | 03:31 | |
|
03:41
janus joined
03:49
Andy joined
|
|||
| Coke | allison: no email? | 03:54 | |
| no email. | |||
| allison | Coke: email? | 03:55 | |
| purl | rumour has it email is sms => about as "pager" as I have to deal with or Catalyst::View::Email | ||
| allison | Coke: oh, for the ticket closing? | ||
| dalek | kudo: 80344fd | pmichaud++ | docs/ChangeLog: More ChangeLog updates for release #15. |
04:09 | |
| shorten | dalek's url is at xrl.us/bekxzb | ||
| dalek | kudo: 44e1496 | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION for release testing. |
||
| shorten | dalek's url is at xrl.us/bekxzf | ||
| dalek | tpfwiki: jonathan@leto.net | PIR Tutorial and FAQ | 04:15 | |
| tpfwiki: www.perlfoundation.org/parrot/index...al_and_faq | |||
| shorten | dalek's url is at xrl.us/bekxzo | ||
| Coke | stop upating that wiki! | 04:30 | |
| dukeleto: please use the trac.parrot.org wiki | 04:31 | ||
| dukeleto | Coke: 'twas an accident | 04:32 | |
| Coke | =-) | 04:33 | |
| we've been trying to kill that thing for months. =-) | |||
| dukeleto | I have an axe. | 04:37 | |
| Coke | "It's a trick." | ||
| Tene | Coke: you still looking for regular access to an x86_64 box? | 04:40 | |
| pmichaud | afk # back tomorrow morning | ||
| Tene | 'night pm | ||
| Coke: *obviously* the solution to the =no problem is yet another config option for configuring how you say no. --false-style=prefix-without ;) | 04:45 | ||
| Coke | tene: still!? | 04:54 | |
| tene: (config) *thwap* | |||
| Tene | Coke: I have vague memories of you looking for access to an x86_64 box for parrot work. I might have just made it up, though. | ||
| Coke | might have once. Don't need it now, except to close out tickets in RT. | 04:55 | |
| let's cut out the middle man, and you can just monger the tickets directly. =-) | |||
| I have enough trouble with the machine on my desk. | |||
| Tene | I don't have anything available, but a friend does. | ||
| Coke | best I can suggest right now is have him setup a buildbot/smolder client. | 04:56 | |
|
06:54
uniejo joined
|
|||
| Tene | wtf? | 07:38 | |
| $P0 = get_hll_namespace is giving me null | |||
| how does that make any sense? | 07:39 | ||
| purl: msg jonathan There are a few problems with use that I was trying to fux, but ran out of time... | 08:16 | ||
| purl | Message for jonathan stored. | ||
| Tene | purl: msg jonathan If you look at the generated pir, calls to use happen *after* the main block runs | ||
| purl | Message for jonathan stored. | ||
| Tene | purl: msg jonathan Also, the issue I was trying to fix in the first place, 'is export' does put subs in the export::all subnamespace, but 'use' never fetches them. Things only seem to work now because nothing use package{}, so all subs are ending up in the global namespace anyway | 08:18 | |
| purl | Message for jonathan stored. | ||
| Tene sleeps | 08:19 | ||
|
08:55
agnislav_ joined
|
|||
| agnislav_laptop | hi all. still can't run compiled bytecode... :( any help is appreciated | 08:56 | |
|
09:09
bacek joined
09:50
korshak joined
10:17
masak joined
10:22
contingencyplan joined
10:43
NotFound joined
|
|||
| NotFound | hi | 10:43 | |
| mikehh | Notfound: hi | 10:49 | |
| rakudo (44e1496) builds on parrot r37609 - make test/make spectest PASS | 10:51 | ||
|
10:58
ruoso joined
|
|||
| dalek | kudo: 977b948 | jnthn++ | src/builtins/control.pir: Fix eval crash when eval is used inside a class. |
11:59 | |
| shorten | dalek's url is at xrl.us/bekyix | ||
| dalek | kudo: cba1557 | jnthn++ | docs/ChangeLog: Add a few more bits to the ChangeLog. |
12:12 | |
| shorten | dalek's url is at xrl.us/bekyi9 | ||
| dalek | kudo: 9a08c4f | (Cory Spencer)++ | (5 files): Added inline PIR versions of Any.pm's lc, ceiling, floor and round to the P6 Any.pm class. commit 59873f07aa08081cc2d5e915ce309d733935cb54 Author: Cory Spencer <cspencer@sprocket.org> Date: Thu Mar 19 18:19:21 2009 -0700 Added an inline PIR P6 version of lc commit 65b75d2b6266adaae8caac230cc55462467c8c0c Author: Cory Spencer <cspencer@sprocket.org> Date: Thu Mar 19 16:06:26 2009 -0700 Add inline PIR versions of round, ceiling and floor commit 9a873239e9a0fb86d4d11dc2f141d6081d2e1a23 Merge: 8592d17... f8b6aee... Author: Cory Spencer <cspencer@sprocket.org> Date: Thu Mar 19 14:28:57 2009 -0700 Merge branch 'master' of git://github.com/rakudo/rakudo Signed-off-by: Moritz Lenz <moritz@faui2k3.org> |
12:29 | |
| shorten | dalek's url is at xrl.us/bekyke | ||
|
12:30
korshak left
12:31
Whiteknight joined
12:35
rg1 joined
|
|||
| mikehh | t/examples/pod.t - Failed tests: 13-14, 16-19, 22 | 12:44 | |
| Whiteknight | yeah, those are known | 12:58 | |
| we're working on it | |||
| or, I will be working on it eventually | 12:59 | ||
| Coke-zzz | hopefully that test will settle down shortly and we'll have things fixed or TODO'd depending on what snippets have been added. | 13:02 | |
| dalek | kudo: 2352fd0 | jnthn++ | src/builtins/eval.pir: When we do a use, we need to make sure the recursive invocation of the Perl 6 compiler gets a clean @?NS, otherwise thigns start getting nested in namespaces in the non-pre-compiled case. |
13:03 | |
| shorten | dalek's url is at xrl.us/bekyoj | ||
| dalek | kudo: 8207372 | jnthn++ | (5 files): Merge branch 'master' of git@github.com:rakudo/rakudo |
||
| shorten | dalek's url is at xrl.us/bekyom | ||
|
13:10
Ademan joined
|
|||
| mikehh | all other tests in make fulltest pass at r37609 | 13:10 | |
| pmichaud | good morning #parrot | 13:20 | |
| Whiteknight | good morning pmichaud! | 13:25 | |
|
13:30
fperrad joined
13:48
gryphon joined
14:06
rdice joined
|
|||
| davidfetter | mornin', all | 14:16 | |
| dalek | rrot: r37610 | coke++ | trunk/docs/intro.pod: [t/docs] - t/examples/pod.t pointed out broken PIR |
14:18 | |
|
14:30
dusty joined
|
|||
| dusty | Is there a chance of messing up my perl on Mac OS x if install parrot from ports? | 14:30 | |
| dalek | kudo: db1e872 | pmichaud++ | docs/ChangeLog: Final ChangeLog for release #15. |
14:38 | |
| shorten | dalek's url is at xrl.us/bekyzt | ||
| dalek | kudo: f67507c | pmichaud++ | docs/release_guide.pod: Release date and name updates. |
||
| shorten | dalek's url is at xrl.us/bekyzv | ||
| dalek | kudo: e552334 | pmichaud++ | docs/announce/2009-03: Text of 2009-03 release announcement. |
||
| shorten | dalek's url is at xrl.us/bekyzx | ||
|
14:43
Theory joined
14:59
rg joined
15:03
Tene_ joined
|
|||
| Coke | dusty: do NOT install parrot from ports on osx. | 15:04 | |
| it's a VERY old version. | |||
| you're better off running it out of the build dir for now. | |||
| (If you want to help me make a macport for 1.0.0, that'd be awesome. =-) | 15:05 | ||
| dusty | Coke, I don't know that I have the skill for that, what all is entailed? | 15:07 | |
| Coke | right now, we can't build a static binary because of a config bug; we can't build a dynamic one because we end up linking to the library in the build dir. | 15:08 | |
| so we need to fix one of those issues to get the install working. | |||
| at that point, making the macport is trivial. | |||
| (we already have a Portfile setup that just needs some minor updates.) | 15:09 | ||
| there's a trac ticket... | |||
| trac.parrot.org/parrot/ticket/344 | |||
| dusty | I'm looking at it, looks beyond me, but I'll look at again when I get home, thanks for answering my question | 15:11 | |
| Tene_ | jonathan: ping | 15:19 | |
| jonathan | Tene_: pong | 15:21 | |
| Tene_ | jonathan: I've got a handfull of problems with 'use' in rakudo... | 15:22 | |
| mentioned them last night in here | |||
| Interested in looking or discussing? | |||
| jonathan | Sure, probably is good if pmichaud is in on the discussion too. | 15:23 | |
| Though not sure if he's about right now... | |||
| Tene_ | The main thing is that 'use' doesn't actually respect 'is export'. | ||
| and while subs tagged as 'is export' *are* put in the ::EXPORT::ALL namespace, the only reason anything (like Test.pm) acts like it exports things is because nothing uses 'package' declarations, so everything ends up in the root namespace anyway. | 15:24 | ||
| jonathan | Yes, I know Test.pm cheats on that. | 15:25 | |
| Tene_ | also, in the generated PIR, use statements are generated in a block *after* the main block. | ||
| So they would run after the entire program finishes. | |||
| jonathan | Hmm...that's odd, because use does at least sort of work. | 15:26 | |
| (Which you'd expect it to not do so at all in that case) | |||
| Tene_ | it works because of 'use' running in actions.pm | ||
| jonathan | Ah. And thus is broken for pre-compiled modules? | 15:27 | |
| Tene_ | afaict | ||
| well, if they use 'use' statements. | |||
| jonathan | hmm | 15:28 | |
| @?BLOCK[0].loadinit().push( | |||
| PAST::Op.new( | |||
| PAST::Val.new( :value($name) ), | |||
| :name('use'), | |||
| :pasttype('call'), | |||
| :node( $/ ) | |||
| ) | |||
| ); | |||
| It's sticking it into the loadinit of the outer block... | |||
| Erm | |||
| Of the current block, sorry. | |||
| But I guess that means if the current block gets marked :load :init then yes, this happens after it runs... | |||
| Tene_ | Hmm. Maybe nevermind. | 15:29 | |
| Checking with precompiled 'use Test; plan 1', and it works fine. | |||
| jonathan | Ah, OK. | ||
| Tene_ | So maybe I was just falling asleep by the time I "noticed" that part. :) | ||
| jonathan | :-) | ||
|
15:29
TimToady joined
|
|||
| jonathan | OK, but the point about not respecting is export stands. | 15:29 | |
|
15:30
diakopter joined,
particle joined
|
|||
| Tene_ | ah, yes, the *first* block there calls the later block that calls use. | 15:31 | |
| jonathan | Aha. | ||
| OK, but that still means we need to make import work. :-) | 15:32 | ||
| particle | i think everything is in place to make that possible now | ||
| Tene_ | I tried adding code to do it, but ran into problems with get_hll_namespace returning null pmcs. I was (apparently) kind of asleep, so might have just been incompetent. | 15:33 | |
| One other issue is that the 'use' that is called from actions.pm *shouldn't* do this. | |||
| I ended up just .return()ing if the caller's namespace was Perl6::Grammar::Actions, but that's hardly correct. | 15:34 | ||
| jonathan | Tene_: Shouldn't import? | ||
| Tene_: I think it needs to,. | |||
| Oh, maybe not. | |||
| jonathan thinks | |||
| Tene_ | jonathan: import into the Perl6::Grammar::Actions namespace? | ||
| particle | who's doing a use from actions.pm? | 15:35 | |
| jonathan | Tene_: No, it should import into the namespace of the program where the use is written. | ||
| We at least need to make sure any types that are exported get imported. | |||
| Tene_ | particle: method use_statement calls use to get the symbols and such loaded at compile-time. | ||
| jonathan | Though if you write a class A { } in a A.pm and the use A; is there import/export going on there? | 15:36 | |
| Or is that just simply that it installs A in the namespace? | 15:37 | ||
| Tene_ | jonathan: so it should import into @?NS[0] namespace? | ||
| jonathan | Tene_: I figure so, yes. | ||
| Tene_ | Okay. | ||
| So maybe a !EXPORT_SYMBOLS that is both called at parse-time and at runtime, like 'use'? | |||
| jonathan | Something like that. | 15:39 | |
| purl | Something like that. is that true? | ||
| jonathan | Maybe !IMPORT_SYMBOLS is more the name though? | ||
| Tene_ | Maybe. I say export because as a first draft, you could just call hllcompiler's EXPORTALL method. | 15:40 | |
| Which suggests a similar naming convention. | |||
| jonathan | Ah, true. | 15:41 | |
| I guess it depends which side you're looking at it from. :-) | |||
| Tene_ | fwiw, the specific case I was working on was generating a lot of subs. for <a b c d e> { Foo::Bar{$_} = sub { ... } } | 15:43 | |
| jonathan: think you'll work on this today, or did you have other plans? | 15:44 | ||
| jonathan | Tene_: Haven't got a great deal of other plans, if it matters to you I don't mind working on it. | 15:47 | |
| Would like to hear pmichaud's opinions before I dig in, to sanity check this, though. | |||
| Tene_ nods. | |||
|
15:48
particle1 joined
|
|||
| Tene_ | Would be nice. If you don't, I'll end up working on it again tonight anyway. I'd like to hear pmichaud's take on it first too. | 15:48 | |
|
16:12
Andy joined
|
|||
| dalek | kudo: 4c90262 | jnthn++ | src/parser/ (2 files): Support renaming of named parameters in the signature. This also takes us a couple of steps closer to STD.pm. |
16:25 | |
| shorten | dalek's url is at xrl.us/bekzf5 | ||
| dalek | kudo: 703b36e | jnthn++ | docs/ (3 files): Merge branch 'master' of git@github.com:rakudo/rakudo |
||
| shorten | dalek's url is at xrl.us/bekzf7 | ||
|
16:46
jan joined
|
|||
| allison | FYI, we've had 13,526 visitors to parrot.org since we set up google analytics on wednesday (so, that's only counting part of wednesday, and all of thursday) | 17:00 | |
| particle1 | would you grant me access to that data? | 17:01 | |
| Whiteknight | google analytics is hot stuff | 17:02 | |
| allison | particle: already did when I first created it. if you log into google.com/analytics with your gmail account you should see it all | 17:04 | |
| particle: (granted you admin access too) | |||
| particle1 | great, thanks! | 17:16 | |
|
17:21
uniejo joined
17:24
barney joined
17:39
particle joined
17:40
uniejo joined
|
|||
| dalek | kudo: 83e060f | jnthn++ | src/builtins/guts.pir: We need to !DEREF foreign invocants that might have got put in a Perl6Scalar. |
17:51 | |
| shorten | dalek's url is at xrl.us/bekzt4 | ||
|
17:54
davidfetter joined
|
|||
| dalek | kudo: 7b9f811 | jnthn++ | (3 files): Start to move some methods in IO over to the Perl 6 setting, improving error handling to be more in line with S32 along the way. |
18:11 | |
| shorten | dalek's url is at xrl.us/bekzxw | ||
| dalek | rrot: r37611 | coke++ | trunk/docs/user/pir (4 files): [t/docs] test more sample PIR. |
18:24 | |
| rrot: r37612 | coke++ | trunk/t/examples/pod.t: [t] fix argv handling to actually so specifying files on the command line actually works. |
18:29 | ||
|
19:00
tuxdna joined
19:03
lucs joined
19:35
bsdz joined
|
|||
| dalek | rrot: r37613 | coke++ | trunk (2 files): [t/docs] Verify PASM snippets too. Add a single PASM target |
19:35 | |
| bsdz | hi, anyone know anything about parrot math ops? | 19:36 | |
| Coke | What's the question? | 19:37 | |
| purl | the question is how a _separate_ package could help with the install | ||
| bsdz | thanks Coke: is there any reason why round() is not supported? | ||
| i know i can floor(?+.5) | 19:38 | ||
| Coke | I don't know that it was purposefully excluded. | 19:39 | |
| bsdz | perhaps i should create a trac? | ||
| particle | we're missing another math op, too. cot or something | 19:40 | |
| i know one of them is missing. | |||
| bsdz | i could include that in my trac | ||
| Coke | sure. open an RFC | ||
| bsdz | ok thanks | ||
| tuxdna | hi, anyone here who is familiar with parrot_debugger.c ? | ||
| Coke | that I will not admin to. =-) | 19:41 | |
| tuxdna | Currently parrot_debugger requires a filename to be given on the command line | 19:42 | |
| this file is read ( in case of pbc ) and compiled ( in case of say pasm ) and fed to embedded parrot for debugger | 19:43 | ||
| now when I do not provide a file name ( ofcourse by modifying the parrot_debugger.c commad line options ), the debugger croaks | 19:44 | ||
| Any ideas on how I can set up debugger with some code to be fed for embedded parrot so that the debugger works without making a filename necessary on the commnadline? | 19:45 | ||
| Coke | where would the debugger get data from? | 19:47 | |
| s/data/code? | |||
| particle | use a named pipe? | 19:48 | |
| Coke | you just want it to start up... empty? (nothing wrong with that, just wondering where you're going.) | ||
| tuxdna | yes. i want the debugger to start empty so that the file can be loaded later using ;load' command | 19:49 | |
| Coke | that should be doable. | ||
| I have to run. Open a trac? | 19:52 | ||
| Tene_ | I thought we were moving away from the perlfoundation.org/parrot/ wiki... | 19:57 | |
| tuxdna | thanks Coke_afk | 19:58 | |
| allison | Tene: yes, the perlfoundation.org wiki is on the way out | 20:04 | |
| allison migrating to new location | |||
| Tene_ | Andy's latest perlbuzz twitter post linked to it. | ||
| Andy | Can't imagine that's a problem. | 20:05 | |
| Tene_ | No idea. | 20:15 | |
| That's what I was asking about. | 20:16 | ||
| particle | i wonder what channel allison is migrating to... | 20:17 | |
|
20:26
dolmen joined
|
|||
| bsdz | hi, anyone know if it's possible to dynamically create pir sub pmcs (a bit like .net's reflection.emit and MethodBuilder)? | 20:35 | |
| actually i probably should use eval. sorry | 20:37 | ||
|
20:40
donaldh joined
|
|||
| bsdz | hmm I don't think eval does what I want. I need a 'Sub' factory | 20:42 | |
| particle | partcl generates pir from pir, then runs it | ||
| bsdz | particle: any examples in trunk i can look at | 20:43 | |
|
20:47
AndyA joined
|
|||
| jonathan | bsdz: Look up compreg | 20:48 | |
| bsdz | thank jonathan - just getting there | ||
| jonathan | bsdz: But essentially you generate PIR, feed it to the PIR compiler, which you can obtain through compreg | ||
| And it gives you back an Eval PMC | 20:49 | ||
| Say it's in $P0 | |||
| $P0() runs the sub there and then | |||
| But $P1 = $P0[0] extracts the sub. | |||
| (And indexed access to all the other subs, if you eval'd many in your PIR.) | |||
| bsdz | jonathan++ excellent. looking at examples in eval.tl | ||
| thanks | 20:50 | ||
| jonathan | Welcome. | ||
| purl | Heh, not likely around here you won't be. or | ||
| jonathan was playing with this stuff for Rakudo recently. | |||
|
21:02
Whiteknight joined
21:22
Limbic_Region joined,
Woody4286 joined
|
|||
| jonathan | ($P0 :slurpy, $P1 :slurpy :named) = obj.name(pos_args :flat, name_args :flat :named) | 21:53 | |
| .return ($P0 :flat, $P1 :flat :named) | |||
| WTF would the second line *ever* be able to fail with "argument doesn't array"? | |||
| (Given it immediately follows the first.) | 21:54 | ||
|
21:59
Whiteknight joined
22:02
NordQ joined
22:04
NordQ joined
|
|||
| Tene_ | pmichaud: you going to be able to look at the use/export discussion sometime today? | 22:04 | |
| jonathan | Tene_: How much do you need? | ||
| Tene_ | jonathan: I thought we were pretty much in agreement on what needs to be done, and just wanted pm's comments if any, right? | 22:06 | |
| jonathan | Tene_: Yeah, I just upon needing certainly the auto-export of multis to work... | ||
| *hit upon | 22:07 | ||
| Tene_ | oh, what do I need to work. | ||
| jonathan | Yes. :-) | ||
| Tene_ | I need 'use' to import symbols into my namespace from the ::EXPORT::ALL | ||
| I don't need tagsets or anything | |||
| jonathan | OK | ||
| A first cut of that is probably easy. | 22:08 | ||
| particle | you want ::EXPORT::DEFAULT | ||
| jonathan | particle: I can't find anything that tells me what gets imported by a default use Module. | 22:09 | |
| Is it :DEFAULT? | |||
| Which would make sense... | |||
| particle | yes. | ||
| jonathan | You'd have to write use Foo :ALL; to get all? | ||
| particle | ALL is mainly for introspection, but you can use Foo :ALL | ||
| yep | |||
| Tene_ | particle: 'is export' doesn't put things in ::DEFAULT | ||
| but yes, that would work too. | 22:10 | ||
| jonathan | Tene_: I think what the spec says is that just because you write is export on something doens't mean that it's automatically imported. | ||
| Tene_ | ah | ||
| right | |||
| Sure. | |||
| really, any kind of symbol import on 'use' is all I need | 22:11 | ||
| jonathan | Actually we're meant to import into lexical scope rather than package too. | ||
| But that is going to be a pain until we fix lexicals over class boundaries. | |||
| particle | right | 22:12 | |
| for now, good enough is good enough. | |||
| jonathan | So I'll cheat and do package. | ||
| gravity blanches at the -rpath stuff in the build system | 22:46 | ||
| jonathan | Cheating worked. | 22:47 | |
| Tene_: Got something that shoudl fly. | 22:48 | ||
| Tene_ | nice | ||
| Thank you. | |||
| jonathan | Tene_: Imports anything you mark :DEFAULT | ||
| Into the namespace you've written the use in. | 22:49 | ||
| Wrong wrong wrong but will get us by. | |||
| I'm going to do one more cheat. | |||
| Tene_ | jonathan: and if I install stuff into Foo::EXPORT::DEFAULT at runtime when the module is loaded? | ||
| it just fetches from the namespace, yes? | |||
| jonathan | erm. | ||
| I guess so, but I'm not sure if that's kosher by the spec... | |||
| Well | 22:50 | ||
| Actually, yes | |||
| Just work. | |||
| purl | just work is the opposite of "doesn't work". | ||
| jonathan | But really you just need to is export(:DEFAULT) whish is what I did. | ||
| Tene_ | jonathan: what I need this for is generating subs at runtime, so I do need that. :) | 22:51 | |
| jonathan | Tene_: OK. | ||
| Tene_: Also, I am going to do something now to put multis in DEFAULT whether you mark them as that or not. | |||
| Since the spec says | |||
| Any proto declaration that is not declared "my" is exported by default. | |||
| Any multi that depends on an exported proto is also automatically exported. | |||
| When there is no proto for a multi, the autogenerated proto is assumed | |||
| to be exportable. | |||
| Tene_ | nice | 22:52 | |
| jonathan | Which suggests to me :DEFAULT is the right place for it (as well as all) | ||
| jonathan feels like he's done something useful today now | 22:56 | ||
| Tene_ | :) | ||
|
22:56
ilia joined
|
|||
| Infinoid | Default is the right place for everything, by default. :) | 22:56 | |
| jonathan spend the afternoon too headachey to concentrate on much... :-| | 22:57 | ||
| Tene_ | aw :( | ||
| jonathan | Then felt kinda guilty, since it's one of my funded days... | ||
| Well, import makes up for it. :-) | |||
| ah, geck, I need to handle multi smarter... | 22:58 | ||
| OH NICE | 23:01 | ||
| Tene_ | hm? | 23:02 | |
| nopaste | "jonathan" at 85.216.157.73 pasted "works" (17 lines) at nopaste.snit.ch/15933 | ||
| Tene_ | jonathan++ | ||
| Great work. :) | 23:03 | ||
| jonathan | Tene_: Doing spectest now. | 23:04 | |
| Tene_ | jonathan: try doing spectest with Test.pm in the Test package. ;) | 23:05 | |
| jonathan | Tene_: :-P | ||
| I'm not that daring. ;-)( | |||
| This will all need a fairly big review at some point, but having a first cut to work from is easier than a blank sheet. | 23:06 | ||
| Ah, damm, the multis bit doesn't quite work when the importing script is pre-compiled....can't immediately think why... | 23:08 | ||
| (It finds the imported one and blows away the one in the imported scirpt itself. Hmm.) | 23:09 | ||
| Tene_: Tests are looking good so far. So I think I can put this in. | 23:16 | ||
| Tene_ | :) | ||
| I'll try to get to your .leave() stuff this weekend | |||
| jonathan | Yay. | 23:17 | |
| If you want to debug why it clobbers multis in the importing namespace only in the pre-compiled case, feel free too. | 23:18 | ||
| Don't have the energy for that tonight, I'm afraid. | |||
| Tene_: Ah. I broke the one test in import.t :-( | 23:22 | ||
| Tene_ | heh | 23:23 | |
| you going to fix it, or going to let me do that? | |||
| jonathan | Also I don't understand what it's trying to do... | ||
| Tene_ | I'm about to get off work. | ||
| jonathan | Tene_: Think I may have found it. | 23:30 | |
| Tene_: Yeah, got it squished. | 23:32 | ||
| Tene_ | :) | ||
| jonathan | Tene_: Pushed. | 23:36 | |
| dalek | kudo: ec0db22 | jnthn++ | src/builtins/guts.pir: Work around multiple Parrot bugs for calls to foreign objects, and document what we're working around. (TODO: see if they already have tickets and submit them if not.) |
23:39 | |
| kudo: e38edf9 | jnthn++ | src/ (3 files): First cut of importing from :DEFAULT one use. Wrong and incomplete, but a start at least. Also, per S11 (or as far as I understand it), multis want to get :DEFAULT automatically, so add that. |
|||
| Tene_ | jonathan: is there a reason you're importing into the hll root namespace instead of looking up the namespace of the caller? | ||
| shorten | dalek's url is at xrl.us/bek3ha | ||
| dalek's url is at xrl.us/bek3hc | |||
| Tene_ | $P0 = getinterp; import_ns = $P0['namespace';1] | ||
| jonathan | Tene_: There's actually three cases. | ||
| Tene_ listens | |||
| jonathan | See also the actions.pm changes. | ||
| Basically, though, if we call from actions.pm we pass in the namespace to call into. | |||
| However, if we're in the global ns then that's an empty string. | 23:40 | ||
| Which is the case when instead of handing the name off to parse_name, we just grab the root hll namespace. | |||
| In the case that we weren't passed a namespace to import into, then we do lookup the caller's namespace. | |||
| Tene_ | okay, the problem is that I can't read. | 23:41 | |
| >< | |||
| Thanks. | |||
| jonathan | np :-) | ||
| Feel free to hack on this. | |||
| Also, to add/enable more spectests relating to it would be great too. | |||
| Also one thing I didn't work out yet | |||
| Is that in src/setting we have a bunch of .pm files now that we toss together and use to make gen_setting.pir | 23:42 | ||
| But we need to do importation from them too. | |||
| But I didn't yet work out how to do that...we may need to refactor what I just added (as in, factor out the import logic to something called by use). | |||
| Ah, or we need to import whether module was previously loaded or not. | 23:43 | ||
| Ah. | |||
| But that means we need to fake some stuff into %INC for the built-in modules. | |||
| Tene_ | I'm spectesting with Test.pm in the Test package. | ||
| jonathan | Hopefully you get what I mean - sorry, that wasn't coherent. | ||
| Tene_ | I get it. | ||
| jonathan | Well, yeah, but the issue for, say, IO, is that we don't use it. | 23:44 | |
| But we still want to import its stuff. | |||
| Tene_ | nodnod | ||
| Do you have objections of moving Test.pm into the Test package, if tests are passing? | 23:45 | ||
|
23:45
allison joined
|
|||
| jonathan | Tene_: No, I'd get a second opinion from pmichaud though. | 23:46 | |
| Or just take the forgiveness/permission rule. ;-) | |||
| Tene_ | That's my favorite rule! | 23:47 | |
| Hmm. | 23:48 | ||
| oh... | |||
| I need to mark them all as export(:DEFAULT) | |||
| most of them were :DEFAUKT anyway because they're multi. :) | |||
| jonathan | I guess it'll be a test of the code. ;-) | ||
|
23:56
contingencyplan joined
|
|||