»ö« 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.
Geth doc: 3d009178ce | cfa++ | doc/Language/functions.pod6
Tweak sub declarator example, address sink context warning.
00:01
synopsebot Link: doc.perl6.org/language/functions
herby_ o/ 00:12
El_Che 👋 00:14
herby_ dumb question: if I opened an issue on github, and the issue was closed, is there a way to re-open it if the issue persists? 00:15
or is it better practice to open another issue 00:16
El_Che if it's the same, I would reopen it
herby_ k thanks 00:17
tyil: i failed further downstream this time in attempting to install App::Assixt. I added it to the github issue 00:18
El_Che 01:20, time to go to bed
El_Che away
herby_ night!
El_Che zooof
bye
travis-ci Doc build failed. cfa 'Tweak sub declarator example, address sink context warning.' 00:21
travis-ci.org/perl6/doc/builds/357163071 github.com/perl6/doc/compare/03a74...009178cefb
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 00:21
Geth doc: 6288b87341 | cfa++ | doc/Type/Range.pod6
Tidy Range, address sink context warning.
01:20
synopsebot Link: doc.perl6.org/type/Range
travis-ci Doc build passed. cfa 'Tidy Range, address sink context warning.' 01:37
travis-ci.org/perl6/doc/builds/357184603 github.com/perl6/doc/compare/3d009...88b87341db
Geth doc: 876ea071f0 | cfa++ | 3 files
Skip tests for a few more sink context blocks.
01:41
donpdonp after "rakudobrew build moar", perl6 --version => This is Rakudo version 2017.07-56-g12d7d5b built on MoarVM version 2017.07-15-g0729f84. implementing Perl 6.c. 01:43
donpdonp yet the latest perl6 is 2018.01, and i can see 2018 versions in rakudobrew list-available. 01:43
cfa a couple of things: (i) rakudobrew is no longer recommended (ii) i think you're stuck on the nom branch 01:45
cfa try: rakudobrew build moar master 01:45
(i think build takes vm and branch, check the help if you want to stick with rakudobrew)
donpdonp cfa. thx. what is recommended now? 01:49
cfa rakudup.github.io is an option 01:50
it'll install the latest release version rather than HEAD of master
MasterDuke huggable: debs
huggable MasterDuke, CentOS, Debian, Fedora and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg/releases
cfa or, yeah, if you don't want to track the near latest, rakudo star or ^
AlexDaniel donpdonp: what's your distro?
cfa i'll defer to others on this 01:51
donpdonp AlexDaniel: ubuntu
i'll just keep with rakudobrew for a while longer. 01:52
i see there are debs in github.com/nxadm/rakudo-pkg/releases
thx all.
cfa i dropped it after recent discussions here, started using stmuk_'s rakudup
donpdonp rakudup: git clone github.com/rakudo/rakudo.git ; perl Configure.pl --gen-moar ... pretty strightforward :) 01:58
cfa yeah, it's boring 01:59
but that's the point
give me the latest release and zef, no fuss
donpdonp nod. 02:00
donpdonp now that im on 2018.03, Could not find Digest::SHA 02:55
is that part of the perl6 stdlib? im having a hard time telling. 02:56
timotimo there isn't a "stdlib", there's only "what your distribution of perl6 has for you"; we only have rakudo star
github.com/rakudo/star/tree/master/modules
Geth doc: a6ca64e518 | cfa++ | 2 files
Tidy Mixy and Rat, address sink context warnings.
timotimo those are the modules that ship with it, donpdonp
donpdonp thx timotimo 02:57
timotimo looks like we have only an MD5 module ... :\
Should work with latest (2012.01) release of Rakudo, the "nom" branch-based version.
%)
cfa not finished yet, but at least example compilation warnings are pretty concise now 02:58
(doing this stepwise as most of these sink context warnings call out for slight rewrites)
donpdonp is there a file that goes in the perl6 project folder to tell zef what packages this app needs? (eg. package.json for nodejs) 03:00
timotimo yes, META6.json 03:01
donpdonp cool.
timotimo docs.perl6.org/language/modules#Pr...the_Module - this should get you started 03:02
donpdonp im using Socket::Async.connect( -> $promise { ... if something goes wrong here, the exception is silently dropped 03:15
makes it impossible to debug. is there something I can do to get the app to crash or show an error?
timotimo can you give a little more exact code? connect(-> $promise { }) would surely be wrong? 03:16
you'll need to act on the result of the promise; if you await the promise, the await statement will throw an exception if the promise is broken 03:18
donpdonp gist.github.com/donpdonp/4302a88d1...c4e7e29fa5
donpdonp also I can change read_loop($socket ... to read_loop(Str $socket... and it doesnt complain. 03:19
i would have expected an exception since $socket isnt a Str 03:20
timotimo m: my $foo = (1 / 0); say $foo.perl 03:24
camelia <1/0>
timotimo m: my $foo = (1 / 0); say $foo + 1
camelia Attempt to divide 1 by zero using div
in block <unit> at <tmp> line 1
timotimo that's why
donpdonp ah if I .then{} after the first promise, then i see the broken promise/exception. 03:24
hmm thats interesting too.
1/0 is valid until evaluated
timotimo m: my $foo = (1 / 0); say $foo.^name 03:25
camelia Rat
timotimo mhm
we also have another thing called "Failure", which is a "lazy exception"
you can "disarm" it by checking for its boolean value, but if you try to actually do something with it, it'll throw 03:26
m: sub this-fails() { fail "oh no" }; my $result = this-fails; say $result ~ "oooh nooo"
camelia oh no
in sub this-fails at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo m: sub this-fails() { fail "oh no" }; my $result = this-fails; say $result ~ "oooh nooo" if $result
camelia ( no output )
timotimo m: sub this-fails() { fail "oh no" }; my $result = this-fails; say $result 03:27
camelia oh no
in sub this-fails at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo m: sub this-fails() { fail "oh no" }; my $result = this-fails; say $result unless $result # here we check for its .Bool first
camelia (HANDLED) oh no
in sub this-fails at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo the check makes it "handled"
anyway, gotta go, seeya and good luck!
donpdonp thx again! 03:29
donpdonp IO::Socket::Async.connect($host, 8333).then( -> $promise { CATCH { default { say .^name, ': ', .Str } }; ... that looks like a winner 03:33
donpdonp ive got a Buf of [w,o,r,d,0,0,0,0,0] (null padding ascii string). is there an easy way to turn this into a Str that stops at the first null? 03:38
llfourn m: say [|<w o r d>,0,0,0,0,"z"].map: { last when 0; $_ } 03:51
camelia (w o r d)
llfourn m: say join "", [|<w o r d>,0,0,0,0,"z"].map: { last when 0; $_ } 03:52
camelia word
llfourn donpdonp: maybe^
donpdonp llfourn: nice thx. 03:54
Juerd unpack Z*... p5pack probably does that 03:55
llfourn m: say [|<w o r d>,0,0,0,0,"z"].grep: { not 0 ff * } # using ff 03:56
camelia (w o r d)
llfourn m: say [|<w o r d>,0,0,0,0,"z"].grep: { last when 0; True } # maybe the most sensible 03:59
camelia (w o r d)
donpdonp a.pl: use b; b.pl: module b { sub x is export..} 04:05
donpdonp i can say x inside a.pl, but I want to keep x inside b::x rather than being brought into a's root namespace 04:06
how can i do this?
(actual in my code its b.pm6 instead of b.pl) 04:07
zostay module b { our sub x { ... } } 04:15
m: module b { our sub x { } }; b::x(); 04:16
camelia ( no output )
zostay subs are lexically scoped by default, adding our makes them package scoped
donpdonp ah great. thx. 04:19
I did read the docs.perl6.org honest, but couldnt find an answer 04:20
zostay no problem... whether you did or not, i knew the answer to your question 04:21
zostay If you want more information on scopes, this is probably the place to start so you can see what scopes there are (lexical vs package vs class member): docs.perl6.org/language/variables#..._and_Scope 04:25
zostay The manual on subroutine declarations (docs.perl6.org/language/functions#Subroutines) is not totally clear by what it means by "current scope", but it means the current lexical scope. So, the same scope as my $variable 04:26
You can even say my sub x() { ... } to make it explicit if you want. 04:27
moritz zostay: it goes one with "By default, subroutines are L<lexically scoped|/syntax/my>. That is, 06:19
moritz C<sub foo {...}> is the same as C<my sub foo {...}> and is only 06:19
defined within the current scope. 06:20
looks pretty clear to me
JMERELO moritz: hi. Did you see my message yesterday about docs.per6.org logs?
donpdonp class Version { has Str $.useragent; method new(Buf $b) { $!useragent = ... #Cannot look up attributes in a btcproto::version::Version type object 06:21
what?
donpdonp hmm. submethod BUILD. 06:26
juan_ Hi there! 06:39
Geth doc: ed2e8ececb | (JJ Merelo)++ | doc/Language/variables.pod6
Fixes index entries for $, closes #1861
06:41
synopsebot Link: doc.perl6.org/language/variables
jmerelo jalbo_: hi! 06:42
jalbo_ Any recommendations for a gentle introduction to Perl 6, as a newbie? Little experience in web development. Thanks in advance! 06:51
Juerd jalbo_: Perl 6 is not a web specific thing and as far as I know, there's no introduction course that focusses on that. 06:54
jmerelo jalbo_: have you tried perl6intro.com/?
Juerd jalbo_: Do you have any experience with other programming languages or is Perl 6 your first language?
jmerelo jalbo_: this presentation (in Spanish) ramiroencinas.com/docs/perl6intro-slides/#/ deals with Perl 6 for web development using a specific module 06:55
jalbo_ @Juerd: Basic JavaScript, that's all. 06:58
jalbo_ @jmerelo: Yes, I've tried perl6intro.com/. Very nice place to start with, very friendly in my opinion. Just thinking about books, videos... I suppose there isn't a lot of resources at the moment. 07:01
jmerelo: And thanks for your advice. 🙂 07:02
jmerelo jalbo_: There are 7 books now... perl6book.com/ 07:03
jmerelo jalbo_: some videos too: www.youtube.com/results?search_typ...&page= 07:04
jmerelo jalbo_: this one is mine, and it's focused on web development www.youtube.com/watch?v=zmQ3FQCIXmk 07:04
jmerelo jalbo_: Perl6 is for the server, rather like Node. Not for the frontend. Suppose you know that already. 07:08
jalbo_ Well, it seems I am a bit misinformed. Thanks again for all the information and @jmerelo 07:08
jmerelo: Yes, I know this. 07:09
jmerelo jalbo_: if you have some specific thing in mind, just ask. 07:09
Ulti lizmat: just stumbled across a nice "in comments" for you www.reddit.com/r/programming/comme...es/dw4n5fx
jalbo_ jmerelo: 👍. From your personal experience/ point of view is Perl 6 a good choice for a beginner? Just your opinion, no worries. 07:13
lizmat notable6 weekly www.reddit.com/r/programming/comme...es/dw4n5fx 08:46
notable6: weekly www.reddit.com/r/programming/comme...es/dw4n5fx
notable6 lizmat, Noted!
lizmat Ulti: thanks! 08:47
scimon Hey everyone. Not been at my best for a few weeks but gave a talk at LPM last night going into (excruciating and hopefully accurate) detail on Perl6 signatures. 09:07
Turns out I can cover all the rules for signatures in 15 minues giving me 5 minutes for my 2 bonus slides. Type checking and Multi methods. 09:08
I think I may need to give the whole talk in Glasgow.
moritz and here I contemplated writing a whole book on that subject :-) 09:10
scimon It probably viable.
To go into the details. 09:11
moritz if the whole content fits into 20 minutes, a book might be overkill :-)
scimon That is literally just signatures.
And there are probably details I missed. 09:12
robertle while we are talking about signatures: yesterday I commented out some code and ended up with an empty block in a Lock.protect: 09:14
m: my $l = Lock.new; $l.protect({});
camelia Attempt to unlock mutex by thread not holding it
in block <unit> at <tmp> line 1
robertle the error message confused me, but lizmat helpfully pointed out that this isn't an empty block, but a hash. great so far 09:15
however:
m: sub mp(&c) {&c()}; mp({});
camelia Type check failed in binding to parameter '&c'; expected Callable but got Hash (${})
in sub mp at <tmp> line 1
in block <unit> at <tmp> line 1
robertle so why do I not get the same error message for teh call to Lock.protect? 09:16
m: use nqp; class SLC { method test(SLC:D: &c) { nqp::decont(c()); } }; my $sl = SLC.new; $sl.test({});
camelia Type check failed in binding to parameter '&c'; expected Callable but got Hash (${})
in method test at <tmp> line 1
in block <unit> at <tmp> line 1
robertle that pretty much is a copy of the Lock.protect signature and setup...
scimon First up... I knew I missed something when I covered sigils (I did a brief mention of them but forgot &). Is protect a multi method? Might there be a different one you're hitting? 09:20
robertle not a multi
scimon (Yeah just seen the docs) 09:20
I'd need to look at the code for it then. 09:21
lizmat robertle: did you make a GH issue for it ?
scimon But I think it's quickly moving beyond the area I'd be able to help with. 09:22
robertle lizmat: nope, not sure it's an issue or just me not understanding
lizmat it is an issue
robertle but it is very surprising...
ok, will create ticket
lizmat m: sub a(&a) { }; a {} # this should be the error 09:23
camelia Type check failed in binding to parameter '&a'; expected Callable but got Hash (${})
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
robertle agreed, that's what I would expect and it would also be much clearer 09:24
robertle R#1644, let me know if it needs more detail 09:29
synopsebot R#1644 [open]: github.com/rakudo/rakudo/issues/1644 Lock.protect({}) fails, but with surprising message
lizmat m: class A { method a(A:D: &a) {} }; A.new.a({}) # should be the error 09:34
camelia Type check failed in binding to parameter '&a'; expected Callable but got Hash (${})
in method a at <tmp> line 1
in block <unit> at <tmp> line 1
lizmat m: class A { method a(A:D: &a) { LEAVE die } }; A.new.a({}) # the plot thickens! 09:35
camelia Died
in method a at <tmp> line 1
in block <unit> at <tmp> line 1
lizmat apparently the LEAVE phaser is executed even though the method itself never got passed parameter binding 09:36
robertle ah! great find! 09:39
isn't it also interesting that this apparently happens before the other error (siganture mismatch)?
lizmat m: sub a(&a) { LEAVE die }; a 09:40
camelia Died
in block <unit> at <tmp> line 1
lizmat now that one is really strange, because that should be a compile time error
lizmat m: sub a($a) { }; a() # like so 09:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling a() will never work with declared signature ($a)
at <tmp>:1
------> 3sub a($a) { }; 7⏏5a() # like so
lizmat m: sub a(&a) { }; a() # with & it's a runtime error ?
camelia Too few positionals passed; expected 1 argument but got 0
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
lizmat hmmm...
the latter probably warrants a separate issue
lizmat needs to be afk for a bit, and then for a bit longer 09:42
scimon www.slideshare.net/SimonProctor8/p...signatures : The slides from my talk :) 09:43
masak scimon++ # nice! 09:44
lizmat notable6: weekly www.slideshare.net/SimonProctor8/p...signatures 09:49
notable6 lizmat, Noted!
scimon (Hopefully there will be a video at some point) 09:52
stmuk_ scimon++ 09:56
buggable New CPAN upload: App-Assixt-0.2.3.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...2.3.tar.gz 10:01
lizmat afk& 10:12
DrForr Today's weird idea: Data::Schema, like Test::is-deeply but just checks the layout, not nitpicking over the exact contents. I think is-deeply() has some flags to loosen matching, but this is more along the lines of JSON::Schema. 12:00
masak DrForr: sounds nice. 12:07
El_Che huggable: help 12:16
huggable El_Che, nothing found
El_Che How can I update huggable?
huggable: debs
huggable El_Che, CentOS, Debian, Fedora and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg/releases
El_Che ^--- outdated
tbrowder_ .tell AlexDaniel it looks like the two main toaster hangers right now are OO::Actors and Test::Scheduler, both of which hang while testing in a local repo with the latest stable Rakudo. The other two hangers pass local testing. 12:45
yoleaux tbrowder_: I'll pass your message to AlexDaniel.
herby_ o/ 13:00
buggable New CPAN upload: ANTLR4-Grammar-0.1.1.tar.gz by JGOFF cpan.metacpan.org/authors/id/J/JG/...1.1.tar.gz 13:01
El_Che jnthn: Cro question. I have a yaml config with a higher level abstraction of routes and e.g. the external commands to call. In this file I define the services to call (/$service) and the parameters it can have (/$service?group=$group&format=$nagios). Now I want to dynamically create routes from this info. I see routes() is a Cro::HTTP::Router::RouteSet under the covers, but everything in this class seems to 13:44
be private. Is there an straightforward way to do what I want?
jnthn In HEAD (not yet released) a few things have been made public to facilitate doing such things 13:46
El_Che that great news (the HEAD thing and that you understand the question :) ) 13:47
[Coke] jnthn++
jnthn In part 'cus I've been (privately, no details yet) working on one
El_Che I'll put this smallish project in the cooler, until that is released
looking forward to it
[Coke] I somehow got signed up to do a talk about Perl 6 at TPC.
jnthn Though note that a RouteSet is just a Cro::Transform, and you can write your own route processing if that's easier 13:48
And then mount it at a particular base path using `delegate` inside of a `route` block
El_Che well, if what you're adding is good sugar I'll wait for that 13:49
if not I'll go the transform way
I just wanted to write something very small typical written in go in perl6+cro 13:50
I want to move some nagios checks (that need lots of code and secrets) on the nagios machine (handled by an other team) to a small rest service 13:51
so nagios just queries the rest service to get a status
and the perl6 program does the real tests
cfa [Coke]: good stuff :) 13:53
El_Che jnthn: you're making us all very curious :) 13:58
Geth doc: e96651e910 | cfa++ | doc/Language/py-nutshell.pod6
Tidy Python list comprehensions, address sink context warnings.
14:10
synopsebot Link: doc.perl6.org/language/py-nutshell
herby_ tyil: it installed successfully :) 14:12
Geth doc: 9db0df2854 | cfa++ | doc/Language/rb-nutshell.pod6
Skip test for sink context colon pair demonstration.
14:14
synopsebot Link: doc.perl6.org/language/rb-nutshell
zostay moritz: thx for the correction, i didn't see that on my quick skim last night ¯\_(ツ)_/¯ 14:19
vcv Has anyone run into this test failure with IO::Socket::Async::SSL in ciphers.t? --> # Failed test 'Connection ok when ciphers match up' 14:20
On macOS if that makes a difference
# at t/ciphers.t line 27 # Server did not provide a certificate to verify
jnthn vcv: Yes, saw it on Travis OSX of something that depends on that module just yesterday, but don't have access to OSX to go debugging (nor time right now) 14:29
vcv Ok thanks. I'll dig in and see if I can at least get more information
jnthn Though it looked like some cipher suite used in the tests maybe isn't available there
In a pinch we could skip that test file on OSX 14:30
[Coke] I have an osx box, what can I do? 15:31
vcv Can you see if the IO::Socket::Async::SSL tests fail for you? 15:34
Ulti ooc is there a nice way to treat a string as an IO handle in Perl 6? 15:36
vcv $string.IO ? 15:37
timotimo no, that treats the string as a filename 15:38
Ulti www.reddit.com/r/programming/comme...confidence is hacky and based on the docs but you do actually create a temp file 15:40
[Coke] vcv - wonder if that's the one that's been failing forever. :) 15:42
[Coke] ah, probably not, but testing... 15:43
[Coke] vcv: gist.github.com/coke/ad2ed1cb06897...0a5c3bca53 16:06
[Coke] that's on 2018.02.1-164-g57af8b847 16:07
ufobat___ jnthn, we had a little chat a while ago regarding a feature request of mine for IO::Async::SSL. maybe you can remember: that's what i am looking for: github.com/sergot/openssl/pull/57 16:12
jnthn ufobat___: ah, nice. Unfortunately I'm not likely to have time to help much on that for a few weeks 16:18
ufobat___ thats okay :-) 16:20
[Coke] vcv - I'm failing even on t/bad-incoming.t 16:27
ufobat___ oh is there a perl6 equivalent of play.rust-lang.org/
AlexDaniel huggable: try
huggable AlexDaniel, f.perlbot.pl/#perl6 tio.run/#perl6 glot.io/new/perl6 ideone.com/
AlexDaniel ufobat___: ↑ 16:28
vcv odd, i dont get those. 16:29
may be a dependency i already had installed via homebrew 16:30
ufobat___ there is an example page on www.perl6.org - woudn't it awesome if you view those example in such a "play" window so anyone can execute it and toy around with it 16:38
AlexDaniel ufobat___: yes
ufobat___ i think it is like that in the rust book 16:39
AlexDaniel ufobat___: in fact, snippets on rakudo.party do just that (using glot.io API if I recall correctly)
ufobat___: e.g. see rakudo.party/post/Perl-6-Seqs-Drug...ock-n-Roll
what I'm thinking also… is that perl6.org is maybe not the only place we should be doing that 16:40
docs.perl6.org is where it's really needed IMO
ufobat___ would be super cool 16:41
AlexDaniel ufobat___: can you file some tickets asking for these changes?
ufobat___ sure, but where? 16:41
AlexDaniel ufobat___: github.com/perl6/perl6.org/issues and github.com/perl6/doc/issues/ 16:42
ufobat___ will do :-)
AlexDaniel jmerelo: fwiw logs of this channel are available at irclog.perlgeek.de/perl6/today 16:43
jmerelo: and there was an interesting discussion a few moments ago: irclog.perlgeek.de/perl6/2018-03-23#i_15957524 16:44
jmerelo AlexDaniel: getting there. Thanks! 16:45
jmerelo AlexDaniel: waiting for those issues :-) 16:49
I tried to add POD6 to GitHub github.com/github/markup/pull/1173 16:51
It's been there for 11 days already. Wonder if you can ping the PR or whatever to encourage them to merge it.
Also this one to Linguist, the GitHub language recognizer github.com/github/linguist/pull/4066 That was related to the last one. Wonder if you can ping it or something, there's been no answer. 16:53
AlexDaniel: any idea of how that is done? Is it through glot.io? 16:57
jmerelo AlexDaniel: also all examples in there have the .pl extension. And it fails in the latest Rakudo... 17:02
travis-ci.org/perl6/perl6-examples.../349071604
It can be done, of course. It even _should_ be done. However...
AlexDaniel jmerelo: oh wow that's pretty cool 17:04
El_Che jmerelo: are you taking requests, nowadays? :)
jmerelo El_Che: I'm DJing now, so I guess that's what I've got to do.
El_Che would like a more verbose NativeCall doc :) 17:05
jmerelo El_Che: I'm only taking requests through the issue system, of course :-)
El_Che of course you do :) 17:06
jmerelo AlexDaniel: you didn't allow me to close that issue, so one's got to do what one's got to do ...
AlexDaniel jmerelo: yes :D
jmerelo: rakudo.party is open-source, so maybe see github.com/zoffixznet/perl6.party ? 17:07
(on how to make snippets executable)
jmerelo AlexDaniel: It's not obvious looking at the HTML source. Nor the repo. But I guess it must be there... glot.io has got an API, also, which can be used. Either way we'll have to use a hosted service. 17:08
AlexDaniel jmerelo: that's an OK temporary solution IMO 17:09
simcop2387: do you have any API that we can hook to use f.perlbot.pl/#perl6 ? 17:10
simcop2387: or, more generally, what would you recommend us if we want to make perl 6 snippets on the docs website executable?
jmerelo AlexDaniel: problem is, it would mean starting a pretty good yak shaving session. Doing that for docs.perl would involve heavy editing of htmlify.p6, which is in need of a rewrite already. But doing that would require a grant all by itself... 17:11
simcop2387 AlexDaniel: github.com/perlbot/perlbuut-pasteb...ste-API-v1 there's a paste api. it's not documented but you can also hit the endpoint that the check eval button hits to run things directly too
jmerelo AlexDaniel: I kind of understand it at a certain level right now, but at another level it's like trying to make a potato bag even. When you push something here, something pops up out there. 17:12
AlexDaniel jmerelo: do we? IMO it can be a pure javascript thingie 17:13
jmerelo AlexDaniel: editing is JS, but then you have to evaluate it somewhere, run the script and get the result back.
AlexDaniel yes, in JS?
jmerelo AlexDaniel: Javascript, I mean. Editing is pure front-end, but then running perl6 has to be done on the back end somewhere. 17:14
AlexDaniel jmerelo: the idea is that the user can edit the snippet on the fly, right in the browser, hit the button and get a different result
jmerelo: there's nothing that has to be changed in htmlify for that as far as I can see 17:15
AlexDaniel maybe just adding a css class for code blocks, but that's it 17:15
jmerelo AlexDaniel: there's *always* something that has to be changed in htmlify.
AlexDaniel doesn't get it
tbrowder_ anyone going to TPC NA plan to have a bug-busting party? 17:16
jmerelo AlexDaniel: Well, first you would have to differentiate between Perl6 and non-perl6 code. Then there are code snippets whose test is skipped, which we would probably not want to have people editing... I don't know. If it can be done easily by just adding some JS, let's do that. 17:17
AlexDaniel jmerelo: OK I see, I guess you're right 17:18
jmerelo tbrowder_: my initial intention was going there, I even submitted a tutorial. But then I checked back when the tutorial was actually accepted and flights had gone up to ~ 2K$. So I'd happily attend the party... remotely.
AlexDaniel jmerelo: exposing the language of the snippet as css class would be useful for other things too, I think 17:19
jmerelo AlexDaniel: there's an issue, and let's give it a try anyway. Maybe I fix links or whatever and all of a sudden that particular feature starts to work. You never know with htmlify
AlexDaniel jmerelo: I'm thinking of github.com/perl6/doc/issues/1430 17:20
tbrowder_ jmerelo: the only thing stopping me from attending at the moment is my grandson’s birthday on 19 jun, remote attendance would be cool 17:21
jmerelo AlexDaniel: OK, let's see what we can do. Highlighting is done in coffeescript, which is my second least favorite beverage and language combination. 17:22
AlexDaniel :) cool 17:23
jmerelo tbrowder_: let's set something up then. Would you want to focus on the documentation? 17:24
I mean, I'd like to focus on the documentation :-) 17:25
AlexDaniel some performance and reliability fixes would be nice though :P 17:29
tbrowder_ i’m working on pod as slang (VERY slowly), but bug smashing can be fun with company 17:30
of core devs for advice
jmerelo AlexDaniel_: of course, but I'm not there yet...
tbrowder_: Of course :-) I'll be definitely attending TPC in Glasgow. We can set aside the day after for a bit of hacking, if you want. 17:31
AlexDaniel jmerelo: by the way it's nice to have you around :) you're really bringing life into our slightly stagnating doc repo 17:32
thanks 17:33
jmerelo AlexDaniel: thanks, I'm blushing :-). I'm learning a lot from a lot of great people, including you, so I'm getting more than I'm putting in, I guess. But I hope I can be of help... 17:34
AlexDaniel: I'd like to focus on the oldest issues... What do you think about this one? github.com/perl6/doc/issues/246 17:36
AlexDaniel: you did some work on that, what was the main problem there? 17:37
AlexDaniel jmerelo: oh geez, that one… I've spent a few hours trying to get it to work during one of the squashathons
jmerelo: the problem is that graphviz itself creates this unreadable mess, and it seems like there's no way to force it to produce something meaningful
unless you force nodes into specific ranks
jmerelo AlexDaniel: Does that happen when there's more than a certain amount of nodes? Or when? 17:38
AlexDaniel jmerelo: yea, when there are lots of nodes in the same rank 17:39
jmerelo: like docs.perl6.org/images/type-graph-M...tainer.svg
jmerelo AlexDaniel: I see.
AlexDaniel the graph is correct, but it's just too wide
El_Che Just an idea I know it can't be done, becuase of the lang <-> implementation in perl 6. In the Go doc, everything links to the source code of the implementation. That way it's easy to understand how things work when the doc is lacking 17:39
(more of a musing)
AlexDaniel El_Che: it can be done, we just have different concepts here 17:40
El_Che: in our case we should be linking to roast
so instead of seeing how it's done you should see what it should do
El_Che we also have this all mental overhead of nqp
jmerelo AlexDaniel: you can go ahead and add this thing github.com/perl6/doc/issues/1505. It's just local, and as you say it will help debug.
AlexDaniel jmerelo: ok will do now 17:41
jmerelo El_Che: I guess if we did that we would point to the Synopsis.
AlexDaniel: Thanks!
AlexDaniel jmerelo: no, to roast
cfa hi jmerelo
AlexDaniel jmerelo: roast is our spec, synopsis are historical speculations 17:42
El_Che jmerelo: a too high level of abstraction
jmerelo AlexDaniel: right. Pointing to the source code would probably only confuse people.
cfa: hi! 17:43
El_Che hence: just a musing
AlexDaniel roast is the only promise we have to our users, in a way
everything else can be changed without notice, and therefore is insignificant
jmerelo AlexDaniel: El_Che: code lines can also change, anyhow. Go is probably written mostly in Go, right? Not in not-quite-Go? 17:45
How would you call not-quite-go? I'm-right-outta-my-door? not-really-stopped?
AlexDaniel jmerelo: well, if we really wanted to do that, we'd probably have some markers for docs… but we want to do that at all :)
don't*****
although maybe some markers in roast can do the trick? 17:46
dunno
jmerelo AlexDaniel: definitely we don't want to do that.
AlexDaniel: what I do sometimes is to just search GitHub for where functions are defined. I wouldn't be too difficult to link index entries to a generic search in roast that would include the stuff being defined. Don't know if that would help. 17:47
El_Che jmerelo: go is written in go, yes 17:50
and the doc corresponds to a released version
jmerelo El_Che: there you Go :-)
jmerelo AlexDaniel: did you try neato? It does not look so bad... 18:12
AlexDaniel jmerelo: this was with neato I think: klonk.bruhat.net/graphviz.png 18:12
but I'm not sure 18:13
jmerelo AlexDaniel: I take that back. Looks less flat, but horrible.
AlexDaniel: that one does not look so bad...
AlexDaniel jmerelo: twopi: files.progarm.org/grapho.svg circo: files.progarm.org/graphH.svg 18:14
jmerelo AlexDaniel: that one does not look so bad... 18:15
AlexDaniel: yep, that's neato with overlap=false.
let me know what you think of this one... 18:16
AlexDaniel jmerelo: ideally it should use the default renderer and just put them into separate ranks 18:17
but at this point any solution will do, I think
neato is fine as long as we don't use it for “normal” graphs
Geth doc: facc0a65f2 | (JJ Merelo)++ | lib/Perl6/TypeGraph/Viz.pm6
Changing dot to neato

And also avoiding overlap. Ideally, it should help with #246. If it's OK with everyone, close it.
AlexDaniel jmerelo: OK let it render the docs, but you'll see that it's not going to look very good 18:18
jmerelo AlexDaniel: theoretically, neato is for non-directed and dot for directed.
AlexDaniel: we can try and look at the files to see if it's going to be "flat" and switch to neato. 18:19
AlexDaniel yea
that should resolve the issue temporarily, I think
until someone comes up with a better idea
jmerelo Anyway, take a look at using neato everywhere. Maybe it will solve other issues, too. It won't look so "hierarchical" 18:20
AlexDaniel this graph is beautiful currently: docs.perl6.org/type/Str#Type_Graph
I bet it's going to look like shit with neato :) 18:21
jmerelo AlexDaniel: shit is in the eye of the beholder... 18:22
AlexDaniel xD
jmerelo AlexDaniel: but people are used to have it look in a particular way.
Geth doc: b203c81e8d | (JJ Merelo)++ | lib/Perl6/TypeGraph/Viz.pm6
Partly reverting while checking other ways
18:26
doc: 7fe1758918 | (JJ Merelo)++ | lib/Perl6/TypeGraph/Viz.pm6
Eliminates debug code
jmerelo AlexDaniel: We can switch to neato only for Metamodel::* 18:29
AlexDaniel jmerelo: I think that's acceptable 18:31
cfa is the idea to use neato for role-heavy stuff? 18:32
jmerelo cfa: for longish stuff.
cfa long names?
jmerelo cfa: long graph that makes it look small like this docs.perl6.org/type/Metamodel::Mul...nheritance 18:33
AlexDaniel heh yea, that's not good at all: imgur.com/a/rbuFI
jmerelo AlexDaniel: I kinda like it. But still.
cfa ah, right 18:34
but this strikes me as a byproduct of heavy role usage 18:35
like
if you mix in a bunch of roles, you'll end up with a wide rather than deep graph
Geth doc: ffad298ba8 | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Perl6/TypeGraph/Viz.pm6
Keep .dot files for easier debugging

Resolves #1505
cfa it isn't metamodel specific, it's just that quite a few metamodel roles are documented 18:36
Geth doc: 833d6077e6 | (JJ Merelo)++ | lib/Perl6/TypeGraph/Viz.pm6
Switches to neato only in some cases.

Check [this discussion](irclog.perlgeek.de/perl6/2018-03-23#i_15958129) for background.
  (Hopefully) closes #246
18:39
doc: 9b6ee71377 | (JJ Merelo)++ | lib/Perl6/TypeGraph/Viz.pm6
Solves conflict
AlexDaniel ahahahahha 18:40
dammit is there any place that can take svg uploads 18:41
jmerelo AlexDaniel: Is that panic or happiness?
AlexDaniel: GitHub will probably take care of them...
AlexDaniel this is art: files.progarm.org/type-graph-Exception.svg
zoom out a little bit 18:42
jmerelo AlexDaniel: that is beautiful in a spidery kind of way...
AlexDaniel: that's been reverted to old ways, anyway. Just the Metamodel files have been changed. 18:43
cfa: that might be the case. But if we have many roles, or superclasses, or subclasses, we'll have the same problem. 18:44
AlexDaniel jmerelo: grep -Po 'width=\K"[0-9]+' html/images/*.svg | sort '-t"' -nk 2 18:46
jmerelo: gist.github.com/AlexDaniel/d1eb996...fad34c0bb4 18:47
jmerelo AlexDaniel: Thanks. So, X::Comp too, right? 18:48
AlexDaniel jmerelo: hm… I think graph generation is really fast, maybe add a quick check for width after every graph is generated?
and if it's more than, say, 1000 then rerun with neato 18:49
jmerelo X::OS looks good enough at 1818 docs.perl6.org/type/X::OS 18:54
I think it's enough if I add X::Comp and Metamodel.
If there's some big change in hierarchy in the future, we can add it. No need to overengineer now
No need to overengineer ever, actually :-) 18:55
Geth doc: 27f3a151aa | (JJ Merelo)++ | lib/Perl6/TypeGraph/Viz.pm6
Adds X::Comp to neato-ized files

Check [IRC log](discussion](irclog.perlgeek.de/perl6/2018-03-2...15958129)) for discussion. Also related to #246 (although it's closed).
Kudos and :+1: to @AlexDaniel for help.
18:58
jmerelo If we close just one issue more today we'll get to 900 issues closed :-) 18:59
jmerelo Which I just did :-) github.com/perl6/doc/issues/897 19:05
mscha Any recommended modules to send a (simple text) email from Perl 6? 19:13
jmerelo mscha: Probably this one github.com/retupmoca/P6-Net-SMTP 19:14
mscha Thanks, that will probably do. 19:15
jmerelo mscha: Good luck :-)
perlbot Anonymous pasted a new file at f.perlbot.pl/p/iuuqwc - 19:17
[Coke] Hi, Anonymous. 19:18
lichtkind is ther some mainanace on p6c? 19:21
[Coke] ?
lichtkind: what's the issue?
lichtkind [Coke], travis told me: "The program 'perl6' is currently not installed" 19:26
timotimo what does travis have to do with p6c? 19:27
the actual error message that'll help you is probably further up?
lichtkind i thought it was in some sort hosted there
timotimo haha, no, we do not own travis
lichtkind no i mean the service is hosted there 19:28
yes it failed to compile rakudo seems the bleed is broken
timotimo not sure what you mean by "the service" 19:29
lichtkind running the travis smoking has to run on some machine 19:30
timotimo docs.travis-ci.com/user/reference/overview/ 19:31
they use GCE and EC2, and no clue what they mean by "Virtual machine" for their OSX machines
maybe they just have a room full of macbooks or something 19:32
lichtkind allright
mscha jmerelo: got it working, thanks! 19:36
jmerelo mscha: glad to hear that :-) 19:46
rindolf lichtkind: hi, sup? 20:34
lichtkind rindolf cheers 20:35
coding my p6 matrix lib 20:36
rindolf lichtkind: ah
rindolf lichtkind: are you binding to lapack or blas? 20:37
lichtkind real men implement 20:38
the whole purpose is to lern math
El_Che or meth 20:42
rindolf lichtkind: i see 20:45
lichtkind: have fun
lichtkind thank you
no meth destroys human 20:46
lichtkind rindolf, : you come to gummersbach? 21:02
rindolf lichtkind: no 21:03
lichtkind: what is it?
lichtkind rindolf, i thought you german there is the GPW next week 21:05
rindolf lichtkind: no, i'm israeli 21:08
lizmat hmmm... perl6.org and friends appear to be down for me 22:33
is that just for me?
AlexDaniel lizmat: not just you 22:34
lizmat paging moritz timeless
timotimo
jnthn downforeveryoneorjustme.com/perl6.org
(And yes, down for me too)
timotimo let me look if the hosts are in good health
jnthn But...hm, various things are slow for me
timotimo m( virt-manager crashes on startup
why not ssh x forwarding 22:35
timotimo it stole my mouse pointer 22:40
timotimo trying to reset the www host 22:42
timotimo ok, perl6.org is back up 22:44
Juerd Yay
rindolf timotimo: thanks
timeless lizmat: ?? 22:46
timeless has nothing to do with the infrastructure
timotimo timeless: i think she meant to ping me and mistabbed 22:47
timeless K. Night 22:47
timotimo how can night when timeless 22:48
:)
lizmat timeless: sorry, I mistabbed indeed 22:59
AlexDaniel squashable6: next 23:37
squashable6 AlexDaniel, Next SQUASHathon in 13 days and ≈10 hours (2018-04-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel thoughts for the next squashathon? 23:38
MasterDuke maybe repos in the perl6 org that are smaller/we haven't done before? like features, etc 23:44
AlexDaniel MasterDuke: I don't think we have enough small repos that are fun enough to work with 23:50
but it's an interesting idea
buggable: tag testneeded
buggable AlexDaniel, There are 49 tickets tagged with TESTNEEDED; See fail.rakudo.party/t/TESTNEEDED for details
AlexDaniel hmmm 23:51
maybe testneeded squashathon again?
AlexDaniel we just had it two months ago 23:52
but then, now we have even more tickets to close, hmm…