Camelia, the Perl 6 bug

IRC log for #parrot, 2009-09-23

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 darbelo Give it time to build.
00:00 dalek parrot: r41425 | japhb++ | trunk/runtime/parrot/library/Config/JSON.pir:
00:00 dalek parrot: [library] Config/JSON.pir: Fix to use correct JSON parser
00:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41425/
00:00 japhb "I want it all, I want it all, I want it all ... And I want it NOW!"
00:00 Austin Darbelo -?
00:00 Austin You mean beyond "make install-dev" ?
00:03 darbelo It worked.
00:03 purl Of course it worked
00:04 Austin How do array iterators and delete-keyed-int interact?
00:04 japhb darbelo, excellent.
00:04 Austin Can I safely delete through the iterator, or must I do some shenanigans?
00:04 darbelo I didn0t realize you were changing a pir file. So I just blindly rebuilt parrot.
00:04 * japhb is finally tanking on the sharable tasks.
00:05 darbelo I'll see about rolling a .json for decnum-dynpomcs later.
00:06 japhb darbelo, okie-dokie
00:20 japhb Tene: It suddenly occurs to me that the most immediate task I could use help with is some filesystem "builtins" in Glue.pir.  For example, I need mkdir(), chdir(), cwd(), stat() (and/or file tests), etc.  String slinging and especially filesystem path string munging would be good, too. split() and join(), catdir(), catfile(), etc.
00:20 Austin I've got some of those.
00:21 darbelo japhb: you can get platform-correct mkdir chdir and a few others out of parrot_config
00:21 japhb The guiding principles are: 1. Do the most with the least.  2. It doesn't have to be perfect.  3. It's handy if the arguments are similar to the ones in Perl 6.
00:21 Austin http://code.google.com/p/close/source/bro​wse/trunk/library/close/Compiler/File.nqp
00:22 japhb darbelo, if possible, I'd like to use internal Parrot ops/subs/methods.  Often the parrot_config versions just call out to Perl5 ExtUtils stuff.
00:22 Austin It's wrappers around the File.pmc
00:22 Austin Also, there's OS.nqp, which does the same for OS.pmc
00:23 japhb It's not that any of this is difficult in the slightest.  It's just that it's work that needs to be done, but that I can easily pass off to someone with PIR skillz.
00:23 nopaste "darbelo" at 200.49.154.173 pasted "Not on my box!" (21 lines) at http://nopaste.snit.ch/18031
00:23 japhb darbelo, heh.  On mine, it's a mess of Perl calls.
00:23 darbelo But I do see you point.
00:24 darbelo And I probably won't commit that either, since I didn't get a measurable build speedup out of it.
00:27 japhb Austin, right now Glue.pir is (as the name implies) just doing straight PIR implementations for the builtins, because that was easiest for me, but I'm not opposed to adding NQP-implemented builtins as well.
00:27 Austin Ahh.
00:28 Austin Sorry. Didn't want people to spend a bunch of time rewriting nqp I've written. (But you can be sure I'll steal whatever pir you code and wrap it...)
00:28 japhb For the stuff I coded so far, the NQP would have just been a thin wrapper around a big Q:PIR block anyway, so it didn't seem worth it at the time.  ;-)
00:34 japhb Tene, Also, I need a data structure merge utility -- In particular, I need to take a data structure of default configuration or metadata, overlay it with values from a "user defaults" JSON file, overlay that with values from a parsed JSON file for a particular project, and then overlay *that* with command line options or other runtime values.
00:35 darbelo japhb: Wiki that up somewhere.
00:37 japhb Tene, alternately, make a proxy object that can store references to several data structures, and any lookups in the proxy data structure are looked up in turn on each real structure in order until a matching entry is found.  And sets to the proxy are passed on to only the first of those (which may start empty, for convenience in implementation).
00:37 japhb darbelo, hmmm?
00:38 japhb afk for a bit, will backlog
00:38 darbelo The tasks, put them in a wiki or something, irclogs can be a pain to search for.
00:43 Whiteknight joined #parrot
00:49 dalek TT #1059 created by petdance++: Run Parrot through cpplint.py
00:50 Austin Hello, whiteknight
00:51 Whiteknight hello, dependable Austin
00:51 Austin :)
00:51 Austin "Ubiquitus, are you /here/, too?"
00:53 payload joined #parrot
00:54 rhr joined #parrot
00:57 japhb darbelo, I plan to put them in the TODO.  Tene just asked me to ping him on IRC.
00:57 Austin joined #parrot
00:57 Austin So much for "dependable"
00:57 darbelo Even better!
00:59 darbelo Hm. It migh be a good idea to keep the source file inside a src/ directory, to differentiate from the built files.
01:02 Austin Ahhhh! Dammit!
01:02 darbelo Uh?
01:02 Austin Even scalars are pass-by-reference.
01:02 shockwave joined #parrot
01:03 darbelo Ouch.
01:03 Austin push(0 + $index)
01:04 Austin Look, my gitorious email is here.
01:04 Austin (Too late.)
01:04 patspam joined #parrot
01:05 darbelo Great! You can start throwing 'merge requests' at japhb, then.
01:05 pmichaud (make install-dev needed for hlls)   imo, "make install-dev" is only needed to build languages, not to install them.
01:06 pmichaud I suspect it would be very possible for rakudo to run without install-dev files present.  (If not, then Parrot's "make install" is b0rken.)
01:06 darbelo Maybe, but plumage is a fetch-build-install machine.
01:06 pmichaud hmmm.  I wonder what would be needed for build in that case...?
01:07 pmichaud I guess dynops and the like.
01:07 pmichaud anything that needs to create its own dynpmcs or dynops would need install-dev, yes.
01:08 pmichaud that would seem to be about it, though.
01:08 dalek close: r130 | Austin++ | trunk/ (5 files):
01:08 dalek close: Set TreeRewriteV to delete empty initload subs.
01:08 dalek close: review: http://code.google.com/p/close/source/detail?r=130
01:09 darbelo I wouldn't mind it at all if install-dev became install.
01:10 darbelo And that would simplify the whole 'use a fake install dir in the source tree and then copy' thing people were talking about.
01:11 pmichaud perhaps a little bit, yes.  not by much.
01:12 pmichaud the current build and install system is really.... ugly.
01:13 darbelo You build a fake tree, and then every step of the build leaves it's result there. It get's copied wholesale to $PREFIX. That's simpler that what we have now.
01:13 pmichaud the "build a fake tree" isn't simple.
01:13 pmichaud let me rephrase...
01:14 pmichaud I started to do this in July.  There are a *lot* of pieces of Parrot that depend on building in the current structure.
01:14 pmichaud Changing those is going to be a pain.
01:15 darbelo Ew. Do you have a branch I can look at?
01:19 darbelo The word would be a better place wothout so many separate Makefiles, that's for sure.
01:20 ysth does building rakudo now depend on the parrot build dir being there?
01:20 darbelo ysth: Not since the last release IIRC.
01:20 ysth yay.
01:24 Austin pmichaud: Is there any way to get _dumper to sort the keys of hashes before dumping them?
01:26 pmichaud it doesn't do that already?  ISTR that it did at one time.
01:26 pmichaud but either way, I'd accept a patch that sorts the keys.  Probably needs to be in runtime/parrot/library/PGE/Dumper.pir
01:27 pmichaud oh, wait.  hmmm.
01:27 Austin I think there was a hash-key randomization undertaken as part of the Key refactoring bacek did a few months back.
01:27 pmichaud might also want to look at the 'dump' method for PCT::Node
01:28 jsut_ joined #parrot
01:28 pmichaud anyway, it probably involves getting a list of keys, sorting them, and then iterating over that.
01:28 pmichaud I don't see any problem with doing that... just a smop
01:29 Austin Finding the code seems to be the hardest part.
01:31 darbelo left #parrot
01:38 dalek parrot: r41426 | jkeenan++ | branches/auto_frames_refactor:
01:38 dalek parrot: Create a branch to do a little refactoring on auto::frames and associated test file.
01:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41426/
01:42 * Coke wonders why we have data_json and JSON ?
01:51 dukeleto coke: data_json is the newer stuff, i think JSON is being deprecated
01:51 Austin Parrot supports unicode, but not uppercase.
01:51 [1]Limbic_Region joined #parrot
01:51 Coke dukeleto: as the author of JSON, I find that... disturbing.
01:51 Coke one wonders why the author of data_json didn't just patch json.
01:52 Austin Where is JSON archived?
01:52 Coke and if it's deprecated, it needs a ticket.
01:52 Coke archived?
01:52 Austin SVN?
01:52 purl i heard SVN was down for me
01:52 Coke it's in compilers/
01:52 Austin Yeah.
01:52 Austin See? data_json is in git.
01:52 Austin You've been forked.
01:52 Coke Austin: ... data_json is in compilers/ also, sir.
01:52 Austin Really?
01:52 Coke No, I'm lying.
01:53 Austin I thought japhb was doing that, and doing it in git
01:53 kid51 From DEPRECATED.pod:
01:53 kid51 JSON, JSON, and Config;JSON [eligible in 1.5]
01:53 kid51 <https://trac.parrot.org/parrot/ticket/508>
01:54 Austin Ok, you haven't been forked. You've been deprecated.
01:54 Austin (I think I'd rather get forked.)
01:54 dukeleto Austin: me too
01:54 Coke kid51: that doesn't mention data_json at all.
01:54 Coke and no, that doesn't deprecate JSON. It just renames them.
01:55 Austin W00t. Sanity tests pass again.
01:55 Coke so again I say... what's data_json? =-)
01:55 dukeleto i meant that the name JSON was deprecated and renamed data_json . sorry for the confusion
01:55 ruoso joined #parrot
01:56 jrtayloriv joined #parrot
01:56 Coke dukeleto: there are currently both data_json and json in the repo.
01:56 dukeleto yes
01:56 Coke that's duplication, not deprecation.
01:56 Coke (and doesn't match what's in #508 at all.)
01:56 Coke and why is "data_json" a better name than "json" ?
01:56 dukeleto i am just going by what I have heard in the channel. searching the #parrot logs will probably give you better info
01:57 Coke k.
01:57 Coke I'll wait for the email.
02:09 Austin pmichaud: Is it meaningful to call a sub with :named but not :flat --  {{{      'sub'(MyHash :named)    }}}
02:16 dalek parrot: r41427 | jkeenan++ | branches/auto_frames_refactor (2 files):
02:16 dalek parrot: Refactor so that (1) we only test $can_build_call_frames for truth once; (2)
02:16 dalek parrot: we make visible within one sub all four ways in which 'has_exec_protect' can
02:16 dalek parrot: be set.
02:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41427/
02:22 Coke Austin: yes.
02:22 Coke but I don't think that's the syntax.
02:23 Austin Hmm. I don't think PCT supports that.
02:23 Austin Ah.
02:23 Austin What's the syntax?
02:24 Coke 'sub'( 'someparam' => somevar )
02:24 Austin Ahh, not what I had in mind.
02:25 Austin That's 'sub'(somevar :named('someparam'))
02:26 Coke maybe that works too. Not what I'm using in tcl.
02:26 Austin There's a special case in PCT that I'm curious about. You can have :named(x) with a value, or you can have :flat + :named with no value, but it doesn't support :named solo.
02:27 Austin But conceivably :named might be a way to signify that the parameter was a hash containing all the named parameters, without going through the hassle of flattening an unflattening them.
02:27 Austin So I was curious.
02:30 dukeleto joined #parrot
02:32 dukeleto 'ello
02:32 Austin Hello, duke
02:32 Austin Was geht?
02:32 Coke Was? not Wie?
02:33 Coke yay, I have a cell phone again.
02:33 Austin "What goes" as opposed to "Wie gehts" - how goes it
02:34 Austin Yay. How did you not have a cell phone?
02:34 Coke ich kann Deutsches nicht sprechen
02:34 Coke Austin: turns out they're dry clean only.
02:34 Austin Ouch.
02:41 dukeleto Austin: Wie geht's ? is what the germans say
02:42 janus joined #parrot
02:42 dukeleto Coke: ich kann kein Deutsch ;)
02:43 rhr joined #parrot
02:47 jdv79 treed: around?
02:49 pmichaud Austin: afaik there's not a way to pass a hash containing named parameters w/o going through :flat and :slurpy
02:50 Austin So a :named by itself is bogus?
02:50 pmichaud according to pdd03, I think so.
02:50 pmichaud I don't see any tests that use :named by itself
02:50 Austin Cool. Thanks.
02:52 pmichaud at one time it was possible to declare params using only :named  (instead of :named('foo')), but I never found out exactly what it meant.  That is, imcc would parse it and produce something, but it may have been non-sensical.
02:53 pmichaud anyway, PCT only understands  :named('...')  and :named+:slurpy/:flat
02:53 Austin I wondered if it was a pass-through for all the named args. I guess declaring it :named would be implicitly :slurpy
02:53 pmichaud when the pcc refactors land, there's supposed to be a mechanism whereby one can get all of the arguments and do custom packing/unpacking
02:54 pmichaud :capture, I think.
02:54 Austin yikes
02:54 rg1 joined #parrot
02:55 pmichaud I'm fairly certain that :named isn't implicitly :slurpy or :flat
02:55 Austin Is there any kind of error recovery in/planned for PGE?
02:56 pmichaud depends on what you mean by "error recovery"
02:56 Austin Some way to keep parsing when a syntax error happens.
02:56 Austin foo(xxx; bar(x);
02:57 pmichaud PGE already supports that if your grammar does.
02:57 pmichaud failure to match isn't an "error"
02:57 pmichaud at least, not to PGE.
02:58 pmichaud essentially when you detect that an error occurs, you just scan ahead to the next statement point that you can find and continue parsing from there.
02:58 Austin So attach a || .*? '}'    or something?
02:58 pmichaud i.e., you probably don't want to use <.panic> but instead have some other sort of assertion that lets you record the error you've seen and then scan ahead to the next detectable starting point
02:59 pmichaud yeah, something like that.  But "next detectable starting point" is always the tricky part, in any grammar/parser.
02:59 Austin :)
02:59 pmichaud that's why Perl 6 and Rakudo now basically say "Confused" when it gets to a point where it's not really sure what's coming up next
02:59 japhb Coke, JSON is deprecated in favor of data_json because there was no obvious way to fix the case issue without screwing over Windows users and breaking deprecation policy.
03:00 japhb Coke, also, data_json is compliant with the existing hll_interop standards.
03:00 Austin I like the way NQP identifies errors at the statement level.
03:00 japhb As of today, Config::JSON has been fixed to use data_json instead of JSON.
03:00 japhb (I actually fixed it quite some time ago, but forgot to commit that patch.)
03:01 Coke which is what brought this to my attention.
03:01 Coke this is the wrong fix, imo.
03:01 pmichaud fwiw, nqp and pge are likely to do similar things
03:01 Coke are you working from a ticket on this?
03:01 pmichaud i.e., create a new replacement version rather than try to migrate the old one
03:01 Coke pmichaud: what, change their name to data_nqp? =-)
03:02 Austin parrot_nqp
03:02 Austin It's already started....
03:02 pmichaud well, parrot_nqp is just the name of the fakecutable binary
03:02 pmichaud because I didn't feel comfortable installing "nqp" in a path just yet.
03:02 japhb data_foo is just a convention we informally came up with in this channel for "languages" that are just parsers for a data format with no executable bits.  JSON, XML, etc.
03:03 Coke ok. deciding things in the channel is not always a good thing. would have been nice to have a ticket, or an email, or something.
03:03 Coke <shrug> I consider myself outvoted.
03:03 Coke carry on.
03:03 pmichaud I'm curious as to what you would prefer as the "right fix", Coke?
03:03 Coke pmichaud: fix json in place.
03:04 Coke or have a plan that involves it eventually getting back to just "json".
03:04 Coke a ticket with the plan would help me decide which bits I really disagreed with. =-)
03:04 pmichaud sure.
03:05 pmichaud fix json in place is likely difficult to do because of backwards compatibility issues.  People wouldn't be able to effectively use it until after the 2.0 release
03:05 japhb I'm not disagreeing with you as a general principle (re: making choices in channel), but sometimes that's what has to happen to allow people to JFDI with whatever limited time window they have available to hack.
03:05 Coke pmichaud: That depends entirely on what was being fixed.
03:05 japhb The deprecation policy is a major pain in the kiester.
03:05 Coke if it was just "add a 'compile' method", well, that's not that hard.
03:05 japhb Coke: changing the basic API by which you instantiate and use the language.
03:05 pmichaud Coke: fair enough.  I'm taking japhb at his word that fixing it involved breaking backwards compat
03:06 Coke I'm not. =-)
03:06 japhb Coke, :-)
03:06 Coke but, like I said, i'll consider myself outvoted. I have other fish to fry.
03:07 Coke like, why is partcl still segfaulting?
03:07 pmichaud oh, I still want to do the pge conversion for partcl
03:07 pmichaud hmmmm
03:07 pmichaud s/pge/pct/
03:07 japhb Coke, remember there were two changes: 1) become HLL interop compliant, 2) Fix the filename case issue.  2) was necessary because of 1 (Tene could explain in deathly detail why).  2) was the part that sucked.
03:09 Tene japhb: there's a ticket, isn't there?
03:09 japhb I tried to find ways around it, and Tene basically gave me gentle nudges for a while until he had successfully herded my into the cliff, and I went "Wow, this sucks."  And he said basically, "Yep."
03:09 Tene japhb: also, wasn't json not installed to the right place?
03:09 Coke Tene: ticket #508 doesn't mention any of this.
03:09 japhb Tene, it wasn't being installed at all.
03:10 Coke installed or not has no impact on the rename.
03:10 Tene japhb: if it's not installed, would changes really be breaking compat? ;)
03:10 Coke why do people insist on continuing arguments I've given up on?
03:10 japhb Coke, sorry, nm
03:10 pmichaud because we respect your point of view and want to make sure we didnt overlook something?  ;)
03:10 Coke you already did that.
03:10 Coke <shrug>
03:11 pmichaud already overlooked something or made sure that we didn't?  ;)
03:11 Tene Coke: 508 isn't about HLL interop issues, and I'm pretty sure japhb never mentioned it when he was working on json.
03:13 Coke for future reference, to rename a file by case only, do it in two steps, says the google. "svn rename FOO FOO_; svn renme FOO_ foo"
03:13 Coke (this avoids the problem of having to have both the old and new copies present at the same time on a case-in. filesystem.)
03:14 japhb And this is guaranteed not to screw people who have checkouts and don't 'svn up' in between those two steps?
03:14 Coke japhb: easy enough to test.
03:14 japhb Coke, if I had any Windows boxen, sure.  ;-)
03:15 * Coke sighs.
03:15 japhb Why sigh?
03:16 japhb I'm erring on the side of not screwing people, I would think that was a good thing.
03:17 japhb If the answer is "Wait around for someone with Windows to come help test," that's violently opposed to JFDI.
03:18 japhb I don't have time to be perfect, but I do have time to be "not completely evil".  :-)
03:20 jrtayloriv joined #parrot
03:22 ash_ joined #parrot
03:23 Coke left #parrot
03:23 Austin pmichaud: When a grammar method (token, regex, rule) is called, what values are immediately available in the 'match' object?
03:24 ash_ umm i just wanted to let someone know that I just updated parrot and now make test won't run for me, i get a make: *** [test_pbc_annotation_persistence] Error 255
03:25 pmichaud Austin: whatever has been matched thus far
03:25 pmichaud the 'match' object is the "work in progress"
03:26 Austin So right up front it's nothing but a starting offset and a source string?
03:26 pmichaud pretty much
03:26 Austin Is that in 'to'()? (I'm trying to grok the whitespace optimization hack)
03:26 pmichaud .'from'() contains the position of the beginning of the match
03:27 pmichaud .'to'() contains the current position
03:27 Austin And initially to == from?
03:27 pmichaud yes
03:29 Austin So the shortcut compares .to versus .to -- what is that doing?
03:30 pmichaud it's two different .to's
03:30 Austin If I parse " a b", the first space caches a match {from = 0, to = 1}. (more)
03:31 Austin The second space creates a new match {from=2 to=2} and compares them (fail), replaces the cache and executes the rule, producing {from=2 to=3}, right?
03:31 pmichaud yes, but that's not what the shortcut is for
03:32 Austin Okay.
03:32 Austin What's it for?
03:32 pmichaud the shortcut is when we have nested rules that all call <.ws> (e.g. at the beginning)
03:32 pmichaud for example, if I have
03:32 pmichaud rule a { <b> }
03:32 pmichaud rule b { <c> }
03:32 pmichaud rule c { 'x' }
03:32 pmichaud and then I want to match <a>   against "    x   y    z"
03:33 pmichaud rule a starts with an implicit <.ws>, which grabs all of the whitespace before the 'x'
03:33 pmichaud it then calls into rule b
03:33 Austin Ahhh.
03:33 pmichaud at the beginning of rule b, I don't want to go through all of the <.ws> logic again, because I already know that I just ate the whitespace
03:33 Austin So it's a quick check for zero length?
03:34 pmichaud so when b calls <.ws>, we short circuit, because our current .to position is the same as the .to position that we saved in rule a
03:34 pmichaud that way we don't end up making all of the later calls to check for <.pod_comment> and <.unsp> and various other things that a complex <.ws> rule has to do
03:35 Austin Yeah, I see it now.
03:36 ash_ hmmm well, apparently the tests only failure to run when i do --optimize with my configure, if i don't do the optimize flag it works, thats odd...
03:36 pmichaud so essentially we just memoize the last <.ws> that we matched (from any rule), and whenever we make another subrule call to <.ws> we can short circuit if we've memoized the current position
03:36 Austin As long as the strings are the same. :)
03:36 pmichaud yes, it's not totally robust.
03:36 pmichaud it wasn't intended to be the long-term answer
03:37 Austin On a somewhat related note, I got #include to 'work'
03:37 Austin By making it a declaration, and requiring it only be at extern scope. (So it's not a general solution at all.)
03:38 Austin ash_: It sounds like a new trac ticket:  http://trac.parrot.org
03:39 pmichaud ash_: what platform?
03:39 pmichaud ash_: did you try "make realclean" before building?
03:39 Austin (Although, not working with --optimize is kind of expected, isn't it?)
03:39 japhb Tene: Suggested tasks now in TASKS file: http://gitorious.org/parrot-plumage​/parrot-plumage/blobs/master/TASKS
03:39 pmichaud I hope not -- Rakudo just switched to always wanting --optimize
03:39 Austin :)
03:39 ash_ i am doing a fresh checkout in a different directory to make sure its a problem, and i am on OS X
03:39 Tene japhb: great.
03:40 pmichaud ash_: what version of gcc?
03:40 ash_ apple's gcc 4.2
03:40 Tene japhb: So, as I should have expected, after harassing you all day to give me something to do tonight, real life got in the way tonight. :P
03:40 Tene japhb: will look at it tomorrow, though, or maybe later tonight.
03:40 pmichaud ash_: that's indeed odd -- it used to be that gcc 4.2 on macosx required the --optimize flag in order to work
03:41 pmichaud oh, sorry, it was 4.1.2 and 4.1.3
03:41 pmichaud wrong versions
03:41 japhb Tene, fine by me.  I just wanted to feel like I was out of the way of anyone wanting to help.  ;-)
03:41 pmichaud I wonder if it's related to the ASSERT_ARGS macro change made earlier today.
03:41 ash_ its building now, when its done ill run make test to see if it still throws an error without actually running the tests
03:41 pmichaud ash_: anyway, it definitely deserves a ticket.
03:42 pmichaud (assuming the fresh checkout exhibits the same problem)
03:42 ash_ thats not comforting, i just ran make test and it immediately failed, then ran it again and it started running for a few tests then failed
03:42 ash_ its not very consistant...
03:47 ash_ it seems like t/op/annotate.t is failing at least half the time i run make test, but if it passes it finishes all the tests
03:48 ash_ and it seems to be doing it regardless of --optimize (which i guess is implied now)
03:56 dalek close: r131 | Austin++ | trunk/t/language/08-conditional-expr.t:
03:56 dalek close: Added conditional-expr test (new-style)
03:56 dalek close: review: http://code.google.com/p/close/source/detail?r=131
03:56 dalek close: r132 | Austin++ | trunk/t/08-conditional-expr.t:
03:56 dalek close: Deleted old cond-expr test
03:56 dalek close: review: http://code.google.com/p/close/source/detail?r=132
04:03 ash_ okay, its the 16th test in t/op/annotate.t that is randomly failing, which stops the rest of the tests from finishing
04:03 ash_ i'll make a not of it in trac to see if anyone can track it down further
04:08 ash_ i am going to submit a bug for this one since its seems to be so inconsistent on OS X
04:08 treed jdv79: I am now. What's up?
04:14 quek joined #parrot
04:46 theory joined #parrot
04:48 theory joined #parrot
04:55 jrtayloriv Is there any way for me to validate my grammar.pg file? I don't have anything done in actions.pm, but I just want to make sure that my syntax is correct in grammar.pg before I begin.
04:57 jrtayloriv hmm -- nevermind. I should just be able to ./perl6 ../path/to/grammar.pg, right?
04:59 TimToady joined #parrot
05:02 ash_ joined #parrot
05:07 cotto jrtayloriv, you can run the compiler with --target=parse
05:08 cotto parrot compiler.pbc --target=parse input_file.txt
05:22 jrtayloriv cotto, Sorry -- I was AFK. I'm just trying to check the syntax of the grammar.pg file itself at this point, not to make sure that it parses the HLL correctly.
05:23 Austin jrtayloriv:         $(PARROT) $(PARROT_ARGS) $(PERL6GRAMMAR) --output=$@ $<
05:23 cotto Hmmm.  I guess running it as perl 6 would work then.
05:23 Austin Compile .pg ->$@
05:24 Austin http://nopaste.org/p/aRCuW4Es4
05:27 jrtayloriv Austin, so? --> parrot compilers/pge/PGE.pbc languages/phemer/src/parser/grammar.pg  ... correct? this runs but I'm getting no output, which I suppose is good?
05:27 Zak joined #parrot
05:28 Austin Try adding --output=phemer_grammar.pir
05:29 masak joined #parrot
05:29 flh joined #parrot
05:31 cotto night
05:31 jrtayloriv Austin, parrot compilers/pge/PGE.pbc languages/phemer/src/parser/grammar.pg --output=phemer_grammar.pir   .... is still giving me no output, and the .pir file not being created.
05:32 jrtayloriv cotto, Good night.
05:32 Austin put the --output flag *before* the list of tiles (grammar.pg)
05:32 Austin Good night, cotto.
05:32 kyle_l5l joined #parrot
05:32 Austin Do you have 'make' on your platform?
05:33 jrtayloriv Austin, I have tried it in all three positions (following parrot) -- same result.
05:33 jrtayloriv Austin, Yes.
05:33 Austin Is this a new language?
05:33 Austin Did you do create_language.pl?
05:33 jrtayloriv Austin, Yes and yes.
05:34 Austin So you should have a makefile with the right mojo for this. What's broken?
05:34 jrtayloriv oops Yes, and no.
05:34 Austin Or is it because you're not using an installed parrot?
05:34 jrtayloriv I did mk_language_shell.pl
05:35 jrtayloriv I ass-u-me-d that that's what you meant.
05:35 Austin Okay. I think they're two competing scripts that do roughly the same thing, except one of them is wrong.
05:35 Austin I have no idea which is which.
05:35 purl i already had it that way, Austin.
05:36 Austin Thanks, purl.
05:36 Austin Do you have anything in phemer.pg?
05:36 Austin sorry, in src/parser/grammar.pg?
05:37 jrtayloriv Austin, Yes.
05:37 jrtayloriv That's what I'm trying to validate the syntax of.
05:37 Austin So if you touch that file, and run make, what goes on?
05:38 jrtayloriv http://pastebin.com/d27de372b
05:38 jrtayloriv Looks like it did find a syntax error in there at least ...
05:38 jrtayloriv Once I've corrected the errors, I'll be back if there are other problems. Thank you.
05:38 Austin Happy to (not) help.
05:39 Austin :)
05:42 jrtayloriv What is wrong here --> token string_element { [<-["\]> | '\\\\' | '\\"'] {*} } ... It seems from the error message that the problem is with <-["\]>  ... (perl6regex parse error: Error parsing enumerated character class at offset 1474, found '*')
05:42 jrtayloriv I'm trying to match any character that is not " or \
05:43 Austin Do you know about the magic "string_literal" target?
05:43 Austin Sorry, s/target/rule/ ?
05:44 * jrtayloriv runs off to the Google machine
05:44 Austin It won't help.
05:45 jrtayloriv Indeed.
05:45 Austin http://code.google.com/p/close/source/​browse/trunk/src/parser/tokens.pg#184
05:45 Austin "ident" and "ws" and "string_literal" are built in rules that you get "free" with your grammar.
05:46 Austin Except that "ws" is magickal and not to be trifled with lightly.
05:46 Austin They do what you expect, except for when they don't quite do what you expect. But as long as what you expect is "C", they do it.
05:47 jrtayloriv Austin, Unfortunately, what I expect is Scheme. But I'll play around with it.
05:47 Austin I don't know scheme. What kind of backslash foo does it support?
05:47 JimmyZ joined #parrot
05:48 chromatic joined #parrot
05:48 jrtayloriv Austin, Nothing special -- string literals are always in double quotes, and you escape quotes like \" and slashes like \\ ... that's all I was trying to do.
05:49 jrtayloriv That is C, though, isn't it :)
05:49 Austin Okay. I think your problem was the first backslash, in ["\], which maybe should be doubled?
05:49 jrtayloriv You have to double it in a char class?
05:50 jrtayloriv indeed you do -- thanks again.
05:50 Austin The string_literal knows that double-quoted strings support \r \n \x \t \help-help-im-being-oppressed and a bunch of others.
05:56 uniejo joined #parrot
06:13 fperrad joined #parrot
06:15 flh joined #parrot
06:27 jrtayloriv Night night #parrot
07:17 iblechbot joined #parrot
07:18 dalek close: r133 | Austin++ | trunk/ (15 files):
07:18 dalek close: More working tests.
07:18 dalek close: review: http://code.google.com/p/close/source/detail?r=133
07:24 donaldh joined #parrot
07:40 whoppix joined #parrot
07:44 dalek close: r134 | Austin++ | trunk/t/ (2 files):
07:44 dalek close: Converted t/04-declarations to new-style
07:44 dalek close: review: http://code.google.com/p/close/source/detail?r=134
07:59 quek joined #parrot
08:17 dukeleto joined #parrot
08:40 whoppix joined #parrot
08:40 masak` joined #parrot
08:59 dalek parrot: r41428 | mikehh++ | trunk/MANIFEST.SKIP:
08:59 dalek parrot: manifest_tests failure - regenerate MANIFEST.SKIP
08:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41428/
09:02 MoC joined #parrot
09:07 Austin_Hastings joined #parrot
09:12 moritz if anybody wants to hunt down a reproducible segfault, probably related to exceptions: http://rt.perl.org/rt3/Tic​ket/Display.html?id=69308
09:21 kyle_l5l moritz, what should we see? Exception() ?
09:22 moritz kyle_l5l: probably
09:22 moritz kyle_l5l: any output that's not a segfault is better :-)
09:28 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41428 - Ubuntu 9.04 amd64
09:33 kyle_l5l it works here, so maybe I can dig out a reasonably sized patch
09:39 mikehh partcl r742 builds on parrot r41428 - make test PASS - Ubuntu 9.04 amd64
09:44 einstein joined #parrot
09:58 bacek joined #parrot
10:04 dalek close: r135 | Austin++ | trunk/t/ (2 files):
10:04 dalek close: Updated and moved prefix-expr tests(10)
10:04 dalek close: review: http://code.google.com/p/close/source/detail?r=135
10:06 mikehh rakudo (0220cc2) builds on parrot r41428 - make test / make spectest (up to 28374) PASS - Ubuntu 9.04 amd64
10:09 iblechbot joined #parrot
10:13 Austin pmichaud: ping
10:26 kyle_l5l moritz, that's a pretty good little bug there.
10:27 moritz quality bug-ware :-)
10:28 kyle_l5l it appears to tickle almost all the bugs that keep HLL threads from working.
10:32 kyle_l5l ok, so I can have a "patch" up - one change to rakudo, a lot of changes to parrot.  Should both of them go on that bug report?
10:33 moritz let's say "yes" for the moment
10:33 moritz not sure about the normal procedure
10:33 kyle_l5l ok.  I think the rakudo patch is reasonable.  However, the parrot patch has a lot of really ugly fixes - I'm not sure of the "right way" to do it.
10:34 Austin message pmichaud If I compile this PAST: http://nopaste.org/p/agTSIRQNJ I get this output: http://nopaste.org/p/asBA7Nr2x - notice that $P12() does not pass $P13. What did I do wrong?
10:34 purl Message for pmichaud stored.
10:35 kyle_l5l they're pretty simple, but it requires a lot of rewriting of freeze/thaw.  (handling of metadata is broken)
10:36 moritz I'm not familiar with the parrot internals, so I can't comment on that - but it's not really surprising that some of that is broken
10:46 kyle_l5l moritz, I think I need sleep before I can write a clear reply to that bug.  But, see if these patches work for you: (rakudo) http://foobox.homelinux.net/~kyle/p6ms.patch  (parrot) http://foobox.homelinux.net/~kyle/parrot.patch
10:47 moritz kyle_l5l: great, thank you, and sleep well
10:50 kyle_l5l moritz, welcome.  time for sleep indeed.
10:50 tokuhirom____ joined #parrot
10:55 Austin message pmichaud Never mind. I needed to declare pirop 'inc' as 'inc 0*'.
10:55 purl Message for pmichaud stored.
10:56 fperrad_ joined #parrot
11:17 baest joined #parrot
11:18 tokuhirom____ joined #parrot
11:19 dalek close: r136 | Austin++ | trunk/ (11 files):
11:19 dalek close: Fixed up prefix ops
11:19 dalek close: review: http://code.google.com/p/close/source/detail?r=136
11:30 jsut joined #parrot
11:32 payload joined #parrot
11:34 tetragon joined #parrot
11:40 gaz joined #parrot
11:53 bacek o hai
12:00 bluescreen joined #parrot
12:13 whiteknight joined #parrot
12:16 ruoso joined #parrot
12:17 whiteknight good morning #parrot
12:18 * bacek wave from future
12:19 dalek parrot: r41429 | bacek++ | trunk/runtime/parrot/librar​y/Data/Dumper/Default.pir:
12:19 dalek parrot: [cage][core] Sort Hash keys in Capture.dump to get predictive result.
12:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41429/
12:19 dalek parrot: r41430 | bacek++ | trunk/t/compilers/pct (2 files):
12:19 dalek parrot: [t] Fix and unskip PCT tests.
12:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41430/
12:34 jdv79 moritz: around?
12:34 moritz jdv79: yes
12:35 jdv79 moritz: http://nopaste.com/p/aqPAJZkVab
12:36 dalek parrot: r41431 | coke++ | trunk/runtime/parrot/librar​y/Data/Dumper/Default.pir:
12:36 dalek parrot: Fix typos.
12:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41431/
12:40 moritz jdv79: thanks, applied
12:40 jdv79 thanks.  forgot that bit.
12:40 dalek rakudo: e9a7966 | moritz++ | t/harness:
12:40 dalek rakudo: submit smoker name to smolder, jdv79++
12:40 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​9a79661c6aa2767d80289bc5422873f93819876
12:49 dalek partcl: r743 | coke++ | trunk/t/harness:
12:49 dalek partcl: Report submitter to smolder, if present.
12:49 dalek partcl: Update Issue 109
12:50 dalek partcl: Patch courtesy justin@devuyst.com
12:50 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=743
12:58 bluescreen joined #parrot
13:00 fperrad message pmichaud About r41417, if NQP is a language, the executable must be named parrot-nqp (instead of parrot_nqp), like parrot-abc, ... ( see PDD30)
13:00 purl Message for pmichaud stored.
13:06 jsut_ joined #parrot
13:07 uniejo joined #parrot
13:21 whiteknight irclogs?
13:21 purl rumour has it irclogs is http://irclog.perlgeek.de/parrot/today or see also: infrared clogs
13:29 JimmyZ joined #parrot
13:50 whiteknight joined #parrot
13:59 Andy joined #parrot
13:59 iblechbot joined #parrot
14:13 whoppix joined #parrot
14:23 theory joined #parrot
14:27 diakopter joined #parrot
14:32 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41431 - Ubuntu 9.04 amd64
14:35 ash_ joined #parrot
14:35 Psyche^ joined #parrot
14:49 kjeldahl joined #parrot
14:50 bluescreen joined #parrot
15:05 jrtayloriv Any idea what this error means --> http://pastebin.com/d5db280f2
15:07 jrtayloriv I don't have anything in actions.pm, if that matters. I'm just trying to make sure that the grammar.pg is correct.
15:07 dalek parrot: r41432 | NotFound++ | trunk/examples/nci/Mysql.pir:
15:07 dalek parrot: throw when prepare statement fails
15:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41432/
15:08 NotFound Uh... mistake, this must have been in parrot-mysql
15:10 whiteknight jrtayloriv: no idea, never seen that one before
15:11 moritz it happens when something[tm] receives more positional arguments than necessary, and expects named arguments too
15:12 jrtayloriv Do I need to declare stubs in actions.pm  for each rule from grammar.pg, before I can do that?
15:13 moritz don't think so
15:13 moritz jrtayloriv: try removing the {*}s
15:14 moritz that's what makes PGE try to call the action method
15:14 moritz and there's really no point in having them if you don't have action methods
15:14 chromatic joined #parrot
15:16 jrtayloriv moritz, Yes, I know they are useless right now, I just didn't want to have to come back and write them later. So can I comment them out like :  <real_16> '@' <real_16> {*}  #= complex_polar  ----->  <real_16> '@' <real_16> {*} # #= complex_polar
15:17 jrtayloriv oops (move that # in front of the {*} ...
15:17 jrtayloriv Basically -- comments work normally inside of rules/tokens right?
15:18 moritz right
15:19 jrtayloriv thanks
15:20 moritz anyway, I don't see any sense in putting {*} hooks into grammars before you write action methods, because you don't know where you need them
15:20 moritz at some point in the future there will be an implicit {*} at the end of each rule
15:20 dalek parrot: r41433 | NotFound++ | trunk/src (2 files):
15:20 dalek parrot: [nci] fix and simplify handling of 'p' arguments in frame_builder
15:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41433/
15:20 dalek parrot: r41434 | NotFound++ | trunk/examples/nci/Mysql.pir:
15:20 dalek parrot: [examples] update Mysql.pir from the parrot-mysql repo version
15:20 moritz (at least the Perl 6 spec change that way, and I assume PGE will track that)
15:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41434/
15:22 NotFound Now Mysql works in i386 built without --buildframes=0 :)
15:22 jrtayloriv moritz, I learned to put the {*} hooks everywhere from a book called "Teach Yourself Voodoo Programming in 24 Hours".
15:22 jrtayloriv thanks again ;)
15:22 PerlJam jrtayloriv: does it error if you don't comment out the {*} ?  I thought action methods were only called if they exist and otherwise silently ignored.
15:23 payload joined #parrot
15:23 jrtayloriv PerlJam, One moment, I'm commenting them out now. brb
15:27 jrtayloriv PerlJam, Yes, if the backtrace is correct (i.e. if the error actually is occuring in the <symbol> rule, then removing them did not make the error stop occuring.
15:27 moritz ETOMANYNEGATIONS
15:28 moritz the error continued to occur, right?
15:28 jrtayloriv moritz, Yes, sorry. --> I commented out the {*}'s and the errors are still occuring.
15:29 jrtayloriv s/errors are/error is/
15:55 darbelo joined #parrot
15:56 jrtayloriv moritz, I've gone ahead and commented/removed all of the {*}'s in grammar.pg, not just in <symbol>, and for some reason, it is still giving the same error about "positional inside named args" in <symbol> ... And I can't see anything wrong w/ my syntax --> http://pastebin.com/d76b6e2ae ... could it be that the error is not in <symbol> even though the backtrace says it is?
15:58 whiteknight jrtayloriv: aren't there supposed to be underscores in the names symbol_initial, symbol_constituent, and peculiar_symbol?
15:59 PerlJam whiteknight++
15:59 jrtayloriv oh jeebus ... :S
15:59 whiteknight save me jeebus!
15:59 jrtayloriv sorry for the time waste ....
15:59 whiteknight no time ever wasted asking questions
16:00 jrtayloriv sweeet! works now -- whiteknight++ moritz++ Perljam++
16:01 PerlJam jrtayloriv: Since you've seen the symptoms and now know the problem, you'll be more likely to notice problems like this in the future.  Since I've just looked at your paste and see the problem and the symptoms, *I'll* be more likely to notice these in the future.
16:01 PerlJam That is *not* time wasted.
16:01 whiteknight right, and now everybody can write lots of documentation about it!
16:01 whiteknight and tests!
16:02 jrtayloriv PerlJam, True.
16:02 dalek cardinal: e1037c8 | treed++ | Rakefile:
16:02 dalek cardinal: Ensure that get_submitter always returns something. (jdv79++)
16:05 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/e1037c8c03323e991860b935c71d5e73dbefae32
16:11 TimToady and I can think about whether this is possible to detect statically :)
16:11 payload joined #parrot
16:12 jrtayloriv Is there any situation where <foo bar> would be meaningful?
16:12 TimToady unfortunately, method names are dynamic, and bare words are just patterns
16:13 TimToady so we'd have to change the syntax somehow to make it catchable, probably not worth it
16:13 hercynium joined #parrot
16:15 TimToady but it's a small argument for requiring quotes on bare word patterns
16:16 davidfetter joined #parrot
16:19 flh joined #parrot
16:32 tewk TimToady, just saw your chicago google talk on youtube.
16:32 tewk I asked pmichaud if he knew about derivative regular expression, he didn't have you heard of them?
16:49 iblechbot joined #parrot
16:51 dalek TT #1060 created by ash.gti++: Inconsistant test failures in t/op/annotate.t
16:52 whiteknight the phrase "inconsistent failures" sends shivers up my spine
16:57 whiteknight especially on systems where I can't do any local testing
16:58 TimToady tewk: no, I've probably just re-invented them. :)
17:00 mokurai joined #parrot
17:03 NotFound whiteknight: especially when not providing a backtrace.
17:03 whiteknight true
17:08 tewk TimToady, yeah thats what I thought.  They were invented/discovered in the 60s and have reappeared recently as a lexing mechanizm.
17:09 tewk A professor of mine is extending them to Context Free Grammars as a unified lexing/parsing mechanism.
17:13 tewk The orig 1960's paper - http://portal.acm.org/citation.cfm?id=321249
17:14 tewk Recent paper - http://www.cl.cam.ac.uk/~so294/documents/jfp09.pdf
17:15 dukelet0 'ello
17:17 whiteknight hello duke
17:19 TimToady tewk: well, I'm doing it for Context Not-so-free Grammars too.  :)
17:20 TimToady but does sound similar
17:20 NotFound Next step can be do it for Content-free.
17:28 dalek parrot: r41435 | NotFound++ | trunk (2 files):
17:28 dalek parrot: [nci] use get_nci_p also when no buildframes
17:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41435/
17:39 kyle_l5l joined #parrot
17:53 chromatic joined #parrot
17:58 darbelo Are the tests in  t/tools/pmc2c.t actually useful?
17:59 chromatic Not really.
18:00 darbelo I'm about to break them. Should I fix or remove them?
18:01 chromatic Fix for now, then in #ps we can talk about pros and cons.
18:01 darbelo From DPERECATED.pod: =item "pmclass" with name not matching file's basename [eligible in 1.5]
18:02 darbelo Amusingly, all tests rely on this broken behaviour.
18:03 cotto_work gdb 7.0 looks unusually shiny
18:03 cotto_work http://www.gnu.org/softwar​e/gdb/news/reversible.html
18:04 cotto_work darbelo, many of those tests are broken anyway.
18:05 darbelo Yeah, but now they are warn()-broken, they're about to become die()-broken.
18:08 dalek pynie: r87 | allisonrandal++ | trunk/Lib/test/ (2 files):
18:08 dalek pynie: Rename 'parrot' tests to 'bootstrap' for clarity.
18:08 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=87
18:08 darbelo I'll make it a ticket.
18:09 donaldh joined #parrot
18:10 joeri joined #parrot
18:14 darbelo trac sloooooooow
18:21 darbelo correction: ISP sloooooooow
18:27 whiteknight oh wow, reverse debugging looks awesome
18:27 donaldh joined #parrot
18:27 cotto_work I don't usually get excited about gdb.
18:28 cotto_work That feature sounds very useful, though.
18:29 bluescreen joined #parrot
18:29 cotto_work btw PyPy seems to be doing something similar to what we we're hoping to do with Lorito (compiling a subset of Python to C).  Has anyone looked at it?
18:30 darbelo Not in recent years.
18:31 hudnix joined #parrot
18:31 darbelo "PyPy is an implementation of the Python programming language written in Python itself"
18:35 whiteknight I would be very interested to see what their performance numbers look like
18:35 whiteknight I would imagine, depending on the number and types of ops that they write in C, that they could see very competitive performance to CPython
18:37 donaldh joined #parrot
18:38 whiteknight the idea of using a meta-circular interpreter is very attractive, i think
18:39 darbelo Skimming the web site it looks like they use a simplified dialect of Python to write a Python interpreter and then translate that interpreter to object code.
18:45 donaldh joined #parrot
18:46 cotto_work I'd dig into it but I don't have a proper Linux dev environment set up here yet.
18:46 cotto_work I'm sure there are some lessons to be learned.
18:47 donaldh joined #parrot
18:50 mberends joined #parrot
18:50 whiteknight I do wonder how it's going to handle reverse execution through Parrot's runloop
18:51 whiteknight dispatching to function pointers in an array by index is not a trivial thing to reverse
18:52 whiteknight not impossible, of course
18:52 particle using the COMEFROM op i suspect
18:52 darbelo setjmp/jongjmp would make it rather difficult too,
18:59 whiteknight $P0 = whatwasIjustdoing \n godothatthing $P0
19:01 darbelo undothatthing $P0 \n gobacktowhatwasIjustdoing $P0
19:05 dukelet0 who is working on COBOL on Parrot?
19:08 NotFound dukelet0: Do you mean writing a parrot VM in COBOL?
19:10 darbelo COBOL on Parrot : a comprehensive continuation-based strategy for the migration of legacy business-critical procedural applications to next-generation laguage-level virtualization platform
19:11 * dukelet0 kids
19:15 whiteknight dukelet0: I had looked at it in the past, hadn't actually implemented anything
19:15 whiteknight it's a big grammar, but it's very doable I think.
19:15 NotFound No mention of Web 2.0 or clouds? What a bad PR! ;)
19:16 whiteknight dukelet0: I had actually planned an entire "Legacy Languages" project, which would contain compilers for all sorts of old languages
19:17 whiteknight B, BCPL, ALGOL, COBOL, PL/1, etc
19:17 whiteknight but, not enough tuits and more important work to do instead
19:18 darbelo I think ALGOL-on-parrot is pretty doable. I might try it some day.
19:18 NotFound Some day I'll write an INTERCAL
19:18 whiteknight INTERCAL would be nice too
19:18 darbelo But I want to ressurect our c99 parser before that.
19:19 whiteknight And it's not just pie in the sky bullshit either, there's real potential if we say "run all your existing code on Parrot in old dusty languages, and write extensions and things in cool new languages like Perl 6"
19:19 whiteknight you don't need to hire an INTERCAL programmer to add features to an INTERCAL program. host it on parrot and write your updates in PHP or Python 3
19:20 NotFound I wonder if someone has been ever paid to write INTERCAL code.
19:20 NotFound Maybe in beers...
19:21 TimToady Can I be paid to NOT write INTERCAL code?
19:21 TimToady seems like the sort of thing the U.S. gummint would sign up to
19:24 flh joined #parrot
19:33 * cotto_work gives TimToady a quarter not to write INTERCAL
19:33 cotto_work Does that count?
19:35 TimToady can I start next quarter?
19:35 donaldh joined #parrot
19:37 donaldh joined #parrot
19:40 whiteknight darbelo: an algol compiler would be cool enough, but make sure it's a variant of algol that has quotes
19:40 darbelo quotes?
19:40 purl quotes is "what makes the world go round"
19:40 whiteknight "PRINT £HELLO WORLD£L??" is heinous and shouldn't be continued
19:41 darbelo Ah.
19:41 whiteknight I think it was Elliot Algol that didn't have quotes
19:42 whiteknight but it actually worked on paper tapes, so it could have been killed in a fire
19:42 whiteknight a flag that turns on or off stropping would be cool too
19:45 darbelo I'd probably target ALGOL 68, with the others lacking I/O and all.
19:46 darbelo print(("Hello, world!",newline))
19:49 whiteknight yeah, that's better
19:50 darbelo You'll probably get a kick out of http://www.xs4all.nl/~jmvdveer/algol.html
19:50 darbelo PostgreSQL bindings!
20:00 TimToady phone
20:03 ruoso joined #parrot
20:06 Tene After I get plumage stuff worked out a bit more, pgsql bindings for Parrot are one of the next items on my list.
20:07 japhb *rez*
20:08 japhb "a bit more"?  Been hacking?  (He says, ever hopeful ....)
20:11 * particle summons chromatic
20:21 darbelo You didn't say 'optimize' or 'speed gains'.
20:21 darbelo You have to use the proper incantations :)
20:24 dalek parrot: r41436 | NotFound++ | trunk (3 files):
20:24 dalek parrot: [nci] simplify handling of P and P-like arguments
20:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41436/
20:26 darbelo NotFound++ # making the frame builder less ugly.
20:27 NotFound Now that JIT is off the way, is easier :)
20:47 jrtayloriv joined #parrot
20:49 einstein there is a memory leak in undef.pmc->set_pmc
20:50 einstein first is  PMC_data(clone)     = PMC_data(SELF); which is good
20:51 cotto_w0rk joined #parrot
20:51 einstein but then PMC_data(clone) = NULL; set back to null losing the pointer to the self data
20:52 einstein oh pmc undef has no attributes nothing :)
20:53 darbelo einstein: Undef is an empty shell. It has no data.
20:53 einstein yes i saw it later sorry
21:02 hercynium joined #parrot
21:03 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41436 - Ubuntu 9.04 amd64
21:07 slavorgn joined #parrot
21:09 chromatic joined #parrot
21:10 GeJ joined #parrot
21:15 darbelo seen Infinoid?
21:15 purl Infinoid was last seen on purl 1 days, 5 hours, 37 minutes and 2 seconds ago, saying: <private message>  [Sep 22 15:30:16 2009]
21:16 darbelo purl: msg Infinoid Does dalek know how to handle gitorius repos?
21:16 purl Message for infinoid stored.
21:23 chromatic joined #parrot
21:35 dukelet0 darbelo: if you add your stuff to the languages page on the wiki you can find out
21:37 darbelo tis not a language :)
21:37 darbelo plumage
21:37 Infinoid darbelo: not yet.  It needs a gitorious equivalent of http://github.com/Infinoid/dalek-plugins/​blob/master/modules/local/githubparser.pm
21:38 darbelo purl: plumage is the future Parrot module ecosystem.  It will include tools to search metadata, handle dependencies, install modules, and so forth.
21:38 purl ...but plumage is all about that....
21:38 darbelo no, plumage is the future Parrot module ecosystem.  It will include tools to search metadata, handle dependencies, install modules, and so forth.
21:38 purl okay, darbelo.
21:41 darbelo plumage is also git://gitorious.org/parrot-​plumage/parrot-plumage.git
21:41 purl okay, darbelo.
21:41 darbelo plumage is also see https://trac.parrot.org/pa​rrot/wiki/ModuleEcosystem
21:41 purl okay, darbelo.
21:45 chromatic joined #parrot
21:53 darbelo Infinoid: what do you use to test it?
21:55 Infinoid darbelo: "make test"
21:55 purl "make test" is probably possessed!
21:56 Infinoid I stick snippits of rss in the test scripts to validate the parsers and output
21:56 darbelo Time to dive in I guess.
21:56 Infinoid and I (badly) emulate the halfass module scheme used by botnix in order to drive the plugins
21:58 Infinoid if you're sufficiently motivated, I certainly won't stop you. :)
22:00 dalek parrot: r41437 | chromatic++ | trunk/src/interp/inter_misc.c:
22:00 dalek parrot: [src] Fixed interpinfo() runloop reporting case to avoid returning an
22:00 dalek parrot: uninitialized INTVAL when running a dynamically loaded runloop.  There are no
22:00 dalek parrot: dynamically loaded runloops *yet*, but this avoids a compiler warning too.
22:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41437/
22:00 dalek parrot: r41438 | chromatic++ | trunk (2 files):
22:00 dalek parrot: [ops] Fixed runinterp_p_ic op to switch to the appropriate segment when
22:00 dalek parrot: executing code from a static label in a new interpreter.  (Without this, the
22:00 dalek parrot: constant table is wrong, leading to bizarre segfaults.)  Unskipped a test in
22:00 dalek parrot: t/op/interp.t which demonstrates that this no longer segfaults.
22:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41438/
22:13 dalek pynie: r88 | allisonrandal++ | trunk/runtests.py:
22:13 dalek pynie: Update tests to new path of bootstrap test files.
22:13 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=88
22:13 bacek joined #parrot
22:14 bacek Goo morning
22:15 bacek bah. "Good" (fsvo)
22:20 chromatic Hm, the runinterp opcodes could be crashy crashy.
22:22 chromatic Same as the branch and goto opcodes, though.
22:25 kid51 joined #parrot
22:49 dalek pynie: r89 | allisonrandal++ | trunk/runtests.py:
22:49 dalek pynie: Streamline tests to use pynie executable directly, instead of
22:49 dalek pynie: intermediate bytecode file.
22:49 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=89
22:50 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41438 - Ubuntu 9.04 amd64
22:50 darbelo It's nice to see pynie moving.
22:51 darbelo But I still think the definitive python on parrot compiler should be named quetzalcoatl.
22:54 japhb Do you have to sacrifice whitespace to it?
22:55 mikehh I thought that was something to do with dead parrots
22:55 darbelo If feeds upon the hearts tab-indenting infidels.
22:56 japhb darbelo++
22:58 mikehh that should make some others indent properly
22:59 TimToady surely quetzalcotl indents meatspace
22:59 darbelo Ever wondered why all mayan codices are indented with spaces? Now you know.
23:00 mikehh you should inca that in gold
23:10 dalek decnum-dynpmcs: r182 | darbelo++ | trunk/Configure.pir:
23:10 dalek decnum-dynpmcs: New configure script now in PIR. This makes Configure.pl deprecated.
23:10 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=182
23:19 Zak joined #parrot
23:21 rhr joined #parrot
23:27 dalek parrot: r41439 | NotFound++ | trunk/src/pmc/continuation.pmc:
23:27 dalek parrot: [pmc] check seg before dereferencig in Continuation set_pointer
23:27 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41439/
23:40 patspam joined #parrot

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

Parrot | source cross referenced