|
Parrot 2.3.0 will be released at 2010-04-20 10:00 UTC | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Priority: documentation sprint and pre-release testing for 2.3, fix line number annotations | Review and vote GSoC applications Set by moderator on 18 April 2010. |
|||
|
00:00
allison joined
|
|||
| chromatic | ... but I'm not holding my breath for that. | 00:00 | |
| Whiteknight | thanks chromatic! you're the bestest!!! | 00:03 | |
| it seems my gratitude was so moving and so sincere that chromatic had to sign off and weep privately | 00:08 | ||
| Infinoid | heh. so moving he fell off the internet :) | 00:09 | |
| Whiteknight | ...and before I do any more good, I'm signing off for the night | 00:11 | |
| goodnight | |||
| GeJ | clock? | 00:12 | |
| purl | GeJ: LAX: Sun 5:12pm PDT / CHI: Sun 7:12pm CDT / NYC: Sun 8:12pm EDT / LON: Mon 1:12am BST / BER: Mon 2:12am CEST / IND: Mon 5:42am IST / TOK: Mon 9:12am JST / SYD: Mon 10:12am EST / | ||
|
00:18
theory joined
|
|||
| japhb | allison, ping | 00:22 | |
| allison | japhb: pong | 00:23 | |
| japhb | Will you have a chance to look at my grant proposal draft before #ps? I know 2.3 is probably eating your time .... | 00:24 | |
| allison | I started to look it over and got sucked away | 00:25 | |
| will finish up now... | |||
| japhb | ah | ||
| thanks! | |||
| Any comments appreciated, because I will use this one as a template for any future proposals .... | 00:26 | ||
| allison | japhb: it's a good modular task, and seems completable in the time suggested | 00:32 | |
| japhb | Well, that's a good start. :-) | ||
| allison | japhb: (typing out responses as I go) | 00:33 | |
| japhb | np[ | ||
| allison | japhb: you did a good job of illustrating why this feature is architecturally pervasive, why it has a broad impact on the system. But, the question I was left with "Is this the single most important task to complete next in order to ship Plumage" | 00:34 | |
|
00:35
preflex joined
|
|||
| japhb | Ah, good point. | 00:35 | |
| allison | japhb: that could be worked into the text | ||
| japhb | Perhaps it would help to put in a brief section about what other major tasks I think there are. | ||
| I had roughed out plans for 3-4 grant projects of similar size. | 00:36 | ||
| Putting this one in the context of the others seems useful. | |||
| allison | japhb: also, if there is a C++ MiniSat implementation available which could be linked in via NCI as a fallback, would it not do as an initial prototype? | ||
| japhb: yes, the context is helpful | 00:37 | ||
| japhb: (back to MiniSat) especially since there are questions whether NQP is the best language for the task given speed questions | |||
| japhb | Hmmm. Yes, I could reverse the priority order of the two ... I had been doing NQP plan first in order to reduce the number of native libraries I needed for a base Plumage. | 00:38 | |
| But if you have no objection, then neither do I ... | 00:39 | ||
| allison | japhb: yes, that is a good goal, since we've been avoiding dependencies from Parrot as much as possible | ||
| japhb: but, I'm also keeping in mind the duplication of effort | |||
| japhb | nod | ||
|
00:41
Mokurai1 left
00:42
cosimo joined
|
|||
| allison | japhb: and I do think using SAT solvers for package dependencies is an excellent idea | 00:42 | |
| japhb | :-) | ||
| allison | japhb: (curiously, I am right now in the middle of an assignment demonstrating that if 3SAT were reducible to a unary language, then P = NP) | 00:43 | |
| japhb: (a bit of a waste, considering it's highly unlikely that P = NP, but an interesting problem anyway) | 00:44 | ||
| japhb | Amazing how often these coincidences happen ... | ||
| allison | japhb: those were all the comments I had on the proposal, happy to have the board look at it | ||
| japhb | OK, great. I'll work on the two major edits (switch to C++ MiniSat as primary method, and add section discussing context of other Plumage work), and then send it to you for the board to look at. | 00:46 | |
| Thanks for reviewing the draft, allison! | |||
|
00:52
lucian joined
|
|||
| allison | jabphb: great! glad to help | 00:54 | |
|
01:13
elmex joined
01:18
Mokurai joined
01:20
Mokurai1 joined
01:21
eternaleye joined
|
|||
| kid51 | make fulltest PASS linux/i386 f45789 | 01:24 | |
|
01:27
plobsing joined
01:57
abqar joined
02:16
Andy joined
02:21
cosimo joined
02:42
janus joined
03:07
kurahaupo joined
03:29
Andy joined
03:38
allison joined
|
|||
| GeJ | make fulltest PASS FreeBSD/amd64 trunk @r45789 | 03:56 | |
| Andy | g++ 4.5.0 is more fussy about pointer conversions | 04:11 | |
| so now t/src/extend.t is failing. | |||
| GeJ | did anyone try to build Parrot with clang? | 04:12 | |
| sorear | I have clang and parrot, I'll try if someone gives me documentation on how | 04:21 | |
| last time I tried to build a nontrivial project with clang, clang tried to parse the GNU libstdc++ headers and failed horribly | 04:22 | ||
| Andy | I haven't actually installed clang before | 04:26 | |
| But I want to | 04:27 | ||
| because I like compilers | |||
| and their warnings | |||
| GeJ | I have no previous experience with clang whatsoever. I just read a post this week-end saying that people successfully built FreeBSD with it. | 04:28 | |
| It got me wondering if someone ever tried to build Parrot. | 04:29 | ||
| Okay. Let's build llvm and see how it goes. | 04:31 | ||
| sorear | iirc freebsd is trying to move the base system from gcc to clang anyway, so it's not terribly suprising they've made it work | 04:40 | |
|
04:41
JimmyZ joined
|
|||
| JimmyZ | make fulltest failed on windows XP with strawberry perl with --optimize | 04:42 | |
| Test Summary Report | |||
| ------------------- | |||
| t/pmc/eval.t (Wstat: 512 Tests: 17 Failed: 2) | |||
| Failed tests: 10, 12 | |||
| bacek_at_work | wow. All test passed trunk + clang on Debian/testing | 04:48 | |
| GeJ | sorear: GPLv3 problem. FreeBSD is stuck with gcc 4.2 as the base compiler. LLVM/clang licencing fits better FreeBSD (and other *BSDs I suspect) distribution system. | 04:59 | |
|
04:59
rurban_ joined
|
|||
| dalek | rrot: r45790 | petdance++ | trunk/t/src/embed.t: properly consting argv |
05:44 | |
|
05:45
aukjan joined
05:50
davidfetter joined
05:56
uniejo joined
06:00
allison joined
|
|||
| dalek | rrot: r45791 | petdance++ | trunk (9 files): correcting all the argv to be "const char **argv" |
06:00 | |
| rrot: r45792 | petdance++ | trunk/t/src/warnings.t: fix decaration of argv |
|||
| rrot: r45793 | petdance++ | trunk/src/gc/alloc_resources.c: shut down warning on unused interp |
|||
| sorear | attempting to build parrot with clang almost worked | 06:03 | |
| it got to the very end, then linking libparrot.so failed because src/pmc/bigint.o and src/pmc/bignum.o define a lot of the same symbols starting with __gmp[nqz]_ | 06:05 | ||
| ttbot | Parrot trunk/ r45794 i386-linux-thread-multi make error tt.taptinder.org/file/cmdout/269620.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 06:10 | |
| dalek | rrot: r45794 | petdance++ | trunk/src/thread.c: removed unused interp args from static functions |
06:17 | |
| szabgab | NotFound, so I was told I need to try to convince you to create an Android port of Parrot ? I added a request to the "android-scripting" thing code.google.com/p/android-scripting...ail?id=296 and many people upvoted it already but I guess it will be much faster if you could help them out | 06:31 | |
|
06:32
iblechbot joined
|
|||
| dalek | rrot: r45795 | petdance++ | trunk/src/thread.c: restored interps to a couple of functions that actually need them |
06:33 | |
|
06:37
chromatic joined
|
|||
| chromatic | I keep intending to ask Chris Dibona at Google for some Nexus One hardware. | 06:42 | |
| szabgab | we are going to have a "Perl on Android" talk on the 28th in Haifa in the offices of Qualcomm | 06:56 | |
| and as I understand they are quite involved in Android too | |||
| it would be awesome to show Perl 6 running on Android as well | |||
| chromatic | If we could get some kit, it should be possible to bring it up. | 06:57 | |
| szabgab | I am mostly using the emulator | ||
| it is much more convenient than a real device | 06:58 | ||
| treed | Are there any Android devices that are actually open, dev-wise? | 06:59 | |
| ISTR that some of the bigger ones did not permit you enough freedom to actually muck around with the internals. | |||
| szabgab | as I understand there are 2 | ||
| treed | Just the G1 was open, I'd heard, and you couldn't use the marketplace because of it. | ||
| Which is just... really? | |||
| szabgab | see "dev phones" developer.android.com/index.html | ||
| treed | Makes me sad. | ||
| chromatic | I thought you could use the G1 Dev phone with the marketplace. | 07:05 | |
|
07:06
fperrad joined
|
|||
| szabgab | I have an archos 5 that does not have marketplace out of the box but there is an app floating around that allows you to add the marketplace, maybe there is one for G1 Dev as well ? | 07:08 | |
| treed | chromatic: My understanding was that they didn't want to permit it because having root meant that you could break their DRM and pirate apps. | 07:11 | |
| Or maybe you can have the marketplace, but not any paid apps. | |||
| chromatic | That may be. I remember hearing something about dev phones being able to subvert the payment mechanism. | 07:14 | |
| szabgab | you know the interesting thing I found is that some of the bugs reported against the perl on Android are fixed by Jarkko | 07:18 | |
| treed | does perl on the android have access to the UI libraries? | ||
| szabgab | it can create some limited dialogs | 07:19 | |
| so far that's what I found | |||
| treed | I'd love to be able to do full apps on android. | ||
| But I don't want to do it in Java. | |||
| I had hopes for running macruby on the iphone, but the new provision does away with any chances of that. | 07:20 | ||
| szabgab | I believe the more people ask for perl related things on the android-scripting list the more chance we have for improves support | ||
| treed | Assholes. | ||
| purl | assholes is at www.gopostal.net/GoPostal.html or at www.whitehouse.gov or at www.mastercard.com or at www.manpages.com/ or www.whitehouse.com or no longer at goatse.cx or at www.bezeqint.net or at www.netvision.net.il | ||
| szabgab | so I opened some 10 tickets | 07:21 | |
| and Parrot is currently the most requested new feature | |||
| treed | Heh. | 07:22 | |
| searching for perl on android | |||
| blogs.perl.org/users/gabor_szabo/20...droid.html | |||
| Go figure. :-P | |||
|
07:24
fperrad_ joined
|
|||
| treed | bedtime | 07:25 | |
| kurahaupo | q | 07:44 | |
|
07:54
allison joined
|
|||
| dalek | rrot: r45796 | mikehh++ | trunk/src/parrot_debugger.c: fix codetest failure - change function documentation to reflect consting |
07:54 | |
|
08:06
muixirt joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33280), fulltest) at r45796 - Ubuntu 10.04 beta i386 (g++ with --optimize) | 08:09 | |
| muixirt | good morning | ||
| purl | Good Morning Mr Rogers | ||
| mikehh | hi | ||
| muixirt | there is a memory leak in parrot | 08:10 | |
| are there issues again with the gc | 08:11 | ||
| ? | |||
| nopaste | "muixirt" at 192.168.1.3 pasted "memory leak" (8 lines) at nopaste.snit.ch/20302 | 08:13 | |
| moritz | do we have any such high level tests in the test suite? | 08:14 | |
| mikehh | probably not - there are a lot of areas missing tests - more tests are always welcome | 08:16 | |
| moritz | do we have portable means to obtain the memory usage of a parrot interpreter? | 08:17 | |
| chromatic | That's not a leak. | 08:19 | |
| muixirt | chromatic: why not? | ||
| chromatic | It grows way too slowly to be a leak. | ||
| I've had it running for 2.5 minutes and it's using 158 MB RSS. | 08:20 | ||
| moritz | so... fragmentation? | ||
| muixirt | chromatic: it does bad things to rakudo | ||
| mikehh | when would it invoke the gc | ||
| chromatic | There's no upper bound on the GC. | 08:21 | |
| There should be, but we don't have one. | |||
|
08:21
iblechbot joined
|
|||
| mikehh | I thought you were looking at cases when it got above a certain limit it would invoke | 08:21 | |
| chromatic | Yes, we've had that for several weeks now. | 08:22 | |
| With a million iterations, Valgrind says: ==516== All heap blocks were freed -- no leaks are possible | 08:23 | ||
| With ten million iterations, Valgrind says: ==546== All heap blocks were freed -- no leaks are possible | 08:25 | ||
| After the 2.3 release, I'll look at the GC threshold to see if we can find a better tuning. | 08:26 | ||
| mikehh switching to amd64 - bbiab | 08:27 | ||
| mikehh well I was going to - need to check something first | 08:29 | ||
|
08:29
gerd joined
|
|||
| muixirt | chromatic: so what would be the correct wording for that issue? | 08:30 | |
| chromatic | GC tuning request. | 08:31 | |
| muixirt | noted | ||
| chromatic | It's definitely related to something in the threshold code though. I disabled it and the GC runs a lot more often, but there's no memory growth. | 08:36 | |
| nopaste | "muixirt" at 192.168.1.3 pasted "GC tuning request" (8 lines) at nopaste.snit.ch/20303 | 08:39 | |
|
08:41
fperrad joined
08:44
clinton joined
|
|||
| chromatic | Informed guess: the growth in memory is from the memory overhead of allocating new pools. | 08:56 | |
| nopaste | "chromatic" at 192.168.1.3 pasted "muixirt: GC tuning patch to test with Rakudo" (13 lines) at nopaste.snit.ch/20304 | 09:00 | |
| dalek | rrot: r45797 | gerd++ | trunk/NEWS: add this important news for HLL developers |
||
| kudo: a8e70ac | moritz++ | build/ (2 files): bump PARROT_REVISION, and change config_lib from .pasm to .pir trac.parrot.org/parrot/ticket/1560 |
09:06 | ||
| chromatic | ... except that tuning patch ruins performance. | 09:10 | |
| muixirt | chromatic: well it eats up memory more slowly | 09:12 | |
| chromatic | My recommendation: figure out which parts of NQP churn through so many PMCs and possibly STRINGs and fix that. | 09:13 | |
| I can make Rakudo build really quickly if you have lots of memory. | 09:14 | ||
| I can make Rakudo build in a little bit of memory if you have lots of time. | |||
| muixirt | chromatic: so it's only a little step to combine that... | 09:15 | |
| chromatic | If you want Rakudo to build quickly and not use lots of memory, someone who is not me will have to profile and tune NQP. | ||
| bacek and allison and I will fix the compact_pool shenanigans and continue to tune and adapt Parrot's GC. | 09:16 | ||
| muixirt | do you mean NQP itself (as a parrot component) or the NQP scripts in the rakudo repo? | ||
| chromatic | Probably NQP itself, though perhaps Rakudo's NQP programs. | 09:17 | |
| muixirt | i hope any rakudo dev read what chromatic wrote :-) | ||
| chromatic | moritz and pmichaud are usually good about that. | ||
| I have one more idea I will try in the morning. | 09:18 | ||
| moritz never profiled anything NQPish successfully | |||
| chromatic | In my experience, it's figuring out what gets called a lot, and then seeing if you can delay the creation/allocation of a resource until it's necessary. | 09:19 | |
| Lazy error reporting can help a lot. | 09:20 | ||
| muixirt | so where is NQP currently developed, in the parrot repo or at github? | 09:21 | |
| chromatic | Github, I think. | 09:22 | |
| moritz | github.com/perl6/nqp-rx | 09:27 | |
| muixirt | and pmichaud updates the parrot repo every now and then? | 09:28 | |
| moritz | yes | ||
|
09:36
mikehh joined
09:42
allison joined
09:47
riffraff joined
|
|||
| muixirt | o boy, with chromatic patch it takes ages to build rakudo | 09:47 | |
| chromatic | Yep. | 09:49 | |
| bacek | o/ | 09:52 | |
| Good evening, lazybones | 09:53 | ||
|
09:59
cotto joined
|
|||
| dalek | TT #1561 created by bacek++: Auto-vivification of nested aggregates is deprecated. | 10:03 | |
| TT #1561: trac.parrot.org/parrot/ticket/1561 | |||
| mikehh | clock | 10:04 | |
| clock? | |||
| purl | mikehh: LAX: Mon 3:04am PDT / CHI: Mon 5:04am CDT / NYC: Mon 6:04am EDT / LON: Mon 11:04am BST / BER: Mon 12:04pm CEST / IND: Mon 3:34pm IST / TOK: Mon 7:04pm JST / SYD: Mon 8:04pm EST / | ||
| dalek | rrot: r45798 | bacek++ | trunk/DEPRECATED.pod: Deprecate nested aggregates auto-vivification. |
10:05 | |
|
10:14
allison joined
|
|||
| dalek | kudo: 5386067 | moritz++ | src/core/Signature.pm: work around TT #1560 |
10:15 | |
| mikehh | are we going to do anything regarding deprecating runcores before the release? | 10:21 | |
|
10:24
allison joined
|
|||
| bacek | mikehh, just create ticket and put note into DEPRECATION.pod | 10:31 | |
| mikehh | bacek: not quite sure what to say there | 10:36 | |
| I think it's a good idea to remove 'experimental' perhaps runcores, i.e. those that do not seem to be used and look at adding new ones - i.e. jit | 10:37 | ||
| dalek | rrot: r45799 | fperrad++ | trunk (3 files): [TAP] add options --merge & --ignore-exit |
10:38 | |
| muixirt | 9.7 GB! And i wondered why it took so long with the profiling runcore :-) | 10:43 | |
|
10:43
aukjan joined
11:07
fperrad_ joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33285), fulltest) at r45799 - Ubuntu 10.04 beta amd64 (g++ with --optimize) | 11:07 | |
|
11:41
tetragon joined
11:42
bkuhn joined
11:50
petdance joined
12:00
kid51 joined
|
|||
| kid51 | make fulltest: PASS: darwin/ppc at r 45789 | 12:00 | |
|
12:18
Mokurai1 joined
12:25
whiteknight joined
12:27
iblechbot joined
12:42
ruoso joined
|
|||
| whiteknight | good morning, #parrot | 12:45 | |
| muixirt | hi whiteknight | 12:48 | |
| mikehh | hi there, whiteknight | 12:49 | |
| whiteknight | hello muixirt, mikehh | ||
|
13:00
rurban_ joined
13:18
patspam joined,
lucian joined
|
|||
| dalek | rrot: r45800 | mikehh++ | trunk/compilers/imcc/instructions.c: add missing documentation |
13:24 | |
|
13:27
jozef joined
13:29
khairul joined
13:32
jozef left
13:35
petdance joined
|
|||
| dalek | rrot: r45801 | bacek++ | branches/compact_pool_revamp/src/gc (2 files): Start calculating actually freed space in Memory_Blocks |
13:46 | |
| rrot: r45802 | bacek++ | branches/compact_pool_revamp/src/gc (2 files): Use Memory_Block->freed for calculating skip list |
|||
|
13:50
fperrad_ joined
13:52
PacoLinux joined
13:56
atrodo joined
|
|||
| dalek | TT #1562 created by doughera++: Silence Configure.pl warnings about ccwarn when the default compiler is ... | 13:57 | |
| TT #1562: trac.parrot.org/parrot/ticket/1562 | |||
| rrot: r45803 | mikehh++ | trunk/compilers/imcc/optimizer.c: add missing documentation |
14:02 | ||
| rrot: r45804 | mikehh++ | trunk (2 files): remove passing tests from TODO list, and fix copyright I missed |
|||
|
14:04
ash_ joined
|
|||
| mikehh | hmmnnn - can't seem to find any usage of var_arg_ins from compilers/imcc/parser_util.c | 14:14 | |
| NotFound | <szabgab> NotFound, so I was told I need to try to convince you to create an Android port of Parrot ? --> Just tell google to send me a few phones to test on. | ||
| And a few netbooks, for completeness. | 14:16 | ||
|
14:17
smash joined
|
|||
| smash | hello everyone | 14:17 | |
| mikehh | hi smash | 14:18 | |
| ash_ | i am getting new complaints i have not seen before when i configure parrot, complaining about opengl headers. is that known? | ||
| (i am on os x if that makes a difference) | |||
| particle | did you upgrade your opengl, or get it upgraded? | ||
| opengl is particularly finickey | |||
| ash_ | os x has only 1 version of opengl, so... no, i haven't changed it | 14:19 | |
| mikehh | had the problem before when I added some new opengl functionality | ||
| dalek | rrot: r45805 | bacek++ | branches/compact_pool_revamp/src/gc/alloc_resources.c: Don't skip blocks with a lot of _free_ memory. |
||
| rrot: r45806 | bacek++ | branches/compact_pool_revamp/src/gc/mark_sweep.c: Don't try to be smart for Buffer without allocated buffer in free_buffer. |
|||
| ash_ | well, okay, i misspoke, there are 3 version of open gl in os x based off your hardware support (either 2.1, 2.0 or 1.4) but almost all os x machines have the 2.1 | 14:21 | |
| NotFound | bacek: ping | ||
| bacek | NotFound, pong | ||
|
14:22
bubaflub joined
|
|||
| NotFound | bacek: there is no decision about deprecation releases for auto_attrs related things. | 14:22 | |
| bacek | NotFound, and? Just put deprecation notice. Start bailing out on pmcs without (auto|manual)_attrs. | 14:23 | |
| After 2.3 | |||
| holy... | 14:24 | ||
| It's tomorrow again. | |||
| szabgab | NotFound, I'll do that (re talk to Google) could you in the meantime use the emulator ? | ||
| it is actually easier to use than a phone | 14:25 | ||
| bacek probably will sleep over tomorrow's #ps | |||
| NotFound | szabgab: I was joking. I have already more projects than I can manage. | ||
| szabgab | :( | ||
| NotFound | Maybe I must create a company to take care, and then sell it to google ;) | 14:28 | |
| I'm a humble guy, just few million euros will make me happy. | |||
|
14:30
dmagnus joined
|
|||
| bacek | Money doesn't make any difference | 14:31 | |
| People with 10 millions aren't happier than people with 9. | |||
| NotFound | bacek: I'm already different enough, just want the money ;) | 14:32 | |
| bacek | anyway | 14:33 | |
| bed time | |||
| purl | bed time is probably a good idea | ||
| bacek | night | ||
| szabgab | where are you NotFound ? | 14:38 | |
| NotFound | szabgab: Spain | 14:39 | |
|
14:47
davidfetter joined
14:51
ash__ joined
|
|||
| dalek | rrot: r45807 | NotFound++ | trunk/DEPRECATED.pod: add deprecation notice for TT #1506 |
14:52 | |
| ash__ | what kind of internal representation are pmc's in? is there a document that decribes it? or should i go find a header file? | 14:53 | |
| NotFound | ash__: pobj.h | 14:55 | |
| ash__ | thanks, i'll find that | 14:56 | |
|
15:00
ash_ joined
15:06
Andy joined
|
|||
| dalek | kudo: 1fc9d8a | moritz++ | docs/release_guide.pod: masak++ does the June release |
15:12 | |
| p-rx: 18c5d12 | pmichaud++ | src/HLL/ (2 files): Remove \\e from quoted-string handling, it's too P6-specific to The other escape sequences (\\f, \\0, etc.) can stay, though. |
15:15 | ||
| p-rx: 3ac0b79 | pmichaud++ | src/NQP/ (2 files): Add \\e quote_escape to NQP. |
|||
| kudo: 796c566 | pmichaud++ | docs/release_guide.pod: Remove myself from the April release manager -- open for others. |
15:17 | ||
| rrot: r45808 | petdance++ | trunk/t/src/basic.t: properly consted argv |
15:41 | ||
| japhb | ash_, I'm the guy to take a look at OpenGL header warnings. Can you nopaste, plz? | 15:44 | |
| ash_ | sure | ||
| do you want the full output of the configure or just the messages? | |||
| paste.lisp.org/display/97988 is just the errors | 15:46 | ||
| japhb | ash_, ah. Looks like Apple decided to futz with their header formatting again. | 15:50 | |
| OK, can you tar up /System/Library/Frameworks/OpenGL.framework/Headers/ please? | |||
| ash_ | sure | ||
| japhb | (er, and send it to me) | ||
| dalek | kudo: fe6ca94 | masak++ | docs/release_guide.pod: [release_guide.pod] vacant slots more visually distinct |
15:52 | |
| ash_ | japhb: greaterthaninfinity.com/wp-content/...eaders.zip | 15:53 | |
| if you need anything else, let me know | |||
| japhb | What Mac OS release do you have? | 15:54 | |
| ash_ | 10.6.3 | ||
| japhb | thx | ||
| ash_ | uname -a | ||
| purl | Infobot 0.43.3 alpha (oznoid+#perl) | ||
| ash_ | Darwin Strudel.local 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386 | ||
| japhb | I have a meeting coming up, but I can look at it later today. How long will you be around? | 15:55 | |
| ash_ | i'll be here for another hour, then again this afternoon | ||
| japhb | Ah, what's your TZ? | ||
| ash_ | US central | 15:56 | |
| japhb | OK, great. I'll contact you this afternoon, most likely | ||
|
15:56
fperrad_ joined
|
|||
| dalek | kudo: ba591c9 | masak++ | docs/release_guide.pod: [release_guide.pod] one more slot |
15:58 | |
|
15:59
rurban joined
16:02
theory joined
16:06
NordQ joined
16:16
NordQ joined
16:18
NordQ joined
16:20
zostay_ joined
16:24
NordQ joined
16:26
NordQ joined
16:28
NordQ joined
|
|||
| dalek | TT #1562 closed by coke++: Silence Configure.pl warnings about ccwarn when the default compiler is ... | 16:30 | |
| TT #1562: trac.parrot.org/parrot/ticket/1562 | |||
|
16:33
brooksbp_ joined
|
|||
| dalek | rrot: r45809 | coke++ | trunk/config/init/defaults.pm: Don't try to use ccwarn in this case, since it doesn't necessarily exist. |
16:34 | |
|
16:37
NordQ joined
16:39
chromatic joined
16:42
Mokurai joined
16:46
NordQ joined
16:48
NordQ joined
16:49
NordQ left
16:55
Andy joined
|
|||
| Coke | ccwarn could be schwern! | 17:01 | |
|
17:02
cotto_work joined
|
|||
| dalek | rrot: r45810 | fperrad++ | trunk/runtime/parrot/library/TAP/Parser.pir: [TAP] small fix |
17:02 | |
| rrot: r45811 | fperrad++ | trunk/runtime/parrot/library/TAP/Harness.pir: [TAP] put extra files in archive |
|||
|
17:04
joeri joined
|
|||
| cotto_work | ouch: www.google.com/search?q=site:pasteb...EY-----%22 | 17:10 | |
|
17:11
fperrad joined
|
|||
| darbelo | Oh look, there's mine! I thought I had lost it for good! | 17:11 | |
| chromatic | What is pastebin doing with my luggage combination? | ||
| bubaflub | i've seen people use google for reverse md5 hashing too. | 17:12 | |
| atrodo | I've seen it used for searching for credit card numbers | ||
| darbelo | Why steal dad's credit card when you can just google it? | 17:14 | |
|
17:15
Mokurai1 joined
17:17
fperrad_ joined
|
|||
| cotto_work | anyone feel like adding a deprecation notice for some runcores? | 17:19 | |
| particle | sure would be nice to know which ones to deprecate first | 17:21 | |
| has anyone looked at the source/config? the comments i've seen seem uninformed | |||
| cotto_work | allison's solution is to deprecate a superset of what we know we'll want to remove | 17:22 | |
| particle | like, deprecate slow core? isn't that the default on non-gcc? | ||
| darbelo | Slow is only the default due to a bug in fast IIRC. | ||
| Or that's teh impression I got from chromatic's comments on it. | 17:23 | ||
| chromatic | Exactly. | 17:24 | |
| particle | ok, so let's deprecate the stable one in favor of the buggy one. | ||
| or, don't deprecate slow until fast works. | |||
| darbelo | Deprecation makes sense, once the bug's gone from fast it becomes the default and slow can get the axe. | 17:25 | |
| Coke | or, mark pluggable runcores as 'experimental' for a single release cycle. | ||
| particle | i thought gc/debug cores were based on slow. | ||
| i'm not comfortable deprecating our default core | 17:26 | ||
| we can't prove stability of fast core until it's default | |||
| we can deprecate slow in 2.6 | |||
| if fast is fixed before, say, 2.4 | |||
| ...and made default. | |||
|
17:27
alexn_org joined
|
|||
| Coke | particle: you should probably voice your objection on the mailing list. | 17:27 | |
| chromatic | Deprecating slow makes no sense to me either. | 17:28 | |
| It's ~20 lines of code. | |||
| particle | right | ||
| Coke: will do, just want to get feedback on this higher-bandwidth communication channell first | 17:29 | ||
|
17:38
mj41 joined
|
|||
| Coke | in general, the more runcores, the more of a PITA it is to build a HLL with dynamic ops, but really it's no harder for 3 than 2. | 17:38 | |
| well, not much. | |||
| purl | same here, dude | ||
| darbelo doesn't really care either way. | 17:39 | ||
| cotto_work | and the more effort will be needed to complete the nqp-rx based ops compiler | ||
|
17:40
Mokurai joined
|
|||
| cotto_work | (which is great *if* the extra runcores provide some benefit) | 17:40 | |
| chromatic | The number of runcores isn't the problem. The number of extra ops libraries required for those runcores is the problem. | 17:41 | |
| darbelo | I'd guess that cgp should be slightly faster, but I'm not sure it's fast enough to be worth it. | ||
| cotto_work | no need to guess | 17:44 | |
| darbelo | I don't care enough to benchmark :) | 17:45 | |
| particle | i do, it goes to rakudo adoption rates | ||
| can someone get benchmarks of the rakudo spectest suite on cgp vs default? | 17:46 | ||
| chromatic | CGP doesn't compile with VS. | ||
| particle | oh, believe me, i know that :) | ||
| chromatic | I also don't believe Rakudo's performance is a Parrot issue. | ||
| particle | still, it's a performance regression | ||
| chromatic | What's a performance regression? | 17:47 | |
| particle | switching away from cgp on gcc builds needs to be justified | ||
|
17:47
Andy joined
|
|||
| chromatic | We don't use CGP on gcc builds. | 17:47 | |
| particle | well, hell, rip that sucker out. it'll always be in svn history. | 17:48 | |
| chromatic | Fakecutables use the default core, so no one using a Rakudo binary will notice. | ||
| japhb | We need to connect someone with mounds of cash to someone who worked on Nitro, V8, or Tracemonkey. :-) | 17:49 | |
| chromatic | I don't think that'll speed up Rakudo by a sizeable amount either. | ||
| japhb | chromatic, I would presume that all three of the above have a half-decent GC as well .... | 17:50 | |
| Well, maybe not Tracemonkey. | |||
| Just based on how big my damn browser gets after a few days. | |||
| chromatic | Sure, but as the person who's arguably done the most to speed up both Parrot and Rakudo in the past two years, my instinct tells me that we can double Parrot's speed and not speed up Rakudo by that much. | 17:51 | |
| japhb | Ah. Ouch. | ||
| (I was (mostly) kidding, anyway) | |||
| chromatic | NQP generates inefficient code for Rakudo, and I think plenty of Rakudo is inefficient as well. | ||
|
17:51
zostay_m joined
|
|||
| japhb | nodnod | 17:51 | |
| Did the GSoC for NQP optimization get approved? | 17:52 | ||
| cotto_work | japhb: you mean past? | ||
| japhb | or PAST, I suppose. Same effect. | ||
| chromatic | As far as I know, approvals are still underway. | ||
| cotto_work | I think the final decisions will be made today and announced on the 21st. | 17:53 | |
| japhb | cotto_work, ah, thanks. | ||
| particle | decisions are announced on the 21st | 17:54 | |
| they are not made today | |||
| the deduplication period has begun today. tpf has no duplicates | 17:55 | ||
| (as far as i'm aware, from the webapp view i have) | |||
|
17:55
mj41 joined
|
|||
| japhb | particle, I thought some (two?) of the Parrot submissions were also submitted elsewhere (RTEMS?) | 17:56 | |
| bubaflub | per the suggestion of dukeleto and DrJoel from RTEMS i submitted my app to both TPF and RTEMS | ||
| cotto_work | yeah. I'm wondering abiout the status of those | ||
| bubaflub | they said it would be easier this way than having to move an application | ||
| darbelo | Duplication means 'accepted nyt two orgs' not 'submitted to two orgs' IIRC | ||
| *accepted by | 17:57 | ||
| japhb | darbelo, yeah, that's what I'd assumed. My point was merely that there could indeed be dupes amongst TPF's collection. | ||
| darbelo objects to being called a 'dupe' | 17:58 | ||
| ;) | |||
| particle | bubaflub: i'll recheck the webapp then | ||
| japhb | heh | ||
| bubaflub | i also submitted a number of proposals to a few different orgs | ||
| Coke | chromatic: I'd be curious to see if allowing more non-PMC registers further up the food chain would be helpful. | 17:59 | |
| I will try to fire up the profiling core on rakudo or partcl this week and see if anything jumps out. | 18:00 | ||
| particle | rakudo inefficient? but it's written in perl 6! | 18:01 | |
| Coke | (which is non-sequitor to my previous send.) | ||
| chromatic | I've offered to make primitives work for lexicals a few times, but pmichaud and jnthn said "Not yet". | ||
| Goodness knows I've written more than one opcode to speed up NQP, but as far as I know NQP doesn't use them yet. | |||
| particle | yes, native typed variable support isn't required for r* | 18:02 | |
| Coke | I thought vivify etc. were used. | ||
| chromatic | I could be wrong, but I don't think they are. | ||
| particle | no, that's still todo | ||
| japhb | I'm guessing NQP has not been receiving a lot of love this year in general. | ||
| (calendar year, I mean) | |||
| particle | as far as i'm aware, the code needs to be converted to use vivify | 18:03 | |
| chromatic | Maybe I'll stop working on optimization for a while then. | ||
| Coke | you're right, no vivify yet. | 18:04 | |
| I'll see about that this week too. | |||
| japhb | Unfortunately I think either the bus number for NQP is lower than for Rakudo, or everyone's sufficiently slammed trying to keep Rakudo* still in Q2 they haven't had time to try to attack NQP perf as well | 18:05 | |
| (Just my impression from the outside) | |||
| chromatic | Some people seem to have plenty of time to complain about Parrot performance though. | 18:06 | |
| Coke | I'm not sure those are the same people. | ||
|
18:07
muixirt joined
|
|||
| chromatic | I am. | 18:07 | |
| Coke | in any case, I have commit bits on nqp-rx. | ||
| japhb | chromatic, sure -- but 1) Every time you pull a miracle out of thin air, you simultaneously make things better for everyone, and cement the impression that Parrot is the primary optimization target, and 2) It's logical for them to try to ask for help from someone outside the Rakudo team, since everyone inside is busy as hell. | ||
|
18:08
theory joined
|
|||
| japhb | (not that you're not, I'm just saying from a purely logical point of view, they're being sane) | 18:08 | |
| chromatic | I don't mind being asked for help, and I certainly don't mind being thanked for help. I'm sure other people who've helped with optimizations -- allison, bacek, whiteknight, Infinoid, et cetera -- don't mind thanks either. | ||
| The constant whining and berating grates on me, though. | |||
| japhb | I get that: "thankless" is bad enough, "complaint target" is something else entirely | 18:09 | |
| chromatic | I mean, yes I did fix a few memory leaks in Parrot the other day. | ||
| I also fixed a handful in Rakudo. | 18:10 | ||
| Yes, Parrot's garbage collector has some awful behavior in a couple of conditions, and it needs to find free memory much more cheapy. | |||
| japhb | But I can say, personally: THANK YOU. The few times this last quarter I've had time for Parrot tasks, I've appreciated the noticeable improvements. | ||
| pmichaud | 17:51 <chromatic> NQP generates inefficient code for Rakudo, and I think plenty of Rakudo is inefficient as well. | ||
| any particular inefficiencies we should be targeting? | |||
| chromatic | ... but the latest Rakudo benchmark allocates some 5MB of PMCs for every edge in a highly recursive mandlebrot, and you're not going to run quickly if you're generating a graph that costs 5MB per edge. | 18:11 | |
| Coke | we were just discussing taking advantage of vivify. | ||
| pmichaud | vivify doesn't really make a big speed improvement. | ||
| chromatic | pmichaud, I suspect that preemptive error-handling code could be expensive. | ||
| Coke | no, but it's on the list and is something I couldc concevably do. =-) | ||
| pmichaud | chromatic: I don't quite understand "preemptive error-handling code" | 18:12 | |
| chromatic | I optimized PGE a couple of times by delaying the creation of PMCs used in error handling until after the error occurred. | 18:13 | |
| pmichaud | I don't know that NQP creates any PMCs preemptively this way. | ||
| Or, if it does, I'm totally ignorant of it. | 18:14 | ||
| chromatic | I'm happy to run an NQP benchmark and explain what I think I see. | 18:16 | |
| pmichaud | That would be welcome. | ||
| chromatic | Any recommendations on representative code? | ||
| pmichaud | NQP itself would be one. :-) | 18:17 | |
| chromatic | How do I run it? | 18:19 | |
| Bootstrap mode, I mean. | |||
| pmichaud | oh, for a benchmark. | ||
| chromatic | Right. | ||
| pmichaud | "make stage1" gives some representative commands. | ||
| might need to touch a file somewhere though. hmm. | 18:20 | ||
| chromatic | From the github checkout? | ||
| pmichaud | yes. Actually, perhaps I can come up with a better benchmark. | ||
|
18:20
pancake joined
|
|||
| chromatic | Okay. I'm going to run out for some food, but I'll take a look when I return. | 18:21 | |
| pmichaud | anyway, yes, from the github checkout, "make stage1" creates the stage1 compiler from the bootstrap compiler | ||
| "make stage2" creates the stage2 compiler using the stage1 compiler | |||
| either of those stages has a number of useful "build a component of nqp" commands that could be benchmarked | 18:22 | ||
| dalek | nxed: r443 | julian.notfound++ | trunk/winxed.winxed: WINXED_PATH environment var to locate stage pbc files |
18:34 | |
| chromatic | pmichaud, autoboxing strings into String PMCs is fairly expensive. | 18:36 | |
| pmichaud | chromatic: I think that generally happens when a string needs to go into a lexical | 18:38 | |
| chromatic | This isn't from the box opcode, but from conversions during PCC argument/return passing. | ||
| pmichaud | have a quick example? | 18:39 | |
| (and my previous comment stands -- I think it happens when a string needs to go into a lexical) | |||
| chromatic | I don't have a quick example within NQP, but foo( 'some string' ) where foo's first param is .param pmc some_string_pmc | 18:40 | |
| pmichaud | if 'foo' is written in Perl 6 or NQP, then the parameter ends up being a lexical | ||
| which means it needs to be a PMC. | |||
| chromatic | Primitive lexicals would help that then.\\ | 18:42 | |
| pmichaud | if 'foo' is written in PIR and I have good reason to believe the parameter is going to end up being boxed anyway (e.g., because it's going to be stored as an object attribute or as an element of an aggregate), then I typically let the argument passing do the boxing. | ||
|
18:42
brooksbp joined
|
|||
| pmichaud | Primitive lexicals will help *if* we know that the value can safely be held as a string register. | 18:42 | |
| that works for NQP subs, but very few subroutines in Perl 6 are going to be written as sub foo(str $x) { ... } | |||
| chromatic | Right. | ||
| pmichaud | My answer to htis problem has been to cache 'some string' somewhere as a PMC and then call foo() using that cached PMC | 18:43 | |
| instead of boxing a new PMC on each invocation. | |||
| haven't implemented that yet, but it's much better to create the PMC once on first use than to create a new one on each use. | 18:44 | ||
| same would hold true for integer, float, and other constants | 18:45 | ||
|
18:48
iblechbot joined
|
|||
| pmichaud | (primitive lexicals) and actually, I guess it would have to be written sub foo($x as str) { ... } | 18:49 | |
| because the first would limit mmd dispatch | |||
| although that doesn't seem quite right either, because it doesn't constrain $x to be a str | 18:50 | ||
| Coke | smolder failure. | 18:53 | |
| dalek | nxed: r444 | julian.notfound++ | trunk/winxed.winxed: fix command line options checks |
18:59 | |
| chromatic | The vtable override performance improvement to Parrot will help NQP a fair amount. | 19:02 | |
| muixirt | pmichaud: is there any chance that functions like '!cursor_start' in ext/nqp-rx/src/stage0/Regex-s0.pir can be simplified? | 19:09 | |
|
19:10
ash_ joined
|
|||
| dalek | nxed: r445 | julian.notfound++ | trunk/winxedst (2 files): new predef function 'cry' ('say' to stderr) |
19:18 | |
| Coke | muixirt: which part do you think can be simplified? | ||
| (it's only about 22 lines...) | |||
| muixirt | Coke: well that method is pretty short, but it gets called half a million times for instance compiling src/gen/core.pm while building rakudo | 19:21 | |
| Coke | I don't see any obvious optimizations. | 19:22 | |
| muixirt | Coke, but i don't have a clue | ||
| Coke | avoiding the method call might help. | ||
| on that note, I see a lot of method calls that just return an attribute. | 19:24 | ||
| I would if removing the method calls and just doing the getattribute there would help. | |||
| (get + set) | 19:25 | ||
| (that's not an algorithmic issue like the one chromatic was expecting, but might be a practical change regardless.) | 19:26 | ||
| cotto_work | One glaring error I've noticed is that the parrot executable doesn't respond properly to --halp | 19:28 | |
| pmichaud | 19:24 <Coke> I would if removing the method calls and just doing the getattribute there would help. | 19:31 | |
| Interesting, since the conversation on #perl6 this morning was about the need to do the opposite (replace getattribute/setattribute with method calls :) | |||
|
19:31
Mokurai1 joined
|
|||
| pmichaud | !cursor_start is the way that we create a new cursor to keep track of a new (sub)match | 19:32 | |
| PAST::Regex is designed so that it's possible to inline that method. | |||
| Coke | pmichaud: yah, it's not ideal from an API perspective. just curious to see if it's a speed boost. | 19:37 | |
| (and if so, let's make method calls faster.) - but I don't know if recent PCC work has improved the situation here. | 19:38 | ||
| chromatic | Some. | 19:39 | |
| pmichaud | I can likely inline that code, yes. | ||
| Coke | ah, you could keep the methods as a fallback and inline their invocations for internal use. =-) | ||
| pmichaud | right | ||
| that's what I meant. | |||
| Coke | evil but fast! | ||
| er. | 19:40 | ||
| faster. | |||
| pmichaud | the method needs to stick around, definitely. | ||
| but the hotpath at the beginning of generated rules could be inlined. | |||
| Coke | if no one gets to it, that's definitely something within my skill level. =-) | ||
| chromatic | What's the ratio of removed calls to total calls? An estimate is fine. | 19:41 | |
| pmichaud | don't know that one | ||
| I suspect it's smallish. there are a lot of method calls. | |||
| but every subrule invocation results in a call to !cursor_start | 19:42 | ||
| I think I can get rid of the internal call to .HOW, too. | 19:43 | ||
| muixirt | pmichaud: what is the .local pmc pos good for in that Regex-s0.pir? | 19:44 | |
| pmichaud | muixirt: it's a fossil, can be removed (but doesn't impact the code at all) | ||
| Coke | it might slow down compilation fractionally, but not the runtime. | 19:45 | |
| pmichaud | right. and this isn't dynamic compilation. | ||
| Coke | pmichaud: if I wanted to do that in nqp-rx, I'd edit the stage0 files? | 19:46 | |
| pmichaud | Coke: no, the stage# files are all generated | ||
| it's in src/Regex/Cursor.pir (and I've already made the change and I'm testing now) | 19:47 | ||
| Coke | or Regex/Cur... danke. ok. =-) | ||
| pmichaud++ | |||
| pmichaud | I'm also going to bump PARROT_REVISION and make sure nqp is working with latest parrot | ||
| moritz | pmichaud: did you implement yet any of the discussed changes to match object generation? | 19:49 | |
| pmichaud | moritz: not yet. I'm having to think about it a bit more. | ||
| I'm about to fix the CodeString one, though. | 19:50 | ||
| I think the other changes should perhaps wait until after tomorrow's release. | |||
| moritz | pmichaud: ok | ||
| pmichaud: if you want me to pick any LHFs once you decided, just let me know | |||
| pmichaud | moritz: will definitely do so. | 19:51 | |
| Coke | What's up with Codestring? | ||
| pmichaud | right now nqp-rx forces all string targets to be instance of CodeString | ||
| that's great if you're parsing code, not so great if you're expecting a Perl 6 Str | |||
| Coke | Yah, PO String seems safer there. | ||
| dalek | p-rx: 7662467 | pmichaud++ | src/Regex/Cursor.pir: Remove 'pos' register fossil noticed by muixirt++ . |
||
| pmichaud | so I'm going to switch it so that conversion to CodeString is handled by the language parser, and the engine just takes whatever type of object you send it for doing the match | 19:52 | |
| an interesting question is: 123 ~~ /\\d+/; say $/.orig.WHAT # Int? | 19:53 | ||
| moritz | if you can have it that way (efficiently) | ||
| pmichaud | well, I might keep the original value as $!orig but cache the stringified target somewhere | ||
| this is a place where being able to store native strings as object attributes could be very efficient | 19:54 | ||
| (so that we don't have to box into a stirng) | |||
| *string | |||
| Coke | String? =-) | 19:55 | |
| pmichaud | did the "install-dev" target disappear? | ||
|
19:56
mberends joined
|
|||
| moritz | pmichaud: it's included in 'make install' by default | 19:56 | |
| and the old 'install' becaume 'install-bin' or so | |||
| pmichaud | hmmm. with latest parrot, "make install" isn't. | ||
| (when run from nqp-rx's --gen-parrot option) | |||
| moritz | it should - bug when not (IMHO) | ||
| pmichaud | hmm, something else deeper seems to be going on | 19:57 | |
| just a moment | |||
| Coke | pmichaud: is something missing from the install or is the whole thing failing? | ||
| pmichaud | whole thing failing | ||
| Coke | (I use parrot's make install several times a week on my dev box.) | ||
| pmichaud | I'll watch more closely this time | 19:58 | |
| oh, it's not able to "make" at all from the script. | |||
| it runs parrot's Configure okay, but then fails on the 'make' | |||
| Coke | build borked? | ||
| pmichaud | worked fine with earlier versions of Parrot | 19:59 | |
| I'll start over | |||
| Coke | r45811 was ok here. | ||
| pmichaud | aha | 20:01 | |
| looks like config_lib.pasm changed to config_lib.pir | |||
| moritz | aye | ||
| mberends | Can Parrot reveal its Process_ID? Rakudo is faking with a 0 and claiming a success because of a buggy test. | ||
| pmichaud | afaik Parrot doesn't reveal PIDs yet. | ||
| mberends | :-( | 20:02 | |
| Coke | it /might/ be available on the interpreter. | ||
| checking... | |||
| dalek | TT #1563 created by mikehh++: Deprecation of unused runcores | ||
| TT #1563: trac.parrot.org/parrot/ticket/1563 | |||
| Coke | mberends: github.com/partcl/partcl/blob/maste...in/pid.pir - macro hell, but there's my cheat. | 20:03 | |
| mberends | thanks Coke | ||
| Coke | np. hope it helps. | 20:04 | |
| pmichaud | basically calling dlfunc to grab getpid() from the C lib? Evil. :-) | ||
| mberends | Coke: it may be OS dependent, not sure if Win32 would support it. | 20:05 | |
| I have a corrected test. I'll comment it out of spectest.data if the implementation is not platform independent. (it's in rakudo's cheats anyway) | 20:06 | ||
| Coke | mberends: it's deprecated on windows but still there. I think. | 20:07 | |
| (_getpid) is preferred, says the google. | |||
| mberends | ah. Coke++ | ||
|
20:14
hercynium joined
|
|||
| dalek | p-rx: 72d4125 | pmichaud++ | build/ (2 files): Bump PARROT_REVISION to latest Parrot, and switch Parrot's |
20:14 | |
| kudo: 346e76d | (Martin Berends)++ | t/spectest.data: [t/spectest.data] remove S02-magicals/pid.t (1 test) because is was crashing instead of passing and $*PID is NYI |
20:16 | ||
| Coke | pmichaud: (config_lib.pir) ugh. I didn't even think to check that when the change was made. | 20:17 | |
| rakudo will no doubt need the same fix. | |||
| (as will partcl-nqp) | 20:18 | ||
| moritz | Coke: it already has (rakudo) | ||
| Coke | ooh, I think I just sweet talked my employer into a yapc donation. | ||
| moritz: I just did a pull and didn't see it. | |||
| moritz | Coke: a8e70acdf61589f29f80d7b840f8c06e7aa5f483 | 20:19 | |
| bump PARROT_REVISION, and change config_lib from .pasm to .pir | |||
| Coke | moritz: ... these aren't the droids I'm looking for. You can go about your business. | ||
| GeJ | Good morning everyone. | 20:32 | |
|
20:38
brooksbp_ joined
20:41
Andy joined
|
|||
| bacek yawns | 20:54 | ||
| Good morning, humans | |||
| GeJ | G'Day bacek. | 20:55 | |
| bacek | G'Day GeJ | ||
|
21:00
rurban_ joined
21:05
Andy joined
21:08
Whiteknight joined
|
|||
| pancake | now's the release status? | 21:13 | |
| Coke | you mean "how" ? | 21:29 | |
| GeJ | make fulltest PASS FreeBSD/amd64 on trunk@45811 | 21:42 | |
|
21:52
particle joined
21:54
mmcleric joined
|
|||
| mberends | Coke++: thanks for the 'getpid' hint, it works in Rakudo on Linux (only without underscore) but not Windows (needs kernel32.dll). How feasible would it be to build getpid() into Parrot? | 21:57 | |
| Coke | mberends: I'd like to avoid having to use that trick in "real" code, so I think it's pretty reasonable to give a parrot API to hide the evil. | 21:58 | |
| I think the biggest issue is where to put it. | 21:59 | ||
| but if you put in a generic "would like to get pid from parrot without using <ugly hack from coke>" I think that'll work. =-) | |||
| (er, generic trac ticket) | |||
| mberends | heh, ok | 22:00 | |
|
22:26
davidfetter joined
|
|||
| alexn_org | hi guys, I'm evaluating Parrot for a pet language I'd like to build ... my language is dynamic by default, but with optional static typing (striking similarity with Perl6 apparently :)) ... but looking at PIR code this metadata gets lost, so there aren't any planned optimizations based on static-typing, right? ... and another thing ... I'd like the performance to be decent and you guys did a wonderful work but haven't emphasised on performance, and it's | 22:35 | |
| darbelo | alexn_org: You got cut off after "emphasised on performance, and it's" | 22:39 | |
| alexn_org | ... and it's OK ... but do you have plans for a tracing JIT? ... I also think parrot.org/dev needs a section with relevant documentation on Parrot's implementation (like code.google.com/p/unladen-swallow/w...antPapers) | 22:43 | |
| :) | |||
|
22:43
hercynium joined
|
|||
| darbelo | We've got lots of plans, tracing JIT is on the list. ETA depends on volunteer effort. | 22:44 | |
| cotto_work | alexn_org: Once Rakudo* is out the door, I believe that we'll start to put serious effort into Lorito, which will be a minimal set of ops in which everything else is implemented. | ||
| Lorito will open a large number of optimisation possibilities. | 22:46 | ||
| darbelo | Lorito will make JIT-oriented work a lot more fun that it is now, that's for sure. | 22:47 | |
| cotto_work | There's also a PAST optimization gsoc proposal that I'm hoping is accepted. | ||
| I shouldn't say more than that about the proposal until accepted gsoc projects are officially announced. | 22:49 | ||
| Tene | alexn_org: So, yes, there are plans in progress to improve parrot's speed quite a bit, but they haven't been followed through with yet. The focus has been on completeness and correctness so far. | ||
| We've been aware of where we want to be for quite a while now. | |||
| Whiteknight | we have been spending a lot of timing focusing on correctness of implementation for a few of our subsystems | 22:50 | |
| darbelo | There's also chromatic and bacek's recent work on optimization. We're getting faster every day. | ||
| Whiteknight | performance is an area where we increasingy need to focus | ||
| cotto_work | alexn_org: whether to use Parrot or not depends on your aim. If you want to learn about VMs and language design, it'll help. If you want a production-ready language asap, not so much. | ||
|
22:51
tetragon joined
|
|||
| cotto_work | We do intend to make Parrot a good production HLL compiler toolset and runtime. It's just not there yet. | 22:51 | |
| alexn_org | cool ... I don't know much theory about VMs, and I don't know where to start ... it would be useful if you provided some papers relevant to parrot's runtime or links to books, because if I'd want to take a look at Parrot, I wouldn't know where to begin :) | 22:52 | |
| darbelo | docs/book/ in the parrot svn tree can serve as an itroduciton to the vm. | 22:53 | |
| docs.parrot.org/parrot/latest/html/ if you like your docs with more eye-candy ;) | 22:54 | ||
| alexn_org | darbelo: I meant about the runtime's implementation ... I'm planning on reading papers on self/smalltalk for instance, but I don't know if those are relevant to parrot | 22:57 | |
| cotto_work | The design of Lorito is partially inspired by the Squeak Smalltalk implementation. | 22:58 | |
| darbelo | There's some of that in docs.parrot.org as well. You might want to read the PDDs (Parrot Design Documents) with the caveat that some are still drafts and others are due for revision. | 23:01 | |
| GeJ | I seem to remember that someone pointed to another language recently wrt very limited number of ops to start with. | 23:02 | |
| cotto_work | GeJ, other than Smalltalk or Inferno's VM? | 23:03 | |
| GeJ | I think so. | 23:04 | |
| Wasn't it Alan Kay's COLA? | 23:12 | ||
| lambda-the-ultimate.org/node/2483 | 23:13 | ||
| "We show that three object types and five methods are sufficient to bootstrap an extensible object model and messaging semantics that are described entirely in terms of those same objects and messages." | 23:14 | ||
| darbelo | That's working at a different level than the one we're discussing here. We're talking about the primitive vm operations that those objects and methods should be written in. | 23:15 | |
| muixirt | GeJ: Cola was mentioned some time ago in the wiki trac.parrot.org/parrot/wiki/Languages | 23:16 | |
| darbelo | That's also a different Cola. | ||
| GeJ | Ah! chromatic mentionned it here : irclog.perlgeek.de/parrot/2010-04-06#i_2203396 | 23:17 | |
| dalek | TT #1564 created by mberends++: expose a getpid library function for Rakudo $*PID and other languages | 23:20 | |
| TT #1564: trac.parrot.org/parrot/ticket/1564 | |||
|
23:22
tcurtis joined
|
|||
| mberends | (more than half the search results for PID in trac were in the word 'stupid' :) | 23:24 | |
| dalek | kudo: 35bcd52 | jonathan++ | (9 files): Get hash slices essentially working. In the process, move Associative role completely into the setting. Nothing in PIR actually did it, plus we now have the ability to augment the role into classes in the core setting anyway, so it's no problem to add to things first defined in PIR anyway. Slight re-think of how we handle non-Perl 6 hashes that seems rather cleaner to me; need to tweak array indexing similarly, will do it soon. |
23:31 | |
| kudo: ba19436 | jonathan++ | t/spectest.data: Turn on hash_ref.t. |
|||
|
23:42
tcurtis_ joined
23:48
Andy joined
|
|||