Parrot 2.3.0 Released | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches | Review and vote GSoC applications
Set by moderator on 20 April 2010.
Whiteknight I think that was it 00:00
I woke up this morning with almost 100 emails, most of which were from perl6-compiler 00:02
I don't think the finally-accepted proposals have been announced, no 00:05
We have a ranked list of proposals and the top 10 have been pretty consistent for the last week
particle the announcement is made by google 2010-04-26 at 1900UTC 00:06
misplaced at... 00:07
Whiteknight particle: do we have to check an "accept this" button anywhere?
00:07 ruoso joined
Whiteknight particle: or does Google just take the top-ranked proposals? 00:07
particle mentors, admins and students have nothing to do but wait
sorear particle: will the list be made accessible to the curious public or only TPF? 00:08
particle please don't make any public announcements until google makes everything public
Whiteknight I'm good at waiting
actually, that's not true
particle google publishes all accepted proposals iirc
00:08 Mokurai joined
Whiteknight chromatic's email seems a little cryptic to me 00:20
sorear agreed 00:35
dalek rrot: r46015 | chromatic++ | trunk/compilers/imcc (2 files):
[IMCC] Added a save/restore of current line number when IMCC starts scanning a

up more line numbers, or at least not hurt anything.
00:38
rrot: r46016 | chromatic++ | trunk (2 files):
[PBC] Tidied code; no functional changes.
Coke Whiteknight: is there a list listed in the email headers? 00:54
Whiteknight Coke: yeah, per6-compilers. Sorear++ helped me figure it out 00:55
01:01 abqar joined
Coke anyone wants to save rakudo-devs a bunch of work, you can figure out how to fix them against TT #389. 01:29
(see my last send to #perl6 for details. that's on parrot trunk and rakudo's immutable strings branch. 01:30
01:35 hicx174 joined 01:46 Andy joined 01:58 Psyche^ joined 02:04 davidfetter joined 02:06 JimmyZ joined 02:08 ruoso joined 02:29 ruoso joined 02:52 cosimo joined 02:54 janus joined 02:56 JimmyZ joined
JimmyZ hello coke 02:56
nopaste? 03:06
purl nopaste is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or paste.scsys.co.uk or www.extpaste.com or gist.github.com
nopaste "JimmyZ" at 192.168.1.3 pasted "Patch for Coke++, marking them with :nsentry" (94 lines) at nopaste.snit.ch/20371 03:07
dalek rrot: r46017 | plobsing++ | trunk/config/gen/makefiles/root.in:
add dependancy on install_config.o for installable tapir
04:11
04:26 s1n joined
bacek ~~ 05:00
05:02 rurban_ joined
sorear JimmyZ: That patch, causes Rakudo to build and pass tests on Parrot-immutable-strings? 05:04
JimmyZ sorear: nope, just fixed TT #389 05:05
sorear: and yes, there is a immutable string branch on rakudo 05:06
bacek sorear, it's actually on parrot's trunk and Rakudo's immutable_string branch 05:07
JimmyZ Yeah
bacek: per github.com/rakudo/rakudo/commit/e1f...80bba332d4 05:08
bacek JimmyZ, yes? 05:09
JimmyZ bacek: Doesn't use it by 'repalce' op?
bacek JimmyZ, yes, it should be "replace". But chromatic just reverted previous commit. 05:11
JimmyZ is dizzy 05:13
siesta
bacek :) 05:14
It should be "pkgname = replace name, 1, 1, ''"
and "clone name" isn't required anymore. 05:15
(I'm not Rakudo committer, so I can't fix it by myself) 05:16
dalek rrot: r46018 | bacek++ | trunk (2 files):
Remove -Wno-shadow from warnings.pm. We do want to warn user about parameter shadowing
rrot: r46019 | petdance++ | trunk/src/pmc/exception.pmc:
consting
purl i guess consting is irclog.perlgeek.de/parrot/2010-04-12#i_2223451
JimmyZ bacek: you should ask for it. 05:18
bacek JimmyZ, may be. But I'm quite busy on parrot side to make Rakudo happen.
JimmyZ bacek: Y saw, you said it before. 05:21
:)
err. I
bacek :) 05:25
msg Andy You'll love r46020 and r46021 :) 05:48
purl Message for andy stored.
bacek msg petdance You'll love r46020 and r46021 :)
purl Message for petdance stored.
dalek rrot: r46020 | bacek++ | trunk (6 files):
Remove PObj_COW_FLAG. We don't need it anymore
05:49
rrot: r46021 | bacek++ | trunk (2 files):
Parrot_str_copy now can accept const STRING* because we don't modify it anymore
05:52 uniejo joined
sorear Why does PObj_CLASS_FLAG exist? 05:55
bacek sorear, no idea... 06:00
There is way to many outdated and unused flags. 06:01
sorear And so little space. 06:02
06:02 eiro_ left
sorear PObj flags are one of so few things that we actually can run out of.. 06:02
bacek Hey! I just removed one of it! 06:03
dalek rrot: r46022 | bacek++ | branches/compact_pool_revamp (539 files):
Sync branch with trunk. It's definitely broken ATM.

  \tinclude/parrot/string.h
  \tsrc/gc/alloc_resources.c
  \tsrc/gc/mark_sweep.c
06:21
06:27 aukjan joined 06:39 fperrad joined 06:44 fperrad_ joined 06:47 viklund joined
fperrad ping bacek 06:48
06:59 JimmyZ joined
bacek fperrad, pong 07:21
fperrad bacek, in r46018, you add a file (examples/languages/squaak/src/parser/grammar.pm), that's look like an error 07:22
bacek fperrad, err... You right.
dalek tracwiki: v4 | fperrad++ | OSInterfaceAdditions 07:23
tracwiki: trac.parrot.org/parrot/wiki/OSInter...ction=diff
07:24 iblechbot joined
dalek rrot: r46023 | bacek++ | trunk/examples/languages/squaak/src/parser/grammar.pm:
Remove erroneously added file. fperrad++, bacek--.
07:26
rrot: r46024 | chromatic++ | trunk/compilers/imcc (2 files):
[IMCC] Made IMCC use Flex's line numbers instead of tracking them itself.
07:59
08:35 clinton joined 09:04 Austin joined 09:32 gaz joined
dalek rrot: r46025 | bacek++ | branches/compact_pool_revamp (4 files):
Scrap old idea of skip lists. Just store used pool inside storage and use it for skipping
09:37
bacek (16256732900-16165473661)/16256732900 09:56
purl 0.00561362726209274
bacek (16256732900-16165473661)/16256732900*100
purl 0.561362726209274
bacek Yay... 0.5% faster...
JimmyZ bacek: I can't get "pkgname = replace name 1, 1, ''" work. 10:07
10:07 pjcj joined
bacek JimmyZ, what kind of error you've got? 10:07
JimmyZ bacek: error:imcc:The opcode 'replace_s_s' (replace<2>) was not found. Check the type and number of the arguments
bacek you missed comma
(or I missed it) 10:08
between "name" and "1"
JimmyZ oh, sorry
bacek (16256732900-15875692039)/16256732900*100 10:20
purl 2.34389568521483
bacek Hooray! Almost 2.5%
JimmyZ Great! rakudo: loop{ bacek++; }
dalek rrot: r46026 | bacek++ | branches/compact_pool_revamp (5 files):
'Upgrade' aligned_string_size function to ALIGNED_STRING_SIZE macro. It

Also remove couple of redundant "if"s and other small fixes.
10:25
bacek msg chromatic compact_pool_revamp now faster then trunk. Your magical performance testing will be very helpful :) 10:27
purl Message for chromatic stored.
dalek kudo: f6ec0aa | (Solomon Foster)++ | src/core/ (4 files):
Rework log methods for Numeric.
10:31
izkost: 9dc204c | sorear++ | (2 files):
Fix importing constants from POSIX
10:35
10:36 aukjan joined
sorear It's now possible to use POSIX:from<perl5> in rakudo master + one patch 10:37
bacek hooray! sorear++
sorear CGI and DBI are, sadly, broken by a last-minute design change. 10:41
Tk needs deeper work in rakudo
dalek rrot: r46027 | bacek++ | branches/compact_pool_revamp (3 files):
Merge branch 'master' into compact_pool_revamp
10:42
rrot: r46028 | bacek++ | branches/compact_pool_revamp/src/gc/mark_sweep.c:
Remove redundant check for buflen.
10:58
11:43 khairul joined 11:53 whiteknight joined
dalek rrot: r46029 | bacek++ | branches/compact_pool_revamp (4 files):
Introduce Buffer_poolptr macro and use it in assignments. It helped to

allocation.
12:03
purl allocation is always unconditional
rrot: r46030 | bacek++ | branches/compact_pool_revamp/src/gc/alloc_resources.c:
Fix typo
Coke msg chromatic you're offline and I'm deep in review, but we were managing line numbers ourselves instead of just using the builtins? [:facepalm:] 12:13
purl Message for chromatic stored.
Coke msg jimmyz Aigh, I didn't look at your temp path problem this weekend. :P 12:15
purl Message for jimmyz stored.
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33476), fulltest) at r46028 - Ubuntu 10.04 RC amd64 (g++) 12:19
12:20 integral joined 12:21 bluescreen joined 12:24 jan joined, tetragon joined
bacek mikehh, ping. Can you test compact_pool_revamp branch? 12:26
12:28 iblechbot joined
mikehh bacek: on it - just updating some things - will start testing in about 5 minutes 12:32
bacek mikehh, thanks! 12:33
12:33 smash joined
smash hello everyone 12:33
mikehh hi smash 12:35
12:44 Mokurai1 joined 12:48 JimmyZ joined
mikehh bacek: make corevn/make coretest PASS make test PASS, some codetest failures, will fix before running fulltest 12:49
bacek mikehh, sigh... codetest...
:)
mikehh bacek: c++ comments in src/gc/alloc_resources.c - I'll leave that to you 12:51
bacek mikehh, fixed. 12:52
dalek rrot: r46031 | mikehh++ | branches/compact_pool_revamp (2 files):
re-generate MANIFEST and MANIFEST.SKIP
rrot: r46032 | bacek++ | branches/compact_pool_revamp/src/gc/alloc_resources.c:
Remove commented out code which broke codetest.
12:54 ruoso joined 13:02 rurban_ joined, ingy joined
Coke bacek: when you removed no-shadow, you also committed a bunch of squaak stuff. 13:06
dalek rrot: r46033 | mikehh++ | branches/compact_pool_revamp (7 files):
add svn properties
13:07
bacek Coke, fperrad++ spotted it early than you!
"earlier"
Coke hee. fperrad++
JimmyZ messages 13:12
mikehh bacek: I added docs to src/gc/alloc_resources.c - you might want to check it r46034 13:13
Coke msg allison - rakudo is currently borked post TT #389 fix; might be related to code in the p6object.pir in parrot's library. (rakudo branch: immutable_strings, parrot trunk) .
purl Message for allison stored.
bacek mikehh, yes. It was in my git rebase conflict :)
Coke, JimmyZ already created patch for it.
Coke bacek: a new patch? 13:14
purl a new patch is slick.
JimmyZ bacek: it's wrong
Coke his initial patch was rejected by jnthn.
bacek Ah. Ok.
Coke JimmyZ: url for patch?
purl We don't need no stinking patch!
bacek I wasn't aware about it.
JimmyZ Coke: I have no new patch
Coke right, but can I see the old one? 13:15
JimmyZ nopaste.snit.ch/20371 13:16
Coke Danke. 13:17
JimmyZ I guess jnthn will rewrite p6role.
13:22 particle joined
dalek rrot: r46034 | mikehh++ | branches/compact_pool_revamp/src/gc/alloc_resources.c:
add missing c function documentation
13:23
rrot: r46035 | bacek++ | branches/compact_pool_revamp/src/gc/alloc_resources.c:
Rename block_is_almost_full into is_block_almost_full and update documentation
13:25 bacek joined
mikehh bacek: looks good 13:31
bacek mikehh, ok, thanks
13:32 Maddingue joined
mikehh it's after 14:30 and I haven't had breakfast, let alone lunch 13:33
compact_pool_revamp branch: 13:35
All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33478), fulltest) at r46035 - Ubuntu 10.04 RC amd64 (g++)
13:39 GodFather joined 13:54 atrodo joined
mikehh bacek: fulltest also PASSes at r46035 with Ubuntu 10.04 RC amd64 (gcc with--optimize) 14:16
14:18 Andy joined
dalek TT #1594 created by doughera++: make 'distclean' deletes perl! 14:33
TT #1594: trac.parrot.org/parrot/ticket/1594
TT #1444 closed by doughera++: Test failures in t/run/exit.t 14:49
TT #1444: trac.parrot.org/parrot/ticket/1444
14:54 bubaflub joined 14:57 PacoLinux joined
Coke wonders who is responsible for that dangling backslash! 15:14
15:15 khairul joined
dalek rrot: r46036 | coke++ | trunk/config/gen/makefiles/root.in:
Don't try to rm $PERL on distclean.
15:17
TT #1594 closed by coke++: make 'distclean' deletes perl! 15:22
TT #1594: trac.parrot.org/parrot/ticket/1594
15:23 ruoso joined
Coke I want to buy a laptop that I can hack on parrot on that travels well. Anyone have any recommendations? 15:50
Hurm. I was thinking I needed linux, but I could always go strawberry, I suppose. 15:51
bubaflub my sister has an old Eee PC that has a decent battery life. not sure if it's fast enough though.
particle coke: budget? 15:54
purl budget is around $40k
15:54 davidfetter joined
Coke particle: cheeeeep. 15:58
15:58 ash_ joined
Coke my last laptop was a 17" mac, fresh off the boat. Don't care to repeat that experience. =-) 15:58
particle i'm looking for a netbook with ion2, so i can use it as an htpc at home, and remote access to my dev box on the road, with (albeit slow) ability to compile parrot/rakudo on a plane 15:59
15:59 theory joined
Coke looks like I can get something from best buy for 330 bucks, e.g. 15:59
particle hp mini 310 gets good reviews
Coke 310, 311, whatever it takes? 16:00
not 21x, but 31x?
ash_ I know some people that have the Dell mini 10v (the ubuntu on) and haven't complained... 16:01
Coke ash_: ooh, nice. 16:05
ash_ s/on/one/
there are also some EEE pc's with Xandos which is another linux distro, those (if you can find one), are pretty cheap too 16:07
but they are also small, like 7" if i remember correctly 16:08
you can easily replace that with like ubuntu if you want, but getting a netbook with linux is normally cheaper than getting one with windows 16:09
16:15 bluescreen joined
NotFound I've used several times an old EEE to hack on parrot, it's not so bad for the task. 16:15
But using ubuntu, not his original linux. 16:16
ash_ most netbooks come with an atom, and most are either 1.6 or 1.66 GHz, so they are all pretty darn close in terms of processing power 16:19
particle some have frustratingly small keys, or awkward trackpad button locations 16:21
bubaflub that's the downside of the Eee PC - it has a smaller keyboard than normal 16:22
moritz well, the children in poor africa have small fingers, no?
ash_ if you get something around 10" they are almost fullsized, or pretty close
particle yes, rich african children can afford to upgrade to larger fingers.
16:22 cognominal joined
ash_ OLPC XO-1 is kinda nifty 16:23
kinda sad the XO-3 will probably never come out anywhere near its target price 16:24
16:29 szabgab joined 16:31 cotto_work joined
cotto_work Good morning? 16:39
purl Good Morning Mr Rogers
16:43 jsut joined
Coke cotto_work: hio. 16:43
dalek TT #423 closed by doughera++: config/auto/arch.pm can get wrong architecture on solaris/x86 16:44
TT #423: trac.parrot.org/parrot/ticket/423
ash_ they announce the GSoC's today at 19:00 UTC (i think thats 1:00 pm central) 16:46
whiteknight that sounds about right. 16:48
Coke countdown clock: www.timeanddate.com/counters/custom...0&p0=0 - 126 minutes remaining. 16:53
darbelo panics.
16:54 iblechbot joined
Coke as well you should? 16:56
17:14 senf_statt_oel joined 17:20 mikehh joined 17:54 japhb joined 17:59 davidfetter joined
dalek rrot: r46037 | NotFound++ | trunk/src/packfile.c:
fix the number of debug mappings allocated
18:00
ash_ is the GSoC stuff up nw? 18:13
now*
darbelo 2780 seconds to go.
ash_ do you know where? 18:14
darbelo socghop.appspot.com I would guess. 18:16
I *think* you get emailed too if you are a student.
ash_ hmm 18:17
darbelo 2530 seconds to go!
ash_ wait, i thought it was 1 my time... hmmm 18:18
darbelo www.timeanddate.com/counters/custom...0&p0=0
purl: shorten that 18:19
purl That URL is at xrl.us/bhjdws [timeanddate.com]
ash_ hehe, oops, yeah, i realize that now
darbelo I have that open on my browser and glance at it every now and then.
plobsing NotFound: I get quite a few syntax errors running the winxed examples files. 18:26
18:26 senf_statt_oel left
NotFound plobsing: tell me one 18:26
nopaste "plobsing" at 192.168.1.3 pasted "[PATCH] some easy winxed example fixes" (29 lines) at nopaste.snit.ch/20376 18:27
plobsing NotFound: the others seem to be related to using the 'float' type and chaining operations '.' and '()' with '[]'
NotFound Urghhhh... stupid bug. 18:29
Sometimes not having reserved words hurts. 18:30
cotto_work 30 minutes until announcement tiem
plobsing an example of the '[]' chaining problem is at examples/pirado.winxed:601 ("var arg = self.args[i]")
which gives examples/pirado.winxed:601:Syntax error: Expected ';' (found: '[' ) 18:31
NotFound plobsing: stage 0 has several limitations, you must use stage 1 or 2
plobsing I'm using ./winxed
what stage is default?
NotFound ./winxed --stage=1
Or: export WINXED_STAGE=1 18:32
Default is 0 until I take and implement some decisions about building and paths. 18:33
18:34 jan joined
plobsing you might want to add the stage 1 and 2 pbcs to the default target. I got bit by that. 18:34
dalek nxed: r448 | julian.notfound++ | trunk/examples/env.winxed:
fix example env, plobsing++
18:38
18:43 NotFound joined
ash_ wooo, my GSoC was accepted 18:48
dalek nxed: r449 | julian.notfound++ | trunk/Makefile:
change make targets to avoid some confusion and problems, plobsing++
purl dalek: that doesn't look right
nxed: r450 | julian.notfound++ | trunk/winxed.winxed:
change default stage to 2
purl dalek: that doesn't look right
18:49 hercynium joined
Coke ash_: I thought announcements weren't due for another 11 minutes. 18:49
ash_ just got an email 18:50
darbelo Coke: Emails arrive a bit early.
18:50 bakkdoor joined
PerlJam ash_: now get to work! ;) 18:51
moritz ash_++
darbelo Amusingly, I got both accepted and rejected, which makes for some confusing emails. 18:52
moritz PerlJam: nonono, ash_ needs to bond with us first, learning about our communication channels, source control system etc.
Coke any(emails)== accepted then accepted
ash_ i don't become your code monkey until May 24
PerlJam Coke: yeah but what if he starts in on the wrong one? :)
ash_ (but that doesn't mean i can't get started before) 18:53
darbelo PerlJam: The acceptance one is quite specifit as to what I got accepted into.
PerlJam ash_++, darbelo++ 18:54
darbelo But even when one of your proposals gets accepted, you get a canned 'Sorry you were not selected' email.
cotto_work Emails are sent, you're accepted, yadda yadda. Now get to coding. 18:56
cotto_work gets out the coding whip
darbelo Technically, you need the community bonding whip now. Coding starts later. 18:57
PerlJam looks to see what the specific proposals were
cotto_work: you're mentoring the one I really want to see :) 18:58
moritz there are several I Reall Want To See
cotto_work I'm excited about that one.
moritz threads, optimizations, NFG, Buf in Rakudo
PerlJam yeah, I *really* want to see all of them. But some interest me more than others. 18:59
ash_ PerlJam: mine's the llvm stuff
moritz that's also exciting
moritz can't remember all of them :-)
ash_ I think there is a lot of potential for speed improvements using the llvm
PerlJam ash_: show us ;) 19:00
ash_ damnit man i am giving it all shes got!
oh wait, thats probably not the right answer...
PerlJam anyway, congrats to everyone that got accepted
PerlJam isn't sure whether to also congratulate the mentors or to send them condolences :) 19:01
ash_ PerlJam: if i can get my nq-nqp working a bit more, it would *hopefully* be a good example of what I want to do
darbelo And a big "Don't get discouraged" to whoever wasn't selected.
dukeleto 'ello
cotto_work hio dukeleto 19:02
ash_ it compiles nqp into llvm bytecode
granted its really simple right now, only int's really work, and only the most bare minimum of function calls work, but i should have subs done this week, then i can try to add floats to my data types 19:03
the scary part is when i try to tackle regex's... since i am going to have to build that all from scratch to match nqp-rx's regexs
but i'll cross that bridge when i get there
cotto_work ash, how far do you expect nq-nqp to get? 19:04
ash_ to be able to compile nqp from the NQP/Grammar.pm file, i expect i'll have to make my own Actions.pm since that has a lot of pir specific stuff in it
if i could get that far that means its self hosted, i only want to implement what I have to to get Grammar.pm working 19:05
i plan on working on it as a part time personal project, since i got the GSoC and all
cotto_work My concern is that nqp-rx still requires a good amount of pir:: magic to be useful and nq-nqp won't be able to emulate all of that. 19:06
ash_ github.com/perl6/nqp-rx/blob/master...Grammar.pm doesn't have any pir::'s (well except when they define how to handle them)
but there is a lot implied by being able to run that file, which is what I am shooting for, hopefully a bare minimum amount needed to get to that point 19:07
PerlJam ash_: if someone abstracted the pir-specific stuff out, you could use the same Actions.pm, just change the low-level backend (which you'd have to write) 19:08
ash_ yes, thats true, and i might suggest it if i get there, but for now there isn't much of a need since nqp is still a parrot only kinda thing
cotto_work Abstracting out the pir stuff in nqp-rx sounds like a good idea, except for the further speed penalty from additional layers. 19:09
Hopefully the PAST optimization project results in sufficient awesome to (at least) mitigate that.
PerlJam cotto_work: I don't know ... sometimes another layer can improve the speed situation because you get another opportunity to optimize at various levels
ash_ brb & 19:10
PerlJam cotto_work: lorito kind of illustrates that for parrot (er... will illustrate that for parrot :)
darbelo All software problems can be solved by the addition of layers. 19:11
19:11 ruoso joined
cotto_work darbelo: why aren' 19:11
t you coding yet? 19:12
PerlJam yep. Another rug to sweep the dust under ;)
NotFound darbelo: except the problem of too many layers
darbelo NotFound: Hide it all under another layer ;)
NotFound And virtualize it! 19:13
darbelo Hiding the problem is a solution, ask any economist.
NotFound Fake the clock in the virtual machine, and it's faster.
19:14 ash_ joined
darbelo "Runs on virtual time to maximize speed" 19:15
19:16 aukjan joined
cotto_work That gives us the option to add --speed=x to the cli options. 19:18
ash_ plobsing is my mentor, neat, he did a stack frame builder once already 19:27
darbelo And he knew what he was doing at the time, which is a plus.
NotFound What pir specifics needs nqp?
cotto_work There are only a handful of pir:: usages in nqp's actions. 19:28
One may be easy to remove but the test suite seems to be goofy atm. 19:29
I don't know how much additional work would be required, though. 19:31
PerlJam There's only a handful of pir:: but there's bunches of Q:PIR { ... } 19:35
(IIRC)
oh, maybe not that many
19:36 cotto_work left
PerlJam ack++ 19:36
Andy yay ack
19:38 cotto_work joined
Andy hey bacek 19:42
Coke adds GSOC2010 t-shirt to the pile. 19:52
19:54 joeri joined
dalek rrot: r46038 | petdance++ | trunk/src/string/api.c:
consting, and hoisted a redundant macro call
19:56
kudo: 8098bf9 | (Solomon Foster)++ | src/core/Any-list.pm:
Add Any.minmax.
20:01
ash_ so, where is the parrot contributor agreement again?
NotFound Uh.... 20:02
ash_ the one i have to print and send somewhere?
plobsing cla? 20:03
purl cla is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf
cotto_work seen chromatic 20:04
purl chromatic was last seen on #parrot 4 days, 10 hours, 28 minutes and 21 seconds ago, saying: We may be able to define the strings as parrot_string_t in libparrot.so, avoiding even having to create them at startup. [Apr 22 09:35:52 2010]
darbelo ash_: print-scan-email also works if that's easier to amnage for you. 20:05
ash_ snail mail is fine by me 20:07
20:09 GodFather joined
ash_ how would i add something to purl's cla? thing, just wanted to put the pdf link for the perl version of it, like how there is a parrot_cla.pdf 20:10
NotFound ash_: is also
ash_ does that append or replace?
NotFound append 20:11
ash_ cla is also or www.perlfoundation.org/attachment/legal/cla.pdf
purl okay, ash_.
ash_ cla?
purl cla is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf or or www.perlfoundation.org/attachment/legal/cla.pdf
ash_ cla is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.perlfoundation.org/attachment/legal/cla.pdf or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf
hmm, can i just replace it? so they are in order and no double or 20:12
darbelo ash_: start with "no, ..."
dalek rrot: r46039 | NotFound++ | trunk (3 files):
fixes and improvements in example cotorra
rrot: r46040 | NotFound++ | trunk (2 files):
revert test code commited by mistake in r46039
ash_ no, cla is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.perlfoundation.org/attachment/legal/cla.pdf or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf
purl okay, ash_.
ash_ cla?
purl i heard cla was Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.perlfoundation.org/attachment/legal/cla.pdf or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf
ash_ cool, thanks
NotFound purl: good bot 20:13
purl :)
moritz botsnack 20:14
purl thanks moritz :)
Coke what's the caching tool parrot.org uses again? 20:19
cotto_work varnish? 20:20
purl varnish is varnish.projects.linpro.no/ or just a cache or full of win
Coke danke.
cotto_work bitte 20:21
Coke parrot cache? 20:22
parrot.org cache is varnish
bakkdoor hey. i have a question. i wanted to start to write my compiler for my language and created a language shell via the "mk_language_shell.pl" script in parrot-2.3.0/dev/tools/ . but when i run 'parrot setup.pir build' in the created directory, all I get is: "Parrot revision r44549 required (currently r0)" 20:27
Austin In the build/ directory there's a required-revision file. 20:28
build/REVISION or some such
echo 0 > that file
bakkdoor Austin: thanks, works now 20:29
cotto_work That's a less than graceful failure. You should bug fperrad about it or file a bug. 20:30
chromatic++ for making pir line numbers more accurate 20:33
GeJ Good morning everyone 20:36
Andy bacek++ 20:39
bakkdoor where can I find a good tutorial on nqp and the parsing grammar stuff? 20:44
dalek rrot: r46041 | petdance++ | trunk (5 files):
All the encoding functions now take const STRING *s. Thanks, bacek!
20:45
rrot: r46042 | chromatic++ | branches/compact_pool_revamp/src/string/api.c:
[string] Revised string_make() to default to the ASCII charset when not given a

with a linear search is silly and expensive. Made Parrot_str_from_uint() use the default charset, which speeds up stress_strings by 4.432%. Yes, it's a distortion in the benchmark, but O(n) with a small n repeated a few million times is still slower than O(1).
ash_ bakkdoor: docs.parrot.org/parrot/latest/html/...e.pod.html talks about PGE (which is what nqp replaced, they are pretty similiar) so its a place to start 20:46
bakkdoor ash_: thanks 20:47
ash_ i think thats one area that still needs work, nqp documentation
but the way you define grammars is pretty much the same in pge and nqp (correct my if i am wrong somebody) 20:48
cotto_work bakkdoor: nqp's tests are a good place to look for examples
bakkdoor cotto: alright, will have a look if i need some examples 20:49
ash_ ya, those are good too, github.com/perl6/nqp-rx/tree/master/t/nqp/ is a link to where they are kept
darbelo And nqp-rx is written in itself, so the source is a good example of advanced usage.
moritz if you're new to Perl 6 regexes, you might want to check the book chapters on regexes and grammars
github.com/perl6/book/
ash_ nqp-rx's grammar's and regular expressions are perl6's regex's and grammars, so you know 20:50
dalek rrot: r46043 | darbelo++ | trunk/src (2 files):
[io] Replace another fake string with a real one. Let's pretend we have at least heard of subsystem encapsulation.
21:01
rrot: r46044 | petdance++ | trunk/tools/dev/gen_charset_tables.pl:
remove chunks of boilerplate from created file
rrot: r46045 | petdance++ | trunk (6 files):
s/source_string/src/g to match up with the src/string/encoding files
21:02 rurban_ joined 21:08 kurahaupo joined
Andy purl msg bacek are Parrot_str_copy and Parrot_str_clone now effectivley the same? Can we replace clone? 21:09
purl Message for bacek stored.
bacek ~~ 21:11
Good morning, humans.
Andy, no. clone do deep copy including storage. 21:12
cotto_work greetings, bacek
bacek aloha cotto_work
Andy oh, and copy just COWs it. 21:14
I am goin' to town on these function pointers now, bacek.
soooo awesoime.
bacek :) 21:15
You welcome!
dukeleto 'ello 21:20
dalek kudo: 9fbb25c | jonathan++ | src/Perl6/Compiler/Role.pm:
Implement lexical roles. Also, allow roles of all scopes to be used as r-values.
21:22
kudo: ef4e74f | jonathan++ | src/Perl6/ (2 files):
Add anon scope declarator so it's possible to declare anonymous named things.
21:26 kurahaupo1 joined 21:31 workbench joined
bakkdoor can I have a look at the parse tree without needing to specify any actions? 21:31
cotto_work Sure. Just pass --target=parse to the compiler on the cli. 21:34
bakkdoor cotto: that gives me a bunch of errors though: Method 'assignment' not found for invocant of class 'Fancy;Grammar' .. and so on
cotto_work: oh, and what exactly does <?> mean? it was in the generated parser code but I can't find its meaning 21:36
cotto_work that's in the pir code? 21:37
can you nopaste?
bakkdoor cotto_work: no in the grammar
alright wait
cotto_work: all of the grammar as well? 21:38
cotto_work no. The rule should be fine.
bakkdoor cotto_work: oh nevermind. i used a rule in another rule that wasn't defnied yet. -__- 21:39
thought this had something to do with the semantic actions .
cotto_work: i get this output now: nopaste.info/6e67482358.html <- i suppose that are error messages, but I'm not sure for what? 21:45
(it's an excerpt - there was more of that in front of it, but it exceeded my terminal height)
ash_ bakkdoor: you can prototype your rules, rule foo { ... } then later define it 21:46
cotto_work ash_: ... dodm
didn't work last I checked
ash_ github.com/perl6/nqp-rx/blob/master...otoregex.t is an example 21:47
bakkdoor hm..well i basically translated my bison-based grammar to nqp-grammar. is there anything i need to look out for?
ash_ ah, i forgot the proto keyword
the only difference between a token and a rule is a rule is whitespace sensitive, so that should work just as well with rules
bakkdoor ash_: that means, i have to explicitly name whitespace in rules? 21:48
bacek bakkdoor, no, in "tokens"
bakkdoor ah alright.
bacek S05 21:49
S05?
purl, S05 is perlcabal.org/syn/S05.html
purl ...but s05 is |<reply>see dev.perl.org/perl6/doc/design/syn/S05.html or dev.perl.org/perl6/doc/design/syn/S05.html or perlcabal.org/syn/S05.html...
ash_ rule foo { bar } will match the string ' bar ' exactly, token foo { bar } will match 'bar', if you want whitespace to be significant in a token you have to say so like: token foo { \\s bar \\s }
bakkdoor well I'm getting the errors also on an empty input. any ideas what that might be?
ash_ what do you mean? can you paste the error in a nopaste or something? 21:50
bakkdoor ash_: i did, here: nopaste.info/6e67482358.html 21:51
bacek ash_, no... rule foo { bar } will match 'bar'. Basically it's synonym for 'regex foo { <ws>* foo <ws>* }'
21:51 bubaflub joined
bakkdoor ash_: ok after looking at the first line, i found this: nopaste.info/2b89b4d49c.html 21:53
cotto_work Yeah. It looks like you're in an infinite loooooooooooooooooop. 21:55
ash_ ah, oops, your right, i keep mixing up the difference between rule and token
bubaflub ello dukeleto 21:56
dalek nxed: r451 | julian.notfound++ | trunk/winxedst1.winxed:
fix null initiallizer
21:57
bakkdoor cotto_work: but from i get from that error message, it starts in the token (or rule?) <ww> and <ws>. <ws> was predefined in the grammar and <ww> i don't even have there. must be some built-in thing?
ash_ bakkdoor: do you mind putting your grammar on a nopaste? 21:58
bacek bakkdoor, check S05. <ww> is one of predeclared tokens.
bakkdoor ash_: sure, wait
ash_: nopaste.info/36acb58c13.html <- there 21:59
ash_ your definition is recursive 22:03
bakkdoor ash_: which one?
NotFound Your definition is your definition is your definition.... 22:04
ash_ lol, yes, like that
bakkdoor which rule exactly? oO
ash_ nqp grammars are ll parsers, bison is an lr parser
bakkdoor hm
ash_ so they fundamentally work differently
bakkdoor ok...well i 'translated' it from bison
ok. so what, for example is wrong?
ash_ code is wrong, since you have it optional and * 22:06
thats a start, take out the optional part
bakkdoor ah alright
ash_ line 20: just make it [<statement> | <expression>] ';'? ]*
bakkdoor ash_: hm ok but that made it recursive again, before i just got a syntax error (just removing the optional part) ^^ 22:08
ash_ yeah, i am getting that too, but ite recursing on a different part of the code
if you look in the stack trace 22:10
towards the bottom, you should see called from Sub 'parrot;Fancy;Grammar;receiver' pc 5319 (EVAL_1:1321)
called from Sub 'parrot;Fancy;Grammar;method_call' pc 4860 (EVAL_1:1213)
called from Sub 'parrot;Fancy;Grammar;expression' pc 2110 (EVAL_1:589)
called from Sub 'parrot;Fancy;Grammar;code' pc 530 (EVAL_1:0) which then starts repeating
that means it went from code to expression to method call to expression to method call to expression ...
so your definition of method_call and expression are recursive 22:11
bakkdoor ash_: ah, alright. I try to fix that :)
ash_ oo, i see, you had an empty or part
in method call, method call can be empty
your leading | 22:12
line 78
you probably don't need those 22:13
i'd suggest looking at github.com/perl6/nqp-rx/blob/master...Grammar.pm 22:14
bakkdoor ash_: ah, i see. was wondering already, why (in some example) there was a leading | in a rule. thought,that was how to define it corrcetly. 22:18
ash_: thanks. will have a look 22:19
ash_ i think there are other issues to, i took out a bunch of the leading | and it still is recursive, you might have to redefine a few more rules/tokes 22:20
bakkdoor ash_: yeah. i guess I'll just rewrite it, one peace at a time.
dalek rrot: r46046 | NotFound++ | trunk/src (2 files):
fix an error and a warning in c++ mode
22:23
22:45 Whiteknight joined 22:49 tcurtis joined
dalek kudo: 6c52872 | jonathan++ | src/Perl6/Compiler/Package.pm:
Allow use of lexically declared classes as an r-value (that does the right thing).
22:54
kudo: 3a89591 | jonathan++ | src/Perl6/Module/Loader.pm:
Apply a slightly refactored and tweaked patch from sorear++ to add a first cut of loading and importing from foreign libraries. Works with Blizkost (tested here on Win32). Not complete/final, but should let people start playing with a few aspects of Perl 5 interop.
darbelo sorear++ # 5 <-> 6 interop. 22:59
23:06 hercynium joined
Whiteknight I'm happy about the projects that got accepted 23:16
5 Parrot projects. if even 3 of those are successfull, Parrot will be much better off 23:17
darbelo NFG, threads, PAST optimizations, and what else?
Whiteknight the instrumentation tool 23:18
cotto_work profiling
purl profiling is where you figure out where my program is spending its time. Usually, its not where you think and usually its spending 50%+ of its time in one or two functions and usually piddly little things like wanting to use a constant instead of a variable in a closure have no impact on performance.
Whiteknight nci frame builder
darbelo Nice. The current frame-builder must die. 23:19
It also looks like I'm the only one making parrot slower ;) 23:20
Whiteknight what would be really nice is if an LLVM framebuilder helps us transition cleanly to a full JIT
23:20 tetragon joined
Whiteknight darbelo: yes, you're a special one 23:20
:)
but we love you anyway
darbelo :) 23:21
I'm not convinced frame-building -> full-blown JIT is an easy path. 23:22
dalek kudo: bd47b29 | jonathan++ | t/spectest.data:
Add S14-roles/lexical.t to spectest.data.
darbelo It removes some impediments, that's for sure. But it's still a steep climb up that hill.
Also, I'm suspicious of the 'JIT as a runcore' idea. 23:23
It feels like the wrong place to put it.
Not that I'm going to siggest a better one, mind you. 23:24
Whiteknight darbelo: no, it's not an easy path at all 23:31
but we stand to learn quite a lot about LLVM
cotto_work I'm also excited to see what Allison can do when she gets to hack for credit. 23:32
23:32 abqar joined
Whiteknight Allison is going to be hacking for credit? 23:35
cotto_work lemme dig
irclog.perlgeek.de/parrot/2010-04-20#i_2247093 23:36
moritz++ for his irclog
japhb seen allison 23:38
purl allison was last seen on #parrot 5 days, 3 hours, 33 minutes and 55 seconds ago, saying: is anyone else having trouble getting in to the conf call? [Apr 21 20:04:32 2010]
23:39 tcurtis joined
darbelo "next year" ?? 23:42
cotto_work probably next school year 23:43
darbelo And that isn't the same as a calendar year? Weird. 23:44
23:44 bubaflub joined
darbelo I mean, I know I'm on a different time zone, but I figured that was just a few hours. 23:45
OTOH, a few years lag would explain so much... 23:46
23:47 ruoso joined