»ö« | 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 11␤current 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«1␤1␤1␤0␤»
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 &f␤current 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 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤» 03:51
sorear rakudo: sub moo(*%a) { say %a.perl }; moo('-text' => 'Data')
p6eval rakudo 32fda1: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current 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_064use␤Other 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 1␤ok 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«1␤0␤1␤»
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«0␤0␤1␤0␤»
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 11␤current 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 found␤current 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␤ trait␤FAILED 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 11␤current 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«␤bar␤bazr␤»
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-infix␤FAILED 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 &a␤current 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 &a␤current 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 &lol␤current 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 &oh␤current 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 routine␤in 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:␤------> $[⏏ = -1␤FAILED 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 loop␤Undeclared routine:␤ 'of' used at line
..1␤FAILED 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 11␤current 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«1␤2␤3␤4␤5␤»
jnthn rakudo: for 1..5 {$_.say}
p6eval rakudo 02cf9c: OUTPUT«1␤2␤3␤4␤5␤»
mberends masak: I was rewriting it as < > <= >= != == under KEEP
jnthn rakudo: for 1..5 {.say} 20:47
p6eval rakudo 02cf9c: OUTPUT«1␤2␤3␤4␤5␤»
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