Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-10-28

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:04 BenGoldberg joined #perl6
00:07 Util Delivery notice: John Sterling Wolters (Util v1.1.3), 6 lb 5 oz, 19 inches.
00:10 xenoterracide joined #perl6
00:12 japhb Util: \o/  Congratulations!
00:13 japhb .oO( You know it's a good community when people spontaneously announce births and marriages on channel ... )
00:15 colomon \o/
00:23 japhb .tell lizmat It looks like one of your uniq deprecations suggests uniq itself as a replacement.
00:23 yoleaux japhb: I'll pass your message to lizmat.
00:26 chenryn @japhb: If I run `strace $pid_of_timeall` , the timeall process would exit and re-start a new one.
00:37 pmichaud m:  class Sinker { method sink() { say "Blub" } };  my $i = 0; while $i < 5 { $i++; Sinker.new(); }
00:37 camelia rakudo-moar 315ec6: OUTPUT«Blub␤Blub␤Blub␤Blub␤Blub␤»
00:37 pmichaud m:  class Sinker { method sink() { say "Blub" } };  for ^5 { Sinker.new(); }
00:37 camelia rakudo-moar 315ec6: ( no output )
00:38 pmichaud ...which one is "correct"?  (post-GLR)
00:41 pmichaud i.e., does a loop executed in sink context execute its body in sink context?
00:49 vukcrni joined #perl6
00:51 japhb chenryn: Wait, what?  There should only be one parent timeall ... it's not like it runs as a daemon.
00:52 * japhb wonders if it's some kind of hanky-panky with the STDERR/STDOUT capturing
00:52 chenryn yes, but it has its parent to restart it.
00:53 chenryn `bench time nqp-moar/2014.10` was its parent
00:55 japhb It should be bench -> timeall -> (lots and lots of child processes)
00:55 japhb Oh, are you saying that it's a new timeall between different bench runs?
00:56 japhb (Because if so, then yes, timeall is strictly a child of bench)
01:04 dayangkun joined #perl6
01:12 xenoterracide joined #perl6
01:21 Akagi201 joined #perl6
01:54 aindilis joined #perl6
02:21 chenryn joined #perl6
02:29 chenryn @japhb: well, I mean I can't see any child process of timeall
02:30 chenryn one bench -> one timeall, then nothing.
02:33 araujo joined #perl6
02:35 Akagi201 joined #perl6
02:45 chenryn o, sorry, I find child now. `watch -n 1 "ps uax|grep nqp"` show "nqp.moarvm -e my @a; nqp::push(@a,42); my $i := 0; while ($i := $i + 1) <= 2620 { nqp::push(@a, @a) }" , such child run and exit, then restart a new child which has a bigger SCALE for example 2633 and so on
02:45 chenryn SCALE is 3322 now.
03:04 slavik joined #perl6
03:12 j4jackj joined #perl6
03:13 Mso150_f joined #perl6
03:15 j4jackj joined #perl6
03:16 noganex joined #perl6
03:16 TimToady pmichaud: why would a loop in sink context ever want a value from its loop body?
03:16 TimToady I'm a bit surprised the 2nd one isn't sunk already
03:21 TimToady well, not really, given what I know about internals :)
03:26 kurahaupo joined #perl6
03:40 fhelmberger joined #perl6
03:51 Akagi201 joined #perl6
03:53 PerlJam Util: congrats!
04:36 tony-o .tell supernovus im getting install errors only with panda  . the way it suggests testing passes if i clone your repo (just fyi)
04:36 yoleaux tony-o: I'll pass your message to supernovus.
04:38 mauke_ joined #perl6
04:38 pmichaud Util: congrats
04:39 pmichaud TimToady: I'm not surprised the second one isn't sunk already; sink context in Rakudo is (still) somewhat inconsistently handled.
04:40 pmichaud Implementors sometimes remembered to throw away the values, but forgot to tell the values they were being thrown away.
04:41 Akagi201 joined #perl6
04:41 pmichaud anyway, I'll be looking at fixing that shortly
04:43 erkan joined #perl6
04:43 erkan joined #perl6
04:46 ggoebel111111115 joined #perl6
04:47 aindilis joined #perl6
04:49 pmichaud m:  class Sinker { method sink() { say "Blub" } };  for ^5 { Sinker.new(); }; 1   # just checking
04:49 camelia rakudo-moar 315ec6: ( no output )
04:50 pmichaud m:  class Sinker { method sink() { say "Blub" } };  my $i = 0; while $i < 5 { $i++; Sinker.new(); }; 1
04:50 camelia rakudo-moar 315ec6: OUTPUT«Blub␤Blub␤Blub␤Blub␤Blub␤»
04:50 pmichaud m:  class Sinker { method sink() { say "Blub" } };  for ^5 { Sinker.new(); }; 1
04:50 camelia rakudo-moar 315ec6: ( no output )
04:54 anaeem1_ joined #perl6
04:55 xenoterracide joined #perl6
04:59 yeahnoob joined #perl6
05:00 chenryn joined #perl6
05:03 kaare_ joined #perl6
05:15 kaleem joined #perl6
05:15 aindilis` joined #perl6
05:17 chenryn joined #perl6
05:21 yeahnoob joined #perl6
06:04 yeahnoob joined #perl6
06:33 chenryn joined #perl6
06:59 virtualsue joined #perl6
07:08 rindolf joined #perl6
07:12 yeahnoob joined #perl6
07:13 darutoko joined #perl6
07:19 FROGGS joined #perl6
07:19 abir1729 joined #perl6
07:30 abraxxa joined #perl6
07:31 abraxxa joined #perl6
07:34 denis_boyun_ joined #perl6
07:35 molaf joined #perl6
07:41 fhelmberger joined #perl6
07:53 masak morning, #perl6
07:54 kaleem joined #perl6
07:56 moritz \o masa, #perl6
07:56 moritz *masak
07:57 FROGGS moring m&m
07:58 moritz "tasty together"
08:08 erkan joined #perl6
08:08 erkan joined #perl6
08:12 anaeem1 joined #perl6
08:16 ghostlines joined #perl6
08:19 denis_boyun joined #perl6
08:20 zakharyas joined #perl6
08:24 rindolf masak: morning.
08:33 Ven joined #perl6
08:33 Ven The work on Jruby is astonishing. http://www.chrisseaton.com/rubytruffle/cext/
08:33 Ven o/, #perl6.
08:34 Ven They basically reimplemented C in Java just to get the JIT inline both that and the ruby part :').
08:35 dalek rakudo/nom: 6edae2d | (Elizabeth Mattijsen)++ | src/core/List.pm:
08:35 dalek rakudo/nom: Oops.  Fix depreciation message, japhb++
08:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6edae2d027
08:36 Mso150_f joined #perl6
08:45 masak reimplementing C in Java? sounds like a lot of wo^W^W^W^Wfun!
08:47 Sqirrel joined #perl6
08:47 FROGGS my first reaction was: We can do that too once we are bored!
08:58 masak :)
09:00 Ven well, I mean, p6 is the graal already, so using a framework named just that works...
09:01 dalek specs: 2133dd1 | (Elizabeth Mattijsen)++ | S32-setting-library/IO.pod:
09:01 dalek specs: dir() reverts to IO::Path by default
09:01 dalek specs: review: https://github.com/perl6/specs/commit/2133dd1232
09:02 moritz lizmat++
09:14 ptc_p6 joined #perl6
09:18 rmgk_ joined #perl6
09:24 dalek rakudo/nom: fea81ce | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
09:24 dalek rakudo/nom: Optimize dir() into MMD candidates
09:24 dalek rakudo/nom:
09:24 dalek rakudo/nom: And make dir() use the currently active $*SPEC to determine what the string
09:24 dalek rakudo/nom: for current directory is.
09:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fea81ce402
09:26 masak Util: congratulations!
09:26 masak Util.family++
09:27 moritz ooh
09:27 * moritz backlogs
09:27 moritz Util++
09:27 chenryn joined #perl6
09:29 FROGGS Util++
09:30 FROGGS hmmm, how many cups are 6lb 5oz?
09:30 Ven https://github.com/adambard/learnxinyminutes-docs/pull/831#issuecomment-60728908
09:30 Ven fwiw, even languages like haskell and the like get it wrong :P
09:34 Timbus i believe common lisp gets it right
09:35 Ven nope.
09:35 kjs_ joined #perl6
09:35 Ven (let ((a 1.2) (b 1.0) (c 0.2))   (print (= (- a b) c))   (print (= (- (* a 10) (* b 10)) (* c 10))) )
09:35 Ven Try this one :)
09:37 FROGGS I've got problems reading it O.o
09:37 FROGGS let is a declaration?
09:38 FROGGS ahh, the thing in the middle is print c = a - b?
09:38 Ven kind of, yes.
09:38 Ven yes
09:38 FROGGS okay, I love Perl 6.
09:39 Ven :-)
09:41 Ven racket fails at it as well...
09:42 Ven (- 1.2 1.0) gives 2.00000005 in CL, 1.9999999999996 in racket
09:46 Ven php actually does a better job than the others..
09:48 Ven how
09:48 Ven however, (35 - 34.99) is float(0.009999999999998)
09:48 moritz $ perl -wE 'say 1.2 - 1.0'
09:48 moritz 0.2
09:48 moritz but it cheats while rounding
09:49 moritz $ perl -wE 'printf "%.20f\n",  1.2 - 1.0'
09:49 moritz 0.19999999999999995559
09:49 Timbus Ven, huh, guess CL only uses rats when you use /
09:49 Timbus .. dumbb
09:49 Ven :)
09:50 Timbus let ((a (/ 12 10)) (b 1) (c (/ 2 10)))  .. works
09:50 Timbus christ you really cant read that in irc
09:51 Mso150_f joined #perl6
09:51 ponbiki hrm
09:51 jnthn Good evening, #perl6
09:51 yoleaux 23 Oct 2014 13:33Z <lizmat> jnthn: could it be that $!PIO.isatty is NYI on jvm and moar ?
09:52 colomon o/
09:53 spider-mario joined #perl6
09:53 jnthn .tell lizmat (isatty) well, you never call methods on $!PIO on jvm and moar, so that's pretty much certainly not gonna work. I suspect the functionality may be missing too... Though as a Windows guy I'm mostly like "so wtf is a tty" :P
09:53 yoleaux jnthn: I'll pass your message to lizmat.
09:54 * jnthn just stumbled upon the second oldest pub in .nz :)
09:56 colomon we seem to have broken a batch of modules in the last 48 hours.  :\
09:57 jnthn colomon: Well, given I didn't write any commits for over a week, I think I'm not to blame for once ;)
09:57 colomon :)
09:58 pecastro joined #perl6
09:58 spider-mario joined #perl6
10:00 virtualsue joined #perl6
10:05 salv0 joined #perl6
10:26 lizmat joined #perl6
10:27 lizmat colomon: maybe they have something to do with the dir() --> List[Str] change
10:27 yoleaux 00:23Z <japhb> lizmat: It looks like one of your uniq deprecations suggests uniq itself as a replacement.
10:27 yoleaux 09:53Z <jnthn> lizmat: (isatty) well, you never call methods on $!PIO on jvm and moar, so that's pretty much certainly not gonna work. I suspect the functionality may be missing too... Though as a Windows guy I'm mostly like "so wtf is a tty" :P
10:28 lizmat .tell jnthn afaik is 'isatty' indicates whether there is someone looking, rather than input / output coming from / going to a file / pipe
10:28 yoleaux lizmat: I'll pass your message to jnthn.
10:28 jnthn lizmat: That was kinda my guess too :)
10:28 yoleaux 10:28Z <lizmat> jnthn: afaik is 'isatty' indicates whether there is someone looking, rather than input / output coming from / going to a file / pipe
10:29 jnthn lizmat: I *think* libuv has a way to asking that question.
10:29 jnthn lizmat: So getting it supported on moar should not be a big deal, I expect.
10:34 dalek rakudo/nom: 48b436b | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
10:34 dalek rakudo/nom: dir() returns IO::Path by default again
10:34 dalek rakudo/nom:
10:34 dalek rakudo/nom: Please use :Str named parameter to get strings again
10:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48b436baf2
10:34 colomon lizmat: yes
10:35 colomon for instance t/rot13-example.t .. No such method 'basename' for invocant of type 'Str'
10:35 lizmat should be fixed by above commit
10:38 dalek panda: fa0ca63 | (Elizabeth Mattijsen)++ | ext/ (2 files):
10:38 dalek panda: Revert dir() --> List[Str] changes
10:38 dalek panda: review: https://github.com/tadzik/panda/commit/fa0ca636c2
10:38 * colomon needs to learn to update rakudo (via rakudobrew) before trying to duplicate bugs.
10:38 colomon that indeed seems to fix things
10:38 lizmat my apologies for fixing bugs this quickly  :-)
10:40 colomon lizmat++
10:41 lizmat still not sure what would be so bad about dir()>>.IO
10:41 lizmat but, there you have it
10:41 ugator joined #perl6
10:42 lizmat I still think that returning IO::Path by default, will just cause unneccesary converting to / from IO::Path / Str all of the time
10:44 jnthn lizmat: I'd kinda hope we can get the cost of constructing IO::Path relatively low, and if it's just coerced to a string soon afterwards then it's a low overhead
10:44 jnthn lizmat: It's only costly if we have to go through a normalization pass somewhere in there
10:44 lizmat and we do  :-(
10:45 jnthn lizmat: And I don't see why dir ever should have to
10:45 jnthn I mean, readdir had better be returning sensible stuff.
10:45 lizmat well, it returns different things for different VM's for one
10:45 colomon the super simple script I wrote yesterday (and apparently ran on a several days old rakudo) needed both the str and the path forms
10:45 lizmat which doesn't make the code that readable / maintainable
10:45 jnthn lizmat: That sounds like something fixable.
10:45 jnthn Certainly there's no reason for the Moar and JVM APIs to be different, afaik.
10:46 lizmat well, the moar API is *very* different from JVM atm
10:46 lizmat it actually requires the system's chdir t be correct
10:46 lizmat *to
10:47 lizmat which in itself has all sorts of threading / race condition issues
10:48 lizmat the real issue is what JVM neatly bypasses: what does a relative path mean in a multicore/threaded world
10:48 hoelzro joined #perl6
10:48 lizmat in the JVM there are apparently only absolute paths
10:49 lizmat so whenever you make an IO::Path, you need to capture the $*CWD and $*SPEC at that point
10:49 lizmat because they might change and you want to be able to provide consistent results
10:52 hobbs joined #perl6
10:54 lizmat anyway, dir() is clearly still way underspecced
10:55 lizmat so I would welcome any feedback in that area, before I start repeating old mistakes
10:57 jnthn lizmat: Worse, if you have to caputre $*CWD *and* $*SPEC then that isn't atomic :)
10:58 jnthn Agree we need to decide what we want, anyway.
10:58 lizmat right, there you go...
10:58 lizmat I guess the default case (of not specifying :CWD *and :SPEC) can be handles
10:59 lizmat *handled with a protect block
10:59 lizmat but still
10:59 lizmat maybe we should at least make $*SPEC non-dynamic, and just initialized at startup
11:00 lizmat I mean, how often would you really need different file naming semantics within a process anyway?
11:00 lizmat if you want different semantics, you should be able to specify them specifically (like you can now everywhere, afaik)
11:01 chenryn joined #perl6
11:02 lizmat fwiw, I've not gotten much feedback on the new IO::Path / IO::Handle / .IO setup either
11:02 lizmat I guess tl;dr
11:02 lizmat :-(
11:03 jnthn for me it's just ov;dr :)
11:05 lizmat ?
11:06 lizmat I know you didn't read  :-)
11:06 lizmat on vacation
11:06 lizmat duh
11:06 lizmat :-)
11:06 jnthn on vacation :)
11:06 rurban joined #perl6
11:06 jnthn Busy distracting myself with getting rained on, hurting my ankle while failing to climb mountains, and visiting pubs :)
11:06 yeahnoob joined #perl6
11:07 chenryn joined #perl6
11:07 lizmat sounds like a plan, apart from the ankle/falling bit
11:09 jnthn Well, the ankle is fine enough by now, mostly thanks to be giving up the climb before I did any real damage. :)
11:10 dalek roast: a8eef18 | (Elizabeth Mattijsen)++ | S32-io/dir.t:
11:10 dalek roast: Adapt tests to new dir() default settings
11:10 dalek roast: review: https://github.com/perl6/roast/commit/a8eef18c0b
11:10 jnthn I suspect I twisted it at some point in the last weeks, and walking miles around cities didn't aggravate it, but climbing hundreds of meters in snow, wearing crampons, carrying stuff, was a little much for it.
11:10 lizmat :-(
11:11 jnthn I got high enough to see some nice stuff, just didn't make it to the crater I hoped to see. :)
11:12 lizmat know the feeling: just like I didn't make it to the Preikestolen  :-(
11:12 rurban With the parrot GC I stirred up a bigger hornets nest than imcc strings or coros.
11:12 * lizmat hands rurban a swatter
11:13 jnthn lizmat: Yeah. Mountains are certainly deserving of some respect...and sometimes they end up winning...
11:13 rurban swatter? I'd need a new linux machine for reversible gdb
11:14 rurban target record not implemented on darwin
11:25 lizmat :-(
11:28 denis_boyun joined #perl6
11:36 Hor|zon_ joined #perl6
11:41 fhelmberger joined #perl6
11:45 biff_ joined #perl6
11:50 lizmat maybe we need to implement $?SPEC, and have that as a default everywhere: it would be better optimizable, I assume  :-)
11:57 jepeway-wm joined #perl6
11:58 jepeway-wm masak: u about?
12:04 masak jepeway-wm: hi. kinda.
12:04 darutoko- joined #perl6
12:06 masak (teaching, but checking in now and then during breaks and exercises)
12:07 jepeway-wm masak: check.  just wanted to say I don't get a lot of hack or irc time, so while I'd •love• to hear re: tz's, it's no pressing thing...and totally get yer time is, well, yours.
12:08 masak oh, right. rightright.
12:08 masak I'll try to remember for tonight when I'm on a train and can look at stuff.
12:08 masak if you're also online tonight, please do remind me.
12:09 jepeway-wm man alive, that'd be fab.
12:10 jepeway-wm Re: tonight: I'm still -0500, so my back from work is likely yer back to bed.  But will check.
12:10 masak *nod*
12:12 jepeway-wm Well, running...has anybody mentioned #perl6 is pretty dang cool today?
12:14 xinming joined #perl6
12:17 retupmoca joined #perl6
12:18 leont joined #perl6
12:23 lizmat cycling&
12:27 JimmyZ joined #perl6
12:30 JimmyZ Good evening
12:31 lue joined #perl6
12:35 alexghacker joined #perl6
12:39 rurban joined #perl6
12:49 FROGGS lizmat: not getting feedback about your IO::Path / IO::Handle / .IO setup is not a bad thing, it means it works flawlessly
12:50 FROGGS lizmat: my problem is/was that I had no internet connection for a week and it is hard to reread stuff
12:56 fhelmberger joined #perl6
12:58 FROGGS Ven: are you going to reply to http://itreallymatters.net/post/386327451/floating-point-arithmetics-in-19-programming-languages#notes ?
12:58 Ven FROGGS: no
12:59 FROGGS :o(
13:02 Ven FROGGS: I don't like comments
13:02 timotimo o/
13:03 Ven o/ timotimo
13:03 JimmyZ \o
13:07 Alina-malina joined #perl6
13:07 Akagi201 joined #perl6
13:08 Woodi hallo today :)
13:10 Woodi Hmm, something was talkin to me few hours ago: hey, you, stop what you are doing!  but I was dived in some map4zombies preparation...
13:10 pmichaud good morning, #perl6
13:10 Woodi o/ :)
13:11 rurban FROGGS: p2 got false and false, consistency with doubles at least.
13:11 Woodi lizmat: I think (after man readdir) that I started to understand what you are trying to do :)
13:18 ilbot3 joined #perl6
13:18 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
13:18 timotimo er, wouldn't you just dir("/etc") or dir("/etc".path)?
13:18 timotimo also, it would probably be IO::Path.new("/etc")
13:19 timotimo but "/etc".path is nicer, in my opinion
13:19 moritz joined #perl6
13:20 Woodi but I was sleeping :) I just unconsciously assumed perl6 should have only good-short things :)
13:21 Woodi dir "/etc"; would be nice :)
13:21 timotimo m: say dir
13:21 camelia rakudo-moar 315ec6: OUTPUT«"/home/camelia/rakudo-inst-2".IO "/home/camelia/evalbot".IO "/home/camelia/.viminfo".IO "/home/camelia/rakudo-inst-1".IO "/home/camelia/.bashrc".IO "/home/camelia/.ssh".IO "/home/camelia/std".IO "/home/camelia/rakudo-star-2014.09.tar.gz".IO "/home/camelia/…»
13:21 timotimo m: say dir "/home/camelia"
13:21 camelia rakudo-moar 315ec6: OUTPUT«"/home/camelia/rakudo-inst-2".IO "/home/camelia/evalbot".IO "/home/camelia/.viminfo".IO "/home/camelia/rakudo-inst-1".IO "/home/camelia/.bashrc".IO "/home/camelia/.ssh".IO "/home/camelia/std".IO "/home/camelia/rakudo-star-2014.09.tar.gz".IO "/home/camelia/…»
13:22 timotimo there you go
13:23 Woodi m: my $d = dir; say $d.perl;
13:23 camelia rakudo-moar 315ec6: OUTPUT«(q|rakudo-inst-2|.IO(:SPEC(IO::Spec::Unix),:CWD</home/camelia>), q|evalbot|.IO(:SPEC(IO::Spec::Unix),:CWD</home/camelia>), q|.viminfo|.IO(:SPEC(IO::Spec::Unix),:CWD</home/camelia>), q|rakudo-inst-1|.IO(:SPEC(IO::Spec::Unix),:CWD</home/camelia>), q|.bashrc|…»
13:24 Woodi how to ask about what $d is ? .^class ?
13:24 timotimo .WHAT for example
13:24 Woodi m: my $d = dir; say $d.WHAT;
13:24 camelia rakudo-moar 315ec6: OUTPUT«(List)␤»
13:24 FROGGS .botsnack
13:24 yoleaux :D
13:25 timotimo m: my $d = dir; say $d>>.WHAT
13:25 camelia rakudo-moar 315ec6: OUTPUT«(List)␤»
13:25 timotimo m: my $d = dir; say $d[0].WHAT
13:25 camelia rakudo-moar 315ec6: OUTPUT«(IO::Path)␤»
13:25 gtodd m: (dir ".")[*-1]
13:25 camelia rakudo-moar 315ec6: ( no output )
13:25 gtodd hahah
13:25 FROGGS m: my $d = dir; say $d.list>>.WHAT
13:25 camelia rakudo-moar 315ec6: OUTPUT«(List)␤»
13:25 timotimo .WHAT is "magical"
13:25 timotimo so that may be why that doesn't work
13:25 FROGGS m: my $d = dir; say $d.list>>.^name
13:25 camelia rakudo-moar 315ec6: OUTPUT«List␤»
13:25 FROGGS meh
13:26 timotimo that's kinda weird
13:27 Woodi so why $d[0].WHAT is IO::Path ? it is like struct returned from readdir in C ?
13:28 Woodi (that struct is obliged to have name and inode, and maybe other things on some systems)
13:29 FROGGS m: say dir>>.map({; $_.Str => $_.e && $_.s})
13:29 camelia rakudo-moar 315ec6: OUTPUT«"rakudo-inst-2" => Failure.new(exception => X::IO::NotAFile.new(path => "rakudo-inst-2", trying => "s", os-error => Any)) "evalbot" => Failure.new(exception => X::IO::NotAFile.new(path => "evalbot", trying => "s", os-error => Any)) ".viminfo" => 2290 "raku…»
13:31 FROGGS Woodi: when you work with files in Perl 6 you usually want IO::Path objects to call methods on it
13:31 FROGGS that's why you don't get a list of strings back
13:31 Woodi why it isn't named IO::File ? :)
13:32 FROGGS Woodi: because it also can be a directory and symlink
13:32 FROGGS or*
13:32 FROGGS m: say dir>>.map({; $_.Str => $_.f && $_.s})
13:32 camelia rakudo-moar 315ec6: OUTPUT«"rakudo-inst-2" => Bool::False "evalbot" => Bool::False ".viminfo" => 2290 "rakudo-inst-1" => Bool::False ".bashrc" => 35 ".ssh" => Bool::False "std" => Bool::False "rakudo-star-2014.09.tar.gz" => 14678177 "rakudo-star-2014.09" => Bool::False "niecza" => B…»
13:33 FROGGS m: say dir>>.map({; $_.Str => $_.f && $_.s}).sort({ $^b.value <=> $^a.value })
13:33 camelia rakudo-moar 315ec6: OUTPUT«"rakudo-star-2014.09.tar.gz" => 14678177 "evalbot.log" => 27914 ".viminfo" => 2290 ".bash_history" => 2021 ".bashrc" => 35 "rakudo-inst-2" => Bool::False "evalbot" => Bool::False "rakudo-inst-1" => Bool::False ".ssh" => Bool::False "std" => Bool::False "ra…»
13:35 pmichaud ....why would one do   dir>>.map ?
13:35 pmichaud instead of just   dir.map ?
13:35 FROGGS because of ENOTENOUGHCOFFEE :o)
13:35 gtodd m: say (dir ".")[4].slurp
13:35 camelia rakudo-moar 315ec6: OUTPUT«source ~/perl5/perlbrew/etc/bashrc␤␤»
13:36 FROGGS :S
13:38 FROGGS would it hurt to disallow IO::Path here?
13:38 gtodd hmm we can look at camelia's dotfiles ? hmm
13:38 gtodd maybe not good
13:38 FROGGS exactly
13:39 dalek rakudo/nom: 9022b0f | (Tobias Leich)++ | src/RESTRICTED.setting:
13:39 dalek rakudo/nom: forbid IO::Path in the restricted setting
13:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9022b0f29d
13:39 gtodd oh
13:39 gtodd hehe I thought you'd use chmod ;-)
13:40 FROGGS m: say $*PERL.build-date # moritz: can you take a look why that won't upgrade?
13:40 camelia rakudo-moar 315ec6: OUTPUT«No such method 'build-date' for invocant of type 'Perl'␤  in block <unit> at /tmp/VNoLUCFlSa:1␤␤»
13:40 FROGGS grrr
13:40 rurban got it right in lisp: (let ((a 1.2L0) (b 1.0L0) (c 0.2L0))
13:40 rurban (print (equal (coerce (- a b) 'short-float) (coerce c 'short-float)))
13:40 rurban (print (equal (coerce (- (* a 10) (* b 10)) 'short-float) (coerce (* c 10) 'short-float))))
13:40 FROGGS m: say $*PERL.compiler.build-date
13:40 camelia rakudo-moar 315ec6: OUTPUT«2014-10-22T20:30:08Z␤»
13:41 Woodi I think problem is that IO:: thingies are not in "language" department but in "standard library"... that library wants to have good performance so wants to use (system/vm) system calls, and that starts a problem :)
13:43 FROGGS Woodi: but IO::Paths can better cache filestats then strings
13:43 FROGGS than*
13:44 Woodi so we probably want two things: a) general v6-level api compatible everywhere; b) modules implementing system api on every system...
13:44 pmichaud Here's the original discussion of "why &dir returns IO::Path":  http://irclog.perlgeek.de/perl6/2012-06-22#i_5748622
13:44 pmichaud it has little to do with efficiency.
13:44 pmichaud (well, system efficiency)
13:45 timotimo wait ... compatible everywhere?
13:45 timotimo that's not how it works :)
13:45 Woodi one api for them all :)
13:46 Woodi IO::Path is v6-lvl such thing, me thinks...
13:46 FROGGS sure, like Int is
13:47 kjs_ joined #perl6
13:48 ghostlines joined #perl6
13:50 rurban tumblr is a beast. managed to comment: http://reiniurban.tumblr.com/post/101172020463/floating-point-arithmetics-in-19-programming-languages
13:50 Woodi FROGGS: exactly :)
13:52 FROGGS Woodi: so we all agree and there is no open issue? :o)
13:52 Woodi depends on which one :) but to be precise:
13:53 liztormato joined #perl6
13:53 Woodi string vs object fight is shell view vs low level api problem so when doing api thing some objects must be created underneth...
13:54 gtodd rurban:  :-| ...  this old article http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html "What Every Computer Scientist Should Know About Floating-Point Arithmetic" made me hope perl6 had automagical powers from the computer scientists
13:54 liztormato timotimo: Please use "foo".IO. Instead of "foo".path. The latter is deprecated
13:54 Woodi hmm. but is dir a api part or just convenient sugar for opendir ? ;)
13:55 rurban sure, the goldberg theorem :)
13:55 liztormato Woodi. Afaik opendir is not portable
13:55 rurban and his matlab bitching is also a good read
13:55 timotimo i think that's right
13:55 Woodi but we talking about v6-level api, we can name things.
13:55 pmichaud I'm pretty sure nearly all of the IO:: stuff is intended to be "api"
13:55 Woodi readdir is posix too
13:56 timotimo all you can do is read all the contents of a directory into a list and then let the user iterate over it
13:56 timotimo except, how do you model what posix' opendir does when you add/remove stuff while iterating over it?
13:56 liztormato But what is in the list?
13:56 Woodi so slurp and things are considered sugar implemented with IO::Path ?
13:57 gtodd heh in an ideal world computer scientists are supposed to help mere programmers and (language implementers) design things that "just work" :-)
13:57 FROGGS slurp certainly can be called sugar
13:57 Woodi liztormato: depends if dir is IO::Path::dir or just dir :)
13:57 pmichaud afk for a while
13:58 ajr joined #perl6
13:58 liztormato Well. dir "foo" is just a wrapper for "foo".IO.dir
13:59 Woodi sugar could return list of strings, but method in IO::Path should use some internal object
14:00 Woodi so, sugared dir needs to return full path ? ;)
14:00 liztormato Alas. The consensus was that dir returns IO:Path
14:00 pmichaud 13:44 <pmichaud> Here's the original discussion of "why &dir returns IO::Path":  http://irclog.perlgeek.de/perl6/2012-06-22#i_5748622
14:01 liztormato :Str will give you strings
14:01 pmichaud that discussion extended out over two weeks
14:02 Woodi liztormato: ok, let's s/dir_sugared/ls/g and only one dir will be one in IO::Path...
14:02 thou joined #perl6
14:03 Woodi 'dir' is ftp or windows command :)
14:03 Woodi so where 'slurp' belongs ?
14:04 Woodi S16 is pre-IO::Path ?
14:05 liztormato S16 is up to date
14:05 Woodi I mean something else...
14:07 pmichaud S16:250 still looks out of date
14:07 synopsebot Link: http://perlcabal.org/syn/S16.html#line_250
14:07 Woodi "commands" there looks to be "common sugar". and IO::Path is api, some of thes commands can be implemented using IO::Path low-level methods and do what user expects (eg. return strings)
14:08 liztormato pmichaud: Good catch
14:11 pmichaud Woodi:  In general, I'd prefer what you're calling "low-level methods" to be handled as part of another namespace, such as POSIX::readdir
14:11 pmichaud as opposed to trying to make the v6-level calls into low-level equivalents.
14:12 liztormato_ joined #perl6
14:12 liztormato_ Will fix when I'm home again
14:13 PerlJam good morning #perl6!
14:13 pmichaud PerlJam: Happy birthday!
14:13 pmichaud PerlJam++   # obviously
14:13 PerlJam pmichaud: thanks :)
14:13 Woodi hmm, but my last "low-level" was about v6 universal api. "sugar" (if allowed) is 3rd api... 1. posix::/W32... 2. v6-universal one; 3. sugar like slurp
14:14 Woodi PerlJam: have a good life ! :)
14:14 PerlJam Woodi: that's the plan  :)
14:19 Woodi pmichaud: that POSIX:: thingies done with nativecalls would be realy nice :)
14:20 PerlJam We don't have a POSIX module in the ecosystem yet?
14:22 Woodi we are so happy with nativecalls that POSIX is just a small matter of implementing it :)
14:22 colomon PerlJam: hope
14:22 colomon agh, nope
14:23 PerlJam Woodi: I guess that's why I thought that it was already there, but you guys kept talking about it in the future tense, so I looked.
14:23 liztormato How about moving IO::Spec::Cygwin and QNX to the ecosystem?
14:23 Woodi PerlJam: I barely remember there was 'POSIX' thing in http://modules.perl6.org/  but now none
14:24 Woodi and by POSIX we mean Linux ? :)
14:24 liztormato Shouldn't POSIX die?
14:24 Woodi it's like democracy !
14:25 PerlJam liztormato: yeah ... just like COBOL.
14:26 Woodi I prefer HTTP die first ;)
14:27 ghostlines joined #perl6
14:29 kaare_ joined #perl6
14:29 treehug88 joined #perl6
14:36 ugator joined #perl6
14:42 timotimo fun exercise of the day/week/month:
14:42 timotimo build a LOLCODE slang in perl6
14:42 tadzik heh, did you see the nqp-to-lolcode-to-nqp talk?
14:42 timotimo then create a NQLC language that has enough features to re-implement the LOLCODE slang in NQLC
14:42 timotimo pmichaud's talk years ago?
14:42 tadzik yeah
14:42 timotimo yes, i did see that :)
14:54 gtodd can anyone tell me the difference between the perl6/mu/docs and the perl6/doc repos ?  both are alive and have different historical and future relevance :-)
14:54 anaeem1 joined #perl6
14:56 moritz uhm, how alive is the mu/docs thing?
14:56 gtodd perl6/mu/docs has stuff that appears on feather and thus perlcabal.org
14:56 kaleem joined #perl6
14:56 liztormato Cycling again &
14:56 liztormato left #perl6
14:56 gtodd moritz: I think you made a commit there 12 days ago ;-)
14:56 moritz gtodd: ah, the cheat sheet might be maintained
14:57 moritz gtodd: my lst commit there was in March
14:57 gtodd hmm
14:57 moritz gtodd: in mu/docs, not mu
14:57 moritz ok, let's put it that way: most of mu/docs is outdated cruft
14:57 gtodd right
14:57 moritz there might be some cherries in there to pick
14:57 gtodd mu/docs
14:58 gtodd ok
14:58 ghostlines joined #perl6
14:58 moritz cheat sheet, and Perl6::Perl5::Differences
14:58 moritz also, docs/feather/syn_index.html
14:58 moritz docs/feather seems to be relatively OK-ish
15:00 gtodd moritz: those were exactly the files I was looking at ... would it help if (à la Picasso) I asked a more detailed question on one of the mailing lists and people discussed and came to some errm "conclusion" about the state of the documentation repos ... the way forward etc :-)  This is sort of apropos of Tim Bunce's comments about "on ramps"
15:01 mauke_ joined #perl6
15:02 moritz gtodd: nope. Avoid the mailing lists :-)
15:02 moritz gtodd: rather, delete old stuff from mu/docs
15:02 gtodd by "à la Picasso" I mean all I get from github are answers .... when maybe a questions would be better :-)
15:02 moritz gtodd: or, if you're not brave enough for that, add a DEPRECATED section under mu/docs
15:03 gtodd moritz: well maybe I will fork and make pull requests :-D
15:03 moritz gtodd: don't you have direct commit access?
15:03 gtodd yeah but I'm not brave :-D  .... OTOH I could become notorious/famous for breaking something
15:04 TuxCM joined #perl6
15:04 anaeem1_ joined #perl6
15:04 moritz gtodd: just do it one dir at a time, then it's easy-ish to revert
15:04 moritz s/easy-ish/trivial/
15:04 gtodd haha
15:05 gtodd so right now perlcabal.org/syn is very important :-)
15:05 moritz yes
15:06 gtodd as a sink and a source of documentation that flows .... somewhere "official" at some point
15:07 dalek mu: e89e3fd | moritz++ | docs/exceptions.pod:
15:07 dalek mu: remove outdated doc
15:07 dalek mu:
15:07 dalek mu: it became an advent post later
15:07 dalek mu: review: https://github.com/perl6/mu/commit/e89e3fd43c
15:07 moritz gtodd: oh, I had an outdated copy of mu lying around
15:07 moritz gtodd: ok, first file deleted; maybe that makes it easier for you to get started :-)
15:07 gtodd hahah ... yes I was just copying you
15:08 mauke joined #perl6
15:09 moritz gtodd: the 'tutorial' folder seems to be imported from the "Perl 6 and Parrot Essentials" book
15:09 moritz dunno if we maybe want that in some other, historical repo
15:09 gtodd whenever I ask about whether something is documented (that I have found in the syn indexes) what I usually mean is ... "has this or will this or how does one get this" onto doc.perl.org  ... (where things will go when there is a first release one day) or into a directory tree where p6doc will find it ... etc.
15:09 chenryn joined #perl6
15:10 anaeem1 joined #perl6
15:10 gtodd moritz: and as more people start to come sniffing around .... they're going to look for docs ... we need to give them fewer places to loook :-)
15:11 gtodd moritz: ok ... some kind of explicitly historical repo name would be good
15:12 dalek mu: f7f233e | moritz++ | docs/ (228 files):
15:12 dalek mu: Kill outdated docs
15:12 dalek mu:
15:12 dalek mu: they are only likely to confuse people.
15:12 dalek mu: If somebody wants to keep them, please import them into another
15:12 dalek mu: repository that is explicitly marked as archive for ancient things
15:12 dalek mu: review: https://github.com/perl6/mu/commit/f7f233e497
15:12 gtodd moritz: the perl6/doc   repo  === docs.perl6.org  correct
15:12 moritz gtodd: yes
15:13 dalek mu: 2e41d8d | moritz++ | docs/zh- (7 files):
15:13 dalek mu: [docs] remove outdated translations of the synopsis
15:13 dalek mu: review: https://github.com/perl6/mu/commit/2e41d8d3e7
15:14 dalek mu: 5b8d992 | moritz++ | docs/quickref/ (3 files):
15:14 dalek mu: remove more old stuff
15:14 dalek mu: review: https://github.com/perl6/mu/commit/5b8d992873
15:14 dalek mu: f56c5b5 | moritz++ | docs/IRCchannelLexicon.pod:
15:14 dalek mu: remove outdated glossary
15:14 dalek mu:
15:14 dalek mu: we have S99 now
15:14 dalek mu: review: https://github.com/perl6/mu/commit/f56c5b558a
15:15 mrbig4545 joined #perl6
15:16 gtodd moritz: there are also bts of documentation like Differences.pod (which will/could be part of the official pods and could get htmlized if it lived at doc.perl6.org) and stuff like cheatsheet.html which seems more adhoc and lives somewhere else ...
15:17 moritz gtodd: yes, moving the Differences.pod to perl6/doc would be beneficial
15:18 gtodd moritz: so ....  "remove outdated glossary" because we have S99 now ... and s99 will one day become perlglossary.pod ?
15:18 TuxCM joined #perl6
15:18 PerlJam maybe
15:18 moritz gtodd: I don't know
15:18 PerlJam S99 is more a glossary of #perl6 than Perl
15:18 PerlJam (IMHO)
15:18 moritz gtodd: I just don't see the point in keeping outdated things around when we have a more up-to-date doc somewhere else
15:19 gtodd moritz: and cheatsheet.html could become perl6cheat
15:19 moritz gtodd: it could, if somebody made it that way
15:19 gtodd Oh yeah I mean perl6glossary
15:19 Woodi hmm, so Java have (old) java.io.File and newer java.nio.file... second have Path classes... but directory is a file too ? :)
15:20 dalek mu: b4fa4a3 | moritz++ | docs/u4x/ (16 files):
15:20 dalek mu: [docs] remove u4x
15:20 dalek mu:
15:20 dalek mu: doc.perl6.org is the spiritual successor, and u4x looks outdated
15:20 dalek mu: review: https://github.com/perl6/mu/commit/b4fa4a3fc0
15:20 guru joined #perl6
15:20 moritz masak: I've removed u4x from perl6/docs. Ping me if that makes you unhappy
15:20 gtodd PerlJam: just MHO but think we should mirror a lot of the perl<whatever>.pod documentation from perl5 ... Audrey's TODOs suggested as much
15:20 masak moritz: rather the opposite. moritz++
15:20 mauke_ joined #perl6
15:22 moritz gtodd: then do it
15:22 PerlJam gtodd: but better organized where possible  :)
15:23 moritz gtodd: we don't have lack of good ideas for documentation; we have lack of people actually writing docs
15:23 PerlJam moritz++ indeed
15:23 mauke joined #perl6
15:25 dalek mu: cbbeb9d | moritz++ | docs/ (33 files):
15:25 dalek mu: delete more outdated docs
15:25 dalek mu: review: https://github.com/perl6/mu/commit/cbbeb9d950
15:26 moritz gtodd: and yes, when I don't know what to write next, I somtimes look at perltoc and see what's missing and what I find important
15:26 moritz gtodd: I just don't always use the p5 names
15:27 Ven .tell masak a tower build out of macros https://github.com/ckknight/gorillascript/blob/master/src/jsprelude.gs
15:27 yoleaux Ven: I'll pass your message to masak.
15:27 gtodd PerlJam: moritz: true ... but there are some good docs out there ... we don't want them to be lost in a sea of outdated stuff ... so first things first ;-)
15:27 gtodd i.e. kill the cruft
15:27 moritz or do you think we should have perl6boot, perl6ootut and whatever all the concurring object tutorials are called? :-)
15:28 gtodd moritz++ :-D
15:28 gtodd moritz: those would be symlinks ;-D
15:29 Ven moritz++ very interesting reads, actually. p6.2005 vs p6.2014
15:29 gtodd moritz: thinking more of the structure of things like the faqs and overall "organization" ... and using the perl5 docs as a crutch to know "what to write next"
15:30 gtodd moritz: anyway thanks for your thoughts and actions over the last 10 minutes  :)
15:31 treehug8_ joined #perl6
15:32 treehug8_ joined #perl6
15:33 anaeem1_ joined #perl6
15:33 treehug8_ joined #perl6
15:34 treehug88 joined #perl6
15:34 moritz also, faq.perl6.org could be swallowed up by doc.perl6.org
15:35 treehug88 joined #perl6
15:36 treehug88 joined #perl6
15:37 treehug88 joined #perl6
15:37 treehug88 joined #perl6
15:38 gtodd yes
15:38 treehug88 joined #perl6
15:39 treehug88 joined #perl6
15:39 eMBee joined #perl6
15:40 treehug88 joined #perl6
15:41 * eMBee just came across this statement in some discussion: Perl6 has replaced A?B:C with A??B!!C for reasons that are not clear. can anyone here say anything about that?
15:41 TimToady yes :)
15:41 treehug88 joined #perl6
15:42 TimToady C wasted two perfectly good characters on a single operator that can be better put to use composing other characters
15:42 TimToady er, operators
15:42 TimToady (or as themselves, like we use : for invocant separator)
15:42 TimToady that reduces the ambiguity
15:43 TimToady in addition, ? and : are almost invisible as control flow, ?? and !! stand out much more visually
15:43 TimToady third, all the other "thunky" operatory like && and || and doubled, so this one is too
15:43 PerlJam eMBee: plus !! is more evocative of "notness" for the false side of the ternary
15:43 TimToady fourth, :: is used elsewhere, so we switched to !!
15:44 TimToady fifth, what PerlJam said
15:44 gtodd plus !! suggests to me something was not happening
15:44 gtodd oh yeah
15:44 TimToady we use ? and ! lots of places in Perl 6 for true/false, so this fits right in
15:44 gtodd PerlJam++
15:44 TimToady but mostly, C chose a bad huffman coding
15:45 PerlJam eMBee: got a link to the discussion?
15:45 eMBee let me check for some online archives of that list.
15:45 TimToady so the only reason the reason is not clear is that there are too many to choose from :)
15:46 eMBee it is a discussion on the ?: operator in pike compared to other languages...
15:46 gtodd it doesn't take long for A?B:C   to start not looking right  :-)
15:46 PerlJam eMBee: you could add the link to http://irclog.perlgeek.de/perl6/2014-10-28#i_9577219 to that discussion  :)
15:46 geekosaur there are certainly people who think that since a lot of languages adopted C's ?: it must somehow be the ideal syntax
15:46 japhb chenryn: In case you didn't see my response to your perl6-bench issue, it looks from what you pasted that nqp-moar optimized most of the benchmark away, which if true will require some fiddling to make less trivially optimizable.
15:47 geekosaur certainly we used to dissuade people from using ?: in C because it was so unreadable, largely for the reasons already mentioned
15:47 treehug88 joined #perl6
15:47 TimToady Perl 1 had to adopt a lot of Cisms just to be accepted; Perl 6 has the luxury of breaking free of many of those decisions
15:47 chenryn japhb: yes, I had see your comment already. thanks~
15:48 PerlJam TimToady++  (I'm glad about the regex "breakage" mostly, but moving away from Cisms is good too  :)
15:48 TimToady std: $_ ? 42 : 43;  # also, it's not really a problem if you use it by accident
15:48 camelia std 14ad63b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unsupported use of ?: for the conditional operator; in Perl 6 please use ??!! at /tmp/we07DtER9g line 1:â�¤------> [32m$_ ?[33mâ��[31m 42 : 43;  # also, it's not really a pro[0mâ�¤Parse failedâ�¤FAILED 00:00 137mâ�¤Â»
15:49 Woodi I have:  rule TOP { 'class buu {' <inside> '};' };   how to print or assign just text that match <inside> ?  my $i = $r{"inside"} gives text + many more...
15:49 TimToady m: $_ ? 42 : 43;  # also, it's not really a problem if you use it by accident
15:49 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/le6w812yk9â�¤Unsupported use of ? and : for the ternary conditional operator; in Perl 6 please use ?? and !!â�¤at /tmp/le6w812yk9:1â�¤------> [32m$_ ?[33mâ��[31m 42 : 43;  # also, it's not really…»
15:49 japhb chenryn: patches/pull requests welcome.  :-)  Personally, I'm thinking to have the benchmark end by saying the length of the list, which has the added benefit of allowing us to set an expected output subroutine to check it, which perl6-bench will do now.
15:50 PerlJam Woodi: ~$<inside> is the text
15:50 TimToady Woodi: use prefix ~ or .Str to get the string from the match objct
15:50 Woodi oki, thanx
15:50 anaeem1_ joined #perl6
15:50 gtodd moritz: there seemed to be a few different faqs at one point ... in any case if the faqs lived under doc.perl6.org/faq it would help with organizing it into sections that mimic perlfaq and perlfaq[1-9] :-)   faq.perl.org could just forward there
15:51 japhb TimToady: Hmmm, I think this is one of the rare cases that Rakudo has a more readable version of a syntax error than STD.  (I was just going to complain that ?: and ??!! were confusing when you showed the m: version)
15:51 Woodi say ~$i  even works :)
15:51 TimToady japhb: yes, that's because I just enhanced that message :)
15:51 japhb :-)
15:51 TimToady and didn't backport to STD
15:52 eMBee geekosaur: well, in case of pike, the syntax is a direct copy of C (it used to be called LPC, meaning LP's version of C) so staying close to C syntax is kind of a must
15:52 PerlJam Woodi: also, you could have written that rule as:  rule TOP { 'class buu {' ~ '};' <inside> }  # to make it more clear that it's a bracketing construct (and provide better failure messages :)
15:52 japhb Naughty language designer ...
15:52 TimToady laziness is (sometimes) a virtue...
15:53 leont TimToady: B was reasonably huffman-encoded for what it did, and C added some stuff on top of that. The real problem is that everyone copied C even in languages that are far away from assembly
15:53 yoleaux 24 Oct 2014 22:58Z <FROGGS> leont: Would it be of any interest for you TAP::Harness that you can now read from a pipe and also get the exit code?
15:53 leont FROGGS: yes, that sounds useful
15:53 TimToady PerlJam: that will work only if 'inside' is written to stop on }
15:54 ajr joined #perl6
15:54 PerlJam oh, true.
15:54 TimToady leont: yes, C had fewer symbols to encode huffmanly, to be sure
15:54 PerlJam I perhaps have excess affection for that construct :)
15:54 Woodi PerlJam: that's works too :)
15:55 TimToady Woodi: also, you could put the class and the buu outside the quotes if you want to allow arbitrary space (automatically parsed by the rule)
15:55 eMBee personally i was never sold on ?: myself, i always have to think twice to put the condition before the ? and the false part after, because :always feels more like a then than an else
15:55 leont Also, || and && make sense if you need to be B compatible. | and & really didn't make much sense otherwise even in C
15:56 eMBee i mean putting the false part after : is confusing
15:56 eMBee so a good move then for perl6
15:56 TimToady we aim to please :)
15:57 TimToady though we're mostly ignoring first impressions in favor of last impressions :)
15:57 Woodi rule TOP { class buu '{' ~ '};' <inside> };    works :)
15:58 eMBee TimToady, PerlJam and gtodd: do you mind if i quote you (from 15:42 to about 15:44)?
15:59 TimToady you probably don't need the second semicolon, if the } is the last thing on the line
15:59 TimToady eMBee: it's publicly logged, we can't stop you :)
15:59 gtodd !!!
15:59 gtodd :)
15:59 Woodi TimToady: it's language named 'sqf' and I trying to parse configuration file written in that
16:00 Woodi me discovered subparse yesterday :)
16:00 Woodi grr
16:00 TimToady I meant the ; in P6 code, though the first ; might be separable with whitespace too
16:00 eMBee TimToady: well, you could politely ask me not to, and only use the link instead, just as i politely asked if i may :-)
16:01 mauke_ joined #perl6
16:01 TimToady we don't mind you asking really, but we just like to have too much fun here... :)
16:01 Woodi btw. was Lisp invented to be assembler language ?
16:01 PerlJam eMBee: make it so!  :)
16:02 TimToady afk for a while, gotta take the maternal uncle of Perl to the eye doc...
16:03 mauke joined #perl6
16:03 mauke joined #perl6
16:04 Ven Woodi: not sure what do you mean?
16:05 eMBee well, i guess lisp could be considered the assembler of lisp-machines, but those machines were created after lisp was invented, so i'd say, no
16:06 dalek mu: 295cf9f | (Graham Todd)++ | docs/Perl6/Perl5/Differences.pod:
16:06 dalek mu: make an enoding/conversion error  go away
16:06 dalek mu:
16:06 dalek mu: http://perlcabal.org/syn/Differences.html
16:06 dalek mu: Around line 398: Non-ASCII character seen before =encoding in 'Perl 6.'. Assuming UTF-8
16:06 dalek mu: review: https://github.com/perl6/mu/commit/295cf9fe61
16:06 PerlJam Ven: I think he's referring to the regular syntax making for code generation and transformation relatively easy?  But I dunno.
16:08 * eMBee is still finding the link to the discussion he mentioned. he found the site, but it is painfully slow. maybe something to do with the china firewall
16:08 mauke_ joined #perl6
16:08 mauke_ joined #perl6
16:11 eMBee PerlJam: in case it's faster for you, it's on gmane.org, the group is gmane.comp.lang.pike.user, subject is "Pike 8.0 RC1" it's one of the most recent messages...
16:14 mauke joined #perl6
16:16 PerlJam eMBee: I'm embroiled in $work right now, so likely not.
16:19 guru joined #perl6
16:20 vukcrni joined #perl6
16:23 mauke joined #perl6
16:25 sqirrel_ joined #perl6
16:27 mauke_ joined #perl6
16:32 rindolf joined #perl6
16:35 * eMBee found another archive at nabble: http://pike.1058338.n5.nabble.com/Pike-8-0-RC1-tt5711834.html#a5711868
16:38 eMBee PerlJam: ^^^
16:40 eMBee thanks everyone and good night...
16:40 FROGGS gnight eMBee
16:42 mauke_ joined #perl6
16:45 mauke joined #perl6
16:49 mauke_ joined #perl6
16:52 ajr joined #perl6
16:54 lizmat .oO( this must be one of those weeks: now our mail server died with what looks like a broken power supply)
16:54 ajr_ joined #perl6
16:55 mauke joined #perl6
16:55 kjs_ joined #perl6
16:56 abraxxa ;(
16:56 japhb Uuugh, sucky lizmat.  Good luck with the fix.  :-/
16:57 lizmat of course, we find out about 10 minutes before the nearest computer parts shop closed
16:57 lizmat too late to get another one today
16:57 japhb :-(
16:58 japhb (Until recently my response to that situation would be to go through my computer graveyard picking parts.)
17:03 lizmat yeah, considered that as well...  but this power supply seems more special then generic  :-(
17:04 FROGGS joined #perl6
17:05 mauke joined #perl6
17:10 rindolf joined #perl6
17:13 gfldex joined #perl6
17:13 mauke_ joined #perl6
17:13 kaleem joined #perl6
17:16 mauke joined #perl6
17:19 mauke_ joined #perl6
17:20 kaleem_ joined #perl6
17:20 guru joined #perl6
17:22 mauke joined #perl6
17:29 fhelmberger joined #perl6
17:31 ab5tract joined #perl6
17:32 ab5tract heya #perl6!
17:33 ab5tract looking forward to checking out all the APW talks
17:35 masak hi, ab5tract!
17:35 yoleaux 15:27Z <Ven> masak: a tower build out of macros https://github.com/ckknight/gorillascript/blob/master/src/jsprelude.gs
17:36 * masak senses a need to backlog :)
17:37 ab5tract is this behavior expected? i ran into some weirdness while doing some golfing https://gist.github.com/ab5tract/5b65a86e7a1926079187
17:37 slavik joined #perl6
17:38 masak ab5tract: .<$_> doesn't mean .{$_}
17:39 masak m: my %h = foo => "you think it means this", '$_' => "but it actually means this"; say %h<$_>
17:39 camelia rakudo-moar 315ec6: OUTPUT«but it actually means this␤»
17:39 masak er.
17:39 masak m: my %h = foo => "you think it means this", '$_' => "but it actually means this"; $_ = "foo"; say %h<$_>
17:39 camelia rakudo-moar 315ec6: OUTPUT«but it actually means this␤»
17:39 ab5tract oh snap
17:39 ab5tract good catch there masak
17:39 ab5tract :)
17:40 ab5tract those are the kinda gotchas that make me <3 perl
17:40 masak m: my %h = foo => "what you actually want is this"; $_ = "foo"; say %h«$_»
17:40 camelia rakudo-moar 315ec6: OUTPUT«what you actually want is this␤»
17:40 masak ab5tract: «» is to <> as "" is to ''
17:42 dalek specs: 9b61e9b | (Elizabeth Mattijsen)++ | S16-io.pod:
17:42 dalek specs: s/Str/IO::Path/ as spotted by pmichaud++
17:42 dalek specs: review: https://github.com/perl6/specs/commit/9b61e9b0b6
17:42 lizmat away for the night&
17:43 masak lizmat: have a nice evening!
17:46 colomon o/
17:48 mauke joined #perl6
17:49 FROGGS_ joined #perl6
17:50 Sqirrel_ joined #perl6
17:53 ab5tract masak: is there a more idiomatic version of lookup inlining that ((1..10) Z 1 xx 10).hash ?
17:53 ab5tract not that i'm complaining about the current level of concision :)
17:54 mauke joined #perl6
17:55 moritz ab5tract: 1..10 X 1
17:56 moritz m: say %(1..10 X 1).perl
17:56 camelia rakudo-moar 315ec6: OUTPUT«("10" => 1, "1" => 1, "2" => 1, "5" => 1, "9" => 1, "3" => 1, "8" => 1, "7" => 1, "6" => 1, "4" => 1).hash␤»
17:56 ab5tract moritz: thanks
17:57 ab5tract i also just managed to golf it this way too
17:57 ab5tract m: my @a = 1..5; (@a Z @a.map({ so $_ })).hash
17:57 camelia rakudo-moar 315ec6: ( no output )
17:57 ab5tract m: my @a = 1..5; (@a Z @a.map({ so $_ })).hash.say
17:57 camelia rakudo-moar 315ec6: OUTPUT«"1" => Bool::True, "2" => Bool::True, "3" => Bool::True, "4" => Bool::True, "5" => Bool::True␤»
17:57 mauke_ joined #perl6
17:57 moritz m: my @a = 1..5; say %( @a Z @a>>.so )
17:57 camelia rakudo-moar 315ec6: OUTPUT«"1" => Bool::True, "2" => Bool::True, "3" => Bool::True, "4" => Bool::True, "5" => Bool::True␤»
17:57 ab5tract but that's a different, of course. as Bool::True is not the same as 1. but useful for my purposes
17:58 ab5tract omg
17:58 ab5tract 6.0.0 cannot arrive fast enough
17:58 ab5tract :)
18:01 pmichaud maybe we should schedule an online meeting to have the 6.0.0 discussion that we didn't end up doing at APW
18:01 ghostlines joined #perl6
18:02 ghostlines joined #perl6
18:04 mauke joined #perl6
18:04 vendethiel that reminds me - at apw we talked about a|.b for "flattening", but that just reminds me of set theory
18:04 vendethiel (restriction)
18:04 pmichaud I have a feeling we won't need a shortcut for flattening.
18:05 vendethiel (same here)
18:05 masak +1
18:05 pmichaud I have one proposal that is 6.0.0 related:   PLEASE let's change the name of the perl6/specs repo to be perl6/design or something else.
18:05 ab5tract pmichaud: agreed
18:06 ab5tract tbh, the flattening rules feel a bit p5-y
18:07 ab5tract there's a slight arbitrary feeling to them from an observer standpoint
18:07 ab5tract based on a runtime/architectural necessity
18:08 pmichaud oh, false
18:08 ab5tract (didn't mean syntax-wise similarity, but the feeling of the cornercase)
18:08 pmichaud the "arbitrariness" of flattening has more to do with expressing DWIM semantics
18:08 ab5tract i would class that as architectural, when speaking about perl 6
18:08 ab5tract but i take your point
18:09 ab5tract the difference metween sub map and method map is what stuck out to me
18:10 pmichaud map { .say }, 1, 2, 3..5, 6;    # what do you expect this to output?
18:11 ab5tract the flattened list
18:11 ab5tract with expansion of 3..5
18:12 pmichaud exactly.  thus we kind of expect flattening there.
18:12 ab5tract i can see what you are getting at
18:12 ab5tract i think in the end it actually is quite nice to have the two functionalities
18:12 ab5tract (didn't take much convincing, eh? ;)
18:12 ab5tract s/functionalities/behaviors/
18:13 Alina-malina joined #perl6
18:14 ab5tract it's exactly like a usual perl cornercase: can seem arbitrary from the outside perspective, but there is always a good reason from the design
18:15 pmichaud well, it's more along the lines of "slurpy argument lists flatten".  A List invocant isn't really the same as an argument list
18:17 vendethiel uh, are we doing the sub vs method flattening?
18:17 vendethiel I thought we weren't
18:18 pmichaud Don't think of it as "sub vs. method" flattening, that's not the right picture.
18:18 ab5tract that's probably what reminded me of p5 cornercases: it's all about context
18:18 pmichaud Argument lists flaten.
18:18 pmichaud *flatten
18:18 vendethiel mmh...
18:19 vendethiel I'm not sure I like it, but I'm not sure I have a better solution...
18:21 kjs_ joined #perl6
18:22 guru joined #perl6
18:22 pmichaud in particular, something like    slurp("foo.txt", :bin)     isn't at all the same as  ("foo.txt", :bin).slurp
18:23 mauke joined #perl6
18:27 mauke_ joined #perl6
18:30 nebuchadnezzar joined #perl6
18:34 mauke_ joined #perl6
18:34 pmichaud another name idea for the synopsis repo:     perl6/synop
18:35 pmichaud or even just   perl6/syn
18:36 ab5tract pmichaud: perl6/synop has a nice ring, to my hears
18:36 ab5tract m: sub lookup( @valid, @test ) { @test.grep({ (@valid Z @valid>>.so).hash<<$_>> }) == @test.elems }; lookup( <this is awesomely sweet>, <this is sweet> ).say
18:36 camelia rakudo-moar 315ec6: OUTPUT«True␤»
18:36 dalek nqp/closefhi: 7a5e8a6 | (Tobias Leich)++ | src/vm/parrot/QAST/Operations.nqp:
18:36 dalek nqp/closefhi: implement nqp::closefhi on parrot
18:36 dalek nqp/closefhi: review: https://github.com/perl6/nqp/commit/7a5e8a6cf2
18:37 mauke joined #perl6
18:37 FROGGS_ +1 to syn
18:37 masak vendethiel: I got to `for`, and then I was just too disgusted: https://github.com/ckknight/gorillascript/blob/master/src/jsprelude.gs#L1341
18:38 PerlJam FROGGS_: What's "closefhi"?
18:38 ab5tract pmichaud: can you elaborate a bit on the difference for me? it's not clear to me
18:38 PerlJam i == ignore errors or something?
18:38 ab5tract oh jeez
18:38 FROGGS_ PerlJam: closing a filehandle which is the other end of a pipe, and return its exit status
18:38 ab5tract nevermind
18:38 ab5tract i see it already
18:39 PerlJam FROGGS_: is the "i" mnemonic for something in particular?
18:39 FROGGS_ int
18:39 arnsholt nqp::closefh_i probably
18:39 PerlJam Hmm.
18:40 pmichaud yes, please keep consistency with underscores.
18:40 mauke_ joined #perl6
18:40 arnsholt (Type-specialised NQP ops being specified with _i and the like)
18:40 pmichaud I don't want a parrot repeat there.
18:40 FROGGS_ k
18:40 FROGGS_ will adjust it
18:41 FROGGS_ thanks for the pointer :o)
18:43 dalek nqp/closefhi: 14d3c24 | (Tobias Leich)++ | src/vm/ (2 files):
18:43 dalek nqp/closefhi: rename to nqp::closefh_i (because it returns an int)
18:43 dalek nqp/closefhi: review: https://github.com/perl6/nqp/commit/14d3c2493a
18:43 dalek Heuristic branch merge: pushed 16 commits to rakudo/closefhi by FROGGS
18:43 mauke joined #perl6
18:44 pmichaud I even wonder if it should just be closefh.
18:44 pmichaud do we expect there to be another variant?
18:44 vendethiel masak: hahahaha I feel you.
18:44 vendethiel masak: "never look under the machine" :P
18:44 pmichaud ah, there is a varient.
18:44 pmichaud *variant
18:45 pmichaud then yes, _i is correct here.
18:45 masak vendethiel: I think STD.pm6 has made me spoiled. it's just not supposed to look like that.
18:45 vendethiel masak: yeah. Well, I've got some past with ruby/coffee/ls, but I seriously prefer perl6's internals ;)
18:45 masak vendethiel: I'm looking at that code, and the code shouts *WRONG* back at me. when it should sing *FOR LOOP*.
18:46 vendethiel masak: the code shouts "100000 lines function" :P
18:46 masak vendethiel: aka "congratulations, you've got macros. it apparently didn't do you much good"
18:46 arnsholt Yeah, building everything out of macros isn't necessarily a good idea
18:46 arnsholt (Cf. TeX)
18:46 vendethiel oh, I think it did. It just didn't help him clean his code.
18:46 mauke_ joined #perl6
18:47 vendethiel But I still think it's very interesting.
18:47 PerlJam arnsholt: That's just the first stage of playing with a new toy.  You try to use the toy for *Everything*.   Eventually you learn.
18:47 vendethiel building a tower of macros *can* be interesting, if you manage to make it not suck
18:47 masak vendethiel: oh, I agree. it has the potential for interesting.
18:47 masak vendethiel: I've been toying around with the idea of building a minimal language with macros, and seeing how far I get. for science.
18:47 pmichaud .oO( lisp )
18:48 vendethiel pmichaud: so the question is... Was lisp building everything on top of macros a bad idea ;-)?
18:48 FROGGS_ pmichaud: I can't change closefh easily, because nqp's stage0 knows it does not return anything
18:48 masak tadzik: why does panda say "==> Please make sure that /home/masak/ours/rakudo/install/languages/perl6/site/bin is in your PATH" when it already is in my PATH? :P
18:48 pmichaud FROGGS_: it's okay.  The _i doesn't indicate "return type", it indicates "integer variant"
18:48 vendethiel masak: you need to make sure, he's not blaming you. (yet!à
18:49 pmichaud just like   "add_i"  is the op to add two native ints
18:49 FROGGS_ yes
18:50 masak pmichaud: correction: I want to write a minimal ALGOLoid with macros.
18:51 masak pmichaud: partly to hone my experience with Qtree analysis and transformations in a controlled environment.
18:51 vendethiel masak: remember: macroexpand (and macroexpand-1) are functions ;-)
18:52 masak vendethiel: I feel I don't have the background to appreciate what that means.
18:52 * pmichaud fears that masak++'s sekrit plan is to replace all of us with very small macros.
18:53 masak vendethiel: but if they're parts of the parser, I'm not too surprised at that.
18:53 masak pmichaud: instant t-shirt!
18:53 vendethiel pmichaud: you'd be bind-multiple-arguments :P
18:53 vendethiel masak: there's no background to that! It's just that, when people think macros can only be dealt with by macros, it's very wrong. You need to be able to throw functions in there!
18:53 vendethiel early lisps actually stored their functions as s-expressions, but it proved too slow
18:53 pmichaud vendethiel: I think that's a compliment, but I'm not certain.  :)
18:54 vendethiel pmichaud: being good at arguments is good!
18:54 * masak .oO( and in the darkness bind-multiple-arguments )
18:54 vendethiel masak++ # oh yes
18:55 pmichaud vendethiel: I'm apparently good at arguments and at invoking things.
18:55 vendethiel nice!
18:57 pmichaud right now I should be lunching things, so.... afk # lunch
19:03 vendethiel masak: (we probably won't get that as we have phases)
19:04 arnsholt PerlJam: Well, TeX doesn't have anything else, so it pretty much has to be all macros =)
19:04 arnsholt (Modulo a couple of primitives like \if)
19:04 vendethiel masak: (in CL if I do (defun foo) then just after (defmacro bar), bar will have access to foo)
19:05 anaeem1 joined #perl6
19:07 masak tadzik: another strangeness in panda: when I run it without CLI arguments, but without an internet connection, it dies with "Could not download module metadata: Failed to resolve host name", rather than show usage.
19:10 FROGGS_ masak: because the 'use'd Ecosystem.pm fetches it
19:10 FROGGS_ and 'use' happens before 'USAGE'
19:12 masak FROGGS_: well. I haven't looked at the source code. but as a user of this black box, I posit that that's unexpected/wrong behavior.
19:12 masak FROGGS_: I'm in no need of the ecosystem yet. I just want a usage message.
19:12 masak the error message I'm getting is about a detail I didn't request.
19:12 FROGGS_ masak: you are correct in all points :o)
19:14 jac50 joined #perl6
19:14 * masak is a discriminating user :)
19:17 denis_boyun_ joined #perl6
19:34 fhelmberger joined #perl6
19:40 ugexe rakudo: my Int @rr :shape(2,4) = ([0..3],[]);
19:40 yoleaux 25 Oct 2014 19:56Z <FROGGS> ugexe: You are working on something related to module installation tests? please ping me
19:40 camelia rakudo-parrot 315ec6: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Op'␤»
19:40 camelia ..rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤»
19:41 ugexe curious, anyone know when :shape was changed? that bit used to work a year ago or so.
19:41 vendethiel ugexe: shaped arrays NYI :)
19:41 vendethiel (though I don't remember that syntax)
19:41 moritz ugexe: I guess at some point we simply ignored the colonpair
19:42 ugexe i see
19:43 PerlJam ugexe: what moritz said.
19:46 virtualsue joined #perl6
19:48 moritz m: $c = 0; for [,] <a b c> { $c++ }; say $c
19:48 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/KDc1OAZO3Pâ�¤Variable '$c' is not declaredâ�¤at /tmp/KDc1OAZO3P:1â�¤------> [32m$c[33mâ��[31m = 0; for [,] <a b c> { $c++ }; say $c[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
19:48 moritz m: my $c = 0; for [,] <a b c> { $c++ }; say $c
19:48 camelia rakudo-moar 315ec6: OUTPUT«3␤»
19:54 moritz m: my $x = 1/ 0
19:54 camelia rakudo-moar 315ec6: ( no output )
19:54 moritz m: my $x = 1/ 0; $x.gist
19:54 camelia rakudo-moar 315ec6: OUTPUT«Type check failed for return value; expected 'Int' but got 'Failure'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:649␤  in method floor at src/gen/m-CORE.setting:11160␤  in method Str at src/gen/m-CORE.setting:11181␤  in method gist at src/ge…»
19:55 moritz that looks like a bug to me
19:55 grondilu joined #perl6
19:56 * grondilu noticed a clear speed increase with his usual 'say [+] rand xx 100_000;' mini-test.  Good job guys.
19:57 grondilu (about 25% faster)
19:57 masak moritz: agreed.
19:57 masak moritz: do you want to rakudobug it, or shall I?
19:57 moritz masak: please do
19:58 * masak does, pleased
20:01 rindolf joined #perl6
20:02 jac50 joined #perl6
20:07 masak moritz: ooc and for the record, did you expect `my $x = 1/ 0` to fail? if so, how? or, if you expected it to succeed, what value did you expect in $x ?
20:09 Isp-sec joined #perl6
20:11 FROGGS how do I get a domain like cpandatesters.perl6.org set up?
20:12 moritz masak: I didn't know if it would fail or die
20:13 moritz masak: but I expected that if it was a Failure, .gist would throw a "division by zero" exception
20:13 arnsholt I guess I'd expect $x to either be a Failure or a NaN
20:13 moritz arnsholt: since there are no Nums involved, I'd find a NaN rather weird
20:14 masak Java has integer 1/0 as a (runtime) error, but float/double 1.0/0.0 as a NaN.
20:14 kurahaupo joined #perl6
20:14 molaf joined #perl6
20:15 kjs_ joined #perl6
20:17 davido__ joined #perl6
20:17 masak m: say Rat.new(1, 0).perl
20:17 camelia rakudo-moar 315ec6: OUTPUT«<1/0>␤»
20:18 masak S03 seems to indicate that that's the intended answer.
20:18 masak at least reading it by the letter, and seeing no exception in place for integral division by 0.
20:19 davido__ joined #perl6
20:19 masak ...except if this implicitly mean that Perl 6 is like Perl 5 in this regard, in which case it should die with "Illegal division by zero" at runtime.
20:20 moritz I'm even fine with an <1/0> literal, as long as it .gist()s sensibly
20:21 ghostlines joined #perl6
20:21 ab5tract after reading timotimo's post, i became curious about the benchmark he mentioned
20:21 ghostlines joined #perl6
20:22 * masak .oO( rakudo-moar 315ec6: OUTPUT«<1/0>, you knucklehead!␤» )
20:22 ghostlines joined #perl6
20:22 ab5tract this doesn't appear to be very idiomatic p6, unless i'm wrong? https://github.com/koorchik/formula-evaluation-benchmark/blob/master/perl6/ast.pl
20:23 ghostlines joined #perl6
20:23 * ab5tract cannot claim idiomantic perception
20:24 masak ab5tract: dunno about "idiomatic", but I see a couple things I would've done differently.
20:24 ab5tract masak: do they have performance implications?
20:24 masak probably not.
20:25 masak hard to say.
20:25 vendethiel m: say 3."+"(4); #can i do that pls
20:25 camelia rakudo-moar 315ec6: OUTPUT«No such method '+' for invocant of type 'Int'␤  in block <unit> at /tmp/oh6MbiJSuV:1␤␤»
20:25 timotimo ab5tract: agreed; the maker was looking for an as-close-as-possible translation
20:25 vendethiel :'(
20:25 masak also, it's spelled "DIVIDE", not "DEVIDE"
20:25 vendethiel ab5tract: for example, sum is just `[+] @list`
20:25 timotimo masak: yeah, SUBSTRACT and such
20:25 masak timotimo: didn't even see that one.
20:26 masak vendethiel: plus is not a method on the lhs. that is such wrong thinking :)
20:26 timotimo i'm also not sure why to use an integer as a key to a hash to point at the subs
20:26 vendethiel masak: yeaaa, it is :P
20:26 timotimo instead of something more natural like a package
20:26 vendethiel I should know better but I still wanted to try, eh.
20:26 timotimo and storing the callable in the tree directly
20:27 ab5tract i would have hoped the 'chest of chances' that p6 provicdes would deliver some performance implications. i mean, it's an AST benchmark, and it doesn't use grammars?
20:27 timotimo (as it isn't any more memory overhead)
20:28 timotimo ab5tract: the part that this benchmark tests is after any supposed grammar has created the AST
20:28 ab5tract good point ;)
20:28 masak vendethiel: however,
20:28 masak m: Int.HOW.add_method(Int, "+", sub { $^x + $^y }); say 40."+"(2)
20:28 camelia rakudo-moar 315ec6: OUTPUT«42␤»
20:28 timotimo but still, quite some unidiomatic things in there
20:29 masak m: Int.^add_method("+", sub { $^x + $^y }); say 40."+"(2)
20:29 camelia rakudo-moar 315ec6: OUTPUT«42␤»
20:29 masak better :)
20:29 ab5tract timotimo: so how did you get on poking at it?
20:30 timotimo the biggest performance win was getting rid of the .isa('Array')
20:30 ab5tract masak: mind blown
20:30 timotimo ab5tract: and when adding native integers, it's about 30% faster again, but the code gets a bit uglier
20:30 ab5tract in favor of smart match?
20:30 timotimo correct
20:30 timotimo but .isa(Array) would have been as fast
20:30 ab5tract well, there's that!
20:31 ab5tract ah, gotcha
20:31 masak m: Int.^add_method("+", * + *); say 40."+"(2)
20:31 camelia rakudo-moar 315ec6: OUTPUT«42␤»
20:31 masak m: Int.^add_method("+", &[+]); say 40."+"(2)
20:31 camelia rakudo-moar 315ec6: OUTPUT«42␤»
20:31 masak :D
20:31 timotimo https://gist.github.com/timo/2d2cc1260428e5758086 - this also uses Num instead of Rat for calculations
20:31 timotimo making it a tiny bit faster, too
20:34 masak m: enum :: <un>; say ~un
20:34 camelia rakudo-moar 315ec6: OUTPUT«un␤»
20:34 masak m: enum :: <un>; say un
20:34 camelia rakudo-moar 315ec6: OUTPUT«un␤»
20:34 masak m: enum :: <un>; say +un
20:34 camelia rakudo-moar 315ec6: OUTPUT«0␤»
20:34 masak nul! :)
20:35 FROGGS m: anon enum <un>; say +un
20:35 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/4SVYtYZqUDâ�¤Undeclared routine:â�¤    un used at line 1. Did you mean 'uc', 'on'?â�¤â�¤Â»
20:36 FROGGS m: anon enum <un>; say un
20:36 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/4ueFzuoXo6â�¤Undeclared routine:â�¤    un used at line 1. Did you mean 'uc', 'on'?â�¤â�¤Â»
20:36 FROGGS m: anon enum <un>;
20:36 camelia rakudo-moar 315ec6: ( no output )
20:36 FROGGS weird
20:36 FROGGS panda is broken on parrot again :o(
20:37 masak FROGGS: you can't use that syntax, and for good reason.
20:37 masak FROGGS: `enum` is a declarator, and expects a declaratee as a first "argument".
20:37 FROGGS std: anon enum <un>;
20:37 camelia std 14ad63b: OUTPUT«ok 00:00 136m␤»
20:37 masak I should really find better terminaology for this stuff.
20:37 masak std: enum <un>
20:37 camelia std 14ad63b: OUTPUT«ok 00:00 136m␤»
20:37 masak I posit that STD is full of it.
20:38 masak oh wait. no.
20:38 timotimo there's an xml file that describes pretty much the complete opengl api in a mostly machine-readable format
20:38 timotimo but my lord is it gigantic
20:38 masak S12 actually mentions this kind of declarations.
20:38 timotimo 44k lines ...
20:39 FROGGS masak: to me both versions are identical in their meaning
20:39 masak m: %e = enum < ook! ook. ook? >;  # should work, according to S12
20:39 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/gtMhsJ9v3fâ�¤Variable '%e' is not declaredâ�¤at /tmp/gtMhsJ9v3f:1â�¤------> [32m%e[33mâ��[31m = enum < ook! ook. ook? >;  # should wo[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
20:39 FROGGS like  anon sub { }  vs.  sub :: { }
20:39 masak m: my %e = enum < ook! ook. ook? >;  # erm
20:39 camelia rakudo-moar 315ec6: ( no output )
20:39 masak m: my %e = enum < ook! ook. ook? >; say %e.perl
20:39 camelia rakudo-moar 315ec6: OUTPUT«("ook." => 1, "ook!" => 0, "ook?" => 2).hash␤»
20:39 masak ok, seems to work.
20:39 FROGGS m: my %e = anon enum < ook! ook. ook? >; say %e.perl
20:39 camelia rakudo-moar 315ec6: OUTPUT«("ook!" => 0, "ook?" => 2, "ook." => 1).hash␤»
20:39 FROGGS m: my %e = enum :: < ook! ook. ook? >; say %e.perl
20:39 camelia rakudo-moar 315ec6: OUTPUT«Odd number of elements found where hash initializer expected␤  in method STORE at src/gen/m-CORE.setting:10116␤  in block <unit> at /tmp/pYuofjsJWX:1␤␤»
20:39 FROGGS dang
20:40 masak there's gotta be something rakudobuggable in all of this.
20:41 bartolin *g*
20:41 FROGGS yes, `anon enum <un>;` should do what `enum :: <un>;` does (and not silently do nothing), and `my %e = enum :: < foo bar baz >` should work too
20:41 Ven joined #perl6
20:44 * masak submits rakudobug for that
20:44 virtualsue joined #perl6
20:44 FROGGS masak++
20:45 masak FROGGS++ # auxiliary brain
20:48 FROGGS ==> Successfully installed HTTP::Status
20:48 FROGGS Could not submit test report: Unmarshallable foreign language value passed for parameter '$value'
20:48 FROGGS grrr
20:48 ghostlines joined #perl6
20:49 * masak .oO( they come to our country, steal our jobs, and then speak their unmarshallable foreign language! ) :P
20:50 FROGGS yeah, bloody birds :P
20:51 masak now I won't ever get my dream job as "senior seed eater"
20:52 kurahaupo joined #perl6
20:53 kurahaupo joined #perl6
20:54 masak jepeway: I looked at https://github.com/cjepeway/p6-tz/blob/master/TimeZone.pm
20:54 rurban left #perl6
20:55 masak jepeway: it looks good so far -- but take that as a very weak affirmation of anything. the real test would be writing some tests against this, having the class pass some interesting use cases one runs into when combining wallclock rules, DST, illegal datetimes, etc.
20:58 pecastro joined #perl6
21:00 bartolin m: my ::foo $x; say $x   ## RT #75646
21:00 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=75646
21:00 camelia rakudo-moar 315ec6: OUTPUT«Cannot type check against type variable foo␤  in any type_check at src/gen/m-Metamodel.nqp:297␤  in block <unit> at /tmp/8gELDLAlX1:1␤␤»
21:00 bartolin m: my ::foo $x; class foo { }; say $x
21:00 camelia rakudo-moar 315ec6: OUTPUT«(foo)␤»
21:01 bartolin that looks right to me. from S02: "Also, in the absence of another sigil, :: can serve as its own sigil indicating intentional use of a not-yet-declared package name."
21:02 mauke_ joined #perl6
21:02 * masak checks the ticket
21:04 masak bartolin: the ticket should be closed -- there's no longer a Null PMC access.
21:05 mauke joined #perl6
21:05 bartolin masak: yes, but I wonder how to write the test. maybe 'lives_ok { my ::foo $x }' is enough.
21:08 masak think so.
21:09 bartolin OTOH the first command in the ticket is 'my ::foo $x; say $x' -- which dies (but gives no Null PMC access).
21:10 japhb timotimo: Where is that OpenGL API description XML file?
21:10 pmichaud back from lunch
21:11 mauke_ joined #perl6
21:11 dalek joined #perl6
21:11 japhb timotimo: Did you provide an idiomatic version of the benchmark, like was done for the Go version (which was a lot more readable and an order of magnitude faster at the same time)?
21:15 timotimo i did not
21:15 timotimo not yet
21:15 timotimo https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/ - the gl.xml file in here
21:15 timotimo (also worth pointing out that the readme.pdf seems quite detailed-
21:15 timotimo so read that too if you'd like to work on an opengl binding generator)
21:16 molaf joined #perl6
21:18 bartolin masak: turns out there was a second ticket from you wrt 'my ::a $a' wich is already tested in S04-declarations/my.t (RT #72814)
21:18 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=72814
21:18 moritz FROGGS: re perl6.org subdomain: there are basically two choices
21:18 * japhb already wrote an OpenGL binding generator ... except he was doing it by fake-parsing the system headers.  Word to the wise: don't do that.
21:18 * FROGGS listens
21:19 moritz FROGGS: 1) host it on feather2, and use a name-based virtual host
21:19 moritz FROGGS: 2) contact the owner of the domain and ask him to add the subdomain as a CNAME to a domain you control, or add an A record for the IP where you want to host it
21:20 mauke joined #perl6
21:20 FROGGS #1 sounds good :o)
21:20 moritz ... as long as feather still exists, yes
21:20 brrt joined #perl6
21:21 brrt \o
21:21 FROGGS yeah
21:21 FROGGS I mean, it is no big deal to move it to another machine later...
21:21 FROGGS hi brrt
21:22 timotimo japhb: heh :)
21:22 brrt hi FROGGS
21:23 dalek roast: c8e9ef2 | usev6++ | S04-declarations/my.t:
21:23 dalek roast: Unfudge passing test (rakudo.jvm) for RT #72814
21:23 dalek roast: review: https://github.com/perl6/roast/commit/c8e9ef2747
21:23 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=72814
21:35 dalek roast: 5e0641d | usev6++ | S02-names-vars/names.t:
21:35 dalek roast: Add test for RT #75646
21:35 dalek roast: review: https://github.com/perl6/roast/commit/5e0641d092
21:35 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=75646
21:36 gtodd moritz: https://github.com/perl6/specs  is perlcabal.org/syn correct (says so at the top of the github listing but ... just want to be sure) ... os should it stay "pristine" -ish ... or could the "draft" synopsis pods (22 and 27) go there underneath in a "drafts" folder?
21:37 moritz gtodd: erm, what's your question? I have parsing problems...
21:37 mauke_ joined #perl6
21:37 gtodd moritz: just realized there's a couple of broken links on perlcabal.or/syn due to the ruthless removal of old docs :-) (going to fix that it syn_index.html )
21:38 gtodd so should these be saved: https://github.com/perl6/mu/tree/0d4730b6da824c02e7253f953b37af513c2a0c6b/docs/AES  :-)
21:38 pdcawley joined #perl6
21:39 gtodd they are old and historic I guess so ... maybe not
21:39 moritz gtodd: I'd say lets remove it, and if somebody complains, they can restore
21:41 gtodd k
21:42 dalek mu: bf1c84d | (Graham Todd)++ | docs/feather/syn_index.html:
21:42 dalek mu: remove links to draft community/debugging specs
21:42 dalek mu:
21:42 dalek mu: Historically still here: https://github.com/perl6/mu/tree/0d4730b6da824c02e7253f953b37af513c2a0c6b/docs/AES
21:42 dalek mu: review: https://github.com/perl6/mu/commit/bf1c84d0fc
21:43 timotimo hmm
21:43 timotimo FROGGS: if i have a thing that's repr CStruct, when i nativecast that to OpaquePointer, does that do what i mean?
21:44 mauke joined #perl6
21:44 FROGGS timotimo: you only can cast *from* a pointer
21:44 timotimo hmm.
21:44 BenGoldberg joined #perl6
21:45 timotimo SDL2's api requires passing SDL_Rect as pointers rather often; building a CArray "just for that" seems wasteful
21:45 FROGGS but when you pass your rect object, it will be passed as a pointer, no?
21:46 dalek mu: 35920dd | moritz++ | docs/feather/ (9 files):
21:46 dalek mu: remove more outdated stuff
21:46 dalek mu: review: https://github.com/perl6/mu/commit/35920dd938
21:47 moritz honestly, who uses SVK these days? :-)
21:47 mauke_ joined #perl6
21:48 Ven moritz: "a recent version of pugs" right :P
21:49 dalek mu: 25e152f | pmichaud++ | docs/feather/syn_index.html:
21:49 dalek mu: Change <title> to "Perl 6 Design Documents"
21:49 dalek mu: review: https://github.com/perl6/mu/commit/25e152ffac
21:49 pmichaud GitHub++ for letting me edit that in my brower and not have to clone the repo.  :)
21:49 pmichaud *browser
21:49 timotimo are you sure?
21:49 Ven I should read an apocalypse or exegesis...
21:51 timotimo FROGGS: you are right! i didn't realize that
21:53 kjs_ joined #perl6
21:53 mauke joined #perl6
21:57 ab5tract m: say  bag(< n e e d e>) (<=) bag(< n e e d >)
21:57 camelia rakudo-moar 315ec6: OUTPUT«True␤»
21:58 ab5tract should these set operators be working for bags as well?
21:58 timotimo huh?
21:58 timotimo oh, right
21:58 mauke_ joined #perl6
21:58 dalek nqp: 3847738 | (Tobias Leich)++ | src/vm/jvm/ (6 files):
21:58 dalek nqp: implement nqp::closefh_i on jvm
21:58 dalek nqp: review: https://github.com/perl6/nqp/commit/384773860c
21:58 ab5tract i started digging into (^)
21:59 ab5tract bags are kinda tricky :)
21:59 timotimo do we have different operators for sets and bags?
21:59 ab5tract no, but not all the set operators are baggied, or LoLy for that matter
21:59 timotimo hm, ok
21:59 dalek nqp: 12cc3ba | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
21:59 dalek nqp: map nqp::closefhi on moar (parrot and jvm are TODO)
21:59 dalek nqp: review: https://github.com/perl6/nqp/commit/12cc3ba788
21:59 dalek nqp: fb95ee9 | (Tobias Leich)++ | src/vm/parrot/QAST/Operations.nqp:
21:59 dalek nqp: implement nqp::closefhi on parrot
21:59 dalek nqp: review: https://github.com/perl6/nqp/commit/fb95ee9c0e
21:59 dalek nqp: f69c7c4 | (Tobias Leich)++ | src/vm/ (2 files):
21:59 dalek nqp: rename to nqp::closefh_i (because it returns an int)
21:59 dalek nqp: review: https://github.com/perl6/nqp/commit/f69c7c497c
22:00 ab5tract i ran into a point where i was unsure whether the correct behavior of encountering a bag in a LoL was reason to bag-ify all the other lists
22:00 ab5tract or whether that should only be triggered if the first list is a bag
22:00 ab5tract m: say  bag(< n e e d y>) (<=) bag(< n e e d >)
22:00 camelia rakudo-moar 315ec6: OUTPUT«False␤»
22:01 moritz sleep&
22:01 japhb g'night, moritz
22:01 mauke__ joined #perl6
22:01 ab5tract i'll take a look at those
22:01 ab5tract ciao moritz
22:01 dalek rakudo/nom: f529b33 | (Tobias Leich)++ | src/core/IO/Handle.pm:
22:01 dalek rakudo/nom: implement IO::Handle.close-pipe, which returns the exit code
22:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f529b33114
22:01 dalek rakudo/nom: b9deb95 | (Tobias Leich)++ | src/core/IO/Handle.pm:
22:01 dalek rakudo/nom: nqp::closefhi is now called nqp::closefh_i
22:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b9deb95714
22:02 FROGGS .tell lizmat are you happy with IO::Handle.close-pipe?
22:02 yoleaux FROGGS: I'll pass your message to lizmat.
22:02 ab5tract i think i'm on my way there too
22:02 ab5tract o/ #perl6
22:06 tadzik masak: 1) for Justin Case, 2) for not being properly lazy about certain stuff :)
22:06 tadzik 2) is a reported bug, fwif
22:07 dalek rakudo/nom: 85af904 | (Tobias Leich)++ | tools/build/NQP_REVISION:
22:07 dalek rakudo/nom: bump nqp revision
22:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/85af904285
22:07 dalek nqp: f54c1a1 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
22:07 dalek nqp: bump moar revision
22:07 dalek nqp: review: https://github.com/perl6/nqp/commit/f54c1a11a0
22:07 dalek rakudo/nom: 560a8b0 | (Tobias Leich)++ | tools/build/NQP_REVISION:
22:07 dalek rakudo/nom: bump nqp revision
22:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/560a8b0a11
22:08 FROGGS damn, I updated the revision files and forgot to commit them :/
22:10 TimToady m: say 40.&infix:<+>(2)
22:10 camelia rakudo-moar 315ec6: OUTPUT«42␤»
22:10 TimToady m: say 40.&[+](2)
22:10 camelia rakudo-moar 315ec6: OUTPUT«42␤»
22:10 TimToady masak: why all the add_method skullduggery?
22:11 travis-ci joined #perl6
22:11 travis-ci NQP build failed. Tobias Leich 'rename to nqp::closefh_i (because it returns an int)'
22:11 travis-ci http://travis-ci.org/perl6/nqp/builds/39321260 https://github.com/perl6/nqp/compare/384773860ca1...f69c7c497c35
22:11 travis-ci left #perl6
22:12 FROGGS latest build of nqp passed: https://travis-ci.org/perl6/nqp
22:13 mauke_ joined #perl6
22:13 pmichaud ...because some skulls just need to be duggered.
22:14 TimToady not for a few days yet...
22:14 pmichaud heh.  around here, All Hallow's Eve seems to have already started
22:15 pmichaud this week is filled with costumed events
22:15 TimToady It's supposed to rain on Halloween.  It's not supposed to rain on Halloween.  <-- two equally true statements here this year
22:15 TimToady this year looks to be a soggy one...
22:16 pmichaud Someone must be dressing up as Schrodinger.
22:16 TimToady or maybe his cat
22:16 TimToady Oh, you poor, half-dead thing!
22:17 pmichaud That's not exactly thinking outside the box, though.
22:17 travis-ci joined #perl6
22:17 travis-ci Rakudo build failed. Tobias Leich 'nqp::closefhi is now called nqp::closefh_i'
22:17 travis-ci http://travis-ci.org/rakudo/rakudo/builds/39321552 https://github.com/rakudo/rakudo/compare/9022b0f29df3...b9deb95714b3
22:17 travis-ci left #perl6
22:18 TimToady well, hey, it's all about decay
22:18 mauke joined #perl6
22:21 TimToady At least we can know that if Schrödinger comes, Pauli won't be with him, and vice versa.
22:21 TimToady actually, it's Heisenburg I'm uncertain about
22:22 tony-o can i use .at_pos (or some other method) on a sub to determine if a parameter was manually set or the default value?
22:22 tony-o TimToady: haha
22:23 TimToady you might be able to look in the capture, if you have a sig of (|cap)
22:25 mauke joined #perl6
22:26 travis-ci joined #perl6
22:26 travis-ci Rakudo build failed. Tobias Leich 'bump nqp revision'
22:26 travis-ci http://travis-ci.org/rakudo/rakudo/builds/39322209 https://github.com/rakudo/rakudo/compare/b9deb95714b3...85af9042857d
22:26 travis-ci left #perl6
22:29 kjs_ joined #perl6
22:29 FROGGS latest rakudo build passed: https://travis-ci.org/rakudo/rakudo/builds/39322253
22:29 FROGGS (travis was meant to tell that too)
22:32 tony-o r: sub f(|cap, :$x = 4) { say |cap; }; f(4);
22:32 camelia rakudo-parrot 315ec6: OUTPUT«Too many positional parameters passed; got 1 but expected 1␤  in sub f at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
22:32 camelia ..rakudo-moar 315ec6: OUTPUT«Too many positionals passed; expected 1 argument but got 1␤  in sub f at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
22:33 tony-o got it worked out, just thought that was funny
22:33 tony-o TimToady: thank you
22:35 Tekk_ hey tadzik. Was there any particular itch you were scratching with MPD/
22:38 leont joined #perl6
22:39 tadzik Tekk_: I don't think so
22:39 Tekk_ okay
22:40 FROGGS .tell jnthn that's a real life report: http://froggs.de/perl6/cpantesters/ (though, statically put there for review)
22:40 yoleaux FROGGS: I'll pass your message to jnthn.
22:41 Tekk_ I think mine should be good enough for an initial release but it needs a lot of work
22:41 Tekk_ need to add error values for one thing, at the moment all the methods just return the current song
22:43 FROGGS that might be okay if it is a good song :o)
22:44 pmichaud g'nite, #perl6   # time for a meeting
22:44 FROGGS night pmichaud
23:22 timotimo tadzik: xmms2 is more awesome anyway
23:25 masak m: class C { method foo { self.bar }; method !bar { say "hey, I'm right here!" } }; C.new.foo
23:25 camelia rakudo-moar 315ec6: OUTPUT«No such method 'bar' for invocant of type 'C'␤  in method foo at /tmp/Unc4V2qqx1:1␤  in block <unit> at /tmp/Unc4V2qqx1:1␤␤»
23:25 masak this error message could be better, IMO
23:26 masak (just got this in a real situation during a reordering of my program)
23:26 timotimo right, could either be "no such public method" or it could introspect the package and see it has that private method
23:26 masak I would suggest the latter
23:26 masak and same with the reverse situation
23:26 masak m: class C { method foo { self!bar }; method bar { say "hey, I'm right here, too!" } }; C.new.foo
23:26 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Q4n12TMUo6�No such private method 'bar' for invocant of type 'C'�at /tmp/Q4n12TMUo6:1�------> [32mclass C { method foo { self![33m�[31mbar }; method bar { say "hey, I'm right [0m�»
23:27 masak right -- private methods are not even virtual
23:27 BenGoldberg m: class C { method foo { self!bar }; submethod bar { say "hey, I'm right here, too!" } }; C.new.foo
23:27 camelia rakudo-moar 315ec6: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/SEU5b5AYtA�No such private method 'bar' for invocant of type 'C'�at /tmp/SEU5b5AYtA:1�------> [32mclass C { method foo { self![33m�[31mbar }; submethod bar { say "hey, I'm rig[0m�»
23:27 masak submethod != private method
23:28 masak but yes, that's perhaps yet another namespace to search for things in when producing a better error message
23:29 jepeway masak: thanks for the looksee.
23:34 masak jepeway: no prob. good luck with more of it :)
23:34 jepeway masak: ty, will need it, no doubt.
23:34 * masak submits rakudobug for the public/private method with a submethod on the side
23:35 fhelmberger joined #perl6
23:35 jepeway masak: re: tests, did you see the few handfuls that are there?
23:35 masak nope, only saw a small class in that gist
23:35 masak maybe I should've scrolled more :/
23:36 jepeway oh, no, i just v. little git/github fu
23:36 jepeway containing repo has more: https://github.com/cjepeway/p6-tz
23:36 masak ah, yes. just found it.
23:36 jepeway *have
23:37 masak nice.
23:37 masak that looks like a really good start.
23:37 masak jepeway++
23:37 masak yes, that's more what I expected to see ;)
23:37 jepeway ah, good.
23:40 jepeway like the README sez, t/04-datetime shows the offset vs. wallclock rules in DateTime, if you look at it sideways & squint
23:40 masak mhm
23:40 jepeway s/like/as/ (eep)
23:41 jepeway so, i think next thing i'll tackle is a class derived from DateTime that tries to dtrt w/ a TimeZone.
23:42 jepeway that'll lead to tests of the illegal/ambiguous y/m/d/h/m/s times for a given tz
23:42 BenGoldberg jepeway, DT::TZ eists.
23:42 BenGoldberg Err,
23:42 BenGoldberg jepeway, DT::TZ exists.
23:43 jepeway BenGoldberg: link?
23:43 BenGoldberg Oops, wrong channel, I thought I was on #perl
23:43 masak wow, oops.
23:43 * BenGoldberg feels silly
23:43 * masak hugs BenGoldberg :)
23:44 BenGoldberg :)
23:44 jepeway ah, fine.  was about to say, though, that the oddball times will get me into p5's DT::TZ bowels, i'm pretty sure.  so...timely oopsie :)
23:54 BenGoldberg I'd like to recommend the following: Doing 'make dist' for the distribution containing DateTime::TimeZone should automatically fetch the time zone database from http://www.iana.org/time-zones, and then Do Something with it.
23:57 BenGoldberg Also, if possible, have a subscription to the time zone mailing list, which activates a perl6 script which creates a new distribution when the time zone database changes.

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

Perl 6 | Reference Documentation | Rakudo