»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:08 aborazmeh joined, aborazmeh left, aborazmeh joined
guifa Yeah, zef definitely requires a META.json file. They’re fairly simple to create and once you do it you won’t have update them unless you add new files to the module 00:13
raschipi As soon as he has a META6.json file his problem will be solved for now, so zef doesn't help in this case. 00:15
00:20 squashable6 left 00:22 aborazmeh left 00:25 squashable6 joined 00:31 [Sno] left
ToddAndMargo I'm, lost. This is over my head: github.com/gfldex/perl6-meta6-bin/.../README.md 00:52
00:54 Manifest0 left 00:57 leont left 01:00 lizmat joined, Manifest0 joined 01:02 lizmat left
guifa ToddAndMargo: how many files do you have in your module? 01:07
ToddAndMargo What do you mean? I have a p6lib directory with all my pm6 moduels in it. 01:10
$ ls -aF p6lib/ ./ FileVer.pm6* Raw.pm6 ../ Net.FTP.Inline.Perl5.pm6 RunNoShell.pm6* CheckSystemDependancy.pm6 Pause.pm6* X11Clipboard.pm6 CurlUtils.pm6* .precomp/ Xlib.pm6 eMailDate.pm6* PrintColors.pm6*
What does .precomp do?
guifa precomp holds precompiled data for you. Let’s say you run a script that references PrintColors.pm6. The first time you run it, it will compile PrintColors.pm6 and store the compiled data in precomp. Then the next time you run it — so long as you haven’t edited PrintColors.pm6 — it will start up much faster 01:11
ToddAndMargo This is the speed issue: $ perl6 --stagestats GetUpdates.pl6 ... Stage parse : 5.722 01:13
What does "Stage parse" do and why so slow 01:14
01:15 lichtkind left
guifa I haven’t done much with the stats on it but my guess is that is actually parsing the syntax of your file. Is it a particularly large file? 01:18
MasterDuke ToddAndMargo: stage parse is where the compiler parses your source code into an AST (abstract syntax tree) before turning the AST into bytecode. it uses rakudo's grammar engine, which isn't very optimized yet
guifa That’s what a META6.json will look like, and you can just fill in your information
MasterDuke ToddAndMargo: but you can get around that by turning your scripts into modules, and then you get the benefit of precompilation like guifa++ said
so instead of GetUpdates.pl6 containing lots of lines of sources code, you'd have GetUpdates.pm6 that has all the logic, and then GetUpdates.pl6 would just be something like 'use GetUpdates; GetUpdates.new' 01:20
ToddAndMargo I come from Modula2. I live and die by modules. I never write anything twice that is resued. It is the way I organize myself
GetUpdates.pl6 has lots of lines (~7000) as I can't repeat myself on what it is doing. 01:21
"which isn't very optimized yet" maybe it is as fgood as it gets for now? Eventually we will catch up with Perl 5? 01:22
01:24 lucasb left
guifa You can dump random subs into modules, by the way. There are lots of ways to sneak stuff out and put them into modules. If anything can reasonably be pulled out as a sub — even if it’s only used once or twice — for compile-time/start-up purposes, it can be beneficial to dump it into module. Plus for me personally it makes code look cleaner, but the extent to which you can do that will vary a bit with your projects 01:25
ToddAndMargo Oh I get it now. Sorry for being thick as a rock. My code has ~1200 lines (of 7123 lines) devoted to helper subs. Do you think dumping them to a module would help? 01:27
These subs are not reused in any of my other code, so I never put them in a module 01:28
guifa It would probably cut out about 15-20% of your compile time depending on the complexity of the different lines.
Also, for instance if you’re doing three things: (a) get data, (b) parse data, (c) display data, each of those stages could be pulled out into a module, so that your actual pl6 file just says “display-data(parse-data(get-data(@params)))”.
For me the first thing I do when I have a P6 project is immediately create a library structure. Unless there’s a burning reason for a class or sub to be in the main file, after they hit more than about 20 lines I tend to pull them out into a sub. That may be a bit overkill from my Java and OneClassPerFile background but it’s really helped me just on general organization, besides the performance benefits 01:30
01:31 netrino left
ToddAndMargo I like it! 01:32
MasterDuke there is definitely optimization that can be done to the grammar engine. the main problem (in my opinion) is that it's code that not a lot of people are used to optimizing, so it doesn't get as much work. however, jnthn++ has said he hopes to work on it, so we can hope for improvements over time 01:34
ToddAndMargo This programs goes out on the web and look for revisions of the ~62 programs I have to carry with me on a flash drive to customer's site (has a read only switch so I don't catch things from them). I have to have 62 separate subs for each site because their web pages are all different. But I sub the heck out of things where I can. If I really wanted to go nust, I'd put all 62 in separate modules. Maybe I am going overboard
MasterDuke if you want to speed up parsing then yeah, put them in a module (but one module would be faster than 62 separate modules) 01:35
good luck, i'm off to play some video games 01:37
ToddAndMargo One of the *few*, possiblly the only one, thing I like better about Perl5 is my abiliby to state which subs I am importing from a module: `use Term::ANSIColor qw ( BOLD BLUE RED GREEN RESET );`. It makes it a heck of a lot easier when I am trying to figure out where somethign came from. As a work around in Perl 6, I do `use PrintColors; # qw[ PrintRed PrintGreen PrintBlue PrintErr PrintRedErr PrintGreenErr PrintBlueErr ]`. 01:39
Please tell me you guys are going to implement this sometime soon? 01:40
guifa You actually can do that! 01:42
ToddAndMargo I am all ears! 01:43
guifa You actually get even more control than listing them individually
In the pm6 file, right now you probably list things that you want imported with
ToddAndMargo You have my undivided attention~
guifa sub foo is export { … }
ToddAndMargo pl6 or pm6? 01:44
guifa in the pm6 file
ToddAndMargo `sub foo is export` is how I do it. I am talking about the mail program (.pl6)
main nor mail
guifa Right, you have to do the work on both sides, because the feature is actually allows for a lot more than just choosing single items. 01:45
what you do is instead write
sub foo is export(:tag, :foo, :bar) { … }
if you want to mirror P5 behavior, just have the :tag be identical to the sub / class name 01:46
But what’s cool about is that you can use the same tag on multiple exported symbols
And then with a single keyword, import a group of things
Anyways, once you’ve done that, in your .pl6 file 01:47
you’ll say
use YourModule :foo, :another-foo, :something-else;
Any symbol with those tags will be imported.
ToddAndMargo Is there a write up in the doc's somewhere (that a newbie can understand)?
guifa docs.perl6.org/language/modules#Ex..._importing
raschipi If the tags match the symbols, you'll get the same behavior from P5. But they don't have to match in P6, you can get way more interesting behavior. 01:49
ToddAndMargo That is a nice refresheer for someone that already knows what he is doing and forgot this or that. Do you have a reference for dum-dum's? Examples would be great!
raschipi It's not much complicated than that, is export takes a list of tags and you can put those tags after use Module. 01:51
To get the same behavior of Perl5, put the name of the object as the tag. 01:52
ToddAndMargo sorry, still over my head. If I have `sub CurlGetWebSite( $Url ) is export {` and `sub CurlGetHeader( $Url ) is export {`, I put `:$Url`? I am lost. 01:56
raschipi is export takes arguments 01:58
so "sub CurlGetWebSite( $Url ) is export {" becomes "sub CurlGetWebSite( $Url ) is export(:CurlGetWebSite) {".
guifa ToddAndMargo: gist.github.com/alabamenhu/df1a965...23cfdab3db 01:59
take a look at tha
raschipi This way it will work the same way as Perl5
ToddAndMargo What is confusing me is my repeating of the variable `$Url` in several of my exported subs. I waht to state that I am importing a particular module. And how did `$` become `:`? 02:03
particular sub from a module
guifa :foo is short hand for foo => True 02:04
02:04 Manifest0 left
guifa there’s no problem using $url inside of several subs — variables are lexically scoped 02:05
your signatures will look like this: 02:07
sub CurlGetWebSite($Url) is export(:CurlGetWebSite) { … } 
sub CurlGetHeader($Url) is export(:CurlGetHeader) { … }  02:08
02:08 Manifest0 joined
guifa and then in your main script, you’ll say 02:10
use YourModuleName :CurlGetWebSite, :CurlGetHeader;
ToddAndMargo Oh. I think I am getting it. This `sub CurlDownloadFile( $Options, $Url, $FileName, $TimeOut, Int $ProgressBar ) is export {`
becomes `sub CurlDownloadFile( $Options, $Url, $FileName, $TimeOut, Int $ProgressBar ) is export(:CurlDownloadFile) {` 02:11
guifa exactly!
ToddAndMargo do I FINALLY understand?
raschipi Int $ProgressBar is a binary option? Either True or False? 02:13
guifa And if you tend to use them all together in the same scripts a lot, you might also want to add an extra :Curl to each of the is exports (so basically, “is export(:CurlDownloadFile, :Curl)”, so you can just say “use YourModuleName :Curl” and it will import all three.
ToddAndMargo and I import like `use CurlUtils :CurlDownloadFile`
guifa exactly!
(if you import more than one…
use CurlUtils :CurlDownloadFile, :CurlGetHeaders, :etc; 02:14
ToddAndMargo `Int $ProgressBar` is a booboo. It should be `Bool $ProgressBar`
02:14 ayerhart left
ToddAndMargo You even included the delimiter! Thank you! 02:14
Very very cool. Woopee!! Thank you! 02:15
raschipi Why not Bool :$ProgressBar? I.E. a named paramenter? 02:16
guifa As you use P6 more you’ll find there are some VERY cool features but it can take a while to find them. 02:17
I’m STILL finding new and cool stuff
02:17 ayerhart joined
ToddAndMargo p6, 1001 way to do everything. 02:17
guifa That’s really just the perl way :-) 02:18
how did someone put it once? Perl 6 is very much Perl. It’s just not Perl 5
raschipi Instead of having to bend your mind to fit the style of the language, have the language just accept any algorithm style you want. 02:19
ToddAndMargo Because I do not know what `Bool :$ProgressBar` does. $ProgressBar tells curl to print out its progress bar when downloading something. Otherwise it gets goobles up into StdErr:
if $ProgressBar { ( $ReturnStr, $ReturnCode ) = RunNoShell( $RunStr ); # Dump STDERR (Progress Bar) onto the Terrminal } else { ( $ReturnStr, $ReturnErr, $ReturnCode ) = RunNoShellErr( $RunStr ); }
guifa Right, so here’s an example of a cool Perl6-ism you can implement today 02:20
Instead of using
sub CurlDownloadFile( $Options, $Url, $FileName, $TimeOut, Int $ProgressBar )
you can use
sub CurlDownloadFile( $Options, $Url, $FileName, $TimeOut, Bool :$ProgressBar )
Declaring it as Bool is actually fairly optional here
Anyways 02:21
ToddAndMargo Why just the last passed variable?
guifa :$ProgressBar makes it named argument, rather than a positional one
So now when you call the sub, you only have to call 02:22
CurlDownloadFile $options, $url, $file, $time-out;
raschipi You can make all of them named.
guifa and $progress-bar will default to being undefined (which in an if statement evaluates to false)
if you want the progress bar, you can say 02:23
CurlDownloadFile $options, $url, $file, $time-out, :progress-bar;
err :ProgressBar (sorry I’m used to using kebab-case)
That will cause the variable $ProgressBar to be set to true 02:24
ToddAndMargo Okay, :$ProgressBar would make it an optional variable. I can see the utility of that, but from my Modula 2 background, I would kick my own a*** over doing that. Yes, I know `print` is one of those guys.
guifa You could make it mandatory if you wanted. :!ProgressBar would set it to false 02:25
Named arguments work nicely for creating more self-documenting code. Let’s say you made $TimeOut a named variable; 02:26
ToddAndMargo I use the Cap thing beacuse I can type and it tell me it is one of my variables and not soemone else's. It helps me mailtain things. (Hi Skool typing was one of the best courses I took.)
guifa sub CurlDownloadFile( $Options, $Url, $FileName, :$TimeOut, Bool :$ProgressBar )
now when you call the function, you would say
CurlDownloadFile …, …, …, :TimeOut(50), :ProgressBar; 02:27
You could also say
CurlDownloadFile …, …, …, :ProgressBar, :TimeOut(50);
(named arguments can go in any order)
ToddAndMargo Fascinating! Thank you!
raschipi You call them by name instead of position
ToddAndMargo: are you used to hav 02:29
having hashes/maps/dictionaries in programming?
guifa Oh, and I wasn’t judging you for PascalCasing things. Readability is a mostly subjective thing. But you’ll find most of us do use kebab-slash-skewer-case for variables 02:30
ToddAndMargo That will blow my mind! Coming from Modula 2 to Perl 6 is a real culture changer. Perl is said to be a "write only language". My response is "only is you make is so". Modula 2 give you no choice. Perl lets you write stream of conscience.
Oh no doubt. If have been dinbg the other way for so may years, if I see all lower case, it make me thing I imported someone elses code. 02:31
Oh and try and figure out s//\/\/\//\/\/. But I am now food at regex's and fid them kind of fun. 02:32
good nor food
not not nor
guifa That’s when variables make regexes pretty :-) 02:33
s/ $f-slash $b-slash $b-slash …
ToddAndMargo "only is you make is so" should be "only if you make it so". I am batting 1000 02:34
got's me a whole write up on variables in regex's. What blew my mind was how powerful look ahead regex's are. You guys must be in heaven writing this stuff! 02:35
One I never go past was stinking dollar sign in html code and calling Thunderbird with it and have it not mess everyone's mind up. Appartenly p6 `\$` worked, but the the shell did not liek that and removed the dollar sign and run without a shell, Thunderbird did not like it. Used teh HTML dollar sign and EVERYONE gripped. Swithed to "USD" 02:37
raschipi There's not much documentation written for Perl6 for people that aren't comming from Perl5 actually, they forget Perl5 also blows people's minds when they get into it for the first time and Perl6 has every interesting feature Perl5 has. And the most important of those is first-class Hashes.
ToddAndMargo That is my biggst grip with the docs. They are for those that already know what they are already doing. P5 has extrodinary perldocs that is written on a newbie level. 02:39
02:39 [Sno] joined
raschipi Perl programmers naturally think in term of hashes. Functional programmers think in terms of function, Scala and Java programmers thing about Objects, Perl programmers think in terms of Hashes. 02:39
ToddAndMargo Oh speakign of those of us coming from p5, would you please make it a hard and fast rule that perl 6 modules extensions are always "pm6". The latest Rakudo upgrade now reads "pm" first and "pm6" second. AAAAAAHHHHHHHHHHH!!!!!! 02:40
raschipi Don't mix Perl5 and Perl6 modules in the same place because of that. Devs won't budge on that. 02:41
ToddAndMargo Speakign of p5, soon as I got a load of p6's sub declaration, I dropped p5 liek a hot potato. I sill hvae some p5 code I still maintain.
guifa Beginner docs will come, but they do take time. One of the biggest things that has been lacking in P6 is the plethora of modules that P5 or Python or Java has, and generally the people who will write those wide audience modules already have a lot of P5 and a decent bit of P6 experience. I imagine once some of those bigger projects get done more people will have time to turn to doc writing. 02:42
raschipi And you didn't even get very far into it, using just very basic features.
ToddAndMargo it is a regression. I had to create separate directories from my p5 and p6 modules. Grep'ed my finger off looking for all my imports.
raschipi No one know how you got it to work in the first place. 02:43
ToddAndMargo The one p5 code I maintain call ftp a lot. P6's ftp module is corked, so I have to rewrite in p5.
I have two server to go fix things up on still. 02:44
Nice featrue would be to be able to specify the extension on the use line 02:45
raschipi Using modules from the file system isn't even encouraged. You shouldn't do that in production. 02:46
You already found out that it's very slow too.
02:48 molaf joined
ToddAndMargo I put them there because I want to knwo what it mine and what is yours. For instance, zef when foobar on me yesterday. I had to remove rakudo and rakudo-zef, then hunt down all perl6 and .zef directories and start over. I had used too many different versions of radudo and they had got all mixed up. Had I put my modules in usr/lib64/perl6, there would still be blue words in the stratosphere in the year 2040 02:50
raschipi Yeah, that's known to cause problems, that's why it's also not recommended to put into production. 02:53
ToddAndMargo on my customers computes, usually it is only one or two programs I havewritten for them. My own mahicne, I have all kinds of thigns written. I can't help myself 02:55
Oh and the zef thing spead up my program loads, buy 2/3 02:56
raschipi Do you still have things in the main program? If you put everything in modules, you can get maximum benefit from installing modules. 02:57
ToddAndMargo On my do to list! 02:59
03:05 kaare__ left, kaare__ joined
ToddAndMargo Wow! You guys really heped me on several front today. Thank you! 03:06
raschipi You're welcome. 03:07
ToddAndMargo Look what you guys have done to me!!!!! :-) 03:09
use CurlUtils :CurlDownloadFile, :CurlGetWebSite, :CurlGetHeader, :CurlExists, :CurlSendMail, :CurlGetRedirectUrl;
Very, very maintainable!
raschipi Put a ! after the ones that are mandatory. 03:19
And = 'Default' after the anos that can have defaults.
s/anos/ones/ 03:20
03:25 eythian left 03:37 zacts left 03:47 Manifest0 left 03:51 Manifest0 joined 03:52 Cabanossi left, Cabanoss- joined 03:57 mowcat left
ToddAndMargo Added ! to my notes. 03:58
04:05 raschipi left 04:09 molaf left 04:32 Manifest0 left 04:33 cpan-p6 left, cpan-p6 joined, cpan-p6 left, cpan-p6 joined 04:38 Manifest0 joined 04:43 kurahaupo left 04:49 mojca joined, mojca left, mojca joined 04:54 mojca left 05:02 ToddAndMargo left, zacts joined 05:03 mojca joined, mojca left, mojca joined 05:08 robertle left 05:15 jmerelo joined
jmerelo releasable6: status 05:17
releasable6 jmerelo, Next release will happen when it's ready. 2 blockers. 132 out of 252 commits logged (⚠ 2 warnings)
jmerelo, Details: gist.github.com/8e80d18ef7603534cf...6803398928
05:18 atroxaper joined
atroxaper hi, #perl6 ! 05:18
05:19 mojca left 05:24 Manifest0 left 05:28 Manifest0 joined
jmerelo atroxaper: hi! 05:29
atroxaper I have a question to native or well english speakers. I need words describes a "capable of being" trace, debug, info, warn and error. I think it is 'tracable', 'debugable', 'infable', 'warnable' and 'errorable'. Am I right?
jmerelo: o/
jmerelo atroxaper: trace-enabled and everything else 05:33
holyghost hello, I am working on the transition things of Game::Markov, e.g. for the hidden markov model code 05:34
atroxaper jmerelo: It is to long for my taste :)
jmerelo atroxaper: you can use -able (with the dash) as a suffix. trace-able, debug-able, info-able 05:35
atroxaper jmerelo: just thought about it! Thank you. Will do so.
El_Che traceble, debuggable, informational, warnings enabled, errors enabled
jmerelo atroxaper: but that's only shortening for using -enabled...
guifa El_Che: traceable*
El_Che informational is not as much being able to, but being, but it looks more appropiate 05:36
guifa: indeed, thx
atroxaper I'm looking one-type names for methods...
El_Che I don't think you declare things to be able to thrhow warnings and errors 05:37
so it depends on what you want to achieve
you seem to be describing roles more than methods
It looks like the typical UNIX/Syslog debug levels 05:38
in that case I would stick with the "official" names
guifa For a method I’d expect a verb more than anything else. get/set/enable/toggle <trace debug info warn error>
El_Che ^--- what guifa says 05:39
atroxaper In Java I have something like: if (log.isDebugEnable()) { log.debug(....);}. I want $log.debugable?.log(...) or .debug(...) with $log.debugable;
El_Che it looks Java verbosable allright :) 05:40
jmerelo atroxaper: then -able is probably the way to go. Plus you can do that in Perl 6
El_Che I would log.debug take care of the log levels it can handle instead of testing eacht time 05:41
it will make everything to verbose
guifa Or adverbs!
El_Che imho, ymmv
guifa $foo.log(blah) :debug; 05:42
atroxaper I want to handle a case when we need to do long-time-work to calculate data to logging. If log level in not allowed then we do not need the calculation
05:42 domidumont joined, rindolf joined 05:43 zacts left
jmerelo guifa: adverbs don't really work that way. Where would that adverb go? 05:43
guifa if $log.enabled(:debug) { $log.log($foo, :debug) }
05:43 zacts joined
jmerelo guifa: that's a different thing. Plus it's a named arg rather than an adverb 05:44
El_Che guifa: not too fond of adverbs in this usecase
.enabled suggest a boolean return value without side effects
atroxaper guifa: too long. I think ` .log($info) with $log.debug-able; ` better. .debug-able return special object with log() method with appropriate level 05:45
guifa atroxaper: If you really want to use that structure, I’d just make the $log.debug return a debug log, or Nil / (Any) 05:46
05:46 domidumont left
guifa so 05:46
.log($info) with $log.debug
El_Che I would implement the levels on all the loggers and when irrelevant, the logger would should log the same on all levels 05:48
atroxaper guifa: :) no. $log.debug($info); $log.debug-able?.log($info); .log($info) with $log.debug-able; I'm looking the short and good method names. I'm not sure about 'debug-able'.
guifa So if debug logging is turned off, what is the expected behavior of $log.debug($info) ? 05:50
atroxaper Then it returns Any.
guifa And if debugging is turned off, what’s the expected behavior of $log.debug-able?.log($info) ? 05:51
atroxaper We do not calculate $info. Do nothing.
s/?./.?/ 05:52
guifa Hrm. What about using “debug-on”. That’s short but also clearer and can be used for all of them 05:55
atroxaper guifa: Hm... I didn't think about. Does it sound like 'change level to debug'? 05:56
guifa: I like a variant with -on. 05:57
guifa I don’t think so. And in code if using a ? it will read quite nicely. $log.trace-on?.log($info) reads as “Yo, $log! Is your trace turned on? Cool, go log $info with it” 05:58
holyghost FWIW, use an error class in C++, maybe that helps out for perl6 05:59
atroxaper guifa: Great! Thanks all of you!
06:02 zacts left 06:10 domidumont joined 06:12 Summertime left 06:13 Summertime joined
tony-o_ 06:13
06:14 tiwi_ joined 06:15 tiwi_ left 06:18 Xliff joined
tony-o_ weekly: github.com/tony-o/perl6-json-path 06:20
notable6 tony-o_, Noted!
cpan-p6 New module released to CPAN! JSON::Path (0.1) by 03YNOTO 06:23
atroxaper tony-o_: hm... modules.perl6.org/dist/JSON::Path:cpan:JNTHN 06:25
06:28 jmerelo left 06:40 k-man left 06:41 tyil left, tyilanmenyn joined
El_Che bert: loko.be geeft een user/pass 06:44
tony-o_ atroxaper: doesn't handle [?()] filters 06:45
and, i wrote this for zef and figured i would release, this one is also about 75% faster (on my machine) 06:46
06:46 Manifest0 left
atroxaper tony-o_: It was JFYI :) I prefer to contribute into existed projects instead of make another one. Can you add information about differens between your module and jnthn. And how I should import it in case I installed both. 06:48
06:49 zacts joined
tony-o_ atroxaper: for sure, thank you 06:51
06:52 Manifest0 joined
tony-o_ atroxaper: i usually do that but when i write things for zef i usually do a rewrite because i'm mainly concerned more with keeping it depends-less and streamlined for use in that codebase 06:52
atroxaper tony-o_: fair enough 06:53
07:07 k-man joined 07:08 lizmat joined 07:11 lizmat left 07:13 [Sno] left 07:16 tyilanmenyn is now known as tyil 07:21 patrickb joined, masak joined
masak ahoy, #perl6 07:22
how come I'm no longer able to ssh into irc.p6c.org?
getting "host irc.p6c.org port 22: Connection refused" 07:23
07:24 eythian joined 07:29 patrickb left
moritz masak: its hardware is dead :( 07:29
masak oh
my condolences 07:30
anyway, that explains it 07:33
and I guess there's no "and here's the server we ssh into nowadays instead" side to it all... 07:34
07:35 patrickb joined 07:38 abraxxa joined
moritz nope :( 07:40
07:41 zacts left 07:43 zacts joined
tony-o_ atroxaper: updated the readme 07:44
the loading bit is slightly wonky because jnthn's META doesn't have "auth" so loading via :auth<jnthn> (or similar) isn't possible 07:45
atroxaper tony-o_: I see. Thank you :) 07:46
tadzik masak! \o/
yoleaux 21 Apr 2019 19:55Z <patrickb> tadzik: If possible, please revert rakudobrew for now. This breaks perl6 on travis. A PR was already committed, but may take days. I also pinged nine.
21 Apr 2019 20:13Z <patrickb> tadzik: Alternatively merging github.com/tadzik/rakudobrew/pull/135 is worth a try first.
22 Apr 2019 16:13Z <patrickb> tadzik: Can I get a rakudobrew commit bit? That'd help in situations like this one.
tadzik oh boy 07:47
masak tadzik: \o/
tadzik masak: if you need an ssh account to IRC from I can arrange that :)
atroxaper tony-o_: Maybe add ':auth<tonyo>' in README's example ?
masak moritz: anyway, sincerely, thank you. I've had a lot of use for that ssh account over the years.
tadzik: cool. yes, something that can hold a screen session would be very appreciated. 07:48
timotimo i'm going to miss hack.p6c.org for my "i want to run something for many hours" use case, mostly fuzzing
also, putting some files up to share with others quickly and easily
masak I'm willing to support new hardware with money if necessary. let me know.
patrickb tadzik: All done by now. 07:49
tadzik patrickb: alright, good work :)
I've had a busy few weeks
patrickb tadzik: Except for a commit bit which I would still find helpful in situations as we had. :-)
Also there is another (really small) PR.
masak suddenly dreams about a small, close-knit community, where people have small home pages and $HOME directories 07:50
patrickb tadzik: Calmer weeks ahead?
tadzik patrickb: somewhat :)
patrickb \o/
tadzik I'm still due for 30 work hours this month
it may be a bit of a stretch P:
masak counts on his fingers 07:51
07:51 cpan-p6 left, zakharyas joined 07:52 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 07:56 zacts left 08:08 Black_Ribbon left, masak left
Woodi hi today :) 08:09
08:09 masak joined
Woodi masak: re: small, close-knit community, where people have small home pages and $HOME directories 08:09
... this is what ppl get at universities... 08:10
masak *nod*
08:10 pecastro joined
Woodi so no one pays anything :) "amateurs" are in the worst situation... 08:11
masak I'd like for there to be a "pico-8 of web communities" 08:12
08:12 andrzejku joined 08:16 woolfy joined
tadzik web communities is something I thought a lot about recently 08:17
whether they're unix-related or anything else
one conclusion was that for an internet community to grow in a healthy way, hardcode gatekeeping may be a necessity 08:18
(relevant typo)
08:19 scimon joined
Woodi tadzik: what you mean by gatekeeping ? limits on enter, order management ? :) 08:19
tadzik Woodi: latter by the former, basically :) 08:20
Woodi heh
tadzik a relevant thought is about the uselessness of captchas, something that is a huge trouble at $work
telling humans from computers is not valuable. Distinguishing *individuals* is
and individuals are much less prone to toxicity and abuse when they're actual, irreplacable reputation is at stake 08:23
xinming_ m: my @h := [1..15]; my @x := @h.tail(10); @x.perl.say;
evalable6 (exit code 1) Type check failed in binding; expected Positional but got Seq ($((6, 7, 8, 9, 10, 11...)
in block <unit> at /tmp/rmw2W_mMET line 1
xinming_ What is the right way to bind a tail seq to the @x var?
m: my @h := [1..15]; my @x := |@h.tail(10); @x.perl.say;
evalable6 slip(6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
xinming_ With | it becomes slip
m: my @h := [1..15]; my @x := @h.tail(10)[]; @x.perl.say;
evalable6 (exit code 1) Type check failed in binding; expected Positional but got Seq ($((6, 7, 8, 9, 10, 11...)
in block <unit> at /tmp/YqJSkLm4vI line 1
xinming_ With [] postfix, It doesn't seem to return the list. 08:24
tobs xinming_: does x have to have the @ sigil?
my @h := [1..15]; my $x := @h.tail(10); $x.perl.say; 08:25
evalable6 (6, 7, 8, 9, 10, 11, 12, 13, 14, 15).Seq
xinming_ m: my @h := [1..15]; my @x := @h.tail(10).List; @x.perl.say;
evalable6 (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
xinming_ tobs: I just try to understand the relationship between these examples.
Xliff .tell holyghost New space added. New IP is 08:27
yoleaux Xliff: I'll pass your message to holyghost.
08:28 woolfy left
tobs m: sub f (@x) { @x.perl.say }; my @h := [1..15]; f @h.tail(10) 08:31
evalable6 (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
tobs xinming_: the @ sigil is a type constraint for Positional, which Seq doesn't do (that's what the error tells you). If you coerce it into a List or a Slip (Slip is List), then it does Positional and works. 08:33
as for why it works with a sub call, this is mentioned in the docs on Seq and PositionalBindFailover 08:34
Though I was surprised that PositionalBindFailover only works when the "signature binder" does it and not when a mere mortal binds to a variable. 08:36
holyghost thanks Xliff, I'm logged in to second ip 08:37
yoleaux 08:27Z <Xliff> holyghost: New space added. New IP is
cpan-p6 New module released to CPAN! Game::Markov (0.1.13) by 03HOLYGHOST 08:40
holyghost Xliff, how much disk space is it in total ? 08:43
df -h does not work apparently
xinming_ tobs: Thanks for the explanation. 08:45
timotimo Woodi, masak, but this "tilde" websites thing is totally a growing thing right now 08:47
holyghost ugexe : about the usb stick, I better backup online :-)
timotimo : serverip/~user ? 08:48
timotimo yeah 08:50
holyghost which server ?
I upload to CPAN anyway
timotimo there's many different ones 08:51
holyghost coolness
timotimo it's, like, a growing cultural thing again
holyghost that's a good thing
timotimo tilde.club/ - here's an example
holyghost no more additions 08:55
I'll get back to that 08:56
I need the webspace
08:57 khisanth_ left 08:58 Manifest0 left
holyghost anyway, I'm going to drink a beer, I've programmed an hour on Game::Markov by putting in the start of the hidden markov model next to the markov strategies 08:58
timotimo holyghost: i don't think you'll be happily received at such a place when you sign up and offload 10 gigs of data
holyghost right as you say
I'm uploading to Xliff's server, just the 2 Gb tarball, I have to find space somwhere for my 20 Gb tarball 08:59
he was so friendly to just buy me some space
although I gave her lots of code though
I have this C++ formula based perl6 parser on there, the beginning of it, it should use rule firing for parsing 09:00
some sort of best-of 09:01
09:01 leont joined
holyghost hi 09:01
09:04 Manifest0 joined
holyghost is a bit afk 09:06
09:10 khisanth_ joined
holyghost .tell Xliff : I uploaded 2 home-X tarballs, you might take a look, it's mostly gnu game software 09:11
yoleaux holyghost: I'll pass your message to Xliff.
holyghost .tell Xliff let me know how much space there is in total on the server
yoleaux holyghost: I'll pass your message to Xliff.
09:22 ayerhart left 09:24 ayerhart joined
timotimo m: .perl.say for $*REPO.repo-chain 09:28
evalable6 CompUnit::Repository::FileSystem.new(prefix => "/home/bisectable/git/whateverable/sandbox/…
timotimo, Full output: gist.github.com/b148bfed1bde15a995...bb1c08068f
timotimo ^- CU::R::AbsolutePath, ::NQP, ::Perl5 all have a standard .perl which also outputs the next-repo 09:29
which makes the repo-chain look odd 09:30
10:09 ayerhart left 10:13 manemobiili joined, hankache joined 10:14 ayerhart joined
hankache hello #perl6 10:26
patrickb o/ 10:27
10:27 domidumont left
kawaii \o 10:39
hankache any news regarding the p6c server? 10:52
was anyone able to recover the drives? 10:53
timotimo moritz is the only one with potential access to the hardware itself; i'm not sure if the hardware resides in the datacenter still, or if it's been taken home 10:55
hankache hello timotimo 10:58
timotimo yo
hankache so what's the plan? 10:59
timotimo when i was still in charge, the plan was to flail around helplessly
github.com/perl6/problem-solving/issues/17 11:00
hankache lol
timotimo ^- that's the actual plan now
hankache timotimo++
11:03 gfldex left 11:04 gfldex joined, Manifest0 left 11:05 hankache left 11:09 Manifest0 joined
moritz I have the drives in my rucksack now, and will try to extract the data when I get home 11:11
timotimo yay
thank you for all the effort 11:12
moritz I have a single (s)ata-to-USB adapter at home, as well as a PC from which I could temporarily remove the hard disks and swap in the one from p6c.org 11:13
11:24 netrino joined
timotimo there's one for /home and one for /? 11:27