|
Parrot 2.3.0 Released | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches, test exceptions_refactor branch | welcome our GSoC students Set by moderator on 27 April 2010. |
|||
| bacek | Because original commit is lost. | 00:00 | |
| chromatic | True. | ||
| bacek | Basically, "V" in "SVN" is almost lie. It's just set of snapshots... | 00:01 | |
| chromatic | That's because it tracks the wrong thing. | ||
| bacek | Indeed. | ||
| chromatic | What are you working on next? | 00:03 | |
| bacek | chromatic, nothing yet. | ||
| chromatic | We should work on the sweep-free GC at some point. | ||
| On the PerformanceImprovements page, fixing vtable overrides is pretty easy. | |||
| bacek | I'm thinking about GMS now. Just have to wrap my head around. | 00:04 | |
| chromatic | I don't think we need to go that far yet. | ||
| Whiteknight | chromatic: I'm still not sure I understand your suggestions for improving vtable overrides | ||
| chromatic | It's pretty easy. | ||
| We know when a class has a vtable override. | 00:05 | ||
| We know which vtable gets overridden. | |||
| bacek | chromatic, I would like to see faster GC. And GMS is easy choice. (No compacting just yet) | ||
| chromatic | I want to see GMS too, but I think that's a bigger project than sweep-free. | ||
| bacek | About 300-500 lines of code. | 00:06 | |
| chromatic | Whiteknight, when a class gets a vtable override, we clone its existing vtable, then swap in a new function pointer that redispatches to the appropriate PIR override. | ||
| Whiteknight | ah, that idea. I was thinking of something different | ||
| In that case, we're going to end up allocating a lot more vtable structures | 00:07 | ||
| chromatic | Pick your poison: a few dozen more vtables or 5-6% of Rakudo runtime. | 00:08 | |
| dalek | tracwiki: v126 | bacek++ | Languages | ||
| tracwiki: Move NQP into "retired" section | |||
| tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff | |||
| tracwiki: v6 | bacek++ | PerformanceImprovements | |||
| tracwiki: Remove "immutable strings" from list. | |||
| tracwiki: trac.parrot.org/parrot/wiki/Perform...ction=diff | |||
| chromatic | bacek, if you can do it in 500 lines of non-invasive code, so much the better. | ||
| I'm really curious to see how for plobsing can get with constant string coalescing in PBC. | |||
| s/for/far/ | 00:09 | ||
| bacek | chromatic, with using idea of "write barrier vtable" from SPJ it's doable in 500 lines. | ||
| chromatic | Is that easy to describe on the wiki? | ||
| bacek | it's easy to read whole paper. | 00:10 | |
| chromatic | I mean the plan for Parrot, not the paper. | ||
| bacek | Ah. Yes. | ||
| Whiteknight | chromatic: 1) we need to make vtables smaller, 2) We need to change the way they are allocated (not as a long linear array) | 00:11 | |
| plobsing | chromatic: the branch works except for :immediate :anon magic subs | 00:12 | |
| Whiteknight | Also, I wonder if there would be performance benefits for Rakudo to stop using vtable overrides entirely and just using method calls | ||
| method calls are already cached, use the same PCC mechanism, don't recurse into a new runcore, etc | 00:13 | ||
| chromatic | That sounds like an argument against using core PMCs at all. | 00:14 | |
| ... or at least extending them, or writing HLL mapped versions in PIR. | |||
| plobsing, what happens with the magic subs? | 00:15 | ||
| plobsing | IMCC modifies the constant *after* adding it to the packfile but before serializing the packfile | 00:24 | |
| dalek | tracwiki: v1 | bacek++ | BacekTaskList | ||
| tracwiki: trac.parrot.org/parrot/wiki/BacekTa...ction=diff | |||
| tracwiki: v2 | bacek++ | BacekTaskList | |||
| tracwiki: trac.parrot.org/parrot/wiki/BacekTa...ction=diff | |||
| tracwiki: v3 | bacek++ | BacekTaskList | |||
| tracwiki: trac.parrot.org/parrot/wiki/BacekTa...ction=diff | |||
| tracwiki: v4 | bacek++ | BacekTaskList | |||
| tracwiki: trac.parrot.org/parrot/wiki/BacekTa...ction=diff | |||
| chromatic | That means someone (read, "probably me") has to dive into IMCC? | 00:25 | |
| plobsing | I have a workaround that is almost up and running | ||
| although the magic subs don't get the optimization | 00:26 | ||
| chromatic | We should be able to reenable the optimization. | 00:27 | |
| plobsing | if and when it becomes in the right order, it will automatically get the optimization | 00:28 | |
| it's a simple matter of "string not found" ATM | |||
|
00:31
kurahaupo joined
|
|||
| bacek | chromatic, trac.parrot.org/parrot/wiki/Generat...lMarkSweep initial brain dump | 00:32 | |
| sorear | chromatic: Do you want memory testing of new CodeString on the rakudobuild benchmark? | 00:37 | |
| dalek | tracwiki: v1 | bacek++ | GenerationalMarkSweep | 00:41 | |
| tracwiki: Initial cut of GMS. | |||
| tracwiki: trac.parrot.org/parrot/wiki/Generat...ction=diff | |||
| tracwiki: v2 | bacek++ | GenerationalMarkSweep | |||
| tracwiki: trac.parrot.org/parrot/wiki/Generat...ction=diff | |||
| chromatic | sorear, that'd be helpful thanks. | 00:47 | |
|
01:08
Rahly joined
01:13
tetragon joined
01:15
eternaleye joined
01:35
Andy joined
|
|||
| bacek | chromatic, do you have any written stuff for "sweep-free GC"? | 01:45 | |
| Andy | hey bacek | 01:46 | |
| bacek | Aloha Andy | 01:47 | |
| Andy | so much consting done | ||
| so much more to do | |||
| chromatic | There's a page on the wiki for it, bacek. I don't remember the name. | ||
| bacek | chromatic, found it | ||
| Andy, "job security"!!! :) | |||
| chromatic, looks like tri-colour mark. | 01:51 | ||
| chromatic | Yeah, it's similar. | 01:58 | |
|
01:59
Psyche^ joined
|
|||
| bacek | why do we need FRESH list? | 01:59 | |
| Let's just put new PMCs into MAYBE list. | |||
| chromatic | The idea is to use a list as the youngest generation. | 02:01 | |
| bacek | but then we just merge it into MAYBE list | 02:02 | |
| chromatic | After a full mark, we know that nothing on that list is alive. | 02:03 | |
| bacek | On MAYBE? Yes. On FRESH? Not sure. | ||
| chromatic | If we detach FRESH at the start of a GC run, so any GCables allocated after that point go on a new FRESH, we do. | 02:04 | |
| bacek | We don't allocate new GCable during mark. | 02:05 | |
| chromatic | Hopefully. | ||
| purl | i heard hopefully was lightweight. | ||
| chromatic | And only because we stop the world. | ||
| bacek | It's true. | 02:06 | |
| Yeah, it make sense in "non-stop" world. | |||
| chromatic | I'm trying to drag the current GC kicking and screaming into a concurrent world. | 02:07 | |
| bacek | chromatic, it easier to kill it... | ||
| chromatic | Right, but we have to replace it first. | ||
| bacek | Oookey. I'll look at it close tonight. | 02:11 | |
| It will be a good step forward for GMS anyway | |||
| chromatic | It's not the best GC in the world, but it's an achievable step right now that should get us 10% performance. | 02:13 | |
| bacek | I'm not sure about 10%... But it should be faster. | 02:14 | |
| Do you have any benchmarks that I can use? | 02:15 | ||
| sorear | chromatic: Didn't you just add a mark-time STRING header allocation? | 02:21 | |
| chromatic | Yep. | 02:35 | |
| dalek | TT #1605 created by bacek++: Documentation for buffers in include/parrot/pobj.h is outdated. | 02:36 | |
| TT #1605: trac.parrot.org/parrot/ticket/1605 | |||
|
02:47
janus joined
02:52
Themeruta joined,
parthm joined
03:19
darbelo joined
|
|||
| dalek | rrot: r46212 | plobsing++ | branches/pbc_frozen_strings1 (7 files): workaround for :immediate :anon magic subs |
03:30 | |
|
03:30
Coke joined,
Coke left
|
|||
| sorear | "insert integer generation field into PObj" | 03:33 | |
| does this mean that generational GC is +10% memory usage unless compiled out? | 03:34 | ||
|
03:35
parthm joined
|
|||
| sorear | Is it a bug that 'realclean' doesn't remove all built files? | 03:37 | |
| plobsing | sorear: which files exactly? | 03:44 | |
| sorear | extra_thunks and json something | 03:45 | |
| plobsing | hmmm... yeah, that's a bug, and those are both things I've touched recently | 03:46 | |
| sorear | hmm | ||
| the parrot-installer seems to be trying to install executables with 'cp' | |||
| plobsing | sorear: I just ran a 'make; make realclean' and I cannot find any files with names containing 'extra_thunks' or 'json' that look like they don't belong | 03:57 | |
| darbelo | plobsing: svn st --no-ignore | 04:01 | |
| We have some too-wide ignores. | 04:02 | ||
| plobsing | darbelo: I used "ack -f -G extra_thunks" | ||
| darbelo | If I do a make realclean && svn st --no-ignore I get | ||
| I runtime/parrot/languages/data_json | |||
| I src/extra_nci_thunks.c | |||
| ... and some editor backup files that I never removed. | 04:03 | ||
| plobsing | ah! so many files I never cleaned! | ||
| darbelo | Heh, they do tend to pile up. | 04:09 | |
| They are like hairy yaks in that way. | 04:10 | ||
| plobsing | yeah I now see the cost of my use of patches as a wish-it-were-git substitute | ||
| sorear | this is bizarre | 04:12 | |
| running the codestring branch, rakudo compiled in similar time to trunk | 04:13 | ||
| including the setting | |||
| darbelo | setting? | 04:14 | |
| purl | well, setting is a bit of a put-off, though. | ||
| sorear | but when it got to generating Test.pir? it's currently using all but 4MB of my memory | ||
| and has been for several minutes | |||
| you'd think it would have run out bby now; 4MB doesn't usually last long | 04:15 | ||
| darbelo | What are you using to monitor mem usage? | 04:16 | |
| sorear | darbelo: Perl6 standard library. Several thousand lines of a nd a huge stress test FOR Parrot's memory manage | 04:18 | |
| darbelo: 'free' | |||
| cross-checked with system responsiveness | |||
| notice the lack of typo correction in the last few lines :/ | 04:19 | ||
| darbelo | My guess is that it needed that much at some point, then it didn't and now it has a big-ass free pool to use. | ||
| A smart gc would probably free() that stuff back to the OS at some point. | 04:21 | ||
| But I will not accuse our gc of being smart enough to do anything. | |||
| I learn from the past. | |||
| I also saw the commit message fro chromatic's commit to that branch. | 04:22 | ||
| sorear | Our gc does free stuff back to the OS; I've seen it happen | 04:23 | |
| after grinding for half an hour it then segfaulted | 04:25 | ||
| darbelo | Sure it does, but from what pool and under what conditions? I don't know, and I'm not going to assume correctnes without reading the code. | ||
| sorear | in String.set_string_native | 04:26 | |
| darbelo | I would dig up as much info as I can on that and msg Coke with it. | 04:27 | |
| bacek | GC release stuff back to OS at least from string pools | 04:28 | |
| sorear | meanwhile, gdb has forgotten how to turn addresses back into function names, so getting a working backtrace will be Hard | 04:29 | |
| darbelo | String storage is compacted, headers aren't. Even if most of the header pool is empty it has to keep the memory. | 04:30 | |
| bacek | OTOH, I suspect compact_pool vs CodeString "miscommunication". New compact_pool is less precise than before. And CodeString in branch create much more long-lived Strings. | ||
| sorear | I'm running codestring branch, not trunk | 04:31 | |
| darbelo | CodeString now concats stuff during mark() too. So that the substrings can get collected in the next sweep. That might explain a big jump on memory usage, followed by a decrease. | ||
| sorear | so I don't think I've seen the compact_pool merge | ||
| bacek | it was merged into trunk recently. | 04:32 | |
| r46077 on 27th of April | 04:33 | ||
| darbelo | Speaking of bleeding^Wmerges... | ||
| sorear | Who is --ANR? | ||
| bacek: merged into trunk. not, merged into codestring | |||
| unless it was merged | |||
| bacek | sorear, "Allison N. Randal" | 04:34 | |
| sorear, I think codestring was branched after merge | |||
| sorear wonders if there's a svn way to find out if a given individual change has been merged into a given branch | |||
| bacek | not in svn I think | ||
| darbelo | diff? | 04:35 | |
| purl | diff is that a burned cat is not as attractive as scarlett johannsen that a burned cat is also more likely to get its kit off | ||
| plobsing | step 1) import into git | ||
| dalek | rrot: r46213 | plobsing++ | trunk/config/gen/makefiles/root.in: remove untracked files in realclean |
||
| rrot: r46214 | gerd++ | trunk (4 files): Replace the sed command with perl code. Move the writing of TEX-code form the file book-to-latex.pl to the file filename_and_chapter.pl, so the commands in the Makefile can be reduced |
|||
| sorear | it gets better. ./perl6 segfaults immediately on execution. | 04:38 | |
| yay, finally getting gcc to spit out function names | 04:40 | ||
| the same address is repeating, over and over again | 04:41 | ||
| Parrot_String_set_string_native is infinitely recursing | |||
| ummm... no duh | 04:42 | ||
| Parrot_String_set_string_native contains SELF.set_string_native as a fallback case !! | |||
| bacek | Niiiiice... | 04:45 | |
|
04:48
fperrad_ joined
|
|||
| darbelo can't handle recursion, so he delegates to himself all recursive tasks. | 04:50 | ||
|
05:04
LoganLK joined
|
|||
| nopaste | "bacek" at 192.168.1.3 pasted "sorear, can you try to build rakudo with this patch?" (25 lines) at nopaste.snit.ch/20429 | 05:23 | |
| sorear | bacek: Erm, what? | 05:38 | |
| purl | Erm, is it | ||
| sorear | That patch defeats CodeString's reason for existing | ||
| bacek | sorear, nopasted patch for CodeString. I hope it will "improve" memory usage in rakudo | ||
| sorear, it is not. Main reason is to avoid subsequent calls to str_concat afaiu | 05:39 | ||
| sorear | but... with your patch, every push is an immediate concat | 05:40 | |
| bacek | no, every .emit is | 05:41 | |
| But usually C<fmt> will contain a set of %args to replace. | |||
|
05:42
jimmy joined
|
|||
| darbelo | Do we have (or had), by any chance any Chinese or Japanese contributors? | 05:46 | |
| bacek | darbelo, JimmyZ just joined :) | ||
| JimmyZ | \\o | ||
| What can I help you? darbelo? | 05:47 | ||
| bacek | JimmyZ, s/What/How/ :) | ||
| JimmyZ | oh | ||
| How | |||
| Then how can I help you? darbelo? | |||
| darbelo | I have a question about Asian character sets. | ||
| bacek | JimmyZ, no worries. My son has started to correct my English already :) | 05:48 | |
| JimmyZ | darbelo: go on | ||
| darbelo | I'm looking at some of the Unicode stuff and my head is starting to spin. | 05:49 | |
| First off, how 'big' is the character set. | |||
| JimmyZ | What does 'big' mean? | 05:51 | |
| Do you mean how many characters is? | 05:52 | ||
| darbelo | Number of 'characters' available, and stored in how many bits. | ||
| sorear | bacek: I have a radical idea. Let's kill the lazy concatenation engine and just use ResizableByteArray | 05:54 | |
| Note that PIR is a binary file format to begin with | |||
| (since it has to assign encodings to each substring) | |||
| bacek | sorear, StringBuilder is on todo list :) | ||
| sorear | darbelo: We're not just going to use UTF-16 for CJK? | 05:55 | |
| JimmyZ | darbelo: 0x4E00-0x9FBB | 05:56 | |
| darbelo: Does it answer your question? | |||
| it's unicode | |||
| darbelo | JimmyZ: Kind of. I'm not getting a clear picture of what gets considered a "character", but maybe it's just that I'm trying to map it too closely to an alphabet. | 05:58 | |
| sorear | CJK characters are twice the area of Roman characters and require ~twice as many bits to represent | ||
| JimmyZ | darbelo: I'm not quite follow it. I think you can ask Timdoady about Japanese | 06:00 | |
| darbelo: or masak | 06:01 | ||
| sorear | Do you have any questions amenable to general addressing? | 06:04 | |
| darbelo | I have a general lack of knowledge about the languages involved, It's not a technical matter at all. | 06:10 | |
| sorear | ok | ||
| asians write in monospace - you can lower a grid over their text and it looks neat | |||
| 1 character ~= 1 box | |||
| asians here != the geographic region | 06:11 | ||
| darbelo | That I got. But I've seen what looks like two distinct characters squished into one box. | ||
| sorear | That's one character | ||
| I'm no expert and can't explain quite how it happens | 06:12 | ||
| often, but not always, the meaning of a character with >1 component is similar to the composition of the parts | |||
| but it's still treated as one character for grammatical (and encoding) purposes | 06:13 | ||
| spinclad | or one part suggests, or used to suggest, the sound of the whole | ||
| sorear | also, remember that lumping does not mean abstraction | ||
| spinclad | in chinese, one character = one syllable = (more or less) one word | 06:14 | |
| sorear | there are important historical differences between the usage of "asian characters" between languages | ||
| Japanese and Korean have both incompletely adopted phonetic alphabets | |||
| there's a greater gulf better written and spoken forms in some areas | 06:15 | ||
| etc. | |||
| darbelo | So, the two squished things are one character (and hence one syllable) with a meaning different to the (two sylables) word that is formed by unsquising the things an placing them next to each other. | ||
| sorear | there are something on the order of 100,000 known characters, but their usage is not at all uniformly distributed | 06:16 | |
| the Japanese journalism industry has a list of the kanji that educated people are expected to understand without definition. It only has 2,000 | 06:17 | ||
| the practical upshot of this is that, unless you want to invent a 12-bit encoding of your own, UTF-16 is close to optimal | |||
| spinclad | yes, the parts are called radicals; there are about 100 of them. | ||
| sorear | non-BMP Han characters are quite rare | 06:18 | |
| spinclad | but it's the whole character that maps to a syllable/word | ||
| sorear | from a purely data processing perspective, there's very little reason to use a DBCS encoding | ||
| Right now, all of our charsets are (improper) subsets of Unicode | 06:20 | ||
| I *strongly* recommend keeping this | |||
| running some character sets off EBCDIC, others off Unicode, and others of JIS X 0213 would be pure insanity | 06:21 | ||
| it's ok to have an EBCDIC or EUC-JP *encoding*, but if you ask what a character's ordinal is, the results should be coherent between strings | 06:22 | ||
| darbelo | sorear: FWIW, it was a question out of idle curiosity, I'm not going to go off implementing 12-bit-densely-packed-hangul. | 06:24 | |
| Nor EBCDIC, for taht matter. | |||
| It's just that the more I read on the subject of encoding asian languages the more of a mess it starts to seem. | 06:26 | ||
| sorear | Hangul are a different kettle of fish altogether. | 06:27 | |
| And yes, encoding matters are always a mess. | 06:28 | ||
| Luckily, it looks like the mess is starting to abide | |||
| Non-UTF encodings are dying, by 2020 there will probably be less than 10 important encodings | 06:29 | ||
|
06:33
parthm left
|
|||
| darbelo | Honestly, from a purely pragmatical standpoint, and spoken withthe utmost respect to the culture that originated it: Any language that has a word for stuff like "the appearance of a dragon in flight" is optimizing for the wrong thing. | 06:36 | |
| cotto | You could make up a German word for that. | 06:37 | |
| darbelo | Can I reduce that to a single letter? | ||
| sorear | Why is "whey" shorter than "interpreter"? Lousy huffman coding knows no borders | 06:40 | |
| darbelo finds the only word he can think of at 3:45am is "sleep" | 06:43 | ||
|
07:03
JimmyZ joined
|
|||
| cotto | For most of human history the interpreter was the guy who let you talk to people of a different language. | 07:20 | |
| Clearly that's not something that needs to be optimized for. ;) | |||
| chromatic | INTERP | 07:21 | |
| cotto | Given how frequently we refer to it, it should have a word like "bob". | 07:24 | |
| chromatic | X | 07:32 | |
| Spelled chi | |||
|
08:10
iblechbot joined
08:21
snarkyboojum joined
08:22
lucian joined
09:40
fperrad joined
10:14
Whiteknight joined
10:27
jsut joined
10:34
kjeldahl joined
10:35
parthm joined
11:13
Mokurai1 joined
11:47
joeri joined
12:25
iblechbot joined
13:32
kid51 joined,
fperrad joined
13:38
ruoso joined
|
|||
| dalek | rrot: r46215 | fperrad++ | trunk/include/parrot/thr_windows.h: [build] MinGW gcc 4.4.3 (shipped with Strawberry 5.12.0) |
14:06 | |
| tracwiki: v14 | fperrad++ | ListOfPlatforms | 14:12 | ||
| tracwiki: trac.parrot.org/parrot/wiki/ListOfP...ction=diff | |||
| NotFound | fperrad: ping | 14:21 | |
| fperrad | pong notfound | ||
| NotFound | fperrad: identifiers starting with _ and an uppercase letter are reserved for the C implementation. | 14:22 | |
| dalek | rrot: r46216 | NotFound++ | trunk/src/pmc/oplib.pmc: register OPLIB_OPCODE_CACHE to avoid being collected while the singleton is still alive |
14:23 | |
| NotFound | Oh, wait... This is a windows specific workaround for something? | 14:27 | |
| fperrad | this guard name comes from sys/timeb.h shipped with mingw 4.4.3, | ||
| and not included by old version like gcc 3.4.x | 14:28 | ||
| NotFound | I suppose is fine, then. | 14:29 | |
| But you forgot to update the comment at the #endif | 14:30 | ||
|
14:36
jan joined
|
|||
| dalek | rrot: r46217 | fperrad++ | trunk/include/parrot/thr_windows.h: update comment (fperrad--, notfound++) |
14:55 | |
| p-rx: f8e8a77 | Coke++ | build/Makefile.in: Don't check for missing parrot config item. |
15:11 | ||
|
15:21
TrueFX joined
|
|||
| dalek | kudo: 925629d | jonathan++ | src/core/operators.pm: Make $x does (R1, R2) work. |
15:23 | |
| kudo: b2476f7 | jonathan++ | src/Perl6/Grammar.pm: Add a missing check so our scoped packages work as they should; allows us to run submethods.t again. |
|||
| TrueFX | hi guy | ||
| kudo: 72ef184 | jonathan++ | src/metamodel/Role (2 files): More fixing of multis composed from multiple roles. |
|||
| TrueFX | hi guys | ||
| kudo: 7d700b4 | jonathan++ | t/spectest.data: Turn on S12-methods/submethods.t. |
|||
| TrueFX | how is it going ? | ||
| nxed: r462 | julian.notfound++ | trunk/winxedst (2 files): predefine __STAGE__ |
15:39 | ||
|
15:43
lucian joined
|
|||
| moritz | true or false: set_pmc_keyed is a $P0[$P1] = $P2 operation, ie both key and value are PMCs | 15:47 | |
| NotFound | moritz: $P0[$S1] = $P2 gives also a set_pmc_keyed operation, because pir assembles a key for the string. | 15:55 | |
| moritz | NotFound: is there any way to make that a set_pmc_keyed_string or so? | 15:56 | |
| NotFound | moritz: I don't think so. And don't know if there is a rationale for that. | 15:57 | |
|
15:58
kid51 joined
16:06
plobsing joined
16:25
tetragon joined
16:38
theory joined
16:48
isBEKaml joined
17:05
davidfetter joined
17:12
chromatic joined
17:17
tcurtis joined
|
|||
| dalek | rrot: r46218 | NotFound++ | trunk/t/src/embed.t: better error reporting in embedding tests |
17:54 | |
| cotto | seen kid51 | 17:59 | |
| purl | kid51 was last seen on #parrot 1 days, 2 hours, 8 minutes and 44 seconds ago, saying: Those two files should have been governed by an svn:ignore property. Committed fix in r46204. [May 1 15:50:42 2010] | ||
| arnsholt | seen pmichaud | 18:09 | |
| purl | pmichaud was last seen on #parrot 9 days, 17 hours, 1 minutes and 39 seconds ago, saying: cotto_work: (troll refutation) Thanks. :-) [Apr 23 01:07:58 2010] | ||
|
18:10
fperrad_ joined
|
|||
| dukeleto | NotFound++ # that better error reporting looks very useful | 18:12 | |
| NotFound | dukeleto: yeah, I hope so. | 18:13 | |
| dalek | p-rx: ec48321 | moritz++ | (2 files): allow sub names to start with Q |
18:27 | |
| p-rx: d6815bf | moritz++ | src/stage0/ (3 files): update stage0 files |
|||
|
18:31
fperrad joined
|
|||
| arnsholt | Fun | 18:35 | |
| nqp: say(pir::typeof__sp("{1}")) | 18:36 | ||
| Oh. ECHANNEL | 18:37 | ||
| Is a NULL PMC when doing "assign $P26, $S25" expected/supposed to happen? | 18:53 | ||
| dalek | kudo: fad910a | moritz++ | src/Perl6/Grammar.pm: Attemp to allow names starting with q, qq, Q etc. |
19:00 | |
|
19:02
jsut_ joined
19:10
kurahaupo joined
|
|||
| dalek | rrot: r46219 | moritz++ | trunk/ext/nqp-rx/src/stage0 (3 files): [nqp] update stage0 file; allows subroutines that begin with Q or q |
19:17 | |
| kudo: f82af0b | jonathan++ | src/ (2 files): Somewhat unbreak candidate introspection on multis. |
19:30 | ||
| NotFound | arnsholt: the expectation is that you assign to something non null. | 19:31 | |
| arnsholt | Ah, right | 19:32 | |
| dalek | kudo: 8abe0a6 | moritz++ | src/core/Regex.pm: Regexes in boolean context match against $_ |
19:41 | |
|
20:06
plobsing joined
20:14
chromatic joined
20:15
kurahaupo joined
|
|||
| plobsing | string PMC has a .lower() method for downcasing but no equivalent method for upcasing. | 20:35 | |
| Should it lose the method (we have other ways of doing this, HLLs can do this on their own) or do we add an .upper() method for consistency? | |||
| darbelo | What HLLs would break if you remove it? | 20:40 | |
| Whiteknight | I say trash it | 20:41 | |
| plobsing | do any HLLs work against trunk ATM? | ||
| darbelo | Good point. | ||
| Break 'em all. | 20:42 | ||
| chromatic | By "Trash" you mean "Add to DEPRECATED.pod" of course. | ||
| moritz | rakudo does, kindof | ||
| it's just horribly slow to compile, and eats lots of memory | 20:43 | ||
| didn't we have that before? | |||
| darbelo | So, it's back to normal ;) | ||
| chromatic | Hm, parallel make of parrot-nqp fails make: ./pbc_merge: Command not found | ||
|
20:44
kurahaupo joined
|
|||
| NotFound | Winxed works fine against trunk. | 20:46 | |
| sorear | moritz: Oh? I've been running rakudo against trunk | ||
| Hadn't noticed anything too amiss | |||
| rakudo is completely broken on the codestring branch, though | |||
| plobsing | NotFound: speaking of winxed, does it uppercase and lowercase strings? | 20:47 | |
| NotFound | Lowercase yes, uppercase... let me check. | ||
| plobsing | s/does/how does/ | 20:48 | |
| NotFound | I was fooling myself, it doesn't directly but invoking the String method. | 20:49 | |
| Time to add two new predefs. | 20:50 | ||
| chromatic | plobsing, good numbers on the pbc_frozen_strings1 branch./ | 20:51 | |
| moritz | I can#t compile rakudo anymore with a ulimit of 1GB virtual mem | 20:53 | |
| Failed allocation of 1544627136 bytes | |||
| Parrot VM: PANIC: Out of mem! | |||
| plobsing | oh my, I didn't think it would improve that much | 20:55 | |
| chromatic | That's about what I expected. | ||
| plobsing | OK, if rakudo is working against trunk, I'd like to test rakudo against the branch. If everything goes well, I'll merge it later tonight. | 20:58 | |
| chromatic | I'm trying that now. | 20:59 | |
| Looks like about 350 MB to build core.pir | 21:07 | ||
| sorear | 350MB for core.pir is what I see | 21:08 | |
| r46214 | |||
| chromatic | plobsing, will building PBCs take a lot longer? | 21:10 | |
| dalek | nxed: r463 | julian.notfound++ | trunk/winxedst (2 files): new predefs upcase, downcase and titlecase |
21:17 | |
| chromatic | Hm, looks like Rakudo starts up some 25% faster, but don't quote me on that. | ||
| No, I can't verify that. At least 5.6% faster. | 21:18 | ||
| 93.338% fewer unique STRINGs thawed from PBC though. | 21:19 | ||
| 38.5% fewer GCables allocated. | 21:21 | ||
| NotFound | 894704 bytes winxedst1.pbc in trunk - 828560 in the branch | 21:26 | |
| 836192 bytes winxedst2.pbc in trunk - 769984 in the branch | |||
| dalek | kudo: a4112c2 | jonathan++ | src/ (2 files): First hacky cut of named enums. Mostly just works like a bunch of constant declarations, kinda. It's certainly not what we want in the long run, but it removes a blocker for much of the app cheese. |
21:42 | |
| kudo: 7ec16e1 | jonathan++ | src/core/Regex.pm: Merge branch 'master' of github.com:rakudo/rakudo |
|||
|
21:56
snarkyboojum joined
|
|||
| plobsing | msg chromatic yes, PBCs will be more costly since there's a bunch of iterations over the constant tables. We could mitigate the cost with a hash if it is deemed too costly. | 22:00 | |
| purl | Message for chromatic stored. | ||
|
22:02
jsut joined
|
|||
| dalek | rrot: r46220 | plobsing++ | branches/pbc_frozen_strings1 (233 files): sync with trunk |
22:18 | |
| kudo: 2acc11d | jonathan++ | src/Perl6/Actions.pm: Fix problem with calling things in the setting from BEGIN blocks. |
22:23 | ||
| rrot: r46221 | plobsing++ | branches/pbc_frozen_strings1/PBC_COMPAT: bump PBC compat |
22:34 | ||
| bacek | ~~ | 22:59 | |
| moritz, interesting rakudo master + parrot trunk topped on about 360 megs for building core.pir. (i386/Linux) | |||
| dalek | kudo: 7b1a064 | jonathan++ | src/Perl6/Compiler/Signature.pm: Fix placeholder paramters bug when the same placeholder parameter was mentioned twice in a block (was treated as two different parameters; now correctly as one). |
23:15 | |
| rrot: r46222 | plobsing++ | branches/pbc_frozen_strings1/t/native_pbc (4 files): mk_native_pbc |
23:24 | ||
|
23:29
Austin_away joined
23:36
theory joined
|
|||
| dalek | rrot: r46223 | jkeenan++ | trunk (2 files): [codingstd] No trailing whitespace permitted. |
23:40 | |
| rrot: r46224 | jkeenan++ | trunk/tools/docs/filename_and_chapter.pl: [codingstd] Parrot coding standards, FBOW, tell us to avoid global filehandles fails to pass perlcritic.t due to subroutine prototypes, but I don't yet know enough about what this file does to eliminate them myself. |
23:56 | ||
|
23:59
aninhumer joined,
aninhumer left
|
|||