»ö« 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.
00:07 rindolf left 00:09 w_richard_w joined, SqrtNegI_ left 00:10 p6bannerbot sets mode: +v w_richard_w, w_richard_w left 00:14 lizmat left 00:40 vike left 00:43 vike joined, p6bannerbot sets mode: +v vike 00:49 Actualeyes joined 00:50 p6bannerbot sets mode: +v Actualeyes 01:12 leont left 01:30 cognominal-p6 joined, p6bannerbot sets mode: +v cognominal-p6 01:34 cognominal-p6 left, cognominal-p6 joined 01:35 p6bannerbot sets mode: +v cognominal-p6 01:51 lizmat joined, p6bannerbot sets mode: +v lizmat 01:53 cognominal-p6 left 01:57 nebuchadnezzar left, nebuchadnezzar joined 01:58 p6bannerbot sets mode: +v nebuchadnezzar 02:01 ryn1x joined 02:02 p6bannerbot sets mode: +v ryn1x
Xliff SmokeMachine: If you find one, please let me know. I'm in the US. We're in the same boat. :( 02:05
I've lived with mine for almost 2 years, and am hoping saner heads win the next election. 02:06
This week's Doctor Who had a pretty funny riff on the Trum type.
moony I seem to remember someone telling me about some issue with the composekey that occur. Now i can't get the compose key to function right sometimes in GTK apps. Anyone know the solution? 02:08
Xliff moony: Try this... 02:09
One sec
02:10 molaf left 02:11 finanalyst joined
Xliff moony: Prefix the app you want with this and see if it works: GTK_IM_MODULE=xim 02:11
02:12 p6bannerbot sets mode: +v finanalyst
moony ⬚⬚⬚. Works. Thanks 02:17
⚛!
02:19 canw joined 02:20 p6bannerbot sets mode: +v canw 02:22 canw left 02:23 molaf joined, [particle]1 left, p6bannerbot sets mode: +v molaf 02:24 [particle] joined
Xliff moony: :) 02:24
02:25 p6bannerbot sets mode: +v [particle]
ryn1x Is there a more concise way to write this?: with $chan.poll { if $_ { print $_ } } 02:28
Juerd if $chan.poll -> $x { print $x } 02:29
ryn1x ah that works. thanks! 02:30
I was trying this: if $chan.poll{ print $_ } 02:31
Juerd "if" doesn't set the topic like "with" does
You could do so explicitly: if $chan.poll -> $_ { print $_ } 02:32
Or, when using print as a method: if $chan.poll -> $_ { .print } 02:33
But personally I prefer setting a variable with a meaningful name. I used $x in this example because I don't know what kind of thing your channel would provide.
Also note that if $chan.poll{ print $_ } is missing whitespace after "poll", turning {} into a postcircumfix operator instead of if's block. 02:35
ryn1x ah yeah... that was just a transcrption error. it is working in the real code.
with a space
I am trying to figure out IPC with a python program using stdin and stdout. I have the Supply from the Proc::Async being tapped to a channel. Not sure if this is a good idea though... Playing around with reading and reacting to what is in the channel now... 02:38
02:42 avar left, avar joined, p6bannerbot sets mode: +v avar 02:43 nebuchadnezzar left, [particle]1 joined, [particle] left 02:44 p6bannerbot sets mode: +v [particle]1
AlexDaniel in a regex, how can I match a string returned from a block? <{ }> almost works but it EVALs (which I don't need), and $() doesn't work because I can't access already matched parts like $<foo> 02:44
m: my $x = ‘o’; say ‘oo’ ~~ /$<foo>=‘o’ <{ $<foo> }>/ 02:45
camelia 「oo」
foo => 「o」
AlexDaniel I need this but without <{ }>
02:47 [particle] joined, [particle]1 left 02:48 p6bannerbot sets mode: +v [particle] 02:55 marmay left 02:56 marmay joined, ellipsis left, Bucciarati left, p6bannerbot sets mode: +v marmay
SmokeMachine m: my $x = ‘o’; say ‘oo’ ~~ /$<foo>=‘o’ $<foo>/ # AlexDaniel ? 02:58
camelia 「oo」
foo => 「o」
AlexDaniel SmokeMachine: I need a code block 02:59
or, well, I want a code block :)
there's probably a way to do without but I'd much rather not
ryn1x I made a gist of a minimum working example of how I am trying to do some IPC. I have not done this before or learned about it at university/work yet... can somone tell me if this at all an appropriate approach? gist.github.com/ryn1x/2eb896216a42...4bfcbd8d7f 03:07
03:15 dotdotdot joined 03:16 p6bannerbot sets mode: +v dotdotdot 03:17 MasterDuke left 03:27 Bucciarati joined, p6bannerbot sets mode: +v Bucciarati 03:33 ufobat_ joined 03:34 p6bannerbot sets mode: +v ufobat_ 03:36 ufobat left
AlexDaniel ryn1x: what about the big example here: docs.perl6.org/type/Proc::Async 03:37
ryn1x: most parts of that example you probably don't need, so it will end up being shorter 03:39
ryn1x: but react/whenever is what you want to use, IMO
that way you can easily avoid infinite loops like the one in your example 03:40
03:43 fake_space_whale left
ryn1x AlexDaniel: thanks. not sure why I haven't played with that example yet... I was skipping around the docs looking for what I thought I needed and missed it... I haven't used react/whenever yet... looks cool 03:45
Is there any reason to choose $proc.put: 'command' or $proc.write: "command\n".encode ? Does binary vs UTF-8 matter for ipc to a program expecting commands via stdin? 03:58
03:59 Bucciarati left, avar left, Bucciarati joined, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 04:00 p6bannerbot sets mode: +v Bucciarati, p6bannerbot sets mode: +v avar
Xliff 70,000 lines!! 04:06
github.com/Xliff/p6-GtkPlus/commit...617bfcc9a4
ryn1x: react/whenever is an interesting construct. I've just recently started with it, myself. Using Proc::Async, as well. 04:07
AlexDaniel: That example formed the basis of the process monitor I am using to monitor my builds. 04:15
github.com/Xliff/p6-GtkPlus/commit...617bfcc9a4
Er... not that link 04:16
github.com/Xliff/p6-GtkPlus/blob/m...onitor.pl6
AlexDaniel ryn1x: it depends on what kind of data you are sending
if it's text then probably no need to use :bin
ryn1x AlexDaniel: ok, that's what I figued, just saw an example somewhere using write and then encode so wasn't sure what I was missing 04:17
AlexDaniel Xliff: I'm glad that people find that example useful. In my eyes it is way too complicated, but I don't know any easy way to simplify it 04:18
Xliff Well, there were a few traps I ran into, mostly due to my still-limited understanding of react/whenever. 04:19
For example, react is blocking, so it took me a minute to determine my $*SCHEDULER call needed to be BEFORE, not AFTER the block. 04:20
Would react/whenever work inside a Promise?
AlexDaniel what do you mean? Inside a promise? 04:22
Xliff my $proc = Proc::Async.new: :r, <my command here>; my $prom = start { react { whenever this { }; whenever that { }; whenever $proc.start { } }; 04:24
I wouldn't want to "await $prom" because the whole point is to make the react/whenever non-blocking
Or am I missing something? 04:25
AlexDaniel sure, that will work just fine
Xliff Cool! Thanks. 04:26
ryn1x AlexDaniel: Xliff: Ok.. so this react/whenever construct is interesting and I have it working, but if I wanted to leave a react block, do some other stuff, and come back to control my Proc::Async that is still running later, it seems that is not possible? 04:27
Xliff ryn1x: Heh. That's kinda touching on what I was just talking about.
AlexDaniel ryn1x: can't you just add another `whenever` to do the stuff you need? 04:28
Xliff ryn1x: Are you trying to run code periodically? 04:29
ryn1x: If you have code written, that would help a lot. :) 04:31
ryn1x I want to control another program (the async process) and then leave it running because it has a lot of start-up over head.... go do a bunch of unrelated things ... come back to controlling the async process.
But playing with react/whenever it seems like I need to wrap my entire program in the react block which seems wrong... 04:32
Xliff I would say: whenever $proc.start { my $promise = start { # do unrelated things here }; } 04:33
AlexDaniel Xliff: but that means that the proc has finished
Xliff Oh.
Well see! I am still learning. :P 04:34
Heh :)
Then: my $promise = start { # do unrelated things here }; }; react { ... }
AlexDaniel ryn1x: I guess you'd need a `start` block somewhere. Either `start react { … }` or start your bunch of unrelated things before going into react
ryn1x Is the proc killed when you call done() to exit the block? 04:36
Xliff The proc should have exited before that happens. 04:37
To exit the proc, you should use $proc.kill.
AlexDaniel I'm actually not sure 04:38
04:39 marmay left, AlexDaniel left 04:40 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 04:41 marmay joined
ryn1x AlexDaniel: Is there an example of `start react { ... }` somewhere? Not sure how to form that... I have been making my Async::Proc object than calling .start on it... 04:41
04:41 p6bannerbot sets mode: +v marmay
ryn1x Proc::Async* 04:42
s/than/then/
AlexDaniel m: start react { whenever Promise.in(2) { say ‘we are reacting to things!’ } }; say ‘we are here’; sleep 3; say ‘byeeeeeeee’
camelia we are here
we are reacting to things!
byeeeeeeee
AlexDaniel ryn1x: ↑
and note that you can still communicate with channels or anything else you need 04:43
m: my $c = Channel.new; start react { whenever Promise.in(2) { say ‘we are reacting to things!’ }; whenever $c { say “we got $_” } }; say ‘we are here’; $c.send: 42; sleep 3; say ‘byeeeeeeee’
camelia we are here
we got 42
we are reacting to things!
byeeeeeeee
ryn1x AlexDaniel: That looks really close to what I need... I just need to be able to send commands to the process whenever.... Is it possible to and execute the `start react {...}` and still `$proc.put: "command"` from outside the react block somehow? 04:47
AlexDaniel ryn1x: I'm pretty sure you can $proc.put from anywhere you want 04:48
ryn1x AlexDaniel: Ok cool. This was really helpful. Thanks! 04:49
04:50 cognominal-p6 joined, cognominal-p6 left, cognominal-p6 joined, p6bannerbot sets mode: +v cognominal-p6 04:51 p6bannerbot sets mode: +v cognominal-p6 04:55 cog joined 04:56 p6bannerbot sets mode: +v cog 04:57 cognominal-p6 left 04:59 nige_ joined 05:00 p6bannerbot sets mode: +v nige_ 05:05 nige_ left 05:13 cog left
ryn1x AlexDaniel: gist.github.com/ryn1x/c313e63bd927...6fe4a154e6 05:20
ryn1x thinks react/whenever is super cool
AlexDaniel ryn1x: instead of `whenever $proc.Supply.lines` I think you can do just `whenever $proc` 05:22
ah
actually
`whenever $proc.lines` ?
↑ that's the one, I think
ryn1x Ok. I'll play with that tomorrow. Time to go to sleep now. Thanks again. 05:23
AlexDaniel ryn1x: instead of `until $isready {};`
use `await $proc.ready`
because that won't eat cpu needlessly 05:24
finanalyst Hi. How do I get an enum value from a string? I have enum Status <ok nok fine>, I have from a json %h<status>='nok'. How do I turn this to a value of Status?
AlexDaniel otherwise, yeah
ryn1x AlexDaniel: 👍 05:25
05:29 ryn1x left
AlexDaniel m: enum Status <ok nok fine>; dd Status(Status.^enum_values{‘nok’}) 05:29
camelia Status::nok
AlexDaniel finanalyst: there must be a better way…
AlexDaniel goes to bed 05:30
05:33 troys left 05:59 curan joined, p6bannerbot sets mode: +v curan
Xliff m: class A { method b { say ::?CLASS.name }; }; class B does A { }; say B.new.b 06:01
camelia 5===SORRY!5=== Error while compiling <tmp>
A is not composable, so B cannot compose it
at <tmp>:1
Xliff m: class A { method b { say ::?CLASS.name }; }; class B is A { }; say B.new.b 06:02
camelia No such method 'name' for invocant of type 'A'. Did you mean any of these?
none
note
take

in method b at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: class A { method b { say ::?CLASS.^name }; }; class B is A { }; say B.new.b
camelia A
True
06:16 jmerelo joined, p6bannerbot sets mode: +v jmerelo 06:22 marmay left
Geth doc: c6cb7929d0 | (JJ Merelo)++ | doc/Type/Cool.pod6
Changes internal to external links, closes #2411
06:29
synopsebot Link: doc.perl6.org/type/Cool
06:51 Actualeyes left 07:00 random_yanek left 07:16 isBEKaml joined, p6bannerbot sets mode: +v isBEKaml 07:22 finanalyst left 07:27 isBEKaml left 07:32 domidumont joined, p6bannerbot sets mode: +v domidumont 07:33 noganex left 07:34 noganex joined 07:35 p6bannerbot sets mode: +v noganex, jmerelo left 07:41 abraxxa joined 07:42 p6bannerbot sets mode: +v abraxxa 07:44 telex left 07:46 telex joined 07:47 p6bannerbot sets mode: +v telex 08:09 cog joined 08:10 p6bannerbot sets mode: +v cog 08:23 cog left 08:24 cog joined, zakharyas joined 08:25 p6bannerbot sets mode: +v cog, p6bannerbot sets mode: +v zakharyas 08:28 nebuchadnezzar joined, p6bannerbot sets mode: +v nebuchadnezzar 08:29 rindolf joined 08:30 p6bannerbot sets mode: +v rindolf 08:33 cog left 08:43 cog joined 08:44 p6bannerbot sets mode: +v cog 08:45 cog left, cog joined 08:46 p6bannerbot sets mode: +v cog 09:02 Ven` joined 09:03 p6bannerbot sets mode: +v Ven` 09:38 pmurias joined, p6bannerbot sets mode: +v pmurias 09:45 pecastro joined, p6bannerbot sets mode: +v pecastro 09:47 shortguy joined, p6bannerbot sets mode: +v shortguy
shortguy docs.perl6.org/language/syntax#Ext...dentifiers Can anyone tell me how the "short name" mentioned in this bit of documentation works? Google isn't turning up much 09:48
09:50 noganex_ joined 09:51 p6bannerbot sets mode: +v noganex_
lizmat shortguy: "Dog:auth<Somebody>:ver<2.0>" is the long name, "Dog" is the short name 09:53
does that help?
09:53 noganex left
shortguy Oh, I think I understand it now, that isn't really what I want 09:54
I thought it was a solution for this: stackoverflow.com/questions/330294...-name?rq=1 which it isn't really, the solution to that stackoverflow question also doesn't feel all that elegant 09:55
lizmat shortguy: the library in question *could* also export a `User`, effectively doing under the hood what the answer suggested 09:57
xinming What is the differences between my $a = %(a => 1) and {a => 1}? 09:59
my $a = %(a => 1); my $b = { a => 1 }; Are they the same?
shortguy lizmat: Is there a way to "rename" the required package? So one could do use Cat but reference it in their script in another way 10:00
That would allow me to do use Garbage::Users::User but refer to the class as User 10:01
xinming Got it, %() is recommended to be used for creating hash, { } is for creating blocks
lizmat shortguy: the answer to the SO question: my constant User = Garbage::Users::User 10:02
there is some speculation about adding a "as" parameter to use statements, if I recall correctly
but that has not been implemented afaik
10:04 cog left 10:07 robertle joined 10:08 p6bannerbot sets mode: +v robertle 10:11 pmurias left 10:17 pmurias joined, p6bannerbot sets mode: +v pmurias
shortguy lizmat: Thanks for answering my questions :) 10:18
10:18 shortguy left
lizmat m: use Test as Bar # yeah NYI 10:19
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Bar used at line 1. Did you mean 'Bag'?
Undeclared routine:
as used at line 1
10:47 zashi joined, p6bannerbot sets mode: +v zashi 10:59 pmurias left
zashi hi 11:03
I'm trying to parse command line arguments via MAIN and pass that to a second perl app that will parse it the same. The main app is only a redirector to the other apps. Example "rep init file.c" will exec rep p6 which will exec rep-init p6 as "rep-init file.c" (sort of git behavior). The first main is multi MAIN($action, Bool :v=False, *@args). The problem is that after using :named-anywhere, any unknown flag is thrown as error and not
Example: "rep -v init file.x" and "rep init -v file.x" also works as expected, but "rep -v init file.x -unknown" does not.. I would like any unrecognized flag to be slurped in order to be transmitted to the second app to have a chance to be recognized later by the second app.
11:04 sena_kun joined, pmurias joined, p6bannerbot sets mode: +v pmurias, p6bannerbot sets mode: +v sena_kun 11:05 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix zashi: try `|args` instead of `*@args` 11:05
`*args` slurps only positionals, `|args` is a Capture that captures both positional and named 11:06
huggable: Capture
huggable Zoffix, Argument list suitable for passing to a Signature: docs.perl6.org/type/Capture
zashi ok, will try, thank you
Zoffix doesn't look like it works 11:07
zashi I might be a total noob but it doesn't seem to work (ps yes I am noob anyway even if it would had worked) 11:13
11:15 Spot__ left, Spot__ joined, p6bannerbot sets mode: +v Spot__
zashi multi MAIN($action, Bool :v(:$verbose) = False, |args) but still fails with "rep -v init aaaa -unk" 11:15
11:15 mrsolo_ left 11:16 oodani left, Geth left, leah2 left, undersightable6 left, reu left, ZDFD joined, p6bannerbot sets mode: +v ZDFD, undersightable6 joined, Geth joined, ChanServ sets mode: +v undersightable6, ChanServ sets mode: +v Geth
zashi well it does not fail, it prints the usage. 11:16
11:17 SourceBaby left, hoelzro left, Zoffix left, Zoffix joined, p6bannerbot sets mode: +v Zoffix, p6bannerbot sets mode: +v undersightable6, p6bannerbot sets mode: +v Geth, patrickb joined, p6bannerbot sets mode: +v patrickb, spacebat1 left, jcallen left, geekosaur left
Zoffix zashi: yeah, looks like a limitation. Filed as R#2445 11:17
synopsebot R#2445 [open]: github.com/rakudo/rakudo/issues/2445 Captures in sub MAIN params don't capture named args
Zoffix zashi: ok, Plan B: in addition to `*@args`, add `*%named-args`
11:17 jcallen_ joined, p6bannerbot sets mode: +v jcallen_
Zoffix zashi: That'll capture both: positionals to @args and named to %named-args 11:18
11:18 mrsolo_ joined, p6bannerbot sets mode: +v mrsolo_, ZDFD left, hoelzro joined 11:19 p6bannerbot sets mode: +v hoelzro
zashi works like a charm 11:19
:D thank you guys
11:20 Mithaldu left
tyil zashi: doing things like `multi MAIN ("init", Bool :$v = False, *@args)` is also possible, that might save you the redirecting altogether (assuming you're doing it mostly to seperate functionality into seperate modules/files) 11:22
11:22 pmurias left, oodani joined
tyil then you can just add more multi MAIN definitions, and change the "init" to any other string 11:22
11:22 reu joined, p6bannerbot sets mode: +v reu 11:23 p6bannerbot sets mode: +v oodani, Mithaldu joined 11:24 p6bannerbot sets mode: +v Mithaldu 11:26 pmurias joined, p6bannerbot sets mode: +v pmurias 11:27 pmurias left 11:29 AlexDaniel left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 11:30 spacebat1 joined 11:31 Zoffix left, p6bannerbot sets mode: +v spacebat1, leah2 joined 11:32 geekosaur joined, p6bannerbot sets mode: +v leah2, p6bannerbot sets mode: +v geekosaur 11:33 domidumont left
zashi tyil: well, I don't know all the subcommands because users should be encouraged to create other subcommands as rep-commands somewhere in path and each subcommand could have other parameters unkown to me at this time. So the way I will do it is any known parameters (generic) are to be processed and passed to the subcommand p6 but any unknown one needs to be passed as is to the subcommand and the subcommand will decide if it's known or n 11:33
11:35 patrickb left, Ven` left
zashi and the communication between the main p6 and subcommands p6 is by running it as a command because now it's a p6 but a user might decide he wants a specific subcommand to be done in another language, sort of like linux philosophy 11:35
but thanks for the idea, I hope I understood it correctly 11:36
11:42 vike1 joined, vike left, p6bannerbot sets mode: +v vike1 11:50 dakkar joined 11:51 p6bannerbot sets mode: +v dakkar 12:00 JesseChan joined, p6bannerbot sets mode: +v JesseChan 12:03 kensanata joined, p6bannerbot sets mode: +v kensanata 12:15 leont joined 12:16 p6bannerbot sets mode: +v leont 12:17 pmurias joined, p6bannerbot sets mode: +v pmurias 12:18 Ven` joined, p6bannerbot sets mode: +v Ven` 12:25 pmurias left 12:29 leont left 12:35 pmurias joined, p6bannerbot sets mode: +v pmurias 12:40 zakharyas left 12:50 raydiak_ left, raydiak_ joined, agentzh left 12:51 p6bannerbot sets mode: +v raydiak_ 12:52 agentzh joined, p6bannerbot sets mode: +v agentzh 13:00 cog joined 13:01 p6bannerbot sets mode: +v cog
lizmat wonders if El_Che is already working on 2018.10 packages 13:09
13:12 webstrand left 13:13 webstrand joined 13:14 p6bannerbot sets mode: +v webstrand 13:17 domidumont joined 13:18 p6bannerbot sets mode: +v domidumont
El_Che is it out? 13:23
releasable6: status
releasable6 El_Che, Next release in ≈19 days and ≈5 hours. 0 blockers. 0 out of 21 commits logged
El_Che, Details: gist.github.com/abaf6489b2f258105f...4a4e5b0208
El_Che ah nice 13:24
will kick travis then
13:24 cog left
lizmat El_Che: cool! 13:24
13:27 JesseChan left, pmurias left
El_Che lizmat: running as we speak. If ok, I'll rerun it tagged to release packages as well 13:28
lizmat El_Che++ 13:29
lizmat can mention it in the P6W then :)
El_Che yeah, it should be ready by then
it's a good extra canary for the release
it runs 18 builds of rakudo
13:30 antononcube joined, p6bannerbot sets mode: +v antononcube
lizmat afk for a bit& 13:30
El_Che lizmat: greetings to Woolfie
13:34 antononcube left
SmokeMachine m: enum Status <ok nok fine>; dd Status::<nok> # finalyst 13:36
camelia Status::nok
SmokeMachine lizmat: will `use Test as Bar` be implemented? 13:41
13:48 SqrtNegInf joined 13:49 p6bannerbot sets mode: +v SqrtNegInf
tyil one can only hope 13:52
moritz one can also patch :-) 14:00
SmokeMachine I mean: is that specified? 14:07
14:11 zakharyas joined, p6bannerbot sets mode: +v zakharyas
lizmat I sorta remember speccing it in S11... but can't find it atm 14:12
moritz iirc it was 'use Bar :from<Test>;' or something like that 14:17
lizmat :from<> is used to indicate language 14:19
:from<perl5>
moritz then it seems I've confused the two
timotimo btw do we have a mechanism for distinguishing which Inline:: module to use for a given language if there's multiple?
i imagine a "use lib" line could be used for that 14:20
lizmat m: use Foo:from<Perl6>:name<Test> # sorta expected that to work
camelia ===SORRY!===
Could not find Foo at line 1 in:
/home/camelia/.perl6
/home/camelia/rakudo-m-inst-2/share/perl6/site
/home/camelia/rakudo-m-inst-2/share/perl6/vendor
/home/camelia/rakudo-m-inst-2/share/perl6
CompUnit::Repo
timotimo wouldn't you use Test:name<Foo>?
m: use Test:name<Foo>; say ::.keys 14:21
camelia ($=finish &is-approx ::?PACKAGE $¢ $! $/ &nok &skip-rest &done-testing &pass &eval-lives-ok &does-ok &use-ok &subtest GLOBALish &fails-like &eval-dies-ok EXPORT &throws-like &unlike $_ &can-ok !UNIT_MARKER $=pod &bail-out &cmp-ok &skip $?PACKAGE &is …
timotimo m: use Test:name<Foo>; say Foo::.keys
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Foo used at line 1
timotimo nope.
El_Che ttps://gist.github.com/nxadm/2996a607b59084b94d8d10322acb6ce0 <-- flipflop fail test
gist.github.com/nxadm/2996a607b590...322acb6ce0 <-- flipflop fail test
timotimo it's not what i think it was
El_Che do we keep track of known flip flop fails?
timotimo yeah
we tend to write "ZOFFLOP" in chat for them
14:40 Bucciarati left 14:41 avar left 14:45 Bucciarati joined, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 14:46 p6bannerbot sets mode: +v Bucciarati, p6bannerbot sets mode: +v avar 14:55 dakkar left
AlexDaniel El_Che: it used to work like this: gist.github.com/Whateverable/20546...2e9845eda1 14:57
but then our clog was shut down, and quotable6 doesn't know how to use colabti… 14:58
14:58 xinming_ joined 14:59 p6bannerbot sets mode: +v xinming_ 15:00 dakkar joined 15:01 p6bannerbot sets mode: +v dakkar 15:02 xinming left 15:03 molaf left 15:04 pmurias joined, p6bannerbot sets mode: +v pmurias, curan left 15:08 fake_space_whale joined, p6bannerbot sets mode: +v fake_space_whale
Geth doc: uzluisf++ created pull request #2426:
whitespace and text reflow
15:09
doc: 89ed86f8cb | (Luis F. Uceta)++ | CONTRIBUTING.md
whitespace and text reflow

documention -> documentation
15:10
doc: 317f469a6d | (Luis F. Uceta)++ (committed using GitHub Web editor) | CONTRIBUTING.md
Merge pull request #2426 from uzluisf/master

whitespace and text reflow
documention -> documentation
15:11 random_yanek joined 15:12 p6bannerbot sets mode: +v random_yanek 15:15 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6 15:16 p6bannerbot sets mode: +v evalable6, releasable6 left, tyil[m]1 left, tyil[m]1 joined, p6bannerbot sets mode: +v tyil[m]1, MitarashiDango[m left, releasable6 joined, ChanServ sets mode: +v releasable6, troys joined, ynoom joined, p6bannerbot sets mode: +v ynoom, Ven` left
moritz the nightly cron update of perl6-all-modules has worked 15:17
15:17 p6bannerbot sets mode: +v releasable6, p6bannerbot sets mode: +v troys, MitarashiDango[m joined, p6bannerbot sets mode: +v MitarashiDango[m 15:18 cog joined 15:19 p6bannerbot sets mode: +v cog 15:20 leont joined 15:21 p6bannerbot sets mode: +v leont 15:24 cog left, cog joined 15:25 p6bannerbot sets mode: +v cog 15:31 pmurias left
El_Che AlexDaniel, lizmat: new pkgs up: github.com/nxadm/rakudo-pkg/releas...g/v2018.10 15:32
AlexDaniel moritz: awesome! 15:36
15:37 pmurias joined, p6bannerbot sets mode: +v pmurias, moony_ joined, p6bannerbot sets mode: +v moony_ 15:39 ynoom left
lizmat El_Che++ 15:39
15:42 moony_ left
AlexDaniel El_Che: cool! 15:42
15:50 wbn left 15:52 wbn joined, p6bannerbot sets mode: +v wbn
lizmat hmmm... looks like we don't have any proper documentation as to what "use v6.c" and "use v6.d" actually do / mean 15:55
lizmat hopes for some quick PDD
(Perl6Weekly Driven Development) 15:56
16:09 molaf joined 16:10 p6bannerbot sets mode: +v molaf, pmurias left 16:11 Guest13389 left 16:16 ryn1x joined, pmurias joined, p6bannerbot sets mode: +v pmurias, roguelazer joined 16:17 p6bannerbot sets mode: +v ryn1x, p6bannerbot sets mode: +v roguelazer 16:19 zakharyas left 16:25 fake_space_whale left, Guest13389 joined 16:26 p6bannerbot sets mode: +v Guest13389
ryn1x Do you guys thing porting Graphics::TIFF from perl5 to perl6 would be difficult? The source code looks pretty short... I think I would just need to learn how to wrap a C library with NativeCall? metacpan.org/pod/release/RATCLIFFE...cs/TIFF.pm 16:27
hahainternet ryn1x: i'm only passing through, but extremely simple 16:28
ryn1x I just need to figure out how the Perl5 xsloader code convertes to NativeCall I think... they both perform similar functions right? Access to C libraries... Haven't used either and I don't know Perl5 so this make take more time in reading/researching than coding. 16:30
hahainternet i don't think you want to waste your time learning XS or how to translate 16:31
consider just using nativecall directly and attempting to manipulate a test file w/tifflib or whatever directyly 16:32
i am not an authority though, just giving you my perspective
ryn1x Ok. That sounds like a good idea. I start with reading up on NativeCall. 16:33
leont That's rather outdated XS too -_-
I know little about NativeCall, and more than I should about XS. I'm not sure how one would do all those constants with NC. Calling most functions should be trivial though 16:34
ryn1x Hmm.... Are you saying I might have to redefine all the constants and their values in regular perl6 code because native call can't use the ones defined by the c library like xs (apparantly) can? 16:36
geekosaur nativecall and xs are very different things 16:41
16:42 cog left 16:43 moony_ joined, p6bannerbot sets mode: +v moony_
lizmat ryn1x: it is my understanding that NativeCall is mostly runtime 16:43
so it won't be able to "see" constants, unless they're also public symbols 16:44
ryn1x hmm ok..
lizmat and I may also be talking pretty much nonsense here (with regards to public symbols)
ryn1x so NativeCall is still what I would want if I need to start from stratch to provide perl6 bindings to the C libtiff library though? 16:45
I have to eventually run this code on a windows machine so it seems really weird to do the alternative and inline::perl5 to then call a c library... especially since windows has to have stawberry perl installed separately 16:47
sena_kun Yes, it is likely what you want. As far as I know, you can use NativaCall on windows too, though it might be a bit more tricky to ship your .dll file than on unix-like. 16:49
As in nice gnu/linux if necessary .so library is already installed in some default location, you don't need to do anything to use it with NativeCall. 16:50
ryn1x Story of my life... I get everything working on our Linux/macOS machines and then have to struggle on windows. 16:51
Although I just got WSL running... playing around with that... 16:52
sena_kun Absence of sane "/lib" on Windows is not something to be fixed by this community. If it can be fixed.
but that's another question. anyway, I just wanted to write that docs for NativeCall is what you want. You can look at someone's library using NativeCall to get some ideas about that, also don't hesitate to ask questions if there will be any tricky places. 16:54
s/using/that uses/
16:56 ryn1x left
jnthn Quite a few modules ship/install their own binary on Windows 17:00
17:01 moony_ left 17:03 kensanata left 17:06 rindolf left
Geth perl6.org: 79aaa00db3 | (Zoffix Znet)++ | source/about/index.html
Only a Sith deals in absolutes

Irrelevant of its veracity, we don't need to have this on the site.
  (saw people reference that phrase when dissing our "marketing")
17:06
17:11 domidumont left 17:22 dakkar left 17:23 gregf_ joined, p6bannerbot sets mode: +v gregf_ 17:26 zakharyas joined, ExtraCrispy left 17:27 p6bannerbot sets mode: +v zakharyas, ExtraCrispy joined, p6bannerbot sets mode: +v ExtraCrispy
Altreus anyone know whether anyone is working on LDAP? 17:37
bagsy not it 17:38
El_Che whatdoyamean
modules? product?
client? server?
Altreus some sort of module/s yeah 17:39
El_Che Net::LDAP
Altreus ... I mean I was thinking client
but server
interesting idea
it's done?
El_Che A perl ldap server?
moritz btw python'3 ldap3 seems to be pretty good 17:40
Altreus modules.perl6.org/search/?q=ldap
El_Che (openldap has a perl backend by the way)
moritz if you plan to do some ldap stuff, I'd recommend looking at it for inspiration
Altreus we wanted to use it for auth in a cro system but I really don't get on with LDAP myself
El_Che Altreus: I tried a little, but didn't have the time for something usefull 17:41
I played with libldap and nc
Altreus it seems liek a large undertaking
El_Che but it's a lot of work
indeed 17:42
libldap has many opaque datatypes
Altreus and logic
El_Che Also, NC and versioning is a pain 17:43
some time ago I wanted to write a small project in perl6 or go, but ended writing it in perl 5 because of the lack of good ldap libs 17:45
So, yes, it's a bad combination of needed and not easy to implement 17:49
17:50 cog joined
El_Che And alternative is puttying somethink like a rest proxy in front of your ldap 17:50
17:51 domidumont joined, p6bannerbot sets mode: +v cog 17:52 p6bannerbot sets mode: +v domidumont 17:53 ryn1x joined 17:54 p6bannerbot sets mode: +v ryn1x
AlexDaniel .tell kensanata how is it going? I wanna switch something to oddmuse6 and I wonder if that'd be a good idea any time soon 18:02
yoleaux AlexDaniel: I'll pass your message to kensanata.
18:03 robertle left
Xliff \o 18:06
18:06 zakharyas left, zxcvz joined 18:07 p6bannerbot sets mode: +v zxcvz 18:18 cog left, cog joined 18:19 p6bannerbot sets mode: +v cog
AlexDaniel o/ 18:20
18:27 cog left 18:45 rindolf joined 18:46 rindolf left 18:47 ExtraCrispy left, rindolf joined 18:48 p6bannerbot sets mode: +v rindolf 18:51 graphene joined, patrickb joined, p6bannerbot sets mode: +v graphene 18:52 p6bannerbot sets mode: +v patrickb 18:53 ryn1x left
El_Che My computer just told me there was an update of the "Rakudo Perl 6 runtime" :) 18:58
It means the repo is working fine
Altreus I did think of just having a RESTful microservice for LDAP creds 19:03
El_Che Or go the oauth/openid-connect/saml route with a ldap backend 19:04
is the way to go as you don't have to handle secrets
(but it's something on the org level) 19:05
(as it needs work and admin care)
Altreus: I have been thinking of a rest service for ldap as well, but because we have a saml infrastructure (and since shortly openid-connect one), the hasn't been enough reason to do the work 19:11
rindolf Altreus: hi 19:12
19:12 AlexDaniel left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 19:13 graphene left 19:15 graphene joined, p6bannerbot sets mode: +v graphene
Altreus hi rindolf 19:21
rindolf Altreus: sup? 19:22
Altreus yeah we need to support our existing LDAP infrastructure
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/10/29/...proaching/
Altreus rindolf: just working from home all evening since I took so much time out of my day 19:23
rindolf Altreus: ah
Altreus not really tracking my time though :\ I should be
leont has actually attended a Diwali celebration 2 years ago :-) 19:25
rindolf lizmat: thanks 19:26
Altreus: how is Dee doing? 19:27
AlexDaniel “Note for the curious: this is the last release of the Rakudo compiler that implements version 6.c of Perl 6 by default.” 19:29
AlexDaniel sheds a tear
lizmat hugs AlexDaniel 19:30
AlexDaniel :)
El_Che lizmat: calling AIX legacy is not nice 19:31
I would change that
rindolf Altreus: I successfully finished a paid project. 19:32
Altreus rindolf: Dee left a long time ago
rindolf Altreus: ah
Altreus rindolf: an enjoyable project?
lizmat El_Che: changed
rindolf Altreus: yes
Altreus great :) 19:33
rindolf Altreus: i also released Freecell Solver 5.0.0
AlexDaniel lizmat: fyi, Blin is also Bisectable on drugs. It's possible to use it on a single module to see which rakudo commit introduced a regression. Also here are some preliminary results for 6.c→6.d transition: gist.github.com/AlexDaniel/3296f8c...14f25d5087
El_Che lizmat: good call :) 19:34
it's not because we tease the aix guys during the workday with Linux, that we need to do it in the weekly. Certainly now that IBM bought Red Hat (crap). 19:35
Geth doc: a318b8d717 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/faq.pod6
Update to exact date on 6.d release FAQ
19:37
synopsebot Link: doc.perl6.org/language/faq
lizmat AlexDaniel: reworded the entry a bit
AlexDaniel cool, thanks! 19:38
19:39 xinming_ is now known as xinming 19:41 domidumont left 19:46 graphene left
El_Che AlexDaniel: kudos for the release 19:55
AlexDaniel \o/
El_Che: hehe more fun ahead 19:56
19:56 ryn1x joined, kensanata joined, p6bannerbot sets mode: +v kensanata
El_Che AlexDaniel: always 19:56
19:57 p6bannerbot sets mode: +v ryn1x 20:09 cog joined 20:10 p6bannerbot sets mode: +v cog 20:12 MilkmanDan left 20:13 rindolf left 20:14 roguelazer left 20:16 MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan 20:23 jc_atikon joined, rindolf joined 20:24 jc_atikon left, p6bannerbot sets mode: +v rindolf 20:27 jc_denton1 joined, p6bannerbot sets mode: +v jc_denton1
ufobat_ cro question, basic authentication, there is a middleware that does help for checking for the authorization 20:33
but
it is only working on top of the request
when if i want to modifiy the respose if someone is not logged in correctly? 20:34
do i need to write a own middleware based on Cro::HTTP::Middleware::Pair?
or did I not understand something correctly
20:34 cog left
ryn1x Got a couple liftiff functions working with NativeCall, but what to I do with variadic functions like: `int TIFFGetField(TIFF* tif, uint32 tag, ...);` 20:40
sub TIFFGetField(TIFF, uint32, WHAT GOES HERE? ) is native('tiff') { * } 20:41
El_Che will slurpy work? 20:42
docs.perl6.org/type/Signature#Slur...arameters?
ryn1x Im trying that `|`, but havent found something that works yet..
El_Che *@ 20:43
?
ryn1x oh... maybe I was doing it wrong. * not |
El_Che probably it won't work, but who knows
(probably some people on this channel :) )
jc_denton1 Hello, 20:44
I'm working on a small project using IO::Socket::Async. I'm trying write some tests to make sure I'm handling a connection loss properly but my intial atempts didn't go as planned. I thought using a QUIT phaser would work but that didn't give any response in the tests I tried closing the supply but that isn't giving the results I was hoping for. Can someone point me in the right direction on how to handle a connection loss with IO::Socket
::Async?
ryn1x El_Che: *@ does not work... get the error: Too many positionals passed; expected 2 arguments but got 3 20:47
El_Che yeah, expected something like that :( 20:49
ryn1x suprised it isnt mentioned in the nativetypes doc page ... it seems to be used all over c libraries 20:50
20:56 cog joined
El_Che ryn1x: here are some pointers: stackoverflow.com/questions/495860...nativecall 20:56
20:56 p6bannerbot sets mode: +v cog
El_Che no solution though 20:56
tobs ryn1x: I remember this discussion colabti.org/irclogger/irclogger_lo...06-17#l683 20:59
iirc, the outlook was bad, 5 months ago
El_Che good memory 21:00
tobs I'm afraid the best suggestion was to supply a small C library with your module which wraps the variadic function and provides something non-variadic interface for your NativeCall
ryn1x tobs: thanks 21:01
El_Che yeah, that would work, but it gets us closer to XS territory
21:06 |oLa| joined, p6bannerbot sets mode: +v |oLa| 21:07 cog left 21:08 cog joined, p6bannerbot sets mode: +v cog 21:10 |oLa| left 21:15 kensanata left, marmor joined 21:16 p6bannerbot sets mode: +v marmor 21:19 rindolf left 21:20 pmurias left 21:23 rindolf joined, p6bannerbot sets mode: +v rindolf 21:26 pmurias joined, p6bannerbot sets mode: +v pmurias 21:29 zxcvz left
jc_denton1 sorry to ask again. Can someone point me in the right direction with my IO::Socket problem please? 21:35
21:37 random_yanek left 21:43 scotticles joined, p6bannerbot sets mode: +v scotticles
ryn1x Maybe I wont write a module using NativeCall just yet... pointer stuff is getting weird. Not sure how to handle a function that takes a pointer as it's last argument for it's "return value". 21:47
AlexDaniel jc_denton1: I don't know how to answer your question, but maybe consider asking the same question on stackoverflow? 21:48
21:49 random_yanek joined 21:50 p6bannerbot sets mode: +v random_yanek 21:53 ryn1x left 21:55 moony left, moony joined, p6bannerbot sets mode: +v moony 21:58 ryn1x joined 21:59 p6bannerbot sets mode: +v ryn1x 22:00 lizmat left, marmor left
Xliff m: 1.WHAT.say 22:03
camelia (Int)
Xliff How can I get that to just say "Int"
m: 1.^name.say
camelia Int
Xliff OK. Well, there's this situation.
class A::B::C {}; my $abc = A::B::C.new; $abc.^WHAT.say 22:04
m:class A::B::C {}; my $abc = A::B::C.new; $abc.^WHAT.say
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/nZDO0LFmHt
Cannot …
Xliff, Full output: gist.github.com/410b5792dc38d662f5...b547da2a61
Xliff m: class A::B::C {}; my $abc = A::B::C.new; $abc.^WHAT.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use .^ on a non-identifier method call
at <tmp>:1
------> 3:C {}; my $abc = A::B::C.new; $abc.^WHAT7⏏5.say
expecting any of:
method arguments
Xliff m: class A::B::C {}; my $abc = A::B::C.new; $abc.WHAT.say
camelia (C)
Xliff m: class A::B::C {}; my $abc = A::B::C.new; $abc.WHAT.say; $abc.^name.say
camelia (C)
A::B::C
jc_denton1 AlexDaniel: I'll try asking on there as well thanks.
Xliff m: class A::B::C {}; my $abc = A::B::C.new; $abc.WHAT.say; $abc.^name.say; $abc.WHAT.Str.say 22:05
camelia (C)
Use of uninitialized value of type A::B::C in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
A::B::C

in block <unit> at <tmp> line 1
22:34 pmurias left
Geth doc: chsanch++ created pull request #2427:
Fix example for Pod::Block::Named. Fixes #2425
22:38
22:39 [Coke]_ is now known as [Coke] 22:42 sena_kun left
moony i kinda wanna write a MUD in perl 6, now that i've gotten the hang of things 22:42
22:42 ryn1x left
moony yet my horrible work ethic means i'll likely never get past the "take input from telnet" stage 🤔 22:43
[Coke] docs folk, testing a change to xt/examples-compilation that lets you mark a test as requiring its own file for testing; so the majority go through the EVAL path we have, but you can mark problematic ones like those containing "unit" or "is export" as requiring a separate file to run them in. (lets me get xtest passing again)
22:57 scotticles left 23:10 lizmat joined, p6bannerbot sets mode: +v lizmat 23:15 pecastro left 23:16 patrickb left
Geth doc: f8a479f358 | Coke++ | 2 files
Allow some tests to compile-check solo.

Allows us to test items that might interfere with other tests when run in a giant EVAL'd environment.
  (E.g. having multiple exports of the same name that are
only conflicting across multiple files)
solo implies that don't have to wrap the code in anything.
23:20
doc: d67bcde51c | Coke++ | doc/Language/modules.pod6
export test name conflicts with another file
synopsebot Link: doc.perl6.org/language/modules
doc: d2daaa6138 | Coke++ | 4 files
run unit tests
23:20 jc_denton1 left 23:52 nuclearsandwich joined, p6bannerbot sets mode: +v nuclearsandwich