Camelia, the Perl 6 bug

IRC log for #parrot, 2011-04-03

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 whiteknight I had to dig out my o'reilly python book, o'reilly javascript book, and my dragon book
00:01 whiteknight I imagine I am going to be referencing all of those this summer
00:02 NotFound I have a Dungeons and Dragons book, does that count?
00:02 whiteknight almost
00:02 whiteknight compiler of +5 intellegence
00:02 whiteknight lexical analyzer of +12 charisma
00:04 NotFound Charisma in lexical analyzer... never thought of that.
00:06 cotto NotFound, did you think that "char" meant "character"?
00:07 bubaflub cotto: and int is intelligence
00:07 NotFound He
00:07 NotFound I don't think I want to hear what float is.
00:08 cotto buoyancy
00:21 mikehh joined #parrot
00:28 bacek joined #parrot
00:35 dalek Rosella/gh-pages: 877893e | Whiteknight++ | libraries/future.md:
00:35 dalek Rosella/gh-pages: short blurb about how a library becomes stable
00:35 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/877893ece1
00:35 dalek Rosella: 01b12d8 | Whiteknight++ | / (2 files):
00:35 dalek Rosella: Add tests for memoize/Memoize. Also, add better diagnostics to Assert::output_is
00:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/01b12d8799
00:35 dalek Rosella: b243214 | Whiteknight++ | / (5 files):
00:35 dalek Rosella: add stub tests for container-related things
00:35 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/b24321435f
00:38 bacek left #parrot
00:48 bacek joined #parrot
00:50 benabik_ cotto: bacek: ping
00:55 mikehh left #parrot
00:55 cotto benabik_, pong
00:56 benabik_ cotto: Finished my GSoC proposal for a bytecode generator. You were listed as a possible mentor. https://gist.github.com/899867
00:57 whiteknight I may like that idea the best of all your proposals so far
00:57 whiteknight I mean, I like it the most personally. All your proposals are good
00:57 cotto same here
00:58 benabik_ May still write up a couple others. Like to give people choices. :-)
00:59 whiteknight of course, as soon as we say you should work on that for the summer, bacek is going to fly in from out of nowhere and implement the whole project in an afternoon
00:59 benabik_ Although it took too long to find time to write one.
00:59 whiteknight benabik: the downside to having many proposals is that we can only accept one.
00:59 cotto benabik_, can you put your proposals on melange?
00:59 benabik_ whiteknight: that'd be interesting, although pesky.
01:00 benabik_ cotto: Will do when I get home.
01:00 cotto benabik_, thank you
01:00 benabik_ Finished it just in time to run out the door.
01:00 whiteknight yes, we need more proposals submitted to melange
01:00 cotto whiteknight, most likely
01:01 benabik_ whiteknight: I wouldn't write up one I wouldn't like to do. And a long as I can do one, I'm happy.
01:01 cotto having someone else implement POST->pbc would give us a better bus number
01:01 whiteknight at the moment, we still don't know exactly how many students are going to apply, and we don't know how many slots we are going to get from Google
01:02 whiteknight I sincerely hope the first number is smaller than the second number
01:04 mikehh joined #parrot
01:09 dalek Rosella: a0e0ade | Whiteknight++ | t/decorate/ (2 files):
01:09 dalek Rosella: add stub tests for decorate
01:09 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/a0e0adefa2
01:09 dalek Rosella: 34d6828 | Whiteknight++ | t/decorate/ (3 files):
01:09 dalek Rosella: add in some stub test methods. A new file to test end-to-end decoration
01:09 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/34d6828f61
01:16 bubaflub whiteknight: i think we've got a good history of success and esp. with the high school program doing well
01:16 whiteknight yeah, that's what dukeleto says too. All we can do is hope
01:20 jsut_ joined #parrot
01:25 jsut left #parrot
01:50 cotto dukeleto, ping
01:50 whiteknight left #parrot
02:35 contingencyplan left #parrot
04:05 soh_cah_toa left #parrot
04:08 bubaflub left #parrot
04:42 hudnix left #parrot
05:06 cotto ~~
05:35 benabik_ left #parrot
05:50 JimmyZ joined #parrot
05:53 JimmyZ left #parrot
07:08 plobsing left #parrot
07:13 plobsing joined #parrot
07:22 davidfetter left #parrot
07:33 jimmy joined #parrot
07:40 jimmy left #parrot
08:18 jrt4 left #parrot
09:09 ShaneC left #parrot
09:33 luben left #parrot
10:01 contingencyplan joined #parrot
10:09 bacek left #parrot
10:27 lucian joined #parrot
10:28 bacek joined #parrot
10:44 lucian 'morning
10:44 * lucian dislikes hangovers
10:45 tadzik WHY GOOD MORNING LUCIAN!
10:45 whiteknight joined #parrot
10:46 lucian tadzik: is that something in your pants or are you just very happy to see me?
10:46 tadzik my pants are fine, thank you
10:49 lucian good. that wasn't very funny, i kniw
10:49 lucian it just felt vaguely appropriate
10:57 lucian tadzik: http://www.antipope.org/charlie/blog-sta​tic/fiction/toast/toast.html#antibodies
11:00 tadzik lucian: what's that?
11:02 lucian tadzik: an interesting book
11:02 lucian in dead-tree terms, i've just made you a present of a book :)
11:02 tadzik oh, thank you :)
11:03 tadzik I'll add it to my toread
11:03 lucian tadzik: i think you can make it an epub if you happen to have a reader
11:03 tadzik unfortunately no, I don't
11:03 lucian you should. i got one it's one of the best things i've ever bought
11:03 lucian sony prs-350
11:03 tadzik but that remnds me of some library books I should've given back a week ago or so
11:03 lucian heh
11:04 * lucian is glad to have been helpful
11:04 tadzik well, an ssd goes first, then a rifle, and then I'll see :)
11:04 lucian heh
11:04 lucian no, for me reader > ssd >>>>>>>>>>>>>>> any weapon
11:05 tadzik What about a blackpowder 17.5 mm 19th Century Rifle? :)
11:07 lucian i see no use for it
11:07 tadzik and I need a new disk, the existing one recently got a tendency to evaporate my data
11:07 lucian as nice as that would be
11:07 lucian i see, in that case i concur that ssd > reader
11:07 tadzik oh it's quite fun for recontructing 19th centyury battles
11:07 lucian i can imagine
11:08 * moritz prefers lasers
11:08 moritz comes with my job :-)
11:08 tadzik your job is to participate 19th century battles equipped with a laser? :)
11:08 tadzik that _would_ be quite outstanding :)
11:09 moritz and involve time travel :-)
11:09 lucian tadzik: futurama-style
11:09 lucian the sithil wars!
11:09 moritz no, my job involves lasers
11:09 * tadzik has never seen futurama
11:10 lucian tadzik: you should when you have time
11:12 tadzik I wonder if I can find it inside my TV cable. I have no TV at home, and I only have TV cable because they weren't selling the internet w/o television
11:13 * lucian has no tv either
11:13 lucian tadzik: if you have tv, just download it
11:13 tadzik I'll probably do that
11:24 whiteknight ls
11:53 lucian Applications        Desktop             Movies              Prog                School
11:53 lucian Books               Documents           Library             Music               Public              Sites
11:53 lucian Parrot              Downloads           Pictures            Rosella      Bar
11:53 lucian white-machine:~ whiteknight$
11:54 Patterner left #parrot
11:55 Psyche^ joined #parrot
11:55 Psyche^ is now known as Patterner
11:58 whiteknight :)
12:02 NotFound whiteknight: You have a Bar at home?
12:02 whiteknight a Bar? no
12:02 NotFound I see it in that listing.
12:12 lucian NotFound: ignore the lies, i have seen the Bar
12:12 lucian also the FOo
12:13 DanielC joined #parrot
12:14 DanielC Hello. Where can I ask a *legal* question about Parrot? I want to ask someone to clarify paragraph (6) of the Artistic License 2.0. That's Parrot's license, so I hope someone here knows someone I can talk to.
12:17 contingencyplan left #parrot
12:19 whiteknight DanielC: I can probably help
12:20 DanielC Great.
12:20 whiteknight I'm pulling up the text of the license now
12:20 whiteknight okay, got it
12:21 DanielC Ok. Paragraph (6) says that you can distribute the modified version in compiled form as long as you follow section 4...
12:21 whiteknight right
12:22 DanielC Does that mean that if I distribute a binary I must *also* do one of (4a) - (4c)?
12:22 DanielC Or is that *only* if I also distribute source?
12:24 whiteknight hm...that actually is a bit confusing in the text
12:24 DanielC Yeah.
12:25 * lucian has only recently got the joke behind the name of said license
12:25 whiteknight okay, that it's looking like is that you have to distinctly name your version, make clear what you've changed about it, and one of 4(a) - 4(c) with the source
12:26 whiteknight i think if you ship the compiled version without source, you still need to make the source available under 4(a) - 4(c)
12:26 clunker9_ is now known as clunker3
12:26 DanielC I'm sure that in practice it's not a problem because (4b) is so easy to comply with, but I like to understand the licenses I sue...
12:26 whiteknight DanielC: oh, is there legal trouble a-brewin'?
12:26 DanielC Nah.
12:27 DanielC It's actually for my own software.
12:27 DanielC I just like knowing what I'm doing :-)
12:27 DanielC Too many people slap a license on their work without even knowing what it says.
12:28 DanielC Anyway, your interpretation is that if I give out a binary, I must also do everything in (4).
12:28 whiteknight If we could go back in time, I'm not sure Parrot would use Artistic 2.0 again
12:28 DanielC Has Parrot had problems with this license?
12:29 whiteknight DanielC: Yes. You don't want to be confusing or conflicting with the standard version, and you want your changes to be freely available, either to the users or directly upstream
12:29 whiteknight no, we haven't had problems with it. Artistic 2.0 is not considered a pervasive or popular standard though
12:29 DanielC Thanks.
12:29 whiteknight In terms of sheer compatibility, GPL2 or GPL3 might be more usable
12:30 DanielC If Parrot had to do it over again, what do you think it might have chosen?  Artistic 2.0 is GPL compatible...
12:30 DanielC Artistic 2.0 is almost BSD-like in what it permits.
12:31 DanielC It only seems to add the minimal requirements of changing the name of the program and not conflicting with the original.
12:32 lucian whiteknight: is AL copyleft? i thought not
12:32 * lucian likes MIT and Apache2
12:32 * DanielC is 99.87% sure AL is not copyletf.
12:33 lucian actually, copyleft licenses are usually mutually exclusive
12:33 lucian i don't quite understand how GPL would've been more compatible
12:33 DanielC lucian: Yes, they are.
12:33 whiteknight lucian: It's not strong-copyleft, no
12:34 whiteknight there are clauses in there 4(c)(i) for instance, which don
12:34 whiteknight t require the share-alike aspects
12:34 DanielC lucian: I never understood why there is a distinction between the MIT and BSD licenses. They look the same to me.
12:34 lucian DanielC: they are, pretty much. MIT is just a bit clearer
12:34 lucian and BSD more popular
12:34 DanielC yeah
12:35 lucian Apache2 is an interesting beast. it has potential patent protection (but never tested), but otherwise quite MIT/BSD-like
12:36 whiteknight MIT license isn't share-alike. BSD license isn't either
12:36 whiteknight er, sorry. BSD is share-alike
12:36 DanielC AL, BSD, MIT and Apache2 are all broadly similar. AL requires that the modified program not conflict with the original, which is nice. Apache adds patent protection, which is also nice.
12:38 DanielC whiteknight: What do yo mean by share-alike? BSD is not copyleft...
12:38 lucian DanielC: AL is slightly
12:38 whiteknight share-alike means that you have to provide your changes under the same license as the original
12:38 * lucian keeps reding AL
12:38 DanielC whiteknight: And BSD is not that.
12:38 whiteknight BSD requires that you duplicate the same copyright notice (license) in the modified version
12:39 * DanielC thinks
12:39 lucian whiteknight: which is a bit odd and slightly inconvenient
12:40 DanielC whiteknight: Why is it that "everyone knows" that BSD is not copyleft if the conditions amount to copyleft?
12:40 whiteknight Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
12:40 whiteknight DanielC: copyleft is more than just the share-alike clause
12:41 DanielC lucian: I don't think a license can be "slightly copyleft" anymore than a person can be a little pregnant. Either the license allows yo to give your modifications under a different license, or it doesn't...
12:41 lucian DanielC: BSD doesn't enforce BSD on derivatives
12:41 lucian DanielC: legalese is much more vague than sperm and eggs
12:41 DanielC whiteknight:  What's the difference between "share-alike" and copyleft?
12:42 whiteknight copyleft typically deals with the ability to make free use of the source, given the executable
12:42 whiteknight at least, that's the traditional understanding of it
12:43 DanielC lucian: I think (4b) is clear enough... That's the AL way of letting you make your modification closed.
12:43 whiteknight BSD license, for instance, doesn't require that you provide the source if you distribute the binary
12:43 NotFound DanielC: AFAIK there is no legal document that defines "copyleft", so its meaning is subject to interpretation.
12:43 whiteknight NotFound: exactly right. Copyleft is more a tongue-in-cheek play on copyrighy, and not a strict legal term
12:43 DanielC NotFound: Well, that's true, but that's true for most words :-)
12:43 whiteknight copyright
12:44 NotFound DanielC: most words are not used in the context of license disucusions.
12:44 * DanielC wonders if there is a legal document that defines "legal" or "document"...
12:44 whiteknight I'm sure there are
12:45 lucian whiteknight: copyrighty sounds awesome
12:45 * DanielC should make a license that includes the words "wallaby" and "hammock"
12:45 lucian DanielC: i'm always surprised how much legalspeak try to be like programming languages
12:46 * lucian thinks they should try Loglan for a change
12:46 lucian or maybe martian
12:46 NotFound lucian: the problem is that they don't have debuggers.
12:46 ambs joined #parrot
12:46 DanielC NotFound: Anyway... Yes, I know that copyleft is not an official term, but I think there is broad agreement on copyleft. At least to the extent that it is "what the GPL does"
12:46 lucian NotFound: i think the problem is that the interpreters/compilers are crap
12:46 whiteknight Contrast BSD with something like GPL3, which requires that derivative works must use exactly the same license, must include the full attribution of the original work, and imposes the same restrictions with respect to front-cover and back-cover texts
12:47 whiteknight GPL3 would also require that source code be made available to any user of a binary version.
12:47 whiteknight BSD only requires the use of the same license. MIT imposes no restrictions
12:47 whiteknight AL imposes some restrictions, but gives latitude in picking which ones
12:48 lucian whiteknight: afaik, BSD doesn't require that
12:48 DanielC whitenight: I am still having trouble figuring out what the BSD requires that is "share-alike"... It says that distributions of either source or binary form must include the copyright notice, and you say that that means the license... That interpretation sounds copylefty-ish to me.
12:48 whiteknight "Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer."
12:48 whiteknight lucian: That's almost all that BSD does
12:49 lucian whiteknight: ah, source redistro. ok
12:49 whiteknight if I take a BSD-licensed software and create a new derivative version of it, I have to release those modifications with the same license declaration
12:49 lucian copyrighty! i'm so gonna write a wikipedia article on that
12:50 lucian whiteknight: uh, no
12:50 whiteknight BSD does appear to be pervasive enough that we could add additional licensing stipulations on top of it, so maybe it isn't purely share-alike
12:50 NotFound DanielC: "a broad agreement" is more or less in the same category of precision as "slightly"
12:52 whiteknight copyleft is typically broken up into strong and weak versions
12:52 lucian and now for something exactly the same http://damnyouautocorrect.com/page/10/
12:52 DanielC The "3-clause BSD" license on Wikipedia says: "(1) Redistributions of source code must retain the .. copyright notice ... (2) Redistributions in binary form must reproduce the .. copyright notice..."
12:52 NotFound lucian: souns like copykitty
12:53 whiteknight DanielC: right
12:53 whiteknight There are generally two types of copyleft: strong and weak
12:53 whiteknight BSD is typically considered an example of weak copyleft
12:53 DanielC What does weak copyleft permit vs strong? What does it prohibit vs MIT?
12:54 lucian i have brand new love for AL 2.0
12:54 whiteknight maybe "typically" is too strong a word
12:54 whiteknight BSD is "occasionally" considered an example of weak copyleft
12:54 NotFound Someone in some place sometime said something like that.
12:54 lucian it's technically copyleft because forks must be BSD or a superset
12:55 DanielC lucian: What does superset mean in this context?
12:56 lucian DanielC: BSD + further restrictions on the side
12:56 lucian if it's simplified BSD, then (L)GPL is a superset
12:57 DanielC Let's see... the BSD lets you impose new restrictions, but you cannot remove existing restrictions, and existing restrictions basically mean keeping the copyright notice with the restriction that you must keep the copyright notice...
12:57 DanielC It sounds almost like a joke.
12:58 DanielC But anyway, did I get it right?
12:58 lucian DanielC: i think so
12:58 whiteknight BSD is basically "Do anything you want with the software, but you MUST include the disclaimer"
12:59 whiteknight BSD is more to protect the author from problems
12:59 DanielC Is the BSD basically a way to make sure you always get credit and a no-liability disclaimer?
12:59 DanielC Ok, that's making more sense now...
12:59 whiteknight BSD doesn't even require credit, as far as I can see
13:00 lucian whiteknight: isn't that implied in reproducing the license?
13:00 DanielC So basically it says, "you must tell everyone in perpetuity that I am not responsible if the software explodes and eats your cat"
13:00 whiteknight right
13:00 DanielC Thanks.
13:01 * lucian helps whiteknight modestly bow
13:01 DanielC :-)
13:02 DanielC This was interesting. I always thought of the BSD as an "do whatever you want" license. I can see that it does have one non-trivial restriction.
13:02 DanielC s/restriction/condition/
13:05 lucian whiteknight: bah, still haven't tried parrot on arm
13:09 mikehh left #parrot
13:16 DanielC left #parrot
13:20 whiteknight lucian: no worries
13:21 lucian bah, the parrot git repo is *GIGANTIG*
13:22 plobsing lucian: but you only have to download the whole thing once
13:23 lucian plobsing: yeah, i know
13:23 hudnix joined #parrot
13:25 whiteknight plobsing: those pod.t failures you are reporting for the imcc branch look weird to me
13:25 whiteknight I don't get the errors on my machine, and they don't appear to be related to anyting i've modified
13:26 plobsing hmmm... not sure where they could be comming from.
13:26 * lucian loves silent computers
13:27 plobsing I suspect that there is one test that segfaults or something causing TAP errors in all subsequent tests
13:27 whiteknight actually, when I run that file manually I do see some erors
13:27 whiteknight weird
13:27 plobsing whiteknight: are you running fulltest?
13:27 whiteknight yes
13:30 whiteknight these fragments that are failing are marked as PIR_FRAGMENTINVALID
13:30 whiteknight PIR_FRAGMENT_INVALID
13:30 whiteknight so they should be todo'd
13:31 whiteknight no wait, not all of them
13:33 whiteknight ah wait, I think I know what's going on
13:33 whiteknight IMCC is throwing more exceptions out into Parrot, instead of just returning a 1/0 failure bit
13:33 whiteknight so a lot of fragments which are INVALID are not being marked as such, but are now being caught as errors
13:35 whiteknight marking uncompilable fragments as INVALID should fix the error
13:35 lucian noway this 800mhz machine can function normally while compiling
13:36 mikehh joined #parrot
13:36 NotFound lucian: try using nice
13:37 lucian NotFound: no, i mean it's fully functional and i can't quite believe it
13:37 lucian doesn't even have a lot of cpu cache
13:38 NotFound Compiling C, PIR, or both?
13:38 lucian NotFound: parrot
13:39 NotFound Amazing.
13:44 dalek winxed: r924 | NotFound++ | trunk/winxedst1.winxed:
13:44 dalek winxed: class declarations without body in stage 1
13:44 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=924
13:44 lucian NotFound: it is slow at compiling, though
13:45 NotFound plobsing: ping
13:45 whiteknight plobsing: I've fixed all the pod.t test failures locally, but the test is still reporting out-of-order TAP symbols, which I don't understand
13:45 kid51 joined #parrot
13:47 plobsing whiteknight: I'm not sure what to do about that. Maybe run with prove -v and pick through with a fine-toothed comb?
13:48 whiteknight plobsing: maybe. I'm not too worried about i
13:48 whiteknight this is a perl test, using Perl's test libraries. So I dont think it has anything to do with IMCC
13:48 NotFound plobsing: I think r924 us what you asked several weeks ago.
13:48 NotFound s/us/is
13:51 lucian whiteknight: parrot built on arm. running make test
13:51 whiteknight really? I'm impressed and incredulous
13:52 plobsing NotFound: sweet
13:53 lucian whiteknight: i think this netbook is magic
13:53 NotFound plobsing: you can use class A.B; or namespace A { class B; }
13:53 whiteknight lucian: If there are GC-related problems, they would manifest at runtime
13:54 lucian whiteknight: yeah, i imagined. let's see what make test figures
13:55 whiteknight blah, t/pmc/threads.t failed because I used TEST_JOBS=5
13:55 whiteknight I hate that test
13:55 whiteknight one day, under cover of darkness, I'm going to delete it outright and not tell anybody
13:56 whiteknight and nobody is ever going to notice that we're not supposed to be getting random failures from a poorly-written test file for our poorly-written threads system
13:56 lucian aren't threads dead yet?
13:57 whiteknight only in my fantasies
13:57 * lucian pulls up a chair, fetches popcorn and turns on whiteknight's fantasies
13:57 lucian for Turing's sake, that sounded so wrong
13:57 whiteknight they aren't nearly as interesting as the fantasies of other men my age
13:58 whiteknight also, it's weird that so many of them involve Parrot, and not, for instance, the cover of the swimsuit edition
13:58 mikehh whiteknight: hey I noticed and said much about it :-}
13:58 whiteknight mikehh: I know, you'll be my accomplice and confidant
13:59 lucian whiteknight: hmm. mine involve homoiconic self-recursive meta-circular non-s-expression languages
13:59 lucian oh, and girls
13:59 lucian hmm, how many failures am i supposed to get in make test?
14:00 mikehh whiteknight: we seriously need a thread safe parrot - and the tests too :-}
14:01 lucian mikehh: i'd be fine with thread-safe and thread-less until the jit settles down
14:03 plobsing a variant of threads would be possible once we have thread-safety
14:03 plobsing specifically, you could spawn another interp as a shared-nothing thread
14:05 lucian plobsing: and have a IPC-but-for-threads for explicit sharing?
14:05 plobsing lucian: yeah, that would work
14:05 lucian how would languages with full sharing semantics work?
14:06 plobsing in fact, that's one of the things ØMQ provides
14:06 plobsing lucian: I'm not sure. I'm not trying to come up with a full solution.
14:06 plobsing I'm saying we could get a first approximation for much less
14:07 lucian true. and a useful one
14:07 * lucian hates sharing mutable data
14:07 plobsing lucian hates (FTFY)
14:07 lucian heh
14:08 lucian well, there are relatively few things that i outright hate
14:16 lucian am i supposed to get test failures on osx?
14:16 kid51 No
14:17 lucian kid51: should i write a ticket?
14:22 whiteknight plobsing: I can't run fulltest, because t/perl/Parrot_Test.pl fails mysteriously on my system
14:22 whiteknight but other tests run individually do not fail
14:23 dalek parrot/whiteknight/imcc_compreg_pmc: 8efe43e | Whiteknight++ | docs/ (7 files):
14:23 dalek parrot/whiteknight/imcc_compreg_pmc: IMCC is now better about reporting errors to the user. As a consequence, PIR examples in documentation which do not compile by themselves were now causing t/examples/pod.t to fail. I've fixed some fragments and marked the rest as INVALID
14:23 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/8efe43e343
14:23 dalek parrot/whiteknight/imcc_compreg_pmc: 9086d0d | Whiteknight++ | src/packfile/api.c:
14:23 dalek parrot/whiteknight/imcc_compreg_pmc: Merge branch 'whiteknight/imcc_compreg_pmc' of github.com:parrot/parrot into whiteknight/imcc_compreg_pmc
14:23 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/9086d0d446
14:25 dalek winxed: r925 | NotFound++ | trunk/winxedst1.winxed:
14:25 dalek winxed: rearrange a bit class declaration handling
14:25 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=925
14:25 dalek winxed: r926 | NotFound++ | trunk/pir/winxed_compiler.pir:
14:25 dalek winxed: update installable compiler
14:25 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=926
14:33 lucian i've missed a bunch of xkcd. this is awesome http://xkcd.com/853/
14:34 kid51 lucian: Generally you should paste test failures first.  If there's someone on channel at the moment, you can get some help.  If that doesn't work, open TT.
14:34 lucian failures on osx https://gist.github.com/900444
14:35 lucian whiteknight: noway. ALL TESTS PASS ON LINUX ARMEL
14:38 lucian better than my intel osx
14:41 dalek winxed: r927 | NotFound++ | trunk/ (6 files):
14:41 dalek winxed: rearrange some tests
14:41 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=927
14:47 whiteknight lucian: awesome. Your work here is complete
14:48 lucian whiteknight: and i didn't even do any work :)
14:48 whiteknight lucian: as a sanity check, is it running in any kind of x86 compatibiity mode?
14:48 lucian whiteknight: it doesn't have any
14:48 whiteknight ok
14:48 lucian no dropbox :(
14:51 dalek winxed: r928 | NotFound++ | trunk/t/ (2 files):
14:51 dalek winxed: rearrange prefix ++ and -- operators tests
14:51 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=928
14:54 kid51 lucian: failure in t/dynoplibs/debug.t have been showing up in Smolder reports on Darwin/i386;failures in t/src/extend_vtable.t are subject of TT #2084
14:54 kid51 Can you add data about extend_vtable.t to TT #2084? Thx.
14:55 kid51 And, if you have time, open a new TT about debug.t specifying which version of Mac OS X, etc; you use.
14:57 benabik G'morning.
14:58 lucian kid51: hmm. what exactly is wrong about debug.t? i don't know what to post
14:58 JimmyZ joined #parrot
15:01 rohit_nsit08 joined #parrot
15:02 rohit_nsit08 hello #parrot
15:02 * lucian waves
15:02 JimmyZ good evening, #parrot
15:02 kid51 lucian: Simply re-run the test with 'prove -v' and post output in ticket.
15:03 kid51 (We should have done this months ago.)
15:03 kid51 afk
15:19 marc joined #parrot
15:28 JimmyZ left #parrot
15:32 rohit_nsit08 left #parrot
15:33 rohit_nsit08 joined #parrot
15:34 lucian kid51: http://trac.parrot.org/parrot/ticket/2086
15:36 cognominal left #parrot
15:40 Eduardow left #parrot
15:44 cognominal joined #parrot
15:47 Eduardow joined #parrot
15:48 dalek TT #2086 created by lucian++: dynoplibs test failures on OS X
15:48 dalek TT #2086: http://trac.parrot.org/parrot/ticket/2086
15:57 plobsing left #parrot
15:59 PerlJam left #parrot
16:00 tadzik left #parrot
16:00 pmichaud left #parrot
16:00 Util left #parrot
16:05 Util joined #parrot
16:06 tadzik joined #parrot
16:08 PerlJam joined #parrot
16:09 pmichaud joined #parrot
16:15 M_o_C joined #parrot
16:19 plobsing joined #parrot
16:21 lucian $ fortune "You will be run over by a bus."
16:31 whiteknight lucian.bus_number--
16:48 mikehh I know this bus driver who once-upon-a-time happened to be a dev, but things happened ... he has amitions...
16:49 mikehh ambitions...
16:50 * mikehh need to change the batteries on my wireless keyboard :-}
17:10 kid51 left #parrot
17:11 plobsing left #parrot
17:27 contingencyplan joined #parrot
17:35 M_o_C left #parrot
17:42 DanielC joined #parrot
17:45 DanielC Looks like whitenight is gone :-(   He might be interested to know that the Artistic License 2.0 actually has a patent clause like the Apache 2 license.
17:45 DanielC knight
17:45 whiteknight I am never gone
17:45 DanielC oh, there he is... whiteknight: ping
17:45 whiteknight well, not never
17:45 DanielC :-)
17:46 DanielC AL paragraph (13) is a patent clause.
17:47 DanielC I think it is exactly the same as the license grant from Apache.
17:47 whiteknight I'm not as familiar with the apache license. I've never used that one
17:48 DanielC http://www.apache.org/licenses/LICENSE-2.0  <--- section 3 looks the same as AL paragraph (13) (I think).
17:48 DanielC I'm not too familiar with either license. I've just been reading them today.
17:49 whiteknight Yeah, the two sections do appear almost identical
17:50 DanielC I think I'm pretty happy with the AL v2 now.
17:51 whiteknight good. you shouldn't use any license you aren't happy with
17:52 whiteknight or, as you pointed out, you shouldn't use a license you don't understand
17:52 contingencyplan left #parrot
17:53 DanielC Indeed.
17:53 contingencyplan joined #parrot
18:05 M_o_C joined #parrot
18:12 ambs left #parrot
18:12 allison_ joined #parrot
18:17 ambs joined #parrot
18:33 ShaneC joined #parrot
18:47 plobsing joined #parrot
18:53 mikehh left #parrot
18:57 DanielC left #parrot
19:02 M_o_C left #parrot
19:08 mikehh joined #parrot
19:12 bubaflub joined #parrot
19:23 theory joined #parrot
19:24 luben joined #parrot
19:24 luben ~~
19:40 rohit_nsit08 good night #parrot
19:41 rohit_nsit08 left #parrot
19:52 lucian left #parrot
19:55 bacek Good morning, humans
19:55 bacek seen benabik
19:55 aloha benabik was last seen in #parrot 4 hours 57 mins ago saying "G'morning.".
19:55 clunker3 benabik was last seen on #parrot 4 hours, 57 minutes and 57 seconds ago, saying: G'morning.
19:56 * benabik is here.
19:56 clunker3 was kicked by bacek: clunker3
19:56 bacek benabik, aloha
19:56 * benabik and surprised to see clunker back again.
19:56 benabik bacek: Hello
19:56 lucian joined #parrot
19:56 bacek benabik, most of PBC emitting was done in PIRATE.
19:57 bacek pct_pbc branch is to bring it back to parrot.
19:58 bacek benabik, https://github.com/parrot/pir/b​lob/master/src/POST/Compiler.pm
19:58 benabik bacek: So that task would boil down to "merge this code"?  That doesn't sound like a summer worth of work.
19:59 bacek nope. There is more to do. Much more. Otherwise I already finish it :)
20:00 bacek Main things: POST from pirate (newPOST) is much bigger than current POST.
20:00 bacek Because oldPOST is too "stringish" and was used to emit PIR only.
20:00 benabik So a new PAST->POST pass would be needed.
20:00 bacek exactly
20:00 benabik (Or PAST->newPOST)
20:01 bacek and newPOST is implemented in nqp, not pir.
20:01 cotto ~~
20:01 bacek pct_nqp branch focusing on rewriting PCT in NQP. It's mostly straight forward move.
20:01 cotto good to see benabik and bacek talking
20:03 bacek benabik, also there is quite few shortcuts in newPOST in terms of generating PBC. E.g. support for Annonations isn't implemented.
20:04 bacek and Debug
20:04 benabik AFAICT, POST just used inline '.annotation' nodes.
20:04 bacek So, if you want to change topic of your GSoC to "Made emitting of PBC from PCT production ready" I'll totally support you :)
20:05 bacek benabik, (Annotations) yes, this is correct.
20:06 cotto I like where this is going.
20:06 bacek we do need POST::Node.annotation method and emit PackfileAnnotation in Compiler.to_pbc
20:06 benabik It sounds like I'd have to spend the approx half reworking PAST to use newPOST and the other half adding features like annotations.
20:07 bacek benabik, I will say 50 for new .to_post, 25 to migrate to PAST to nqp, 25 for new/missing features.
20:07 benabik Probably in 2 1 3 order...
20:08 bacek agreed
20:08 bacek implementing .to_post in nqp will be much simpler. This was main reason why I implemented .to_pbc in nqp.
20:09 bacek Don't forget to reserve some time to improve Packfile* PMCs if required.
20:09 benabik I think that "Implementing X in NQP" is easier than "Implementing X in PIR" for all X
20:09 bacek benabik, :)
20:10 benabik I left approx three weeks of "bugfix/unforeseen problems" time in my original proposal.  I don't see a reason not to keep that.
20:11 benabik (Well, two and change since one was after the "we suggest you stop working" point on the GSoC timeline.)
20:11 bacek Yes, sounds like a good plan
20:12 bacek there is couple of PIR leftovers in POST (nqp_pct branch version).
20:13 benabik Is PIRATE good enough to use for inline nodes, or should I just plan to leave those "NYI"?
20:14 bacek benabik, it should be doable. Put PIRATE into "nice to have if I'll have time to implement it"
20:14 bacek pirate was main testbench for newPOST.
20:15 bacek It shortcuts PAST step in PCT.
20:15 bacek Jump directly from parse to post.
20:16 benabik Ah.  I had found/been pointed at pirate but didn't quite grok it.  That jump is probably one reason.
20:17 bacek benabik, may be. And emitting of PBC is quite close to understanding of some "IMCC magicks"
20:17 bacek E.g. "op rewriting" and "constant folding" _must_ be implemented.
20:18 benabik Op rewriting?
20:18 bacek Give me a second. I'll find real example
20:19 soh_cah_toa joined #parrot
20:19 plobsing bacek: there are alternatives to const folding
20:20 bacek benabik, https://github.com/parrot/pir/blo​b/master/src/PIR/Compiler.pm#L189
20:20 bacek plobsing, yes, if we delete "ops.skip" and start generating all variants of ops
20:21 plobsing bacek: you can unfold the constants too
20:21 bacek plobsing, but I would like to keep some optimizations for PBC. Mostly because it's good starting point for more complex optimizations. E.g. "inline function", etc.
20:21 theory left #parrot
20:22 theory joined #parrot
20:23 benabik bacek: Does PAST-> work at all on nqp_pct branch?  Or does it try to use POST that no longer exists or works?
20:23 benabik *PAST->POST
20:23 plobsing bacek: I'd like to see "optimizations" required for generating correct PBC separate from PAST somehow. I really hope we don't force PAST as the new Parrot API.
20:24 bacek benabik, it works. newPOST is superset of oldPOST
20:24 bacek plobsing, it's separated from PAST. And POST.
20:24 bacek We just have to "rewrite POST before emitting PBC from it".
20:25 bacek plobsing, and PAST tree will not changed. We are changing only PAST::Compiler.to_post to emit "newPOST".
20:25 lucian plobsing: if PAST had a textual notation, it wouldn't be too bad
20:26 benabik Okay, so I'll try to rewrite my proposal in terms of reworking PAST.  I'll start working from the goals "Convert PAST to NQP", "Expand to_post to use newPOST types" and "Add annotations and debug to PAST/POST".  Not sure how those'll break down into smaller goals (I'd like have goals be close to one per week), but I'll poke at it tonight and tomorrow.
20:27 bacek benabik, deal
20:28 bacek aloha, clock?
20:28 aloha bacek: LAX: Sun, 13:28 PDT / CHI: Sun, 15:28 CDT / NYC: Sun, 16:28 EDT / UTC: Sun, 20:28 UTC / LON: Sun, 21:28 BST / BER: Sun, 22:28 CEST / TOK: Mon, 05:28 JST / SYD: Mon, 06:28 EST
20:28 bacek benabik, it's 6:30AM here. I'll be at $dayjob. But I can try to answer your questions (if any)
20:29 bacek seen bacek_at_work
20:29 aloha bacek_at_work was last seen in #parrot 3 days 15 hours ago saying "yes, it works with "token"".
20:29 bacek benabik, ping ^^^^^ this guy :)
20:29 benabik Well, I have to work out a bit of schoolwork.  I spent most of yesterday trying to understand POST and PBC enough to write the proposal and need to play a little catchup.
20:31 bacek benabik, PBC knowledge is still applicable. "POST" is just simple tree. POST::Compiler is where magic happens
20:31 * bacek hates DST
20:31 bacek afk # need more coffee
20:31 benabik bacek: But it sounds like much of that magic has been worked out.
20:32 soh_cah_toa whiteknight: hey, have you gotten a chance to look over my gsoc proposal at all?
20:34 woosh joined #parrot
20:36 woosh hi, im looking at applying for gsoc this year.
20:36 sorear I'm wondering what to apply *for*...
20:38 plobsing woosh: is there any project of particular interest to you?
20:38 woosh well, yes.
20:38 woosh i was looking at parrot for some time now.
20:39 woosh and i was keen on developing a jit compiler for parrot
20:39 soh_cah_toa woosh: have you seen the projects page?
20:39 bacek benabik, not all magic was reveled.
20:39 woosh soh_cah_toa: yes, but it wasn't specified as a gsoc project. alternatively i'd like to look at opencl backend for parrot
20:40 lucian woosh: you're free to come up with new ideas
20:40 lucian i put Python3 on the list myself, and I'm a student
20:40 plobsing ping cotto # student interested in lorito-related project
20:40 cotto plobsing, hio
20:40 woosh lucian: good. i was interested in python3 myself.
20:41 benabik woosh: The LALR parser task was added at my suggestion...  Although I got distracted by bytecode generation.
20:41 soh_cah_toa woosh: a lot of students believe it or not
20:41 benabik bacek: Is there anything major missing other than the annotations?
20:41 plobsing cotto: is Lorito on the table for GSoC? we've got a student interested in developing a JIT for parrot.
20:41 cotto plobsing, I assume you'r etalking about woosh?
20:41 plobsing yep
20:41 cotto ok
20:41 lucian a jit that goes "woosh" sounds interesting
20:41 woosh cotto, plobsin: i haven't added myself to the list.
20:42 cotto It's still pretty speculative.
20:42 soh_cah_toa haha
20:42 lucian woosh: not to discourage you, the infrastructure for a future parrot jit isn't quite in place (yet)
20:42 cotto I don't know if investing time in a jit based on the current spec would be worthwhile.
20:42 woosh i wanted to do that earlier, and write up my proposal, but got highly distracted with my dissertation
20:43 woosh cotto, lucian: any suggestions?
20:43 bacek benabik, hmm. Probably a lot of things. I can't predict right now how many things will be required to make "PBC emitting" production ready.
20:44 bacek woosh, take a look at jit_prototype branch in parrot. This is what I was working on in last few weeks.
20:44 woosh is moving to llvm ir happening anytime soon, or you're set to stay with pir?
20:45 woosh bacek: cheers, i ll have a look
20:45 kid51 joined #parrot
20:46 bacek woosh, "pir" will stay around. jit_prototype is about emitting llvm ir from pir (actually pbc but it's very close)
20:46 lucian woosh: the general vibe is *not* to move to any particular existing IR
20:46 lucian woosh: you might want to read about lorito and M0
20:46 bacek benabik, https://www.rememberthemil​k.com/home/bacek/#section.tasks is my old (very-very old) todo list for pirate.
20:47 ShaneC left #parrot
20:47 cotto lucian, exactly.  llvm will be one of many possible backends
20:48 lucian although there is a general tendency towards llvm
20:48 bacek benabik, http://trac.parrot.org/parrot/wiki/PirateTodo is kind of high-level todo list for pirate.
20:48 lucian having read what PyPy, tracemonkey and rubinius folks went through, i disagree with that tendency somewhat
20:48 plobsing llvm is a good start, but I've seen remarks by several dynamic JIT systems built on it pointing out some weaknesses.
20:49 lucian and plobsing is politely saying that many projects found llvm sucky for dynamic languages
20:49 plobsing It is primarily a compiler framework, and has super-linear behaviour. This isn't an issue for clang, but not good for JIT.
20:49 lucian it's almost as much of a JIT as a C compiler is
20:51 lucian for example VMkit tries to implement jvm/.net on llvm, and even those are a tad too dynamic for llvm's current capabilities
20:52 lucian of course, it'll still be faster than most interpreters
20:52 sorear mono also implements .net on llvm these days
20:52 sorear (optionally)
20:53 lucian sorear: yes, with the expected caveats
20:53 lucian plobsing: i'm curious in what way llvm has super-linear behaviour
20:53 sorear lucian: other than "very slow startup", what are they?
20:53 lucian sorear: a memory usage hit
20:54 benabik bacek: So the semi-ultimate goal would be to get PAST->newPOST->PBC in enough shape to bootstrap NQP?
20:54 plobsing lucian: I have not measured. I have only heard reports from unladen swallow and other dynamic JIT projects.
20:54 lucian and of course linking llvm which is rather big
20:54 sorear lucian: what's your favorite reusable optimization and code generation module?
20:55 bacek benabik, yes. I think is we can run nqp it's 99% of work.
20:55 lucian plobsing: i'm sorry, i still don't get it. i thought super-linear had to do with parallelism
20:55 sorear super-linear means O(n^2) etc
20:55 lucian sorear: i guess nanojit, but that's not very complete
20:55 sorear double the code, increase runtime by 4+
20:55 lucian sorear: oh, that too
20:55 theory left #parrot
20:56 woosh lucian: i'm just reading through lorito, is it this supposed to be your low-level language to be compiled and run on llvm?
20:56 sorear most offline compilers have superlinear optimizations of various forms.  just ask anyone who's tried to compile the old switch core
20:56 lucian woosh: not mine, i'm possibly it's biggest critic
20:57 lucian sorear: yeah, i get it. i just didn't link the term superlinear to runtime complexity
20:57 woosh lucian: so would you discourage it as a possible summer project then?
20:57 lucian sorear: largely as a response, llvm is sort of getting fast compiles and the beginnings of a hotspot mode
20:57 benabik bacek: But that may involve alterations to NQP?  Hm.  I wonder if there's a smaller but still reasonably complex PCT language to use to test a new stack.
20:58 lucian woosh: again, the disclaimer that i'm a student. not really, GSoC is partly about experimentation
20:58 bacek benabik, nope. We should try not to alter nqp at all.
20:58 lucian woosh: i mean i wouldn't discourage it because i disagree with certain design decisions
20:58 benabik bacek: "the current version uses strings rather than structure to store data and isn't amenable to PBC generation without a full PIR compiler"
20:58 bacek benabik, you can use squaak as test HLL
20:59 bacek benabik, ("strings") it's about POST.
20:59 ShaneC joined #parrot
20:59 bacek benabik, nqp emits PAST. Sometimes with .inline nodes.
21:00 lucian another very common observation i've read about llvm is that its optimisations aren't that useful to languages too different from C
21:00 lucian so you're mostly just getting a portable assembler, some broad general optimisations and a very good assembly-level peephole optimiser
21:00 bacek benabik, about 12 :inline nodes in NQP::Actions.
21:01 bacek benabik, https://github.com/perl6/nqp-rx​/blob/master/src/NQP/Actions.pm
21:02 lucian of course the qualifier "just" may be exaggerated
21:03 bacek benabik, and Q:PIR quoting...
21:04 benabik bacek: That falls under "integrating PIRATE", no?  While getting that far would be nice, I don't want to set the bar too high.  :-/
21:04 lucian woosh: so, take what i say with the appropriate amounts of salt, and note that i have 0 LOC committed into parrot proper
21:04 bacek benabik, yes, it's pirate's job to parse it. Let's use squaak as test bench.
21:05 bacek benabik, we can integrate pirate later.
21:05 bacek benabik, examples/languages/squaak
21:05 benabik bacek: Are there tests for PAST and POST already?
21:06 bacek benabik, yes, t/compilers/pct
21:06 bacek (in parrot)
21:06 woosh lucian: ok. will look more deeply into this.
21:06 bacek and quite few of them in pirate
21:06 bacek benabik, I'm not sure that I moved them into nqp_pct branch
21:07 bacek benabik, just for fun - you can also use pirate as test HLL :)
21:08 benabik bacek: If it skips PAST, that's less useful for testing the PAST->POST conversion.
21:08 lucian whiteknight: ping
21:08 bacek benabik, pirate it self - yes. But it's implemented in NQP which use full PCT workflow.
21:10 benabik bacek: I'll keep it in mind.
21:23 woosh left #parrot
21:31 PacoLinux left #parrot
21:33 lucian_ joined #parrot
21:34 woosh joined #parrot
21:36 lucian_ left #parrot
21:38 lucian left #parrot
21:38 lucian joined #parrot
21:42 kid51 lucian: ping
21:42 benabik left #parrot
21:43 ambs left #parrot
21:43 lucian kid51: pong
21:44 kid51 lucian: I forgot some important info when advising you earlier about reporting the errors on Mac OS X
21:44 benabik joined #parrot
21:45 lucian kid51: such as?
21:45 kid51 Because of that OS's "dynamic linking" feature, we had problems in the past with an installed parrot looking for libparrot underneath the build directory, even when that build directory had ceased to exist.
21:46 kid51 So the fix was to always look for libparrot under the installed parrot.
21:46 kid51 See config/init/hints/darwin.pm.  Look for a now closed TT opened by Coke.
21:46 kid51 Side effect:
21:47 kid51 'prove' doesn't really work on Darwin now for tests which require libparrot
21:47 lucian kid51: i ran parrot from the build directory
21:47 kid51 Hence, all those failures in your test report
21:47 lucian hmm, you're right about prove actually
21:47 kid51 My own personal workaround:
21:48 kid51 When testing Parrot on Darwin, I say: perl Configure.pl --prefix=/Users/user/path/​to/pseudoinstall/directory
21:48 kid51 I then call "make install"
21:49 lucian kid51: actually i think i did that
21:49 kid51 That configures, builds and installs a Parrot in a directory which is only for testing.
21:49 lucian i put it in ~/.local/parrot
21:49 kid51 I then have to alter my .bashrc:
21:49 kid51 export DYLD_LIBRARY_PATH=/Users/jimk/work/pseudoins​tall/lib:/Users/jimk/gitwork/parrot/blib/lib
21:50 kid51 And then, I can run prove.
21:50 kid51 Cumbersome, but it works for me, and it's what I have to do in reporting errors on Darwin (e.g., just now to parrot-dev for whiteknight's branch)
21:50 lucian hmm
21:51 kid51 This is needed for 'prove' and for 't/harness' -- but not for the various 'make ....tests' targets, because there's code in there that accounts for this problem (IIRC)
21:52 kid51 Lacking this, using 'prove' on Darwin reports failures in *many* more files than 'make test' would.
21:52 lucian right
21:52 lucian sad
21:53 kid51 I've been meaning to file a TT about this ... but since this problem is a side effect of our "solution" to *other* TTs, I haven't done so
21:53 kid51 If the failure is in t/dynpmc, you might try "make dynpmc_tests".  It may or may not work.
21:54 tcurtis joined #parrot
21:55 kid51 Although something like 'make dynpmc_tests' might not give your the verbose output you need to file good failure reports
21:58 theory joined #parrot
22:01 dalek tracwiki: v16 | woosh++ | ParrotGSoC2011Students
22:01 dalek tracwiki: added myself to the student list - woosh
22:01 dalek tracwiki: http://trac.parrot.org/parrot/wiki/ParrotG​SoC2011Students?version=16&amp;action=diff
22:23 kid51 If there are any other GSOC candidates who have not yet added themselves to that wiki page, please create a Trac user account, then ping me so that I can give you the necessary permissions to do that (or to file/edit Trac tickets)
22:30 tcurtis whiteknight: ping
22:32 dalek winxed: r929 | NotFound++ | trunk/winxedst (2 files):
22:32 dalek winxed: multiple declarations in 'using static'
22:32 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=929
22:32 dalek winxed: r930 | NotFound++ | trunk/pir/winxed_compiler.pir:
22:32 dalek winxed: update installable compiler
22:32 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=930
22:37 arnsholt left #parrot
22:39 whiteknight tcurtis: pong
22:40 arnsholt joined #parrot
22:43 tcurtis whiteknight: It's somewhat late for me to be bringing this up, but I saw on the GSoC ideas page that you're interested in mentoring someone to create a LALR parser generator for Parrot?
22:44 whiteknight yessir. You interested?
22:45 tcurtis Very much.
22:45 whiteknight tcurtis: That, or any other ideas you have in mind?
22:46 whiteknight tcurtis: standard warnings will apply: It's probably a very big project, and requires knowledge of the associated theory, etc
22:46 benabik tcurtis: I was interested in that until I got sidetracked with the bytecode generator.
22:47 whiteknight 1..2...3...STUDENT FIGHT!
22:47 whiteknight two students enter, only one gets to take the idea
22:48 cotto You'll find a brick taped under your seat.  If you don't know what to do, the other student will.
22:48 NotFound Who wants... to live... forever...
22:51 tcurtis benabik: Does that mean that you're still interested in doing it or that it has been eclipsed by the bytecode/post stuff?
22:51 whiteknight tcurtis: I would love to see a draft proposal
22:53 benabik tcurtis: Sidetracked, as I said. :-)
22:54 tcurtis benabik: Sidetracked thoroughly enough that there would be no risk that you would take offense if I were to submit a proposal for it? :)
22:55 benabik tcurtis: I wouldn't be offended if you submitted a proposal even if I was still working on it.  :-)
22:56 tcurtis benabik: Great. :)
22:56 tcurtis whiteknight: I'll get to work on that, then.
22:57 whiteknight tcurtis++
22:57 whiteknight benabik++ # for not letting blood be spilled
22:58 theory left #parrot
22:58 tcurtis NotFound: Is there any convenient way to use the winxed parser to parse a portion of a file?
22:59 whiteknight what do you mean a portion?
23:00 tcurtis NotFound: or alternately, a way to find the end of a block of Winxed code more easily than actually parsing it?
23:01 benabik whiteknight: I just know that I'm awesome enough to be chosen over any possible competitor.  :-D
23:03 tcurtis whiteknight: for the actions in the parser specification(if we use the yacc/bison approach of directly embedding them in the specification). Fully parsing them wouldn't really be necessary.
23:04 NotFound tcurtis: I think parsing it is the easier way.
23:06 NotFound Maybe if you forbid the usage of heredocs you can use a regex approach.
23:08 NotFound Winxed has three types of comments, two types of quotes and the heredocs. So its not easy to define a safe delimiter.
23:11 tcurtis Alright. Separate actions would be rather easier to implement, and language-agnostic.
23:13 NotFound My personal view is that yacc is a tool from a past millenium ;-)
23:13 NotFound Both literaly and metaphoricaly.
23:18 whiteknight yacc may be dead, but the LALR algorithm is alive and well
23:18 nopaste left #parrot
23:19 whiteknight up-front identification of state conflicts, fast rejection of errors, and bounded worst-case parse times are all attractive features that other parsers can't match well
23:19 whiteknight recursive descent has much worse worst-case performance if there is a lot of backtracking involved
23:19 NotFound The ugliness is in its language.
23:19 whiteknight right, but we can make a better language
23:20 NotFound We always do better languages ;)
23:23 bacek_at_work ~~
23:24 nopaste joined #parrot
23:24 cotto hi, bacek_at_monday
23:24 bacek_at_work aloha, cotto_from_past
23:25 NotFound whiteknight: Have you tried the new syntax for getting multiple returned values?
23:25 whiteknight NotFound: I wasn't aware of it
23:25 lucian kid51: sorry i dropped off, i'll look into it tomorrow
23:26 kid51 np
23:26 NotFound whiteknight: in installable since r922
23:28 NotFound whiteknight: http://code.google.com/p/winxed/sourc​e/browse/trunk/t/advanced/05mreturn.t
23:28 whiteknight awesome
23:32 soh_cah_toa whiteknight: hey, how's it going?
23:32 whiteknight soh_cah_toa: pretty well, you?
23:33 soh_cah_toa whiteknight: not bad. i was wondering if you had seen my gsoc proposal yet? i submitted it to google last night
23:35 whiteknight soh_cah_toa: yes, I did see it
23:35 whiteknight we got 4 of them submitted yesterday, I think
23:35 whiteknight 4 or 5
23:35 aloha 5
23:35 whiteknight damnit aloha!
23:35 soh_cah_toa ha
23:36 soh_cah_toa is there anything i could improve on?
23:37 whiteknight I haven't read it too closely since it was uploaded. Let me do that now
23:37 soh_cah_toa sure
23:40 whiteknight soh_cah_toa: looks good. I don't know if I am the "likely" mentor
23:40 whiteknight but that really doesn't matter at this stage
23:41 soh_cah_toa okay, great
23:42 whiteknight tcurtis: you could apply to be a mentor too :)
23:43 soh_cah_toa on another note - i need to find more info about the join opcode. t/examples/pod.t says that, in a pod fragment, that it has either the wrong type or amount of arguments
23:43 soh_cah_toa i'm trying to make all tests pass
23:46 soh_cah_toa same thing w/ the kill opcode

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

Parrot | source cross referenced