»ö« 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! | tinyurl.com/p6contest
Set by moritz_ on 28 December 2010.
lue in a for loop (e.g for @a -> $b), is there an easy way to tell if I have the last element of @a in $b ? [ I was thinking of creating some sort of $last flag if not ] 00:08
00:09 thowe left, kjeldahl left 00:11 paroxyzm joined
tadzik lue: if $b == @a[*-1]? 00:12
00:22 shi joined
lue That's what I'll do. I was just wondering if there was some nifty hidden function in a for loop I was unaware of :) 00:22
tadzik jnthn: I'm tadzik :) 00:24
„Encouraged by tadzkik++, added META.info files to some of my modules” 00:25
00:35 pmurias joined
dalek ecza: 301b2c1 | pmurias++ | / (2 files):
hacking on the lisp backend to bring it closer to subs
00:38
ecza: 183d166 | pmurias++ | cl-backend/backend.lisp:
sub calls work in the clisp backend
rixel: 4e9752d | diakopter++ | / (15 files):
enable fully recursive/self-referential custom classes

Validate single inheritance works with the same. Had to prepend YApass. :)
diakopter pmurias: hi :) 00:40
00:40 avms left
pmurias diakopter: hi 00:40
00:43 fhelmberger joined 00:49 buubot joined
dalek rixel: 68b9a2a | diakopter++ | sprixel/src/ (5 files):
don't use a class munging prefix... I guess.
00:51
ecza: 2e66cf1 | pmurias++ | cl-backend/backend.lisp:
add &infix:~ to the clisp backend
00:59
pmurias sorear: i'll hack on the clisp backend so i don't get in the way
dalek rixel: c74daea | diakopter++ | sprixel/src/ (2 files):
strip sigil from attribute name... I guess
01:09
diakopter perlesque: class Foo is Bar { has string $slot1; my $f=Foo.new(); method la { say("slot1 is: "~this.get_Bar_f().slot1); say($f~this.tra()); say("slot1 is: "~this.get_Bar_f().slot1) } }; class Bar { my $f=Foo.new(); method baz { $f.slot1="heehee" }; method get_Bar_f(-->Foo){return $f}; method tra(-->string){this.baz(); return "oopsie"}}; Foo.new().la() 01:10
p6eval perlesque: OUTPUT«slot1 is: ␤Foooopsie␤slot1 is: heehee␤»
diakopter har. not readable
(and yes I know the attribute declaration syntax is not correct)
dalek rixel: 072d593 | diakopter++ | / (6 files):
fix attribute syntax so it's a *little* closer to spec
01:14
diakopter there, a little better:
perlesque: class Foo is Bar { has string $!slot1; my $f=Foo.new(); method la { say("slot1 is: "~this.get_Bar_f()!slot1); say($f~this.tra()); say("slot1 is: "~this.get_Bar_f()!slot1) } }; class Bar { my $f=Foo.new(); method baz { $f!slot1="heehee" }; method get_Bar_f(-->Foo){return $f}; method tra(-->string){this.baz(); return "oopsie"}}; Foo.new().la() 01:15
p6eval perlesque: OUTPUT«slot1 is: ␤Foooopsie␤slot1 is: heehee␤»
diakopter I dunno how to deal with "private" field access on an object other than on "this"
sorear: do you know? 01:16
masak? anyone?
sorear ldfld?
diakopter no, I mean p6 syntax
pmurias ldfld?
sorear diakopter: $obj!field 01:17
pmurias is there a test suit for young perl 6 implementations?
diakopter ok.. so I'd have to store to a tmp var instead of this? (ewww) this.get_Bar_f()!slot1
sorear diakopter: that will work too
diakopter oh good :) 01:18
diakopter tries it out on std
sorear pmurias: this is why niecza has its own test suite.... you might be able to use the early parts as is
sorear is researching filesystems
pmurias there are sanity tests
mu/t/01-sanity 01:19
where can i find early revisions of pugs? 01:21
diakopter heh
dalek rixel: 445c781 | diakopter++ | / (6 files):
argh. rename 'this' to 'self' globally; /me dumb, for the 90th time at least.
01:24
01:24 takadonet joined
takadonet yo 01:25
pmurias would anybody else besides me have a use for a simplified tests suit? (having simple tests for very basic functionality)?
diakopter there we go
pmurias diakopter: ?
diakopter pmurias: sure, me
"there we go" referred to 445c781 01:26
pmurias diakopter: perlesque requires type info on things?
diakopter technically, yeah, but in reality it infers types on declarations. but if you want a variable to be "wider" than its initializing expression, you can denote the wider type 01:27
technically, meaning, "to conform to spec" ;)
pmurias i can also reuse tests from mildew 01:28
sleep&
diakopter in other words, the subset of p6 that is perlesque requires type annotations on all declarations of lexicals and routine signatures. but a hidden "easter egg" feature is that it can infer types. ;) 01:29
01:29 pmurias left
diakopter (which isn't to spec, since those would normally be much wider, like Any or Cool or Mu or whatever they do these days 01:29
01:33 risou joined 01:37 MayDaniel left
sorear diakopter: is it possible in .net to use a single code path for all kinds of file system objects, or am I stuck doing Directory.Exists(str) ? Directory.GetCreationTime(str) : File.GetCreationTime(str) 01:37
lue are @x[1][1] and @a[1;1] equivalent expressions? 01:38
TimToady with those particular values they are, but [][] can't deal with multidimensionality 01:40
well, I oversimplify
[][] cannot express multidimensionality; it can only deref one dimension at a time 01:41
you can write @a[ ||@hyperslice ] which has implied ;'s in it
lue rakudo: my @a = [1,2],[3,4]; say @a[1][1]; say @a[1;1] 01:42
p6eval rakudo e7e9d5: OUTPUT«4␤3 4␤»
lue bug?
TimToady sure looks like, but rakudo does almost none of S09 yet
is probably evalating 1;1 as a statement list and getting 1 01:43
takadonet yet 01:44
TimToady *u
rakudo: my @a = [1,2],[3,4]; say @a[42;1] 01:45
p6eval rakudo e7e9d5: OUTPUT«3 4␤»
TimToady sometimes the answer to LUE is meaningless :)
lue rakudo: 42?; 01:47
p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Confused at line 22, near "42?;"␤»
TimToady sorear: you can't combine $x with Parcel($x) if that's the distinction you need to dispatch infix:<=> correctly to item vs listy container; druther say that they are distinct but that items can behave like parcels at need 01:51
or are you thinking of distinguishing $x= from ($x)= some other way? 01:53
(not distinguishing them is, I think, not acceptable to the Perl 5 brane, which I have one of) 01:54
01:55 paroxyzm left
diakopter perlesque: my @a = [[1,2],[3,4]]; say(@a[1][1]); 01:55
p6eval perlesque: OUTPUT«4␤»
diakopter perlesque: my @a = [[1,2],[3,4]]; say(@a[1][1]); say(@a[1;1]); 01:57
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.ArgumentException: Index count mismatch␤ at sprixel.Operands.ArrayAccess..ctor (sprixel.Operand array, sprixel.Operand[] indexes) [0x00000] in <filename unknown>:0 ␤ at sprixel.Operand.get_Item (sprixel.Operand[] indexes) [0x00000] in <filename
..unknow…
TimToady perlesque: my @a[2;2] = (1,2),(2,4); say @a[1][1]; say @a[1;1] 01:58
p6eval perlesque: OUTPUT«unhandled node type: <invalid>␤Statement_list 1␤ Statement_list 2␤ Sub_declaration 3␤ IDENT say␤ Statement_list 1␤ Statement_list 1␤ Infix_expr 1␤ Infix_expr 1␤ Infix_expr 1␤ Infix_expr 1␤ Infix_expr 1␤ Infix_expr 1␤
..Tail_exp…
diakopter I think I can make that work
01:58 GinoMan left
diakopter there's no list context 01:58
perlesque: my int @a[2;2]; @a = [[1,2],[3,4]]; say(@a[1;1]) 02:00
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.InvalidCastException: Cannot convert type from 'System.Int32[][]' to 'System.Int32[,]'␤ at sprixel.Conversion+Invalid.Emit (sprixel.CodeGen g, System.Type from, System.Type to) [0x00000] in <filename unknown>:0 ␤ at sprixel.CodeGen.Convert
..(sprixel.Op…
02:01 noganex_ joined
diakopter no list context, meaning only the [] work 02:01
02:01 _jaldhar joined
diakopter I can get the accessor to work, but maybe not the decomposing setter 02:02
02:02 jaldhar left
diakopter well, maybe 02:02
02:04 noganex left
diakopter given that perlesque is generally intended to be an intermediate representation and a language in which to write a bootstrapping compiler framework, such literals (such as one might find in one-off scripts or stand-alone programs) aren't expected to be a common case 02:06
TimToady 1 way to write something is probably sufficient in that case 02:07
diakopter perlesque: my int @a[2;2]; @a[0;0]=1;@a[0;1]=2;@a[1;0]=3;@a[1;1]=4; say(@a[1;1])
p6eval perlesque: OUTPUT«4␤»
diakopter there's the way :)
actually there is a blockcopy routine that one can use from a flat array... 02:08
since the multidim array is stored flat anyway...
perlesque: my long @a[2;2]; @a[0;0]=1;@a[0;1]=2;@a[1;0]=3;@a[1;1]=4; say(@a[1;1])
p6eval perlesque: OUTPUT«4␤»
diakopter perlesque: my decimal @a[2;2]; @a[0;0]=1;@a[0;1]=2;@a[1;0]=3;@a[1;1]=4; say(@a[1;1]) 02:09
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidProgramException: Invalid IL code in t:Exec (): IL_003d: ldelema 0x01000004␤␤␤ at sprixel.FrameBase.Run () [0x00000] in <filename
..unkno…
diakopter oo interesting; runsharp bug
02:09 risou left
diakopter perlesque: my decimal $a = 4; say($a.GetType) 02:10
p6eval perlesque: OUTPUT«System.Decimal␤»
diakopter perlesque: my decimal128 $a = 4; say($a.GetType) 02:11
p6eval perlesque: OUTPUT«␤Unhandled Exception: System.Exception: could not resolve type decimal128␤ at sprixel.Env.ResolveType (System.String typeName) [0x00000] in <filename unknown>:0 ␤ at sprixel.perlesqueParser.emitCode (sprixel.Env e, Antlr.Runtime.Tree.CommonTree node,
..Antlr.Runtime.Tree.CommonTree…
diakopter heh
02:11 risou joined
lue blog post! rdstar.wordpress.com/2011/01/09/or...-camelias/ 02:16
afk
diakopter TimToady: now that perlesque has 1. classes with single inheritance (from clr builtin types or perlesque-declared types), 2. method & attribute signatures that can refer to other perlesque classes, 3. recursive method invocations incorporated into the ("stackless") trampoline, 4. typed (multidim) arrays, and 5. recursive/nested eval EXPR, it's *finally* ready to accept highly desugared p5 code 02:19
Cursor, and translated from STD
02:20 redicaps joined
TimToady \o/ 02:20
diakopter I guess what I'm asking is, how can I help provide use cases/tests for STD_P5 :) 02:21
a leading question if ever I saw one
TimToady Your leading question balances out my trailing answer rather nicely. 02:22
diakopter hrm 02:24
anyone have comments on host04.appflux.net/STD.pm6.simple.html before I link it from perl6.org/compilers/std-viv ? 02:25
TimToady the bold/normal distinctions kinda bother me 02:31
diakopter how should they be adjusted/removed? 02:32
02:33 13WAAYULM left
diakopter seems like it's bolding comments, variable names, and sigils 02:33
TimToady and normal methods, but not <.methods>
diakopter oh, hm, this is weird
search for backslash:oldbackref 02:34
must be a mis-parse
TimToady something wierd on push @nibbles too 02:35
one of the pushes is bold
diakopter which browser are you using 02:36
TimToady ff
diakopter odd; both chrome and ff have oldbackref in blue
I mean
sec
TimToady in the particular fonts I'm using, I rather everything was bold
the non-bold is hard to read 02:37
and the colors disappear-ish
diakopter backslash before oldbackref is marked "_scalar"
whereas backslash before the others is marked "regex_declarator" 02:38
02:38 HarryS joined, HarryS left, HarryS joined
TimToady I've always thought that highlighter was a bit...suboptimal 02:38
diakopter mebbe we should verify it's not a bug in std... 02:39
TimToady I'd think sorear++ would have found it if so
02:39 shi left
diakopter but oldbackref ff. are error paths 02:41
(so maybe std is failing to parse something that token line, and it's falling back to some kind of scaler 02:42
scalar
TimToady Herestub.new is also strange in the pair list
diakopter adds some tracing to the hiliter 02:44
TimToady something wrong in the token comment: area too 02:45
the highlighter seems to keep some state that is unrelated to the actual context, and gets out of sync, rather than relying on the stack of outer contexts, I think 02:47
iirc
diakopter looks at redspans_traverse
TimToady wanders off for a bit 02:49
diakopter oh wait
this is TimToady code
02:57 yarp joined 03:17 hacknperl joined, envi joined 03:45 yarp left 03:47 Sarten-X left, ashleydev joined
takadonet quiet night... 03:57
04:05 yarp joined
sorear TimToady: actually, it's more a case of me wanting ($x) and ($x,) to be the same 04:11
04:16 flatwhatson_ left 04:18 orafu left 04:20 orafu joined 04:24 Su-Shee left 04:28 Su-Shee joined 04:35 yarp left 04:39 lopaway is now known as lopnor
takadonet rakudo: my $x= ' '; $x ~~ s:g/ /\\s/; say $x; 04:45
p6eval rakudo e7e9d5: OUTPUT«\s \s␤»
TimToady er... 04:49
I see what happened, but it should've been a compile error
std: my $x= ' '; $x ~~ s:g/ /\\s/; say $x; 04:50
p6eval std 625303c: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/RpxVpfZ42U line 1:␤------> my $x= ' '; $x ~~ s:g/ ⏏/\\s/; say $x;␤ expecting quantifier␤Parse failed␤FAILED 00:01 123m␤»
takadonet indeed 04:52
it's the :g flag that mucking it up
TimToady no, it's working exactly as it ought to, if it really were matching a null string 04:53
takadonet ic
TimToady rakudo: my $x= ' '; $x ~~ s:g/ ' ' /\\s/; say $x; 04:54
p6eval rakudo e7e9d5: OUTPUT«\s␤»
TimToady rakudo: my $x= ' '; $x ~~ s:g/ '' /\\s/; say $x;
p6eval rakudo e7e9d5: OUTPUT«\s \s␤»
takadonet well i already changed my p5 code that i'm ported to my workaround.... 04:55
fix it later
04:56 lopnor is now known as lopaway 04:58 risou left 05:04 icwiener joined 05:11 takadonet left 05:27 ashleydev left 05:33 ashleydev joined 05:34 gbacon left 05:52 ashleydev left 05:53 lopaway is now known as lopnor 06:00 yarp joined
diakopter TimToady: I reduced it to a minimal test case (that causes "b" to be marked a "_scalar" instead of "regex_declarator").. I realize it's not very sensical, but it parses: $<l>; token b { . } 06:04
I suspect something is not actually descending into the <l> 06:05
06:08 Eimantas joined
diakopter oh, I think I found the bug 06:10
06:16 justatheory left
diakopter o_O 06:16
brane gymnastics are a good use of saturday evening
diakopter tests the fix on the full STD.pm6 06:18
closer, hm... /me keeps at it 06:22
06:24 coldhead left
diakopter :/ 06:27
redicaps perl6: @a=<5 4 2>; my :($f, *@r) := \(|@a); say $f.perl
p6eval niecza v1-111-g2e66cf1: OUTPUT«===SORRY!===␤Variable @a is not predeclared at /tmp/XsvUGQwG56 line 1:␤------> @a⏏=<5 4 2>; my :($f, *@r) := \(|@a); say $␤Malformed my at /tmp/XsvUGQwG56 line 1:␤------> @a=<5 4 2>; my ⏏:($f, *@r) := \(|@a); say
..$f.perl␤ e…
..pugs: OUTPUT«*** ␤ Unexpected "=<"␤ expecting "::"␤ Variable "@a" requires predeclaration or explicit package name␤ at /tmp/IDRSHCdlv9 line 1, column 3␤»
..rakudo e7e9d5: OUTPUT«===SORRY!===␤Malformed my at line 22, near ":($f, *@r)"␤»
redicaps rakudo: my @a=<5 4 2>; my :($f, *@r) := \(|@a); say $f.perl 06:29
p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Malformed my at line 22, near ":($f, *@r)"␤»
redicaps Hi perl6er, this code is taken from the latest Using-Perl-6 book, which breaks in rakudo 06:30
TimToady std: @a=<5 4 2>; my :($f, *@r) := \(|@a); say $f.perl 06:31
p6eval std 625303c: OUTPUT«===SORRY!===␤Variable @a is not predeclared at /tmp/nnBPgAkd94 line 1:␤------> @a⏏=<5 4 2>; my :($f, *@r) := \(|@a); say $␤Malformed my at /tmp/nnBPgAkd94 line 1:␤------> @a=<5 4 2>; my ⏏:($f, *@r) := \(|@a); say $f.perl␤
.. e…
TimToady std: @a=<5 4 2>; my ($f, *@r) := \(|@a); say $f.perl
p6eval std 625303c: OUTPUT«===SORRY!===␤Variable @a is not predeclared at /tmp/VQaVb3rOo5 line 1:␤------> @a⏏=<5 4 2>; my ($f, *@r) := \(|@a); say $f␤Variable @a is not predeclared at /tmp/VQaVb3rOo5 line 1:␤------> @a=<5 4 2>; my ($f, *@r) := \(|@a⏏);
..say …
TimToady std: @a=<5 4 2>; my :($f, *@r) := \(|@r); say $f.perl
p6eval std 625303c: OUTPUT«===SORRY!===␤Variable @a is not predeclared at /tmp/N0ZdbYj7Zz line 1:␤------> @a⏏=<5 4 2>; my :($f, *@r) := \(|@r); say $␤Malformed my at /tmp/N0ZdbYj7Zz line 1:␤------> @a=<5 4 2>; my ⏏:($f, *@r) := \(|@r); say $f.perl␤
.. e…
TimToady std: my @a=<5 4 2>; my ($f, *@r) := \(|@a); say $f.perl
p6eval std 625303c: OUTPUT«ok 00:01 124m␤»
TimToady perl6: my @a=<5 4 2>; my ($f, *@r) := \(|@a); say $f.perl 06:32
p6eval niecza v1-111-g2e66cf1: OUTPUT«===SORRY!===␤Action method capture not yet implemented at /home/p6eval/niecza/src/Niecza/Actions.pm line 55.␤Action method capterm not yet implemented at /home/p6eval/niecza/src/Niecza/Actions.pm line 55.␤invalid undef here at
../home/p6eval/niecza/src/Niecza/Action…
..pugs: OUTPUT«*** Wrong number of binding parameters: 1 actual, 2 expected␤ at /tmp/P6KzQBqqoh line 1, column 16-38␤»
..rakudo e7e9d5: OUTPUT«\(\("5", "4", "2"))␤»
TimToady perl6: my @a=<5 4 2>; my :($f, *@r) := \(|@a); say $f.perl
p6eval pugs: OUTPUT«*** Wrong number of binding parameters: 1 actual, 2 expected␤ at /tmp/RGC4v1i77i line 1, column 16-39␤»
..rakudo e7e9d5: OUTPUT«===SORRY!===␤Malformed my at line 22, near ":($f, *@r)"␤»
..niecza v1-111-g2e66cf1: OUTPUT«===SORRY!===␤Malformed my at /tmp/tXxmjpsgVT line 1:␤------> my @a=<5 4 2>; my ⏏:($f, *@r) := \(|@a); say $f.perl␤ expecting scoped declarator␤Parse failed␤»
redicaps rakudo: my @a=<5 4 2>; my ($f, *@r) := \(|@a); say $f.perl 06:33
p6eval rakudo e7e9d5: OUTPUT«\(\("5", "4", "2"))␤»
TimToady perl6: my @a=<5 4 2>; my ($f, *@r) := |@a; say $f.perl
p6eval niecza v1-111-g2e66cf1: OUTPUT«Illegal use of Op::SimpleParcel in bvalue context at /home/p6eval/niecza/src/Op.pm line 40␤ Op::code_bvalue('Op::SimpleParcel=HASH(0x79ce5e0)', 'Metamodel::StaticSub=HASH(0x7944a98)', 0, 'CgOpNode=ARRAY(0x7c829c0)') called at /home/p6eval/niecza/src/Op.pm line
..714␤ Op::Bind::code('…
..rakudo e7e9d5: OUTPUT«\("5", "4", "2")␤»
..pugs: OUTPUT«*** Wrong number of binding parameters: 1 actual, 2 expected␤ at /tmp/GOPC0Z8i3t line 1, column 16-35␤»
TimToady looks like rakudo has it right 06:34
you don't need the double capture
redicaps What the code want in the book is to put first element in @a to $first, and others to @rest, but what we get here in $first is a capture 06:35
TimToady because of the extra \
use what I wrote last
the book is wrong there 06:36
06:37 coldhead joined
redicaps rakudo: my @a=<5 4 2>; my ($f, *@r) := @a; say $f.perl 06:38
p6eval rakudo e7e9d5: OUTPUT«["5", "4", "2"]␤»
TimToady you need the | to insert @a as more than one arg 06:39
redicaps rakudo: my @a=<5 4 2>; my ($f, *@r) := |@a; say $f.perl
p6eval rakudo e7e9d5: OUTPUT«\("5", "4", "2")␤»
redicaps but the out put is still a list here?
I am expecting just a 5 06:40
TimToady hmm
perl6: my @a = <5 4 2>; my ($f, *@r) = |@a; say $f.perl 06:41
p6eval rakudo e7e9d5: OUTPUT«\("5", "4", "2")␤»
..pugs: OUTPUT«\"5"␤»
..niecza v1-111-g2e66cf1: OUTPUT«␤Unhandled Exception: System.Exception: Unable to find lexical &prefix:<|> in mainline␤ at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0 ␤ at
..Niecza.CLRBackend.NamProcessor.RawAccessLex (Syste…
TimToady pugs: my @a = <5 4 2>; my ($f, *@r) := |@a; say $f.perl 06:42
p6eval pugs: OUTPUT«*** Wrong number of binding parameters: 1 actual, 2 expected␤ at /tmp/lhmnyUXyh_ line 1, column 18-37␤»
TimToady pugs: my @a = <5 4 2>; say @a.elems
p6eval pugs: OUTPUT«3␤»
TimToady strange
sorear I guess pugs is interpreting the RHS as an expression, not an argument list 06:43
redicaps TimToady: what should be the right syntax here?
TimToady dunno
rakudo: my @a = <5 4 2>; my ($f, *@r) := |@a; say $f.perl 06:44
p6eval rakudo e7e9d5: OUTPUT«\("5", "4", "2")␤»
dalek ecza: b56c97d | sorear++ | / (2 files):
[v6] Fill in path-manip methods
TimToady rakudo: my @a = <5 4 2>; my ($f, *@r) := (|@a); say $f.perl
p6eval rakudo e7e9d5: OUTPUT«\("5", "4", "2")␤»
TimToady rakudo: my @a = <5 4 2>; my ($f, *@r) ::= (|@a); say $f.perl 06:46
p6eval rakudo e7e9d5: OUTPUT«Any␤»
TimToady rakudo: my @a = <5 4 2>; my $f; my @r; :($f, *@r) := |@a; say $f.perl 06:47
p6eval rakudo e7e9d5: OUTPUT«Any␤»
TimToady rakudo: my @a = <5 4 2>; my ($f, *@r) := |(|@a); say $f.perl 06:48
p6eval rakudo e7e9d5: OUTPUT«\("5", "4", "2")␤» 06:49
TimToady bizarre
rakudo: my @a = <5 4 2>; my ($f, *@r) := |@a.list; say $f.perl
p6eval rakudo e7e9d5: OUTPUT«\("5", "4", "2")␤»
06:50 lopnor is now known as lopaway 07:00 Eimantas left 07:12 icwiener left 07:16 lopaway is now known as lopnor
sorear makes total sense to *me* 07:17
07:30 prabuinet joined
prabuinet i'm getting error when running rakudo on windows , "could not load oplib `perl6_ops`" , 07:31
anybody have a solution?
hi 07:37
sorear that's usually caused by incorrect installation 07:47
hi 07:48
and welcome to #perl6
prabuinet sorear, what to do?
sorear prabuinet: read the documentation carefully, see what you did wrong
not knowing what exactly you did, I can't guess myself
prabuinet sorear, i just installed the msi 07:49
sorear ok, that's out of my domain
which msi?
prabuinet from sourceforge 07:50
sorear which msi from sourceforge?
prabuinet first this : sourceforge.net/projects/parrotwin3...e/download
sorear I don't know what it is about newbies always coming in the 4-hour window when both sides of the Atlantic are asleep 07:51
prabuinet and next : sourceforge.net/projects/parrotwin3...o%20addon/
hmm..
08:12 kjeldahl joined 08:24 redicaps1 joined, redicaps left 08:33 prabuinet left 08:36 kaare_ joined 08:43 Guest98012 joined
coldhead any advice on getting my IP unbanned from rakudo.org ? 08:45
lopnor i'm banned too. 08:47
i don't do any spamming on rakudo.org :) 08:48
coldhead that'll teach us not to do whatever we did
lopnor stop developing on perl6?
08:49 teee joined 08:50 Guest98012 left
lopnor noway? 08:55
08:55 molaf joined
sorear coldhead: email the webmaster 08:56
coldhead email? what is this, the 80s?
sorear lopnor: email the webmaster
coldhead i will, thanks
lopnor do you know the address?
sorear you're looking for Andy Lester 08:57
he drops by here very infrequently
can either of you access betterthangrep.com? 08:58
coldhead andy splat rakudo.org 08:59
yeah i get that domain fine
cotto jnthn, it's good to finally see another blog post
sorear Let us all shame lopnor, who is pming me when it's quite obvious that coldhead needs the same answers
lopnor either wants to force me to reply twice, or does not care 09:00
lopnor sorry,
sorear: i apologize to you about my bad mannar. 09:01
it was so serious thing to unban me from rakudo.org. 09:02
coldhead everything is going to be okay, lopnor 09:03
lopnor coldhead: thank you, and i'm sorry about it.
sorear lopnor: can you explain exactly in what way you are "banned"? I'm curious 09:05
coldhead oh good, the email address listed on the site doesn't receive mail 09:06
sorear complaining about rakudo.org's lack of stability is a popular sport here. We don't have a lot of control over its administration
lopnor i'm seeing gyazo.com/79074ddeb143fd7234bc5d5f9cd8bd3c.png 09:07
a screen capture.
sorear andy splat petdance.com doesn't get mail?
coldhead i'll try that 09:08
lopnor sorear: sent email to andy. thank you. 09:13
09:23 arlinius left
teee sometimes i'd been banned when surffing in the cybercafe... 09:26
maybe use webproxy?
lopnor teee: i'm currently using no proxy. 09:27
teee i meant,connecting by a proxy,and maybe it might been saw? 09:32
lopnor ah, i see. 09:34
09:39 snearch joined 09:44 yarp left 09:48 flatwhatson_ joined
moritz_ good morning zebras 09:52
09:57 Vlavv` left
tadzik morning moritz 10:00
sorear hi moritz_
diakopter hi
moritz_ rakudo: my $a = *; $a = "foo"; say $a 10:05
p6eval rakudo e7e9d5: OUTPUT«Whatever()<0x9d98628>␤»
moritz_ (known bug, just curious if it still persists) 10:06
rakudo: my $a = *; $a := "foo"; say $a
p6eval rakudo e7e9d5: OUTPUT«foo␤»
10:09 redicaps1 left
Su-Shee good morning everyone. :) 10:10
10:11 skangas left 10:13 redicaps joined 10:17 lopnor is now known as lopaway
moritz_ Su-Shee++ # two nice blog posts on perl perception 10:17
Su-Shee thanks. :) 10:18
tadzik Su-Shee: o/ 10:19
10:22 roen joined 10:26 lopaway is now known as lopnor 10:31 Vlavv joined
coldhead this suddenly you're hip article is fascinating, thanks for pointing it out 10:31
Su-Shee you now move to vim? ;) 10:32
coldhead haha, no i feel smug about already using vim
Su-Shee *hihi* :) 10:33
though I've just realized another thing: a catalyst developer commented that he actually made a screencast and got no feedback about it. I think it's also important to actually promote and present each other to spread perl in general. and I also like to get back all the developers who deep down in their hearts never really left Perl and still have an eye on Perl 6 for example. 10:35
(which btw was nicely present during december on hackernews and reddit thanks to the controversies about some advent calendar articles :)
moritz_ Su-Shee: to be fair, the title of the screencast wasn't very appealing 10:36
Su-Shee: but I agree that we should promote perl stuff
Su-Shee yeah I think we have to cut it some slack as long as the _content_ is good/well done/useful
I still have serious problems to even wrap my head around screencasts which aren't about "how to click this ultra complex move in blender".. 10:37
but well.. I just have to sell it - not buy it. ;) 10:38
moritz_ doesn't "get" screencasts either 10:40
Su-Shee I also don't get "funny" documentation, cute pictures in it and the like.. I'm a boring "Oh, I liked Stevens very much" all the way.. 10:41
moritz_ Su-Shee: did you like "Programming Perl"? 10:42
Su-Shee yes. because it's the _right_ amount of dense, precise information and a joke here and there.
moritz_ I liked it very much, because the fun was related to the topic, and it didn't sacrificy usefulness to the fun
10:42 roen left
Su-Shee exactly. 10:43
even stevens has a mild acadamic chuckle here and there.
moritz_ rakudo: my $x = 1 // *; say $x.perl 10:44
p6eval rakudo e7e9d5: OUTPUT«{ ... }␤»
Su-Shee moritz_: I take boredom over fun every time for depths and breadth of information.
10:44 zby_home_ joined
moritz_ rakudo: enum A <b c d e>; .say for A.pick(3) 10:47
p6eval rakudo e7e9d5: OUTPUT«d 2␤b 0␤c 1␤»
10:50 jhuni left 10:52 kanishka joined 11:04 MayDaniel joined 11:05 sunnavy left, sunnavy joined
dalek ast: d5e42b6 | moritz++ | S32-list/pick.t:
tests for RT #76238, Bool.pick (and SomeEnum.pick)
11:06
Su-Shee *lol* ruby blog quotes matz: "But when we relase Ruby 2.0 is not decided. I think it takes several years" comment: Yes, several years. Ruby 2.0 is our Perl 6. so I'd say that's a shiny quote. "If ruby 2 can take several years, we can too." 11:08
11:09 mj41 left, [sbp] left, apejens left, arlinius| left, literal left, fhelmberger left, mkramer left, drbean left, Khisanth left, larsen left, Tene left
moritz_ just imagine how long we'll have to wait for Ruby 6 :-) 11:11
11:11 fhelmberger joined, mkramer joined, drbean joined, Khisanth joined, larsen joined, Tene joined
jnthn o/, #perl6 11:11
11:11 mj41 joined, apejens joined, [sbp] joined, arlinius| joined, literal joined 11:12 kjeldahl left, kjeldahl joined 11:13 Chillance joined
Su-Shee moritz_: I'd say the new quote is": "Perl 6 is our Ruby 2.0" ;) 11:14
11:25 timbunce joined 11:29 masak joined
masak oh hai #perl6 \o/ 11:29
jnthn yayitsmasak! 11:35
11:36 pmurias joined 11:38 teee left
masak is in a Perl hacking mood today o/ 11:39
jnthn \o/ 11:41
11:46 noganex joined 11:48 timbunce_ joined 11:50 noganex_ left 11:51 timbunce left, timbunce_ is now known as timbunce 11:53 lopnor is now known as lopaway
dalek p-rx/nom: 940a00d | jonathan++ | src/metamodel/rakudoobject. (2 files):
Bring over the latest S-Table bits. This stubs in some bits for method cache and type check support.
12:26
p-rx/nom: 5b23dc9 | jonathan++ | src/ (3 files):
type_check op and initial port of the type checking logic.
masak does cpanm have an IRC channel? 12:31
moritz_ did you try #cpanm or #cpanminus on irc.perl.org? 12:33
if not, probably #toolchain (though I don't know if the author hangs out there) 12:34
12:35 Fredrek__J joined
Fredrek__J helo ppl, What does the exclamation mark (!) in "has Task @!dependencies;" in a class definition mean? is it for negation, also in "push @!dependencies, $dependency;" 12:36
moritz_ it's a private attribute 12:37
it's a "twigil", ie a second sigil
Fredrek__J moritz_: So what's the difference between push @!dependencies and push @dependencies? 12:38
jnthn The first will access an attribute of the current class, the second refers to just a normal variable. 12:39
Generally, the twigil tells you something about the scope of the variable. 12:40
tadzik is self.@attributes also possible?
jnthn No
tadzik that's for methods only? 12:41
moritz_ tadzik: right
jnthn tadzik: Yes
has @.attributes; will give you an @!attributes attribute and also a method you could call as self.attributes
tadzik hmm. Can I visit #phasers on tuesday to talk about the module ecosystem progress? 12:42
moritz_ sure
12:42 Alias__ joined 12:43 agentzh joined 12:45 Alias_ left
dalek p-rx/nom: 5cefcab | jonathan++ | src/ops/nqp.ops:
Untested port of the type check and method cache publication ops.
12:46
masak moritz_: yes, I tried both those. 12:52
12:53 rgrau joined 12:54 yarp joined 13:01 Fredrek__J left, am0c joined 13:08 lichtkind joined
pmurias how should the test suit for fledgling perl 6 implementations be called? 13:09
lichtkind rakudo: my @a = 1..5; @a.shift(2); say @a;
p6eval rakudo e7e9d5: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in 'List::shift' at line 2841:CORE.setting␤ in main program body at line 22:/tmp/D1z1x4LhRo␤»
lichtkind why not gife shift a second optional parameter? 13:10
masak pmurias: sanity tests?
lichtkind: because .splice already does that?
lichtkind masak: with that argument we need no shift at all 13:11
masak lichtkind: because it's more pure from a model perspective to have one operation that returns an item at all times?
pmurias masak: sanity tests already exists
masak: and they are a bit adhoc
lichtkind masak: i think perl is not about purity :)
masak pmurias: common-sense, then? :) 13:12
moritz_ lichtkind: because there are enough primitives to easily do it, and it's not even used often enough to warrant such a non-orthongonal functionality
lichtkind you can also push severel items at once in a array
why not pop it too
masak lichtkind: Perl is not about ignoring purity either :)
lichtkind sounde more orthogonal to me
masak not to me.
moritz_ lichtkind: I guess you're the only one :-)
pmurias masak: maybe baby-roast? ;) 13:13
masak pmurias: that's a horrible name! o.O
lichtkind still thinks its a good idea
masak lichtkind: then I suggest you define a multi in your local scope.
lichtkind: or, if you're ambitious, create a module which exports such a multi. 13:14
lichtkind masak: you mean in rakudo?
masak no, I mean in your scripts and in the ecosystem, respectively.
lichtkind masak: i thought more of an optional parameter that defaults to 1
for you all nothing would change 13:15
masak lichtkind: you still don't get it, methinks.
lichtkind: of course a change in the semantics of &shift will have an effect on me down the line.
these changes are not to be made willy-nilly.
moritz_ you can combine ranges with subscripting
lichtkind of course thats why i post it 13:16
moritz_ @array[^2]:delete
masak moritz_++
moritz_ is what you propose as @array.shift(2)
snarkyboojum it's been discussed before - dev.perl.org/perl6/rfc/56.html
masak ooh
moritz_ so, you can combine :delete and ranges to get to it
lichtkind moritz_: do i get the deleted items as a return?
masak is it in any of the apocalypses, too?
lichtkind: yes. 13:17
moritz_ which is why it's not orthongonal
masak does :exist also take a range?
moritz_ doesn't make sense to me 13:18
dalek p-rx/nom: 997e41c | jonathan++ | src/ (2 files):
Merge remote branch 'origin/nomnom' into nom
p-rx/nom: f82129f | jonathan++ | src/HLL/Compiler.pm:
Add all attributes from PCT::HLLCompiler and also some commentary about the transition.
p-rx/nom: 239cac7 | jonathan++ | src/ (2 files):
Bring over initialization bits that used to be in PCT::HLLCompiler, plus some refactoring so we don't try and set attributes on a type object.
moritz_ [any 1..3]:exists
masak can see a case for disallowing that, and requiring explicit all() or any() junctions instead
moritz_ would make sense to me
or all()
masak right.
moritz_: let's spec that :P
jnthn colomon: Thanks for the work in the nomnom branch, just merged it into nom and continuing work on it there.
moritz_ masak: can you pleae do it? I've got some work here left... 13:19
masak moritz_: sure thing :)
moritz_ rakudo: say Date.new('2011-01-19') - Date.today # number of days until birth of $daughter
p6eval rakudo e7e9d5: OUTPUT«10␤» 13:20
tadzik \o/
moritz_++
oh rather: Baby.new but moritz_
masak heh 13:21
pmurias lichtkind: adding stuff that is not used often and can be accomplished by a different subroutine/method will only bloat the language
moritz_ it's more like class Ronja is Signe is Moritz { ... }
I guess she'll augment herself many times while growing up
masak Ronja is a nice name.
moritz_ thanks :-)
13:21 Alias joined
masak moritz_: guess you're familiar with the Astrid Lindgren connection. 13:22
moritz_ masak: sure
masak oh phew :)
13:23 Alias__ left
pmurias masak: i'll call the tests simple-tests 13:23
moritz_ Astrid Lindgren and James Krüss were my favorite authors as a child
pmurias: what about "cook"? it's one step less extreme than "roast" :-) 13:24
pmurias seems a bit rubyish
masak "simmer"
Su-Shee Kalle Blomquist!
snarkyboojum "steam"
masak "fry"
pmurias "warm up" 13:25
masak "pre-heat"
snarkyboojum "nuke"
lol - maybe not
masak snarkyboojum: I think we need to go over the rules. :)
snarkyboojum I was thinking "microwave" vs "annihilate" :)
tadzik closi 13:26
pmurias github.com/pmurias/simple-tests
tadzik pmurias: github.com/pmurias/simple-tests/bl...say-many.t -- shouldn't that be "o","k"," 1" or something? 13:30
pmurias tadzik: " 1" is optional 13:32
tadzik I see
pmurias how can i give commit rights to simple-tests to everyone in the perl6 group? 13:33
13:35 yarp left 13:37 shi joined 13:48 ilogger2 joined, ChanServ sets mode: +v ilogger2
moritz_ pmurias: the easiest way is that I fork it into the perl6 organization, and assign the 'perl6' group to it 13:52
pmurias: I don't think you can give permissions to teams from foreign organizations on github
pmurias: github.com/perl6/simple-tests with same permissions as roast, mu etc. 13:54
colomon jnthn: sorry I didn't really do anything useful there! Is there any LHF fruit in the new nom branch I could tackle? 13:55
masak hah! interesting! the spec as it stands currently is contradictory wrt what :exists on a many-item slice does. S02:2142 says it has all() semantics, but S03:3595 says it has any() semantics. :) 14:12
best argument I've seen yet for outlawing it and requiring explicitness. :)
masak makes it so
dalek p-rx/nom: a511a30 | jonathan++ | src/HLL/Compiler.pm:
Bring enough of PCT::HLLCompiler into HLL::Compiler that we can now run and get a prompt. Doesn't yet compile anything, but a step closer. Note that mostly this just wraps PIR bodies into an NQP wrapper; some would be very LHF to translate to NQP fully.
14:13
jnthn colomon: LHF ^^ :)
14:15 Kodi joined
masak hm, belay that. it's not as inconsistent as I thought. 14:18
S03 uses an explicit any() to get any() semantics. the array form usually has all() semantics. 14:19
so it's not an argument for outlawing it and requiring explicitness.
but I still think there's a reason to do so. 14:20
however, S03:3758 could be seen as corroborating the need for explicit marking. 14:21
reading the paragraphs surrounding S02:2415, the :exists form does stick out as being the only adverb that *doesn't* ignore non-existent indices. the "Likewise," on S02:2417 is even a bit of a non sequitur because of this. 14:25
colomon jnthn++ 14:26
14:31 nadim joined, Alias_ joined
dalek ecs: 3018ff2 | masak++ | S (3 files):
[S02] outlawed :exists on a list slice

People seem to have different expectations on whether the desugaring should be any(@slice) or all(@slice), so we require making it explicit. This also makes the code more readable and self-documenting.
14:40
14:41 Alias joined 14:42 Alias left, Alias_ left 14:43 Alias joined
jnthn colomon: Whee. I seem to have a working HLL::Compiler that doesn't depend on PCT::HLLCompiler. 14:54
masak \o/ 14:55
14:57 MayDaniel joined
dalek p-rx/nom: dafce7f | jonathan++ | src/HLL/Compiler.pm:
Port dumper from PCT::HLLCompiler to HLL::Compiler, translating to NQP along the way.
14:59
p-rx/nom: 492aa92 | jonathan++ | src/HLL/Compiler.pm:
Fix various thinkos, and remove the parse method grabbed from PCT::HLLCompiler, since it's overridden in the hll-compiler cheats anyway. This gets us through the build again, without depending on PCT::HLLCompiler.
ecs: e04fd48 | masak++ | S02-bits.pod:
[S02] added non-junction :exists example

Also un-forgot bumping the version.
15:01
15:04 roen joined
Kodi rakudo: eval "1" for 1, 2, 3; 15:05
p6eval rakudo e7e9d5: OUTPUT«Null PMC in copy␤ in 'eval' at line 1185:CORE.setting␤ in <anon> at line 22:/tmp/wZPKazlzXP␤ in main program body at line 1␤»
Kodi O.o
arnsholt Fun =)
15:06 xinming_ joined
arnsholt jnthn: What's the nom branch for, incidentally? 15:06
The name is a bit opaque to me =)
Kodi RT #77646, looks like.
15:07 Psyche^ joined, Psyche^ is now known as Patterner
tadzik arnsholt: new object model, iirc 15:08
arnsholt Ah, that makes sense =) 15:09
tadzik NOM NOM NOM
jnthn arnsholt: yup, new object model :) 15:15
arnsholt: Getting nqp-rx using 6model, basically
tadzik but isn't 6model in .NET? 15:19
15:19 jedai left 15:22 jedai joined
jnthn tadzik: 6model is a meta-model design. There's a .Net implementation of it, a Parrot implementation of it and a JVM implementation of it, all in various stages of completeness. 15:23
tadzik oh, I see
so you were just starting the implementation from .NET for easier profiling and stuff? 15:24
and to have Rakudo target .NET one day, of course
dalek p-rx/nom: 4c967a1 | jonathan++ | src/ (2 files):
Bring in the remaining missing methods from PCT::HLLCompiler.
15:26
p-rx/nom: 7e9d75b | jonathan++ | t/hll/0 (4 files):
A bunch of tests also relied on the ability to set attributes in a type object. D'oh. Corrected.
jnthn tadzik: Yes, those reasons and more.
tadzik: I worried that if I started out in Parrot I'd maybe be too weighed down with the way Parrot is rather than being able to focus on what I wanted things to look like. 15:27
tadzik that's a twisted sentence :) But I think I get it 15:29
jnthn wonders how on earth regex interpolation has got broken during the elimination of PCT::HLLCompiler. 15:31
oh, more of the type object attribute brain damage... 15:34
tadzik oh, parrot-nqp fails when I run it in nqp-rx/nom directory
jnthn hm 15:35
Who knows what versions of things it's finding :)
The nqp executable in there works for me, however.
dalek p-rx/nom: ca87742 | jonathan++ | src/Regex/P6Regex.pir:
Fix another case where the type object rather than an instance was being used and needing to store attributes. This gets the regex interpolation tests to run again, and things back to where they were before eliminating PCT::HLLCompiler.
15:37
colomon jnthn: \o/ 15:42
sorry to be in-and-out this morning, we had a houseguest. 15:43
15:44 roen left
jnthn colomon: No worries. :) 15:44
colomon sounds like you've made a lot of progress! (Haven't read the blog post yet.) 15:45
15:45 ashleydev joined
jnthn colomon: Blog post was mostly "oh hai I'm back" :) 15:47
colomon Looks like a long list of recent accomplishments and future plans. jnthn++ 15:49
jnthn colomon: Are you planning to work on nom "right now"? 15:50
If so, just want to make sure we don't conflict... :)
colomon I would love to pitch in and help, but unless you urgently need help, probably finishing my submissions to masak++'s contest and cleaning up my modules to conform to the new standards is a higher priority. 15:51
jnthn colomon: That's fine :)
There are a couple of places in Compiler.pm that I want to change right now, that's all :) 15:52
colomon go for it!
I'll focus on more cases for p4, and maybe dealing with that poopy diaper I'm smelling. :) 15:53
15:56 risou joined
colomon diaper dealt with! ;) 16:10
masak \o/
"I repeat: the diaper situation is contained." 16:11
colomon it's extra tricky when you cannot pick up the child. stupid surgery recovery weight restrictions.
16:12 xinming_ is now known as xinming
dalek p-rx/nom: 3a05d0d | jonathan++ | src/NQP/ (2 files):
Add a class_6m package declarator so classes built using 6model can be tried out without introducing it everywhere just yet.
16:14
p-rx/nom: 2ac9555 | jonathan++ | src/HLL/Compiler.pm:
Turn proccess_args into NQP.
jnthn OK, The Plan is to gradually work towards every class being a class_6m. :) 16:16
dalek p-rx/nom: 25b6884 | jonathan++ | src/NQP/Actions.pm:
Fix compilation of inheritance. Seems to work just fine for class_6m-s now.
16:24
16:34 MayDaniel left 16:39 kaare_ joined 16:41 ashleydev left 16:47 ashleydev joined 17:01 Alias_ joined 17:02 takadonet joined 17:03 Alias left 17:04 Alias joined 17:07 Alias_ left 17:09 ashleydev left
dalek p-rx/nom: 0dbc62c | jonathan++ | src/NQP/Actions.pm:
Replace an (ab)use of .WHAT with smartmatching in the Actions.
17:14
17:15 takadonet left
dalek p-rx/nom: 6993926 | jonathan++ | src/stage0/ (3 files):
Update bootstrap to complete the elimination of PCT::HLLCompiler and to enable use of class_6m in NQP itself.
17:16
17:18 Axius joined 17:25 hacknperl joined, risou left 17:26 ashleydev joined 17:50 hacknperl left
dalek p-rx/nom: 8c92b8f | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
find_method should return null if there's no method available, not throw an exception.
17:57
p-rx/nom: c30d699 | jonathan++ | src/ (3 files):
Switch all of the Actions classes to use 6model rather than Parrot's OO (that's HLL::Actions, NQP::Actions, Regex::P6Regex::Actions and NQP::RegexActions). Seems to work out just fine, though it's an easy case: no instantiation, just method calls and single inheritance. But nice it works already!
18:08 Layla_91 joined
Layla_91 Hello, I hope you are all having good time here :D I am here with small question :D 18:08
tadzik hello again Layla_91 18:09
Layla_91 tadzik: hi! :D
I was reading learning perl pdf, at page 50 I read that type objects are undefined (which means they return false if you call the .defined method on them). then there is this example: my $obj=Int; If $obj.defined {say "type object";} else { say "defined object";} when I read it I got the impression that type objects are defined.. :S Any clarification please :) 18:10
tadzik rakudo: my $obj=Int; If $obj.defined {say "type object";} else { say "defined object";}
p6eval rakudo e7e9d5: OUTPUT«===SORRY!===␤Confused at line 22, near "If $obj.de"␤» 18:11
tadzik rakudo: my $obj=Int; if $obj.defined {say "type object";} else { say "defined object";}
p6eval rakudo e7e9d5: OUTPUT«defined object␤»
tadzik erm
Layla_91 tadzik: Aha?
tadzik Aha
jnthn I think those two branches are in the wrong order...
tadzik Also, I have no idea :) Whether it's a bug in the book, spec or rakudo 18:12
oh, right
jnthn rakudo: my $x = Int; say $x.defined
p6eval rakudo e7e9d5: OUTPUT«Bool::False␤»
tadzik pff
jnthn That is the correct answer
tadzik fixing the example
jnthn So I think error in the book
tadzik: You got book commit bit? :)
OK, cool. :)
Layla_91 So type objects should be undefined and that is just mistake in the book right? 18:13
18:13 icwiener joined
tadzik jnthn: I happen to, yes :) 18:14
Layla_91: ywis
dalek ok: e49d34a | tadzik++ | src/classes-and-objects.pod:
Fixed the Type.defined example in src/classes-and-objects.pod, Layla_91++
tadzik Layla_91: thanks for pointing this out
18:14 hudnix left
Layla_91 tadzik: ok now I will continue reading thank you tadzik I will be back :))) 18:15
tadzik I hope so :)
come back with more bugs :)
hmm, I remember having a few ideas about a new book chapters 18:16
Layla_91 tadzik: hihi... I hope there is no more bugs :) the tutorial is really sweet I enjoy reading it :)) and its free! 18:17
18:20 Layla_91 left
tadzik got it: irclog.perlgeek.de/perl6/2010-12-28#i_3126730 18:21
18:25 hudnix joined 18:29 GinoMan joined 18:32 ashleydev left 18:34 ashleydev joined 18:40 justatheory joined
sorear good * #perl6 18:41
Su-Shee two days wasted on a simple blog posting.. I think the Perl cliche will resist until 2023. 18:48
18:49 ashleydev left 18:59 jhuni joined, dual joined
masak Su-Shee++ # "wasting" two days on blog posting 19:03
Su-Shee masak: well this day got wasted by defending it on hackernews.. 19:04
I'm _so_ tired of this stupid perl write once cliche..
lue hello! o/ 19:05
Su-Shee: what Perl cliche? 19:06
colomon That perl is a "write only" language.
Su-Shee that perl is a write once language and you can't do anything powerful in it or a large projects jadajadajda
(and I don't mean the operator ;)
19:07 Axius left
tadzik Su-Shee: mind linking the discussion? 19:07
colomon People have a lot of daft opinions.
Su-Shee tadzik: news.ycombinator.com/item?id=2085276
Kodi . o O ( Jada, Perl 6 on the JVM )
colomon Or perhaps, a lot of people have daft opinions
Su-Shee Kodi: *hihi* :)
masak Su-Shee: I'm tired of it too.
tadzik I recently had a similar conversation with a buddy: „Hey watcha doing?” – „Mangling the module infrastructure for Perl 6” – „LOL Perl. There is Python now, you know” 19:08
Su-Shee masak: also I'm an idiot because I've tried to argue with people who - no matter what you say - will never look into something else but their ruby or python.
lue I predict... the cliche will die in 2038, when it single-handedly helps old computer deal with a timekeeping problem...
computer*s 19:09
Su-Shee tadzik: I usally say "come back when you've got a 850000 line project in <language x> which runs for 12 years straight. ;)
lue: *haha* I was thinking about that :)
masak Su-Shee: I sense your frustration is of exactly the same kind as when I tried to approach the Perl 5 community in November 2009.
Su-Shee: it was... interestingly excruciating.
plobsing funny. write once is considered a feature in java but a bug in perl
Su-Shee masak: luckily, even those hard nosed bitches changed their opinion. they got soft in terms of perl 6. ;) 19:10
masak plobsing: that's two homonyms, though.
sbp masak: what do you think the root of that experience was?
lue [ Python sucks if you want to program an NES emulator :) ]
sbp you'd use luæ for that?
masak plobsing: Java's is "you can run it anywhere you please", Perl's is "you can't read it once you've written it"
19:10 Layla_91 joined
plobsing perl runs in many places too 19:11
masak sbp: I don't exactly know what you're asking for. I later adopted a personal theory of "weaving stories" to explain both sides to myself.
19:11 onwijzehenk joined
lue I always take the "looks the same before and after encryption" joke as a compliment. That's a very difficult thing to do. 19:11
19:11 takadonet joined
sbp masak: specifically why you think the situation, the reception you got from the perl5 crowd, was so. would also be interested to hear the stories, links to existing writeups etc. 19:12
masak sbp: strangelyconsistent.org/blog/how-pe...ill-us-all
Su-Shee well I've learned in my job that ugly written usally isn't really a problem - but really bad architecture for example is. not even a weird API is as bad.
sbp thanks very much!
Su-Shee masak: ah that posting. I remember. those times are over. 19:13
Layla_91 tadzik: how can I register my nickname here?... (I forgot that command :( ) sorry I know it is a non perl6 question..
Su-Shee Layla_91: you have to register it with freenode. 19:14
tadzik Layla_91: msg nickserv help register, I think
jnthn Su-Shee: Oh, snap. Just about all the clients I have who have problems have them as a result of crappy architecture, not individual bits of code being unreadable.
masak Su-Shee: yes, those times are mostly over.
tadzik bah, diem perdidi :( Being sick is not nice
. o O (where is that picture of mine) 19:15
i.imgur.com/pqT11.png
ha-ha :) 19:16
19:16 onwijzehenk left
Su-Shee jnthn: I've actually wrote a couple of experiments to make sure that I don't confuse shitty architecture with a weird API - but even a weird API is just that.. weird.. 19:16
masak sbp: in summary: the Perl 6 community was behaving like a little mosquito saying "we're the only rightful heirs of Perl", and many Perl 5 community members were instinctively rejecting that picture. it was, in many senses, a collision course. one which wouldn't have led to anything good.
lue I think all problems people still have with Perl 6 can be solved by renaming it, because the 6 is what gets them started. Problems: a renaming will never happen :) 19:17
sbp “Perl 5 replaced Perl 4, which replaced Perl 3, etc. Perl 6 lambdacamels don't think much about this, but Perl 5 folks fielding questions from outsiders about Perl 6 sure do.” — chuckle 19:18
Kodi I'm pro-renaming, too.
Su-Shee lue: not necessary anymore. 19:19
sbp Perl Star
Kodi Perlambda.
Su-Shee and as this _great_ code example of COBOL versus Cobol90 showed: we don't have to worry about that anymore.. :)
sorear rakudo: say time.WHAT
p6eval rakudo e7e9d5: OUTPUT«Int()␤»
sbp Perl Star would suck up all the remaining numbers :-)
masak sbp: the cold war erupted due to just such a meeting. a certain emma first visited #perl (on irc.perl.org) and then #perl6. 19:20
sbp yeah, I saw the mention of the name in that piece
masak I'm firmly anti-renaming, for practical reasons.
Su-Shee I'm against renaming as well unless you call it "pinkdaisy the butterfly language" 19:21
Kodi Well, yeah, it's probably too late at this point, well after the initial release of Rakudo *.
colomon On the other hand, it might be a quick way to sidestep the existing anti-Perl bias. :)
tadzik I won't be so sure
Su-Shee colomon: the bias isn't really about 5 & 6 anymore - it's about write-once cliches (5) and the duke nukem meme (6)
sbp I don't support renaming either because I believe in the Perl 6 story
19:22 Layla_91 left, fhelmberger joined
masak I "believe" in both the Perl 5 and the Perl 6 stories. 19:22
moritz_ doesn't see any point in discussing renaming unless we have a good name to rename to
masak and I believe that having both stories is ultimately a good thing.
tadzik when I was giving a Parrot talk on a local LUG some time ago, before I even started people started joking "oh, the Perl is readable now or something?"
Su-Shee yeah, everyone does.
sbp looks at mst's post too 19:23
masak doesn't see any point in discussing renaming to anything unless renaming is an option :)
BinGOs "Ignorance, you don't know the meaning of the word"
Su-Shee moritz_: you don't like "pinkdaisy the butterfly language"?
colomon Su-Shee: right. But if Perl 6 suddenly became Sapphire, then both biases would "no longer apply". ;)
colomon might be playing Devil's Advocate.
masak Perl 6 isn't Sapphire. Perl 6 is Perl. 19:24
colomon Yes, but we don't need to tell other people that.
Kodi We could change Perl 6's name to Camelia. Not the word "Camelia", but the image itself. Then everybody would have to call it The Language Formerly Known as Perl 6.
Su-Shee tadzik: If I would be younger and not already having experienced Perl and be very put off by DHH, I probably would have gone down the Ruby path as well.
moritz_ Su-Shee: too long
sbp »ö«
Su-Shee moritz_: meh. ;)
tadzik Su-Shee: "as well"?
BinGOs will just continue to quote the Python Whitespace Fascism Meme instead.
Su-Shee tadzik: as many people I know who started with Perl in the 90ies 19:25
lue Here are some pretty pictures that detail (in a very general way) how Perl 6 is percieved today (at least in P6-land): rdstar.wordpress.com/2010/12/28/th...the-specs/
tadzik I have a feeling Ruby community is full of people who couldn't wait for Perl 6
sbp if Perl 6 is a little sister, I'd say it's the quiet little sister who stays in and studies hard
colomon wrote his first Perl code in 1994 or 1995.
19:26 WonTu joined
Su-Shee tadzik: oh wow you really must know very different people than I do.. :) 19:26
19:26 WonTu left
tadzik Su-Shee: I mainly know angry Pythoners 19:26
Su-Shee colomon: without Perl, I wouldn't have had a career as a developer and open source activist and by the way of that as a journalist.. :)
tadzik in fact, the thing that turns me off Python is the hate-oriented community. The friendliest Pyhoners I know are Perlists 19:27
Su-Shee tadzik: oh wait I have to paste you the right cartoon for that.. :)
masak tadzik: ah, you meant "were to impatient to wait for Perl 6", not "were eager to get their hands on Perl 6"... :)
Su-Shee tadzik: sedition.com/a/3054 19:28
tadzik Su-Shee: yeah, seen that :)
masak: ywis
Su-Shee has done some python.
lue tadzik: I liked python (version 3). I needed binding, but I could live without it. When I needed given/when statements, I gave up and joined Perl 6 :) 19:29
sbp tadzik: I'm a Python programmer, but I don't program Perl 5 19:31
Kodi Hm, I actually find that a proper block-scoped "my" is what I miss most while writing Python.
tadzik sbp: maybe I just stumbled on the wrong people, idk. But again, looking at reddit/hn... eh 19:32
Su-Shee I don't miss anything in either one - I'm only in a language for the fun and the community and the environment. :)
19:32 pmurias joined
dalek ast: 6f4dfd4 | (Kodi Arfer)++ | S02-literals/pairs.t:
[pairs.t] Added tests for RT #74948.
19:33
ast: 5e42fea | (Kodi Arfer)++ | S02-names_and_variables/names.t:
[names.t] Added tests for RT #72438.
ast: 6bc4635 | (Kodi Arfer)++ | S04-statements/for.t:
[for.t] Untodoed a passing test.
sbp I haven't done as much with Perl 6 as I've intended so far, but when I do one of the things that I'm looking forward to writing about is the point of view of learning 6 without knowing much at all, and having no intention to learn further, about 5 19:35
given the very strong heritage in Perl 5, I think it's (and that it'll continue to be) interesting to pick it up as a fresh entry point
lue I really enjoy Perl 6 as well as #perl6. I wouldn't have been able to stay this long if it weren't :) 19:36
masak sbp: I would be very interested to read what you have to say about that. 19:37
sbp of course there are some points where I'm spoiled on that, e.g. pcre. everybody knows pcre, hard to pick up Perl 6 regex as though it were entirely new!
19:37 fhelmberger left
Su-Shee sbp: the interesting part of 5 is the amazing flexibility which made something as Moose possible. There's sure as hell a lot to learn.. 19:37
arnsholt Which Perl 6 is it that has full-LTM in its regexes again? 19:38
dalek kudo: 8b8655b | KodiB++ | src/Perl6/Grammar.pm:
[Perl6/Grammar] Combined <!apostrophe> and <nofun> into <end_keyword>.

This fixes RT #72438 and RT #74948.
arnsholt I forget
colomon arnsholt: it's not Rakudo.
maybe niecza? 19:39
moritz_ yes
masak niecza++ sorear++
sorear arnsholt: niecza and viv 19:40
arnsholt Cheers!
arnsholt goes to download niecza and Mono
lue that reminds me. I don't suppose there's any way to fake LTM with proto regexes like you can with a list of choices (e.g. /abra||abr||ab||a/), is there? 19:41
pmurias sorear: hi
sorear: how are containers implemented in niecza?
and what does the second argument to nam-scopedlex do? 19:42
sorear pmurias: binding. $x := $y becomes (scopedlex $x (newboundvar ... $y)) 19:44
newboundvar does the binding type check, and also handles readonly/list bits
at a lower level, (scopedlex $x ...) sets a frame slot, (scopedlex $x) fetches oen 19:45
masak sorear: do you have any idea how to solve my problem with xbuild?
it's what prevents me from using niecza currently.
sorear as for containers... scalar or aggregate?
moritz_ masak: what's the problem? 19:46
sorear masak: my only guess is that you're not starting xbuild from the top directory
masak: does xbuild /v:diag say anything interesting? 19:47
dalek kudo: bdbf3f4 | moritz++ | src/core/IO.pm:
fix RT #80252, parrot strings returned from dir()
19:49
masak moritz_: getting the following error: 19:51
MSBUILD: error MSBUILD0003: No .proj file specified and no found in current directory.
I see a Niecza.proj right there.
moritz_ huh.
masak when I specify it explicitly, I get this:
MSBUILD: error MSBUILD0000: Could not load file or assembly '/home/masak/git-theirs/niecza/obj/PerlTask.dll' or one of its dependencies. The system cannot find the file specified. 19:52
the obj/ directory is empty.
pmurias sorear: does niecza support user defined containers? 19:53
masak adding /v:diag only outputs a version header, and then the same error.
sorear pmurias: what kind? 19:55
masak: odd; the way it's supposed to work is that PerlTask.dll is built before it's needed
masak: what version of xbuild do you have?
pmurias my $foo := foo();$foo = 123 # a method gets called on the thing foo() returned 19:56
19:56 shi joined
pmurias sorear: there's a Proxy class in the synopsis that can be used to create a custom container 19:57
sorear niecza doesn't currently have that
if you want to give $foo special behavior, you'll need to subclass Niecza.Variable in Kernel.dll 19:58
masak sorear: XBuild Engine Version 0.1\nMono, Version 1.9.1.0
sorear masak: the minimum version of Mono confirmed to work is 2.4 20:00
masak oh, ok.
that explains it, then.
I'll see about upgrading.
sorear that was a while ago, I might have broken compat since then. :/
pmurias sorear: but that should be possible? 20:02
20:02 Kodi left
sorear pmurias: yes 20:03
I'm not thrilled with the Proxy API but variables with custom get/set routines are on the near todo 20:05
moritz_ what's the correct way to run the niecza tests? 20:08
sorear xbuild /t:Test 20:09
moritz_ tries
masak sorear: I'm not thrilled with the Proxy API either, but I'm very eager to use *anything* like it. 20:10
moritz_ All tests successful
pmurias masak: what would you prefer FETCH/STORE on a custom class? 20:19
masak pmurias: sorry, question doesn't parse. 20:21
missing comma or extraneous "what", perhaps?
please restate.
moritz_ maybe s/<?after 'prefer '>/in favor of/ ? 20:22
masak oh.
moritz_ would love to inherit from Scalar or PositionalContainer or HashContainer for $, @ and % 20:26
20:29 rindolf joined
rindolf Hi all. 20:29
tadzik ~ 20:30
rindolf tadzik: hi.
tadzik: what's up?
lue afk 20:31
masak greetings, rindolf.
rindolf Hi masak . Sup?
Does anyone here know Dylan?
masak roof. sky. space. :)
Su-Shee I do.
20:32 risou joined
rindolf Su-Shee: great. 20:32
Su-Shee: what piqued your interest in it?
tadzik rindolf: cool
rindolf: the module ecosystem is evolving nicely
rindolf tadzik: nice.
masak pmurias: I don't know, really. seems one would conceivably get away with 'Any.new but { method FETCH { ... }; method STORE { ... } }'
Su-Shee rindolf: nothing. someone mentioned it, I looked into it, didn't think much of it but "oh yet another language with nice features and no ecosystem" and played a little with it like with a dead mouse. ;) 20:33
masak pmurias: but maybe it makes sense to have sugar for that in the form of a Proxy class, I dunno.
rindolf Su-Shee: I see.
masak gives up installing a sufficiently recent Mono on Debian for today 20:36
it appears possible, and probably easy when one knows the right incantations. 20:37
moritz_ masak: what Debian do you use?
masak: on Squeeze it's a breeze :-)
aptitude install mono-xbuild mono-gmcs 20:38
maybe also mono-2.0-gac
masak I'm on Lenny.
I'll try those.
moritz_ on lenny they are too old I fear
masak oh :(
Lenny is 5.0, right? 20:39
thought that was the latest Debian when I installed it.
moritz_ jep; Squeeze is still "testing" (though actually quite stable)
masak I think I'd like to use that one, then.
what's my best course of action?
can I just do a global update somwhow? 20:40
*somehow
icwiener bets that Squeeze will be release in February. :)
moritz_ masak: you can do an upgrade, yes
I don't know the instructions by heart though
icwiener Edit /etc/apt/sources.list -> s/lenny/squeeze/ 20:41
paste the resulting file if you are unsure. 20:42
pmurias masak: compile on from source
icwiener And then run "aptitude update && aptitude full-upgrade"
pmurias s/on/one
masak pmurias: that doesn't appear to be the Debian Way.
icwiener: thanks.
moritz_ see www.debian-administration.org/users.../weblog/22
masak hokay.
moritz_ masak: the step of updating the kernel, and then rebooting is important
(before doing the rest of the upgrade)
I didn't on my machine, and had some trouble figuring out the mess afterwards :-) 20:43
pmurias masak: i prefere packages that the debian folk don't tamper with
* prefer
Su-Shee
.oO(Slackware. Untempered Linux since 1993 ;)
20:44
Tampered ;)
icwiener moritz_: Oh, good to know (/me never actually did this upgrade) :)
[Coke] .
moritz_ icwiener: then be careful with what you recommend :-)
flussence I'd like to second that "." 20:45
sorear I just use mono from github; it'll be ages before 2.9+ is in any version of Debian
moritz_ sorear: I'll just annoy you when you break niecza on mono 2.6.7 :-) 20:46
flussence (slackware was the first distro I ever used... I didn't even know *how* to RTFM back then)
sorear moritz_: I appreciate that
masak moritz_: having slight problems on the linux-image step.
20:47 risou left
masak moritz_: aptitude couldn't find a module of that exact name. 20:47
moritz_ masak: did you run 'aptitude update' after chaning sources.list ?
masak yes.
it did a lot of updating.
flussence masak: it'll have "2.6" in the name too, try searching for that part
icwiener moritz_: I upgraded three versions of Debian that way so I had that warm fuzzy feeling of confidence about those steps. But you are right. :) 20:48
masak moritz_: though now I see there were some 404s in the output from 'aptitude update'.
flussence (the ncurses interface makes this a lot easier...)
moritz_ masak: could you plese nopaste your sources.list?
404s are bad 20:49
tadzik ncurses... bingings for ncurses would be nice
flussence I've never written a console-gui program before, but I've heard slang is easier than ncurses. 20:50
masak moritz_: gist.github.com/772001
tadzik: Parrot has bindings for ncurses.
tadzik right. Back to the wrapper problem again 20:51
moritz_ masak: if you comment out two volatile lines (with # ) and re-run aptitute update, do you still get 404s? 20:52
masak moritz_: I added the output from 'aptitude update': gist.github.com/772001 20:53
I'll try commenting out.
moritz_ no need, all the 404s are from volatile 20:54
that shouldn't hurt
masak: what's your architecture? amd64?
masak 404s went away.
20:54 timbunce joined
masak yes, amd64. 20:54
I see linux-image-2.6-amd64 here. trying that. 20:55
moritz_ that would have been my next suggestion, yes
masak whee
20:56 arlinius joined 20:57 GinoMan left 20:59 timbunce left
dalek ecza: ad19fad | sorear++ | / (7 files):
[v6] First port of NieczaCompiler
21:01
moritz_ thinks "why remove the fun?" whenever he reads (defun ...) 21:03
masak sorear: interesting. so you're writing a lot of Perl 6 code now?
moritz_ advent2009-day20.t somtimes fails a test for me 21:05
sorear masak: yes 21:06
moritz_ ah, it uses random numbers 21:07
and has a test that sorting by string is different than sorting by number
masak here are the failures from a spectest run I just finished: gist.github.com/772022
masak reboots 21:08
sorear is now trying to use the Perl6 version of Niecza to compile the setting
dalek ast: 3a387fe | moritz++ | integration/advent2009-day20.t:
make advent day 20 more reliable
21:09
pmurias moritz_: re defun are you looking at niecza's common lisp backend? ;) 21:12
moritz_ pmurias: yes 21:13
well, "looking" is exaggerated
I just read some diffs
diakopter sorear: impressive. most impressive.
arnsholt sorear: BTW, what is a good starting point for looking into Niecza's parsing code? 21:21
tadzik phenny: tell masak shouldn't the blog url on your GH dashboard end with .org? 21:22
phenny tadzik: I'll pass that on when masak is around.
sorear arnsholt: the various code methods in RxOp.pm and the C# functions they call in Cursor.cs 21:27
arnsholt Cheers!
21:29 mberends joined 21:33 GinoMan joined
dalek ecza: 656d5f3 | sorear++ | v6/ (2 files):
[v6] First batch of fixes to parse setting
21:46
p-rx/nom: 1146ba7 | jonathan++ | src/HLL/Compiler.pm:
More PIR => NQP and other work to prep HLL::Compiler to work with 6model.
21:56
rixel: dd83c25 | diakopter++ | / (7 files):
remove right recursion in perlesque grammar's statement list, which was overf .net stack on large input files.
22:03
22:07 MayDaniel joined
colomon dang, a lot of commits flying by today!! 22:10
tadzik fun! \o/
plobsing \o/ /o\ \o/ # flying commits 22:15
22:15 _jaldhar joined 22:19 shi left 22:33 shi joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 22:33
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....tor_tablet 22:38
22:40 GinoMan left 22:44 jevin_ joined
sorear needs to figure out why ../niecza_eval harness caused NieczaActions to be rebuilt *twice* 22:46
22:57 kaare_ left 23:01 MayDaniel left 23:03 masak joined
masak \o/ 23:03
phenny masak: 21:22Z <tadzik> tell masak shouldn't the blog url on your GH dashboard end with .org?
dalek p-rx/nom: c00a30c | jonathan++ | / (7 files):
Switch HLL::Compiler, NQP::Compiler and Regex::P6Regex::Compiler to use class_6m. In the process, create .pm files for a couple of them (we keep the PIR around too, to combine the various produced outputs). Needs re-configure.
p-rx/nom: bd0b0fe | jonathan++ | src/HLL (2 files):
Move Parrot HLL compiler init to avoid tickling an initializatin order bug (will track it down tomorrow or so). Gets some of the tests regressed when making HLL::Compiler et al use 6model passing again (down to just 2 regressions now).
23:05 KyleHa joined
masak tadzik: indeed. good catch, tadzik++. fixed. 23:06
KyleHa Folks, my test reporter has been out of commission for over a week now. 23:09
It may yet return, but I think it will be quite a while. For faster service, you might want to find someone else to run it.
colomon KyleHa: what would be involved? 23:10
KyleHa colomon: I ran it as a cron job every ten minutes or so. It updates a local copy of the roast repo and sends an email when appropriate.
So it needs a persistent network connection and the ability to send email. 23:11
The code is in test-reporter.pl, probably in the Mu repo somewhere now.
colomon did it run the tests, or just monitor them?
I mean, monitor their source. 23:12
KyleHa Just monitor. It looks for a commit of a test for an RT ticket and sends an email to the ticket with the diff.
colomon hmmm.... wonder if my wee server can send e-mail? 23:13
KyleHa The biggest problem I had was when it couldn't get to the repo, and cron would send me an error message several times per hour. 23:14
colomon ouch
KyleHa It keeps a record of the last commit that it looked at. Before you run it, you should set that to something recent, so it doesn't send repeat notices. 23:15
Anyone looking for help is welcome to email me at [email@hidden.address] Thanks. 23:17
23:17 KyleHa left 23:20 icwiener left 23:24 MayDaniel joined 23:27 VXZ joined 23:33 renormalist joined, frettled joined 23:41 crythias joined 23:48 shi left
jnthn goodnight, #perl6 23:55
23:56 MayDaniel left
masak sorear: almost there now. I'm getting this error message: gist.github.com/772160 23:57
masak ==>> $bed
23:58 masak left