Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-04-01

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 BenGoldberg Save your intermediate results to a file after every successfully processed page; when you get to the end, read the file in and exit(0).  Write a wrapper program which restarts the program when it crashes.
00:02 AlexDaniel yeah, that's I'm pissed off
00:02 AlexDaniel took 30 minutes to write the scraper, and several hours trying to work around all of the issues
00:03 AlexDaniel 70 lines of code, and now I'll double or trible that number trying to do what you've just said
00:04 AlexDaniel that said, as long as I'm not fixing memory leaks or segfaults, I think I have no right to complain…
00:05 cyphase joined #perl6
00:11 Cabanossi joined #perl6
00:14 gdonald joined #perl6
00:18 cyphase joined #perl6
00:21 AlexDaniel AW YEAH, much better!
00:24 BenGoldberg :)
00:27 AlexDaniel fwiw: https://github.com/sergot/http-useragent/issues/169
00:28 cyphase joined #perl6
00:32 AlexDaniel hm… OK, it's better. Now with only ≈5 MB leaking per page, I'd be able to parse 2000 pages using 10GB RAM. That might work
00:34 dj_goku joined #perl6
00:41 cyphase joined #perl6
00:54 cyphase joined #perl6
00:57 bjz joined #perl6
01:03 BenGoldberg joined #perl6
01:07 cyphase joined #perl6
01:26 nbrown joined #perl6
01:38 bjz joined #perl6
01:41 Cabanossi joined #perl6
01:46 sufrostico joined #perl6
01:47 ilbot3 joined #perl6
01:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:01 raschipi joined #perl6
02:11 Cabanossi joined #perl6
02:27 Ben_Goldberg joined #perl6
02:36 noganex joined #perl6
02:48 labster joined #perl6
03:04 Luna521 joined #perl6
03:11 ugexe gfldex: you might look at https://github.com/ugexe/Perl6-Distribution--Common - specifically ::Git
03:13 BenGoldberg joined #perl6
03:14 Luna521 joined #perl6
03:14 ugexe that would even respect .gitignore, because it uses `git ls-files` to get its file list
03:17 Luna521 joined #perl6
03:22 ugexe eventually zef will be backed by those, but they don't work on earlier version of 6.c
03:38 ugexe infact Distribution::Common's whole purpose was to see how an additional required method, `ls-files`, would work with the current Distribution interface to solve the "which files to use if i dont have a manifest?" problem
03:53 Luna521 joined #perl6
03:55 Cabanossi joined #perl6
04:00 Luna521 joined #perl6
04:02 bjz joined #perl6
04:03 gdonald joined #perl6
04:16 ryan_ joined #perl6
04:19 ryan_ newby question... anybody here using atom's vim-mode-plus for perl 6 editing?
04:29 MasterDuke ryan_: i don't use atom, but i know a couple people here do, there's a wiki somewhere about using it for perl 6
04:29 MasterDuke huggable: atom
04:29 huggable MasterDuke, nothing found
04:29 MasterDuke huggable: Atom
04:29 huggable MasterDuke, nothing found
04:30 MasterDuke huggable: Perl 6 IDE
04:30 huggable MasterDuke, nothing found
04:30 MasterDuke huggable: Perl6 IDE
04:30 huggable MasterDuke, nothing found
04:30 MasterDuke ryan_: oops, not a wiki. https://github.com/perl6/Atom-as-a-Perl6-IDE
04:32 MasterDuke .seen sergot
04:32 yoleaux I saw sergot 11 Mar 2017 15:51Z in #perl6: <sergot> sjn: have you solved the http::useragent issue somehow? :)
04:35 Todd__ joined #perl6
04:35 MasterDuke .tell sergot fyi, i just created a PR in https://github.com/sergot/openssl that gave me a measurable speedup using HTTP::UserAgent to get an HTTPS url
04:35 yoleaux MasterDuke: I'll pass your message to sergot.
04:35 Todd__ Hi All, something weird just happened to my perl6:
04:35 Todd__ $ perl6 -v       Unhandled exception: While looking for 'ModuleLoader.moarvm': no such file or directory
04:36 Todd__ same message when running "zef"
04:38 MasterDuke Todd__: how did you get/built your perl6?
04:38 Todd__ rakudo-star-0.0.2016.11-1.el7.x86_64
04:38 Todd__ from the rpm
04:38 Todd__ And I did not do anything to since
04:40 MasterDuke you're on centos7?
04:40 MasterDuke or rhel7?
04:41 Todd__ close.  Scieltific Linux 7.3, which rebases centos
04:41 Todd__ scientific
04:41 MasterDuke did you use yum to install from a repo or did you download from the rakudo page?
04:42 Todd__ yum --enablerepo=epel* install rakudo-star
04:42 Todd__ that was about two months ago.  it has been working since.  Would a reinstall screw it up?
04:42 MasterDuke well, there's a 2017.01 star, so that repo is out of date
04:43 MasterDuke reinstalling should be fine
04:44 Todd__ When I try to reinstall, I get : Installed package rakudo-star-0.0.2016.11-1.el7.x86_64 (from epel-testing) not available
04:45 Todd__ I wonder if it has been pulled?  "whatprovides" still shows it
04:46 MasterDuke if you don't mind installing an rpm directly (and just regular rakudo, not star), El_Che has packages here https://github.com/nxadm/rakudo-pkg/releases
04:46 Todd__ what is non-star?
04:47 Todd__ EPEL now has: https://dl.fedoraproject.org/pub/epel/7/x86_64/r/rakudo-0.2017.02-1.el7.x86_64.rpm
04:47 MasterDuke same perl6, just without all the additional modules bundled
04:47 Todd__ star had almost no modules anyway that I could tell.  I had to zef them all
04:47 MasterDuke i.e., you'll probably have to use zef to install the modules yourself
04:48 Todd__ do I need to do an uninsall on rakudo-star first
04:49 MasterDuke i don't really know the redhat distros enough to say, but that seems like a good idea
04:51 Todd__ interesting rakudo-start was an 18M package to unbinsall; regular is also 18M
04:52 Todd__ # perl6 -v This is Rakudo version 2017.02 built on MoarVM version 2017.02 implementing Perl 6.c.
04:53 MasterDuke Todd__: huh, maybe they didn't actually have star in the first place. would explain why you had to zef everything
04:54 MasterDuke buggable: eco sum
04:54 buggable MasterDuke, Found 5 results: String::CRC32, Sum, Business::CreditCard, Concurrent::Iterator, MetaCPAN::Favorite. See https://modules.perl6.org/#q=sum
04:54 Todd__ makes sense.  zef is now broken
04:56 Todd__ rebuilding zef
04:59 Todd__ can't win: # perl6 -Ilib bin/zef install . ===> Testing: zef:ver('0.1.5'):auth('github:ugexe') ===SORRY!=== Could not find Test at line 2 in:     /home/linuxutil/zef/lib     /root/.perl6     /usr/share/perl6/site     /usr/share/perl6/vendor     /usr/share/perl6     CompUnit::Repository::AbsolutePath<71479552>     CompUnit::Repository::NQP<54652192>     CompUnit::Repository::Perl5<54652232>
05:01 MasterDuke might need to ask ugexe, i don't really know zef
05:07 Todd__ not finding how to uninstall zef
05:16 Todd__ I uninstalled again and deleted /usr/share/perl6; I am updating updatedb; then I will install the one from rakudo-pkg
05:25 ugexe well you could just run it with --/test to disable testing, but rakudo isnt finding your perl6 libs anyway (or it would have found Test.pm)
05:25 Luna521 joined #perl6
05:26 Todd__ I am fighting with pathmunge to get the path to perl6 correct.  The two rpm used different install location.  AAHHHH !!!
05:27 Todd__ I have to log off and log back in, so I will get back if it doesn't work
05:28 ugexe you can use an uninstalled zef to uninstall and install modules too
05:28 ryan_ joined #perl6
05:28 ugexe from anywhere
05:39 todd__ joined #perl6
05:40 Cabanossi joined #perl6
05:41 todd__ hi, I am back.  I uninstalled and erased everything I could find.  Then reinstalled nsadm's epel centos release.  Had to update my paths in /etc/profile to
05:41 todd__ pathmunge /opt/rakudo/bin after
05:41 Voldenet eh, whenever I recompile perl I tend to just remove ~/.perl and reinstall zef
05:41 todd__ and make a link   # ln -s /opt/rakudo/bin/perl6  /usr/bin/perl6
05:41 Voldenet faster
05:41 todd__ I am back and running.  zef too.  Thank you for all the help.
05:42 todd__ My guess is that epel screwed up something royalls.  SO I think I will stay on nxadm for now
05:43 todd__ question.  I have #!/usr/bin/perl6 as my first line.  so, or course, the rpm and nxadm use different paths.  The link cured that.  Sounld I not use that as a first line?  is there a way to look at both paths in the first line?
05:46 ugexe #!/usr/bin/env perl6 ?
05:46 samcv hello todd__ Voldenet and all
05:48 todd__ Hi Sam!  I have been in panic mode, but I think I am on the right path now
05:48 ugexe openssl bumped to 0.1.8 with MasterDuke's leak fix
05:48 AlexDaniel MasterDuke: oh wait, so is it still leaking or is it 268Mb of some other cruft?
05:50 ryan_ joined #perl6
05:53 ryan_ joined #perl6
05:56 todd__ I am probably going to get the figure shaken at me for this, but I reported it anyway:
05:56 todd__ https://github.com/nxadm/rakudo-pkg/issues/9
05:57 ryan_ joined #perl6
06:00 todd__ need best practice: if various releases of rakudo are going to install in different places (in Linux), is it best to leave the `#!/usr/bin/perl6`off and run everything the hard way with `perl6 xxx.pl6` and remove the bash first line path?  I am trying to make things univeral across Liux machines
06:12 todd__ I am about to post this on the mailing list, whre other can take their time answer it.
06:13 todd__ Thank you all for the help.  I am runnign again.  And I did not even utter one cuss word!  Man EPEL screwed things up!  Bye bye
06:15 Voldenet samcv: hello there, apostle of perl6 ;)
06:15 domidumont joined #perl6
06:16 Voldenet I was going to respond todd__ to use the "env" version, because he can in fact control PATHs
06:17 samcv is the mailing list any good? i'm not on it
06:17 samcv not sure if i should be. maybe good idea?
06:17 samcv get enough mail as is, but no excuse not to get more mail
06:18 Voldenet hmmmm, maybe, I don't set up any new ones because of the emails flood
06:19 domidumont joined #perl6
06:25 Cabanossi joined #perl6
06:26 samcv i've started to set up filtering
06:27 samcv but i think i've lost some email cause idk where they are
06:27 samcv and should have more email than i do. pretty sure i wuold have gotten an email about the rakudo project in the last 15 days by now
06:28 samcv though it's working fine for the other filters so idk. maybe github changed my setting.
06:29 samcv and need to fix it because although it's filtering into folder some of the unicode maillinglist i still am getting floods of email threads.
06:29 samcv much email. very wow
06:31 ryan_ joined #perl6
06:32 samcv lots of silly discussion with the emoji release, people uselessly arguing over what 'recommends' in the technical report means
06:34 Voldenet when I was younger I thought getting many emails is good, because I'm important, heh :D
06:34 samcv usually a mix of script based questions and sometimes technical questions and such
06:35 samcv though there is some thread in the huge like tree shape the unicode emoji 5.0 characters now being final thing
06:36 samcv about stability of country codes and such which idk. i guess maybe sounds boring but it's at least important. not arguing about what 'recommends' means. and then peolpe finally settle on that recommendhs means... drumroll. "recommends"
06:36 samcv which i could have told you but. whatever
06:37 RabidGravy joined #perl6
06:37 Voldenet heh, I'd advise against using such fuzzy terms, I'd use "suggests" instead ;-)
06:38 samcv that's different though
06:38 samcv i mean recommends means that it is recommended but not required
06:38 Voldenet and suggest means it's a good practice but not required
06:38 Voldenet pretty much
06:38 samcv and is not needed to be Unicode compliant and other systems should not assume conformance with said recommendation
06:39 samcv but they use recommended in many documents. which is loose and not really a strong technical thing
06:39 wamba joined #perl6
06:39 samcv well. it's recommended. idk how else to say it. lol
06:40 samcv and people arguing about flags
06:40 Voldenet actually, RFC is pretty clear on what "RECOMMENDED" means
06:40 samcv angry because england and wales got flags because of sports
06:41 samcv This word, or the adjective "RECOMMENDED", mean that there
06:41 samcv may exist valid reasons in particular circumstances to ignore a
06:41 samcv particular item, but the full implications must be understood and
06:41 samcv carefully weighed before choosing a different course.
06:41 samcv yeah. exactly
06:41 Voldenet meaning "implement it unless you're working on 10kb ram"
06:42 samcv and people not understanding how unicode chooses things
06:42 samcv "i am mad because these symbols are used more in practice than mine, and they were included. becuase i don't care about sports"
06:42 samcv "but i care about XYZ"
06:45 Voldenet unicode could just set up a code for inline bitmaps just for them :-)
06:45 Voldenet that'd be a great april fools joke
06:45 samcv well that is their recommendation
06:45 samcv in the technical reports even now. for a long time
06:46 samcv to implement images
06:46 Voldenet uhh, hmm I can imagine hardware being fast enough for this, but it adds a layer of complexity nobody really needs
06:46 samcv also there is no reason why a vender can't allow use of a flog not on their list. if it follows unicode's rules
06:46 samcv for how they should be laid out
06:47 samcv that is the best way for it to be officially included in the next revision
06:48 samcv dlike it says california is not a standard sequence, but gives an example  of how that would be laid out, and for some other non country things
06:49 Voldenet hmm, there are also political things at play, some people would see Basque or ISIS with separate flags for instance
06:49 samcv lol
06:49 TEttinger hehe unicode emoji is a silly thing to argue about because it's a silly thing in general
06:49 samcv depending on what it is yeah
06:49 Voldenet TEttinger: well, I can't imagine any font fully implementing unicode
06:50 Voldenet some fonts try, but I doubt they're complete
06:50 samcv just becuase it's not on the list doesn't mean unicode hasn' already defined how to properly construct it
06:50 samcv but it's touchy for some people
06:51 TEttinger U+1D00D DEPICTION OF THE PROPHET MUHAMMAD, BLESSED BE HIS NAME
06:51 samcv they basically just made it have certain 'standard' onnes to support emoji 5 or whatever, which was some more popular flags. which will get people to integrate support for those encodings of those flags
06:51 samcv which will then... make it easier to add flags for less popular things
06:51 TEttinger and then with joiners...
06:51 samcv so they should not be unhappy
06:52 Voldenet TEttinger: actually U+1D00D is "Byzantine Musical Symbol Apeso Ekfonitikon"
06:52 TEttinger you could have genderbent muhammad emoji, not controversial at all
06:52 TEttinger ha
06:52 Voldenet I don't know how it actually looks like, because none of my fonts support it
06:52 samcv Indeed, why isn't the flag of Texas there already so as to terminate
06:52 samcv the abuse of <U+1F1E8, U+1F1F1>.  Technically, at least, it has the
06:52 samcv justification of being a formerly independent country, though I don't
06:52 samcv know that they have any national teams.
06:52 samcv Is anyone working on the issue of flags for the whole of Ireland?
06:52 samcv Different sports have their own 'national' flags.
06:52 samcv ok gotta stop reading this particular thread
06:52 TEttinger haha
06:53 samcv they showed an example for how one would construct a california flag. and then next to it said it was not official but conformant with construction. idk
06:53 samcv people don't understand that i guess. that they basically handed them the way to make texas
06:53 TEttinger I mean... what we need is some kind of turing-complete way to describe Unicode encodings
06:53 samcv don't we already
06:53 TEttinger procedural unicode version generator
06:53 samcv also define describe
06:53 Voldenet TEttinger: 0xBITMAP
06:53 TEttinger hehe
06:54 samcv what do you mean by describe
06:54 TEttinger declarative language that can define an arbitrary sub/superset of unicode graphemes and use it in some cross-compatible way
06:54 TEttinger including, for example, defining a texas flag as they do
06:55 TEttinger but assigning it to its own codepoint in the subset
06:55 Cabanossi joined #perl6
06:55 Voldenet I think only regular letters (or symbols, in any language) should be a part of the official UTF standard, bitmap should work for the rest
06:55 TEttinger yes.
06:55 TEttinger dingbats and emoji are really sketchy
06:55 Voldenet fonts can't think of other ways to display flags, so it's just a bit silly to include them
06:56 TEttinger but it kinda needs better vector support than a bitmap, since most fonts aren't bitmap fonts
06:56 Voldenet Okay, some emoticons can be included, but ehm... flags?
06:56 Voldenet I can imagine having "asian people" font for emotes or "monkeys"
06:56 TEttinger since those originated on japanese phones?
06:56 TEttinger but everyone uses them
06:57 Voldenet I try not to, it makes me look silly.
06:57 TEttinger every cultural group has people who use them
06:57 u-ou how do you reference a method like &foo for sub foo?
06:57 TEttinger (not the Amish, though)
06:58 Voldenet u-ou: you mean as an argument?
06:59 Voldenet m: sub x(&my-sub) { my-sub() }; x({ say "I work!" })
06:59 camelia rakudo-moar e7e97c: OUTPUT: «I work!␤»
06:59 u-ou you can reference the subroutine 'foo' without calling it like &foo. but how do you do that with a method?
06:59 Voldenet ah
07:00 u-ou actually. maybe I don't need to. but I'm interested now.
07:00 u-ou I might just use an anonymous function
07:00 samcv well. people use emoji and flags to communicate. and that's unicode's job. to enable the interoperability of the display of graphics with semantical meaning
07:01 TEttinger but each carrier displays them differently
07:01 TEttinger and each font!
07:01 samcv they are used by people to communicate. so therefore they are important. same with many different scripts, and they added dingbats to allow conversion between encodings which already were encoded that way
07:02 samcv that is not unicode's fault
07:02 samcv like apple changing pistol to a ray gun. that's not what it is. it's the symbol for a pistol
07:03 samcv you can't just change what the meaning of the codepoint is because reasons
07:03 samcv that goes against the whole spirit of unicode and interoperability
07:03 ufobat joined #perl6
07:03 bjz joined #perl6
07:06 Voldenet m: class a { method m() { say "m"} }; sub b(&m) { say "b"; m(); }; my $x = a.new; say b(&{$a.m})
07:06 camelia rakudo-moar e7e97c: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '$a' is not declared␤at <tmp>:1␤------> 3say "b"; m(); }; my $x = a.new; say b(&{7⏏5$a.m})␤»
07:06 Voldenet m: class a { method m() { say "m"} }; sub b(&m) { say "b"; m(); }; my $a = a.new; say b(&{$a.m})
07:06 camelia rakudo-moar e7e97c: OUTPUT: «b␤m␤True␤»
07:06 Voldenet u-ou: ^
07:07 Voldenet in fact
07:08 Voldenet m: class a { method m() { say "m"} }; sub b(&m) { say "b"; m(); say "/b"; }; my $a = a.new; b(&{$a.m()})
07:08 camelia rakudo-moar e7e97c: OUTPUT: «b␤m␤/b␤»
07:09 Voldenet samcv: but the emoticons can have bigger or smaller eyes, "pistol" doesn't have to be any special model/color
07:09 u-ou didn't you just make an anonymous function that calls a.m
07:10 Voldenet u-ou: but look at the output, /it works/ ;D
07:10 samcv well it has to be a pistol
07:10 samcv not something that is a fictional toy weapon
07:10 u-ou well, that's probably all I need
07:10 Voldenet u-ou: actually, just {$a.m()} would suffice
07:10 samcv also. they should maintain consistent color
07:10 u-ou yeah
07:11 u-ou I wonder if you can ref. methods though
07:13 Voldenet samcv: too late, on my system it's silver pistol, but on reference graphic it's black
07:14 u-ou oh well. I'll just use an anon. func.
07:15 RabidGravy boom!
07:15 TEttinger I mean, there's more than one color of pistol. you could use the skin color selectors on it if they were open-minded enough to allow more arbitrary colors. maybe I identify as green man
07:16 rindolf joined #perl6
07:16 TEttinger maybe flag color selectors? not sure how it works
07:17 samcv lol TEttinger
07:18 TEttinger maybe my pistol is made of stitched together human flesh
07:18 TEttinger pretty sure that's a zombie attack in the Disgaea series
07:18 Voldenet some flags actually have colors described in CIELUV
07:18 TEttinger oh wow
07:19 TEttinger nepal is a weird one
07:19 TEttinger the two triangles
07:20 mr-foobar joined #perl6
07:25 Cabanossi joined #perl6
07:25 Voldenet TEttinger: http://unicode.org/reports/tr51/#Diversity
07:25 Voldenet You actually can be green
07:26 TEttinger hooray
07:26 TEttinger now can I be a color that is brighter than white light
07:26 TEttinger I am actually pretty pale!
07:27 TEttinger or could I be vantablack, the blackest shade of black currently prodicible...
07:30 TEttinger Voldenet: that restricts it to 5 skin colors, it seems
07:30 Voldenet Whoa, that's totally racist. My green people will hear of this
07:31 TEttinger greengos
07:31 Voldenet ;D
07:33 rindolf Hi all
07:34 Voldenet welcome
07:35 rindolf Voldenet: sup?
07:35 Voldenet nothing much, hating on modern communication standards ;)
07:36 u-ou my brain is so tired
07:49 nadim_ joined #perl6
07:51 Tonik joined #perl6
08:01 espadrine_ joined #perl6
08:03 Wanderer68 joined #perl6
08:04 RabidGravy joined #perl6
08:04 dct joined #perl6
08:16 RabidGravy have they changed the font on github recently or are my eyes worse than they usually are on a Saturday morning?
08:50 lizmat I think they use a special font for pirates
08:55 Cabanossi joined #perl6
08:59 RabidGravy sounds about right :)
09:01 RabidGravy I don't suppose anyone can remember off the top of their head where in the code parameter coercion is implemented?
09:01 lizmat FROGGS would know, perhaps timotimo
09:03 RabidGravy presumably in the parameter binding bit somewhere, but I am struggling to find it
09:04 rpburkholder joined #perl6
09:08 RabidGravy not being obviously able to implement  Foo(Str) without augmenting Str finally bugged me enough to think about it
09:16 cog_ joined #perl6
09:19 rindolf joined #perl6
09:21 RabidGravy Oh it looks like it's in Ops.nqp - not that easy to fix from user code then
09:31 Woodi hi #perl6 :)
09:33 Woodi so what is minimal bitmap resolution for all Unicode chars ? in 8bit computers 8x8 was enough :)
09:42 setty1 joined #perl6
09:44 Peter_R joined #perl6
09:44 mr-foobar joined #perl6
09:53 Peter_R joined #perl6
09:55 Cabanossi joined #perl6
09:55 pmurias joined #perl6
10:06 Voldenet m: class x { submethod BUILD { say "i live" }; submethod DESTROY { say "i die" }}; { my $x = x.new(); undefine $x; };
10:06 camelia rakudo-moar 213a72: OUTPUT: «i live␤»
10:07 Voldenet Hm, am I doing something wrong?
10:13 lizmat Voldenet: Perl 6 doesn't have predictable destruction
10:13 lizmat if you want to make sure something gets destroyed when leaving a block, you will have to do it yourself
10:14 lizmat m: class x { submethod BUILD { say "i live" }; submethod DESTROY { say "i die" }}; { my $x = x.new(); LEAVE $x.DESTROY };
10:14 camelia rakudo-moar 213a72: OUTPUT: «i live␤i die␤»
10:14 Voldenet hmm, that's quite golang-ish
10:15 Voldenet does perl have some cool feature for that, like C++?
10:15 lizmat in a bigger program, .DESTROY *will* be called as soon as $x is kicked in a GC run
10:15 lizmat but if you have a small program, rakudo perl 6 just lets the OS take care of cleanup
10:15 Voldenet m: use nqp; class x { submethod BUILD { say "i live" }; submethod DESTROY { say "i die" }}; { my $x = x.new(); undefine $x; }; nqp::force_gc()
10:15 camelia rakudo-moar 213a72: OUTPUT: «i live␤»
10:16 lizmat m: use nqp; class x { submethod BUILD { say "i live" }; submethod DESTROY { say "i die" }}; { my $x = x.new(); undefine $x; }; nqp::force_gc; nqp::force_gc
10:16 camelia rakudo-moar 213a72: OUTPUT: «i live␤i die␤»
10:16 llfourn joined #perl6
10:16 Voldenet ah, wonders of GC
10:16 lizmat actually, a GC run will mark the object first
10:17 lizmat a subsequent run will actually call the .DESTROY
10:17 Voldenet oh, moar's GC doesn't do generations?
10:17 lizmat Voldenet: moar uses a nursery approach
10:17 Voldenet hm
10:18 Voldenet nothing too wrong with that I suppose
10:18 lizmat https://www.amazon.com/Garbage-Collection-Handbook-Management-Algorithms/dp/1420082795   # the theory implemented in Moar
10:18 Peter_R joined #perl6
10:20 Voldenet hm, sorry, I don't have that book
10:20 Voldenet but it's mark and sweep, right?
10:21 lizmat that's the idea, afaik
10:21 lizmat and a nursery for short-lived objects
10:21 lizmat http://moarvm.org/features.html   # Garbage collection section
10:22 Voldenet well, but I can be sure that DESTROY works, that's the most important
10:22 Voldenet I would admire having some solid method that'd force a "full gc run that destroys inaccessible objects"
10:22 lizmat indeed... if you want predictable destruction, you will have to take care of it yourself
10:22 Voldenet to ensure my destructors are working fine
10:23 lizmat I think doing the force_gc twice, is fairly sure way of testing that
10:23 lizmat especially in single threaded programs  :-)
10:23 Voldenet hm, C# has the using and IDisposable block for that, perl could use something similar
10:25 lizmat but, what do you want to test?
10:25 lizmat that the .DESTROY method is called, or that it does the right thing?
10:25 lizmat if you want to test it's doing the right thing, why not just call it ?
10:25 Voldenet some simple stuff like calling closing some connections
10:26 Voldenet heh, fair point :)
10:26 Voldenet still, perl has much syntax, one "new and destroy on leave" wouldn't hurt
10:27 lizmat well
10:27 lizmat one syntax is:
10:27 lizmat my $handle will leave .close = open("file")
10:28 lizmat my $handle will leave { .close } = open("file")
10:28 lizmat which will create a LEAVE block for you
10:29 Voldenet That's actually pretty nice, but don't we have any nice role for that? Explicitly calling destructor feels very Cish ;P
10:29 Voldenet s/destructor/dispose/
10:29 Voldenet I might be a bit intoxicated by C# here though, I like how they solved it.
10:29 lizmat well, it's one of the consequences of not doing reference counting
10:29 lizmat so how did C# solve it ?
10:30 lizmat (reference counting in a threaded world is a recipe for either slowness or disaster)
10:30 Voldenet they have normal classes with constructor and destructor
10:30 Voldenet and additionally
10:30 Voldenet IDisposable interface having method { void Dispose(); }
10:30 Voldenet and when a class implements IDisposable, it can be used in such way
10:31 Voldenet using(var sth = new MyClass()){ sth.Test(); }
10:31 Voldenet and Dispose is called automatically upon exiting the "using" clause
10:32 Voldenet and real Destructor is usually just keeping eye on IDisposable (hand-written "if it wasn't disposed then dispose")
10:32 lizmat hmmm... feels like we should be able to do something like that
10:35 domidumont joined #perl6
10:36 lizmat m: sub using(\a) { class { method AT-KEY(\b) { a.DESTROY; b } }.new }; class A { method DESTROY() { say "died" } }; using(A.new){ say "foo" }
10:36 camelia rakudo-moar 213a72: OUTPUT: «foo␤died␤»
10:37 lizmat not sure I like the syntax though
10:37 robertle joined #perl6
10:38 lizmat Voldenet: ^^^
10:39 setty1 joined #perl6
10:40 Cabanossi joined #perl6
10:41 Voldenet lizmat: whoa, that's quite nice
10:44 Voldenet but it doesn't preserve all the features - how do you actually use this object created? ;)
10:44 domidumont joined #perl6
10:44 Voldenet ah
10:46 Voldenet hm, okay, I figured it out and it's very similar to what C# does
10:46 notbenh joined #perl6
10:46 lizmat m: sub using(\a) { class { method AT-KEY(\b) { a.DESTROY; b } }.new }; class A { method DESTROY() { say "died" } }; using(my $a = A.new){ say $a }
10:46 camelia rakudo-moar 213a72: OUTPUT: «A.new␤died␤»
10:47 lizmat so yes, basically the same way that C# does it
10:47 Voldenet C# can also do this: > using(my $a = A.new) using(my $b = A.new) using(my $c = A.new) { say $a, $b, $c; }
10:49 Voldenet But well, the syntax doesn't fit perl anyway.
10:51 Voldenet > my $handle will leave .DESTROY = A.new;
10:51 lizmat you still need a block there for now
10:51 lizmat my $handle will leave { .DESTROY } = A.new
10:51 lizmat but yeah
10:52 Voldenet except "will leave { .DESTROY }" could be something simpler
10:52 Voldenet my $handle transient = A.new;
10:52 Voldenet a lot more concise
10:53 * jnthn would quite like something akin to C#'s "using" in Perl 6, though .close is probably the right method to use given we've used it on file handles, taps, etc.
10:54 jnthn otoh, supplies are often consumed with whenever blocks which already do the .close calls for you :)
10:56 lizmat m: sub using(**@a) { sub (&b) { LEAVE .DESTROY for @a; b() } }; class A { method DESTROY() { say "died" } }; using(my $a = A.new, my $b = A.new)( { say $a.WHICH; say $b.WHICH } )  # more Perl6ish using() with multiple values
10:56 camelia rakudo-moar 213a72: OUTPUT: «A|65335024␤A|65335088␤died␤died␤»
10:56 jnthn I don't think re-purposing DESTROY is wise
10:56 jnthn Because the GC will still call it
10:56 Voldenet Hmm, are you sure?
10:57 jnthn Yes, because I wrote the GC. :P
10:57 jnthn In C# finalizers and disposers are separate methods
10:58 Voldenet :D
10:58 Voldenet Okay.
10:58 jnthn There's often some arrangement made to have the finalizer call the dispose method, and a boolean to trackthat
10:58 jnthn *track that
10:58 Voldenet yeah, and finalizer doesn't have to track anything
10:58 jnthn It would be rather nice if we could save ourselves that boilerplate.
10:58 Voldenet the convention is that it should though
10:59 jnthn Yeah, that's the "problem", people either forget to implement that, or they do but then it's the same stuff copy-pasted everywhere
10:59 jnthn Since we have roles in Perl 6, we can perhaps factor it out in some way
10:59 _28_ria joined #perl6
11:00 Voldenet Well, C# has tons of problems related to 'using' blocks
11:00 darutoko joined #perl6
11:01 jnthn Using blocks themselves, or people's (mis)use of them? :)
11:01 Voldenet nah, more like the convention of "Disposable being callable more than once"
11:01 jnthn Ah
11:01 jnthn Yeah, that's exactly the kind of boilerplate it'd be nice to factor out
11:01 Voldenet and inability to use non-disposable objects in using() even if the subtype is implementing the interface
11:02 jnthn Hm, why'd it implement the interface but not declare it?
11:02 Voldenet I meant something like this: using(Parent p = new Sub())
11:02 Voldenet basically, you can't decorate a parent with IDisposable after its compiled
11:02 jnthn Oh, right
11:03 Voldenet which creates monstrosities like autogenerated wrappers
11:03 Voldenet are we java yet? :)
11:03 jnthn I think Perl 6 is late-bound enough to not have that particular problem :)
11:03 Voldenet Yeah, it's one of the good parts
11:04 Voldenet also,  should be reversed
11:04 Voldenet erm, usage of it should be reversed
11:05 Voldenet regular way: { my $x = open("File"); use $x somehow }
11:06 Voldenet the way that doesn't close file: { my $x = do-not-close-until-i-say-so open("File") }
11:06 Sound joined #perl6
11:07 Voldenet both way lead to errors, but the absence of latter is easier to test and more obvious
11:07 Voldenet "the file was closed already" vs "massproducing descriptors in the background"
11:36 Peter_R joined #perl6
11:53 geekosaur joined #perl6
11:53 andrzejku joined #perl6
11:53 bjz joined #perl6
11:55 Cabanossi joined #perl6
12:00 Sound_ joined #perl6
12:25 Cabanossi joined #perl6
12:44 LeCamarade joined #perl6
12:49 gdonald joined #perl6
12:50 stux|RC-only joined #perl6
13:15 domidumont joined #perl6
13:19 skids joined #perl6
13:25 obfusk joined #perl6
13:29 obfusk joined #perl6
13:37 ufobat joined #perl6
13:40 Cabanossi joined #perl6
13:42 AndyDee joined #perl6
13:51 Voldenet m: use nqp; class m { submethod DESTROY { say "i die" }}; { my $x = m.new(); undefine $x; }; nqp::force_gc; nqp::force_gc
13:51 camelia rakudo-moar f1cd8e: OUTPUT: «i die␤»
13:52 Voldenet m: use nqp; class m { submethod DESTROY { say "i die" }}; { my $x = m.new(); undefine $x; }; nqp::force_gc for ^2;
13:52 camelia rakudo-moar f1cd8e: ( no output )
13:52 Voldenet what's the actual difference between those two?
13:52 Voldenet I can see they behave differently, but I can't tell why
13:53 timotimo when you work with something like gc, the smallest changes in memory layout and usage can have significant effects
13:53 timotimo m: use nqp; class m { submethod DESTROY { say "i die" }}; { my $x = m.new(); undefine $x; }; nqp::force_gc for ^3;
13:53 camelia rakudo-moar f1cd8e: ( no output )
13:53 timotimo m: use nqp; class m { submethod DESTROY { say "i die" }}; { my $x = m.new(); undefine $x; }; nqp::force_gc for ^100;
13:53 camelia rakudo-moar f1cd8e: ( no output )
13:53 Voldenet even setting that to 500 doesn't change much
13:53 Voldenet :)
13:53 timotimo m: use nqp; class m { submethod DESTROY { say "i die" }}; { my $x = m.new(); undefine $x; }; for ^100 { say "ping"; nqp::force_gc }
13:53 camelia rakudo-moar f1cd8e: OUTPUT: «ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤ping␤pi…»
13:54 timotimo m: use nqp; class m { submethod DESTROY { say "i die" }}; { say "doing the thing"; my $x = m.new(); say "done"; undefine $x; }; for ^100 { nqp::force_gc }
13:54 camelia rakudo-moar f1cd8e: OUTPUT: «doing the thing␤done␤»
13:54 timotimo dunno.
13:55 wamba joined #perl6
14:08 ryan_ joined #perl6
14:15 ryan_ joined #perl6
14:37 leego joined #perl6
14:37 itaipu joined #perl6
14:40 Cabanossi joined #perl6
14:49 buggable_ joined #perl6
14:49 kurahaupo__ joined #perl6
14:50 Geth joined #perl6
14:50 Sound joined #perl6
14:59 Peter_R joined #perl6
15:24 BenGoldberg joined #perl6
15:25 Cabanossi joined #perl6
15:31 hankache joined #perl6
15:31 zakharyas joined #perl6
15:40 hankache Perl 6 Introduction has a new chapter on Native Calling http://perl6intro.com/#_native_calling_interface
15:40 ryan_ joined #perl6
15:40 hankache I would appreciate your feedback.
15:42 hankache PRs are welcomed https://github.com/hankache/perl6intro
15:42 lizmat hankache++
15:42 hankache hiya lizmat
15:54 itaipu joined #perl6
15:59 Ven joined #perl6
16:06 timotimo "and dpending on your OS" sounds a bit strange in that sentence
16:09 timotimo hankache: do you think a subchapter on "is rw" combined with NativeCall would be good? and is CStruct out of scope?
16:12 gdonald joined #perl6
16:13 hankache timotimo remove "and"?
16:13 timotimo i think i'd put "depending on your OS" at the end of the sentence
16:14 timotimo won't need a comma that way
16:14 hankache the issue is I think in French and write in English.
16:14 timotimo :D
16:14 hankache so I might end up with phrases like these :)
16:14 timotimo i used to put commas into english the way you would in german
16:15 timotimo which is like 5 commas per sentence more than you would use in english
16:16 hankache hah
16:18 hankache timotimo To compile the above C code into a library, run the following commands depending on your OS.
16:18 hankache that's it?
16:18 timotimo hm
16:18 timotimo or maybe the other way around
16:19 hankache Depending on your OS run the following commands to compile the above C code into a library.
16:19 hankache now?
16:19 timotimo that sounds good!
16:20 timotimo hm
16:20 timotimo this is turning into the ultimate bikeshed
16:20 hankache haha
16:22 lizmat m: say <Depending on your OS run the following commands to compile the above C code into a library>.pick(*).Str
16:22 camelia rakudo-moar 743394: OUTPUT: «to C a into following OS run the the library Depending compile your on commands above code␤»
16:22 lizmat :-)
16:23 hankache hihi
16:25 Cabanossi joined #perl6
16:25 hankache timotimo regarding is rw and CStruct. I like to put enough info to break the ice and then point the readers to the appropriate page on docs.perl6.org
16:26 timotimo sounds good
16:27 khw joined #perl6
16:27 hankache None of the chapters are complete. Each chapter presents "Just the necessary" to get you going and then points you to somewhere else.
16:27 timotimo yeah, that's fair
16:27 hankache thanks
16:36 kirkins joined #perl6
16:37 kirkins hi all wondering if anyone knows if the Rakudo package on arch linux is still maintained?
16:39 MasterDuke kirkins: yeah, it's up to date
16:40 kirkins I keep getting error: target not found: rakudo
16:41 MasterDuke it's in the aur
16:46 geekosaur huggable, rpm
16:46 huggable geekosaur, CentOS, Debian, Fedora and Ubuntu Rakudo packages: https://github.com/nxadm/rakudo-pkg/releases
16:46 geekosaur ohm thought that also had arch etc. :/
16:47 pmurias joined #perl6
16:49 pmurias In regards to our git commit message 'style guide' do we want to enforce a 50 chars summary limit?
16:53 lichtkind joined #perl6
16:55 TEttinger summary or message?
16:57 geekosaur summary (1st line of message)
16:58 geekosaur I would say that stuff generally plays better with git if you follow the common conventions: first line <=50 chars, 2nd line blank
17:17 pmurias why is the limit 50 chars?
17:19 TimToady to give people something to complain about, obviously :)
17:19 geekosaur I think so it fits in the output of various git commands (consider git branch -lvv)
17:19 geekosaur which various tools use to get summary information about branches
17:19 geekosaur and the second line is blank so git itself doesn't combine the summary with the rest of the message
17:20 geekosaur (which again causes things like git branch output to be weird)
17:21 geekosaur basically this matters for those of us who have our shell prompts include git information :)
17:21 geekosaur that being probably the most common tooling that uses this information; but other things also use it
17:23 timotimo what, a shell prompt that has a commit description in it?
17:23 geekosaur oh, also the git branch command I cited won't show the effect unless you're actually working in a branch and not at HEAD of the remote, because it adds extra infromation showing the relationship of the current checkout to that
17:24 geekosaur no, but it may be looking for the stuff I just mentioned (how the current checkout compares to the known state of the remote) and overly long commit description will confuse it because that comes *after* the commit description
17:25 geekosaur and may run into it without any space, iirc
17:25 Cabanossi joined #perl6
17:27 timotimo mhm
17:27 geekosaur it's annoying
17:27 * geekosaur got to figure this out the hard way: already have a fairly complex prompt and needed to integrate git info into it, so couldn't use other people's canned solutions
17:29 dylanwh if you use zsh, there's a builtin for it
17:31 * geekosaur needs to finish rewriting prompt generating script someday.. still has lots of perl4-isms from when it needed to be able to run on pmaxen >.>
17:52 esh_ joined #perl6
17:53 camelia joined #perl6
17:55 xiaomiao joined #perl6
17:55 xiaomiao joined #perl6
17:58 bartolin joined #perl6
18:03 musca joined #perl6
18:06 MasterDuke joined #perl6
18:25 Cabanossi joined #perl6
18:43 dct joined #perl6
18:52 AndyDee joined #perl6
19:08 raschipi joined #perl6
19:19 grondilu m: say √2
19:19 camelia rakudo-moar 20f335: OUTPUT: «5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3say7⏏5 √2␤Bogus postfix␤at <tmp>:1␤------> 3say 7⏏5√2␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        s…»
19:19 * grondilu is slightly disappointed this is not in core
19:20 DrForr I use that as a example on slides :)
19:20 moritz there's got to be *some* somewhat sensible operators that you can add in examples :-)
19:20 moritz like prefix:<√> and postfix:<!>
19:20 AlexDaniel huggable: save me from texas
19:20 huggable AlexDaniel, ???? ???? ???? → → → https://github.com/rakudo/rakudo/wiki/save-me-from-texas ← ← ← ???? ???? ????
19:21 AlexDaniel grondilu: you can complain about it here ↑ :)
19:21 DrForr Nod. I need to work out a way to make the overbar composition work without resorting to a slang :)
19:22 moritz I guess one problem with prefix:<√> is that there's no obvious precedence for it
19:22 moritz because in classical notation, the root symbol extends over the whole expression it applies to, so there's no need for a precedence
19:23 grondilu moritz: we could restrict it to literals
19:23 DrForr Yeah, hence my overbar comment - Isn't there an invisible grouping?
19:23 AlexDaniel … or make it an alias to sqrt
19:23 moritz grondilu: then it's not very general, and thus not very useful
19:26 dmaestro joined #perl6
19:29 sufrostico joined #perl6
19:39 patrickz joined #perl6
19:45 rindolf joined #perl6
19:46 timotimo clearly that root symbol ends its scope immediately
19:46 timotimo so its just 0
19:46 timotimo though its hard to say if theres a sensible value for sqrt()
19:48 rindolf joined #perl6
19:55 Cabanossi joined #perl6
20:01 dmaestro Reading @zoffix nice article: https://perl6.party/post/Perl6-But-Heres-My-Dispatch-So-Callwith-Maybe I saw this syntax:
20:01 dmaestro m: ^25 .pick
20:01 camelia rakudo-moar 20f335: ( no output )
20:01 dmaestro m: ^25 .pick.say
20:01 camelia rakudo-moar 20f335: OUTPUT: «22␤»
20:01 dmaestro I always thought you had to do this:
20:01 dmaestro m: (^25).pick.say
20:01 camelia rakudo-moar 20f335: OUTPUT: «10␤»
20:02 dmaestro Because this generates a warning:
20:02 dmaestro m: ^25.pick.say
20:02 camelia rakudo-moar 20f335: OUTPUT: «Potential difficulties:␤    Precedence of ^ is looser than method call; please parenthesize␤    at <tmp>:1␤    ------> 3^257⏏5.pick.say␤WARNINGS for <tmp>:␤Useless use of "^" in expression "^25.pick.say" in sink context (line 1)␤25␤»
20:02 geekosaur dmaestro, it's a hack
20:02 geekosaur there's a space before the .
20:03 ufobat joined #perl6
20:03 geekosaur so that changes it from using the hardwired-for-speed behavior to using the actual . infix
20:03 silug joined #perl6
20:03 dmaestro Whitespace can be confusing - where does this 'hack' apply?
20:05 Ven joined #perl6
20:06 dmaestro I don't see infix <.> documented in Operators ??
20:08 geekosaur it's a hack in the rakudo grammar; I don't think it's even considered part of official perl 6
20:09 dmaestro I _much_ prefer not having to type parentheses, but I don't want to get bit by using an undocumented feature :-/
20:09 dmaestro @geekosaur thanks for that info :-)
20:11 gdonald joined #perl6
20:12 timotimo geekosaur: are you sure? after all, timtoady put that in there
20:18 timotimo geekosaur: https://github.com/perl6/roast/commit/be4fc4f
20:22 dmaestro This is one of the more Awesome error messages:
20:22 dmaestro m: 1 .&{ .say }
20:22 camelia rakudo-moar 20f335: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call (only alphabetic methods may be detached)␤at <tmp>:1␤------> 1 .7⏏5&{ .say }␤»
20:22 dmaestro m: 1.&{ .say }
20:22 camelia rakudo-moar 20f335: OUTPUT: «1␤»
20:23 dmaestro m: 1.say
20:23 camelia rakudo-moar 20f335: OUTPUT: «1␤»
20:24 dmaestro m: 1 . say
20:24 camelia rakudo-moar 20f335: OUTPUT: «1␤»
20:24 dmaestro m: 1 .say
20:24 camelia rakudo-moar 20f335: OUTPUT: «1␤»
20:27 jnthn fwiw, ^25 .pick and (^25).pick generate close enough the same code
20:27 timotimo yeah, nothing slow about it
20:28 jnthn (Was pretty sure, but just checked)
20:28 jnthn I'm also pretty sure it's an official part of the language
20:29 lizmat yes, most definitely
20:29 lizmat maybe not very well documented, but definitely pre-Xmas
20:29 jnthn Well, I more meant "has spectests" :)
20:29 AlexDaniel dmaestro: it is a well-known feature
20:29 jnthn Which is what counts :)
20:29 lizmat true
20:29 AlexDaniel (relatively)
20:31 jnthn But yeah, at a language level it is a bit of a hack in that it's a TTIAR violation so needed to be put in a little creatively :)
20:31 AlexDaniel error messages are not that great in this case, by the way
20:31 AlexDaniel m: 1 . &say
20:31 camelia rakudo-moar 8a4df1: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at <tmp>:1␤------> 1 .7⏏5 &say␤»
20:31 AlexDaniel ↑ yet another “hey, you have perl 5 code here” when you don't mean it at all
20:33 AlexDaniel Related piece of docs: https://docs.perl6.org/routine/$FULL_STOP
20:35 AlexDaniel dmaestro: I created a doc issue here: https://github.com/perl6/doc/issues/1263
20:35 AlexDaniel dmaestro: feel free to resolve it yourself :)
20:36 eroux joined #perl6
20:37 AlexDaniel by the way, rakudo commit should have a more detailed explanation for this
20:38 AlexDaniel bisect: old=2015.07 42 . say
20:38 bisectable6 AlexDaniel, Bisecting by exit code (old=2015.07 new=8a4df16). Old exit code: 1
20:38 robertle joined #perl6
20:38 bisectable6 AlexDaniel, bisect log: https://gist.github.com/f301f101fac4622e56bb31371cc4b2e8
20:38 bisectable6 AlexDaniel, (2015-09-26) https://github.com/rakudo/rakudo/commit/cb25b2f475f31335d77d018474482aceec2c74de
20:38 AlexDaniel there it is ↑
20:39 cdg joined #perl6
20:55 Cabanossi joined #perl6
21:10 obfusk joined #perl6
21:21 dmaestro AlexDaniel: Yeah, I didn't mention that other LTA message, since I'd seen it before ;-)
21:33 labster joined #perl6
21:37 zakharyas joined #perl6
21:40 Cabanossi joined #perl6
22:09 dct joined #perl6
22:25 Cabanossi joined #perl6
22:51 KongWubba joined #perl6
22:52 timotimo somebody know how best to ".words" in python?
22:53 raschipi PCRE
22:53 timotimo eh, i'll just "import re"
22:53 raschipi yep, import half of perl to do it.
22:54 timotimo pff. i just want to write a list of strings without ', ' between each element
22:55 Cabanossi joined #perl6
22:56 raschipi should use the right tool for the job
22:58 mst and in this case, half of perl is a better tool than python, and your comments aren't remotely constructive
22:59 mst #perl6 tries to avoid going full curmudgeon
22:59 mst (that's why I make plenty of observations in other channels rather than here ;)
23:00 raschipi well, the only constructive part was the "pcre", the others were trying to be funny. If you're trying to avoid going fiu
23:00 raschipi full curmudgeon, why are you doubling the amount?
23:01 mst because I prefer to warn people first.
23:04 timotimo raschipi: ok, write a perl or perl6 binding for gdb for me, will ya?
23:05 timotimo after all, python isn't the best tool for the job, right? and guile is probably also not the right tool for the job?
23:05 timotimo so i can just write my own gdb-besttoolforjob bindings now?
23:05 timotimo cool.
23:05 raschipi No, should do it in BASIC.
23:06 mst PROC TOLOGIST
23:06 raschipi OR FORTRAN.
23:06 timotimo PROC TOLOGICIAN?
23:09 timotimo sorry if i get a bit unfriendly when you're trying to counter my "help me with python" with "you should use something else"
23:10 jnthn Hah, finally got around to figuring out how to write a (very hack, client only) IO::Socket::Async::SSL.
23:10 timotimo ooooh, neat!
23:10 jnthn (That actually is non-blocking)
23:11 raschipi I did give you a good answer.
23:11 jnthn (And doesn't do tricks like reading a byte at a time like one other attempt I saw :))
23:11 timotimo so why is pcre better than python's re module here?
23:11 geekosaur tbh I;m trying to understand what .words has to do with writing a list without ', ' in between
23:12 raschipi re module is pcre
23:12 geekosaur isn't that something like ' '.join(list) ?
23:12 timotimo geekosaur: python doesn't have qw
23:12 timotimo so you have to write ["foo", "bar", "baz", "quux", "boop"]
23:12 geekosaur oh, you mean writing in code, not writing to stdout
23:12 timotimo that's right
23:13 geekosaur silly overloaded (natural) language...
23:13 timotimo yeah, i should have put "in my code" into that sentence
23:21 jnthn Tossed my WIP in https://github.com/jnthn/p6-io-socket-async-ssl, will hack some more on it as time allows, which it ain't likely to much during the next week
23:25 mst timotimo: "foo bar baz quux".split()
23:26 jnthn 'night
23:34 TeamBlast joined #perl6
23:36 sivoais joined #perl6
23:51 timotimo mst: doesn't seem to work if you have newlines
23:51 timotimo oh, what do you know
23:51 timotimo it actually does work. why didn't it work the first time i tried it?
23:52 mst atmospheric pressure
23:52 timotimo i accept this hypothesis as the most likely explanation

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo