»ö« 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«BlubBlubBlubBlubBlub» | ||
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«BlubBlubBlubBlubBlub» | ||
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 proParse failedFAILED 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/le6w812yk9Unsupported 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/KDc1OAZO3PVariable '$c' is not declaredat /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/4SVYtYZqUDUndeclared 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/4ueFzuoXo6Undeclared 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/gtMhsJ9v3fVariable '%e' is not declaredat /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/Q4n12TMUo6No 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/SEU5b5AYtANo 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 |