»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
jnthn sleep & 00:01
dalek d: 14557a3 | larry++ | STD.pm6:
some fixes/comments from jnthn++; p5 workarounds
01:24
beek hello perlos. 01:45
colomon \o 01:51
sorear good * #perl6 02:18
colomon o/ 02:23
sorear jnthn hacks STD now!? 02:37
did Krupp spam every CPAN author?
beek okay, I've got rakudo installed, and I got Pies from github to use panda. From panda I installed NativeCall, because DBDI needed it. Now to install DBDI, it can't find NativeCall in @*INC. 04:15
beek panda did install ~/.panda/src/DBDI dirs in @*INC, i do see. 04:15
I havent figured out how to add to @*INC permanently, rather than just runtime. 04:16
aaaand i don't know how all this is supposed to fit together, so I'm sorta flailing a bit in the dark with mittens.
beek if there was a question in there, it'd be something like: uhhh ummm huh? 04:18
TimToady hasn't tried using modules yet, so can't help much 04:21
beek well on that note, I may just go back to 5 for awhile, until I get another bug to try this again sometime. 04:23
TimToady most of the moduley people are asleep in .eu right now 04:24
beek ha. okay thanks.
beek I kinda assume that I can just use blizkost and p5 modules with parrot currently, until I get my shat figured out. 04:27
and I also assume that's more of a temporary fix until most modules are 6'd.
i guess i should go try instead of assuming. 04:28
tadzik I'm under no illusions that we can write the 09:20
runtime engine in Perl. Especially the interpreter. That would be
bleh
I'm under no illusions that we can write the runtime engine [of Perl 6] in Perl. Especially the interpreter. That would be silly.
TimToady: are you still under that impression? Just curious 09:22
(that's from dev.perl.org/perl6/talks/2000/als/larry-als.txt)
mathw I think you *can*, but it depends what you want to get out of it 09:24
masak's doing his best to prove that it's possible 09:25
I doubt Yapsi will ever be particularly fast, but that's not what it's for
tadzik Oh wait, the Runtime is Parrot, right
for some reason I thought of the settings library as the part of a runtime 09:26
jnthn morning o/ 09:27
tadzik morning jnthn
Trashlord hey
mathw well, that's how I understand it. Other people might use words differently. 09:31
takadonet morning all 12:03
sjn o/ 12:08
tadzik morning #perl6 13:39
or, 'afternoon
jnthn o/
TimToady Since all computer languages are sublanguages of Perl 6, it is inevitable that, with a few appropriate declarations, an efficient runtime can be written in Perl 6. :) 14:24
mathw :D
jnthn did once ponder the idea of a Perl 6 subset that would be relatively easily transformable to C, for the purposes of writing a VM in. 14:28
mathw that would be at the small end of subset then 14:31
jnthn yes :) 14:32
tadzik isn't that what mberends is doing regarding Perlduino? 14:33
mathw writing a VM is still hard though 14:33
jnthn mathw: Yeah. I've got quite enough on my plate without *that* task right now :) 14:38
mathw there are VMs around 14:41
just need to get Rakudo to run on ALL OF THEM
then we can have a deathmatch :D
and crown the One True VM 14:42
TimToady I think that maybe the Go subset would be more useful these days than the C subset.
mathw and nobody will ever need to write one again, because we'll have found out which one's best
Is Go getting any traction?
TimToady It certainly is inside Google. 14:43
TimToady I've got spies. :) 14:43
mathw Well you expect it to be picked up inside Google 14:44
mathw I assume that's a major reason why they bothered to write it in the first place 14:44
I interviewed there once. They seemed clever.
TimToady Go would probably be a good platform for exploring Erlang-like lightweight threading. 14:47
mathw I've been getting very interested in threading over the last year or so 14:59
Largely due to continually being reminded at work that we do it very badly
PerlJam Go was written because that's the kind of thing the people who created it do. Rob Pike and Ken Thompson are just repeating a pattern they've used for the last 30 years only in a new context. 15:04
mathw I've now got far too many languages on my list of languages I should take a good look at 15:05
pmichaud good morning, #perl6 15:18
TimToady \o 15:19
jnthn o/ pmichaud 15:20
PerlJam buenos dias pmichaud
tadzik good afternoon pmichaud 15:21
pmichaud ...should we perhaps revert 42dc4d10 ? 15:22
benabik pmichaud: Unknown revision 15:24
pmichaud sorry, typo
42dcfd10
pmichaud gcd() gets called a *lot* in programs (e.g., in Rat.new) and this version will really slow things down. 15:24
benabik pmichaud: I don't have an opinion, but now I at least know what you're talking about.
pmichaud it also gets called in infix:<+>(Rat,Rat) 15:25
pmichaud alternatively, I could convert the 2-argument calls to gcd into method calls 15:25
i.e., switch gcd($x,$y) to $x.gcd($y)
the second sounds better 15:27
pmichaud results of avoiding call to (now-expensive) gcd(): gist.github.com/966698 15:40
jnthn pmichaud: worth it 15:45
tadzik I think this is this kind of thing we could optimize using tree-optimizer, no?
just transforming gcd(a, b) to a.gcd(b) 15:46
pmichaud jnthn: I figure a 14% improvement is almost always worth it, especially for something as fundamental as Rat construction and arithmetic. :-)
tadzik: how would the optimizer know that gcd(a,b) is the same as a.gcd(b), though? That's no longer the case in the code. 15:47
tadzik hmm, I have no idea 15:48
pmichaud indeed, what makes 42dcfd10 slower is the fact that it switched gcd() so that it's no longer a simple transformation.
jnthn The real optimization answer will be to have it as two multis, and have the compiler realize that gcd($a, $b) candidate is the one to choose.
tadzik rakudo: multi media($a, $b) { say "two 15:49
p6eval rakudo 08e717: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
tadzik bleh
pmichaud I suspect the gcd() sub itself is suspect anyway -- so far .gcd() is only defined on Int
tadzik rakudo: multi media($a, $b) { say "two" }; multi media(*@a) { say "slurpy" }; media 5, 6;
p6eval rakudo 08e717: OUTPUT«Ambiguous dispatch to multi 'media'. Ambiguous candidates had signatures:␤:(Any $a, Any $b)␤:(*@a)␤␤ in main program body at line 22:/tmp/ZjxFZm5uCk␤»
pmichaud so if you pass non-Int values to gcd(), it'll fail.
jnthn tadzik: hmm. 15:50
pmichaud multi xyz($a, $b) { ... }; multi xyz($a, $b, *@c) { ... }
jnthn Well, or we could make the above work.
pmichaud anyway, I'm not liking the gcd() function in the first place 15:51
jnthn *nod*
pmichaud I'm somewhat inclined to rip it out altogether, esp if it's unspect
*unspecced
benabik Isn't it somewhat needed to do proper Rat math?
pmichaud we have gcd as a method
I'm saying eliminate it as a sub, not the general gcd capability
indeed, I wonder if it should perhaps be infix:<gcd>(Int $a, Int $b) 15:52
then you get [gcd] for "free"
jnthn gcd as a method feels slightly weird to me, fwiw.
pmichaud and one can write $a gcd $b
jnthn ooh, the infix isn't so bad, at first blush.
Especially for [gcd]
benabik Isn't wanting something like [gcd] why sub gcd was made slurpy? 15:53
pmichaud benabik: yes. That's why I'm suggesting an operator might be better
$a gcd $b can remain efficient, and [gcd] @list would work too
benabik pmichaud++
pmichaud anyway, calculating gcd is pretty common in programs; seems like a good candidate for a core feature 15:54
but I'm also happy to leave it as a method
jnthn operator will be faster to dispatch and inlinable. 15:55
pmichaud I'll try it with an operator 16:00
pmichaud sin.t over time: gist.github.com/966751 16:03
pmichaud switching from method to operator in current master shows no difference in sin.t 16:11
tadzik difference to rakudo-work? 16:13
pmichaud right
the numbers remain essentially the same
dalek kudo: ef6e8f4 | pmichaud++ | src/core/Rat.pm:
Speed up Rat handling significantly.

Commit 42dcfd10 changed "sub gcd()" from a 2-argument signature to a slurpy signature. Unfortunately, this also significantly slowed this function down, and since it's used by Rat.new, &infix:<+>(Rat,Rat), and &infix:<->(Rat,Rat), it slowed down Rat handling and arithmetic. This patch changes Rat.pm to avoid calls to gcd() altogether, using .gcd() directly and resulting in a ~14% improvement on the sin.t test on my machine.
jnthn pmichaud: It won't be much different now, no.
pmichaud msg bacek good catch on the recent sin.t regression -- regression was in code that handles rational numbers. Now fixed in rakudo ef6e8f4 (14% faster than previous rakudo-bleed). gist.github.com/966698 16:15
oops, wrong chan
pmichaud jnthn: yes, I know we don't do inlining yet. But I was also curious if using a multi dispatch operator would be different from a non-multi method call 16:16
answer: no, not for this.
(and yes, it may all change in the future)
overall I like &infix:<gcd> better, but that's a language decision. 16:17
pmichaud and rakbench sure streamlines the process of running these little comparisons :-) 16:18
jdhore Am I allowed to bump the PARROT_REVISION? bacek++ pushed another GC fix which seems to fairly significantly speed up rakudo compilation 16:37
pmichaud if the spectests pass after the bump, then yes. 16:38
colomon .gcd?
jdhore colomon, hmm?
pmichaud Integer.gcd
jdhore oh
pmichaud the old gcd($a,$b) called Integer.gcd
and Rat's operators were calling gcd($x,$y) 16:39
colomon ah. funny, I don't remember there being a .gcd at all. stupid brain.
pmichaud I simply switched it so that Rat's operators call $x.gcd($y) instead of going through the sub
because the gcd was written our sub gcd(*@a) { ... } which made it a lot slower as it looped over @a 16:40
*the new gcd
colomon actually, that sounds like a really handy workaround for the gcd bug that was bothering me in Math::BigInt the other day.
pmichaud jdhore: have you spectested with the PARROT_REVISION bump? if not, I can do it 16:40
(only takes 4.5 mins on my new machine :) 16:41
jdhore pmichaud, I haven't, but i'd be happy to do it...Except it doesn't take me 4.5 minutes here at work :P
pmichaud oh
colomon fantasizes about the 12-core Mac Pro someone was talking about on Hacker News a week or two ago...
pmichaud building, testing 16:43
jdhore thanks dude
takadonet happy with his dual quad core with16 gigs of ram.... 16:44
jdhore takadonet, That's what i've got at home (s/16/32/, but close enough) 16:45
tadzik I happy with my dualcore with 2 gigs of ram :)
jdhore I'm just at work and the best I have is a 2.4GhZ dual-core laptop with 3GB RAM
pmichaud tries "make spectest" with TEST_JOBS=15, just to see what happens 16:46
takadonet well that my workstation stats 16:47
jdhore takadonet, That's my Desktop :D
dalek ecs: cb2d1ec | larry++ | S03-operators.pod:
add gcd and lcm infix ops
16:51
pmichaud a-ha! TimToady++
jnthn :)
std: class Foo { method bar { $!lol } } 16:52
p6eval std 14557a3: OUTPUT«ok 00:01 113m␤»
jnthn std: class Foo { method bar { return -> { $!lol } } }
p6eval std 14557a3: OUTPUT«Potential difficulties:␤ Variable $!lol used outside of method/submethod declaration at /tmp/f8EXZfS7Ky line 1:␤------> ass Foo { method bar { return -> { $!lol⏏ } } }␤ok 00:01 115m␤»
jnthn TimToady: ^^ this was my concern about using $*IN_DECL
TimToady yes, well...
jnthn If the answer is "getting it really right is semantic analysis, not something that should be in STD", that's fine. 16:53
TimToady STD doesn't know how to close over self, either...
jnthn
.oO( wow, I got std to emit a swear in the error \o/ )
16:54
TimToady it's not a four-letter word though
jnthn No, I'll have to look harder to make it do that :)
Alternatively I could do useful things. :) 16:55
dalek kudo: 21f3ea5 | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get latest parrot gc improvements from bacek++ .
kudo: 43180b9 | pmichaud++ | .gitignore:
Add config.status and RAKBENCH to .gitignore.
TimToady but yeah, $*IN_DECL isn't gonna cut it, since we need to scan lexical scopes 16:58
jnthn std: class Foo { has $!b; method bar($a = $!b) { } } 16:59
p6eval std 14557a3: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/EMq7cYABGH line 1:␤------> class Foo { has $!b; method bar(⏏$a = $!b) { } }␤ok 00:01 116m␤»
jnthn std: class Foo { has $!b; method bar($a = $!b) { $a } }
p6eval std 14557a3: OUTPUT«ok 00:01 116m␤»
jnthn Ah, it's smarter than that :)
dalek d: 47fbf6e | larry++ | STD.pm6:
add gcd and lcd ops
17:04
d: 162660c | larry++ | STD.pm6:
Revert "add gcd and lcd ops"

This reverts commit 47fbf6ec01d24d70975986a8575836e360f31cee.
d: 3ba3a75 | larry++ | STD.pm6:
add gcd and lcm ops
TimToady cool, I get karma for reverting :)
diakopter the door bumps you on the way in and out 17:05
tadzik I'd say the door opens for you 17:20
colomon ... and just like that, Math::BigInt's gcd works again. :) 17:21
pmichaud colomon: note that I just added infix:<gcd> and infix:<lcm> to master, too
dalek kudo: b5084f6 | pmichaud++ | src/ (3 files):
Add infix:<gcd> and infix:<lcm> operators.
17:22
tadzik what a timing
pmichaud ....like that. :-)
colomon does infix:<gcd> call .gcd?
pmichaud colomon: no.
moritz what is lcm?
colomon least common multiple
pmichaud "least common multiple"
moritz huh
moritz would have expected "factor"
but then again I've learned math in .de, not in en
colomon moritz: 10 lcm 15 is 30
moritz oh 17:23
pmichaud > say 10 lcm 15
30
colomon that's not a factor at all, in American math English
pmichaud > say 10 gcd 15
5
> say [lcm] 2, 3, 10, 15, 4 17:24
60
....niiiiiice
colomon TimToady++, pmichaud++
pmichaud we probably need entries for &infix:<lcm>(Int $x = 1) { $x } 17:25
colomon yup 17:26
jnthn oh, [lcm] is cute! 17:29
sorear good * #perl6 17:30
masak gd'evening, zebras. 17:30
colomon o/ 17:31
jnthn privet, masak :)
sorear masak: TimToady and jnthn both vehemently disagree, but I think the sanest way to handle private attributes is to generate private accessors, and have $!foo mean self!foo
sorear note that private methods are not virtual and so can be inlined 17:32
dalek kudo: a423aef | pmichaud++ | src/core/metaops.pm:
Add degenerate cases for infix:<gcd> and infix:<lcm>.
tadzik so gcd() is gone now?
pmichaud I didn't take it out yet, no. I'd like to get rid of it.
masak +1 17:33
tadzik I'm now tempting a friend of mine to write the LHF tests :)
colomon nooooo!
tadzik "do you want to become a famous Perlist?" :)
colomon errr.... though I guess that would probably fix the problem I was have too. okay, +1 17:34
sorear niecza: say (3 => 5)!Pair::key
p6eval niecza v5: OUTPUT«Unhandled exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.␤ at System.Collections.Generic.Dictionary`2[System.String,Niecza.P6any].get_Item (System.String key) [0x00000] in <filename unknown>:0 ␤ at
..Niecza.STable.GetPriv…
masak pmichaud: I don't think that gcd of the empty list should be 1.
sorear lcm() should be 1
pmichaud masak: feel free to fix it. :-)
masak pmichaud: lcm is probably fine, but not gcd.
sorear gcd() should be Inf or an error
masak right.
glad we agree. 17:35
sorear niecza: say (3 => 5)!Enum::key
p6eval niecza v5: OUTPUT«3␤» 17:35
sorear quietly grumbles that STD is a moving target (again) 17:36
pmichaud Perl 6 is a moving target.
Has been for many years now. :-) 17:37
colomon pmichaud: any objection to making infix:<gcd>(Any, Any) and then calling .gcd?
pmichaud Yes.
It's only defined on the integral types.
(see the spec)
colomon yes, but you (and maybe the spec) are suggesting you know all the integral types ahead of time. you may not.
dalek kudo: 678ad30 | masak++ | src/core/metaops.pm:
[src/core/metaops.pm] make [gcd]() fail
sorear Integral, no? 17:38
pmichaud infix:<gcd> is a multi.
sorear er, wait, that's Haskell
masak :P
pmichaud also, as jnthn++ said earlier: 15:55 <jnthn> operator will be faster to dispatch and inlinable.
sorear (hi masak)
pmichaud if the operator just forwards to a method... it's not really faster. 17:39
colomon so should the method go away as well? or do you expect the method to be implemented in terms of the operator? 17:40
pmichaud I don't have an opinion on that yet.
I don't typically expect the methods to be implemented in terms of operators, no.
jnthn Generally operators are done in terms of methods.
heh, pmichaud beat me to saying it :P
pmichaud ...except for those where speed might be an issue 17:41
i.e., we want Int + Int to be fast without a method dispatch
er
yeah. By similar reasoning, Int gcd Int should also be fast if the hardware allows it
s/hardware/vm/
*especially* since we call it a lot for all of the Rats 17:42
colomon we don't call it at all for Rats right now.
pmichaud oh?
colomon didn't you make Rats use the method form?
pmichaud I switched it to the operator
colomon or did I miss a commit in the frenzy?
pmichaud at the same time I added gcd and lcm 17:43
colomon pmichaud++
pmichaud because someday the operator may be much faster than the method
(inlinable :-)
jnthn rakudo: say pir::gcd__II(10,5) 17:43
p6eval rakudo ef6e8f: OUTPUT«5␤»
jnthn rakudo: say pir::gcd__III(10,5) 17:44
p6eval rakudo ef6e8f: OUTPUT«5␤»
jnthn hm
:)
rakudo: say pir::gcd__III(10,6)
p6eval rakudo ef6e8f: OUTPUT«2␤»
jnthn So there is an op
Do we use that already?
pmichaud yes.
jnthn ah, OK
pmichaud method gcd(Int $x: Int $y) {
pir::gcd__iii($x, $y);
}
oops
jnthn If that's all it does then it'll surely be an inlining candiate
oh, not the method, the oop
*op
pmichaud our multi sub infix:<gcd>(Int $a, Int $b) { pir::gcd__Iii($a, $b)
}
our multi sub infix:<lcm>(Int $a, Int $b) { pir::lcm__Iii($a, $b)
jnthn hm 17:45
pmichaud I agree, lcm has a range issue.
colomon range issue?
pmichaud I figure "implement it and file bugs" rather than leave it unimplemented
the result of lcm might not fit in an I register
colomon gotcha
tadzik p6eval doesn't forbid pir? 17:46
jnthn Well, it's an OK implementation of the (int, int) variant, I guess :)
pmichaud even for (int, int) it has a range issue
rakudo: say pir::lcm__Iii(1000000000, 7)
p6eval rakudo ef6e8f: OUTPUT«7000000000␤»
pmichaud rakudo: say pir::lcm__Iii(10000000000, 7)
p6eval rakudo ef6e8f: OUTPUT«70000000000␤»
pmichaud hmm
64-bit ints? 17:47
colomon yes
sorear rakudo still doesn't have bigints
pmichaud anyway, the above would fail on a 32-bit int machine :)
colomon but you're quite right in principle.
jnthn pmichaud: lowercase int can overflow
sorear so anything that doesn't fit in "int" will be promoted to Num
jnthn pmichaud: e.g. doesn't need promotion
pmichaud jnthn: ah, I get what you mean now.
You meant the Perl 6 "int" and not the Parrot "int" :-)
jnthn Int OTOH needs to support bigint semantics
Right
:)
pmichaud I missed the context switch. 17:48
(since I was talking about I registers)
jnthn aha :)
bbs, errands
pmichaud is slightly amused that sorear++ is explaining to him how Rakudo Int's are handled. :) 17:49
colomon is having a hard time keeping Math::BigInt on top of the gcd changes today....
pmichaud colomon: should be stable-ish by now.
sorear pmichaud: I was intending to remind jnthn, not yo
u 17:50
pmichaud ahhhh
rakudo: say pir::lcm__Iii(2000000000000000000, 2) 17:51
p6eval rakudo ef6e8f: OUTPUT«2000000000000000000␤»
pmichaud rakudo: say pir::lcm__Iii(2000000000000000000, 7)
p6eval rakudo ef6e8f: OUTPUT«-4446744073709551616␤»
pmichaud rakudo: say pir::lcm__Iii(2000000000000000000, 5) 17:52
p6eval rakudo ef6e8f: OUTPUT«2000000000000000000␤»
pmichaud anyway, the 7 case shows the error :)
moritz rakudo: say pir::lcm__Iii(2000000000000000000, 3) 17:55
p6eval rakudo ef6e8f: OUTPUT«6000000000000000000␤»
moritz rakudo: say pir::lcm__Iii(2000000000000000001, 5)
p6eval rakudo ef6e8f: OUTPUT«-8446744073709551611␤»
moritz rakudo: say pir::lcm__Iii(2000000000000000001, 4)
p6eval rakudo ef6e8f: OUTPUT«8000000000000000004␤»
colomon huh. I can't build parrot with the latest rakudo and --gen-parrot. :\ 18:13
tadzik what's the issue?
colomon "Failed to load libpcre"
pmichaud you probably need a fresh checkout or something like that 18:14
several of us had that issue
(fresh checkout of parrot)
colomon already did rm -rf parrot parrot_install
pmichaud it occurs during the parrot build, yes?
colomon yes
pmichaud hmmm
maybe reboot, realclean, etc.
moritz idn't tadzik have the same issue? 18:15
pmichaud I'm not sure what I did on mine to fix it-- I just know that it cleared itself up after a realclean or reboot or something like that
moritz *didn't
pmichaud moritz: yes, I think so.
moritz he "solved" ith --without-pcre in parrot's Configure.pl
moritz -> gone
colomon is rebooting 18:16
masak "buy the new colomon. boots in just 20 seconds." 18:17
pmichaud ...or maybe longer. 18:21
tadzik oh, yeah, my problem exactly
Tene ports colomon to systemd, reducing boot time by 75% 18:23
colomon Thinking during my reboot... I'm really not seeing any justification for a Int.gcd method.
Tene tadzik: If you're experiencing boot times long enough to be a problem for you, you should investigate systemd. 18:24
colomon Tene: eh?
masak colomon: me neither.
tadzik Tene: no, I meant the pcre problem
Tene tadzik: Ah, I misunderstood context.
tadzik Tene: also, I rarely shutdown, I mostly suspend. KDE startup is far more annoying than my system startup
system is like 20 secs, KDE is like 60
Tene colomon: It was a joke response to masak and pmichaud 18:25
systemd is a replacement for sysvinit and upstart
colomon Tene: ah. and I missed the setup. :)
dalek ecza: fd940af | sorear++ | / (3 files):
Use MRO to tiebreak multimethods
tadzik uses openrc 18:26
or rather my system uses
masak colomon: now, if you'd had a shorter boot-time... :P
pmichaud my startup time is about 25 seconds, for both system and kde :)
SSDs make for amazing boot times :) 18:27
tadzik yeah, SSD is one tempting thing 18:28
colomon reboot and realclean did not help. :(
tadzik colomon: try building parrot --without-pcre
wfm
colomon perl Configure.pl --gen-parrot --without-pcre ?
pmichaud colomon: maybe report to #parrot or a track bug
tadzik I dunno
pmichaud *trac
perl Configure.pl --gen-parrot --gen-parrot-option=--without-pcre # probably 18:29
colomon pmichaud++ # your command line there got me a working build, it appears 18:35
pmichaud we should still find out and/or report why we're getting the failure, though.
masak report, then find out, I'd say. 18:39
submit bug early, submit bug often :P 18:40
colomon what's the e-mail address for Parrot bugs? 18:42
pmichaud I don't think there is one.
I think it has to be submitted to trac.parrot.org/parrot 18:43
checking
masak aye. 18:43
pmichaud there's a "parrotbug" script in the parrot repo
docs/submissions.pod says to use that. 18:44
colomon starts a fresh build of rakudo in another directory to duplicate the problem.
colomon Google tasks API! \o/ 18:46
pmichaud it's about time. :)
colomon agreed.
pmichaud I still want the market on my revue, though. :(
colomon perl6 interface to the api needed? ;) 18:47
masak of course :) 18:49
colomon now if they can just make tasks work with google Voice on my droid... 18:56
pmichaud I wish I could create custom google voice commands
colomon yeah, that would be nice. :) 18:58
I'm just saying, my number one use of Google voice is to send myself an e-mail reminding me to add something to my tasks list. 18:59
colomon woah, Math::BigInt completely blows up under the latest Rakudo. :\ 19:04
.... probably not Rakudo's fault? I'm very confused. 19:06
colomon t/01-basic.t .. Unknown param Signature t 19:08
in <anon> at line 100:/Users/colomon/.perl6/lib/NativeCall.pm6
.... maybe I need to rebuild NativeCall 19:09
colomon hmm... do you need to install NativeCall by hand? Or is my version old? 19:11
tadzik tries to make panda install Math::Bigint
benabik colomon: Parrot recently removed some depreciated NCI stuffs. 19:12
colomon tadzik: I haven't pushed any of today's changes yet, who knows what will happen...
tadzik ah, I see
colomon Can someone else check zavolaj against the latest Rakudo? I think it's broken... 19:13
but I'm not at latest, hmmm
colomon ack, I'm stumped. 19:15
tadzik perl6-mpd is broken too 19:16
jnthn Tehre were some changes to Parrot NCI recently. 19:17
Maybe Zavolaj got hit by them.
benabik trac.parrot.org/parrot/wiki/ParrotD...ionsFor3.6
tadzik looks so 19:23
colomon yup 19:24
benabik++
colomon watches his day spiral into another day of no progress.... 19:25
jnthn Is anyone going to take on the gcd/lcm tests task?
If not, I can add them to the "task suggestions" for Friday's hackathon :)
In fact, maybe I should start a wiki page for that... 19:26
colomon jnthn++ # but don't bother testing the method forms.... ;)
jnthn ok
:)
jnthn Started page at event.perlrussia.org/mayperl4/wiki?...uggestions 19:32
stroll, before it gets dark &
colomon parrot/parrotbug 19:53
Cannot open './myconfig': No such file or directory at parrot/parrotbug line 131.
sigh
ah, needs to be run from the parrot directory.
colomon argh 19:58
colomon argh 20:07
colomon wonders if anyone actually uses parrotbug
pmichaud I think parrotbug only works after Configure has been successfully performed. 20:16
it should probably say that.
(if that's the case)
masak if that's the case, that sucks.
"hi, you need a partly working system to report a broken system with this tool"
pmichaud it would mean that a user is unable to report a bug if Configure.pl doesn't work, yes. :) 20:17
masak yes, that's the "sucks" part.
pmichaud I think that's fairly rare. Still, yes, suck.
colomon actually, it's dying at the moment because it can't call my text editor
moritz ouch
masak pmichaud: "fairly rare" is a weak consolation for people who actually trigger that failure mode.
besides, why *should* it depend on that? 20:18
pmichaud masak: I suspect so it can include configuration details in the bug report. 20:18
moritz ... which should be optional, of course 20:19
pmichaud it would probably be better to have "configuration details unavaila....." right
I didn't write parrotbug. I didn't even know it existed until colomon++ asked earlier how to report a bug, and I looked at the docs.
moritz it could still gather important information from the system (compilers in PATH, OS, architecture, ...) if parrot wasn't configured
pmichaud Granted, I probably shouldn't have read the docs.
moritz ... and just pointed to trac
colomon docs--
colomon Action (display,edit,save,quit) # which one sends my message, I wonder? 20:22
pmichaud possibly none -- sending might come in the next step
colomon Message saved. Please submit a ticket and attach this file at
trac.parrot.org/parrot/newticket
pmichaud ouch! 20:23
colomon and "quit" just appears to exit
pmichaud so, parrotbug just formats details for a ticket, it doesn't actually send it.
colomon looks like
and of course, you've got to be logged in to submit a ticket? 20:24
jnthn Yup
pmichaud colomon: yes
colomon rakudobug++
jnthn A very atractive approach to bug submissions... ;)
pmichaud at my p6 meeting last night I was asked what ticket system we would use if we weren't using RT.
I basically responded with "not Trac"
colomon at least my lunchtime noms were tasty today... 20:25
pmichaud rakudo: say 4 lcm 10; # checking
p6eval rakudo 678ad3: OUTPUT«20␤»
pmichaud \o/
jnthn rakudo: say 6 lcm 7;
p6eval rakudo 678ad3: OUTPUT«42␤»
pmichaud rakudo: say lcm 3, 14, 20, 15, 100;
p6eval rakudo 678ad3: OUTPUT«Could not find sub &lcm␤ in main program body at line 22:/tmp/UR2lnEipS0␤» 20:25
jnthn [lcm]
pmichaud rakudo: say [lcm] 3, 14, 20, 15, 100;
p6eval rakudo 678ad3: OUTPUT«2100␤» 20:26
tadzik cool
pmichaud rakudo: say [gcd] 3, 14, 20, 15, 100;
p6eval rakudo 678ad3: OUTPUT«1␤»
jnthn tadzik: Got any suggestions for event.perlrussia.org/mayperl4/wiki?...uggestions - we got some module-y ideas there...
tadzik: Like, is there any panda/pie hacking to do? 20:27
*pies
colomon mmmmmm.... pies 20:27
tadzik we _do_ need a better url for a Most Wanted list 20:27
jnthn: well, panda has an LHF list
jnthn colomon: That phrase is better when you don't know where the name "pies" came from...
tadzik then name of a pie, or the name of my module? 20:28
jnthn:
github.com/tadzik/Pies/issues?mile...mp;labels=
colomon "TICKET_CREATE privileges are required to perform this operation"
tadzik (:
moritz though need to log in first 20:29
colomon moritz: am logged in
tadzik oh, that reminded me of Shrek for some reason
jnthn tadzik: Your module. It's from a Polish word, no? :) 20:29
tadzik "I think I told you to stay outside!" "I am outside!"
jnthn: yep :)
phenny: pl "pies"?
phenny tadzik: "dog" (pl to en, translate.google.com)
pmichaud colomon: feel free to abandon the bug report since it's being a pain 20:30
tadzik and panda is actually a name of my dog. What a coincidence! :)
colomon tadzik++ 20:30
pmichaud I'll report it to #parrot and maybe parrot-dev
tadzik jnthn: if you saw her picture you won't be confused anymore :) 20:30
jnthn tadzik: A lot of things can be explained with that reasoning... ;) 20:32
tadzik goo.gl/MtTJf :)
I named her at the first moment I saw her :) But, offtopic 20:33
jnthn nice! 20:34
tadzik she looked more Pandy when she was few weeks old, extremely fat for that age, and with those dots above eyes :) 20:37
colomon: I think Parrotland had some issues with trac accounts recently
cotto_work colomon: you have permissions to submit a trac ticket on trac.parrot.org now. We had to disable giving that bit to any registered user due to trac spam. Sorry for the inconvenience. 20:41
colomon cotto_work++ # submitted 20:43
cotto_work colomon++ # submitting
moritz now add another one for "parrotbug is utterly broken" 20:44
cotto_work moritz: looks like you'll beat me to it then 20:46
moritz cotto_work: I can't, trac doesn't let me in 20:48
"Invalid username or password"
with the credentials stored in the browser, which have always worked so far. 20:49
tadzik I just had the same problem 20:50
tadzik g'night #perl6 20:58
colomon \o 21:00
pmichaud ticket for "bug reporting is broken" is now TT #2108, fwiw 21:03
colomon pmichaud++ 21:04
pmichaud [Coke]++
colomon so, do we have a REST module for p6 yet? 21:06
moritz sleep() RESTs pretty well :-)
colomon punning-- 21:07
moritz in my understanding REST is more of a general concept or methodology than something that can be cast into a framework
of course web frameworks can help you with it 21:08
plobsing_ colomon: we'll leave the rest up to you 21:08
masak moritz: in my understanding too. specifically, REST isn't about choosing cute URLs.
colomon perhaps I should ask, what do we have in the way of web client frameworks
moritz knows of one web client, and that is LWP::Simple. No frameworks around. 21:12
masak likes Web::Scraper 21:15
jnthn sleep & 22:57
sorear good * #perl6 23:02
Ali_h Hi all - complete noob to perl 6 so this might seem a really dumb question and I appologize beforehand - I cant get my .pl files to open bring up perl6.exe type $ perl6 file.pl and get non-declarative sigil is missing its name at line 1 "$ perl6 sc" what am I doing wrong :/ 23:46
TimToady well...if line one of your file is "$ perl6 sc" then that's not valid Perl 6 23:51
Ali_h TimToady, its not line one is use v6 23:52
this is why I dont understand 23:53
TimToady try leaving out the "use v6" line
rakudo: use v6;
p6eval rakudo 678ad3: ( no output )
Ali_h ok ill try that 23:54
TimToady or no-past the file.pl here
*no-paste
Ali_h same thing - TimToady im working through the book that came with the download 23:55
TimToady is this the latest Rakudo Star?
Ali_h yeah
TimToady what kind of system are you on? 23:56
perigrin suspects windows. 23:57
Ali_h perigrin, your ringt (hides)
right*
perigrin " bring up perl6.exe" kinda gave you away
Ali_h :) 23:58
TimToady jnthn develops on Windows, so it can work, but maybe you have to smile just right...
TimToady is not a Windows expert...
Ali_h I could just slap daemon its his fault im learning it :/ 23:59
TimToady pmichaud: are you around?
PerlJam Ali_h: I'd like to see the code you're trying to execute
Ali_h the first one from the book PerlJam