Parrot 2.4.0 "Sulfur Crest" Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere
Set by moderator on 18 May 2010.
whiteknight oh shit, typo 00:00
should be _n, not _s
cotto_work just checking that it wasn't anything worse
whiteknight if we had git, I could amend that but....
dalek rrot: r47034 | whiteknight++ | branches/ns_func_cleanup (3 files):
Parrot_store_global_s -> Parrot_ns_store_global. This function is heavily underused (only used twice, in the same file where it's defined) so we might eventually want to make it go away
00:02
whiteknight Is there anybody around here who can provide a test for the intended behavior in TT #1223? 00:14
tcurtis pmichaud: ping
whiteknight I know around here I should probably be using perl, but for these kinds of jobs sed -i is my friend 00:17
dalek rrot: r47035 | whiteknight++ | branches/ns_func_cleanup/DEPRECATED.pod:
add another function to TT #1660
00:19
rrot: r47036 | whiteknight++ | branches/ns_func_cleanup (5 files):
Parrot_find_global_op -> Parrot_ns_find_global_from_op
bacek_at_work whiteknight, you can use Parrot_find_global_s now (I think) 00:22
#443
whiteknight bacek_at_work: nobody uses it. I don't want to rename it, I want to delete it 00:23
MURDER DEATH KILL, john spartan
darbelo KILL 'EM ALL 00:24
purl i heard KILL 'EM ALL was great
darbelo has a totally crazy idea. 00:26
pmichaud tcurtis: pong
darbelo No. Wait.
pmichaud cotto_work: ping 00:27
darbelo realizes it won't work.
Dammit.
tcurtis pmichaud: should PASTs have cycles? nopaste.snit.ch/20638
pmichaud tcurtis: they can, yes.
sometimes an inner operation needs to be able to refer to an outer block
tcurtis Is that limited to the attributes or can there be cycles in the array part of the nodes? 00:28
pmichaud I can't think of anywhere that there might be cycles in the array part.... but so far PAST hasn't made any declarations to the effect that it's not allowed. 00:29
00:29 kid51 joined
dalek kudo: 4293e07 | jonathan++ | src/Perl6/Actions.pm:
Implement auto-currying at compile time of infix, prefix and postfix operators.

construction a little less ugly.
00:30
kudo: b0ec2da | jonathan++ | src/Perl6/ (2 files):
Give Perl6::Compiler::Signature a nicer constructor, to allow neater code in the
kudo: 06a4af5 | jonathan++ | src/Perl6/Compiler/Parameter.pm:
Give Perl6::Compiler::Parameter a better constructor so we can write cleaner
kudo: edb448f | jonathan++ | src/Perl6/Actions.pm:
Use new parameter and signature constructors to do some cleanups.
kid51 Any branch need a quick smoke?
pmichaud with some upcoming changes that I'm about to put in place it's definitely possible that a single node could appear multiple times in the tree (even if it doesn't create a cycle)
(i.e., the container node would choose between two possible subtrees -- the subtrees might have duplicate nodes instead of requiring copies) 00:31
darbelo tcurtis: What if you only copy the nodes you modify? Then you don't have to worry about subtrees (subgraphs?) that you don't touch? 00:33
pmichaud speaking of "copy" -- did the shallow clone for hashes ever get implemented or brought into trunk?
I ran into a place again yesterday where the deep clone semantics of Hash required a significant workaround 00:34
darbelo Is that plobsing's shallow_clone vranch?
whiteknight I don't know what the deprecation limitations of that branch are
we are probably limited by time
dalek rrot: r47037 | whiteknight++ | branches/ns_func_cleanup (7 files):
Parrot_store_sub_in_namespace -> Parrot_ns_store_sub
00:35
pmichaud anyway, another +1 from me to get rid of the evil deep clone semantic 00:36
I have more +1's in storage too for that
00:37 theory joined
tcurtis darbelo: that gets tricky with cycles. I was doing that, but my implementation didn't work with cyclical PASTs. 00:39
whiteknight The whole "PMCs can do whatever they want" mentality is fine, until semantics among core PMCs are completely non-standard
Sure the flexibility will always be there, but among core PMCs some things like shallow-clones should have just been standard 00:40
tcurtis Perhaps there should be separate shallow_clone and deep_clone vtables. 00:49
cotto_work pmichaud: pong
00:52 plobsing joined
dalek rrot: r47038 | whiteknight++ | branches/ns_func_cleanup (5 files):
[namespace] This is going to create problems on mergeback, I can feel the chill running down my spine. Rename src/global.c -> src/namespace.c, and include/parrot/global.h -> include/parrot/namespace.h
00:52
rrot: r47039 | whiteknight++ | branches/ns_func_cleanup/src/namespace.c:
remove the flag DEBUG_GLOBAL. It was only used in two places and didn't seem to have a lot of utility. If we need to do serious debugging in this area in the future, we can add a new flag and new diagnostics
darbelo tcurtis: With the right default vtables, a freeze/thaw cycle can stand in for deep clone, any day.
cotto_work whiteknight seems to be feeling either brave or foolish 00:54
darbelo Or both... 00:55
plobsing look what you've done now
darbelo Ah. He'll get over it. 00:56
cotto_work I scared off whiteknight and pmichaud won't return my pongs.
;)
00:57 abqar joined
tcurtis darbelo: ah. That would be slower than a custom deep clone, though. 00:57
plobsing darbelo: I actually implemented about half of a deep clone using those very vtables
except without using any intermediary string
it's still sitting in a branch somewhere 00:58
do we actually have a good use for a deep clone? I might be motivated to finish that if we did.
pmichaud cotto_work: sorry, I got sidetracked in another chan 01:05
cotto_work still alive
pmichaud it's nothing urgent. I just wanted to let you know how immensely pleased I am that you and others were able to write ops2c in nqp. 01:06
that really makes me feel good about nqp
cotto_work you can thank bacek for the majority of the work, but I'm immensely happy about it too.
thanks 01:07
even more excited about PIRATE
I'm sure patches will be forthcoming soon after nqp supports multis. 01:10
pmichaud that's coming very soon now 01:14
I'm at the point where I see multi support as an important feature for nqp
just have to explore the mental design space a bit more
cotto_work pmichaud, in your cft, could you take a look at LoritoRoadmap and edit or comment on anything that jumps out at you? 01:15
dalek website: tcurtis++ | PAST::Transformer and the Foundation for PAST Optimization 01:16
website: www.parrot.org/content/pasttransfor...timization
pmichaud cotto_work: I looked at it briefly a week or so ago, and it looked reasonable to me but seemed like we weren't very far along yet 01:17
but I'll identify the "jumps out at me" in the next day or so
cotto_work ok. I think the reason we're not very far along is that there hasn't been a well-defined plan to follow.
thanks 01:18
cotto_work goes home 01:35
01:35 tetragon joined 01:36 davidfetter joined 01:39 diakopter joined 01:40 diakopter left
dalek tracwiki: v7 | cotto++ | LoritoRoadmap 01:40
tracwiki: incoprorate feedback from allison++, other small changes
tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff
cotto ~~ 01:50
01:54 ash_ joined
ash_ ping plobsing 01:55
dalek kudo: 972ae69 | jonathan++ | docs/ROADMAP:
We've been able to import module symbols into current lexical scope for a while,
kudo: 982e8e3 | jonathan++ | src/Perl6/Actions.pm:
Fix $obj.Foo::bar in the case that Foo is lexically scoped.
plobsing ash_: pong
ash_ hey, sorry i am late, I am moving into my new apartment 01:56
just got done with the last load of stuff
plobsing it's cool
dalek rrot: r47040 | tcurtis++ | branches/gsoc_past_optimization (1 files):
Move t/library/pastcompare.pir so that make clean doesn't delete it.
01:57
plobsing so status (from where I stand): you've put it to the list, it has settled without any major objections. I'd say go for it.
dalek rrot: r47041 | tcurtis++ | branches/gsoc_past_optimization (3 files):
Add PAST::Walker::Dynamic.
rrot: r47042 | tcurtis++ | branches/gsoc_past_optimization/t/library/pasttransformer.t:
Fix inclusion of pastcompare.pir after its move.
plobsing one thing that occurred to me that might make your life easier: make the new signatures distinguishable from the old ones so you can tell what's been ported over to the new system easily. 01:58
eg: by initially prefixing with a marker character
which you get rid of later
ash_ plobsing: i have gotten started with configuration stuff, and some tests for the configuration
plobsing how far along on that are you? 01:59
ash_ but i had a question about how to mix in the code, i wanted to keep parts of the current NCI system incase people don't have libffi, but I wasn't sure of the best way to mix the two code sets, i'd rather not fill the file with #ifdef 's since that seems harder to maintain
01:59 mj41_ joined
ash_ well, in theory, it looks for: 1) "pkg-config libffi", if that fails, it looks for some system dependent headers, like OS X has libffi 2.0.9 installed by default, if it finds the headers it makes a simple test program and compiles it to verify it works properly 02:01
plobsing ash_: keep them separate!
ash_ s/in theory//
plobsing be nice, have a flag too 02:02
ash_ github.com/ashgti/parrot/blob/gsoc_.../test_c.in is the test file, i call puts with libffi, and check it worked 02:03
that all works fine, my tests aren't great but they do some simple things, like check if you called config with --without-libffi and verify it won't try to configure it 02:04
plobsing a --with-libffi might be nice too to catch cases where autodetection fails
maybe
although if compiling that file fails, I doubt parrot would find libffi at build time anyways 02:05
ash_ so, configuration stuff seems good, or good enough for now, once i get a bit further I'll probably ask someone with like windows to check that all of this still works there, i don't have a windows computer though 02:07
plobsing alas, parrot has a shortage of windows devs 02:08
tcurtis plobsing: perhaps --with-libffi-libs=/foo/bar/lib/ and --with-libffi-includes=/foo/bar/include/
ash_ so, if i have 2 files, one the current nci things and one for libffi, do i need a gen step? 02:09
plobsing tcurtis: Actually, if it came to that, I'd prefer environment vars. I dislike config option bloat
ash_: it depends. I needed a gen step because I needed to auto-wrap a bunch of functions to be called with libjit
you'd likely need this for llvm as well
but libffi's model is slightly different. You probably don't need to wrap functions, so I doubt you'll need a gen step 02:10
ash_ alright 02:11
then how would i get it to select which file at compile time?
plobsing ash_: makefile ifdefs. check out config/gen/makefiles/root.in 02:12
ash_ ah, okay, thanks
ah, i see, thanks 02:13
plobsing you'll probably want to plug some code into global init as well (src/interp/inter_create.c)
other than that, I'm pretty sure your code can live on its own 02:14
ash_ kk 02:16
plobsing is there anything else we should discuss? 02:17
ash_ my plan is to get the libffi ball rolling soon, but i have not had much spare time to get as much done as I would like. There is a robotics project I have been working on (since last May) and our competition is next week, i was planning on splitting my time between GSoC and it, but it's been sucking up more time than I would of liked, hopefully i'll be able to manage it better this next week, after the competition i am free of distraction 02:18
summer (well planned ones)
i can't think of any other issues that come to mind
plobsing ok. meeting adjourned 02:19
btw, is that robotics project associated with any orginization? 02:20
ash_ my school? umm its the ion robotics lawnmower competition www.ion.org/satdiv/alc/ basically you make an autonomous lawnmower 02:21
plobsing cool 02:24
ash_ its pretty fun, the system we are programming it with is called ros, (for robotics operating system, but its not an OS, it runs on linux) my plan after th GSoC is over is to add a library to parrot for the ros core libraries, so you can use it as one of the programming languages, right now it supports C++ and python, with limited support of octive, lisp and java, but i think it would be worth the effort 02:26
s/octive/octave/
02:27 bubaflub joined
kid51 must sleep 02:28
purl $kid51->sleep(8 * 3600);
ash_ ros is found at www.ros.org/wiki/ if your interested
its all open source, under a bsd license 02:29
plobsing thanks. that might come in handy sometime 02:30
ash_ i like robotics, thats one of my pastimes is working with robotics, that and programming in general, anyway, ima try to make some progress with libffi 02:31
03:12 GodFather joined
cotto plobsing, when are you planning on merging ops_massacre? 03:18
plobsing cotto: tonight if all goes well 03:20
I'm currently working my way through the a later half of fulltest 03:21
and I already have a fix for nqp-rx sitting on my github
cotto what's broken?
purl well, broken is always relative
plobsing It uses pir::tell, pir::open, pir::close, etc
cotto more setting stuff then? 03:22
nm. they're dynops in the branch
plobsing yes, but because we bootstrap with nqp-rx, nqp-rx can't use those dynops
they become methods on FileHandle
FileHandle.new().open(), FileHandle.tell(), etc 03:23
It looks cleaner IMHO
cotto not sure why those shouldn't be core ops, but I don't mind as long as File I/O is possible. 03:25
plobsing cotto: I'm following the ticket to the letter. Also, file I/O fits naturally in OO. 03:27
urg. hitting the "loading PBCs with different dynop dependencies" issue. 03:29
guess that bug jumps the queue 03:30
cotto sounds... ouch
what happens?
plobsing the dynop gets interpreted as the core op of equivalent number 03:32
not exactly sure why *that* happens
but I knew something bad would happen
segfaults ensue as the ops take differing numbers and types of regs 03:33
cotto no surprise there
plobsing++
plobsing for breaking things?
cotto Nah. you're just finding that they're broken.
not that you wouldn't get karma for breaking things too
03:38 LoganLK joined
cotto I hope there's a good fix for that issue. 03:38
plobsing cotto: I've suspected this to be an issue for a while (ever since I saw ParrotInterpreter.freeze) 03:39
there is a fix, it just means creating a new packfile segment for dynamic library dependencies 03:40
not sure if I can shoehorn that onto one of the existing packfile segment types
cotto There's nothing wrong with another segment. 03:41
plobsing I supose it couldn't hurt too much to do it right the $nth time 03:43
cotto I might add one just for kicks and giggles.
HalibutPackFileSegment //added just for the halibut
03:47 Hunger joined
plobsing PickledPepperPackFileSegment 03:48
cotto Are dynpmcs immune? 03:50
plobsing no. they suffer the same issue. but dynpmc numbers are much less likely to be found in PBC than are dynop numbers
I intend to fix both at the same time though
cotto that's what I was thinking
plobsing it would also make freeze/thaw on dynpmc a little closer to possible 03:51
cotto generic fixup table for dynamic thingies
plobsing fixup is a good word for it. I was going to call it dyndeps, but that's a little cryptic 03:52
dalek rrot: r47043 | tcurtis++ | branches/gsoc_past_optimization (4 files):
Add accessors for PAST::Walker::Dynamic attrs and a test for PAST::Walker::Dynamic.
03:53
cotto would it be possible to stick that info into the fixup table without causing too much collateral churn?
plobsing collateral churn?
cotto messing up other code 03:55
plobsing it *will* change the format of PBC.
cotto sure
we do that all the time anyway
plobsing but by adding it as another section, tools that only work on existing sections will continue to work
unless of course they hit dynamic thinigs
s/thinigs/thingys/
which I hope becomes more common (eg: frozen rakudo setting requires a lot of dynpmcs) 03:56
cotto I'm certain it will.
plobsing cotto: do you have a commit bit on the nqp-rx repo? 03:58
cotto I don't think so.
plobsing who does?
cotto pmichaud is a likely suspect 03:59
bacek might
github.com/perl6/nqp-rx/contributors 04:00
04:00 Khisanth joined
cotto actually, it'd be pretty easy to add dynop and dynpmc fixups to the fixuptable 04:01
It's got a constant for the type of fixup and currently 0x1 and 0x2 are used.
bytecode fixup might be less fun 04:02
plobsing yes. the reading side of things is the tricky part
04:02 parthm joined
cotto At least a fix exists, even though it's not looking like an easy one. 04:03
plobsing prove t/distro/file_metadata.t 2>&1 | perl -ple '/^#\\s*(svn ps.*)$/ and print $1 && system($1)' 04:06
^^^ we should have a tool to do this ^^^
cotto points at mikehh 04:07
If you can put off caring long enough, we'll have made it a moot point by switching to git. 04:08
plobsing when will it be git o'clock? 04:09
cotto most likely late August, after GSoC is done and we've got some time to let things settle before the next stable release 04:10
dalek rrot: r47044 | plobsing++ | branches/ops_massacre (8 files):
fix library_tests
04:11
cotto if certain people *cough*cotto*cough* can get a good Trac/git demo site working.
plobsing do any of our GSoC students actually *enjoy* working with svn?
mine uses git
cotto I've asked khairul to use svn to avoid the impedance mismatch, but I felt bad about it. 04:12
I'd still rather not change things up while our students are working. If they all say they don't care, that might change. 04:15
plobsing I ask because I've heard that argument before and it sounds a lot like putting words in other people's mouths 04:16
04:17 ash_ joined
sorear plobsing: I have a nqp-rx commit bit 04:17
ash_ i rather prefer git, i might use svn since everyone else is, and it would be nice if everyone could more easily find my work, but i like git
sorear they're pretty easy to get, you don't even need a CLA
(though out of common courtesy please don't make huge breaking changes on master) 04:18
plobsing sorear: I have a fix for nqp-rx already. I'm just looking for someone to commit it. 04:19
sorear send it to me 04:20
plobsing git://github.com/plobsing/nqp-rx.git 04:21
it makes nqp-rx work after ops_massacre
04:22 Hunger joined
sorear will it break un-massacred? 04:23
plobsing probably. I had to add some methods on FileHandle to replace functionality lost in ops 04:25
massacred will be landing soon (working through examples_tests) 04:26
dalek rrot: r47045 | plobsing++ | branches/ops_massacre (13 files):
fix codetests
04:27
rrot: r47046 | plobsing++ | branches/ops_massacre/examples/benchmarks (2 files):
fix examples tests
bacek_at_work who called my name? 04:28
sorear bacek_at_work: you are no longer useful here 04:29
plobsing: passes tests on r47014 04:30
sorear ships it
oops, it crashes if I try to do untested things 04:31
cotto sorear, that's a pretty bold statement 04:32
dalek p-rx: f60fcfe | plobsing++ | src/ (5 files):
fix with respect to ops_massacre parrot branch
04:34
plobsing wohoo! sorear++ 04:35
04:39 davidfetter joined
cotto That code is a little nicer. 04:39
05:23 aukjan joined
dalek rrot: r47047 | plobsing++ | branches/ops_massacre (34 files):
fix many examples
05:34
plobsing so many examples and so much documentation. much of which is subtly broken or outdated.
I almost wish I had the time (and motivation) to update it all. or at least remove the horribly broken and wrong parts. 05:35
05:36 parthm joined 05:43 parthm left 05:44 Hunger joined 05:57 TiMBuS joined, Hunger joined
cotto could a regex catch most of it? 06:00
plobsing I've alredy fixed it wrt ops_massacre. when I say horribly broken, I mean in general compared to how things are usually done in parrot now 06:01
the only thing I broke and didn't fix was the quine. mostly because I'm not smart enough
for example: we shouldn't be giving examples in pasm. 06:02
cotto as far as I'm concerned, we should be doing anything im pasm. 06:03
plobsing I think it is a usefull notation for the compiler to spit back at people. That's about it.
cotto It would be if it did what it said on the box.
i.e. if we could round-trip it with pbc and pir 06:04
plobsing I have a fix for PBC constants in PASM (which is 90% of the incompatiblility AFAICT)
I just need tuits.
06:05 uniejo joined
plobsing one problem with bootstrap I just ran into hard: merge conflicts in generated files 06:10
06:10 parthm joined
cotto I usually ignore those and regenerate post-merge 06:11
for core_ops.c and friends you should be fine as long as you have one of the checked-in versions. 06:12
plobsing so long as noone deletes an op and the supporting core function while another branch is out of sync 06:13
cotto It does make things a bit more brittle.
06:14 Hunger joined
plobsing how do I get the latest nqp-rx into the parrot repo? 06:17
moritz plobsing: see docs/bootstrap* in nqp-rx 06:19
dalek rrot: r47048 | plobsing++ | branches/ops_massacre (66 files):
sync with trunk
06:22
cotto plobsing, merging time? 06:26
plobsing almost 06:27
add nqp-rx and then merge
this merge took too much out of me. I'm tempted to simply do all my development on trunk (good practice be damned!) 06:28
cotto For massive ops nuking, I would have just done it on trunk. 06:31
plobsing the most destabilizing, destructive operations are the hardest to merge 06:32
06:32 jjore joined
dalek rrot: r47049 | cotto++ | trunk/compilers/opsc/src/Ops/File.pm:
[opsc] add number of ops parsed to verbose ops2c output
06:39
rrot: r47050 | plobsing++ | branches/ops_massacre/ext/nqp-rx/src/stage0 (4 files):
grab latest nqp-rx
plobsing cotto++ # opsc ops counting 06:40
06:53 fperrad joined 06:56 fperrad_ joined
cotto that'll make updating the tests much less annoying 06:57
07:00 janus joined 07:02 khairul joined
cotto khairul, ping (see privmsg) 07:05
parthm hello. i am trying to add a simple 'if' conditional handling to create_language generated grammar but i seem to be doing something really wrong (and possibly stupid as i am new to perl and parrot). 07:17
dalek tracwiki: v20 | cotto++ | CottoTasklist
tracwiki: opsc tasks are done for now, more are welcome
tracwiki: trac.parrot.org/parrot/wiki/CottoTa...ction=diff
parthm i get the error 'ast' not found for 'undef'. nopaste.snit.ch/20657 ... any ideas? 07:18
07:18 viklund joined
sorear I'm suprised create_language still works. 07:18
Especially since we just got rid of NQP... 07:19
parthm sorear: should i be using create_language or mk_language_shell?
moritz parthm: maybe try if $<else>[0] { ... }
sorear Which one uses NQP-rx?
oh 07:20
your grammar is in a .pm file
you are using NQP-rx, nevermind
parthm moritz: doesnt seem to work. i am just trying 'if (1) { say("hello"); }' so its avoiding the else. is $<EXPR>.ast and $<statementlist>.ast valid? 07:21
moritz parthm: if the action methods of both call make(), yes 07:22
parthm: you can insert say() statements to find out which invocation actually causes the error 07:23
nopaste "parthm" at 192.168.1.3 pasted "statementlist" (6 lines) at nopaste.snit.ch/20658 07:25
parthm mortiz: it seems its statementlist thats producing the error. it seems to have 'make $past' at the end. 07:26
s/producing the error/failing at .ast/
plobsing ops_massacre is synced with latest trunk, so why does trunk give all sorts of conflicts on mergeback?
moritz it's svn. 07:27
plobsing using svn's everything is just a directory model, can I simply overwrite trunk with a branch that contains all changes on trunk?
moritz that might work, unless somebody else does a commit in the mean time 07:28
moritz not an svn expert
parthm: no idea, sorry
parthm: if nobody else here can help you and you get stuck, you can still try the mailing list(s) 07:29
parthm mortiz: np :) ... will dig around some more. mailing list sounds like a good idea.
07:37 Hunger joined
parthm changing <statementlist> in the rule to <main=statementlist> and doing $<main>.ast did the trick .. now stuck a little later :( 07:45
nopaste "cotto" at 192.168.1.3 pasted "odd nqp semantics or bug: you be the judge" (17 lines) at nopaste.snit.ch/20659 07:46
cotto moritz, are you any good with nqp? 07:47
moritz cotto: I'm good with Perl 6, not not really with nqp 07:48
cotto ok
sorear cotto: not a bug 07:49
moritz cotto: in Perl 6 if you write your own .new, you have to call self.bless to actually create a new instance
sorear if you override new like that, you don't get new instances
moritz otherwise you end up returning the type object
cotto sorear, how do I get a new instance then? 07:50
moritz full Perl 6 has other mechanisms for initilializing attributes
sorear cotto: call the superclass's new, or don't override new 07:52
parthm tried to understand PAST::Op.new 07:53
where can i find docs/code for the class PAST?
sorear docs/pdd/*ast*.pod 07:54
parthm sorear: thanks :) 07:56
cotto khairul, I'm off to bed. 07:58
sorear, thanks.
khairul cotto: sure, thanks. i'll look into it.
08:02 JimmyZ joined 08:17 parthm left
dalek parrot: 3a96e63 | dukeleto++ | plparrot.c:
Don't imcc_initialize
08:47
parrot: 93d4a76 | dukeleto++ | (2 files):
Fix return values in PL/ParrotU
plobsing svn-- # can't even do a *fast-forward* merge properly 08:53
ttbot Parrot trunk/ r47051 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328130.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 08:54
dalek rrot: r47051 | plobsing++ | failed to fetch changeset:
merge ops_massacre
bacek aloha 09:00
09:08 clinton joined
bacek seen mj41 09:09
purl mj41 was last seen on #parrot 9 days, 22 hours, 51 seconds ago, saying: back, it was a short one [May 17 11:08:31 2010]
bacek seen mj41_
purl mj41_ was last seen on #parrot 175 days, 15 hours, 10 minutes and 46 seconds ago, saying: to dukeleto :-) [Dec 2 17:58:43 2009]
mj41 bacek: pong :-)
bacek mj41, :) 09:10
JimmyZ collect2: ld returned 1 exit status
ttbot Parrot trunk/ r47052 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328198.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ )
JimmyZ make: *** [runtime/parrot/dynext/debug_ops.dll] Error 1
bacek mj41, how much _your_ effort required to made TapTinder to capable build HLL's on top of parrot?
JimmyZ I can't build parrot ...
bacek JimmyZ, win32?
JimmyZ Yeah 09:11
dalek rrot: r47052 | plobsing++ | trunk/PBC_COMPAT:
bump pbc compat
bacek JimmyZ, so TapTinder. plobsing slightly broke win32 build with ops_massacre
mj41 bacek: HLLs on Subversion repos easier then on Git :-). 09:12
bacek mj41, I did read tt wiki :)
mj41, so Git support + dependent projects support. Roughly? 09:13
mj41 yes. DB schema is probably ready to dependent projects. But code not. 09:14
bacek mj41, c'mon! Give me numbers :) 09:15
mj41 I have some free time again. I'm not sure about Git support, but can do dependent projects support during two weeks. I hope :-). 09:17
mikehh plobsing: sorry I was not around earlier, any I do have a sort of tool available to fix the svn properties, similar to what you posted 09:18
bacek mj41, pledgie.com/campaigns/9495. I do want dependent projects done :) 09:20
mj41 bacek: ... join #taptinder and ping me every day ... I need to be motivated by great hacker :-). 09:22
bacek mj41, which network? freenode?
mj41 irc://irc.freenode.net/#taptinder
ttbot Parrot trunk/ r47053 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328246.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 09:24
dalek rrot: r47053 | chromatic++ | trunk/compilers/imcc/pbc.c:
[IMCC] Fixed a compilation warning, localized a variable, and tidied some code.
09:27
09:43 IllvilJa joined
mikehh g++ fails to build/ quite a few test failures with gcc (packfile and some others) - Ubuntu 10.04 amd64 09:46
some tests fail in make corevm/make coretest thet pass make test 09:47
bacek karma g 10:34
purl g has karma of 1192
bacek g++ deserve it :)
10:57 Hunger joined
moritz c-- 11:34
11:52 sorear joined 11:57 whiteknight joined 11:58 atrodo joined
bacek opbots names 12:15
opbots trust mj41
slavorg Ok
slavorgn Ok
bacek opbots trust ash_ 12:17
slavorgn Ok
slavorg Ok
bacek opbots trust GeJ
slavorgn Ok
slavorg Ok
12:19 jsut_ joined
bacek opbots trust timbus 12:19
slavorgn Ok
slavorg Ok
pmichaud ...I think the changes to src/setting/IO.pm in nqp-rx are likely to not work. 12:34
(in commit f60fcf)
pmichaud tests. 12:35
moritz oh 12:38
.loadlib 'io_ops'
...
printerr "hello"
gives a syntax error with an installed parrot
but works fine with the 'parrot' binary in the source dir 12:39
let me guess.... .loadlib fails silently?
yes it does 12:40
great</sarcasm>
pmichaud yes, loadlib fails silently.
moritz writes a mail to parrot-dev 12:41
12:41 parthm joined
nopaste "pmichaud" at 192.168.1.3 pasted "spew() no longer works in nqp-setting" (15 lines) at nopaste.snit.ch/20661 12:42
pmichaud the likely problem is that there's no FileHandle type object for .new to operate on 12:46
parthm hello. i am trying to extend the create_language.pl language to support 'if' but i seem to be failing miserably. could anyone tell me what i am doing wrong in this basic change? pastebin.com/PvCpuaeM 12:47
pmichaud parthm: were you able to get it working without the 'else' clause stuff? 12:51
sometimes I start a little smaller and see if I can get that working
parthm pmichaud: i put some prints the if ast seems to be getting created fine. i.e. if i put a say just before "make $past" in if its printed. this seems to be failing after that sometime. 12:52
s/if/'if'/
pmichaud hmmm, okay.
your pastebin doesn't show where <if_statement> gets added into the grammar 12:53
parthm pmichaud: sorry i missed that in paste. i have put it along with statement. pastebin.com/77dt0qa9 12:54
12:54 ruoso joined
pmichaud aha 12:55
since you changed the statement rule, you have to change the statement action as well
much easier would be to include it as part of statement_control
moritz
.oO( or you proto regexes )
pmichaud i.e., to use rule statement_control:sym<if> instead of rule if_statement 12:56
then you don't need to change rule statement
parthm pmichaud: i get it now ... thanks :)
parthm starts typing hoping to fix his grammar 12:57
12:59 gbacon joined
pmichaud is once again struck at the numerous mechanisms Parrot uses for introspection of its core features 13:00
1. sometimes we use a method -- e.g. $P0 = getinterp; $P1 = $P0.'stdhandle'(1) 13:01
parthm pmichaud: that worked, thanks :) ... so --target=past works fine. but running it doesn't produce any output. how do i specify the meaning of "if". i noticed say and print are in Runtime.pm but i suppose 'if' is something more primitive.
pmichaud 2. sometimes we use the keyed interface -- e.g. $P0 = getinterp; $P1 = $P0['sub']
moritz parthm: there's a Past::Op representing 'if'
pmichaud parthm: what you had before for the if statement node looked correct-ish 13:02
3. sometimes we use the getattrribute interface: $P0 = getinterp; $P1 = $P0['context']; $P2 = getattribute $P1, 'lex_pad'
parthm so basically, the ":pasttype('if')" argument to PAST::Op.new should take care of it?
pmichaud parthm: yes.
4. sometimes we use the 'inspect' opcode 13:03
13:03 masak joined
parthm hmm. weird ... nothing gets printed for 'if (1) { say("hello"); } else { say("world"); }' 13:03
pmichaud parthm: can I see the output of --target=past ? 13:04
parthm pmichaud: sorry to trouble you with basic questions. i am new to both parrot and perl :P ... the past output pastebin.com/K68WLmTf 13:05
pmichaud parthm: no problem. it's my own fault for not having written the nqp and past tutorial yet.
:-)
hmmm, for some reason the past node for the if statement isn't making it into the tree 13:06
parthm i am using parrot 2.4.0 in case it matters.
pmichaud if you changed the name of the rule to be statement_control:sym<if>, did you also change the name of the action method as well? 13:07
parthm pmichaud: silly me ... yes that was it :) ... its great to see "hello" printed now. 13:08
pmichaud: thanks :)
pmichaud \\o/
I really should come up with some sort of debugging capability to warn on missing action methods
parthm pmichaud: that would definitely help noobs like me 13:09
pmichaud: one thing i noticed. if in the grammar pastebin.com/PvCpuaeM ... i use <statementlist> instead of <main=statementlist> for the first clause and update the action to use $<statementlist>.ast it fails. 13:13
the second one is still <else=statementlist>. is this expected?
pmichaud ah, yes. 13:14
the problem is that $<statementlist> becomes an array
because it appears twice in the list
it would be fixed if you change the second one to <else=.statementlist>
(which then captures to <else> but not <statementlist>. currently it's capturing to both.) 13:15
parthm oh. ok. so the dot starts a second capture?
pmichaud prevents a second capture, actually
<abc> captures to $<abc> 13:16
<.def> doesn't do a capture
<abc=.def> captures to $<abc> but not $<def>
<abc=def> captures to both $<abc> and $<def>
parthm pmichaud: i get it now. thanks for explaining it.
moritz perlcabal.org/syn/S05.html contains the specification 13:17
nqp-rx doesn't implement all of it
but a good part of it
purl i guess a good part of it is that it "works"
moritz purl: forget a good part of it
purl moritz: I forgot good part of it
parthm mortiz: thanks.
moritz is my name actually *that* hard to spell? :-)
pmichaud for once, I actually agree with something purl says. but the stupid bot should still learn to keep quiet unless spoken to.
moritz: it's about as hard as "rakduo" :-P 13:18
moritz pmichaud: yeah, but you can tab-complete names :-)
erm, nicks
parthm moritz: ... oops. sorry :)
pmichaud moritz: so, do we need someone logged in as "rakudo" on the chan? maybe an alias to p6eval? ;-)
moritz pmichaud: maybe we should add a no-op bot named 'rakudo' so that we can tab-complete it :-)
heh
pmichaud "Jinx!"
afk for a bit, need more nap 13:19
masak two people suggest it at the same time. must be a good idea. :)
PerlJam and at least one lurker (me) agrees :)
moritz the lurker gets to write the bot 13:20
masak that's only fair. 13:21
moritz PerlJam: that would be *you*, just to be clear and unambiguous 13:22
13:27 Coke joined
Coke anyone working on the rakudo bug? 13:27
PerlJam "the" rakudo bug? :)
moritz the parrot bug exposed by rakudo, and discussed on parrot-dev just now :-) 13:28
Coke moritz: I have a patch in progress. building... 13:34
A lot of these HLL-only bugs would be caught if we tested against our install. 13:35
(which many folks have brought up recently)
moritz: you also need bit_ops... 13:43
moritz Coke: ok 13:45
Coke: btw do you have a rakudo commit bit?
Coke moritz: sure.
moritz great
Coke I can just fixup rakudo if you like.
bump parrot_rev, do at least a 'make test' to make sure..
moritz I was mainly asking because of the next rakudo release 13:46
but sure, go ahead
Coke moritz: ... sys_ops.... =-) 13:47
13:49 patspam joined
Coke built, running test... 13:49
dalek kudo: e40ee42 | Coke++ | (2 files):
track the move of some ops to dynamic op libraries, bumping parrot revision.
13:53
Coke moritz: done. 13:54
moritz Coke: danke
Coke de nada. simple fix.
ttbot Parrot trunk/ r47054 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328371.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ )
Coke uhoh. 13:55
dalek rrot: r47054 | fperrad++ | trunk/t/harness.pir:
fix readline (opcode -> method)
Coke oh, good, that was plobsing.
rrot: r47055 | coke++ | trunk/MANIFEST.generated:
Install all the new dynoplibs.
13:56 Andy joined
parthm i am using parrot 2.4.0 but noticed in the announcement suggests the svn repo. should i be using the trunk instead? parrot.org/news/2010/Parrot-2.4.0 13:58
Coke parthm: depends on what you're doing. 13:59
svn trunk is not /entirely/ stable, but it's close.
ttbot Parrot trunk/ r47055 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328398.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 14:00
parthm Coke: i am working on an HLL.
Coke parthm: I would probably recommend using a release, but don't get more than a release behind. =-) 14:01
(you can achieve the same effect, really, by using svn and only updating every so often.)
14:01 davidfetter joined
parthm Coke: sounds like a good idea. i will probably use the trunk then and update once a month :) 14:02
14:02 ruoso joined
parthm Coke: thanks. 14:02
Coke parthm: np.
you working on porting an existing language or something new?
parthm Coke: i am working on creating a new language. parrot seemed the most suited. but i am new to perl so still have a bit of learning to do. 14:04
the folks on irc have been very helpful :)
14:04 JimmyZ joined
Coke glad ot hear it. 14:04
*to
parthm Coke: if i have something substantial in a month or two will probably announce it on parrot-user. 14:05
Coke RFC: Manifest generated shouldn't list all possible extensions, but just the @ext@'s from the makefile syntax.
parthm: looking forward to it.
14:09 bubaflub joined
Coke goes back to lurking. 14:10
14:10 Coke left
dalek TT #1661 created by reezer++: Parrot crashes when clicking on Preferences 14:29
TT #1661: trac.parrot.org/parrot/ticket/1661
14:30 JimmyZ_ joined 14:31 jsut joined 14:32 parthm left 14:36 Coke joined
ttbot Parrot trunk/ r47056 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328509.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 14:41
NotFound <sarcasm>I like our deprecation policy. We can't change broken things because some unknown thing may be using it, but we can change the most used ops and break anything without any problem.</sarcasm> 14:42
14:43 plobsing joined
dalek rrot: r47056 | fperrad++ | trunk/runtime/parrot/library/LWP/Protocol.pir:
[LWP] fix after ops_massacre
14:44
whiteknight NotFound: you don't have to tell me, I've always argued for an opt-in system 14:50
NotFound So now there isn't any way of output something to standard output without loading a lib? 14:57
Coke NotFound: print and say should still be there. 14:58
NotFound And to stderr?
Coke printerr was moved. 14:59
(this is why I asked him to ping the list regarding the (very old) ticket about moving all those ops to dynops.
)
The original ticket was very broad and vague. 15:00
NotFound julian@sparx:~/parrot$ cat p.pir 15:02
.loadlib 'io_ops'
.sub main
printerr "Hi\\n"
.end
julian@sparx:~/parrot$ ./parrot -o p.pbc p.pir
julian@sparx:~/parrot$ ./pbc_disassemble p.pbc
Unknown opcode type 15:03
Now we can't disassmble even the more simple progs.
Coke NotFound: "holy crap, we have a disassembler?!"
NotFound Sort of. 15:04
Coke clearly not so much now. Seriously, though, i'd open a ticket on that. I'm sure if we had test for that sort of thing, it wouldn't have broken on mergeback.
NotFound Coke: we don't have mechanics for that, so no big surprise. 15:05
Coke presumably, it's not just that dynop that fails but all dynops, so the mergeback just would have kept the original todo'd test. but you know what I mean. 15:06
I'm more ticked that partcl has been dead for some time. =-)
NotFound Coke: you can be happy, now almost al must be dead, you're not alone. 15:07
15:10 dmalcolm joined 15:14 tcurtis joined 15:17 ash_ joined 15:24 theory joined
ttbot Parrot trunk/ r47057 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328587.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 15:46
dalek rrot: r47057 | fperrad++ | trunk (3 files):
since r46922 (merge ops_pct), these files are in MANIFEST
15:50
15:51 ruoso joined
Coke NotFound: yah, doesn't really help. 15:58
at least rakudo's still working.
16:05 lucian joined 16:15 aukjan1 joined
pmichaud 14:59 <Coke> (this is why I asked him to ping the list regarding the (very old) ticket about moving all those ops to dynops. 16:36
I thought about protesting the loss of printerr, but ultimately decided the tide was against us on that one.
I do know that allison++ has been musing that we should eliminate 'say', which I'd really feel bad about losing. 16:38
(or perhaps I've misread what she's written on the topic -- see the ticket.)
afk again
dalek rrot: r47058 | tcurtis++ | branches/gsoc_past_optimization (7 files):
Regen manifest, add PAST::Transformer::Dynamic and example, and set props.
16:40
dukeleto 'ello 16:41
16:56 bluescreen joined
cotto_work ~~ 17:01
17:02 cotto_work left 17:18 cotto_work joined
Coke I can see eliminating say from PIR if you hold that humans shouldn't write PIR. 17:26
cotto_work I don't think we're there yet. 17:27
Coke I am leaning towards that more now, but for some time, I had a fairly large collection of hand-rolled PIR.
cotto_work I'd certainly agree that there shouldn't be a Lorito say op. 17:36
PerlJam indeed.
Tene I'm not really fond of IO ops. It seems to me that those should be methods on IO objects instead. 17:44
Can anyone explain to me why we'd prefer to use ops for that?
cotto_work Then you're happy with the merge?
17:45 jsut_ joined
Tene I haven't actually been following anything closely enough to know what's going on at all. I'm just responding to the discussion above. 17:45
17:46 gbacon joined
Coke the /practical/ answer is that "ops are fast, methods are slow" 17:48
but no, it makes sense to me to have those be methods.
Tene I guess that with an op, you don't have to keep using getstdout. 17:49
s = getstdout; s.'say'("OMGLOL"); 17:50
seems fairly reasonable to me.
18:10 whiteknight joined
ttbot Parrot trunk/ r47059 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328677.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 18:17
dalek rrot: r47059 | fperrad++ | trunk (2 files):
[win32] fix build of dynops debug
18:19
Coke msg plobsing - looks like r47051 broke windows. tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ 18:21
purl Message for plobsing stored.
Coke msg plobsing - but then it magically worked 47059 for one of them, so Iunno. 18:22
purl Message for plobsing stored.
18:34 tcurtis joined
tcurtis pmichaud: ping 18:36
18:54 whiteknight joined 18:56 joeri joined
dalek nxed: r479 | julian.notfound++ | trunk/README:
note about parrot r47050 strictly required
18:57
18:58 IllvilJa joined
pmichaud tcurtis: pong 19:02
tcurtis pmichaud: I was just wondering what the reasoning behind using P6metaclass for PCT was. 19:03
pmichaud so that PCT objects would be able to support p6-like behaviors 19:04
in particular, nqp relies on that ability 19:05
otherwise things like PAST::Op.new(...) won't work in NQP
there's still the article at www.parrotblog.org/2008/05/p6object...arrot.html 19:07
tcurtis Thanks. I think I'll use it for at least the ::Dynamic subclasses of PAST::Walker and PAST::Transformer. Possibly for the parent classes as well. 19:13
pmichaud certainly if we want nqp authors to be able to use the classes they'll need to be p6object based 19:15
(although it's possible to turn non-p6objects into p6objects if needed; we do that for the builtin PMCs) 19:16
tcurtis Indeed. I'm leaving home for a bit, and I'll work on switching them over to p6object when I get back. 19:20
19:30 davidfetter joined
darbelo Hm, can someone on i386 run mk_native_pbc? We broke pbc compat, again. 19:54
19:55 LoganLK joined
darbelo wants portable PBC. 19:56
Tene Hmm. I can give you an account on an i386 linux box, if you'd like. 19:59
I'm a bit too busy with work ATM to do it.
darbelo It's not *that* urgent. I can get my hands on a i386 box if it's really needed. 20:00
I could even reasonably switch my main box back to 32 bits if the need arises... 20:02
mikehh darbelo: I've really got to get my box running a VM (OS type) soon, otherwise I just have to reboot from amd64 to i386 20:03
Coke unfortunateyl, I can only update the _4_ series pbcs.
email the list. 20:04
20:04 patspam1 joined
mikehh bacek is usually good for that, dunno if he is around 20:05
clock?
purl mikehh: LAX: Thu 1:05pm PDT / CHI: Thu 3:05pm CDT / NYC: Thu 4:05pm EDT / LON: Thu 9:05pm BST / BER: Thu 10:05pm CEST / IND: Fri 1:35am IST / TOK: Fri 5:05am JST / SYD: Fri 6:05am EST /
mikehh 6am a bit early 20:06
BTW getting additional failures with make corevm/make coretest that pass make test 20:08
cotto_work Looks like someone reads whiteknight's blog. He's on the development of LWN's weekly edition with a quote of the week: lwn.net/Articles/388517/ 20:18
moritz (subscriber-only link :( ) 20:19
darbelo Subscription required for that link, though.
cotto_work lwn.net/Articles/388747/ 20:20
moritz thanks 20:22
darbelo cotto++
cotto_work There was also a quote a couple weeks ago from pmichaud 20:24
darbelo ZOMG! We are being watched! 20:25
cotto_work Yeah. It's kinda nice to see that the outside world cares.
20:25 bluescreen joined
GeJ Good morning everyone. 20:28
cotto_work msg whiteknight Somebody's watching you: lwn.net/Articles/388747/ 20:30
purl Message for whiteknight stored.
masak I added a simple Str.encode to Rakudo today. it's actually from the alpha branch, where I'd added it before. github.com/rakudo/rakudo/commit/276...e7ad39da4b 20:41
I was wondering, if I want to do the reverse, a Buf.decode, how should I go about it? how do I create an UTF-8 string from a list of ints in Parrot? 20:42
Coke use chr in a loop instead of ord? 20:43
Coke whips up a sample.
masak Coke++
moritz seen Infinoid 20:45
purl Infinoid was last seen on purl 4 days, 7 hours, 47 minutes and 35 seconds ago, saying: <private message> [May 23 12:58:02 2010]
20:45 NotFound joined 20:48 cotto_work joined 20:49 mikehh_ joined
Coke er, nopaste.snit.ch/20667 20:50
masak Coke: thanks!
Coke that prints: `8Ч here
masak I'll use it right away.
Coke whee! 20:51
s/String/StringBuilder/ also works, and is probably better/faster.
(at least for big lists.)
masak ok, correcting course. 20:52
Coke (you can get a real string at the end by $S0 = sb)
masak ok, great. 20:53
20:54 mikehh joined, dalek left, dalek joined
cotto_work seen bacek 20:55
purl bacek was last seen on #parrot 8 hours, 35 minutes and 34 seconds ago, saying: opbots trust timbus
cotto_work seen bacek_at_work
purl bacek_at_work was last seen on #parrot 16 hours, 27 minutes and 5 seconds ago, saying: who called my name?
cotto_work looks like the opsc tests need some love after the ops_massacre merge
bacek appears from nowhere 20:56
darbelo bacek: you on i386?
bacek darbelo, amd64...
pbcs are broken? 20:57
cotto_work I think he emulates everything in his mind.
looks like it
purl No it doesn't, shut your hole!
Coke HIS ROBOT MIND.
bacek mikehh, are you on i386 today? 20:58
mikehh bacek: not at the moment - amd64 20:59
bacek sigh, can we have _portable_ bytecode? 21:00
mikehh really has to work on getting a VM (OS type) on my box
cotto_work yo dawg 21:01
NotFound Can we have portable tests?
21:02 preflex joined
darbelo Not without portable bytecode ;) 21:02
bacek #385 afaik
Coke has paid for his netbook now WHERE IS IT!? 21:03
Coke sighs.
NotFound We have the native_tests skipped because of that, but we have other tests that use that same files for no particular reason.
bacek #357 and #600 actually 21:04
NotFound At least I fail to understand the reason, if there is any.
dalek nxed: r480 | julian.notfound++ | trunk/winxedst0.cpp:
hardcode value of .ITERATE_FROM_START to avoid .include
Coke "because they were there."
and now we're suffering the same failures that we skipped the originals for.
NotFound Coke: I said reason, not excuse ;)
bacek Reason is I was need something to test Packfile* PMCs :) 21:12
Now fixed.
21:13 whiteknight joined 21:20 cotto_work2 joined
ttbot Parrot trunk/ r47061 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328756.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 21:20
dalek rrot: r47060 | bacek++ | trunk/docs/tests.pod:
Indent code properly
21:21
rrot: r47061 | bacek++ | trunk (5 files):
Separate PBCs used for Packfile* PMC testing from "native" PBCs.
cotto_work2 bacek++ 21:27
ttbot Parrot trunk/ r47063 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328821.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 21:34
mikehh ok that fixed the opsc tests 21:35
darbelo updates PBCs 21:36
That took a *long* time to get done. 21:37
bacek darbelo, I updated them already.
in r47061
darbelo Really? Then something else was broken for me... 21:38
dalek rrot: r47062 | bacek++ | trunk/t/compilers/opsc (3 files):
Fix opsc tests after ops_massacre merge.
21:39
rrot: r47063 | mikehh++ | trunk/MANIFEST:
re-generate MANIFEST
rrot: r47064 | darbelo++ | trunk/t/native_pbc (2 files):
native_pbc platform updates
nxed: r481 | julian.notfound++ | trunk/ (3 files):
work again with parrot trunk, at some cost
darbelo wonders if Lorito will make portable bytecode easier... 21:46
mikehh still is 21:47
ttbot Parrot trunk/ r47064 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328862.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ )
mikehh broke taht is
that
darbelo Oh. Wait. I know what happened. I think. 21:48
mikehh: r47065 fixes it?
21:53 davidfetter joined
bacek Do we have FreeBSD 6.2 testers? bacek.livejournal.com/354911.html?t...1#t3019871 21:55
darbelo It doesn't. But I think I know what happened. This time for sure.
bacek (Russian link, but error is clear)
darbelo, ?
purl darbelo, is probably there anything in config_lib.pasm that gives us enough information?
bacek purl, forget darbelo
purl bacek: I forgot darbelo
dalek rrot: r47065 | darbelo++ | trunk/t/native_pbc (4 files):
native_pbc platform updates
21:56
rrot: r47066 | bacek++ | trunk/include/parrot/platform_interface.h:
Decorate Parrot_gmtime_r, localtime_r and asctime_r with PARROT_EXPORT for consistency with implementation.
darbelo bacek: GeJ is on FreeBSD, I think he's on 8.0, but I could be wrong.
bacek GeJ, is on 8.0
GeJ darbelo, bacek : 7 @work, and 8 @home.
darbelo bacek: you wanted to make purl forget "darbelo," with the coma.
me? 21:57
GeJ However, I may have a lappy with a 6.something at home.
Need to check.
ttbot Parrot trunk/ r47065 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328894.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ )
bacek GeJ, I've got report that Parrot is broken on 6.2
GeJ for the record 6.2 is EOL and the whole 6-branche is going to be retired pretty soon.
But I'll try it tonight when I get home nevertheless. 21:58
bacek GeJ++
One of my first unixes was FreeBSD 2.2.2 :)
darbelo mikehh: Can you check r47067 ? 22:00
If that doesn't fix it... I'm officially out of tricks. 22:02
bacek bah, did I forgot to add suffixless pbcs? 22:03
darbelo That's my guess.
bacek it is...
purl Oh no it isn't!
GeJ bacek: A friend told me about FreeBSD after seeing me hit a freshly installed Linux box that had crashed for the 5th time that morning. Gave it a try (it was a 3-something back then). Never looked back. 22:05
22:06 eternaleye joined
bacek GeJ, I switched to linux totally at 4.0. Threads implementation in FreeBSD was way too terrible to handle. 22:07
darbelo bacek: I'm told they got better. 22:09
mikehh great: make test now passes and g++ works agaiin
GeJ Ah threads... That almost got me out as well. Not that I was using them directly, but it seemed like a pain for the ports collection. However since 6.0 and the new thread lib, everything seems to be fine again. 22:10
mikehh however, make corevm/make coretest has a bunch of failures
22:11 lucian joined
bacek mikehh, erm. linux/amd64? 22:12
darbelo GeJ: OpenBSD's threads still suck, but the routing and firewall tools are just too good for me to give up on them.
dalek rrot: r47067 | darbelo++ | trunk/t/native_pbc (3 files):
Add native_pbcs
22:13 cotto_work joined
cotto_work ohai 22:15
darbelo o/
nopaste "mikehh" at 192.168.1.3 pasted "make corevm/make coretest failures at r47067" (28 lines) at nopaste.snit.ch/20671 22:16
mikehh also make -j corevm is failing the first attempt 22:17
make -j2 corevm works 22:18
darbelo "Something is missing a dep somewhere". That's about as much of a diagnostic as I can conjure up right now. 22:19
cotto_work I'll try a bunch of parallel builds and see if anything splodes. 22:21
GeJ darbelo: PF >> *
mikehh checkdepend.pl fails 21 tests out of 181
ttbot Parrot trunk/ r47068 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/328994.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 22:22
darbelo GeJ: And, particularly after the last year of work, pf-on-openbsd >> pf-everywhere-else. It just keeps getting better! 22:24
GeJ darbelo: A colleague tried to teach me iptables. I tried, I really did. I never got to make it work the way I want.
mikehh GeJ: I have run into similar problems - probably why I can't get a VM (Os type) to work 22:26
darbelo I was fairly good at making iptables bend sideways to do what I wanted, but I still saw right away that pf was a step up. 22:27
GeJ bacek: are referenced in sayperl.org ? 22:29
bacek GeJ, ?
purl i think GeJ, is on 8.0
dalek rrot: r47068 | NotFound++ | trunk/t/pmc/resizablepmcarray.t:
tests for pop/unshift from empty RPA
GeJ bacek: sorry, bad case of morning fingers. I was wondering if your posts were showing on sayperl.org/ (it seems not). 22:35
Having your posts in russian be automatically translated would be a nice addition for those lazy ass like me. :)
dalek rrot: r47069 | tcurtis++ | branches/gsoc_past_optimization (5 files):
Use P6object so NQP doesn't have to do Q:PIR { %r = new ['PAST'; 'Walker'] } or such.
22:46
rrot: r47070 | NotFound++ | trunk/src/pmc/resizablepmcarray.pmc:
[cage] some cleaning of ResizablePMCArray, no functional changes
22:47 kid51 joined
nopaste "cotto" at 192.168.1.3 pasted "dependency-related parallel build failure" (34 lines) at nopaste.snit.ch/20672 22:48
22:52 whiteknight joined 23:00 Psyche^ joined
bacek_at_work GeJ, ah. ok. 23:01
23:05 dukeleto joined, Util_ joined 23:09 dalek joined
cotto_work same failure again 23:09
23:10 pmichaud joined, PerlJam joined
dalek rrot: r47071 | mikehh++ | trunk/tools/dev/mk_packfile_pbc:
set svn properties
23:12
rrot: r47072 | mikehh++ | trunk/MANIFEST:
re-generate MANIFEST
tracwiki: v5 | jkeenan++ | Lorito 23:13
tracwiki: Incorporating definition of Lorito derived from Allison's post on parrot-dev 2010-05-27
tracwiki: trac.parrot.org/parrot/wiki/Lorito?...ction=diff
23:18 jimk joined 23:19 eternaleye joined 23:21 cognominal joined, cognominal_ joined 23:25 cognominal joined 23:26 cognominal joined
dalek rrot: r47073 | mikehh++ | trunk/include/parrot/interpreter.h:
run make headerizer (which now removes old lines)
23:28
tcurtis Is there a way to do PIR .includes in NQP? 23:30
darbelo Not that I know of. What are you trying to do? 23:31
... Other than .include PIR onto NQP, abviously. 23:32
bacek_at_work Q:PIR< .include "foo.pasm" >
darbelo bacek_at_work: That works? Really? 23:33
bacek_at_work darbelo, it should work afaik
tcurtis bacek_at_work: i get a syntax error on .namespace and .sub from IMCC when I do that. 23:34
whiteknight I don't think it will work
Q:PIR creates a sub, the .include would do text substitutin into the sub 23:35
bacek_at_work .include do literal include of file. Inside generated sub
darbelo tcurtis: you might want to look into loading a compiled bytecode.
bacek_at_work It does work, guys. 23:36
whiteknight I think that's a pmichaud question, but it's common enough that there should be an answer
bacek_at_work: but doesn't it include into the sub?
bacek_at_work whiteknight, it does. But it's "legal" 23:37
nopaste?
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 or App::Nopaste or codepeek.com/paste/ or (: pastebot)
whiteknight bacek_at_work: I don't doubt that it's legal. better question is whether it's useful
darbelo Unless you are trying to get at PASM .macros (which NQP can't handle anyway) loading the bytecode is probably better.
whiteknight the problem is, .include is an IMCC compiler directive, so supporting it directly in NQP would be a huge hassle 23:38
plus, what darbelo said
darbelo tcurtis: What's your use case here. Maybe we can come up with something for you.
nopaste "bacek" at 192.168.1.3 pasted ".include in nqp" (15 lines) at nopaste.snit.ch/20673 23:40
darbelo reads the nopaste.
bacek_at_work and +1 for darbelo
tcurtis Well, I had a pir file in runtime/parrot/include as a helper for testing PAST::Transformer that overrides is_equal for the PAST::Node subclasses. I suppose I'll adapt it to something more generally useful and put it in parrot/runtime/library somewhere. 23:41
darbelo bacek_at_work: That's ... kind of brittle. Isn't it? 23:42
Tene darbelo: yes.
tcurtis: yes, you should load_bytecode that instead
bacek_at_work darbelo, it is. But my point was "it works" :)
darbelo More like "it \\"works\\"" ;) 23:46
pmichaud using Q:PIR { .include "abc.pasm" }; has been known to work; several parts of Rakudo make use of it 23:48
whiteknight pmichaud: wouldn't you need a specially-formed abc.pasm, since it will be included into a sub 23:49
pmichaud it would be really nice to have some sort of feature that enables NQP to be able to convert .pasm files into local constants... but I haven't thought of a good way to do that yet.
whiteknight ?
pmichaud whiteknight: well, normally we just use it to get constants
e.g., Q:PIR { .include "interpinfo.pasm" }
and cclass.pasm
etc.
that seems to work okay. No, it wouldn't work if the .pasm contained subs or other executable code 23:50
(and that's not something nqp aspires to have work)
darbelo If you want to get technical about it, PIR has the same problem.
tcurtis darbelo: PIR just allows you to have your ".include foo" outside of any subs. 23:51
pmichaud what I'd really like to have is something like "use cclass;" and then afterwards the cclass constants appear as NQP constants in my program
PIR allows .include inside of subs, as long as it's just constant macro definitions
cotto_work +1
purl 1
sorear pmichaud: the solution here is probably pseudo namespaces
pmichaud the other thing that would be useful is to have a way to get at the constants by string instead of just by macro
darbelo tcurtis: Yes. But using .include inside a sub can blow up in the same ways as NQP. 23:52
sorear pasm::cclass::FOO
pmichaud sorear: that's a bit too Parrot-specific for what I'd like at the moment, though.
sorear this causes 1. cclass to be included (once) 2. a FOO to be spit out
pmichaud definitely too parrot-specific
sorear pmichaud: the symbolic constants are only used for interacting with Parrot
pmichaud sure
sorear so I don't see the problem
pmichaud anyway, that's lowish on my priorities at the moment, since it's not on the critical path for R* 23:53
in general PAST really wants to have a cleaner way to deal with .include anyway -- that's missing also 23:54
as well as some of the other directives
cotto_work If Rakudo depends on Q:PIR{ .include "x.pasm" }; it sounds like it's safe (if hacky) to use and that such a use won't be deprecated without a plausible replacement.
pmichaud it should work as long as .include works in PIR :-) 23:55
it's still a bit painful to try to work constants in. I'm growing to like sorear++'s pir::cclass::CONSTANT suggestion, though.
er, pasm::
darbelo ponders ways to remove some .directives altogether. 23:56
sorear pmichaud: presumably, there would be a set of nqp::CONSTANT values to use with the nqp::op functions 23:58
and they would alias the corresponding pasm::
pmichaud sorear: yes, I like that also
I like that much better, in fact.
sorear you would only have to drop down to pasm:: if you're also dropping down to pir::
pmichaud I'd be far more likely to do nqp::CONSTANT than pasm::....
dalek TT #1662 created by whiteknight++: Should NameSpace entries be available through a hash-like interface? 23:59
TT #1662: trac.parrot.org/parrot/ticket/1662