Parrot 2.6.0 | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 13 tickets, merge outstanding branches, help NotFound clean up PBC tests
Set by moderator on 17 August 2010.
00:01 Psyche^ joined 00:15 chromatic joined 00:56 kurahaupo joined 01:21 kid51 joined
kid51 backscrolls, then asks "It appears we have not yet released 2.7.0 -- correct?" 01:25
chromatic I saw the release announcement. 01:26
cotto_work I was later than normal but semed to hit parrot-dev and parrot-users just fine 01:27
kid51 Channel Topic needs changing
moderator Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 13 tickets, merge outstanding branches, help NotFound clean up PBC tests 01:27
cotto_work no it doesn't 01:28
;)
time for not-work
chromatic What's "not-work"?
kid51 msg NotFound If there's anything I can do to help you from the Darwin/PPC angle on the PBC tests, please let me know.
purl Message for notfound stored.
kid51 Ah, I guess the fact that it was later than usual meant that it has not yet been included in the 'digest' versions of various mail lists. 01:32
But I see it on the news interface and on www.parrot.org 01:33
chromatic Likely.
kid51 mikehh++
01:33 bacek_in_sing joined
kid51 bacek_in_sing: Is 'sing' Singapore? 01:34
bacek_in_sing kid51: yes. Biz trip.
kid51 Is it tropically hot there all year round?
Rainy season? Dry season?
bacek_in_sing it's about +32C. 01:35
Cloudy, rainy.
Didn't see sun for last couple of days :)
kid51 purl +32C
purl kid51: sorry...
kid51 purl can you do temperature conversions?
purl kid51: no idea
bacek_in_sing purl: convert 32 celsius to farenhiet 01:36
purl I don't know how to do that.
bacek_in_sing meh
kid51 purl convert 32 celsius to fahrenheit
purl 32 Celsius is 89.6 Fahrenheit.
Chandon 20 is room temperature, 30 is hot.
kid51 spelling
purl somebody said spelling was not one of Nicholas's strong points or trucky. or tricky :)
chromatic 90 F
bacek_in_sing purl: 9/5*32+32
purl 89.6
kid51 So, basically, the weather in Singapore today is just like the weather in New York City today :-(
bacek_in_sing kid51: may be :) 01:37
kid51 is demoralized by the endless hot NYC weather
bacek_in_sing it's much more humid is Singapore.
kid51 15 C in San Francisco seems mighty nice after the last 7 weeks
bacek_in_sing And I do like hot weather 01:38
kid51 make test PASS; smolder still down 01:39
kid51 is going to a Ruby meetup tomorrow night 01:40
... 'cause the topic is test-driven development
cotto ~~ 01:47
01:47 theory joined
kid51 Are there any GSOC branches in Subversion which need testing over next week? 01:48
cotto gsoc_instrument doesn't 01:49
dalek rrot-linear-algebra: 95996f9 | Whiteknight++ | / (5 files):
fix a bounds issue in row_combine which was setting off a segfault. Implement/fix a lot more tests.
02:01
rrot-linear-algebra: df0721b | Whiteknight++ | / (2 files):
ComplexMatrix2D.get_integer* returns the magnitude of the complex value, not just the real part of it. This matches behavior of Parrot's Complex PMC, and makes a few more tests pass. Also, fix the row_combine test. NQP is casting the complex values to floats for the addition, which was screwing up the result. Be explicit that the arithmetic should happen by the Complex PMC's rules
rrot-linear-algebra: c201fae | Whiteknight++ | t/pmc/complexmatrix2d.t:
add GEMM test methods for ComplexMatrix2D. All tests pass for the core matrix types.
whiteknight ...and with that, I'm off to bed 02:04
cotto is relieved to find that his two mistakes of not noticing that set.ops was modified and forgetting to run bootstrap-ops canceled out. 02:06
02:07 mj41_ joined
dalek rrot: r48564 | cotto++ | trunk (6 files):
[pmc] add cot and csc to the Float PMC, closing TT #481
02:16
dukeleto cotto: so if I modify an ops file, i have to run something for that to take effect? 02:17
cotto yup 02:18
unless it's a dynop
dukeleto cotto: i have been going crazy modifying math.ops and not seeing any difference
chromatic MATH IS A FUNDAMENTAL PROPERTY OF THE UNIVERSE YOU CANNOT CHANGE IT
cotto we'll see about that
dukeleto, you need to gripe more. Sadly, making the changes take place automatically causes a circular dependency. 02:19
dukeleto gripes
nopaste "kid51" at 192.168.1.3 pasted "t/pmc/nci.t fails one test at r48563 on Darwin/PPC" (116 lines) at nopaste.snit.ch/22891
dukeleto cotto: thanks for the gem of knowldege. I am going to put it to good use
cotto though I'm seeing now that bootstrap-ops causes something to break 02:20
chromatic Ugh, that _CONST_STRING is a mess.
kid51 msg NotFound see nopaste.snit.ch/22891
purl Message for notfound stored.
dukeleto chromatic: i wish our math ops knew that
cotto Ah. needs a clean after the boostrap-ops to clear out the old pbc 02:21
Interesting. Apparently allison's working at Canonical now. 02:46
02:48 janus joined
allison cotto: Yah, the first couple of weeks have been busy, but it's settling down. 02:48
02:49 tcurtis joined
cotto what are you architecting? 02:50
allison cotto: Ubuntu 03:00
cotto: the whole project and all the various distributions within it (Kubuntu, etc)
cotto: which is, of course, a ridiculously huge task, and there's no way one person could do it alone 03:01
cotto: they've already got a good distributed design process in their "blueprints"
atrodo wow! 03:02
allison cotto: but what they haven't had, until now, is someone to watch over the overall consistency
cotto: i.e. what we call the "Chief Architect"
cotto sounds heavy 03:10
and a great place to make a difference 03:11
03:45 bacek_in_sing joined 04:10 Coke joined
Coke ~~ 04:11
dukeleto allison: congrats on your new gig. does that mean you are moving or is it telecommute? 04:23
cotto: so if I change a .ops file, you need a "make bootstrap-ops clean" ? that can get time-consuming 04:25
cotto dukeleto, yes, that's an unfortunate consequence of the way the build currently works 04:26
actually, you don't technically need the second clean unless you're invalidating pbc 04:32
you can also just run ./ops2c --core directly 04:33
04:35 macroron joined
dukeleto cotto: interesting. i am not sure if i am invalidating pbc. basically, i just want to modify math.ops and run tests, iteratively 04:37
cotto if you're not adding or removing ops, you're not invalidating pbc 04:38
(or messing with packfiles, etc)
dukeleto cotto: ok, gotcha. I am just modifying currently existing ops
cotto definitely safe then 04:39
dalek parrot: 804ec61 | leto++ | t/sql/plperl6.sql:
Add a test for PL/Perl6 that uses grammars
04:45
parrot: 801ddfd | leto++ | t/sql/plperl6.sql:
Refactor PL/Perl6 grammar example to use boolean context
dukeleto cotto: armed with the info you have told me about ops, i think i can close a ticket or two this week. thanks! 04:53
04:53 dafrito joined
cotto excellent 04:55
tcurtis still can't get Parrot to build. 05:08
well, I can get it to build.
It's getting it to work that's the problem.
Chandon Try "make actually-work" 05:13
tcurtis make: *** No rule to make target `actually-work'. Stop. :)
dalek rtcl-nqp: 27478ef | coke++ | / (8 files):
instead of directly invoking .subs, go through a helper sub so we can do
05:16
tcurtis broke down and installed 2.7.0, which works. 05:19
05:24 darbelo joined
cotto I ran into some stupidness wrt pbc versions when I last tried to play with PIRATE, which needed tree-optimizations, which needed an updated plumage, which needed a yak shaved, which meant I had to go to the store and ended up buying some cookies instead 05:29
darbelo Mmm. Cookies. 05:30
darbelo goes off to check if he has any left. 05:31
cotto I bet you'll be able to but lots of cookies when your gsoc $$$ comes in. 05:33
NotFound msg purl messages 05:35
purl Message for purl stored.
NotFound Ugh 05:36
msg kid51 I don't see why it fails just one test, maybe a hardware problem? 05:37
purl Message for kid51 stored.
allison dukeleto: it's telecommute and I'm moving 05:38
tcurtis NotFound: is there a way to install Winxed automatically?
NotFound tcurtis: not yet
tcurtis: I think there is a plumage metadata available, but just for testing. 05:40
tcurtis NotFound: What would I have to put where to be able to run it outside of the build directory (assuming that's currently possible)? 05:41
NotFound tcurtis: export WINXED_PATH=.... 05:42
dalek parrot: 5830d43 | leto++ | / (2 files):
Make 'make installcheck' pass
05:43
05:44 kurahaupo joined
dukeleto allison: very nice. moving back to PDX? 05:46
allison dukeleto: probably, yes, I haven't decided yet
tcurtis NotFound: great. :) I'm going to try it out. 05:49
NotFound tcurtis: you're welcome 05:53
dalek rrot: r48565 | chromatic++ | trunk (14 files):
[str] Revised STRING iterator interface (TT #1456)

STRING iteration especially for variable-width encodings.
kudo: 7530af5 | mathw++ | docs/ChangeLog:
Update ChangeLog for 2010.08 release.
06:00
kudo: f1b8aca | mathw++ | docs/announce/2010.08:
Finish release announcement for 2010.08.
kudo: 99a4e24 | mathw++ | docs/release_guide.pod:
Update release guide with 2010.08 release.
TT #1456 closed by chromatic++: String iterator rewrite 06:03
TT #1456: trac.parrot.org/parrot/ticket/1456
06:08 bacek_in_sing joined 06:12 uniejo joined
chromatic I've just invited Nick and Luben to submit CLAs. 06:25
dalek rrot: r48566 | chromatic++ | trunk/src/gc/alloc_resources.c:
[gc] Forced freeing of empty blocks in compacting.
06:27
TT #1742 closed by chromatic++: Skip compact_pool if all blocks are almost full 06:36
TT #1742: trac.parrot.org/parrot/ticket/1742
rrot: r48567 | NotFound++ | trunk (3 files):
remove annotations from native_pbc, now packfile tests use its own version and it wasn't related with the other native_pbc files anyway, TT #1712
06:43
rrot: r48568 | NotFound++ | trunk/MANIFEST:
update MANIFEST, forgoten in r48567
07:00
07:02 tcurtis joined 07:20 fperrad joined 07:40 mikehh joined
dalek parrot: a1bc962 | leto++ | .gitignore:
Add plparrot_secure.h to .gitignore
07:58
cotto note to self: when copy/pasting 5-digit numbers into vim, be very careful that it's in insert mode 08:20
moritz :-) 08:21
my vim automatically switches to insert mode when I paste stuff into it 08:22
sadly I don't understand most of my cargo-culted .vimrc, so I can't tell you which line is responsible for that :/ 08:23
cotto gvim is smart about that but I wasn't using it
bacek_in_sing moritz: set mouse=a? 08:24
moritz not sure if that's what responsible, singing bacek :-)
cotto It's nice how Trac doesn't have any tests to get in the way to the plugin development process. 08:33
08:52 pgollucci joined
cotto has a poc of the github plugin mapping from svn revisions to git hashes 09:00
way better than sleep
git++ 09:07
and svn-- just because
moritz and cotto++ 09:08
x3nU git sucks because isn't portable ;f 09:10
moritz and svn is? 09:12
try an svn checkout with two files of the same name but with different case on windows
cotto hugs x3nU 09:13
moritz and see what awesome error message you get, and if you would guess what the problem is from the error message
cotto and now it fails somewhat gracefully 09:14
sorear poc? 09:20
purl somebody said poc was this chat, which is running under same in vmware or proof of concept. or piece of crap or Pint of Custard or Point of Contact
cotto proof of concept 09:22
I know it can work.
github.com/cotto/github-trac for the curious 09:24
09:24 lucian joined
x3nU you know, svn at least works on windows 09:24
git needs whole posix ecosystem 09:25
msys or cygwin for example
;/
cotto needed to go to sleep 2 hours ago. Better late than never.
sorear x3nU: [citation needed] 09:26
x3nU en.wikipedia.org/wiki/Git_(software) 09:27
see portability section
msys or cygwin, there's no pure windows version
which sucks
sorear um, Git_(software) 09:28
Git_(protocol) has a half dozen implementations 09:29
you just gave a reason not to use... ONE of them
x3nU yeah, there's git# but it seems immature 09:30
moritz what's wrong with msys? it installs a few MB of POSIX libs. So what? 09:33
x3nU if i wanted posix libs i would install linux ;f
also msys git version is a bit outdated 09:34
moritz you typically don't develop on embedded systems, and on normal PCs and laptops disc space is ridiculosly cheep
x3nU: somehow both arguments aren't convincing for me
not portable != the bleeding edge isn't ported as fast
x3nU you can't call app which uses posix calls portable, but whatever - there's no accounting for taste ;d 09:40
moritz well, if POSIX is ported, I can call them portable
x3nU you will prefer git i - svn :)
moritz just like I can call perl scripts portable, if perl is ported to the platform in question
x3nU moritz: yeah, so if there is wine for linux so every app on the earth is portable
moritz x3nU: except that most windows apps I've tried didn't work well on wine 09:41
Infinoid x3nU: You're objecting to installing a few MB of libraries, but you're running on a platform where it seems *every* installable application comes with a few MB of extra (and often redundant) libraries, and often much more than a few MB of those? 09:48
x3nU it's not about space
but when i use cygwin or msys
Infinoid I actually like msys. cygwin is trying to emulate posix. msys is just supporting gcc code on the platform. 09:50
x3nU i must use bash shell with everything that is specific for posix
i mean unix shell, paths etc
it feels so different from the rest of system 09:51
Infinoid One might argue that that's a good thing, but I think that's offtopic :)
moritz x3nU: you don't have to use bash. You can use a GUI frontend for git
Infinoid x3nU: arguably, Anything that uses a shell prompt on windows feels different from the rest of the system, whether that prompt is running bash or cmd.exe 09:52
x3nU moritz: that gui frontend is garbage IMHO it had only few functions (and looks ugly ;) so i had to use CLI version 09:54
sorear "that"?
purl "that" is probably implied. thoth probably has the exact usage rule.
x3nU it's not that i'm not comfortable with shell, but on windows i want windows shell
Infinoid Is there any particular reason why can't you run git from windows shell? 09:58
moritz Infinoid: could you please patch dalek to report github.com/jnthn/6model on #perl6? 09:59
arnsholt I haven't tried it, but Tortoise git should work for git in windows shell 10:00
The Tortoise SVN is pretty good at least
Infinoid x3nU: "I'm using the MinGW port from cmd.exe, i.e. not from a posix shell" -- marc.info/?l=git&m=119243039514160
fperrad x3nU: see code.google.com/p/msysgit/ 10:04
x3nU Infinoid: it gives some errors when runned from cmd and replaces some native windows commands 10:05
so that's why i must use bash with msysgit
Infinoid "replaces some native windows commands" sounds like it's at the wrong place in your $PATH. 10:06
moritz: can do
moritz Infinoid++
sorear git replaces commands?
Infinoid I think having msys in his path must be responsible for that
x3nU Infinoid: replacing commands is intented 10:07
installer warns about that
also 10:08
i don't get how github supports svn
Infinoid I don't see why replacing native windows commands is an argument for using bash, though
moritz with magic, of course :-)
10:08 dalek joined
x3nU when i have commited something to my repo 10:09
with svn
i don't see any changes on site
but i can checkout it through svn
sorear congratulations, you've hung yourself. 10:11
next time, think twice before playing with rope.
x3nU Infinoid: you know, you can install msysgit in two ways - first is everything works from cmd (or don't work :p) and installer edit your path etc second when there's bash shell which is separate from windows shell (path etc)
sorear features announced on Apr 01 should not be regarded as type specimens for git's robustness
x3nU sorear: read-only access was annouced on apr 01, but read-write was annouced later :D 10:12
but whatever i'm going to use git through shell account - that's most clean way imo 10:13
10:14 dalek joined
Infinoid moritz: github: 6model/master will output to freenode/#perl6 10:15
moritz Infinoid++
Infinoid Lemme know if it works.
moritz I will, once jnthn++ commits something 10:16
Infinoid Kind of scary - I've been playing with perl5 so little recently that I can't remember if digits are ok as the first character of a package element (modules::local::6model)
though it seems to have worked so far...
moritz it works, if it's not the first part of the namespace
ie 6model::foo::bar wouln't work
Infinoid no problem then. 10:17
moritz szbalint++ explained that difference to me :-)
szbalint you mean szabgab? :) 10:18
ah
moritz szbalint: no, you did
when I was in Vienna
szbalint yeah, I ran into that with 123people :)
Foo::123bar works
dalek kudo: 5b08f4e | masak++ | src/core/Str.pm:
[core/Str] added missing goto in PIR

Discovered by jnthn++.
10:31
10:59 pgollucci joined 11:32 Coke joined 11:35 jhelwig joined 11:56 whiteknight joined 12:12 whiteknight_ joined 12:36 ruoso joined
whiteknight good morning, #parrot 12:58
mikehh++ on the release.
moritz good morning mr. withworth!
12:58 tadzik joined
whiteknight good morning moritz 12:59
how are you today?
moritz quite well 13:00
expecting a rakudo compiler release today :-)
whiteknight oh yes, it is that day 13:13
is this going to be a good release?
13:17 masak joined
dalek TT #1746 created by masak++: A way to get Rakudo to segfault 13:22
TT #1746: trac.parrot.org/parrot/ticket/1746
masak probably too late to get a fix into today's Rakudo release, but... 13:23
the segfault is surprisingly consistent, so I thought it might be a good thing to send along to someone with good debug-fu. 13:25
13:30 GodFather joined
dalek tracwiki: v14 | Paul C. Anagnostopoulos++ | Deprecation 13:46
tracwiki: trac.parrot.org/parrot/wiki/Depreca...ction=diff
13:52 Paul_the_Greek joined
dalek kudo: 3f0bfbb | pmichaud++ | src/ (4 files):
Switch Nil to be an undefined Parcel constant.
13:57
kudo: 1f5a79f | pmichaud++ | / (4 files):
Merge branch 'master' of github.com:rakudo/rakudo
13:59 bubaflub joined
Paul_the_Greek Where are ParrotDecprecations and ParrotDeprecationsx.xx linked in the Wiki? 14:00
whiteknight they may not be 14:17
Paul_the_Greek msg cotto I have edited the two ParrotDep pages that you told me about. Noted this on ticket. I think you can commit it now. 14:18
purl Message for cotto stored.
Paul_the_Greek Should I edit the main Wiki page to add those links? 14:19
dalek tracwiki: v10 | Paul C. Anagnostopoulos++ | ParrotDeprecations 14:20
tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff
tracwiki: v5 | Paul C. Anagnostopoulos++ | ParrotDeprecationsFor2.9
tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff 14:21
tracwiki: v6 | Paul C. Anagnostopoulos++ | ParrotDeprecationsFor2.9
tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff
14:23 pyrimidine joined
dalek kudo: ee31f3d | moritz++ | docs/announce/2010.08:
[announce] those diacritics are easy to mis-remember :-)
14:33
kudo: 4f1dee5 | pmichaud++ | docs/announce/2010.08:
Add note about Nil now being undefined.
14:39
kudo: 90637b6 | jnthn++ | docs/announce/2010.08:
Tiny tiny tweakies.
14:50 bubaflub joined 14:57 bubaflub_ joined 15:01 pyrimidine joined 15:03 theory joined, theory_ joined
dalek nxed: r594 | NotFound++ | trunk/winxedst1.winxed:
initial support for HLL modifier
15:13
15:43 chromatic joined 15:48 plobsing_work joined 15:52 tcurtis joined 15:57 pyrimidine joined
dalek rrot: r48569 | chromatic++ | trunk (6 files):
[hash] Added hash iteration macros.
16:12
rrot: r48570 | chromatic++ | trunk (2 files):
[hash] Renamed hash->bucket_indices to hash->index.
16:12 smash joined
smash hello everyone 16:13
moritz oh hai
16:19 theory joined
plobsing_work ping chromatic 16:19
chromatic pong 16:20
plobsing_work I looked into constant table unpack being 20% of rakudo startup. 16:21
The majority of the time spent unpacking constants is spent unpacking *hash* constants
chromatic That agrees with what I've seen in profiles.
plobsing_work I have a few ideas about how we might improve this. First thing that comes to mind: collisions when building a hash from serialized format should not cause a string-compare 16:22
chromatic True. 16:23
... unless the hash thaws into an interpreter with a different hash seed.
That doesn't *conflict* with what you say, but yeah.
plobsing_work I'm thinking string comparison is part of what makes collisions expensive (correct me if I'm wrong) 16:24
chromatic It's most of what makes collisions expensive.
The indirection in hash->compare throws out any possibility of inlining the cheap string comparisons.
plobsing_work keys in serialized hashes are already unique (because they were previously in a hash) 16:25
chromatic Seems like freeze and thaw could walk the bucket list themselves. 16:26
You have to fixup the next pointers to get the collisions right, but even so.... 16:27
plobsing_work that would be a lot better than calling hash_put $n times (as is done now)
chromatic Is it worth storing that extra information in the PBC?
plobsing_work how much extra information are we talking about? 16:28
chromatic Any information necessary to recreate the ->next pointers.
plobsing_work 1 extra integer per bucket?
chromatic Right.
plobsing_work size isn't killing us, our hashes are. 16:29
chromatic Branch away! 16:30
chromatic steps away for 30m 16:31
16:33 whiteknight joined
cotto dalek watches projects on the Modules wiki page, right? 16:35
darbelo cotto: It should. 16:39
cotto adds his github-trac fork 16:43
dukeleto cotto++ # for recent work with git+trac integration 16:52
dalek tracwiki: v14 | cotto++ | Modules 16:54
tracwiki: add github-trac
tracwiki: trac.parrot.org/parrot/wiki/Modules...ction=diff
cotto the parallel build is considerably lta 17:01
chromatic For which? 17:02
cotto heads to work, where he will contemplate the meaning of chromatic's question 17:05
17:10 theory joined 17:13 DrForr left
whiteknight does nqp support BUILD? 17:19
or, any other kind of constructor mechanism that I could hijack? 17:20
tcurtis new. 17:21
17:21 ash_ joined 17:23 Paul_the_Greek joined
whiteknight tcurtis: okay, are there any examples of that around that I could follow? 17:24
tcurtis whiteknight: github.com/ekiru/tree-optimization/...er.nqp#L19 is pretty simple. 17:25
cotto_work chromatic: what do you mean? 17:27
whiteknight tcurtis: thanks 17:29
tcurtis whiteknight: welcome. 17:30
purl Welcome to #dbix-class. I'm sorry.
cotto_work msg Paul_the_Greek Your patch to 1207 causes some test failures. I noted which ones in the ticket. 17:31
purl Message for paul_the_greek stored.
Paul_the_Greek cotto_work: My fault for not seeing those test failures. Not sure how I missed them since I changed lexicals.t and ran the tests. 17:32
Oh, perhaps I only ran test_core. Bad. 17:33
cotto_work did you remember bootstrap-ops?
It's easy to forget.
chromatic cotto_work, which parallel build system is LTA? 17:34
Paul_the_Greek Yes, or lexicals.t wouldn't have worked. I must not have run all the tests.
Coke so, implementing things in partcl-nqp is definitely easier than in partcl (pir) was. I wonder how much of this is that it's nqp vs. pir, and how much is that I've already done it once. 17:35
Paul_the_Greek I annotated the ticket to say that I'll deal with it when I return home.
cotto_work chromatic: parrot's
purl parrot's is modelled after perl 5's
dukeleto Paul_the_Greek: make coretest is good for a basic sanity check, but "make test" should be run before committing. "make fulltest" is better but a lot longer
Paul_the_Greek Absolutely. I think I just screwed up. Didn't know about fulltest, though. 17:36
cotto_work Now you know. 17:37
purl And knowing is half the battle.
jnthn Coke: I tend to find that working in a higher level language means more of my mental capacity can go on the problem at hand rather than meta-issues like how to write the code to do it.
Coke jnthn: yah. I've said this before: if we had parrot to do over, I'd make sure we started out with a simple HLL like scheme or something to drive things. 17:40
17:40 pgollucci joined
chromatic If we had Parrot to do over, I'd make sure we started to implement Perl 6 from day two. 17:40
Coke chromatic: ok, s/scheme/Perl 6/ then, and we can both be happy. 17:41
... in our delusional back to the future mental movie.
cotto_work And I want a pony.
Paul_the_Greek Do both.
jnthn ...no, let's not do the pony...
cotto_work only a metaphorical one, though, so I don't have to feed it or clean up after it
Paul_the_Greek Cats are lower maintenance. 17:42
Coke ugh. I used to muck stalls. happy to not have that chore anymore.
17:42 dafrito joined
Paul_the_Greek I installed Git on my busted-ass laptop down here at the beach. Might as well play with it. 17:47
cotto_work might as well 17:54
ash_ git is really useful, i'd read up on stashes, and branching, git does those differently than most other source code management tools
17:55 pyrimidine joined 17:57 pyrimidine_ joined 18:03 cotto_work joined
cotto_work Someone needs to bump the pbc minor version in src/ops/core_ops.c to 7 (or run bootstrap-ops to do it slowly but automatically) 18:11
Coke automatically++ 18:24
(hand editing generated files)-- 18:25
cotto_work it's literally a single-character change 18:26
- 6, /* minor_version */
+ 7, /* minor_version */
that'd take a couple minutes to do automatically
18:28 tadzik joined 18:30 Andy joined
Coke ebenso. 18:30
18:30 davidfetter joined
dukeleto I would like to show an example in my PL/Parrot talk for a stored procedure in PIR that does something nontrivial that is not easy to do in SQL. Anybody have any ideas? Anything that shows off PIR would be good. 18:33
sorear GMP binding which ensures that blobs only contain prime numbers in a constraint 18:35
Coke does it have to be PIR as opposed to an HLL? 18:36
partcl-nqp: namespace eval { puts hi} # this work yet?
p6eval partcl-nqp: ( no output )
Coke sniffles. 18:37
moritz partcl-nqp: namespace eval { puts hi} 18:40
p6eval partcl-nqp: OUTPUT«wrong # args: should be "namespace eval name arg ?arg...?"␤current instr.: '_block17' pc 46080 (src/Partcl/Grammar.pir:40)␤»
Coke partcl-nqp: namespace eval foo { puts hi} # this work yet? 18:41
p6eval partcl-nqp: OUTPUT«can not find channel named "hi"␤current instr.: '_block17' pc 46080 (src/Partcl/Grammar.pir:40)␤»
Coke partcl-nqp: puts hi
p6eval partcl-nqp: OUTPUT«hi␤»
Coke partcl-nqp: namespace eval foo { proc hi {} {puts hi}; hi} 18:42
p6eval partcl-nqp: OUTPUT«hi␤»
Coke partcl-nqp: namespace eval foo { puts hi }
p6eval partcl-nqp: OUTPUT«hi␤»
Coke *facepalm*
dukeleto sorear: that sounds cool! We don't have triggers yet, but a stored procedure that does that would be cool. But I don't think Parrot has access the GMP's prime functions yet
Coke puts hi # this isn't a comment.
partcl-nqp: puts hi # this isn't a comment.
p6eval partcl-nqp: OUTPUT«can not find channel named "hi"␤current instr.: '_block17' pc 46080 (src/Partcl/Grammar.pir:40)␤»
Coke partcl-nqp: puts hi ;# this is a comment.
p6eval partcl-nqp: OUTPUT«hi␤»
dukeleto Coke: currently only PIR and Rakudo are supported
Coke moritz++ 18:43
dukeleto Coke: if you have a good idea for PL/Perl 6, i am all ears. I have 2 nice examples for PL/Perl 6 already : sums of fibonacci numbers and Perl 6 grammars
NotFound dukeleto: maybe something more mundane, like checking a user name in /etc/passwd 18:46
dukeleto NotFound: that could be good 18:47
Coke: i would love to try to get PL/Partcl working. PL/Lua and PL/Cardinal as well 18:48
NotFound dukeleto: an example using pir generated with winxed will be nice. 18:49
Coke dukeleto: if there's anything I can do to help with pl/partcl, let me know. 18:52
sorear dukeleto: I was actually thinking of it being a dlfunc demo
dukeleto: I had temporarily forgotten we even had a BigInt pmc 18:53
dukeleto sorear: a dlfunc example would actually be very cool 18:55
NotFound: interesting. is there a PBC for winxed that can be loaded?
NotFound dukeleto: you don't need any pbc, just the generated pir. 18:57
cotto_work msg dafrito You map-svn script needs format:%b instead of format:%B to work on my system. With that change it appears to work fine. 18:58
purl Message for dafrito stored.
cotto_work seen dafrito 18:59
purl dafrito was last seen on #parrot 3 days, 15 hours, 59 minutes and 45 seconds ago, saying: Andy: You could also put a link for "Template Toolkit" if you want [Aug 16 02:59:38 2010]
cotto_work wonders how his .swp file ended up in his git repo 19:00
dafrito cotto_work: I think "git svn find-rev" might obviate the need for my script
dukeleto dafrito: that sounds about right 19:01
NotFound: i see, that is pretty cool. so if a user writes a snippet of Winxed, how do I turn that into PIR ? 19:02
dafrito cotto_work: Assuming you have a repo that has SVN metadata (such as from the tarballs on the wiki). Otherwise, find-rev will be really slow 19:03
cotto_work indeed 19:06
NotFound dukeleto: there is no plumage installer yet, the user must install winxed from svn
japhb It's installable now? Do you need help making plumage aware of that? 19:07
NotFound japhb: no, It still needs some thinking and a few changes. 19:08
japhb OK, just let me know, I'd be happy to help with any Plumage-related issues.
dukeleto Coke: does Partcl install a PBC into the languages/ directory of parrot ? 19:10
dalek nxed: r595 | NotFound++ | trunk/winxedst1.winxed:
use the print opcode instead of the method in the cry predef to avoid issues
19:12
plobsing_work NotFound: not being able to install winxed is made more painful by the fact that I need to run winxed from within the svn checkout directory (otherwise parrot can't find the stage2 pbc file) 19:13
NotFound plobsing_work: set WINXED_PATH to it in the environment 19:14
plobsing_work thanks
NotFound Is a temporary solution
dafrito cotto_work: Do you have your trac plugin in a repo somewhere? 19:15
cotto_work find-rev looks good
dafrito: yes. github.com/cotto/github-trac 19:16
not especially fast, but once I have the map I can slurp it into a db
you want a commit bit? 19:17
dalek nxed: r596 | NotFound++ | trunk/winxedst1.winxed:
fix HLL namespace modifier
19:18 Chandon joined
dafrito sure, please :) 19:18
cotto_work done 19:19
If you want to install it and play with it, you have to install an older version of GitPython 19:23
I used 0.1.7 from here: pypi.python.org/pypi/GitPython/ 19:24
After that, following the install procedure in the README worked fine
(1111-646)/4 19:25
purl 116.25
cotto_work 48000/116 19:26
purl 413.793103448276
cotto_work It looks like it'll be a while before the revision map using find-rev will be done
Coke dukeleto: there is no "make install" for partcl yet. 19:27
do we have any pointers on how to do that? ;) 19:28
cotto_work 414/60 19:33
purl 6.9
Coke partcl-nqp: puts [expr 414./60] 19:34
p6eval partcl-nqp: OUTPUT«414␤»
Coke partcl-nqp: puts [expr 414.0/60]
p6eval partcl-nqp: OUTPUT«414␤»
Coke wow.
dukeleto Coke: there is a way to get around that. we can do something like PARTCLPBC=... and then have PL/Parrot look for that env var
Coke dukeleto: moritz wanted an install also. NBD. 19:36
dukeleto Coke: yes, installing it would be best 19:40
cotto_work (2969-1406)/(10)
purl 156.3
cotto_work 48000/156
purl 307.692307692308
19:42 brianwisti joined
dukeleto Here is how GSoC students can submit their code to Google for this summer: groups.google.com/group/google-summ...lines-2010 19:51
ash_ dukeleto: that's the mentor page, student's cant view it 19:53
dukeleto: groups.google.com/group/google-summ...lines-2010 is the student version 19:54
i guess just replace mentors with students, heh
Chandon Sadly, the tpf google code project doesn't exist yet. 19:56
ash_ dukeleto: want me to reply with that link to your mailing list email?
the code project's wont be up until aug 30th
Coke dukeleto, moritz: there you go.
rakudo++ for doing that first. ;) 19:57
dalek rtcl-nqp: 09daa79 | coke++ | build/Makefile.in:
Add a barebones "make install" target for moritz++ && dukeleto++
chromatic Nick Wellnhofer now has commit access. 19:58
cotto_work are you his mentor
?
chromatic yes
cotto_work likes this influx of new bloo^H^H^H^Hcommitters 19:59
chromatic Three in one month? Yeah! 20:00
20:01 x3nU joined 20:02 seatek joined
dafrito cotto_work: I pushed a speedy version of map-svn that uses git's rev maps directly. It should generate the map a lot faster 20:07
cotto_work: It's in the "speedy" branch, and will dump revisions on "map-svn $PARROT_REPO"
dalek rrot-linear-algebra: 7068478 | Whiteknight++ | / (4 files):
take charmatrix2d out of the build and don't run it's tests. It's definitely not ready for prime-time, and I need to seriously re-think the design goals of that type
20:09
rrot-linear-algebra: f905a0d | Whiteknight++ | src/pmc/ (4 files):
Add three new methods to nummatrix, which I am going to copy to the other types. These are conversion methods which allow us to convert a matrix of one type to a matrix of another. Because things are tightly packed in memory the conversion is not fast or efficient, but it does what we need it to do
rrot-linear-algebra: cb0d9e9 | Whiteknight++ | / (4 files):
add convert_to_* methods to Complex and PMC matrix types. Add tests for these things. Convert some of the type-checking logic in the GEMM method calls for NumericMatrix types to automatically convert arguments between matrix types, when possible. Break out the logic to extract r/i values from a PMC into it's own function, and use that function to standardize the rules for all conversions in ComplexMatrix2D, including coefficients in GEM
rrot-linear-algebra: eff87db | Whiteknight++ | / (3 files):
Add tests for matrix type conversion (finding and fixing a bug in PMCMatrix in the process), and add a few stub tests for autoconversion of GEMM arguments
rrot-linear-algebra: 705a1f8 | Whiteknight++ | / (8 files):
break apart MatrixTestBase and create a set of MatrixTestFactory classes which are used to create objcts for tests, but don't do any testing themselves. The ultimate goal is to start breaking up test files into smaller files and classes, each of which only test specific things. Each test class will inherit from MatrixTestBase and will delegate to a MatrixTestFactory
rrot-linear-algebra: 625b78f | Whiteknight++ | / (15 files):
start reworking the test suite to tease some of these methods out into their own files. This makes things a lot more manageable. Create subtest files for some of the methods on nummatrix2d for now, will add others later
20:10 masak joined
cotto_work running it now 20:10
masak has anyone been able to verify trac.parrot.org/parrot/ticket/1746 yet? does anyone else think it's weird and wonderful and should be fixed as soon as possible? :)
cotto_work definitely speedy 20:13
dafrito the code is really tiny. their rev_maps are just an integer for the revision and 40 bytes for the sha1, so it's easy to parse.
I apologize for my heinous perl code 20:14
cotto_work (42834-33811)/60 20:15
purl 150.383333333333
cotto_work I haven't looked at it. 20:16
116/60
purl 1.93333333333333
cotto_work looks about 75x faster 20:17
dafrito haha, a modest improvement
cotto_work dafrito++
It does appear to be producing more than one hash per revision though 20:18
Coke masak: I peeked at it but the thought of trying to distill that down a PIR case put me off. 20:21
masak Coke: is there any way I can help? 20:22
Coke a pure-pir sample would no doubt help someone like c. fix it. I know that's hard to do, though.
dafrito cotto_work: Do you have an example revision?
cotto_work 1 e927c24745ffe50d968f9d175db0a35590231294 1 f377edb4f7613b27ca60f20fa144919f19a8dfc4 20:23
Coke I'll try to poke at it tonight for you if no one beats me to it.
masak yay
I'll give pure-PIR a shot.
cotto_work f3... is valid, e9... isn't
masak the segv is slightly unstable in that reducing the code further makes it go away, and it sometimes (maybe 20%) doesn't segv for no apparent reason. 20:24
dafrito cotto_work: Hm.. my revlist shows e927 but not f377. Though I can see the latter with git-show 20:27
cotto_work I'm backwards
you're right
20:28 icarroll joined
dafrito I have one rev - 25919 - that's still duplicated. It's duplicated a lot, too 20:30
cotto_work that's... a lot of duplications 20:31
In the worst case I'll let the slow version continue running and just its output once its done. 20:32
s/its done/it's done/ 20:33
dafrito It looks like it was working with tags. I'm betting each commit corresponds to a different tagged version
cotto_work I only need to generate it once anyway.
dafrito true 20:34
You can see similar behavior with find-rev if you specify the tags directly: "git svn find-rev r25919 svn/tags/RELEASE_0_0_8" "git svn find-rev r25919 svn/tags/RELEASE_0_0_6" 20:38
cotto_work will it dtrt with just the revision number? 20:39
cotto_work is really glad to get this off the ground 20:40
dafrito It doesn't show a revision without a branch 20:41
cotto_work *sigh*
dafrito I think find-rev assumes the current branch, so it's presumably just looking in trunk 20:42
since this shows a revision: git co svn/tags/RELEASE_0_0_6 && git svn find-rev r25919 20:43
dalek rrot: r48571 | nwellnhof++ | trunk/CREDITS:
Add myself to CREDITS
20:44
20:44 bubaflub joined
masak Coke: all I have so far is that the PIR also segfaults. I fear I'm not PIR-savvy enough to be able to throw stuff away while preserving the error. 20:50
20:51 nwellnhof joined 20:53 Paul_the_Greek joined
Coke having segfaulting PIR is awesome, though. 20:58
... in a "helps to find the problem" kind of way. 20:59
21:00 ash_ joined
chromatic ... in a "makes a great regression test" kind of way. 21:01
21:01 whiteknight joined
chromatic whiteknight! trac.parrot.org/parrot/wiki/PCCPerf...provements 21:02
whiteknight chromatic! 21:03
yeah, I read that page yesterday
chromatic Is it feasible? 21:04
whiteknight which part, the "speculation" part?
chromatic Any of it. 21:05
purl any of it is worse than good, man.
whiteknight I've been an advocate of splitting CallContext into a CallSignature and caching that in PBC for a long time now
so I'm pretty certain that's possible if we can make IMCC play nice with it 21:06
chromatic Ugh, somehow I'd convinced myself not to think about IMCC.
Now I'm going to think about Perl 5 for a while as penance.
whiteknight the speculation part is certainly possible, but we would have to add a layer of pointer indirection, so we reference registers by pointer, not directly
that way, the registers could be pointing to any location in memory, including into the parent content 21:07
(though we would probably want something like a marker for read-only values, so we don't play with things which aren't ours)
21:07 theory joined
chromatic Not sure we have to, but maybe. 21:08
masak chromatic: I think I figured out a way to ask my 'submethod DESTROY' question from a few days back. here goes: how come we've implemented BUILD and BUILDALL, but not DESTROY and DESTROYALL? is the reason technical, and if so, what is it? 21:10
whiteknight We don't want to overwrite the contents of the caller's registers without warning
chromatic masak, in PMCs or in P6Object?
masak chromatic: in Perl 6. 21:11
chromatic whiteknight, we could get around that with convention.
whiteknight chromatic: true. I'm not saying it's impossible, just saying it raises some important questions
chromatic masak, I thought they were in the original A06, but I could misremember. Certainly they seem important.
masak A12/S12, I think.
chromatic Yes, A12. 21:12
masak I think I'd use them if they were there.
chromatic Their absence seems like an oversight.
masak nobody's implemented them. my point is because it might be non-trivial.
chromatic I have a vague memory of facing north-ish in a building at Portland State University in 2005 discussing the proper ordering of initialization and destruction submethods in Perl 6 objects in July 2005. 21:13
masak :)
the order is described in S12, IIRC. 21:14
chromatic Larry will remember the precise direction.
Certainly I can imagine cases where you need to clean up resources, most-derived first. 21:15
masak right. that's the spec'd order of destruction.
chromatic If you separate DESTROY from DESTROYALL, you can get rid of the object itself (whatever that means) after calling every DESTROY submethod.
masak but the call to DESTROYALL would have to be made from within the GC, no? 21:16
chromatic Yes.
masak that, I think, is the non-trivial part. at least for me, since I've never patched the GC.
my range of abstractions doesn't reach that far down. 21:17
chromatic The P6Object PMC merely needs overload the destroy VTABLE to invoke DESTROYALL.
. o O (modulo order of destruction concerns)
masak I think the purpose of DESTROYALL is to take care of the order of DESTROY calls. 21:18
chromatic Yes.
masak so that's not really the tricky part. just do what BUILDALL already does, but in reverse.
chromatic Right.
masak well, I've reached the point I hoped to reach in this discussion. next time somebody volunteers to implement the proper calling of DESTROYALL, I'll just tell them that the P6Object PMC needs to overload the destroy VTABLE. 21:20
thanks for filling in the missing pieces for me. 21:21
chromatic You're welcome.
whiteknight destroy VTABLE is probably not the correct place
21:21 davidfetter joined
whiteknight well, let me rephrase: the destroy vtable is probably where it *should* go, but will probably cause problems 21:22
chromatic Why will it cause problems>
whiteknight it gets called during GC sweep. recursing into a new runcore from there and executing code sounds like a recipe for problems to me
masak :-/ 21:23
whiteknight and if it miraculously doesn't cause problems with our current stop-the-world GC, it most certainly will cause problems with other, more advanced GC algorithms
chromatic I can think of at least two workarounds.
whiteknight I can think of several myself 21:24
GeJ Bonjour everyone.
whiteknight and I can't prove that it even will be a problem, I only suspect it strongly
chromatic If and when it's a problem, we'll find one of these workarounds, if we haven't fixed it already with a non-recursive lazy GC. 21:25
and bonjour, GeJ
masak bonjour, GeJ
GeJ Good evening, chromatic. Hej, masak.
masak :)
chromatic Even lazier destruction of active destruction could provide at least *some* free memory for DESTROYALL. 21:26
21:28 lucian_ joined
plobsing_work chromatic: (re: imcc/pcc) I'd be willing to try to get imcc to cache a constant portion of a callsig. 21:31
I'm not familiar with PCC, so someone else would have to handle the rest. 21:33
nwellnhof I have a question about reverse iterators. 21:35
Currently, you're supposed to use "shift" with normal iterators and "pop" with reverse iterators. I think that doesn't make sense. 21:38
If I have a function that takes an iterator as argument, how does it know whether to use shift or pop? 21:39
I think that shift and pop should be switched for reverse iterators. 21:40
chromatic That's a good question. 21:43
nwellnhof Are there any users of reverse iterators at all? 21:45
chromatic My guess is no. 21:46
tcurtis Rakudo uses them. 21:47
In Mu.BUILDALL
masak that's probably a negotiable use, fwiw. 21:49
chromatic That seems like a reasonable change to make. 21:51
nwellnhof OK, I'll create a ticket. 21:54
tcurtis How do I define a destroy vtable override? :vtable("destroy")? 21:59
chromatic I believe so, yes. 22:00
icarroll Is this a good place to get help with Parrot Grammar Engine?
masak pings pmichaud
pmichaud: ^^
icarroll: maybe I can try to substitute for pmichaud. how may I help thee? 22:03
icarroll I have a token that's not matching what I expect
nopaste "icarroll" at 192.168.1.3 pasted "nested comment syntax problem" (23 lines) at nopaste.snit.ch/22915
icarroll does what I pasted make sense? 22:04
masak looking.
so far, yes.
$1?
purl $1 is www.usmint.gov/dollarcoin/winner.cfm
masak icarroll: do you mean to match against the ('#'+) ? 22:05
icarroll yes
how is that done?
masak $0
icarroll oops
that might help
masak that's one difference to p5 regexes.
icarroll yup
ok, matches are 0-based
thanks
masak np
masak thinks compiler should give an error if $1 is referred to without enough parens at that point 22:06
icarroll would be nice
masak and totally doable. 22:07
that information is known statically. 22:08
icarroll even a run-time error would have helped
shrugf
dalek TT #1747 created by nwellnhof++: Switch shift and pop for reverse iterators 22:09
TT #1747: trac.parrot.org/parrot/ticket/1747
masak runtime error is harder, funnily enough. there's no distinction between a never-used $1 and a not-used-this-time-through $1. 22:10
icarroll heh, good point
masak icarroll: now for some bonus info that you didn't request: there's a nice '~' operator that can help you with those parens. 22:13
'(' ~ ')' ('#'+) .*? $0 22:14
icarroll interesting
masak gives more informative 'could not parse' error messages, IIRC.
sorear (is PGE still maintained?)
icarroll what is the name of that operator so I can find the doc for it?
masak icarroll: perlcabal.org/syn/S05.html -- grep for 'The ~ operator' 22:16
icarroll cool, thanks
masak: looks like it's not a drop-in replacement, probably due to the .*? match 22:18
masak oh, you might need to enclose ('#'+) .*? $0 in []
icarroll yeah, I got that far 22:19
masak '(' ~ ')' [ ('#'+) .*? $0 ]
due to precedence.
when you do that, the .*? shouldn't be a problem.
icarroll hmm
when it gets to: 22:20
(# You (## don't ##) say #)
"ok 5";
it says "couldn't find final ')'" 22:21
masak hm.
icarroll: I'll try and reproduce that over here. 22:22
icarroll ok
maybe if I put the #s into the ~ args
dunno 22:23
masak I thought about that too.
it's worth a try.
remember to [] those as well, then.
icarroll k 22:24
anyway, it works without ~, so anything more is icing on the cake
masak true. 22:25
oh! 22:27
icarroll ?
masak the test string q[(# You (## don't ##) say #)
]
correctly fails.
because (# matches up against ##)
icarroll hmm
masak there's nothing about nested comments in your token ws. 22:28
icarroll right
the behavior I want is (# matching against ##) 22:29
then #) becomes a comment to EOL
no worries
gotta go now
thanks again for your help
masak o/
no prob
23:05 jsut joined 23:20 hudnix joined
cotto_work dafrito: can you remove github/.github.py.swp from the github trac plugin fork? 23:22
Tene echo '.*.sw?' > .gitignore 23:26
or .git/info/exclude if you don't want to put it in the repo, but only your local copy
cotto_work sounds like a good idea 23:27
Tene looks like you can do it globally by setting core.excludesfile in your ~/.gitconfig 23:28
dalek tracwiki: v33 | nwellnhof++ | GCTasklist 23:29
tracwiki: trac.parrot.org/parrot/wiki/GCTaskl...ction=diff
cotto_work even better
tene++
Tene git config --global core.excludesfile ~/.gitignore
Yeah, looks like that should work. I've been meaning to look up how to do that globally for quite a while. 23:30
dafrito++ cotto++ 23:31
23:32 nwellnhof joined
cotto_work dukeleto: will your parrot mirror on github most likely become the offical repo in its current shape? 23:33
(not implying that its current shape is bad) 23:34
23:39 bluescreen joined
bluescreen Hi everyone, is there any way from pir to detect the OS (win32,linux,OS X) parrot is running in or to quickly return the path separator? 23:41
sorear look at config
bluescreen config...? (scratching my head ) 23:42
sorear there's a Parrot RTL function which returns a hash with the contents of parrot_config --dump
I forget the name
bluescreen sorear: ok.. will look for that, thanks 23:43
cotto_work it's called "slash" in the config hash 23:46
bluescreen nice name!
cotto_work check the "exit status" test in t/pmc/filehandle.t for a pir example of how to use it 23:53
Coke tempted to add config{axl}
sorear [axl]?
nwellnhof Axl Rose of Guns'n'Roses 23:54