»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:04 BenGoldberg joined
Util Delivery notice: John Sterling Wolters (Util v1.1.3), 6 lb 5 oz, 19 inches. 00:07
00:10 xenoterracide joined
japhb Util: \o/ Congratulations! 00:12
.oO( You know it's a good community when people spontaneously announce births and marriages on channel ... )
00:13
colomon \o/ 00:15
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.
chenryn @japhb: If I run `strace $pid_of_timeall` , the timeall process would exit and re-start a new one. 00:26
00:29 aindilis left
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␤»
pmichaud m: class Sinker { method sink() { say "Blub" } }; for ^5 { Sinker.new(); }
camelia ( no output )
pmichaud ...which one is "correct"? (post-GLR) 00:38
i.e., does a loop executed in sink context execute its body in sink context? 00:41
00:47 vukcrni left 00:49 vukcrni joined
japhb chenryn: Wait, what? There should only be one parent timeall ... it's not like it runs as a daemon. 00:51
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.
`bench time nqp-moar/2014.10` was its parent 00:53
japhb It should be bench -> timeall -> (lots and lots of child processes) 00:55
Oh, are you saying that it's a new timeall between different bench runs?
(Because if so, then yes, timeall is strictly a child of bench) 00:56
00:57 xenoterracide left 01:01 chenryn left 01:04 dayangkun joined 01:12 xenoterracide joined 01:21 Akagi201 joined 01:25 Akagi201 left 01:54 aindilis joined 01:56 thou left 02:21 chenryn joined
chenryn @japhb: well, I mean I can't see any child process of timeall 02:29
one bench -> one timeall, then nothing. 02:30
02:32 araujo left 02:33 araujo joined 02:35 Akagi201 joined 02:40 Akagi201 left
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
SCALE is 3322 now.
03:04 slavik joined, aindilis left 03:12 j4jackj left, j4jackj joined 03:13 leont left, Mso150_f joined 03:15 j4jackj left, j4jackj joined 03:16 noganex joined
TimToady pmichaud: why would a loop in sink context ever want a value from its loop body? 03:16
I'm a bit surprised the 2nd one isn't sunk already
03:19 noganex_ left
TimToady well, not really, given what I know about internals :) 03:21
03:22 j4jackj is now known as janicez 03:26 kurahaupo joined 03:40 fhelmberger joined 03:42 xenoterracide left 03:45 fhelmberger left 03:49 Mso150_f left 03:51 Akagi201 joined
PerlJam Util: congrats! 03:53
03:56 Akagi201 left 04:26 kurahaupo left
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
pmichaud Util: congrats 04:38
04:39 chenryn left
pmichaud TimToady: I'm not surprised the second one isn't sunk already; sink context in Rakudo is (still) somewhat inconsistently handled. 04:39
Implementors sometimes remembered to throw away the values, but forgot to tell the values they were being thrown away. 04:40
04:41 Akagi201 joined
pmichaud anyway, I'll be looking at fixing that shortly 04:41
04:41 mauke left 04:43 erkan joined, erkan left, erkan joined 04:46 ggoebel111111115 joined, BenGoldberg left 04:48 aindilis joined, mauke_ is now known as mauke
pmichaud m: class Sinker { method sink() { say "Blub" } }; for ^5 { Sinker.new(); }; 1 # just checking 04:49
camelia ( no output )
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␤»
pmichaud m: class Sinker { method sink() { say "Blub" } }; for ^5 { Sinker.new(); }; 1
camelia ( no output )
04:50 ggoebel111111114 left 04:54 anaeem1_ joined 04:55 xenoterracide joined 04:59 yeahnoob joined 05:00 chenryn joined 05:03 kaare_ joined 05:08 yeahnoob left 05:15 kaleem joined, aindilis left, aindilis` joined 05:16 chenryn left 05:17 chenryn joined 05:21 yeahnoob joined 05:25 xenoterracide left 05:47 yeahnoob left 06:04 yeahnoob joined 06:13 chenryn left 06:33 chenryn joined 06:43 kaleem left 06:55 yeahnoob left 06:59 virtualsue joined 07:08 rindolf joined 07:12 yeahnoob joined 07:13 darutoko joined 07:19 FROGGS joined, abir1729 joined, abir1729 left 07:26 Akagi201 left 07:31 abraxxa joined, abraxxa left, abraxxa joined 07:34 denis_boyun_ joined 07:35 molaf joined 07:41 fhelmberger joined 07:45 fhelmberger left
masak morning, #perl6 07:53
07:54 kaleem joined
moritz \o masa, #perl6 07:56
*masak
FROGGS moring m&m 07:57
moritz "tasty together" 07:58
08:07 erkan left 08:08 erkan joined, erkan left, erkan joined 08:09 xfix is now known as notfix 08:12 anaeem1_ left, anaeem1 joined 08:16 ghostlines joined, ghostlines left 08:19 denis_boyun joined 08:20 denis_boyun_ left, zakharyas joined
rindolf masak: morning. 08:24
08:29 Sqirrel left 08:33 Ven joined
Ven The work on Jruby is astonishing. www.chrisseaton.com/rubytruffle/cext/ 08:33
o/, #perl6.
They basically reimplemented C in Java just to get the JIT inline both that and the ruby part :'). 08:34
dalek kudo/nom: 6edae2d | (Elizabeth Mattijsen)++ | src/core/List.pm:
Oops. Fix depreciation message, japhb++
08:35
08:36 Mso150_f joined
masak reimplementing C in Java? sounds like a lot of wo^W^W^W^Wfun! 08:45
08:45 denis_boyun left 08:47 Sqirrel joined
FROGGS my first reaction was: We can do that too once we are bored! 08:47
08:57 dayangkun left
masak :) 08:58
Ven well, I mean, p6 is the graal already, so using a framework named just that works... 09:00
dalek ecs: 2133dd1 | (Elizabeth Mattijsen)++ | S32-setting-library/IO.pod:
dir() reverts to IO::Path by default
09:01
moritz lizmat++ 09:02
09:11 virtualsue left 09:14 ptc_p6 joined 09:18 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
dalek kudo/nom: fea81ce | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Optimize dir() into MMD candidates

And make dir() use the currently active $*SPEC to determine what the string for current directory is.
09:24
masak Util: congratulations! 09:26
Util.family++
moritz ooh 09:27
moritz backlogs
Util++
09:27 chenryn left, chenryn joined 09:28 yeahnoob left
FROGGS Util++ 09:30
hmmm, how many cups are 6lb 5oz?
Ven github.com/adambard/learnxinyminut...t-60728908
fwiw, even languages like haskell and the like get it wrong :P
Timbus i believe common lisp gets it right 09:34
Ven nope. 09:35
09:35 kjs_ joined
Ven (let ((a 1.2) (b 1.0) (c 0.2)) (print (= (- a b) c)) (print (= (- (* a 10) (* b 10)) (* c 10))) ) 09:35
Try this one :)
FROGGS I've got problems reading it O.o 09:37
let is a declaration?
ahh, the thing in the middle is print c = a - b? 09:38
Ven kind of, yes.
yes
FROGGS okay, I love Perl 6.
Ven :-) 09:39
racket fails at it as well... 09:41
(- 1.2 1.0) gives 2.00000005 in CL, 1.9999999999996 in racket 09:42
php actually does a better job than the others.. 09:46
how 09:48
however, (35 - 34.99) is float(0.009999999999998)
moritz $ perl -wE 'say 1.2 - 1.0'
0.2
but it cheats while rounding
$ perl -wE 'printf "%.20f\n", 1.2 - 1.0' 09:49
0.19999999999999995559
Timbus Ven, huh, guess CL only uses rats when you use /
.. dumbb
Ven :)
Timbus let ((a (/ 12 10)) (b 1) (c (/ 2 10))) .. works 09:50
09:50 Mso150_f left
Timbus christ you really cant read that in irc 09:50
09:51 Mso150_f joined
ponbiki hrm 09:51
jnthn Good evening, #perl6
yoleaux 23 Oct 2014 13:33Z <lizmat> jnthn: could it be that $!PIO.isatty is NYI on jvm and moar ?
colomon o/ 09:52
09:53 spider-mario joined
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.
jnthn just stumbled upon the second oldest pub in .nz :) 09:54
colomon we seem to have broken a batch of modules in the last 48 hours. :\ 09:56
09:56 spider-mario left
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, spider-mario joined 10:00 virtualsue joined 10:05 salv0 joined 10:26 lizmat joined
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.
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
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.
jnthn lizmat: That was kinda my guess too :)
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
jnthn lizmat: I *think* libuv has a way to asking that question. 10:29
lizmat: So getting it supported on moar should not be a big deal, I expect.
dalek kudo/nom: 48b436b | (Elizabeth Mattijsen)++ | src/core/IO/Path.pm:
dir() returns IO::Path by default again

Please use :Str named parameter to get strings again
10:34
colomon lizmat: yes
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:35 hoelzro left, chenryn left
dalek nda: fa0ca63 | (Elizabeth Mattijsen)++ | ext/ (2 files):
Revert dir() --> List[Str] changes
10:38
colomon needs to learn to update rakudo (via rakudobrew) before trying to duplicate bugs.
that indeed seems to fix things
lizmat my apologies for fixing bugs this quickly :-)
colomon lizmat++ 10:40
lizmat still not sure what would be so bad about dir()>>.IO 10:41
but, there you have it
10:41 ugator joined
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:42
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
lizmat: It's only costly if we have to go through a normalization pass somewhere in there
lizmat and we do :-(
jnthn lizmat: And I don't see why dir ever should have to 10:45
I mean, readdir had better be returning sensible stuff.
lizmat well, it returns different things for different VM's for one
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
lizmat which doesn't make the code that readable / maintainable
jnthn lizmat: That sounds like something fixable.
10:45 hobbs left
jnthn Certainly there's no reason for the Moar and JVM APIs to be different, afaik. 10:45
lizmat well, the moar API is *very* different from JVM atm 10:46
it actually requires the system's chdir t be correct
*to
which in itself has all sorts of threading / race condition issues 10:47
the real issue is what JVM neatly bypasses: what does a relative path mean in a multicore/threaded world 10:48
10:48 hoelzro joined
lizmat in the JVM there are apparently only absolute paths 10:48
so whenever you make an IO::Path, you need to capture the $*CWD and $*SPEC at that point 10:49
because they might change and you want to be able to provide consistent results
10:52 hobbs joined
lizmat anyway, dir() is clearly still way underspecced 10:54
so I would welcome any feedback in that area, before I start repeating old mistakes 10:55
10:56 Mso150_f left
jnthn lizmat: Worse, if you have to caputre $*CWD *and* $*SPEC then that isn't atomic :) 10:57
Agree we need to decide what we want, anyway. 10:58
lizmat right, there you go...
I guess the default case (of not specifying :CWD *and :SPEC) can be handles
*handled with a protect block 10:59
but still
maybe we should at least make $*SPEC non-dynamic, and just initialized at startup
I mean, how often would you really need different file naming semantics within a process anyway? 11:00
if you want different semantics, you should be able to specify them specifically (like you can now everywhere, afaik)
11:01 chenryn joined
lizmat fwiw, I've not gotten much feedback on the new IO::Path / IO::Handle / .IO setup either 11:02
I guess tl;dr
:-(
jnthn for me it's just ov;dr :) 11:03
lizmat ? 11:05
I know you didn't read :-) 11:06
on vacation
duh
:-)
jnthn on vacation :)
11:06 chenryn left, rurban joined
jnthn Busy distracting myself with getting rained on, hurting my ankle while failing to climb mountains, and visiting pubs :) 11:06
11:06 yeahnoob joined 11:07 chenryn joined
lizmat sounds like a plan, apart from the ankle/falling bit 11:07
jnthn Well, the ankle is fine enough by now, mostly thanks to be giving up the climb before I did any real damage. :) 11:09
dalek ast: a8eef18 | (Elizabeth Mattijsen)++ | S32-io/dir.t:
Adapt tests to new dir() default settings
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.
lizmat :-(
jnthn I got high enough to see some nice stuff, just didn't make it to the crater I hoped to see. :) 11:11
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.
lizmat hands rurban a swatter
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
target record not implemented on darwin 11:14
lizmat :-( 11:25
11:28 denis_boyun joined 11:36 Hor|zon_ joined 11:39 Hor|zon left 11:41 fhelmberger joined 11:45 biff_ joined 11:46 fhelmberger left, biff_ left
lizmat maybe we need to implement $?SPEC, and have that as a default everywhere: it would be better optimizable, I assume :-) 11:50
11:56 rurban left 11:57 jepeway-wm joined
jepeway-wm masak: u about? 11:58
masak jepeway-wm: hi. kinda. 12:04
12:04 darutoko- joined 12:06 darutoko left, chenryn left
masak (teaching, but checking in now and then during breaks and exercises) 12:06
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:07
masak oh, right. rightright. 12:08
I'll try to remember for tonight when I'm on a train and can look at stuff.
if you're also online tonight, please do remind me.
jepeway-wm man alive, that'd be fab. 12:09
12:10 lue left
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*
jepeway-wm Well, running...has anybody mentioned #perl6 is pretty dang cool today? 12:12
12:12 jepeway-wm left 12:13 xinming left 12:14 xinming joined 12:16 retupmoca left 12:17 retupmoca joined 12:18 leont joined
lizmat cycling& 12:23
12:27 JimmyZ joined
JimmyZ Good evening 12:30
12:31 lue joined 12:34 kaleem left 12:35 alexghacker joined 12:39 rurban joined
FROGGS lizmat: not getting feedback about your IO::Path / IO::Handle / .IO setup is not a bad thing, it means it works flawlessly 12:49
lizmat: my problem is/was that I had no internet connection for a week and it is hard to reread stuff 12:50
12:55 anaeem1 left 12:56 fhelmberger joined
FROGGS Ven: are you going to reply to itreallymatters.net/post/386327451/...ages#notes ? 12:58
12:58 notfix is now known as xfix
Ven FROGGS: no 12:58
FROGGS :o( 12:59
13:01 kaare_ left
Ven FROGGS: I don't like comments 13:02
timotimo o/
Ven o/ timotimo 13:03
JimmyZ \o
13:03 Hor|zon_ is now known as Hor|zon 13:06 Alina-malina left 13:07 Alina-malina joined, Akagi201 joined
Woodi hallo today :) 13:08
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
Woodi o/ :)
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 :)
timotimo when you use floats/doubles, you really, really, really ought to know about IEEE float stuff 13:12
colomon FROGGS: I don't see any way to actually reply to that post?
timotimo colomon: you need a tumblr accoun tor something like that 13:13
rurban what does perl6 say?
colomon timotimo: ah. well, certainly p6 handles that challenge very nicely.
timotimo also ... that post is 4 years old
tadzik ca-ca-ca-ca-ca-ca-caw!
colomon rurban: Same and Same
timotimo colomon: right, making rats the default and making it easy to opt-in to crazy ieee float/double semantics
rurban excellent!
I would have expected clisp to auto-promote also. 13:14
Ven :(
timotimo but still. our rats are far from awesome performance-wise
Woodi C api have opendir and readdir functions... but that api was WTF?!!! for me... becouse I was blindly/dreamy walking in the valley of the shells. in sh you just 'cd dir' and it is cozy world where you not ask question like "what directory actually is?" 13:15
timotimo that's right, Woodi
as soon as you have two threads, you can say bye-bye to "current directory" 13:16
Woodi and it is so nice that IO::Path is so wordy to even consider...
13:16 ilbot3 left
ugator maybe for scientists there should be an easy option not to round the dec. representation of floats? 13:16
timotimo i don't know what that means, Woodi
ugator: you mean displaying a "faked" rounded version of the floats? 13:17
Woodi but *nixes/windowses/macs have command line, maybe we can prepare two user views ? one proper api and one for lazy shellers
timotimo: which part ? :)
13:17 guru joined
timotimo "so wordy" 13:17
Woodi to many typing :)
timotimo ugator: i'd think scientists in particular would want to stay as far away from floats as they can
13:17 guru is now known as Guest38617 13:18 Guest38617 is now known as ajr_
Woodi ls /etc vs my $d = IO:PATH("/etc"); $d. .... 13:18
13:18 ilbot3 joined
timotimo er, wouldn't you just dir("/etc") or dir("/etc".path)? 13:18
13:18 moritz left
timotimo also, it would probably be IO::Path.new("/etc") 13:18
but "/etc".path is nicer, in my opinion 13:19
13:19 moritz joined
Woodi but I was sleeping :) I just unconsciously assumed perl6 should have only good-short things :) 13:20
dir "/etc"; would be nice :) 13:21
timotimo m: say dir
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/…»
timotimo m: say dir "/home/camelia" 13:22
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/…»
timotimo there you go
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|…»
Woodi how to ask about what $d is ? .^class ? 13:24
timotimo .WHAT for example
Woodi m: my $d = dir; say $d.WHAT;
camelia rakudo-moar 315ec6: OUTPUT«(List)␤»
FROGGS .botsnack
yoleaux :D
timotimo m: my $d = dir; say $d>>.WHAT 13:25
camelia rakudo-moar 315ec6: OUTPUT«(List)␤»
timotimo m: my $d = dir; say $d[0].WHAT
camelia rakudo-moar 315ec6: OUTPUT«(IO::Path)␤»
gtodd m: (dir ".")[*-1]
camelia ( no output )
gtodd hahah
FROGGS m: my $d = dir; say $d.list>>.WHAT
camelia rakudo-moar 315ec6: OUTPUT«(List)␤»
timotimo .WHAT is "magical"
so that may be why that doesn't work
FROGGS m: my $d = dir; say $d.list>>.^name
camelia rakudo-moar 315ec6: OUTPUT«List␤»
FROGGS meh
timotimo that's kinda weird 13:26
Woodi so why $d[0].WHAT is IO::Path ? it is like struct returned from readdir in C ? 13:27
(that struct is obliged to have name and inode, and maybe other things on some systems) 13:28
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…»
FROGGS Woodi: when you work with files in Perl 6 you usually want IO::Path objects to call methods on it 13:31
that's why you don't get a list of strings back
Woodi why it isn't named IO::File ? :)
FROGGS Woodi: because it also can be a directory and symlink 13:32
or*
m: say dir>>.map({; $_.Str => $_.f && $_.s})
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…»
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…»
pmichaud ....why would one do dir>>.map ? 13:35
instead of just dir.map ?
FROGGS because of ENOTENOUGHCOFFEE :o)
gtodd m: say (dir ".")[4].slurp
camelia rakudo-moar 315ec6: OUTPUT«source ~/perl5/perlbrew/etc/bashrc␤␤»
FROGGS :S 13:36
would it hurt to disallow IO::Path here? 13:38
gtodd hmm we can look at camelia's dotfiles ? hmm
maybe not good
FROGGS exactly
dalek kudo/nom: 9022b0f | (Tobias Leich)++ | src/RESTRICTED.setting:
forbid IO::Path in the restricted setting
13:39
gtodd oh
hehe I thought you'd use chmod ;-) 13:40
13:40 kjs_ left
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␤␤»
FROGGS grrr
rurban got it right in lisp: (let ((a 1.2L0) (b 1.0L0) (c 0.2L0))
(print (equal (coerce (- a b) 'short-float) (coerce c 'short-float)))
(print (equal (coerce (- (* a 10) (* b 10)) 'short-float) (coerce (* c 10) 'short-float))))
FROGGS m: say $*PERL.compiler.build-date
camelia rakudo-moar 315ec6: OUTPUT«2014-10-22T20:30:08Z␤»
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:41
FROGGS Woodi: but IO::Paths can better cache filestats then strings 13:43
than*
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": irclog.perlgeek.de/perl6/2012-06-22#i_5748622
it has little to do with efficiency.
(well, system efficiency)
timotimo wait ... compatible everywhere? 13:45
that's not how it works :)
Woodi one api for them all :)
IO::Path is v6-lvl such thing, me thinks... 13:46
FROGGS sure, like Int is
13:47 kjs_ joined 13:48 ghostlines joined
rurban tumblr is a beast. managed to comment: reiniurban.tumblr.com/post/10117202...-languages 13:50
Woodi FROGGS: exactly :) 13:51
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
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:53
gtodd rurban: :-| ... this old article docs.oracle.com/cd/E19957-01/806-35...dberg.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 ajr_ left
Woodi hmm. but is dir a api part or just convenient sugar for opendir ? ;) 13:54
rurban sure, the goldberg theorem :) 13:55
liztormato Woodi. Afaik opendir is not portable
rurban and his matlab bitching is also a good read
timotimo i think that's right
Woodi but we talking about v6-level api, we can name things.
pmichaud I'm pretty sure nearly all of the IO:: stuff is intended to be "api"
Woodi readdir is posix too
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
except, how do you model what posix' opendir does when you add/remove stuff while iterating over it?
liztormato But what is in the list?
Woodi so slurp and things are considered sugar implemented with IO::Path ?
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
Woodi liztormato: depends if dir is IO::Path::dir or just dir :)
pmichaud afk for a while
13:58 ajr joined
liztormato Well. dir "foo" is just a wrapper for "foo".IO.dir 13:58
13:58 ajr is now known as Guest51454 13:59 Guest51454 is now known as ajr_
Woodi sugar could return list of strings, but method in IO::Path should use some internal object 13:59
so, sugared dir needs to return full path ? ;) 14:00
liztormato Alas. The consensus was that dir returns IO:Path
pmichaud 13:44 <pmichaud> Here's the original discussion of "why &dir returns IO::Path": irclog.perlgeek.de/perl6/2012-06-22#i_5748622
liztormato :Str will give you strings 14:01
pmichaud that discussion extended out over two weeks
Woodi liztormato: ok, let's s/dir_sugared/ls/g and only one dir will be one in IO::Path... 14:02
14:02 thou joined
Woodi 'dir' is ftp or windows command :) 14:03
so where 'slurp' belongs ? 14:04
S16 is pre-IO::Path ?
liztormato S16 is up to date 14:05
Woodi I mean something else...
pmichaud S16:250 still looks out of date 14:07
synopsebot Link: perlcabal.org/syn/S16.html#line_250
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)
liztormato pmichaud: Good catch 14:08
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
as opposed to trying to make the v6-level calls into low-level equivalents.
14:12 liztormato_ joined
liztormato_ Will fix when I'm home again 14:12
PerlJam good morning #perl6! 14:13
pmichaud PerlJam: Happy birthday!
PerlJam++ # obviously
PerlJam pmichaud: thanks :)
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
PerlJam: have a good life ! :) 14:14
14:14 liztormato left, liztormato_ is now known as liztormato
PerlJam Woodi: that's the plan :) 14:14
Woodi pmichaud: that POSIX:: thingies done with nativecalls would be realy nice :) 14:19
14:19 ugator left
PerlJam We don't have a POSIX module in the ecosystem yet? 14:20
Woodi we are so happy with nativecalls that POSIX is just a small matter of implementing it :) 14:22
colomon PerlJam: hope
agh, nope
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?
Woodi PerlJam: I barely remember there was 'POSIX' thing in modules.perl6.org/ but now none
and by POSIX we mean Linux ? :) 14:24
liztormato Shouldn't POSIX die?
Woodi it's like democracy !
PerlJam liztormato: yeah ... just like COBOL. 14:25
14:25 ghostlines left
Woodi I prefer HTTP die first ;) 14:26
14:27 ghostlines joined 14:29 kaare_ joined, treehug88 joined 14:36 ugator joined
timotimo fun exercise of the day/week/month: 14:42
build a LOLCODE slang in perl6
tadzik heh, did you see the nqp-to-lolcode-to-nqp talk?
timotimo then create a NQLC language that has enough features to re-implement the LOLCODE slang in NQLC
pmichaud's talk years ago?
tadzik yeah
timotimo yes, i did see that :)
14:48 TuxCM left
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
14:54 anaeem1 joined
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
liztormato Cycling again & 14:56
14:56 liztormato left
gtodd moritz: I think you made a commit there 12 days ago ;-) 14:56
14:57 ghostlines left
moritz gtodd: ah, the cheat sheet might be maintained 14:57
gtodd: my lst commit there was in March
gtodd hmm
moritz gtodd: in mu/docs, not mu
ok, let's put it that way: most of mu/docs is outdated cruft
gtodd right
moritz there might be some cherries in there to pick
gtodd mu/docs 14:58
ok
14:58 ghostlines joined
moritz cheat sheet, and Perl6::Perl5::Differences 14:58
also, docs/feather/syn_index.html
docs/feather seems to be relatively OK-ish
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:00
15:01 mauke_ joined
moritz gtodd: nope. Avoid the mailing lists :-) 15:02
gtodd: rather, delete old stuff from mu/docs
15:02 mauke left, anaeem1 left
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
gtodd moritz: well maybe I will fork and make pull requests :-D 15:03
moritz gtodd: don't you have direct commit access?
gtodd yeah but I'm not brave :-D .... OTOH I could become notorious/famous for breaking something
15:04 TuxCM joined, anaeem1_ joined
moritz gtodd: just do it one dir at a time, then it's easy-ish to revert 15:04
s/easy-ish/trivial/
gtodd haha 15:05
so right now perlcabal.org/syn is very important :-)
15:05 anaeem1_ left
moritz yes 15:05
gtodd as a sink and a source of documentation that flows .... somewhere "official" at some point 15:06
dalek : e89e3fd | moritz++ | docs/exceptions.pod:
remove outdated doc

it became an advent post later
15:07
moritz gtodd: oh, I had an outdated copy of mu lying around
gtodd: ok, first file deleted; maybe that makes it easier for you to get started :-)
15:07 ptc_p6 left
gtodd hahah ... yes I was just copying you 15:07
15:08 mauke joined
moritz gtodd: the 'tutorial' folder seems to be imported from the "Perl 6 and Parrot Essentials" book 15:09
dunno if we maybe want that in some other, historical repo
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 15:10 mauke_ left, anaeem1 joined
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:10
moritz: ok ... some kind of explicitly historical repo name would be good 15:11
dalek : f7f233e | moritz++ | docs/ (228 files):
Kill outdated docs

they are only likely to confuse people. If somebody wants to keep them, please import them into another repository that is explicitly marked as archive for ancient things
15:12
gtodd moritz: the perl6/doc repo === docs.perl6.org correct
15:12 mauke left
moritz gtodd: yes 15:12
dalek : 2e41d8d | moritz++ | docs/zh- (7 files):
[docs] remove outdated translations of the synopsis
15:13
: 5b8d992 | moritz++ | docs/quickref/ (3 files):
remove more old stuff
15:14
15:14 JimmyZ left
dalek : f56c5b5 | moritz++ | docs/IRCchannelLexicon.pod:
remove outdated glossary

we have S99 now
15:14
15:15 mrbig4545 joined
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:16
moritz gtodd: yes, moving the Differences.pod to perl6/doc would be beneficial 15:17
15:17 anaeem1 left 15:18 TuxCM left
gtodd moritz: so .... "remove outdated glossary" because we have S99 now ... and s99 will one day become perlglossary.pod ? 15:18
15:18 TuxCM joined
PerlJam maybe 15:18
moritz gtodd: I don't know
PerlJam S99 is more a glossary of #perl6 than Perl
(IMHO)
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
gtodd moritz: and cheatsheet.html could become perl6cheat 15:19
moritz gtodd: it could, if somebody made it that way
gtodd Oh yeah I mean perl6glossary
Woodi hmm, so Java have (old) java.io.File and newer java.nio.file... second have Path classes... but directory is a file too ? :)
dalek : b4fa4a3 | moritz++ | docs/u4x/ (16 files):
[docs] remove u4x

  doc.perl6.org is the spiritual successor, and u4x looks outdated
15:20
15:20 guru joined
moritz masak: I've removed u4x from perl6/docs. Ping me if that makes you unhappy 15:20
15:20 ajr_ left
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 guru is now known as Guest53979, mauke_ joined
moritz gtodd: then do it 15:22
PerlJam gtodd: but better organized where possible :)
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
dalek : cbbeb9d | moritz++ | docs/ (33 files):
delete more outdated docs
15:25
15:25 mauke_ left 15:26 kaleem left
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
gtodd: I just don't always use the p5 names
Ven .tell masak a tower build out of macros github.com/ckknight/gorillascript/...prelude.gs 15:27
yoleaux Ven: I'll pass your message to masak.
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 ;-)
i.e. kill the cruft
moritz or do you think we should have perl6boot, perl6ootut and whatever all the concurring object tutorials are called? :-)
gtodd moritz++ :-D 15:28
moritz: those would be symlinks ;-D
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"
moritz: anyway thanks for your thoughts and actions over the last 10 minutes :) 15:30
15:31 treehug8_ joined, treehug8_ left 15:32 treehug8_ joined 15:33 treehug8_ left, treehug88 left, anaeem1_ joined 15:34 treehug8_ joined, treehug8_ left, treehug88 joined, treehug88 left
moritz also, faq.perl6.org could be swallowed up by doc.perl6.org 15:34
15:35 treehug88 joined, treehug88 left 15:36 treehug88 joined, treehug88 left 15:37 treehug88 joined, treehug88 left, treehug88 joined 15:38 treehug88 left
gtodd yes 15:38
15:38 treehug88 joined, treehug88 left 15:39 treehug88 joined, eMBee joined, treehug88 left 15:40 anaeem1_ left, treehug88 joined 15:41 treehug88 left
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 15:42 treehug88 left
TimToady C wasted two perfectly good characters on a single operator that can be better put to use composing other characters 15:42
er, operators
(or as themselves, like we use : for invocant separator)
that reduces the ambiguity
in addition, ? and : are almost invisible as control flow, ?? and !! stand out much more visually 15:43
third, all the other "thunky" operatory like && and || and doubled, so this one is too
PerlJam eMBee: plus !! is more evocative of "notness" for the false side of the ternary
TimToady fourth, :: is used elsewhere, so we switched to !!
fifth, what PerlJam said 15:44
gtodd plus !! suggests to me something was not happening
oh yeah
TimToady we use ? and ! lots of places in Perl 6 for true/false, so this fits right in
gtodd PerlJam++
TimToady but mostly, C chose a bad huffman coding 15:45
PerlJam eMBee: got a link to the discussion?
eMBee let me check for some online archives of that list.
TimToady so the only reason the reason is not clear is that there are too many to choose from :)
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 :-)
PerlJam eMBee: you could add the link to irclog.perlgeek.de/perl6/2014-10-28#i_9577219 to that discussion :)
geekosaur there are certainly people who think that since a lot of languages adopted C's ?: it must somehow be the ideal syntax
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.
geekosaur certainly we used to dissuade people from using ?: in C because it was so unreadable, largely for the reasons already mentioned 15:47
15:47 treehug88 joined
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~
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
camelia std 14ad63b: OUTPUT«===SORRY!===␤Unsupported use of ?: for the conditional operator; in Perl 6 please use ??!! at /tmp/we07DtER9g line 1:␤------> $_ ?⏏ 42 : 43; # also, it's not really a pro␤Parse failed␤FAILED 00:00 137m␤»
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
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/le6w812yk9␤Unsupported use of ? and : for the ternary conditional operator; in Perl 6 please use ?? and !!␤at /tmp/le6w812yk9:1␤------> $_ ?⏏ 42 : 43; # also, it's not really…»
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.
PerlJam Woodi: ~$<inside> is the text 15:50
TimToady Woodi: use prefix ~ or .Str to get the string from the match objct
Woodi oki, thanx
15:50 anaeem1_ joined
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)
Woodi say ~$i even works :)
TimToady japhb: yes, that's because I just enhanced that message :)
japhb :-)
TimToady and didn't backport to STD
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 :)
japhb Naughty language designer ...
TimToady laziness is (sometimes) a virtue...
15:52 Guest53979 left
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?
leont FROGGS: yes, that sounds useful
TimToady PerlJam: that will work only if 'inside' is written to stop on } 15:54
15:54 ajr joined
PerlJam oh, true. 15:54
15:54 ajr is now known as Guest29186
TimToady leont: yes, C had fewer symbols to encode huffmanly, to be sure 15:54
15:54 Guest29186 is now known as ajr_
PerlJam I perhaps have excess affection for that construct :) 15:54
Woodi PerlJam: that's works too :)
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
leont Also, || and && make sense if you need to be B compatible. | and & really didn't make much sense otherwise even in C
eMBee i mean putting the false part after : is confusing 15:56
so a good move then for perl6
TimToady we aim to please :)
though we're mostly ignoring first impressions in favor of last impressions :) 15:57
Woodi rule TOP { class buu '{' ~ '};' <inside> }; works :)
eMBee TimToady, PerlJam and gtodd: do you mind if i quote you (from 15:42 to about 15:44)? 15:58
TimToady you probably don't need the second semicolon, if the } is the last thing on the line 15:59
eMBee: it's publicly logged, we can't stop you :)
gtodd !!!
:)
Woodi TimToady: it's language named 'sqf' and I trying to parse configuration file written in that
me discovered subparse yesterday :) 16:00
grr
TimToady I meant the ; in P6 code, though the first ; might be separable with whitespace too
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, yeahnoob left
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 ?
PerlJam eMBee: make it so! :)
TimToady afk for a while, gotta take the maternal uncle of Perl to the eye doc... 16:02
16:03 mauke left, mauke joined, mauke left, mauke joined
Ven Woodi: not sure what do you mean? 16:04
16:05 mauke_ left
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:05
dalek : 295cf9f | (Graham Todd)++ | docs/Perl6/Perl5/Differences.pod:
make an enoding/conversion error go away

  perlcabal.org/syn/Differences.html
Around line 398: Non-ASCII character seen before =encoding in 'Perl 6.'. Assuming UTF-8
16:06
PerlJam Ven: I think he's referring to the regular syntax making for code generation and transformation relatively easy? But I dunno.
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
16:08 mauke_ joined, mauke_ left, mauke_ joined
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:11
16:11 mauke left 16:14 mauke joined
PerlJam eMBee: I'm embroiled in $work right now, so likely not. 16:16
16:16 mauke_ left 16:18 kjs_ left, ajr_ left 16:19 vukcrni left, guru joined 16:20 guru is now known as Guest12107, Guest12107 is now known as ajr_, anaeem1_ left, vukcrni joined 16:22 mauke left, denis_boyun left 16:23 mauke joined 16:25 Ven left, sqirrel_ joined 16:27 mauke_ joined 16:29 mauke left 16:30 rindolf left 16:32 rindolf joined 16:34 mauke_ is now known as mauke
eMBee found another archive at nabble: pike.1058338.n5.nabble.com/Pike-8-0...l#a5711868 16:35
16:37 zakharyas left, ghostlines left
eMBee PerlJam: ^^^ 16:38
thanks everyone and good night... 16:40
FROGGS gnight eMBee
16:41 FROGGS left 16:42 mauke_ joined 16:43 mauke left 16:45 mauke joined 16:47 ajr_ left 16:48 mauke_ left 16:49 mauke_ joined 16:50 mauke left 16:52 ajr joined, ajr is now known as Guest90435 16:53 Guest90435 left 16:54 mauke_ left
lizmat
.oO( this must be one of those weeks: now our mail server died with what looks like a broken power supply)
16:54
16:54 ajr_ joined 16:55 mauke joined, kjs_ joined
abraxxa ;( 16:56
japhb Uuugh, sucky lizmat. Good luck with the fix. :-/
lizmat of course, we find out about 10 minutes before the nearest computer parts shop closed 16:57
too late to get another one today
japhb :-(
(Until recently my response to that situation would be to go through my computer graveyard picking parts.) 16:58
16:59 rindolf left 17:01 mauke left
lizmat yeah, considered that as well... but this power supply seems more special then generic :-( 17:03
17:04 FROGGS joined 17:05 mauke joined 17:10 rindolf joined, kjs_ left 17:13 gfldex joined, mauke_ joined, kaleem joined 17:15 mauke left 17:16 mauke joined 17:18 mauke_ left 17:19 mauke_ joined, ajr_ left 17:20 kaleem left, kaleem_ joined, guru joined 17:21 guru is now known as Guest98383, mauke left 17:22 mauke joined, chenryn left 17:24 mauke_ left 17:25 Guest98383 is now known as ajr_ 17:27 fhelmberger left 17:29 fhelmberger joined 17:31 ab5tract joined
ab5tract heya #perl6! 17:32
looking forward to checking out all the APW talks 17:33
17:34 fhelmberger left 17:35 slavik left
masak hi, ab5tract! 17:35
yoleaux 15:27Z <Ven> masak: a tower build out of macros github.com/ckknight/gorillascript/...prelude.gs
masak senses a need to backlog :) 17:36
ab5tract is this behavior expected? i ran into some weirdness while doing some golfing gist.github.com/ab5tract/5b65a86e7a1926079187 17:37
17:37 slavik joined, ajr_ left, sqirrel_ left
masak ab5tract: .<$_> doesn't mean .{$_} 17:38
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␤»
masak er.
m: my %h = foo => "you think it means this", '$_' => "but it actually means this"; $_ = "foo"; say %h<$_>
camelia rakudo-moar 315ec6: OUTPUT«but it actually means this␤»
ab5tract oh snap
17:39 mauke left
ab5tract good catch there masak 17:39
:)
17:40 kaleem_ left
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«$_»
camelia rakudo-moar 315ec6: OUTPUT«what you actually want is this␤»
masak ab5tract: «» is to <> as "" is to ''
dalek ecs: 9b61e9b | (Elizabeth Mattijsen)++ | S16-io.pod:
s/Str/IO::Path/ as spotted by pmichaud++
17:42
lizmat away for the night&
masak lizmat: have a nice evening! 17:43
colomon o/ 17:46
17:48 mauke joined 17:49 FROGGS_ joined 17:50 Sqirrel_ joined 17:53 mauke left
ab5tract masak: is there a more idiomatic version of lookup inlining that ((1..10) Z 1 xx 10).hash ? 17:53
17:53 FROGGS left
ab5tract not that i'm complaining about the current level of concision :) 17:53
17:53 Sqirrel left 17:54 mauke joined
moritz ab5tract: 1..10 X 1 17:55
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␤»
ab5tract moritz: thanks
i also just managed to golf it this way too 17:57
m: my @a = 1..5; (@a Z @a.map({ so $_ })).hash
camelia ( no output )
ab5tract m: my @a = 1..5; (@a Z @a.map({ so $_ })).hash.say
camelia rakudo-moar 315ec6: OUTPUT«"1" => Bool::True, "2" => Bool::True, "3" => Bool::True, "4" => Bool::True, "5" => Bool::True␤»
17:57 mauke_ joined
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␤»
ab5tract but that's a different, of course. as Bool::True is not the same as 1. but useful for my purposes
omg 17:58
6.0.0 cannot arrive fast enough
:)
17:59 mauke left
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
18:01 abraxxa left, ghostlines joined, ghostlines left, mauke_ left 18:02 ghostlines joined 18:04 mauke joined
vendethiel that reminds me - at apw we talked about a|.b for "flattening", but that just reminds me of set theory 18:04
(restriction)
pmichaud I have a feeling we won't need a shortcut for flattening.
vendethiel (same here) 18:05
masak +1
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.
ab5tract pmichaud: agreed
tbh, the flattening rules feel a bit p5-y 18:06
there's a slight arbitrary feeling to them from an observer standpoint 18:07
based on a runtime/architectural necessity
pmichaud oh, false 18:08
ab5tract (didn't mean syntax-wise similarity, but the feeling of the cornercase)
18:08 mauke left
pmichaud the "arbitrariness" of flattening has more to do with expressing DWIM semantics 18:08
18:08 virtualsue left
ab5tract i would class that as architectural, when speaking about perl 6 18:08
but i take your point
the difference metween sub map and method map is what stuck out to me 18:09
pmichaud map { .say }, 1, 2, 3..5, 6; # what do you expect this to output? 18:10
ab5tract the flattened list 18:11
with expansion of 3..5
pmichaud exactly. thus we kind of expect flattening there. 18:12
ab5tract i can see what you are getting at
i think in the end it actually is quite nice to have the two functionalities
(didn't take much convincing, eh? ;)
18:12 Alina-malina left
ab5tract s/functionalities/behaviors/ 18:12
18:13 Alina-malina joined
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:14
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:15
vendethiel uh, are we doing the sub vs method flattening? 18:17
I thought we weren't
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
pmichaud Argument lists flaten.
*flatten
vendethiel mmh...
18:19 pecastro left
vendethiel I'm not sure I like it, but I'm not sure I have a better solution... 18:19
18:21 kjs_ joined 18:22 guru joined
pmichaud in particular, something like slurp("foo.txt", :bin) isn't at all the same as ("foo.txt", :bin).slurp 18:22
18:22 guru is now known as Guest42693 18:23 Guest42693 is now known as ajr_ 18:24 mauke joined 18:25 nebuchadnezzar left 18:27 mauke_ joined 18:29 mauke left 18:30 nebuchadnezzar joined 18:32 mauke_ is now known as mauke 18:34 mauke_ joined
pmichaud another name idea for the synopsis repo: perl6/synop 18:34
or even just perl6/syn 18:35
ab5tract pmichaud: perl6/synop has a nice ring, to my hears 18:36
m: sub lookup( @valid, @test ) { @test.grep({ (@valid Z @valid>>.so).hash<<$_>> }) == @test.elems }; lookup( <this is awesomely sweet>, <this is sweet> ).say
camelia rakudo-moar 315ec6: OUTPUT«True␤»
18:36 mauke left
dalek p/closefhi: 7a5e8a6 | (Tobias Leich)++ | src/vm/parrot/QAST/Operations.nqp:
implement nqp::closefhi on parrot
18:36
18:37 mauke joined
FROGGS_ +1 to syn 18:37
masak vendethiel: I got to `for`, and then I was just too disgusted: github.com/ckknight/gorillascript/...e.gs#L1341
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
PerlJam i == ignore errors or something?
ab5tract oh jeez
FROGGS_ PerlJam: closing a filehandle which is the other end of a pipe, and return its exit status
ab5tract nevermind
i see it already
18:39 mauke_ left
PerlJam FROGGS_: is the "i" mnemonic for something in particular? 18:39
FROGGS_ int
arnsholt nqp::closefh_i probably
PerlJam Hmm.
pmichaud yes, please keep consistency with underscores. 18:40
18:40 mauke_ joined
arnsholt (Type-specialised NQP ops being specified with _i and the like) 18:40
pmichaud I don't want a parrot repeat there.
FROGGS_ k
will adjust it
18:40 kjs_ left
FROGGS_ thanks for the pointer :o) 18:41
18:42 mauke left
dalek p/closefhi: 14d3c24 | (Tobias Leich)++ | src/vm/ (2 files):
rename to nqp::closefh_i (because it returns an int)
18:43
Heuristic branch merge: pushed 16 commits to rakudo/closefhi by FROGGS
18:43 mauke joined
pmichaud I even wonder if it should just be closefh. 18:44
do we expect there to be another variant?
vendethiel masak: hahahaha I feel you.
masak: "never look under the machine" :P
pmichaud ah, there is a varient.
*variant
18:45 mauke_ left
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.
vendethiel masak: yeah. Well, I've got some past with ruby/coffee/ls, but I seriously prefer perl6's internals ;)
masak vendethiel: I'm looking at that code, and the code shouts *WRONG* back at me. when it should sing *FOR LOOP*.
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"
arnsholt Yeah, building everything out of macros isn't necessarily a good idea
(Cf. TeX)
vendethiel oh, I think it did. It just didn't help him clean his code.
18:46 mauke_ joined
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.
vendethiel building a tower of macros *can* be interesting, if you manage to make it not suck
masak vendethiel: oh, I agree. it has the potential for interesting.
vendethiel: I've been toying around with the idea of building a minimal language with macros, and seeing how far I get. for science.
pmichaud
.oO( lisp )
18:48 mauke left, ghostlines left
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
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
pmichaud FROGGS_: it's okay. The _i doesn't indicate "return type", it indicates "integer variant"
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
FROGGS_ yes
masak pmichaud: correction: I want to write a minimal ALGOLoid with macros. 18:50
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 mauke_ is now known as mauke
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.
masak vendethiel: but if they're parts of the parser, I'm not too surprised at that. 18:53
pmichaud: instant t-shirt!
vendethiel pmichaud: you'd be bind-multiple-arguments :P
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!
early lisps actually stored their functions as s-expressions, but it proved too slow
pmichaud vendethiel: I think that's a compliment, but I'm not certain. :)
vendethiel pmichaud: being good at arguments is good! 18:54
masak .oO( and in the darkness bind-multiple-arguments )
vendethiel masak++ # oh yes
pmichaud vendethiel: I'm apparently good at arguments and at invoking things. 18:55
vendethiel nice!
pmichaud right now I should be lunching things, so.... afk # lunch 18:57
vendethiel masak: (we probably won't get that as we have phases) 19:03
arnsholt PerlJam: Well, TeX doesn't have anything else, so it pretty much has to be all macros =) 19:04
(Modulo a couple of primitives like \if)
vendethiel masak: (in CL if I do (defun foo) then just after (defmacro bar), bar will have access to foo)
19:05 anaeem1 joined
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:07
19:08 anaeem1 left
FROGGS_ masak: because the 'use'd Ecosystem.pm fetches it 19:10
and 'use' happens before 'USAGE'
19:11 darutoko- left
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
FROGGS_: I'm in no need of the ecosystem yet. I just want a usage message.
the error message I'm getting is about a detail I didn't request.
FROGGS_ masak: you are correct in all points :o)
19:14 jac50 joined
masak is a discriminating user :) 19:14
19:17 denis_boyun_ joined 19:20 jac50 left 19:34 fhelmberger joined 19:39 fhelmberger left
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
camelia rakudo-parrot 315ec6: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Op'␤»
..rakudo-moar 315ec6: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤»
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 :)
(though I don't remember that syntax)
moritz ugexe: I guess at some point we simply ignored the colonpair
ugexe i see 19:42
PerlJam ugexe: what moritz said. 19:43
19:46 virtualsue joined
moritz m: $c = 0; for [,] <a b c> { $c++ }; say $c 19:48
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/KDc1OAZO3P␤Variable '$c' is not declared␤at /tmp/KDc1OAZO3P:1␤------> $c⏏ = 0; for [,] <a b c> { $c++ }; say $c␤ expecting any of:␤ postfix␤»
moritz m: my $c = 0; for [,] <a b c> { $c++ }; say $c
camelia rakudo-moar 315ec6: OUTPUT«3␤»
moritz m: my $x = 1/ 0 19:54
camelia ( no output )
moritz m: my $x = 1/ 0; $x.gist
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…»
moritz that looks like a bug to me 19:55
19:55 grondilu joined
grondilu noticed a clear speed increase with his usual 'say [+] rand xx 100_000;' mini-test. Good job guys. 19:56
(about 25% faster) 19:57
19:57 virtualsue left
masak moritz: agreed. 19:57
moritz: do you want to rakudobug it, or shall I?
moritz masak: please do
masak does, pleased 19:58
20:00 rindolf left 20:01 rindolf joined 20:02 jac50 joined
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:07
20:08 molaf left 20:09 Isp-sec joined, FROGGS_ is now known as FROGGS, jac50 left
FROGGS how do I get a domain like cpandatesters.perl6.org set up? 20:11
moritz masak: I didn't know if it would fail or die 20:12
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
moritz arnsholt: since there are no Nums involved, I'd find a NaN rather weird
masak Java has integer 1/0 as a (runtime) error, but float/double 1.0/0.0 as a NaN. 20:14
20:14 kurahaupo joined, molaf joined 20:15 kjs_ joined 20:16 davido__ left 20:17 davido__ joined
masak m: say Rat.new(1, 0).perl 20:17
20:17 davido__ left
camelia rakudo-moar 315ec6: OUTPUT«<1/0>␤» 20:17
masak S03 seems to indicate that that's the intended answer. 20:18
at least reading it by the letter, and seeing no exception in place for integral division by 0.
20:19 davido__ joined
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:19
moritz I'm even fine with an <1/0> literal, as long as it .gist()s sensibly 20:20
20:21 ghostlines joined, ghostlines left
ab5tract after reading timotimo's post, i became curious about the benchmark he mentioned 20:21
20:21 ghostlines joined 20:22 ghostlines left
masak .oO( rakudo-moar 315ec6: OUTPUT«<1/0>, you knucklehead!␤» ) 20:22
20:22 ghostlines joined
ab5tract this doesn't appear to be very idiomatic p6, unless i'm wrong? github.com/koorchik/formula-evalua...rl6/ast.pl 20:22
20:22 ghostlines left 20:23 ghostlines joined
ab5tract cannot claim idiomantic perception 20:23
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?
masak probably not.
hard to say. 20:25
vendethiel m: say 3."+"(4); #can i do that pls
camelia rakudo-moar 315ec6: OUTPUT«No such method '+' for invocant of type 'Int'␤ in block <unit> at /tmp/oh6MbiJSuV:1␤␤»
timotimo ab5tract: agreed; the maker was looking for an as-close-as-possible translation
vendethiel :'(
masak also, it's spelled "DIVIDE", not "DEVIDE"
vendethiel ab5tract: for example, sum is just `[+] @list`
timotimo masak: yeah, SUBSTRACT and such
masak timotimo: didn't even see that one.
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
vendethiel masak: yeaaa, it is :P
timotimo instead of something more natural like a package
vendethiel I should know better but I still wanted to try, eh.
timotimo and storing the callable in the tree directly
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)
ab5tract: the part that this benchmark tests is after any supposed grammar has created the AST 20:28
ab5tract good point ;)
masak vendethiel: however,
m: Int.HOW.add_method(Int, "+", sub { $^x + $^y }); say 40."+"(2)
camelia rakudo-moar 315ec6: OUTPUT«42␤»
timotimo but still, quite some unidiomatic things in there
masak m: Int.^add_method("+", sub { $^x + $^y }); say 40."+"(2) 20:29
camelia rakudo-moar 315ec6: OUTPUT«42␤»
masak better :)
ab5tract timotimo: so how did you get on poking at it?
timotimo the biggest performance win was getting rid of the .isa('Array') 20:30
ab5tract masak: mind blown
timotimo ab5tract: and when adding native integers, it's about 30% faster again, but the code gets a bit uglier
ab5tract in favor of smart match?
timotimo correct
but .isa(Array) would have been as fast
ab5tract well, there's that!
ah, gotcha 20:31
masak m: Int.^add_method("+", * + *); say 40."+"(2)
camelia rakudo-moar 315ec6: OUTPUT«42␤»
masak m: Int.^add_method("+", &[+]); say 40."+"(2)
camelia rakudo-moar 315ec6: OUTPUT«42␤»
masak :D
timotimo gist.github.com/timo/2d2cc1260428e5758086 - this also uses Num instead of Rat for calculations
making it a tiny bit faster, too
masak m: enum :: <un>; say ~un 20:34
camelia rakudo-moar 315ec6: OUTPUT«un␤»
masak m: enum :: <un>; say un
camelia rakudo-moar 315ec6: OUTPUT«un␤»
masak m: enum :: <un>; say +un
camelia rakudo-moar 315ec6: OUTPUT«0␤»
masak nul! :)
FROGGS m: anon enum <un>; say +un 20:35
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/4SVYtYZqUD␤Undeclared routine:␤ un used at line 1. Did you mean 'uc', 'on'?␤␤»
FROGGS m: anon enum <un>; say un 20:36
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/4ueFzuoXo6␤Undeclared routine:␤ un used at line 1. Did you mean 'uc', 'on'?␤␤»
FROGGS m: anon enum <un>;
camelia ( no output )
FROGGS weird
panda is broken on parrot again :o(
masak FROGGS: you can't use that syntax, and for good reason. 20:37
FROGGS: `enum` is a declarator, and expects a declaratee as a first "argument".
FROGGS std: anon enum <un>;
camelia std 14ad63b: OUTPUT«ok 00:00 136m␤»
masak I should really find better terminaology for this stuff.
std: enum <un>
camelia std 14ad63b: OUTPUT«ok 00:00 136m␤»
masak I posit that STD is full of it.
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
but my lord is it gigantic
masak S12 actually mentions this kind of declarations.
timotimo 44k lines ...
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
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/gtMhsJ9v3f␤Variable '%e' is not declared␤at /tmp/gtMhsJ9v3f:1␤------> %e⏏ = enum < ook! ook. ook? >; # should wo␤ expecting any of:␤ postfix␤»
FROGGS like anon sub { } vs. sub :: { }
masak m: my %e = enum < ook! ook. ook? >; # erm
camelia ( no output )
masak m: my %e = enum < ook! ook. ook? >; say %e.perl
camelia rakudo-moar 315ec6: OUTPUT«("ook." => 1, "ook!" => 0, "ook?" => 2).hash␤»
masak ok, seems to work.
FROGGS m: my %e = anon enum < ook! ook. ook? >; say %e.perl
camelia rakudo-moar 315ec6: OUTPUT«("ook!" => 0, "ook?" => 2, "ook." => 1).hash␤»
FROGGS m: my %e = enum :: < ook! ook. ook? >; say %e.perl
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␤␤»
FROGGS dang
masak there's gotta be something rakudobuggable in all of this. 20:40
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 20:42 kaare_ left, kurahaupo left 20:43 ghostlines left
masak submits rakudobug for that 20:44
20:44 virtualsue joined
FROGGS masak++ 20:44
masak FROGGS++ # auxiliary brain 20:45
FROGGS ==> Successfully installed HTTP::Status 20:48
Could not submit test report: Unmarshallable foreign language value passed for parameter '$value'
grrr
20:48 ghostlines joined 20:49 ghostlines left
masak .oO( they come to our country, steal our jobs, and then speak their unmarshallable foreign language! ) :P 20:49
FROGGS yeah, bloody birds :P 20:50
masak now I won't ever get my dream job as "senior seed eater" 20:51
20:52 kurahaupo joined, kurahaupo left 20:53 kurahaupo joined
masak jepeway: I looked at github.com/cjepeway/p6-tz/blob/mas...imeZone.pm 20:54
20:54 rurban left
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:55
20:58 pecastro joined
bartolin m: my ::foo $x; say $x ## RT #75646 21:00
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=75646
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␤␤»
bartolin m: my ::foo $x; class foo { }; say $x
camelia rakudo-moar 315ec6: OUTPUT«(foo)␤»
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:01
21:02 mauke_ joined, molaf left
masak checks the ticket 21:02
21:03 mauke left
masak bartolin: the ticket should be closed -- there's no longer a Null PMC access. 21:04
21:05 mauke joined
bartolin masak: yes, but I wonder how to write the test. maybe 'lives_ok { my ::foo $x }' is enough. 21:05
21:07 mauke_ left
masak think so. 21:08
bartolin OTOH the first command in the ticket is 'my ::foo $x; say $x' -- which dies (but gives no Null PMC access). 21:09
japhb timotimo: Where is that OpenGL API description XML file? 21:10
pmichaud back from lunch
21:10 dalek left 21:11 mauke_ joined, dalek joined, ChanServ sets mode: +v dalek
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:11
21:12 xfix is now known as notfix 21:14 mauke left
timotimo i did not 21:15
not yet
cvs.khronos.org/svn/repos/ogl/trun...ublic/api/ - the gl.xml file in here
(also worth pointing out that the readme.pdf seems quite detailed-
21:15 mauke_ left
timotimo so read that too if you'd like to work on an opengl binding generator) 21:15
21:16 molaf joined
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: rt.perl.org/rt3//Public/Bug/Displa...l?id=72814
moritz FROGGS: re perl6.org subdomain: there are basically two choices
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.
FROGGS listens
moritz FROGGS: 1) host it on feather2, and use a name-based virtual host 21:19
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
FROGGS #1 sounds good :o) 21:20
moritz ... as long as feather still exists, yes
21:20 brrt joined
brrt \o 21:21
FROGGS yeah
I mean, it is no big deal to move it to another machine later...
hi brrt
timotimo japhb: heh :) 21:22
brrt hi FROGGS
dalek ast: c8e9ef2 | usev6++ | S04-declarations/my.t:
Unfudge passing test (rakudo.jvm) for RT #72814
21:23
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=72814
21:30 alexghacker left 21:31 rindolf left 21:35 pdcawley left
dalek ast: 5e0641d | usev6++ | S02-names-vars/names.t:
Add test for RT #75646
21:35
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=75646
gtodd moritz: 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:36
moritz gtodd: erm, what's your question? I have parsing problems... 21:37
21:37 mauke_ joined
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:37
so should these be saved: github.com/perl6/mu/tree/0d4730b6d...b/docs/AES :-) 21:38
21:38 pdcawley joined
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:40 mauke left
gtodd k 21:41
dalek : bf1c84d | (Graham Todd)++ | docs/feather/syn_index.html:
remove links to draft community/debugging specs

Historically still here: github.com/perl6/mu/tree/0d4730b6d...b/docs/AES
21:42
timotimo hmm 21:43
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
FROGGS timotimo: you only can cast *from* a pointer 21:44
timotimo hmm.
21:44 BenGoldberg joined
timotimo SDL2's api requires passing SDL_Rect as pointers rather often; building a CArray "just for that" seems wasteful 21:45
21:45 kjs_ left
FROGGS but when you pass your rect object, it will be passed as a pointer, no? 21:45
dalek : 35920dd | moritz++ | docs/feather/ (9 files):
remove more outdated stuff
21:46
moritz honestly, who uses SVK these days? :-) 21:47
21:47 mauke_ left, mauke_ joined
Ven moritz: "a recent version of pugs" right :P 21:48
dalek : 25e152f | pmichaud++ | docs/feather/syn_index.html:
Change <title> to "Perl 6 Design Documents"
21:49
21:49 mauke left
pmichaud GitHub++ for letting me edit that in my brower and not have to clone the repo. :) 21:49
*browser
timotimo are you sure?
Ven I should read an apocalypse or exegesis...
timotimo FROGGS: you are right! i didn't realize that 21:51
21:53 kjs_ joined, mauke joined
ab5tract m: say bag(< n e e d e>) (<=) bag(< n e e d >) 21:57
camelia rakudo-moar 315ec6: OUTPUT«True␤»
21:57 mauke_ left
ab5tract should these set operators be working for bags as well? 21:58
timotimo huh?
oh, right
21:58 mauke_ joined
dalek p: 3847738 | (Tobias Leich)++ | src/vm/jvm/ (6 files):
implement nqp::closefh_i on jvm
21:58
ab5tract i started digging into (^)
bags are kinda tricky :) 21:59
timotimo do we have different operators for sets and bags?
ab5tract no, but not all the set operators are baggied, or LoLy for that matter
timotimo hm, ok
dalek p: 12cc3ba | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
map nqp::closefhi on moar (parrot and jvm are TODO)
p: fb95ee9 | (Tobias Leich)++ | src/vm/parrot/QAST/Operations.nqp:
implement nqp::closefhi on parrot
p: f69c7c4 | (Tobias Leich)++ | src/vm/ (2 files):
rename to nqp::closefh_i (because it returns an int)
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
22:00 Ven left
ab5tract or whether that should only be triggered if the first list is a bag 22:00
22:00 treehug88 left
ab5tract m: say bag(< n e e d y>) (<=) bag(< n e e d >) 22:00
camelia rakudo-moar 315ec6: OUTPUT«False␤»
moritz sleep& 22:01
22:01 mauke left
japhb g'night, moritz 22:01
22:01 mauke__ joined
ab5tract i'll take a look at those 22:01
ciao moritz
dalek kudo/nom: f529b33 | (Tobias Leich)++ | src/core/IO/Handle.pm:
implement IO::Handle.close-pipe, which returns the exit code
kudo/nom: b9deb95 | (Tobias Leich)++ | src/core/IO/Handle.pm:
nqp::closefhi is now called nqp::closefh_i
FROGGS .tell lizmat are you happy with IO::Handle.close-pipe? 22:02
yoleaux FROGGS: I'll pass your message to lizmat.
ab5tract i think i'm on my way there too
o/ #perl6
22:02 ab5tract left 22:04 mauke_ left 22:05 mauke__ is now known as mauke
tadzik masak: 1) for Justin Case, 2) for not being properly lazy about certain stuff :) 22:06
2) is a reported bug, fwif
dalek kudo/nom: 85af904 | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp revision
22:07
p: f54c1a1 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
bump moar revision
kudo/nom: 560a8b0 | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp revision
22:07 kjs_ left
FROGGS damn, I updated the revision files and forgot to commit them :/ 22:08
TimToady m: say 40.&infix:<+>(2) 22:10
camelia rakudo-moar 315ec6: OUTPUT«42␤»
TimToady m: say 40.&[+](2)
camelia rakudo-moar 315ec6: OUTPUT«42␤»
TimToady masak: why all the add_method skullduggery?
22:11 travis-ci joined
travis-ci NQP build failed. Tobias Leich 'rename to nqp::closefh_i (because it returns an int)' 22:11
travis-ci.org/perl6/nqp/builds/39321260 github.com/perl6/nqp/compare/38477...9c7c497c35
22:11 travis-ci left
FROGGS latest build of nqp passed: travis-ci.org/perl6/nqp 22:12
22:13 mauke_ joined
pmichaud ...because some skulls just need to be duggered. 22:13
TimToady not for a few days yet... 22:14
pmichaud heh. around here, All Hallow's Eve seems to have already started
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
this year looks to be a soggy one...
pmichaud Someone must be dressing up as Schrodinger. 22:16
22:16 mauke left
TimToady or maybe his cat 22:16
Oh, you poor, half-dead thing!
pmichaud That's not exactly thinking outside the box, though. 22:17
22:17 travis-ci joined
travis-ci Rakudo build failed. Tobias Leich 'nqp::closefhi is now called nqp::closefh_i' 22:17
travis-ci.org/rakudo/rakudo/builds/39321552 github.com/rakudo/rakudo/compare/9...deb95714b3
22:17 travis-ci left
TimToady well, hey, it's all about decay 22:18
22:18 mauke joined 22:20 brrt left
TimToady At least we can know that if Schrödinger comes, Pauli won't be with him, and vice versa. 22:21
actually, it's Heisenburg I'm uncertain about
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
TimToady: haha
22:22 mauke_ left
TimToady you might be able to look in the capture, if you have a sig of (|cap) 22:23
22:24 mauke left 22:25 mauke joined 22:26 travis-ci joined
travis-ci Rakudo build failed. Tobias Leich 'bump nqp revision' 22:26
travis-ci.org/rakudo/rakudo/builds/39322209 github.com/rakudo/rakudo/compare/b...af9042857d
22:26 travis-ci left 22:29 kjs_ joined
FROGGS latest rakudo build passed: travis-ci.org/rakudo/rakudo/builds/39322253 22:29
(travis was meant to tell that too)
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␤␤»
..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 leont left
tony-o got it worked out, just thought that was funny 22:33
TimToady: thank you
Tekk_ hey tadzik. Was there any particular itch you were scratching with MPD/ 22:35
22:38 leont joined
tadzik Tekk_: I don't think so 22:39
Tekk_ okay
FROGGS .tell jnthn that's a real life report: froggs.de/perl6/cpantesters/ (though, statically put there for review) 22:40
yoleaux FROGGS: I'll pass your message to jnthn.
Tekk_ I think mine should be good enough for an initial release but it needs a lot of work 22:41
need to add error values for one thing, at the moment all the methods just return the current song
FROGGS that might be okay if it is a good song :o) 22:43
pmichaud g'nite, #perl6 # time for a meeting 22:44
22:44 kjs_ left
FROGGS night pmichaud 22:44
22:50 virtualsue left 22:52 denis_boyun_ left 22:59 spider-mario left 23:13 gfldex left 23:19 Isp-sec left
timotimo tadzik: xmms2 is more awesome anyway 23:22
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␤␤»
masak this error message could be better, IMO
(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
masak I would suggest the latter
and same with the reverse situation
m: class C { method foo { self!bar }; method bar { say "hey, I'm right here, too!" } }; C.new.foo
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/Q4n12TMUo6␤No such private method 'bar' for invocant of type 'C'␤at /tmp/Q4n12TMUo6:1␤------> class C { method foo { self!⏏bar }; method bar { say "hey, I'm right ␤»
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
camelia rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/SEU5b5AYtA␤No such private method 'bar' for invocant of type 'C'␤at /tmp/SEU5b5AYtA:1␤------> class C { method foo { self!⏏bar }; submethod bar { say "hey, I'm rig␤»
masak submethod != private method
but yes, that's perhaps yet another namespace to search for things in when producing a better error message 23:28
jepeway masak: thanks for the looksee. 23:29
masak jepeway: no prob. good luck with more of it :) 23:34
jepeway masak: ty, will need it, no doubt.
23:34 FROGGS left
masak submits rakudobug for the public/private method with a submethod on the side 23:34
23:35 fhelmberger joined
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
maybe I should've scrolled more :/
jepeway oh, no, i just v. little git/github fu 23:36
containing repo has more: github.com/cjepeway/p6-tz
masak ah, yes. just found it.
jepeway *have
masak nice. 23:37
that looks like a really good start.
jepeway++
yes, that's more what I expected to see ;)
jepeway ah, good.
like the README sez, t/04-datetime shows the offset vs. wallclock rules in DateTime, if you look at it sideways & squint 23:40
23:40 fhelmberger left
masak mhm 23:40
jepeway s/like/as/ (eep)
so, i think next thing i'll tackle is a class derived from DateTime that tries to dtrt w/ a TimeZone. 23:41
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.
Err,
jepeway, DT::TZ exists.
jepeway BenGoldberg: link? 23:43
BenGoldberg Oops, wrong channel, I thought I was on #perl
masak wow, oops.
BenGoldberg feels silly
masak hugs BenGoldberg :)
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 :)
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 www.iana.org/time-zones, and then Do Something with it. 23:54
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. 23:57