|
Parrot 3.8.0 "Magrathea" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 29 September 2011. |
|||
|
00:13
soh_cah_toa joined
|
|||
| cotto | “Jargon live in the swamps. They feed on attention. If they can’t get that, they’ll settle for fear and confusion.” - www.laurenipsum.org/mostly-lost | 00:55 | |
|
01:55
plobsing joined
02:41
khisanth_ joined
02:48
bluescreen joined
03:55
tewk__ joined
04:00
tewk joined
04:38
nbrown joined
04:45
fperrad joined
|
|||
| dalek | rrot: 4660252 | petdance++ | / (2 files): Added splint macros on functin pointers |
04:57 | |
|
05:18
SHODAN joined
|
|||
| moritz | seen soh_cah_toa | 05:54 | |
| aloha | soh_cah_toa was last seen in #perl6 5 hours 41 mins ago joining the channel. | ||
| alvis_ | cotto: That was excellent! Thank you. (The project's probably the best chance I have up bootstraping the wife and kids, so I think I'll pledge! :-) | 06:45 | |
| Btw, anyone/all, is converting tests under '/t' from perl5 to pir still a priority (or, even, a way to contribute to parrot)? (See trac.parrot.org/parrot/wiki/Convert...sToParrot) | 06:56 | ||
|
07:13
baest joined
|
|||
| cotto | Hmmm. | 07:23 | |
|
07:23
lucian joined
|
|||
| cotto | We're coming to dislike PIR as much as anything. pure-pir tests aren't bad, but PIR isn't something we hope to keep longer than necessary | 07:24 | |
| that said, changing tests isn't a bad introduction to pir | 07:27 | ||
| alvis_ | Hmm, ok. So, I'm mostly guessing here, you're now looking at bypassing PIR and going straight to bytecode, something like what is set out in docs of the PACT project? | 07:47 | |
| cotto | yup | 07:52 | |
|
07:59
dod joined
|
|||
| alvis_ | Wow, ok. So ..., Winxed, not NQP, especially for any new tool development, correct? | 08:04 | |
| Do I still look to PCT for compiler development? Or, should I look at something else? | 08:05 | ||
| The reason I ask is, I was planning one (1) writing a toy compiler in PCT to, kinda get my bearings, so-to-speak, and then start to work on my "real" project, over the next year or so. | 08:06 | ||
| Ok, well ..., I still "ought" to spend some time in PIR (besides, there's gonna be legacy support for quite some time), so I'll expend some effort converting perl5 tests and go from there. | 08:16 | ||
| Thank you. | |||
|
08:16
contingencyplan joined
08:48
Khisanth joined
|
|||
| lucian | alvis_: several new parrot language implementations are/have been hosted in an external language initially | 08:49 | |
| winxed has (had?) a C++ stage 0, the JS one is written with jison i think, and my crap python was written in python3 | 08:50 | ||
| alvis_ | lucian: thanks. I downloaded winxed, just yesterday evening, and was digging around, trying to figure that bit out. | 08:54 | |
| lucian | alvis_: its stage1 is written in itself | ||
| alvis_ | I'm still, very much, just trying to get my bearings about Parrot. | 08:55 | |
| lucian | i believe NotFound is (was?) working on a C++ backend to winxed, in order to be able to ditch stage0 | ||
| alvis_ | yeah, I noticed that. (I.e., the bootstrap from stage0 to stage1) I appreciate you pointing that out though. | 08:57 | |
| dalek | kudo/nom: e0cc816 | masak++ | NOMMAP.markdown: [NOMMAP.markdown] typography fixes |
09:48 | |
|
11:37
Psyche^ joined
11:45
benabik joined
|
|||
| benabik | o/ #parrot | 11:56 | |
| dalek | kudo/nom: 3fd3534 | moritz++ | t/spectest.data: run mro.t |
||
|
12:06
jsut joined
|
|||
| lucian | morepypy.blogspot.com/2011/10/more-...egies.html | 12:13 | |
|
12:16
whiteknight joined
12:20
elmex joined
13:39
nbrown joined
|
|||
| dalek | rrot: 0fa73fa | mls++ | src/runcore/subprof.c: use mem_sys_ variants for memory allocations |
13:41 | |
| mls | (hmm, could as well have used mem_internal_...) | 13:46 | |
|
13:58
RobertLJ joined
14:34
dmalcolm joined
14:42
RobertLJ1 joined
|
|||
| benabik | Random thought: What does parrot do when a sub runs off the end? Do we just automatically do a .return () ? | 15:21 | |
| sorear | I suspect segfault but it wouldn't be hard to test | 15:24 | |
| benabik | I don't think it does, but PIR may be inserting that return. | ||
| mls | imcc adds a .return | 15:25 | |
| benabik | Yeah. Looks like. | 15:26 | |
| An empty sub compiles to "set_returns_pc (empty FIA)". | 15:27 | ||
| mls | yes, at the end of imcc's expand_pcc_sub() | 15:28 | |
| benabik | mls: I just used pbc_{disassemble,dump} on a file that was just an empty sub. | 15:29 | |
| mls | it adds it if the last op is not ret/exit/end/branch/returncc | ||
| benabik: yes, I also used pbc_dump when I debugged the debug section problems | 15:30 | ||
| benabik | Actually, that's odd. It sets the return information and doesn't call returncc or similar. | 15:31 | |
| (According to disassemble) | |||
| mls | bug in disassemble? | ||
| benabik | mls: Maybe. | ||
| mls | there should also be a returncc | ||
| pbc_dump -d shows a returncc | 15:33 | ||
| benabik | Yup. Looks like pbc_disassemble ends one op too early. | ||
| mls | the "while (line->next)" in Parrot_disassemble() looks suspicious. | 15:36 | |
| (src/embed.c) | |||
| ooh, the code is from 2002 ;) | 15:39 | ||
| benabik | The packfile format hasn't changed in a while. | ||
| Likely it was wrong in 2002 as well. :-D | |||
| mls | it's the Parrot Debugger 0.0.1 | ||
| ah, there used to be a bogus next element at the end | 15:42 | ||
| benabik | mls++ # source code archeology | ||
| mls | git++ | 15:43 | |
| The bogus element was eliminated last year with commit 2976f129 | 15:45 | ||
| benabik | mls: Do you want to commit the fix, or should I? | 15:49 | |
| mls | I'll commit it | ||
| (just testing...) | |||
| seems to work | |||
| benabik | Yeah, I fixed it locally too, just to see. | ||
| mls | pushed | 15:53 | |
| dalek | rrot: 126d255 | mls++ | src/embed.c: Fix Parrot_disassemble to not ignore the last line of a sub. Before commit 2976f129 there used to be a bogus last element at the end of the line chain. The element is now gone, but Parrot_disassemble was not adapted. |
||
|
15:59
logie joined
|
|||
| mls | wow, it never occured to me that "$P0 = $S0" and "$P0 = $P1" are two totally different beasts | 16:05 | |
| "$P0 = $S0" changes the contents of the PMC, while "$P0 = $P1" just assigns the register | 16:07 | ||
| (That probably shows I'm just a PIR beginner...) | |||
| benabik | I somewhat dislike the confusion between setting registers and assigning to containers in PIR. | 16:08 | |
| mls | yes, those errors are really hard to track down | ||
| I stumbled over this while I did some PCT optimization. I had to change a "$P0 = $S0" to "$P0 = box $S0" at one place to make it work | 16:10 | ||
| benabik | Actually, I'm not sure there's even a way to disambiguate it at the opcode level. | ||
| mls | IMHO "set" should just set the register, i.e. box it. But it's much too late for such a change... | 16:11 | |
| box it -> box the argument | 16:12 | ||
| benabik | I think all set_[INS]_* ops set the register. But all {set,assign}_P_* ops let a VTABLE interfere. | 16:13 | |
| (I _think_) | |||
| mls | (except for P_P) | ||
| benabik | set_P_P doesn't? | 16:14 | |
| mls | no, it just sets the register | ||
| benabik | Guh. | ||
| mls | (that's the "$P0 = $P1" case | ||
| benabik | Ah. assign_P_P is the vtable. | 16:15 | |
| mls | setref_P_P is the set vtable | ||
| benabik | Fun. | 16:17 | |
| mls | (I don't even know the difference between set and assign...) | ||
| (assign seems to copy, set seems to "bind") | 16:20 | ||
| benabik | I would have expected set to set registers and assign to have the destination be a container. | ||
| The strange part to me is that assign_p[in] call VTABLE_set_*_native instead of VTABLE_assign_*_native like _ps | 16:22 | ||
|
16:25
fperrad joined
|
|||
| dukeleto | ~~ | 16:26 | |
| benabik | Ah. PDD17 seems to make it somewhat clearer. set is intended to directly reference while assign is supposed to copy. | 16:28 | |
| Hm. Fun fact: VTABLE_set_number_same seems to never be called. | 16:29 | ||
| Actually, I see no indication that set_*_same is ever used. | 16:31 | ||
| Wow. set_bignum_int VTABLE just sounds scary. Tells a PMC to morph another PMC and then get the value. | 16:32 | ||
| mls | hmm, book/draft/ch10_opcode_reference.pod says that "set" sets a register to a value, which is not really true | 16:33 | |
| benabik | Oh, no. 2nd read: Morph yourself to a BIGNUM and then set. | ||
| Why is that a fundamental operation? | |||
| mls | ;) | ||
| benabik | (Ignoring the fact that I hate morph.) | ||
| dukeleto | mls: sometimes our PDDs lie. If you find one, feel free to fix it. | 16:39 | |
|
16:51
plobsing_ joined
|
|||
| cotto | ~~ | 17:28 | |
|
18:47
contingencyplan joined
|
|||
| nine | What exactly do I have to do to end up in a nested runloop? | 19:11 | |
| dukeleto | nine: i think if you have exceptions that throw exceptions is one way to do it | 19:14 | |
| nine: whiteknight++ could give you a much more detailed answer, i am sure | |||
| cotto | #ps in 11 | 19:18 | |
| dukeleto: how do your tuits look for the next few days? | 19:19 | ||
|
19:22
benabik joined
|
|||
| benabik | nine: I believe you also end up in a runloop when a PIR VTABLE gets called. | 19:23 | |
| cotto | it happens any time you call PIR that calls C that calls PIR | 19:24 | |
| dukeleto | cotto: meh-ish | 19:25 | |
| cotto | dukeleto: ok. I'm pretty busy and would like to offload some of the M0 research | 19:26 | |
| dukeleto | cotto: where does your m0 research live? | 19:27 | |
| cotto | dukeleto: afk for now | ||
| gist.github.com/1277224 - dart hello world | 19:34 | ||
| #ps time | 19:35 | ||
|
20:00
benabik_ joined
|
|||
| dukeleto | Util: would very much like to see your parrot_coverage.pl in a repo somewhere | 20:12 | |
|
20:14
soh_cah_toa joined
|
|||
| benabik_ | dukeleto: You just want everything in a repo, don't you? | 20:15 | |
| NotFound | ~~ | 20:19 | |
| Sorry, lacked the time for #ps | |||
| cotto | benabik_: he's not alone | 20:20 | |
| Util | dukeleto: I will have the changes in the master branch soon. | ||
| dukeleto | Util++ | 20:28 | |
| benabik_: twitter.com/#!/dukeleto/status/123...2963277824 | 20:29 | ||
| github.com/cdleary/cdlre - JS-compatible regular expressions implemented in JS | 20:30 | ||
| cotto | dukeleto++ | 20:39 | |
|
20:39
nbrown joined
21:00
GodFather joined
|
|||
| Coke needs a webdev minion, btw, if anyone is job hunting. | 21:04 | ||
|
21:25
PacoLinux_ joined
|
|||
| dalek | kudo/macros: 991ade7 | masak++ | src/Perl6/Actions.pm: decontainerize quasi AST before attr lookup Many nqp ops will decontainerize for you, but getattr is not one of them. Occasionally the quasiquote would be hidden inside a container layer and the getattr would fail. This is now fixed. |
21:33 | |
|
21:40
perlite joined
22:13
aloha joined
23:03
bubaflub joined
23:10
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:16 | |
| cotto | 'evening, whiteknight | ||
| whiteknight | hello cotto, how are you doing? | 23:19 | |
| cotto | tired. want more tuits | 23:20 | |
| also, sleep | |||
| whiteknight | yeah, more of both is always good | 23:30 | |
| I am in the middle of a severe tuit shortage | |||
|
23:31
benabik joined
|
|||
| cotto | what's happening? | 23:31 | |
| whiteknight | oh, nothing in particular. Just bad scheduling and busy evenings | 23:32 | |
|
23:33
RobertLJ joined
|
|||
| benabik | o/ #parrot | 23:46 | |
| cotto | hi benabik | 23:47 | |