Camelia, the Perl 6 bug

IRC log for #parrot, 2010-08-21

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 tcurtis left #parrot
00:00 Paul_the_Greek left #parrot
00:01 Psyche^ joined #parrot
00:06 Patterner left #parrot
00:06 Psyche^ is now known as Patterner
00:08 cotto_work dafrito: what additional features do you think the trac plugin needs to have before we can start showing it off?
00:13 ruoso joined #parrot
00:14 Paul_the_Greek joined #parrot
00:15 dafrito cotto_work: I'm not very fluent in trac-ish things, so I probably can't give a good answer
00:15 cotto_work hi Paul_the_Greek
00:15 dafrito A rough parity between the SVN counterpart and the git one (except for the things we let github do for us) makes a good milestone
00:15 cotto_work ok.  I'm just brainstorming.  I have a couple things, but having a demo site ready for people to play with by next #ps sounds attainable.
00:16 dafrito What were you thinking?
00:17 cotto_work wiki syntax support for svn and git changesets, including tooltips is the biggest thing I can think of
00:17 cotto_work The tooltips are quite nice.  I'd hate to lose them.
00:19 * dafrito will be on vacation next week, so I'll be less consistent
00:19 cotto_work I'm glad to have whatever tuits you care to donate.  Enjoy your vacation!
00:19 Paul_the_Greek Going someplace nice?
00:20 dafrito Grand Junction, Colorado, to see my girlfriend :)
00:20 Paul_the_Greek Excellent.
00:20 Paul_the_Greek Are pbc file formats platform-dependent?
00:21 cotto_work Yes and no.
00:21 dafrito cotto_work, do you have an example of where the tooltips are used?
00:22 cotto_work There's a platform-specific version that's generated by parrot on a given platform, but parrots on different platforms should be able to load and run any pbc file.
00:23 cotto_work dafrito: http://trac.parrot.org/parrot/ticket/1652 has an example
00:24 Paul_the_Greek Ah, it appears to be optimized for a particular platform, but loadable on any.
00:24 cotto_work exactly
00:26 Paul_the_Greek Is a PBC file and a packfile the same thing?
00:26 plobsing_work Paul_the_Greek: sort of optimized. I looked at the dissasembly of reading a native packfile integer. Its huge. I think inlining src/byteorder.c into src/packfile/pf_items.c could improve performance. But it is not a bottleneck.
00:28 cotto_work plobsing_work: ooc do you think it's a premature optimization?
00:28 plobsing_work cotto_work: not at all. the two files do essentially the same thing, one just forwarding to the other.
00:29 plobsing_work no other place in parrot has to manipulate endianness and intvals/flotavals of various sizes
00:30 plobsing_work it's not premature, it's just not much of a win performance-wise. code-complexity-wise, it is a win.
00:30 kid51 joined #parrot
00:30 Paul_the_Greek So the header describes the integers/floats and then platform-specific code converts to internal format.
00:30 cotto_work ok.  Thanks.
00:33 Paul_the_Greek plobsing_work: It's really messy to internalize an integer? There are only four cases or so.
00:34 davidfetter joined #parrot
00:35 plobsing_work 4 pbc types => 4 reader architectures = 16 types of conversions
00:35 Paul_the_Greek Oh, but the floats.
00:35 plobsing_work but I agree it is a little messier than necessary. It's just not very important because it JFW.
00:37 Paul_the_Greek Jamaica Federation of Women?
00:37 plobsing_work Just F'ing Works
00:38 cotto_work jfw?
00:38 purl well, jfw is just f**king work.
00:38 Paul_the_Greek Thanks, purlie-pooh.
00:38 plobsing_work afk # friday night
00:38 plobsing_work left #parrot
00:39 Paul_the_Greek Do we have benchmark results online anywhere?
00:40 cotto_work Someone had a script to run benchmarks against various versions of Parrot, possibly andy.
00:40 cotto_work I don't think they made it online anywhere.
00:40 tcurtis joined #parrot
00:41 cotto_work though I'll buy you beer if you rip off speed.pypy.org for us.
00:42 Paul_the_Greek Cute.
00:43 Paul_the_Greek Log the benchmakrs on each release and generate some graphs.
00:44 cotto_work daily would be better, but that's bikeshedding at this point
00:44 Paul_the_Greek I should write some Python code sometime, just to see if a whitespace language is as whacky as I think.
00:45 cotto_work If you've ever wanted to hack on a Trac plugin, I know a guy.
00:46 Paul_the_Greek That doesn't come to mind as big fun, but you never know.
00:46 cotto_work your call
00:48 Paul_the_Greek Can I proclaim you my mentor, or should someone make an official assignment?
00:48 cotto_work Sure.
00:49 cotto_work Committer mentoring is pretty informal.
00:49 Paul_the_Greek You've been doing much of the mentoring anyway. I appreciate that.
00:49 cotto_work np
00:49 Paul_the_Greek I have that one ticket to fix and also the opcode ticket. Those can be my first commits.
00:50 Paul_the_Greek I have no idea how to apply a patch to the system. Is there a document about that?
00:52 cotto_work usually it's something like patch -p0 <your_patch.diff
00:52 cotto_work man patch
00:54 Paul_the_Greek But how is that applied to the master source, as opposed to my  copy?
00:54 cotto_work svn commit
00:54 purl somebody said svn commit was done
00:54 Paul_the_Greek Oh, so I apply it to my copy, then commit it?
00:54 cotto_work that's how it works
00:55 Paul_the_Greek So if it's my own patch, I can simply commit my working copy of the file?
00:55 cotto_work You won't be committing the whole file, just your changes.
00:55 cotto_work yes
00:55 cotto_work sorry, misread
00:56 Paul_the_Greek Wait, confused.
00:56 Paul_the_Greek If I commit my working copy, then svn deals with creating the patch that maps the old file to the new one?
00:57 cotto_work yes
00:57 dngor_ joined #parrot
00:57 Paul_the_Greek When I commit someone else's patch, then I download it, run patch, then commit my updated file?
00:57 cotto_work assuming all tests pass, yes
00:58 Paul_the_Greek Slight change of topic: When I return home, I should do the following, right?
00:58 Paul_the_Greek Save my changed files off to the side.
00:58 Paul_the_Greek svn update
00:58 purl At revision 666.
00:59 Paul_the_Greek Rework my changes in.
00:59 Paul_the_Greek Create patch files.
00:59 cotto_work When you run svn update, svn will attempt to merge changes from trunk with local canges.
00:59 cotto_work *changes
00:59 Paul_the_Greek Oh...
00:59 cotto_work If there are conflicts it can't figure out, it'll give you the information you need to resolve them.
00:59 Paul_the_Greek And it will update every file that has changed since I last updated?
00:59 cotto_work yes
01:00 Paul_the_Greek Well, that's not as bad as I'd feared.
01:01 Paul_the_Greek What's the differrence between that and checking out everything again?
01:01 cotto_work It doesn't make sense to check out into a non-empty directory
01:01 Paul_the_Greek Okay.
01:02 dngor left #parrot
01:02 Paul_the_Greek One more question and I'll let you go: Would it be clearer if I first update each file I've changed, individually, and then update all?
01:03 cotto_work There's no need.
01:03 Paul_the_Greek Great, thanks.
01:03 cotto_work glad to be of use
01:03 Paul_the_Greek Oh wait, I lied. One more:
01:03 Paul_the_Greek Is it the policy to attach a patch and wait awhile even if I plan to commit my own change?
01:04 cotto_work It's a good idea, especially if you're not sure of your change.
01:04 Paul_the_Greek Makes sense. Okay, thanks a bunch!
01:04 cotto_work How much longer is your vacation?
01:05 Paul_the_Greek I'll be home a week from Sunday.
01:07 Paul_the_Greek Evening, all.
01:08 Paul_the_Greek left #parrot
01:09 dafrito cotto_work: Should the trac plugin implement IRepositoryConnector?
01:10 cotto_work why do you ask?
01:10 dafrito Well, I think that's related to our no 'Browse Source' woes
01:11 dafrito It looks like trac's RepositoryManager checks for living repositories to determine whether that tab should be shown
01:12 cotto_work Sounds likely then.  I'm going home but I've got it on my todo list.
01:12 dafrito That interface carries a bit of baggage, though, since we have to provide a useful Repository implementation, so I can understand us avoiding it
01:13 dafrito I'll dig deeper and see what it'll take
01:16 pgollucci left #parrot
01:22 khairul left #parrot
01:26 cotto ~~
01:26 davidfetter left #parrot
01:31 dalek TT #1749 created by pmichaud++: readall method on open FileHandle is inefficient
01:31 dalek TT #1749: http://trac.parrot.org/parrot/ticket/1749
01:36 dalek github-trac: 172cdfb | ++ | github/github.py:
01:36 dalek github-trac: only create the db tables if the revmap is explicitly enabled
01:36 dalek github-trac: review: http://github.com/cotto/github-trac/commit​/172cdfb2bd557c386266cbca45cf0fc6bc9b6e36
01:36 dalek github-trac: 3501d76 | ++ | TODO:
01:36 dalek github-trac: remove a todo item
01:36 dalek github-trac: review: http://github.com/cotto/github-trac/commit​/3501d7658dd8bf0102022d4e9e3d063a1155a474
01:36 dalek github-trac: cba8cca | ++ | / (4 files):
01:36 dalek github-trac: Merge branch 'master' of github.com:cotto/github-trac
01:36 dalek github-trac:
01:36 dalek github-trac: Conflicts:
01:36 dalek github-trac: TODO
01:36 dalek github-trac: review: http://github.com/cotto/github-trac/commit​/cba8ccad19f1deb4cd2033cfb2f7ce3ded72356f
01:37 * dafrito notes that Robert A. Heinlein's quote on http://parrot.org breaks the layout :(
01:37 cotto /me hates <pre> abuse
01:38 * cotto also notes that dalek needs a hug
01:38 dafrito Yeah, he seems to have forgotten your name
01:47 Infinoid cotto: Your login is reported as "" in http://github.com/api/v2/yaml/comm​its/list/cotto/github-trac/master
01:48 Infinoid I can hack it to use realname in that case, but it seems like some detail of how you're making commits.
01:48 pgollucci joined #parrot
02:02 tcurtis How can I force a StringBuilder to use a certain encoding from C?
02:35 janus left #parrot
02:42 janus joined #parrot
02:42 bacek joined #parrot
02:48 aloha joined #parrot
02:55 dalek TT #1750 created by jkeenan++: t/pmc/packfile*.t:  Failures in multiple files on Darwin/PPC; not ...
02:55 dalek TT #1750: http://trac.parrot.org/parrot/ticket/1750
03:12 theory left #parrot
03:16 dngor_ is now known as dngor
03:17 Andy joined #parrot
03:18 jeffrey joined #parrot
03:20 jeffrey Reading the C code for parrot, it's very good looking stuff, from the aesthetic point of view
03:20 jeffrey Just very attractively laid out
03:20 cotto you can than headerizer and our codingstd tests
03:21 cotto thanks
03:21 cotto s/than/thank/
03:21 jeffrey Is the configuration software useable outside of parrot?
03:21 jeffrey Say as an alternative to GNU's autoconf?
03:22 cotto You'd have to ask someone like kid51 about how easy it'd be to use it for another project.
03:23 pmichaud based on previous reputation, I'd say "probably not reusable"
03:23 pmichaud it may have been significantly refactored since then
03:23 jeffrey thanks
03:23 pmichaud but traditionally that was an area that people were loathe to touch
03:23 pmichaud kid51++ has done an outstanding job with it
03:24 jeffrey Just thought I'd check
03:24 jeffrey Because looking at the C code you guys obviously know what you're doing
03:24 jeffrey So if you config logic was easy to steal, I thought it'd be a great thing to use
03:25 jeffrey Autoconf is of course very, very ugly
03:25 kid51 left #parrot
03:25 pmichaud yes, I think it's part of the nature of the beast.
03:25 pmichaud anyway, I may be mis-speaking about parrot's config; it may be exactly what you need.  I just know that many of us have grumbled about it from time to time :-)
03:25 jeffrey I will look into headerizer and codingstd
03:26 jeffrey It'd be a wonderful thing to have my code look half as pretty as the Parrot C code
03:26 cotto The codingstd tests should be pretty easy to reuse if you have a sane way to get a list of the C files.
03:26 cotto t/codingstd/*t
03:27 cotto Though you clearly haven't seen some parts of the code.
03:27 cotto ;)
03:27 jeffrey I've taken a random sample and am going to assume it's all beautiful :-)
03:27 pmichaud oh, headerizer and codingstd are undoubtedly worth looking at
03:28 pmichaud those are relatively recent, and (as cotto++ said)  a big part of why the codebase is so clean
03:29 kid51 joined #parrot
03:32 jeffrey I'm looking at the codingstd stuff now -- seems very useful.
03:32 jeffrey Thanks.  Have a good evening!
03:32 aloha left #parrot
03:33 bacek left #parrot
03:35 jeffrey left #parrot
03:36 dalek rakudo: 03a9388 | pmichaud++ | build/PARROT_REVISION:
03:36 dalek rakudo: Bump PARROT_REVISION to get && in regexes.
03:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​3a9388c127d14547496ba05abf867bd03425d27
03:36 dalek rakudo: 1996bac | pmichaud++ | src/Perl6/Grammar.pm:
03:36 dalek rakudo: Refactor <.dumbsmart> rule.
03:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​996bacea349965ca5116ffe864432a2804e29ce
03:36 dalek rakudo: d1015f0 | pmichaud++ | src/core/Cool-str.pm:
03:36 dalek rakudo: Rewrite .chomp method to be more efficient.  With this change, the time needed to read 10,000 lines via for $*IN.lines { ... } goes from 75 seconds to 21 seconds on my system.
03:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​1015f0a7bfe4fc0e6435a261426a3735ffa7aec
03:43 brianwisti joined #parrot
03:44 brianwisti Oh hey, Mibbit is prettier than BitchX. Fancy that.
03:47 cotto It's got its share of annoying quirks though.
03:48 cotto Coke, do you recall if partcl uses ops2c.pl or if it switched to the ops2c fakecutable?
03:50 kid51 left #parrot
03:52 cotto nm.  It uses the fakecutable.
04:02 brianwisti left #parrot
04:13 hercynium left #parrot
04:47 brianwisti joined #parrot
05:03 Chandon left #parrot
05:14 jsut_ joined #parrot
05:18 jsut left #parrot
05:36 cotto Is there any reason why ack wouldn't be searching directories recursively?
05:36 Andy yes
05:36 Andy you could have some environment stuff
05:36 Andy try --noenv
05:37 Andy even better, do ack -f --noenv
05:37 Andy and see what files it is searching.
05:37 cotto it lists nothing
05:37 Andy ok
05:37 cotto in /usr/lib/python2.6/dist-packages/trac, which is decidedly non-empty
05:37 Andy what's in there?
05:38 Andy What does find show you
05:38 Andy Is there actual source code in there?
05:38 cotto lots of .py and .pyc files, several directories
05:38 cotto yes
05:38 Andy The .py it should be finding.
05:38 Andy I'm not sure I can tell you from here.
05:39 cotto it works in other directories
05:39 Andy do a find on that dir and nopaste it
05:39 cotto any special args to find?
05:40 Andy no
05:41 nopaste "cotto" at 192.168.1.3 pasted "list of files for andy" (467 lines) at http://nopaste.snit.ch/22953
05:41 cotto plenty of normal-looking files
05:41 cotto ack 1.92
05:42 cotto perl 5.10.1
05:42 purl somebody said perl 5.10.1 was out
05:42 Andy what does "ack -a -f" show you
05:43 cotto a whole bunch of .pyc files (including ones in subdirectories) but nothing else
05:43 nopaste "cotto" at 192.168.1.3 pasted "ack -a -f" (125 lines) at http://nopaste.snit.ch/22954
05:44 Andy something smells like permissions
05:44 Andy esp if it works in other dirs
05:44 Andy but I don't know why
05:44 cotto I'm noticing now that all the .py files are symlinks
05:44 Andy THERE you go.
05:45 Andy ack -h | ack sym
05:45 Andy sorry, I mean ack --help | ack sym
05:45 cotto oic
05:45 cotto thanks
05:46 cotto andy++
05:46 Andy your'e welcome
05:47 cotto I'm so unconfused now.
05:49 Util left #parrot
05:49 dukeleto left #parrot
05:49 Util joined #parrot
05:49 dukeleto joined #parrot
06:47 mikehh joined #parrot
06:50 jsut joined #parrot
06:51 theory joined #parrot
06:52 theory_ joined #parrot
06:52 theory left #parrot
06:52 theory_ is now known as theory
06:52 fperrad joined #parrot
06:55 jsut_ left #parrot
07:02 theory left #parrot
07:06 AzureStone left #parrot
07:11 AzureStone joined #parrot
07:21 tcurtis left #parrot
07:27 mikehh left #parrot
07:33 brianwisti left #parrot
07:40 bacek joined #parrot
07:46 aloha joined #parrot
07:51 dmagnus__ joined #parrot
07:55 dmagnus_ left #parrot
08:01 aloha left #parrot
08:02 aloha joined #parrot
08:12 mikehh joined #parrot
08:21 dafrito left #parrot
08:54 silug left #parrot
10:45 bacek left #parrot
10:48 silug joined #parrot
10:49 aloha left #parrot
10:56 bacek joined #parrot
11:46 mak joined #parrot
11:46 mak hi
11:46 mak what is chromatic's mail id?
11:46 mak I need to submit a patch to modern perl book
11:47 mak The readme file says patches welcome, but no mention of which adress to send
11:50 mak anybody there???
11:50 * purl farts
12:02 mak left #parrot
12:20 Infinoid purl is a joyful bot
12:27 kid51 joined #parrot
12:38 mikehh mak: you still there?
12:54 aloha joined #parrot
13:14 Coke chromatic?
13:14 Coke purl?
13:14 Coke 06:09  * snarkyboojum has Rakudo star running on his phone :D
13:15 Coke note that that includes parrot.
13:15 Infinoid ooo
13:15 Coke 06:11 < snarkyboojum> a Nokia N900 fwiw :)
13:24 GodFather joined #parrot
13:25 Andy left #parrot
13:27 khairul joined #parrot
13:41 kid51 left #parrot
13:50 ruoso left #parrot
13:52 Paul_the_Greek joined #parrot
13:53 Paul_the_Greek Morning, intrepid Parroteers.
14:23 dalek partcl-nqp: 7d7afd0 | coke++ | src/Partcl/Grammar.pm:
14:23 dalek partcl-nqp: Factor out namespace separator, and allow variables like $::foo in the grammar.
14:23 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/7d7afd011655ea1409e0b75d6ee2936ced8a67b2
14:23 dalek partcl-nqp: 983f476 | coke++ | src/Partcl/commands/namespace.pm:
14:23 dalek partcl-nqp: add simplistic [namespace children]; no tests pass yet.
14:23 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/983f4768dafdb0479d3307af048bd668339ae9a1
14:23 dalek partcl-nqp: ad9586e | coke++ | t/ (2 files):
14:23 dalek partcl-nqp: SKIP less code.
14:23 dalek partcl-nqp: (no extra passing tests, though)
14:23 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/ad9586eae455a0699c69359fb4187e79339deb13
14:26 theory joined #parrot
14:26 tadzik joined #parrot
14:39 Paul_the_Greek left #parrot
15:10 theory left #parrot
15:50 theory joined #parrot
16:00 pmichaud l
16:00 pmichaud ww
16:01 Paul_the_Greek joined #parrot
16:05 hudnix left #parrot
16:10 hudnix joined #parrot
16:16 theory left #parrot
16:20 Paul_the_Greek left #parrot
16:24 Paul_the_Greek joined #parrot
16:35 tcurtis joined #parrot
16:54 Paul_the_Greek left #parrot
16:54 icarroll joined #parrot
17:00 dalek TT #1751 created by Paul_the_Greek++: Links to DEPRECATED.pod et al
17:00 dalek TT #1751: http://trac.parrot.org/parrot/ticket/1751
17:04 icarroll Hi. I'm looking for some information about HLL::Grammar.O
17:04 icarroll is it documented anywhere?
17:06 Paul_the_Greek joined #parrot
17:06 Paul_the_Greek left #parrot
17:06 Paul_the_Greek joined #parrot
17:07 tcurtis icarroll: not particularly well, as I recall, but this is somewhat informative: http://github.com/perl6/nqp-rx/blob/m​aster/src/cheats/hll-grammar.pir#L28
17:09 icarroll tcurtis: thanks, I'll take a look
17:11 tcurtis icarroll: probably your best bet is to read the POD there and then go look at existing compilers. If you have a specific question, feel free to just ask that here.
17:15 icarroll tcurtis: the main question I have is "why?" I don't understand what it's for, when the pct book describes an entirely different way to apparently achieve the same result
17:18 tcurtis icarroll: well, is optable and such was the PGE way of doing it. I'm not really sure exactly why NQP-rx uses HLL::Grammar.O instead. pmichaud would likely know that.
17:18 icarroll ok
17:20 jnthn It appeared when the two parsers were unified into a single one that all hangs of proto-regexes.
17:20 jnthn O specifies information to the operator precedence parser in EXPR
17:21 jnthn Such as associativity, precedence, and so forth.
17:21 icarroll jnthn: does that mean the pge optable approach doesn't work any more?
17:21 jnthn icarroll: PGE has been superceded by nqp-rx
17:21 dukeleto 'ello
17:22 icarroll ok
17:22 tcurtis PGE is still around, though, so it should still work in PGE, right?
17:22 jnthn Yes, but if starting something new, it's probably best to go with nqp-rx.
17:22 icarroll so if I want to use nqp-rx I have to use O, right?
17:23 jnthn icarroll: Correct.
17:23 jnthn icarroll: It turns out to be more flexible and consistent in the end.
17:23 icarroll ok
17:24 icarroll so now that's settled, here's the question that got me digging into this
17:24 icarroll I want to have an infix, list associative comma operator
17:24 dukeleto cotto_work, anybody: i have been thinking about how to mirror subversion tags in git. do we want to make them to be branches with a "tags/" prefix ?
17:25 icarroll I'd like to have all the comma separated items passed as a list to the action
17:25 icarroll how do I do that, or is there a better way?
17:25 Paul_the_Greek left #parrot
17:27 pmichaud icarroll: this is exactly how infix comma works in nqp
17:27 pmichaud (and rakudo)
17:27 icarroll so just lift the code from nqp?
17:27 jnthn pmichaud: I think icarroll is expecting the action method to have all the children available when invoked.
17:27 jnthn Though maybe I mis-understand.
17:27 pmichaud token infix:sym<,>    { <sym>  <O('%comma, :pasttype<list>')> }
17:28 pmichaud where %comma is defined as
17:28 icarroll jnthn: yes, that's what I'd prefer, but I'm willing to do it whatever way is usual
17:28 pmichaud NQP::Grammar.O(':prec<g=>, :assoc<list>, :nextterm<nulltermish>',  '%comma');
17:28 pmichaud :assoc<list> says "list associative", so all of the children end up being children of a single node
17:29 pmichaud :nextterm<nulltermish>  uses the nulltermish rule to allow empty terms at the end of the list
17:29 pmichaud no, the action method can't have all of the children available, because at the point where a comma is parsed we don't know the next child yet (this is common to all infix operators)
17:30 jnthn icarroll: The thing is that we call the action method for an operator before we have all the children to hand.
17:30 icarroll that's surprising, but ok
17:30 pmichaud why is it surprising?
17:30 pmichaud if I have     $a + $b
17:30 pmichaud and I parse the '+'
17:30 pmichaud then by definition I haven't parsed the $b yet :-)
17:30 jnthn To be fair, it surprised me a little at first too.
17:30 icarroll k
17:30 jnthn pmichaud: You haven't, but I thought of it more tree-like
17:31 jnthn pmichaud: Whereas it's actually much more linear. :-)
17:31 jnthn Which makes sense.
17:31 pmichaud parsing usually is.  :)
17:31 jnthn Right. :-)
17:31 icarroll so the comma action will get called once for each item in the comma-separated list?
17:31 pmichaud the comma action gets called once for each *comma*
17:31 icarroll k
17:31 pmichaud not per-item
17:32 icarroll where do the items get accumulated, and how does the last item get into the list?
17:32 pmichaud well, :assoc<list> says that all of the items should be children of the PAST::Op node that the EXPR rule builds for the comma operator
17:33 pmichaud so, the expression parser builds PAST::Op nodes for each operator, where the children of the node are the operands
17:34 Chandon joined #parrot
17:35 pmichaud or, if you're just looking at the parse tree, there will be an infix:sym<,> node that has all of the items as children
17:36 icarroll so each time the action is called it adds its argument to the same op node?
17:36 icarroll or is that done by the parser?
17:36 pmichaud no, the operator actions don't have to add their arguments -- the overall EXPR action does that
17:36 icarroll ok
17:36 pmichaud for example, with    $a + $b * $c
17:36 pmichaud the + operator can't know its second argument until  $b * $c has been processed completely
17:37 pmichaud (note that its second argument is not "$b" :-)
17:37 pmichaud so the overall expression parser takes care of that
17:38 pmichaud jnthn: in answer to your question -- yes, it *is* possible to have a parser that does a top-down tree approach, but it's incredibly slow (i.e., that's "recursive descent parsing")
17:39 pmichaud and it doesn't really lend itself to adding new precedence layers easily
17:39 icarroll does this comma operator need an action function?
17:39 icarroll does it allow one?
17:39 icarroll or is everything done by the expression parser?
17:39 pmichaud icarroll: probably doesn't need one.  In Rakudo,  the comma operator becomes a PAST::Op node that calls the &infix:<,> function.
17:40 pmichaud in NQP, the comma operator results in a PAST::Op node with a 'pasttype' of list, which is an operation that builds a list from its arguments
17:40 tadzik left #parrot
17:40 pmichaud those can be completely specified via the <O(...)> rule, without needing a separate action method.
17:40 jnthn pmichaud: It's probably also possible but tricky to suspend calling the action method until you have all the bits.
17:41 jnthn pmichaud: I'm not arguing that that's desirable though.
17:41 jnthn pmichaud: In fact, the current way works very nicely, now I understand why it's the way it is. :-)
17:41 jnthn pmichaud: It just won't automatically be people's first intution.
17:41 icarroll heh
17:41 icarroll I think the nqp way will do what I want
17:42 pmichaud jnthn: yes, most people understand recdescent much more quickly than bottom-up parsing
17:42 icarroll if I wanted something other than list, I could just define a new node type, right?
17:43 pmichaud you'd also have to write the method that converts that node into POST or something
17:43 icarroll ok
17:43 pmichaud normally we expect people to convert it into a runtime function call
17:43 icarroll where should it be converted?
17:45 rurban joined #parrot
17:46 pmichaud compilers/pct/src/PAST/Compiler.pir has the current set of PAST node tyeps
17:46 pmichaud *types
17:46 pmichaud (gotta run here -- bbl)
17:46 icarroll k
17:46 icarroll thanks
18:07 theory joined #parrot
18:17 theory left #parrot
18:18 lucian joined #parrot
18:22 theory joined #parrot
18:28 kid51 joined #parrot
18:41 fperrad left #parrot
18:42 Paul_the_Greek joined #parrot
18:46 dalek tracwiki: v5 | jkeenan++ | HowToDeprecate
18:46 dalek tracwiki: Add headline
18:46 dalek tracwiki: http://trac.parrot.org/parrot/wiki/How​ToDeprecate?version=5&amp;action=diff
18:47 Administrator_ joined #parrot
18:47 Paul_the_Greek left #parrot
18:48 Administrator_ left #parrot
18:49 Administrator_ joined #parrot
18:49 rurban left #parrot
18:51 khairul left #parrot
18:59 davidfetter joined #parrot
18:59 kid51 bbial
18:59 kid51 left #parrot
19:00 theory left #parrot
19:03 dalek tracwiki: v11 | jkeenan++ | ParrotDeprecations
19:03 dalek tracwiki: Add headline; add link to How to Deprecate Parrot Code
19:03 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Parro​tDeprecations?version=11&amp;action=diff
19:03 dalek tracwiki: v6 | jkeenan++ | HowToDeprecate
19:03 dalek tracwiki: Point link for Support Policy to that page on Parrot web site, rather than source code browser
19:03 dalek tracwiki: http://trac.parrot.org/parrot/wiki/How​ToDeprecate?version=6&amp;action=diff
19:13 Administrator_ left #parrot
19:14 Paul_the_Greek joined #parrot
19:14 Paul_the_Greek ping kid51
19:15 Paul_the_Greek msg kid51 I responded to ticket #1751 with a bit more radical proposal.
19:15 purl Message for kid51 stored.
19:15 Paul_the_Greek purl,messages
19:22 Paul_the_Greek left #parrot
19:23 Paul_the_Greek joined #parrot
19:24 dukeleto according to http://trac.parrot.org/parrot/query?status​=closed&amp;col=id&amp;col=summary&amp;col​=type&amp;col=priority&amp;col=milestone&a​mp;col=component&amp;col=reporter&amp;col=​owner&amp;col=time&amp;col=changetime&amp;​report=11&amp;desc=1&amp;order=changetime we have closed 11 tickets already this week! nice job, peeps.
19:25 Paul_the_Greek Parrot-team++
19:25 Paul_the_Greek dukeleto:  Where does the "duke" come from?
19:26 dukeleto Paul_the_Greek: from "Dune" by Frank Herbert
19:26 dukeleto what time is it?
19:26 purl dukeleto: It's about twenty-five past seven in the evening where I am.
19:26 dukeleto purl--
19:26 purl dukeleto: what?
19:28 Paul_the_Greek --purl
19:31 dukeleto Paul_the_Greek: what parrot stuff are you working on these days?
19:31 macroron joined #parrot
19:31 Paul_the_Greek On vacation now. Have two patches to commit when I return. Then I'll look at memory management, specifically speed of allocating PMCs.
19:32 Paul_the_Greek Also have memory alignment issue to deal with.
19:35 Paul_the_Greek I think I discovered another alignment issue this week.
19:35 dukeleto Paul_the_Greek: do you have a test for it?
19:35 * dukeleto is working on the github mirror of parrot
19:36 Paul_the_Greek No. Both alignment issues are "hidden" now. They depend on the platform data sizes and on the PMC attribute block size.
19:36 Paul_the_Greek I can make the second one happen with a custom PMC.
19:37 Paul_the_Greek Can you set up Git and then have us switch over at some point?
19:38 Paul_the_Greek I installed Git on my hack laptop here at the beach and I'm playing with it.
19:38 dukeleto Paul_the_Greek: :) that is the plan. it has been talked about a bunch on parrot-dev and #ps, and we are getting there, slowly but surely
19:38 Paul_the_Greek Do you have to suspend commits for awhile during the switch?
19:39 dukeleto Paul_the_Greek: cool! there are some git/git-svn wiki pages on the parrot wiki that may be helpful
19:39 dukeleto Paul_the_Greek: i am just making a one way mirror right now, i.e. svn -> git
19:39 Paul_the_Greek I bought the Git book. It's pretty good. Git works fine on Windows XP.
19:39 Paul_the_Greek So every change to the svn database updates the Git?
19:40 dukeleto Paul_the_Greek: when parrot feels comfortable making the big swich, there may be a small period where we suspend commits, but it might not be necessary. We can just make the svn repo read-only and tell people "commit to git now"
19:40 Paul_the_Greek I guess simply copying all the files and doing a git init on them was too much to hope for?
19:41 dukeleto Paul_the_Greek: yes, every branch/tag (and trunk) in svn is mirrored in a git repo
19:41 dukeleto Paul_the_Greek: we don't want to lose 10 years of VCS history
19:41 Paul_the_Greek Oh, of course.
19:41 purl Indubitably.
19:42 Paul_the_Greek At some point before the switch, can you mark the Git repo read-only (except for mirror) and let people play with it a bit? At least to make sure we have Git installed and working.
19:44 dukeleto Paul_the_Greek: you can fork the github repo and play with it all you want right now: http://github.com/parrot/parrot
19:45 dukeleto Paul_the_Greek: there really isn't a need to make it read-only, since everyone can easily fork it
19:45 ruoso joined #parrot
19:45 Paul_the_Greek Cool. Why on github instead of parrot.org?
19:45 dukeleto Paul_the_Greek: note that the repo on github is experimental, i may change it around. but playing around with it is fine
19:46 dukeleto Paul_the_Greek: github is just a mirror, we can also host a git repo on parrot.org, too. We get lots of cool features for free on github, though. Such as: comments on commits, branch comparisons within a repo and across repos, etc...
19:47 Paul_the_Greek Excellent. So it's mirroring in real time now?
19:49 Chandon left #parrot
19:50 dukeleto Paul_the_Greek: almost, working on it right now. and there is a few hour delay
19:51 dukeleto Paul_the_Greek: nothing is quite set in stone now. I could have it check for new updates every few minutes, if we wanted
19:51 dukeleto Paul_the_Greek: i am actually populating all the branches on github right now
19:51 dukeleto Paul_the_Greek: there are 31 current svn branches
19:52 cotto dukeleto, do you have a link to the gsoc code submission requirements (or the title of the message)?
19:53 dukeleto cotto: http://groups.google.com/group/goo​gle-summer-of-code-students-list/w​eb/code-submission-guidelines-2010
19:56 Paul_the_Greek left #parrot
19:57 rurban joined #parrot
19:58 kid51 joined #parrot
19:58 cotto What's the name of the topic?  I still can't see that, even after being subscribed to the list twice.
19:58 cotto nm.  that's the student list
19:58 kid51 Parrot 2.7.0 "Australian King" Released! | parrot.org Log:  irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 13 tickets, merge outstanding branches, help NotFound clean up PBC tests
19:59 icarroll left #parrot
19:59 dukeleto cotto: http://groups.google.com/group/goo​gle-summer-of-code-mentors-list/we​b/code-submission-guidelines-2010
19:59 dukeleto I just put all the current svn branches on to github : http://github.com/parrot/parrot
19:59 cotto that one works
19:59 cotto dukeleto,
19:59 purl hmmm... dukeleto, is that for me? or someone else?
20:00 cotto dukeleto++
20:04 lucian_ joined #parrot
20:04 * dukeleto is steal working on tags
20:06 dukeleto still, even
20:06 * dukeleto steals away to still work on tags
20:06 lucian left #parrot
20:10 davidfetter left #parrot
20:12 icarroll joined #parrot
20:30 lucian_ left #parrot
20:31 dalek rakudo: 0c374d8 | cognominal++ | src/metamodel/GrammarHOW.pir:
20:31 dalek rakudo: fixes #77322 : changed sub compose in GrammarHOW.pir so that grammars always inherit from Grammar
20:31 dalek rakudo:
20:31 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
20:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​c374d8e34c305539efe82fbd1567efa874808fc
20:52 dalek parrot: r48588 | jkeenan++ | trunk/tools/build/headerizer.pl:
20:52 dalek parrot: Simplify documentation per �http://trac.parrot.org/parrot/ticket/1725.
20:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48588/
20:52 dalek parrot: r48589 | jkeenan++ | branches/tt1725_headerizer_documentation:
20:52 dalek parrot: Remove superseded branch.
20:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48589/
20:52 dalek parrot: r48590 | jkeenan++ | tags/tt1725_headerizer_documentation-48246:
20:52 dalek parrot: Branch corresponding to tag has been deleted.
20:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48590/
21:01 macroron left #parrot
21:03 dalek tracwiki: v177 | jkeenan++ | WikiStart
21:03 dalek tracwiki: Link to more recent pages on deprecations and deprecation policy
21:03 dalek tracwiki: http://trac.parrot.org/parrot/wiki/W​ikiStart?version=177&amp;action=diff
21:12 rurban left #parrot
21:25 dalek parrot: r48591 | jkeenan++ | trunk/tools/dev/as2c.pl:
21:25 dalek parrot: Add references to documentation.
21:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48591/
21:25 dalek parrot: r48592 | jkeenan++ | trunk/tools/dev/as2c.pl:
21:25 dalek parrot: Program should not be executable in repository.  Delete svn:executable.
21:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48592/
21:25 dalek parrot: r48593 | jkeenan++ | trunk/tools/dev/faces.pl:
21:25 dalek parrot: Place documentation in a more formal POD format.
21:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48593/
21:27 smash joined #parrot
21:27 smash hello everyone
21:28 bacek left #parrot
21:29 aloha left #parrot
21:30 dalek rakudo: 9288360 | moritz++ | t/spectest.data:
21:30 dalek rakudo: run grammar inheritance tests
21:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​2883603d6b228666d5b59cc4e9775a37e1a4588
21:33 kid51 smash, hello!
21:33 kid51 smash:  Do I take it that we have 4 candidates because others who were nominated declined the nomination?
21:38 dukeleto smash: hola
21:41 smash kid51: correct
21:41 smash anyone else here has admin access on parrot.org ?
21:42 dalek parrot: r48594 | jkeenan++ | trunk/tools/dev/fetch_languages.pl:
21:42 dalek parrot: Correct typo and improve description in 'NAME' in POD.
21:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48594/
21:43 kid51 I don't.  See if you can rouse particle Coke or allison
21:43 smash yeap, trying to
21:43 smash allison: ping
21:43 smash particle: ping
21:43 smash Coke: ping
21:46 cotto what needs to happen?
21:47 smash cotto: need to fix something to start the voting process
21:52 particle smash: temporarially given you admin access on parrot.org
21:53 particle fix away!
21:53 smash particle: let me see if i can fix it, thank you
21:58 allison left #parrot
21:59 w3x_junkie joined #parrot
21:59 w3x_junkie left #parrot
22:02 dduncan joined #parrot
22:03 dduncan left #parrot
22:20 Coke smash: pong
22:22 smash Coke: particle++ already help out, thank you
22:23 smash particle: all done for now, but i may need to fix users roles on parrot.org, mind if i keep admin permissions until the voting ends ?
22:23 particle aye
22:23 particle i don't mind.
22:24 smash excelent, thank you
22:27 smash can anyone please confirm that my voting instructions mail made it to parrot-members ?
22:30 dukeleto smash: yes, i got it
22:30 dukeleto smash: what are the rules about voting? can you vote for yourself? can you vote for as many people as you want?
22:33 particle dukeleto: yes and yes
22:34 particle looks like i cast the first votes. now, off to powerwash the deck.
22:41 smash dukeleto: yes, vote on every nominated (including yourself)
22:49 dukeleto The Parrot Github mirror now includes all current svn branches and tags (as proper git tags). Play around with it and let me know what you think: http://github.com/parrot/parrot
22:59 smash i'm off, happy voting.. and e-mail me with any question or if you find any problem
23:01 smash left #parrot
23:02 GodFather left #parrot
23:05 kid51 left #parrot

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

Parrot | source cross referenced