»ö« 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.
00:00 canopus joined 00:02 mempko joined 00:04 mcmillhj joined 00:09 n1lp7r left 00:16 BenGoldberg joined 00:17 mr-foobar joined 00:24 pierre_ joined 00:28 mcsnolte left 00:35 darutoko joined
bioduds do you guys know about koans? 00:38
any for perl6?
00:40 MilkmanDan joined 00:46 Actualeyes left
profan does anyone have some examples of how to use perl6's macro system anywhere? 00:49
i've seen a few mentions of quasi and macro but really no more examples beyond the most basic, would be appreciated :)
00:51 cognominal joined
geekosaur at the moment there isn't a lot to say, because it was tagged experimental due to problems with it 00:53
anything more interesting than the basic examples tend to throw weird errors 00:54
00:58 skids joined
arw [Coke], timotimo: unstuck yes, i've got it doing what i wanted. pbot.rmdir.de/sKwAyzCdctRMrsIzvBTIfQ 00:58
[Coke], timotimo: thanks alot for all your patience and help, wouldn't have managed without.
profan geekosaur: ah, shame :P, at least i know then 00:59
arw .o( and yes, that code needs cleaning up, but now is bedtime )
01:00 MilkmanDan left 01:03 mcmillhj left 01:06 Zoffix joined
Zoffix bioduds, yeah, I know about them, but am not aware of any Perl 6 ones. You should definitely make some! 01:07
MasterDuke profan: i think 007 ( github.com/masak/007 ) is considered the farthest anyone has gone with macros
01:13 cdg left
Zoffix bioduds, Dave Doyle was also suggesting we make some. So you should :) twitter.com/meraxes 01:14
01:14 cognominal left
bioduds definitely 01:16
I bet if we join we can put up one. I'm still learning P6 01:17
Zoffix \o/ 01:18
bioduds, that's the best time to write them. You can still see them for how good they are from the perspective of someone new to P6
And if you need space to host them, I'm sure we can find one. 01:19
01:20 mcmillhj joined
bioduds well 01:25
I will then
01:44 MilkmanDan joined 01:50 mcmillhj left 01:54 Actualeyes joined 01:57 pierre_ left, ShimmerFairy joined 02:03 pierre_ joined 02:04 lucasb_ left 02:08 pierre_ left, pierre_ joined 02:24 mspo joined 02:25 cyphase left 02:26 kyclark_ joined 02:29 mempko left 02:30 cyphase joined 02:32 wamba joined 02:35 nowan left 02:39 nowan joined 02:46 mcmillhj joined 02:47 noganex joined 02:49 noganex_ left 02:50 rodarmor joined
dalek ateverable: 3510065 | MasterDuke17++ | / (2 files):
Convert benchable to use the Perl 6 SVG::Plot
02:51
02:52 mcmillhj left, kyclark_ left 02:55 NEveD joined 02:57 revdiablo joined, edenc joined 03:00 labster left, prussian joined, adrusi joined 03:01 cibs left 03:02 prussian left, prussian joined 03:04 DrForr joined 03:05 harmil left 03:06 cibs joined, geraud joined 03:13 bob777 joined 03:14 adu joined 03:26 labster joined 03:31 skids left 03:32 adu left 03:33 kyclark_ joined 03:39 adu joined, wamba left 03:53 mcmillhj joined 03:55 obfusk_ joined 03:56 Actualeyes left 04:08 Cabanossi left 04:10 cognominal joined 04:12 Cabanossi joined
awwaiid bioduds: koans, ala ruby-koans, would be fantastic. Is on my TODO list, but that is a lazy-infinite generator so unlikely to happen 04:19
Xliff I have a module A::B with submodules A::B::C..E
I would like to be able to load symbols from A::B::C, et all from A::B via 'use A::B :c' 04:20
Can I do that without dealing with the export mechanism?
04:24 mcmillhj left 04:34 cognominal left
Xliff I'm getting "Malformed UTF-8" when attempting to open a file. What do I need to do to fix that? 04:37
04:44 kyclark_ left 04:47 BenGoldberg left 05:00 pierre_ left, pierre_ joined 05:04 lizmat left
awwaiid j: say CORE::.keys 05:05
camelia rakudo-jvm cd19db: OUTPUT«ContextRef representation does not implement elems␤ in block <unit> at <tmp> line 1␤␤»
Xliff Ooh! Rakudo-JVM! 05:08
awwaiid, do you know if the user can extract the extra values form a use statement ala 'use Module "i want this string"' 05:09
05:10 pierre_ left 05:19 pierre_ joined 05:22 prussian left
awwaiid Xliff: I think you can write an EXPORT sub that will be passed those values. docs.perl6.org/language/modules#Ex..._Importing has some examples. 05:22
05:23 prussian joined, pierre_ left 05:25 lizmat joined 05:26 lizmat left 05:27 lizmat joined
Xliff awwaiid++ # Thanks! 05:33
05:37 Actualeyes joined 05:38 pierre_ joined, leont joined
lizmat j: dd CORE::.iterator 05:39
camelia rakudo-jvm cd19db: OUTPUT«ContextRef representation does not implement elems␤ in block <unit> at <tmp> line 1␤␤»
lizmat :-(
05:43 pierre_ left 05:44 prussian left, prussian joined 05:45 leont left
awwaiid lizmat: since you merged that PR, should I close the RT, or do we wait to close RT for a release? 05:49
lizmat what was the RT again ? 05:50
awwaiid rt.perl.org/Ticket/Display.html?id...a32f2d32a2
#129020: [JVM] REPL does not work anymore: 'ContextRef representation does not implement elems'
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129020
lizmat no, please keep open
awwaiid ooo fancy
ok -- then close upon release? 05:51
lizmat awwaiid: well, it should be closed when completions work again on JVM maybe
awwaiid ah. ya, there is that
lizmat or maybe a new ticket should be made about ContextRef not having .elems suppoart
I understand it was a small change in MoarVM 05:52
I assume it's going to be a similar small change on the JVM
awwaiid I opened RT#129092 re ContextRef jvm
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129092
lizmat (but I could be o so wrong :-)
awwaiid lizmat: for ^C in the REPL, I read up on your implementation and have a better (though not totally complete) understanding of why the .tap on the signal(SIGINT) happens in another thread, and thus why we likely need to embrace concurrency 05:54
lizmat: I tried to build some toy examples of merging STDIN and a signal into a single supply as another approach, but haven't gotten it to work so far 05:55
lizmat well, we need to anyway somehow :-)
05:56 pierre_ joined
lizmat fwiw, I'm working on it as well now 05:56
I put some part of the original patch just in (centralizing the reset logic)
awwaiid gist.github.com/awwaiid/7f1c6819ec...3de14e2ab3 is my toy
05:57 adu left
awwaiid ah nice. I touched some code that might conflict in github.com/rakudo/rakudo/pull/847, but now see that my PR is already merged 05:57
ah, I see your commit 05:59
lizmat: did you type the output of 'sub reset(--> Nil) {...}' as an optimization? 06:00
06:00 pierre_ left
lizmat yeah, and as an indicator it's not supposed to return anything 06:00
awwaiid So the big thing I want is for people to be able to call 'REPL.here' at any random spot in their code and have it drop down into the REPL hooked into that lexical scope. Probably integrated in with some debugger stuff. I've been getting closer. I'm fascinated by the subtle differences between EVAL and compiler.eval implementations. 06:04
06:04 nadim joined
awwaiid I use binding.pry in ruby-land all the time, and find it essential. I have LREP::here that works for p6, but would be better in the core 06:05
lizmat Strange consistency starts :-) 06:06
nine masak: TimToady++'s giving a keynote about your blog :)
lizmat act.yapc.eu/ye2016/talk/6881
06:07 nwc10 joined
nwc10 LIVE TimToady youtu.be/A3ZSt5QKEAg 06:07
awwaiid ooo 06:08
nwc10 with a fluffy camelia in front 06:09
(product placement)
awwaiid thelackthereof.org/Perl6_Colons has a list of lots of colons :) 06:10
06:10 prussian left
awwaiid Is that a 4x4 grid of televisions? 06:11
06:12 prussian joined 06:14 prussian left, pierre_ joined, prussian joined
lizmat awwaiid: yes 06:22
awwaiid fancy 06:25
I want a pile of camelia stickers
06:31 leont joined 06:33 autarch joined 06:38 domidumont joined 06:42 domidumont left 06:43 domidumont joined 06:46 rkazak joined 06:50 rkazak left 07:08 webstrand left 07:09 labster left 07:11 webstrand joined 07:12 leont left 07:17 firstdayonthejob joined 07:22 mcmillhj joined 07:25 bjz joined 07:27 mcmillhj left 07:30 cognominal joined 07:31 bjz left, rindolf joined 07:34 RabidGravy joined 07:39 harmil_wk left 07:40 killbill joined
masak 'o morning, #perl6 07:41
Xliff RabidGravy: github.com/Xliff/p6-color-names
masak nine: ...about my blog? /o\
Xliff Now to figure out the best way to abstract everything in Color::Names::* behind Color::Names. Any ideas? 07:42
07:42 ab6tract joined
ab6tract github.com/ab5tract/Terminal-Print 07:42
nine ^^
masak "it turns out the person we thought was the stakeholder wasn't the stakeholder" (from livestream) -- been there, done that ;) 07:43
Xliff masak: Blog? 07:44
07:44 Actualeyes left
masak Xliff: irclog.perlgeek.de/perl6/2016-08-26#i_13093189 07:44
killbill Why I don't see last line? $ perl6 -ne 'LAST .say' file.txt 07:45
yoleaux 7 Aug 2016 23:39Z <TimToady> killbill: Try something like this: say '𝐀𝐁𝐂'.NFKD.Str === 'ABC'
nine masak: Title was Strange Consistency and he started off by showing your blog
masak oh, ok :)
...I should really redecorate my blog... :P
07:46 bjz joined
masak killbill: because bug, I'd say 07:47
killbill: mind if I rakudobug it?
nine: by the way, nowadays when I know about CT's "natural transformations", I think that's what I was after when I talked about "strangely consistent" things 07:48
at least most of the time
07:50 g4 joined, g4 left, g4 joined 07:53 leont joined, cognominal left 07:57 lizmat left 07:59 killbill left, rindolf left
masak submits killbill's LAST bug 07:59
07:59 leont left 08:01 lizmat joined 08:03 leont joined 08:07 DrForr_ joined 08:09 Actualeyes joined 08:11 imcsk8_ joined 08:12 matt_ joined, matt_ is now known as Guest49357 08:13 imcsk8 left 08:14 nadim left 08:20 zakharyas joined
ab6tract jnthn: looking into the bug i mentioned yesterday with nine++ 08:23
seems to be related to async hash construction, but like a good heisenbug it hides when golfed
08:24 mvorg joined
nine jnthn: crashes with consistent backtrace in a free() in extract_key so most probably actually MVM_string_flatten. We're creating hashes with static keys so maybe the key strings are flattened by multiple threads at the same time. 08:24
ab6tract notably, it *appears* to stop crashing when wrapping with a Lock protect call 08:28
08:33 DrForr_ left 08:40 rindolf joined
jnthn nine: Yeah, I'm aware of that one...it won't go away until the hash re-work I've got planned is done, which I guess will happen after I'm done with the array one to fix a similar set of crashes upon mis-use 08:40
nine jnthn: ok. I'm curious what a fix would look like?
08:40 nadim joined
jnthn nine: Implement hashing that doesn't need the flattening first :) 08:41
nine Sounds good :)
08:42 leont left
jnthn It was a hack enforced by using ut_hash, which seemed like a better idea than a home-grown impl, but by this point we've customized the thing so much anyway... :) 08:42
ab6tract lucky for my case (not having perl6 explode while showing my fancy pants matrix-y screensaver thingy), the Lock "fixes" it 08:43
jnthn Phew. :) 08:44
nine Probably another workaround would have been to just create a similar hash (using the same constant keys) before starting all the threads, wouldn't it? 08:47
jnthn Aye 08:49
08:56 zakharyas1 joined, zakharyas left
ab6tract seems to work :D 08:59
09:03 chienjo joined 09:07 chienjo left 09:09 bjz_ joined 09:11 bjz left
ab6tract .u u+2620 09:13
yoleaux U+2620 SKULL AND CROSSBONES [So] (☠)
ab6tract .u u+2621
yoleaux U+2621 CAUTION SIGN [So] (☡)
ab6tract .u u+2622
yoleaux U+2622 RADIOACTIVE SIGN [So] (☢)
ab6tract .u u+2623
09:13 nwc10 left
yoleaux U+2623 BIOHAZARD SIGN [So] (☣) 09:13
09:14 labster joined
ab6tract is there a quick way to get that .u functionality from the repl? 09:14
i guess we don't ship the unicode corpus with rakudo
09:18 brrt joined
jnthn m: say uniname(0x2623) 09:19
camelia rakudo-moar 508192: OUTPUT«BIOHAZARD SIGN␤»
El_Che mst talks is perltrelated 09:21
www.youtube.com/watch?v=A3ZSt5QKEAg 09:22
perl6 related I meant
Xliff Is there a way to capture the options used after use statement? Ala "use Module :a :b 'c'"; Yes. The c is positional. 09:24
09:26 ab6tract left 09:27 nadim left 09:28 Actualeyes left 09:35 zakharyas1 left 09:39 leont joined 09:40 Zoffix left
konobi it's a normal method call on the Module, no? 09:45
09:45 lizmat left, leont left 09:47 mcmillhj joined 09:52 brrt left, mcmillhj left 09:59 mcmillhj joined 10:04 mcmillhj left 10:07 Guest49357 left 10:08 frithnanth joined
frithnanth m: for 1, 2, 3 -> $item { my $x; FIRST { $x = 42 }; say $item, $x } 10:10
camelia rakudo-moar 508192: OUTPUT«142␤2(Any)␤3(Any)␤»
10:11 mcmillhj joined
frithnanth Is this the expected behavior? 10:11
jnthn Yes.
Maybe you wanted `state $x`? 10:12
frithnanth @jnthn thanks 10:13
On the same topic 10:15
m: for 1, 2, 3 -> $item { my $x = FIRST { 42 }; say $item, $x }
camelia rakudo-moar 508192: OUTPUT«1(Any)␤2(Any)␤3(Any)␤»
frithnanth I thought that FIRST could return a value
10:16 mcmillhj left
frithnanth m: for 1, 2, 3 -> $item { state $x = FIRST { 42 }; say $item, $x } 10:16
camelia rakudo-moar 508192: OUTPUT«1(Any)␤2(Any)␤3(Any)␤»
jnthn No, it's not one of the phasers that do that set.
Probably in some future Perl 6 version we'll allow it :) 10:17
*do that yet
Note that since state variables are only initialized on the first iteration, then `state $x = 42;` would also work fine 10:18
frithnanth I see. Here: docs.perl6.org/language/phasers there's this note "Phasers marked with a * have a run-time value, and if evaluated earlier than their surrounding expression, they simply save their result for use in the expression later when the rest of the expression is evaluated" and FIST was one of those
jnthn Ah
frithnanth s/FIST/FIRST/
Probably the doc is ahead of the compiler :-)
jnthn Feel free to file a doc bug on that; the docs probably nabbed that list from the language design docs (which are speculative in nature) and didn't check the reality 10:19
Well, the docs are meant to tell users what they can do today. :)
10:24 lizmat joined 10:27 nadim joined 10:37 leont joined 10:43 mcmillhj joined 10:48 mcmillhj left
melezhik good day! 10:49
anybody knows a doc on perl6 case operator?
could not find a refs 10:50
10:50 cognominal joined
lizmat given/when ? 10:52
melezhik yes 10:53
Xliff docs.perl6.org/language/control#given 10:59
10:59 zakharyas joined 11:00 pierre_ left
melezhik Xliff: thanks! 11:01
Xliff yw =)
Xliff finally grokked given/take just this week.
Question: I have a set of modules A::B, and A::B::*. I want to abstract all of the modules A::B::* behind A::B in a selective manner. What is the best way to do this? 11:02
I was hoping I could "use A::B :a :b;" to have A::B load A::B::A and A::B::B but I haven't found a good way to do that. sub EXPORT() doesn't seem to pick it up and I don't think UNIT::EXPORT has been implemented, yet. 11:04
11:05 labster left, labster joined 11:06 labster left 11:09 richi235 joined 11:13 cognominal left 11:15 mcmillhj joined 11:20 mcmillhj left, rmmm left 11:27 leont left 11:30 mcmillhj joined
mst nine: hey, any chance of tweaking your install for -Perl5 to have 'make homeinstall' and 'make siteinstall' to be explicit, then make 'make install' default to site if it can, then first writable if not 11:30
11:34 mcmillhj left
El_Che why is SawyerX making perl 5 faster? It will make Perl6 look bad ;) 11:35
11:35 leont joined
jnthn To keep us on our toes :) 11:37
11:43 krunen joined
tadzik #damnitsawyer 11:46
arnsholt OpenSSL is kind of odd 11:51
Error code are 32-bit ints, of which 12 bits are a reason code, 12 bits a function code and 8 bits a library identifier 11:52
mst that's probably the nicest thing I've ever heard anybody say about OpenSSL
arnsholt I'm trying to be diplomatic
The docs are also an endless source of quotable material
Like this one: "It can also occur of action is need to continue the operation for non-blocking BIOs." 11:53
It can also occur of action is need!
11:54 canopus left 11:55 frithnanth left
jnthn If it's BIO, it must be good for you... 11:55
Xliff Is there a Perl6 equivalent to @INC? 11:56
11:56 matt_ joined
mst Xliff: $*REPO is a linked list of CompUnit::Repository objects 11:56
11:56 matt_ is now known as Guest815
jnthn m: say $*REPO.repo-chain # I think this traverses it for you 11:57
camelia rakudo-moar 508192: OUTPUT«(inst#/home/camelia/.perl6 inst#/home/camelia/rakudo-m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => CompUnit::Repository::NQ…»
11:58 firstdayonthejob left
mst Xliff: I think the question is - 11:58
step back. explain what you're trying to achieve.
11:58 leont left 12:00 mcmillhj joined
Xliff mst: I have. No body has answered. 12:01
I will repeat it again.
<Xliff> Question: I have a set of modules A::B, and A::B::*. I want to abstract all of the modules A::B::* behind A::B in a selective manner. What is the best way to do this?
<Xliff> I was hoping I could "use A::B :a :b;" to have A::B load A::B::A and A::B::B but I haven't found a good way to do that. sub EXPORT() doesn't seem to pick it up and I don't think UNIT::EXPORT has been implemented, yet.
Thanks, jnthn++. If I don't use it now, it will be helpful later... for something. =)
mst "I want to abstract all of the modules behind A::B::*" doesn't actually parse 12:03
12:03 canopus joined
mst you're currently explaining what you're failing to implement 12:03
please take a further step back and explain the goal
12:03 arw left
Xliff Er. That was the goal. 12:04
mst why?
what is the point?
12:05 mcmillhj left
Xliff I have objects in A::B::A, A::B::B and A::B::C. 12:05
I don't want the user to have to touch those.
nine mst: how about DESTREPO=stie make install?
mst nine: would be fine by me
Xliff A::B will have the interface and the user can specify what decendents they want loaded.
I mean in the end, I guess I could just leave it with A::B::A et all, but that would be messy. 12:06
So I want one package to dynamically load other decendants in its namespace. 12:07
With the user controlling which descendent packages to load.
mst that seems like a gun looking for a foot
Xliff Yes, it may seem so. That's why I am wearing my kevlar boots.
12:08 leont joined
literal so you want something like "use POE qw(Component::Foo);" does for POE in Perl 5 12:08
Xliff If I can't get it to work, fine. I will try and find another method.
mst I've implemented this several times in perl5
Xliff literal: Something like that, yes.
12:08 ejf joined
mst and concluded it always ends up as a footgun 12:08
Xliff mst: Warning noted and appreciated. I would still like to know if it is possible in Perl6. 12:09
mst maybe find another module with custom EXPORT() logic and try and crib? 12:10
Xliff mst: Well, that would be brute!
I'll put that as Plan Z, for now. ;)
mst well, if you want to find out if it's possible, finding prior art would be a good way to tell
Xliff True enough.
But iterating through modules.perl6.org hoping to find that needle....well... 12:11
dalek line-Perl5: 865e918 | niner++ | configure.pl6:
Support DESTREPO for manually picking the make install target
nine mst: pushed
12:11 n1lp7r joined
Xliff I'm willing to do it, but I've got higher priorities. 12:11
ejf Heya everybody :-) I'm learning Perl6 and trying things out, and got stuck on something I can't really reason to myself about or find what is wrong. It concerns wrapping a sub with mod_trait:<is> throwing an error if I import said sub from a different module, but working just fine if I use the same code in the exact same module. Made a gist out of it: gist.github.com/eikef/7de3095f0034...5710df1faf 12:12
76 -- maybe somebody could point me in the right direction?
(the error is Cannot invoke this object (REPR: Null; VMNull))
nine ejf: link's broken 12:13
mst Xliff: rt.perl.org/Public/Bug/Display.html?id=127305 suggests perhaps your problem is using 'unit module' ?
Xliff Proper link for ejf - gist.github.com/eikef/7de3095f0034...10df1faf76 12:14
ejf gist.github.com/eikef/7de3095f0034...10df1faf76
sorry, that got split into second line, I apologize
AlexDaniel melezhik: I'd love to see support for zstd :) (github.com/Cyan4973/zstd)
dalek osystem: c8bb5bf | (Alexey Melezhik)++ | META.list:
Extract various archives using tar/unzip programs
12:16
osystem: 710dd14 | azawawi++ | META.list:
Merge pull request #243 from melezhik/master

Extract various archives using tar/unzip programs
Xliff mst: I remember reading that, earlier but couldn't get it to work.
nine mst: $*REPO.need(CompUnit::DependencySpecification.new(:short-name<Inline::Perl5>)).distribution.meta.say
mst: the provides and files keys contain what you need 12:17
tbrowder hi, #perl6!
Xliff I will try to work around "unit package" though. Thanks for the suggestion.
mst nine: ta
tbrowder I have a problem with a regex capture (using the latest rakudo from the nom branch).
See my github gist "gist.github.com/tbrowder/d39967e5f...042812f2". I may be doing something stupid, but I get this error when it's executed: 12:18
www.irccloud.com/pastebin/LIMG4q6Q/ 12:19
AlexDaniel melezhik: ah, it's something specific for Sparrowdo… nevermind then… :)
nine ejf: your issue may be a bug in rakudo (those REPR messages usually indicate that) or a DIHWIDT as trying to reason what exactly should be exported is kinda hard.
ejf: sorry that I can't be more helpful there :/
melezhik AlexDaniel: if Zstd has console clients I will 12:20
tbrowder Note that if I remove the Int type I get another error about not being able to get 'succ' on a match type at the "++$serial" statement. 12:21
melezhik looking at github.com/Cyan4973/zstd it's called zstd ?
anyway you probably mean something out of sparrowdo scope ))) 12:22
ejf nine: when I also export the mod_trait:<is> the same thing happens, as it does when I have both of those things inside a class that is exported. Ultimately I'm trying to write an error handler that wraps NativeCalls to an external library. Maybe I am going about it the wrong way :)
nine: should I put this snippet on RT as a bug?
AlexDaniel I'm just thinking that something is missing in this list ;) cyan4973.github.io/zstd/#other-languages 12:23
12:23 wamba joined
AlexDaniel I see Delphi, I see OCaml… something is not there, not sure what ;) 12:23
ejf and thanks for looking at it. At least there then doesn't seem something very, very obviously wrong :) 12:24
nine ejf: well you probably mean to export the wrapped sub but that would mean that rakudo has to process the traits in the right way and I'm not sure that's guaranteed. Could be that that's just a combination of features that's not really feasible to support. 12:25
ejf: could also be just a plain straight forward bug in rakudo :) I'm not familiar enough with that part to make a good guess and am too tired to start debugging right now 12:26
12:29 zakharyas left
ejf nine: alright, thanks :-) I'll send in a bug report to be sure. If it's unsupportable that's an answer too which could yield a documentation PR :) 12:32
RabidGravy I really ought to write some software 12:34
12:39 mcmillhj joined 12:44 leont left 12:47 Skarsnik joined 12:51 iH2O joined 12:54 iH2O left
rindolf RabidGravy: to do what 13:01
?
13:02 cdg joined 13:03 rmmm joined
RabidGravy well actually finishing some of these ten modules that I've started in the last few months would be a start :) 13:04
13:08 domidumont left 13:10 domidumont joined 13:14 kyclark_ joined 13:15 smls joined 13:20 kyclark_ left 13:28 Guest815 is now known as matt_ 13:32 kyclark_ joined 13:37 pierre_ joined 13:40 skids joined 13:42 leont joined, DrForr_ joined
tbrowder Bye #perl6, I'll check for a response after I get home later today. 13:42
13:43 tbrowder left 13:49 MilkmanDan left 13:51 MilkmanDan joined
smls .tell tbrowder Change «$serial = $0;» to «$serial = +$0;». 13:53
yoleaux smls: I'll pass your message to tbrowder.
13:53 mcmillhj_ joined 13:55 mcmillhj left 13:57 MilkmanDan left 14:01 kyclark_ left 14:05 DrForr_ left 14:06 MilkmanDan joined 14:09 espadrine joined 14:10 cognominal joined 14:15 zakharyas joined 14:21 kyclark_ joined, jameslenz joined 14:26 gfldex joined 14:27 sufrostico joined 14:29 MilkmanDan left
gfldex m: enum Noms('Greenstuff', 'Walkingstuff', 'Syntetics'); my %eaten{Noms}; %eaten{Greenstuff}++; dd %eaten, %eaten.keyof; 14:30
camelia rakudo-moar 1a03ef: OUTPUT«Hash[Any,Noms] %eaten = (my Any %{Noms} = Noms::Greenstuff => 1)␤Noms␤»
14:33 richi235 left, cognominal left 14:34 richi235 joined 14:35 kyclark_ left
Xliff ejf: Odd. I've tried to export traits and didn't have much luck there, either. 14:41
gfldex m: enum Noms('Greenstuff', 'Walkingstuff', 'Syntetics'); my %eaten{Noms} but role :: { method keys() { Noms.enums} }; %eaten{Greenstuff}++; dd %eaten, %eaten.keyof, %eaten.keys; 14:42
camelia rakudo-moar 575dda: OUTPUT«Hash[Any,Noms] %eaten = (my Any %{Noms} = Noms::Greenstuff => 1)␤Noms␤(Noms::Greenstuff,).Seq␤»
gfldex m: enum Noms('Greenstuff', 'Walkingstuff', 'Syntetics'); my %eaten{Noms} but role :: { method keys() { 'oi!' } }; %eaten{Greenstuff}++; dd %eaten, %eaten.keyof, %eaten.keys;
camelia rakudo-moar 575dda: OUTPUT«Hash[Any,Noms] %eaten = (my Any %{Noms} = Noms::Greenstuff => 1)␤Noms␤(Noms::Greenstuff,).Seq␤»
gfldex why does it call the wrong .keys ?
(wrong from my POV ofc)
14:47 Actualeyes joined 14:49 movlex joined, movlex left 14:50 movlex joined, g4 left 14:51 movl left
jnthn gfldex: Try "does"? 14:52
gfldex m: enum Noms('Greenstuff', 'Walkingstuff', 'Syntetics'); my %eaten{Noms} does role :: { method keys() { 'oi!' } }; %eaten{Greenstuff}++; dd %eaten, %eaten.keyof, %eaten.keys;
camelia rakudo-moar 575dda: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Invalid typename 'role'␤at <tmp>:1␤------> 3 'Syntetics'); my %eaten{Noms} does role7⏏5 :: { method keys() { 'oi!' } }; %eaten{␤»
jnthn heh :) 14:53
Yeah, that ain't gonna do it
gfldex m: enum Noms('Greenstuff', 'Walkingstuff', 'Syntetics'); my %eaten{Noms} is Hash does role :: { method keys() { 'oi!' } }; %eaten{Greenstuff}++; dd %eaten, %eaten.keyof, %eaten.keys;
camelia rakudo-moar 575dda: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Invalid typename 'role'␤at <tmp>:1␤------> 3ics'); my %eaten{Noms} is Hash does role7⏏5 :: { method keys() { 'oi!' } }; %eaten{␤»
jnthn does expects a typename after it
I think (my %eaten{Noms}) does role :: { ... }; would work
gfldex m: enum Noms('Greenstuff', 'Walkingstuff', 'Syntetics'); (my %eaten{Noms}) does role :: { method keys() { 'oi!' } }; %eaten{Greenstuff}++; dd %eaten, %eaten.keyof, %eaten.keys;
camelia rakudo-moar 575dda: OUTPUT«Hash[Any,Noms]+{<anon|49843632>} %eaten = (my Any %{Noms} = Noms::Greenstuff => 1)␤Noms␤"oi!"␤»
gfldex m: enum Noms('Greenstuff', 'Walkingstuff', 'Syntetics'); (my %eaten{Noms}) does role :: { method keys() { Noms.emums } }; %eaten{Greenstuff}++; dd %eaten, %eaten.keyof, %eaten.keys; 14:54
camelia rakudo-moar 575dda: OUTPUT«Method 'emums' not found for invocant of class 'Noms'␤ in method keys at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
14:54 leont left
gfldex m: enum Noms('Greenstuff', 'Walkingstuff', 'Syntetics'); (my %eaten{Noms}) does role :: { method keys() { Noms.enums.keys } }; %eaten{Greenstuff}++; dd %eaten, %eaten.keyof, %eaten.keys; 14:54
camelia rakudo-moar 575dda: OUTPUT«Hash[Any,Noms]+{<anon|75746832>} %eaten = (my Any %{Noms} = Noms::Greenstuff => 1)␤Noms␤("Greenstuff", "Walkingstuff", "Syntetics").Seq␤»
14:54 Skarsnik_ joined 14:55 mcmillhj_ left
jnthn bbiab 14:55
gfldex :)
14:55 infina left 14:56 mcmillhj joined, infina joined
Roamer` ok, here's a weird one... 14:57
Is there a way for me to "mimic" the default values of some other method's parameters?
14:58 Skarsnik left
Roamer` like, say, I want to add :nl and :enc to Shell::Capture.capture(), which invokes Proc.new(), and pass :nl and :enc to Proc.new 14:58
but only if they have been supplied to Shell::Capture.capture()
I don't want to have several invocations of Proc.new, one with :nl, one with :enc, one with both, etc 14:59
14:59 kjs_ joined, MilkmanDan joined
Roamer` and, quite obviously, I don't want to go this way: 14:59
m: use v6.c; say Proc.^methods.first(*.name eq 'BUILD').signature.params.first(-> $param { ($param.name // '') eq '$chomp' }).default()()
camelia rakudo-moar 575dda: OUTPUT«Cannot find method 'Nil' on object of type List␤ in block <unit> at <tmp> line 1␤␤»
Roamer` hm, this is weird, it works here on 2016.08
14:59 kjs_ left
Roamer` (it outputs "True", which is the default value for Proc.new :chomp) 14:59
15:00 zakharyas left
Roamer` so is there some less hacky (and, apparently, more portable across Rakudo versions) way of saying "only pass :$nl to Proc.new() if it is defined"? 15:01
15:01 kurahaupo joined 15:03 FlyingPanda joined
FlyingPanda Roamer`: camelia is restricted, so you don't get the same Proc as in non-restricted version 15:04
Roamer` hmm, and I just thought of the quite obvious run ..., $nl.defined?? :$nl!! () ... but I'm not completely sure that it will work
FlyingPanda Roamer`: You can ninja them in: Proc.new: |(:$nl if $nl), |(:$enc if $enc) 15:05
Roamer` FlyingPanda, oh, sorry, I didn't realize that... did I just summon you here by doing that? Sorry!
FlyingPanda Nah, I was just bored and passing by :)
Roamer` FlyingPanda, ah, yes, slips would work... thanks! 15:06
15:06 mcmillhj left
RabidGravy is anyone doing anything where they are testing a script that is part of a module distribution? 15:06
Roamer` (and here I am yet again, coming up with a awfully (or wonderfully) convoluted hack instead of thinking of the obvious...)
FlyingPanda |(:) looks like a ninja if you tilt your head right, which is how I remember the syntax :) 15:07
15:08 rkazak joined
FlyingPanda RabidGravy: why? 15:08
RabidGravy why what? 15:09
why am I interested in testing scripts? 15:10
15:10 rba_ left, rba_ joined 15:11 sufrostico left
FlyingPanda RabidGravy: why are you asking? 15:11
15:12 dustinm` joined
RabidGravy because I want to know if anyone has done anything where they are testing a script that is part of a module-distribution ;-p 15:12
FlyingPanda ~_~
Well, I did lots of script testing, but since they weren't part of a module distribution, I guess I'm not the right fit for your survey. 15:13
15:13 FlyingPanda left
RabidGravy because the script that I install as part of JSON::Infer may not have been working properly since February and it isn't tested, and if someone is doing tests of scripts I could save the reinvention of the wheel 15:13
Roamer` RabidGravy, I'm doing something like this in a module that I haven't released yet... it's a large part of the reason why I wrote Shell::Capture 15:15
15:16 leont joined
RabidGravy I will however resist the urge to make something like Test::Script 15:16
for the time being
Roamer` RabidGravy, but if you're asking whether there is something a bit more like Perl 5's Test::Command, I don't know of any
15:16 wamba left
Roamer` (but I *am* using Test::Command in Perl 5 in-house stuff) 15:16
RabidGravy yeah I've used that before
last big P5 project had tens of scripts which needed to be tested 15:17
this would also suggest that either no-one has installed and used JSON::Infer since february or they have avoided the bug 15:18
kyclark I would love any suggestions to make this more Perl6-ish:
yoleaux 25 Aug 2016 22:57Z <MasterDuke> kyclark: /:i ^ keys?|values? $ / may not do what you want. the '^' and '$' don't distribute to the different values in an alternation. i suspect you want /:i ^ [key|value]s? $ /
kyclark github.com/kyclark/metagenomics-bo...-split.pl6
15:19 mcmillhj joined
RabidGravy I'm going to the former 15:19
15:19 infina left, infina joined 15:20 pierre_ left
[Coke] cautiously declares tmux an improvement over screen. 15:21
Roamer` RabidGravy, and now you've gone and made me push my horribly ugly, WIP, not even close to finished yet, thingy to Github just so I can suggest that you take a look at github.com/ppentchev/gang/blob/mas...st-local.t 15:22
gfldex kyclark: in `my $out-fh = &next-fh();`the & is redundant
Roamer` of course, run-check() itself is in github.com/ppentchev/gang/blob/mas...st/Lib.pm6 15:23
kyclark OK, thanks. One thing I /REALLY/ don't like is the $*SPEC thing. I would rather import the functions I need from a module. Is there a way around this?
15:23 mcmillhj left, setty1 joined 15:24 rba_ left
[Coke] kyclark: what problem are you trying to solve ther? 15:27
gfldex kyclark: see github.com/rakudo/rakudo/blob/02fd...th.pm#L234
[Coke] (by using $*SPEC
kyclark Just want to use the catfile/catdir functions to put together a path to a resource 15:28
Also, is there a method to get the "basename" of a file minus its extension like in bash $(basename 'file.fa' '.'fa)? 15:29
15:29 kjs_ joined, mcmillhj joined
Roamer` RabidGravy, and, of course, now you've got me thinking about writing a Perl 6 Test::Command, but it may not happen very soon (or at all) :) 15:29
kyclark Rather than "001-file.fa" I would rather make "file-001.fa" etc
15:30 rkazak left, kjs_ left
b2gills my &catfile = $*SPEC.^lookup('catfile') 15:30
gfldex m: "file-001.fa".succ.say
camelia rakudo-moar 575dda: OUTPUT«file-002.fa␤»
RabidGravy Roamer, bwahahah - my entire purpose in life is tempting people to write more P6 modules 15:32
15:34 tbrowder joined, tbrowder left
Xliff Are the CompUnit::Repository::* modules documented anywhere? 15:40
gregf_ m: $*SPEC.curdir.say 15:41
camelia rakudo-moar 575dda: OUTPUT«.␤»
15:41 mcmillhj left 15:45 mempko joined 15:47 mcsnolte joined 15:50 mcmillhj joined 15:52 lust joined, lust is now known as Guest58374 15:56 mcmillhj left 15:58 lustlife joined 16:00 lustlife left 16:03 kaare_ joined 16:05 canopus left
gfldex kyclark: could you put an example file for fasta-split on github? 16:07
16:08 mcmillhj joined, iH2O joined
RabidGravy I'm finding myself increasingly annoyed with APIs that use halfCamel 16:08
ugexe the CompUnit::Repository:: namespace is full of interface roles that basically document themselves
RabidGravy that's just dump
ugexe er, CompUnit:: namespace
16:11 muraiki joined 16:13 canopus joined, mcmillhj left
kyclark gfldex, I just pushed a new version that has a link to a sample file you can pull down from FTP 16:14
github.com/kyclark/metagenomics-bo...-split.pl6
16:14 domidumont left 16:15 harmil_wk joined
[Coke] if someone wants to package this up into a reply on the "bootstrap" thread on perl6-users; removing the p5 dep for building is nice to have; the language implementors have been focusing on providing a great language first; what would we replace the p5 dep with? 16:15
16:15 muraiki left 16:17 mcmillhj joined 16:25 iH2O left
[particle] good news for audrey and for open source: www.chinapost.com.tw/taiwan/nationa...net-to.htm 16:26
ugexe m: my $basename = "foo.tar.gz"; say $basename.IO.extension # kyclark this may or may not matter to you
camelia rakudo-moar 575dda: OUTPUT«gz␤»
16:28 mcmillhj left
kyclark ugexe, actually that reminds me that I need to handle gzipped files. Would I need to pipe the file through "gunzip" or is there a native library to decompress? 16:28
harmil_wk [particle]: wow, that's kind of amazing.
16:28 mcmillhj joined
[particle] indeed it is! 16:29
16:31 kjs_ joined
[Coke] holy crap it's [particle]. Hi, man. 16:32
[particle] hey there, [Coke]! 16:33
ugexe kyclark: `tar` also works. If its truly only gz (not tar as well) you can open on windows with powershell using something like `powershell "$xxx.NameSpace('output dir').CopyHere($xxx.NameSpace($gz_file).items(), 0x14)"` 16:34
kyclark To find regular files in a directory, I should be able to do this: dir($path, test => *.IO.f) ???
ugexe no 16:35
$test = none('.', '..')