»ö« 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.
00:09 Ninka-8576 joined 00:11 Chillance left, Ninka-8576 left 00:12 mberends left 00:25 benabik left 00:36 orafu joined 01:04 whiteknight left 01:07 ymasory_ joined 01:14 ymasory_ left 01:24 envi joined 01:25 cotto left 01:46 woosley joined 02:14 newbee joined 02:15 p6eval left, benabik joined 02:16 p6eval joined, ChanServ sets mode: +v p6eval 02:17 bluescreen__ left, bluescreen__ joined 02:18 plobsing left
newbee rakudo: my Int $x = 10 / 3; say $x; #--- i want $x to be 3; 02:18
p6eval rakudo 705435: OUTPUT«Type check failed for assignment␤ Container type: Int␤ Got: Rat␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/sSkFGbggT2␤»
02:19 plobsing joined 02:23 p6eval left 02:24 woosley left, p6eval joined, ChanServ sets mode: +v p6eval 02:26 newbee left 02:31 Tedd1 left, Tedd1 joined 02:32 ingy left 02:34 ingy joined
Tene rakudo: my Int $x = (10/3).Int; 02:39
p6eval rakudo 705435: ( no output )
sorear rakudo: say 10 div 3
Tene rakudo: my Int $x = (10/3).Int; say $x
p6eval rakudo 705435: OUTPUT«3␤»
TimToady but what do you want -10 / 3 to be?
sorear TimToady: "correct"
:p
TimToady I'm floored...
sorear actually almost always wants FM/MOD semantics, and can't figure out why Intel chose SM/REM 02:40
02:45 Limbic_Region left 02:50 woosley joined
perigrin adds some decimals back to TimToady 02:51
sorear I think I'll modify niecza's MMD engine to use position-in-the-MRO as a tiebreaker
02:52 leprevost joined
sorear i.e: class A { multi method foo(Any,Int) { "A" } }; class B is A { multi method foo(Int,Any) { "B" } }; is B.foo(1,1), "B"; 02:52
TimToady off to GRU->PTY->IAH->SFO 02:53
afk
03:23 Su-Shee joined 03:27 Su-Shee_ left 03:45 hudnix left 03:49 leprevost left 03:53 envi left 03:55 satyavvd joined 04:25 ymasory left 04:47 bluescreen100 left, bluescreen__ left, bluescreen10 left 05:38 justatheory left, justatheory joined 05:42 justatheory left 05:45 kaare_ joined 05:56 SHODAN joined 06:12 donri joined 06:18 birdwindupbird joined 06:53 cotto joined 07:02 mj41 joined 07:17 am0c joined 07:19 wamba joined 07:22 fhelmberger joined 07:26 awoodland left, awoodland joined 07:28 pnu left 07:40 pnu joined 07:49 jevin left 07:50 jevin joined 07:51 [particle] joined, domidumont joined 07:59 TiMBuS left, TiMBuS joined
jnthn morning, #perl6 08:06
moritz \o 08:07
sorear o/
tadzik morning 08:09
08:11 nymacro joined 08:13 Mowah joined 08:15 araujo left 08:22 dakkar joined 08:23 flatwhatson left 08:34 thinker joined 08:42 thinker left 08:43 satyavvd left 09:13 woosley left 09:16 awoodland left 09:17 noganex_ joined 09:18 noganex left 09:21 awoodland joined 09:25 awoodland left 09:51 woosley joined 09:54 cognominal left 10:04 cognominal joined 10:16 Su-Shee left, Butcho joined 10:18 woosley left 10:19 Butcho left 10:20 Su-Shee joined 10:31 araujo joined 10:46 jaldhar left, jaldhar joined 10:48 Sarten-X left 10:49 cognominal left 10:50 Sefnajjer joined 10:53 domidumont left 10:59 Sarten-X joined 11:06 domidumont joined 11:07 Psyche^ joined, Psyche^ is now known as Patterner 11:08 cognominal joined 11:13 orafu left 11:15 wamba left 11:37 SHODAN left 11:39 nyeh joined 11:40 nyeh left 11:50 Sefnajjer left
colomon \o 11:52
sorear o/ 11:54
11:59 bluescreen10 joined 12:13 wallberg joined
takadonet morning all 12:22
12:25 hudnix joined 12:44 mtk joined 12:53 jrockway left 12:54 leprevost joined 13:00 jrockway joined 13:01 wamba joined 13:03 Holy_Cow joined 13:29 birdwindupbird left 14:03 kaare_ left 14:04 pyrimidine joined 14:06 birdwindupbird joined 14:10 gottreu joined 14:12 drbean joined 14:16 drbean left 14:24 Su-Shee_ joined 14:27 Su-Shee left 14:31 Su-Shee_ is now known as Su-Shee 14:35 slavik2 left 14:37 slavik joined, kaare_ joined 14:38 am0c left 14:42 drewlander joined 14:43 nymacro left 14:48 wamba left 14:51 colomon left, nymacro joined 14:52 PhatEddy joined 15:00 Holy_Cow left 15:03 nymacro left, nymacro joined
PhatEddy rakudo: my token ident { [<alpha>|_] \w* }; if 'mottle' ~~ /<ident>/ { say 'matched' } 15:11
p6eval rakudo 705435: OUTPUT«matched␤»
PhatEddy rakudo: my token udent { [<alpha>|_] \w* }; if 'mottle' ~~ /<udent>/ { say 'matched' }
p6eval rakudo 705435: OUTPUT«Method 'udent' not found for invocant of class 'Cursor'␤ in <anon> at line 22:/tmp/AwNCR6HUc2␤ in 'Cool::match' at line 2670:CORE.setting␤ in 'Regex::ACCEPTS' at line 6392:CORE.setting␤ in main program body at line 22:/tmp/AwNCR6HUc2␤»
15:12 ymasory joined
PhatEddy Am I doing something wrong? 15:12
15:13 nymacro left
flussence try "our"? 15:13
rakudo: our token udent { [<alpha>|_] \w* }; if 'mottle' ~~ /<udent>/ { say 'matched' } 15:14
p6eval rakudo 705435: OUTPUT«Method 'udent' not found for invocant of class 'Cursor'␤ in <anon> at line 22:/tmp/T3hbBV6cIJ␤ in 'Cool::match' at line 2670:CORE.setting␤ in 'Regex::ACCEPTS' at line 6392:CORE.setting␤ in main program body at line 22:/tmp/T3hbBV6cIJ␤»
flussence I dunno. seen this happen before though...
15:15 ymasory left 15:21 hercynium joined
moritz <&udent> for lexical lookup 15:23
PhatEddy rakudo: my token udent { [<alpha>|_] \w* }; if 'mottle' ~~ /<&udent>/ { say 'matched' }
p6eval rakudo 705435: OUTPUT«matched␤»
PhatEddy thx
Why did ident work? 15:24
moritz there's a predefined ident 15:26
PhatEddy I think this makes part of synopis look confusing though - 05 perlcabal.org/syn/S05.html#Regex_Ro..._Anonymous 15:29
moritz it's a limitation in rakudo
niecza: token udent { [<alpha>|_] \w* }; if 'mottle' ~~ /<udent>/ { say 'matched' } 15:30
p6eval niecza v5: OUTPUT«Unhandled exception: trying to dereference null␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 413 (CORE die @ 2)␤ at /home/p6eval/niecza/src/Metamodel.pm6 line 659 (Metamodel Unit.deref @ 2)␤ at /home/p6eval/niecza/src/NieczaPassBegin.pm6 line 288 (NieczaPassBegin
..C118_ANON…
moritz seems not only in rakudo :-)
15:32 wallberg left 15:37 woosley joined, orafu joined 15:48 am0c joined 15:50 justatheory joined
jnthn back from $dayjob :) 15:57
moritz too 15:58
q
dammit
16:05 woosley left 16:17 spq joined 16:21 mj41 left 16:24 REPLeffect joined 16:28 zb joined 16:30 rhr left
Tene jnthn: you mentioned that the find_method method is special in 6model right now? 16:43
16:47 wamba joined
jnthn Tene: Yes. 16:50
16:51 ashleydev joined
Tene What's special about it? 16:52
jnthn Tene: Only that the name "find_method" is hardcoded in the method dispatcher. 16:53
16:53 mj41 joined 16:54 ymasory joined
jnthn Tene: A repr and a metaclass have a contractual relationship also, but since it's ultimately the meta-class that picks the repr - or has the last say about it - that's not really a problem. 16:54
And exactly what that relationship is varies. P6opaque cares that there are attributes and parents methods on the meta-object, for example.
HashAttrStore doesn't require any such thing. 16:55
17:00 cdarroch joined, cdarroch left, cdarroch joined
PhatEddy rakudo: print 'abc' ~ chr(0x2620); 17:00
p6eval rakudo 705435: OUTPUT«abc☠» 17:01
17:01 jaldhar left, jaldhar joined, Chillance joined
Tene I'm still fuzzy on the relationship between a HOW and a repr. 17:06
17:07 orafu left 17:08 sjn joined 17:09 benabik left 17:17 wamba left 17:28 masak joined
masak hello, #perl6. 17:28
jnthn dobry vecer, masak :)
masak приветствия, jnthn :) 17:29
masak makes vecery nom 17:30
17:31 dakkar left, awoodland joined
jnthn oooozhen 17:31
masak an empty kitchen table: not bad. a kitchen table with only TAoCP 2 on it: poetry. 17:33
(I should mention that historically, my kitchen table has had a tendency to attract entropy)
Tene I need to get TAoCP eventually. 17:37
17:38 Sefnajjer joined
Sefnajjer Hello 17:38
jnthn masak: Hope it tastes good...
Tene I need to finish TAotMOP and AIaMO first.
masak I'm reading through the first three now. so that I can pick up the fourth with a good conscience. :)
Sefnajjer: hi!
Sefnajjer it's me Moukeddar :)
masak is not surprised 17:39
Sefnajjer wonders why
masak Tene: .oO( reading with a Lisp ) :)
Tene masak: hm? 17:40
Sefnajjer masak, they Accepted the MVC architecture :) 17:42
masak Tene: at least the first one is CLOS, I know...
Sefnajjer: nice. I'm happy for you :) 17:43
Tene Yeah, The Art of the Metaobject Protocol is primarily about CLOS.
Sefnajjer thanks very much , the sample Idea worked :)
Tene uses CLOS as an example, at least.
17:43 Ali_h joined
masak Tene: right. it implements CLOS in CLOS. 17:43
very metacircular. 17:44
Ali_h Hi I want to get started with perl 6 and am a windows user - can anyone suggest where to start?
masak Ali_h: perl6.org 17:48
Ali_h: also, feel free to ask anything here. you'll find it's a very friendly group. 17:50
Ali_h: there are a few Windows holdouts... er, I mean users... in here. :)
Ali_h masak thank you :) ill go look now
jnthn masak: hey...some Perl 6 compiler developers use Windows! :P 17:51
17:52 daemon joined
Sefnajjer masak, is OpenSuse a good distro fo a developer , i kinda dislike the ubuntu 17:52
masak jnthn: well, someone has to, I guess :P
Su-Shee Sefnajjer: then use whatever you like?
masak Sefnajjer: I don't know.
Sefnajjer: what Su-Shee++ said :) 17:53
Su-Shee luckily, there's a linux for everyone. (literally ;) 17:54
Sefnajjer OpenSuse then :) , i had a previous experience with it and it was lovely , but ubuntu seems to be a bigg buzz these days
17:58 benabik joined 18:04 araujo left
masak Sefnajjer: you could partition your drive and try both. 18:09
Sefnajjer masak, OpenSuse is very tempting :) 18:10
i'll shrink the windows Parition for it :)
there's Perl6 Package for it ,right? 18:11
18:12 birdwindupbird left
masak not to my knowledge. 18:12
sorear good * #perl6
masak sorear! \o/
tadzik I suppose it depends on what do you mean by Perl 6 :) 18:14
hello zebras
Sefnajjer execute and debug perl6 scripts
tadzik so a compiler in the first place. Which one then? :)
Sefnajjer i was asking if there's an OpenSuse package of perl6 18:15
18:16 _dolmen_ joined
tadzik I was... ah, nevermind :) I mean there's not a "perl6", there are a few compilers implementing a different bunch of Perl 6 18:16
Sefnajjer oh , great
benabik Sefnajjer: openSUSE 11.3 ships with the June 2010 version of Rakudo. 18:17
18:17 wamba joined
benabik Sefnajjer: "Newer versions of rakudo are available from the devel:languages:parrot build service project." 18:17
Sefnajjer one more reason to love OpenSuse :) 18:18
masak and Rakudo :)
18:18 Su-Shee_ joined
masak is Rakudo the only Perl 6 compiler so far that ships with Linux distributions? 18:18
Sefnajjer weird name for an interpreter right?
tadzik interpreter?
Sefnajjer compiler
masak weird?
TimToady: did you make bare blocks into one-iteration loops in Perl Classic? I only really grokked that today, and I don't like it. :) 18:20
Sefnajjer rakudo , that's like an Anim :)
18:21 Su-Shee left, am0c left 18:22 fhelmberger left
masak I accidentally did 'last' from a bare block in Perl 5... it exited the bare block, but not the surrounding loop. :/ 18:23
I suppose the underlying reason is 'do ... while' loops or something like that. 18:24
sorear out
masak but that's two wrongs not making a right if you ask me... :)
18:24 wamba left
jnthn masak: Did you submit a classicbug? ;) 18:24
sorear masak: perlsyn talks about bare blocks being do-once loops
it's quite useful actually if you ask me
masak sorear: oh? in that case, I'm willing to be convinced. 18:25
Sefnajjer Functional Programming: A Pragmatic Introduction 18:32
interesting
18:33 _dolmen_ left, _dolmen_ joined 18:34 dolmen__ joined 18:37 Su-Shee_ is now known as Su-Shee, dolmen__ left 18:38 _dolmen_ is now known as dolmen_ 18:44 Holy_Cow joined, Sefnajjer left 18:47 wamba joined 18:52 fglock joined
fglock 'my $*var' is the same as Perl 5 'local $var' ? 18:55
masak to a first approximation. 18:56
18:56 Holy_Cow left
fglock how is it different? 18:56
masak looks it up for fglock 18:57
fglock I've only seen this in examples, I can't find the spec
masak S05:178: 'Perl 5's "C<local>" function has been renamed to C<temp> to better reflect what it does.' 18:58
18:58 [hercynium] joined, [hercynium] left, [hercynium] joined
Tene masak: loop control on bare blocks has been useful to me several times, specifically 'last' and 'redo'. 18:58
masak fglock: but it then adds that 'temp $x' doesn't undefine $x, as Perl 5's 'local $x' does.
fglock makes sense - but what is 'my $*var'
18:59 noganex joined
masak fglock: it's a dynamically scoped variable. 18:59
Tene: do you agree that it doesn't look like a loop? 19:00
Tene masak: No.
fglock dynamically scoped - isn't it the same as Perl 5 'local'?
Tene masak: I suspect I may be persuadable, but not intuitively, no.
masak fglock: yes. 19:01
19:01 hercynium left, noganex_ left, [hercynium] is now known as hercynium
masak fglock: if I remember correctly, 'temp' and dynamicals are kinda closely related. 19:01
fglock maybe 'my' makes it visible in the current scope, without redeclaring? (temp would create a new variable) 19:02
masak rakudo: for ^5 { given "OH HAI" { .say; last }; .say } 19:03
p6eval rakudo 705435: OUTPUT«OH HAI␤»
PerlJam fglock: a new value, not a new variable.
as I understand things
jnthn 'my' declares a lexical variable as normal, * just means it can be looked up dynamically. 19:04
But the actual installation of a dynamic is pretty much the same.
masak jnthn: so a 'temp' isn't visible in a callee scope?
jnthn masak: Orthogonal. 19:05
fglock jnthn: so I need to use 'my' when I need to see the variable
jnthn temp $x no, temp $*x I guess yes.
PerlJam jnthn: that's what I think too
jnthn fglock: If you want to see it dynamically it's the * that matters, not the declarator.
19:05 birdwindupbird joined
fglock temp $x ==> save $x, get new $x 19:06
my $*x ==> use current $*x
jnthn no
fglock I mean, temp $*x
19:06 [hercynium] joined, [hercynium] left, [hercynium] joined
jnthn ah, ok 19:06
my $*x is a new variable. temp $*x just means "remember the value we had before and then put it back in place at scope exit", iirc. 19:07
But my $x and temp $x also mean that. It's just that those don't "exist" in the dynamic scope.
masak well, the twigil is mostly a comment about how the lookup is done, right? 19:08
19:08 hercynium left, [hercynium] is now known as hercynium
jnthn masak: Declarationaly or usagely? 19:08
masak usagely. 19:09
jnthn For usage though, certainly.
$x = walk static chain
19:09 Holy_Cow joined
jnthn $*x = walk dynamic chain 19:09
masak that's the nice thing. it's just a normal 'my' variable (if you used 'my')
fglock my $*x is a new variable - what happens to the global value?
jnthn ?
There is no global value.
masak or an 'our' variable. or a 'temp' variable.
fglock $*x lives in GLOBAL, no? 19:10
jnthn No
It's a lexical.
masak fglock: in the general case, there isn't a global value.
fglock: if it's declared with 'my', it's lexical.
jnthn $*x may look in GLOBAL as a last resort.
But only after it's walked the entire dynamic chain.
fglock hmm - and the first 'my $*x' in the caller stack will be used? 19:11
masak right. the first one found walking back along it. 19:12
fglock got it - now about 'temp $*x', how is it different 19:14
it is not lexical?
hmm - no, that doesn't make sense 19:15
jnthn I guess it's, find whatever $*x is now, save it away, then at block exit restore it. 19:16
fglock hmm - while 'my $*x' will only restore at 'return' ?
masak 'temp' is syntactic sugar for 'is leave { $*x = <old-value> }' 19:17
jnthn fglock: There's no restoring to do.
masak fglock: 'my $*x' doesn't restore so much as go out of scope.
fglock: it's a lexical.
tylercurtis finds it somewhat confusing that of PROCESS and GLOBAL, S02 indicates that GLOBAL is the less global. 19:21
19:26 jevin left, dju_ joined 19:29 dju left
fglock reading S02, 'temp $*foo' is the same as 'my $*foo', except that 'temp' knows the previous value and reuses that 19:29
masak right. 19:31
fglock cool - thanks
19:31 Holy_Cow left
tylercurtis fglock: Are you sure about that? temp can also only be used on existing rw variables. 19:37
19:43 REPLeffect left
fglock right - it doesn't make sense to save the previous value if you are not going to modify it anyway 19:44
tylercurtis fglock: right, but my can be used to create new dynamic variables or to change the value within a dynamic scope of a readonly dynamic variable, iiuc. 19:46
19:47 ashleydev left 19:51 benabik left
fglock change the value - yes, by masking the outer value 19:51
19:56 REPLeffect joined 19:57 Chillance left, Chillance joined
masak you can do that with lexically looked-up variables, too. 19:57
rakudo: my $a is ro = 5; say $a; { my $a is ro = 42; say $a }; say $a 19:58
19:58 Trashlord left
p6eval rakudo 705435: OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Mu $child, Role $r)␤:(Routine $r, Any :default($default)!)␤:(Code $block, Any $arg?, Any :export($export)!)␤:(Mu $child, Mu $parent)␤:(Mu $type where ({ ... }), Any :rw($rw)!)␤:(Mu 19:58
..$type…
masak oh, right :)
jnthn readonly
masak rakudo: my $a is readonly = 5; say $a; { my $a is readonly = 42; say $a }; say $a
p6eval rakudo 705435: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/jIlks00XNp␤»
masak too much Moose lately :P
oh, right :P
jnthn also it's very very very readonly in Rakudo :/
masak forget it :)
jnthn afk for a bit 19:59
masak alpha: constant $a = 5; say $a; { constant $a = 42; say $a }; say $a 20:00
p6eval alpha : OUTPUT«5␤42␤5␤»
masak \o/ 20:01
fglock what is alpha? 20:02
20:02 bluescreen10 left
arnsholt The oldest Rakudo 20:02
(FSVO oldest) 20:03
A year or two back, there was a major refactor of nqp into nqp-rx, which had better grammar handling
fglock ah, ok
masak it's just one year.
arnsholt That became the basis for rakudo-ng, which is the current Rakudo 20:04
masak well, it started 18 months back or so.
fglock google finds 'v6-alpha', an older v6.pm
masak that's a diff'rent alpha :)
arnsholt And the previous Rakudo became alpha
masak Rakudo 'alpha' is just an internal name for an old branch.
arnsholt Something similar will probably happen when rakudo-nom becomes stable enough to replace current Rakudo
masak 'beta'?
arnsholt Perhaps 20:05
masak you heard it here first!
:)
20:06 tinhead joined
masak and then we'll release the obvious sequel to "Rakudo Starr": "Rakudo Harrisson". :P 20:06
masak can't wait for Rakudo McCartney
jasonmay haha
20:09 spq left 20:10 ab5tract joined
Su-Shee
.oO(I see a Rakudo Bieber at some point in the future and then help us all.. ;)
20:12
fglock :P
20:13 tinhead left
fglock dinner & 20:13
20:14 fglock left 20:17 birdwindupbird left
masak Su-Shee: yes, but have you listened to www.youtube.com/watch?v=QspuCt1FM9M ? 20:23
("You Smile" slowed down 800%. that was the first Bieber song I ever listened to.)
Su-Shee masak: "Sadly, my religion, my political opinion and my morals and ethics forbid me strictly to click on Justin Bieber related links of any kind" ;) 20:24
UHM. Now I actually clicked and it's not available in my country?! 20:25
Tene masak: you may find www.youtube.com/user/Thunt9#p/searc...ewfjpgM56g and its followups to be interesting 20:27
20:31 Mowah left
masak Tene: heh. :) 20:32
Tene: well, the nice thing about 800% slowed down is that the lyrics sounds like whale song. :)
Tene rakudo: multi sub f($a,$b,$c) { }; multi f($a,$b,$c where {$a**2 + $b**2 == $c**2 and $a+$b+$c == 1000}) { say "$a $b $c" }; f(all(1..100),all(1..100),all(1..100)); 20:34
p6eval rakudo 705435: OUTPUT«(timeout)»
Tene feeling silly today.
masak shouldn't that be 'any'? 20:35
Tene I'm not actually using the result there; all that relies on is autothreading 20:36
masak also, your one-liner seems to assume that measuring a quantum superposition will make the correct answer(s) magically appear out of the haystack.
Tene if I wanted something useful back, though, yeah.
20:36 drewlander left
masak the fact that this is not the case is exactly what makes quantum computing so frustrating. :) 20:37
Tene masak: no, I really didn't.
I assumed it would run over the entire state space.
masak right, both 'all' and 'any' will do that.
Tene rakudo: multi f($n) { }; multi f($n where 3) { "three" }; multi f($n where 5) { "five" }; say f(any(1..10)); 20:38
masak hm, I suppose it doesn't matter which one you use in this script. since you're not checking a boolean value.
p6eval rakudo 705435: OUTPUT«any("three", "five")␤»
20:38 go joined
masak rakudo: multi f($n) { }; multi f($n where 3) { "three" }; multi f($n where 5) { "five" }; say f(all(1..10)); 20:39
p6eval rakudo 705435: OUTPUT«all("three", "five")␤»
masak ok, I stand corrected.
both would work. they just act as containers.
and as parallel dispatchers, I guess.
20:39 go left
Tene rakudo: multi f($a,$b,$c) { }; multi f($a,$b,$c where {$a**2 + $b**2 == $c**2}) { [$a,$b,$c] }; f(any(1..10),any(1..10),any(1..10)); 20:39
p6eval rakudo 705435: ( no output ) 20:40
Tene rakudo: multi f($a,$b,$c) { }; multi f($a,$b,$c where {$a**2 + $b**2 == $c**2}) { [$a,$b,$c] }; say f(any(1..10),any(1..10),any(1..10));
p6eval rakudo 705435: OUTPUT«any(any(any(), any(), any(), any(), any(), any(), any(), any(), any(), any()), any(any(), any(), any(), any(), any(), any(), any(), any(), any(), any()), any(any(), any(), any(), any([3, 4, 5]), any(), any(), any(), any(), any(), any()), any(any(), any(), any([4, 3, 5]),
..any(), any…
Tene Huh; wonder why that's different.
rakudo: multi f($a,$b,$c) { }; multi f($a,$b,$c where {$a**2 + $b**2 == $c**2}) { [$a,$b,$c] }; say f(1,1,1); 20:41
p6eval rakudo 705435: OUTPUT«␤»
Tene rakudo: multi f($a,$b,$c) { }; multi f($a,$b,$c where {$a**2 + $b**2 == $c**2}) { [$a,$b,$c] }; say f(1,1,1).perl;
p6eval rakudo 705435: OUTPUT«Nil␤»
20:42 ymasory left
Tene oh, from the combinations, somehow 20:42
any(any(...
any() isn't collapsing to Nil
I don't know whether the spec is good and defined around junctions of no elements. 20:43
masak chromatic is grumpy today. www.modernperlbooks.com/mt/2011/05/...l-510.html
Tene: 1**2 + 1**2 != 1**2 20:44
tadzik I can understand that
Tene masak: I know. I was trying to figure out where the extra any()s were coming from in the failure cases. 20:45
masak Tene: good question.
Tene rakudo: multi f($a,$b,$c) { }; multi f($a,$b,$c where {$a**2 + $b**2 == $c**2}) { [$a,$b,$c] }; say f(all(1..10),all(1..10),all(1..10));
p6eval rakudo 705435: OUTPUT«all(all(all(), all(), all(), all(), all(), all(), all(), all(), all(), all()), all(all(), all(), all(), all(), all(), all(), all(), all(), all(), all()), all(all(), all(), all(), all([3, 4, 5]), all(), all(), all(), all(), all(), all()), all(all(), all(), all([4, 3, 5]),
..all(), all…
masak Tene: seems you get three nested levels of any(), and many of the innermost ones are empty because they match the first multi 20:46
rakudo: say so 2 == any() 20:47
p6eval rakudo 705435: OUTPUT«Bool::False␤»
masak rakudo: say so 2 == none()
p6eval rakudo 705435: OUTPUT«Bool::True␤»
masak Tene: I think junctions of no elements are very well defined.
tadzik masak: don't you find him and sri right? 20:52
masak sorry, could you rephrase that question? 20:53
tadzik don't you think chromatic has a right to be mad seeing what happens regarding 5.8.x? 20:55
masak tadzik: I think chromatic is very good at pointing out things that are wrong with Perl and around Perl. 20:57
20:57 Trashlord joined
masak tadzik: in this case, Linux distributions that ship old Perl versions. 20:58
tadzik: but I found this post more gloomy than most recent posts. 20:59
it's especially striking given that a bit over a year ago, the big discussion was over regular releases of Perl 5. that's now in effect, and functions as the argumentation in this reasoning. 21:00
not saying chromatic is wrong. just noting that he's now expressing displeasure over the next thing that needs to be fixed. :) 21:01
21:02 y3llow_ joined
plobsing I think the whole premise of that post is flawed. Surely if you can spring for the support contract for the linux distro, you can pay someone to backport the cpan modules you want. 21:02
21:04 y3llow left, y3llow_ is now known as y3llow 21:05 Trashlord left, benabik joined, kaare_ left 21:06 benabik left
tadzik g'night 21:10
masak 'night, panda 21:11
21:13 Trashlord joined 21:16 ab5tract left 21:28 donri left, ymasory joined 21:30 ymasory left, ymasory joined
Tene masak: he's been expressing displeasure over outdated 'enterprise' environments for years. 21:34
This isn't new.
masak true. 21:36
and that wasn't really my point either.
just that he keeps pressing on with the important issues.
21:38 mj41 left 21:39 justatheory left, justatheory joined 21:40 orafu joined
Tene plobsing: That's kind of the point of the post, actually. I think you must have missed some of the sarcasm. 21:43
21:44 justatheory left, ashleydev joined
masak I didn't miss the sarcasm. it's the only part of the post that I object to. 21:50
but maybe this message isn't possible to deliver without sarcasm, I dunno.
plobsing Tene: ah. that I did. so he was being subtle, not quick to anger.
masak oh btw. now that we have .base, how do you people feel about... .unbase ? 21:51
(converting a string representation to a number)
plobsing wouldn't :base be an optional argument to a more general number parsing function?
Tene masak: sarcasm is often simpler than delivering a message directly and plainly. 21:52
masak Tene: yes, because it strikes bitingly at no-one in particular. 21:53
21:53 jevin joined
Tene The format of that post is to present an exaggerated, simplified version of beliefs that he disagrees with, trying to use the exaggeration to indirectly imply his reasons for disagreement. 21:53
masak plobsing: yes, I guess. so I'm proposing spec-ing and exposing that function. 21:54
Tene It's far simpler to do that than to directly and plainly explain the position, his reasoning about it, etc.
someone mentioned that there's something related by sri?
plobsing masak: more like "1234".Int(:base<8>) 21:55
_sri afraid i started the whole thing when i deprecated perl 5.8 support in mojolicious
21:57 wamba left
masak _sri++ 21:58
_sri: was there one big reason, or many small ones?
Tene and then apparently un-deprecated it 21:59
_sri don't ++ me too quick, i backed off and reverted the deprecation :/
masak plobsing: I'll have to decide whether I like that. :) I don't have an immediate gut feeling.
ok, _sri-- :) 22:00
_sri i think the mailing list thread covers the whole discussion quite well groups.google.com/group/mojolicious...2219371deb
22:01 starcoder is now known as evilstarcoder, evilstarcoder is now known as starcoder
_sri i underestimated the backlash a bit 22:01
masak ah, denial of service.
22:02 benabik joined, benabik left
flussence I think 5.8 users deserve a scare every now and then :) 22:02
masak +1 22:03
BinGOs sometimes the herd won't listen 22:05
masak .oO( guess they haven't herd... ) 22:08
Tene The first post is a bit weird... there's no need to involve xen. If you really want virtualization, CentOS has good support for kvm, or you can just use containers with lxc, which centos also has good support for.
_sri rassie.org/archives/378
blogs.perl.org/users/opossumpetya/2...-done.html
two of the harshest reactions 22:09
which also triggered most of the following discussions
22:09 mux_ joined
_sri but the root of all evil really is really rhel 22:10
Tene and, fwiw, I've upgraded system perl to 5.10 on debian 3.1, which is something like 7 years old now.
It's completely feasible.
masak what's this Date::Manip disaster I hear about? 22:11
flussence one of the guys at my $dayjob likes to remind me how bad RHEL is often :)
_sri s/really// # argh, time to sleep i guess...
22:11 geekosaur left, cschimm1 left, mux left, geekosaur joined
Tene There's not really any legitimate excuse for staying with 5.8 22:12
22:12 cschimm1 joined
flussence (on the other hand, I've been given plenty of illegitimate ones...) 22:12
_sri i don't see deprecating 5.8 support get easier any time soon 22:14
Tene The only place we're still using 5.8 is on some of our proxies. We've got code we rely on running as a perlbal plugin, and perlbal's performance fell on the floor when we upgraded to 5.10. They haven't been a priority in the upgrade, so we've left them for later, where we plan to just abandon perlbal. 22:15
flussence fortunately I managed to convince $dayjob to let me install 5.12 for most of our webserver stuff recently. All it took was one module install gone horribly wrong :)
22:17 awoodland left
perigrin _sri: RHEL isn't alone, it's just the current worst-case. Apple ships a broken Perl. 22:17
Tene I see this as mostly just saying "computers are hard; let's go shopping", but I'm not feeling very charitable towards suicidal technical debt today, after having to deal with so much of it at work.
_sri perigrin: lion will fix it though, and everybody will upgrade 22:18
perigrin _sri: I will reserve judgement.
arnsholt What's broken with the Apple perl, OOC? 22:19
plobsing _sri: whenever somebody whines at you about it, point to the license that clearly disclaims "fitness for a particular purpose".
perigrin arnsholt: the latest thing I'd seen about it was the default Perl on OSX won't compile XS with the current XCode4 becuase they stripped the PPC headers from XCode but didn't re-compile / update Perl. 22:20
you can fix it in the environment
arnsholt Fun
22:21 kda joined
arnsholt (I use MacPorts anyways, so I get a different set of problems) 22:21
22:21 kda left
perigrin I use perlbrew 22:21
so yeah
arnsholt I decided to upgrade my Perl (IIRC MacPorts installed 5.8 as well. Why? WHY??) and ended up blowing away my whole MacPorts install and starting from scratch with and installing something non-ancient 22:22
_sri perlbrew++ # <3
perigrin arnsholt: if I recall there was also something where Apple upgraded libraries 22:23
to versions older than the current CPAN
effectively downgrading you if you weren't using local::lib
basically the problem is ... it's a system perl
you're not in control of it 22:24
arnsholt Heh. Sounds like a reason I can believe
masak 'night, #perl6
22:24 masak left
Tene You can be as in-control of it as you'd like to be. I've upgraded system perl on several RH and debian-derived distros. As long as you acknowledge that you're forking the distro, it's a completely valid option. 22:27
perigrin Tene: right but it's sort of like replacing the stock firmware ona router with dd-wrt. You know going in that you can't cry to your support people for help if you screw it up. 22:28
And then why use RHEL?
Tene perigrin: There are a wide variety of distros; you should certainly evaluate what you want and need from a distro. 22:29
22:29 gottreu left
perigrin Tene: I'm just arguing the point of view for people who have chosen RHEL. 22:30
Tene What *I* don't get are people who seem to be simultaneously saying "I want the latest and newest stuff" and "I can never use anything new ever"
perigrin I personally use FreeBSD or Arch or Gentoo when given a choice.
Tene: the problem I have is when somehow it's my fault for not supporting their system choices. 22:31
Tene perigrin: that's exactly my question to them, why are you using RHEL if you don't want what RHEL provides? For any use case, there's *a* configuration you can choose.
perigrin I'm more than willing to work with them. I'm more than willing to support *them* in supporting their system choices. I'm not willing to do their job for them for free. 22:32
Tene For all the people who are complaining about perlbrew not being an appropriate way to deploy system software, they're right, for their environment. In that case, build an rpm for it, install it in an lxc container, deploy a VM, etc. You've got a dozen different deployment options.
perigrin :) 22:33
22:33 dolmen_ left
perigrin Tene: but see that's *work* 22:33
if they're gonna go through all that work why should they use your software ...
Tene Instead of complaining that it's not right, they need to explain what their actual requirements are, if they want useful recommendations.
22:34 silent_h_ joined
Tene If they want to leave the core system alone, then there are dozens of options for reliably and sanely deploying whatever perl configuration they actually want. Really. 22:35
perigrin Honestly they don't know what they want. 22:36
Tene Probably.
22:37 am0c joined
Tene I *do* think that a comprehensive guide for deploying new releases of perl in different environments, discussing the tradeoffs, etc. would be very nice, and might be very useful. 22:38
People who are upset really are upset, and that's unfortunate. It would be nice to enable more people to use new software.
I see too few people maintaining their perl package deployments with the distro package manager. Tools like cpan2dist, cpanspec, etc. are underused. 22:40
perigrin Well and I think there should be an option.
Tene It certainly might help if there was a standard link that could be provided, saying "Here are a dozen different deployment options for CentOS 5.6; If none of those will work for you, please tell me what your needs are so that we can find a deployment option that will help you." 22:41
So, there's a lot of good work that can be done there. 22:47
am0c rakudo: say ~( <a b c> X <1 2> X <A B> ); 22:51
p6eval rakudo 705435: OUTPUT«No applicable candidates found to dispatch to for 'infix:<X>'. Available candidates are:␤:(Any $lhs, Any $rhs)␤␤ in main program body at line 22:/tmp/oQOoWRXO61␤»
am0c rakudo: say ~( (<a b c> X <1 2>) X <A B> );
p6eval rakudo 705435: OUTPUT«a A a B 1 A 1 B a A a B 2 A 2 B b A b B 1 A 1 B b A b B 2 A 2 B c A c B 1 A 1 B c A c B 2 A 2 B␤»
am0c std: <a b c> X <1 2> X <A B> 22:52
p6eval std 9f27365: OUTPUT«ok 00:01 114m␤»
flussence rakudo: say ( [X] [0, 1] xx 3 ).perl 22:54
p6eval rakudo 705435: OUTPUT«((0, 0), (0, 1), (0, 0), (0, 1), (0, 0), (0, 1), (1, 0), (1, 1), (1, 0), (1, 1), (0, 0), (0, 1), (1, 0), (1, 1), (1, 0), (1, 1))␤»
flussence rakudo: say ~( [X] [0, 1] xx 3 )
p6eval rakudo 705435: OUTPUT«0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1␤»
flussence huh, the second one takes a lot longer on mine
wait, wrong line
am0c ah 22:55
S03 says that the X operator is list associative that 1,2 X 3,4 X 5,6 should work 22:56
which produces (1,3,5),(1,3,6),(1,4,5),(1,4,6),(2,3,5),(2,3,6),(2,4,5),(2,4,6)
flussence rakudo: say [~] [Z] [0..4] xx 3 22:57
p6eval rakudo 705435: OUTPUT«0 0 0 1 1 2 1 3 2 4␤» 22:58
sorear good * #perl6
flussence I'm getting some extremely long 100%-cpu delays in the repl every few lines, just playing around with these...
GC?
am0c heh 22:59
23:03 silent_h_ left 23:04 hercynium left
plobsing flussence: can you give an example that triggers the pauses? '~( [X] [0, 1] xx 3 )' runs instantly every time for me 23:04
flussence that last line I wrote above, works fine 5 times in a row then several seconds of delay 23:05
strace says it's doing nothing besides slowly eating memory... 23:06
there's a delay after output before it prints the next > prompt too
wonder if I just need to update rakudo on this machine 23:07
plobsing 'for ^100 { say [~] $_, [Z] [0..4] xx 3' has noticeable sub-second delays for me, but they're hard to spot
flussence I'm on 2011.04-3-g8533c3c, I'll update it to see if it goes away 23:08
sorear niecza: say ~( [X] [0, 1] xx 3 )
p6eval niecza v5: OUTPUT«0 1 0 1 0 1␤»
sorear that's what I thought 23:09
15:51 < am0c> rakudo: say ~( <a b c> X <1 2> X <A B> );
perl6: say ~( <a b c> X <1 2> X <A B> );
p6eval rakudo 705435: OUTPUT«No applicable candidates found to dispatch to for 'infix:<X>'. Available candidates are:␤:(Any $lhs, Any $rhs)␤␤ in main program body at line 22:/tmp/m0wGCs5p98␤»
..pugs, niecza v5: OUTPUT«a 1 A a 1 B a 2 A a 2 B b 1 A b 1 B b 2 A b 2 B c 1 A c 1 B c 2 A c 2 B␤»
sorear perl6: say ~( <a b c> X~ <1 2> X~ <A B> );
p6eval niecza v5: OUTPUT«a1A a1B a2A a2B b1A b1B b2A b2B c1A c1B c2A c2B␤»
..rakudo 705435: OUTPUT«No applicable candidates found to dispatch to for 'crosswith'. Available candidates are:␤:(&op, Any $lhs, Any $rhs)␤␤ in main program body at line 1␤»
..pugs: OUTPUT«a 1 2 A B b 1 2 A B c 1 2 A B␤»
23:10 whiteknight joined
sorear attempts to bring am0c over to the dark side 23:10
am0c .oO( help me! )
23:13 saaki left
sorear Embrace it! 23:14
jnthn blug: 6guts.wordpress.com/2011/05/10/raku...-underway/ 23:23
And now I'll sleep.
&
am0c jnthn: good night 23:25
23:25 justatheory joined
jasonmay jnthn++ 23:27
23:28 ashleydev left 23:33 molaf__ joined, molaf_ left 23:35 leprevost left 23:37 am0c left 23:40 risou joined, ashleydev joined 23:42 Ali_h_ joined, Ali_h_ left 23:43 Ali_h left, hugme left, tadzik left 23:44 ali_h joined, tadzik joined 23:56 araujo joined 23:59 Chillance left