»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
timotimo | cool | 00:00 | |
00:05
bbkr joined
00:10
llfourn joined
00:15
llfourn left
|
|||
timotimo | well, i'm very glad i could help | 00:21 | |
i feel pretty useless today in general :\ | |||
00:24
ShoaibJahejo left
|
|||
IOninja | :) | 00:26 | |
Well, I would've given up otherwise :) | 00:27 | ||
So you were useful | |||
timotimo | <3 | 00:29 | |
moritz: how do we make other sites-enabled on www.p6c.org work with https? gtk-dlls.p6c.org for example just forwards you to tthe design docs | 00:33 | ||
oh, i see, a le-ssl.conf exists | 00:34 | ||
timotimo doesn't know how to work that | |||
MasterDuke | timotimo: got distracted by dinner. do you have some example code that produces a small profile i can work with? | 00:35 | |
timotimo | i didn't have anything. maybe use --profile-compile with one of the nqp files? | 00:36 | |
so you don't have to rebuild rakudo every time | |||
IOninja | Presumably you just run `sudo certbot --apache` and then select gtk-dlls.p6c.org to enable the SSL on | 00:37 | |
timotimo | oh? let's see | ||
no such command exists here | |||
IOninja | hehe, I don't get design docs; chrome cries: "Attackers might be trying to steal your information from gtk-dlls.p6c.org" | 00:38 | |
timotimo | ah, it's installed to root's home | ||
well, yeah, of course | |||
you get the design docs when you say "yeah take me there anyway please" | |||
IOninja | mhm | ||
timotimo | this is pleasantly easy | 00:39 | |
IOninja | indeed | ||
00:39
llfourn joined
|
|||
timotimo | it seems like i made it | 00:40 | |
i selected the Secure version | |||
IOninja | yup SSL works for me | ||
timotimo | because you really don't want to download dlls over http | ||
also, we want to update those | |||
but i forgot where they came from | |||
MasterDuke | timotimo: i just ran `./nqp-m --profile --profile-filename=t.json -e 'sub a($a) { my $b := 0; while ++$b < $a { say("a"); }; }; a(2); a(4); say("a");'` and then the same thing with .sql | 00:41 | |
IOninja | Wonder if that breaks anything... like something trying to download them using, say, LWP::Simple without SSL sock installed | ||
star: use LWP::Simple; LWP::Simple.get: "gtk-dlls.p6c.org/libatk-1.0-0.dll" | |||
camelia | 501 Protocol scheme 'https' is only supported if IO::Socket::SSL is installed <URL:gtk-dlls.p6c.org/libatk-1.0-0.dll> in method request_shell at /home/camelia/star-2016.10/share/perl6/site/sources/2A99795C71C31D3D9A9D39DCFC0379F0F4CDEDC5 (LWP:… |
||
MasterDuke | and i see callee entries with the same id value in both | ||
timotimo | ugh. to hell with windows ;_; | ||
00:49
gdonald_ left
00:50
gdonald_ joined
|
|||
AlexDaniel looks at some code that he decided to “commit later” | 00:55 | ||
AlexDaniel will never do this mistake again | |||
IOninja | m: my @data; say +@data; @ = @data.sort: *.<name>; | 00:58 | |
camelia | 0 This type (Scalar) does not support elems in block <unit> at <tmp> line 1 |
||
00:59
aindilis` joined
|
|||
IOninja | This Routine Map script is a cornucopia of bugs. | 00:59 | |
00:59
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
AlexDaniel | m: my @data; @data.sort: *.<name>; | 00:59 | |
camelia | ( no output ) | ||
AlexDaniel | m: my @data; say +@data; @data.sort: *.<name>; | 01:00 | |
camelia | 0 This type (Scalar) does not support elems in block <unit> at <tmp> line 1 |
||
AlexDaniel | m: my @data; say +@data | ||
camelia | 0 | ||
AlexDaniel | WTF? | ||
IOninja | reification | ||
m: my @data; @data.elems; @data.sort; | |||
camelia | This type (List) does not support elems in block <unit> at <tmp> line 1 |
||
AlexDaniel | :-| | ||
01:01
aindilis left
|
|||
SmokeMachine | IOninja: sorry again, but I read about roles that can't be punned... all roles can be punned with it: github.com/FCO/Punnable | 01:09 | |
IOninja | SmokeMachine: it's too hackish for my tastests. | 01:13 | |
man, unique :with(&[eqv]) on a bunch of Method objects takes ages :/ | 01:20 | ||
oh, wait. These aren't methods but complex structures :} | 01:22 | ||
hm, still slow as hell. 4863 objects | 01:26 | ||
Methods and Submethods | |||
01:31
girafe2 joined
|
|||
IOninja | hm, it uses an array instead of a hash to keep seen things :S weird | 01:33 | |
01:34
girafe left
|
|||
IOninja does something about it | 01:35 | ||
But first... COFFEE! | |||
MasterDuke | the `:&as!, :&with!` version looks the same | 01:36 | |
01:40
girafe2 left
01:42
bjz left
|
|||
IOninja | Ah, I see. It calls the :&with for all the seen elements for each new element | 01:45 | |
hence the array | |||
IOninja leaves it alone | |||
I need to use :as{.perl} instead of :with(&[eqv]) | 01:46 | ||
It was running for 20m on the 4863 Method objects before I killed it just now | |||
m: say 4863² | |||
camelia | 23648769 | ||
IOninja | or is it O(n!) | 01:47 | |
m: my $n = 0; @ = <a b c>.unique: :with{$n++; rand}; say $n | 01:48 | ||
camelia | Too many positionals passed; expected 0 or 1 arguments but got 2 in block <unit> at <tmp> line 1 |
||
IOninja | m: my $n = 0; @ = <a b c>.unique: :with{@ = $^a, $^b; $n++; rand}; say $n | ||
camelia | 2 | ||
IOninja | m: my $n = 0; @ = ^10 .unique: :with{@ = $^a, $^b; $n++; rand}; say $n | ||
camelia | 9 | ||
IOninja | m: my $n = 0; @ = ^1000 .unique: :with{@ = $^a, $^b; $n++; rand}; say $n | ||
camelia | 999 | ||
01:49
aborazmeh left
|
|||
IOninja | m: my $n = 0; my @z = ^1000 .unique: :with{@ = $^a, $^b; $n++; rand}; say $n; say @z.elems | 01:49 | |
camelia | 999 1 |
||
IOninja | m: my $n = 0; my @z = ^1000 .unique: :with{@ = $^a, $^b; $n++; rand}; say $n; say @z | ||
camelia | 999 [0] |
||
IOninja | dahell | ||
ah | 01:50 | ||
m: my $n = 0; my @z = ^1000 .unique: :with{@ = $^a, $^b; $n++; 0}; say $n; say @z | |||
camelia | 499500 [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84… |
||
IOninja | m: my $n = 0; my @z = ^1000 .unique: :with{@ = $^a, $^b; $n++; 0}; say $n; | ||
camelia | 499500 | ||
IOninja | m: my $n = 0; @ = ^10 .unique: :with{@ = $^a, $^b; $n++; 0}; say $n; | 01:51 | |
camelia | 45 | ||
IOninja | m: say [*] ^10+1 | ||
camelia | 3628800 | ||
IOninja | m: my $n = 0; @ = ^4863 .unique: :with{@ = $^a, $^b; $n++; 0}; say $n; | ||
camelia | (timeout) | 01:52 | |
IOninja | So it's around O(n²/2) | 01:54 | |
m: say 4863²/2 | |||
camelia | 11824384.5 | ||
IOninja | don't look that many. Maybe I'm wrong :) | ||
m: for ^1000 { $ = infix:<eqv> Int.^methods[10..11] }; say now - INIT now | 01:55 | ||
camelia | 0.080323 | ||
IOninja | m: for ^11824384 { $ = infix:<eqv> Int.^methods[10..11] }; say now - INIT now | ||
camelia | (timeout) | ||
IOninja | m: say (11824384*0.080323)/1000 | ||
camelia | 949.76999603 | ||
IOninja | so like 15 minutes | 01:56 | |
01:56
lukaramu left
|
|||
Geth | routine-map: 7cdabb7337 | (Zoffix Znet)++ | 2 files Add missing methods The introspection does not descend into types with `::` in names. Fix by using recursive sub. |
02:02 | |
IOninja | Looks much better now: map.perl6.party/ | ||
Found 4790 entries now vs ~2500 prior | 02:03 | ||
there's a gazillion candidates for stuff like .Bool and stuff lol | |||
timotimo | that is so much data, i'd almost call it unusable?! | 02:05 | |
but how do i know | |||
IOninja | Depends on your use I guess. | 02:06 | |
Would be nice to collapse by name... | |||
02:07
Guest60735 left,
Guest60735 joined,
Guest60735 is now known as ZzZombo
|
|||
MasterDuke | IOninja: is sorting still really slow? | 02:07 | |
IOninja | ? sorting of what? | ||
MasterDuke | by arity and such | 02:08 | |
IOninja | Was it really slow? | ||
MasterDuke | 5-7s, but it locks my browser for the first 3-4 | 02:10 | |
Geth | routine-map: d8f10f7ed8 | (Zoffix Znet)++ | mapper.p6 Include number of unique routine names during generation |
||
IOninja | Only 1291 routines with unique names. | ||
Get a better browser :P | 02:11 | ||
It takes a few seconds in Chrome, but nothing locks up | |||
AlexDaniel | I've noticed that lately too, chromium works smoother, for whatever reason | 02:12 | |
MasterDuke | FF 51 | ||
IOninja | Firefox is crap | ||
AlexDaniel | IOninja: perhaps, but at least it doesn't force its understand of how a keyboard layout should work on me | 02:13 | |
understanding* | |||
IOninja | hm, sorting by filename seems to be busted... :/ | ||
ZzZombo | How can I make s/// return the modified copy, like in P5 with IIRC :s? | ||
AlexDaniel | use S/// | ||
with capital S | |||
IOninja | ZzZombo: use .subst() | ||
MasterDuke | i switched from FF to chrome a long time ago, but then switched back cause chrome got slower and slower. it also didn't handle lots of tabs well | 02:14 | |
AlexDaniel | MasterDuke: you're so privileged to be able to switch browsers like this… | 02:16 | |
for me it has always been like this: 1) Open Chromium 2) Realize that Ctrl+Shift+Left/Right does not work 3) Well, perhaps next time? Switch back to FF | 02:17 | ||
MasterDuke | the silver lining of not knowing any other languages well enough to want or be able to use them in everyday life | ||
AlexDaniel | ah, it's even worse. Selecting with shift doesn't work at all… | ||
maybe I should submit a bug report though… | 02:20 | ||
02:22
cdg joined
|
|||
IOninja | m: -> :$x :$y {} | 02:23 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot put required parameter $y after variadic parameters at <tmp>:1 ------> 3-> :$x :$y7⏏5 {} expecting any of: constraint |
||
02:25
cdg left
02:26
cdg joined
02:27
bobv joined
02:28
bobv left
|
|||
MasterDuke | is there any convenient way to know the equivalent of /usr/bin/time's maxresidentk during runtime? | 02:28 | |
IOninja | m: sub x (% (:$made-on, :$routines, :$total, :$unique)) { Q:c:to/END/y{$total}yEND }( |%(:42made-on, :42routines, :42total, :42unique) ) | 02:30 | |
camelia | Too few positionals passed; expected 1 argument but got 0 in sub x at <tmp> line 15 in block <unit> at <tmp> line 1 |
||
IOninja | m: sub x (% (:$made-on, :$routines, :$total, :$unique)) { Q:c:to/END/y{$total}y{'meow'}END }( |%(:42made-on, :42routines, :42total, :42unique) ) | 02:31 | |
camelia | Too few positionals passed; expected 1 argument but got 0 in sub x at <tmp> line 26 in block <unit> at <tmp> line 1 |
||
IOninja | Bug. If anyone wants to report (reported `line` is for the HEREDOC's last block, even though the issue is in `sub x`'s arguments) | ||
02:33
bjz joined
02:40
AlexDaniel is now known as AD
|
|||
IOninja | heh, joke's on me for lauding Chrome over FF... The sorting ain't broken in FF | 02:40 | |
but is in Chrome | |||
02:41
AD is now known as AlexDaniel
|
|||
Geth | routine-map: e75143f64a | (Zoffix Znet)++ | 2 files Add info to page: generated on, total, total unique |
02:43 | |
02:51
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
IOninja | Reported: rt.perl.org/Ticket/Display.html?id...xn-1451087 | 02:52 | |
Came up with a good title for the final result of IO grant and changed routines and whatnot: IOcalipse | 02:59 | ||
:) | |||
IOninja boots up work laptop to design a trendy logo | 03:00 | ||
Well, maybe framing it as a disaster is a bad idea.... | 03:06 | ||
I got it! IOwesomeness | 03:07 | ||
:D | |||
Amusing that www.thesaurus.com/browse/good?s=t lists `bad` as synonym of `good` | 03:08 | ||
*cue Hamlet* | |||
hobbs | are you a bad enough dude to rescue the president? | 03:11 | |
IOninja | Rescuing Mr. Donald indeed would be pretty bad :P | 03:14 | |
I recall someone had a B&W Camelia logo? Any files... | 03:15 | ||
Like this one but vector: madcapjake.github.io/2015/perl6-file-icons/ | 03:16 | ||
AlexDaniel | there was a whole repo of these | 03:17 | |
IOninja | Juerd: yo where's the svg's at | 03:18 | |
03:18
gdonald_ left,
gdonald_ joined
|
|||
hobbs | in the arcade edition it was President Ronnie | 03:19 | |
AlexDaniel | IOninja: github.com/MadcapJake/metamorphosi...ter/images :( | 03:21 | |
no svg | 03:22 | ||
IOninja | Thanks. PNG will do for my current need. | ||
If anyone digs up SVGs, please add them to github.com/perl6/marketing/tree/ma...Os/Camelia | 03:23 | ||
AlexDaniel | actually… | ||
juerd.nl/tmp/Camelia_mono_1path.svg | |||
IOninja | hah cool | ||
03:23
cdg left
|
|||
AlexDaniel | IOninja: I mean… you said “like this one but vector” | 03:23 | |
but that's exactly the same image used in the article | 03:24 | ||
IOninja | .ask Juerd what's the license for juerd.nl/tmp/Camelia_mono_1path.svg ? I wanna add it to github.com/perl6/marketing/ | ||
yoleaux | IOninja: I'll pass your message to Juerd. | ||
03:24
noganex_ joined
|
|||
IOninja | AlexDaniel: oh :) | 03:24 | |
03:25
cdg joined
|
|||
IOninja | Artistic License 2.0 requires release under same lisense innit? | 03:25 | |
AlexDaniel | IOninja: the license is… © 2009 Larry Wall | 03:26 | |
03:26
aborazmeh left
|
|||
AlexDaniel | as, I believe, it is the same image but with different colors | 03:26 | |
03:27
kurahaupo__ joined,
noganex left
|
|||
IOninja | That's the original one. | 03:27 | |
Section 4 of the license appears to allow distribution under different license. As long as doesn't introduce conflicts with original. | 03:29 | ||
AlexDaniel | original one what? | 03:30 | |
IOninja | AlexDaniel: the original color logo of camelia | 03:31 | |
AlexDaniel | IOninja: yea, so what makes you assume that it is Artistic License 2.0? | ||
IOninja: because if so, I'd much rather see the copyright notice go in the docs footer | |||
IOninja | AlexDaniel: first paragraph: raw.githubusercontent.com/perl6/mu...amelia.txt | 03:32 | |
AlexDaniel | ah | ||
hm… right… | 03:34 | ||
perhaps there's a reason why this has to be in the footer | 03:36 | ||
although I cannot come up with any | |||
03:43
bjz left
|
|||
Geth | doc: 07b1eff619 | (Zoffix Znet)++ | template/footer.html Link to details of logo's license |
03:45 | |
IOninja | Because people may want to use it and it's useful to have legal info easily available. | 03:46 | |
03:51
cibs left
03:53
cibs joined
|
|||
Juerd | IOninja: Same as the original. It's a minor adaptation. | 04:03 | |
yoleaux | 03:24Z <IOninja> Juerd: what's the license for juerd.nl/tmp/Camelia_mono_1path.svg ? I wanna add it to github.com/perl6/marketing/ | ||
Juerd | afk | ||
04:07
cibs left
04:09
cibs joined
04:10
cdg left,
cdg joined
04:14
Guest5935 left
04:21
bjz joined
|
|||
dalek | rketing: 87621b0 | (Zoffix Znet)++ | LOGOs/Camelia/Camelia-Black-and-White.svg: Add BW Camelia logo |
04:24 | |
yoleaux | 24 Feb 2017 14:30Z <AlexDaniel> dalek: ahoi, please update that repo to use geth instead: Change the webhook to geth.perl6.party/?chan=#perl6-dev (or #moarvm for moarvm), Content-type: application/json and "Send me everything." | ||
AlexDaniel | IOninja: ↑ | ||
.tell dalek ahoi, please update that repo to use geth instead: Change the webhook to geth.perl6.party/?chan=#perl6-dev (or #moarvm for moarvm), Content-type: application/json and "Send me everything." | 04:25 | ||
yoleaux | AlexDaniel: I'll pass your message to dalek. | ||
Geth | marketing: 87621b05b9 | (Zoffix Znet)++ | LOGOs/Camelia/Camelia-Black-and-White.svg Add BW Camelia logo |
||
04:32
pyrimidi_ joined,
pyrimidine left
04:34
giraffe joined,
giraffe is now known as Guest36413
04:36
travis-ci joined
|
|||
travis-ci | Doc build errored. Zoffix Znet 'Link to details of logo's license' | 04:36 | |
travis-ci.org/perl6/doc/builds/205429215 github.com/perl6/doc/compare/6d2af...b1eff619bc | |||
04:36
travis-ci left
|
|||
IOninja | The job exceeded the maximum time limit for jobs, and has been terminated. | 04:37 | |
AlexDaniel | .oO( why bother with bots when you can replace them all with people ) |
04:38 | |
04:43
yadzi joined
|
|||
geekosaur | www.sciencedaily.com/releases/2017...142117.htm so when's the first zoffixbot nervous breakdown? | 04:46 | |
04:51
Cabanoss- joined
04:53
cdg left
04:54
Cabanossi left,
Cabanoss- is now known as Cabanossi
|
|||
IOninja | grrr | 04:57 | |
Why yes, GitHub. Please go down when I want to push my last commit for the day | 04:58 | ||
05:11
bjz_ joined
05:13
bjz left
|
|||
IOninja | m: Str.^lookup('say').wrap: -> | { say "yo, upgrade, bruh!"; callsame }; "foo".say | 05:16 | |
camelia | yo, upgrade, bruh! foo |
||
IOninja | For IO upgrade: can make a module that'll wrap affected routines. Include the module. Run your code. Find out if you need to upgrade. | 05:17 | |
s/IO upgrade/breaking upgrades/ | |||
05:17
mr-foobar left
|
|||
IOninja | though I think wrappage and precomp is busticated | 05:18 | |
IOninja drops to bed | |||
05:22
tbrowder_ joined,
Peter_WR joined,
xfix joined
05:23
damnlie joined
05:25
olinkl_ joined
05:26
AlexDaniel left
05:27
xfix_ left
05:29
kurahaupo__ left
05:30
samcv_ joined
05:31
Ulti_ joined
05:33
Peter_R left,
tbrowder left,
damnlie_ left,
krakan left,
olinkl left,
Ulti left,
samcv left,
tbrowder_ is now known as tbrowder
05:34
olinkl_ is now known as olinkl
05:38
olinkl left
05:39
BenGoldberg left,
olinkl joined
05:40
bjz joined,
bjz_ left
05:47
khw left
06:08
mcmillhj joined
06:24
cibs left
06:26
mcmillhj left,
cibs joined
06:31
risou is now known as risou_awy
|
|||
moritz | timotimo: re ssl, there's a script /root/letsencrypt/more-certs.sh that controls the creation of SSL certs | 06:32 | |
06:45
yadzi left,
bjz left
06:46
pyrimidine joined,
pyrimidi_ left
06:47
wamba joined
07:13
mcmillhj joined
07:17
darutoko joined
07:19
mcmillhj left
|
|||
moritz | timotimo: I've changed the script to also include gtk-dlls.p6c.org in the SSL cert | 07:21 | |
timotimo: but I don't know which domain you actually want the SSL cert for :-) | |||
07:38
CIAvash joined
|
|||
moritz | m: say "ø\c[COMBINING TILDE]".ords | 07:41 | |
camelia | (248 771) | ||
moritz | m: say "ø\c[COMBINING TILDE]".comb.map(&ord) | ||
camelia | (248) | ||
moritz | m: say "ø\c[COMBINING TILDE]" | 07:42 | |
camelia | ø̃ | ||
07:59
gdonald_ left,
gdonald_ joined
08:08
llfourn left
08:11
risou_awy is now known as risou
08:16
samcv_ is now known as samcv
08:19
n1ce joined
08:20
rindolf joined
08:24
bjz joined
08:30
notostraca is now known as TEttinger
08:38
bbkr left,
risou is now known as risou_awy
08:39
risou_awy is now known as risou
08:40
risou is now known as risou_awy
08:44
grondilu joined
08:55
jraglin__ joined
09:00
RabidGravy joined,
Xliff_ left
09:02
musca left
09:04
jraglin__ left,
llfourn joined
09:05
jraglin joined
09:08
jraglin left
09:09
llfourn left
09:14
llfourn joined
09:15
bwisti left
09:20
mcmillhj joined
09:22
mr-foobar joined
09:26
cibs left
09:29
mcmillhj left,
cibs joined
09:30
mcmillhj joined
09:34
mcmillhj left
09:36
domidumont joined,
user9 left
09:37
user9 joined
09:38
Xliff joined
09:40
mr-foobar left
09:41
mr-foobar joined
09:44
mcmillhj joined
09:47
llfourn left
09:48
mcmillhj left
09:49
mcmillhj joined
09:53
mcmillhj left
10:06
TEttinger left
|
|||
moritz | I'm running a design competition for a new cover design for my book: en.99designs.de/book-cover-design/...80/entries | 10:09 | |
I'd appreciate some feedback on which designs you like | |||
the designer of the current logo is uncomfortable with my use of it | 10:10 | ||
10:11
domidumont left
|
|||
RabidGravy | I like them all :) | 10:17 | |
moritz | that's good to know, but has no selective force :-) | 10:19 | |
my wife leans towards #6, and I generally trust here with aesthetics more than myself | |||
jast | I find the typography weak in the entries by Chupavi and CsapoDesign | 10:20 | |
moritz | #3, #6, #7 and #17 are my current favorites | ||
(tbh my wife hasn't seen #17 yet, it's new) | |||
10:21
mcmillhj joined,
llfourn joined
|
|||
moritz | jast: good point | 10:21 | |
jast | and all of them aren't kerned properly to my eyes | 10:22 | |
I do like the concept in #3 and #7, though | |||
they'd be better without the shutterstock watermarks, of course ;) | |||
moritz | that'll go away when I decide for one, and pay :-) | 10:23 | |
and there's an iteration process, so I can ask for things like a more interesting font | |||
jast | personally I dislike the use of lucida calligraphy in #17 (and many others by that designers), it's just so overused | ||
10:27
dotness joined,
mcmillhj left
|
|||
jast | in #6 the background composition doesn't work for me... the strange combination of gray and blue in the vignette effect, plus the nova-ish stuff, seems gimmicky to me and looks kinda muted when your focus is on the center | 10:28 | |
10:28
Actualeyes left
|
|||
moritz | jast: thanks for the feedback, very good points | 10:39 | |
zengargoyle | i sorta like 3 and 17. wish there was was a butterfly coming out of a cocoon or like an origami folding pattern for a butterfly to get that 'coming to life' sort of feeling. | 10:44 | |
10:48
TeamBlast left
|
|||
zengargoyle | or that evolution progression caterpilar, cocoon, butterfly. | 10:49 | |
10:50
bjz_ joined,
TeamBlast joined
10:52
bjz left
10:55
ZzZombo_ joined,
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo is now known as Guest36416,
ZzZombo_ is now known as ZzZombo
10:57
Guest36416 left
10:58
dotness left
11:02
ZzZombo left
11:04
kurahaupo joined,
domidumont joined,
ZzZombo joined,
ZzZombo left,
ZzZombo joined,
ZzZombo left
11:05
ZzZombo joined,
ZzZombo left,
ZzZombo joined
11:07
ZzZombo left
11:12
mcmillhj joined
11:15
ZzZombo joined,
ZzZombo left,
ZzZombo joined
11:17
mcmillhj left
11:19
geekosaur left
11:21
geekosaur joined
11:29
mcmillhj joined
11:34
mcmillhj left
11:43
bjz_ left,
bjz joined,
obra_ is now known as obra
11:47
espadrine joined
|
|||
RabidGravy | Okay this is weird github.com/perl6-community-modules...6/issues/7 - I thought it was broken by lexical loading but even if I move the require into the same method it seems unable to find the sub | 11:47 | |
but my mental faculties are somewhat degraded by a surfeit of alcohol yesterday so it could just be me | 11:50 | ||
11:50
kurahaupo left
11:54
kurahaupo joined
|
|||
ZzZombo | how the fox do I export multiple multies of the same name from a module? | 12:04 | |
12:04
geekosaur left
|
|||
RabidGravy | should it just work? | 12:06 | |
ZzZombo | can't is export subs in classes, can I? | ||
Doesn't work. | |||
12:07
geekosaur joined
12:12
astj joined
12:13
lukaramu joined
12:15
astj left
12:16
astj joined
12:17
mcmillhj joined
|
|||
unclechu | hey guys, can you recommend me any good book about perl6? is there one exists? | 12:17 | |
MasterDuke | huggable: books | 12:18 | |
huggable | MasterDuke, "Perl 6 At A Glance" deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": leanpub.com/perl6 (can order preview digital copies) ; "Think Perl 6: How to Think Like a Computer Scientist": shop.oreilly.com/product/0636920065883.do | ||
MasterDuke | unclechu: ^^^ | ||
12:19
rindolf left
|
|||
unclechu | thanks :) i was trying to search by `book` on faq page at perl6.org but found nothing | 12:19 | |
12:19
astj left
|
|||
MasterDuke | unclechu: good feedback, mind creating an issue here github.com/perl6/perl6.org ? | 12:20 | |
moritz | perl6.org/resources/ has a list of books | 12:21 | |
12:21
mcmillhj left
|
|||
Geth | perl6.org: daaeaf8146 | (Moritz Lenz)++ | source/resources/index.html Mention that might book can be bought right now which was not obvious from the "in work" comment |
12:22 | |
MasterDuke | moritz: you can also get a an early/preview release ebook of Laurent's book | 12:25 | |
12:25
bjz left
|
|||
moritz | MasterDuke: of parts of the book, yes | 12:25 | |
12:28
ikang007 joined
12:30
ikang007 is now known as hacker007
12:32
mcmillhj joined
12:33
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:34
ufobat joined
|
|||
masak is about to attempt some trolling | 12:34 | ||
dear #perl6, is this a bug? | |||
m: say is-palindrome "())(" given my &is-palindrome = { $^s eq $s.flip } | |||
camelia | True | ||
masak | o.O | ||
inspired by twitter.com/belbeeno/status/834548166338895872 | 12:36 | ||
12:36
mcmillhj left
|
|||
moritz | masak: it's a bug, but in the parenthesis, not in Rakudo :-) | 12:36 | |
masak | how can I correct my program? | 12:39 | |
I want it to work, not to... do a wrong thing | 12:40 | ||
will Rakudo get better parentheses at some point? | |||
I think the present generation of parentheses is faulty (see above) | |||
12:42
AlexDaniel joined
|
|||
moritz | ask them Unicode folks! | 12:42 | |
moritz fetches the detroll spray | 12:43 | ||
m: say 'möp'.NFC ~~ Uni | 12:44 | ||
camelia | True | ||
moritz | m: say 'möp'.NFC.Str | 12:48 | |
camelia | möp | ||
moritz | m: say 'möp'.Uni | ||
camelia | No such method 'Uni' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
masak .oO( error: möp cannot go to Uni ) | 12:56 | ||
12:58
rindolf joined
|
|||
masak .oO( ǝpoɔıun ) | 13:00 | ||
SmokeMachine | moritz: my favorite is the #19 but I'd remove the parentheses around the number 6 | 13:19 | |
13:30
hacker007 left
13:32
musca joined,
lukaramu_ joined
|
|||
ZzZombo | how could I easily change only one argument calling nextwith, passing others as is? | 13:33 | |
13:33
geekosaur left
13:35
geekosaur joined
|
|||
masak | m: multi foo(Int, Str $s) { &nextwith.assuming("OH")() }; multi foo($x, $y) { say "$x $y" }; foo 42, "HAI" | 13:35 | |
camelia | ( no output ) | ||
masak | well. it was worth a shot. | 13:36 | |
this works: | |||
m: multi foo(Int, Str $s) { nextwith("OH", $s) }; multi foo($x, $y) { say "$x $y" }; foo 42, "HAI" | |||
camelia | OH HAI | ||
13:36
lukaramu left
|
|||
masak | I don't know why the .assuming thing fails -- it may not be a bug | 13:36 | |
13:36
mcmillhj joined
|
|||
ufobat | what is actually the difference between TWEAK and BUILD? or what cant be done in BUILD but in TWEAK? | 13:37 | |
masak | "The TWEAK method allows you to check things or modify attributes after object construction" -- docs.perl6.org/language/objects | 13:38 | |
ZzZombo | well, I have several named arguments and a few positional, have to alter just one in one case, don't like having to copy ALL of them. | ||
masak | ZzZombo: you might be able to put them in array/hash, modify them, and then spread them in | ||
ufobat | m: role A {has $.x is rw}; class B is A {submethod TWEAK() {$.x = 1;}}; B.new.x.say | 13:39 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Virtual method call $.x may not be used on partially constructed object (maybe you mean $!x for direct attribute access here?) at <tmp>:1 ------> 3w}; class B is A {submethod TWEAK() {$.x7⏏5 = 1;}… |
||
ufobat | masak, i think i dont understand | 13:40 | |
13:41
mcmillhj left
|
|||
ufobat | ah TWEAK has a self whereas BUILD hasn't but it is still just "partially constructed"? | 13:42 | |
ZzZombo | Why does docs.perl6.org/type/Iterable not specify .flatmap? github.com/rakudo/rakudo/blob/320c...ice.pm#L54 seems to imply it. | 13:43 | |
Where does it come from then? | 13:44 | ||
m: say Iterable.^methods | |||
camelia | (iterator item flat lazy-if lazy hyper race) | ||
masak | ufobat: not sure why you are using `is` for a role...? | 13:45 | |
ufobat: but yes, I think TWEAK still happens "during object construction" in some sense | 13:46 | ||
not sure whether there's a good reason for that, mind | |||
maybe it'd be totally kosher to refer to `self` at that point -- kind feels like it would | |||
ufobat | oh the "is" was a mistake | 13:47 | |
13:49
kyan left
|
|||
SmokeMachine | m: class RectangleWithCachedArea {has ($.x1, $.x2, $.y1, $.y2); has $.area; submethod TWEAK() {$!area = abs( ($!x2 - $!x1) * ( $!y2 - $!y1) );}}; say RectangleWithCachedArea.new( x2 => 5, x1 => 1, y2 => 1, y1 => 0).area; | 13:49 | |
camelia | 4 | ||
ufobat | is there a way to set a Attribute of a Role at object construction? | 13:50 | |
i think i want to do something like this: role A {has $.x is rw}; class B does A {submethod TWEAK(*%param) {$.x = XML::XPath.new(|%param)}}; | 13:51 | ||
13:51
musca left
|
|||
masak | jnthn: if I didn't necessarily care about performance, could I somehow declare a method on a subtype? :) | 13:52 | |
13:52
gdonald_ left,
gdonald_ joined
13:58
pyrimidi_ joined,
pyrimidine left
|
|||
ZzZombo | m: my %_=%(:kv,:delete);my %h=%(abc=>123,bcd=>*);say %h<*>:|%_ | 14:03 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use placeholder parameter %_ outside of a sub or block at <tmp>:1 ------> 3my %_7⏏5=%(:kv,:delete);my %h=%(abc=>123,bcd=>*) |
||
ZzZombo | m: my %a=%(:kv,:delete);my %h=%(abc=>123,bcd=>*);say %h<*>:|%a | 14:04 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3ete);my %h=%(abc=>123,bcd=>*);say %h<*>:7⏏5|%a expecting any of: colon pair |
||
ZzZombo | m: my %a=%(:kv(1),:delete(1));my %h=%(abc=>123,bcd=>*);say %h<*>:|%a | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3(1));my %h=%(abc=>123,bcd=>*);say %h<*>:7⏏5|%a expecting any of: colon pair |
||
ZzZombo | m: my %a=%(kv=>1,delete=>1);my %h=%(abc=>123,bcd=>*);say %h<*>:|%a | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3=>1);my %h=%(abc=>123,bcd=>*);say %h<*>:7⏏5|%a expecting any of: colon pair |
||
ZzZombo | wtf is colon pair | ||
IOninja | :a(42) | 14:05 | |
:meows | |||
:42a, :a{ :42a }, :a[42], :a<42>, :!a, :$a, :$^a, :$!a, etc | 14:06 | ||
ZzZombo | m: my %a=%(:kv,:delete);my %h=%(abc=>123,bcd=>*);say %h<*>:%a | 14:07 | |
camelia | Unexpected named argument 'a' passed in block <unit> at <tmp> line 1 |
||
ZzZombo | m: my %a=%(kv=>1,delete=>1);my %h=%(abc=>123,bcd=>*);say %h<*>:(|%a) | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Obsolete use of | or \ with sigil on param %a at <tmp>:1 ------> 3;my %h=%(abc=>123,bcd=>*);say %h<*>:(|%a7⏏5) expecting any of: shape declaration |
||
ZzZombo | m: my %a=%(kv=>1,delete=>1);my %h=%(abc=>123,bcd=>*);say %h<*>:(%a) | ||
camelia | ===SORRY!=== This type (QAST::WVal) does not support positional operations |
||
ZzZombo | ughh | 14:08 | |
14:08
aborazmeh left,
mxco86 left
|
|||
ZzZombo | my %a=%(kv=>1,delete=>1);my %h=%(abc=>123,bcd=>*);say %h<*>:(|%a) <-- why no work :(( | 14:08 | |
14:09
nightfrog is now known as culb
|
|||
jnthn | ZzZombo: Just call postcircumfix:<{ }> directly | 14:16 | |
postcircumfix:<{ }>(%h, *, |%a) | |||
ZzZombo | wow | ||
jnthn | There's no flattening adverb syntax | ||
ZzZombo | neat | ||
IOninja | m: multi foo(:$s, |c) { nextwith :s<OH>, |c }; multi foo(:$s, :$a, :$x) { say "$s $a $x" }; foo :s<foo>, :a<bar>, :x<meows> | ||
camelia | foo bar meows | ||
MasterDuke | ZzZombo: also, i don't think you want <*>, but {*} instead | 14:17 | |
IOninja | ZzZombo: in your earlier question... ^ you can use a capture to pass the args around | ||
jnthn | masak: Not easily. A subtype doesn't have a method table of its own, it just delegates dispatch to the refinee | ||
IOninja | m: multi foo(:$s, |c) { callwith :s<OH>, |c }; multi foo(:$s, :$a, :$x) { say "$s $a $x" }; foo :s<foo>, :a<bar>, :x<meows> | ||
camelia | foo bar meows | ||
IOninja | ummm, dafuq | ||
jnthn | masak: I suspect you could arrange to mix in to the meta-object, however, and override find_method | ||
IOninja | Oh | ||
m: multi foo(:$s, |c) { callwith 42, :s<OH>, |c }; multi foo($, :$s, :$a, :$x) { say "$s $a $x" }; foo :s<foo>, :a<bar>, :x<meows> | 14:18 | ||
camelia | ( no output ) | ||
IOninja | ZzZombo: well, it works; don't know why doesn't here.... | ||
14:19
cibs left
|
|||
MasterDuke | anybody have an idea why an EVAL inside a test gives different results than outside? i was testing out some changes to Int.div, and getting some failures in t/spec/S32-num/rounders.t | 14:20 | |
but when i run the individual test from the command line it succeeds | |||
m: say EVAL("truncate(-0.5)") | |||
camelia | 0 | ||
MasterDuke | that's what i get, but it's 1 if i make the test file (or just run it directly) | 14:21 | |
14:21
cibs joined
14:22
chansen_ left,
chansen_ joined
|
|||
MasterDuke | these tests for example github.com/perl6/roast/blob/master...ders.t#L65 | 14:22 | |
ZzZombo | DAMN!!! | 14:23 | |
I am stuck | 14:24 | ||
14:26
perlawhirl joined,
Ulti_ is now known as Ulti
14:27
bbkr joined
|
|||
IOninja | moritz: don't like any of them. They're all generic-looking. #6 looks nice as a thumbnail, if in want of a bit of typography work, but the real-life butterfly gives me the creeps when I view the large version :} | 14:29 | |
14:29
araraloren joined
|
|||
ZzZombo | I have custom postcircumfix:<{ }> in my class, because the default refused to accept additional named argumens; but those custom subs couldn't be exported so outside uses didn't see them and called my AT-KEY directly, messing up the workaround I used and breaking horribly; then I tried to change them to our but that broke too because I have to do that via a new proto, but defining a new proto | 14:29 | |
breaks the operator for all other types as it's now enforced on them in the module... | |||
araraloren | How to convert a Int to enum ? | ||
ZzZombo | and of course I am NOT gonna define them for all other unrelated types. | ||
IOninja | araraloren: what are you trying to do? | 14:31 | |
14:31
mcmillhj joined
|
|||
araraloren | According a Int value , return a enum | 14:32 | |
IOninja | m: say SeekFromCurrent === SeekType.enums.antipairs.hash{1} | 14:33 | |
camelia | False | ||
IOninja | m: say SeekFromCurrent == SeekType.enums.antipairs.hash{1} | ||
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5SeekFromCurrent' (indicated by ⏏) in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
ZzZombo | Why does the default postcircumfix:<{ }> has to complain on unknown named parameters anyway? Shouldn't it at least wait and see if a new one will handle them? | ||
14:36
mcmillhj left
|
|||
titsuki | m: my enum A <sun mon>; A(0).say | 14:37 | |
camelia | sun | ||
titsuki | araraloren: Is this answer your question ? | ||
IOninja | Oh. titsuki++ | ||
araraloren | titsuki, yeah | 14:38 | |
thanks | |||
14:39
ChoHag left
|
|||
araraloren | m: enum A (:D, :C); A(1).say | 14:39 | |
camelia | (Bool) | ||
araraloren | Why A(1) is Bool type? | 14:40 | |
perlawhirl | hi perlers | ||
IOninja | araraloren: because :C is a Pair.new: 'C' => True | ||
araraloren: because :C is a Pair.new: 'C', True | |||
\o | |||
perlawhirl | moritz: i like #19, #7 is not bad | 14:41 | |
araraloren | IOninja, oh, thanks | ||
IOninja | m: m: enum A (:D, :C); say A.enums | ||
camelia | Map.new((:C,:D)) | ||
perlawhirl | do we have something like add_method for subs? say i have a class i want to define a bunch of multi's for (eg, math ops) | 14:42 | |
IOninja | m: my enum A (sun => 42, mon => 72); A(1000).say | ||
camelia | (A) | ||
perlawhirl | the majorty will look like a version of this: - | ||
multi infix:<+>( MyObj $a, Int $b ) { $a.values.map( * + $b ) } | |||
can i code-gen the ops somehow, or just grin-and-bear-and-write it by hand | |||
IOninja | perlawhirl: CORE::<&infix:<eqv>>.add_dispatchee(multi sub infix:<eqv>(MyObj $l, MyObj $r --> Bool) { True; }); | ||
Ah, make them automatically | 14:43 | ||
IOninja shrugs | |||
14:43
mcmillhj joined
14:45
lichtkind__ joined,
musca joined
|
|||
Geth | doc: 07ebaebaf2 | (Zoffix Znet)++ | doc/Language/typesystem.pod6 document how to get enums from normal values |
14:46 | |
14:46
BenGoldberg joined
14:48
lichtkind_ left,
mcmillhj left
14:52
RabidGravy left
14:54
mcmillhj joined
|
|||
ZzZombo | So, guys, what to do in my case? | 14:56 | |
14:59
mcmillhj left
|
|||
moritz | perlawhirl: thanks | 14:59 | |
IOninja | 🎺🎺🎺🎺 Advance Notice of Significant Changes: rakudo.org/2017/02/26/advance-notic...t-changes/ | 15:00 | |
moritz | IOninja: would you like to contribute a design you like? | ||
IOninja | moritz: nah, it'll suck :) | 15:02 | |
moritz | IOninja: :( I'd like to see your take on it | 15:03 | |
15:05
RabidGravy joined
|
|||
IOninja | I'm not good at creating original content. 99% of my design job is stuffing as many products as I can into a page without it looking to crowded. And even typography for them is all just our standard stuff applied by a script I wrote... | 15:06 | |
15:11
zakharyas joined
|
|||
Geth | perl6.org: fc6aa947ed | (Zoffix Znet)++ | source/index.html List IOwesomeness advance notice in news section |
15:13 | |
AlexDaniel | ahahahahha | ||
I love how it lists “Possibly breaking changes” as if it was something great | 15:14 | ||
amazing artwork, IOninja++ | |||
IOninja | heh | 15:15 | |
Well, none of them will be breaking changes as far as 6.c language is concerned | |||
AlexDaniel | March 18 looks a bit too soon though | 15:16 | |
IOninja += 2 # I love stuff getting better | 15:17 | ||
15:23
mcmillhj joined
15:24
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet 'document how to get enums from normal values' | 15:24 | |
travis-ci.org/perl6/doc/builds/205522979 github.com/perl6/doc/compare/07b1e...ebaebaf252 | |||
15:24
travis-ci left
|
|||
MasterDuke | ZzZombo: might need to post a gist. i wasn't quite sure how your question related to the code you were trying with camelia earlier | 15:26 | |
15:28
mcmillhj left
|
|||
masak | jnthn: mixing into the meta-object and overriding find_method sounds like what I was after -- thank you! | 15:38 | |
jnthn: sounds concrete enough that it could potentially be weaponi^Wturned into a module | 15:39 | ||
moritz | what are the rules for which kinds of characters I can use in a Str -> Int conversion? | 15:43 | |
15:44
khw joined
|
|||
IOninja | m: ':16<FFF>'.Int.say | 15:44 | |
camelia | 4095 | ||
ufobat | I would be happy if anyone would comment on this first draft: github.com/ufobat/p6-XML-Rabbit/bl...Rabbit.pm6 The idea is stolen from p5 xml::rabbit and some code was stolen from AttrX::Lazy. It's my first time going meta so.. uhm, yeah | ||
IOninja | moritz: same as val() | ||
MasterDuke | moritz: if it's a single character, any Nd, No, or Nl should work. if multiple, i.e., they're being treated as digits, only Nd | ||
IOninja | it makes a Numeric with val() and then coerces that to Int (there's a shortpath for stuff that's just numeric chars though) | 15:45 | |
moritz | MasterDuke: thanks | ||
15:49
mcmillhj joined
15:54
mcmillhj left
|
|||
moritz | m: say ༳ | 15:59 | |
camelia | -0.5 | ||
moritz | m: say +"༳" | ||
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5༳' (indicated by ⏏) in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
moritz | is that intentional? | ||
IOninja | moritz: yes | 16:00 | |
m: say unival "༳" | |||
camelia | -0.5 | ||
BenGoldberg | m: use NativeCall; my CArray[long] $tt .= new; $tt[0] = -2; sub time(CArray[long] $tt = $tt --> long) is native {*}; dd time($tt); dd $tt[0]; | 16:01 | |
camelia | Calling time(NativeCall::Types::CArray[NativeCall::Types::long]) will never work with declared signature (NativeCall::Types::CArray[NativeCall::Types::long] $tt = { ... } --> NativeCall::Types::long) in method CALL-ME at /home/camelia/rakudo-m-inst-2… |
||
16:01
mxco86 joined
|
|||
BenGoldberg | m: use NativeCall; my CArray[long] $tt .= new; $tt[0] = -2; sub time(CArray[long] $t = $tt --> long) is native {*}; dd time($tt); dd $tt[0]; | 16:01 | |
camelia | Calling time(NativeCall::Types::CArray[NativeCall::Types::long]) will never work with declared signature (NativeCall::Types::CArray[NativeCall::Types::long] $t = { ... } --> NativeCall::Types::long) in method CALL-ME at /home/camelia/rakudo-m-inst-2/… |
||
IOninja | moritz: github.com/rakudo/rakudo/commit/e2...6d25995a90 | 16:02 | |
16:03
Grrrr left
16:04
llfourn left
|
|||
araraloren | How I represent a struct has a function ptr in Perl6 ? The CStruct can not have &callback attribute, must i have to use a CPointer ? Has anyone encounter this situation? | 16:04 | |
BenGoldberg | Do you fill in the struct's contents in perl6, or is it filled in by the C library? | 16:06 | |
araraloren | For now, I think will do that in Perl 6. | 16:07 | |
16:08
mcmillhj joined
|
|||
araraloren | Take a look at github.com/tensorflow/tensorflow/b.../c/c_api.h line 163 ~ 178. | 16:08 | |
BenGoldberg | If it's filled in by the C library, then you can simply write 'has Pointer $thecallback', and then later: my $callable = nativecast( $struct.thecallback, :(blah blah blah) ); $callable.(arguments); | ||
16:09
Grrrr joined
|
|||
araraloren | BenGoldberg, It's not clear yet, I don't know much about this tensorflow library .. | 16:09 | |
You know, I just try to make a wrap for it. | 16:10 | ||
BenGoldberg | It looks like the tensorflow library is asking you how you want to free up data that you've allocated and passed to it. | ||
araraloren | Hm, seem like you are right. | 16:11 | |
BenGoldberg | I think you're going to have to write some C code in order to make it work. | ||
araraloren | You mean export some interface base on it ? | 16:12 | |
16:12
mcmillhj left
|
|||
BenGoldberg | I think you first need to ask yourself, how would you use the library if you weren't doing this in perl6. | 16:12 | |
araraloren | Hm, I have got to think it over . | 16:13 | |
BenGoldberg, thanks | |||
16:20
dwarring left
16:21
bwisti joined
|
|||
Geth | doc/WildYorkies-patch-3: a4fb28da9e | Cale++ | doc/Type/Signature.pod6 reorganize "constraining return types" |
16:22 | |
doc: WildYorkies++ created pull request #1220: reorganize "constraining return types" |
|||
BenGoldberg | m: my $i = Int; my $s = Str; method ($i:D $self: |args --> $s) { ... }; | 16:25 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Invalid typename 'D' in parameter declaration. at <tmp>:1 ------> 3my $i = Int; my $s = Str; method ($i:D7⏏5 $self: |args --> $s) { ... }; |
||
BenGoldberg | m: my $x = method (Any:D:) { self }; dd 42.&$x(); | 16:28 | |
camelia | 42 | ||
BenGoldberg | m: my $x = method (:D:) { self }; dd 42.&$x(); | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block at <tmp>:1 ------> 3my $x = method (:7⏏5D:) { self }; dd 42.&$x(); |
||
16:33
gdonald_ left,
gdonald_ joined
16:35
araraloren left
16:54
travis-ci joined
|
|||
travis-ci | Doc build passed. Cale 'reorganize "constraining return types"' | 16:54 | |
travis-ci.org/perl6/doc/builds/205541540 github.com/perl6/doc/commit/a4fb28da9ecf | |||
16:54
travis-ci left
16:57
mcmillhj joined
17:01
llfourn joined,
Ben_Goldberg joined
17:02
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg,
mcmillhj left
17:05
risou_awy is now known as risou
17:06
llfourn left
17:22
risou is now known as risou_awy
17:24
chansen_ left
17:25
itcharlie1 joined
17:28
chansen_ joined
|
|||
AlexDaniel | hehe, so according to Linus, git will *eventually* switch from SHA1. Makes me wonder why everyone started to move now, like if SHA1 problem was unknown before. | 17:51 | |
timotimo | people tend to need a swift kick in the butt for those kinds of thing | 17:52 | |
just the other day i saw md5 be used in a program that was written last year | |||
AlexDaniel | and also, all of sudden, we see patches to help mitigate the issue, even though there was no issue! | ||
timotimo | it's totally legit to apply a patch that isn't technologically necessary, but that helps shut up people who would otherwise spam your mailing lists with dozens or hundreds of mails per day | 17:55 | |
AlexDaniel | that's not the case, I think | 17:56 | |
plus.google.com/+LinusTorvalds/pos...tp2gYWQugL | |||
Especially this: “it's already sufficient if the hosting place runs the checks every once in a while” | 17:58 | ||
so either run the check yourself, or rely on github to run the checks for you… Awesome solution | |||
timotimo | mhm | 17:59 | |
18:01
llfourn joined
18:02
kurahaupo left
18:03
kurahaupo joined
18:05
CIAvash left
|
|||
tbrowder | 'Lo #perl6 | 18:06 | |
18:06
llfourn left
|
|||
IOninja | \o | 18:07 | |
AlexDaniel | Zo | 18:09 | |
DrForr | Nize ztation. | 18:10 | |
tbrowder | I've been writing a sub to report on apache status using run to execute the system ps command. I may have an outdated rakudo, but neither run nor shell are capturing out with either the :err or :out arcs. (of course I may be doing something stupid.) I finally succeeded by using shell to redirect output to a file and then slurped and grepped the file. I'm on | 18:12 | |
the road and can't test, but anyone have any ideas? | |||
IOninja:hi! | |||
18:13
zakharyas left,
mcmillhj joined
|
|||
IOninja | tbrowder: run(:out, "cal").out.slurp-rest.say captures output just fine on my box | 18:15 | |
18:17
pyrimidi_ left
18:18
mcmillhj left
18:34
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
18:36
risou_awy is now known as risou
|
|||
tbrowder | IOninja: thanks, at least that gives me a data point. Can you try it with "ps -C http o cmd=" | 18:40 | |
IOninja | that commands gives me no output when run in the shell | ||
tbrowder | On some box running http? | ||
IOninja | no idea what http is | 18:41 | |
tbrowder | It won't unless you're running httpd | ||
IOninja | I'm not. I'm running apache | ||
zoffix@leliana:~$ perl6 -e 'run(:out, <ps -C apache2 o cmd=>).out.slurp-rest.say' | 18:42 | ||
mst | I have a feeling that on RHELL the process is called httpd ? | ||
IOninja | /usr/sbin/apache2 -k start | ||
18:42
darutoko left
|
|||
tbrowder | httpd is the default apache daemon, it will be apache on a Debian package install according to the apache user list | 18:42 | |
mst | I think it's apache on fbsd too | 18:43 | |
IOninja | tbrowder: I suspect you're passing it all as one string instead of proper 'command', @args format | ||
kinda sucks it silently succeeds | 18:44 | ||
IOninja adds to the list | |||
AlexDaniel | this works for me: run(:out, ‘ps’, ‘-C’, ‘bash’, ‘o’, ‘cmd=’).out.slurp-rest.say | ||
tbrowder | The thing is I show results on the cli but not with shell or run. When I get home I'll update rakudo and check again. | ||
18:46
lucasb joined
|
|||
AlexDaniel | IOninja: interesting… exitcode seems to be 0 if you use :out | 18:47 | |
and -1 if you're not trying to catch stdout | |||
-1 is more or less OK because it at least blows up in sink context | 18:48 | ||
BenGoldberg | m: say CALLER.<$?FILE>; | ||
camelia | (Any) | ||
lucasb | a line from Proc.pm: has $.exitcode = -1; # distinguish uninitialized from 0 status | 18:51 | |
BenGoldberg is wondering if there's any way to get info about the stack, a la perl5's caller. | |||
IOninja | BenGoldberg: callframe | ||
BenGoldberg | Thanks | ||
lucasb doesn't know what's the practical difference between Proc.status and Proc.exitcode | 18:52 | ||
IOninja | m: sub foo { bar }; sub bar { say "You called me from {callframe(2).code.name}" }; foo | ||
camelia | You called me from foo | ||
18:55
risou is now known as risou_awy
19:01
pyrimidine joined,
llfourn joined
19:03
wamba left
19:05
pyrimidine left
19:06
llfourn left
|
|||
Geth | marketing: 6a9bedcd2a | (Zoffix Znet)++ | 2 files Rename file to better indicate color scheme |
19:08 | |
19:14
IOninja is now known as Zoffix
|
|||
Zoffix | \o | 19:14 | |
yoleaux | 23 Feb 2017 13:07Z <Ven> Zoffix: twitter.com/zoffix/status/834074966274482177 why `(my \n = $++)` vs `(state $n)++`? | ||
moritz | m: say "ø".uniprop: $_ for <Numeric Alphabetic>; | 19:15 | |
camelia | ALetter True |
||
timotimo | zoffix? who the fuck is zoffix? | ||
moritz | is that by design? | ||
Zoffix | Some guy | ||
moritz | I find it a bit weird that one of those returns a boolean, and asking if it's Numeric returns "ALetter" | 19:16 | |
19:16
Zoffix left,
Zoffix joined
|
|||
AlexDaniel | m: say "ø".uniprop-bool: $_ for <Numeric Alphabetic>; | 19:16 | |
camelia | True True |
||
AlexDaniel | better? xD | 19:17 | |
moritz | not really | ||
AlexDaniel | xD | ||
AlexDaniel casts samcv | |||
moritz | I don't consider ø to be numeric | ||
samcv | hey AlexDaniel | ||
AlexDaniel | samcv: hey. Unicode question ↑ :) | ||
moritz | wow, a successful summon with a short round-trip time! :-) | ||
timotimo | huh, i kind of missed the whole animation that usually plays for a summon | 19:18 | |
moritz | samcv: starts here: irclog.perlgeek.de/perl6/2017-02-26#i_14169361 | ||
AlexDaniel | this doesn't look right, by the way | 19:19 | |
samcv | moritz, Numeric basically means Numeric_Type | ||
it's an alias name | |||
AlexDaniel | but shouldn't it be None? | ||
samcv | but uh. i guess i can see how that might be weird | ||
AlexDaniel | isn't it Word_Break that should be ALetter? | ||
moritz | is there a list of Unicode properties we support? | ||
samcv | oh you think the value is incorrect? | ||
AlexDaniel | bisect: old=HEAD~300 say "ø".uniprop: $_ for <Numeric Alphabetic>; | ||
bisectable6 | AlexDaniel, Bisecting by output (old=HEAD~300 new=dd4dfb1) because on both starting points the exit code is 0 | ||
AlexDaniel | commit: HEAD~300 say "ø".uniprop: $_ for <Numeric Alphabetic>; | ||
committable6 | AlexDaniel, ¦«HEAD~300»: NoneTrue | ||
bisectable6 | AlexDaniel, bisect log: gist.github.com/3a28f10a707485220b...4c1b36e3e9 | ||
AlexDaniel, (2017-01-25) github.com/rakudo/rakudo/commit/3a...ab2489ece2 | |||
AlexDaniel | commit: 3a774066^,3a774066 say "ø".uniprop: $_ for <Numeric Alphabetic>; | 19:20 | |
committable6 | AlexDaniel, ¦«3a774066^»: NoneTrue¦«3a77406»: LowerTrue | ||
samcv | "ø".uniprop('Numeric').say | ||
m "ø".uniprop('Numeric').say | |||
AlexDaniel | commit: 3a774066^,3a774066 say "ø".uniprop: $_ for <Numeric_Type Alphabetic>; | ||
committable6 | AlexDaniel, ¦«3a774066^,3a77406»: NoneTrue | ||
samcv | m: "ø".uniprop('Numeric').say | ||
camelia | ALetter | ||
samcv | m: "ø".uniprop('Numeric_Type').say | ||
camelia | None | ||
samcv | hm | ||
AlexDaniel | m: "ø".uniprop('Word_Break').say | ||
camelia | ALetter | ||
AlexDaniel | hm | ||
samcv | m: "a".uniprop('Numeric').say | ||
camelia | ALetter | ||
samcv | interesting | 19:21 | |
19:21
eroux left
|
|||
samcv | let me see what 'Numeric' is resolving to | 19:21 | |
sec | |||
AlexDaniel | but Numeric_Type is broken too | ||
m: "a".uniprop('Numeric_Type').say | |||
camelia | None | ||
AlexDaniel | ah | ||
not | |||
so it's just the alias | |||
moritz | m: say 'ø'.uniprop('Numeric_Type') | 19:22 | |
camelia | None | ||
samcv | let me check some stuff | ||
moritz | samcv++ | ||
AlexDaniel | moritz: so yes, while samcv is fixing it, you can use Numeric_Type | ||
19:22
eroux joined
|
|||
samcv | would do uniprop-bool('Numeric_Type') btw | 19:22 | |
you will get true or false if it's numeric or not | 19:23 | ||
instead of strings | |||
Numeric is not a property name or name alias | 19:24 | ||
so let me see what it actually resolves to | |||
AlexDaniel whispers “Word_Break” | 19:25 | ||
samcv | yeah it is word break. but i wanted to double check | ||
AlexDaniel | how does it happen, by the way? | ||
samcv | uhm | ||
because i hate the script that generates the unicode database | 19:26 | ||
AlexDaniel | some misalignment somewhere? | ||
samcv | and it does a lot of silly things like intermingling of the property values and property names at point | ||
i bet there's a Word_Break=Numeric | |||
90% sure | |||
just like how doing <:space> actually checks the line feed property. which has the value of space | 19:27 | ||
instead of checking the space property | |||
moritz | m: say 'a'.uniprop-bool('ASCII_Hex_Digit') | 19:31 | |
camelia | True | ||
moritz | what's the difference between unicmp and coll? | 19:35 | |
samcv | unicmp just does default UCA but coll uses $*COLLATION variable | 19:36 | |
so unless you change $*COLLATION they act the same | |||
moritz | ok, thanks | ||
m: say $*COLLATION | |||
camelia | collation-level => 15, Country => International, Language => None, primary => True, secondary => True, tertiary => True, quaternary => True | ||
samcv | did you see my part in docs.perl6.org/language/experimental | ||
moritz | samcv: no, did not. Thanks for the pointer! | 19:37 | |
samcv | yeah read it, gives you a good rundown :) | ||
moritz | I can now stop asking obnoxious questions :-) | ||
AlexDaniel wonders why we still have this page | |||
samcv | experimental page? | ||
AlexDaniel | yea, I thought that idea was to move it to rakudo wiki | ||
samcv | oh | ||
dunno if i like that either | 19:38 | ||
dunno. i've never used rakudo wiki | |||
but i mean these are experimental perl 6 features yes? | |||
moritz likes the page | |||
AlexDaniel | or maybe not: github.com/perl6/doc/issues/893 | ||
moritz | man, unicode.org doesn't offer https. Seems very old-style. | 19:45 | |
AlexDaniel | yup | 19:46 | |
but according to the latest stats I think only half of all websites are using https | 19:47 | ||
19:51
bjz joined
|
|||
moritz | but rising steadily | 19:54 | |
samcv: how much country-specific collation is implemented? | 19:56 | ||
samcv | 0 :) | ||
moritz | m: use experimental :collation; $*COLLATION.set(:Country<Norway>); say <a å z>.collate | ||
camelia | (a å z) | ||
moritz | samcv: ah, that explains it | ||
samcv | 0 language specific either | ||
moritz | I would have expected that to say (a z å) if it were implemented | ||
samcv: would you maybe want to write a guest chapter on Unicode for the "Perl 6 by Example" book? | 19:57 | ||
samcv | yeah i may be able to do that | 19:58 | |
moritz | I feel I can't do the topic justice | ||
\o/ that would be great | |||
samcv | okay. i need a preview of your book first though | ||
so i can know how to match similar style :) | |||
moritz | samcv: if you /msg me a ssh pubkey, I can give you access to my repo (not on github) | 19:59 | |
samcv: or should I use github.com/samcv.keys ? | |||
AlexDaniel | m: role Foo { has $one }; ‘blah’ does Foo(42) | 20:01 | |
camelia | Can only supply an initialization value for a role if it has a single public attribute, but this is not the case for 'Foo' in block <unit> at <tmp> line 1 |
||
AlexDaniel | what am I missing? | 20:02 | |
20:02
llfourn joined
|
|||
moritz | it needs to be public, I think | 20:02 | |
m: role Foo { has $.one }; ‘blah’ does Foo(42 | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1 ------> 3le Foo { has $.one }; ‘blah’ does Foo(427⏏5<EOL> |
||
AlexDaniel | $.one | ||
okay | |||
moritz | m: role Foo { has $.one }; ‘blah’ does Foo(42) | ||
camelia | ( no output ) | ||
20:03
TEttinger joined
|
|||
AlexDaniel | ok, next question | 20:03 | |
moritz | 'cause private attributes can't be initialized from the outside | ||
(ah, even says "public attribute" in the error message) | |||
samcv | moritz, yeah use the key there | ||
AlexDaniel | m: role Foo { has $.one; has $.two }; ‘blah’ does Foo(:one(42), :two(69)) | ||
camelia | Cannot invoke this object (REPR: Uninstantiable; Foo) in block <unit> at <tmp> line 1 |
||
AlexDaniel | m: role Foo { has $.one; has $.two }; ‘blah’ does Foo(42, 69) | ||
camelia | Cannot invoke this object (REPR: Uninstantiable; Foo) in block <unit> at <tmp> line 1 |
||
moritz | m: role Foo { has $.one; has $.two }; ‘blah’ does Foo(one => 42, two => 69) | 20:04 | |
camelia | Cannot invoke this object (REPR: Uninstantiable; Foo) in block <unit> at <tmp> line 1 |
||
AlexDaniel | so what if I want to have more than one? | ||
moritz | m: role Foo { has $.one; has $.two }; ‘blah’ does Foo.new(one => 42, two => 69) | ||
camelia | Cannot mix in non-composable type Foo into object of type Str in block <unit> at <tmp> line 1 |
||
20:04
lucasb left
|
|||
moritz | AlexDaniel: oh man, there's some longer-winded syntax that Foo(42) is a shortcut for, I think, but I can't remember what it is | 20:04 | |
samcv: please try 'git clone [email@hidden.address] | 20:06 | ||
samcv | hmm did not work | 20:07 | |
have not tried this for git before but for ssh i connect to AlexDaniel's server using the same key though through ssh | |||
20:08
llfourn left,
zakharyas joined
|
|||
samcv | yeah same key. so it should work same with git right? since it uses ssh | 20:09 | |
20:10
dotness joined
|
|||
AlexDaniel | m: role Foo { method one { ‘hello’ } }; class Blah { also does Foo }; say Blah.new.one | 20:10 | |
camelia | hello | ||
AlexDaniel | github.com/perl6/doc/issues/1221 | 20:12 | |
tbrowder | IOninja: I get the same nil out with run AND shell. But if I direct shell to a file, the output is captured fine. | 20:13 | |
Zoffix | AlexDaniel: docs.perl6.org/language/classtut#i...rator-also | ||
AlexDaniel: "also declarator" in search results | 20:14 | ||
AlexDaniel | dammit | ||
yes, now I see it | |||
Zoffix | tbrowder: what's the exact code you're running? | ||
tbrowder | The cmd is "ps -C httpd o cmd=" | 20:15 | |
Zoffix | tbrowder: no, the Perl 6 code you're running | ||
tbrowder | my $p = shell $cmd, :out; # where $cmd is the ps cmd I just showed. | 20:17 | |
say $p.out.slurp-rest; | 20:18 | ||
Of course there will be no output if httpd is not running | |||
Zoffix | tbrowder: does $p.sink throw? | ||
and does `ps -C httpd o cmd=` actually produce output when you run it in the shell instead of Perl 6? | 20:19 | ||
geekosaur | exit 1 here | 20:21 | |
(and no output) | |||
tbrowder | Hm, can't say...no computer avail now. Can check later. I will do some thorough checking when I get home. Anything else to check like sink pleas suggest. As I said, I'll also make sure I'm using latest rakudo on nom branch. | ||
geekosaur | and I think the exit 1 means it'll throw? | ||
Zoffix | yes | 20:22 | |
tbrowder | Yes, at the spell cli I get good output. | ||
Zoffix | tbrowder: add `dd $cmd;` before the call and check if $p.sink throws | ||
moritz | samcv: please try again, I had a trailing newline in your key file that confused gitolite | ||
samcv | very good | ||
worked perfect | 20:23 | ||
moritz | \o/ | ||
tbrowder | Zoffix: (welcome back) WILCO | ||
samcv | will take a look at it later today | ||
moritz | samcv: thanks | ||
20:24
domidumont left
|
|||
Zoffix | tbrowder: also note that `run $cmd` is wrong in this case. You need to give it as a list. `run $cmd.words` should do the trick here | 20:29 | |
BenGoldberg | m: Int.foo; | ||
camelia | No such method 'foo' for invocant of type 'Int' in block <unit> at <tmp> line 1 |
||
BenGoldberg | m: say try Int.foo; | ||
camelia | Nil | ||
AlexDaniel | m: Int.?foo; | ||
BenGoldberg wonders where the failure/exception went. | |||
camelia | ( no output ) | ||
Zoffix | m: say try Int.foo; say $!.^name | 20:30 | |
camelia | Nil X::Method::NotFound |
||
AlexDaniel | m: say try { Int.foo; CATCH { default { say ‘it's right here, no?’ } } }; | ||
camelia | it's right here, no? Nil |
||
AlexDaniel | m: say try { Int.foo; CATCH { default { .say } } }; | ||
camelia | No such method 'foo' for invocant of type 'Int' in block <unit> at <tmp> line 1 Nil |
||
BenGoldberg | m: say X::Method::NotFound.new; | 20:31 | |
camelia | Use of uninitialized value of type Any in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. in block <unit> at <tmp> line 1 Use of uninitialized value of type Any in string context. Metho… |
||
BenGoldberg | m: my $x = X::Method::NotFound.new; | 20:32 | |
camelia | ( no output ) | ||
BenGoldberg | m: my $x = X::Method::NotFound.new; dd $x | ||
camelia | X::Method::NotFound $x = X::Method::NotFound.new(invocant => Mu, method => Any, typename => Any, private => Bool::False) | ||
20:37
risou_awy is now known as risou
20:42
pyrimidine joined
20:43
pyrimidine left
20:44
pyrimidine joined
20:47
bjz left
20:48
pyrimidine left
|
|||
tbrowder | question ref proc.run: in the docs it shows signature starting with: "*@args ($, *@)" but i can't finf | 20:49 | |
Zoffix | m: &run».signature.say | ||
camelia | ((| is raw)) | ||
Zoffix | m: Proc.^lookup("spawn")».signature.say | ||
camelia | Cannot resolve caller HYPER(Block, Mu); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, \right, :$dwi… |
||
tbrowder | ...find a good description in sig docs of what that exactly means. anyone? | ||
Zoffix | heh | ||
tbrowder: slurp all remaining positionals into @args; leave first element as is, stuff the rest into second element as an array | 20:51 | ||
m: sub (*@args ($, @*)) {dd @ags}(<a b c d e f g>) | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed parameter at <tmp>:1 ------> 3sub (*@args ($, @7⏏5*)) {dd @ags}(<a b c d e f g>) expecting any of: constraint |
||
Zoffix | m: sub (*@args ($, *@)) {dd @ags}(<a b c d e f g>) | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '@ags' is not declared. Did you mean '@args'? at <tmp>:1 ------> 3sub (*@args ($, *@)) {dd 7⏏5@ags}(<a b c d e f g>) |
||
Zoffix | wat.. | ||
oh | |||
hobbs | typo, ags vs args | ||
Zoffix | reading helps :) | ||
m: sub (*@args ($, *@)) {dd @args}(<a b c d e f g>) | 20:52 | ||
camelia | ["a", "b", "c", "d", "e", "f", "g"] | ||
Zoffix | Oh, I'm a good liar :P | ||
tbrowder: never mind, what I said is wrong. | |||
m: sub (*@args ($x, *@y)) {dd [$x, @y] }(42, <a b c d e f g>) | 20:53 | ||
camelia | [42, ["a", "b", "c", "d", "e", "f", "g"]] | ||
Zoffix | thought what I described is what I would've expected it to do :/ | ||
tbrowder | but at least you showed some good test methodology! | ||
20:55
risou is now known as risou_awy
|
|||
tbrowder | on the road again...bye for now | 20:57 | |
21:00
dotness left
21:02
_28_ria joined
21:03
llfourn joined
21:04
pyrimidine joined
21:08
pyrimidine left
21:09
llfourn left
21:12
bjz joined
21:14
pyrimidine joined
21:19
bwisti left
|
|||
BenGoldberg | s: ((use NativeCall), &nativecast)[1], \() | 21:23 | |
SourceBaby | BenGoldberg, Something's wrong: ERR: Could not find candidate that can do \() in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 37 in block <unit> at -e line 6 | ||
BenGoldberg | s: ((use NativeCall), &nativecast)[1], \(Pointer, Signature) | ||
SourceBaby | BenGoldberg, Sauce is at github.com/rakudo/rakudo/blob/8e25...2199756E03 (NativeCall)#L410 | ||
BenGoldberg | Zoffix, Since SourceBaby is your baby, any chance of fixing that? | 21:24 | |
Zoffix | Don't think so. | 21:25 | |
buggable: eco hackery | |||
buggable | Zoffix, Nothing found | ||
Zoffix | buggable: eco sourcery | ||
buggable | Zoffix, CoreHackers::Sourcery 'Helper for showing actual source code locations of core subs and methods': github.com/zoffixznet/perl6-CoreHa...s-Sourcery | ||
Zoffix | It uses ^ that module to do it's job if you want to give it a go. | 21:26 | |
by "don't think so" I mean I have neither time nor desire to fix that, not that there's no way. | 21:27 | ||
BenGoldberg | s: ((use Test), &test::output)[1], \() | ||
SourceBaby | BenGoldberg, Something's wrong: ERR: Cannot resolve caller sourcery(Any, Capture); none of these signatures match: ($thing, Str:D $method, Capture $c) ($thing, Str:D $method) (&code) (&code, Capture $c) in block <unit> at -e line 6 | ||
BenGoldberg | m: say ((use Test), &test::output)[1] | 21:28 | |
camelia | (Any) | ||
BenGoldberg | m: say ((use Test), &plan)[1] | ||
camelia | sub plan (;; Mu | is raw) { #`(Sub|61729752) ... } | ||
BenGoldberg | s: ((use Test), &plan)[1], \() | ||
SourceBaby | BenGoldberg, Something's wrong: ERR: Could not find candidate that can do \() in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 37 in block <unit> at -e line 6 | ||
BenGoldberg | s: ((use Test), &plan)[1], \(Any) | ||
SourceBaby | BenGoldberg, Sauce is at github.com/rakudo/rakudo/blob/8e25...D06868219E (Test)#L62 | ||
BenGoldberg | Looks like anything which ought to point to github.com/rakudo/rakudo/blob/nom/lib/ comes out like that. | 21:29 | |
21:32
bjz left
21:35
bwisti joined,
zakharyas left
21:39
robertle left
22:03
wamba joined
22:05
llfourn joined
22:07
RabidGravy left
22:11
llfourn left
22:24
kurahaupo left
22:31
gregf_ left
|
|||
TEttinger | woah, Zoffix is back. it's almost as if they never left... | 22:33 | |
Zoffix | :) | 22:34 | |
El_Che | I liked brokenchicken | 22:36 | |
22:37
Voldenet left,
risou_awy is now known as risou
|
|||
AlexDaniel | babydrop was nice also | 22:38 | |
Zoffix 's favourite was `viki` | 22:39 | ||
AlexDaniel | m: say ‘AlexDaniel’.comb.pick(*).join | 22:40 | |
camelia | elaADnlxie | ||
22:40
AlexDaniel is now known as elaADnlxie
|
|||
elaADnlxie | … how original | 22:40 | |
22:42
Voldenet joined,
Voldenet left,
Voldenet joined
|
|||
elaADnlxie | m: my %h1 = :4foo :8bar; say %h1 | 22:43 | |
camelia | {foo => 4} | ||
elaADnlxie | dammit, this again | ||
m: my %h1 = :4foo, :8bar; say %h1 | |||
camelia | {bar => 8, foo => 4} | ||
elaADnlxie | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; my %h1 ,= %h2; say %h1 | 22:44 | |
camelia | Potential difficulties: Redeclaration of symbol '%h1' at <tmp>:1 ------> 034foo, :8bar; my %h2 = :15x, :16y; my %h17⏏5 ,= %h2; say %h1 {x => 15, y => 16} |
||
elaADnlxie | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; %h1 ,= %h2; say %h1 | ||
camelia | {x => 15, y => 16} | ||
elaADnlxie | w… what | 22:45 | |
m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; %h1 = %h1, %h2; say %h1 | |||
camelia | {x => 15, y => 16} | ||
elaADnlxie | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; my %all = %h1, %h2; say %all | ||
camelia | {bar => 8, foo => 4, x => 15, y => 16} | ||
Zoffix | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; %h1 = |%h2, |%h1; say %h1 | 22:46 | |
camelia | {bar => 8, foo => 4, x => 15, y => 16} | ||
elaADnlxie | Zoffix: that's ok, yes, but why does it work with 「my %all = %h1, %h2」 ? | 22:47 | |
Zoffix | Dunno | ||
elaADnlxie | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; my %all; %all = %h1, %h2; say %all | 22:49 | |
camelia | {bar => 8, foo => 4, x => 15, y => 16} | ||
elaADnlxie | in fact, this works | ||
22:50
cibs left
|
|||
Zoffix | Ahhh | 22:51 | |
The container thing. | |||
Um, I guess | |||
Nevermidn | |||
elaADnlxie | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; %h1 = %(%h1, %h2); say %h1 | 22:54 | |
camelia | {bar => 8, foo => 4, x => 15, y => 16} | ||
elaADnlxie | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; %h1 = (%h1, %h2); say %h1 | ||
camelia | {x => 15, y => 16} | ||
22:54
risou is now known as risou_awy
|
|||
elaADnlxie | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; %h2 = (%h1, %h2); say %h2 | 22:54 | |
camelia | {bar => 8, foo => 4} | 22:55 | |
22:59
cibs joined
|
|||
Zoffix | Perl 6 IO TPF Grant: Monthly Report (February, 2017): blogs.perl.org/users/zoffix_znet/20...-2017.html | 23:03 | |
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; dd %h1; dd %h2; | 23:04 | |
camelia | Hash %h1 = {:bar(8), :foo(4)} Hash %h2 = {:x(15), :y(16)} |
||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; dd %h1; dd %h2; %h1 = (%h1, %h2); dd %h1; | ||
camelia | Hash %h1 = {:bar(8), :foo(4)} Hash %h2 = {:x(15), :y(16)} Hash %h1 = {:x(15), :y(16)} |
||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; dd %h1; dd %h2; %h1.push: %h2; dd %h1; | 23:05 | |
camelia | Hash %h1 = {:bar(8), :foo(4)} Hash %h2 = {:x(15), :y(16)} Hash %h1 = {:bar(8), :foo(4), :x(15), :y(16)} |
||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; dd %h1; dd %h2; %h1 = :quux(42); dd %h1; | ||
camelia | Hash %h1 = {:bar(8), :foo(4)} Hash %h2 = {:x(15), :y(16)} Hash %h1 = {:quux(42)} |
||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; dd %h1; dd %h2; %h1 = :quux(42), %h1; dd %h1; | ||
camelia | Hash %h1 = {:bar(8), :foo(4)} Hash %h2 = {:x(15), :y(16)} Hash %h1 = {:quux(42)} |
||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; dd %h1; dd %h2; %h1 = :quux(42), |%h1; dd %h1; | ||
camelia | Hash %h1 = {:bar(8), :foo(4)} Hash %h2 = {:x(15), :y(16)} Hash %h1 = {:bar(8), :foo(4), :quux(42)} |
||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; dd %h1; dd %h2; %h1 = |%h1, |%h2; dd %h1; | 23:06 | |
camelia | Hash %h1 = {:bar(8), :foo(4)} Hash %h2 = {:x(15), :y(16)} Hash %h1 = {:bar(8), :foo(4), :x(15), :y(16)} |
||
23:06
llfourn joined
|
|||
BenGoldberg | elaADnlxie, In perl5, if you put an array or a hash in list context, it would always without exception flatten. | 23:08 | |
In perl6, if you have a list containing one hash or one array, that hash or array will also flatten. | |||
When you've got two or more items in a list, their itemness is preserved. | |||
elaADnlxie | BenGoldberg: not really | ||
let me demonstrate | |||
m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; my %all = %h1, %h2; say %all | 23:09 | ||
camelia | {bar => 8, foo => 4, x => 15, y => 16} | ||
BenGoldberg | Or rather, their itemness is preserved unless you explicitly ask for flatting, using | | ||
elaADnlxie | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; my %all = %h1, %h2; dd %all | ||
camelia | Hash %all = {:bar(8), :foo(4), :x(15), :y(16)} | ||
elaADnlxie | BenGoldberg: so why does this work then? ↑ | ||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; my @all = %h1, %h2; dd @all | ||
camelia | Array @all = [{:bar(8), :foo(4)}, {:x(15), :y(16)}] | ||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; my @all = %h1, %h2; dd @all.Hash | 23:10 | |
camelia | Hash % = {"bar\t8\nfoo\t4" => ${:x(15), :y(16)}} | ||
BenGoldberg | I think there's a bug. | ||
Notice what happened when I assigned %h1 and %h2 to an array; the hashes did not flatten. | |||
elaADnlxie | sure | ||
BenGoldberg | m: my %h1 = :4foo, :8bar; my %h2 = :15x, :16y; my @all = %h1, %h2; my %all = @all; dd %all; | 23:11 | |
camelia | Hash %all = {"bar\t8\nfoo\t4" => ${:x(15), :y(16)}} | ||
elaADnlxie | yea, if it worked like this ↑, then I'd accept it :) | ||
BenGoldberg | The array behavior is what is supposed to happen; that's what's documented. | ||
23:11
llfourn left
|
|||
elaADnlxie | but current behavior is WAT, unless somebody knows a good reason why it should be this way… | 23:11 | |
arrays are fine, my question is about hashes :) | 23:12 | ||
it feels liket here's some self-referential issue again | |||
BenGoldberg | The obvious fact that assigning two hashes to a third hash, without explicity |'s, is really really wierd. | ||
elaADnlxie | m: my %h1 = <1 a 2 b>; my %h2 = <3 c 4 d>; my %h3 = <5 e 6 f>; %h1 = %(%h1, %h2, %h3); say %h1 | 23:13 | |
camelia | {1 => a, 2 => b, 3 => c, 4 => d, 5 => e, 6 => f} | ||
elaADnlxie | m: my %h1 = <1 a 2 b>; my %h2 = <3 c 4 d>; my %h3 = <5 e 6 f>; %h1 = (%h1, %h2, %h3); say %h1 | ||
camelia | {3 => c, 4 => d, 5 => e, 6 => f} | ||
BenGoldberg | huggable, rakudobug | ||
huggable | BenGoldberg, Report bugs by emailing to [email@hidden.address] | ||
elaADnlxie | so it's all *except* self | ||
ok I'll rakudobug this | 23:14 | ||
Zoffix | m: my %h1 = <1 a 2 b>; my %h2 = <3 c 4 d>; my %h3 = <5 e 6 f>; %h1 = 42 => [(%h1, %h2, %h3)]; say %h1 | 23:15 | |
camelia | (\Hash_36625712 = {42 => [Hash_36625712 {3 => c, 4 => d} {5 => e, 6 => f}]}) | ||
Zoffix | m: my %h1 = <1 a 2 b>; my %h2 = <3 c 4 d>; my %h3 = <5 e 6 f>; %h1 = 42 => [(%h1, %h2, %h3),]; say %h1 | ||
camelia | (\Hash_59075504 = {42 => [(Hash_59075504 {3 => c, 4 => d} {5 => e, 6 => f})]}) | ||
Zoffix | m: my %h1 = :42a; my %h2 = :72b; %h1 = %h1, %h2; say %h1 | 23:17 | |
camelia | {b => 72} | ||
Zoffix | m: my %h1 = :42a; my %h2 = :72b; %h1 = foo => %h1, %h2; say %h1 | ||
camelia | (\Hash_61016848 = {b => 72, foo => Hash_61016848}) | ||
23:23
llfourn joined
23:29
risou_awy is now known as risou
23:40
lep-delete left
23:45
lep-delete joined
23:46
risou is now known as risou_awy,
druonysus left,
llfourn left
23:49
_28_ria left
23:50
_28_ria joined
23:56
cdg joined
|