Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 27 June 2011.
00:01 Kulag left 00:07 Kulag joined 00:13 Kulag left 00:28 Kulag joined
whiteknight davidz25.blogspot.com/2011/06/writi...art-1.html 00:37
00:37 Kulag left 00:45 Kulag joined 00:47 theory left 00:51 Kulag left
whiteknight it bugs me that we don't have an rindexof op to find the first instance starting at the end of the string 00:51
I've had need of it on more than a few occasions, and am always disappointed it isn't there 00:52
00:53 Kulag joined 00:58 Drossel joined 00:59 Kulag left 01:02 Kulag joined 01:03 mtk left 01:04 woosley joined 01:05 Drossel left 01:11 Kulag left 01:14 Drossel joined 01:20 Drossel left 01:21 Kulag joined 01:27 Kulag left, Kulag joined 01:29 Coke left, Coke joined
plobsing ~~ 01:32
whiteknight hello plobsing 01:35
plobsing: I don't know if you've seen the whiteknight/packfilewrapper branch I've been playing with. I would appreciate input if you have time to give it a look over 01:36
plobsing I'm currently looking at some stuff for bubaflub, but I can have a look at it. 01:38
01:38 bluescreen left
plobsing after that 01:38
bubaflub plobsing++ 01:39
whiteknight no rush. I want to let the code sit for a day or two to make sure I'm happy with it
plobsing in response to your quetion about PackFile_append_pmc, IIRC, it is a mechanism for performing the wrong thing
whiteknight yes, plobsing++
plobsing I'd like to see it gone, not exposed
whiteknight noted
01:39 Coke left 01:40 Coke joined
whiteknight The new branch adds a PackfileView PMC type that takes the place of the PtrObjs being returned from IMCC right now 01:40
plobsing bubaflub: you have one hell of a typedef there. not sure how to decode that one myself. I'm currently googling for a typedef-to-plainenglish translator I saw once.
whiteknight what's the typedef?
plobsing gist.github.com/1047177 01:41
whiteknight not a good sign when it needs to be gisted
oh yeah, you showed me that the other day 01:42
I suspect that union is a holdover and serves no purpose
because if it's just a pointer it shouldn't change the size or alignment of it 01:43
bubaflub whiteknight: i concur. right now i've got a StructView with 6 PTRs and that seems to not segfault but i'm not entirely sure that's correct. 01:45
whiteknight bubaflub: the only way to know for sure is to run the code and see if you get the right results
bubaflub: Also, get a development version of GMP with sources, and GDB it to see what data is ending up where
plobsing cdecl.org/ is a C <-> englih translator I use when I can't decypher what a type means 01:46
bubaflub whiteknight: problem is, it's for psuedo-random number functions
whiteknight or, get the contents of the StructView in GDB and compare them to a gmp_randstate_t struct you build yourself in C, to see that the two are the same
if the two look the same at that level, you can be certain that your StructView version is working fine 01:47
plobsing bubaflub: I believe you are correct on (b) and (c), but (a) refers to a one-element array, not two AFAICT. 01:48
bubaflub plobsing: alright.
whiteknight ah, yeah. My mistake 01:49
I'm getting indexing and declarations confused
that would be a 1-element array
bubaflub plobsing: so if it's just a one element array, can i just represent it as a PTR? or do i still need the entire 3-item struct 01:50
plobsing ah, therein lies the difference between pointers and arrays in C
generally, it is passed around as a pointer, but if it is used in a declaration somewhere (ie: inside another struct), it gets allocated inline 01:51
but if you are only receiving them, not allocating them, you don't really need to worry about that much 01:52
whiteknight I'm out. Goodnight 01:53
dalek sella: 4135b88 | Whiteknight++ | src/filesystem/Path.winxed:
Add in a prototype file for path name manipulations
01:54
01:54 whiteknight left
plobsing in answer to (d), there is a "get_shape" method on StructView. you could carefully splice in the mpz_t descriptor (you described as gmp_t, but I assume that's what you meant) to the __gmp_randstate_struct_t to DRY-ify things 01:54
01:54 woosley left, theory joined
bubaflub plobsing: ok, great. thanks. 01:55
plobsing bubaflub: wrt oldncidef2new.pl, I'm not sure that the new signature format should support types that aren't directly supported by Parrot NCI. Further, even if we go that route, C strings should not be described as 'char*'. There's also the problem of old-pass-by-reference not being equivalent to new-pass-by-reference, so I'm not sure those mappings are desirable (will you hide the new-pass-by-reference to support the old, or break compat? both 02:01
bubaflub plobsing: ok. i think it's desirable to hide the new-pass-by-reference to not break backwards compatibility with existing code, but if the amount of code is small then it might be better to do it clean 02:04
plobsing: i feel like there should be something for strings because it is so common - if not 't' or char* then something. 02:05
02:05 Drossel joined
plobsing bubaflub: but what about for new code? it should be using the new semantics. hiding the new semantics perpetuates the old. 02:05
bubaflub plobsing: hmmm, true. how much do we have relying on the old style of pass-by-reference? 02:06
plobsing plenty in the curses library 02:07
02:07 Kulag left
plobsing bubaflub: if we want to preserve the old semantics, why translate? 02:07
I would suggest having 2 syntaxes, one with a clean break to new-style, one that emulates the old semantics 02:08
as for c strings, I don't have a good answer for that. 02:09
bubaflub plobsing: yeah, i figure there is probably no good answer for c-strings.
02:09 Drossel left, Kulag joined
bubaflub plobsing: that sounds good. so all future development will be on the new style of definitions; we'll have stuff to support the old kind as well. 02:10
02:10 theory left 02:16 Kulag left, Kulag joined 02:24 Kulag left, Kulag joined 02:34 Kulag left 02:37 Kulag joined 02:40 rurban_ joined 02:43 rurban left, rurban_ is now known as rurban, Kulag left 02:45 lichtkind left, Kulag joined 02:56 benabik joined
cottoo ~~ 03:01
03:05 Kulag left
benabik ~~ 03:06
03:08 Kulag joined 03:22 Kulag left 03:23 theory joined 03:26 Kulag joined 03:39 c0tt0 joined 03:40 soh_cah_toa joined 03:41 c0tt0 is now known as cotto 03:42 Kulag left
cotto soh_cah_toa, which room are you in and do you have a reliable connection to the Internets? 03:43
03:43 Kulag joined
cotto I'm having a very hard time uploading the talk from kid51++ 03:43
sorear anyone seen dukeleto? 03:44
03:44 cottoo left
soh_cah_toa cotto: room 372 and i actually have an alright connection 03:45
cotto sorear, I'm sharing a room with him. I think he's on the phone
soh_cah_toa, hotel wireless or other?
sorear when he's available... I'd like to know what he meant by Duke Nukem being available before Perl 6
soh_cah_toa cotto: the hotel's Ethostream74 03:46
cotto I can answer that. Do you know about Duke Nukem Forever?
atrodo it was a comment made by Larry Wall this morning that he thought for sure Perl6 would finish before DNF
cotto soh_cah_toa, same here
soh_cah_toa i take that back. it just got VERY sluggish 03:48
03:49 cottoo joined
cottoo I've been seeing that since I got back to the room. 03:50
03:50 benabik left
soh_cah_toa cotto: you know you have to wait like 1-2 minutes for a page to load and then the ethostream login will show up 03:51
they give you the login credentials at the front desk 03:52
cottoo lta 03:53
yeah, except that the network is overloaded
03:54 cotto left
soh_cah_toa yeah, big time 03:54
03:55 cottoo is now known as cotto 04:02 JimmyZ joined 04:03 benabik joined
dukeleto sorear: pong 04:27
sorear: i see, cotto already answered you
04:35 khisanth_ joined 04:37 khisanth_ is now known as Khisanth
sorear o 04:48
04:51 fperrad joined 04:55 soh_cah_toa left 05:10 Drossel joined 05:12 Kulag left
dalek rrot: d990f60 | petdance++ | config/auto/warnings.pm:
Add a flag to warn if we use more than 500 bytes of stack (GCC 4.7+)
05:16
05:16 Kulag joined 05:17 Drossel left 05:24 fperrad left 05:27 Kulag left 05:29 fperrad joined 05:30 Kulag joined 05:38 Drossel joined 05:40 Kulag left 05:44 Drossel left 05:45 Kulag joined 05:51 Kulag left 05:52 Kulag joined 05:55 cotto left 05:56 Drossel joined 05:58 Kulag left 06:01 Kulag joined, Drossel left
dalek kudo/nom: f4cf99c | moritz++ | / (2 files):
four more passing test files, note a fail in NOMMAP
06:13
06:29 Kulag left 06:31 Kulag joined 06:35 Kulag left, Kulag joined 06:45 Kulag left, theory left, Kulag joined 06:46 Eclesia joined 06:51 Drossel joined 06:52 Kulag left 06:55 Kulag joined 06:57 Drossel left 07:02 Kulag left, hercynium joined, Kulag joined 07:08 Kulag left 07:09 Kulag joined 07:13 Eclesia left 07:15 Kulag left 07:18 Kulag joined 07:26 Drossel joined 07:28 Kulag left 07:31 Kulag joined, Drossel left 07:38 mj41 joined 07:41 arnsholt left, arnsholt joined 07:44 hercynium left 07:45 hercynium joined, hercynium left, hercynium joined 07:51 hercynium left, hercynium joined, JimmyZ_ joined 07:56 JimmyZ left 07:57 JimmyZ_ is now known as JimmyZ, daniel-s joined 07:58 arnsholt left 08:03 arnsholt joined 08:48 hercynium left 09:36 fperrad left 09:49 fperrad joined 10:39 rurban_ joined 10:43 rurban left, rurban_ is now known as rurban 10:51 lichtkind joined 10:56 jsut left
dalek kudo/nom: 2630e16 | pmichaud++ | src/core/ (4 files):
Improve handling of .reify(*) and infinite lists.
11:11
kudo/nom: b1d9956 | pmichaud++ | src/core/ (4 files):
Implement array slices, including autotrimming on infinite indexes.
kudo/nom: c3d66c7 | pmichaud++ | src/core/ (2 files):
Add WhateverCode slicing to postcircumfix:<[ ]>.
11:18 mtk joined 11:19 mtk left, mtk joined 11:41 Coke left, Coke joined 11:47 SHODAN joined 11:56 dalek left 11:57 dalek joined 12:12 whiteknight joined
whiteknight good morning, #parrot 12:12
moritz good morning whiteknight 12:13
whiteknight hello moritz, how are you today? 12:15
moritz fine. Just the office is too hot 12:17
whiteknight: how about yourself? 12:23
12:23 bluescreen joined
whiteknight moritz: I'm doing very well, thanks. Office is cool and breezy, but it's still very early in the morning here 12:29
12:30 dalek left
whiteknight the biggest feature of the summer weather where I live is high humidity. I am not looking forward to that 12:34
12:36 p6eval left 12:41 p6eval joined 12:45 kid51 joined 12:47 p6eval left 12:51 p6eval joined 12:54 dalek joined 12:55 lucian joined 12:56 benabik left, dalek left 12:57 ambs joined, dalek joined 12:58 p6eval left 13:01 dalek left 13:03 kid51 left 13:25 cotto joined 13:27 dalek joined 13:29 p6eval joined 13:36 redicaps joined 13:37 ambs left
dukeleto ~~ 13:40
13:54 cotto left
bubaflub morning dukeleto 13:55
13:59 cotto joined 14:00 JimmyZ left
whiteknight hello dukeleto, bubaflub 14:06
atrodo =~ morning
bubaflub morning whiteknight
Coke . 14:07
So, I talked to mpeters via email. didn't find anything particularly helpful examining smolder, but mpeters suggested restarting smolder once a day.
whiteknight once a day?
can we cron it?
Coke So, I'll do a clean up, throw out all our existing report data, set that up, and see how long it takes to break this time. 14:08
aye, I'll cron it.
moritz wow, scheduling restarts by cron job... the sysadmin's last resort
14:09 PacoLinux joined
atrodo I normally avoid cron at all cost. Usually means better, more robust solution is created 14:10
Coke atrodo: "patches welcome" 14:12
obviously this is not the desired solution, but it'll keep us moving forward longer. We're here to build parrot, not smolder. 14:13
atrodo Coke: touche
Coke I feel less bad about it knowing that smolder's primary author is doing the same thing for his dayjob.
and while I'm confident I could figure it out given enough time, I'm already spending too much time on parrot. ;) 14:14
(and doing none of the fun stuff.)
atrodo Yep, i would agree
14:17 benabik joined
whiteknight Coke: We need to get you doing more fun stuff 14:19
benabik -Ofun 14:20
Coke whiteknight: eh. dayjob is more of a priority atm. 14:21
.. .and then, minecraft! ;)
whiteknight I never got a paid account, so I've been stuck playing the free beta. It's...not nearly as fun 14:22
benabik Minecraft is fun except for creepers. :-/ 14:23
atrodo Minecraft++ 14:28
14:33 zby_home joined
arnsholt The skeletons are kinda scary as well 14:48
14:48 JimmyZ joined 14:50 theory joined
benabik Skeletons don't destroy my stuff. Or kill in one hit. Or survive in sunlight. 14:51
NotFound Maybe we need to design a way to create parrot programs by minecrafting. 14:52
benabik Maybe port Parrot to that 8-bit processor in Minecraft? 14:53
14:55 redicaps left 14:58 cotto left
dalek kudo/nom: be2aea9 | jonathan++ | src/binder/multidispatch.c:
Avoid zero memory allocations for protos with no multi candidates.
14:59
kudo/nom: 2c86d40 | moritz++ | src/core/ (2 files):
fix Failure methods on the type object
15:02 soh_cah_toa joined
dalek kudo/nom: f6d775d | jonathan++ | src/Perl6/Metamodel/MultiMethodContainer.pm:
Don't rely on .defined in MultiMethodContainer, or we run into fun when adding a multi defined in Mu. :-)
15:11
15:13 cotto joined
soh_cah_toa cotto: i think i'm gonna skip lunch so i can take a shower and take a quick nap 15:15
whiteknight eat while you shower. Then nap while writing code
soh_cah_toa oddly enough, i sometimes do sleep while writing code 15:16
benabik whiteknight++
NotFound "The coder formerly known as soh_cah_toa releses his new application 'Slave'" 15:17
In future news ;)
soh_cah_toa slave?
NotFound A bad joke about Prince things from tears ago. 15:19
soh_cah_toa ah yes, i remember prince
benabik Did Prince get into Unicode? 15:20
NotFound I hope not.
15:21 cotto left
alester So does github.com/parrot/parrot/commit/d990f60e7b tickle any goodness out of anyone? Make us think about places that stack is dangerous? 15:30
15:30 theory left 15:32 zby_home_ joined 15:34 zby_home left
whiteknight alester: I like the idea. I didn't get a chance to look at the results 15:35
15:45 soh_cah_toa left 15:56 JimmyZ left
dukeleto alester: where does the magic constant of 500 come from? 15:57
alester My butt.
whiteknight there's a larger lesson to be learned here about magic constants, methinks
dukeleto alester: i knew there was a code smell...
whiteknight using them is like touching Andy's butt 15:58
alester 100 generated a lot of noise
and 1000 seemed to large
too large
So I picked 500 and committed it.
dukeleto alester: what problems do a large stack cause? I don't quite understand the motivation 15:59
alester Don't know of any specifically. I imagine that if we were keeping a big stack in something that's called a lot, or recursively, it could eat more memory than you want. 16:00
Mostly i'm just keeping an eye on new developments in GCC. 16:02
16:06 AzureStone left
tadzik whprint "hello", 16:07
if 0:
whoops
whiteknight: guess what I passed just an hour ago :) 16:08
16:09 cotto joined, benabik left 16:10 AzureStone joined 16:15 ambs joined
whiteknight tadzik: a kidney stone? 16:16
tadzik whiteknight: no, your favourite Signal Theory :)
16:18 theory joined, mj41 left
tadzik heh, silly things happen to be satisfying when you're not coding... 16:18
whiteknight depending on your view of the subject, that could be just as bad as a kidney stone 16:20
tadzik: is that your last exam? 16:24
16:29 cotto left
tadzik whiteknight: nah, one more to go 16:42
tomorrow
whiteknight tadzik: it never ends!
tadzik yeah
whiteknight we need your undivided attention cranking out awesome code!
tadzik tomorrow on 1 PM I'll probably go for a beer and then I can hack and hack and hack 16:43
whiteknight how is your project going? 16:47
tadzik the gsoc? Mentors are happy :) 16:59
so far so good
the nom branch on Rakudo will ease *a lot* of bits
whiteknight that's good to hear. I haven't been keeping up with your project as closely as I would like. Too many Rakudo commits to filter through
tadzik most of my work is in tadzik/gsocmess repo 17:00
whiteknight is your work tracking master or nom?
tadzik it was being merged into master so far, but I'm gonna make it master-based in the near time
moritz s:2nd/master/nom/ ? 17:01
tadzik oh, sure
17:21 benabik joined
benabik (re: stack size) Shouldn't it be 512? 500 is so base 10 17:23
whiteknight don't ask me. Andy's butt is the one making those kinds of decisions 17:24
although I suspect Andy does most of the typing
moritz it really doesn't matter (if it's about the warnings for large stack usage)
17:25 bluescreen left
benabik Sorry, that's my CDO talking, 17:25
whiteknight like OCD, but in proper alphabetical order
moritz that warning is for identifying abuse of the stack, so each warning must be manually looked into, and either ignored or fixed
17:25 bluescreen joined
whiteknight a few of those entries are troublesome, but nothing so bad that we need to rush to fix it 17:25
benabik Okay, I thought our objects looked messy, but this glimpse into P5 core isn't pretty. 17:40
17:42 ambs left 17:47 cotto joined 17:49 colomon joined 17:52 lucian_ joined 17:55 cotto left, cotto joined, lucian left
whiteknight benabik: why look into P5 core? 17:58
dalek kudo/nom: 0ab6112 | pmichaud++ | src/core/ (3 files):
Add hash slicing, .[*], and .{*}.
17:59
benabik whiteknight: At a YAPC talk about typing P5
whiteknight oh
cotto it's a fun talk 18:02
whiteknight is really bummed about missing YAPC this year
cotto it's also interesting to see rurban in person
whiteknight oh, is he there? 18:03
cotto he's giving the talk
www.yapc2011.us/yn2011/talk/3289
benabik whiteknight: You've been missed. 18:04
cotto apparently he works in texas now
+1
whiteknight I wish he had continued hacking Parrot more. I can understand why he left though 18:05
parrot-on-cygwin is very much unloved without him
18:14 lucian_ is now known as lucian 18:17 colomon left 18:20 colomon joined 18:25 soh_cah_toa joined 18:36 contingencyplan left 18:40 rurban_ joined
Coke rurban++ 18:41
ugh. why do we prebuild ops but not dynops? 18:42
18:43 rurban left, rurban_ is now known as rurban
sorear because ops2c.nqp doesn't require dynops to run 18:43
if this has changed, then we need to start prebuilding dynops
Coke yes, but "make" requires dynops. and building them is slow. 18:45
18:45 bluescreen left
whiteknight we prebuild the ops because of bootstrapping issues only. Performance isn't really an issue 18:46
18:46 bluescreen joined
whiteknight although, I'm sure performance would quickly become an issue if we found a way around the bootstrapping problems 18:46
Coke perhaps not for you. ;)
whiteknight well, I mean it wasn't taken into consideration when ops2c was refactored 18:47
maybe it should have been
18:51 cotto left 18:53 cotto joined 18:54 ambs joined
dalek kudo/nom: 4af0ae1 | pmichaud++ | src/core/Mu.pm:
Mu.ACCEPTS() needs to be able to handle non-Any arguments.
19:07
kudo/nom: f5c25da | pmichaud++ | / (5 files):
More array-related methods and fixes. This _almost_ gets us

starts working.
19:13 soh_cah_toa left 19:19 colomon left 19:21 colomon joined 19:30 dmalcolm joined 19:43 lucian_ joined 19:44 SHODAN left, kid51 joined 19:47 lucian left
dalek kudo/nom: 5bce9dc | pmichaud++ | src/Perl6/Actions.pm:
Using a constant string as a Pair key mustn't mark it as :named('key') for all other uses of the constant string in the code.
19:51
benabik NotFound++ # winxed in git! 19:59
NotFound #ps in 30 20:00
dalek kudo/nom: 6538713 | pmichaud++ | t/spectest.data:
spectest.data update: uncomment more passing tests, add notes about why some are failing.
20:01
benabik #ps from iPad should be "fun"
NotFound iFun
benabik Writing the status report def was. 20:02
20:09 cotto left 20:15 cotto joined
colomon For the parrots at YAPC: Are there any dinner plans tied to the BOF tonight? Do I need to find dinner first? 20:23
benabik +1 to dinner plans 20:24
cotto no idea
kid51 colomon: I suggest we move to the BOF room right after lightning talks end.
cotto I'd like to find some bbq 20:25
colomon +1
kid51 colomon: we'll introduce ourselves to one another and decide on an action plan; perhaps ordering in
colomon kid51: great
benabik 12 bones was pretty good, but IIRC closes at 4
kid51 Either we defer dinner for a BOF of a specified length and then go out as a group ... 20:26
20:26 hercynium joined
kid51 ... or we order in so that we don't waste time in travelling to a restaurant 20:26
cotto sad face
dukeleto and I are in 368 if anyone at yapc wants to join us
dukeleto IRL #ps for the win 20:27
cotto where dukeleto's tethering works much better than the hotel's
wireless
20:30 whiteknight left
atrodo I was planning on dinner as a part of the BOF 20:31
NotFound #ps now 20:32
atrodo cotto, dukeleto, is it raining out there?
20:32 jevin left, jevin_ joined
dukeleto atrodo: yeps 20:33
dukeleto and cotto are watching a fine NC thunderstorm a-brewin'
atrodo I thought that's what I heard, but wasn't real sure 20:34
colomon it's totally not visible from my room; just light clouds and rain
20:39 hercynium left 20:48 lucian_ is now known as lucian 20:50 fperrad left 20:51 benabik left 20:52 benabik joined
dalek kudo/nom: 0516515 | pmichaud++ | / (3 files):
Add Parcel.Numeric and Any.Array, so we now pass parcel.t .
20:58
kudo/nom: 69398ca | pmichaud++ | src/core/ (2 files):
Add List.reverse and Any.reverse.
21:03 bluescreen left 21:04 kid51 left 21:09 kid51 joined 21:11 cottoo joined 21:14 kid51 left 21:15 cotto left 21:22 cottoo is now known as cotto 21:25 colomon left
benabik re: BOF food. Seen Asheville Brewery recommended for pizza on #yapc 21:26
21:27 colomon joined
atrodo Anyone want to do an ad for the BOF at the lightning talks? 21:28
21:33 cottoo joined
cottoo atrodo, thanks for volunteering! 21:33
atrodo cottoo: good luck with that 21:34
21:35 soh_cah_toa joined
dalek kudo/nom: 2f4210b | pmichaud++ | src/core/Range.pm:
Fix Range.perl for non-numeric ranges.
21:36
kudo/nom: 726436a | pmichaud++ | / (9 files):
Add infix:<===> and stub in some core types and their roles. This
21:37 cotto left 21:41 ambs left 21:42 slavorg left, Psyche^ joined 21:47 Patterner left, Psyche^ is now known as Patterner 21:49 slavorg joined 21:59 whiteknight joined 22:08 Demin joined 22:14 lucian left
dalek kudo/nom: e8d75f6 | pmichaud++ | / (3 files):
Move scalar assignment decontainerization a bit lower down in
22:23
22:38 soh_cah_toa left 22:39 colomon left 22:42 bubaflub left 22:43 benabik left, benabik_ joined 22:44 colomon joined 22:48 cottoo left 22:50 benabik joined, benabik__ joined 22:51 cotto joined, benabik_ left 22:56 benabik left, benabik__ is now known as benabik
dalek kudo/nom: 6031e3a | pmichaud++ | / (6 files):
Fix some comparison operators, pass S03-operators/comparison-simple.t .
22:58
dukeleto 11 people at the Parrot/Perl 6 bof (including TimToady++) !
pmichaud bof: o/ 23:01
benabik 12 now 23:02
atrodo bof++
pmichaud I'll hang around in case folks have questions :)
bof starting late?
atrodo the schedule was more of a time to have a time then an actual start time 23:03
pmichaud wfm
sorear o/
pmichaud (flexible scheduling)++
cotto hi pmichaud 23:04
23:04 soh_cah_toa joined
pmichaud any good discussions / questions yet? 23:14
benabik Talking about perl6/parrot interactions, some. 23:16
pmichaud 6model is awesome. jnthn++ 23:19
benabik pmichaud: That was somewhat a point I just made. :-D 23:21
dukeleto we are talking about how the edges of parrot and rakudo can fit together better
23:24 bluescreen joined, NotFound left
sorear has TimToady's keynote hit the Internet yet? 23:25
dukeleto sorear: not sure yet 23:26
23:30 Kulag left 23:38 Kulag joined
dukeleto we are talking about trac.parrot.org/parrot/wiki/Perform...provements 23:41
dalek kudo/nom: e02a620 | pmichaud++ | / (5 files):
More pir:: -> nqp:: conversion, spectest.data updates.
pmichaud fwiw, I expect that nqp/rakudo will have freeze/thaw of complex pmcs done 23:43
we're also not using PMC Proxy
and we also have cheap object attribute access in 6model/nqp (or will have it shortly) 23:44
fixing PIR vtable overrides would be somewhat important to us -- that's a big penalty we pay (more) 23:45
dukeleto pmichaud: if you could update that wiki page a bit to reflect current reality, that would be greatly appreciated. I would, but I don't fully understand everything that is described and how they have changed
pmichaud I can do that, yes.
on fixing PIR vtable overrides, it would also be good to know how often we hit them. we can probably instrument that in 6model, but overall being able to count that could be a huge win also.
especially since they're so costly. 23:46
lately I've been wondering if the regex engine is slower than it needs to be because of pir vtable overrides
23:46 Drossel joined 23:47 Kulag left
cotto pmichaud, I feel like I've asked you this before, but what would a sane set of container semantics look like? 23:49
pmichaud cotto: you've asked me this before, yes.
cotto ok. I'll dig through the log
s
pmichaud but I have a better answer now
I have a *much* better answer now that we've implemented it in 6model :) 23:50
cotto I like better answers.
pmichaud in 6model, we have a special type called "Scalar"
it's a PMC that essentially hold references to other PMCs
well, one reference :-)
assigning to a Scalar causes it to point to a different PMC 23:51
pretty much everything else we do is a bind operation
i.e., "associate this PMC with name 'foo' in some aggregate" 23:52
23:52 alester left
pmichaud the "tricky" part is that the scalar PMC has to know how/when to forward operations to the thing it references 23:53
jnthn handled this part in 6model just a week or two ago. I don't know the exact details, but istr that he was taking an approach of ruthlessly dereferencing things for every core operation. 23:54
we can probably get a summary from jnthn on that part
our scalar object also has an attribute that says "invoke this code when you're assigned to" 23:55
cotto Is that in nom in rakudo?
pmichaud thus the scalar object can handle lvalue semantics for us
sorear pmichaud: what about scalars with magical FETCH?
pmichaud sorear: we'll probably introduce a different type for those. I don't think we've gotten to that yet. 23:56
cotto: yes, nom in rakudo 23:58
src/ops/perl6.ops, perl6_container_store
also Rakudo_cont_store in src/binder/container.c 23:59
basically, a scalar for us has a $!descriptor attribute that points to the variable's type information (which can be seriealized/unserialized quickly)