parrot.org/ - clean up those smolders for the release!
Set by moderator on 20 October 2008.
dalek r32739 | chromatic++ | trunk: 00:04
: [pirc] Made the pirc test globbing more portable (it didn't work for kjs on
: Windows previously).
diff: www.parrotvm.org/svn/parrot/revision?rev=32739
00:10 AndyA joined
dalek r32740 | kjs++ | trunk: 00:12
: [pirc] remove old test file and update MANIFEST.
diff: www.parrotvm.org/svn/parrot/revision?rev=32740
r32741 | kjs++ | trunk: 00:25
: [pirc] rename .pir files to .t files. update MANIFEST. Tests should be properly finished.
diff: www.parrotvm.org/svn/parrot/revision?rev=32741
Tene msg pmichaud Actually, your example DID work in trunk after I took out the 'stop disabling exception handlers' code. 00:44
purl Message for pmichaud stored.
Tene msg pmichaud gist.github.com/25616 is your example and the patch that makes it work. 00:48
purl Message for pmichaud stored.
Tene .... and the straightforward 'throw and resume several times in a row' case works just fine too. 00:53
Where's the ticket with the failing example?
dalek r32742 | jonathan++ | trunk: 00:54
: [core] copy op should maintain properties. We really could use a more efficient way to do this, but this is a sure-fire way to work.
diff: www.parrotvm.org/svn/parrot/revision?rev=32742
Tene Okay, it doesn't work resuming twice to the inside of a sub called after we've pushed the eh. 00:56
01:10 klapperl joined 01:54 jimmy joined 01:56 s1n joined
jimmy hello cotto? 02:11
02:30 allison joined 02:32 chromatic joined 02:46 klapperl joined, bacek joined
dalek r32743 | chromatic++ | trunk: 02:47
: [dotnet] Fixed unsigned char bug; initialized potential INTVAL return values to
: 0 (RT #59884, Jarrod).
diff: www.parrotvm.org/svn/parrot/revision?rev=32743
jimmy cotto? 02:56
Infinoid ECOTTOTIMEOUT 02:57
02:57 particle joined
dalek r32744 | chromatic++ | trunk: 03:02
: [lib] Storable dependency bumped to 2.18 (see RT #59600 and RT #59660).
diff: www.parrotvm.org/svn/parrot/revision?rev=32744
Tene pmichaud, chromatic: The resumable exceptions problem is a refcounting issue with contexts. I have a patch that fixes it. 03:06
particle tene: are you home already?
Tene Not sure how right it is.
The plane just touched down.
particle nice
03:07 stockwellb joined
s1n pmichaud: ping 03:07
Tene It's adding CONTEXT(interp)->refcount++ to throw_p
oslt 03:08
I'll commit when I get home.
I also have a writeup for parrotblog
particle on what topic? 03:09
chromatic hopes it's a treatise on the care and feeding of ducks. 03:10
Tene A writeup on finding and fixing this bug. 03:15
chromatic Better in some ways! 03:18
Infinoid Hot Ref Counting Action. 03:21
dalek r32745 | chromatic++ | trunk: 03:25
: [JIT] Tidied some code in the x86 JIT; no functional changes.
diff: www.parrotvm.org/svn/parrot/revision?rev=32745
Tene chromatic: is incrementing the context refcount more sane in 'op throw' or new_ret_continuation_pmc (whatever the throw op calls)? 03:26
03:26 Psyche^ joined 03:29 klapperl_ joined, dmknopp joined
chromatic new_ret_continuation_pmc looked right to me, but we'd have to remember to decrement it if we set its from_ctx elsewhere. 03:33
op throw looked more likely to be correct everywhere.
Or at least not to make anything else incorrect. 03:41
dalek r32746 | chromatic++ | trunk: 03:43
: [PMC] Tidied Integer PMC. No functional changes.
diff: www.parrotvm.org/svn/parrot/revision?rev=32746
stockwellb Is it good form to respond via email directly to a committer of a patch to thank them? 03:46
chromatic It's not necessary, really. 03:51
stockwellb Good, I haven't done it so far, I don't like the email clutter that it entails, but I thought I'd check. After all, check a noobies code can't be all that much fun. 03:52
chromatic As long as you keep the patches small and self-contained, it's not bad at all. 03:53
dalek r32747 | chromatic++ | trunk:
: [PMC] Made Integer PMC increment and decrement promote to BigInt when
: necessary.
: This is going to be tricky to test, and I'm in an airport, so anyone who wants
: cheap and easy karma should patch t/pmc/integer.t to gain effusive praise.
diff: www.parrotvm.org/svn/parrot/revision?rev=32747
stockwellb Right now, one patch per test file is all I'm doing. 03:54
chromatic That's perfect.
stockwellb I've done 4 so far, pretty cool. 03:55
Got time for a testing question chromatic?
chromatic Of course. 03:56
purl Indubitably.
stockwellb In the Perl tests there is *Foo* all over the place with no clashes. In PIR it's all in one namespace. This is for various registrations of classes and what not. Should I come up with new class names like *Bar* and *Baz* or namespace each test? 03:57
chromatic That's a good question. It depends. If you can re-use a declaration sensibly, without too much effort, feel free. If not, create new namespaces or classes as you see fit. 03:58
stockwellb It was just easier this time to sequence through new class names, but It stuck in my head as a best practice kind of question. If you reuse the class then you eye has to travel outside the sub your in to see whats going on. 04:00
namespaces seem to add more information without really relating to the test.
chromatic Yes. Locality of reference helps.
stockwellb clutter if you will. 04:01
cotto How long has storable 2.18 been a requirement?
04:02 adu joined
chromatic 20 minutes. 04:02
purl rumour has it 20 minutes is too fuckin long
chromatic Maybe 30.
adu hi
stockwellb purl: you are a potty mouth! 04:03
purl ...but purl is a dweeb...
adu <3 Parrot 04:04
i only with there were more compilers
cotto adu, you can always write one 04:05
adu I want to write one for Haskell, even though it's type system is slightly incompatible 04:06
chromatic It doesn't have to be incompatible.
adu chromatic: what do you mean? 04:07
cotto bah. looks like time to upgrade from Gutsy. 04:08
chromatic Haskell doesn't do type checking at runtime; you can do it all at compile time.
Parrot doesn't preclude typeful graph reduction at compile time.
stockwellb cotto: thanks for the commits!
dalek r32748 | chromatic++ | trunk: 04:09
: [src] Cleaned up several warnings; no functional changes.
diff: www.parrotvm.org/svn/parrot/revision?rev=32748
adu i suppose, but what about all those PMC methods that require coersion?
cotto stockwellb, thanks for the patches
adu so all the compile-time type info would have to be kept at runtime, basically
chromatic Maybe. I haven't thought about that. 04:10
stockwellb feels so small when the compiler folks talk.
chromatic Infinoid, r32748 *may* go weird on 64-bit platforms; it's worth testing with an eye on that.
adu i'm not "compiler folks"
just a guy
stockwellb just a man
I mean a dragon man 04:11
I mean a dragon
chromatic adu, stockwellb, the first and last computer class I took was in 1984, and it was Programming Apple ][ BASIC.
stockwellb You folks are still very smart. Me like to spong it in. 04:12
adu chromatic: heh, that reminds me, the last computer class I took was intro to programming (in QBASIC) and intro to C (in which I had a heated discussion with the teacher about "for" loops)
chromatic I don't remember much BASIC, but I met Tom Kurtz the other day. 04:13
Someone on Windows should check RT #60584.
adu chromatic: his website is nice 04:14
how does the "native exec" feature work?
does it do static linking or dynamic linking? 04:15
dalek r32749 | allison++ | pdd22io:
: [pdd22io] Un-todo test to set and retrieve buffer_type.
diff: www.parrotvm.org/svn/parrot/revision?rev=32749
Infinoid oh boy oh boy, more 64-bit-buggy code 04:18
dalek r32750 | allison++ | pdd22io:
: [pdd22io] Implement buffer_type accessor method.
diff: www.parrotvm.org/svn/parrot/revision?rev=32750
adu i wish I could experience 64bit
Infinoid its the same thing as 32 bit, it just uses twice as much memory to run the same apps. 04:19
dalek r32751 | allison++ | pdd22io: 04:20
: [pdd22io] Clean out arbitrary integer values for 'buffer_type' accessor.
diff: www.parrotvm.org/svn/parrot/revision?rev=32751
Infinoid the extra registers make some things faster. on the other hand, the larger code size means prefetching code into cache takes longer. *shrug*
and you occasionally come across bugs that make a program try to allocate 140TB of memory. :) 04:23
stockwellb 140TB of memory is sortof *Large*! 04:25
cotto large is a relative term
Infinoid its what I got this morning when the high 32 bits of a size_t were uninitialized
stockwellb exactly, cotto! From where I'm sitting 140TB is pretty big.
Infinoid here too. it does make the bugs obvious tho :) 04:26
04:28 bacek joined
dalek r32752 | dmknopp++ | trunk: 04:31
: [Cardinal] Initial support for Procs, Continuations, and mucking with the file system
diff: www.parrotvm.org/svn/parrot/revision?rev=32752
r32753 | dmknopp++ | trunk: 04:33
: [Cardinal] Add new classes to make file
diff: www.parrotvm.org/svn/parrot/revision?rev=32753
Infinoid msg chromatic r32748 tests fine on linux/amd64... I did notice in your patch that the pf->header->floattype condition at src/packfile/pf_items.c:583 got reversed. was that intentional? (since it didn't seem to make a difference, I guess this code is poorly tested.) 04:41
purl Message for chromatic stored.
dalek r32754 | dmknopp++ | trunk: 04:43
: [Cardinal] Added tests for Procs, Continuations, and file system stuff. More work and tests are needed for these new classes.
diff: www.parrotvm.org/svn/parrot/revision?rev=32754
r32755 | dmknopp++ | trunk: 04:49
: [Cardinal] Fixed infix:-= . Plus some other addition needed for File and Continuation to work.
diff: www.parrotvm.org/svn/parrot/revision?rev=32755
dmknopp All things regex still seem to be broken :-/ 04:50
Im not sure what or when it happened. I think it happened like mid Oct
regexs in Cardinal that is...
s1n msg pmichaud just sent you an email, drop me a line back 04:52
purl Message for pmichaud stored.
dalek r32756 | tene++ | trunk: 04:54
: Possibly fix a bug with contexts being freed too early.
: Resuming from an exception works reliably now.
diff: www.parrotvm.org/svn/parrot/revision?rev=32756
Tene dmknopp: I'll try to look at that tonight. 04:55
dalek r32757 | infinoid++ | trunk: 04:56
: [t] Fix an incompatibility with t/perl/Parrot_Test.t and Test::Builder v0.84.
: This specific version of Test::Builder has slightly different output to
: stderr - the indentation of the "Expected:" line is missing a "# " compared
: to other tested versions (0.74 and 0.86).
: Skip the stderr match for this particular version of Test::Builder.
diff: www.parrotvm.org/svn/parrot/revision?rev=32757
Tene ... oops, I lied in that commit message.
dmknopp thx stepehen 04:57
let me know if i messed anything up during the committs
i try not to committ so many files at once, i hope i didnt miss anything
gnight all 04:58
04:58 dmknopp left
dalek r32758 | infinoid++ | trunk: 05:01
: [codingstd] wrap lines in pdd19_pir.pod to make t/codingstd/pdd_format.t happy.
diff: www.parrotvm.org/svn/parrot/revision?rev=32758
r32759 | infinoid++ | trunk: 05:04
: [codingstd] Fix up trailing whitespace and svn metadata to pass "make codetest".
diff: www.parrotvm.org/svn/parrot/revision?rev=32759
Infinoid There, see? You guys split codingstd/distro stuff into its own "make codetest" target, and all of a sudden, we start falling behind on that stuff. :) 05:05
Tene purl: allison? 05:13
purl allison is Allison Randal <mailto:allison@perl.org>
05:13 gmansi joined
Tene Okay, does t/pmc/threads.t misbehave for anybody else? 05:14
On test 13 it starts eating a ton of ram and then my machine starts swapping to hell and back if I don't catch it fast enough to kill it. 05:15
Infinoid just went into swap hell somewhere in t/pmc/ 05:18
so this is sounding familiar.
Tene Infinoid: t/pmc/threads.t perhaps? Just a guess...
Infinoid not sure. TEST_JOBS was set to 4, so it wasn't clear which test was the culprit 05:19
Infinoid runs it with prove
yep, that's taking lots of memory
Tene That test just swapped me to hell. Test 13 specifically.
Infinoid t/pmc/threads....12/20 ^C 05:20
Tene I need to check if I caused it with my last commit.
Shouldn't be related, though.
I kinda, uh, forgot to run 'make test'
A little. 05:21
Infinoid contexts are being a real pain today
Tene I fixed a context bug with exceptions!
Infinoid When in doubt, kill it gloriously.
Tene ... Oh, I forgot to update my commit message before pushing the commit. 05:22
Very nice.
... yeah, I caused it. It works fine with the commit before mine.
Infinoid ok, I'll stop my bisect 05:23
Tene ... no, it works fine with it after a realclean.
Nevermind, I guess?
Infinoid retracts his above statement
I did a realclean before my build... always do 05:24
is it just random?
Tene Dunno... lemme try running it repeatedly and see what happens. 05:25
Infinoid r32748 passed t/pmc/threads.t 5 times in a row
so, we have parallel make, we have parallel test... what about Configure.pl -j ? 05:27
Tene try 32756
Infinoid r32755 passed 5 times, I'll try your rev now 05:30
05:31 adu joined
Infinoid r32756 fails 5 times in a row. 05:33
Tene *sigh*
Infinoid refuses to go anywhere near refcounting... sorry 05:34
Tene It's not the refcounting part, I'm pretty sure.
It's the other bit I accidentally commited along with it. 05:35
Infinoid reverts the src/pmc/exceptionhandler.pmc portion and tries it
dalek r32760 | tene++ | trunk:
: [cardinal]: Un-break regexes from the NameSpace updates from a while back.
diff: www.parrotvm.org/svn/parrot/revision?rev=32760
Tene Thank you. That's exactly what I was about to try.
Infinoid still fails.
Infinoid tries reverting src/scheduler.c instead 05:36
either it needs a realclean, or neither of those had an effect 05:37
Tene Null PMC access in get_integer_keyed_str?! 05:38
On that test.
Tene realclean.
purl well, realclean is sometimes needed because of parrot's bad dependency checking.
Infinoid must need a realclean. reverting any of those 3 files individually and then incremental rebuilding has no effect
05:40 klapperl joined
Infinoid hmm. there's nothing really stopping us from building ccache-like functionality into pmc2c.pl 05:42
nopaste "stockwellb" at 70.160.222.145 pasted "why does $P2 have an empty typeof?" (9 lines) at nopaste.snit.ch/14609
stockwellb If someone has a second, I've got a question that nopaste. 05:43
05:44 bacek_ joined
stockwellb I think it might be an anonymous class, but I'm not sure. 05:44
Infinoid stockwellb: did you mean: $P2 = new $P1 ? 05:45
stockwellb No.
Infinoid $P1 is the type, $P0 is an instance of the Class class
...whatever that is.
ok. maybe the anonymous class needs a "typeof" method declared, to return something valid there? I dunno. 05:46
stockwellb I'm running across these concepts in subclass.t and I don't understand them.
Infinoid (I'm not an expert) 05:47
stockwellb You can create an instance from a <STRING> or a <PMC>. In this case the later has no typeof. Why is this? That's my quandry here. 05:50
05:50 davidfetter joined 05:51 mberends joined
stockwellb Infact $P2 isa "Class". 05:56
dalek r32761 | tene++ | trunk:
: Revert the 'stop disabling exception handlers' bit I accidentally committed earlier.
: It needs to be done eventually, but it currently causes test 13 in t/pmc/threads.t to explode. 05:57
: That's the only parrot test that seems to fail for me with this patch, though.
diff: www.parrotvm.org/svn/parrot/revision?rev=32761
Infinoid Object.get_class is interesting. it looks for a vtable override called "get_class". if it doesn't find it, it calls Parrot_run_meth_fromc_args()
... if it *does* find it, as it does in stockwellb's test case... it doesn't seem to call anything at all. 05:58
am I reading that right? src/pmc/object.pmc line 444 05:59
if it finds the method, it ignores it
oops, no, I read it wrong.
stockwellb I can't read it at all :( just not a c guy. 06:01
strike that, I can read it. It just doesn't make much sense to me.
Infinoid funny, C is one of the only layers of parrot I *do* understand.
stockwellb So many layers huh. 06:02
Well it's bed time 1am here. I'll bring this question up another day. 06:03
Infinoid wait
stockwellb ok.
Infinoid if you run parrot with -t5, it looks to me like $P0 is actually set to PMCNULL
either that, or the anonymous class just calls itself "" by default. still not sure. 06:04
anyway, goodnight
stockwellb I didn't know about the -t5. That rocks!!
Infinoid the numeric bits are documented in ./parrot --help-debug 06:05
stockwellb nice.
jimmy i am not c guy too. because of struct.
stockwellb Infinoid: thanks and goodnight! 06:06
Infinoid sorry I wasn't more help... bedtime here too
good night
purl sleep fast, sleep tight, don't let the bed bugs bite
stockwellb Infinoid: you were tons of help, because I learned something new!
06:08 stockwellb left
adu Infinoid: so tell me about the C layer 06:08
Infinoid adu: what about it? it's big? it's complicated? 06:09
adu Infinoid: oh, were you sleeping? 06:10
how do I find out how to make parrot functions in C?
cotto adu, what do you want to do in c? 06:12
Infinoid if by "parrot functions" you mean "PIR ops", those are defined in src/ops/
if you mean "objects and methods you can call", those are defined in src/pmc/ and documented by pdd17
adu cotto: i dunno, just trying to understand
I don't know parrot well enough to know what to ask
i'll check out pdd17 06:13
Infinoid search.cpan.org/dist/parrot/docs/intro.pod might be a nice overview to start out with 06:14
jimmy docs dir may be a nice docmentation. I started from there and README files. 06:16
adu jimmy: I've read through some of the pods 06:19
but it all seems so sparse
like parrotbyte.pod doesn't list any bytecodes
that really confused me 06:20
jimmy and 06:22
adu and maybe I could
help
jimmy cd docs and run `make html` if there is makefile 06:23
Infinoid parrotbypte.pod is semi-outdated, superceded by PDD13
adu so really I should be reading the pdds
Infinoid docs/pdds/pdd13_bytecode.pod
jimmy that will creat much more documentation
Infinoid those are the specs... PDD = Parrot Design Document
adu ok
Infinoid as for actual bytecodes... thre are more than a thousand ops. the list is created automatically, see include/parrot/oplib/ops.h 06:24
jimmy perl Configure.pl will create that makefile under docs dir.
Infinoid whenever we change the list of ops, we bump the bytecode version to avoid mismatches
adu book/ch_09... is also quite nice :)
Infinoid ok, sleep time now, bye :) 06:25
adu bye
jimmy make htmll and bulld more documentation
that maybe helps you.
s/bulld/build/ 06:26
adu thanks
06:27 johbar joined 06:29 mj41__ joined 07:09 klapperl_ joined 07:30 uniejo joined 07:42 UltraDM joined 07:51 samlh joined, kj joined
bacek_ rakudo: say (1,2).WHAT 07:53
polyglotbot OUTPUT[List␤]
bacek_ rakudo: say @a=(1,2); say @a.WHAT
polyglotbot OUTPUT[No handler to delete.␤current instr.: 'parrot;PAST;Compiler;as_post' pc 6052 (src/PAST/Compiler.pir:1651)␤called from Sub 'parrot;PAST;Compiler;post_children' pc 1779 (src/PAST/Compiler.pir:367)␤called from Sub 'parrot;PAST;Compiler;call' pc 3191 (src/PAST/Compiler.pir:841)␤called from Sub
..'parrot;PAST;Compiler;post_children' pc 1779 (src...
bacek_ rakudo: my @a=(1,2); say @a.WHAT 07:54
polyglotbot OUTPUT[Array␤]
bacek_ why that?
08:00 cotto joined, elmex joined 08:10 chromatic joined, konstantin joined 08:14 bacek joined 08:15 Psyche^ joined 08:21 iblechbot joined
chromatic msg Infinoid, I did invert the conditions but I also inverted the behaviors. The ->floattype flag is effectively a boolean, so changing the comparisons without rearranging made the code confusing. 08:22
purl Sorry, I've never seen infinoid, before.
chromatic Okay, it's after midnight and I was on an airplane, but that boggles my mind. 08:25
cotto seen infiniod 08:27
purl I haven't seen 'infiniod', cotto
cotto seen purl-- 08:28
purl I haven't seen 'purl--', cotto
cotto seen infinoid
purl infinoid was last seen on #parrot 2 hours, 3 minutes and 13 seconds ago, saying: ok, sleep time now, bye :)
08:29 barney joined
jimmy hello cotto? 08:37
cotto hi jimmy 08:39
jimmy and seems that you can test it? rt.perl.org/rt3/Ticket/Display.html?id=60584
the day before yesterday. 08:40
cotto sorry, I don't have access to a windows machine 08:41
jimmy ok 08:43
cotto barney, were you at pds? 08:51
08:52 apeiron joined
jimmy pds? 08:53
purl pds is Parrot Developer Summit
cotto it was a gathering of Parrot hackers to plan out Parrot's future roadmap 08:54
jimmy really? can i take a look at it? 08:55
cotto The roadmap is trac.parrot.org/parrot/wiki/ParrotRoadmap
jimmy wow, trac!! i thought there is no trac on perl.org or parrot.org 08:56
cotto it's very new
jimmy i think it is private now 08:58
09:04 gaz joined
barney cotto: Nope. Too far from Germany 09:16
cotto I thought so. I wonder how Pipp ended up on the roadmap as being out-of-tree by Parrot'w 1.0 release. 09:25
barney That's the general plan. Major languages should be out of tree. 09:28
cotto That makes sense. 09:29
barney In a perfect world, we should draft a Pipp roadmap.
cotto So you're saying I should do something with pipp.org? ;) 09:30
where such a roadmap would live
barney That would be secondary. Wiki at perlfoundation.org is good enough for now. 09:33
cotto Are you thinking time-based or milestone-based? 09:34
barney More like: What needs to be be working before we can ask developers: Please implement those functions 09:36
I still think that HLL-Interop is a prerequisite for that
cotto I thought it was decided that the main HLL interop mechanism was VTABLE functions (at least on a PMC level). 09:38
09:40 TiMBuS joined
barney I'm not sure whether that works in practice. 09:42
It would be surprising to suddenly find Perl 6 Strings in a PHP runtime 09:43
cotto I'd assume that if some PHP code asked for a string from Perl6, it'd just use VTABLE_get_string (plus boxing) and get something it knew how to deal with. 09:45
jimmy i love pipp 09:47
pipp.org is mapped to perlfoundation.org wiki
cotto It needs love.
barney jimmy++ Does it run on windows? 09:48
cotto yes, but that's temporary
jimmy barney: what?
barney Pipp
jimmy pipp on parrot?
yes, it runs 09:49
barney Yes. I tested Pipp only under Linux, never under Windows
jimmy sometimes it should be written cross platform.
such as basename
barney Can you do 'make smolder_test' ?
jimmy because of '/' and '\\'
yes 09:50
some functions are binary-safe. but i don't know what it is meaning 09:52
lu_zero anybody willing to cluebat me about parrot build system/makefiles?
currently parrot doesn't build with make -jN (N>1) and I'd like to fix it
barney jimmy: no idea 09:53
cotto lu_zero, it should work. Can you nopaste how it fails? 09:54
lu_zero basically it needs parrot_config.o and install_config.o in different parts of make installable 09:55
jimmy barney: i don't know whether pipp run windows completely . 09:57
barney Can you nopaste the output from 'make test' ? 09:58
lu_zero let me see 09:59
10:00 tomyan joined 10:01 konstantin joined
lu_zero make -j16 test seems working so far 10:02
make -j16 installable is the one failing
cotto how reliably? 10:07
lu_zero rafb.net/p/xTAi1n79.html
cotto always
cotto that's good
Do you know enough about makefiles to know how to fix it? 10:08
lu_zero cotto Makefile yes 10:09
how they got generated no
jimmy can 'TAP/Harness/Archive.pm' be added default? 10:10
cotto config/gen/makefiles/root.in is the template
jimmy everytime the first make test ,needs this file. 10:11
10:12 AndyA joined, apeiron joined
lu_zero I'll look at it, thank you 10:12
btw
barney jimmy: Can't you install it? With strawberry Perl you should have the 'cpan' command
lu_zero there is another issue about the build system not abiding to libdir settings 10:13
jimmy yes ,sometimes it is not used.
sorry ,usefull
barney It's a goal to keep CPAN modules out of the Parrot repository
jimmy ok 10:14
i think so now.
nopaste "cotto" at 96.26.202.243 pasted "possible pipp grammar refactor" (7 lines) at nopaste.snit.ch/14610
cotto barney, what do you think of that as a change to pipp's grammar? 10:15
I'm trying to make the grammar deal gracefully with code like <?php echo "foo";?> bar <script language="php>echo "baz";</script> 10:16
jimmy i will nopaste 'smolder_test' result.
on windows. 10:17
cotto without a special case for each combination of tags
lu_zero, feel free to post a bug report about the make installable bug. It's easy to reproduce, so someone else should be able to fix it if you can't. 10:18
lu_zero cotto I'll post it with a patch for it and then check if the libdir stuff is as simple
jimmy barney:smolder.plusthree.com/app/public_pr...tails/8235 10:19
cotto lu_zero, does your patch add a dependency to $(INSTALLABLEPBCMERGE) ? 10:21
barney jimmy: thanks. only a few platform dependencies
I'll add a verbose option to t/harness, so that the failures can be more easily explored 10:22
jimmy aye 10:23
lu_zero cotto in one case
cotto yeah. it looks like that's part of the fix 10:24
lu_zero another adds to parrot_config$(O) (I wonder if is correct)
should the the debug use that as well? 10:25
debugger
purl debugger is probably the better approach then since you can disect whos calling whom and how or perl's electronic teddy bear or 'perl -d' or a good way to see if anyone has done it already or dev.catalyst.perl.org/wiki/DebugSample or avalible with cperl-mode syntax highlight/editing goodness with emacs+gud+perldb or *really* unhappy to be inside init_declare
lu_zero worked 10:26
time to bake a bugreport
cotto I can commit now if you nopaste a patch.
barney cotto: Is the case with a missing end-tag handled ? 10:27
cotto I could define <tag1_close> to be either the closing tag or eof. 10:28
jimmy and smolder_test on parrot on windows : smolder.plusthree.com/app/public_pr...tails/8237 10:30
barney cotto: Isn't <inline_sea> matching up to the end of file and then backtracking to the last start tag ? 10:37
cotto in the current grammar? 10:38
nm
barney in your paste 10:39
cotto it could easily be made minimal
dalek r32762 | bernhard++ | trunk:
: [Pipp] Update SYNOPSIS of t/harness and minor beautification
diff: www.parrotvm.org/svn/parrot/revision?rev=32762
cotto that's just the basic idea
barney cotto: When test are passing, then submit it 10:40
cotto good enough for me
just checking for obvious flaws 10:41
jimmy i don't know why there are 3 variant of pipp and the difference. 10:42
barney cotto: Requiring the style of the start tag after <SEA_empty_allowed> is definitly a bug, in the current grammar 10:43
jimmy: That's just my playground.
I wanted to compare different PHP parsers. PCT, PHP and Antlr3 10:44
jimmy i don't love antlr3. 10:46
:(
barney Why. Antlr3 is very powerful and I like the idea that it generates code for different languages. 10:49
However I've only used it for playing with Pipp 10:50
jimmy because of java
cotto java? 10:52
purl GIVE JAVA NO BOTHA </jabba>
barney jimmy: yes. that's a point
cotto barney, did you see the video by some company implementing PHP on the jvm?
it's a little depressing, but informative 10:53
www.infoq.com/presentations/nicholson-php-jvm
jimmy that needs a java support and sun support 10:54
lu_zero <cotto> I can commit now if you nopaste a patch.
cotto the offer is still good ;) 10:55
lu_zero rafb.net/p/YgZ8EA94.html
just read now...
cotto testing... 10:58
purl i heard testing was Don't use #perl for testing! or experiri vovere est or make tests pass for existing features, fail for unimplemented features and skip for wishlist features
lu_zero cotto btw shouldn't the debugger use the same config as the other installable targets? 10:59
cotto lu_zero, how would you like to be credited?
lu_zero Luca Barbato <lu_zero@gentoo.org> 11:00
cotto as in parrot_config.o?
lu_zero as in install_config.o 11:01
if I understood correctly parrot_config has the paths relative to builddir o srcdir
install_config has the paths relative to the destdir
cotto that's makes sense, but I don't know for sure 11:03
dalek r32763 | bernhard++ | trunk:
: [Pipp] add a '--verbose' option to t/harness
diff: www.parrotvm.org/svn/parrot/revision?rev=32763
barney jimmy: You can now do: perl t/harness --verbose t/php/sha1.t # for looking at Win32 failures 11:04
barney is having a late breakfast
cotto a few hours, and I can have an early one 11:06
dalek r32764 | cotto++ | trunk: 11:07
: [build] fix parallel make installable
: patch courtesy of Luca Barbato <lu_zero@gentoo.org>
diff: www.parrotvm.org/svn/parrot/revision?rev=32764
cotto seen rurban 11:08
purl rurban was last seen on #p5p 22 hours, 5 minutes and 39 seconds ago, saying: kitten molester, brrh
lu_zero cotto rafb.net/p/fJeKEQ27.html should fix the other issue 11:11
cotto which issue? 11:13
purl which issue are you reading?
cotto forget which issue
purl cotto: I forgot which issue
lu_zero cotto part of the code being installed in $prefix/lib and part in $libdir 11:14
if libdir isn't $prefix/lib (so ppc64 and amd64 targets so to speak)
cotto so that fixes the case when libdir != $prefix/lib 11:15
lu_zero should
cotto I don't understand that code well enough to commit without testing it (or knowing that it's been tested). 11:17
If you can't test it, send it to the list. 11:19
lu_zero I can test it but I'd rather others testing it
cotto It should probably go to the list then. 11:31
lu_zero how to send correctly to the list? 11:48
cotto perldoc docs/submissions.pod 11:49
actually, sending a message to parrotbug is enough 11:50
parrotbug?
purl parrotbug is mailto:parrotbug@parrotcode.org or svn.perl.org/parrot/trunk/docs/submissions.pod or see also "rakudobug"
cotto make the subject informative enough to identify the problem and prefix it with "[PATCH]" 11:51
lu_zero ok 11:54
cotto lu_zero++ 11:55
11:56 rob joined 12:27 konstantin joined
barney cotto: I watched the video. Yes, I'm depressed now. 12:28
12:34 jimmy joined
cotto glad to be of service 12:36
extensions are going to be less than fun 12:38
at least we have nci instead of xs 12:39
12:43 jimmy joined
cotto bah. I need to go to bed before I become too stupid to find my way there. 12:43
night 12:44
12:44 cognominal joined
jimmy i want create a site on parrot in china. 12:46
want to...
cotto you could translate kjs' tutorial on parrotblog.org 12:49
sleep &
jimmy me? 12:51
purl you are probably jimmy or a kind and warm-hearted person, albeit allegedly a sloth
barney jimmy: You could as on the mailing list about what is the best approach. There are some parrot sites in languages like German and Czech 12:52
jimmy where? 12:53
where mailing list and other languages parrot sites? 12:54
12:56 Lorn joined
barney See www.parrot.org/dev for the mailing list 12:57
jimmy and i can not open www.parrotblog.org/
barney www.parrotblog.org/ is fine here 12:59
jimmy It seems to me that phc and pct is good choice. 13:00
barney Is there a Chinese Wikipedia entry for Parrot ?
jimmy i don't know.
but i know nothing about phc. 13:01
www.parrotblog.org is so slow that firefox is timeout 13:02
barney phpcompiler.org/
jimmy and so is www.parrot.org/dev.
I'd like pct, because it is more closer to parrot. :) 13:12
Just my thought. 13:13
For reference.
barney Yes. PCT is the default variant. PHC is experimental. 13:16
jimmy i can open www.parrot.org and can not open www.parrotblog.org
barney I had some fun generation Parrot Abstract Syntax Tree, PAST, with XSLT
jimmy barney: aye. 13:17
god! i don't why most of all the dns name about parrot in china had been registered. 13:20
13:24 iblechbot joined
dalek r32765 | coke++ | trunk: 13:30
: remove a C++ style comment not caught by 'make codetest'
diff: www.parrotvm.org/svn/parrot/revision?rev=32765
Coke jimmy: ping. 13:41
jimmy hello
Coke hio. Got two different replies back on your email question. one was 'can he use gmail?' the next was "please cc me the next time he sends something". forwarding that one to you now... 13:43
phc? 13:44
purl phc is, like, Perl Hackers Conference or prairie home companion, phc.mpr.org/ or PATRIOTIC HAT CHECKLIST!!!1! or Prairie Home Companion
Coke what is phc in a parrot context?
so, we're still using launchpad? =-) 13:45
jimmy, I assume that's you that just tried to join launchpad?
jimmy yes
13:46 Zaba joined
jimmy phc is a php compiler. 13:46
coke: you'r so nimble. 13:47
Coke jimmy: added. 13:48
jimmy thanks
are you at launchpad when i tried to join it? 13:49
Coke No, I just got an email.
jimmy so quick!
Coke meh. how long does it take to click on a link. 13:50
you're welcome. =-
)
(The scary thing is, I could have done that from my cell phone.)
jimmy what is ahansen@gmail.com?
Coke that's ask's email address. he's one of the two admins of perl.org 13:51
so, perhaps by cc'ing him, we can figure out a way to let your emails through (but still block many other spammy ones.()
jimmy I see 13:52
and who is the admin of www.parrot.org? there seems to some wrong li tag css style at the bottom. here: www.parrot.org/wiki/parrot 13:55
i always forget the grammar of english :(
14:11 bacek joined 14:14 gryphon joined
Coke there are a few of us. 14:23
I'd say "open a ticket..."
14:23 PacoLinux joined
dalek r32766 | bernhard++ | trunk: 14:27
: [Pipp] Add a brokem Makefile target for running the tests
: from the PHP QA Team testsuite
diff: www.parrotvm.org/svn/parrot/revision?rev=32766
Infinoid seen Tene 14:53
purl Tene was last seen on #parrot 9 hours, 15 minutes and 16 seconds ago, saying: realclean.
Infinoid Tene: r32761 breaks t/op/exceptions.t on my box.
15:16 jsut|work joined 15:18 rdice joined 15:24 jimmy joined
jimmy there were some makefile mis-repalced such as : docs.sun.com\\app\\docs\\doc\\819-5...li/?a=view 15:33
and such as @echo " http:/smoke.parrotcode.org\\" 15:34
Infinoid ooh, I got to commit rev 0x7fff
next one to commit gets 0x8000 :)
dalek r32767 | infinoid++ | trunk:
: [codingstd] Minor tweaks to make t/codingstd/perlcritic.t happy.
diff: www.parrotvm.org/svn/parrot/revision?rev=32767 15:35
jimmy i think you are not talking to me..
15:36 ruoso joined
Coke pmichaud: ping 15:38
pmichaud (or anyone) - any thoughts about the current requirement that attributes have to be PMCs (parrot level); wondering if having PGE able to to store, say, the "pos" attribute as an int instead of a pmc would elminate a lot of the GC pressure I'm seeing. 15:40
jimmy can anybody fix this bug? 15:42
15:50 particle joined, particle1 joined
Coke jimmy: is that the one I already opened a ticket on your behalf for? 15:51
(or do you have a new one?)
particle1 i believe that makefile template fix for editor/ is wrong 15:52
jimmy coke: hmm, actully, I can't fix it completely. and I upload a new patch and do some changes.
particle1 it should use the configure systems syntax #CONDITIONED_LINE
jimmy yes, the new patch I just uploaded is using #CONDITIONED_LINE 15:53
particle jimmy++
jimmy but the mis-replaced slash such as http address I can not fix it. 15:54
because the compiler.pm is so mad. 15:55
$line =~ s{(/+)}{
my $len = length $1;
my $slash = $conf->data->get('slash');
'/' x ($len/2) . ($len%2 ? $slash : ''); 15:56
}eg;
it repalced all the slash!
Coke when you say mad, there, do you mean "crazy" ? 15:57
or "angry" ?
(I hate english. :|)
jimmy I hate too! yes. 15:58
and what the difference between them? 15:59
purl the difference between them is the range
jimmy i think the former is expression and another is behavior 16:00
Infinoid purl, forget the difference between them 16:06
purl Infinoid: I forgot difference between them
Infinoid jimmy: the definition of mad varies a bit between british english and american english
british mad = crazy, american mad = angry 16:07
tewk_: is tools/dev/nci_test_gen.pl supposed to pass? because I get all sorts of failures on linux/amd64, and it removes most of the guts from src/nci_test.c. (I was looking it at because it's one of the few .pl files that doesn't contain "use strict" or "use warnings") 16:09
jimmy and hello particle: i think it should be added a condition " unless $line =~ m/@echo/;" 16:10
Infinoid: ugly english, why dont use crazy as definition. 16:12
particle jimmy: that's possible. it would help if a check was done to see how many @echo lines in makefile templates are affected by that change. it's probably not many, but useful to know.
jimmy just print $line to find the difference. 16:13
particle there are some number of makefile templates with @echo lines in them. your proposed change would affect all of them
jimmy if it works well
so just print $line to see the difference . 16:14
tomorrow I will try it.
Coke fights with a bizarre svn repo at work. :| 16:15
jimmy i have to go bed now. god night! coke && particle
Coke ~~ 16:17
Infinoid goodnight jimmy
jimmy and infinoid
purl i think infinoid is Mark Glines <mailto:mark@glines.org>
Coke yes, purl. sssh. 16:18
Infinoid polishes the parrot 16:20
Coke hey, I saw that episode of mythbusters.
oh, wait, it wasn't a parrot.
Infinoid sounds kinky.
dalek r32768 | infinoid++ | trunk: 16:21
: [rakudo] gen_junction_pir.pl can use strict and warnings.
diff: www.parrotvm.org/svn/parrot/revision?rev=32768
r32769 | infinoid++ | trunk:
: [pod] typo: usefull -> useful
diff: www.parrotvm.org/svn/parrot/revision?rev=32769
16:21 allison joined
Coke only if you're exceedingly odd. 16:22
Infinoid japhb: there are some header parse warnings output by gen::opengl during configuration, and I'm not sure whether they are specific to my system or not. nopaste coming up. 16:23
nopaste "Infinoid" at 96.238.213.50 pasted "gen::opengl parse error" (4 lines) at nopaste.snit.ch/14614 16:24
Infinoid the more parrot bisects I do, the more I want to hack ccache functionality into pmc2c 16:26
japhb looking ...
16:32 Theory joined
Coke is there an easy way to overwrite an svn tag? 16:34
(rather than doing a delete and then a new 'svn cp'?)
Infinoid svn pe? 16:35
Coke ... a tag isn't a property, though. 16:36
japhb Infinoid: Looks like an easy fix; running rebase/rebuild to test, then will commit
Infinoid ok, I misunderstood
I don't think I've ever used tags.
in fact, I don't even know how to query them 16:37
if tags are just like branches (I'm a little confused because they mean something completely different and broken in CVS), then I don't think there is. but you could edit a checkout of the tag in place, and commands like "merge" will preserve history across branches 16:40
dalek r32770 | japhb++ | trunk: 16:44
: [Rakudo] Add languages/perl6/tools/rebase-rakudo.pl
: * Add rebase-rakudo.pl, a tool to make rebase/rebuild/test
: of Parrot/Rakudo more "fire and forget".
diff: www.parrotvm.org/svn/parrot/revision?rev=32770
r32771 | japhb++ | trunk:
: [OpenGL] Handle type 'GLulong' in GL headers
diff: www.parrotvm.org/svn/parrot/revision?rev=32771
Coke I don't want to edit a tag in place. =-) 16:45
I guess I'll just rm it and then re-cp it.
Tene Infinoid: it breaks the test I just added that relies on the functionality that I had to pull out for breaking t/pmc/threads. It should probably be TODO's.
TODO'd.
dalek r32772 | japhb++ | trunk: 16:46
: [Rakudo] Set svn props on rebase-rakudo.pl
diff: www.parrotvm.org/svn/parrot/revision?rev=32772
Infinoid ah, that explains it. want me to todo it?
japhb++: output is nice and clean now, thanks! 16:47
japhb Infinoid: you're welcome!
OK, with this coming NEWS commit, I should be done from my end for tomorrow's release 16:53
dalek r32773 | japhb++ | trunk: 16:54
: [NEWS] Updates from japhb; fix indentation
diff: www.parrotvm.org/svn/parrot/revision?rev=32773
Infinoid rebase-rakudo.pl fails t/codingstd/copyright.t and t/codingstd/svn_id.t
japhb Infinoid: I've got to run ... would you mind throwing the standard bits in there, plz? 16:55
Infinoid no problem
japhb thanks
dalek r32774 | infinoid++ | trunk: 16:59
: [rakudo] Add copyright line and $Id$ to rebase-rakudo.pl.
diff: www.parrotvm.org/svn/parrot/revision?rev=32774
particle just got two weeks notice 17:03
Coke woof. 17:04
Infinoid ouch. 17:09
Coke anyone getting a OLPC laptop to see about parrot-hackage? 17:10
dalek r32775 | infinoid++ | trunk:
: [MANIFEST] update for new cardinal tests.
diff: www.parrotvm.org/svn/parrot/revision?rev=32775
Tene Infinoid: if you could todo it, that would be great. 17:16
17:16 klapperl joined
dalek r32776 | infinoid++ | trunk: 17:17
: [t] TODO a test pending the functionality it tests.
: * in r32756, Tene added a patch to stop disabling exception handlers, and a test for that.
: * The patch broke t/pmc/threads.t, so the patch was temporarily removed in r32761.
: * TODO the corresponding test for now, until the patch is put back in.
diff: www.parrotvm.org/svn/parrot/revision?rev=32776
17:17 gryphon joined
Infinoid ok, things are looking pretty good on my box now, test and codetest both pass for the first time in a while. 17:23
17:30 hercynium joined
nopaste "masak" at 130.238.45.242 pasted "a new bug" (29 lines) at nopaste.snit.ch/14615 17:35
17:46 konstantin joined 17:58 chromatic joined
pmichaud good morning/localtime, all 18:15
particle hey there, pmichaud 18:18
S03-operators/increment.t is failing due to lack of bigint 18:19
18:20 allison joined
particle shall i skip the failures? 18:20
18:22 japhb joined
pmichaud chromatic updated int/bigint last night, so I'd be curious to see if we can fix the failures 18:23
chromatic It's failing? 18:25
particle i'll have to check svn log to see what 'fixed' means
chromatic It must have overflowed before. That's strange.
particle c:\\Users\\particle\\dev\\parrot\\trunk\\languages\\perl6>..\\..\\parrot perl6.pbc t\\spec\\S03-operators\\increment.rakudo
1..41
no bigint lib loaded
t\\spec\\S03-operators\\increment.rakudo 1 256 41 82 1-41 18:26
18:27 Wknight8111 joined
pmichaud afk, lunch. 18:30
18:31 gmansi joined
Tene pmichaud: you see my mails about the resumable exception context fix? 18:58
dalek r32777 | Whiteknight++ | trunk: 19:00
: [Book] More updates to chapter 3. Work on the second half of the file improving the writing and eliminating dependencies on information which isn't covered till chapter 5 or later.
diff: www.parrotvm.org/svn/parrot/revision?rev=32777
19:03 Infinoid joined
chromatic Method 'HOW' not found for invocant of class 'BigInt' 19:16
19:16 mberends joined
chromatic It sounds like autopromoting is too aggressive. 19:16
todo('detect integer overflow/underflow'); is($a, 2147483648, "var incremented after post-autoincrement"); 19:22
Actually no, the test is fine.
I mean, the test in the Integer PMC is fine.
... but todo() doesn't appear to catch an exception. 19:24
particle nope
Tene Perhaps it should?
chromatic I think so. 19:25
particle what does p5 do? 19:26
>perl -MTest::More -e"plan tests => 1; TODO: { local $TODO = '...'; ok( die ); }" 19:29
1..1
Died at -e line 1.
# Looks like your test died before it could output anything.
chromatic Yeah.
particle that's what i expect
you need to skip to avoid fatal exceptions
chromatic But the test explicitly tries to overflow Integer on 32-bit platforms.
particle then the test needs to catch the exception 19:30
chromatic Exactly.
particle not the test function
chromatic Yes, I agree now.
19:35 gryphon joined
Coke ... how about now? 19:38
chromatic I still agree!
19:40 stockwellb joined
dalek r32778 | julianalbo++ | trunk: 19:41
: fix unquoted barewords in Mysql nci examples
diff: www.parrotvm.org/svn/parrot/revision?rev=32778
stockwellb I asked this question last night and couldn't get it resolved, I was wondering if anyone could look into it today nopaste.snit.ch/14609 why does $P2 have and empty typeof? 19:43
PerlJam stockwellb: a bug? 19:45
purl a bug is www.cbttape.org/funny/bug3.jpg
stockwellb For a beginner like me it begs the question why creat an intance from another instance in the first place? But yes, if you do, shouldn't it respond to typeof. 19:47
god my typing is terrible.
nopaste "coke" at 72.228.52.192 pasted "notfound++ - here's all the compilation failures in examples/" (138 lines) at nopaste.snit.ch/14616 19:48
stockwellb PerlJam: I found something like that snippet in a test where someone expected an empty typeof. That makes me think there is a purpose.
NotFound Coke: I'm fixing those I wrote, for anow ;) 19:49
pmichaud stockwellb: depends on what you mean by "an empty typeof"
It's not really empty.
stockwellb I wasn't sure of the right word. It matches ''. 19:50
pmichaud it's a class with no name.
stockwellb So no typeof means no name. No name means anonymous?!
pmichaud that's what I would say, yes.
19:51 gryphon joined
pmichaud again, it's not that there's "no typeof". $P2 has a type, uniquely given by the class that was created and referenced in $P0. But that class doesn't have a name, so when you try to print the class you get ''. 19:51
Tene stockwellb: I wouldn't say no typeof. It's not a null pmc.
stockwellb I had that nagging thought last night. I'm just not experienced enough with anonymous classes.
Tene It's a type that stringifies to the empty string.
stockwellb Tene: yes I should have said empty string and not just empty. 19:52
pmichaud: forgive me, but if $P2 has a type uniquely given by $P0, then what is it? 19:53
pmichaud note to lex2 folks: It was decided yesterday (but I didn't get a chance to post/blog about it) that we're not going to try to get lex2 merged into the release. We'll do it very soon after the release.
(of course, we have to get it working first, and that's my task for today/tomorrow) 19:54
stockwellb: you'll find that if you did $I0 = issame $P3, $P0 that the result is 1
Tene pmichaud: are you going to get a chance to look at my resumable exceptions fix today?
pmichaud Tene: yes. That is an excellent catch (based on your irc comments -- haven't seen the fix yet. Haven't even opened email yet.) 19:55
Tene nods.
Coke chromatic: that nopaste I just sent should probably be fixed before release. 19:56
pmichaud stockwellb: in other words, typeof $P2 is returning the class object used when you created it ($P0 in this case)
dalek r32779 | julianalbo++ | trunk:
: fix bareword method names in Xlib nci examples
diff: www.parrotvm.org/svn/parrot/revision?rev=32779
chromatic Will do, Coke.
pmichaud Tene: I'm doing the same thing in the lexicals branch -- need to review all places where contexts are referenced and make sure the reference counts are updated apprpriately. 19:57
Coke for file in `ack -fa examples | ack '\\.pir$'`; do ./parrot -o /dev/null $file; done 19:58
pmichaud ...because I found several places where they aren.t
Tene pmichaud: 'debug 0x80' is helpful here.
pmichaud excellent. 19:59
stockwellb but is $I0 = issame $P3, $P2 is 0.
19:59 ambs joined
pmichaud sure, because $P2 is an instance of the class, not the class itself. 19:59
19:59 ambs left
pmichaud there's an object that represents the class itself, and then we create other objects that represent that class 19:59
sorry, that are instances of the class
(I'm not fully lucid yet.)
(Was on a plane all night :-) 20:00
consider the following example
$P0 = get_class 'Integer'
$P1 = new $P0
are $P0 and $P1 the same object?
stockwellb No
pmichaud right, so issame $P0, $P1 returns 0
but if I ask "what class is $P1", I get back $P0
$P2 = typeof $P1 20:01
$I0 = issame $P2, $P0 # 1
stockwellb I see it. I'm not sure what to do with it.
Tene stockwellb: what are you *trying* to do?
pmichaud because 'typeof' returns the class that was used to create the object. (More precisely, it returns the class of which the object is an instance.) 20:02
stockwellb Trying to understand it. I saw this in a test that I'm rewriting and I can't in good faith rewrite it if I don't get why it works that way.
pmichaud so, anonymous classes are just classes without a name.
If I do
$P0 = newclass 'Foo' 20:03
$P1 = new $P0
$P2 = typeof $P1 # $P2 issame $P0
say $P2 # says the name of the class, "Foo"
that part make sense so far?
stockwellb yes.
pmichaud okay. There's another way we can create a class, like this: 20:04
$P0 = new 'Class'
$P0.'name'('Foo')
$P1 = new $P0
...
stockwellb yes.
pmichaud the first two lines create a new class called 'Foo', same as $P0 = newclass 'Foo' above
if I do $P2 = typeof $P0 and say $P2, then the class will say its name ('Foo') 20:05
still good?
purl strokes beard
stockwellb still goo.
good
:)
pmichaud okay, now we get rid of the name:
$P0 = new 'Class'
$P1 = new $P0
$P2 = typeof $P1
say $P2
this is the same as before, only I didn't give $P0 a name.
so, its name is ''
stockwellb I didn't see typeof and name as the same thing. That makes sense now. 20:06
pmichaud well, they aren't really the same thing.
stockwellb but...
pmichaud typeof (when it returns to a pmc register) gives me back the class object itself
it's only when I go to print the class object that I get to see its name. 20:07
stockwellb Ok, I'm onboard with that.
pmichaud so, if I do:
$P0 = newclass 'Foo'
say $P0 # 'Foo'
and if I do
$P0 = new 'Class'
$P0.'name'('Foo')
say $P0 # 'Foo' 20:08
but if I do
$P0 = new 'Class'
say $P0 # ''
stockwellb bu the typeof $P0 would be "Class" 20:09
pmichaud correct.
20:09 sjansen joined
pmichaud because $P0 was created as an instance of 'Class' 20:09
stockwellb and if I say the typeof is would also be "Class"
pmichaud correct.
there is an object that represents the class of 'Class' objects (this gets kinda meta here)
but if I do: 20:10
$P0 = get_class 'Class'
$P1 = get_class 'Integer'
$P2 = typeof $P1
then $P2 and $P0 are the same object
the 'typeof' of any class object is 'Class'
and continuing on 20:11
stockwellb starting to sink in.
pmichaud $P3 = new 'Class'
$P4 = typeof $P3
then $P0 issame $P2 issame $P4
stockwellb yes.
$P5 = new $P3 20:12
$P5 - when is this useful? 20:13
pmichaud sometimes we create classes that don't have a name
such as when we're combining a class with a role for the purposes of creating a single-use object
stockwellb So this really is all about anonymous classes. This is how you do it. 20:14
pmichaud so most often we do $P3 = new 'Class' so that we can have it inherit from multiple parent classes and/or roles.
without having to give that new class a unique name.
or, we may need to have a class of objects that simply adds some new methods but the name isn't important or useful (or wanted) 20:15
stockwellb I fist say this in t/00/subclass.t
first saw this...
Tene rakudo.de/ seems to be down.
Or my laptop is having weird connection issues again.
pmichaud but yes, this is testing that we can create anonymous classes; or perhaps simply testing that we can use $P0 = new 'Class' as an alternative to the newclass opcode 20:16
I connect to rakudo.de just fine.
Tene Yeah, nevermind. It's the latter.
pmichaud Storable version 2.18 required--this is only version 2.15 at /usr/share/perl/5.8/Exporter/Heavy.pm line 107.
I know chromatic made this change last night (he mentioned it to me at the time) 20:17
...but I didn't realize then that my boxes weren't running 2.18 :-)
stockwellb side note. I use irssi. Much useful info has scrolled away. Is it logged somewhere so that I can review it?
pmichaud stockwellb: irclog.perlgeek.de/parrot/2008-11-17 20:18
scroll to bottom
"hi, stockwellb!"
stockwellb I'm looking now. 20:19
wicked!
Coke excellent! 20:20
purl Smithers, release the hounds!
Infinoid stockwellb: what's wrong with irssi? is your scrollback buffer set too small, or do your pgup/pgdn keys not work?
pmichaud: (backlogging) if you create a Class named Foo, and then try to do a new Foo, do you get an instance of the class you just created? (are the classes stored in a namespace somewhere?)
pmichaud Infinoid: yes, it's called the "class registry"
I'm pretty sure that naming the class also puts it in the registry. 20:21
(testing)
Infinoid is that lexical or global?
stockwellb pgup/pgdn what sort of genius thought of that!! I can be such dork.
Infinoid haha
Infinoid loves irssi 20:22
stockwellb yet my dorkness helped me learn something more important. So perhaps it's useful still.
pmichaud still, irclog.perlgeek.de is very useful when it's left your scrollback buffer, or after you've closed your irssi session.
particle or screen died
Infinoid rare, but possible
moritz or if you want to link to a particular line in the IRC logs 20:23
nopaste "pmichaud" at 72.181.176.220 pasted "naming a class places it in the type registry" (13 lines) at nopaste.snit.ch/14617
Infinoid moritz: that is very useful
TimToady or the machine you're running screen on dies...
pmichaud Infinoid: the type registry is (unfortunately) global to Parrot
stockwellb pmichaud: Thanks for the skoolin today.
pmichaud stockwellb: my pleasure 20:24
thanks for rewriting the tests. That's a big help to all of us.
particle indeed
ack -al pasm_ t # reports 86 files iirc 20:25
stockwellb Really I think it helps me more. Lets face it. Rewritten tests don't really move the project forward much.
pmichaud in this case they do.
particle i don't know what pir_ reports
pmichaud rewriting the tests in PIR makes it much faster.
particle faster++
pmichaud currently the perl versions of the tests start a new instance of Parrot for every test. That slows things down.
If the tests are in PIR, then we run it all in one Parrot instance.
particle (closer to independence from perl 5)++
and don't write each of them to a file first 20:26
stockwellb Well good then. I've only gotten 3 committed, 1 is in the TR and I'm working another.
moritz jonathan++ # giving me tickets for which more tests are needed
Coke vaguely wishes that the tcl test suite was more compartmentalized so he could be more selectively about what he ran.
s/ly//
pmichaud when we rewrote t/compilers/pge/perl6regex/01-regex.t in PIR then we had a _huge_ speedup
particle is there a util to report the time of each perl-based test file? stockwellb could attack the longest-running first 20:27
pmichaud one could do find+time+prove
stockwellb I don't know how to do that find time prove?
particle +sort i suppose. yep
chromatic prove has a --state option, but I can't find documentation on it. 20:28
Coke particle: you can tell 'prove' to report test times.
moment.
particle oh, even nicer
Coke HARNESS_TIMER make test
HARNESS_TIMER=1 make test
pmichaud Infinoid: the global registry is RT #43419 20:29
stockwellb running that now.
Coke (hurm. I wonder if that stopped working at some point.)
pmichaud so, we're requiring Storable version 2.18 now?
I don't have a particular issue with that, but I'll note that it means Parrot doesn't compile on my stock kubuntu (8.04) perl 20:30
(where previously it did)
20:30 konstantin joined
Coke pmichaud: there is a thread about dropping it back to 2.mumble. 20:31
pmichaud okay.
I'll cpan storable in the meantime -- probably can't hurt
Coke I think we are going to have to have a more complicated require'ment.
(so we require different versions of storable depending on your base version of perl.)
(PITA)
particle 2.12 20:32
dalek r32780 | julianalbo++ | trunk:
: fix bareword method names in pirric
diff: www.parrotvm.org/svn/parrot/revision?rev=32780
Coke HARNESS_TIMER used to work with Test::Harness. 20:33
particle works for me 20:34
t\\spec\\S03-operators\\arith................................ok 16765 ms
Coke ok. it's not working for me anymore; wonder if I upgraded to a borked version somewhere. enjoy. =-)
chromatic Requiring different versions of Storable for different versions of Perl is madness. 20:35
We are not in the business of tracking what works on various Perl versions everywhere.
We *know* that 2.18 will work everywhere.
We *don't know* that anything earlier than 2.18 will work everywhere.
20:36 ff-wonko joined
Coke chromatic: any way you can address andy's note that upping the requirement to 2.18 will force us to lose that platform? 20:36
chromatic Nothing other than "That's some good crack."
Coke I would hesitate to phrase it that way. 20:37
chromatic The time it takes to figure out what's going wrong and file angry tickets or write angry messages to the list is approximately the same amount of time it takes to install Storable 2.18 from the CPAN, especially because Storable 2.18 exists solely so that people can upgrade to it from the CPAN.
particle let's upgrade our perl dependency to 5.10.1
chromatic That's not what I'm saying. 20:38
tewk_ 1.0 will ship on three platforms WIN, Linux x86/x86_64, OS X
chromatic We require Storable 2.18 so that *OpenSolaris users don't have to upgrade from Perl 5.8.4*. 20:39
tewk_ 1.0 will ship on "three" platforms WIN, Linux x86/x86_64, and OS X
particle tewk: that doesn't really mean we're free to break other platforms just because we want to
cotto stockwellb, see list for comments on your ops.t patch and let me know if anything's unclear 20:40
chromatic What breaks other platforms?
particle i don't care what version of storable we require, as long as parrot continues to work on the platforms it did a month ago
chromatic As I understand it, Storable 2.18 is the only release that reliably works back to 5.8.2 or so on all platforms we care about.
stockwellb cotto: ok, thanks.
moritz my copy of rakudo dies on t/spec/S03-operators/increment.t - is that known? 20:42
chromatic moritz, "no bigint library available"?
moritz chromatic: 'Method 'HOW' not found for invocant of class 'BigInt'
'
what kind of bigint library should I install?
chromatic You apparently have gmp. 20:43
cotto no how, brown cow
chromatic I fixed Integer increment and decrement last night to autopromote to BigInt.
moritz ii libgmp3-dev 4.2.1+dfsg-4 Multiprecision arithmetic library developers
chromatic The spectests didn't actually check that the increment worked; they had known overflow problems.
I assume that someone just needs to add the Perl 6 Int methods to BigInt.
moritz ok 20:44
I'll open a ticket
20:45 masak joined
bacek good morning 20:45
masak good evening
moritz good localtime 20:46
stockwellb cotto: Great example. I see that using a label and not a handler is just a catch 'all'. I'll fix those soon.
masak good global time.
bacek :) 20:47
moritz: can you apply latest patch from #56216 and close this ticket?
cotto stockwellb: if you get bored, I'm sure there are a large number of tests that use a simple label where they should use a full ExceptionHandler 20:48
stockwellb that's a fact, that is where I learned it from.
got to finish my chili. Later folks. 20:51
20:52 stockwellb left
moritz bacek: I'll take a look (RT is very slow right now) 20:53
masak rakudo: my $l; for 1, 2 { my $l = $l // $_; say $l; $l = $_ } # should print 1\\n1\\n 20:54
polyglotbot OUTPUT[1␤2␤]
bacek moritz: thanks.
masak bug, right?
$l gets undefined in between iterations. 20:55
is that one in RT?
bacek masak: it's "my", not "state"
moritz masak: 'my' creates a new varialbe on each iteration
masak ah.
oops.
my bad. 20:56
I didn't see that extra 'my' until now :/
so, user bug.
bacek masak: :)
masak gets back to work
Infinoid oh, hi chromatic, thanks for your explanation 21:00
the reason why "msg Infinoid," wouldn't work lastnight was because of the comma
cognominal past the coma, you are dead 21:01
chromatic ahh 21:02
pmichaud I might be able to fix BigInt -- just a sec. 21:05
oh wait, I have to install Storable-2.18 first. A longer sec, then.
21:06 klapperl joined
masak pmichaud: the 'bug' I reported before today is the same as the one above, so please ignore. :/ 21:08
pmichaud with the my $l = $l // $_; thingy?
moritz masak: then merge the two
masak pmichaud: yes, it was bogus
pmichaud or reject the ticket if it's not a valid bug.
masak moritz: I didn't report it that way. maybe someone else did, though.
pmichaud ah.
masak pmichaud: I just msg'd you about it and nopasted it here. 21:09
I was in a hurry,
pmichaud np
got it, thanks.
until the lexicals branch is finished I'm tending to lump all such bugs as "it's probably related to lexicals"
it's worth filing the tickets though, so that we're sure to go back and check.
and I really want to have lexicals far enough along that we can merge back to trunk right after the release. 21:10
so that's my task for today.
masak yay.
I'd have usually filed a ticket.
but now I'm glad I didn't.
pmichaud that's good also. :-)
masak maybe I should file a ticked about warnings against re-defining variables instead :P 21:11
s/ticked/ticket/
pmichaud well, I don't think that would've produced a warning.
maybe we can warn about using a variable in the scope of its own 'my' declaration.
masak why wouldn't it merit a warning? it shadows an earlier declaration. 21:13
pmichaud that's the whole point of 'my' declarations, isn't it?
that they might be shadowing an earlier one.
my $i means "when I say $i, I mean this one, and not any other $i you might see in an outer scope." 21:14
masak gets some kind of epiphany
ok.
then it's alright, I guess.
moritz we have $OUTER::i or whatever it's called for that 21:15
pmichaud we should see a warning if we have two "my $i" declarations in the same lexical scope
(and if the declarations conflict, possibly -- one of the synopses has the rule for that.)
masak mm 21:16
pmichaud back in a bit 21:19
(need reboot)
dalek r32781 | moritz++ | trunk:
: [rakudo] '!FAIL'() when Str.substr index is out of bound, instead of throwing
: an exception. Patch courtesy by Vasily Chekalkin, bacek++
diff: www.parrotvm.org/svn/parrot/revision?rev=32781
pmichaud ....should that throw an exception? 21:20
Infinoid reads allison's writeup 21:21
pmichaud okay, I guess it should. 21:22
bacek pmichaud: it calls 'FAIL' when we caught parrot's exception
pmichaud: it was your comment in ticket :) 21:23
pmichaud bacek: yes, I was wondering if the Perl 6 spec indicated that we should throw an exception for out of bounds. But we do that in Perl 5 (with -w enabled), so the answer is yes.
bacek how "Perl6 Int methods should be added to BigInt"?
pmichaud I'm working on that now, as soon as I can get Parrot rebuilt.
bacek pmichaud: ok. 21:24
pmichaud I'm having trouble getting any of the CPAN mirrors to talk to my cpan installer.
(or vice-versa) 21:25
moritz has a local mirror that CPAN::Mini updates - very convenient for offline working
pmichaud oh, I'm online.
(as you might guess :-)
I'm unable to fetch 01mailrc.txt.gz
bacek pmichaud: You moved to Australia? :) 21:26
pmichaud bacek: either that or the mirrors did.
bacek pmichaud: :) 21:27
moritz: can you close #60604? It's expected behaviour. 21:28
pmichaud it is? 21:29
purl Oh no it isn't!
pmichaud I don't think that's the expected behavior.
we aren't returning a closure.
moritz bacek: it's right that it should be a closure, but i don't see how a correct closure could lead to that behaviour 21:30
bacek our List multi method grep ( @values: Matcher $test )
our List multi grep ( Matcher $test, *@values )
pmichaud this is the same lexical problem that we had with given.
it's keeping the last (first) version of the lexical variable.
as opposed to using the new one that is in scope.
(at the time the block is invoked)
bacek my bad... 21:31
pmichaud I'll link it with the lexicals meta ticket
Infinoid so at parrot 1.0+, the numeration of ops and the bytecode version will be relatively stable? 21:32
Coke i certainly hope so.
pmichaud s/given/gather/ agove.
*above
bacek #56512 is my favourite... 21:33
afk # $kids->school()
pmichaud 60092 might be resolvable. 21:36
masak I just got an error I never got before: 'PAST::Compiler can't compile a null node' 21:38
is that bad? :)
pmichaud it means that something is wrong in the AST construction.
masak I'm not sure what caused it. I just changed a . to a .=
I'll see if I can isolate it
dalek r32782 | coke++ | trunk:
: point the new roadmap; I assume this one will eventually go away.
diff: www.parrotvm.org/svn/parrot/revision?rev=32782
pmichaud ...I can't find the ticket that had the gather lexicals bug. 21:40
ENOTICKET, perhaps? 21:42
masak pmichaud: ENOTICKET, yes 21:43
IIRC you asked me to make a test case, but nothing else.
I remember being surprised. :) 21:44
rakudo: my @a; @a[0].=subst( '', '')
polyglotbot OUTPUT[PAST::Compiler can't compile a null node␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 152 (src/PCT/HLLCompiler.pir:104)␤called from Sub 'parrot;PAST;Compiler;as_post' pc 1926 (src/PAST/Compiler.pir:436)␤called from Sub 'parrot;PAST;Compiler;keyed' pc 6861
..(src/PAST/Compiler.pir:1835)␤called from Sub 'parrot;PAST;Compiler;post_childre...
masak there's the boiled-down error.
reporting.
purl it has been said that reporting is usually the biggest part of any apparently simple thing
Infinoid pmichaud: is #56512 what you're looking for? 21:46
oh, something more specific.
dalek r32783 | tene++ | trunk:
: Slight update to ExceptionHandler.pmc's can_handle for exception severities.
: Still not perfect, but better.
diff: www.parrotvm.org/svn/parrot/revision?rev=32783
masak pmichaud: here's the relevant discussion that made me not report the gather bug: irclog.perlgeek.de/parrot/2008-11-12#i_685253 21:47
pmichaud: maybe I misunderstood.
Tene Coke: Is it you that I need to harass about adding feeds to planet parrot? 22:03
22:03 Whiteknight joined
pmichaud masak: more likely I misremembered that the discussion came from a ticket. 22:05
it's fine that there's no ticket.
masak to the best of my knowledge, there is no such ticket.
pmichaud or we can create one.
I'll reference your use.perl post :-) 22:06
masak :)
pmichaud I'd still like to see your journal in the planet perlsix feed, if it hasn't happened yet.
it could even potentially go into the parrot feed.
masak pmichaud: ok, cool. 22:07
Tene msg Coke please add blogs.gurulabs.com/stephen/atom.xml to planet parrot, or tell me that I'm wrong again if you're the wrong person to contact.
purl Message for coke stored.
Coke does anything about the state of exceptions need to go into DEPRECAT* so we can rip it out after the release? 22:09
Tene Not this release, no.
Wait. 22:10
pmichaud we need to indicate that pop_eh's are now required.
Tene Are we deprecating the "EHs are automatically disabled" feature?
So we can remove it?
pmichaud I think yes.
Tene I'd like to do that.
particle yes.
pmichaud that's why I went through and added all of the pop_eh's
(to places that didn't have them.)
Coke Tene: added; as soon as this svn commit finishes, anyway. 22:11
(there.)
Tene Coke: are you a maintainer of planet parrot? 22:12
pmichaud okay, _finally_ got Storable 2.18 installed, now to reboot, rebuild parrot, and deal with the other things in the queue.
brb
Coke tene;yes. but not planet six
Tene Coke: can you add that feed I linked up there to planet parrot?
Coke resend: "Tene: added; as soon as this svn commit finishes, anyway." 22:14
Tene ... oh, I thought you meant added to DEPRECAT*
pmichaud (that's what I thought also :-)
Tene reading comprehension fail.
Coke nope. I figure I'll leave that to someone who pretends to understand what's going on there.
sorry for the confusion.
Tene If it's not there by tonight, I'll forget about it and not add it myself. 22:15
So... I'll send myself email.
22:15 peepsalot joined
pmichaud my fix for BigInt doesn't fix things, because I don't have the bigint library installed. 22:38
and apparently that's required.
my preference would be to split the increment.t tests into two files -- one that tests increment (standard cases) and another file that checks for proper handling of overflow conditions 22:39
in the meantime, I'm not sure what to do about platforms that don't have bigint available. 22:40
chromatic Note that the overflow amount depends on the size of your INTVALs too. 22:41
pmichaud well, the first test in increment.t is testing overflow of 32-bit int 22:42
so we see it "right away"
that's why I'm thinking we should split the file. 22:43
s/we see it/I see it/
although it is curious that we were (apparently) passing it before but fail it now. 22:44
chromatic I don't know that it was checking values. 22:46
pmichaud I wonder if we were autopromoting to Float before.
(we being 'rakudo')
chromatic My guess is that the literal 33-bit number in the source code autopromoted in the compiler.
pmichaud that sounds possible/correct
chromatic Though float promotion sounds reasonable.
I do remember adding that to IMCC. 22:47
pmichaud well, the source code starts with a 32-bit number and adds 1
so I don't think it autopromotes there.
and the error I'm getting is definitely in the increment operation
i.e., at the point where we're attempting to increment the int
anyway, I think perhaps we just skip/regress those tests for now until we figure out all of the ramifications for Parrot. 22:48
chromatic is($a, 2147483648, "var incremented after post-autoincrement"); 23:02
214...8 isn't a 32-bit number, as far as I understand it.
pmichaud sure, but the complaint about the bigint library is coming before we ever get to the is() function. 23:03
it's complaining about it when it runs prefix:<++>
chromatic Right.
All I mean is that I'm not sure the test is right.
pmichaud okay. 23:04
chromatic ... besides the fact that without GMP you get an exception.
pmichaud in that case, imcc is indeed promoting the constant to a Float.
I just sent a reply on the storable-2.18 issue; apologies for making the discussion even longer. 23:06
23:10 ruoso joined 23:14 rdice joined 23:16 bacek joined
chromatic Hm, we *could* put some Storable 2.1x logic in Configure.pl. 23:19
use Storable; 23:21
check version... if it's 2.12 or lower, die.
if it's 2.18, continue. 23:22
if it's between 2.12 and 2.18, exclusive, warn.
bacek pmichaud: jfyi, lexical is bug #56512
Tene pmichaud: did you file a ticket about the exceptions bug I fixed? 23:23
23:23 Limbic_Region joined
pmichaud (storable) that would work for me also. 23:30
let me see what version of Storable I have on Kubuntu 23:31
2.15 23:33
I think I'd phrase the logic as: 23:36
1. if 2.12 or lower, die. (our minimum requirement)
2. if lower than 2.18 (but not lower than 2.12) then warn if we're on a platform for which there is some question. Let's wait to build the list of warnings until we get (new) bug reports indicating such. 23:38
for example, I can report that 2.15 that comes bundled with 32-bit kubuntu 8.04 works just fine (because it's what I've been using for the past 6+ months)
so getting a warning there seems to be a bit overkill. 23:39
cotto logic++
Limbic_Region wonders idly if this is something he should test for Win32/MinGW and Win32/Cygwin or if he should go back to sleep?
chromatic Limbic_Region, which version of Storable works to build PMCs on Cygwin? 23:42
Limbic_Region chromatic - can you ask the question a different way - IOW, what can I do to answer your question 23:43
chromatic Sure!
Two questions.
1) Can you build Parrot on Cygwin now?
2) Which version of Storable do you have installed?
Limbic_Region ah
will check in a few minutes 23:44
chromatic Thank you.
pmichaud Tene: I did not file a ticket about exceptions yet, or update DEPRECATED. Things around the house have been a little bit hectic this evening :-( 23:45
Tene: if you can do that, great; otherwise I'll get to it later tonight when everyone else goes to bed
(and when I go to update NEWS)
chromatic: Have an approximate time-of-day that you plan to be doing the release? 23:46
Tene pmichaud: I was just wondering if there was a ticket that I need to close.
pmichaud Tene: I don't think it ever made it to a ticket, but I can easily check.
chromatic Evening.
purl evening is when IRC is dead, TV is laden down with ads, and you're having my own dinner.
pmichaud chromatic: okay, excellent. It doesn't change my planning at all -- was just curious. 23:47
moritz++ # message to p6c about holding tickets until test added
Limbic_Region chromatic - if it builds, the answer will be 2.18 since I have 5.10.0 23:50
it is working on building now 23:51
Infinoid at what point in the parrot roadmap (if any) will the build dependency on Perl 5 be eliminated? 23:55
pmichaud I think that was "independence" -- i.e., January 2011
23:55 Zaba joined
Infinoid ah, ParrotRoadmap on the wiki has all of that stuff. thanks 23:56
Infinoid looks forward to the marshmallows
chromatic Hm, I was hoping for a Cygwin with a Storable somewhere around 2.14... but knowing it works with 2.18 on Cygwin is also good. 23:57