»ö« 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«1422(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('.', '..') |