»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
jnthn heading off too...but unlike masak has a dongle, so may be online again later ;-) | 00:00 | ||
00:01
jonalv left
|
|||
dalek | kudo: 03f210f | jonathan++ | src/Perl6/ (2 files): Fix RT#73886. |
00:01 | |
k23z__ | sorear, I was asking if you're working on that now or in generla | 00:03 | |
00:11
colomon joined
|
|||
lue | o hai colomon o/ | 00:13 | |
colomon | \o | ||
back home now (for a definition of home which completely does not feel like home yet) | |||
00:14
nihiliad joined
|
|||
colomon | but home is where your wireless router is, right? ;) | 00:14 | |
lue | new house++ | 00:15 | |
buubot: karma house | |||
buubot | lue: house has karma of 0 | ||
00:17
opx^on is now known as opx^away
|
|||
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. | |||
lue | how do you propose that? | ||
colomon | propose what? ;) | 00:19 | |
snarkyboojum | rakudo: my Int $a; say $a ~~ * | ||
p6eval | rakudo cd0c7c: OUTPUT«1» | 00:20 | |
snarkyboojum | $a ~~ * just looks cool :) | ||
lue | o hai snarky! | ||
snarkyboojum | lue: hello! o | ||
o/ | |||
lue | rakudo: o--||=====> | ||
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)» | ||
snarkyboojum | colomon: where can I find those funky fractals you built in perl 6? | 00:21 | |
lue wishes people would leave #rakudosketch, in order to get an op for it | 00:22 | ||
snarkyboojum | Heh - irclog.perlgeek.de/rakudosketch/today | 00:23 | |
colomon | snarkyboojum: github.com/colomon/mandelbrot | ||
snarkyboojum | colomon: ah thanks! | ||
00:31
meppl joined
|
|||
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:31 | |
( the esperanto word for 'but' is 'sed' :) ) | 00:33 | ||
00:37
alester joined
|
|||
k23z__ | colomon, so p6 has complex in CORE / | 00:42 | |
? | |||
snarkyboojum | yep complex is in core | 00:44 | |
k23z__ | that's pretty awesome | ||
is p6 going to be a more math-focused language / | 00:45 | ||
? | |||
snarkyboojum | k23z__: TimToady++ might need to answer that one :) | ||
but I hadn't thought so :) | 00:46 | ||
lue | If we go too far, however, then we get TeX :) | ||
snarkyboojum | there's complex and trig and (was) set stuff in core already though | 00:47 | |
use Symbolic; perhaps :P | 00:50 | ||
lue | rakudo: say ( [0,1) ~~ 0..^1 ) # you're suggesting this works? | ||
p6eval | rakudo 03f210: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | ||
pugssvn | r30297 | jnthn++ | [t/spec] Unfudge a test that Rakudo now passes. | 01:04 | |
01:04
alester left
01:07
Sarten-X left,
hercynium joined
|
|||
snarkyboojum | spectest.data references S04-exceptions/catch.t which doesn't exist in SVN | 01:08 | |
pugssvn | r30298 | jnthn++ | [t/spec] Unfudge a bunch of hash interpolation tests. | 01:10 | |
01:12
wknight8111 left
01:15
Sarten-X joined
|
|||
dalek | kudo: 1068f2e | jonathan++ | t/spectest.data: Turn on S02-literals/hash-interpolation.t. |
01:16 | |
colomon | sorry to disappear there. Perl 6 is not so much math-focused as reasonably math-capable. | 01:17 | |
lue: [0,1) doesn't work in p6, but 0..^1 is the exact same idea. | |||
rakudo: say 0 ~~ 0..^1; say .4 ~~ 0..^1; say .9999 ~~ 0..^1; say 1 ~~ 0..^1 | 01:18 | ||
p6eval | rakudo 03f210: OUTPUT«1110» | ||
lue | colomon: I know :) | 01:20 | |
afk | |||
pugssvn | r30299 | jnthn++ | [t/spec] Lots of unfudging in another interpolation test. | 01:23 | |
jnthn | std: say "$(my $a = 2)"; say $a; | 01:24 | |
p6eval | std 30296: OUTPUT«ok 00:01 109m» | ||
dalek | kudo: 1094cf3 | jonathan++ | t/spectest.data: Turn back on S02-literals/misc-interpolation.t. |
01:28 | |
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)» | ||
colomon | rakudo: [+] () | 01:37 | |
p6eval | rakudo 03f210: ( no output ) | ||
colomon | rakudo: say [+] () | ||
p6eval | rakudo 03f210: OUTPUT«0» | ||
colomon | jnthn: o/ | ||
jnthn | rakudo: ([=>] 42, 23).perl.say | ||
p6eval | rakudo 03f210: OUTPUT«42 => 23» | ||
jnthn | colomon: hi! | ||
colomon: How's things? | |||
colomon | sitting next to my wife on the sofa in this enormous family room, watching the end credits of the Princess Bride. | 01:38 | |
so good. | |||
though it's still very surreal how much bigger this house is than the place in Ann Arbor. | |||
jnthn | :-) | 01:39 | |
colomon | It will be years before we can afford to buy enough furniture to properly fill out the downstairs. :) | 01:40 | |
jnthn | Yeah, my place in Bratislava was spacious, in some ways excessively so. | 01:41 | |
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! | ||
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:44 | |
you and masak++ still hacking away? | 01:45 | ||
01:46
M_o_C left
|
|||
colomon | wandering off to bed now. night! o/ | 01:48 | |
jnthn | colomon: Yes, but we'll sleep soon too! | 01:50 | |
night! o/ | |||
01:52
jaldhar left
|
|||
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
|
|||
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)» | ||
jnthn | rakudo: class class {}; say class.new.perl | ||
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,
Patterner left,
Psyche^ is now known as Patterner
|
|||
jnthn | rakudo: class class {}; | 02:00 | |
p6eval | rakudo 1094cf: ( no output ) | ||
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)» | ||
jnthn | rakudo: sub my() { say 42 }; my() | ||
p6eval | rakudo 1094cf: ( no output ) | ||
02:02
justatheory left
|
|||
dalek | kudo: 32fda13 | jonathan++ | src/Perl6/Grammar.pm: 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 | |
02:15
hicx174 left
02:16
hicx174 joined
|
|||
jnthn | std: sub class() { say 42 }; class() | 02:18 | |
p6eval | std 30299: OUTPUT«ok 00:01 109m» | ||
jnthn | rakudo: sub class() { say 42 }; class() | ||
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)» | ||
moritz_ | Coke-san: colomon's blog posts all have the title "colomon" on planetsix (they are fine in his RSS feed though) | 02:56 | |
jnthn++ # hacking like mad | 03:01 | ||
rakudo: say f { 'bar' }; say "foo &f()" | 03:02 | ||
p6eval | rakudo 32fda1: OUTPUT«Could not find sub &fcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: sub f { 'bar' }; say "foo &f()" | 03:03 | |
p6eval | rakudo 32fda1: OUTPUT«foo bar» | ||
moritz_ | rakudo: sub f($x) { 'bar' x $x }; say "foo &f(2)" | ||
p6eval | rakudo 32fda1: OUTPUT«foo barbar» | ||
moritz_ | rakudo: my $x = 'a'; say "$x.uc()" | ||
p6eval | rakudo 32fda1: OUTPUT«A» | ||
moritz_ thoroughly impressed | 03:04 | ||
rakudo: my @a = <a b c>; say "foo @a[1] bar" | |||
p6eval | rakudo 32fda1: OUTPUT«foo b bar» | ||
moritz_ | std: my %h; say "%h{"a"}" | 03:06 | |
p6eval | std 30299: OUTPUT«ok 00:01 109m» | ||
moritz_ | rakudo: my %h; say "%h{"a"}" | ||
p6eval | rakudo 32fda1: OUTPUT«» | ||
lue | o hai dere! | 03:25 | |
03:32
meppel joined
03:33
meppl left,
meppel is now known as meppl
03:35
vamped joined
|
|||
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:44 | |
k23z__ | sorear, I want to send you some svgs how do I do that ? | 03:45 | |
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 | |
if not, you'll need to write some P5 glue code | |||
actually you'll need P5 glue code regardless because import isn't implemented yet | |||
k23z__ | sorear, I want to send you some svgs how do I do that ? | ||
03:49
gfx joined,
nihiliad left
|
|||
sorear | k23z__: nopaste or email | 03:50 | |
rakudo: sub moo(*%a) { say %a.perl }; moo(-text => 'Data') | |||
p6eval | rakudo 32fda1: OUTPUT«Method 'Num' not found for invocant of class 'Pair'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
sorear | rakudo: sub moo(*%a) { say %a.perl }; moo(:-text('Data')) | ||
p6eval | rakudo 32fda1: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11current 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') | ||
p6eval | rakudo 32fda1: OUTPUT«Too many positional parameters passed; got 1 but expected 0current instr.: 'moo' pc 204 (EVAL_1:82)» | ||
k23z__ | sorear, email = ? | 03:53 | |
sorear | actually things are going... not right | 03:56 | |
pastie.org/902327 rakudobug? | 03:57 | ||
03:58
meppl left
|
|||
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:00 | |
lue | I can't see the bug. masak would know. | 04:01 | |
vamped | rakudo: sub moo(*%a) { say %a.perl }; moo(text => "Data") | 04:02 | |
p6eval | rakudo 32fda1: OUTPUT«{"text" => "Data"}» | ||
sorear | vamped: the leading dash is critical here | 04:07 | |
vamped | rakudo: sub moo(%a) { say %a.perl }; my %h="-a"=>"b"; moo(%h) | 04:09 | |
p6eval | rakudo 32fda1: OUTPUT«{"-a" => "b"}» | ||
vamped shrug | |||
sorear | I'm calling into legacy code here | 04:10 | |
Tk expects argument lists of the form "-foo", 2, "-bar", 3 | |||
in perl5 this can be written -foo => 2, -bar => 3 | |||
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
|
|||
vamped | k. i was just fiddling. good luck with it. | 04:16 | |
04:22
vamped left
04:26
gfx left
04:31
japhb left
|
|||
lue | std: use something.pm | 04:32 | |
p6eval | std 30299: OUTPUT«===SORRY!===Confused at /tmp/VwUEtAMurr line 1:------> use something⏏.pm expecting statement_control__S_064useOther potential difficulties: Can't locate module something at /tmp/VwUEtAMurr line 1:------> use | ||
..something⏏.p… | |||
lue | std: use something | ||
p6eval | std 30299: OUTPUT«Potential difficulties: Can't locate module something at /tmp/PaPWw1y2zX line 1 (EOF):------> use something⏏<EOL>ok 00:01 105m» | ||
lue | std: my $a = "something"; use $a | ||
p6eval | std 30299: OUTPUT«Undeclared routine: 'use' used at line 1ok 00:01 107m» | ||
04:33
japhb joined
04:34
sundar left
04:56
justatheory joined
|
|||
lue | good night | 04:57 | |
diakopter | lue: nite | 04:59 | |
oky doky | 05:20 | ||
perlesque lives. it's what I named the stage 2 compiler | 05:21 | ||
stage 3 gets to be called sprixel | |||
05:29
justatheory left
05:34
jql left
|
|||
sorear | diakopter: great, now you're making me want to write a perl 6 compiler | 05:42 | |
diakopter | heh | 05:44 | |
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:49 | ||
looks like I'll have to use the "ahead of time" JIT feature of mono. | 05:50 | ||
sorear | af45/ | 05:51 | |
is that like A(45)? | |||
CLR, eh | 05:52 | ||
06:02
jhuni joined
|
|||
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: paste.lisp.org/display/97286 -- we need to do something friendlier there than 'open or die' :) | ||
mberends | finanalyst++ and masak++ for pioneering the revised but still wonky proto :) | 06:16 | |
proto install is detecting 'all' when it shouldn't | 06:19 | ||
my @a=<svg form web>; say @a.grep("all").perl | 06:21 | ||
rakudo: my @a=<svg form web>; say @a.grep("all").perl | |||
p6eval | rakudo 32fda1: OUTPUT«()» | ||
mberends | alpha: my @a=<svg form web>; say @a.grep("all").perl | ||
p6eval | alpha 30e0ed: OUTPUT«[]» | ||
mberends | rakudo: my @a=<svg form web>; say ?@a.grep("all") | 06:22 | |
p6eval | rakudo 32fda1: OUTPUT«1» | ||
mberends | alpha: my @a=<svg form web>; say ?@a.grep("all") | ||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
mberends | rakudo: my @a=<svg form web>; say (@a.grep("all").elems > 0) | 06:27 | |
p6eval | rakudo 32fda1: OUTPUT«0» | ||
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:44
mikehh left
|
|||
sorear | finally, a voice of sanity | 06:49 | |
06:50
finanalyst joined
|
|||
diakopter | well, one of the last things masak said was that he was going to spec a subset of perl's DateTime | 06:50 | |
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. | ||
finanalyst | mberends: good morning | 06:53 | |
mberends | finanalyst: hi, nice to see you and sorry about the proto fail | ||
finanalyst | i've just updated my ubuntu dist and was updating my environment using proto. | ||
it all went wrong | 06:54 | ||
i did u see the final unpaste? | |||
is there any one here who can help me deal with processing a sparse matrix? | 06:55 | ||
sorear | your computer? | 06:57 | |
hashes might help | |||
maybe parrot-linear-algebra | |||
finanalyst | sorear: using unbuntu. i implemented vector multiplication and add infix operator which worked with alpha | 06:58 | |
but with new master, it doesnt. | 06:59 | ||
problem is handling empty slots in vector/matrix | |||
alpha did not have NaN, so I used undef | 07:00 | ||
but undef not allowed | 07:01 | ||
what is correct way of creating a vector with an empty slot? | 07:02 | ||
rakudo: my @v = 1,2,,3; @v.perl.say | |||
p6eval | rakudo 32fda1: OUTPUT«[1, 2, 3]» | ||
finanalyst | alpha: my @v = 1,2,,3; @v.perl.say | 07:03 | |
p6eval | alpha 30e0ed: OUTPUT«[1, 2, 3]» | ||
moritz_ | use Any as the empty element | ||
finanalyst | pugs: my @v = 1,2,,3; @v.perl.say | ||
p6eval | pugs: OUTPUT«[1, 2]» | ||
finanalyst | alpha: my @v = 1,2,undef,3; @v.perl.say | 07:04 | |
p6eval | alpha 30e0ed: OUTPUT«[1, 2, undef, 3]» | ||
finanalyst | alpha: my @v = 1,2,NaN,3; @v.perl.say | 07:05 | |
p6eval | alpha 30e0ed: OUTPUT«[1, 2, NaN, 3]» | ||
sorear | ... doesn't using explicit undef slots miss the point of sparse matrices | ||
finanalyst | sorear: perhaps I wasnt using 'sparse' in a correct meaning | 07:06 | |
i want a matrix in which there are empty slots | 07:07 | ||
sorear | an empty slot in a matrix is 0 | 07:08 | |
finanalyst | 0 is an integer with a value | ||
the matrices I use are too small for sparse implementations to be of any use | 07:09 | ||
07:13
meteorjay joined
|
|||
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 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
|
|||
finanalyst | mberends: only examples in downloaded projects. no sweat | 07:18 | |
mberends | finanalyst: I'll let you know as soon as proto downloads those projects again | 07:19 | |
finanalyst | rakudo: my $x = NaN; say ?($x ~~ NaN); say ?($x == NaN); say ?($x.defined) | 07:20 | |
p6eval | rakudo 32fda1: OUTPUT«101» | ||
finanalyst | mberends: thanx | ||
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)» | ||
finanalyst | rakudo: my @v = 1, 2, NaN, 3; for @v { say ?($_ ~~ NaN) } | ||
p6eval | rakudo 32fda1: OUTPUT«0010» | ||
07:30
jql joined
|
|||
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:34 | |
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 | ||
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' | ||
mberends | oh, you have it right then | ||
finanalyst | mberends: i initially set the configuration options to where I normally have rakudo and parrot, but proto was not working properly | 07:37 | |
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" | ||
gah, we need documentation! | |||
finanalyst | i did, but proto then did not recognise projects.state | ||
mberends | finanalyst: still, it was the right change. projects.state must be another bug | 07:39 | |
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 | ||
s'life | |||
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:41 | |
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:42 | |
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. | ||
finanalyst: see the ROADMAP section in github.com/masak/proto/blob/master/proto | 07:45 | ||
finanalyst | nod | ||
mberends | finanalyst: btw, downloading svg works again locally, but crashes during dependency tracking. Could you use an intermediate patched version/ | 07:46 | |
I mean s/\//?/ # heh | 07:47 | ||
finanalyst | which patches | ||
07:47
gfx left
|
|||
mberends | there are workarounds to get the proto 'install' command to run. It now downloads for me, but crashes after downloading. | 07:48 | |
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 | ||
yes, semi-fixed would be good | |||
mberends | ok | ||
finanalyst | mberends: please also consider adding function to proto to update rakudo if bleeding is specified | 07:53 | |
mberends | finanalyst: yes, I do plan to add that :) | 07:54 | |
finanalyst | currently, is it sufficient to git pull, then make in the rakudo directory proto has set up? | 07:55 | |
mberends | finanalyst: it depends. make is enough if PARROT_VERSION and Makefile.in have not changed | 07:57 | |
finanalyst: btw, proto patches pushed. It downloads but will not 'make' yet. | 07:58 | ||
finanalyst | thanx | ||
08:16
Su-Shee joined
|
|||
finanalyst | mberends: ping | 08:31 | |
mberends | finanalyst: pong | ||
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 | ||
mberends | good idea, can you nopaste your version of example? | 08:33 | |
finanalyst | doing that | 08:35 | |
lisppaste3 | finanalyst pasted "svg example " at paste.lisp.org/display/97300 | 08:38 | |
mberends looks | |||
finanalyst | Unable to parse postcircumfix:sym<{ }>, couldn't find final '}' at line 81 | 08:39 | |
was the error | |||
mberends | thanks, setting it up to run here :) | 08:40 | |
wow, you get the prize for the longest traceback today ;) | 08:41 | ||
well, the error occurs during compilation of SVG.pm, which has never been tested on the Rakudo * release candidate. | 08:49 | ||
finanalyst: your modified example file looks fine though | 08:50 | ||
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 | |
at presence | |||
at present | |||
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. | ||
sorear++ | 08:56 | ||
sorear | now I'd like to try and get rid of these tooth-gnashing makefiles | 08:58 | |
mberends | finanalyst: let's leave the SVG.pm debugging to masak++ | 09:02 | |
09:04
k23z__ left
09:10
dalek joined
09:16
am0c left
09:21
M_o_C joined
|
|||
sorear | aaaack! | 09:22 | |
I just noticed something | |||
blizkost doesn't *have* a license | |||
good thing the contributor pool is still small | |||
phenny: msg jnthn - I just noticed Blizkost doesn't have a license! Is Artistic 2.0 (same as Parrot) acceptable to you? | 09:26 | ||
phenny: tell jnthn - I just noticed Blizkost doesn't have a license! Is Artistic 2.0 (same as Parrot) acceptable to you? | |||
phenny | sorear: I'll pass that on when jnthn is around. | ||
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. | ||
sorear | phenny: tell cognominal - I just noticed Blizkost doesn't have a license! Is Artistic 2.0 (same as Parrot) acceptable to you? | ||
phenny | sorear: I'll pass that on when cognominal is around. | ||
sorear | seen fperrad | 09:28 | |
phenny: seen fperrad | |||
09:32
xabbu42 joined
09:42
snarkyboojum left
09:48
Trashlord left
09:49
snarkyboojum joined
10:16
JimmyZ joined
10:17
Sarten-X left
|
|||
JimmyZ | rakudo: say '+1 from me'; | 10:17 | |
p6eval | rakudo 32fda1: OUTPUT«+1 from me» | 10:18 | |
10:47
lichtkind joined
|
|||
lichtkind | colomon: isnt say ([\~] 'a'..'g') enough ,. why .perl? | 10:49 | |
colomon | rakudo: say ([\~] 'a'..'g' | ||
p6eval | rakudo 32fda1: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | ||
colomon | rakudo: say ([\~] 'a'..'g') | ||
p6eval | rakudo 32fda1: OUTPUT«aababcabcdabcdeabcdefabcdefg» | ||
colomon | rakudo: say ([\~] 'a'..'g').perl | ||
p6eval | rakudo 32fda1: OUTPUT«("a", "ab", "abc", "abcd", "abcde", "abcdef", "abcdefg")» | ||
colomon | that's why | ||
just so you can read the output | |||
lichtkind | colomon: i saw, right its the scala context | 10:50 | |
colomon: thanks | |||
colomon: i forgot that () no longer perservers list context | 10:51 | ||
colomon | rakudo: my @a = [\~] 'a'..'g'; say @a | ||
p6eval | rakudo 32fda1: OUTPUT«aababcabcdabcdeabcdefabcdefg» | ||
colomon | rakudo: my @a = [\~] 'a'..'g'; say ~@a | ||
p6eval | rakudo 32fda1: OUTPUT«a ab abc abcd abcde abcdef abcdefg» | ||
colomon | is the last what you were expecting? | 10:52 | |
rakudo: say 1, 2, 3 | |||
p6eval | rakudo 32fda1: OUTPUT«123» | ||
lichtkind | colomon: yes | ||
colomon: so perl is the new improved data dumper | 10:53 | ||
colomon | yes | ||
lichtkind | colomon++ read you posts | 10:54 | |
10:55
cotto_work left
10:56
clintongormley joined,
cotto_work joined
|
|||
finanalyst | rakudo: say $*CWD | 11:30 | |
p6eval | rakudo 32fda1: ( no output ) | ||
finanalyst | alpha: say $*CWD | ||
p6eval | alpha 30e0ed: OUTPUT«/home/p6eval/rakudo-alpha» | ||
finanalyst | is $*CWD going to work? | ||
colomon | finanalyst: as soon as someone implements it. | 11:31 | |
jnthn | phenny: tell sorear yes, artistic 2.0, same as Rakudo and Parrot. | ||
phenny | jnthn: I'll pass that on when sorear is around. | ||
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 | ||
jnthn | morning :-) | ||
colomon | very odd that we seem to be on the same sleep schedule at the moment. ;) | 11:33 | |
aesop | happy easter | 11:34 | |
colomon | happy Easter! | 11:35 | |
rakudo: say 4 ^^ 5 ^^ 0 | 11:36 | ||
p6eval | rakudo 32fda1: OUTPUT«» | 11:37 | |
colomon | rakudo: say 4 ^^ 0 ^^ 0 | ||
p6eval | rakudo 32fda1: OUTPUT«4» | ||
mberends | finanalyst: a workaround (on Linux) is %*ENV<PWD> | ||
finanalyst | great thanx | ||
colomon | rakudo: say 4 ^^ 0 ^^ 0 ^^ 4 | ||
p6eval | rakudo 32fda1: OUTPUT«» | ||
11:38
lichtkind left
|
|||
jnthn | colomon: Yeah, we'd noticed that too. :-) | 11:39 | |
Happy Easter, all. :-) | |||
11:45
Trashlord joined,
Trashlord is now known as Guest66523
|
|||
finanalyst | perl6: my @v=2,5; say ( map {; $^b => $^a }, @v ).perl | 11:47 | |
p6eval | rakudo 32fda1: OUTPUT«Lexical '$b' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
..elf 30299: OUTPUT«Undefined subroutine &GLOBAL::map called at (eval 124) line 4. at ./elf_h line 5881» | |||
..pugs: OUTPUT«((\5 => \2),)» | |||
finanalyst | alpha: my @v=2,5; say ( map {; $^b => $^a }, @v ).perl | ||
p6eval | alpha 30e0ed: OUTPUT«[5 => 2]» | ||
11:47
jferrero joined
|
|||
finanalyst | what is the right form for recording a bug of something that worked in alpha but not in master? | 11:57 | |
eg. $^ twigles | |||
colomon | I'd just include the above: the output from rakudo: and alpha: showing the difference. | 11:59 | |
11:59
quester joined
12:09
Annaa joined
|
|||
Annaa | tinypic.zapto.org/2kn4m8.png?t=1270382524 do my breasts look to big? | 12:09 | |
12:09
Annaa left
|
|||
colomon | just got a weird message from fudge when I tried to start tools/test_summary.pl (does seem to be working now) | 12:11 | |
12:13
nslater joined
|
|||
colomon | afk # first shopping run to supply the new house | 12:16 | |
12:16
kaare joined,
kaare is now known as Guest6149
12:26
Chillance joined,
Guest6149 left
12:30
pmurias joined,
Teratogen joined
|
|||
Teratogen | wow | 12:30 | |
I am unbanned =) | |||
12:35
pmurias left
12:49
Sanitoeter is now known as `Sanitoeter
12:50
meppl joined,
mikehh joined
12:56
molaf joined
13:09
am0c joined
13:10
quester left,
lichtkind joined
|
|||
lichtkind | colomon++ read you posts | 13:11 | |
colomon: sorry want regrab another old line but you deserve it anyway :) | |||
13:16
sorear left
13:22
sorear joined
13:27
Guest66523 left,
molaf left
13:28
jaldhar left
13:31
jaldhar joined
|
|||
pugssvn | r30300 | moritz++ | [t/spec] unfudges for rakudo | 13:31 | |
r30301 | moritz++ | [t/spec] test string value of &infix:<+> | 13:32 | ||
13:37
lichtkind left
|
|||
dalek | kudo: 6fd5479 | (Solomon Foster)++ | src/core/ (4 files): Define Bridge method for the real types. |
13:37 | |
moritz_ | colomon: the fudge message was caused by a wrong test name in spectest.data - fix coming up | 13:38 | |
13:38
TiMBuS joined
13:39
`Sanitoeter is now known as Sanitoeter
|
|||
moritz_ | colomon: Bridge[Real] :-) | 13:39 | |
13:40
masak joined
|
|||
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. | ||
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? | |||
jnthn | future om nom nom | 13:41 | |
masak | mberends: I'll react later & | ||
13:41
slavik joined
13:42
dalek left,
dalek joined
13:46
nslater left
13:47
mikehh left
|
|||
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! | |||
moritz_ | std: class A { method Foo[bar]() { } } | ||
p6eval | std 30299: OUTPUT«===SORRY!===Malformed block at /tmp/FmuZfpi4Ui line 1:------> class A { method Foo⏏[bar]() { } } expecting any of: block method_def subscript signature traitFAILED 00:01 108m» | ||
JimmyZ | The Bridge method seems to be an Num method. | 13:54 | |
dalek | kudo: c570328 | moritz++ | t/spectest.data: we do not actually pass export.t - no idea why I thought we did :( moritz-- |
13:59 | |
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 ) | ||
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}» | ||
finanalyst | moritz: am i wrong in believing the output should be { "x"=>5, "y"=>4 } ? | 14:05 | |
moritz_ | finanalyst: you are right, rakudo is wrong | 14:06 | |
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:------> sub a (%h) { my %h⏏ }ok 00:01 110m» | ||
finanalyst | but i did think that alpha was working correctly | ||
slavik | perl6: say "hello" | ||
p6eval | elf 30301, pugs, rakudo 32fda1: OUTPUT«hello» | ||
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 | ||
slavik | and is this rakudo the new one or the old one? | ||
moritz_ | slavik: audreyt updated pugs to work with the newest GHC | ||
slavik: apart from that, not much afaict | |||
slavik | sweet | ||
moritz_ | and it's the new rakudo | ||
slavik | moritz_: is the new rakudo up to where old rakudo was in terms of implemented features? (mainly looking for grammars) | 14:10 | |
perl6: say ?{0 == 1} | |||
p6eval | pugs, rakudo 32fda1: OUTPUT«1» | ||
..elf 30301: OUTPUT«» | |||
slavik | perl6: say !{0 == 1} | ||
p6eval | elf 30301: OUTPUT«1» | ||
..rakudo 32fda1: OUTPUT«0» | |||
..pugs: OUTPUT«» | |||
slavik | rakudo: say "correct" if ?{0 == 1} | ||
p6eval | rakudo 32fda1: OUTPUT«correct» | ||
slavik | rakudo: say "correct" if !{0 == 1} | 14:11 | |
p6eval | rakudo 32fda1: ( no output ) | ||
moritz_ | slavik: mostly | ||
slavik | wait ... it's looking at types, don't it? | ||
moritz_ doesn't understand it at all | |||
it's a Block after all | |||
14:11
Guest66523 joined
|
|||
slavik | assertions ... | 14:11 | |
wait | |||
bah | |||
14:11
Guest66523 is now known as Trashlord,
Trashlord left,
Trashlord joined
|
|||
moritz_ | rakudo: say ({0 == 1}).WHAT | 14:11 | |
p6eval | rakudo 32fda1: OUTPUT«Block()» | ||
moritz_ | rakudo: say !{0 == 1} | 14:12 | |
p6eval | rakudo 32fda1: OUTPUT«0» | ||
moritz_ | rakudo: say !{! == 1} | ||
p6eval | rakudo 32fda1: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | ||
moritz_ | rakudo: say !{1 == 1} | ||
p6eval | rakudo 32fda1: OUTPUT«0» | ||
moritz_ | IMHO a block should always be True | ||
slavik | ahh | 14:13 | |
perl6: say <?{0 == 1}>.WHAT | |||
p6eval | rakudo c57032: OUTPUT«Parcel()» | ||
..elf 30301, pugs: OUTPUT«Array» | |||
slavik | Parcel? | ||
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 | ||
p6eval | rakudo c57032: OUTPUT«{"x" => 5, "y" => 4}» | ||
moritz_ | slavik: Parcel = Parenthesis Cell | 14:14 | |
slavik | perlcabal.org/syn/S05.html#Bracket_...nalization | ||
moritz_ | slavik: that was not within a regex :-) | ||
slavik | fair enough | ||
let's see ... | |||
man, my perl6 skills are rusty | |||
moritz_ | slavik: rt.perl.org/rt3/Ticket/Display.html?id=73862 | 14:15 | |
14:15
mikehh joined
|
|||
moritz_ | rakudo: say $_ ~~ / (.*) <?{ $0.chars > 2 }> / for <fo bar bazr> | 14:16 | |
p6eval | rakudo c57032: OUTPUT«barbazr» | ||
slavik | :D | ||
moritz_ | so, <?{ ... }> assertions work in master | ||
slavik | hmm, my pants are damp now ... | ||
14:17
Trashlord left
|
|||
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? | ||
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)» | ||
moritz_ | rakudo: 'a' ~~ /<alpha>/; .say for $/.Hash.kv | ||
p6eval | rakudo c57032: OUTPUT«Method 'Hash' not found for invocant of class 'Regex;Match'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | alpha: 'a' ~~ /<alpha>/; .say for $/.Hash.kv | ||
slavik | what is .kv supposed to be? | ||
p6eval | alpha 30e0ed: ( no output ) | ||
moritz_ | a list of keys and values, interleaved | ||
14:19
Sarten-X joined
|
|||
slavik | a hash? | 14:19 | |
moritz_ | rakudo: .say for $*ENV | ||
p6eval | rakudo c57032: ( no output ) | ||
moritz_ | rakudo: .say for %*ENV.kv | ||
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)» | ||
slavik | rakudo: say $*ENV | ||
p6eval | rakudo c57032: ( no output ) | ||
slavik | rakudo: say $*ENV.WHAT | ||
p6eval | rakudo c57032: OUTPUT«Failure()» | ||
moritz_ | rakudo: my %h = (a => 3, b => 7, c => 9); say %h.kv.join(', ') | ||
p6eval | rakudo c57032: OUTPUT«b, 7, c, 9, a, 3» | ||
slavik | env is fail ... | ||
moritz_ | rakudo: say %*ENV.WHAT | 14:20 | |
p6eval | rakudo c57032: OUTPUT«Hash()» | ||
moritz_ | better :-) | ||
slavik | :-\ | ||
my interpretation was funnier | |||
moritz_ | rakudo: say <a b c>.kv.join(', ') | ||
14:20
Trashlord joined
|
|||
p6eval | rakudo c57032: OUTPUT«0, a, 1, b, 2, c» | 14:20 | |
14:20
Trashlord is now known as Guest36148
14:28
am0c left
15:10
snarkyboojum left
15:12
Guest36148 left
15:13
snarkyboojum joined
|
|||
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)» | ||
snarkyboojum | std: my @a = 1,2,3; say @a [1]; | ||
p6eval | std 30301: OUTPUT«===SORRY!===Two terms in a row at /tmp/rOsiDeIW1R line 1:------> my @a = 1,2,3; say @a [⏏1]; expecting any of: bracketed infix infix or meta-infixFAILED 00:01 110m» | ||
snarkyboojum | std: my @a = 1,2,3; say @a\ [1] | 15:15 | |
p6eval | std 30301: OUTPUT«ok 00:01 108m» | ||
slavik | rakudo: say all(1..3,4..5); | ||
p6eval | rakudo c57032: OUTPUT«all(1, 2, 3, 4, 5)» | ||
snarkyboojum | rakudo: std: my @a = 1,2,3; say @a\ [1] | ||
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)» | ||
slavik | hmm, how would I get perl6 to generate all perms from a bunch of lists? | 15:16 | |
moritz_ | just like any other programming language, but maybe with a few shortcuts :-) | 15:17 | |
slavik | should all() be able to do it | ||
snarkyboojum | rakudo: say 1,2 X~ a,b | 15:18 | |
p6eval | rakudo c57032: OUTPUT«Could not find sub &acurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
snarkyboojum | rakudo: say [1,2] X~ <a b? | ||
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)» | ||
slavik | rakudo: say <1,2>,<3,4> | ||
p6eval | rakudo c57032: OUTPUT«1,23,4» | ||
snarkyboojum | eek | ||
moritz_ | slavik: maybe | ||
snarkyboojum | rakudo: say [1,2] X~ <a b> | ||
p6eval | rakudo c57032: OUTPUT«1a1b2a2b» | ||
slavik | snarkyboojum: :D | ||
I have no idea what that means or how it works ... | 15:19 | ||
rakudo: say join "-", [1,2] X~ <a b> | |||
p6eval | rakudo c57032: OUTPUT«» | ||
slavik | rakudo: say join "-" [1,2] X~ <a b> | ||
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)» | ||
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(', ') | ||
slavik | rakudo: say join "-", {[1,2] X~ <a b>} | ||
p6eval | rakudo c57032: OUTPUT«1xa, 1xb, 1ya, 1yb, 2xa, 2xb, 2ya, 2yb, 3xa, 3xb, 3ya, 3yb» | ||
rakudo c57032: OUTPUT«_block47» | |||
moritz_ | that's all combinations, not all permutations | ||
snarkyboojum | say ~( (1..5) X~ (a..e) ) | 15:20 | |
yeah | |||
rakudo: say ~( (1..5) X~ (a..e) ) | |||
p6eval | rakudo c57032: OUTPUT«Could not find sub &acurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | quote your strings! | ||
snarkyboojum | eek | ||
rakudo: say ~( (1..5) X~ ('a'..'e') ) | |||
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
15:21
pmurias joined
|
|||
snarkyboojum | it's lovely syntax tho :) | 15:21 | |
plus it's too early in the morning here :) | 15:22 | ||
moritz_ | rakudo: say ~( 1..5 X~ 'a'..'e' ) | ||
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» | ||
snarkyboojum | nicer-er :) | ||
moritz_ | slavik: even lovlier if you omit those parens :-) | ||
erm, meant snarkyboojum :-) | |||
snarkyboojum | aye | ||
quite pretty | |||
slavik | moritz_: I decided to write a sudoku solver :) | ||
that will run on a cluster :D | |||
moritz_ | oh, I wrote a simple sudoku solver in C++ already | 15:23 | |
it's ugly code compared to what you could do in Perl 6 | |||
but it's fast | |||
15:25
JimmyZ left
|
|||
moritz_ | I about 0.8ms per sudoku | 15:26 | |
slavik | moritz_: I want to do 36x36 :) | 15:27 | |
moritz_ | ouch :( | ||
I think it scales exponetially with the size, in the worst case | |||
slavik | moritz_: idea is to generate each row and to have a permutation of all rows | ||
or something | |||
moritz_ | rakudo: say [*] 1..36 | 15:28 | |
p6eval | rakudo c57032: OUTPUT«3.71993326789901e+41» | ||
slavik | hmm | ||
moritz_ | you don't want to hold that in memory | ||
slavik | 49x49 ... | ||
I know | |||
hmm | |||
maybe I should change my project to something else | |||
moritz_ | there's nothing wrong with trying | 15:29 | |
slavik | hmm or I need to revisit it | ||
what about a pipeline? | |||
moritz_ | just write it for a generic size, and see how it scales | ||
slavik | a 49 stage pipeline, each stage generates a row | ||
if you read 49 and generate a proper row, you got the solution | |||
this is a LAM cluster of 33 dual dual-core systems :) (AMD Opteron) | 15:30 | ||
moritz_ | why do want to generate permutations of rows anyway? | 15:31 | |
slavik | it's the only way I figured where it can be made parallel | 15:32 | |
or I need to pick another provlem | |||
moritz_ | well | ||
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 | ||
you check each row/col/block if there's only one number missing | |||
or if there is a number which can only fit in one empty cell | |||
slavik | I am also thinking of using Parallel::MPI to use Perl instead of C :) | ||
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) | ||
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 | ||
moritz_ | slavik: you seem to be fixed on that permutation generator... but do your really need one? | ||
slavik | moritz_: exactly | ||
moritz_: prolly not | 15:35 | ||
but I am thinking of splitting the work into rows | |||
sudoku is basically a tree search | |||
the other idea I had is a TSP on top of MPI | 15:36 | ||
I need an interesting problem that can be paralellized ... | 15:38 | ||
one crazy idea I had is to build a generic permutation generator | 15:39 | ||
same with combinations | |||
moritz_: I know you know some interesting/useful parallel problems that need solving :) | 15:48 | ||
moritz_ | slavik: Perl 6 needs more parallelism :-) | 15:49 | |
slavik | bah | ||
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 | ||
slavik | do tell, I'm going to be going there :) | ||
well, actually | 15:51 | ||
I want to build a parallel system in Perl for my thesis | |||
moritz_ | just start $n processes with different command line args, and each writes to a different output file :-) | ||
slavik | ... | ||
moritz_ | 10 lines of perl code with Parallel::ForkManager | ||
slavik | this is why perl6 isn't getting anywhere ... people like you need to use more brains :P | ||
haha | |||
moritz_ | I told you :-) | 15:52 | |
slavik | I blame it all on the coffee mug incident | ||
15:52
finanalyst left
|
|||
moritz_ | I thought about more sophisticated parallelism, but in the end there was not much I could have improved speed wise | 15:52 | |
15:53
finanalyst joined
|
|||
slavik | I am still trying to decide on a problem to solve | 15:53 | |
moritz_ | rakudo: sub foo { my $a = "baz"; undefine $a; }; say foo; | 15:54 | |
p6eval | rakudo c57032: OUTPUT«Any()» | ||
moritz_ | rakudo: sub foo { my $a = "baz"; undefine $a; undefine $a }; say foo; | ||
p6eval | rakudo c57032: OUTPUT«Any()» | ||
slavik | ? | ||
ooh, I know | |||
moritz_ | (unrelated; RT #69238) | ||
slavik: sorry, I don't have good ideas for you | 15:55 | ||
slavik | rakudo: @a = 1..9; undefine @a[5]; say @a; | ||
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)» | ||
slavik | wha? | ||
rakudo: my @a = 1..9; undefine @a[5]; say @a; | |||
p6eval | rakudo c57032: OUTPUT«12345Any()789» | ||
slavik | gah | ||
moritz_: one thing I realized is that P2P gave us some neat algorithms | 15:57 | ||
maybe I should do something with graph analysis ... | |||
pugssvn | r30302 | moritz++ | [t/spec] test that you can undefine a lexical variable twice; RT #69238 | 15:58 | |
moritz_ | aye; P2P is a nice example for distributed computing without mutual trust | 15:59 | |
rakudo: my $i**=$i;; say $i | 16:01 | ||
16:01
molaf joined
|
|||
p6eval | rakudo c57032: OUTPUT«1» | 16:01 | |
slavik | bah | 16:02 | |
moritz_ | what's wrong? :-) | ||
slavik | can't come up with anything interesting | 16:03 | |
16:05
skyler_ left
|
|||
slavik | moritz_: do you think it's possible to beat mapreduce and hadoop? | 16:06 | |
moritz_ | no idea | ||
slavik | :( | ||
pugssvn | r30303 | moritz++ | [t/spec] my $i **= $i | ||
r30304 | moritz++ | [t/spec] unfudge passing tests in S03-operators/autovivification.t | 16:07 | ||
dalek | kudo: 02cf9c3 | moritz++ | t/spectest.data: we pass S03-operators/autovivification.t |
16:09 | |
16:14
avar joined
|
|||
avar | moritz_: Your frequent commits pushing more enabled tests to github please me, that is all:) | 16:15 | |
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? | ||
slavik | join #mpi | 16:20 | |
that was a waste | 16:21 | ||
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:25 | |
slavik | mberends: I know, but I don't want to solve sudoku or TSP | 16:26 | |
and C will be the language :( | |||
my C is rustier than Perl ;) | |||
16:27
pmurias left
|
|||
colomon | I think lastofthecarelessmen.blogspot.com/ mentioned a Suduko solver last year sometime... | 16:28 | |
lue | hello! | 16:32 | |
masak | \o | 16:33 | |
16:33
Trashlord joined
|
|||
slavik | I look forward to seeing what masak does with this one... | 16:35 | |
colomon | o/ | ||
slavik | lastofthecarelessmen.blogspot.com/2...-stab.html | ||
\o/ | |||
masak | slavik: yeah... I've been putting that one off for a while. | ||
masak feels slightly bad about it | |||
slavik | what is that? | ||
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. | ||
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. :/ | ||
slavik | perl6 will be awesome for parallel programming because of the lazyness and such | ||
masak | slavik: well, there's the tiny thing of an implementation actually using those features, too :P | 16:37 | |
slavik | lol | ||
avar | slavik: The clojure author would very much disagree :) | ||
slavik | but my problem is finding an interesting problem to pralellize | ||
masak | avar: I've studied Clojure a bit. it does some awesome things, many depending on immutable-ish types. | ||
avar | slavik: Try writing the clojure ants.clj program in Perl 6 | 16:38 | |
masak | slavik: ray tracing. | ||
avar | masak: Yeah, mostly exclusively. | ||
slavik | avar: I am restricted to MPI :( | ||
masak: I've thought about it | |||
masak: I am not smart enough for it :P | |||
masak | lue: here's my plan for Temporal; see if you like it. | ||
lue: start from CPAN's DateTime; minimalize it to a smallest possible core of things. | 16:39 | ||
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:40 | ||
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 | ||
lue: ---> temporal win! | |||
jnthn | rakudo: class Foo { sub oh { say lol }; method bar() { oh() }; }; Foo.new.bar | 16:48 | |
p6eval | rakudo 02cf9c: OUTPUT«Could not find sub &lolcurrent instr.: 'perl6;Foo;oh' pc 466 (EVAL_1:200)» | ||
jnthn | rakudo: class Foo { sub oh { say "lol" }; method bar() { oh() }; }; Foo.new.bar | ||
p6eval | rakudo 02cf9c: OUTPUT«lol» | ||
jnthn | rakudo: class Foo { my sub oh { say "lol" }; method bar() { oh() }; }; Foo.new.bar | ||
p6eval | rakudo 02cf9c: OUTPUT«lol» | ||
jnthn | rakudo: class Foo { my sub oh { say "lol" }; method bar() { oh() }; }; INIT { Foo.new.bar } | ||
p6eval | rakudo 02cf9c: OUTPUT«Could not find sub &ohcurrent instr.: 'perl6;Foo;bar' pc 638 (EVAL_1:271)» | ||
jnthn | o hrovno. | ||
masak .oO( a case of sour hrosny ) | 16:49 | ||
lue | masak: sounds good ( sorry; was reading up on Aleph numbers :) ) | 16:52 | |
masak | :) | ||
alpeh numbers rock. | |||
lue | it's actually so I can understand beth numbers (darn you, confusing set theory!) | 16:54 | |
masak | lue: anyway, I thought I'd start reading the CPAN module and write things up in a gist. | 16:56 | |
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. | ||
lue | I know I don't need it for gists, but it *might* help :) | ||
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 | |||
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: www.tondering.dk/claus/calendar.html | ||
masak | aye, I believe proof-of-concept code speaks very loudly in the Temporal discussion. | 16:59 | |
lue: the Rakudo commitbit is a red herring. you can do 99% of all Perl 6 activities without it. | |||
lue | Funny enough, I was think of PoC code for what I wrote last night... | 17:00 | |
masak | rakudo: my @a=<svg form web>; say ?@a.grep("all") | 17:04 | |
p6eval | rakudo 02cf9c: OUTPUT«1» | ||
masak | mberends: did you submit that one? | ||
jnthn | my @a=<svg form web>; say ?@a.grep("all") | ||
my @a=<svg form web>; say @a.grep("all").WHAT | |||
rakudo: my @a=<svg form web>; say @a.grep("all").WHAT | |||
p6eval | rakudo 02cf9c: OUTPUT«GatherIterator()» | ||
mberends | masak: yes, it was a "hole" discovered by proto | 17:05 | |
masak | you did submit it to RT? | ||
mberends blushes | |||
masak does, then | |||
no blame involved, just checking :) | 17:06 | ||
mberends++ for discovering it | |||
I still think seeing GatherIterator there is an abstraction leak. | |||
Teratogen: [backlog] welcome back from the land of the banned, damnit! | 17:12 | ||
s/damnit/dammit/ :) | |||
17:13
payload joined
|
|||
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)» | ||
masak | rakudo: my @a = 1,2,3; say @a\ [1] | ||
p6eval | rakudo 02cf9c: OUTPUT«2» | ||
masak | rakudo: my @a = 1,2,3; say @a\[1] | ||
p6eval | rakudo 02cf9c: OUTPUT«2» | ||
masak | \o/ | ||
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: irclog.perlgeek.de/perl6/2009-09-08#i_1479118 | ||
masak peruses | 17:16 | ||
lue looks as well | 17:21 | ||
rakudo: my @s = ($_ * 2 if $_ ** 2 > 3 for 0 .. 99); say @s.perl | |||
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)» | ||
colomon | ArrayIterator ?! | 17:27 | |
masak submits rakudobug | |||
17:27
envi^home left
|
|||
colomon | afk in general # family over and dinnertime.. | 17:27 | |
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 :( ) | ||
I liked the Time/Timeline idea proposed by diakopter(?) yesterday. Not sure how practical it would be, though... | 17:33 | ||
masak | hm. not sure I see the appeal of either those names of their semantics. | 17:34 | |
willing to be convinced, as usual :) | |||
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 :) | ||
Su-Shee | hm, I can't do @animals[-1] to grab the last element of an array? | ||
lue | that's python, not perl :( | ||
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. | ||
Su-Shee: you can in Perl 5. | 17:36 | ||
17:36
astrojp joined
|
|||
masak | Su-Shee: it's been [*-1] in Perl 6 for some years now. | 17:36 | |
Su-Shee: the change came about due to some discussions about consistency in S09. | |||
Su-Shee | sorry, didn't need it until today :) | ||
masak | no worries :) | ||
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. | ||
Su-Shee | rakudo: my @animals = <cat dog bird mouse>; @animals[*-1].say; | ||
p6eval | rakudo 02cf9c: OUTPUT«mouse» | ||
lue | What is that supposed to mean, arbitrary discontinuity? | ||
masak | lue: in what way would you actually treat years as being of the same length, though? they have different numbers of days. | ||
Su-Shee | rakudo: my @animals = <cat dog bird mouse>; @animals[*-2].say; | 17:38 | |
p6eval | rakudo 02cf9c: OUTPUT«bird» | ||
masak | lue: it means that .[-1 is not next to .[0] | ||
was* | |||
Su-Shee | rakudo: my @animals = <cat dog bird mouse>; @animals[*-2, *-1].say; | ||
masak | in the Perl 5 way of viewing things. | ||
p6eval | rakudo 02cf9c: OUTPUT«mousemouse» | ||
lue | In a loop, it would be :) | ||
Su-Shee | rakudo: my @animals = <cat dog bird mouse>; @animals[*-3..*-1].say; | ||
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
payload left
|
|||
mberends | Su-Shee: you said you hated animals examples ;) | 17:39 | |
Su-Shee | mberends: not while testing lists. ;) | ||
17:39
arthur-_ left
|
|||
masak scowls | 17:39 | ||
17:40
Trashlord left
|
|||
Su-Shee | rakudo: my @animals = <cat dog bird mouse>; @animals[1..*-1].say; | 17:40 | |
p6eval | rakudo 02cf9c: ( no output ) | ||
masak | Su-Shee: jnthn says that the star arithmetic isn't really back in place yet. | 17:41 | |
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 ;) | ||
lue | alpha: my @animals = <cat dog bird mouse>; @animals[*-2, *-1].say; | ||
p6eval | alpha 30e0ed: OUTPUT«birdmouse» | ||
Su-Shee | alpha: my @animals = <cat dog bird mouse>; @animals[1..*-1].say; | 17:43 | |
p6eval | alpha 30e0ed: OUTPUT«dogbirdmouse» | ||
Su-Shee | HA :) | ||
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
|
|||
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
Trashlord is now known as Guest42283
|
|||
masak | alpha: my @animals = <cat dog bird mouse>; @animals[].say | 17:44 | |
p6eval | alpha 30e0ed: OUTPUT«catdogbirdmouse» | ||
masak | zen slice. :) | ||
lue | .u zen | ||
phenny | U+10D6 GEORGIAN LETTER ZEN (ზ) | ||
masak | Ah, Georgia. :) | ||
Su-Shee | alpha: my @animals = <cat dog bird mouse>; @animals[0,2..*-1].say; | ||
p6eval | alpha 30e0ed: OUTPUT«catbirdmouse» | ||
Su-Shee | *hrhr* | 17:45 | |
masak | Su-Shee: '..' doesn't do arithmetic sequences, '...' does | ||
Su-Shee | alpha: my @animals = <cat dog bird mouse>; @animals[...*-1].say; | ||
p6eval | alpha 30e0ed: OUTPUT«Can't return outside a routinein Main (file <unknown>, line <unknown>)» | ||
Su-Shee | no, I've been meaning to say "from beginning until something counted from the end" | 17:46 | |
and tried wether I can omit the start. | |||
jnthn | *..*-1 may work. | 17:47 | |
Su-Shee | alpha: my @animals = <cat dog bird mouse>; @animals[*..*-1].say; | ||
p6eval | alpha 30e0ed: OUTPUT«» | ||
lue | the problem is the only thing we have to work with is involved with an irregular system of measurement :/ | ||
jnthn | 0..*-X I guess also would. | 17:48 | |
Su-Shee | -X is..? | 17:49 | |
masak | jnthn: I don't think '*' will ever mean 'beginning' in an index situation. | 17:50 | |
jnthn: it sometimes means 'all', sometimes 'the first index after the last one' :) | 17:51 | ||
lue | .oO(*mutter*I still don't see the discontinuity of arbitrary discontinuity*mutter*) |
17:52 | |
jnthn | masak: ah, good point | ||
masak | hm. and sometimes 'infinity', I guess. | 17:53 | |
mberends | lue: what (arbitrary) discontinuity do you mean? | ||
masak | mberends: the one between @a[0] and @a[-1] in Perl 5. | ||
slavik | [-1] is awesome | 17:57 | |
masak | [backlogging] for any intrepid Sudoku-solver programmer out there, I hearily recommend this piece by Peter Norvig: norvig.com/sudoku.html | 17:58 | |
slavik | but it means that random access in arrays is weak in Perl5 :( | ||
18:02
frettled sets mode: +oo masak mberends
|
|||
Su-Shee | oh god.. user defined array indices are kind of aeh.. hashy arrays? :) | 18:03 | |
masak | Su-Shee: :) | ||
for some applications, they'll be just right. | |||
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. | ||
masak | I look forward to them. | 18:05 | |
and to much other goodness in S09 :> | |||
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 $[ | ||
lue | and $[ is ? | 18:07 | |
masak | lue: perldoc perlvar | 18:08 | |
mberends | lue: the Perl 5 user definable lowest array subscript (defaults to 0) | ||
masak | lue: perldoc.perl.org/perlvar.html | ||
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. | ||
lue | is that what this puddle is? :) | 18:10 | |
mberends | yeah, $[ = -1; would be *fun* to debug :) | 18:11 | |
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)» | ||
lue | std: $[ = -1 | ||
p6eval | std 30304: OUTPUT«===SORRY!===Unsupported use of $[ variable; in Perl 6 please use user-defined array indices at /tmp/vcwx9XUjan line 1:------> $[⏏ = -1FAILED 00:01 108m» | 18:13 | |
Su-Shee | wtf? "second element after the end of the array" - how does that work? | ||
*+2 | |||
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]» | ||
masak | Su-Shee: like that. | ||
Su-Shee | ah, I see. | ||
lue | alpha: my @a = 1,2,3; @a[*]=4;@a[*]=5; say @a.perl | 18:15 | |
p6eval | alpha 30e0ed: OUTPUT«[5, undef, undef]» | ||
lue | ō.o | 18:16 | |
what happened there? | 18:17 | ||
masak | lue: that's where .[*] gets interpreted as 'all'. | 18:18 | |
lue: so you're doing a list assignment to three positions with only one value. | |||
lue | alpha: my @a = 1,2,3; @a[*+0]=4;@a[*+0]=5; say @a.perl | ||
p6eval | alpha 30e0ed: OUTPUT«[1, 2, 3, 4, 5]» | ||
lue | there we go :) | ||
masak | alpha: my @a = 1,2,3; @a[+*]=4;@a[+*]=5; say @a.perl | ||
p6eval | alpha 30e0ed: OUTPUT«[1, 2, 3, 4, 5]» | ||
masak | that works also. | 18:19 | |
masak realizes that it's 2010, he's using Perl 6, and it feels great :) | |||
diakopter | well, meta-using Perl 6 | 18:20 | |
masak | diakopter: no. using Perl 6. | 18:21 | |
lue | master: my @a = 1,2,3; @a[*+0]=4;@a[*+0]=5; say @a.perl | ||
masak | there's a bit of meta here and there, but not in my use of Perl 6 :) | ||
lue | rakudo: my @a = 1,2,3; @a[*+0]=4;@a[*+0]=5; say @a.perl | ||
p6eval | rakudo 02cf9c: OUTPUT«[1, 2, 3, 4, 5]» | 18:22 | |
masak | Rakudo++ | ||
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]» | ||
lue | \o/ | ||
masak is taking a good look at search.cpan.org/dist/DateTime/lib/DateTime.pm and really liking what he sees | 18:29 | ||
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 | |
(a module that augments Temporal that is) | |||
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
snarkyboojum left
|
|||
masak | Su-Shee: wiki.perl-community.de/foswiki/bin/...l6Tutorial | 18:40 | |
that one? | |||
Su-Shee | gna. that one. what did you google what I didn't? ;) | ||
masak | hm. german perl 6 tutorial, I think :P | 18:42 | |
std: subset Num+ of Num where { $_ > 0 }; | |||
p6eval | std 30304: OUTPUT«===SORRY!===Two terms in a row at /tmp/8sohTaIOpM line 1:------> subset Num+ of Num ⏏where { $_ > 0 }; expecting any of: bracketed infix infix or meta-infix statement modifier loopUndeclared routine: 'of' used at line | ||
..1FAILED 00:01 … | |||
masak | wonder why lichtkind seems to think it's OK to have non-alphanumerics in that identifier, when it isn't anywhere else... | ||
lue | .oO(I hate daylight savings. It should die, and make a programmer's job easier (preferably, leap years can be abolished as well :) )) |
||
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 search.cpan.org/dist/DateTime/lib/DateTime.pm | ||
masak | nod. | 18:45 | |
I have that in my notes :) | |||
shall I gist what I have so far? | |||
mberends | sure | ||
masak | gist.github.com/355605 | 18:46 | |
lue | .beats | 18:49 | |
phenny | @825 | ||
lue | ( trying to learn beat time :) ) | ||
masak | don't bother, I'd say. | 18:50 | |
lue | rakudo: say time() | ||
p6eval | rakudo 02cf9c: OUTPUT«1270406119.22298» | ||
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:00 | ||
'Yes, now we can know "ni3 na4 bian1 ji2dian3?"' \o/ | 19:01 | ||
lue | Yes WE CAN! YES WE CAN (wait, what?) | ||
The only problem with Unix Epoch currently is Y2038 :) | 19:02 | ||
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 | ||
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)» | ||
lue | rakudo: say :2<1111111111111111111111111111111> | ||
p6eval | rakudo 02cf9c: OUTPUT«2147483647» | ||
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. en.wikipedia.org/wiki/ISO_8601 | 19:06 | |
lue | I agree. The names are superfluous and confusing. | 19:07 | |
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:09 | |
masak | I third your motion. no names for timezones in core. | 19:10 | |
aye; let's make it easy to plug in something more fancy. | 19:11 | ||
slavik | screw timezones ... world should just use UTC | ||
masak | slavik: laziness is one thing, intolerance another :P | 19:12 | |
slavik | and relate aparent degrees the sun is over horizon | ||
done | |||
lue | that doesn't work though, people wouldn't like noon being midnight :/ | ||
mberends | slavik: Perl 5 has gmtime and localtime in core, we should cover at least that in Perl 6 | ||
lue | To acheive wordwide sameness, you'd need a new timekeeping system. | ||
slavik | lue: who cares? | ||
lue: yes ... | |||
let's do Mars time! :D | |||
I'm sorry, I am bored and at work | 19:13 | ||
mberends | *sigh* | ||
masak | slavik: please try not to live up to our worst fears about bikeshedding :P | 19:14 | |
slavik | bikeshedding? | 19:15 | |
masak | slavik: are you asking about what the term means, or questioning whether you just indulged in it? | 19:16 | |
slavik | what it meANS | ||
mberends | slavik: endless discussions with no hope of useful agreement | ||
slavik | oh | ||
lue | oh I know. I've tried to come up with the same thing. It takes a while :) | ||
Juerd reads slavik as slavink :) | |||
(food) | |||
jnthn | om nom nom | 19:17 | |
masak | slavik: en.wikipedia.org/wiki/Parkinson's_L...Triviality | ||
slavik | I see | 19:18 | |
masak: what about the arguments about DST? | |||
slavik looked up what a slavink is ... | 19:19 | ||
masak | slavik: what about them? | ||
slavik | and why do americans get called fat? :( | ||
it's port, wrapped up in pork fat, friend in oil | |||
masak | slavik: ssh. | 19:20 | |
slavik | www.bbqaddicts.com/blog/recipes/bacon-explosion/ | ||
lue | I see your Law of Triviality and call a foul on the probability such a discusion is trivial! en.wikipedia.org/wiki/Improbability | ||
( we should have a logic fight sometime :) ) | |||
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. | ||
lue | Maybe its possible for the program to be smart when it comes to DST time zones, and autocorrect any issues... | 19:22 | |
masak | lue: how do you mean? | 19:23 | |
mberends | leave it to modules, please | ||
masak | I think we should, yes. | ||
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? | ||
masak | lue: not if it doesn't know about local DST customs because those things are in a module. | ||
lue | ah well. DST sucks :) | ||
masak | slavik: we leave that to a module :) | ||
slavik | hence my original statement, stick with UTC and we don't have to worry about it | 19:25 | |
19:25
k23z__ joined
|
|||
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 | ||
masak | aye, I like that. | ||
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 ? | ||
slavik | and just know when people wake/sleep at what UTC time, about | ||
lue: because the brits invented this whole time zone thing | |||
so UTC = GMT | |||
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. | ||
slavik | :( | 19:27 | |
arnsholt | For time, I suggest Swatch beats =) | ||
lue | .beats | ||
phenny | @852 | ||
masak | oh ffs | ||
19:28
arnsholt was kicked by masak (Kicked by masak)),
slavik was kicked by masak (Kicked by masak)),
lue was kicked by masak (Kicked by masak)),
arnsholt joined,
lue joined
|
|||
lue | sorry :( | 19:28 | |
arnsholt heads for the logs ^^ | |||
masak | people: behave or shut up. thanks :) | ||
we're trying to do actual work here. | |||
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 | ||
19:30
slavik joined
|
|||
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
|
|||
slavik | :( | 19:30 | |
guess I have to be relevant then | 19:31 | ||
masak | please. | ||
mberends | masak: are you still cherry-picking DateTime features into your gist? | ||
masak | yes. | ||
I'll paste the latest updates. | |||
sorear | cognominal: I just went through CREDITS | ||
phenny | sorear: 11:31Z <jnthn> tell sorear yes, artistic 2.0, same as Rakudo and Parrot. | ||
masak | mberends: gist.github.com/355605 | ||
slavik | perl6: if ("123 555 234 1" ~~ /[(\d+)\s?]+/) { say "match" } | 19:32 | |
p6eval | elf 30304, rakudo 02cf9c: OUTPUT«match» | ||
..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… | |||
mberends | masak: great. I'm actually hoping we can find stuff to omit. | ||
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 } | ||
p6eval | rakudo 02cf9c: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | ||
19:33
kensanata joined
|
|||
masak | mberends: i.e. we each produce a bipartition of my notes and then discuss the differences :) | 19:33 | |
mberends | masak: excellent idea, everyone interested can nopaste their own view. What's a bipartition? | 19:34 | |
masak | :D | ||
it's a partition into two parts. | 19:35 | ||
slavik | what are we doing? | ||
masak | slavik: we're trying to find a subset of CPAN's DateTime that we can use for Perl 6. | ||
slavik | honestly, I'd say just using one time format (epoch, utc) and modules for everything else | ||
like DST and time zone conversions | 19:36 | ||
masak | we definitely want to go simple. | ||
but I think that includes things like hours, minutes and seconds. | |||
19:36
lichtkind joined
|
|||
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 ;) | ||
slavik | tripartition | 19:38 | |
masak: fair enough | |||
masak | try to keep it to "core" and "discard". | ||
but the things you want in modules should be represented as possibilities in "core". | |||
we're not designing the other modules here, just DateTime :) | |||
slavik | I see | 19:39 | |
masak: one issue I found when working with time is leap years ... | |||
sorear | moritz_: ping | ||
slavik | btw, epoch is good numbers since it's used in cmos clock, no? | 19:40 | |
sorear | no | ||
cmos clock uses decomposed time | |||
yy-1900 mm dd hh mm ss | |||
some of them even have y2k bugs | |||
masak | rakudo: if '123 555 234 1' ~~ / [ (\d+) \s? ]+ <?{ 0 <= $0 <= 255 }> / { say $0 } | ||
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)» | ||
slavik | oh | ||
masak | hm. | 19:41 | |
rakudo: if '123 555 234 1' ~~ / [ (\d+) \s? ]+ <?{ 0 <= +$0 <= 255 }> / { say $0 } | |||
p6eval | rakudo 02cf9c: OUTPUT«1235552341» | ||
mberends | slavik: ntp time is more reliable for most computers, cmos is just a local offline approximation | ||
masak submits rakudobug | |||
slavik | ntp requires a time server | ||
masak | rakudo: my @a; 0 <= @a <= 5 | ||
p6eval | rakudo 02cf9c: ( no output ) | ||
masak | rakudo: 0 <= $/ <= 5 | 19:42 | |
p6eval | rakudo 02cf9c: ( no output ) | ||
masak | hm. | ||
19:42
tri1 joined
|
|||
lue is making his own list of stuff about CPAN DateTime | 19:42 | ||
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)» | ||
masak | ah. | ||
slavik | ? | ||
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. | ||
masak | noted. | 19:44 | |
slavik | does OpenGL work? | ||
and SDL ... | |||
japhb rezzes in | |||
slavik: That depends on whether 'use Foo:from<parrot>;' works again. | |||
slavik | oh | 19:45 | |
masak | japhb: thanks. didn't know what to reply to that one :) | ||
slavik | but the stuff where you can load pir files as native language files will be part of rakudo, right? | ||
mberends | slavik: we are working on calling graphic libraries via blizkost and zavolaj, just not ready yet. (lack of tuits)-- | ||
slavik | tuits? | ||
mberends | time | ||
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* | ||
masak: np :-) | 19:46 | ||
slavik | oh :( | ||
imo, that is a killer feature for parrot ... since pir files can be generated from header files being run through clever regex. | |||
japhb | slavik, indeed, that's exactly how it works. :-) | ||
Well, lots of regexen and some other sprinkled magic, but basically. | 19:47 | ||
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:48 | |
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:51 | |
mberends | masak++ | 19:52 | |
colomon | masak++ | ||
masak | now, let's try to arrive at the minimal module with minimal bikeshedding. :) | 19:53 | |
lue | masak++ | ||
jnthn | +1 | ||
masak is oddly reminded of 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? :) | ||
lue | gist.github.com/355648 is what I have | 19:55 | |
masak | Su-Shee: sometimes it's grand to be small :) | ||
lue | Su-Shee: I think that's best handled by me (at some point) | ||
19:55
molaf left
|
|||
lue | (when I bother with astrophysics) | 19:55 | |
Su-Shee | bring in the eigenstates somehow. | 19:56 | |
lue | masak: that's mean! Glad we're not like that :) | 19:57 | |
jnthn | .oO( WRONG BITCH! ) |
19:58 | |
lue | (the link you posted) | ||
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 :) | ||
lue | Ah :) | ||
masak | I found that amusing-ish :) | 20:00 | |
lue | .oO(do any #perl6 quotes appear on that website?) |
||
sorear | jnthn: I am still missing : moritz, dukeleto, fperrad | 20:01 | |
jnthn: also, I have blizkost building without warnings. | |||
lue | .oO( later, we can have some quote-sharing fun. But for now, Temporal and fortune-mod :) ) |
||
20:02
finanalyst left
|
|||
jnthn | sorear: Cool, I should check if it still builds in Windows too...unless you already know it does. :-) | 20:02 | |
(or maybe you're a win32-er too :-)) | 20:03 | ||
sorear | If it still does, it probably won't soon | 20:04 | |
I'm looking into moving it to distutils | |||
masak | lue, slavik, mberends: for my purposes, I'm now finished cliffsnotesing CPAN's DateTime: gist.github.com/355605 | ||
jnthn | ... | ||
Oh no. | |||
sorear | what | 20:05 | |
jnthn would prefer to stick with makefile | |||
I gues I'll cope otherwise. | |||
I don't expect Rakudo to move to distutils too, fwiw. | 20:06 | ||
masak | mberends: I'll make another gist with my bipartition. | ||
levengli | ho | ||
hi | |||
did anyone try running the parrot-2.0.0/examples/opengl/static-triangle.p6 example? | |||
sorear | the blizkost makefiles don't actually work | ||
they're glorified shell scripts | |||
masak | levengli: probably not since the ng merge, no. | ||
jnthn | The Rakudo one is a better example. | 20:07 | |
levengli | can you try? tell me if it's me or not? | ||
sorear | as witnessed by the fact that my rebuild routine is git clean -dfx; perl Configure.pl; make | ||
masak tries | |||
levengli | jnthn: where is it? | ||
masak | levengli: Unable to find module 'OpenGL' | 20:08 | |
levengli | me too | ||
any insight? | |||
it appears to be there | |||
masak | levengli: I'm not sure :from<parrot> works right now. | ||
levengli | parrot/runtime/parrot/library/OpenGL and parrot/runtime/parrot/library/OpenGL.pir | ||
masak | yes. | ||
but what I just wrote. | 20:09 | ||
jnthn | sorear: build/Makefile.in | ||
levengli | :) | ||
jnthn: what's the rakodu example? | |||
masak | 'Rakudo'. | ||
levengli | sorry | 20:10 | |
masak | no problem :) it's hard to spell | ||
diakopter | orkaud | 20:11 | |
20:11
slavik left
|
|||
masak | rakudo: 'rakudo'.comb.pick(*).join.say | 20:11 | |
p6eval | rakudo 02cf9c: OUTPUT«odruak» | ||
masak | :) | ||
20:12
arthur-_ joined
|
|||
masak | rakudo: 'sudoku'.subst(/su/, 'ra').comb[0,1,4,5,2,3].join.say | 20:13 | |
p6eval | rakudo 02cf9c: OUTPUT«rakudo» | ||
masak | \o/ | ||
moritz_ | :/ | ||
masak | rakudo: 'sudoku'.subst(/su/, 'ra').comb(/../)[0,2,1].join.say | ||
p6eval | rakudo 02cf9c: OUTPUT«rakudo» | 20:14 | |
masak | better :) | ||
moritz_ | rakudo: say 'rakudo'.pick(*, :replace).batch(10) | ||
p6eval | rakudo 02cf9c: OUTPUT«rakudorakudorakudorakudorakudorakudorakudorakudorakudorakudo» | ||
moritz_ | rakudo: say 'rakudo'.comb.pick(*, :replace).batch(10) | ||
p6eval | rakudo 02cf9c: OUTPUT«udaooruoku» | ||
lue | ouarkd | ||
rakudo: say 6*5*4*3*2*1 | |||
p6eval | rakudo 02cf9c: OUTPUT«720» | ||
lue | you can misspell rakudo 719 ways (assuming no addition/subtraction/modification of characters) | 20:15 | |
so, the situation on Temporal is... | 20:17 | ||
masak | lue: I'm producing my bipartition right now. | ||
mberends ...is still bipartitioning | |||
diakopter | rakudo: 'rakudo'.comb.pick(*).say | 20:18 | |
p6eval | rakudo 02cf9c: OUTPUT«aorkdu» | ||
diakopter | rakudo: 'rakudo'.comb.pick(*).say | ||
p6eval | rakudo 02cf9c: OUTPUT«rodauk» | ||
diakopter | rakudo: 'rakudo'.comb.pick(*).say | ||
p6eval | rakudo 02cf9c: OUTPUT«odurak» | ||
lue | alright, and implementation would happen in the usual way, correct? Just by adding to the rakudo source, improving, etc. | ||
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. | ||
masak | lue: dunno yet. but probably, yes. | 20:19 | |
moritz_ | lue: don't forget writing tests | ||
lue | yes ( but we probably should have an agreed-upon spec for Temporal first :) ) | 20:20 | |
moritz_ | lue: then your next step should be to reply to Mark's questions on the perl6-language mailing list | 20:21 | |
masak | I agree. | 20:22 | |
lue goes and signs up to p6l *gulp* | |||
moritz_ | lue: dev.perl.org/perl6/lists/ also explains how you can obtain older mails so that you can reply to them | 20:25 | |
masak | mberends: I haz a done. gist.github.com/355664 | 20:27 | |
mberends | 60% done here :/ | 20:28 | |
masak | no rush. | ||
masak has some more påskmust in the meantime | |||
moritz_ | second ~~ 0..61 | ||
so you allow two leap seconds? | |||
masak | we don't disallow them. | ||
but in core we don't deal with them either. | 20:29 | ||
it's be sad if the core DateTime refused to deal with foreign DateTime objects just because they had leap seconds. | |||
moritz_: oh, your question was about *two* leap seconds? | |||
yes, because DateTime on CPAN dös. | 20:30 | ||
20:30
Sarten-X left
|
|||
masak | *does | 20:30 | |
moritz_: allegedly, some days have had two leap seconds. | 20:32 | ||
lue | masak: what is påskmust? | ||
masak | lue: sv.wikipedia.org/wiki/Julmust | ||
jnthn | lue: You must try it! | ||
pugssvn | r30306 | jnthn++ | [t/spec] Another missing our. | 20:33 | |
masak | jnthn: happy our! :P | ||
jnthn | :-D | ||
Su-Shee | ah. Malzbier. | ||
masak | Su-Shee: except this one didn't have alcohol to begin with. | 20:34 | |
it's just a soft drink, really. | |||
but it could be it's similar in taste. | |||
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 | |
-y | |||
jnthn | Down with temperature! | 20:37 | |
Su-Shee | it's a children's drink. though I still love it from time to time. | 20:38 | |
20:39
Guest42283 left
|
|||
lue | how would I get that email you told me I should respond to? | 20:40 | |
masak | <moritz_> lue: dev.perl.org/perl6/lists/ also explains how you can obtain older mails so that you can reply to them | ||
pugssvn | r30307 | jnthn++ | [t/spec] Happy our again! | 20:41 | |
lue | All those lovely hours! (er, ours) | ||
20:41
opx^away is now known as opx^on
|
|||
masak raises his glass | 20:41 | ||
masak looks at datetime.perl.org/index.cgi?FAQBasicUsage for use cases | 20:42 | ||
lue | I know, but do I just type [email@hidden.address] ? | ||
levengli | for 1..5 {.say}; #works | 20:44 | |
for 1..5 {$_.say}; # doesn't work | |||
why?? | |||
lue | wait, for works? | ||
levengli | lue: are you asking me? | 20:45 | |
masak | mberends: hm, seems I introduced an infelicity: DateTime on CPAN *does* override numeric comparison. | ||
bkeeler | rakudo: for 1..5 {$_.say}; | 20:46 | |
p6eval | rakudo 02cf9c: OUTPUT«12345» | ||
jnthn | rakudo: for 1..5 {$_.say} | ||
p6eval | rakudo 02cf9c: OUTPUT«12345» | ||
mberends | masak: I was rewriting it as < > <= >= != == under KEEP | ||
jnthn | rakudo: for 1..5 {.say} | 20:47 | |
p6eval | rakudo 02cf9c: OUTPUT«12345» | ||
jnthn | wfm | ||
bkeeler | OH HAI #p6 | ||
levengli | wfm? | ||
masak | mberends: yes, those are the ones I'm talking about. 'under'? | ||
jnthn | "works for me" :-) | ||
levengli: In what way does it fail for you? | |||
masak | ah. not an operator :P | ||
mberends | "to keep" | ||
masak | mberends: fwiw, I also have num comp under KEEP. | ||
lue | afk, need a break :) | 20:48 | |
mberends looks for a github login/password | |||
levengli | bad shebang :S | 20:49 | |
20:52
arthur-_ left
|
|||
lichtkind | good night | 20:52 | |
masak | lichtkind: 'night! | ||
dalek | kudo: 72fd9a8 | jonathan++ | (12 files): 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. |
||
lichtkind | masak: thanks and dont hurry i have plenty to do in tpf wiki :) | 20:53 | |
20:53
lichtkind left
|
|||
masak | lichtkind: good to know :) keep up the good work! | 20:53 | |
mberends | masak: a more savage cut: gist.github.com/355684 | ||
masak looks, curious | |||
mberends may have cut too far, but implementation will fix that | 20:54 | ||
masak | mberends: I like what I see. but let's diff. | 20:55 | |
frettled | mberends: «Time is ephemereal»? | ||
That would be a cut too far. ;) | |||
masak | mberends: what's your plan for locales and time zones? | ||
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? | ||
masak | frettled: I'm disinclined to do that (more) | 20:57 | |
frettled: as it stands now, the DateTime class is actually orthogonal to *current* time. I think I like that. | |||
frettled: current time is handled by time(). | |||
mberends | masak: no, "but without redundant variants" was meant to exclude _0 and _1 redundancy | ||
20:57
arthur-_ joined
|
|||
masak | oh, good. | 20:58 | |
we haz an agree. | |||
what about the locales and time zones? | |||
frettled | How are years before year 1 handled? | ||
masak | frettled: they're not in DateTime on CPAN. | 20:59 | |
frettled: if you want them, there are other modules. | |||
mberends | locale should be a formatter job. the built in one is en_us | ||
masak | frettled: the range for years is 1 .. 9999 | ||
mberends: hm, I guess it is, if we don't include names for our months etc. | |||
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. | ||
frettled: in what sense? | |||
frettled | masak: that one has a year 0 | ||
so it follows the astronomical calendar, more or less. | |||
masak | frettled: oh, I thought it didn't. | ||
masak looks again | |||
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. | ||
frettled | try also: perl -MDateTime -e '$dt = DateTime->new(year => -1001); print $dt->dmy,"\n"' | ||
masak | ok, so there seems to be no limit to year, then. | 21:02 | |
I sit corrected. | |||
mberends | masak: ISO8601 timezone examples: "+01" "-0500" | 21:03 | |
frettled | I'm glad you're taking it sitting down. | ||
masak | frettled: :) | ||
mberends: ok, so strings looking like that. that feels minimal and balanced. | |||
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
arthur-_ left
|
|||
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 | |
21:05
jferrero left
|
|||
frettled | :) | 21:05 | |
masak gets distracted by eggs | |||
& | |||
frettled | quack? | ||
mberends | revenge of the Easter Eggs? | ||
frettled | Easter Eggs From Outer Space! | 21:06 | |
mberends | Pan 9 from Outer Space! | ||
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:07 | |
frettled | mberends: Spanglish? :D | 21:08 | |
21:09
arthur-_ joined
|
|||
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? | ||
mberends | See Pan has everything | 21:10 | |
frettled | haha :D | ||
21:10
kensanata left
|
|||
jnthn | frettled: Yes, I've eaten Bimbo! | 21:10 | |
jnthn looks on curiously at what masak is doing with eggs | 21:11 | ||
levengli | jnthn: out of context, that sounds odd | 21:12 | |
frettled | jnthn: oh, the puns :) (I made up a whole batch of 'em) | ||
levengli | i am beginning to understand how little i understand with p6 | ||
jnthn | frettled: Don't yolk about it! | ||
frettled | «My Bimbo tastes sweeter with honey.» | ||
levengli | why does for 1..5 -> $num {factorial($num).say} work but | ||
for 1..5 -> my $num {factorial($num).say} not? | |||
jnthn | levengli: What follows -> is a signautre. | 21:13 | |
(sugnature | |||
moritz_ | signature :-) | ||
jnthn | ...ok, I give up at typing. | ||
spinclad | signutre | ||
levengli | what is the ramification of this? no scoping at all? | 21:14 | |
spinclad | scope through the end of the following block | ||
moritz_ | the parameters declared in the signature are visible in the scoep of the block | ||
jnthn | levengli: Just like when a sub has a signature, the parameters exist within the sub. | ||
Then here...what moritz_ and spinclad said. :-) | |||
levengli | thanks to one and all | 21:15 | |
is there a camel book equivalent? | |||
moritz_ | nope | ||
we're writing a book, but it's not yet done | |||
levengli | what's this we kmmosabi? | ||
moritz_ | github.com/perl6/book/ for a work in progress | 21:16 | |
dalek | kudo: 33b0082 | jonathan++ | src/core/Any-list.pm: Start to remove some our declarations, now that the setting lexically encloses the program. |
||
moritz_ | what is kmmosabi? | ||
levengli | it's a typo | ||
www.urbandictionary.com/define.php?term=Kimosabe | |||
1st definition | 21:17 | ||
moritz_ | we = masak, jnthn, PerlJam, me, and everybody who's interested | ||
frettled = interested, but too few tuits. | |||
frettled bookmarks the github URL for another day. | 21:18 | ||
moritz_ should do another book release tomorrow | 21:19 | ||
mberends | moritz_: is there a CLA other than Perl Foundation required for book? | 21:20 | |
moritz_ | mberends: nope | ||
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 | ||
moritz_ | hugme: add mberendes to book | ||
hugme | moritz_: ERROR: Can't add mberendes to book: 404 Not Found | ||
moritz_ | mberends: what's your github ID? | ||
21:21
Sarten-X joined
|
|||
mberends | mberends. s/des/ds/ | 21:22 | |
moritz_ | hugme: add mberends to book | ||
hugme hugs mberends. Welcome to book! | |||
moritz_ sleepy | |||
mberends | :) thanks | ||
21:22
Su-Shee left
21:23
M_o_C left
|
|||
moritz_ | hugme is such a useful tool, somebody could write a plugin for it for handing out pugs commit bits | 21:25 | |
21:26
hanekomu joined,
hanekomu left
|
|||
mberends | @seen somebody | 21:26 | |
21:26
hanekomu joined
21:34
masak` joined,
masak left
|
|||
masak` | moritz_: nice idea. | 21:36 | |
21:36
masak` is now known as masak
|
|||
moritz_ | hugme is POE based | 21:37 | |
arnsholt | Y'know, unification is hard. | ||
(Idle thought =) | |||
moritz_ | so currently I'm looking for something like WWW::Mechanize, but non-blocking so it's well usable from POE | ||
dalek | kudo: dc3ff3b | jonathan++ | src/core/Any-num.pm: More removal of our. |
21:38 | |
21:40
hanekomu left,
hanekomu joined
|
|||
jnthn gives another ticket to moritz_++ | 21:42 | ||
21:48
Sarten-X left
21:50
Sarten-X joined
|
|||
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)» | ||
masak | not good. :( | ||
jnthn | det e kass. | 21:53 | |
masak | jnthn: if I have class A { subset B ... }, how do I refer to B from within A? | 21:55 | |
jnthn: A::B? | |||
dalek | kudo: c467c5c | jonathan++ | docs/ROADMAP: Item assignment is done and tested, so move to done section of the ROADMAP. |
21:56 | |
masak | jnthn++ | ||
jnthn | A::B should work | 21:57 | |
Think subsets aren't lexical by default. | |||
I *think*. :-) | |||
Other type-y things aren't... | |||
masak | nod | 21:59 | |
21:59
cognominal left
22:00
ash_ joined
|
|||
levengli | karma jnthn | 22:01 | |
or is it karma: jnthn | 22:02 | ||
22:02
cognominal joined
|
|||
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 | ||
buubot | jnthn: jnthn has karma of 727 | ||
jnthn | buubot: karma jonathan | ||
buubot | jnthn: jonathan has karma of 324 | ||
jnthn | ...I surpassed 1000! | 22:03 | |
jnthn-- # immodesty | |||
masak | jnthn-- # I want to help! :) | ||
jnthn | :-P | ||
ash_ | what is YOU_ARE_HERE? | ||
jnthn | It's where you are. | ||
;-) | |||
ash_ | jonathan++ #helping in the other direction? | ||
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 | ||
masak | mberends: aye. | ||
jnthn | The setting is spec'd as a lexical outer of the program. | ||
Now Rakudo really handles it that way. | |||
ash_ | jnthn: ah, i think i get what its used for | ||
got ya | |||
dalek | kudo: f5b18c9 | jonathan++ | src/core/A (2 files): More removal of our; this is probably so far as we can go for now. |
22:08 | |
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:09 | |
jnthn | Correct. | 22:11 | |
22:14
justatheory left
22:21
wolverian joined,
wolverian left
22:22
wolverian joined
|
|||
sorear | moritz_: ? | 22:22 | |
masak | sorear: ¿ | 22:23 | |
levengli | moritz_ has an autoreply stating "bed" | 22:25 | |
i tried building the book | |||
sorear | masak: I sent moritz_ a message, but he still hasn'tgotten back to me | ||
levengli | failed meseablely | ||
misrably | |||
sorear | despite the fact that he keeps talking here | ||
masak | jnthn++! | 22:26 | |
sorear: ok, I see. maybe he's distracted somehow. | |||
sorear | I also need to get in touch with fperrad and dukeleto. | ||
Maybe I should give up on this whole IRC thing and email them. | 22:27 | ||
22:27
gmax joined
|
|||
masak | sorear: sounds like a good idea. | 22:27 | |
levengli | github.com/perl6/book: fails building | 22:28 | |
masak | levengli: could you nopaste the failure? | ||
levengli | it just hangs | 22:29 | |
unless there is something that i should be writing after i call make | |||
masak | levengli: works here. | ||
22:31
gmax left
|
|||
levengli | masak: how long does it take to build? | 22:32 | |
masak | levengli: seconds. | ||
maybe ten. | |||
levengli | didn't deal nicely with recovering from a previouslt failed build | 22:33 | |
make clean; make: solved it | |||
masak++ | |||
masak | levengli: glad to hear that. :) | ||
6.3 seconds here. | 22:34 | ||
levengli | how do you time? | ||
jnthn | masak: Can you give it to a few more significant figures? | ||
;-) | |||
masak | jnthn: 6.353 :) | ||
22:35
nihiliad joined
|
|||
levengli | how do you time it? | 22:35 | |
also, why are there 2 files? book and mmd-table | |||
22:36
Guest42283 joined
|
|||
levengli | i promise that those are my last 2 questions ;) | 22:37 | |
jnthn | I suspect the later is a by-prodcut. | ||
produced while producing the book. | |||
masak | levengli: 'time make' | ||
levengli: I don't really know why there're two files. | 22:38 | ||
22:38
tri1 left
|
|||
levengli | 1.511s | 22:38 | |
sweet | |||
thanks all. good night | |||
i have what to read tomorrow | |||
22:40
hanekomu left
|
|||
sorear | jnthn: hah, have you seen chromatic's optimization reports? | 22:41 | |
22:41
levengli left
|
|||
jnthn | sorear: No? | 22:42 | |
sorear: Where? | |||
mberends | \o good night, more progress tomorrow! | 22:45 | |
jnthn | o. | ||
22:45
mberends left
|
|||
takadonet | sorear: where is it? | 22:46 | |
22:49
hanekomu joined
23:03
justatheory joined
23:05
Sarten-X left
23:10
clintongormley left
|
|||
dalek | kudo: c9db3d6 | jonathan++ | src/Perl6/ (2 files): Fix use of %_ and @_ when they've been declared in a signature (or auto-included in the case of methods). |
23:11 | |
23:11
masak left
|
|||
jnthn | home time! | 23:12 | |
sorear | jnthn: not where, but what | 23:13 | |
"this change makes Rakudo startup 2.368% faster" | 23:14 | ||
he's found a way to measure program startup time to 5 sig figures | |||
he said it involves callgrind | |||
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 | |
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 | |||
lue | oh hai! (masak *just* left. I knew I should've come back at the top of the hour) | 23:22 | |
23:27
ash_ left
23:44
ash_ joined
|
|||
sorear | ash_: There's a hole in your message. | 23:51 | |
ash_ | ? | ||
what do you mean? | |||
23:52
jaldhar left
|
|||
lue | hole as in gap, or hole as in contradiction? | 23:55 | |
sorear | might be a correlation between the two but the two numbers are | 23:56 | |
independent in te | |||
16:19 < ash_> complexity. But that's also cool, if he can find short cuts and | |||
te ~ complexity | 23:57 | ||
ash_ | ah, i see, it was kinda long, i guess irc cut it | ||
But that's also cool, if he can find short cuts and places that could give a speed boost theres no harm in that | |||
is all i was going to say | |||
takadonet | Man i love junction! | 23:58 | |
23:58
jaldhar joined
|