Parrot 3.6.0 "P�jaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 13 August 2011.
whiteknight lucian: anything we can help with? 00:00
I can debug like a mammajamma
lucian whiteknight: not sure. still having trouble with recursive MRO
i'm possibly misunderstanding parrot references 00:01
whiteknight ok
lucian lemme get a link
github.com/lucian1900/puffin/blob/....winxed#L9 00:02
this function recurses forever (with that thing uncommented 00:03
dalek rrot: 7090743 | Whiteknight++ | NEWS:
add :tag to news
whiteknight get_mro()? 00:04
and what part recurses? 00:05
oh, wait. I see. 00:06
where is __bases__ defined? 00:07
lucian it should no longer enter the for loop at some point, where a __bases__ is empty
on each object
let me link a test
benabik lucian: Have you checked that the top level has no parent? Class may be a class.
lucian github.com/lucian1900/puffin/blob/...instance.t
benabik: i've constructed it as such github.com/lucian1900/puffin/blob/...tance.t#L5 00:08
whiteknight what type is []?
RPA? 00:09
benabik Oh, you're not going up the Parrot inheritance tree.
lucian: What does it output? 00:10
00:10 benabik_ joined
lucian whiteknight: should be, yes 00:11
benabik: nothing, recurses forever
well, until it blows the stack
benabik lucian: c.__bases__ = [c]; 00:14
lucian benabik: ok, i'm a total idiot
benabik lucian: Simple, easy to overlook typo. I started running the algorithm in my head.
lucian benabik: thanks
whiteknight heh, I didnt see that either too busy tracing vtable overrides 00:15
benabik lucian: I'll also note that it looks like get_mro(a) will return [a, b, d, c, d].
(Once the graph is fixed.)
lucian benabik: quite possibly, yes 00:16
benabik: i've not bothered writing C3, just something reasonable. duplicates shouldn't matter
whiteknight thats trivial to fix though, once you get the basics working 00:17
lucian whiteknight: that too
benabik lucian: Well, the issue with that is that D will override C. Just need to write a breadth instead of depth first.
But anyway, glad I could help. Have to head off again.
lucian waves to benabik 00:18
ttbot Parrot 5f0a29cf MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/44060
whiteknight ..... 00:19
whiteknight shoves another needle in the win32 voodoo doll 00:20
wtf, those build errors make no sense 00:27
dalek rrot: ee22d5c | Whiteknight++ | src/pmc/multisub.pmc:
comment out two lines of code which the win32 build seems not to like.
00:29
whiteknight win32-- 00:34
lucian is there an ordered set type in parrot? 00:45
whiteknight OrderedHash 00:46
its not well-used, tested even less. But, I've never heard complaints 00:47
lucian hmm. and i can index it with ints i guess
whiteknight: if i push into it, will it behave like an array? 00:48
25s build times are really annoying 00:51
bah, can only index that with strings 00:53
whiteknight darn 00:54
We also have a Closure type which I know is hash-like and array-like, but I don't know the specifics
the two stores may be separate
benabik Capture. 00:55
The two stores are separate.
(They're used for PCT nodes.
lucian i guess i'll just iterate an array a lot ... 00:56
this looks O(n^3)
benabik Adding integer indexing to ordered hash sounds like a neat feature. 00:57
lucian i'd much rather have a regular ordered set :)
whiteknight lucian: make an array-of-arrays, then you can do a quick union loop over that 00:58
lucian whiteknight: uh, i guess. high complexity doesn't bother me, as long as the code is short to write
whiteknight wherever you do the unioning, you can have a hash of already-seen items, to speed it up 00:59
ttbot Parrot 7090743a MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/44131
whiteknight HATE WINDOWS
lucian whiteknight: i just need to deduplicate stuff. not insert an item if it already exists
and yes, win32--
i have to use it at work
whiteknight me too
hatehatehatehatehatehatehatehatehatehatehatehatehatehatehatehate
lucian i don't think arrays have a method for determining inclusion 01:02
whiteknight not by default, no 01:04
lucian is there any caveat about closures in winxed? 01:06
whiteknight not that I am aware of 01:07
they work pretty well at this point
lucian i have a function defined inside a function, and it fails to compile 01:08
Expected anonymous function near in
odd 01:09
whiteknight source? 01:10
lucian it just prefers var bla = function, rather than function bla
when bla is nested inside another function
whiteknight oh yeah, closures are defined like "var bla = function() { }" 01:14
same idea as Javascript
lucian js accepts both forms, though
i may have a candidate function for rosella
whiteknight what? 01:15
I love adding new functionality
I actually have lots and lots in the pipeline, spread out in gists and emails to myself 01:16
lucian uh, two functions in fact
i've been using them myself, and they're tiny
whiteknight: github.com/lucian1900/puffin/blob/....winxed#L3 01:17
id and in
you might already have something better
whiteknight I don't have id. Rosella.Query does have something like in 01:19
I can probably add a better interface for it
lucian yay, working mro 01:21
whiteknight lucian++
lucian well, probably. results are ok
whiteknight better than nothing.
lucian i'm not sure it's quite C3, but at least it's monotonic 01:22
whiteknight I'm heading to bed now. Talk to you later
lucian good nigh
t
01:42 kid51 joined 01:53 redicaps joined 03:18 woosley joined 03:23 lucian joined 03:39 rfw joined 04:48 JimmyZ joined 04:49 JimmyZ joined 05:21 cotto joined 05:27 benabik joined
benabik ~~ 05:27
05:28 JimmyZ joined 05:40 fperrad joined
cotto ~~ 05:46
dalek kudo/nom: c3be2ce | moritz++ | src/core/Str.pm:
(cheated) Str.samespace
06:05
06:17 fperrad joined
tadzik ~~ 06:27
dalek kudo/nom: 1a442ef | moritz++ | / (5 files):
cosec, acosec
06:45
06:51 HashNuke joined 06:54 HashNuke left 07:01 Khisanth joined 07:02 contingencyplan joined 07:04 rurban joined 07:12 Khisanth joined 07:15 cotto joined
dalek kudo/nom: 0447cac | moritz++ | / (4 files):
implement capitalize
07:19
07:21 mj41 joined
cotto It 07:31
's nice to see soh_cah_toa getting help from a variety of different people.
whiteknight++ kid51++
dafrito Am I right to consider the code in lib/Pod/Simple/BlackBox.pm messy? *is working to close a few TTs* 07:46
I also don't seem to be able to comment on tickets 07:50
cotto dafrito, let me look into that
dafrito, trac username? I don't see a "dafrito". 07:51
dafrito, nm. 07:52
dafrito, should work now
Sorry for the inconvenience. We've been having trac spam problems.
dafrito cotto, yep, it works now, thanks :)
07:53 Khisanth joined
moritz dafrito: fwiw I think that module is a copy of a a perl core module 07:56
dafrito: starting from perl 5.9.3, Pod::Simple is in Perl code
dafrito: might be worth checking the "official" one for updates before spendiing time on fixing thins that might be fixed elswhere already
dafrito moritz, good idea, let me look into that 07:57
moritz it also has a 1 month old release on CPAN 07:58
dafrito moritz, would it be worth creating a git submodule for it in parrot, if one's available? 07:59
moritz dafrito: dunno, never worked with git submodules
benabik Could do a subtree merge. Those are fun. :-D 08:00
dafrito benabik, I think I've only done that once before, and it was a bit painful ;) It would be useful to see if/how Parrot's version has diverged from the official repo, though 08:01
cotto msg whiteknight Is your long-term plan for parrot2 to have a separate script that fakecutablifies prt0.pir? I don't like the code duplication. Good use if fakecutables though. 08:03
aloha OK. I'll deliver the message.
dalek kudo/nom: 884dc50 | pmichaud++ | src/Perl6/Actions.pm:
Push regex lexical declarations into $block[0] instead of $block[1]
08:16
rrot: 0b8c973 | cotto++ | api.yaml:
mark write barrier deprecation as completed
08:19
08:20 rfw joined
dalek TT #2010 closed by cotto++: add write barrier to all PMCs that write in unusual VTABLE functions 08:20
TT #2010: trac.parrot.org/parrot/ticket/2010
09:26 fperrad joined
dalek kudo/nom: e77d1cb | moritz++ | src/core/ (2 files):
Capture.{pairs,kv,values,keys} and Match.caps
09:31
kudo/nom: 2e824dd | moritz++ | / (2 files):
Match.chunks
10:00 daniel-s joined 11:03 AzureStone joined 11:21 whiteknight joined 11:23 JimmyZ joined
whiteknight good morning, #parrot 11:23
11:40 preflex_ joined 11:43 woosley joined 11:49 dafrito joined
woosley Hello all, I can not install Parrot on cygwin, here is the error log pastebin.com/Ra5swVXg 11:55
whiteknight good morning woosley
woosley whiteknight: good morning! 11:56
whiteknight woosley: did you read README_cygwin.pod? 11:59
I don't know how up-to-date it is, but that's definitely the starting point
woosley well, no ... 12:00
OK, let me have a look what is in the README
whiteknight I don't know if it will help. I
'I'm not a cygwin user
so what I can do is blindly redirect you to that file 12:01
I'm not on windows until tomorrow morning at work, and I would need to install cygwin there to do any testing
msg Coke I forgot my auto-testing script was modified to no send results to smolder, when smolder was down. All tests pass on x86_64 Ubuntu 11.04 with gcc, g++, clang, and icc 12:09
aloha OK. I'll deliver the message.
whiteknight brb 12:11
12:13 whiteknight joined
whiteknight (Ubuntu 11.04)-- 12:13
JimmyZ why? 12:16
I using Ubuntu 11.04 && gnome3 12:17
woosley whiteknight: just read readme_cygwin.pod, and all the packages are installed but still, the same problem exists.
JimmyZ s/I/I was/
aloha: nom? 12:24
aloha JimmyZ: I have no idea.
whiteknight woosley: okay, I don't think I can help you any more than that 12:43
I do not use cygwin
12:44 JimmyZ joined 12:49 Eclesia joined
Eclesia hi 12:50
12:52 kid51 joined
whiteknight hello Eclesia 12:53
dalek rrot: d0dc2ca | (Gerhard R)++ | CREDITS:
add gerdr to CREDITS
12:58
rrot: cdd52a0 | jkeenan++ | CREDITS:
Merge pull request #153 from gerdr/master

add gerdr to CREDITS
Eclesia I am having problems with the spawnw function : trying to call this : spawnw(["zip","-r","t.zip","*"]); 12:59
whiteknight Eclesia: and what happens? 13:00
Eclesia zip warning: name not matched: *
but when I type this exact commant in the terminal it works
command*
moritz because the shell does the globbing, not the zip command 13:01
Eclesia globbing ?
ho you mean the shell replace the * by something else 13:02
moritz: you have a solution to solve this ? 13:04
kid51 whiteknight: Following imcc_tag merge, we're getting several codingstd errors: c_args_assert; c_function_docs. Can you look into them? 13:06
whiteknight kid51: really? I just ran fulltest here and it looked good 13:07
nopaste "kid51" at 192.168.1.3 pasted "codingstd errors following imcc_tag merge" (284 lines) at nopaste.snit.ch/70773
kid51 Try those two. 13:08
whiteknight ok 13:11
dalek sella/cleanup_core: 71c92fe | Whiteknight++ | src/ (2 files):
subs_by_flag -> subs_by_tag. use load_packfile builtin
13:13
sella: 71c92fe | Whiteknight++ | src/ (2 files):
subs_by_flag -> subs_by_tag. use load_packfile builtin
sella: bd44ea2 | Whiteknight++ | / (17 files):
Merge branch 'cleanup_core'
sella: 5684ed7 | Whiteknight++ | / (2 files):
Update File.copy to write in binary mode too. Update File.t tests to account for the new method call ordering
Eclesia is out of options : parrot zip, gz or tar do not work. so using the spawn to call 'zip' .. yet can't call it properly with spawnw .... what other solutions are there ? 13:18
13:24 cotto joined
whiteknight Eclesia: We are going to have to fix Archive.Tar and Archive.Zip 13:25
cotto ohai
Eclesia ++ 13:30
13:32 preflex joined, fperrad_ joined
kid51 At cdd52a0f314de, make test PASS linux/i386 4 ways: gcc + g++; regular and optimze 13:35
whiteknight w00t 13:38
cotto It sounds like we're at risk of having a quiet release. 13:39
13:40 fperrad joined
whiteknight cotto: oh noes! 13:41
dalek rrot: 51d0321 | Whiteknight++ | src/packfile/api.c:
+docs for Parrot_pf_tag_constant
13:42
rrot: ec52bab | Whiteknight++ | src/packfile/api.c:
ASSERT_ARGS(Parrot_pf_tag_constant)
whiteknight cotto: To answer your question, I am not really intending to duplicate logic from pbc_to_exe in the whiteknight/frontend2 branch
copy+pasting the relevant code was much faster than trying to factor out what I need into reusable libraries
in the long term, I probably want to rewrite pbc_to_exe in something better like Winxed or NQP, so I wouldn't be able to use that so early in the build anyway 13:43
cotto whiteknight, ok. knowing how you think, I figured that was the case. 13:44
whiteknight in other words, there's a lot to think about, and copy+pasting code got me moving the fastest
13:45 lucian joined
kid51 darwin/ppc make test PASS 14:12
dalek rrot: 1a71d5c | jkeenan++ | CREDITS:
Credit atrodo.
14:17
14:17 Khisanth joined 14:36 JimmyZ_ joined
Coke . 14:39
I haven't yet decided on a release time. coordinating with pmichaud to see if it'll be early or late. 14:40
whiteknight ok
Coke so, does anyone know the root cause for the sporadic test failures in threads.t? 14:48
can we fix that test or delete it as invalid? 14:49
or is there some way to conditionalize it so that it is only TODO'd when failed?
when *expected* to fail.
whiteknight Coke: I think it's invalid and would like to delete it. Last time I brought it up in a public forum, the suggestion was rejected 14:53
lucian hmm: Method 'equals' not found for invocant of class 'Rosella;Test;Asserter' 15:01
whiteknight "equal" 15:02
lucian whiteknight: yeah, figured 15:03
thanks anyway
of course! 15:16
whiteknight: re. asserters, it'd be much nicer if one could just use the language. but it's not always an option 15:17
whiteknight what do you mean?
lucian like "assert a == b" instead of "assert.equal(a, b)" 15:18
one needs some sort of quoting for that, though
it almost works in python, but it only really works in homoiconic languages
whiteknight assert.is_true(a == b) 15:20
lucian right, but that doesn't allow the testing framework to take control of the evaluation
15:21 cotto joined
whiteknight I'm not sure what you mean by that 15:23
brb, shower 15:24
lucian if the evaluation, say, throws an exception
dalek kudo/nom: e6ed5e6 | Coke++ | t/spectest.data:
run another test, track failure modes.
15:45
15:45 dafrito joined
whiteknight lucian: if the test throws an unhandled exception at any time, the test is marked as a failure and a backtrace should be provided 15:46
15:48 fperrad_ joined
lucian whiteknight: yeah, i know 15:49
i'm trying to think if the backtrace would look the same 15:50
16:12 daniel-s joined 16:46 endeavormac joined
endeavormac so i remember reading that the parrot VM has "unlimited" registers, or that it makes as many registers available to the VM as memory can support, is this correct? 16:47
JimmyZ doesn't think so 16:56
lucian endeavormac: it has lots in any case
endeavormac ok, thanks 17:05
i was wondering how it internally stored all of these registers, dynamically resizing them as needed, but nvm then
lucian endeavormac: asking on the ML might elicit more replies. also, you could try reading the source if not 17:10
17:20 worr joined 17:36 whiteknight joined
dukeleto endeavormac: parrot has symbolic registers in PIR, so you don't have to keep track of them by hand 17:40
endeavormac: they seem "unlimited", but of course, you will eventually not be able to store any more due to memory constraints 17:41
19:15 contingencyplan joined
lucian raises fist at data descriptors 19:30
Coke they only go up to 99, IIRC. 19:33
19:55 fperrad_ joined 20:01 mj41 joined 20:09 worr joined 20:10 Kovensky joined 20:13 dafrito joined 20:27 jsut_ joined
whiteknight it is raining like a mofo today 20:32
20:35 cottoo joined
benabik whiteknight: I was out in it. O.o 20:40
whiteknight benabik: me too. My kid was being very loud while my mother-in-law was trying to take a nap. So we put on swim suits and took him outside
not that it mattered, my mother-in-law is on such high doses of so many narcotics, I think she could sleep through a hurricane 20:41
dalek p: 0e60187 | pmichaud++ | src/ (4 files):
Refactor handling of $¢ in subs, make sure that match objects can
cottoo ~~ 20:42
aloha, clock? 20:43
aloha cottoo: LAX: Sun, 13:43 PDT / CHI: Sun, 15:43 CDT / NYC: Sun, 16:43 EDT / UTC: Sun, 20:43 UTC / LON: Sun, 21:43 BST / BER: Sun, 22:43 CEST / TOK: Mon, 05:43 JST / SYD: Mon, 06:43 EST
lucian bah, parrot needs a module system 20:47
debugging is silly hard when i can't even get a line number
dalek kudo/nom: 1820f2e | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get latest qregex cursor and closure fixes. jnthn++
20:50
20:53 jsut joined 20:59 whiteknight joined 21:04 fperrad joined 21:23 daniel-s joined
dalek rrot/whiteknight/frontend_parrot2: 6eb90d5 | Whiteknight++ | / (2 files):
Build the old frontend and the new frontend together as ./parrot and ./parrot_old.
21:42
p: 00c8b11 | pmichaud++ | src/HLL/Compiler.pm:
Restore --stagestats option for HLL::Compiler.
21:48
21:49 Psyche^ joined
dalek kudo/nom: 534bd3f | pmichaud++ | tools/build/Makefile.in:
Re-enable stagestats option for setting compilation.
21:49
kudo/nom: 7c76168 | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get latest stagestats fixes.
lucian yay, you can now call python methods with obj.meth() 21:51
(it was necessary to first implement descriptors correctly) 21:52
whiteknight lucian++ 22:00
lucian has found a bug in inoke 22:02
invoke
whiteknight: nevermind, it's broken 22:08
22:29 Coke joined 22:30 eternaleye_ joined
lucian hates invoke a little 22:30
22:36 Coke joined 22:47 Coke joined 22:58 Coke joined
lucian heh, only 6 failing tests 23:32
i think that means that i have too few tests, not that i have too few bugs
23:38 jsut_ joined 23:44 Kulag joined 23:54 worr joined