»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
timotimo hm, it could be that's from the innards of NativeCall actually 00:00
krshn does not seem to be particular to Math::Primesieve 00:02
timotimo can you run rakudo's nativecall tests for me? they're in the rakudo star source folder under t/nativecall, should be
krshn Tried installing ABC
gist.github.com/skrisna/1872530985...c890d8accf
timotimo that's a different explosion, hmm. 00:03
krshn Don't see it 00:04
gist.github.com/skrisna/db58ca49d5...e597a5d527
timotimo well, with the primesieve the tests explode, but with ABC it fails to fetch the git repo 00:04
oh
don't see *that*
is there a t folder in there at all? 00:05
krshn No
timotimo what kind of stuff is in there?
oh, wait, the rakudo star for mac is precompiled and probably doesn't come with source at all
krshn gist.github.com/skrisna/675382b75a...3a4f6a6255 00:06
timotimo ah, yeah, no sources at all
krshn I need to leave now. But I will follow-up later tonight 00:08
timotimo i'm going to bed soon, though
BenGoldberg I've got a silly question: 00:09
m: 42.^add_method( 'woot', sub (Int) { say 'ok' } ); 42.woot;
camelia ok
BenGoldberg Will it always be ok to use an ordinary 'sub' there? 00:10
BenGoldberg Or will things ever change such that add_method's second argument must be of type Method? 00:10
lookatme morning o/.. 00:43
BenGoldberg m: my class Foo { }; my class Bar hides Foo { }; say Metamodel::Primitives.rebless(Foo.new, Bar); 01:24
camelia Bar.new
BenGoldberg has just discovered that perl6 *does* have something like perl5's bless ^ 01:25
BenGoldberg m: sub foo(-->"x") {}; sub bar(Int) { }; bar(foo) if False; 02:44
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling bar(Str) will never work with declared signature (Int)
at <tmp>:1
------> 3sub foo(-->"x") {}; sub bar(Int) { }; 7⏏5bar(foo) if False;
BenGoldberg m: sub foo(-->Int) {"x"}; sub bar(Int) { }; bar(foo) if False;
camelia ( no output )
grondilu /j lichess 03:36
oops
lookatme o? 03:37
geekosaur spot the irssi user >.> 03:41
grondilu well, I'm sure there are plenty other IRC client that use that syntax 03:45
though I am indeed using irssi
TEttinger Floe has /j work as well 04:01
grondilu I'm not sure but I think that syntax is part of the IRC protocol itself 04:03
geekosaur not actually, no 04:27
well, let me qualify that a bit. there is an access control feature to tell the server you want access to something, and it grants or denies it and if it is granted you start receiving things related to it 04:28
but /join is also *in clients* related to what you are seeing at the moment, and that level is not covered by protocol; every IRC message in either direction is tagged with the sender/recipient 04:29
so it operates on two levels. also the IRC wire protocol differs in a number of respects from the one clients give you
as to the command itself, I can use / but also have GUI-ish ways to do it 04:30
er I can use /j
irssi's just the most common client where /j is the primary user interface to it :)
rubystallion I find it often hard to work with lazy sequences. Is there a way to turn lazyness off at first so I can get my script running correctly and then turn it on again? 07:02
Also is there an elegant way to non-destructively return an array except at index $i? I currently first copy the array and then splice the new array. 07:04
lookatme What' 07:15
What's wrong with lazy sequence ?
rubystallion lookatme: lazy sequences can only iterate once, so when I accidentally access a sequence twice, I will get runtime errors 07:21
lookatme rubystallion, How about a lazy List/Array ? 07:29
rubystallion lookatme: I basically want to avoid sequences. I don't need laziness, I'm just looping through file lines or using gather/take, which creates lazy sequences 07:36
lookatme rubystallion, But using gather/take will not create a lazy sequence if you don't add lazy 07:41
tyil if I have a multi sub, one with (Str $option, Any $value) and one with (Str $option, Bool $value), will it always use the second one when given a Bool? 07:51
lookatme Yeah, I think 07:52
so
lizmat that's the idea 07:53
lookatme m: multi sub f(Any) { }; multi sub f(Bool $v) { "CALLME".say; }; f(1.so); f(True);
camelia CALLME
CALLME
lookatme Just like you thought, it will use the best match version 07:55
tyil neat, thanks :D
tyil I wasnt sure if it was pure coincidence in my code, or intentional behaviour :p 07:55
lookatme tyil, Em, please check out this docs.perl6.org/language/glossary#i...i-Dispatch 08:02
tyil will do 08:04
Zoffix Well, no one bothered to mention it to rubystallion before they left, but... Just call .cache on your Seq, it'll make it cache it. Many other things cache them, like using indices $seq[42] caches it. I think the issue was the one-shot nature of seqs, not actually their laziness, but if you want to reify everything on stuff just call .elems 10:08
m: my @a = ^10; say @a[^Inf .grep: none 3] 10:10
camelia (0 1 2 4 5 6 7 8 9)
Zoffix And this is one way to non-destructively splice out an el from array. Basically giving it a lazy inf list of indices (so it stops when it reaches end of list) with a none junction that excludes the index you don't want 10:11
m: my @a = ^10; say @a[flat ^3, 4..*] 10:12
boo
camelia (timeout) 10:13
Zoffix Well, that would've been another but I don't think flat preserves laziness when called in this way
m: my @a = ^10; say @a[|^3, |(4..*)]
camelia (0 1 2 4 5 6 7 8 9)
Zoffix m: my @a = ^10; say @a[0, 1, 2, 4, 5, 6, 7, 8, 9]
camelia (0 1 2 4 5 6 7 8 9)
[Coke] unsurprised to see perlmonks still full of vitriol about six. 12:46
raschipi m: my @foo is default (NaN); @foo[1;4;3;6;8;7] = "batman"; say @foo.perl
camelia 5===SORRY!5=== Error while compiling <tmp>
Signatures as constraints on variables not yet implemented. Sorry.
at <tmp>:1
------> 3my @foo is default (NaN)7⏏5; @foo[1;4;3;6;8;7] = "batman"; say @foo
raschipi m: my @foo is default(NaN); @foo[1;4;3;6;8;7] = "batman"; say @foo.perl
camelia Index out of range. Is: 4, should be in 0..0
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
raschipi m: my @foo;@foo[1;4;3;6;8;7] = "batman"; say @foo.perl 12:47
camelia [Any, [Any, Any, Any, Any, [Any, Any, Any, [Any, Any, Any, Any, Any, Any, [Any, Any, Any, Any, Any, Any, Any, Any, [Any, Any, Any, Any, Any, Any, Any, "batman"]]]]]]
raschipi How can I set a default and then have P6 autovivify values? 12:48
jnthn You can't, because the auto-vivification is done via. multi-dispatch on a type object 12:49
raschipi So, no Nanana batman jokes, got it. 12:49
timotimo [Coke]: who poked the hornet's nest this time? :) 12:50
[Coke] www.perlmonks.org/index.pl?node_id=1189896 12:50
jnthn m: my @foo[1;4;3;8] is default(NaN); @foo[0;3;2;7] = 'batman'; say @foo; 12:51
camelia 5===SORRY!5=== Error while compiling <tmp>
is default on shaped Array not yet implemented. Sorry.
at <tmp>:1
------> 3my @foo[1;4;3;8] is default(NaN)7⏏5; @foo[0;3;2;7] = 'batman'; say @foo;
expecting any of:
constraint
jnthn aww
Zoffix So someone quoted me again? :) Sheesh, I should start charging for it. 13:17
timotimo it's almost as if saying something on the internet has to mean something
Zoffix .tell stmuk_ the blue news bar on perl6.org should probably be updated to latest Rakudo Star news 13:18
yoleaux Zoffix: I'll pass your message to stmuk_.
MasterDuke_ the OP was pretty negative, but the rest of the posts weren't 13:20
raschipi I liked the timeline with the comparisson between Perl5 and Perl6. 13:21
Zoffix Yeah, I won't even bother replying to them. What's the winge even? A large software project isn't magically bugless and uber optimized? :)
raschipi Yep, saying a new software project is new shouldn't surprise anyone. 13:22
timotimo i think most people still object to us calling perl6 "new" 13:23
Zoffix FWIW, I think among core devs I'm the most pessimistic about Perl 6's stability yet at this very moment I'm writing web app code I plan to use in money-making production stuff to replace a Perl 5 app that has 123365 lines of code 13:26
ZofBot: haters gonna hate. 13:27
stmuk_ "hard things are hard and take a long time for mostly volunteer projects"
yoleaux 13:18Z <Zoffix> stmuk_: the blue news bar on perl6.org should probably be updated to latest Rakudo Star news
cygx o/ 13:28
Zoffix \o
cygx my problem: I need to bundle some files with a module with relative paths that must not change
can Rakudo and/or zef help me with that? 13:29
Zoffix cygx: and %?RESOURCES isn't good due to changing paths?
cygx exactly 13:30
Zoffix No idea :/
Why do relative paths must not change?
cygx I want to bundle libtcc.dll for the revived version of my TinyCC module, including its include directory 13:31
it's kins of a problem if I end up with a flat resource direcroty full of files named <CHECKSUM>.h 13:32
*kind
timotimo oh but some developers are paid! 13:38
jnthn cygx: I ended up doing a hack like this: github.com/jnthn/p6-ssh-libssh/blo...aw.pm6#L22 13:46
daxim remember when rakudo took half a minute to tally the words in a 30 kilobyte text file? stackoverflow.com/a/3136410/46395 13:47
cygx jnthn: that's one possibility 13:49
alternatively, I misht just stick the stuff into $*VM.config<prefix> (at least on win32)
Zoffix daxim: not read all the text there, but I see the user was using `say [+] 1..100000` as a measure and that's terribly flawed because that (now) just calls .sum on Range object. You could do `say [+] 1..99999999999999999999999999999999999999999999999999999999999999999999` and Perl 6 will give you an answer almost instantly while other langs (like Perl 5) will crash with out of memory 13:51
raschipi m: say [+] 1..99999999999999999999999999999999999999999999999999999999999999999999 13:52
camelia 4999999999999999999999999999999999999999999999999999999999999999999950000000000000000000000000000000000000000000000000000000000000000000
raschipi That's just for ranges or can it do it for sequences too? 13:57
Zoffix raschipi: just ranges 14:01
m: say sum {rand} ... * > .5
camelia 1.12044888125413
Zoffix m: say sum {rand} ... * > .5
camelia 0.961826126359131
Zoffix (not all sequences are predictable)
raschipi When P6 builds arithmetic or geometric series, does it record they were built that way? 14:03
moritz depends on what you mean by "records" 14:04
it's part of the internal state of the series
raschipi Is there a way to retrieve that information? I'm thinking of a module that automatically gets the sequence from the series if possible. 14:07
ops, other way around, get's the series from the sequence.
jnthn It's not reachable from the outside, afaik. 14:08
otoh, you could override the ... operator :-)
And export the overload from your module
Then at least you'd have the original sequence values to work with
jnthn (Though would have to re-do the inference logic yourself then...) 14:09
raschipi It could also sum infinite series when possible then. 14:10
timotimo perhaps it'd be enough to wrap infix:<...>
that's "nice" and manipulative
program-wide, i mean
krshn hi 14:11
raschipi oi 14:12
krshn timotimo: did you get a chance to look at the zef issue from yesterday?
timotimo sorry, i didn't 14:13
Zoffix Well, I ended up repsonding to that monger thread: www.perlmonks.org/index.pl?node_id=1190064 14:14
Mostly 'cause I see it's in the thread about moritz++'s book :)
timotimo good reply 14:16
Geth perl6.org: cf164c0059 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/index.html
Update news

  - The April changes are now in the past
  - We got new Star; put it in the news
14:18
moritz aye, upvoted 14:22
Geth ecosystem: CurtTilmes++ created pull request #339:
Add LibCurl to ecosystem
14:23
Geth ecosystem: b72e4e8d79 | (Curt Tilmes)++ | META.list
Add LibCurl to ecosystem

See github.com/CurtTilmes/perl6-libcurl
14:27
ecosystem: 77e254863f | (Curt Tilmes)++ (committed using GitHub Web editor) | META.list
Merge pull request #339 from CurtTilmes/master

Add LibCurl to ecosystem
curt_ LibCurl is a significantly different approach to libcurl from Net::Curl already released -- please check it out! 14:30
moritz provided by LibCurt? :-) 14:31
curt_ :)
I'm really getting into NativeCall -- it is awesome!
raschipi And it's not even finished yet. 14:32
raiph m: module Foo { enum Mode is export < album auto ... >; sub bar ( Mode $mode ) is export { } }; import Foo; bar album; bar not-gonna-work 14:58
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
not-gonna-work used at line 1
Geth perl6.org: 29fee590b3 | (Zoffix Znet)++ (committed using GitHub Web editor) | fetch-recent-blog-posts.pl
Update blog fetcher for latest Mojolicious
raiph .tell tyil Just a fyi but you could make a Mode error a compile-time error (though with an arguably poorer message); see irclog.perlgeek.de/perl6/2017-05-11#i_14566571 15:00
yoleaux raiph: I'll pass your message to tyil.
Geth ecosystem: 13a29c9a14 | (Curt Tilmes)++ | META.list
Add Redis::Async to ecosystem

See github.com/CurtTilmes/perl6-eredis
15:09
cygx I've decided to just copy the files into wherever Rakudo is installed 15:42
after `zef install TinyCC::Resources::Win64`, using the packages compiler should be as easy as `perl6 -MTinyCC::Win64` 15:43
for people interested in the current state of affairs, the example code works: github.com/cygx/p6-tinycc/blob/mas...example.p6
timotimo once we've got a pure-perl6 C compiler, some modules will become a bunch easier to distribute :) 15:50
zostay how do you convert a Hash to a completely immutable Map, such that the values are immutable too? 15:54
it doesn't seem to be quite as straightforward as it is for Arrays to Lists
or i'm doing something dumb
cygx bye o/
timotimo m: my %foo = a => 10, b => 20, c => 30; my $map = %foo.Map; $map<a> = 99 15:55
camelia Cannot modify an immutable Int
in block <unit> at <tmp> line 1
timotimo zostay: are you assigning the map to a % variable?
zostay m: my $one = 1; my %foo = a => $one; my %map := %foo.Map; %map<a> = 99; 15:56
camelia Cannot modify an immutable Int
in block <unit> at <tmp> line 1
zostay m: my $one = 1; Map.new('a', $one)<a> = 99; 15:59
camelia ( no output )
zostay m: my $one = 1; say Map.new('a', $one)<a> = 99;
camelia 99
zostay that's basically what i was trying, looks like .Map is better for my needs then
timotimo seems so
zostay well... maybe
we'll try it and see 16:00
mcafee How does one convert a string into a regex? 16:05
zostay m: my $s = 'string'; my $rx = rx/$s/; 16:06
timotimo use <$the-string>
camelia ( no output )
timotimo what zostay just wrote will only match the literal contents of the string
m: my $s = 'abc.*'; my $rx = rx/<$s>/; say "hello abc foobar" ~~ $rx 16:07
camelia 「abc foobar」
mcafee Nice, thanks! 16:09
lizmat m: my %h = a => 42; my $m = %h.Map; dd $m; $m<a> = 42 # zostay: .Map should do the trick, really
camelia Map $m = Map.new((:a(42)))
Cannot modify an immutable Int
in block <unit> at <tmp> line 1
zostay m: sub evil { say 'do evil' }; my $s = '{evil()}'; my $rx = rx/<$s>/; "adsf" ~~ $rx;
camelia 5===SORRY!5=== Error while compiling /home/camelia/EVAL_0
Prohibited regex interpolation (use the MONKEY-SEE-NO-EVAL pragma to override this error,
but only if you're VERY sure your data contains no injection attacks)
at /home/camelia/EVAL_0:1…
mcafee Is it possible to parse a string as a Perl 5 regex, as if using m:p5? rx:p5 seems not to work. 16:10
Actually neither does m:p5 now that I try it again. I seem to remember it was possible somehow though... 16:12
timotimo perhaps it has to be P5
mcafee Aha, indeed, thanks. 16:13
timotimo AFK
mcafee Hmm, but that construct appears to just keep a reference to the string around, so map { rx/<$_>/ }, <a b c> just gives a list of three identical $_-referencing regexes, not three distinct ones. 16:29
zostay the will each close the respective values of $_, though, so it should be doing what you mean 16:37
Geth doc: fb29e049c3 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Path.pod6
[io grant] Include exception used in IO::Path.resolve
16:37
zostay my @x = <a b c>.map({ rx/<$_> {say $_} }); for @x -> $rx { "test" ~~ $rx } 16:39
m: my @x = <a b c>.map({ rx/<$_> {say $_} }); for @x -> $rx { "test" ~~ $rx }
camelia 5===SORRY!5=== Error while compiling <tmp>
Couldn't find terminator / (corresponding / was at line 1)
at <tmp>:1
------> 3my @x = <a b c>.map({ rx/<$_> {say $_} 7⏏5}); for @x -> $rx { "test" ~~ $rx }
expecting any of:
/
zostay dur
m: my @x = <a b c>.map({ rx/<$_> {say $_}/ }); for @x -> $rx { "test" ~~ $rx }
camelia ( no output )
zostay m: my @x = <a b c >.map({ regex { <$_> {.say} } }); for @x -> $rx { "abc" ~~ $rx } 16:44
camelia a
b
c
zostay m: my @x = <a b c >.map({ rx{ <$_> {.say} } }); for @x -> $rx { "abc" ~~ $rx }
camelia c
c
c
zostay so, maybe you want regex {} instead
that the .say closes on c, is kind a weird though 16:45
mcafee It's not really parsing a string into a regex per se: my $s = 'foo'; my $r = rx/<$s>/; $s = 'bar'; 'foo' ~~ $r --> (Any)
Isn't that possible at all? And for a golfing challenge I'm working on, I'd like to parse a regex from a whatever star, but /<*>/ predictably doesn't work. 16:46
zostay m: my @x = <a b c >.map({ rx{ <$_> {.say} } }); for @x -> $rx { $_ = "d"; "abc" ~~ $rx } 16:50
camelia c
c
c
Zoffix If my module is using $*PERL in the mainline. How can I fake it in tests? 16:51
moritz my setting $*PERL before loading (with require)? 16:52
Zoffix with require.. hm
Zoffix Thanks. `require` did the trick. 16:55
moritz \o/
Zoffix I was trying to set it and then `use` a module; all inside a BEGIN block and it wouldn't take it
moritz that doesn't work, because if you do BEGIN { my $*PERL = 'foo'; use Bla; }, the BEGIN block again as a runtime and a compile time 16:58
and the "use" is executed at compile time, so before the assignment
moritz you could try BEGIN my $*PERL = 'foo'; use Bla; 16:58
Zoffix I think I tried that too, but eh, require suits my purpose. Thanks 16:59
moritz ... and hope that the BEGIN correctly doesn't introduce a scope (but I wouldn't bet on it) 16:59
Geth ecosystem: 49bf462822 | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Add Augment::IO::Path::ChildSecure to ecosystem

  "Augment IO::Path to provide secure version of .child"
See: github.com/zoffixznet/perl6-Augmen...hildSecure
17:04
jbolden1517 Hi. Question for you all. There is a rather cool tutorial docs.perl6.org/language/haskell-to-p6 17:28
Is there a wiki editable version of this. Figure I'd like to finish the missing parts and perhaps extend it a bit to implement some of the classic Haskell tutorials in p6
gfldex jbolden1517: see github.com/perl6/doc/blob/master/C...IBUTING.md 17:29
Zoffix jbolden1517: no wiki, but the closest approximation would be to use GitHub editor to edit this page: github.com/perl6/doc/blob/master/d...to-p6.pod6 17:32
jbolden1517: you got GitHub account? What's your username. I can give you a commit bit 17:33
TIL we have a Haskel to Perl 6 tut :o
jbolden1517 No I don't but I can create one easily enough
Zoffix jbolden1517: ok, create one :)
jbolden1517 Yes. I was commenting there are missing sections
Zoffix This is quite a wall of text github.com/perl6/doc/blob/master/C...IBUTING.md Makes me think more of this idea (click-n-edit thing): github.com/perl6/doc/issues/1212 17:36
jbolden1517 OK guess I did have one. jbolden1517 is the user name 17:38
jbolden1517 Anyway my other idea was to write a Haskell -> Perl6 tutorial with more of a Haskell feel to it. 17:39
Haskell documentation tends to be organized: computer science concept -> theoretical implementation -> example code -> practical implementation explination 17:40
Geth doc: e0f512a62c | (Zoffix Znet)++ (committed using GitHub Web editor) | CONTRIBUTING.md
Delete `Website styles` section

  - Styles are now autobuilt and there's not /html/css/style.css
   - Shorten giant contributor doc
Zoffix jbolden1517: sent you an invite
gfldex jbolden1517: that would be very welcome. Please leave lizmat a note when you are done so she can add it to the Perl 6 weekly. 17:41
jbolden1517 I was thinking that might be neat to do for perl6. There is enough interesting stuff in 6 (from what I see, very new though did Perl4/Perl5 back in the 1990s) to do that sort of thing for Perl 6. 17:42
raschipi jbolden1517: Do you have the map between computer science concepts and Perl6 concepts already? 17:43
jbolden1517 My idea is sort of like translating: www.willamette.edu/~fruehr/haskell...ution.html (which is really about theory of computation) to Perl6
raschipi It might not be clean in Perl6, we're a diagonal language.
jbolden1517 Yeah that's easy. You all are just taking classic Lisp concepts and implementing a dynamic version of them.
Zoffix jbolden1517: here's the docs for POD6, the language the docs are written in: docs.perl6.org/language/pod 17:44
jbolden1517 Sort of a Perlified version of ideas that have been around since the 1930s.
The implementation is one of the best I've seen but the concepts aren't new
gfldex we only steal the good stuff :)
Zoffix And the site is re-built continuously. And you can find the commit it's built off in the footer of any page and build logs are in docs.perl6.org/build-log/ 17:45
jbolden1517 BTW read the dicussion on the #1212. FWIW as a newbie. Strongly think the click and edit approach is a good one. You want the barrier to first commit to be as low as possible. 17:48
raschipi It might end up as a multimap instead, we probably have more than one implementation for each mathematical concepts.
samcv how do i format DateTime object printing? i remember there being a special method or printer
like you make your own printer and supply it to the datetime and can easily print it how how you wish
b2gills formatter 17:49
jbolden1517 The way Wikipedia (in the old days) got committers was someone knew a single date, or had a reference for a single point. Or could write a good paragraph or... (and if this is unsolicited advice I'll shut up now)
samcv yay
gfldex samcv: docs.perl6.org/type/DateTime#(Date..._formatter
samcv yeah i found it thanks
Zoffix jbolden1517: you could leave that advice on the issue :) 17:50
raschipi It would go from the functional concepts and when it gets to monads explains the rest of the language? 17:52
jbolden1517 BTW FWIW zef install Pod::To::HTML and Pod::To::BigPage are installed by default in Star 18:08
raschipi Perl is a terrible language for monads. Which is not to say you couldn't use them in Perl but they would never work right. 18:09
For a monad to really do its thing everything has to be very strongly typed. 18:10
raschipi This channel has an opinion that monads is just a way to write normal programming in a pure functional language.
jbolden1517 See for Option monad is Java for an example of why monads suck outside of their native homeland
Yeah I get that. Wadler made that joke in his "Imperative Functional Programming" back in 1989. 18:11
What I'd say is the same thing he did. Monads give pure functional programming languages a lousy but tolerable imperative language. 18:12
raschipi Well, that's why I asked that if would explain the rest of the language when you got to monads.
jbolden1517 With Perl 6 you already have a good imperative language.
raschipi The best, believe me.
jbolden1517 No. I might do some monads in Perl.
For example Maybe (Option) in Java would likely work really well in Perl. 18:13
perigrin shouldn't, rather than explaining the rest of the language, you just map to a category where the language is already explained?
jbolden1517 Sorry I'm losing the question. 18:14
perigrin that's okay ignore me I'm just being goofy.
raschipi me too
thanks
gfldex jbolden1517: I think they try to tell you to stop writing what you want to write and go write it already. :-> 18:15
jbolden1517 I am
Just going through you contrib doc
Noticed a bug in it and was telling you
You all do have like a 20 step process.
capnm is the next problem in the contributing doc. Says what to do if you have it, but not if you don't Not on fink. I could build it with CAPN but its been over a decade since I've used CAPN. 18:19
[Coke] (click to edit) we don't have the cycles to manage reviewing and editing un-vetted edits. 18:20
jbolden1517 That's fair.
Overhead of managing lots of contributors is a pain. 18:21
[Coke] (it's also not a source page -> web page 1:1 mapping; source ends up in multiple pages)
b2gills jbolden1517: en.wikipedia.org/wiki/Option_type#Perl_6
[Coke] so, I think it's -possible-, but I'm not sure it's worth the overhead of setting up and maintaining) 18:21
Geth doc: 274587ee46 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Date.pod6
Document Date.clone takes a :formatter arg

Rakudo impl: github.com/rakudo/rakudo/commit/a9a161aef4 Tests: github.com/perl6/roast/commit/f304b9910a
18:23
jbolden1517 b2gills: That is interesting. Does it attach to user defined data structures and objects as well? Then I think it could work. Just build a lazy list of subroutines and evaluate to first success. That's a good example of what I was thinking of. 18:31
b2gills m: class Foo {}; say Foo.defined; say Foo.new.defined; 18:33
camelia False
True
jbolden1517 Yep that works! State has always worked fine with Perl. err was based on Either. Eval is probably more of a Moab integration. 18:38
Hmm. Interesting sounds like Perl6 already has them.
Wow then you really should have a page on corecursion and anamorphisms in perl6 18:40
You have out of the box deforestation. A hadoop back end and you have big data parallelism out of the box! Consider me very impressed. 18:42
MasterDuke_ huh, and here i thought deforestation was a bad thing... 18:45
guess Perl 6 isn't going to power Greenpeace's website anytime soon
jbolden1517: the above was a not very clever way of asking what you mean by "deforestation"? 18:46
gfldex m: my @a = { False }, { True }; dd @a; say @a.first({$_.()}); 18:47
camelia Array @a = [-> ;; $_? is raw { #`(Block|52082160) ... }, -> ;; $_? is raw { #`(Block|52082232) ... }]
-> ;; $_? is raw { #`(Block|52082232) ... }
gfldex m: my @a = { False }, { True }; dd @a; say @a.first(*.());
camelia Array @a = [-> ;; $_? is raw { #`(Block|67651528) ... }, -> ;; $_? is raw { #`(Block|67651600) ... }]
No such method 'CALL-ME' for invocant of type 'Whatever'
in block <unit> at <tmp> line 1
jbolden1517 Oh deforstation is a traversal technique for data structures 18:49
Essentially it turns a lot of exponential time algorithms into linear time algorithms. It can be automatically applied if you have corecursion that works 18:50
Essentially most complex algorithms look like: take simple data -> make more complex data -> do something to that complex data to produce simple data 18:51
For example "find all accounts with a balance over $1000 in Pennsylvania and check against these 20 criteria to determine if we should try to sell them an account upgrade" 18:52
Starts with a simple criteria (accounts with a balance over $1000) performs (expand simple data to complex data with those criteria) then compress that back to a simple list of accounts 18:53
Written naively this ends up being an exponential algorithm on accounts. For example typically in SQL you would perform a bunch of joins and get back a huge table of those 20 criteria. 18:54
But obviously this algorithm can be done one account at a time. there is no need for the global table you just need each row. Which means it can fork against CPUs. 18:55
jbolden1517 Each node can do part of the work and then combine at the end (a map reduce) 18:55
That's what hadoop does. But if Maybe / Option monad works then Perl6 can rewrite naively written code automatically to run in parallel. The algorithms for this transformation are really simple. 18:57
jbolden1517 So I'm suddenly very excited. This is the sort of thing you could never do with Perl5 code 18:58
jbolden1517 It works in Haskell because Haskell doesn't let you do the sorts of things that would screw it up. 18:59
Did that help?
cs.stackexchange.com/questions/101...-a-program
MasterDuke_ it did, thanks
Geth ecosystem: 0ff7ad4fcf | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Replace Augment::IO::Path::ChildSecure...

  ...with IO::Path::ChildSecure:
  "Secure version of IO::Path.child": github.com/zoffixznet/perl6-IO-Path-ChildSecure
Gone off the idea of it being an augment. The globality of it is gross
19:01
jbolden1517 Anyway Coke offer stands if there ever gets to be an easier way. And Perigrin. That category joke was pretty funny. Sorry at the time I was distracted trying to figure out details of Zef. You deserved more appreciation for it. 19:09
raschipi Oh yeah, I didn't see it. Link the section on monads to docs.perl6.org/language/syntax 19:15
It seems we're ahead of schedule, making the impossible easy.
samcv are anyone know if there's any issues on windows where shell needs to be used and run cannot 19:17
due to path issues. launching another perl 6 process. it should be fine to substitute run for shell right?
i know it works on linux. wasn't sure why this module i'm gonna PR uses shell, could have just been overlooked idk
samcv oh wait. windows doesn't even have shell piping which this used 19:19
so there shoudn't be any issues if anything this will more likely work
Geth doc: 72ea634915 | (Jan-Olof Hendig)++ | doc/Type/Str.pod6
Fix a couple of copy paste errors
19:30
geekosaur er? the windows nt lineage has ~always had true pipes 19:38
(possibly 3.1 didn't; 3.5 did)
it was the DOS-based ones that had to fake it
samcv geekosaur, does it have same semantics? 19:39
geekosaur mind, the API is a bit of a bear, so it's usually easier to go through CMD...
fairly similar 19:40
well, instead of being anonymous like pipe(2) on Unix you always have named pipes in a virtual filesystem
which is how you plumb them 19:41
(this actually gives you a bit more flexibility, plus avoids many of the edge cases with named pipes/fifos on unix) 19:42
geekosaur um. what the heck did I just do to hexchat/... 19:45
geekosaur anyway I admit I am not an expert on this (or much of anything Windows) but at the shell/cmd level it seems similar enough 19:45
Geth doc: 69296f211b | (Jan-Olof Hendig)++ | doc/Type/Str.pod6
Fix incorrect split example result
19:57
perigrin jbolden1517: thanks :) 20:20
tyil / 5 20:36
yoleaux 15:00Z <raiph> tyil: Just a fyi but you could make a Mode error a compile-time error (though with an arguably poorer message); see irclog.perlgeek.de/perl6/2017-05-11#i_14566571
tyil woops
also, thanks raiph :>
azawawi hi 20:52
raschipi hello
tyil o/ 20:53
raschipi bye
timotimo heyo azawawi 20:53
azawawi timotimo: made some progress in libcaca :) 20:55
timotimo cool! i have not continued work on libsixel :( 20:56
azawawi hmmm pasteboard.co/ seems to be down. Any other image pastebin suggestions? 20:57
timotimo i usually use imgur, but that sometimes goes "over capacity" 20:58
and it's a bit more like a community thing than a pure paste-images-to-put-into-IM-or-chatroom thing
tyil azawawi: uguu.se
does any file, really, but works for images
you can curl to it and get an url back 20:59
azawawi cool
thx
timotimo the xfce screenshooter tool also has zimagez support built-in 21:00
tyil there is also a number of pomf.se clones that should allow the same
azawawi a.uguu.se/Xn4MoafJQUjm.png # More 3D ASCii art with Terminal::Caca :)
timotimo you're doing perspective computation all with pure math, yeah? 21:01
azawawi github.com/azawawi/perl6-terminal-...sphere.pl6 21:02
my 3D math is rusty but im improving it :)
timotimo uh huh
i didn't do 3d math myself yet
timotimo only what opengl offers you, like glRotatef and friends 21:03
azawawi timotimo: next stop github.com/nosir/obelisk.js port :) 21:18
azawawi installs Peek to record an animated gif :) 21:19
timotimo peek is all right 21:21
azawawi a.uguu.se/NSO2pzcTbn13.gif # Icosphere v2 :) 21:25
timotimo oh that's kinda slow :( 21:26
azawawi gif file download is slow 21:27
wait for it :)
azawawi im actually adding a sleep 0.0042 / 2 # :) 21:28
timotimo oooh now it's better
azawawi What do you think? 3D Perl6 library on top on Terminal::Caca? :) 21:29
azawawi there is a function which i didnt still implement caca_fill_triangle_textured 21:30
samcv cool. ok so i'm doing my grant documentation in pod6
samcv and having a script that automatically converts to .md and pushes to github's wiki github.com/samcv/Unicode-Grant/wik...code-Files 21:30
and i like can between the pages as well
with L<foo|page-name> 21:31
azawawi cool 21:31
timotimo azawawi: does libcaca support 256 color and 24bit color?
azawawi timotimo: let me check 21:32
timotimo i know only one terminal emulator that has 24bit color support, actually
that's Konsole
samcv does not seem to be rendering deeper embeded =item's though
azawawi timotimo: 16 color so far 21:34
timotimo only 16? wow :( 21:35
azawawi well 16 is better than 2 :) 21:38
timotimo eh, sure 21:39
samcv guess i'll just have to fix it i guess :)
fill all the everything
timotimo samcv: how many colors? :) 21:40
samcv idk no colors 21:41
samcv sweet success! 21:45
samcv nice. that worked out way better than i had hoped :) 21:47
timotimo nice 21:49
samcv perfect.
samcv yay so nested :) github.com/samcv/Unicode-Grant/wik...code-Files 21:55
timotimo, should there be a way to make checkboxes with Pod?
timotimo hmm. well, pod allows you to put whatever new directives you want in 21:56
just have to support it in the renderer, too, i guess?
samcv hmm looks like if i did `=item [X]` when i convert to pod it shows up as checkbox
so that's good enough :)
timotimo neato. 21:57
Geth ecosystem: 3c2ec3fe6c | cygx++ (committed using GitHub Web editor) | META.list
revive TinyCC module
22:05
samcv timotimo, you know if i can put variables in a pod link? 22:07
timotimo um, huh?
samcv like L<Latest GCB|unicode.org/files/$univer/graphemeclusterbreak.txt> 22:17
i mean they may have a link that goes to the latest. but i was curious it made me think
timotimo nah, pod won't interpolate variables 22:18
azawawi timotimo: a.uguu.se/BMsYVVlKaQLM.gif # more colors :) 22:30
timotimo: caca.zoy.org/doxygen/libcaca/group_...a3050550bc 22:31
timotimo did you past the right link there? 22:32
it still has only the two colors?
azawawi hmmm give me a second 22:33
my bad... wrong upload :) # a.uguu.se/YL03CApU2Gzi.gif 22:34
azawawi needs now a bit of shading 22:35
timotimo mhhh gouraud shading? :) 22:37
timotimo phong shading? 22:37
normalmaps!!
azawawi :) 22:39
timotimo make it reflect an environment! ;) 22:40
azawawi And Camelia flying :)
timotimo with flapping wings 22:42
azawawi :) 22:44
azawawi good night #perl6 22:50
Geth ecosystem: afd0c8189b | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Add RakudoPrereq to ecosystem

  "Specify minimum required versions of Rakudo":
  github.com/zoffixznet/perl6-RakudoPrereq
22:53
Geth whateverable: f5459ff7c9 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Unicodable.p6
I don't know. Some refactoring and a bug fix maybe?

Unfortunately I have no time machine so I cannot go back and ask myself why these changes were made.
It seems that propdump didn't handle weird characters properly, so some code was moved to separate subs in order to be reused by propdump.
23:53
AlexDaniel how many times did I promise myself not to leave uncommitted changes… 23:57