|
Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today Set by moderator on 27 June 2011. |
|||
| jay | Victory: just created src/classes/Classes.pm with a simple example, and got it into the build and ran a test. | 00:00 | |
| whiteknight | jay++ | ||
| jay: I'm extremely interested in the idea of efficient larger-than-RAM data structure manipulations | |||
| PLA certainly doesn't handle anything like that, and I don't think the basic, vanilla BLAS does either | 00:01 | ||
| jay | whomever sent me the link to github.com/perl6/nqp/blob/master/t...subclass.t gets a ++ | ||
| dalek | rrot/whiteknight/packfilewrapper: a3f5eaa | Whiteknight++ | src/pmc/packfileview.pmc: fix pmc_docs.t failure |
||
| rrot/whiteknight/packfilewrapper: bce7e07 | Whiteknight++ | src/packfile/segments.c: fix conflict |
|||
| jay | whiteknight: we've done some cool things with C++ accessors. So we can develop algorithms which can work either with regular in-RAM column-major matrices of R, or on our own 'big.matrix' objects, which can be in shared memory and filebacked. We've done big singular-value decompositions of 160 GB on a stock desktop. The caching behavior of the memory-mapped files is really very good (much better than database or other chunking solutions to | 00:03 | |
| such problems). | |||
| whiteknight | so you would have fixed-width elements arranged column-major in a huge file? Or a sequence of files? | 00:04 | |
| jay | bigmemory.org if you are interested is one starting point. Actually, I have another set of talk slides that you might be interested in, I'll put it in the same folder. | ||
| whiteknight: either one huge file, column-major (necessary for BLAS compatibility) or as separate column-files (which can allow some neat tricks and hacks, since we deal with 'variables' in columns, usually). | 00:05 | ||
| whiteknight | so you have a version of BLAS that uses C++ accessors, which fall back to file seeks? Or you're mmapping the whole mess and letting the kernel sort it out? | ||
| jay | www.stat.yale.edu/~jay/NQR/VLDSemerson.pdf | 00:06 | |
| cotto_work | kid51: I'm already +1. I've been watching the branch and love where it's going. | 00:07 | |
| jay | No, we have a package of C++ wrapper functions to BLAS libraries (or, one that we're using now). | ||
| Rather -- yes -- the kernel sorts it out (we mmap the huge binary files). | 00:08 | ||
| Then our C++ wrapper functions handle the accessors. Ultimately, there is just some pointer to the right place and the kernel deals with it. As far as I can tell. !_) | 00:09 | ||
| whiteknight | that's awesome | 00:10 | |
| jay++ | |||
| jay | The core C++ code could stand on its own and be used elsewhere. The user API would be R-specific, though. The developer API would be portable. | ||
|
00:11
lichtkind left
|
|||
| plobsing | if you're letting the kernel work it out, is there a reason you aren't just using swap? | 00:11 | |
| whiteknight | might not be that much swap | 00:12 | |
| he's talking about 160GB matrices | |||
| jay | swap isn't as efficient and most people don't have enough of it. DIsk space is plentiful, as long as the filesystem supports mmap. | ||
| plobsing | if you've got the disk for 160GB files, you've got the disk for 160GB swapfile | ||
| jay | Yeah, but end-users don't mess around with unusual swap. | ||
| Besides, the caching behavior is far more efficient and less damaging to system performance. | 00:13 | ||
| whiteknight: this is why I asked about Parrot's memory allocation. If I could put my finger on some current mmap call used for FixedIntegerArray or FixedFloatArray, I might get some ideas... | 00:14 | ||
| whiteknight | We have a type for mmap | ||
| plobsing | the system performance should be the same at the end of the day. I'm not an expert at kernel VM systems, but mmap and swap are handled fairly similarly. | 00:15 | |
| whiteknight | MappedByteArray | ||
| jay | plobsing: could be, but in our tests there was quite a difference. We also support Mac/WIndows/Linux and some Solaris, I think, via BOOST. Not all swap behaves equally well. | ||
| whiteknight | that doesn't do floats, but I'm sure it could be subclassed or tweaked | ||
| jay | whiteknight: will I be able to grep it easily, or is there someplace I should look to find it's definition? | 00:16 | |
| whiteknight | jay: if you have the parrot source repo, it's src/pmc/mappedbytearray.pmc | ||
| it's a simple type. Still young and marked "experimental". A real-world use case might help us to get it matured and improved | 00:17 | ||
| jay | I'll glance at it now... | ||
| ah -- you guys are trying to support MINGW I gather. | 00:18 | ||
| whiteknight | trying | ||
| jay | We've had little gotchas with BOOST across different compilers and have little hacks. | ||
| plobsing | jay: swap might have different default heuristics than mmap, but you can change those (eg: using madvise) | 00:19 | |
| jay | plobsing: I'm sure you are right. But we (in the R world) don't often mess with user-environment things like that. Would get crazy across platforms, etc... | 00:20 | |
| dalek | rrot/whiteknight/packfilewrapper: b91cc44 | Whiteknight++ | MANIFEST.generated: Add generated files to MANIFEST.generated |
00:21 | |
| plobsing | if you're expecting paging (which you are in both cases), you really should look into those heuristics. otherwise you'll be fighting your system. | 00:22 | |
| jay | plobsing: depends on the use case I think. For example, we found it worthwhile to store both a matrix and the transpose for really big linear algebra problems, so that everything would be column-accesses. Again, I think we have different "worlds" here. End-user-friendliness is paramount, and our users aren't remotely computer-savvy in most cases. | 00:24 | |
| plobsing | jay: what I'm talking about is letting the system know what memory you'll be using next and what memory you are done with when doing large matrix multiplies | 00:25 | |
| your users don't need to see it | |||
| jay | whiteknight: thanks, I see it. | ||
| plobsing: maybe I misunderstood, then. I thought you were recommending use of swap, but that would require user intervention: these problems are larger than default swap settings. | 00:26 | ||
| whiteknight | fulltest. t/pmc/threads.t fails. FFFFFUUUUUUUU | 00:27 | |
| plobsing | I was arguing that swap is equivalent to mmap and that any difference has to do with the kernel's VM heuristics, which you should be tuning anyways (your use case should get large benefits) | ||
| whiteknight | having a certain amount of control over files and disc locations isn't a bad thing | 00:28 | |
| plus, with ordinary mmapped files, you get persistance between program runs | |||
| jay | I don't know anything about tuning VM heuristics, but it sounds like something that Undergraduate X would be able to do. | ||
| whiteknight: exactly: we use this persistence, critical for large data sets so you don't have to create or reload: you just mmap and you are good to go, no waiting (essentially). | 00:29 | ||
| plobsing | I was only thinking about performance. I can see the user interface angle differs. | 00:30 | |
| jay | That's item #1 in the R community. The downside is that the R Community can't move as quickly as you guys. Serious inertia problem. | ||
| dalek | kudo/nom: 31fa9ff | jonathan++ | src/ (2 files): Only auto-generate an accessor method if the user didn't already provide one. |
00:31 | |
| kudo/nom: bf8a6af | jonathan++ | src/core/Parcel.pm: Allow | to work on a Parcel. |
|||
| kudo/nom: 61aa803 | jonathan++ | src/core/Junction.pm: First cut implementationg of an auto-threader. Not wired up yet, and plenty of room to optimize this. |
|||
| kudo/nom: fe39b76 | jonathan++ | src/ (5 files): Wire up the auto-threader for single and multi-dispatch. Not heavily tested, but seems to work out with various tests (multi, single, multiple junctions, correct return value, pos and named args, etc). |
|||
| whiteknight | jay: heh, I'm always complaining about PArrot | ||
| 's inertial | |||
| ...let me try to retype that | 00:32 | ||
| jay | Just thinking about changing the R codebase from 4-byte integer indexing to longs... argh... my head aches. | ||
|
00:32
bluescreen left
|
|||
| cotto_work | whiteknight: when's merge o'clock? | 00:32 | |
| whiteknight | I'm always complaining about Parrot having an inertia problem | ||
| cotto_work: kid51 said he wanted to fulltest | |||
| cotto_work | whiteknight: gotcha. Let me know if he finishes too late for you and I'll be glad to merge it in. | ||
| cotto_work heads home | 00:33 | ||
| jay | From my perspective you guys are fluid. The problem is that really poses a challenge for newbies like me. This is my 3rd hack of squaak in two years, and it seems like a different world. | ||
| whiteknight | jay: We're trying our best to make the user experience better. Of course, that means the old bad user experience doesn't work anymore | ||
| I can understand the frustration | |||
| jay | It's summer and I'm my own boss for chunks of hours on end... this is fun. Less fun during the semester when I can only work for 1-2 hours between teaching and meetings. Can't be productive like this. | 00:34 | |
| whiteknight | I swear to Kernighan, if t/pmc/threads.t fails for me again I am going to delete the test | ||
| plobsing | no love for Ritchie? | 00:35 | |
| whiteknight | jay: Open-source your code. Gather a community. Laugh maniacally while they do the work for you | ||
| jay | whiteknight++, plobsing++ thanks for the tips and discussion. Got to head to the gym to burn some calories. | ||
| whiteknight | jay: case-in-point, I don't even know who started parrot, and here I am wasting hours and hours of my life on it | ||
| somewhere, some hacker is on a beach laughing and sipping mohitos | 00:36 | ||
| plobsing | yeah. I think I may have talked myself into being interrested in doing those VM heuristic tweaks if I knew where I could contribute ;) | ||
| jay | whiteknight: willdo, very soon I hope. Just wanted something that was a little different than squaak! Getting there. | ||
| back in an hour to play with my new class definition... | 00:37 | ||
| dalek | kudo/nom: 265331a | jonathan++ | t/spectest.data: Two more passing test files. |
00:40 | |
| kudo/nom: 5f2a810 | jonathan++ | NOMMAP.markdown: Update nommap. |
|||
|
00:41
rurban_ joined
00:42
preflex left
00:43
rurban left
00:44
rurban_ is now known as rurban,
theory left
00:46
preflex joined
00:49
logie left
|
|||
| dalek | rrot/whiteknight/pbc_pbc: 7dcae69 | Whiteknight++ | / (3 files): Add a new function Parrot_pf_subs_by_flag to return an array of all subs with the given flag. Replace PackfileView.trigger method with a new PackfileView.subs_by_flag method, to return a list of Subs. The user can use this method to get the subs with the flag they want, and execute them when specifically wanted. |
01:11 | |
| whiteknight | cotto I got you a present | ||
| cotto | ~~ | 01:21 | |
| Oh boy! I wonder what it is. | |||
|
01:22
daniel-s joined
01:27
preflex left
01:31
preflex joined
|
|||
| jay | class vector is ResizablePMCArray .... not quite right I take it. Hints? | 01:32 | |
| I'm in NQP-rx. Got a trivial subclass example working, so I'm in the ballpark. | 01:33 | ||
| Coke | NQP? | ||
| jay | well, I thought so. | 01:34 | |
| Coke | class foo is bar { | ||
| } | |||
| aye. | |||
| jay | Right, doesn't work. It apparently needs to find ResizablePMCArray elsewhere? | ||
| jay@bayesman:~/Desktop/SVN/Q/nqr$ ./installable_nqr | |||
| Parent of 'vector' is null | |||
| .... then more stuff ... | 01:35 | ||
| soh_cah_toa | i'm not 100% sure, but i don't think you can subclass pmc types | 01:36 | |
| i don't use nqp very much but that just doesn't sound right | |||
| jay | I tried ResizableIntegerArray, didn't work either. | 01:37 | |
| whiteknight | you can subclass PMC types, I don't know if NQP has special syntax for it | ||
| soh_cah_toa | o rly? | ||
| that seems weird but ok | |||
| jay | Maybe I should try with PIR, first? | 01:38 | |
| whiteknight | NQP uses a special metaobject called P6object | 01:39 | |
| I suspect the "is" keyword expects the right argument to be registered with P6object | |||
| got it, hold on let me put it together | 01:41 | ||
| jay | I'm wondering if I need to do some get_hll_global 'P6metaclass' or something to declare the availability of these classes? | 01:42 | |
| whiteknight | yes | 01:43 | |
| INIT { pir::get_hll_global__PS("P6metaclass").register("ResizablePMCArray"); } | |||
| jay | I'm on an old parrotblog page circa 2008. Googling this stuff is tough. | ||
| whiteknight | Add that to the top of your class.pm file, I think that should help | ||
| or it will make things worse | |||
| jay | whiteknight++ will try | ||
| whiteknight | either way, it's another data point | ||
| jay | CLoser, now get: | 01:44 | |
| jay@bayesman:~/Desktop/SVN/Q/nqr$ ./installable_nqr | |||
| Null PMC access in find_method('register') | |||
| current instr.: '' pc -1 ((unknown file):-1) | |||
| called from Sub 'main' pc 0 (nqr.pir:22) | |||
| whiteknight | weird | 01:45 | |
| nopaste | "coke" at 192.168.1.3 pasted "jay: works fine," (7 lines) at nopaste.snit.ch/58548 | ||
| Coke | whiteknight: I don't think that's needed for straight NQP. | ||
| jay | I'm still essentially in a modification of squaak if that helps. | ||
| Coke | jay: see that nopaste. | 01:46 | |
| whiteknight | jay: you're on parrot 3.3.0, right? | ||
| you may need to do: pir::load_bytecode('P6object.pbc') | |||
| jay | coke: I don't think that's the problem, I think we agree the syntax looks fine, but yes, I'm essentially adding to 3.3.0 squaak. | ||
| kid51 | whiteknight/packfilewrapper branch: darwin/ppc: commit 7f7d5322e2: make test PASS | ||
| jay | Where should that pir::load.... go? | ||
| whiteknight | code generated by NQP doesn't automatically include that library like it should. That's a bug that was fixed relatively recently | ||
| jay | Into setup.pir I gather? | 01:47 | |
| whiteknight | jay: in that same INIT block I sent you, above the .register line | ||
| jay | same error about Null PMC access | 01:48 | |
| whiteknight | weird | ||
| jay | So this is what I have in my Classes.pm file (where I got a trivial subclass example working): | 01:49 | |
| INIT { | |||
| pir::load_bytecode('P6object.pbc'); | |||
| pir::get_hll_global__PS("P6metaclass").register("ResizablePMCArray"); | |||
| } | |||
| class vector is ResizablePMCArray { | |||
| Coke | jay: that code I nopasted /works/ | ||
| jay | method foo() { | ||
| say('Hello from vector'); | |||
| } | |||
| Coke | so something else is going on if that doesn't work for you. | 01:50 | |
| whiteknight | Coke: he is using parrot 3.3.0, might be different | ||
| Coke | /works/... on HEAD. (there's a good reason for you to upgrade. ;) | 01:51 | |
| jay | I'm happy to move to 3.5.0 if the differences are trivial, but a few weeks ago 3.3.0 was listed as the most recent stable version. | ||
| whiteknight | the next stable version, 3.6.0, is coming out on tuesday. 3.3.0 is the last on | ||
| one | |||
| Jay: Okay, instead of inheriting, just delegate instead | 01:52 | ||
| class vector { has $!array; } | |||
| that will get you passed this problem the quickest, without huge debugging effort | |||
| jay | Am I playing with something cutting-edge, here? | 01:53 | |
| Coke | I would have expected that code to work on 3.3 too. | ||
| jay | whiteknight++ that worked, thanks. | ||
| Coke | but Idunno. | ||
| dukeleto | jay: every 3 months is a supported, stable release. The next is 3.6.0 | ||
| jay: it is best to stick with those unless you need something from an unstable release | 01:54 | ||
| Coke | so, if you start using HEAD today, that code will be supported with very minor changes in a few weeks. | ||
| jay | I'll be fascinated to see if my current code works in 3.5.0 or 3.6.0 without change... | ||
| whiteknight | method init is pirflags<:vtable("init")> { $!array := pir::new__PS("ResizablePMCArray"); } | 01:56 | |
| jay: for the most part, it should | 01:58 | ||
| changes since 3.3.0 have been mostly internal-only | |||
| jay | was that method init for me to use in my class? That isn't inherited? | 01:59 | |
|
01:59
silug left
|
|||
| whiteknight | jay: That method will populate $!array with a ResizablePMCArray when you create a new vector object | 01:59 | |
|
02:01
whiteknight left,
whiteknight joined
|
|||
| jay | ok, I'll have to play with it. Where should I look for stuff like new__PS? I don't remember seeing that anywhere. | 02:02 | |
| whiteknight | pir:: namespace uses PIR ops directly from NQP code | ||
| it's like Q:PIR, but prettier | |||
| the __PS is a hint to tell what arguments you are using | 02:03 | ||
| the first is the return value, others are the arguments | |||
| so pir::new__PS is the new opcode returning a PMC and taking a STRING | |||
| it's one of those situations where NQP is clearly a too-thin layer over PIR | 02:04 | ||
| jay | ok, so this is really a 'new' plus __PS giving extra help/ I was looking in places like docs.parrot.org/parrot/latest/html/...e.ops.html and not seeing it. | ||
| whiteknight | kid51: ping | ||
| jay: exactly. It's the new op. NQP will automatically try to coerce arguments to the correct types, so it can't intelligently pick which op to use from all the variants | 02:05 | ||
| there are new__PS, new__PP, new__PPP, etc | |||
| in PIR, it's obvious which op you are using because PIR doesn't autopromote types | 02:06 | ||
| jay | whiteknight++ yesterday someone would have used this as an argument to just code in PIR. !_) | ||
| dalek | rrot: eee63b0 | Whiteknight++ | api.yaml: Eval PMC is deprecated |
02:09 | |
| rrot: 507aa96 | Whiteknight++ | api.yaml: PackFile_* API functions are deprecated |
|||
| kid51 | whiteknight: pong | ||
| whiteknight | kid51: are we good for a merge? I saw your testing came back clean | ||
| kid51 | The only hesitation I have is: Does anyone other than you understand what the point of this branch is? | 02:10 | |
| The diff is large. The subject matter is above my pay-grade. | |||
| I didn't see any Trac ticket about this. | |||
| whiteknight | kid51: yes, cotto has been following along and reviewing | ||
| cotto | kid51, yup | ||
| whiteknight | it's spread out over a few tickets | ||
| kid51 | Okay. Since bus factor > 1, okay to merge. | 02:11 | |
| cotto | Bam! | ||
| whiteknight | #1969 is probably the most relevant | ||
| #2145, and #2140 less so | 02:12 | ||
| okay, I just merged to master locally. I'm going to test one more time then push | |||
| cotto | whiteknight, how does coverage look? | 02:13 | |
| kid51 | Please remember to add something to NEWS, if appropriate. | ||
| whiteknight | I haven't seen coverage reports for it yet. Probably good but not great | ||
| cotto | running them now | ||
| whiteknight | I took a ticket today for adding temporary file capabilities. I am going to want that to test the write_to_file and read_from_file methods | 02:14 | |
| and the trigger method is not working, because of problems in the packfile API. I'm resolving that in the whiteknight/pbc_pbc branch, but that won't be in before the release | |||
| the method just does nothing now, causes no problems | |||
| kid51 | Also, please post as appropriate in those various trac tickets. Thanks. | 02:16 | |
| whiteknight | right, will do | ||
| I've got a lot of work to do in this area over the coming weeks. I'll be all over those tickets like brown on poo | |||
| kid51 | The pbc_pbc branch: Do you have a time frame for that? | ||
| whiteknight | kid51: it's open-ended. Certainly not before the release | 02:17 | |
| hopefully before 3.7 | |||
| incoming | |||
| dalek | rrot: 50d7baf | Whiteknight++ | / (19 files): fix conflicts in api.yaml. There's plenty of room to deprecate everything |
02:18 | |
| rrot: 19e2d89 | Whiteknight++ | NEWS: +note about PackfileView to NEWS |
|||
| cotto | whiteknight, don't forget to nuke the branch. | 02:19 | |
| whiteknight | add one more thing to the list of things needing to be nuked | ||
| done | 02:20 | ||
| the network viewer on github hasn't updated in 8 hours | 02:22 | ||
| kid51 | Y'know, it really annoys me that the results I get from 'git branch -a' differ from the 'Switch Branches' pull-down at github.com/parrot/parrot | 02:23 | |
| ttbot | Parrot 19e2d891 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/29577 | ||
| kid51 | Uh-oh. | ||
| x86_64, darwin, i386-linux-thread-multi | 02:24 | ||
| cotto | that's no good | ||
| whiteknight | .... | ||
| cotto | whiteknight, are you on x86? | ||
| whiteknight | x64 | ||
| cotto | I"ll fire up my x86 lappy and see if the same thing happens there. | 02:25 | |
| whiteknight | it's Coke's x86_64 darwin | 02:26 | |
| cotto | ah | 02:27 | |
| kid51 | github.com/parrot/parrot/commit/50...cf6f6801bd was first build failure | ||
| whiteknight | Yeah, that's the merge | 02:28 | |
| cotto | looks like a fun one | 02:30 | |
| looks like make cover is borked too | 02:31 | ||
| whiteknight | All the files I touched are building with no warnings (or, no new ones) | 02:32 | |
| jay | Newbie humor: this Dale K guy is pretty damn productive! | 02:35 | |
| whiteknight | :) | 02:36 | |
| I am going to assume buildbot is doing a full realclean and reconfig before building? | 02:37 | ||
| dalek | rrot: ff7a667 | Whiteknight++ | src/pmc/eval.pmc: Comment out some stuff in Eval for now |
02:38 | |
| whiteknight | let's see what ttbot has to say about that | ||
| ttbot | Parrot ff7a6678 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/29689 | 02:42 | |
| whiteknight | damnit | ||
| kid51: you said you tested it out on darwin? | |||
|
02:43
bubaflub joined
|
|||
| whiteknight | Coke: ping | 02:44 | |
| msg Coke: ttbot is giving us a build failure on your x86_64 darwin box. Segfault. Do you think you could get me a backtrace for that? | 02:45 | ||
| aloha | OK. I'll deliver the message. | ||
| kid51 | whiteknight: I tested the *branch* on darwin/ppc. Only post-merge am I testing master on that platform. | ||
| whiteknight | ok | ||
| dalek | rrot: 04f584c | jkeenan++ | MANIFEST: Update MANIFEST for ext/winxed/LICENSE. |
02:47 | |
| rrot: 1878059 | jkeenan++ | src/pmc/eval.pmc: Merge branch 'master' of git@github.com:parrot/parrot |
|||
| kid51 | whiteknight: master has successfully built on darwin/ppc; now entering make test | ||
| whiteknight | okay, that's good | 02:48 | |
| so I have to wonder what is happening differently on Coke's machine | |||
| kid51 | There have been a couple of cases like this where Parrot works on darwin/ppc but not on Intel and/or 64-bit | ||
| But IIRC Coke is the only person regularly submitting reports on Darwin/x86_64 | |||
| cotto | I'd test on that platform, but that'd require acquiring it first. | 02:49 | |
| kid51 | Sorry ... what is it that you to taptinder on? | ||
| whiteknight | same | ||
| kid51 | s/to/do/ | 02:50 | |
| I'm puzzled as to what Coke's taptinder #10 machine actually is. | |||
| whiteknight | Okay, I don't think there is anything else I can do without a backtrace. I'm heading to bed, will get this all sorted out tomorrow morning | 02:51 | |
| cotto | whiteknight, 'night | ||
| whiteknight | if we have to undo the merge, that will happen tomorrow | ||
| ttbot | Parrot 18780596 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/29756 | ||
| kid51 | By that point, we'll probably have Win32 build failures as well :-( They often go together with other build failures | ||
| whiteknight | good. More data is good | 02:52 | |
| I'll look at it tomorrow. Goodnight | |||
| cotto | yes. More failures at this point would be great. | ||
|
02:53
whiteknight left
|
|||
| bubaflub | ~ | 02:54 | |
| kid51 | Actually, build is succeeding on taptinder #8, which is: x86_64 \tMSWin32 \tMSWin32-x86-multi-thread | ||
| So far the only build failures being reported on taptinder are from #10: x86_64 \tdarwin \ti386-linux-thread-multi | 02:55 | ||
| ... whatever that is! ;-) | |||
| cotto | yeah. That's a strange platform. | ||
| sorear | uhm | 02:59 | |
| i386-linux-thread-multi is not a platform | |||
| that's a perl5 extension ABI token | 03:00 | ||
| how did it get there? | |||
| multi is short for MULTIPLICITY, it means all libperl.so functions take a PerlInterpreter* argument instead of using globals | 03:01 | ||
| cotto | tt calls it "archname" | ||
| sorear | not related to CPU or OS at all | ||
| kid51 | darwin/ppc: master: commit 19e2d89179: make test PASS | 03:15 | |
|
03:15
kid51 left
03:16
pjcj left
03:17
jay left
03:49
giwi left
03:55
silug joined
04:05
pjcj joined
04:17
giwi joined
04:27
soh_cah_toa left
04:34
giwi_ joined,
giwi left,
giwi joined
04:40
giwi left,
giwi_ left,
giwi joined
04:42
preflex left
04:45
preflex joined,
jsut_ joined
04:49
giwi_ joined,
giwi left
04:50
jsut left
05:02
theory joined
05:04
logie joined
05:09
fperrad joined
05:45
theory left
|
|||
| ttbot | Parrot d1f74b35 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/30466 | 05:56 | |
|
05:58
logie left
06:36
fperrad left
06:39
fperrad joined
07:24
pjcj left
07:40
bubaflub left
07:45
pjcj joined
|
|||
| dalek | p: 442e0b3 | pmichaud++ | / (5 files): Update nqp:: event and debug logging support. |
07:48 | |
| p: 59bc2bb | pmichaud++ | src/stage0/ (6 files): Update bootstrap. |
|||
|
07:59
fperrad left
08:12
fperrad joined
08:25
mj41 joined
08:30
giwi_ left
08:41
rurban_ joined
08:43
mj41 left,
rurban left
08:44
rurban_ is now known as rurban
09:13
fahad joined
|
|||
| dalek | kudo/nom: aaffbef | moritz++ | t/spectest.data: two more passing test files |
09:57 | |
| kudo/nom: c514e45 | moritz++ | t/spectest.data: we pass a fudge pick.t |
10:11 | ||
| p: 1f28be4 | pmichaud++ | src/HLL/Compiler.pm: Fix handling of interactive_ctx so that it doesn't mistakenly grab |
10:12 | ||
| kudo/nom: 3803bd5 | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION so we get the interactive context fix and our |
10:20 | ||
|
10:30
mj41 joined
10:33
ligne joined
10:54
mj41 left
11:01
jay joined
11:05
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:05 | |
| ligne | morning whiteknight. | 11:09 | |
| jay | good morning whiteknight | 11:12 | |
| whiteknight | hello jay | ||
| jay | You guys were really doing battle last night with ttbot. !-) | 11:13 | |
|
11:13
mj41 joined
|
|||
| fahad | what's worng with www.parrot.org ? | 11:17 | |
| whiteknight | fahad: Good question. Must have gone down | ||
|
11:19
NotFound_b joined
|
|||
| fahad | next question. downloaded (git clone) and build parrot. what next? | 11:19 | |
| whiteknight | trac is down too | ||
| moritz | fahad: start hacking | ||
| NotFound_b | whiteknight: PackFile_Segment_new_seg is declared in packfile/pf_private.h but is used in several places out of packfile/ | 11:20 | |
| whiteknight | oh, that could be causing the problems | ||
| NotFound_b | Breaks C++ builds | ||
| whiteknight | that's very likely the cause of the ttbot failure | 11:21 | |
| NotFound_b | compilers/imcc/pbc.c and frontend/pbc_merge/main.c for a start | 11:22 | |
| Also, my laptop froze in my first attempt to build with C using make -j | |||
| Without -j it builds | 11:23 | ||
| whiteknight | it froze? | ||
| NotFound_b | It usually freezes when memory usage trashes the swap, don't know why. | 11:24 | |
| The -j makes me wonder about some missing dependence | 11:25 | ||
|
11:28
mj41 left
|
|||
| whiteknight | potential fix incoming | 11:31 | |
| dalek | rrot: cac768d | Whiteknight++ | / (3 files): Some functions from segments.c are used outside the packfile subsystem. They shouldn't be, but they are. Expose them all for now, to try and fix C++ build and ttbot failures |
||
|
11:38
mj41 joined
|
|||
| ligne | whiteknight> that seems to have fixed all the declaration errors, thanks | 11:38 | |
| NotFound_b | whiteknight: Ugly, but builds. | ||
| whiteknight | real fix is to find all the places using those functions and stop it | 11:44 | |
|
11:44
mj41 left
|
|||
| jay | Question: I'm trying to read stuff on classes, and stumbled on the following. The code doesn't look like NQP (thought it is similar) and certainly isn't PIR. If I'm building my own HLL is this relevant or will it be a distraction? en.wikibooks.org/wiki/Parrot_Virtua...PMC_System | 11:45 | |
| Ah -- is this C on Parrot? | 11:46 | ||
| whiteknight | yeah, that's C. mostly | ||
| we use a special markup for defining PMCs. It's basically C with a lot of macros | 11:47 | ||
| jay | Ok. Could be useful at some point, but not yet then. Thanks. | ||
| NotFound_b | jay: is relevant if you want to use custom PMC in your HLL | 11:51 | |
| whiteknight | ttbot hasn't complained yet. That's a good thing | 11:54 | |
| Coke | Coke's #10 taptinder machine is OS X, intel, 10.6.7 | 11:55 | |
| dalek | rrot: a02bc2c | NotFound++ | frontend/parrot_debugger/main.c: Don't ignore Parrot_compile_string result, |
11:57 | |
| rrot/whiteknight/pbc_pbc: eee63b0 | Whiteknight++ | api.yaml: Eval PMC is deprecated |
12:00 | ||
| rrot/whiteknight/pbc_pbc: 507aa96 | Whiteknight++ | api.yaml: PackFile_* API functions are deprecated |
|||
| rrot/whiteknight/pbc_pbc: 50d7baf | Whiteknight++ | / (19 files): fix conflicts in api.yaml. There's plenty of room to deprecate everything |
|||
| rrot/whiteknight/pbc_pbc: 19e2d89 | Whiteknight++ | NEWS: +note about PackfileView to NEWS |
|||
| rrot/whiteknight/pbc_pbc: ff7a667 | Whiteknight++ | src/pmc/eval.pmc: Comment out some stuff in Eval for now |
|||
| rrot/whiteknight/pbc_pbc: 04f584c | jkeenan++ | MANIFEST: Update MANIFEST for ext/winxed/LICENSE. |
|||
| rrot/whiteknight/pbc_pbc: 1878059 | jkeenan++ | src/pmc/eval.pmc: Merge branch 'master' of git@github.com:parrot/parrot |
|||
| rrot/whiteknight/pbc_pbc: cac768d | Whiteknight++ | / (3 files): Some functions from segments.c are used outside the packfile subsystem. They shouldn't be, but they are. Expose them all for now, to try and fix C++ build and ttbot failures |
|||
| rrot/whiteknight/pbc_pbc: 84a34f2 | Whiteknight++ | / (59 files): Merge branch 'master' into whiteknight/pbc_pbc |
|||
| Coke | I see i'm green again. | ||
|
12:04
JimmyZ joined
12:16
kid51 joined
|
|||
| kid51 | Is Smolder down again? | 12:16 | |
| parrot.org seems to be generally down | 12:18 | ||
| trac.parrot.org/parrot not available | 12:19 | ||
| same thing for parrot.org | |||
| Coke | I just restarted smolder after you said that, but didn't realize the other stuff was down too. | 12:21 | |
| dalek | rrot: aa176f8 | NotFound++ | frontend/parrot/main.c: Don't ignore result of imcc_preprocess_file_api |
||
| Coke | at a guess, it's an issue with the proxy. | 12:22 | |
| someone should ping #osuosl on freenode. | |||
| kid51 | I just filed a ticket with osuosl.org | ||
| Coke | (or open a ticket, or whatever.) | ||
| kid51++ | |||
| kid51 | Have to go to $job now. Coke if you can speak to them on freenode, that would be great (although it's 5:20 am there) | 12:23 | |
|
12:23
kid51 left
|
|||
| whiteknight | kid51: in case you missed it, looks like the build failures are sorted out again | 12:25 | |
| sorry to have broken things so close to your release | |||
| dalek | rrot/whiteknight/pbc_pbc: 8866aaf | Whiteknight++ | / (6 files): Add a 2-arg load_bytecode_p_s opcode to return a PackfileView. Added a new packfile API function Parrot_pf_load_bytecode_search to load a bytecode file from a shortname and the system search paths |
12:26 | |
|
12:32
UltraDM joined
12:33
smash joined
|
|||
| Coke | Rohit will be joining us shortly with some questions about parrot's lexicals. | 12:33 | |
| smash | hello everyone | ||
| Coke | smash: cheers. | 12:34 | |
|
12:34
rohit_nsit08 joined
|
|||
| rohit_nsit08 | Coke:ping | 12:35 | |
| Coke | Pong. | 12:36 | |
| So, re-reading your email, looks like you were asking about lexicals and then which objects to prioritize working on, yes? | |||
| rohit_nsit08 | Coke: yup | ||
| smash | seen chromatic | ||
| aloha | chromatic was last seen in #parrot 146 days 18 hours ago saying "All of the core tests did pass for me, FWIW.". | ||
| rohit_nsit08 | Coke: also about the strict variant of EcmaScript as well | 12:37 | |
| Coke | I'm not familiar with that. | ||
| url? | |||
| seen pmichaud? | 12:38 | ||
| aloha | pmichaud was last seen in #perl6 2 hours 16 mins ago saying "bbl". | ||
| rohit_nsit08 | developer.mozilla.org/en/JavaScript/Strict_mode | ||
| Coke: somewhat restricted version of the same ecmascript | 12:39 | ||
| Coke: and more error reporting | |||
| Coke | ha! I think the way you enable it is amusing. (looks like perl) | 12:40 | |
| I would say since it changes the behavior of the language, it's out of scope, too much work. | |||
| rohit_nsit08 | Coke: hmm.. don't have much idea of perl but this seemed to a bit confusing to implement. | 12:41 | |
| Coke | Save it as a stretch goal, but don't worry about it for now. | ||
| rohit_nsit08 | ok | ||
| Coke | in perl, to enable strictures, you say: | ||
| use strict; | |||
| so to have JS's be: | 12:42 | ||
| "use strict"; | |||
| seems like an homage to perl. | |||
| so, back to lexicals - there's some docs in PDD 20 (web site's down right now, have to use a source checkout) | |||
| rohit_nsit08 | I have the whole site in pdf form , let me check | ||
| got it | 12:43 | ||
| ya I used it earlier, inner sub has access to outers lexical vairiables | 12:44 | ||
| variables* | |||
| Coke | ok. so, when you're generating the PIR, you'd declare a particular .lex to get the lexical value. I think the tricky part is figuring out which parrot .sub's | ||
| correspond to the points in JS when you need a new scope. | |||
| since each parrot .sub might not be a top level JS function. | |||
| I think you just need to pick your :outer's carefully at that point. | 12:45 | ||
| moritz | since JS doesn't have block-level scopes, you can compile each function to ecactly one parrot .sub | ||
| jnthn__ | Aye | ||
| No need for nested scopes/blocks | |||
| moritz | I just don't know if PCT is going to help you with that | ||
| jnthn__ | Other than for nested functions | ||
| If you do end up with nested blocks then it's still easy - when you encounter a function, just stick the PAST::Block for that in a contextual like $*CURRENT_FUNCTION | 12:46 | ||
| Or something along those lines | |||
| Coke | Sure, if you're doing one .sub per function, that's fine. Didn't know how you were tackling that. | ||
| (see, this is why I wnted to have this conversation here. ;) | 12:47 | ||
| jnthn__ | In NQP and Rakudo we have a PAST::Block having two PAST::Stmt nodes. We use the first one for declarations, the second for the code | ||
| So it'd be $*CURRENT_FUNCTION[0].push(PAST::Var ... ) | |||
| rohit_nsit08 | Coke: hmm that sounds good , any idea about refrence specification type , read this term in the specification . It talks about the resolving name bindings for variables | ||
| Coke | I should also note that moritz & jnthn__ are closer to your time zone than I am. ;) | ||
| dalek | rrot: 81e8d82 | NotFound++ | src/pmc/hash.pmc: hash entry_type is not a Hash_key_type |
||
| Coke | googling... | ||
|
12:48
ambs joined
|
|||
| Coke | hurm. reads like it's a Hash. | 12:50 | |
| moritz | rohit_nsit08: where's your code so far? | ||
| Coke | (or, rather, Hash-like) | ||
| corellascript? | |||
| aloha, bad bot. | |||
| rohit_nsit08 | I didn't updated the repo for some time, working on object syste | 12:51 | |
| system* | |||
| moritz | rohit_nsit08: you should update the repo multiple times per day | 12:52 | |
| rohit_nsit08 | Coke: it says that reference is a resolved name binding | ||
|
12:52
daniel-s left
|
|||
| jnthn__ | Commit early, commit often :) | 12:52 | |
| moritz | rohit_nsit08: if you don't have something running, commit your stuff to a branch... better than losing everything when your computer's hard drive crashes | ||
| Coke | aloha, corellascript is github.com/rohit-nsit08/corellaScript/ | ||
| aloha | Coke: Okay. | ||
|
12:53
daniel-s joined
|
|||
| Coke | also, measured progress makes it easier to upvote you at review time. | 12:53 | |
| My apologies for not being a more vocal mentor in this regard. | |||
| rohit_nsit08 | moritz: hmm I'll do that from now, actually I did faced this problem last weekend while upgrading to fedora 15 system crashed but I had backup | ||
| Coke | rohit_nsit08: yes, it does say that. What is your question? ;) | ||
| rohit_nsit08 | Coke: I couldn't get the whole concept of it and how this will reflect in corellascript | 12:54 | |
| Coke | (it looks like if you have a reference type, you can set/get values by name. which is like a parrot Hash.) | ||
| rohit_nsit08 | ya basically we are just storing variables in it and extracting when we need a refrence to it | 12:55 | |
| is it? | |||
| Coke | www.scribd.com/doc/28271661/ECMA-26...er_page_44 if anyone else wants to play along. | ||
|
12:56
bluescreen joined,
NotFound_b left
|
|||
| Coke | rohit_nsit08: that is certainly how I'm reading that at first. | 12:57 | |
| especially since the first sentence in the spec I'm reading is that it's used to "explain the behavior of delete, typeof, and the assignment operators". | 12:58 | ||
| jnthn__ groks it | |||
| Coke | not that it exposes any functionality in particular to the programmer. | ||
| jnthn__ | delete foo['bar'] | ||
| If you were to do this by syntactic analysis then you'd transform that into an operation on foo that deletes key bar | 12:59 | ||
| rohit_nsit08 | Coke: sorry, didn't get that | ||
| jnthn__ | But it suggests not to do that, and instead for foo['bar'] result in a reference that incorporates the object foo, the key 'bar' and thus delete has enough information to be able to do its work. | 13:00 | |
| Coke | jnthn__: the fact that this is in the spec indicates that they really expect you to implement it that way, aye, but I suspect that for the GSOC project, if it's easier to do the former way, that that would be fine. | 13:01 | |
| (I mean, I think the primary goal is "make delete work".) | |||
| rohit_nsit08 | yup | 13:02 | |
| delete and typeof | |||
| jnthn__ | Coke: Yeah. Reading between the lines, it feels like they're saying "sure, you probably could implement it by case analysis, but it'd make the spec nastier, plus this issue of functions that don't behave like ones a user could write" | ||
| NotFound | That reference way will not be easy to efficiently implement in parrot. | 13:03 | |
| jnthn__ | Case analysis will be more optimal in terms of the generated code. It does require the compiler to do more work to look at the LHS. | ||
| NotFound: Tell me about it... :) | |||
| Coke | so, don't try to be perfect to the spec, try to be good enough to run code. | ||
| NotFound | I thought about doing it in winxed and gave up. | ||
| jnthn__ | NotFound: nqp and 6model have actually defined a container model to try and help with these things. | 13:04 | |
| NotFound: It's not all the answers, but it helps. | |||
| Coke | as for your other question, which types, I see Undefined/Null/Boolean/String/Number/Object, which all have direct mappings to parrot core types. | ||
| rohit_nsit08 | Coke: ya they all have direct mapping | ||
| I'm defining a class and than adding attributes to it, than instantiating it to get objects | 13:05 | ||
| and add methods if needed | |||
| Coke | do the classes inherit from the core types? | ||
| NotFound | Also, delete is an operator, not a functions. I don't see why we should pretend that we don't know its syntax. | 13:06 | |
| rohit_nsit08 | declaring a new Objects by defaults inherit the core Object pmc | ||
| others are also inheriting if their corresponding class exists. | 13:07 | ||
| I'm generating Function and Object objects in the above way . class and than objects | 13:08 | ||
| dalek | kudo/nom: 203aea2 | moritz++ | src/core/Str.pm: add argumentless Str.comb to make [Coke]++ happy |
||
| Coke | ok. Sounds like you have a plan there. | 13:10 | |
| moritz++ # \\o/ | 13:11 | ||
| rohit_nsit08 | Coke: as I wrote to u earlier about the two different uses of some Objects in JS like they can be used as a function alone or as constructor ( when using "new") in case of constructor I need to instantiate a new object . my doubt was as to how this will effect the PIR code | 13:12 | |
| Coke | next blog post, it'd be nice if you could compare progress to the original plan. (and try to do that going forward) | ||
| rohit_nsit08: can you give me a short JS example of each one? | 13:13 | ||
| and while you do that, I get my second cup of coffee. be right back. ;) | |||
| rohit_nsit08 | Coke: ya I'll do it , and It will be best if u can review my code regularly and comment on it . I'll update corellascript tomorrow and the blog as well | 13:14 | |
| Coke | also, I have a meeting in 15m that goes for an hour, then 1/2 breka, then another 30m meeting. but feel free to bug jnthn__ and others. brb. | ||
| (back) | 13:19 | ||
| NotFound | rohit_nsit08: I think the only difference between calling directly and using new is the value of 'this'. | 13:20 | |
| rohit_nsit08 | NotFound: ya "this" is creating the whole diffrence in both of these contexts | 13:22 | |
| in case of constructor, this is bind to the new object created | |||
| NotFound | So the difference can be just the pir generated for operator new. | 13:23 | |
| rohit_nsit08 | NotFound: hmm, can u give me any small example , these are both the cases codepaste.net/dyukfd | 13:24 | |
| I have to make sure that when I have "new" before the function I get a new object with correct 'this' | 13:25 | ||
| NotFound | Uh, I don't know what Function does when called directly. | ||
| rohit_nsit08 | when called directly it returns the result of toValue(argument) | 13:26 | |
| Coke | wow, me neither. You don't normally see that. | ||
| rohit_nsit08 | Coke : ya even I saw its use during gsoc only :-) | 13:27 | |
| but specification says it is there | |||
| NotFound | I think Function is too complicated for a simple example. | ||
| rohit_nsit08 | it is applicable to any case where we have functions as all functions are constructors i guess | 13:28 | |
| it is usually advised to not use a function intended to be used as constructor as function alone. It only creates problems most of the time | 13:29 | ||
| NotFound | rohit_nsit08: yeah, but using Function as example is prone to confusions between functions and Function %-) | ||
| Coke | gha, meeting time. | 13:30 | |
| rohit_nsit08 | NotFound: ok, sorry for that example actually I was confused about this exact case | ||
| so used it here also to discuss it | 13:31 | ||
| NotFound | rohit_nsit08: it will be better to start with a cleaner example, then looking at the peculiarities of Function will be easier. | ||
| rohit_nsit08 | NotFound: was reading about that , when Function is used as a function rather than as constructor it creates and initializes a new Function object so they are equivalent in this case | 13:34 | |
| NotFound | rohit_nsit08: I think that what new should do is: creating an object, set its internal details (prototype mainly) and then call the call or apply methods in the function object using the newly created object as this. | 13:37 | |
|
13:37
whiteknight left
|
|||
| rohit_nsit08 | NotFound: yup, completely agree | 13:38 | |
| but when used only as stand alone function , I think 'this' refers to global in case of nested functions and the object whose method that function is | 13:39 | ||
| NotFound | I think so. | 13:40 | |
| The current 'this' at the calling place. | |||
| rohit_nsit08 | even in case of nested functions ? | 13:41 | |
| NotFound | Not sure, I haven't read the specification nor used that in the practice. | 13:42 | |
| You can leave that cases untile the more common usages are ready. | 13:43 | ||
| Uhhhh... no, you probably can't, this is used for a lot of things. | 13:44 | ||
| rohit_nsit08 | NotFound: I was also a bit confused about this , read that in case of functions inside function the inner function's this points to global object though it shouldn't but it does | 13:45 | |
| NotFound | Probably it depends on how the outer function is called, plain call or method call. | 13:46 | |
| rohit_nsit08 | this cleared my most of the doubts about "this" seanmonstar.com/post/707068021/4-wa...-with-this | 13:47 | |
| inner function's "this" is not bound to owning object but to the global | 13:49 | ||
| NotFound | rohit_nsit08: I don't think that example exemplfies well. concat is called as plain function, not as method. | 13:53 | |
| That is the difference, not the place where it's defined. | |||
| rohit_nsit08 | hmm let me have a look | 13:56 | |
|
14:02
bubaflub joined
|
|||
| rohit_nsit08 | what I can see is that when Thing.woops() , concat is called with this.name (this refer to 'I was owned...) and a string . inside concat, this is referring to global object while the original call was Thing.woops . I used to believe that functios inside the functions are also belong to the owning object , is it wrong somewhere? | 14:02 | |
| concat is called as a plain function, so it's 'this' pointing to global is looking obvious to me | 14:03 | ||
| as well | |||
| nopaste | "NotFound" at 192.168.1.3 pasted "this or not this" (18 lines) at nopaste.snit.ch/58675 | 14:05 | |
| NotFound | rohit_nsit08: look at this variant of the example | ||
| The this of woops depend on how it's called, not on were it's defined. | 14:06 | ||
| And if you want to call concat with the current this, you can use its call or apply methods. | 14:09 | ||
|
14:09
preflex left
14:12
preflex joined
|
|||
| rohit_nsit08 | hmm got it , so it doesn't matter where it is defined , calling sets the 'this' vale | 14:12 | |
| in first case 'this'.name is not defined, shows that being defined in object has no effect when called as plain function | 14:14 | ||
| nopaste | "NotFound" at 192.168.1.3 pasted "Example with 'call'" (17 lines) at nopaste.snit.ch/58676 | 14:15 | |
| NotFound | concat is not a member of Thing, is local on the anonymous function, so we can just use: this.concat(...) | 14:17 | |
| can't | |||
|
14:18
UltraDM left
|
|||
| rohit_nsit08 | ya I'm getting the logic for what I earlier called 'wierd behaviour' . | 14:19 | |
| NotFound | It looks strange sometimes, but it has logic. | 14:20 | |
| rohit_nsit08 | :-) yup | ||
| NotFound: getting late for dinner timings, gotta go . Thanks for the example , corrected my concept of 'this' . catch u latr bye | 14:21 | ||
| NotFound | bye | 14:22 | |
|
14:22
rohit_nsit08 left
|
|||
| Coke | websites are back. osuosl++ | 14:23 | |
| NotFound++ # thank you! | 14:24 | ||
| NotFound | Glad to help. I'll enjoy having a javascript implementation. | 14:25 | |
| Coke | msg kid51 websites are back. | ||
| aloha | OK. I'll deliver the message. | ||
|
14:37
daniel-s left
|
|||
| Coke | I am bemused that 'isparrotfastyet' has trouble even building. | 14:37 | |
| Unca Coke sheds a tear. | 14:38 | ||
| atrodo | Coke> me too | 14:44 | |
| jay | Interesting: as a statistician, I'm less interested in benchmarks than I am in simply being able to do what I need to do. Speed usually isn't an issue, and if I do have something that takes time (e.g. more than a few minutes) I can usually do it in parallel very easily. | 14:55 | |
| E.g. features trump speed for me. Which is why I'm here. | 14:56 | ||
|
15:01
logie joined
15:14
daniel-s joined
15:17
daniel-s left,
dmalcolm joined
|
|||
| dukeleto | ~~ | 15:20 | |
| Kovensky | www.ustream.tv/nasahdtv <-- 5 minutes to launch | 15:22 | |
|
15:24
dod left
15:26
alester left
15:37
alester joined
15:40
alester left
15:57
darbelo joined
15:59
jay left
16:02
lucian joined
16:21
Coke left,
Coke joined,
ligne left
|
|||
| cotto | ~~ | 16:32 | |
|
16:38
Kulag joined
16:41
rurban_ joined
16:42
Kovensky left
16:43
rurban left
16:44
rurban_ is now known as rurban
|
|||
| dalek | kudo/nom: 25767e9 | jonathan++ | src/Perl6/ (2 files): Factor out package redeclaration logic so we'll be able to re-use it for all the various type-y declarators, and make it a bit smarter, e.g. so tadzik++ can declare a Block in Pod. |
16:44 | |
| kudo/nom: f5c0a44 | jonathan++ | src/core/Mu.pm: First cut of clone, though probably not quite deep enough yet for many objects. |
|||
| kudo/nom: bb5852a | jonathan++ | src/Perl6/SymbolTable.pm: Fix redeclaration detection for nested classes. |
|||
| kudo/nom: 73518c8 | jonathan++ | t/spectest.data: Run S12-class/basic.t. |
|||
| kudo/nom: 9420d14 | jonathan++ | NOMMAP.markdown: Update nommap. |
|||
| kudo/nom: bf66171 | jonathan++ | src/core/Mu.pm: Make sure $obj.Mu::new() style delegation works. |
16:47 | ||
| kudo/nom: ca81dd4 | jonathan++ | t/spectest.data: We now pass S12-construction/new.t - or as much as master does, anyway. |
|||
|
16:56
JimmyZ left
17:27
theory joined
17:41
particle left
17:50
particle joined
17:51
particle left
|
|||
| dalek | rrot: 5caaa0f | NotFound++ | / (7 files): add non-null void-return versions of to avoid the need for unused temporaries and spurious warnings. |
17:52 | |
|
17:53
particle joined
18:09
fperrad left,
mj41 joined
18:10
fperrad joined
18:15
Eclesia joined
|
|||
| Eclesia | hi | 18:15 | |
| cotto_work | ~~ | 18:19 | |
| Eclesia | āā | ||
|
18:21
mj41 left
18:26
logie left
18:35
logie joined
|
|||
| Eclesia | hi NotFound | 19:01 | |
| NotFound: I'm still having problem with strings. for example Ā© or ā | 19:03 | ||
| NotFound | Eclesia: What kind of problems? | 19:05 | |
| Eclesia | NotFound: I'm trying to read a file using rosella. when he found a utf-16 caracters I have a : Invalid character in ASCII string | 19:06 | |
| NotFound: I'm not sure it's winxed or rosella the problem | 19:07 | ||
| if it's* | |||
|
19:08
ambs left
|
|||
| NotFound | Eclesia: utf-16? | 19:08 | |
| Eclesia | not ascii | 19:10 | |
| NotFound | Eclesia: you probably need to set the encoding in the filehandle: fh.encoding("utf8"); | ||
| Eclesia | I'm using rossela. so it's hidden. I'll take your advise and handle it myself with a FileHandle | 19:11 | |
| NotFound | You should tell whitenight about that problem. | 19:12 | |
| Eclesia | I will, when he comes back | 19:13 | |
|
19:18
fperrad left,
fperrad joined
|
|||
| Eclesia | ha, found it. was my fault :x | 19:22 | |
|
19:24
darbelo left
19:25
smash left
19:29
Coke left,
Coke joined
19:31
ambs joined
|
|||
| logie | How would a newbie get started contributing? Willing to do whatever dirty work is needed. | 19:32 | |
| Eclesia | logie: definitly in first place ā make some doc, a faq and some samples | 19:33 | |
| (But I'm not a contributor, so I have no right to say that :D ) | 19:34 | ||
|
19:35
benabik left,
logie left
|
|||
| NotFound | That depends. I started by locating dead C code and deleting it, before being able to write even a short pir snippet. | 19:36 | |
|
19:36
loganbell joined
|
|||
| cotto_work | That wasn't helpful. | 19:36 | |
| I had my reply all typed up. | |||
| loganbell | Sorry - disconnected. | ||
|
19:36
loganbell is now known as logie
|
|||
| cotto_work | ah | 19:36 | |
| great | |||
| logie: we have a handful of tickets marked with the tag "newbie" that may be a good way to get familiar with the codebase. | |||
| NotFound | logie: That depends. I started by locating dead C code and deleting it, before being able to write even a short pir snippet. | ||
|
19:36
Kovensky joined
|
|||
| logie | Can someone who knows perl and a little C, be of any service within this project? Sounds like the best place to start is sort through the tickets marked as newbie and see what I find? | 19:37 | |
| NotFound | At that time there was a lot of dead code, I hope today will not be so easy. | ||
| cotto_work | logie: those will be helpful skills | 19:38 | |
| NotFound | logie: a general view of the full ticket list maybe better. I have my doubts about the "newbie" tag. | ||
| logie | All the tickets being referenced are the ones in the trac? | 19:39 | |
| NotFound | logie: yes | ||
| logie | sounds good, I'll see what I find.. if I have questions just present them here in this forum? | 19:41 | |
| NotFound | logie: yes, or in the parrot-dev mailing list | ||
|
19:47
Coke left,
Coke joined
19:51
lichtkind joined
19:59
Coke left,
Coke joined
|
|||
| dalek | nxed: 4851081 | NotFound++ | winxedst1.winxed: method Token.issinglequoted replacing some instanceof usages |
20:01 | |
|
20:03
nnunley joined
20:09
soh_cah_toa joined,
Coke left,
Coke joined
20:11
darbelo joined
20:15
Coke_ joined,
Coke left
20:16
darbelo left
|
|||
| dalek | rrot/soh-cah-toa/hbdb: 84b9833 | soh_cah_toa++ | src/hbdb.c: Added definition of display_breakpoint() and some operations for adding breakpoints to global list |
20:17 | |
| rrot/soh-cah-toa/hbdb: b153c8d | soh_cah_toa++ | .gitignore: Added 'hbdb' to .gitignore since it's a generated binary |
|||
| rrot/soh-cah-toa/hbdb: a03f9ec | soh_cah_toa++ | frontend/hbdb/main.c: Fixed strcmp() conditional to compare against 0 because the previous method of using the ! operator did not work correctly |
|||
| rrot/soh-cah-toa/hbdb: 1268ffe | soh_cah_toa++ | frontend/hbdb/main.c: Changed frontend/hbdb/main.c to use headerizer instead of hand-typed function prototypes |
|||
| nxed: 423cf5a | NotFound++ | winxedst1.winxed: new experimental builtins for 4 args get/setattribute |
20:19 | ||
|
20:19
fperrad left
|
|||
| cotto_work | soh_cah_toa: how's the code looking? | 20:23 | |
| soh_cah_toa | cotto_work: eh, i'm having some trouble compiling .pir files. also can't figure out why 'quit' generates a backtrace. working on the former now | 20:24 | |
| dalek | kudo/nom: 5ea35d9 | Coke++ | t/spectest.data: This (commented out) test file doesn't exist. |
||
| soh_cah_toa | pretty much, i'm gonna try and see if Parrot_compile_file() works any better than the imcc_* set of functions | 20:25 | |
|
20:32
Coke_ left,
Coke joined
|
|||
| cotto_work | soh_cah_toa: have you talked with whiteknight? | 20:36 | |
| soh_cah_toa | no | ||
| dalek | kudo/nom: bafbc15 | Coke++ | t/spectest.data: Alphabetize & note failure cause. |
20:39 | |
| kudo/nom: 372e76c | Coke++ | t/spectest.data: Unskip passing testfile |
20:45 | ||
| nxed: 1d88fd0 | NotFound++ | winxedst1.winxed: Indirect attribute setting. var e = new["Exception"]; string s = "message"; e.*s = "Failed"; throw e; |
20:54 | ||
|
21:10
bluescreen left
21:12
jay joined
21:25
bluescreen joined
21:43
Psyche^ joined
21:44
ambs left
21:48
Patterner left,
Psyche^ is now known as Patterner
21:49
bluescreen_ joined
21:51
preflex left
21:52
perlite left,
perlite joined
21:55
bluescreen left,
preflex joined
21:56
bluescreen_ left
21:58
benabik joined
|
|||
| dalek | kudo/nom: 458245f | Coke++ | t/spectest.data: Add some failure comments, running one more test. |
22:13 | |
|
22:18
kid51 joined
|
|||
| kid51 | ~~ | 22:19 | |
| soh_cah_toa | kid51: hey, how's work on the presentation going? | 22:29 | |
| kid51 | Umm, it isn't. | ||
| But I have 2 weekends to go. | 22:30 | ||
| And in any case, I can borrow copiously from earlier presentations by dukeleto, cotto and benabik. | |||
| So I'm not worried about it ... yet. | |||
| How's Honeybee? | |||
| Also, between now and FOSSCON I have to serve as Release Mgr for 1st time | 22:31 | ||
| soh_cah_toa | ah yeah, me too in september | 22:32 | |
| getting close to getting .pir files to compile properly. i want it to be invoked w/ a pir file but execute the bytecode | |||
| cotto_work | kid51: I really think you're over-preparing. It's not that big of a deal. | ||
| It's an hour or two of work dispersed over the week+ before the release, then maybe 4 hours on the day of. | 22:33 | ||
| less if you have a faster box to run tests | |||
| kid51: speaking of which, do you have access to the right machines? | 22:34 | ||
| kid51 | cotto_work: Can you give me the needed access to ftp.parrot.org? | ||
| cotto_work | sure | ||
| kid51 | Note: We are failing lots of tests on Win32: smolder.parrot.org/app/projects/rep...ails/16990 | 22:35 | |
| cotto_work | can you nopaste your ssh public key from ~/.ssh/id_dsa.pub ? | ||
| nopaste | "kid51" at 192.168.1.3 pasted "id_dsa.pub" (1 line) at nopaste.snit.ch/58800 | 22:37 | |
|
22:37
Kulag left,
Kulag joined
|
|||
| dalek | kudo/nom: e5ed290 | Coke++ | t/spectest.data: add a reason, pass a test. |
22:39 | |
| cotto_work | kid51: you should now be able to ssh to parrot@ftp-osl.osuosl.org | ||
| kid51: once you have that, head over to #osuosl and ask for an account on parrotvm.osuosl.org . You'll need that to update docs.parrot.org . | 22:42 | ||
| dalek | kudo/nom: 1483a05 | Coke++ | t/spectest.data: add a passing test. |
22:44 | |
| kudo/nom: 2d10e5c | Coke++ | t/spectest.data: add more failure reasons. |
22:50 | ||
| Heuristic branch merge: pushed 30 commits to rakudo/podparser by tadzik | 23:03 | ||
|
23:05
Eclesia left
|
|||
| dalek | kudo/podparser: 82b7267 | tadzik++ | src/Perl6/SymbolTable.pm: [SymbolTable] Fix lookup of type object with "::" in their names, jnthn++ |
23:21 | |
| kudo/podparser: 93c4425 | tadzik++ | / (8 files): Give Pod classes proper names, jnthn++ for making that possible |
|||
|
23:26
kid51 is now known as kid51_at_dinner
23:34
dmalcolm left
23:37
perl joined
23:41
bluescreen joined
23:47
Drossel joined
23:48
Kulag left
|
|||