|
#parrot Parrot 2.2.0 "Like Clockwork" Released! | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Improve Rakudo rx and buildtime performance | Fix HLL bugs (TT #389, #1040) | Prioritize Rakudo Needs and roadmap items Set by moderator on 30 March 2010. |
|||
| chromatic | I don't believe I've ever met dmr. | 00:00 | |
| dalek | kudo: 03f210f | jonathan++ | src/Perl6/ (2 files): Fix RT#73886. |
00:01 | |
|
00:01
dngor joined
|
|||
| Whiteknight | dmr? | 00:05 | |
| purl | rumour has it dmr is Dennis Ritchie, author of Unix and C; he is our Grey Eminence, and King. or at cm.bell-labs.com/cm/cs/who/dmr/ | ||
| Whiteknight | "look, it's all objects all the way down. Until you reach turtles." | 00:06 | |
| chromatic | Simon Cozens wrote an NFG prototype in Perl 6 a couple of years ago. | 00:12 | |
|
00:15
lucian joined
|
|||
| darbelo | Is that the one in the really old strings branch in the repo? | 00:16 | |
| chromatic | I'm not sure where it is. | ||
| darbelo | There is also a perl snippet in the PDD, I'm guessing it came from the same place. | 00:18 | |
| It's the bit that suggests the array+hash implementation, and shows some perl to that effect. | 00:19 | ||
| Whiteknight | darbelo: yes, the strings branch was it | 00:21 | |
|
00:25
jsut_ joined
00:37
Andy joined
01:07
hercynium joined
|
|||
| dalek | kudo: 1068f2e | jonathan++ | t/spectest.data: Turn on S02-literals/hash-interpolation.t. |
01:16 | |
| kudo: 1094cf3 | jonathan++ | t/spectest.data: Turn back on S02-literals/misc-interpolation.t. |
01:28 | ||
|
01:55
Psyche^ joined
|
|||
| dalek | kudo: 32fda13 | jonathan++ | src/Perl6/Grammar.pm: A :my declaration in a regex prevents the current protoregex implementation spotting constant prefixes that immediately follow it. By a little re-ordering, we can shave about 5% off the time to compile the setting by allowing those constant prefixes to be spotted and computed, since we don't have to chase down a bunch of false branches. |
02:10 | |
|
02:42
janus joined
03:31
leprevost joined
|
|||
| sorear | Why are languages/ separated from libraries/ ? | 04:17 | |
| Austin | Because it seemed like a good idea once upon a time, and now there aren't any failing test cases that suggest the need to unseparate them? | 04:18 | |
| darbelo | Actually, we don't even have languages/ anymore. | ||
| Austin | We don't? | 04:19 | |
| darbelo | They got kicked out of the repo a long time ago. | ||
| Austin | I think he means runtime/ | ||
| darbelo | That looks like a leftover to me. | 04:20 | |
| dalek | rrot: r45399 | chromatic++ | trunk/src/pmc/fixedpmcarray.pmc: [PMC] Removed unnecessary callocs from FixedPMCArray. |
||
| rrot: r45400 | chromatic++ | trunk/lib/Parrot/Ops2c/Utils.pm: [lib] Removed an unnecessary calloc from ops initialization. |
|||
| Austin | Heh | ||
| languages/parrot | 04:21 | ||
| darbelo | Yep. It only holds that file. The 'parrot' HLL. | ||
| I think that's a part of the HLL-interop stuff. | 04:22 | ||
| Or maybe it's from Hll-interop's previous life. | 04:23 | ||
| # $Id: parrot.pir 39532 2009-06-13 06:03:55Z tene $ | |||
| That's not old enough to be obsolete, but not new enough to be from the latest interop spec. | 04:24 | ||
| Don't worry. It will eventually die. Everything does. | 04:25 | ||
| sorear | darbelo: I'm actually speaking of /usr/local/lib/parrot/2.2.0-devel/{languages,library} | 04:27 | |
| the practical upshot of this is that pir::load_bytecode("nqp.pbc") doesn't work | 04:28 | ||
| if I want to load a language dynamically (for use :from), I need to replicate the path search logic | |||
| which seems wrong | |||
| darbelo | I think it's a matter of 'languages are special' | 04:29 | |
| sorear | Why? | ||
| They're just libraries. | |||
| libperl.so installs into the same place as libgdbm.so | |||
| darbelo | We don't give libraries their own executables. | 04:30 | |
| Languges typically demand them. | 04:31 | ||
| sorear | parwish? | ||
| p6regex? | 04:32 | ||
| purl | p6regex is deprecated anyway, and as per pmichaud's note to p-p yesterday I'm not planning to update it for the new pdd15oo model | ||
| darbelo | Artifacts of history. Our install tree is a mess of old stuff we don't entirely know hot to straigten out. | ||
| sorear | I don't actually know the history | 04:33 | |
| I'm just citing a library that should have an executable | |||
| and a language that shouldn't | |||
| darbelo | I'm not entirely clear on the history myself either. But I know that in the past (as in, over two HLL toolchains back) there were different expectations for what languages an libraries did. | 04:36 | |
| As far as I can try to justify this: The stuff in library/ was theoretically not bound to any language. | 04:37 | ||
| A related tale to the runtime/parrot/* one in the source tree. | 04:38 | ||
|
04:40
jsut joined
|
|||
| darbelo | Anyway. I should probably go to sleep now, I have hellspawn^W relatives visiting tomorrow. | 04:40 | |
| cotto | night | 04:41 | |
| happy relativity | |||
| darbelo | 'Happy' is a relative term... | 04:42 | |
| darbelo Zzz | |||
| cotto | I never said who'd be happy | ||
|
04:56
theory joined
05:03
Austin joined
|
|||
| sorear | pastie.org/902402 <- Can anyone explain what's going on here? | 06:00 | |
| If I load NQP, then Blizkost - OK | |||
| If I load Rakudo, then Blizkost - Error | |||
| If I load Rakudo, then NQP, then Blizkost - also Error, so not a missing dependancy | 06:01 | ||
| Austin | Rakudo is defining a symbol that PCT wants to be a class, as something not a class. Probably something down in the regex/PGE space. | 06:02 | |
| Actually, it probably springs from the "perl6;PCT" | 06:03 | ||
| Looks like something isn't handling the transition from hll=parrot to hll=perl6. | |||
| Alternatively, maybe it's a cross-language thing, and some class needs to be declared with hll='parrot' or hll='perl6' | 06:04 | ||
| Does it work if you don't load the perl5 bytecode? | |||
| sorear | My goal is to load perl5 into Rakudo. Not loading perl5 would be automatic failure. | 06:06 | |
| Austin | Jeez | ||
| sorear | Oh | ||
| No, loading NQP alone also gives the error | 06:07 | ||
| Austin | So it's nothing to do with your stuff? That's a win - file a bug. | ||
| Given that the PCT stuff is being loaded in rakudo, do you even need to load the nqp stuff? | 06:09 | ||
| sorear | No, I just did it as a test to root out missing deps | 06:10 | |
| which was my first theory | |||
| this looks probably like a parrot bug so I'll file it there | |||
| Parrot has both a RT queue and a Trac instance; which do I file bugs on? | |||
| Austin | Trac | 06:11 | |
| RT is dead, has been for years. | |||
| sorear | hmm, I need to register to add a ticket? | 06:12 | |
| Austin | I think so | 06:13 | |
| Ahh! Ugly blue woman! | 06:15 | ||
| sorear | uhhh | 06:21 | |
| this is /extra weird/ | |||
| if I use perl6 --target=pir | |||
| then run parrot on the resulting pir | |||
| it WORKS | |||
| Austin | Sure. | ||
| Because perl6 isn't in the way. | |||
| When you're running perl6 as an interpreter, all the perl6-y goodness is sitting in the VM with you. | 06:22 | ||
| When you run it as a compiler, you get a pir file that doesn't have all the stuff. (You'll need to load it if you want it.) So no problem. | |||
| sorear | What can loading perl6 do to cause 'perl6;PCT;__onload' to be called? | 06:23 | |
| that seems like a pretty basic Parrot failure | 06:24 | ||
| and I have no idea how to start debugging this | |||
| or even know which tracker to put it on | |||
| dalek | TT #1542 created by sorear++: HLLs sometimes leak into loaded modules | 06:44 | |
| TT #1542: trac.parrot.org/parrot/ticket/1542 | |||
| sorear | Do classes ever get garbage collected? | 07:26 | |
| Austin | In theory, sure. In practice, I doubt it. | 07:27 | |
| The namespaces probably keep them alive forever. | |||
| sorear | I'm wondering because PMC code refers to them using small integers and never calls any marking thing | 07:30 | |
| dalek | izkost: 4c0982a | sorear++ | src/pmc/p5 (2 files): Require creation of P5Namespace through proper channels |
07:32 | |
| sorear | 7 files changed, 9 insertions(+), 106 deletions(-) | 07:50 | |
| with no loss of functionality | |||
| Austin | Eventually you'll be down to just one: | 07:53 | |
| dwim(); | |||
| sorear | dwim usually breaks | 07:54 | |
| dwiw is much better | |||
| dalek | izkost: 9e586b0 | sorear++ | src/pmc/ (8 files): Centralize P5/Parrot header cruft in one file |
07:56 | |
| izkost: e7d4b67 | sorear++ | src/pmc/blizkost.h: Quiet all redefinition warnings. |
08:08 | ||
| sorear | #define char const char | 08:10 | |
| cranking the warning level up to 11 screws with perl.h | 08:34 | ||
| #define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL /* but we use -Wnested-externs | 08:35 | ||
| dalek | izkost: 1f52187 | sorear++ | src/pmc/p5interpreter.pmc: Fix a bunch of warnings in p5interpreter |
08:37 | |
| izkost: 365279e | sorear++ | src/pmc/blizkost.h: Add a Parrot-warnings-clean refinition of dNOOP |
08:43 | ||
|
09:10
dalek joined
|
|||
| dalek | izkost: cf14185 | sorear++ | src/pmc/ (6 files): Migrate to auto_attrs |
09:11 | |
| sorear | blizkost is now warning free. | 09:12 | |
| why doesn't nqp have hash literals? | 09:17 | ||
| purl: msg dukeleto, I just noticed Blizkost doesn't have a license! Is Artistic 2.0 (same as Parrot) acceptable to you? | 09:28 | ||
| purl | Sorry, I've never seen dukeleto, before. | ||
| sorear | purl: msg dukeleto - I just noticed Blizkost doesn't have a license! Is Artistic 2.0 (same as Parrot) acceptable to you? | ||
| purl | Message for dukeleto stored. | ||
| sorear | seen fperrad | ||
| purl | fperrad was last seen on #perlfr 16 hours, 31 minutes and 25 seconds ago, saying: > say("hello"); | ||
| sorear | purl: msg fperrad - I just noticed Blizkost doesn't have a license! Is Artistic 2.0 (same as Parrot) acceptable to you? | 09:29 | |
| purl | Message for fperrad stored. | ||
|
09:49
snarkyboojum joined
10:16
JimmyZ joined
10:18
fperrad joined
|
|||
| sorear | hey fperrad | 10:24 | |
|
10:56
clinton joined
12:40
mib_ltira4 joined
12:41
mib_ltira4 left,
mib_ltira4 joined
12:46
sockmister joined
12:47
ferminter joined,
mib_hqxu69 joined
12:49
mikehh joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32998), fulltest) at r45400 - Ubuntu 10.04 beta amd64 (g++ with --optimize) | 13:02 | |
|
13:03
hangulee joined
|
|||
| hangulee | hello! | 13:03 | |
| moritz | good localtime() | 13:18 | |
|
13:26
khairul joined
13:32
jj joined
|
|||
| dalek | kudo: 6fd5479 | (Solomon Foster)++ | src/core/ (4 files): Define Bridge method for the real types. |
13:37 | |
|
13:38
TiMBuS joined
13:42
dalek joined
|
|||
| mikehh | got to reboot - bbiab | 13:47 | |
|
13:49
GodFather joined
13:51
GodFather joined
13:52
GodFather joined
|
|||
| dalek | kudo: c570328 | moritz++ | t/spectest.data: we do not actually pass export.t - no idea why I thought we did :( moritz-- |
13:59 | |
|
14:08
mib_jb1mgu joined
14:15
mikehh joined
14:30
lucian joined
14:47
Briankim joined
15:04
kjeldahl joined
15:13
snarkyboojum joined
15:20
theory joined
15:34
gaurav joined
15:47
leprevost joined
|
|||
| dalek | kudo: 02cf9c3 | moritz++ | t/spectest.data: we pass S03-operators/autovivification.t |
16:09 | |
|
16:36
davidfetter joined
16:39
eric_j joined
17:03
knewt joined
17:09
Mokurai1 joined
17:13
payload joined
17:22
tetragon joined
18:47
leprevost joined
19:13
fperrad joined
19:14
tcurtis joined
19:16
GeJ joined
|
|||
| arnsholt | How do I compare two PMC for identity (same pointer, essentially)? | 19:26 | |
| == doesn't seem to be it | |||
| sorear | issame? | 19:31 | |
| purl | issame is supposed to simply determine if two PMC registers are the same PMC. | ||
| arnsholt | Sounds like an excellent plan. Thanks! | 19:32 | |
| sorear | fperrad: ping | ||
| arnsholt | That works. Thanks a bunch! | 19:33 | |
| The Parrotlog guts now have what seems to be working mark/cut =D | 19:34 | ||
|
19:36
fperrad_ joined
|
|||
| darbelo | Parrotlog? | 19:37 | |
| purl | Parrotlog is irclog.perlgeek.de/parrot/ | ||
| tcurtis | Are there any more detailed NQP docs than the Grammar Actions chapter of the PCT book? | 19:46 | |
| darbelo | I don't know of any. The latest nqp is self-hosting, if you are willing to accept code for docs. | 19:49 | |
| nqp-rx? | |||
| purl | i think nqp-rx is github.com/perl6/nqp-rx | ||
| darbelo | I think pmichaud was working on some introductory nqp docs before getting sidetracked with rl issues. | 19:52 | |
| But I don't know if that ever got posted to the internets. | |||
| sorear | NQP is basically just the largest subset of Perl 6 that can run without library support | ||
| with a few annoying omissions | 19:53 | ||
| would anyone object if I added anonymous hash constructors to NQP? | |||
| and :flat hash arguments? | |||
| darbelo | Parrot treats it as an external component. We just pull from pmichaud's repo and ship it. | 19:54 | |
| Now that I think of it, japhb was campaigning for those some time back. | 19:55 | ||
| I don't recall what kind of answer he got. | 19:56 | ||
| sorear | the lack of them just bit me | ||
|
19:56
joeri joined
|
|||
| tcurtis | I'm mainly wondering how close it is to PIR? Would NQP be to PIR as C is to assembly, as Perl is to assembly, or as Perl is to C? Or would none of those analogies be accurate? | 19:57 | |
| sorear | NQP is to PIR as C-- is to assembly | 19:59 | |
| darbelo | Except with a perlier sytax ;) | ||
| sorear | I'd also like to add tailcalls and Q:PIR interpolations | 20:00 | |
| arnsholt | darbelo: Parrotlog is my (stil nascent) Prolog on Parrot project | 20:08 | |
| purl: parrotlog is github.com/arnsholt/parrotlog | |||
| purl | ...but parrotlog is irclog.perlgeek.de/parrot/... | ||
| arnsholt | parrotlog? | ||
| purl | parrotlog is irclog.perlgeek.de/parrot/ | ||
| moritz | purl: parrotlog is also prolog on parrot by arnsholt++ | 20:10 | |
| parrotlog? | |||
| purl | it has been said that parrotlog is irclog.perlgeek.de/parrot/ | ||
| moritz | argl | ||
| arnsholt | Indeed | 20:14 | |
| moritz | purl: no, parrotlog is <reply>irclog.perlgeek.de/parrot/ or prolog on parrot by arnsholt++ | 20:16 | |
| purl, parrotlog? | |||
| purl | parrotlog is irclog.perlgeek.de/parrot/ | ||
| moritz gives up | |||
| arnsholt | purl: help | 20:17 | |
| purl | #perl is not a help channel, and I'm not a help bot. If you want Perl help, try #perl-help or #metallica. or (see the 'help channel' factoid as well) or | ||
| arnsholt | purl: help purl | 20:18 | |
| purl | arnsholt: excuse me? | ||
| arnsholt gives up too | |||
| tcurtis | Isn't C-- intended for use purely as a compiler target? Wouldn't PIR be the C-- to PASM's assembly? C-- doesn't even have loops, no? | 20:22 | |
| arnsholt | PIR doesn't have loops either | 20:23 | |
| Only goto | |||
| tcurtis | But, NQP does, doesn't it? | 20:24 | |
| darbelo | Yes, NQP is a full language. | ||
| Except for the no-library thing, that is. | 20:25 | ||
| moritz | right; NQP intends to have no runtime | 20:26 | |
| (or just very, very little) | |||
| except what parrot natively provides, of course | |||
| arnsholt | NQP is a lot more practical to work with | 20:27 | |
| At least that's my feeling, but I've never really done any assembly programming either, so my opinion might not count that much =) | 20:28 | ||
| tcurtis | sorear said that NQP is to PIR as C-- is to assembly. That confused me a bit, given how low-level C-- is. | ||
| arnsholt | I suppose you could say that NQP is to Perl 6 as C-- is to C | 20:31 | |
| darbelo | I think sorear's point is that NQP isn't meant as a stand-alone language. | 20:34 | |
| For example it has no runtime library, so it only does what parrot does. | 20:35 | ||
| It's a good language to write compilers in, but it lacks certain general purpose features that you would expect from a 'full' language. | 20:36 | ||
| Kiond of a "Perl 6 dressing up as a DSL" thing. | 20:37 | ||
| s/Kiond/Kind/ | |||
| No, "A DSL dressing up as Perl 6" is more like it. | 20:38 | ||
| Of course, that hasn't stopped people from using it as a general purpose language at all. | 20:39 | ||
| See kakapo, or even plumage for an example of that. | |||
| tcurtis | Would it be useful perhaps to have a language with a more general-purpose focus that mapped fairly closely to PIR? | 20:45 | |
| darbelo | If you map close enough to PIR, you end up with NQP in a different syntax. | 20:46 | |
| How useful that would be I have no clue. I'm more of a vm guy. | |||
| NQP has no library, in part, because it maps pretty closely to PIR and parrot features. | 20:49 | ||
| But maybe I'm not really understanding your question. | 20:52 | ||
| dalek | kudo: 72fd9a8 | jonathan++ | (12 files): Run program bodies within the lexical scope of the setting. There's still some things that aren't going to work out just yet, but this is at least the first 80%. :-) Also fix up a $*SCOPE leakage that meant we accidentally the our-scope for many things that should have been has or my scoped. Please re-configure; this may also break some code that wasn't assuming lexical scope by default. |
||
| darbelo | IMO, NQP hadles it's niche pretty well. That's all I'm trying to say. | 20:53 | |
| s/hadles/handles/ | 20:55 | ||
| arnsholt | Can I make my NQP classes implement PMC vtable methods somehow? | 21:05 | |
| tcurtis | I think I'm just looking for an excuse to design a language and work on a Parrot compiler for it. But I think I'm going to instead look and see if it would be possible to rewrite the things in runtime/parrot/library in NQP without slowing things down. That seems more likely to be useful. | 21:06 | |
| darbelo | tcurtis: Please, don't let me discourage you. We *like* having plenty of languages. | 21:07 | |
| Take Close for example, it's pretty much 'NQP with C syntax'. | 21:09 | ||
| And that is not a bad thing at all. | |||
| dalek | kudo: 33b0082 | jonathan++ | src/core/Any-list.pm: Start to remove some our declarations, now that the setting lexically encloses the program. |
21:16 | |
| darbelo | That reminds me... | 21:29 | |
| purl: msg Austin Hey, is Close still in development? Looks awfully quiet from over here. | 21:30 | ||
| purl | Message for austin stored. | ||
| dalek | kudo: dc3ff3b | jonathan++ | src/core/Any-num.pm: More removal of our. |
21:38 | |
| japhb | Someone mentioned me/Plumage in regards to anon hash composers in NQP. | 21:39 | |
| darbelo | Kind of. | 21:40 | |
| japhb | This turned out to be somewhat painful to implement in NQP for deep reasons I don't entirely understand. | ||
| So the canonical replacement is putting this function in your program: | |||
| sub hash(*%h) { %h } | |||
| And then use hash() rather than {} to compose hashes | 21:41 | ||
| darbelo | Ah, sorear was asking about them, and I remembered that you had asked pmichaud to add them some time ago. | ||
|
21:41
chromatic joined
|
|||
| japhb | chromatic: Catching up on twitter, I noticed your comment a few days ago about making Rakudo compiles 5x faster. That should be shouted from the rooftops in a lot of venues, if you haven't already (I haven't backlogged b.p.o or u.p.o yet) | 21:43 | |
| And what was the revision that had the change in it? | |||
| darbelo climbs to his rooftop, idly wondering if his neighbour will care... | 21:44 | ||
| chromatic | This was after we slowed it down some four times. | 21:45 | |
| japhb | Clearly if they don't, you need better neighbors. ;-) | ||
| oh. crap. | |||
| sigh | |||
| chromatic | r45367 was the speedup. | ||
| moritz | still the memory usage was cut down by a factor of two if you combine those changes | ||
| japhb | Here I was thinking the easter bunny brought something for dad .... | 21:46 | |
| chromatic | It's definitely faster than it was. | ||
| japhb | Amazing how much difference the little things make | 21:49 | |
|
21:54
patspam joined
|
|||
| chromatic | A little thing done a few million times ceases to be a little thing. | 21:55 | |
| dalek | kudo: c467c5c | jonathan++ | docs/ROADMAP: Item assignment is done and tested, so move to done section of the ROADMAP. |
21:56 | |
|
22:00
ash_ joined
22:01
cognominal joined
|
|||
| dalek | kudo: f5b18c9 | jonathan++ | src/core/A (2 files): More removal of our; this is probably so far as we can go for now. |
22:08 | |
|
22:13
leprevost joined
|
|||
| arnsholt | ARG! Unification completely breaks my brain >.< | 22:52 | |
|
22:54
leprevost joined
23:03
theory joined
|
|||
| dalek | kudo: c9db3d6 | jonathan++ | src/Perl6/ (2 files): Fix use of %_ and @_ when they've been declared in a signature (or auto-included in the case of methods). |
23:11 | |
|
23:44
ash_ joined
23:45
jsut_ joined
|
|||
| dalek | izkost: 4437dfe | sorear++ | CREDITS: Fix a formatting error in CREDITS |
23:49 | |
| izkost: b2347f6 | sorear++ | TODO: Bring TODO up to date |
|||
| dukeleto | 'ello | 23:58 | |