Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-04-21

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 perlawhirl joined #perl6
00:00 idiosyncrat_ joined #perl6
00:04 * BenGoldberg wonders why Proxy is a class, instead of a punned Role.
00:12 * ZoffixWin wonders what's the big difference between a role and a class
00:13 perlawhirl 'morning perl6
00:14 perlawhirl ZoffixWin: I was looking at your repo's... Evil has the README from MiddleMan
00:14 ZoffixWin perlawhirl, oh, Evil is a failed project. I was told it was impossible in the middle of working on it :)
00:15 ZoffixWin it was meant to let you add methods to existing types and let those propagate to all the parents.
00:15 perlawhirl hah, ok... that's a shame cause yeah... that augment thing is a bit of a pain
00:19 johndau joined #perl6
00:23 cdg joined #perl6
00:25 idiosyncrat_ left #perl6
00:29 BenGoldberg m: use NativeCall; sub getppid is native returns int64 { }; sub getpid is native returns int64 { }; say getpid, " ", getppid;
00:29 camelia rakudo-moar 6df7ff: OUTPUT«17035 20924␤»
00:29 BenGoldberg m: use NativeCall; sub getppid is native returns int64 { }; sub getpid is native returns int64 { }; say getpid, " ", getppid;
00:29 camelia rakudo-moar 6df7ff: OUTPUT«17037 20924␤»
00:29 ugexe m grammar Grammar::Foo { token TOP { <return> }; token return { .+ }; }; Grammar::Foo.parse(1)
00:29 BenGoldberg m: use NativeCall; sub kill(int64) is native returns int64 { }; sub getpid is native returns int64 { }; say kill(getpid); say 'alive';
00:29 camelia rakudo-moar 6df7ff: OUTPUT«0␤alive␤»
00:29 ugexe m: grammar Grammar::Foo { token TOP { <return> }; token return { .+ }; }; Grammar::Foo.parse(1)
00:29 camelia rakudo-moar 6df7ff: OUTPUT«Attempt to return outside of any Routine␤  in any !cursor_pass at /home/camelia/rakudo-m-inst-1/share/nqp/lib/QRegex.moarvm line 1␤  in regex return at /tmp/iCXVmSsDVO line 1␤  in regex TOP at /tmp/iCXVmSsDVO line 1␤  in block <unit> at /tmp/iCXVmS…»
00:30 BenGoldberg m: use NativeCall; sub kill(int32) is native returns int32 { }; sub getpid is native returns int32 { }; say kill(getpid); say 'alive';
00:30 camelia rakudo-moar 6df7ff: OUTPUT«0␤alive␤»
00:30 ugexe dont name tokens `return`, or bug?
00:32 BenGoldberg m: use NativeCall; sub kill(int32,int32) is native returns int32 { }; sub getpid is native returns int32 { }; say kill(getpid, 1); say 'alive';
00:32 camelia rakudo-moar 6df7ff: OUTPUT«(signal HUP)»
00:33 skink joined #perl6
00:33 BenGoldberg I could, but will not, do that bit of code with 'getppid' instead of 'getpid'.  Killing camelia would be wrong! :)
00:34 BenGoldberg Why isn't NativeCall forbidden in the restricted setting, anyway?
00:35 skink Speaking of which
00:35 skink Xliff, Make any progress with that nonsense?
00:38 pdcawley_ joined #perl6
00:38 BenGoldberg m: use NativeCall; my CArray[uint] $chs .= new: "hello world".encode.list; say @$chs;
00:38 camelia rakudo-moar 6df7ff: OUTPUT«(104 101 108 108 111 32 119 111 114 108 100)␤»
00:38 ZoffixWin joined #perl6
00:38 johndau joined #perl6
00:39 uruwi joined #perl6
00:40 petercommand joined #perl6
00:40 sunnavy_ joined #perl6
00:41 jolts joined #perl6
00:42 skids joined #perl6
00:42 jolts joined #perl6
00:43 M-Illandan joined #perl6
00:46 jolts joined #perl6
00:47 jolts joined #perl6
00:51 jolts joined #perl6
00:52 jolts joined #perl6
00:53 cdg joined #perl6
00:54 Actualeyes joined #perl6
00:56 jolts joined #perl6
01:05 jack_rabbit joined #perl6
01:05 johndau joined #perl6
01:26 BenGoldberg m: use NativeCall; my CArray[uint] $chs .= new: "hello world".encode; say @$chs;
01:26 camelia rakudo-moar 6df7ff: OUTPUT«(104 101 108 108 111 32 119 111 114 108 100)␤»
01:26 BenGoldberg m: use NativeCall; my CArray[uint] $chs .= new: "hello world"; say @$chs;
01:26 camelia rakudo-moar 6df7ff: OUTPUT«This type cannot unbox to a native integer␤  in method new at sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 168␤  in method new at sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 162␤  in block <u…»
01:26 BenGoldberg m: use NativeCall; my CArray[uint] $chs .= new: "hello world".encode; say @$chs;
01:26 camelia rakudo-moar 6df7ff: OUTPUT«(104 101 108 108 111 32 119 111 114 108 100)␤»
01:26 BenGoldberg m: use NativeCall; my CArray[uint] $chs .= new: "hello world".encode; say $chs;
01:26 camelia rakudo-moar 6df7ff: OUTPUT«NativeCall::Types::CArray[uint].new␤»
01:26 BenGoldberg m: use NativeCall; my CArray[uint] $chs .= new: "hello world".encode; say $chs; say map *.chr, @chs;
01:26 camelia rakudo-moar 6df7ff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jlNUbt8Bh0␤Variable '@chs' is not declared. Did you mean '$chs'?␤at /tmp/jlNUbt8Bh0:1␤------> 3world".encode; say $chs; say map *.chr, 7⏏5@chs;␤»
01:27 BenGoldberg m: use NativeCall; my CArray[uint] $chs .= new: "hello world".encode; say $chs; say map *.chr, @$chs;
01:27 camelia rakudo-moar 6df7ff: OUTPUT«NativeCall::Types::CArray[uint].new␤(h e l l o   w o r l d)␤»
01:27 BenGoldberg m: use NativeCall; my CArray[uint] @chs .= new: "hello world".encode; say @chs; say map *.chr, @chs;
01:27 camelia rakudo-moar 6df7ff: OUTPUT«Type check failed in assignment to ; expected NativeCall::Types::CArray[uint] but got utf8 (utf8.new(104,101,108,...)␤  in block <unit> at /tmp/uzBpJ1fTZe line 1␤␤»
01:28 BenGoldberg m: use NativeCall; my @chs := CArray[uint].new: "hello world".encode; say @chs;
01:28 camelia rakudo-moar 6df7ff: OUTPUT«NativeCall::Types::CArray[uint].new␤»
01:28 BenGoldberg m: use NativeCall; my @chs := CArray[uint].new: "hello world".encode; say |@chs;
01:28 camelia rakudo-moar 6df7ff: OUTPUT«10410110810811132119111114108100␤»
01:28 BenGoldberg m: use NativeCall; my @chs := CArray[uint].new: "hello world".encode; say @@chs;
01:28 camelia rakudo-moar 6df7ff: OUTPUT«(104 101 108 108 111 32 119 111 114 108 100)␤»
01:28 molaf joined #perl6
01:29 * BenGoldberg thinks that @@ looks vry strange.
01:32 johndau joined #perl6
01:39 Xliff skink: Yes. Thanks for asking.
01:41 skink Resolve the ***float thing?
01:42 Xliff Yup
01:46 * BenGoldberg is reading some of moar's c source code.
01:46 Xliff https://gist.github.com/Xliff/11acc06d8e4c35140fa3535bbfe47329
01:46 agentzh joined #perl6
01:46 Xliff skink: The key was using the binding op ":=" when using nativecast.
01:46 BenGoldberg I spy a bug in src/core/nativecall_dyncall.c, in MVM_nativecall_get_calling_convention: the line 'result = DC_CALL_C_X64_WIN64' will never be reached.
01:46 skink Ah!
01:46 skink Xliff, Like I said, you might wanna add that to the docs/examples
01:46 skink Given that it was so tricky
01:47 Xliff skink: I don't know how to do that.
01:47 Xliff Is there a repo that I can submit a PR against?
01:47 hoelzro BenGoldberg: nice catch; it looks like some copy pasting that made it through
01:47 BenGoldberg :)
01:48 skink left #perl6
01:48 hoelzro BenGoldberg: any idea what that string should be?
01:48 skink joined #perl6
01:48 skink Woops, mashed the wrong keys
01:48 hoelzro other than stdcall?
01:48 skink Xliff, There is this https://github.com/perl6/perl6-examples/
01:48 BenGoldberg Alas, no, I've no clue :)
01:48 skink aaaand this https://github.com/perl6/doc
01:49 Herby_ ZoffixWin: I'm liking your fancy new search method
01:50 ZoffixWin \o/
01:50 lizmat joined #perl6
01:50 Herby_ I do have a question though, although its much more Perl 6 related
01:50 Xliff skink: Thanks. It looks like this is the way to go -> https://github.com/perl6/doc/blob/master/doc/Language/nativecall.pod
01:51 Herby_ $t.search-tweets: 'Perl 6';
01:51 Xliff skink: Remind me if I haven't gotten the PR done by Friday.
01:51 Herby_ do I assign that to a hash?
01:51 Herby_ I'm not positive how to get info out of it
01:52 cdg joined #perl6
01:53 ZoffixWin Herby_, well, first, why are you using search-tweets instead of Twitter.search? What's missing in .search that .search-tweets provides? I really random-guessed how much info is needed to be kept there
01:53 skink Xliff, Will do. Speaking of PRs, do you have Visual Studio installed?
01:54 Herby_ ZoffixWin: I could be using it wrong by it looks like 'search' returns the user and their tweet.  search-tweet looks like it returns a full set of data related to each tweet
01:54 Herby_ by = but
01:54 ZoffixWin But to answer, you don't assign to it, you traverse it:  my $res = $t.search-tweets: 'Perl 6'; my $tweet = $res<statuses>[0]; say "$tweet<text> by $tweet<user><screen_name>"
01:55 ZoffixWin Herby_, yeah, .search basically calls .search-tweets and throws out all the "useless" stuff.
01:56 Herby_ sweet, that works like a champ :)
01:57 ZoffixWin cool
01:57 Herby_ I don't know how fleshed out you plan on making the module but have you looked at the Stream api? https://dev.twitter.com/streaming/overview
01:57 Herby_ where the script keeps an open connection and captures a constant stream of info
01:58 Herby_ i was up late last night reading up on the twitter api but i unfortunately don't have the programming chops to create something useful
01:59 ZoffixWin ATM, I only looked at the REST API. I can pay more attention to the streaming API if there are users to consume it.... that'd be you :P
01:59 ZoffixWin I'll take a look at it this weekend.
01:59 Herby_ hah I would definitely use it.  As Perl 6 gets more popular, I'm sure the users would take off.
01:59 Herby_ I don't think Perl 5 has a working module for stream capture either, so yours would stand alone
02:01 Xliff Grr...
02:01 Xliff gptrixie is bugged for really complex HPP files.
02:05 sortiz joined #perl6
02:06 sortiz \o #perl6
02:07 skink hey sortiz
02:07 Herby_ sortiz: o/
02:07 BenGoldberg Herby_, perl5 is absolutely capable of capturing streaming data from a url.
02:08 Herby_ I probably phrased it wrong. I didn't find a twitter module that is currently working for streaming
02:08 Herby_ they few I saw last night weren't using OAUTH, which I believe is required now
02:09 pmurias joined #perl6
02:13 johndau joined #perl6
02:16 BenGoldberg Net::Twitter uses OAuth.
02:17 BenGoldberg When I typed 'twitter' into search.cpan.org, that was the very first thing which came up!
02:17 * BenGoldberg wonders how you overlooked it ;)
02:17 Herby_ lol I was using that last night!
02:17 Herby_ i didn't see anyone for a streaming method
02:19 BenGoldberg I see support in Net::Twitter for REST APIs... hmm.......
02:20 Herby_ i'll take a fresh look at the module, it was a long day yesterday
02:24 ZoffixWin BenGoldberg, why are you still using S.C.O? metacpan.org is what the cool kids use!
02:25 BenGoldberg yeah yeah I know Zof ;)
02:25 ZoffixWin But... and that's based on Twitter's doc organization.... REST API is different from Streaming API
02:34 noganex_ joined #perl6
02:37 BenGoldberg Ok, I think I've got a solution.
02:40 BenGoldberg Net::Twitter uses LWP.  It keeps the LWP::UserAgent object in a moose-generated field called 'ua'.
02:42 perigrin Net::Twitter doesn't have a streaming API, the author sends people to https://metacpan.org/pod/AnyEvent::Twitter::Stream
02:42 perigrin s/have/support/
02:42 BenGoldberg If you my $nt = Net::Twitter->new(...), then $nt->ua->add_handler( response_data => sub { ... } ), then your sub will get called with each chunk of data.
02:43 BenGoldberg AnyEvent?  Yuck.
02:43 perigrin both semifor and miyagawa have their weird blind spots ...
02:44 sortiz BenGoldberg, I'm now digging the bug you found.
02:44 perigrin also if you were gonna green field a Twitter client in perl6 ... I'd work off of https://github.com/semifor/Twitter-API
02:45 perigrin rather than Net::Twitter
02:45 perigrin which is semifor's re-thought of the codebase after having lived with Net::Twitter for several years.
03:00 sortiz BenGoldberg, In the MoarVM context seems less serious 'cause on dyncall the mode/platform combination that don’t make sense are silently ignored, reverting to DC_CALL_C_DEFAULT.
03:10 * skink attempts to cross-compile Windows libs again
03:37 Actualeyes joined #perl6
03:48 MadcapJake Here's my basic sketch of what the high level API will be for HTML::MyHTML https://gist.github.com/MadcapJake/4f54af99262831d8d7dbfa0078f694e3
03:49 skink Interesting. %?RESOURCES<argon2> looks for 'libargon2.{so,dylib}' yet 'argon2.dll'
04:01 skink left #perl6
04:10 Cabanossi joined #perl6
04:11 nige1 joined #perl6
04:17 nige1 .tell Coke thanks for your feedback on the SixFix feedback for question 1 - have tightened up the answer a little so it doesn't stray too far from the question
04:17 yoleaux 20 Apr 2016 15:54Z <[Coke]> nige1: your feedback on the first sixfix includes things that aren't in the code snippet, btw.
04:17 yoleaux nige1: I'll pass your message to Coke.
04:31 jack_rabbit joined #perl6
04:33 ufobat joined #perl6
04:40 clkao_ joined #perl6
04:42 Spot___ joined #perl6
05:03 vendethiel joined #perl6
05:03 ufobat is there anything wrong with https://github.com/ufobat/Bailador/blob/master/lib/Bailador/App.pm#L6 ? because i cant install it with panda.. thoug the travis installation works :/
05:04 ufobat https://nopaste.me/view/5554656e
05:11 sortiz ufobat, Seems that your module Bailador::Exceptions should be in META.info provides, 'cus your are 'use'ing that, not the classes it includes.
05:11 ufobat i have 2 X::Bailador::... in Bailador/Exceptions.pm
05:11 ufobat how should it be in the meta
05:12 ufobat https://github.com/ufobat/Bailador/blob/master/META.info#L23
05:12 sortiz Yep, but you has 'use Bailador::Exceptions', not 'use X::Bailador...'
05:12 ufobat then my use is wrong?
05:14 sortiz Nop, I think that the installer/loader uses the "provides" names, 'cus don't know nothing about the symbols in there, so in META.info replace both X::Bailador with one Bailador::Exceptions
05:15 * ufobat obviously dont understand module loading and comp units so far
05:16 ufobat all right! i guess its the same for https://github.com/ufobat/Bailador/blob/master/META.info#L14 because Bailador::Routing is in Bailador/Route.pm i would remove this line as well
05:16 sortiz Yep, I think so.
05:17 ufobat :D thank you for helping me!
05:17 sortiz YW
05:28 ufobat and it works perfectly!
05:42 Actualeyes joined #perl6
05:43 aindilis joined #perl6
05:43 CIAvash joined #perl6
05:52 slobo joined #perl6
06:26 firstdayonthejob joined #perl6
06:28 domidumont joined #perl6
06:29 _mg_ joined #perl6
06:34 domidumont joined #perl6
06:41 _mg_ joined #perl6
06:46 wamba joined #perl6
06:51 domidumont joined #perl6
06:53 RabidGravy joined #perl6
06:55 moritz \o
06:56 domidumont joined #perl6
06:56 RabidGravy harr!
07:01 eyck joined #perl6
07:04 sortiz \o
07:07 masak morning, #perl6
07:08 zakharyas joined #perl6
07:11 moritz \o masak
07:11 devtom30 joined #perl6
07:14 cschwenz joined #perl6
07:14 cschwenz \o #perl6  :-)
07:17 ely-se joined #perl6
07:31 rindolf joined #perl6
07:35 darutoko joined #perl6
07:43 dakkar joined #perl6
07:44 araujo joined #perl6
07:53 sjoshi joined #perl6
07:54 abraxxa joined #perl6
08:05 buharin joined #perl6
08:05 buharin hello my friend
08:05 buharin :)
08:08 DrForr Morning.
08:08 buharin DrForr: got small gap
08:09 buharin I stopped learning perl6 by last time :(
08:10 _28_ria joined #perl6
08:15 DrForr Nothing to say you can't pick it up again :) Or come out to OSCON Austin where I'm teaching it :)
08:29 Relsak joined #perl6
08:36 tadzik I'm glad to see Bailador growing :) ufobat++
08:43 garu o/
08:44 DrForr +1 # I need to get back to my stuff...
08:44 RabidGravy yeah
08:44 DrForr Need to finish the tutorial first though.
08:47 RabidGravy MORE WEB FRAMEWORKS!
08:48 El_Che DrForr: your hitting the conference road hard. You also ask 100k $ for a talk like Hilary? :)
08:48 RabidGravy I on the other hand am having a momentary struggle with where to place the "cookie authentication" stuff for Sofa
08:51 DrForr I should, damnit.
08:52 darutoko- joined #perl6
08:53 lizmat joined #perl6
08:58 perlawhirl joined #perl6
08:59 dolmen joined #perl6
09:03 Sqirrel joined #perl6
09:05 dustinm` joined #perl6
09:12 zakharyas joined #perl6
09:19 brrt joined #perl6
09:29 dolmen joined #perl6
09:32 brabo joined #perl6
09:38 dalek specs: 73f566e | tadzik++ | S11-modules.pod:
09:38 dalek specs: [S11] Typo fix
09:38 dalek specs: review: https://github.com/perl6/specs/commit/73f566e8f6
09:52 tadzik hmm, who was it who used Pod declarator blocks but found them insufficient? Was it you, RabidGravy?
09:52 RabidGravy yeah
09:53 RabidGravy It does something really ugly with attributes, I may have another look at it at some point
09:54 tadzik I just read on S26 that the exact rendering of declarator blocks is supposed to be implementation dependent
09:54 tadzik so I'm looking for ways to improve it
09:54 tadzik since I clearly don't have to re-spec it :)
09:55 tadzik as in, I see no reason why the gunpowder tre^W^Wdeclarator blocks should be treated any differently from regular Pod paragraph lists
09:56 DrForr Remember, remember the POD of declarator.
09:58 * masak .oO( remember, remember, the fifth instance member )
09:59 RabidGravy yeah, it was the way that they were rendered by --doc that I didn't like, I'm sure it can be improved
09:59 DrForr masak: Yeah, having numbers felt like a cheat :)
10:01 * masak .oO( of gunpowder treason and cheats )
10:02 perlpilot_ joined #perl6
10:02 tadzik RabidGravy: it requires deeper digging, it seems. Rendering is one thing, but currently they're just made into a one big long string when they're being parsed
10:03 araujo joined #perl6
10:07 lucs m: class Foo { method postcircumfix:<{ }> ($s) { uc $s } } ; my $x = Foo.new; say $x<abc>; # How to get "ABC"?
10:07 camelia rakudo-moar a0a1e9: OUTPUT«Type Foo does not support associative indexing.␤  in block <unit> at /tmp/SLSwgnRiDf line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/SLSwgnRiDf line 1␤␤»
10:08 jnthn lucs: method AT-KEY($s)
10:09 timotimo right, the postcircumfix thing is a subroutine, not a method
10:10 timotimo used to be amethod iirc
10:10 lucs Aha, thanks.
10:10 timotimo half a year to one year ago that was changed
10:14 wamba joined #perl6
10:14 dalek joined #perl6
10:15 kaare_ joined #perl6
10:16 ocbtec joined #perl6
10:17 tadzik ooh, this is bad :|
10:17 tadzik I think I'll resort to post-processing it
10:17 tadzik naah
10:22 pecastro joined #perl6
10:25 dolmen joined #perl6
10:28 sno joined #perl6
10:36 brrt joined #perl6
10:43 ZoffixWin m: class Foo { multi postcircumfix:<{ }> (Foo $before, $inside) is export { uc $inside } }; import Foo; my $x = Foo.new; say $x{'abc'}
10:43 camelia rakudo-moar a0a1e9: OUTPUT«ABC␤»
10:44 ZoffixWin lucs, just an example of a custom postcircumfix. Won't let you use <> tho
10:44 ZoffixWin without quotes that is
10:46 darutoko joined #perl6
10:48 kid51 joined #perl6
11:00 telex joined #perl6
11:02 Timbus_ joined #perl6
11:03 mohae joined #perl6
11:03 araujo joined #perl6
11:08 telex joined #perl6
11:25 lucs ZoffixWin: Thanks.
11:36 geekosaur joined #perl6
11:39 domidumont joined #perl6
11:40 jevin joined #perl6
11:54 astj joined #perl6
12:01 g4 joined #perl6
12:20 wilcov joined #perl6
12:26 wilcov Hello #perl6 :)
12:29 lucs Wasn't able to golf this, but printing  $?FILE.IO  in a file named "Foo.pm6" shows something like ".../Foo.pm6 (Foo)"; where does that " (Foo)" come from?
12:32 lucs I saw this when trying to 'stat' the file, which fails with an error message like:
12:32 lucs stat: cannot stat `⋯/Foo.pm6 (Foo)': No such file or directory ⋯ in method get-stat at ⋯/Foo.pm6 (Foo) line 40
12:33 lucs (Yes, the file name is "Foo.pm6", not "Foo.pm6 (Foo)".)
12:38 nine_ lucs: oh, that's there to make backtraces more readable, despite using SHA hashes for the names of installed module files.
12:39 lucs Hmm... Yet, I can't stat the file :/
12:41 jnthn Why do you want to?
12:41 lucs I happen to want to know the file's owner/group.
12:42 lucs And what if I just want to print its name? Getting that extra " (Foo)" is unexpected.
12:44 nine_ Clearly a regression. The goal was to only change the annotations, not $?FILE
12:46 jnthn Yeah, though relying on $?FILE mapping to a path you can stat may still not be...well...reliable. I mean, if you have a CompUnit::Repo impl that pulls the files in other the network, or out of a fatpack, or something... :-)
12:47 zakharyas joined #perl6
12:47 jnthn I asked what the goal was mostly in case it was one of the questions %?RESOURCES answers, anyway :)
12:48 * nine_ just loves %?RESOURCES
12:49 brrt joined #perl6
12:49 * lucs goes back to his code to see why he needs to know the file ownership exactly.
12:53 sena_kun joined #perl6
12:56 cdg joined #perl6
13:01 rindolf joined #perl6
13:04 lucs Turns out what I really want is 'getlogin' or something, currently unavailable iiuc.
13:05 lucs I'll need another way to work around the workaround :)
13:09 lucs Um,  cd 「perl6 specs」; ack RESOURCES  # Nothing :(
13:14 lucs Oh well, for now, roughly:  return 'lucs.lucs'  :)
13:18 nine_ lucs: http://niner.name/talks/A%20look%20behind%20the%20curtains%20-%20module%20loading%20in%20Perl%206/Module%20loading%20in%20Perl%206.pdf page 31
13:19 lucs nine_: Hey, thanks.
13:19 takadonet morning all
13:20 nine_ lucs: you get extra points for submitting a pull request to https://github.com/perl6/doc for adding the docs to https://raw.githubusercontent.com/perl6/doc/master/doc/Language/variables.pod
13:22 sena_kun Hi, perl6. Can someone with a bit of a free time check latest rakudo PR?
13:22 [particle] left #perl6
13:27 [particle] joined #perl6
13:27 lizmat lucs: try RESOURCE  (without the s)
13:27 lizmat somehow I specced %RESOURCE instead of %RESOURCES
13:28 lizmat or: v.v., nine implemented RESOURCES instead of RESOURCE  :-)
13:28 nine_ And I don't actually know why...
13:28 nine_ Probably just misremembered and noone noticed ;)
13:29 lizmat yeah, I don't really have a preference for the name  :-)
13:30 nine_ Yep. 25 years of coding experience and I still don't know if I prefer signular or plural for such names
13:31 jnthn Heh, that's 1 more year than I have. :)
13:32 jnthn I don't know either, and I guess 1 more year isn't going magically give me the answer. :-)
13:32 nine_ Maybe another 25 :)
13:32 jnthn I'm generally less inclined in Perl because the sigil implies plurality
13:33 nine_ And %?RESOURCE<foo> is one specific resource...
13:35 araujo joined #perl6
13:36 araujo joined #perl6
13:38 araujo joined #perl6
13:38 araujo joined #perl6
13:38 lizmat nine_ : and I think that was the reason I specced without the S
13:39 nine_ lizmat: we can fix it in Perl 7 ;)
13:39 nine_ .oO(RFC 1?)
13:39 lizmat as I said, no hare preference  :)
13:41 skids joined #perl6
13:44 * lucs gets off the phone.
13:45 lucs lizmat: Aha, yep, RESOURCE I see.
13:46 lucs nine_: Do you mean a pull request adding the relevant parts of your PDF to variables.pod?
13:48 nine_ lucs: yes
13:48 El_Che I see lizmat on photo's while she's chatting here. I live in the future :)
13:48 El_Che lizmat: how is the qa?
13:48 lizmat there's photo's?
13:49 araujo joined #perl6
13:49 El_Che https://pbs.twimg.com/media/CgjUWJsW4AAwxXD.jpg
13:51 lizmat ah, that was during the intro...  :-)
13:52 lizmat we're all hard at work now...  :-)
13:56 jnthn heh, somebody's taking a photo of the person taking that photo :P
13:57 * [Coke] begins the coffee cycle anew.
13:58 * lizmat takes that as a cue to get tea
13:59 nine_ The picture makes me regret all the more that I couldn't join you this year :/
14:01 geekosaur joined #perl6
14:02 jnthn oooh, tea :)
14:06 mst nine_: most disappointing, means I've not got anybody to borrow a robe and wizard hat from :P
14:07 El_Che oh, this is the working pic: https://pbs.twimg.com/media/CgjjIVaWwAAMUIG.jpg
14:09 [Coke] OOOOH, it's the best part of work today!
14:11 MadcapJake what event was that?
14:13 DrForr The end?
14:13 [Coke] close, payday. :)
14:14 tadzik MadcapJake: Perl QA Hackathon, currently happening :)
14:14 MadcapJake cool!
14:15 tadzik and they have hackathon laptop stickers!
14:15 tadzik best thing ever
14:15 MadcapJake nice! What does QA stand for?
14:15 MadcapJake ah Quality Assurance
14:16 tadzik yeah
14:16 tharkun joined #perl6
14:18 tadzik http://imgur.com/SNSJniJ sticker <3
14:19 ilmari nice
14:19 MadcapJake sweeet
14:27 AlexDaniel joined #perl6
14:32 AlexDaniel Perl 7? Did somebody mention Perl 7? Yeah, that would be great! We can probably say that we will release it on centenary (… but we will not specify which one).
14:32 yoleaux 20 Apr 2016 18:08Z <teatime> AlexDaniel: ooo! I have new/interesting info re: our convo about unicode character names (e.g., U+2019) … help me remember to tell you.
14:32 AlexDaniel teatime: ↑
14:33 geekosaur joined #perl6
14:51 aries_liuxueyang joined #perl6
14:53 brrt joined #perl6
14:57 tadzik https://github.com/perl6/modules.perl6.org is "forked from masak/proto". That brings back memories <3
15:08 zakharyas joined #perl6
15:08 sue joined #perl6
15:12 wamba joined #perl6
15:18 MadcapJake how can you uses the trusts keyword if your classes are in separate files? wouldn't that just cause a circular dependency?
15:26 tadzik m: unit class bass; metohd foo(Str() $arg) { ... }
15:26 camelia rakudo-moar fe2be6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vCd2fYYv61␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/vCd2fYYv61:1␤------> 3unit class bass; metohd foo(Str()7⏏5 $arg) { ... }␤    expecting any of:␤        in…»
15:26 tadzik m: unit class bass; metohd foo($arg) { ... }
15:26 camelia rakudo-moar fe2be6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qxN0V735k9␤Variable '$arg' is not declared␤at /tmp/qxN0V735k9:1␤------> 3unit class bass; metohd foo(7⏏5$arg) { ... }␤»
15:27 tadzik these error messages seem a bit LTA; in the perfect world I'd prefer to see "There's no such thing as «metohd», did you mean «method»?"
15:27 tadzik but I have no idea how you'd detect that. Then again, I have no idea why do you get this sort of error messages :)
15:27 jnthn yeah...not sure what the best way to make that happen is...
15:27 tadzik I mean, it probably things metohd is a name of a sub that gets declared later on
15:27 jnthn Well, you get the second one becuase
15:27 jnthn m: foo bar($arg)
15:27 camelia rakudo-moar fe2be6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/V35gqsR9uw␤Variable '$arg' is not declared␤at /tmp/V35gqsR9uw:1␤------> 3foo bar(7⏏5$arg)␤»
15:28 tadzik yeah
15:28 MadcapJake does trusts work for private variables or just private methods?
15:28 jnthn MadcapJake: Just private methods
15:29 jnthn MadcapJake: And no, it doesn't work across files short of augment. Personally I consider that a feature :P
15:29 MadcapJake oh! bummer :\
15:30 MadcapJake I have these modularized components but they have a "raw" nativecall layer underneath that I want to keep away from the users but I wanted to at least allow the other components to get at them
15:31 jnthn Just put the nativecall layer in a lexical class, import it into the other modules and use it?
15:31 jnthn And then it won't be exported to consumers of the top-level module(s) or visible in GLOBAL?
15:31 jnthn So they'd have to explicitly import the nativecall layer to see it
15:31 MadcapJake well it's stateful though, so I need the specific instance of the other components
15:32 jnthn How does its lifetime relate to the other components?
15:33 MadcapJake One of them is a Tree and the other is a Node and another is a Collection (of nodes).
15:34 jnthn And the stateful nativecall layer's state is scoped to...the tree?
15:34 jnthn Or something else?
15:36 MadcapJake yeah to the tree, the parser and the tree allow me to get pointers to the other bits but I am right now implementing the sugary outer-coating of this module :) so I wanted to keep my constructors minimal
15:36 jnthn So, what did you want to trust?
15:37 jnthn The nativecall layer from the tree/parser?
15:37 MadcapJake Collection trusts Tree (so that I can build Node instances inside Collection)
15:39 MadcapJake I'll just have to include extra named arguments in my constructor for the Tree
15:42 MadcapJake After rereading your comments, I think you're saying create a module that stores the pointers to the needed bits and then just include those into my sugary classes, right?
15:43 jnthn MadcapJake: Yeah, something like that
15:43 jnthn MadcapJake: And make it a "my" class so that it's not put in GLOBAL
15:43 jnthn So you hide it from those who aren't looking for it
15:44 cdg joined #perl6
15:44 MadcapJake and you can export a "my" class just the same?
15:46 jnthn yes
15:46 jnthn Just have to explicitly label it "is export"
15:46 MadcapJake Sweet! Didn't know that was possible! :)
16:01 khw joined #perl6
16:02 araujo_ joined #perl6
16:08 * teatime seems, sadly, to have missed AlexDaniel's most recent appearance.
16:16 leont joined #perl6
16:16 MadcapJake what's this mean: Autovivifying object closures not yet implemented. Sorry.
16:17 mst I understand all of the words, but in the absence of code I can't guess exactly what it means
16:17 [Coke] MadcapJake: at one point we tried hard to throw nice NYI exceptions for things that we hadn't done yet.
16:17 MadcapJake «my $raw-col = do if Tag{$tag}⏏:exists {»
16:18 MadcapJake I've implemented EXISTS-KEY for the Tag class
16:19 jnthn MadcapJake: Tag{...} is reserved syntax
16:19 MadcapJake oh :\
16:19 jnthn MadcapJake: As is Tag[...] (parameterized type) and Tag(...) (coercion type)
16:19 jnthn Yeah, back to the "not enough bracket chars in ASCII" problem again
16:20 jnthn Tag.{$tag}:exists will force the interpretation you want
16:21 MadcapJake ohh! As in the postcircumfix on a class is reserved
16:23 jnthn Right
16:27 Xliff m: $v = 4.30221892377; $v.WHAT.say
16:27 camelia rakudo-moar fe2be6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ArT2m80NPr␤Variable '$v' is not declared␤at /tmp/ArT2m80NPr:1␤------> 3<BOL>7⏏5$v = 4.30221892377; $v.WHAT.say␤»
16:27 Xliff m: my $v = 4.30221892377; $v.WHAT.say
16:27 camelia rakudo-moar fe2be6: OUTPUT«(Rat)␤»
16:27 Xliff m: my $v = 4.30221892377; $v.WHAT.say; say $v.NUM
16:27 camelia rakudo-moar fe2be6: OUTPUT«(Rat)␤Method 'NUM' not found for invocant of class 'Rat'␤  in block <unit> at /tmp/11IkZR1Pgj line 1␤␤»
16:28 Xliff m: my $v = 4.30221892377; $v.WHAT.say; say $v.Num
16:28 camelia rakudo-moar fe2be6: OUTPUT«(Rat)␤4.30221892377␤»
16:28 Xliff m: my $v = 4.30221892377; sat $v ~~ Num;
16:28 camelia rakudo-moar fe2be6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jGqfgGwZ4d␤Undeclared routine:␤    sat used at line 1. Did you mean 'set', 'say'?␤␤»
16:28 Xliff m: my $v = 4.30221892377; say $v ~~ Num;
16:28 camelia rakudo-moar fe2be6: OUTPUT«False␤»
16:28 Xliff Hum.
16:28 Xliff How can I determine if a Rat is a valid Num?
16:30 tadzik numify it? :)
16:30 lizmat m: say (42/0).Num
16:30 camelia rakudo-moar fe2be6: OUTPUT«Inf␤»
16:30 tadzik m: (1/0).Num
16:30 camelia rakudo-moar fe2be6: ( no output )
16:30 tadzik m: say (1/0).Num ~~ Num
16:30 camelia rakudo-moar fe2be6: OUTPUT«True␤»
16:30 tadzik I'm pretty sure it's always true :)
16:31 lizmat isn't Num a superset of Rat ?
16:32 Xliff m: my $v = 4.30221892377; say $v.Num ~~ Num;
16:32 camelia rakudo-moar 463e75: OUTPUT«True␤»
16:34 jnthn lizmat: No, that's Numeric
16:35 jnthn Rat ~~ Num will never be true; Num is floating point representation, Rat is rational
16:38 * teatime notes that $some-num.Rat can easily fail, whereas I'm no sure $some-rat.Num ever would
16:38 teatime although $some-rat.Num is can easily be very lossy.
16:38 TimToady conversion from Rat to Num usually loses information, so it usually loses enough info to not fail
16:39 Actualeyes joined #perl6
16:39 * teatime experience that exciting moment where you say something almost the same as someone smart ;)
16:39 ilmari m: say 2.sqrt.Rat
16:39 camelia rakudo-moar 463e75: OUTPUT«1.414213␤»
16:40 * TimToady is not so smart; mostly he's just smartmouthed
16:41 ilmari how can $num.Rat fail given that any finite-digit number is rational
16:41 leont I'm looking into getting rid of the perl5 script involved in the build process. gen-version is trivially short, but rather complicated by needing to be written in NQP. Can anyone come up with a way to get the date (strftime-like) from NQP?
16:41 TimToady ilmari: at minimum, it can fail to give you back the original value :)
16:42 teatime TimToady: I'd like to clarify the intended behavior of operations on Duration objects via a patch for S02 & S32, to go along w/ operator implementations & test cases for same;  any suggestions or desires in that regard?  I have a PR sitting in rakudo right now that made a first stab at the operators, but gonna change some of the semantics slightly (and clean it up)
16:42 ilmari TimToady: yeah, but that's not what I thought teatime meant
16:42 jnthn leont: How do you get what you want in Perl 6?
16:42 TimToady teatime: I'm a bit leary of starting down the whole dimensional analysis road without a comprehensive design...
16:43 teatime hrm, perhaps I was just wrong ilmari
16:43 ilmari m: say 2.sqrt; say 2.sqrt.Rat
16:43 camelia rakudo-moar 463e75: OUTPUT«1.4142135623731␤1.414213␤»
16:43 teatime TimToady: I'm offerring free comprehensive design ;)  tbh, it's not very complex, there are only a couple of interesting cases.
16:43 teatime TimToady: I have put a lot of thought into it over the past couple of weeks :)
16:43 xinming joined #perl6
16:43 TimToady so you'll handle everything in the units file? :)
16:43 teatime TimToady: if you like, i can write up an executive summary of what I think the best semantics behavior
16:44 jnthn leont: (Then I can look how it does it and give you an NQP equivalent, I guess :))
16:44 teatime heh... perhaps if I knew what the units file was?
16:44 leont jnthn: I'd probably use a Datetime.now.formatter, but I don't think that's available in nqp
16:44 teatime is there actually, like, a unit-tracking subsystem in P6?  surely I haven't overlooked that..
16:46 teatime TimToady: so anyway, yeah... I'd write up a brief but complete description of what I think Duration etc. should do, and let you yay/nay it.  I beleive you will be happy/satisfied.
16:46 teatime er *I'll
16:47 jnthn leont: ah, no, and that's probably a decent bit of logic
16:48 nige1 joined #perl6
16:50 TimToady teatime: I mean a file like /usr/share/units/definitions.units on my system
16:50 TimToady that's what I think of when someone uses the word "comprehensive" :)
16:51 TimToady (well, in regard to dimensional analysis, anyway)
16:52 TimToady (I don't think of that file when someone says "comprehensive" wrt my car insurance...)
16:54 teatime well, almost all of the * and / and % operations on Durations naturally end up returning durations.  a few naturally return a dimensionless numbers instead.  one would a value in a mostly-meaningless dimension of time², but that operations is confirmed to be used sometimes, so shouldn't fail.  and another wants to retun units we don't have (frequency).
16:54 tadzik hah, I tried the qt profiler with new profile and it dies with floating-point exception :D
16:55 tadzik timotimo: I think I remember you talking about updating it to a new format?
16:56 timotimo the what now?
16:56 timotimo oh
16:56 teatime my strategy is, 1) number (of seconds) should be accepted anywhere a Duration would be, 2) Duration should gracefully become a Rat etc. when used that way (as the spec already says), 3) operations on Duration that would naturally return a Duration or a unitless number do exactly that.  less meaningful ones, just return numbers.  Thanks to points 1 and 2, I believe this will make stuff Just Work, *and* you get
16:56 teatime the dimensionally-correct return values in case you care.
16:56 timotimo yes, i've pulled out filename, line number and routine name into a separate lookup table, because they were repeated over and over and over and over again :)
16:57 domidumont joined #perl6
16:57 teatime note: this strategy is not what is in my current PR, so I should prolly withdraw it.
16:57 timotimo and something else was changed in the same way, but i forgot what
16:57 timotimo should be easy enough for you to find the offending commit by blaming or historying the profiler .html file or HLL::Backend or what has it
16:57 timotimo (inside moar of course)
16:58 ZoffixWin_ joined #perl6
16:59 timotimo er. i mean in nqp, but in src/vm/moar
17:00 teatime TimToady: fwiw, there's a little contradiction (and lots of unspecified behavior) in the current S32/S02, and the present-day Duration in rakudo has some really undesirable behavior... like, ($dur1 / $dur2) passes through Num so randomly loses, rather than dividing Rat's.
17:02 Praise joined #perl6
17:02 Praise joined #perl6
17:02 teatime TimToady: if you think there's zero chance of getting such a change in, I won't bother, but if you're willing to srsly consider my final doc/test/rakudo diffs I'm more than happy to do it.  it will be educational for me regardless.
17:02 ranguard joined #perl6
17:03 telex joined #perl6
17:04 awwaiid joined #perl6
17:05 skaji joined #perl6
17:06 pierrot_ joined #perl6
17:06 TimToady well, fershure dividing two rationals should try to stay rational, though it's pretty easy to blow through a 64-bit denominator
17:06 TimToady and it really kinda depends on the practical use of the division, since Num has plenty of precision for most practical uses of durations
17:06 Praise joined #perl6
17:06 Praise joined #perl6
17:07 teatime well, for one thing, it greatly reduces the practically useful precision available in the Duration type
17:08 teatime iirc from something that should cover just about every possible use-case for durations of time (5 attoseconds or soemthing), to something closer to microseconds.
17:08 tharkun joined #perl6
17:08 TimToady unless you're dealing with femto-seconds for some laserly reason
17:08 TimToady and for most E = mc² calculations you're gonna set c to 1 anyway :)
17:08 teatime but, the fact that the 2 rats don't do rat division was so disgusting to me that I never stopped to consider if it would ever actually practically matter, heh.
17:08 dolmen joined #perl6
17:09 dalek joined #perl6
17:09 noganex joined #perl6
17:10 mohae_ joined #perl6
17:10 jack_rabbit joined #perl6
17:11 PotatoGim joined #perl6
17:12 tadzik they don't?
17:12 jnthn This week's Perl 6 work blog post: https://6guts.wordpress.com/2016/04/21/framing-the-problem/
17:12 domm__ joined #perl6
17:12 tadzik yay
17:12 retup__ joined #perl6
17:13 teatime (1 ÷ 2⁶⁴-1) is 5.42 × 10⁻²⁰, as seconds that's smaller than an attosecond (= 1 × 10⁻¹⁸ s), which is good because it means it covers pretty much every conceivable scenario (“As of May 2010, the smallest time interval uncertainty in direct measurements is on the order of 12 attoseconds (1.2 × 10⁻¹⁷ seconds), about 2.2 × 10²⁶ Planck times.” <from wikipedia>   and it's not *so much*
17:13 teatime overly-precise that it really wastes space.
17:13 firstdayonthejob joined #perl6
17:13 leont_ joined #perl6
17:13 TimToady (Int / UInt64) / (Int / UInt64) would turn into (Int / UInt64) * (UInt64 / Int), is my point, and multiplying the denominators is going to exceed 64 bits pretty quick, so even if we force it back into Rat (rather than FatRat) we'd have to approximate
17:13 teatime since you already have that for your Duration type, randomly-gimping it into microsecond-ish precision seems like an unfortunate thing to do.
17:13 TimToady just trying to make an argument for Num here, not against doing Rat when we can
17:14 teatime TimToady: not sure I tried it but I have every reason to beleive that dur * dur would go through the same .Num conversion and thus lose, in current rakudo
17:15 geekosaur joined #perl6
17:15 * teatime notes that the figures above were already handy in his notes on this topic :)
17:16 Xliff Wow!
17:16 Xliff Prince died!
17:16 teatime oh, word?  hrm, that's unexpected (to me)
17:16 * Xliff sobs.
17:16 teatime my name is also Prince, so I've always felt a kind of connection, heh.
17:17 Xliff Now TMZs front page is 503
17:17 Xliff Ėveryone else is just saying that there "has been a death at Paisley Park"
17:18 teatime TimToady: is there like, a performance benefit to doing the operations on Num's rather than Rat's?
17:18 remmie2 joined #perl6
17:19 Xliff http://www.billboard.com/articles/news/7341522/prince-dead
17:19 telex joined #perl6
17:19 Xliff 57. Way too young.
17:19 pnu_ joined #perl6
17:19 khagan joined #perl6
17:21 Xliff I wonder. If we get a computer that can accurately measure in planck seconds....would that be the Matrix?
17:21 eyck joined #perl6
17:22 cdg joined #perl6
17:22 * leont_ is surprised to discover IO::Handle doesn't have a printf method
17:24 mindos joined #perl6
17:24 molaf joined #perl6
17:24 6JTAACLKH joined #perl6
17:30 caasih joined #perl6
17:32 chris2 joined #perl6
17:44 lizmat joined #perl6
17:44 cdg joined #perl6
17:47 teatime Xliff: so, my recent research has revealed, that planck seconds don't actually have any particular significance
17:47 teatime Xliff: it's not a fundamental limit on anything etc etc. in the same way the planck length is.
17:55 moritz what's the fundamental limit that a planck length imposes?
17:55 moritz so far everything I heard about it sounded pretty much like speculation, not established theory/consensus
18:04 teatime my mistake moritz, you're right; IANAP
18:04 teatime I thought it was like the theoretically smallest measurable distance or something
18:05 arnsholt Smallest distance something can move, I think?
18:05 moritz arnsholt: that's the speculation, yes. So like a space quantization
18:05 moritz but that's it, speculation
18:05 moritz it's not like there's a compelling theory where everything sudeenly made sense if only space was quantified
18:05 moritz at least not that I know of
18:06 MadcapJake did you read the latest on the emdrive? There were some bits about quantization in there
18:06 moritz MadcapJake: no
18:06 MadcapJake https://www.technologyreview.com/s/601299/the-curious-link-between-the-fly-by-anomaly-and-the-impossible-emdrive-thruster/
18:08 Xliff teatime, so space can be quantized, but not time?
18:08 teatime fiik
18:08 Xliff ^_^
18:09 Xliff Well, it follows that if the planck length is the smallest measurable amount of distance, then the planck time should be the smallest measurable amount of time.
18:09 Xliff But there I go....attempting to inject logic where it has no business going (ie quantum physics)
18:10 * Xliff is still bummed about Prince dying.
18:10 teatime I just know wikipedia and #physics told me it has no particular/especial significance, beyond, as wikipedia puts it, it "represents a rough time scale at which quantum gravitational effects are likely to become important."
18:10 MadcapJake planck time is the time it would take for a photon to travel (at speed of light) the distance of the planck length
18:10 teatime Xliff: I'm not even a fan or anything, my emotional reaction to this news is entirely rooted in the life-time of dumb jokes that have revolved around my last name being Prince.
18:11 Xliff MadcapJake, given that the speed of light is the fastest you can go, then it would follow that a planck second is the smallest measurable amount of time.
18:11 MadcapJake Xliff: righto
18:11 Xliff teatime: I am a huge Prince fan.
18:11 MadcapJake except apparently inside an emdrive :P
18:11 teatime the set of 'weird things Prince is doing or planning to do in my name' is no longer unbounded :/
18:12 Xliff 1999 was the album that changed my life.
18:12 timotimo ;(
18:12 Xliff teatime: Ah. I grok.
18:12 * teatime considers changing his name to some unpronouceable symbol in homage.
18:12 Xliff Still....
18:12 Xliff <- depressed.
18:12 Xliff MadcapJake, emdrive? I saw a link about that, earlier.
18:12 Xliff Maybe I should read.
18:13 teatime sadly, the "unpronouncable" requirement eliminates every Unicode codepoint from consideration, since they all have well-established names.
18:13 teatime ... perhaps it could be an NFG grapheme, of particular complexity that would make it difficult to pin down a name for
18:13 MadcapJake Xliff: it's a propulsion device that shouldn't work but does
18:14 Xliff "Shouldn't work" because we just don't have the physics for it yet.
18:14 Xliff I am unimpressed....with the naysayers.
18:14 MadcapJake Xliff: no, because our model says it shouldn't work :P
18:14 Xliff But it does, right?
18:14 MadcapJake Xliff: right, it just requires that the speed of light can change and that photons have mass :P
18:14 Xliff Let me finish reading the article before I stick my foot in your mouth.
18:15 Xliff =)
18:15 MadcapJake haha
18:16 Xliff "The EmDrive, it seems, really does produce thrust."
18:16 Xliff And nope. No one is in there pushing the sides to do it.
18:16 MadcapJake hehe
18:16 Xliff "And last year, NASA conducted its own tests in a vacuum to rule out movement of air as the origin of the force. NASA, too, confirmed that the EmDrive produces a thrust. In total, six independent experiments have backed Shawyer’s original claims."
18:17 Xliff So...MadcapJake. Sounds like the model has a bug in it!
18:17 MadcapJake Xliff: more than a bug, a faulty spec :P
18:17 Xliff LOL!
18:19 Xliff "That’s an interesting idea. Shawyer’s EmDrive has the potential to revolutionize spaceflight because it requires no propellant, the biggest limiting factor in today’s propulsion systems. But in the absence of any convincing explanation for how it works, scientists and engineers are understandably wary."
18:19 Xliff o_O
18:20 MadcapJake isn't that crazy!? Sci-fi IRL!
18:21 Xliff https://www.technologyreview.com/s/601263/why-a-chip-thats-bad-at-math-can-help-computers-tackle-harder-problems/
18:21 Xliff The one below it is also .... dubious
18:21 Xliff Math-fi. IRL! That might be useful!
18:22 * MadcapJake hopes that Math-fiction never becomes a thing...
18:22 Xliff You too can take DARPA's money.
18:22 Xliff So says Joseph Bates, cofounder and CEO of Singular Computing, a company whose computer chips are hardwired to be incapable of performing mathematical calculations correctly. Ask it to add 1 and 1 and you will get answers like 2.01 or 1.98.
18:24 MadcapJake Interesting quote in the HN comments: A scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die and a new generation grows up that is familiar with it. -- Max Planck
18:24 Xliff I would do it in perl6, but I would need to figure out a way of getting the proper infix:<+> to work inside my redefinition of infix:<+>
18:26 cschwenz joined #perl6
18:27 Xliff m: class FussyNum does Num {};
18:27 camelia rakudo-moar 463e75: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oPQ3E_5XVe␤Num is not composable, so FussyNum cannot compose it␤at /tmp/oPQ3E_5XVe:1␤»
18:28 MadcapJake m: class FussyNum is Num {}
18:28 camelia rakudo-moar 463e75: ( no output )
18:28 Xliff Oh.
18:30 Xliff m: class FussyNum is Num {}; sub infix:<+>(FuzzyNum $a, FuzzyNum $b) { $a.Num + $b.Num + rand() ** rand() }; my FuzzyNum $a = 1; my FuzzyNum $b = 1; say $a + $b
18:30 camelia rakudo-moar 463e75: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6z4ZpmtXJ_␤Invalid typename 'FuzzyNum' in parameter declaration. Did you mean 'FussyNum'?␤at /tmp/6z4ZpmtXJ_:1␤------> 3ssyNum is Num {}; sub infix:<+>(FuzzyNum7⏏5 $a, FuzzyNum $b) { $a.Num + $b.Num …»
18:30 Xliff m: class FuzzyNum is Num {}; sub infix:<+>(FuzzyNum $a, FuzzyNum $b) { $a.Num + $b.Num + rand() ** rand() }; my FuzzyNum $a = 1; my FuzzyNum $b = 1; say $a + $b
18:30 camelia rakudo-moar 463e75: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tKuxMlGQcH␤Unsupported use of rand(); in Perl 6 please use rand␤at /tmp/tKuxMlGQcH:1␤------> 3a, FuzzyNum $b) { $a.Num + $b.Num + rand7⏏5() ** rand() }; my FuzzyNum $a = 1; my F␤»
18:30 MadcapJake Xliff: rand is a bare term not a sub
18:32 Xliff Now the trick is figuring out how to initialize a FuzzyNum
18:32 Xliff Coz even though there is the "is Num"
18:32 MadcapJake FuzzyNum.new(1) and then in the infix you'll need to take the internal rep
18:33 Xliff Wow.
18:34 Xliff OUTPUT«Memory allocation failed; could not allocate 111088 bytes␤»
18:34 bduggan joined #perl6
18:34 Xliff How do you get the internal rep?
18:39 Xliff And trying to coerce to num64 doesn't do as expected. "my num64 $ai = $a" ==> OUTPUT«Type check failed in binding $a; expected FuzzyNum but got Num (1e0)»
18:41 MadcapJake yeah not sure, closest i can get is:
18:42 timotimo RabidGravy: i'm now sitting in front of a keystation mini 32 by m-audio, and it's a surprising difference between piano-keys and keyboard-keys
18:42 timotimo the way you touch them alone; flat instead of from the top
18:42 MadcapJake my class BadNum is Num { has Int $.i; }; sub infix:<+>(BadNum $x, BadNum $y) { $x.i * rand + $y.i + rand }; my $one = BadNum.new:i(1.0); my $two = BadNum.new:i(2.0); say $one + $two
18:42 MadcapJake m: my class BadNum is Num { has Num $.i; }; sub infix:<+>(BadNum $x, BadNum $y) { $x.i * rand + $y.i + rand }; my $one = BadNum.new:i(1.0); my $two = BadNum.new:i(2.0); say $one + $two
18:42 camelia rakudo-moar 463e75: OUTPUT«Invocant requires an instance of type Num, but a type object was passed.  Did you forget a .new?␤  in sub infix:<+> at /tmp/_SjrlMkUbk line 1␤  in block <unit> at /tmp/_SjrlMkUbk line 1␤␤»
18:43 MadcapJake m: my class BadNum is Num { has Num $.i; }; multi sub infix:<+>(BadNum $x, BadNum $y) { $x.i * rand + $y.i + rand }; my $one = BadNum.new:i(1.0); my $two = BadNum.new:i(2.0); say $one + $two
18:43 camelia rakudo-moar 463e75: OUTPUT«Invocant requires an instance of type Num, but a type object was passed.  Did you forget a .new?␤  in sub infix:<+> at /tmp/Qp6aTh3qWM line 1␤  in block <unit> at /tmp/Qp6aTh3qWM line 1␤␤»
18:43 timotimo MadcapJake: if you want to have : and a pair, you'll need :: instead of :
18:44 MadcapJake m: my class BadNum is Num { has Num $.i; }; multi sub infix:<+>(BadNum $x, BadNum $y) { $x.i * rand + $y.i + rand }; my $one = BadNum.new::i(1.0); my $two = BadNum.new::i(2.0); say $one + $two
18:44 camelia rakudo-moar 463e75: OUTPUT«Cannot dispatch to method i on Failure because it is not inherited or done by BadNum␤  in block <unit> at /tmp/DZVJ2k9Hga line 1␤␤»
18:46 sno joined #perl6
18:47 MadcapJake what a year for deaths of famous musicians :\
18:49 RabidGravy timotimo, much better than playing on a PC keyboard, you can actually see the notes
18:49 cschwenz from http://blogs.perl.org/users/zoffix_znet/2016/04/perl-6-types-made-for-humans.html , "This can be useful to detect whether a method is called on the class or on the instance by having two multies with :U and :D on the invocant."  where does said :U or :D get placed in the mulit method definition?
18:50 ZoffixW joined #perl6
18:50 ZoffixW cschwenz, on the invocant
18:50 RabidGravy like:   method(Foo:D: )
18:50 timotimo RabidGravy: i can almost see the notes on my keyboard :P
18:51 ZoffixW m: class Foo { multi method bar (Foo:U:) { 'class' }; multi method bar (Foo:D:) { 'instance' } }; say Foo.bar; say Foo.new.bar
18:51 camelia rakudo-moar 463e75: OUTPUT«class␤instance␤»
18:51 cschwenz aha
18:51 cschwenz i was writing "multi method bar:U …"
18:52 cschwenz thanks for the example :-)
18:52 ZoffixW No problem
18:57 timotimo RabidGravy: what's the simplest way i could stream my fumbling and foolishness to a friend?
18:58 mcsnolte joined #perl6
19:00 RabidGravy icecast on some public server
19:00 timotimo i wonder if hack is a server i'd be allowed to put this onto. though i could also just put it onto my home desktop
19:01 RabidGravy if you can open a port then that would work
19:01 timotimo yes, i can
19:02 timotimo how best to get audio from sunvox to the icecast server?
19:03 RabidGravy normally you'd use a source client like darkice which takes some input then sends it to the icecast
19:04 RabidGravy typically the input would be from jack or pulseaudio
19:05 RabidGravy I think sunvox will output to jack
19:06 cschwenz joined #perl6
19:07 timotimo it will, yes
19:07 timotimo anything that's packaged in fedora that could pump my audio data to the icecast server?
19:08 timotimo "ices"? "ezstream"?
19:08 RabidGravy simplest way is to start jack with qjackctl, configure darkice tro use jack as an input, start sunvox, then use qjackctl to connect the output of sunvox to the darkice
19:08 timotimo i can't install darkice, it's not packaged
19:09 timotimo there is a copr, though
19:09 timotimo *sigh* i'll build it from source
19:11 vike joined #perl6
19:11 RabidGravy ezstream definitely won't work
19:12 timotimo that would have been too ez
19:12 RabidGravy Hm I thought there was a package for darkice
19:13 RabidGravy if you install from source make sure you install jack-audio-connection-kit-devel first
19:13 timotimo yeah
19:14 timotimo i'm hunting all the dependencies already
19:15 RabidGravy http://ccrma.stanford.edu/planetccrma/software/installplanettwenty.html#SECTION00020200000000000000 may help, there is a 23 despite the page
19:16 timotimo well, darkice starts, but it tells me it needs a config and doesn't tell me anything about what that config is supposed to look at
19:16 timotimo look like*
19:17 timotimo the darkice website has nothing remotely like a manual
19:17 RabidGravy 'ang on
19:18 timotimo but an INSTALL file
19:18 timotimo oh, it's just the default one that comes with autotools or whatever
19:19 _mg_ joined #perl6
19:19 timotimo a manpage for the .cfg file exists
19:20 _mg__ joined #perl6
19:21 RabidGravy https://gist.github.com/jonathanstowe/c618c140ee262323b0f933b11069bfc7 -  you just need to adjust the server values in the icecast-2.0 section
19:21 timotimo do i configure for icecast or icecast-2?
19:21 RabidGravy icecast-2
19:21 timotimo TYVM
19:22 timotimo bah, mp3 stream :P
19:22 spider-mario joined #perl6
19:23 RabidGravy icecast can do vorbis, opus and webm as well - depends what you build the darkice with to what you can stream
19:23 RabidGravy oh and aac
19:25 timotimo opus would be interesting. can chrome receive that?
19:25 RabidGravy dunno
19:26 timotimo i'd probably have to stop pulseaudio?
19:26 timotimo i could probably get it to work with pulse, too
19:28 RabidGravy possibly, I've got a feeling the fedora build of jackd does something like stop the pulseaudio or the pulseaudio knows to give up the sound card or something
19:28 RabidGravy but yes jackd wants exclusive access to the sound card
19:29 RabidGravy though you can use the dummy driver or another soundcard or something
19:30 timotimo i want to hear stuff with my own ears, too, while playing
19:34 geekosaur pulseaudio can be configured to yield the audio device to something that accesses it directly, fwiw
19:34 timotimo i'm now trying to be able to both listen to and also record from the program ...
19:36 teatime .tell alexdaniel grr, missed you... remind me again, I don't want to forget ;)
19:36 yoleaux teatime: I'll pass your message to alexdaniel.
19:36 Xliff m: class FuzzyNum { has Num $.i; method new ($i) { self.bless(:$i)  }; submethod BUILD(:$i){}; }; sub infix:<+>(FuzzyNum $a, FuzzyNum $b) { $a.i + $b.i + rand ** rand }; my FuzzyNum $a .= new: 1e0; my FuzzyNum $b .= new: 1e0; say $a.WHAT; say $b.WHAT;  say $a + $b
19:36 camelia rakudo-moar 463e75: OUTPUT«(FuzzyNum)␤(FuzzyNum)␤Type check failed in binding $a; expected FuzzyNum but got Num (Num)␤  in sub infix:<+> at /tmp/k9BNKoOuXJ line 1␤  in sub infix:<+> at /tmp/k9BNKoOuXJ line 1␤  in block <unit> at /tmp/k9BNKoOuXJ line 1␤␤»
19:36 Xliff Hunh?
19:36 zakharyas joined #perl6
19:37 RabidGravy geekosaur, that'll be what it does on fedora then :)
19:39 dogbert2 o/ #perl6
19:39 dogbert2 anyone up for a documentation question or two?
19:40 perlpilot dogbert2: 42
19:40 perlpilot :)
19:40 dogbert2 why is sprintf documented under Str and not Cool?
19:40 timotimo why is the error message so unhelpful? "Failure: Module initialization failed" >:(
19:41 [Coke] dogbert2: I wouldn't assume anything in docs layout is particularly intended.
19:41 tadzik Fwiw, neither does panda :)
19:41 tadzik (ignore that :))
19:41 dogbert2 Str.^methods does not show sprintf while Cool.^method does
19:42 perlpilot dogbert2: but the "s" in "sprintf" stands for "string" and people still associate it with strings.
19:42 timotimo oh, i could just leave the "sink" off and it's fine
19:42 perlpilot dogbert2: that's not a *reason* btw, but more of a rationalization.
19:43 dogbert2 perlpilot: true, it's just that it's not there
19:43 dogbert2 maybe it doesn't matter much but if I was to add docs for printf should I put it under Str as well?
19:45 cschwenz okay so, after putting kids to bed, i'm now trying to modify ZoffixW's example to allow the methods to accept named parameters.
19:45 cschwenz p6: class Foo { has Str $.qux; multi method bar(Foo:U: Str :$qux = "wat" ) returns Foo:D { my $obj = self.new( 'qux' => "'$qux' was defined in Foo.bar()..." ); say "[[ Class ]] self.qux = '?'  qux = '$qux'"; return $obj; }; multi method bar(Foo:D: Str :$qux = "yes" ) returns Foo:D { say "[[ Instance ]] self.qux = '$.qux'  qux = '$qux'"; return self; }; }; Foo.bar( 'qux' => 'asdf' ); Foo.new( 'qux' => 'zxcv' ).bar( 'qux' => 'qwerty' );
19:45 camelia rakudo-moar 463e75: OUTPUT«Cannot call bar(Foo: Pair); none of these signatures match:␤    (Foo:U $: Str :$qux = "wat", *%_ --> Foo:D)␤    (Foo:D $: Str :$qux = "yes", *%_ --> Foo:D)␤  in block <unit> at /tmp/tmpfile line 1␤␤»
19:45 timotimo RabidGravy: we have lift-off!
19:45 RabidGravy yay!
19:45 cschwenz so i'm clearly am doing something wrong
19:45 RabidGravy radio timo
19:46 timotimo if i set the mode to vbr instead of cbr, will i get low outgoing traffic when it's silent?
19:46 RabidGravy cschwenz, no quotes in the named parameter
19:46 RabidGravy timotimo, possibly
19:46 sno joined #perl6
19:46 dogbert2 from Cool.pm: sub printf(Cool $format, *@args)          { print sprintf $format, @args }
19:47 cschwenz p6: class Foo { has Str $.qux; multi method bar(Foo:U: Str :$qux = "wat" ) returns Foo:D { my $obj = self.new( qux => "'$qux' was defined in Foo.bar()..." ); say "[[ Class ]] self.qux = '?'  qux = '$qux'"; return $obj; }; multi method bar(Foo:D: Str :$qux = "yes" ) returns Foo:D { say "[[ Instance ]] self.qux = '$.qux'  qux = '$qux'"; return self; }; }; Foo.bar( qux => 'asdf' ); Foo.new( qux => 'zxcv' ).bar( qux => 'qwerty' );
19:47 camelia rakudo-moar 463e75: OUTPUT«[[ Class ]] self.qux = '?'  qux = 'asdf'␤[[ Instance ]] self.qux = 'zxcv'  qux = 'qwerty'␤»
19:47 cschwenz \o/
19:47 dogbert2 so print and sprint can have more or less the same documentation
19:47 cschwenz thanks RabidGravy!
19:47 dogbert2 s/int/intf/
19:48 perlpilot cschwenz: if that's not documented adequately, maybe you could make it more prominent or something.  (It feels like a FAQ in the making to me)
19:50 dogbert2 ok, I'll add printf documentation to Str then (more or less a copy of the one for sprintf)  :)
19:51 ufobat joined #perl6
19:51 cschwenz to be honest, i could find no mention of how to use :U or :D on a method on perl6.org  ZoffixW's blog post was the first time i ran across the possibility of that construct.
19:52 ufobat hey perl6 :-)
19:52 Xliff \oufobat
19:52 Xliff Er...
19:52 Xliff \o ufobat
19:52 ufobat :D
19:52 Xliff I think my space key hates me. I will just hate it back.
19:52 * Xliff picks up his Lil' Slugger.
19:52 ufobat time for a new keyboard?
19:53 Xliff Oh yes. Soon.
19:53 ufobat my touchpad is broken :-/
19:53 Xliff :/
19:53 Xliff So what is wrong with this...
19:53 Xliff m: class FuzzyNum { has Num $.i; method new ($i) { self.bless(:$i)  }; submethod BUILD(:$i){}; }; sub infix:<+>(FuzzyNum $a, FuzzyNum $b) { $a.i + $b.i + rand ** rand }; my FuzzyNum $a .= new: 1e0; my FuzzyNum $b .= new: 1e0; say $a.WHAT; say $b.WHAT;  say $a + $b
19:53 camelia rakudo-moar 463e75: OUTPUT«(FuzzyNum)␤(FuzzyNum)␤Type check failed in binding $a; expected FuzzyNum but got Num (Num)␤  in sub infix:<+> at /tmp/GoLpWWKpO5 line 1␤  in sub infix:<+> at /tmp/GoLpWWKpO5 line 1␤  in block <unit> at /tmp/GoLpWWKpO5 line 1␤␤»
19:54 ufobat but i am lucky, i am still getting service from dell :-) i guess the will replace it monday
19:54 Xliff ufobat, Nice!
19:54 Xliff ufobat: Did you hear that Prince died, today?
19:54 Xliff WTF is going on with our musicians? They are dropping like flies.
19:54 ufobat are you kidding?
19:54 ufobat he wasn't that old, was he?
19:55 Xliff http://www.tmz.com/2016/04/21/prince-dead-at-57/
19:55 Xliff Nope.
19:55 ufobat 57
19:55 ufobat :/
19:59 ufobat Xliff, your example works without + rand ** rand
20:00 brrt joined #perl6
20:00 ufobat ah wait wait
20:01 ufobat i was saying nonsense, i invoked the wrong file ;)
20:05 ufobat Xliff, ah! i've got it! add a say $a.perl;
20:05 ufobat your $.i is undef
20:05 ufobat its (Num)
20:06 MadcapJake m: class FuzzyNum { has Num $.i }; sub infix:<+>(FuzzyNum $a, FuzzyNum $b) { FuzzNum.new(i => $a.i + $b.i + rand ** rand) }; my FuzzyNum $a .= new: 1e0; my FuzzyNum $b .= new: 1e0; say $a.WHAT; say $b.WHAT;  say $a + $b
20:06 camelia rakudo-moar 463e75: OUTPUT«5===SORRY!5=== Error while compiling /tmp/j4jtNXzUAp␤Undeclared name:␤    FuzzNum used at line 1. Did you mean 'FuzzyNum'?␤␤»
20:06 dogbert2 m: sprintf "%ld a big number, %lld a bigger number\n", 4294967295, 4294967296; # hmm
20:06 camelia rakudo-moar 463e75: OUTPUT«Directive ld a big number, %lld a bigger number␤ is not valid in sprintf format sequence %ld a big number, %lld a bigger number␤␤  in any  at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm line 1␤  in any panic at /home/camel…»
20:06 MadcapJake m: class FuzzyNum { has Num $.i }; sub infix:<+>(FuzzyNum $a, FuzzyNum $b) { FuzzyNum.new(i => $a.i + $b.i + rand ** rand) }; my FuzzyNum $a .= new: 1e0; my FuzzyNum $b .= new: 1e0; say $a.WHAT; say $b.WHAT;  say $a + $b
20:06 camelia rakudo-moar 463e75: OUTPUT«Default constructor for 'FuzzyNum' only takes named arguments␤  in block <unit> at /tmp/PeSgM2Homl line 1␤␤»
20:07 MadcapJake m: class FuzzyNum { has Num $.i }; sub infix:<+>(FuzzyNum $a, FuzzyNum $b) { FuzzyNum.new(i => $a.i + $b.i + rand ** rand) }; my FuzzyNum $a .= new(i => 1e0); my FuzzyNum $b .= new(i => 1e0); say $a.WHAT; say $b.WHAT;  say $a + $b
20:07 camelia rakudo-moar 463e75: OUTPUT«(FuzzyNum)␤(FuzzyNum)␤Type check failed in binding $a; expected FuzzyNum but got Num (1e0)␤  in sub infix:<+> at /tmp/9sLVNaTam3 line 1␤  in sub infix:<+> at /tmp/9sLVNaTam3 line 1␤  in block <unit> at /tmp/9sLVNaTam3 line 1␤␤»
20:07 dogbert2 this was directly from the sprintf documentation
20:09 ufobat m: class FuzzyNum { has Num $.i; method new($i){ self.bless(:$i) }; submethod BUILD(:$i){}; }; my FuzzyNum $a .= new: 1e0; say $a.perl;
20:09 camelia rakudo-moar 463e75: OUTPUT«FuzzyNum.new(i => Num)␤»
20:11 ufobat submethod BUILD(:$i) vs BUILD(:$!i)
20:12 sena_kun Good evening, all! Day seemed busy, probably should re-ask. Please, someone who is in charge of rakudo PRs and free(or a bit free, at least), can you take a look at the latest PR? Just a few lines of code, minor change, tested, can't work further without it. I can discuss the details here, of course.
20:12 MadcapJake Xliff: we forgot the multi in front of the sub
20:12 MadcapJake Xliff: otherwise you're overloading ALL + operators :)
20:12 ufobat i've got a question as well.. is this idiomatic, wierd or okay? https://gist.github.com/ufobat/b526c0ed33e193ac46c5723ec515ed40
20:12 * teatime rejects his own p6 PR... will re-build it w/ more killer features and fewer sleeplessness-induced cosmetic damage.
20:15 ZoffixMobile joined #perl6
20:16 ZoffixMobile RabidGravy, was it you the other day who had some Perl 6 script that generated music? Was it a module?
20:18 RabidGravy yeah, see examples of Audio::PortMIDI or EuclideanRhythm also psch's Music::Helpers
20:18 MadcapJake Xliff: https://gist.github.com/MadcapJake/1873f1519528bf5c626bbd49ea6d7b3f
20:18 ZoffixMobile Cool.
20:19 ZoffixMobile m: https://gist.github.com/MadcapJake/1873f1519528bf5c626bbd49ea6d7b3f
20:19 camelia rakudo-moar 463e75: OUTPUT«1␤1␤2.95748842341148␤»
20:19 ZoffixMobile neat
20:24 RabidGravy ZoffixMobile, at some point I'll dig out the thing that generates tunes from the mandelbrot set
20:25 Relsak joined #perl6
20:27 Xliff m: class FuzzyNum { has Num $.i; method new ($i) { self.bless(:$i)  }; submethod BUILD(:$i){}; }; sub multi infix:<+>(FuzzyNum $a, FuzzyNum $b) { $a.i + $b.i + rand ** rand }; my FuzzyNum $a .= new: 1e0; my FuzzyNum $b .= new: 1e0; say $a.WHAT; say $b.WHAT;  say $a + $b
20:27 camelia rakudo-moar 463e75: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5kWYEnPDS4␤Missing block␤at /tmp/5kWYEnPDS4:1␤------> 3ethod BUILD(:$i){}; }; sub multi infix:<7⏏5+>(FuzzyNum $a, FuzzyNum $b) { $a.i + $b␤    expecting any of:␤        colon pair␤        quot…»
20:29 Xliff MadcapJake++
20:29 Xliff Forgot about the multi.
20:29 ufobat but your submethod BUILD is not correct?
20:29 Xliff I would suspect extraneous.
20:31 timotimo RabidGravy: has tips for making lag less? a friend of mine is getting like 20 seconds
20:31 Juerd joined #perl6
20:32 RabidGravy 20 seconds?
20:33 RabidGravy how fast is your connection to the internet?
20:33 Xliff m: https://gist.github.com/MadcapJake/1873f1519528bf5c626bbd49ea6d7b3f
20:33 camelia rakudo-moar 463e75: OUTPUT«1␤1␤2.98893871552091␤»
20:34 MadcapJake perhaps the initial values should be fuzzed as well :)
20:34 RabidGravy icecast will try to 'help' "slow ckients" and if your icecast is on a slow connection then they are all slow
20:35 Xliff MadcapJake, Naw. It's close. I don't want the fuzziness to be > 1
20:35 Xliff However. It's been 2.9+ twice now. Odd.
20:36 RabidGravy the instrument -> jack -> darkice is likely to be in the tens of millisecods
20:36 Xliff Crap. I might as well replace the "rand ** rand" with just "rand"
20:36 RabidGravy encoding lag ~ 1 frame
20:36 [Coke] sena_kun: what's the PR #?
20:37 Xliff Yes, please!!!  -- > <RabidGravy++> ZoffixMobile, at some point I'll dig out the thing that generates tunes from the mandelbrot set
20:38 sena_kun [Coke], just a sec... #752.
20:39 trnh joined #perl6
20:39 trnh joined #perl6
20:40 * [Coke] commented on it for you, at least.
20:40 Xliff Oh, and BUILD can use the actual $! invocation as a named parameter? I didn't know that.
20:41 Xliff I'm sure that is documented somewhere... >.>
20:41 timotimo that doesn't have to be documented, it's just the natural effect of specifying a $!foo in the signature
20:41 timotimo when the signature gets bound, that variable gets the parameter's value bound to it
20:41 sena_kun [Coke], thanks!
20:41 timotimo and since it's an attribute, it ends up in the attribute :)
20:42 timotimo also important to note: the "self" is the right one at the point where BUILD runs
20:42 Xliff timotimo, for programmers of certain languages (most notably, C) attributes don't go in argument lists. Dummy assignment variables do.
20:42 Xliff I see where you are coming from, really.
20:43 Xliff But that bit was non-intuitive to me.
20:44 timotimo :)
20:44 timotimo right, it's definitely a neat trick
20:44 Xliff FWIW, that bit is non-intuitive, but useful. I just think it should be mentioned somewhere, explicitly.
20:45 Xliff I've got to make a PR against the per6-docs anyways. Maybe I will look at finding a suitable place to do just that.
20:45 Xliff That would make 2 forthcoming PRs and one in limbo.
20:49 teatime Xliff: out of curiosity, do you intend to be using blue, italicised text for emphasis, or is something weird w/ my rendering here ?
20:50 timotimo my comment about it "not having to be documented" was way too harsh
20:50 timotimo documenting it would indeed be nice
20:51 geekosaur teatime, those things are wrapped in ASCII GS control character (ctrl-_) which is a later extension to mirc control codes.
20:51 dogbert2 oops  -  *** Error in `/home/dogbert/.rakudobrew/moar-nom/install/bin/moar': double free or corruption (!prev): 0x14a53f88 ***
20:51 teatime geekosaur: how is it intended to display?
20:52 geekosaur italic or underline
20:52 avenj joined #perl6
20:52 avenj joined #perl6
20:52 geekosaur "blue" sounds to me like something is still using CGA rules >.>
20:52 teatime oh, no... I just have my terminal explicitly configured to make default-colored-but-italicised-text blue....
20:53 * teatime tries to remember why.. possibly just because I could lol
20:55 MadcapJake Xliff: http://doc.perl6.org/language/classtut#Constructors
20:55 * teatime will be back tomorrowish.
20:56 MadcapJake Xliff, timotimo what bit isn't documented?
20:56 dha joined #perl6
20:59 sue joined #perl6
21:02 timotimo being allowed to put $!foo into a signature (especially BUILD) and why it's useful to do
21:02 Xliff ^^ that
21:08 uruwi joined #perl6
21:10 dha joined #perl6
21:11 dalek doc: b45c032 | (Jan-Olof Hendig)++ | doc/Type/Str.pod:
21:11 dalek doc: Added documentation for printf
21:11 dalek doc: review: https://github.com/perl6/doc/commit/b45c032254
21:13 trnh joined #perl6
21:14 MadcapJake but using it in BUILD's sig *is* documented
21:14 mr-foobar joined #perl6
21:15 timotimo oh
21:19 MadcapJake Any twigil'd variable can be put as an adverb, the named part becomes the pair key and the value in the container becomes the value in the adverb pair
21:19 TEttinger joined #perl6
21:22 ZoffixWin Hm, no love with Audio::PortMIDI. Gives me an error....
21:26 ZoffixWin Or just no sound... Maybe it's because I'm running it in a VM :/
21:31 RabidGravy yeah It needs an instrument attached to a sound card
21:32 sno joined #perl6
21:33 ZoffixWin Like a physical instrument?
21:33 timotimo can be a program, too
21:33 timotimo just make sure the midi commands reaches something that'll cause sounds to happen
21:33 ZoffixWin I have a keyboard, but I can't be arsed finding any cables
21:33 timotimo and that the sounds that happen end up reaching your ear somehow
21:35 ZoffixWin Weeee \o/ Got sound. Had to install timidity
21:37 timotimo yeah, that's one of the simplest ways
21:37 timotimo i was piping my midi commands into sunvox, which was fu
21:37 timotimo fun
21:38 dolmen joined #perl6
21:42 RabidGravy ZoffixWin, the synopsis example has a bug, i'll fix but also make it do something prettier when there isn't a timestamp
21:44 ZoffixWin That grammar you got in the amen example is really neat. Should be simple enough to make something that eats guitar tabs.
21:44 * ZoffixWin feels an exciting blog post in the making
21:44 timotimo TuxGuitar eats guitar tabs
21:45 ZoffixWin Yeah, but it's not Perl 6 :D
21:45 dha But it *could* be. Because, you know, Perl 6.
21:46 trnh joined #perl6
21:46 RabidGravy I considered making it a module but wasn't motivated sufficiently
21:47 sortiz joined #perl6
21:47 ZoffixWin dha, but I don't need it :) I have a lifetime subscription to ultimate-guitar.com and they have that fancy-pants player that plays them :)
21:48 ZoffixWin But it is a neat way to show a power of grammars in a blog post
21:48 dha :-)
21:48 dha What does a subscription to u-g.com get you that not subscribing doesn't?
21:49 Herby_ joined #perl6
21:49 Herby_ Afternoon, everyone!
21:49 Herby_ \o
21:49 sortiz \o #perl6
21:50 ZoffixWin dha, fancy pants quality tabs with a player. Their quality is often better and they include several instruments like the bass and the keys. Pretty handy if you play several instruments.
21:50 Herby_ o/
21:50 dha Ah. I'm mostly just playing guitar, so... *shrug*
21:51 sftp joined #perl6
21:56 ZoffixWin Oh god...
21:56 ZoffixWin m: '????'.unames.say
21:56 camelia rakudo-moar 463e75: OUTPUT«Method 'unames' not found for invocant of class 'Str'␤  in block <unit> at /tmp/KO_KZG2PpT line 1␤␤»
21:56 ZoffixWin m: '????'.uninames.say
21:56 camelia rakudo-moar 463e75: OUTPUT«(EGYPTIAN HIEROGLYPH D052)␤»
21:57 ZoffixWin Someone actually adopted that character >_<
21:58 timotimo the phallus?
21:59 trnh joined #perl6
22:00 ZoffixWin Yeah
22:00 uruwi joined #perl6
22:03 ZoffixWin When they approve the butterfly this summer, I propose we do a KickStarter to raise the $5000 to adopt it for Perl 6 (gold lets you include a URL and it shows up at the top of the list)
22:04 ZoffixWin http://www.unicode.org/consortium/adopted-characters.html
22:06 leont_ joined #perl6
22:14 vendethiel joined #perl6
22:16 MadcapJake ZoffixWin++ # good idea!
22:21 aindilis joined #perl6
22:22 kid51 joined #perl6
22:22 timotimo how do people feel about raising some more money for the "jnthn makes everything so much better" fund?
22:24 dha Depends. How would we spend those funds? If I get a puppy, sure! ;-)
22:25 timotimo can a puppy be bred specifically to be as good at coding as jnthn is?
22:26 timotimo if that kind of breakthrough happens, we'll be sure to give dgthn to you so you can provide the right amount of food, shelter, bellyrubs, and beer
22:26 ZoffixWin timotimo, if it's specifically "jnthn makes everything so much better" fund and not a donation to TPF, I'm in.
22:27 dha Yay!
22:27 * dha calls the genegineers.
22:28 timotimo hm, i think TPF does manage the fund, but it goes directly to paying jnthn for work hours
22:28 ZoffixWin Can't jnthn just start a kickstarter campaign himself? :P
22:28 dolmen joined #perl6
22:29 ZoffixWin Last time I tried to donate at TPF, I had multiple issues if I'd not known better, I'd assume the website was a scam, because it was severely broken... They kinda pissed me off that day that I'm now not to keen on dealing with them.
22:29 timotimo http://www.perlfoundation.org/perl_6_core_development_fund  -  i think this is the one i'm thinking of. not sure if others have gotten money from that pool yet; like for the js work for example?
22:31 ZoffixWin And it's an outdated page referencing 2015, with no obvious way on how to contribute to that fund. See what I mean?
22:32 ZoffixWin Oh, now I recall, there was no way to donate via PayPal. And when I did hand out my credit card, the form was broken and wouldn't process it, so I clicked on "contact us" but it was a 404, because they didn't update the domain
22:33 dha Sounds like Perl, actually...
22:33 dha *ducks*
22:52 ZoffixWin dha, so you're actually part of TPF?
22:52 dha Sorta, technically, kinda, maybe. :-)
22:53 ZoffixWin Good. Now I know whom to direct my complaints to :P
22:54 ZoffixWin Like this 404 on the first link on this page: http://www.perlfoundation.org/ian_hague_perl_6_development_grants
22:54 ZoffixWin I'm curious what motivated that person to drop 200K on P6
22:57 dha That's a damn good question. FWIW, I'm technically the "Steering Committee Member At Large" for awards, and I haven't even done a whole lot in *that* area lately. I remember the existence of this grant, but I don't remember the motivation for it.
22:57 ZoffixWin Ah, the bug is hyphens were converted into underscores
22:57 ZoffixWin This is the right link: http://news.perlfoundation.org/2008/05/tpf-receives-large-donation-in.html
22:57 dha Ah.
22:57 ZoffixWin (Ian Hague)++
22:58 dha I should probably shout at someone about that. There are.... weird historical issues occasionally with the TPF website. I think someone may be working on fixing that, but it probably isn't finished yet.
22:59 vendethiel joined #perl6
23:08 dha FWIW, I have shouted out to the steering committee about the bad link.
23:10 cschwenz left #perl6
23:11 ZoffixWin dha++
23:12 dha I do not promise, however, a solution. ;-)
23:40 jeek joined #perl6
23:51 telex joined #perl6
23:53 dolmen joined #perl6
23:53 jeek joined #perl6

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

Perl 6 | Reference Documentation | Rakudo