Parrot 3.4.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 17 May 2011.
whiteknight ...lolwat? 00:09
dalek sella: 472e86f | Whiteknight++ | / (2 files):
Fix Provider.Array.take. Add .skip. Add tests for Array provider
00:17
sella: 4b8ce5a | Whiteknight++ | t/query/provider/Hash.t:
fix Hash.t
00:18 dmalcolm left 00:22 daniel-s left
Util kid51++ ; thanks for the clean-up, and for the prodding. 00:33
Re the dates: IMHO (and IANAL), those files are not truly "new"; they all represent pre-existing content, so the initial copyright date is still relevant.
As a minimal example, we would not change the copyright date if we just renamed a file, would we?
cotto ~~ 00:43
kid51_at_dinner Util++ ... and since I have you here ... 00:45
00:45 kid51_at_dinner is now known as kid51
kid51 Is there any chance we could consolidate those 10 foo.t files into a smaller number? 00:45
Once upon a time, particle stressed to me the start-up time for processes on Win32 ...
... and prodded *me* to consolidate 30+ test files. 00:46
Re copyright date: I did git log on a couple of the files and didn't see (or perhaps overlooked) earlier dates.
Util I would love to consolidate, but as I outlined in TT#1217, each test *must* be in a separate process, so separate invocation of ./parrot is needed for each test. Otherwise, all the tests (except the first one) will always pass, even if they do something very wrong that should have made them fail. 00:55
kid51 okay. I hadn't looked closely at the tests, but I figured I'd ask.
Util Re copyright date: Hmmm. `git log t/dynpmc/foo.t` fails. I do not know how to see the log of a file after `git rm`. Anyway, that is the file that the 10 foo-*.t files were split from. 00:59
cotto This book brings me an atypical amount of nerd glee. 01:00
Util Doh! I should have used `git mv` to change foo.t to foo-01.t, to preserve easy access to the history. 01:02
cotto: Which book?
kid51 We'll have to put you on the "learn one git command a day" plan. :-) 01:03
... which I ought to go on as well. ;-)
cotto Util, www.amazon.com/gp/product/052103311...052103311X 01:04
Util cotto: Ooooooooh. Shiny! 01:05
dalek sella/gh-pages: cd924cc | Whiteknight++ | libraries/query.md:
Add webpage for query
01:07
sella/gh-pages: 1f4ca51 | Whiteknight++ | _layouts/rosella.html:
Add query to the nav
benabik ~~ 01:08
Util: git doesn't track file renames. Git tries to guess file copies and moves. It's slightly more reliable. 01:09
dalek sella: c5c8c3c | Whiteknight++ | / (16 files):
Query is now a stable library.
01:10
soh_cah_toa has made room reservations and registered for yapc::na 01:11
cotto soh_cah_toa, woot
soh_cah_toa yeah, i'm so excited 01:12
cotto soh_cah_toa, do you have any gsoc questions? I'm planning on being mostly offline this evening.
soh_cah_toa hmm...let me think 01:13
oh one
what are these things like @ld_out@ in the makefile? i've never seen them before. b/c of them i can't quite figure what my hbdb rules are doing
cotto they closely approximate magic 01:15
PerlJam soh_cah_toa: they are substitutions
cotto Configure.pl turns them into platform-appropriate thingies
(I assume you're referring to the makefile templates rather than the makefiles themselves.) 01:16
soh_cah_toa ok. are they specific to gnu make or are they just symbols that are only recognized by the configure script
yes
Util soh_cah_toa: There should be no @foo@ in the final Makefile that Configure.pl produces; they should only be in the template. 01:17
soh_cah_toa Util: right
cotto soh_cah_toa, they're only meaningful to Configure.pl
soh_cah_toa cotto: ok, so Configure.pl is where i do my research then 01:18
cotto yes and no
bubaflub soh_cah_toa: i've done some digging in there before, if you have questions feel free to ask
soh_cah_toa bubaflub: sure
bubaflub soh_cah_toa: the entire configure process can set variables which can then get subsitutited into the Makefile.in which then becomes the Makefile proper 01:19
Util benabik: thanks! There is a way to ask it to look, as I just found: (for kid51, too): `git log -- t/dynpmc/foo.t`
cotto Configure.pl is the starting point, but there's a number of supporting libraries under config/ that do the actual work
soh_cah_toa cotto: ok great. that's the only thing i can think of right now. i'm sure i'll have more questions to bombard you w/ tomorrow :)
dalek rrot-embed: fcd00a8 | dukeleto++ | .gitignore:
ignore a generated file
cotto soh_cah_toa, I'm sure you will. glad you're not blocked for now 01:20
kid51 soh_cah_toa & GSOCers in general: I can handle Configure.pl questions as well
benabik Util: You may need to add a --follow to git log to cross the rename boundry. (Or at least you used to)
Util benabik: still true; thanks 01:24
(in some situations, still true)
cotto brain have tired. not want think
01:28 gbacon joined
soh_cah_toa general question for anybody: is there any significant difference between using Parrot_x_exit() and exit()? is one preferred over the other? 01:31
also, why the need for Parrot_x_exit() at all? does exit() not suffice?
whiteknight exit() does not suffice
Parrot_x_exit() doesn't exit the program. It "jumps out" of the interpreter 01:32
Parrot_x_exit calls exit handlers for cleanup, then calls Parrot_x_jump_out
soh_cah_toa whiteknight: so if i want to exit on some kind of error, i need to call Parrot_x_exit() first and then exit()?
whiteknight libparrot isn't a program by itself. It's called by embedding applications. When libparrot has an unrecoverable error it calls src/exceptions.c:die_from_exception, which calls Parrot_x_jump_out() 01:33
When we destroy the interpreter, we call Parrot_x_exit(), which runs the exit handlers on interp destruction and jumps out
so what exit routine you call depends on where you call it from 01:34
if you are in an embedding application, call Parrot_api_destroy_interpreter(), then do whatever you want
dalek rrot-embed: 854c6f7 | dukeleto++ | README:
update copyright
whiteknight if you are in Parrot or an extension, it depends what behavior you are trying to produce
soh_cah_toa tries to digest this 01:35
well, i think that raises up another question i've wanted to ask...
whiteknight soh_cah_toa: think about it this way. I have a program, and a parrot plugin. If Parrot has a problem, we exit the interpreter, we *do not* want to crash the entire program 01:36
soh_cah_toa what exactly is embedding? when i think of embedding i think of something like mod_perl. for my debugger though, it's considered embedded and i use the embedding api. how is that?
whiteknight or exit the entire program
embedding is where you use libparrot from inside a bigger program
think about plugins.
any application which has pluggins embeds little details inside a bigger program 01:37
01:37 woosley joined
benabik It really helps to declare $(PARROT) as a dependency before using $(PARROT) in the recipe. *sigh* 01:37
cotto soh_cah_toa, in general I'd encourage you to look at the source for functions when you have a question. Don't let yourself waste too much time trying to understand every last detail, but looking at implementations can give you a good idea of what's happening and what you might need to be aware of.
benabik, yes. highly recommended 01:38
soh_cah_toa, the parrot frontend embeds libparrot in a program that compiles and runs PIR and runs pbc. 01:40
the pbc_merge frontend embeds libparrot into a program that knows how to load and merge pbc files
the pbc_dump frontend uses libparrot to print out a human-readable representation of pbc 01:41
etc
whiteknight soh_cah_toa: inside libparrot, there are notions of things like exception handlers, and an execution context. Outside of Parot, in ordinary C code, we don't have these things
libparrot sets up an execution environment, where certain things are possible inside it that are not possible outside it 01:42
so Parrot_x_jump_out leaves the Parrot environment. Once you call that, you don't have exception handlers anymore, etc
benabik Any tips on what "Class Node already registered!" would mean?
soh_cah_toa ohhhhhhhh...so the parrot interpreter is the embeddee and my program is the embedder. i was thinking the other way around. i was confusing extensions with embedding 01:43
benabik It happens on the PIR: $P212."new_class"("PAST::Block", "PAST::Node" :named("parent"))
bacek_at_work benabik, you are probably trying to include ".pir" twice
for same class
benabik bacek_at_work: I didn't think I was, but I'll dig around a bit.
bacek_at_work or forgot to remove "handcrafted" from original .pir
benabik, just ack "new_class" in compilers/pct/src/PAST 01:44
dalek rrot-embed: 8db0cd6 | dukeleto++ | README (2 files):
convert readme to markdown
whiteknight soh_cah_toa: exactly
soh_cah_toa alright, i think i get it
whiteknight soh_cah_toa: yeah, once you get the terminology right, you'll know exactly what it is 01:45
bacek_at_work benabik, yes, in PAST/Compiler.pir
benabik, oh, no. I misread it... Sorry
whiteknight msg dukeleto wouldn't it be more kosher for the parrot-embed README to be in POD? That's the lingua franca of Perl5 docs
aloha OK. I'll deliver the message.
cotto whiteknight, it matters much less since github++ is smart enough to parse both 01:48
dalek rrot-embed: 47ff4eb | dukeleto++ | lib/Parrot/Interpreter.pm:
it is called parrot-dev
01:49
benabik Ah. I had PAST/Node.pir in PAST/Nodes.pir twice. *headdesk* 01:53
Onto the next build error.
dukeleto whiteknight: i don't really care. I am actually testing jitterbug by making small trivial edits to parrot-embed :) 01:54
whiteknight dukeleto: yeah, it was just a small stylistic nit 01:55
does parrot-embed even work?
dukeleto whiteknight: it doesn't compile outside of the parrot repo yet
whiteknight I wanted to update it to use the new embedding API, but didn't get far
dukeleto whiteknight: it's build.pl needs to be unsheistified
whiteknight the XS nonsense threatened to drive me insane
dukeleto whiteknight: jitterbug.leto.net:3000/api/build/p...rl-v5.10.1 01:56
whiteknight awesome
cotto: how much did you pay for that book?
Amazon has it listed for an arm used, the leg too new
dukeleto encourages peeps to push commits to parrot.git so I can see if i have shaken out the proper bugs in jitterbug 01:57
benabik The line numbers on the PIR backtraces are not always what I would call accurage. 01:58
accurate, even
sorear benabik: imcc line numbers are a running gag
benabik sorear: Well, I am gagging. 01:59
sorear opbots, names
opbots, trust benabik
slavorg Ok
benabik Whatnow? 02:00
sorear benabik: try adding print statements
benabik sorear: I found it based on sub name and the error.
sorear benabik: also, look at the IP values that are printed, and match them up with pbc_disassemble output
02:01 preflex left 02:02 kid51 left 02:05 preflex joined
whiteknight time for bed. goodnight 02:07
02:07 whiteknight left
benabik It built? 02:07
02:09 silug left
benabik And passed. The horrors. 02:10
tadzik :)
02:20 woosley left
benabik Anybody have any comments on github.com/Benabik/parrot/commits/nqp_pct ? 02:28
bacek_at_work benabik, I'll look at it tonight. 02:30
benabik bacek_at_work: I converted all the PAST nodes to NQP (with the help of Q:PIR) and tied that into the builds. Notable other changes: Committed nqp-setting.pir and ported a fix for TT#821 from master. 02:33
bacek_at_work benabik, excellent!
benabik, jfyi, trac.parrot.org/parrot/wiki/ParrotQ...version=13 (nothing personal if I'll use it :)
benabik bacek_at_work: Fair enough. I'm used to a bit of impolite English here and there. :-) 02:34
Tomorrow I get to dig into the monster that is PAST::Compiler. :-/ 02:36
bacek_at_work: Although I hope you won't need to use "OMG, do you really thinks using your brains?" when referring to my code. 02:40
02:41 bubaflub left
tadzik the ultimate fear 02:59
dalek rrot/leto/embed_grant: f4faf15 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_set_string_keyed
03:16
03:17 atrodo joined
dalek rrot: 9282a06 | dukeleto++ | NEWS:
Add a blurb skeleton for 3.5.0
03:28
cotto dukeleto, ping 03:30
(ignore privmsg)
dukeleto cotto: pong 03:31
cotto dukeleto, a couple things: 03:32
dukeleto, first, it looks like chromatic will be there on Saturday for the M0 sync.
dukeleto, second, can you lead #ps? I have an optional but recommended $dayjob meeting that's likely to cut into it.
03:32 bluescreen left
dalek rrot: 6edd292 | dukeleto++ | NEWS:
Add a note about HARNESS_TIMER
03:34
dukeleto cotto: awesome and sure 03:35
cotto: and i think i may have fixed jitterbug enough for the parrot test suite to be happy
cotto thanks 03:36
dukeleto cotto: dare I say, jitterbug can grok parrot's test suite now: jitterbug.leto.net:3000/project/parrot 03:42
cotto: this means I have tuits for M0 now :) 03:43
cotto dukeleto, woot and woot again
benabik dukeleto++
cotto dukeleto++
and that
tadzik wow, awesome 03:47
03:56 nnunley_ left 04:17 theory left, theory joined 04:18 theory left
dalek rrot/m0-prototype: 1bbb44c | dukeleto++ | t/m0/ (3 files):
Prevent our hand-crafted m0b from getting overwritten during the test suite by giving it a fancy name
04:30
rrot/m0-spec: 37cc2e2 | dukeleto++ | docs/pdds/draft/pdd32_m0.pod:
Put a line in the sand about op composition
04:33
04:38 jsut joined 04:41 silug joined 04:43 jsut_ left 04:44 ShaneC joined
cotto msg whiteknight This may not be helpful but I was explicitly glad I didn't have a spouse to whom I'd have to justify the purchase of the Appel book. 04:47
aloha OK. I'll deliver the message.
04:48 ShaneC left
dalek rrot/m0-prototype: 74be997 | dukeleto++ | config/gen/makefiles/root.in:
Add t/m0/m0_assembler.t to the m0_tests makefile target
04:49
tcurtis msg darbelo I created a repository for my project at github.com/ekiru/lalrskate 04:52
aloha OK. I'll deliver the message.
04:56 silug left
dukeleto tcurtis: you took my name suggestion! 04:57
dukeleto is honored
cotto: jitterbug just got t/pmc/threads.t to coredump jitterbug.leto.net:3000/api/build/p...rl-v5.10.1
dalek rrot/m0-spec: a81e8e7 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
change goto* to take a fixed target
cotto dukeleto, ...
dukeleto cotto: i am backing away, slowly 04:58
cotto I'm impressed that we could fail that hard. 04:59
I thought it only failed unreliably instead of also occasionally core dumping.
tcurtis++ 05:00
dukeleto cotto: it is a box with a lot going on 05:01
cotto: i am staring at hexdump output, are you happy? 05:02
cotto dukeleto, "happy" wouldn't be the most accurate word. 05:03
dukeleto searches for fancy hex editor/viewers 05:04
cotto dukeleto, are you trying to debug the thread failure or playing with M0?
dalek rrot/m0-spec: f58a07a | cotto++ | docs/pdds/draft/pdd32_m0.pod:
rename goto_if_eq to goto_if
05:05
rrot/m0-prototype: ea5c2d3 | cotto++ | src/m0/m0_ (2 files):
update the name of goto_if_eq in assembler and interp
dukeleto ghex seems decent 05:06
cotto: my generated m0b agrees with yours up to and including byte 28 05:13
05:13 soh_cah_toa left
cotto dukeleto, that's good 05:14
although the other bytes are important too 05:19
dukeleto cotto: is the plan to keep m0_tests passing? 05:36
dalek rrot/m0-prototype: ad0481c | dukeleto++ | t/m0/m0_assembler.t:
Add a test to verify that bytecode generated for hello.m0 is of correct length
05:37
cotto dukeleto, when possible 05:38
dukeleto, it's an experimental branch 05:39
dukeleto cotto: 'cause i just broke it
cotto dukeleto, let me find my panic hat
dukeleto cotto: but i wrote a failing test to aid in development
cotto dukeleto, TODO? 05:40
dukeleto cotto: ah, yes
cotto: done 05:41
dalek rrot/m0-prototype: 5a334ef | dukeleto++ | t/m0/m0_assembler.t:
Keep the m0_tests target passing
dukeleto takes a break
cotto dukeleto, I'm thinking about goto_chunk. Do you think it makes sense to jump into a chunk anywhere other than the first instruction? 05:46
tcurtis dukeleto: I'm not absolutely certain I'll keep the name, but it does mean I can call some debugging tool "lalrcat". 05:51
cotto tcurtis, you can call a lot of things a lot of things
05:59 gbacon left 06:01 davidfetter joined
dalek rrot/m0-spec: c386e91 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
add spec for labels, fix minor mistakes
06:02
cotto dukeleto, if it slows you down, feel free to not implement labels until everything else is done.
cotto sleeps 06:03
'night
06:08 fperrad joined 06:59 mtk left 07:06 mtk joined 07:13 silug joined 07:24 mj41 joined 07:52 contingencyplan joined 08:46 Khisanth left, Khisanth joined 09:42 silug left 09:55 daniel-s joined 10:02 daniel-s left 10:14 Khisanth left, Khisanth joined
dalek rrot: 13d5346 | mikehh++ | docs/deprecations/deprecations.pod:
add docs/deprecations dir and deprecations.pod
10:21
rrot: a8f31ac | mikehh++ | docs/deprecations/deprecations_2_6.pod:
add deprecations notes for release 2.6
rrot: 4b9dc1d | mikehh++ | docs/deprecations/deprecations_2_9.pod:
add deprecations notes for release 2.9
rrot: 1c489c5 | mikehh++ | docs/deprecations/deprecations_3_0.pod:
add deprecations notes for release 3.0
rrot: 4fc2abf | mikehh++ | docs/deprecations/deprecations_3_3.pod:
add deprecations notes for release 3.3
rrot: c8947a7 | mikehh++ | docs/deprecations/deprecations_3_6.pod:
add deprecations notes for release 3.6
rrot: ed2d578 | mikehh++ | docs/deprecations/how_to_deprecate.pod:
add how to deprecate notes
rrot: 27265e1 | mikehh++ | docs/index/developer.json:
add deprecations notes to developer docs for html
rrot: 8b56ba3 | mikehh++ | MANIFEST:
re-generate MANIFEST
10:44 lucian joined 10:50 lucian left 10:51 lucian joined 11:07 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner 11:21 slavorgn joined 11:37 lucian_ joined 11:41 lucian left 11:45 silug joined 12:13 ambs joined 12:39 redicaps joined, darbelo joined
darbelo ~~ 12:39
12:40 ligne-pub is now known as ligne 12:48 bubaflub joined 12:54 NotFound_b joined 13:00 lucian_ is now known as lucian
dalek sella/gh-pages: ddc3c1c | Whiteknight++ | libraries/query.md:
Fix title. Add overview. Add info about functions and predicates
13:32
13:35 bluescreen joined
dalek sella/gh-pages: cc58e4c | Whiteknight++ | libraries/query.md:
Fix formatting:
14:37
benabik ~~ 14:48
14:51 Andy joined 14:57 davidfetter left
cotto ~~ 15:01
15:01 JimmyZ joined
cotto_work ~~ 15:20
15:34 redicaps left 15:36 whiteknight joined
whiteknight good morning, #parrot 15:40
15:40 JimmyZ left
cotto_work hio whiteknight 15:42
lucian whiteknight: hi
whiteknight good morning cotto_work, lucian 15:45
lucian i think i really hate cpan 15:46
15:47 hercynium joined
bubaflub lucian: why is that? 15:47
lucian bubaflub: well, besides not working, it really, really wants root 15:48
bubaflub hmmm
lucian i'm trying out cpanminus, seems better
bubaflub lucian: are you using the default CPAN client?
yeah, there we go
lucian it still ends up building lots of things when installing vimana
seems odd
bubaflub yeah, those dependencies can multiply quickly
benabik I have cpanp configured to use sudo to install.
bubaflub i started using perlbrew and cpanminus
lucian it builds things called "math-round" and "mouse" and "regex" 15:49
cotto_work lwn.net/SubscriberLink/444336/86ac80dfae5f3d70/ - interesting article about kernel hackers and premature optimization 15:57
16:04 dmalcolm joined
lucian cotto_work: out of curiosity, are you allowed to share that link? 16:05
cotto_work lucian: the link is intended to be shared 16:07
lucian cotto_work: i see. thanks
cotto_work Some LWN articles require a subscription to view during the first week they're published. The subscriber link feature allows subscribers to share full articles. 16:08
lucian cotto_work: yeah, i'd noticed the former, just found out the latter 16:14
cotto_work: interesting article indeed
i suppose using mostly higher-level languages, i'm not usually tempted to do any non-complexity optimisations
16:26 theory joined
atrodo cotto_work> it's those things that make me marvel at how magical cpu's are today 16:27
NotFound_b whiteknight: ping 16:30
whiteknight pong 16:38
NotFound_b whiteknight: Have you seen this? github.com/NotFound/WinxedGtk
16:40 mj41 left
whiteknight I saw your example code yesterday. I didn't see that repo 16:40
Ah, there's my problem. I wasn't following you. Now I am
NotFound_b I created it after yesterday conversation.
whiteknight okay, awesome 16:42
it looks pretty cool
NotFound_b And useful, I hope. 16:43
16:54 dodathome joined 17:04 silug left
dukeleto ~~ 17:07
cotto_work pmichaud: ping 17:12
dalek sella: 74476e9 | Whiteknight++ | s (4 files):
Add a new File library, with a basic implementation of a directory tree walker and a file visitor, inspired by similar logic in the Harness library
17:30
sella: d504e88 | Whiteknight++ | .gitignore:
update gitignore
dukeleto cotto_work: the m0-spec branch is failing on jitterbug: new.leto.net:3000/project/parrot 17:32
cotto_work: looks like it may need a merge from master or something
cotto_work dukeleto: that's possible. It's quite old.
dukeleto: I haven't bothered to sync it because that's not the point of the branch, but it's also not harmful or hard to sync. 17:33
dukeleto cotto_work: ok, i will merge master in
ooooh, i see deprecation data in our repo! 17:34
mikehh++
cotto_work dukeleto: thanks 17:35
dalek rrot/m0-spec: 13d5346 | mikehh++ | docs/deprecations/deprecations.pod:
add docs/deprecations dir and deprecations.pod
rrot/m0-spec: a8f31ac | mikehh++ | docs/deprecations/deprecations_2_6.pod:
add deprecations notes for release 2.6
rrot/m0-spec: 4b9dc1d | mikehh++ | docs/deprecations/deprecations_2_9.pod:
add deprecations notes for release 2.9
rrot/m0-spec: 1c489c5 | mikehh++ | docs/deprecations/deprecations_3_0.pod:
add deprecations notes for release 3.0
rrot/m0-spec: 4fc2abf | mikehh++ | docs/deprecations/deprecations_3_3.pod:
add deprecations notes for release 3.3
dukeleto uh oh
rrot/m0-spec: c8947a7 | mikehh++ | docs/deprecations/deprecations_3_6.pod:
add deprecations notes for release 3.6
rrot/m0-spec: ed2d578 | mikehh++ | docs/deprecations/how_to_deprecate.pod:
add how to deprecate notes
rrot/m0-spec: 27265e1 | mikehh++ | docs/index/developer.json:
add deprecations notes to developer docs for html
rrot/m0-spec: 8b56ba3 | mikehh++ | MANIFEST:
re-generate MANIFEST
rrot/m0-spec: cb24ece | dukeleto++ | / (401 files):
Merge branch 'master' into m0-spec
dukeleto i thought dalek was going to spew 400ish commits. Thankfully, it stopped. 17:36
benabik It would be nice if dalek used --first-parent or something. If people want to investigate a merge, they can do so via the link. 17:37
dukeleto benabik: it does various things and has some heuristics to detect merges and such. But, of course, it ain't perfect. 17:40
benabik: how is your gsoc progress?
benabik: is bacek++ being helpful?
benabik dukeleto: Got the PAST nodes into NQP files and got the build running. bacek++'s been very helpful. He's saved me a couple hours of searching by pointing out likely problems. 17:41
17:41 lucian left
dukeleto benabik: just what a mentor is for :) 17:42
Check it out: Github API for getting a list of contributors to a repo: curl github.com/api/v2/json/repos/show/p...ntributors 17:44
Tene whiteknight: I started cardinal with a short ruby quick reference guide by oreilly that I cpiked up on a whim for like $2 in a used book store. 17:47
whiteknight I got the big O'Reilly Python book for christmas and haven't really taken time to read it yet 17:48
I figure that now is as good a time as any to pick it up and learn something new 17:49
Ruby is near the top of my short list too. I would like to start griding through the koans soon 17:50
17:50 dolmen joined
dukeleto Perl embedded in Go: github.com/bradfitz/campher 17:50
whiteknight nice
benabik How do I convert PIR `.include "cclass.pasm"` into NQP? 17:52
PerlJam benabik: I don't think you do. 17:53
whiteknight yeah, you can't
you have to copy+paste the values 17:54
benabik Yeah, taht's what I thought.
PerlJam Though it might be nice if a simple PIR->NQP translator existed. 17:55
*really* simple
17:55 gbacon joined
PerlJam er, I guess I mean a PASM->NQP translator 17:57
benabik PerlJam: For my needs, all it would have to do is convert a bunch of .macro_const lines...
PerlJam oh. In the case of that file, it's generated anyway. It would be nice if the generator knew how to output NQP 17:58
18:01 pjcj left 18:02 pjcj joined 18:11 NotFound_b left 18:18 ligne left 18:19 gbacon left 18:47 dmalcolm left
whiteknight Winxed has the ability to get const symbols out of .pasm files 18:47
I dont' know how you would even go about doing that in NQP
benabik I don't think NQP has constants, but it would be awesome if it learned to parse PASM enough for constants. 18:48
jnthn__ Would like to add constants but no interest in tying it to PASM. 18:49
NotFound Winxed just looks for integer constants in the .pasm files 18:58
dukeleto Wow. PHPUnit does not impress. 19:08
benabik dukeleto: s/Unit//
dukeleto Does anybody have a suggestion for a PHP testing framework that is easy to bundle with a project ?
benabik: indeed. PHP last impressed me in 1998, methinks. 19:09
benabik dukeleto: PHP5 improved matters quite a bit, but I keep wishing I was using Ruby instead. 19:10
dukeleto: And 5.3 added closures and goto. Adding goto impresses me some, but not in a good way. 19:11
19:13 silug joined 19:24 dmalcolm joined 19:26 dolmen left
dalek website: benabik++ | GSoC 1: On Your Marks, Get Set 19:26
website: www.parrot.org/content/gsoc-1-your-marks-get-set
PerlJam does php have anything other than phpunit?
19:37 dolmen joined 19:53 mj41 joined
benabik Hackathon at YAPC is Thursday? (I really need to write this down this time. 19:54
rblackwe www.yapc2011.us/yn2011/wiki?node=Pa...0Hackathon 19:55
dukeleto benabik: that is what I have been told 19:56
rblackwe: do you have suggested dates that devs should be at YAPC::NA? Is there other stuff going on?
rblackwe That wiki page does not give date details but is linked from the YAPC schedule.
(For Thursday)
dukeleto: I don't know unfortuanatly. 19:57
I only know of the Parrot/Perl6 Hackathon.
These things seem to organize at the last minute.
dukeleto rblackwe: indeed :)
rblackwe I have learned to just assume they will happen and have something else to do if they don't :) 19:58
atrodo The hackathon happens on thursday, but a BOF is happeing on tuesday
www.yapc2011.us/yn2011/wiki?node=Pa...erl6%20BOF 20:00
benabik aloha, going to yapc::na is also benabik 20:06
aloha benabik: Okay.
dukeleto cotto_work: have you made travel+hotel plans for YAPC::NA yet? 20:08
20:21 lucian joined 20:28 soh_cah_toa joined
dukeleto 2 mins until #ps 20:28
benabik dukeleto: I hate EFINITETIME. I get that error code way too often.
20:29 whiteknight left
dukeleto Someone should tell this dude about Parrot: www.groklaw.net/article.php?story=2...6051819346 20:31
20:33 perlite left
benabik Arg. My cat waited until #ps started to climb in my lap and make typing difficult. 20:34
20:35 perlite joined 20:37 dodathome left 20:45 spinclad joined 20:52 wknight-phone joined 21:03 silug left, silug joined 21:09 jrtayloriv joined 21:10 wknight-phone left
dalek p: 2ca4db0 | jonathan++ | src/6model/reprs/P6 (3 files):
Update native repr handling to fit latest thinking.
21:27
21:27 bluescreen left 21:41 ambs left 21:47 mj41 left 21:52 davidfetter joined 22:05 silug left 22:06 silug joined 22:09 fperrad left
darbelo ~~ 22:10
sorear o/ darbelo
darbelo hey.
22:11 hercynium left
darbelo tcurtis: ping 22:15
22:26 mtk left 22:31 Andy left 22:33 mtk joined 22:49 kid51 joined
tcurtis darbelo: pong; sorry about the delay. 22:52
darbelo tcurtis: no problem. How have you been? 22:55
tcurtis darbelo: good. Slightly busy and slightly sleep-deprived. 22:58
darbelo Only slightly? Excellent! 22:59
;)
Saw the repo. I already like LARLcat as a name.
Haven't really had the chance to give the code a proper read, though. 23:00
tcurtis darbelo: there isn't much to read just yet. 23:01
darbelo: just the grammar class and an example of building a very simple one up programmatically and displaying it. 23:03
lucian larlcat :))
tcurtis I still have to figure out what I will call lalrcat. :) 23:04
23:10 janus left, janus joined
tcurtis darbelo: do you have any specific questions? 23:10
darbelo Not really. What little I saw didn't strike as insane enough to ask about :) 23:11
Wait. Actually I do have a question.
Have you thought about making lalrcat output's easily parsable, say by a test harness? 23:12
tcurtis LALRcat isn't a thing that will exist just yet, since 23:14
it's just a name idea for some sort of debugging tool.
But having multiple output formats would probably make sense for it.
darbelo Oh, I thought you meant to use that for the "Grammar dumper" 23:15
The one that takes the tree and spits out plain text. 23:16
23:16 kid51 is now known as kid51_at_dinner
tcurtis darbelo: I had it more in mind for something that would work at the level of a textual representation of the grammar once I implement such a thing. 23:17
although it would also work for a prettyprinter for the object representation. Hmm...
23:17 lucian left
darbelo Actually, a standalone pretty printer is much smaller. 23:18
Though less useful.
I'm just looking for stuff that will let us write tests as early as possible (Before writing code, even ;). 23:19
tcurtis I should refactor out the prettyprinter example such that it's a method on grammars rather than buried in the example.
23:20 mikehh left
darbelo Nice. 23:20
cotto_work Random question: When is Parrot fast enough? i.e. at what point do we say that it's no longer helpful to improve Parrot's performance in a particular area? 23:22
I'm not suggesting that it is now, of course. 23:23
sorear cotto_work: when that area stops showing up on real-world profiles 23:24
e.g. right now profiling Rakudo at the C level points fingers at PCC, GC, and the object system mostly. NCI marshalling doesn't show up, so we don't make much effort to speed that up 23:25
23:27 mikehh joined
cotto_work That's a good starting point. 23:29
dalek lrskate: f101ff0 | tcurtis++ | t/lalr-grammar.t:
Add test file containing basic tests for grammar creation/accessors.
lrskate: b48a628 | tcurtis++ | setup.winxed:
Add --nowarn to testexec so inability to find classes at compile time doesn't break TAP.
cotto_work tcurtis: what's "ekiru"? 23:34
tcurtis cotto_work: three meaningless syllables. 23:35
darbelo tcurtis: I have to go now. Questions before I run away?
tcurtis darbelo: none at the moment. 23:36
darbelo Okay. See you later.
dalek lrskate: 0395e43 | tcurtis++ | examples/prettyprint.winxed:
Make examples/prettyprint.winxed executable.
23:37
lrskate: e172bce | tcurtis++ | examples/prettyprint.winxed:
Add #!line to prettyprint example.
lrskate: 60b3e5c | tcurtis++ | examples/prettyprint.winxed:
[examples/prettyprint] use builtin load_bytecode instead of pirop.
23:39 bubaflub left 23:41 whiteknight joined 23:44 darbelo left
whiteknight good afternoon, #parrot 23:44
dalek lrskate: 0567c68 | tcurtis++ | / (2 files):
Factor out prettyprinting to a LALR.Grammar.as_bnf_string() method.
23:47
rrot/m0-prototype: 46e7feb | cotto++ | t/m0/ops/m0_labels_with (2 files):
add a couple test .m0 files for labels and goto
23:51
23:52 kid51_at_dinner is now known as kid51 23:57 dolmen left