»ö« 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. |
|||
IOninja | m: sub foo returns Array[Int] { my @x; return @x; }; foo().gist | 00:01 | |
camelia | rakudo-moar 4efcc2: OUTPUT«Type check failed for return value; expected Array[Int] but got Array ($[]) in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
IOninja | kalkin-: you're not returning a typed array | ||
Array[Int] is a property of the array itself, not just a hint about its contents | 00:02 | ||
kalkin- | IOninja: ohh right | ||
Array[Foo].new: gather … | |||
cale2 | how do you override what happens to an object when you say `say myObject` ? | 00:07 | |
are there special methods like that? | |||
it's `gist` | 00:08 | ||
IOninja | Unless it's a subclass of Str. | 00:09 | |
cale2 | IOninja: The method that you'll typically override for human reading is gist though, right? | 00:11 | |
TimToady | that's about the gist of it | ||
cale2 | Docs say `.str` method is for machine reading? | ||
lol | |||
TimToady | if you're gonna print it on a printer, you probably want .str | 00:12 | |
er, .Str | |||
[Coke] | docs say .str or .Str ? | ||
TimToady++ | |||
TimToady | m: say 42.str | ||
camelia | rakudo-moar 4efcc2: OUTPUT«No such method 'str' for invocant of type 'Int' in block <unit> at <tmp> line 1» | ||
cale2 | What method gets called if you interpolate an object? | ||
TimToady | Str | ||
cale2 | So that's what you want to override if you're, for instance, printing a game board of chess pieces | 00:13 | |
TimToady | m: say "I am {class Me { method Str { "MYSELF" } }.new}!!!" | 00:14 | |
camelia | rakudo-moar 4efcc2: OUTPUT«I am MYSELF!!!» | ||
cale2 | m: say class Me { method gist { "MYSELF" } }.new.gist | 00:15 | |
camelia | rakudo-moar 4efcc2: OUTPUT«MYSELF» | ||
cale2 | brain_explode.gif | 00:16 | |
TimToady | you should probably .gist to "me", since it's shorter :) | ||
00:23
pyrimidine joined
00:33
pyrimidine left
|
|||
samcv | what's that fancy thing how you can make infix take two arguments like a normal sub? | 00:46 | |
[&operator] or something like that? | |||
moritz | m: sub infix:<f>($a, $b) { "[$a, $b]" }; say [f] 1, 2, 3 | 00:47 | |
yoleaux | 6 Feb 2017 19:08Z <[Coke]> moritz: can you review github.com/perl6/book/issues/88 ? was your commit that added the image. | ||
camelia | rakudo-moar 4efcc2: OUTPUT«[[1, 2], 3]» | ||
IOninja | m: say infix:<+> 2, 2 | 00:48 | |
camelia | rakudo-moar 4efcc2: OUTPUT«4» | ||
samcv | moritz, Cannot reduce with unicmp because structural infix operators are diffy and not chaining | 00:49 | |
m: use experimental :unicmp; say &[unicmp] 'a', 'b' | |||
camelia | rakudo-moar 4efcc2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3use experimental :unicmp; say &[unicmp]7⏏5 'a', 'b' expecting any of: infix infix stopper postfix statement end…» | ||
samcv | m: use experimental :unicmp; say [unicmp] 'a', 'b' | 00:50 | |
camelia | rakudo-moar 4efcc2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot reduce with unicmp because structural infix operators are diffy and not chainingat <tmp>:1------> 3use experimental :unicmp; say [7⏏5unicmp] 'a', 'b' expecting any of: argu…» | ||
00:52
ocbtec joined
00:53
ocbtec left
|
|||
moritz | m: say reduce &[unicmp], 'a', 'b', 'c' | 00:54 | |
camelia | rakudo-moar 4efcc2: OUTPUT«()» | ||
timotimo is writing the weekly | 00:57 | ||
IOninja | \o/ | 01:02 | |
01:03
zakharyas joined
01:04
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
moritz | .oO( I can't get no sleep ) |
01:05 | |
cale2 | general question on OOP: What's an idiomatic way to create all of the chess pieces for the start of the game? | 01:10 | |
It seems a bit odd to have 32 or however many constructors in a setup function | |||
01:11
gdonald joined
01:24
Spot__ joined
|
|||
timotimo | i don't think there's that many different chess pieces :) | 01:24 | |
isn't there like 6 kinds per side? | |||
01:24
timeless joined
01:27
mohae joined,
mohae left
|
|||
TimToady | depends on if you count white bishops as disjunct from black bishops :) | 01:28 | |
timotimo | docs.google.com/document/d/1MrzL58...sp=sharing | ||
it'd be nice if y'all could give it a once-over for missing stuff, grammar- and typing errors | 01:29 | ||
(it's much easier to just copypaste the preview of the wordpress post to docs.google.com than to figure out how the fuck you're supposed to get feedback from others via a link in wordpress itself) | 01:30 | ||
cale2 | the board is 8 across. 8 pawns on each side. 8 special pieces on each side. 16 + 16 = 32. | 01:33 | |
Even if you only use one class for every piece, You still have a massive block of Piece.new over and over | |||
timotimo | wait, 8 special pieces? but they're not actually 8 different kinds | 01:34 | |
it's still mirrored | |||
cale2 | timotimo: but you have to instantiate the pieces regardless | 01:36 | |
TimToady | timotimo: the article looked pretty okay to me | 01:39 | |
01:40
rmusial joined
01:42
rurban joined
01:45
Actualeyes left
01:47
aborazmeh left
01:48
Actualeyes joined
01:49
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
bpmedley joined
|
|||
timotimo | sure, but you can for-loop over a few different things :) | 01:50 | |
for column in ^8 { put-piece Pawn.new(), column => $_, row => 1; put-piece Pawn.new(), column => $_, row => 6 } | |||
cale2 | I still need to learn how to think in terms of perl structures | 01:52 | |
I tend to focus strongly within one paradigm. Perl6 gives me all the paradigms. Analysis paralysis | 01:54 | ||
timotimo | p6weekly.wordpress.com/2017/02/07/...fter-math/ | ||
you've already seen the text, but now you can also up my clicks counter by one! :) | |||
cale2 | I really hope people are behaving in that hacker news thread haha | 01:57 | |
timotimo | it seems so! | ||
cale2 | things get out of hand quickly. though it was quite pleasant 4 hours ago | ||
timotimo | i read it ~6 hours ago, i think? | ||
01:57
jefflinahan joined,
jeff_linahan joined
01:58
pyrimidine joined
|
|||
timotimo | god darned wordpress changes all the time, and it seems like every time they change something, it's for the worse for me | 01:59 | |
02:03
pyrimidine left
|
|||
IOninja | timotimo++ good weekly. | 02:04 | |
everyone++ tons of commits this week \o/ | |||
timotimo | yup | 02:13 | |
and thanks :) | 02:14 | ||
i didn't really look out for blog posts or stuff like that to link to :( | |||
02:16
ggoebel joined
02:20
rmusial left
02:22
SCHAAP137 joined
02:26
pyrimidine joined
|
|||
samcv | timotimo++ on the p6weekly | 02:26 | |
can always do it after the fact IOninja | |||
02:27
rmusial joined,
jefflinahan left,
jeff_linahan left
02:29
LeCamarade joined
|
|||
cale2 | m: my Int @ints; say @ints.WHAT; | 02:29 | |
camelia | rakudo-moar 46313f: OUTPUT«(Array[Int])» | ||
cale2 | m: my Array[Int] @ints; say @ints.WHAT; | ||
camelia | rakudo-moar 46313f: OUTPUT«(Array[Array[Int]])» | ||
cale2 | lmao | ||
m: my Array[Int] ints; say ints.WHAT; | 02:31 | ||
camelia | rakudo-moar 46313f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed my (did you mean to declare a sigilless \ints or $ints?)at <tmp>:1------> 3my Array[Int] ints7⏏5; say ints.WHAT;» | ||
cale2 | m: my Array[Int] \ints; say ints.WHAT; | ||
camelia | rakudo-moar 46313f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Term definition requires an initializerat <tmp>:1------> 3my Array[Int] \ints7⏏5; say ints.WHAT;» | ||
cale2 | m: my Array[Int] $ints; say $ints.WHAT; | ||
camelia | rakudo-moar 46313f: OUTPUT«(Array[Int])» | ||
cale2 | m: class Square {has $.stuff;}; my Square @squares; say @squares.WHAT ~~ Array[Square]; | 02:33 | |
camelia | rakudo-moar 46313f: OUTPUT«True» | ||
02:33
pyrimidine left,
rmusial left
02:34
LeCamarade left,
LeCamarade joined
02:40
rmusial joined
02:41
LeCamarade left,
LeCamarade joined
|
|||
Geth | doc: 29647d39e0 | (Samantha McVey)++ | doc/Language/experimental.pod6 Add some documentation on the experimental collation features |
02:45 | |
02:46
Actualeyes left
02:47
_28_ria joined
02:56
Eddward joined,
user_ joined
02:59
LeCamarade left,
LeCamarade joined
03:00
kalkin- left
|
|||
sjn | a | 03:00 | |
hmf. | |||
03:00
Actualeyes joined
03:01
LeCamarade left,
rmusial left
03:02
mr_ron joined
03:05
LeCamarade joined
03:06
LeCamarade left
03:08
labster joined
03:09
mr_ron left
03:24
effbiai joined,
sjmcc joined
03:25
sjmcc left
03:29
pyrimidine joined
03:30
rx joined
03:40
jefflinahan joined,
jefflinahan left,
jefflinahan joined,
jefflinahan left,
jefflinahan joined
03:48
bwisti joined,
labster left
03:51
zacts left
03:52
zacts joined
03:59
rmusial joined
04:01
rx left
04:02
BenGoldberg joined
04:03
labster joined
04:04
labster left
04:06
labster joined
04:08
kaare_ joined
04:09
labster left
04:11
kent\n joined
|
|||
BenGoldberg | m: macro postfix:<twice>( $modifiee ) { return quasi { {{{$modifiee}}} xx 2 } }; | 04:29 | |
camelia | rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Use of macros is experimental; please 'use experimental :macros'at <tmp>:1------> 3macro7⏏5 postfix:<twice>( $modifiee ) { return q» | ||
BenGoldberg | m: use experimental :macros; macro postfix:<twice>( $modifiee ) { return quasi { {{{$modifiee}}} xx 2 } }; | ||
camelia | rakudo-moar 192387: OUTPUT«===SORRY!===Unknown QAST node type QAST::Unquote» | ||
04:30
MasterDuke_ joined,
MasterDuke_ is now known as MasterDuke
|
|||
BenGoldberg | m: use experimental :macros; macro postfix:<twice> { return quasi { {{{$^q}}} xx 2 } }; | 04:34 | |
camelia | rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Placeholder variable $^q may not be used here because the surrounding block takes no signatureat <tmp>:1------> 3wice> { return quasi { {{{$^q}}} xx 2 }7⏏5 }; expecting any of: h…» | ||
BenGoldberg | m: use experimental :macros; macro postfix:<twice>($q) { return quasi { {{{$q}}} xx 2 } }; | 04:35 | |
camelia | rakudo-moar 192387: OUTPUT«===SORRY!===Unknown QAST node type QAST::Unquote» | ||
BenGoldberg | m: use experimental :macros; macro twice($q) { return quasi { {{{$q}}} xx 2 } }; | ||
camelia | rakudo-moar 192387: OUTPUT«===SORRY!===Unknown QAST node type QAST::Unquote» | ||
BenGoldberg | m: use experimental :macros; macro twice($q) { return quasi { say 42 } }; | ||
camelia | ( no output ) | ||
BenGoldberg | m: use experimental :macros; macro twice($q) { return quasi { $q xx 2 } }; | 04:36 | |
camelia | rakudo-moar 192387: OUTPUT«WARNINGS for <tmp>:Useless use of $q in sink context (line 1)» | ||
BenGoldberg | m: use experimental :macros; macro Twice($q) { return quasi { $q xx 2 } }; | ||
camelia | rakudo-moar 192387: OUTPUT«WARNINGS for <tmp>:Useless use of $q in sink context (line 1)» | ||
BenGoldberg | m: use experimental :macros; macro Twice($q) { return quasi { $q xx 2 } }; print Twice 42 | ||
camelia | rakudo-moar 192387: OUTPUT«WARNINGS for <tmp>:Useless use of $q in sink context (line 1) » | ||
BenGoldberg | m: use experimental :macros; macro Twice($q) { return quasi { $q xx 2 } }; say Twice 42; say 'after'; | 04:37 | |
camelia | rakudo-moar 192387: OUTPUT«WARNINGS for <tmp>:Useless use of $q in sink context (line 1)((Mu) (Mu))after» | ||
BenGoldberg | m: use experimental :macros; macro Twice($q) { return quasi { {{{$q}}} xx 2 } }; say Twice 42; say 'after'; | ||
camelia | rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unknown QAST node type QAST::Unquoteat <tmp>:1» | ||
04:38
labster joined
|
|||
BenGoldberg | m: macro postfix:<twice>($q) { return quasi { {{{$q}}}, {{{$q}}} } }; | 04:40 | |
camelia | rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Use of macros is experimental; please 'use experimental :macros'at <tmp>:1------> 3macro7⏏5 postfix:<twice>($q) { return quasi { {» | ||
BenGoldberg | m: use experimental :macros; macro postfix:<twice>($q) { return quasi { {{{$q}}}, {{{$q}}} } }; say 42 twice; | ||
camelia | rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3quasi { {{{$q}}}, {{{$q}}} } }; say 427⏏5 twice; expecting any of: infix infix stopper postfix statement end…» | ||
BenGoldberg | m: use experimental :macros; macro postfix:<twice>($q) { return quasi { {{{$q}}}, {{{$q}}} } }; say (42 twice); | 04:41 | |
camelia | rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3uasi { {{{$q}}}, {{{$q}}} } }; say (427⏏5 twice); expecting any of: infix infix stopper statement end statemen…» | ||
04:41
Cabanoss- joined
|
|||
BenGoldberg | m: use experimental :macros; macro twice($q) { return quasi { {{{$q}}}, {{{$q}}} } }; say (twice 42); | 04:41 | |
camelia | rakudo-moar 192387: OUTPUT«(42 42)» | ||
BenGoldberg | m: use experimental :macros; macro twice($q) { return quasi { {{{$q}}}, {{{$q}}} } }; twice say 42; | ||
camelia | rakudo-moar 192387: OUTPUT«4242» | ||
BenGoldberg | m: say 42 xx 2/ | 04:42 | |
camelia | rakudo-moar 192387: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Missing required term after infixat <tmp>:1------> 3say 42 xx 2/7⏏5<EOL> expecting any of: prefix term» | ||
BenGoldberg | m: say 42 xx 2; | ||
camelia | rakudo-moar 192387: OUTPUT«(42 42)» | ||
04:42
aborazmeh left
04:44
Cabanoss- is now known as Cabanossi
04:52
wamba joined,
labster left
04:54
LeCamarade joined
04:55
adu joined,
LeCamarade left
04:57
altLeCamarade joined
05:01
labster joined,
LeCamarade joined
05:02
LeCamarade left,
LeCamarade joined
05:03
adu left,
jefflinahan left
05:04
LeCamarade left
05:05
LeCamarade joined
05:07
bwisti left
05:08
jefflinahan joined
05:10
adu joined
05:20
Eddward left
05:23
_28_ria left
05:24
_28_ria joined
05:25
CIAvash joined
05:40
curan joined
05:47
jefflinahan left
05:54
BenGoldberg left
05:55
adu left
05:56
kaare_ left,
kaare_ joined
05:58
wamba left,
wamba joined
06:05
jefflinahan joined,
jefflinahan left
06:07
jefflinahan joined
06:11
kyan left
06:18
ufobat joined
06:22
Tonik joined
06:30
bjz joined
06:31
wamba left
06:32
wamba joined
06:33
wamba left
06:41
AlexDaniel joined,
rurban left
06:42
Tonik left
06:51
AlexDaniel left
06:52
RabidGravy joined
06:56
wamba joined
06:58
cyphase joined
|
|||
samcv | hmm i just decided on this method of multi line commenting, i'd often thought perl 6 multi line commenting looked ugly compared to like C | 06:59 | |
m: use experimental :collation; my %hash = Za => '6', aa => '6'; say %hash.collate | 07:05 | ||
camelia | rakudo-moar 192387: OUTPUT«No such method 'collate' for invocant of type 'Hash' in block <unit> at <tmp> line 1» | ||
07:07
garo joined,
jefflinahan left
|
|||
samcv | oh well gotta wait until camelia rebuilds from the change i just pushed | 07:08 | |
07:08
jefflinahan joined
07:13
jjido joined
|
|||
samcv | i kind of like balancing multi-line comments like this github.com/samcv/UCD/blob/8d6f9df3...#L468-L473 more visual pleasing | 07:17 | |
07:19
darutoko joined
07:22
pyrimidi_ joined,
pyrimidine left
|
|||
jefflinahan | Hey | 07:23 | |
07:24
jefflinahan is now known as jeffythedragonsl
|
|||
jeffythedragonsl | Should we have an example page with programs in perl 5 and an equivalent program in perl 6? | 07:24 | |
I think it would be good to show off the language's power | 07:25 | ||
07:25
jjido left
|
|||
tadzik | samcv: hmm, I think it's the first time I see it and like it | 07:25 | |
samcv | yeah. i just thought of it right now, cause i always hated how they look unbalanced and unprofessional i guess. idk C comments are nice and neat | 07:26 | |
we might have that jeffythedragonsl ? | |||
we have an examples page | |||
jeffythedragonsl, examples.perl6.org | |||
jeffythedragonsl | Well I've been using that page | 07:27 | |
samcv | ah | ||
have you read learnxinyminutes.com/docs/perl6/ ? | 07:28 | ||
jeffythedragonsl | Was really looking for examples with the same program in both languages | ||
samcv | hm there's rosetta code? | ||
07:28
gdonald left
|
|||
jeffythedragonsl | I'm trying to convince my team to use perl 6 actually | 07:29 | |
samcv | ah | ||
write your own maybe :P? | |||
something to impress them | |||
jeffythedragonsl | Ovid had a point class example that was good | ||
07:30
gdonald joined
|
|||
jeffythedragonsl | I'll do that tomorrow | 07:31 | |
07:33
jeffythedragonsl left
07:39
jeffythedragonsl joined
|
|||
jeffythedragonsl | I still don't know perl 5 or 6 very well yet though | 07:39 | |
So I might just try solving project euler | 07:40 | ||
07:41
LeCamarade left
|
|||
samcv | boring | 07:41 | |
well idk you want to convince people to use perl 6 | |||
project euler doesn't show off some of the best parts of perl 6 | |||
jeffythedragonsl, github.com/perl6/marketing/raw/mas...ochure.pdf see this Brochure | 07:42 | ||
jeffythedragonsl | That's actually a really nice brochure | 07:44 | |
Will show them that | |||
samcv | :) | ||
07:45
bjz_ joined
|
|||
jeffythedragonsl | Are a lot of companies using rakudo? | 07:47 | |
07:47
bjz left
|
|||
samcv | not really. jnthn uses it at his dayjob though | 07:47 | |
07:49
jjido joined
|
|||
andrzejku | hey people where do you stick this brochure? | 07:50 | |
on the wall in your cities? | |||
07:50
abraxxa joined
|
|||
samcv | :P | 07:51 | |
please give me 1 million brochures | |||
andrzejku | Interfacing to external libraries in C / C++ <<? not all is working as I know | ||
samcv | yeah you can't access global variables | 07:52 | |
andrzejku | -.- | ||
samcv | and a few other things. with NativeCall | ||
you can do functions and things | |||
i know i did not like that either | |||
andrzejku | ok, but if you give something and write this is working | ||
so you cann't say later this is working but in 50% | 07:53 | ||
you should delete this because it is a bullshit | |||
C++ is not supproted it is prealpha | |||
samcv | i have never tried to use C++ with nativecall | ||
delete what? | 07:54 | ||
07:54
_28_ria left
|
|||
andrzejku | Interfacing to external libraries in C is trivially simple with NativeCall. | 07:54 | |
07:55
_28_ria joined
|
|||
andrzejku | ohh | 07:55 | |
and it is not tribially simple | |||
omg ;D | |||
samcv | tribally simple! | 07:56 | |
andrzejku | it is marketing propaganda | ||
samcv | lol | ||
it's not _that_ hard | |||
andrzejku | it's not simple at all | ||
samcv | idk what are you trying to do | ||
TimToady | compared to XS, it's trivially simple, but then so is pretty much everything else | ||
samcv | then i can better understand | ||
07:58
rurban joined
|
|||
DrForr staggers in. | 07:58 | ||
08:00
jjido left
|
|||
andrzejku | in my opinion there should be C++ API Perl binding generator | 08:00 | |
DrForr | Well volunteered :) | 08:01 | |
samcv | there is a C generator | ||
GPTrixie | |||
08:01
ufobat left
|
|||
samcv | TimToady, what is this (everything else) you are talking about? | 08:01 | |
andrzejku | anyway that's propaganda brochure | 08:02 | |
arnsholt | andrzejku: Making NativeCall support C++ completely is basically impossible | 08:03 | |
Because of name mangling and class layout shenanigans | |||
andrzejku | lets think what could happen? One guy which remind old good Perl read it and thinks hey I got C++ library lets do binding and continue write then in new Perl, then he come and OHHH I can''t do that and he will be sad and disappointed | 08:04 | |
arnsholt | Well, that's what happens when you use C++ | ||
It's only basically only compatible with other C++ code, compiled with the same version of the compiler | 08:05 | ||
andrzejku | most good things have been written in it | ||
arnsholt | Because name mangling and memory layouts are allowed to change at the whim of the compiler | ||
D has a pretty pragmatic solution, TBH | 08:06 | ||
andrzejku | Perl - D bindings? | ||
arnsholt | It supports name mangling, function calls and vtable layouts for single inheritance | ||
andrzejku | a lack of C++ support in Perl6 make it lose its prize | 08:07 | |
samcv | :\ | ||
our prize has been revoked :( | |||
arnsholt | Awww | 08:08 | |
andrzejku | that's very old approach when the programmers know only C and Perl | ||
arnsholt | At least we'll have Paris^WUnicode | 08:09 | |
DrForr | o/' I am the god of Kingdom Come / Gimme the prize / Just gimme the prize o/' | ||
andrzejku | I meet some of them but they were just like dinosaurs | ||
they going to die | |||
samcv | what | 08:10 | |
so morbid | |||
08:15
rurban left,
xinming_ joined
08:31
bjz joined,
bjz_ left
08:33
ufobat joined
08:39
wamba left,
dakkar joined
08:40
ocbtec joined
|
|||
samcv | m: use experimental :collation; my %hash = Za => 'word', aa => 'word'; say %hash.collate | 08:44 | |
camelia | rakudo-moar 699013: OUTPUT«(aa => word Za => word)» | ||
samcv | yay now i can call collate on hashes and sequences too | ||
m: use experimental :collation; my %hash = Za => 'word', aa => 'word'; say %hash.sort | |||
camelia | rakudo-moar 699013: OUTPUT«(Za => word aa => word)» | ||
moritz | m: use experimental :collation; say <ä a o ö>.sort | 08:45 | |
camelia | rakudo-moar 699013: OUTPUT«(a o ä ö)» | ||
samcv | m: use experimental :collation; say <ä a o ö>.collate | 08:46 | |
camelia | rakudo-moar 699013: OUTPUT«(a ä o ö)» | ||
samcv | much better order with collate | ||
moritz | indeed | 08:54 | |
09:00
ufobat left
09:02
jonas1 joined
09:05
labster left,
labster joined
|
|||
garo | The language is named perl 6, the compiler is named rakudo and the logo is named camelia... why not just use the same name for all three ? | 09:14 | |
jast | "Perl 6" would be a strange name for a mascot, wouldn't it? | ||
09:15
wamba joined
|
|||
samcv | hah | 09:15 | |
well it's Rakudo Perl 6 | |||
so you could argue it has the name in it | |||
we could rename Camelia, Perl 6 Camelia :P | 09:16 | ||
garo, the language is called c and the compilier is called gcc, but then there's also clang | |||
garo | yes, but c has a lot of compilers\ | 09:17 | |
moritz | garo: would you also propose to the GCC, clang and ICC-developers that they rename their compilers to "C"? | ||
garo | I don't think that will happen with perl6 | ||
moritz | there's at least one more in development right now | ||
samcv | we have had many | ||
and have been many in the past as well | |||
moritz | s/past/future/ | 09:20 | |
09:21
TeamBlast joined
09:23
ufobat joined,
zakharyas left
09:25
Grauwolf joined
09:41
hartenfels joined
09:43
cyphase left
09:47
cyphase joined
09:53
wamba left
09:58
zacts left
10:03
zakharyas joined
10:16
matt_ joined,
agentzh joined,
matt_ is now known as Guest62047
|
|||
Ulti | in case anyone's interested the slowest bit of my tests is now at github.com/rakudo/rakudo/blob/nom/...ice.pm#L51 the creation of that list is the most expensive thing | 10:20 | |
but I do call it an unreasonable number of times | |||
10:20
agentzh left
|
|||
Ulti | time is at 0.8s which is pretty cool, all the optimisation work is working 42x speed up since 2014-08-22 of the same code only changed to track core changes to the language like GLR | 10:22 | |
10:22
astj joined
10:27
g4 joined
10:29
astj left
10:30
astj joined
10:33
zakharyas left
10:34
astj left
|
|||
samcv | i just realized that if you set custom Collation settings, you could get it to sort a hash partially by values in case there was a tie in the collation values for the keys | 10:36 | |
10:39
astj joined,
espadrine joined
|
|||
timotimo | andrzejku: can you elaborate on what doesn't work with nativecall and c++? | 10:41 | |
also, we do have cglobal | |||
writing to c globals is NYI, though. | |||
though it ought to be quite doable | 10:42 | ||
like, as a LHF/junior task maybe? | |||
Geth | doc: 876d7002a9 | (Samantha McVey)++ | doc/Language/experimental.pod6 Add some documentation on the current state of $*COLLATION and .collate |
||
samcv | Ulti, you can always try nqp::atkey | 10:43 | |
in my Unicode database script i converted a ton of things to nqp since they're called a crazy number of times | 10:44 | ||
and now it actually completes in a sane amount of time, after much effort | |||
if it's something that is very performance sensitive. not sure what you're doing | |||
timotimo | welllllll, the idea is to not change the code to make it faster :P | 10:45 | |
samcv | Ulti, or you could even call the .AT-KEY method | ||
timotimo | much like Tux' benchmark | ||
samcv | ah | ||
i understand | 10:46 | ||
Ulti | yeah my code is awful | 10:47 | |
samcv | so it's an iterable? | ||
Ulti | people have seen it and cried blood at the silly things I have in tight loops | ||
samcv | %hash{@array} or something? | ||
Ulti | but it represents what an idiot would do with Perl6 | ||
samcv | haha | ||
Ulti | like with every object instantiation it creates a big lookup hash which is why its spending so long in that slice | 10:48 | |
but if that is the slowest thing in my code thats kind of surprising | |||
10:48
altLeCam1rade joined
|
|||
Ulti | it means all the string operations are much faster than hash ones | 10:48 | |
samcv | so what are you calling the hash with though? | ||
you said it's going through the iterable sub? | 10:49 | ||
Ulti | fairly sure its something like %hash{@keys} | ||
10:49
altLeCam1rade left
|
|||
Ulti | which ends up there | 10:49 | |
mattoates.co.uk/files/perl6/bioinfo...02-07.html latest profile, and the code is at github.com/MattOates/BioInfo | 10:50 | ||
samcv | well i can't call that | ||
i can't call that sub with %hash{@array} | |||
10:51
ltLeCamarade joined
|
|||
Ulti | behind the scenes it is that sub | 10:51 | |
afaik | |||
timotimo | you have to make sure you're not assigning something at the same time | ||
otherwise it'll hit the one below | |||
Ulti | if not I can go take a proper look for what bit of my code is doing this | ||
samcv | oh timotimo | 10:52 | |
so how do i hit thta one | |||
timotimo | "say %hash{@arr}" could do? | ||
samcv | ah | ||
timotimo | i wonder if we should put something in the optimizer for when the stuff inside the { } is a constant list of strings | 10:53 | |
samcv | well it's still not going through it | 10:54 | |
Calling postcircumfix:<{{ }}>(Associative, Positional) will never work with any of these multi signatures: | 10:55 | ||
(\SELF, Iterable \key) | |||
unless having it in code in my file is not doing it like rakudo is | |||
timotimo | where did those extra { } come from? | ||
samcv | i put them there | 10:56 | |
timotimo | oh, you stole the thing | ||
samcv | to make sure i was going through this | ||
yeah i copied the code into my file | |||
Ulti, are you looking at exclusive time or inclusive? | 10:58 | ||
11:03
rmusial left,
espadrine left
|
|||
IOninja | "samcv │ can always do it after the fact IOninja" do what? | 11:05 | |
samcv doesn't remember | |||
oh | |||
yeah. adding perl 6 blog posts to the p6weekly after the fact | 11:06 | ||
timotimo | yeah | ||
what did i miss? | |||
samcv | no clue | 11:07 | |
timotimo | that's good, then | ||
samcv | you said something how you didn't post any blogs | ||
timotimo | yup | ||
samcv | and i said you could always do it after the fact | ||
timotimo | if i leave out everything, everyone feels left out equally | ||
samcv | hah | ||
11:09
rmusial joined
|
|||
andrzejku | timotimo, c++ classes? | 11:13 | |
timotimo | yup | 11:14 | |
implemented | |||
github.com/rakudo/rakudo/blob/nom/...l/11-cpp.t - it's even tested | 11:15 | ||
samcv | timotimo, propaganda! | 11:16 | |
timotimo | github.com/rakudo/rakudo/blob/nom/...mangling.t | ||
github.com/rakudo/rakudo/blob/nom/...cglobals.t - cglobals also tested here | |||
11:16
gdonald left
|
|||
samcv | you can't write to them though. that's what i meant before | 11:17 | |
timotimo | someone will surely get on that if somebody demonstrates a use case and ask nicely? that tends to motivate devs somewhat | ||
samcv | Ulti, i don't see that part of Hash slice very far up the routine list if you sort by exclusive time | 11:18 | |
11:18
gdonald joined
|
|||
timotimo | aye | 11:20 | |
11:20
ltLeCamarade left
|
|||
timotimo | but maybe it's the piece that has the most potential for being improved? or something? | 11:20 | |
11:20
LeCamarade joined
|
|||
andrzejku | timotimo, docs.perl6.org/language/nativecall <<- where class section? | 11:21 | |
11:22
espadrine joined
|
|||
samcv | timotimo, ternary operator in perl 6 isn't any slower than nqp::if right? | 11:23 | |
timotimo | C++ Support§ | ||
NativeCall offers support to use classes and methods from C++ as shown in github.com/rakudo/rakudo/blob/nom/...mangling.t (and its associated C++ file). Note that at the moment it's not as tested and developed as C support. | |||
^ andrzejku | |||
11:23
labster left
|
|||
timotimo | samcv: i hope so; it should translate very well, i think? | 11:23 | |
samcv | yeah | 11:24 | |
andrzejku | it is unclear for me | ||
there should be C++ code/Perl binding code | |||
and steps | 11:25 | ||
timotimo | please file a ticket to the doc repo | ||
andrzejku | right now I still suspect you of spreading propaganda | 11:26 | |
timotimo | why? | ||
gfldex | timotimo: you did spread propaganda last night. Might very well be a habit of yours. :-> | 11:27 | |
timotimo | github.com/rakudo/rakudo/blob/nom/...ngling.cpp - here's cpp code, there's the p6 code to bind it: github.com/rakudo/rakudo/blob/nom/...mangling.t | ||
andrzejku | timotimo, ok I believe you | ||
timotimo | clearly it was too difficult to read the test file and see that it's compiling a cpp test lib there | 11:28 | |
it even said "and its associated c++ file" in the docs page you linked (that i copy-pasted) | 11:29 | ||
11:31
LeCamarade left
|
|||
andrzejku | timotimo, yes because a noob guy is overwhelmed with tons of docs and new knowledge also Perl6 is pretty difficult so when you are writing docs you SHOULD assume that your reader is drunk | 11:31 | |
11:32
itaipu joined
|
|||
andrzejku | or he really is | 11:32 | |
timotimo | i thought it was pretty rude to call me a liar like that, but maybe i'm just overreacting | 11:34 | |
andrzejku | timotimo, I didn't write this word | ||
timotimo | that's true | ||
andrzejku | timotimo, I just write and I don't believe because I don't understand docs at first look | ||
so maybe I am dummy :) | |||
or maybe doc is not perfect | 11:35 | ||
timotimo | yeah, the docs are fare from perfect here | ||
i suggested you could file a bug on the docs repo for that | |||
andrzejku | timotimo, sure) | ||
timotimo | www.reddit.com/r/programming/comme...m/ddfqt7f/ | 11:38 | |
^- i have found a way for our module ecosystem to surpass CPAN | |||
IOninja | What a coincidence. I just had a controvercial thought while in the shower: don't do the CPAN6/MetaCPAN6 thing | 11:39 | |
timotimo | break free of the shackles of The Best Module Ecosystem In The Free World? | 11:40 | |
samcv | why is CPAN the best module ecosystem? | 11:41 | |
IOninja | It isn't. | ||
samcv | heh | ||
timotimo | i don't know, i hear pretty darn good things about it | ||
like, all the time | |||
DrForr | timotimo: But is it too alrge to fit in the margins of this channel? | ||
IOninja | It has the reputation of being full of rotting crap and PAUSE interface is from '90s. | 11:42 | |
DrForr | *large | ||
timotimo | well, i heard that, too | ||
but come on, the latter one is just a user interface complaint | |||
might as well say "python is shitty, because just look at tk gui that's built in!" | |||
nah, that's not fair | |||
you're not forced to use tk at any point | |||
samcv | python has tk gui built in? | ||
11:43
pmurias joined
|
|||
timotimo | yeah, "use Tkinter" or something | 11:43 | |
IOninja | But my thought was not due to that: it's inevitable that the current ecosystem will stay and grow even if the CPAN6 becomes a thing. Just based on what I heard people say in this channel so far. Many are happy with git and can't be bothered to sign up for and learn a whole new interface. | ||
timotimo | sorry, "import" is the word | ||
just build a git between-end (haha) that lets you access PAUSE through git? | |||
IOninja | In addition, MetaCPAN6 would mean its maintainers would need to know Perl 5 *and want to write Perl 5*. And lastly, AFAIK CPAN6 doesn't solve the multi-auth problem. | 11:44 | |
So to summarize: we're building a system that needs hacks to make usable and doesn't look like many people want to maintain it or use it. | |||
11:45
abraxxa left
|
|||
timotimo | i can't really say anything for/against thatt | 11:45 | |
11:45
drrho joined
|
|||
IOninja braces for another round of being quoted somewhere | 11:46 | ||
jeek | "IOninja braces for another round of being quoted somewhere" -overheard on IRC | 11:49 | |
IOninja | timotimo: the UI complaint seems pretty fair. It's from the time *before* many of potential Perl 6 programmers were even born. Even I had a chuckle the first time I saw it—10 years ago. And many who see it for the first time would be new Perl 6 developers, not some hardcore fans. | 11:52 | |
11:53
abraxxa joined
|
|||
IOninja | It's easy to fix though... dunno why no one bothered still. | 11:54 | |
jeek: you're doing it wrong. You have to write a 2000-word essay concluding Perl 6 developers are racists. | 11:55 | ||
pmurias | IOninja: re CPAN being full of rotting crap, I would guess all the current module repos (like npm) are | ||
IOninja | pmurias: what'chu talking aboot! npm is the greatest thing since sliced bread. They get over 500 new modules every day! Look: www.modulecounts.com/ | 11:57 | |
jeek | IOninja: I thought that was a given? | ||
11:57
wamba joined
|
|||
pmurias | IOninja: npm has plenty of good things in it but they explicitly enourage adding crap to it | 11:58 | |
IOninja | pmurias: sure. I see little relevance to CPAN or *its perception* among uninitiated | 11:59 | |
IOninja & | |||
jeek | The racist to build the world's heaviest airplane? | 12:00 | |
nine | No one is forced to use PAUSE's web interface. Uploads are often done from the command line | 12:06 | |
timotimo | ugh, command line, that's so 60s! | 12:07 | |
samcv | IOninja, top perl 6 dev hates cpan! doesn't like perl 5! | ||
or whatever wording that one guy used for you lol | |||
nine | samcv: ah, may as well be "THE top PEARL guy hates PEARL! And so should you!" | 12:09 | |
samcv | that's better nine | 12:10 | |
jnthn hasn't followed all that closely, but had thought the idea was primarily to re-use CPAN's storage/mirroring infrastructure rather than re-inventing that wheel | |||
timotimo | leading perl6 developer | 12:11 | |
pmurias | jayk_: ping | 12:13 | |
nine | jnthn: yes but that would include PAUSE as we somehow have to upload dists :) It would not include metacpan.org or search.cpan.org | 12:15 | |
IOninja | jnthn, from what I understand, even that subset of the work has issues: multi-auth handling | 12:16 | |
two authora uploading same-named dist | 12:17 | ||
And I don't know for certain. | |||
pmurias | nine: I don't think anybody is suggesting using search.cpan.org | ||
12:18
cibs joined
|
|||
pmurias | having metcpan.org instead of displaying module docs using github would be great | 12:18 | |
nine | I included it just for clarity | ||
jnthn | nine: If there's a command line way of doing a PAUSE upload, we can surely front it with some other web application, though. :-) | 12:19 | |
To make the user experience we wish for. | |||
IOninja | right and metacpan too has the auth issue. | ||
jnthn | Again, I'm only going on what I'd understood, but I'd thought that the CPAN indexer was the part which would trip up over multiple auth things, but that isn't one of the pieces we'd re-use. | 12:20 | |
pmurias | jnthn: creating accounts on PAUSE is the ugly part | ||
jnthn | pmurias: Hmm, OK. | ||
samcv | would be nice if ecosystem page wolud do p6doc | ||
timotimo | we could totally grab the description of a module as rendered by github to be displayed on modules.perl6.org when the user clicks a specific link, right? | ||
we could grab the HTML from github with a little javascript http request? | 12:21 | ||
samcv | wait why can't we just render the pod? | ||
IOninja | Please don't :) | ||
samcv | timotimo, better listen to him, he's THE leading perl 6 developer | ||
timotimo | it's not always pod | ||
sometimes it's markdown | |||
i'm not sure if there are other kinds in use | 12:22 | ||
samcv | but.... it should be pod | ||
timotimo | but maybe one day someone makes a README.csv | ||
samcv | but i guess we could have some way to choose to do the md file or pod | ||
timotimo, :(( | |||
README.csv ftl | |||
IOninja | samcv, have you seen modules.zef.pm it has some docs. Dunno if ita from pod or not | 12:23 | |
samcv | nope | ||
12:24
lukaramu joined
|
|||
mst | IOninja: heh, the dude going on on HN about npm uip[loads is one of only two people I've ever had to basically say "please don't ever try and contribute to one of my projects again" to | 12:25 | |
samcv | Range.lazy # would it be ok to make a .Seq? that does the same thing? | ||
since .lazy makes a sequence | |||
IOninja isn't sure of what dude it is.... | |||
samcv | THE leading dude | 12:26 | |
mst | and I'm being intentionally vague because puyblically logged channel and I want to amuse you, not get subtweeted by chromatic | ||
IOninja | hah | ||
mst | if chromatic's going to be a dick to me again, I want a whole blog post damnit | 12:27 | |
samcv | so i have been doing some work on the Data::Dump module, adding Pair and uh. IO::Path | 12:28 | |
and i'm trying to think the best thing to print out for a Seq | 12:29 | ||
IOninja | m: dd 1...* | ||
camelia | rakudo-moar 699013: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10... lazy list)» | ||
12:30
zakharyas joined
|
|||
samcv | nice | 12:32 | |
that's rakudo specific tho | |||
what if you wanna dd without printing it out? | |||
timotimo | overwrite $*OUT | 12:33 | |
samcv | :\ | ||
come on | |||
moritz | m: say (1...*).perl | 12:38 | |
camelia | rakudo-moar 699013: OUTPUT«Cannot .elems a lazy list in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
moritz | :( | ||
IOninja | samcv, steal relevant code from rakudo and stick it into Data::Dump? :) | 12:39 | |
s: &dd | |||
SourceBaby | IOninja, Sauce is at github.com/rakudo/rakudo/blob/6990...ny.pm#L578 | ||
samcv | yeah i'm considering doing that | 12:40 | |
12:46
ggoebel left
|
|||
Geth | doc: 7a861ba90c | (Samantha McVey)++ | util/trigger-rebuild.txt Trigger rebuild to pull in highlighting improvements atom-language-perl6 v1.14.1 just released. |
12:47 | |
12:48
rurban joined
12:50
CIAvash left
|
|||
samcv | IOninja, do you like `^10` highlighting all of it as a number for highlighting? | 12:55 | |
or do you want the ^ to not highlight the same as the number portion | 12:56 | ||
atm ^10 all highlights as number | |||
i kinda liked it all highlighting together | 12:58 | ||
12:59
ggoebel joined
|
|||
IOninja shrugs | 13:08 | ||
13:10
bjz_ joined
|
|||
El_Che | I released some new talks | 13:10 | |
13:10
itaipu left
13:11
bjz left
13:19
rindolf joined
13:24
faraco joined
|
|||
IOninja | Anyone remember the URL for Perl 6 periodic table of elements? | 13:26 | |
of operators... | |||
hm, maybe that's why I get bogus results on google :P | |||
It's www.ozonehouse.com/mark/periodic/ | |||
13:29
lukaramu left,
lukaramu joined
13:34
sufrostico joined
|
|||
samcv | m: say 'Z' before 'a' | 13:38 | |
camelia | rakudo-moar 699013: OUTPUT«True» | ||
samcv | i gotta go to bed, night all | 13:39 | |
IOninja | night | 13:41 | |
faraco | m:say 'Hello kudoz'; | 13:42 | |
well, the white space ruined the intro. | 13:43 | ||
IOninja: hey, are you this guy? Just curious.. | 13:45 | ||
github.com/iONinja | |||
13:45
itcharlie1 joined
13:47
bjz joined
|
|||
IOninja | That's my cousin! | 13:48 | |
13:49
bjz_ left
|
|||
faraco | ha | 13:49 | |
13:49
cognominal joined
13:52
thdr|2 joined
13:54
pyrimidine joined,
pyrimidi_ left
14:05
cognominal left
|
|||
[Coke] | m: .say for <a b c d>.rotor(3,-2); | 14:08 | |
camelia | rakudo-moar 699013: OUTPUT«(a b c)Rotorizing sublist length is out of range. Is: -2, should be in 1..^Inf; Did you mean to specify a Pair with => -2? in block <unit> at <tmp> line 1» | ||
[Coke] | m: .say for <a b c d>.rotor(3=>-2); | 14:09 | |
camelia | rakudo-moar 699013: OUTPUT«(a b c)(b c d)» | ||
[Coke] | (metacpan.org/pod/List::EachCons) | ||
IOninja | *sigh* trying to look up a particular op on docs site is quite painful | 14:13 | |
14:13
raiph joined
|
|||
IOninja | And I even know what this op is called :/ function composition | 14:14 | |
IOninja is saved by the uni<->texas pagfe | |||
14:14
zakharyas left
|
|||
faraco | I can't wait Perl 6 doc to be available with Zeal. Browsing doc with keywords will much easier. | 14:15 | |
will be* | |||
[Coke] | faraco: URL? | 14:16 | |
oh, it was like number six on google, no wonder I couldn't see it. :) | |||
faraco | zealdocs.org/, if that what you meant. | 14:17 | |
[Coke] | now on kapeli.com/docsets | ||
14:18
agentzh joined
|
|||
[Coke] | faraco: please open a wishlist ticket on the perl6 docs site. If it gets enough votes, this looks like something we can do. | 14:18 | |
faraco | I'm glad to. :) | 14:19 | |
perlpilot | My cousin promotes some "energy drink" called zeal. I was wondering how that related to documentation and Perl :) | ||
14:20
pyrimidine left,
rurban1 joined
|
|||
faraco | zeal boost your energy to program Perl 6, I guess? :D | 14:20 | |
14:22
agentzh left
|
|||
perlpilot installs zeal and the perl docset to see if he likes it | 14:23 | ||
14:24
rurban left
|
|||
IOninja | Seems it'd be trivial to make Perl 6 version: kapeli.com/docsets#dashDocset | 14:26 | |
perlpilot | yeah, it looks like the perl docset was straight out of pod2html | 14:28 | |
[Coke] | we could do it from the HTML, but we already have it at a state where we know all the individual bits before we re-assemble it into html. | ||
faraco | but I like the keyword usage, eg, perl:perlvar | 14:29 | |
perlpilot adds his thumbs up to github.com/perl6/doc/issues/1185 | 14:32 | ||
14:37
gdonald left
14:39
wamba left,
bjz left,
gdonald joined
14:40
sufrostico left
14:41
bwisti joined
14:49
wamba joined
14:57
cdg joined
|
|||
El_Che | ugexe: how does one upgrade zef itself? My rakudo packages contains 2 scripts to install zef as root and user (just updated the source, wil create deb/rpm after travis gives a go). I was wondering if zef could upgrade it self (zef upgrade zef does not do the trick) | 14:58 | |
IOninja | What happens with zef upgrade zef? | 15:01 | |
Its version is listed as * innit? You need to force it | |||
El_Che | No such method 'dist' for invocant of type 'Any' | ||
[Coke] | there's a ticket to get zef to start advertising a version number to help with that. | ||
El_Che | bbl, catch a train | ||
IOninja | zef --force install zef | 15:02 | |
huh, I didn't get that for upgrade. I got "The following distributions are already at their latest versions: zef:auth('github:ugexe')" | |||
Perhaps you're on a buggy version. Try using the bootstraping method (should be in zef's readme) | |||
with --force | |||
.oO( what bait do you use to catch trains... ) |
15:04 | ||
faraco | m: say 1..10; | ||
camelia | rakudo-moar 699013: OUTPUT«1..10» | ||
IOninja | m: say 10...1 | 15:05 | |
camelia | rakudo-moar 699013: OUTPUT«(10 9 8 7 6 5 4 3 2 1)» | ||
faraco | what | ||
15:05
curan left
|
|||
faraco | why 1..10 doesn't work? | 15:06 | |
IOninja | It works | ||
m: say eager 1..10 | |||
camelia | rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)» | ||
IOninja | You're using .gist output of a Range, so it just gives you end points | ||
faraco | is this something specific to the bot? | ||
IOninja | No | ||
m: put 1..10 | |||
camelia | rakudo-moar 699013: OUTPUT«1 2 3 4 5 6 7 8 9 10» | ||
faraco | oh...I don't have rakudo installed right now..gonna have a private session with camelia for now :P | 15:07 | |
hartenfels | faraco: It's telling you about the Range object itself, not the sequence it produces. | ||
IOninja | m: say 1..∞ | 15:08 | |
camelia | rakudo-moar 699013: OUTPUT«1..Inf» | ||
IOninja | m: put 1..∞ | ||
camelia | rakudo-moar 699013: OUTPUT«1..*» | ||
faraco | you remind me to to imagine it as "scalar blah" | ||
IOninja | :S | ||
15:08
rurban1 left
|
|||
IOninja | faraco: 1..10 creates a Range object | 15:09 | |
You can write it as Range.new: 1, 10; or something similar | |||
faraco | oh, now I get it. | ||
15:10
sufrostico joined,
sufrostico left,
sufrostico joined
15:14
cdg left
|
|||
IOninja | m: say 0e0 ∈ -0e0..0e0 | 15:14 | |
camelia | rakudo-moar 699013: OUTPUT«False» | ||
IOninja ponders that one... | |||
15:14
cdg joined
15:16
sufrostico left
15:17
sufrostico joined
|
|||
IOninja | Guess that's less surprising than returning a 2-element list for that Range... | 15:17 | |
15:18
pyrimidine joined
|
|||
IOninja | m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say ∈ -0e0..0e0 | 15:19 | |
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Preceding context expects a term, but found infix ∈ insteadat <tmp>:1------> 3== $^b and $a !=== $b and $a|$b }; say ∈7⏏5 -0e0..0e0» | ||
IOninja | m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say 0e0 ∈ -0e0..0e0 | ||
camelia | rakudo-moar 699013: OUTPUT«any(False, True)» | ||
faraco | m: say my $minus = $a, $b { $a - b}; minus(20,1); | ||
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$a' is not declaredat <tmp>:1------> 3say my $minus = 7⏏5$a, $b { $a - b}; minus(20,1);» | ||
IOninja | m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say so 0e0 ∈ -0e0..0e0 | ||
camelia | rakudo-moar 699013: OUTPUT«True» | ||
15:19
skids joined
|
|||
IOninja | m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say so (-0e0..0e0).elems | 15:19 | |
camelia | rakudo-moar 699013: OUTPUT«True» | ||
IOninja | m: sub infix:<..> { $^a == $^b and $a !=== $b and $a|$b }; say (-0e0..0e0).elems | ||
camelia | rakudo-moar 699013: OUTPUT«any(1, 1)» | ||
faraco | m: say my $minus = -> $a, $b { $a - b}; minus(20,1); | ||
IOninja | heh | ||
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routines: b used at line 1 minus used at line 1. Did you mean 'lines'?» | ||
IOninja | m: say my &minus = -> $a, $b { $a - b}; minus(20,1); | 15:20 | |
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: b used at line 1» | ||
IOninja | m: say my &minus = -> $a, $b { $a - $b}; minus(20,1); | ||
camelia | rakudo-moar 699013: OUTPUT«-> $a, $b { #`(Block|65574120) ... }» | ||
faraco | m: my $minus = -> $a, $b { $a - b}; minus(20,1); | ||
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routines: b used at line 1 minus used at line 1. Did you mean 'lines'?» | ||
hartenfels | faraco: you're missing a $ before your b. | ||
faraco | m: my $minus = -> $a, $b { $a - $b}; minus(20,1); | ||
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: minus used at line 1. Did you mean 'lines'?» | ||
IOninja | And before mninus | ||
15:21
Actualeyes left
|
|||
hartenfels | Oh, it turned back into $minus. | 15:21 | |
I saw &minus a moment ago. | |||
faraco | m: my &minus = -> $a, $b { $a - $b}; minus(20,1); | ||
camelia | ( no output ) | ||
faraco | yay | ||
IOninja | m: my &minus = &[-]; say minus 20, 1 | ||
camelia | rakudo-moar 699013: OUTPUT«19» | ||
faraco | ty | ||
15:21
jeffythedragonsl left
|
|||
IOninja | m: say &[-] 20, 1 | 15:21 | |
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3say &[-]7⏏5 20, 1 expecting any of: infix infix stopper postfix statement end statement modifier …» | ||
IOninja | m: say &infix:<-> 20, 1 | ||
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3say &infix:<->7⏏5 20, 1 expecting any of: infix infix stopper postfix statement end statement modifier…» | ||
IOninja | m: say infix:<-> 20, 1 | ||
camelia | rakudo-moar 699013: OUTPUT«19» | ||
IOninja | Ah, right | 15:22 | |
m: say [-] 20, 1 | |||
camelia | rakudo-moar 699013: OUTPUT«19» | ||
IOninja | m: say 20 &[-] 1 | ||
camelia | rakudo-moar 699013: OUTPUT«all(20, -1)» | ||
IOninja | heh | 15:23 | |
faraco | meta character? | ||
hartenfels | Meta-operator. | ||
faraco | dang | ||
IOninja | m: say [-] 20, 1, 5, 6 | ||
camelia | rakudo-moar 699013: OUTPUT«8» | ||
IOninja | m: say [\-] 20, 1, 5, 6 | ||
camelia | rakudo-moar 699013: OUTPUT«(20 19 14 8)» | ||
IOninja | faraco: [-] ... is the same as putting `-` between each of the elements in that list | 15:24 | |
more or less | |||
m: say [*] 0 | |||
faraco | m: say [+] 8, 230 | ||
camelia | rakudo-moar 699013: OUTPUT«0» | ||
rakudo-moar 699013: OUTPUT«238» | |||
IOninja | m: say [*] 1 | ||
camelia | rakudo-moar 699013: OUTPUT«1» | ||
IOninja | m: say [*] () | ||
camelia | rakudo-moar 699013: OUTPUT«1» | ||
faraco | m: say [**] 2, 2 | ||
camelia | rakudo-moar 699013: OUTPUT«4» | ||
faraco | m: say [**] 2, 923 | 15:25 | |
camelia | rakudo-moar 699013: OUTPUT«7090649168385424913397133341550352860122967727944347663191661163882926259805700175977555820923597100209230059576954713108323026874279526270822670846473668221392492487180041665757591294452179607726284006988293825178469413313283348503861899091475763716755128…» | ||
IOninja | m: say [*] set 1, 2, 3 | ||
camelia | rakudo-moar 699013: OUTPUT«3» | ||
faraco | say 1..10.eager | ||
m: say 1..10.eager | 15:26 | ||
camelia | rakudo-moar 699013: OUTPUT«1..1» | ||
IOninja | won't work. Precedence | ||
faraco | m: say (1..10).eager | ||
camelia | rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)» | ||
faraco | 2 style for the same thing, nice! procedural and oo | ||
hartenfels | You can contort most things into that. | 15:27 | |
Geth | doc: 97d0575966 | (Will "Coke" Coleda)++ | doc/Language/5to6-nutshell.pod6 use nbsp |
||
hartenfels | m: say 1.&infix:<+>(2) | ||
camelia | rakudo-moar 699013: OUTPUT«3» | ||
hartenfels | The true OO way to say 1 + 2. | ||
faraco | say (1..10).end - 1 | ||
m: say (1..10).end - 1 | |||
camelia | rakudo-moar 699013: OUTPUT«8» | ||
tbrowder | hi, #perl6 | ||
faraco | 0/ | ||
hartenfels | Hi tbrowder. | ||
IOninja | m: say 1.&[+]: 2 | 15:28 | |
camelia | rakudo-moar 699013: OUTPUT«3» | ||
15:28
sufrostico left
|
|||
IOninja | m: say (1..10).tail - 1 | 15:28 | |
camelia | rakudo-moar 699013: OUTPUT«9» | ||
tbrowder | i'm still on the hunt for a better p6 editor (emavs is my favorite so far). has anyone tried editrocket (www.editrocket.com/)? | ||
15:28
mscha joined
|
|||
IOninja is happy enough with atom | 15:29 | ||
tbrowder | it's customizable with java | ||
faraco | multi method map(HyperIterable:D: █; :$label) | ||
moritz happy enough with gvim | |||
faraco | I don't understand map. | ||
there is no quick example? | |||
deepmap (below it) has one | |||
IOninja | m: ^10 .map(* + 42).say | ||
camelia | rakudo-moar 699013: OUTPUT«(42 43 44 45 46 47 48 49 50 51)» | ||
15:30
sufrostico joined
|
|||
hartenfels | m: say map { "$_!" }, 'hello', 'there', 'mapped', 'world' | 15:30 | |
camelia | rakudo-moar 699013: OUTPUT«(hello! there! mapped! world!)» | ||
IOninja | m: ^10 .hyper.map({$^hypered-thing + 42}).say | ||
camelia | rakudo-moar 699013: OUTPUT«HyperSeq.new» | ||
IOninja | gah | ||
m: ^10 .hyper.map({$^hypered-thing + 42}).eager.say | 15:31 | ||
camelia | rakudo-moar 699013: OUTPUT«(42 43 44 45 46 47 48 49 50 51)» | ||
faraco | m: say "cat".say | ||
camelia | rakudo-moar 699013: OUTPUT«catTrue» | ||
IOninja | m: ^4 .hyper(:batch).map({sleep 1; $*THREAD.id}).eager.say; say now - INIT now; | 15:32 | |
camelia | rakudo-moar 699013: OUTPUT«(3 4 5 6)1.00761102» | ||
IOninja | :D | ||
mscha | This may be a silly question, but is there a nice ‘English’ way to put something in a bag (well, BagHash)? | 15:33 | |
m: my $bag = BagHash.new: <red red red red blue blue>; my $ball = $bag.grab; say $ball; $bag<red>++; | |||
camelia | rakudo-moar 699013: OUTPUT«blue» | ||
mscha | This works, but that last statement is so inelegant. | ||
hartenfels | mscha: you can bag something. | 15:34 | |
That is, bag is a verb too. | |||
IOninja | mscha: rt.perl.org/Ticket/Display.html?id...et-history | ||
15:35
Actualeyes joined
|
|||
hartenfels | Oh wait I didn't read that close enough. | 15:35 | |
mscha | Thanks. | ||
15:36
zacts joined
15:40
ufobat left,
eroux joined
|
|||
IOninja | m: my $b = BagHash.new: <a b c>; $b<b c>»++; say $b | 15:43 | |
camelia | rakudo-moar 699013: OUTPUT«BagHash.new(a, c(2), b(2))» | ||
IOninja | m: my $b = BagHash.new: <a b c>; $b<b c> »+=« 2; say $b | ||
camelia | rakudo-moar 699013: OUTPUT«Lists on either side of non-dwimmy hyperop of are not of the same lengthleft: 2 elements, right: 1 elements in block <unit> at <tmp> line 1» | ||
IOninja | m: my $b = BagHash.new: <a b c>; $b<b c> «+=» 2; say $b | ||
camelia | rakudo-moar 699013: OUTPUT«BagHash.new(a, c(3), b(3))» | ||
faraco | m: say exit(1) | 15:46 | |
camelia | ( no output ) | ||
IOninja | m: my $b = BagHash.new: <a b c>; $b<b c> «-=» 2; say $b | 15:47 | |
camelia | rakudo-moar 699013: OUTPUT«BagHash.new(a)» | ||
faraco | m: say True if 1 == True | 15:48 | |
camelia | rakudo-moar 699013: OUTPUT«True» | ||
faraco | m: say True if 0 == True | ||
camelia | ( no output ) | ||
IOninja | m: Bool.enums.say | 15:49 | |
camelia | rakudo-moar 699013: OUTPUT«{False => 0, True => 1}» | ||
faraco | same as in Perl 5, I guess. Just, there is boolean object. | ||
Geth | doc: 8295e9294d | (Will "Coke" Coleda)++ | xt/words.pws add new word |
||
doc: db18ecae1c | (Will "Coke" Coleda)++ | doc/Language/experimental.pod6 Only mention releases. Fix release date. |
|||
IOninja | faraco: almost same. In Perl 5 "0" is False, but in Perl 6 it is True | 15:50 | |
faraco | ah, I see | ||
m: say "duck".perl | 15:53 | ||
camelia | rakudo-moar 699013: OUTPUT«"duck"» | ||
faraco | m: say "duck".perl.reverse | 15:57 | |
camelia | rakudo-moar 699013: OUTPUT«("duck")» | ||
faraco | m: say "duck".perl.splice | ||
camelia | rakudo-moar 699013: OUTPUT«No such method 'splice' for invocant of type 'Str' in block <unit> at <tmp> line 1» | ||
faraco | m: say "duck".perl.sort | ||
camelia | rakudo-moar 699013: OUTPUT«("duck")» | ||
faraco | m: say "duck".split() | ||
camelia | rakudo-moar 699013: OUTPUT«Cannot resolve caller split(Str: ); none of these signatures match: (Str:D $: Regex:D $pat, $limit is copy = Inf;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_) (Str:D $: Cool $match;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_) (St…» | ||
IOninja | m: say "duck".comb | ||
camelia | rakudo-moar 699013: OUTPUT«(d u c k)» | ||
hartenfels | Didn't think I'd see people combing and trying to split a duck today. | 15:58 | |
faraco | m: say "duck".comb.sort | 15:59 | |
camelia | rakudo-moar 699013: OUTPUT«(c d k u)» | ||
faraco | m: say "duck".comb.reverse.join | 16:00 | |
camelia | rakudo-moar 699013: OUTPUT«kcud» | ||
faraco | m: say comb.WHY; | 16:03 | |
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Calling comb() will never work with proto signature ($, $, $?)at <tmp>:1------> 3say 7⏏5comb.WHY;» | ||
faraco | I think this I'm spamming.. | ||
is | |||
IOninja | m: "duck".ords».&[+](119711)».chr.join.say | 16:04 | |
camelia | rakudo-moar 699013: OUTPUT«𝐃𝐔𝐂𝐊» | ||
faraco | bold? :O:O:O:O | ||
IOninja | :) | ||
faraco | m: "duck".ords».&[+](119711)».chr.reverse.join.say | 16:05 | |
camelia | rakudo-moar 699013: OUTPUT«𝐊𝐂𝐔𝐃» | ||
16:05
sena_kun joined
16:07
jeffythedragonsl joined
|
|||
faraco | m: "rotator".ords».&[+](119711)».chr.reverse.join.say | 16:07 | |
camelia | rakudo-moar 699013: OUTPUT«𝐑𝐎𝐓𝐀𝐓𝐎𝐑» | ||
faraco | say so | 16:09 | |
m: say so | |||
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Prefix so requires an argument, but no valid term foundat <tmp>:1------> 3say so7⏏5<EOL> expecting any of: prefix» | ||
IOninja | m: .so.say | ||
camelia | rakudo-moar 699013: OUTPUT«False» | ||
IOninja | ^_^ | ||
faraco | hey thank you | ||
.so.say.not.say | 16:10 | ||
m: .so.say.not.say | |||
camelia | rakudo-moar 699013: OUTPUT«FalseFalse» | ||
[Coke] | m: so say 'we' .all | ||
camelia | rakudo-moar 699013: OUTPUT«WARNINGS for <tmp>:Useless use of "so " in expression "so say 'we' .all" in sink context (line 1)all(we)» | ||
faraco | m: .so.not.say | 16:11 | |
camelia | rakudo-moar 699013: OUTPUT«True» | ||
CIAvash[m] | m: say 'duck'.flip | ||
camelia | rakudo-moar 699013: OUTPUT«kcud» | ||
faraco | CIAvash[m]: I wish I knew that earlier, *facepalm*. | 16:12 | |
"rotator".flip | |||
m: say "rotator".flip | |||
camelia | rakudo-moar 699013: OUTPUT«rotator» | ||
IOninja | m: .one for .all & all 4 .one | 16:14 | |
camelia | ( no output ) | ||
IOninja | m: subset Pallindrome where .flip eq $_; say "rotator" ~~ Pallindrome; say "cat" ~~ Pallindrome | ||
camelia | rakudo-moar 699013: OUTPUT«TrueFalse» | ||
[Coke] | m: say <a b a c>.rotor(3=>-2)>>.reverse.flat.join | ||
camelia | rakudo-moar 699013: OUTPUT«abacab» | ||
faraco | are we trying to make obsfucated Perl 6? :D | 16:15 | |
16:16
Actualeyes left
|
|||
perlpilot | This is what freedom of expression means :) | 16:16 | |
16:17
hartenfels left
|
|||
IOninja | star: use LWP::Simple; subset Perl6Site where LWP::Simple.get($_).contains: "Perl 6"; say "perl6.party" ~~ Perl6Site; say "php.com" ~~ Perl6Site | 16:17 | |
camelia | star-m 2016.10: OUTPUT«TrueFalse» | ||
IOninja | hehe, awesome. | ||
faraco | perlpilot: I like the sound of that. :) | 16:18 | |
wait, what kind of bot is star? | |||
does it means, it has all the modules that comes with Task::Star? | 16:19 | ||
[Coke] | it's basically what you'd get with a rakudo star of that vintage. | 16:20 | |
(so, basically, yes.) | |||
faraco | nice | ||
16:21
sufrostico left
|
|||
faraco | star: use Test;plan 1; ok 1, True; done-testing; | 16:22 | |
camelia | star-m 2016.10: OUTPUT«1..1ok 1 - True» | ||
faraco | star: use Test;plan 1; ok 0, True; done-testing; | ||
camelia | star-m 2016.10: OUTPUT«1..1not ok 1 - True# Failed test 'True'# at <tmp> line 1# Looks like you failed 1 test of 1» | ||
16:23
sufrostico joined
|
|||
faraco | you know what, I think I'll get my new rakudo now. I'm basically flooding this channel. :3 | 16:23 | |
erm, having a search engine (perl 6 doc) for the browser quick search bar will be nice. | 16:27 | ||
16:27
sufrostico left
|
|||
faraco | or is there somewhere that I didn't found yet? | 16:28 | |
16:28
vike joined
|
|||
[Coke] | I think we'd need a dynamic site to support that. | 16:28 | |
right now docs.perl6.org is just pages of static content. | |||
16:28
jeffythedragonsl left
|
|||
faraco | oh, now it is clear why. Thank you. | 16:28 | |
16:29
sufrostico joined
|
|||
IOninja | .oO( add a small app that handles search... ) |
16:31 | |
.oO( make an IRC bot that uses it... ) |
16:32 | ||
faraco | what | 16:33 | |
jast | you can use google site search or something like that | ||
faraco | I forgot that google has the narrowed search operator. | 16:34 | |
garo | What's "moar" ? | 16:35 | |
IOninja | garo: "Metamodel On A Runtime" | ||
jast | or as someone who maintains the site I believe you can set up a search widget that does the site limiting automatically, I think it's called google CSE | ||
IOninja | garo: leading Virtual Machine that Perl 6 can run on | ||
[Coke] | garo: see also moarvm.org/ | ||
garo | k, thanks | ||
faraco | jast: Thank you! I literally just knew that exist. | 16:36 | |
16:39
Actualeyes joined
16:41
khw joined
|
|||
faraco | Guys, where can I download HTML version of Perl 6 docs? I want to do a few doc testing with Dash. | 16:45 | |
perlpilot | doc.perl6.org :-) | ||
16:46
abraxxa left
|
|||
faraco | do I need to wget -r ? | 16:46 | |
I should | |||
16:46
Actualeyes left
|
|||
IOninja | faraco: you can build it. | 16:46 | |
faraco | That is my problem, I can't. Not enough memory. | ||
sena_kun | faraco, actually, we have docs.perl6.org/perl6.xhtml, but it is somewhat... Not so pretty as usual pages. | 16:47 | |
faraco | oh, I think I'll use the docs.perl6.org. I need the separated HTML's. | ||
16:50
alimon joined,
agentzh joined
|
|||
IOninja | faraco: temp.perl6.party/docs.tar.gz | 16:51 | |
16:51
Actualeyes joined
|
|||
sena_kun | IOninja, someone certainly need to do this in official and persistent way... | 16:53 | |
moritz | sena_kun: well volunteered! | ||
sena_kun | Ah, my grammar is gone today. :/ | 16:54 | |
IOninja | Seems the whole $COLON$COLON thing to make failes workable on all platforms didn't do all the files. I see plenty of them with '>' and '<' in them but those chars aren't allowed on windows | ||
*files | |||
16:54
pyrimidine left
|
|||
IOninja | sena_kun: nope. The docs can be built by whoever needs them. | 16:54 | |
16:55
pyrimidine joined
|
|||
faraco | IOninja: thanks | 16:55 | |
16:56
Actualeyes left
|
|||
sena_kun | moritz, I can write a command to tar(see github.com/perl6/doc/issues/718#is...78063479), but I cannot write a script with correct paths and stuff. :/ | 16:56 | |
IOninja, they can be built for sure, but the issue is still here. ;) | 16:57 | ||
IOninja | sena_kun: which one? | 16:58 | |
moritz | sena_kun: the script that generates the files for publication is util/update-and-sync in the perl6/doc repo | ||
sena_kun | IOninja, github.com/perl6/doc/issues/718 - this. It was a part of docs TODO list since forever. | ||
moritz, oh, I'll look into it. | |||
moritz | sena_kun: and it uses mostly relative paths, so it shouldn't be too hard to work with | 16:59 | |
16:59
rurban joined
|
|||
sena_kun | moritz, I'll give it a try. | 16:59 | |
17:00
buggable joined,
ChanServ sets mode: +v buggable
|
|||
IOninja | sena_kun: "you can also download an offline HTML ... copy". That currently links to the perl6.xhtml file. | 17:02 | |
sena_kun: there are fatal issues with just tarring everything (is `tar` even available on Windows?). After asking if I want to replace < >.html with _ _.html, it's now showing me this error: i.imgur.com/CzKElIV.png I assume it's one of the fancy-pants set ops used as a file name. | 17:04 | ||
sena_kun | IOninja, if so, we need to provide a link to it somewhere. And make it pretty. | ||
IOninja | sena_kun: "to it" it being what? | 17:05 | |
sena_kun | IOninja, I'm on gentoo, so sorry, cannot say anything about windows-related issues. Anyway, I didn't plan to work or to discuss it RIGHT NOW, just mentioned this old-old ticket. To it == to perl6.xhtml. | ||
IOninja | It's already linked to from home page. | 17:06 | |
As for pretty, it's trying to load docs.perl6.org/pod-to-bigpage.css which ain't there... | 17:07 | ||
sena_kun | IOninja, aww, okay. Then just close it! | ||
IOninja | stop yelling at me :| | 17:08 | |
sena_kun | IOninja, sorry. Today was awful and I'm a bit distracted now. I didn't intend to offend you in any way. | 17:09 | |
17:09
abraxxa joined
17:16
geekosaur joined
17:20
AlexDaniel joined
|
|||
IOninja | hm.. and all the absolute paths for assets make the archive unusable without a server to cater it | 17:25 | |
17:30
agentzh left
|
|||
sena_kun | IOninja, yep. Anyway, I can see improving of bigpage version as more appropriate task comparing with this tar'ish thing, so I'm personally +1 for the idea of abandoning this ticket. // And I forgot that some OS are not linux too, shame on me. | 17:30 | |
17:38
rurban left,
TimToady joined
17:44
dakkar left
17:46
gdonald left
17:48
gdonald joined
17:52
wamba left
18:00
Eddward joined
|
|||
Eddward | Hi. Stupid newbie question... allrows() in DBIish returns a lazy list of array references. My query is returning 1 column per row. Is there a nifty way to flatten refs out and stay lazy? | 18:02 | |
IOninja | m: ([<a b c>], [<d e f g>]).flat.say | 18:04 | |
camelia | rakudo-moar 699013: OUTPUT«(a b c d e f g)» | ||
IOninja | Eddward: ^ | ||
18:04
agentzh joined
|
|||
AlexDaniel | m: ([<a b c>], [<d e f g>]).flat.WHAT.say | 18:05 | |
camelia | rakudo-moar 699013: OUTPUT«(Seq)» | ||
yoleaux | 6 Feb 2017 20:24Z <tbrowder> AlexDaniel: Did you get nqp files working with perl6-mode in emacs? | ||
AlexDaniel | .tell tbrowder what nqp files? | ||
yoleaux | AlexDaniel: I'll pass your message to tbrowder. | ||
IOninja | m: ([<a b c>] xx *).flat[^6].say | ||
camelia | rakudo-moar 699013: OUTPUT«(a b c a b c)» | ||
Eddward | IOninja: Thanks. That'll keep the source list lazy too? | 18:06 | |
@still-lazy = @lazy.flat # is true? | |||
IOninja | Eddward: yeah, it's all like a pipeline. You ask for 1 thing on one end and all these iterators reach out to the start of it and ask for just one item there | ||
Eddward | cool. | 18:07 | |
I didn't want to dump the whole DB into memory. | |||
Thanks again. | |||
IOninja | I think array intializers are eager tho? | ||
m: my @still-lazy = ([<a b c>] xx *).flat; say @still-lazy[^6].say | 18:08 | ||
mhm | |||
Eddward | I was afraid .flat() would 'materialize' the whole list. | ||
AlexDaniel | e: my @still-lazy = lazy ([<a b c>] xx *).flat; say @still-lazy[^6].say | ||
evalable6 | AlexDaniel, rakudo-moar 6990133: OUTPUT«(a b c a b c)True» | ||
IOninja | m: my $still-lazy = ([<a b c>] xx *).flat; say $still-lazy[^6].say | ||
camelia | rakudo-moar 699013: OUTPUT«(timeout)» | ||
rakudo-moar 699013: OUTPUT«(a b c a b c)True» | |||
IOninja | Eddward: so if you're intializing an @array with that, stick a `lazy` before it. | ||
s/before it/before the values/; | 18:09 | ||
Eddward | IOninja: I'm probably still good. I have a sub returning the flattened list and that will be called by a foreach. | ||
IOninja | cool | ||
AlexDaniel | it doesn't hurt to check if you actually get it lazy where you want it to be | ||
but usually, if you do everything right, most things will not reify unless you want them to | |||
also… | 18:10 | ||
if you do 「my @whatever = …」, you probably don't care if it is lazy or not… | |||
if you do, then don't use @ | 18:11 | ||
I mean, an array will store the whole thing in the memory, which is something you wanted to prevent | |||
IOninja | m: my @whatever = 1...*; say @whatever[^10] | ||
camelia | rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)» | ||
timotimo | or use := instead of = | ||
AlexDaniel | in this case just use a Seq or something | ||
(so $, not @) | |||
IOninja | The := won't help for Seqs, 'cause they aren't positionals. | ||
timotimo | OK | 18:12 | |
IOninja | How come I can stick 1...* into an @array and it's not eager but the other thing above was eager? | ||
Is it just a special case? | |||
timotimo | hm, it's explicitly lazy? | ||
IOninja | m: my @whatever = 1..*; say @whatever[^10] | 18:13 | |
camelia | rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)» | ||
AlexDaniel | this thing again! | ||
was there a ticket for it? Hmmm… | |||
IOninja | m: my @whatever = (1..*).map({$_}); say @whatever[^10] | ||
camelia | rakudo-moar 699013: OUTPUT«(1 2 3 4 5 6 7 8 9 10)» | ||
IOninja | m: say ([<a b c>] xx *).flat.is-lazy | ||
camelia | rakudo-moar 699013: OUTPUT«False» | ||
IOninja | Ahh | ||
OK. | |||
m: ([<a b c>] xx *).is-lazy.say | 18:14 | ||
camelia | rakudo-moar 699013: OUTPUT«True» | ||
IOninja | hm, .flat should prolly propagate the .is-lazy | ||
If only I knew what it actually means... | |||
18:15
pyrimidine left
18:16
elisdg joined,
pyrimidine joined
18:19
wamba joined
|
|||
tbrowder | AlexDaniel: sorry, a day or so ago I thought I saw that you asked about recognizing nqp files in emacs perl6-mode, but an IRC search shows nothing | 18:20 | |
yoleaux | 18:05Z <AlexDaniel> tbrowder: what nqp files? | ||
AlexDaniel | tbrowder: yes, it was a ticket | 18:23 | |
aaaaah, that's what you meant… | |||
IOninja | Anyone familiar with nqp toolchain and knows where the args get processed? Perhaps you'd know the answer for the question: github.com/perl6/nqp/issues/346#is...-278090170 | ||
AlexDaniel | to be honest, I haven't tried updating perl6-mode yet | ||
TimToady | yes, if flat doesn't propagate is-lazy, I'd consider it a bug | 18:25 | |
tbrowder | i use it manually, but it's set to deal with nqp names, all in the perl6-mode; to recognize nqp files i set in my init.el to use perl6-mode for *.nqp | ||
AlexDaniel | tbrowder: hmmmm | 18:26 | |
tbrowder: according to this commit it should work: github.com/perl6/perl6-mode/commit...ba28546e9f | |||
OK, I've closed the issue | |||
IOninja | OK, I'll fix it (the flat lazy bug) | 18:31 | |
Eddward | IOninja: I've been in another window. Sounds like it should work like you said, but there's a bug at the moment? | 18:33 | |
IOninja | Eddward: it should still work as I've said. I think the scope of the bug is that assigning it to @array is eager, when it should be lazy | 18:34 | |
Eddward | oh. Well thanks for looking into fixing it anyway. | 18:35 | |
[Coke] | IOninja: re < and > I think ¿samcv? removed some characters from the list in the past month or so. | ||
TimToady | list assignment is lazy only when .is-lazy is true, and .flat ought to be propagating that | ||
IOninja | [Coke]: seems the unicode chars have problems too, but maybe I need to pass some sort of options to tar vOv | 18:39 | |
18:39
eroux left
|
|||
[Coke] | IOninja: all these easy tickets end up being much more painful in practice. | 18:40 | |
IOninja | :) | ||
18:42
Lucas_One joined,
bwisti left,
eroux joined
|
|||
IOninja | heh... first compilation of is lazy fix fails on dist install with Cannot (s)printf a lazy list | 18:48 | |
in block <unit> at tools/build/create-moar-runner.pl line 20 | |||
18:50
sufrostico left
|
|||
faraco | yay rakudo ready to roll! | 18:51 | |
18:52
labster joined
18:55
bwisti joined
|
|||
IOninja | oh, nm, it was my misunderstanding of timings. | 18:55 | |
tbrowder | AlexDaniel: i think the emacs perl6-mode problem is on your end. i commented out the dup lines in my init.el which identified *.nqp AND *.p[lm]?6 as perl6-mode and emacs still recognized p6 files for perl6-mode . | 18:56 | |
and it still works on *.nqp files, too | 18:57 | ||
AlexDaniel | yup | ||
tbrowder | should i put my init.el in a gist? | ||
18:59
faraco left
|
|||
AlexDaniel | if there's something interesting, yea? | 19:01 | |
but *.nqp is a non-issue | |||
tbrowder | nothing special, except manual use of perl6-mode installed in a sub dir of .emacs.d... | 19:02 | |
Eddward | What's the right way to spell $sth.allrows.map{s| ^ 'file://' ||}.say; | 19:04 | |
It can't resolve map | |||
IOninja | Eddward: missing () around map's {} | 19:05 | |
Eddward | m: my @x=(1,2,3) @x.map{$_*2}.say | ||
camelia | rakudo-moar 699013: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3my @x=(1,2,3)7⏏5 @x.map{$_*2}.say expecting any of: infix infix stopper postfix statement end statemen…» | ||
Eddward | m: my @x=(1,2,3) ; @x.map{$_*2}.say | ||
camelia | rakudo-moar 699013: OUTPUT«Cannot resolve caller map(Array: ); none of these signatures match: ($: Hash \h, *%_) (\SELF: █; :$label, :$item, *%_) (HyperIterable:D $: █; :$label, *%_) in block <unit> at <tmp> line 1» | ||
IOninja | m: my @x=(1,2,3) ; @x.map({$_*2}).say | ||
camelia | rakudo-moar 699013: OUTPUT«(2 4 6)» | ||
Eddward | oh. Thanks | ||
stmuk | maybe pod executes if you write your own windows perl6 wrapper? | 19:06 | |
:) | |||
IOninja | Eddward: what's your perl6 version? | ||
stmuk: hm? | |||
m: my @x=(1,2,3) ; @x.map({s|^\d+|z|}).say | |||
camelia | rakudo-moar 699013: OUTPUT«(「1」 「2」 「3」)» | ||
IOninja | m: my @x=(1,2,3) ; @x.map({S|^\d+|z|}).say | 19:07 | |
camelia | rakudo-moar 699013: OUTPUT«(z z z)» | ||
Eddward | I have $sth.allrows.map({s:g| ^ 'file://' ||}).say; but it's not doing what I expect. I've messaged up the re. | ||
IOninja | Eddward: ^ that would be the right way to do it, but it only works on bleed Perl 6 | ||
Eddward | In the perl5 version I'm using URI objects. | ||
stmuk | IOninja: a joke never mind | ||
Eddward | I figure in p6 I'll strip the file:// and then use IO::Path. | 19:08 | |
IOninja | m: my @x=(1,'file://meow',3) ; @x».subst('file://','').say | ||
camelia | rakudo-moar 699013: OUTPUT«[1 meow 3]» | ||
IOninja | That works too, though that'd replace it anywhere, not just start of string | ||
m: my @x=(1,'file://meow',3) ; @x».subst(/^ 'file://'/,'').say | |||
camelia | rakudo-moar 699013: OUTPUT«[1 meow 3]» | ||
IOninja | Eddward: ^ that should work | ||
Um | 19:09 | ||
Eddward | cool. Thanks | ||
IOninja | Eddward: no, use a map: @x.map(*.subst: /^ 'file://'/,'').say | ||
Eddward: the ». is meant to be autothreaded and I'm unsure how that will behave with laziness when it actually is implemented to be that way | |||
I think it'll be eager.. | 19:10 | ||
Eddward | ok. | ||
Sorry to be such a pest. I'm taking some time to get the little things down with p6. | 19:11 | ||
TimToady | hypers are supposed to be eager; gotta use an explicit map to stay lazy | ||
19:16
vike left
|
|||
IOninja | noted | 19:17 | |
Eddward | For that matter, would there be a way to autothread/hyberthread this? | ||
for get-names() { dump-list($dbh, $_, $dir $prefix) } | |||
19:17
mscha left,
darutoko left
|
|||
TimToady | looks like side effects, which you don't want to do in parallel | 19:18 | |
if dump-list is IO | |||
Eddward | I figure there's a more idiomatic way altogether. | ||
19:18
jonas1 left
|
|||
Eddward | They each write to a different file with a name derived from $_. | 19:18 | |
TimToady | in that case it might work okay | 19:19 | |
Eddward | I'm dumping playlists from banshee to m3u files. | ||
19:20
espadrine left
|
|||
Eddward | I guess the question is if DBIish can handle concurrent access. | 19:20 | |
TimToady | but I don't think 'for' is smart enough to attempt anything with a HyperSeq yet | ||
timotimo | i think it just hits the .map on HyperSeq which then will spread it out onto threads | ||
TimToady | and HyperSeq is a bit buggy, which is why "hypers" avoid them till now | ||
Eddward | I was assuming I'd need something other than for. I didn't know if there'd be some trick with a hyper and currying. | ||
IOninja | m: for ^4 .hyper(:batch) { sleep 1; say $_ }; say now - INIT now | 19:21 | |
camelia | rakudo-moar 699013: OUTPUT«01231.00665744» | ||
IOninja | m: for ^4 .hyper(:batch) { sleep 1; say $_ }; say now - INIT now | ||
camelia | rakudo-moar 699013: OUTPUT«02131.0067660» | ||
timotimo | yup, hyperseq can end up throwing all values away | ||
Eddward | It's not important however. Just trying to squeeze in as many new things as possible to try and learn them. | ||
TimToady | here be some baby hyperdragons, is all :) | 19:22 | |
IOninja | :) | ||
Eddward | :) | ||
timotimo | HyperRogue has basically HyperDragons in it | ||
but they aren't really very hyper | 19:23 | ||
they just live on the hyperbolic plane | |||
and they bully baby tortoises! >:( | 19:24 | ||
well, they bully tortoises by taking their babbys away | 19:25 | ||
terrible beasts | |||
19:25
AlexDaniel left
|
|||
TimToady | but do they bully tortoises all the way down? | 19:25 | |
19:26
cdg left,
pyrimidine left
|
|||
timotimo | their domain is infinitely big, and there are infinitely many dragons and tortoises, and there's not a single tortoise that's still with their babby | 19:26 | |
so yeah, i'd say they do | |||
19:27
pyrimidine joined
|
|||
timotimo | stmuk: now that i know the context of that joke, i don't appreciate the mockery :| | 19:28 | |
19:30
gdonald left
19:31
gdonald joined,
pyrimidine left
|
|||
IOninja | m: flat(42 xx *).is-lazy.say | 19:33 | |
camelia | rakudo-moar 51b0ab: OUTPUT«False» | ||
El_Che | New rpms/debs for rakudo 2017.01: github.com/nxadm/rakudo-pkg/releas...2017.01_02 | ||
IOninja | TimToady: ^ and that's not a bug? I'm looking at comments in code and I see the sub version has different semantics? github.com/rakudo/rakudo/blob/51b0...1377-L1382 | ||
timotimo | hm. that's already the new version ... | 19:34 | |
ah | |||
19:34
pyrimidine joined
19:35
jdmmmmm joined
19:36
eroux left
|
|||
IOninja | m: sub (**@x) { @x.is-lazy.say }(lazy 1, 2, 3) | 19:37 | |
camelia | rakudo-moar 51b0ab: OUTPUT«False» | ||
IOninja | a'ight. I'll assume that's all good | ||
Eddward | m: my $x="01\%20-\%20Leisureforce.mp3"; $x ~~ s:eg/ '%' (<xdigit>**2) / chr(hex($1)) / ; $x.perl | 19:38 | |
camelia | rakudo-moar 51b0ab: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Adverb eg not allowed on substitutionat <tmp>:1------> 3s:eg/ '%' (<xdigit>**2) / chr(hex($1)) /7⏏5 ; $x.perl» | ||
IOninja | hah :) | ||
That's a confusing error if you don't know what's going on :) | 19:39 | ||
19:39
pyrimidine left
|
|||
IOninja | Eddward: there's no /e in Perl 6. You prolly want s:g['%' (<xdigit>**2)] = $1.base(16).chr | 19:39 | |
Eddward | Looks like g is ok from the docs. Looking for e. | ||
TimToady doesn't use eg substitutes... | |||
Eddward | ok | ||
19:39
eroux joined
|
|||
IOninja | or .parse-base(16). I forget what `hex` does in perl 5 | 19:39 | |
timotimo | hex also looks if there's a 0x or 0b or 0o at the beginning afaik | 19:40 | |
19:40
RabidGravy left
|
|||
Eddward | is there an 'r'? | 19:40 | |
IOninja | Eddward: oh, I meant $0.base..., in Perl 6 captures start with 0 | ||
Eddward | The erl 5 was s/%([0-9A-Fa-f]{2})/chr(hex($1))/egr | ||
19:40
rindolf left
|
|||
TimToady | you can do s::g/.../{...}/ too as an eg replacement | 19:40 | |
IOninja | Eddward: use S/// instead of s/// and don't use smartmatch. | ||
Eddward | ok. I'll try that. Thanks | 19:41 | |
19:41
espadrine joined
|
|||
IOninja | m: my $x="01\%20-\%20Leisureforce.mp3"; say $x.subst: :g, /'%' (<xdigit>**2)/, *.[0].parse-base(16).chr | 19:42 | |
camelia | rakudo-moar 51b0ab: OUTPUT«No such method 'parse-base' for invocant of type 'Match' in whatevercode at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
IOninja | m: my $x="01\%20-\%20Leisureforce.mp3"; say $x.subst: :g, /'%' (<xdigit>**2)/, *.[0].Str.parse-base(16).chr | ||
camelia | rakudo-moar 51b0ab: OUTPUT«01 - Leisureforce.mp3» | ||
IOninja | Eddward: ^ that seems to work | ||
much more verbose and gross, but it works :P | |||
TimToady | m: my $x="01\%20-\%20Leisureforce.mp3"; say S:g /'%' (<xdigit>**2)/{:16(~$0).chr}/ given $x | 19:44 | |
camelia | rakudo-moar 51b0ab: OUTPUT«01 - Leisureforce.mp3» | ||
IOninja | :) | 19:45 | |
m: say :16(Any) | 19:46 | ||
camelia | rakudo-moar 51b0ab: OUTPUT«Cannot resolve caller UNBASE(Int, Any); none of these signatures match: (Int:D $base, Any:D $num) (Int:D $base, Str:D $str) in block <unit> at <tmp> line 1» | ||
19:47
Tonik joined
|
|||
IOninja | oh, nm | 19:47 | |
19:47
RabidGravy joined
19:48
rindolf joined
|
|||
IOninja | star: use URI::Escape; say uri-unescape "01\%20-\%20Leisureforce.mp3"; | 19:48 | |
camelia | star-m 2016.10: OUTPUT«01 - Leisureforce.mp3» | ||
RabidGravy | boom | 19:49 | |
IOninja | :) | ||
m: (42 xx *).flat.is-lazy.say | 19:50 | ||
camelia | rakudo-moar 51b0ab: OUTPUT«True» | ||
IOninja | bug fixed \o/ | ||
19:50
bjz joined
|
|||
IOninja | m: my @a = (42 xx *).flat; say @a[^6] | 19:50 | |
camelia | rakudo-moar 51b0ab: OUTPUT«(42 42 42 42 42 42)» | ||
IOninja | cool | ||
m: ($ = "foo") ~~ s:g/^// | 19:55 | ||
camelia | ( no output ) | ||
IOninja | m: ($ = "foo") ~~ s::g/^// | ||
camelia | rakudo-moar 51b0ab: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Null regex not allowedat <tmp>:1------> 3($ = "foo") ~~ s::g/^//7⏏5<EOL>» | ||
IOninja | Null regex? What does it think is going on? | ||
m: ($ = "foo") ~~ s::g/^/^/ | 19:56 | ||
camelia | rakudo-moar 51b0ab: OUTPUT«Could not find symbol '&g' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
IOninja | Ah, (s::g) / (^//) | 19:57 | |
geekosaur | doubled colon? maybe it decided : was the dsep | ||
yeh | |||
19:57
mcmillhj joined
20:03
st_elmo joined
20:06
girafe joined
20:11
mcmillhj left
20:12
jdmmmmm left
|
|||
IOninja | Is Mark who made Periodic Table of Operators still here? twitter.com/colomon/status/829019842795728897 | 20:16 | |
[Coke] hasn't see the author of that in some time, he thinks. | 20:17 | ||
IOninja reads the wiki on the new United States Secretary of Education | 20:20 | ||
educated in a private highscool and has "bachelor's degree in business administration". Well, if that doesn't prepare a person to be the Secretary of Education I don't know what will.... :P | 20:21 | ||
20:36
meept joined,
pyrimidine joined
|
|||
timotimo | don't watch how she was interviewed by all the senators and such | 20:37 | |
it'll make you lose faith in humanity | |||
IOninja | heh | 20:38 | |
El_Che | timotimo: her assignment is pretty much the same travesty as other secrataries: take someone that actively works on undermining the department he/she's supposed to lead | 20:39 | |
timotimo | yeah | ||
20:39
bjz left
|
|||
timotimo | but god damn it | 20:39 | |
at least she supports accountability | 20:40 | ||
20:48
gdonald left
20:51
meept left,
gdonald joined
|
|||
Geth | ecosystem: atweiden++ created pull request #296: rename atweiden/**/META.info to META6.json |
20:53 | |
ecosystem: 1d787f2e32 | (Andy Weidenbaum)++ | META.list rename atweiden/**/META.info to META6.json |
|||
ecosystem: 98e7f3c30e | (Andy Weidenbaum)++ | META.list Merge pull request #296 from atweiden/meta6-json rename atweiden/**/META.info to META6.json |
|||
20:54
labster left
20:55
thdr|2 left
20:58
mempko joined
20:59
wamba left
|
|||
mempko | I need help :-( I accidently renamed my module's META.info to META6.json. | 20:59 | |
Even after renaming it back to META.info and pushing to github, zef cannot locate my module | |||
[Coke] | did you try 'zef update' ? | 21:00 | |
21:00
sufrostico joined
|
|||
mempko | The module is this github.com/mempko/PKafka | 21:00 | |
zef update does not seem to work. | 21:01 | ||
21:01
thdr|2 joined
|
|||
mempko | I am building a docker image using latest rakudo-star image as the base | 21:01 | |
example Dockerfile | 21:02 | ||
gist.github.com/mempko/1a9a8c49b80...2746f5529e | |||
when I do zef update on my local. I then run "zef search Pkafka" | 21:03 | ||
RabidGravy | that should be fine on the face of it | ||
mempko | and only see the one from Zef::Repository::LocalCache | 21:04 | |
github.com/perl6/ecosystem/blob/ma....list#L498 | 21:06 | ||
curling that returns the correct valid json. | |||
RabidGravy | I think it probably was wrongly named at the moment the thing was built an hour or so ago | ||
mempko | Does zef get it's list from somewhere else? | 21:07 | |
RabidGravy | and got chucked out the projects.json because the META file wasn't there | ||
yes | |||
mempko | Ah | ||
21:07
TEttinger joined
|
|||
mempko | My guess is next rebuild it will come back? | 21:07 | |
RabidGravy | there is a JSON file that has all the META files in one basically | ||
if it can't find the META file or it can't parse it as a JSON it won't be included | 21:08 | ||
mempko | When can I expect the next build? | ||
RabidGravy | yeah, it builts | ||
well shortly | |||
El_Che | mempko: in case you need smaller (and by no means an answer to your question), there is JJ's alpine perl6 image (github.com/JJ/alpine-perl6) or you can install the rakudo pkgs in your image I provide here (github.com/nxadm/rakudo-pkg/releases/) | ||
(of course the rakudo-star is the official one) | 21:09 | ||
mempko | nice | 21:10 | |
Yay, it's back! | 21:11 | ||
El_Che | I created the packages because it helped me iternate faster (through jenkins pipes). Build time was reduced from very long to seconds :) | ||
mempko | Lesson learned, don't assume anything. | ||
El_Che | (we standardize on centos 7 at work, personally I work on ubuntu, hence those packages) | ||
IOninja | mempko, META6.json is the more modern name BTW | 21:12 | |
[Coke] | (perl6 images) - can we use those for github.com/perl6/doc/issues/788 ? | ||
mempko | Yes i realized that. I will have to do a double buffer thing. Add META6.json. Then do PR to ecosystem | ||
and then finally remove META.info. | |||
IOninja | .ask ugexe what's the url of zef's package list (or does it use same as panda)? how often does it get updated? | 21:13 | |
yoleaux | IOninja: I'll pass your message to ugexe. | ||
21:14
elisdg left
|
|||
IOninja | mempko, in an "emergency" you can also check out the repo you want to install and run 'zef install .' in it | 21:14 | |
[Coke] | IOninja: github.com/ugexe/zef/blob/e6c01728...g.json#L28 ? | ||
mempko | Thanks, yeah thanks. I ended up doing that | ||
I am actually using perl6 for production. Yay for perl6 | 21:15 | ||
El_Che | mempko: yay for the kafka module, by the way | 21:16 | |
mempko | perl6 app distributed on a mesos cluster. What a time to live. | ||
thanks | |||
El_Che | I am pretty sure people would like to hear about the production part | ||
mempko | I'll put writing a blog post about it on my bucket list | 21:17 | |
21:17
jjido_ joined
|
|||
mempko | My use case at the moment. I have nginx logs going to kafka. Using my PKafka library to parse them asynchronously | 21:18 | |
perl6 grammars are fantastic. | |||
Also writing network code that pushs to a socket is stupid easy. | |||
I wrote a graphite compatible time series DB and have my perl6 app push to it. | 21:19 | ||
El_Che | nice | ||
mempko | gist.github.com/mempko/eb176bed65f...0cb59eadd0 | 21:22 | |
anyway, thank you all for your help. | |||
21:22
cdg joined,
cdg left
21:23
cdg joined
21:24
Eddward left
21:25
labster joined
21:27
bjz joined
21:28
sufrostico left
|
|||
IOninja | [Coke]: thanks. | 21:29 | |
21:30
Tonik left
21:31
ChoHag joined
21:36
sufrostico joined,
bjz left
21:37
andrzejku joined
|
|||
MasterDuke | timotimo: looking at the profile Ulti linked earlier today, push-exactly@SETTING::src/core/Iterator.pm:28, AT-KEY@SETTING::src/core/Hash.pm:48, and postcircumfix:<{ }>@SETTING::src/core/hash_slice.pm:6 are all only speshed, not jitted | 21:39 | |
21:39
jjido_ left
|
|||
MasterDuke | and push@SETTING::src/core/IterationBuffer.pm:22 is just interpreted | 21:39 | |
i would have expected more jitting? | 21:40 | ||
21:40
sena_kun left
|
|||
gfldex | IOninja: see github.com/ugexe/zef/blob/master/r...g.json#L28 | 21:42 | |
21:43
Eddward joined
|
|||
timotimo | MasterDuke: you know about the MVM_JIT_LOG? | 21:48 | |
MasterDuke | i don't really understand it, but yeah | ||
21:52
alimon left
21:54
alimon joined
21:56
ocbtec left
|
|||
MasterDuke | .ask Ulti what code did you run to generate your profile? | 21:57 | |
yoleaux | MasterDuke: I'll pass your message to Ulti. | ||
timotimo | what the flying fuck, wordpress | ||
so apparently i can no longer get just a list of comments that were posted on one of my sites? | 21:58 | ||
gfldex | timotimo: did you give them moneys? | 22:00 | |
timotimo | no | ||
22:00
itcharlie1 left
22:01
Lucas_One left
22:02
cdg_ joined,
joseds joined,
Lucas_One joined
|
|||
MasterDuke | timotimo: gist.github.com/MasterDuke17/6598d...938542559, count of the different types of BAILs | 22:03 | |
22:04
joseds left,
cdg left
22:05
labster left,
jeffythedragonsl joined
|
|||
timotimo | it'd be most interesting to see what causes these particular frames to bail | 22:06 | |
i once tried to jit throwpayloadlex. it was bad | |||
22:07
pmurias left
|
|||
RabidGravy | oh I see I *was* still logged in | 22:07 | |
22:08
skids left,
Lucas_One left
22:09
pmurias joined,
Sound joined
22:12
st_elmo left
22:13
meept joined
|
|||
MasterDuke | timotimo: how does one see what causes frames to bail? | 22:15 | |
22:18
gdonald left
|
|||
timotimo | look upwards from the bail to the last frame name, or downwards from a frame you're interested in until you find a bail or the start of a new frame | 22:18 | |
22:19
jeffythedragonsl left
22:20
andrzejku left
|
|||
MasterDuke | the name before most of the `param_sn` bails was `bless` | 22:21 | |
timotimo | mhm | ||
do AT-KEY and push-exactly even occur in the file? | |||
MasterDuke | AT-KEY does once | 22:22 | |
22:23
pyrimidine left
22:26
Lucas_One joined,
labster joined
|
|||
timotimo | OK, so it's attempted a jit for that. does it bail? | 22:28 | |
22:28
labster left
|
|||
MasterDuke | i don't think so. it says `Constructing JIT graph (cuuid: 5636, name: 'AT-KEY')`, bunch of lines (no BAILs), the next JIT related line is `Constructing JIT graph (cuuid: 3963, name: 'infix:<eq>')` | 22:30 | |
22:31
ocbtec joined
22:32
RabidGravy left
|
|||
timotimo | OK, then it jits that successfully, but it doesn't invoke the jitted version? | 22:32 | |
or does it not count correctly? | |||
Eddward | camelia: m: use URI::Escape; uri-unescape(q[=+=]).say | 22:33 | |
camelia | Eddward: rakudo-moar 51b0ab: OUTPUT«===SORRY!===Could not find URI::Escape at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 CompUnit::R…» | ||
Eddward | darn | ||
MasterDuke | are those rhetorical questions or would the log have answers? | ||
22:39
heatsink joined
22:43
labster joined
|
|||
timotimo | oh | 22:53 | |
sorry. i don't know why that doesn't work as expected | |||
22:54
LeCamarade joined
23:00
pyrimidine joined
23:03
gdonald joined
23:06
LeCamarade left,
LeCamara1e joined
23:07
LeCamara1e left
23:09
sufrostico left
23:11
sufrostico joined
23:13
kyan joined
23:14
pyrimidine left,
labster1 joined
23:15
rindolf left,
pyrimidine joined
23:16
LeCamarade joined
23:17
labster left
23:19
pyrimidine left
23:27
mr-foobar joined
|
|||
Eddward | I have an interesting problem. In p5 I'm able to decode 'Adagio\%20-\%20Piu\C\%80\%20andante' to 'Adagio - PiuÌ\x[80] andante' by just decoding the uri with a s/// expression. | 23:28 | |
Doing the same thing in p6 I get 'Adagio - PiuÌ andante' | |||
IOninja | hehe, that *is* interesting | ||
Eddward | wait. The irc client didn't like any of that.... | ||
IOninja | oh wait, no, I thought the weird I was the interesting part. | 23:29 | |
Eddward: what's this stuff? URLs? | |||
Eddward | So, the good case, 'Adagio\%20-\%20Piu\C\%80\%20andante' => 'Adagio - PiuxCCx80 andante' | ||
It's a substring from a long file:/// URI. | 23:30 | ||
IOninja | I don't recall \C being special in URL encoding | ||
Eddward | I'm trying to decode it and drop it into a playlist. | ||
IOninja | star: use URI::Escape; say uri-unescape 'Adagio\%20-\%20Piu\C\%80\%20andante' | ||
camelia | star-m 2016.10: OUTPUT«Malformed UTF-8 at line 1 col 1 in block at /home/camelia/star-2016.10/share/perl6/site/sources/A541643C9AEAA4863E2FA70508DC38EF5D723F1C (URI::Escape) line 32 in sub uri-unescape at /home/camelia/star-2016.10/share/perl6/site/sources/A541643C9AEAA4863…» | ||
IOninja | orly | ||
Now that's weird. | 23:31 | ||
Eddward: what's \C supposed to be? | |||
Eddward | I'm not sure. | ||
The file name is Brahms - Symphony No 1 in C Major/Symphony No. 1 in C Minor, Op. 68 - IV. Adagio - PiuxCCx80 andante - Allegro non troppo, ma con brio.mp3 | 23:32 | ||
23:32
lep-delete joined,
pmurias left
|
|||
IOninja | star: use URI::Escape; say uri-unescape 'Adagio\%20-\%20Piuu\%80\%20andante' | 23:32 | |
camelia | star-m 2016.10: OUTPUT«Malformed UTF-8 at line 1 col 1 in block at /home/camelia/star-2016.10/share/perl6/site/sources/A541643C9AEAA4863E2FA70508DC38EF5D723F1C (URI::Escape) line 32 in sub uri-unescape at /home/camelia/star-2016.10/share/perl6/site/sources/A541643C9AEAA4863…» | ||
IOninja | Oh. My terminal's messed up now | 23:33 | |
And it does it with funky unicode chars | |||
gfldex | Eddward: did you check if the file is stored as proper utf-8 on the file system? | ||
filename even | |||
23:33
nicq201 joined
|
|||
Eddward | banshee stores it as "file: | 23:34 | |
///space/pub/music/mp3/Musopen\%20DVD/Brahms\%20-\%20Symphony\%20No\%201\%20in\% | |||
20C\%20Major/Symphony\%20No.\%201\%20in\%20C\%20Minor,\%20Op.\%2068\%20-\%20IV.\ | |||
%20Adagio\%20-\%20Piu\C\%80\%20andante\%20-\%20Allegro\%20non\%20troppo,\%20ma | |||
\%20con\%20brio.mp3" | |||
Oh well, I have to run for a few minutes. Bad timing on my part. | |||
IOninja | star: use URI::Escape; say uri-unescape '%80' | ||
camelia | star-m 2016.10: OUTPUT«Malformed UTF-8 at line 1 col 1 in block at /home/camelia/star-2016.10/share/perl6/site/sources/A541643C9AEAA4863E2FA70508DC38EF5D723F1C (URI::Escape) line 32 in sub uri-unescape at /home/camelia/star-2016.10/share/perl6/site/sources/A541643C9AEAA4863…» | ||
IOninja | m: "\x[80]".uniname.say | ||
camelia | rakudo-moar 51b0ab: OUTPUT«<control-0080>» | ||
IOninja | that's.. useful -_- | ||
geekosaur | that's all you're getting from it; as a unicode codepoint it's just a mirror NUL per iso8859-1 | 23:36 | |
23:38
jdmmmmm joined
23:39
cibs left
|
|||
IOninja | .tell Eddward seeing all those backslashes, looks like there's a layer of another encoding. The \C\%80 part is supposed to be %CC%80 (if we're talking about just percent encoding). So seeing what that other layer of encoding is would be the next step | 23:39 | |
yoleaux | IOninja: I'll pass your message to Eddward. | ||
23:40
cibs joined
|
|||
Eddward | IOninja: Sorry to run. I had to give a child a ride. | 23:44 | |
yoleaux | 23:39Z <IOninja> Eddward: seeing all those backslashes, looks like there's a layer of another encoding. The \C\%80 part is supposed to be %CC%80 (if we're talking about just percent encoding). So seeing what that other layer of encoding is would be the next step | ||
23:44
Actualeyes joined,
heatsink left
|
|||
Eddward | star: use URI::Escape; say uri-unescape '=+=' | 23:46 | |
camelia | star-m 2016.10: OUTPUT«= =» | ||
Eddward | uri-unescape doesn't handle + or I'd use that. | ||
IOninja | Seems to handle it fine. What did you want it to show up as? | 23:48 | |
gfldex | there is a sloppy version for utf8 (name does escape me right now) that should be used in URI::Escape but doesn't | ||
Eddward | IOninja: I thought it would be a + | 23:50 | |
star: use URI::Escape; say uri-unescape '---+---' | |||
camelia | star-m 2016.10: OUTPUT«--- ---» | ||
IOninja | Eddward: but it's a reserved char | ||
Eddward | oh. | ||
banshee is messing that up then. It's in several of the names in sqlite. | 23:51 | ||
IOninja | What's the Perl 5 thing that decodes your stuff just fine? | ||
23:51
Sound left
|
|||
Eddward | s/%([0-9A-Fa-f]{2})/chr(hex($1))/egr | 23:51 | |
That's what the uri decode library in perl5 says it used. I saved myself the dependency. | 23:52 | ||
23:53
jdmmmmm left,
nicq201 left
|
|||
Eddward | I'm trying to find the pm I was looking at. | 23:53 | |
IOninja | that can't be it, what's with all the backslashes? | 23:54 | |
Eddward | URI::Escape | ||
That's was I get out of $sth.allrows.flat.perl.say | |||
"file:///space/pub/music/mp3/Musopen\%20DVD/Brahms\%20-\%20Symphony\%20No\%201\%20in\%20C\%20Major/Symphony\%20No.\%201\%20in\%20C\%20Minor,\%20Op.\%2068\%20-\%20IV.\%20Adagio\%20-\%20Piu\%CC\%80\%20andante\%20-\%20Allegro\%20non\%20troppo,\%20ma\%20con\%20brio.mp3" | 23:55 | ||
IOninja | Oh, so now that has proper %CC | 23:56 | |
Eddward | star: use URI::Escape; say uri-unescape 'file:///space/pub/music/mp3/Musopen\%20DVD/Brahms\%20-\%20Symphony\%20No\%201\%20in\%20C\%20Major/Symphony\%20No.\%201\%20in\%20C\%20Minor,\%20Op.\%2068\%20-\%20IV.\%20Adagio\%20-\%20Piu\%CC\%80\%20andante\%20-\%20Allegro\%20non\%20troppo,\%20ma\%20con\%20brio.mp3' | ||
camelia | star-m 2016.10: OUTPUT«Malformed termination of UTF-8 string in block at /home/camelia/star-2016.10/share/perl6/site/sources/A541643C9AEAA4863E2FA70508DC38EF5D723F1C (URI::Escape) line 32 in sub uri-unescape at /home/camelia/star-2016.10/share/perl6/site/sources/A541643C9AE…» | ||
Eddward | perhaps I cut wrong. Sorry. | ||
IOninja | star: use URI::Escape; say uri-unescape "file:///space/pub/music/mp3/Musopen\%20DVD/Brahms\%20-\%20Symphony\%20No\%201\%20in\%20C\%20Major/Symphony\%20No.\%201\%20in\%20C\%20Minor,\%20Op.\%2068\%20-\%20IV.\%20Adagio\%20-\%20Piu\%CC\%80\%20andante\%20-\%20Allegro\%20non\%20troppo,\%20ma\%20con\%20brio.mp3" | ||
camelia | star-m 2016.10: OUTPUT«file:///space/pub/music/mp3/Musopen DVD/Brahms - Symphony No 1 in C Major/Symphony No. 1 in C Minor, Op. 68 - IV. Adagio - Più andante - Allegro%20non troppo, ma con brio.mp3» | ||
IOninja | The messed up portions is likely just me copy-pasteing fropm the log0non\%20troppo,\%20ma\%20con\%20brio.mp3" | 23:57 | |
Eddward | star: use URI::Escape; say uri-unescape "file:///space/pub/music/mp3/Aesop\%20Rock/Skelethon\%20(Deluxe\%20Version)\%20\%5BExplicit\%5D\%20\%5B+digital\%20booklet\%5D/01\%20-\%20Leisureforce.mp3" | ||
camelia | star-m 2016.10: OUTPUT«file:///space/pub/music/mp3/Aesop Rock/Skelethon (Deluxe Version) [Explicit] [ digital booklet]/01 - Leisureforce.mp3» | ||
Eddward | Should be a '+' infront of 'digital booklet' | 23:58 | |
IOninja | Well, either fix your data or stick .subst: :g, '+', %2B on it | 23:59 | |
Eddward | mono must mess up the encode going into the db? | ||
IOninja | *before* uri-unescaping it |