»ö« 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.
sorear good * #perl6 01:45
diakopter * 01:54
Util o/ 02:01
colomon \o 02:11
colomon rakudo: <a c g t>.roll(100).say; 03:42
p6eval rakudo 3680ac: OUTPUT«taaatatattgtttcatagtcgtaccacccaacacattgtcctcacgcataaccggcggctcgtggctttctgtagaccgaatcttcgctgtttgctctg␤»
dalek ecs: 65912c8 | sorear++ | S12-objects.pod:
Fix typo declaratoins
sorear I wonder how many different values that line can print. 03:43
TimToady thinks it's 4 ** 100 03:45
pugs: say 4 ** 100
p6eval pugs: OUTPUT«1606938044258990275541962092341162602522202993782792835301376␤»
sorear I have my doubts that the Parrot RNG is that good. 03:46
TimToady well, one *can* give rakudo a better RNG, in which case that line *can* print more values :) 03:47
sorear parrot rng isn't *too* horrible 03:51
it's a linear congruential generator with 32 bit seeding and a 48 bit state 03:52
TimToady the digits of pi are pretty random 03:53
colomon I bet parrot will have a better rng before you get all 4 ** 100 results printed out. ;)
afk # desperate need of sleep. will try to get sorear++'s percentage benchmark graph suggestion up and running tomorrow. 03:54
sorear ah, the Parrot entropy source is seconds-after-Epoch 07:20
jdhore sorear, Out of curiousity, what made you choose the CLR as the backend for your P6 implementation?
sorear diakopter++ recommended it to me
also niecza was (very, very briefly) a fork of diakopter's perlesque 07:21
jdhore ah 07:21
sorear I'm quite happy with it, btw.
to @Larry: consider class A { proto method foo($x) {*} }; class B is A { method foo(1) {} }; class C is A { method foo(2) {} }; class D is B is C {} 07:27
; D.foo(2);
a very literal reading of S12:1029 suggests that this should fail 07:28
because D's body scope does not have a foo multi, no foo dispatch is created
therefore the foo dispatch is inherited from B following the MRO
sorear but B's foo dispatch has a wired-in dispatch list that includes only multis visible in B's MRO 07:29
sorear excluding the multi in C 07:29
is this *really* correct?
moritz_ good morning 08:22
moritz_ rakudo: say (-10..10).perl 08:39
p6eval rakudo 3680ac: OUTPUT«-10..10␤»
jnthn morning, #perl6 09:12
tadzik morning 09:13
moritz_ \o
tadzik jnthn: nopaste.snit.ch/36414 mind taking a look in some spare time? 09:14
moritz_ tadzik: which branch?
tadzik master 09:15
alike on ctmo though
bbs
moritz_ anybody got an opinion on github.com/rakudo/rakudo/pull/19 ? 09:18
to me it seems wrong 09:19
if the user needs to set an env variable to properly use the version control system, shouldn't the user set that variable?
or is that special-cased in that weird make?
jmm_ I'm looking at avalaibles modules on perl6.org, and notice gamebase, which seems to use perl5 SDL. am I wrong ? there is a SDL port to perl6 ? 09:28
moritz_ jmm_: it uses parrot's SDL bindings 09:30
jmm_ umm. 09:31
moritz_ what's "umm." about it? :-)
tadzik moritz_: I'd like to somehow integrate the module API service (feather.perl6.nl:3000/) with modules.perl6.org in the near time. What does modules.perl6.org run on, it's a plain html with a cronjob? Where does it live? 09:33
jmm_ hehe, I wonder what are those parrot binding, and what will happen if you run your program with rakudo. 09:33
( I'm googling about parrots binding ). 09:34
tadzik probably nothing, as it's so old everything it uses is probably deprecated :)
moritz_ tadzik: modules.perl6.org is currently static HTML, generated by web/build-project-list.pl on via cronjob
tadzik: and unless there's a very good reason, I'd like to keep it as static HTML 09:35
tadzik moritz_: where does it live, feather? 09:38
moritz_ tadzik: feather2 09:39
JimmyZ moritz_: that's a special case :) 09:49
moritz_ JimmyZ: in what way? does the make require that variable to be set in the Makefile? 09:50
JimmyZ: I'm not against the patch, I just try to understand why it's needed 09:51
JimmyZ: and it needs better comments for sure
JimmyZ moritz_: without it, run make then outputs '"D:/Program Files/Git/bin/sh.exe": D:strawberryperlbinperl.exe: command not found' 09:53
moritz_: that is, you can't build parrot or rakudo without set shell = cmd 09:55
moritz_ because the git installation provides its own sh.exe? 09:56
jnthn tadzik: gah, that looks...weird. I ended up having to remove an arg fromt he macro usage to make it work. 09:57
JimmyZ moritz_: I am not sure why make likes sh.exe, I think make looks for 'sh[.exe]' first,
moritz_: www.gnu.org/prep/standards/html_nod...le-Basics, this one 10:02
moritz_ tadzik, jnthn: I get the same error when building on a new parrot. Works fine on an old one (the one recommended in build/PARROT_REVISION) 10:04
JimmyZ moritz_: it says 'avoid trouble on systems where the SHELL variable might be inherited from the environment' 10:05
moritz_ JimmyZ: yes, that makes sense. Thanks for the link
JimmyZ moritz_: :)
jnthn moritz_: Oh 10:09
moritz_: OK, that explains it.
colomon phenny: tell masak justrakudoit.wordpress.com/2011/03/...arking-p5/ and justrakudoit.wordpress.com/2011/03/...masaks-p5/ 10:33
phenny colomon: I'll pass that on when masak is around.
moritz_ colomon++ # more benchmarking 10:54
as I mentioned beefore, I found the case of no common character at all very degenerate
kappa how do I flatten a list of lists in Perl 6? 11:30
moritz_ rakudo: .say for ([1, 2], [3, 4])>>.flat 11:32
p6eval rakudo 3680ac: OUTPUT«1␤2␤3␤4␤»
moritz_ kappa: like that
kappa oh. why is there the hyper >> meta token? is .flat applied to each individual inside array? 11:35
moritz_ yes
(I don't know, maybe .flat is supposed to recurse, but currently it doesn't in rakudo)
tadzik an lhf? 11:37
moritz_ probably 11:38
but requires spec cehciking first
ircanetsss hi everyone 11:48
i tried to build rakudo on windows using msvc 11:49
works fine but LWP::Simple module not work
it loads ok but when do get it fails 11:50
can you help me?
tadzik I'm afraid it's broken currently, due to some Parrot changes 11:53
can you show how it fails? 11:54
ircanetsss yeah, building again 11:58
Layla_91 o/ 12:07
jnthn o/ 12:08
ircanetsss o/
tadzik o/ 12:09
Layla_91 did you ever encounter this on ubuntu ? "Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar" I am trying to run ant.. going crazy with these native packages :S 12:11
jnthn :/
'fraid not...
kappa rakudo: for ({a=>1, b=>2},{c=>3})>>.flat.flat -> $p { say $p.key, $p.value } 12:15
p6eval rakudo 3680ac: OUTPUT«a1␤b2␤c3␤»
kappa I ended up with this to flatten a list of hashes. Two flats are ugly indeed. Are they absolutely needed in Rakudo or did I missed something? 12:16
ircanetsss > use v6; 12:33
_block78
> use LWP::Simple;
P
> my $html = LWP::Simple.get("google.com/");
Nominal type check failed for parameter '$resp'; expected Str but got Failure instead
>
tadzik:
help me plz if you can
maybe msvc is wrong?
jnthn ircanetsss: I build/develop Rakudo with MSVC - that tends to be the best bet for building on Windows. 13:00
I suspect the issue is with LWP
Can't look now though...$dayjob...
moritz_ no, rakudo's socket implementation has a regression
which is why I asked ircanetsss to try it with a patch
at least I think I did :( 13:01
github.com/rakudo/rakudo/pull/20 these patches might help
ah, I did, but in #parrot 13:03
takadonet morning all 13:10
jmm_ hi. 13:12
AndroUser o/ 13:27
colomon_droid that's better 13:28
moritz_ colomon has turned into a droid! 13:29
colomon ooo, and this is even better. 13:33
colomon has reclaimed his laptop, so isn't ircing from his phone.
xinming Is there any database driver for rakudo to use? 13:37
Or It's still just a pure language?
moritz_ there's MiniDBI
I think it supports sqlite, mysql and postgres
xinming moritz_: thanks, I'll check it.
ircanetsss hi again how to use .pirs from parrot in rakudo perl 6 13:39
?
use SDL
for example
moritz_ ircanetsss: you have to wrap it
ircanetsss: for example the gamebase module wraps part of SDL
LoRe wird zeit dass mal jemand ein jperl macht :) 13:40
dalek ast: dc78f9a | moritz++ | S32-list/minmax.t:
[minmax.t] :by must be passed by name, according to spec
14:27
kudo: a38d453 | moritz++ | src/core/Any-list.pm:
fix RT #85674, signature of min() etc.
14:31
colomon rakudo: say <a c g t>.roll(100) 14:56
p6eval rakudo 3680ac: OUTPUT«accgccaaccggaaagaatgtcctcccaccacaaatgtacgctcgcatggcggttgtcgagtctatgtcggttgcgctatactacatgataatggacgcc␤»
colomon rakudo: say <a c g t>.roll(100)
p6eval rakudo 3680ac: OUTPUT«ttacttacccaaagtagaaataagctcgtctttgagaaccgtggactggtactacctatttttagtcaaactcatgactcgcgcctagcccacatacaat␤»
moritz_ wants a .troll method
colomon would it sit under .Bridge somehow? 14:57
moritz_ I hope so :-)
/=-~~-=\ 14:58
moritz_ not a good ASCII bridge builder
donri rakudo: for ^Inf { next unless <a c g t>.roll(7).join eq "gattaca"; say $^x; last } 15:00
p6eval rakudo 3680ac: OUTPUT«(timeout)» 15:00
pyrimidine heh
donri :(
moritz_ donri: go buy us a faster server :-) 15:02
pyrimidine moritz_: what is the current timeout set to?
donri yea with the money i totally have right
moritz_ pyrimidine: I don't remember 15:03
pyrimidine rakudo: for ^Inf { next unless <a c g t>.roll(10).join ~~ /gattaca/; say $^x; last } 15:11
boom 15:12
p6eval rakudo 3680ac: OUTPUT«(timeout)»
pyrimidine rakudo: for ^Inf { next unless <a c g t>.roll(10).join ~~ /gatt/; say $^x; last }
p6eval rakudo 3680ac: OUTPUT«(timeout)»
pyrimidine locally that worked pretty fast, so the timeout must be set fairly low 15:13
pyrimidine rakudo: for ^Inf { next unless <a c g t>.roll(10).join ~~ /gat/; say $^x; last } 15:13
p6eval rakudo 3680ac: OUTPUT«12␤»
moritz_ what's "pretty fast"?
takadonet 5 seconds for me
pyrimidine 1-2 secs for me 15:14
takadonet i had a bad roll :(
moritz_ I think the timeout is about 8 to 12 seconds, but the machine isn't the fastest
donri > for ^Inf { next unless <a c g t>.roll(100).join ~~ /gattaca/; say $^x; last } 15:15
165
that took many seconds
moritz_ and sometimes the load is high when some project rebuilds
pyrimidine donri: yes, saw that too
donri Evolution: brute-force. 15:16
sorear good * #perl6 16:06
tadzik hello 16:08
jmm_ hiho.
colomon \o
dalek ecs: 56a1b09 | larry++ | S12-objects.pod:
dispatch generation should work under MI

Fixed an ambiguity noted by sorear++. It's not just the presence of multi declarations in the current scope that cause autogeneration of a dispatch routine. Any difference in the candidate set at the point of call should make a fresh dispatcher. We can reuse parent dispatchers only if they represent the same set of routines.
16:20
sorear excellent. TimToady++ 16:24
dalek ecza: b3b0f37 | sorear++ | / (5 files):
Implement user-specified parameter types
16:44
sorear after updating to a March 8 build of Mono and fudging a few things, I can build against the 2.0 profile again \o/ 17:05
pyrimidine sorear++ 17:07
takadonet sorear: how does it look?
sorear takadonet: how does it look? entirely possible 2.6 compatibility will be restored today. 17:08
(someone in the mono project)++ # the bug was closed "cannot reproduce in master" and I'm too lazy to bisect
takadonet sorear: if you do, give me a shout so I can build it :) 17:09
jnthn evenin' 17:15
Ah, nice clarification in the multi spec. Pretty sure that's what I already implemented it as anyway, though. :) 17:16
sorear hello jnthn 17:18
perfect timing as always; I need to leave in five
bleh, current niecza doesn't want to compile itself 17:19
sorear hello donri 17:20
donri hello there
jnthn sorear: o/
sorear: Heh...blame social conventions around $dayjob attendance times. :) 17:21
stephenlb Wall is breifly mentioned in a heroes song: www.pubnub.com/blog/internet-heroes...ig-souders 18:30
s/breifly/briefly 18:31
colomon So, at what point do I give up on benchmarking a p5 run? A pair of strings that takes 167 seconds in one of the p5 scripts has now been running for over an hour in another.... 18:36
masak gd'eve, zebras. 18:39
phenny masak: 10:33Z <colomon> tell masak justrakudoit.wordpress.com/2011/03/...arking-p5/ and justrakudoit.wordpress.com/2011/03/...masaks-p5/
colomon \o
masak colomon: \o/ 18:40
I saw the first one earlier today. will read the second now.
colomon I kind of hope someone else tries running a few, because right now it's looking like a very self-serving benchmarking. ;) 18:41
masak I don't mind that one jot. 18:41
jnthn o/ masak!
masak moritz_: you also seem to be serving moritz_ and... fox! 18:42
jnthn: \o!
tadzik yayitsmasak!
colomon masak: oooo, good point. I just noticed moritz_ beat me out on my new, longer DNA test. 18:44
colomon (not posted yet) 18:44
masak amd all my old rationales just go out the window... :P 18:45
colomon dna-2, p5-colomon.pl, 16.0393736, 15.921665, 16.17857
dna-2, p5-fox.pl, 19.6781661, 19.585883, 19.813437
dna-2, p5-matthias.pl, 175.119308, 173.464796, 177.424137
dna-2, p5-moritz.pl, 15.4255487, 15.365786, 15.51322
dna-2, p5-util.pl, 49.9942837, 49.677288, 50.362169
masak moritz_++
colomon++
fox++
Juerd At the Dutch Perl Workshop I heard that contexts are gone. What's a good place to read about the decision and its consequences? 18:46
masak Juerd: I think moritz_ once wrote a nice post about it.
but I might be hallucinating that.
the gist of it all, though, is that (amount) contexts don't mesh with signature MMD. 18:47
jnthn I know the moritz_ post you're referring to. It certainly exists and is very worth a read. 18:48
tadzik rakudo: for 1..5 { NEXT if $_ ~~3; say $_ } # what's wrong?
p6eval rakudo a38d45: OUTPUT«1␤2␤Could not find sub &NEXT␤ in <anon> at line 22:/tmp/wwejO4Xu6S␤ in main program body at line 1␤»
colomon NEXT? 18:50
tadzik em, the phaser, right? Like continue; in C
colomon rakudo: for 1..5 { next if $_ ~~3; say $_ } # what's wrong?
p6eval rakudo a38d45: OUTPUT«1␤2␤4␤5␤»
colomon not a phaser. 18:51
unless there's also a phaser I don't know about there. (very possible)
tadzik ok, thanks
Juerd moritz_: Where can I find your writeup on the removal of Contexts? 18:52
jnthn Juerd: Ah, here it is: perlgeek.de/blog-en/perl-6/immutabl...ntext.html 18:53
Juerd Thanks a lot
In 2009 already? Oh my, I really haven't been paying attention! 18:54
jnthn: That post does assume context still exists
jnthn jnthn: Not in the inwards-flowing sense though. 18:55
Juerd But in a different way, with an object.
Right, so it doesn't propagate but essentially the functionality is still there
masak <Juerd> In 2009 already? Oh my, I really haven't been paying attention! 18:55
Juerd: so the "while you blinked" wasn't too out of place, then :P 18:56
Juerd I'm not sure this could still count as blinking :)
tadzik masak: mind a question about Pls? 18:57
masak Juerd: anyway, welcome back. enjoy the lack of contexts. :)
tadzik: sure. fire away.
Juerd I'm not "back" in any sense
tadzik masak: in Pls, there is a standard, predefined method running fetch, build, test, install. What if you want to omit testing phase, as in --notest of --force? Overloading the entire method breaks the sense of Pls 18:59
masak yes.
likely the predefined method is too simplistic.
and needs to be extended. 19:00
it's not in Pls::Core, is it?
tadzik I think it is, lemee see
oh, there is !fetch-helper, !build-helper etc, so I think the idea is that an implementation will be able to just overload one of those? 19:01
masak that's not something that I intended, no. 19:02
let's take a step back for a while. I don't think I understand your use case. 19:03
do you want to do something that the tests don't already do?
tadzik what tests?
I want my implementation to omit tests, under some circumstances
masak pls's tests.
'pls test <module>' should do what you want. 19:04
tadzik hrm, I don't think you understand my use case :) 19:05
or another way: what if you want to skip resolving dependencies? 19:06
masak oh! 19:07
I think that's a use case Pls simply does not implement.
it's very keen on dependencies.
it can install things without the tests passing, but it can't test things without the dependencies being installed. 19:08
tadzik the workaround would be to overload a dependencies() method in Pls::Project, but that's rather ugly
masak guess I didn't think there'd be anyone wanting that.
I mean, it's a module installer, not a development framework. 19:09
tadzik yeah, but even cpanminus has --nodeps or something
masak oh, ok.
as I said, it can probably be added in pls itself rather than extending it from the outside.
similar to --force and --notest 19:10
tadzik which are inside?
aye, I see
mberends colomon: ahem, comparing p5-colomon.pl to a (slower) unpuplished one of my own, yours failed to find the longest common substring. Using the third data set from justrakudoit.wordpress.com/2011/03/...asaks-p5/, yours found ' were' and it should have found ' other' :/ 19:21
and yes, I'll publish mine soon ;)
colomon mberends: 19:22
mberends: yes, been wondering about correctness in all the codes, too.
mberends it may be just a minor detail in your port 19:23
colomon actually, though, I think you're wrong in this case
it's " were ", not " were".
or at least, it should be
mberends ah, ok :)
colomon give me a sec to look closer 19:24
mberends add quotes to the output, and also print the .chars result 19:25
colomon oooo, hey, p5-matthias.pl actually completed the first trial run on my "super-long" Dumas text comparison
of course, it will be until tomorrow until the entire thing is done at this rate. :)
mberends p5-mberends.pl ex-contest, and not a speed record either pastebin.com/rK4tz0UE 19:27
colomon: please try mine on a few texts and give me your impressions
colomon mberends: I'll give it a try, but as I say, the benchmarking is very tied up with a slow routine at the moment. :) 19:30
mberends: my code finds both * were * and * other*, and since they're tied in length either one is a valid answer.
afk
Util Blizkost requires Perl 5.10 to Configure, saying: 19:35
"Ideally we'd support back further, but fixing the macro framework back in time is not a priority"
Darwin 10.5 uses Perl 5.8, so I can't make Blizkost part of the binary .dmg.
What will it take to resolve this?
dalek osystem: a0d4d4a | tadzik++ | projects.list:
Add 2 new modules of mine
19:36
mberends Util: any idea what macro(s) the comment is referring to?
Util No; I have not poked that deep into it, hoping that someone in the channel already knew. 19:37
afk for 20 minutes 19:38
colomon mberends: ooo, interesting approach! 19:42
mberends really an electronic engineer's approach 19:43
your could build it with far fewer nand gates than the other solutions ;) 19:44
masak mberends++ 19:59
mberends: fwiw, I've had the same feeling about .chars at times. it's a slightly unfortunate name.
mberends masak: I also made the mistake of optimistically expecting p5-mberends.pl to be faster than it turned out to be. At least I only told you verbally :/ 20:01
masak p5 speed seems highly non-intuitive. 20:02
mberends would you be interested in a naive C translation? 20:03
masak hm... I'm not going to actually need a LSC algorithm anytime soon. and this is a Perl 6 contest... :P 20:04
LCS*
Util back 20:12
masak Util: \o 20:13
flussence rakudo: 'abcde' ~~ m:ex/../ # nyi? 20:22
p6eval rakudo a38d45: OUTPUT«===SORRY!===␤Adverb 'ex' not allowed on m at line 22, near " # nyi?"␤»
jnthn std: 'abcde' ~~ m:ex/../
p6eval std 4608239: OUTPUT«ok 00:01 122m␤»
jnthn NYI I expect.
masak thought :ex was killed off 20:24
flussence S05:504 - still there
masak hm, maybe that was some other regex adverb, then.
Util jnthn: Please see my earlier Blitkost Q: irclog.perlgeek.de/perl6/2011-03-09#i_3376521 20:29
jnthn Util: I saw it, but don't know the answer. sorear++ probably does. 20:30
Util thanks
[Coke] Util: you could include a copy of perl 5.12.x in the dmg. 20:34
masak 'night, #perl6 21:24
takadonet rakudo: my $ya = "<[AGTC]>"; my $x= rx/$ya/; if 'A' ~~ $x { say 'boo' } 21:51
p6eval rakudo a38d45: ( no output )
takadonet any takers?
jnthn rakudo: my $ya = "<[AGTC]>"; my $x= rx/<$ya>/; if 'A' ~~ $x { say 'boo' } 21:52
p6eval rakudo a38d45: OUTPUT«boo␤»
takadonet !!!!!!!!!!!1
jnthn $ya = interpolate as literal, <$ya> = interpolate as regex syntax.
sjohnson heh
jnthn They're (happily) distinct operations in Perl 6. :) 21:52
Which means it's harder to get vulnerable to a regex injection exploit. :) 21:53
huf also different things look different ;)
\o/
jnthn Right :)
takadonet Had a hard time finding that rule in syn....
n/m
i just found it
hehe
sorear good * #perl6 23:28
sorear Util: I am thorougly disgusted by blizkost's current design and have blanked all details of it from my memory. 23:30
jnthn
.oO( The disgusting parts are probably the bits left over from when I hacked on it... )
23:33
diakopter sorear: you've been enlightened since your time working on it, or...? 23:34
TheMartianGeek Speaking of bad design, PerlMonks. I don't know what is up with their forum design, but it's awkward both to use and aesthetically. 23:35
sorear fun fact: perlmonks is a fork of everything2.com 23:38
hmm
I am starting to reply to pmichaud. However, my reply would make more sense on p6l than p6c. 23:39
Should I break the thread?
Should I send it to p6l, p6c, or both? (independant of above)
diakopter: trying to improve blizkost put me against increasing resistance; I gave up in the middle of trying to allow access to Perl 5 hashes 23:40
diakopter: if I were to start a blizkost-like project today, I would use fork() and some kind of remoting stuff. Trying to link libperl.so is not work it 23:41
worth
Util sorear: thanks. Sounds like the right thing to do for now is continue to omit Blizkost from the R* binary. 23:54