Parrot 0.8.1 "Tio Richie" Released | parrot.org | 24 TT | 648 RT
Set by moderator on 10 December 2008.
dalek r33997 | particle++ | trunk: 00:00
: [RELEASE] PLATFORMS updates for strawberry and msvc -- all tests successful
diff: www.parrotvm.org/svn/parrot/revision?rev=33997
jonathan purl, november?
purl i guess november is at www.november-wiki.org/ or use.perl.org/~masak/journal/37212
Whiteknight okay, do we have any more commits or updates outstanding?
jonathan Oh! I get I know what's wrong... 00:01
chromatic I have a quick PDD edit, and I'm trying to fix the Darwin segfault. 00:02
Whiteknight okay, I'll wait till after Simpsons
eric256 night all 00:03
00:03 eric256 left
lathos No DBDI in November yet then? 00:03
dalek r33998 | chromatic++ | trunk: 00:06
: [PDD] Updated link to IBM's decimal arithmetic library (thanks to Geraud for
: finding its new location).
diff: www.parrotvm.org/svn/parrot/revision?rev=33998
chromatic Ha, that page links to our PDD.
Whiteknight I wonder if the book should even mention the wonders of our Asynchronous IO system if we're not even planning to have it until 2.0 00:08
jonathan moritz: Still about?
00:09 AndyA joined
Whiteknight okay...now anybody have any changes to commit? 00:11
dalek r33999 | tewk++ | trunk: 00:12
: [js] NEWS
diff: www.parrotvm.org/svn/parrot/revision?rev=33999
chromatic Still working on that segfault.
Whiteknight ...answers my question
chromatic Will update news.
... and can't reproduce the segfault on Linux.
dalek r34000 | chromatic++ | trunk: 00:22
: [distro] Updated NEWS.
diff: www.parrotvm.org/svn/parrot/revision?rev=34000
chromatic We'll call this good for now. 00:24
I'm set.
dalek r34001 | chromatic++ | trunk: 00:25
: [t] Marked RT #60926 known-failing IMCC macro test as TODO on Darwin platforms.
diff: www.parrotvm.org/svn/parrot/revision?rev=34001
r34002 | jonathan++ | rakudoreg: 00:27
: [rakudo] This patch is an attempt to fix the issue with November; expect I'll back this out and do it a better way if it does fix it.
diff: www.parrotvm.org/svn/parrot/revision?rev=34002
Whiteknight okay, any other stoppers? 00:28
00:28 leto joined
chromatic I'm good. 00:29
particle +1
purl 1
Whiteknight IT HAS BEGUN! 00:32
dalek r34003 | Whiteknight++ | RELEASE_0_8_2:
: Starting release 0.8.2
diff: www.parrotvm.org/svn/parrot/revision?rev=34003
Tene Quick, break the build!
Whiteknight neener neener, I've already got the branch set up 00:33
00:35 idemal joined
Tene I can commit to a branch. 00:36
cotto +1
purl 1
jonathan handcuffs Tene
Tene types with his toes.
cotto tene++
Tene Okay, the next big thing I need to remember to work on is preventing exceptions thrown from an exception handler from being caught by that handler. 00:38
I'm pretty sure I know how ot do it, too.
but, maybe when I get home.
chromatic That should fix some things. 00:40
cotto and now to fix 6 Coverity defects with one swell foop... 00:43
dalek r34004 | cotto++ | trunk: 00:44
: [imcc] removed unused (and probably buggy) multi_keyed function
diff: www.parrotvm.org/svn/parrot/revision?rev=34004
pmichaud hello all 00:47
purl It's a crazy world, but hello to you too!
jonathan w/b pm 00:50
Whiteknight is getting cramps in his fingers 00:58
GeJ moritz: still here? 01:01
purl rumour has it here is just defining a default value. It's just parameter syntax, but types, not variables
Whiteknight purl forget here 01:09
purl Whiteknight, I didn't have anything matching here
Whiteknight here?
still here?
here?? 01:10
...stupid bo...
or bot
pmichaud someone might've removed it via /msg 01:11
01:11 idemal joined
TiMBuS is there a pasttype that checks if a pmc is null? 01:13
jonathan no, but there may be a :pirop
TiMBuS ill take a look at the pirop list then 01:14
jonathan ifnull I think is the op name.
pmichaud isnull
ifnull is "branch if null"
jonathan Ah, yes.
TiMBuS oh ok, thanks :> 01:15
pmichaud :pirop('isnull') works.
TiMBuS i figured it was about time i had a better error message than 'null pmc access in name()' 01:16
pmichaud yeah, change it to "General Protection Fault"
jonathan No, no, it's called an Illegal Operation now! ;-) 01:18
TiMBuS i was thinking something even more ambiguous, like 'something went wrong' :p
pmichaud "boom"
TiMBuS haha
pmichaud "oops occured in name()"
TiMBuS an ascii version of the mac error bomb
pmichaud "parrot had a boo-boo" 01:19
dalek r34005 | Whiteknight++ | RELEASE_0_8_2: 01:32
: Updating things for release
diff: www.parrotvm.org/svn/parrot/revision?rev=34005
01:37 yjh joined
GeJ no mention of the SQLite binding? 01:38
GeJ re-reads
lathos I'm currently playing with it a bit in my private repository, so I'm happy for it not to be announced quite yet. 01:40
GeJ oh, ok. 01:41
lathos I'd like to see another set of bindings there (a) so it's really DBDI and not SQLite, and (b) to check that things are abstracted correctly.
Also I'm not sure whether or not to rewrite it using NCI.pm 01:43
01:43 Limbic_Region joined
Whiteknight make fulltest takes forever! 02:02
chromatic Not if you have an infinite number of parallel universes.
Whiteknight hold on, I might have them in the closet
...nope
jonathan chromatic: Aren't we making assumptions about countability of infinities here?
lathos Can you use EC2 as a simulation?
chromatic You don't have to count them, just dispatch to them. 02:03
Whiteknight on the bright side, it's a really simple dispatch algorithm 02:04
...if you have lazy lists anyway 02:05
02:05 tetragon joined
lathos "It also assumes that destroying the universe is O(n) in operation." 02:08
dalek r34006 | Whiteknight++ | RELEASE_0_8_2: 02:09
: release 0.8.2
diff: www.parrotvm.org/svn/parrot/revision?rev=34006
Whiteknight chromatic, you still here? 02:10
chromatic Yes. 02:11
Whiteknight can you upload the tarball to cpan?
chromatic Sure. Have a URL?
Whiteknight no, email? 02:12
lathos Whiteknight++
chromatic Email's likely very slow.
Did you do the FTP upload to parrot.org?
Whiteknight oh no, I missed that step 02:13
Whiteknight is a doofus
back in a bit!
chromatic It's a new step.
02:13 MariachiElf joined 02:14 LimbicRegion joined
Whiteknight how do I do it? I can't find it in the release guide? 02:14
jonathan In that case you're not a ddoofus... :-) 02:15
Whiteknight you say that as if being a doofus is a bad thing
chromatic It's under 8.b. 02:16
02:16 LR joined
Whiteknight haha, my print out is old 02:17
urg, I don't have a login at ftp-osl.osuosl.org 02:20
chromatic particle, ping
Whiteknight hates ssh
pmichaud particle @ seattle.pm 02:23
lathos Yay Christmas parrot 02:42
moderator Parrot 0.8.2 Feliz Loro Released | parrot.org | 45 TT | 538 RT 02:45
Whiteknight urg, perlfoundation wiki appears to be down 02:48
or, it's giving an error for me
my trac password isn't working 02:58
ENOLOGIN 03:01
okay, that part of the checklist just isn't getting done tonight 03:05
03:06 particle1 joined
particle1 ESOMEONEBOTHEREDME 03:06
chromatic EFGHIJKLMNOP
particle1 WHAT!?!?! i'm righting a lightning talk. it got drunk and fell over.
Whiteknight particle, I need to upload the greaseball to the ftp doodad, and the trac thingy is borked 03:07
after you're done righting it, you could write it perhaps
:) 03:08
particle1 ok, it's sftp 03:10
03:11 kid51 joined
particle1 ...and it doesn't like my password(s) 03:12
argh. somebody wake the allison.
chromatic ENOALLISON 03:13
Whiteknight where does she live?
particle1 she's somewhere on the left coast
chromatic In theory. 03:14
purl in theory is probably my pants or it's too dark to read or somewhat intrusive to David Wheeler or RAILS DEFECTOR! BREAK OUT THE SANDY LUBE!
Whiteknight left coast and already asleep? Isn't it about 7 over there?
particle1 i don't think i can get a hold of lance or the other osuosl folks atm
Whiteknight so it's all on hold till tomorrow. w0t
or w00t
particle1 is it headed to cpan? 03:15
03:15 tetragon joined
chromatic It needs a URL first. 03:15
Whiteknight Well, I'm heading to bed now. I will try things again in the early morning 03:16
particle1 Whiteknight++ 03:17
Whiteknight thanks! Goodnight gentlement
ETOOPIDFINGERS
dalek r34007 | tewk++ | trunk: 03:24
: [subid] remove backwards compat lookup via sub name
diff: www.parrotvm.org/svn/parrot/revision?rev=34007
03:36 Hadi joined, Hadi left
tewk pmichaud: ping 03:36
pmichaud pong.
tewk pmichaud: I'm trying to make methods and vtables not be in the namespace by default 03:38
I'm getting a bulding PGE error, wondered if you could give be some ideas
nopastes coming.
pmichaud I'm not too surprised that PGE might give an error 03:39
tewk right, I just want some help pointing me in the right direction.
nopaste "tewk" at 155.97.237.62 pasted "error_message" (13 lines) at nopaste.snit.ch/14982 03:40
"tewk" at 155.97.237.62 pasted "code_changes.diff" (31 lines) at nopaste.snit.ch/14983
pmichaud easiest would be to have PGE generate :nsentry on the subs so that they do go into the namespace, yes? 03:43
tewk don't we want subs without nsentry to go into the namespace with the sub name? 03:45
dalek r34008 | cotto++ | trunk:
: [string] Add a (fixed) per-interp hash seed and remove the seed arg from string_hash().
: This patch removes the possibility of causing strange failures by calling string_hash with a strange seed.
diff: www.parrotvm.org/svn/parrot/revision?rev=34008
pmichaud all of the subs that PGE generates are :method
which means they don't go into the namespace by default
:nsentry( ) would put them back there, which is fine. 03:46
tewk they yes they should have :"nsentry
nopaste "pmichaud" at 72.181.176.220 pasted "patch for PGE :nsentry" (22 lines) at nopaste.snit.ch/14984
tewk :nsentry will default to use the sub name as
pmichaud try that patch. It passes all of the PGE tests
(I didn't try other tests)
See if that gets you farther on the build (it should) 03:47
tewk thanks
pmichaud trac.parrot.org is giving me "Internal Server Error"
dalek r34009 | jkeenan++ | trunk: 03:48
: Remove configuration probe for asynchronous input/output per architect's instruction in RT 57920. Remove associated test file and reference to auto::aio in list of configuration steps, dummy files used in testing, etc.
diff: www.parrotvm.org/svn/parrot/revision?rev=34009
chromatic That bit about the theme song by Brian Eno was my idea. 04:08
Just so you don't blame anyone else.
04:12 vaidyagi joined 04:16 Zaba_ joined 04:28 Andy joined
dalek r34010 | pmichaud++ | trunk: 04:29
: [rakudo]: Clean up stringification of mappings.
diff: www.parrotvm.org/svn/parrot/revision?rev=34010
r34011 | pmichaud++ | trunk: 04:31
: [rakudo]: Add .pred and .succ methods for Int/Str/Num (RT #61420)
: * Patch courtesy Eric Hodges <eric.hodges@gmail.com>
diff: www.parrotvm.org/svn/parrot/revision?rev=34011
05:00 apeiron joined
cotto r34008 requires a make clean 05:02
05:25 Andy joined 05:31 Alias joined
allison Whiteknight: ping 05:45
Alias starts build run for Vanilla Alpha 3 05:46
Hopefully this time I'll have something that doesn't suck
allison purl: the theme song by Brian Eno is chromatic's idea 05:47
purl OK, allison.
Alias Has todays release process kicked off yet? 05:49
GeJ Alias: release has been completed already. 05:50
Alias aha, I didn't see that
Alias grabs
GeJ only problem seems to be distribution-related.
some parrot.org ftp credentials if I grokked it correctly.
Alias ftp://ftp.parrot.org/pub/parrot/releases/devel/0.8.2/ 05:51
Empty :(
allison I was just looking for the tarball to put up on parrot.org, but can't find Whiteknight
GeJ I think that's why Whiteknight ans particle were looking after allison.
or is it looking "for" 05:52
I'll vote for "for"
allison looks like Whiteknight is gone for the evening
GeJ .o0(I knew I should have paid attention during english class) 05:53
tewk allison: I think he went to bed, 1:00 on the east cost
allison did he give a copy of the tarball to anyone else? perhaps to whoever was going to do the CPAN upload?
Alias (Interesting definition of "release") :)
GeJ sending via mail was mentioned. 05:54
tewk He talked about emailing it to chromatic, or particle?
Not sure that he did it though
chromatic I was going to upload it to PAUSE from the parrot.org URL.
There's no reason someone else can't make the tarball. 05:55
Alias I was going to ask that...
Where's the script for generation the release tarball...
generating
allison sure, just sync to the tag and rerun make release 05:56
chromatic: was that a volunteer? or shall I do it? 05:57
chromatic I can do it in an hour or so, if necessary.
I don't have parrot.org access.
allison you will momentarily
hmmm... I don't have your pgp key, checking a public server 05:58
chromatic: goodness, you have 4 of them, all to the same email address. which one do you actually use these days? 05:59
chromatic Uh, good question. 06:11
purl Yeah, it is. I'm stumped.
chromatic I can give you my ssh public key.
I don't remember my PGP/GPG key.
Alias, did you see my note about the PARROT_RUNTIME environment variable? You should be able to set the path there. 06:13
Alias I saw it, it's a bit clunky and I'd rather wait for a more robust option
For now, I'll just build parrot in the install location I want
I'll switch to whatever your new path management solution is in Jan 06:14
chromatic I'll think about ways to make pbc_to_exe respect install locations. I think I can make that work trivially.
Alias It would be nice if we could make something work at minimum as nice as Perl 5
chromatic I can add an -I flag to the executables generated by pbc_to_exe. 06:15
Alias Hard-coded paths embedded inside libs and exes more or less rules out doing relocation or Portable stuff
chromatic True.
But we have backwards compatibility with Perl 4 to consider, so we can't change too much.
Alias Perl 5 has fixed the embedded part, it just didn't fix the Config stuff
Wait, what? 06:16
purl Wait, is, like, that counting penguins
chromatic You furriners, you always forget that America invented sarcasm.
Alias I could parse it as sarcasm either, since Perl 5 already fixed this and Perl 6 is currently worse :)
And I wasn't around for Perl 4 :)
Gah, bug, restarting build again :( 06:17
szabgab parrot is dead, padre rulez, let me bring the facts: www.ohloh.net/p/compare?metric=Act...t_1=Parrot especially the statisticans among us 06:26
cotto I guess it's time to switch projects. 06:27
join #padre 06:28
Alias In parrot's defense, in Padre we commit every single line changed separately 06:32
cotto Is there an advantage to that approach? 06:36
szabgab sure, we have higher commit count on Ohloh :-) 06:37
Alias Some interesting numbers in these graphs 06:38
www.ohloh.net/languages/compare?co...ntributors 06:39
500 Python developers appearing in the space of 3 months... 06:40
dalek r34012 | allison++ | cc_restart: 06:43
: [calling_conventions] Adding enum flags for invocant arguments. (Causes no test failures.)
diff: www.parrotvm.org/svn/parrot/revision?rev=34012
Hinrik I'm not sure I grok this... www.ohloh.net/languages/compare?me...mit=Update 06:44
06:44 Theory joined
Hinrik ah, never mind 06:44
szabgab Hinrik: in just means that C is dying 06:45
unless of course you happen to use C.. 06:46
Khisanth C and C/C++ is the same color ... 06:51
chromatic Hm, we now have an xconf directory. 07:04
moritz re 07:13
chromatic Ahh, Drupal. You'd think a CMS would be able to publish HTML correctly. 07:16
allison chromatic: I believe we had this conversation last month :) 07:17
chromatic I would think that publishing HTML is a core competence of a web publishing platform. 07:19
Frankly, if they're surprised at how anchor tags work in 2008, some 17 years after the invention of HTML, perhaps these people should find another hobby.
07:48 ffwonko joined
cotto chromatic, I'd appreciate it if you could take a look at TT #59 when you have a chance. 07:50
chromatic Hm, that's odd. 07:54
allison For those eagerly waiting in the wings, chromatic regenerated the tarball and it's now available on www.parrot.org/release/current 07:55
cotto Yes it is.
chromatic I wonder if the free list is corrupt somehow. 07:56
GeJ allison: can this url be used for distros as official source? Or is CPAN the prefered way? 07:58
allison GeJ: this is the official link for current and future releases, CPAN is going away next month 07:59
GeJ Ok, I'll try to update the FreeBSD port tomorrow. 08:00
there's still this proble I encountered when parrot is built by root. 08:01
08:01 iblechbot joined
dalek r34013 | allison++ | cc_restart: 08:04
: [calling_conventions] Process an optional invocant argument when building the
: CallSignature object. (Causes no test failures.)
diff: www.parrotvm.org/svn/parrot/revision?rev=34013
allison GeJ: is the FreeBSD port in the official ports tree for FreeBSD yet? 08:05
GeJ: Randi Harper from FreeBSD was talking to me about getting it in last month 08:09
moritz purl: msg jonathan rakudoreg seems to break November pretty badly, the exact failure mode depends on the order in which the classes are precompiled. For example if I compile Novemeber.pm first, it dies with "Attempt to inherit from non-existent parent class" 08:16
purl Message for jonathan stored.
08:20 Hadi joined 08:21 Hadi left
chromatic cotto, I wonder if the comment at src/hash.c:836 is significant. 08:26
cotto, adding bucket->value = NULL; on line 1272 seems useful too. 08:28
lathos Urgh. Why does it? 08:29
cotto first, it looks like it could be
second, nothing's getting deleted in the example
chromatic I'm paranoid is why. 08:30
cotto Some parts of Parrot breed paranoia.
chromatic IMCC, keys, hashes, GC.... 08:31
08:32 kj joined
chromatic Hm, I wonder... bucket->next? 08:36
The bucket->next handling in parrot_hash_put looks wrong to me. 08:41
08:41 elmex joined
GeJ allison: there's already a port for parrot in the FreeBSD tree (0.8.0 actually) but there seem to be a few issues with it : 08:42
allison: for some reason, the port must be built by a non-root user (which makes it a no-no for the FreeBSD build cluster to make it a precompiled package) 08:44
and second, I'm not quite sure which languages are installed (if any) and how.
regarding the non-root user thingy on my machine, building parrot as root makes it break several tests that run just fine otherwise. 08:46
08:48 masak joined
GeJ hej masak 08:53
masak GeJ: hej GeJ
no release yet?
I thought I'd miss it by going to sleep. 08:54
cotto the release has happened
masak ah, but not the release email?
chromatic Apparently not.
masak looking forward to it. 08:55
cotto I've already gotten it.
(the email)
masak ah, there it is!
it's gone out to parrot-dev, but not (it seems to me) to perl6-compiler 08:56
08:56 iblechbot joined
cotto isn't perl6-compiler being deprecated? 08:56
moritz no
perl6-internals is
masak p6c is alive and well
actually, I just subscribed to parrot-dev the other day 08:57
cotto nm. I was thinking of perl6-internals.
masak I get most of my info from p6c and p6l
chromatic cotto, print out the pointer for each bucket in sanity_check. 08:58
hash->bs+12: key and value are null (0x81234f8) 08:59
hash->bs+13: 'ļæ½' => (null) (0x8123504)
hash->bs+14: key and value are null (0x8123510)
Hm, no, that's not it. 09:00
cotto looks disappointingly normal 09:03
chromatic Yes it does. 09:04
purl if you say so...
masak still no release email to p6c. must have gotten stuck somewhere. 09:25
moritz masak: sometimes my emails to p6l need hours
chromatic It's this line: hash->bi[hashval & hash->mask] = bucket; 09:26
cotto That's where the goofiness is exposed, but why does it occasionally break? 09:28
makes sense that it'd involve the mask, since different keys cause different behaviors
chromatic Maybe the bs/bi allocation is wrong. 09:30
lines 34 and 35
If I change the N_BUCKETS macro to return n, everything's fine. 09:32
cotto I just did and found that
veeery suspicious
chromatic I can't see how HASH_ALLOC_SIZE ever worked. 09:33
cotto I also note that MAXFULL_PERCENT seems to be an imaginary constant.
chromatic Do we have #WISHFUL_THINKING defined somewhere around here? 09:34
Why allocate fewer buckets than we have available slots? 09:35
09:35 vaidyagi joined
chromatic Especially when using a bucket system? 09:35
cotto It looks like the hash is expanded before it's possible for every bucket to be non-empty, but that doesn't mean anything about which buckets will be needed. 09:36
chromatic All tests pass by making N_BUCKETS an identity macro. 09:38
I must sleep now though. 09:39
cotto chromatic++ 09:40
that also lets OrderedHash pass with a seed that previously caused it to fail 09:41
10:04 masak joined 10:12 ffwonko joined 10:13 ChrisDavaz joined
dalek r34014 | kjs++ | trunk: 10:38
: [t] Remove all tests with slicing syntax. This are 22 (this is half of the tests in the file!) tests from t/pmc/iterator.t.
: + the [a,b] variant will be removed
: + the [a..b] variant will be removed
: + the [..b] variant will be removed
: + the [a..] variant will be removed.
: IMCC grammar updates follow later.
diff: www.parrotvm.org/svn/parrot/revision?rev=34014
10:41 masak joined 10:42 Hadi joined
jonathan morning all 10:43
purl afternoon, jonathan
masak jonathan: morning.
jonathan hi masak
kj good morning 10:44
10:46 kj left 10:47 kj joined
dalek r34015 | kjs++ | trunk: 10:50
: [imcc] remove ".." from IMCCs lexer. This token is only used for slicing syntax, which is deprecated. This patch makes it impossible to use slicing syntax using '..'. The parser still needs to be cleaned up for this, as well as to disallow the [a,b], as the ',' token cannot be removed (as it's used in other parser rules as well).
diff: www.parrotvm.org/svn/parrot/revision?rev=34015
10:52 bacek joined
jonathan So...what holdeth the RT queue... 11:03
dalek r34016 | kjs++ | trunk: 11:09
: [t] Remove a test that checks for not-allowing slice syntax in namespaces.
: The test checks that [a,b] will emit the proper error message. As the [a,b] syntax is deprecated and will be removed shortly, the test is no longer necessary.
diff: www.parrotvm.org/svn/parrot/revision?rev=34016
jonathan perl6: class A { my $a = method { say self.WHAT }; method x {self.$a() } }; A.new.x 11:17
polyglotbot OUTPUT[A␤]
jonathan Oh, that was the one that does work... 11:18
11:19 bacek joined
dalek r34017 | kjs++ | trunk: 11:19
: [t] minor changes to test that remove tests for [a,b] syntax in orderedhash.t
diff: www.parrotvm.org/svn/parrot/revision?rev=34017
r34018 | jonathan++ | trunk: 11:38
: [rakudo] Make sure we give correct error message when multiple dispatch ties on a bunch of candidates all with non-matching constraints.
diff: www.parrotvm.org/svn/parrot/revision?rev=34018
12:09 clunker3 joined 12:10 ruoso joined 12:11 purl joined
dalek r34019 | jonathan++ | trunk: 12:13
: [rakudo] Fix a test for multi-dispatch that didn't create classes the Perl 6 way to do so.
diff: www.parrotvm.org/svn/parrot/revision?rev=34019
12:15 TiMBuS joined, gaz joined
bacek requesting logo for Rakudo... 12:19
12:19 donaldh joined
masak bacek: is it urgent? 12:39
bacek masak: no... But we really need good one 12:40
masak aye, we do.
I sometimes spend a few minutes thinking about what would be a good logo. 12:41
dalek r34020 | jonathan++ | trunk: 12:44
: [rakudo] Add Callable role, make Code do it and make sure parameters with the & sigil require it.
diff: www.parrotvm.org/svn/parrot/revision?rev=34020
jonathan Two masakbugs down! 12:45
masak jonathan++ 12:46
keep crushing those masakbugs.
tewk pmichaud: so pir :methods won't be in a namespace by default, so I'm assuming any !EXPORT ed methods should be marked with :nsentry right 12:48
jonathan tewk: I think EXPORT takes them and inserts them into the ns. 12:49
Oh, I see what you mean - we could maybe get rid of !EXPORT...
tewk Yeah but it takes them from a namespace and they won't be there anymore. 12:50
jonathan Oh.
That could cause some...issues.
I'll leave pmichaud to answer what he wants to do on this.
tewk Unless marked with :nsentry
jonathan *nod* 12:51
tewk Yeah I'm attempting to fix rakudo, but I wanted to make sure I'm doing the right thing before I get to deep.
jonathan Yeah, I see what you're getting at.
I'm not sure if they are meant to appear in the namespace they are declared in.
In which case I guess we'd want to look 'em up by subid. But that'll be quite a bit more code. 12:52
We may settle for making them nsentry for now, until we have a Perl 6 prelude, and 'is export' can do the required thing and we don't have to care about the code being concise. :-)
Anyway, will let pm make the final call.
12:54 tetragon joined
pmichaud yes, !EXPORTed methods also belong in the namespace. 12:54
12:55 peters joined
pmichaud (i.e., they need :nsentry) 12:55
peters Hi folks
jonathan pmichaud: But in the namespace of the class that declared them?
pmichaud yes.
jonathan OK.
I wasn't sure about that.
pmichaud for now it's okay. It may even be "forever".
jonathan OK
pmichaud otherwise, I'm not sure how one will do &Foo::method
(or even if such a thing is possible) 12:57
but the ones that are marked "!EXPORT" are methods that are also callable as subs, so they definitely belong in the namespace :-)
tewk gets out his :nsentry pen and goes to work. 12:58
jonathan Yes, I'm not sure if Foo::method should work
erm, &Foo::method
pmichaud (in the larger view -- those are the methods that have the "is export" trait, so they're definitely exported as subs.)
jonathan I know you can do $x.Foo::bar(...)
But that may be handled differently.
(As in, looking at superclass stuff.) 12:59
pmichaud yes, I suspect it will be. 13:00
jonathan Gah...Parrot's Object clone doesn't appear to clone attributes. 13:01
pmichaud not by default. 13:02
there's a !CLONEATTR method I created for that.
jonathan Oh, cunning.
pmichaud (in Object.pir)
I think Range uses it.
jonathan Heh. What if I wanna clone every attr? :-) 13:03
Hmm. In fact it's accidental that Object doesn't clone the attributes.
When I implemented it, I did
cloned_guts->attrib_store = VTABLE_clone(INTERP, obj->attrib_store);
Thinking that ResizablePMCArray cloned its contents too.
pmichaud it does not. 13:04
I even filed a ticket about that. :-)
jonathan Indeed.
pmichaud then I retracted the ticket :-)
jonathan OK, so where on earth to put the fix... :-)
I'm happy enough ResizablePMCArray doesn't clone its contents.
pmichaud please don't make ResizablePMC... right
jonathan Object OTOH.
pmichaud that would cause some issues right now.
tewk [06:03:07] t/pmc/perl6multisub-type........1/13 Null PMC access in invoke()
current instr.: 'role' pc 246 (t/pmc/perl6multisub-type.t:84)
called from Sub 'main' pc 49 (t/pmc/perl6multisub-type.t:28)
help
pmichaud it's okay with me if Object clones its attributes
jonathan tewk: Are you working in trunk, and at svn head? 13:05
13:05 Whiteknight joined
jonathan pmichaud: Well, it's what I originally intended it to. 13:05
tewk Yes, but I've got :nsentry patches.
jonathan tewk: And it didn't fail before them? 13:06
I just had to fix that test because it didn't do Perl6-ish enough classes.
tewk I'm assuming not, I didn't check. checking.
jonathan tewk: See if you get any failures elsewhere.
Like, in the multi spectests.
pmichaud I wonder if changing Object.clone will change anything else (more)
13:06 Hadi left
pmichaud i.e., I wonder if I wrote any code assuming that Object.clone didn't clone its attributes. 13:06
(e.g., in PGE) 13:07
jonathan CLONEATTR? ;-)
Yeah
tewk I'm at r34004
jonathan "I meant it to do X originally" doesn't mean everyone else.
pmichaud anyway, maybe try it and see what breaks... ?
but automatically cloning the attributes is somewhat what I would expect.
jonathan Yeah.
It makes writing clone method for Object rather easier too ;-)
peters rakudo: grammar Foo::Bar { token foo { 'foo' } }; say('foo' ~~ /^<Foo::Bar::foo>$/); 13:11
Whiteknight Yay! Trac is letting me log in this morning!
polyglotbot OUTPUT[get_string() not implemented in class 'ResizableStringArray'␤current instr.: 'parrot;PGE;Match;new' pc 176 (compilers/pge/PGE/Match.pir:115)␤called from Sub '' pc 416 (EVAL_13:177)␤called from Sub '_block34' pc 291 (EVAL_13:126)␤called from Sub 'parrot;Code;ACCEPTS' pc 6730
..(src/classes/Code.pir:65)␤called from Sub '_block11' pc 38 (EVAL_...
peters Looks like I found a issue using grammar namespace, s/Foo::// and it works
jonathan peters: I think there's a patch in RT to help with that, I just didn't get to reviewing/applying it yet.
pmichaud: We make it through the build...running Parrot tests now. 13:12
pmichaud yes, Chris Dolan sent a patch, I believe.
jonathan Yes.
peters jonathan: ok =)
jonathan pmichaud: Ah. We now fail range.t in sanity... 13:15
And at least copy.t in Parrot tests.
Oh, wait, maybe I did it wrong.
pmichaud anyway, this is something I noticed -- Hash does a deep-clone, ResizablePMCArray doesn't. :-) 13:16
jonathan Ah.
pmichaud that actually turns out to be the right semantics for Perl 6, so I'm not complaining. :-)
jonathan Maybe that's why I expected ResizalbePMCArray to...
pmichaud afk for a bit 13:17
jonathan Ah...that looks better. 13:22
tewk jonathan: at -r34020 now still have error. Almost all my errors have to do with a missing :nsentry, I just don't know where with this one. 13:30
jonathan tewk: OK. I'd be intereted to know if there are problems with any of the other multi dispatch tests. 13:31
tewk: As in, the ones in make spectest
tewk yes, but I fixed them
jonathan If not, this failure may well be bogus.
tewk wait looking for role_1 definition
jonathan tewk: perl6multisub-type.t, right? 13:32
Which test fails? 13:33
We do a $P1 = find_global 'role_1'
But that's not marked :method, so it should get an ns entry under role_1?
tewk right
jonathan Is that what's failing? 13:34
tewk adding ok() to the intermediaries so I can find out.
jonathan Sure.
tewk well that doesn't quite work, have to do isnull first 13:35
pmichaud find_global deprecated, fwiw. 13:36
jonathan pmichaud: Do we override clone anywhere? 13:37
Say, on Int?
pmichaud we do on Range
we do not on the others, afaik
I don't know if cloning would affect Protoobject 13:38
it appears that Range is the only rakudo class that overrides clone. 13:39
jonathan ok
jonathan wonders why it ain't seeming to work
dalek r34021 | Whiteknight++ | trunk: 13:42
: [Release 0.8.2] Update trunk from release branch for 0.8.2
diff: www.parrotvm.org/svn/parrot/revision?rev=34021
nopaste "tewk" at 155.97.237.62 pasted "trace of perl6multisub-type.t" (45 lines) at nopaste.snit.ch/14985 13:45
jonathan tewk: What's on line 95 in your version? 13:51
tewk .sub 'role_2' 13:52
jonathan Hmm.
That doesn't make a lot of sense. :-S
tewk before I added debug statements
13:55 Andy joined
jonathan tewk: Will look more in a moment - trying to work out what on earth is going on with this clone thing... 13:57
dalek r34022 | pmichaud++ | trunk:
: [rakudo]: spectest-progress.csv update: 250 files, 5170 passing, 0 failing
diff: www.parrotvm.org/svn/parrot/revision?rev=34022
pmichaud ....I bet we can break 5200 today. :-)
jonathan pmichaud: This is nuts. I wrote in Perl6Object a clone method as simple as $P0 = clone self 13:59
...and it doesn't appear to call Object.pmc's clone method :-S 14:00
As in, clone vtable
pmichaud a vtable function, or 'clone'?
ah, right.
did you put $P0 = clone self into the vtable function?
wouldn't that be... recursive?
jonathan no
pmichaud okay. 14:01
jonathan normal method
.namespace ['Perl6Object']
.sub 'clone' :method
say "P6O-Clone" $P0 = clone self
say "P6O-Clone-End" .return ($P0)
.end
with the missing line breaks...
pmichaud oh, and then you're calling it with .clone
jonathan $object.clone()
Yes
pmichaud and it doesn't get called?
jonathan Oh, that gets called.
But I put a printf into Object.pmc's clone VTABLE method to see it gets called and it doesn't print. 14:02
I get the P6O-Clone and P6O-Clone-End but nothing from the clone vtable meth..
Hmm.
jonathan whips out a C debugger 14:03
pmichaud I can't think of any reason why it shouldn't be called.
jonathan pmichaud: OH NO! 14:06
Parrot_ObjectRef_clone
GETATTR_ObjectRef_value(interp, pmc, value);
copy = pmc_new_init(interp, pmc->vtable->base_type, value);
return copy;
*that's* why
Why did we set it up to just clone the ObjectRef and not the underlying thingy it refers to? 14:07
Is there a reason?
Oh
It was probably so the copy op did the Right Thing maybe...
pmichaud cloning an ObjectRef should _not_ clone its underlying thing.
References are objects too.
jonathan Right. 14:08
pmichaud inside of the 'clone' method, you have to make sure it's not an ObjectRef
jonathan Well, just deref if it is?
pmichaud sure, that works.
jonathan OK.
Phew. I thought I was going nuts for a momnet.
pmichaud (assuming deref works. I've had some interesting stuff there.) 14:09
jonathan Phew. 14:10
Now to remove the loads of debug code...
pmichaud it might be nice if method dispatch to an objectref could dispatch to the underlying value instead of the objectref itself. 14:11
I don't know if that's workable, though.
jonathan Probably easy to sneak it when I'm re-doing the dispatching stuff next month. 14:12
pmichaud: I did test Parrot, Rakudo, PGE and NQP with this clone patch. 14:16
Anything else?
purl i guess Anything else is tp's flinching or anticipating.
masak purl: forget anything else
purl masak: I forgot anything else
pmichaud not that I can think of. If that was the original intended semantic, there's reason to go ahead and put it in.
jonathan *nod*
pmichaud if it breaks anything, blame me. :-)
jonathan Nice! 14:17
masak purl: november?
purl rumour has it november is at www.november-wiki.org/ or use.perl.org/~masak/journal/37212
jonathan Can I adopt this is a general principle?
masak purl: jimmy?
purl jimmy is, like, translating some docs to chinese
masak purl: jimmy is also allegedly a sloth
purl okay, masak.
pmichaud jonathan: sure.
jonathan Awesome!
purl awesome is probably awesome.naquadah.org/ or not as awesome as xmonad
jonathan breaks lots of stuff and blames pmichaud
masak purl: forget awesome 14:18
purl masak: I forgot awesome
jonathan masak: Is there an idiots guide to running November?
The Perl 6 version?
purl the perl 6 version is actually cleaner
masak jonathan: closest thing is the README, I think
jonathan OK
masak purl: forget the perl 6 version
purl masak: I forgot perl 6 version
14:18 pete joined
masak jonathan: I should probably blog about that too 14:18
jonathan It's probably easiest to just get it and try and work out what is up with it in my branch. 14:19
dalek r34023 | Whiteknight++ | trunk:
: [Docs] update release manager guide with a little bit more info about FTP uploads
diff: www.parrotvm.org/svn/parrot/revision?rev=34023
14:20 gryphon joined
dalek r34024 | Whiteknight++ | RELEASE_0_8_2: 14:29
: Deleting release branch
diff: www.parrotvm.org/svn/parrot/revision?rev=34024
tewk jonathan: so its invoking Perl6MultiSub on a instance of C1
jonathan tewk: Yes.
nopaste "tewk" at 155.97.237.62 pasted "gdb backtrace" (25 lines) at nopaste.snit.ch/14987 14:30
jonathan Oh, it segvs?
tewk well it tries to invoke on the NULL pmc which throws an exception, 14:31
jonathan Yeah
tewk I'm breaking on exit.
jonathan Hmm.
Is this the _only_ test that breaks?
Because what these tests do from PIR is basically try and fake up how the call would look in Perl 6. 14:32
PerlJam good morning #parrot 14:33
jonathan afternoon, PerlJam
PerlJam good awake-time to you jonathan :-) 14:34
jonathan Whee. 5 more tests unfudged 14:37
dalek r34025 | jonathan++ | trunk:
: [core] I intended that the Object PMC's clone method would clone the attributes. Turns out, ResizablePMCArray doesn't clone its elements, so that wasn't happening. So, this does the cloning in Object's clone vtable method. Tested with various things and nothing breaks.
diff: www.parrotvm.org/svn/parrot/revision?rev=34025
r34026 | jonathan++ | trunk:
: [rakudo] First cut of the clone method (argumentless version).
diff: www.parrotvm.org/svn/parrot/revision?rev=34026
jonathan tewk: In other words, if all of make spectest passes, and all the other sanity tests, then I maybe wouldn't worry too much about this one - I can debug and clean it up. 14:38
tewk well it kills make test, I'll comment it out and try going forward. 14:39
:q
masak a vi user! :)
moritz those aren't all that sparsely distributed :) 14:40
masak I know that.
jonathan is a windows user and just thought it was a sticking out tongue with a piercing smiley
masak I'm one, too.
jonathan: there's vim on Windows, too, I'm sure.
PerlJam jonathan: we won't hold it against you.
tewk make test passes. 14:41
spectest running
jonathan Fail. We have no tests for cloning while changing attrs.
pmichaud jonathan: we don't need to fix it right away, but the version of 'clone' in Object.pir gets the vtable backwards 14:42
tewk Null PMC access in invoke()
current instr.: 'postcircumfix:{ }' pc 1610 (src/classes/Associative.pir:74)
booom 14:43
masak booom! :D
sorry, old habit.
pmichaud tewk: Associative.pir:29 needs :nsentry
or, more likely :subid 14:44
jonathan pmichaud: Backwards?
purl Backwards is factoid
pmichaud the Object vtable for clone should call the 'clone' method, not vice-versa
(yes, I realize this makes things tricky) 14:45
jonathan erm
if we do that...
Yeah.
pmichaud but using $P0 = clone obj in PIR should use obj's 'clone' method if it exists.
jonathan I think we'll not fix this one right away. :-)
pmichaud same as how $S0 = obj should use obj's 'Str' method if it exists.
(this is where Parrot vtables make us turn things inside-out a bit.) 14:46
jonathan *nod*
pmichaud however 14:47
since there are a few places in the code that use the "clone" op instead of calling .clone, we're likely to run into some issues anyway. 14:48
I'm still trying to decide exactly where the "opcode versus method" approach to doing things falls in Rakudo. 14:49
if we want to have cross-HLL capabilities, we really need to use opcodes and not method calls.
jonathan Yes.
pmichaud but in order for that to work, we really need to be able to access parent-class vtable operations
i.e., to be able to define new vtable operations in terms of the parent-class vtable operations 14:50
jonathan I don't think there's an easy way to do that right now.
pmichaud Coke's trick works for subclasses of PMCs
jonathan Yes.
pmichaud I don't know that we have a way to do it for things that need to access Object's vtable functions, though.
(such as 'clone')
jonathan *nod* 14:51
pmichaud maybe add a note to the 'clone' method saying that it's inside-out for now, so people won't replicate that meme?
jonathan Can do. 14:52
pmichaud: When we move into our own repo, do you expect we'll track Parrot head, or try and track monthly releases? 14:54
(In the beginning, not long term.)
pmichaud through at least March, we'll track head. 14:55
I suspect we'll track head through July.
I think that Rakudo will need enough intimate changes in Parrot for a while that we'll have to continue to track head, as opposed to a monthly release. 14:56
jonathan Yes, I think so too.
masak as soon as Rakudo and Parrot are decoupled, we will have twice as many revision numbers to care about when tracking bugs. 14:57
jonathan It's one of those things we need to do, but that I don't look forward to. 14:58
masak aye.
pmichaud I do not expect to refer to things by revision numbers.
I expressed my opposition to them at PDS. I prefer month releases.
masak also, where will Rakudo development take place? #rakudo?
pmichaud i.e., "Jan 2009 release" instead of "0.9.0"
jonathan Pleae not a third IRC channel. 14:59
pmichaud rakudo will continue in #parrot and #perl6
jonathan #perl6 and #parrot are enough :-)
masak indeed.
pmichaud there's no need for its own chan.
we'll continue to discuss parrot-related items here, and perl6-related items on #perl6, and if there's a bit of cross talk or overlap it's no big deal. 15:00
moritz actually there are already some discussions spread out between #perl6 and #parrot, doing that with three channels would be insane
pmichaud right
to the extent that things start to not fit in #parrot we'll just do them in #perl6
(release numbers), so, when referring to Parrot releases I'll continue to say, e.g., "May 2009" release instead of "1.x". 15:01
what is likely to be a bit trickier is repository revision numbers :-) 15:02
tewk perls Test::* need a zentest like module
anyone every used zentest on ruby? 15:03
pmichaud afk for a bit
dalek r34027 | Whiteknight++ | trunk: 15:06
: [compilers/bcg] Remove unused compilers/bcg/ as per TT#33
diff: www.parrotvm.org/svn/parrot/revision?rev=34027
PerlJam If either repo moves to git, there won't be "revision numbers" per se any more. :-) 15:16
masak mm, git. 15:20
15:27 xiaoyafeng joined
pmichaud I'm thinking rakudo might move to git. 15:29
dalek r34028 | jonathan++ | trunk:
: [rakudo] Generate private accessor methods for attributes.
diff: www.parrotvm.org/svn/parrot/revision?rev=34028
pmichaud (back just for a second... gone again)
dalek r34029 | jonathan++ | trunk:
: [rakudo] Implement version of clone that takes named parameters and sets attributes.
diff: www.parrotvm.org/svn/parrot/revision?rev=34029
15:29 Theory joined
jonathan Things people most mistook for the messiah in 2008: (1) Obama. (2) git. 15:30
15:30 rdice joined
pmichaud ...private accessors exist? 15:30
jonathan pmichaud: I've read and re-read that bit of the synopsis and concluded that they do seem to.
pmichaud so then Foo{ ... } just uses the private accessors? 15:31
(which would be very cool)
(from a compiler standpoint)
oops, gotta go
bbl
jonathan pmichaud: Well, the spec also says it's non-virtual. 15:32
(e.g. a submethod)
Maybe.
The bit that sold it for me was
"Outside the class you must use the public . form, or rely on a method call (which can be a private method call, but only for trusted classes)."
You can't do a private method call if there's no private method.
15:34 jimmy joined
jimmy jimmy? 15:35
purl i think jimmy is translating some docs to chinese. or allegedly a sloth
15:35 gaurav joined 15:56 pjcj joined
Whiteknight purl? 15:59
purl Whiteknight?
Whiteknight Whiteknight?
purl it has been said that Whiteknight is updating the book. It talks about .pragma fastcall, pushing and popping arguments onto the user stack, etc
Whiteknight purl forget Whiteknight 16:00
purl Whiteknight: I forgot whiteknight
masak purl: masak?
purl i heard masak was _not_ my best friend! or the cause of much confusion for purl or my worst nemesis or the anti-purl or out to get you or greatly tired of purl
moritz :-)
masak damn straight.
purl kick ass!
moritz moritz?
purl rumour has it moritz is Moritz Lenz, mailto:moritz@faui2k3.org
Whiteknight purl: purl?
purl i am a she.
dalek r34030 | jonathan++ | trunk: 16:04
: [rakudo] Fix indirect calls on private methoeds.
diff: www.parrotvm.org/svn/parrot/revision?rev=34030
PerlJam Whiteknight++ 16:07
jonathan Can someone on a non-Windows platform with a recentish Rakudo do ./perl6 -e 'print "hi"; my $a = =$*IN' 16:09
And see if it prints hi before asking for input?
It does on Win32, so I think the bug has been fixed, but would like to hear from someone on $other_os
moritz tries... 16:10
purl tries are magical things that are especially good at finding prefixes of strings.
PerlJam jonathan: aye.
masak it prints "hi" before asking for input here on Linux.
jonathan Great. 16:11
Then it's fixed.
moritz another closed ticket :)
didn't masak open that one? :-)
masak aye. :)
moritz works for me too
jonathan OK, that's an easy ticket.
masak if you insist on closing my tickets, then I guess I'll have to figure out new ones. :)
moritz should I start questioning my sanity if I remember ticket <-> requestor relations even if I never fully read the ticket? :-) 16:12
PerlJam moritz: you're a fairly active perlmonk ... could you announce the new parrot release there?
moritz PerlJam: if Whiteknight doesn't want to do it himself, I can
PerlJam Hmm. It's not on perlbuzz either. 16:13
Someone shoudl write a little "announce" script that gets run as the last step of the release :)
masak that's actually a good idea. 16:14
even if the script mostly delegates to humans.
PerlJam of course it's a good idea, otherwise I wouldn't have said it :)
Whiteknight I looked a perlmonks, couldn't find a place to submit a story
masak PerlJam: of course. :)
moritz Whiteknight: www.perlmonks.org/?node=Perl%20News scroll to them bottom of the page
the "Add a piece of Perl News" has very bad contrast in the standard css :( 16:15
masak security through obscurity? :)
pmichaud jonathan: (#61356) okay, here's one that has been in the back of my mind lately: { my $x; class Foo { method a() { say $x; } }; $x = 3; Foo.a(); } 16:16
I don't have any good ideas for solving that one.
moritz masak: obscurity through carelessness
jonathan pmichaud: Should print 3? 16:17
pmichaud according to the spec, yes.
But when do we close over the class?
or the method?
purl i heard the method was a good start
masak purl: forget the method 16:18
purl masak: I forgot method
jonathan The :init :load block for the class should probably close over the methods, and that in turn should be closed over at the start of the opening {, no?
s/opening {/outer block/
pmichaud except that at the time we process class (BEGIN), we haven't finished compiling its outer scope yet.
so there's no $x or :outer that we can reasonably attach to.
jonathan We're not *really* doing them at BEGIN time yet, but yes, when we start doing that, it will hurt. 16:19
pmichaud right.
again, just a longer-term thought, not something I want to fix today.
but it's going to affect any classes that expect to access their outer scopes.
jonathan I would be happy saying, you shouldn't be messing with lexicals declared in a not-yet-finished-compiling scope.
Whether the spec would let us get away with that, I'm not sure. 16:20
pmichaud me neither.
oh well, we'll figure it out when we get there.
jonathan We can come back and set_outer later on.
pmichaud yes, but we'd also have to re-capture the method
jonathan The method or just the class block? 16:21
pmichaud the method
set_outer is a static thing, but setting an outer context is dynamic.
i.e., 'set_outer' currently works on subs, not contexts. 16:22
although perhaps it could work on the sub's current context as well. That might fix it.
16:22 galf joined
pmichaud i.e., when we set_outer on the block for class Foo, we end up changing its nested block's notion of what their outer contexts are 16:23
jonathan If it knocks out the sub's current context, does the sub not have to then go and relocate an outer context on its next invocation?
Oops
I mean if the sub's current context's outer context pointer
Oh, but that wouldn't follow down the chain to the methods. Hmm.
pmichaud well, it would if we set it on the context 16:24
(more)
when we compile Foo, its block gets invoked
that creates a context
and method a closes over that context
jonathan Aha. 16:25
pmichaud i.e., method a's outer_ctx points to Foo's context
jonathan So if we set that context's outer...we should be OK?
pmichaud but at compilation time, Foo's context doesn't have an outer context
jonathan *nod*
pmichaud so yes, we might be OK in that case.
jonathan That'd may fly.
pmichaud okay, I think that's a workable strategy for now, when we get to that point. 16:26
jonathan If we have to make lexicals in an outer block available while that block is still in a half-compiled state, that's just nasty though.
We'd have to do nasty faked-up-context-that-we-make-real-later style stuff in that case. 16:27
pmichaud I'll deal with that when I get there. We may have some "special lexicals" or special mechanisms for binding lexicals to things that were already compiled.
jonathan I think we've got much more common things to be working on for now.
pmichaud correct. 16:28
jonathan But fixing whatever was wrong with :load :init and :outter together would let us run that example.
Until we switch to really compiling classes at compile time.
Which I think we can comfortably put off for a while.
pmichaud I'm wondering if the :load :init bug is fixed already -- haven't tried it recently.
jonathan Ah. 16:29
pmichaud I don't think I've tried it since the lexicals merge.
jonathan Is it not a PCT thingy that checks if you've got the two in combination and drops the otuer?
pmichaud currently, yes.
although I think I also did a test that determined it was just :init (or just :load) that was the issue.
jonathan I guess it's easy to coomment that bit out and quickly see if it works.
jonathan wonders where it'd be 16:30
masak purl: infinite regress is <reply>see infinite loop 16:31
purl OK, masak.
pmichaud compilers/src/POST/Compiler.pir
masak purl: infinite loop is <reply>see infinite regress
purl ...but infinite loop is perl -e'{redo}' or the name of the street the apple campus is built on...
masak purl: no, infinite loop is <reply>see infinite regress 16:32
purl okay, masak.
pmichaud jonathan: I think I took that workaround out already.
jonathan pmichaud: Ah.
pmichaud which tells me that the bug is gone.
jonathan Ah. 16:33
my $x = 42; class A { method x { say $x } }; A.new.x # still prints nothing
pmichaud there may still be some :outer issues with classes, even if they aren't :load :init ones
the class block still gets invoked before its outer block. 16:34
so the $x that is in class A isn't referring to the $x that we just started.
what you just wrote is the same as 16:35
{ my $x = 42; class A { method x { say $x } }; A.new.x }
and the class block gets executed before the outer block.
jonathan Ah.
pmichaud which means it's bound to an "autoclosed $x", which isn't the same $x we get upon invoking the outer block. 16:36
16:36 workbench joined
jonathan Hmmm. Yes. 16:36
pmichaud otoh, I highly recommend using our $x in this case and avoiding the issue for a while. :-P
jonathan ;-) 16:37
Is this in the realm of, stuff that'll be a real pain to fix?
pmichaud yes.
jonathan If so, I'm going to leave it.
pmichaud or, at least, the realm of stuff that if we fix it now will cause us pains with the other stuff we really ought to fix first
jonathan OK, we leave it.
pmichaud it should wait.
on another topic... 16:38
:-)
jonathan Does anyone have any opinions on rt.perl.org/rt3/Ticket/Display.html?id=57722
It looks sane to me. 16:39
pmichaud istr there was some discussion that ticket engendered 16:40
but if it applies and passes the test, I'm okay with it for now.
jonathan The discussion isn't on the ticket. 16:41
Well, we're only going to be as wrong as Pugs and elf and Perl 5. ;-)
pmichaud right, I think it was on p6l somewhere, contemporary with the ticket.
so yes, if it applies and passes the test, I'm okay with it. 16:42
hmmm, I need lunch. I can feel energy levels draining quickly.
are we just waiting back from November about the rakudoreg branch? 16:46
(ack, mangled that sentence, I did.)
is the rakudoreg branch just waiting on November confirmation?
jonathan November is broken in the branch. :-( 16:50
I probably need to get November and try it myself.
And debug from there.
masak jonathan: good idea.
purl masak: Good Idea: Cleaning up litter. Bad Idea: Cleaning up kitty litter.
jonathan Unless someone can get me a small test case.
Which would be wonderful, but maybe hard. 16:51
masak jonathan: sorry, I haven't been following the discussion. what's broken, where, how? 16:52
(this might sound strange, but I don't currently have November either) 16:53
pmichaud okay. I'm doing lunch -- then back to work on :load :init issues I guess.
Whiteknight ditto, lunchtime
jonathan masak: I have a branch called rakudoreg
It implements type registration and gets rid of the ucfirst typename hack, amongst other things. 16:54
It also makes use happen at compile time - we can't not now - but does it in a way that doesn't cause the previous problems that we had with that and November.
We pass all spectests, including some new use/class ones, and I did some checks on pre-compiled modules with classes and they work. 16:55
So I'm not sure what in November breaks.
masak jonathan: how do you know that it breaks?
jonathan I asked somebody to check it with the branch and they++ (I forget who) said it was.
masak jonathan: it all sounds to me like there is at least one spectest missing :)
might have been ihrd. 16:56
ok, I'll see if I can do the same, then.
jonathan Ah, it was moritz 16:57
moritz++
Anyway, if you can reproduce, that'd be nice to have confirmation.
If you can narrow it down, that's even better.
Coke (#parrot is enough) not for those of us that don't care so much about rakudo guts, but we'll get by, I suppose. =-)
jonathan Coke: My hacking on Rakudo guts today has already resulted in one fix to Parrot. This isn't unusual. 16:58
They're at least somewhat related. :-)
Coke skips the remainder of the review.
masak jonathan: I'm on it. will get back to you once I reach a result of some sort. 16:59
jonathan masak: That's wonderful, thanks for helping.
dalek r34031 | jonathan++ | trunk: 17:01
: [rakudo] Make substr handle being given a negative start and length. Patch courtesy of Ronald Schmidt <ronaldxs@software-path.com>.
diff: www.parrotvm.org/svn/parrot/revision?rev=34031
Coke jonathan: (fixing parrot) that's certainly appreciated. And I'm trying to be much more good natured about the grumbling than we used to get in here. =-) 17:02
Coke retreats. 17:03
jonathan Tene/pmichaud: Do we have CATCH blocks to the point that we can close rt.perl.org/rt3/Ticket/Display.html?id=58016 - if not, maybe is good to update the ticket with a what's left. 17:05
jonathan hopes he didn't irk Coke 17:06
pmichaud: Another possible closable for you go cast your eyes over - rt.perl.org/rt3/Ticket/Display.html?id=60732 17:08
jonathan wants to try and keep the queue clean
masak jonathan: aye, I get a Null PMC access when compiling CGI.pm -- maybe you knew this already. 17:13
what's worse, since Parrot crashes while compiling, there's a partially-written CGI.pir left in the directory... 17:14
...and it creates other errors when make is run a second time.
masak investigates the first error
jonathan Ouch.
masak: How much does CGI.pm depend on?
masak jonathan: checking. 17:15
it depends on URI.pm
...which has no deps.
so the error, whatever it is, concerns those two files.
I'll play around a bit with comments and see what I come up with. 17:16
jonathan Aha, OK.
So you're saying we can reproduce it with just two files?
masak that is what I'm saying, Billy.
oh -- wait. 17:17
jonathan OK, that's much more handlable than the whole of November. :-)
masak URI.pm does have a dependency, URI/Grammar.pm
but that one has no deps, honest.
jonathan Screw you too, gaz...
masak :)
resuming playing-around-with-comments. 17:18
jonathan masak: Thanks, much appreciated.
masak np. I want to fix this as much as you do. :) 17:19
stability and features are good for both our enterprises.
partial insight #1: if I comment out the URI deps from CGI, the latter compiles. 17:20
...and so do URI and URI::Grammar. wtf? 17:21
there is also another problem in Dispatcher, it seems. 17:22
Tene jonathan: 58016 should be closable.
jonathan Tene: OK, thanks. 17:23
Will close it - we can open more specific tickets for any more specific issues.
Tene pmichaud: what would you think of adding a pasttype to PAST::Ops for throwing an exception? Message as first child, severity as second child, type as third child?
jonathan Tene++ # CATCH blocks 17:24
Tene is going to try to do real work at $realjob today, so won't be around much (hopefully). 17:25
17:29 chromatic joined
masak jonathan: gist.github.com/37140 17:34
jonathan masak: That reproduces it? 17:35
masak aye.
jonathan masak: Excellent!
purl plays air guitar
jonathan Out of curiostiy does changing grammar URI::Grammar { 17:36
to instead be class URI::Grammar {
help?
purl #perl is not a help channel, and I'm not a help bot. If you want Perl help, try #perl-help or #metallica. or (see the 'help channel' factoid as well)
masak jonathan: hold on.
jonathan I've got a good idea what this might be if so.
masak jonathan: doesn't help.
jonathan Ah, OK.
masak good hunting. 17:37
jonathan Thanks for such a concise example, I'll be able to work it from here.
masak++
masak np
moritz when I merge ticket A into ticket B, why do I presever A's title and not B's?
RT-- 17:38
I didn't say "assimilate B" (modulo Bork jokes) 17:39
chromatic He would have made a good Supreme Court justice.
jonathan does some work on smartmatch 17:40
moritz restarts feather's apache 17:43
masak orders pizza
17:45 Lorn_ joined
pmichaud comments for no specific reason. 17:49
jonathan pmichaud: You asked about ACCEPTS on Match the other day 17:50
I just spotted
Match Capture
In the equivalence table.
If you didn't already see that.
17:51 apeiron_ joined
pmichaud I hadn't seen that particular entry, no. However, TimToady and I discussed the potential for Match ~~ Capture when captures were first being formulated, so it's not surprising to me. 17:53
I've basically been doing things as Match isa Capture ever since then 17:54
Tene: ('throw' as pasttype) -- if we really decide we need it, then yes. At least in Rakudo, most throw operations appear to be handled by specific subs for the purpose, so they're just :pasttype('call') nodes.
Until then I tend to continue to work from the "don't add until there's a clear use case" position for PCT 17:55
17:56 tomyan left
particle jonathan: Things people most mistook for the messiah in 2008: (1) Obama. (2) git. 17:57
jonathan++
18:07 peters joined, leto joined
pmichaud so, anything specific I need to be working on today? 18:11
18:12 jhorwitz joined
jonathan pmichaud: parameters? ;-) 18:13
pmichaud jonathan: still want me to wait for the rakudoreg merge? ;-)
jonathan I don't need them especially though.
18:13 Andy joined
jonathan Oh, yes...that's a good point. 18:13
OK, loadinit ;-)
masak++ has got me a small testcase.
pmichaud yes, I'll work on :loadinit. I need to doodle some stuff here on paper to get that worked out, though. 18:14
moritz jonathan: is it in the test suite? 18:15
jonathan moritz: Not yet.
moritz: gist.github.com/37140
If you want to testize it.
Otherwise I will when I look into it. 18:16
masak I still haven't checked if it matters whether the modules are in different files. 18:22
tewk I didn't loose it over Obama, but git fits my work model better than centralized source control. 18:23
jonathan masak: They weren't in different files in this case?
masak yes, just as you got them
but I don't know if that's essential. 18:24
jonathan masak: Then I think that it _should_ fail.
masak please explain.
jonathan S?? says that you can only use a class keyword without a block once time in a file.
masak ah. well, modulo that. 18:25
jonathan Also, I'm not sure if you're in the same file, you would then do "use".
I thought use was spec'd to go load a file?
masak jonathan: modulo that, too.
jonathan OK.
masak I'm thinking: does the error remain if I put all the classes in the same file (with appropriate changes)? 18:26
jonathan Hang on though, you have all of these in separate files, right?
Oh, I see!
masak my guess is "no"
18:26 mberends joined
jonathan Sorry, I completely misunderstood your point. 18:26
masak I have a feeling this has to do with (1) attributes and (2) use
but I'll go and be empirical for a while. brb.
jonathan I'm quite sure it's to do with use, and it may appear in the attributes case because of the typed attribute.
has URI ... 18:27
masak jonathan: everything works when I put all three classes in one file. 18:29
jonathan: I get a _different_ error when I combine CGI and URI into one file, and keep URI::Grammar separate 18:30
but we'll handle that later, if needed.
jonathan masak: OK, interesting to know. 18:32
It's cerainly to do with use.
18:32 dngor joined
jonathan Don't feel a need to hunt further unless you're enjoying it - you've got it down to a much smaller test case already than I had hoped for. :-) 18:32
masak jonathan: I'm not hunting anymore. I'm eating pizza. :) 18:35
jonathan masak: I'm planning to do similar shortly. :-)
masak (that said, I'm curious.)
moritz hunting is hard, let's eat pizza!
18:38 davidfetter joined, leto joined
jonathan seems to have a working ACCEPTS for arrays. 18:39
Including dwimming on *.
jonathan looks for tests
moritz t/spec/S03-operators/smartmatch.t, "smartmatching lists" 18:40
jonathan yeah 18:41
We don't have any yet for the dwimmy stuff, I odn't think
But I can add that.
masak jonathan++ 18:43
jonathan unfudges 2, adds 11 new and makes spectest 18:48
In the meantime, it's my turn to go for pizza. 18:49
18:49 workbench joined
masak pizza++ 18:55
pmichaud okay, I figured out MAIN and init load stuff. 18:58
it's shockingly easy once we get the right formulation. 18:59
moritz that's always a good sign ;)
pmichaud I'll implement it locally, but won't commit until we know where rakudoreg is headed. 19:00
PerlJam moritz: I thought it was a sign of normality. "Now that I know how to do X, X is really easy" ;-)
masak maybe good signs are normal. 19:04
moritz maybe normal signs are good. 19:05
jonathan: the assign.t failure in rakudoreg worries me a bit - did you look into it? 19:08
pmichaud assign.t failing in rakudoreg? 19:22
moritz aye
pmichaud I'll look.
moritz Null PMC access in get_string()
after test 153
pmichaud those are usually quick to fix.
(have to rebuild branch...)
what's the description for test 153? 19:23
masak pmichaud: it's skipped, so it's hard to tell.
19:24 nopaste joined
pmichaud okaay, I'll just run it. 19:24
masak pmichaud: line 468 and on contain the error.
pmichaud: my @z = ($a = W, W); 19:26
it's that one.
W is a sub defined just above in the file.
pmichaud maybe we need to define a dummy 'want' function. 19:27
19:27 AndyA joined
pmichaud let it just return undef. 19:27
moritz pmichaud: or a failed eval() would just have to return something that doesn't make everything bail out
pmichaud that too.
masak yes, that'd be even better.
moritz that would fix another ticket I opened roughly a week ago 19:28
pmichaud testing... 19:31
purl i think testing is Don't use #perl for testing! or experiri vovere est or make tests pass for existing features, fail for unimplemented features and skip for wishlist features
pmichaud yes, that fixes it.
let me clean up eval a bit. 19:32
jonathan moritz: I have a local patch to fudge the assign.t failures. 19:34
pmichaud cleaning eval also fixes it, though.
and it needs to be done :-)
jonathan OK, that's fine too.
Please don't throw in a dummy want function.
pmichaud why not? 19:35
if it returns a failure, that's probably okay.
jonathan It'll only confuse people into thinking it should work, ratehr than getting a "sub not found".
pmichaud if the failure says "want not implemented", that's even better.
jonathan Unless it's the kind of failure that explodes with "want not found".
OK, that's alright.
As long as it doesn't silently look like it should be working.
nopaste "peters" at 83.183.129.106 pasted "a few grammar tests" (35 lines) at nopaste.snit.ch/14997 19:36
masak peters: hiya.
peters Hej masak
moritz peters: should I add that to the test suite? 19:37
peters sure =) 19:38
peters hopes they are correct
moritz they are, if we assume that is() does string comparison 19:40
peters =)
moritz but I can easily change them to dtrt in any case 19:41
particle i'm sure /^<...>^/ isn't correct 19:42
masak though it looks nice. :) 19:43
sort of like an Asian crab smiley.
peters oops, meant ^<..>$
moritz particle: why not?
pmichaud ^<...>^ tests that <...> is zero-width :-P 19:44
moritz ;)
masak good to know when the first p6 obfu contest takes place.
pmichaud r34039 fixes assign.t for me in rakudoreg
peters moritz: want me to fix a nopaste?
jonathan pmichaud: You comitted it into rakudoreg? 19:45
pmichaud yes.
jonathan OK, great.
moritz pmichaud: I just commited a fixed version into the pugs repo
s/pmichaud/peters/
peters thanks 19:46
19:47 DietCoke joined
Coke commented out code is not boss. 19:47
19:48 nopaste joined
cotto chromatic, should I change N_BUCKETS or did you want to dig into that more? 19:48
kj Coke: I take it you refer to my commented-out code ?
Coke ah, there you are. =-)
kj ... still working on that
Coke Yup.
hokay
kj I'm 99.99999999% sure it's ok, but still testing with a fresh check out
will remove it shortly 19:49
Coke: is there an RSS feed for commits? I'm looking at parrotvm.org/svn/parrot, but thelink to rss is broken 19:51
moritz svn.perl.org/rss/log/parrot.rss 19:53
purl, parrot svn rss is svn.perl.org/rss/log/parrot.rss
purl OK, moritz.
cotto moritz, you should put that on the wiki.
kj moritz: thanks! 19:54
pmichaud my desktop keyboard just died :-( 19:55
(and mouse, too)
chromatic will be a few minutes late
peters moritz: nopaste.snit.ch/14998 19:56
moritz cotto: any suggetion on which page?
cotto WhereIsIt
moritz peters: do you have a commit bit for the pugs repo?
peters moritz: nope 19:57
kj moritz: I'd say on developers?
moritz peters: we should change that. Just /msg me your desired nick name and your email address, and you can get one in a few minutes
WhereIsIt is good
Whiteknight is dalek busted?
I've committed a few things, and he hasn't mentioned any of them 19:58
cotto dalek--
jonathan Hmm, nor my last few commits.
I WANT MY KARMA!!!
;-)
Whiteknight jonathan++ 19:59
cotto karma++
masak jonathan-- # greed :P
pmichaud jonathan++ # on loan for 0.00-0.25 % interest
cotto karma karma
purl karma has karma of 58
PerlJam jonathan-- (you didn't say which kind of karma)
Whiteknight That's escrowed karma, I'll take it back when dalek comes back
volatile int jonathans_karma; ... 20:00
jonathan ...well that was all a bit of a no-op...
masak jonathan: be glad for that :)
jonathan masak: Be glad I'm closing 2 of your tickets. ;-)
pmichaud except for the side effect that we all now you to be a greedy karma person. :-)
masak jonathan: I am, look: \\o/
pmichaud *now know
grrr
jonathan Like that's news...why else do you think I commit so much?
pmichaud blames his non-functioning keyboard.
TimToady phone? 20:01
purl phone is always interrupting
pmichaud phone
masak purl: forget phone 20:05
purl masak, I didn't have anything matching phone
masak purl: liar.
purl No, purl is lying!!
moritz I've added a section "Source Code" to trac.parrot.org/parrot/wiki/WhereIsIt now 20:06
pmichaud it looks like my usb ports on my desktop died. :-(
jonathan :-( 20:07
pmichaud that does make troubleshooting difficult :-(
jonathan Reboot doesn't fix it?
pmichaud no.
jonathan Oh, wait, you don't run windows...
pmichaud I think it's hardware failure.
jonathan Ouch. USB port failure implies m/b fail.
pmichaud correct.
jonathan Which is one of the most annoying things to have to replace. :-(
cotto moritz++ 20:08
PerlJam pm: it's so cold that the solder shrank. Just warm it up a bit :) 20:09
cotto Does Parrot have a way to get entropy from the system? 20:10
jonathan (whispering so masak can't here) Rakudo RT is down to 163 tickets. 20:11
masak someone say anything? I thought I heard something...
jonathan Nothing at all!
purl well, nothing at all is in core. or what stupid sexy flanders says
masak purl: every day, you make less and less sense. 20:12
purl masak: huh?
cotto masak, not a simpsons fan? 20:14
Coke flanders?
purl flanders is dead. So is Swann. More's the pitty.
Coke simpsons?
purl simpsons is, like, xrl.us/2doe
masak cotto: I know who Flanders is, but I fail to see the connection with what purl said.
chromatic He had a field. 20:15
Coke forget simpsons
purl Coke: I forgot simpsons
Coke has missed the perl6 meeting again.
pmichaud Coke: you haven't _missed_ it completely. 20:17
20:19 iblechbot joined
Coke willen have on missed it. 20:21
Coke has nothing perl6ian to report. 20:24
chromatic willen haven 20:26
Coke did try to find a web reference to the grammar, but was stymied.
chromatic++ 20:27
Whiteknight dalek-- 20:29
Tene I wondered why nobody had been committing. 20:30
cotto chromatic, should I change N_BUCKETS or did you want to dig into that more? 20:33
20:33 gryphon joined
Coke asks again if we should investigate a hash library. 20:34
perhaps mhash?
jonathan Didn't google have a super-low-overhead hash?
It's another option maybe.
Coke goog-sparsehash.sourceforge.net/ ? 20:35
er, code.google.com/p/google-sparsehash/
jonathan "An extremely memory-efficient hash_map implementation, with only 2 bits/entry overhead."
Sounds like it.
purl Sounds like it. is it also delicious?
Coke looks like that's C++
jonathan Oh, is it C++... :-( 20:36
Damm. Well, maybe useful for ideas, but not good if we want something we cna Just Use. 20:37
Coke I just want something we can use.
GeJ Good morning everyone
Coke jonathan: created a TT for it. 20:42
TT?
purl TT is (: Template Toolkit)
Coke TT is also Trac Ticket
purl okay, Coke.
pmichaud starts to investigate what has happened to his desktop :-( 20:44
chromatic Weasels.
purl weasels are *expensive*
chromatic cotto, go ahead.
pmichaud actually, probably rabbits in this neighborhood. Or maybe mice. 20:45
chromatic I've been thinking today that we should cut out all of the really smart really fast we know this has to be super optimized clever parts of hash.c and make a simple hash and only then profile it and worry about speed.
The fact that the bucket allocation code is impenetrable and, as far as I know, could never work correctly in all cases damns it even slightly. 20:46
pmichaud I would not be adverse to that. 20:47
Coke chromatic: is it worth doing that rather than just dumping the whole thing if we can go with a portable-enough library?
pmichaud the fact that the various "-g bugs" all seem to involve keys and key lookups makes me wonder if it's hash related.
mberends chromatic: "premature optimization is the root of all evil" C.A.R. Hoare, and D. Knuth
Coke I would really like us to not reinvent so many wheels.
pmichaud that would be consistent with what I've observed, anyway.
chromatic Coke --> Allison
Coke chromatic: if 3rd party library is problematic, undoing undocumented speed hacks++. 20:48
chromatic I'd love to dump a lot of that code and absorb a license-compatible file or two, but I've never managed to convince her of that.
pmichaud, you may have missed last night how I said that keys are one of my top four least favorite parts of Parrot's source code. 20:49
allison absorbing files from other projects is a world of pain
Coke we just don't have enough cycles to do everything ourselves.
particle cerberus is a car whore
allison making certain external libraries a build requirement, though is fine
chromatic Cerberus is still Pope.
allison we already do it with ICU
chromatic That's 'cuz you can't just drop ICU into your source tree.
Coke ... we tried that. it kind of worked. 20:50
allison (we just need an intelligent default for cases where the library isn't available)
Coke I'd rather depend on a library than not.
particle icu isn't a requirement
it's optional
Coke particle: it is if you want to do anything serious with unicode.
which we claim to support.
allison particle: right, external libraries always need a fallback
NotFound Are we inventing the optional requirement? ;)
Coke it's not required for "one wing" parrot.
clipped. =-) 20:51
particle let's call it the american parrot.
brooklyn parrot? they exist.
Coke allison: when is the library not available?
(for, say, a 3rd party library that we know compiles on all our platforms)
s/platforms/core platforms/
any time we have to roll our own default, we might as well just ditch the 3rd party library entirely. 20:52
chromatic o/~ It's the American Way o/~
NotFound The default for no icu is that a lot of things doesn't work. I don't think this will be a reasonable default for hashes. 20:53
Coke NotFound: true. 20:54
chromatic Hashes may be tricky though, because we do a lot of things with them; sometimes their keys or values need marking during GC.
allison Coke: that is what we decided before, but there still could be value in using an external library 20:55
Coke I think it would probably increase our support burden if we had our version and an external library.
but, again, if we assume that we have a library that works on all our core platforms (which I mentioned in the ticket), we don't need a fallback. Do we? 20:56
(and if so, why?)
NotFound We can put a linear search as fallback, as a subtle motivation to install the library ;) 20:57
tewk NotFound: for small hashes that may be faster :) 20:58
chromatic I'm not sure we don't have a linear search in some cases now.
allison Coke: it depends on the library, and how many platforms it's supported on
NotFound tewk: ugh, that defeats the purpose
PerlJam are we assuming compatible licensing for these hypothetical 3rd party libs? 20:59
allison Coke: the big three we're targeting for 1.0 is not enough
Coke allison: why not?
chromatic Because the world is not enough!
kj sounds like another James Bond movie
allison Coke: because people need a sane way of porting Parrot to other platforms, and telling them "you have to reimplement the hashing algorithm" isn't an option
chromatic Yeah, but telling people "We have an amazing virtual machine with wonderful features" and having them say "You don't know how to write a hash; WTF?" is kind of embarrassing. 21:00
Coke We only have so many resources available to us: we already didn't meet all the goals for the first post-PDS release. I'm not sure that having us write more code is a viable option.
allison we're talking in hypotheticals here 21:01
Whiteknight How much work is it going to reasonably take to write a good hashing algorithm?
allison put together a list of available external hash libraries and we can evaluate which will or won't work
chromatic Depends if you're a mathemetician.
allison and what the cost/benefit trade off for each is
Coke allison: I'm trying to find out if it's even worth it. Sounds like not.
Whiteknight howabout mathemagician?
chromatic No; they always trigger division by zero exceptions.
allison Coke: oh, it's absolutely worth investigating
Coke that's certainly not the impression I was getting. =-) 21:02
21:02 Lorn joined
allison I'm outlining the parameters of what we would need from an external library, not shooting the idea down 21:02
Coke If we always need to write a fallback, it's not worth pursuing, IMO. 21:03
kj I don't think the amount of code is the only concern; it's what kind of code. A hashing algorithm shouldn't be too hard?
chromatic At the very least, anyone who's done basic research into hash algorithms can look at ours and say "Don't you know that your bucket count should be a prime number, and definitely not a power of two?"
PerlJam Coke: getting something working and correct that will be replaced later makes it not worth it?
chromatic ... which suddenly clarifies N_BUCKETS, even though it's used consistently wrong.
allison a very simple hashing algorithm is a fine fallback, but not what we'd want to use most of the time 21:04
tewk a secure hashing algorithm is non trivial
Whiteknight if we had a good general hashing API, we could write any number of ever em-bettering backends for it
jonathan That's a completely different thing.
Coke I think my point is either misunderstood or disagreed with.
jonathan (secure hashing...)
NotFound If we want to have something working and correct without much effort, maybe the linear search is not such a bad idea.
allison Coke: possibly both, it's true that I don't see the problem 21:05
Coke PerlJam: what?
kj linear search is in fact not that bad. I did some experiments, and I had to add like 2000 strings (or was it 15000? either case, big number) to my symbol tables before hashtables started to be faster
chromatic Or an ordered heap.... 21:06
Whiteknight i have to go. later
chromatic But you have to account for the comparison overhead.
NotFound kj: c strings, parrot strings, or both?
chromatic And the fact that our hashes are polymorphic.
kj NotFound: i was doing C strings
PerlJam Coke: it sounded like you think it's not worth investigating other mechanisms if they are going to be replaced at some point.
allison linear search is a perfectly reasonable fallback, ordered heap may be more complex than needed but may work 21:07
kj I was really quite dissappointed.
PerlJam I'm only paying about 40% attention, so if I'm wrong just ignore me :)
jonathan kj: That suggests our hashing may be rather broken... :-S
Or at least inefficient. 21:08
tewk jonathan: I ment in DDOS senarios, bad hash algorithms can lead to long runtimes.
jonathan Ah, OK.
I thought you meant like, SHA-1
kj jonathan: it was PIRCs hashing algorithm, which I stole from IMCC. Yes, it may be bad, but it could be easily fixed (very local code) 21:09
jonathan kj: Ah, OK, I thought you were using Parrot hashes.
It may be worth a benchmark on those against arrays.
We use hashes all over the place, though.
I expect we're quite sensitive to hash performance. 21:10
pmichaud I'm sensitive to hash bugs, for sure. :-)
PerlJam too bad we don't have any profiling tools ;)
pmichaud (cleaning the motherboard with compressed air seems to have restored my usb ports. Well, at least the keyboard. And I haven't plugged in any other usb devices.) 21:11
chromatic Some 5% of runtime for "Hello, world!" in PIR hits hash code.
pmichaud (so, at least it doesn't appear that I need a new motherboard yet.) 21:12
jonathan compressed air FTW
allison PerlJam: I think Coke meant that if we spend the effort on implementing a hashing algorithm for a fallback, then it seems a waste to also spend it on linking in an external one
chromatic Hm, and some 8% of runtime in the Rakduo building benchmark hits hashes.
NotFound Motherboards are like humans, sometimes they just need some fresh air.
chromatic Wait, no. Closer to 16%. 21:13
jonathan Wow.
chromatic Maybe 18%.
kj can't we just use the hashing algorithm in the Dragon book?
jonathan Is that the time we spend insice the hash code?
allison PerlJam: but, I suspect there's a huge difference in effort between maintaining a fully optimized hash algorithm, and maintaining a light simple one as a fallback
kj that was written by the Experts :-)
Coke partcl is closer to 25%, IIRC. 21:14
PerlJam kj: Knuth didn't write the dragon book ;)
allison: right.
purl i heard right. was there any chance you could get the fixes into branch?
chromatic Let's figure a rule of thumb for 20% of time in the hash code.
Coke PerlJam: given our new release driven psyche, yes, I want to minimize the amount of time spent coding things that don't get us 1.0
kj PerlJam: right, but it was either Aho, Sethi or Ullman, all of which I trust to be smart enough
allison chromatic: which makes it a big target for a speedup
Coke (including experimental code)
pmichaud PGE heavily depends on hashes.
chromatic Fixing the N_BUCKETS fiasco might help.
pmichaud so do named arguments. 21:15
so anything doing parsing and/or method calls ends up doing a lot of hash work.
Coke wonders where his partcl commit messages are.
chromatic If we can get a prime number (or at least a non-power-of-two number) of keys per hash, that might help.
PerlJam what's wrong with using Perl 5's algorithm?
chromatic This is pretty close. 21:16
Coke kj++ # deprecation updates
kj Coke++ # setting a Good Example 21:17
Coke can someone do partcl a favor and test code.google.com/p/partcl/wiki/PartclSource "For users" ?
pmichaud rakudo: say 'pmichaud', '++', ' # trying to keep ahead of jonathan++';
Coke after that, 'make test' should mostly work in partcl.
polyglotbot OUTPUT[pmichaud++ # trying to keep ahead of jonathan++␤]
PerlJam changes INITIAL_BUCKETS to 37 in his copy of parrot :)
allison Coke: (re: 1.0) that's fair, and really I have doubts whether we'll find an external library that's flexible enough to fit our use case (though I'd love it if that were proven wrong) 21:18
particle who's the perl 5 hash king?
Coke *fffffffp* whaaaat?
jonathan pmichaud: I'm getting sleepy now, use it to your advantage! 21:19
moritz does the hash king do hashing? *SCNR*
pmichaud jonathan: what's the story on rakudoreg? Do I need to still hold off on other stuff, or do it in a separate branch?
NotFound Coke: svn: URL 'partcl.googlecode.com/svn/trunk/branches/stable' doesn't exist
Coke sees that extjs has changed their licensing starting with 2.1 to something too invasive and talks to his boss about buying a commercial license.
NotFound: ... s/\\/trunk//
fixing the wiki.
jonathan pmichaud: I will look at the bug with the November stuff tomorrow. 21:20
masak++ got it down to a small test case
pmichaud okay. Much of the stuff I'm wanting to do kinda blocks on that. :-(
jonathan So it's either (a) going to be easy to find and fix or (b) mean I've screwed up something bad.
Ah.
pmichaud where's the test case...maybe I can take a crack at it?
jonathan Are you expecting conflicts?
pmichaud well, if I'm changing loadinit stuff... maybe.
Coke NotFound++ #wiki updated.
pmichaud or if I'm working on parameters... likely. 21:21
jonathan OK.
Let me make a cup of tea, and then let's look at the november bug.
erm, bug that breaks november ;-)
First step is sync branch with what's in trunk.
Coke allison: regarding the stable branch on tcl, I'll probably just rm the branch and recreate it whenever a new release that works with trunk HEAD comes out.
(rather than do any serious merging between the two.) 21:22
NotFound Coke: builds find with parrot trunk
s/find/fine
pmichaud I don't have svn 1.5, so you might need to do the sync step.
moritz pmichaud: gist.github.com/37140
Coke NotFound: it will fail at runtime.
allison Coke: seems sensible
Coke (as it tries to use ParrotIO)
jonathan pmichaud: Just starting it now.
Coke NotFound: try "make test" ...
jonathan The bug...oh, mortiz' link :-)
Coke (partcl's trunk should run, mostly, against parrot's trunk.) 21:23
moritz Coke: tried the instructions on the wiki...
svn: URL 'partcl.googlecode.com/svn/trunk/branches/stable' doesn't exist
NotFound Coke: lots of fails...
Coke moritz: please refresh. that was reported at about 4 minutes ago.
NotFound: didn't I just say that?
(against trunk I expect everything to fail. that's why the instructures say to try against parrot 0.8.1 21:24
NotFound Coke: just confirming ;)
Coke er, "instructions"
NotFound++
moritz Coke: ok, works
Coke moritz: does "make test" work in languges/tcl after that? 21:25
moritz Coke: that's still running 21:26
Coke any failures yet?
(if not, it's probably fine.)
moritz t/cmd_lsort...................... Dubious, test returned 1 (wstat 256, 0x100) All 22 subtests passed
attempt to access code outside of current code segment 21:27
Coke yup.
pmichaud okay, trying moritz's example in rakudoreg, I currently get
Null PMC access in getprop()
current instr.: 'anon' pc 108 (EVAL_16:49)
called from Sub 'parrot;Perl6;Grammar;typename' pc 94550 (src/gen_grammar.pir:28963)
does that sound right?
Coke moritz++ 21:28
moritz Coke: apart from that, everything fine
Coke moritz: I just updated code.google.com/p/partcl/wiki/TestingPartc to mention that.
jonathan pmichaud: I think that's consistent.
pmichaud okay. I'm not doing anything pre-compiled yet, just running CGI.pm straight from source.
jonathan pmichaud: OK. 21:29
Apparently pre-compiled sometimes worked.
pmichaud why 'getprop'?
afair, actions.pm doesn't actually use getprop for anything.
jonathan It's not in an action. 21:30
OK, just done sync'ing
Getting a clean build.
pmichaud oh, you're right, it's in the grammar.
I think that should go in an action. 21:31
jonathan What should? 21:32
purl A perfect world should never need "should".
pmichaud the <?{{ ... }}> assertion
jonathan It affects the match.
pmichaud that's okay, we can make that happen.
jonathan Let's try and fix the bug. We can refactor later. 21:33
pmichaud I'm not a big fan of "refactor later" -- that's how we end up in these messes in a lot of cases.
Coke I recommend we remove compilers/imcc/Changelog
(it's a holdover from when imcc wasn't core.)
pmichaud that said, we can figure out the bug, yes.
kj Coke: +1
purl 1
Coke kj: I'm heading out. feel free to grab some karma. =-)
-> 21:34
jonathan I don't see what moving the code to an action, even if there's an easy way to do it, would achieve.
kj Coke: oki
jonathan (I am curious how you do it though.)
pmichaud right now we're taking something that should be <?{ $c.is_type(...) }> and turning it into a huge amount of PIR code. 21:35
PacoLinux Coke: make test seems to hang for me in : t/cmd_break....................1/4
pmichaud the grammar should not be so long.
anyway 21:36
$P0 = getprop 'enum', $P0
is that the getprop that's giving us an issue?
jonathan I think it's the only one in there.
pmichaud $P0 gets set by the 'class' opcode. I didn't think there was an official 'class' opcode. 21:37
jonathan wants to clear these tests up and have us just checking for does Abstraction eventually.
NotFound Coke: fine with 0.8.1, just the cmd_lsort fail.
jonathan pmichaud: There is, it maps to get_class vtable.
pmichaud I've been using typeof
PacoLinux Coke: i'm testing with trunk, not 0.8.1, sorry .. 21:38
jonathan Does that return a PMC?
I thought it only gave string and int back...
pmichaud yes.
$P0 = typeof $P1 # gets class of $P1
jonathan Oh.
pmichaud obviously 'class' is somehow returning PMCNULL, though
jonathan Ah. 21:40
You know, it doesn't complain here.
svn up
pmichaud okay, trying again after svn up.
jonathan I think the grammar namespacing stuff (which Chris Dolan's patch fixed) might have been putting stuff int he wrong place.
pmichaud yes, that would make sense. 21:41
jonathan oh, argh!
I ran the wrong thing!
Ignore that.
pmichaud I still needed the svn up. 21:42
jonathan Well, svn up anyway so we're debugging the same code.
pmichaud realclean and rebuild now.
jonathan I did one, yes.
pmichaud (realcleaning and rebuilding now)
jonathan Just in case.
purl Break glass, retrieve shotgun.
pmichaud looks like 'class' and 'typeof' do the same thing. 21:43
(checked while waiting for rebuild :-)
jonathan heh
Typical. :-)
pmichaud I think allison once said that 'class' was going away, so use 'typeof' instead. 21:44
jonathan OK
pmichaud but I'm not sure about that. We can add it to our "deprecation?" list.
jonathan I didn't know typeof handed back a PMC too.
allison jonathan: that was a new addition
jonathan Well, it'd make sense to have one opcode that does it, not two doing the same thing. :-)
allison: Ah, OK.
I'm happy to see class deprecated if typeof lets us get the class. 21:45
pmichaud: Changing has URI $.uri; to has $.uri clears it up
pmichaud jonathan: so, do we just tell november to not type-qualify their attributes? 21:46
jonathan No
That sucks. :-)
pmichaud it wouldn't bother me, if it meant we could merge.
jonathan Also commenting out use URI::Grammar; in the other file helps.
(One change or the other.)
tewk long_running_branches-- 21:47
pmichaud okay, still building
so far this branch is pretty short
like, 24 hours, I think. :-)
tewk shorter the better :)
pmichaud (Trac) maybe someone with some Trac-fu could fix trac.parrot.org/parrot/report/3 so that tickets not related to any milestone don't appear in the output? 21:48
or at the bottom? it seems weird that they are at the top, when asking for "active tickets by milestone"
jonathan pmichaud: OK, big clue.
pmichaud: If URI.pm is 21:49
class URI;
use URI::Grammar;
pmichaud after svn up, rebuild, I still get the 'getprop' error.
jonathan It fails. If, however, it is
use URI::Grammar;
class URI;
Then it works.
pmichaud well, the second version isn't valid Perl 6, I don't think. 21:50
jonathan Oh?
Ah, becuase it needs to be the first statement in the file...
pmichaud correct.
See the beginning of S11.
(we don't check for that at the moment.) 21:51
yes, I still get the same error message
Null PMC access in getprop
jonathan thinking... 21:52
purl www.terrybisson.com/meat.html
pmichaud oddly, -t1 doesn't show that getprop instruction.
jonathan pmichaud: Got an idea it's to do with the cleanup stuff. 21:54
Let me try a couple of things.
chromatic cotto, I'm not sure N_BUCKETS is wrong anymore.
pmichaud we decided yesterday that we didn't need the cleanup stuff, yes?
or that "we shouldn't need" it
jonathan Yes 21:55
The latter.
purl or batter or letter or butter
pmichaud where is the cleanup stuff?
nm, found it
jonathan pmichaud: See esp the bit in use_statement 21:57
Which I fear may be guilty.
pmichaud I really would prefer to eliminate @?UNDER_CONSTRUCTION 21:59
jonathan comment out line 121 to see what happens without it
If we can fix that, we can probably do away with it. 22:00
pmichaud what should I expect to see (while I'm waiting for compile to finish)
jonathan oh, uh, comment out the whole loop 22:01
:-)
Otherwise you sit in an infinite loop
pmichaud I did comment out the loop.
jonathan Guess who forgot.
;-)
pmichaud when trying to run CGI.pm, I get Null PMC access in isa()
is that what I should see?
masak that sounds like the second error I found.
the one I never discussed with jonathan. 22:02
jonathan That isn't exactly what I was getting before - I saw stuff going on in protoobject.
pmichaud nopasting backtrace
jonathan pmichaud: If we're going to debug the problem that makes us need the cleanup at the moment, I suggest a smaller example. 22:03
class A { }; A.new
That will do it.
nopaste "pmichaud" at 72.181.176.220 pasted "backtrace after commenting out @UNDER_CONSTRUCTION" (46 lines) at nopaste.snit.ch/15002
pmichaud yes, that's much easier.
cotto chromatic, how so? 22:04
jonathan pmichaud: Yes. Note it's curious where it occurs in the PIR. 22:05
There isn't an isa instruction there
pmichaud how do you know?
jonathan Add --target=pir
Line 5 of that is capture_lex 22:06
get_hll_global $P26, ["A"], "_block25"
capture_lex $P26
pmichaud capture_lex calls VTABLE_isa
chromatic cotto, it creates only 3/4 as many Buckets as there are slots in the Bucket array.
cotto right
jonathan I'm guessing that us installing an A at compile time, messes up somehow the creation of the nested namespace.
chromatic The problem is that OrderedHash's clone thinks that there are as many buckets as the value of hash->mask, which isn't true. 22:07
jonathan Of course, if we do it afterwards (for the proto) it works and we can have both. :-S
chromatic hash->mask represents the offset for the slots in the Bucket array.
If you use that as the offset for the Buckets themselves, you'll walk into the Bucket array 3/4 of the way through.
pmichaud I thought I had tested that installing an A didn't mess up later namespaces.
let me check.
chromatic That's why the 13th bucket always gets weirdness in it.
cotto that makes sense 22:08
chromatic OrderedHash's clone thus does the wrong thing.
masak the 13th bucket. good name for a band.
nopaste "pmichaud" at 72.181.176.220 pasted "namespace management with protos" (17 lines) at nopaste.snit.ch/15003 22:09
jonathan pmichaud: Hmm. So it's not that simple. 22:10
pmichaud it may actually be simpler -- I just don't think that's it. :-)
22:11 Theory joined
cotto So the fix would be to make OrderedHash only use <= 3/4*hash->mask+1 buckets (i.e. 1/2*hash->mask+1)? 22:11
chromatic Yeah, something like that. 22:12
purl yeah, something like that is what I'd do as well
jonathan pmichaud: It is something to do with what we leave behind in the ns though
cotto I'll see if that works.
chromatic for (i = 0; i <= ((hash->mask - 1) * 3 / 4); i++) {
pmichaud okay, I'll try another test. 22:13
just a sec.
jonathan If you take the PIR that --target=pir spits out, save it to a file, and run that file, it works.
nopaste "pmichaud" at 72.181.176.220 pasted "namespace management with protos, #2" (20 lines) at nopaste.snit.ch/15004 22:14
jonathan pmichaud: Hmm 22:15
What about if you put an UnderConstructionProto in the NS first?
Rather than a new class?
pmichaud I agree that for some reason the @UNDER_CONSTRUCTION is cleaning it up. 22:16
chromatic cotto, all tests pass for me.
pmichaud but here's the thing...
by the time you clean up @UNDER_CONSTRUCTION, shouldn't the construction proto already be gone anyway?
I mean, wouldn't it have already been replaced by the protoobject for A?
jonathan No, because at that point we have not yet run the code that makes the proto-object.
cotto I don't like how that makes OrderedHash depend on Hash's internals, but it seems to solve the problem.
jonathan We run that as we're leaving the parser
pmichaud which parser? the nested one? 22:17
jonathan Well, the nested one should only clean up the UnderConstructionProtos that it created.
chromatic OH jumped that shark years ago.
jonathan My suspicion is that it was maybe being overzealous.
cotto Yeah, it did. 22:18
too many broken windows already
pmichaud okay. Here's what I'd like to propose, which you're welcome to veto.
chromatic We should pull some of this code into src/hash.c someday.
pmichaud Earlier today I figured out how main, load, and init should work. 22:19
chromatic Did you have a failing test case which this fixes?
pmichaud It's *much* cleaner than what we're doing now.
I suspect the problem we're seeing has to do with the convoluted way we're handling main/load/init now.
jonathan It may well be an ordering problem, or some other effect of that, yes.
cotto The clone fix makes a test pass which failed otherwise, but also passed when N_BUCKETS was an identity macro.
jonathan You pondering doing your changes/cleanups in this branch too?
cotto I think that means yes.
pmichaud I'd like to go ahead and fix main/load/init tonight. I can do it in a branch, or in trunk, your preference.
I'd rather do it separate from this branch. 22:20
jonathan Is there any reason not to do it in...ah, ok
chromatic Which test was that?
jonathan It would avoid conflicts.
pmichaud because otherwise I don't know if it's this branch or my changes that are causing things to fail.
cotto the clone test in OrderedHash
jonathan True.
cotto t/pmc/orderedhash.t
pmichaud then I'd like to see if we can re-generate the type checking from that new branch.
jonathan I don't think there would be that much merge conflicts.
pmichaud it didn't take too long to get typechecking to work in the first place, and we know where the pitfalls are likely to be. 22:21
chromatic I didn't have any failures there. Interesting.
cotto (it failed when the hash seed was 3794, although it worked fine with 3793)
pmichaud but then at least we'll know that it's not an ordering issue.
jonathan True.
cotto It seemed to be the only test that couldn't deal with a fixed random hash seed.
pmichaud I'll also draft a version of what I think the "is this a type" code should look like, to get rid of the long assertion. 22:22
(it won't go in an action method.)
(well, it might, but it'll be very obvious how it works.)
jonathan Essentially, moving what's there now to something we call from the grammar rule instead?
pmichaud yes.
jonathan OK, that's fine.
If you set about trying to shorten it down to the .does(Abstraction) test I want it to end up being on the thing that's in the NS, that'll probably make the branch take a while longer. :-) 22:23
pmichaud then once load/init/main are fixed up, let's look at 'use' again.
chromatic How do I file a new TT from email?
Tene I don't think you can yet. 22:24
pmichaud I'm thinking a lot of things will clear up.
and this would happen tonight, literally.
chromatic Gah.
22:24 Whiteknight joined
pmichaud so that you could pick it back up again tomorrow. 22:24
jonathan (The point was to get the type registry in and clear up things in a bunch of smaller refactors, as I review them, make them work in the nested case, and so forth.)
22:25 Theory joined
jonathan I didn't want a long drawn out branch, and I did want to get type registry stuff in early, so we can get plenty of feedback before the next release. 22:25
pmichaud I'm still thinking it can happen in the next day or two.
I don't want long-drawn-out either.
but I think type registery depends on use, and use depends on load/init/main.
jonathan OK, what I suggest. 22:26
chromatic cotto++
jonathan Go ahead and do the init load stuff and put it into trunk
Then we'll fix up use in trunk, which may well just be uncommenting the two lines.
Then when we know we have those two working, *then* the type registry can go in.
pmichaud this sounds good. 22:27
one modification
jonathan Since use is only one small part of the diff from branch to trunk
pmichaud I'm going to start init load in a branch
but I expect it to be a short branch, and I expect I'll be able to merge to trunk.
but if I run into difficulties, we'll leave it in a branch and re-think from there.
jonathan When I said put it into trunk I didn't mean "don't work on it in a branch first".
pmichaud okay.
then we're in agreement.
jonathan I just meant, let's try and merge it into trunk before doing the next step.
pmichaud excellent. 22:28
I expect I will have load/init/main fixed in a few hours.
jonathan OK, great.
masak pmichaud++
jonathan At least it eliminates one possible factor.
pmichaud yes
jonathan And it'll be likely easier to debug once you've done that if it doesn't fix the problem.
pmichaud and makes what else we have to do much easier to figure out.
okay, that's the plan. thanks. 22:29
chromatic Where'd our announce bot go?
pmichaud I'm _sooooo_ glad I'm not spending the night troubleshooting hardware on my desktop. :-|
Tene pmichaud: anything you want me to work on? 22:30
jonathan chromatic: It's still on the channel, just not saying anything.
Is the RSS feed or whatever it gets its data from working?
pmichaud Tene: iwbni the various control traits were in a single rule instead of separate begin_statement end_statement catch_statement control_statement rules 22:31
but let me check STD.pm on taht 22:32
yes
maybe that's not so useful... but at some point we should be able to do $<sym>=[BEGIN|END|CATCH|CONTROL|...] (or some subset of those) and not have a separate rule/method for each. 22:33
especially if the PAST generated for some subset of them is essentially the same except for one or two attributes.
Tene nods. 22:34
pmichaud (I'm thinking that CATCH and CONTROL are pretty similar at this point)
(I suspect NEXT/REDO/LAST will be also)
avoiding the separate rules will keep the parsing speed up a bit.
a good cleanup task in general (for anyone who wants to do a patch) would be to find the instances of 22:36
$P0 = new 'Failure'
and replace them with
$P0 = 'undef'()
in the various builtins and classes 22:37
cotto We need dalek back.
(and active)
22:39 Limbic_Region joined
Tene srsly 22:40
Who runs dalek? They deserve praise.
cotto the rss feed is working fine
jonathan pmichaud: There's a ticket in RT that says to replace new 'Failure' with '!FAIL'() IIRC.
pmichaud there are two cases.
jonathan :-)
pmichaud to signal an error of some sort, use '!FAIL' 22:41
to return an undef, we should be using 'undef'
(some places simply create a Failure object)
!FAIL is preferable when it's appropriate, yes.
I just happened to run across a couple while doing other cleanups this week. 22:42
there might not be many more left.
jonathan I purposefully didn't do the ticket as it looked like an easy entry point for somebody wanting to get into Rakudo.
But have been trying to not put nay more cases in to convert too. ;-) 22:43
pmichaud yes, same here. 22:44
okay, I need to take a break for a bit. will bbiaw
(to fix load/init/main)
jonathan ok
cotto seen Infinoid 22:52
clunker3 Infinoid was last seen on #parrot 3 months, 23 days, 7 hours, 7 minutes and 41 seconds ago, saying: now all we need is an opengl-based configurator :)
purl Infinoid was last seen on purl 21 hours, 50 minutes and 47 seconds ago, saying: <private message>
Infinoid I didn't do it!
cotto Infinoid, are you dalek's babysitter? 22:58
Infinoid `n 23:06
diakopter: I think that's you
cotto seen diakopter
clunker3 diakopter was last seen on #parrot 6 months, 7 days, 18 hours, 11 minutes and 35 seconds ago, saying: as in, "that meme went down the googlehole"
purl diakopter was last seen on #parrot 41 days, 8 hours, 45 minutes and 56 seconds ago, saying: although the Ruby one is comparable. [Nov 6 14:20:33 2008]
cotto that's no good
Infinoid logs into feather to take a look
Limbic_Region cotto - I have his email address(es) if needed
cotto That'd be good. dalek has stopped working. 23:07
Limbic_Region just a second (or a few)
cotto thanks
Infinoid I'm taking a look now, if it's something simple I'll fix it 23:08
Limbic_Region diakopter@gmail.com
he prefers not to publicly use email addresses with his real name
but if you don't get a response there - let me know and I can send something on
Infinoid it runs from supervise; killing it should reset it. lets try that first 23:09
23:09 dalek joined, Theory joined
Infinoid ok. now, commit something :) 23:09
jonathan rakudo day can haz report use.perl.org/~JonathanWorthington/journal/38113 23:10
cotto hopes for an easy codingstd violation to fix 23:11
found one 23:12
committed 23:13
purl The chicken is involved, but the pig is *committed*.
moritz purl, forget committed
purl moritz: I forgot committed
cotto now I want bacon
23:15 bacek_ joined
chromatic I wanted chocolate. 23:17
Now I want a bacon truffle.
moritz t/op/string_cclass (Wstat: 256 Tests: 11 Failed: 1) Failed test: 7 23:18
masak jonathan++ # $newdog = $olddog.clone(:trick); 23:20
cotto That doesn't address the didactic issues. 23:21
chromatic Hash-wise? 23:23
cotto message to diakopter sent 23:26
purl Message for to stored.
cotto purl--
purl cotto: sorry...
cotto botsnack 23:27
purl :)
to hello 23:33
hrm, shouldn't purl have told me I have messages?
heh, there were two messages
Infinoid dalek's not working because the rss feed is not returning any data 23:37
infinoid@feather:~$ wget www.parrotvm.org/svn/parrot/rss
HTTP request sent, awaiting response... No data received. 23:38
cotto svn.perl.org/rss/log/parrot.rss works, although fixing parrotvm.org will probably fix dalek too 23:46
23:47 yjh joined
Whiteknight has anybody made any opcode changes? I'm getting an error about "set_s_s_ki" not found 23:47
oh never mind, there's a trac ticket for it already
Infinoid cotto: dalek relies on some local hacks to add a special field to the rss, so it can get the branch name. (that's because the list of changed files aren't included in the rss data) 23:54
so other than not having branch names, changing the URL will probably get things working
jonathan Does parrotvm.org not run on feather too? 23:55
Infinoid it does
the SVN::Web installation on feather has been half-broken for a while now. 23:56
although... it looks like it should be possible to parse the list of changed files from perl.org rss's description fields, and generate the branch name from that