»ö« 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('.', '..')
so by default only where `$CURRENT-PATH ~~ none('.', '..')`
16:36 cyphase left 16:37 zacts joined
ugexe github.com/ugexe/Perl6-PathTools/b...hTools.pm6 # This shows how to filter by file (:f), directory (:d), with or without recursion (:r), and setting :$test to non-default values 16:37
the thing is, you probably *want* that none(".", "..") in addition to whatever other check you are trying to add 16:39
not to override it totally
16:41 lizmat left, cyphase joined
kyclark ugexe, PathTools looks cool, but I can't install via panda. I get "Please remove leading 'v' from perl version in PathTools's meta info." 16:41
ugexe ... there isnt a leading v though 16:42
github.com/ugexe/Perl6-PathTools/b...META6.json
16:42 domidumont joined
kyclark In my REPL, "dir('.', test => *.IO.f)" works to find only files (excludes a directory), but in my script (on another machine) it doesn't 16:43
dalek c: d5a91dc | (Jan-Olof Hendig)++ | doc/Language/phasers.pod6:
FIRST does not return al value, see irclog.perlgeek.de/perl6/2016-08-26#i_13094318
16:44
16:46 mempko left
[Coke] m: say Int(Int(3434)) # RT 128326 16:46
camelia rakudo-moar 575dda: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in typename; couldn't find final ')' ␤at <tmp>:1␤------> 3say Int(Int(7⏏053434)) # RT 128326␤»
16:47 mempko joined 16:48 leont left
ugexe kyclark: regarding the leading v: you probably need to `panda update` as the leading V was removed in January 16:48
kyclark ugexe: ==> Successfully installed PathTools 16:49
Thanks!
ugexe that'll probably fix a bunch of other weird module errors you may have encountered with a year-old META data list heh 16:50
16:51 leont joined 16:52 kjs_ left
kyclark Re: reading from a file or a pipe from gunzip, does anybody see a problem with this? 16:53
lpaste.net/180530
16:54 nadim left
ugexe it should work, but on windows you usually have to avoid passing absolute paths on the command line for many unix-y apps 16:56
github.com/ugexe/zef/blob/master/l...ar.pm6#L23 # This is how zef handles .tar.gz pipe. Note how it passes a *relative* path on the command line and sets run's :cwd parameter to make it act the same as the absolute path 16:58
because `-c C:\\x\y/a/b/c.tar` doesn't always get passed correctly
kyclark Cool, thanks for sharing that. 16:59
17:02 domidumont left
ugexe github.com/ugexe/Perl6-Distributio...oc/Tar.pm6 # Mostly the same thing just as a role, just apply to a class with a `has $.prefix = 'my/file.tar.gz'` 17:02
17:03 canopus left 17:04 OnlineCop joined
OnlineCop I was referred here. Some of you from #perl probably recognize me. :P 17:04
ugexe what is your referral code
OnlineCop I'm helping implement some PCRE2 into the regex101 site, and we're wondering if the format has changed from the "Perl 5" regex format to another layout. 17:05
17:05 leont left
OnlineCop ugexe: :) 17:05
17:05 zacts left
ugexe what do you mean by regex format? the syntax? 17:05
OnlineCop Right.
ugexe yes it has changed 17:06
OnlineCop I was looking at the "PSIX" regex syntax, and things were given as examples like /<[+-]>/ instead of /[+-]/
I don't know if that means that only "perl 6" regex has changed but "pcre2" format is the same, or if "pcre2" _is_ "perl 6" format.
("pcre2" is the same as "pcre", that is) 17:07
ugexe im pretty sure perl6 regex is its own thing
OnlineCop If we don't need to change much as far as regex syntax goes for PCRE2, and only add in more features (I think there are now UTF8 or UTF16 by default, and possibly variable-length look-behinds or something...), then we'll try to account for that. 17:08
[particle] from www.pcre.org/readme.txt: PCRE2 is written in C, and it has its own API.
OnlineCop I'm still going over the www.pcre.org/current/doc/html/pcre2syntax.html documentation with him to try to find the differences.
geekosaur that's not perl6 regex 17:09
OnlineCop Okay, so "perl6 regex" and "pcre2" are not the same?
[particle] sorry, you're looking for syntax, not api. the syntax for pcre2 is close to pcre, which is close to perl5 and not much like perl6 regexes.
geekosaur pcre2 is pcre with some additions. it's still perl5-oriented 17:10
OnlineCop www.pcre.org/current/doc/html/pcre2pattern.html states "PCRE2 tries to match Perl syntax and semantics as closely as it can." and I wanted to ensure that it's not saying that "PCRE2 tries to match Perl __6__ syntax and..."
geekosaur perl6 regex is a very different thing
pcre2 is very definitely NOT perl 6 regex 17:11
OnlineCop Okay, awesome. Thanks for helping me understand the differences.
[particle] from www.pcre.org/pcre2.txt: Details of exactly which Perl regular expression features are and are not supported by PCRE2 are given in separate documents. See the pcre2pattern and pcre2compat pages. There is a syntax summary in the pcre2syntax page.
17:11 canopus joined
OnlineCop www.pcre.org/pcre2.txt says to see the 'pcre2compat' pages, but www.pcre.org/pcre2compat.txt doesn't exist. :-/ 17:12
17:12 rudolfochrist joined 17:14 empT joined 17:16 tbrowder joined 17:21 darutoko left 17:22 canopus left 17:25 sufrostico joined 17:29 canopus joined
Xliff Thanks, ugexe++ # CompUnit:: 17:29
17:30 cognominal joined 17:39 kjs_ joined 17:44 empT left 17:48 iH2O joined 17:52 mvorg left 17:53 cognominal left 17:57 adu joined 18:07 n1lp7r left 18:13 labster joined 18:18 mcsnolte left, iH2O left 18:26 wamba joined
Xliff are opendir and readdir supported in P6? 18:26
moritz no, dir() is 18:30
Xliff docs?
18:31 cdg left, OnlineCop left
moritz docs.perl6.org/routine/dir 18:31
18:31 kjs_ left, cdg joined
moritz if you really need opendir and readdir, patch github.com/cspencer/perl6-posix :-) 18:31
Xliff \o/ 18:32
moritz++
Now I vill google "basename perl6"
moritz or just look into the IO::Path docs 18:33
which contains all the path manipulation methods
Xliff Funny, I missed that in IO::Path... but maybe I was looking in IO::Handle by mistake. 18:35
18:36 kyclark left
Xliff But I now have a list of submodules in a given namespace. Now I need to figure out what to do with 'em. 18:36
18:36 cdg left 18:40 zakharyas joined 18:43 espadrine left 18:50 zacts joined 19:00 ptolemarch left 19:03 zacts left 19:06 ejf_ joined 19:08 Actualeyes left, espadrine joined 19:09 ejf left 19:12 r_i_d joined 19:13 kjs_ joined
r_i_d Can anyone tell me why: my Int $x = Nil; $x ~~ Nil; returns false? 19:13
19:16 zakharyas left, committable6 left 19:17 bisectable6 left
Xliff m: my $x = Nil; say $x ~~ Nil; my Int $y = Nil; say $y ~~ Nil; 19:18
camelia rakudo-moar 575dda: OUTPUT«False␤False␤»
Xliff I'm thinking Nil always returns False in such contexts. 19:19
But I am not quite sure.
m: say Nil ~~ Nil
camelia rakudo-moar 575dda: OUTPUT«True␤»
Xliff And that adds more confusion to the fire.
19:19 nadim joined
Xliff m: my $x = Nil; say $x ~~ Nil; my Int $y = Nil; say $y =:= Nil; 19:19
camelia rakudo-moar 575dda: OUTPUT«False␤False␤»
Xliff m: my $x = Nil; say $x ~~ Nil; my Int $y = Nil; say $y == Nil; 19:20
camelia rakudo-moar 575dda: OUTPUT«False␤Use of uninitialized value of type Int in numeric context in block <unit> at <tmp> line 1␤Use of Nil in numeric context in block <unit> at <tmp> line 1␤True␤»
r_i_d what was that last one you did? =:= ?
Xliff Container equivalence
m: my $x = Nil; say $x == Nil; my Int $y = Nil;
camelia rakudo-moar 575dda: OUTPUT«Use of uninitialized value of type Any in numeric context in block <unit> at <tmp> line 1␤Use of Nil in numeric context in block <unit> at <tmp> line 1␤True␤»
r_i_d ok, so like (Int) == (Int) ? 19:21
19:21 canopus left
Xliff Yeah. Comparisons to Nil are screwy. Best to use .defined 19:21
geekosaur m: my $x = Nil; say $x ~~ Nil; my Int $y = Nil; say $y === Nil;
camelia rakudo-moar 575dda: OUTPUT«False␤False␤»
r_i_d Oh? that's perfect, I didn't know about .defined. Thanks!
Xliff m: my $x = Nil; say !$x.defined; my Int $y = Nil; say !$y.defined;
camelia rakudo-moar 575dda: OUTPUT«True␤True␤»
19:21 benchable6 joined, bisectable6 joined, committable6 joined
Xliff ^^ That's probably what you are looking for. 19:22
r_i_d Yep! that's exactly what I need. Thanks again!
Xliff yw! =)
19:22 r_i_d left 19:23 espadrine left 19:28 kjs_ left 19:29 canopus joined
dalek c: d2466f4 | gfldex++ | doc/Type/Hash.pod6:
remove leftover conflict marker
19:37
c: 85894ad | gfldex++ | doc/Type/Nil.pod6:
fix typos
19:39 rudolfochrist left 19:46 Khisanth left
tony-o who is retupmoca? 19:52
and also, why are there so many michiganders in p6
timotimo to find mst presentation in a live stream, just look for volume peaks :) 19:56
this wall of 4x4 TVs is ... amazing 19:57
.seen retupmoca 19:58
yoleaux I saw retupmoca 8 Jun 2016 21:09Z in #perl6: <retupmoca> m: say ('a'..'d').rotor(2 => -1).perl;
tony-o timotimo: pics? 19:59
19:59 Khisanth joined, vendethiel joined
timotimo youtu.be/LfrlqxzeSSE?t=3h26m12s - go back a few minutes to see it in "restart mode" 20:00
20:00 SmokeMachine____ left
tony-o nice 20:02
i'm guessing that's MST
timotimo yup
20:02 BuildTheRobots left 20:05 cdg joined, Possum left
El_Che good travels for those leaving yapce 20:06
20:08 xnrand left
timotimo i'm looking forward to getting all the changes mst made into our build system 20:11
my $$q = "'"'"'"; - this is the best thing ever 20:13
wow, 6serv, that is amazing 20:16
20:18 kjs_ joined
timotimo mst: that presentation was very entertaining and also quite informative 20:18
mst timotimo: also, as of my lightning talk, it's even easier
grab the 6serv.tgz
unpack it
install App::opan
opan cpanm --installdeps .
tony-o this is super entertaining 20:19
mst presto, running 6serv, if nothing blows up
timotimo fantastic
when can we start grabbing your terrible ad-hoc patches and making them official parts of the build "system"?
or would you like us (or yourself) to do a bit more of a "full rewrite" ;)
mst honestly, the makefiles aren't terrible except for (1) not consistently using the variables (2) YOU NEED MORE THAN ONE SORT OF PREFIX FFS 20:20
timotimo right
i've always been more than happy that we only have a single prefix where everything goes
but that's admittedly short-sighted and egocentric
(.. as fuck)
mst the configure scripts could probably do with being re-engineered with fire
timotimo right
mst what I was going to do was get as far as shipping what I have 20:21
timotimo at some point the configure scripts are also going to be re-written in nqp and we'll perhaps ship a fully bootstrapped moar + nqp to run the configure stuff :P
mst then test an upgrade to .08 for them
timotimo does that sound insane enough? good.
mst then start figuring out how to get patches back into the makefiles
if the configure scripts actually passed everything they knew to the makefile that would help
also if the rakudo one had options at all
timotimo right
20:22 MilkmanDan left
timotimo after the first months of dealing with perl6 at all, i've stopped using --gen-anything from the configure.pl anyway and just have the three check-outs provide the same thing to --prefix; i'm astounded that sysadmin you mentioned would flip table immediately instead of trying that, but i expect it wasn't actually documented in any unsurprising location at all 20:23
mst well, no, once they'd recovered from "it shat all over my filesystem during configure time" they did go back and do that
it just took them a while to stop being angry at having had to roll back their filesystem because of the massive violation of expectations
timotimo oh, shit, they used a system-wide --prefix? 20:24
mst (remember that those install directly into prefix, no chance for DESTDIR)
they were trying to setup freebsd ports
20:24 kjs_ left
mst so it shat over /usr/local without warning 20:24
timotimo until recently i didn't even have a clue DESTDIR would be anything different from --prefix, tbh
mst DESTDIR is required for packaging
basically the --gen-* options need documenting as THIS WILL DO SOMETHING COMPLETELY INSANE 20:25
20:25 nbg joined
mst rather than being recommended without explanation 20:25
timotimo ah, yes, definitely
mst so, yeah, zfs snapshot rollback followed by taking a week to calm down
20:25 mcmillhj left
mst I don't feel this is unreasonable 20:25
tony-o Method 'input-line-separator' not found for invocant of class 'IO::Socket::INET' 20:26
mst I'd tend to rm -rf something that did that to me on the grounds it clearly isn't production code or anything close
"I'll try it again in a year, maybe they'll be less stupid" is a completely reasonable response to it to my mind
timotimo how do you feel about when --gen-nqp is used, the program will output a blinking, colorful warning that things will immediately be installed to live under the given --prefix and you have *countdown from 15* seconds to ctrl-c before your system gets augmented
mst that would certainly be a start 20:27
timotimo though as far as i know we only "pollute" the bin folder, everything else goes under nqp/ or moarvm/ or rakudo/ or perl6/ somewhere
so not a terrifying clean-up job
mst installing things, at all, without warning, during configure time
is ... agh
yes. it's not hard to clean up. but it's still *horrifying* 20:28
timotimo quite
mst "sure, I took a shit in your bathtub, but it was a solid shit so it'll be easy to carry to the toilet" 20:29
timotimo i'm adding the ", and install" part to the configure.pl helps now
and then to readmes
mst also, if we could have nqp --show-config actually say what *its* prefix is as well as moar's 20:30
that would simply stuff a lot 20:31
I should probably try and jot down exactly what I think should be changed
timotimo that'd be fantastic
mst I mean, in terms of external behaviour
[Coke] mst: thank you for being bothered enough by this to fix it. :)
mst there was no freaking way I was putting my name to a cpan dist that used the current behaviour :P
[Coke] hoping this helps other packagers as well.
timotimo gist.github.com/anonymous/c0bec856...4350c49e1e - is that verbiage okay? 20:32
mst no, because it still doesn't make it clear that it will install it direct to --prefix before Configure.pl completes
and *that* is the violation of clue
masak mst++ # not giving up on us 20:33
mst "Downloads, builds and installs NQP before completing configuration and writing Makefile"
might be a little clearer
timotimo oh
is putting "Immediately" in the front acceptable, too?
mst I would want 'before writing Makefile' in there as well 20:34
timotimo OK
mst this is sufficiently insane from a how-configure-make-make-install-works-in-grown-up-software POV
that it needs calling out really hard
timotimo i've put "before writing the Makefile" after the three options
mst that should help 20:35
I don't want people to be horrified at the immaturity before they get as far as actually getting rakudo installed
timotimo and i put "- at Configure time -" into the longer blob
mst we're in early days enough here that immaturity is ok, but we need a chance to hook them with fun before they realise just how immature ;) 20:36
20:36 SmokeMachine____ joined
tbrowder m: my $s = '. 1. '; say $s 20:37
camelia rakudo-moar 575dda: OUTPUT«. 1. ␤»
yoleaux 13:53Z <smls> tbrowder: Change «$serial = $0;» to «$serial = +$0;».
20:37 aindilis left
tbrowder m: say $s 20:37
camelia rakudo-moar 575dda: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$s' is not declared␤at <tmp>:1␤------> 3say 7⏏5$s␤»
mst timotimo: I mean, ideally, we'd figure out how to be able to build against an uninstalled version
if the --gen-* options did the configure for each thing at configure time 20:38
then built them in order at 'make time'
then 'make install' installed all three
they'd be totally sane
also, I could've had one cpan dist instead of three
but that probably requires more linker etc. fu than I honestly have 20:40
timotimo pushed another patch to the README.md 20:41
now i'll be AFK for a bit, and open to a bit more build system or documentation hackery later in the day, if need be
20:41 mithaldu_ joined 20:43 Lucas_One joined, nadim_ joined, nadim left
tbrowder does anyone have any idea about what's wrong with the regex capture I example showed earlier? 20:43
20:44 mcmillhj joined
El_Che mst: I saw some of your talk through the streaming. "The story of my life in 50^W30minutes" 20:44
tony-o tbrowder: did smls' message not do anything for you?
20:42 <+yoleaux> 13:53Z <smls> tbrowder: Change «$serial = $0;» to «$serial = +$0;».
mst El_Che: yeah, pretty much
El_Che mst: were you able to make up for the disappeared time? (I didn't see the end, had to leave to a meeting) 20:45
tbrowder sorry I didn't see that--thanks
mst El_Che: I finished at 29:59 apparently 20:46
El_Che impressive
mst then I had tech problems and had to compress the perl6 one which was *designed* for 30min, did that in ~22
20:46 BuildTheRobots joined
mst which still meant finishing 10min late 20:46
tony-o where are you from mst? 20:47
El_Che mst: I saw most of the perl6 talk. The configure installing stuff made me laugh out loud
a colleague came in to my office to check why :)
mst tony-o: lancashire, grew up near wigan, now in lancaster
20:49 mcmillhj left, cognominal joined
El_Che mst: takahashi slide method and faster presenting because of time contraints. I hope there weren't any epileptics in the room :) 20:50
mst :D 20:51
oh, yeah, and I built an Alien-Rakudo-Inline-Perl5 after the talk with the aid of a couple tweaks to its installer from nine++ 20:52
20:52 kipd joined, ajr_ joined 20:53 adu left
avar mst: is that rakudo as a perl5 module? 20:53
mst avar: as three.
20:53 wamba left
mst avar: trout.me.uk/6dists/ 20:53
ajr_ How do I identify the OS under which P6 is running? I can't find it in the docs. 20:54
mst to try them out, run:
cpanm -n App::opan; curl -L trout.me.uk/6dists/
bah
cpanm -n App::opan; curl -L trout.me.uk/6dists/6serv.tgz | tar xzf -; cd 6serv; opan cpanm --installdeps .
tony-o m: $*OS.say;
camelia rakudo-moar bc187b: OUTPUT«Dynamic variable $*OS not found␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
tony-o apparently i've been away too long 20:55
20:55 edehont joined, skids left, smls left
tony-o m: $*DISTRO.say; 20:56
20:56 edehont left
camelia rakudo-moar bc187b: OUTPUT«opensuse (13.2.Harlequin)␤» 20:56
tony-o m: $*KERNEL.say;
camelia rakudo-moar bc187b: OUTPUT«linux (3.16.6.2.default)␤»
20:56 kjs_ joined
avar mst: Cool, literal did the same thing @ work pretty much, but it's just called Six::Rakudo and is one dist that contains the rakudo-star release 20:57
and inline-perl6 then depends on it
20:57 rindolf left, mcmillhj joined
mst avar: yeah, that really doesn't count. mine installs to three independent prefixes and doesn't touch install dirs during configure time 20:58
for in-house use, what you did is totally reasonable
but I was unwilling to amateur hour it :)
20:58 skids joined 20:59 olinkl joined
avar Have you discovered that you need this monkeypatch on rakudo: 21:00
sed -i 's/"install"/"--nodeps", "install"/' tools/build/module-install.pl
jnthn mst++ # implementing installing to separate prefixes :)
avar there's a pull request for it, otherwise panda needs to go to the network to resolve deps
mst avar: I did not, because I ignored star, because its configure is even more of a nightmare and the current release manager keeps abusing other devs on twitter and won't speak to me on IRC since I called him out for attacking other perl5 devs because he's politically right wing and treats anybody who doesn't vote conservative like they're stupid. 21:02
I have better things to do with my life than deal with that
21:02 pecastro left, mcmillhj left
tony-o lol. what? 21:02
mst also, nine gave me a manaul insaller for Inline-Perl5 so I don't need that
21:03 skids left
avar Okey I don't know how star is put together, I assumed from the 2016.07 bit that this was basically a split-up version of the same thing 21:03
mst the underlying releases have the same numbering
star is basically a copy-pasta of rakudo's configure.pl from aages back with some stuff added to install extra modules, and then about 1/3 of the subsequent fixes to rakudo merged down 21:04
I did not feel like dealing with that
avar For your MY::postamble sections: s/cp/$(CP)/g; s/perl/$(PERL)/g etc.
mst yeah, it's very much proof of concept quality
avar Anyway, looks really good, would me great to have this on the CPAN 21:05
mst that's why I didn't even upload 'em as devrels yet
avar we hacked up or own because nothing like this was there, but would totally use it if it was there
mst didn't want smokers to deal with the obvious amateur hour bits in my attempts at de-amateur-houring the stuff I'm wrapping ;)
avar Does it have any modules like DBIish, or is that a rakudo-star only thing? 21:06
mst ... my test run on $other_box just died because rakudo used 1Gb RAM building
El_Che from my docker infra use case I always pick rakudo and add modules needed by the app.
mst that's star only
21:06 notbenh_ joined
avar We build ours from star and it comes with a couple of dozen modules 21:06
mst star is meant as an example of how to include modules, from which you derive your own distribution
avar Yeah I was thinking that it would make sense to build those all as Alien-Rakudo-Module-$NAME or something, but we didn't get around to it, it's just one huge bundle
mst people packaging it was never what it was for, and every time people do that it makes bunny cry
timotimo mst: how terrible is it that moar's Configure.pl will hit the 'net to update its 3rdparty dependency submodules? 21:07
21:07 AngeloMichael joined
mst perl5's Configure needs to ssh into a system of the target arch for cross compilation 21:07
that sort of thing is filed under "gross but not actively evil"
jnthn timotimo: Does it actually do that for the release tarballs?
mst avar: that would be one way to do it. my plan is to build a hybrid cpan client designed for perl5/perl6 mixed apps 21:08
avar mst: Well if there's something you're actually meant to package in the perl6 universe I'd be happy to use it. No disrespect to anyone here, but it seems *really* basic from a packaging point of view.
mst but I'm attempting to do it Right so as with all things involing perl6 and 'doing it right' (like, say, perl6), don't hold your breath
avar I.e. it's all "run this ad-hoc script and it'll give you a module", not "here's something you could easily make into a distro package" like perl5 21:09
mst correct
I believe that what you're meant to package is the underlying actual releases, like I did
but remember I'm still mostly a tourist here
El_Che mst: if you're looking on things to fix on the perl6 ecosystem, are you taking requests?
mst I'm trying to de-amateur-hour things for my own purposes, but I'm starting from the bottom up
21:09 kjs_ left
mst I'm probably going to throw a chair and fix the freaking CUR format to not use freaking sha1s for the filenames 21:10
avar Yeah same, that didn't seem so hard, it's just some C code talking to other C code, but I haven't found how to get stand-alone perl6 modules in some .tar.gz format or whatever that I can unpack, build, and package up as an rpm or whatever
mst jnthn: btw, remember I said the sha1s would horrify unix people, and had to explain why?
avar The same unix people who are using git for all their source control ?:) 21:11
mst jnthn: I met a sysadmin at YAPC::EU who'd tried to get permission to use perl6 and discovering the sha1s was the point at which their boss went 'this breaks locate, this is not production ready, you're banned from using it'
avar: my git *checkout* has lib/Foo.pm in it
tony-o the sha1 file names for precomp?
mst avar: my perl6 site directory has a sha1 file instead :(
timotimo jnthn: i don't think it does. i haven't looked if it touches the dependency git repos if you use --has-lib* in configure.pl; that might be worth a look-see. it's probably already fine, though
mst tony-o: for CUR 21:12
tony-o yea
should've voted for the extra file extension
rather than the sha1
timotimo i was phantasizing about a bunch of docker-using scripts/thingies that'll go through a bunch of different use cases for our configure scripts and tries to verify we handled things properly
mst I was thinking about much the same thing, except with less CADT
timotimo i.e.: regular user, installs under /home; packager, has a DESTDIR and fakeroot; embedded device developer, has to cross-compile for two different architectures; ... 21:13
21:13 cognominal left
mst yes 21:13
timotimo what is CADT?
21:13 mohae_ joined
mst timotimo: www.jwz.org/doc/cadt.html 21:14
21:14 mcmillhj joined
timotimo ugh :) 21:14
i remember that text
your "i was thinking about much the same thing" was in response to my "phantasizing" bit?
mst yes 21:15
21:15 firstdayonthejob joined
mst just docker is currently in the CADT category for me 21:15
jnthn mst: Did things already get changed so the SHA-1 is in the path, but the filenames are in a directory under that? But, sigh, you can't please everyone.
mst jnthn: no
jnthn: well, it's enraging me as well
tony-o the extension thing was on the table before sha1 came about
ugexe need a internal puny encoder or some such to keep original file names
timotimo i was picking out docker in particular because it's more or less a solution to "i want to have a scratch filesystem with some distro installed and be able to just throw out the complete thing with the touch of one button when i'm done with it" 21:16
jnthn mst: Good. That means it'll get solved. :)
21:16 mohae left
jnthn (Not by me, though. Phew. :)) 21:16
timotimo heh :)
jnthn is *very* glad that other folks are now taking this stuff on, and only wish they'd done so about 6 months sooner than they did
21:16 nadim_ left
timotimo who knew the solution would be to just throw some cash in mst's face :) 21:17
mst the cash was a while back
my problem was mostly lack of motivation
tony-o it's difficult to want to when PRs are rejected and that code magically ends up in the repo anyway
timotimo i'd just have to eat only ramen out of plastic bag-like containers for a month and then any bug that annoys me could get fixed by An Actual Professional!
mst lizmat's 'perl5 is the new perl4' lightning talk was basically a giant fuck you to my entire community and put me off for quite a while
tony-o mst: when was that? 21:18
jnthn Well, I see we're back to whining, so I'll go have fun. :)
mst jnthn: meh
jnthn: you whined I didn't help earlier
jnthn: I told you why :P
21:18 mcmillhj left
jnthn :P 21:18
ajr_ $*OS and $*OSNAME both fail to identify the OS. Any other suggestions, anyone? 21:19
mst also, y'know, if anybody'd included the perl5 toolchain team in any of this we could've helped it not be terrible in the first place
jnthn: after chasing you into talking to the moose team and that helping, I sort of thought people might've worked that out when they got to the CUR implementation parts 21:20
timotimo ajr_: $*KERNEL and $*DISTRO?
mst and then I didn't notice until later
cos I also suck
awwaiid never too late 21:21
avar So maybe it's time for a perl6-porters?:)
21:22 ufobat joined
timotimo we did have #perl6-toolchain and #perl6-release 21:22
no clue if they're actively being used
ajr_ timotimo: those discriminate between Linuxes - how does one identify Windows (generically)?
ugexe m: say $*DISTRO.is-win
camelia rakudo-moar bc187b: OUTPUT«False␤»
ajr_ Failing that, what's the generic name for those variables, so I can find them in the docs? 21:23
timotimo right
21:23 mcmillhj joined
timotimo .is-win is the right one 21:23
gfldex ajr_: you poke around in the registry
mst timotimo: yes, we have #perl6-toolchain because I got fucked off and created it.
timotimo it won't tell you "windows" if you're running ubuntu on your windows 10, though
at least i don't think it will 21:24
but with ubuntu-inside-win10, you aren't as royally fucked as you are on windows on general
so maybe it shouldn't give True for .is-win
ajr_ The original swamp I was trying to drain was telling the user what EOF character to use to terminate input
gfldex ajr_: docs.perl6.org/language/variables#..._variables
timotimo ajr_: did you know we do some automatic newline stuff For You? 21:25
mst timotimo: depends if they've fixed stat() yet
21:25 ItayAlmog joined
timotimo mst: i'm personally not going to touch windows for development with a quite long stick, so ... :) 21:25
i'm not even following the intricate details of that thing
mst ok, well, basically, at the moment it's more 'differently fucked'
ajr_ gfldex - thanks 21:26
21:26 lizmat joined
ajr_ timotimo: not sure I understand that 21:26
jdv79 this is the first i'm hearing of a p5 is the next p4. odd.
tony-o was p4 the next p3?
timotimo ajr_: what exactly? 21:27
jdv79 i started using perl at about 5.6 or whatever was just before so i have no idea
mst jdv79: it was a lightning talk, the theme of which was "you're obsolete and shit and we're you're only hope for the future"
ajr_ The "automatic newline" stuff 21:28
mst I was not particularly happy about it
you're welcome to go find a video, I'm not going to discuss it further
21:28 nadim_ joined
avar mst: What day was it on? 21:28
mst it was a while ago, and I don't even remember which conference, and honestly I've done my best to forget about it because I'd like to get over it and keep trying to bring the two communities together in spite of the periodic acts of idiocy like that from both sides, especially give right now I think the perl5 community is producing acts of idiocy of such forms rather more often ;) 21:29
timotimo ajr_: ah, ok. i don't know how exactly it works nowadays; i think we translate at program boundary and inside perl6, \n refers to a "logical newline" and for the other meanings you use \x20 (or what ever the right ascii code is) and optionally the \x?? for \r
avar Ah, I thought you mean this YAPC that just finished 21:30
timotimo maybe perl6 is only now becoming interesting enough for regular perl5 users that they need to panic or something
21:30 mcmillhj left
ajr_ timotimo: I entirely agree with you about development on Windows, but there's a lot of it about, and I'm trying to write generic training examples. 21:31
jdv79 mst: thanks for your extensive efforts, btw. much appreciated.
timotimo right
i wonder how hard it'd be to get a camelia running on windows so we can just try shit out on the channel
it'd potentially be expensive to get a windows host? 21:32
hm. isn't windows 10 for vms available for free?
21:32 woolfy joined, mcmillhj joined
timotimo i really don't want to stick a hand in that particular hornet's nest, though 21:33
21:33 nadim joined
timotimo is there a pure-perl5 implementation of git that'd allow us to fetch our submodules during build time and maybe also for panda and such? 21:36
hm. actually ... shouldn't we just be able to use github's "give me a zip file of this repo at this commit" as a replacement for basically everything we use git for during build and panda installs? 21:37
avar yes, you should
21:37 mcmillhj left, nadim_ left
ugexe zef can already do that for module installs 21:37
21:38 parabolize left
timotimo very good. can you point that out on the mailing list thread i just posted to? 21:38
Message-Id: [email@hidden.address] 21:39
ugexe pure perl5 is possible via UA and simple api-url transforms 21:40
github.com/ugexe/Perl6-Distributio...Github.pm6 uses this method
timotimo ugexe: i meant a pure-perl git implementation :)
which would require parsing blobs, trees, and commits
ugexe you can fetch all of those from the web ai i believe 21:41
timotimo ah, yes 21:42
only if your server has recently run git-update-webserver-data-something-something
but git probably has something on their server that implements the whole thing itself
rather than relying on the stuff living on the filesystem
at least i'd do it along those lines
ugexe api.github.com/repos/rakudo/rakudo...ecursive=1 # for brevity
timotimo oh, interesting! 21:43
21:45 setty1 left 21:46 dogbert17 left
ajr_ This my $EOF = "CTRL-" ~ ($*DISTRO.is-win ?? "Z" !! "D"); appears to do what I want - at least on Linux - thanks 21:48
timotimo ah, nice.
21:51 mcmillhj joined
ItayAlmog is it ok that my compiler will have a limit of 10 params when creating and using subs or methods? 21:52
21:52 imcsk8_ is now known as imcsk8 21:53 ajr_ left
timotimo that sounds like an extremely tight limit 21:53
21:55 mcmillhj left
timotimo m: sub a($,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$) { }; a(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5) 21:56
camelia ( no output )
timotimo why would there be a static limit?
vendethiel
.oO( there's only so much RAM )
yoleaux 22 Jul 2016 23:32Z <cog_> vendethiel: thx for the URL 21:57
tbrowder .tell smls: thanks! the "+$0" did the trick
yoleaux tbrowder: What kind of a name is "smls:"?!
vendethiel yoleaux: it's about time you learn how to remove that trailing :.
ItayAlmog I am using (as of right now) 10 registers which are for general use as the way to pass params
vendethiel ItayAlmog: cdecl will pass arguments via stack starting from the 8th one, IIRC :)
timotimo oh hey ven 21:58
how are you doing?
vendethiel pretty good! how about you?
tbrowder .tell smls thanks! the "+$0" did the trick
yoleaux tbrowder: I'll pass your message to smls.
timotimo a bit meh
vendethiel aw
ItayAlmog This can be a good Idea using the stack for parameters, I will try and make so it will use both :D
thanks
vendethiel np, gl :-)
timotimo: what have you been up to? 21:59
timotimo this and that
vendethiel you mean $. and $!
timotimo un-bitrotting my GTK::Simple-based shooter recently
i wanted to use our scintilla module for the code input thingie, but it doesn't seem to have an API for "what are the contents?" right now
so that was ... not helpful :D 22:00
22:00 kjs_ joined
vendethiel I remember that bit 22:00
vendethiel gets a PTSD flashback everytime he reads "GTK::Simple" :-P
timotimo sorry about that :( 22:01
vendethiel don't be! it was so much fun.
timotimo i'm not saying it's your fault for using Mac OS X, but ... :\
vendethiel yeah, I'm sorry for wanting a desktop. :P 22:02
mst Mac OS X makes for a great OS for a TV
I don't understand people who try to use it as a development machine ;)
vendethiel I don't understand people who try to use linux as a desktop machine :). 22:03
mst neither do I, I'm sat at a windows+cygwin system with a freebsd VM
vendethiel you can be happy you managed to watch a video only after 5 hrs of fiddling with your settings, I can be happy stuff apple wants to work works :P
22:03 dogbert17 joined
mst what? 22:03
don't accuse me of being one of them
vendethiel sorry; sorry! 22:04
mst switched back to windows because cygwin's X11 support was better than OS X
meanwhile, I have managed to hit exactly 140 characters and have just tested this on a fresh user on a dev server
twitter.com/shadowcat_mst/status/7...2365946883
I might be rather proud of that tweet :)
masak \o/ 22:05
mst++
vendethiel (and there's no |sh ! mst++)
timotimo \o/
mst that's one of the few things in this world that actually triggers my gag reflex.
vendethiel echo "let the hate"|you 22:06
22:12 leont joined 22:28 ufobat left 22:31 kjs_ left 22:39 RabidGravy left 22:49 leont left
timotimo vendethiel: did you read about the many multithreading stability improvements made recently? 22:50
22:51 skids joined
vendethiel timotimo: yes! 22:56
22:56 firstdayonthejob left
vendethiel I'm reading pretty much every single commit made by you++, lizmat++, jnthn++ (and a few others :-).) 22:57
I managed to sneak in Perl 6 in code generation, internal tools and some other areas. But nothing "running" yet... 22:58
22:59 olinkl left 23:00 AngeloMichael left, notbenh_ left 23:01 BuildTheRobots left
vendethiel timotimo: I still have a project that just crashes (moarvm gc: invalid status) using GTK::Simple. Did that ever happen to you? 23:01
(using supply.schedule-on and GTK::Simple::Scheduler)
23:02 kipd left, Lucas_One left 23:03 mithaldu_ left
timotimo not once :( 23:06
vendethiel i do have a repro repo: github.com/vendethiel/moarvm-gcerr...solated.p6 if you ever get some time to look at it :) 23:07
23:08 zacts joined
timotimo that still crashes with very latest everything, i take it? 23:09
vendethiel it was crashing around a month ago, before I left for some holidays. I'll need to re-try with latest everything. 23:10
23:10 nadim left
timotimo huh, the $c-o supply won't even ever emit anything at all? 23:13
vendethiel it loads for a few (dozens) seconds, then when the window starts loading, it prints "Invalid GC status observed" and crashes 23:14
23:14 Lucas_One joined
timotimo it seems a bit smelly that you're changing the value of a TextView before actually running the app itself? 23:15
23:15 AngeloMichael joined
timotimo the loading for a few dozen seconds could very well be startup overhead 23:15
vendethiel yeah
timotimo i recently made a measurement where a program with nothing but "use GTK::Simple" spends about 50% of its time in re-parsing the same json string over and over again a few hundred times
but that's only the first time running after installing 23:16
nine said we could change the implementation so it wouldn't have to parse the json stuff even a single time
vendethiel sounds amazing :-)
jnthn vendethiel: Some of the things I've fixed in the last couple of weeks stand a chance of fixing the memory corruption it's detected there.
vendethiel jnthn: that's amazing to hear! I'll be busy with a C school project this weekend, but I'll try to see if it's now working 23:17
jnthn vendethiel: I found a few nasty things going on in a couple of concurrency constructs where GC safe-points were mishandled
23:17 MilkmanDan joined 23:19 olinkl joined 23:20 Possum joined 23:22 zacts left 23:25 zacts joined 23:28 kipd joined 23:31 zacts left 23:32 cdg left 23:39 mithaldu_ joined
tbrowder p6: my uint $n = 4 23:42
camelia ( no output )
tbrowder p6: my uint64 $n = 3; say $n 23:43
camelia rakudo-moar 6a8278: OUTPUT«3␤»
AlexDaniel not sure why would you do that today though 23:44
m: my uint64 $n = 3; say $n; $n -= 5; say $n
camelia rakudo-moar 6a8278: OUTPUT«3␤-2␤»
23:46 AngeloMichael left, kipd left, SmokeMachine____ left, olinkl left, Lucas_One left, mithaldu_ left
tbrowder I need to convert an Int to an unsigned in to compare output from a hash program to a p6 hash function 23:51
avuserow_ m: my uint64 $n = 3; say $n; $n -= 5; say $n; say $n.WHAT 23:53
camelia rakudo-moar 6a8278: OUTPUT«3␤-2␤(Int)␤»
avuserow_ never mind, that didn't do what I thought it would 23:54
tbrowder the p6 Digest::xxHash module wraps the C xxhash library and converts unsigned ints to p6 Ints; I want to compare the two outputs somehow
Skarsnik_ err, why $n type get changed 23:58
23:58 Skarsnik_ is now known as Skarsnik
tbrowder p6: my uint $n = 7; say sprintf "%x", $n 23:59
camelia rakudo-moar 6a8278: OUTPUT«7␤»
Skarsnik probably because uint64 is a bastard type unlike unit?