»ö« 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:01
dmol left
|
|||
BenGoldberg | r: say nqp::rand_I(2, Int) xx 40 | 00:01 | |
camelia | rakudo-jvm a6b2af: OUTPUT«(timeout)» | 00:02 | |
..rakudo-parrot a6b2af: OUTPUT«0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1» | |||
..rakudo-moar a6b2af: OUTPUT«0 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0» | |||
00:02
ssutch left,
ventica left,
ConanTheBrbrian is now known as hoverboard
|
|||
timotimo | yeah, that seems more healthy | 00:02 | |
carlin | linux has a sane rand() it seems | 00:03 | |
so the fix for this would be for moar to use something like arc4random on openbsd instead of rand ? | 00:04 | ||
BenGoldberg | Personally, I think it would be good if the random sequence were entirely pluggable. Let the user set $*RANDOM or whatever to some object which supplies random numbers, and have rand() and srand() call methods on that object. | 00:07 | |
00:08
noganex_ left,
noganex joined
|
|||
timotimo | that would be nice, but it's not that easy to plug into the tommath pieces | 00:08 | |
00:09
ssutch joined
|
|||
timotimo | though we could certainly have something on moarvm that registers two callables that would just "do it for you"; but that would make those big int ops invokey ... hmm. | 00:09 | |
00:11
chenryn joined
00:13
rurban1 joined,
chenryn left
00:18
Psyche^ joined
|
|||
carlin | > say nqp::rand_I(2, Int) xx 40 | 00:19 | |
0 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 | |||
^ using random() instead of rand() | |||
I'm glad for the spetest that caught this, digging through moar's source to see what was going on has been an interesting adventure | 00:20 | ||
00:22
Psyche^_ left
|
|||
itz_ | oh anyone who hasn't seen tig(1) - ncurses based git log viewer its quite nice | 00:28 | |
00:31
ssutch left,
ssutch joined
00:36
ssutch left
00:42
rurban1 left
00:51
thou joined
00:56
thou left
01:05
nbrown joined
01:08
FROGGS_ joined
01:09
nbrown left
01:12
FROGGS left
|
|||
timotimo | yup, it's pretty neat | 01:30 | |
grondilu noticed a clear decrease in performance after update today | 01:31 | ||
This is perl6 version 2014.07-44-ga6b2af7 built on MoarVM version 2014.07-15-gb6a4250 | |||
timotimo | oh? | 01:32 | |
give us more details? | 01:33 | ||
can you also look at the git reflog and see what revisions you had built before that? | 01:42 | ||
01:43
jack_rabbit joined
|
|||
colomon | itz_: agreed, I've been using tig for about a month now, and I love it. | 01:43 | |
grondilu | timotimo: I often try something like say [+] rand xx 100_000 and today it took twice as long | ||
though to be honest I should check that there is not something wrong on my PC. I suspect there is. | 01:44 | ||
timotimo | part of me hopes there is, part of me hopes there isn't ;) | ||
grondilu | so if the decrease in perf is not confirmed by something else, I'll blame my computer. | ||
s/something/someone/ | 01:47 | ||
rjbs- | TimToady: www.nntp.perl.org/group/perl.perl5....18145.html ;) | 01:49 | |
01:50
klapperl_ joined
01:53
klapperl left
02:05
Util joined
|
|||
Util | Just released: hpmor.com/chapter/102 | 02:08 | |
02:08
noganex left
02:12
noganex joined
02:13
ssutch joined
02:17
ventica joined
02:19
ventica left
02:20
rurban1 joined
02:25
rurban1 left
|
|||
gtodd | say nqp::rand_I(2, Int) xx 40 | 02:27 | |
oopsi | |||
e | |||
02:39
thou joined
02:44
thou left
|
|||
jack_rabbit | I've been looking, but I can't seem to find documentation on what exactly '>>' means in this context. I think I understand what it does, but can't find any docs: ["hello", "world"]>>.substr(1); | 03:06 | |
03:07
hoverboard left
|
|||
BenGoldberg | m: ["hello", "world"]>>.substr(1); | 03:11 | |
camelia | ( no output ) | ||
BenGoldberg | m: ["hello", "world"]>>.substr(1).say; | ||
camelia | rakudo-moar 506aae: OUTPUT«ello orld» | ||
03:12
chenryn joined
|
|||
jack_rabbit | m: my @arr = ["hello", "world"]>>.substr(1); say @arr; | 03:15 | |
camelia | rakudo-moar 506aae: OUTPUT«ello orld» | ||
gtodd | oh my problem is the ChoHag problem described here: irclog.perlgeek.de/perl6/2014-06-10 ... parrot dynacall -fPIC etc etc | 03:16 | |
ermm dyncall that is ... | 03:19 | ||
Util | jack_rabbit: see perlcabal.org/syn/S03.html#Unary_hyper_operators , but the better examples are further down, after: | ||
"When using a unary operator" ... | |||
gtodd | ChoHag: from the look of that log it was a frustrating morning ;-\ how did you fix it ? get dyncall to build with -fPIC? or .... | ||
03:20
[Coke]_ is now known as [Coke]
03:21
rurban1 joined
|
|||
Util | jack_rabbit: LIST>>.method is the same as map { .method }, LIST , but without the surety of execution order. (Result order *is* assured, though). | 03:22 | |
jack_rabbit | Util, thanks! | ||
I'll read that. | |||
Util | jack_rabbit: yw | 03:24 | |
gtodd | ChoHag: only asking asking since my rakudo won't build issue seems similar to yours paste.scsys.co.uk/409550?tx=on&...rmat+it%21 down to the FreeBSD/clang and dyncall ... parrot builds on its own but perl6-p won't | 03:27 | |
seems the conclusion back then (June) was that "the version of dyncall bundled with nqp for the parrot backend is out of date" | 03:31 | ||
03:35
hoverboard joined
03:36
hoverboard left
03:39
xiaomiao left
03:59
rurban1 left
04:00
Akagi201 joined
04:01
ventica_desktop joined
04:02
Akagi201 left
04:07
Akagi201 joined
04:09
Akagi201 left
04:11
ssutch left,
Akagi201 joined,
ssutch joined
04:12
ssutch left
04:14
ssutch joined
04:15
BenGoldberg left,
Akagi201 left
04:16
chenryn left
|
|||
ventica_desktop | m: my @a = 'a' .. *; say @a[290]; | 04:18 | |
camelia | rakudo-moar 506aae: OUTPUT«ke» | ||
ventica_desktop | hrm ... i see what u did there... | 04:19 | |
m: my @a = 'A' .. *; say @a[290]; | |||
camelia | rakudo-moar 506aae: OUTPUT«KE» | ||
ventica_desktop | mhmm | ||
m: my @a = '1' .. *; say @a[290]; | |||
camelia | rakudo-moar 506aae: OUTPUT«291» | ||
ventica_desktop | m: my @a = '!' .. *; say @a[290]; | ||
camelia | rakudo-moar 506aae: OUTPUT«!» | ||
ventica_desktop | hmmm | ||
interesting | |||
very DWIMmy | 04:20 | ||
right on the border of too DWIMmy :P | |||
04:24
dwarring left
04:25
xiaomiao joined
04:27
rindolf joined
04:28
thou joined
04:32
thou left
04:35
araujo left
04:36
robinsmidsrod left
04:37
kurahaupo_ left,
robinsmidsrod joined
04:41
gamo joined
|
|||
gamo | Hi. Is rakudo star usable? | 04:41 | |
ventica_desktop | m: my $usable=1; say "Rakudo Star is usable" if ($usable); | 04:42 | |
camelia | rakudo-moar 506aae: OUTPUT«Rakudo Star is usable» | ||
gamo | tahnks. About how is the speed of the compiled programs? | 04:43 | |
rindolf | Hi all. | 04:45 | |
ventica_desktop | Depends on the backend and depends on what you're trying to run. I think all the basic operators and "normal" code (Perl5-like or C-like code) are respectably fast | ||
o/ | |||
gamo | But perl5 and C are much different | 04:46 | |
ventica_desktop mumbles something about a Perl 6 web toy in light of the latest inquiries... | |||
gamo: Indeed. I just mean all the straightforward operators, function calls, basic I/O, etc. | 04:47 | ||
It's mostly done and perf is respectable | |||
m: my @array = 1..10; say @array; #basic stuff works and is not slow at all | 04:48 | ||
camelia | rakudo-moar 506aae: OUTPUT«1 2 3 4 5 6 7 8 9 10» | ||
gamo | ok | 04:50 | |
I will ask about a package for ubuntu, for not screwing up perl5 | 04:52 | ||
ventica_desktop | u mean u think perl 6 will screw up perl 5? | ||
gamo | yes | ||
ventica_desktop | i don't see why it would affect perl 5 at all... | 04:53 | |
grondilu | the executable is different, for a start. | ||
ventica_desktop | perl 6 is not literally perl 6.0, as in, an upgrade of the latest perl 5.whatever | ||
gamo | I don't know how is ubuntuish thing in either case | 04:54 | |
grondilu | there already is a rakudo package on debian sid | ||
so it's probably not too hard to use it on ubuntu | |||
gamo | it's older than april version | ||
grondilu | well, yeah, if you want the lastest (and you do), it's not perfect. | 04:55 | |
s/lastest/latest/ | |||
ventica_desktop | .oO(What is perfect?) |
||
ChoHag | gtodd: dyncall needs -fPIC | 04:56 | |
ISTR compiling it by hand. | |||
04:57
Akagi201 joined
05:00
rurban1 joined
05:04
rurban1 left
|
|||
xinming | gamo: perl6 and perl5 are both great, They both worth learning, and I belive even perl 6 is out, perl 5 and perl 6 will coexist for a long time. | 05:06 | |
ventica_desktop | m: my @arr=1..10; say [+] @arr; | ||
camelia | rakudo-moar 506aae: OUTPUT«55» | ||
xinming | perl 6 won't affect perl 5 much, perl 5 is still adopting new features from perl 6 with minimal change on the language itself. | 05:07 | |
ventica_desktop | my @arr=1..10; say [<] @arr; | 05:08 | |
m: my @arr=1..10; say [<] @arr; #derp | |||
camelia | rakudo-moar 506aae: OUTPUT«True» | ||
ventica_desktop | m: my @arr=1..10,9; say [<] @arr; | ||
camelia | rakudo-moar 506aae: OUTPUT«False» | ||
ventica_desktop thinks the meta-cross should die... | 05:11 | ||
my @arr='a'xx5; say @arr; | |||
m: my @arr='a'xx5; say @arr; #sigh | 05:12 | ||
camelia | rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/A8mf1vxzGQTwo terms in a rowat /tmp/A8mf1vxzGQ:1------> my @arr='a'⏏xx5; say @arr; #sigh expecting any of: postfix infix stopper inf…» | ||
ventica_desktop | m: my @arr='a' xx 5; say @arr; #sigh | ||
camelia | rakudo-moar 506aae: OUTPUT«a a a a a» | ||
ventica_desktop | i see why... but... :\ | ||
m: my @arr='a' xx 5; say [eq] @arr; | 05:13 | ||
camelia | rakudo-moar 506aae: OUTPUT«True» | ||
ventica_desktop | m: my @arr='a' xx 5,'b'; say [eq] @arr; | ||
camelia | rakudo-moar 506aae: OUTPUT«False» | ||
ventica_desktop | m: my @arr='a' xx 5,'b'; say [.] @arr; | 05:14 | |
camelia | rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/C1KttihNzdUnsupported use of . to concatenate strings; in Perl 6 please use ~at /tmp/C1KttihNzd:1------> my @arr='a' xx 5,'b'; say [.]⏏ @arr;» | ||
ventica_desktop | oops | ||
m: my @arr='a' xx 5,'b'; say [~] @arr; | |||
camelia | rakudo-moar 506aae: OUTPUT«aaaaab» | ||
ventica_desktop | yummy | ||
05:17
noganex left
|
|||
gamo | thanks, xinming | 05:19 | |
05:20
kaare__ joined
|
|||
ventica_desktop | m: say ([X] (1,2),(3,4),(5,6)).tree # help! | 05:22 | |
camelia | rakudo-moar 506aae: OUTPUT«1 3 5 1 3 6 1 4 5 1 4 6 2 3 5 2 3 6 2 4 5 2 4 6» | ||
ventica_desktop | i assume it got flattened before the outer parens got ahold of it.. | 05:23 | |
Timbus | m: say ([X] (1,2),(3,4),(5,6)).tree.perl | 05:26 | |
camelia | rakudo-moar 506aae: OUTPUT«([1, 3, 5], [1, 3, 6], [1, 4, 5], [1, 4, 6], [2, 3, 5], [2, 3, 6], [2, 4, 5], [2, 4, 6]).list» | ||
ventica_desktop | hrmmm O.o | ||
ok, i get it | 05:27 | ||
m: my @a = ([X] (1,2),(3,4),(5,6)).tree; say @a[0]; | |||
camelia | rakudo-moar 506aae: OUTPUT«1 3 5» | ||
ventica_desktop | there we go | 05:28 | |
m: my @a = ([X] (1,2),(3,4),(5,6)); say @a[0]; | |||
camelia | rakudo-moar 506aae: OUTPUT«1» | ||
ventica_desktop | correcto | ||
in other words [X] is transpose | |||
as long as you put .tree suffix | |||
Timbus | or.. hm | 05:29 | |
m: say ([X] (1,2),(3,4),(5,6)).lol.perl | |||
camelia | rakudo-moar 506aae: OUTPUT«LoL.new(ListIter.new())» | ||
Timbus | nevermind | ||
ventica_desktop | no, ur right its not | ||
Timbus | use it to generate.. probability trees or something.. | 05:32 | |
ventica_desktop | yeah, it's a cross-product with shape preserved | ||
Timbus | m: say ([\X] (1,2),(3,4),(5,6)).tree.perl | ||
camelia | rakudo-moar 506aae: OUTPUT«((1,), [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6]).list» | ||
Timbus | woa | 05:33 | |
ventica_desktop | haha | ||
05:33
cognome left,
cognominal left
05:34
cognome joined
|
|||
ventica_desktop | m: my @m = (1,2,3), (4,5,6); my @t; for ^@m X ^@m[0] -> $x, $y { @t[$y][$x] = @m[$x][$y] }; say @t.tree; | 05:36 | |
camelia | rakudo-moar 506aae: OUTPUT«1 2 3 4 5 6» | ||
ventica_desktop | RosettaCode lied! >:-( | ||
05:37
rurban1 joined
|
|||
ventica_desktop | m: my @m = (1,2,3), (4,5,6); my @t; for ^@m X ^@m[0] -> $x, $y { @t[$y][$x] = @m[$x][$y] }; say @t.tree.perl; | 05:37 | |
camelia | rakudo-moar 506aae: OUTPUT«([1, 2, 3, 4, 5, 6],).list» | ||
05:38
cognome left
05:42
rurban1 left
05:51
xinming left
05:52
xinming joined
06:01
cognome joined
06:12
rindolf left
06:16
thou joined
06:20
rindolf joined,
fling joined
|
|||
fling | Hello. | 06:20 | |
06:21
thou left
06:29
woolfy joined
06:30
figoe left
06:31
ssutch left
06:33
ssutch joined
06:35
figoe joined
06:37
ssutch left
06:38
rurban1 joined,
hoverboard joined
06:42
rurban1 left
06:51
gfldex joined
06:57
ventica_desktop left
07:02
ssutch joined
07:06
ssutch left
07:15
ssutch joined
07:19
ssutch left
07:22
lizmat joined,
cognominal joined
07:25
darutoko joined
07:31
Alula_ joined
|
|||
timotimo | hi | 07:33 | |
07:33
rindolf left
|
|||
Woodi | o/ | 07:34 | |
timotimo | i wonder what ventica's problem with meta-cross is | ||
07:34
rindolf joined
07:37
woolfy left,
jack_rabbit left
07:38
rurban1 joined
07:39
FROGGS[mobile] joined
|
|||
Woodi | um, could it be used to simulate SQL joins ? free CPU cycles on backends :) | 07:39 | |
FROGGS[mobile] | m: say "ba,a,a,aabbb" ~~ / a ** { 2..5 } % "," / | 07:41 | |
camelia | rakudo-moar 506aae: OUTPUT«「a,a,a,a」» | ||
FROGGS[mobile] | \o/ | ||
timotimo | yays again | ||
FROGGS[mobile] | well, last time I broke the build | 07:42 | |
07:43
rurban1 left
|
|||
FROGGS[mobile] | ahh, I need to push the unfudged spectests | 07:45 | |
07:47
mr-foobar left
08:04
thou joined
08:09
thou left,
SamuraiJack__ joined
|
|||
dalek | ast: d90cfb6 | (Tobias Leich)++ | S05-m (2 files): RT #121306 unfudge tests about /a**{}/ |
08:12 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121306 | ||
08:16
ssutch joined
|
|||
vendethiel | o/ | 08:20 | |
08:20
ssutch left
08:25
xinming_ joined
08:29
xinming left,
SamuraiJack__ left,
SamuraiJack__ joined
|
|||
TimToady | [Coke], masak: re irclog.perlgeek.de/perl6/2014-07-20#i_9053071 the 0 behavior is defined in S03:562 | 08:30 | |
synopsebot | Link: perlcabal.org/syn/S03.html#line_562 | ||
masak | good antenoon, #perl6 | 08:37 | |
sergot | hi o/ | 08:38 | |
08:38
jack_rabbit joined
08:39
rurban1 joined
08:42
noganex joined
|
|||
itz_ | why does $*DISTRO exist? seems a little linux specific? | 08:43 | |
08:43
rurban1 left
08:45
SamuraiJack__ left,
SamuraiJack joined
|
|||
itz_ | I suppose pragmatically it probably does make things easier since they are so different | 08:46 | |
08:48
kivutar joined
|
|||
masak | TimToady: ah, then that spectest was actually correct. | 08:48 | |
[Coke]: ^ | 08:49 | ||
08:52
Ven joined
08:54
molaf left
08:57
avuserow_ is now known as avuserow
09:01
hoverboard left
|
|||
avuserow | hi all. I've taken a stab at summarizing (what I believe to be) the important rakudo changes since the previous star release, so please check out the release notes and offer feedback | 09:08 | |
github.com/avuserow/star/blob/78b9...2014.07.md | |||
09:08
mr-foobar joined
|
|||
avuserow | also I've decided to upload a RC1 for testing. there is one module failing for parrot (and many for JVM). You can get this at www.dropbox.com/s/qrx89mnavx7euee/...RC1.tar.gz | 09:09 | |
itz_ | avuserow: I was experimenting with * builds last night and will take a look | 09:10 | |
avuserow | when I get back online today, I'll have the core dump for the parrot failure in jsonrpc, and I'll see about filing the bug. I'm not sure whether that is a blocker or not but we do have time in which to look at it | ||
also let me know if there is a better place for uploading stuff than dropbox. I don't have webspace handy at the moment, and wasn't sure if I could make github serve it without putting it in the git repo | 09:12 | ||
09:16
ssutch joined
|
|||
FROGGS_ | itz_: well, we need to provide a superset of needed information, not a subset | 09:19 | |
avuserow: I know more about the jsonrpc failure... | 09:20 | ||
itz_ | avuserow: there are minor issues with p6doc .. for a start it doesn't work :) eval -> EVAL needed (I opened an issue about it) | ||
09:20
ssutch left
|
|||
itz_ | neither does the example in the help work .. it's now "Type/Str" | 09:22 | |
09:24
itz_ is now known as itz
09:26
jack_rabbit left
09:27
SamuraiJack left
|
|||
FROGGS_ | itz: can you file a PR? | 09:27 | |
itz | I filed a PR for the first issue not the second | 09:28 | |
Actually I'll just do a pull request | |||
FROGGS_ | itz++ | 09:29 | |
then we just need to bug the commit bit holder(s) | |||
09:36
rindolf left
09:37
dmol joined
09:39
tgt joined
09:40
rurban1 joined
|
|||
itz | the Str thing is odd . may be a * path build issue | 09:41 | |
09:43
spider-mario joined
09:44
rurban1 left
|
|||
itz | github.com/perl6/doc/pull/24 | 09:45 | |
hmm no not * specific | 09:48 | ||
09:53
thou joined,
rindolf joined
|
|||
tgt | Hi. Is there a nice way to write a grammar that will match a set of tokens once each, but not care about the order? | 09:55 | |
A very simplified example could be checking that a string only contains one occurance of each of a, b and c, whilst not caring about the order. | |||
09:58
thou left
|
|||
itz | d'uh Type::Str would be better | 09:58 | |
need coffee | |||
tgt | [<a> | <b> | <c>]*, but with the added constraint that once a token has been matched it can't be matched again. | 10:00 | |
FROGGS_ | m: say "acbdefaefbc".match(/ ( a | b | c ) /, :g).list>>[0]>>.Str.uniq # tgt: is that an option? | 10:12 | |
camelia | rakudo-moar 506aae: OUTPUT«a c b» | ||
10:17
ssutch joined
|
|||
tgt | The important thing is that it fails to match if the token is found multiple times. My current grammar is gist.github.com/tgt/f8b6c57675938b702f2c | 10:20 | |
FROGGS_ | yeah, I thaught so ... | ||
10:20
hoverboard joined
|
|||
FROGGS_ | m: my @a = <a b c>; say "abc" ~~ / | @a / # that might be interesting for you | 10:21 | |
camelia | rakudo-moar 506aae: OUTPUT«「a」» | ||
FROGGS_ | with the | bar before the array it will also do LTM | 10:22 | |
10:22
ssutch left
|
|||
FROGGS_ | without the | bar or with || it will match sequentially | 10:22 | |
psch | m: my $rx = /:my @cache; (.)+! <!{ $/.values.grep($0) > 1 }> $ /; say "aabc" ~~ $rx; # been fiddling with something like this, but it doesn't quite work | 10:23 | |
camelia | rakudo-moar 506aae: OUTPUT«「aabc」 0 => 「a」 0 => 「a」 0 => 「b」 0 => 「c」» | ||
psch | because im treating $/ wrong in the regex, clearly | ||
but .Bag doesn't do what it'd need there either | |||
m: my $rx = /:my @cache; (.)+! <!{ $/.values.Bag.grep($0) > 1 }> $ /; say "aabc" ~~ $rx; say "abc" ~~ $x | 10:24 | ||
camelia | rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/w2KmCMV0WwVariable '$x' is not declaredat /tmp/w2KmCMV0Ww:1------> $ /; say "aabc" ~~ $rx; say "abc" ~~ $x⏏<EOL> expecting any of: postfix» | ||
psch | m: my $rx = /:my @cache; (.)+! <!{ $/.values.Bag.grep($0) > 1 }> $ /; say "aabc" ~~ $rx; say "abc" ~~ $rx | ||
camelia | rakudo-moar 506aae: OUTPUT«「aabc」 0 => 「a」 0 => 「a」 0 => 「b」 0 => 「c」「abc」 0 => 「a」 0 => 「b」 0 => 「c」» | ||
psch | :/ | ||
FROGGS_ | m: my %found; my @a = <a b c>; say "acbdefaefcb".match(/ <found={ (@a (-) %found.keys).list }> { %found{$<found>} = 1 } /, :g).list | 10:25 | |
camelia | rakudo-moar 506aae: OUTPUT«「a」 found => 「a」 「c」 found => 「c」 「b」 found => 「b」 「a」 found => 「a」 「c」 found => 「c」 「b」 found => 「b」» | ||
FROGGS_ | hmmm | ||
psch | m: my $rx = /:my @cache; (.)+! <!{ $/.values.Bag.values.grep($0) > 1 }> $ /; say "aabc" ~~ $rx; say "abc" ~~ $rx | ||
camelia | rakudo-moar 506aae: OUTPUT«「aabc」 0 => 「a」 0 => 「a」 0 => 「b」 0 => 「c」「abc」 0 => 「a」 0 => 「b」 0 => 「c」» | ||
psch just noticed he left that array declared | 10:30 | ||
10:36
Ven left
|
|||
FROGGS_ | m: my %found; my @a = <a b c>; "aa" ~~ m:g/ (<{ say %found.keys; say(set(<a b c>) (-) set(%found.keys)); (@a (-) %found.keys).list }>) { %found{~$0}++ } /; say %found | 10:36 | |
camelia | rakudo-moar 506aae: OUTPUT«Nilset(a, b, c)aset(a, b, c)aset(a, b, c)("a" => 2).hash» | ||
FROGGS_ | I don't get it | ||
psch | m: my $rx = / (.)+! <!{ $0.values>>.Str.Bag.grep: { $^a.values > 1 } }> /; say "aabc" ~~ $rx; say "abc" ~~ $rx | ||
camelia | rakudo-moar 506aae: OUTPUT«「c」 0 => 「c」「c」 0 => 「c」» | ||
psch | i think i want that to work :P | ||
haha | 10:37 | ||
FROGGS_ | after the first match there is an "a" in %found, but the set operation returns still a b c | ||
moritz | oh hai | ||
FROGGS_ | hi moritz | ||
psch | hi moritz | ||
moritz | I've now implemented the changes to the "owners" team on github | ||
which means that masak++, FROGGS_++ and timotimo++ are now in there, and sorear++ is gone | 10:38 | ||
psch | m: my $rx = / ^ (.)+! <!{ $0.values>>.Str.Bag.pairs.grep: { $^a.value > 1 } }> $ /; say "aabc" ~~ $rx; say "abc" ~~ $rx # !! | ||
camelia | rakudo-moar 506aae: OUTPUT«Nil「abc」 0 => 「a」 0 => 「b」 0 => 「c」» | ||
psch | tgt: that does it, apparently | ||
FROGGS_ | thanks moritz | ||
psch | first match gives Nil, second gives the Match | ||
10:42
rurban1 joined
10:43
Ven joined
|
|||
tgt | Interesting, thanks. I'll see what I can do with that. | 10:43 | |
psch | of note might be that dropping the anchors only gives you a connected substring that has no duplicates | 10:44 | |
10:46
rurban1 left
|
|||
tgt | Is there a way to disable parts of a grammar? (e.g. in the gist I posted above I'd like to be able to disable the unknown-tag rule if I passed :strict to the grammar.) | 10:46 | |
psch | you could make the rule never match if some $strict is set, similarly to what i did above | 10:50 | |
but i don't think you can actually remove the rule from the grammar | 10:51 | ||
FROGGS_ | tgt: put these tokens in a role, and mix it in conditionally | ||
tgt | Aha, good idea. Thanks for your help psch and FROGGS_ :) | 10:52 | |
11:00
Ven left
11:01
Ven joined
11:11
dmol left
11:15
spider-mario left
11:18
ssutch joined
|
|||
itz | linus doesn't seem to like gcc 4.9 (new in debian sid)! | 11:18 | |
Woodi | yea, just learned that too... lkml.org/lkml/2014/7/24/584 | 11:20 | |
also spotted libressl today :) | |||
11:22
ssutch left
|
|||
Woodi | btw. Marcus Ranum years ago was making jokes about ppls going mad when OpenSSH patch was released, eg. ppls leaving conference rooms in hurry :) | 11:24 | |
grondilu is confused as it so happens he's currently upgrading his debian sid system and there is gcc 4.9 :/ | 11:29 | ||
itz | I'm just trying gcc 4.9 with rakudobrew and it looks OK to me so far | 11:30 | |
BinGOs | apt-get install clang-3.4 # problem solved | ||
Woodi | Linus was talking about in-kernel special code or something. and probablly 4.9 is passing their test :) | 11:32 | |
*tests | |||
11:33
Ven left
|
|||
BinGOs | you could go the whole hog and install FreeBSD 10, then not worry about a shitty compiler or shitty kernel :) | 11:33 | |
Woodi | BinGOs: but dpkg/apt/aptitude is perfect ! | 11:34 | |
BinGOs | except on debian kfreebsd port it isn't | 11:35 | |
Woodi | when you have problem then scratch thing you changed lastly ;) | ||
BinGOs | I have to alias apt-get to apt-get -o Dpkg::Use-Pty=False | 11:36 | |
itz | why not just use aptitude? | ||
11:36
ssutch joined
|
|||
BinGOs | otherwise Bad Things™ happen | 11:36 | |
itz | specifically on kfreebsd? | 11:37 | |
BinGOs | aptitude will use dpkg still no? | ||
Woodi | BinGOs: what is correct, native equivalent of ap* on FreeBSD ? | ||
BinGOs | yes, it is kfreebsd specific | ||
Woodi: pkg | |||
Woodi | everything is use dpkg ? | ||
itz | I use pkgsrc on linux which is sort of kfreebsd in reverse :) | 11:38 | |
BinGOs | well it is known as pkgng | ||
Woodi | *using | ||
BinGOs | I tend to use ports versus binary packages | ||
11:38
ssutch_ joined,
ssutch left
|
|||
BinGOs | gcc version 4.9.1 (Debian 4.9.1-2) Target: x86_64-kfreebsd-gnu :( | 11:39 | |
itz | is dtrace in the nonfree repos? | 11:40 | |
BinGOs | for which platform are we talking now? | ||
itz | kfreebsd | 11:41 | |
11:41
thou joined
|
|||
BinGOs | I haven't got nonfree in my sources.list | 11:42 | |
and apt-cache search dtrace doesn't find it. | |||
it's /usr/sbin/dtrace on my FreeBSD 10 box. | |||
Woodi | found in systemtap-sdt-dev | ||
11:42
rurban1 joined
11:43
ssutch_ left
|
|||
itz | via apt-cache find strace? | 11:43 | |
errr | |||
via apt-file find strace? even | |||
11:45
thou left
11:46
mr-foobar left
|
|||
Woodi | "apt s dtrace" :) | 11:46 | |
11:46
mr-foobar joined
11:47
rurban1 left
|
|||
Woodi | sid main probably | 11:47 | |
BinGOs | no strace. | ||
You can install ktrace though | |||
itz | oh I have a JSON::Tiny test failure with moar and gcc 4.9 | 11:50 | |
wonder if that's related | |||
BinGOs | right, set off the update of 44 CPAN tester perls, going to hang the laundry out. | 11:51 | |
11:55
Ven joined
12:07
Ven left
12:08
kivutar left
12:43
rurban1 joined
12:47
rurban1 left
12:50
denis_boyun joined
12:52
nbrown joined
12:53
cooper__ left
12:56
kivutar joined
12:59
nbrown left
13:11
hoverboard left
|
|||
FROGGS_ | avuserow: your RC builds parrot 6.5.0 when it should build 6.6.0 | 13:21 | |
13:29
thou joined
13:32
kivutar left
13:34
thou left
|
|||
dalek | c: a6270f3 | (Steve Mynott)++ | bin/p6doc: eval to EVAL to fix p6doc |
13:43 | |
c: de171af | (Steve Mynott)++ | / (2 files): Str has moved under Type - fix docs and example |
|||
c: a869400 | (Steve Mynott)++ | / (2 files): Str has moved under Type - fix docs and example better |
|||
c: b9e3791 | (Tobias Leich)++ | / (2 files): Merge pull request #24 from stmuk/master fix 1 reported issue with p6doc eval breakage and fix p6doc under star |
|||
13:44
rurban1 joined,
kivutar joined
|
|||
moritz gives stmuk aka Steve Mynott push acccess | 13:47 | ||
13:48
rurban1 left
|
|||
FROGGS_ | (aka itz) | 13:51 | |
moritz | itz++ | 13:52 | |
13:54
kurahaupo joined
|
|||
moritz | Juerd: feather is Xen, right? | 13:58 | |
13:59
kivutar left
14:14
beastd joined,
pmurias_ joined
14:15
pmurias_ is now known as pmurias
|
|||
pmurias | hi | 14:15 | |
why does nqp-moar use a incorrect sub MAIN signature? | |||
FROGGS_ | pmurias: what do you mean? | 14:17 | |
# XXX FIX ME | |||
sub MAIN(@ARGS) { | |||
? | |||
moritz | should be *@ARGS I guess | 14:18 | |
but I guess that nqp is less fancy than real Perl 6, and simply passes the arguments in as a single array | |||
pmurias | FROGGS_: yes | 14:21 | |
it's inconsitent across backends | |||
moritz | j: say 42 | 14:22 | |
camelia | rakudo-jvm 506aae: OUTPUT«(timeout)» | ||
14:22
Ven joined
|
|||
moritz | j: say 23 | 14:23 | |
camelia | rakudo-jvm 506aae: OUTPUT«(timeout)» | ||
FROGGS_ | pmurias: you can try to change it... I'm not sure if it still needs to be that way | 14:24 | |
moritz | j: say 1 | 14:25 | |
camelia | rakudo-jvm 506aae: OUTPUT«(timeout)» | ||
moritz | j is now officially borked. I've restarted the evalserver twice, and it still spooks around. | 14:26 | |
Ven | 2spooky | ||
moritz | I've started to create github.com/perl6/infrastructure-doc . Patches and feedback welcome! | 14:29 | |
tadzik: ^^ it would be nice if you could document the panda meta data server there | |||
colomon: ^^ it would be nice if you could document the emmentaler setup there | 14:31 | ||
dalek | p-js: 4c31fee | (Pawel Murias)++ | / (5 files): Cross compile more of the compiler. |
||
FROGGS_ | ohh! | 14:32 | |
pmurias++ | |||
pmurias | it's not yet the whole thing ;) | 14:43 | |
14:44
zakharyas joined
14:45
rurban1 joined
|
|||
tadzik | moritz: will do | 14:45 | |
moritz++ | 14:46 | ||
14:48
denis_boyun left
14:49
denis_boyun joined,
rurban1 left
15:05
denis_boyun left
|
|||
[Coke] | pmurias++ !! | 15:09 | |
dalek | kudo-star-daily: 6204311 | coke++ | log/ (14 files): today (automated commit) |
15:11 | |
rl6-roast-data: e1735ca | coke++ | / (5 files): today (automated commit) |
|||
15:17
thou joined
15:22
xenoterracide_ joined
15:23
thou left
15:25
xfix left,
xfix joined,
xfix left,
xfix joined,
ab5tract joined
|
|||
ab5tract | hey folks. i was wondering whether there is an idiomatic way to get the current index value while iterating over an array using a for loop | 15:27 | |
Ven | ab5tract: for @a.kv -> $k, $v { say $k, $v } | ||
ab5tract | thanks Ven. in retrospect that is pretty obvious :) | 15:28 | |
psch | an alternative would be using loop instead of for, if the index matters to you anyway | ||
although i'd probably go with Ven's solution as well | |||
15:30
rurban1 joined
|
|||
Ven doesn't want to hear of c-like for loops ever again :) | 15:30 | ||
we're in 2014, it's pretty terrible we're still teaching them | |||
psch | hey, i'm not advocating it, i'm just saying it exists :P | ||
15:31
slavik joined
|
|||
ab5tract | my specific use case is the (probably relatively common one) of keeping track of the line number while for'ing over it | 15:31 | |
it being the list in $fh.IO.lines | |||
15:32
silug left
|
|||
ab5tract | so using .kv is <3 | 15:32 | |
15:33
BenGoldberg joined
|
|||
psch | there is $fh.ins, which replaces $. | 15:35 | |
m: for lines() { .say; last if $*IN.ins() > 2 } | |||
camelia | rakudo-moar 506aae: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGallAgus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luíI mo dhiaidh bhí gleanntáin ghlas’ G…» | ||
psch wonders how long lines are in camelias STDIN | |||
ab5tract: that's S28:187, fyi | 15:37 | ||
synopsebot | Link: perlcabal.org/syn/S28.html#line_187 | ||
timotimo | m: lines>>.chars.Bag.say | ||
camelia | rakudo-moar 506aae: OUTPUT«bag(50, 70, 74, 78(2), 0(3), 72, 65(3), 84, 62, 64(2), 46, 37, 67, 73)» | ||
timotimo | psch: -^ | ||
psch | timotimo: neat, so the s/\n/{ whatever that unicode symbol is}/ screwed me over there? | ||
timotimo | er, i don't know? | 15:38 | |
i don't know what ins() does | |||
BenGoldberg | m: for lines() { $*.ins().say } | ||
camelia | rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/i7sEpaMB86Unsupported use of $* variable; in Perl 6 please use ^^ and $$at /tmp/i7sEpaMB86:1------> for lines() { ⏏$*.ins().say } expecting any of: stat…» | ||
timotimo | heh. | 15:39 | |
BenGoldberg | m: for lines() { $*IN.ins().say } | ||
camelia | rakudo-moar 506aae: OUTPUT«00000000000000000000» | ||
psch | well, it works locally :) | ||
timotimo: $fh.ins() does what $. did in perl5, which is "current line number for the last file handle accessed" | 15:40 | ||
apparently not quite in some cases :) | |||
timotimo | i've never done any perl5 :) | ||
BenGoldberg | Well, if lines() reads the whole file (due to something being too eager), we reach the EOF and then (perhaps) the line number gets reset. | ||
xfix | r: gist.github.com/xfix/eac92872f14546c90996 | 15:41 | |
camelia | rakudo-{parrot,jvm,moar} 506aae: OUTPUT«gist not found» | ||
xfix | orly? | ||
Hm, so it fails because KeySet was removed. | |||
psch | BenGoldberg: locally, even closing the handle doesn't reset .ins() | 15:42 | |
xfix | What is KeySet these days? | ||
BenGoldberg | Ehh, beats me, then :) | ||
xfix | SetHash. | 15:43 | |
timotimo | could be SetHash or MixHash | ||
xfix | Thanks. | ||
timotimo | hi xfix :) | ||
xfix | timotimo:++ | ||
I mean, timotimo++ | |||
15:44
silug joined
|
|||
xfix | What was the difference between SetHash and MixHash? | 15:44 | |
Both work, so I assume I should use SetHash. | 15:45 | ||
Ven | yeah, camelia gisting is borked | ||
timotimo | i think one has Num values, the other Int? | 15:46 | |
xfix | SetHash has booleans. | ||
Which is what I want. | |||
ab5tract | honestly, the .kv approach feels more idiomatic | 15:47 | |
colomon | moritz: did you have a notion where the smoke test docs could go in the layout there? I can't get at it now, but maybe this evening.... | ||
ab5tract | as the pattern holds regardless of whether its a file handle | ||
15:47
lizmat left
|
|||
colomon | KeySet is now SetHash | 15:47 | |
psch | ahh | 15:48 | |
nvm the "it works locally", i didn't test with $*IN but with an explicit filehandle | |||
so camelia does what it does locally, which is not getting the line number from $*IN.ins() | |||
where "it" is "perl6", not camelia | 15:49 | ||
timotimo | colomon: it would be cool if the smoker overview website would let us look at the build log to figure out what's going wrong without having to reproduce locally | 15:50 | |
15:50
gamo left
|
|||
colomon | timotimo: it's more about what emmentaler does; my code just automates running it every and then. | 15:52 | |
timotimo | OK | 15:53 | |
colomon | timotimo: though hmmm, I do appear to have commit privledge to it… ;) | ||
15:54
xenoterracide_ left,
xenoterracide_ joined
|
|||
colomon | * automates running it every day and then provides a web interface to see the results | 15:54 | |
15:54
FROGGS[mobile] left
|
|||
colomon is being distracted around here at the moment -- prepping to take to little guy to visit his cousin for a couple of days. | 15:55 | ||
15:56
Ven left
15:57
xenoterracide_ left,
nbrown joined
|
|||
psch duhs | 15:57 | ||
m: for lines() { .say; last if $*ARGFILES.ins() > 2 } | |||
camelia | rakudo-moar 506aae: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGallAgus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí» | ||
psch huhs | |||
15:57
FROGGS[mobile] joined
16:01
nbrown left
|
|||
psch | nevermind the huhing, that actually works | 16:01 | |
FROGGS_ | jnthn: the JSON::RPC fail on parrot is due to a PMC with data being NULL, so an STABLE access explodes... | ||
jnthn: not sure yet how that happens, I guess the next thing I wanna try is to locate the Perl 6 code and object that does that | |||
16:02
xenoterracide joined
16:08
pmurias left
|
|||
ab5tract | what is the significance of 'ARGFILES' here? | 16:09 | |
psch | ab5tract: $*ARGFILES is commandline argument files | ||
e.g. 'perl6 -e"say for $*ARGFILES.lines" onefile.txt secondfile.txt" | 16:10 | ||
a bare "lines()" reads from $*ARGFILES | 16:11 | ||
PerlJam | perl6 | 16:13 | |
ab5tract | gotcha | ||
16:14
figoe left
16:20
xenoterracide left
16:21
aoseki left,
xenoterracide joined
16:24
kivutar joined
16:25
akaseki joined
16:26
rurban1 left
16:32
colomon left
16:33
rurban1 joined
16:36
Ven joined
16:37
xenoterracide left
16:39
kurahaupo left
16:42
zakharyas left
16:43
xenoterracide joined
|
|||
Juerd | moritz: No, kvm | 16:51 | |
moritz | Juerd: ok, thanks | 16:52 | |
16:58
xenoterracide left,
xenoterracide_ joined
17:03
xenoterracide_ left,
ab5tract left
17:06
itz_ joined,
ab5tract joined,
thou joined
17:07
itz left
|
|||
ab5tract | psch: what is the way of using lines(), or something similar, with stdin (for piping a list to `perl6 -e`)? | 17:07 | |
i tried $*STDIN, because it seemed perlyish | 17:08 | ||
17:10
thou left
|
|||
psch | ab5tract: STDIN from perl5 has been replaced with the dynamic variable $*IN | 17:11 | |
cf my previous blunder with calling .ins() on $*IN instead of $*ARGFILES | |||
17:12
rurban1 left
|
|||
ab5tract | thanks | 17:13 | |
perl6++ | 17:17 | ||
17:20
rurban1 joined
17:23
dmol joined
|
|||
TimToady | We don't have a C-like for loop; we only have a C-like loop. :) | 17:30 | |
dalek | p: e885561 | jnthn++ | tools/build/MOAR_REVISION: Bump to latest MoarVM. |
17:31 | |
kudo/nom: 765f321 | jnthn++ | / (2 files): Update ext ops to use new improved extop API. Specify that many are pure, so spesh's dead code elimination can take care of them. Also, allow a spesh function to be supplied. Implement a basic one to toss redundant p6decontrv operations. Bump NQP_REVISION to get a MoarVM supporting this stuff. |
17:33 | ||
17:33
BenGoldberg left
17:36
kivutar left
17:41
Ven left
|
|||
timotimo | that sounds lovely | 17:42 | |
17:47
rindolf left
17:48
rindolf joined
17:58
SunilJoshi joined
18:00
SunilJoshi left
18:01
atroxaper joined
|
|||
atroxaper | Hello, #perl6 ! | 18:05 | |
timotimo | hey you :) | 18:06 | |
atroxaper | timotimo: o/ | 18:07 | |
I finished some repairing of my house and I'm going to continue Pod::SAX :) | 18:08 | ||
psch | atroxaper o/ | ||
atroxaper | psch: hi! | ||
18:13
hoverboard joined
|
|||
dalek | p: a0b93ce | (Timo Paulssen)++ | tools/build/MOAR_REVISION: bump nqp's moar for new extop interface |
18:15 | |
Heuristic branch merge: pushed 178 commits to nqp/jvm_interop_dispatchers2 by timo | |||
timotimo | oops, i accidentally pushed that branch, too | ||
i don't even know if i did anything with it in between | 18:16 | ||
dalek | kudo/nom: 0d19543 | (Timo Paulssen)++ | / (2 files): new extop registration interface + nqp/moar version bump |
||
Heuristic branch merge: pushed 626 commits to rakudo/jvm_interop_dispatchers by timo | 18:17 | ||
timotimo | ... ... ... | ||
i should be using git push more carefully after this update. | |||
atroxaper | Is there better pattern for case: "my $var = @array[5] || 'value'; @array[5] = $var; $var = 'new value';"?? | ||
timotimo | there is //= and ||= | 18:18 | |
atroxaper | I mean I want to get some object from array of create it in case the object isn't exists. And after that i want to get the object in the next time. | ||
timotimo: do you mean?: "@array[5] ||= "value"; my $var = @array[5];"? :) | 18:19 | ||
timotimo | maybe | 18:20 | |
i'm not 100% sure what you're looking for :) | |||
that sounds like what you want; probably want //= instead | |||
psch | atroxaper: what i understand is that you want to check if @array[5] is defined, if not assign a new value, and afterwards assign a different new value to $var | ||
timotimo | (|| is truthy-or and // is definedness-or) | 18:21 | |
psch | that'd be somewhat like: @array[5] //= 'value'; $var = 'new value' | ||
the reuse of $var confuses me :) | |||
atroxaper | psch: in first time i want to initialize value and store it in array. And in second time i want to work with value | 18:22 | |
psch | why do you need value in the first part? | ||
or rather: do you have encompassing code that might make your intention clearer? | |||
atroxaper | It's for example. Some initial value. | 18:23 | |
psch | m: my @arr = [1, 2, Nil, 4]; my $var = (@array[2] //= 10); say $var; my $var = 5; say $var; $var = (@array[3] //= 3; say @array[3]; say $var; | 18:24 | |
camelia | rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/Aln3NfO2cVVariable '@array' is not declaredat /tmp/Aln3NfO2cV:1------> r = [1, 2, Nil, 4]; my $var = (@array[2]⏏ //= 10); say $var; my $var = 5; say $va expecting…» | ||
psch | m: my @arr = [1, 2, Nil, 4]; my $var = (@arr[2] //= 10); say $var; my $var = 5; say $var; $var = (@arr[3] //= 3; say @arr[3]; say $var; | 18:25 | |
camelia | rakudo-moar 506aae: OUTPUT«===SORRY!===Unable to parse expression in parenthesized expression; couldn't find final ')' at /tmp/IunuOigJpg:1------> = (@arr[3] //= 3; say @arr[3]; say $var;⏏<EOL> expecting any of: postfix…» | ||
psch | m: my @arr = [1, 2, Nil, 4]; my $var = (@arr[2] //= 10); say $var; my $var = 5; say $var; $var = (@arr[3] //= 3); say @arr[3]; say $var; | ||
camelia | rakudo-moar 506aae: OUTPUT«Potential difficulties: Redeclaration of symbol $var at /tmp/HG7ltdsJUa:1 ------> r = (@arr[2] //= 10); say $var; my $var ⏏= 5; say $var; $var = (@arr[3] //= 3); s10533» | ||
psch | atroxaper: i still don't really understand what exactly you're trying to achieve; i have a feeling of XY-yness | ||
dalek | p: ddebfec | (Timo Paulssen)++ | tools/build/MOAR_REVISION: bump nqp's moar for new extop interface |
||
timotimo is very naughty and force-pushes | 18:26 | ||
dalek | kudo/nom: 3ae17e5 | (Timo Paulssen)++ | / (2 files): new extop registration interface + nqp/moar version bump |
||
atroxaper | psch: :) Maybe. I think i just need to use //= | ||
psch: i was looking for shorter expression of my initial code :) | |||
psch | well, assuming you mean // instead of || (as timotimo said, truthiness vs definedness) the shorter code is: my $var = (@array[5] //= 'value'); $var = 'new value'; | 18:28 | |
my main hang-up is with the first assignment to $var | |||
18:29
sjn_roadie joined
|
|||
psch | if you're after truthiness you can of course just replace the // with || | 18:29 | |
atroxaper | psch: thank you. :) really | 18:30 | |
psch | atroxaper: i just elaborated on timotimo++s response, really ;) | ||
atroxaper | Sure. timotimo++ was right! | 18:31 | |
ab5tract | m: my @a; my $var = @a[5] = "some value?"; | 18:34 | |
camelia | ( no output ) | ||
ab5tract | m: my @a; my $var = @a[5] = "some value?"; $var.say; | ||
camelia | rakudo-moar 506aae: OUTPUT«some value?» | ||
ab5tract | something like that atroxaper? | 18:35 | |
m: my @a; my $var = @a[5] = "some value?"; $var.say; @a[5].say; | |||
camelia | rakudo-moar 506aae: OUTPUT«some value?some value?» | ||
atroxaper | Oh... | ||
ab5tract | m: my @a; my $var = @a[5] //= "some value?"; $var.say; @a[5].say; # forgot defined-or | 18:36 | |
camelia | rakudo-moar 506aae: OUTPUT«some value?some value?» | ||
18:36
zakharyas joined
|
|||
atroxaper | I've tried //= in REPL and found.... | 18:36 | |
m: my @array = ("v1', "v2"); my $var = (@array[5] //= 'value'); $var = 'new value'; say @array; | 18:37 | ||
camelia | rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/7ST_OzhmsxTwo terms in a rowat /tmp/7ST_Ozhmsx:1------> my @array = ("v1', "⏏v2"); my $var = (@array[5] //= 'value'); expecting any of: postfix …» | ||
18:37
sjn_ joined
|
|||
FROGGS[mobile] | you mixed up the quotes | 18:37 | |
TimToady | when in down, read the error message :) | 18:38 | |
*doubt | |||
atroxaper | m: my @array = ("v1", "v2"); my $var = (@array[5] //= 'value'); $var = 'new value'; say @array; | ||
camelia | rakudo-moar 506aae: OUTPUT«v1 v2 (Any) (Any) (Any) value» | ||
FROGGS[mobile] | don't read error messages when you are down :o) | ||
atroxaper | I wanted to change value of $var and corresponding @array element in the same time :) | 18:39 | |
I thought that is obvious :) | |||
TimToady | m: my @array = <v1 v2>; my $var := (@array[5] //= 'value'); $var = 'new value'; say @array; | ||
camelia | rakudo-moar 506aae: OUTPUT«v1 v2 (Any) (Any) (Any) new value» | ||
FROGGS[mobile] | well, it did that | ||
atroxaper | := ?! | 18:40 | |
TimToady | you have to use := to make an alias | ||
FROGGS[mobile] | binding | ||
18:40
sjn_roadie left
|
|||
atroxaper | TimToady: Oh... I didn't know that at all :) | 18:40 | |
timotimo | hello TimToady! | ||
atroxaper | Many thanks all of you! | 18:41 | |
TimToady | hel timo <-- only seeing out of my left eye :) | ||
FROGGS[mobile] | right Lynn, the other one is left unused | 18:42 | |
err | |||
rightly* | |||
TimToady | no, it's my right that's unused :P | ||
FROGGS[mobile] | *g* | ||
TimToady | the cool thing is that as the eye approaches half full, I can shine a flashlight into my eye and see the water level :) | 18:43 | |
FROGGS[mobile] | ohh wow | ||
18:43
ab5tract left
|
|||
TimToady | if I look down at my laptop, I can't see it yet, but there's a band above horizontal that's starting to come into focus, superimposed on a strong internal reflection of the screen from the underside of the liquid | 18:48 | |
masak | reminds me of a scene in "Quicksilver" where Isaac Newton sticks a needle under his eyeball in order to understand optics better. | 18:49 | |
FROGGS[mobile] | ewww | 18:50 | |
TimToady | so a few more days and I should be able to see pretty well looking horizontally, as the liquid covers the backside of the lens | ||
masak | FROGGS[mobile]: you say that now, but reading the chapter itself is... visceral. | ||
FROGGS[mobile] | I'll have no time to read it then | 18:51 | |
18:54
thou joined
|
|||
TimToady | Economics may be "the dismal science", but it makes for a pretty entertaining Baroque Cycle. | 18:54 | |
timotimo | masak: "under" his eyeball? | 18:55 | |
TimToady | sure, why not? I was making observations on the order in which my eye muscles became paralyzed before surgery, by noting which eye motions didn't actually change the image in both eyes :) | 18:56 | |
the left and right motion went first... | 18:57 | ||
shortly followed by the rotational motion ('roll', to an airplane pilot) | 18:58 | ||
up and down was the last to go :) | |||
18:58
thou left
18:59
nbrown joined
|
|||
TimToady | it is a peculiar feeling, however, to look somewhere else on the ceiling, and realize the one image didn't track the other | 18:59 | |
18:59
Mouq joined
|
|||
timotimo | wait ... you can actually roll your eyeballs? | 18:59 | |
TimToady | yes, look in a mirror and tilt your head to the left or right | 19:00 | |
you'll see your eyes rotating to keep level | |||
assuming they work right | |||
'course that doesn't mean what people usually mean by that phrase | 19:01 | ||
I mean it as in "roll, pitch, and yaw" | |||
timotimo | yes, i understood you the first time, but looked up "Flight dynamics" on wikipedia just to make sure | 19:02 | |
but ... wow, i didn't know eyes did that | |||
though it seems like the effect isn't very strong | |||
TimToady | yes, it's really just fine tuning, and gives up on large changes | ||
I suspect the main purpose is to make sure your two images line up, not to keep your eyes level | 19:03 | ||
19:03
nbrown left,
raiph joined
|
|||
timotimo | fair enough | 19:07 | |
TimToady | but having a cornea translant, cataract surgery, a retinal cryosurgery, and four laser procedures not including the latest retinal reattachement stuff...I know far too much about eyes | ||
the opthamologist in the emergency room at UCLA kept exclaiming, "You talk just like an opthamologist!" :) | 19:08 | ||
my paper file is about two inches thick now... | 19:09 | ||
*opthalmologist | |||
timotimo | :) | 19:10 | |
TimToady was forgetting his greek... | |||
timotimo | eyes are really pretty fascinating | ||
19:18
sjn_ left
19:19
darutoko left
19:21
xenoterracide_ joined
19:26
xenoterracide_ left
19:28
asterite joined,
xenoterracide_ joined
|
|||
dalek | kudo/nom: eeb7c32 | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c: discover a bunch of facts about p6 extops for moarvm |
19:34 | |
p-js: 9228766 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: Fix bug when emitting js for cclass. |
19:35 | ||
p-js: cd2f066 | (Pawel Murias)++ | src/vm/js/nqp-runtime-core/runtime.js: Pass ctx to to_s in nqp::lc and nqp::uc. |
|||
p-js: 44f8c73 | (Pawel Murias)++ | TODO: Start a TODO file. |
|||
19:35
pmurias joined
|
|||
vendethiel | pmurias++ | 19:36 | |
masak | oooooh | ||
pmurias++ | |||
dalek | kudo/nom: 7e6dd3f | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c: remove debug output, discover known type of p6bool. |
||
masak | I think a JS Rakudo would be non-trivially awesome. | ||
timotimo | aye. | 19:37 | |
vendethiel | it'd be far more than non-trivially so :) | ||
19:39
xenoterracide_ left,
xenoterracide_ joined
19:40
rindolf left
19:42
raiph left
19:44
fling left
19:45
MilkmanDan left
19:46
MilkmanDan joined
19:49
colomon joined
19:51
xenoterracide_ left
|
|||
dalek | kudo/nom: 1d2bb62 | Mouq++ | src/Perl6/Actions.nqp: Hack in @a[1;2] / %h{"a";"b"} support Attempts to change semilist directly or use a different rule were breaking the build -- special-casing the behaviour in .[] and .{} is much simpler than tracking down all the faulty uses of <semilist> and making them all work with the change. |
19:52 | |
ast: d2d8343 | Mouq++ | S02-types/multi_dimensional_array.t: Unfudge multidim sugar tests |
20:00 | ||
jnthn | Mouq++ | 20:01 | |
Mouq: Is the aim to converge on STDs handling in the end? | |||
Mouq | jnthn: Do you mean wrt semilist? | 20:02 | |
jnthn | Yes | ||
atroxaper | Mouq++ | 20:03 | |
masak | \o/ | ||
jnthn | (I didn't look closely at how we're differing on semilist atm, just got the impression we are from the commit message) | ||
Mouq | jnthn: Because it appears that STD is incorrect there itself; it uses semilist where semilists don't make sense | ||
jnthn | Oh. | ||
OK, Rakudo pushing STD changes is also fine :) | |||
20:04
haroldwu left,
clkao left
|
|||
Mouq | Yeah :/ I don't actually know what the problem was. I tried changing the semilist rule to statementlist where it made sense and having semilist make an LoL but it would cause impossible to debug compiler fails during setting. I tried adding a new rule <actually-semilist> and it made the build hang... so, maybe another day with that fix | 20:05 | |
20:06
zakharyas left
|
|||
Mouq | But after a few days of tweaking and compiling Rakudo trying to figure out what's wrong, it started to make more sense to me just to special case the semantically correct behaviour ;P | 20:07 | |
20:07
asterite left
|
|||
Mouq | FROGGS++ btw \o/ | 20:07 | |
vendethiel | .u Trademark | 20:10 | |
yoleaux | U+2122 TRADE MARK SIGN [So] (™) | ||
vendethiel | yoleaux++ # <3 | ||
Mouq | .u copy | 20:11 | |
yoleaux | U+00A9 COPYRIGHT SIGN [So] (©) | ||
U+2117 SOUND RECORDING COPYRIGHT [So] (℗) | |||
U+32A2 CIRCLED IDEOGRAPH COPY [So] (㊢) | |||
20:12
Ven joined
20:15
molaf joined,
haroldwu joined
20:16
clkao joined
20:20
kaare__ left
20:23
brother left,
integral left
20:29
molaf left
|
|||
masak | m: sub foo { my $a will leave { say $a.abs } = 4; say "hi" }; foo | 20:36 | |
camelia | rakudo-moar 3ae17e: OUTPUT«===SORRY!=== Error while compiling /tmp/siuETQ0_KyVariable '$a' is not declaredat /tmp/siuETQ0_Ky:1------> sub foo { my $a will leave { say $a.abs⏏ } = 4; say "hi" }; foo expecting any of: met…» | ||
masak | m: sub foo { my $a will leave { say "bye" } = 4; say "hi" }; foo | ||
camelia | rakudo-moar 3ae17e: OUTPUT«hibye» | ||
masak | why doesn't that first one work? | 20:37 | |
no, more specifically: why isn't $a declared inside that block? | |||
jnthn | Because the "will" is part of the declaration | ||
And so we didn't update the symbol table yet | 20:38 | ||
FROGGS_ | that is like using a routine wihtin the routine... which works | ||
20:38
atroxaper left
|
|||
jnthn | But worse than that, I'm not sure the leave block there is working like a closure yet | 20:38 | |
masak | using the variable itself from within the leave block feels like a very common use case. | 20:39 | |
jnthn | You may have access to it with $_ | ||
masak | m: sub foo { my $a will leave { say $_.abs } = 4; say "hi" }; foo | ||
camelia | rakudo-moar 3ae17e: OUTPUT«hiuse of uninitialized value of type Nil in numeric context in sub foo at /tmp/DUnLOXZc70:10» | ||
jnthn | bah, no | ||
I'm not sure how var traits like that are done tbh | 20:40 | ||
lizmat++ put them in, but I think ran into the fact that it's rather tricky to deal with the closure-ish semantics we want of them. | |||
And I don't immediately have a good answer | |||
masak | ok. | ||
jnthn | Because traits are declarative things. | ||
But here we want something to be per-variable at runtime, not per declaration. | 20:41 | ||
20:42
thou joined
|
|||
FROGGS_ | I have no clue how to proceed with that jsonrpc@parrot problem :/ | 20:45 | |
20:46
thou left
|
|||
jnthn | FROGGS_: Is it a regression in Parrot (e.g. does it go away with an earlier Parrot version)? | 20:48 | |
FROGGS_ | jnthn: I dunno, all three have changed (module+rakudo+parrot) | ||
but it was good at some point | |||
like, two months ago or perhaps three | 20:49 | ||
but yeah, I could build an older parrot | |||
20:53
Ven left
20:57
grondilu left,
mr-foobar left
21:01
nbrown joined
21:03
telex left
21:04
telex joined
21:05
Sqirrel joined,
nbrown left
21:08
kurahaupo joined
21:09
Alula_ left
21:14
aoseki joined,
FROGGS[mobile] left
21:15
Alula_ joined
21:16
akaseki left
21:18
pmurias left
21:21
Ven joined
|
|||
Mouq wonders why "compiling src/core/interp.o" always takes so long | 21:28 | ||
jnthn | Many lines. Epic switch statement. | 21:29 | |
timotimo | it takes long? | 21:30 | |
Mouq | I'm in "safe mode" with my comp, so everything takes really long '< | ||
21:31
rurban1 left
21:33
akaseki joined
21:34
aoseki left
21:44
Rotwang left
|
|||
Ven | Mouq: it's giving you more time to consider how you want to shoot yourself in the foot :P | 21:44 | |
21:45
erdic left
21:46
erdic joined
|
|||
dalek | kudo/nom: 9a56a2c | jnthn++ | src/Perl6/Optimizer.nqp: Disable an optimization on Moar that pessimizes. What is on most backends a help gets in the way of spesh doing its thing with multi-dispatches and inlining. For now, just don't do it on Moar. |
21:46 | |
masak | a first for me: using `given $obj -> (:$x, :$y, :$z) { ... }` to unpack an object's properties into a scope. | 21:53 | |
timotimo | :3 | 21:54 | |
masak | idea stolen from some jnthn++ code, though he did `if SomeGrammar.parse($stuff) -> (:$x, :$y, :$z) { ... }`, which I also had not considered. | ||
cognominal | nice idioms. | 21:56 | |
timotimo | aye | 21:57 | |
Ven takes note | |||
jnthn tries to remember what code he did that in :) | |||
timotimo is running a few monthly rakudo version benchmarks | |||
masak | jnthn: hint: I'm improving it because I said I would. | 21:58 | |
jnthn | oh, cool :) | ||
22:03
rurban1 joined
22:05
hoverboard left
22:07
rurban1 left
|
|||
dalek | p: 68ebbd3 | (Timo Paulssen)++ | tools/build/MOAR_REVISION: bump moarvm for proper extop discovery and inlinable lexotics |
22:18 | |
kudo/nom: 8db87b5 | (Timo Paulssen)++ | tools/build/NQP_REVISION: bump for MoarVM with inlinable lexotics |
22:20 | ||
22:31
thou joined,
Psyche^_ joined,
raiph joined
22:34
Psyche^ left
22:35
thou left
22:41
firnsy left,
firnsy joined
|
|||
dalek | blets: 8e84439 | (Herbert Breunung)++ | docs/tablet- (3 files): linking some related chapters |
22:49 | |
23:04
rurban1 joined
23:08
rurban1 left
|
|||
dalek | blets: e3b2a65 | (Herbert Breunung)++ | docs/tablet- (2 files): fixes by decasm++ |
23:10 | |
23:11
tgt left
23:14
dmol left
23:19
apejens left,
hoverboard joined,
MilkmanDan left
23:20
MilkmanDan joined
23:21
apejens joined
23:23
Ven left
23:36
BenGoldberg joined
23:38
figoe joined
|
|||
dalek | blets: f0e7205 | (Herbert Breunung)++ | docs/ (6 files): the other fixes by decasm++ |
23:40 | |
23:42
xenoterracide_ joined
23:52
xragnar is now known as Guest82366,
xragnar_ joined,
Guest82366 left,
xragnar_ is now known as xragnar
|