»ö« 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«5425» | ||
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
|