Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-04-04

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:00 * jnthn heading off too...but unlike masak has a dongle, so may be online again later ;-)
00:01 dalek rakudo: 03f210f | jonathan++ | src/Perl6/ (2 files):
00:01 dalek rakudo: Fix RT#73886.
00:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​3f210fe09ea1b1239f859bd0beec86d773d97df
00:03 k23z__ sorear, I was asking if you're working on that now or in generla
00:11 colomon joined #perl6
00:13 lue o hai colomon o/
00:13 colomon \o
00:13 colomon back home now (for a definition of home which completely does not feel like home yet)
00:14 nihiliad joined #perl6
00:14 colomon but home is where your wireless router is, right?  ;)
00:15 lue new house++
00:15 lue buubot: karma house
00:15 buubot lue: house has karma of 0
00:18 lue Still thinking of S32::Temporal. I think it will likely end up needing a (relatively) formal meeting of some sort over S32::Temporal and (if time is left :)) other issues
00:18 * colomon is doing his best to pretend Temporal doesn't exist.
00:18 lue how do you propose that?
00:19 colomon propose what?  ;)
00:19 snarkyboojum rakudo: my Int $a; say $a ~~ *
00:20 p6eval rakudo cd0c7c: OUTPUT«1␤»
00:20 snarkyboojum $a ~~ * just looks cool :)
00:20 lue o hai snarky!
00:20 snarkyboojum lue: hello! o
00:20 snarkyboojum o/
00:20 lue rakudo: o--||=====>
00:20 p6eval rakudo cd0c7c: OUTPUT«Confused at line 11, near "o--||====="␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
00:21 snarkyboojum colomon: where can I find those funky fractals you built in perl 6?
00:22 * lue wishes people would leave #rakudosketch, in order to get an op for it
00:23 snarkyboojum Heh - http://irclog.perlgeek.de/rakudosketch/today
00:23 colomon snarkyboojum: http://github.com/colomon/mandelbrot
00:23 snarkyboojum colomon: ah thanks!
00:31 meppl joined #perl6
00:31 lue All the other languages handle time in much the same way. I think, in order to stand out, P6 not only needs to handle it differently, but sensibly.
00:33 lue ( the esperanto word for 'but' is 'sed' :) )
00:37 alester joined #perl6
00:42 k23z__ colomon, so p6 has complex in CORE /
00:42 k23z__ ?
00:44 snarkyboojum yep complex is in core
00:44 k23z__ that's pretty awesome
00:45 k23z__ is p6 going to be a more math-focused language /
00:45 k23z__ ?
00:45 snarkyboojum k23z__: TimToady++ might need to answer that one :)
00:46 snarkyboojum but I hadn't thought so :)
00:46 lue If we go too far, however, then we get TeX :)
00:47 snarkyboojum there's complex and trig and (was) set stuff in core already though
00:50 snarkyboojum use Symbolic; perhaps :P
00:50 lue rakudo: say ( [0,1) ~~ 0..^1 ) # you're suggesting this works?
00:50 p6eval rakudo 03f210: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
01:04 pugssvn r30297 | jnthn++ | [t/spec] Unfudge a test that Rakudo now passes.
01:07 hercynium joined #perl6
01:08 snarkyboojum spectest.data references S04-exceptions/catch.t which doesn't exist in SVN
01:10 pugssvn r30298 | jnthn++ | [t/spec] Unfudge a bunch of hash interpolation tests.
01:15 Sarten-X joined #perl6
01:16 dalek rakudo: 1068f2e | jonathan++ | t/spectest.data:
01:16 dalek rakudo: Turn on S02-literals/hash-interpolation.t.
01:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​068f2efa70a2e244e4150b7c66ab4ea7f44f68c
01:17 colomon sorry to disappear there.  Perl 6 is not so much math-focused as reasonably math-capable.
01:17 colomon lue: [0,1) doesn't work in p6, but 0..^1 is the exact same idea.
01:18 colomon rakudo: say 0 ~~ 0..^1; say .4 ~~ 0..^1; say .9999 ~~ 0..^1; say 1 ~~ 0..^1
01:18 p6eval rakudo 03f210: OUTPUT«1␤1␤1␤0␤»
01:20 lue colomon: I know :)
01:20 lue afk
01:23 pugssvn r30299 | jnthn++ | [t/spec] Lots of unfudging in another interpolation test.
01:24 jnthn std: say "$(my $a = 2)"; say $a;
01:24 p6eval std 30296: OUTPUT«ok 00:01 109m␤»
01:28 dalek rakudo: 1094cf3 | jonathan++ | t/spectest.data:
01:28 dalek rakudo: Turn back on S02-literals/misc-interpolation.t.
01:28 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​094cf34ec9c6727d7f091049a2304ad984156c0
01:35 jnthn rakudo: [+]
01:35 p6eval rakudo 03f210: OUTPUT«Confused at line 11, near "[+]"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:37 colomon rakudo: [+] ()
01:37 p6eval rakudo 03f210:  ( no output )
01:37 colomon rakudo: say [+] ()
01:37 p6eval rakudo 03f210: OUTPUT«0␤»
01:37 colomon jnthn: o/
01:37 jnthn rakudo: ([=>] 42, 23).perl.say
01:37 p6eval rakudo 03f210: OUTPUT«42 => 23␤»
01:37 jnthn colomon: hi!
01:37 jnthn colomon: How's things?
01:38 colomon sitting next to my wife on the sofa in this enormous family room, watching the end credits of the Princess Bride.
01:38 colomon so good.
01:38 colomon though it's still very surreal how much bigger this house is than the place in Ann Arbor.
01:39 jnthn :-)
01:40 colomon It will be years before we can afford to buy enough furniture to properly fill out the downstairs.  :)
01:41 jnthn Yeah, my place in Bratislava was spacious, in some ways excessively so.
01:42 colomon It's going to be really nice to have a family room this size.  And I love my new office.
01:42 jnthn Cool!
01:44 colomon biggest downside is far too far to get to a really good chinese or sushi restaurants.  and inconveniently far from my gaming friends.
01:45 colomon you and masak++ still hacking away?
01:48 colomon wandering off to bed now.  night!  o/
01:50 jnthn colomon: Yes, but we'll sleep soon too!
01:50 jnthn night! o/
01:52 jnthn rakudo: regex foo($a) { . }
01:52 p6eval rakudo 1094cf: OUTPUT«Useless declaration of has-scoped regex in a module; add our or my to install it in the lexpad or namespace␤»
01:55 Psyche^ joined #perl6
01:59 jnthn rakudo: rakudo: class class {}; say class.new.perl
01:59 p6eval rakudo 1094cf: OUTPUT«Confused at line 11, near "rakudo: cl"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:59 jnthn rakudo: class class {}; say class.new.perl
01:59 p6eval rakudo 1094cf: OUTPUT«Malformed package declaration at line 11, near ".new.perl"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
01:59 jaldhar joined #perl6
02:00 jnthn rakudo: class class {};
02:00 p6eval rakudo 1094cf:  ( no output )
02:01 jnthn rakudo: class class {}; class.new
02:01 p6eval rakudo 1094cf: OUTPUT«Malformed package declaration at line 11, near ".new"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:01 jnthn rakudo: sub my() { say 42 }; my()
02:01 p6eval rakudo 1094cf:  ( no output )
02:10 dalek rakudo: 32fda13 | jonathan++ | src/Perl6/Grammar.pm:
02:10 dalek rakudo: A :my declaration in a regex prevents the current protoregex implementation spotting constant prefixes that immediately follow it. By a little re-ordering, we can shave about 5% off the time to compile the setting by allowing those constant prefixes to be spotted and computed, since we don't have to chase down a bunch of false branches.
02:10 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​2fda13bc1cbde5bf2eaa49511fc6101efe63536
02:16 hicx174 joined #perl6
02:18 jnthn std: sub class() { say 42 }; class()
02:18 p6eval std 30299: OUTPUT«ok 00:01 109m␤»
02:18 jnthn rakudo: sub class() { say 42 }; class()
02:18 p6eval rakudo 1094cf: OUTPUT«Malformed package declaration at line 11, near "()"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:56 moritz_ Coke-san: colomon's blog posts all have the title "colomon" on planetsix (they are fine in his RSS feed though)
03:01 moritz_ jnthn++ # hacking like mad
03:02 moritz_ rakudo: say f  { 'bar' }; say "foo &f()"
03:02 p6eval rakudo 32fda1: OUTPUT«Could not find sub &f␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
03:03 moritz_ rakudo: sub f  { 'bar' }; say "foo &f()"
03:03 p6eval rakudo 32fda1: OUTPUT«foo bar␤»
03:03 moritz_ rakudo: sub f($x)  { 'bar' x $x }; say "foo &f(2)"
03:03 p6eval rakudo 32fda1: OUTPUT«foo barbar␤»
03:03 moritz_ rakudo: my $x = 'a'; say "$x.uc()"
03:03 p6eval rakudo 32fda1: OUTPUT«A␤»
03:04 * moritz_ thoroughly impressed
03:04 moritz_ rakudo: my @a = <a b c>; say "foo @a[1] bar"
03:04 p6eval rakudo 32fda1: OUTPUT«foo b bar␤»
03:06 moritz_ std: my %h; say "%h{"a"}"
03:06 p6eval std 30299: OUTPUT«ok 00:01 109m␤»
03:06 moritz_ rakudo: my %h; say "%h{"a"}"
03:06 p6eval rakudo 32fda1: OUTPUT«␤»
03:25 lue o hai dere!
03:32 meppel joined #perl6
03:35 vamped joined #perl6
03:44 sorear k23z__: Yes, now.  You can use Perl 5 modules from Rakudo now.  I'm working on making the interface less suck, but the essential binding is there
03:45 k23z__ sorear, I want to send you some svgs how do I do that ?
03:47 sorear if you have a nice object-oriented interface where all parameters are strings, numbers, or callback functions and all return values are numbers, functions, or other objects
03:47 sorear if not, you'll need to write some P5 glue code
03:47 sorear actually you'll need P5 glue code regardless because import isn't implemented yet
03:47 k23z__ sorear, I want to send you some svgs how do I do that ?
03:49 gfx joined #perl6
03:50 sorear k23z__: nopaste or email
03:50 sorear rakudo: sub moo(*%a) { say %a.perl }; moo(-text => 'Data')
03:50 p6eval rakudo 32fda1: OUTPUT«Method 'Num' not found for invocant of class 'Pair'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
03:51 sorear rakudo: sub moo(*%a) { say %a.perl }; moo(:-text('Data'))
03:51 p6eval rakudo 32fda1: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
03:51 sorear rakudo: sub moo(*%a) { say %a.perl }; moo('-text' => 'Data')
03:51 p6eval rakudo 32fda1: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current instr.: 'moo' pc 204 (EVAL_1:82)␤»
03:53 k23z__ sorear, email = ?
03:56 sorear actually things are going... not right
03:57 sorear http://pastie.org/902327  rakudobug?
04:00 vamped sorear:sub moo(*%a) { say %a.perl }; moo(:text("Data")) works locally for me (thout the preceding -) I haven't been paying attention to what you are trying to do though :\
04:01 lue I can't see the bug. masak would know.
04:02 vamped rakudo: sub moo(*%a) { say %a.perl }; moo(text => "Data")
04:02 p6eval rakudo 32fda1: OUTPUT«{"text" => "Data"}␤»
04:07 sorear vamped: the leading dash is critical here
04:09 vamped rakudo: sub moo(%a) { say %a.perl }; my %h="-a"=>"b"; moo(%h)
04:09 p6eval rakudo 32fda1: OUTPUT«{"-a" => "b"}␤»
04:09 * vamped shrug
04:10 sorear I'm calling into legacy code here
04:10 sorear Tk expects argument lists of the form "-foo", 2, "-bar", 3
04:10 sorear in perl5 this can be written -foo => 2, -bar => 3
04:13 vamped rakudo: sub moo(%a) { say %a.perl }; my %h="-foo" => 2, "-bar" => 3; moo(%h);
04:13 p6eval rakudo 32fda1: OUTPUT«{"-bar" => 3, "-foo" => 2}␤»
04:13 astrojp left #perl6
04:16 vamped k. i was just fiddling. good luck with it.
04:22 vamped left #perl6
04:32 lue std: use something.pm
04:32 p6eval std 30299: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/VwUEtAMurr line 1:␤------> [32muse something[33m⏏[31m.pm[0m␤    expecting statement_control__S_064use␤Other potential difficulties:␤  Can't locate module something at /tmp/VwUEtAMurr line 1:␤------> [32muse
04:32 p6eval ..something[33m⏏[31m.p…
04:32 lue std: use something
04:32 p6eval std 30299: OUTPUT«Potential difficulties:␤  Can't locate module something at /tmp/PaPWw1y2zX line 1 (EOF):␤------> [32muse something[33m⏏[31m<EOL>[0m␤ok 00:01 105m␤»
04:32 lue std: my $a = "something"; use $a
04:32 p6eval std 30299: OUTPUT«Undeclared routine:␤   'use' used at line 1␤ok 00:01 107m␤»
04:33 japhb joined #perl6
04:56 justatheory joined #perl6
04:57 lue good night
04:59 diakopter lue: nite
05:20 diakopter oky doky
05:21 diakopter perlesque lives.  it's what I named the stage 2 compiler
05:21 diakopter stage 3 gets to be called sprixel
05:42 sorear diakopter: great, now you're making me want to write a perl 6 compiler
05:44 diakopter heh
05:49 diakopter it's lightning fast to parse, once the CLR finishes JIT compiling the CIL to native machine code.  that is now taking a long time, since it's up to af45 lines of CIL :|
05:50 diakopter looks like I'll have to use the "ahead of time" JIT feature of mono.
05:51 sorear af45/
05:51 sorear is that like A(45)?
05:52 sorear CLR, eh
06:02 jhuni joined #perl6
06:12 mberends wow, easter is a real Perl 6 hackathon!
06:12 phenny mberends: 03 Apr 21:13Z <masak> tell mberends that it seems that if a projects.state doesn't exist when proto is executed, proto dies: http://paste.lisp.org/display/97286 -- we need to do something friendlier there than 'open or die' :)
06:16 mberends finanalyst++ and masak++ for pioneering the revised but still wonky proto :)
06:19 mberends proto install is detecting 'all' when it shouldn't
06:21 mberends my @a=<svg form web>; say @a.grep("all").perl
06:21 mberends rakudo: my @a=<svg form web>; say @a.grep("all").perl
06:21 p6eval rakudo 32fda1: OUTPUT«()␤»
06:21 mberends alpha: my @a=<svg form web>; say @a.grep("all").perl
06:21 p6eval alpha 30e0ed: OUTPUT«[]␤»
06:22 mberends rakudo: my @a=<svg form web>; say ?@a.grep("all")
06:22 p6eval rakudo 32fda1: OUTPUT«1␤»
06:22 mberends alpha: my @a=<svg form web>; say ?@a.grep("all")
06:22 p6eval alpha 30e0ed: OUTPUT«0␤»
06:27 mberends rakudo: my @a=<svg form web>; say (@a.grep("all").elems > 0)
06:27 p6eval rakudo 32fda1: OUTPUT«0␤»
06:42 mberends phenny, tell masak having implemented an earlier version of Temporal, I strongly suggest you ignore lue's comedy and design a subset of Dave Rolsky's DateTime module. It's perlish, has 7 years of experience and would make porting from Perl 5 a lot easier.
06:42 phenny mberends: I'll pass that on when masak is around.
06:49 sorear finally, a voice of sanity
06:50 finanalyst joined #perl6
06:50 diakopter well, one of the last things masak said was that he was going to spec a subset of perl's DateTime
06:51 mberends phenny, tell masak proto still dies after two workarounds, there may be several more fails. Is it worth making a proto/alpha branch to match Rakudo/alpha, or shall we just march along barefoot?
06:51 phenny mberends: I'll pass that on when masak is around.
06:53 finanalyst mberends: good morning
06:53 mberends finanalyst: hi, nice to see you and sorry about the proto fail
06:53 finanalyst i've just updated my ubuntu dist and was updating my environment using proto.
06:54 finanalyst it all went wrong
06:54 finanalyst i did u see the final unpaste?
06:55 finanalyst is there any one here who can help me deal with processing a sparse matrix?
06:57 sorear your computer?
06:57 sorear hashes might help
06:57 sorear maybe parrot-linear-algebra
06:58 finanalyst sorear: using unbuntu. i implemented vector multiplication and add infix operator which worked with alpha
06:59 finanalyst but with new master, it doesnt.
06:59 finanalyst problem is handling empty slots in vector/matrix
07:00 finanalyst alpha did not have NaN, so I used undef
07:01 finanalyst but undef not allowed
07:02 finanalyst what is correct way of creating a vector with an empty slot?
07:02 finanalyst rakudo: my @v = 1,2,,3; @v.perl.say
07:02 p6eval rakudo 32fda1: OUTPUT«[1, 2, 3]␤»
07:03 finanalyst alpha: my @v = 1,2,,3; @v.perl.say
07:03 p6eval alpha 30e0ed: OUTPUT«[1, 2, 3]␤»
07:03 moritz_ use Any as the empty element
07:03 finanalyst pugs: my @v = 1,2,,3; @v.perl.say
07:03 p6eval pugs: OUTPUT«[1, 2]␤»
07:04 finanalyst alpha: my @v = 1,2,undef,3; @v.perl.say
07:04 p6eval alpha 30e0ed: OUTPUT«[1, 2, undef, 3]␤»
07:05 finanalyst alpha: my @v = 1,2,NaN,3; @v.perl.say
07:05 p6eval alpha 30e0ed: OUTPUT«[1, 2, NaN, 3]␤»
07:05 sorear ... doesn't using explicit undef slots miss the point of sparse matrices
07:06 finanalyst sorear: perhaps I wasnt using 'sparse' in a correct meaning
07:07 finanalyst i want a matrix in which there are empty slots
07:08 sorear an empty slot in a matrix is 0
07:08 finanalyst 0 is an integer with a value
07:09 finanalyst the matrices I use are too small for sparse implementations to be of any use
07:13 meteorjay joined #perl6
07:18 sorear TimToady: Would it make sense for Q:anything { } in Rakudo to attempt to load the anything language and process the inner text as a compile time parsed eval?
07:18 mberends finanalyst: I'm looking at http://paste.lisp.org/display/97288 and trying to fix proto. More importantly, what files had you lost? Stuff you were writing, or examples in the downloaded projects?
07:18 gfx joined #perl6
07:18 finanalyst mberends: only examples in downloaded projects. no sweat
07:19 mberends finanalyst: I'll let you know as soon as proto downloads those projects again
07:20 finanalyst rakudo: my $x = NaN; say ?($x ~~ NaN); say ?($x == NaN); say ?($x.defined)
07:20 p6eval rakudo 32fda1: OUTPUT«1␤0␤1␤»
07:20 finanalyst mberends: thanx
07:22 finanalyst rakudo: my @v = 1, 2, NaN, 3; for @v { say ?($x ~~ NaN) }
07:22 p6eval rakudo 32fda1: OUTPUT«Symbol '$x' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
07:22 finanalyst rakudo: my @v = 1, 2, NaN, 3; for @v { say ?($_ ~~ NaN) }
07:22 p6eval rakudo 32fda1: OUTPUT«0␤0␤1␤0␤»
07:30 jql joined #perl6
07:34 finanalyst mberends: there may be a problem in the perl6 environment that proto installs by default. I tried updating it from git and it hung during make
07:35 finanalyst mberends: i updated it because there was a difference between my local REPL and the rakudo bot here
07:35 mberends finanalyst: the default is for people who don't have git and subversion installed, it uses the latest monthly tarball
07:36 mberends finanalyst: you can edit proto.conf, the Parrot version and Rakudo version settings
07:36 finanalyst mberends: but there is a configuration option to allow 'bleeding'
07:36 mberends oh, you have it right then
07:37 finanalyst mberends: i initially set the configuration options to where I normally have rakudo and parrot, but proto was not working properly
07:38 finanalyst so i deleted all reference to perl6 and used proto to install from scratch
07:38 mberends finanalyst: you can point proto to your normal rakudo+parrot, with the proto.conf setting "Perl 6 executable"
07:38 mberends gah, we need documentation!
07:38 finanalyst i did, but proto then did not recognise projects.state
07:39 mberends finanalyst: still, it was the right change. projects.state must be another bug
07:40 mberends barefoot sprinting on a construction site :/
07:40 finanalyst may be. i copied projects.state from the default cache to the current directory (where proto was) and that appeared to work
07:40 finanalyst s'life
07:41 mberends finanalyst: I'm not sure, but projects.state may be referring to a ~/proto subdirectory, and that will be moving to ~/.perl6/proto
07:42 finanalyst Another thing. I had a copy of proto.conf in the directory where I git-cloned proto. then I git pulled and got the new version. it did not look at the local proto.conf
07:43 finanalyst so i was baffled for a bit that the options seemed different
07:43 mberends finanalyst: there will be changes, because of the S11-modules enhancements. Versioning, mainly.
07:45 mberends finanalyst: see the ROADMAP section in http://github.com/masak/proto/blob/master/proto
07:45 finanalyst nod
07:46 mberends finanalyst: btw, downloading svg works again locally, but crashes during dependency tracking. Could you use an intermediate patched version/
07:47 mberends I mean s/\//?/ # heh
07:47 finanalyst which patches
07:48 mberends there are workarounds to get the proto 'install' command to run. It now downloads for me, but crashes after downloading.
07:50 mberends I was planning to resolve the crashes before pushing to github, but if you want to manually download one project at a time I can push out the semi fixed code right now.
07:50 finanalyst for the time being, I can just download svg using git
07:50 finanalyst yes, semi-fixed would be good
07:50 mberends ok
07:53 finanalyst mberends: please also consider adding function to proto to update rakudo if bleeding is specified
07:54 mberends finanalyst: yes, I do plan to add that :)
07:55 finanalyst currently, is it sufficient to git pull, then make in the rakudo directory proto has set up?
07:57 mberends finanalyst: it depends. make is enough if PARROT_VERSION and Makefile.in have not changed
07:58 mberends finanalyst: btw, proto patches pushed. It downloads but will not 'make' yet.
07:58 finanalyst thanx
08:16 Su-Shee joined #perl6
08:31 finanalyst mberends: ping
08:31 mberends finanalyst: pong
08:32 mberends proto has at least another 2 workarounds coming up :)
08:32 finanalyst i just downloaded svg with proto and tried the example. I slightly edited example to produce a file rather than output to stdout but example failed
08:33 mberends good idea, can you nopaste your version of example?
08:35 finanalyst doing that
08:38 lisppaste3 finanalyst pasted "svg example " at http://paste.lisp.org/display/97300
08:38 * mberends looks
08:39 finanalyst Unable to parse postcircumfix:sym<{ }>, couldn't find final '}' at line 81
08:39 finanalyst was the error
08:40 mberends thanks, setting it up to run here :)
08:41 mberends wow, you get the prize for the longest traceback today ;)
08:49 mberends well, the error occurs during compilation of SVG.pm, which has never been tested on the Rakudo * release candidate.
08:50 mberends finanalyst: your modified example file looks fine though
08:52 finanalyst it would be nice for svg to be working as it is the only really functional way of getting graphical output for perl6
08:52 finanalyst at presence
08:52 finanalyst at present
08:55 sorear jnthn: I have blizkost building entirely without warnings now
08:55 mberends finanalyst: SVG.pm line 81 is beyond the end of the class definition, so it may be a red herring. There may be something NYI being called in lines 47 or 51, but it's not easy to tell.
08:56 mberends sorear++
08:58 sorear now I'd like to try and get rid of these tooth-gnashing makefiles
09:02 mberends finanalyst: let's leave the SVG.pm debugging to masak++
09:10 dalek joined #perl6
09:21 M_o_C joined #perl6
09:22 sorear aaaack!
09:22 sorear I just noticed something
09:22 sorear blizkost doesn't *have* a license
09:22 sorear good thing the contributor pool is still small
09:26 sorear phenny: msg jnthn - I just noticed Blizkost doesn't have a license!  Is Artistic 2.0 (same as Parrot) acceptable to you?
09:26 sorear phenny: tell jnthn - I just noticed Blizkost doesn't have a license!  Is Artistic 2.0 (same as Parrot) acceptable to you?
09:26 phenny sorear: I'll pass that on when jnthn is around.
09:27 sorear phenny: tell moritz - I just noticed Blizkost doesn't have a license!  Is Artistic 2.0 (same as Parrot) acceptable to you?
09:27 phenny sorear: I'll pass that on when moritz is around.
09:27 sorear phenny: tell cognominal - I just noticed Blizkost doesn't have a license!  Is Artistic 2.0 (same as Parrot) acceptable to you?
09:27 phenny sorear: I'll pass that on when cognominal is around.
09:28 sorear seen fperrad
09:28 sorear phenny: seen fperrad
09:32 xabbu42 joined #perl6
09:49 snarkyboojum joined #perl6
10:16 JimmyZ joined #perl6
10:17 JimmyZ rakudo: say '+1 from me';
10:18 p6eval rakudo 32fda1: OUTPUT«+1 from me␤»
10:47 lichtkind joined #perl6
10:49 lichtkind colomon: isnt say ([\~] 'a'..'g') enough ,. why .perl?
10:49 colomon rakudo: say ([\~] 'a'..'g'
10:49 p6eval rakudo 32fda1: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
10:49 colomon rakudo: say ([\~] 'a'..'g')
10:49 p6eval rakudo 32fda1: OUTPUT«aababcabcdabcdeabcdefabcdefg␤»
10:49 colomon rakudo: say ([\~] 'a'..'g').perl
10:49 p6eval rakudo 32fda1: OUTPUT«("a", "ab", "abc", "abcd", "abcde", "abcdef", "abcdefg")␤»
10:49 colomon that's why
10:49 colomon just so you can read the output
10:50 lichtkind colomon: i saw, right its the scala context
10:50 lichtkind colomon: thanks
10:51 lichtkind colomon: i forgot that () no longer perservers list context
10:51 colomon rakudo: my @a = [\~] 'a'..'g'; say @a
10:51 p6eval rakudo 32fda1: OUTPUT«aababcabcdabcdeabcdefabcdefg␤»
10:51 colomon rakudo: my @a = [\~] 'a'..'g'; say ~@a
10:51 p6eval rakudo 32fda1: OUTPUT«a ab abc abcd abcde abcdef abcdefg␤»
10:52 colomon is the last what you were expecting?
10:52 colomon rakudo: say 1, 2, 3
10:52 p6eval rakudo 32fda1: OUTPUT«123␤»
10:52 lichtkind colomon: yes
10:53 lichtkind colomon: so perl is the new improved data dumper
10:53 colomon yes
10:54 lichtkind colomon++ read you posts
10:56 clintongormley joined #perl6
10:56 cotto_work joined #perl6
11:30 finanalyst rakudo: say $*CWD
11:30 p6eval rakudo 32fda1:  ( no output )
11:30 finanalyst alpha: say $*CWD
11:30 p6eval alpha 30e0ed: OUTPUT«/home/p6eval/rakudo-alpha␤»
11:30 finanalyst is $*CWD going to work?
11:31 jnthn phenny: tell sorear yes, artistic 2.0, same as Rakudo and Parrot.
11:31 colomon finanalyst: as soon as someone implements it.
11:31 phenny jnthn: I'll pass that on when sorear is around.
11:32 phenny jnthn: 09:26Z <sorear> tell jnthn - I just noticed Blizkost doesn't have a license!  Is Artistic 2.0 (same as Parrot) acceptable to you?
11:32 colomon morning, jnthn
11:32 jnthn morning :-)
11:33 colomon very odd that we seem to be on the same sleep schedule at the moment.  ;)
11:34 aesop happy easter
11:35 colomon happy Easter!
11:36 colomon rakudo: say 4 ^^ 5 ^^ 0
11:37 p6eval rakudo 32fda1: OUTPUT«␤»
11:37 colomon rakudo: say 4 ^^ 0 ^^ 0
11:37 p6eval rakudo 32fda1: OUTPUT«4␤»
11:37 mberends finanalyst: a workaround (on Linux) is %*ENV<PWD>
11:37 finanalyst great thanx
11:37 colomon rakudo: say 4 ^^ 0 ^^ 0 ^^ 4
11:37 p6eval rakudo 32fda1: OUTPUT«␤»
11:39 jnthn colomon: Yeah, we'd noticed that too. :-)
11:39 jnthn Happy Easter, all. :-)
11:45 Trashlord joined #perl6
11:47 finanalyst perl6: my @v=2,5; say ( map {; $^b => $^a }, @v ).perl
11:47 p6eval rakudo 32fda1: OUTPUT«Lexical '$b' not found␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
11:47 p6eval ..elf 30299: OUTPUT«Undefined subroutine &GLOBAL::map called at (eval 124) line 4.␤ at ./elf_h line 5881␤»
11:47 p6eval ..pugs: OUTPUT«((\5 => \2),)␤»
11:47 finanalyst alpha: my @v=2,5; say ( map {; $^b => $^a }, @v ).perl
11:47 p6eval alpha 30e0ed: OUTPUT«[5 => 2]␤»
11:47 jferrero joined #perl6
11:57 finanalyst what is the right form for recording a bug of something that worked in alpha but not in master?
11:57 finanalyst eg. $^ twigles
11:59 colomon I'd just include the above: the output from rakudo: and alpha: showing the difference.
11:59 quester joined #perl6
12:09 Annaa joined #perl6
12:09 Annaa http://tinypic.zapto.org/2kn4m8.png?t=1270382524 do my breasts look to big?
12:09 Annaa left #perl6
12:11 colomon just got a weird message from fudge when I tried to start tools/test_summary.pl  (does seem to be working now)
12:13 nslater joined #perl6
12:16 colomon afk # first shopping run to supply the new house
12:16 kaare joined #perl6
12:26 Chillance joined #perl6
12:30 pmurias joined #perl6
12:30 Teratogen joined #perl6
12:30 Teratogen wow
12:30 Teratogen I am unbanned =)
12:50 meppl joined #perl6
12:50 mikehh joined #perl6
12:56 molaf joined #perl6
13:09 am0c joined #perl6
13:10 quester left #perl6
13:10 lichtkind joined #perl6
13:11 lichtkind colomon++ read you posts
13:11 lichtkind colomon: sorry want regrab another old line but you deserve it anyway :)
13:22 sorear joined #perl6
13:31 jaldhar joined #perl6
13:31 pugssvn r30300 | moritz++ | [t/spec] unfudges for rakudo
13:32 pugssvn r30301 | moritz++ | [t/spec] test string value of &infix:<+>
13:37 dalek rakudo: 6fd5479 | (Solomon Foster)++ | src/core/ (4 files):
13:37 dalek rakudo: Define Bridge method for the real types.
13:37 dalek rakudo: This is a cast type to a lingua franca bridge type for real numbers.  (Was called RealX in my blog posts on the subject.  Am open to better suggestions than Bridge, but wanted to get the concept working.)
13:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​fd547943a17ff7eae400df8d2fd727b93b3dfdc
13:38 moritz_ colomon: the fudge message was caused by a wrong test name in spectest.data - fix coming up
13:38 TiMBuS joined #perl6
13:39 moritz_ colomon: Bridge[Real] :-)
13:40 masak joined #perl6
13:40 masak lol potatisgratäng!
13:40 phenny masak: 06:42Z <mberends> tell masak having implemented an earlier version of Temporal, I strongly suggest you ignore lue's comedy and design a subset of Dave Rolsky's DateTime module. It's perlish, has 7 years of experience and would make porting from Perl 5 a lot easier.
13:40 phenny masak: 06:51Z <mberends> tell masak proto still dies after two workarounds, there may be several more fails. Is it worth making a proto/alpha branch to match Rakudo/alpha, or shall we just march along barefoot?
13:41 jnthn future om nom nom
13:41 masak mberends: I'll react later &
13:41 slavik joined #perl6
13:42 dalek joined #perl6
13:46 nslater left #perl6
13:53 colomon moritz_: We can't name a method Bridge[Real], can we?  And I think we can get away without naming the actual type Bridge returns at all.  At least that's my current theory....
13:53 * colomon will be in and out of the office to look at #perl6 this morning... there are house setting up things to do!
13:53 moritz_ std: class A { method Foo[bar]() { } }
13:53 p6eval std 30299: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed block at /tmp/FmuZfpi4Ui line 1:␤------> [32mclass A { method Foo[33m⏏[31m[bar]() { } }[0m␤    expecting any of:␤ block␤  method_def␤ subscript signature␤      trait␤FAILED 00:01 108m␤»
13:54 JimmyZ The Bridge method seems to be an Num method.
13:59 dalek rakudo: c570328 | moritz++ | t/spectest.data:
13:59 dalek rakudo: we do not actually pass export.t - no idea why I thought we did :( moritz--
13:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​57032833a43d25149dc95aef10d00f012d88d14
14:03 finanalyst alpha: sub aaa (%h is rw) { %h = <a b c> Z 1,2,3 }; my %h = <x y> Z 5,4; aaa(%h); %h.perl.say
14:03 p6eval alpha 30e0ed:  ( no output )
14:04 finanalyst rakudo: sub aaa (%h is rw) { %h = <a b c> Z 1,2,3 }; my %h = <x y> Z 5,4; aaa(%h); %h.perl.say
14:04 p6eval rakudo 32fda1: OUTPUT«{"a" => 1, "b" => 2, "c" => 3}␤»
14:05 finanalyst moritz: am i wrong in believing the output should be { "x"=>5, "y"=>4 } ?
14:06 moritz_ finanalyst: you are right, rakudo is wrong
14:07 moritz_ std: sub a (%h) { my %h }
14:07 p6eval std 30301: OUTPUT«Potential difficulties:␤  Useless redeclaration of variable %h (see line 1) at /tmp/PQTTGpdZW4 line 1:␤------> [32msub a (%h) { my %h[33m⏏[31m }[0m␤ok 00:01 110m␤»
14:07 finanalyst but i did think that alpha was working correctly
14:07 slavik perl6: say "hello"
14:07 p6eval elf 30301, pugs, rakudo 32fda1: OUTPUT«hello␤»
14:08 slavik so, has there been any work on pugs?
14:08 moritz_ finanalyst: the 'my' inside the sub should not have any effect, as far as I understand
14:08 slavik and is this rakudo the new one or the old one?
14:08 moritz_ slavik: audreyt updated pugs to work with the newest GHC
14:08 moritz_ slavik: apart from that, not much afaict
14:08 slavik sweet
14:08 moritz_ and it's the new rakudo
14:10 slavik moritz_: is the new rakudo up to where old rakudo was in terms of implemented features? (mainly looking for grammars)
14:10 slavik perl6: say ?{0 == 1}
14:10 p6eval pugs, rakudo 32fda1: OUTPUT«1␤»
14:10 p6eval ..elf 30301: OUTPUT«␤»
14:10 slavik perl6: say !{0 == 1}
14:10 p6eval elf 30301: OUTPUT«1␤»
14:10 p6eval ..rakudo 32fda1: OUTPUT«0␤»
14:10 p6eval ..pugs: OUTPUT«␤»
14:10 slavik rakudo: say "correct" if ?{0 == 1}
14:10 p6eval rakudo 32fda1: OUTPUT«correct␤»
14:11 slavik rakudo: say "correct" if !{0 == 1}
14:11 p6eval rakudo 32fda1:  ( no output )
14:11 moritz_ slavik: mostly
14:11 slavik wait ... it's looking at types, don't it?
14:11 * moritz_ doesn't understand it at all
14:11 moritz_ it's a Block after all
14:11 Guest66523 joined #perl6
14:11 slavik assertions ...
14:11 slavik wait
14:11 slavik bah
14:11 Trashlord joined #perl6
14:11 moritz_ rakudo: say ({0 == 1}).WHAT
14:11 p6eval rakudo 32fda1: OUTPUT«Block()␤»
14:12 moritz_ rakudo: say !{0 == 1}
14:12 p6eval rakudo 32fda1: OUTPUT«0␤»
14:12 moritz_ rakudo: say !{! == 1}
14:12 p6eval rakudo 32fda1: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
14:12 moritz_ rakudo: say !{1 == 1}
14:12 p6eval rakudo 32fda1: OUTPUT«0␤»
14:12 moritz_ IMHO a block should always be True
14:13 slavik ahh
14:13 slavik perl6: say <?{0 == 1}>.WHAT
14:13 p6eval rakudo c57032: OUTPUT«Parcel()␤»
14:13 p6eval ..elf 30301, pugs: OUTPUT«Array␤»
14:13 slavik Parcel?
14:13 JimmyZ rakudo: sub aaa (%h is copy) { %h = <a b c> Z 1,2,3 }; my %h = <x y> Z 5,4; aaa(%h); %h.perl.say
14:13 p6eval rakudo c57032: OUTPUT«{"x" => 5, "y" => 4}␤»
14:14 moritz_ slavik: Parcel = Parenthesis Cell
14:14 slavik http://perlcabal.org/syn/S05.​html#Bracket_rationalization
14:14 moritz_ slavik: that was not within a regex :-)
14:14 slavik fair enough
14:14 slavik let's see ...
14:14 slavik man, my perl6 skills are rusty
14:15 moritz_ slavik: http://rt.perl.org/rt3/Tic​ket/Display.html?id=73862
14:15 mikehh joined #perl6
14:16 moritz_ rakudo: say $_ ~~ / (.*) <?{ $0.chars > 2 }> / for <fo bar bazr>
14:16 p6eval rakudo c57032: OUTPUT«␤bar␤bazr␤»
14:16 slavik :D
14:16 moritz_ so, <?{ ... }> assertions work in master
14:16 slavik hmm, my pants are damp now ...
14:17 moritz_ there's one problem wrt grammars in master: the match objects behave very parrot-like, and very little Perl 6 like
14:17 slavik moritz_: what's the difference?
14:18 moritz_ rakudo: 'a' ~~ /<alpha>/; .say for $/.kv
14:18 p6eval rakudo c57032: OUTPUT«Method 'kv' not found for invocant of class 'Regex;Match'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:18 moritz_ rakudo: 'a' ~~ /<alpha>/; .say for $/.Hash.kv
14:18 p6eval rakudo c57032: OUTPUT«Method 'Hash' not found for invocant of class 'Regex;Match'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:18 moritz_ alpha: 'a' ~~ /<alpha>/; .say for $/.Hash.kv
14:18 p6eval alpha 30e0ed:  ( no output )
14:18 slavik what is .kv supposed to be?
14:18 moritz_ a list of keys and values, interleaved
14:19 Sarten-X joined #perl6
14:19 slavik a hash?
14:19 moritz_ rakudo: .say for $*ENV
14:19 p6eval rakudo c57032:  ( no output )
14:19 moritz_ rakudo: .say for %*ENV.kv
14:19 p6eval rakudo c57032: OUTPUT«Method 'key' not found for invocant of class 'String'␤current instr.: 'perl6;EnumMap;_block15616' pc 443135 (src/gen/core.pir:65484)␤»
14:19 slavik rakudo: say $*ENV
14:19 p6eval rakudo c57032:  ( no output )
14:19 slavik rakudo: say $*ENV.WHAT
14:19 p6eval rakudo c57032: OUTPUT«Failure()␤»
14:19 moritz_ rakudo: my %h = (a => 3, b => 7, c => 9); say %h.kv.join(', ')
14:19 p6eval rakudo c57032: OUTPUT«b, 7, c, 9, a, 3␤»
14:19 slavik env is fail ...
14:20 moritz_ rakudo: say %*ENV.WHAT
14:20 p6eval rakudo c57032: OUTPUT«Hash()␤»
14:20 moritz_ better :-)
14:20 slavik :-\
14:20 slavik my interpretation was funnier
14:20 moritz_ rakudo: say <a b c>.kv.join(', ')
14:20 Trashlord joined #perl6
14:20 p6eval rakudo c57032: OUTPUT«0, a, 1, b, 2, c␤»
15:13 snarkyboojum joined #perl6
15:14 snarkyboojum rakudo: my @a = 1,2,3; say @a [1];
15:14 p6eval rakudo c57032: OUTPUT«Confused at line 11, near "say @a [1]"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:14 snarkyboojum std: my @a = 1,2,3; say @a [1];
15:14 p6eval std 30301: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/rOsiDeIW1R line 1:␤------> [32mmy @a = 1,2,3; say @a [[33m⏏[31m1];[0m␤    expecting any of:␤     bracketed infix␤  infix or meta-infix␤FAILED 00:01 110m␤»
15:15 snarkyboojum std: my @a = 1,2,3; say @a\ [1]
15:15 p6eval std 30301: OUTPUT«ok 00:01 108m␤»
15:15 slavik rakudo: say all(1..3,4..5);
15:15 p6eval rakudo c57032: OUTPUT«all(1, 2, 3, 4, 5)␤»
15:15 snarkyboojum rakudo: std: my @a = 1,2,3; say @a\ [1]
15:15 p6eval rakudo c57032: OUTPUT«Confused at line 11, near "std: my @a"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:16 slavik hmm, how would I get perl6 to generate all perms from a bunch of lists?
15:17 moritz_ just like any other programming language, but maybe with a few shortcuts :-)
15:17 slavik should all() be able to do it
15:18 snarkyboojum rakudo: say 1,2 X~ a,b
15:18 p6eval rakudo c57032: OUTPUT«Could not find sub &a␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:18 snarkyboojum rakudo: say [1,2] X~ <a b?
15:18 p6eval rakudo c57032: OUTPUT«Confused at line 11, near "say [1,2] "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:18 slavik rakudo: say <1,2>,<3,4>
15:18 p6eval rakudo c57032: OUTPUT«1,23,4␤»
15:18 snarkyboojum eek
15:18 moritz_ slavik: maybe
15:18 snarkyboojum rakudo: say [1,2] X~ <a b>
15:18 p6eval rakudo c57032: OUTPUT«1a1b2a2b␤»
15:18 slavik snarkyboojum: :D
15:19 slavik I have no idea what that means or how it works ...
15:19 slavik rakudo: say join "-", [1,2] X~ <a b>
15:19 p6eval rakudo c57032: OUTPUT«␤»
15:19 slavik rakudo: say join "-" [1,2] X~ <a b>
15:19 p6eval rakudo c57032: OUTPUT«Confused at line 11, near "say join \""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
15:19 moritz_ rakudo: my @perms; sub a($x, $y, $z) { @perms.push($x ~ $y ~ $z) }; a(all(1, 2, 3), all(<x y>), all(<a b>)); say @perms.join(', ')
15:19 slavik rakudo: say join "-", {[1,2] X~ <a b>}
15:19 p6eval rakudo c57032: OUTPUT«1xa, 1xb, 1ya, 1yb, 2xa, 2xb, 2ya, 2yb, 3xa, 3xb, 3ya, 3yb␤»
15:19 p6eval rakudo c57032: OUTPUT«_block47␤»
15:19 moritz_ that's all combinations, not all permutations
15:20 snarkyboojum say ~( (1..5) X~ (a..e) )
15:20 snarkyboojum yeah
15:20 snarkyboojum rakudo: say ~( (1..5) X~ (a..e) )
15:20 p6eval rakudo c57032: OUTPUT«Could not find sub &a␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:20 moritz_ quote your strings!
15:20 snarkyboojum eek
15:20 snarkyboojum rakudo: say ~( (1..5) X~ ('a'..'e') )
15:20 p6eval rakudo c57032: OUTPUT«1a 1b 1c 1d 1e 2a 2b 2c 2d 2e 3a 3b 3c 3d 3e 4a 4b 4c 4d 4e 5a 5b 5c 5d 5e␤»
15:20 justatheory joined #perl6
15:21 pmurias joined #perl6
15:21 snarkyboojum it's lovely syntax tho :)
15:22 snarkyboojum plus it's too early in the morning here :)
15:22 moritz_ rakudo: say ~( 1..5 X~ 'a'..'e' )
15:22 p6eval rakudo c57032: OUTPUT«1a 1b 1c 1d 1e 2a 2b 2c 2d 2e 3a 3b 3c 3d 3e 4a 4b 4c 4d 4e 5a 5b 5c 5d 5e␤»
15:22 snarkyboojum nicer-er :)
15:22 moritz_ slavik: even lovlier if you omit those parens :-)
15:22 moritz_ erm, meant snarkyboojum :-)
15:22 snarkyboojum aye
15:22 snarkyboojum quite pretty
15:22 slavik moritz_: I decided to write a sudoku solver :)
15:22 slavik that will run on a cluster :D
15:23 moritz_ oh, I wrote a simple sudoku solver in C++ already
15:23 moritz_ it's ugly code compared to what you could do in Perl 6
15:23 moritz_ but it's fast
15:26 moritz_ I about 0.8ms per sudoku
15:27 slavik moritz_: I want to do 36x36 :)
15:27 moritz_ ouch :(
15:27 moritz_ I think it scales exponetially with the size, in the worst case
15:27 slavik moritz_: idea is to generate each row and to have a permutation of all rows
15:27 slavik or something
15:28 moritz_ rakudo: say [*] 1..36
15:28 p6eval rakudo c57032: OUTPUT«3.71993326789901e+41␤»
15:28 slavik hmm
15:28 moritz_ you don't want to hold that in memory
15:28 slavik 49x49 ...
15:28 slavik I know
15:28 slavik hmm
15:28 slavik maybe I should change my project to something else
15:29 moritz_ there's nothing wrong with trying
15:29 slavik hmm or I need to revisit it
15:29 slavik what about a pipeline?
15:29 moritz_ just write it for a generic size, and see how it scales
15:29 slavik a 49 stage pipeline, each stage generates a row
15:29 slavik if you read 49 and generate a proper row, you got the solution
15:30 slavik this is a LAM cluster of 33 dual dual-core systems :) (AMD Opteron)
15:31 moritz_ why do want to generate permutations of rows anyway?
15:32 slavik it's the only way I figured where it can be made parallel
15:32 slavik or I need to pick another provlem
15:32 moritz_ well
15:33 slavik well, either way, you need to generate all permutations of the first row, throw out whatever doesn't fit and keep going down
15:33 moritz_ there are things in a classical sudoku solver you can parallelize
15:33 moritz_ you check each row/col/block if there's only one number missing
15:33 moritz_ or if there is a number which can only fit in one empty cell
15:33 slavik I am also thinking of using Parallel::MPI to use Perl instead of C :)
15:34 slavik moritz_: that would be taken care of by the permutation generator
15:34 moritz_ (provided you keep a bit field for each cell which stores what numbers you might enter there)
15:34 slavik the idea I had is that I can pass a rule for the generator so that it would generate things only that could go in a specific cell based on what is already filled in
15:34 moritz_ slavik: you seem to be fixed on that permutation generator... but do your really need one?
15:34 slavik moritz_: exactly
15:35 slavik moritz_: prolly not
15:35 slavik but I am thinking of splitting the work into rows
15:35 slavik sudoku is basically a tree search
15:36 slavik the other idea I had is a TSP on top of MPI
15:38 slavik I need an interesting problem that can be paralellized ...
15:39 slavik one crazy idea I had is to build a generic permutation generator
15:39 slavik same with combinations
15:48 slavik moritz_: I know you know some interesting/useful parallel problems that need solving :)
15:49 moritz_ slavik: Perl 6 needs more parallelism :-)
15:49 slavik bah
15:50 slavik I need the theoretical useful, not the practical useful ;)
15:50 moritz_ the things I've done for my Diploma thesis were embarrassingly simple to parallelize
15:50 slavik do tell, I'm going to be going there :)
15:51 slavik well, actually
15:51 slavik I want to build a parallel system in Perl for my thesis
15:51 moritz_ just start $n processes with different command line args, and each writes to a different output file :-)
15:51 slavik ...
15:51 moritz_ 10 lines of perl code with Parallel::ForkManager
15:51 slavik this is why perl6 isn't getting anywhere ... people like you need to use more brains :P
15:51 moritz_ I told you :-)
15:51 slavik haha
15:52 slavik I blame it all on the coffee mug incident
15:52 moritz_ I thought about more sophisticated parallelism, but in the end there was not much I could have improved speed wise
15:53 finanalyst joined #perl6
15:53 slavik I am still trying to decide on a problem to solve
15:54 moritz_ rakudo: sub foo { my $a = "baz"; undefine $a; }; say foo;
15:54 p6eval rakudo c57032: OUTPUT«Any()␤»
15:54 moritz_ rakudo: sub foo { my $a = "baz"; undefine $a; undefine $a }; say foo;
15:54 p6eval rakudo c57032: OUTPUT«Any()␤»
15:54 slavik ?
15:54 slavik ooh, I know
15:54 moritz_ (unrelated; RT #69238)
15:55 moritz_ slavik: sorry, I don't have good ideas for you
15:55 slavik rakudo: @a = 1..9; undefine @a[5]; say @a;
15:55 p6eval rakudo c57032: OUTPUT«Symbol '@a' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
15:55 slavik wha?
15:55 slavik rakudo: my @a = 1..9; undefine @a[5]; say @a;
15:55 p6eval rakudo c57032: OUTPUT«12345Any()789␤»
15:55 slavik gah
15:57 slavik moritz_: one thing I realized is that P2P gave us some neat algorithms
15:57 slavik maybe I should do something with graph analysis ...
15:58 pugssvn r30302 | moritz++ | [t/spec] test that you can undefine a lexical variable twice; RT #69238
15:59 moritz_ aye; P2P is a nice example for distributed computing without mutual trust
16:01 moritz_ rakudo: my $i**=$i;; say $i
16:01 p6eval rakudo c57032: OUTPUT«1␤»
16:01 molaf joined #perl6
16:02 slavik bah
16:02 moritz_ what's wrong? :-)
16:03 slavik can't come up with anything interesting
16:06 slavik moritz_: do you think it's possible to beat mapreduce and hadoop?
16:06 moritz_ no idea
16:06 slavik :(
16:06 pugssvn r30303 | moritz++ | [t/spec] my $i **= $i
16:07 pugssvn r30304 | moritz++ | [t/spec] unfudge passing tests in S03-operators/autovivification.t
16:09 dalek rakudo: 02cf9c3 | moritz++ | t/spectest.data:
16:09 dalek rakudo: we pass S03-operators/autovivification.t
16:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​2cf9c366372becf19ed400a4070efe207ff6760
16:14 avar joined #perl6
16:15 avar moritz_: Your frequent commits pushing more enabled tests to github please me, that is all:)
16:19 cognominal sorear,  you choice of license is certainly welcome :)     I appreciate you seek the assent of a so minor contributor :)
16:19 phenny cognominal: 09:27Z <sorear> tell cognominal - I just noticed Blizkost doesn't have a license!  Is Artistic 2.0 (same as Parrot) acceptable to you?
16:20 slavik join #mpi
16:21 slavik that was a waste
16:25 mberends slavik: parallel processing is usually chosen reluctantly (for the complexity, cost and inefficiency) when plain uniprocessor is too slow. Therefore you're looking for problems that demand huge speed. It makes sense to begin with languages that offer huge speed (maybe not perl). Discrete element modelling, video rendering, data mining, those are some fields.
16:26 slavik mberends: I know, but I don't want to solve sudoku or TSP
16:26 slavik and C will be the language :(
16:26 slavik my C is rustier than Perl ;)
16:28 colomon I think http://lastofthecarelessmen.blogspot.com/ mentioned a Suduko solver last year sometime...
16:32 lue hello!
16:33 masak \o
16:33 Trashlord joined #perl6
16:35 slavik I look forward to seeing what masak does with this one...
16:35 colomon o/
16:35 slavik http://lastofthecarelessmen.blogsp​ot.com/2010/02/e03-first-stab.html
16:35 slavik \o/
16:35 masak slavik: yeah... I've been putting that one off for a while.
16:35 * masak feels slightly bad about it
16:35 slavik what is that?
16:35 lue mberends: while I did have some slight fun writing S32::Temporal, when we had a discussion over how to do it well, I fail to see where the comedy there was.
16:36 avar mberends: paralell is only slow if the language sucks, see clojure which has been doing some great work in this area.
16:36 masak hopefully SF will understand and be patient with me. :/
16:36 slavik perl6 will be awesome for parallel programming because of the lazyness and such
16:37 masak slavik: well, there's the tiny thing of an implementation actually using those features, too :P
16:37 slavik lol
16:37 avar slavik: The clojure author would very much disagree :)
16:37 slavik but my problem is finding an interesting problem to pralellize
16:37 masak avar: I've studied Clojure a bit. it does some awesome things, many depending on immutable-ish types.
16:38 avar slavik: Try writing the clojure ants.clj program in Perl 6
16:38 masak slavik: ray tracing.
16:38 avar masak: Yeah, mostly exclusively.
16:38 slavik avar: I am restricted to MPI :(
16:38 slavik masak: I've thought about it
16:38 slavik masak: I am not smart enough for it :P
16:38 masak lue: here's my plan for Temporal; see if you like it.
16:39 masak lue: start from CPAN's DateTime; minimalize it to a smallest possible core of things.
16:40 masak lue: try to change as little as possible along the way. I guess we'll do this with gist or some other common editing medium.
16:41 masak lue: after that, look at yesterday's discussion and review the things we liked from the other libraries. see how well they match, and if their not-matching mandates action.
16:41 masak lue: ---> temporal win!
16:48 jnthn rakudo: class Foo { sub oh { say lol }; method bar() { oh() }; }; Foo.new.bar
16:48 p6eval rakudo 02cf9c: OUTPUT«Could not find sub &lol␤current instr.: 'perl6;Foo;oh' pc 466 (EVAL_1:200)␤»
16:48 jnthn rakudo: class Foo { sub oh { say "lol" }; method bar() { oh() }; }; Foo.new.bar
16:48 p6eval rakudo 02cf9c: OUTPUT«lol␤»
16:48 jnthn rakudo: class Foo { my sub oh { say "lol" }; method bar() { oh() }; }; Foo.new.bar
16:48 p6eval rakudo 02cf9c: OUTPUT«lol␤»
16:48 jnthn rakudo: class Foo { my sub oh { say "lol" }; method bar() { oh() }; }; INIT { Foo.new.bar }
16:48 p6eval rakudo 02cf9c: OUTPUT«Could not find sub &oh␤current instr.: 'perl6;Foo;bar' pc 638 (EVAL_1:271)␤»
16:48 jnthn o hrovno.
16:49 * masak .oO( a case of sour hrosny )
16:52 lue masak: sounds good ( sorry; was reading up on Aleph numbers :) )
16:52 masak :)
16:52 masak alpeh numbers rock.
16:54 lue it's actually so I can understand beth numbers (darn you, confusing set theory!)
16:56 masak lue: anyway, I thought I'd start reading the CPAN module and write things up in a gist.
16:57 lue alright, that sounds good .oO(I should get an account on github)
16:57 masak you should, but no need for that with gists.
16:57 lue I know I don't need it for gists, but it *might* help :)
16:58 lue I only haven't gotten it because I don't have a rakudo commit byte (er, bit)
16:58 * lue goes to get a github account
16:58 mberends lue: most of what you write is comedy, H2G2 etc. iTem, Discordian, hextime, ,... -Ofun has to step aside for serious decisions which our stretched resources have to implement. That's the bottom line, something that works. Please think about writing proof of concept code for your design ideas. This source was the main reference for alpha's Temporal: http://www.tondering.dk/claus/calendar.html
16:59 masak aye, I believe proof-of-concept code speaks very loudly in the Temporal discussion.
16:59 masak lue: the Rakudo commitbit is a red herring. you can do 99% of all Perl 6 activities without it.
17:00 lue Funny enough, I was think of PoC code for what I wrote last night...
17:04 masak rakudo: my @a=<svg form web>; say ?@a.grep("all")
17:04 p6eval rakudo 02cf9c: OUTPUT«1␤»
17:04 masak mberends: did you submit that one?
17:04 jnthn my @a=<svg form web>; say ?@a.grep("all")
17:04 jnthn my @a=<svg form web>; say @a.grep("all").WHAT
17:04 jnthn rakudo: my @a=<svg form web>; say @a.grep("all").WHAT
17:04 p6eval rakudo 02cf9c: OUTPUT«GatherIterator()␤»
17:05 mberends masak: yes, it was a "hole" discovered by proto
17:05 masak you did submit it to RT?
17:05 * mberends blushes
17:05 * masak does, then
17:06 masak no blame involved, just checking :)
17:06 masak mberends++ for discovering it
17:06 masak I still think seeing GatherIterator there is an abstraction leak.
17:12 masak Teratogen: [backlog] welcome back from the land of the banned, damnit!
17:12 masak s/damnit/dammit/ :)
17:13 payload joined #perl6
17:14 masak rakudo: std: my @a = 1,2,3; say @a\ [1]
17:14 p6eval rakudo 02cf9c: OUTPUT«Confused at line 11, near "std: my @a"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
17:14 masak rakudo: my @a = 1,2,3; say @a\ [1]
17:14 p6eval rakudo 02cf9c: OUTPUT«2␤»
17:14 masak rakudo: my @a = 1,2,3; say @a\[1]
17:14 p6eval rakudo 02cf9c: OUTPUT«2␤»
17:14 masak \o/
17:15 colomon It's an abstraction leak, but I'm not sure it's actually a bug; I don't know what the spec says in this area at the moment.  (GatherIterator, I mean.)
17:15 mberends lue, masak: this was one of the most serious previous discussions about Date and Time: http://irclog.perlgeek.de/​perl6/2009-09-08#i_1479118
17:16 * masak peruses
17:21 * lue looks as well
17:21 lue rakudo: my @s = ($_ * 2 if $_ ** 2 > 3 for 0 .. 99); say @s.perl
17:21 p6eval rakudo 02cf9c: OUTPUT«Method 'perl' not found for invocant of class 'ArrayIterator'␤current instr.: 'perl6;Array;_block7851' pc 388055 (src/gen/core.pir:46166)␤»
17:27 colomon ArrayIterator ?!
17:27 * masak submits rakudobug
17:27 colomon afk in general # family over and dinnertime..
17:28 slavik colomon: I thought we were your family
17:28 lue No, the one that displays in billions of colors. ( Our monitors only do millions :( )
17:33 lue I liked the Time/Timeline idea proposed by diakopter(?) yesterday. Not sure how practical it would be, though...
17:34 masak hm. not sure I see the appeal of either those names of their semantics.
17:34 masak willing to be convinced, as usual :)
17:35 masak mberends: I think we have to face the fact that we have few resources and be radical about things like leap seconds.
17:35 lue I'm not too sure either, I just liked the idea :)
17:35 Su-Shee hm, I can't do @animals[-1] to grab the last element of an array?
17:35 lue that's python, not perl :(
17:35 masak we allow for 'aware' dates and times by putting all the machinery there, but we don't actually provide the timezone information. at least not for now.
17:36 masak Su-Shee: you can in Perl 5.
17:36 astrojp joined #perl6
17:36 masak Su-Shee: it's been [*-1] in Perl 6 for some years now.
17:36 masak Su-Shee: the change came about due to some discussions about consistency in S09.
17:36 Su-Shee sorry, didn't need it until today :)
17:36 masak no worries :)
17:37 lue btw: wouldn't we worry about leap seconds if we treat each year as being the same length (~365.25 days)
17:37 masak Su-Shee: I heard something like the phrase "arbitrary discontinuity" being thrown around at that time.
17:37 Su-Shee rakudo: my @animals = <cat dog bird mouse>; @animals[*-1].say;
17:37 p6eval rakudo 02cf9c: OUTPUT«mouse␤»
17:37 lue What is that supposed to mean, arbitrary discontinuity?
17:37 masak lue: in what way would you actually treat years as being of the same length, though? they have different numbers of days.
17:38 Su-Shee rakudo: my @animals = <cat dog bird mouse>; @animals[*-2].say;
17:38 p6eval rakudo 02cf9c: OUTPUT«bird␤»
17:38 masak lue: it means that .[-1 is not next to .[0]
17:38 masak was*
17:38 Su-Shee rakudo: my @animals = <cat dog bird mouse>; @animals[*-2, *-1].say;
17:38 p6eval rakudo 02cf9c: OUTPUT«mousemouse␤»
17:38 masak in the Perl 5 way of viewing things.
17:38 lue In a loop, it would be :)
17:38 Su-Shee rakudo: my @animals = <cat dog bird mouse>; @animals[*-3..*-1].say;
17:38 p6eval rakudo 02cf9c: OUTPUT«Method 'succ' not found for invocant of class 'Block'␤current instr.: '!dispatch_.=' pc 440 (src/glue/dispatch.pir:118)␤»
17:39 mberends Su-Shee: you said you hated animals examples ;)
17:39 Su-Shee mberends: not while testing lists. ;)
17:39 * masak scowls
17:40 Su-Shee rakudo: my @animals = <cat dog bird mouse>; @animals[1..*-1].say;
17:40 p6eval rakudo 02cf9c:  ( no output )
17:41 masak Su-Shee: jnthn says that the star arithmetic isn't really back in place yet.
17:42 lue I only used Gregorian as an example. If we divide the number of (TAI) seconds in a year evenly, then it's only the calendar that has to worry
17:42 Su-Shee ok, no problem. I just thought, I try all other combinations ;)
17:42 lue alpha: my @animals = <cat dog bird mouse>; @animals[*-2, *-1].say;
17:42 p6eval alpha 30e0ed: OUTPUT«birdmouse␤»
17:43 Su-Shee alpha: my @animals = <cat dog bird mouse>; @animals[1..*-1].say;
17:43 p6eval alpha 30e0ed: OUTPUT«dogbirdmouse␤»
17:43 Su-Shee HA :)
17:43 masak lue: I'm not sure what I could do with such a year. for me, a year begins at midnight and ends at midnight. that doesn't seem consistent with doling out TAI seconds evenly.
17:43 Trashlord joined #perl6
17:44 Su-Shee alpha: my @animals = <cat dog bird mouse>; @animals[..*-2].say;
17:44 p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "[..*-2].sa"␤in Main (file <unknown>, line <unknown>)␤»
17:44 masak alpha: my @animals = <cat dog bird mouse>; @animals[].say
17:44 p6eval alpha 30e0ed: OUTPUT«catdogbirdmouse␤»
17:44 masak zen slice. :)
17:44 lue .u zen
17:44 phenny U+10D6 GEORGIAN LETTER ZEN (ზ)
17:44 masak Ah, Georgia. :)
17:44 Su-Shee alpha: my @animals = <cat dog bird mouse>; @animals[0,2..*-1].say;
17:44 p6eval alpha 30e0ed: OUTPUT«catbirdmouse␤»
17:45 Su-Shee *hrhr*
17:45 masak Su-Shee: '..' doesn't do arithmetic sequences, '...' does
17:45 Su-Shee alpha: my @animals = <cat dog bird mouse>; @animals[...*-1].say;
17:45 p6eval alpha 30e0ed: OUTPUT«Can't return outside a routine␤in Main (file <unknown>, line <unknown>)␤»
17:46 Su-Shee no, I've been meaning to say "from beginning until something counted from the end"
17:46 Su-Shee and tried wether I can omit the start.
17:47 jnthn *..*-1 may work.
17:47 Su-Shee alpha: my @animals = <cat dog bird mouse>; @animals[*..*-1].say;
17:47 p6eval alpha 30e0ed: OUTPUT«␤»
17:47 lue the problem is the only thing we have to work with is involved with an irregular system of measurement :/
17:48 jnthn 0..*-X I guess also would.
17:49 Su-Shee -X is..?
17:50 masak jnthn: I don't think '*' will ever mean 'beginning' in an index situation.
17:51 masak jnthn: it sometimes means 'all', sometimes 'the first index after the last one' :)
17:52 lue .oO(*mutter*I still don't see the discontinuity of arbitrary discontinuity*mutter*)
17:52 jnthn masak: ah, good point
17:53 masak hm. and sometimes 'infinity', I guess.
17:53 mberends lue: what (arbitrary) discontinuity do you mean?
17:53 masak mberends: the one between @a[0] and @a[-1] in Perl 5.
17:57 slavik [-1] is awesome
17:58 masak [backlogging] for any intrepid Sudoku-solver programmer out there, I hearily recommend this piece by Peter Norvig: http://norvig.com/sudoku.html
17:58 slavik but it means that random access in arrays is weak in Perl5 :(
18:03 Su-Shee oh god.. user defined array indices are kind of aeh.. hashy arrays? :)
18:03 masak Su-Shee: :)
18:03 masak for some applications, they'll be just right.
18:04 masak January, for example, is definitely month 1, not month 0.
18:04 Su-Shee no, I see the use cases. also, the range is fixed. which means I can stuff like .. alphabetically ordered names in it or something.
18:05 masak I look forward to them.
18:05 masak and to much other goodness in S09 :>
18:06 Su-Shee I'm trying (again) to build me something like a short reference.
18:06 masak Su-Shee: to me, the user-defined array indices is the fallout of wanting the good parts of $[ without the bad parts of $[
18:07 lue and $[ is ?
18:08 masak lue: perldoc perlvar
18:08 mberends lue: the Perl 5 user definable lowest array subscript (defaults to  0)
18:08 masak lue: http://perldoc.perl.org/perlvar.html
18:09 masak lue: yeah, what mberends said. it's nowadays considered socially bad form to use it, since its effects leak all over the place.
18:09 Su-Shee never used it anyway.
18:10 lue is that what this puddle is? :)
18:11 mberends yeah, $[ = -1; would be *fun* to debug :)
18:12 lue rakudo: $[ = -1
18:12 p6eval rakudo 02cf9c: OUTPUT«Confused at line 11, near "$[ = -1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
18:12 lue std: $[ = -1
18:12 p6eval std 30304: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of $[ variable; in Perl 6 please use user-defined array indices at /tmp/vcwx9XUjan line 1:␤------> [32m$[[33m⏏[31m = -1[0m␤FAILED 00:01 108m␤»
18:13 Su-Shee wtf? "second element after the end of the array" - how does that work?
18:13 Su-Shee *+2
18:14 masak alpha: my @a = 1, 2, 3; @a[*+2] = 5; say @a.perl
18:14 p6eval alpha 30e0ed: OUTPUT«[1, 2, 3, undef, undef, 5]␤»
18:14 masak Su-Shee: like that.
18:15 Su-Shee ah, I see.
18:15 lue alpha: my @a = 1,2,3; @a[*]=4;@a[*]=5; say @a.perl
18:15 p6eval alpha 30e0ed: OUTPUT«[5, undef, undef]␤»
18:16 lue ō.o
18:17 lue what happened there?
18:18 masak lue: that's where .[*] gets interpreted as 'all'.
18:18 masak lue: so you're doing a list assignment to three positions with only one value.
18:18 lue alpha: my @a = 1,2,3; @a[*+0]=4;@a[*+0]=5; say @a.perl
18:18 p6eval alpha 30e0ed: OUTPUT«[1, 2, 3, 4, 5]␤»
18:18 lue there we go :)
18:18 masak alpha: my @a = 1,2,3; @a[+*]=4;@a[+*]=5; say @a.perl
18:18 p6eval alpha 30e0ed: OUTPUT«[1, 2, 3, 4, 5]␤»
18:19 masak that works also.
18:19 * masak realizes that it's 2010, he's using Perl 6, and it feels great :)
18:20 diakopter well, meta-using Perl 6
18:21 masak diakopter: no. using Perl 6.
18:21 lue master: my @a = 1,2,3; @a[*+0]=4;@a[*+0]=5; say @a.perl
18:21 masak there's a bit of meta here and there, but not in my use of Perl 6 :)
18:21 lue rakudo: my @a = 1,2,3; @a[*+0]=4;@a[*+0]=5; say @a.perl
18:22 p6eval rakudo 02cf9c: OUTPUT«[1, 2, 3, 4, 5]␤»
18:22 masak Rakudo++
18:25 lue rakudo: my @a = 1,2,3; @a[*-1]=4;@a[*-2]=5; say @a.perl
18:25 p6eval rakudo 02cf9c: OUTPUT«[1, 5, 4]␤»
18:25 lue \o/
18:29 * masak is taking a good look at http://search.cpan.org/dis​t/DateTime/lib/DateTime.pm and really liking what he sees
18:35 lue I like the look of it. The one thing I hate is that I would like the time module to be as independent of clock/calendar systems as possible, but that seems to be an excersize for the module creator.
18:35 lue (a module that augments Temporal that is)
18:39 masak lue: Gregorian is right in the majority of cases out there. I think clock/calendar independence is a bit of a nice, politically correct idea on paper. I've yet to see a concrete proposal for it that I prefer to a tight coupling to Gregorian.
18:39 Su-Shee where's lichtkind's german perl 6 tutorial again?
18:40 masak Su-Shee: http://wiki.perl-community.de/foswiki​/bin/view/Wissensbasis/Perl6Tutorial
18:40 masak that one?
18:41 Su-Shee gna. that one. what did you google what I didn't? ;)
18:42 masak hm. german perl 6 tutorial, I think :P
18:42 masak std: subset Num+ of Num where { $_  > 0 };
18:42 p6eval std 30304: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/8sohTaIOpM line 1:␤------> [32msubset Num+ of Num [33m⏏[31mwhere { $_  > 0 };[0m␤    expecting any of:␤  bracketed infix␤  infix or meta-infix␤      statement modifier loop␤Undeclared routine:␤        'of' used at line
18:42 p6eval ..1␤FAILED 00:01 …
18:42 masak wonder why lichtkind seems to think it's OK to have non-alphanumerics in that identifier, when it isn't anywhere else...
18:42 lue .oO(I hate daylight savings. It should die, and make a programmer's job easier (preferably, leap years can be abolished as well :) ))
18:44 masak lue: I'm not a fan of DST either, but I'm prepared to implement support for it to simplify for others.
18:44 mberends by design, there is no parsing of dates from strings in http://search.cpan.org/dis​t/DateTime/lib/DateTime.pm
18:45 masak nod.
18:45 masak I have that in my notes :)
18:45 masak shall I gist what I have so far?
18:45 mberends sure
18:46 masak http://gist.github.com/355605
18:49 lue .beats
18:49 phenny @825
18:49 lue ( trying to learn beat time :) )
18:50 masak don't bother, I'd say.
18:50 lue rakudo: say time()
18:50 p6eval rakudo 02cf9c: OUTPUT«1270406119.22298␤»
19:00 * masak really liked the 'my $dt = DateTime->now( time_zone => 'Asia/Taipei' ); $dt->set_time_zone( 'Europe/Paris' );' use case in CPAN's DateTime :)
19:01 masak 'Yes, now we can know "ni3 na4 bian1 ji2dian3?"' \o/
19:01 lue Yes WE CAN! YES WE CAN (wait, what?)
19:02 lue The only problem with Unix Epoch currently is Y2038 :)
19:03 masak let's not try to solve that problem.
19:03 lue The solution is 64-bit, and I'll be the only one using a 32-bit computer by then :D
19:05 lue rakudo: say 2:<1111111111111111111111111111111>
19:05 p6eval rakudo 02cf9c: OUTPUT«Confused at line 11, near "say 2:<111"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:05 lue rakudo: say :2<1111111111111111111111111111111>
19:05 p6eval rakudo 02cf9c: OUTPUT«2147483647␤»
19:06 mberends timezone names is a feature too far to put in Rakudo *. Timezones by numeric offset are economical, you just need to accommodate minutes for those zones that want fractional hour offsets. ISO8601 specifies a good format for those. http://en.wikipedia.org/wiki/ISO_8601
19:07 lue I agree. The names are superfluous and confusing.
19:09 mberends let's not be afraid to recommend a loadable module for nice-to-haves such as time difference. We can document it, but to be implemented outside of core.
19:10 masak I third your motion. no names for timezones in core.
19:11 masak aye; let's make it easy to plug in something more fancy.
19:11 slavik screw timezones ... world should just use UTC
19:12 masak slavik: laziness is one thing, intolerance another :P
19:12 slavik and relate aparent degrees the sun is over horizon
19:12 slavik done
19:12 lue that doesn't work though, people wouldn't like noon being midnight :/
19:12 mberends slavik: Perl 5 has gmtime and localtime in core, we should cover at least that in Perl 6
19:12 lue To acheive wordwide sameness, you'd need a new timekeeping system.
19:12 slavik lue: who cares?
19:12 slavik lue: yes ...
19:12 slavik let's do Mars time! :D
19:13 slavik I'm sorry, I am bored and at work
19:13 mberends *sigh*
19:14 masak slavik: please try not to live up to our worst fears about bikeshedding :P
19:15 slavik bikeshedding?
19:16 masak slavik: are you asking about what the term means, or questioning whether you just indulged in it?
19:16 slavik what it meANS
19:16 mberends slavik: endless discussions with no hope of useful agreement
19:16 slavik oh
19:16 lue oh I know. I've tried to come up with the same thing. It takes a while :)
19:16 * Juerd reads slavik as slavink :)
19:16 Juerd (food)
19:17 jnthn om nom nom
19:17 masak slavik: http://en.wikipedia.org/wiki/​Parkinson's_Law_of_Triviality
19:18 slavik I see
19:18 slavik masak: what about the arguments about DST?
19:19 * slavik looked up what a slavink is ...
19:19 masak slavik: what about them?
19:19 slavik and why do americans get called fat? :(
19:19 slavik it's port, wrapped up in pork fat, friend in oil
19:20 masak slavik: ssh.
19:20 slavik http://www.bbqaddicts.com/bl​og/recipes/bacon-explosion/
19:20 lue I see your Law of Triviality and call a foul on the probability such a discusion is trivial! http://en.wikipedia.org/wiki/Improbability
19:20 lue ( we should have a logic fight sometime :) )
19:21 masak we should try to stay on topic sometime...
19:21 mberends the most lightweight DST implementation just treats it a a slightly different timezone. The core Temporal functions should enable an optional module to get all complicated about DST if the programmer wants.
19:22 lue Maybe its possible for the program to be smart when it comes to DST time zones, and autocorrect any issues...
19:23 masak lue: how do you mean?
19:23 mberends leave it to modules, please
19:23 masak I think we should, yes.
19:24 lue One thing it could (almost) definitley correct is the hole left by jumping *to* DST.
19:24 slavik but how do you treat when only some zones do DST?
19:24 masak lue: not if it doesn't know about local DST customs because those things are in a module.
19:24 lue ah well. DST sucks :)
19:24 masak slavik: we leave that to a module :)
19:25 slavik hence my original statement, stick with UTC and we don't have to worry about it
19:25 k23z__ joined #perl6
19:25 masak I'd say we show how to do all the fancy things with real time zones and DST -- maybe even in the spec -- but we don't actually implement it, just leave plugs.
19:25 slavik just get used to the sun rising at some UTC time and do your work around that time
19:25 masak aye, I like that.
19:26 slavik masak: I really mean, the world should abolish timezones and just live with UTC
19:26 lue me too, the only thing my brain says (stupid brain) is why is UTC so special? why not UTC+5 ?
19:26 slavik and just know when people wake/sleep at what UTC time, about
19:26 slavik lue: because the brits invented this whole time zone thing
19:26 slavik so UTC = GMT
19:26 masak slavik: I see where you're coming from, but I don't believe that's Perl 6's call to change the world in that way.
19:27 slavik :(
19:27 arnsholt For time, I suggest Swatch beats =)
19:27 lue .beats
19:27 phenny @852
19:27 masak oh ffs
19:28 was kicked by masak: Kicked by masak
19:28 was kicked by masak: Kicked by masak
19:28 was kicked by masak: Kicked by masak
19:28 arnsholt joined #perl6
19:28 lue joined #perl6
19:28 lue sorry :(
19:28 * arnsholt heads for the logs ^^
19:28 masak people: behave or shut up. thanks :)
19:28 masak we're trying to do actual work here.
19:30 masak I'm all for having fun and goofing off, but hearing that crap about beats for the fifth time the same day is... not funny.
19:30 slavik joined #perl6
19:30 arnsholt Oh, sorry. I've not been following the channel much today, so I didn't realize it was that dead a horse
19:30 masak I'd like not to kick any more people today. :)
19:30 levengli joined #perl6
19:30 slavik :(
19:31 slavik guess I have to be relevant then
19:31 masak please.
19:31 mberends masak: are you still cherry-picking DateTime features into your gist?
19:31 masak yes.
19:31 masak I'll paste the latest updates.
19:31 sorear cognominal: I just went through CREDITS
19:31 phenny sorear: 11:31Z <jnthn> tell sorear yes, artistic 2.0, same as Rakudo and Parrot.
19:31 masak mberends: http://gist.github.com/355605
19:32 slavik perl6: if ("123 555 234 1" ~~ /[(\d+)\s?]+/) { say "match" }
19:32 p6eval elf 30304, rakudo 02cf9c: OUTPUT«match␤»
19:32 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6​.2.13.14/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat…
19:32 mberends masak: great. I'm actually hoping we can find stuff to omit.
19:33 masak mberends: I was thinking we might go about that separately and then compare notes.
19:33 slavik rakudo: if ("123 555 234 1" ~~ /[(\d+)\s?]+/ <${0<=$0<=255}>) { say $0 }
19:33 p6eval rakudo 02cf9c: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
19:33 kensanata joined #perl6
19:33 masak mberends: i.e. we each produce a bipartition of my notes and then discuss the differences :)
19:34 mberends masak: excellent idea, everyone interested can nopaste their own view. What's a bipartition?
19:35 masak :D
19:35 masak it's a partition into two parts.
19:35 slavik what are we doing?
19:35 masak slavik: we're trying to find a subset of CPAN's DateTime that we can use for Perl 6.
19:35 slavik honestly, I'd say just using one time format (epoch, utc) and modules for everything else
19:36 slavik like DST and time zone conversions
19:36 masak we definitely want to go simple.
19:36 masak but I think that includes things like hours, minutes and seconds.
19:36 lichtkind joined #perl6
19:37 masak if not, we might as well say "well, you're on your own. do math with epoch numbers and like it"
19:37 mberends slavik: so masak++ will complete his draft feature list and we'll all edit a copy, dividing into "core", "module" and "discard". oh, that might not be a bipartition ;)
19:38 slavik tripartition
19:38 slavik masak: fair enough
19:38 masak try to keep it to "core" and "discard".
19:38 masak but the things you want in modules should be represented as possibilities in "core".
19:38 masak we're not designing the other modules here, just DateTime :)
19:39 slavik I see
19:39 slavik masak: one issue I found when working with time is leap years ...
19:39 sorear moritz_: ping
19:40 slavik btw, epoch is good numbers since it's used in cmos clock, no?
19:40 sorear no
19:40 sorear cmos clock uses decomposed time
19:40 sorear yy-1900 mm dd hh mm ss
19:40 sorear some of them even have y2k bugs
19:40 masak rakudo: if '123 555 234 1' ~~ / [ (\d+) \s? ]+ <?{ 0 <= $0 <= 255 }> / { say $0 }
19:40 p6eval rakudo 02cf9c: OUTPUT«No applicable candidates found to dispatch to for 'infix:<<=>'. Available candidates are:␤:(Any $a, Any $b)␤␤current instr.: '_block66' pc 858 (EVAL_1:294)␤»
19:40 slavik oh
19:41 masak hm.
19:41 masak rakudo: if '123 555 234 1' ~~ / [ (\d+) \s? ]+ <?{ 0 <= +$0 <= 255 }> / { say $0 }
19:41 p6eval rakudo 02cf9c: OUTPUT«1235552341␤»
19:41 mberends slavik: ntp time is more reliable for most computers, cmos is just a local offline approximation
19:41 * masak submits rakudobug
19:41 slavik ntp requires a time server
19:41 masak rakudo: my @a; 0 <= @a <= 5
19:41 p6eval rakudo 02cf9c:  ( no output )
19:42 masak rakudo: 0 <= $/ <= 5
19:42 p6eval rakudo 02cf9c:  ( no output )
19:42 masak hm.
19:42 tri1 joined #perl6
19:42 * lue is making his own list of stuff about CPAN DateTime
19:43 masak rakudo: "123 555 234 1" ~~ / [ (\d+) \s? ]+ <?{ say $0.WHAT }> /
19:43 p6eval rakudo 02cf9c: OUTPUT«Method 'WHAT' not found for invocant of class 'ResizablePMCArray'␤current instr.: '_block64' pc 830 (EVAL_1:283)␤»
19:43 masak ah.
19:43 slavik ?
19:43 mberends masak: (off topic) finanalyst++ found that your SVG.pm does not work with current Rakudo, and he would really like to use it to make some graphics.
19:44 masak noted.
19:44 slavik does OpenGL work?
19:44 slavik and SDL ...
19:44 * japhb rezzes in
19:44 japhb slavik: That depends on whether 'use Foo:from<parrot>;' works again.
19:45 slavik oh
19:45 masak japhb: thanks. didn't know what to reply to that one :)
19:45 slavik but the stuff where you can load pir files as native language files will be part of rakudo, right?
19:45 mberends slavik: we are working on calling graphic libraries via blizkost and zavolaj, just not ready yet. (lack of tuits)--
19:45 slavik tuits?
19:45 mberends time
19:45 japhb slavik, That was the blocker the last time I looked, because it's lower priority than a lot of other stuff going on for Rakudo*
19:46 japhb masak: np  :-)
19:46 slavik oh :(
19:46 slavik imo, that is a killer feature for parrot ... since pir files can be generated from header files being run through clever regex.
19:46 japhb slavik, indeed, that's exactly how it works.  :-)
19:47 japhb Well, lots of regexen and some other sprinkled magic, but basically.
19:48 slavik not only that, it is easier to build libraries in C/C++ than using XS (every time I read those tutorials, I become more confused).
19:51 masak to repeat myself a bit: I think our best hope for making a good DateTime is this: produce a really minimal one with a few constructors/getters/setters and UTC; add nice hooks for local times, DST and time zones; demonstrate in the spec with code that works how to add such things using the hooks.
19:52 mberends masak++
19:52 colomon masak++
19:53 masak now, let's try to arrive at the minimal module with minimal bikeshedding. :)
19:53 lue masak++
19:53 jnthn +1
19:54 * masak is oddly reminded of http://bash.org/?99060 :)
19:54 Su-Shee what? not the big shot? no the once and for all DateTime module of all date handling modules? shouldn't black holes and the change of time in astrophysics be considered? :)
19:55 lue http://gist.github.com/355648 is what I have
19:55 masak Su-Shee: sometimes it's grand to be small :)
19:55 lue Su-Shee: I think that's best handled by me (at some point)
19:55 lue (when I bother with astrophysics)
19:56 Su-Shee bring in the eigenstates somehow.
19:57 lue masak: that's mean! Glad we're not like that :)
19:58 jnthn .oO( WRONG BITCH! )
19:58 lue (the link you posted)
19:59 lue jnthn: s/IT/TI/
19:59 masak lue: no, I mostly referred to the acclaim I got from my proposal, after kicking three people in rapid succession :)
19:59 lue Ah :)
20:00 masak I found that amusing-ish :)
20:00 lue .oO(do any #perl6 quotes appear on that website?)
20:01 sorear jnthn: I am still missing : moritz, dukeleto, fperrad
20:01 sorear jnthn: also, I have blizkost building without warnings.
20:01 lue .oO( later, we can have some quote-sharing fun. But for now, Temporal and fortune-mod :) )
20:02 finanalyst left #perl6
20:02 jnthn sorear: Cool, I should check if it still builds in Windows too...unless you already know it does. :-)
20:03 jnthn (or maybe you're a win32-er too :-))
20:04 sorear If it still does, it probably won't soon
20:04 sorear I'm looking into moving it to distutils
20:04 masak lue, slavik, mberends: for my purposes, I'm now finished cliffsnotesing CPAN's DateTime: http://gist.github.com/355605
20:04 jnthn ...
20:04 jnthn Oh no.
20:05 sorear what
20:05 * jnthn would prefer to stick with makefile
20:05 jnthn I gues I'll cope otherwise.
20:06 jnthn I don't expect Rakudo to move to distutils too, fwiw.
20:06 masak mberends: I'll make another gist with my bipartition.
20:06 levengli ho
20:06 levengli hi
20:06 levengli did anyone try running the parrot-2.0.0/examples/opengl/static-triangle.p6 example?
20:06 sorear the blizkost makefiles don't actually work
20:06 sorear they're glorified shell scripts
20:06 masak levengli: probably not since the ng merge, no.
20:07 jnthn The Rakudo one is a better example.
20:07 levengli can you try? tell me if it's me or not?
20:07 sorear as witnessed by the fact that my rebuild routine is git clean -dfx; perl Configure.pl; make
20:07 levengli jnthn: where is it?
20:07 * masak tries
20:08 masak levengli: Unable to find module 'OpenGL'
20:08 levengli me too
20:08 levengli any insight?
20:08 levengli it appears to be there
20:08 masak levengli: I'm not sure :from<parrot> works right now.
20:08 levengli parrot/runtime/parrot/library/OpenGL and parrot/runtime/parrot/library/OpenGL.pir
20:08 masak yes.
20:09 masak but what I just wrote.
20:09 jnthn sorear: build/Makefile.in
20:09 levengli :)
20:09 levengli jnthn: what's the rakodu example?
20:09 masak 'Rakudo'.
20:10 levengli sorry
20:10 masak no problem :) it's hard to spell
20:11 diakopter orkaud
20:11 masak rakudo: 'rakudo'.comb.pick(*).join.say
20:11 p6eval rakudo 02cf9c: OUTPUT«odruak␤»
20:12 masak :)
20:12 arthur-_ joined #perl6
20:13 masak rakudo: 'sudoku'.subst(/su/, 'ra').comb[0,1,4,5,2,3].join.say
20:13 p6eval rakudo 02cf9c: OUTPUT«rakudo␤»
20:13 masak \o/
20:13 moritz_ :/
20:13 masak rakudo: 'sudoku'.subst(/su/, 'ra').comb(/../)[0,2,1].join.say
20:14 p6eval rakudo 02cf9c: OUTPUT«rakudo␤»
20:14 masak better :)
20:14 moritz_ rakudo: say 'rakudo'.pick(*, :replace).batch(10)
20:14 p6eval rakudo 02cf9c: OUTPUT«rakudorakudorakudorakudoraku​dorakudorakudorakudorakudorakudo␤»
20:14 moritz_ rakudo: say 'rakudo'.comb.pick(*, :replace).batch(10)
20:14 p6eval rakudo 02cf9c: OUTPUT«udaooruoku␤»
20:14 lue ouarkd
20:14 lue rakudo: say 6*5*4*3*2*1
20:14 p6eval rakudo 02cf9c: OUTPUT«720␤»
20:15 lue you can misspell rakudo 719 ways (assuming no addition/subtraction/modification of characters)
20:17 lue so, the situation on Temporal is...
20:17 masak lue: I'm producing my bipartition right now.
20:17 * mberends ...is still bipartitioning
20:18 diakopter rakudo: 'rakudo'.comb.pick(*).say
20:18 p6eval rakudo 02cf9c: OUTPUT«aorkdu␤»
20:18 diakopter rakudo: 'rakudo'.comb.pick(*).say
20:18 p6eval rakudo 02cf9c: OUTPUT«rodauk␤»
20:18 diakopter rakudo: 'rakudo'.comb.pick(*).say
20:18 p6eval rakudo 02cf9c: OUTPUT«odurak␤»
20:18 lue alright, and implementation would happen in the usual way, correct? Just by adding to the rakudo source, improving, etc.
20:18 pugssvn r30305 | jnthn++ | [t/spec] After fixing a bug in Rakudo that means our scope doesn't leak to places it shouldn't, some tests fail since they assume a module Foo { sub blah() { } } will be callable as Foo::blah. This adds the required 'our's.
20:19 masak lue: dunno yet. but probably, yes.
20:19 moritz_ lue: don't forget writing tests
20:20 lue yes ( but we probably should have an agreed-upon spec for Temporal first :) )
20:21 moritz_ lue: then your next step should be to reply to Mark's questions on the perl6-language mailing list
20:22 masak I agree.
20:22 * lue goes and signs up to p6l *gulp*
20:25 moritz_ lue: http://dev.perl.org/perl6/lists/ also explains how you can obtain older mails so that you can reply to them
20:27 masak mberends: I haz a done. http://gist.github.com/355664
20:28 mberends 60% done here :/
20:28 masak no rush.
20:28 * masak has some more påskmust in the meantime
20:28 moritz_ second ~~ 0..61
20:28 moritz_ so you allow two leap seconds?
20:28 masak we don't disallow them.
20:29 masak but in core we don't deal with them either.
20:29 masak it's be sad if the core DateTime refused to deal with foreign DateTime objects just because they had leap seconds.
20:29 masak moritz_: oh, your question was about *two* leap seconds?
20:30 masak yes, because DateTime on CPAN dös.
20:30 masak *does
20:32 masak moritz_: allegedly, some days have had two leap seconds.
20:32 lue masak: what is påskmust?
20:32 masak lue: http://sv.wikipedia.org/wiki/Julmust
20:32 jnthn lue: You must try it!
20:33 pugssvn r30306 | jnthn++ | [t/spec] Another missing our.
20:33 masak jnthn: happy our! :P
20:33 jnthn :-D
20:33 Su-Shee ah. Malzbier.
20:34 masak Su-Shee: except this one didn't have alcohol to begin with.
20:34 masak it's just a soft drink, really.
20:34 masak but it could be it's similar in taste.
20:36 Su-Shee so is Malzbier. It's realy beer but due to temperature the fermentation doesn't produce alcohol. and sugar is added.
20:36 Su-Shee -y
20:37 jnthn Down with temperature!
20:38 Su-Shee it's a children's drink. though I still love it from time to time.
20:40 lue how would I get that email you told me I should respond to?
20:40 masak <moritz_> lue: http://dev.perl.org/perl6/lists/ also explains how you can obtain older mails so that you can reply to them
20:41 pugssvn r30307 | jnthn++ | [t/spec] Happy our again!
20:41 lue All those lovely hours! (er, ours)
20:41 * masak raises his glass
20:42 * masak looks at http://datetime.perl.org/index.cgi?FAQBasicUsage for use cases
20:42 lue I know, but do I just type perl6-language-get@perl.org ?
20:44 levengli for 1..5 {.say}; #works
20:44 levengli for 1..5 {$_.say}; # doesn't work
20:44 levengli why??
20:44 lue wait, for works?
20:45 levengli lue: are you asking me?
20:45 masak mberends: hm, seems I introduced an infelicity: DateTime on CPAN *does* override numeric comparison.
20:46 bkeeler rakudo: for 1..5 {$_.say};
20:46 p6eval rakudo 02cf9c: OUTPUT«1␤2␤3␤4␤5␤»
20:46 jnthn rakudo: for 1..5 {$_.say}
20:46 p6eval rakudo 02cf9c: OUTPUT«1␤2␤3␤4␤5␤»
20:46 mberends masak: I was rewriting it as < > <= >= != == under KEEP
20:47 jnthn rakudo: for 1..5 {.say}
20:47 p6eval rakudo 02cf9c: OUTPUT«1␤2␤3␤4␤5␤»
20:47 jnthn wfm
20:47 bkeeler OH HAI #p6
20:47 levengli wfm?
20:47 masak mberends: yes, those are the ones I'm talking about. 'under'?
20:47 jnthn "works for me" :-)
20:47 jnthn levengli: In what way does it fail for you?
20:47 masak ah. not an operator :P
20:47 mberends "to keep"
20:47 masak mberends: fwiw, I also have num comp under KEEP.
20:48 lue afk, need a break :)
20:48 * mberends looks for a github login/password
20:49 levengli bad shebang :S
20:52 lichtkind good night
20:52 masak lichtkind: 'night!
20:52 dalek rakudo: 72fd9a8 | jonathan++ |  (12 files):
20:52 dalek rakudo: Run program bodies within the lexical scope of the setting. There's still some things that aren't going to work out just yet, but this is at least the first 80%. :-) Also fix up a $*SCOPE leakage that meant we accidentally the our-scope for many things that should have been has or my scoped. Please re-configure; this may also break some code that wasn't assuming lexical scope by default.
20:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​2fd9a82015b9e382ce32591a4f86d8a28d90ece
20:53 lichtkind masak: thanks and dont hurry i have plenty to do in tpf wiki :)
20:53 masak lichtkind: good to know :) keep up the good work!
20:53 mberends masak: a more savage cut: http://gist.github.com/355684
20:53 * masak looks, curious
20:54 * mberends may have cut too far, but implementation will fix that
20:55 masak mberends: I like what I see. but let's diff.
20:55 frettled mberends: «Time is ephemereal»?
20:55 frettled That would be a cut too far. ;)
20:55 masak mberends: what's your plan for locales and time zones?
20:56 masak mberends: also, can you defend keeping both dayofmonth and dayofmonth_0?
20:56 frettled Hmm, why can't the year param be optional too?  Assume current year if none given?
20:57 masak frettled: I'm disinclined to do that (more)
20:57 masak frettled: as it stands now, the DateTime class is actually orthogonal to *current* time. I think I like that.
20:57 masak frettled: current time is handled by time().
20:57 mberends masak: no, "but without redundant variants" was meant to exclude  _0 and _1 redundancy
20:57 arthur-_ joined #perl6
20:58 masak oh, good.
20:58 masak we haz an agree.
20:58 masak what about the locales and time zones?
20:58 frettled How are years before year 1 handled?
20:59 masak frettled: they're not in DateTime on CPAN.
20:59 masak frettled: if you want them, there are other modules.
20:59 mberends locale should be a formatter job. the built in one is en_us
20:59 masak frettled: the range for years is 1 .. 9999
20:59 masak mberends: hm, I guess it is, if we don't include names for our months etc.
21:00 frettled okay, so it's not quite like DateTime in CPAN, then.
21:00 masak let's leave out locales until we see that they're necessary.
21:00 masak frettled: in what sense?
21:00 frettled masak: that one has a year 0
21:00 frettled so it follows the astronomical calendar, more or less.
21:00 masak frettled: oh, I thought it didn't.
21:00 * masak looks again
21:01 mberends set a timezone as either an ISO8601 string or an integer number of minutes, or seconds if you prefer
21:01 masak frettled: ah, you're right.
21:01 frettled try also: perl -MDateTime -e '$dt = DateTime->new(year => -1001); print $dt->dmy,"\n"'
21:02 masak ok, so there seems to be no limit to year, then.
21:02 masak I sit corrected.
21:03 mberends masak: ISO8601 timezone examples: "+01" "-0500"
21:03 frettled I'm glad you're taking it sitting down.
21:03 masak frettled: :)
21:03 masak mberends: ok, so strings looking like that. that feels minimal and balanced.
21:04 mberends it's also blessed
21:04 masak mberends: but I think we should include a DateTime::TimeZone class too, and show (in the spec) how to use it.
21:04 masak where 'use' means 'do your own TimeZone stuff at home' or 'build a TimeZone-aware module'
21:04 mberends masak: agreed, with fancy features, etc
21:05 frettled :)
21:05 * masak gets distracted by eggs
21:05 masak &
21:05 frettled quack?
21:05 mberends revenge of the Easter Eggs?
21:06 frettled Easter Eggs From Outer Space!
21:06 mberends Pan 9 from Outer Space!
21:07 spinclad masak: i see on one level Instant and (perhaps Instant::)Duration, and on the next, DateTime and (let's make it DateTime::)Duration.  i'd like to make sure we don't have a name collision on the Durations...
21:08 frettled mberends: Spanglish? :D
21:09 arthur-_ joined #perl6
21:09 spinclad (what, doesn't Pan deliver the Easter Eggs in your locale?)
21:09 frettled No, but did you know that one of the biggest brands of bread (pan) in Spain is called Bimbo?
21:10 mberends See Pan has everything
21:10 frettled haha :D
21:10 jnthn frettled: Yes, I've eaten Bimbo!
21:11 * jnthn looks on curiously at what masak is doing with eggs
21:12 levengli jnthn: out of context, that sounds odd
21:12 frettled jnthn: oh, the puns :)  (I made up a whole batch of 'em)
21:12 levengli i am beginning to understand how little i understand with p6
21:12 jnthn frettled: Don't yolk about it!
21:12 frettled «My Bimbo tastes sweeter with honey.»
21:12 levengli why does for 1..5 -> $num {factorial($num).say} work but
21:12 levengli for 1..5 -> my $num {factorial($num).say} not?
21:13 jnthn levengli: What follows -> is a signautre.
21:13 jnthn (sugnature
21:13 moritz_ signature :-)
21:13 jnthn ...ok, I give up at typing.
21:13 spinclad signutre
21:14 levengli what is the ramification of this? no scoping at all?
21:14 spinclad scope through the end of the following block
21:14 moritz_ the parameters declared in the signature are visible in the scoep of the block
21:14 jnthn levengli: Just like when a sub has a signature, the parameters exist within the sub.
21:14 jnthn Then here...what moritz_ and spinclad said. :-)
21:15 levengli thanks to one and all
21:15 levengli is there a camel book equivalent?
21:15 moritz_ nope
21:15 moritz_ we're writing a book, but it's not yet done
21:15 levengli what's this we kmmosabi?
21:16 moritz_ http://github.com/perl6/book/ for a work in progress
21:16 dalek rakudo: 33b0082 | jonathan++ | src/core/Any-list.pm:
21:16 dalek rakudo: Start to remove some our declarations, now that the setting lexically encloses the program.
21:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​3b0082fa7687d9483574bb37bd550b13b80bc07
21:16 moritz_ what is kmmosabi?
21:16 levengli it's a typo
21:16 levengli http://www.urbandictionary.c​om/define.php?term=Kimosabe
21:17 levengli 1st definition
21:17 moritz_ we = masak, jnthn, PerlJam, me, and everybody who's interested
21:17 * frettled = interested, but too few tuits.
21:18 * frettled bookmarks the github URL for another day.
21:19 * moritz_ should do another book release tomorrow
21:20 mberends moritz_: is there a CLA other than Perl Foundation required for book?
21:20 moritz_ mberends: nope
21:21 moritz_ mberends: there's a contract from chromatic for the main authors
21:21 mberends ok :) please add me if I'm not already a committer
21:21 moritz_ hugme: add mberendes to book
21:21 hugme moritz_: ERROR: Can't add mberendes to book:  404 Not Found
21:21 moritz_ mberends: what's your github ID?
21:21 Sarten-X joined #perl6
21:22 mberends mberends. s/des/ds/
21:22 moritz_ hugme: add mberends to book
21:22 * hugme hugs mberends. Welcome to book!
21:22 * moritz_ sleepy
21:22 mberends :) thanks
21:25 moritz_ hugme is such a useful tool, somebody could write a plugin for it for handing out pugs commit bits
21:26 hanekomu joined #perl6
21:26 mberends @seen somebody
21:26 hanekomu joined #perl6
21:34 masak` joined #perl6
21:36 masak` moritz_: nice idea.
21:37 moritz_ hugme is POE based
21:37 arnsholt Y'know, unification is hard.
21:37 arnsholt (Idle thought =)
21:37 moritz_ so currently I'm looking for something like WWW::Mechanize, but non-blocking so it's well usable from POE
21:38 dalek rakudo: dc3ff3b | jonathan++ | src/core/Any-num.pm:
21:38 dalek rakudo: More removal of our.
21:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​c3ff3b054cdcd13b912974301afa828b6d2214c
21:40 hanekomu joined #perl6
21:42 * jnthn gives another ticket to moritz_++
21:50 Sarten-X joined #perl6
21:52 masak rakudo: class A { method new(*%_) { self.bless(*, |%_) } }
21:52 p6eval rakudo 33b008: OUTPUT«Placeholder variables cannot be used in a method at line 11, near "}"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
21:52 masak not good. :(
21:53 jnthn det e kass.
21:55 masak jnthn: if I have class A { subset B ... }, how do I refer to B from within A?
21:55 masak jnthn: A::B?
21:56 dalek rakudo: c467c5c | jonathan++ | docs/ROADMAP:
21:56 dalek rakudo: Item assignment is done and tested, so move to done section of the ROADMAP.
21:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​467c5cf192e2c400d1da2d0c9b291d2e76c7fd3
21:56 masak jnthn++
21:57 jnthn A::B should work
21:57 jnthn Think subsets aren't lexical by default.
21:57 jnthn I *think*. :-)
21:57 jnthn Other type-y things aren't...
21:59 masak nod
21:59 ash_ joined #perl6
22:01 levengli karma jnthn
22:02 levengli or is it karma: jnthn
22:02 cognominal joined #perl6
22:02 masak mberends: I'm going a bit dictatorial and adding back .truncate as a method on DateTime. it's needed for various purposes.
22:02 jnthn buubot: karma jnthn
22:02 buubot jnthn: jnthn has karma of 727
22:02 jnthn buubot: karma jonathan
22:02 buubot jnthn: jonathan has karma of 324
22:03 jnthn ...I surpassed 1000!
22:03 jnthn jnthn-- # immodesty
22:03 masak jnthn-- # I want to help! :)
22:03 jnthn :-P
22:03 ash_ what is YOU_ARE_HERE?
22:03 jnthn It's where you are.
22:03 jnthn ;-)
22:03 ash_ jonathan++ #helping in the other direction?
22:04 jnthn ash_: It is a "marker" in the setting for where the program goes.
22:04 mberends masak: that's fine, it's easy to implement by setting members to zero or one
22:04 masak mberends: aye.
22:04 jnthn The setting is spec'd as a lexical outer of the program.
22:04 jnthn Now Rakudo really handles it that way.
22:04 ash_ jnthn: ah, i think i get what its used for
22:04 ash_ got ya
22:08 dalek rakudo: f5b18c9 | jonathan++ | src/core/A (2 files):
22:08 dalek rakudo: More removal of our; this is probably so far as we can go for now.
22:08 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​5b18c946db69c9e32695934955655f6366b82ed
22:09 ash_ so... proper lexical scoping for all 'global' functions is really just pushing the user program into a lexical scope on top of the settings?
22:11 jnthn Correct.
22:21 wolverian joined #perl6
22:22 wolverian joined #perl6
22:22 sorear moritz_: ?
22:23 masak sorear: ¿
22:25 levengli moritz_ has an autoreply stating "bed"
22:25 levengli i tried building the book
22:25 sorear masak: I sent moritz_ a message, but he still hasn'tgotten back to me
22:25 levengli failed meseablely
22:25 levengli misrably
22:25 sorear despite the fact that he keeps talking here
22:26 masak jnthn++!
22:26 masak sorear: ok, I see. maybe he's distracted somehow.
22:26 sorear I also need to get in touch with fperrad and dukeleto.
22:27 sorear Maybe I should give up on this whole IRC thing and email them.
22:27 gmax joined #perl6
22:27 masak sorear: sounds like a good idea.
22:28 levengli http://github.com/perl6/book: fails building
22:28 masak levengli: could you nopaste the failure?
22:29 levengli it just hangs
22:29 levengli unless there is something that i should be writing after i call make
22:29 masak levengli: works here.
22:32 levengli masak: how long does it take to build?
22:32 masak levengli: seconds.
22:32 masak maybe ten.
22:33 levengli didn't deal nicely with recovering from a previouslt failed build
22:33 levengli make clean; make: solved it
22:33 levengli masak++
22:33 masak levengli: glad to hear that. :)
22:34 masak 6.3 seconds here.
22:34 levengli how do you time?
22:34 jnthn masak: Can you give it to a few more significant figures?
22:34 jnthn ;-)
22:34 masak jnthn: 6.353 :)
22:35 nihiliad joined #perl6
22:35 levengli how do you time it?
22:35 levengli also, why are there 2 files? book and mmd-table
22:36 Guest42283 joined #perl6
22:37 levengli i promise that those are my last 2 questions ;)
22:37 jnthn I suspect the later is a by-prodcut.
22:37 jnthn produced while producing the book.
22:37 masak levengli: 'time make'
22:38 masak levengli: I don't really know why there're two files.
22:38 tri1 left #perl6
22:38 levengli 1.511s
22:38 levengli sweet
22:38 levengli thanks all. good night
22:38 levengli i have what to read tomorrow
22:41 sorear jnthn: hah, have you seen chromatic's optimization reports?
22:42 jnthn sorear: No?
22:42 jnthn sorear: Where?
22:45 mberends \o good night, more progress tomorrow!
22:45 jnthn o.
22:46 takadonet sorear: where is it?
22:49 hanekomu joined #perl6
23:03 justatheory joined #perl6
23:11 dalek rakudo: c9db3d6 | jonathan++ | src/Perl6/ (2 files):
23:11 dalek rakudo: Fix use of %_ and @_ when they've been declared in a signature (or auto-included in the case of methods).
23:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​9db3d66250900c0aae608f680a49288adafbf04
23:12 jnthn home time!
23:13 sorear jnthn: not where, but what
23:14 sorear "this change makes Rakudo startup 2.368% faster"
23:14 sorear he's found a way to measure program startup time to 5 sig figures
23:14 sorear he said it involves callgrind
23:19 ash_ that seems like an iffy way to measure things, since it has to inject code to monitor start up times, and i am not sure if it guarantees the time complexity of those calls, since callgrind does a lot more than measure time, it also measures memory usage and the stack frame, to see whats been called and how much time was spent in each call, thats like comparing -O0 to -O3, there might be a correlation between the two but the two numbers are independent in te
23:19 ash_ complexity. But that's also cool, if he can find short cuts and places that could give a speed boost theres no harm in that
23:22 lue oh hai! (masak *just* left. I knew I should've come back at the top of the hour)
23:44 ash_ joined #perl6
23:51 sorear ash_: There's a hole in your message.
23:51 ash_ ?
23:51 ash_ what do you mean?
23:55 lue hole as in gap, or hole as in contradiction?
23:56 sorear might be a correlation between the two but the two numbers are
23:56 sorear independent in te
23:56 sorear 16:19 < ash_> complexity. But that's also cool, if he can find short cuts and
23:57 sorear te ~ complexity
23:57 ash_ ah, i see, it was kinda long, i guess irc cut it
23:57 ash_ But that's also cool, if he can find short cuts and places that could give a speed boost theres no harm in that
23:57 ash_ is all i was going to say
23:58 takadonet Man i love junction!
23:58 jaldhar joined #perl6

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

Perl 6 | Reference Documentation | Rakudo