»ö« 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 whoa 00:01
nadim_ Zoffix: not your rendering but the output of the json parsing, actually the code to generate it, the difference between gist, ddt without filter, and ddt with filters makes me wonder how super human you guys are that can read dd output 00:02
timotimo: you can also, if you prefer, very easilly generate html files, they also support folding 00:03
Zoffix nadim_: this is the code that makes the dump: github.com/zoffixznet/perl6-buggab...m6#L13-L22 00:05
00:05 cpage_ left
Zoffix `dd` seems to work for me fine now, though I know I was using some sort of dumping module when I was just starting with Rakudo. 00:05
00:06 Kyo91 left 00:07 cpage_ joined
nadim_ it is nice if one doesn't have lots of data, is not interested in references, and has the eyes of a 12 years old :) 00:08
I developped the P5 module because I had dumps of over half a million lines, there was no way I could use a standard dumper 00:09
Zoffix 0.o 00:12
I don't dump anything even close to that.
just a few lines
00:13 Cabanossi left 00:15 Cabanossi joined
timotimo i'll go to bed now, have a good one! 00:16
00:17 Actualeyes left
Zoffix \o 00:18
BenGoldberg m: { say ENTER now - INIT NOW; say now - INIT now }; 00:19
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
NOW used at line 1
BenGoldberg m: { say ENTER now - INIT now; say now - INIT now }; 00:20
camelia 0.0015279
0.0024228
BenGoldberg m: { say now - INIT now; say ENTER now - INIT now };
camelia 0.002215
0.00026739
nadim_ Zoffix: you could use this nopaste.linux-dev.org/?1160252 00:22
I also notice you use ddt twice let me check that again
maybe you want to change ' : ' to ': ' in the filter I dent french style you may want english style 00:23
Zoffix I don't care about that code enough to bother changing it. 00:25
nadim_ three options a one line filter, not a biggy 00:26
I believe it is more redeable without the type and reference information that serve no purpose here
Zoffix Well. You know where the PR button is at :)
Zoffix & # bed
nadim_ will do!
00:29 andrzejku_ joined 00:30 andrzejku left
Geth whateverable: d4286f3c08 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 11 files
Generate the last test automatically

The problem that these tests are trying to solve is probably non-obvious, so here's the explanation. The test bench works by sending messages to the bot and waiting for responses. Let's say you have a test that expects two messages (‘foo’ and ‘bar’), but the bot replies with three instead (‘foo’, ‘bar’, and 3 seconds later ‘baz’)? ... (15 more lines)
00:32
00:39 lookatme joined 00:42 Cabanossi left
lookatme morningh 00:43
morning
00:45 Cabanossi joined, sftp left
Geth whateverable: f537ca14be | (Aleks-Daniel Jakimenko-Aleksejev)++ | 13 files
Aid for disabled editors

I guess there's nothing wrong with assisting the editor if it can't help itself, so let's do it consistently.
00:46
00:47 sftp joined 00:54 tardisx left 01:24 Actualeyes joined, https_GK1wmSU joined 01:27 https_GK1wmSU left 01:32 nadim_ left 01:34 Sgeo_ joined 01:36 Sgeo left 01:42 vendethiel joined, majensen joined 01:43 Cabanossi left, majensen left 01:44 Cabanossi joined, majensen joined 01:45 ChoHag left, ilbot3 left 01:49 geekosaur left, vendethiel left 01:50 geekosaur joined, majensen left 01:51 ilbot3 joined, ChanServ sets mode: +v ilbot3 02:04 sufrostico left 02:47 bwisti left 02:49 harrisi joined, bwisti joined 02:52 noganex joined 02:54 noganex_ left 03:08 Ptolemarch joined 03:24 jaldhar joined 03:26 Cabanossi left 03:28 Cabanossi joined 03:40 Actualeyes left 03:45 MilkmanDan joined 04:07 mcmillhj joined 04:11 mcmillhj left 04:14 andrzejku joined, xinming_ joined 04:15 pduh joined, pduh left, andrzejku_ left 04:17 xinming left 04:23 andrzejku_ joined 04:25 andrzejku left 04:32 skids left 04:42 Possum left 04:50 Possum joined 04:52 wamba joined 04:57 Possum left
jdv79 ok, my pgup and pgdn keys are broke 04:59
04:59 Possum joined
jdv79 anyway anyone else get segv when using --profile? 04:59
gist.github.com/anonymous/58209c8b...bbfce0c13a 05:00
ill try updating
05:00 eliasr left 05:01 Actualeyes joined 05:12 Cabanossi left 05:13 Cabanossi joined 05:14 xtreak joined
jdv79 ok. after updating it throws tons of errors but it doesn't crash outright 05:18
progress?
something is still borked
05:23 cpage_ left, avalenn joined 05:25 khw left 05:30 jaldhar left 05:31 BenGoldberg left 06:00 lowbro joined, lowbro left, lowbro joined 06:04 espadrine joined 06:07 mcmillhj joined 06:12 mcmillhj left 06:15 andrzejku_ is now known as andrzejku 06:18 nadim_ joined 06:24 benjikun joined
benjikun is there a module to hash data with sha256 yet? 06:25
06:26 cpage_ joined 06:31 espadrine left 06:32 bwisti left 06:33 wamba left 06:38 cpage_ left
nine .tell raiph: www.reddit.com/r/perl6/comments/6h...f/dj1bc4p/ sounds highly appropriate :) Thanks! 06:41
yoleaux nine: What kind of a name is "raiph:"?!
1 Aug 2017 16:42Z <raiph> nine: I just searched my comments mentioning "rakudobrew" and this seems to be my most recent: www.reddit.com/r/perl6/comments/6h...f/dj1bc4p/ Do you consider what I said there appropriate?
06:42 Cabanossi left 06:43 Cabanossi joined 06:44 nadim_ left, tony-o left
zengargoyle chuckles at yoleaux 06:47
sacomo Hi #perl6 07:04
lookatme sacomo, hi 07:05
07:05 xtreak left
sacomo ola 07:05
I was messing around with subsets and hashes and ran into something that I don't understand
07:06 FiendKing04 joined
sacomo this is probably all wrong, but just messing around 07:07
m: subset ID of Hash where { .key ~~ 'email'|'accountid' }; my ID %h = Hash.new( email => [email@hidden.address] ); say %h.perl; say %h.^name;
camelia (my ID %)
Hash[ID]
sacomo I assing ID type to the new hash, the new hash is created, its type is set, but it is empty 07:08
no error
m: subset ID of Hash where { map { $_ ~~ 'email'|'accountid' }, *.keys }; my ID %h = Hash.new( email => [email@hidden.address] ); say %h.perl; say %h.^name; 07:09
camelia (my ID %)
Hash[ID]
sacomo just trying to understand the behavior
lookatme sacomo, Hash.new seems like does not take argument
sacomo hmm 07:12
benjikun I don't get it: 'Default constructor for 'block' only takes named arguments'
07:13 nadim_ joined
lookatme m: subset ID of Hash where { map { $_ ~~ 'email'|'accountid' }, *.keys }; my ID %h = email => [email@hidden.address] say %h.perl; say %h.^name; 07:13
camelia Type check failed in assignment to %h; expected ID but got Str ("perl\@perl6.org")
in block <unit> at <tmp> line 1
lookatme m: subset ID of Hash where { map { .key ~~ 'email'|'accountid' }, *.keys }; my ID $h = email => [email@hidden.address] say %h.perl; say %h.^name; 07:14
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%h' is not declared. Did you mean '$h'?
at <tmp>:1
------> 3 ID $h = email => [email@hidden.address] say 7⏏5%h.perl; say %h.^name;
moritz sacomo: 'my ID %h' declares a hash that contains ID elements
sacomo ok, is there a way to do subset ID of Hash[Str]? something like that? 07:15
moritz m: subset ID of Hash where {all(.keys) eq any('email'|'accountid'); my %h is ID := ID.new(); %h<email> = 'foo';
camelia 5===SORRY!5=== Error while compiling <tmp>
Can't use unknown trait 'is ID' in a variable declaration.
at <tmp>:1
------> 3eq any('email'|'accountid'); my %h is ID7⏏5 := ID.new(); %h<email> = 'foo';
expecting any of:
TypeOb…
moritz m: subset ID of Hash where {all(.keys) eq any('email'|'accountid')}; my %h is ID := ID.new(); %h<email> = 'foo'; 07:16
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use bind operator with this left-hand side
at <tmp>:1
------> 3'|'accountid')}; my %h is ID := ID.new()7⏏5; %h<email> = 'foo';
moritz m: subset ID of Hash where {all(.keys) eq any('email'|'accountid')}; my %h := ID.new(); %h<email> = 'foo';
camelia You cannot create an instance of this type (ID)
in block <unit> at <tmp> line 1
07:16 https_GK1wmSU joined
moritz m: subset ID of Hash where {all(.keys) eq any('email'|'accountid')}; my %h is ID; %h<email> = 'foo'; 07:16
camelia You cannot create an instance of this type (ID)
in block <unit> at <tmp> line 1
moritz :(
sacomo ha
ok
moritz (on the plus side, classes are very cheap in Perl 6, so you could write class ID is rw { has ($.email, $.accountid) }) 07:17
sacomo yeah 07:19
07:19 https_GK1wmSU left
sacomo just playing with subsets to see how far we can take them 07:19
moritz m: subset ID of Hash where {all(.keys) eq any('email'|'accountid')}; my ID $h = { email => 'foo' }; 07:20
camelia ( no output )
moritz m: subset ID of Hash where {all(.keys) eq any('email'|'accountid')}; my ID $h = { other => 'foo' };
camelia Type check failed in assignment to $h; expected ID but got Hash (${:other("foo")})
in block <unit> at <tmp> line 1
moritz if you are willing to forego the % sigil, this works
lookatme m: subset ID of Hash where { all(.keys) (elem) any(<email accountid>) }; my ID $h = {email => 'baz'}; say $h; 07:21
camelia {email => baz}
sacomo ah
ok
that is interesting
lookatme m: subset ID of Hash where { all(.keys) (elem) <email accountid> }; my ID $h = {email => 'baz'}; say $h; 07:22
camelia {email => baz}
lookatme m: subset ID of Hash where { all(.keys) (elem) <email accountid> }; my ID $h = {emailx => 'baz'}; say $h;
camelia Type check failed in assignment to $h; expected ID but got Hash (${:emailx("baz")})
in block <unit> at <tmp> line 1
zengargoyle m: my subset ID of Hash where {all(.keys) eq any('email'|'accountid')}; my ID $h; $h<email> = 'foo'; my %h := %$h; say %h.perl 07:24
camelia {:email("foo")}
zengargoyle m: my subset ID of Hash where {all(.keys) eq any('email'|'accountid')}; my ID $h; $h<email> = 'foo'; my %h := %$h; say %h.perl; say %h.^name;
camelia {:email("foo")}
Hash
zengargoyle phbbt.
sacomo m: subset ID of Hash where { .keys ~~ 'email'|'accountid' }; my ID $h = {email => 'baz'}; say $h; say $h ~~ ID;
camelia {email => baz}
True
sacomo m: subset ID of Hash where { .keys ~~ 'email'|'accountid' }; my ID $h = {notemail => 'baz'}; say $h; say $h ~~ ID; 07:25
camelia Type check failed in assignment to $h; expected ID but got Hash (${:notemail("baz")})
in block <unit> at <tmp> line 1
lookatme if you declare with `ID %h`, it is mean the type of key is ID 07:29
07:30 wamba joined, dakkar joined
sacomo ok 07:31
m: subset ID of Hash where { .keys ~~ 'email'|'accountid' }; sub foo($email --> ID) { { email => $email } }; say foo('p@p6.org'); 07:32
camelia {email => [email@hidden.address
benjikun how do I concatenate two blobs
sacomo m: say Blob.new([1, 2, 3]) ~ Blob.new([1, 2, 3]); 07:34
camelia Blob:0x<01 02 03 01 02 03>
benjikun oh 07:35
that simple
thanks lol
07:42 Cabanossi left 07:43 Cabanossi joined 07:49 dakkar left
sacomo is there a perl 6 playground / codepen where I can share runnable code? 07:49
07:51 dakkar joined 07:53 astj left, astj joined
moritz sacomo: glot.io/new/perl6 07:53
sacomo thanks 07:54
does anyone know if this behavior is documented somewhere? glot.io/snippets/esalbb12gf 07:55
the final type checks correctly identify each subset 07:56
07:56 xtreak joined
sacomo does the type association happen at the test? or when the subs return the ID value? 07:57
07:58 astj left
moritz subset types can only be verified at runtime 07:58
07:58 darutoko joined
sacomo ok, so like the "$id1 ~~ Email" happens at that test? or is the subset associated as part of the sub's return step? 08:00
08:00 benjikun left
sacomo doing .^name on the var just prints Str or Int 08:01
08:01 zakharyas joined, tzekid joined 08:03 astj joined 08:16 https_GK1wmSU joined 08:17 ChoHag joined, vendethiel joined 08:18 araujo_ joined 08:19 https_GK1wmSU left 08:22 araujo left, mr-foobar joined 08:25 robertle left
moritz it happens at the test, yes 08:26
08:31 aindilis left 08:32 cpage_ joined
sacomo moritz, thanks. 08:37
08:43 Actualeyes left 08:44 andreoss joined 08:53 mcmillhj joined 08:58 mcmillhj left 09:12 Cabanossi left 09:13 Cabanossi joined 09:15 ChoHag left 09:24 TEttinger left 09:26 LeCamarade left 09:27 LeCamarade joined 09:28 sena_kun joined 09:29 dogbert17 joined, Ulti_ is now known as Ulti
nadim_ Hi, I have this code: multi method get_elements (Hash:D $h) { $h.sort(*.key)>>.kv.map: -> ($k, $v) {'X' ~ $k, ' => ', $v} } 09:30
Note the 'X' ~ $k
all works just fine, if I change the 'X' to ':', what i believe is a single quoted string containing ':' then hell breaks lose and i get this error a bit later: Too few positionals passed; expected 5 arguments but got 4 09:32
if I change ':' to 'X:' then all works fine
I tried to golf it down without success
lookatme m: method g (Hash:D $h) { $h.sort(*.key)>>.kv.map: -> ($k, $v) {'X' ~ $k, ' => ', $v} }; g(%{ a => 1, b => 2}); 09:33
camelia 5===SORRY!5===
Undeclared routine:
g used at line 1

Other potential difficulties:
Useless declaration of a has-scoped method in mainline (did you mean 'my method g'?)
at <tmp>:1
------> 3method7⏏5 g (Hash:D $h) { $…
lookatme m: sub g (Hash:D $h) { $h.sort(*.key)>>.kv.map: -> ($k, $v) {'X' ~ $k, ' => ', $v} }; g(%{ a => 1, b => 2});
camelia ( no output )
lookatme m: sub g (Hash:D $h) { $h.sort(*.key)>>.kv.map: -> ($k, $v) {'X' ~ $k, ' => ', $v} }; say g(%{ a => 1, b => 2});
camelia ((Xa => 1) (Xb => 2))
lookatme m: sub g (Hash:D $h) { $h.sort(*.key)>>.kv.map: -> ($k, $v) {':' ~ $k, ' => ', $v} }; say g(%{ a => 1, b => 2});
camelia ((:a => 1) (:b => 2))
nadim_ as I said golfing it down did not help 09:34
lookatme you can provide more info about your problem
09:35 AlexDani` joined
nadim_ Yes but it's biggish, I will try isolate it more firs, maybe (probably), I mess up later somewhere. I just wanted to check that I have not missed some magical ':' effect 09:35
the code is on github, just think I should do a bit more effort first ;) 09:37
09:37 AlexDaniel left 09:47 lookatme left 09:50 LeCamarade left 09:51 LeCamarade joined 10:00 buggable left, buggable joined, ChanServ sets mode: +v buggable, vendethiel left
Zoffix buggable: testers f878354a-6183-11e7-89a5-c5f577a92919 10:02
buggable Zoffix, Cound not find that ID or API is down. Try manually: api.cpantesters.org/v3/report/f8783...f577a92919
Zoffix buggable: testers f878354a-6183-11e7-89a5-c5f577a92919 10:03
10:10 LeCamarade left 10:11 LeCamarade joined 10:12 lichtkind left 10:13 rurban joined 10:14 rurban left, AlexDani` is now known as AlexDaniel 10:15 astj left, jonas3 left 10:16 rurban joined
nadim_ hi, a few questions. 1/ is it possible to export the same module under different name? IE: I'd like Data::Dump::Tree to also be DDT. 10:16
10:17 rurban left, jonas3 joined
nadim_ 2/ do we have a coverage tool? the error I had above (':' messing things up) turned out to be in a completely different module in code that has _never_ been run! 10:18
gfldex nadim_: did you try symlinks to create an alias? 10:19
nadim_ I'd like that to happen for anyone that installs the module 10:20
gfldex nadim_: it could be done with a Build.pm but getting that portable would require quite some work 10:23
jnthn I've no idea if this would actually work, but you could just give it two entries in the provides section of the META6.json? 10:24
That'd let the use statement work for both 10:25
10:25 lichtkind joined
jnthn If it's just about exporting it with another name then just stick something like my constant DDT is export = Data;:Dump::Tree; at the end 10:25
nadim_ 3/ in DDT, I use '=>' to separate keys from values in Hashe it is also used for Map and Set. imgur.com/kLLy1cP I am womdering if it is not more per6is to display it this way imgur.com/OP3TIb3 or even this way imgur.com/Q8o83no, opinions welcome 10:28
jnthn: thanks. I understand that the "export" at the end would let me do DDT.new() but it wouldn't allow me to do use DDT, right? 10:31
jnthn nadim_: No, that was what I was talking about with the provides thing in META6.json 10:34
10:34 xtreak left
jnthn afaik that's how (once installed) we map "use Foo" into a file to load 10:34
In theory poking two entries for the same file into provides would let them both resolve to it
In reality I never tried it :)
10:35 xtreak joined
nadim_ Then I'll try it for you :) 10:35
10:42 someuser joined, rindolf joined 10:46 noganex left
nadim_ jnthn: although not related to the change, I believe, I get a weird zef install error nopaste.linux-dev.org/?1160257, the tests use the Horizontal module so it is weird it can use them but not install them. 10:57
jnthn Maybe your tests don't touch the file doing the use? 10:58
The whole lot will be compiled on installation 10:59
10:59 zakharyas left
nadim_ I added a use Datat::Dump::Tree::Horizontal directly in one of the tests, didn't cange a thing 11:00
jnthn Did you include that in the provides section? 11:02
Did you typo it like you just did here? ;) 11:03
11:03 Kyo91 joined
nadim_ I think not ;) nopaste.linux-dev.org/?1160258 11:04
honestly I haven't installed the module in ages, if ever, as I work with it in my dev environment directly but I still need to make it install or the whole effort is moot :) 11:06
11:07 Kyo91 left
andreoss are the design docs the only documentation on macros? what is the current state of their support? 11:11
11:11 pecastro left 11:14 markmont left
lizmat andreoss: github.com/masak/007 11:16
11:21 wamba left 11:24 mr-foobar left 11:31 mr-foobar joined
nadim_ ugexe: I have this error installing locally with zef nopaste.linux-dev.org/?1160257, I just update to the latest zef but it made no change 11:38
ugexe: the file is there, it is in the repo, it is used by tests, tests pass, install fails 11:39
11:40 markmont joined 11:46 noganex joined 11:47 brabo left, araraloren joined 11:55 AlexDaniel left 11:56 AlexDaniel joined, vendethiel joined
Geth___ modules.perl6.org: acd5a415cc | (Gabor Szabo)++ | 7 files
start collecting information about Appveyor - CI on MS Windows #76
11:59
modules.perl6.org: 5a8b542674 | (Gabor Szabo)++ | .gitignore
gitignore /blib/
12:00 brabo joined 12:05 xtreak left 12:06 xtreak joined 12:09 xtreak left, xtreak joined 12:17 AlexDaniel left, AlexDaniel joined 12:23 xtreak left 12:25 szabgab joined
szabgab Hi there! 12:25
I have updated the code generating modules.perl6.org/ with the initial step to collect information about the use of Appveyor for testing on Windows 12:26
12:29 pecastro joined
Zoffix szabgab: someone will need to rebuild the db, I think, 'cause of the added table 12:33
bin/build-project-list.pl --interval=0 12:34
And then swap the sqlite db the site is currently using with the the resultant sqlite db 12:35
szabgab Zoffix: yes, I was about to ask for that, just got interrupted by doorbell
12:39 nattefrost joined
moritz DBIx::Class::Storage::DBI::_prepare_sth(): DBI Exception: DBD::SQLite::db prepare_cached failed: no such column: me.appveyor_status [for Statement "SELECT me.meta_url, me.name, me.author_id, me.build_id, me.travis_status, me.appveyor_status, me.url, me.description, me.stars, me.issues, me.date_updated, me.date_added FROM dists me WHERE ( meta_url = ? )"] at lib/ModulesPerl6/Model/Dists.pm line 136 12:40
do I have to delete the old DB first? do a manual migration step? or anything else?
12:40 AlexDaniel left
moritz git grep -i 'create table' 12:41
comes up empty
12:41 AlexDaniel joined
moritz szabgab: ^^ 12:41
12:42 AlexDaniel left
Zoffix moritz: bin/build-project-list.pl --interval=0 --db-file=new.db then when it's done copy new.db to (I think) modules.sqlite.db or something like that (there's a file with that name already) and restart the app 12:42
12:42 zakharyas joined, AlexDaniel joined
Zoffix This process can possibly be improved :D 12:42
modulesperl6.db 12:43
there's no create table because it's done by DBIC 12:45
szabgab moritz: yes, that's what I had to do locallt
locally. It took me about an hour to figure that out :( 12:46
Zoffix :o
szabgab maybe the suggestion of zoffix is better though.
12:47 nowan left
szabgab In any case I guess it would be a good idea to add it to the readme 12:47
moritz generation of new DB is now running
szabgab moritz++ Zoffix++
Aaronepower Hello, how do you access argv? `@*ARGV` is what a lot of documentation says but it isn't available according to perl.
moritz Aaronepower: @*ARGS if my memory serves correctly
Zoffix Aaronepower: it's @*ARGS. Which documentation says @*ARGV? That should be fixed
gfldex m: say @*ARGS; 12:48
camelia []
gfldex Aaronepower: see docs.perl6.org/language/variables#..._variables
Zoffix Aaronepower: and that's just the args, without the name of the program itself, which is available as $*PROGRAM 12:49
AlexDaniel m: say $*ARGFILES.filename
camelia No such method 'filename' for invocant of type 'IO::ArgFiles'
in block <unit> at <tmp> line 1
Zoffix Aaronepower: and if you want the args to mean the files to process, you can also use $*ARGFILES, which is an IO::CatHandle type, with args loaded as filenames (or with STDIN handle if no args were given)
12:49 nowan joined
Zoffix m: say $*ARGFILES.path 12:50
camelia IO::Special.new("<STDIN>")
Aaronepower Zoffix: Sorry not documentation, just other people's posts.
Zoffix Ah
Maybe it's something that used to exist during design stages... 12:51
Aaronepower None of the actual perl6 documentation makes it to the top of Google or DuckDuckGo.
Geth___ modules.perl6.org: 9f2da12b3c | (Zoffix Znet)++ (committed using GitHub Web editor) | README.md
Fix URL to DEPLOYMENT.md docs
12:54
modules.perl6.org: a48f7213b5 | (Zoffix Znet)++ (committed using GitHub Web editor) | README.md
Document how to update database

  - Document caching mechanism and how to clear cache
   from commit messages
  - Document what to do when changes to the database
   structure are made
12:59
Zoffix Geth___: your extra-long tail annoys me.
perlpilot wonders where (and when) people mentioned @*ARGV
Zoffix oh, it's my geth! 13:00
huggable: geth
huggable Zoffix, Set geth report URL (select application/json and send me everything): geth.niner.name:8888/?chan=#perl6-dev
13:00 Geth___ left 13:01 Geth_ joined, ChanServ sets mode: +v Geth_, mcmillhj joined
araraloren there is @ARGV in Perl, maybe confused @*ARGS and @ARGV 13:02
daxim I asked a SO question 22 min ago and it promptly is at -1 but no comments for the downvoting reason. this bothers me more than it should. 13:03
Zoffix heh
13:03 cog_ left, cog_ joined
perlpilot I would think it must've been a typo or thinko, but if there's enough posts using @*ARGV instead of @*ARGS, then maybe there's some genuine misunderstanding? 13:03
araraloren I search in google, there are no @*ARGV found 13:04
Aaronepower perlpilot: I think my misunderstanding was from this article, which is about perl5. perlmaven.com/argv-in-perl 13:05
13:06 zakharyas left
Aaronepower but is the top result for "perl6 argv" in DuckDuckGo. 13:06
Zoffix hehe
perlpilot ah ... okay
Zoffix All the more reasons to rename the language :)
perlpilot Aaronepower: had you searched for "perl 6 argv" you would have gotten the right article as the top result ;-) 13:07
Zoffix hah 13:08
oh yeah
jast got a name in mind?
13:08 zakharyas joined
Zoffix Aaronepower: you do know about sub MAIN right? If you just want your script to take some args, that's the thing to use. I think this article mentions it: perl6maven.com/parsing-command-line...ents-perl6 13:08
Aaronepower Zoffix: I did, but I just wanted the first argument provided and it seemed like a bit much for just one argument. 13:09
Zoffix jast: Supercalifragilisticexpialidocious
araraloren XD
jast I think that one might already been taken for... something
13:11 ugexex joined
ugexex nadim_: did you even try using your alias before using it? That's a precomp error as jnthn pointed out 13:13
Before installing rather
perlpilot If the long view is that "Perl 5" will eventually obsolesce and "Perl 6" will be the only Perl, then keeping the "Perl" brand makes sense. If we're to continue to believe that "Perl 5" and "Perl 6" are separate languages with independent life-times and that both will continue indefinitely, then a rename of some sort would be better. (but I still loathe that option for some reason)
Zoffix perlpilot: why does keeping the brand make sense? 13:14
Rakudo has little in common with Perl. Hell, even sigils are different.,
AlexDaniel :S 13:15
13:15 dakkar left
perlpilot They share the same "spirit". They are largely syntactically similar. 13:15
Zoffix lol 13:16
araraloren Rakudo and Perl 6 are different, right ?
perlpilot (but, by the same thinking, PHP is in the Perl family too, so ... ;-)
13:16 dakkar joined
Aaronepower In pattern matching how do you redeclare a symbol? 13:16
Zoffix perlpilot: and any concrete terms to define that? What's does "Perl" brand mean to you?
araraloren m: say "bb" ~~ /(\w)$0/; 13:17
camelia 「bb」
0 => 「b」
araraloren Aaronepower, ^^
13:18 ugexex left
perlpilot Zoffix: it means that language that fits my brain and has some elements of procedural programming, oop, functional programming and has strong use of regex. "Perl" is that thing I go to when I want to get things done quickly, easily, and fun-ly :) 13:18
13:18 jonas3 left
Zoffix araraloren: not in my usage. Rakudo (capital R) is the stand-in name I'm using to refer to the language as a trial before I'll present argumentation for extending the language name on 6.d language release: rakudo.party/post/The-Hot-New-Lang...med-Rakudo 13:18
perlpilot: so... Python, Ruby, PHP, JavaScript. 13:19
Aaronepower m: my @baz = [1, 2, 3, 4, 5]; my (@foo, @bar) = @baz.classify({$_ > 3}){True, False}; my (@foobar, @bar) = @bar.classify({$_ > 2});
camelia 5===SORRY!5=== Error while compiling <tmp>
Redeclaration of symbol '@bar'
at <tmp>:1
------> 3$_ > 3}){True, False}; my (@foobar, @bar7⏏5) = @bar.classify({$_ > 2});
expecting any of:
shape declaration
Aaronepower araraloren: ^
Zoffix perlpilot: Perl11 also, eh? 13:20
perlpilot Zoffix: to me, Perl is an embodiment of TIMTOWTDI, whipituptitude, and manuplexity. Python doesn't quite fit that, but sure ... Ruby and Javascript. PHP has a little too much impedance because of the inconsistencies.
Zoffix Aaronepower: that's the thing I mentioned yesterday. There's no elegant way to do that with `@` sigils, because they take all the things and the signature version with binding needs a `my`
13:20 cantankerousking joined
Zoffix HAH 13:21
araraloren I think Rakudo is an implementation of Perl 6, and NQP , even Perl 6 dialect fanlang.
Zoffix perlpilot: what's "manuplexity"? 13:22
araraloren m: my @baz = [1, 2, 3, 4, 5]; my (@foo, @bar) = @baz.classify({$_ > 3}){True, False}; my (@foobar, @foobaz) = @bar.classify({$_ > 2}); 13:23
camelia ( no output )
perlpilot a typo of "manipulexity" :)
Aaronepower m: say ["Hello", "World"].join('\n'); 13:24
camelia Hello\nWorld
araraloren Aaronepower, you type the duplicate name
perlpilot Zoffix: I can't spell it, but I know it when I see it ;-)
Zoffix perlpilot: well, what is it?
Aaronepower Why does `.join('\n')` not actually put in a newline?
Zoffix Aaronepower: single quotes don't interpolate \n escapes 13:25
Aaronepower: use double quotes
perlpilot en.wiktionary.org/wiki/Citations:manipulexity
szabgab moritz:could you take a look at the modules process again? When I reload the page it sometimes shows an empty appveyor column, sometimes not even that 13:27
Zoffix All that's too vague and applies to too many languages (even your own reference lists Python as example). So I'd say that's now what Perl brand represents.
It might be why you like "Perl", but not the brand.
s/now/not/; 13:28
perlpilot Could be. It's hard to remove my own personal history and look at such things objectively. 13:29
moritz szabgab: the run that generates the new DB file is still in progress 13:30
dist 832 of 865 13:31
Geth modules.perl6.org: 72b93fcb41 | (Zoffix Znet)++ (committed using GitHub Web editor) | assets/js/main.js
Adjust sorter plugin filter

to accomodate newly added appveyor column
perlpilot I used to tell people that I thought PHP, Python, Ruby, Perl, and Javascript were all converging towards the same language (and then JS added "use strict"! :-) But Perl always seemed to be the pioneer in glomming features together in one place in general ways. 13:32
Zoffix perlpilot: are you the author of "PHP training wheels without the bike" website?
perlpilot uh ... NO
araraloren PHP is best language in the world. :) 13:33
Zoffix Ah ok. I recall a decade ago, Perl people loved to point to that website and mock PHP, especially for inconsistencies in its routine names. Now, a decade later, Rakudo has the same inconsistencies, if not worse. Maybe there is something to your hypothesis of convergance :D 13:34
PHP is awesome because you can program by just googling what you need to and get a copy-pasteable answer.
perlpilot PHP is "the people's language" in that regard.
Perl kinda was that way in the 1990s too. 13:35
13:38 nowan left 13:40 nowan joined
Aaronepower What's the throwaway pattern bind? 13:41
Zoffix shrugs 13:42
timotimo you mean $ ?
equivalently @ or % or &
well, not equivalent, of course
just omitting the name will throw the value away, but you can still require a certain kind to be passed there 13:43
13:43 tony-o joined
Zoffix m: my @baz = [1, 2, 3, 4, 5]; my @foo = .[.grep: * > 3]:delete with @baz; my @foobar= .[.grep: * > 2]:delete with @baz; dd [@baz, @foo, @foobar] 13:44
camelia [[1, 2, 3], [5, Any], [4, Any]]
Zoffix m: my @baz = [1, 2, 3, 4, 5]; my @foo = .[.grep: * > 3, :k]:delete with @baz; my @foobar= .[.grep: * > 2, :k]:delete with @baz; dd [@baz, @foo, @foobar]
camelia [[1, 2], [4, 5], [3]]
13:45 astj joined
Aaronepower timotimo: having just `my (@foo, @)` doesn't work. 13:46
13:47 Kyo91 joined
Zoffix Aaronepower: doesn't work to accomplish what? 13:48
Aaronepower Zoffix: Fail to compile.
Zoffix ?
What are you trying to do? 13:49
Aaronepower Zoffix: It just complains about the next one. paste.rs/6L2
moritz Zoffix: can I restart the modules.perl6.org app without re-fetching all the data?
13:49 Kyo91_ joined 13:50 itaipu joined
Zoffix moritz: the app doesn't fetch anything. Yeah you can restart it after you copied the new db you made to modulesperl6.db. 13:50
Aaronepower Zoffix: I want `my (@foo, @dontcare)` but not just bind it to a random variable. In Rust in pattern matching assigning something to `_` means "I don't care about this part of the pattern.
moritz Zoffix: how do I restart it?
Zoffix I don't remember. Wasn't there a service? 13:51
moritz no :(
just a cron job
Zoffix service modules.perl6.org-init.d restart
I think that did it
I mean I ran it
"Servince unavailable" oops :P 13:52
13:52 Kyo91 left, nhywyll joined
moritz Aug 02 13:51:52 www modules.perl6.org-init.d[23266]: Can't load application from file "/etc/init.d/modules.perl6.org-init.d": Can't locate Toadfarm.pm in @INC (you may need to install the Toadfarm module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 13:52
/usr/share/perl/5.20 /usr/local/lib/site_perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.1 /usr/local/share/perl/5.20.1 .) at /etc/init.d/modules.perl6.org-init.d line 16.
Zoffix Ah, ok, then I guess that's an outdated service file.
I started it 13:53
moritz thanks
Zoffix su modules.perl6.org; cd ~/modules.perl6.org; hypnotoad bin/ModulesPerl6.pl
moritz ah
Zoffix But I thought we had something automatic to start it when, say, the server reboots and it used to work 13:54
.oO( or maybe I was *meant* to make it work but never did )
moritz the crontab contains a @reboot line 13:55
Zoffix Oh 13:56
13:58 rindolf left, itaipu left
Geth modules.perl6.org: f81e3d3673 | (Zoffix Znet)++ (committed using GitHub Web editor) | assets/sass/main.scss
Fix broken selector

Fixes centering of text in Travis/AppVeyor columns
13:58
14:00 nowan left
szabgab OK, apparently Zoffix and moritz have figured out the modules.perl6.org/ issues. Thanks! 14:00
It now works and shows the Appveyor column
14:03 nowan joined
Zoffix szabgab: if you add a PostProcessor to fetch AppVeyor's status, don't forget to add `[REBUILD]` at the start of the commit message title, so that the site rebuilds cached dists too 14:05
Here's postprocessor to fetch travis status. IIRC just adding a new file to the directory will work, as it's using Module::Pluggable to find them github.com/perl6/modules.perl6.org...ravisCI.pm 14:06
szabgab Zoffix: I'll try to remember, but I am not sure when, if at all, I'll be able to do that.
Zoffix OK :)
szabgab Anyway, thank you both! 14:07
14:07 mcmillhj left, szabgab left 14:08 mcmillhj joined 14:10 Actualeyes joined
sena_kun rt.perl.org/Public/Bug/Display.html?id=131827 can be closed, btw. 14:14
moritz did anybody add a test? 14:16
if so, I don't see it documented in the ticket
sena_kun yeah, it was merged today.
Zoffix Closed (and added link to tests)
sena_kun give me a second...
Zoffix++
lizmat Q: of the people here, *if* you're coming to the TPCiA, would you like to attend a 2-day hackathon afterwards? 14:19
El_Che lizmat: I suspect most people have already book they train/plain ticket and hotel 14:20
lizmat yeah
El_Che what makes the pool smaller
lizmat and the people that *will* stay behind, most likely would like to see more of Amsterdam anyway 14:21
El_Che certainly
sena_kun a new regression bug for `[]` is filled if anyone feels a courage within. :) 14:23
lizmat sena_kun: RT ?
14:24 wamba joined
timotimo Aaronepower: oh, the difference is that "my" won't let you declare things without a name 14:24
Zoffix lizmat: rt.perl.org/Ticket/Display.html?id=131830
sena_kun lizmat, rt.perl.org/Public/Bug/Display.html?id=131830
timotimo Aaronepower: but you can declare the variable separately from the destructuring, or put the "my" inside the parenthesis
sena_kun lizmat, it doesn't golfed though.
*isn't
Zoffix bisect: m: use NativeCall; CArray[Str].new[my int $ = 1] 14:25
bisectable6 Zoffix, Bisecting by exit code (old=2015.12 new=5f68c77). Old exit code: 0
Zoffix, bisect log: gist.github.com/5ab1ea4789d86778ce...54c1fdeca0
Zoffix, (2017-07-31) github.com/rakudo/rakudo/commit/a2...1ffaf55f40
lizmat sena_kun: could you check whether reverting a256c26d850c0e5f fixes it ? 14:26
and PR a test for it? :-)
sena_kun lizmat, hmm, to be honest, I doubt I can right now. Can try later today though.
Zoffix c: a256c26d850c0e5f,a256c26d850c0e5f~1 use NativeCall; CArray[Str].new[my int $ = 1]
committable6 Zoffix, ¦a256c26: «Ambiguous call to 'postcircumfix:<[ ]>'; these signatures all match:␤:(\SELF, int $pos)␤:(NativeCall::Types::CArray:D \array, $pos)␤ in block <unit> at /tmp/ZrEjw1fX0F line 1␤ «exit code = 1»» ¦a256c26d850c0e5f~1: «»
Zoffix Yup, fixes it
sena_kun \o/ 14:27
nadim_ ugexe: Hi, thank you for your quick answer. The problem is not with the alias, it is not even there. I try to install as shown in the link, I get an error message for the Horizontal module, the tests that are run by zef make use of it. I appreciate any help you can give.
Zoffix c: HEAD use Test; use NativeCall; lives-ok { CArray[Str].new[my int $ = 1] }, 'native int as index to CArray does not crash'
committable6 Zoffix, gist.github.com/51b84d58476f362e21...f21d15153d
Zoffix c: a256c26d850c0e5f~1 use Test; use NativeCall; lives-ok { CArray[Str].new[my int $ = 1] }, 'native int as index to CArray does not crash'
committable6 Zoffix, ¦a256c26d850c0e5f~1: «ok 1 - native int as index to CArray does not crash»
Zoffix lizmat: sena_kun ^ test :) 14:28
sena_kun Zoffix++
I'll commit it to roast right now then? 14:29
Zoffix PR it. Otherwise it'll be failing for all the devs until the issue is fixed
El_Che lizmat: I am looking to volunteer, but the timespots looks weird: wednesday afternoon timekeeping: 14:15-15:30
Zoffix I don't get why that commit causes that issue tho
El_Che lizmat: while talks start soon and finish later
sena_kun Ok. 14:30
14:31 lowbro left
Zoffix sena_kun: nevermind. I see in #perl6-dev the suspect commit was reverted 14:31
sena_kun Zoffix, nod. Where should I stick in the test?
lizmat El_Che: looking
El_Che thx
nadim_ Zoffix: can you do me a favor and install the latest Data::Dump::Tree with Zef? I have an issue and I'd like to know if it happens just here.
Zoffix Pass :P I don't want issues 14:32
sena_kun nadim_, I can, I guess.
nadim_ thanks sena_kun
Zoffix: chicken ;) the issue would have been that it does not instll that's all 14:33
lizmat act.perlconference.org/tpc-2017-ams...0Hackathon # add your name if you're interested
sena_kun nadim_, Could not find Data::Dump::Tree::Horizontal at line 2 in: 14:35
14:35 jonathon joined 14:36 cantankerousking left
jonathon Hi. Having an issue packaging `zef` for a system-wide install; i've been pointed to this being a bug (or similar) within rakudo but i don't know how to proceed. any help or pointers appreciated. (github.com/ugexe/zef/issues/190) 14:37
lizmat El_Che: I don't see the 14:15: I do see a plenary presentation missing at 13:50 14:38
14:39 zakharyas left
lizmat El_Che: maybe we should take this to #yapc on irc.perl.org ? 14:39
14:39 nattefrost left 14:40 skids joined
El_Che I am just wonderting if they don't need volunteerd in the other afternoon spots or just a wiki typo 14:40
14:40 nattefrost joined 14:41 Khisanth left, zakharyas joined
Zoffix jonathon: well, would be helpful to get --ll-exception info to know where that error is happening, but it just happened that the 2017.07 has a commit that breaks that feature :| 14:42
nadim_ sena_kun: thank you, I hope I can find what silly thing I have done quickly. I may ask for you to test installing again if it ok with you 14:43
Zoffix oh, but maybe there's a better way.
lizmat El_Che: looks like a typo to me :-)
sena_kun nadim_, no problem
Zoffix jonathon: 1 sec, lemme try to a potential workaround around the --ll-exception breakage
14:46 zakharyas left, jonathon left
Zoffix bah 14:46
But I found a workaround
14:48 jonathon joined
Zoffix jonathon: can you run this and pastebin the output? cd $(mktemp -d); mkdir Exceptions; echo 'class Exceptions::Foo { method process ($e) { say "$e.message() $e.backtrace.full()"; False } }' > Exceptions/Foo.pm6; RAKUDO_EXCEPTIONS_HANDLER=Foo perl6 -I. -MExceptions::Foo /usr/share/perl6/vendor/bin/zef 14:49
14:49 nattefrost left
Zoffix Bassically --ll-exception switch prints full backtrace, include core code, but it's broken. So the workaround is to make a custom exception handler that prints the full backtrace 14:49
14:50 zakharyas joined
lizmat --ll-exception broken again ? 14:51
Zoffix lizmat: no, but jonathon is on 2017.07
lizmat aaaahhh *phew* :-)
jonathon Zoffix: hastebin.com/inijoqapib.rb 14:53
14:54 Khisanth joined
Zoffix \o/ my workaround worked \\o/ 14:54
mspo would you guys be open to replacing the perl6 shell script with a c program?
so it works on bsd/osx?
Zoffix ugexe: you mentioned jonathon's issue is a Rakudo issue. Do you know what it is or was it just a hunch? 14:56
I see this check is using `.e`; should it be `.f` instead? github.com/rakudo/rakudo/blob/nom/...on.pm#L424
I mean, it being `.f` would avoid jonathon's issue, but does that just move the goalpost to another issue? 14:57
mspo: maybe ask in #perl6-dev? 14:58
mspo Zoffix: ETOOMANYCHANNELS 14:59
lizmat .e would work for directories also, is that what you want ?
15:00 nadim_ left
Zoffix lizmat: no, the code expects a file (and .f does .e too). It's currently crashing because it's trying to treat a directory as a file, but I don't know if it's a bug that it's a directory in the first place or if the crash is preventing it from Doing The Right Thing 15:00
15:01 nadim_ joined
Zoffix I'll file an RT and .tell nine to take a look :) 15:01
jonathon Do you need me to report/file anything anywhere? 15:02
tony-o jonathon: are you jonathonf on github? 15:03
jonathon yup
Zoffix jonathon: imma do it right now and then I'll give you the ticket number so you could follow it
jonathon Grand :) 15:04
tony-o not trying to be rude towards you, but the documentation you quoted says how to make the custom location known. 15:05
Zoffix jonathon: here: rt.perl.org/Ticket/Display.html?id=131831
.tell nine would you have any ideas on this ticket? rt.perl.org/Ticket/Display.html?id=131831 15:06
yoleaux Zoffix: I'll pass your message to nine.
Zoffix jonathon: and nine is the expert on that part of codebase, so they might know why this is happening and fix it or improve the error
jonathon tony-o, if you're installing a module, yes. it's not explicit about installing `zef` itself to a custom location, and without knowing exactly how zef works it's not obvious it's the same thing. That may be down to a lack of experience with Perl6 but that's the reason for having a README 15:07
Zoffix: thank you :) I suspect this is going to help a number of distro packagers too. 15:08
ugexe you are still expecting "vendor" to point to your system vendor directory 15:09
tony-o jonathon: zef relies on zef modules to run. the CLI bin loads them, so if you're installing zef manually to a custom location, the CLI portion of zef needs the libraries
and you'd need to tell perl6 (which is what is running 'zef') where to find them
jonathon yes, i get that
you're looking at it from the perspective of an expert, not from the perspective of someone who's new to the ecosystem 15:10
tony-o well, perl6 can't automagically know the arbitrary location of where you installed its libs to
someone who is new to the ecosystem is unlikely to be installing zef from source to a custom location
ugexe in your package script you have `perl6 -Ilib "$srcdir/install-dist.pl" --to="$pkgdir/usr/share/perl6/vendor" --for=vendor --from=.` is not --for="inst#/usr/share/perl6/vendor"
jonathon no, perl6 can't - but zef can. i even says "installed to $LOCATION"
tony-o perl6 is what runs zef.
15:11 vendethiel left
lizmat three little words: act.perlconference.org/tpc-2017-ams.../talk/7149 15:11
15:11 nicq20 joined
jonathon tony-o, yes, i get that 15:11
tony-o so, not really, it can't. it only knows the location when you're installing it, after that it's a problem
Zoffix "2.8 million lines of code" :o 15:12
tony-o oh dear
15:12 vendethiel joined
jonathon ugexe: switching it to --for="inst#/usr/share/perl6/vendor", install-dist.pl throws an error (Type check failed in binding to parameter '$next-repo'; expected CompUnit::Repository but got Nil (Nil)) 15:13
15:14 quotable6 left
jonathon going by the OpenSUSE approach, --for=vendor is correct (build.opensuse.org/package/view_fi...?expand=1) 15:14
15:14 eliasr joined 15:17 wamba left 15:18 vendethiel- joined, vendethiel left
Zoffix sena_kunZoffix, nod. Where should I stick in the test? 15:20
sena_kun: here: github.com/rakudo/rakudo/blob/nom/...5-arrays.c
Don't look like NativeCall is part of Perl 6 spec
Oh, oops 15:21
sena_kun: I meant here: github.com/rakudo/rakudo/blob/nom/...5-arrays.t
sena_kun Zoffix++
ugexe well, it shouldn't be surprising that when you install to site, a location that perl6 specifically knows about, it works. and that when you install it to a custom location without also setting up the PERL6LIB (something a system packager should be doing, not zef) that its not going to work as expected
sena_kun give me a minute...
ugexe the problem is you are copy and pasting someone else's system build script without taking the time to understand how any of the pieces work, and instead of asking how they work you declare things are broken or wrong 15:23
jonathon you mean like the possible bug that occurs when installing to vendor? 15:24
you're also making a lot of assumptions, but i'm not here to discuss this. i left the issues with zef on the GitHub issue lists.
15:25 jonathon left 15:26 AlexDaniel left
sena_kun github.com/rakudo/rakudo/pull/1127 may be merged and rt.perl.org/Public/Bug/Display.html?id=131830 may be closed. \o/ 15:27
ugexe right, which is why i'm not making assumptions
15:27 AlexDaniel joined
Zoffix Merged and closed. Thanks, sena_kun++ 15:28
15:36 AlexDaniel left
nicq20 Is $*IN still used to get piped input? 15:37
lizmat m: .say for $*IN.lines 15:38
camelia »Wann treffen wir drei wieder zusamm?«
»Um die siebente Stund‘, am Brückendamm.«
»Am Mittelpfeiler.«
»Ich lösche die Flamm.«
»Ich mit«

»Ich komme vom Norden her.«
»Und ich vom Süden.«…
lizmat nicq20: I'd say, yes :-)
15:39 khw joined
nicq20 Ok, thanks! I must be doing something else wrong then. 15:39
15:40 araraloren left
Zoffix nicq20: why? What issue are you having? 15:43
tony-o Zoffix++
Zoffix ?
moritz (general awesomeness) :-) 15:44
tony-o haha, ^^
nicq20 I'm trying to pipe text from `tail -f` into a Supply, but I can't seem to get passed `.tap`.
`tail -f test | perl6 -e '$*IN.Supply.tap: *.perl.say'`
Not entirely sure why I had some code that would do this, and it no longer works. 15:45
Zoffix nicq20: because it sits and waits until X number of bytes are read.
tail -f test | perl6 -e '$*IN.Supply(:size<1>).tap: *.perl.say
nicq20 When was that setup? Or was it always like that? 15:46
Zoffix probably always
Default size is 65536 characters (in char mode) 15:47
And the remaining stuff will get sent when the handle gets closed
nicq20: .lines.Supply maybe?
so it feed line-by-line 15:48
15:49 robertle joined
lizmat I think there's also some interaction with -f there 15:49
15:53 rindolf joined
perlpilot What were Damian's three little words? class, role, method ? 15:53
and .... I need to scroll to now 15:54
perlpilot wonders if their is a difference between `$*IN.lines.Supply` and `Supply.from-list($*IN.lines)` 15:57
Zoffix s: ().Seq, 'Supply', \() 15:58
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/7599...ny.pm#L458
Geth ecosystem: 53cfcfb607 | (brian d foy)++ (committed using GitHub Web editor) | META.list
Add PrettyDump
Zoffix s: ().Seq.list, 'Supply', \() 15:59
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/7599...st.pm#L912
Zoffix perlpilot: nope
perlpilot Zoffix: I wish I could remember how to use that bot :) 16:00
Zoffix It's very easy: you're just giving arguments to a Rakudo routine and there are two multies: &Callable, Capture $args? and Mu $object, Str:D $method-name, Capture $args? 16:01
If you don't give args, you'll get location of proto for multies
Hm
mi6 generates META.info files instead of META6.json? github.com/briandfoy/perl6-PrettyD.../META.info
m: say "Trying to submit a PR to that repo to rename that file is {<pointless ok>.pick}" 16:02
camelia Trying to submit a PR to that repo to rename that file is ok
ugexe I dont think it generates it, but will reuse it if it already exists
btw, lets get rid fo META.info in 6.d :) 16:03
Zoffix Lets :)
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/2318406976 16:04
16:04 zakharyas left 16:07 zakharyas joined
Zoffix $ perl6 -MWWW -e '"raw.githubusercontent.com/perl6/ec...ends-with: "META.info").elems.say' 16:10
85
Pretty good, consdering the Great META Rename started with like 45% of ecosystem using META.info
16:12 zakharyas left
tony-o did you do all of those PRs manually Zoffix ? 16:15
ugexe nadim_: well, you have copypasta in the module names from your meta file (github.com/nkh/P6-Data-Dump-Tree/b...json#L24). 16:17
Zoffix Semi-manually. I had a bash script opening firefox windows to edit the files and a GreaseMonkey script filling in the details into the form, so I was just clicking "submit PR" buttons basically
[Coke] . 16:19
ugexe nadim_: seems like Test::META could use something to catch that
16:23 zakharyas joined 16:27 nadim_ left
ugexe I could tweak something to catch that during test phase though... last time I attempted it (1, 1.5 years ago?) there were issues with Build.pm workarounds preventing it, and those should be gone since 2017.06 16:28
which all basically boils down to the difference between `perl6 -I. t/my-test.t` and `perl6 -Ilib t/my-test.t` (unless you have a META6.json in your lib folder... then these are the same :) 16:29
16:29 dakkar left 16:30 itaipu joined
ugexe note you would have seen your failure with `perl6 -I. -e 'use Data::Dump::Horizontal;'` because that name is not in the META6.json that -I. points at. with -Ilib it works, because there is no META6.json to get the wrong name from - instead it guesses the file name from the module name (which exists) 16:31
Ulti is there a reason you can't do parametric types of Pairs ? 16:32
Zoffix Pair is a class, not a role..
Ulti ok... is there a reason you can't do parametric types on Classes that are container like 16:33
is there a role Pair does thats Pairy?
Zoffix Oh, it does do Associative 16:34
Ulti: then I don't know why
Ulti m: my Associative[Str, Callable] $thing = 'rofl' => sub { 'copters' }; 16:35
camelia Type check failed in assignment to $thing; expected Associative[Str,Callable] but got Pair (:rofl(sub () { #`(Sub...)
in block <unit> at <tmp> line 1
ugexe m: role Foo[::T] { has $!bar = T; method bar { T } }; say Foo[Int].new.bar; # seems like technically it could be done though?
camelia (Int)
Ulti Im answering that reddit about 3 things that suck about P6 webdev
one is definately Bailador using Pairs for its routing API
but I cant think of a compile time way to prevent stupid stuff
since where $x.value ~~ Callable is going to only be checked on dispatch right? 16:36
16:36 nicq20 left
Zoffix Not guranteed. It can be checked at compile time. 16:36
Ulti get (Pair $x where $x.value ~~ Callable)
Zoffix: with a sufficiently advanced compiler with static analysis...
but not Rakudo right now? 16:37
tony-o Ulti: check out http::server::router::yaml
Zoffix Dunno, I just remember jnthn++ mentioning that you can't rely on `where` running at runtime (or having sideeffects)
Ulti yeah I mean I treat it as if it was some static compile time constraint in my head
wonder if subset would be the way to go here CallablePair with that where 16:38
16:38 szabgab joined
Zoffix m: Pair[Int,Int].new: 42, 42 16:39
camelia 5===SORRY!5=== Error while compiling <tmp>
Pair cannot be parameterized
at <tmp>:1
------> 3Pair[Int,Int]7⏏5.new: 42, 42
Ulti tony-o: cool, but personally I'd prefer just meta package structure implying most of that a bit like Catalyst and even that is probably not the best either
Zoffix m: Associative[Int,Int].new: 42, 42
camelia Default constructor for 'Associative[Int,Int]' only takes named arguments
in block <unit> at <tmp> line 1
16:40 troys joined, itaipu left
szabgab Zoffix: is there some magic I can add to the commits of modules.perl6.org that will restart the web application? 16:40
Zoffix m: dd Hash[Int,Int].new: 42, 42
camelia (my Int %{Int} = 42 => 42)
Zoffix szabgab: that's done automatically after each db rebuild
Ulti :3
szabgab I don't need to rebuild the whole db but it seems I need a restart ...
16:41 Cabanossi left
szabgab oh so maybe the template has been already updated but the the process is still running? 16:41
the (currently) should contain a number as well, and it does on my system. 16:42
and it just a select statement, no changes in the db, not even content, is required
Zoffix Ulti: yeah, I've no idea what makes things parametarizeable. Hash and Pair both do Associative and you can parameterize a HJash but not a Pair vOv
szabgab: I don't see any recent commits to it that didn't make it 16:43
16:43 ChoHag joined
Zoffix that didn't make it to the site 16:43
16:43 Cabanossi joined
Zoffix Oh 16:43
szabgab the template was updated on the site, but it is using the previous code. AFAIK
Zoffix yeah, it's just the bot seems ded 16:44
szabgab anyway, Zoffix what was you wrote I need to add to the commit message to get a full rebuild of the db? Can I add it to the README?
Geth modules.perl6.org: 9afb961eb4 | (Gabor Szabo)++ | 3 files
show number of modules using Travis and using Appveyor
Zoffix szabgab: `[REBUILD]` I already added it: github.com/perl6/modules.perl6.org...68bf25217d 16:45
szabgab ok
I see it now. Thanks 16:46
Numbers appeared on the site. Great! thanks
Zoffix szabgab: As for app restarting. It happens after each DB rebuild which is set to cron run on 20th and 40th minute of the hour and takes like ~1hr to run. You can view latest build log on modules.perl6.org/update.log 16:47
And yeah, a run just finished.
s/DB rebuild/DB update/;
:)
20th and 50th minute actually 16:49
And takes 1hr.20m 16:51
Zoffix &
16:52 szabgab left 16:53 zakharyas left
tony-o Ulti: it's like that in hiker too 16:54
16:58 Aaronepower left 17:01 mcmillhj left 17:04 astj left
[Coke] going to add something to the doc site so we can tag sample code as runnable with 'no strict;' so we can avoid pedagogically uses cases of predclaring variable names. any one care to bikeshed that that tag on "=code" would look like? We already have :skip-test, :lang<perl5>, and ok-test<WHAT> (last one allows use of .WHAT in code) 17:10
*useless cases 17:11
Zoffix .o( :no-strict-ok ? :no-strict ? :it's-ok-to-not-predeclare-variables-in-this-code-snippet ) 17:13
17:14 mcmillhj joined 17:15 astj joined
[Coke] I'll go with :no-strict for now. Danke. 17:19
moritz :preamble('no strict;') 17:20
then you can add other preambles if you want
ilmari then you could do :preamble('my ($foo, $bar, $baz)') too 17:22
17:28 setty1 joined, itaipu joined
andreoss m: my $f := lazy fail ; say(1); 17:30
camelia Failed
in block <unit> at <tmp> line 1
17:31
andreoss is there a way to lazily fail only when variable is being referenced? like Haskell's `undefined` 17:32
17:32 mr-fooba_ joined, astj left
andreoss without a closure 17:32
17:32 astj joined, mr-foobar left
ugexe thats what fail is 17:33
m: sub foo { fail "xxx" }; my $x = foo(); say 1; say $x
camelia 1
xxx
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
andreoss m: my $f = ->{ fail }() ; say(1); 17:34
camelia Failed
in block <unit> at <tmp> line 1
andreoss m: my $f = sub { fail }() ; say(1); 17:36
camelia 1
andreoss why direct assignment doesn't work?
17:36 astj left
moritz andreoss: you have to be aware that fail() returns from the routine it's in (and returns a failure) 17:38
and dies if there is no outer routine
which why all of your examples except the last immediately threw the exception 17:39
after you take that into account, fail() is pretty much a lazy exception; it throws when you do something with it that isn't a careful inspection
Zoffix It dies when it's sunk,. 17:40
Oh, nevermindm misread'
moritz or if you call any number of methods, basically all exception .defined or .Bool
andreoss m: constant \undefined = sub {fail} (); my $f = undefined ; say(1); 17:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3constant \undefined = sub {fail}7⏏5 (); my $f = undefined ; say(1);
expecting any of:
infix
in…
andreoss m: constant \undefined := sub {fail} (); my $f = undefined ; say(1);
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3constant \undefined := sub {fail}7⏏5 (); my $f = undefined ; say(1);
expecting any of:
infix
i…
andreoss m: constant \undefined := sub {fail}(); my $f = undefined ; say(1);
camelia 1
moritz m: constant undefined = sub { fail }(); my $f = undefined; say 'alive'; 17:43
camelia alive
moritz no need for binding or \ here
Zoffix andreoss: note that it will become unexplosive the second you .Bool or .defined on it. 17:44
Also, constants get precompiled. Be careful using stuff that changes in modules 17:45
Lastly, instead of sub {fail}() you can just write Failure.new
huggable: Failure
huggable Zoffix, Delayed exception: docs.perl6.org/type/Failure
Zoffix ^ some docs on that type
17:48 troys is now known as troys_ 17:49 Altreus joined
Altreus Um hello. I finally decided to try p6 so now I'm here too 17:50
perlpilot Altreus: welcome
Zoffix Sweet. Welcome
Altreus I'm mostly here because Text::CSV doesn't pass its tests but no one has noticed and I thought it might be me 17:51
El_Che Altreus: you traitor :)
Altreus But I'm having wireless issues so it's hard to paste stuff usefully
Do we have a paste bot? 17:52
Zoffix Altreus: weird. That module is our benching canary.
perlpilot Altreus: gist works
Altreus k
Zoffix Altreus: yeah, the shadowpaste one
Altreus I figured it would be me because I'm a total noob
but
2 ticks
17:52 st_elmo joined
Zoffix Altreus: what are the test failures? Something about malformed UTF8? 17:53
Altreus OK the wireless is terrible so I'll use 4g so i can actually communicate 17:54
Zoffix :)
Altreus I do have a lot of utf8 test failures
Expected false, got (Bool)
Zoffix maybe it's a known bug then, we're trying to hunt it down
huh
Altreus: what rakudo version you got? 17:55
Altreus Also, invocant of method Bridge must be int not bool
I'm paraphrasing due to phone
I just installed 2017.07 last night
Zoffix Altreus: report it :) 17:56
Altreus What output is useful besides what zef gives?
17:59 emeric joined
Altreus perl6 -V ? 17:59
Zoffix Altreus: no, just full output of test failures. I'm unsure how to make zef report them in full 18:01
buggable: eco Text::CSV 18:02
buggable Zoffix, Text::CSV 'Handle CSV data. API based on Text::CSV_XS': github.com/Tux/CSV
Zoffix gonna
gonna try the module myself
El_Che module fails also on my computer
18:02 rindolf left
Zoffix ...maybe. I'm using a laptop to connec to a windows box to putty to a linux box to ssh to my server to run weechat in scrteen :) 18:03
Altreus Attempting to submit data...
I would tether but I'm low on data 😭 18:04
Ah, submitted
El_Che: same issue as I just posted on gh?
El_Che ah gist kills the formatting 18:05
Altreus Try ```
El_Che Altreus: yes, identical
Altreus Not just me hooray
I'm just the canary
El_Che I am on 2017.06 on this machine 18:06
Altreus Perl6's type system just changes the bugs you make \o/
18:06 rindolf joined
Altreus Meanwhile I'm going to process CSV with split 18:07
I'm going to assume it's broken tests and skip them for now 18:08
ugexe github.com/Tux/CSV/commit/06a450d8...1816fbdd91 # last commit looks related ?
Zoffix ooohh 18:09
Yeah that is it
Altreus Hmm installing it again is reinstalling deps
Zoffix Altreus: basically the issue is the module added a commit that works only on bleed rakudo
El_Che We need CPAN 18:10
Altreus Does zef keep nothing if the target failed, or is it installing to the wrong place?
Zoffix lizmat: ^^ maybe that commit should be removed at least for now, since is default is broken on attributes on older rakudos
El_Che: we *have* CPAN
El_Che Zoffix: there is have and kind-of-have
ugexe its on cpan, the problem is the version uploaded was before the automatic source-url setter worked
Zoffix Altreus: keeps nothing, unless --serial was using
*was used 18:11
Altreus Ah, that's both pesky and not
El_Che ugexe: does zef download cpan or github nowadays?
Zoffix El_Che: what's kind-of-have?
ugexe both
Altreus El_Che: Mine came from gh
ugexe for the last few years
Altreus All of them
Zoffix Altreus: because not every module's author is using cpan
Altreus Uh 18:12
I can't back up what I said ... I know some came from gh
Zoffix doesn't; too lazy
Altreus I guess I don't know
El_Che I mean with have: zef installs from cpan
18:12 leah2 left
El_Che and not from github 18:12
ugexe that doesn't mean it wasnt found on cpan - again the version on cpan has its source-url as a github url
Zoffix Altreus: it's likely. It'll only use from cpan if cpan has a newer version
El_Che except as a one off
Zoffix El_Che: zef installs from cpan 18:13
El_Che: if people bother uploading
El_Che Zoffix: it's not zef's fault
Zoffix El_Che: so what we need isn't CPAN but people who care about CPAN to upload to it
El_Che: no, it's not. I was responding to your "we need CPAN" :P
Altreus Wouldn't that install unreleased stuff all the time? :s
El_Che Zoffix: people upload p5 code to cpan because it's the "only" way to get it installed 18:14
if there was a short cut, many won't bother
Zoffix El_Che: yeah, and that's not what we want with Rakudo.
ugexe dont depend on unreleased stuff
Altreus I skipped tests and it seems OK
Zoffix El_Che: you can disable p6ecosystem in zef and only get your stuff from CPAN 18:15
El_Che I like writing go, but downloading random stuff from github makes me nervious
Zoffix heh
El_Che Zoffix: that's the thing, it shoudn't be a user choice
Zoffix As opposed to downloading random stuff from CPABN?
El_Che: why not?
ugexe you are not thinking about the problem very deeply
Altreus Maybe i misunderstood what Zoffix said... Zef installs from gh if gh has a newer version than cpan?
ugexe it doesnt matter where it comes from 18:16
Zoffix Altreus: yes
Altreus Isn't that always the case?
El_Che ugexe: with CPAN I expect releases. With github I expect random commits on master
Altreus GH would never be behind cpan
El_Che huge difference
Zoffix Altreus: "newer version" meaning newer version in META6.json
ugexe github is not a p6c thing
Altreus Ah so you update that to "release" it 18:17
El_Che with CPAN I expects tests when released/uploaded
Zoffix Altreus: oh. I see the confusion. It doesn't install from github, unless the GitHub source is listed in our p6ecosystem
Altreus: so if an author only upploads to CPAN, it'll always use CPAN versions. 18:18
We have two ecosystems. CPAN and GitHub-based.
El_Che: why do you expect that?
Altreus How does the ecosystem index gh things? Do you submit just the information about where it is? 18:19
Wait
El_Che Go gets away with murder because you need a breakage-free dependency chain only at compile time
Altreus Is there a document that explains it all? :p
ugexe you should be depending on :ver<...>, and github or cpan it doesnt matter
Altreus No point retyping it if there is
El_Che installing p6 modules kan be frustrating (again, not zef, but upstream breakage)
ugexe if you dont depend on a specific version then its your own fault
El_Che ugexe: true
Zoffix Altreus: there's a README in this repo that also has the list (META.list) file and authors need to publish there to add it: 18:20
github.com/perl6/ecosystem
Altreus: also two "Modules" guides here docs.perl6.org/language.html 18:22
Altreus Cool
Now I'm going to mix my languages :/
Zoffix Join the club :) Yesterday I spent 5 minutes debugging Perl code because I typoed $data[-1]{last} as @data[-1]{last} and error was about undeclared $self :) 18:23
(in Rakudo you write $data[42] as @data[42])
ugexe I put $<xxx>=(.*?) into a production perl5 code base (it passed peer review, and was the only line changed) 18:26
hobbs Perl 6 sighting: www.johndcook.com/blog/2017/08/02/...aternions/ 18:27
(in the comments)
18:29 leah2 joined
Altreus I'm going to have to use it in anger to recognise various constructs 18:30
Zoffix neat
Altreus But I'm already taking advantage of being able to use hyphens in identifiers
[Coke] ... I already did the :no-strict, but haven't committed yet; I like :preamble, because then you can also do things like :preamble<sub foo {};>, because &foo isn't covered by no-strict.
Zoffix Altreus: single quotes too :)
Altreus My $john's-account-number 18:31
Zoffix m: sub term:<anything-really:DDDD-/o\> { 42 }; say anything-really:DDDD-/o\
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in quote words; couldn't find final '>'

at <tmp>:1
------> 3o\> { 42 }; say anything-really:DDDD-/o\7⏏5<EOL>
expecting any of:
colon pair
Zoffix :( 18:32
Oh, I escaped it
18:32 espadrine joined
Zoffix m: sub term:<anything-really:DDDD-/o\-:)> { 42 }; say anything-really:DDDD-/o\-:) 18:32
camelia 42
Altreus Better whip out my pocket book again 18:35
18:36 AlexDaniel joined 18:42 mr-fooba_ left 18:44 mr-foobar joined 18:47 ufobat joined 18:49 kyclark joined, kyclark left
ufobat is it me doing something wrong with %*RESOURCES or could it be the case that you can't look for the keys in the hash? like in %*RESOURCES<foo>{$bar} 18:49
i've got this error from moarvm "Cannot look up attributes in a Distribution::Resource type object"
18:53 Kyo91_ left
ufobat i mean %?RESOURCES sorry 18:54
Zoffix m: $?RESOURCES<fsdfsdfsdfsd> 18:56
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$?RESOURCES' is not declared
at <tmp>:1
------> 3<BOL>7⏏5$?RESOURCES<fsdfsdfsdfsd>
Zoffix m: %?RESOURCES<fsdfsdfsdfsd>
camelia ( no output )
Zoffix m: %?RESOURCES<fsdfsdfsdfsd><bar>.say
camelia Nil 18:57
Zoffix ufobat: what's your rakudo version?
ufobat 2017.07
lizmat Zoffix: CSV commit reverted
18:57 nadim_ joined
Zoffix Altreus: ^^ your test failures should now be gone 18:58
ufobat how does %?RESOURCES work, or does it even work, if you dont have the module installed yet? then the hash is probably always empty?
Zoffix Do you have META6.json? 18:59
nadim_ ugex: Test::META was removed 2 days ago from my test becaus it failed with an error, that I reported to the author :(
ufobat yes
Zoffix Then, dunno.
ufobat META6.json in the cwd or in a include path? 19:00
Zoffix ufobat: no idea :/
nadim_ ugexe: what copypasta at line 24? I think I am tired and just can't see the error! 19:01
Zoffix Does it work if you have it in current dir?
19:01 TEttinger joined
ufobat in my resources directory there is a file named error.template, and a directory that is named skeleton 19:01
the file itself works
say %?RESOURCES<error.template>.IO; 19:02
say %?RESOURCES<error.template>.IO.slurp;
but this line causes the error: my %skeleton = %?RESOURCES<skeleton>{$type};
rightfold Is there P6CRE?
Zoffix ufobat: oh ok, but what is $type then? something inside that directory? 19:03
ufobat i did install the module, btw
Zoffix rightfold: no
ufobat let me check to be sure, but i would say yes.
Zoffix m: %?RESOURCES.keys.say
camelia ()
Zoffix ufobat: what does that give you ^ 19:04
ufobat therefor i need to reinstall it in my docker container, needs a while ;( 19:05
rightfold Zoffix: 😭
Zoffix ufobat: also, do you have resources listed in your meta file? That's what I get from the docs
[Coke] (:preamble now working locally)
ufobat yeah i have
[Coke] also testing all pod6 files for examples now, no file-level skips 19:06
Zoffix ufobat: shouldn't it then be <skeleton/whatever> instead of <skeleton>{$type}?
ufobat design.perl6.org/S22.html#%25%3FRESOURCES
the exaples there access it like this: %?RESOURCES<images><fido.png>.absolute
Zoffix Man, now I get what users are saying about having trouble finding stuff. The scant few docs don't say anything
ufobat "resource" : [ 19:07
"images/fido.png",
Zoffix ufobat: that's the design docs
ufobat i didnt find anything usefl in the docuentation
Zoffix Yeah, I wish core devs ensured the docs are written/up to date when they make changes to stuff.
or make new stuff 19:08
19:08 mcmillhj left
Zoffix ufobat: but dump %?RESOURCES.keys, I'd expect that to give some answers 19:09
ufobat will do :) 19:10
brb
thank you so far for the help zoffix :)
19:11 ufobat left 19:12 wamba joined 19:17 mcmillhj joined
jdv79 i have an app that kills my box. is there anything but the rakudo profiler that i can use to easily pinpoint the issues? 19:19
or is printing times all over the place needed?
because the profiler borks the app
19:22 mcmillhj left, Kyo91_ joined
Zoffix is that something strace or whatever can help with? 19:22
One of those tools people tell me to use all the time :) 19:23
jdv79 i guess. just wanted to know if there was other rakudo specific things
timotimo hmm. i'm stumped by this design problem: things like NativeHelpers::Blob use the cc command that moarvm was built with
but in the fedora package that's a compiler that's not necessarily available to the normal user 19:24
i.e. "/usr/lib/rpm/redhat/redhat-hardened-cc1"
19:29 ufobat joined
Geth doc: 6646cc9c53 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/testing.pod6
Document behaviour of TODOed subtest
19:29
19:31 Kyo91 joined 19:33 darutoko left, mcmillhj joined 19:34 Kyo91_ left 19:43 |oLa| joined 20:05 kyclark joined
Zoffix contemplates jumping in on the Rakudo Books bandwagon 20:08
El_Che Zoffix: the reddit comments? 20:09
Going for the "Rust book" Rakudo equivalent? 20:10
Zoffix Three books: "The White Book", "The Grey Book", and "The Black Book" convering progressively more arcane and complex features of the language, not exhaustive, but well enough to let the reader be comfortable learning the rest on their own from, say type reference. Digital version free; the equivalent of Rust's "the book"
El_Che: yup. I mulled over "The Black Book" for a while but yesterday's reddit conversation opened my eyes for the need of tje other two as well 20:11
El_Che p6 is huge
Zoffix yup
El_Che so your progression approach is nice
although the White one is the most important 20:12
(I haven't read moritz one yet, and the oreilly one is still on the works)
moritz Zoffix: for a while I pondered a "Perl 6 Complete" series, with one volume for each group of features (like regexes, routines and signatures, OO and MOP, ...) 20:13
so basically a "The Black Book" series :-) 20:14
Zoffix :)
moritz but I don't think I'll write more than the regex one
I find MOP stuff really fascinating, but I don't see a big audience
El_Che some should make a joke comparing "The Go Programming Language" or "The Rust Book" with the Wheel of Time Perl 6 series 20:15
moritz and subroutines and multis and stuff are immensely useful when writing actual Perl 6 code, but I wouldn't know how to convince people to actually buy that
and I'm too greedy to invest 500+ hours in a book for even more marginal financial returns 20:17
Zoffix :)
20:18 nhywyll left
moritz (writing a book is typically *not* profitable, unless you can really streamline it, and/or have a huge audience, and/or you happen to hit the jackpot once) 20:19
Zoffix Yeah. 20:20
moritz if Perl 6 suddenly gets an exponential grows curve like node.js or docker had, maybe I can afford a family vacation from the books :-) 20:21
mspo yeah I used to work with one of the author of "high performance mysql" who gave me the skinny on his "profits" 20:23
they were quite low
good book, though :)
Zoffix I still get profits from a book I wrote 8 years ago.
.
mspo you can probably get more money via speaking fees and reputation building
might be better to use the "learn you some erlang" model 20:24
Zoffix ... about $8/year and the tax people often waste a ton of my time trying to process the form for that profit :)
moritz mspo: well, writing a book can be part of reputation building.
mspo moritz: yeah that's what I mean
moritz: the long term "profit" from the book has a lot to do with marketing of the author himself 20:25
moritz recently I charged about 2k€ for a two-day Perl 6 training I gave. I think I might have underchaged
mspo any travel involved?
El_Che moritz: I am impressed. I didn't know there was a market for P6 training yet
moritz mspo: a bit, yes (400km or so) 20:26
El_Che: it was 4 people at a research institute that did Perl 5, and were interested in Perl 6 20:27
mspo moritz: 2k for local seems pretty good. I'd add travel expenses, obviously
moritz mspo: right
(and I did)
mspo seems like a fair rate to me :) 20:28
20:28 https_GK1wmSU joined
mspo it's what I would expect my company to pay someone, roughly, at least 20:28
moritz on the one hand, it totally is, and it was real fun
mspo if I found out we were paying $10k for a two day class I'd expect a hell of a lot
moritz on the other hand I needed to spend two vacation days, was away 2.5 days and had another ~2 working days of preparations 20:29
and then taxes eat half of it
I don't regret it at all, but I can understand why people charge more if they do it professionally 20:30
mspo yeah but you can re-use the prep
get one of those going every money and you've got a pretty nice side biz :)
20:30 https_GK1wmSU left
moritz aye 20:31
but when you can do it regularly, competition will spring up
no free lunch :-)
mspo turn it into an online course and make passive $$$
probably similar $$$ to writing a tech book ;)
20:32 Aaronepower joined, nhywyll joined
moritz no, much better 20:32
people are willing to pay between 30 and 300 USD or so for a video course
getting somebody to pay more tha $50 for a tech book is an uphill battle 20:33
even if much more work went into it
ufobat Zoffix, yay the output of %?RESOURCES.keys.say; 20:35
say %?RESOURCES<error.template>.IO; is:
# (0)
# "/srv/resources/error.template".IO
the # is from use Test
andreoss macros won't be worked upon until 007 is done? 20:36
lizmat andreoss: I'm afraid so, unless another masak stands up :-) 20:37
jnthn 007 is to work out how macros will be done, so work on it *is* work on macros :) 20:40
20:40 wamba left
ufobat so my personal conclusion %?RESOURCES does not behave as i expect it from a hash :/ 20:40
20:43 troys_ is now known as troys 20:44 wamba joined
Geth ecosystem: mcsnolte++ created pull request #356:
Add Text-UpsideDown to ecosystem
20:45
ecosystem: b1c6c79745 | (Steve Nolte)++ (committed using GitHub Web editor) | META.list
Add Text-UpsideDown to ecosystem
20:46
ecosystem: e0f136e913 | lizmat++ (committed using GitHub Web editor) | META.list
Merge pull request #356 from mcsnolte/patch-1

Add Text-UpsideDown to ecosystem
20:46 emeric left
Zoffix ufobat so what's the output of %?RESOURCES.keys.say ? 20:47
ufobat (0) 20:48
Zoffix m: %?RESOURCES.^name.say 20:50
camelia Nil
Zoffix mkay
ufobat thats pretty frustrating :(
20:51 Kyo91 left
Zoffix ufobat: can you pastebin your META file? 20:51
ufobat of course 20:52
pastebin.com/q259Huz1 20:53
20:54 andreoss left
Zoffix yeah, %?RESOURCES is not a Hash, it's Distribution::Resources 20:56
20:56 mcmillhj left
Zoffix reads the sauce 20:56
20:56 mcmillhj joined
zengargoyle m: my subset ID of Str where * eq any('email'|'accountid'); dd Hash[Any:D,ID].new: 'accountid', 123; 20:57
camelia (my Any:D %{ID} = :accountid(123))
zengargoyle m: my subset ID of Str where * eq any('email'|'accountid'); dd Hash[Any:D,ID].new: 'email', 'foo'; 20:58
camelia (my Any:D %{ID} = :email("foo"))
zengargoyle m: my subset ID of Str where * eq any('email'|'accountid'); dd Hash[Any:D,ID].new: 'emailx', 'foo';
camelia Type check failed in binding to parameter 'key'; expected ID but got Str ("emailx")
in block <unit> at <tmp> line 1
Zoffix ufobat: %?RESOURCES<skeleton/default/bin/app.pl6> 20:59
ufobat maybe you can enlighten me if it's possible to play around with %?RESOURCES without installing the module first?
Zoffix ufobat: basically the key to %?RESOURCES is the key you used in your metafile. It includes the entire path, instead of your original way of using a new nested key for each path 21:00
21:00 andreoss joined
ufobat but i need to know the keys i cant read them from %?RESOURCES 21:00
Zoffix ufobat: that's what I did now. I didn't install the module. gist.github.com/zoffixznet/3cf736d...895ba9051d
ufobat so it's impossible to read out the resources dynamically, e.g if i have a skeleton/something/<some files> and skeleton/somethingelse/<...> 21:01
21:02 mcmillhj left
zengargoyle m: my subset ID of Str where * eq any('email'|'accountid'); my %h := Hash[Any:D,ID].new: 'accountid', 123; dd %h; 21:02
camelia (my Any:D %{ID} = :accountid(123))
Zoffix zengargoyle: | already means "any"
zengargoyle m: my subset ID of Str where * eq 'email'|'accountid'; my %h := Hash[Any:D,ID].new: 'accountid', 123; dd %h;
camelia (my Any:D %{ID} = :accountid(123))
zengargoyle cool, it was golfing from previous attempts. 21:04
Zoffix ufobat: nah, not impossible
ufobat but it would be nice :) 21:05
anyway. thanks a lot for your help ZofBot
Zoffix,
zengargoyle would there be any way to constrain a certain value type to go with a certain key type? i believe original question was subset ID of Hash where keys were only email/accountid. 21:07
it would be really cool to subset Hash where 'email' => Str:D or 'accountid' => Int only...
but that's prolly better as a Class anyways....
21:08 skids left
Zoffix ufobat: OK, don't really see a nice way that doesn't poke too much at the guts. 21:10
I invite people who designed this stuff to document it in full.
21:11 Cabanossi left
ufobat hash like or not, but it would be at least great if you could get the list of available resources. otherwise you need to "know" that name in the META6.json and in the source :( 21:13
21:13 Cabanossi joined
Geth whateverable/master: 4 commits pushed by (Aleks-Daniel Jakimenko-Aleksejev)++ 21:14
Zoffix There's %!meta in CUR::FS that has that info, but it's a private attribute 21:15
21:15 ryu0 left 21:21 kyclark left 21:22 avalenn left, konsolebox_ joined 21:24 nadim_ left 21:25 konsolebox left 21:28 konsolebox_ is now known as konsolebox 21:30 ufobat left 21:38 kyclark joined
Geth whateverable: 24b0b2ebd5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Don't get excited about windows paths

Resolves issue #196
21:41
21:41 espadrine left 21:49 ryu0 joined 21:50 profan left 21:52 troys is now known as troys_
Geth whateverable: 754efdfe89 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/unicodable.t
Unicodable no longer hates parens

Tests for issue #142.
Arguably the output is less than awesome but so is life.
21:52
21:58 mcmillhj joined, kyclark left 22:03 mcmillhj left, khw left 22:05 profan joined 22:10 profan left, mcmillhj joined 22:11 profan joined, https_GK1wmSU joined 22:14 https_GK1wmSU left 22:16 mcmillhj left
ugexe you could just try 22:19
perl6 -I. -e 'say %?RESOURCES<blah.txt>'
but yes, it works
22:22 nhywyll left 22:23 mcmillhj joined 22:24 jsimonet left, jsimonet joined, markmont left 22:25 setty1 left 22:26 itaipu left 22:28 mcmillhj left
ugexe %?RESOURCES is not intended to be used for a plugin system where you can add things to later dynamically look up and load - for that use a CompUnit::Repository 22:30
Zoffix ugexe: how?
How to see what `resources` are available?
If for no other reason than to not repeat the values in two places in code, risking a typo
ugexe why would you not repeat the value in the code? the purpose here is so you can refer to your file after it gets renamed to some hash 22:31
so you use %?RESOURCE{"my-file-original-name.txt"} instead of "my-file-original-name.txt".IO 22:32
Zoffix I want to just load the data, I don't care about names.
Why would I want to repeat the value
22:33 st_elmo left
ugexe so do %?RESOURCE{"whatever"}.slurp 22:33
Zoffix I can access the values if I type out the names. The system knows the available values. Yet, there's no way to obtain the available values.
ugexe: what exactly is "whatever" in that context?
ugexe again, %?RESOURCES is not a generic file storage
Zoffix Says who?
We have a real user trying to solve Problem X. Your response is "don't solve the problem" 22:34
ugexe ok 22:35
22:35 mcmillhj joined
Zoffix Can you access distribution's META file from userland? 22:36
or data in it, rather
ugexe m: say $*REPO.need( CompUnit::DependencySpecification.new( :short-name<Test> ) ).distribution.meta 22:38
camelia {auth => perl, files => {}, name => CORE, provides => {CompUnit::Repository::Staging => {lib/CompUnit/Repository/Staging.pm => {cver => 2017.07-123-ge86bdfca4, file => C57EBB9F7A3922A4DA48EE8FCF34A4DC55942942, time => 1492446520.0385}}, NativeCall => {li…
22:38 cpage_ left 22:39 rindolf left 22:40 mcmillhj left
Zoffix Thanks 22:40
ugexe m: say $*REPO.need( CompUnit::DependencySpecification.new( :short-name<Test> ) ).distribution.content("lib/Test.pm6").slurp 22:41
camelia use MONKEY-GUTS; # Allow NQP ops.

unit module Test;
# Copyright (C) 2007 - 2017 The Perl Foundation.

# settable from outside
my int $perl6_test_times = ?%*ENV<PERL6_TEST_TIMES>;
my int $die_on_fail = ?%*ENV<PERL6_TEST_DIE_ON…
Zoffix "Legacy Distribution object used in code expecting an object consuming the Distribution role" 22:51
When I swap `<Test>` to `<WWW>`
22:52 mcmillhj joined
ugexe well I know Test is installed to a CURI 22:53
and that it'll be found first by need
22:53 markmont joined
ugexe you might be loading from CURFS if you are using -I. or -Ilib 22:54
Zoffix .tell ufobat some tips for your resources issue: irclog.perlgeek.de/perl6/2017-08-02#i_14960004 22:56
yoleaux Zoffix: I'll pass your message to ufobat.
22:57 mcmillhj left
zengargoyle is whatever that log thing was all fixed now? 22:57
Zoffix zengargoyle: it was changed to be differently broken, but still broken 22:58
«»‘’«‘’»…∞””∞…∞…−””×÷τπ「」
Oh, I stand corrected. Yes, fixed now.
zengargoyle ah, i had that sparkline usage pattern thing but put on hold because someting was not right ATM... 22:59
23:03 cpage_ joined 23:08 mcmillhj joined 23:12 pilne joined, mcmillhj left
Geth doc: dd934a1902 | (Will "Coke" Coleda)++ | 2 files
Allow example code to have a preamble.

Allows us to specify code before the user-visible code to allow for correct compilation without cluttering examples.
Fixes #1432
23:13
23:18 sena_kun left 23:19 bwisti joined 23:20 profan left
Geth doc: 13e2f9f588 | (Will "Coke" Coleda)++ | 7 files
Run all example files when testing.

Fixes #1387
23:22
23:23 Geth left, Geth joined 23:24 mcmillhj joined 23:25 http_GK1wmSU joined 23:26 http_GK1wmSU left 23:28 mcmillhj left 23:30 profden joined 23:34 mr-foobar left 23:38 mr-foobar joined 23:40 mcmillhj joined 23:43 Cabanossi left
profden Is there a shorter way to implement sha-256 than how it is here: rosettacode.org/wiki/SHA-256#Perl_6 23:43
I'd think there would be a much more concise way
23:44 Cabanossi joined, mcmillhj left 23:46 lichtkind_ joined
lichtkind_ has perl 6 its perldoc viewer? 23:47
23:48 troys_ is now known as troys
zengargoyle lichtkind_: perl6 --doc ./lib/Module.pm6 -- shows POD.... 23:52
23:53 mcmillhj joined
lichtkind_ thank you very much but i take it as no 23:53
zengargoyle and there's p6doc a little more like perldoc
lichtkind_ since ther eseems to be no cli version of docs.perl6.org
ah thanks
i will look into that
zengargoyle p6doc is basically the docs.perl6.org thing.... yeah, sometimes it is a bit hard/broken, but mostly helps a bit. 23:54
23:59 http_GK1wmSU joined