www.parrotcode.org/ | Last release: 0.7.1 "Manu Aloha"
Set by moderator on 17 September 2008.
00:09 AndyA joined 00:14 bennett joined
Tene pmichaud: what are the tasks left on hll branch? 00:26
00:46 TiMBuS joined 00:49 silug joined 01:09 gmansi joined 01:30 dmknopp left, notbenh joined
pmichaud Tene: is cardinal building like we expect? 01:58
I'm getting ready to check rakudo 02:00
02:04 Andy joined
pmichaud I'm going to try a test-merge into trunk to see what we get. 02:10
okay, I've never handled a merge where the branch had been synced with trunk... what's the proper way to merge back to trunk? 02:26
bennett git merge mybranch is the proper way :) 02:31
dalek r31805 | chromatic++ | trunk: 02:43
: [PMC] Fixed some width and signedness conversion warnings in OS PMC.
diff: www.parrotvm.org/svn/parrot/revision?rev=31805
r31806 | chromatic++ | trunk: 02:45
: [PMC] Fixed signedness conversion warning in ParrotIO PMC.
diff: www.parrotvm.org/svn/parrot/revision?rev=31806
r31807 | chromatic++ | trunk: 02:47
: [config] Removed a new GCC-compatible warning accidentally committed in r31805.
diff: www.parrotvm.org/svn/parrot/revision?rev=31807
02:53 ab5tract joined
pmichaud boy, doing intermediate trunk syncs to the branch sure makes this harder to merge back. 02:53
normally it's just an svn merge.
Tene pmichaud: yes, cardinal is building correctly now and passing tests. 03:00
pmichaud: want me to do the merge?
pmichaud okay. I think I have things almost merged back to trunk.
but I think I did it wrong.
Tene Aw. :(
pmichaud I guess the answer is to merge trunk into the branch again, then take a diff of the two trees and apply that to trunk. 03:01
Tene All I know about merging in svn is that I've heard stories about it being awful, but never any specifics.
pmichaud let me try it that way.
ab5tract Tene: does that mean you implemented hoshes? 03:04
Tene ab5tract: huh? I don't understand the question.
ab5tract sorry, i read "passing tests" as "passing all the tests" :) 03:05
Tene Ah.
dalek r31808 | chromatic++ | trunk: 03:07
: [PMC] Fixed type signedness warnings in ParrotRunningThread PMC.
: Improved TID assignment error checking in ParrotRunningThread PMC.
: Improved ParrotRunningThread PMC tests for the former.
diff: www.parrotvm.org/svn/parrot/revision?rev=31808
pmichaud okay r31809 is the hllmagic merged to trunk 03:14
dalek r31809 | pmichaud++ | hllmagic:
: Update hllmagic branch to trunk.
diff: www.parrotvm.org/svn/parrot/revision?rev=31809
pmichaud sorry, updated to trunk. Let's see if it builts.
*builds. 03:15
cotto is there a nice function to print the flags of a PMC? 03:19
03:33 selenamarie joined
selenamarie NotFound: ping re: postgres in parrot 03:33
purl I can't find re: in the DNS.
cotto ping purl 03:37
purl I can't find purl in the DNS.
cotto no can haz purl 03:38
pmichaud I'm afk for a while -- bbl to continue the merges. 03:40
dalek r31810 | pmichaud++ | hllmagic:
: Update some tests for hllmagic branch.
diff: www.parrotvm.org/svn/parrot/revision?rev=31810
r31811 | chromatic++ | trunk: 03:45
: [PMC] Fixed a memory leak in CPointer PMC.
diff: www.parrotvm.org/svn/parrot/revision?rev=31811
r31812 | chromatic++ | trunk: 03:55
: [src] Fixed a memory leak in Parrot_pcc_invoke_sub_from_sig_object(), where
: nothing freed a C string created from the signature object. I'm not completely
: convinced that this is correct, but Valgrind is happier now.
diff: www.parrotvm.org/svn/parrot/revision?rev=31812
03:56 davidfetter joined 04:05 MariachiElf joined, selenamarie joined
GeJ Heya all, dunno who's responsible for that, but #59340 could be closed. 04:07
as of r31811 `./parrot t/stm/runtime_4.pir` doesn't segfault anymore 04:08
thank you. 04:09
cotto GeJ, thanks for noticing. 04:13
done
wow. The bug report count has really gone up.
MariachiElf Does anyone know if there is any work being done to create QT or KDELibs bindings for Parrot? 04:14
cotto We've got some slackers. One of them is complaining.
GeJ is 't/stm/basic_mt.t' known to take a long time?
MariachiElf: I think there are some POC in the nci examples. SDL I'm sure, QT I think I remember seeing something like that. 04:16
cotto MariachiElf, the closest I know of are a couple very old files in examples/nci.
MariachiElf Wow - that's better than I was expecting :) 04:17
cotto They haven't been updated for >15000 revisions, so they're of questionable utility.
MariachiElf Don't suppose anyone knows of any work being done to create n "xTalk" language (as used in the products HyperCard, SuperCard, MetaCard if anyone is familiar with those) 04:18
cotto: Hehe - well my background is really more as a consumer of languages and libraries - not a designer/implementor so my skills at the moment are probably on par with their questionable utility ;) 04:19
cotto you gotta start somewhere 04:21
MariachiElf For those who aren't familiar, the xTalk family of languages are very much like a formalized natural language
"set x to to 10" "add y to x" "set the value of TextBox to 'This is a textbox'" 04:22
GeJ hum... `./parrot t/stm/basic_mt_4.pir` seems to hang
MariachiElf I've never seen a successful Open Source clone so, like you said, I figured I gotta start somewhere 04:23
cotto If you're looking for library bindings, examples/nci/Xlib.pir is the best current example 04:24
Of course, there isn't much if you're not planning on writing any bindings.
GeJ, Works For Me (tm)
(although your system seems to have a much lower pain threshold ;) ) 04:25
04:28 TiMBuS joined
GeJ cotto: sadly true. 04:30
cotto: ok, it seems I get stuck in the 'retry' loop. 04:34
04:55 masak joined
dalek r31813 | pmichaud++ | hllmagic: 04:59
: [pct]: Allow TOP to be looked up by namespace also.
diff: www.parrotvm.org/svn/parrot/revision?rev=31813
r31814 | pmichaud++ | hllmagic: 05:06
: [pct]: Update examples/past/ to new namespaces.
diff: www.parrotvm.org/svn/parrot/revision?rev=31814
05:09 selenamarie joined
ab5tract MariachiElf: sounds like it wouldn't be too rough an implementation 05:09
MariachiElf I hope not 05:10
The trick is actually in emulating the xCard behaviors
In those xCard products it's very similar to Flash
dalek r31815 | pmichaud++ | hllmagic: 05:11
: Update test to new namespace syntax.
diff: www.parrotvm.org/svn/parrot/revision?rev=31815
ab5tract have you taken a look at the squaak tutorial? 05:12
MariachiElf It's layered in nature, at the bottom of the layers is the application layer, then each application contains a series of "Stacks" (basically a top level desktop window), the stacks contain "Backgrounds" and "Cards" (backgrounds are shared groups of widgets on every Card, Cards are the main "windows" that the end user sees), the Cards contains "Groups" and "Controls" (Groups are a collection of Controls, Controls are what you 05:15
ab5tract i remember hypercard. very effective. first taste of programming at 10 or 11
was on hypercard
MariachiElf Much like Visual Basic, the "Code" goes directly on each object and messages and events pass down the layers through each Control, Group, Card, Background, Stack, Application 05:16
ab5tract: Yeah - ok - so you get what I'm after then
ab5tract the hardest part atm would be the graphical stuff
MariachiElf ab5tract: That's why I was asking about the KDELibs/QT Bindings 05:17
I hven't done the Squeak tutorial -- I jave
ab5tract gotcha. 05:18
MariachiElf err haven't even downloaded Parrot yet - just been following for a couple years and reading docs on the website
I don't if you're familiar or not, but I think Parrot could replace "Kross" for KDE
Kross has basically the same end goal in mind - scripting for applications that supports multiple languages 05:19
But like you said - there's that whole graphical nature to it
ab5tract i'd suggest cairo
especially if you're willing to write the bindings :)
MariachiElf Sorry - I'm not familiar -- I thought Cairo was an X System thing.... 05:20
05:20 Bzek joined
MariachiElf I liked QT/KDE for the cross platform higher level abstraction from the hardware/OS they offered 05:20
ab5tract cairo is higher level
at least, i believe so. _why uses it for his gooey ruby distro, shoes 05:21
and it is multiplatform
MariachiElf I just found the web page... 05:22
What about IPC and DBus events?
ab5tract couldn't tell you much. did you get my dcc chat request? 05:23
MariachiElf I had hoped that by targetting KDELibs -- which has all that abstracted/included in the underlying libraries -- I could create a really rich, yet easy, platform for non-coders to do cool stuff
Sorry -- missed it - got it now 05:24
dalek r31816 | pmichaud++ | hllmagic:
: [APL]: update to new namespaces in PCT
diff: www.parrotvm.org/svn/parrot/revision?rev=31816
r31817 | pmichaud++ | hllmagic: 05:28
: [punie]: Update to new namespace PCT.
diff: www.parrotvm.org/svn/parrot/revision?rev=31817
Tene I've been planning on working with tewk to get e17 bindings through ncigen. 05:29
GeJ Could people stop stealing my secret hidden projects for christ sake! 05:30
ab5tract lol
dalek r31818 | pmichaud++ | hllmagic:
: [pynie]: Update to new namespace PCT.
diff: www.parrotvm.org/svn/parrot/revision?rev=31818
ab5tract so whats good with the new pct branch? what kind of spells can we expect from hllmagic? 05:31
pmichaud it's basically a refactoring so that PCT can support code with .HLL directives 05:33
ab5tract what consitutes an .HLL directive exactly? 05:35
pmichaud it allows multiple languages to co-exist in a single parrot execution. Each HLL can also specify how Parrot native types map to HLL specific types
ab5tract ohhh. okay. mapping HLL types to parrot types is awesome 05:37
and multiple languages co-existing in a single parrot execution, well, that's the reason parrot rules. 05:39
pmichaud unfortunately I don't know enough about pipp's setup to be able to update it in the hllmagic branch :-|
I can get close, but still get test failures :-( 05:40
cotto pmichaud, what's broken in pipp? 05:49
(I probably won't be too unless it's PMC-related, but barney is usually around later and would probably be able to help.) 05:50
s/too/too helpful/ 05:51
06:26 uniejo joined
cotto This is fun. 06:30
p['key'] and p.'key'() seem to be stepping on eachother in my phparray code
dalek r31819 | cotto++ | trunk: 06:44
: [codingstd] fix function call codingstd nit
diff: www.parrotvm.org/svn/parrot/revision?rev=31819
06:47 selenamarie joined 06:48 Andy joined
dalek r31820 | cotto++ | trunk: 06:48
: [pipp] make iteration and next/prev/etc METHODS play nice
diff: www.parrotvm.org/svn/parrot/revision?rev=31820
r31821 | fperrad++ | trunk: 06:52
: [markdown]
: - fix multi-line paragraph
diff: www.parrotvm.org/svn/parrot/revision?rev=31821
r31822 | moritz++ | trunk: 06:55
: [cage] set svn props on t/pmc/{callsignature,cpointer}.t
diff: www.parrotvm.org/svn/parrot/revision?rev=31822
06:58 iblechbot joined
cotto moritz++ for catching that 06:59
moritz (make test)++ for catching that ;)
06:59 Andy joined
dalek r31823 | moritz++ | trunk: 07:04
: [cage] also set svn:mime-type
diff: www.parrotvm.org/svn/parrot/revision?rev=31823
Tene Trying to compile pipp, and I get: 07:21
/usr/bin/ld: /home/sweeks/src/parrot/languages/pipp/src/pipp_hash.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
07:23 viklund joined 07:38 TiMBuS joined
dalek r31824 | tene++ | hllmagic: 07:39
: [lolcode]: NameSpace updates
diff: www.parrotvm.org/svn/parrot/revision?rev=31824
moritz there's a not-fully-upper-case name in LOLCODE?
moritz is a bit disappointed
cotto Tene, what happens if you add @cc_shared@ to line 27 of languages/pipp/config/makefiles/root.in and try again? 07:40
Tene no difference
nopaste "tene" at 166.70.38.237 pasted "pipp make failure for cotto" (6 lines) at nopaste.snit.ch/14257 07:41
Tene moritz: patches welcome
purl That's swahili for "Put up or shut up."
cotto odd 07:43
what does the gcc command that compiles pipp_hash.c look like?
(it's the first one if you touch src/pipp_hash.c 07:44
)
Tene isn't it in that nopaste?
nopaste "tene" at 166.70.38.237 pasted "pipp make failure for cotto" (8 lines) at nopaste.snit.ch/14258
cotto that's just linking all the objects
Tene there you go
... oh, that completed successfully
I didn't try make clean
cotto good to know 07:45
Tene++
Tene Is that because of x86_64? 07:46
cotto no idea 07:50
dalek r31825 | cotto++ | trunk: 07:51
: [pipp] fix build on x64(?), Tene++ for reporting the break
diff: www.parrotvm.org/svn/parrot/revision?rev=31825
cotto could you do a quick make clean && make test-pmc on that?
cotto crosses fingers 07:52
Tene looks good to me
cotto happy!
dalek r31826 | tene++ | hllmagic: 07:56
: [pipp]: Pass a few tests...
diff: www.parrotvm.org/svn/parrot/revision?rev=31826
08:03 cosimo joined
GeJ !seen allison 08:06
clunker3 allison was last seen on #parrot 1 day, 16 hours, 18 minutes and 26 seconds ago, saying: pmichaud: previously they snuck through by being invoked on a proxy Complex object stored within the subclass of Complex
08:34 bacek joined 09:30 kj joined 09:36 tomyan joined
nopaste "cotto" at 96.26.202.243 pasted "method clobbering with the PhpArray PMC" (21 lines) at nopaste.snit.ch/14259 09:40
cotto could someone look at that and tell me where to look to fix it? 09:41
it should be reproducible from latest trunk after running make pmc in languages/pipp 09:42
10:18 Bzek joined 10:37 Ontolog joined 10:57 particle joined 11:00 ruoso joined 11:18 Zaba_ joined 11:23 jonathan joined
jonathan hi all - just to say I'm still alive ;-) 11:26
moritz hi jonathan ;)
how's your trip so far?
jonathan Good.
Not as cold as feared.
ruoso jonathan, hi 11:30
moritz nice 11:31
jonathan hi ruoso
On pay by the megatbyte wifi. 10 megs don't last long...
ruoso I'm getting into implementing multi in SMOP...
jonathan Anyway, back in a copule of weeks, to Parrot and Rakudo....
ruoso: Ah, fun. :-)
ruoso rakudo: class A {}; class B is A {}; sub foo (A $a) { say 1 }; sub foo (B $a) {say 2 }; foo(A.new()); foo(B.new()) 11:32
purl i already had it that way, ruoso.
polyglotbot OUTPUT[1␤1␤]
jonathan That's very wrong.
I have a bunch of PIR tests for the PMC.
They passed.
I then integrated it into Rakudo. And...similar tests fail.
ruoso oh... so that's rakudo's bug only?
jonathan I didn't have time to debug yet. 11:33
Yeah, I must have screwed up something.
When I integrated it. Since the PIR sanity tests for this work out.
moritz there's also a ticket open for dispatch based on subset types
jonathan Right.
ruoso ok... so... my question is... is there an implicit preordering on that variants because B ~~ A?
jonathan Yes
You put the candidates into a DAG with arrows from narrower to less narrow candidates. 11:34
Then you do a topological sort, which gives the ordering.
moritz ... unless you get a Null PMC access in dispatch() ;-)
ruoso jonathan, ok then... 11:35
but
rakudo: class A {}; class B is A {}; sub foo (A $a, B $b) { say 1 }; sub foo (B $a, A $b) {say 2 }; foo(A.new(),B.new()) 11:36
polyglotbot OUTPUT[1␤]
jonathan Should be an error.
Ambiguous dispatch.
Something is *really* broken right now.
ruoso oh...
sorry...
purl It's okay, ruoso.
ruoso my fault
rakudo: class A {}; class B is A {}; multi foo (A $a, B $b) { say 1 }; multi foo (B $a, A $b) {say 2 }; foo(A.new(),B.new())
polyglotbot OUTPUT[1␤]
jonathan Well, mine, I did it wrong. ;-)
ruoso rakudo: class A {}; class B is A {}; multi foo (A $a) { say 1 }; multi foo (B $a) {say 2 }; foo(A.new()); foo(B.new()) 11:37
polyglotbot OUTPUT[1␤Ambiguous dispatch.␤current instr.: '_block11' pc 64 (EVAL_14:22)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 801 (src/PCT/HLLCompiler.pir:480)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1075 (src/PCT/HLLCompiler.pir:609)␤called from Sub
..'parrot;PCT::HLLCompiler;command_line' pc 1254 (src/PCT/HLLCompiler.pir:698)␤calle...
jonathan Yes.
that looks right at least
ruoso the last one?
purl i guess the last one is mine
ruoso shut up purl
purl ;-(
jonathan oh, no 11:38
The error message in the last one, soulda been for the one before!
moritz aye
ruoso jonathan, how did you solve the issue of having lexically scoped variants for a global multi? 11:40
jonathan I currently didn't...I'm waiting to see if Allison's MMD branch would provide something out of the box for that. 11:41
If it doesn't, then I'll work on it, and see if there can be something at Parrot level to help other languages with similar needs too. 11:42
ruoso hmm... is there anything (besides the code) that I could look about this branch?
moritz the branch is already merged ;) 11:43
jonathan Ah.
ruoso ops
jonathan ruoso: I haven't looked at the branch really yet. I'm on a month-long break from all things Parrot/Rakudo.
ruoso I see...
moritz docs/pdds/pdd27_multiple_dispatch.pod should describe it, never looked into it though 11:44
ruoso well... I should start to think about this same issue right now
jonathan Do mail me questions (jnthn@jnthn.net) if you wish - I will try to answer. But really will be back into this in a couple of weeks.
ruoso moritz, that doesn't address the lexical issue
jonathan OH NOES! I'm onto my last few paid for kilobytes of wifi....gotta go 11:45
Back later perhaps...with some more megs!
ruoso heh....
jonathan In Soviet Russia, the wifi costs YOU....
moritz have fun ;) 11:46
ruoso sends a huge flood on a pvt to jonathan right now!
jonathan :-P
If I'm not back later today, take care all - looking forward to post-vacation hacking!
ruoso jonathan, I think I'll start a page in the smop wiki about it... I'll send you the link if I do it 11:47
12:25 Ontolog joined
dalek r31827 | allison++ | trunk: 12:39
: [cage] More removal of RE and IM macros of Complex PMC (still not complete).
diff: www.parrotvm.org/svn/parrot/revision?rev=31827
12:49 Andy joined 13:52 gryphon joined 13:56 selenamarie joined 13:57 Andy joined
ruoso www.perlfoundation.org/perl6/index....b_dispatch 14:06
my notes on multi dispatch
jonathan, ^
14:08 particle1 joined 14:13 iblechbot joined
dalek r31828 | allison++ | trunk: 14:48
: [cage] Remove the final remaining calls to RE and IM macros from Complex PMC.
diff: www.parrotvm.org/svn/parrot/revision?rev=31828
NotFound Hey, that was my task! 14:52
moritz I still get a failure in t/op/basic.t with this one 15:01
NotFound moritz: main, or a language? 15:04
moritz NotFound: main 15:05
NotFound moritz: 24 test ok for me. What fails fot you?
dalek r31829 | pmichaud++ | trunk: 15:06
: [rakudo]: spectest-progress.csv update: 205 files, 4366 passing, 11 failing
diff: www.parrotvm.org/svn/parrot/revision?rev=31829
moritz # Failed test 'I-reg shl and PMC shl are consistent' 15:12
# at t/op/bitwise.t line 513.
./src/pmc/cpointer.pmc:96: failed assertion '*pmc_pointer'
NotFound moritz: that is not basic.t ;) 15:13
moritz oops
confusing output of concurrent harness
moritz blames the software
NotFound Ups, skipped for me, I don't have bigint in this machine. 15:15
15:15 Theory joined
NotFound Starting up the portable 15:15
By the way, that test, and I think several others, has the incorrect assumption that a byte is always 8 bits 15:18
15:20 ab5tract joined 15:25 mj41 joined
TimToady somewhere we've documented that we mean octet when we say byte. :) 15:26
NotFound TimToady: if we mean octet we can't use the sizeof result 15:30
ruoso always thought 'byte' had 8 bits regardless of platform... 15:31
TimToady except on all modern architectures
ruoso don't we use 'int' to name that? 15:32
NotFound ruoso: that depends of the definition of 'byte' you use. In this context, standard C one is the way.
TimToady octet functions primarily as a european shibboleth :)
NotFound An standard C says a byte is a thing of the size of a char. 15:33
TimToady: and Internet RFCs
moritz so on which platforms is byte != octet? 15:34
NotFound moritz: when char is bigger than 8 bits.
moritz NotFound: on which platforms?
NotFound moritz: none I worked on.
ruoso jvm?
purl it has been said that jvm is a stack opcode or a bit crippled
ruoso hides
NotFound But I also never used Mac OS, and I don't say it does no exist ;) 15:35
moritz if we don't have a platform where we can test such a distinction the we don't need to make it
TimToady as far as I know, parrot probably won't even fit onto any old machine where a byte is larger than 8 bits...
(or smaller than)
NotFound TimToady: maybe, but I think that if we make that assumption we must document it. 15:36
ruoso even if the JVM has a char of 16 bits, I'm pretty sure it has a size "byte" that is 8bit
TimToady a lot of old machines had 6-bit bytes, but you're gonna hav trouble with ASCII there anyway
as I said, we documented it somewhere... :)
I just forget where...
NotFound TimToady: don't worry, is not an urgent point 15:37
TimToady I'm basically making a cultural argument here
if most people are using byte to mean octet, you can't really make it mean what you want anyway 15:38
people who coin words often run into this problem
the word ends up meaning something else other than the intended meaning
and all words drift, and can't be put back in any case 15:39
moritz Knuth uses byte != octet in taocp
NotFound TimToady: but we are programming in C, not writing for the general public.
TimToady we are the general public I'm speaking of
most of us use byte == octet
15:40 cjfields joined
TimToady and it will take more education than people will stomach to get them to stop using "byte" that way :) 15:40
NotFound TimToady: In that thing I don't care how the people talk, just how correct the code is. 15:41
TimToady so basically we'll invent a retronym for non-8-bit bytes if we *ever* need it, which is not likely in the near term 15:42
ruoso #define octet char
cjfields moritz: ping
moritz cjfields: pong 15:43
cjfields perl6: say "hello".trans(/(l)/ => { say $_[0]; my $x = $_[0].ord; chr(--$x); });
polyglotbot OUTPUT[l␤l␤hekko␤]
cjfields that works, but:
TimToady you can't make "telephone" == "dial telephone" even though that's what it used to mean
cjfields perl6: say "hello".trans(/(l)/ => { say $_[0]; my $x = $_[0].ord; $x; });
NotFound ruoso: redefining reserved keywords is undefined behavior ;)
polyglotbot OUTPUT[l␤0␤he10848o␤]
TimToady and since "byte" == "octet" culturally, it tends to turn "octet" into a shibboleth 15:44
cjfields I think ord is doing something funky to Match objects once ord is called.
moritz cjfields: maybe that's because one version enlarges the string?
cjfields No, the Match is changed prior to passing to the Closure 15:45
purl okay, cjfields.
cjfields purl, the Match
purl the match is changed prior to passing to the Closure
cjfields purl, forget purl, the Match 15:46
purl cjfields, I didn't have anything matching purl, the match
cjfields purl, forget the Match
purl cjfields: I forgot match
moritz purl, forget the match
purl moritz, I didn't have anything matching match
cjfields There's this one:
perl6: say "hello".trans(/(h)/ => { say $_[0]; my $x = $_[0].ord; $x; }, /(l)/ => { say $_[0]; my $x = $_[0].ord; $x; });
polyglotbot OUTPUT[h␤4␤e␤104e52101o␤]
cjfields perl6: say "hello".trans(/(l)/ => { say $_[0]; my $x = $_[0].ord; $x; },/(h)/ => { say $_[0]; my $x = $_[0].ord; $x; }); 15:47
polyglotbot OUTPUT[h␤l␤l␤104e108108o␤]
cjfields ???
moritz cjfields: maybe it's an issue with lexicals being re-used 15:48
NotFound Well, I will not use the byte word anymore in relation to this point, just dicuss the assumption that CHAR_BIT == 8
cjfields moritz: that's what I'm thinking. 15:49
NotFound I mean, the word 'byte' ;) 15:50
moritz cjfields: maybe the "for-loop and recursion interact badly"-ticket is related to that one
NotFound 'word' is an even more confusing word.
cjfields The odd thing is this seems to be specific to 'ord'
moritz NotFound: not more confusing than 'length' ;)
cjfields looking 15:51
NotFound moritz: don't even talk about is_equal returning 0 for true X-)
15:51 jhorwitz joined, sjansen joined
NotFound my @todo; 15:57
@todo = ( todo => 'broken with JIT (RT #43245)' )
if $ENV{TEST_PROG_ARGS} =~ /-j/;
Use of uninitialized value in pattern match (m//) at t/op/bitwise.t line 510.
This seems to be reason to skip the test
Somone changed recently t/op/bitwise.t ? 15:58
Mmm... no, the test is no skipped, the message just add noise. 16:03
moritz: the test pass for me on linux i386 16:06
cpointer.pmc is inconsistent in this aspect: it assigns value without checking for NULL, but in mark it asserts that is not null. 16:11
pmichaud cjfields: is .trans perhaps trying to clone either the regex or the sub? 16:15
s/sub/closure/
i.e., when it's processing the argument lists, or calling !transtable ?
cjfields I don't think so
Tene merges trunk into hll branch. 16:16
cjfields The multi which handles regexes/closures currently just pushes everything onto a \\RPA 16:17
pmichaud yeah, that seems weird to me -- why does it need to create an RPA? 16:18
cjfields we need to handle both ['foo', 'bar'] => ['a','b'] and 'foo' => 'a', 'bar' => 'b'. 16:19
I found it easier to match up key/value pairs doing it this way (particularly when interpolating strings) 16:20
pmichaud ....trans computes all of the "hits" prior to doing any substitutions? 16:23
cjfields actually, with 'foo' => 'a', 'bar' => 'b', the strings would be interpolated to map 'f' => 'a', 'o' => 'a', etc.
yes
pmichaud when does it recompute them?
i.e., in 'hello'.trans(/(l)/ => ...) when does it figure out that the second 'l' has moved? 16:24
cjfields There is a loop which iterates through the regex (regex_loop) 16:25
pmichaud that's the one I'm looking at
it seems to go through all of the regexes before any substitutions take place
cjfields yes. 16:26
moritz it has to, because the longest match wins
pmichaud okay, I'm confused
no, I mean it's doing it for all positions
moritz oh.
pmichaud i.e., in 'hello', it's finding a match at positions 2 and 3
cjfields right, because it is matching a single 'l' 16:27
pmichaud but after doing the first translation, i.e., converting 'hello' into 'he108lo' ---- I don't see where we figure out that the second match is now at position 5
cjfields it matches to the original string, not the replacement
pmichaud and so the second match ends up still being at position 3, and thus we call the closure on the '0' instead of the 'l'
ohhhhhhhhhhh 16:28
cjfields ahh, the string is being modified in the Match
pmichaud correct.
there's a problem there in that modifying tmps has the effect of modifying self. 16:29
cjfields It doesn't seem to (tmps is a string so self is copied to tmps)
pmichaud it's not a copy. 16:30
cjfields I think we test for modifying the original string
16:31 particle joined
moritz not in all tests 16:31
not in the ones that involve both closure and regex
cjfields perl6: my $str = 'hello'; say $str.trans(/l/ => {$_[0].ord}); say $str; 16:32
polyglotbot OUTPUT[Use of uninitialized value␤Cannot get character of empty string␤current instr.: 'parrot;Any;ord' pc 12153 (src/gen_builtins.pir:7503)␤called from Sub '_block20' pc 346 (EVAL_11:128)␤called from Sub 'parrot;Any;trans' pc 11904 (src/gen_builtins.pir:7368)␤called from Sub '_block11' pc 61 16:33
..(EVAL_11:23)␤called from Sub 'parrot;PCT::HLLCompiler...
pmichaud okay, here's the issue
currently, .trans is computing the positions of all of the matches _prior_ to doing any substitutions. 16:34
I think that's wrong.
cjfields okay
so how do we check for LTM?
moritz pmichaud: I think it's unusual, but why is wrong?
pmichaud I'm not referring to ltm
I'm referring through "all indexes in the target string" 16:35
perl6: my $str = 'hello'; say $str.trans('l' => '123'); 16:36
polyglotbot OUTPUT[he11o␤]
pmichaud ...what did I do wrong there?
oh, I see.
yes.
perl6: my $str = 'hello'; say $str.trans('l' => {123} );
polyglotbot OUTPUT[he123123o␤]
cjfields perl6: my $str = 'hello'; say $str.trans(/l/ => {123} ); 16:37
polyglotbot OUTPUT[he123123o␤]
cjfields should it match every position if the key is a regex (ala global)? 16:38
pmichaud okay, I see the problem now. Yes, it's the same lexicals problem as the recursion one.
i.e., it's not a problem with .trans 16:41
I'll see about working on lexicals on the plane(s) this weekend. 16:42
(assuming I have my talks ready)
tene: still merging trunk into hll ? 16:43
Tene Oh, I finished that, I was just cleaning up something else and running some tests before committing.
I'll commit now.
pmichaud afaict everything important is working in the branch except maybe pipp 16:44
does that sound right?
Tene I think so. I fixed lolcode last night, and started to fix pipp
pmichaud once we have pipp up-to-date, I think we should merge hllmagic back to trunk 16:45
Tene I agree.
pmichaud then we'll start a fresh branch for actually adding .HLL stuff into cardinal, perl6, or whatever.
dalek r31830 | tene++ | hllmagic: 16:46
: Merge trunk into branch.
diff: www.parrotvm.org/svn/parrot/revision?rev=31830
Tene lua had some issues, iirc 16:48
pmichaud okay, we should see if we can fix that, also.
afaict the core p6object, pge, and pct libraries are all pretty much as they need to be for now. 16:49
Tene Make sure to make a big announcement on the appropriate list.
pmichaud okay, wI'll do that when I get back from lunch. 16:50
Tene fixing namespace issues in lua...
dalek r31831 | tene++ | hllmagic: 17:04
: [lua]
: * Start of NS updates
: * Passing some tests
diff: www.parrotvm.org/svn/parrot/revision?rev=31831
17:12 mberends joined
cjfields pmichaud: sorry had to step away 17:14
Tene That luabytecode.pir update would have been horrible if I didn't have a competent editor. 17:15
dalek r31832 | tene++ | hllmagic:
: [lua]: More NS and P6object updates
diff: www.parrotvm.org/svn/parrot/revision?rev=31832
17:18 apeiron joined 17:29 raiph joined
dalek r31833 | tene++ | hllmagic: 17:30
: [lua]: More NS updates, more tests passing
diff: www.parrotvm.org/svn/parrot/revision?rev=31833
17:31 jan joined, chromatic joined
cjfields moritz: found a workaround for .trans 17:34
nopaste "cjfields" at 128.174.127.121 pasted ".trans patch" (13 lines) at nopaste.snit.ch/14261 17:35
cjfields reassigning seems to work and passes tests 17:36
dalek r31834 | tene++ | hllmagic: 17:37
: [lua]: Minor NS updates, no new test passes.
diff: www.parrotvm.org/svn/parrot/revision?rev=31834
cjfields afk
17:56 cjfields left 18:00 pyrimidine joined 18:03 raiph left
dalek r31835 | moritz++ | trunk: 18:06
: [rakudo] workaround for RT #59730 by cjfields++ (Str.trans with closures)
diff: www.parrotvm.org/svn/parrot/revision?rev=31835
18:06 AndyA joined
pyrimidine thx moritz++ 18:07
18:10 cjfields joined
cjfields stupid colloquy (messing up my nicks) 18:10
moritz I'm happy *I* didn't mess them up ;) 18:11
cjfields ;)
18:12 Zaba joined
dalek r31836 | chromatic++ | trunk: 18:31
: [src] Tidied some of the context handling code. Added documentation to
: src/gc/register.c. No functional changes.
diff: www.parrotvm.org/svn/parrot/revision?rev=31836
18:37 davidfetter joined
cjfields perl6: say 'hello'.trans(/l/ => {$_[0].ord}) 18:38
polyglotbot OUTPUT[Use of uninitialized value␤Cannot get character of empty string␤current instr.: 'parrot;Any;ord' pc 12156 (src/gen_builtins.pir:7504)␤called from Sub '_block18' pc 306 (EVAL_12:116)␤called from Sub 'parrot;Any;trans' pc 11907 (src/gen_builtins.pir:7369)␤called from Sub '_block11' pc 40
..(EVAL_12:16)␤called from Sub 'parrot;PCT::HLLCompiler...
cjfields perl6: say 'hello'.trans(/(l)/ => {$_[0].ord})
polyglotbot OUTPUT[he108108o␤]
cjfields yay!
moritz indeed
cjfields Now we just need to find other ways of breaking it ;) 18:39
moritz that's masak's job 18:40
summon masak
no purl?
cjfields nopaste?
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/
clunker3 pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/
cjfields purl's sulking 18:41
confound $pipe->reader->exclude_file('initialdata.yaml'); 18:43
oops
☃
dalek r31837 | julianalbo++ | trunk: 18:59
: implement sysinfo OS_VERSION and OS_VERSION_NUMBER when sys/utsname.h is available
diff: www.parrotvm.org/svn/parrot/revision?rev=31837
19:07 gryphon joined
pmichaud okay, what to work on now? hllmagic? lexicals? rakudo namespaces? 19:10
NotFound pmichaud: make me a sandwich 19:11
jhorwitz interpolated namespaces! 19:12
jhorwitz sees beer in pmichaud's future...
pmichaud I'd feel better about namespaces if hllmagic were in trunk. Still, I might be able to get started on that. 19:13
that would be good to have for this weekend, yes.
maybe I should work on my keynote address for Saturday. 19:14
jhorwitz you're doing the keynote?
pmichaud the other keynote apparently can't make it, so I'm the backup. :-)
NotFound Can you tell me if what I've commited gives the result that perl6 $*OSVER needs?
jhorwitz LOL i guess i'll try to make then. ;-)
moritz NotFound: it says #1 SMP Wed Sep 10 09:39:37 CEST 2008 19:15
pmichaud I can't decide if I want to put lolcode into the keynote at all or leave it out. :-|
NotFound moritz: I know
But I don't know if this what perl6 wants.
pmichaud I don't think Perl 6 has a specific "this is what I want"
at least, not yet.
NotFound Well, at least if it is similar to what perl 5 does. 19:16
pmichaud that's a good starting point, if nothing else.
Tene pmichaud: I vote for loop refactor for control exceptions. 19:27
cotto I'm running into a very odd bug with my PhpArray PMC: nopaste.snit.ch/14259 19:38
when I run a METHOD before storing a keyed value with the same name, all is well
when I try to store a value keyed by a string with the same name as a method, then try to run the method, Parrot can't find the method 19:40
I couldn't repro by doing the same thing to OrderedHash, but I don't know how this could be a bug with my code 19:41
I'd appreciate a pointer on where to look to fix this bug.
dalek r31838 | chromatic++ | trunk:
: [PMC] Fixed a segfault when cloning BigInt PMCs. This PMC is messy anyway.
diff: www.parrotvm.org/svn/parrot/revision?rev=31838
NotFound cotto: I had a problem like that when writing a test for smoething some weeks ago, don't remember well, and forget to fill a ticket.
cotto hmmm. 19:42
I wonder if it's a dynpmc thing then.
NotFound cotto: I think it can be a imcc thing.
nopaste "NotFound" at 213.96.228.50 pasted "disassemble of cotto example" (7 lines) at nopaste.snit.ch/14262 19:49
NotFound The P0[?] thing looks bad 19:50
nopaste "cotto" at 96.26.202.243 pasted "disassembly of working (first) vs broken (second) method_clobber.pir" (33 lines) at nopaste.snit.ch/14263 19:57
cotto It seems to appear in both disassemblies 19:58
dalek r31839 | chromatic++ | trunk: 20:01
: [PMC] Removed signedness and conversion warnings from Float and Scalar PMCs.
diff: www.parrotvm.org/svn/parrot/revision?rev=31839
NotFound cotto: and tracing it shows correctly "key" in all cases. 20:03
I'm wondering if the [ ] usage transforms the string constant to a key 20:05
20:10 bacek joined
pmichaud back 20:11
Tene: (loop refactor) -- yeah, I want to do that one too. I'm still trying to figure out how I want to manage Perl 6 control blocks (more) 20:12
I'm warming to the idea of representing the various control block types in PAST::Block directly 20:13
dalek r31840 | chromatic++ | trunk: 20:16
: [PMC] Cleaned up conversion and signedness warnings in String and Sub PMCs.
diff: www.parrotvm.org/svn/parrot/revision?rev=31840
r31841 | chromatic++ | trunk: 20:21
: [PMC] Cleaned up signedness and conversion warnings in UnManagedStruct PMC.
diff: www.parrotvm.org/svn/parrot/revision?rev=31841
mberends pmichaud: trying Rakudo make spectest for my first time, it hangs in S16-filehandles/io_in_for_loops.t 1/37. Probably cannot create 'tempfile'. In which dir? Know this problem? 20:23
moritz I've heard of that before 20:25
which OS?
mberends moritz: debian sid amd64
dalek r31842 | chromatic++ | trunk: 20:33
: [src] Changed base parameter in int_to_str and uint_to_str to an unsigned int
: from a char, as the latter only potentially saves space but makes it awfully
: difficult to pass in a literal integer without giving conversion warnings. As
: base should never be negative, unsigned makes sense too.
diff: www.parrotvm.org/svn/parrot/revision?rev=31842
pmichaud mberends: make spectest or make spectest_regression ? 20:38
20:38 cjfields joined
mberends sorry, just make spectest 20:40
now trying make spectest_regression... 20:42
pmichaud I wonder if we should get "make spectest" to default to spectest_regression. That's twice in 24 hours that someone has made that substitution. 20:44
and then testing all becomes "make spectest_all" or "make spectest_full"
moritz we should, probably
mberends this n00b wasn't even aware of the distinction. just stumblin' aroun' 20:46
jhorwitz chromatic: ping
chromatic pong 20:47
pmichaud either that, or "make spectest" produces a message that says the targets to use for regression or all
jhorwitz getting this segfault again, though with slightly different conditions: ./parrot languages/perl6/perl6.pbc -e 'use Apache::Foo'
if Apache::Foo contains 'say "hi"', it segfaults
if just "1;", it's fine 20:48
20:48 apeiron joined
jhorwitz what's weird is that it works fine with both --gc-debug and -G 20:48
pmichaud -G bug!
chromatic Does mp6 use the line Parrot_set_flag(interp, PARROT_DESTROY_FLAG); ? 20:49
jhorwitz yes. though this isn't in mod_perl6
chromatic Hm, buffer overflow. 20:50
purl Better patch that, sonny.
jhorwitz Apache::Foo is just an arbitrary module name. :)
chromatic 0xb7d72c38 in ascii_compute_hash (interp_unused=0x804f040,
source_string=0xb7692294, seed=3793) at src/charset/ascii.c:769
769 hashval += *buffptr++;
jhorwitz yeah
after MUCH debugging just to familiarize myself, it looked like the string buffer was getting wiped out in 'require' in perl6/src/builtins/eval.pir 20:51
chromatic That shouldn't be. 20:52
jhorwitz so line 119 (inc_hash[name] = realfilename) would segfault cuz 'name' was junk
indeed. :) 20:53
chromatic Strange. 20:54
purl But true.
NotFound true 20:55
dalek r31843 | julianalbo++ | trunk:
: drop a const qualifier in Parrot_pcc_invoke_sub_from_sig_object that breaks c++ build
diff: www.parrotvm.org/svn/parrot/revision?rev=31843
jhorwitz i starting getting into the world of GC and COW, and that's when i knew i was in trouble.
chromatic GC and COW shouldn't have anything to do with this.
jhorwitz i figured i was getting off track
that's why you got pinged. :) 20:56
chromatic I wonder if @INC is full of anything useful.
jhorwitz if you set PERL6LIB... 20:57
chromatic I didnt.
moritz then just .
chromatic .
./Apache/Foo
Hi
Segmentation fault
purl (Core dumped)
20:58 cjfields joined
moritz was pretty suprised when he first ran mplayer -dumpstream $url and at the end it told him 'core dumped. ;-)' 20:58
mberends pmichaud, moritz: spectest_regression passes all io_in_for_loops, then hangs in S16-io/basic_open 1/9. File test-data looks fine. 21:01
pmichaud mberends: what platform? 21:02
chromatic Hm, it gets to the evalfiles method on the p6 compiler. Something in there causes the problem.
21:03 cjfields joined
jhorwitz yep, that's what i saw 21:03
mberends pmichaud: debian sid amd64. the t/spec directories are writeable. 21:04
chromatic Rakudo really needs to fix the "Class already registered" exception handler.
pmichaud ?
chromatic That exception gets thrown four or five times recursively in my backtrace.
pmichaud it might actually be in HLLCompiler 21:06
the only place I'm aware of that does that exception handling is when loading the grammar. but that should happen only once. 21:07
GeJ I think my box is not stm-happy.
I'm experciencing an infinite loop in t/stm/basic_mt_4.pir 21:09
nopaste "chromatic" at 63.105.17.30 pasted "Class Already Registered Recursive Fun (for pmichaud)" (207 lines) at nopaste.snit.ch/14264 21:10
pmichaud I don't suppose there's an easy way to find out what classes are already registered? 21:11
chromatic Hm, in parrot_hash_put, the key isn't a valid PMC.
pmichaud, not without writing a little bit of C code.
NotFound chromatic: Maybe an exception handler that takes more than one arg?
pmichaud I suppose I could put a debuggin statement into that exception and print it out then 21:12
chromatic: perhaps file as a ticket, if not done already?
chromatic The paste?
purl the paste is (see: nopaste) or like glue but a little safer to sniff. or nopaste.snit.ch:8001/ or scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste
pmichaud just the fact that it gets called multiple times. 21:13
so I don't forget to go look at it.
NotFound BTW, I've found an utility for the hcf opcode: put it in an exception handler to get a nice backtraceable dump.
pmichaud I'll stick the ticket on my shortlist
Infinoid warning: in a future revision, backtraces caused by "hcf" may spontaneously burst into flame. 21:15
NotFound no warning; 21:16
pmichaud technically, 'hcf' is a bug because it doesn't produce flames yet. 21:20
afk # helping kids with homework 21:21
NotFound Did we have an 'afk' opcode?
21:21 tewk joined
Infinoid that sounds like a great lolcode sleep function 21:31
moritz indeed 21:32
Infinoid of course, it's already specced: lolcode.com/contributions/sleep 21:33
NotFound I'd like a 'colors' instruction that exits. 21:39
In a channel I frequent, the color codes are forbidden, and sometimes when one ask how to disable coloring in his script nice people answer: /quit colors 21:40
For some values of 'nice' 21:41
21:44 Lorn joined 21:45 apeiron joined
Infinoid heh 21:46
21:58 chromatic joined, Limbic_Region joined 22:07 TiMBuS joined
GeJ !seen allison 22:32
clunker3 allison was last seen on #parrot 2 days, 6 hours, 44 minutes and 43 seconds ago, saying: pmichaud: previously they snuck through by being invoked on a proxy Complex object stored within the subclass of Complex
Limbic_Region !seen particle 22:36
clunker3 particle was last seen on #parrot 1 day, 4 hours and 19 seconds ago, saying: i'm checking out hllmagic now
Limbic_Region particle ping
23:00 tetragon joined 23:10 contingencyplan joined
chromatic jhorwitz, the best I can trace is something weird related to constant keys pointing to string registers. 23:44
Mostly I'm lost on the bowels of PBC generation from IMCC. 23:45
cotto chromatic, ping 23:47
chromatic pong 23:48
cotto Could you look at nopaste.snit.ch/14259 (note the comment) and tell me 1) if you think it's a bug in my code and 2) where in my code or Parrot I should look to fix it?
you'll have to run make pmc in languages/pipp, of course 23:49
chromatic Hm. 23:53
23:58 Andy joined
chromatic cotto, I think there may be an IMCC problem. 23:58
Look for what generates the message about the missing method. 23:59
Around that area, look at what kind of PMC/STRING gets passed in to find that method and what's different between the commented and uncommented form.
That's what I'd do.
cotto thanks
should be fin
s/i/u/