»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:02 bjz joined, bjz_ left 00:07 skids joined 00:10 dct left 00:11 Sound left 00:30 lukaramu_ left 00:31 wamba left 00:38 kurahaupo left 00:40 agentzh joined 00:45 Cabanossi left 00:47 Cabanossi joined 01:02 Actualeyes left, BenGoldberg joined 01:03 Redek joined 01:04 Redek left 01:07 bjz left 01:08 aborazmeh joined, aborazmeh left, aborazmeh joined 01:18 matt_ left 01:19 espadrine left 01:23 matt_ joined 01:24 matt_ is now known as Guest57537
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: rt.perl.org/rt3//Public/Bug/Displa...?id=130940
Geth whateverable: 39cec40933 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Typo (“unstead” → “instead”)
01:25
01:25 committable6 joined, ChanServ sets mode: +v committable6
IOninja FYI: next Rakudo release will include lexical require. Please read the information on how to upgrade your code: rakudo.org/2017/03/18/lexical-requi...rade-info/ 01:30
Geth whateverable: e0565f7995 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 8 files
Change ⁇ ‼ back to ?? !!

Rakudo no longer supports ⁇‼
ლ(ಠ益ಠლ)
AlexDaniel IOninja: so… what was this VIP thingy? 01:31
ah, 2017.04, nevermind 01:32
01:32 aindilis left
IOninja AlexDaniel: "Very Installable Perl". My vision for what Rakudo Star should be. 01:33
AlexDaniel :O
IOninja++
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:34
SmokeMachine the stress tests had only one test of t/spec/S10-packages/precompilation.rakudo.moar broken... 01:35
01:43 pochi left
timotimo only rakudo star is supposed to be stellar :P 01:44
01:45 pochi joined
geekosaur "[LTA] VIP isn't" :p 01:48
IOninja :) 01:52
===> Searching for: Inline::Scheme::Guile:ver('0.1'):auth('github:drforr') 01:53
Username for 'github.com':
DrForr: huh... Weird that it's asking me for username..
Guess my ecosystem smokage is getting aborted early, because I'm not gonna enter that info :/
timotimo can you somehow change the urls to git:// automatically? 01:54
IOninja Is that why it's asking for pass?
timotimo there's also a configuration option that you can put your stuff into for this thing
https:// will ask for pass, apparently
maybe because it doesn't know if you just want to pull or if you want to push
before the protocol forces it to decide whether to ask for password or nto
IOninja Weird that it does, considering all I want to do is clone (well, zef wants to do)
Oh well. 01:55
timotimo aye, it's annoying, but a known bug
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) 01:56
02:01 spebern left
timotimo Put this in your ~/.netrc and it won't ask for your username/password (at least on Linux and Mac): 02:02
machine github.com
login <user>
password <password>
interesting
help.github.com/articles/caching-y...rd-in-git/
that one seems saner
samcv why not use ssh? 02:03
timotimo because then you have to somehow get zef to rewrite the url
samcv ah
does zef always use https?
timotimo ionin wants an automated process that installs every module we have
hm, don't think so 02:04
ugexe github.com/ugexe/zef/blob/master/r...g.json#L61
timotimo oh, interesting
ugexe it should work if the uri ends in .git
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
ugexe but it cannot guess that `...` without a .git at the end is a git url
timotimo yeah
IOninja The ecosystem munger removes all .git from https:// URLs 02:06
ugexe ah so its zef applying https scheme over the git:// links which do have .git 02:07
maybe not
"source":"github.com/skids/perl6-Proc-Screen.git"
from ecosystem-api.p6c.org/projects.json 02:08
02:08 bjz joined
ugexe yeah lots of https with .git 02:09
IOninja Weird. 'cause: github.com/perl6/ecosystem/blob/ma...ist.pl#L84
ugexe that is adding .git isnt it
IOninja doh >:) 02:10
Yes, it's adding .git to https URLs that end in just /
ugexe and i *think* .git/ is a valid git ending
but that would s{.git/}{.git/.git} 02:11
02:14 bjz left
ugexe really people should just be putting the .git at the end of the source-url themselves 02:16
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
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 kaare_ left
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
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
IOninja Like non-working URLS. But I don't recall if was all just 'cause panda choked on them 02:18
ugexe https works the best with work firewalls i believe 02:19
02:23 bjz left
ugexe when choosing what archive format to use for your packages remember that windows can unzip without installing additional software 02:28
if they install rakudo (not star) then they also have perl5 so those window users can untar 02:30
02:35 curan left
ugexe a decent bit of work went into windows compatibility. it should even still work across volumes 02:38
including passing paths to gnu tar which doesn't accept volume from the command line 02:39
02:44 cyphase left 02:46 kaare_ joined, ilbot3 left 02:48 ilbot3 joined, ChanServ sets mode: +v ilbot3 02:51 mcsnolte left, dogbert2 joined 02:53 mtj_ joined, mtj_ left, mtj_ joined 02:54 LeCamarade left 02:57 LeCamarade joined 02:58 Mithaldu joined 02:59 ribasushi joined 03:03 cyphase joined 03:11 aborazmeh left 03:26 agentzh left 03:30 Cabanossi left 03:32 Cabanossi joined 03:34 geekosaur left, geekosaur joined 03:35 noganex joined 03:37 noganex_ left 03:42 bjz joined 04:06 xtreak joined 04:08 mcmillhj joined 04:12 mcmillhj left 04:14 mcmillhj joined 04:19 wamba joined 04:20 mcmillhj left 04:30 Cabanossi left 04:32 Cabanossi joined 04:59 Cabanossi left 05:00 AlexDaniel left, Cabanossi joined, BenGoldberg left 05:01 bjz left 05:03 mcmillhj joined 05:05 vike joined 05:08 mcmillhj left 05:12 kurahaupo joined 05:18 xtreak left 05:19 xtreak joined 05:20 agentzh joined 05:25 mcmillhj joined 05:28 Cabanossi left 05:30 aborazmeh joined, aborazmeh left, aborazmeh joined, mcmillhj left, Cabanossi joined 05:33 effbiai joined, bjz joined 05:35 andrzejku joined 05:42 mcmillhj joined 05:49 wamba left, mcmillhj left, wamba joined 05:59 araraloren joined 06:00 agentzh left 06:04 aborazmeh left 06:06 agentzh joined 06:07 khw left 06:09 khw joined 06:11 khw left 06:12 agentzh left 06:18 gdonald left 06:19 gdonald joined 06:23 skids left 06:31 mr-foobar left 06:41 andrzejku left 06:58 Cabanossi left 07:00 Cabanossi joined 07:02 andrzejku joined 07:06 mr-foobar joined 07:18 rindolf joined 07:27 mcmillhj joined, xtreak left 07:30 xtreak joined 07:31 kurahaupo left, mcmillhj left, aindilis joined 07:33 mr-foobar left 07:44 Cabanossi left 07:45 Cabanossi joined 07:46 baest left 07:50 baest joined 07:58 Sound joined 08:02 mr-foobar joined, araraloren left 08:03 mcmillhj joined, kurahaupo joined, araraloren joined 08:07 wamba left 08:08 kurahaupo left, mcmillhj left 08:09 mcmillhj joined, agentzh joined 08:13 araraloren left, agentzh left, mcmillhj left 08:14 araraloren joined 08:20 araraloren left 08:37 xtreak left 08:39 darutoko joined 08:40 jjido joined 08:42 xtreak joined 08:50 domidumont joined 08:53 xtreak left 09:00 RabidGravy joined 09:05 jjido left 09:13 Cabanossi left 09:15 Cabanossi joined
RabidGravy boom 09:19
RabidGravy wonders idly about a thing like a supply but has another supply that emits whatever the taps return 09:20
09:22 mr-foobar left 09:23 xtreak joined 09:30 nadim joined
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:35
geekosaur .WHICH 09:46
.WHERE has the actual address, which can change after gc
09:49 parv joined
lizmat nadim: feels to me you should explain what you want to do 09:59
perhaps a Set or a typed Hash would be more appropriate ? 10:00
10:03 Dunearhp_ joined 10:15 n1ce_ left 10:29 Cabanossi left 10:30 Cabanossi joined 10:31 labster left 10:36 parv left 10:37 sena_kun joined
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:40
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:41
lizmat .WHICH is then the answer 10:42
it's what typed hashes / Sets / Bags / .unique use internally
10:45 TEttinger left
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:46
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:47
lizmat nadim: looks like nine fixed that in 7f26e8b2 last November 10:48
10:48 lukaramu joined
lizmat nadim: the border between built-in vs non-builtin is very vague 10:48
some built-in types don't even exist until you need them 10:49
nadim :)
Anything that can be put in a data structure or that would appear when an object is dumped
lizmat m: .say for SETTING::.keys.sort # a sort of list, but this also includes internal builtins 10:50
camelia !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…
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
lizmat m: .say for SETTING::.keys.grep(*.starts-with("&")).sort # perhaps better 10:51
camelia &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
lizmat RabidGravy: a supply that doesn't get tapped, how would you tap that ?
10:54 sena_kun left 10:55 sena_kun joined
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:55
lizmat I think I lost you at the "it is simply kept" part 10:57
RabidGravy the promise in the "request" :) 10:58
lizmat perhaps a .then on the Promise ? 10:59
RabidGravy well yes, but that doesn't deal with the case where it never gets kept or broken 11:01
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:03 bjz left
lizmat whenever Supply.in(10) 11:04
?
that would give you a timeout, but that's not what you're looking for ?
lizmat needs to be afk again to schlepp some heavy stuff 11:05
RabidGravy GET SCHLEPPING!
11:14 Cabanossi left 11:15 Cabanossi joined 11:26 xtreak left
RabidGravy Hmm there appears to be a lack of an snmp library in the ecosystem 11:26
MUST RESIST
11:29 xtreak joined 11:34 xtreak left
RabidGravy Oooh "EXPORTHOW::SUPERSEDE::class' conflicts with an existing meta-object imported into this lexical scope" now that's a new one 11:36
admittedly the piece of code that made that happen is using some stunt meta object hackery 11:38
11:38 bjz joined 11:39 bjz left 11:40 jjido joined 11:58 Cabanossi left, bjz joined 12:00 Cabanossi joined 12:09 jjido left 12:22 eliasr joined 12:23 bjz left 12:24 bjz joined 12:25 wamba joined 12:28 Cabanossi left 12:30 Cabanossi joined 12:32 wamba left 12:33 wictory[m] joined 12:40 dogbert2 left 12:42 andrzejku left 12:47 andrzejku joined 12:50 jjido joined 12:53 sukrishn joined
RabidGravy Am I being blind or is there no standalone HTTP response parser in the ecosystem? 12:53
12:56 jjido left 12:58 geekosaur left
RabidGravy Hmm maybe Grammar::HTTP 12:59
12:59 Cabanossi left 13:00 geekosaur joined, Cabanossi joined 13:06 _DrForr joined
_DrForr waves from Open Source Days. 13:07
RabidGravy hoo hoo 13:08
RabidGravy waves from his sofa 13:09
_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:10
timotimo don't forget, no PR is bad pr, _DrForr 13:11
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.
jeek But, Trump is wrong about everything...
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
_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?
_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:15
timotimo mhm 13:16
i wonder what that remark in particular sounded like verbatim
but it's probably better to just forget about it i guess 13:17
also, are your slides online? :D
will there be a recording?
_DrForr No recording, and I think I already have a similar talk up on GH.
13:19 Actualeyes joined
timotimo OK, fair enough 13:20
ISTR a talk like that in the past
_DrForr You've probably seen at least one. 13:21
El_Che _DrForr: talking about grammars?
timotimo opensourcedays.org/community/talk?speaker_id=30
El_Che thx
timotimo "builtin expression grammars" are in the abstract
_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
_DrForr Probably not.
13:23 mr-foobar joined
timotimo github.com/timo/json_fast/blob/mas...ast.pm#L83 :D 13:23
13:24 aborazmeh joined, aborazmeh left, aborazmeh joined
IOninja _DrForr: what was the slagging that tehy said? 13:24
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 :)
useless use of 1 13:26
13:26 bjz_ joined 13:27 bjz left
_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:27
13:28 mr-foobar left
timotimo huh, who has to deal with the numbers? 13:29
also, like, your criticism is stupid because, like, you can also put, like, the word "like" between like most keywords in like python
RabidGravy Nat Torkington "What is it with those Python fucks, anyway?" c. 2000
_DrForr Yeah, it was *really* weak sauce. I even invited people to slag Unicode operators in the talk. 13:30
timotimo <3 13:31
what kind of numbers was he refering to btw?
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.
IOninja :)
timotimo yup, pretty good! 13:33
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
_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
like, programming with quarks? or even ... strings?
13:35 lukaramu_ joined
_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
RabidGravy BRANES! 13:36
IOninja I don't think anybody knows yet :) There's no experimental evidence for string theory... still?
timotimo (uh oh, this is the "political off-topic" thing again!) 13:37
_DrForr He's asking for questions. Any good trolling suggestions? :)
IOninja _DrForr: yes, don't troll.
timotimo why do you print an exception's stacktrace with "exc.print_exception()" when "explicit is better than implicit"? :P
someone on twitter says their fav feature of perl6 is the repl ... uh oh 13:38
IOninja heh
13:38 lukaramu left
timotimo we really need to find a way to make that thing work better :| 13:41
_DrForr Just talked about CamelCase not realizing where it came from :) 13:43
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:44
IOninja has no issues with Win10 13:48
_DrForr I have XP and 8 at home, no v10.
IOninja Other than "We're sending all your info to us, whether you like it or not" feature that you can't even disable.
El_Che I looking in maybe have a small win7 vm with office 13:49
IOninja _DrForr: camel case came from Perl? 13:50
_DrForr Hint: "camel" :) 13:51
timotimo just assumed camel case was older than perl
IOninja _DrForr: correlation does not imply causation. It's camel cause it looks like camel's humps
"The name "CamelCase" is not related to the "Camel Book", the popular nickname of the book Programming Perl, " 13:52
That's pretty much the only mention of Perl I see on en.wikipedia.org/wiki/Camel_case
timotimo also, camel case is actually about camelCase, not CamelCase, because that's DromedaryCase
_DrForr Not the first time I've been wrong :)
IOninja heh
timotimo even though everybody calls it CamelCase
but all those people are wrong on the biology
RabidGravy are there any *new* languages with case insensitive identifiers? 13:54
timotimo does visual basic count as new? 13:55
RabidGravy :) 13:56
timotimo i mean, there's visual basic .net
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
or something like that
RabidGravy really?
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
done some c# more recently
13:58 mr-foobar joined
Geth ecosystem: araraloren++ created pull request #310:
add binding for ftplib
13:59
14:00 araraloren joined
Geth ecosystem: 4ecaf69105 | loren++ | META.list
add binding for ftplib (#310)

  github.com/araraloren/Net-FTPlib
14:02
14:05 tadzik joined, Matthew[m] joined, M-Illandan joined, dp[m] joined, unclechu joined, ilmari[m] joined, xui_nya[m] joined, CIAvash[m] joined
RabidGravy does anyone use FTP anymore? 14:09
(genuine question)
timotimo homebrew folks use ftp quite a lot 14:10
at least on the 3ds, the wii u, the wii, and i think also the 'cube
IOninja RabidGravy: I do at work.
RabidGravy: what's wrong with it? 14:11
14:11 agentzh joined 14:12 Cabanossi left
RabidGravy I don't have an opinion about it 14:12
IOninja And what's the alternative? scp?
IOninja uses ftp for "it ain't broke" reasons. 14:13
timotimo "if someone fixed it, does that mean it's broke?"
IOninja I have a gazillion bookmarks in gFTP and I can click on files I want to transfer. It does the job.
RabidGravy It's just one of those thing like telnet that pre-date the internet as we know it 14:15
14:15 Cabanossi joined
IOninja You mean like HTTP and TCP/IP? :) 14:16
14:16 agentzh left
RabidGravy it predates TCP/IP yeah 14:16
14:16 aborazmeh left
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: <www.phatcode.net/downloads.php?id=175>
yoleaux tbrowder: I'll pass your message to masak.
araraloren I made the module FTPlib as a practice, also it works good . 14:17
RabidGravy sure, I wasn't criticizing the module, just surprised people use the ptotocol a lot 14:18
:)
14:19 bjz joined
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.
araraloren Ftp is a good way to shared file in my company 14:20
14:20 bjz_ left
araraloren I also use scp copy file from one to another frequently 14:21
El_Che FTP-out-of-the-box-problems: not encrypted, active mode + firewalls 14:22
(but we all knew that :) )
IOninja Isn't FTPS encrypted?
El_Che out of the box
IOninja Ah
RabidGravy yes, and network engineers hate active mode
El_Che FTP != ftps
there is ftp + ssl as well 14:23
araraloren Is sftp ?
Oh, SFTP is a part of SSH 14:24
RabidGravy yeah, it's "FTP like" but not strictly FTP
timotimo the sftp commandline utility that comes with openssh is super crappy, though
RabidGravy hey I remember the FTF that was part of the ICL OSLAN stack 14:25
timotimo File Transfer & Food? 14:26
14:27 _DrForr left
IOninja Ven: ping 14:29
14:31 andrzejku left
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.
IOninja dam
stupid robot
.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?
yoleaux IOninja: I'll pass your message to Ven.
araraloren ... 14:32
14:32 IOninja is now known as the
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 :)
9 Oct 2015 21:12Z <lizmat> the: IterationBuffer doesn't have a descriptor
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 the is now known as IOninja
IOninja heh 14:32
Glad to see i"m not the only one :)
araraloren Hah..
14:34 geekosaur left
MasterDuke timotimo: i have spent so many hours with the Disgaea games... i bought a ps2 just to play the first one 14:34
14:36 geekosaur joined 14:39 araraloren left, araraloren joined 14:47 NeuralAnomaly joined, ChanServ sets mode: +v NeuralAnomaly 14:50 NeuralAnomaly left 14:51 NeuralAnomaly joined, ChanServ sets mode: +v NeuralAnomaly 14:54 cibs left 14:56 _DrForr joined, cibs joined 14:57 wamba joined 14:59 buggable left
timotimo i bought a ps4 just to play D5 :) 15:00
MasterDuke i'm not sure i ever got 4, but i definitely don't have 5 yet 15:01
15:02 ambs joined
timotimo 4 is quite good. 5 is very good, but for different reasons 15:02
you should check out disgaea 5's soundtrack (but maybe in better sound quality than what youtube offers) 15:03
15:04 jfuller joined
_DrForr I bought a PS2/3 just to play Katamari Damacy. And DDR, at least until I moved to a 2nd floor apartment. 15:04
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
timotimo btw, #perl6-gaming exists :) 15:06
_DrForr Duly noted, once I'm on a network that doesn't block port 22... :)
timotimo for discussing both game playing as well as game developing
_DrForr Not that I really play all that much. 15:07
IOninja Not that I really play all that much. 15:08
timotimo *shrug* 15:09
15:09 sukrishn left 15:13 sukrishn joined 15:14 _DrForr left 15:17 _DrForr joined 15:20 AlexDaniel joined
Geth gtk-simple/WildYorkies-patch-1: 90cc1ab270 | Cale++ | META6.json
add "gui" to tags
15:21
gtk-simple: WildYorkies++ created pull request #76:
add "gui" to tags
gtk-simple: 90cc1ab270 | Cale++ | META6.json
add "gui" to tags
15:22
gtk-simple: d4f22bc59a | (Zoffix Znet)++ | META6.json
Merge pull request #76 from perl6/WildYorkies-patch-1

add "gui" to tags
15:22 n1ce joined, andrzejku joined, Sound left, sukrishn left
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
(in gtk::simple)
15:24 Actualeyes left
IOninja timotimo: that sounds similar to the issue we had with rakudo's appveyor. Maybe compare the .appveyor files? 15:24
timotimo OK, thanks 15:25
IOninja huggable: lexical require :is: Upgrade info for lexical require: rakudo.org/2017/03/18/lexical-requi...rade-info/
huggable IOninja, Added lexical require as Upgrade info for lexical require: rakudo.org/2017/03/18/lexical-requi...rade-info/
Geth gtk-simple: cf20fc4fe7 | timo++ | appveyor.yml
steal strawberry perl install line from rakudo's appveyor
15:26
timotimo let's see if that does anything
i wonder what the idea behind the 2016.11 release in the matrix was 15:27
IOninja what matrix? 15:28
timotimo azawawi already changed that line to include --allow-empty-checksums like 2 months ago
github.com/perl6/gtk-simple/blob/m...yor.yml#L5
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"
*two releases behind latest
15:30 xinming_ left
IOninja Ah: "latest Rakudo Star" 15:30
15:30 xinming joined
IOninja or previous rakudo star :P 15:31
timotimo ok, that's 2017.01 now, right?
IOninja Yes.
15:31 sukrishn joined
timotimo maybe it should have latest star, one-behind star, and rakudo nom? 15:31
it's doing stuff now
i wonder why appveyor didn't build any commits after that one 15:32
but now i added that repo in my account
whatever the difference is
15:37 NeuralAnomaly left, BenGoldberg joined 15:38 NeuralAnomaly joined, ChanServ sets mode: +v NeuralAnomaly
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:39
AlexDaniel c: 2017.03 say 42 15:41
committable6 AlexDaniel, ¦2017.03: «42»
AlexDaniel \o/
15:44 Cabanossi left, titsuki_ joined 15:45 Cabanossi joined, titsuki left 15:48 jjido joined
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
any chance you can create a short snippet we could reproduce the issue with?
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:51
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
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
MasterDuke timotimo: IOninja's snippet spends 46% of its time in re_nfg at src/strings/ops.c:91
according to perf 15:54
timotimo oh, interesting
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:57
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
i think that's what re_nfg is there for
SmokeMachine Is the release done?
timotimo ===> Building: GTK::Simple:ver('0.1.5') 16:00
501 Protocol scheme 'https' is only supported if IO::Socket::SSL is installed <URL:gtk-dlls.p6c.org/libatk-1.0-0.dll>
this is a fun way to fail a continuous integration build 16:01
IOninja SmokeMachine: yes 16:02
SmokeMachine IOninja: ok, thanks!
Geth gtk-simple: 36fe48c2eb | timo++ | appveyor.yml
we need IO::Socket::SSL to download gtk dlls in appveyor
16:03
timotimo MasterDuke: were you the one who used that neat memory profiler tool? 16:05
MasterDuke timotimo: heaptrack? yeah
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
IOninja or something along those lines. Recall, you changed the site that hosts them to use HTTPS
timotimo i don't want to put it into the depends just for that
IOninja :/
timotimo i put it into the build instructions for appveyor and that should be fine
j75 m: grammar T { rule TOP { ['>'](\w+)['<'] } } ; say T.parse(">test<")
camelia 「>test<」
0 => 「test」
j75 m: grammar T { rule TOP { ['>'](.+)['<'] } } ; say T.parse(">test<"); 16:07
camelia Nil
IOninja timotimo: what I mean is users installing it on Windows now aren't able to install it.
j75 why the different outputs?
timotimo because rule is regex + sigspace + ratchet
IOninja jdv79: .+ includes '<' and rules don't backtrack
timotimo the ratchet bites you in this case, because it forbids backtracking
IOninja: wrong tab-complete :)
m: grammar T { regex TOP { ['>'](.+)['<'] } } ; say T.parse(">test<"); 16:08
camelia 「>test<」
0 => 「test」
timotimo ^- replace "rule" with "regex" and it's fine
j75 thanks!!
16:08 Rawriful joined
timotimo YW 16:08
IOninja nags about SSL and Windows users again 16:09
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
also, the gtk dlls are really out of date by now and i don't remember where we got them from
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 araraloren left
timotimo oh! 16:10
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
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
nadim: i really know how that feels :) 16:13
16:13 araraloren left
timotimo BBIAB 16:13
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 i.imgur.com/bGqEmdg.png
16:14 Khisanth joined, Cabanossi left
timotimo ugexe: oh, oh, oh! 16:15
MasterDuke timotimo: sizes i.imgur.com/bQNvLiZ.png
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
timotimo MasterDuke: i wonder if the memory usage goes down a whole lot if an nqp::force_gc() is added near the end 16:16
MasterDuke timotimo: fyi, i ran with --full-cleanup 16:17
timotimo: right before the script exits?
ugexe timotimo: Build.PM can be executed in a separate process/script... how would it see such a variable?
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:18
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")`
MasterDuke the graphs look about the same with nqp::force_gc() at the end 16:22
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: chris.beams.io/posts/git-commit/ 16:23
SmokeMachine IOninja: ok, sorry... 16:24
16:25 khw joined, _DrForr left
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:31
16:33 jjido left 16:40 eliasr left 16:41 sukrishn left 16:43 cdg joined 16:44 agentzh joined
IOninja SmokeMachine: FWIW, Num and Int are different types. Nums don't contain Ints. 16:45
SmokeMachine: did you run spectest with github.com/rakudo/rakudo/pull/1042 ?
Because it'd be very scary if it passes.... 16:46
SmokeMachine m: say Int ~~ Num
camelia False
SmokeMachine Strange! I did run! (Lots of times... trying to fix the problem...) 16:47
m: say Num ~~ Int
camelia False
IOninja SmokeMachine: probably crappy tests thenm
m: say Int ~~ Numeric
camelia True
IOninja m: say [.^roles, .^mro ] for Int, Num 16:48
camelia [((Real) (Numeric)) ((Int) (Cool) (Any) (Mu))]
[((Real) (Numeric)) ((Num) (Cool) (Any) (Mu))]
SmokeMachine I'll fix that in a few moments... (I'm just going to take a shower)
16:50 cdg left, cdg joined
IOninja timotimo: is this PR still alive? github.com/rakudo/rakudo/pull/998 16:58
17:00 jfuller_ joined 17:02 Skarsnik joined 17:08 jjido joined
SmokeMachine IOninja: strange: www.irccloud.com/pastebin/nPefX5FY/ 17:10
17:10 Sound joined
SmokeMachine as Num... 17:10
17:12 khw left
timotimo IOninja: it still needs some more implementation done on it 17:12
but i haven't looked into it any more since that last comment
MasterDuke: yeah, maxresident wouldn't change, because it's worst at its peak
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:13
17:13 jjido left
timotimo IOninja: it's definitely something rakudo wants to have, just not sure if i can "just" implement it :P 17:14
but we have time until the release now ;)
17:14 sukrishn joined
timotimo IOninja: did you just interpret my comments about "needs work" to mean "i will do this"? :P 17:19
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
m: 42.subst-mutate: Str, Str
camelia 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
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:21
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 agentzh left
IOninja SmokeMachine: ah, it's cause the invocant isn't rw 17:23
m: ($ = 42).subst-mutate: Str, Str
camelia (timeout)
BenGoldberg wonders why we *want* anything to hang. 17:25
Unless I'm misreading.
Oh I see, "should hang pre-fix" means, write a test, which, before the bug is fixed, hangs. 17:27
How do you write a test for whether or not something hangs?
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
or rather false positives...
... it says stuff hangs even when it doesn't...
17:30 zakharyas joined, sukrishn left
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 17:33 sukrishn joined 17:42 dmaestro joined
j75 :m grammar T { rule TOP { \w+ } } ; class Act { method TOP ($/) { say so "test" ~~ /test/ } } ; T.parse("foo", actions => Act ) 17:45
17:45 cibs left
j75 why does that fail? 17:45
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
geekosaur I think it's more a "this is something that used to infinite loop very early (e.g. in dispatching)" 17:47
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:48
17:48 Sound left 17:50 Sound joined
IOninja SmokeMachi+│ IOninja: strange: 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?
IOninja SmokeMachine: why strange?
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!
IOninja SmokeMachine: in pre-fix version that goes through Cool candidate in your version it goes through Num candidate.
m: 42.rindex: "2", 2.0
camelia index start offset out of range
in block <unit> at <tmp> line 1
sena_kun m: grammar T { rule TOP { \w+ } } ; class Act { method TOP ($res) { "test" ~~ /test/; ~$res } } ; T.parse("foo", actions => Act)
camelia ( no output )
IOninja m: 42.rindex: "2", 0.0
sena_kun j75, ^
camelia ( no output )
IOninja SmokeMachine: ^ try that one with your fix. I bet it fails now
SmokeMachine IOninja: Sorry I took some time to understand what you sad...
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 True
sena_kun j75, ^
j75 thanks
IOninja japhb: it doesn't need to solve it in order to be useful: github.com/perl6/roast/blob/master...#L175-L212 17:54
17:54 cdg left
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.
SmokeMachine IOninja: yes, failed...
j75 if i want access to $/ in the actions TOP method, is it not possible to use a ~~ regex comparison in there? 17:56
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
j75: just don't name it $/
SmokeMachine Should I change to Number?
IOninja j75: method TOP ($m) { say $m<some-capture> }
SmokeMachine: to Cool
SmokeMachine ok!
j75 IOninja, makes sense!
thanks
17:58 Cabanossi left
dmaestro j75: I get "Cannot assign to a readonly variable ($/)", because the match tries to set the special match variable: $/ 17:58
17:58 nowan joined
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
BenGoldberg Why not name it $/ and add 'is rw'? 18:02
IOninja Why clobber your match?
BenGoldberg Or is copy?
IOninja Why clobber it?
BenGoldberg shrugs.
IOninja shrugs
BenGoldberg If you don't need it anymore? 18:03
IOninja And if you later refactor code?
And accidentally use it past-match
It's equivalent to code like: my $msg = 'foo'; $msg.uc.say; $msg = 42 + $whatever; say $msg 18:04
18:04 nowan left
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.
IOninja heh
japhb: but completely misleading about the purpose of the test. 18:05
japhb
.oO( finishes-within-expected-time() )
18:06
18:07 nowan joined
IOninja That's overly-long and still is inaccurate with respect to what the test is meant to test for. 18:08
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
IOninja "Oh look! Finally, the solution to the ... oh crap! The name lied!"
IOninja & # for real now :)
geekosaur works() :p 18:15
BenGoldberg . o O (There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors) 18:20
18:22 cibs left
japhb I love that renaming admits to #2 and causes #1. 18:22
18:22 sukrishn left
BenGoldberg wonders if deoptimization is considered a form of cache invalidation. 18:22
18:23 cibs joined, jfuller_ left
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:27
18:37 Skarsnik left 18:40 Rawriful left 18:42 setty1 joined 18:44 Rawriful joined
timotimo i would argue deopt is cache invalidation but with a cherry on top 18:44
18:46 agentzh left, agentzh joined 18:49 gdonald left, gdonald joined 18:53 espadrine joined 18:59 bolangi joined 19:00 Rawriful left 19:01 nadim left 19:02 Rawriful joined
geekosaur arguably it's switching caches, which could invalidate both 19:04
SmokeMachine IOninja: if you could review that again... I think I fixed you issues... 19:06
19:08 offby1 joined
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:08
offby1 waves at cxreg 19:09
ugexe EVAL
offby1 oho!
how safe is that?
apparently not very :-) 19:10
19:14 Cabanossi left 19:15 Cabanossi joined
BenGoldberg Just install JSON::Tiny. 19:16
offby1 fair enough 19:17
BenGoldberg Or JSON::Fast
Actually, on modules.perl6.org/ there seem to be about a dozen JSON modules. 19:19
19:19 sukrishn joined
offby1 noooo :) too many 19:19
Did I imagine it, or was JSON support built-in at one point?
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 831C3CC373E7E7F4B1A5931496462F5495E4FF04
gen/moar/CORE.setting
BEE2055C49CC1094743D6C0E8BA38BA3B74FD3D8
<tmp>
/home/camelia
FAAAAEgAAAACAAAAWAAAAAAAAABYAAAAWAAAAAYAAACIAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAQAAAAIAAAADAAAABAAAAF0B…
ugexe rakudo can parse json but its not supported 19:22
Rakudo::Internals::JSON.from-json and Rakudo::Internals::JSON.to-json
they exist to load module meta data only, not to be a specced out json parser 19:23
19:24 sukrishn left
offby1 *nod 19:25
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:26
19:28 domidumont left 19:32 darutoko left 19:33 labster joined
SmokeMachine m: say from-json 「{foo: "bar"}」 19:33
camelia Invalid JSON: {foo: "bar"}
in block <unit> at <tmp> line 1
SmokeMachine m: say from-json 「{"foo": "bar"}」
camelia {foo => bar}
19:34 Ven joined, Ven is now known as Guest27220
offby1 yeah, I seem to recall JSON requires anything string-like to be quoted 19:35
m: say to-json({1 => 2})
camelia {
"1" : 2
}
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
heaptrack graphs looked the same
i.imgur.com/dcspciw.png 19:37
ugexe what file are you testing? 19:39
ugexe was just coincidentally asking about performance of parsing ecosystem-api.p6c.org/projects.json 19:40
MasterDuke ugexe: a shortened form of this gist.github.com/zoffixznet/9d9783a...1daee7e813 19:43
i downloaded and saved off the json
timotimo MasterDuke: that's not a leak, then :) 19:45
MasterDuke timotimo: right, just very high mem use, but not leaking 19:46
timotimo yeah 19:47
can i get the consumed graph for without force_gc?
MasterDuke i.imgur.com/yqTvkFi.png 19:50
timotimo i find this surprising. 19:51
oh, i wonder if substr-ing out of bigger strings unnecessarily keeps old things around?
19:56 buggable joined, ChanServ sets mode: +v buggable 19:57 Rawriful left 20:00 BenGoldberg left
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:07
IOninja SmokeMachine: merged, but the tests for it is still unfixed. The subst-mutate one 20:08
SmokeMachine IOninja: yes... Im running it to push it to my repo... 20:09
20:09 labster left
MasterDuke IOninja: btw, did you see my question about tests earlier today in #moarvm? 20:09
20:10 thundergnat joined
IOninja no 20:10
MasterDuke irclog.perlgeek.de/moarvm/2017-03-18#i_14286223
thundergnat Howdy perl6
IOninja MasterDuke: no idea. How come attributes are not proper uint64 tho? 20:11
\o
MasterDuke that's a known problem. github.com/MoarVM/MoarVM/issues/393
thundergnat Just upgraded to latest 2017.03 release. IOninja++ for the release, everyone++ ++ for all the effort.
20:12 mxco86 left
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
SmokeMachine IOninja: just pushed... 20:13
MasterDuke IOninja: ok, thought that might be an acceptable solution, i'll give it a whirl and see what happens 20:14
IOninja: oh, and ++ for the release
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.
*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
which could definitely be a thing we can do in this case
given we do it in the right place
anyway, the moar heapanalyzer would be able to tell us what's going on
thundergnat m: say [1,2,3,4].reverse.WHAT
camelia (Seq)
20:16 labster joined
thundergnat Not a big problem but it broke some working code. 20:17
IOninja SmokeMachine: merged thanks.
SmokeMachine: FWIW, Real is a role all numerics except Complex do. The 2.0 is a Rat 20:18
SmokeMachine IOninja: thank you!
IOninja m: .^name.say with 2.0
camelia Rat
IOninja m: say 42 ~~ Real
camelia True
SmokeMachine IOninja: thanks... sorry... should I fix the msg? 20:19
IOninja thundergnat: that's a known change.
SmokeMachine: I already fixed it.
thundergnat: and sorry for breakage :) 20:20
SmokeMachine IOninja: thanks!
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:21
thundergnat IOninja yeah List.reverse->Seq was definitely intended. I wasn't sure if Array.reverse->Seq was. 20:23
Like I said, it is easy to work around once known, but it did break a bunch of stuff. 20:24
Geth doc: 5ef456b391 | (Zoffix Znet)++ | doc/Type/Any.pod6
Any.reverse returns a Seq, not a List
20:25
doc: 3acfb391e1 | (Zoffix Znet)++ | doc/Type/List.pod6
List.reverse returns a Seq, not a List
20:26
20:28 Cabanossi left
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:28
20:30 Cabanossi joined, rindolf left
thundergnat Cool. I'd rather get the gains made by the change than the old behavior. IOninja++ er... Zoffix++ for updating the docs. 20:31
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: rt.perl.org/rt3//Public/Bug/Displa...?id=131009
20:36 zakharyas left 20:37 rindolf joined
IOninja SmokeMachine: ah, right. 20:37
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
github.com/rakudo/rakudo/blob/79f2...ps.pm#L436
20:42 mxco86 joined 20:44 BenGoldberg joined
SmokeMachine IOninja: Ill try to fix that! 20:44
20:44 andrzejku left 20:49 sukrishn joined 20:53 sukrishn left
SmokeMachine m: say [minmax] <a b c>, <a e i o u> # what it should return? 20:54
camelia "a".."u"
Geth doc: 559bd4ce27 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Routine.pod6
link to WrapHandle
20:56
BenGoldberg m: say 'a' minmax 'u' 20:57
camelia "a".."u"
BenGoldberg m: say 'a' minmax 'b' minmax 'c'
camelia "a".."c"
BenGoldberg m: say 'a' minmax 'b' minmax 'e'
camelia "a".."e"
SmokeMachine m: say <a b c> minmax <a e i o u> 20:58
camelia "a".."u"
20:59 offby1 left
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* 20:59
IOninja There are a lot of tests for it to return the Range. 21:06
except for Range.minmax, which returns a list
21:07 tojo joined 21:11 jjido joined 21:23 rindolf left 21:36 jjido_ joined 21:38 dct joined 21:39 jjido left
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
*all of your dir() examples
21:44 jjido_ left 21:50 nadim joined
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:55
SmokeMachine m: say 42.index: Str 21:58
camelia 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…
IOninja m: (try require Test) and ::('Test') 22:00
camelia ( no output )
IOninja m: (try require Test) and say "hi"
camelia ( no output )
IOninja crap
IOninja edits the upgrade instructions /o\
SmokeMachine m: say [\minmax] <a b c>, <a e i o u> # what it should return? 22:13
camelia ("a".."c" "a".."u")
22:13 Cabanossi left
SmokeMachine 19:13 <SmokeMachine> m: say [\X] <a b c>, <a e i o u> # what it should return? 22:13
m: say [\X] <a b c>, <a e i o u> 22:14
camelia (((a b c)) ((a b c a e i o u)))
22:15 Cabanossi joined
SmokeMachine m: say [\Z] <a b c>, <a e i o u> 22:15
camelia (((a b c)) ((a b c a e i o u)))
SmokeMachine m: say [\X] <a b c>, <a e i o u>, ^5 22:16
camelia (((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 pecastro left
SmokeMachine m: say <a b c> X <a e i o u> 22:16
camelia ((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))
MasterDuke m: say [\elems] <a b c>, <a e i o u> 22:17
camelia 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>
MasterDuke m: say [\+] <a b c>, <a e i o u>
camelia ((a b c) 8)
SmokeMachine m: <a b c> + <a e i o u> 22:18
camelia WARNINGS for <tmp>:
Useless use of "+" in expression "<a b c> + <a e i o u>" in sink context (line 1)
SmokeMachine m: say <a b c> + <a e i o u>
camelia 8
22:20 sukrishn joined
SmokeMachine I think [\X] and [\Z] but I'm not sure about [\minmax] 22:21
*are wrong
22:24 sukrishn left 22:25 tojo left 22:27 wamba left
timotimo "only method" - "dodge this!" 22:36
AlexDaniel timotimo: so \r twice? github.com/timo/json_fast/blob/mas...pm#L15-L16 22:38
timotimo oh crap! 22:39
well, only a performance penalty, doesn't make things break
pushing a fix 22:40
22:40 jjido joined, dct left 22:41 Voldenet left
AlexDaniel timotimo: how does that change help with memory performance, by the way? 22:43
timotimo which change exactly?
the \r\n one?
22:45 jjido left 22:46 Voldenet joined, Voldenet left, Voldenet joined 22:48 ufobat joined
AlexDaniel timotimo: yes 22:49
timotimo we do less joins and recursions 22:50
AlexDaniel timotimo: ah, by the way, is .trans actually slower in this case? 22:51
timotimo pushed and bumped version 22:56
*shrug*, not sure if i measured or not
22:57 ufobat left 22:59 Cabanossi left 23:00 Cabanossi joined, IRCFrEAK joined
BenGoldberg Wouldn't .trans work better than .subst ? 23:03
oops, nevermind.
AlexDaniel BenGoldberg: why “oops”? 23:04
nadim Any doc on how to setup a module so it is in the travis integration?
BenGoldberg I didn't see that you suggested it already ;) 23:06
IOninja nadim: docs.travis-ci.com/user/languages/perl6
23:06 sena_kun left
IOninja nadim: and go to 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:07
23:09 IRCFrEAK left 23:18 setty1 left 23:35 jeffythedragonsl joined
jeffythedragonsl hello 23:36
23:41 jjido joined 23:42 bjz left 23:45 jjido left
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
*upgrading in Perl 1-5 that is
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:48
Granted, it never did anything useful in the first place. 23:49
23:50 sukrishn joined 23:51 RabidGravy left
jeffythedragonsl so it's a bit of a pathological case? 23:52
ugexe scripts that depend on hash ordering 23:53
23:55 sukrishn left
jeffythedragonsl that sounds like something you usually don't want to depend on anyway 23:56
23:59 Cabanossi left