Camelia, the Perl 6 bug

IRC log for #parrot, 2008-10-24

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 chromatic Yes, but what do I get?
00:00 chromatic Some sort of superhero costume?
00:02 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 #parrot
00:04 cognominal well this hazing was not well received...
00:05 chromatic I was in the wrong seat with Ingy in Chicago this year.
00:10 AndyA joined #parrot
00:14 chromatic cotto, run that test case with -t.
00:14 chromatic Things go seriously weird.
00:14 chromatic 90 set_args PC22 (3), P4, "foo", "foo"      PC22=FixedIntegerArray=PMC(0x80f501c) P4=String=PMC(0x81d2edc Str:"Divide by zero")
00:14 chromatic 95 find_sub_not_null P3, "is"       P3=PMCNULL
00:14 chromatic 98 get_results PC13
00:14 chromatic 100 invokecc P3                      P3=MultiSub=PMC(0x80e1e40)
00:14 chromatic 268 get_params PC43 (3), P1, P3, S5  PC43=FixedIntegerArray=PMC(0x80e2000) P1=PMCNULL P3=PMCNULL S5="(null)"
00:14 chromatic 273 find_global P2, PC28, "_test"    P2=PMCNULL PC28=Key=PMC(0x80f4e5c)
00:14 chromatic 277 set I0, 0                        I0=-888
00:14 chromatic 280 typeof S2, P3                    S2="(null)" P3=(null)
00:17 chromatic The message PMC gets lost.
00:19 Tene parrot --trail-of-crumbs=1 --ball-of-twine=1
00:20 chromatic I wonder if the :multi declarations in Test::More are wrong, post-merge.
00:22 cotto so P4 should be in there somewhere?
00:25 chromatic It's hitting the is :multi() case.
00:26 chromatic That needs     .param int    have_desc   :opt_flag
00:26 chromatic With that, I get:
00:26 chromatic 268 get_params PC65 (4), P1, P3, S3, I0      PC65=FixedIntegerArray=PMC(0x80e1a6c) P1=PMCNULL P3=PMCNULL S3="(null)" I0=-888
00:26 chromatic 274 find_global P2, PC28, "_test"    P2=PMCNULL PC28=Key=PMC(0x80f4e5c)
00:26 chromatic 278 set I1, 0                        I1=-888
00:26 chromatic 281 typeof S2, P3                    S2="(null)" P3=(null)
00:26 chromatic Params definitely lost in the multi call somewhere.
00:29 chromatic I am running out of the house now though; no time to debug.
00:29 chromatic I hope that's useful though.
00:29 cotto better than where I started
00:52 dmknopp joined #parrot
01:23 Theory joined #parrot
02:39 Psyche^ joined #parrot
03:11 cotto joined #parrot
03:31 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:48 allison tewk: we have the room from 9am-5pm both days
03:50 allison 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
04:23 Tene Hmm.  Idle project for me for the weekend: xlib tests in all of the HLLs.
04:41 GeJ What are the capabilities of Rakudo regarding file I/O? and networking?
04:43 Tene I think that IO works to some degree, but not very well.  I don't remember networking working at all.
04:43 Tene They both should get a lot nicer after the upcoming rework of parrot's IO.
04:44 Tene Allison created a branch for it recently.
04:44 GeJ Thank you.
04:45 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.
04:46 Tene Yes, I remember IO spectests passing.  Not network, though.
04:58 petdance joined #parrot
06:12 jq joined #parrot
06:28 uniejo joined #parrot
06:37 khisanth_ joined #parrot
07:52 iblechbot joined #parrot
07:59 cosimo joined #parrot
08:26 Debolaz joined #parrot
08:41 jq joined #parrot
08:41 tomyan joined #parrot
08:45 barney joined #parrot
09:16 bacek joined #parrot
09:33 masak joined #parrot
09:49 cotto should typeof $S0, $P0 return "Class" when $P0 is a Class PMC?
09:50 cotto or should it be the name of the class?  The current behavior is "Class".
10:00 gaz joined #parrot
10:14 cotto karma mgrimes
10:14 purl mgrimes has karma of 1
10:14 cotto mgrimes++
10:16 dalek r32145 | cotto++ | trunk:
10:16 dalek : [t] PIRify string and complex PMC tests
10:16 dalek : patch courtesy Mark Grimes
10:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32145
11:18 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␤]
11:18 masak aw.
11:40 AndyA joined #parrot
11:46 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.
11:46 cognominal just my tought
11:46 masak yes, that'd be the Perl 5 way.
11:46 cognominal nope
11:46 masak no?
11:47 masak it'd be the Perl 6 equivalent of the Perl 5 way?
11:47 cognominal in perl 5 you get an @a array
11:47 masak yes, but that's because of syntax differences, isn't it?
11:47 cognominal here you should et a reference to an anonymous array
11:47 cognominal yes
11:48 masak I think we're in violent agreement.
11:48 cognominal to be confirmed with higher authorities
11:48 masak sure
11:50 * 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 cognominal i  hope someday Perl 6 will spare us the objc part
11:50 cognominal s/quick/quick scheme, a game,/
11:51 cognominal otherwise android will beat them if it is more open to dynamic languages
11:52 cognominal masak, btw, in null context or in lhs, all bets are off about your $a[0]
11:53 cognominal 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?
11:53 cognominal oops
11:53 masak s/say/so/
11:54 cognominal s/lhs/rhs/
11:54 masak :)
11:54 masak aye.
11:54 cognominal null context being a special case of rhs
11:55 cognominal I suppose there is a way similar to perl 5 to differeniate a missing slot from an undef one
11:57 masak you could always ask...
12:01 cognominal thinking out loud is one way to ask. the proper way would to consult the synopses
12:01 cognominal s/to/be to/
12:05 masak cognominal: I mean, you could always do `$a[0] :exists` or the like
12:05 masak rakudo: { { $^m.$^a }.(&say,$^m) }.("OH HAI")
12:05 polyglotbot OUTPUT[OH HAI␤]
12:05 masak rakudo++
12:08 cognominal jonathan++  pmichaud++
12:08 masak indeed.
12:10 cognominal this is beautiful. forcefu reboot&
12:14 cosimo joined #parrot
12:16 cognominal joined #parrot
12:32 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:33 masak rakudo: say $/[0]
12:33 polyglotbot OUTPUT[sh: ./parrot: No such file or directory␤]
12:33 masak cognominal: should that one also fill $/ with an empty array object?
12:34 Tene rakudo: say 'lol'
12:34 polyglotbot OUTPUT[sh: ./parrot: No such file or directory␤]
12:34 Tene Huh.
12:36 Lorn_ joined #parrot
12:37 Lorn joined #parrot
12:37 cognominal speaking of $/ , I would like an hash context so that    %a = $/<foo>    does what I expect
12:38 cognominal a hash, an hash? what is the correct english?
12:38 Tene "a hash"
12:39 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.
12:39 Coke many view any use of 'an' as pretentious rather than well-spoken.
12:40 cognominal the sort of rules we learn as a child and that we have trouble to enoncate as adults...
12:40 cognominal thx
12:41 cognominal when I was with roommate with jonathan he proposed to correct my english but then it would always sidetrack the conversation
12:42 cognominal jonathan++
12:42 cognominal next he wil teac me slovak
12:42 cognominal will teach...
12:47 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 Coke "to" varying degrees. Not to imply I am degreed.
12:48 * Coke concentrates on his english for a while. :P
12:51 cognominal before damian writes a wolapük module for Perl 6
12:53 masak "volapük" with a v
12:53 masak :)
12:53 masak the word means "world speak"
13:03 Coke Tene: applied a version of your patch to tcl.
13:16 Coke tene++
13:17 gryphon joined #parrot
13:39 jhorwitz joined #parrot
13:45 iblechbot joined #parrot
13:46 PacoLinux joined #parrot
13:58 * Coke is tempted to (temporarily?) remove --pir from partcl.
13:58 kj joined #parrot
14:00 particle joined #parrot
14:10 * Tene is tempted to port pheme to PCT
14:13 cosimo joined #parrot
14:14 johbar joined #parrot
14:17 particle then what will be using tge?
14:19 jhorwitz Tene: beer & mod_cardinal next week?  :)
14:19 Tene jhorwitz: excellent plan
14:19 Tene particle: I could port rakudo to it...
14:20 jhorwitz or cardinal and mod_beer...
14:20 particle can we get tge using nqp
14:20 davidfetter mmm...mod_rakudo :d
14:20 particle rather than pir...
14:20 Coke if you port pheme to pct, will that leave anything in core relying on tge?
14:21 duzy joined #parrot
14:22 davidfetter re: /topic, is that "the 1.0 release?"
14:22 Infinoid I think that was 0.8.0 from a few days ago
14:22 PerlJam davidfetter: no.
14:23 davidfetter k
14:23 PerlJam But it's good advice for any release :)
14:23 Coke apparently particle didn't follow the release instructions!
14:24 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?
14:24 particle no, i realized yesterday that i didn't notify parrot-dev et al about the release
14:24 PerlJam duzy: you can in your local copy.  Do you have a commit bit to the parrot repo?
14:25 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
14:25 Coke duzy: you can see partcl for an example of how something can live outside the core.
14:25 Coke partcl?
14:25 purl it has been said that partcl is tcl on parrot or http://code.google.com/p/partcl
14:25 particle masak: no, i just sent perlmonks/perl.org announcements...
14:25 particle i'll fix that now...
14:25 jhorwitz hm, it looks like rakudo can't flatten arrays for passing to a sub right now...can it?
14:25 masak particle++
14:25 duzy no, currently i host it here http://code.google.com/p/smart-make
14:26 PerlJam particle: make is sort of a language
14:26 duzy yep, not really a language, something like make
14:26 Coke duzy: http://code.google.com/p/partcl/wiki/PartclSource
14:27 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 :)
14:27 Coke PerlJam: come here and let me smack you. =-)
14:29 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:30 Coke also, we're eventually kicking everyone _out_ of the repo eventually anyway.
14:30 Coke no point in getting bundled now if you already have an external repo.
14:30 particle except things that ship with parrot
14:30 Coke particle: name one "real" language in languages/ that we're planning on shipping in 1.0?
14:30 particle like abc
14:30 PerlJam abc?
14:30 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
14:30 Coke abc is a tutorial language.
14:31 PerlJam What would make it "real" to you?  :)
14:31 particle i don't know about punie
14:31 Coke it is not expected that you're going to get an abcsh.
14:32 particle ...unless you spend a year in a mexican prison.
14:32 duzy particle: i'm reading on the license...
14:32 PerlJam duzy: were I you, I'd follow Coke's example with partcl
14:33 duzy PerlJam: ok, I will think about it :) I should learn something from them first :)
14:35 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:36 Coke basically making abc more like tcl. =-)
14:36 Coke duzy: You basically just need the one file (Configure.pl), which is simple enough you can just copy, I think.
14:37 Coke (with one minor change.)
14:43 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:44 duzy and that's a good example for something like smart-make :)
14:46 Coke excellent.
14:47 * 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.
14:48 Coke that almost never happens in this channel! woot!
14:49 Coke perljam-- # must have issues!
14:49 PerlJam no way.  I have an open mind.
14:49 pmichaud what does "semi-unified language harness" mean in this context?
14:49 Coke "cd languages && make test"
14:49 pmichaud oh, I agree that newly created languages (via mk_language_shell) don't belong there.
14:49 Coke which may or may not even work for abc at the moment.
14:50 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.
14:50 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.
14:50 pmichaud i.e., more like tcl
14:50 Coke feel free to steal my Configure.pl file.
14:51 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'
14:53 kj particle: hi, is SF international close enough for the summit?
14:53 pmichaud I think SJC is closer
14:53 particle sfo is close enough to catch a <1h train
14:53 pmichaud kj:  see http://code.google.com/events/visitors/
14:53 particle sjc is closer, but not good for intl flights
14:53 pmichaud correct.
14:55 particle kj: do you need a visa?
14:56 pmichaud I have a Mastercard.
14:56 pmichaud :-P
14:58 kj I saw SJC is closer, but I'm not sure about the scale
14:58 kj flying to SF int. is cheaper I think
14:58 kj I'm flying from dublin
14:58 kj I have a mastercard, so should be fine.
14:58 particle dublin->sfo will be comfortable
14:58 kj "my flexible friend" as Mr Bean would say :-)
14:58 particle a travel visa.
14:58 purl a travel visa is at http://www.traveldocs.com/
14:59 kj no visa needed I think?
14:59 particle i don't know. irish citizen?
14:59 kj no dutch
14:59 kj we're great friends with the americans! :-)
14:59 particle you'd better check
14:59 particle :)
14:59 kj yeah will do
15:00 particle http://amsterdam.usconsulate.​gov/visa_waiver_program2.html
15:00 kj thanks for the link
15:02 kj < 90 days no visa, AFAICT
15:02 particle so it seems
15:02 kj would it be possible to get some kind of invitation letter?
15:03 particle yes, that can be arranged
15:03 kj I have experience at US immigration...
15:03 kj and it ain't fun
15:03 particle foreigners are criminals.
15:03 kj heheh
15:07 Tene Coke: c99 and lua at least are also using TGE
15:08 particle lua uses tge for an alternate backend, as does (did?) pipp
15:09 particle 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...
15:09 particle yaep
15:09 jhorwitz k
15:09 Tene My flight out on Sunday is at 5:30
15:10 pmichaud 9:10p here.
15:10 jhorwitz looks like the best is 12:55 -> 11:55 for me
15:10 particle update departures page if you would, pmichaud
15:10 particle jhorwitz: that stinks!
15:11 particle where's the connection?
15:11 purl the connection is read-only
15:11 jhorwitz PHX
15:11 pmichaud particle: already did
15:11 jhorwitz typical southwest flight time
15:11 davidfetter o/` by the time i get to arizona o/`
15:11 pmichaud American turned out to be cheaper for me than SWA this time.
15:11 jhorwitz you don't want to see the prices on other airlines...  :)
15:11 particle http://www.farecast.com
15:11 * davidfetter enserfed to star alliance
15:12 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.
15:12 davidfetter then again, i'm dangerously close to clocking 200,000 miles this year
15:12 Tene I'll try adding several exclamation marks to my calendar entry...
15:12 jhorwitz wow, you're airline royalty.  :)
15:12 davidfetter heh
15:13 davidfetter well, they do put me in the short line now
15:14 pmichaud oooh, swa fare dropped since last time I looked.  $306.50 round trip is lowest fare (but lousy flight times and connections)
15:15 pmichaud 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."
15:18 * jhorwitz is still in the denial phase
15:22 kj 512 euros, that's a pretty good deal for a transatlantic flight :-)
15:23 particle ~$800, not bad
15:23 particle convert 512 eur to usd
15:23 purl I don't know how to convert 512 eur to usd.
15:24 kj it's about 1.45 or so?
15:24 particle 512*1.27
15:24 purl 650.24
15:24 particle http://finance.yahoo.com/currency
15:24 kj only 1.27?? geez. I'm too late!
15:26 particle yep, the dollar has risen mightily as of late
15:28 * 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!
15:28 * Coke wonders what is goign to happent o his state's budget this year. :|
15:29 kj well, it's still 3 weeks :-)
15:31 * Coke wonders if there's any way to make partcl faster by precompiling to pbc. Coke doubts it. :|
15:32 particle hey, tene and tewk can hack together on the plane home
15:32 dalek r32146 | fperrad++ | trunk:
15:32 dalek : [ecmascript]
15:32 dalek : - fix hllmagic merge
15:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32146
15:34 particle1 joined #parrot
15:35 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.
15:36 tewk s/fair/fare/
15:36 particle i might be able to take you there in the van, tewk
15:37 Coke particle is not the sort of person whose van I would jump in willy nilly.
15:38 jhorwitz flight purchased.
15:38 hercynium joined #parrot
15:38 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:39 particle yep
15:41 * jhorwitz should go to europe with his miles
15:43 * davidfetter could get 2 coach rtw tickets with his...not for all those tuits :P
15:43 davidfetter now*
15:44 * Coke should get some thing that tracks miles.
15:50 peepsalot joined #parrot
15:55 jhorwitz kj: if flying to SFO, let me know when you get in.
16:02 kj jhorwitz: I'm flying on SFO, but will come in a few days earlier
16:03 davidfetter kj, when are you in the bay area?
16:03 kj flying on Monday 10 I think
16:03 davidfetter jhorwitz, you, too :)
16:03 kj so arriving 11th I think
16:03 kj didn't check the times
16:03 kj and leaving 19th
16:04 * davidfetter likely in town over that interval
16:04 jhorwitz not much time: 11/14 & 11/15
16:05 particle don't tell me, rasmus will be in town and we'll miss him
16:08 barney particle: Pipp no longer uses TGE
16:08 particle ok, thanks. wasn't sure anymore
16:08 * Infinoid plans to be racing in the SF bay the next 3 weekends
16:09 Infinoid the shindig is 4 weeks from tomorrow, right?
16:09 davidfetter Infinoid, where are you?
16:09 Infinoid northeast CA... 3 hour drive from the bay
16:09 kj davidfetter: you live in that area?
16:09 particle 15-16 nov however you measure it
16:09 davidfetter west oakland in the house :)
16:09 * davidfetter has a big warehouse with crash space in it
16:10 Infinoid warehouse in oaktown... that sounds shady :)
16:10 davidfetter i prefer "artistic"
16:10 Infinoid hehe
16:10 davidfetter as do my neighbors, a lot of them being visual artists
16:11 Infinoid nice.
16:11 davidfetter that reminds me. i should schedule and host an oakland.pm meeting
16:12 Infinoid lake tahoe has no active .pm, unfortunately
16:12 davidfetter start one :)
16:12 davidfetter 3 hours drive from lake tahoe to the bay area is high optimism ;)
16:12 Infinoid I suspect all the people who know perl here would fit on my couch, and still have room to put their feet up.
16:13 Infinoid well, 3 hours to palo alto is unrealistic
16:13 Infinoid but to richmond or berkeley its doable
16:14 * davidfetter wonders whether they fixed up the 880
16:14 dalek r32147 | fperrad++ | trunk:
16:14 dalek : [Lua]
16:14 dalek : - fix TestLex (Cannot find TOP regex in Lua::TestLex)
16:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32147
16:15 kj Infinoid: I'm 6"5. still room then?:-)
16:15 particle i *knew* you were a giant, as soon as you said "dutch"
16:15 Infinoid kj gets his own couch
16:15 kj ha ha
16:16 kj well, every time I go back to holland (living in ireland now), I'm amazed how many more people are taller than me
16:18 grim_fandango joined #parrot
16:20 kj afk #dinner
16:20 davidfetter bon appetit :)
16:23 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 jq joined #parrot
16:23 davidfetter it's a road grading thing
16:24 davidfetter cognominal, and please don't drive in that state :/
16:24 Tene I personally call them the "ohshitwtf stripes"
16:25 davidfetter heh
16:26 cognominal I don't know in what state I was, was that California or Nevada? :)
16:26 davidfetter heh
16:26 Tene They've saved my live a few times too
16:26 particle cognominal: they're grooves cut into the pavement surface
16:27 davidfetter http://en.wikipedia.org/wiki/Rumble_strip
16:28 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
16:30 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 Theory joined #parrot
16:31 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.
16:32 particle allison: now that we have proper exception support, should we be modifying the core c code to use them?
16:33 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?
16:33 particle yes, i mean more.
16:33 pmichaud "audio tactile profiled markings"
16:34 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:35 allison 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
16:36 * 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
16:37 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
16:37 allison particle: yes, definitely
16:37 allison particle: (on i/o status objects)
16:37 Infinoid davidfetter: I speak californiaeze
16:38 * davidfetter learning californiaese
16:38 particle Infinoid: so you have no problem properly pronouncing "vallejo"
16:38 davidfetter i've only been here 11 years, tho
16:38 davidfetter particle, that one's hilarious!
16:38 Infinoid heh.  I race there yearly
16:38 davidfetter it's like they started out anglicizing it, then changed their minds
16:39 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
16:39 particle allison: yes, right, or providing a pragma or whatever. agreed.
16:40 davidfetter oy
16:40 cognominal no this is not #perl :)
16:40 allison particle: yes
16:40 particle i wonder, what if we had a pragma to do inplace math ops, rather than separate opcodes
16:40 Infinoid cognominal: they are helpful, huh?a
16:40 Infinoid and very ... unsettling
16:41 cognominal I have enough time sinkers so I don't hang there.
16:42 particle or, just dropped inplace ops
16:42 particle add $P1, $P1, $P2 # inplace
16:43 pmichaud ....except that we just changed the meaning of add
16:43 pmichaud so that this isn't the case
16:44 particle pmichaud: would you ever want "add $P1, $P1, $P2" with n_add (current semantics)?
16:45 pmichaud particle:  I might -- why not?
16:45 pmichaud 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?
16:45 pmichaud ...and is there a way to know if two operands are the same register?
16:45 particle if there's an appropriate pragma defined, yes.
16:46 pmichaud personally I prefer:    "add $P1, $P2"    # inplace add
16:46 pmichaud because then there's no ambiguity
16:48 particle nevermind, i'm living in the past
16:49 particle just checked ops.num/ops.skip and i'm smoking crack
16:50 particle grr, parrot's giving me a segfault as i try to run crow
16:50 particle ./parrot tools/util/crow.pir --type=text
17:11 chromatic joined #parrot
17:36 Psyche^ joined #parrot
17:55 jhorwitz pmichaud: ping
18:09 diakopter joined #parrot
18:14 cotto pmichaud, thanks (typeof_class answer)
18:22 pmichaud jhorwitz: pong
18:23 jhorwitz pmichaud: passing slurpy arrays as parameters to subs -- easy/hard/harder than it looks?
18:23 pmichaud slurpy arrays?  or flattened?
18:23 jhorwitz er, sorry
18:24 jhorwitz flattened
18:24 particle2 joined #parrot
18:24 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?
18:24 jhorwitz yes.  from the tests it looks like it's not yet implemented
18:24 pmichaud it's not yet implemented, correct.
18:25 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
18:25 pmichaud might not be too difficult -- I just need to see how it parses
18:27 pmichaud it would be   foo(|@myarray)
18:27 jhorwitz you know, i saw that but wasn't entirely certain
18:28 pmichaud there be dragons here
18:28 pmichaud |@myarray produces a capture, which then has to be spliced into the argument list
18:28 pmichaud which means this is probably a part of sub dispatch
18:29 jhorwitz doh
18:30 jhorwitz 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
18:32 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.
18:32 pmichaud okay
18:33 stockwellb joined #parrot
18:34 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?
18:35 jhorwitz you just opened a can of dragons...
18:35 PerlJam stockwellb: how does it not behave like a hash?
18:35 particle stockwellb: see t/pmc/env.t for examples
18:35 pmichaud Env is not a Hash
18:35 jhorwitz there's a ticket open for that very problem
18:36 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  :)
18:36 pmichaud it supports the keyed lookup interface, but it's not really a Hash
18:36 particle thanks, PerlJam. that's the first feedback i've gotten on it :)
18:36 pmichaud oh, I agree -- excellent name.
18:36 stockwellb so no way to iterate over the keys to see what they are?
18:37 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
18:37 stockwellb great thanks!
18:37 particle tests++
18:39 Ivatar joined #parrot
18:41 stockwellb It does work like a hash!! I was shifting the key into a pmc vice string.
18:42 stockwellb I should have thought about browsing the tests earlier. All in all, they make a great tutorial.
18:43 chromatic Some do.  Some are inscrutable.
18:44 cotto +1
18:44 purl 1
18:44 stockwellb I'm sure I'll be able to identify the inscrutables by my lack of ability to understand them.
18:45 chromatic I worry more about my lack of ability to understand WHY they are.
18:48 stockwellb back to the squaak tutorial. Thanks gents.
18:51 * Coke acts most unprofessional at work today. Damnit.
18:52 chromatic "acts"?
18:55 particle1 joined #parrot
18:57 dalek r32148 | allison++ | trunk:
18:57 dalek : [tge] Modify TGE to accept either '::' or ';' as classname delimiter anywhere
18:57 dalek : it parses classname strings.
18:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32148
19:01 jsut|work joined #parrot
19:06 dalek r32149 | cotto++ | trunk:
19:06 dalek : [t] PIRify objects.t
19:06 dalek : patch courtesy of Mark Grimes
19:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32149
19:08 dalek r32150 | allison++ | trunk:
19:08 dalek : [tge] Change TGE grammar tests to use ';' classname delimiter. Either ';' or
19:08 dalek : '::' works, but ';' is Parrot-standard.
19:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32150
19:11 particle joined #parrot
19:40 jan joined #parrot
19:47 Coke Program received signal EXC_BAD_ACCESS, Could not access memory.
19:47 Coke Reason: KERN_INVALID_ADDRESS at address: 0x15d7bdbc
19:47 Coke 0x01163a18 in ascii_compute_hash (interp_unused=0x606bd0, source_string=0x649f3b0, seed=3793) at src/charset/ascii.c:769
19:47 Coke 769             hashval += *buffptr++;
19:48 chromatic Walked off the buffer, hmm?
19:48 Coke Iunno.
19:50 cotto chromatic, any thoughts on the hashval caching bug I found a couple weeks ago?
19:51 cotto #59810
19:51 chromatic Hm, I wonder if we could cheat.
19:52 Coke (this failure is blocking at least one tcl spec test from completing atm.)
19:53 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:54 * cotto rereads
19:56 cotto 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:57 chromatic A mask, or an additional value to mix into the hash, or whatever.
20:00 cotto why use the seed at all then?
20:01 chromatic Fewer collisions?
20:04 cotto I don't see how that'd result in fewer collisions (but I could be missing something).
20:04 chromatic Me neither.
20:05 * Coke attempts to run a tcl spec test with no GC.
20:10 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:12 chromatic We don't have many statistics on collision or distribution across buckets.  Maybe we should profile that some.
20:12 chromatic I don't really want to add more size to the STRING structure to hold more cached values though.
20:15 Coke Last I check, tcl spends most of it's time in hash bucket checks.
20:15 Coke chromatic: that failure I get seems to be GC related.
20:16 Coke 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.
20:16 chromatic Maybe one of your PMCs leak.
20:19 gryphon joined #parrot
20:23 Coke should we be letting users write their own C code? :P
20:24 moritz should we forbid users to write C code? ;)
20:24 Coke it's clearly not safe.
20:24 Tene It's really rewarding to see things I did in the parrot release notes.
20:25 * Coke does not have the energy to track down this GC issue. :|
20:28 chromatic I'd trace it down if you gave me some reasonably short PIR.
20:29 Coke reasonably short PIR doesn't usually coincide with "finding GC bugs."
20:32 Coke http://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 Coke "under"
20:32 PerlJam Looks fine to me.
20:33 moritz Coke: same here
20:33 moritz (ie b0rked)
20:33 moritz I'll try to fix some HTML error, maybe then it goes away.
20:33 Coke ISTR it's like that in mozilla and safari.
20:35 moritz didn't help.
20:37 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
20:37 PerlJam They look like a second set of bullet points to me.
20:37 PerlJam (outline rather than solid)
20:37 PerlJam er, bullets, not bullet points
20:39 moritz li.leaf has list-style-image:url(../../misc/menu-leaf.png);
20:40 moritz und ul li.leaf has background:transparent url(images/menu-leaf.gif) no-repeat scroll 1px 0.35em;
20:41 moritz these two seem to interfere (at least from my humble understanding)
20:51 chromatic Coke, a couple of opcodes force GC runs, and there's always the gcdebug runcore (given sufficiently short PIR).
20:51 jsut|work joined #parrot
20:53 Coke chromatic: when I'm starting out with several 1000 lines of tcl, getting that sufficiently short PIR is not necessarily trivial.
20:54 * Coke iz trying, though.
20:58 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:59 chromatic ... except for global mutable state, of course.
21:07 Coke chromatic: 'collect' is the op you were referring to, neh?
21:11 particle that's one of them
21:11 particle also 'mark' and 'sweep'
21:12 particle (unless those disappeared recently)
21:14 johbar joined #parrot
21:17 jsut|work joined #parrot
21:48 chromatic Coke, that's the one.
22:16 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:17 Coke 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.
22:17 chromatic NotFound had a patch somewhere to start the GC debug runs after n opcode dispatches, but we never refined it.
22:18 particle google &
22:31 Coke ... segfault, where did you?
22:37 mberends joined #parrot
22:42 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␤]
22:42 ruoso hmpf..
22:44 ruoso well... anyway... are you aware that the above code fails?
22:55 chromatic Fails how?
23:03 ruoso Parameter type check failed
23:04 tetragon joined #parrot
23:05 chromatic I don't think the new MMD system autoboxes primitives.
23:05 ruoso primitives?
23:07 chromatic The contents of integer, float, and string registers.
23:07 ruoso hmmm.. ok..
23:17 dalek r32151 | jkeenan++ | trunk:
23:17 dalek : 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.
23:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32151
23:18 * ruoso doesn't really know what that means... but I feel that it shouldn't require autoboxing for 1 to match Int
23:26 kid51 joined #parrot
23:27 TiMBuS joined #parrot
23:28 chromatic Suggestions on how to magically make it work without autoboxing welcome.
23:28 chromatic One of those might be "Only ever use PMC registers in Rakudo", which is fine -- just has its tradeoffs.
23:30 chromatic That doesn't fix the problem in Parrot, however.
23:41 Limbic_Region joined #parrot
23:42 allison comparisons to low-level types aren't MMD'd
23:42 allison they're handled by VTABLE functions
23:43 particle joined #parrot
23:44 allison or, in many cases, just performed directly inside the op
23:46 particle *sigh* flight delays...
23:47 Limbic_Region particle - where are you stuck?
23:47 particle seattle. i didn't get far
23:47 particle headed to san jose for gsoc mentor summit
23:47 Limbic_Region yeah, I read that
23:48 particle at least i get a little time to catch up on some administrative tasks
23:48 chromatic I'm not talking about comparisons.
23:48 particle ...not enough time to code...
23:49 chromatic .sub foo :multi(Integer)
23:49 chromatic foo( 10 )
23:49 ruoso well.. type matching is a comparison at some level...
23:50 chromatic Yes, but Allison's talking about VTABLE_cmp and such, which isn't what we're talking about.
23:50 ruoso ah.. ok
23:51 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
23:52 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
23:52 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");
23:52 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
23:52 polyglotbot ..'parrot;PCT;HLLCompiler;eval' pc 864 (src/PCT/HLLCompiler.pir:498)...
23:56 chromatic That may be Rakudo's type checking though.
23:56 ruoso I presumed that
23:56 allison It could be that Rakudo is expecting Perl6Integer
23:56 ruoso allison, no... it's not this problem
23:57 ruoso 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␤]
23:57 ruoso rakudo: class Foo { multi method bar (Int $a) { say 1 } }; class Bar is Foo { };  Bar.bar(1);
23:57 polyglotbot OUTPUT[1␤]
23:57 ruoso the problem is in the MMD
23:58 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 http://nopaste.snit.ch/14392
23:58 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
23:59 particle allison: add --target=pir to perl6.pbc call, and you can get a small snippet of pir to try

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced