Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-05-08

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 ugexe IO::Handle(:path('-')) is not an IO::Path
00:01 Xliff_ My bad.
00:01 Xliff_ method path(IO::Handle:D:)            { $!path.IO }
00:01 ugexe if $!path is IO::Special then its calling IO::Special.new(...).IO
00:01 ugexe if its an IO::Path then .IO indeed turns it into a path
00:02 * Xliff_ adds to list of things to experiment with.
00:02 AlexDaniel dunno but there are two issues created: https://github.com/perl6/doc/issues/498 https://github.com/perl6/doc/issues/499
00:03 Xliff_ AlexDaniel++
00:04 ugexe IO::Handle.path is not typed
00:07 AlexDaniel https://github.com/perl6/roast/issues/119
00:07 AlexDaniel geez, created 3 issues with one code snippet…
00:09 milwauke` joined #perl6
00:10 AlexDaniel ugexe: actually
00:10 AlexDaniel IO::Handle.new(path => ‘-’).path.say # "".IO
00:11 ugexe .path.perl.say -> "-".IO(:SPEC(IO::Spec::Unix),:CWD("/home/nickl/perl6/openssl"))
00:12 ugexe IO::Handle.new(:path("-")).path.perl.say -> "-".IO(:SPEC(IO::Spec::Unix),:CWD("/home/nickl/perl6/openssl"))
00:12 ugexe heh
00:13 skink ugexe, Waiting for AppVeyor to pass/fail atm
00:13 ugexe you can "-".IO.slurp (although it just sits there) but not "".IO.slurp
00:13 AlexDaniel IO::Handle.new(path => ‘-’).path.path.say # -
00:14 ugexe so thats kinda messed up
00:14 AlexDaniel ugexe: it does not look right, but at the same time I'm unsure what is wrong exactly…
00:15 skink ugexe, bump to 0.0.4 or 0.1.0?
00:15 ugexe i would say it should at least always return "-".IO or IO::Special (or have "-".IO turn into IO::Special)
00:15 skink Since it was a fairly significant change
00:16 AlexDaniel ugexe: ¯\_(ツ)_/¯ I don't think that I will be able to formulate that in a bug report
00:16 ugexe skink: you're probably right
00:18 ugexe probably that the .gist should give "-".IO
00:19 skink ugexe, Tests passed again. PR'd
00:20 ugexe the only difference between IO::Handle.new(path => $*CWD).path.say and IO::Handle.new(path => $*CWD).path.perl.say is .perl includes the CWD
00:20 ugexe yet for "-" the difference is "".IO vs "-".IO
00:23 skink I like how openssl.org has an RSS feed for their blog, but not for their vulns/updates
00:24 AlexDaniel ugexe: but "smth".IO is IO::Path, not IO::Handle
00:24 ugexe "smth" is a Str which has its own method IO
00:24 AlexDaniel ugexe: no but, what's the point of .gist?
00:25 AlexDaniel “Returns a string representation of the invocant, optimized for fast recognition by humans.”
00:25 AlexDaniel ah, ok
00:26 AlexDaniel nevermind
00:26 ugexe skink: need to point the badge urls to a different url
00:26 AlexDaniel geez wtf is that
00:26 AlexDaniel m: IO::Handle.new(:path(‘-’)).say
00:26 camelia rakudo-moar 626b5a: OUTPUT«IO::Handle is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method new at src/RESTRICTED.setting line 32␤  in block <unit> at /tmp/I7_KL1MATt line 1␤␤»
00:27 AlexDaniel “write string requires an object with REPR MVMOSHandle” makes sense, sure… but what kind of an error message is that :)
00:28 skink ugexe, Since sergot doesn't have appveyor set up should I just remove the linking entirely?
00:28 AlexDaniel it is also an interesting pitfall. When doing .say I meant to print the object itself, not print something using this handle
00:28 ugexe yet IO::Handle.new(:path(‘-’)).gist.say works...
00:29 ugexe skink: hmm i thought i would be able to set it up on the repo, but maybe not
00:29 skink AppVeyor is linked to the github account through OAuth
00:29 Khisanth joined #perl6
00:30 ugexe yeah it looks like it should work if you point it at ugexe/openssl/branch/master
00:30 AlexDaniel ugexe: RT #128097
00:30 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128097
00:31 skink It'll have a different project ID link as well, I think. Could you check in your appveyor settings for the badge?
00:32 ugexe [![Build status](https://ci.appveyor.com/api/projects/status/jm3in99862knhdeo/branch/master?svg=true)](https://ci.appveyor.com/project/ugexe/openssl/branch/master)
00:32 ugexe and that links to sergot/openssl github repo (not ugexe/openssl) i believe
00:33 ugexe skink: you may be able to link it yourself too... under "General" just set the GitHub repository
00:33 ugexe to sergot/openssl. then use the badge for master branch
00:36 skink ugexe, I've pointed it at sergot/openssl. I think merging now will cause appveyor to re-run on sergot's rather than mine now?
00:37 skink Or I can just push the change to use your badge
00:37 skink Your choice
00:38 ugexe i think it should work
00:39 ugexe merged
00:40 skink Yeah appveyor is building the merge now
00:40 ugexe cool, good work
00:42 ugexe if you set your email in git your future PRs/commits will link to your profile and whatnot
00:43 ugexe https://help.github.com/articles/setting-your-email-in-git/#new-commits-arent-using-the-right-email
00:48 kurahaupo joined #perl6
00:50 ugexe ah now they are showing up correctly
00:51 skink I had my local git to to my private github email, but forgot to check 'Keep my email address private' in settings
00:51 skink so there was a public/private address conflict I suppose
00:52 kurahaupo_ joined #perl6
00:57 snarkyboojum joined #perl6
01:06 BenGoldberg joined #perl6
01:06 colomon joined #perl6
01:19 AlexDaniel m: say comb 1, ‘foobar’, 2
01:19 camelia rakudo-moar 626b5a: OUTPUT«(f o)␤»
01:19 AlexDaniel I would have never expected this parameter order…
01:21 kurahaupo joined #perl6
01:26 cpage_ joined #perl6
01:27 AlexDaniel m: say “\x[999999]”
01:27 camelia rakudo-moar 626b5a: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 10066329␤  in block <unit> at /tmp/x3tCrn5xeu line 1␤␤»
01:27 AlexDaniel m: say +“\x[999999]”
01:27 camelia rakudo-moar 626b5a: OUTPUT«Unhandled exception: Error encoding UTF-8 string: could not encode codepoint 10066329␤   at <unknown>:1  (/home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.setting.moarvm:print_exception)␤ from gen/moar/m-CORE.setting:21493  (/home/camelia/rakudo-…»
01:40 Actualeyes joined #perl6
01:41 kurahaupo_ joined #perl6
01:46 BuildTheRobots joined #perl6
01:46 olinkl joined #perl6
01:46 ZoffixWin left #perl6
01:48 kurahaupo joined #perl6
01:48 parisba_ joined #perl6
01:56 risou joined #perl6
01:59 charsbar_____ joined #perl6
02:00 aries_liuxueyang joined #perl6
02:07 finanalyst joined #perl6
02:10 kid511 joined #perl6
02:14 noganex_ joined #perl6
02:17 huggable joined #perl6
02:20 kid51 joined #perl6
02:22 colomon joined #perl6
02:25 BenGoldberg m: 0x999999.chr.say;
02:25 camelia rakudo-moar 626b5a: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 10066329␤  in block <unit> at /tmp/qRcaefh7_M line 1␤␤»
02:26 * BenGoldberg notes that perl5 does not complain about encoding absurdly high codepoints.
02:27 cdg joined #perl6
02:59 skids joined #perl6
03:03 cdg joined #perl6
03:11 aleogen "The perlstyle document states that line noise in regular expressions could be mitigated using the /x modifier to add whitespace." lol
03:31 ZoffixWin joined #perl6
03:38 ZoffixWin *sigh* all three of my perl 6 processes on linode server are leaking like crazy. Leaked 300MB while I was taking a shower :/
03:38 ZoffixWin If I go to perl6.party and click on each post, I leak 80MB
03:39 ZoffixWin m: say 488592 - 488784
03:39 camelia rakudo-moar 626b5a: OUTPUT«-192␤»
03:39 ZoffixWin And I leak 192KB per one command to huggable :/
03:40 * ZoffixWin cries salty tears
03:42 ZoffixWin m: say 104028 - 101616
03:42 camelia rakudo-moar 626b5a: OUTPUT«2412␤»
03:43 ZoffixWin Even my restarter script is leaking. It leaked 2412KB of memory since I joined this channel. And it's just this: https://twitter.com/zoffix/status/726768737815302145/photo/1
03:43 * ZoffixWin is using `top` to look at "RES" memory FWIW... I hope I'm looking at the right thing.
03:51 jack_rabbit joined #perl6
03:55 ZoffixWin Aaaandd.. we're swapping like crazy http://i.imgur.com/QR3cWjV.png
03:56 ZoffixWin Code for perl6.party and huggable, if anyone interested: https://github.com/zoffixznet/perl6.party https://github.com/zoffixznet/huggable
03:56 * ZoffixWin goes to bed
03:59 ZoffixWin (P.S. It wasn't huggable restarter but the change watcher script from https://github.com/zoffixznet/perl6-Bailador-Dev-AutoRestarter)
04:05 CIAvash joined #perl6
04:08 BenGoldberg joined #perl6
04:34 cpage_ joined #perl6
04:39 protium say 5.1 + 6.2
04:40 protium M: say 5.1 + 6.2
04:40 camelia rakudo-MOAR : OUTPUT«No such file or directory»
04:40 camelia rakudo-MOAR : OUTPUT«(timeout)Can't exec "./rakudo-inst/bin/perl6-m": No such file or directory at lib/EvalbotExecuter.pm line 206.␤cat: /home/camelia/rakudo-inst/revision: No such file or directory␤»
04:40 skids m: 1;
04:40 camelia rakudo-moar 626b5a: OUTPUT«WARNINGS for /tmp/xJgcQpTf5m:␤Useless use of constant integer 1 in sink context (line 1)␤»
04:40 skids m: 5.1 + 6.2
04:40 camelia rakudo-moar 626b5a: OUTPUT«WARNINGS for /tmp/57hZf8S3vo:␤Useless use of "+" in expression "5.1 + 6.2" in sink context (line 1)␤»
04:41 skids m: say 5.1 + 6.2
04:41 camelia rakudo-moar 626b5a: OUTPUT«11.3␤»
04:57 Cabanossi joined #perl6
04:59 kurahaupo joined #perl6
05:05 pierre_ joined #perl6
05:06 leedo_ is there a good way to iterate over regex captures? $/.list.map() doesn't seem very happy :(
05:07 leedo_ ah, nevermind. i should go to bed :(
05:11 skids m: "aaa" ~~ /(a)+/; $/.list.map: *.say
05:11 camelia rakudo-moar 626b5a: OUTPUT«[「a」 「a」 「a」]␤»
05:11 skids m: "aaa" ~~ /(a)+/; $/.list.flat.map: *.say
05:11 camelia rakudo-moar 626b5a: OUTPUT«「a」␤「a」␤「a」␤»
05:16 leedo_ yeah, the whatever star wasn't working as i had hoped
05:17 leedo_ m: my %h = ( a => 1 ); say %h.keys.map: %h{*};
05:17 camelia rakudo-moar 626b5a: OUTPUT«Cannot call map(Seq: List); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/8TIdTxlObL line 1␤␤»
05:18 skids yeah the {} owns the * in that.
05:20 skids I find this happens a lot -- you start with a whatever star then realize your expression is more complicated than what they were meant for.
05:34 kaare_ joined #perl6
05:41 jjido joined #perl6
06:04 xinming_ joined #perl6
06:06 wamba joined #perl6
06:17 huggable joined #perl6
06:38 pierre_ joined #perl6
06:41 _28_ria joined #perl6
06:54 vaisian__ joined #perl6
07:04 domidumont joined #perl6
07:09 domidumont joined #perl6
07:21 jjido joined #perl6
07:30 firstdayonthejob joined #perl6
07:38 azawawi joined #perl6
07:38 azawawi hi
07:39 azawawi .tell RabidGravy hi. Please send me a pull request from your Net::ZMQ fork (even if it fails the tests for now)
07:39 yoleaux azawawi: I'll pass your message to RabidGravy.
07:56 obfusk joined #perl6
08:13 darutoko joined #perl6
08:34 rindolf joined #perl6
08:35 RabidGravy joined #perl6
08:58 darutoko joined #perl6
09:01 Emeric joined #perl6
09:04 vaisian__ left #perl6
09:04 vaisian joined #perl6
09:10 espadrine joined #perl6
09:17 Ven joined #perl6
09:38 mr-foobar joined #perl6
09:43 mr-foobar joined #perl6
09:44 BenGoldberg joined #perl6
10:01 mr-foobar joined #perl6
10:08 perlawhirl joined #perl6
10:09 mr-foobar joined #perl6
10:11 ufobat joined #perl6
10:11 ufobat ola :)
10:17 huggable joined #perl6
10:22 petercommand joined #perl6
10:25 Relsak joined #perl6
10:25 jjido_ joined #perl6
10:25 cpage_ joined #perl6
10:37 RabidGravy erp
10:38 yoleaux 07:39Z <azawawi> RabidGravy: hi. Please send me a pull request from your Net::ZMQ fork (even if it fails the tests for now)
10:38 RabidGravy :-\
10:47 spider-mario joined #perl6
10:49 mr-foobar joined #perl6
10:50 teatime heh
10:51 * teatime wonders if RabidGravy's response is, "Don't look at it!  It's hideousssss"
10:52 RabidGravy it's software it's almost bound to be hideous
11:00 pierre_ joined #perl6
11:06 Ven joined #perl6
11:26 jjido_ joined #perl6
11:28 araujo joined #perl6
11:28 araujo joined #perl6
11:51 pierre_ joined #perl6
11:52 colomon joined #perl6
11:53 dalek doc: 09e49ae | RabidGravy++ | doc/Type/IO/Handle.pod:
11:53 dalek doc: Document IO::Handle.path
11:53 dalek doc:
11:53 dalek doc: closes #499
11:53 dalek doc: review: https://github.com/perl6/doc/commit/09e49ae410
11:53 dalek doc: 8ba3aee | RabidGravy++ | doc/Type/IO/Special.pod:
11:53 dalek doc: Document IO::Special
11:53 dalek doc:
11:53 dalek doc: This is really rather dumb but puts it in there.
11:53 dalek doc:
11:53 dalek doc: Closes #498
11:53 dalek doc: review: https://github.com/perl6/doc/commit/8ba3aeeaac
11:53 masak afty, #perl6
11:57 nebg with years... we have all to switch to perl6 ? or perl5 will still continue to exist  ? i mean.. .for example with python... they suggest to switch and use always python3 now since in 2020 the support for python 2.x will be dead... how about perl ?
11:58 RabidGravy awful or useless documentation on IO::Special (largely because the class itself is nearly useless)
11:58 RabidGravy nebg, no
11:58 nebg RabidGravy, what no ?
11:58 nebg please give a context
11:58 RabidGravy your question
11:59 Emeric Perl 5 != Perl 6, so I guess Perl 5 won't be dead before a long
11:59 RabidGravy Perl 5 and Perl 6 are different languages in the same family with distinct road maps
11:59 Emeric There are still a lot of people working on Perl 5
11:59 masak as a mostly-Perl 6 developer, I find I simply don't worry too much about the fate of Perl 5
12:00 masak you might want to consider why it is you do ;)
12:00 masak maybe you relish the thought of a conflict between the two languages
12:00 masak maybe you're worried you might be investing in the wrong thing
12:00 masak maybe you thing it matters more than it actually does
12:00 masak think*
12:01 RabidGravy because the languages are distinct and there is so much Perl 5 code out there it's not going anywhere
12:01 vendethiel joined #perl6
12:01 masak Perl 5 and Perl 6 already occupy slightly different niches
12:01 masak Perl 5 being the battle-tested tank, that trudges on no matter what
12:02 masak Perl 6 being the infinitely competent butterfly, which zooms where it wants and helps people live their dreams
12:04 colomon joined #perl6
12:12 AlexDaniel joined #perl6
12:15 dogbert17 Good afternoon £perl6
12:16 * psch .oO( that's a weird looking hashtag )
12:16 psch o/ dogbert17
12:16 dogbert17 psch: hi, yeah, need coffee
12:18 dogbert17 today I'm trying to document Instant.from/to-posix. This time counting business is a minefield...
12:18 dogbert17 I have almost finished a draft, should I gist it or make a PR?
12:19 moritz it's called a pound tag :-)
12:23 masak how very sterling of you
12:31 dogbert17 ok, here's the gist, it's probably filled with nonsense, rip it apart in a nice manner plz :) https://gist.github.com/dogbert17/b5625897cf557437ed5b0e40b96c12de
12:32 dogbert17 unix/Posix/UTC/TAI argh
12:35 * masak has a look
12:36 dogbert17 yay
12:36 dogbert17 masak: you're doing sterling service :)
12:36 masak heh
12:36 kid51 joined #perl6
12:37 masak dogbert17: if I were to nitpick, I feel the example is given twice in the from-posix section
12:37 masak maybe you want to consider saying it abstractly in the text, and then concretely (as-is) in the code
12:38 masak something like "If C<$prefer-leap-second> is C<True>, the return value will be the first of the two possible seconds in the case of a leap second."
12:38 masak (and then the example shows just that)
12:39 masak the rest looks good
12:40 masak I'm unhappy about the value .to-posix returns, but that's no fault of the documentation
12:41 dogbert17 masak: thx, reload the gist I've made some changes
12:41 * masak reads the diff
12:42 masak oh, do keep that second line of code
12:42 dogbert17 masak: ok
12:42 masak it shows the difference between passing True and keeping the False default
12:43 dogbert17 masak: it's back
12:45 masak cool. end of review.
12:45 Ven joined #perl6
12:45 dogbert17 masak++
12:46 RabidGravy haha, IO::Special is totally b0rked
12:47 masak masak's API guidelines, episode #958642: if you call your method return-X for some X, don't return X and also some other weird info. the latter is surprising to the user.
12:47 RabidGravy m: say $*ERR.path.what
12:47 camelia rakudo-moar 2b74c9: OUTPUT«<STDERR>␤»
12:48 RabidGravy anyone on windows able to run that and check that it returns the same?
12:50 RabidGravy masak, my API design guidelines include not making routine names a hostage to fortune
12:51 AlexDaniel the whole IO::Special thing is just… too special
12:52 RabidGravy yeah it really is quite stupid
12:53 AlexDaniel yeah, that word… I was not willing to say it myself
12:53 RabidGravy just grepping the source to find if it is actually used anywhere except for creating a fake path for the STDIO handles
12:54 masak RabidGravy: fortune, as in "FORTUNE (6)" :P
12:56 RabidGravy AlexDaniel, I'm going to change IO::Special so that it expects <STDIN>, <STDOUT> and <STDERR> rather than what it does now
12:57 colomon joined #perl6
13:03 BenGoldberg According to the docs, .modified/.accessed/.changed of IO::Special always return an undefined Instant.  Why can't fstat be used on the underlying file descriptor?
13:05 RabidGravy I wondered that too
13:05 AlexDaniel m: say $*PROGRAM-NAME
13:05 camelia rakudo-moar 2b74c9: OUTPUT«/tmp/jWpCKO190a␤»
13:06 AlexDaniel interestingly return ‘-e’ when ran with -e
13:06 AlexDaniel returns*
13:07 BenGoldberg joined #perl6
13:09 psch AlexDaniel: https://github.com/perl6/nqp/blob/master/src/HLL/Compiler.nqp#L271
13:10 psch well, i'm not 100% sure that it gets bound to $*PROGRAM-NAME from there, but it's on purpose :)
13:11 RabidGravy AlexDaniel, https://github.com/rakudo/rakudo/pull/763 fixes the underlying problem with the expected values
13:11 masak AlexDaniel: were you expecting some value other than '-e' ?
13:12 teatime '' might have been more useful, since it can't be a filename.
13:12 teatime or undef
13:12 masak either of those feel less clear to me
13:13 RabidGravy it's consistent with the behaviour of Perl 5 at least
13:13 dalek doc: e82d315 | (Jan-Olof Hendig)++ | doc/Type/Instant.pod:
13:13 dalek doc: Added documentation for from-posix and to-posix. masak++
13:13 dalek doc: review: https://github.com/perl6/doc/commit/e82d31531f
13:14 masak sometimes you want to be suggestive/intuitive rather than extremely correct
13:14 AlexDaniel masak: this is just stupid
13:14 AlexDaniel echo 'say $*PROGRAM-NAME, ‘that is just stupid’' > -e; perl6 -- -e
13:14 AlexDaniel guess what happens
13:15 teatime that was my position.
13:15 AlexDaniel right
13:15 zakharyas joined #perl6
13:15 teatime I can see your point masak; I guess we're both entitled to our opinions.
13:16 AlexDaniel are there any tests for this?
13:16 masak are you surprised that, if you put `-e` after the `--`, it runs the file `-e`?
13:16 masak I don't think I properly understand your position
13:16 teatime he's pointing out that you cannot actually test whether the code is executing from perl6 -e
13:16 AlexDaniel masak: I am surprised that $*PROGRAM-NAME returns the same thing
13:17 teatime since it could be frome a file name -e
13:17 teatime *named
13:17 masak my point is that that's not gonna happen unless you make it happen
13:17 masak which is, you know, your perogative
13:17 AlexDaniel huh
13:17 masak but most people might be, "ok, so don't do that, then"
13:17 masak which is what I meant about it sometimes being worth being suggestive/intuitive rather than extremely correct
13:17 psch $ python -c 'import sys; print(sys.argv[0])'
13:17 AlexDaniel anyway, -e is not a program name…
13:17 psch -c
13:18 psch just as another data point vOv
13:18 masak I know I prefer to see `-e` in that output rather than `` or `Any`
13:18 psch it's semantically not the same, i know
13:18 teatime and program-file being empty/false when there's no program-file seems intuitive enough to me :)
13:18 psch teatime: but it's program-name, not -file
13:18 teatime ok, same thing applies enough
13:18 teatime -e is an anonymous program
13:19 hotel_california joined #perl6
13:19 teatime s/enough/though/
13:20 psch $ ruby -e 'puts $PROGRAM_NAME'
13:20 psch -e
13:20 teatime heh, is that really your standard for sanity? :)
13:20 AlexDaniel now that's interesting
13:20 psch teatime: i'm just looking what other languages do
13:20 teatime the python one really shocks me, though
13:21 masak yes, that *is* my standard for sanity. if you create a file called "-e" and then complain that things are unintuitive, then that's because you created a weird situation.
13:21 teatime would have betted on that one being 'python', if anything
13:21 AlexDaniel perl -E 'say $PROGRAM_NAME'
13:21 AlexDaniel nothing
13:21 AlexDaniel empty string
13:21 psch AlexDaniel: 'use English;' or 'say $0'
13:21 AlexDaniel ah
13:21 AlexDaniel okay…
13:21 masak AlexDaniel: might be a good habit never to run `perl` without -w
13:21 psch AlexDaniel: with -w you'd get "uninitialized variable" or thereabout :)
13:21 AlexDaniel ok right
13:22 AlexDaniel my bad
13:22 AlexDaniel it prints -e then :)
13:24 colomon joined #perl6
13:26 dalek doc: 902d36e | RabidGravy++ | doc/Type/IO/Special.pod:
13:26 dalek doc: Fix to reflect reality rather than what the code thinks it is doing.
13:26 dalek doc:
13:26 dalek doc: The r/w file access tests actually don't behave like documented due
13:26 dalek doc: to a bug that is fixed in https://github.com/rakudo/rakudo/pull/763
13:26 dalek doc:
13:26 dalek doc: Closes #498
13:26 dalek doc: review: https://github.com/perl6/doc/commit/902d36e147
13:27 AlexDaniel RabidGravy: what about this https://github.com/perl6/doc/commit/09e49ae4102935cf216ed3f6fb6746f5bc68250a#diff-4d4af1be615732409b207b6f1ee41533R156
13:28 AlexDaniel ah
13:28 AlexDaniel I am blind
13:28 AlexDaniel nevermind
13:29 AlexDaniel m: say WHAT $*GROUP
13:29 camelia rakudo-moar 2b74c9: OUTPUT«(IdFetch)␤»
13:29 AlexDaniel m: say $*GROUP; say WHAT $*GROUP
13:29 camelia rakudo-moar 2b74c9: OUTPUT«users (100)␤Cannot look up attributes in a type object␤  in block <unit> at /tmp/BHm7LhmDhX line 1␤␤»
13:30 AlexDaniel m: say WHAT $*GROUP; say WHAT $*GROUP
13:30 camelia rakudo-moar 2b74c9: OUTPUT«(IdFetch)␤(IdFetch)␤»
13:30 mr-foobar joined #perl6
13:32 psch $ ghc -e 'System.Environment.getProgName >>= putStrLn'
13:32 psch <interactive>
13:32 psch (that took almost embarrassingly long to figure out, until i checked RC)
13:33 AlexDaniel can anybody explain this “Cannot look up attributes in a type object” thingy?
13:33 psch now i'm out of ideas which other interpreters to ask :S
13:34 AlexDaniel psch: dunno, is it possible in Go?
13:37 psch google says there's a repl module or two for go, no idea if there's an -e equivalent though
13:39 RabidGravy [jonathan@coriolanus doc.master]$ node -e 'console.log(__filename)'
13:39 RabidGravy [eval]
13:39 colomon joined #perl6
13:40 RabidGravy so in summary, maybe we could do better, but it's no worse than what the other things do ;-)
13:40 masak technically, you could name a file '<interactive>' or '[eval]' too
13:40 psch yeah, we probably could do better, but i don't think "(Any)" or "" qualifies as "better"
13:40 RabidGravy indeed
13:41 AlexDaniel psch: what about Nil? :)
13:41 masak are you serious
13:42 RabidGravy ooO( return ('-e' but role { method IO { die "not a file" } )) ..... ;-)
13:42 kaare_ joined #perl6
13:43 psch &say.wrap(-> |c { die "you may never know!" if c ~~ / '$*PROGRAM-NAME' / && $*PROGRAM-NAME eq '-e'; say |c })
13:46 AlexDaniel m: say $*GROUP; say WHAT $*GROUP
13:46 camelia rakudo-moar 2b74c9: OUTPUT«users (100)␤Cannot look up attributes in a type object␤  in block <unit> at /tmp/Bddi8Tw8Rr line 1␤␤»
13:46 AlexDaniel m: say $*GROUP, WHAT $*GROUP
13:46 camelia rakudo-moar 2b74c9: OUTPUT«users (100)(IdFetch)␤»
13:47 psch m: say $*GROUP.WHICH; say $*GROUP; say $*GROUP.WHICH
13:47 camelia rakudo-moar 2b74c9: OUTPUT«IdFetch|69237984␤users (100)␤IdName|79412448␤»
13:50 AlexDaniel it turns into IdName :o
13:51 psch https://github.com/rakudo/rakudo/blob/nom/src/core/Process.pm
13:51 RabidGravy yeah, type smileys on the .gist would fix that
13:53 ZoffixWin \o
13:53 psch o/ ZoffixWin
13:53 AlexDaniel anyway, RT #128099 if anybody is interested
13:53 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128099
13:53 ZoffixWin How to go about finding memory leaks? Is that what that valgrind thing is for? (RE: http://irclog.perlgeek.de/perl6/2016-05-08#i_12449184 )
13:54 psch ZoffixWin: yeah, it's a start.  iirc you also need some moar flag for clean shutdowns, 'cause otherwise valgrind gives you false positives
13:54 psch ZoffixWin: 'cause moar doesn't clean up when it exists, because the OS does that well enough already
13:54 psch s/exists/exits/
13:55 JimmyZ ZoffixWin: http://www.brendangregg.com/FlameGraphs/memoryflamegraphs.html FYI
13:55 AlexDaniel m: say $*USER; say WHAT $*USER
13:55 camelia rakudo-moar 2b74c9: OUTPUT«camelia (1012)␤Cannot look up attributes in a type object␤  in block <unit> at /tmp/pkEmz9GQMj line 1␤␤»
14:03 ZoffixWin JimmyZ, looks like I don't got dtrace... And this page says "linux port is in development": http://dtrace.org/blogs/about/
14:08 JimmyZ ZoffixWin: on linux use systemTap
14:09 JimmyZ ZoffixWin: or ktap etc
14:11 JimmyZ ZoffixWin: it mentioned SystemTAP on the post
14:16 tokomer joined #perl6
14:19 AlexDaniel m: say $*INITITME
14:19 camelia rakudo-moar 2b74c9: OUTPUT«Dynamic variable $*INITITME not found␤  in block <unit> at /tmp/FZyeVzMyB9 line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/FZyeVzMyB9 line 1␤␤»
14:21 azawawi joined #perl6
14:21 azawawi hi
14:21 azawawi RabidGravy: ping :)
14:21 RabidGravy boom!
14:22 azawawi ouch :)
14:23 azawawi RabidGravy: where is that fork? i wanna eat :)
14:24 bartolin AlexDaniel: is the last one not just a typo?
14:24 bartolin m: say $*INITTIME
14:24 camelia rakudo-moar 2b74c9: OUTPUT«Instant:1462717488.261654␤»
14:24 AlexDaniel bartolin: lol
14:24 AlexDaniel hahaha
14:25 RabidGravy azawawi, https://github.com/jonathanstowe/Net-ZMQ - don't know what state it's in - I would recommend cherry picking some of the sensible looking commits
14:25 AlexDaniel bartolin: you are right, sir
14:26 bartolin *g*
14:27 AlexDaniel m: say $*INITTIME; say BEGIN now
14:27 camelia rakudo-moar 2b74c9: OUTPUT«Instant:1462717664.545326␤Instant:1462717664.640701␤»
14:31 AlexDaniel m: say $*ARGFILES
14:31 camelia rakudo-moar 2b74c9: OUTPUT«IO::ArgFiles<(Any)>(closed)␤»
14:31 AlexDaniel what?
14:31 AlexDaniel ah
14:32 AlexDaniel m: say $*ARGFILES.perl
14:32 camelia rakudo-moar 2b74c9: OUTPUT«IO::ArgFiles.new(:path(Any),:chomp)␤»
14:32 * AlexDaniel should update rakudo on his machine
14:34 titsuki joined #perl6
14:36 titsuki Hi. Does anyone %?RESOURCES equivalent in run time ?
14:36 titsuki *anyone know
14:36 timotimo why wouldn't %?RESOURCES suffice?
14:36 ufobat joined #perl6
14:36 azawawi RabidGravy: cool.. will do
14:38 titsuki timotimo, "mi6 test" command fails when testing, becaouse %?RESOURCES is Nil in runtime.
14:39 titsuki https://github.com/titsuki/p6-Term-Readsecret/blob/master/lib/Term/Readsecret.pm6#L6
14:39 timotimo :o
14:39 timotimo that's bad
14:39 timotimo it should really work at runtime, too
14:40 timotimo oh, well, constants are evaluated at BEGIN time
14:40 timotimo so that's actually the other way around, but it's still a bug
14:41 titsuki hmm
14:41 ZoffixWin This works fine for me: https://github.com/zoffixznet/perl6-Bailador-Plugin-Static/blob/master/lib/Bailador/Plugin/Static.pm6#L4
14:41 timotimo others in the channel would know better than me
14:41 timotimo the only thing i can say is "what's your perl6 --version ?"
14:41 azawawi single core performance of AMD FX series is a joke... http://cpuboss.com/cpus/Intel-Core-i7-2600-vs-AMD-FX-8150
14:41 titsuki This is Rakudo version 2016.04-99-g475063a built on MoarVM version 2016.04
14:41 titsuki implementing Perl 6.c.
14:42 timotimo well, that's certainly new enough
14:43 teatime hmm
14:45 timotimo oh
14:45 timotimo i was about to say you don't have any resources in your meta6.json, but you do
14:45 tailgate I'm trying to understand an error from the rakudo compiler. When it gives me a type signature (Units::Unit $: Hash %u, *%_) how should I interpret that? What do the symbos $: and %*_ mean?
14:46 timotimo tailgate: the : after the $ means the part to the left is the invocant, i.e. the thing you called the method on
14:46 timotimo and *% is a slurpy hash, i.e. it takes all named arguments. %_ is the name of that hash
14:46 hotel joined #perl6
14:47 tailgate does the $ mean anything, or is just part of $: ?
14:47 timotimo it's just an anonymous scalar variable
14:47 titsuki "fail" is maybe a little bit overstatement. See: https://gist.github.com/titsuki/ef385ec5fda7dcd137d4fc7d0bf0e553 But in fact %?RESOURCES is evaluated as Nil
14:47 psch m: class A { method foo() { } }; say A.^can('foo')[0].signature
14:47 camelia rakudo-moar 2b74c9: OUTPUT«(A $: *%_)␤»
14:48 tailgate so anytime I call a class method it'll be of the form (Classname $: args %*_)
14:48 psch tailgate: it's always just an $ if you don't give it a name
14:48 psch m: class A { method foo($invocant: ) { } }; say A.^can('foo')[0].signature
14:48 camelia rakudo-moar 2b74c9: OUTPUT«($invocant: *%_)␤»
14:48 timotimo could you "BEGIN say %*RESOURCES.perl" for us?
14:48 ZoffixWin titsuki, doesn't this need to be %^?RESOURCES<libraries/readsecret/blahlblah.so> ?
14:48 timotimo er, sorry, with the ? not wit hthe *
14:49 psch tailgate: any method that doesn't take other, explicit parameters has that signature, yes
14:49 ZoffixWin timotimo, that will just give something like Distribution::Resources.new(dist-id => "", repo => "file#/tmp/tmp.ZNq1hWL2Zm/lib")
14:49 ZoffixWin And %?RESOURCES<blahlalfllsdflsdflsdfsd> will give an IO relative to resource dir
14:49 titsuki $ perl6 -e 'BEGIN say %*RESOURCES.perl'
14:49 titsuki Failure.new(exception => X::Dynamic::NotFound.new(name => "\%*RESOURCES"), backtrace => Backtrace.new)
14:49 ZoffixWin (even if it doesn't exist)
14:50 timotimo yeah, sorry, i told you to %*RESOURCES, but i meant %?RESOURCES
14:50 titsuki perl6 -e 'BEGIN say %?RESOURCES.perl'
14:50 titsuki Nil
14:50 titsuki sorry
14:51 * timotimo doesn't know more about debugging RESOURCES trouble
14:51 ZoffixWin wtf
14:51 khw joined #perl6
14:51 RabidGravy no that's right
14:51 Ven joined #perl6
14:52 dalek doc: 55f9d0d | (Jan-Olof Hendig)++ | doc/Type/Dateish.pod:
14:52 dalek doc: Fixed a couple of typos
14:52 dalek doc: review: https://github.com/perl6/doc/commit/55f9d0da6f
14:52 ZoffixWin I don't get a Nil, I get Distribution::Resources.new(dist-id => "", repo => "file#/tmp/tmp.ZNq1hWL2Zm/lib")
14:52 ZoffixWin (using checkout of titsuki's repo)
14:53 timotimo but you don't use mi6 for this?
14:53 ZoffixWin I'm not running mi6 test though, but prove -e "perl6 -Ilib" -vlr t
14:53 timotimo maybe mi6 needs a bugfix?
14:54 titsuki but prove command also cause error https://gist.github.com/titsuki/6d564ff0d50d66df37af7009e9ca012e
14:54 ZoffixWin ¯\_(ツ)_/¯
14:56 titsuki zoffix, it works! https://gist.github.com/titsuki/3de685a4c0d8c3d67cbf250951531392
14:56 timotimo ah, -Ilib was missing
14:56 smls joined #perl6
14:57 smls Hi all
14:57 ZoffixWin \o
14:57 smls I updatyed my gist for RT ticket search links: https://gist.github.com/smls/eed26639e60f199613495a114856f41c
14:58 smls Now has searches by status and tags
14:58 titsuki timetime, -Ilib seems nothing to do with this error https://gist.github.com/titsuki/dba511807f9eb52ccd330e9774389814
14:58 huggable joined #perl6
14:59 ZoffixWin TIL simply adding a path to `use lib` creates that path if it doesn't exist to store .precomp folder in :/
14:59 smls On observation from the ticket searches: moritz and masak have submitted a bunch of [TODO] tickets years ago, which are still open.
14:59 smls Could you two maybe follow up on those?
14:59 titsuki sorry, I need double quotation like * prove --exec "perl6 -Ilib" -r t *
15:00 ZoffixWin Had /home/zoffix/service/huggable/test/perl6-IRC-Client/lib/ because I typoed "services"
15:00 moritz smls: what kind of follow-up are you looking for?
15:00 titsuki the above works well too https://gist.github.com/titsuki/07f7eadf784d7cd2ea397e85585d5353
15:00 smls check if they're still relevant
15:00 smls thenb either close, or probably rename the tag to [BUG] or [NYI], depending on what it is
15:01 bartolin smls++ # handy rt links
15:01 titsuki thanks everyone !
15:01 ZoffixWin titsuki, if you add use lib 'lib'; to your tests that stuff won't be needed. And maybe mi6 will work too.
15:02 AlexDaniel smls: cool
15:02 moritz m: say <a\\ b\ c>.perl
15:02 camelia rakudo-moar 2b74c9: OUTPUT«("a\\", "b\\", "c")␤»
15:02 moritz RT #76120
15:02 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=76120
15:03 moritz I guess I should read up whethere that's expected nowadays
15:03 titsuki zoffix, thanks! I'll fix this program so.
15:03 moritz m: say <<a\\ b\ c>>.perl
15:03 camelia rakudo-moar 2b74c9: OUTPUT«("a\\", "b", "c")␤»
15:04 AlexDaniel 449 rejected tickets, wow :)
15:07 smls Grrrr, the stupid "Possible cross-site request forgery" warning on RT is preventing the nice custom output format of the search links from working in other browser sessions than the one I created them in... :(
15:07 timotimo yes.
15:07 timotimo it's pretty annoying
15:07 AlexDaniel m: say (4,8,15,16) Z (2,3,**)
15:07 camelia rakudo-moar 2b74c9: OUTPUT«((4 2) (8 3) (15 **))␤»
15:07 moritz TimToady: ^^ are backslashes in double angle quotes supposed to have special meaning, like quotes do?
15:08 moritz S02 seems to talk only about quotes, but I seem to recall they were supposed to work shell-like
15:09 AlexDaniel m: say (4,8,15,16) Z (1,*)
15:09 camelia rakudo-moar 2b74c9: OUTPUT«((4 1) (8 1) (15 1) (16 1))␤»
15:09 AlexDaniel :/ I didn't know that it works
15:09 moritz m: say (4,8,15,16) X 1
15:09 camelia rakudo-moar 2b74c9: OUTPUT«((4 1) (8 1) (15 1) (16 1))␤»
15:10 ZoffixWin huggable, rakudobrew tripple patch :is: (in .rakudobrew/bin) \curl https://gist.githubusercontent.com/TimToady/0b68b598b74df83e1eee/raw/fde36d40813f7d9421462c89ba23060694efa7e9/gistfile1.txt | git apply
15:10 huggable ZoffixWin, Added rakudobrew tripple patch as (in .rakudobrew/bin) \curl https://gist.githubusercontent.com/TimToady/0b68b598b74df83e1eee/raw/fde36d40813f7d9421462c89ba23060694efa7e9/gistfile1.txt | git apply
15:10 psch m: say (4,8,15,16) Z (2,3,*)
15:10 camelia rakudo-moar 2b74c9: OUTPUT«((4 2) (8 3) (15 3) (16 3))␤»
15:17 BenGoldberg joined #perl6
15:18 AlexDaniel moritz: well, it is not equivalent
15:18 AlexDaniel m: say (4,8,15,16) Z (1,5,*)
15:18 camelia rakudo-moar 2b74c9: OUTPUT«((4 1) (8 5) (15 5) (16 5))␤»
15:18 moritz AlexDaniel: yes, I know
15:19 AlexDaniel I just feel like I needed that a couple of times and didn't know that * works this way
15:20 AlexDaniel m: (1,*) Z (2,*)
15:20 AlexDaniel m: say (1,*) Z (2,*)
15:20 camelia rakudo-moar 2b74c9: OUTPUT«(timeout)WARNINGS for /tmp/RfOCBEWJNC:␤Useless use of "Z" in expression "(1,*) Z (2,*)" in sink context (line 1)␤»
15:20 camelia rakudo-moar 2b74c9: OUTPUT«((1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 …»
15:21 AlexDaniel m: say (*,* Z *)(2)
15:21 camelia rakudo-moar 2b74c9: OUTPUT«(((Any) 2))␤»
15:22 AlexDaniel m: say (*,* Z *,*)(2)
15:22 camelia rakudo-moar 2b74c9: OUTPUT«No such method 'CALL-ME' for invocant of type 'Seq'␤  in block <unit> at /tmp/dlYg0QeO6O line 1␤␤»
15:24 timotimo m: say (*, *)(1, 2)
15:24 camelia rakudo-moar 2b74c9: OUTPUT«Invocant requires a type object of type List, but an object instance was passed.  Did you forget a 'multi'?␤  in block <unit> at /tmp/xK6S3duERU line 1␤␤»
15:24 timotimo m: (*, *)(1, 2).perl.say
15:24 camelia rakudo-moar 2b74c9: OUTPUT«Invocant requires a type object of type List, but an object instance was passed.  Did you forget a 'multi'?␤  in block <unit> at /tmp/CJxtn7ajTI line 1␤␤»
15:24 timotimo how did i do that
15:29 RabidGravy bad
15:29 BenGoldberg Very strange error message.
15:30 moritz why?
15:30 BenGoldberg m: say ((1,*) Z (2,*))
15:30 camelia rakudo-moar 2b74c9: OUTPUT«((1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 2) (1 …»
15:31 RabidGravy why is timotimo bad?
15:31 moritz no, why do you think the error message is strange?
15:31 moritz (list here)() is an invocation
15:31 RabidGravy I don't think the error message is strange ;-)
15:32 BenGoldberg I think it ought to have the type of the object instance in the message.
15:32 timotimo ah, so instead it would have wanted me to go List(1, 2)
15:32 moritz timotimo: right
15:37 Ben_Goldberg joined #perl6
15:43 jameslen_ joined #perl6
15:45 timotimo "A critical medical equipment crashed during a heart procedure due to a timely scan triggered by the antivirus software installed on the PC to which the said device was sending data for logging and monitoring.
15:45 timotimo ;_;
15:46 timotimo "Fortunately, the patient was sedated, and the doctors had five minutes at their disposal to wait for the computer to finish rebooting, start the Merge Hemo application again, and complete their procedure without any health risks for the patient." - oh lord
15:50 RabidGravy it could have been worse "Your FREE Windows 10 upgrade is ready"
15:52 Ven :(
15:52 Ven timotimo: link?
15:53 timotimo "we see the windows license of your currently connected patient has expired. in order to provide the Genuine Windows Advantage, all support systems have been put on hold until a new license has been acquired"
15:53 timotimo http://news.softpedia.com/news/medical-equipment-crashes-during-heart-procedure-because-of-antivirus-scan-503642.shtml
16:02 hankache joined #perl6
16:04 hankache joined #perl6
16:04 psch m: say $*PERL.compiler
16:04 camelia rakudo-moar 2b74c9: OUTPUT«rakudo (2016.04.126.g.2.b.74.c.90)␤»
16:04 psch ww
16:05 hankache_ joined #perl6
16:05 hankache joined #perl6
16:06 cognominal joined #perl6
16:06 hankache panda is failing to install using rakudobrew build moar
16:07 hankache any ideas?
16:08 smls `rakudobrew self-upgrade` ?
16:08 smls That, or nuking and reinstalling rakudobrew, is usually how I solve any issues I encounter with it... :P
16:09 hankache did rakudobrew self-upgrade. trying again now
16:11 hankache how does rakudobrew build moar differ from moar-bleed?
16:12 hankache lol moar-blead?
16:15 hankache so how does "build moar" differ from "build moar-blead"? and if it's bleeding edge why is it misspelled?
16:15 hankache smls self-upgrade did the job. Thanks
16:17 smls hankache: My guess is that 'moar' uses whatever MoarVM revision is recommended for the latest Rakudo revision, whereas 'moar-blead' uses the absolute latest MoarVM revision.
16:20 smls Yep, I just checked: `rakudobrew moar` uses MoarVM revision 0d03bb6 (3 weegs ago, tagged "2016.04")
16:20 smls And `rakudobrew moar-blead` uses MoarVM revision e240e75 (50 minutes ago, no tag).
16:22 tadzik heh, it's misspelled indeed
16:23 timotimo leading edge?
16:23 tadzik wfm
16:23 moritz "blead" is common term in p5 land
16:23 timotimo i thought so, too
16:23 tadzik it did sound familiar
16:29 moritz their blead is our nom :-)
16:29 nbrown joined #perl6
16:32 timotimo except we also have our two dependencies that can also blead
16:32 hankache Well dunno about Perl 5, I entered the Perl Kingdom through the 6th door ;)
16:33 timotimo me, too
16:33 hankache Should I spend some time learning 5? Is there any benefits?
16:34 hankache Are there**
16:35 moritz there are, but not more than, say, learning python or lua
16:37 hankache so say "excluding Perl 6" if you wanted to wander a bit and learn the basics of a new language what would you choose?
16:40 moritz to answer that, I first need to know the why
16:40 moritz curiosity? then learn something very different from what you know; maybe prolog, maybe haskell, maybe C#
16:40 moritz depends on what you know already
16:41 timotimo if language development interests you, you could follow the development of Jai, jonathan blow's own programming language
16:41 hankache yup moritz mainly curiosity
16:42 hankache timotimo Jai?
16:42 moritz IMHO there are three main axes along which you can explore
16:42 moritz static vs. dynamic typing
16:43 moritz paradigma (procedual, OO, functional, declarative)
16:43 moritz big languages (python, perl) vs. small languages (lua, lisp)
16:43 timotimo ja, jai
16:43 hankache I think trying something functional would be a nice experience
16:43 timotimo learn fortran or cobol?
16:43 jack_rabbit joined #perl6
16:44 moritz neither is very functional :-)
16:44 timotimo going functional is so pass
16:44 timotimo passe*
16:44 hankache haskell ocaml F#
16:45 RabidGravy joined #perl6
16:45 xfix Just use procedure pointers in Fortran, clearly functional.
16:46 RabidGravy coo, clearly warmer than I thought
16:51 moritz F# is Fortran on .NET, right? /s
16:52 |2701 joined #perl6
16:53 hankache F# is ocaml on .NET
16:58 AlexDaniel m: say INIT now; say BEGIN now; say $*INITTIME
16:58 camelia rakudo-moar 02d63f: OUTPUT«Instant:1462726759.530292␤Instant:1462726759.517365␤Instant:1462726759.422599␤»
17:04 smls Interesting, what is that variable for?
17:06 smls m: for ($*INITTIME, (BEGIN now), (INIT now)).rotor(2 => -1) { say "{.[1] - .[0]} sec" }
17:06 camelia rakudo-moar 02d63f: OUTPUT«0.1232342 sec␤0.0322948 sec␤»
17:09 timotimo right, it has to reach the "now" in parsing until it can get the value
17:11 smls If $*INITTIME is before "INIT time" and even before "BEGIN time, it's kinda misnamed though...
17:11 smls If it's just an internal thing, that's ok I suppose
17:11 AlexDaniel what do you mean by “internal thing”?
17:12 smls It's not mentioned in the docs or synopses.
17:12 AlexDaniel it is
17:12 smls oh?
17:12 AlexDaniel http://doc.perl6.org/language/5to6-perlvar
17:12 AlexDaniel see also https://github.com/perl6/doc/issues/504
17:14 timotimo m: say BEGIN now; say BEGIN now; say BEGIN now; say BEGIN now;
17:14 camelia rakudo-moar 02d63f: OUTPUT«Instant:1462727678.120804␤Instant:1462727678.150711␤Instant:1462727678.178109␤Instant:1462727678.205597␤»
17:14 timotimo i expect INITTIME is set up when rakudo starts up?
17:17 dalek doc: 65e3648 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/5to6-perlop.pod:
17:17 dalek doc: Use C«» instead of C<<>> for shift ops
17:17 dalek doc: review: https://github.com/perl6/doc/commit/65e3648c81
17:19 smls Hm, S28 mentions $*INITTIME after all: http://design.perl6.org/S28.html
17:22 AlexDaniel m: say chars ‘abc’: # didn't know that it works without args
17:22 camelia rakudo-moar 02d63f: OUTPUT«3␤»
17:22 psch m: say &chars.candidates>>.signature
17:22 camelia rakudo-moar 02d63f: OUTPUT«((Cool $x) (Str:D $x) (str $x --> int))␤»
17:22 psch oh
17:22 psch that's a colon
17:26 AlexDaniel m: say comb ‘foo’: # recent complaint
17:26 camelia rakudo-moar 02d63f: OUTPUT«(f o o)␤»
17:30 autarch joined #perl6
17:41 ufobat joined #perl6
17:43 Cabanossi joined #perl6
17:44 cognominal joined #perl6
17:46 profan joined #perl6
17:48 moritz m: say 'foo'.comb
17:48 camelia rakudo-moar 2ba21b: OUTPUT«(f o o)␤»
18:00 chris2 joined #perl6
18:05 dalek doc: e45407e | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/5to6-perlop.pod:
18:05 dalek doc: Missing ‘C’
18:05 dalek doc: review: https://github.com/perl6/doc/commit/e45407ecae
18:16 dalek doc: f0e96e4 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/5to6-perlvar.pod:
18:16 dalek doc: Another missing ‘C’
18:16 dalek doc: review: https://github.com/perl6/doc/commit/f0e96e4e30
18:33 yqt joined #perl6
18:53 cdg joined #perl6
18:56 jjido joined #perl6
19:12 dogbert17 m: say time # is this a POSIX timestamp?
19:12 camelia rakudo-moar 2ba21b: OUTPUT«1462734728␤»
19:13 dogbert17 the term time is documented as 'Returns an Int representing the current time.'
19:14 timotimo i think it's just a monotonous time; i think it's posix timestamp - leap seconds since then?
19:15 dogbert17 should I add that to the docs or do you think it's implicit?
19:15 timotimo i'm not sure what i'm saying is correct
19:15 timotimo m: say now - time
19:15 camelia rakudo-moar 2ba21b: OUTPUT«Instant:36.417369␤»
19:15 timotimo ^- that's the leap seconds, btw
19:16 dogbert17 what about 'Returns an Int representing the current time as a POSIX timestamp.'
19:16 timotimo what does the specs say?
19:17 dogbert17 S32 says 'Returns the current POSIX time as an Int.'
19:18 timotimo OK
19:18 dogbert17 I'll use that unless someone stops me :)
19:18 timotimo food time, bbl
19:22 dalek doc: f6b68df | (Jan-Olof Hendig)++ | doc/Language/terms.pod:
19:22 dalek doc: Fixed example typo, two broken links and updated the documentation for 'time'
19:22 dalek doc: review: https://github.com/perl6/doc/commit/f6b68dfdc7
19:23 buharin joined #perl6
19:29 AlexDaniel joined #perl6
19:31 spider-mario joined #perl6
19:31 hotel wait methods are subs but for classes, right?
19:32 AlexDaniel kinda
19:35 lichtkind joined #perl6
19:37 * DrForr finishes up the tutorial.
19:37 zakharyas joined #perl6
19:38 AlexDaniel DrForr: which tutorial?
19:38 DrForr OSCON.
19:40 hotel I mean I shouldn't have subs in a class, correct?
19:41 psch m: class A { our sub foo { "foo" } }; say A::foo
19:41 camelia rakudo-moar 2ba21b: OUTPUT«foo␤»
19:41 psch hotel: why not?
19:41 hotel I dunno
19:41 hotel what's the difference then?
19:41 psch hotel: methods always need at least one argument, the invocant
19:42 psch hotel: further, subs are installed in the lexpad (iirc), while methods are installed in the method table of the class they belong to
19:42 hotel is the invocant as an argument implicit?
19:42 psch i think there's also some difference how strongly we can do type checking at compile time
19:42 psch hotel: no, but as a parameter :)
19:42 hotel hm
19:42 hotel okay
19:42 hotel thanks
19:43 psch hotel: as in, you don't have to declare it, but you have to call the method on an object
19:43 _28_ria joined #perl6
19:43 hotel that's what I think I meant by implicit
19:43 psch m: class A { method foo() #`[ <- no invocant ] { say "bar" } }; A #`[ <- invocant ] . foo
19:43 camelia rakudo-moar 2ba21b: OUTPUT«bar␤»
19:43 hotel ah okay
19:44 psch hotel: parameter and argument mean explicitely different things in Perl 6.  took me some time to get used to :)
19:44 psch hotel: a parameter is what you have inside the signature, and an argument binds to that parameter when the routine is called with it as... argument
19:44 masak also note that, even though the `self` parameter is always implicit, it's always there anyway
19:45 masak m: class C { method foo($myself: ) { say $myself } }; C.new.foo
19:45 camelia rakudo-moar 2ba21b: OUTPUT«C.new␤»
19:45 masak also also note that, if you work at it, you can call the method as a sub
19:46 ufobat joined #perl6
19:46 masak m: class C { method foo { say "OH HAI {self}" } }; my $m = C.^find_method("foo")[0]; $m( C.new )
19:46 camelia rakudo-moar 2ba21b: OUTPUT«OH HAI C<62706768>␤»
19:46 masak (in which case the invocant parameter is an actual parameter to the sub call)
19:47 dalek doc: 3e3e2ca | (Sterling Hanenkamp)++ | doc/Language/ (2 files):
19:47 dalek doc: Adding docs for LAST/QUIT phasers
19:47 dalek doc:
19:47 dalek doc: And also the same basic functionality in .tap.
19:47 dalek doc: review: https://github.com/perl6/doc/commit/3e3e2cad37
19:47 dalek doc: 30a4a6e | RabidGravy++ | doc/Language/ (2 files):
19:47 dalek doc: Merge pull request #506 from zostay/supply-phasers
19:47 dalek doc:
19:47 dalek doc: Adding docs for async LAST/QUIT phasers
19:47 dalek doc: review: https://github.com/perl6/doc/commit/30a4a6ec72
19:47 hotel guess I'm using methods then
19:47 hotel thanks guys
19:48 RabidGravy not quite warm enough to stay outside after dark yet
19:48 masak the litmus test for "should I use a method?" is "am I using instance state?", IMO
19:48 molaf joined #perl6
19:49 masak or perhaps "am I using instance stuff?" -- your method might simply be using other instance methods, I guess
19:49 AlexDaniel m: say WHAT Str::
19:49 camelia rakudo-moar 2ba21b: OUTPUT«(Stash)␤»
19:58 hotel this thing I'm reading keeps talking about sane supplies... what makes a supply sane vs. insane?
20:03 rurban joined #perl6
20:03 rurban left #perl6
20:06 jnthn hotel: Can rely on it following the grammar emit* [done | quit]
20:06 jnthn hotel: So you'll never see an emit after a done/quit, and only ever see one of those.
20:07 hotel thanks
20:08 vendethiel m: my %h = a => 1, c => 0, b => 2; say %h.sort
20:08 camelia rakudo-moar 2ba21b: OUTPUT«(a => 1 b => 2 c => 0)␤»
20:08 jnthn It in turn implies the supply is serial also
20:08 vendethiel why does .sort on a hash sort the keys, when Perl 6 doesn't define hash order?
20:09 jnthn vendethiel: %h.sort is really %h.list.sort which is really %h.pairs.sort, so you're getting whatever semantics sorting pairs has
20:10 jnthn Well, sorting a list of pairs
20:10 jnthn But by the time you perform the sort you're talking about a list, not a hash
20:10 vendethiel any reason not to have a useful %h.sort? or am I missing why how the behavior can be used?
20:12 masak I guess the reason to even talk about sane supplies is that there are situations when one needs to deal with not-sane supplies
20:12 * jnthn tends to write stuff like %h.sort(*.value) which gives me a sorted bunch of pairs
20:13 vendethiel yes, that's what I currently have :)
20:14 jnthn In general, though, operations in Perl 6 tend to imply a certain form of data, and coerce appropriately. And .sort is an operation on a list-y thing.
20:14 masak so, %h.sort doesn't *quite* "sort the keys". it does lexicographic sorting of keys and values
20:15 jnthn So I guess I don't even really think of it as "sort a hash", so much as "sort the list I can get from this hash"
20:15 masak but I guess the difference only manifests if two distinct keys ever sort as equivalent ;)
20:15 masak 'night, #perl6
20:15 jnthn rest well, masak o/
20:17 vendethiel masak: I sure hope that never happens to me :P. Good night!
20:20 mr-foobar joined #perl6
20:25 ufobat i've got a question. is this resetting 2 objects to a default state https://github.com/ufobat/Bailador/blob/master/lib/Bailador/Context.pm#L15 somehow better compared to creating 2 new objects?
20:27 moritz ufobat: well, depends on whether somebody else might hold a reference to those objects
20:29 chris2 joined #perl6
20:31 ufobat ah!
20:31 ufobat that makes sense
20:32 azawawi joined #perl6
20:32 ufobat but then, wouldn't it be better to have a reset() method in the classes. so the logic stays in the class rather then in the container.
20:32 azawawi hi
20:33 azawawi how do i write this more elegantly in perl 6 https://gist.github.com/azawawi/b602d41c43c631ac660e1c61b6095bb9 ?
20:33 moritz ufobat: yes, a reset method would make more sense to me
20:39 ufobat thanks :)
20:39 vendethiel azawawi: phasers?
20:40 jnthn Callable $userblock could just be written as &userblock, and then called without the sigil
20:41 jnthn with is a bit of a bad choice of sub name there also because Perl 6 already has a with
20:41 vendethiel this is like a given with timely destruction
20:42 jnthn Yeah, it's a fine enough idea...just better to pick a word that isn't a statement control in the language
20:43 jnthn Curiously, `with` (the Perl 6 one) can be used to make the sub there neater too :)
20:43 jnthn .dispose with $o; # for example
20:43 azawawi im thinking we need something like that especially for nativecall libraries
20:44 * moritz guesses azawawi chose 'with' because that's what python uses for context managers
20:44 jnthn Yeah; `using` is used by some other languages
20:45 azawawi moritz: true though the name is not important. i want an elegant solution :)
20:46 jnthn Well, if you pick a word other than with (that isn't being used by Perl 6 already), then you can neaten it up a little
20:46 jnthn using Foo.new(:x(10)), -> $o {
20:46 jnthn ...
20:47 jnthn }
20:47 timotimo wow, TIL
20:47 timotimo replaced @foo != @foo.unique with @foo != @foo.Set and it became muuuuch slower
20:47 jnthn You can skip the final ; because of the "} + whitespace ends the statement" rule
20:49 azawawi jnthn: thx
20:54 jjido joined #perl6
20:54 mr-foobar joined #perl6
21:01 ssotka joined #perl6
21:05 ssotka How do you handle cross module dependencies?  I have two modules, each needs to be able to return an object from the other. If I 'use' each from the other, perl6 starts spawning many processes.
21:05 timotimo yeah, recursive dependencies aren't possible
21:06 timotimo i forgot what the usual way to do it is :|
21:06 azawawi jnthn: so something like this https://gist.github.com/azawawi/b602d41c43c631ac660e1c61b6095bb9
21:06 timotimo of course you can put both things into the same module
21:06 ssotka That actually might work better, thanks
21:06 timotimo i'm not exactly sure how far stubbing will get you
21:07 ssotka I meant putting both in the same module
21:07 timotimo yup
21:14 jnthn azawawi: Yeah but you don't need the parens
21:15 jnthn (after using)
21:15 jnthn Which means you can do without the closing one too, and the trailing ;
21:15 mr-foobar joined #perl6
21:21 azawawi jnthn: https://gist.github.com/azawawi/b602d41c43c631ac660e1c61b6095bb9 :)
21:22 azawawi and wrapping it in a new module :)
21:22 MadcapJake timotimo: back home! why is that second one faster? if/else vs when/default ?
21:23 TEttinger joined #perl6
21:23 jnthn azawawi: Yeah, though that ; you put at the end is optional :)
21:23 jnthn azawawi: Guess that's a matter of taste, though
21:24 MadcapJake timotimo: `[Z+]` is so nifty
21:24 azawawi the question is now what module namespace? :)
21:25 timotimo it also uses consonants instead of <:Letter>
21:25 MadcapJake how did each of them perform?
21:25 timotimo i forgot
21:26 timotimo you should try all of them on your own machine :)
21:26 timotimo so you have relatable numbers
21:26 MadcapJake nice excuse ;)
21:27 MadcapJake so it seems my channel-worker impl. was just channel overkill.  Really like how elegant your channel version is
21:32 hotel_california joined #perl6
21:32 MadcapJake timotimo: thanks so much for your help and implementations of this! Really appreciate your insight!
21:32 timotimo very welcome
21:33 timotimo and very thanks, too :)
21:44 hotel joined #perl6
21:48 hotel_california joined #perl6
21:57 mr-foobar joined #perl6
22:02 jack_rabbit joined #perl6
22:03 dalek ecosystem: 3bc1ac6 | azawawi++ | META.list:
22:03 dalek ecosystem: Add Clean
22:03 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/3bc1ac632b
22:03 azawawi https://github.com/azawawi/perl6-clean  :)
22:03 azawawi jnthn++ moritz++
22:06 cxreg maybe some non-circular description or example of what "clean an object" means (without again saying clean) would be nice?
22:07 cxreg it may be cool but i have no idea what it means ;)
22:07 MadcapJake so any work you want to do would have to be wrapped in a block provided to clean?
22:07 azawawi yup
22:09 azawawi cxreg: sure
22:09 azawawi cxreg: it is a start :)
22:11 * azawawi sleep &
22:12 Khisanth joined #perl6
22:24 BenGoldberg joined #perl6
22:27 rurban joined #perl6
22:35 lichtkind_ joined #perl6
22:49 diakopter joined #perl6
22:50 mr-foobar joined #perl6
22:55 mr-foobar joined #perl6
22:57 ugexe joined #perl6
22:58 huggable joined #perl6
23:00 DarthGandalf joined #perl6
23:02 wbill joined #perl6
23:06 RabidGravy boom!
23:06 RabidGravy toodles
23:13 perturbation joined #perl6
23:20 mr-foobar joined #perl6
23:28 tomboy64 joined #perl6
23:45 ZoffixWin joined #perl6
23:45 ZoffixWin joined #perl6
23:48 ZoffixWin So I ran valgrind on `say "Hello, World"` and it told me "LEAK SUMMARY: definitely lost: 104,477 bytes in 2,358 blocks": https://gist.github.com/zoffixznet/9983b01212cff68a8558d23b5fe94b44
23:50 ZoffixWin On an empty program, "definitely lost: 104,393 bytes in 2,347 blocks" :S
23:53 mr-foobar joined #perl6
23:53 ZoffixWin No idea what any of this shit means... :( I guess I'll just avoid writing long-running apps :'(
23:53 * BenGoldberg expects there's some option to tell rakudo to run some global cleanup / final gc, which would reduce that number a bit.
23:54 ZoffixWin I think that's what the --full-cleanup flag is supposed to be doing.
23:54 BenGoldberg Oh, I hadn't seen that.
23:54 BenGoldberg nvmnd, then.
23:58 hotel m: say {}.WHAT
23:58 camelia rakudo-moar 283b85: OUTPUT«(Hash)␤»
23:58 TEttinger joined #perl6
23:58 timotimo ZoffixWin: there's a few things we're not cleaning up at the moment. i think the unicode database (or some part of it) is part of that
23:59 timotimo pretty much everything that has MVM_unicode_* in the stack trace is related to that

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

Perl 6 | Reference Documentation | Rakudo