»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
Xliff Can objects have state attributes? 00:09
timotimo you mean attributes that are shared between all instances of the class?
Xliff Yes
timotimo i think putting a "my" scoped variable in there does that for you
plus probably an accessor method you'd write yourself 00:10
Xliff OK, thanks.
timotimo method sharedThing is rw { $shared-var }
geekosaur irc my is private to the instance, our is shared between instances
iirc
timotimo i'd say it more like "my is private to the scope", and i don't think classes are closures, so you get one shared by every instance of the class
more specifically, all methods (and other things with curlies) in the classes curly-braces-block should share the same closure with the variable in it 00:11
let me quickly verify
m: sub test-it { sub gimme-class($val) { class TestClass { my $shared-val = 99; method set($oval) { $shared-val = $oval }; method get { $shared-val } } }; my $i1 = gimme-class(99); say $i1.get; my $i2 = gimme-class(1000); say $i1.get; say $i2.get; }; test-it; test-it; 00:13
camelia 99
99
99
99
99
99
00:13 w_richard_w joined
timotimo oh, i don't even use $val 00:13
m: sub test-it { sub gimme-class($val) { class TestClass { my $shared-val = 99; method set($oval) { $shared-val = $oval }; method get { $shared-val } } }; my $i1 = gimme-class(99); say $i1.get; my $i2 = gimme-class(1000); say $i1.get; say $i2.get; $i1.set("changed on i1"); say $i1.get; say $i2.get; }; test-it; say "next test"; test-it;
camelia 99
99
99
changed on i1
changed on i1
next test
99
99
99
changed on i1
changed on i1
00:14 p6bannerbot sets mode: +v w_richard_w
timotimo looks like i was wrong, and classes actually are closures? 00:14
so you'll have to be careful not to get the class closure-cloned. just having it at the outermost level should be enough for that
Xliff Noted. 00:15
timotimo++
timotimo not 100% sure how modules will interact with that. i don't think use-ing a module a second time would give you a different closure 00:17
but it'd surely be prudent to check it out
Xliff Will do. 00:29
00:48 leont left 01:04 molaf left 01:10 Actualeyes joined 01:11 p6bannerbot sets mode: +v Actualeyes 01:15 fake_space_whale joined 01:16 p6bannerbot sets mode: +v fake_space_whale
Xliff m: 1.does(Int).sayu 01:19
camelia No such method 'sayu' for invocant of type 'Bool'. Did you mean 'say'?
in block <unit> at <tmp> line 1
Xliff m: 1.does(Int).say
camelia True
01:21 rindolf left
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A ~~ B 01:23
camelia False
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A.^name
camelia A
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A.WHAT
camelia (A)
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A ~~ Class
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Class used at line 1
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A ~~ class
camelia 5===SORRY!5=== Error while compiling <tmp>
Whitespace required after keyword 'class'
at <tmp>:1
------> 3class B { method b {}; }; say A ~~ class7⏏5<EOL>
tbrowder___ .ask [Coke] are the dates for TPC::NA 2019 decided yet? 01:24
yoleaux tbrowder___: I'll pass your message to [Coke].
01:30 w_richard_w left
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A.HOW 01:30
camelia Perl6::Metamodel::PackageHOW.new
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A.HOW; say B.HOW
camelia Perl6::Metamodel::PackageHOW.new
Perl6::Metamodel::ClassHOW.new
01:31
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A.HOW ~~ PackageHOW
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
PackageHOW used at line 1
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A.HOW ~~ Perl6::Metamodel::PackageHOW
camelia Could not find symbol '&PackageHOW'
in block <unit> at <tmp> line 1
Xliff m: package A { sub a {}; }; class B { method b {}; }; say A.HOW ~~ /'PackageHOW'/
camelia 「PackageHOW」
timotimo m: use Perl6::Metamodel:from<NQP>; say Int.HOW ~~ Perl6::Metamodel::ClassHOW 01:32
camelia True
Xliff timotimo++ # Thanks, again. 01:41
timotimo merely passing on what took me $amount-of-time to figure out the first time around :) 01:45
i think i just came up with a most exquisite footgun for y'all to recklessly play with 01:47
01:48 Bucciarati left, avar left
timotimo just need to find a good example of sillyness to use it with 01:49
m: BEGIN $*W does role { method compile_time_evaluate($/, $ast, :$mark-wanted) { die "no CTE allowed" } }; constant hello = 99 + 5; 01:50
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
No such method 'BUILD_LEAST_DERIVED' for invocant of type 'Perl6::World+{<anon|1>}'
in code at <tmp> line 1
timotimo whoops, hah 01:51
01:51 avar joined, Bucciarati joined, avar left, avar joined, p6bannerbot sets mode: +v avar
timotimo well, that's not so easy :D 01:52
01:52 p6bannerbot sets mode: +v avar, p6bannerbot sets mode: +v Bucciarati
timotimo m: BEGIN $*W does role { method compile_time_evaluate($/, $ast, :$mark-wanted) { die "no CTE allowed" }; method BUILD_LEAST_DERIVED(|c) {} }; constant hello = 99 + 5; 01:52
camelia ( no output )
timotimo hmm
m: BEGIN $*W does role { method compile_in_context($past, $code-type) { die "no CTE allowed" }; method BUILD_LEAST_DERIVED(|c) {} }; constant hello = 99 + 5; BEGIN say "hi" 01:53
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a constant
at <tmp>:1
Exception details:
Type check failed in binding to parameter '$past'; expected Any but got QAST::Block (?)
in method compile_in…
timotimo m: BEGIN $*W does role { method compile_in_context(Mu \past, Mu \code-type) { die "no CTE allowed" }; method BUILD_LEAST_DERIVED(|c) {} }; constant hello = 99 + 5; BEGIN say "hi"
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a constant
at <tmp>:1
Exception details:
no CTE allowed
in method compile_in_context at <tmp> line 1
timotimo m: BEGIN $*W does role { method compile_in_context(Mu \past, Mu \code-type) { exit note "no CTE allowed" }; method BUILD_LEAST_DERIVED(|c) {} }; constant hello = 99 + 5; BEGIN say "hi"
camelia no CTE allowed
timotimo gnite! 01:54
01:58 ryn1x joined, p6bannerbot sets mode: +v ryn1x 02:07 lgtaube left, Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix m: say Int.HOW ~~ Metamodel::ClassHOW 02:07
camelia True
02:11 Zoffix left 02:12 lgtaube joined 02:13 p6bannerbot sets mode: +v lgtaube 02:35 ryn1x left, ryn1x joined 02:36 p6bannerbot sets mode: +v ryn1x 02:41 ryn1x left, ryn1x joined 02:42 p6bannerbot sets mode: +v ryn1x 03:03 Bucciarati left 03:06 Bucciarati joined, p6bannerbot sets mode: +v Bucciarati 03:11 holyghost joined 03:12 p6bannerbot sets mode: +v holyghost
holyghost hello, I'm going to try to extend Game::Markov 03:13
I need to read up first
This week I mean 03:15
03:21 kst joined, p6bannerbot sets mode: +v kst
buggable New CPAN upload: App-Tasks-0.0.10.tar.gz by JMASLAK modules.perl6.org/dist/App::Tasks:cpan:JMASLAK 03:22
03:32 ufobat___ joined 03:33 p6bannerbot sets mode: +v ufobat___ 03:36 ufobat_ left 04:05 lookatme_q left 04:06 lookatme_q joined, p6bannerbot sets mode: +v lookatme_q 04:11 fake_space_whale left
buggable New CPAN upload: Mathx-Stat-0.1.6.tar.gz by HOLYGHOST modules.perl6.org/dist/Mathx::Stat:...:HOLYGHOST 04:22
04:26 fake_space_whale joined, p6bannerbot sets mode: +v fake_space_whale
holyghost eco: Game::Markov 04:28
buggable holyghost, Game::Markov 'Markov Strategy kit for games': modules.perl6.org/dist/Game::Markov...:HOLYGHOST
New CPAN upload: Game-Markov-0.1.7.tar.gz by HOLYGHOST modules.perl6.org/dist/Game::Markov...:HOLYGHOST 04:32
04:32 ryn1x left
holyghost ok, beer time 04:40
I'd better release under the beerware license, I just knocked my head off on the Rao-Blackwell algorithm 04:41
:-)
for iterator's sake we can have a for @indices -> $x,$x.index or something 04:45
it's and old programming paradigm but it's come clean :-)
for is Ken's loop word, but never mind 04:47
loop comes from Lisp 04:48
index is from python 04:52
Juerd An element of an array does not know it belongs to the array, so .index can't work like that. The same variable can be an element of multiple arrays, even. 05:07
Instead, if you have an array of indices @indices of the array @array, then just iterate over the indices and the corresponding elements in parallel: for @indices Z @array -> ($index, $element) { ... } 05:09
Errr 05:10
Nope.
I meant for @indices Z @array[@indices] -> (...) { ... } of course
I should go to bed :) 05:11
afk
geekosaur m: my @a = <a b c d>; for @a.kv -> $index, $element { say "$index is $element" } 05:16
camelia 0 is a
1 is b
2 is c
3 is d
geekosaur the element doesn't know, but the array does — so make the array do the lifting 05:17
05:19 lizmat left 05:22 lizmat joined, p6bannerbot sets mode: +v lizmat 05:32 jc_denton1 joined 05:33 leont joined, p6bannerbot sets mode: +v jc_denton1, p6bannerbot sets mode: +v leont
holyghost geekosaur: thx 05:41
so kv on a list instead of a hashmap
buggable New CPAN upload: Mathx-Stat-0.1.7.tar.gz by HOLYGHOST modules.perl6.org/dist/Mathx::Stat:...:HOLYGHOST 05:42
holyghost ^-- I programmed in the long awaited iterative conditional probability method :-) 05:43
Now I need to extend Bayes::Learn with a second system in it with the above
05:53 jc_denton2 joined, p6bannerbot sets mode: +v jc_denton2 05:55 jc_denton1 left, curan joined, p6bannerbot sets mode: +v curan
buggable New CPAN upload: Mathx-Stat-0.1.8.tar.gz by HOLYGHOST modules.perl6.org/dist/Mathx::Stat:...:HOLYGHOST 06:02
New CPAN upload: Mathx-Stat-0.1.9.tar.gz by HOLYGHOST modules.perl6.org/dist/Mathx::Stat:...:HOLYGHOST
06:08 jmerelo joined 06:09 p6bannerbot sets mode: +v jmerelo 06:16 Spot__ left, Spot__ joined, p6bannerbot sets mode: +v Spot__ 06:18 Garland_g[m] left, AlexDaniel-old[m left, AlexDaniel` left 06:20 Garland_g[m] joined, p6bannerbot sets mode: +v Garland_g[m], AlexDaniel` joined, p6bannerbot sets mode: +v AlexDaniel`, AlexDaniel-old[m joined, p6bannerbot sets mode: +v AlexDaniel-old[m 06:26 leont left 06:27 Spot__ left, Spot__ joined, p6bannerbot sets mode: +v Spot__, jc_denton1 joined 06:28 p6bannerbot sets mode: +v jc_denton1 06:29 jc_denton2 left
buggable New CPAN upload: Game-Markov-0.1.8.tar.gz by HOLYGHOST modules.perl6.org/dist/Game::Markov...:HOLYGHOST 06:32
06:34 troys left 06:36 fake_space_whale left 06:40 AlexDaniel` left 06:47 AlexDaniel` joined, p6bannerbot sets mode: +v AlexDaniel` 06:51 k-man left
buggable New CPAN upload: AI-Agent-0.1.21.tar.gz by HOLYGHOST modules.perl6.org/dist/AI::Agent:cpan:HOLYGHOST 06:52
06:53 k-man joined, p6bannerbot sets mode: +v k-man
holyghost ^-- done for today, now some BSD wine :-) 06:53
man, I feel better after some coding :-) 06:56
06:57 dct joined, p6bannerbot sets mode: +v dct
jmerelo holyghost: great job :-) 06:57
holyghost thx :-) There's still bugs left but I'll refactor/debug after everything is finished 06:58
I'm burning ozon in the ecosystem :-) 06:59
jmerelo holyghost: not by the least. You're adding another ecological niche, which is good. Lots of good stuff can be done with that 07:00
07:00 vike1 left
holyghost it's open source in the download directory 07:00
So anyone can debug indeed
I have my niche and I am happy about that, did 20 years of linux coding while I caught up with perl 5 07:01
07:01 vike1 joined 07:02 p6bannerbot sets mode: +v vike1
jmerelo holyghost: anyway, a great addition. Will check it out. 07:02
holyghost thx, enjoy
07:06 fake_space_whale joined 07:07 p6bannerbot sets mode: +v fake_space_whale 07:10 jc_denton1 left 07:14 dct left 07:36 lizmat left 07:43 jmerelo left 07:56 noganex_ left 07:57 noganex joined 07:58 p6bannerbot sets mode: +v noganex 08:01 fake_space_whale left 08:03 robertle joined 08:04 p6bannerbot sets mode: +v robertle 08:08 kensanata joined, p6bannerbot sets mode: +v kensanata
Geth doc/master: 5 commits pushed by (Christian Sánchez)++, (Juan Julián Merelo Guervós)++ 08:26
08:27 dakkar joined 08:28 p6bannerbot sets mode: +v dakkar 08:35 abraxxa left, k-man left 08:36 abraxxa joined, p6bannerbot sets mode: +v abraxxa
ufobat___ what am i doing wrong? 08:37
nopaste.xyz/?31baf62bf499a213#+fyW...IBV2da8DA=
my basic authentiactoin is not called at all, the say in line 7 is never called 08:38
08:38 ufobat___ is now known as ufobat 08:40 k-man joined, p6bannerbot sets mode: +v k-man
timotimo you're never asking for a user to be passed to your route, maybe that's it? 08:40
ufobat what do you mean? 08:42
isnt this question the "before MyBasicAuth.new"?
timotimo none of your routes takes a session parameter
ufobat true, but there is no session, is there any? i just wanna check if they pass the authentication 08:43
timotimo let me check the sauce 08:44
aha 08:45
Cro::HTTP::Auth::Basic requires an Authorization header to be set in the request
only then will it call self.authenticate
ufobat that means i cant protect my routes ;D 08:46
timotimo how do you mean?
ufobat the route should only be available if youre sending the authentication header
if net, you're not allowed to see it
timotimo then you need to tell cro that the routes are for authenticated users only 08:47
ufobat how?
geekosaur do consider that http doesn't provide a way to do that
timotimo -> LoggedInUser $user, 'foo' { ... }
have LoggedInUser be a subset type that identifies whether a MyUser object is logged in or not
geekosaur the client doesn't know to send auth until it has requested a page and the servr has resnded with an auth-required eror
timotimo iirc it will then always send that authorization header, right? 08:48
ufobat geekosaur, that is true. the client is my curl. what i wanted to archive is that my request gets rejected
08:51 AlexDaniel` left
ufobat I find the cro documentation hard to understand :( 08:53
timotimo your input is probably appreciated!
ufobat i dont know how to improve it, yet. still thinking 08:54
i started a project with a friend of mine, he was a java backend guy, i convinced him learning perl6, i am learning vuejs and typescript
after 20 minutes the called me and told me he doesnt get it at all 08:55
08:55 mryan joined
ufobat he started with cro.services/docs/http-auth-and-sessions and didnt understand how to apply the "middlewares" i think it is called 08:55
08:55 p6bannerbot sets mode: +v mryan
ufobat after a while you realize that there is a tiny little link that points to cro.services/docs/reference/cro-http-router that has tha information for you 08:56
you realize that there is a before for that
but the next thought was, hm is before correct, because what if i am not logged in, i actually wanna reject it or say "please log in first" in http manner 08:57
so he decides to better understand middlewares first. we started to read cro.services/docs/reference/cro-http-middleware
the idea was that you actually need to "send"/ajust the response if the login fails or is missing so you need to do a "conditional" middleware like cro.services/docs/reference/cro-ht...iddleware# 08:58
wich looks like a perfect firt at a first glance 08:59
08:59 abraxxa left
timotimo yeah that looks like it'd work 09:00
09:00 abraxxa joined
ufobat after a while when you read the http-router documentation again in the last part "Applying_middleware_in_a_route_block" you see that the before introduces a after as well 09:00
so you realize hey it might still be much simpler
09:01 p6bannerbot sets mode: +v abraxxa 09:02 AlexDaniel` joined, p6bannerbot sets mode: +v AlexDaniel`
timotimo right, an "after" middleware could replace the response body with some custom html if the status is 401 09:02
ufobat i am not complaining or wining or something, that was just what happend to us, we're jumping around serveral pages and dont know nothing afterwards
timotimo you're winning :)
ufobat wineing :)
wine?
:D
moritz pining, for the fjords :D 09:03
timotimo Wine Ingenieur: WinIng
sjn whining, schmining :)
09:03 mryan left, shortguy joined, p6bannerbot sets mode: +v shortguy
ufobat and after you said -> LoggedInUser i was at the http-router documentation to really understand `get` and i am not decided if `-> LoggedInUser $user, '/foo/` means that the URL is /username/foo or not 09:04
shortguy Where are the language flow control structures declared, such as if and while? I'm having zero luck so far. And in a related question, where are some of the built in methods declared, such as "require" ? I've looked at the rakudo source and the nqp source but I'm not having much luck with either. 09:05
ufobat in fact it is just me reading the documentation "wrong" but tell me, how could we improve it that you dont get missleaded like i did?
09:06 HaraldJoerg joined 09:07 p6bannerbot sets mode: +v HaraldJoerg
timotimo the section "router support" explains that part 09:08
"Such a parameter will not be treated as the first route segment, but instead will be populated with the contents of the auth property of the Cro::HTTP::Request being processed." 09:09
09:09 dogbert17 left
ufobat ah :-) 09:09
timotimo shortguy: docs.perl6.org/language/control - not sure if that's enough to answer your first question
geekosaur shortguy, docs.perl6.org/language/control which is linked as "Control Flow" from docs.perl6.org/language.html
ufobat feels like he did a rant ;) 09:10
timotimo docs.perl6.org/routine.html - this lists all routines - including operators - that are doced in the docs
geekosaur "require" is docs.perl6.org/language/modules likewise linked as "Modules" from the language page
holyghost for hashed methods in a hash, I suppose @!dependencies is a class variable 09:11
shortguy timotimo: I'm looking for the implementation though, I'm guessing the control flow bits are implemented in a grammar file defining perl6, but I'm having trouble finding it 09:12
buggable New CPAN upload: AI-Agent-0.1.22.tar.gz by HOLYGHOST modules.perl6.org/dist/AI::Agent:cpan:HOLYGHOST
timotimo oooh
yes, i can help that
shortguy Fantastic
timotimo it's the series of statement_control:sym<blah> rules in the Grammar.nqp 09:13
there's more than just "if" and "else", as import/use/no/... are also among those 09:14
huh, i should really have been able to tell from your question that you were looking for source, not documentation 09:15
shortguy No worries 09:16
holyghost I'm just doing things documentation wise 09:17
shortguy I've been spending some time looking at how hard it would be to implement an "as" qualifier to the use statement, so I could do use Long::Namespace::Qualifier::Class as Class
I tried adding a shortname in the %EXPORT hash in module declaration, but that clashes if you have two modules with the same short name 09:18
holyghost shortguy: same as Class is export
timotimo holyghost: no, used on the "use" side, not the declaration side 09:19
geekosaur I thik the main problem is that currently any extra stuff in use is passed to the importer
shortguy I also tried adding an if switch in the export statement so I could do use Long::Namespace::Qualifier::Class "Class", which kinda worked but it still involved lots of boiler plate writing the switches because idk how to dynamically figure out the current class in the EXPORT statement, because that is seperate from the class definition
holyghost timotimo: I'm, from @ISA world
geekosaur so 'as' would need a special case
shortguy Well I mean, I got it working using some grep & eval magic on the debug backtrace but it felt pretty dirty 09:20
timotimo "current class" isn't always a thing
holyghost Maybe you could re-export the hash
timotimo if you have a "unit class", that makes sense, but a package/module can have as many classes as you want, including none
holyghost true
re-export at runtime
shortguy Yeah I know, that's why my solution was never going to work, but it was cool doing a spot of metaprogramming 09:21
timotimo if you're feeling especially fancy, you could offer a slang
geekosaur isn't the usual way to do this a module constant?
timotimo you mean like "constant MyModule = do { need FooModule; FooModule }; or something?
i guess inside a "constant" it'd be enough to "require" 09:22
geekosaur constant Foo = My::Long::Foo::Thingy; or some such
timotimo that doesn't help if a module is spewing symbols all across the user's namespace thanks to "is export"
holyghost and unit module 09:23
shortguy This Grammar.nqp file is pretty intimidating 09:26
holyghost NQP is the way to go, AFAIK 09:27
timotimo oh yeah, it's huge
how do you mean, holyghost?
holyghost OOP wise with perl6 in mind
timotimo i don't think i understand 09:28
holyghost I wrote a nqp class for an SDL2::Raw game that's where I know from
It's in PaganVisions2 at github.com/theholyghost
timotimo NQP has a major shortcoming for things like simulations and such, it often converts between int and float without a good reason
holyghost I don't remember 09:29
shortguy So Grammar.nqp just describes how stuff is parsed and then the actual implementation is in another file 09:31
I think I'll spend some time hacking on this
timotimo i'm not sure what you mean by "actual implementation" 09:35
but Actions.nqp is directly coupled to the Grammar.nqp; whenever a rule/token/regex is successfully parsed, a method of the same name is called on the Actions class and the match object is passed as first argument 09:36
shortguy Grammar.nqp has a rule statement_control:sym<use> and Actions.nqp has a method statement_control:sym<use>, so I'm guessing once it gets parsed/matched in Grammar.nqp the rule is called from Actions.nqp? 09:37
well there we go, should've just waited a few seconds for you to explain it
timotimo haha 09:38
09:42 lizmat joined, p6bannerbot sets mode: +v lizmat
shortguy The rule matches "<sym> <name>" which I'm lazily going to assume matches "use packagename", this in turn calls a method load_module, which is then loaded from whatever backend I'm using, right? 09:50
timotimo <sym> is short for "match what is part of the rule name" 09:52
so rule foo:sym<hello> { <sym> } would match the string "hello" 09:53
lizmat . 09:54
holyghost I guess it's meta-circular eval
I didn't know 09:55
lizmat clickbaits p6weekly.wordpress.com/2018/10/29/...proaching/
09:58 robertle left
Altreus oh good 09:58
I was about to scroll up looking for this 09:59
:)
holyghost lol
Altreus lizmat++ # clairvoyant
holyghost I'm in SSL 0.96. though :-)
s/0.96/0.9.6 10:00
lizmat Altreus: p6weekly.wordpress.com will always give you the most recent
Altreus well that's just cheating :P 10:01
lizmat I mention the specific ones for the logs, really
Altreus also to remind me to check ;)
do we know who owns perl11.org? the cert is invalid 10:03
10:04 rindolf joined, p6bannerbot sets mode: +v rindolf
holyghost Just recalculate ;-) 10:04
dump the packets and calculate :-) 10:06
ufobat timotimo, sill doesnt work :( nopaste.xyz/?0bcaf75dbe253266#r96D...Xg6nV6MrQ= 10:07
holyghost Altreus: maybe just use Bayes::Learn
shortguy <+timotimo> if you're feeling especially fancy, you could offer a slang 10:11
timotimo: what did you mean by this?
timotimo invent a whole new keyword to replace "use"
that would allow parsing an "as" parameter 10:12
maybe have it be like "use-as Foo The::Actual::Module"
lizmat timotimo: or we could just implement "use longname as shortname" for 6.e ?
ufobat sounds like pyhton :) 10:13
shortguy I feel like adding "as" to the existing "use" would lower complexity, so you don't have to look at a bunch of different operators in the top of the file
jnthn I think there's already a proposed syntax for that renaming, using an adverb 10:14
shortguy Not one that I could find, though perl6 discussions are pretty sprawled out
timotimo worst case, have a module that does the "renamed" importation for you 10:15
a bit like the "if" module
use LoadThisForMe "The::Original::Module:ver<1.9>" => "ShortName"; 10:16
BBL
jnthn use
oops
lizmat jnthn: the proposal was "use alias:name<longname>" I think
jnthn Glancing S11, I think it's `use ShortName:name<The::Really::Long::Name>`
Yup
lizmat m: use Foo:name<Test> 10:17
camelia ===SORRY!===
Could not find Foo at line 1 in:
/home/camelia/.perl6
/home/camelia/rakudo-m-inst-2/share/perl6/site
/home/camelia/rakudo-m-inst-2/share/perl6/vendor
/home/camelia/rakudo-m-inst-2/share/perl6
CompUnit::Repo
lizmat fwiw, that still is a bit counter-intuitive for me
m: use Benchmark:from<Perl5> 10:18
camelia ===SORRY!===
Please install Inline::Perl5 for Perl 5 support.
shortguy the order of arguments to that seems weird to me
But what do I know
jnthn: Where do I find this proposal?
lizmat S11
actually as part of: 10:19
m: use Foo:from<Perl5>:name<Benchmark>
camelia ===SORRY!===
Please install Inline::Perl5 for Perl 5 support.
lizmat ===SORRY!=== 10:20
Can't locate Foo.pm in @INC
if you do have Inline::Perl5 installed
Altreus shortname:name<longname> looks backwards to me 10:25
Is that what you meant?
use Module:as<M> looks forwards
shortguy yeah 10:26
jnthn The :name approach is logical, when considered together with :auth and :ver
Since it's just specifying the name of the thing to load 10:27
And so leaves the name immediately after the `use` as consistently being the one that's introduced
Whereas if you start doing it the other way around, you have to read ahead to know what names you're introducing into the scope
So the design proposal probably has it right 10:28
shortguy But this isn't implemented currently? 10:29
lizmat indeed
Altreus But it's only logical if you know the logic behind it, whereas one of the nice things about Perl5 is you could make your code look like it was written in sentences 10:30
So rather than having logical consistency one layer down, we'd have grammatical consistency at the top layer
less thinking
I suppose the other way of looking at it is simply that I don't think "name" means the right thing grammatically
"from" would make more sense
or something like that
lag? In 2018?
jnthn :from is already used
Altreus use Foo:actually<FooBar> 10:31
:bywhichimean
jnthn But the point is that there's already a `name` property and you've probably already used it in META6.json :)
Altreus I can see the logic but for some reason it doesn't fit 10:32
Not like I wouldn't get used to it after a while, but if there's time left to make it perfect then let's 10:33
shortguy "As" is what makes sense to me, but that might be because it's what I'm used to, but it makes intuitive sense to say "use Project::Admin::User as Adminuser; use Project::RegularSchmoe::User as Regularuser"
jnthn shortguy: There's very, very little chance of us introducing such an arbitrary syntax. 10:34
Altreus I think the reason I don't like :name is simply that whenever I'm linking A to B, I would use a property of A, not of B, as the key
Foo:name<Bar> is using the property of Bar (name) as a property of Foo, which is illogical 10:35
jnthn So you think :ver and :auth are illogical too?
Altreus In fact you're setting the *source* of Foo
no, because then you're setting the version and auth of Foo
Foo is the name of Foo, but it comes from Bar
For :name to be consistent with :ver and :auth like that, you'd have to *end up* with those properties 10:36
jnthn Not really; the adverbs are lookup keys that indicate how to find the thing to import.
Altreus Foo:ver<1>:auth<meow>:name<Bar> should end up with something at version 1, authed by meow, and called Bar
But you actually end up with the name being Foo 10:37
10:38 zakharyas joined
Altreus hmm the more I stare at that the more I flick between one side and the other 10:39
10:39 p6bannerbot sets mode: +v zakharyas
lizmat Altreus: that feeling is very well known to me 10:40
Altreus it's probably those government mind rays
lizmat the ones responsible for the contrails ?
Altreus I did wonder what they were! that makes sense
But yeah now I think about it, it's like you're constructing an object out of :name :ver :auth, and putting it in Foo 10:41
mind you, if I were constructing an object like this, I'd use a different parameter for :name so it's not confusing ;)
jnthn The already *is* such an object in the API behind `use`, and it has precisely those properties :) 10:42
10:45 shortguy left, gregf_ left, zashi left, Sigyn left 10:49 mattp__ left 11:03 mattp__ joined 11:04 p6bannerbot sets mode: +v mattp__ 11:08 mattp__ left
buggable New CPAN upload: AI-Agent-0.1.23.tar.gz by HOLYGHOST modules.perl6.org/dist/AI::Agent:cpan:HOLYGHOST 11:12
11:13 mattp__ joined 11:14 p6bannerbot sets mode: +v mattp__ 11:21 mattp__ left 11:22 mattp__ joined 11:23 p6bannerbot sets mode: +v mattp__ 11:31 mattp__ left 11:42 mattp__ joined, p6bannerbot sets mode: +v mattp__ 11:46 mattp__ left, cog left 11:54 mattp__ joined 11:55 p6bannerbot sets mode: +v mattp__ 11:58 mattp__ left, sergot joined 11:59 p6bannerbot sets mode: +v sergot 12:03 noganex_ joined, p6bannerbot sets mode: +v noganex_ 12:06 robertle joined, noganex left 12:07 p6bannerbot sets mode: +v robertle 12:08 domidumont joined, p6bannerbot sets mode: +v domidumont 12:18 cog joined 12:19 p6bannerbot sets mode: +v cog 12:25 cog left 12:26 cognominal-p6 joined 12:27 p6bannerbot sets mode: +v cognominal-p6 12:44 emerson is now known as GDPR 12:54 Sigyn joined, niven.freenode.net sets mode: +v Sigyn, p6bannerbot sets mode: +v Sigyn 13:37 john_parr left 13:39 john_parr joined 13:40 p6bannerbot sets mode: +v john_parr 13:45 Sauvin left 13:50 lizmat left 13:53 lizmat joined, p6bannerbot sets mode: +v lizmat 14:09 melezhik joined, p6bannerbot sets mode: +v melezhik
melezhik Hi! I have a date in format "2018-10-30T08:10:42-06:00" I'd like to convert it into "x time ago" ( "5 minutes ago, 1 hour ago and so on ") .. any ready Perl6 modules for that? 14:12
14:21 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix eco: Number::Denominal 14:21
buggable Zoffix, Nothing found
Zoffix eco: Number::Denominate
buggable Zoffix, Number::Denominate 'Break up numbers into preset or arbitrary denominations': modules.perl6.org/dist/Number::Deno...fix%20Znet
Zoffix melezhik: try that one. IIRC it can take a number of seconds and convert to "5 weeks, 4 days, ..." formatted string 14:22
melezhik sounds good, Zoffix: , thanks
Zoffix $ perl6 -MNumber::Denominate -e 'say denominate(DateTime.now - DateTime.new("2018-10-30T08:10:42-06:00")) ~ " ago"' 14:24
13 minutes and 38 seconds ago
$ perl6 -MNumber::Denominate -e 'say denominate(DateTime.now - DateTime.new("2015-12-25T08:10:42-06:00")) ~ " ago"'
148 weeks, 4 days, 13 minutes, and 59 seconds ago
It only goes up to `weeks` but you can define your own units
14:25 Zoffix left
melezhik thanks, Zoffix: 14:27
will give it a try
14:34 klapperl joined 14:35 p6bannerbot sets mode: +v klapperl, klapperl_ left 14:39 klapperl_ joined 14:40 p6bannerbot sets mode: +v klapperl_ 14:41 klapperl left, leont joined 14:42 p6bannerbot sets mode: +v leont 14:47 Altreus left 14:55 st_elmo joined 14:56 p6bannerbot sets mode: +v st_elmo, cxreg2 is now known as cxreg 14:59 Altreus joined, p6bannerbot sets mode: +v Altreus 15:04 zakharyas left, zakharyas joined 15:05 p6bannerbot sets mode: +v zakharyas 15:09 zakharyas left 15:16 troys joined 15:17 p6bannerbot sets mode: +v troys 15:23 fake_space_whale joined 15:24 p6bannerbot sets mode: +v fake_space_whale 15:30 domidumont left
melezhik does Perl6 has sort construction, like Perl5 does? 15:31
I need to sort array of hashes by one hash key
timotimo i don't know what "sort construction" means, but you can just .sort(*.<thekey>) 15:32
melezhik like this one? - say 'bca'.comb.sort({$^b cmp $^a}).join;
timotimo i would not recommend using a two-argument function as the argument to sort 15:33
only if you really need it
melezhik .sort(*.<thekey>) would be ok too, thanks
how to do the same in reverse order? 15:34
! *.<thekey> ?
moritz .sort(*.<thekey).reverse 15:36
.sort({ $^b<thekey> cmp $^a<thekey>))
melezhik thanks
15:36 holyghost left 15:37 holyghost joined, curan left 15:38 p6bannerbot sets mode: +v holyghost
lizmat melezhik: using a 2 arg sorter prohibits the sorter to do a Schwartzian transform under the hood, which may have performance implications 15:38
melezhik ok, thanks, i decided to choose 1 arg sorting , it works for me 15:41
lizmat also: .reverse on an array is almost a noop, as it will just use an iterator that goes from end to beginning
so no data is hurt during the .reverse :-) 15:42
rindolf Hi all! I am using github.com/shlomif/rakudo-git-master-install and zef stopped getting installed 15:52
moritz rindolf: maybe you should open an issue in that repo :-)
rindolf moritz: heh
El_Che rindolf: your block brackets are all wrong, that's why! /o\ 15:54
rindolf www.shlomifish.org/Files/files/tex...do-log.txt - log 15:55
El_Che: where?
El_Che: wrong how?
El_Che wrong as a discussion between tabs and spaces 15:56
KR and not
rindolf El_Che: what?
El_Che: is this bikeshedding?
El_Che en.wikipedia.org/wiki/Indentation_...mp;R_style
it's rather playful trolling :)
moritz rindolf: it looks like zef is already installed
rindolf moritz: ah 15:57
moritz: it is not in the path
moritz rindolf: you might need to adjust your PATH
15:58 moony_ joined, p6bannerbot sets mode: +v moony_
rindolf moritz: ah 15:58
moony_ p6: say «moo 1 2 3>[0] 15:59
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in shell-quote words; couldn't find final '»' (corresponding starter was at line 1)
at <tmp>:1
------> 3say «moo 1 2 3>[0]7⏏5<EOL>
expecting any of:
moony_ p6: say «moo 1 2 3»[0] 16:00
camelia moo
moony_ p6: say «moo 1 2 3»[0] × «oom»
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5moo' (indicated by ⏏)
in block <unit> at <tmp> line 1
rindolf moony_: i cannot find it anywhere
moony_ ?
rindolf moritz: : i cannot find it anywhere 16:01
moony_: sorry
moritz rindolf: for me, it's installed to $PREFX/share/perl6/site/bin/zef 16:02
rindolf moritz: ah
moritz in case of doubt, find -name zef 16:04
rindolf moritz: yes
16:04 moony_ left 16:06 moony_ joined, p6bannerbot sets mode: +v moony_
moony_ y u ping 16:06
rindolf moritz: thanks, had to tweak the path 16:12
moony_: ping? 16:13
ugexe for the purist you can use zef without tweaking the path even -- `perl6 -MZef::CLI -e '' install Cro::HTTP -v`
El_Che could be useful as an alias for switch between the local and the global zef install 16:16
rindolf moritz: next question - why does this work locally even after a complete reinstall - travis-ci.org/shlomif/ci-gen-frame.../448310042 ? 16:17
leont: any idea? 16:18
16:19 sena_kun joined
SmokeMachine `use RealNameModule:as<Foo>`looks good imo 16:19
16:19 p6bannerbot sets mode: +v sena_kun
ugexe :as<> isn't consistent with anything else 16:20
:name is already in the meta data. we already have Foo.^name Foo.^ver Foo.^auth 16:22
16:25 zxcvz joined
jkramer I just had P6 segfault on after running for ~2 weeks :( 16:25
16:26 p6bannerbot sets mode: +v zxcvz 16:29 robertle left
timotimo oh crap. do you happen to have a core dump? 16:30
16:30 jmerelo joined 16:31 p6bannerbot sets mode: +v jmerelo
moony_ timotimo: *eats apple* core dumped. I have no idea how to actually use core dumps, which bugs me. Mind telling me how to debug with them? 16:31
jkramer timotimo: Nope. I also don't know when exactly happened, I just saw it in a tmux session. 16:32
timotimo OK
moony_: have you played nethack? it's basically just like that :P
jkramer timotimo: Actually nevermind, I updated perl6 today, I'm pretty sure replacing the binary/libs was what caused the crash
moony_ uh, i pulled that joke straight out of nethack. Course i have.
timotimo oh 16:33
moony_ goes back to playing nethack, like he was just a few seconds ago 16:34
timotimo yeah, rebuilding moar or rakudo or something while one is running causes other moar processes to either crash immediately, or very soon after
moony_: i tried to make an additional bad joke on top, but it didn't land
debugging with a core dump is a lot like debugging with a program, except you can't do any "continue" or "step" or things
and i'm not sure if you can "call" either?
leont rindolf: I may have broken your code, sorry about that. That constructor wasn't intended for public consumption (but until recently it didn't have documentation) 16:36
rindolf leont: ah 16:37
leont: what is the latest version in the pkg repo?
leont: i am getting v0.0.1
16:37 elfuego joined
rindolf leont: github.com/Leont/getopt-long6 - no tags here 16:38
16:38 p6bannerbot sets mode: +v elfuego
perlbot Anonymous pasted a new file at f.perl.bot/p/4kf482 - 16:38
16:47 moony_ left 16:48 jc_denton1 joined 16:49 p6bannerbot sets mode: +v jc_denton1 17:05 robertle joined
Geth doc: 101be5ac5c | Coke++ | doc/Language/module-packages.pod6
run more tests
17:06
synopsebot Link: doc.perl6.org/language/module-packages
17:06 p6bannerbot sets mode: +v robertle 17:11 cognominal-p6 left
rindolf leont: ping 17:17
leont I've made a 0.0.2 now 17:19
Previous really should have been 0.0.0 or something
17:19 melezhik left
moritz version numbers are just smoke and mirror 17:34
17:37 st_elmo left 17:48 ufobat left
El_Che moritz: but which smoke and which mirror 17:49
xinming How can i profile memory usage for the code? I found for a long run, the memory will take up over 3G 17:55
El_Che Fedora 29 is out! Adding support for in rakudo-pkg. Probably with the hour in a repo close to you :) 18:01
timotimo there's the heap snapshot profiler, xinming
lizmat short answer: run with --profile ?
long answer: listen to timotimo
timotimo the --profile will give you info on what gets created, the heap snapshot profiler will give you info on what gets kept around
the heap snapshot profiler will currently take one heap snapshot per GC run, which can lead to extremely big files rather quickly 18:02
i've tried to make it only run on major GC runs in the past, but somehow that caused crashes and misbehaviour, and since then i've focused mainly on the instrumented profiler 18:03
do you want any specific help? 18:05
18:07 rindolf left 18:08 moony_ joined, p6bannerbot sets mode: +v moony_ 18:10 rindolf joined 18:11 p6bannerbot sets mode: +v rindolf
rindolf hi all 18:13
leont: here?
18:13 ryn1x joined
leont Yeah 18:13
18:14 p6bannerbot sets mode: +v ryn1x
rindolf leont: hi 18:14
leont: what is the latest release of getopt::long? 18:15
leont NOw 0.0.2. You probably want to be using the get-options function 18:16
rindolf leont: ok 18:17
18:17 kensanata left
rindolf leont: with a custom array? 18:17
leont get-options-from
xinming timotimo: yes. 18:18
timotimo: how do I use heap snapshot profiler?
18:19 dakkar left 18:20 hami joined, p6bannerbot sets mode: +v hami
rindolf leont: thanks 18:20
timotimo all you need to do™ is to pass --profile=heap to your perl6 commandline
be sure to watch the resulting file (it will be a file called something like heapsnapshot-123233411234.08354 in the current working directory
if you ctrl-c the program before it gets the opportunity to "end the profile", it will not be able to be read yet 18:21
so you may want to either have a signal handler or some other means of stopping the program early that goes through a proper shutdown sequence
xinming timotimo: Got it, thanks 18:22
timotimo when you've generated the file, you need the moarvm heapsnapshot analyzer, it's a tool written in perl6 18:24
buggable: eco Heap
buggable timotimo, Heap 'Simple Heap implementation': github.com/FCO/Heap 4 other matching results: modules.perl6.org/s/Heap
timotimo buggable: eco Heapanalyzer
buggable timotimo, App::MoarVM::HeapAnalyzer 'MoarVM heap snapshot analysis tool': modules.perl6.org/dist/App::MoarVM:...thn.net%3E
timotimo github.com/jnthn/p6-app-moarvm-heapanalyzer
18:24 hami left
timotimo the readme links to two blogposts on jnthn's blog that ought to help you get started 18:25
xinming Thanks
Geth doc: d73aad759a | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/grammars.pod6
Try to fix rogue `>` on the page
synopsebot Link: doc.perl6.org/language/grammars
rindolf leont: thanks, seems to work now 18:27
xinming Cannot unbox 66 bit wide bigint into native integer 18:28
I got this kind of errory
error* 18:29
when I run moar-ha head-snapshot...
timotimo oh? that's certainly not right :D
can you run moar-ha like "perl6 --ll-exception bin/moar-ha heap-snapshot-... ?
"
Geth doc: c118f9498b | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/grammars.pod6
Simplify example

Per colabti.org/irclogger/irclogger_lo...10-30#l379
18:31
synopsebot Link: doc.perl6.org/language/grammars
18:33 domidumont joined, p6bannerbot sets mode: +v domidumont
xinming timotimo: I just got this 18:36
Considering the snapshot...oops!
then, that error, can't unbox blabla
timotimo oh, i wonder if you require my fork for it to work
xinming I can try. 18:37
But I'll go to sleep soon. :-)
timotimo github.com/timo/p6-app-moarvm-heapanalyzer
18:39 mattp_ joined 18:40 p6bannerbot sets mode: +v mattp_
xinming timotimo: Your version still has the error 18:42
I'm using the 2018.10 version anyway
timotimo how big is the resulting heapsnapshot file? 18:44
jmerelo releasable6: status 18:47
releasable6 jmerelo, Next release in ≈18 days and ≈0 hours. 0 blockers. 0 out of 29 commits logged
jmerelo, Details: gist.github.com/3171cb9c8daf5148c7...6b87702025
jmerelo So there was a release and I didn't know...
lizmat jmerelo: it *was* mentioned in the P6W :-) 18:50
18:50 itaipu joined, molaf joined
xinming 75M 18:50
101M actually.
18:51 p6bannerbot sets mode: +v itaipu, p6bannerbot sets mode: +v molaf
jmerelo lizmat: didn't have time to read it either... 18:51
Busy last two days.
OK, will check it out.
18:53 moony_ left 18:55 itaipu left
timotimo damn, that should totally be doable 18:57
jmerelo BTW, is there going to be a Perl 6 Advent this year? I'm already seeing PRs for the Perl 5's one. 19:00
lizmat hopes so 19:01
jmerelo OK, I see it's already launched, albeit quietly: github.com/perl6/mu/blob/master/mi...8/schedule 19:03
So please add yourself to the schedule on whatever day you choose
lizmat weekly: github.com/perl6/mu/blob/master/mi...8/schedule
notable6 lizmat, Noted!
19:04 ryn1x left, Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix jmerelo: I saw it being started when it did, but "traditionally" it was launched on Nov 1st, so I kept quiet about it :) 19:04
jmerelo Zoffix: it's almost November 1st in some far away island in the middle of the Pacific... So we could as well release it. 19:05
lizmat weekly: uzluisf.gitlab.io/piensaperl6/ # Think Perl 6 in Spanish, comments / Spanish proofreading welcome! 19:06
notable6 lizmat, Noted!
Zoffix jmerelo: sure, why not
moritz I don't think earlier planning / announcement hurts
tweeted about it 19:07
Zoffix moritz++
Geth mu: 69d030933c | (JJ Merelo)++ | misc/perl6advent-2018/schedule
Adds my stuff for Dec 2nd, cna be moved
jmerelo Zoffix: are you still the only person who has the privs to add to the Wordpress blog if they aren't already?
moritz no, I've always had that priv too :-) 19:08
Zoffix jmerelo: doubt it.
moritz so, what could I write about this year? 19:09
jmerelo I don't think I have them. However, I just noted I do have permission for moderating comments, and there were 5 to be approved.
moritz I dont feel I've done muhc Perl 6 stuff this year...
AlexDaniel squashable6: status
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in 2 days and ≈14 hours (2018-11-03 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel :o 19:10
jmerelo: ↑ :o
jmerelo AlexDaniel:
Right
Bad weekend, also
lizmat argh
jmerelo All Saints' long weekend here in Spain and in many other places in Europe. 19:11
Will try to do our best
lizmat forgot to say something about the Squashathon in the P6W :-(
Zoffix jmerelo: masak colomon jnthn lizmat Ulti moritz perlpilot timotimo and couple others no-longer-regulars have admin privs.
AlexDaniel lizmat: yeah I also forgot, was too focused on the release I guess…
jmerelo Zoffix: OK, no problem. Just didn't want to leave all the grunt work for you.
Will try to prepare something tomorrow in the morning. 19:12
I've launched TuPR.club here
Zoffix moritz: dunno, something about grammars? Its our most popular feature, if I recall survey results correctl.y
jmerelo That's a tupper (ware) for your PR (tu PR in Spanish)
Means I will offer food in a container for anyone whose PR is accepted. Payable here in Granada, Spain. So I was going to launch the thing offering free food for anyone whose PR in perl6/doc is accepted. 19:13
Zoffix :) 19:14
Do people get to keep the container? :)
jmerelo Because tees are great, but a good old container with homemade food is even greater.
Zoffix: I actually went to Ikea and bought el cheapo containers just in case they don't give it back.
Zoffix I wish they'd offer something other than tees. I'm getting my 5th one this year… 19:15
jmerelo Zoffix: yep, I thought about stickers initially. But then, a sleepless night (jetlag) got in the way...
AlexDaniel jmerelo: that's during the squashathon? :O 19:16
Zoffix Yeah, food's good.
jmerelo AlexDaniel: yep, I'm going to start with the Squashathon 19:17
AlexDaniel :O that's awesome
jmerelo Then go ahead, open it to anyone...
El_Che Travis is busy pushing packages to github and repo. Added Fedore 29 packages (just out), EOL'ed Fedora 26 19:18
jmerelo El_Che++ 19:20
19:21 Zoffix left
El_Che We go for same day delivery. Better than Amazon :) 19:21
19:22 titsuki left
jmerelo El_Che: great :-) 19:22
19:23 titsuki joined 19:24 p6bannerbot sets mode: +v titsuki 19:36 molaf left 19:47 jmerelo left 19:51 AlexDaniel left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 19:52 AlexDaniel left 19:55 zakharyas joined 19:56 p6bannerbot sets mode: +v zakharyas 19:58 kensanata joined, p6bannerbot sets mode: +v kensanata 20:07 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel, cognominal-p6 joined
El_Che new Fedora 29 repo up 20:08
20:08 p6bannerbot sets mode: +v cognominal-p6 20:15 elfuego left, cognominal-p6 left, cognominal-p6 joined 20:16 p6bannerbot sets mode: +v cognominal-p6 20:17 elfuego joined, p6bannerbot sets mode: +v elfuego 20:19 lolo78 joined, p6bannerbot sets mode: +v lolo78 20:28 molaf joined 20:29 p6bannerbot sets mode: +v molaf 20:35 cognominal-p6 left 20:40 kensanata left 20:43 molaf left 20:44 ufobat joined 20:45 p6bannerbot sets mode: +v ufobat 20:46 domidumont left 20:48 random_yanek left
SmokeMachine should write something about Red on Perl 6 Advent... 20:49
but im not sure if it will be published until there... 20:50
El_Che SmokeMachine: I think a lot of people are looking forward to it 20:51
SmokeMachine El_Che: really?
El_Che SmokeMachine: yes, dbish has its issues 20:52
(looking at the github issues, I am not claiming it does not work :) ) 20:53
SmokeMachine El_Che: but Red isn't a substitute for dbiish... its just an ORM (for SQLite it uses DBIish (but not for Pg)) 20:54
El_Che We've some people asking about ORMs here in the channe 20:55
l 20:56
SmokeMachine :)
ufobat does anyone still has an idea regarding stackoverflow.com/questions/530621...6-with-cro because it just doesn't work on my box :( 20:58
sena_kun tries to look into it, but cannot promise things on rest day 20:59
ufobat :) 21:01
21:02 AlexDaniel left 21:03 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 21:08 zxcvz left 21:09 kerframil joined, p6bannerbot sets mode: +v kerframil 21:11 zakharyas left 21:21 koto joined 21:22 p6bannerbot sets mode: +v koto, AlexDaniel left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 21:23 sena_kun left
CIAvash ufobat (IRC): not an answer to your question, but I think `$success` is always going to be defined, so `without $success` should be `unless $success` 21:25
21:25 sno left
koto ufobat, ping? 21:25
ufobat ja?
CIAvash, okay thanks :-) 21:26
21:26 elfuego left
ufobat koto? 21:27
koto one thing I know for sure: there are necessary fixes in master(not related to your question), that are not sliced as a version, so to "truly" update it you need git clone && zef install . thing. At least not unless jnthn will make a release, which he is planning to do for sure, I think.
with this "authentication called" message is emitted.
ufobat thats easy to test 21:28
21:28 robertle left
ufobat wondering which version curt was using 21:28
koto I have `curl 7.61.1` and used exact commands as Curl wrote. 21:29
using `unless $success { forbidden };` I can see an exception. Which is better than nothing, I think. :) 21:30
ufobat its sufficient to clone cro and invoke perl6 -Icro/lib example.pl right? 21:31
koto you need to clone `cro-http`.
github.com/croservices/cro-http <- ufobat 21:32
21:32 jc_denton2 joined
ufobat ty! 21:32
21:33 p6bannerbot sets mode: +v jc_denton2
koto np. now looking at how what you want to do can be done(403 repsonse). 21:33
21:33 jc_denton1 left, koto is now known as sena_kun
ufobat YEAH! 21:34
nopaste.xyz/?2e7f33044c06cd6c#dxL0...e3K8wW7qs=
^ much better, but still meh ;) 21:35
sena_kun "Cannot unbox a type object (Nil) to int." is pretty unexpected and I am not sure about its cause. :) Personally, I get "Can only use 'content' inside of a request handler", which is reasonable here.
ufobat, what code did you cahnge from what's in SO question? 21:36
ufobat but thats pretty anoying if the stable release of cro is buggy in a way that basic authentication is not working :-(
let met check 21:37
SO is currently not working? :-(
sena_kun but, well, if you fix that, you'll get an exception that I posted, about `request handler`. 21:38
this one must be fixed inside of cro, I know how to do that, but I'll discuss it with jnthn tomorrow to be sure it won't break anything design-wise, though I bet it's likely not. 21:39
ufobat sena_kun, i think i am using 100% Curts example not mine
sena_kun afk for 15 minutes&
21:41 sno joined 21:42 p6bannerbot sets mode: +v sno 21:45 sno left 21:47 jc_denton1 joined 21:48 p6bannerbot sets mode: +v jc_denton1
ufobat sena_kun, i think the exception that i am running into is because my curl does Content-Type: application/x-www-form-urlencoded 21:48
21:48 jc_denton2 left
sena_kun reproduced it this way. 21:49
ufobat curl -v -X POST admin:secret@localhost:10000/api -H 'Content-Type: application/json' -d '{}' <- works
curl -v -X POST admin:secret@localhost:10000/api -d '{}' <- doesn't
sena_kun and with json one you'll get one I mentioned, so there are two. 21:50
21:51 |oLa| joined
sena_kun ufobat, I'll write those down into todo list and fix it after sleep, thanks for raising it. 21:52
21:52 p6bannerbot sets mode: +v |oLa|
ufobat i dont get thet content thingy 21:52
sena_kun .o0 ( and hopefully try to help with the release to make it as effortless as possible, we need one )
ufobat that works for me?
sena_kun ufobat, no, it can't be, I think. You have `forbidden unless $user eq 'admin' && $pass eq 'secret';` line in your code? 21:53
ufobat no i am using curts code not my example, right now
no forbidden here
sena_kun if not, I have it. I thought one of your conditions was to return forbidden on incorrect creds, so I added that.
try to add it. :) 21:54
21:54 lolo78 left 21:55 sno joined
ufobat yeah 21:55
there it is
21:55 p6bannerbot sets mode: +v sno
sena_kun yup. are you in a hurry for those to be fixed? I can do a quickfix, to avoid waiting for tomorrow. 21:56
ufobat so that means maybe, after the release its possible to make a 403 for failed log ins :)
not at all :)
sena_kun it for sure will be possible. ok.
ufobat :-)
i'll wait for the release :-) i think there enough things that are fixed 21:57
thanks a lot!
sena_kun you are welcome!
21:57 [Sno] joined 21:58 p6bannerbot sets mode: +v [Sno] 21:59 sno left 22:03 [particle]1 joined 22:04 p6bannerbot sets mode: +v [particle]1, sena_kun left 22:05 [particle] left 22:06 ryn1x joined 22:07 p6bannerbot sets mode: +v ryn1x, [Sno] left 22:12 jc_denton1 left 22:15 ryn1x left, ryn1x joined, ufobat left, rindolf left, elfuego joined 22:16 p6bannerbot sets mode: +v ryn1x, p6bannerbot sets mode: +v elfuego 22:20 elfuego left 22:22 rindolf joined, p6bannerbot sets mode: +v rindolf 22:28 dct joined, p6bannerbot sets mode: +v dct 22:31 elfuego joined, sno joined 22:32 p6bannerbot sets mode: +v elfuego, p6bannerbot sets mode: +v sno 22:36 sno left 22:42 elfuego left 22:44 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 22:45 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 22:48 cognominal-p6 joined, p6bannerbot sets mode: +v cognominal-p6 22:50 ryn1x left 22:53 rindolf left 22:56 random_yanek joined, random_yanek left 22:58 fake_space_whale left 23:00 random_yanek joined 23:01 p6bannerbot sets mode: +v random_yanek, kurahaupo left, kurahaupo joined 23:02 p6bannerbot sets mode: +v kurahaupo 23:28 dct left 23:43 ryn1x joined 23:44 p6bannerbot sets mode: +v ryn1x 23:53 HaraldJoerg1 joined 23:54 p6bannerbot sets mode: +v HaraldJoerg1 23:56 HaraldJoerg left 23:59 ryn1x left, moony is now known as moonythevampire