»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:02 cpage_ left, cpage_ joined 00:11 huggable left 00:12 grondilu left 00:21 TEttinger joined
stevieb me: sub a($a --> 1){if $a==1 {return Failure}}; a(1).say 00:25
m: sub a($a --> 1){if $a==1 {return Failure}}; a(1).say 00:26
camelia rakudo-moar 5ca43c: OUTPUT«(Failure)␤»
stevieb that's pretty awesome to see in the signature what the default return is on success
m: sub a($a --> 1){if $a==1 {return Failure}}; a(2).say
camelia rakudo-moar 5ca43c: OUTPUT«1␤»
timotimo it'll be even more interesting when we can --> $foo and it'll not only declare $foo for us, but also return it from whereever we leave the routine 00:28
sortiz stevieb, beware that those are returning the Failure type, not an instance. 00:29
stevieb soritz: thanks. I was just testing while reading the docs. It can return either Nul or Failure, otherwise return has to be empty (or no return at all) 00:30
ie. an implicit return
sortiz timotimo, yes. I'm waiting that too.
stevieb timotimo: that'll be neat
timotimo i'm just glad nobody's saying "well volunteered!" 00:31
sortiz It is spec'd
stevieb doc.perl6.org/type/Signature is the doc I've been waiting to get to. I've had so many questions, and this doc explains to me the majority of things I've needed to know to start writing some real initial perl6 code 00:34
00:35 yqt left
timotimo hm, that makes sense 00:36
signatures are a really important part of perl6
sortiz Perl6's Signature is really cool!
stevieb yeah. For instance, I had no idea what things like `*@' meant. Instead of asking, I knew I'd hit the doc eventually. I've spent the last couple of weeks when I've had time learning about the types and methods and things, now I'll be able to start using them in more than one-liner tests 00:37
m: my %h= :foo<1>, :bar<2> 00:48
camelia ( no output )
stevieb m: my %h= :foo<1>, :bar<2>; say %h
camelia rakudo-moar 5ca43c: OUTPUT«{bar => 2, foo => 1}␤»
stevieb that's a new way to create a hash :)
00:49 abruanese joined
BrokenRobot m: my %h= :1foo, :2bar; say %h 00:51
camelia rakudo-moar 5ca43c: OUTPUT«{bar => 2, foo => 1}␤»
stevieb now that's interesting! 00:52
so it separates at the Type...?
m: my %h=:afoo, :bbar; say %h 00:53
camelia rakudo-moar 5ca43c: OUTPUT«{afoo => True, bbar => True}␤»
BrokenRobot You can only use positive Ints in that form
stevieb makes sense
BrokenRobot m: my %h = :६६६meow; say %h
camelia rakudo-moar 5ca43c: OUTPUT«{meow => 666}␤»
BrokenRobot m: my %h= <foo 1 bar 2>; say %h 00:54
camelia rakudo-moar 5ca43c: OUTPUT«{bar => 2, foo => 1}␤»
b2gills :1foo was added for s:1st/// s:2nd// etc 00:55
stevieb m: sub a(*%h){%h.say}; a(<a 1 b 2>); 00:57
camelia rakudo-moar 5ca43c: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in sub a at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
b2gills m: sub a(*%h){%h.say}; a |%( <a 1 b 2> ); 00:58
camelia rakudo-moar 5ca43c: OUTPUT«{a => 1, b => 2}␤»
stevieb that's what I was just testing ;)
haven't seen the pipe used like that in the docs yet though
sortiz And is cool in: .hyper(:10batch, :3degree) 00:59
b2gills It was added in the rush to the Christmas release, so may not be docced
stevieb if it's not documented, could you please explain what it's doing? 01:00
sortiz It is documented in doc.perl6.org/type/Capture 01:01
stevieb I could play with it and add it into the docs when I get to the part it belongs in
soritz: thanks
sortiz The reverse of Signature.
parabolize alsa doc.perl6.org/language/operators#prefix_|
timotimo hyper and race are still broken, yeah
parabolize it flattens things
timotimo it's pretty much the next thing on jnthn's list
stevieb been fun all, gotta go. cheers! 01:02
sortiz timotimo, semi broken, seems to be working well in JsonC.
timotimo oh?
sortiz I'm using at unmarshall so is 2x faster than Json::Fast. 01:03
timotimo what, only?
maybe it's suffering from having too many calls to C functions? 01:04
sortiz Yep. 01:05
The pure parser is 200x 01:06
timotimo ah, yeah, i expected at the very least 100x
of course i'm also hopeful for future improvements to make JSON::Fast competitive. both improvements in moar&friends and in JSON::Fast. 01:07
sortiz Parsing panda's projects.json is 0.005056s vs .3871236s 01:08
timotimo some of the decisions i made in JSON::Fast in the past may now be obsolete and some code might want to be changed to perform better again 01:09
01:10 molaf left
ugexe nine: because its nearly 3 months stale now, and all my offers to rewrite it to get merged have been ignored. i was told to implement it and i did, and then was told it was waiting one change after another. i was willing to do a little extra work to work around new conflicts, but it sure seems it doesnt work the other way around 01:19
01:22 molaf joined 01:28 adu joined
mst ugexe: would this be better being a toolchain conversation so it doesn't get broken up? 01:28
01:28 ssotka left
adu what is a toolchain conversation? 01:32
ugexe mst: i found there was no point in the toolchain channel. i'd wager the logs are primarily myself bringing up problems/ideas with little to no feedback and certainly no path forward on anything 01:33
mst ugexe: I've been reading back every so often and there seems to be discussion
adu ideas are hard to come by these days 01:34
mst ugexe: if you feel like you're being ignored, as I said before, please do raise the issues in there and ping me, given I've done quite a lot of toolchain stuff and can maybe help deconfuse things
ugexe: I offered this when I first helped create the channel and you've never taken that offer up; I don't entirely understand how you can claim there's no point to it when you didn't take up the offer that was part of the point of having it 01:37
ugexe mst: there is on confusion. its in a constant state of waiting on precomp change X, then precomp change Y, things that have little to do with the PR i submitted other than a few conflicts that would need to be fixed 01:38
is no
dalek c: fe7627b | util++ | doc/Type/ (2 files):
Fix typos.
mst ugexe: so tag me in in the appropriate venue, and we can discuss that 01:39
adu ugexe: I have nothing to do this weekend, you can always talk to me 01:43
01:45 ilbot3 left
ugexe adu: while id prefer to talk over drinks, what i need is someone with a commit bit 01:46
adu hrm
01:46 ocbtec left
adu ugexe: I have a commit bit 01:47
ugexe: I am andydude on github
01:47 ilbot3 joined
ugexe adu: oh ok. well for context this is the PR github.com/rakudo/rakudo/pull/729 which has multiple blessings as it is 01:48
adu ugexe: ok, so let me get this straight, every path is relative to "resources/" except that one, and that's what you're fixing? 01:53
01:54 vendethiel joined
ugexe adu: while it does fix some path related bugs in the current implementation, its primarily turning Distribution into a role interface so that more specialized implementations can simply be passed in. its based almost entirely on the S22 design doc 01:55
adu ugexe: what happened to all the "has"s in src/core/Distribution.pm? 01:56
01:57 ssotka joined
ugexe adu: they are redundant. the current Distribution.pm is a struct thats essentially the meta6 file 01:57
adu ugexe: so you're turning a class into a regular hash, and providing the same features with a role
ugexe in my implementaiton those are simply accessed directly from `method meta`
it provides the same features for the core, but allows it to be expanded by anyone else. then you could pass in a Distribution::Deb or Distribution::Tar and rakudo would be able to understand how to install them 01:59
you can pass in a Distribution that accesses the files in a streaming fashion over a socket 02:01
adu ugexe: I like the sound of that, but how do you guarantee that the hash always contains "depends", and guarantee that it's an array?
ugexe it doesn't have to contain `depends`. as far as enforcing the type, its broken as it is. its assigned via Distribution.new(|%hash) which will give you ( [1, 2, 3] ) instead of (1, 2, 3) 02:04
eventually you could create a META6 role to enforce those things
02:06 johnjohn101 is now known as Guest19630
adu ugexe: is that what S22 says? 02:06
ugexe but you could also enforce those things inside `method meta`, as the meta data is not accessed by the attribute %!meta/$!meta but through the interface method. the attribute just holds the original data to be interpretted
s22 says depends is optional 02:07
adu oh ok
ugexe the ([]) vs () format is a side effect of the binding nature of BUILD + |%hash
adu name, version, provides looks mandatory, does "role Distribution" enforce that? 02:08
adu is a big fan of coding to the spec 02:09
I've been using HAR for about a year now, and I'm still astonished by the fact that the author of the official HAR viewer requires the "pages" attribute when the spec he also wrote says that "pages" is optional 02:10
ugexe not yet. something i brought up in toolchain a few times was that some things need to be broken. version for instance. because currently it looks for `ver` or `version`. or for auth it uses `auth` or `authority` or `author`. its agreed these need to be broken and use a specific thing, but the discussion on what to break never goes far. nevertheless that is a thing that can be added *onto* this 02:12
a problem right now is we are moving on 1 direction, precomp. we could be moving in 2 directions though, distribution/meta and precomp
adu can you explain what you mean by "precomp? 02:13
also, what do you mean by the "distribution/meta" direction? 02:14
ugexe im not sure i even know anymore. originally the pr was held back while changes to precomp were in the works because the work in that fork would conflict with the pr. but those changes have happened as far as i know 02:15
one half is the distributors portion (how distributions are packaged), one half is the consuming portion (rakudo). you have an interface that rakudo understands, then your distributions can fufill that in any number of ways. this means you can have your standard perl6 style distro, but also have one that can read from a .deb, or one that reads directly from a .tar or github etc 02:17
adu ugexe: I would be happy to commit it if you could guarantee the items listed as "mandatory" in S22 02:18
ugexe adu: i can easily accommodate required fields 02:19
but there does have to be default values in some cases, like for versions. a Distribution representing a basic path layout without a meta6 file (like perl5, and CompUnit::Repository::FileSystem can do) is version * 02:22
02:24 noganex joined 02:27 noganex_ left
adu ugexe: ok, so is there still a debate between $.name as an attribute and $.name() as a method? 02:30
ugexe adu: it needs to be called from `method meta`. so $dist.meta<name> (this is how the spec describes accessing meta data). but this also makes it so you can make your own `class Distribution::XXX does Distribution { method meta(...) { ... }; method name { self.meta<name> }; }`. or set an attribute $.name from self.meta<name>. this allows you to pass in the implementation for accesing the meta data itself (for 02:35
instance, it might use the github API to make a net request to raw meta6 file)
gist.github.com/ugexe/8684abcc89aa...st-pl6-L58 for instance this allows a Distribution from a .tar file without extracting the entire thing to the file system. and it doesn't have to extract anything at all until the actual methods are called 02:38
adu ah ok I see 02:39
so how do you indent on guaranteeing name, version, description, etc?
ugexe or via network access gist.github.com/ugexe/1026b2730abe...st-pl6-L39 02:40
adu s/indent/indend/
ugexe im thinking a Meta::Strict role where when composed it will die unless self.meta<name> etc 02:41
adu yeah, errors are good 02:43
dalek c: 4436247 | (Daniel Green)++ | doc/Type/IO/ (2 files):
Add documentation for the new IO.mode method

This requires Rakudo PR #773, which implements RT #125489
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=125489
dalek c: d857a09 | (Daniel Green)++ | doc/Type/IO/Path.pod:
Add some more explanation (labster++)
c: 5762144 | (Daniel Green)++ | doc/Type/IO/Path.pod:
Add an example of using the ourput of IO.mode as input to IO.chmod
c: d838de5 | lizmat++ | doc/Type/IO/ (2 files):
Merge pull request #565 from MasterDuke17/RT125489

Add documentation for the new IO.mode method
02:44 addison left 02:45 skids joined
dalek c: 34b0873 | (Zoffix Znet)++ | doc/Language/testing.pod:
Remove custom operators work-around prose for cmp-ok

It now fully supports user-defined operators passed as Str
03:00
03:02 adu left
dalek c: 29c0955 | (Zoffix Znet)++ | doc/Language/testing.pod:
Fix typo
03:04
ugexe for the record all those demo Distribution::<...> implementations worked for installs at one time. they aren't theoretical 03:05
03:21 skids left 03:25 wnh_ left 03:32 kid51 left 04:01 kaare_ joined 04:06 Cabanossi left 04:10 Cabanossi joined 04:28 buharin joined
buharin hey, I just thinking about infix& 04:34
why we call this infix 04:35
the examples use has &!callback
it looks more like prefix
however ! is prefix 04:36
04:36 khw left 04:42 xinming_ joined 04:45 xinming left
geekosaur buharin, wrong & 04:57
infix:<&> would be the junction operator, not the code sigil
buharin oh ok 04:59
geekosaur (I should probably say Callable sigil) 05:02
buharin geekosaur, do you know what's this proto sub infix:<===>(Any, Any)? 05:22
is it something probably operator implementation in this case 05:23
Woodi ugexe++ # lots of work 05:34
05:39 araujo joined, araujo left 05:40 araujo joined
Woodi ugexe: looks it wasn't just lack of time when jnthn++ was happy to not do Repos code :) and then nine++ started a thing so he is a bit like a designer/manager on that feature so usually it is good to make common plan or something... such things aren't formalized in open source but in some % it works like that. but now I see just two innocent sides blaming other side... and two almoust 100% complete 05:44
implementations ?
05:57 buharin left 06:10 CIAvash joined 06:12 buharin joined
Woodi m: my @l = <a b c>; @l.map: { .say xx 2 } 06:16
camelia rakudo-moar 880f5c: OUTPUT«a␤a␤b␤b␤c␤c␤»
Woodi err, it's not working like that for me...
nine ugexe: to be clear: the only think keeping PR 729 from getting merged is that it is backwards incompatible with the modules installed before it's merge. I thought you'd fix that (probably using the repo upgrade mechanism that has since been merged) and update the PR. 06:22
ugexe: I think I've said multiple times how much I'm looking forward to that PR being merged as it cleans up a lot of organically grown code and also makes my work simpler and that I'm glad you've taken it on because you obviously have thought it through very well. 06:23
ugexe: Also, you could have requested a commit bit for yourself anytime. All you'd have to do is send in some signed form to the Perl Foundation. 06:24
06:28 xinming_ left 06:29 xinming joined 06:31 wamba joined
jdv79 is that still really necessary? 06:33
06:35 buharin left, spider-mario joined 06:37 Xliff joined
nine jdv79: I think so 06:38
06:49 ssotka left 07:03 buharin joined 07:04 RabidGravy joined 07:09 rkr joined 07:11 rkr left 07:13 grondilu joined 07:14 firstdayonthejob joined 07:17 mayuresh joined, FROGGS joined, buharin left
mayuresh hello all :) 07:17
07:18 mayuresh left
FROGGS o/ 07:19
07:19 jack_rabbit left 07:20 jack_rabbit joined 07:27 rurban_ joined
stmuk www.youtube.com/watch?v=t-hZdeR7oVM <=- talk about using Perl 5 to promote 6 07:28
07:28 girafe joined
stmuk also www.youtube.com/watch?v=Fv42f7VZffE "Parallel Crawler in Perl6 and Go" - Jader Dias 07:29
07:33 sortiz left 07:34 domidumont joined 07:35 timotimo joined 07:39 domidumont left 07:40 domidumont joined 07:43 rindolf joined 07:46 kaare_ left 07:50 lizmat left 07:52 firstdayonthejob left 07:53 lizmat joined 07:55 girafe left 07:57 domidumont left
RabidGravy boom! 07:57
08:06 jjido joined 08:09 eroux joined 08:10 rindolf left 08:11 huggable joined 08:17 cpage_ left 08:22 jjido left 08:25 buharin joined 08:30 domidumont joined 08:31 mr-foobar joined 08:33 eroux left, eroux joined 08:35 darutoko joined, domidumont left 08:40 buharin left, FROGGS left 08:41 rindolf joined 08:43 bjz joined 08:45 bjz_ left 08:49 eroux left 08:51 aries_liuxueyang left 08:53 aries_liuxueyang joined 09:00 cpage_ joined 09:25 cpage_ left 09:31 Zero_Dogg left 09:32 Zero_Dogg joined 09:37 setty1 joined 09:39 TEttinger left 09:57 buharin joined 10:05 jjido joined 10:07 jjido left, buharin left 10:12 jack_rabbit left 10:15 araujo left 10:18 araujo joined 10:24 buharin joined 10:27 FROGGS joined 10:29 shibly joined, shibly left 10:34 buharin left 10:44 bjz left 10:45 bjz joined 10:47 wtw_ is now known as wtw 11:03 kid51 joined 11:17 kurahaupo joined 11:26 jonadab left 11:30 buharin joined 11:33 vibha joined 11:35 kurahaupo_ joined, jjido joined 11:36 kurahaupo left 11:40 ChoHag left 11:42 ChoHag joined 11:46 kurahaupo_ left 11:48 ChoHag left 11:49 kurahaupo joined 11:50 aries_liuxueyang left 11:51 ocbtec joined 11:55 khw joined 11:56 ChoHag joined, kurahaupo left 11:57 buharin left, aries_liuxueyang joined 12:04 _mg_ joined 12:11 huggable left, kurahaupo joined 12:14 Zoffix joined
Zoffix ab5tract_, ping 12:14
12:18 kurahaupo left 12:19 kurahaupo joined, kurahaupo left
Zoffix diakopter, would you like `diakopter` or your real name in Rakudo release credits? 12:21
ab5tract_, same Q to you. 12:22
the CREDITS file has info but the tool picks up nicknames and I'm unsure if that's on purpose :)
12:23 skids joined 12:25 _mg_ left 12:27 jjido left 12:29 yqt joined 12:46 rgrinberg joined 12:50 rgrinberg left 12:51 rgrinberg joined
Zoffix I gotta move forward with what I'm doing, but if you wish to amend the results for future stuff, please modify entries in github.com/rakudo/rakudo/blob/nom/CREDITS 13:04
13:04 Zoffix left 13:06 kaare_ joined 13:07 tbrowder_ joined
tbrowder_ mornin' p6 people 13:08
13:08 pierrot left, pierrot joined 13:09 pierrot is now known as Guest74224, aries_liuxueyang left
tbrowder_ I have another doc pull request for checking: <github.com/perl6/doc/pull/603>; Zoffix I know is interested, and it isn't trivial 13:09
skids man the web is slow (some cdn is having issues I guess) 13:10
13:12 aries_liuxueyang joined
BrokenRobot I was interested because someone asked for rakudo ENV vars and I couldn't find them on the doc site. 13:13
Kinda busy today so I won't review :)
.oO( forgiveness > permission )
vis-a-vis mergin :P
13:16 domidumont joined 13:18 MasterDuke_ left 13:20 Sgeo left 13:29 sammers joined
sammers hi all 13:30
is there a simple way to copy a directory and all of its contents to a new directory?
skids wonders what he has to nuke to upgrade months old rakudo 13:31
moritz the install dir
maybe also ~/.perl6/precomp
dogbert17 hello #perl6 13:36
13:36 tbrowder_ left
dogbert17 the Role Baggy contains a method 'default' which simply returns zero. does anyone know why it's there? 13:37
13:47 mr-fooba_ joined
dalek c: d3dc9f7 | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod:
Added docs for Baggy.default
13:48
13:49 mr-foobar left
skids Yay 4 months and none of my modules got broken :-) 13:53
13:56 domidumont left 14:03 aries_liuxueyang left 14:04 setty1 left 14:05 aries_liuxueyang joined
sammers does anyone know of a good watch / supply example? 14:07
ugexe nine: i mailed that form months ago, and im not sure if they got it or not because there is only 1 person who can give out commit bits and they are not really around anymore 14:14
nine ugexe: oh yes, been there :/ Took quite a while for me, too. Coke can possibly help 14:15
psch [Coke] or perlpilo1 iirc 14:19
at least if i'm not misremembering the latter to have been PerlJam
and yeah, took about three or four months for my commit bit
the problem isn't really the commit but, but the paperwork in TPF afaik 14:20
14:25 yqt left 14:29 Actualeyes joined
awwaiid sammers: cp -av olddir newdir # copy files 14:33
dalek c: 4aee715 | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod:
Added docs for Baggy.Set
sammers thanks awwaiid
awwaiid sammers: the -a will keep all the permissions and copy sub-directories, the -v will tell you the name of the files it is copying
sammers ok, is there a way to do this in p6? or just use shell? 14:34
awwaiid all things can be done in p6 :) . Guess it depends on what you're doing ... but qx{ cp ... } is an easy way to do it without reading any docs :) 14:35
sammers yeah, thanks 14:36
awwaiid sammers: looks like doc.perl6.org/routine/copy will at least do one file. Maybe combine that with File::Find. But that sounds like work. 14:37
14:39 aries_liuxueyang left
sammers yeah, that is all I could find. 14:40
thanks
14:41 aries_liuxueyang joined
nine Maybe we could speed up the commit bit part. Should be enough if the one handing out the bit has seen the signed paper. No need to wait for TPF to acknowledge receiving it. 14:46
14:49 skids left 14:56 rgrinberg left 14:58 AlexDaniel joined
AlexDaniel tbrowder: it is non-trivial indeed 14:59
Woodi @l = slurp $file; don't create lines by default now ? 15:04
gfldex m: my %h; say so %h<foo>; sub f (%h where %h<foo>) { say 'hit' }; f(%h);
camelia rakudo-moar f19241: OUTPUT«False␤hit␤»
gfldex why does it do that?
AlexDaniel Woodi: what about slurp($file).lines ? 15:05
gfldex m: my %h; say so %h<foo>; sub f (%h where { %h<foo>:exists }) { say 'hit' }; f(%h);
camelia rakudo-moar f19241: OUTPUT«False␤Constraint type check failed for parameter '%h'␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel or lines slurp $file
Woodi AlexDaniel: that work :) but it is strange change from v5... 15:06
AlexDaniel Woodi: perhaps a better way to do it is ‘file’.IO.lines 15:07
Woodi maybe
AlexDaniel Woodi: I don't remember 「slurp」 in perl 5 so I'm not sure what are you talking about ;)
gfldex m: my %h = foo => True; say so %h<foo>.defined; sub f (%h where so %h<foo>) { say 'hit' }; f(%h); %h = (); f(%h) 15:08
camelia rakudo-moar f19241: OUTPUT«True␤hit␤Constraint type check failed for parameter '%h'␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
Woodi AlexDaniel++ : .lines works, thanx
15:09 rurban_ left
AlexDaniel . 15:10
stevieb AlexDaniel: Woodi may be speaking of File::Slurp 15:13
AlexDaniel: where you can import the slurp() function which is an alias for read_file(): metacpan.org/pod/File::Slurp 15:14
15:15 Actualeyes left 15:16 firstdayonthejob joined
Woodi stevieb: I think in Perl5 $lines = <$fh>; was doing .lines... 15:16
mst in perl5 you'd need @lines to get all lines
awwaiid and chomp
mst stevieb: nobody should ever use File::Slurp - it's completely broken 15:17
Woodi oops, yea, s/\$/@/ :)
mst stevieb: you wanted File::Slurper or IO::All or Data::Munge or Path::Tiny
stevieb mst: I know. I'm just thinking that's what he may have been thinking of
mst Woodi: ^^
stevieb: notice I highlighted him as well to make sure you both saw the recommendations
Woodi mst: I wanted <> :)
stevieb to slurp an entire file in perl5 into a scalar, you need to set $/
mst my $data = do { local (@ARGV, $/) = $file; <> }; 15:18
15:18 lizmat left
Woodi mst: why so complicated ? 15:19
AlexDaniel because perl 5
Woodi ah, right, $line = <> gives just one line...
stevieb yes, the first line 15:20
15:22 ssotka joined
Woodi anyway, @a.pick xx 300; gives me string with ' ...)' ending :) not very *nixy :) 15:22
psch Woodi: &say puts the ..., not &infix:<xx> 15:24
well, or camelia
Woodi psch: but how to use perl6 script in Unix pipeline ??
no, sh too
psch Woodi: don't use &say, but &print?
geekosaur dpm 15:25
don't use say for real output
say uses .gist to give a more compact but incomplete view
it's convenient but not correct if you need full output
psch Woodi: in general, you don't want &say for production code
AlexDaniel actually, you probably want 「put」 15:26
geekosaur (this is a difference from perl5, where say is just print with newline appended)
psch Woodi: if you want &print but with appended \n i think that's what &put is for
Woodi seriously ? never (seriously) heard about it :) 15:27
15:28 leont joined
Woodi p[rin|u]t @a.pick, "\n" xx 300 gives lots of \n :) 15:28
psch Woodi: afaik, every single bit of documentation pertaining to &say mentions it calling .gist on its arguments 15:29
Woodi: the two args to &print or &put you're giving are (1) @a.pick (2) "\n" xx 300
Woodi: so, yes, it will print approximately 300 newlines
m: $*OUT.nl-out = "one newline\n"; print "foo\n"; put "foo\n" 15:30
camelia rakudo-moar f19241: OUTPUT«foo␤foo␤one newline␤»
psch m: $*OUT.nl-out = "one newline\n"; put "foo", "\n" xx 10 15:31
camelia rakudo-moar f19241: OUTPUT«foo␤ ␤ ␤ ␤ ␤ ␤ ␤ ␤ ␤ ␤one newline␤»
Woodi psch: I know about say/print, .gist/.perl difference... just print [email@hidden.address] xx 300 was printing lots of .pick...
geekosaur need {} to expand an expression instead of just a variable
psch Woodi: yes, because @ and . don't interpolate in "" 15:32
m: my @a = ^10; say "@a"
camelia rakudo-moar f19241: OUTPUT«@a␤»
geekosaur scalar variable
psch m: my $x = "foo"; say "$x.gist"
camelia rakudo-moar f19241: OUTPUT«foo.gist␤»
gfldex m: my @exclude = "404.pod", "homepage.pod"; dd so '../404.pod'.ends-with(any @exclude);
camelia rakudo-moar f19241: OUTPUT«Bool::True␤»
gfldex junctions++ 15:33
geekosaur perl5 will expand @ but you need a hack like @{[...]} for anything more complex
psch we only expand @ with any circumfix:<[ ]>
as in, zen slice, single elem, or range
Woodi how far ago "{code}" was specced ?
psch Woodi: probably 10 years or so
geekosaur fairly early on, yes 15:34
psch doesn't want to dig through specs history
15:34 Actualeyes joined
Woodi m: my $a = 'a'; say "$a" 15:34
camelia rakudo-moar f19241: OUTPUT«a␤»
psch m: my @a = ^10; say "@a" 15:35
camelia rakudo-moar f19241: OUTPUT«@a␤»
psch m: my @a = ^10; say "$@a"
camelia rakudo-moar f19241: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
psch m: my @a = ^10; say "@a[]"
camelia rakudo-moar f19241: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
Woodi everyday man lerns something :) 15:36
15:36 ssotka left
psch Woodi++ 15:36
Woodi *learns? :)
psch yeah :)
Woodi btw. we have .^remove_method in Perl6 reflection ? 15:37
psch how's that supposed to work
i mean
imagine 'BEGIN Any.^remove_method: ".perl"' 15:38
gfldex that would produce a runtime error because methods wont be inlined
psch (1) what exactly does that mean for children of Any that have their own .perl (2) what happens with code that gets imported and relies on Any.perl
Woodi psch: I just wanted do some BUM :) /me was reading about object databases :) 15:39
15:39 vibha left
gfldex children that implement their own .perl would have them called 15:39
psch Woodi: what's BUM? 15:40
Woodi BOOM in English probably :)\
psch ...so "break things for fun and insight"?
gfldex the behaviour of the program will be come unpredictable (seen from a human standpoint) but if that's what you want ...
psch like, fsck shut up
Woodi yea. but just got insight :) 15:41
psch right. i mean, you could probably emulate it with reaching into the method cache via something in MROMethodDispatch or so in the MOP
(emulate .^remove_method, that is)
but yeah, as gfldex says, it'll probably turn into a huge mess and no one knows what's happening anymore 15:42
Woodi nah, no .remove_method is ok for sanity :)
15:48 CIAvash left 15:50 CIAvash joined
parabolize pygments has no tests for the Perl6Lexer? 15:55
I think I found a error in the lexer 15:56
gist.github.com/parabolize/5016122...34e47c4d9e
you can see it in the first code example here doc.perl6.org/language/functions#De..._Operators 15:57
15:58 AlexDaniel left
parabolize it sees the < ... > pattern and ignores the stuff between 15:59
dalek c: 3e2bdbd | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod:
Added docs for Baggy.SetHash
16:02
16:05 leont left 16:11 huggable joined
BrokenRobot "I just wanted do some BUM" sounds so very wrong in English :P 16:15
16:25 girafe joined, yqt joined 16:28 domidumont joined 16:31 kurahaupo joined 16:47 zakharyas joined
dalek c: fa97bfb | parabolize++ | doc/Language/functions.pod:
fix statement terminator in example
16:51
17:07 zakharyas left 17:09 [particle] joined 17:14 [particle] left 17:19 yanmc joined 17:20 jjido joined 17:29 Actualeyes left 17:39 girafe left 17:47 setty1 joined
dalek Heuristic branch merge: pushed 18 commits to doc by zoffixznet 17:49
c: ad40c32 | (Zoffix Znet)++ | doc/HomePage.pod:
Reorder item list
17:50
c: 8f72afd | (Zoffix Znet)++ | doc/Programs/00-running.pod:
Mention \ isn't part of the option
17:52
17:53 Zoffix joined
Zoffix tbrowder, this kinda sucks, since 75% of those pages are empty: imgur.com/kU6dCMu 17:54
I'd also rename the 'Perl 6' item in there to 'Rakudo' or something
By sucks I mean LTA. Maybe the empty files can be tossed for now. Or is there plan to fill them soon? 17:55
17:56 buharin joined 17:59 ssotka joined 18:03 yqt left
stmuk there should be debugging docs at least 18:04
I'll quickly add some unless someone else is? 18:08
18:09 buharin left 18:10 rurban_ joined 18:12 buharin joined
dalek c: 6824d88 | (Steve Mynott)++ | doc/Programs/01-debugging.pod:
some very basic pointers to rakudo debuggers
18:20
stmuk I can't think of anything useful to quickly add to either 02 or 03 there 18:22
Zoffix: maybe delete the other two for now?? 18:23
Zoffix +1
dalek c: 8ca211d | (Steve Mynott)++ | doc/Programs/0 (2 files):
delete for now
18:25
tony-o i know, he complains about not having a PR to fix XYZ and then you commit it and he does one of two things; he copies and pastes the code into his own commit -or- he ignores the PR long enough for it to be a problem to merge and then just doesn't bother with it 18:28
Zoffix ? 18:29
tony-o wrong channel 18:30
18:31 yqt joined 18:37 jojotus joined, jojotus left
yanmc I'm trying to give p6 a try and am keeping a list of my confusion where applicable; may or may not be useful.. 18:39
tony-o feel free to ask questions yanmc 18:40
yanmc thanks! I'll give it a college try first 18:41
timotimo cool!
that'll surely be a good piece of data points for our documentation team, as well as for improving error messages and such
masak .oO( he's keeping a list; he's checking it twice ) 18:42
good Saturday, #perl6
timotimo greetings masak
gfldex .oO( Please gist your confusion! ) 18:43
tony-o yanmc: you can run one liners in this channel using: 'm: <code>' 18:46
m: 'sup yanmc'.say
camelia rakudo-moar f19241: OUTPUT«sup yanmc␤»
yanmc cool :) 18:47
18:51 jjido left 18:52 jjido joined
stevieb yanmc: I just started as well, and have been compiling a list of the various subtleties as I tredge through the docs reinforcing what I'm learning by typing some of it out: github.com/stevieb9/scripts/blob/m...arning.txt 18:56
18:57 CIAvash left 18:58 girafe joined 19:03 jack_rabbit joined, jjido left
timotimo .tell MasterDuke unfortunately the core dump doesn't actually give me any stack traces or anything inside :( 19:04
yoleaux timotimo: I'll pass your message to MasterDuke.
gfldex is the trait `is nodal` a implementation detail? There seam to be no direct test for that trait in roast but it is checked if some operators/methods are marked as such. 19:06
timotimo oh, really? no tests? 19:07
it's a part of how hypers work
19:09 webstrand joined
webstrand I'm getting an error, "Annotation segment overflows end of stream", whenever I try to execute a script containing use Test. A script containing nothing but use Test is sufficient to cause the error. How do I fix this? 19:10
timotimo can you give us your exact perl6 --version please? 19:11
gfldex it may be that the test was omitted because the trait in itself doesn't really do anything 19:13
webstrand timotimo: This is Rakudo version 2016.05 built on MoarVM version 2016.05 implementing Perl 6.c. 19:14
dalek c: 6caddd5 | (Wenzel P. P. Peppmeyer)++ | doc/Language/typesystem.pod:
add `is nodal` TODO
19:17
19:17 [particle] joined
timotimo hm, ok, it's the released version ... but that error is strange 19:18
Zoffix webstrand, does runnin this cause it too? perl6 -Mtest -e ''
webstrand, does runnin this cause it too? perl6 -MTest -e ''
webstrand Zoffix: yep 19:19
Zoffix :S
webstrand, what OS/achitecture? 19:20
timotimo well, the error comes from loading a .moarvm file
Zoffix Oh
webstrand what's another module thats packaged in rakudo (not star)
Zoffix webstrand, NativeCAll
timotimo NativeCall
heh.
Zoffix can't spell for shit today
m: use NativeCall; sub fork is native {}; fork; say 42
camelia rakudo-moar f19241: OUTPUT«42␤42␤»
webstrand well, -MNativeCall produces another error: Attempt to read past end of string heap when reading string 19:21
timotimo "lib" used to be a module, but it's a compiler-builtin pragma nowadays
webstrand Zoffix: archlinux/x86_64
timotimo could it be your files got truncated or corrupted?
webstrand its possible. I just built the packages though 19:22
timotimo can you package up your install/ and send it our way?
dalek c: b660678 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Any.pod:
state that sort returns a new list
19:23
webstrand timotimo: That would be /install from rakudo? 19:24
timotimo yeah, should be 19:25
masak .oO( I was gonna call my module NativeCall::Stupid, but I eventually went with NaïveCall ) 19:28
dalek c: 06cd14d | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod:
fix markup mixup
19:29
19:30 darutoko left
dalek c: 1d028e1 | (Wenzel P. P. Peppmeyer)++ | doc/Language/functions.pod:
link from functions to Routine
19:33
Zoffix Oh, almost forgot. tbrowder what are all the F<> things in here? Is that some POD tag that's supposed to work and isn't? docs.perl6.org/programs/00-running#..._VARIABLES 19:36
webstrand timotimo: I think this is what you're wanting: www.dropbox.com/s/elbq5rc5of5f0qe/...ar.xz?dl=0
19:39 travis-ci joined
travis-ci Doc build failed. Wenzel P. P. Peppmeyer 'fix markup mixup' 19:39
travis-ci.org/perl6/doc/builds/138619415 github.com/perl6/doc/compare/b6606...cd14d9b851
19:39 travis-ci left
timotimo webstrand: thanks, maybe i can find something out 19:40
it'd be nice if you could grab a rakudo from git and verify if it's still broken? 19:41
webstrand sure
19:42 travis-ci joined
travis-ci Doc build failed. Wenzel P. P. Peppmeyer 'link from functions to Routine' 19:42
travis-ci.org/perl6/doc/builds/138619787 github.com/perl6/doc/compare/06cd1...028e11fe01
19:42 travis-ci left 19:43 domidumont left
Xliff What is the best resource for learning nqp? 19:44
19:45 pmurias joined
dalek c: be9b155 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod:
return type constraints match undefined values
19:45
pmurias Xliff: the language or the QAST etc.?
19:47 leont joined
timotimo webstrand: actually, it'd be interesting if re-building rakudo from the release version would be broken again 19:48
dalek c: 01c3684 | (Daniel Green)++ | doc/Language/operators.pod:
Add some documentation for the =~=/≅ operator
19:49
c: f9ebaba | (Daniel Green)++ | doc/Language/operators.pod:
Clarify absolute difference explanation, Zoffix++
c: 886318f | RabidGravy++ | doc/Language/operators.pod:
Merge pull request #604 from MasterDuke17/add_docs_for_≅

Add some documentation for the =~=/≅ operator
gfldex Zoffix: F<> does not exist for pod6 19:50
webstrand timotimo: I'd deleted the original package sources, so the build I gave you is a re-build with an existing rakudo installation. 19:52
timotimo huh?
webstrand and that build is also broken
Zoffix gfldex, I'm not even sure what they're supposed to be :/ 19:53
19:54 pRiVi joined, pRiVi left 19:55 travis-ci joined
travis-ci Doc build failed. Wenzel P. P. Peppmeyer 'return type constraints match undefined values' 19:55
travis-ci.org/perl6/doc/builds/138621154 github.com/perl6/doc/compare/1d028...9b15526922
19:55 travis-ci left
gfldex Zoffix: it breaks the build. I vote for reverting that commit. 19:55
webstrand timotimo: I built rakudo the first time and installed it to my filesystem, noticed the error, then reported it here. When you asked for /install, I rebuilt the package and sent it to you. Neither build is free from the error.
timotimo oh, ok 19:56
19:56 pRiVi joined 19:58 grondilu left
Zoffix gfldex, how can it break the build if they are showing up in the docs? 19:59
And I built that PR before merging
19:59 travis-ci joined
travis-ci Doc build failed. Jonathan Stowe 'Merge pull request #604 from MasterDuke17/add_docs_for_≅ 19:59
travis-ci.org/perl6/doc/builds/138621595 github.com/perl6/doc/compare/be9b1...6318f619a4
19:59 travis-ci left
stevieb in perl5, I can dynamically create subs by modifying the symbol table: "$x='blah'; *$x=sub{1;}; blah();'. How can I do this in perl6? 19:59
timotimo "symbol tables" are immutable after compile time is finished 20:00
20:00 michiamodiego joined
Zoffix stevieb, my &blah = sub { ... } 20:00
pmurias Xliff: if you already know Perl 6, a good way to see what's supported in nqp would be to look at the test in nqp-repo/t/nqp
moritz well, lexical scopes are immutable
Zoffix Well
I guess my answer is useless :P 20:01
stevieb, what are you trying to do?
timotimo you might be interested in sub EXPORT
stevieb look at the begin block here, where I create subs based on _sub_names(): metacpan.org/source/STEVEB/Logging.../Simple.pm
moritz also, you can create subs and put them into a hash, for eample 20:02
stevieb I'm going to try to port this very simple module to perl6 as my first real attempt, and I'm literally just taking the plunge and going for it
in that module, I have methods such as: $obj->_0(); $obj->_7(); etc 20:03
timotimo oh 20:04
moritz oh, methods
timotimo well, methods are an entirely different matter
moritz not subs
$class.^add_method($name, method () { do stuff here })
timotimo or even register a FALLBACK
moritz $class.^compose() # at the end
20:05 leont left
stevieb moritz: I'm sorry... terminology is everything lol 20:05
20:05 michiamodiego left
stevieb moritz: thanks for that... I'm loving perl6 more every day. so simple! 20:05
moritz stevieb: well, understandble, because in p5, there is no real difference between subs and methods 20:06
masak not much of one in Perl 6 either 20:07
moritz well, the difference is that the lookup is done in different data structures
in p5, the lookup for both subs and methods happens in the namespace
(modulo lexical subs in 5.20+) 20:08
or was it 5.22?
20:11 huggable left, huggable joined
dalek c: 5195846 | (Zoffix Znet)++ | doc/Language/operators.pod:
Fix build failure
20:11
timotimo right, whereas an object has 100% power over how their own methods are looked up 20:12
20:12 inokenty joined
Zoffix hmm 20:12
mst moritz: not entirely true 20:13
moritz: in perl5, subroutines are looked up by introspecting the stash of the current package at compilation time (unless you &sub), and then the glob is bound into the optree
(hence why namespace::clean can clean things without breaking calls)
methods are looked up by asking ref($self) for its mro (see docs for 'use mro') and then the packages tehreby selected are walked to try and find a method 20:14
moritz mst: yes, but both ultimately look at packages
just at different times, and in the case of methods, also in superclasses
mst moritz: yes, but 'in the namespace' glosses over the fact that you can basically have two separate namespaces
moritz which is why injecting methods and injecting subs use the same mechanism 20:15
which is writing things in packages
mst so, effectively, it *is* 'done in different data structures' potentially, just unless you're using namespace::clean and/or a custom mro that doesn't normally happen
as a lies-told-to-children description of the difference what you said is fine, but perl5 is actually more sophisticated than it first appears, even if we don't take advantage of that sophistication a lot of the time 20:16
moritz but doesn't perl 5 fall back to runtime package lookup for subs as well? 20:17
gfldex m: class Log { method log( $level, $s ){ note "$level: $s" }; method CALL-ME($s){ self.log(4, $s) } }; my sub infix:<-0>(Log:D $l, $s){ $l.log(0, $s) }; my $log = Log.new; $log("ohai"); $log-0 "alert";
camelia rakudo-moar f19241: OUTPUT«4: ohai␤0: alert␤»
gfldex stevieb: you can always cheat with user defined operators ^^^
Zoffix They slow down the startup quite a bit tho 20:18
m: class Log { method log( $level, $s ){ note "$level: $s" }; method CALL-ME($s){ self.log(4, $s) } }; my sub infix:<-0>(Log:D $l, $s){ $l.log(0, $s) }; my $log = Log.new; $log("ohai"); $log-0 "alert"; say 4-0 20:19
camelia rakudo-moar f19241: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3w; $log("ohai"); $log-0 "alert"; say 4-07⏏5<EOL>␤ expecting any of:␤ prefix␤ term␤»
gfldex cheating may break things :)
Zoffix :)
stevieb lol
gfldex i would have guessed that Log:D would prevent this particular problem 20:21
20:21 travis-ci joined
travis-ci Doc build failed. Zoffix Znet 'Fix build failure' 20:21
travis-ci.org/perl6/doc/builds/138624415 github.com/perl6/doc/compare/88631...95846461ce
20:21 travis-ci left
Zoffix travis-ci, yes, yes, I know. I suck. 20:21
Zoffix has the fix. Just waiting for local build 20:22
20:26 buharin left 20:27 ssotka left 20:28 mspo joined
gfldex stevieb: «» is not qq, see doc.perl6.org/language/quoting#Word...tion:_qqww 20:29
stevieb gfldex: thanks. I'm pretty confident there's a lot wrong in there. They're just notes as when I type stuff out, I remember better. I'll go back over it frequently fixing things the more I pick up 20:32
dalek c: 7ccc1ec | (Zoffix Znet)++ | doc/Type/Signature.pod:
Fix build failure

Seems X<> is not fully supported in =head directives. Mirroring fix found elsewhere in the docs, by listing X<> before the =head
20:33
c: ff8a09a | (Zoffix Znet)++ | doc/Type/Signature.pod:
Improve wording
20:34
Zoffix Why is this section called "Long Names"? docs.perl6.org/type/Signature#Long_Names 20:35
dalek c: aa21b02 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Junction.pod:
add example to junctions
20:39
c: 67244e4 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod:
Merge branch 'master' of github.com/perl6/doc
Zoffix git pull --rebase; lets you avoid merge commits 20:40
20:40 TEttinger joined 20:42 ssotka joined
stevieb LOL my first module! github.com/stevieb9/p6-log-simple/...Simple.pm6 20:43
Zoffix doesn't get it 20:44
tony-o enum LEVELS qw<INFO DEBUG WARN ERROR>; 20:45
20:47 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Fix build failure 20:47
travis-ci.org/perl6/doc/builds/138627012 github.com/perl6/doc/compare/51958...cc1ec8b6ec
20:47 travis-ci left
Zoffix i2.kym-cdn.com/entries/icons/origin.../fyeah.jpg 20:47
Xliff pmurias++: Thanks! 20:49
Zoffix: LOL!
20:49 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Improve wording' 20:49
travis-ci.org/perl6/doc/builds/138627178 github.com/perl6/doc/compare/7ccc1...8a09a2f4c3
20:49 travis-ci left
gfldex m: { LEAVE say (ENTER $ = now) - now } 20:50
camelia rakudo-moar f19241: OUTPUT«===SORRY!===␤Cannot reference undeclared local 'enter_result__1'␤»
20:54 travis-ci joined
travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'Merge branch 'master' of github.com/perl6/doc' 20:54
travis-ci.org/perl6/doc/builds/138627801 github.com/perl6/doc/compare/ff8a0...244e4ea559
20:54 travis-ci left 20:59 zacts left 21:17 vibha joined 21:20 dwarring joined
webstrand timotimo: I'm unable to build the git version of rakudo: dpaste.de/sg5x I've tried compiling rakudo-2016.05 on the git version of moarvm and nqp, and I still get the error. 21:21
21:22 kaare_ left
Zoffix How are you running tools/build/install-core-dist.pl ? 21:23
Just make stuff? 21:24
webstrand Zoffix: make DESTDIR="$pkgdir" install 21:25
where $pkgdir is the some existing directory path
Zoffix Have you cleaned that directory first? 21:26
webstrand That shouldn't have been an issue, but I'll try it now
Zoffix 2016.05 probably won't work on git version of moarvm/nqp 21:27
21:27 cdg joined
webstrand actually, it compiled fine. perl -MTest -e '' still errors out though 21:28
Zoffix :(
webstrand, how come 2016.05 of rakudo and not latest? 21:29
s/latest/git HEAD/;
21:29 vibha left
webstrand I don't know. I'm using a script to build both 2016.05 and HEAD. The only difference in the script is the rev number built. 2016.05 compiled fine, but HEAD fails with dpaste.de/sg5x 21:30
I'm still waiting for the clean build of HEAD to finish 21:31
Zoffix :o
21:32 vike joined, zacts joined, rurban_ left
webstrand actually, aside from the installation issues, the test suite runs successfully on HEAD. So the original error is fixed in HEAD 21:32
Zoffix Hm 21:33
Zoffix is confused
masak lol, I blog'd! strangelyconsistent.org/blog/train-tracks 21:35
webstrand moarvm-2016.05, nqp-2016.05, rakudo-2016.05: rakudo test suite fails with "Annotation segment overflows end of stream". moarvm-HEAD, nqp-HEAD, rakudo-HEAD: rakudo test suite succeeds, but there's some other bug in installation which means I cant wrap it in a package yet. 21:36
timotimo is the bug in installation the "outdated precomp" thing? 21:37
webstrand yep
21:37 cur8or joined
Zoffix webstrand, you're making a Linux distro package? 21:37
timotimo argh linux 21:38
webstrand Zoffix, kind-of. Archlinux has facility to build packages from source, so that the package manager can install/upgrade/remove them at will. I'm using this to make a package of rakudo for myself 21:40
Zoffix webstrand, it's just 2016.06 is 1-2 hours away
21:41 Guest74224 is now known as pierrot, zacts left
webstrand No one else will ever see these packages, there for my use alone 21:41
Zoffix aww :(
21:41 pierrot is now known as Guest53339
webstrand Well, anyone else can also build the package from source: aur.archlinux.org/cgit/aur.git/tre...D?h=rakudo is in the AUR, I've just modified it to use git. 21:44
21:44 Guest53339 is now known as pierrot, pierrot left, pierrot joined, pierrot left, pierrot joined
Zoffix How come you don't release the packages you're building? 21:45
Zoffix tries to install Arch 21:47
Looks like something that requires a lot of reading and typing :P
webstrand Well, to a certain extent yes, install takes about an hour typing at a terminal. 21:49
Zoffix is too old for that stuff
21:50 rindolf left, lizmat joined
webstrand I like it because I get something like gentoo's srcpkgs, so I can easily wrap whatever random software sparks my interest in a way that the dist's package manager can manage. So things like perl6 don't leave behind anything when I remove or upgrade them. 21:51
Zoffix I use rakudobrew for that for Perl 6 github.com/tadzik/rakudobrew
dogbert17 the code for Baggy.Bool is one line, i.e. nqp::p6bool(nqp::elems(nqp::getattr(%!elems,Map,'$!storage'))) - does this check if the instance contains any elements? 21:52
21:54 girafe left
timotimo yeah 21:57
dogbert17 timotimo: many thanks, nqp is too difficult for me atm 21:58
webstrand Any idea when panda is going to get an update? Or is some other tool preferred now?
timotimo did you have a look at the nqp ops documentation yet? it's quite good
hm, no, not "quite good" 21:59
but rather complete, at least
dogbert17 timotimo: where is it hiding? 22:01
timotimo in the nqp repo under docs/ 22:02
22:02 wamba left
Zoffix webstrand, I prefer zef ( modules.perl6.org/repo/zef ) there's also redpanda ( modules.perl6.org/repo/redpanda ) 22:02
timotimo some rakudo-specific ops are also in rakudo/docs/ops.md or something 22:03
Zoffix Oh, it's App::redpanda: github.com/tadzik/App-redpanda
autarch does anyone know off hand of a module that does some sort of meta OO stuff I could look at for an example?
it doesn't need to export this stuff, just do it internally
22:03 jjido joined
timotimo autarch: check out my ADT module 22:03
22:03 webstrand left
autarch timotimo: thanks 22:03
22:04 _webstrand joined
dalek c: 48b97ca | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod:
Added docs for Baggy.Bool. timotimo++
22:04
autarch timotimo: actually, I was hoping for something that modified how OO works, not just something that uses the metamodel to make classes or attributes 22:05
_webstrand The full output of: make --DESTDIR="" install is pastie.org/10882473. Does anyone have an idea of what might be wrong? Or shall I start bisecting?
timotimo oh
OO::Monitors and OO::Actors comes to mind, but it might not be "enough" for you
22:06 pmurias left, _webstrand is now known as webstrand
autarch I just need a simple example, so enough is probably enough ;) 22:06
timotimo what i mean is it may not fit your description of changing how OO works
autarch I see 22:07
what I'd like to show is something like an attribute traits that modifies the generated accessors
22:08 setty1 left
masak 'night, #perl6 22:09
Zoffix webstrand, you could try building this. Though I'm almost certain it won't fix your problem since you say you did try HEAD: temp.perl6.party/rakudo-2016.06.tar.gz
night 22:10
timotimo oh 22:11
autarch I think I found something - github.com/perl6/roast/blob/master...s.t#L6-L49
timotimo there's some things in core that do things like that
for attributes, you can mix in a role that provides an additional implementation of compose
autarch yeah, I remember digging way into the core last time I looked into this stuff to figure out how it worked exactly 22:14
hmm, I suspect this is going to be way too much code for a slide 22:15
I'd like a relatively simple example to hint at the power of the metamodel - any suggestions on an example?
timotimo jnthn already gave a presentation on OO::Monitors and OO::Actors, maybe you can steal a bit from the slides 22:17
autarch I just thought of something good enough 22:18
gist.github.com/autarch/9af544579d...4bf8a358f5
timotimo that's quite boring :) 22:21
webstrand Zoffix: nope, thanks though. Hopefully a bisect will turn up something
autarch yeah, but this is for my basic Perl6 OO talk - I want to end with a hint at possibilities, not show 100 lines of incomprehensible gibberish 22:22
timotimo how about an example that installs a second method that has the same name but upper case and upper cases the return value? :P
22:23 spider-mario left 22:27 RabidGravy left
Hotkeys can anyone see a good way to shorten this wonderful code golf 22:27
say sum await map ^9: {start {sleep 7;now -ENTER now}};say now -INIT now
Zoffix
.oO( why is everyone trying to shorten already short code lately.... )
22:28
Hotkeys it's for code golf 22:29
timotimo colf 22:30
22:32 BenGoldberg joined, jjido left 22:47 zacts joined
b2gills Hotkeys: say sum await map {start {sleep 7;now -ENTER now}},^9;say now -INIT now 22:49
timotimo doesn't sleep return how long it slept? 22:50
m: say sleep 7
camelia rakudo-moar f19241: OUTPUT«Nil␤»
timotimo huh, apparently not
22:50 zacts left
Zoffix say sum await start {sleep 7;now -ENTER now} xx 9;say now -INIT now 22:52
nm 22:53
Any idea why Inline::Perl5 build says '/usr/bin/ld: cannot find -lperl' 22:54
I built Perl 5 with perlbrew :/ I dunno why it'd be missing
forgot perlbrew switch perl-5.24.0 22:55
23:10 cooper left
webstrand Zoffix: I've finished bisecting, the first bad commit is c7cd003251a2425c14e91d34f6c5ed9acc1caf55. 23:15
everything before that installs correctly
23:16 dj_goku left
Zoffix crap 23:17
nine, are you around?
webstrand++ thanks for spotting the issue. I can actually replicate it when I specify DESTDIR to make install 😿 23:27
BenGoldberg m: say sum await map {start {now -ENTER now}},^9; say now -INIT now
camelia rakudo-moar f19241: OUTPUT«0.0791681440␤0.04475032␤»
webstrand zoffix: great, glad to know it's not just my computer :) 23:29
23:35 BenGoldberg left 23:37 BenGoldberg joined, cooper joined
Hotkeys b2gills: ty, forgot about using it as a function, went straight for the funky method syntax 23:40
23:41 firstdayonthejob left 23:52 webstrand left 23:53 zacts joined, webstrand joined 23:54 AlexDaniel joined 23:55 pmurias joined