Camelia, the Perl 6 bug

IRC log for #parrot, 2011-02-16

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 donaldh joined #parrot
00:04 donaldh left #parrot
00:07 jnthn Oh horrors. Yes, leting usage of a key escape beyond the context its used in is, like, almost certainly a segfault. See key.c around e.g. line 299 for why.
00:17 cotto ~~
00:19 cosimo_ joined #parrot
00:19 cosimo_ left #parrot
00:20 cotto jnthn, I'm sorrry you had to see that.
00:21 jnthn cotto: It's OK, when I get a segfault I@m a bunch more comfortable when I know why.
00:22 cotto this is true
00:22 jnthn cotto: iiuc though, I suspect we may be wasting a huge amount of memory on 1-char strings like "0","1","2" with captures. At the moment all PAST nodes are captures.
00:23 gerd left #parrot
00:23 jnthn I may be mis-reading, I've mainly been scanning the code to work out what I immediately need :)
00:29 whiteknight joined #parrot
00:32 dalek nqp/match-nom: 94e55ed | jonathan++ | src/pmc/rakudoobject.pmc:
00:32 dalek nqp/match-nom: Work around Parrot's nuts keys implementation. This means the getting/setting keys in the capture bit now seems to work well, which gets us to the next error, which is just that NQPCapture needs some more implementation effort (exists). Also will need to make those v-tables overridable.
00:32 dalek nqp/match-nom: review: https://github.com/perl6/nqp/commit/94e55ed4d8
00:33 jnthn cotto: Yeah, segfault gone. Just back to the next not implemented thingy now :)
00:36 cotto I'm glad you figured it out.
00:37 jnthn Me too.
00:37 jnthn Sleep time... &
00:38 cotto 'night
00:48 vmspb left #parrot
00:50 luben left #parrot
00:50 tcurtis left #parrot
01:01 luben joined #parrot
01:09 tcurtis joined #parrot
01:43 whiteknight I love hearing other people criticize our Key implementation
01:43 whiteknight it really is lacking
01:44 whiteknight Tene: ping
01:45 Tene whiteknight: pong
01:45 whiteknight Tene: There are two problems I have with threads: The way interpreters are stored in a global array (which means we must always pass a parent interp to create a child)
01:45 whiteknight and the fact that some of the threads tests fail intermittently because of timing issues
01:46 lucian whiteknight: that sounds deadly
01:46 whiteknight if those two issues went away, I would be "live and let live" about threads. I wouldn't want to rip them out if they weren't causing any problems
01:46 whiteknight being unusable, or under-usable are not nearly as bad as being harmful
01:46 lucian btw, threads are a necessary evil for many usages
01:47 whiteknight lucian: I think we can do threads better with a better design
01:47 lucian whiteknight: perhaps, but i think the low-level thread api should be exposed
01:47 whiteknight lucian: a good hybrid threading approach would allow us to do autothreading, and implement light-weight actors for programs which need them
01:48 lucian whiteknight: sure, but you can't do that for everything
01:48 plobsing joined #parrot
01:48 whiteknight what do you mean?
01:48 lucian some languages require real threads
01:48 lucian and full access to them
01:48 lucian and some usages also do (real-time)
01:48 whiteknight Tene: anyway, my point is, I don't necessarily want threads to go away, I just want them to stop causing other problems
01:49 whiteknight One day I do want to reimplement that system, but there are other things to focus on first
01:49 dmalcolm left #parrot
01:49 lucian you'll basically need fine-grained locks for your interpreters
01:49 lucian and that's not an easy problem to solve
01:49 whiteknight lucian: sure, we can still do that with a hybrid approach. For systems that need "heavy threads", we give them a tuple of OS thread and Parrot context to execute as one
01:49 Tene whiteknight: I don't see that any of that actually addresses my expressed concerns.
01:50 whiteknight systems which can be more flexible can have other options
01:50 whiteknight Tene: maybe I don't understand your concerns
01:50 whiteknight Tene: and I would really like to
01:51 Tene whiteknight: I've never implemented a threading system.  I have vague suspicions that ripping out what little broken threading support we have would somehow increase the work or decrease the motivation for a future threads implementor, or something like that.
01:52 whiteknight Tene: That really depends how different our future "ideal" design is from the current design
01:52 Tene What I'd like to hear from someone is "I feel confident that I understand the issues related to a threads implementation and how they related to parrot's architecture, and I do not believe that removing our threads system would impede future threads work"
01:52 whiteknight if we can build on what we have, we don't want to rip out. If we can't, we need to rip out eventually
01:53 whiteknight Tene: I strongly suspect that, but I can't say it for certain yet. I would need to research some of our code a bit more
01:53 whiteknight Tene: Give me a day or two for serious research and I'll get back to you
01:54 lucian whiteknight: i'm curious how you'll avoid a GIL
01:55 Tene whiteknight: I don't feel that I'm in a position have any say at all in changes to Parrot, fwiw, and I'm certainly not going to start implementing a threads system myself.
01:55 Tene whiteknight: I'm primarily expressing my feelings because I suspect that others might have similar feelings, given that I haven't seen any specific technical details ever mentioned for keeping our broken threads system in.
01:55 whiteknight Tene: your thoughts and opinions are always important. Nobody is implementing a new threads system right now
01:56 whiteknight Tene: and since nobody is doing it, all our opinions are equally worthless :)
01:56 lucian heh
01:57 Tene whiteknight: I also have a vague emotional response about ripping our threads system out instead of fixing it being "moving backwards" or something like that.  That's not a technical complaint, and would probably be silenced by a statement like "I feel confident that I understand what a good threading system for Parrot would look like, and what we have now would not be helpful (or actively harmful) for a good threading system for parrot."
01:57 cosimo left #parrot
01:58 whiteknight lucian: (re: GIL) if the Lorito plan really does come to pass, what we call the "interpreter" will become much smaller. Each little green thread would have it's own "global" data and maybe it's own local lock but not a GIL which covers all interps
01:58 Tene If you could say exactly those two quotes in the next #ps meeting or on the mailing list, you'll have my unqualified support, which I only feel is worth offering because I've resisted in public before.
01:58 whiteknight lucian: so the idea is that if we make the interpreter very small, the GIL becomes very small
01:58 whiteknight then, it's not a matter of avoiding the GIL at all
01:58 lucian whiteknight: just how small will it be with a HLL on top?
01:59 lucian and while multiplexed green threads are great, some languages disagree with that
01:59 whiteknight Tene: I do want your support, which is always worth the effort. I will research the code and make a firm recommendation at next #ps one way or the other
02:00 whiteknight lucian: If I tell an HLL that "this is a thread", and provide an interface that does thread-like things, it doesn't matter whether that thread is heavy or light
02:00 whiteknight lucian: and if the abstraction barrier is strong enough, the HLL won't know the difference
02:00 Tene whiteknight: I also expect that you'd get a useful response by posting this conversation to the list, to verify whether my feconcerns on the matter are representative.
02:00 lucian whiteknight: there are subtle interactions that would break compatibility. think of java
02:01 whiteknight lucian: I prefer not to
02:01 whiteknight :)
02:01 lucian well, for parrot to be really useful you (or someone next to you) might have to
02:02 whiteknight lucian: I don't really see the issue. If we say that we can tie a Parrot ThreadContext 1:1 with an underlying OS thread and provide an interface to support that, we can handle the Javas of the world
02:02 lucian i tend to see threads and thread systems as a generally very hard problem
02:02 whiteknight and if we also provide an option to decouple and do more of an actors-based system, that doesn't hurt anybody
02:03 whiteknight lucian: no question. That's why we did something easier first, like GC
02:03 whiteknight and we're probably going to do JIT before threads too
02:03 whiteknight threads are ard
02:03 whiteknight hard
02:04 lucian whiteknight: oh about jit, were you the guy that thought static compilation would work (fast) ?
02:04 whiteknight and even if we get the underlying implementation right, we still need a library of synchronization mechanisms, data sharing mechanisms, and then we need to provide thread-safe optimizations for al these
02:04 whiteknight lucian: in a certain sense, it can be fast
02:04 lucian yep, that's where the devil is
02:04 lucian whiteknight: you should probably talk to the rubinius folks
02:05 whiteknight lucian: there's no clear-cut winner between JIT and static compilation for all workloads. For some programs, static compilation would be faster
02:05 whiteknight for most normal workloads in non-trivial programs, JIT probably does win
02:05 lucian what i mean is that for duck typed languages, mixed interpreter + jit IS the clear winner
02:05 Tene whiteknight: the only concern I have about future threads is how design decisions we make now could possibly affect future implementation.  For example, large parts of our current impl disallow for a copying/compacting GC.
02:06 whiteknight there's a threshold where the overhead of compilation and optimization is out weighed by the improved performance of the code
02:06 lucian Tene: that's a very good point. good threads rely on a good memory model
02:06 lucian whiteknight: not in dynamic languages, usually
02:06 whiteknight Tene: yes, that is an important concern. I don't think we are moving towards a copying/compacting GC any time soon
02:07 lucian most research shows that java is about the breaking point
02:07 lucian more dynamic than that, interp + jit wins
02:07 lucian less dynamic, static wins
02:07 Tene whiteknight: I very much have no expectation that I'd know what issues might arise or not there, so I don't have any intuition about whether ripping out or current broken threads impl would hurt that or not.
02:08 whiteknight Tene: I can guarantee that the threads implementation was not designed with any of our current development goals in mind: Lorito and JIT, improved GC, etc
02:08 lucian i keep thinking whether it would be possible to cheat, with threads
02:08 whiteknight Tene: and I would be surprised if this implementation was accidentally supportive of those things
02:08 whiteknight lucian: what do you mean?
02:08 lucian like there are library gcs and library jits
02:08 Tene whiteknight: That would be awesome to see you comment on with the other topics, then.
02:08 lucian surely there must be a small, c-level thread library
02:09 lucian that's actually good/suitable
02:09 Tene whiteknight: unless the other parrot devs have very different concerns than I do, I expect that talking about those issues would get you a lot of support, modulo concerns about the deprecation policy.
02:10 Tene As far as I'm aware, my efforts at using threading when I opened tt757 were the biggest effort any hll consumer has made at using threading.
02:10 Tene (and I DID get programs working using threading, as long as I worked around tickling the crash bug, or with one of those patches applied, fwiw)
02:11 Tene So, I personally have no deprecation concerns about removing it.
02:11 whiteknight what I most like about the hybrid threading idea is that it offers us a clear development path: We implement green threads, people use green threads while we implement OS thread handling internaly
02:11 whiteknight and one day we flip the switch and BAM your programs run faster
02:12 lucian whiteknight: ah, there's one http://www.gnu.org/software/pth/
02:13 lucian "GNU Pth uses a M:1 mapping to kernel-space threads, i.e., the scheduling is done completely by the GNU Pth library and the kernel itself is not aware of the M threads in user-space. Because of this there is no possibility to utilize SMP as kernel dispatching would be necessary."
02:14 whiteknight lucian: we haven' done any design work on threading yet, really. No sense picking a library yet because we don't know what we need from it
02:14 whiteknight Pth is good to keep in mind
02:14 lucian whiteknight: sure, i was just thinking that someone might have solved our problems already
02:18 whiteknight lucian: that sentence "there is no possibility to utilize SMP" is disturbing to me
02:19 lucian whiteknight: what they mean is that Pth threads are scheduled within one thread only
02:19 lucian just like protothreads or w/e else
02:19 whiteknight oh, so a Pth thread can not be moved between OS threads?
02:19 lucian i'm not sure, but it doesn't on its own
02:19 whiteknight ok
02:19 lucian i mean the pth library doesn't multiplex
02:21 lucian an actually clear wikipedia article http://en.wikipedia.org/wiki/Th​read_(computer_science)#Models
02:21 whiteknight In Parrot, assuming immutable bytecode, a "thread" is basically just a continuation and a context
02:21 whiteknight also assuming that the context contains the current bytecode pointer
02:21 whiteknight right now the current bytecode pointer is stored in the interp
02:23 plobsing s/current bytecode pointer/current bytecode reference/
02:23 whiteknight in that sense, creating a new "thread" is just like any other subroutine invocation: Create a CallContext, and invoke it
02:23 whiteknight plobsing: right
02:24 plobsing bytecode segments must be GCable to avoid eval memory leaks
02:24 whiteknight plobsing: I almost said "PC Register"
02:24 lucian hmm http://runtime.bordeaux.inria.fr/marcel/ inria are cool
02:25 whiteknight once we've packed up a call into a "thread" object, we can execute it on any OS thread that's available. Again, assuming we have data sharing issues sorted out
02:25 plobsing whiteknight: the hardest problem is GC. Assuming N:M threads, does every Parrot thread have a GC? does every OS thread have a GC? do we stop the world at some point? How?
02:25 plobsing there are papers that show very concurrent GC systems, but there's always the academic/RL gap
02:26 whiteknight plobsing: Good question. A concurrent algorithm would probably be best. From what I have seen Immix is thread-friendly
02:26 lucian plobsing: and they all tend to suck in different ways
02:26 lucian i'd guess stop-the-world per-thread should suffice
02:27 whiteknight plobsing: I've seen some concurrent algorithms that have me very convinced
02:27 whiteknight and if we're on an SMP system anyway, it should be fine
02:27 whiteknight on a uniprocessor system, we wouldn't want that
02:27 lucian whiteknight: i'm unconvinced by usage in practice, and NUMA perf in general
02:27 whiteknight NUMA perf?
02:28 lucian performance on NUMA architectures
02:29 lucian concurrent GCs that i've seen tended to cross process boundaries on NUMA, but i haven't seen newer research i guess
02:30 plobsing that marcel thing looks really cool
02:30 whiteknight in GC we could change things so that each thread owned it's own collection of arenas. Global pools. Threads mark their own data independently. Then the global GC can sweep empty arenas and return them to the global sore
02:30 whiteknight store
02:30 plobsing and what of message objects?
02:30 lucian whiteknight: that's what most systems do, from what i've seen
02:30 lucian we should look at erlang's OTP
02:31 whiteknight plobsing: depends how we handle them. If they are copied, no problem. If they are shared, weneed to mark the arenas shared
02:32 lucian i think shared state should be so explicit as to have its own arena(s)
02:32 whiteknight the problem is that we can't really make any intelligible designs until we know how we want to handle data sharing
02:33 whiteknight that's the complicated part, and it's the fundamental design decision we're missing
02:33 lucian yeah, it's a good call to drop threads for later
02:33 lucian keep them in mind so as to not block useful designs, i guess
02:33 * lucian wishes cyclone was more popular
02:33 whiteknight do we share r/w references? do we share r/o references? do we only pass clones?
02:34 lucian how about only copy? is that unreasonable?
02:34 whiteknight deep copy? shallow copy? lazy copy?
02:34 whiteknight like, are we doing COW with our shared PMCs?
02:34 plobsing I'm of the opinion that, should we postpone threads for later, we should not bother removing threads now unless and until they immediately and unacceptably impede development elsewhere.
02:34 plobsing copy-only sounds a lot like share-nothing.
02:35 whiteknight like I said before, I only want to remove them now because they are causing problems
02:35 plobsing many people seem to not like that
02:35 plobsing whiteknight:  problem?
02:35 lucian plobsing: the only possible argument against that is performance
02:35 whiteknight plobsing: if you create multiple interps, you must pass a reference to the first interp to all subsequent child interps
02:35 whiteknight that's a big blocker for PL/Parrot
02:36 whiteknight also, mikehh sees random timing-related failures in thread.t
02:36 plobsing that has little to do with parallelism, although it is a usage of threads of execution.
02:36 whiteknight the first issue is only an implementation problem. I'm sure it could be worked around in-place if people wanted
02:37 whiteknight anyway, it's time for me to get to bed. Goodnight
02:37 mikehh I suspect that it is a timing problem, but I have been getting failures in t/pmc/threads.t different tests, different platforms, and if I re-run the test it passes
02:37 whiteknight left #parrot
02:38 mikehh usually run with TEST_JOBS=4
02:39 mikehh one of the problems I see with threads is the different approaches in different operating systems
02:39 lucian mikehh: hopefully, a library would wrap that sanely. there are a few out there
02:39 lucian (nspr comes to mind)
02:40 lucian mikehh: or so you mean *really* different OSes without threads/processes or something?
02:41 mikehh I was thinking of the linux approach vs Posix vs M$ etc
02:41 lucian well, pthreads is everywhere, at worst as a wrapper
02:42 mikehh also different hardware approaches
02:42 lucian chromium uses pthreads, with a wrapper on windows
02:42 lucian mikehh: like 1-n cores, numa?
02:43 mikehh One of the problems I see with threads is the problems they are having in multi-core environments
02:43 lucian the way i see it, in multi-core environments you're simply much more likely to hit the subtle timing bugs
02:44 mikehh I was reading an article on problems with the threads approach on 40 core processors
02:45 lucian mikehh: was than on a NUMA architecture? because there the shared memory approach does indeed show cracks
02:47 mikehh I think the article was on the shared memory vs message passing approach
02:47 lucian right
02:47 lucian well, obviously that's a higher-level concern
02:47 lucian but threads are very low-level and necessary for most other concurrency approaches
02:48 lucian anyway, it's late here too
02:48 lucian good night
02:49 lucian left #parrot
02:55 lateau joined #parrot
03:04 cosimo joined #parrot
03:04 tcurtis left #parrot
03:10 benabik left #parrot
03:13 cosimo left #parrot
03:13 cosimo joined #parrot
04:01 benabik joined #parrot
04:20 mtk left #parrot
04:27 mtk joined #parrot
04:56 bacek ~~
04:57 bacek msg plobsing "manual_wb" is actually good idea. We discussed similar thing with cotto. But for md5sum test it wouldn't make a huge difference.
04:57 aloha OK. I'll deliver the message.
04:57 bacek msg mj41 Thanks!
04:57 aloha OK. I'll deliver the message.
04:58 cotto ~~
04:58 cotto I thought it was interesting that he had a similar idea.
05:00 bacek cotto, what was outcome of #ps about GC?
05:00 cotto merge it now, make it the default, revisit the decision in a couple weeks
05:01 cotto There were some objections to making the default for a release different than the default for a dev build.
05:03 bacek oookey. I don't like idea of switching GC for "release only"
05:04 cotto I understand that reservation.
05:07 cotto anything between now and 3.3 will probably be a compromise unless we overhaul the deprecation policy
05:10 bacek so, officially we can't have gen_gc until 3.6
05:12 cosimo left #parrot
05:12 cotto actually, after 3.3
05:12 bacek I'm talking about supported releases.
05:12 cotto the deprecation notice needs to be in the 3.3 release
05:13 cotto 3.3 is supported
05:13 bacek yes
05:13 bacek so, gen_gc will be in 3.6
05:13 cotto ah.  That will be the first supported release with gen_gc according to the current policy.
05:14 cotto s/gen_gc/gen_gc as the default/
05:15 cotto There was also a suggestion that we merge but make gen_gc non-default.  I don't like that because it'll be easy to forget to test it, but it's an option.
05:34 Coke rakudo would certainly be testing it.
05:35 cotto yes they would
05:36 akashmanohar joined #parrot
05:38 akashmanohar I'm following the PCT tutorial and I'm stuck. Any help with this https://gist.github.com/828925
05:38 simcop2387 left #parrot
05:39 * Coke gets partcl updated past "codestring go poof"
05:39 benabik akashmanohar: Problem is that it tells you to both add method term:sym<integer_constant> and rename term:sym<integer> to term:sym<integer_constant>?
05:39 akashmanohar benabik: ya
05:40 * benabik is tired enough that he needs to double check basics.
05:40 benabik akashmanohar: I think it is correct to remove sym<integer> instead of renaming it.
05:40 akashmanohar benabik: so the episode-3's exercises-1 is wrong?
05:41 benabik akashmanohar: Erm.  Possibly, let me check.
05:42 * Coke echo's whiteknight's rant about test:more not showing a total. or a percentage.
05:42 Coke or test::harness. or tap::harness. or whatever that is. Grumble.
05:43 akashmanohar benabik: This page http://docs.parrot.org/parrot/latest/html/examples​/languages/squaak/doc/tutorial_episode_3.pod.html code block under under "Add action methods for" and then the first exercise on the same page. Just thought I could help you dig it out.
05:43 benabik akashmanohar: Yes, that's wrong.  Renaming the existing methods would make the added methods pointless.  You should also remove method term:quote instead of renaming it to term:string_constant
05:44 bacek msg jnthn $P0[1] is actually calls set_foo_keyed_int. Not set_foo_keyed.
05:44 aloha OK. I'll deliver the message.
05:44 benabik ...  Or at least it looks that way to me.
05:44 cotto bacek, you mean with a constant int register?
05:44 cotto interesting factoid there
05:44 bacek cotto, yes.
05:45 cotto imcc--
05:45 bacek and int registers too
05:45 cotto stupid prototype compiler
05:45 bacek cotto, why? It's actually DTRT in this case
05:46 cotto it doesn't do that with strings though, iirc
05:46 akashmanohar benabik: Should I correct the docs and send a pull request or file a request on the tracker?
05:46 * Coke wonders if dalek is still watching partcl.
05:46 nopaste "bacek" at 192.168.1.3 pasted "Capture.set_foo_keyed_int" (12 lines) at http://nopaste.snit.ch/32573
05:46 dalek partcl: 85ac914 | leto++ | Configure.pl:
05:46 dalek partcl: Fetch the sha1 and git_describe config keys, and turn the version check into a warn
05:46 dalek partcl: review: https://github.com/partcl/partcl/commit/85ac91467f
05:46 dalek partcl: 8f955a7 | leto++ | Configure.pl:
05:46 dalek partcl: Remove svn cruft from Configure.pl and borrow moritz++'s code to parse describe strings
05:46 dalek partcl: review: https://github.com/partcl/partcl/commit/8f955a724a
05:46 dalek partcl: d456b06 | leto++ | config/PARROT_GIT_DESCRIBE:
05:46 dalek partcl: Add a config file to cache git describe strings
05:46 dalek partcl: review: https://github.com/partcl/partcl/commit/d456b06727
05:47 dalek partcl: 713abcc | coke++ | / (2 files):
05:47 cotto akashmanohar, send a pull request
05:47 dalek partcl: Merge branch 'parrotgit'
05:47 dalek partcl: review: https://github.com/partcl/partcl/commit/713abccfb2
05:47 dalek partcl: 11e84fa | coke++ | config/makefiles/root.in:
05:47 cotto we love those
05:47 dalek partcl: hasjit is no longer a parrot config var.
05:47 dalek partcl: review: https://github.com/partcl/partcl/commit/11e84fa483
05:47 dalek partcl: 1ec07ba | coke++ | / (2 files):
05:47 dalek partcl: inplace concat op is gone.
05:47 dalek partcl: review: https://github.com/partcl/partcl/commit/1ec07ba449
05:47 dalek partcl: ade8121 | coke++ | / (5 files):
05:47 dalek partcl: codestring - s/codestring/stringbuilder/
05:47 dalek partcl: review: https://github.com/partcl/partcl/commit/ade8121c95
05:47 dalek partcl: 94f5336 | coke++ | / (2 files):
05:47 akashmanohar cotto: okay! thanks!
05:47 dalek partcl: codestring - remove 'unique' method access
05:47 dalek partcl: review: https://github.com/partcl/partcl/commit/94f533609e
05:47 dalek partcl: 1349067 | coke++ | src/grammar/expr/past2pir.tg:
05:47 dalek partcl: codestring - remove escape method.
05:47 dalek partcl: review: https://github.com/partcl/partcl/commit/134906785f
05:47 dalek partcl: dccc3b5 | coke++ | / (5 files):
05:47 bacek cotto, no. Only ints. Remember opsc? "kic" adn "ki" arg types for ops
05:47 dalek partcl: codestring - update usage of 'emit'
05:47 dalek partcl: review: https://github.com/partcl/partcl/commit/dccc3b5aa7
05:47 dalek partcl: 951b433 | coke++ | runtime/builtin/incr.pir:
05:47 dalek partcl: "increment() not implemented in class 'String'"
05:47 dalek partcl: -- avoid this error.
05:47 dalek partcl: review: https://github.com/partcl/partcl/commit/951b4333b6
05:47 cotto bacek, that's what I thought, but imcc makes me question my sanity at times
05:48 bacek we can extend support for "ks" and "ksc" in pirate
05:48 benabik I tend to attach patches to TTs...  But I'm used to using the mailing list for git.git
05:48 cotto I'd like to have some consistency there.
05:48 bacek Do need dep notice though
05:48 cotto yup
05:49 Coke where did Parrot_get_ctx_HLL_type go?
05:50 Coke It's gone, and I don't see a deprecation notice on teh wiki.
05:50 cotto Coke, I think it was just lightly renamed.  just a sec
05:50 Coke even /lightly/ renamed functions go on the wiki.
05:50 cotto Parrot_hll_get_ctx_HLL_type
05:50 Coke Parrot_hll_get_ctx_HLL_type.
05:51 simcop2387 joined #parrot
05:54 bacek I think it was covered by "magical function rename to have proper naming convention" ticket...
05:54 Coke msg whiteknight since you're the "hll guy" these days: Parrot_get_ctx_HLL_type was renamed and there's no notice on the wiki on the deprecations pages.
05:54 aloha OK. I'll deliver the message.
05:55 Coke bacek: yes. still MUST BE DOCUMENTED.
05:55 Coke emphasis for those discussing how we must follow the deprecation policy. ;)
05:55 bacek Coke, I don't disagree with you
05:56 cotto me neither.  It was annoying when resuscitating gsoc-instrument.
05:57 dalek partcl: 27aae9c | coke++ | src/ops/tcl.ops:
05:57 dalek partcl: track rename of function
05:57 dalek partcl: review: https://github.com/partcl/partcl/commit/27aae9ce53
05:59 Coke well, that gets partcl down to a single screen of failed tests.
06:04 bacek Coke, how big screen do you have?
06:06 cotto bacek, lol
06:07 Coke ATM, 82x38
06:07 bacek Lua-on-Parrot shoutout is 3 orders of magnitude slower than original Lua...
06:08 bacek Coke, is it in meters??? :)
06:08 Coke bacek: partcl-old is mostly working.
06:09 bacek Coke, what about -nqp version? I was going to fix it for gen_gc
06:10 Coke also mostly working.
06:10 Coke I think all of the remaining failing tests have trac tickets open.
06:10 Coke (for some time.)
06:10 Coke partcl-nqp should need zero help on GC branch since there's no C in it.
06:11 rurban_ joined #parrot
06:12 bacek Coke, horray. But it can reveal bugs in parrot it self.
06:12 Coke sure.
06:12 Coke which it does. last I checked it segfaulted mightily on branch.
06:12 Coke have fun . ;)
06:12 bacek THANK YOU
06:12 Coke down to 58 failing tests (not test files) in partcl-old.
06:13 dalek lua: 95b2985 | bacek++ | dynext/pmc/luatable.pmc:
06:13 dalek lua: Check that we actually have filled bucket in LuaTable before dereferencing it.
06:13 dalek lua: review: https://github.com/fperrad/lua/commit/95b2985113
06:13 rurban left #parrot
06:14 rurban_ is now known as rurban
06:14 bacek msg fperrad Looks like I fixed crash in Lua on gen_gc2 branch. But I don't understand why it didn't crash before...
06:14 aloha OK. I'll deliver the message.
06:14 bacek Coke, which test was crashing?
06:15 bacek t/cmd_regexp.t
06:15 bacek sigh...
06:15 bacek Let's run another gdb session...
06:15 Coke I think most of the remaining failures in partcl-old are related to the HLL mapping going fubar.
06:15 Coke (so parrot behavior is bleeding through, causing tests to fail.)
06:16 Coke bacek: I'd have to rebuild parrot and rebiuld partcl-nqp
06:16 bacek Coke, any help will help...
06:16 Coke building parrot on the branch.
06:17 theory left #parrot
06:17 bacek Thanks
06:23 akashmanohar how do i check if the pod file i edited is correct? (any way to compile that)
06:23 Coke woof. on fire.
06:23 Coke podchecker <filename>
06:25 nopaste "coke" at 192.168.1.3 pasted "random segfault on gen_gc2 branch for partcl-nqp (for bacek)" (50 lines) at http://nopaste.snit.ch/32593
06:25 Coke bacek: need anything else before I sleep?
06:26 bacek Coke, no, thanks. Have a good night!
06:26 Coke k. if you can fix that one, I'm sure it'll clear up a lot of the other failures, and we can sort through what's left.
06:26 dukeleto ~~
06:26 Coke ~~
06:27 Coke bacek: I typically run optimized, if that helps.
06:27 Coke (and am now.)
06:27 Coke and zzz.
06:27 cotto 'night, Coke
06:30 khisanth_ joined #parrot
06:33 Khisanth left #parrot
06:37 akashmanohar @Coke: benabik: sent pull request after fixing PCT tutorial Episode-3
06:37 benabik akashmanohar++
06:37 dukeleto akashmanohar: welcome! I haven't seen you around before.
06:37 akashmanohar that's my first commit to an opensource repo. Happy to make it.
06:38 cotto akashmanohar, awesome.  Weclome!
06:38 dukeleto akashmanohar: congrats! It is a good feeling.
06:39 akashmanohar dukeleto: feels good (even tho my mom's shouting at me to hurry up for a family get-together)
06:39 dukeleto cotto: https://spreadsheets0.google.com/viewanalytic​s?formkey=dHhGYjVfMlR4Wldub3luMVlkc3pXR3c6MQ
06:39 benabik akashmanohar: 'tis a good feeling and keeps being so. My mind still boggles a bit when I see my name in git.git.
06:39 dukeleto akashmanohar: :) I hope you stick around and hack on more stuff...
06:39 akashmanohar benabik: git.git? wow. thatc cool.
06:39 dukeleto cotto: that is the people signed up for the python gathering in portland
06:40 dukeleto benabik: i submitted a patch to git.git but I am not sure if it ever made into master
06:40 akashmanohar dukeleto: when i complete the PCT tutorial. I'm going to try writing a memcached library for parrot. Seems like a good start since it's listed as "small" project in the wiki
06:40 cotto dukeleto, cool
06:40 dukeleto akashmanohar: i like the sound of that
06:40 cotto akashmanohar, that's certainly a useful technology.  It's used all over the place.
06:40 benabik dukeleto: Patches there sometimes get bounced around a lot.  And like anything that gets juggled, sometimes they end up on the floor.  ;-)
06:41 dukeleto akashmanohar: definitely send an email to parrot-dev introducing yourself and let people know what you are up to. They will give you good feedback
06:41 dukeleto benabik: yeah, git.git is the definition of "dynamic equilibrium"
06:41 akashmanohar do i need to know some perl to be able to do some more on parrot?
06:41 akashmanohar I come from a ruby background
06:41 akashmanohar dukeleto: thanks!
06:42 dukeleto akashmanohar: no, you don't need to know about perl
06:42 cotto akashmanohar, there's perl, PIR, nqp and C to play with.
06:42 dukeleto akashmanohar: our build system, and certain tests are in perl, but that is it
06:42 dukeleto akashmanohar: you will most likely want to learn PIR and the C API for Parrot
06:43 dukeleto akashmanohar: there is a "cardinal" project which is Ruby on Parrot, you might like
06:43 benabik dukeleto: I see one commit in git.git from you...  Been in since 1.7.3.4  :-)
06:45 dukeleto benabik: i just found it!
06:46 benabik git log --author= is your friend.  :-D
06:48 * dukeleto worked on that commit at the Git Together 2010
06:49 zostay left #parrot
06:57 benabik sleep now
06:57 akashmanohar dukeleto: thanks! PIR and C it is.
06:58 dalek parrot: f8aa652 | (Akash Manohar J)++ | examples/languages/squaak/d​oc/tutorial_episode_3.pod:
06:58 dalek parrot: Removed exercise-1 in PCT Tutorial episode-3. Methods are already being added by the user
06:58 dalek parrot:
06:58 dalek parrot: Signed-off-by: Akash Manohar J <akash@akash.im>
06:58 dalek parrot: Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
06:58 dalek parrot: review: https://github.com/parrot/parrot/commit/f8aa6521a0
06:58 dalek parrot: ae1bd6b | (Akash Manohar J)++ | examples/languages/squaak/d​oc/tutorial_episode_3.pod:
06:58 dalek parrot: added instructions in PCT episode-3 to remove methods for term:sym<integer> and term:sym<quote>
06:58 dalek parrot:
06:58 dalek parrot: Signed-off-by: Akash Manohar J <akash@akash.im>
06:58 dalek parrot: Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
06:58 dalek parrot: review: https://github.com/parrot/parrot/commit/ae1bd6b8b6
06:58 dalek parrot: 98bb38b | dukeleto++ | examples/languages/squaak/d​oc/tutorial_episode_3.pod:
06:58 dalek parrot: Merge branch 'pull_request_124'
06:58 dalek parrot: review: https://github.com/parrot/parrot/commit/98bb38b81a
06:58 dukeleto akashmanohar: there you go, now you actually have your first commit in parrot.git :)
06:58 dukeleto akashmanohar: make a new pull request and add yourself to CREDITS
07:01 akashmanohar dukeleto: you mean edit the CREDITS file and then make another pull request?
07:01 cotto yup
07:01 cotto or nopaste a diff
07:03 akashmanohar thanks.
07:04 dukeleto akashmanohar: tools/dev/nopaste.pl makes that easier
07:04 dukeleto cotto: have you seend tools/dev/merge_pull_request.pl ?
07:05 dukeleto cotto: i just used it and it literally took me 1 minute to merge a pull request, after I reviewed the code
07:05 cotto I saw it, but I didn't grok it.
07:05 cotto merging a pull request is already pretty simple
07:05 dukeleto cotto: you run it like: perl tools/dev/merge_pull_request.pl 124 # merge pull request 124 into a branch
07:05 dukeleto cotto: yes, but too many repetitive steps that take too long, at least for me
07:06 cotto It could come in handy for a large number of pull requests.
07:06 dukeleto cotto: it creates a branch called pull_request_124, which you can run tests on, etc...
07:06 cotto I guess I'm not lazy enough to use it for a single request.
07:06 dukeleto cotto: and then if I like it, i do git checkout master; git merge --no-ff pull_request_124
07:07 fperrad joined #parrot
07:11 cotto dukeleto, have you looked at nqp and its object metamodel?
07:18 cotto I'm thinking about if REPRCommonalities might be a good starting point for the Lorito mop.
07:37 bacek cotto, I think it's better to deprecated current Class/Object and just switch to 6model internally in current parrot.
07:37 cotto bacek, that's part of the plan
07:38 bacek cotto, put deprecation notice now than :)
07:38 dukeleto cotto: i have been watching jnthn++'s commits and trying to understand. I have a vague understanding of s-tables and v-tables
07:38 dukeleto cotto: or whatever they are called
07:38 cotto dukeleto, his documentation is a big help
07:39 dukeleto cotto: lorito MOP is going to be implemented in M0, i.e. M1, correct?
07:39 dukeleto cotto: so we just need to make sure that 6model is implementable in M0 ops, right?
07:39 cotto It'll be implemented in M0 ops,
07:39 cotto yes
07:39 dukeleto sounds like another good litmus test
07:44 ShaneC joined #parrot
07:44 ShaneC are there any more comprehensive docs on pasm than http://docs.parrot.org/parrot/latest/ht​ml/docs/pdds/draft/pdd06_pasm.pod.html ?
07:47 dalek plumage: 8b4b015 | fperrad++ | setup.pir:
07:47 dalek plumage: disutils set by default the Submitter property
07:47 dalek plumage: review: https://github.com/parrot/​plumage/commit/8b4b015d4e
07:48 cotto 'night
07:49 bacek ShaneC, it's pretty much up-to-date. PASM wasn't changed much since.
07:49 bacek cotto, night
07:50 ShaneC bacek: not so much worried about it being out of date, just looking for something a little more in depth
07:50 bacek ShaneC, how deeper you want to go?
07:51 ShaneC if the ops link a the bottom worked, that'd be a good start ;-)
07:52 bacek ShaneC, set ops is quite volatile.
07:52 bacek let me check do we have generated html for it.
07:52 ShaneC is there a .pod in the repository?
07:53 bacek yes
07:53 bacek docs/ops/*pod
07:53 ShaneC thanks, will look around there
07:54 bacek these are generated from sources. So should be most up-to-date :)
08:11 dalek parrot/gen_gc2: 6d54624 | bacek++ | src/ops/ (2 files):
08:11 dalek parrot/gen_gc2: Add WB into "op copy".
08:11 dalek parrot/gen_gc2:
08:11 dalek parrot/gen_gc2: We are fiddling with memory breaking contract with GenGC. Restore it a
08:11 dalek parrot/gen_gc2: bit.
08:11 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/6d54624065
08:11 dalek parrot/gen_gc2: 1f49b91 | bacek++ | src/pmc/class.pmc:
08:11 dalek parrot/gen_gc2: Add WB into Class PMC when we poke into Object guts
08:11 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/1f49b91cc9
08:11 dalek parrot/gen_gc2: 9699c2d | bacek++ | src/pmc.c:
08:11 dalek parrot/gen_gc2: Add WB to pmc_reuse.
08:11 dalek parrot/gen_gc2:
08:11 dalek parrot/gen_gc2: We are breaking contract with GenGC. Restore it a bit.
08:11 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/9699c2d5db
08:11 dalek parrot/gen_gc2: 0474da3 | bacek++ | src/gc/gc_gms.c:
08:11 dalek parrot/gen_gc2: Add one more important step to GenGC algo.
08:11 dalek parrot/gen_gc2:
08:11 dalek parrot/gen_gc2: Now we should handle C-stack nursery objects in a sane way.
08:11 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/0474da3476
08:15 ttbot Parrot 0474da34 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/16960
08:19 dalek parrot/gen_gc2: d37e6c5 | bacek++ | src/gc/system.c:
08:19 dalek parrot/gen_gc2: Add explicit casting to make c++ compiler happy. mj41++ for TapTinder
08:19 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/d37e6c584c
08:20 bacek msg mj41 we can connect TapTinder to github push notifications. Same way as sorear did for dalek
08:20 aloha OK. I'll deliver the message.
08:27 bacek left #parrot
08:31 moritz do we really need a 'repeat' vtable?
08:31 bacek joined #parrot
08:34 dukeleto moritz: i asked myself the same question, writing tests for it
08:34 moritz and... where do I find the list of all vtables?
08:34 dukeleto moritz: if you send an email to parrot-dev, I will share my concerns
08:34 moritz docs/vtables.pod doesn't list the get_*_keyed
08:34 moritz for example
08:34 dukeleto moritz: src/vtable.tbl, of course
08:34 bacek moritz, src/vtables.tbl
08:35 dukeleto bacek: beat ya
08:35 dukeleto moritz: src/extend_vtable.c is also a decent list that has some autogenerated POD
08:35 bacek .oO( bloody humans... I need few upgrades to cope with them )
08:36 moritz humans are bloody inside, that's correct :-)
08:36 bacek moritz, it was I said :)
08:36 bacek msg Coke can you retest partcl on gen_gc? It should be fixed by my latest commits.
08:36 aloha OK. I'll deliver the message.
08:38 moritz also the naming.. get_*string* but get_pmc_keyed_*str*
08:38 bacek meh... Lua is crashing badly on optimized builds...
08:38 bacek moritz, also number, consistency and sanity
08:39 dukeleto moritz: our vtable interface has some horrible naming inconsistencies
08:39 dukeleto moritz: i have literally been writing a test for every vtable function in the leto/embed_grant branch, and it is quite a learning experience
08:40 mj41 msg bacek It's on todo list https://github.com/mj41/TapTinder/issues/11 ... TapTinder needs more developers.
08:40 aloha OK. I'll deliver the message.
08:40 bacek mj41, ~~
08:41 bacek mj41, ok than...
08:41 bacek can you add "make test" step to gen_gc?
08:42 nopaste "bacek" at 192.168.1.3 pasted "msg Coke this is my current test results." (9 lines) at http://nopaste.snit.ch/32621
08:42 bacek bah :)
08:43 bacek msg Coke this is my current test results http://nopaste.snit.ch/32621
08:43 aloha OK. I'll deliver the message.
08:43 bacek fperrad, ping
08:45 mj41 bacek Update test results web page https://github.com/mj41/TapTinder/issues#issue/12
08:46 bacek mj41, bah! :)
08:47 mj41 bacek but not problem to prioritize issues as real demand require
08:49 bacek mj41, I think pushes are lower priority anyway. make test will be much more useful.
08:53 mj41 bacek I know but I would like to have ttbot faster than dalek :-).
08:53 bacek mj41, good idea. Unfortunately TT has to compile a lot of code before report.
08:54 bacek mj41, did you speak to Coke (?) about using GCC compile farm?
08:55 bacek http://trac.parrot.org/parrot/ticket/1825
08:55 bacek mj41, this one. It was actually dukeleto
08:56 bacek dukeleto, I think we can use GCC compile farm as TapTinder clients.
08:59 bacek no. I actually think we _should_ use GCC farm for TapTinder (right now :)
09:00 dalek nqp/match-nom: 3a80453 | moritz++ | src/ (2 files):
09:00 dalek nqp/match-nom: try to implement exists_keyed* vtable overrides by adopted copy & paste
09:00 dalek nqp/match-nom: review: https://github.com/perl6/nqp/commit/3a80453155
09:01 dukeleto bacek: sure. Make it simple to install.
09:01 bacek dukeleto, meh. I'm working on strategy. Small tactical problems isn't in my sight
09:02 bacek :)
09:06 jsut joined #parrot
09:07 akashmanohar is this an error? http://pastie.org/1569791
09:08 dukeleto akashmanohar: yes :)
09:08 dukeleto akashmanohar: something is wrong in Actions.pm
09:09 akashmanohar dukeleto: in this episode http://docs.parrot.org/parrot/latest/html/examples​/languages/squaak/doc/tutorial_episode_3.pod.html should "statement_list" actually be "statementlist"?
09:10 jsut_ left #parrot
09:11 akashmanohar else IMO the TOP method in Actions.pm would also have to be changed to use "statement_list" and the method statementlist should be renamed to statement_list.
09:13 akashmanohar dukeleto: am I thinking right? this is Grammar.pm https://github.com/SingAlong/squaak​/blob/master/src/Squaak/Grammar.pm and Actions.pm https://github.com/SingAlong/squaak​/blob/master/src/Squaak/Actions.pm after Exercise-5 of Episode-3
09:14 fperrad bacek, pong
09:14 dukeleto akashmanohar: yes, those seem to be some typos
09:15 bacek fperrad, I'm epically failing to fix Lua on optimized build of gen_gc...
09:15 dukeleto akashmanohar: i would say change them all to statement_list
09:15 dukeleto bacek: try harder
09:15 akashmanohar dukeleto: for readability sake? ya. that nice.
09:15 bacek fperrad, any clues where to look at? Some direct poking into PMC attributes, etc.
09:16 dukeleto akashmanohar: you need to read https://github.com/parrot/parrot/blob​/master/docs/project/git_workflow.pod
09:16 dukeleto akashmanohar: you are making all your commits to your master branch
09:17 dukeleto akashmanohar: which makes pull requests get messed up
09:17 akashmanohar dukeleto: sorry. i havent merged the ep3 branch to my master. i linked you to the wrong files.
09:17 dukeleto akashmanohar: no worries, there is no way you could have known :)
09:17 akashmanohar dukeleto: ah. any guidelines I have to read before making pull requests to parrot repo?
09:17 dukeleto akashmanohar: but basically, make a branch for each feature/documentation/bugfix that you want to send to us
09:17 dukeleto akashmanohar: yes, https://github.com/parrot/parrot/blob​/master/docs/project/git_workflow.pod :)
09:18 akashmanohar dukeleto: thanks
09:18 dukeleto akashmanohar: there is a section about branching so you can send pull requests
09:18 dukeleto akashmanohar: let me know if you have questions
09:18 akashmanohar sure
09:19 akashmanohar dukeleto: Merged episode3 now and pushed. Now this is Grammar.pm https://github.com/SingAlong/squaak​/blob/master/src/Squaak/Grammar.pm and Actions.pm https://github.com/SingAlong/squaak​/blob/master/src/Squaak/Actions.pm after Exercise-5 of Episode-3
09:19 * dukeleto cheats and uses https://github.com/SingAlong/parrot/commit/68​125839cd82f787c975ae4f659952df5ed8ce69.patch to get akashmanohar's CREDIT patch
09:20 akashmanohar should I close pull requests after they are pulled?
09:20 dalek parrot: bf75b03 | (Akash Manohar J)++ | CREDITS:
09:20 dalek parrot: added Akash Manohar to CREDITS for foxing PCT tutorial episode-3
09:20 dalek parrot:
09:20 dalek parrot: Signed-off-by: Akash Manohar J <akash@akash.im>
09:20 dalek parrot: Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
09:20 dalek parrot: review: https://github.com/parrot/parrot/commit/bf75b03d6d
09:20 dukeleto akashmanohar: sure, if you see that they have not been auto-closed
09:21 dukeleto akashmanohar: sometimes, if you change something in the pull request, github isn't smart enough to auto-close it
09:21 akashmanohar closed the pull request I made.
09:21 dukeleto akashmanohar: foxing :)
09:21 akashmanohar foxing? :)
09:21 dukeleto akashmanohar: your commit message had 'foxing' instead of 'fixing', no worries :)
09:22 akashmanohar haha.
09:22 tadzik I'll have to change my "fixed-faxed" line to "fixed-foxed" :)
09:22 dukeleto akashmanohar: which languages do you speak, if I may ask ? In addition to English and Ruby :)
09:23 akashmanohar Tamil and Kannada if you mean to ask human languages. But that 'foxing' was due to a hurry.
09:24 akashmanohar dukeleto: were you refering to human languages?
09:24 dukeleto akashmanohar: would you be interested in translating any of our website/README/documentation to Tamil or Kannada ?
09:24 dukeleto akashmanohar: both :)
09:25 dukeleto akashmanohar: we are always interested in translating basic documents to new spoken languages, so it makes it easier for developers of all languages to use and hack on parrot
09:25 akashmanohar dukeleto: I can do Tamil. My written kannada is limited to reading bus destination boards. I can also do Hindi if you like.
09:25 dukeleto akashmanohar: Tamil and Hindi sound good to me :)
09:26 dukeleto akashmanohar: take a look at docs/translations
09:26 dukeleto akashmanohar: those are all translations of our README, if you could add translations for Hindi and Tamil, that would be amazing
09:26 akashmanohar I'll start with Hindi. Readme would suffice?
09:27 dukeleto akashmanohar: yes, sounds awesome
09:27 dukeleto akashmanohar: you said you wanted to write a memcached library for Parrot?
09:27 akashmanohar beautiful. I just saw there are 6 translations.
09:27 dukeleto akashmanohar: an interface to memcached, rather
09:27 dukeleto akashmanohar: yes, we had some Google Code-In students that wrote a few translations
09:28 akashmanohar cool.
09:28 dukeleto akashmanohar: there are more, they live in branches in git, and have not been merged to master because they need a bit more polish
09:28 dukeleto akashmanohar: or maybe we should just merge them.
09:28 akashmanohar dukeleto: maybe merge them and then let others fix the translations?
09:28 dukeleto akashmanohar: have you used memcached much? From Ruby or other languages?
09:28 dukeleto akashmanohar: that is the hope
09:29 akashmanohar dukeleto: used memcached once in a python web app
09:30 dukeleto akashmanohar: i think getting parrot access memcached sounds awesome. You will want to read about our NCI (Native Call Interface) subsystem
09:30 akashmanohar my experience with memcached is limited tho. I used it on appengine. Should I know anything else to write the memcached library (ofcourse i'll playaround with libmemcached before writing the library but anything else?)
09:31 dukeleto akashmanohar: that is how you call functions in compiled libraries
09:31 akashmanohar I tried googling for the Parrot C API. anywhere I can find docs for it?
09:31 dukeleto akashmanohar: not much, really you just need to understand what code is responsible for managing memory
09:32 dukeleto akashmanohar: you will want to look at some similar examples in our repo. We have bindings to mysql, postgresql, opengl, etc...
09:32 akashmanohar cool.
09:32 dukeleto akashmanohar: you can actually do what you want from PIR
09:33 akashmanohar ya i love the way the babysteps PIR book is written.
09:33 dukeleto akashmanohar: hopefully :)
09:33 jsut_ joined #parrot
09:33 akashmanohar :)
09:33 dukeleto akashmanohar: Parrot Babysteps website?
09:33 akashmanohar ya
09:34 dukeleto akashmanohar: yes, I helped write some of the testing blog posts :)
09:34 dukeleto akashmanohar: examples/nci/
09:34 akashmanohar oh :)
09:35 dukeleto akashmanohar: i hope they work. They should have tests, but some don't :)
09:35 ShaneC left #parrot
09:35 akashmanohar trial-and-error is always there :)
09:35 dukeleto akashmanohar: runtime/parrot/library/Pg.pir is probably better
09:36 akashmanohar ya a PIR example maybe be nicer than writing C.
09:36 dukeleto akashmanohar: http://docs.parrot.org/parrot/latest/html/​docs/pdds/draft/pdd16_native_call.pod.html <-- this is mostly about C
09:36 dukeleto akashmanohar: also, we use libffi if you have it, so Parrot can basically do anything libffi can do, if you have it ;)
09:37 dukeleto akashmanohar: but of course, watch out for huge craters carves by herds of hair-laden yaks :)
09:37 dukeleto s/carves/carved/
09:37 akashmanohar i'm pretty much new to desktop programming.
09:37 dukeleto akashmanohar: what else have you done?
09:38 jsut left #parrot
09:38 akashmanohar the last time i worked on something that sits on desktop is try PHP-GTK bindings. That was maybe 5yrs ago.
09:38 dukeleto akashmanohar: examples/pir/ would also be good for you to look at, lots of simple and medium PIR examples
09:39 akashmanohar dukeleto: so all parrot libraries that need to be cross-language have to be written in PIR or C? Can't be done via another language implemented on parrot?
09:39 dukeleto akashmanohar: basically, you use dlfunc to tell PIR how to call a C/C++ function
09:40 dukeleto akashmanohar: you can write it in any language, and then generate PIR or Parrot Bytecode (PBC), so it doesn't have to be interpreted every time
09:40 dukeleto akashmanohar: any parrot language, that is
09:40 dukeleto akashmanohar: which we call High Level Languages (HLLs)
09:40 akashmanohar like Cardinal?
09:40 dukeleto akashmanohar: yes, Cardinal is an HLL
09:41 nopaste "fperrad" at 192.168.1.3 pasted "bacek, my current error output, the Multiple Dispatch error is very strange" (19 lines) at http://nopaste.snit.ch/32658
09:41 dukeleto akashmanohar: Rakudo is an HLL, and NQP is also an HLL, but it is in some sense, the lowest HLL :)
09:41 dukeleto akashmanohar: NQP is the language that Rakudo Perl 6 is mostly implemented in
09:41 akashmanohar it would be cool to see something like NQPwith ruby's syntax.
09:42 bacek fperrad, it's because of "add $P0, $P1, $P2". $P0 is LuaNumber. And it's already collected by GC...
09:42 dukeleto akashmanohar: there are many possibilities with parrot :)
09:42 dukeleto akashmanohar: i must get to sleep, but have fun, ask questions in here and on the parrot-dev mailing list, and welcome :)
09:43 akashmanohar dukeleto: thanks for being paitent with the pull requests tragedy and good night :)
09:51 dalek parrot: 8df50db | dukeleto++ | docs/project/git_workflow.pod:
09:51 dalek parrot: [doc] Add section about the amazing new merge_pull_request.pl
09:51 dalek parrot: review: https://github.com/parrot/parrot/commit/8df50db529
09:52 mj41 back
09:52 mj41 bacek Is there a way to do parallel make? tapir2 do normal make in less than 3 minutes.
09:52 bacek mj41, make -jN
09:52 bacek where N is number of cpus + 1
09:52 akashmanohar can anyone help with this? https://github.com/SingAlong/squaak​/blob/master/src/Squaak/Actions.pm says Routine declaration requires a signature at line 21, near "($\\) {\n  m"
09:53 akashmanohar Stuck at Episode-3 and just completed exercise-5
09:53 bacek akashmanohar, wrong slash.
09:53 akashmanohar oh... silly
09:53 akashmanohar i was staring at the slashes for about 5mins and still couldnt figure out what that was.
09:54 akashmanohar bacek: thanks
09:54 lucian joined #parrot
09:54 bacek akashmanohar, "$/" is just variable name. "\" starts "escape sequence". Something like "\n"
09:55 fperrad_ joined #parrot
09:58 fperrad left #parrot
09:58 fperrad_ is now known as fperrad
10:01 bacek akashmanohar, $<foo> is basically a shortcut for $/.{'foo'}
10:02 akashmanohar bacek: got this https://gist.github.com/829119 after episode-3 and it doesnt match the PIR given in the episode's solutions.
10:02 dalek nqp: 99575b9 | moritz++ | / (2 files):
10:02 dalek nqp: implement NQPMu.{new,BUILDALL,MAGIC_BUILD}. Tests.
10:02 dalek nqp:
10:02 dalek nqp: The latter is a hack to get attribute initialization working in classes that
10:02 dalek nqp: don't define their own BUILD submethod.
10:02 dalek nqp:
10:02 dalek nqp: Lack automatic BUILD calling.
10:02 dalek nqp: review: https://github.com/perl6/nqp/commit/99575b9e03
10:04 bacek akashmanohar, try --target=parse to check parse tree. And --target=past to check generated PAST tree. Most likely mis-naming of Action methods
10:04 akashmanohar parse tree is empty
10:04 akashmanohar installable_squaak --target=parse -e "x=42" returns just the prompt.
10:05 akashmanohar seems like i'll have to check the methods once again.
10:05 nopaste "fperrad" at 192.168.1.3 pasted "bacek, partial bt" (19 lines) at http://nopaste.snit.ch/32661
10:06 bacek fperrad, up x 2. p t_1->flags & b_PObj_on_free_list_FLAG. It will show that t_1 is collected.
10:08 particle joined #parrot
10:10 particle1 left #parrot
10:10 lucian_ joined #parrot
10:11 nopaste "fperrad" at 192.168.1.3 pasted "bacek, gdb" (9 lines) at http://nopaste.snit.ch/32662
10:13 lucian left #parrot
10:15 bacek fperrad, exactly...
10:19 dalek parrot/gen_gc2: 176db42 | bacek++ | src/pmc/nci.pmc:
10:19 dalek parrot/gen_gc2: Move WB after we changed NCI guts.
10:19 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/176db42de1
10:19 dalek parrot/gen_gc2: a632e65 | bacek++ | src/gc/gc_gms.c:
10:19 dalek parrot/gen_gc2: Change PARROT_ASSERT to Parrot_confess to enable GC validation in
10:19 dalek parrot/gen_gc2: optimized builds.
10:19 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/a632e65fdd
10:19 dalek parrot/gen_gc2: bca9850 | bacek++ | src/gc/gc_gms.c:
10:19 dalek parrot/gen_gc2: Temporary enable GC validation in optimized builds.
10:19 dalek parrot/gen_gc2:
10:19 dalek parrot/gen_gc2: Lua is failing badly. I suspect rakudo and partcl aren't patched fully.
10:19 dalek parrot/gen_gc2: And not all yaks shaved in our codebase yet.
10:19 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/bca9850e6a
10:20 bacek fperrad, I'm going to bed soon. My latest 2 commits will help with catching these bugs.
10:22 dalek parrot/gen_gc2: 916ea75 | bacek++ | src/gc/gc_ (2 files):
10:22 dalek parrot/gen_gc2: Made pobj2gen non static to be available in optimized builds.
10:22 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/916ea75471
10:22 bacek fperrad, 3 commits actually :)
10:25 lucian_ left #parrot
10:30 nopaste "fperrad" at 192.168.1.3 pasted "bacek, new output" (146 lines) at http://nopaste.snit.ch/32665
10:31 bacek fperrad, yes. It was a point of my latest commits... Now I have to figure out why it's happens...
11:05 lateau left #parrot
11:17 dalek TT #2015 created by mstevens++: minor pod lint
11:17 dalek TT #2015: http://trac.parrot.org/parrot/ticket/2015
11:24 mstevens joined #parrot
11:25 * mstevens popped in to grumble about trac
11:29 kj joined #parrot
11:30 kj is now known as kjs
11:36 dalek TT #2016 created by mstevens++: Improve spelling on docs/submissions.pod
11:36 dalek TT #2016: http://trac.parrot.org/parrot/ticket/2016
11:36 mstevens I also wanted to know if that's the right sort of thing when it comes to tickets
11:46 Kapace left #parrot
11:54 kjs left #parrot
12:01 akashmanohar left #parrot
12:56 mtk left #parrot
12:57 mtk joined #parrot
13:12 akashmanohar joined #parrot
13:29 akashmanohar I have a grammar and actions file here https://gist.github.com/829346 according to Episode-3 of the Squaak tutorial. I checked the method names in Actions.pm and everything seems to be right.
13:43 whiteknight joined #parrot
13:45 sri left #parrot
13:47 dalek parrot-container: 46c7a04 | Whiteknight++ | .gitignore:
13:47 dalek parrot-container: +.gitignore
13:47 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/46c7a043d2
13:47 dalek parrot-container: d3ac676 | Whiteknight++ | / (4 files):
13:47 dalek parrot-container: rearrange some files
13:47 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/d3ac676eed
13:47 dalek parrot-container: c87b4d1 | Whiteknight++ | / (8 files):
13:47 dalek parrot-container: lowercase folder names
13:47 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/c87b4d168e
13:50 sri joined #parrot
13:53 akashmanohar I have a grammar and actions file here https://gist.github.com/829346 according to Episode-3 of the Squaak tutorial. I checked the method names in Actions.pm and everything seems to be right.
13:53 akashmanohar anyone on that?
13:58 Coke msg bacek my results on partcl-nqp match yours.
13:58 aloha OK. I'll deliver the message.
14:03 atrodo akashmanohar> It's rather slow around here this time of day.  Can you gist t/00-sanity.t ?
14:07 akashmanohar atrodo: no problem. i'll gist it
14:07 akashmanohar atrodo: https://gist.github.com/829346 (edited the same gist).
14:08 akashmanohar I remember someone mentioning around 3 months back that the sanity file was testing for something wrong at this state of the code (upto episode-3)
14:09 akashmanohar shouldnt t/00-sanity.t contain somthing like "a = 1" etc at this point of the tutorial (episode-3)?
14:11 rurban_ joined #parrot
14:11 atrodo I've never actually done the tutorial before, so I'm shooting in the dark
14:11 atrodo Does it work if you take the comment out of t/00?
14:13 akashmanohar atrodo: ah no. just removing the comment in t/00 doesnt work. it throws some more errors.
14:13 rurban left #parrot
14:14 rurban_ is now known as rurban
14:14 akashmanohar atrodo: I'm following this workflow: edit Actions/Grammar and then do parrot setup.pir and then parrot setup.pir test. is that right? Or do i have to do anything else to compile?
14:15 atrodo akashmanohar> I believe that's correct.  It looks like it's running, just not able to parse it
14:15 atrodo akashmanohar> As I look at the grammar, I don't see how t/00 would parse.  The statement rule only has assignments defined, there's no expression or function call rule
14:16 akashmanohar atrodo: according to episode-3, "say" shouldnt work since that's being removed from the rules.
14:16 akashmanohar exactly. should i add instructions to episode-3 to change the test file too?
14:16 Coke msg bacek same failure mode with parrot.master
14:16 aloha OK. I'll deliver the message.
14:23 atrodo akashmanohar> Good question.  At the very least, the testing the parser section could use to be more clear on what to test the parser on, since you can't test the parser with t/00
14:23 akashmanohar atrodo: the files src/gen_* are generated by parrot automatically?
14:24 dalek parrot: a0818f6 | (Gerd Pokorra)++ | NEWS:
14:24 dalek parrot: add NEWS template
14:24 dalek parrot: review: https://github.com/parrot/parrot/commit/a0818f6726
14:24 atrodo akashmanohar> Good question
14:27 akashmanohar atrodo: also found a typo in the tutorial. "statement_list" should be "statementlist"
14:28 atrodo akashmanohar> I'm not positive, but it looks like src/gen_* are created by PCT
14:29 akashmanohar guess so since src/gen_grammar.pm contain statementlist instead of statement_list even after doing parrot setup.pir && parrot setup.pir test
14:29 benabik atrodo: You are correct.
14:29 atrodo benabik> Thanks, it's good to be correct
14:29 akashmanohar atrodo: benabik: thanks
14:29 akashmanohar :)
14:30 benabik file.pm is turned into gen_file.pir by NQP.
14:31 benabik akashmanohar: No idea if this will help you, but I wrote up most of my understanding of PCT for school.  It's intended for people halfway through a grad class in compilers, but should be mostly understandable to anyone.  http://www.cs.rit.edu/~bcg278​4/Courses/20102/Compiler/PCT/
14:32 akashmanohar benabik: thanks! i'll go thru it.
14:33 PerlJam benabik: I just skimmed that and it looks very useful in general to compiler writers that want to target parrot.  Do you have that linked from parrot.org or would you consider wikifying it so that others can contribute and update it as needed??
14:34 atrodo I agree, it looks like good information from what I've skimmed so far
14:36 benabik PerlJam: 1) parrot.org is a wiki?  (I is clueless sometimes.)  2) It's currently written in Markdown and part of a github repo...  I'll happily put it up anywhere people find convenient.
14:38 PerlJam benabik: parrot.org is Drupal and can be used in a wiki-like manner :)
14:38 PerlJam benabik: but you have to have an account.
14:40 akashmanohar k. i changed everything from statementlist to statement_list
14:41 akashmanohar http://pastie.org/1570666 and those are my results
14:41 akashmanohar sad that every month I try parrot I get stuck at episode-3 and stop :) (done this 3 times already)
14:42 benabik akashmanohar: I found the documentation on PCT to be a bit lacking and occasionally confusing.  Although I'll admit the first thing I found was something very old on wikibooks, not the tutorial.
14:44 akashmanohar benabik: agree. the first thing I found via google was the wikipedia one.
14:45 akashmanohar and someone here tipped me 'bout the one in the parrot docs.
14:48 akashmanohar Can someone look into the PCT tutorial episode-3? I tried fixing it. But seems like it's out of my understanding.
14:48 akashmanohar benabik: just skimmed the first page of the presentation you pointed me to. Is that something that can be used as an alternative to the Squaak tutorial?
14:49 benabik akashmanohar: Which bit in particular?
14:49 akashmanohar or is it complementary?
14:49 darbelo joined #parrot
14:49 atrodo akashmanohar> I checked out your squaak repo and didn't get the error you pasted
14:49 benabik akashmanohar: It's not a tutorial, per se...  But it does walk through writing a language.
14:49 benabik akashmanohar: It just does everything for you instead of having any exercises.
14:50 akashmanohar atrodo: oh does the parse tree and pir generate fine for x=42?
14:50 lateau joined #parrot
14:50 akashmanohar benabik: that's fine too :)
14:50 atrodo akashmanohar> Looks like it.  The tests don't run obviously, but I don't get any syntax errors
14:51 akashmanohar atrodo: ya I get no syntax errors here too. but doing x=42 doesnt add 42 to the parse tree.
14:51 atrodo akashmanohar> Oh, I misunderstood then.  What command are you running?
14:52 akashmanohar atrodo: ./installable_squaak --target=pir -e "x = 42"
14:52 lucian joined #parrot
14:52 akashmanohar that'll give the PIR. which doesnt match the one in the episode-3 (the one generated doesnt contain the integer and the var name)
14:53 akashmanohar atrodo: and then ./installable_squaak --target=parse, then in the console typing "x=42" will generate a parse tree, which again outputs only regex matches (using the -e option to pass the expression doesnt output parse tree).
14:54 akashmanohar I have no idea if the output is supposed to be correct according to parrot3. can anyone verify this fact?
14:54 atrodo From first glace, the parse tree looks right
14:54 akashmanohar atrodo: can you pastie it?
14:54 atrodo But you're right, the pir output is wrong
14:55 atrodo https://gist.github.com/829495
14:56 akashmanohar atrodo: oh. cool! so the code in the repo are right until episode-3. Anything that should be done to correct the output PIR?
14:57 Coke atrodo: you say the pir output is wrong, but show the parse output.
14:58 Coke aloha, source?
14:58 aloha Coke: source is https://github.com/bacek/aloha
14:58 atrodo Coke> Yea, I was saying that what I was seeing sounded like what akashmanohar was seeing
14:58 benabik method statement_list is wrong.
14:59 atrodo That is, no assignments in the output at the PIR level
14:59 benabik rule statement_list has no statement subrule, but method statement_list uses $<statement>
15:00 benabik It should be using $<stat_or_def>
15:00 atrodo Changing it to stat_or_def does make the pir output correct
15:01 akashmanohar atrodo: can you please mention the change?
15:02 benabik src/Squaak/Actions.pm, line 9, s/statement/stat_or_def
15:02 atrodo akashmanohar> benabik beat me to it
15:02 akashmanohar :)
15:03 akashmanohar also which should be run first parrot setup.pir and parrot setup.pir test? or the other way?
15:04 akashmanohar atrodo: benabik thanks! worked fine
15:04 atrodo Should be that way, but I think just running test will do what you need
15:04 benabik akashmanohar: Which you changed rule statement_list (in Grammar.pm) to say <stat_or_def>*, you also needed to change method statement_list (in Actions.pm) to use $<stat_or_def> instead of $<statement>
15:06 akashmanohar benabik: oh. just verified that the instruction is missing in the tutorial.
15:06 akashmanohar benabik: should i add it?
15:06 benabik akashmanohar: If you find something missing, add it.  :-D
15:06 benabik akashmanohar: I was going to give the tutorial a once over at some point, but I'm lacking tuits.
15:07 akashmanohar thanks. i'll first need to go thru the workflow guidelines in the wiki. seems like my pull request earlier today created a mess.
15:07 akashmanohar benabik: also there's something I noticed. I'll refrain from making that change since I dont understand parrot internals.
15:08 akashmanohar Here's that...
15:08 akashmanohar when a language is generated there's a method called "statementlist" and the tutorial episode-3 mentions replacing the rule "statementlist" with another called "statement_list".
15:10 akashmanohar but dukeleto suggested changing the names of everything else "statementlist" to "statement_list" for readablility sake, which would mean that the tools that generate the sample language would also have to use "statement_list" instead of "statementlist". Else the tutorial episode-3 would be broken
15:10 akashmanohar or a simpler job... just changing the name of the new rule being added here http://docs.parrot.org/parrot/latest/html/examples​/languages/squaak/doc/tutorial_episode_3.pod.html to statementlist
15:10 akashmanohar benabik: ^
15:11 akashmanohar I seem to be talking a lot (apologies if that sounds confusing. i'll explain again if needed).
15:12 benabik akashmanohar: dukeleto suggested renaming things in the starting language shell, you mean?
15:13 * benabik should have remember to have breakfast before trying to think.
15:14 akashmanohar benabik: ok i'll just fix the typo and add instructions in the tutorial to change the method statement_list to use <stat_or_def>.
15:14 benabik akashmanohar: Yeah, adding that instruction would be good.  Should be added same place statement_list is added.
15:15 akashmanohar benabik: well, let me explain again.
15:15 akashmanohar right now what's broken in ep3 is that it asks to replace the rule statementlist with another statement_list rule (with code given)
15:15 benabik right
15:15 akashmanohar but the language generated (by default) uses statementlist in TOP rule and method.
15:16 akashmanohar (underscore missing)
15:16 akashmanohar leaving aside the one missing instruction which we discussed.
15:17 akashmanohar the tutorial would still generate an error coz rule & method TOP uses statementlist and not statement_list.
15:18 akashmanohar so either the tool that generates the squaak language shuold be changed to generate it with statement_list or the tutorial's new rule should use statementlist instead of statement_list
15:18 benabik Right.  I agree, one of those should happen.  :-D
15:19 akashmanohar benabik: omg. finally i could explain well :)
15:21 akashmanohar has tools/dev/mk_language_shell.pl been renamed to *.in ?
15:22 benabik akashmanohar: It generates .pl from .in, I think.
15:22 akashmanohar ah cool. i found out what to change to generate statement_list instead of statementlist. seems like a simple edit
15:23 benabik akashmanohar: I was just about to push a commit to do so myself.  :-D
15:24 akashmanohar benabik: well, let me make my first technical commit :P
15:24 benabik akashmanohar: Go ahead.
15:24 akashmanohar benabik: I forked the parrot repo earlier this morning and made a pull request. now how do i update it to include commits from the main repo?
15:25 atrodo git pull --no-ff origin/master
15:25 atrodo sorry, no
15:26 atrodo git pull --rebase origin/master
15:26 akashmanohar atrodo: origin points to my fork
15:26 akashmanohar and according to github's wiki there's should be an upstream remote added when i clone a fork and it's not been added. weird
15:26 cotto_work ~~
15:27 atrodo akashmanohar> link?
15:27 benabik akashmanohar: You forked parrot via github, then cloned from your fork?
15:27 akashmanohar benabik: ya
15:27 benabik akashmanohar: I don't see how you'd end up with anything linking back to the original then.
15:27 akashmanohar benabik: http://help.github.com/forking/
15:28 atrodo me either, which is why i'm curious about the github link
15:28 akashmanohar "To help you keep track of that repo we will add another remote named “upstream”:"
15:28 benabik Right, and then it gives you commands to do so.
15:28 atrodo Yep, the git remote add does that
15:28 benabik in this case: git remote add upstream git://github.com/parrot/parrot.git
15:28 akashmanohar atrodo: oh. i thought git clone for a fork will automatically contain upstream as one of my remotes
15:29 benabik Then you can "git pull --rebase upstream master"
15:29 atrodo akashmanohar> Nope, git doesn't have enough mana to cast that magic
15:30 akashmanohar :)
15:31 cotto_work busy morning
15:34 atrodo cotto_work> The magic is happening.  or something
15:34 akashmanohar so what's the convention to create branches with fixes?
15:34 whiteknight good morning, #parrot
15:34 akashmanohar should i create different branches for a documentation fix and tools fix
15:34 whiteknight ...and good morning aloha!
15:35 akashmanohar whiteknight: good morning!
15:35 atrodo whiteknight> You've got mail, and lots of it
15:35 whiteknight hell akashmanohar. How are you doing today?
15:35 whiteknight atrodo: I only have one message from aloha, and relatively little email today
15:35 whiteknight am I supposed to have more?
15:35 akashmanohar whiteknight: been a really awesome day. I made my first commit to an opensource repo (fixed episode-3 in PCT tutorial) and makiny a couple more fixes
15:36 atrodo whiteknight> Oh, I thought I saw several msg whiteknight's when I was backlogging this morning.  nevermind
15:38 whiteknight akashmanohar: congratulations! first commit day is a very awesome day
15:39 * cotto_work prepares for backscroll
15:41 darbelo ~~
15:42 cotto_work good morning, darbelo
15:43 darbelo Good $localtime, cotto_work.
15:45 lateau1 joined #parrot
15:46 lateau left #parrot
15:59 akashmanohar sent two pull requests https://github.com/parrot/parrot/pull/126 and https://github.com/parrot/parrot/pull/127
16:00 akashmanohar one contains a change in tools/mk_language_shell.in and another a fix for episode-3 which adds instructions to replace a method to get right output at the end of the tutorial.
16:00 * cotto_work looks
16:01 akashmanohar github seems to have included the other commits for which my pull request was accepted in the morning. So I mentioned the commit hash containing the changes in the respective pull requests.
16:02 cotto_work I saw that.
16:02 moritz akashmanohar: you can just create a new branch for a pull request
16:03 akashmanohar cotto_work: motriz ya i created new branches "SingAlong/branchname" for the changes
16:04 akashmanohar but checked those branches from my forked repo and then made a commit. guess that was the mistake
16:11 cotto_work akashmanohar: the pct tutorial already says to replace statementlist with the statement_list specified in the tutorial.  Where's the inconsistency?
16:12 akashmanohar cotto_work: ok let me explain.
16:12 cotto_work ah.  Your other commit fixes that.
16:12 akashmanohar cotto_work: ya.
16:12 cotto_work Since those are related changes, they should go in the same pull request.
16:12 akashmanohar cotto_work: we had a discussion here (atrodo and benabik) about the changes.
16:13 akashmanohar cotto_work: so the convention for pull requests for fixes is to create a branch with the name "username/branchname"? are there any conventions about the branch names?
16:14 akashmanohar cotto_work: sorry. making pull requests for the first time in my life today. i'll stick to conventions.
16:14 cotto_work akashmanohar: the username convention is recommended when you're experimenting or when you don't expect other people to hack on the branch.  I should clarify that.
16:15 akashmanohar cotto_work: what would branchnames be like? (for example the one for changes in my request)
16:16 cotto_work akashmanohar: something short that describes what you're working on.  pct-tutorial-ep3-fix would work
16:16 akashmanohar ok. will follow that from here on.
16:17 Psyche^ joined #parrot
16:17 Patterner left #parrot
16:17 Psyche^ is now known as Patterner
16:22 dalek parrot: 7769cf2 | (Akash Manohar J)++ | / (2 files):
16:22 dalek parrot: various pct tutorial fixes and consistency improvements from akashmanohar++
16:22 dalek parrot:
16:22 dalek parrot: Signed-off-by: Christoph Otto <christoph_github@mksig.org>
16:22 dalek parrot: review: https://github.com/parrot/parrot/commit/7769cf2812
16:23 cotto_work there you go
16:24 akashmanohar cotto_work: thanks! :)
16:24 cotto_work thank you for contributing
16:24 akashmanohar cotto_work: my pleasure! having fun doing it.
16:24 lateau1 left #parrot
16:29 akashmanohar left #parrot
16:33 whiteknight akashmanohar++
16:39 mib_r57nrf joined #parrot
16:40 mib_r57nrf left #parrot
17:02 Andy joined #parrot
17:04 mtk left #parrot
17:11 mtk joined #parrot
17:12 cotto left #parrot
17:13 cotto_work networkmanager--
17:14 lucian_ joined #parrot
17:17 cotto_work msg akashmanohar You also don't need to sign off on your own commits.  That's used for when you didn't write a commit but want to indicate that you've reviewed it.
17:17 aloha OK. I'll deliver the message.
17:17 lucian left #parrot
17:23 lucian joined #parrot
17:26 lucian_ left #parrot
17:36 lucian_ joined #parrot
17:40 lucian left #parrot
17:47 dalek parrot/gen_gc2: 04ae1b1 | cotto++ | / (2 files):
17:47 dalek parrot/gen_gc2: smarten up auto::gc a bit, remove reference to TMS gc
17:47 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/04ae1b1a96
17:56 lucian joined #parrot
18:00 lucian_ left #parrot
18:05 ambs joined #parrot
18:10 mstevens left #parrot
18:19 lucian_ joined #parrot
18:20 cotto_work whiteknight: ping
18:21 whiteknight pong
18:21 cotto_work whiteknight: what are your thoughts on hard-coding the gc at configure time?  I think I remember you mentioning something like that at some point.
18:22 lucian__ joined #parrot
18:22 whiteknight I think that's going to be our long-term solution
18:22 lucian left #parrot
18:22 whiteknight the extra level of indirection to be calling GC API routines through function pointers is wastefull
18:22 dalek nqp: 15ba2db | moritz++ | src/NQP/Grammar.pm:
18:22 dalek nqp: allow <*> in proto regex body
18:22 dalek nqp: review: https://github.com/perl6/nqp/commit/15ba2dbca9
18:22 whiteknight it's not a huge drain right now, but it's not free
18:22 cotto_work I suspect it'll be a good idea to hold off until gms is more solid, but I like the idea.
18:23 cotto_work maybe post 3.3
18:23 whiteknight I think we should set it up like the platform-specific IO functions. We have multiple GC files all implementing a common API, and pick between them using #defines
18:23 cotto_work yes
18:24 cotto_work that's how I pictured it
18:25 lucian_ left #parrot
18:25 darbelo There might be a use case for picking the right gc at start-up time, but I sincerely doubt we're at that point yet.
18:28 darbelo The ruby VM IIRC can take several gc parameters from environment variables.
18:28 cotto_work runtime tuning is different from runtime gc selection
18:29 darbelo Yes, but no amount of tuning will ever beat picking the right gc.
18:31 darbelo Anyway, I don't think parrot has matured to the point where that kind of runtime pluggability will pay off.
18:32 cotto_work That's a pretty safe conclusion for the time being.
18:38 frodwith left #parrot
18:39 frodwith joined #parrot
18:43 dalek parrot-container: 74440fd | Whiteknight++ | / (3 files):
18:43 dalek parrot-container: move some utility methods from Container to ParrotContainer, since they have general usefulness. Add a new default_container method to ParrotContainer, which allows you to have a readily-available global container if you want
18:43 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/74440fdfce
18:43 dalek parrot-container: 65efa8b | Whiteknight++ | container/ (2 files):
18:43 dalek parrot-container: add in a register_factory_method routine, so we can set up a custom factory method for building new objects
18:43 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/65efa8b62d
18:43 dalek parrot-container: 2235df7 | Whiteknight++ | container/ (2 files):
18:43 dalek parrot-container: Container::Item -> ItemBuilder
18:43 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/2235df76ad
18:43 dalek parrot-container: 5d74dc9 | Whiteknight++ | / (5 files):
18:43 dalek parrot-container: cleanup some file names
18:43 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/5d74dc9355
18:46 plobsing I'd like to see a comparison before a final decision is taken about runtime pluggable GC. I don't think the indirection costs us much of anything given that the branch always goes one way and can be 100% accurately predicted.
18:46 NotFound There are such things as final decisions?
18:47 theory joined #parrot
18:47 plobsing one place that does cost us is GC implementation calling back into the API (separate file) which prevents inlining that should occur
18:49 cotto_work plobsing: of course.  We won't make that kind of change without measuring the benefit.
18:49 lucian__ plobsing: i'd say having different GCs available is important, but i think changing them on-the-fly is silly and useless
18:49 whiteknight no, we certainly can't change them at runtime. That is absurd
18:49 plobsing I'm all for it if it gives decent benefits. I'm just saying I question the current line of reasoning.
18:49 whiteknight at least, not after interp initialization
18:51 atrodo There's a question.  Would two interps under two different threads what two different GCs?
18:51 lucian__ plobsing: at the very least at compile-time
18:51 lucian__ atrodo: i would think the distinction would be more fitting at the process level
18:52 lucian__ for example, dalvik's GC is quite slow, but it uses very little memory and is good at sharing
18:52 whiteknight no, all interps under the same process must have the same GC, or same GC type
18:52 lucian__ the jvm's default gc is extremely fast, but has a large memory overhead
18:52 lucian__ real-time platforms need incremental gcs
18:52 lucian__ and so on
18:52 darbelo lucian, and wouldn't it be nice if you could pick one of them at start-up time?
18:53 cotto_work Multiple GCs are great.  The question is when libparrot decides which one to use.
18:54 plobsing it would be nifty if we could convince the dynamic linker to manage that for us based on some startup time parameter
18:54 lucian__ darbelo: yes, it would
18:54 NotFound You can pick one before startup time... by executing a different interpreter
18:54 cotto_work plobsing: e.g LD_PRELOAD=./libparrot-gc-gms.so parrot foo.pbc ?
18:54 lucian__ but as NotFound points out, it may not be quite THAT useful
18:54 plobsing well yes, that could work. but less clunky would be nice
18:55 lucian__ i think it would be useful to see how the JVM does it
18:55 NotFound lucian__: jave does it with a lot of money.
18:55 NotFound java
18:55 cotto_work s/does/did/
18:56 lucian__ NotFound: and what did that money buy?
18:56 lucian__ perhaps the underlying idea isn't expensive, just the gcs themselves
18:56 NotFound lucian__: developers and testers
18:57 lucian__ NotFound: i'm not convinced choosing the gc at startup is that expensive
18:58 NotFound lucian__: I'm not convinced there aren't lots of other things to work on before that.
18:58 lucian__ NotFound: sure, that's a good point
19:01 NotFound I think that in order to evaluate gc strategies using different interpreters is a good enough way, at least for a now.
19:03 cotto_work whiteknight: most interesting blog post about parrot-conatiner
19:03 tadzik yeah, whiteknight++
19:03 whiteknight thanks!
19:04 whiteknight I've got a huge list already of things I'm planning to do with it
19:04 cotto_work I very much appreciate the example nqp code.  The concept is pretty abstract and would be hard to grok without it.
19:05 tadzik btw, the example nqp code shows re resolving the objects themselves, what about resolving types, like you mentioned in the C# example?
19:07 whiteknight tadzik: That's what resolution is: I pass in a type or type name ("String") and receive back an instance of that type
19:07 whiteknight the types are the keys, not the values returned
19:10 vmspb joined #parrot
19:10 donaldh joined #parrot
19:10 tadzik I see
19:11 cotto_work I like that you're doing it in mostly-pure nqp.
19:11 tadzik I'm looking forward to a DI workshop here so I'll understand all of this :)
19:12 whiteknight tadzik: It's actually much easier than it sounds.
19:12 tadzik probably. I tend to hear it's a natural thing under a scary name
19:12 whiteknight just think about it like a very flexible Factory pattern
19:13 whiteknight you say "Give me an X", and the container gives you one according to the rules you've set up
19:13 whiteknight you could get an existing one or a new one, it could be initialized or uninitialized, etc
19:13 tadzik nice
19:13 whiteknight but basically it's just a factory for making stuff
19:16 bacek ~~
19:18 tadzik o/
19:21 dalek parrot/gen_gc2: 0dd4207 | bacek++ | src/pmc/lexpad.pmc:
19:21 dalek parrot/gen_gc2: Add write barrier to LexPad PMC when it poke into CallContext registers.
19:21 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/0dd42070b9
19:25 plobsing left #parrot
19:31 donaldh left #parrot
19:33 dalek parrot/gen_gc2: 4ede1ca | bacek++ | src/gc/gc_gms.c:
19:33 dalek parrot/gen_gc2: Warp gc_gms_validated_objects so we can validate GMS in optimized builds.
19:33 dalek parrot/gen_gc2:
19:33 dalek parrot/gen_gc2: Use C<perl Configure.pl --optimize --ccflags="-DPARROT_GC_VALIDATE"> to
19:33 dalek parrot/gen_gc2: enable validation.
19:33 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/4ede1cab86
19:49 lucian joined #parrot
19:49 dalek parrot/gen_gc2: a133c63 | bacek++ | src/gc/gc_gms.c:
19:49 dalek parrot/gen_gc2: Remove accidentally committed line.
19:49 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/a133c63ec6
19:52 lucian__ left #parrot
19:56 dalek parrot/gen_gc2: 2f168ec | bacek++ | src/extend.c:
19:56 dalek parrot/gen_gc2: Add write barrier to Parrot_set_pmcreg.
19:56 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/2f168ec349
19:56 dalek parrot/gen_gc2: 5f1d8d9 | bacek++ | src/extend.c:
19:56 dalek parrot/gen_gc2: Add write barrier to Parrot_set_strreg
19:56 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/5f1d8d9fa1
19:57 dmalcolm joined #parrot
19:57 bacek msg fperrad Lua doesn't fail with "Dead object found" assertion anymore. But luatable.t still segfaults. I suspect we have to throw few more write barriers into Lua/parrot.
19:57 aloha OK. I'll deliver the message.
19:58 bacek msg To reproduce segfault - revert  a133c63ec6. It will force GC to collect every 1MB of allocations.
19:58 aloha OK. I'll deliver the message.
19:58 tadzik ENOFPERRAD
19:59 bacek msg fperrad To reproduce segfault - revert  a133c63ec6. It will force GC to collect every 1MB of allocations.
19:59 aloha OK. I'll deliver the message.
19:59 bacek tadzik, thanks! :)
19:59 tadzik :)
19:59 bacek msg Coke Good to hear that gen_gc2 doesn't introduce more bugs to partcl :)
19:59 aloha OK. I'll deliver the message.
19:59 bacek afk # morning duties, $dayjob
20:12 dukeleto ~~
20:13 tadzik o/
20:15 dukeleto tadzik: top of the localtime() to you
20:27 lucian_ joined #parrot
20:30 lucian left #parrot
20:35 mikehh left #parrot
20:35 mikehh joined #parrot
20:51 rdesfo joined #parrot
20:54 nwellnhof joined #parrot
20:55 bacek_at_work ~~
20:56 dalek nqp-rx: 3090e41 | moritz++ | src/NQP/Grammar.pm:
20:56 dalek nqp-rx: allow <*> as proto regex body
20:56 dalek nqp-rx: review: https://github.com/perl6/nqp-rx/commit/3090e41170
20:57 Coke aloha, source?
20:57 aloha Coke: source is https://github.com/bacek/aloha
21:03 lucian_ left #parrot
21:07 plobsing joined #parrot
21:15 dalek TT #2005 closed by bacek++: Parrot no longer builds on Darwin/PPC
21:15 dalek TT #2005: http://trac.parrot.org/parrot/ticket/2005
21:18 dalek parrot-instrument: 6eb4723 | Whiteknight++ | t/library/IGNORE:
21:18 dalek parrot-instrument: Add a dummy ignore file in a new directory for the sake of one of our tests
21:18 dalek parrot-instrument: review: https://github.com/Whiteknight/pa​rrot-instrument/commit/6eb47232cb
21:18 dalek parrot-instrument: 00aea75 | Whiteknight++ | / (2 files):
21:18 dalek parrot-instrument: two quick fixes for initializing an oplib
21:18 dalek parrot-instrument: review: https://github.com/Whiteknight/pa​rrot-instrument/commit/00aea75a6c
21:22 whiteknight left #parrot
21:25 cotto_work brain shutting down... too much exposure to cvs
21:45 dalek parrot/nwellnhof/unicode_dynpmcs: f664da7 | nwellnhof++ | src/ (2 files):
21:45 dalek parrot/nwellnhof/unicode_dynpmcs: Fix typos
21:45 dalek parrot/nwellnhof/unicode_dynpmcs: review: https://github.com/parrot/parrot/commit/f664da77d2
21:45 dalek parrot/nwellnhof/unicode_dynpmcs: 8bb3de1 | nwellnhof++ | t/dynpmc/os_unicode.t:
21:45 dalek parrot/nwellnhof/unicode_dynpmcs: [t] More Unicode filename tests
21:45 dalek parrot/nwellnhof/unicode_dynpmcs: review: https://github.com/parrot/parrot/commit/8bb3de145a
21:47 ttbot Parrot 8bb3de14 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/18382
21:51 ttbot Parrot 8bb3de14 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/18408
21:52 atrodo cotto_work> happens everytime i type cvs
21:53 cotto_work atrodo: me too
21:53 cotto_work I usually don't even have to type it.
21:54 atrodo cotto_work> huh, what were we talking about again?
21:54 cotto_work ice cream
21:55 atrodo I like ice cream.  There's a small hole in the wall (literally) ice cream place near here called "hold the nuts"
21:56 dalek parrot/gen_gc2: 973a074 | bacek++ | lib/Parrot/Pmc2c/PCCMETHOD.pm:
21:56 dalek parrot/gen_gc2: Add more write barriers. PCC METHOD returns early when we have RETURN() statement.
21:56 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/973a07404d
21:57 donaldh joined #parrot
22:06 fperrad left #parrot
22:09 NotFound Historic moment: winxedxx has compiled and run its first non trivial program: examples/hexdump.winxed
22:10 tadzik nice!
22:11 rurban_ joined #parrot
22:13 rurban left #parrot
22:14 rurban_ is now known as rurban
22:16 dukeleto NotFound++
22:22 toei left #parrot
22:25 dalek parrot/nwellnhof/unicode_dynpmcs: 9f51ff2 | nwellnhof++ | / (2 files):
22:25 dalek parrot/nwellnhof/unicode_dynpmcs: Make find_encoding "platform" work
22:25 dalek parrot/nwellnhof/unicode_dynpmcs:
22:25 dalek parrot/nwellnhof/unicode_dynpmcs: And make Unicode filename test check for UTF-8 support on Linux
22:25 dalek parrot/nwellnhof/unicode_dynpmcs: review: https://github.com/parrot/parrot/commit/9f51ff2ec9
22:25 dalek parrot/nwellnhof/unicode_dynpmcs: 6de456e | nwellnhof++ | / (5 files):
22:25 dalek parrot/nwellnhof/unicode_dynpmcs: Add configure checks for st_atim and st_atimespec
22:26 dalek parrot/nwellnhof/unicode_dynpmcs:
22:26 dalek parrot/nwellnhof/unicode_dynpmcs: Darwin uses st_atimespec
22:26 dalek parrot/nwellnhof/unicode_dynpmcs: review: https://github.com/parrot/parrot/commit/6de456e398
22:28 NotFound Stripped size of the generated binary with runtime library incldued (stdc++ dynamicaly linked) 94656 bytes. Not bad.
22:29 darbelo left #parrot
22:30 toei joined #parrot
22:32 ttbot Parrot 9f51ff2e i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/18528
22:34 dalek parrot/nwellnhof/unicode_dynpmcs: d57ddd2 | nwellnhof++ | / (2 files):
22:34 dalek parrot/nwellnhof/unicode_dynpmcs: codingstd fixes
22:34 dalek parrot/nwellnhof/unicode_dynpmcs: review: https://github.com/parrot/parrot/commit/d57ddd2b2c
22:35 darbelo joined #parrot
22:37 ambs left #parrot
22:37 AndChat joined #parrot
22:38 darbelo left #parrot
22:39 dalek parrot/nwellnhof/unicode_dynpmcs: a717d6f | nwellnhof++ | / (123 files):
22:39 dalek parrot/nwellnhof/unicode_dynpmcs: Merge branch 'master' into nwellnhof/unicode_dynpmcs
22:39 dalek parrot/nwellnhof/unicode_dynpmcs:
22:39 dalek parrot/nwellnhof/unicode_dynpmcs: Conflicts:
22:39 dalek parrot/nwellnhof/unicode_dynpmcs: src/dynpmc/os.pmc
22:39 dalek parrot/nwellnhof/unicode_dynpmcs: review: https://github.com/parrot/parrot/commit/a717d6fd13
22:42 AndChat is now known as NotFound_b
22:42 * NotFound_b playing with my tablet
22:43 dukeleto NotFound: which one?
22:44 NotFound_b Toshiba folio 100
22:46 AndChat joined #parrot
22:46 NotFound_b left #parrot
22:46 NotFound Timeout too short
22:47 AndChat left #parrot
22:48 nwellnhof mj41: ping
22:48 plobsing left #parrot
22:50 ttbot Parrot 6de456e3 MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/18602
22:50 NotFound_b joined #parrot
22:53 nopaste "donaldh" at 192.168.1.3 pasted "msg bacek: gen_gc2 branch and compiling Rakudo" (41 lines) at http://nopaste.snit.ch/32804
23:00 ttbot Parrot 9f51ff2e i386-freebsd-64int make error http://tt.taptinder.org/cmdinfo/18636
23:01 Andy left #parrot
23:01 ttbot Parrot a717d6fd MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/18632
23:02 nwellnhof aloha msg mj41: i saw that ttbot reports about commits to branches other than master. is there a way to get a buildstatus overview for those branches?
23:02 aloha nwellnhof: OK. I'll deliver the message.
23:04 bacek_at_work donaldh, on which platform this happens?
23:04 NotFound_b left #parrot
23:04 bacek_at_work donaldh, Darwin/i386?
23:04 donaldh Yep.
23:05 donaldh bacek_at_work: yep, known problem?
23:05 bacek_at_work donaldh, nope.
23:05 donaldh bacek_at_work: anything I can do to debug?
23:06 bacek_at_work donaldh, is it on latest gen_gc branch?
23:06 bacek_at_work donaldh, and rakodo was realcleaned?
23:08 donaldh It's latest on gen_gc2
23:09 lucian joined #parrot
23:09 bacek_at_work donaldh, sigh... I hoped I fixed it by my latest commit.
23:09 donaldh just realcleaned rakudo again.
23:09 donaldh Answers later.
23:10 bacek_at_work donaldh, can you run "grep -c WRITE_BARRIER src/pmc/perl6multisub.c" in rakudo checkout? It should return 24.
23:11 NotFound That's the problem: the answer should be 42
23:12 dukeleto But what is the question?
23:13 donaldh Sorry, just reconfiguring and rebuilding rakudo
23:13 bacek_at_work NotFound, :)
23:13 bacek_at_work donaldh, you can check it after rebuild
23:14 donaldh Yes, I will do and let you know.
23:14 NotFound I discovered the question some time ago. The question is "What was the age of Lewis Carrol when he wrote 'The haunting of the snark'?"
23:15 dukeleto The question is actually "What was the question?"
23:15 NotFound hunting
23:16 Coke http://www.boingboing.net/2011/​02/16/hackerfed-seeks-hack.html
23:16 donaldh grrr, parrot says it's 3_0_0 and rakudo wants 3_1_0
23:17 donaldh bacek_at_work, what rakudo ver should I checkout
23:17 bacek_at_work donaldh, HEAD
23:17 bacek_at_work donaldh, ah. Better to rm old parrot install manually
23:20 plobsing joined #parrot
23:21 donaldh bacek_at_work: parrot says it's version 3_0_0 and rakudo HEAD now wants version 3_1_0
23:22 bacek_at_work donaldh, hmm. Let me check.
23:22 whiteknight joined #parrot
23:22 bacek_at_work Looks like Rakudo was updated to 3.1 release
23:22 donaldh Yep, yesterday by the look of it.
23:22 lucian_ joined #parrot
23:25 whiteknight what is GC validation mode?
23:26 bacek_at_work whiteknight, that we don't have referenced dead objects after collect
23:26 dalek parrot/gen_gc2: e7bab1f | mikehh++ | / (3 files):
23:26 dalek parrot/gen_gc2: increment version number to 3.1.0
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/e7bab1fd54
23:26 dalek parrot/gen_gc2: 272bcdb | mikehh++ | docs/p (2 files):
23:26 dalek parrot/gen_gc2: change history and release docs
23:26 lucian left #parrot
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/272bcdb46e
23:26 dalek parrot/gen_gc2: 4b37667 | mikehh++ | / (3 files):
23:26 dalek parrot/gen_gc2: update NEWS, CREDITS and ChangeLog
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/4b37667ff3
23:26 dalek parrot/gen_gc2: 6dbdffb | mikehh++ | / (2 files):
23:26 dalek parrot/gen_gc2: update core ops
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/6dbdffbd9d
23:26 dalek parrot/gen_gc2: 011d460 | cotto++ | NEWS:
23:26 dalek parrot/gen_gc2: add Daniel Kang to list of gci students in NEWS
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/011d4603fb
23:26 dalek parrot/gen_gc2: 09c8748 | cotto++ | api.yaml:
23:26 dalek parrot/gen_gc2: remove "fast-tracked" from api.yaml.  A better solution was found at #ps
23:26 bacek_at_work donaldh, try to pull again. I updated branch to master
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/09c874891e
23:26 dalek parrot/gen_gc2: 819c259 | cotto++ | api.yaml:
23:26 dalek parrot/gen_gc2: deprecations are eligible in 3.4, not 3.3
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/819c259d27
23:26 dalek parrot/gen_gc2: 004ca87 | (Akash Manohar J)++ | examples/languages/squaak/d​oc/tutorial_episode_3.pod:
23:26 dalek parrot/gen_gc2: Removed exercise-1 in PCT Tutorial episode-3. Methods are already being added by the user
23:26 dalek parrot/gen_gc2:
23:26 dalek parrot/gen_gc2: Signed-off-by: Akash Manohar J <akash@akash.im>
23:26 dalek parrot/gen_gc2: Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/004ca87254
23:26 dalek parrot/gen_gc2: b46e8be | (Akash Manohar J)++ | examples/languages/squaak/d​oc/tutorial_episode_3.pod:
23:26 dalek parrot/gen_gc2: added instructions in PCT episode-3 to remove methods for term:sym<integer> and term:sym<quote>
23:26 dalek parrot/gen_gc2:
23:26 dalek parrot/gen_gc2: Signed-off-by: Akash Manohar J <akash@akash.im>
23:26 dalek parrot/gen_gc2: Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/b46e8bed29
23:26 dalek parrot/gen_gc2: bcae48f | (Akash Manohar J)++ | CREDITS:
23:26 dalek parrot/gen_gc2: added Akash Manohar to CREDITS for foxing PCT tutorial episode-3
23:26 dalek parrot/gen_gc2:
23:26 dalek parrot/gen_gc2: Signed-off-by: Akash Manohar J <akash@akash.im>
23:26 dalek parrot/gen_gc2: Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/bcae48ff88
23:26 dalek parrot/gen_gc2: 8d35155 | dukeleto++ | docs/project/git_workflow.pod:
23:26 dalek parrot/gen_gc2: [doc] Add section about the amazing new merge_pull_request.pl
23:26 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/8d35155bed
23:26 dalek parrot/gen_gc2: 65ce889 | (Gerd Pokorra)++ | NEWS:
23:27 whiteknight I'll do a complete test run here. clang, gcc, g++, and icc, with/without --optimize
23:27 dalek parrot/gen_gc2: add NEWS template
23:27 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/65ce889722
23:27 dalek parrot/gen_gc2: b48afc8 | (Akash Manohar J)++ | / (2 files):
23:27 dalek parrot/gen_gc2: various pct tutorial fixes and consistency improvements from akashmanohar++
23:27 dalek parrot/gen_gc2:
23:27 dalek parrot/gen_gc2: Signed-off-by: Christoph Otto <christoph_github@mksig.org>
23:27 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/b48afc8a39
23:28 bacek_at_work whiteknight, excellent!
23:29 donaldh bacek_at_work: thanks. I have it.
23:29 donaldh thankfully parrot doesn't take long to build.
23:29 bacek_at_work donaldh, erm.. It will not help.
23:29 bacek_at_work RELEASE_3_0_0-1001-gb48afc8
23:30 contingencyplan_ joined #parrot
23:30 lucian joined #parrot
23:30 contingencyplan_ left #parrot
23:30 lucian left #parrot
23:30 bacek_at_work donaldh, can you just comment out check in rakudo Configure.pl?
23:30 ttbot Parrot 4b37667f i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/18745
23:31 donaldh yes, will do.
23:32 ttbot Parrot a717d6fd MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/18719
23:33 lucian_ left #parrot
23:34 donaldh bacek_at_work: I now have 24 write barriers in perl6multisub.c
23:35 bacek_at_work donaldh, it's good... You should have clean rakudo build. At least I hope so.
23:35 lucian joined #parrot
23:41 khisanth_ is now known as Khisanth
23:42 ttbot Parrot 4b37667f i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/18801
23:45 donaldh bacek_at_work: win! I have a rakudo build.
23:45 donaldh bacek++
23:48 whiteknight test failures here
23:50 dukeleto yay!
23:54 cognominal left #parrot
23:55 bacek_at_work whiteknight, nopaste?
23:55 whiteknight http://smolder.parrot.org/app​/projects/report_details/9855
23:55 whiteknight my test script is still running. I'll post the test output in a little bit
23:55 whiteknight clang does not seem to like it (same failures wit/without --optimize)
23:56 bacek_at_work whiteknight, strange failures...
23:57 bacek_at_work whiteknight, which platform?
23:58 whiteknight ubuntu 10.10, amd64
23:58 cognominal joined #parrot
23:58 whiteknight no icu, no gmp
23:58 bacek_at_work whiteknight, sigh. Looks like my latest update to master broke branch.
23:58 whiteknight w00t
23:59 whiteknight i'll stop testing

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced