Parrot 3.6.0 "P�jaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 1930 UTC
Set by moderator on 19 July 2011.
00:15 rurban_ joined 00:17 rurban left, rurban_ is now known as rurban
dalek rrot/soh-cah-toa/hbdb: e96bc4d | soh_cah_toa++ | src/hbdb.c:
Changed "help" command so that the "nop" command is not displayed since it's not a real command.
00:21
00:26 lichtkind left
dalek rrot: 9e16438 | allison++ | ports/debian/ (6 files):
Changes from Debian packages for 3.3 release.
00:45
rrot: 7f3317a | allison++ | / (2 files):
Minor spelling inconsistency that triggers package warnings
rrot: e3f816d | allison++ | / (404 files):
Merge branch 'master' of github.com:parrot/parrot
00:47 Coke left, Coke joined
allison um, git expert? 00:50
benabik can provide help with git, but is unsure about 'expert'. 00:52
allison well, I just made two commits
one makes sense
the other was a two line change, that's now showing up as touching 400 files 00:53
that makes no sense whatsoever
benabik I think that represents all the changes in parrot master since you branched off. 00:54
I'll check.
allison "Showing 400 changed files with 86,282 additions and 56,972 deletions. "
that's what I suspected :(
you can just rip that commit out 00:55
it's a two-line change
cotto_work I suspect that it's a scary but otherwise harmless merge commit
allison why did it lob the whole mess into the second commit? 00:56
benabik Yes. The "400 changed files" are all the files that changed on master... The merge itself appears to have no painful changes.
allison whew, nearly gave me heart-attack there... 00:57
benabik It didn't. You pushed three commits. Two normal ones and a merge.
cotto_work no bytes were harmed in the making of this commit
soh_cah_toa allison: doing a `git pull --rebase` before committing eliminates that 00:58
er, pushing, that is
allison can I (or someone) delete the useless merge, so it doesn't clutter up the history? 01:01
benabik It's not terribly cluttering. 01:03
soh_cah_toa i think you can only undo a merge if it was done locally. once it's pushed, i'm not sure if that's possible
benabik And generally changing published history is considered somewhat evil.
cotto_work It's possible but not recommended unless there a genuinely bad commit. 01:04
benabik soh_cah_toa: Git will happily change the refs any way you want it do. I could replace the entire history with a single commit saying "Look what I wrote"
soh_cah_toa yikes, that sounds bad
cotto_work benabik: please don't. ;]
soh_cah_toa which is why i've never seen how to do that :)
benabik You have to tell it that you really want to though.
And since many other people have the correct history, they'd just take away my commit bit and put it back. 01:05
cotto_work Hopefully if you know how, you know better.
allison heh, the one time I actually want to rewrite history :) 01:06
any recommendations on a svn/bzr/hg interface to git? 01:08
all the google results go the opposite way (a git interface to svn/bzr/hg)
ah... github.com/blog/626-announcing-svn-support 01:10
01:10 Khisanth left
benabik `git clone mirror.github.com/http://svn.github...ils/rails` 01:11
That URL bothers me. 01:12
cotto_work that's not a typo?
benabik No, although it doesn't work either.
cotto_work phew
allison it was an april fools thread, lots of random ideas :) 01:17
01:23 Khisanth joined 01:30 woosley joined 02:27 Kulag left 02:28 Kulag joined 02:34 Kulag left, Kulag joined 02:40 Kulag left 03:34 daniel-s joined 04:05 bubaflub left
dukeleto allison: what exactly are you trying to do? 04:17
allison dukeleto: with what?
GeJ allison: launchpad.net/bzr-git ? 04:20
dukeleto > allison: any recommendations on a svn/bzr/hg interface to git? 04:26
allison: are you looking for read-write in both directions? Only one way?
sorear dukeleto: from analyzing backlog, it appears allison does not like the git-core CLI and wants something more familiar to use for Parrot hacking 04:29
allison dukeleto: yah, looking to wrap git in a simple "update"/"commit" interface 04:30
dukeleto: curiously, I've been using git more lately for other projects, I just get annoyed when it bites me 04:33
dukeleto allison: one thing to note is that Github now has a web interface for editing files and committing, all in the browser
allison: for small changes of a few lines, especially docs, it is very handy
allison dukeleto: not so useful for applying patches
soh_cah_toa oh, very nice 04:34
github is so awesome
dukeleto allison: are you using "git apply" for patches?
allison dukeleto: nope 04:35
dukeleto allison: what does your simple update/commit interface feel like?
allison foo checkout X
work work work 04:36
foo commit
foo update
work work work
foo commit
dukeleto allison: what does update do? what does it update? a remote?
allison dukeleto: lol :)
dukeleto: you think like a git user :)
dukeleto allison: what else should I think like? ;) 04:37
allison dukeleto: update local to remote
dukeleto allison: and how do you want to say "update my local stuff" ? 04:38
allison foo update
svn up
dukeleto: but, I don't really have time to mess with it 04:39
dukeleto: someday I'll write a tool, maybe when I retire :) 04:40
dukeleto: hmm... maybe I can just make some handy shell aliases... 04:49
dalek rrot: 65041c4 | soh_cah_toa++ | src/runcore/ (2 files):
Fixed a few perldoc errors in src/runcore/* by adding =cut tags at the end.
04:55
soh_cah_toa don't we have a script that looks for TODO comments in p5 code? 05:07
05:38 soh_cah_toa left 05:42 jsut_ joined
cotto ~~ 05:43
05:47 jsut left 05:58 woosley left 06:11 woosley joined
moritz_ ack -w TODO src/ 06:26
ack --perl -w TODO src/ # if you really only want perl files
06:26 woosley left 06:31 woosley joined 06:35 he joined 06:51 pbaker1 joined 06:54 pbaker left 06:56 woosley left 06:57 woosley joined 07:00 dafrito joined 07:08 woosley left 07:26 mj41 joined
dalek kudo/nom-indirect-name-lookup: e923236 | moritz++ | src/Perl6/Actions.pm:
unnegate a condition, because it is easier to read that way. No functional change
08:13
kudo/nom-indirect-name-lookup: d724066 | moritz++ | src/Perl6/Actions.pm:
get the very simplest case of indirect name lookups via ::() working
08:15 rurban_ joined 08:17 rurban left, rurban_ is now known as rurban
dalek kudo/nom-indirect-name-lookup: b5cd9ac | moritz++ | src/core/operators.pm:
deal gracefully with NYI case of ::() lookups
08:40
kudo/nom: fcd142d | moritz++ | src/ (3 files):
first attempt at indirect name loookup.

Does not work yet, method term:sym<name> in Actions.pm needs to learn not to touch indirect name lookups first
09:00
kudo/nom: e923236 | moritz++ | src/Perl6/Actions.pm:
unnegate a condition, because it is easier to read that way. No functional change
kudo/nom: d724066 | moritz++ | src/Perl6/Actions.pm:
get the very simplest case of indirect name lookups via ::() working
kudo/nom: b5cd9ac | moritz++ | src/core/operators.pm:
deal gracefully with NYI case of ::() lookups
kudo/nom: 0f7be02 | moritz++ | src/ (3 files):
Merge branch 'nom-indirect-name-lookup' into nom
09:09 woosley joined 09:16 contingencyplan left 09:48 woosley left 09:51 Kulag joined 10:06 Kulag left 10:10 Kulag joined 10:40 smash joined
smash hello everyone 10:41
Felipe hello 10:43
11:25 jsut_ left
Coke ponders again trying out a git-svn workflow for his work. (since there's no way the other developers will ever use git over svn) 11:44
12:13 whiteknight joined
whiteknight good morning, #parrot 12:15
12:25 bluescreen joined 12:39 RobertLJ joined 12:57 moritz_ is now known as moritz 13:21 plobsing_ left
whiteknight loves to see tests pass 13:23
dalek R: d783008 | (Jay Emerson)++ | STATUS:
Attending a conference... progress stalled for the moment.
13:31
13:37 JimmyZ joined 13:46 JimmyZ left
Felipe whiteknight: morning :) 13:47
could someone take a look at my pull request?
whiteknight Felipe: sure 13:49
good morning
I'm building now 13:50
13:53 hercynium joined
whiteknight Felipe: If you're going to be making a lot of patches, you should send in a CLA 13:58
We'll make you a committer
Coke man. i have a small svn repo with 473 commits. I'm doing a "git svn fetch" on it now, and it's slooooww. I cannot image how long this took when I was git-svn'ing parrot. 14:01
whiteknight Coke: hours 14:02
Felipe whiteknight: thanks 14:03
whiteknight: can I send it (CLA) via PDF? 14:08
whiteknight Felipe: yes, there is a fax or email option
I don't remember the details. The CLA document should tell you what tod o
to do 14:09
Felipe k, I'll read it.
dalek rrot: a4dd9e0 | Whiteknight++ | compilers/imcc/ (3 files):
Merge branch 'master' of git://github.com/felipensp/parrot
rrot: a3d4738 | Whiteknight++ | compilers/imcc/imcparser. (2 files):
Re-generate lex and yacc files. Merge pull request from Felipe++
whiteknight pull request merged. Felipe++ 14:10
14:12 he left
Felipe whiteknight++ thanks! 14:13
dalek TT #1640 closed by Felipe++: Method names that start with '@' are not recognized. 14:21
TT #1640: trac.parrot.org/parrot/ticket/1640
NotFound is flaming the mailing lists about windows support 14:30
14:38 JimmyZ joined
whiteknight is flaming the windows code 14:38
dalek rrot: bd1c96d | Whiteknight++ | src/platform/win32/dl.c:
Add in a slightly less bad, but still no better, hack to find libc functions on windows. Instead of looking up modules by string name, which are guaranteed to change because 'why the heck not?', we can use an undocumented trick to find the HMODULE owner for a particular function pointer. See in-code comments and TT #2150 for more details.
whiteknight needs a shower after that filth
Coke agrees with kevin, and has already done that.
Coke needs to have a big button to push to run a fresh smoke on parrot on windows. (right now I need 2 windows open, so cannot script it) 14:39
14:41 hercynium left
NotFound whiteknight: that hack is for finding libc functions, or libparrot functions? 14:42
14:42 hercynium joined
NotFound NM, have seen it now. 14:44
whiteknight NotFound: if you have a free moment, would you be able to run a quick smolder report from winxp with that fix?
it works here on win7, I want to make sure it goes back to winxp 14:45
NotFound I'll do, but I'm increasingly losing sympathy for that kind of things.
whiteknight you don't have to if you don't want to. If nobody uses it, we don't need to care if it's broken 14:46
I have a windows VM I use for iTunes. I can try to set up activeperl and MSVC on it 14:47
NotFound I don't mind doing it, but I dislike people implying that we have a morale imperative to do it.
whiteknight no. no moral imperative. 14:50
14:52 simcop2387 left
NotFound Oh, and I mention windows just because I've do parrot things on it several times, but the same applies to Mac OS whatever. 14:54
Coke whiteknight: I have a dev box I use for work that I will try to regularly smoke on windows going forward. 14:55
I don't think there's a /moral/ imperitive. I think that if we ever want parrot to be USED, having it work on windows is kind of a requirement. 14:56
whiteknight Coke: I'm not trying to guilt more people into setting up more windows smokers. It's the lack of developers on those systems that's the big hassle
like before the 3.6 release, we know for two weeks that there were test failures on windows, and they didn't get fixed until the monday before a big release
Coke whiteknight: Yup. More addressed at NF.
whiteknight finding bugs is not a problem, getting those bugs fixed is the big challenge
NotFound Coke: it may be a requirement for people that use windows a lot. Not for me. 14:57
whiteknight I use windows at work, but it's hard to spend more than a few seconds at a time looking at Parrot code when I'm supposed to be clocked in and doing $dayjob
Coke NotFound: to each their own, obviously. I think it needs to be a goal of /the foundation/ to drive that sort of thing.
(which, as a director, no doubt I did a crappy job at. Now I blame whiteknight instead, much easier)
14:58 simcop2387 joined
NotFound Coke: if the sort of thing is portability in general, I can agree. If it's specific for one, I disagree, no matter how popular it may be. 15:00
whiteknight having smolder working, and having smokers running is a big first step, and a very important one to take
As I said in my one email, we don't have a defined list of supported platforms anymore, at least not an updated one 15:01
Windows XP very well may not be supported or supportable anymore
NotFound whiteknight: I'm not opposed. Some months ago there was a check in the codebase demanding W 2000 or later. 15:02
whiteknight NotFound: If we have a parrot hacker on winxp, that's one thing. If we don't have any hackers, and can't even buy a new copy of it, that's hard to get around
so we have to hope that people have winxp still installed, or still have their cds around
NotFound I just mention that XP is the only Windows platform I have available. If parrot doesn't build on it, I can't check anything windows related. I will survive. 15:03
benabik I have XP around, although I have no dev envrionment set up for it right now. 15:04
whiteknight putting together a list of supported platforms seems like it's something a product-managerish person should be responsible for
NotFound But maybe windows support don't survive ;)
whiteknight: nciutils.t still fails 15:22
whiteknight damnit
RobertLJ sorry I am coing into the conversation a bit late .. is there a need for smoke testing on Windows ? 15:30
I have access to Win7 .. and have buit parrot using Strawberry perl in the past 15:31
NotFound RobertLJ: yes, will be good to see if the problem is the same in Win7 than in XP. 15:33
RobertLJ Is the somke server currently available ?
NotFound RobertLJ: yes
15:33 bluescreen left
RobertLJ so what is needed is for someone to run smoke test on windows for win XP and Windows 7 ? 15:34
is that correct ?
15:34 bluescreen joined
NotFound RobertLJ: I've do it with strawberry in XP, having a smoke with strawberry in Windows 7 in order to compare is what can help now. 15:36
In the long run, having regular smokes from both will be nice.
RobertLJ got ya .. I think I can help with that 15:37
15:37 simcop2387_ joined
RobertLJ this is great .. been loking for a way to get involved in parrot 15:37
whiteknight RobertLJ++ 15:38
NotFound There's more than one way to get involved ;)
15:38 simcop2387 left, simcop2387_ is now known as simcop2387
RobertLJ I'm sure there is a long list ;-) 15:38
15:48 ambs joined
whiteknight it's good to get started somewhere 15:49
15:53 JimmyZ left 15:54 bluescreen left
dalek kudo/nom: 2357ca6 | moritz++ | src/core/Str.pm:
implement Str.split(Regex, :$all) -- no limit yet
15:54
dukeleto ~~ 15:55
15:55 bluescreen joined 15:57 alester joined
dalek kudo/nom: 69fe226 | moritz++ | src/core/operators.pm:
implement indirect name lookup of composed names ::("X::Base")
16:03
NotFound whiteknight: the module that find_module_from_func(atoi) returns here is libparrot 16:06
whiteknight it should return the libparrot module the first time. Should return the libc module the second 16:10
16:14 rurban__ joined
NotFound Looks like the msvcrt lib that this thing is using is static. 16:15
So it is linked into libparrot, and GetProcAddress does not found the symbol because it hasn't extern linkage attributes. 16:16
16:17 rurban left, rurban__ is now known as rurban
Felipe whiteknight: I've sent the CLA. 16:23
whiteknight Felipe++. I'll look at it as soon as I get it 16:24
NotFound: That sucks. There might be no solution
We could try to dynamically load msvcrt anyway, but that might cause problems 16:25
Felipe: Got it. Next tuesday at our weekly meeting in #parrotsketch, we'll nominate you and vote on it 16:28
NotFound The simple solution is to delete the tests and document that getting symbols from the C std library is platform dependant and not granted to work. 16:29
16:30 daniel-s left
whiteknight I like that solution 16:30
Comment on TT #2150
16:31 dafrito left
Felipe whiteknight: okay, thanks. 16:31
16:31 jsut joined
whiteknight Felipe: Meeting is every week, 19:30 UTC, in #parrotsketch. You can attend if you want 16:32
People give reports before the meeting: What you did last week, what you will do, what tickets you worked on, what you are blocked on, etc 16:33
16:33 RobertLJ left
whiteknight Then we chat and ask questions and stuff 16:33
16:33 SHODAN joined
NotFound whiteknight: commented 16:34
whiteknight NotFound++
16:35 darbelo joined
cotto ~~ 16:38
does dalek still do rss feeds? I don't see any blogs in misc/dalek-conf.json 16:40
whiteknight I don't know 16:41
16:44 lichtkind joined
benabik If it does, maybe we should point it a Planet Parrot. 16:45
cotto That'd be fine by me.
16:46 darbelo_ joined, darbelo left
dalek rrot: e890ebe | dukeleto++ | docs/project/support_policy.pod:
[doc] Remove some antiquated references to svn--
16:46
16:46 darbelo_ left
16:46 darbelo joined
benabik karma svn 16:50
aloha svn has karma of -21.
benabik hehe
svn can now drink negative beer
cotto benabik, you misspelled svn-- 16:52
common mistake 16:53
;]
benabik cotto++ # helping me fix my spelling
17:08 dodathome joined 17:12 darbelo_ joined, darbelo left, darbelo joined, darbelo_ left 17:21 lichtkind left 17:22 jay joined
dukeleto attempting to use PHP's PEAR really makes you appreciate CPAN 17:23
atrodo dukeleto> Are you sure you don't want PECL? 17:24
dukeleto atrodo: maybe i do 17:25
atrodo: what I actually want is PHP code coverage that doesn't suck 17:26
atrodo dukeleto> Can't help you there. Just have never been able to figure out the mess that is php's libraries 17:28
cotto_work ~~
dukeleto atrodo: PECL seems to be for C extensions to PHP (what could go wrong? tests? what are tests?) and seem to be compatible with PEAR
cotto_work: have you ever used a PHP code coverage utility that you didn't hate? 17:29
cotto_work dukeleto: they have those?
atrodo dukeleto> That's what I seem to recall as well. But I could never figure out why they needed multiple extension libraries.
dukeleto cotto_work: indeed they do, but not many use them. 17:30
atrodo has still never figured out why cpan is still so good compared to everyone else 17:31
whiteknight volume
cotto_work dukeleto: I'm more surprised that they have coverage tools than that they don't use them.
whiteknight We really need coverage tools for Parrot
17:31 mj41 left
cotto_work dukeleto: what's your interest in php? 17:32
dukeleto phpcoverage.sourceforge.net is one coverage tool
17:32 lucian joined 17:33 lichtkind joined
dukeleto lucian: howdy 17:33
lucian dukeleto: hi 17:34
re. aloha, i didn't really have anything to blog about
17:35 lichtkind left
dukeleto lucian: you can blog about what your current status is, and what you have tried that didn't work, and what you will try next 17:35
lucian: there is plenty to blog about
lucian ok 17:36
dukeleto lucian: it is also your soapbox to describe what things in parrot need to be improved
lucian: which I am sure you have plenty to say about :)
lucian perhaps :)
dalek kudo/nom: e2279de | pmichaud++ | src/core/Numeric.pm:
Fix .count for various numeric operators. flussence++ .
atrodo wait, when did lucian have stong opinions about improvements to parrot? ;) 17:39
Since we talked about the subject, does plumage have a website?
dukeleto atrodo: i have been thinking that it needs one. We need something like modules.perl6.org 17:43
17:47 writtencode left 17:48 writtencode joined, contingencyplan joined, RobertLJ joined 17:50 fperrad joined
whiteknight I would like to get on the parrot.github.org bandwagon 17:51
We can have a lot more flexibility to add new pages and content there than we would have on parrot.org 17:52
parrot.github.org/plumage would be a great page for it
atrodo I would vote for it's own website 17:53
whiteknight is it worth the infrastructure costs, in terms of manpower and maybe even money? 17:54
If we're doing the github pages thing, We could have a website up tonight 17:55
and all current parrot hackers with a commit bit could edit it
atrodo I would guess in the long term it would be. Although, I'm thinking it'd be like cpan is now 17:56
whiteknight okay, I'm not thinking of anything so grandiose
17:56 mj41 joined
dukeleto atrodo: easier said than done 17:56
whiteknight: i am with you
whiteknight plumage is basically just a metadata store, it doesn't contain the actual packages
atrodo dukeleto> I'm aware. Something quick for now would do
dukeleto something like pgxn.org/ is something to shoot for in the long term. But github pages for now... 17:58
whiteknight: if you start a gh-pages branch in plumage.git, i will help
whiteknight okay, I may play with that tonight 17:59
Plumage really doesn't get enough love. I want to get in there and clean up the code too
I've thought about putting together a replacement with winxed/rosella, but I haven't yet 18:00
plus, I don't want to deal with the bootstrapping issues 18:02
dukeleto whiteknight: plumage does what it tries to do well, currently. Why do we need to refactor it yet again? We need your refactoring abillities in core more than in Plumage 18:03
whiteknight dukeleto: You can't contain me. I'm like a free spirit, man
atrodo Does plumage have a database it pulls from for packages?
whiteknight atrodo: a json file, I think
or yaml
dukeleto atrodo: yeah, project.json in the root of the plumage.git repo, methinks
cotto_work I notice that master still hasn't broken. 18:04
whiteknight atrodo: github.com/parrot/plumage/tree/mas...e/metadata
dukeleto atrodo: i lied. github.com/parrot/plumage/tree/mas...e/metadata
whiteknight cotto_work: I'm doing my best!
dukeleto whiteknight-- for beating me
atrodo Yay! Data overload!
writtencode Hey guys, just want to point out something in the docs about the grammar (docs.parrot.org/parrot/latest/html/....pod.html) - Under "Rules and Tokens", there's the line "The record rule given previously would match "6355 John" or "6355 John" but not "6355John"." The two examples of what would work appear to be exactly the same; I assume there's supposed to be an endline or extra space, but there ddoesn't 18:05
whiteknight writtencode: yes, that does look suspicious
writtencode Mm'k, hope it helps :) 18:06
whiteknight We'll have to figure out what it is supposed to be, then fix it.
dukeleto whiteknight: hey, IMCC called and said that it disgraced your village, and that you should stop trying to contain its freewheelin' antics, man
writtencode It's about smart whitespace matching, so it probably just needs blatant extra whitespace characters 18:07
whiteknight dukeleto: THE BASTARD! IT'S CLOBBERING TIME!
atrodo dukeleto++
dukeleto imagines IMCC riding a hog in Easy Rider, flipping off whiteknight++ 18:08
18:10 dmalcolm joined 18:13 darbelo_ joined, darbelo left
atrodo whiteknight> ping 18:13
whiteknight pong 18:14
atrodo whiteknight> I wanted to pick your brain real quick if you have a few minutes
(about m0/lorito)
whiteknight yeah, sure 18:15
atrodo whiteknight> So I'm thinking again about how you would take a complete m0, and replace parts, but not all, of parrot with it 18:16
And I'm just unable to figure out how it would work
whiteknight atrodo: My thought is this: We set up a preprocessing utility that converts M0 into C code 18:17
like how pmc2c converts the crappy pmc language into regular C
or ops2c does the same thing
dalek TT #2161 created by whiteknight++: Whitespace confusion in PCT docs 18:18
TT #2161: trac.parrot.org/parrot/ticket/2161
whiteknight Basically, the idea is that we can write M0 code long before we have to be interpreting it through the M0 runloop. Divorce the two ideas
Write the code and have it be translated to C as part of the build
18:18 RobertLJ left
dukeleto whiteknight: quite subversive and nefarious. I like it. 18:19
whiteknight Then, when you have everything in M0 that you want to have in it, you can start changing the build to compile it down to bytecode instead and change the way we call into it
atrodo whiteknight> So you'd have to change all/most the C code before you can start introducing an actual m0 runcore? 18:20
dukeleto atrodo: why do you say that?
whiteknight atrodo: On a per-subsystem basis
atrodo whiteknight> Yes
whiteknight rewrite one subsystem in M0, then change that system to execute through the runloop 18:21
dukeleto atrodo: for instance, simple PMCs should be able to be converted to M0 without most of the rest of Parrot being in M0
whiteknight A few macros placed judiciously would allow us to do a compile-time switch between C mode and M0 mode
dukeleto I think implementing the Integer PMC in M0 or mole will be a valuable litmus test.
atrodo dukeleto> right. But you wouldn't have a m0 runcore until all or most of the internals are converted to m0
whiteknight I think taking the Integer PMC out back and shooting it with a shotgun filled with used medical syringes would be better 18:22
dukeleto whiteknight: what pmc would you prefer? and why so much hate for Integer PMC?
whiteknight Something that isn't so tangled up with the Scalar PMC would be better 18:23
*PMCArray would be better, methinks
lucian writtencode: it might even be desirable to keep the option of compiling to C 18:24
atrodo whiteknight> Feelings for inanimate concepts aside, let's take a simple example that is causing me a major road block. And perhaps it's not applicable to PMCs as much as other subsystems
whiteknight atrodo: sure
atrodo whiteknight> What about impedance mismatches between m0 and parrot. The example that comes to mind is registers 18:25
If a section of C code is accessing parrot registers, how would that translate appropriately into m0, who's concept of registers is slightly differnt
whiteknight very very few places in parrot interact with registers at the PIR level directly 18:26
like: maybe zero
atrodo What about PCC?
Coke nonzero, as I think pmichaud pointed out recently.
whiteknight okay, maybe one 18:27
Accessing registers in the CallContext object from the C internals is very rare
the ops usually rip things out of the registers, pass them to C functions, then store results back in registers. The ops are the interface for that kind of stuff 18:28
atrodo: So I guess I'm not sure what you're getting at? 18:29
atrodo whiteknight> I thought the use of registers was more widespread than that, which would cause some impedance mismatches. 18:30
whiteknight PCC does it, MMD does it too, I think.
Coke whiteknight: smolder.parrot.org/app/projects/rep...ails/18373
whiteknight no, nevermind. MMD pulls there registers out of the CallContext signature 18:31
Coke++
atrodo whiteknight> So, take this at-some-point future scenario. We have a working m0, runcore and mole. There is even a ops2m0 written that will translate existing ops into sequences of m0 ops
The next step would be making parrot available to the m0 runcore in that scenario. 18:32
nopaste "Coke" at 192.168.1.3 pasted "This Parrot cannot read bytecode files with version 10" (7 lines) at nopaste.snit.ch/63097 18:33
Coke blah.
dukeleto Coke: perl Configure.pl --gen-parrot
atrodo So far, the only ideas I have had are to compile most of the existing parrot subsystems down to m0 through a c2m0 library so parrot would literally run on top of m0
18:34 RobertLJ joined
Coke dukeleto: that doesn't work, because GIT + C++ are not both available in the same shell. 18:34
so I can't have the compile step automatically check things out via git for me.
dukeleto Coke: sounds like a bug in the operating system 18:35
whiteknight atrodo: That's basically what I am talking about with my idea, but a more gradual mechanism. Convert everything that's going to be converted to M0 and compile to C to test the semantics keep working
atrodo Or, there is a parrot interface PMC/m0 object that ops2m0 uses to call into parrot internals
Coke dukeleto: most helpful.
whiteknight atrodo: then, when you've translated everything that's going to be translated, we switch over so that it runs from the runloop
brb
Coke this is very likely due to the fact that parrot doesn't have its act together when installing multiple simultaneous versions, is all.
(esp. since we just changed the version of the bytecode with the release.) 18:36
ah. more likely due to an old build of nqp and a new build of parrot. 18:37
whiteknight yes, that would definitely cause a problem 18:48
What would it take to make multiple versions of Parrot installable simultaneously? 19:02
I mean, do we know it can't be done?
jay ~~
whiteknight hello jay
jay I've got some benchmarks. Interested?
whiteknight youbetcha 19:03
jay The task: calculate the mean of N pseudo-random exponentials.
In NQR, I have a simple PIR loop doing calls to R's random number generator, and the mean is calculated using the GNU Scientific library function. 19:04
Result: both R and NQR have linear complexity, but the slope is substantially higher for NQR. 19:05
The real difference (as far as I can tell): the PIR loop seems to be a much less efficient wrapper to the random number generation than R's C loops.
whiteknight I'm sure. We don't have JIT yet so that's a big part of it 19:06
jay I don't think there is any other overhead getting in the way.
Good to know -- good to know you aren't surprised, that is.
19:06 RobertLJ left
whiteknight you wrote the loop in PIR? or you wrote it in NQR? 19:06
jay Well, the code is NQR, but I implemented the loop in PIR, yes, as runtime. 19:07
dukeleto whiteknight: it is because our configure subsystem makes assumptions that are dumb and wrong, and because parrot x.y.z and parrot x.y.z+commits are both installed into the same place 19:08
whiteknight okay
dukeleto whiteknight: if we installed dev versions into a directory containing a git-describe string, that would probably solve the "multiple simultaneous parrot versions" problem
whiteknight but, discrete versions can be installed simultaneously?
like parrot 3.5.0 and parrot 3.6.0 can live peacefully? 19:09
dukeleto whiteknight: yes
whiteknight okay, nice
dukeleto whiteknight: because they live in different directories
whiteknight that doesn't seem like too hard a problem to solve
dukeleto whiteknight: but if master happens to be 100 commits past 3.6.0, it will still install into the 3.6.0 folder
jay When I build 3.6.0 I got a warning about possible conflicts with previously installed libparrot I think. But I'm happily running the newest and greatest now, no problem.
dukeleto jay: yeah, that is because you had an older version of parrot installed. It can occasionally cause a build failure, but if stuff compiled, you are fine 19:10
jay If I have an NQR script, can I "compile" it, or compile the bytecode for faster performance? 19:14
< I could be asking the same question about squaak, of course > 19:15
whiteknight yes
I need to double-check, but I think you can do something like this: "parrot-nqp --target=pir --output=foo.pir nqr.pbc foo.r 19:16
"
moritz or maybe just
./nqp --target=pir foo.r > foo.pir
erm
./nqr
if you have a newer version that builds a fakexecutable
whiteknight yeah, that looks cleaner
jay will try... 19:17
Ok, I now seem to have a PIR file. Can it be compiled to machine code now? 19:19
whiteknight and then once you have the .pir, you can do "parrot -o foo.pbc foo.pir" to get bytecode
jay LOL whiteknight++
whiteknight and "parrot foo.pbc" to run it
I don't know how well that all works, especially if you have runtime files to include 19:20
jay Yeah, not so well... 19:23
jay@bayesman:~/Desktop/NQR$ parrot foo.pbc
Could not find sub !intarray
current instr.: '_block1000' pc 6 (foo.pir:8) (benchmark3.nqr:3)
whiteknight yeah, there's going to be a trick to it
moritz you might need to loade_bytecode your compiled runtime files in the generated files
jay that !intarray is my version of squaak's !array, defined in my runtime.
whiteknight jay, and that's in the main compiler file? 19:24
jay I thought so, I defined it in the top of Runtime.pm just as was done in squaak, so I thought that was used as an onload 19:25
I think we'll put this on the back burner for now. I may need to put things in different places or do what moritz suggested with load_bytecode. 19:29
dalek R: d2afee1 | (Jay Emerson)++ | s (4 files):
Vectorized rexp() and fixed mean()
19:30
whiteknight jay: I'll try to take a look at it soon
dalek R: 64e8759 | (Jay Emerson)++ | RANDOM.NOTES:
Added whiteknight++ and moritz++ suggestions on compiling to
19:31
jay Thanks. Not really NQR-specific, you could in theory be interested in the same thing for a squaak script, right?
whiteknight right 19:32
dalek kudo/nom: 823f449 | moritz++ | / (3 files):
implement &floor and &reverse, add more test files
whiteknight we'll get it working in NQR, then backport the knowledge to the docs
it's the circle of life
19:35 simcop2387_ joined 19:36 simcop2387 left, simcop2387_ is now known as simcop2387 19:44 alester left
jay What is the state of threading? (Trying to put together some slides for a talk) 19:52
whiteknight state_of_threading = 0 19:53
er, maybe 0.5
jay Ok... "in the pipeline"?
whiteknight yes
20:00 soh_cah_toa joined
soh_cah_toa ~~ 20:01
whiteknight hello soh_cah_toa
soh_cah_toa whiteknight: howdy 20:02
whiteknight how are you doing today?
soh_cah_toa not bad. trying to setup parrot on openbsd 20:03
which is not fun
whiteknight I imagine not. I used to do it a lot with solaris, but that really lost its appeal after a while 20:04
soh_cah_toa oh yeah, i've tried that too
whiteknight I had it working pretty well for a while, but I changed computers and never bothered reinstalling it
soh_cah_toa the real pain is getting used to a different package manager
whiteknight yeah 20:05
what is it there, pkg?
soh_cah_toa yeah, you can use the pkg_* commands or the ports collection
it took me about 1+ hours yesterday to install git b/c the ports is just a bunch of Makefiles so i had to compile a TON of dependencies 20:06
20:07 bluescreen left
whiteknight ouch 20:08
soh_cah_toa oh yeah 20:09
we need the tests run though
20:17 bluescreen joined 20:23 whiteknight left 20:24 jay left 20:37 particle left
Coke TLILY 20:44
20:44 Coke left 20:45 Coke joined
dalek R: 948b2fa | (Jay Emerson)++ | benchmark3.nqr:
Added a benchmark example script
20:49
20:57 darbelo joined, darbelo_ left
dalek kudo/nom: e6f6b27 | moritz++ | src/core/ (2 files):
basic Str.comb implementation
21:01
21:05 fperrad left 21:15 dodathome left 21:19 SHODAN left 21:20 smash left 21:22 perlite left 21:23 perlite joined 21:28 ambs left, rdesfo joined 21:34 rdesfo left 21:35 bluescreen left 21:37 dmalcolm left 21:43 Psyche^ joined 21:49 Patterner left, Psyche^ is now known as Patterner 22:25 hercynium left 22:32 mj41 left 22:37 kid51 joined 22:44 darbelo_ joined, darbelo left
soh_cah_toa test failures on openbsd: smolder.parrot.org/app/projects/rep...ails/18391 22:44
Felipe hm 22:48
benabik installing Lion & 22:53
22:53 benabik left
dukeleto soh_cah_toa: looks like get_pointer doesn't work correctly, which is causing the extend_vtable test failure 22:55
soh_cah_toa eh, not too familiar w/ the vtable functions 22:56
looking at t/dynpmc/os.t though...looks like there no openbsd test at all
though i'm really bad at reading other people's tests :\\ 22:57
kid51 That's the first Smolder report we've had on OpenBSD since Sept 2010! 22:58
soh_cah_toa wow :O
dukeleto soh_cah_toa: the get_pointer test is saying that a NULL pointer was returned, which is why the test is failing 22:59
kid51 dukeleto: Is there some reason you haven't set up a smoker on OpenBSD at the compile farm?
soh_cah_toa hm
kid51 dukeleto: I would consider doing it, but not if you've already discovered it won't work 23:00
dukeleto kid51: when i tried, it wouldn't compile. Could have been a similar issue to the one that just got noticed by doughera++ and fixed
kid51: i haven't tried in a few months
kid51: i thought it was a memory issue/gc bug when i gave up 23:01
soh_cah_toa it compiles and installs fine now. just those tests fails
dukeleto soh_cah_toa: on that machine
soh_cah_toa yeah 23:02
kid51 away phone
dalek rrot: d78ddd0 | dukeleto++ | t/README.pod:
[doc] Add instructions about smoking parrot to the test suite readme
23:07
soh_cah_toa dukeleto++ 23:08
believe it or not, that's actually one of the hardest parts of installing parrot on openbsd. that's why i'm writing a "installing parrot on openbsd" guide for the wiki right now 23:09
23:09 whiteknight joined
dalek rrot: 44aaea4 | dukeleto++ | t/README.pod:
[doc] Add a note about the smolder_coretest makefile target to the test suite readme
23:09
whiteknight good evening, #parrot 23:11
Felipe good evening
dukeleto whiteknight: howdy
looks like the chroot test that fails on openbsd is either wrong, or should be skipped on openbsd. Possibly a security feature which prevents nested symbolic links 23:12
whiteknight hello Felipe, dukeleto
dukeleto: I like writing new tests, I like getting rid of bad tests even more
soh_cah_toa ah
dukeleto: if that's the case, do you think it should just be skipped? 23:14
dukeleto soh_cah_toa: that is just my guess 23:16
soh_cah_toa looks like you're right: "too many levels of symbolic links" 23:17
dukeleto soh_cah_toa: yes, i read the test output to formulate my guess ;) 23:19
soh_cah_toa i didn't know how you knew that. i suck at this kinda stuff 23:20
dukeleto soh_cah_toa: the more you do it, the less suckage. I have been staring at byzantine test output for a few more years than you have :) 23:22
dukeleto compiles parrot on the gcc compile farm openbsd machine, which is a 1 GHz Sun UltraSPARC-IIIi 23:24
Felipe :D 23:25
soh_cah_toa anyway, is it ok to just skip it on openbsd? i can have a patch in < 5 minutes
dukeleto soh_cah_toa: no, i misread the test output. the regex that the test is using to detect too many levels of links is wrong on openbsd 23:28
soh_cah_toa: fix the regex so it is more forgiving
soh_cah_toa looks
23:28 rdesfo joined
kid51 back 23:29
dukeleto soh_cah_toa: checking if the output contains "chroot failed: Too many levels of symbolic links" is probably sufficient
soh_cah_toa: or just "chroot failed"
soh_cah_toa ok
dukeleto soh_cah_toa: this is the problem with not having exception objects 23:30
if only chromatic were here to scold us
kid51 soh_cah_toa: Do you have a dedicated openbsd box? A vm? An account somewhere?
soh_cah_toa kid51: both vm and box. though the smoke report was from a vm 23:31
kid51 Very interesting. I often go to the NYC BSD User group meeting (albeit mostly for the beer).
But they're mostly sysadmins, netadmins, etc., so languages and process VMs are not their major interest. 23:32
soh_cah_toa right
kid51 If I found someone like that in NYC who was interested in Parrot, that would be an incentive for me to learn more about BSD. 23:33
I know Linux more only because of (a) Linode; (b) day job.
If I could get something like Linode on FreeBSD, I'd definitely explore it. 23:34
kid51 doesn't like hardware
soh_cah_toa i actually like freebsd a lot more than openbsd but openbsd is a lot more secure
kid51 I've gone to several editions of the NYC BSD conference. 23:35
soh_cah_toa cool, didn't know there was one
kid51 We had George Neville-Neil speak at Perl Seminar NY
In fact, I quoted him in a parrot.org blog last October
Tene kid51: I've got a VM server here that's not doing much; I'd be glad to give you a VM to install freebsd on. 23:36
soh_cah_toa oh, very neat
kid51 probably: nycbug.org
Tene or anyone else here
kid51 Tene: I'll definitely consider that
... but now I have to start working on my FOSSCON talk/slides
soh_cah_toa will brb
Tene anyone who wants VMs for parrot hacking or testing, email me at allalone.org 23:37
kid51 afk 23:38
23:38 lucian left 23:41 contingencyplan left
dukeleto notes that it took 10 minutes to compile the parrot core ops on gcc64 (must easier to type than "the openbsd compile farm machine that happens to be a sparc") 23:41
dalek href="https://parrot.github.com:">parrot.github.com: 25b81ce | Whiteknight++ | index.md:
test
href="https://parrot.github.com:">parrot.github.com: d3643a7 | Whiteknight++ | _layouts/site.html:
Redo the layout as a quick skeleton
23:44
soh_cah_toa is back 23:47
dalek href="https://parrot.github.com:">parrot.github.com: 03c512e | Whiteknight++ | / (2 files):
borrow liberally from docs.parrot.org
23:48
href="https://parrot.github.com:">parrot.github.com: b752ef7 | Whiteknight++ | _layouts/site.html:
fix path to css file
23:49
23:56 rdesfo left
dalek href="https://parrot.github.com:">parrot.github.com: 2a04069 | Whiteknight++ | _layouts/site.html:
fix header image
23:57
href="https://parrot.github.com:">parrot.github.com: 07cdef2 | Whiteknight++ | _layouts/site.html:
Break out a sidebar with some stubbed-out sections
href="https://parrot.github.com:">parrot.github.com: fa9d330 | Whiteknight++ | stylesheets/parrot.css:
+CSS fixes
href="https://parrot.github.com:">parrot.github.com: 5227fb0 | Whiteknight++ | stylesheets/parrot.css:
hack-fix to make the sidebar not overflow the outer wrapper div
23:59