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