parrot.org/ - clean up those smolders for the release!
Set by moderator on 20 October 2008.
chromatic Yes, but what do I get? 00:00
Some sort of superhero costume?
cognominal or to remove yours iike was done during Copenhagen yapc auction 00:02
chromatic No one attending the conference wants that.
00:03 TonyC joined
cognominal well this hazing was not well received... 00:04
chromatic I was in the wrong seat with Ingy in Chicago this year. 00:05
00:10 AndyA joined
chromatic cotto, run that test case with -t. 00:14
Things go seriously weird.
90 set_args PC22 (3), P4, "foo", "foo" PC22=FixedIntegerArray=PMC(0x80f501c) P4=String=PMC(0x81d2edc Str:"Divide by zero")
95 find_sub_not_null P3, "is" P3=PMCNULL
98 get_results PC13
100 invokecc P3 P3=MultiSub=PMC(0x80e1e40)
268 get_params PC43 (3), P1, P3, S5 PC43=FixedIntegerArray=PMC(0x80e2000) P1=PMCNULL P3=PMCNULL S5="(null)"
273 find_global P2, PC28, "_test" P2=PMCNULL PC28=Key=PMC(0x80f4e5c)
277 set I0, 0 I0=-888
280 typeof S2, P3 S2="(null)" P3=(null)
The message PMC gets lost. 00:17
Tene parrot --trail-of-crumbs=1 --ball-of-twine=1 00:19
chromatic I wonder if the :multi declarations in Test::More are wrong, post-merge. 00:20
cotto so P4 should be in there somewhere? 00:22
chromatic It's hitting the is :multi() case. 00:25
That needs .param int have_desc :opt_flag 00:26
With that, I get:
268 get_params PC65 (4), P1, P3, S3, I0 PC65=FixedIntegerArray=PMC(0x80e1a6c) P1=PMCNULL P3=PMCNULL S3="(null)" I0=-888
274 find_global P2, PC28, "_test" P2=PMCNULL PC28=Key=PMC(0x80f4e5c)
278 set I1, 0 I1=-888
281 typeof S2, P3 S2="(null)" P3=(null)
Params definitely lost in the multi call somewhere.
I am running out of the house now though; no time to debug. 00:29
I hope that's useful though.
cotto better than where I started
00:52 dmknopp joined 01:23 Theory joined 02:39 Psyche^ joined 03:11 cotto joined
tewk How late does the summit go on sunday. I can get a direct delta flight but it leaves at 5:00pm sunday SJC 03:31
allison tewk: we have the room from 9am-5pm both days 03:48
tewk: but, I imagine we'll wrap up most of the interactive work by mid-afternoon sunday, and will be hacking, so if the 5pm flight works best for you, I'd take it 03:50
Tene Hmm. Idle project for me for the weekend: xlib tests in all of the HLLs. 04:23
GeJ What are the capabilities of Rakudo regarding file I/O? and networking? 04:41
Tene I think that IO works to some degree, but not very well. I don't remember networking working at all. 04:43
They both should get a lot nicer after the upcoming rework of parrot's IO.
Allison created a branch for it recently. 04:44
GeJ Thank you.
Tene Look around in the spectests... I'm pretty sure at least some IO spectests are passing. 04:45
GeJ That was my intent, just thought I should ask first if there was at least something to look for in the tests.
Tene Yes, I remember IO spectests passing. Not network, though. 04:46
04:58 petdance joined 06:12 jq joined 06:28 uniejo joined 06:37 khisanth_ joined 07:52 iblechbot joined 07:59 cosimo joined 08:26 Debolaz joined 08:41 jq joined, tomyan joined 08:45 barney joined 09:16 bacek joined 09:33 masak joined
cotto should typeof $S0, $P0 return "Class" when $P0 is a Class PMC? 09:49
or should it be the name of the class? The current behavior is "Class". 09:50
10:00 gaz joined
cotto karma mgrimes 10:14
purl mgrimes has karma of 1
cotto mgrimes++
dalek r32145 | cotto++ | trunk: 10:16
: [t] PIRify string and complex PMC tests
: patch courtesy Mark Grimes
diff: www.parrotvm.org/svn/parrot/revision?rev=32145
masak rakudo: my $a; $a[0] # how should this behave? 11:18
polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
masak aw.
11:40 AndyA joined
cognominal masak, I would expect that if $a[0] is in lhs it would autovivify an anonmous array and $a is the reference to that array 11:46
masak cognominal: gotcha.
cognominal just my tought
masak yes, that'd be the Perl 5 way.
cognominal nope
masak no?
it'd be the Perl 6 equivalent of the Perl 5 way? 11:47
cognominal in perl 5 you get an @a array
masak yes, but that's because of syntax differences, isn't it?
cognominal here you should et a reference to an anonymous array
yes
masak I think we're in violent agreement. 11:48
cognominal to be confirmed with higher authorities
masak sure
cognominal is trying a get rich quick with an iphone app. but that lazyness involves learning objc, xcode and all the iphone stuff 11:50
i hope someday Perl 6 will spare us the objc part
s/quick/quick scheme, a game,/
otherwise android will beat them if it is more open to dynamic languages 11:51
masak, btw, in null context or in lhs, all bets are off about your $a[0] 11:52
I would say autovivication but I don't know abouut the 0 slot. 11:53
masak cognominal: say I should have written 'say $a[0]' or something similar?
cognominal oops
masak s/say/so/
cognominal s/lhs/rhs/ 11:54
masak :)
aye.
cognominal null context being a special case of rhs
I suppose there is a way similar to perl 5 to differeniate a missing slot from an undef one 11:55
masak you could always ask... 11:57
cognominal thinking out loud is one way to ask. the proper way would to consult the synopses 12:01
s/to/be to/
masak cognominal: I mean, you could always do `$a[0] :exists` or the like 12:05
rakudo: { { $^m.$^a }.(&say,$^m) }.("OH HAI")
polyglotbot OUTPUT[OH HAI␤]
masak rakudo++
cognominal jonathan++ pmichaud++ 12:08
masak indeed.
cognominal this is beautiful. forcefu reboot& 12:10
12:14 cosimo joined 12:16 cognominal joined
Coke Tene: switch tcl over to rethrow yesterday (of course it doesn't do what I want it to do, but at lest it's less confusing now.) 12:32
masak rakudo: say $/[0] 12:33
polyglotbot OUTPUT[sh: ./parrot: No such file or directory␤]
masak cognominal: should that one also fill $/ with an empty array object?
Tene rakudo: say 'lol' 12:34
polyglotbot OUTPUT[sh: ./parrot: No such file or directory␤]
Tene Huh.
12:36 Lorn_ joined 12:37 Lorn joined
cognominal speaking of $/ , I would like an hash context so that %a = $/<foo> does what I expect 12:37
a hash, an hash? what is the correct english? 12:38
Tene "a hash"
cognominal in french, we have a rule about the "h aspiré" to decide 12:39
Coke "a vs. an" on words starting with h, you're always safe to go with a.
many view any use of 'an' as pretentious rather than well-spoken.
cognominal the sort of rules we learn as a child and that we have trouble to enoncate as adults... 12:40
thx
when I was with roommate with jonathan he proposed to correct my english but then it would always sidetrack the conversation 12:41
jonathan++ 12:42
next he wil teac me slovak
will teach...
Coke I should actually bother to become fluent in something other than english. (having dabbled in various degrees in spanish, latin, german, japanese, and bulgarian.) 12:47
"to" varying degrees. Not to imply I am degreed.
Coke concentrates on his english for a while. :P 12:48
cognominal before damian writes a wolapük module for Perl 6 12:51
masak "volapük" with a v 12:53
:)
the word means "world speak"
Coke Tene: applied a version of your patch to tcl. 13:03
tene++ 13:16
13:17 gryphon joined 13:39 jhorwitz joined 13:45 iblechbot joined 13:46 PacoLinux joined
Coke is tempted to (temporarily?) remove --pir from partcl. 13:58
13:58 kj joined 14:00 particle joined
Tene is tempted to port pheme to PCT 14:10
14:13 cosimo joined 14:14 johbar joined
particle then what will be using tge? 14:17
jhorwitz Tene: beer & mod_cardinal next week? :) 14:19
Tene jhorwitz: excellent plan
particle: I could port rakudo to it...
jhorwitz or cardinal and mod_beer... 14:20
particle can we get tge using nqp
davidfetter mmm...mod_rakudo :d
particle rather than pir...
Coke if you port pheme to pct, will that leave anything in core relying on tge?
14:21 duzy joined
davidfetter re: /topic, is that "the 1.0 release?" 14:22
Infinoid I think that was 0.8.0 from a few days ago
PerlJam davidfetter: no.
davidfetter k 14:23
PerlJam But it's good advice for any release :)
Coke apparently particle didn't follow the release instructions!
davidfetter PerlJam, good point :) 14:24
duzy hi, i'm write something called smart-make using pct, can i put that into the parrot/languages directory?
particle no, i realized yesterday that i didn't notify parrot-dev et al about the release
PerlJam duzy: you can in your local copy. Do you have a commit bit to the parrot repo?
masak particle: I haven't seen one single release email so far... 14:25
particle duzy: it doesn't sound like a language, by the name
Coke duzy: you can see partcl for an example of how something can live outside the core.
partcl?
purl it has been said that partcl is tcl on parrot or code.google.com/p/partcl
particle masak: no, i just sent perlmonks/perl.org announcements...
i'll fix that now...
jhorwitz hm, it looks like rakudo can't flatten arrays for passing to a sub right now...can it?
masak particle++
duzy no, currently i host it here code.google.com/p/smart-make
PerlJam particle: make is sort of a language 14:26
duzy yep, not really a language, something like make
Coke duzy: code.google.com/p/partcl/wiki/PartclSource
duzy but make is not that powerful as a language. 14:27
PerlJam Coke++ It's good that you're paving the way for others :)
Coke PerlJam: come here and let me smack you. =-)
particle duzy: in order to be part of parrot repo, i believe you'd need to assign copyright to Parrot Foundation and use Artistic License 2.0 14:29
Coke also, we're eventually kicking everyone _out_ of the repo eventually anyway. 14:30
no point in getting bundled now if you already have an external repo.
particle except things that ship with parrot
Coke particle: name one "real" language in languages/ that we're planning on shipping in 1.0?
particle like abc
PerlJam abc?
purl abc is a national chain. We had one on HHI. or always buy colorado! or Atlanta Bread Company or as easy as 1-2-3 or a bc compiler clone or a good demonstration of Parrot's compiler toolkit or Alcoholic Beverage Control
Coke abc is a tutorial language.
PerlJam What would make it "real" to you? :) 14:31
particle i don't know about punie
Coke it is not expected that you're going to get an abcsh.
particle ...unless you spend a year in a mexican prison. 14:32
duzy particle: i'm reading on the license...
PerlJam duzy: were I you, I'd follow Coke's example with partcl
duzy PerlJam: ok, I will think about it :) I should learn something from them first :) 14:33
Coke particle: I also think that if we're going to have a sample language... it should not be specially tied to the core, but able to be setup just like a "real" language. Which means (to me) that'd we lose the special config step, the semi-unified language harness... 14:35
basically making abc more like tcl. =-) 14:36
duzy: You basically just need the one file (Configure.pl), which is simple enough you can just copy, I think.
(with one minor change.) 14:37
duzy Coke: currently I simply place smart-make into parrot/languages and named as 'smart' shortly, makefiles are generated by mk_language_shell, with a little bit modification, I want to every thing as simple as possible, basicaly if I'm in parrot/languages, I hope that someone just typing "make" will generate the expecting result smart.pbc -- BTW, the example of partcl would be easy to follow :) 14:43
and that's a good example for something like smart-make :) 14:44
Coke excellent. 14:46
Coke removes -pir from partcl. 14:47
PerlJam Coke: I was about to disagree with your previous statement, but thinking about it a bit more, I think you're right.
Coke that almost never happens in this channel! woot! 14:48
perljam-- # must have issues! 14:49
PerlJam no way. I have an open mind.
pmichaud what does "semi-unified language harness" mean in this context?
Coke "cd languages && make test"
pmichaud oh, I agree that newly created languages (via mk_language_shell) don't belong there.
Coke which may or may not even work for abc at the moment.
pmichaud I'd be a little surprised if that's already the case (that mk_language_shell puts things into the unified harness) 14:50
Coke no, it specifically doesn't.
pmichaud I also agree that mk_language_shell's default should be for more of an out-of-repo language than an in-repo one.
i.e., more like tcl
Coke feel free to steal my Configure.pl file.
PerlJam hey, so far we're all in agreement. This is weird :) 14:51
pmichaud cotto: (typeof $S0, $P0) --- yes, when run on a Class PMC the expected result is 'Class'
kj particle: hi, is SF international close enough for the summit? 14:53
pmichaud I think SJC is closer
particle sfo is close enough to catch a <1h train
pmichaud kj: see code.google.com/events/visitors/
particle sjc is closer, but not good for intl flights
pmichaud correct.
particle kj: do you need a visa? 14:55
pmichaud I have a Mastercard. 14:56
:-P
kj I saw SJC is closer, but I'm not sure about the scale 14:58
flying to SF int. is cheaper I think
I'm flying from dublin
I have a mastercard, so should be fine.
particle dublin->sfo will be comfortable
kj "my flexible friend" as Mr Bean would say :-)
particle a travel visa.
purl a travel visa is at www.traveldocs.com/
kj no visa needed I think? 14:59
particle i don't know. irish citizen?
kj no dutch
we're great friends with the americans! :-)
particle you'd better check
:)
kj yeah will do
particle amsterdam.usconsulate.gov/visa_waiv...gram2.html 15:00
kj thanks for the link
< 90 days no visa, AFAICT 15:02
particle so it seems
kj would it be possible to get some kind of invitation letter?
particle yes, that can be arranged 15:03
kj I have experience at US immigration...
and it ain't fun
particle foreigners are criminals.
kj heheh
Tene Coke: c99 and lua at least are also using TGE 15:07
particle lua uses tge for an alternate backend, as does (did?) pipp 15:08
c99 doesn't work, which is why tewk didn't use it for ncigen 15:09
jhorwitz particle: i assume we're packing most of the agenda into saturday -- sunday is pretty much a wash for east coasters...
particle yaep
jhorwitz k
Tene My flight out on Sunday is at 5:30
pmichaud 9:10p here. 15:10
jhorwitz looks like the best is 12:55 -> 11:55 for me
particle update departures page if you would, pmichaud
jhorwitz: that stinks!
where's the connection? 15:11
purl the connection is read-only
jhorwitz PHX
pmichaud particle: already did
jhorwitz typical southwest flight time
davidfetter o/` by the time i get to arizona o/`
pmichaud American turned out to be cheaper for me than SWA this time.
jhorwitz you don't want to see the prices on other airlines... :)
particle www.farecast.com
davidfetter enserfed to star alliance
jhorwitz i can do SWA for under $300 15:12
Tene Now I just need to make sure that work doesn't try to book a flight for me on that weekend.
davidfetter then again, i'm dangerously close to clocking 200,000 miles this year
Tene I'll try adding several exclamation marks to my calendar entry...
jhorwitz wow, you're airline royalty. :)
davidfetter heh
well, they do put me in the short line now 15:13
pmichaud oooh, swa fare dropped since last time I looked. $306.50 round trip is lowest fare (but lousy flight times and connections) 15:14
I'm sticking with AA for this one (especially since I already booked tickets :-) 15:15
davidfetter "hi, my name's pmichaud, and i'm a parrot user."
jhorwitz is still in the denial phase 15:18
kj 512 euros, that's a pretty good deal for a transatlantic flight :-) 15:22
particle ~$800, not bad 15:23
convert 512 eur to usd
purl I don't know how to convert 512 eur to usd.
kj it's about 1.45 or so? 15:24
particle 512*1.27
purl 650.24
particle finance.yahoo.com/currency
kj only 1.27?? geez. I'm too late!
particle yep, the dollar has risen mightily as of late 15:26
davidfetter bummed because it rose *after* he got back from .it :P 15:28
Coke and we only had to destroy wall street to do it!
Coke wonders what is goign to happent o his state's budget this year. :|
kj well, it's still 3 weeks :-) 15:29
Coke wonders if there's any way to make partcl faster by precompiling to pbc. Coke doubts it. :| 15:31
particle hey, tene and tewk can hack together on the plane home 15:32
dalek r32146 | fperrad++ | trunk:
: [ecmascript]
: - fix hllmagic merge
diff: www.parrotvm.org/svn/parrot/revision?rev=32146
15:34 particle1 joined
tewk Or at least split the cab fair. 15:35
Coke updates the test script for partcl to report on parrot's version if possible, not just its revision.
tewk s/fair/fare/ 15:36
particle i might be able to take you there in the van, tewk
Coke particle is not the sort of person whose van I would jump in willy nilly. 15:37
jhorwitz flight purchased. 15:38
15:38 hercynium joined
tewk particle: that be great. 5:30 was as late as I could get with a direct flight, It will all work out I'm sure. 15:38
particle yep 15:39
jhorwitz should go to europe with his miles 15:41
davidfetter could get 2 coach rtw tickets with his...not for all those tuits :P 15:43
now*
Coke should get some thing that tracks miles. 15:44
15:50 peepsalot joined
jhorwitz kj: if flying to SFO, let me know when you get in. 15:55
kj jhorwitz: I'm flying on SFO, but will come in a few days earlier 16:02
davidfetter kj, when are you in the bay area? 16:03
kj flying on Monday 10 I think
davidfetter jhorwitz, you, too :)
kj so arriving 11th I think
didn't check the times
and leaving 19th
davidfetter likely in town over that interval 16:04
jhorwitz not much time: 11/14 & 11/15
particle don't tell me, rasmus will be in town and we'll miss him 16:05
barney particle: Pipp no longer uses TGE 16:08
particle ok, thanks. wasn't sure anymore
Infinoid plans to be racing in the SF bay the next 3 weekends
the shindig is 4 weeks from tomorrow, right? 16:09
davidfetter Infinoid, where are you?
Infinoid northeast CA... 3 hour drive from the bay
kj davidfetter: you live in that area?
particle 15-16 nov however you measure it
davidfetter west oakland in the house :)
davidfetter has a big warehouse with crash space in it
Infinoid warehouse in oaktown... that sounds shady :) 16:10
davidfetter i prefer "artistic"
Infinoid hehe
davidfetter as do my neighbors, a lot of them being visual artists
Infinoid nice. 16:11
davidfetter that reminds me. i should schedule and host an oakland.pm meeting
Infinoid lake tahoe has no active .pm, unfortunately 16:12
davidfetter start one :)
3 hours drive from lake tahoe to the bay area is high optimism ;)
Infinoid I suspect all the people who know perl here would fit on my couch, and still have room to put their feet up.
well, 3 hours to palo alto is unrealistic 16:13
but to richmond or berkeley its doable
davidfetter wonders whether they fixed up the 880 16:14
dalek r32147 | fperrad++ | trunk:
: [Lua]
: - fix TestLex (Cannot find TOP regex in Lua::TestLex)
diff: www.parrotvm.org/svn/parrot/revision?rev=32147
kj Infinoid: I'm 6"5. still room then?:-) 16:15
particle i *knew* you were a giant, as soon as you said "dutch"
Infinoid kj gets his own couch
kj ha ha
well, every time I go back to holland (living in ireland now), I'm amazed how many more people are taller than me 16:16
16:18 grim_fandango joined
kj afk #dinner 16:20
davidfetter bon appetit :)
cognominal what is the name of paint patterns that cause the car to vibrate, It saved my life driving by night near Tahoe, getting sleepy and the car starting getting out its path. 16:23
16:23 jq joined
davidfetter it's a road grading thing 16:23
cognominal, and please don't drive in that state :/ 16:24
Tene I personally call them the "ohshitwtf stripes"
davidfetter heh 16:25
cognominal I don't know in what state I was, was that California or Nevada? :) 16:26
davidfetter heh
Tene They've saved my live a few times too
particle cognominal: they're grooves cut into the pavement surface
davidfetter en.wikipedia.org/wiki/Rumble_strip 16:27
cognominal I am living in the Paris area, single without kids. so I can now do without car. 16:28
davidfetter living in the sf bay area, similar living situation, and also car-free
cognominal and when i got to get the DMV id, the examinator thought I was crazy. I went with my car a small Toyota with a stick gear. 16:30
16:30 Theory joined
allison cognomial: in the US they're called "rumble strips" 16:31
cognominal In France, first you hae lessons. the test with the car you got lessons with, And they fail you so you have to pay for more lessons.
particle allison: now that we have proper exception support, should we be modifying the core c code to use them? 16:32
davidfetter allison, do you recall offhand what other names they have? 16:33
allison particle: the core C code does use them. Or, do you mean have it use them more?
particle yes, i mean more.
pmichaud "audio tactile profiled markings"
allison particle: certainly. it's something to examine on a case-by-case basis. Some things really should just return an error value, other things would be better transitioned to exceptions 16:34
davidfetter: don't know, and googling for "rumble strip" doesn't give any alternate names (though it does reveal a UK band named "The Rumble Strips" so perhaps it's not only a US name) 16:35
davidfetter heh
davidfetter finds english a very confusing bunch of mutually unintelligible languages 16:36
particle allison: i think the upcoming io implementation can make use of exceptions inside the status object
allison davidfetter: yes, it's not a single language, as the name misleadingly implies 16:37
particle i'm mainly wondering about opcodes and exceptions vs return codes
allison particle: yes, definitely
particle: (on i/o status objects)
Infinoid davidfetter: I speak californiaeze
davidfetter learning californiaese 16:38
particle Infinoid: so you have no problem properly pronouncing "vallejo"
davidfetter i've only been here 11 years, tho
particle, that one's hilarious!
Infinoid heh. I race there yearly
davidfetter it's like they started out anglicizing it, then changed their minds
allison particle: well, can't really make a blanket statement about all opcodes, but we definitely need to review the opcodes and start systematically categorizing which should return error codes and which throw exceptions 16:39
cognominal rumble strip is translated in French par bande rugueuse which without context I would translate to rough hard-on
particle allison: yes, right, or providing a pragma or whatever. agreed.
davidfetter oy 16:40
cognominal no this is not #perl :)
allison particle: yes
particle i wonder, what if we had a pragma to do inplace math ops, rather than separate opcodes
Infinoid cognominal: they are helpful, huh?a
and very ... unsettling
cognominal I have enough time sinkers so I don't hang there. 16:41
particle or, just dropped inplace ops 16:42
add $P1, $P1, $P2 # inplace
pmichaud ....except that we just changed the meaning of add 16:43
so that this isn't the case
particle pmichaud: would you ever want "add $P1, $P1, $P2" with n_add (current semantics)? 16:44
pmichaud particle: I might -- why not? 16:45
more to the point, are you claiming that the 'add' opcode should check to see if the first two operands are the same register and perform an inplace if that's the case?
...and is there a way to know if two operands are the same register?
particle if there's an appropriate pragma defined, yes.
pmichaud personally I prefer: "add $P1, $P2" # inplace add 16:46
because then there's no ambiguity
particle nevermind, i'm living in the past 16:48
just checked ops.num/ops.skip and i'm smoking crack 16:49
grr, parrot's giving me a segfault as i try to run crow 16:50
./parrot tools/util/crow.pir --type=text
17:11 chromatic joined 17:36 Psyche^ joined
jhorwitz pmichaud: ping 17:55
18:09 diakopter joined
cotto pmichaud, thanks (typeof_class answer) 18:14
pmichaud jhorwitz: pong 18:22
jhorwitz pmichaud: passing slurpy arrays as parameters to subs -- easy/hard/harder than it looks? 18:23
pmichaud slurpy arrays? or flattened?
jhorwitz er, sorry
flattened 18:24
18:24 particle2 joined
jhorwitz e.g. foo(*@myarray) 18:24
pmichaud so, you want each element of the array to go to a different parameter in the sub?
jhorwitz yes. from the tests it looks like it's not yet implemented
pmichaud it's not yet implemented, correct.
jhorwitz is it just a matter of tuits or be there dragons here? 18:25
chromatic thinks the new MMD doesn't autobox primitives into PMCs
pmichaud might not be too difficult -- I just need to see how it parses
it would be foo(|@myarray) 18:27
jhorwitz you know, i saw that but wasn't entirely certain
pmichaud there be dragons here 18:28
|@myarray produces a capture, which then has to be spliced into the argument list
which means this is probably a part of sub dispatch
jhorwitz doh 18:29
if i need it ya know there's gonna be dragons somewhere. ;-) 18:30
pmichaud a short-term fix might be to have subroutine calls syntactically recognize a capture and do the appropriate flattening
PerlJam jhorwitz: I get the feeling that there's naught but dragons left in most places :) 18:32
jhorwitz pmichaud: it's not a big blocker for me -- i need it for implementing method handlers in mod_perl6, which can wait.
pmichaud okay
18:33 stockwellb joined
jhorwitz PerlJam: i need a +2 sword of parsing just to get around in here... 18:34
stockwellb I've got PIR question. I'm trying to iterate over the ENV PMC, but it doesn't seem to behave like a hash. How do you iterate over it?
jhorwitz you just opened a can of dragons... 18:35
PerlJam stockwellb: how does it not behave like a hash?
particle stockwellb: see t/pmc/env.t for examples
pmichaud Env is not a Hash
jhorwitz there's a ticket open for that very problem
stockwellb yet e['USER'] returns a user name. That made me think hash. 18:36
PerlJam particle: btw, excellent name choice for the 0.8 release :)
pmichaud it supports the keyed lookup interface, but it's not really a Hash
particle thanks, PerlJam. that's the first feedback i've gotten on it :)
pmichaud oh, I agree -- excellent name.
stockwellb so no way to iterate over the keys to see what they are?
PerlJam iterators worked on Envs last time I tried it. 18:37
pmichaud particle is correct, see t/pmc/env.t for an example of iterating over an Env
stockwellb great thanks!
particle tests++
18:39 Ivatar joined
stockwellb It does work like a hash!! I was shifting the key into a pmc vice string. 18:41
I should have thought about browsing the tests earlier. All in all, they make a great tutorial. 18:42
chromatic Some do. Some are inscrutable. 18:43
cotto +1 18:44
purl 1
stockwellb I'm sure I'll be able to identify the inscrutables by my lack of ability to understand them.
chromatic I worry more about my lack of ability to understand WHY they are. 18:45
stockwellb back to the squaak tutorial. Thanks gents. 18:48
Coke acts most unprofessional at work today. Damnit. 18:51
chromatic "acts"? 18:52
18:55 particle1 joined
dalek r32148 | allison++ | trunk: 18:57
: [tge] Modify TGE to accept either '::' or ';' as classname delimiter anywhere
: it parses classname strings.
diff: www.parrotvm.org/svn/parrot/revision?rev=32148
19:01 jsut|work joined
dalek r32149 | cotto++ | trunk: 19:06
: [t] PIRify objects.t
: patch courtesy of Mark Grimes
diff: www.parrotvm.org/svn/parrot/revision?rev=32149
r32150 | allison++ | trunk: 19:08
: [tge] Change TGE grammar tests to use ';' classname delimiter. Either ';' or
: '::' works, but ';' is Parrot-standard.
diff: www.parrotvm.org/svn/parrot/revision?rev=32150
19:11 particle joined 19:40 jan joined
Coke Program received signal EXC_BAD_ACCESS, Could not access memory. 19:47
Reason: KERN_INVALID_ADDRESS at address: 0x15d7bdbc
0x01163a18 in ascii_compute_hash (interp_unused=0x606bd0, source_string=0x649f3b0, seed=3793) at src/charset/ascii.c:769
769 hashval += *buffptr++;
chromatic Walked off the buffer, hmm? 19:48
Coke Iunno.
cotto chromatic, any thoughts on the hashval caching bug I found a couple weeks ago? 19:50
#59810 19:51
chromatic Hm, I wonder if we could cheat.
Coke (this failure is blocking at least one tcl spec test from completing atm.) 19:52
chromatic Instead of using the seed as the starting point for the string hash, could we hash strings without the initial seed, cache that, and then work in the hash seed for the particular hash when finding the bucket? 19:53
cotto rereads 19:54
so, calculate the hash with a seed of 0 (or something hard-coded) and cache it, then use the seed as a mask when finding a bucket? 19:56
chromatic A mask, or an additional value to mix into the hash, or whatever. 19:57
cotto why use the seed at all then? 20:00
chromatic Fewer collisions? 20:01
cotto I don't see how that'd result in fewer collisions (but I could be missing something). 20:04
chromatic Me neither.
Coke attempts to run a tcl spec test with no GC. 20:05
cotto It's a problem of having two inputs and one output. I'd prefer to use my patch and just accept occasional flipping of the cached hashval. 20:10
chromatic We don't have many statistics on collision or distribution across buckets. Maybe we should profile that some. 20:12
I don't really want to add more size to the STRING structure to hold more cached values though.
Coke Last I check, tcl spends most of it's time in hash bucket checks. 20:15
chromatic: that failure I get seems to be GC related.
if I run the incredibly large tcl file with -G, it gets past that. (and then kills parrot with an out of memory panic shortly after.) 20:16
chromatic Doesn't surprise me.
Maybe one of your PMCs leak.
20:19 gryphon joined
Coke should we be letting users write their own C code? :P 20:23
moritz should we forbid users to write C code? ;) 20:24
Coke it's clearly not safe.
Tene It's really rewarding to see things I did in the parrot release notes.
Coke does not have the energy to track down this GC issue. :| 20:25
chromatic I'd trace it down if you gave me some reasonably short PIR. 20:28
Coke reasonably short PIR doesn't usually coincide with "finding GC bugs." 20:29
www.parrot.org/wiki/parrot :: is it me, or is the last list of bullets got some junk rendering undering the first few letters? 20:32
"under"
PerlJam Looks fine to me.
moritz Coke: same here 20:33
(ie b0rked)
I'll try to fix some HTML error, maybe then it goes away.
Coke ISTR it's like that in mozilla and safari.
moritz didn't help. 20:35
PerlJam oh, bah ... I had accidently highlighted the bullet points. Unhighlighted, I can see the garbage 20:37
moritz I've seen rendering issues like that before. They were always mysterious to me
PerlJam They look like a second set of bullet points to me.
(outline rather than solid)
er, bullets, not bullet points
moritz li.leaf has list-style-image:url(../../misc/menu-leaf.png); 20:39
und ul li.leaf has background:transparent url(images/menu-leaf.gif) no-repeat scroll 1px 0.35em; 20:40
these two seem to interfere (at least from my humble understanding) 20:41
chromatic Coke, a couple of opcodes force GC runs, and there's always the gcdebug runcore (given sufficiently short PIR). 20:51
20:51 jsut|work joined
Coke chromatic: when I'm starting out with several 1000 lines of tcl, getting that sufficiently short PIR is not necessarily trivial. 20:53
Coke iz trying, though. 20:54
chromatic Hm, with a register-based architecture, you can almost use the register allocator to identify parallelizable components of computation within a compilation unit. 20:58
... except for global mutable state, of course. 20:59
Coke chromatic: 'collect' is the op you were referring to, neh? 21:07
particle that's one of them 21:11
also 'mark' and 'sweep'
(unless those disappeared recently) 21:12
21:14 johbar joined 21:17 jsut|work joined
chromatic Coke, that's the one. 21:48
Coke chromatic: tried --runcore=gcdebug and left it running abut the time of my last send. it hadn't even run the first test in the tcl file yet. 22:16
so, that's not going to help. Will try [inline PIR {.sub foo\\ncollect\\n.end} just before the segfault and see if that does it. 22:17
chromatic Excellent.
NotFound had a patch somewhere to start the GC debug runs after n opcode dispatches, but we never refined it.
particle google & 22:18
Coke ... segfault, where did you? 22:31
22:37 mberends joined
ruoso rakudo: class Foo { multi method bar (Int $a) { say 1 } }; class Bar is Foo { multi method bar (Str $a) {say 2 }}; Bar.bar(1); Bar.bar("a"); 22:42
polyglotbot OUTPUT[sh: ./parrot: No such file or directory␤]
ruoso hmpf..
well... anyway... are you aware that the above code fails? 22:44
chromatic Fails how? 22:55
ruoso Parameter type check failed 23:03
23:04 tetragon joined
chromatic I don't think the new MMD system autoboxes primitives. 23:05
ruoso primitives?
chromatic The contents of integer, float, and string registers. 23:07
ruoso hmmm.. ok..
dalek r32151 | jkeenan++ | trunk: 23:17
: t/pharness/01-default_tests.t was entirely SKIPped during most recent release. Adapt its tests to non-inclusion of coding standards and developer tests from 'make test' when working from a release rather than from repository.
diff: www.parrotvm.org/svn/parrot/revision?rev=32151
ruoso doesn't really know what that means... but I feel that it shouldn't require autoboxing for 1 to match Int 23:18
23:26 kid51 joined 23:27 TiMBuS joined
chromatic Suggestions on how to magically make it work without autoboxing welcome. 23:28
One of those might be "Only ever use PMC registers in Rakudo", which is fine -- just has its tradeoffs.
That doesn't fix the problem in Parrot, however. 23:30
23:41 Limbic_Region joined
allison comparisons to low-level types aren't MMD'd 23:42
they're handled by VTABLE functions
23:43 particle joined
allison or, in many cases, just performed directly inside the op 23:44
particle *sigh* flight delays... 23:46
Limbic_Region particle - where are you stuck? 23:47
particle seattle. i didn't get far
headed to san jose for gsoc mentor summit
Limbic_Region yeah, I read that
particle at least i get a little time to catch up on some administrative tasks 23:48
chromatic I'm not talking about comparisons.
particle ...not enough time to code...
chromatic .sub foo :multi(Integer) 23:49
foo( 10 )
ruoso well.. type matching is a comparison at some level...
chromatic Yes, but Allison's talking about VTABLE_cmp and such, which isn't what we're talking about. 23:50
ruoso ah.. ok
allison chromatic: well, that should work. INTVALs are boxed as Integer PMCs in the CallSignature object 23:51
ruoso hmm... ok... so that means it's a completely different problem
chromatic I don't believe it works. At least, I couldn't get it to work in Test::More. 23:52
ruoso allison, the issue is the following code
rakudo: class Foo { multi method bar (Int $a) { say 1 } }; class Bar is Foo { multi method bar (Str $a) {say 2 }}; Bar.bar(1); Bar.bar("a");
polyglotbot OUTPUT[Parameter type check failed␤current instr.: 'die' pc 13235 (src/gen_builtins.pir:8178)␤called from Sub '!TYPECHECKPARAM' pc 14145 (src/gen_builtins.pir:8725)␤called from Sub 'parrot;Bar;bar' pc 493 (EVAL_12:184)␤called from Sub '_block11' pc 30 (EVAL_12:17)␤called from Sub
..'parrot;PCT;HLLCompiler;eval' pc 864 (src/PCT/HLLCompiler.pir:498)...
chromatic That may be Rakudo's type checking though. 23:56
ruoso I presumed that
allison It could be that Rakudo is expecting Perl6Integer
ruoso allison, no... it's not this problem
rakudo: class Foo { multi method bar (Int $a) { say 1 } }; class Bar is Foo { multi method bar (Str $a) {say 2 }}; Bar.bar("a"); 23:57
polyglotbot OUTPUT[2␤]
ruoso rakudo: class Foo { multi method bar (Int $a) { say 1 } }; class Bar is Foo { }; Bar.bar(1);
polyglotbot OUTPUT[1␤]
ruoso the problem is in the MMD
cotto chromatic, can I get some help with that bug where a param was getting lost in a multi call? 23:58
nopaste "cotto" at 96.26.202.243 pasted "complex exception causes segfault" (37 lines) at nopaste.snit.ch/14392
allison the problem is in the combination of some Rakudo calls with MMD, don't know if the error is being thrown by Rakudo or the MMD system, and don't know if the problem starts in Rakudo or the MMD system
particle allison: add --target=pir to perl6.pbc call, and you can get a small snippet of pir to try 23:59