Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-04-03

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:28 wolfman2000 joined #perl6
00:37 lichtkind yeah all entries have anchors
01:05 benabik joined #perl6
01:12 alvis```` joined #perl6
01:36 colomon joined #perl6
01:41 cooper joined #perl6
01:43 lestrrat joined #perl6
01:44 xinming joined #perl6
01:49 bacek joined #perl6
01:59 timotimo is there some sql or ORM for perl6 yet?
01:59 timotimo perl6-sqlite! cute
02:00 timotimo Could not find SQLite3:from<parrot> in any of: lib <- so, how do i install sqlite3 "into" parrot?
02:02 timotimo masak: can you tell me how? it's your library. maybe because it's been untouched for 3 years, it's just not up to date?
02:02 tadzik I don't think there's any ORM available
02:02 tadzik timotimo: you may want to use MiniDBI
02:02 tadzik ISTR it's working
02:03 timotimo oh, actually Tene owns the repo. you awake?
02:03 fgomez joined #perl6
02:04 Tene I'm awake.
02:04 Tene What do I own?
02:04 timotimo Tene: the repository for perl6-sqlite
02:05 Tene timotimo: sqlite used to be included in the parrot repo, but isn't any more
02:05 Tene dunno where it went
02:06 timotimo ok
02:06 timotimo no worries then, i don't really need it, just looking around what there is to see
02:06 timotimo you might want to add a README to your repo stating that, though
02:06 sorear timotimo: :from<parrot> does not exist in current versions of Rakudo
02:08 Tene that too, but I didn't want to get into that.
02:08 timotimo i'll go to bed then, see what amazing things happen tomorrow
02:08 Tene timotimo: I'll give you commit privs; you can do it.
02:08 timotimo gack. all right
02:08 Tene github id?
02:09 Tene timo?
02:09 Tene yeah, that's you
02:18 lumi_ joined #perl6
02:23 Tene r: [*] 0, 0 ... *
02:23 p6eval rakudo 8ead1e: OUTPUT«(timeout)»
02:24 Tene aww
02:25 Tene ;)
02:29 aloha joined #perl6
02:36 lichtkind tadzik: > $*OSNAME is gone?
02:39 lichtkind itlooks liek but i found an artefakt
02:39 lichtkind tene?
02:39 tadzik lichtkind: no idea
02:40 thou joined #perl6
02:40 lichtkind in the syn $*Kernerl is reference as os name
02:40 tadzik lichtkind: there's $*OS
02:40 lichtkind kernel
02:40 lichtkind no
02:40 tadzik r: say $*OS
02:40 p6eval rakudo 8ead1e: OUTPUT«linux␤»
02:40 lichtkind but according to spec it should be at least $*OSNAME
02:41 lichtkind i now it was once $*OS
02:41 lichtkind r: say $*KERNEL
02:41 p6eval rakudo 8ead1e: OUTPUT«Dynamic variable $*KERNEL not found␤  in method gist at src/gen/CORE.setting:8199␤  in sub say at src/gen/CORE.setting:6244␤  in block <anon> at /tmp/ZgjMipDT7m:1␤␤»
02:42 lichtkind r: say $*OSNAME
02:42 p6eval rakudo 8ead1e: OUTPUT«Dynamic variable $*OSNAME not found␤  in method gist at src/gen/CORE.setting:8199␤  in sub say at src/gen/CORE.setting:6244␤  in block <anon> at /tmp/XfEpk1wWxd:1␤␤»
02:42 DarthGandalf joined #perl6
02:43 lichtkind phenny: say moritz "s28 say its $*KERNEL even there is an $*OSNAME artefact but rakudo still does $*OS"
02:43 lichtkind hm
02:43 lichtkind phenny: hallo
02:44 lichtkind dalek
02:44 sorear phenny: tell moritz 19:43 < lichtkind> phenny: say moritz "s28 say its $*KERNEL even there is an  $*OSNAME artefact but rakudo still does $*OS"
02:44 phenny sorear: I'll pass that on when moritz is around.
02:44 lichtkind thanks sorear
02:47 agentzh joined #perl6
02:48 lichtkind phenny: tell moritz what is the right var vor the os name, i suspect *KERNEL and *DISTRO are recent
02:48 phenny lichtkind: I'll pass that on when moritz is around.
02:50 lichtkind good night
02:57 orafu joined #perl6
03:03 chitragupt joined #perl6
04:15 kaare_ joined #perl6
04:32 envi_ joined #perl6
04:48 NamelessTee joined #perl6
04:53 BruceZu joined #perl6
05:06 moritz o/
05:06 phenny moritz: 02:44Z <sorear> tell moritz 19:43 < lichtkind> phenny: say moritz "s28 say its $*KERNEL even there is an  $*OSNAME artefact but rakudo still does $*OS"
05:06 phenny moritz: 02:48Z <lichtkind> tell moritz what is the right var vor the os name, i suspect *KERNEL and *DISTRO are recent
05:07 geekosaur ...do those have sane meanings on nonlinux?  nonunix?
05:07 moritz I have no idea
05:09 sorear geekosaur: No
05:09 sorear It's S28, it's not supposed to be sane.
05:19 kaleem joined #perl6
05:44 birdwindupbird joined #perl6
05:52 wtw joined #perl6
05:52 wtw joined #perl6
06:11 tarch joined #perl6
06:21 tokuhiro_ joined #perl6
06:51 skids joined #perl6
06:56 fhelmberger joined #perl6
06:58 timotimo is there a way to put an operator declaration that takes the class i'm in as first argument into the class body?
06:58 timotimo class Dog { method infix:<+>($o) { say "woof $o"; } }; my $d = Dog.new(); say $d + 4;
06:58 timotimo p6: class Dog { method infix:<+>($o) { say "woof $o"; } }; my $d = Dog.new(); say $d + 4;
06:59 p6eval rakudo 8ead1e: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \$v, Mu %_!)␤␤  in method Numeric at src/gen/CORE.setting:644␤  in sub infix:<+> at src/gen/CORE.setting:2292␤  in block <anon> at /tmp/aIEkZ4MrLZ:1␤␤»
06:59 p6eval ..niecza v16-17-g648c49b: OUTPUT«Unhandled exception: Cannot use value like Dog as a number␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 261 (Any.Numeric @ 5) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/n3Dj4jzo0K line 1 (mainline @ 4) ␤ …
06:59 p6eval ..pugs: OUTPUT«*** Cannot cast from VObject (MkObject {objType = (mkType "Dog"), objAttrs = <Hash:0x7f65e3159219>, objOpaque = Nothing, objId = MkObjectId {unObjectId = 3}}) to Double (VNum)␤    at /tmp/Wc8Vl6jrMP line 1, column 79-85␤»
07:12 moritz timotimo: I believe we've discussed that yesterday. There are mechanisms, but NYI
07:13 timotimo neat, thanks
07:15 moritz r: import (package A { sub f() is export { say 'in f' } }); f
07:15 p6eval rakudo 8ead1e: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&import' called (line 1)␤Undefined routine '&f' called (line 1)␤»
07:19 timotimo can i quote a couple of lines and remove either (the first line (must be empty) and common leading whitespace from all lines) or (common leading whitespace from the second and all following lines)?
07:21 moritz I guess that's roughly what .indent(*) is supposed to do
07:21 moritz but it hasn't been ported to nom yet :(
07:21 timotimo :(
07:31 timotimo so rakudo doesn't implement heredoc quoting yet?
07:31 moritz nope
07:31 timotimo ok. how do i write multiline strings?
07:31 moritz my $x = 'foo
07:31 moritz bar';
07:32 moritz or you can use   my $x = q[foo
07:32 moritz bar
07:32 moritz baz];
07:32 timotimo okay. little bit trickier: multiple multiline strings in a list? i seem to only get Confused for all my attempts
07:33 moritz r: say 1
07:33 timotimo oh, it was just a missing semicolon. now i get: Method 'STORE' not found for invocant of class 'Any'
07:33 p6eval rakudo 8ead1e: OUTPUT«1␤»
07:33 moritz r: my @a = q[a␤b], q[c␤d]; say @a.perl
07:33 p6eval rakudo 8ead1e: OUTPUT«Array.new("a\nb", "c\nd")␤»
07:34 moritz timotimo: are you using an our-scoped variable?
07:34 timotimo you used say 1 to copypaste the nl character? :)
07:34 timotimo yes, i am
07:34 moritz yes
07:34 moritz don't do that, there's a known bug :(
07:34 moritz r: our @a = 1, 2;
07:34 p6eval rakudo 8ead1e: OUTPUT«Method 'STORE' not found for invocant of class 'Any'␤  in block <anon> at /tmp/3dVh4swma6:1␤␤»
07:34 timotimo ok
07:34 moritz it fails to initialize @a and %h
07:34 timotimo can i export it to other modules somehow? maybe with a simple sub that only returns that?
07:35 moritz yes
07:35 timotimo ok
07:35 timotimo well, it's rather like raw data anyways, it'd go through some thorough working first
07:35 fglock joined #perl6
07:35 timotimo (i could do that at compile time! hooray for perl6!)
07:35 moritz if you want to allow assignment to it from other packages, you need to write something like   my @a; sub myvar() is rw is export { @a }
07:35 timotimo you know, this is my second attempt to do this exact thing. the first one was in c++. it was maddening - i'm quite not good at c++ any more
07:37 moritz timotimo: what are you writing?
07:39 timotimo i want to experiment with dungeon crawling a bit - the idea is to make the player feel disoriented by making curved paths appear straight and extremely silly things like "portals" essentially
07:39 timotimo so for instance you'd go east from a room and end up entering the same room from the south side - now everything would be rotated
07:40 timotimo the code itself should allow for a direct connection of one of the walls to another - but the random dungeon generator should never do that
07:40 moritz just make sure it doesn't confuse you while debugging :-)
07:40 timotimo other things include two parallel paths from one room to another with one being longer than the other
07:40 timotimo that will be quite a bit harder :)
07:40 moritz well, if you store the stuff in a graph, you get no geometry by default
07:40 timotimo is there any library that's useful for event handling and positional output in terminals?
07:41 timotimo it's going to be graph-based all right
07:41 timotimo that was already in the "original design", but the execution was lacking :)
07:45 timotimo [==] (minmax $str.lines».chars).bounds
07:45 timotimo is this very perl6y for "are all lines equally long"?
07:46 timotimo p6: [==] (minmax "aaa␤bbb␤ccc".lines».chars).bounds
07:46 p6eval rakudo 8ead1e, niecza v16-17-g648c49b:  ( no output )
07:46 p6eval ..pugs: OUTPUT«*** No such subroutine: "&minmax"␤    at /tmp/WMsgC3CUfj line 1, column 7 - line 3, column 18␤»
07:46 timotimo oh but of course.
07:46 timotimo p6: say [==] (minmax "aaa␤bbb␤ccc".lines».chars).bounds
07:46 p6eval pugs: OUTPUT«*** No such subroutine: "&minmax"␤    at /tmp/ONpOhPcwWt line 1, column 11 - line 3, column 18␤»
07:46 p6eval ..rakudo 8ead1e, niecza v16-17-g648c49b: OUTPUT«True␤»
07:46 moritz r: say [==] "aaa\nbbb\nccc".lines>>.chars
07:46 p6eval rakudo 8ead1e: OUTPUT«True␤»
07:46 moritz r: say [==] "aaa\nbbb\nccdc".lines>>.chars
07:47 p6eval rakudo 8ead1e: OUTPUT«False␤»
07:47 timotimo even better
07:47 moritz aye :-)
07:47 timotimo so, a PRE block in a function would be called before every call to the function and if the last statement in it doesn't return something that smartmatches with True, an exception is thrown?
07:48 moritz yes (but it's about boolification, not smarmatching)
07:48 timotimo OK
07:48 echo9 joined #perl6
07:48 timotimo boolification is what i get when i prepend something with a &, or was that a "?"?
07:48 echo9 hi all
07:49 moritz timotimo: ?
07:49 moritz echo9: hello
07:49 timotimo r: say ? "yes"
07:49 p6eval rakudo 8ead1e: OUTPUT«True␤»
07:49 echo9 here just for some headsup
07:49 echo9 :)
07:49 timotimo thanks
07:49 moritz \o/
07:49 timotimo mhhh, tasty headsoup
07:49 timotimo can i easily set a message for the exception when the PRE block fails?
07:49 echo9 :P umm.. I want to know like whats really perl6 is for?
07:50 echo9 am a newbie to perl world*
07:50 moritz timotimo: no. If you want that, you just write   die "yourmessage" unless $expression;
07:50 timotimo mhm.
07:50 moritz echo9: Perl 6 is a general-purpose programming language
07:50 echo9 am an advanced c++/.net programmer just want to learn something new so that it can  really add up to my resume :D
07:50 moritz echo9: so it's really used for "everything"
07:50 timotimo can preconditions and postconditions be turned off globally somehow?
07:51 moritz echo9: though is compilers aren't as mature as C++ and C# compilers yet, it's still much a work in progress
07:51 echo9 general pupose? does that mean full code navigation control? loop structs etc.?
07:51 moritz timotimo: no. But we might want such an option eventually
07:51 timotimo good to know
07:52 echo9 I have one of my friends whos working on perl5
07:52 moritz echo9: yes. It has eerything you exepct from a programming language, and more
07:52 echo9 and he suggested me to go for it :D
07:52 moritz echo9: we have all sorts of control flow, object orientation, functional features, regexes and grammars for parsing, exceptions and so on
07:52 echo9 Thanks moritz :) and what about platform dependency? (perl5 is fine with that I guess? )
07:53 moritz echo9: well, that depends more on the compilers than on the language...
07:53 echo9 threads? parallel programming?
07:53 moritz echo9: we currently have two compilers that work on windows, linux and macos
07:53 echo9 linux would be my choice (always :D)
07:53 timotimo perl6 has an implementation that runs on microsoft .net and mono, that one's called "niecza". the other one, "rakudo", uses the parrot virtual machine. it works on linux at least, i have no idea about windows, but probably there, too
07:54 moritz echo9: those are in planning; not much implemented yet in terms of threads and concurrency
07:54 echo9 rakudo hmm.. yeah read some articles on that (still confused o_O )
07:54 moritz echo9: well, C++ also has several different compilers
07:54 echo9 yep
07:56 echo9 well time for me to go (at my work place now ;) )
07:56 moritz have fun, and come back :-)
07:56 echo9 thanks moritz and timotimo :)
07:56 timotimo you're welcome!
07:56 echo9 sure :D
07:57 echo9 c yall
08:08 timotimo how come this works:     my @lines = $str.lines.grep *.trim; but this doesn't: my @lines = $str.lines.grep { .trim };
08:08 timotimo it would say "couldn't parse blockoid. couldn't find }"
08:09 moritz needs to be grep: { .trim }
08:09 moritz or grep({.trim})
08:09 geekosaur so LTA message
08:09 moritz if you put neither : nor ( after a method call, Perl assumes that you don't pass an argument to it
08:09 moritz so you get two terms in a row
08:09 timotimo that's what the : is there? i see.
08:09 moritz std: .grep { .foo }
08:09 p6eval std 5740094: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unexpected block in infix position (method call needs colon or parens to take arguments) at /tmp/nalD1H0Ihq line 1:â�¤------> [32m.grep [33mâ��[31m{ .foo }[0mâ�¤    expecting infix or meta-infixâ�¤Parse failedâ�¤FAILED 00:01 109mâ�¤Â»â€¦
08:12 timotimo how come Sorry messages often give so little information about the context?
08:12 timotimo no file or line number?
08:12 moritz r: .grep { 1 }
08:12 p6eval rakudo 8ead1e: OUTPUT«===SORRY!===␤Confused␤at /tmp/l91QmN6BNZ:1␤»
08:12 moritz timotimo: example?
08:13 moritz timotimo: in general the answer is "because we haven't fixed it yet"
08:13 timotimo ===SORRY!=== Not enough positional parameters passed; got 1 but expected 2   ... if i knew where it happens exactly, i could tell you ;)
08:13 moritz that's likely an internal error somewhere
08:13 moritz running with --ll-exception might give more information
08:14 timotimo r: r: say "oh my\noh my my".lines.grep *.trim;
08:14 p6eval rakudo 8ead1e: OUTPUT«===SORRY!===␤Confused␤at /tmp/qJQk_8fsaa:1␤»
08:14 timotimo nope.
08:14 timotimo r: say "oh my\noh my my".lines.grep *.trim;
08:14 p6eval rakudo 8ead1e: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in method grep at src/gen/CORE.setting:1045␤  in block <anon> at /tmp/lFvquhLpEu:1␤␤»
08:14 timotimo but i suppose that's because there has to be a : or { .. }?
08:15 moritz it parses as (.lines.grep()) * ($_.trim)
08:15 moritz so you get a runtime error about .grep not getting a matcher
08:15 timotimo right
08:15 timotimo that makes sense
08:16 timotimo what could cause Method 'gimme' not found for invocant of class 'Str'?
08:17 moritz r: gather loop { take 1 }
08:17 p6eval rakudo 8ead1e:  ( no output )
08:17 moritz r: eager gather loop { take 1 }
08:17 p6eval rakudo 8ead1e: OUTPUT«(timeout)»
08:17 moritz r: my @a =  gather loop { take 1; last }
08:17 p6eval rakudo 8ead1e: OUTPUT«Method 'eager' not found for invocant of class 'Integer'␤  in sub coro at src/gen/CORE.setting:4805␤  in method reify at src/gen/CORE.setting:4786␤  in method reify at src/gen/CORE.setting:4557␤  in method reify at src/gen/CORE.setting:4557␤  in method gimme at src…
08:17 moritz timotimo: likely another rakudobug :(
08:17 moritz timotimo: you seem to discover quite a number of rakudo limitations and bugs today :/
08:19 timotimo oh my, sorry about that ;)
08:19 timotimo it's obviously the case that most rakudo users try to tread softly whereas i'm doing the elephant in the porcelain store
08:19 timotimo ... thing ...
08:20 timotimo so anyway. i was trying to map over the lines and cut off the first N characters for each line. the code looks something like this now:     @lines.map({ $_[$init_spaces..*] }).join("\n");
08:20 moritz timotimo: just make sure to reduce the newly found bugs to something small, and submit them
08:21 timotimo r: my $init_spaces = 3; say "   foo\n   bar\n   baz".lines.map({ $_[$init_spaces..*] }).join("\n");
08:21 p6eval rakudo 8ead1e: OUTPUT«Method 'gimme' not found for invocant of class 'Str'␤  in method postcircumfix:<[ ]> at src/gen/CORE.setting:1147␤  in block <anon> at /tmp/xoO2TzGDMW:1␤␤»
08:21 moritz uhm
08:21 timotimo is that completely wrong?
08:21 moritz you try to .[]-index strings
08:21 moritz that's wrong
08:21 timotimo oh, that's not how i would slice strings?
08:21 moritz use .substr($startpos) instead
08:21 timotimo hm, ok
08:22 moritz r: my $init_spaces = 3; say "   foo\n   bar\n     baz".lines.map(*.substr($init_spaces).join("\n")
08:22 p6eval rakudo 8ead1e: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤»
08:22 moritz r: my $init_spaces = 3; say "   foo\n   bar\n     baz".lines.map(*.substr($init_spaces)).join("\n")
08:22 p6eval rakudo 8ead1e: OUTPUT«foo␤bar␤  baz␤»
08:23 moritz r: say "foo"[0]
08:23 p6eval rakudo 8ead1e: OUTPUT«foo␤»
08:23 moritz r: say "foo"[1]
08:23 p6eval rakudo 8ead1e: OUTPUT«.[1] out of range for type "foo"␤  in method gist at src/gen/CORE.setting:8199␤  in sub say at src/gen/CORE.setting:6244␤  in block <anon> at /tmp/aU4e0RIjup:1␤␤»
08:23 moritz r: say "foo"[1..4]
08:23 p6eval rakudo 8ead1e: OUTPUT«.[1] out of range for type "foo"␤  in method gist at src/gen/CORE.setting:8199␤  in method gist at src/gen/CORE.setting:4201␤  in sub say at src/gen/CORE.setting:6244␤  in block <anon> at /tmp/7I2GjCOvTG:1␤␤»
08:23 timotimo r: say "foo"[1..*]
08:23 p6eval rakudo 8ead1e: OUTPUT«Method 'gimme' not found for invocant of class 'Str'␤  in method postcircumfix:<[ ]> at src/gen/CORE.setting:1147␤  in block <anon> at /tmp/1ZiRf7yMZW:1␤␤»
08:23 timotimo there it is
08:23 moritz timotimo++
08:23 * moritz submits rakudobug
08:26 timotimo r: my $init_spaces = 3; my @l = "   foo\n   bar\n   baz".lines; @l .= map({ $_[$init_spaces..*] }).join("\n");
08:26 p6eval rakudo 8ead1e: OUTPUT«===SORRY!===␤Confused␤at /tmp/a2CKJ8COjI:1␤»
08:26 timotimo um, excuse me
08:27 timotimo r: my $init_spaces = 3; my @l = "   foo\n   bar\n   baz".lines; @l .= map(*.substr($init_spaces)).join("\n");
08:27 p6eval rakudo 8ead1e: OUTPUT«===SORRY!===␤Confused␤at /tmp/2_Qzeg0YYv:1␤»
08:27 timotimo that's different from what i had locally, wait.
08:27 timotimo never mind.
08:44 pjcj joined #perl6
08:45 tarch_ joined #perl6
08:47 timotimo what's the best way to break out of two for loops from the innermost position?
08:48 timotimo i did a (gather for { for { } })[0] now, but that seems ugly
08:52 Teratogen last LABEL
08:52 Teratogen ???
08:52 Teratogen oh wait that's perl 5 =/
08:52 PZt joined #perl6
08:52 timotimo i believe perl6 has that label thing, too. i don't know how to apply a label to a for, though
08:54 brrt joined #perl6
08:54 timotimo now i'm pretty confused. say $startx.WHAT; say $starty.WHAT; my $startpos = XYZ.new(:x<$startx>, :y<$starty>); gives Int()\nInt()\nType check failed in assignment to '$!x'; expected 'Int' but got 'Str'
08:54 timotimo ?!
08:55 Teratogen I don't do Perl 6 yet
08:55 timotimo oh, the < > make it a string?
08:55 * Teratogen is a Perl 6 beginner
08:55 timotimo yup, that was it
08:55 dakkar joined #perl6
08:55 timotimo i'm a perl6 beginner, too. can you tell? :)
08:59 moritz timotimo: rakudo doesn't implement labels either :/
08:59 timotimo OK
08:59 moritz the usual workaround is to use subroutines and return
08:59 timotimo right.
09:00 timotimo turns out i need all the values anyway, in a hash from x/y coordinate to value. is take ($col, $line) => $value; a good way to get this? flattening seems to do weird things to me
09:01 timotimo (0, 0) turns into "0 0" instead, for instance
09:05 moritz hash keys are strings by default
09:06 timotimo well, that's sensible
09:06 timotimo which was the function one should override to make classes work well in that regard?
09:06 timotimo what would produce "XYZ<8816625325255736383>" at the moment.
09:06 moritz my %h{Any};
09:07 moritz but that will surprise your for non-value-types
09:07 timotimo i can see how
09:07 moritz it's probably better to go to two levels, %h{$col} //= {}; %h{$col}{$line} = $value;
09:08 timotimo my XYZ class is supposed to be an immutable class. i should be able to make that work well, right?
09:09 moritz yes
09:09 timotimo what's the secret trick? :)
09:09 moritz provide a method WHICH which only depends on the attributes, not on the memory address
09:09 timotimo ah, WHICH, that one i was looking for
09:09 moritz grep for 'method WHICH' in src/core/
09:13 timotimo not sure what those mean ... would mine look something like "multi method WHICH(XYZ:U:) { "some string" } ?
09:14 moritz multi method WHICH(XYZ:D:) { nqp::box_s("some string that depends on the attributes", ObjAt) }
09:14 moritz there's a multi for the type object already
09:14 timotimo interesting. why would i need to do nqp things in my perl6 code?
09:15 moritz because we don't yet have primitives for boxing something into a type that's not the default
09:15 moritz maybe in future you can write ObjAt('the string here')
09:15 moritz in fact I should implement that
09:15 timotimo mhm
09:16 timotimo in the output i still get ("XYZ<-4306223074760605769>" => " ", "XYZ<-4306223074756436050>" => " ", ...).hash, though. some other method i need to implement?
09:16 timotimo and what's that XYZ:D: thing in the signature?
09:16 moritz it means 'an object of type XYZ, and it must be defined (:D), and it is the invocant (:)"
09:29 timotimo i'll try to get some sleep now
09:34 Timbus joined #perl6
09:36 moritz nqp: my @a := [1, 2, 3, 4]; nqp::say(@a)
09:36 p6eval nqp: OUTPUT«4␤»
09:43 moritz nqp: say(5.sqrt)
09:43 p6eval nqp: OUTPUT«Method 'sqrt' not found for invocant of class 'Integer'␤current instr.: '_block1000' pc 36 ((file unknown):38) (/tmp/t9BOXNpAj1:1)␤»
09:49 domidumont joined #perl6
10:15 cognominal_ TimToady, reading http://www.foo.be/docs/tpj/issues/vol1_1/tpj0101-0002.html   What is Perl 6,  Jazz fusion?
10:16 cognominal_ or still some kind or cartoon music? :)
10:34 geekosaur dance.  with multiple remixes being the norm...
10:36 zipf joined #perl6
10:54 NamelessTee joined #perl6
10:59 araujo joined #perl6
10:59 araujo joined #perl6
11:01 MayDaniel joined #perl6
11:03 benabik joined #perl6
11:24 orafu joined #perl6
11:25 wolverian joined #perl6
11:26 wolverian joined #perl6
11:37 fsergot joined #perl6
11:38 fsergot Hello #perl6 o/
11:39 mucker joined #perl6
11:39 moritz \o fsergot
11:59 benabik joined #perl6
12:05 fsergot sleepy day.. :(
12:05 sjn vewy, vewy sweepy day :)
12:06 arnsholt sjn: But that's ok. Holiday very soon now =D
12:06 brrt joined #perl6
12:08 sjn arnsholt: btw, have you seen this? https://gist.github.com/1711730
12:11 arnsholt Yes! I intend to attend
12:13 moritz isn't cosimo near there too?
12:13 arnsholt Yeah, he's at Opera in Oslo
12:13 moritz cosimo: are you coming too? :-)
12:13 arnsholt I talked to him once or twice in the canteen when I interned with them
12:17 sjn arnsholt: don't foreget to sign up :)
12:17 sjn and do tell if you can host someone? (are you one the oslo.pm mailing list?)
12:17 sjn forget*
12:18 sjn arnsholt: also, if your employer wants to sponsor, then that would be awesome ;)
12:18 sjn (hint, hint)
12:18 sjn :D
12:19 sjn (not that we *need* it, it would just be nice to be able to pay dinner for everyone or something like that)
12:25 arnsholt There. Signed up
12:25 arnsholt No room for guests at my place, unfortunately
12:26 sftp joined #perl6
12:29 sjn arnsholt: ook
12:30 PacoAir joined #perl6
12:46 pernatiy joined #perl6
12:53 birdwind1pbird joined #perl6
12:55 arnsholt Whee. The Stanford graphical model course talks about the Ising model
12:56 arnsholt I'm sure moritz approves =)
13:00 moritz arnsholt: Ising in how many dimensions? :-)
13:01 moritz 2D is challenging, but solvable
13:02 * sjn is a big fan of 0D
13:03 sjn a.k.a. "Boolean"
13:05 * sjn imagines -1D would be a "Maybe" type
13:05 * sjn shuts up now and goes back to $work
13:06 arnsholt moritz: Only 2D, and not full-on solution. Just used as an example, thankfully
13:08 moritz arnsholt: makes sense
13:08 moritz visualizing an iterative solution, or something?
13:08 arnsholt Not even that, at least not yet
13:09 bbkr1 joined #perl6
13:09 arnsholt Just for talking about undirected graphical models and features and such over them
13:09 arnsholt It might turn up again once the course starts talking about inference and such though
13:15 envi_ joined #perl6
13:19 cosimo moritz: i hope so
13:20 moritz cosimo: that's great. I hope so too :-)
13:23 [Coke] # 04/02/2012 - rakudo++ ; niecza (97.53%); pugs (39.44%)
13:23 [Coke] "niecza",     20345,     1,   748,  1531, 22625, 23783
13:23 [Coke] "pugs"  ,      8229,     0,  3021,  1346, 12596, 23592
13:23 [Coke] "rakudo",     20860,   283,   632,  1895, 23496, 24026
13:23 [Coke] looks like rakudo started failing some tests yesterday.
13:24 [Coke] 283, up from 45.
13:24 moritz :(
13:24 moritz passes all tests here
13:24 moritz [Coke]: are you sure your t/spec/ isn't hung up or so?
13:25 moritz S32-exceptions/misc.rakudo passed 166 unplanned test(s)
13:26 moritz that's weird
13:27 moritz hm, this file doesn't have test plan
13:27 moritz so if it dies, that might be what it reports
13:31 dalek roast: 5e0af50 | moritz++ | S32-exceptions/misc.t:
13:31 dalek roast: [throws_like] avoid undef warnings for matchers
13:31 dalek roast: review: https://github.com/perl6/roast/commit/5e0af50ddc
13:32 kaleem joined #perl6
13:35 colomon joined #perl6
13:38 tadzik fsergot: sleepy? Speak for yourself, I had a sleepless night :)
13:39 tadzik and well, that does make a day a bit sleepy, yes
13:42 [Coke] moritz: http://perlcabal.org/~coke // *.out
13:42 mucker joined #perl6
13:42 [Coke] S26 is failing a lot here.
13:43 moritz [Coke]: which is why I have been wondering if your t/spec/ is out of date
13:43 moritz [Coke]: I've change $=POD to $=pod in both rakudo and t/spec/
13:44 moritz [Coke]: and it seems to have picked up only the changes from rakudo
13:44 dalek roast: dc6ffd8 | coke++ | test_summary:
13:44 dalek roast: rakudo, at least, runs S26 tests.
13:44 dalek roast: review: https://github.com/perl6/roast/commit/dc6ffd8d6f
13:45 [Coke] the test scripts give each copy of p6 its own t/spec
13:46 [Coke] ... and yes, it's from Mar 7. wtf.
13:47 [Coke] https://gist.github.com/1476841#file_spec_r
13:48 [Coke] that's the "run rakudo" spec test. I am clearly /attempting/ to update t/spec
13:48 moritz I guess 'git rb' is an alias for 'git pull --rebase'?
13:49 moritz [Coke]: please cd to rakudo/t/spec and see if 'git status' reports anything interesting
13:49 [Coke] unsaved changes. and yes.
13:49 [Coke] must have used it to poke at something in t/spec and forgot to wipe the slate.
13:50 * [Coke] suspects colomon will start to cry after today's run. ;
13:50 [Coke] ;)
13:50 colomon noooooo!
13:50 [Coke] the other 2 repos had no such blockers in t/spec
13:50 colomon what's wrong?
13:51 [Coke] I'll just add a note to the history that rakudo's been fighting under a disadvantage.
13:51 moritz colomon: just rakudo passing more tests than [Coke]++'s runs have shown
13:51 [Coke] colomon: rakudo's t/spec has been stale since march 7th or so.
13:51 tadzik eek
13:52 * colomon was just celebrating getting a clean spectest run from Niecza for the first time in ages.
13:55 * [Coke] will just let the next daily run go. we'll have fresh numbers in 3 hours or so.
13:58 JimmyZ_ joined #perl6
14:01 colomon ... and now niecza has a failing test again.  :\
14:04 leprevost joined #perl6
14:13 jnthn o/
14:14 * jnthn about for a short while before he goes for $flight
14:14 colomon \o
14:15 tadzik \o
14:15 fsergot tadzik: not good :P
14:15 dalek roast: e1f01c0 | (Solomon Foster)++ | S12-enums/misc.t:
14:15 dalek roast: Fudge new test for Niecza.
14:15 dalek roast: review: https://github.com/perl6/roast/commit/e1f01c00a7
14:16 lichtkind joined #perl6
14:17 tadzik fsergot: I'm used to it :) And I have two exams behind me, so the day's good anyway :)
14:17 lichtkind hai tadzik
14:17 tadzik if GLS hurried up, the day'd be Very Good :)
14:17 tadzik hello lichtkind
14:18 tarch__ joined #perl6
14:19 lichtkind you cant resolve my $*Kernel question?
14:19 tadzik I don't think so, I'm completely green in this subject :/
14:20 lichtkind maybe best i look when tim is around
14:38 lichtkind joined #perl6
14:39 lichtkind shiii have to change my os
14:39 lichtkind tadzik: any suggestions for me?
14:42 fsergot tadzik: How were your exams? :)
14:46 * jnthn -> airport, home in ~22 hours
14:51 timotimo good * #perl6
14:58 lichtkind hai timotimo
14:58 lichtkind jnthn: o/
15:01 skids joined #perl6
15:01 lichtkind moritz: i maybe found the problem
15:01 lichtkind its in installing URI
15:02 lichtkind in that testsuite i get the error in escape.t
15:05 timotimo my WHICH is apparently still wrong
15:05 timotimo p6: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } } my %h; %h{XYZ.new(0, 0)} = "hello"; %h{XYZ.new(0, 0)} = "world"; say %h{XYZ.new(0, 0)};
15:05 p6eval pugs: OUTPUT«*** ␤    Unexpected "XYZ"␤    expecting word character, "|", ":", "*", parameter name or ")"␤    at /tmp/F9AzY0mlyc line 1, column 75␤»
15:06 p6eval ..niecza v16-17-g648c49b: OUTPUT«[31m===[0mSORRY![31m===[0m��Strange text after block (missing comma, semicolon, comment marker?) at /tmp/NqvupUp_9Y line 1:�------> [32mqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }[33m�[31m my %h; %h{XYZ.new(0, 0)} = "hello"; %h{[0m��Parse failed��»…
15:06 p6eval ..rakudo 8ead1e: OUTPUT«===SORRY!===␤Confused␤at /tmp/re4F_s4Vs2:1␤»
15:06 timotimo whoops.
15:06 timotimo p6: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; say %h{XYZ.new(:x(0), :y(0))};
15:06 p6eval pugs: OUTPUT«*** ␤    Unexpected "XYZ"␤    expecting word character, "|", ":", "*", parameter name or ")"␤    at /tmp/OlpVAolByl line 1, column 75␤»
15:06 p6eval ..rakudo 8ead1e: OUTPUT«Any()␤»
15:06 p6eval ..niecza v16-17-g648c49b: OUTPUT«world␤»
15:06 timotimo that's not what i meant to do actually
15:06 timotimo p6: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; say %h.perl;
15:06 p6eval rakudo 8ead1e: OUTPUT«("XYZ<-3377021848842683120>" => "hello", "XYZ<-3377021848846920162>" => "world").hash␤»
15:06 p6eval ..niecza v16-17-g648c49b: OUTPUT«{"XYZ()<instance>" => "world"}.hash␤»
15:06 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "XYZ"␤    expecting word character, "|", ":", "*", parameter name or ")"␤    at /tmp/fkHx7Gwk1U line 1, column 75␤»
15:07 timotimo niecza surely seems to get it right
15:07 timotimo niecza: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; %h{XYZ.new(:x(99), :y(99)} = "bork bork bork"; say %h.perl;
15:07 p6eval niecza v16-17-g648c49b: OUTPUT«[31m===[0mSORRY![31m===[0m��Unable to parse argument list at /tmp/sfNfs_rNqW line 1:�------> [32mew(:x(0), :y(0))} = "world"; %h{XYZ.new([33m�[31m:x(99), :y(99)} = "bork bork bork"; say [0m�Couldn't find final ')'; gave up at /tmp/sfNfs_rNqW line 1…
15:07 timotimo niecza: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; %h{XYZ.new(:x(99), :y(99))} = "bork bork bork"; say %h.perl;
15:08 p6eval niecza v16-17-g648c49b: OUTPUT«{"XYZ()<instance>" => "bork bork bork"}.hash␤»
15:08 timotimo nope, not right.
15:09 timotimo p6: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h{Any}; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; %h{XYZ.new(:x(99), :y(99))} = "bork bork bork"; say %h.perl;
15:09 p6eval rakudo 8ead1e: OUTPUT«(XYZ.new(x => 0, y => 0, z => 0) => "world", XYZ.new(x => 99, y => 99, z => 0) => "bork bork bork").hash␤»
15:09 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "XYZ"␤    expecting word character, "|", ":", "*", parameter name or ")"␤    at /tmp/14v3UP5mKm line 1, column 75␤»
15:09 p6eval ..niecza v16-17-g648c49b: OUTPUT«[31m===[0mSORRY![31m===[0m��Postconstraints, and shapes on variable declarators NYI at /tmp/FTvjqVALp7 line 1:�------> [32mYZ($.x $.y $.z)", ObjAt) } }; my %h{Any}[33m�[31m; %h{XYZ.new(:x(0), :y(0))} = "hello"; %[0m��Unhandled exception: Check fail…
15:09 timotimo oh, so that's required. neat.
15:09 REPLeffect joined #perl6
15:11 timotimo i totally didn't realize that yesterday/this morning
15:21 havenn joined #perl6
15:21 MayDaniel joined #perl6
15:25 moritz .oO( it's "moritz explains stuff" day on p6l again )
15:32 moritz [Coke]: maybe you should add   set -e   to the top of your spectest script
15:33 moritz [Coke]: that way it aborts when any of the commands fail. Will make it easier to detect such things in future
15:33 ggoebel joined #perl6
15:33 benabik `set -e` is your friend.  I add it to the top of nearly all of my scripts.
15:34 moritz it's like the 'use strict;' of shell scripting
15:34 moritz I use it way too little
15:35 moritz oh, and it's way too hard to find the functionality of 'set -e' in the docs
15:35 moritz 'man bash-builtins' => a huge page
15:36 moritz searching for 'set' is a nearly hopeless endeavor, way too many hits
15:36 moritz scrolling takes ages
15:36 xenu joined #perl6
15:36 benabik Biggest problem I have with set -e is that subshells don't cause a failure.  So I have to ( foo; bar ) || exit $?
15:38 NamelessTee joined #perl6
15:40 moritz https://github.com/bkase/git-paradox # nice
15:40 pernatiy joined #perl6
15:42 alester joined #perl6
15:47 thou joined #perl6
15:47 Psyche^ joined #perl6
15:56 timotimo what's the best way to loop until a list ("queue") is emptied while adding new elements from within the loop body?
15:57 moritz while @queue { ... }
15:58 moritz and use shift and push inside the body
15:58 timotimo ok
15:59 tokuhiro_ joined #perl6
16:02 timotimo whoops, .perl takes a while for a hash that has another hash in it that has that first hash in it
16:03 moritz quite a while.
16:03 moritz like, forever.
16:03 birdwind1pbird joined #perl6
16:04 timotimo yeah
16:05 timotimo hm, wouldn't it fill up the ram before forever?
16:05 moritz depends on whether you run a Turing machine or a DFA :-)
16:05 brrt left #perl6
16:09 timotimo :D
16:22 pmichaud r: say "foo"[0]
16:22 pmichaud rakudo: say 'hello'
16:23 pmichaud ENOP6EVAL
16:23 timotimo noooooooo
16:23 pmichaud Are strings supposed to recognize .[] ?  I don't think they are/should, but perhaps I'm misremembering.
16:24 sorear good * #perl6
16:24 sorear pmichaud: Any recognizes .[]
16:24 sorear a string pretends to be a one-item list
16:24 pmichaud yes, but only to return self for .[0] and out-of-range for other stuff
16:24 pmichaud okay, the example in rt #112216 seemed to imply that .[] could be used to index parts of a string
16:27 pmichaud anyway, I see the rakudobug... will fix.
16:28 GlitchMr joined #perl6
16:32 timotimo i wonder how hard a raycaster is to make ...
16:32 pmichaud fixed locally, spectesting
16:36 timotimo a question. if i want to bind a library that's written in C (and has an optional c++ api, too), would i do that with NativeCall?
16:36 timotimo would that be portable across niecza and rakudo? what about being future-proof?
16:37 arnsholt NativeCall/zavolaj is Rakudo-only, AFAIK
16:37 colomon not at all portable to Niecza yet
16:37 timotimo is it the only thing there is? is there maybe a more comfortable solution?
16:37 arnsholt I suppose that's something that'll be addressed at some point, but right now it's not
16:37 timotimo (i'll be trying to bind libtcod)
16:37 pmichaud I'm thinking of looking more at native call stuff at the p6 hackathon this month
16:39 tadzik fsergot: moderately well, they are just midterms so nothing critical (yet) :)
16:39 timotimo there is a C# version of libtcod. would that "just work" on niecza through some kind of magic? that's what .net was made for, right?
16:39 masak good evening, #perl6.
16:40 cognominal_ pmichaud, when do you expect bugs like https://rt.perl.org/rt3/Public/Bug/Display.html?id=111288 to be fixed?
16:41 pmichaud cognominal_: whenever I (or someone) finds the energy/motivation to fix it :)
16:41 pmichaud I might be able to take a look at it soon (next day or two)
16:42 [Coke] pmichaud++
16:42 cognominal_ and the competency too, that's why that falls on your lap  :)
16:43 cognominal_ I sound grumpy, but really, pmichaud++
16:44 dalek rakudo/nom: 1bbf9eb | pmichaud++ | src/core/Any.pm:
16:44 dalek rakudo/nom: Fix slicing of non-lists with infinite ranges (RT #112216, timotimo++).
16:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1bbf9ebbd2
16:45 timotimo \o/
16:45 timotimo thanks, pmichaud++
16:45 pmichaud > say "foo"[1..*]
16:45 pmichaud >
16:45 pmichaud > say "foo"[0..*]
16:45 pmichaud foo
16:45 pmichaud >
16:48 PZt joined #perl6
16:52 masak Tene: taking infinite time to calculate C<[*] 0, 0 ... *> feels kinda right to me. sure, we could introduce special-casing for 0 factors, but then the programmer will never feel the thrill of multiplying an infinite sequence into 0 ;)
16:53 masak (besides, such special-casing would couple infix:<*> and the reduction metaoperator in ways which are not necessarily beneficial.)
16:54 benabik masak: We'd need a generic way to cancel reduction.
16:56 benabik Or, probably better, a generic way to specialize reduction.
16:57 masak I can see the need for a generic way to exit a loop prematurely. I do not see the use case to exit a reduction prematurely. what's the use case, benabik?
16:59 benabik masak: [*] 0, 1, 2 ... * can exit the moment it sees the 0
17:00 masak that's the same use case as Tene's.
17:00 pmichaud iirc, the generic way to specialize reduction is to define   prefix:<[*]>
17:01 masak I am not convinced. when would the user go, "oh, thank god my infinite list of factors short-circuited on the 0 I knew was in there!"?
17:01 benabik masak: There are several similar things.  [&&] False, True, True;
17:01 [Coke] just stopping when you see a 0 isn't enough, though - you'd need to know you don't see any Failures/NaNs down th eline.
17:01 benabik When the user doesn't know there's a 0?
17:01 masak benabik: so it's either 0 or infinite loop?
17:02 masak also, what [Coke] said.
17:02 masak p6: say 0 * NaN
17:02 [Coke] ENOEVALBOT
17:03 masak :(
17:03 benabik Blah weak typing.  :-/
17:03 benabik Does reduction pay any attention to short-circuiting?
17:03 timotimo how would i smartmatch in a given block against a string, like i would if i used eqv?
17:03 pmichaud short-circuiting [*] and [&&]  feels like YAGNI
17:03 timotimo wrap it in / so it becomes a regex?
17:03 masak benabik: I agree about [&&]. it needs special-casing. but note that && *is* short-circuiting. * isn't.
17:04 masak benabik: in the sense that if the rhs of infix:<*> is 0, the lhs is still evaluated.
17:04 masak er. other way around.
17:05 masak damn tricky left/right distinction :P
17:05 benabik Several languages do short circuit on values like 0 * _.  But now that I think about it, they have stronger type systems, so you know you're dealing with ints and don't have to worry about NaN, failure, etc.
17:05 pmichaud note that [&&] doesn't short-circuit evaluation of its arguments
17:06 pmichaud e.g.,  [&&]  a(), b(), c(), d()
17:06 timotimo so one would have to have a lazy list first?
17:07 cognominal_ pmichaud, I have updated nqpq  :   https://gist.github.com/2293712
17:07 masak pmichaud: why not, ooc?
17:07 pmichaud masak:  S03:4611
17:08 pmichaud Similarly, list-associative operators that have the thunk-izing characteristics of
17:08 pmichaud macros (such as short-circuit operators) lose those macro-like characteristics.
17:08 pmichaud You can say
17:08 pmichaud [||] a(), b(), c(), d()
17:08 pmichaud to return the first true result, but the evaluation of the list is controlled
17:08 pmichaud by the semantics of the list, not the semantics of C<||>.
17:08 cognominal_ pmichaud, with this update, World stuff works but  ./nqpq -e 'grammar A { token TOP { a } }; A.parse("a")'      gives  invoke() not implemented in class 'Capture'
17:09 pmichaud cognominal_: I don't know if anyone's been maintaining nqpq since I worked on it last summer, so I'm not too surprised if it fails.
17:10 TimToady otoh, //= is useless as a cache idiom if it doesn't thunk the right side
17:10 cognominal_ pmichaud, at least, being written in nqp, it will be easier to maintain once it will work
17:11 pmichaud cognominal_: well, yes, that's kind of the point of nqpq.   But I suspect it's easier for me to start a new nqpq from the existing nqp than it is to try to apply lots of patches to the existing one.
17:11 TimToady and if we thunkize the right side of //=, it's not a big stretch to other meta-ops
17:12 TimToady perl6: my $a = 1; $a //= die "oops"
17:12 cognominal_ pmichaud, I am not so sure.  regexen seems to work (not tested much) but as I said, I have problems with grammars.
17:12 pmichaud ENOP6EVAL
17:12 TimToady oops
17:12 bbkr std: [()]{}
17:13 Chillance joined #perl6
17:13 pmichaud cognominal_: well, it has as much to do with my comfort level of fixes as it does with "what seems to work"
17:13 cognominal_ :)
17:13 pmichaud I'd be much more comfortable starting with the existing nqp code (known to work and in the current toolchain) than to try to patch up code that hasn't been touched much in eight months.
17:13 lateau joined #perl6
17:14 masak tadzik: feature request in Rakudo: =data
17:14 masak kthx
17:15 tadzik masak: do you have any particular usecase in mind?
17:15 lateau left #perl6
17:15 pmichaud afk here -- bank run and lunch
17:18 ggoebel joined #perl6
17:23 lichtkind joined #perl6
17:24 masak tadzik: so, here's what happened. I started out doing a Perl 5 script with a __DATA__ section at the end. but before finishing it I really felt I needed the >>+=<< operator, so I switched to Perl 6.
17:25 masak but neither Rakudo nor Niecza does =data, so I had to workaround that part.
17:26 lichtkind hai masak
17:27 [Coke] I think data is nifty, but I rarely want it for things that I intend to use more than once.
17:27 masak lichtkind: konichiwa
17:27 [Coke] just as a one more =data point.
17:28 masak [Coke]: right, this was just a one-off script.
17:28 lichtkind [Coke]: to my current kephre writing style =data would be essential
17:28 lichtkind #= even more so
17:28 masak [Coke]: actually, it started of as a \s-separated data file, and then I thought "hey, I can write the script in the same file without even leaving vim!" :)
17:28 lichtkind masak: do you know if $*KERNEL is  official
17:29 masak lichtkind: S28 buyer beware grain of salt here be dragoons :)
17:30 [Coke] we just need to make perl scripts like .xlsx files; the .pl is really a .zip, and all the data and code is inside. :)
17:30 [Coke] rakudo is back down to the 30 failures from months ago.
17:30 [Coke] # 04/03/2012 - rakudo++ ; niecza (95.46%); pugs (38.61%)
17:30 [Coke] "niecza",     20345,     1,   749,  1531, 22626, 24040
17:30 [Coke] "pugs"  ,      8229,     0,  3021,  1346, 12596, 23849
17:30 [Coke] "rakudo",     21311,    30,   636,  1897, 23874, 24050
17:31 masak [Coke]++
17:34 dalek roast: 97359c6 | coke++ | test_summary:
17:34 dalek roast: pugs runs some S01 tests
17:34 dalek roast: review: https://github.com/perl6/roast/commit/97359c6aee
17:38 tadzik masak: sounds sensemaking. I'll try to tackle this once I catch up with sleeping
17:40 colomon does std parse =data?
17:40 TimToady no
17:40 colomon that will make matters more difficult, I reckon.  :)
17:41 fglock joined #perl6
17:42 TimToady std requires begin/end or for
17:44 [Coke] doesn't pod variables give you this already?\
17:45 [Coke] (or something very much like it?)
18:00 brrt joined #perl6
18:04 moritz r: say 0..0 ~~ 0..0
18:04 moritz ENOP6EVAL
18:05 p6eval joined #perl6
18:06 moritz r: say 0..0 ~~ 0..0
18:06 p6eval rakudo 57a681: OUTPUT«True␤»
18:06 moritz r: say 0..0 ~~ 0..1
18:06 p6eval rakudo 57a681: OUTPUT«False␤»
18:09 pernatiy joined #perl6
18:09 colomon n: say 0..0 ~~ 0..1
18:09 p6eval niecza v15-6-gefda208: OUTPUT«False␤»
18:12 masak p6: say 3..4 ~~ 1..5
18:12 p6eval rakudo 57a681, niecza v15-6-gefda208: OUTPUT«False␤»
18:12 p6eval ..pugs: OUTPUT«␤»
18:12 havenn joined #perl6
18:16 * masak ponders the pros and cons of spec'ing Range ~~ Range as doing a "compatibility"/subset check
18:17 spider-mario joined #perl6
18:18 masak spider-mario! \o/
18:19 moritz masak: all(range1) ~~ range2 already does the subset check
18:19 moritz though probably not very efficiently
18:19 spider-mario good evening :)
18:19 masak and it contains a discretization step, which feels inelegant.
18:19 spider-mario or whatever part of the day you are in
18:20 * masak is in a train :)
18:20 spider-mario :D
18:20 spider-mario from where to where, if I may ask?
18:21 masak from slightly before sunset to late night.
18:21 spider-mario :D (bis)
18:21 dalek rakudo/nom: 4373f09 | moritz++ | src/core/ (2 files):
18:21 dalek rakudo/nom: throw typed X::OutOfRange exception from Any.at_pos
18:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4373f09f61
18:21 tadzik good just-evening spider-mario :)
18:21 masak I prefer going in this direction. but my seat is facing the other way.
18:22 spider-mario 20:22 here
18:22 spider-mario (8:22 PM)
18:22 masak ooh, that's my time as well ;)
18:22 * masak looks around to see if he can spot spider-mario :)
18:23 spider-mario I’m currently in Rouen (France)
18:23 spider-mario that’s where I study
18:23 masak merveilleux.
18:24 spider-mario certes. :)
18:24 sorear o/ masak, spider-mario
18:24 brrt r: our @foo = Rat(2.sqrt).nude
18:24 p6eval rakudo 57a681: OUTPUT«Method 'STORE' not found for invocant of class 'Any'␤  in block <anon> at /tmp/FKxpycXkP6:1␤␤»
18:25 brrt perl6: our @foo = Rat(2.sqrt).nude
18:25 p6eval pugs: OUTPUT«*** No such method in class Rat: "&nude"␤    at /tmp/H6uXnaUwyI line 1, column 12 - line 2, column 1␤»
18:25 p6eval ..niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Rat␤  at /tmp/lJFTWjzdWZ line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)…
18:25 p6eval ..rakudo 57a681: OUTPUT«Method 'STORE' not found for invocant of class 'Any'␤  in block <anon> at /tmp/e2ko1VfZ77:1␤␤»
18:25 masak sorear! \o/
18:25 spider-mario \o
18:25 brrt our $foo = Rat(2.sqrt).nu
18:26 brrt perl6: our $foo = Rat(2.sqrt).nu
18:26 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Rat␤  at /tmp/aYz5FrMQjo line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)…
18:26 p6eval ..rakudo 57a681: OUTPUT«Method 'nu' not found for invocant of class 'Rat'␤  in block <anon> at /tmp/vM9LGy4fvb:1␤␤»
18:26 p6eval ..pugs: OUTPUT«*** No such method in class Rat: "&nu"␤    at /tmp/hvMdWSi_E5 line 1, column 7 - line 2, column 1␤»
18:26 brrt fair enough.. does anyone know why rakudo acts the way it does?
18:26 [Coke] p: say 3.Int
18:26 p6eval pugs: OUTPUT«3␤»
18:26 [Coke] p: "\o/".say
18:26 p6eval pugs: OUTPUT«\o/␤»
18:27 brrt why can't i assign anything to an array?
18:27 timotimo how do i given-when for strings? smartmatch seems to want to cast the string to Num
18:28 timotimo r: given "foo" { when "foo" { say "foo!" }; default { say "bar"; } ; }
18:28 p6eval rakudo 57a681: OUTPUT«foo!␤»
18:28 timotimo well, that's embarassing
18:28 timotimo my confusion seems to come from a lack of line numbers in error messages ... again :\
18:29 brrt r: say <2/6>.perl
18:29 p6eval rakudo 57a681: OUTPUT«"2/6"␤»
18:29 brrt p: say <2/6>.perl
18:29 p6eval pugs: OUTPUT«"2/6"␤»
18:32 brrt p6eval: say "foobar".graphs
18:32 moritz brrt: try it with 'my', not 'our'
18:32 moritz brrt: rakudo has a regression with 'our' arrays and hashes, but we use them so seldomly it took some time to notice
18:33 timotimo ah, i've tried to use the outer topicalizer, forgetting that it gets overwritten by given ...
18:33 brrt moritz: that works :-)
18:34 brrt thanks
18:35 dalek evalbot: 51491c5 | moritz++ | sync.pl:
18:35 dalek evalbot: synchronization script
18:35 dalek evalbot: review: https://github.com/perl6/evalbot/commit/51491c5f68
18:39 dalek evalbot: 3d5677e | moritz++ | sync.pl:
18:39 dalek evalbot: fix thinko
18:39 dalek evalbot: review: https://github.com/perl6/evalbot/commit/3d5677e17d
18:40 dalek evalbot: 97ff805 | moritz++ | sync.pl:
18:40 dalek evalbot: chdir before syncing
18:40 dalek evalbot: review: https://github.com/perl6/evalbot/commit/97ff80509d
18:41 GlitchMr perl6: print 10..1
18:41 p6eval pugs, rakudo 4373f0, niecza v15-6-gefda208:  ( no output )
18:41 GlitchMr Am I not understanding something?
18:43 benabik Ranges can't be backwards.
18:43 benabik p6: print 10...1
18:43 p6eval rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«10987654321»
18:43 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "1"␤    expecting operator, ":", "," or term postfix␤    at /tmp/lBOSIi3Jrd line 1, column 12␤»
18:44 vlixes joined #perl6
18:44 lichtkind TimToady: can i have official approve that $*OS and $*OSNAME are dead?
18:44 GlitchMr This is confusing...
18:44 tadzik lichtkind's back!
18:44 tadzik lichtkind: about OS, what are you running now?
18:45 GlitchMr But I guess it makes sense with arbitary ranges...
18:45 masak someone needs to reach into the Unicode consortium and physically stop them. http://www.unicode.org/charts/PDF/U1F300.pdf
18:45 tadzik yeah, that is far beyond any border of sanity and sense
18:45 masak "ear of maize"? "bento box"? "woman with bunny ears"!?
18:46 jferrero joined #perl6
18:46 moritz published on April 1st?
18:46 lichtkind tadzik: ubuntu but im about to change to fedora or mint
18:46 masak moritz: I wish.
18:46 * [Coke] hopes PerlJam and pmichaud are nowhere near those tornados.
18:47 tadzik lichtkind: I have no experience with Fedora, but I find Mint more friendly than Ubuntu, and I Mint is the one I usually direct to newbies. What drives you off Ubuntu though?
18:47 tadzik FRONT-FACING BABY CHICK
18:48 tadzik does any Unicode guy/gal really believe that anyone, ever, is going to use characters of this sort?
18:48 sorear 3 earth globes!
18:48 masak somewhere, in a Unicode meeting, someone must have been discussing whether to include both "baby chick" and "front-facing baby chick". /o\
18:48 lichtkind tadzik: i like unitiy in next 2 generations it will be awesawesome but i simple dont like it when an os crashes when i have running flash +another vid player
18:48 tadzik "Great, we have sooooo many code points, let's fill them with BS"
18:49 sorear tadzik: I think that most of these are interop with the in-house code pages of Japanese cell carriers
18:49 tadzik "Surely we won't need them later"
18:49 GlitchMr INPUT SYMBOL FOR LATIN LETTERS...
18:49 GlitchMr Shouldn't this be part of GUI if anything and not separate character?
18:49 masak one would think.
18:50 masak "we need a symbol for the input of different types of symbols that we already have"
18:50 GlitchMr INPUT SYMBOL FOR MISC SYMBOLS?
18:50 tadzik sorear: so, like brother symbols, a japanese character and its meaning as a drawing, or such?
18:51 GlitchMr I wonder what next? Unicode characters which have to written in certain color...
18:51 GlitchMr Oh wait...
18:51 * PerlJam looks outside ...
18:51 GlitchMr 1F499 BLUE HEART...
18:51 GlitchMr Seriously what?
18:51 PerlJam there's some wind, but not tornado :)
18:51 PerlJam s/not/no/
18:51 vlixes 1F4B8 MONEY WITH WINGS
18:51 vlixes
18:52 tadzik FROG FACE is awesome
18:52 moritz I don't see a publishing date in that PDF
18:52 GlitchMr vlixes, seriously, what they were drinking while doing this?
18:52 sorear tadzik: I think it's more like the cell carriers go "we have a few thousand empty slots in our codepage"
18:53 masak GlitchMr: UniCola.
18:53 tadzik masak: :D
18:53 tadzik . o O ( There's a character for that! )
18:53 sorear there's a large gap between 256 and 65536, and including additional kanji runs into extremely diminishing returns past 5000 or so
18:54 sorear (the set of characters that all educated people are expected to use only numbers 2000)
18:55 tadzik NAIL POLISH
18:55 tadzik it would sound wrong in different context
18:56 GlitchMr January 31, 2012
18:56 GlitchMr ...
18:56 vlixes GlitchMr, they need to get fun in some way I guess
18:56 GlitchMr Heh...
18:56 birdwindupbird joined #perl6
18:57 GlitchMr Soon, 32-bit will be not enough...
18:57 masak you Japanese lovers are so cute, referring to hanzi as "kanji"... :P
18:57 * Teratogen is waiting for 128 bit processors to come into vogue
18:57 Teratogen 128 bit epoch!
18:57 Teratogen WHOOP!
18:58 * moritz wants a cluebat that works over the Internet
18:59 tadzik moritz: I presume there's a codepoint for that
18:59 masak FRONT-FACING CLUEBAT
18:59 moritz tadzik++
19:00 brrt is there a way to use matched character is the trans method,
19:00 benabik masak: head-facing cluebat
19:00 brrt say to uppercase only certain letters
19:00 masak brrt: sounds like you want .subst, not .trans
19:01 brrt ok :-)
19:03 masak r: $_ = "The answer is 2 + 2"; s[\d+ \s* '+' \s* \d+] = eval $/; .say
19:03 p6eval rakudo 4373f0: OUTPUT«Nominal type check failed for parameter '$code'; expected Str but got Match instead␤  in sub eval at src/gen/CORE.setting:443␤  in block <anon> at /tmp/1pU1SleqHo:1␤␤»
19:04 masak r: $_ = "The answer is 2 + 2"; s[\d+ \s* '+' \s* \d+] = eval ~$/; .say
19:04 p6eval rakudo 4373f0: OUTPUT«The answer is 4␤»
19:04 masak whoa.
19:04 masak I... whoa.
19:04 tadzik :)
19:04 masak rakudo++
19:05 moritz r: "foo"[2]
19:05 p6eval rakudo 4373f0:  ( no output )
19:05 moritz r: use fatal; "foo"[2]
19:05 p6eval rakudo 4373f0: OUTPUT«Index out of range. Is: 2, should be in 0..0␤  in block <anon> at src/gen/CORE.setting:8217␤  in method at_pos at src/gen/CORE.setting:1169␤  in method postcircumfix:<[ ]> at src/gen/CORE.setting:1138␤  in block <anon> at /tmp/V3yAICnwR_:1␤␤»
19:05 moritz r: use fatal; "foo"[2..*]
19:05 p6eval rakudo 4373f0:  ( no output )
19:06 tadzik r: use fatal; say "foo"[2..*]
19:06 p6eval rakudo 4373f0: OUTPUT«␤»
19:08 masak r: $_ = "The answer is either 2 + 2 or 40 + 2"; s:g[\d+ \s* '+' \s* \d+] = eval ~$/; .say
19:08 p6eval rakudo 4373f0: OUTPUT«The answer is either 4 or 42␤»
19:08 masak \o/
19:10 masak I don't understand anymore why I used to dislike the s[]= form so. it's awesome.
19:11 sorear masak: I don't understand how anyone could not like it either.
19:12 sorear n: $_ = 'This... it is a STRING!'; s:g[\w+] .= flip; .say
19:12 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed assignment operator at /tmp/GMd1lirM18 line 1:�------> [32m= 'This... it is a STRING!'; s:g[\w+] .=[33m�[31m flip; .say[0m��Parse failed��»
19:12 sorear n: $_ = 'This... it is a STRING!'; s:g[\w+] .=flip; .say
19:12 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed assignment operator at /tmp/1NKm6wn_vy line 1:�------> [32m= 'This... it is a STRING!'; s:g[\w+] .=[33m�[31mflip; .say[0m��Parse failed��»
19:12 sorear r: $_ = 'This... it is a STRING!'; s:g[\w+] .= flip; .say
19:12 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Missing assignment operator␤at /tmp/5V25lEHn16:1␤»
19:13 sorear n: $_ = 'This... it is a STRING!'; s:g[\w+] ~= '!'; .say
19:13 p6eval niecza v15-6-gefda208: OUTPUT«This!... it! is! a! STRING!!␤»
19:13 masak clearly the .= form should work, though.
19:13 sorear aye
19:14 masak std: 'This... it is a STRING!'; s:g[\w+] .= flip; .say
19:14 p6eval std 1ad3292: OUTPUT«ok 00:00 42m␤»
19:15 masak STD.pm6 agrees.
19:15 * masak submits rakudobug
19:15 moritz all the meta ops don't work
19:15 * masak submits nieczabug
19:15 moritz masak: I think we already have a ticket for that
19:16 moritz at least we have failing tests for +=
19:16 masak ok, unsubmitting the rakudobug.
19:17 fsergot s:g[\w+] .= flip; how does it work?
19:17 lichtkind moritz: any thoughts why module URI fails?
19:17 fsergot like $_ ~~ ?
19:17 moritz fsergot: it doesn't. That's the problem.
19:17 moritz lichtkind: no. You?
19:18 fsergot moritz: so, how should it work ? :)
19:18 masak fsergot: yes, it should substitute on $_
19:18 masak fsergot: the matched part is flipped, thanks to .=flip
19:18 fsergot Great, thanks. masak++ moritz++
19:18 masak fsergot: and it matches as many times as it can, thanks to :g
19:19 masak well, as many non-overlapping times as it can ;)
19:19 masak r: $_ = "babababababab"; s:g[bab] = "BAB"; .say
19:19 p6eval rakudo 4373f0: OUTPUT«BABaBABaBABab␤»
19:19 masak :D
19:20 moritz r: $_ = "babababababab"; s:ov[bab] = "BAB"; .say
19:20 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Adverb ov not allowed on substitution␤at /tmp/SzM3kAbzkC:1␤»
19:21 fsergot Awesome, now it's clear! :)
19:21 TimToady new RC entry: http://rosettacode.org/wiki/Runge-Kutta_method#Perl_6
19:21 fsergot r: $_ = "babababababab"; s:g[bab] ~= "BAB"; .say
19:21 p6eval rakudo 4373f0: OUTPUT«===SORRY!===␤Missing assignment operator␤at /tmp/sDzWeGykQC:1␤»
19:22 fsergot Right..
19:22 fsergot :)
19:22 * moritz hopes it does   use Math::RungeKutta;
19:23 moritz nope :(
19:23 masak :/
19:23 TimToady no, it's a demo of how to *implement* it
19:24 TimToady but feel free to add the other as an alternate solution :)
19:25 fsergot There can be two versions. :)
19:25 TimToady perl6: use Math::RungeKutta;
19:25 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to locate module Math::RungeKutta in @path␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3) ␤  at /home/p6eval/niecza/src/NieczaPathSearch.pm6 line 23 (NieczaPathSearch.load_module @ 13) ␤  at /home/p6eval/niecz…
19:25 p6eval ..rakudo 4373f0: OUTPUT«===SORRY!===␤Could not find Math::RungeKutta in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst1/lib/parrot/4.2.0-devel/languages/perl6/lib, .␤»
19:25 p6eval ..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤    at /tmp/s3iUmwK0o9 line 1, column 1␤»
19:26 fsergot Have to go. Good night #perl6 o/
19:27 masak 'branoc, fsergone already :)
19:27 moritz star: use Math::RungeKutta;
19:27 masak p6eval--
19:27 moritz feel free to install star on feather1, user p6eval
19:28 p6eval joined #perl6
19:28 masak I'm soon getting off this train... :)
19:29 TimToady also, feel free to make rakudo grok the RC code :)
19:29 p6eval star 2012.01: OUTPUT«Can't chdir to '/home/p6eval/rakudo-star-2012.01/': No such file or directory at lib/EvalbotExecuter.pm line 179␤  EvalbotExecuter::_auto_execute('HASH(0x8a33c08)', 'use Math::RungeKutta;', 'GLOB(0x8addc60)', '/tmp/3ocA6fqOK3', 'star') called at lib/EvalbotExecuter.p…
19:29 avar joined #perl6
19:29 avar joined #perl6
19:29 literal joined #perl6
19:29 groky joined #perl6
19:30 PerlJam TimToady: cute use of unicode
19:30 PerlJam (and by "cute" I mean something more akin to "appropriate" :)
19:31 lichtkind joined #perl6
19:31 TimToady though there's a deficiency in niecza that prevents use of numeric subscripts there
19:31 lichtkind shit crashed 4th tie today
19:31 TimToady and the modifier letter prime didn't work either
19:31 TimToady lichtkind: there is no $*OS any more, since that's an overly ambiguous concept
19:32 lichtkind and i suppose $*OSNAE too
19:32 TimToady and in any case, one should get the .name for some object
19:32 TimToady *from
19:32 TimToady so $*DISTRO.name or $*KERNEL.name or $*VM.name
19:33 lichtkind thats ny understanding just rakudo did otherwise
19:33 lichtkind thanks you
19:34 TimToady perl6: my $y₁ = 42; say $y₁
19:34 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Confused at /tmp/qNNs12psD8 line 1:�------> [32mmy $y[33m�[31m� = 42; say $y�[0m��Parse failed��»
19:34 p6eval ..rakudo 4373f0: OUTPUT«===SORRY!===␤Confused␤at /tmp/QO0eEXeWNI:1␤»
19:34 p6eval ..pugs: OUTPUT«42␤»
19:34 TimToady perl6: my $yʹ = 42; say $yʹ
19:35 p6eval pugs, rakudo 4373f0: OUTPUT«42␤»
19:35 p6eval ..niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Confused at /tmp/lh8EHeQRjK line 1:�------> [32mmy $y[33m�[31mʹ = 42; say $yʹ[0m��Parse failed��»
19:35 moritz eval: use utf8; 'ʹ' =~ /\w/
19:35 buubot_backup moritz: 1
19:36 moritz n: say so 'ʹ' ~~ /\w/
19:36 p6eval niecza v15-6-gefda208: OUTPUT«False␤»
19:37 TimToady perl6: say so '₁' ~~ /\w/
19:37 p6eval rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«False␤»
19:37 p6eval ..pugs: OUTPUT«*** No such subroutine: "&so"␤    at /tmp/CpRjh8cABh line 1, column 5 - line 2, column 1␤»
19:37 TimToady perl6: say so '¹' ~~ /\w/
19:38 p6eval rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«False␤»
19:38 p6eval ..pugs: OUTPUT«*** No such subroutine: "&so"␤    at /tmp/LjHj9ESo85 line 1, column 5 - line 2, column 1␤»
19:39 TimToady pugs: say '¹' ~~ /\w/
19:39 p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
19:39 TimToady eval: use utf8; '¹' =~ /\w/
19:39 buubot_backup TimToady: No output.
19:39 TimToady eval: use utf8; print "yes" if '¹' =~ /\w/
19:39 buubot_backup TimToady: No output.
19:40 TimToady hmm
19:40 lichtkind what is |w?
19:41 masak word boundary.
19:41 PerlJam word character
19:42 moritz 'or w'
19:43 lichtkind ok i fixed S28
19:43 TimToady S05:1873
19:43 lichtkind hope i can push it
19:45 * masak gets off the train
19:46 PerlJam lichtkind: to clarify (hopefully),  <|w>  will match a word boundary, and  \w will match a word character.   (I was guessing a typo on your part and answering the latter)
19:46 lichtkind thank you
19:46 lichtkind are more chars like |.. there ?
19:47 PerlJam lichtkind: See S05 :)
19:49 moritz p6: say so 'w' ~~ /<:w>/
19:49 TimToady ENOp6ALIAS?
19:50 p6eval pugs, rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«(timeout)»
19:50 TimToady ETOOSLOW...
19:51 moritz p6: say so 'w' ~~ /<:w>/
19:51 lichtkind PerlJam: thanks 3 new items
19:51 spider-mario why is it taking ages?
19:52 lichtkind we get to the 1000
19:52 p6eval rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«(timeout)»
19:52 p6eval ..pugs: OUTPUT«*** No such subroutine: "&so"␤    at /tmp/bUMqsZJWGG line 1, column 5 - line 2, column 1␤»
19:52 spider-mario pugs doesn’t have so?
19:52 tadzik it would seem so
19:52 PerlJam pugs was old when so was created
19:52 tadzik H A H A H A
19:56 lichtkind are there also <gc> ?
19:56 lichtkind grapheme boundary subrule?
19:59 lichtkind anybody here with git clues?
19:59 [Coke] spider-mario: please open a ticket for missing "so" at github.com/perl6/Pugs.hs
20:06 lichtkind has anyone clue why git uses a usernam for me i cant find in any config?
20:07 moritz maybe it's in a config you can't find
20:07 moritz ~/.gitconfig
20:08 lichtkind i would not ask if its that eas y:)
20:08 moritz well, how could I know what's easy for you?
20:09 lichtkind true
20:10 lichtkind but maybe there is a global in the etc/config or so
20:10 lichtkind im getting mag here
20:10 lichtkind i cant clone
20:10 Tene git config --global --list
20:10 Tene if that doesn't list it, check your environment.
20:10 Tene If that does list it, it's in a global config
20:11 Tene might also be in your per-repo config, maybe.
20:11 moritz but it if was that easy, lichtkind wouldn't need to ask.
20:11 doy it will pull your real name from /etc/passwd if nothing is set, i believe
20:11 doy which you probably set when you installed your system
20:12 Tene yes
20:12 doy and email defaults to ${USER}@`hostname` or so
20:13 moritz ok, i know now why stuff was timing out earlier
20:14 moritz I accidentally tried to build rakudo star on feather3 (instead of feather1)
20:14 lichtkind thank you tnee but that brought no new insights
20:14 lichtkind i studied the error msg and chose the https version
20:14 moritz and it went deep into swap space
20:14 lichtkind works now
20:14 lichtkind thanks all for support
20:15 lichtkind at least im not allone in that
20:17 brrt is there a zip library for perl6?
20:17 brrt better yet, is there something like exec()?
20:18 masak yes to the latter question.
20:18 masak shell(), IIRC.
20:18 masak a zip library would be cool, but frankly I don't think we have the perf yet :/
20:18 masak still, a slow zip library would be slightly cool, too :P
20:20 brrt undoubtly; for my purposes shell() will do :-)
20:21 TimToady .u ????
20:21 phenny U+1F37B (No name found)
20:22 lichtkind aaah im so used to type hg so my poor brain has to think each time i type git
20:22 [Coke] hey! I'm doing the rakudo release this month.
20:22 dalek specs: 7658104 | (Herbert Breunung)++ | S28-special-names.pod:
20:22 dalek specs: replaced $*OSNAME which is long gone
20:22 dalek specs: review: https://github.com/perl6/specs/commit/7658104d48
20:22 masak lichtkind: alias hg=git
20:22 masak :P
20:22 [Coke] I wonder if I need to think about that until 2 days before the release. ;)
20:23 lichtkind my first commit
20:23 lichtkind to the spec at least
20:23 lichtkind i have to put in my name :)
20:25 lichtkind masak: but you know i need hg for my projects which are using it
20:28 colomon joined #perl6
20:30 moritz wow, King's Gambit solved.
20:30 * masak hgs lichtkind ;)
20:30 moritz http://chessbase.com/newsdetail.asp?newsid=8047
20:31 masak moritz: that's... impressive.
20:32 y3llow_ joined #perl6
20:32 bruges_ joined #perl6
20:32 masak rolling my suitcase from the train station and home to my apartment, I realized that I want to effect the following change on the spec:
20:32 localhost joined #perl6
20:33 moritz it's not solved by exhaustive search, the search aborts if a rating is found that is a clear win for either party
20:33 fgomez joined #perl6
20:33 masak I want there to be a user-definable way to create lvalue constructs, like s[] and substr and vec.
20:33 masak also, whatever happened to vec in Perl 6? is it even in the spec?
20:33 benabik Proxy?
20:33 masak yeah, Proxy will maybe figure in such a solution.
20:34 TimToady vec is supposed to be replaced by Bool @vec and such
20:34 moritz (and I have wager running until 2050 if chess is solved. I said no. It's the first time I kinda fear to lose that wager)
20:34 masak I want something that will make things lvalues when needed, but that will not hurt performance for ordinary rvalue calculations.
20:35 moritz masak: that sounds like a worthy goal
20:35 masak TimToady: how do I create a Bool @vec? what do you mean by "and such"? vec works at any power-of-2 precision.
20:35 masak TimToady: the nice thing about vec is precisely its lvalue capabilities.
20:35 TimToady Uint4 @vec
20:35 TimToady er, uint
20:36 y3llow joined #perl6
20:36 masak I'd much rather use uint1 than Bool, by the way :P
20:36 masak and again, it's the two-way-binding that's the key.
20:36 TimToady anyway, the plan is to have compact arrays of tiny integers
20:37 TimToady and they put in U+1F37B just to mollify you, but especially jnthn
20:38 [Coke] .u 1F37B
20:38 phenny [Coke]: Sorry, no results for '1F37B'.
20:38 y3llow joined #perl6
20:38 TimToady CLINKING BEER MUGS
20:39 masak :)
20:39 Teratogen did you know you can use greek letters for variable names in javascript?
20:39 Teratogen pretty neat!
20:39 masak Teratogen: that's highly original! :)
20:39 moritz it works in most modern languages
20:39 moritz including p5, p6, java and a few others
20:41 Teratogen well I think there should be a perl keyboard just like there was an apl keyboard
20:41 Teratogen what do you think of THOSE apples?
20:41 geekosaur haskell (thereby pissing people off because they want λ to be an operator character...)
20:41 masak proposal: Cool.vec($size where { $size.fmt("%b") ~~ /^10+$/ }) creates an array of $size-sized uints. but it's also proxied such that assignment to the elements reflect back on the original container.
20:41 masak there should also be a sub form.
20:42 masak Teratogen: I think APL keyboards are cute, but that that time is past. I think you think so too.
20:43 Teratogen there was a "space cadet" keyboard that had five meta buttons I think
20:43 Teratogen shift, ctrl, alt, esc, meta, meta-meta
20:44 tokuhiro_ joined #perl6
20:44 Teratogen err, correction, seven
20:45 lichtkind masak: lets say i put my name into the syn after the third change :)
20:45 dalek evalbot: 356641f | moritz++ | / (2 files):
20:45 dalek evalbot: adapt to current realities
20:45 dalek evalbot: review: https://github.com/perl6/evalbot/commit/356641f867
20:46 moritz evalbot control restart
20:46 p6eval joined #perl6
20:47 moritz nqp: say('alive')
20:47 pyrimidine :(
20:47 moritz I don't know why, but the first execution after a restart always seems to take ages
20:47 p6eval nqp: OUTPUT«alive␤»
20:48 moritz star: use Math::RungeKutta;
20:48 p6eval star 2012.02:  ( no output )
20:48 moritz \o/
20:48 moritz std: 1
20:48 p6eval std 1ad3292: OUTPUT«ok 00:00 40m␤»
20:48 pyrimidine moritz++
20:49 moritz enough p6eval hacking for me. Tomorrow: new HPMoR chapter.
20:49 masak \o/
20:49 masak pyrimidine: did you hear about the guy who wants to work on bioperl6?
20:49 pyrimidine have a couple, actually
20:50 * pyrimidine backlogs to find that...
20:52 pyrimidine ah, yes
20:53 pyrimidine masak: leont was correct, we responded to the interested student and mentioned that focusing on a subset would be best, considering bioperl is ~2000 modules
20:54 kaare_ joined #perl6
20:54 pyrimidine not to mention a good chunk of those need significant refactoring ;)
20:55 masak pyrimidine++
20:57 lichtkind TimToady: is the a <gb> and <cb> subrule?
20:59 masak I can't seem to get Proxy.STORE to work in Rakudo. it's all defined in BOOTSTRAP.pm, but maybe it isn't wired up in other places?
21:00 masak anyway, I got FETCH to work for vec()
21:00 masak r: use MONKEY_TYPING; augment class Cool { method vec($size where { .fmt("%b") ~~ /^10*$/ }) { my $v = self; return map -> $p { Proxy.new(FETCH => { ($v +> $p) % 2 }) }, ^self.fmt("%b").chars } }; my @vec = 42.vec(1); say @vec.fmt
21:00 p6eval rakudo 4373f0: OUTPUT«0 1 0 1 0 1␤»
21:01 masak up until that point, Proxy was a breeze to use. I really like creating up two-way bindings like this.
21:02 havenn joined #perl6
21:04 masak 'night, #perl6
21:05 dalek specs: 6ef69b9 | (Herbert Breunung)++ | S28-special-names.pod:
21:05 dalek specs: pod vars are now lowercase as seen in 3e1a9a5a576b90e9eeabdb7083d16431513513f2
21:05 dalek specs: review: https://github.com/perl6/specs/commit/6ef69b98d8
21:05 lichtkind good night masak
21:06 lichtkind still not get the rational behind lowercase POD things
21:06 pmichaud 18:46  * [Coke] hopes PerlJam and pmichaud are nowhere near those tornados.
21:06 [Coke] I know, texas is huge. ;)
21:06 pmichaud actually, one of them was fairly close (< 10 miles)
21:07 pmichaud and one of the key "tracked" storm cells went right over our neighborhood, but no damage.
21:07 huf how wide is a tornado? a couple hundred meters, right?
21:07 pmichaud ("tracked" storm cells == covered real-time on local news along with warnings to "seek cover" :)
21:08 pmichaud anyway, all is well here so far.  still some heavy storms aiming at us for the next hour or so
21:08 TimToady huf: can be up to a mile wide
21:09 huf TimToady: the funnel? or the really really dangerous area where funnels can form at any time?
21:09 TimToady http://en.wikipedia.org/wiki/Tornado_records#Widest_damage_width
21:09 huf ... which is kinda how i imagine tornados...
21:09 pmichaud the really really dangerous area can be a mile wide
21:09 huf whoa...
21:09 TimToady at some point they turn into a funnel of funnels
21:10 pmichaud around here they don't tend to be that wide, though -- ours tend to be F-2 category, which is about 150m
21:10 huf hmm, that just wipes a block or two, not an entire town...
21:10 huf well, or three or four
21:11 TimToady the one that was 2.5 miles wide was probably multiple funnels all going 'round together
21:11 huf glad we only get a small one and that only every century or so :)
21:11 pmichaud there's some good-quality video of these tornadoes; especially the one that went through a semitrailer park
21:12 TimToady the large ones tend to kick up so much debris that you can't actually see whether they're single or multiple from the outside without radar
21:12 spider-mario star: macro test {quasi {say "Hello!"}}; test
21:12 p6eval star 2012.02: OUTPUT«===SORRY!===␤Macros are not yet implemented at line 1, near " test {qua"␤»
21:12 spider-mario rakudo: macro test {quasi {say "Hello!"}}; test
21:12 p6eval rakudo 4373f0: OUTPUT«Hello!␤»
21:12 spider-mario pugs: macro test {quasi {say "Hello!"}}; test
21:12 p6eval pugs: OUTPUT«Hello!␤»
21:13 spider-mario niecza: macro test {quasi {say "Hello!"}}; test
21:13 p6eval niecza v15-6-gefda208: OUTPUT«[31m===[0mSORRY![31m===[0m��Action method quasiquibble not yet implemented at /tmp/RpuUXwsO29 line 1:�------> [32mmacro test {quasi {say "Hello!"}[33m�[31m}; test[0m��Action method quote:quasi not yet implemented at /tmp/RpuUXwsO29 line 1:�------> …
21:13 pmichaud http://www.nbcdfw.com/video/#!/weather/stories/Raw-Video--Tornado-Tosses-Trucks/145994125
21:13 TimToady lichtkind: no, those are not valid names
21:14 TimToady (anymore)
21:14 [Coke] the semitrailer park footage made national news, watched a bit of it up here.
21:15 huf looks like the end fight from some fantasy movie...
21:16 pmichaud anyway, our weather-warning-radio has been sending off alarms much of the afternoon :)
21:17 lichtkind TimToady: thanks and you know rational behind $=pod in favour of $=POD
21:22 vlkv joined #perl6
21:24 TimToady not particularly
21:25 fgomez joined #perl6
21:31 lichtkind TimToady: so you dont like it too?
21:36 timotimo is there a simplified input routine? like ask, but the other way around?
21:38 Tene rakudo: say (quasi { say "Hello" }).perl
21:38 p6eval rakudo 4373f0: OUTPUT«AST.new()␤»
21:38 Tene rakudo: say (quasi { say "Hello" }).^methods
21:38 p6eval rakudo 4373f0: OUTPUT«BUILD incarnate is_quasi_ast␤»
21:39 spider-mario I’ve not found how to use incarnate and what it does, btw.
21:45 erkan joined #perl6
21:45 spider-mario joined #perl6
21:50 Araq joined #perl6
21:52 thou_ joined #perl6
21:55 timotimo is there a "deepcopy" function or something?
22:01 lichtkind timotimo: you mean of hoh?
22:02 timotimo "hash of hashes"?
22:02 lichtkind y
22:04 timotimo well, i have a class with a list and a hash and that hash contains instances of a class that contains a hash that creates "interconnections" among themselves
22:04 timotimo names would make it more clear:
22:04 timotimo i have a class Room, that has a hash of Tiles, each tile has a hash of neighbouring tiles
22:05 sorear timotimo: No.
22:06 timotimo that's no problem then
22:06 timotimo well, my thingie is pretty slow :|
22:07 flussence joined #perl6
22:08 sorear moritz: feather1 hosts p6eval now?
22:10 netstar joined #perl6
22:14 colomon errr.... should https://github.com/perl6/specs/commit/6ef69b98d8afb6e33a271a466fb8e1beb7142eb8 really be $=dATA , or is it $=data  ?
22:14 mattp_ joined #perl6
22:24 betterworld joined #perl6
22:28 lichtkind r: say '\\'
22:28 p6eval rakudo 4373f0: OUTPUT«\␤»
22:28 lichtkind shii
22:35 mattp_ joined #perl6
22:40 fgomez joined #perl6
22:40 mattp_ joined #perl6
22:43 lestrrat joined #perl6
23:02 benabik left #perl6
23:07 lichtkind joined #perl6
23:08 lichtkind any sugegstions why "say '\\'" doesnt work on my rakudo
23:22 lichtkind good night
23:36 fgomez joined #perl6
23:57 whiteknight joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo