|
#parrot Parrot 2.2.0 "Like Clockwork" Released! | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Tasks: Fix compact_pool shenanigans | Fix HLL bugs (TT #389, #1040) | Prioritize Rakudo Needs Set by moderator on 20 March 2010. |
|||
| bacek | May be next year... | 00:00 | |
| Coke | msg Infinoid blogs.perl.org/users/coke/2010/03/a...-away.html - there goes my only CPAN module! | 00:12 | |
| purl | Message for infinoid stored. | ||
| darbelo | Coke: ping | 00:17 | |
| Coke | pong | 00:20 | |
| Whiteknight | Tene: ping | ||
| Tene | Whiteknight: pong | ||
| Whiteknight | Tene: can you take a look at TT #1455? | ||
| darbelo | I've been *way* out fo the loop this week. What's the status on include_dynpmc_makefile ? | 00:21 | |
| Whiteknight | I think that one can get closed easy by somebody who knows wha they are talking about | ||
| Tene | Whiteknight: I can look at it a bit right now. | ||
| Whiteknight: Yes, that looks reasonable and easy. I'll first want to investigate if birthtime is used by other task stuff, but I expect an easy resolution. | 00:22 | ||
| I don't know when I'll be able to look at it, though. I'm moving across country later this week. | 00:23 | ||
| Tene AFK, driving home. | |||
| Whiteknight | ok, take your time | ||
| where are you moving from/to? | |||
| Coke | darbelo: no changes. | 00:25 | |
| purl | no changes is probably why i ask :) | ||
| dalek | TT #1517 closed by coke++: Comparing Rational PMC to Integer PMC with == blows up | 00:26 | |
| TT #1517: trac.parrot.org/parrot/ticket/1517 | |||
| Tene | Whiteknight: SLC -> sfbay | 00:28 | |
| dukeleto | Tene: congrats! | 00:29 | |
| darbelo | Saw you msg about not going fancy with deps. Does that mean that I should just try to add them manually until the depchecker is happy? | ||
| Tene | dukeleto: thanks | ||
| darbelo | happy depchecker => merge time! | ||
| treed | I like how everyone is like "Yay, you're getting out of Utah!" | ||
| dukeleto | Tene: i am not saying that SFbay is a cool place (because Portland is better), but congrats on the new job ;) | 00:30 | |
| Tene: what kind of stuff will you be doing? | 00:31 | ||
| Tene | dukeleto: We were also looking at portland. If/when sfbay turns out to not be right anymore, portland might be next. | ||
| sysadmin, for the same company treed is working for now. | |||
| dukeleto | Tene: sweet. | 00:32 | |
| Tene | Okay, really leaving now. Bye. | 00:33 | |
| dalek | rrot: r45291 | coke++ | trunk (2 files): Fix think-o in Rational comparison logic. |
00:34 | |
| dukeleto | Coke++ # thanks for taking care of that rational pmc bug, i didn't get a change to test the patch | 00:35 | |
| Austin | Laugh. | 00:37 | |
| I just read that the Utah state legislature has recently passed a law that will permit Utahns, who register with the government and buy an approved and licensed barrel, to start legally collecting and saving rainwater. | 00:38 | ||
| darbelo | It's *illegal* to collect rainwater? WTF? | 00:41 | |
| Austin | Not any more? | ||
| darbelo adheres to the 'If it falls on you from the sky you can keep it.' school of thought. | 00:42 | ||
| Whiteknight | stick it to all those rainwater bootleggers | ||
|
00:56
payload joined
|
|||
| Infinoid | Coke: Cool. Thanks for inspiring me to write that! | 00:57 | |
|
01:02
eiro_ joined
01:03
lucian joined
|
|||
| dalek | TT #1533 created by tcurtis++: Typos and inaccuracies in documentation comments of string bitwise ... | 01:16 | |
| TT #1533: trac.parrot.org/parrot/ticket/1533 | |||
| Whiteknight | I almost pursue a contract position with the wikimedia foundation in SF | 01:19 | |
| dalek | rrot: r45292 | mikehh++ | trunk/src/pmc/parrotthread.pmc: fix codetest failure - assert args - src/pmc/parrotthread.pmc |
01:23 | |
| rrot: r45293 | mikehh++ | trunk/src/pmc/packfile.pmc: fix codetest failure - assert args - src/pmc/packfile.pmc |
|||
| rrot: r45294 | mikehh++ | trunk/src/pmc/orderedhash.pmc: fix codetest failure - assert args - src/pmc/orderedhash.pmc |
|||
| rrot: r45295 | mikehh++ | trunk/src/pmc/imageio.pmc: fix codetest failure - assert args - src/pmc/imageio.pmc |
01:24 | ||
| Coke | ahhh, verbose stuff in build is NOT my fault. whee. | 01:31 | |
|
01:31
eiro_ joined
|
|||
| Whiteknight | tcurtis++ # Thanks for the patch in TT #1533 | 01:32 | |
| dalek | TT #1533 closed by whiteknight++: Typos and inaccuracies in documentation comments of string bitwise ... | 01:33 | |
| TT #1533: trac.parrot.org/parrot/ticket/1533 | |||
|
01:37
eiro_ joined
|
|||
| Coke | seen kid51? | 01:39 | |
| purl | kid51 was last seen on #parrot 1 days, 1 minutes and 52 seconds ago, saying: dukeleto: Can you comment on trac.parrot.org/parrot/ticket/1504#comment:6 ? Thanks. [Mar 29 01:37:52 2010] | ||
| dalek | rrot: r45296 | whiteknight++ | trunk/src/string/api.c: [TT #1533] apply patch from tcurtis++ |
01:40 | |
| rrot: r45297 | coke++ | trunk (47 files): Eliminate 'vtable method'. It's a vtable, or a vtable function. |
|||
| rrot: r45298 | mikehh++ | trunk/src/pmc/packfile.pmc: g++ does not like the extra const |
|||
|
01:44
eiro_ joined
|
|||
| Coke | msg kid51 I assigned you TT #1457; I don't see why that config test is failing. | 01:44 | |
| purl | Message for kid51 stored. | ||
| Coke | do we still have any svk users? | 01:45 | |
| or has everyone moved on to git-svn? | |||
| chromatic | Want to deprecate svk support? | 01:47 | |
| Coke | it never was awesome anyway. And no, I wish to just kill it outright. | 01:48 | |
| not like it's part of the API. | |||
| chromatic | No objection. | 01:49 | |
| dalek | TT #487 closed by coke++: [CAGE] 'vtable method' needs to go away | ||
| TT #487: trac.parrot.org/parrot/ticket/487 | |||
| dukeleto | +1 to deprecating svk support | 01:51 | |
| chromatic | compilers/imcc/symreg.c:885: warning: ignoring return value of āstrtolā, declared with attribute warn_unused_result | 01:52 | |
| compilers/imcc/symreg.c:888: warning: ignoring return value of āstrtoulā, declared with attribute warn_unused_result | |||
| sorear | I seem to have run into an especially nasty destruction order problem. | 01:55 | |
|
01:56
eiro joined
|
|||
| sorear | I keep handles from Parrot into Perl. When these are destroyed, they drop references on Perl-side objects | 01:56 | |
| when this happens, the Perl-side objects are recursively destroyed | |||
| if it hits a handle in the *other* direction, it calls gc_unregister | |||
| dalek | rrot: r45299 | mikehh++ | trunk/docs/pdds/pdd17_pmc.pod: maximum line length in a pod (pdd) is 78 characters |
||
| rrot: r45300 | mikehh++ | trunk/docs/pdds/pdd09_gc.pod: maximum line length in a pod (pdd) is 78 characters and trailing spaces |
|||
| sorear | thus, my destroy VTABLEs can call Parrot_pmc_gc_unregister | ||
| dalek | rrot: r45301 | coke++ | trunk/t/distro/file_metadata.t: Don't run these tests in a tarball. |
||
| sorear | BUT | ||
| rrot: r45302 | mikehh++ | trunk/docs/pdds/draft/pdd06_pasm.pod: maximum line length in a pod (pdd) is 78 characters |
|||
| purl | i already had it that way, dalek. | ||
| rrot: r45303 | mikehh++ | trunk/docs/pdds/draft/pdd08_keys.pod: maximum line length in a pod (pdd) is 78 characters |
|||
| purl | i already had it that way, dalek. | ||
| sorear | during global destruction, the global gc registry is DESTROYED FIRST! | ||
| crashes ensue | |||
| what should I do differently? | |||
| chromatic | What's the problem? | 01:58 | |
| purl | the problem is that WikiDoc doesn't use Pod formatting codes, and I don't like to have two sets of formatting codes. | ||
| sorear | chromatic: Segfault on exit. | 01:59 | |
| My last 10 lines were an analysis | |||
| chromatic | What problem are you trying to solve that this is a problem? | 02:00 | |
|
02:01
eiro joined
|
|||
| sorear | chromatic: Core dumps are littering my test tree | 02:01 | |
| I suppose I could also fix it with ulimit, but that feels improper | 02:02 | ||
| chromatic | What are you trying to do *with Parrot* that the destruction order of the GC registry is a problem? | ||
| sorear | Allow passing callbacks from Parrot to outside code | 02:03 | |
| these callbacks need to hold references to the underlying Sub PMCs | |||
| if the callback thunk objects are destroyed after the GC registry, crash | 02:04 | ||
| chromatic | Unregister them before you destroy the interpreter. | ||
| dalek | TT #1451 closed by coke++: t/distro/file_metadata.t should not be run from distro tarball. | 02:06 | |
| TT #1451: trac.parrot.org/parrot/ticket/1451 | |||
| TT #1534 created by coke++: Remove svk developer support | |||
| TT #1534: trac.parrot.org/parrot/ticket/1534 | |||
| mikehh | t/pmc/parrotobject.t - Failed test: 4 in corevm/coretest - looks like the wording has changed | 02:07 | |
| sorear | chromatic: but the interpreter is destroyed from a destroy vtable, by the time I destroy the interpreter the address registry is already gone! | 02:08 | |
| or are you suggesting "Due to Parrot limitations, it is not possible for the interpreter to be automatically destroyed. You must call the destroy method before allowing the interpreter to become garbage." | |||
| chromatic | How are you destroying the interpreter? | 02:09 | |
|
02:09
cotto joined
02:10
payload joined
|
|||
| sorear | PL_exit_flags |= PERL_EXIT_DESTRUCT_END; perl_destruct(), perl_free() | 02:10 | |
| chromatic | How are you destroying the *parrot* interpreter? | 02:11 | |
| sorear | parrot-nqp self destructs at EOF | 02:12 | |
| dalek | rrot: r45304 | chromatic++ | trunk/compilers/imcc (2 files): [IMCC] Removed more "method" from vtable mentions. |
02:13 | |
| sorear | the problem also occurs if an unhandled exception is thrown | ||
| (actually, this is the normal case) | |||
| (for crashes) | |||
| chromatic | What's in charge, Perl 5 or Parrot? What program do you run? Are you embedding Perl 5 in Parrot or Parrot in Perl 5? | 02:14 | |
| sorear | I am embedding Perl 5 in Parrot. | ||
|
02:14
eiro_ joined
|
|||
| sorear | Parrot is in charge. | 02:14 | |
| I start Parrot from the command line. | |||
| chromatic | Where's your backtrace? | 02:15 | |
| sorear | pastie.org/894614 | 02:19 | |
| exactly what happens is variable | |||
| depending on exactly how I die | 02:20 | ||
|
02:21
tcurtis joined
|
|||
| chromatic | I don't see anything related to Parrot's GC registry in that backtrace. | 02:22 | |
| sorear | earlier, I had Parrot_pmc_gc_unregister -> VTABLE_delete_keyed -> (void(*)(PARROT_INTERP, ...)) 0x80000 | ||
| however, the backtrace system reacted to the bad jump by dropping the gc_unregister frame | |||
| Coke | chromatic: curses. I didn't think to search for v-table. | 02:23 | |
| thanks for getting the stragglers. | |||
|
02:25
Patterner joined
|
|||
| sorear | chromatic: You seem to be trying to analyze my problem. What was inadequate in my analysis which requires you to duplicate it? | 02:25 | |
| chromatic | I have no idea what you're doing nor why it's a problem. | ||
| I understand that something crashes when your program ends. | 02:26 | ||
| I think you think this has something to do with Parrot's GC registry. | |||
| From what you've said, I have no idea how that could be. | |||
| sorear | I'm calling Parrot_pmc_gc_unregister in a destroy VTABLE | 02:29 | |
| chromatic | Which destroy? | ||
| sorear | Parrot's destroy, on the P5Interpreter and P5SV PMCs | 02:30 | |
| chromatic | When do you destroy these PMCs? | 02:31 | |
| sorear | The Parrot garbage collector destroys them automatically at process exit. | 02:32 | |
| chromatic | Then don't unregister them! | ||
| sorear | I'm not unregistering them. | 02:33 | |
| They hold references to /other/ things | |||
| and need to drop the references on destroy | |||
| but since the referential structure is opaque to me, I can't just use mark | 02:34 | ||
| also, I seem to have broken something else | |||
| chromatic | During global destruction, when everything gets destroyed, you don't need to unregister PMCs which are going to get destroyed anyway. | 02:35 | |
| sorear | How do I know when global destruction is happening? | ||
|
02:35
janus joined
|
|||
| sorear | If the object gets destroyed /before/ global destruction, it can and must unregister | 02:35 | |
| chromatic | Then you're going to have to figure out if you ever destroy these things before global destruction. | ||
| Parrot_gc_register() means that it's *your* responsibility to figure out the lifespan of these objects. | 02:36 | ||
| sorear | I actually have two kinds of objects. | ||
|
02:37
eiro_ joined
|
|||
| sorear | Objects which are gc_registered, and objects which aren't. | 02:37 | |
| These are _not the same_ | |||
| If the latter group objects are destroyed before global destruction, they need to unregister the former group objects. | |||
| chromatic | Why? | 02:39 | |
| sorear | Because otherwise the former group objects will stick around until the process exits. | 02:40 | |
| Which would be bad. | 02:41 | ||
| chromatic | How would that be bad? | ||
| sorear | It would leak memory. | ||
| Is that bad? | |||
| chromatic | Given that I don't know what they are, why they're registered with the GC, or what you're trying to do, I have no idea. | 02:42 | |
| Nor can I imagine why you would have something not registered with the GC which has to manage the registration of something else which is registered with the GC. | |||
| sorear | other way around - GCed objects control manual objects | 02:44 | |
| however I seem to have discovered a new crash | |||
|
03:01
cotto joined
03:14
bubaflub joined
03:20
snarkyboojum joined
|
|||
| Coke | -> | 03:30 | |
|
03:39
lucian joined
03:52
Andy joined
04:15
contingencyplan joined
04:26
cotto joined
05:25
fperrad joined
|
|||
| sorear | hmm, I need to understand the Parrot MULTI vtable mechanism | 05:34 | |
|
05:36
payload joined
05:41
payload1 joined
05:44
payload joined,
payload1 joined
05:46
payload joined
05:47
payload1 joined,
cotto joined,
payload joined
05:48
eternaleye joined
|
|||
| chromatic | trac.parrot.org/parrot/wiki/FixingC...INGCaching | 05:52 | |
| trac.parrot.org/parrot/wiki/FixingP...eOverrides | |||
| Takers welcome. | 05:53 | ||
|
06:08
uniejo joined
|
|||
| sorear | purl: msg Infinoid - dalek is down again | 06:08 | |
| purl | Message for infinoid stored. | ||
|
06:12
bacek joined
|
|||
| cotto | I smell a merge. | 06:24 | |
| no dalek. I guess that explains it. | 06:26 | ||
| Wow this is slow. | 06:32 | ||
| svn-- | |||
| svn-- | 06:47 | ||
| bacek | chromatic, can you create "WorldDominationPlan" on wiki? I'll take it. | ||
| cotto | Can you deal with steps labeled "???"? | ||
| chromatic | You wouldn't believe it if I told you. | 06:48 | |
| bacek | "???" in "Profit plan", not "Wold domination" | ||
| chromatic | Just for fun, someone read src/string/api.c line 146. I'll wait. | ||
| bacek | chromatic, do tell! | ||
| chromatic | Think about it for just a moment and you'll see the joke. | 06:49 | |
| bacek | Parrot_gc_allocate_string_storage(interp, &for_alloc, Buffer_buflen(s)); ? | ||
| chromatic | Now read the comment just above it. | ||
| bacek | I don't get it... | 06:50 | |
| apart that it's not "dummy" storage. | 06:51 | ||
| chromatic | Suppose you have, for example, a COW STRING header which refers to a token in a 90kb source code file. | ||
| Suppose you have another such header which refers to the next token. | |||
| They're COW. That's fun. We don't have to have copies of that 90kb STRING in memory, because both headers can refer to different places in that buffer. | |||
| Until you want to concatenate them together. | |||
| bacek | holy... | 06:52 | |
| chromatic | Now you have *three* copies of that buffer. | ||
| bacek | Why don't use strlen for allocation??? | 06:53 | |
| chromatic | ... and they each care about a token's worth of storage space within that buffer. | ||
| I'm trying that now. | |||
| bacek | Do we have student for "immutable string GSoC"? | 06:54 | |
| cotto | We had one that emailed the list earlier today. | ||
| tcurtis iirc | |||
| bacek | Did we put "inplace string functions" into DEPRECATED.pod? | ||
| Catch him, lock in room and don't let him go until after finishing! | 06:57 | ||
| cotto | svn-- screwed up a merge | 07:02 | |
| bacek, if you're bored, feel free to sync profiling_testing with trunk and merge it back in | |||
| if not, I'll take care of it later | |||
| night | |||
| bacek | night cotto | 07:06 | |
| I'll try to merge it. | |||
| Erm... Do we have test failures now??? | 07:07 | ||
|
07:07
cognominal joined
|
|||
| chromatic | What are you seeing? | 07:08 | |
| bacek | segfault in build_key | ||
| t/compilers/imcc/syn/regression_18 | |||
| sorear | So, if the COW string implementation sucks so much, why do you want to keep it? | 07:09 | |
| bacek | g++ build | ||
| sorear, no one want to keep it. | |||
| sorear | I thought I heard chromatic saying he wanted immutable strings AND cow strings | 07:10 | |
| chromatic | And then I said "But not the W part of COW". | 07:11 | |
| bacek | and "shared buffer" | ||
| not "COW strings" | |||
| chromatic | Yeah, I should say "shared buffers" instead. | ||
| sorear | I thought being sharable was the point of making strings immutable | 07:12 | |
| bacek | if buffer is immutable we don't have to clone it on "write" | ||
| but substrings can use same buffer | 07:13 | ||
|
07:15
dalek joined
|
|||
| bacek | O, dalek! | 07:16 | |
| sorear | Hurray! | 07:20 | |
| bacek | doesn't happen on gcc build. Interesting | ||
|
07:21
iblechbot joined
|
|||
| Coke | bacek: I just added that test. | 07:26 | |
| didn't segf. for me. | |||
| (presumably due to gcc) | |||
| -> zzz | 07:27 | ||
| bacek | chromatic, ping? | 07:40 | |
| $2 = {flags = 196864, _bufstart = 0x8055964, _buflen = 12, | |||
| strstart = 0x805596b "Foo", bufused = 3, strlen = 3, hashval = 2690967049, | |||
| encoding = 0x8073dc8, charset = 0x8073f88} | |||
| chromatic | pong | 07:41 | |
| bacek | can you explain content of this string? | ||
| strstart is in 7 bytes after _bufstart | 07:42 | ||
| but bufused is only 3 | |||
| Did I miss something about our strings? | |||
| chromatic | Buffers are padded. They also contain a reference count at the very start. | 07:43 | |
| Buffers can also be larger than the contents of the string to give them room to grow. | |||
| bacek | yes | 07:44 | |
| but why bufused is only 3? Not 7+3? | 07:46 | ||
| chromatic | I don't know. | ||
| bacek | Me too... | 07:47 | |
| chromatic | This should be a one-line change, but I'm having weird failures. | 07:49 | |
| dalek | rrot: r45311 | chromatic++ | trunk/src/gc/alloc_resources.c: [GC] Made buffer_location() debugging function work with not-so-recent context |
07:50 | |
| rrot: r45312 | chromatic++ | trunk/src/gc (2 files): [GC] Tidied code; no functional changes. |
|||
| rrot: r45313 | chromatic++ | trunk/src/hash.c: [hash] Avoided reinitializing callocated memory to NULL/0. |
|||
| rrot: r45314 | chromatic++ | trunk/src/packfile.c: [src] Removed an unnecessary calloc(). |
|||
| nopaste | "chromatic" at 173.50.130.127 pasted "bacek: this should work, but I can't figure out why it causes errors" (30 lines) at nopaste.snit.ch/20132 | 08:07 | |
| bacek | chromatic, strlen is in characters, not bytes. | 08:09 | |
| chromatic | Hm, how long has it been characters? | 08:10 | |
|
08:10
payload joined
|
|||
| bacek | chromatic, no idea. | 08:12 | |
| nopaste | "bacek" at 114.73.158.218 pasted "chromatic: this is my version" (47 lines) at nopaste.snit.ch/20133 | 08:15 | |
| bacek | chromatic, my version passed coretest. Failed in PGE.... | 08:16 | |
| (gdb) p *src | |||
| $11 = {flags = 196864, _bufstart = 0xb66f41b0, _buflen = 200, | |||
| strstart = 0xb66f41b0 " R211: # quant 0..Inf greedy\\n R211_repeat:\\n push ustack, pos\\n local_branch cstack, R213\\n pos = pop ustack\\n if cutmark != 0 goto fail\\n goto %"..., | |||
| bufused = 202, strlen = 202, hashval = 0, encoding = 0x8073dc8, | |||
| charset = 0x8073f88} | |||
| it's in Parrot_str_replace. | |||
| bufused > buflen | |||
| sorear | purl: msg Infinoid - ignore last message - I only *thought* feather was running. Though having back karma would be nice ;) | ||
| purl | Message for infinoid stored. | ||
| chromatic | Yeah, that's where I had trouble too. | 08:17 | |
|
08:28
mikehh joined,
AndyA joined
|
|||
| bacek | chromatic, looks like str_replace do WRONG THINGS... | 08:30 | |
| chromatic | I'm not surprised. | 08:32 | |
| bacek | chromatic, src/string/api.c:1409 | 08:36 | |
| this is THE problem. | |||
| write_COW shrink string. But all calculations already made. | |||
| chromatic | Makes sense. | 08:37 | |
| bacek | yes, moving write_COW before making calculations works | ||
| chromatic | All tests pass, everything builds? | 08:38 | |
| nopaste | "bacek" at 114.73.158.218 pasted "chromatic: working version (so far)" (63 lines) at nopaste.snit.ch/20134 | ||
| bacek | running make test | 08:39 | |
| everything builds. | |||
| all tests passed. | 08:40 | ||
| chromatic | Let's get it committed and see what happens with Rakudo. | 08:41 | |
| bacek | deal | ||
| moritz will try | |||
| bacek | done | 08:43 | |
| r45315 | |||
| chromatic | That looks much better. | 08:46 | |
| sorear | How much does it cut the memory use? | 08:47 | |
| chromatic | It's topped out at 233MB RSS, 253 virtual. | ||
| sorear | \\o/ | ||
| time to install Rakudo | |||
| chromatic++ | |||
| bacek | chromatic, we can make it slightly faster if we will allocate +8 bytes. | 08:48 | |
| Due CodeString.emit (which usually replace 2 bytes with 3-8) | |||
|
08:48
ascent joined
|
|||
| chromatic | It never topped 256 MB for me. | 08:53 | |
| sorear | just started the rakudo build | 08:54 | |
| bacek | compiling Actions.pm causes GC run about 2 times per second.. | 08:56 | |
| dalek | rrot: r45315 | bacek++ | trunk/src/string/api.c: Allocate exact amount of memory in Parrot_str_write_COW. chromatic++ for pointing out on this non-sense |
||
| bacek | Much better. | 08:57 | |
| purl | much better is probably to design each table in isolation with the table name providing context | ||
| bacek | StringPool size topped on 6 megs. Instead of 230! | ||
| chromatic | How long has that bug been there, I wonder. | 08:59 | |
| moritz | max virtual memory while compiling the setting seemed to be around 612M... and takes forever | 09:00 | |
| 9 minutes and still running | |||
| spectesting now | 09:04 | ||
| bacek | moritz, how long it usually takes? | ||
| moritz | don't know | ||
| never measured it | |||
|
09:07
JimmyZ joined
|
|||
| sorear | moritz: P64? | 09:08 | |
| Compiling Rakudo took 12 hours and 500MB for me, immediately before the PCC merge | |||
| This is the first time I've actually been able to use my computer during a rakudo build | 09:09 | ||
| moritz | Austin: amd64 | 09:10 | |
| erm, I meant sorear | |||
| sorear | the setting compiler has been running for 6 minutes and is only up to 260MiB | 09:11 | |
| moritz | it took about 11.5 minutes on my machine | 09:12 | |
| nopaste | "bacek" at 114.73.158.218 pasted "moritz, can you try this patch?" (18 lines) at nopaste.snit.ch/20135 | 09:13 | |
| moritz | bacek: will do after the current spectest run | 09:14 | |
| bacek | moritz, ok | ||
|
09:29
gaz joined
09:34
JimmyZ_ joined
|
|||
| sorear | and the compile is FINISHED | 09:35 | |
| moritz | the spectestrun too | 09:36 | |
| All tests successful. | |||
| purl | Are you feeling lucky? | ||
| sorear | chromatic++ | ||
|
09:49
cotto joined
|
|||
| dalek | rrot: r45316 | mikehh++ | trunk/src/pmc/nci.pmc: fix codetest failure - assert args - src/pmc/nci.pmc |
10:01 | |
| moritz | bacek: doesn't seem to be any faster with your patch | 10:12 | |
| bacek | moritz, sigh... | ||
| moritz | haven't done real measurements | 10:13 | |
| but still takes 15min to build rakudo with the patch | |||
| sorear | For me, it went from 12 hours to 45 minutes. | 10:15 | |
| With no thrashing | |||
| bacek | sorear, what kind of computer do you have??? | ||
| sorear | One as old as Parrot itself | ||
| bacek | yak... | 10:16 | |
| P2 with 256 megs? | |||
| sorear | P4 with 384 | ||
| it has been upgraded one or more times | |||
| dalek | rrot: r45317 | mikehh++ | trunk/src/gc/alloc_resources.c: fix codetest failure - function documentation - changed parameters |
10:17 | |
| rrot: r45318 | mikehh++ | trunk/src/gc/gc_ms.c: add void * cast to get g++ to build - src/gc/gc_ms.c |
|||
|
10:18
cognominal joined
10:26
he_ joined
10:35
clinton joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32914), fulltest) at r45318 - Ubuntu 9.10 amd64 (g++ with --optimize) | 10:42 | |
|
10:48
payload joined
|
|||
| moritz | purl: seen dukeleto | 10:49 | |
| purl | dukeleto was last seen on #parrot 8 hours, 57 minutes and 12 seconds ago, saying: +1 to deprecating svk support | ||
|
10:49
bacek joined
11:03
cotto joined
11:16
riffraff joined
11:36
cotto joined
11:47
cognominal joined
12:01
whiteknight joined
|
|||
| bacek | msg chromatic piumarta.com/software/tree/tree-1.0/ - header only, AVL tree implementation. MIT licence. Can we use for constant STRINGs cache? | 12:02 | |
| purl | Message for chromatic stored. | ||
|
12:05
ruoso joined
12:07
bluescreen joined
12:08
cotto joined
|
|||
| whiteknight | good morning parrot | 12:16 | |
| szbalint | Look what you did! :) | 12:23 | |
|
12:31
bluescreen joined,
whiteknight joined,
clinton joined,
gaz joined,
mikehh joined,
fperrad joined,
snarkyboojum joined,
eiro_ joined,
particle joined,
he joined,
dngor joined,
atrodo joined,
slavorgn joined,
Coke joined,
darbelo joined,
Hunger joined,
plobsing joined,
solarion joined,
hicx174 joined,
nopaste joined,
rt7 joined,
sri joined,
TimToady joined,
arnsholt joined,
Khisanth joined,
GeJ joined,
betterworld joined,
preflex joined,
NotFound joined,
knewt joined,
baest joined,
athomason joined,
treed joined,
Infinoid joined,
Tene joined,
bacek_at_work joined,
confound joined,
KatrinaTheLamia joined,
purl joined
12:37
iblechbot joined
12:41
riffraff joined
|
|||
| whiteknight | I hate netsplits | 12:44 | |
| arnsholt | In PMCs, when is init() called, and when is init_pmc() called? | 12:51 | |
|
13:07
cotto joined
13:09
patspam joined
|
|||
| particle | init_pmc is called when a pmc is passed to init | 13:15 | |
| arnsholt | That would make perfect sense, of course | ||
| particle | :) | 13:20 | |
|
13:22
PerlJam joined
13:23
cognominal joined
13:33
payload joined
13:39
payload joined
13:40
khairul joined
13:53
perlpilot joined
|
|||
| whiteknight hates IIS | 13:59 | ||
| there are no saving graces | |||
| atrodo | doesn't everyone? | ||
| purl | I know I do. | ||
| whiteknight | I've got a website on here, I go to localhost, and it tells me that it cannot connect to the remote computer and I should check my TCP settings | ||
| atrodo | i mean, how do you get that wrong? | 14:07 | |
| (as in how does IIS get it wrong) | |||
| Coke | does the loopback address work? | 14:11 | |
|
14:11
Mokurai joined
14:12
Mokurai1 joined
|
|||
| arnsholt | Is there a "reference" PMC? | 14:13 | |
| Coke | I have a bet as to where that COW allocation scheme came from. | ||
| whiteknight | arnsholt: sort of, but not really | 14:15 | |
| there is a Pointer type, I think, but it can't really be used the way you think | 14:16 | ||
| or, at least I haven't ever seen it used that way | |||
| arnsholt | Dang | ||
| I have some very clever Perl code I'd like to borrow for my Prolog, but it's so clever I can't quite figure out how to implement it =) | 14:17 | ||
|
14:18
bubaflub joined
|
|||
| atrodo | PBP is very wise when it talks about being clever for exactly that reason | 14:20 | |
| arnsholt | True. But it's clever in the sense "oooh, that makes it so much easier" =) | 14:21 | |
| whiteknight | arnsholt: PMCs are references already, if that's what you're wondering about | ||
| arnsholt | whiteknight: My starting point is here: www.perlmonks.org/?node_id=193649 | 14:22 | |
|
14:22
Mokurai1 joined
|
|||
| arnsholt | The bit I'm stumped on is how to do the "reference to a reference to a value" bit (\\\\$value) | 14:22 | |
| About halfway down | |||
| whiteknight | arnsholt: you may need to create a PMCReference PM | 14:27 | |
| PMC | |||
| or, you could try to "fix" Pointer to do what you want, but I think it's pretty special-purpose | |||
| I'm not sure if there's anything else that would really do i | |||
| arnsholt | Yeah, it's looking like it | 14:28 | |
| I've fiddled around with NQP a bit, but it doesn't look very doable that way either | |||
| whiteknight | maybe a better idea would be a general RegisterReference PMC, which would store the current context and register number | 14:35 | |
| then you could reference ints, nums, strings, and PMCs with a flag | |||
| ...not something you particularly need, but something that would be generally beneficial | 14:36 | ||
| A take_reference opcode could package it up correctly | |||
| Coke wishes he kept better benchmarks. | 14:38 | ||
| Austin | arnsholt: What's the point of the double-indirection? | 14:39 | |
| Coke | Austin: I added [lset] to partcl. | 14:40 | |
| NotFound | whiteknight: not a bad idea, it can be useful to build a way to invoke vtable overrides without an inner runloop. | 14:41 | |
| Austin | Symbol table hackery? | ||
| Coke | I am tempted to just wire a bunch more stuff in by putting in Q:PIR {} blocks from the original partcl and changing the bare minimum to get it to work, then going back over and doing the PIR->NQP conversion. | ||
| arnsholt | Austin: It lets you alter what the objects point to, as well as altering the value of whatever they're pointing at | ||
| Austin | arnsholt: Sure, but what key capability does that give you? | 14:42 | |
| arnsholt: I ask because having a namespace, and having a pmc, are basically two levels of indirection. So if two is all you need, you can probably win that way. | |||
| whiteknight | NotFound: how so? | ||
| Austin | Just pass the variable names around as references. | ||
| arnsholt | Say you unify two variables, X and Y, and neither has been unified with a specific value | 14:43 | |
|
14:43
theory joined
|
|||
| Austin | my $x := pir::new__PS('Undef'); $y := $x | 14:43 | |
| (Although in fact undef is the default, so I could just say: my $x ; my $y := $x; | 14:44 | ||
| arnsholt | The you let them reference a common ref to undef | ||
| Austin | Right | ||
| So now $x =:= $y | 14:45 | ||
| whiteknight | Austin: regardless of the specific use in this case, the ability to take proper references to register locations would be a good thing | ||
| NotFound | whiteknight: the vtable calls from opcodes usually use registers for out values, so in order to call a sub some placeholder is needed. That was the problem I encountered when thinking about ways to avoid the inner runloop in that cases. | ||
| arnsholt | And when Y is unified with Z you set $$Y = $Z, and that way $$$X will be the same as $$$Y and $$$Z | ||
| whiteknight | NotFound: the biggest problem with inner runloops is that the return values are needed in the C code immediately | ||
| Austin | Whiteknight: I sort of agree, but you're skating perilously close to the edge of Parrot there - the whole "there are no addresses" thing. | ||
| arnsholt goes looking at =:= | |||
| whiteknight | there are plenty of addresses, but that's hardly the point | 14:46 | |
| NotFound | whiteknight: in general yes, but in the simpler usages from opcodes a shortcut can be highly useful. | ||
| Austin | arnsholt: =:= is perl6 for "issame", which is a reference-equality | ||
| arnsholt | 'cept feather is down. =:= is "do these two point at the same container", right? | ||
| Thanks. | 14:47 | ||
| whiteknight | NotFound: okay, yes. I agree. If a return value isn't needed immediately, it can be a great shortcut to pass in a RegisterReference for those cases and avoid the inner runloop | ||
| would need a way to specify that a return was supposed to be passed in a reference PMC, such as a new modifier in the signature | |||
| but that's all doable | |||
| arnsholt | Austin: $y := $x; is fine. But how from that, how do I propagate a change to $y back to $x? | ||
| Austin | Okay, that last won't work. (x/y/z) | ||
| arnsholt | Yeah. That's what has me stumped | 14:48 | |
| Austin | Okay. | 14:49 | |
| NotFound | whiteknight: there is still the problem of knowing from the vtable function if it's called from the opcode, or alternatively the opcode checking that the pmc has an override without slowing down the common case. | 14:50 | |
| whiteknight | NotFound: yeah. Unfortunately I really don't think we are able to do it yet. It's a good long-term goal | 14:52 | |
| NotFound | whiteknight: chaining some more ideas we'll eventually reach an implementable way. | 14:59 | |
| whiteknight | yes | 15:02 | |
|
15:05
cotto joined
|
|||
| nopaste | "Austin" at 68.37.47.32 pasted "Var for arnsholt (in Kakapo)" (51 lines) at nopaste.snit.ch/20136 | 15:08 | |
| arnsholt | Austin: Oooh. Nice one. Thanks! | 15:10 | |
| Austin | arnsholt: I think the only real kakapo dependency is going to lie in "auto_accessors" and in the presumption that you will initialize using .new(:value(x)). You should be able to work around both of those if you want to. | 15:14 | |
|
15:14
bluescreen joined
|
|||
| arnsholt | What exactly is kakapo? | 15:16 | |
| Austin | runtime library for nqp | ||
| arnsholt | Ah, right | ||
|
15:17
payload joined
|
|||
| arnsholt | Many thanks again for the help. | 15:18 | |
|
15:18
cottoo joined
15:20
davidfetter joined
|
|||
| cotto | karma svn | 15:21 | |
| purl | svn has karma of -21 | ||
| cotto | way too high | ||
| davidfetter | svn-- | ||
| karma svn | |||
| purl | svn has karma of -22 | ||
| davidfetter | karma davidfetter | 15:22 | |
| purl | davidfetter has karma of 8 | ||
| davidfetter | who knew? | ||
| cotto | svn-- | 15:25 | |
| merge alread. | |||
| davidfetter | as linus pointed out, branching is pretty trivial | 15:28 | |
| perhaps we could go to git or hg... | 15:29 | ||
| cotto | Last time I asked the reply was that we could consider it after 2.3 | ||
| davidfetter | how long after 2.3? | ||
| cotto | the big blocker being mature trac-git integration | 15:30 | |
| I assume shortly after it's released. | |||
| but that's what I wanted to hear, so the intent may have been otherwise | |||
| szbalint | cotto: what's not mature enough about trac-git ? | 15:38 | |
| cotto | The last change was 2 years ago. | 15:40 | |
| Gah. Something needs to die. This is the second time I've tried to sync my branch with trunk and ended up with something that doesn't build. | 15:42 | ||
| szbalint | trac-hacks.org/wiki/GitPlugin ? | 15:43 | |
| cotto | "As this is for now just a proof of concept implementation, it has quite some deficiencies, some of which exist as tickets already:" | 15:44 | |
| fails to inspire confidence | 15:45 | ||
| szbalint | true | ||
| and it's kept in svn ;-) | |||
| cotto | though at this point I wouldn't mind getting a commit bit for it and fixing stuff myself. | ||
| svn-- | 15:47 | ||
| atrodo | karma svn | ||
| purl | svn has karma of -29 | ||
| kthakore | svn-- | 15:48 | |
| szbalint | svn-- | ||
| kthakore | there | ||
| I help | |||
| szbalint | just for good measure. | ||
| perlpilot | cotto: just revive the switch-to-git idea and see what happens (maybe it'll stick this time) | ||
| davidfetter | are there other bug trackers that play nicer with git? if so, do they have a migration path from trac? | 15:49 | |
| kthakore | davidfetter: I use git with trac? | ||
| davidfetter: it works great | |||
| davidfetter | how? | ||
| kthakore | davidfetter: see sdlperl.ath.cx/ | ||
| bubaflub | we just migrated from RT to trac, i'm pretty sure "they" don't want to migrate again | 15:50 | |
| kthakore | davidfetter: there is a git plugin | ||
| bubaflub: yeah no need to | |||
| davidfetter: I can help out | |||
| davidfetter | cotto, i think we've found a su^H^Hvolunteer :) | ||
| kthakore | davidfetter: NOOOOOooOOOoooOoooo | ||
| davidfetter: sure ... I help .... | 15:51 | ||
| cotto | Yeah. Migrating from trac is a non-starter. | ||
| kthakore | cotto: you don't need to migrate from trac | ||
| bubaflub | cotto, not sure if this is helpful, but you may want to try your merge with git-svn | ||
| cotto | Also, it's important that we be able to keep the svn repo around to avoid breaking old links. | ||
| kthakore | cotto: git works tih trac | ||
| cotto: well git-svn repo on your trac should keep links | 15:52 | ||
| szbalint | kthakore: which plugin are you using? | ||
| kthakore | szbalint: TracGit 0.11.02 | 15:53 | |
| davidfetter wonders whether he should pester szbalint about pl/parrot atm | |||
| szbalint | davidfetter: /me looks @ the other window | ||
| kthakore | szbalint: trac-hacks.org/wiki/GitPlugin | ||
| cotto: when you do a git-svn clone it keeps rNNNN in the commit lines | 15:54 | ||
| cotto: so trac should be able to link to it | |||
| cotto: but I forget how I did it at work | |||
| cotto: we had a plugin for link to anything | |||
| cotto: then we set commit messages as a linkable so if you linked to r3444 it linked to git commit message "r3444 ... blah | 15:55 | ||
|
15:57
GodFather joined
|
|||
| cotto | That's an option. Could you add that to trac.parrot.org/parrot/wiki/GitTransition | 15:57 | |
| ? | |||
| particle | 4.08-3.25 | 15:58 | |
| purl | 0.83 | ||
| kthakore | cotto: sure | ||
| cotto: I might have to hack the pluign for the link it seems ... that plugin was a in house propiertary | 15:59 | ||
| cotto | It's 'merged' though someone with more patience will have to take care of svn properties. | 16:00 | |
| bubaflub | cotto, i can go through and set the props | 16:01 | |
| cotto | thanks. | ||
| I need to go do something else. Work sounds nice. | |||
| bubaflub++ | 16:02 | ||
| bubaflub | is it on a branch or is it hitting trunk? | ||
| kthakore | cotto: updated the wiki | 16:06 | |
| svn? | 16:08 | ||
| purl | hmmm... svn is If dbic/cat SVN is down, ping anyone with an @shadow.cat cloak (preferably apeiron, epitaph, or mst) | ||
| kthakore | gah | ||
| where is the url? | |||
|
16:10
theory joined
16:13
lucian joined
16:25
hercynium joined
|
|||
| Coke | free karma? go ahead and apply the patches from 1457 and close the ticket. | 16:26 | |
| cotto_work | bubaflub, it's in trunk now | ||
| bubaflub | cotto_work: ok, i'm fixing codingstd and svn:props now | ||
| cotto_work | much appreciated | 16:27 | |
| It's nice to get that in trunk, even if getting it there was a stupid hack. | |||
| bubaflub | glad i could help | ||
| Coke: want me to apply the patch and try a clean build? i've got some spare time right now | 16:28 | ||
| Coke | bubaflub: have fun. =-) | ||
| bubaflub | Coke: both patches or just the latest one (modified_remove_cxx.diff)? | ||
|
16:29
cotto joined
|
|||
| cotto_work | when do we get dalek back? | 16:30 | |
| bubaflub | Coke: looks like only the modified one; i'm applying the patch and doing a clean build and make fulltest | ||
| particle | cotto_work: when feather comes back? | ||
| cotto_work | I guess that'd help. | ||
| Coke | bubaflub: I haven't looked at the updated one - I'm not sure if he took my original patch and added the one deletion or not. | ||
| checking... | |||
| bubaflub | it appears so | 16:31 | |
| Coke | bubaflub: then sure, go for it. =-) | ||
| bubaflub | Coke: i'm getting a build error with that patch - t/compilers/imcc/syn/regressions.t, test #18 "over long keys should not segfault (TT #641)" | 16:38 | |
| i'm not sure if it's on trunk as well, lemme check | |||
| it appears to be on trunk as well | 16:39 | ||
| Coke | bubaflub: you're using g++, aren't you. | 16:40 | |
|
16:41
Essobi joined
|
|||
| bubaflub | Coke: hmmm, i though my system would use gcc but I'm probably wrong | 16:41 | |
| Coke | as a separate thing, you should probably TODO that dying test and re-open the TT. :| | ||
| bubaflub | my makefile has "CC = gcc-4.2" | ||
| Coke | I added it and closed the ticket, as it was not segfaulting for me. | 16:42 | |
| bubaflub | Coke: ok, i'll commit this patch, close that ticket, and re-open the other one | ||
| Coke: done and done. | 16:51 | ||
|
16:54
lucian joined
|
|||
| Coke | bubaflub: danke. | 16:57 | |
| bubaflub++ | |||
|
17:01
darbelo joined
|
|||
| cotto_work | hio darbelo | 17:02 | |
|
17:03
gaz joined
|
|||
| darbelo | ohai | 17:07 | |
| cotto_work | you have some gsoc ambitions this year, don't you? | ||
| darbelo | Yeah. I'm looking into NFG now. | ||
| whiteknight | nice | ||
| darbelo++ | 17:08 | ||
| Coke | NFG? | ||
| purl | i guess NFG is No Fscking Good! or grapheme normalization form (see docs/pdds/draft/pdd28_character_sets.pod) | ||
| Coke | botsnack | ||
| purl | thanks Coke :) | ||
| whiteknight | darbelo: if you're a good boy, we'll let you hack this summer in the real repo instead of having to create your own | ||
| purl | thanks whiteknight :) | ||
| cotto_work | lead botsnack | ||
| purl | :) | ||
| darbelo | botsmack | 17:09 | |
| purl | please! another hit! just one more.... *sigh* | ||
| whiteknight | I think purl has a little S&M in him... | ||
| bubaflub | i'm applying for GSoC this year as well, but haven't the foggiest idea what I should work on | 17:13 | |
| darbelo | Increasing the awesome. It's what we all do. | 17:14 | |
| bubaflub | i looked at the NFG and Immutable String ideas as well | ||
| whiteknight | there are a lot of students interested in immutable strings | ||
| bubaflub | yeah, i saw that on the list | ||
| i've applied to some other projects this year | 17:15 | ||
| and as i'm already slightly involved, i figured it be best not to apply for those so we can get the maximum number of new people in | |||
| kthakore | whiteknight: ain't that nice | ||
| whiteknight | ain't what nice? | ||
| NotFound | whiteknight: TT #1430 done. | ||
| kthakore | whiteknight: that many students for GSOC parrot | 17:16 | |
| whiteknight | NotFound++ | ||
| kthakore | whiteknight: we got 1 candidate and 3 maybes | ||
| whiteknight | kthakore: for what project? | ||
| kthakore | whiteknight: SDL_perl vis TPF | ||
| whiteknight: also we have started to get frozen bubble on CPAN :) | |||
| whiteknight | frozen bubble? | 17:17 | |
| purl | well, frozen bubble is Just Fine, and OpenGL. or written in Perl | ||
| whiteknight | oh, that game | ||
| nice | |||
| kthakore | whiteknight: yeah | ||
| whiteknight: and we have a very nice game to use right now too | |||
| whiteknight: yapgh.blogspot.com/#Spinner | |||
| whiteknight | none of the students I have talked to so far have submitted proposals | ||
| kthakore | whiteknight: so good days | ||
| whiteknight: we have one submitted I will have to review it though | 17:18 | ||
| whiteknight | I see that | ||
| nothing submitted for Parrot. That makes me sad :( | |||
| kthakore | whiteknight: it is a neat idea no? | ||
| whiteknight: awww ... you will get there | |||
| whiteknight: parrot is teh awesome | 17:19 | ||
| whiteknight | I wish I were still a student, I would apply ASAP | ||
| kthakore | whiteknight: for parrot? | ||
| whiteknight | of course! | ||
| kthakore | or SDL_perl | ||
| oh ok | |||
| whiteknight: well duh | |||
| whiteknight | and I would have to do something big and awesome too | 17:20 | |
| PerlJam | wk: you coudl do that anyway :) | ||
| kthakore | whiteknight: I might 'seduce' some parrot people SDLparrot next year | ||
| PerlJam: true. | |||
| whiteknight | SDLParrot would be very nice | ||
| PerlJam: if I were a full-time student, I would have a lot more time | |||
| kthakore | whiteknight: yup | 17:21 | |
| whiteknight: it is comming ... slowly | |||
| whiteknight: I am designing some specs (which I am testing in perl 5 SDL) | |||
| right now | |||
| whiteknight | nice! | ||
| I am very excited to hear that | |||
| PerlJam | all we need is for someone to win a multi-million dollar lottery and donate a large chunk of it to furthering parrot/perl | ||
| kthakore | whiteknight: yeah ... I work on a lot of things | 17:22 | |
| whiteknight: parrot needs a differnt approach to the bindings | |||
|
17:22
Austin joined
|
|||
| whiteknight | that does bring up a good question: What would I do if I were a GSoC student? | 17:22 | |
| kthakore | whiteknight: I tried direct access to a C memory chunk | ||
| whiteknight | probably threads | ||
| kthakore | whiteknight: THREAD! | 17:23 | |
| whiteknight: oh yeah ... thanks | |||
| :) | |||
| whiteknight | threads and callbacks are really important | ||
| kthakore | yes | ||
| ... | |||
| whiteknight: and a way to access C memory directly | 17:24 | ||
| whiteknight: ala pack and substr | |||
| whiteknight | yes | ||
|
17:24
merlyn joined
|
|||
| kthakore | whiteknight: I broke my brain trying it in perl5 (with some success) | 17:24 | |
| whiteknight | AIO is something I've wanted too, but threads are more important | ||
|
17:24
bubaflub left
17:25
bubaflub joined,
bubaflub left
|
|||
| merlyn | if I had to summarize Perl6 status in three sentences, where would I get -those sentences? | 17:25 | |
| NotFound | C memory? What's that? | ||
| PerlJam | merlyn: freenode #perl6 | ||
| merlyn | ahh, not here? | ||
|
17:25
bubaflub joined
|
|||
| PerlJam | probably not here | 17:25 | |
| merlyn | ok - heading there | 17:26 | |
| kthakore | NotFound: well it is a low level access to a void * | ||
| NotFound: so you can set your own format and write anything withouth having to do malloc copy free ... crap | |||
| NotFound: I want to use it for creating audio streams on the fly | 17:27 | ||
| NotFound: and edit pixels on the fly | |||
| NotFound | kthakore: what are you talikng about? Free acces to memory from the VM? | 17:28 | |
| whiteknight | kthakore: would a data buffer PMC type be interesting to you? | ||
| you put in a size, and get out an allocated buffer? | |||
| kthakore | whiteknight: and when I write to it is it written straight into void * ? | 17:29 | |
| whiteknight: I think you know what I mean ... I can't really explain ... | |||
| NotFound: ok I will try | |||
| NotFound: I have a struct called SDL_Surface in a C Lib | 17:30 | ||
| whiteknight | kthakore: what I am envisioning, it would just be a raw void* buffer with the given size. You can write anything to it | ||
| kthakore | NotFound: we use NCI to use it | ||
| whiteknight: yeah! | |||
| whiteknight | basicaly it would just be a wrapper around malloc/realloc/free | ||
| kthakore | whiteknight: but I want to write the SDL_Surface->pixels or char* stream | ||
|
17:30
Austin_Hastings joined
|
|||
| kthakore | whiteknight: no that is no good | 17:30 | |
| whiteknight | no good? why not? | ||
| kthakore | whiteknight: that malloc defeats the whole point | 17:31 | |
| whiteknight: are you familiar with piddles in PDL | |||
| whiteknight | ...how else do you get the memory in the first place? | ||
| no | |||
| kthakore | whiteknight: ok well it is direct write access to a XS/C struct | ||
| whiteknight | from PIR? | ||
| kthakore | whiteknight: I would like that yes | ||
| whiteknight: ok ... maybe I can show you what I mean | 17:32 | ||
| whiteknight | okay, so the struct is already allocated? | ||
| NotFound | kthakore: UnmanagedStruct | ||
| purl | UnmanagedStruct is just the first file that manifest the problem | ||
| whiteknight | UnmanagedStruct could be made to work, though isn't pretty now | ||
| kthakore | whiteknight: yeah | ||
|
17:33
mberends joined
|
|||
| kthakore | whiteknight: www.pygame.org/docs/ref/surfarray.html <--- pygame managed it | 17:33 | |
| NotFound | I think pretty and direct access to memory are not much compatible. | ||
| kthakore | whiteknight: here is the closest I got in perl5 github.com/kthakore/SDL_perl/tree/r...Surface.xs | 17:34 | |
| whiteknight: see the access to teh pixels | |||
| whiteknight | okay, yeah | ||
| kthakore | whiteknight: the performance is 30 to 40 times slower | ||
| whiteknight: Perl OpenGL has used a similar method | |||
| whiteknight | ok | ||
| kthakore | whiteknight: and their performance to C is 1.2 - 1.5 times | 17:35 | |
| whiteknight: that is what I mean | |||
| .... | |||
| whiteknight: I have no clue how to even attempt this | |||
| whiteknight | kthakore. Take a look at parrot-linear-algebra | ||
| they are matrix types, but store data in raw buffers, which can be indexed | |||
| kthakore | whiteknight: ruoso came up with a hack with pack and substr and some XS magic in src/Core/objects/AudioSpec.xs | ||
| whiteknight: ok | 17:36 | ||
| whiteknight: I will see | |||
| whiteknight | if I add a set_pointer VTABLE, you would have that same access to any pointer you want | ||
|
17:36
theory joined
|
|||
| kthakore | whiteknight: oh! rlly? nice | 17:37 | |
| whiteknight: but how can I get that access to a alalready allocated struct | |||
| ?? | |||
| whiteknight | it will take some work | ||
|
17:38
dalek joined
|
|||
| kthakore | I suspected as much | 17:38 | |
| whiteknight | but it's very possible | ||
| kthakore | I have seen several implementation of this 'pattern?' | ||
| whiteknight: pygame, POGL, and PDL | |||
| whiteknight | I tell you what: if you write up the interface you want to see, I will implment it | 17:39 | |
| kthakore | whiteknight: yay! | ||
| kthakore huggles whiteknight | |||
| whiteknight | :) | ||
| kthakore | that will make parrotSDL fast enough to use from rakudo | 17:40 | |
| :) | |||
| whiteknight | I've got a few types I've been planning myself for working with memory too, so I can make a whole project out of it | ||
| kthakore | whiteknight: once this and threads/callbacks work SDL WxWidgets and Ogre3d are a huge posibility to parrot | 17:41 | |
| whiteknight | very cool | ||
| kthakore | whiteknight: give me a few days I will give you the idea | ||
| whiteknight | threads and callbacks is a huge deal. | ||
| kthakore | whiteknight: yea | ||
| whiteknight | kthakore: no problem. Take your time, give me a good design! | ||
| kthakore | whiteknight: I will try | 17:42 | |
| whiteknight: I haven't had to design this much 'real stuff' since ... well ever | |||
| whiteknight: what format should I follow ... any design examples I can see? | 17:44 | ||
| whiteknight | for a PMC type, your options are the vtable interface and methods | ||
| methods are nice but can't do raw pointers | 17:45 | ||
| kthakore | and? the raw pointers? | ||
| whiteknight | some vtables do have raw pointers but are very inflexible | ||
| check out src/vtable.tbl | |||
| kthakore | ok | ||
| whiteknight: where is parrot's SVN url? | 17:46 | ||
| PerlJam | svn.parrot.org/parrot/trunk | ||
| whiteknight | PerlJam++ | ||
| kthakore | thaks | ||
|
17:48
iblechbot joined
|
|||
| Coke | parrot svn? | 17:48 | |
| purl | i think parrot svn is svn.perl.org/parrot/trunk | ||
| PerlJam | parrot git? | 17:49 | |
| purl | it has been said that parrot git is repo.or.cz/w/parrot.git | ||
| ruoso | kthakore, there's a question to be made before that... | 17:52 | |
| is the parrot threading model defined already/ | |||
| ? | |||
| kthakore | ruoso: I am not defining threading | ||
| ruoso: I am talking about a piddle like vtable interface for direct memory access | 17:53 | ||
| ruoso | ah... right... it's just because most of my XS code was motivated by threading... | ||
| so I assumed you were talking about it ;0 | |||
| ;) | |||
| kthakore | ruoso: no ... I was talking about that pack, substr hack | ||
| ruoso: that pack, substr is still a bit on the slow side in perl5 | 17:54 | ||
| ruoso | kthakore, parrot has a native buf8 type I think | ||
| Coke | parrot git also github.com/leto/parrot | ||
| parrot git is also github.com/leto/parrot | |||
| purl | okay, Coke. | ||
| kthakore | ruoso: but we need it for more than just buf8 | ||
|
17:54
dukeleto joined
|
|||
| kthakore | dukeleto: !! | 17:54 | |
| dukeleto | 'ello | ||
| kthakore: howdy | |||
| purl | que tal, dukeleto. | ||
| bubaflub | afternoon dukeleto | ||
| ruoso | you need for each of the buffer types, which, I think, all have parrot types | 17:55 | |
| dukeleto | bubaflub: how goes it? | ||
| kthakore | ruoso: nope not for custom pixel formats | ||
| dukeleto: question for you | |||
| dukeleto: for you git parrot did you init it with git svn clone? | |||
| bubaflub | dukeleto: not too shabby, applied to some projects for GSoC last night; still thinking about what i should do with perl / parrot | ||
| dukeleto | kthakore: yes | 17:56 | |
| ruoso | kthakore, I see.. maybe that's the point where you start writing parrot types for the missing sdl types ;) | ||
| kthakore | dukeleto: how can we see the rXXXX in the commit logs | ||
| dukeleto | me github mirror is not working right now. | ||
| whiteknight | bubaflub: any ideas you've heard that caught your interest? Or, anything you want to ask about? | ||
| kthakore | ruoso: yeah ... but malloc and so on ... is slow | 17:57 | |
| dukeleto | kthakore: what exactly are you asking? | ||
| whiteknight | or, any systems that you enjoy, and would like to find a project? | ||
| kthakore | dukeleto: ok when I do git svn clone ... parrotness | ||
| dalek | rrot: r45325 | mikehh++ | trunk/MANIFEST.SKIP: regenerate MANIFEST.SKIP |
||
| bubaflub | whiteknight: hmmmm... i am a math nerd | ||
| kthakore | dukeleto: I see r4352 = SHA1num | ||
| whiteknight | bubaflub: GSL bindings are on the list | ||
| kthakore | dukeleto: I want to go trough git and add the rXXX in to the commit of that SHA1num | ||
| bubaflub | whiteknight: i'm not really familiar with GSL, i've really only used GMP before | 17:58 | |
| whiteknight: and i haven't done any NCI binding stuff so it'd be unfamiliar territory for me | |||
| whiteknight | bubaflub: adding proper CBLAS support to parrot-linear-algebra would be very nice too, but that might be out of scope | ||
| bubaflub | whiteknight: but if it'd be useful, i'd apply | ||
| whiteknight | bubaflub: okay, we can find something better | ||
| bubaflub | whiteknight: i was looking at the immutable strings and NFG, but since other people are going to apply i figure i'll hop over to something else | 17:59 | |
|
17:59
lucian joined
|
|||
| bubaflub | whiteknight: the RTEMS stuff looks pretty cool, though i haven't done anything with embedded stuff | 17:59 | |
| ruoso | kthakore, well you probably have how to use the SDL buffer from the parrot type, just as I did with the SV* | ||
| whiteknight | bubaflub: part of the point of GSoC is to introduce students to things they aren't familiar with :) | ||
| the question is: what do you want to be familiar with next september? | |||
| bubaflub | whiteknight: i might shoot for the GSL bindings then | 18:00 | |
| dukeleto | bubaflub: RTEMS will be a very cool project, I am friends with the rtems guys and they are very good people | ||
| kthakore | ruoso: ok .. I don't think you are understanding | ||
| dukeleto | bubaflub: the parrot+rtems project will probably be under the RTEMS org, i think | ||
| kthakore | ruoso: have you see pygame's surfarray | ||
| whiteknight | www.perlfoundation.org/perl5/index....0_projects | ||
| bubaflub | dukeleto: ok, i'll take a look at it | ||
| kthakore | ruoso: or PDL piddle ? | 18:01 | |
| dukeleto | bubaflub: i suggest that you write an app for that, i can give you guidance | ||
| bubaflub | whiteknight: reading it now | ||
| dukeleto | bubaflub: they are in #rtems on freenode | ||
| whiteknight | nice | ||
| kthakore | ruoso: it gives high level write access to already allocated memory | ||
| whiteknight | I don't think that's a complete list, really. | ||
| bubaflub | dukeleto: yeah, i've got a few other apps out to other orgs as well, figure i'd cast my bread upon the waters | ||
| kthakore | ruoso: so animations and sound changes don't require remalloc | ||
| dukeleto | bubaflub: great idea! | ||
| ruoso | kthakore, and that's precisely what I'm talking about | ||
| purl | i guess talking about is "Yeah, you're alway talking and talking and talking. Shut up and code." | ||
| kthakore | ruoso: makes them faster | ||
| ruoso: rlly? | |||
| ruoso | yes | ||
| kthakore | ruoso: ok show me how! | ||
| ruoso++ | |||
| ruoso: yay | |||
| dukeleto | kthakore: you want to do this in which repo? | ||
| bubaflub | dukeleto: would converting the Perl 5 cryptographic libraries to use Math::Primaility count as a good GSoC idea? | 18:02 | |
| ruoso | you just need to write a Parrot type that accepts dealing with an already allocated memory | ||
| just like I did by setting the buffer pointer in the SV* | |||
| dukeleto | bubaflub: yes, definitely | ||
| kthakore | 5 | 18:03 | |
| whiteknight | ruoso: so a buffer PMC type with a set_pointer vtable to take a pointer to an existing structure, and a variety of interface methods for interacting with it? | ||
| bubaflub | dukeleto: cool. i think i'll apply for the Parrot GSL bindings, the RTEMS port with the RTEMS people, and converting Perl 5 crypto to use Math::Primality | ||
| dukeleto | bubaflub: proper scoping is important | ||
| ruoso | whiteknight, just like that, yes | ||
| kthakore | dukeleto: in a trac repo for git transistion (see the wiki) | ||
| bubaflub | dukeleto: yeah, could get out of hand quick. i also don't want to just force my way into someone else's module and say "Here, do this." | ||
| kthakore | whiteknight: ok .. I am loss | ||
| whiteknight | ruoso: easy-peasy. I could put that together quite quickly. any particular interfaces you want? | ||
| dukeleto | kthakore: svn revs are already included. for example: github.com/leto/parrot/commit/2be27...d64b6d29ba | ||
| ruoso | whiteknight, Audio callback is a simple one | 18:04 | |
| whiteknight | Audio callback? | ||
| cotto_work | #ps in 147 | ||
| ruoso | whiteknight, SDL audio, I mean | ||
| kthakore | dukeleto: ok good | ||
| whiteknight | I mean interfaces for the PMC | ||
| I don't know any SDL | |||
| dukeleto | kthakore: also see the "git svn find-rev" command | ||
| kthakore | dukeleto: now I have to make to crawl the trac db to link rXXX links to thes things | ||
| dukeleto: yeah ... but ^^ that is the hard part | 18:05 | ||
| ruoso | whiteknight, ah... in the case of SDL Audio, accessing it as an array of bytes would be quite helpful already | ||
|
18:05
joeri joined
|
|||
| whiteknight | ruoso: for a given buffer, can we say that it is always accessed as an array of bytes, or always as something else? | 18:05 | |
| because switching would be difficult, but if indexed accesses were always the same size it would be easier | |||
| ruoso | whiteknight, once we configure it, it is static | 18:06 | |
| I mean | |||
| whiteknight | so I could make multiple types: ByteBuffer, ShortBuffer, IntBuffer, LongBuffer, etc | ||
| ruoso | yes | ||
| whiteknight | okay, perfect | ||
| this will be easy | |||
| kthakore | whiteknight: yay! | ||
| ruoso | that can be the base for the pixel buffer | ||
| which might have a different set of types as whell | |||
| kthakore | ruoso: ^^ can you show me how that works? | ||
| whiteknight | what datatype does the pixel use? | 18:07 | |
| tewk | whiteknight, how about sized types instead u8 u16 u32 u64 | ||
| ruoso | kthakore knows that better | ||
| kthakore | whiteknight: [U|S]in[8|16|32] | ||
| U is unsigned | |||
| whiteknight | yeah, that's fine | ||
| kthakore | S is signed | ||
| ok great! | |||
| :) | |||
| whiteknight | U/S won't really matter on assign | ||
| ruoso | kthakore, ah... so it's the same... no problem at all | ||
| kthakore | ok | ||
| whiteknight | we just won't do arithmetic in place | ||
| kthakore | sure ... | ||
| dukeleto | kthakore: what exactly are you trying to do? | ||
| kthakore | dukeleto: for git? | ||
| whiteknight | you do your own damn arithmetic :) | ||
| cotto_work | Coke, eor in #ps? | 18:08 | |
| kthakore | dukeleto: see teh git integration wiki | ||
| tewk | short int long is a bad naming convention that is inconsistent across plagforms | ||
| kthakore | cotto_work: what is that link again? | ||
| dukeleto: hold on getting link | |||
| cotto_work | trac.parrot.org/parrot/wiki/GitTransition | ||
| kthakore | dukeleto: ^^ | ||
| ruoso | but when dealing with SDL we need to support threading... | ||
| which gets back to my first question | 18:09 | ||
| was parrot threading model defined already? | |||
| kthakore | ruoso: I donno | ||
| ruoso: haven't seen threads in parrot yet | |||
| Coke | cotto_work: ayup | 18:10 | |
| tewk | We should move to git before SoC starts. | ||
| kthakore | tewk: help me then | ||
| tewk ducks and runs for cover. | |||
| bubaflub | though it's not two-months work, i'm tempted to propose migrating to git as a GSoC project | 18:12 | |
|
18:12
mberends joined
|
|||
| PerlJam | bubaflub: it might be 2 months work to make everyone happy. | 18:13 | |
| kthakore | PerlJam: for sure | ||
| purl | like totally! | ||
| bubaflub | PerlJam: hah. yeah. doesn't involve a lot of parrot coding or compiler guts | ||
|
18:13
gaz joined
|
|||
| bubaflub | but i hear ya | 18:13 | |
| cotto_work | The best thing that anyone could do to help us move to git would be to setup up a read-only trac site with a clone of the svn repo and dukeleto's git tree to show that they can coexist well. | ||
| ideally it'd be a clone of the existing Parrot trac site + git, but I'm not sure if it'd be easy to get that. | 18:14 | ||
| Coke | cotto_work: let me (or someone) know when to involve OSU OSL. | 18:18 | |
| mberends | when building Parrot on Windows XP from source and using Configure.pl, is there a workaround to use a --prefix=directory name that includes spaces? The standard --prefix="C:\\Documents and Settings\\Username" loses its quotes and collapses to "C:\\Documents" :-( | 18:20 | |
| dukeleto | cotto_work: +1 to that idea. can you make a TT to make sure that idea doesn't get lost in the ether? | ||
| mberends: that issue has come up before, methinks | 18:21 | ||
| cotto_work | dukeleto, doing so now | ||
| dukeleto | mberends: it may have gotten re-broken in the recent Makefile refactorings | ||
| mberends | dukeleto: ah. Searching on trac was not easy. | ||
| Coke | mberends: I believe there is a ticket. | 18:22 | |
| Easy enough for someone on non-windows to check. | |||
| mberends | Coke: great. I'd like to append results from Rakudo to the ticket. | 18:23 | |
| Coke | #930 | 18:24 | |
| mberends | :-) thanks Coke | ||
| Coke | note quite, but it's the same genre. | ||
| *not | |||
| (also #888) | |||
|
18:24
lucian joined
|
|||
| NotFound | Using a prefix with a space in linux, parrot builds but fails to install. | 18:26 | |
| mberends | yes, on Windows XP also | ||
| NotFound | Fails while compiling the installable executables. | ||
| dukeleto | NotFound: i have noticed that "make install" doesn't do much error checking | 18:29 | |
| mberends | here it trips up during tools/dev/install_files.pl | ||
| dukeleto | NotFound: if i give it an invalid --prefix, it seems to succeed but doesn't | ||
| NotFound | dukeleto: Invalid in what sense? | ||
| dukeleto | NotFound: for instance, if you do --prefix=/foo/bar/baz and /foo doesn't exists, it does not create the hierarchy | 18:30 | |
| mberends | the first space in the prefix terminates the name | ||
| cotto_work | Coke, can you produce a dump of the trac site if someone needs it or does that need to involve osuosl? | 18:31 | |
| dukeleto | NotFound: do you consider that a bug? at the least it should bail early and say "directory /foo does not exist" | ||
| NotFound | dukeleto: I tempted to consider a bug using make for install. | 18:32 | |
|
18:32
lucian joined
|
|||
| NotFound | Or even better, using make. | 18:33 | |
|
18:34
mberends joined
|
|||
| atrodo | I have finally gotten my compiler and fortran grammer to work well enough together to parse 13% of the fortran 77 test suite i found | 18:38 | |
| So I need to start thinking about how to produce bytecode. I've thought about either emitting or embedding something, but I'm not sure which way to go. | |||
| cotto_work | trac.parrot.org/parrot/ticket/1535 (trac+git demo site) | 18:39 | |
| dalek | TT #1535 created by cotto++: trac+git demo site | 18:46 | |
| TT #1535: trac.parrot.org/parrot/ticket/1535 | |||
| dukeleto | atrodo: sounds cool. is this code anywhere publicly viewable? | 18:49 | |
| yay, dalek gives TT URL! dalek++ | |||
| atrodo | not right now. I was going to yesterday, but realized my license was out of order | ||
| lucian | cotto_work: if there are so many git objections, why not try hg? | 18:51 | |
| cotto_work | lucian, they're almost all addressed | 18:52 | |
| most would apply to any vcs switch | |||
| lucian | cotto_work: great then. looking forward to a dvcs | ||
| dukeleto | dcvs++ | ||
| lucian | having used git first, hg second and only recently svn, svn seems so wrong | 18:53 | |
| cotto_work | Having used svn, svn seems so wrong. | ||
| arnsholt | I've never had any real troubles with svn. Might be related to not using it for any kind of big projects though | 18:54 | |
| lucian | cotto_work: btw, some objections (like #7) would be negated on hg | ||
| cotto_work: which is why i mentioned it | 18:55 | ||
| i found this interesting joelonsoftware.com/items/2010/03/17.html | 18:56 | ||
| darbelo | having used *cvs* svn still looks wrong. | ||
| lucian | cotto_work: #5 is also a non-issue in hg, since history is sacred | 18:57 | |
| purl | okay, lucian. | ||
| lucian | purl: what? | ||
| purl | i haven't a clue, lucian | ||
| darbelo | #5 ? | 18:58 | |
| purl | rumour has it #5 is fine, except, as DrForr said, at the end. or a non-issue in hg, since history is sacred | ||
| lucian | darbelo: trac.parrot.org/parrot/wiki/GitObjections | ||
| darbelo | I know. I was wondering what purl had for #5 :) | ||
| lucian | ah | 18:59 | |
|
18:59
bacek joined
19:00
dmagnus joined
19:07
theory joined
19:12
KatrinaTheLamia joined,
athomason joined,
treed joined,
Infinoid joined,
Tene joined,
bacek_at_work joined,
confound joined,
baest joined,
GeJ joined,
Khisanth joined,
arnsholt joined,
sri joined,
nopaste joined,
Hunger joined,
Coke joined,
dngor joined,
he joined,
particle joined,
eiro_ joined,
snarkyboojum joined,
fperrad joined,
clinton joined,
whiteknight joined,
davidfetter joined,
bubaflub joined,
dukeleto joined,
lucian joined,
chromatic joined
19:13
bubaflub left,
bubaflub joined
19:15
Andy joined
|
|||
| Coke | const Andy *const work. | 19:22 | |
| Andy | ? | 19:23 | |
| Coke | hurm. why does tools/dev/install_files.pl know what install defaults are? | ||
| Andy: const nothing just const saying hey const. | 19:24 | ||
| bubaflub | haha | ||
| Coke | shouldn't those defaults come from config? | ||
| Andy | One thing about hte headerizer makes me sad | ||
| It doesn't recognize funcs that being with a { at the end of the line, instead of starting at the beginning of the next. | |||
| but I don't want to dig into that now. | |||
| Coke | ISTR we had a coding standard that it should be that way, but could be mistaken. | 19:25 | |
| Andy | that could be. | ||
| many many instances do not. | |||
|
19:28
allison joined
19:34
AndyA joined
|
|||
| dukeleto | did i miss #ps? | 19:37 | |
| Coke | abou 50m to go. | 19:38 | |
| dukeleto | Coke++ thanks | 19:40 | |
| Coke points at the latest groklaw. | 19:43 | ||
| bacek | morning | 19:44 | |
| I'll miss todays #ps | |||
| cotto_work | #ps will miss you | 19:46 | |
| your report seems to be truncated | |||
| bacek | yak... | 19:47 | |
| "fixed" | 19:48 | ||
| chromatic, did you see my msg about AVL? | 19:50 | ||
| chromatic | Yes, I was considering using that header as well. | ||
| allison's not a fan of mixing licenses in code, but I know of no legal or ethical reason why we couldn't do so. | 19:51 | ||
| bacek | ok, I'll try to hack something (modulo RL issues) | ||
| chromatic | Besides, there aren't many ways to implement an algorithm or a data structure like that without copying code almost verbatim. | ||
| bacek | indeed. | ||
| But we can replace this implementation with own wheel (theoretically, in future) | 19:52 | ||
| chromatic | We can update the code to our coding standards, but we should keep the author's name and link and license information and note that we based our version on his. | ||
| moritz | chromatic: if you're looking for things to do that help rakudo - somehow all line numbers in error messages are screwed up in rakudo, and jonathan++ thinks it's a parrot bug | ||
| allison | it depends on what the license is | ||
| bacek | MIT | ||
| allison | that's fine then, more permissive than Artistic | 19:53 | |
| Coke | moritz: I had talked to jnthn briefly about that. Having a test case or 2 would go a long way. | ||
| allison | but, we would have to note the license exception for Parrot | ||
| Coke | (even if it's in .p6) | ||
| chromatic | japhb had a test case a while back. I dared him to give me some information. | 19:54 | |
| allison | (it's Artistic, except for...) | ||
| honestly, some days I think Parrot should just switch to BSD | |||
| chromatic | It's only that specific file that would have any interesting license information. | ||
| allison | chromatic: aye, but anyone using Parrot needs notice that not all files are under the same license | 19:55 | |
| particle | allison: you're the expert. | ||
| allison | chromatic: in case they want to do something that fits with the terms of one license but not another | ||
| chromatic: like, for example, the Artistic license lets you take the code under the GPL | 19:56 | ||
| particle | we should discuss license changes with the board, then open up our recommendations to the community for response | ||
| allison | chromatic: MIT doesn't | ||
| chromatic | Sure it does. | ||
| allison | chromatic: it requires the copyright notice and license to be included in all modified versions | 19:57 | |
| chromatic | And it expressly grants permission for recipients to sublicense. | 19:58 | |
| allison | chromatic: Artistic allows you to strip off the older license and ship it as *only* GPL | ||
| chromatic: not that anyone would want to, but licensing is all about what permissions you grant and what restrictions you hold | 19:59 | ||
| Coke | eh. if we have a mechanism for documenting license & copyright, I'm not worried. | ||
| allison | particle: Apache is another good choice, close to Artistic, but much, much simpler | ||
| Coke | even if we have to add exceptions. I don't want to jump through hoops on the coding side if it's only going to save a few packages a small amount of trouble. | ||
| *packagers | |||
| allison | particle: but then, I'm not sure licensing is a good investment of time at the moment | 20:00 | |
| Coke: it's not about packagers, it's about users | |||
|
20:00
lucian joined
|
|||
| allison | Coke: so really, the people to ask if they care if we include MIT code is ActiveState, BBC, etc | 20:00 | |
| particle | allison: agreed, unless it'd driving a code change required for R* | ||
| Coke | allison: ah. I think our users would, in general, prefer a production with multiple licenses than no product. | 20:01 | |
| ... damn. | |||
| a *product with... | |||
| chromatic | Yes, but *there aren't that many ways to write an AVL tree*. | ||
| I can think of... well, one. | |||
| bacek | chromatic, at least two :) | 20:02 | |
| darbelo | But there are limitless ways to name the variables! | ||
| allison | and plenty of way to write balancing binary search trees | ||
| chromatic | They're all going to look the same. | ||
| allison | chromatic: well, not line-for-line identical code | 20:03 | |
| but similar | |||
| a more important question is who wrote it | |||
| bacek | in this case: Copyright (c) 2005 Ian Piumarta | 20:04 | |
| NotFound | to blame him! | ||
| bacek | piumarta.com/software/tree/tree-1.0/ | ||
| allison | then email him, let him know our intended use, and see if he minds | ||
| chromatic | That's silly. | 20:05 | |
| allison | he might even be happy to grant us a contributor license | ||
| chromatic | That's doubly silly. | ||
| allison | chromatic: hardly | ||
| chromatic: the law dictates a minimum requirement | |||
| bacek | I agree with chromatic. | ||
| chromatic | "Hi, can we use a header you wrote for people to use in their own projects in our project? Can we use it under the license terms you selected?" | ||
| allison | he'd probably be pleased to hear how we plan to use it | ||
| bacek | There is clear copyright statement in this file. | ||
| Anyway, time to go. | 20:06 | ||
| See you! | |||
| allison | there's law, and then there's common courtesy | ||
| following one doesn't exclude acting on the other | |||
| darbelo | "We want to use your freely available code, can you sign this weird legal paper for us?" | 20:07 | |
| I know it's not like that, but I know people who'll readi it like that. | |||
| allison | nah, it's not like that | 20:08 | |
| I realize licensing seems unnecessarily complex, but some day we really need to get commercial users | |||
| chromatic | What legal or moral benefit do we get for asking explicit permission which the copyright in the single file already grants? | ||
| allison | and the more obscurities we pile on them, the harder it will be to convince them to use it | 20:09 | |
| chromatic: simplification | |||
| chromatic | How? | ||
| allison | think of it like coding standards | ||
| there's not really any code benefit to indentation and naming rules | |||
| but, it makes our lives saner as developers | 20:10 | ||
| kthakore | allison: except for sanity? | ||
| heh | |||
| chromatic | How? | ||
| allison | licensing standards don't add value to the code, but they add enormous value to the users by making it easy to understand how they can and can't use the code | ||
| kthakore | whiteknight: if you have time may I pmsg you? | 20:11 | |
| whiteknight: regarding the api for direct mem access | |||
| allison | it ultimately doesn't matter what licensing standards we choose, as long as we make them clear, and as simple as possible | ||
| whiteknight | kthakore: I'm packing up to go home now | ||
| I'll be online in an hour if you want to chat | |||
| chromatic | I understand the point of licenses. I want to know how asking someone for explicit permission to use code under the license he has already made his code available offers us some legal or ethical benefit. | ||
| kthakore | whiteknight: ok np I will just make a googgle doc later | ||
| whiteknight | kthakore: okay, awesome | 20:12 | |
| kthakore | whiteknight: go home this can wait | ||
| whiteknight: caio | |||
| I am heading home to | |||
| cya | |||
| allison | chromatic: did I say "ask permission"? I said let him know how we're using it (courtesy) | ||
| chromatic | Oh. I misunderstood when you wrote "see if he minds". | 20:13 | |
|
20:13
tcurtis joined
|
|||
| allison | ah, right, in legal terms those are as different as two function names, but in plain english they're pretty similar | 20:13 | |
| chromatic | Notifying him of our intent (and thanking him for making the code available) would be a good thing. | 20:14 | |
|
20:16
AndyA_ joined
|
|||
| nopaste | "moritz" at 87.147.47.146 pasted "This makefile patch brings a small bit closer to install into a directory with whitespace" (71 lines) at nopaste.snit.ch/20141 | 20:17 | |
| moritz | any objections to applyiing this patch? | 20:18 | |
| NotFound | moritz: I'm not sure if that way will work on windows plaforms. | 20:19 | |
| moritz | NotFound: mberends++ tested an earlier version of that patch on windows... | ||
| chromatic | #ps in 10 | ||
| NotFound | moritz: msvc? | ||
| purl | i think msvc is a bit stricter than gcc; meaning it implements C a bit stricter than gcc | ||
| moritz | NotFound: no idea, asking right now... | 20:20 | |
| NotFound: gcc (from strawberry perl) | 20:21 | ||
|
20:21
Util joined,
allison joined
|
|||
| particle | interesting reports from #perl6... rakudo builds in <250MB now, but it builds very slowly. | 20:23 | |
| chromatic | It built slowly before! | ||
| NotFound | I'd like to drop support for msvc, and for anything that hasn't more or less sane make and shell. | 20:24 | |
| darbelo | It failed pretty fast on my box ;) | ||
| Now it takes a long time work. | |||
| allison | NotFound: msvc is pretty much a requirement | ||
| moritz | chromatic: also t/spec/S05-mass/rx.t is *way* slower than it used to be | 20:26 | |
| chromatic: so something seem to have made parsing/regex matching much slower | |||
| allison | NotFound: sane make is only a requirement as long as we're using make (which is by definition not entirely sane, but it's at least more cross-platform than most of the alternatives) | ||
| chromatic | moritz, when did this slow down? | ||
| Coke | I haven't had any trouble supporting nmake. | 20:27 | |
| (thanks to ttbot, anyway) | |||
| dmake, on the other hand... | |||
| moritz | chromatic: I'm not sure... r45315 was the first revision where I observed the sloweness, but it could have been very well before | ||
|
20:27
bacek_mobile joined
|
|||
| NotFound | allison: make by itself, maybe, but combined with a not so cross-platform shell is a nightmare. | 20:28 | |
|
20:28
bubaflub joined
|
|||
| Andy | I really do love some good maintenance. | 20:28 | |
| allison | NotFound: and this is the selling point for autoconf, let someone else deal with all the silly edge cases | 20:29 | |
|
20:29
Austin_away left
|
|||
| Coke | ... of course, moritz is here, too: | 20:29 | |
| 16:28 <@moritz_> CokeCokeCokeCoke: r45178 good, r45315 bad | |||
| (for the speed issues. | |||
|
20:30
Austin joined
|
|||
| NotFound | allison: I don't think autoconf works with cmd.exe | 20:30 | |
| darbelo | I didn't know autoconf had selling points. | ||
| darbelo goes afk | |||
| allison | it's not flexible enough by a long shot | 20:31 | |
| (the problem with dealing with the edge cases is that you never think of *all* the possible edge cases) | |||
| chromatic | moritz, that's a tricky revision. If you can do anything to pinpoint it further, it's much easier to diagnose and fix. | ||
| moritz | chromatic: will try one before | 20:32 | |
| chromatic | Otherwise, I'll profile a shorter version of that regex test to see what happens. | ||
| moderator | #parrot Parrot 2.2.0 "Like Clockwork" Released! | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Fix HLL bugs (TT #389, #1040) | Prioritize Rakudo Needs | 20:33 | |
|
bluescreen joined
|
|||
| particle | i'm sorry, don't we have Perl to deal with non-portable shell commands? | 20:39 | |
|
20:40
payload joined
|
|||
| allison | particle: yes, but we're depending less and less on perl | 20:40 | |
| particle: mini-parrot is an option | |||
| chromatic | Reminder: #ps is going on | ||
| particle | it's a better option than autoconf, which requires perl | ||
| NotFound | Even better, we have parrot. | 20:44 | |
| chromatic | Hm, I bet I know what the Rakudo rx slowdown is; it's the second half of r45315. | ||
| moderator | #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 | 20:44 | |
| allison | particle: ah, but autoconf only requires perl on the developer side, not on the end-user side | 20:44 | |
| NotFound | We can use the parrot in tree to install the installable one. | 20:45 | |
| allison | particle: we could, in fact, require a fully-built parrot on the developer side | ||
| particle | i don't recommend replacing something that works on windows with something that doesn't. | ||
| NotFound | autoconf works in windows, provided you use a sane shell | 20:46 | |
| particle | sigh | ||
|
20:47
TiMBuS joined
|
|||
| Coke | I don't think comparing our current system to autoconf is fair, since anything will look better in comparison. =-) | 20:47 | |
| NotFound | Coke: I'm just comparing cmd.exe with anything else X-) | ||
| particle | so use powershell. | 20:51 | |
| NotFound | particle: tell that to msvc | 20:54 | |
| arnsholt | Powershell is a small improvement over cmd.exe, IMO | 20:55 | |
| Coke | NotFound: what problem, in particular, are you having? | ||
| NotFound | Coke: spaces | 20:56 | |
| Coke | aren't we using cmd.exe and msvc in a standard build for a few developers here (like particle) and ttbot? | ||
| NotFound: ... that's not an msvc/cmd.exe problem! | |||
| particle | yes | ||
| Coke | that's a "parrot build system" problem. | ||
| I will be you a dollar that trunk on linux with bash and gmake and gcc fails if you try to install into "/Some Path". | 20:57 | ||
| NotFound | Coke: yes, but any time someone tries to improve the makefile in that aspect, he breaks msvc builds. | ||
|
21:06
preflex joined
21:07
lucian joined
|
|||
| moritz | dukeleto: (gsoc) if I want to act as a possible mentor this year, and already had that status last year, is there anything I need to do? | 21:16 | |
| dalek | TT #1489 closed by coke++: memory PANIC building rakudo | ||
| TT #1489: trac.parrot.org/parrot/ticket/1489 | |||
| chromatic | moritz, I signed up in the Google app again. I doubt that hurts. | 21:17 | |
| moritz | I can log in with my google account... is there an "I want to be a mentor" button anywhere? | 21:20 | |
| dukeleto | moritz: yes, you need to go to socghop.appspot.com and click on "apply to be a mentor" on the lower left | ||
| moritz: then choose TPF as the org you want to apply to. | 21:21 | ||
| moritz | ah, thanks | ||
|
21:21
riffraff joined
|
|||
| dukeleto | moritz: the site is not the most user-friendly | 21:21 | |
| moritz: thanks for being a mentor! | |||
| moritz | dukeleto: thanks for being an admin! | 21:22 | |
| dukeleto | moritz++ # much appreciated | 21:30 | |
| Coke | thankfest 2010! | ||
| atrodo | dukeleto> github.com/atrodo/draak I know it doesn't compile for anyone else yet, I have to decouple a dependency yet | 21:38 | |
| plus the fact that I use kylix instead of freepascal may make things interesting for others | 21:39 | ||
| moderator | #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 | 21:42 | |
| moritz | chromatic: rakudo build + spectest run takes 20.5min on parrot r45314, on r45315 it's 49min | 21:42 | |
| chromatic | Okay, it's clear that's the problem (and I suspect I know which line is the problem). | 21:44 | |
| moritz | great | ||
| chromatic | I think if we can fix that, we can get the build and spectest run somewhat closer to 15 minutes. | ||
| PerlJam | chromatic++ | ||
| PerlJam boggles slightly that it's just one line that's causing the problem. | 21:45 | ||
| moritz | PerlJam: maybe the fix takes longer than one line :-) | ||
| PerlJam | no doubt | 21:46 | |
| chromatic | I've made enough one line performance improvements that nothing surprises me anymore. | ||
| Given the source of the memory bug, I half expect that the design of this system included the line "The resulting must resemble a shark when printed on a 132-column line printer at midnight under a full moon." | |||
|
21:46
pjcj joined
|
|||
| dalek | rrot: r45326 | allison++ | trunk/DEPRECATED.pod: [cage] Deprecate pushaction, pushmark, and popmark. |
21:48 | |
| rrot: r45327 | petdance++ | trunk/src/pmc/bigint.pmc: headerizing more statics |
|||
| rrot: r45328 | petdance++ | trunk/src/pmc/hashiterator.pmc: headerizing statics. Removed unused return value from advance_to_next() |
|||
| rrot: r45329 | petdance++ | trunk/src/pmc/complex.pmc: protect statics with headerizer arguments |
|||
| TT #1536 created by dukeleto++: Remove History and Maintainer sections from PDD's (mostly drafts) | 21:49 | ||
| TT #1536: trac.parrot.org/parrot/ticket/1536 | |||
| dukeleto | wow, a > 2x speedup in spectest ? awesome! chromatic++ | 21:50 | |
|
21:50
tcurtis joined
|
|||
| Andy | 45315 looks like it's bigger than one line | 21:52 | |
| allison afk for 20mins | |||
| Andy | oh, oh, I see it. hahah, no need formemory clearing. Nice. | 21:53 | |
| Dang, ack _zeroed --cc | wc -l --> 363 | 21:55 | ||
| cotto_work | mikehh, file a tt about it and assign it to me if you can't figure it out. I don't think it'll be very hard now that I don't also have svn-- to wrestle with it. | 21:56 | |
| mikehh | cotto_work: I will look into it and file a TT as necessary - need to look at shebang line if it exists | 21:57 | |
| cotto_work | it does in that file | 21:58 | |
| mikehh | also should there be a standard shebang line for nqp - I have seen #!./parrot_nqp and #! nqp and others | ||
| cotto_work | Yeah. I was using /usr/bin/env parrot-nqp, but that used the installed version and dtwt | 21:59 | |
| mikehh | I will spend some time on it, but not right now as I need a break - will look into it later | 22:03 | |
| GeJ | Good morning everyone. | 22:06 | |
| dalek | kudo: 00d8d8d | (Solomon Foster)++ | src/core/Iterator.pm: Make .perl on Iterators eager. |
22:10 | |
| Coke | I think the shebang should just be "parrot-nqp" (if it's nqp-rx), and we should be running it explicitly with teh build copy if that's what we want. | 22:13 | |
|
22:15
AndyA joined
|
|||
| dalek | rrot: r45330 | petdance++ | trunk/src/pmc/parrotinterpreter.pmc: consting |
22:36 | |
| rrot: r45331 | petdance++ | trunk/src/pmc/packfilerawsegment.pmc: consting, and localized a loop variable |
|||
|
22:43
Austin joined
|
|||
| Coke | hey, it's ole rough and toothless. | 22:43 | |
| Austin sings, "I'm buzzin, dirty dozen, naughty rotten rhymer. Cursin' at you players worse than Marty Schottenheimer..." | 22:44 | ||
| Coke | ... my son is playing the theme to old BSG and Jaws on the trombone. | ||
| Austin | BSG? | 22:45 | |
| purl | BSG is Battle Star Galactica or Boring Scifi Garbage or Battlesodium Glutamate | ||
| Austin | Ah | ||
| Working up to the Darth Vader march? | |||
| Coke | I think he has the entire beatles catalogue to get through first. | 22:46 | |
| Austin sings, "It don't mean a thing, if it ain't got that swing.." | 22:47 | ||
|
22:59
pjcj joined
|
|||
| cotto_work | Where is the import method on the 'parrot' compiler defined? | 23:02 | |
| or more specifically, (how) can I use it to import a subset of the available subs/methods from a ns? | |||
| Austin | runtime/language/parrot | 23:03 | |
| *languages | |||
| cotto_work | austin++ | ||
| Austin | And you can't. | 23:04 | |
| :( | 23:05 | ||
| cotto_work | well crud | ||
| Coke | IWBNI if ./partcl -e 'set a {a {b c}}; lset a 1 AA' gave me an error messages in a non-generated file. | ||
| cotto_work | s/can't/can't until it gets patched/ | ||
| Coke | Austin: ok, I think this is an NQP question you might be able to help me with. | 23:08 | |
| got a sec? | |||
| Austin | heh | ||
| Go right ahead. | |||
| Coke | that sample above - it's a multi-level list. but the sublist {b c} is coming back as a String, not a TclString. | 23:09 | |
| list processing is done by the grammar in src/Partcl | |||
| Austin | That's being parsed by your getList function, or something else? | 23:10 | |
| dalek | rrot: r45332 | petdance++ | trunk/src/pmc/default.pmc: headerizing more statics |
||
| Coke | I'm trying to figure out why the list chunks are Strings and not TclStrings. | ||
| Coke | TclString's .getList() just calls the grammar. | ||
| Austin | Okay. | ||
| Coke | so the grammar is creating a list of Strings, not TclStrings. | ||
| Austin | But is the grammar in Tcl space, or parrot-space? | ||
| Coke | ah. bet it's: src/Partcl/commands/main.pir | ||
| er. | |||
| for $<EXPR> { @list.push($_.ast); } | |||
| that push is pushing a String, not a TclString. I bet I can fix this. | 23:11 | ||
| Austin | Coke: Now say, "Hey, y'all! Watch this!" And the setup will be complete... | ||
| Coke | ... hurm. | 23:12 | |
| I don't think I can blindly shove that ".ast" into a TclString. | |||
| ... nope, I'm lost. =-) | 23:14 | ||
| any ideas? | 23:19 | ||
| Austin | I was wondering if Parrot_str_substr honored the hll mapping. | ||
| dukeleto | Austin: i think Parrot_str_* functions are deprecated | 23:20 | |
| Austin | But it has been pre-processed to the point where I can't tell. | ||
| dukeleto | Austin: newer-style fuctions have _string_ in the name, iirc | ||
| Austin | Laugh. | ||
| Well, since the substr opcode uses it, it can't be all *that* deprecated, can it? | 23:21 | ||
| dukeleto | Cry. | ||
| Coke | Austin: str_substr returns a STRING, not a PMC | ||
| dukeleto | Austin: they are still in use all over the place, but i think they are slowly being changed. perhaps i am wrong. anybody have an authoritave answer? | ||
| Austin | Coke: Well, that's going to simplify things, I guess. | 23:22 | |
| cotto_work | I thought it was the _string_ functions that were deprecated. | ||
| from DEPRECATED.pod: =item Parrot_string_* [eligible in 2.4] | 23:23 | ||
| Austin | Coke: you probably know more about hll mapping than I do. | ||
| Is that just something that switches the types when the topmost string in the current namespace matches ? | 23:24 | ||
| Or is there more intelligence than that? | |||
| dukeleto | cotto_work: that shows what I know | ||
| tcurtis | The only Parrot_string_* function still used is Parrot_string_cstring, according to a hasty grep. | ||
|
23:24
Whiteknight joined
|
|||
| Coke | Austin: er, I don't understand your question. | 23:24 | |
| Austin | Okay. | 23:25 | |
| How does HLL mapping work? | |||
| allison | Parrot_string_* is deprecated in favor of Parrot_str_* | ||
| (coding standards dictate a 3-character system code) | 23:26 | ||
| Tene | Austin: lemme get it for you, just a sec | ||
| Coke | Austin: every place where source does pmc_new (some type), it should call a function on (some type) to see if there is a mapping in some global registry. | ||
| Austin | Okay. | ||
| Is there any kind of boundary to that? | 23:27 | ||
| IOW, if /Partcl/main() calles new ['String'] it should get a TclString. | |||
| Coke | the registry is keyed to the current HLL. | ||
| Austin | But if /parrot/xxx() calls new ['String'], what does it get? | ||
| Coke | er, no. | 23:28 | |
| new ['string'] is always a string. | |||
| Austin | ? | ||
| Coke | more for when a PMC is generated on your behalf. | ||
| like, for box | |||
| or split. | |||
| Austin | Ah | ||
| so s/new ['String']/array.join/ above | 23:29 | ||
| Coke | hurm. if I print out the typeof $_.ast in that loop, it's always String. | ||
| Austin | okay | ||
| Coke | so I /should/ be able to coerce that when i assign it. but I'd rather figure out where that String is being allocated. | ||
| is there a way to get the current HLL from pir? | 23:30 | ||
| Tene | Austin: see Parrot_get_HLL_type in src/hll.c | ||
| Austin: the function normally called is Parrot_get_ctx_HLL_type | 23:33 | ||
| Austin | shouldn't that be "Parrot_hll_get_type?" | ||
| :) | |||
| Tene | which just fetches the hll_id for the current context and calls the other. | ||
| Austin: Probably. :) | |||
| Austin: any other HLL questions before I pack up for the day and go home? | |||
| Austin | Nope, that's it. Thanks. | ||
| Tene | Great, have fun with HLL issues. :) | 23:34 | |
| AFK | |||
| Whiteknight | new ['String'] creates a new string | 23:37 | |
| Austin | Coke: The Regex::Match class has a .ast method that returns a substring of the input. | ||
| It uses the substr opcode. | |||
| Whiteknight | $P0 = box "foo" should create the hll-mapped type | ||
| Austin | Or claims to, anyway. | 23:38 | |
| In reality, I don't think it does. But the stringification uses substr. | |||
|
23:56
theory joined
|
|||
| dalek | kudo: 9f829b4 | jonathan++ | src/Perl6/Actions.pm: Factor a little bit of commonality out of method_def and regex_def. Support our method/our regex (or my) style declarations. For regexes, get handling of lexical scopes correct, as we do for methods. |
23:56 | |
| kudo: 666470e | jonathan++ | src/Perl6/Compiler/Module.pm: Declaring a regex (or method) outside of some classy thing shouldn't be an error, just a warning that gets suppressed by writing my or our. |
|||
| kudo: 3576524 | jonathan++ | src/metamodel/ClassHOW.pir: Make it possible to add extra roles with an augment. |
|||
| arnsholt | Whiteknight: You around? | ||
| Whiteknight | ? | ||
| arnsholt | I've been mulling over my buggy code that you so kindly fixed | 23:58 | |
| Isn't it a bit weird that the return value from the previous function call is persisted? | |||
| Whiteknight | what doyou mean? | ||
| arnsholt | That value was returned after the continuation was created, so stricly it comes from an alternate timeline (or whatever it should be called) | 23:59 | |
| Something about that doesn't sound right. Shouldn't the register hold some kind of undefined value instead? | |||