»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋 Set by Zoffix on 25 July 2018. |
|||
kybr | or.... this is all logged somewhere, right? | 00:00 | |
found it. sorry for the noise: colabti.org/irclogger/irclogger_lo...2019-02-01 | 00:02 | ||
00:06
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
Geth | doc: treyharris++ created pull request #2609: Make .Str vs .IO example more explicit |
00:06 | |
TreyHarris | Elronnd: See ↑ pull request--would that have clarified it for you? | 00:07 | |
kybr: Also, if you're using default Weechat settings, you should have it in ~/.weechat/logs/*#perl6* | 00:08 | ||
Xliff | m: my @a = <1 2 3 4 5>; say @a.pick(*) | 00:09 | |
camelia | (2 1 3 5 4) | ||
00:17
aborazmeh left
|
|||
TreyHarris | Elronnd: If you happen to have a moment to look at the PR and let me know (as a GitHub comment, preferably) if it works for you, I'd appreciate it---I'd usually just push a small change like this without discussion. | 00:31 | |
Altreus | Should I expect XML (the module) to decode & for me? | 00:36 | |
the documentation doesn't mention entities at all | 00:37 | ||
timotimo | cdn.discordapp.com/attachments/538...-53-17.mp4 | 00:45 | |
00:57
cpan-p6_ left,
cpan-p6 joined
|
|||
MasterDuke | timotimo: your next demoscene submission? | 00:59 | |
timotimo | my pixel graphics skills are going to wow the hell out of the oldbies | 01:00 | |
01:04
leont left
|
|||
MasterDuke | timotimo: btw, have you looked at my nqp/rakudo PRs? | 01:04 | |
timotimo | sorry, i have not | 01:07 | |
MasterDuke | i feel it's the sort of thing a couple people should look at. who else do you think i should ping? nine, jnthn, pmurias (well, definitely him, since i didn't touch any of the jvm/js code)? | 01:09 | |
01:10
molaf left
|
|||
Geth | doc: aa8cd771c0 | cfa++ | doc/Type/IO/Path.pod6 Indentation fix. |
01:17 | |
synopsebot | Link: doc.perl6.org/type/IO::Path | ||
Elronnd | TreyHarris: yeah, that's way better! | ||
TreyHarris | Elronnd: Great. I'll merge it then. | ||
Geth | doc: 61e4a13b67 | (Trey Harris)++ | doc/Language/io-guide.pod6 Make .Str vs .IO example more explicit As mentioned on #perl6 today, the original introductory text here could lead one to think the difference was between `my IO $path` and `my Str $path`, when it's actually in using `~` for getting the value rather than `.absolute` or `.relative`. This version uses `.Str` explicitly so it lines up more obviously with the text. |
||
synopsebot | Link: doc.perl6.org/language/io-guide | ||
doc: 894d81ace8 | (Trey Harris)++ (committed using GitHub Web editor) | doc/Language/io-guide.pod6 Merge pull request #2609 from treyharris/io-vs-str-example Make .Str vs .IO example more explicit |
|||
01:24
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:46
aborazmeh left
02:09
crella_p joined
02:11
markoong left
02:24
mowcat left
|
|||
Geth | doc: 5108da9efe | cfa++ | doc/Language/math.pod6 Fix: (implicit) /routine/… → /language/operators#infix_... |
02:52 | |
synopsebot | Link: doc.perl6.org/language/math | ||
02:53
nelsonhb joined
03:02
crella_p left
03:04
crella_p joined
03:07
dustinm` left,
unicodable6 left,
unicodable6 joined
03:08
dustinm` joined
03:12
sno left
03:19
sno joined
03:21
crella_p left,
jme` joined
03:33
nelsonhb left
03:37
volkov joined
03:46
cpan-p6_ joined
03:47
tyil left,
cpan-p6 left
03:49
tyil joined
03:58
Actualeyes joined
04:09
ToddAndMargo joined
|
|||
ToddAndMargo | What is the syntax for copying a range of elements from one buffer to another? $ p6 'my Buf $x=Buf.new(0x55, 0x66, 0x77, 0x78); say $x; say $x[1..2]; my Buf $y=$x[ 1..2 ]; say $y;' Buf:0x<55 66 77 78> (102 119) Type check failed in assignment to $y; expected Buf but got List ($(102, 119)) in block <unit> at -e line 1 | 04:10 | |
MasterDuke | m: my Buf $x=Buf.new(0x55, 0x66, 0x77, 0x78); say $x; say $x[1..2]; my Buf $y=$x.subbuf(1, 2); say $y; | 04:19 | |
camelia | Buf:0x<55 66 77 78> (102 119) Buf:0x<66 77> |
||
MasterDuke | m: my Buf $x=Buf.new(0x55, 0x66, 0x77, 0x78); say $x; say $x[1..2]; my Buf $y=$x.subbuf(1..2); say $y; | 04:20 | |
camelia | Buf:0x<55 66 77 78> (102 119) Buf:0x<66 77> |
||
04:20
ferreira1 left,
namibj joined
|
|||
MasterDuke | ToddAndMargo: ^^^ and the doc for it is here docs.perl6.org/type/Buf#(Blob)_method_subbuf | 04:21 | |
ToddAndMargo | Perfect. Thank you! | ||
MasterDuke | np | ||
ToddAndMargo | I am still thinking like Modula 2, arn't I. | 04:22 | |
namibj | I'm new, as far as any knowledge of significance goes. (I can't blindly write proper fizzbuzz as I don't know the conditionals syntax by heart; FYI just to judge my level of expertise) | ||
ToddAndMargo | Jsut out of curiousity, is there a way to dump the `Buf.new` from `my Buf $x=Buf.new(0x55, 0x66, 0x77, 0x78);` ? | 04:23 | |
namibj | I'm trying to write a client for communication with the rclone.org/rc/ daemon-mode (via HTTP), so that I can use perl6 to organize/schedule/automate archiving | 04:26 | |
Can anyone with more experience suggest suitable naming/structuring? | 04:27 | ||
MasterDuke | ToddAndMargo: i don't think you can lose the Buf.new, but you could say `my $x=Buf.new(...)` | 04:30 | |
lucs | my Buf $x .= new(…) | 04:31 | |
my Buf $x .= new: …; # Also, I think | 04:32 | ||
MasterDuke | namibj: this is a slow time for the channel (many of the members are in europe), and i'm heading to sleep myself, might want to check back in a couple hours if nobody else chimes in | ||
namibj | The list of commands currently supported by the rclone deamon starts at rclone.org/rc/#supported-commands on the above page. | 04:33 | |
MasterDuke: I'll head to bed soon anyway, to try and fall asleep before sunrise... | 04:34 | ||
MasterDuke: with check back, do you mean restate the problem/question, or just lurk around for a comment/answer (i.e., should I assume those currently sleeping to read the backlog or should I assume they won't read the backlog)? | 04:36 | ||
ToddAndMargo | Thank you | ||
04:41
m0ltar left
|
|||
ToddAndMargo | Another question: in type Buf is 0x00 called a "nil". Or is nil still a unicorn term? | 04:41 | |
04:44
m0ltar joined
|
|||
lucs | I guess you could call it a NUL byte (or Null or something), à la ASCII, but don't confuse it with Perlsix's class Nil. | 04:46 | |
ToddAndMargo | I though so. Thank you for the confirmation. | 04:52 | |
On subbuf, I noticed that `$x.subbuf(1..3)` and `$x.subbuf(1,3)` ar the same thing. Is there a cyntax to pick and choose which elements not in a row? | 04:54 | ||
lucs | Since a Blob 'does Positional', you can use the [] operator: | 05:00 | |
m: my Buf $x .= new: 0x55, 0x66, 0x77; say $x[0,2] | |||
camelia | (85 119) | ||
05:02
w17t joined
|
|||
lucs | (Er, and a Buf 'does Blob') | 05:02 | |
05:03
volkov left
|
|||
ToddAndMargo | `say` allow for that. I was asking about copying from one Buf to another. | 05:06 | |
05:07
w17t left
05:09
w17t joined
|
|||
lucs | Hmm... Dunno. | 05:11 | |
05:12
reach_satori joined
|
|||
namibj | m: my Buf $x .= new: 0x55, 0x66, 0x77; for $x[0,2] -> $y {say $y ;} | 05:14 | |
camelia | 85 119 |
||
ToddAndMargo | Thank you | 05:15 | |
namibj | unless i'm that bad at converting between hex and decimal, this appears to be independent of say as far as the $x[0,2] goes | ||
it appears to create a list. | |||
lucs | ToddAndMargo: Oh, this maybe: | 05:16 | |
m: my Buf $x .= new: 0x55, 0x66, 0x77; my Buf $y .= new: $x[0,2]; say $y | |||
camelia | Buf:0x<55 77> | ||
lucs | Okay, going to bed. Have fun folks! | 05:18 | |
lucs & # ZZ | |||
namibj | for your performance I'd hope though that the intermediate list passed from the [] operator to Buf.new get's elided... | 05:21 | |
otherwise you'll have some nice allocation overhead (at least they'd not last long and thus not tax the GC much) | 05:22 | ||
05:24
aindilis left
05:25
aindilis joined
05:26
lmy9900 joined,
nickYang joined
05:28
molaf joined
05:29
nickYang left,
lmy9900 left,
vrurg left
05:37
kurahaupo joined,
kurahaupo left
05:39
kurahaupo joined,
kurahaupo left
05:40
kurahaupo joined
05:51
ToddAndMargo left,
Actualeyes left
05:53
Actualeyes joined
05:58
ferreira joined
06:00
curan joined
06:07
abraxxa joined,
abraxxa left
06:08
abraxxa joined
06:11
abraxxa left,
abraxxa joined
06:16
abraxxa left
06:29
abraxxa joined
06:32
molaf left
06:34
sauvin joined
06:50
kurahaupo left
06:52
sno left
07:02
cpan-p6_ left,
cpan-p6 joined
07:03
cpage_ joined
07:05
cpage left,
cpage_ is now known as cpage
07:13
Grauwolf joined,
Grauwolf left,
Grauwolf joined
07:14
domidumont joined,
ravenousmoose joined
07:16
ravenousmoose left,
ravenousmoose joined
07:28
sno joined
08:09
ufobat_ left
08:23
rindolf joined
|
|||
namibj | just in case I'll mention that I spend most of the past 3 hours not finding a way to do tree grammar mostly-seamless in the normal grammar. | 08:37 | |
I'd really like to have this unified specification that matches formats that are mixed folder structure/file content, e.g. wether a folder with a CUE sheet in it and some FLAC files next to it is consistent, or if the length of the flac files as extracted/aggregated from it's internal streaming container metadata does not match up with the length specified/implied by the CUE sheet. | 08:43 | ||
08:46
leont joined
08:51
rindolf left
08:52
kurahaupo joined,
ravenousmoose left
08:53
ravenousmoose joined
08:54
rindolf joined
|
|||
namibj | That example would obviously use a custom matcher method to compare the aggregated metadata from the flac files with the list extracted from the CUE sheet, but it would still combine far more idiomatic than more traditional approaches with their custom path strings or DOM::Tiny's usage of custom-ish css_selector-derived query methods | 08:54 | |
09:04
domidumont left
09:06
domidumont joined
09:09
rindolf left
09:11
kurahaupo left
09:14
rindolf joined
09:16
dakkar joined,
scimon joined
09:19
kurahaupo joined
09:21
leont left
09:27
rindolf left
09:42
kiwi_18 joined,
kiwi_18 left
09:44
rindolf joined
09:45
zakharyas joined
09:46
tyil left
09:48
cpan-p6_ joined
09:49
Sno84 joined
09:51
Sno84 left
09:53
kensanata joined
09:56
cpan-p6 left
09:59
tyil joined
10:11
kurahaupo left
10:12
kurahaupo_ joined
10:19
kurahaupo joined
10:20
kurahaupo_ left
10:39
sauvin left
10:41
sauvin joined
10:43
kurahaupo left
10:50
lizmat joined
10:59
ravenousmoose left,
ravenousmoose joined
11:03
ravenousmoose left
11:07
dogbert2_ joined
11:09
domidumont left
11:12
reach_satori left
|
|||
Kaiepi | finally got my block cipher mode library to work! | 11:44 | |
ecb's the only mode supported atm but the other modes should be easier to add now that the base of the library's done | 11:45 | ||
namibj | Kaiepi: congrats. Any plans for AEAD cyphers? i.e., GCM or so? | 11:50 | |
11:50
pmurias joined
|
|||
pmurias | MasterDuke: the one suspicious thing in your rakudo PR is that you change the $*INTERPOLATION to $*INTERPOLATE | 11:51 | |
MasterDuke: at a glance it seems that it's a legit bug fix | 11:52 | ||
Kaiepi | not atm namibj | ||
i'm focusing on this, cast5, and des3 so i can implement encryption support for my telnet library | 11:53 | ||
12:03
AlexDaniel left
12:08
ravenousmoose joined
12:18
zakharyas left
12:19
lizmat left
12:20
lizmat joined
12:25
RubioTerra joined
|
|||
Altreus | what's the routine to turn a hex string into an integer? | 12:25 | |
I'm finding my main objection to the name perl6 is search engines like to ignore the 6 | |||
12:27
MasterDuke left
12:36
ufobat joined
|
|||
ufobat | hey :) | 12:38 | |
how does <foo=bar> in grammars work? | |||
github.com/ash/lingua/blob/master/...mmar.pm#L8 <- example of it | |||
I wasn't able to find it in the documentation :-( | |||
masak | ufobat: calls the subrule `bar`, but assigns to the match key `foo` | 12:42 | |
so that it's later accessible as $<foo> | |||
(hi, #perl6) | |||
ufobat | it is not neccessarry to have a rule foo, in my example? | 12:43 | |
masak | no, it's just the name of a key | ||
ufobat | thank you, masak | ||
masak | S05 has some wording on it being equivalent to `$<foo> = <bar>` or sump'n like that | 12:44 | |
masak is still very much a synopses fan | |||
ufobat | how it it called, this feature? because i think it's not documented, i want to create an issue for it | ||
masak | "named capture" | 12:45 | |
(to distinguish it from "positional capture", which is what the parentheses do) | 12:46 | ||
yup, see S05:1437. "the identifier is taken as an alias for what follows" | 12:47 | ||
synopsebot | Link: design.perl6.org/S05.html#line_1437 | ||
masak kisses synopsebot on the forehead | |||
ufobat | ah it looks differently in regexed then in gammars | 12:48 | |
masak | ...no...? | 12:49 | |
ufobat | the shorthand in grammars looks/is different to what is documented in Regexes docs.perl6.org/language/regexes#Named_captures | 12:50 | |
it is not documented in Grammars at all | |||
12:50
markoong joined,
cpan-p6_ left
|
|||
masak | ah | 12:50 | |
12:51
cpan-p6 joined
|
|||
masak | m: sub bar {}; sub infix:<foo>($l, $r) { "oops" }; say(4 foobar) | 12:52 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> 3nfix:<foo>($l, $r) { "oops" }; say(4 foo7⏏5bar) |
||
masak | Perl 6 requires a word boundary after operators that end in an alphanumeric. | 12:53 | |
(that's good, I think) :) | |||
I just wanted to check because this is a problem that I discovered independently and am currently fixing in 007 | 12:54 | ||
12:55
Kaiepi left
12:57
RubioTerra left
|
|||
ufobat | another question, in lingua the | (pls see github.com/ash/lingua/blob/master/...m#L15-L18) | 12:59 | |
is the | a "longest alternation"? | 13:00 | ||
i am wondering why there is a | in front of the first possibility | |||
masak | ufobat: S05 explains that also. it's just for symmetry, in case one wants to write out the alternations each on its own line | 13:02 | |
so an initial `|` is permitted, but ignored | |||
Altreus | actvity! | 13:04 | |
Quick | |||
someone answer my question about hex :) | |||
timotimo | also, since empty regexes aren't allowed, it can't be confused for "the first alternative is just the empty string" | 13:05 | |
masak | S05:2713 | ||
synopsebot | Link: design.perl6.org/S05.html#line_2713 | ||
timotimo | Altreus: you probably want :16(...)? | 13:06 | |
m: say :16<ABCD001> | |||
camelia | 180146177 | ||
masak | timotimo: yes, good point. in fact, that might be (a fair chink of) the reason empty regexes are not allowed | ||
Altreus | ah | 13:07 | |
where is that documented? | |||
timotimo | masak: i didn't dare suggest there was a causation either way there :) | ||
Altreus: docs.perl6.org/language/5to6-perlfunc#hex - here for example :) | 13:08 | ||
Altreus | ah 5to6 is a good thing to bookmark | ||
timotimo | searching for "base" gives you docs.perl6.org/routine/base which also links to docs.perl6.org/routine/parse-base which also links to docs.perl6.org/syntax/Number%20literals ... which is a 404 :o | ||
ufobat | thanks again masak | ||
Altreus | m: say "0a".base(16) | 13:09 | |
camelia | No such method 'base' for invocant of type 'Str'. Did you mean any of these? Hash asec hash take in block <unit> at <tmp> line 1 |
||
Altreus | uh | ||
oh wait that's for int->str | |||
> the same result can be achieved by using the .base method | |||
timotimo | docs.perl6.org/language/syntax#ind...iterals%29 - this is probably the intended target, but it only mentions the :16<A0> thing in passing | ||
Altreus | This would appear to be the opposite result | ||
m: say 0x0a.base(32) | 13:10 | ||
camelia | A | ||
Altreus | yeah that's definitely Int->Str, whereas :16 is Str->Int | ||
timotimo | m: say 0xaf.base(10) | ||
camelia | 175 | ||
timotimo | m: say 0xaf.base(10).^WHAT | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use .^ on a non-identifier method call at <tmp>:1 ------> 3say 0xaf.base(10).^WHAT7⏏5<EOL> expecting any of: method arguments |
||
timotimo | er | ||
m: say 0xaf.base(10).WHAT | |||
camelia | (Str) | ||
Altreus | m: say :16("0a").WHAT | 13:11 | |
camelia | (Int) | ||
masak | timotimo: I think there were many things pushing towards "null regex is disallowed", to be honest. (for some reason I always picture TimToady and TheDamian hashing out A05 in front of a whiteboard.) | ||
timotimo | yeah, you can pullrequest or directly change that :) | ||
also correct the link i mentioned that 404s if you'd like :) | |||
Altreus | cor | ||
I wonder what the 404 should be | 13:12 | ||
masak | timotimo: I think the "Nothing is illegal" decision stems, on a higher level, from the recongition that regexes are more of their own language, and so things should behave more as terms and operators do in real languages | ||
timotimo: there was also a time when `2..` meant what we now write as `2..Inf` or `2..*` -- but that syntax died off along the way, for what I think was similar reasons | 13:13 | ||
timotimo | Altreus: got the right link a few lines down | ||
cool, so postfix:<..> is free for... sillyness :) :) | 13:14 | ||
oh, btw, you're potentially the right person for this | |||
i've made an operator for what i later learned is called "method cascading" | |||
but i implemented it as a postcircumfix | |||
gist.github.com/timo/44efb53aa1368...d1656c8aa9 | |||
13:14
lucasb joined
|
|||
timotimo | i would like a suggestion for a less obscure pair of characters :) | 13:14 | |
masak | timotimo: sorry, I can't view gists easily from where I am currently (.cn) | 13:15 | |
timotimo | oh! | ||
masak | but if I get your meaning, you should know that there's a 007 issue for this :P | ||
timotimo | sub postcircumfix:<⦓ ⦔>($a, &code) { my $b = $a; code($a); $b }; | ||
masak | let me dig it up for you | ||
timotimo | "foobarbaz".comb.Array⦓*.splice(3,1,"X")⦔.join.say; | ||
that's essentially all there is to it, plus an explanation what it does and what it's for for people/from people who haven't heard of method cascading yet | |||
though tbf my approach allows for more than just methods to be used! :D | 13:16 | ||
13:17
ufobat left
|
|||
Altreus | with those characters it doesn't allow for anything to be used :D | 13:18 | |
but they are pretty sweet | 13:19 | ||
timotimo | pfft, you can always go to that gist and copypaste! | ||
Altreus | they look like hyperspace | ||
Geth | doc: Altreus++ created pull request #2612: Correct description of `hex` |
||
Altreus | oh thanks | ||
masak | timotimo: not exactly what I expected it to be :) | 13:21 | |
Altreus | Geth: botsnack | ||
aw | |||
masak | timotimo: but just in case it helps, here: github.com/masak/007/issues/221 | 13:22 | |
timotimo | yeah, it's the same concept, but without macros i had to have a place to stick a WhateverCode or similar callable, and that forced me to use some kind of circumfix | 13:23 | |
masak | (sorry) | 13:24 | |
timotimo | don't be; limitations can cause creativity :) | ||
masak | but also -- let me precommit on this, for once -- I expect to blog this week about lexical variables and macros. a tasty treat for everyone who is still looking forward to macros in Rakudo :> | 13:25 | |
timotimo | \o/ | ||
i'll eventually have to blog about my experiments with bringing together Image::RGBA::Text and SDL2::Raw | |||
did you see my little video? | |||
did i even post it here ... | |||
oh no! it's potentially blocked in .cn | |||
cdn.discordapp.com/attachments/538...-53-17.mp4 | |||
masak | I'll say this in the blog post, but my 4-years-and-counting journey with macros could easily be construed as a journey to discover how central and vital lexical lookup is | 13:26 | |
(actually, I've battled with macros for longer than taht, but 007 is 4 years old now) | 13:27 | ||
timotimo | hack.p6c.org/~timo/rotating_coins.mp4 | ||
13:32
Kaiepi joined
|
|||
masak | couldn't reach either of those, sorry | 13:34 | |
access here is really sovereign | |||
timotimo | right | ||
masak | I'm sure I would've lover your rotating coins, though | 13:35 | |
loved* | |||
timotimo | they're my coins! :o | 13:36 | |
gist.github.com/timo/20cdc50dbf10f...93cd02d92d | |||
since you appear to be able to reach github :) | |||
if you can't see the video, you can at least see the source data for the coins themselves %) | 13:37 | ||
13:39
w17t left
|
|||
masak | I can reach github but not gists :/ | 13:39 | |
lucasb | can't get to the gist of it | 13:42 | |
13:42
zakharyas joined
13:43
gregf_ joined
|
|||
timotimo | argh | 13:44 | |
masak | I usually take the strict limiations as a hint that I should focus more heavily on producing (code and writing) rather than consuming (youtube, twitter, etc) | 13:45 | |
Altreus | hack.p6c.org refused to connect. | 13:49 | |
:x | 13:50 | ||
just me? | |||
timotimo | works for me :\ | 13:51 | |
not over https, though | |||
masak: try without https! maybe that helps | |||
masak tries | 13:53 | ||
moritz | it looks like I never set up HTTPS for hack, since all the interesting websites are on www.p6c.org | 13:56 | |
if anybody want's some fun with Let's Encrypt and Apache, feel free to do that :) | |||
I'll give you sudo | |||
masak | timotimo: nah, I'm just getting redirected to , which fails | ||
timotimo | um, huh? :o | 13:57 | |
moritz | what exactly are you trying, and why? | ||
timotimo | i'm trying to give an mp4 file to masak, who currently hangs out in china | 13:58 | |
moritz | eeks | ||
masak | yeah. might have to wait a few weeks with that one. | 13:59 | |
Geth | doc: 6e75999c81 | (Alastair Douglas)++ (committed using GitHub Web editor) | doc/Language/5to6-perlfunc.pod6 Correct description of `hex` It is incorrect to say that `.base` is an alternative to `:16`, since `:16` is Str -> Int and `.base` is Int -> Str. Reworded to be more correct. |
14:02 | |
synopsebot | Link: doc.perl6.org/language/5to6-perlfunc | ||
doc: d3427f897b | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/5to6-perlfunc.pod6 Merge pull request #2612 from Altreus/patch-1 Correct description of `hex` |
|||
Altreus | I'm a helper | ||
14:02
kurahaupo joined
|
|||
Altreus | i didn't get around to the other thingy | 14:02 | |
timotimo: yeah that was https. I clicked your link | 14:03 | ||
14:22
skids joined
|
|||
timotimo | yeah i accidentally just wrote https out of habit | 14:25 | |
14:29
leont joined
14:32
curan left
14:58
w17t joined
15:02
rindolf left
15:06
rindolf joined
15:12
vrurg joined
15:33
molaf joined
15:35
jme` left
15:42
yqt joined
15:48
cpan-p6_ joined
15:50
cpan-p6 left
15:54
sena_kun joined
|
|||
Geth | doc: 39b2ef60e3 | Coke++ | doc/Language/5to6-perlfunc.pod6 whitespace |
15:56 | |
synopsebot | Link: doc.perl6.org/language/5to6-perlfunc | ||
16:08
molaf left
16:13
jmerelo joined
|
|||
jmerelo | Hi | 16:14 | |
16:14
kurahaupo left
|
|||
jmerelo | Anyone knows if there has been some application of Perl for the Google Summer of Code rejected? | 16:14 | |
16:14
kurahaupo joined
16:15
AlexDaniel joined
|
|||
moritz | yes | 16:16 | |
16:17
patrickb joined
16:18
ravenousmoose left
|
|||
jmerelo | moritz: which one? | 16:21 | |
moritz | the year after our last successfull application | ||
16:21
ferreira left
16:23
zacts joined
|
|||
jmerelo | That would be 2015 | 16:30 | |
Any other you remember? | |||
moritz: We're about to submit the application, a few hours from now | 16:32 | ||
moritz: you've been involved in others. | |||
moritz: Anything you think we should take into account? | |||
16:35
eseyman left
16:36
eseyman joined
|
|||
moritz | jmerelo: no; i was never involved with the application process, only with mentoring later on | 17:05 | |
and project reviewing | |||
17:08
ferreira joined
17:09
skids left
17:11
reach_satori joined
17:19
pmurias left
|
|||
jmerelo | moritz: that's the involvement I was refering to | 17:20 | |
moritz: any idea why some projects didn't succeed? | |||
There's not a too high failure rate, but high enough. | 17:21 | ||
17:23
skids joined
17:27
scimon left
17:30
kensanata left
17:31
domidumont joined
17:39
kurahaupo left,
kurahaupo_ joined
17:43
ferreira left,
ufobat joined
|
|||
jmerelo | Application to Google Summer of Code submitted | 17:44 | |
Answer by Feb 26th | |||
17:47
kurahaupo_ left,
kurahaupo joined
17:55
dakkar left
18:02
volkov joined,
robertle joined
18:04
kawaii left
18:08
zacts left
18:10
volkov left
18:19
ferreira joined
18:26
ferreira1 joined,
ferreira left
18:32
abraxxa left
18:33
skids left
18:35
skids joined
18:52
zakharyas left
18:58
sno left
19:07
zacts joined
|
|||
namibj | i'll repost from last night, as no one actually answered: | 19:09 | |
19:10
sno joined
|
|||
namibj | I'm trying to write a client for communication with the rclone.org/rc/ daemon-mode (via HTTP), so that I can use perl6 to organize/schedule/automate archiving | 19:10 | |
Can anyone with more experience suggest suitable naming/structuring? | |||
The list of commands currently supported by the rclone deamon starts at rclone.org/rc/#supported-commands on the above page. | 19:11 | ||
just in case I'll mention that I spend most of the past 3 hours not finding a way to do tree grammar mostly-seamless in the normal grammar. | |||
I'd really like to have this unified specification that matches formats that are mixed folder structure/file content, e.g. wether a folder with a CUE sheet in it and some FLAC files next to it is consistent, or if the length of the flac files as extracted/aggregated from it's internal streaming container metadata does not match up with the length specified/implied by the CUE sheet. | |||
That example would obviously use a custom matcher method to compare the aggregated metadata from the flac files with the list extracted from the CUE sheet, but it would still combine far more idiomatic than more traditional approaches with their custom path strings or DOM::Tiny's usage of custom-ish css_selector-derived query methods | 19:12 | ||
19:18
sauvin left
|
|||
sena_kun | namibj, can you please clarify a bit what do you mean by "naming/structuring"? In short, it seems like you want a client that can form&do HTTP requests/responses of certain format, right? | 19:19 | |
You probably want to start with defining some CLI API of your client with stubs under actions, eventually moving to implementing request forming and network part implementation. | 19:22 | ||
Sorry, I am not familiar with rclone, so not sure how validation is placed in this schema. | 19:23 | ||
19:23
reach_satori left,
reach_satori joined
|
|||
lizmat | jmerelo++ # GSoC | 19:24 | |
samcv | . | 19:26 | |
yoleaux | 29 Jan 2019 18:55Z <patrickb> samcv: Could you split your two proposals into two separate files? | ||
29 Jan 2019 18:55Z <patrickb> samcv: Also can you add some contact information next to your name in the idea file? | |||
4 Feb 2019 11:37Z <AlexDaniel> samcv: colabti.org/irclogger/irclogger_lo...02-04#l153 | |||
patrickb | samcv: I've done it already. | 19:27 | |
samcv | ok great :) | 19:28 | |
i have been without internet. as it is not yet working at my new apartment | |||
19:29
Kaiepi left
19:32
zacts left
|
|||
jmerelo | lizmat: it will be great if it's accepted. Hope so. | 19:40 | |
19:51
reach_satori left
|
|||
sena_kun | NativeCall question: I get how to create a signature for a function that takes a callback pointer, but how can I represent a callback pointer as part of a struct? | 20:01 | |
one of struct parts is: `int (*proc)(void);`, so my code has to be, like, `class Foo is repr('CStruct') { #`[ previous struct items here... ] has ??? }`? | 20:02 | ||
`has &.proc:(--> int);` maybe? | 20:03 | ||
20:03
Ven`` joined
20:07
jmerelo left
20:12
dvdl joined
|
|||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/02/06/...5-skipped/ | 20:15 | |
20:21
zachk joined
20:22
zachk left,
zachk joined
|
|||
namibj | sena_kun: what do you mean with validation "in this schema"? | 20:23 | |
lizmat goes back to getting better& | 20:24 | ||
20:28
yqt left
20:32
Kaiepi joined
|
|||
sena_kun | namibj, schema == "overall architecture of your module/script/app". by "validation" I meant your example of some matching by spec you provided. | 20:33 | |
namibj | sena_kun: I specifically need someting that can send these commands to the rclone deamon, because the deamon does some api token caching, directory listings caching and most importantly rather sane remote-specific rate-limiting. | 20:35 | |
20:40
zacts joined
|
|||
namibj | Also it's somewhat easier to manage disk-io-threadcount if it's all in a single natively-multithreaded deamon, which gives much better disk throughput if you use more than one stream (tradeoff between tcp window_size/packet_loss_backoff induced throughput limits and the hdd_throughput degradation you get from more than one individually sequential read/write streams) | 20:40 | |
. | |||
Altreus | Is there a magic variable that knows the current loop index? | 20:42 | |
sena_kun | namibj, sorry, not sure I am qualified enough to help with this. | 20:45 | |
Altreus, won't state variable do the job? Not sure about magical one. | 20:47 | ||
Altreus | Just wondered if it were built-in | ||
Thought it might be a feature of the Label object or something | 20:48 | ||
sena_kun | Altreus, how do you terminate the loop in question, by condition? | 20:49 | |
m: my $a = 0; loop (my $i = 0;; $i++) { say "$i: {$a++}"; last if $i == 10 } | 20:51 | ||
camelia | 0: 0 1: 1 2: 2 3: 3 4: 4 5: 5 6: 6 7: 7 8: 8 9: 9 10: 10 |
||
sena_kun | you may move the codition to form something like this, but it looks like foot shooting for me, so don't use it. :) | ||
namibj | The overall architecture of the whole system is to get info on things that need to be processed, mostly via matching strings in specific IRC channels (potentially also requiring semi-special authentification to a bot on that IRC network to access channels) | 20:52 | |
Altreus | I'm confused by the question | ||
It's like you asked about the question I haven't asked yet | |||
oh when I said loop I meant generic loop concept, i.e. for loop | 20:53 | ||
I wanted it for debugging because I have *another* issue whereby next does not appear to be nexting | |||
sena_kun | Altreus, a-a-a-a-ah. Not kind of "a-a-ah" as in "I know, there is a magic variable", but "It changes things". | ||
for `for` you can do `.kv -> $i, $item` | 20:54 | ||
for example | |||
Altreus | I realise I can also ... yeah | ||
:kv I think | |||
sena_kun | .kv too | ||
namibj | or also from other sources, like maybe rss feeds or polling an API/website for a forum mailbox | ||
. | |||
Altreus | oh right cool | ||
sena_kun | namibj, I may be wrong, but I wonder if it can be done with a bunch of source/transformer/sink implementations... Can you glance over cro.services/docs/approach to see if it sounds helpful? Just note that "network" is not mandatory part. | 20:56 | |
you can stream events from io and sink those into some Sink that doesn't deal with network. | |||
right out of the box Cro mostly supports network protocols, but its core is just about building reactive microservices that produce/transform/receive arbitrary data. | 20:59 | ||
21:01
zacts left
|
|||
ufobat | i started my first baby-scheme interpreter :D | 21:01 | |
sena_kun | ufobat, not the Haskell one? ^^' | 21:02 | |
namibj | It then extracts metadata if available/possible, prioritizes the items according to some rules/quotas/predicted_rate_limits/storage_space, stores this metadata and any queing control information required in a transactional datastore (to guard against kernel-update-induced system reboots) | ||
ufobat | i wanted to parse something easy :p | ||
namibj | , and dispatches items to one of a few state machines, depending on item type, source, metadata and queing priority information | 21:03 | |
sena_kun | ufobat, oh, sorry, I mean there is a famous(I think, famous for _some_ people :) ) tutorial that implements some micro-Scheme in Haskell in a concise way. | ||
Altreus | here's my weird loop problem gist.github.com/Altreus/09df5154ce...68bbf5dd74 | 21:04 | |
ufobat | I cant read haskel :-( | 21:05 | |
Altreus | The loop on line 27 of ofx2ledger should *not* be able to run both line 30 and line 39 | ||
ufobat | but i found a similar pyhton tutorial for doing it :-) | ||
Altreus | And yet it does, per the output | ||
ufobat | i also dont know (much) scheme, i can write ma .emacsrc and that's it | ||
namibj | that state machine (one instance per item, potentially with nested_sub_instances spawned for compound items) handles for most cases fetching the item itself, extracting_further_metadata/thumbnail_generation/processing (some processing might be conditional on succesfull/sufficiently_unambiguous metadata extraction) | 21:07 | |
21:07
kawaii joined
|
|||
sena_kun | lizmat, ping? | 21:09 | |
namibj | , followed by sorting the usually_complete_but_sometimes_possibly_non-completable according to the accumulated metadata. | 21:10 | |
sena_kun | .tell lizmat thanks for a wonderful weekly! I believe that in twitter section, second tweet "motto" should be "Other ways to" instead of "Other was to". | 21:11 | |
yoleaux | sena_kun: I'll pass your message to lizmat. | ||
namibj | It finishes by transferring the possibly_processed data to one or more archives, maybe in the future also automatically initiating a transfer of the data to e.g. the local device that initiated fetching of this specific item, i.e. manually on a laptop requesting "that item" to be fetched and transferred back to the laptop once the server (my perl6 deamon) finished grabbing it. | 21:16 | |
21:16
drolax joined
21:17
dvdl left
|
|||
Altreus | anyone able to reproduce my loop weirdness? | 21:17 | |
namibj | Maybe, in some cases, even more in the future, starting the transfer to the laptop before it's finished, by specifically transferring those chunks/parts the server already has | ||
One fetching deamon would lilely be rtorrent, which offers XML-RPC (I don't recall whether it's conforming to some specific standard, but I do know that it's not really documented nearly as well/centralized as the rclone deamon) | 21:20 | ||
21:20
robertle left
|
|||
TreyHarris | Erm... github.com/perl6/doc/issues/2614 "Cool isn't cool" | 21:21 | |
I assume we just close this one? | |||
Altreus | p sure there's a reason for that name but I don't remember what it is | ||
timotimo | convenient OO loops? | 21:22 | |
loopbacks, or something | |||
AlexDaniel | something something | ||
timotimo | also, "i'm cool with that method" | ||
TreyHarris | "It's cool with whatever" | ||
AlexDaniel | TreyHarris: it's not a doc issue, so it should be moved… and then closed :D | 21:23 | |
actually I love that ticket | |||
TreyHarris | Agreed, writing a reply. Should I refer them to p6-l or elsewhere if they want to continue the plea somewhere it might be dealt with? | 21:24 | |
namibj | over iirc HTTP, iiirc officially preferring an unix domain socket for security against adversaries able to e.g. <<curl [::1]:7575/api/v2>> with a XML_formatted RPC request in the POST body | 21:25 | |
. | |||
21:27
pecastro joined
21:28
keeshanam joined
21:30
domidumont left
21:31
lizmat left
21:32
Ven`` left
|
|||
namibj | sena_kun: I'll now start reading what you and possibly others wrote in the time I was condensing my concepts into the many long messages above, which you may or may not have read (I'm not mad if ypu don't, but I do plan to open_source the clients for the deamons (rclone, rtorrent, maybe_some_non_native_irc, maybe_in_the_future tox.chat ) | 21:36 | |
21:36
molaf joined
21:37
keeshanam left
|
|||
sena_kun | namibj, I read those, but I wonder if the whole thing demands high performance from the code. | 21:37 | |
and if yes, Perl 6 might be not the best bet if you don't want to spend time on optimization. also you have to be likely ready to write some libraries in case something is missing for your task(and hopefully contribute those to ecosystem :) ). Not something to be afraid of, but there is no e.g. maven-scale number of libraries for everything. | 21:39 | ||
namibj | sena_kun: I now understand the confusion you experience(d) w.r.t. how the problem I want to try and tackle with tree_grammar, as well as the specific approach, is related to the rclone_deamon client. | 21:40 | |
21:42
molaf left
21:44
lucasb left
|
|||
namibj | Both topics are part of the same app, but I don't see a limitation as far as parsing/generating the JSON from/for the rclone_daemon with string_grammar/json_to_and_from_perl6_object/manual_hash_construction is concerned. | 22:07 | |
22:13
kurahaupo left,
kurahaupo joined
|
|||
namibj | sena_kun: on your NativeCall issue from above: Did you consider using inline C (as a slang, like inline Lua or perl5) to declare the struct, so that you don't have to translate the function signatures in your C header file(s) into this "weird" perl6 syntax? | 22:15 | |
sena_kun | eco: Inline::C | 22:16 | |
ugh, never mind. | |||
timotimo | Inline: :( | ||
namibj | ufobat: the issue with reading Haskell is in large part due to heavily-typed-multiple-dispatch operator-specific associativity | ||
sena_kun | namibj, I don't think there is Inline::C module, is there? | 22:17 | |
sena_kun .oO ( this inline will be always somewhat unhappy with something ) | |||
namibj | i.e., custom operators can and will choose themselves whether they are right or left associative and iirc also (within more reason than right vs. left; thank $diety) operator precedence | 22:18 | |
this basically means that you can't just learn base language spec and then correctly parse common, in-the-wild haskell code by hand ad-hoc into a naive evaluation-order AST | 22:19 | ||
TreyHarris | namibj: Maybe that's why use of the `$` and `.` operators seems to be so much higher in Haskell than their counterparts in those other non-Haskell-family functional languages that have them? | 22:23 | |
22:24
rindolf left
|
|||
Harzilein | namibj: there's a certain variant of inline c that i liked even more, coming from unreadable pack/unpack... specifically the one used in the fastcgi spec. it's a bit verbose but _very_ clear | 22:24 | |
namibj: it uses suffixes for the field names to indicate byte order and size. | 22:25 | ||
namibj | apart from that, haskell isn't that hard. important is mostly that you grok currying, including how associativity affects whether a function get's passed itself, or whether it's result is passed, and then you need to consider parenthesis, the brackets-create-lists syntax akin to iirc python, and the mighty "$" which changes the iirc default chain-functions-like(my $tmp = &identiy_function; for | 22:26 | |
$list_of_identifiers -> $func { $tmp = $tmp.apply($func) ;}; return $tmp ; | |||
TreyHarris | github.com/FROGGS/p6-Inline-C exists... it hasn't seen a commit in 2 years, but that may mean It Just Works? | 22:28 | |
namibj | TreyHarris: AlexDaniel timotimo i assume "Cool isn't cool" tries to advise caution against abusing methods of the Cool class on objects for which these methods behave unintuitively | 22:29 | |
I.e., cautioning against Cleverness/code-golfing/accitental-obfuscation when using these methods in un-ideomatic ways | |||
TreyHarris | namibj: I think you may be assuming too much, based on the other tickets they have submitted. They've generally been language-design issues being opened against the docs for some reason | 22:30 | |
Since Cool is the mutual superclass of Num and Str, I don't think you need to approach it with more caution than you think about whether Perl 5 is treating a value as a string or a number---that is, you should be cautious, but it DWIMs far more often than it doesn't | 22:32 | ||
namibj | sena_kun: the only part that could potentially be actually cpu-heavy after structuring the code to prevent unnecessary evaluation (i.e., not using breath-first search in a deep tree when the search will finish after only a couple leaf nodes have been inspected) | ||
22:40
drolax left
22:42
skids left
|
|||
namibj | would be the out-of-order transfer of an item that is still downloading. And that feature, while certainly with it's real-world value proposition, is one I can 1) live without for the time being, and 2) implement in something else, considering that I'd probably want the matching client to be light-weight (<20 MiB binary tarball; <5 MiB non-file-backed-mmap (not counting potentially required receive buffers | 22:44 | |
for Reed-Solomon/Fountain-Code FEC (Forward error correction) to optionally offer _way_ tighter 99th percentile latency bounds in cases of packet loss. | |||
I might go directly for NaCl + SIMD_FEC_(de/en)coding from Rust or so for a more general packet_loss/chunk_availability-tolerant file transfer tool. | 22:47 | ||
22:50
lizmat joined
|
|||
lizmat | . | 22:50 | |
yoleaux | 21:11Z <sena_kun> lizmat: thanks for a wonderful weekly! I believe that in twitter section, second tweet "motto" should be "Other ways to" instead of "Other was to". | ||
lizmat | done! | ||
sena_kun++ | |||
sena_kun | \o/ | ||
lizmat++ # weekly | 22:51 | ||
22:53
mowcat joined
|
|||
namibj | sena_kun: I\m reasonably confident to have spottet something about inline C github.com/FROGGS/p6-Inline-C seems to do the inline part, and github.com/CurtTilmes/perl6-tcc seems to offer low-ish latency/dynamic C interop. | 22:54 | |
I have to say though, that none of those seems to obviously offer deducing function signatures from their C code. | 22:55 | ||
sena_kun | well, I'd go with just NativeCall, I think, both of those don't seem as easier options for me, unfortunately. :) | 22:57 | |
but I wonder why Inline::C isn't listed in the ecosystem. And looking at its issues it's broken right now. :S | 22:58 | ||
afk | |||
22:59
reach_satori joined
|
|||
Altreus | discovered my gist from before doesn't run | 23:01 | |
:P | |||
it does now. Results are repeatable. | |||
I can't understand why lines 30 and 39 clearly both run on iteration number 2. gist.github.com/Altreus/09df5154ce...68bbf5dd74 | 23:02 | ||
it should be impossible for them both to run | 23:03 | ||
at least, if they can both run, they should always both run | |||
oh wait they do | 23:04 | ||
the streams aren't synchronised | |||
in that case, my question is, why doesn't next skip the rest of the loop? | |||
23:05
cpage_ joined,
patrickb left
|
|||
namibj | sena_kun: this one, while currently showing Build:Failing, appears to offer a way to properly implement C struct introspection by feeding the C code to libllvm and allowing traversal of the generated AST: modules.perl6.org/dist/Libclang:cp...I/examples | 23:06 | |
23:07
cpage left,
cpage_ is now known as cpage
23:08
pecastro left
|
|||
namibj | sena_kun: regarding your case of cuntion-takes-struct (or was it object_is_CStruct-contains-function_pointer ?), check if modules.perl6.org/dist/Libclang:cp...perl6.c#L5 explains your difficuly with structs specifically | 23:08 | |
23:10
TreyHarris left
23:13
sena_kun left
|
|||
namibj | TreyHarris: I'm referring to cases of other classes usually_after_multiple_inheritance_layers offering methods from Cool without those really fitting this distant subclass intuitively. | 23:14 | |
23:15
TreyHarris joined
23:17
kawaii left
|
|||
namibj | Using these methods requires seeing the Object on a very abstract level, which can be an unnecessary burden on the reader | 23:17 | |
[repeated, as you were offline]TreyHarris: I'm referring to cases of other classes usually_after_multiple_inheritance_layers offering methods from Cool without those really fitting this distant subclass intuitively. | |||
23:20
notagoodidea joined
|
|||
namibj | Harzilein: I don't see why no one took the leap of throwing perl6 grammar at the relatively simple case of function signatures (without supporting macros or trigraphs), including deduction of struct-ordering/padding and ofc translating ABI-defined variable-sizes/representation (endianess; one's vs. two's complement) into a form suitable for | 23:25 | |
marshalling around NativeCall's | 23:26 | ||
23:52
MasterDuke joined
23:53
MasterDuke left,
MasterDuke joined
|