Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-09-15

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:01 MasterDuke joined #perl6
00:02 pyrimidi_ joined #perl6
00:05 headcase joined #perl6
00:07 pyrimidine joined #perl6
00:07 mcmillhj joined #perl6
00:10 pyrimidine joined #perl6
00:10 headcase joined #perl6
00:12 nige joined #perl6
00:13 pyrimidi_ joined #perl6
00:14 virtualsue joined #perl6
00:17 pyrimidine joined #perl6
00:20 pyrimidi_ joined #perl6
00:23 mcmillhj joined #perl6
00:25 Cabanossi joined #perl6
00:25 pyrimidine joined #perl6
00:29 mcmillhj joined #perl6
00:32 pyrimidine joined #perl6
00:33 u-ou- joined #perl6
00:34 u-ou- hi
00:35 pyrimidine joined #perl6
00:41 pyrimidine joined #perl6
00:41 geekosaur joined #perl6
00:44 mcmillhj joined #perl6
00:49 pyrimidine joined #perl6
00:49 AlexDaniel u-ou-: o/
00:49 u-ou- :)
00:54 pyrimidine joined #perl6
00:56 AlexDaniel did we have non-int enums?
00:57 AlexDaniel non-num rather
00:57 piojo joined #perl6
00:57 AlexDaniel er, doesn't matter
00:59 mr-foobar joined #perl6
00:59 pyrimidine joined #perl6
01:00 mcmillhj joined #perl6
01:05 pyrimidine joined #perl6
01:05 R0b0t1_ joined #perl6
01:06 perlpilot_ joined #perl6
01:08 perlpilot_ left #perl6
01:09 perlpilot_ joined #perl6
01:10 pyrimidi_ joined #perl6
01:10 Cabanossi joined #perl6
01:14 pyrimidine joined #perl6
01:16 mcmillhj joined #perl6
01:17 weabot I have an array of functions that I want to write to a file and read back, what's the best way to do this?
01:17 weabot I can read them to a string with simple regex, but then I need to convert the string to a function name to call, and that's where my issue is.
01:18 pilne joined #perl6
01:19 perlpilot_ what do you mean 'read them to a string with simple regex'?
01:19 perlpilot_ What are you writing to the file exactly?
01:20 weabot a table, key => value where value is a Block
01:20 Khisanth joined #perl6
01:20 weabot I want to save the table and read it right back
01:20 weabot for this I'm writing it in a parseable way, and I need to read it back, and I assume that it'll be read as a string
01:20 weabot so I need to get the function name from the value in the string
01:21 perlpilot_ so ... write Perl code and EVAL it when you read it?
01:21 pyrimidine joined #perl6
01:22 weabot I didn't know about that, thanks
01:22 mcmillhj joined #perl6
01:23 Actualeyes joined #perl6
01:25 aborazmeh joined #perl6
01:25 aborazmeh joined #perl6
01:28 pyrimidine joined #perl6
01:29 u-ou- joined #perl6
01:38 mcmillhj joined #perl6
01:38 pyrimidine joined #perl6
01:52 pyrimidine joined #perl6
01:54 ilbot3 joined #perl6
01:54 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:57 pyrimidine joined #perl6
02:01 pyrimidine joined #perl6
02:05 pyrimidine joined #perl6
02:08 vendethiel- joined #perl6
02:08 noganex joined #perl6
02:09 mcmillhj joined #perl6
02:10 Cabanossi joined #perl6
02:15 pyrimidine joined #perl6
02:19 pyrimidine joined #perl6
02:23 pyrimidine joined #perl6
02:25 AlexDaniel[m] joined #perl6
02:32 pyrimidine joined #perl6
02:33 * [Coke] unbitrots it. had some .lol's and other legacy stuff
02:38 AlexDaniel[m] m: say 42
02:38 camelia rakudo-moar 627de7: OUTPUT: «42␤»
02:38 AlexDaniel[m] m: say ‘
02:38 camelia rakudo-moar 627de7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in curly single quotes; couldn't find final "’"␤at <tmp>:1␤------> 3say ‘7⏏5<EOL>␤    expecting any of:␤        argument list␤        curly single quotes␤  …»
02:38 pyrimidine joined #perl6
02:42 AlexDaniel[m] heh, now I know what [m] means
02:43 pyrimidine joined #perl6
02:46 zacts joined #perl6
02:46 geekosaur joined #perl6
02:47 pyrimidine joined #perl6
02:51 mcmillhj joined #perl6
02:53 pyrimidine joined #perl6
02:57 mr-foobar joined #perl6
03:01 pyrimidi_ joined #perl6
03:06 headcase_ joined #perl6
03:09 pyrimidine joined #perl6
03:09 Cabanossi joined #perl6
03:10 wamba joined #perl6
03:12 SmokeMachine m: ((* + *)).assuming(1)
03:12 camelia rakudo-moar 627de7: OUTPUT: «No such method 'assuming' for invocant of type 'WhateverCode'␤  in block <unit> at <tmp> line 1␤␤»
03:12 SmokeMachine why WhateverCode doesn't have a assuming?
03:13 pyrimidine joined #perl6
03:15 astj joined #perl6
03:17 skids Can't think of a good reason.  Technically, because Block isn't in its mro.
03:17 pyrimidi_ joined #perl6
03:18 SmokeMachine the documentation says that .assuming should be on callable: https://docs.perl6.org/routine/assuming but it seems to be on Block...
03:18 SmokeMachine Callable
03:19 skids Yeah.
03:19 skids S06 specs Callable.
03:20 SmokeMachine so, I'll try to fix that... ok?
03:21 PapaChub joined #perl6
03:21 PapaChub p6: say [ { a => 1, b => 2 } ].elems
03:21 camelia rakudo-moar 627de7: OUTPUT: «2␤»
03:22 PapaChub p6: say [ %( a => 1, b => 2 ) ].elems
03:22 camelia rakudo-moar 627de7: OUTPUT: «2␤»
03:22 PapaChub p6: say [ %( a => 1, b => 2 ).item ].elems
03:22 camelia rakudo-moar 627de7: OUTPUT: «1␤»
03:22 SmokeMachine p6: say [ { a => 1, b => 2 }, ].elems
03:22 camelia rakudo-moar 627de7: OUTPUT: «1␤»
03:22 skids m: say [ ${ a => 1, b => 2 } ].elems
03:22 camelia rakudo-moar 627de7: OUTPUT: «1␤»
03:23 PapaChub skids++
03:23 pyrimidine joined #perl6
03:24 skids hashes are iteratable and iterables blow up if they are the single argument, is why.
03:24 PapaChub SmokeMachine +.99 -- The comma seems like a hack  :-}
03:25 skids With the comma, the single iterable argument is the list which the comma made.
03:26 PapaChub For all the times, e.g., JSON barfs on "extraneous" commas, it seems odd that it's significant here
03:26 todd joined #perl6
03:28 todd Hi All!  There are times when I need to know who called a sub.  In Perl 5 I use to do:  `my $WhoCalledMe = ( caller(0) )[1];`.  How do I do this is perl 6?
03:28 virtualsue joined #perl6
03:29 pyrimidine joined #perl6
03:29 MatrixDaniel maybe you need callframe ?
03:29 MatrixDaniel ( https://docs.perl6.org/type/CallFrame#sub_callframe )
03:30 skids If you want the package, CALLER:: or CALLERS::
03:31 skids CALLERS skips frames you usually don;t care about.
03:32 mr-foobar joined #perl6
03:33 skids We are supposed to have caller() but it isn't implemented yet.
03:34 skids RT#123826
03:34 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123826
03:34 pyrimidi_ joined #perl6
03:35 todd Sub call frame look like it will help.  Thank you!
03:35 PapaChub vs. Backtrace  ?
03:36 skids Backtrace is more a debuging/error path thing.  It's expensive.
03:39 Cabanossi joined #perl6
03:39 pyrimidine joined #perl6
03:44 geekosaur todd, didn;t we go through this on the mailing list yesterday?
03:45 geekosaur although iirc you hit a leaky internal abstraction that timotimo needs to fix
03:45 virtualsue joined #perl6
03:47 geekosaur (basically, if you get an error that mentions NQP and you are not explicitly using NQP, you have found a bug in rakudo)
03:47 geekosaur this was NQPRoutine that came up iirc
03:50 todd geekosaur: yes we did.  The routine given in https://docs.perl6.org/type/CallFrame is foobar.  Timo went into it.  Look for the third post under subject: "what am I doing wrong here?"
03:50 geekosaur yes, that's what I was talking about
03:50 geekosaur so you hit a rakudo bug that needs to be fixed
03:50 todd Lucky me!  Huh!
03:51 geekosaur there may not be a good workaround in the meantime, since internals-leaking bugs are often hard to get around without digging into internals
03:51 geekosaur and you probably don't want to have to mess with nqp just to find out your caller
03:52 Exodist joined #perl6
03:52 todd I may just wait until `https://rt.perl.org/Public/Bug/Display.html?id=123826` gets fixed.  I will play a bit with callframe to see what it will cough up.
03:53 geekosaur I should probably also ask if you figured out the other issue
03:53 pyrimidine joined #perl6
03:53 todd I program in top down.  When a lot of folks are calling a sub, I sometimes need to know who the culprit was that sent bad data
03:53 geekosaur perl 6 subs are lexical, perl 5's are (by default) shared and externally visible
03:54 geekosaur you might want to consider inverting it for now: instead of trying to find that out yourself, immediately return a Failure and let the culprit handle it :)
03:54 geekosaur (or not, and explode in their context instead of yours)
03:55 geekosaur the NQPRoutine issue might not let you find out who called you, but the Failure will remember where it came from
03:55 todd "lexical" doesn't mean anythign to me.  I look it up int he disctionary and I understand for about three minutes.  Would you mind writing out what you mean without that word.
03:55 geekosaur I showed it to you in my last email
03:56 todd I adore the method in the sub because I only have to write the degubbing code one and not into every caller
03:56 geekosaur m: module A { sub foo { say "nope" }; our sub bar { say "yep" } }; A::bar(); # bar has a globally visible name
03:56 camelia rakudo-moar 627de7: OUTPUT: «yep␤»
03:56 todd what was the subject line of the eMail?
03:56 geekosaur m: module A { sub foo { say "nope" }; our sub bar { say "yep" } }; A::foo(); # foo's name only exists within A
03:56 camelia rakudo-moar 627de7: OUTPUT: «Could not find symbol '&foo'␤  in block <unit> at <tmp> line 1␤␤»
03:57 geekosaur in perl 5, both of those would be visible from outside (and before 5.18 you couldn't even put 'our' on it)
03:58 todd oh.  I played a bit with it and saved it for when I have time and not a bunch of stuff tearing at me (I am a computer jack of all trades)
03:59 geekosaur so basically you can only use Module::subname if it was declared "our". in perl 5 you can "always" use it (perl 5.18+ has local subs, but they were/maybe still are? apparently broken)
03:59 geekosaur so the only way to do that is to make them all "our" subs
04:01 geekosaur I think at some point there is supposed to be a pragma that lets you specify defaults (like 'our') but it doesn't exist yet
04:03 todd What cionfused me was that the sub came from a module (pm6).  I did not know where to put the "our".  `our sub Which($ProgramName) is export {good stuff;}` or put it is the "use" (our use)?  I was also told that specifying what subs you want to import from modules is still on the drawing board.  That is why you saw me comment is out `use CheckDependancies; # qw[Which]`
04:03 geekosaur the former
04:04 geekosaur this is specifying in the definition of the sub that it is to be part of the module's symbol table (so Module::name works)
04:04 todd Sorry for all the typos.
04:05 geekosaur it is distinct from 'is export' which means some other module can request that an alias to it be installed, so you can call it *without* the Module::
04:05 geekosaur and if you do neither then it's not accessible from outside the defining module at all
04:06 todd I like it!  That way I don't have to 1) worry obout duplicate names and 2) don't have to scratch my head trying to figure out where that came from.  I came from Modula2.  I use modules A LOT.  That is where I got the Top Down too.  They take longer to write, but are insanely easier to maintain.
04:08 todd I am copying and pasting myself an eMail of what you just wrote me.  Thank you!  You are a good teacher.  There is a tallent to that all of its own.
04:16 todd I put together a quick test of callframe.  It got kind of weird. See http://vpaste.net/yawFm
04:21 PapaChub m: sub child { note "CHILD: $(callframe(1).code.name)" }; sub parent { child; note "PARENT: $(callframe(1).code.name)" }; parent
04:21 camelia rakudo-moar 627de7: OUTPUT: «CHILD: parent␤PARENT: <unit>␤»
04:22 PapaChub todd There are a ton of edge cases it doesn't handle, but in a pinch, maybe it's better than nothing…?
04:22 synopsebot6 joined #perl6
04:23 todd I am still reading over what you wrote.  I will have to play with it
04:24 todd Is `m:` part of the code or part of the chat line?
04:24 geekosaur joined #perl6
04:26 PapaChub No, that's to run the example.  Basically `callframe(1).code.name` is a [VERY!] Quick-and-Dirty way to get your caller's name.  Like I say, though, it's totally not production-quality!  (What happens if you're called from a closure, or anonymous sub, e.g.)
04:26 kannan joined #perl6
04:27 todd oh no problem there.  Todd is not smart enought to  use closures or anonymous subs!  It pays to be a dumbdumb at times!
04:31 todd made me look up `note`!  Cool.  I use the $*ERR a bunch and it will be easier to use that writing it all out for "say"
04:33 todd Is there a `print` version of `note` (no \n)?
04:35 Actualeyes joined #perl6
04:36 nohuhu left #perl6
04:39 Cabanossi joined #perl6
04:39 SmokeMachine is that ok if on Callable's .assuming I transform the Callable (WhateverCode) into a Block (using EVAL) and use its .assuming?
04:40 SmokeMachine skids: ^^
04:41 skids You mean for a rakudo patch or as a workaround in general code?
04:41 SmokeMachine rakudo patch...
04:42 SmokeMachine i don't think its pretty... but even the original Block's .assuming uses multiple EVALs...
04:42 SmokeMachine to construct signatures...
04:43 skids I think what we should do is have callable stub (require, via interface) a method assuming, add an "NYI" method to ForeignCode, and write an assuming for WhateverCode.  Because WhateverCode only has positionals and its .assuming can be much, much simpler.
04:44 skids (or find out who all the users of Foreigncode are and add "NYI" methods there.)
04:44 SmokeMachine that makes sense...
04:45 SmokeMachine this was my first try: https://github.com/FCO/rakudo/commit/e9aa878419ddf105ddf89f5854eb4461cd92bfe8
04:46 SmokeMachine ill move it to WhateverCode and try to make it better...
04:47 skids As far as getting rid of the EVALs in Block.assuming, really what needs to happen is meta-api's into World and the VM binder have to be made available.  Otherwise you'd end up reimplementing a whole lot of QAST construction.
04:49 geekosaur joined #perl6
04:53 SmokeMachine again: makes sense...
04:54 skids Bedtime for me... best of luck!
04:56 SmokeMachine skids: thanks
05:04 Ven`` joined #perl6
05:07 xtreak joined #perl6
05:17 headcase joined #perl6
05:30 AlexDaniel buggable: tags
05:30 buggable AlexDaniel, Total: 1686; BUG: 1080; UNTAGGED: 402; LTA: 180; NYI: 97; REGEX: 69; RFC: 61; TESTNEEDED: 56; CONC: 51; JVM: 49; REGRESSION: 36; UNI: 29; PERF: 28; SEGV: 26; @LARRY: 23; IO: 23; NATIVECALL: 22; POD: 21; TODO: 18; PRECOMP: 14; OO: 13; BUILD: 11; TESTCOMMITTED: 10; OPTIMIZER: 9; STAR: 7; PARSER: 6; BOOTSTRAP: 5; REPL: 5; GLR: 4; MATH: 4; OSX: 4; WINDOWS: 3; RT: 2; WEIRD: 2; BELL
05:32 AlexDaniel .tell nine FWIW RT #132088
05:32 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132088
05:32 yoleaux AlexDaniel: I'll pass your message to nine.
05:39 Cabanossi joined #perl6
05:56 wamba joined #perl6
06:05 xtreak joined #perl6
06:06 nadim joined #perl6
06:18 domidumont joined #perl6
06:23 bla123123 joined #perl6
06:24 bla123123 left #perl6
06:25 domidumont joined #perl6
06:25 darutoko joined #perl6
06:39 Cabanossi joined #perl6
06:40 knobo joined #perl6
07:01 leont joined #perl6
07:09 Cabanossi joined #perl6
07:22 nadim joined #perl6
07:28 Actualeyes joined #perl6
07:43 cuonglm joined #perl6
07:51 xtreak joined #perl6
08:00 pecastro joined #perl6
08:00 ShalokShalom joined #perl6
08:02 sproctor joined #perl6
08:09 Cabanossi joined #perl6
08:15 cdg joined #perl6
08:17 cdg_ joined #perl6
08:24 cdg joined #perl6
08:32 cdg joined #perl6
08:33 xtreak joined #perl6
08:42 redhands joined #perl6
08:44 redhands very stupid question here, probably should look at REPL.pm, but how can I  EVAL and intentionally introduce/leak into the surrounding scope?
08:47 cdg joined #perl6
08:48 dakkar joined #perl6
08:50 ChoHag joined #perl6
08:57 moritz you can't
08:57 moritz lexpads are immutable at run time
08:57 moritz the only thing you can do is something  my &newsub = EVAL '...';
08:58 moritz the REPL cheats by putting subsequent lines in artificial inner scopes
08:59 redhands ah thanks
08:59 scovit joined #perl6
09:00 scovit Hello, the docs states that declaring your own ".new" makes correct initialization of objects from subclasses harder, how to deal with the issue?
09:00 scovit specifically, how to make a subclass of the class Proxy, which provides her own ".new" ?
09:01 moritz why do you need a separate .new method?
09:01 scovit the question is how to make a subclass of Proxy, I can sacrify the new method in the subclass
09:02 adu joined #perl6
09:02 scovit I need to add some attributes, a DESTROY and specific FETCH and STORE to proxy
09:03 scovit last part less important then adding a DESTROY
09:03 moritz what are you trying to achieve?
09:03 scovit just a Proxy with a DESTROY would be fine
09:03 scovit this ^
09:04 moritz no, that doesn't answer my question
09:04 cdg joined #perl6
09:04 moritz why do you want/need it?
09:04 scovit to free up memory once the proxy get garbaged
09:04 moritz which memory?
09:05 moritz 'cause in general, the GC frees memory for you
09:05 scovit memory I allocate in the method with calls Proxy.new, or in FETCH. using a LEAVE dont work because a Fetch get called x4 times what would be needed
09:06 scovit for instance when say proxy; instead of my $a = Proxy.
09:06 moritz but if that memory is only referenced in the proxy, the GC will automatically collect it for you
09:06 scovit I honestly think those are all bugs but can leave with it if the language is flexible enough to give workarounds
09:06 scovit moritz it doesnt
09:06 moritz then yes, it's a bug and needs to be reported and fixed
09:07 scovit the memory is allocated by nativecall
09:07 moritz hmm, that might be tricky; but putting the handling into a Proxy sounds like the wrong idea
09:08 scovit why Proxy has a .new method in the first place?
09:08 moritz fwiw the problem with subclassing Proxy is that Proxy is marked as a container (so that it's ignored in type checks etc.)
09:08 scovit I just need a "smarter" proxy, nothing more or nothing less
09:09 moritz seems like Proxy.new is a performance optimization
09:10 moritz if you look at BOOTSTRAP.nqp in rakudo's source, there's a call to nqp::setcontspec
09:10 moritz that's what a subclass of Proxy likely also needs
09:10 scovit thanks, I'll look
09:11 scovit should be fine to reimplement proxy if it is not that big
09:17 cdg joined #perl6
09:17 xtreak joined #perl6
09:18 redhands hmm, so is there is a simple way to pass a context to EVAL, or a simple way to do the same cheating that REPL does? Ideally would like to call the REPL, all I need is for stdout to be immediately flushed after every write.
09:22 domidumont joined #perl6
09:23 cdg joined #perl6
09:30 cdg joined #perl6
09:31 redhands left #perl6
09:33 mr-foobar joined #perl6
09:34 cdg_ joined #perl6
09:35 cdg joined #perl6
09:40 knobo joined #perl6
09:41 pecastro joined #perl6
09:46 pecastro joined #perl6
09:47 kannan joined #perl6
09:49 margeas joined #perl6
09:56 pecastro joined #perl6
09:58 Skarsnik joined #perl6
09:59 Skarsnik Hello
10:05 cdg joined #perl6
10:07 xtreak_ joined #perl6
10:08 pecastro joined #perl6
10:08 Cabanossi joined #perl6
10:09 gfldex joined #perl6
10:22 cschwenz joined #perl6
10:23 headcase joined #perl6
10:31 musca` joined #perl6
10:34 abraxxa joined #perl6
10:37 HoboWithAShotgun joined #perl6
10:40 HoboWithAShotgun when i can have a custom unicode operator ( multi sub postfix:<㎭>($v) returns Math::Angle ), why can't I have a likewise method ( method ㎭() )?
10:41 timo the restrictions on what are valid method names are stricter compared to operators
10:41 jnthn m: say '㎭' ~~ /\w/
10:41 camelia rakudo-moar b30ac0: OUTPUT: «Nil␤»
10:41 timo m: say uniprop "㎭"
10:41 camelia rakudo-moar b30ac0: OUTPUT: «So␤»
10:41 moritz .oO( it's your signfificant other!)
10:42 timo that's rad
10:42 jnthn m: class C { method ::('㎭') { 42 } }; say C.'㎭'()
10:42 camelia rakudo-moar b30ac0: OUTPUT: «42␤»
10:42 moritz operators aren't limited to identifiers
10:42 jnthn It's possible if you're willing to quote
10:44 HoboWithAShotgun amazing :)
10:44 ShalokShalom joined #perl6
10:44 abraxxa jnthn: regarding cro SSL->TLS, do you want to keep the cro-ssl history, so should I clone that repo, change all names and push that to cro-tls?
10:45 notbenh joined #perl6
10:45 jnthn abraxxa: Yes, let's keep the history, please.
10:45 jnthn So just clone/tweak/push would do it fine
10:46 abraxxa ok
10:46 HoboWithAShotgun so now I can say 90°.㎭; and get 1.5707963267949
10:47 HoboWithAShotgun instead of Math::Angle.new( degrees => 90 ).radians
10:48 HoboWithAShotgun that's...
10:48 jnthn :)
10:48 xtreak joined #perl6
10:50 Skarsnik huhu
10:51 HoboWithAShotgun i am trying to write something named Math::Triangle, with which i can say for example M::T.new( a => 4, b => 5, gamma => 70 ).alpha
10:52 HoboWithAShotgun but i am finding myself repeat logic a lot.
10:54 Cabanossi joined #perl6
10:56 * Xliff finally and truly groks the proxy object.
10:56 Xliff s/proxy/Proxy/
10:57 abraxxa is there already a prove equivalent in Perl 6 or do I still need to use zef to run a dists tests?
10:58 Xliff jnthn: So I think I solved the multithreading thing we got into yesterday. I did mention it yesterday before I slept.
10:59 cschwenz abraxxa:  this is what i use:  alias p6prove='prove --exec perl6 -r'
10:59 abraxxa cschwenz: thanks
10:59 cschwenz you're welcome! :-)
11:00 Xliff cschwenz++ - Can you pass arguments to perl6 like that?
11:00 abraxxa jnthn: Cro depends on Cro::SSL which depends on Cro?
11:00 cschwenz don't know, haven't had reason to try yet :-P
11:00 Xliff heh
11:00 jnthn abraxxa: Uh, I hope not. :) Cro::SSL depends on Cro::Core
11:00 nine In the tradition of #perl6 space geekiness: https://www.youtube.com/nasajpl/live
11:01 jnthn abraxxa: Which happens to provide the module Cro
11:01 jnthn (Dependencies are distribution names, not module names)
11:01 timo yo cschwenz, i got some more SDL fun to show you: https://twitter.com/loltimo/status/904038390131286025  and  https://twitter.com/loltimo/status/904058942078246915
11:01 abraxxa i did 'zef install Cro' which printed ===> Searching for missing dependencies: IO::Socket::Async::SSL, Shell::Command, File::Find, Terminal::ANSIColor, OO::Monitors, YAMLish, Cro::WebSocket
11:01 abraxxa ===> Searching for missing dependencies: Cro::HTTP, Base64, Digest::SHA1::Native, Crypt::Random, File::Which
11:01 abraxxa ===> Searching for missing dependencies: IO::Path::ChildSecure, HTTP::HPACK, Cro::Core, Cro::SSL, if, LibraryMake
11:02 _28_ria joined #perl6
11:02 cschwenz timo: Ooh, that's awesome! :-D
11:02 kannan joined #perl6
11:02 abraxxa cschwenz: that doesn't search for module in ./lib
11:02 timo still haven't prettied up the scrolling game or made a video out of it :|
11:02 jnthn Xliff: Glad you figured something out for it; modules that cope with being used in a threaded context will save their users a lot of pain :)
11:02 stmuk abraxxa: lowercase the Cro to cro
11:03 * stmuk wonders if anyone uses "local" in rakudobrew
11:03 jnthn I wonder if zef is case-insensitive on distribution names? The actual distribution name is "cro", not "Cro"
11:03 abraxxa hm, -Ilib doesn't work either
11:04 jnthn Since what it gets you is the "cro" executable
11:04 cschwenz abraxxa: hmm, i haven't ran into that because i always start me perl6 test files with use v6; use Test; use lib 'lib';         :-(
11:04 stmuk jnthn: I think zef is genreally sensitive
11:05 Xliff abraxxa: Yeah. That's why I asked my earlier question.
11:05 jnthn stmuk: Hm, interesting, I wonder why "zef install Cro" did anything other than an error, then...
11:05 cschwenz timo: the ones you linked on twitter remind me of a cross between snake and tron :-)
11:06 abraxxa jnthn: cro-tls pushed
11:06 Xliff abraxxa: Try "prove --exec 'perl6 -Ilib' -r
11:06 cschwenz Xliff++ :-)
11:07 jnthn abraxxa++
11:07 abraxxa Xliff: yes, the colons where missing and so -Ilib was passed to prove instead of perl6
11:07 jnthn Lunch time, then meeting; bbl
11:07 abraxxa jnthn: should I update all references in cro to it too?
11:08 jnthn abraxxa: Yes
11:08 jnthn Also those things in the cro-http repo
11:09 abraxxa ok
11:09 Xliff Has cglobal matured to the point where you can use a version number instead of using a full lib name?
11:09 Xliff Ala cglobal('xml2', v2, 'symbolname', int32)
11:09 stmuk oh "zef install Cro" does find "cro"
11:10 stmuk I had problems with the capitalised version a few weeks back
11:10 geekosaur joined #perl6
11:11 abraxxa jnthn: what about ssl params, rename those to TLS too?
11:11 jnthn Yeah, distribution names and module names are two separate namespaces. There actually is no Cro::Core module, but there is a Cro::Core distribution.
11:12 jnthn abraxxa: Ummm..hmmm
11:12 jnthn abraxxa: Maybe alias them?
11:12 jnthn :tls-config(:$ssl-config) lets us accept both
11:12 abraxxa jnthn: although the module is that young?
11:14 jnthn Young doesn't mean zero users :)
11:14 jnthn We don't have to keep the alias forever, it'll just smooth things over a bit for current users, and while we update docs etc.
11:15 abraxxa ok
11:15 abraxxa env vars?
11:15 jnthn Hm, which ones?
11:16 stmuk I think the dependency order for installing Cro rather cro was wrong when I tried and abraxxa seems to see something similar
11:16 * jnthn can't immediately think of one with SSL in it
11:16 abraxxa jnthn: HTTPService.pm6 line 124 and 130
11:16 Xliff jnthn: The only problem with that is that libxml2 has its own globals. I don't know if what I describe will handle those, or even if I have to worry about them.
11:17 jnthn abraxxa: ah, yeah, I forgot about those
11:17 jnthn abraxxa: Just rename those, I think
11:17 abraxxa ok
11:18 jnthn I think they're barely being used, and it's a template so it only affects new code going forward
11:20 void1 joined #perl6
11:21 jnthn oops, I was meant to be going for lunch...
11:21 * jnthn really goes :)
11:21 abraxxa jnthn: not sure if you want to bump the version of Cro::TLS as it's code identical to Cro::SSL 0.7
11:21 abraxxa jnthn: Mahlzeit!
11:21 timo is Cro::TLS more than just refering to SSL by the proper name? :P
11:21 abraxxa timo: not at the moment
11:22 abraxxa just early renaming to use the current proper name
11:22 timo that's fair
11:22 abraxxa timo: https://github.com/croservices/cro/issues/18
11:23 abraxxa the aliasing didn't work and I got a Perl 5 error message I don't understand
11:24 nowan joined #perl6
11:24 orac1e_ joined #perl6
11:28 abraxxa ah, typo, now it works
11:39 Cabanossi joined #perl6
11:40 margeas joined #perl6
11:42 ufobat joined #perl6
11:44 abraxxa jnthn: i have my changes for cro-http ready but can't push them
11:44 scovit joined #perl6
11:44 * timo has a potential hotfix for the nativecall no longer supporting optional parameters
11:46 Zoffix moritz: do you want me to just fix small technical errors or keep them in a separate list with other, more general suggestions?
11:47 Zoffix Like word boundary description fails to mention _ and other para says .IO creates a file handle
11:47 stmuk how sane is forking rakudobrew?
11:47 stmuk asking for a friend :)
11:47 Skarsnik_ joined #perl6
11:48 strangemk2 joined #perl6
11:48 Zoffix stmuk: so we have more than one project to not recommend? :p
11:49 stmuk more confusion is the perl way :)
11:49 Zoffix Maybe. But not Rakudo way. :)
11:49 abraxxa jnthn: sent a pr
11:50 scovit can somebody help me with nqp? I am trying to understand the code in BOOTSTRAP.npq where you define Proxy.
11:50 scovit m: use nqp; my $a; $a := nqp::getstaticcode(sub b {});
11:50 camelia rakudo-moar b30ac0: OUTPUT: «getstaticcode requires a static coderef␤  in block <unit> at <tmp> line 1␤␤»
11:50 scovit what does this mean?
11:51 ShalokShalom_ joined #perl6
11:52 timo might be something that only makes sense in nqp?
11:52 timo oh, it's also used in Code.pm in the core setting
11:52 sumdoc joined #perl6
11:53 timo getstaticcode will give you the without-closures code object from a sub
11:53 moritz Zoffix: just fix it
11:54 scovit timo, so what about the error about the static coderef?
11:54 timo not sure
11:57 timo https://gist.github.com/timo/f00347c2d9cd65bda6dd30413ce4fe16 recompile your moarvm with this patch
11:57 timo ah, of course
11:58 timo you're passing a Sub object, which simply has the code object that moarvm wants buried inside of it in some attribute
11:58 domidumont joined #perl6
11:58 timo you need to nqp::getattr its '$!do' attribute
11:58 timo you can find many examples of this all over the code
12:01 perlpilot_ joined #perl6
12:02 sumdoc Is there something like NativeCall for C++
12:02 sumdoc For interfacing with C++
12:03 sumdoc So that we can import all the functions in C++ library
12:03 moritz iirc nativecall can do a bit of C++ interfacing
12:03 moritz where's FROGGS when we need him? :-)
12:03 moritz though the name mangling that C++ compilers do is not standardized, so the support is somewhat shaky
12:04 sumdoc Is it possible to impement http://arma.sourceforge.net/docs.html C++ library in Perl 6?
12:05 moritz template-based library? probably not
12:07 MasterDuke joined #perl6
12:07 Skarsnik__ joined #perl6
12:09 Cabanossi joined #perl6
12:10 Zoffix moritz: OK. Will fix. I also created "zoffix-feedback.md" file in root of the repo. I'm gonna just write down some general feedback up in there. No need to write responses; just delete the entries you read or whatever. They're separated by `---------------` with blank lines  around them.
12:10 timo oh snap, grant submission deadline is *tomorrow*
12:10 Zoffix timo: cool. You gonna do a grant?
12:11 timo i'll try :)
12:11 Zoffix \o/
12:11 timo the "project details and a proposed schedule" section is .. tricky
12:12 moritz Zoffix: sure thing, thanks
12:17 scovit timo: it is the second time in my life I truly feel like an idiot, and the first time was listening to a neo-liberal economist ;)
12:18 scovit m: use nqp; my $a; my $b := sub { }; say $b.^attributes; nqp::getattr($b, Code, "$!do");
12:18 camelia rakudo-moar 1818de: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable $!do used where no 'self' is available␤at <tmp>:1␤------> 3attributes; nqp::getattr($b, Code, "$!do7⏏5");␤»
12:20 MasterDuke m: use nqp; my $a; my $b := sub { }; say $b.^attributes; nqp::getattr($b, Code, '$!do');
12:20 camelia rakudo-moar 1818de: OUTPUT: «(List @!dispatchees Mu $!dispatcher_cache Mu $!dispatcher int $!rw Mu $!inline_info int $!yada Mu $!package int $!onlystar List @!dispatch_order Mu $!dispatch_cache Mu $!phasers Mu $!why Code $!do Signature $!signature List @!compstuff)␤»
12:20 lizmat scovit: single quotes
12:21 scovit makes sense.. it was performing substitution..
12:22 awwaiid joined #perl6
12:22 xtreak joined #perl6
12:28 piojo joined #perl6
12:29 timo we call that interpolation
12:29 Skarsnik_ joined #perl6
12:30 abraxxa jnthn: pull-request for cro sent too
12:31 eliasr joined #perl6
12:33 setty1 joined #perl6
12:36 stmuk "zef install Cro" does work (although cro itself was broken pre 4832aea
12:39 Cabanossi joined #perl6
12:43 stmuk zef |& seems to be buffering .. not sure it should
12:48 stmuk oh its the pipe
12:48 piojo joined #perl6
12:50 xtreak joined #perl6
12:55 setty1 joined #perl6
12:58 grondilu joined #perl6
12:59 * grondilu was wondering if he could make a mix out of a class implementing Real and wrote this:
12:59 grondilu m: say :foo(class :: does Real {}.new).Mix
12:59 camelia rakudo-moar cc64a7: OUTPUT: «MoarVM panic: Memory allocation failed; could not allocate 128736 bytes␤»
13:00 grondilu m: say :foo(class :: does Real { method Bridge { NaN } }.new).Mix
13:00 camelia rakudo-moar cc64a7: OUTPUT: «Mix(foo(NaN))␤»
13:00 grondilu well I guess I can
13:00 Zoffix grondilu: same thing exists with many of the methods. You're not giving it any way to coerce to stuff, so it keeps coersing to itself
13:01 Zoffix And same thing exists with Numeric and, I guess, Stringy
13:01 grondilu ok
13:01 grondilu makes sense
13:01 * Zoffix didn't see an easy way to fix this last time he looked at it
13:01 scovit this hangs probably in an infinite loop just entering $b (FETCH): https://gist.github.com/scovit/a72b8973e872d69044f4890032c5ff2d  any help?
13:01 cdg joined #perl6
13:02 Zoffix m: say Numeric.new + 42
13:02 camelia rakudo-moar cc64a7: OUTPUT: «MoarVM panic: Memory allocation failed; could not allocate 125968 bytes␤»
13:02 Zoffix .oO( stub required methods? An obvious answer, so there's probably a reason why it's not really workable in this case )
13:03 grondilu shouldn't Numeric have a default Bridge to NaN or something?
13:03 Zoffix Maybe
13:03 scovit I can imagine that the signature of $b keeps fetching and fetching and fetching... but I am missing a piece of knowledge
13:04 perlpilot It's been a while since this has happened, but lately I look at #perl6 and think "what are they talking about?!?"   ;-)
13:04 Zoffix scovit: just so you know: nqp is not meant for end users. We're free to change it at will and without notice, so if you use it, you risk code breakages in the future
13:04 scovit Zoffix: thanks I acknoledge
13:05 Zoffix The whole .Bridge thing looks superfluous to me.
13:05 kannan joined #perl6
13:05 Zoffix It coerces to Num, so why not just use .Num instead of .Bridge vOv
13:09 Cabanossi joined #perl6
13:09 grondilu isn't Bridge more general than that?
13:09 grondilu since it's being used by other roles
13:10 scovit Zoffix: imagine somebody which loves Perl has some time to spare, start to program in Perl6. At first he is excited: so many nice new features! He takes some time, he ports some libs using nativecall. Then he want to really do things in Perl 6 which you cannot do in other languages but which the docs claim to be doable
13:10 void1 joined #perl6
13:11 scovit he discovers that most of the library is written in another language, nqp. Then he is presented with a blue pill: take it and it will be all just a bad dream
13:11 Zoffix grondilu: I only ever seen it coerce to Num; what other types have it?
13:12 Zoffix scovit: sure. Learn nqp :) Then you can help us with core hacking :)
13:13 Zoffix I was just pointing it out in case you assumed that was user-facing stuff and was meant to follow same changes policy as the rest of Rakudo.
13:13 BooK the way I understand scovit's argument is that the whole "Perl6 is written in Perl6" is a half-truth
13:14 Zoffix It's not true at all, I'd say :)
13:14 teatime c'est la interpreters
13:14 scovit Zoffix I am mostly inclined to learn npq in order to accomplish my project
13:14 Zoffix (though I think I made such clames in the past)
13:14 scovit I might end up helping you in stuff in the core, but just at some point and by chance
13:14 mcmillhj joined #perl6
13:15 grondilu Zoffix: Real
13:15 Zoffix Well, not "at all". "Parts of rakudo are written in Rakudo, so it's easier to understand core code than were it written in an entirely different language" is the true statement :)
13:15 scovit specifically, i was trying to make a custom proxy class
13:15 Zoffix grondilu: but all Reals are Numeric
13:15 Zoffix well, all core Real types are also Numeric
13:16 Zoffix And so they .Bridge to Num
13:16 grondilu ok you meant Numeric not Num
13:16 Zoffix No, I meant Num
13:16 grondilu hum
13:17 grondilu not all reals are Num, are they?
13:17 grondilu m: my $x = 1; say $x ~~ Real; say $x ~~ Num;
13:17 camelia rakudo-moar 2ad51a: OUTPUT: «True␤False␤»
13:17 Zoffix No, only Num are Num
13:17 Zoffix m: (42, 42.0, 42e0, 42+0i, FatRat.new: 42, 1).map: *.?Bridge.^name.say
13:17 camelia rakudo-moar 2ad51a: OUTPUT: «Num␤Num␤Num␤Nil␤Num␤»
13:18 grondilu that's because they use the default Bridge
13:19 grondilu Real.Bridge must return a Real, but it doesn't have to be a Num.
13:19 Zoffix It does. It bridges different types to one type (Num)
13:20 * grondilu is skeptical
13:20 Zoffix And all core types return Num from .Bridge (though, now I see Complex doesn't have it), so my original point was: why the roundabout, just use a .Num
13:20 mcmillhj joined #perl6
13:20 grondilu I'm currently writing a Polynomial class.  I want it to implement Real.  So I'm writing a Bridge method and I intend it to return a Real, not a Num.  Am I doing it wrong?
13:21 Zoffix grondilu: my bet would be you'd encounter more infinite loops like you did above. Some operator will be trying to .Bridge your Real into something it can work with and will loop forever in dispatch
13:21 * grondilu suddenly realizes that can be circular
13:22 grondilu yeah
13:22 grondilu otherwise I could just write class :: does Real { method Bridge { self } }
13:23 masak I've never quite understood Bridge either. I've never encountered the term "bridge" used in this way outside of Rakudo's core :)
13:25 perlpilot It's analogous to a network bridge, but with types instead of networks.  (at least that's how I accept the term in my own head :)
13:25 Skarsnik__ joined #perl6
13:27 masak yes, I _understand_ the term fine :)
13:27 grondilu I can implement Real but apparently I can overwrite its Str method :/
13:28 masak I was just never fully convinced that Rakudo's number tower needs a Bridge in the first place
13:28 grondilu m: class :: does Real { method Bridge { NaN }; method Str { "yo!" } }
13:28 camelia rakudo-moar 2ad51a: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Cannot have a multi candidate for 'Str' when an only method is also in the package '<anon|80985888>'␤at <tmp>:1␤»
13:28 grondilu that looks LTA
13:28 grondilu oh wait
13:29 grondilu m: class :: does Real { method Bridge { NaN }; multi method Str { "yo!" } }
13:29 camelia rakudo-moar 2ad51a: ( no output )
13:29 grondilu m: class :: does Real { method Bridge { NaN }; multi method Str { "yo!" } }.new.say
13:29 camelia rakudo-moar 2ad51a: OUTPUT: «yo!␤»
13:29 grondilu of course, silly me
13:30 grondilu m: (foo => class :: does Real { method Bridge { NaN }; multi method Str { "yo!" } }.new).Mix
13:30 camelia rakudo-moar 2ad51a: ( no output )
13:30 grondilu m: (foo => class :: does Real { method Bridge { NaN }; multi method Str { "yo!" } }.new).Mix.say
13:30 camelia rakudo-moar 2ad51a: OUTPUT: «Mix(foo(yo!))␤»
13:30 grondilu m: (foo => class :: does Real { method Bridge { NaN }; multi method Str { "yo!" } }.new).Mix.total.say
13:30 camelia rakudo-moar 2ad51a: OUTPUT: «NaN␤»
13:33 xtreak joined #perl6
13:37 skids joined #perl6
13:49 HoboWithAShotgun joined #perl6
13:49 pmurias joined #perl6
13:50 pmurias timo: what's your grant project?
13:51 timo https://docs.google.com/document/d/102h_Nlpq4ED-PpJVfy7kggp5LYmpORhsB3E1eeZ3yfI/edit#
13:51 timo the estimate is already a lot, but i'm afraid it'll actually take even longer than what i expect
13:52 Skarsnik haha the end picture
13:52 timo if on the other hand i get it done in the time estimated or lower, i can spend a bunch of time making the instrumented profiler threadsafe or implementing a sampling profiler or what have you
13:53 jdv79 Zoffix: how's the C studies goin?
13:54 Zoffix m: say 372/831
13:54 camelia rakudo-moar 8d9384: OUTPUT: «0.447653␤»
13:54 jdv79 almost halfway?
13:55 Zoffix 48% through the C book; afterwards, will also read the GC book (it's about 800 pages)
13:55 jdv79 what is the gc book?
13:55 teatime also: what is the C book?
13:55 Zoffix jdv79: yeah, though I wasn't doing much of it in the previous few weeks. I think I'll get through the book by end of September
13:55 jdv79 ?
13:55 Zoffix "C Programming: A Modern Approach": http://knking.com/books/c2/
13:55 Zoffix Wonderful book. Just a gem
13:56 Zoffix jdv79: the GC book: https://www.amazon.com/Garbage-Collection-Handbook-Management-Algorithms-ebook/dp/B01MRDA69B/ref=sr_1_1?s=digital-text&amp;ie=UTF8&amp;qid=1504787721&amp;sr=1-1&amp;keywords=The+Garbage+Collection+Handbook%3A+The+Art+of+Automatic+Memory+Management
13:56 teatime "KNK is now the logical heir to K&R ... In short, get this book."  high praise.
13:57 jdv79 why you want to be a garbage man?  i hear they are paid ok here in nyc..
13:58 strangemk2 joined #perl6
14:00 Zoffix jdv79: hehe. I'm actually thinking of reading it in the lunch room at work... and telling all the computer unsavvy people that I'm training for a new career :P
14:03 scovit interestingly, this executed with nqp runs, while executed with perl6 hangs https://gist.github.com/scovit/d4dc4bd73022a63c71bb2b500b543212
14:05 Skarsnik_ joined #perl6
14:18 wamba joined #perl6
14:20 vendethiel- joined #perl6
14:21 Geth ¦ doc: 87c125ebd8 | (Steve Mynott)++ | doc/Language/faq.pod6
14:21 Geth ¦ doc: correct name of 6.x-errata
14:21 Geth ¦ doc: review: https://github.com/perl6/doc/commit/87c125ebd8
14:22 pecastro joined #perl6
14:28 bdmatatu joined #perl6
14:30 Sgeo_ joined #perl6
14:41 Geth ¦ doc: 15e3851479 | (Steve Mynott)++ | doc/Language/faq.pod6
14:41 Geth ¦ doc: more info about roast errata based on Zoffix on IRC
14:41 Geth ¦ doc: review: https://github.com/perl6/doc/commit/15e3851479
14:43 Skarsnik joined #perl6
14:48 headcase joined #perl6
14:48 AlexDaniel joined #perl6
14:51 ChoHag joined #perl6
14:52 nige joined #perl6
14:53 mr-foobar joined #perl6
15:00 zakharyas joined #perl6
15:02 rindolf joined #perl6
15:06 ChoHag joined #perl6
15:09 Cabanossi joined #perl6
15:10 grondilu m: multi infix:<+>(Real $, Pair $ where *.value === True) { NaN }; say
15:10 camelia rakudo-moar a4ce97: OUTPUT: «5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3r $ where *.value === True) { NaN }; say7⏏5<EOL>␤Other potential difficulties:␤    Unsupported use of bare "say"; in Perl 6 please use .say if you meant to cal…»
15:10 grondilu m: multi infix:<+>(Real $, Pair $ where *.value === True) { NaN }; say +:foo
15:10 camelia rakudo-moar a4ce97: OUTPUT: «Cannot resolve caller Numeric(Pair: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at <tmp> line 1␤␤»
15:11 grondilu m: multi infix:<+>(Real $, Pair $ where *.value === True) { NaN }; say  1 + :foo
15:11 camelia rakudo-moar 55aa7f: OUTPUT: «===SORRY!===␤Circularity detected in multi sub types for &infix:<+>␤»
15:11 grondilu m: multi infix:<+>(Real $, Pair $) { NaN }; say  1 + :foo
15:11 camelia rakudo-moar 55aa7f: OUTPUT: «NaN␤»
15:11 grondilu adding a constraint on the Pair triggers circularity detection.
15:11 grondilu looks like a false positive to me
15:11 grondilu aka a bug
15:12 khw joined #perl6
15:13 Zoffix grondilu: yeah, there's a ticket: https://rt.perl.org/Ticket/Display.html?id=131574#ticket-history
15:13 grondilu ok
15:13 grondilu thanks
15:15 jnthn Did anyone actually take all the candidates and manually draw out the DAG? :)
15:17 jnthn I can't imagine the cycle detection is a false positive.
15:17 jnthn It is interesting that it ends up with a cycle though
15:19 user123123 joined #perl6
15:22 mr-foobar joined #perl6
15:22 HoboWithAShotgun joined #perl6
15:29 SHODAN joined #perl6
15:33 timo [Coke]: would it be bad to submit the proposal in a format other than pod?
15:34 user123123 joined #perl6
15:36 ChoHag joined #perl6
15:36 user123123 joined #perl6
15:37 user123123 joined #perl6
15:39 user123123 joined #perl6
15:42 user123123 joined #perl6
15:44 user123123 joined #perl6
15:45 cschwenz left #perl6
15:47 user123123 joined #perl6
15:48 headcase joined #perl6
15:50 headcase joined #perl6
15:51 user123123 joined #perl6
15:52 user123123 joined #perl6
15:54 HoboWithAShotgun joined #perl6
15:54 timo looks like a link to an application is also fine
15:55 nige joined #perl6
15:55 tadzik joined #perl6
15:58 nativecallable6 joined #perl6
15:58 committable6 joined #perl6
15:58 evalable6 joined #perl6
15:58 releasable6 joined #perl6
15:59 headcase joined #perl6
15:59 user123123 joined #perl6
16:02 user123123 joined #perl6
16:02 Bucciarati joined #perl6
16:03 timo i've submitted the document now
16:04 user123123 joined #perl6
16:06 Geth ¦ ecosystem: b6843a1eb5 | (Brian Duggan)++ | META.list
16:06 Geth ¦ ecosystem: Add Digest::SHA256::Native to ecosystem
16:06 Geth ¦ ecosystem:
16:06 Geth ¦ ecosystem: See https://github.com/bduggan/p6-digest-sha256-native
16:06 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/b6843a1eb5
16:08 user123123 joined #perl6
16:08 phanson joined #perl6
16:10 headcase joined #perl6
16:11 nige joined #perl6
16:12 * grondilu learnt more about C<Mix> lately and is quite happy about it as it's the thing he had been looking for to easily implement linear combinations.
16:15 mcmillhj joined #perl6
16:18 stmuk how did I miss seeing this?
16:18 stmuk https://utiaji.org
16:20 Zoffix who
16:20 Zoffix *whoa
16:22 Zoffix a bit too edit-happy :P Tried to select some text and it threw me in edit mode
16:23 bdmatatu Thanks for trying it :)  I gave a talk about it at yapc-na 2016
16:24 Zoffix bdmatatu++
16:26 AlexDaniel bdmatatu++ indeed
16:26 bdmatatu thanks!
16:27 AlexDaniel wait, all the changes I do there are public?
16:27 Zoffix Yes
16:27 AlexDaniel /o\
16:27 Zoffix Well, I guess
16:28 Zoffix AlexDaniel: do you see Testy McTesty here? https://utiaji.org/wiki/main
16:28 AlexDaniel yes
16:28 Zoffix Then yes :)
16:28 AlexDaniel https://utiaji.org/cal heh
16:28 Zoffix neat
16:29 HoboWithAShotgun when I have a "subset foo of Cool where 0 < * < 9" and a "foo $foo = 8;", is there some magic i can apply so $foo++ rolls over and sets the value to 1?
16:30 gfldex HoboWithAShotgun: not with a subset alone
16:31 gfldex but you could overload postfix:<++>
16:31 gfldex or use a Proxy (slow)
16:31 AlexDaniel Zoffix: hey, yesterday I learned that Matrix and freenode are bridged, so looking at ZofBot it got me thinking that maybe it can solve a problem for you?
16:31 Zoffix I had a problem?
16:31 AlexDaniel Zoffix: that is, you can use Riot on your phone, pc and whatever else, all using the same nickname
16:32 AlexDaniel Zoffix: and if you're offline, you still get these messages and mentions when you go back online
16:32 mcmillhj joined #perl6
16:32 * ilmari[m] waves from the matrix
16:32 * Zoffix has no idea what Riot or Matrix are
16:32 MatrixDaniel ilmari:
16:32 MatrixDaniel oops
16:32 MatrixDaniel well, I still have a problem with chromium, so can't use it entirely as I want… but we'll get there once I file a couple of bug reports
16:33 ilmari[m] matrix.org is a federated messaging platform, riot.im is the flagship client (web, android, ios)
16:33 MatrixDaniel mainly, chromium does not support keyboard layouts properly, so it's half-broken for me.
16:33 kannan joined #perl6
16:33 * Zoffix is happy with regular irc :P
16:33 ilmari[m] it works for me, but I'm only using en_GB layout
16:34 ilmari[m] It's handy on the go too
16:34 * ilmari[m] waves from Android
16:34 * Zoffix just uses JuiceSSH on Android to connect to screen-ed weechat session :P
16:35 ilmari there's a matrix plugin/script/whatever for weechat
16:35 ilmari so you can keep using that
16:35 Zoffix But I don't have a problem :D
16:35 AlexDaniel Zoffix: well, sure, I just thought that I'd mention it just in case
16:35 Zoffix Thanks.
16:35 timo Zoffix: juicessh has a super annoying problem where it doesn't handle the "alternate screen" thing that terminal emulators have, so when i try to go into copy-paste mode, i'll end up getting just the server's welcome message and my "attach to screen" command, then nothingness m(
16:36 domidumont joined #perl6
16:36 Zoffix ZofBot is more than just a messaging bot. He's... a friend \o/
16:36 * ilmari uses connectbot on his phone on the rare occasions he SSHes from it
16:36 user123123 joined #perl6
16:37 AlexDaniel Zoffix: here's a neat screenshot though: https://files.progarm.org/2017-09-15-193637_761x132_scrot.png
16:37 AlexDaniel I still don't understand how it figured out that it is code, but whatever
16:37 Zoffix timo: I just start another juicessh instance if I need another terminal
16:38 timo that's not what i mean by "alternate screen"
16:38 Zoffix AlexDaniel: "that it is code"? What do you mean?
16:38 Zoffix Oh, IT
16:38 AlexDaniel Zoffix: well, it did the syntax highlighting automatically
16:38 Zoffix Nevermind. can't read
16:39 Cabanossi joined #perl6
16:39 Zoffix m: More.Int.say
16:39 camelia rakudo-moar 55aa7f: OUTPUT: «1␤»
16:40 timo alternate screen is apparently used to keep the shell untouched while some terminal ui application runs, so when it exits you get back exactly what you had before you started it
16:40 Zoffix K, good :) Thought it'd give the More :)
16:42 timo bdmatatu: the "install" section in your utiaji could use some ` ` around it to make it show up as multiple lines rather than just a single line. or do you have to indent? i'm not quite sure
16:42 * skids reminds self to teach pterm to scroll up the backbuffer rather than use altscreen.
16:43 timo what's pterm?
16:43 skids linuxified putty xterm.
16:43 timo oh interesting
16:43 skids Only thing I can stand these days, what with all the libvte crummyness.
16:43 user123123 left #perl6
16:44 timo have you tried mlterm? it has sixel support :)
16:45 skids I may look it over but it gets really frustrating trying 10s of terms to find the one that has decent actual emulation and won't get screwed up by my various switches/vendor kit.
16:45 timo yeah
16:46 skids I actually got desparate enough to hack quick-select support into pterm just to call it a day.
16:47 teatime libvte is indeed cruminess.  I was happy with urxvt for a long time.  now I mostly just use xterm.
16:47 timo what's quick-select again?
16:47 skids The second cut and paste buffer in linux.
16:47 skids (well X)
16:47 timo ah
16:47 teatime I need to figure out how to make ctrl+shift+pgup/pgdn scroll in tmux (or screen)
16:47 timo i'm currently using mate-terminal, but it's got the worst crap for copy-paste
16:48 timo where when you copy something it'll apparently only remember what part of the terminal you selected
16:48 timo and when you paste it just takes whatever is at that spot at that very moment
16:48 skids Ow.
16:48 teatime lol, wow.  wtf?
16:48 timo so good luck copy-pasting across like channels in weechat or something
16:48 stmuk I quite like the smaller vte stuff like roxterm or sakura
16:48 timo oh, on my desktop i actually use konsole
16:49 timo that doesn't have this problem
16:49 mcmillhj joined #perl6
16:50 mr-foobar joined #perl6
16:51 bdmatatu timo: Thanks, fixed
16:59 pmurias joined #perl6
17:01 pmurias timo: re estimating grant hours, you might consider that stuff that work you don't anticipate will be neccessary
17:01 mcmillhj joined #perl6
17:02 timo i'll probably have to do more work than i asked for
17:02 timo but the amount of money i'm asking for is already alot
17:08 timo i hope community people find my application worthwhile
17:11 HoboWithAShotgun joined #perl6
17:13 timo plenty of perl5 people, too. who might not be so fond of perl6 in general?
17:13 headcase joined #perl6
17:14 mcmillhj joined #perl6
17:14 Zoffix IME s:g/Perl\s*6/Rakudo/ helps the fondness in those cases
17:15 timo i put Rakudo Perl 6 in the title at least
17:20 mr-fooba_ joined #perl6
17:23 HoboWithAShotgun joined #perl6
17:25 HoboWithAShotgun can i have aliases in signatures? such as foo(alpha=>45) is the same as foo(α=>1) ?
17:26 jnthn :alias(:$name)
17:29 Zoffix m: sub foo (:alpha(:$α) = 45) { dd $α }; foo :42alpha; foo :70α; foo
17:29 camelia rakudo-moar 55aa7f: OUTPUT: «Int $α = 42␤Int $α = 70␤Int $α = 45␤»
17:32 timo Zoffix: you mentioned you'd also find 3k acceptable, but i somehow ended up with 6k; does that still sound good?
17:33 Zoffix timo: I'd need to more thoroughly read the proposal. What's the link again?
17:33 timo https://docs.google.com/document/d/102h_Nlpq4ED-PpJVfy7kggp5LYmpORhsB3E1eeZ3yfI/edit#heading=h.b0iufphxvxhj
17:33 timo i'll surely take at least 200 hours, hopefully not terribly much more
17:33 HoboWithAShotgun allright. so using "multi sub prefix:<△>(List $list) returns Math::Triangle" I can now write say (△(α => 75°, c => 3, b => 3) ).beta; #prints 52.5°
17:34 HoboWithAShotgun I would like to get rid of the inner parens
17:34 HoboWithAShotgun or maybe even the outer ones
17:35 Zoffix HoboWithAShotgun: .beta.say with △ α => 75°, c => 3, b => 3
17:35 Zoffix HoboWithAShotgun: .beta.say with △ α => 75°, :3c, :3b
17:35 Zoffix :)
17:36 Zoffix HoboWithAShotgun: oh, wait, it'd help if I read the actual code lol :P
17:36 HoboWithAShotgun :3b? what kind of black magic is that again
17:36 Zoffix HoboWithAShotgun: .beta.say with △ "α" => 75°, "c" => 3, "b" => 3
17:36 Zoffix HoboWithAShotgun: basically, without quotes there, it's getting passed as a named arg.
17:37 Zoffix HoboWithAShotgun: :3b is the same as b => 3
17:37 skids HoboWithAShotgun: It's for stuff like :3rd
17:37 Zoffix You can use any non-negative integer there
17:37 Zoffix huggable: colonpairs
17:37 huggable Zoffix, All the shortcuts of colonpairs: https://twitter.com/zoffix/status/839807414211854337
17:37 Zoffix HoboWithAShotgun: ^ lots of good stuff there
17:39 skids Anyway probably you want a slurpy rather than List $list.  Which one depends on how you want to handle flattening.
17:41 HoboWithAShotgun skids, i am just routing the arguments to the triangle operator to call the  Math::Triangle constructor
17:42 Zoffix Oh yeah, you need a slurpy there too. And if you use a named arg slurpy, you won't need to deal with the quoting business
17:43 HoboWithAShotgun i'm doing this multi sub prefix:<△>(List $list) returns Math::Triangle is export( :operators ) { return Math::Triangle.new( |%$list ); }
17:43 HoboWithAShotgun works fine
17:44 HoboWithAShotgun what benefit would i get from using a slurpy?
17:48 headcase joined #perl6
17:48 Zoffix HoboWithAShotgun: and you get a list of three pairs?
17:48 Zoffix m: sub prefix:<♥> (List $l) { dd $l }; ♥(a => 42, b => 70)
17:48 camelia rakudo-moar 55aa7f: OUTPUT: «List $l = $(:a(42), :b(70))␤»
17:49 Zoffix Ah, I see. It's not a sub call :D
17:49 Zoffix HoboWithAShotgun: the slurpy will let you get rid of the parens ther
17:49 Zoffix m: sub prefix:<♥> (*%l) { dd %l.list }; ♥ a => 42, b => 70
17:49 camelia rakudo-moar 55aa7f: OUTPUT: «WARNINGS for <tmp>:␤Useless use of "b => 70" in sink context (lines 1, 1)␤Too many positionals passed; expected 0 arguments but got 1␤  in sub prefix:<♥> at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:49 Zoffix never mind. I don't have a clue what I'm talking about :)
17:51 HoboWithAShotgun loser
17:51 HoboWithAShotgun ;-)
17:51 HoboWithAShotgun allright, i gonna let that sink
17:51 HoboWithAShotgun have a good day everybody. tx for the input
17:52 nadim joined #perl6
17:54 Zoffix m: multi postfix:<°> { $^a }; multi prefix:<△> (*@things) is looser(&[,]) { class Triangle { has $.things; method beta { $!things.perl.uc } }.new: :@things }; .beta.say with △ α => 75°, c => 3, b => 3
17:54 camelia rakudo-moar 880b33: OUTPUT: «$[:Α(75), :C(3), :B(3)]␤»
17:55 Zoffix .tell HoboWithAShotgun managed to make it work without parens (and slurpy slurps the things): multi postfix:<°> { $^a }; multi prefix:<△> (*@things) is looser(&[,]) { class Triangle { has $.things; method beta { $!things.perl.uc } }.new: :@things }; .beta.say with △ α => 75°, c => 3, b => 3
17:55 yoleaux Zoffix: I'll pass your message to HoboWithAShotgun.
17:56 zakharyas joined #perl6
18:01 firefish joined #perl6
18:05 knobo joined #perl6
18:10 virtualsue joined #perl6
18:11 _28_ria joined #perl6
18:12 Zoffix timo: I'd suggest beefing up the benefits and explanation what will be happening. List benefits to Rakudo core devs, since this stuff will help us make more perf improvements. Add some "Terms" section that has 1-sentence explanation for all the fancy-pants terms like OSR, decont, spesh, jit.
18:13 wamba joined #perl6
18:15 Zoffix timo: basically, I've no idea what the work involved is gonna look like. If it costs 6G, it's fine. But right now to the reader who's not intimately familiar with the interals, it just reads like a wall of acronyms and buzz words, and all they walk away with is there'll be an optimizer program at the end of the 6G. If you'd describe the challenges and problems that need to be solved in more detail, I think
18:15 Zoffix it'd help convince more people.
18:16 Zoffix my 2 cents :)
18:17 Zoffix Also, you have left-over hours information in "A framework for embedding "domain knowledge" into the GUI, so that common patterns can be pointed out to the user [5h; sum: 9h]"
18:20 * Zoffix &
18:26 leont joined #perl6
18:29 espadrine joined #perl6
18:35 andrzejku joined #perl6
18:36 mr-foobar joined #perl6
18:39 andrzejku joined #perl6
18:54 Cabanossi joined #perl6
18:54 nige joined #perl6
18:55 Zoffix left #perl6
19:03 pmurias_ joined #perl6
19:07 Ven`` joined #perl6
19:09 nadim_ joined #perl6
19:14 nadim joined #perl6
19:24 headcase joined #perl6
19:26 pecastro joined #perl6
19:30 lostinfog joined #perl6
19:36 headcase joined #perl6
19:37 dwarring joined #perl6
19:39 Cabanossi joined #perl6
19:40 Geth ¦ ecosystem: fdc74f49c9 | (Jonathan Stowe)++ | META.list
19:40 Geth ¦ ecosystem: Add MQ::Posix
19:40 Geth ¦ ecosystem:
19:40 Geth ¦ ecosystem: See https://github.com/jonathanstowe/MQ-Posix
19:40 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/fdc74f49c9
19:46 skids -E_NEED_CAFFEINE_TO_GET_CAFFEINE
19:48 pecastro joined #perl6
19:52 davidfetter joined #perl6
19:52 davidfetter hi
19:53 davidfetter i know it sounds insane, but i'm looking to embed perl6 in a C program (well, a PL for PostgreSQL)
19:53 davidfetter is that a thing?
19:54 moritz davidfetter: since Inline::Perl6 exists in Perl 5, I'm sure it's possible
19:54 davidfetter https://docs.perl6.org/language/nativecall <-- kinda the opposite way 'round
19:58 timo moritz: the thing is that Inline::Perl6 just replaces the perl5 process with a perl6 process that includes the rest of the program with Inline::Perl5 :)
19:58 davidfetter somebody page Rube Goldberg
19:59 davidfetter perhaps PL/npq might be a better plan
20:05 headcase joined #perl6
20:07 timo you can always build an evalserver that takes code on a socket and puts its results back
20:07 moritz timo: so what? it works :-)
20:09 headcase_ joined #perl6
20:09 * davidfetter generally used to working on PostgreSQL, where we are starting to care more and more about cache misses
20:09 davidfetter (not that we ever *didn't* care, precisely...)
20:12 adu joined #perl6
20:14 skids Well, you can pass Perl6 callbacks into NativeCall code, right?   So... just flip the paradigm :-)
20:15 BooK s: Bool.WHICH
20:15 SourceBaby BooK, Something's wrong: ␤ERR: Cannot resolve caller sourcery(ObjAt); none of these signatures match:␤    ($thing, Str:D $method, Capture $c)␤    ($thing, Str:D $method)␤    (&code)␤    (&code, Capture $c)␤  in block <unit> at -e line 6␤␤
20:15 TEttinger joined #perl6
20:15 BooK (not sure how that s: thing works)
20:16 geekosaur I don't think it works with that anyway, methods like .WHICH are magic (actually "macros" wired into the compiler)
20:17 BooK m: .WHICH.say for Bool.^enum_value_list, Order.^enum_value_list;
20:17 camelia rakudo-moar f925c6: OUTPUT: «List|75139120␤List|75139312␤»
20:17 geekosaur s: Bool, 'WHICH'
20:17 SourceBaby geekosaur, Sauce is at https://github.com/rakudo/rakudo/blob/f925c6482/src/core/Mu.pm#L24
20:17 BooK m: .WHICH.say for |Bool.^enum_value_list, |Order.^enum_value_list;
20:17 camelia rakudo-moar f925c6: OUTPUT: «Bool|0␤Bool|1␤Order|0␤Order|1␤Order|2␤»
20:17 geekosaur huh it does handle that
20:17 geekosaur s: Bool, 'WHAT'
20:17 SourceBaby geekosaur, Something's wrong: ␤ERR: Type check failed in binding to parameter '&code'; expected Callable but got Nil (Nil)␤  in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤  in block <unit> at -e line 6␤␤
20:17 BooK mmm, isn't lizmat's patch for Enumeration applied yet?
20:18 BooK m: say Order::Same.WHICH, Bool::True.WHICH
20:18 camelia rakudo-moar f925c6: OUTPUT: «Order|1Bool|1␤»
20:18 geekosaur guess .WHICH is normal, it's just .WHAT and such
20:19 geekosaur that's the right commit for the patch
20:19 skids .WHICH can be macro/syntactical and code should assume it might be.  But it can also be a method.
20:19 timo moritz: i wanna see you build the Perl6/PL that replaces the postgres server process :P
20:20 BooK what's f925c6 in camelia's answer? I assumed the rakudo or more commit, but don't seem to be either
20:21 skids geekosaur: rgrep "brain pretzels" specs/
20:21 ugexe rakudo commit
20:21 moritz BooK: it's a short commit ID in the rakudo repo
20:21 geekosaur it's a rakudo commit hash
20:21 geekosaur well, a prefix of one. a full commit hash is quite long
20:22 geekosaur everything shortens it to a prefix, you do not have to use a specific length
20:22 BooK ah I didn't do a pull :-S
20:22 BooK geekosaur: I have some git knowledge, yes :-)
20:23 geekosaur skids, the point was more about whether CoreHackers::Sourcery would handle t
20:23 geekosaur aka SourceBaby
20:23 BooK what have I done? It seems Enumeration is getting a lot of attention these days
20:24 geekosaur so I tested it and was surprised when it worked, then tried .WHAT and it expectedly couldn't find its butt
20:25 BooK oooh, Enumeration.WHICH now contains the index, if I understood correctly
20:27 wamba m: say (1,2) === (1,2)
20:27 camelia rakudo-moar f925c6: OUTPUT: «False␤»
20:28 cdg joined #perl6
20:30 cdg joined #perl6
20:31 cdg joined #perl6
20:35 wamba m: dd (set(1),set(2)) X(&) set(2),
20:35 camelia rakudo-moar ac8e09: OUTPUT: «(set(set(1),set(2)), set(set(2))).Seq␤»
20:42 BooK trying to compile rakduo ac8e099bad7c11c724c290ec557e3426f180088d gives me:
20:42 BooK Stage mast       : No registered operation handler for 'threadlockcount' at gen/moar/stage2/QAST.nqp:1576  (/home/book/src/perl6/rakudo/install/share/nqp/lib/QAST.moarvm:compile_op)
20:43 skids BooK: maybe MoarVM and nqp need updates.
20:43 BooK oh, I thought that was automated
20:44 skids depends on what you are building it with.
20:47 Geth ¦ ecosystem: da5203cb58 | (Jonathan Worthington)++ (committed using GitHub Web editor) | META.list
20:47 Geth ¦ ecosystem: Add Cro::TLS
20:47 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/da5203cb58
20:50 cdg_ joined #perl6
20:53 |oLa| joined #perl6
20:54 Cabanossi joined #perl6
20:56 skids .tell SmokeMachine https://github.com/skids/roast/tree/assuming_callable has tests for Whatever.assuming in S06-currying/positional.t
20:56 yoleaux skids: I'll pass your message to SmokeMachine.
20:57 BooK m: .WHICH.say for Less..More
20:57 camelia rakudo-moar ac8e09: OUTPUT: «Int|-1␤Int|0␤Int|1␤»
20:57 BooK m: .WHICH.say for Less...More
20:57 camelia rakudo-moar ac8e09: OUTPUT: «Order|0␤Order|1␤Order|2␤»
20:58 BooK Less...* sadly is an infinite list ending with infinitely many Order::More
21:08 headcase joined #perl6
21:16 Altreus So the famous perl6 fib sequence is «1, 1, * + * ... *», but how do I do that *+* thing with multiplication instead of addition?
21:16 Altreus Do I have to expand it to (@fib Z<*> @fib[1..*]) ?
21:16 Altreus er, Z*
21:17 tadzik m: my $a = 1, 1, *** ...*; say $a[^5]
21:17 camelia rakudo-moar ac8e09: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3my $a = 1, 1, *** ...*7⏏5; say $a[^5]␤    expecting any of:␤        prefix␤        term␤»
21:17 tadzik bah
21:17 tadzik well, that would work too:
21:17 tadzik m: my $a = 1, 1, { $^a * $^b } ...*; say $a[^5]
21:18 camelia rakudo-moar ac8e09: OUTPUT: «(timeout)Potential difficulties:␤    Useless use of ... in sink context␤    at <tmp>:1␤    ------> 3my $a = 1, 1, { $^a * $^b } ...7⏏5*; say $a[^5]␤»
21:18 SmokeMachine skids: great! thanks!
21:18 yoleaux 20:56Z <skids> SmokeMachine: https://github.com/skids/roast/tree/assuming_callable has tests for Whatever.assuming in S06-currying/positional.t
21:18 tadzik hm
21:19 SmokeMachine Ill continue to try to fix that when I arrive at home...
21:19 tadzik m: my @l = 1, 3, { $^a * $^b } ... *; say @l[^5] # that's better
21:19 camelia rakudo-moar ac8e09: OUTPUT: «(1 3 3 9 27)␤»
21:21 timo m: my $a = 1, 1, * * * ... *; say $a[^5]
21:21 timo well, that'll just be a list of ones
21:21 camelia rakudo-moar ac8e09: OUTPUT: «(timeout)Potential difficulties:␤    Useless use of ... in sink context␤    at <tmp>:1␤    ------> 3my $a = 1, 1, * * * ...7⏏5 *; say $a[^5]␤»
21:21 SmokeMachine m: my $a = (2, 3, * * * ... *); say $a[^5]
21:21 tadzik yup
21:21 camelia rakudo-moar ac8e09: OUTPUT: «(2 3 6 18 108)␤»
21:22 timo oh, yes, $a on the lhs
21:22 timo we would have wanted @ on the lhs or the parens SmokeMachine gave
21:23 hankache joined #perl6
21:24 SmokeMachine m: my $a = (2, 3, * × * ... *); say $a[^5]
21:24 camelia rakudo-moar ac8e09: OUTPUT: «(2 3 6 18 108)␤»
21:33 headcase joined #perl6
21:45 Altreus I thought I tried that!
21:56 Altreus what do I read to understand this? my @fact = [\*] 1..*;
21:56 orac1e_ joined #perl6
21:56 Altreus specifically this \* in the operator
21:57 timo it's a triangle reduce rather than a regular reduce
21:57 timo (because the [\ looks a bit like a triangle)
22:03 Altreus oh interesting
22:03 timo some languages call it "produce"
22:08 headcase joined #perl6
22:11 telex joined #perl6
22:13 Altreus I found the docs that explained it :)
22:13 Altreus it was pretty obvious once I simply removed it :P
22:16 timo it'd be nice if [\ would give you an entry immediately, but when you "use web search" you immediately get the right answer, too
22:16 timo but it's got a big red background as if "you did something wrong"
22:22 timo and it would probably be cool if reduce-[ ] and produce-[\ ] also showed up on the page for [ ]
22:23 timo i think i'll open a doc issue
22:39 Cabanossi joined #perl6
22:42 mcmillhj joined #perl6
22:57 mcmillhj joined #perl6
22:58 nadim joined #perl6
23:00 headcase joined #perl6
23:01 skids joined #perl6
23:24 Cabanossi joined #perl6
23:34 cdg joined #perl6
23:41 musca joined #perl6
23:44 vendethiel- joined #perl6
23:45 imcsk8 joined #perl6
23:45 MasterDuke_ joined #perl6
23:58 orac1e_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo