Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-03-18

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:02 bjz joined #perl6
00:07 skids joined #perl6
00:40 agentzh joined #perl6
00:47 Cabanossi joined #perl6
01:02 BenGoldberg joined #perl6
01:03 Redek joined #perl6
01:08 aborazmeh joined #perl6
01:08 aborazmeh joined #perl6
01:23 matt_ joined #perl6
01:24 SmokeMachine Hi! Im trying to fix the bug #130940... Could someone, please, take a look at my commit and please tell me if it's OK to PR it? I have run the spec tests and just started the stress test... (I didn't write the tests yet...)
01:24 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130940
01:25 Geth ¦ whateverable: 39cec40933 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
01:25 Geth ¦ whateverable: Typo (“unstead” → “instead”)
01:25 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/39cec40933
01:25 committable6 joined #perl6
01:30 IOninja FYI: next Rakudo release will include lexical require. Please read the information on how to upgrade your code: http://rakudo.org/2017/03/18/lexical-require-upgrade-info/
01:30 Geth ¦ whateverable: e0565f7995 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 8 files
01:30 Geth ¦ whateverable: Change ⁇ ‼ back to ?? !!
01:30 Geth ¦ whateverable:
01:30 Geth ¦ whateverable: Rakudo no longer supports ⁇‼
01:30 Geth ¦ whateverable:
01:30 Geth ¦ whateverable: ლ(ಠ益ಠლ)
01:30 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/e0565f7995
01:31 AlexDaniel IOninja: so… what was this VIP thingy?
01:32 AlexDaniel ah, 2017.04, nevermind
01:33 IOninja AlexDaniel: "Very Installable Perl". My vision for what Rakudo Star should be.
01:33 AlexDaniel :O
01:33 AlexDaniel IOninja++
01:34 IOninja I set the date too early tho /o\ with the IO stuff on the plate. The first VIP release may be less than stellar.
01:35 SmokeMachine the stress tests had only one test of t/spec/S10-packages/precompilation.rakudo.moar broken...
01:44 timotimo only rakudo star is supposed to be stellar :P
01:45 pochi joined #perl6
01:48 geekosaur "[LTA] VIP isn't"     :p
01:52 IOninja :)
01:53 IOninja ===> Searching for: Inline::Scheme::Guile:ver('0.1'):auth('github:drforr')
01:53 IOninja Username for 'https://github.com':
01:53 IOninja DrForr: huh... Weird that it's asking me for username..
01:53 IOninja Guess my ecosystem smokage is getting aborted early, because I'm not gonna enter that info :/
01:54 timotimo can you somehow change the urls to git:// automatically?
01:54 IOninja Is that why it's asking for pass?
01:54 timotimo there's also a configuration option that you can put your stuff into for this thing
01:54 timotimo https:// will ask for pass, apparently
01:54 timotimo maybe because it doesn't know if you just want to pull or if you want to push
01:54 timotimo before the protocol forces it to decide whether to ask for password or nto
01:54 IOninja Weird that it does, considering all I want to do is clone (well, zef wants to do)
01:55 IOninja Oh well.
01:55 timotimo aye, it's annoying, but a known bug
01:56 IOninja Guess I'll just pick a few dists instead of doing all of them (this will eventually be a dailyish automated run by a bot: build rakudo, ensure stresstests pass, and modules that used to work still work)
02:02 timotimo Put this in your ~/.netrc and it won't ask for your username/password (at least on Linux and Mac):
02:02 timotimo machine github.com
02:02 timotimo login <user>
02:02 timotimo password <password>
02:02 timotimo interesting
02:02 timotimo https://help.github.com/articles/caching-your-github-password-in-git/
02:02 timotimo that one seems saner
02:03 samcv why not use ssh?
02:03 timotimo because then you have to somehow get zef to rewrite the url
02:03 samcv ah
02:03 samcv does zef always use https?
02:03 timotimo ionin wants an automated process that installs every module we have
02:04 timotimo hm, don't think so
02:04 ugexe https://github.com/ugexe/zef/blob/master/resources/config.json#L61
02:04 timotimo oh, interesting
02:04 ugexe it should work if the uri ends in .git
02:05 ugexe or starts with git://
02:05 IOninja Yeah, I have caching setup on my normal boxes. But I don't want to cache any passwords on my "install strange code from ~100s of people you never met" VM :P
02:05 ugexe but it cannot guess that `https://...` without a .git at the end is a git url
02:05 timotimo yeah
02:06 IOninja The ecosystem munger removes all .git from https:// URLs
02:07 ugexe ah so its zef applying https scheme over the git:// links which do have .git
02:07 ugexe maybe not
02:07 ugexe "source":"https://github.com/skids/perl6-Proc-Screen.git"
02:08 ugexe from ecosystem-api.p6c.org/projects.json
02:08 bjz joined #perl6
02:09 ugexe yeah lots of https with .git
02:09 IOninja Weird. 'cause: https://github.com/perl6/ecosystem/blob/master/server/updatelist.pl#L84
02:09 ugexe that is adding .git isnt it
02:10 IOninja doh >:)
02:10 IOninja Yes, it's adding .git to https URLs that end in just /
02:10 ugexe and i *think* .git/ is a valid git ending
02:11 ugexe but that would s{.git/}{.git/.git}
02:16 ugexe really people should just be putting the .git at the end of the source-url themselves
02:17 samcv i mean it's just a url, so it could be anything. but it's nice to have a .git to confirm what it is
02:17 samcv i mean as far as zef in concerned, what else other than a git repo could it be? doesn't it only handle git repos?
02:18 IOninja I think that's why we added munging; people were putting all sorts of weird URLs up in that field
02:18 ugexe no, it handles git repos, http/https, local paths, tar/zip/etc
02:18 ugexe a url without an extension could be anything, so there is no way for zef to guess the protocol (re: https:// without a .git)
02:18 bjz joined #perl6
02:18 IOninja Like non-working URLS. But I don't recall if was all just 'cause panda choked on them
02:19 ugexe https works the best with work firewalls i believe
02:28 ugexe when choosing what archive format to use for your packages remember that windows can unzip without installing additional software
02:30 ugexe if they install rakudo (not star) then they also have perl5 so those window users can untar
02:38 ugexe a decent bit of work went into windows compatibility. it should even still work across volumes
02:39 ugexe including passing paths to gnu tar which doesn't accept volume from the command line
02:46 kaare_ joined #perl6
02:48 ilbot3 joined #perl6
02:48 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:51 dogbert2 joined #perl6
02:53 mtj_ joined #perl6
02:53 mtj_ joined #perl6
02:57 LeCamarade joined #perl6
02:58 Mithaldu joined #perl6
02:59 ribasushi joined #perl6
03:03 cyphase joined #perl6
03:32 Cabanossi joined #perl6
03:34 geekosaur joined #perl6
03:35 noganex joined #perl6
03:42 bjz joined #perl6
04:06 xtreak joined #perl6
04:08 mcmillhj joined #perl6
04:14 mcmillhj joined #perl6
04:19 wamba joined #perl6
04:32 Cabanossi joined #perl6
05:00 Cabanossi joined #perl6
05:03 mcmillhj joined #perl6
05:05 vike joined #perl6
05:12 kurahaupo joined #perl6
05:19 xtreak joined #perl6
05:20 agentzh joined #perl6
05:25 mcmillhj joined #perl6
05:29 aborazmeh joined #perl6
05:29 aborazmeh joined #perl6
05:30 Cabanossi joined #perl6
05:33 effbiai joined #perl6
05:33 bjz joined #perl6
05:35 andrzejku joined #perl6
05:42 mcmillhj joined #perl6
05:49 wamba joined #perl6
05:59 araraloren joined #perl6
06:06 agentzh joined #perl6
06:09 khw joined #perl6
06:19 gdonald joined #perl6
07:00 Cabanossi joined #perl6
07:02 andrzejku joined #perl6
07:06 mr-foobar joined #perl6
07:18 rindolf joined #perl6
07:27 mcmillhj joined #perl6
07:30 xtreak joined #perl6
07:31 aindilis joined #perl6
07:45 Cabanossi joined #perl6
07:50 baest joined #perl6
07:58 Sound joined #perl6
08:02 mr-foobar joined #perl6
08:03 mcmillhj joined #perl6
08:03 kurahaupo joined #perl6
08:03 araraloren joined #perl6
08:09 mcmillhj joined #perl6
08:09 agentzh joined #perl6
08:14 araraloren joined #perl6
08:39 darutoko joined #perl6
08:40 jjido joined #perl6
08:42 xtreak joined #perl6
08:50 domidumont joined #perl6
09:00 RabidGravy joined #perl6
09:15 Cabanossi joined #perl6
09:19 RabidGravy boom
09:20 * RabidGravy wonders idly about a thing like a supply but has another supply that emits whatever the taps return
09:23 xtreak joined #perl6
09:30 nadim joined #perl6
09:35 nadim Good morning. I use .WHERE to lookup an object with some text but the result varies. is there something else I could use for a hash? I don't want to spend time comparing elements.
09:46 geekosaur .WHICH
09:46 geekosaur .WHERE has the actual address, which can change after gc
09:49 parv joined #perl6
09:59 lizmat nadim: feels to me you should explain what you want to do
10:00 lizmat perhaps a Set or a typed Hash would be more appropriate ?
10:03 Dunearhp_ joined #perl6
10:15 n1ce_ left #perl6
10:30 Cabanossi joined #perl6
10:37 sena_kun joined #perl6
10:40 nadim geekosaur: I will try with .WHICH, if I recall well, I didn't use WHICH because not all types had it, IE, a Match object did not have one.
10:41 nadim lizmat: still working on Data::Dump::Tree, adding an extra functionality. I need to lookup am object and a string, so I need to hash the object in some way.
10:42 lizmat .WHICH is then the answer
10:42 lizmat it's what typed hashes / Sets / Bags / .unique use internally
10:46 nadim lizmat: It seems to work. I have looked in the Todo and I wrote, some times ago, that .WHICH was broken for some types, IE match objects.
10:47 nadim is there a list, or a programmatic way, to get a list of all built in objects, I could check all of them in one shot.
10:48 lizmat nadim: looks like nine fixed that in 7f26e8b2 last November
10:48 lukaramu joined #perl6
10:48 lizmat nadim: the border between built-in vs non-builtin is very vague
10:49 lizmat some built-in types don't even exist until you need them
10:49 nadim :)
10:49 nadim Anything that can be put in a data structure or that would appear when an object is dumped
10:50 lizmat m: .say for SETTING::.keys.sort   # a sort of list, but this also includes internal builtins
10:50 camelia rakudo-moar 304107: OUTPUT: «!UNIT_MARKER␤$!␤$/␤$=finish␤$=pod␤$?PACKAGE␤$_␤$¢␤&CHANGE-DIRECTORY␤&CHMOD-PATH␤&COPY-FILE␤&MAKE-DIR␤&QX␤&REMOVE-DIR␤&RENAME-PATH␤&SYMLINK-PATH␤&UNLINK-PATH␤&chmod␤&copy␤&link␤&mkdir␤&open␤&pipe␤&rename␤&r…»
10:50 RabidGravy also in this mornings collection of mad shit my brane is telling me I want, default taps for supplies that only get called if there are no other taps
10:51 lizmat m: .say for SETTING::.keys.grep(*.starts-with("&")).sort   # perhaps better
10:51 camelia rakudo-moar 304107: OUTPUT: «&CHANGE-DIRECTORY␤&CHMOD-PATH␤&COPY-FILE␤&MAKE-DIR␤&QX␤&REMOVE-DIR␤&RENAME-PATH␤&SYMLINK-PATH␤&UNLINK-PATH␤&chmod␤&copy␤&link␤&mkdir␤&open␤&pipe␤&rename␤&restricted␤&rmdir␤&run␤&shell␤&socket␤&spurt␤&symlink␤…»
10:51 lizmat RabidGravy: a supply that doesn't get tapped, how would you tap that ?
10:55 sena_kun joined #perl6
10:55 RabidGravy well it's for a pattern that is sort of emerging in my head, whereby an object has, say, a supply of requests of some sort, each request has a promise, say, that tappers can keep or break, and one wants the default behaviour (in the presence of no other taps) to be that it is simply kept
10:57 lizmat I think I lost you at the "it is simply kept" part
10:58 RabidGravy the promise in the "request" :)
10:59 lizmat perhaps a .then on the Promise ?
11:01 RabidGravy well yes, but that doesn't deal with the case where it never gets kept or broken
11:03 lizmat hmmm...
11:03 RabidGravy so if I have something like "my $p = Promise.new;  my $s = supply { whenever $something { emit $p } };  await $p" it may never finish
11:04 lizmat whenever Supply.in(10)
11:04 lizmat ?
11:04 lizmat that would give you a timeout, but that's not what you're looking for ?
11:05 * lizmat needs to be afk again to schlepp some heavy stuff
11:05 RabidGravy GET SCHLEPPING!
11:15 Cabanossi joined #perl6
11:26 RabidGravy Hmm there appears to be a lack of an snmp library in the ecosystem
11:26 RabidGravy MUST RESIST
11:29 xtreak joined #perl6
11:36 RabidGravy Oooh "EXPORTHOW::SUPERSEDE::class' conflicts with an existing meta-object imported into this lexical scope" now that's a new one
11:38 RabidGravy admittedly the piece of code that  made that happen is using some stunt meta object hackery
11:38 bjz joined #perl6
11:40 jjido joined #perl6
11:58 bjz joined #perl6
12:00 Cabanossi joined #perl6
12:22 eliasr joined #perl6
12:24 bjz joined #perl6
12:25 wamba joined #perl6
12:30 Cabanossi joined #perl6
12:33 wictory[m] joined #perl6
12:47 andrzejku joined #perl6
12:50 jjido joined #perl6
12:53 sukrishn joined #perl6
12:53 RabidGravy Am I being blind or is there no standalone HTTP response parser in the ecosystem?
12:59 RabidGravy Hmm maybe Grammar::HTTP
13:00 geekosaur joined #perl6
13:00 Cabanossi joined #perl6
13:06 _DrForr joined #perl6
13:07 * _DrForr waves from Open Source Days.
13:08 RabidGravy hoo hoo
13:09 * RabidGravy waves from his sofa
13:10 _DrForr Wow. Two minutes into this Python talk and the guy can't resist slagging Perl and my talk. Not even realizing that the speaker is sitting 3 rows away.
13:11 timotimo don't forget, no PR is bad pr, _DrForr
13:12 timotimo he's basically making people who didn't notice aware of the existence of a perl-related talk
13:12 _DrForr Certainly Trump would agree.
13:12 jeek But, Trump is wrong about everything...
13:13 timotimo oh jeez, let's not talk about politics and especially not about trump in here, k?
13:13 El_Che _DrForr: start with a remark about civility
13:14 _DrForr Wasn't my intent to mention him, just sort of slipped out.
13:14 timotimo so is _DrForr's talk in the future or in the past?
13:15 _DrForr In the past. He at least heard about it because I mentioned Roman numerals. I'm sure if I didn't, he would have found something else.
13:16 timotimo mhm
13:16 timotimo i wonder what that remark in particular sounded like verbatim
13:16 timotimo but it's probably better to just forget about it i guess
13:17 timotimo also, are your slides online? :D
13:17 timotimo will there be a recording?
13:17 _DrForr No recording, and I think I already have a similar talk up on GH.
13:19 Actualeyes joined #perl6
13:20 timotimo OK, fair enough
13:20 timotimo ISTR a talk like that in the past
13:21 _DrForr You've probably seen at least one.
13:21 El_Che _DrForr: talking about grammars?
13:21 timotimo https://opensourcedays.org/community/talk?speaker_id=30
13:21 El_Che thx
13:21 timotimo "builtin expression grammars" are in the abstract
13:22 _DrForr I threw a slide of a nearly-complete JSON grammar up there.
13:22 timotimo probably without support for "strings that start in loose combiners" :P
13:22 _DrForr Probably not.
13:23 mr-foobar joined #perl6
13:23 timotimo https://github.com/timo/json_fast/blob/master/lib/JSON/Fast.pm#L83 :D
13:24 aborazmeh joined #perl6
13:24 aborazmeh joined #perl6
13:24 IOninja _DrForr: what was the slagging that tehy said?
13:25 timotimo @drforr_topics.grep(*.interesting > 0.5).pick(1).say
13:25 IOninja _DrForr: I forget who told me that, but someone said Python folks just can't stfu about Perl and slag it off on all their talks :) I didn't think it was THAT bad, but it's funny that you just corroborated that rumor :)
13:26 IOninja useless use of 1
13:26 bjz_ joined #perl6
13:27 _DrForr Oh, something to the effect of "If you thought having to deal with all those numbers, Perl now lets you use Roman numerals, to make it even more confusing."
13:29 timotimo huh, who has to deal with the numbers?
13:29 timotimo also, like, your criticism is stupid because, like, you can also put, like, the word "like" between like most keywords in like python
13:29 RabidGravy Nat Torkington "What is it with those Python fucks, anyway?" c. 2000
13:30 _DrForr Yeah, it was *really* weak sauce. I even invited people to slag Unicode operators in the talk.
13:31 timotimo <3
13:31 timotimo what kind of numbers was he refering to btw?
13:32 IOninja _DrForr: bad publicity is good publicity. I'm sure there were plenty in the audience who thought it was both inappropriate and dumb :)
13:32 _DrForr And. *AND*. This is incontrovertible proof that my talk went around the conference, and in enough detail that they could remember slides.
13:32 IOninja :)
13:33 timotimo yup, pretty good!
13:33 timotimo even if we don't impress anybody else at any conference, we'll at least get extremely attentive python users in all of our talks
13:34 _DrForr Not to mention my last slide goes to the heart of the matter, by going to the heart of matter.
13:34 timotimo whoa, dude
13:34 timotimo like, programming with quarks? or even ... strings?
13:35 lukaramu_ joined #perl6
13:35 _DrForr I show the Laplacian equations for the Higgs Boson.
13:35 timotimo well, everybody knows (though not everybody agrees) that strings make up all matter and energy
13:36 RabidGravy BRANES!
13:36 IOninja I don't think anybody knows yet :) There's no experimental evidence for string theory... still?
13:37 timotimo (uh oh, this is the "political off-topic" thing again!)
13:37 _DrForr He's asking for questions. Any good trolling suggestions? :)
13:37 IOninja _DrForr: yes, don't troll.
13:37 timotimo why do you print an exception's stacktrace with "exc.print_exception()" when "explicit is better than implicit"? :P
13:38 timotimo someone on twitter says their fav feature of perl6 is the repl ... uh oh
13:38 IOninja heh
13:41 timotimo we really need to find a way to make that thing work better :|
13:43 _DrForr Just talked about CamelCase not realizing where it came from :)
13:44 El_Che I ran some WinVMs to test some code. Win7 and 8 where very vast. WIn 10 sluggish. I though Win10 had the reputation of being fast
13:48 * IOninja has no issues with Win10
13:48 _DrForr I have XP and 8 at home, no v10.
13:48 IOninja Other than "We're sending all your info to us, whether you like it or not" feature that you can't even disable.
13:49 El_Che I looking in maybe have a small win7 vm with office
13:50 IOninja _DrForr: camel case came from Perl?
13:51 _DrForr Hint: "camel" :)
13:51 * timotimo just assumed camel case was older than perl
13:51 IOninja _DrForr: correlation does not imply causation. It's camel cause it looks like camel's humps
13:52 IOninja "The name "CamelCase" is not related to the "Camel Book", the popular nickname of the book Programming Perl, "
13:52 IOninja That's pretty much the only mention of Perl I see on https://en.wikipedia.org/wiki/Camel_case
13:52 timotimo also, camel case is actually about camelCase, not CamelCase, because that's DromedaryCase
13:52 _DrForr Not the first time I've been wrong :)
13:52 IOninja heh
13:52 timotimo even though everybody calls it CamelCase
13:52 timotimo but all those people are wrong on the biology
13:54 RabidGravy are there any *new* languages with case insensitive identifiers?
13:55 timotimo does visual basic count as new?
13:56 RabidGravy :)
13:56 timotimo i mean, there's visual basic .net
13:56 timotimo a friend of mine once told me that visual basic .net is the only way to reach every single piece of functionality that .net has to offer
13:56 timotimo or something like that
13:56 RabidGravy really?
13:57 timotimo i don't really remember the specifics. that was like 5 years ago
13:57 RabidGravy I haven't been near it for ten years
13:57 RabidGravy done some c# more recently
13:58 mr-foobar joined #perl6
13:59 Geth ¦ ecosystem: araraloren++ created pull request #310: add binding for ftplib
13:59 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/310
14:00 araraloren joined #perl6
14:02 Geth ¦ ecosystem: 4ecaf69105 | loren++ | META.list
14:02 Geth ¦ ecosystem: add binding for ftplib (#310)
14:02 Geth ¦ ecosystem:
14:02 Geth ¦ ecosystem: https://github.com/araraloren/Net-FTPlib
14:02 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/4ecaf69105
14:05 tadzik joined #perl6
14:05 Matthew[m] joined #perl6
14:05 M-Illandan joined #perl6
14:05 dp[m] joined #perl6
14:05 unclechu joined #perl6
14:05 ilmari[m] joined #perl6
14:05 xui_nya[m] joined #perl6
14:05 CIAvash[m] joined #perl6
14:09 RabidGravy does anyone use FTP anymore?
14:09 RabidGravy (genuine question)
14:10 timotimo homebrew folks use ftp quite a lot
14:10 timotimo at least on the 3ds, the wii u, the wii, and i think also the 'cube
14:10 IOninja RabidGravy: I do at work.
14:11 IOninja RabidGravy: what's wrong with it?
14:11 agentzh joined #perl6
14:12 RabidGravy I don't have an opinion about it
14:12 IOninja And what's the alternative? scp?
14:13 * IOninja uses ftp for "it ain't broke" reasons.
14:13 timotimo "if someone fixed it, does that mean it's broke?"
14:13 IOninja I have a gazillion bookmarks in gFTP and I can click on files I want to transfer. It does the job.
14:15 RabidGravy It's just one of those thing like telnet that pre-date the internet as we know it
14:15 Cabanossi joined #perl6
14:16 IOninja You mean like HTTP and TCP/IP? :)
14:16 RabidGravy it predates TCP/IP yeah
14:16 timotimo to be fair, TCP/IP got a boatload of stuff added to it so that it can work with today's stuff
14:16 tbrowder .tell masak i don't have any old masm on flppies or CD, but i did find this link: <http://www.phatcode.net/downloads.php?id=175>
14:16 yoleaux tbrowder: I'll pass your message to masak.
14:17 araraloren I made the module FTPlib as a practice, also it works good .
14:18 RabidGravy sure, I wasn't criticizing the module, just surprised people use the ptotocol a lot
14:18 RabidGravy :)
14:19 bjz joined #perl6
14:19 tbrowder .tell masak but i did find two old CDs (Dr. Dobbs 1988-2001 and C/C++ Journal 1990-2002) which i need to look at low-level because the old search box doesn't work on WIndows...i'll try on my Linux box
14:19 yoleaux tbrowder: I'll pass your message to masak.
14:20 araraloren Ftp is a good way to shared file in my company
14:21 araraloren I also use scp copy file from one to another frequently
14:22 El_Che FTP-out-of-the-box-problems: not encrypted, active mode + firewalls
14:22 El_Che (but we all knew that :) )
14:22 IOninja Isn't FTPS encrypted?
14:22 El_Che out of the box
14:22 IOninja Ah
14:22 RabidGravy yes, and network engineers hate active mode
14:22 El_Che FTP != ftps
14:23 El_Che there is ftp + ssl as well
14:23 araraloren Is sftp  ?
14:24 araraloren Oh, SFTP is a part of SSH
14:24 RabidGravy yeah, it's "FTP like" but not strictly FTP
14:24 timotimo the sftp commandline utility that comes with openssh is super crappy, though
14:25 RabidGravy hey I remember the FTF that was part of the ICL OSLAN stack
14:26 timotimo File Transfer & Food?
14:29 IOninja Ven: ping
14:31 IOninja .tell the contributors tool uses "ven" for, I assume, you. Probably needs more fields for you in the CREDITS file, unless you wanted to go as ven?
14:31 yoleaux IOninja: I'll pass your message to the.
14:31 IOninja dam
14:31 IOninja stupid robot
14:31 IOninja .tell Ven the contributors tool uses "ven" for, I assume, you. Probably needs more fields for you in the CREDITS file, unless you wanted to go as ven?
14:31 yoleaux IOninja: I'll pass your message to Ven.
14:32 araraloren ...
14:32 the .
14:32 yoleaux 28 Apr 2015 10:48Z <timotimo> the: video game i'm sinking so much time into these days is Disgaea 4. the bad thing is, it'll accept any amount of time you offer :)
14:32 yoleaux 9 Oct 2015 21:12Z <lizmat> the: IterationBuffer doesn't have a descriptor
14:32 yoleaux 14:31Z <IOninja> the: contributors tool uses "ven" for, I assume, you. Probably needs more fields for you in the CREDITS file, unless you wanted to go as ven?
14:32 IOninja heh
14:32 IOninja Glad to see i"m not the only one :)
14:32 araraloren Hah..
14:34 MasterDuke timotimo: i have spent so many hours with the Disgaea games... i bought a ps2 just to play the first one
14:36 geekosaur joined #perl6
14:39 araraloren joined #perl6
14:47 NeuralAnomaly joined #perl6
14:51 NeuralAnomaly joined #perl6
14:56 _DrForr joined #perl6
14:56 cibs joined #perl6
14:57 wamba joined #perl6
15:00 timotimo i bought a ps4 just to play D5 :)
15:01 MasterDuke i'm not sure i ever got 4, but i definitely don't have 5 yet
15:02 ambs joined #perl6
15:02 timotimo 4 is quite good. 5 is very good, but for different reasons
15:03 timotimo you should check out disgaea 5's soundtrack (but maybe in better sound quality than what youtube offers)
15:04 jfuller joined #perl6
15:04 _DrForr I bought a PS2/3 just to play Katamari Damacy. And DDR, at least until I moved to a 2nd floor apartment.
15:05 MasterDuke just added 5 to the amazon wishlist, but i'm still working on the games i got for christmas
15:05 timotimo omg we love katamari
15:06 jfuller left #perl6
15:06 timotimo btw, #perl6-gaming exists :)
15:06 _DrForr Duly noted, once I'm on a network that doesn't block port 22... :)
15:06 timotimo for discussing both game playing as well as game developing
15:07 _DrForr Not that I really play all that much.
15:07 _DrForr Not that I really play all that much.
15:08 IOninja Not that I really play all that much.
15:09 timotimo *shrug*
15:13 sukrishn joined #perl6
15:17 _DrForr joined #perl6
15:20 AlexDaniel joined #perl6
15:21 Geth ¦ gtk-simple/WildYorkies-patch-1: 90cc1ab270 | Cale++ | META6.json
15:21 Geth ¦ gtk-simple/WildYorkies-patch-1: add "gui" to tags
15:21 Geth ¦ gtk-simple/WildYorkies-patch-1: review: https://github.com/perl6/gtk-simple/commit/90cc1ab270
15:21 Geth ¦ gtk-simple: WildYorkies++ created pull request #76: add "gui" to tags
15:21 Geth ¦ gtk-simple: review: https://github.com/perl6/gtk-simple/pull/76
15:22 Geth ¦ gtk-simple: 90cc1ab270 | Cale++ | META6.json
15:22 Geth ¦ gtk-simple: add "gui" to tags
15:22 Geth ¦ gtk-simple: review: https://github.com/perl6/gtk-simple/commit/90cc1ab270
15:22 Geth ¦ gtk-simple: d4f22bc59a | (Zoffix Znet)++ | META6.json
15:22 Geth ¦ gtk-simple: Merge pull request #76 from perl6/WildYorkies-patch-1
15:22 Geth ¦ gtk-simple:
15:22 Geth ¦ gtk-simple: add "gui" to tags
15:22 Geth ¦ gtk-simple: review: https://github.com/perl6/gtk-simple/commit/d4f22bc59a
15:22 n1ce joined #perl6
15:22 andrzejku joined #perl6
15:24 timotimo anybody know how to work appveyor? it's trying to install strawberry perl but there's no checksum set (somewhere?) so it aborts the build for security reasons
15:24 timotimo (in gtk::simple)
15:24 IOninja timotimo: that sounds similar to the issue we had with rakudo's appveyor. Maybe compare the .appveyor files?
15:25 timotimo OK, thanks
15:25 IOninja huggable: lexical require :is: Upgrade info for lexical require: http://rakudo.org/2017/03/18/lexical-require-upgrade-info/
15:25 huggable IOninja, Added lexical require as Upgrade info for lexical require: http://rakudo.org/2017/03/18/lexical-require-upgrade-info/
15:26 Geth ¦ gtk-simple: cf20fc4fe7 | timo++ | appveyor.yml
15:26 Geth ¦ gtk-simple: steal strawberry perl install line from rakudo's appveyor
15:26 Geth ¦ gtk-simple: review: https://github.com/perl6/gtk-simple/commit/cf20fc4fe7
15:26 timotimo let's see if that does anything
15:27 timotimo i wonder what the idea behind the 2016.11 release in the matrix was
15:28 IOninja what matrix?
15:28 timotimo azawawi already changed that line to include --allow-empty-checksums like 2 months ago
15:28 timotimo https://github.com/perl6/gtk-simple/blob/master/appveyor.yml#L5
15:29 timotimo the thing that tells it what differetn variants to try to build
15:29 IOninja Based on when that commit entered, I think the idea was "one release behind latest"
15:29 IOninja *two releases behind latest
15:30 IOninja Ah: "latest Rakudo Star"
15:30 xinming joined #perl6
15:31 IOninja or previous rakudo star :P
15:31 timotimo ok, that's 2017.01 now, right?
15:31 IOninja Yes.
15:31 sukrishn joined #perl6
15:31 timotimo maybe it should have latest star, one-behind star, and rakudo nom?
15:31 timotimo it's doing stuff now
15:32 timotimo i wonder why appveyor didn't build any commits after that one
15:32 timotimo but now i added that repo in my account
15:32 timotimo whatever the difference is
15:37 BenGoldberg joined #perl6
15:38 NeuralAnomaly joined #perl6
15:39 nadim I have: enum DDT_Address_Display (DDT_DISPLAY_NONE => 0, 'DDT_DISPLAY_ALL', 'DDT_DISPLAY_CONTAINER') ;   later in an object I have: has DDT_Address_Display $.address is rw = DDT_Address_Display::DDT_DISPLAY_CONTAINER ; but I get this error: type check failed in assignment to $!address; expected DDT_Address_Display but got Int (0)
15:41 AlexDaniel c: 2017.03 say 42
15:41 committable6 AlexDaniel, ¦2017.03: «42»
15:41 AlexDaniel \o/
15:44 titsuki_ joined #perl6
15:45 Cabanossi joined #perl6
15:48 jjido joined #perl6
15:50 timotimo nadim: huh, that seems wrong on two layers; first, it should be a DDT_Address_Display, and second it should give 2, not 0.
15:50 timotimo any chance you can create a short snippet we could reproduce the issue with?
15:51 timotimo perl6 -e 'enum DDT_Address_Display (DDT_DISPLAY_NONE => 0, "DDT_DISPLAY_ALL", "DDT_DISPLAY_CONTAINER"); say DDT_Address_Display::DDT_DISPLAY_CONTAINER; class Test { has DDT_Address_Display $.address is rw = DDT_Address_Display::DDT_DISPLAY_CONTAINER }; say Test.new(); say Test.new(address => DDT_Address_Display::DDT_DISPLAY_ALL)'
15:52 timotimo this is what i'm testing with locally and at least here it works
15:52 nadim I will try to corner it. now I am confused by the fact that it started working after a change that I ... have not made, bleahhh
15:53 nadim it works here too, I need to back track the last changes and find, hopefully, why. It did look simple enough to work at first sight.
15:53 timotimo OK, i hope we can figure this out
15:53 MasterDuke timotimo: IOninja's snippet spends 46% of its time in re_nfg at src/strings/ops.c:91
15:54 MasterDuke according to perf
15:54 timotimo oh, interesting
15:57 MasterDuke in a profile, the most expensive (by exclusive time) functions are join|SETTING::src/core/List.pm, parse-string|/home/dan/Source/perl6/modules/json_fast/lib/JSON/Fast.pm, !alt|gen/moar/stage2/QRegex.nqp, sequential-map|SETTING::src/core/Any-iterable-methods.pm
15:58 timotimo mhh, i believe "join" and other concatenative operations have to ensure that dangling combiners will merge at the ends and beginnings of strings
15:58 timotimo i think that's what re_nfg is there for
15:58 SmokeMachine Is the release done?
16:00 timotimo ===> Building: GTK::Simple:ver('0.1.5')
16:00 timotimo 501 Protocol scheme 'https' is only supported if IO::Socket::SSL is installed <URL:https://gtk-dlls.p6c.org/libatk-1.0-0.dll>
16:01 timotimo this is a fun way to fail a continuous integration build
16:02 IOninja SmokeMachine: yes
16:02 SmokeMachine IOninja: ok, thanks!
16:03 Geth ¦ gtk-simple: 36fe48c2eb | timo++ | appveyor.yml
16:03 Geth ¦ gtk-simple: we need IO::Socket::SSL to download gtk dlls in appveyor
16:03 Geth ¦ gtk-simple: review: https://github.com/perl6/gtk-simple/commit/36fe48c2eb
16:05 timotimo MasterDuke: were you the one who used that neat memory profiler tool?
16:05 MasterDuke timotimo: heaptrack? yeah
16:06 IOninja timotimo: I guess ::SSL needs to be a repreq of gtk-simple since it downloads DLLs during the build
16:06 timotimo well, it's only a build-time prereq and only on windows
16:06 IOninja or something along those lines. Recall, you changed the site that hosts them to use HTTPS
16:06 timotimo i don't want to put it into the depends just for that
16:06 IOninja :/
16:06 timotimo i put it into the build instructions for appveyor and that should be fine
16:06 j75 m: grammar T { rule TOP { ['>'](\w+)['<'] } } ; say T.parse(">test<")
16:06 camelia rakudo-moar bfc5cb: OUTPUT: «「>test<」␤ 0 => 「test」␤»
16:07 j75 m: grammar T { rule TOP { ['>'](.+)['<'] } } ; say T.parse(">test<");
16:07 camelia rakudo-moar bfc5cb: OUTPUT: «Nil␤»
16:07 IOninja timotimo: what I mean is users installing it on Windows now aren't able to install it.
16:07 j75 why the different outputs?
16:07 timotimo because rule is regex + sigspace + ratchet
16:07 IOninja jdv79: .+ includes '<' and rules don't backtrack
16:07 timotimo the ratchet bites you in this case, because it forbids backtracking
16:07 timotimo IOninja: wrong tab-complete :)
16:08 timotimo m: grammar T { regex TOP { ['>'](.+)['<'] } } ; say T.parse(">test<");
16:08 camelia rakudo-moar bfc5cb: OUTPUT: «「>test<」␤ 0 => 「test」␤»
16:08 timotimo ^- replace "rule" with "regex" and it's fine
16:08 j75 thanks!!
16:08 Rawriful joined #perl6
16:08 timotimo YW
16:09 * IOninja nags about SSL and Windows users again
16:10 timotimo it might be nicer to have a little thing in the build.pm that goes through powershell's wget if IO::Socket::SSL is missing
16:10 timotimo also, the gtk dlls are really out of date by now and i don't remember where we got them from
16:10 nadim timotimo: I am tired, the error code was for another line where the original untyped variable was assigned 0! Argg, I finish this and I go to bed!
16:10 timotimo oh!
16:10 timotimo that's a relief, though :)
16:11 nadim yes it is :) since the same construct worked for another variable, i was starting to feel crazy.
16:11 araraloren joined #perl6
16:12 MasterDuke timotimo: did you want to see any of the screens of a heaptrack profile of IOninja snippet?
16:12 timotimo sure, show off anything you find suspicious, please
16:13 timotimo nadim: i really know how that feels :)
16:13 timotimo BBIAB
16:14 ugexe `Fetching backends [git,wget,curl] not available to handle XXX://github.com/ugexe/Perl6-ecosystems.XXX` # anyone have a better idea for the error message zef should give to the user when none of its backends know how to fetch a url? (know how to fetch just means the url matches a pattern I expect it to understand)
16:14 MasterDuke timotimo: overview http://i.imgur.com/bGqEmdg.png
16:14 Khisanth joined #perl6
16:15 timotimo ugexe: oh, oh, oh!
16:15 MasterDuke timotimo: sizes http://i.imgur.com/bQNvLiZ.png
16:15 timotimo ugexe: could you set a dynamic variable $*ZEF_DOWNLOAD_SERVICE that i could use in gtk::simple's build.pm to grab the gtk dlls off of a https server?
16:15 Cabanossi joined #perl6
16:16 timotimo MasterDuke: i wonder if the memory usage goes down a whole lot if an nqp::force_gc() is added near the end
16:17 MasterDuke timotimo: fyi, i ran with --full-cleanup
16:17 MasterDuke timotimo: right before the script exits?
16:17 ugexe timotimo: Build.PM can be executed in a separate process/script... how would it see such a variable?
16:18 ugexe I think you'd have to `use Zef::Fetch` directly (which is an aggregator of fetchers... so it will try all backends it knows of)
16:20 MasterDuke timotimo: fwiw, maxresident is the same with or without nqp::force_gc()
16:20 ugexe its losely based on an old IO document that had an interface for custom uris like `IO::File.uri("some url")`
16:22 MasterDuke the graphs look about the same with nqp::force_gc() at the end
16:23 IOninja SmokeMachine: in the future, would you please write more descriptive commits? It's very hard to understand what the change does when all the information it has is a number to a ticket (which is a wall of text and isn't always clear what the issue is). Here's a good info on good commit messages: https://chris.beams.io/posts/git-commit/
16:24 SmokeMachine IOninja: ok, sorry...
16:25 khw joined #perl6
16:31 ugexe timotimo: theoretically though something like that can work. for instance: zef can download the package list itself from http or git (not just modules - this is useful when git has its proxy info setup proper on windows)
16:43 cdg joined #perl6
16:44 agentzh joined #perl6
16:45 IOninja SmokeMachine: FWIW, Num and Int are different types. Nums don't contain Ints.
16:45 IOninja SmokeMachine: did you run spectest with https://github.com/rakudo/rakudo/pull/1042 ?
16:46 IOninja Because it'd be very scary if it passes....
16:46 SmokeMachine m: say Int ~~ Num
16:46 camelia rakudo-moar b1ff41: OUTPUT: «False␤»
16:47 SmokeMachine Strange! I did run! (Lots of times... trying to fix the problem...)
16:47 SmokeMachine m: say Num ~~ Int
16:47 camelia rakudo-moar b1ff41: OUTPUT: «False␤»
16:47 IOninja SmokeMachine: probably crappy tests thenm
16:47 IOninja m: say Int ~~ Numeric
16:47 camelia rakudo-moar b1ff41: OUTPUT: «True␤»
16:47 IOninja m: say [.^roles, .^mro ] for Int, Num
16:48 camelia rakudo-moar b1ff41: OUTPUT: «[((Real) (Numeric)) ((Int) (Cool) (Any) (Mu))]␤[((Real) (Numeric)) ((Num) (Cool) (Any) (Mu))]␤»
16:48 SmokeMachine I'll fix that in a few moments... (I'm just going to take a shower)
16:50 cdg joined #perl6
16:58 IOninja timotimo: is this PR still alive? https://github.com/rakudo/rakudo/pull/998
17:00 jfuller_ joined #perl6
17:02 Skarsnik joined #perl6
17:08 jjido joined #perl6
17:10 SmokeMachine IOninja: strange: https://www.irccloud.com/pastebin/nPefX5FY/
17:10 Sound joined #perl6
17:10 SmokeMachine as Num...
17:12 timotimo IOninja: it still needs some more implementation done on it
17:12 timotimo but i haven't looked into it any more since that last comment
17:12 timotimo MasterDuke: yeah, maxresident wouldn't change, because it's worst at its peak
17:13 timotimo it'd probably be more interesting to json-parse the same document multiple times in a loop and the ncompare what it's like when you force_gc after each run around the loop
17:14 timotimo IOninja: it's definitely something rakudo wants to have, just not sure if i can "just" implement it :P
17:14 timotimo but we have time until the release now ;)
17:14 sukrishn joined #perl6
17:19 timotimo IOninja: did you just interpret my comments about "needs work" to mean "i will do this"? :P
17:20 IOninja timotimo: I was just going through PRs and came across an old one. Well, it's *your* PR, I figured you'd do this :) If not, maybe PR should be closed or something?
17:20 IOninja m: 42.subst-mutate: Str, Str
17:20 camelia rakudo-moar 88aa78: OUTPUT: «Cannot resolve caller subst-mutate(Int: Str, Str); none of these signatures match:␤    (Cool:D $self is rw: |c is raw)␤  in block <unit> at <tmp> line 1␤␤»
17:21 IOninja SmokeMachine: ^ that one doesn't hang, so the tests don't cover the bug. The tests should hang pre-fix and not-hang post-fix.
17:22 timotimo i think since it contains both redo and last it could have 1/2 of it merged :P
17:22 SmokeMachine IOninja: should that hang? Sorry, that was on purpose... im fixing...
17:23 IOninja SmokeMachine: ah, it's cause the invocant isn't rw
17:23 IOninja m: ($ = 42).subst-mutate: Str, Str
17:23 camelia rakudo-moar 88aa78: OUTPUT: «(timeout)»
17:25 * BenGoldberg wonders why we *want* anything to hang.
17:25 BenGoldberg Unless I'm misreading.
17:26 BenGoldberg Oh I see, "should hang pre-fix" means, write a test, which, before the bug is fixed, hangs.
17:27 BenGoldberg How do you write a test for whether or not something hangs?
17:29 IOninja There's doesn't-hang() test util sub, but in this case just "using" the code and then `pass "doesn't hang"` is sufficient, since doesn't-hang is slow and sometimes gives false negatives
17:29 IOninja or rather false positives...
17:29 IOninja ... it says stuff hangs even when it doesn't...
17:30 zakharyas joined #perl6
17:31 IOninja A'ight. Stuff got released. Some PRs got reviewed. Time to crack down on IO and finish up the Plan by end of Monday
17:31 * IOninja vanishes into the shadows
17:32 agentzh joined #perl6
17:33 sukrishn joined #perl6
17:42 dmaestro joined #perl6
17:45 j75 :m grammar T { rule TOP { \w+ } } ; class Act { method TOP ($/) { say so "test" ~~ /test/ } } ; T.parse("foo", actions => Act )
17:45 j75 why does that fail?
17:46 japhb .ask IOninja Wait, do we really have a test routine that pretends to solve the *Halting Problem*?  I ... what?
17:46 yoleaux japhb: I'll pass your message to IOninja.
17:47 cibs joined #perl6
17:47 geekosaur I think it's more a "this is something that used to infinite loop very early (e.g. in dispatching)"
17:48 geekosaur but catching any such loop and ruling it out will be dubious because you can't pick a timeout that is both short enough to let testing proceed and long enough to cope with heavily loaded systems (including VM hosts)
17:50 Sound joined #perl6
17:51 IOninja SmokeMachi+│ IOninja: strange: https://www.irccloud.com/pastebin/nPefX5FY/
17:51 yoleaux 17:46Z <japhb> IOninja: Wait, do we really have a test routine that pretends to solve the *Halting Problem*?  I ... what?
17:51 IOninja SmokeMachine: why strange?
17:52 dmaestro :m grammar T { rule TOP { \w+ } } ; class Act { method TOP ($/) { say "matched" } ; T.parse("foo", actions => Act )
17:52 yoleaux 11 Feb 2017 20:02Z <samcv> dmaestro: you're welcome!
17:52 IOninja SmokeMachine: in pre-fix version that goes through Cool candidate in your version it goes through Num candidate.
17:52 IOninja m: 42.rindex: "2", 2.0
17:52 camelia rakudo-moar 88aa78: OUTPUT: «index start offset out of range␤  in block <unit> at <tmp> line 1␤␤»
17:52 sena_kun m: grammar T { rule TOP { \w+ } } ; class Act { method TOP ($res) { "test" ~~ /test/; ~$res } } ; T.parse("foo", actions => Act)
17:52 camelia rakudo-moar 88aa78: ( no output )
17:52 IOninja m: 42.rindex: "2", 0.0
17:52 sena_kun j75, ^
17:52 camelia rakudo-moar 88aa78: ( no output )
17:52 IOninja SmokeMachine: ^ try that one with your fix. I bet it fails now
17:52 SmokeMachine IOninja: Sorry I took some time to understand what you sad...
17:53 sena_kun m: grammar T { rule TOP { \w+ } } ; class Act { method TOP ($res) { say so "test" ~~ /test/; } } ; T.parse("foo", actions => Act);
17:53 camelia rakudo-moar 88aa78: OUTPUT: «True␤»
17:53 sena_kun j75, ^
17:53 j75 thanks
17:53 IOninja japhb: it doesn't need to solve it in order to be useful: https://github.com/perl6/roast/blob/master/packages/Test/Util.pm#L175-L212
17:55 TimToady geekosaur: you'd wanna pick a "timeout" based on, say, number of nqp instructions traversed
17:55 yoleaux 15 Mar 2017 16:29Z <b2gills> TimToady: I wonder if we can take a measured approach to removing ‘returns’. We just remove it from all tests in ROAST (from the main branch only) and have it be a non-standard addition to the language that Rakudo has.
17:55 SmokeMachine IOninja: yes, failed...
17:56 j75 if i want access to $/ in the actions TOP method, is it not possible to use a ~~ regex comparison in there?
17:57 IOninja SmokeMachine: 'cause I used a Rat, which isn't a Num (which is used in your fix) but it is a Cool (which is used before your fix)
17:57 IOninja j75: just don't name it $/
17:57 SmokeMachine Should I change to Number?
17:57 IOninja j75: method TOP ($m) { say $m<some-capture> }
17:57 IOninja SmokeMachine: to Cool
17:57 SmokeMachine ok!
17:57 j75 IOninja, makes sense!
17:57 j75 thanks
17:58 dmaestro j75: I get "Cannot assign to a readonly variable ($/)", because the match tries to set the special match variable: $/
17:58 nowan joined #perl6
17:59 dmaestro It can't modify it, since it's a parameter.
17:59 j75 thanks, using a different variable name works
18:00 Cabanossi joined #perl6
18:02 BenGoldberg Why not name it $/ and add 'is rw'?
18:02 IOninja Why clobber your match?
18:02 BenGoldberg Or is copy?
18:02 IOninja Why clobber it?
18:02 * BenGoldberg shrugs.
18:02 * IOninja shrugs
18:03 BenGoldberg If you don't need it anymore?
18:03 IOninja And if you later refactor code?
18:03 IOninja And accidentally use it past-match
18:04 IOninja It's equivalent to code like: my $msg = 'foo'; $msg.uc.say; $msg = 42 + $whatever; say $msg
18:04 IOninja Reusing same variable for unrelated things.
18:04 japhb IOninja: My objection was the name.  doesn't-hang() is misleading.  finishes-quickly() is a little more accurate.
18:04 IOninja heh
18:05 IOninja japhb: but completely misleading about the purpose of the test.
18:06 japhb .oO( finishes-within-expected-time() )
18:07 nowan joined #perl6
18:08 IOninja That's overly-long and still is inaccurate with respect to what the test is meant to test for.
18:09 IOninja Your objection is the name claims it does something that's impossible to do, not that it's misleading.
18:09 timotimo finishes-before-heatdeath-of-universe
18:09 IOninja "Oh look! Finally, the solution to the ... oh crap! The name lied!"
18:09 * IOninja & # for real now :)
18:15 geekosaur works() :p
18:20 BenGoldberg . o O (There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors)
18:22 japhb I love that renaming admits to #2 and causes #1.
18:22 * BenGoldberg wonders if deoptimization is considered a form of cache invalidation.
18:23 cibs joined #perl6
18:27 * BenGoldberg wonders if the "does it hang" test sub should be maybe named after the test's raison d'etre, not the success mode: used-to-hang(&callable, $timeout, ...)
18:42 setty1 joined #perl6
18:44 Rawriful joined #perl6
18:44 timotimo i would argue deopt is cache invalidation but with a cherry on top
18:46 agentzh joined #perl6
18:49 gdonald joined #perl6
18:53 espadrine joined #perl6
18:59 bolangi joined #perl6
19:02 Rawriful joined #perl6
19:04 geekosaur arguably it's switching caches, which could invalidate both
19:06 SmokeMachine IOninja: if you could review that again... I think I fixed you issues...
19:08 offby1 joined #perl6
19:08 offby1 What's the simplest way to serialize simple data?  I thought there was json support built in but there appears not to be.  Is there a reader that can read what e.g. $thing.perl writes?
19:09 * offby1 waves at cxreg
19:09 ugexe EVAL
19:09 offby1 oho!
19:09 offby1 how safe is that?
19:10 offby1 apparently not very :-)
19:15 Cabanossi joined #perl6
19:16 BenGoldberg Just install JSON::Tiny.
19:17 offby1 fair enough
19:17 BenGoldberg Or JSON::Fast
19:19 BenGoldberg Actually, on https://modules.perl6.org/ there seem to be about a dozen JSON modules.
19:19 sukrishn joined #perl6
19:19 offby1 noooo :)  too many
19:19 offby1 Did I imagine it, or was JSON support built-in at one point?
19:20 ugexe m: use nqp; sub serialize($o is copy) {my Mu $sh:=nqp::list_s; my $name="Ser_{nqp::time_n}"; my Mu $sc:=nqp::createsc(nqp::unbox_s($name)); nqp::setobjsc($o,$sc); nqp::scsetobj($sc,0,$o); my $s=nqp::serialize($sc,$sh); my Mu $iter := nqp::iterator($sh); while ($iter) {my $ss:=nqp::shift($iter)}; nqp::scdisclaim($sc); nqp::shift_s($sh); "{nqp::p6box_s(nqp::join(qq|\n|,$sh))}\n$s"}; say serialize("foo".IO);
19:20 camelia rakudo-moar 88aa78: OUTPUT: «831C3CC373E7E7F4B1A5931496462F5495E4FF04␤gen/moar/CORE.setting␤BEE2055C49CC1094743D6C0E8BA38BA3B74FD3D8␤<tmp>␤/home/camelia␤FAAAAEgAAAACAAAAWAAAAAAAAABYAAAAWAAAAAYAAACIAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAQAAAAIAAAADAAAABAAAAF0B…»
19:22 ugexe rakudo can parse json but its not supported
19:22 ugexe Rakudo::Internals::JSON.from-json and Rakudo::Internals::JSON.to-json
19:23 ugexe they exist to load module meta data only, not to be a specced out json parser
19:25 offby1 *nod
19:26 ugexe btw the above serialization code is from FROGGS work on nqp::serialize ops (ecosystem module Ser), which I think was intended to speed up module loading by using a different format. Unfortunately I think it doesn't work for a lot of cases
19:33 labster joined #perl6
19:33 SmokeMachine m: say from-json 「{foo: "bar"}」
19:33 camelia rakudo-moar 88aa78: OUTPUT: «Invalid JSON: {foo: "bar"}␤  in block <unit> at <tmp> line 1␤␤»
19:33 SmokeMachine m: say from-json 「{"foo": "bar"}」
19:33 camelia rakudo-moar 88aa78: OUTPUT: «{foo => bar}␤»
19:34 Ven joined #perl6
19:35 offby1 yeah, I seem to recall JSON requires anything string-like to be quoted
19:35 offby1 m: say to-json({1 => 2})
19:35 camelia rakudo-moar 88aa78: OUTPUT: «{␤  "1" : 2␤}␤»
19:36 MasterDuke timotimo: i changed the snippet to do from-json 10 times in a loop, then ran it once just like that, and once with an nqp::force_gc() after the from-json in the loop body
19:36 MasterDuke heaptrack graphs looked the same
19:37 MasterDuke http://i.imgur.com/dcspciw.png
19:39 ugexe what file are you testing?
19:40 * ugexe was just coincidentally asking about performance of parsing http://ecosystem-api.p6c.org/projects.json
19:43 MasterDuke ugexe: a shortened form of this https://gist.github.com/zoffixznet/9d9783ab1d74a6c21f69241daee7e813
19:43 MasterDuke i downloaded and saved off the json
19:45 timotimo MasterDuke: that's not a leak, then :)
19:46 MasterDuke timotimo: right, just very high mem use, but not leaking
19:47 timotimo yeah
19:47 timotimo can i get the consumed graph for without force_gc?
19:50 MasterDuke http://i.imgur.com/yqTvkFi.png
19:51 timotimo i find this surprising.
19:51 timotimo oh, i wonder if substr-ing out of bigger strings unnecessarily keeps old things around?
19:56 buggable joined #perl6
20:07 geekosaur might have been missed from when substr-rw was split out? or maybe not keeping track of references quite properly, or just that it can't gc the full string until referenced substrings go out of scope
20:08 IOninja SmokeMachine: merged, but the tests for it is still unfixed. The subst-mutate one
20:09 SmokeMachine IOninja: yes... Im running it to push it to my repo...
20:09 MasterDuke IOninja: btw, did you see my question about tests earlier today in #moarvm?
20:10 thundergnat joined #perl6
20:10 IOninja no
20:10 MasterDuke https://irclog.perlgeek.de/moarvm/2017-03-18#i_14286223
20:10 thundergnat Howdy perl6
20:11 IOninja MasterDuke: no idea. How come attributes are not proper uint64 tho?
20:11 IOninja \o
20:11 MasterDuke that's a known problem. https://github.com/MoarVM/MoarVM/issues/393
20:11 thundergnat Just upgraded to latest 2017.03 release. IOninja++ for the release, everyone++ ++ for all the effort.
20:12 MasterDuke i'm kind of working on a fix for it, but it may end up over my head, and even if not, may not come immediately
20:12 IOninja MasterDuke: ah, ok. it's TODOed, but your change makes it die? Just change the fudge to skip(), I think
20:13 SmokeMachine IOninja: just pushed...
20:14 MasterDuke IOninja: ok, thought that might be an acceptable solution, i'll give it a whirl and see what happens
20:14 MasterDuke IOninja: oh, and ++ for the release
20:14 thundergnat Quick question. Was it intended that reversing an array now returns a Seq? I know List is supposed to. Commit beda576. I sort-of surprised me that arrays do too now.
20:15 thundergnat *I was
20:15 timotimo geekosaur: that's moarvm-level stuff. there's nothing clever we can do except use nqp::indexingoptimized to turn it from a ropey string to a single-piece-of string
20:15 timotimo which could definitely be a thing we can do in this case
20:15 timotimo given we do it in the right place
20:15 timotimo anyway, the moar heapanalyzer would be able to tell us what's going on
20:15 thundergnat m: say [1,2,3,4].reverse.WHAT
20:15 camelia rakudo-moar bfbe42: OUTPUT: «(Seq)␤»
20:15 labster joined #perl6
20:17 thundergnat Not a big problem but it broke some working code.
20:17 IOninja SmokeMachine: merged thanks.
20:18 IOninja SmokeMachine: FWIW, Real is a role all numerics except Complex do. The 2.0 is a Rat
20:18 SmokeMachine IOninja: thank you!
20:18 IOninja m: .^name.say with 2.0
20:18 camelia rakudo-moar bfbe42: OUTPUT: «Rat␤»
20:18 IOninja m: say 42 ~~ Real
20:18 camelia rakudo-moar bfbe42: OUTPUT: «True␤»
20:19 SmokeMachine IOninja: thanks... sorry... should I fix the msg?
20:19 IOninja thundergnat: that's a known change.
20:19 IOninja SmokeMachine: I already fixed it.
20:19 IOninja thundergnat: and sorry for breakage :)
20:20 SmokeMachine IOninja: thanks!
20:21 IOninja thundergnat: hm.. the List.reverse->Seq is known at least. I'll mention the Array one it to lizmat. She's the expert on this stuff.
20:23 thundergnat IOninja yeah List.reverse->Seq was definitely intended. I wasn't sure if Array.reverse->Seq was.
20:24 thundergnat Like I said, it is easy to work around once known, but it did break a bunch of stuff.
20:25 Geth ¦ doc: 5ef456b391 | (Zoffix Znet)++ | doc/Type/Any.pod6
20:25 Geth ¦ doc: Any.reverse returns a Seq, not a List
20:25 Geth ¦ doc: review: https://github.com/perl6/doc/commit/5ef456b391
20:26 Geth ¦ doc: 3acfb391e1 | (Zoffix Znet)++ | doc/Type/List.pod6
20:26 Geth ¦ doc: List.reverse returns a Seq, not a List
20:26 Geth ¦ doc: review: https://github.com/perl6/doc/commit/3acfb391e1
20:28 IOninja Looks like it was returning an Array pretty much by accident. As there's no Array.reverse; it uses the List.reverse (Arrays are Lists)
20:30 Cabanossi joined #perl6
20:31 thundergnat Cool. I'd rather get the gains made by the change than the old behavior.  IOninja++ er... Zoffix++ for updating the docs.
20:35 SmokeMachine IOninja: Im reading #131009 and if I did understand, I think I disagree with that... I don't think [\,] and [,] should have the same return type... as [+] and [\+] don't have the same return type...
20:35 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=131009
20:37 rindolf joined #perl6
20:37 IOninja SmokeMachine: ah, right.
20:41 IOninja SmokeMachine: fixing the rest should be fairly easy then. I'm not sure what makes it use METAOP_REDUCE_LISTINFIX, but I guess that case also has the unwanted flattening that you fixed for [\,]. And for containerization, I see some ops just use .map({nqp::decont($_)}), so just need to stick that in a couple more places and it'll be good enough
20:41 IOninja https://github.com/rakudo/rakudo/blob/79f2681004224108b2acd18bec21b76803eb8fcd/src/core/metaops.pm#L436
20:42 mxco86 joined #perl6
20:44 BenGoldberg joined #perl6
20:44 SmokeMachine IOninja: Ill try to fix that!
20:49 sukrishn joined #perl6
20:54 SmokeMachine m: say [minmax] <a b c>, <a e i o u> # what it should return?
20:54 camelia rakudo-moar bfbe42: OUTPUT: «"a".."u"␤»
20:56 Geth ¦ doc: 559bd4ce27 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Routine.pod6
20:56 Geth ¦ doc: link to WrapHandle
20:56 Geth ¦ doc: review: https://github.com/perl6/doc/commit/559bd4ce27
20:57 BenGoldberg m: say 'a' minmax 'u'
20:57 camelia rakudo-moar bfbe42: OUTPUT: «"a".."u"␤»
20:57 BenGoldberg m: say 'a' minmax 'b' minmax 'c'
20:57 camelia rakudo-moar bfbe42: OUTPUT: «"a".."c"␤»
20:57 BenGoldberg m: say 'a' minmax 'b' minmax 'e'
20:57 camelia rakudo-moar bfbe42: OUTPUT: «"a".."e"␤»
20:58 SmokeMachine m: say <a b c> minmax <a e i o u>
20:58 camelia rakudo-moar bfbe42: OUTPUT: «"a".."u"␤»
20:59 offby1 left #perl6
20:59 BenGoldberg Well, 'a' and 'u' are obviously the min and max ... it seems strange that it returns a Range, I'd expect a Pair, or a two element list, but *shrug*
21:06 IOninja There are a lot of tests for it to return the Range.
21:06 IOninja except for Range.minmax, which returns a list
21:07 tojo joined #perl6
21:11 jjido joined #perl6
21:36 jjido_ joined #perl6
21:38 dct joined #perl6
21:44 IOninja gfldex: not sure about all of your dir(). Seems you want it to behave as a file-find routine, which is out of scope for dir(). And I think out of scope even for anything core, just because of so many ways there are to recursively find files (depth/breadth-first; lazy or all at-once, etc)
21:44 IOninja *all of your dir() examples
21:50 nadim joined #perl6
21:55 IOninja and the "it's an only method, so can't be augmented" issue is present in many, many methods, so it's not just the IO::Path.dir
21:58 SmokeMachine m: say 42.index: Str
21:58 camelia rakudo-moar bfbe42: OUTPUT: «Cannot resolve caller index(Str: Str); none of these signatures match:␤    (Str:D $: Cool:D $needle, *%_)␤    (Str:D $: Str:D $needle, *%_)␤    (Str:D $: Cool:D $needle, Cool:D $pos, *%_)␤    (Str:D $: Str:D $needle, Int:D $pos, *%_)␤  in block…»
22:00 IOninja m: (try require Test) and ::('Test')
22:00 camelia rakudo-moar bfbe42: ( no output )
22:00 IOninja m: (try require Test) and say "hi"
22:00 camelia rakudo-moar bfbe42: ( no output )
22:00 IOninja crap
22:00 * IOninja edits the upgrade instructions /o\
22:13 SmokeMachine m: say [\minmax] <a b c>, <a e i o u> # what it should return?
22:13 camelia rakudo-moar bfbe42: OUTPUT: «("a".."c" "a".."u")␤»
22:13 SmokeMachine 19:13 <SmokeMachine> m: say [\X] <a b c>, <a e i o u> # what it should return?
22:14 SmokeMachine m: say [\X] <a b c>, <a e i o u>
22:14 camelia rakudo-moar bfbe42: OUTPUT: «(((a b c)) ((a b c a e i o u)))␤»
22:15 Cabanossi joined #perl6
22:15 SmokeMachine m: say [\Z] <a b c>, <a e i o u>
22:15 camelia rakudo-moar bfbe42: OUTPUT: «(((a b c)) ((a b c a e i o u)))␤»
22:16 SmokeMachine m: say [\X] <a b c>, <a e i o u>, ^5
22:16 camelia rakudo-moar bfbe42: OUTPUT: «(((a b c)) ((a b c a e i o u)) ((a b c a e i o u 0 1 2 3 4)))␤»
22:16 SmokeMachine m: say <a b c> X <a e i o u>
22:16 camelia rakudo-moar bfbe42: OUTPUT: «((a a) (a e) (a i) (a o) (a u) (b a) (b e) (b i) (b o) (b u) (c a) (c e) (c i) (c o) (c u))␤»
22:17 MasterDuke m: say [\elems] <a b c>, <a e i o u>
22:17 camelia rakudo-moar bfbe42: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix , instead␤at <tmp>:1␤------> 3say [\elems] <a b c>,7⏏5 <a e i o u>␤»
22:17 MasterDuke m: say [\+] <a b c>, <a e i o u>
22:17 camelia rakudo-moar bfbe42: OUTPUT: «((a b c) 8)␤»
22:18 SmokeMachine m: <a b c> + <a e i o u>
22:18 camelia rakudo-moar bfbe42: OUTPUT: «WARNINGS for <tmp>:␤Useless use of "+" in expression "<a b c> + <a e i o u>" in sink context (line 1)␤»
22:18 SmokeMachine m: say <a b c> + <a e i o u>
22:18 camelia rakudo-moar bfbe42: OUTPUT: «8␤»
22:20 sukrishn joined #perl6
22:21 SmokeMachine I think [\X] and [\Z] but I'm not sure about [\minmax]
22:21 SmokeMachine *are wrong
22:36 timotimo "only method" - "dodge this!"
22:38 AlexDaniel timotimo: so \r twice? https://github.com/timo/json_fast/blob/master/lib/JSON/Fast.pm#L15-L16
22:39 timotimo oh crap!
22:39 timotimo well, only a performance penalty, doesn't make things break
22:40 timotimo pushing a fix
22:40 jjido joined #perl6
22:43 AlexDaniel timotimo: how does that change help with memory performance, by the way?
22:43 timotimo which change exactly?
22:43 timotimo the \r\n one?
22:46 Voldenet joined #perl6
22:46 Voldenet joined #perl6
22:48 ufobat joined #perl6
22:49 AlexDaniel timotimo: yes
22:50 timotimo we do less joins and recursions
22:51 AlexDaniel timotimo: ah, by the way, is .trans actually slower in this case?
22:56 timotimo pushed and bumped version
22:56 timotimo *shrug*, not sure if i measured or not
23:00 Cabanossi joined #perl6
23:00 IRCFrEAK joined #perl6
23:03 BenGoldberg Wouldn't .trans work better than .subst ?
23:03 BenGoldberg oops, nevermind.
23:04 AlexDaniel BenGoldberg: why “oops”?
23:04 nadim Any doc on how to setup a module so it is in the travis integration?
23:06 BenGoldberg I didn't see that you suggested it already ;)
23:06 IOninja nadim: https://docs.travis-ci.com/user/languages/perl6
23:07 IOninja nadim: and go to https://travis-ci.org/profile/YOUR-GITHUB-USERNAME/ and click "Sync account" at top left and then find your repo and toggle it to ON
23:35 jeffythedragonsl joined #perl6
23:36 jeffythedragonsl hello
23:41 jjido joined #perl6
23:47 jeffythedragonsl quick question - does upgrading in Perl 1-4 ever break old scripts or does everything all the way back to 1987 still work?
23:47 jeffythedragonsl *upgrading in Perl 1-5 that is
23:48 jonadab jeffythedragonsl: I believe the 2nd edition Camel presents a piece of Perl poetry written for an older version that no longer compiles under Perl 5.
23:49 jonadab Granted, it never did anything useful in the first place.
23:50 sukrishn joined #perl6
23:52 jeffythedragonsl so it's a bit of a pathological case?
23:53 ugexe scripts that depend on hash ordering
23:56 jeffythedragonsl that sounds like something you usually don't want to depend on anyway

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

Perl 6 | Reference Documentation | Rakudo