|
Parrot 4.2.0 "Ornithopter" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 10 April 2012. |
|||
|
00:22
eternaleye_ joined
00:23
alester joined,
perlite joined
|
|||
| dalek | sella: 1fdae0c | Whiteknight++ | src/ (4 files): [Xml] A few TODO notes |
00:26 | |
| sella: 0bd8471 | Whiteknight++ | src/date/ (3 files): [Date] Remove Date.to_total_seconds() method. It was wrong algorithmically and the result would easily overflow on a 32-bit machine. Add .day_of_year method and a new mechanism to get a TimeSpan |
|||
| sella: 8fd5499 | Whiteknight++ | / (2 files): [Date] Add two more tests for Date.diff(), showcasing the new method |
|||
| sella: c941570 | Whiteknight++ | src/date/Date.winxed: [Date] Document an assumption about years and add in a sanity check. |
|||
| sella: 3a80daf | Whiteknight++ | src/unstable/ (2 files): [Parse] Rewrite parse_remainder. Don't go over the remaining string character by character. We can read it directly out of the string to save time |
|||
| sella: aa93173 | Whiteknight++ | src/ (5 files): [Template] Rework the way we do template recursion. Template.Node.Master now has a .to_winxed_master routine which adds the code to the builder and returns the name of the generated sub. Assume winxed.compile() returns a PackfileView |
|||
|
01:45
moritz_ joined
01:46
nine joined
01:48
sri joined
01:53
ingy joined
01:57
slavorg joined
01:59
perlite joined
03:45
benabik joined
|
|||
| benabik | Parrot on Mars: news.discovery.com/space/is-this-a-...20411.html | 05:53 | |
| tadzik | "too accurate for chance". Yeah :) | 05:57 | |
| nice | |||
| benabik | And scientific proof of the Ballmer curve: medicaldaily.com/news/20120411/9496...-study.htm | 05:59 | |
| benabik should be asleep. | |||
| tadzik | no, keep linking :) | 06:00 | |
|
07:13
brrt joined
07:18
he_ joined,
dngor_ joined
07:34
fperrad joined
07:40
lucian joined
08:22
lucian joined
08:26
_mayank joined
10:17
bacek joined
11:21
JimmyZ joined
11:26
JimmyZ joined
12:05
benabik joined
|
|||
| benabik | o/ #parrot | 12:08 | |
| JimmyZ | \\o | ||
|
12:24
brrt joined
12:45
whiteknight joined
12:49
hercynium joined
|
|||
| whiteknight | good morning, #parrot | 12:50 | |
| JimmyZ | good morning whiteknight | 12:51 | |
| benabik | o/ whiteknight | ||
| whiteknight | good morning JimmyZ, benabik. How are you two doing today? | 13:00 | |
| benabik | Caffeinated. ::=)) | ||
| whiteknight: How're you? | 13:01 | ||
|
13:06
PacoAir joined
13:07
contingencyplan joined
|
|||
| whiteknight | benabik: I got a really awesome optimization-related ticket in my queue this morning, so I'm happy about that | 13:13 | |
| benabik | Optimizations can be fun. Is it "make blah faster" or "making blah faster broke things"? | 13:14 | |
| whiteknight | They've got this data importer that's chewing up over 2 gigs of ram and crashing trying to import an old set of customer order records | ||
| benabik | That's LTA | ||
| moritz | buy more RAM :-) | 13:15 | |
| atrodo | Buy less customers | ||
| whiteknight | all those are good ideas | ||
| benabik | I decided to track down a git bug this morning only to find that Junio rewound next for the next release and the bugs don't exist anymore. Which is good, I guess. | ||
| whiteknight | The algorithm here is looking like it's O(n^2) at least, reading in a list of all orders, then reading in a list of all existing orders and comparing keys | 13:16 | |
| benabik | Maybe I'll update my notes on PACT. Have slightly different ideas of the layers now than I originally did. | ||
| whiteknight | then reading in a list of all customer records and comparing keys on the orders | ||
| benabik: really? I would love to hear your current thoughts | |||
| moritz | whiteknight: that sounds like a hash would be helpful :-) | 13:17 | |
| benabik | whiteknight: Mostly flattening. Origionally had a PAST -> POST -> Packfile, now I think PAST -> CFG -> Packfile makes more sense. To some extent this is because my idea of Packfile is lower, and also I think the difference between the PAST and POST layers is really just abstraction and that can be handled by a transformation within the same layer. | ||
| moritz | the old "clubbing somebody to death with an Uzi" thing | 13:18 | |
| whiteknight | moritz: exactly. I'm also going to null out data after it's done being used and manually trigger GC to kill it | ||
| benabik | whiteknight: Hopefully that will actually kill it. On one of my co-ops massive memory usage was tracked down to one guy who kept a list of every message his component saw. | 13:19 | |
| whiteknight | benabik: yeah, reading in a list of Order objects where all we really need to keep is a list of their IDs is wasteful and forces GC to mark those objects and keep them around | 13:20 | |
| and the original developer insisted on using an ORM that automatically loads more data than we need, instead of just using a SELECT id FROM orders query, that would have returned far less | 13:21 | ||
| benabik | :-( | ||
| JimmyZ | where is PACT repo? | 13:24 | |
| benabik | github.com/parrot/PACT | ||
| It currently contains a random set of my ramblings, most of a disassembler, and the beginnings of a Packfile layer. | 13:26 | ||
| JimmyZ | oh, I thought github.com/benabik/PACT | ||
| benabik | I didn't actually start the repository. :-D I put up a gist that someone else (whiteknight, IIRC) turned into a repository to shame me into doing more with it. | 13:27 | |
| whiteknight | benabik: and it shamed you into an entire GSOC proposal | ||
| benabik | (Or that's how it turned out at least, even if it wasn't his intention.) | ||
| whiteknight: Yeah, well. | |||
|
13:31
bluescreen joined
|
|||
| benabik | We should put some thought into making REPLs easy. I think we can manually fudge the lexical environment, but it would be nice if we could restore and entire context with new code. It would require the compile half of the REPL to keep around information about register usage, obviously. | 13:35 | |
| Although I suppose that could cause an issue if the new line required more registers than the old... I don't think register space is resizable... | |||
| (Random thought of the day) | |||
| moritz | well, at some point you have to think about what a new REPL line means | 13:37 | |
| if it goes into the same scope as the previous line, then most languages don't allow redeclarations of symbols | |||
| if it goes into an inner scope, then one must flatten the scopes (if possible) to avoid memory leakage | |||
| benabik | Playing with lexpads would probably make that simpler than trying to cart around registers. Just deciding that the "normal" REPL uses all lexical variables is much simpler. | 13:38 | |
| PerlJam | The R, P, and L parts are all easy though :) | 13:42 | |
| benabik | moritz: That's a good point. I think least surprise says we should treat it as an inner scope and figure out how to flatten. | 13:44 | |
| moritz | that's what NQP and rakudo do | ||
| though currently it's a bit broken wrt natively typed variables | 13:45 | ||
| benabik | Well, we do have natively typed lexicals now, don't we? | 13:47 | |
| moritz | yes. The REPL code just doesn't handle them properly | 13:53 | |
|
13:56
JimmyZ joined
13:58
JimmyZ_ joined
14:17
mdupont joined
14:36
jashwanth joined
14:41
jashwanth joined
|
|||
| whiteknight | opbots | 14:43 | |
| can somebody +o slavorg? | 14:44 | ||
| benabik | Seem not to have op. | ||
| tadzik | opbots | 14:45 | |
| whiteknight | much better, tadzik++ | ||
| benabik | preflex? | 14:46 | |
| whiteknight | benabik: it's like a reflex, but before something happens | ||
| benabik | whiteknight: Yes, but why was it given voice? | ||
| Seems to be a bot. Never noticed it before. | 14:47 | ||
| whiteknight | benabik: I don't know why it's +v. and not +o. We don't hear from preflex much | ||
| benabik | Looks like most of the bots are +v | 14:48 | |
| tadzik | <obligatory joke about bacek and masak> | 14:50 | |
| moritz | patchbot and bugbot? | ||
|
15:24
davidfetter joined
15:29
dngor joined
|
|||
| dalek | kudo/nom: 200926b | moritz++ | src/core/traits.pm: .HOW.WHAT is the same as just .HOW. Simplify |
15:31 | |
| kudo/nom: 05b1cb1 | moritz++ | src/core/Str.pm: native infix:<xx> operator |
|||
| benabik | We have ops to manipulate the lexinfo tables now, right? (i.e. can create a new lexical scope without creating a new sub) | 15:57 | |
| moritz | I think mls++ did some work in that direction | 16:11 | |
| benabik | Awesome. I wasn't imagining it. mls++ indeed | ||
|
17:01
PacoAir joined
17:19
_mayank joined,
lucian joined
17:25
hercynium_ joined
17:27
hercynium__ joined
|
|||
| cotto | ~~ | 17:39 | |
|
17:40
bluescreen joined
18:04
Justin joined
|
|||
| Justin | good afternoon | 18:04 | |
| whiteknight | hello Justin | 18:06 | |
| dukeleto | ~~ | 18:12 | |
| dalek | kudo/nom: b229580 | moritz++ | src/core/Str.pm: Revert "native infix:<xx> operator" This reverts commit 05b1cb13190b324bd4c718c2ecdbddb15b8a6994. It was wrong (misspelled the operator name), and causes segfaults when the operator name is fixed |
18:17 | |
|
18:19
preflex_ joined
|
|||
| benabik | We really need to remember introspection when we add features. | 19:04 | |
| If you try to get a lexical variable into the wrong type of register, it explodes. | 19:06 | ||
| And there's no way to find out what type it is. (other than trying repeatedly) | |||
|
19:11
hercynium joined
|
|||
| cotto | classy | 19:12 | |
| benabik | Aren't we though? | ||
| cotto | who's our gsoc org admin? | 19:37 | |
| benabik | whiteknight, It hink. | ||
| cotto | whiteknight? | ||
| wfm. | 19:38 | ||
| benabik | what does "maps" do in a pmclass? | ||
| NQP has a class NQPLexPad that "maps LexPad". I've added a method to LexPad but can't seem to access it on a NQPLexPad. | |||
| cotto | hmmm. not sure | 19:39 | |
| benabik | "Map the current PMC to a core PMC type for code declared in a particular | 19:40 | |
| HLL. May only be used together with the C<hll> modifier." | |||
| cotto | sounds like the C-level equivalent of hll_map | ||
| benabik | Yeah. So it doesn't actually descend from it. Fun. | 19:41 | |
| Why does interpinfo .INTERPUFNO_CURRENT_LEXPAD give me null? | 19:58 | ||
| find_lex works... | |||
|
20:04
estrabd joined
|
|||
| benabik | Oh. Because the _current_ sub doesn't have a lexpad. | 20:04 | |
| `METHOD INTVAL type_of(STRING *name)` in a PMC should be called `$I0 = $P0.'type_of'($S0)`, right? | 20:10 | ||
| Disassembler to the rescue... | 20:11 | ||
| Okay, better question. Why is my METHOD INTVAL returning a LexInfo PMC? | 20:15 | ||
| wait... you don't use normal return from PMC methods, do you? | 20:17 | ||
| Don't you all love to listen to me deal with Parrot guts? | 20:23 | ||
| Hah, my method works now. Blah. | |||
| PerlJam | benabik: you can babble all day as long as you're making progress on something ;-) | 20:47 | |
| benabik | PerlJam: I tend to ramble on while I search for answers just in case someone wants to pipe in with the answer. :-D | ||
| PerlJam | benabik: btw, I hope your PACT proposal makes. (I'd also hope for 6model too, but you can't do both, so ... ) | 20:50 | |
| dalek | rrot: 0c99d32 | benabik++ | / (2 files): LexPad: Add register_type method This allows for the type of a lexical to be introspected before retrieval. This is useful because attempting to store the lexical in the wrong type of register throws an error. |
20:54 | |
| benabik | And just in time. I have an appt. | 20:55 | |
|
21:14
PerlJam joined
21:24
perlite_ joined
22:00
plobsing joined
23:25
plobsing joined
23:36
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:36 | |