»ö« 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.
00:13 bolangi left 00:15 bolangi joined 00:16 p6bannerbot sets mode: +v bolangi 00:18 rindolf left 00:36 benjikun left 00:37 benjikun joined 00:38 p6bannerbot sets mode: +v benjikun 00:40 Sound joined, p6bannerbot sets mode: +v Sound 00:52 Sound left 01:09 avar left 01:11 mephinet left, mephinet joined, p6bannerbot sets mode: +v mephinet 01:12 Sgeo joined 01:13 p6bannerbot sets mode: +v Sgeo 01:15 Sgeo_ left 01:18 avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 01:19 p6bannerbot sets mode: +v avar 01:25 hamhu3_ joined 01:26 p6bannerbot sets mode: +v hamhu3_ 01:29 hamhu3 left 02:29 quotable6 left, statisfiable6 left, bloatable6 left, evalable6 left, notable6 left, benchable6 left, releasable6 left, shareable6 left, undersightable6 left, greppable6 left, squashable6 left, reportable6 left, bisectable6 left, committable6 left, coverable6 left, unicodable6 left, nativecallable6 left, molaf left, benchable6 joined 02:30 p6bannerbot sets mode: +v benchable6, notable6 joined, ChanServ sets mode: +v notable6, undersightable6 joined 02:31 p6bannerbot sets mode: +v notable6, reportable6 joined, ChanServ sets mode: +v reportable6, p6bannerbot sets mode: +v undersightable6, statisfiable6 joined, quotable6 joined, ChanServ sets mode: +v quotable6, coverable6 joined, ChanServ sets mode: +v coverable6 02:32 bisectable6 joined, shareable6 joined, ChanServ sets mode: +v shareable6, p6bannerbot sets mode: +v reportable6, p6bannerbot sets mode: +v statisfiable6, p6bannerbot sets mode: +v quotable6, p6bannerbot sets mode: +v coverable6, nativecallable6 joined, ChanServ sets mode: +v nativecallable6, evalable6 joined, greppable6 joined, ChanServ sets mode: +v greppable6 02:33 p6bannerbot sets mode: +v bisectable6, p6bannerbot sets mode: +v shareable6, releasable6 joined, p6bannerbot sets mode: +v nativecallable6, bloatable6 joined, ChanServ sets mode: +v bloatable6, p6bannerbot sets mode: +v evalable6, p6bannerbot sets mode: +v greppable6, p6bannerbot sets mode: +v releasable6 02:34 committable6 joined, squashable6 joined, ChanServ sets mode: +v squashable6, unicodable6 joined, ChanServ sets mode: +v unicodable6, p6bannerbot sets mode: +v bloatable6, p6bannerbot sets mode: +v committable6 02:35 p6bannerbot sets mode: +v squashable6, p6bannerbot sets mode: +v unicodable6
SmokeMachine m: my @a = “a”; for @a { @a.push: .succ if @a <=10 }; say @a 02:53
camelia [a b c d e f g h i j k]
SmokeMachine m: my %a = a => 0; for %a { %a{ .key.succ } = ++$ if %a <=10 }; say %a 02:54
camelia {a => 0, b => 1}
SmokeMachine Any reason to the hash one does not work? 02:55
That doesn’t feel consistent for me...
I can imagine that it’s using the `.pairs`’s iterable, so the list returned by `.pairs` isn’t changed... 03:03
m: my @a = a => 0; for @a { @a.push: .succ => ++$ if @a <=10 }; say @a 03:04
camelia No such method 'succ' for invocant of type 'Pair'. Did you mean 'sum'?
in block <unit> at <tmp> line 1
timotimo iterating over a hash while you're changing it is a good way to have code that does not do what you expect
SmokeMachine m: my @a = a => 0; for @a { @a.push: .key.succ => ++$ if @a <=10 }; say @a
camelia [a => 0 b => 1 c => 2 d => 3 e => 4 f => 5 g => 6 h => 7 i => 8 j => 9 k => 10]
timotimo the array case just happens to work
SmokeMachine I think I’ll use a array of pairs... 03:06
But I fell that should work...
timotimo have you considered the sequence operator?
hashes aren't ordered, so adding something doesn't necessarily mean an iterator will get that item next
SmokeMachine I won’t push on every iteration... 03:07
timotimo that's not a problem
normally, at least
depends on the exact code, of course
m: my %foo; for "a".."z" { %foo{$_} = $++ }; .key.say for %foo.list 03:08
camelia n
o
g
s
y
i
d
e
r
l
h
v
x
w
p
k
c
a
b
u
m
j
z
t
f
q
timotimo m: my %foo; for "a".."z" { %foo{$_} = $++ }; .key.say for %foo.list
camelia z
c
y
t
o
j
g
x
s
r
a
i
b
v
u
h
n
k
q
m
p
l
f
d
e
w
SmokeMachine timotimo: I’ll push only I find a new conditional inside the sub... (I’m back on your idea for Red...)
And I should keep trying to find more... 03:09
timotimo maybe have a queue of "unsolved" values
SmokeMachine I have a hash with every conditional “concated” as key and the return as value... when I find a new conditional, I’ll duplicate the keys, add the new condition as False and as True on the new ones and run the code with that new keys... 03:12
.a < 10 ?? .a > 2 ?? .b !! .c !! .d 03:14
.a < 10 == True => .d 03:15
timotimo btw, the sequence operator can also take the complete list so far as the argument to the producer function :)
SmokeMachine Then it will try with .a < 10 being true and will find the .a > 2 03:16
timotimo btw better put something in to prevent infinite loops in cases like rand > rand ?? .a !! .b 03:17
SmokeMachine timotimo: that case, rand isn’t a Red::AST, só it wold give a unpredictable answer... but you are right! 03:19
Thanks!
But, .c > rand ?? .a !! .b you’ll run rand... let’s say it would give 4... then it would work the same as if I wrote .c > 4 ?? .a !! .b 03:21
timotimo ok, but what about the next time it tries? 03:23
well, you probably know the code better than me :)
SmokeMachine You até write! 03:24
are
03:25 Xliff joined
SmokeMachine timotimo: thank you again! I’ll continue it tomorrow 03:26
03:26 p6bannerbot sets mode: +v Xliff
timotimo np 03:26
Xliff m: use NativeCall; my $b = "Hello".encode; my $c = CArray[uint8].new($b); $c[$_].say for ^$c.elems
camelia 72
101
108
108
111
SmokeMachine timotimo: but you are right, any conditional that could change on each call can infinite loop 03:27
.a < now ?? .b !! .c For example... 03:28
03:28 ufobat___ joined
timotimo .a > $++ 03:29
03:29 p6bannerbot sets mode: +v ufobat___
SmokeMachine Yes... 03:29
At least currently it must be pure... 03:30
timotimo maybe put a hard limit on a thousand iterations or so
m: say 1024.log(2) 03:31
camelia 10
timotimo hm.
SmokeMachine I am thinking if is there a was to do something like test if every conditional is different... 03:32
03:32 ufobat_ left
SmokeMachine Or if the root of the conditional branch has changed... 03:33
If I run the code and it finds that it’s testing .a < 1 and that the first time I do that (so it’s returning false) the next time I run (to return true on that) if that doesn’t exist, so the value has changed 03:36
timotimo: does that make sense? (Of corse I still need a limit) 03:37
timotimo ah, that kind of sounds sensible 03:39
i'm not sure how good it works in practice
anyway, it's bedtime for me :)
SmokeMachine For me too! Thanks for your help one more time!
Good night
timotimo kind of surprising to see someone called "smoke machine" not putting out only vaporware :) :) 03:40
SmokeMachine :) if I tell you I had quit smoking?! 03:43
timotimo ha, good on you :)
SmokeMachine 7 years without any cigarette! 03:44
timotimo good work, i have not the slightest idea how difficult it is 03:45
SmokeMachine Stopped when I discovered my wife was pregnant (she stopped too)
timotimo that's a good motivation
SmokeMachine Yes, it is... 03:46
:)
Good night! 03:47
timotimo gnite!
04:03 leont left 04:05 Sgeo left 04:09 Sgeo joined 04:10 p6bannerbot sets mode: +v Sgeo 04:30 lookatme_q left 04:44 lookatme_q joined, p6bannerbot sets mode: +v lookatme_q 04:57 Cabanossi left 04:58 Cabanossi joined 04:59 p6bannerbot sets mode: +v Cabanossi 05:02 kurahaupo_ joined 05:03 p6bannerbot sets mode: +v kurahaupo_ 05:04 kurahaupo_ left 05:05 kurahaupo left 05:44 discoD left
loops /quit 06:01
Oops.. goodnight :-)
06:01 loops left 06:36 huf left 06:44 coet|login joined, p6bannerbot sets mode: +v coet|login 06:47 coet left 06:50 coet|login left 07:22 huf joined 07:23 p6bannerbot sets mode: +v huf
Xliff m: @a = <a b c d>; for @a.kv -> $k, $v { "$k, $v".say } 07:44
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@a' is not declared
at <tmp>:1
------> 3<BOL>7⏏5@a = <a b c d>; for @a.kv -> $k, $v { "$
Xliff m: my @a = <a b c d>; for @a.kv -> $k, $v { "$k, $v".say }
camelia 0, a
1, b
2, c
3, d
08:00 molaf joined 08:01 p6bannerbot sets mode: +v molaf
yoleaux AlexDaniel: nevermind the next reminder 08:33
08:38 kent\n left 08:40 kent\n joined, p6bannerbot sets mode: +v kent\n 08:48 kent\n left 08:49 kent\n joined, p6bannerbot sets mode: +v kent\n 08:51 sjoshi joined 08:52 p6bannerbot sets mode: +v sjoshi 09:29 pecastro joined 09:30 p6bannerbot sets mode: +v pecastro 09:34 Poohman left 09:39 Poohman joined 09:40 p6bannerbot sets mode: +v Poohman 09:44 rindolf joined 09:45 p6bannerbot sets mode: +v rindolf 09:46 sena_kun joined, p6bannerbot sets mode: +v sena_kun 10:04 finanalyst joined, p6bannerbot sets mode: +v finanalyst
Poohman my %a = a => 0; while (%a <= 10) { %a.append: %a.tail.key.succ => %a.tail.value.succ; }; 10:10
hello all - I was just playing around with what Smokemachine and TimiTimo were discussing earlier 10:11
If I run this code I get an infinite loop as the elems of %a dont go above 2 10:12
sena_kun m: my %a; say %a == 0; say %a < 0; say %a > 0; 10:13
camelia True
False
False
Poohman even though a kv gets added everytime
sena_kun afk
Poohman my %a = a => 0; while (%a.elems <= 10) { %a.append: %a.tail.key.succ => %a.tail.value.succ; }; 10:14
sena_kun: Hi , this also gives an infinite loop
if I print the elems inside the loop it is always 2 10:15
somehow outisde the pointy block the increased elem does not et reflected
i dont know how camelia reacts to infinite loops here 10:16
otherwise I can try to run it here
m: my %a = a => 0;my counter = 0; while (counter < 5) { %.append: %.tail.key.succ => %a.append.value.succ; counter++; }} 10:21
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed my (did you mean to declare a sigilless \counter or $counter?)
at <tmp>:1
------> 3my %a = a => 0;my counter7⏏5 = 0; while (counter < 5) { %.append: %
Poohman m: my %a = a => 0;my $counter = 0; while ($counter < 5) { %.append: %.tail.key.succ => %a.append.value.succ; $counter++; }}
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable %.append used where no 'self' is available
at <tmp>:1
------> 3er = 0; while ($counter < 5) { %.append7⏏5: %.tail.key.succ => %a.append.value.suc
expecting any of:
te…
finanalyst m:my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",so m/ { %h<one>}/,so m/<[A..B]>/} 10:22
evalable6 Awe: TrueTrue
Bee: TrueTrue
Mass: TrueFalse
10:22 lizmat left
finanalyst Trying to use answer for question on regexes 10:22
This seems wrong 10:23
Poohman m: my %a = a => 0;my $counter = 0; while ($counter < 5) { %a.append: %a.tail.key.succ => %a.append.value.succ; $counter++; }}
finanalyst Both truth values should be the same
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected closing bracket
at <tmp>:1
------> 3c => %a.append.value.succ; $counter++; }7⏏5}
Poohman m: my %a = a => 0;my $counter = 0; while ($counter < 5) { %a.append: %a.tail.key.succ => %a.append.value.succ; $counter++; } 10:24
camelia No such method 'value' for invocant of type 'Hash'. Did you mean 'values'?
in block <unit> at <tmp> line 1
Poohman m: my %a = a => 0;my $counter = 0; while ($counter < 5) { %a.append: %a.tail.key.succ => %a.tail.value.succ; $counter++; }
camelia ( no output )
Poohman m: my %a = a => 0;my $counter = 0; while ($counter < 5) { %a.append: %a.tail.key.succ => %a.tail.value.succ; $counter++; say %a}
camelia {a => 0, b => 1}
{a => 0, b => 1, c => 2}
{a => 0, b => 1, c => [2 2]}
{a => 0, b => 1, c => [2 2 2]}
{a => 0, b => 1, c => [2 2 2 2]}
Geth doc: 2cc97e3af5 | (JJ Merelo)++ | doc/Language/objects.pod6
Revises and closes #2469

After rephrasing by @uzluisf. Thanks!
10:27
synopsebot_ Link: doc.perl6.org/language/objects
10:27 dct joined, p6bannerbot sets mode: +v dct
Geth doc: e0ec41e713 | (JJ Merelo)++ | doc/Language/exceptions.pod6
Revises exception page

Closes #2368 after @uzluisf's work. Thanks!
10:33
synopsebot_ Link: doc.perl6.org/language/exceptions
10:36 Sound joined, p6bannerbot sets mode: +v Sound 10:47 molaf left 11:02 benjikun left 11:10 Poohmaan joined 11:11 p6bannerbot sets mode: +v Poohmaan 11:14 Poohman left
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",$_~~ m/ {%h<a>}/ , $_~~m/<[A..B]>/}; 11:19
camelia Awe: 「」「A」
Bee: 「」「B」
Mass: 「」False
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",($_~~ m/ {%h<a>}/).Str ,"::::::::", ($_~~m/<[A..B]>/).Str} 11:26
camelia Awe: ::::::::A
Bee: ::::::::B
Mass: ::::::::False
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",{%h<a>},($_~~ m/ {%h<a>}/).Str ,"::::::::", ($_~~m/<[A..B]>/).Str} 11:41
camelia Awe: -> ;; $_? is raw { #`(Block|61667760) ... }::::::::A
Bee: -> ;; $_? is raw { #`(Block|61674168) ... }::::::::B
Mass: -> ;; $_? is raw { #`(Block|61674456) ... }::::::::False
Poohmaan finanalyst : in your example you were trying to match with %h<one> instead on %h<a> 11:42
but even with %h<a>, the closure doesnt seem to give the right value 11:43
12:01 kurahaupo_ joined, p6bannerbot sets mode: +v kurahaupo_
timotimo if you want a closure to be interpreted as regex you will need to use <{ }> 12:02
otherwise it will just be run and the result discarded
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",{%h<a>},($_~~ m/ <{%h<a>}>/ ,"::::::::", ($_~~m/<[A..B]>/).Str}
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in parenthesized expression; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3a>}>/ ,"::::::::", ($_~~m/<[A..B]>/).Str7⏏5}
exp…
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",{%h<a>},($_~~ m/<{%h<a>}>/ ,"::::::::", ($_~~m/<[A..B]>/).Str} 12:03
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in parenthesized expression; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3a>}>/ ,"::::::::", ($_~~m/<[A..B]>/).Str7⏏5}
exp…
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",{%h<a>},$_~~ m/<{%h<a>}>/ ,"::::::::", ($_~~m/<[A..B]>/).Str}
camelia Awe: -> ;; $_? is raw { #`(Block|81749904) ... }「A」::::::::A
Bee: -> ;; $_? is raw { #`(Block|81763008) ... }「B」::::::::B
Mass: -> ;; $_? is raw { #`(Block|81763296) ... }False::::::::False
12:04 ufobat___ is now known as ufobat
Poohmaan timotimo : What did I botch up now? 12:05
timotimo {%h<a>}
that's a little code block
when you print it, it doesn't give you the value of %h<a>, because you're not calling it
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",$_~~ m/<{%h<a>}>/ ,"::::::::", ($_~~m/<[A..B]>/).Str}
camelia Awe: 「A」::::::::A
Bee: 「B」::::::::B
Mass: False::::::::False
Poohmaan ah that was just a say 12:06
thanks super
that was finanalyst´s question - hope he say it 12:07
m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",so m/<{%h<a>}>/ , so m/<[A..B]>/} 12:08
camelia Awe: TrueTrue
Bee: TrueTrue
Mass: FalseFalse
Poohmaan m:my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",so m/ <{ %h<one>}>/,so m/<[A..B]>/} 12:10
evalable6 (exit code 1) Cannot resolve caller INTERPOLATE_ASSERTION(Match: Any, Int, Int, Int, Int, …
Poohmaan, Full output: gist.github.com/c92927dcbfac8cb611...84ecdab61f
Poohmaan m:my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",so m/ <{ %h<a>}>/,so m/<[A..B]>/}
evalable6 Awe: TrueTrue
Bee: TrueTrue
Mass: FalseFalse
12:10 finanalyst left
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ",<{%h<a>}>,$_~~ m/<{%h<a>}>/ ,"::::::::", ($_~~m/<[A..B]>/).Str} 12:16
camelia Awe: {%h<a>}「A」::::::::A
Bee: {%h<a>}「B」::::::::B
Mass: {%h<a>}False::::::::False
Poohmaan m: my @s=<Awe Bee Mass>;my %h=%(:a("<[^A..B]>"),);for @s {say "$_: ","{%h<a>}",$_~~ m/<{%h<a>}>/ ,"::::::::", ($_~~m/<[A..B]>/).Str} 12:17
camelia Awe: <[^A..B]>「A」::::::::A
Bee: <[^A..B]>「B」::::::::B
Mass: <[^A..B]>False::::::::False
Poohmaan timotimo : do we have some documentation as to how stuff inside the closure can be made visible outside it without assigning it to a outside variable 12:19
for eg, using double quotes or <>
12:20 lichtkind joined
timotimo i'm not sure what you mean by that 12:20
12:21 p6bannerbot sets mode: +v lichtkind
timotimo the most common way to get values from inside to outside is the return value, or by throwing exceptions 12:21
Poohmaan but for return dont I need a sub - if I simply return from the closure it says cannot return from the toplevel 12:22
lichtkind i have an issue with zef, whil trying install math matrix on my other machine is says while installing skip building (no need to) and end fails that it could not build it even all tests were good
Poohmaan en.wikibooks.org/wiki/Perl_6_Progr...d_Closures
in this example it is shown how I cant declare a variable outside the closure and assign to it stuff from inside the closure and use it 12:23
but for example in the example you helped me with we could use it as a regex with <> 12:24
timotimo which example is that?
Poohmaan en.wikibooks.org/wiki/Perl_6_Progr...d_Closures
timotimo i see the page
but the page has many examples
Poohmaan i dont know how big Im alowed to copy and paste here
ok waitr
timotimo which heading is the one?
Poohmaan closures 12:25
my $block;
timotimo ah
in that case, was "cant" a typo?
Poohmaan ach -- ja it was 12:26
timotimo that makes sense
Poohmaan sorry
i was trying to do something like that for the example you helped me with 12:27
doenst make any sense now though 12:28
timotimo you can assign to variables that are declared in an outer scope, even if the code that runs the inner scope runs after the outer scope has been exited by control flow
Poohmaan guess I need to play around with a bit more to get the hang of it 12:31
thanks for the help
timotimo closures can be pretty weird :) 12:32
Poohmaan all these functional things make my head spin a bit- have been readin about Monads for years now - never get the feeling that I understand stuff like this fully 12:33
timotimo i feel like the key concept to understanding could be exactly when closure cloning and variable capturing happens, but i'm not sure i can express it clearly enough to make it click for others 12:39
12:42 sno left
Poohmaan ill try to read up a bit more - generally as well - that should help - then can ask about implementation specifics later 12:43
timotimo closure cloning is mostly about semantics, i'd claim 12:44
Poohmaan you mean the implementation matters a lot? 12:45
timotimo oh, no 12:46
i mean the implementation matters little, unless it's wrong :D
Poohmaan ok
any recommendations - stuff I can read - 12:47
timotimo oh, hmm 12:48
i'm not aware of any articles or tutorials that go into what i mean directly 12:49
maybe there's articles about closures the same way there's articles about monads 12:50
you know, with funny titles
"the seven habits of people who understand closures"
ufobat i've got a private project with a META6.json that defines the dependencies. One of them is OpenAPI::Model which is on cpan as version 1.0, right now on github there is already a 1.0.3 12:55
is there some META6.json or zef magic to install the latest version?
timotimo zef magic would be to give it the git url
i'm not sure which exact one it would be, but i assume using the "download as zip file" link from github would do the trick
sena_kun well, you can specify `foo:ver<1.0.1>` or something like that 12:56
but that's hardcoding exact version, of course
13:03 pecastro left
ufobat timotimo, can i do that in the meta6.json file as well? 13:04
sena_kun, that works for the perl6 source file but since i wont have the 1.0.3 on my box it would just fail :( 13:05
timotimo not entirely sure
sena_kun ufobat, you can write it like that in `depends` section and zef "should" get you specified version.
ufobat oh!
sena_kun "should", though, never tried it myself. :) 13:06
Xliff \o 13:08
13:08 pecastro joined
Xliff m: my $a = qq[\{abc:\{def\},ghi\}]; my $m = $a ~~ / 'abc:' '{' ~ '} (.+)?/; $m.gist.say 13:09
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in single quotes; couldn't find final "'" (corresponding starter was at line 1)
at <tmp>:1
------> 3~~ / 'abc:' '{' ~ '} (.+)?/; $m.gist.say7⏏5<EOL>
expecting …
13:09 p6bannerbot sets mode: +v pecastro
Xliff m: my $a = qq[\{abc:\{def\},ghi\}]; my $m = $a ~~ / 'abc:' '{' ~ '}' (.+)?/; $m.gist.say 13:09
camelia 「abc:{def},ghi}」
0 => 「def},ghi」
Xliff Can someone tell me why it matches "},ghi"? Is there a way to only get it to match 'def'? 13:10
ufobat it works in a way ;) zef is looking for version 1.0.3 but can not find it 13:12
13:12 andrzejku_ joined
ufobat sena_kun, could you make a release, please? :-p 13:12
13:13 p6bannerbot sets mode: +v andrzejku_
sena_kun ufobat, where? on CPAN - nope, on github - I think so, hmm, haven't I bumped version... 13:13
Xliff m: my $a = qq[\{abc:\{def\},ghi\}]; my $m = $a ~~ / 'abc:' '{' ~ '}' (<-[\}]>+)/; $m.gist.say
camelia 「abc:{def}」
0 => 「def」
Xliff Dur!
sena_kun ufobat, github.com/croservices/openapi-mod...6.json#L26 <- 1.0.3 here. o.0 13:14
I cannot CPAN though. :/ Local installation is a way then, I think. just `zef install .` in sources directory.
ufobat as far as i know you either need to put in on cpan or you need to tag it on github 13:15
i think zef understands github tags for being release versions
13:15 andrzejku left, andrzejku_ is now known as andrzejku 13:16 dct left
ufobat dont you have a cpan account, sena_kun ? 13:16
sena_kun I don't. it's usually jnthn is uploading, cro is this way too.
ufobat have a look here: github.com/Bailador/Bailador/releases as an example for tags on github 13:17
sena_kun thanks!
13:17 sno joined
ufobat it is just a regular git tag, so technically it shouldn't be a big thing 13:18
sena_kun ah, I thought there will be some git commands. :S
13:18 p6bannerbot sets mode: +v sno
sena_kun ufobat, github.com/croservices/openapi-mod.../tag/1.0.3 ? 13:21
ufobat thank you 13:22
sena_kun np 13:23
I hope it works now.
13:24 molaf joined
ufobat no :/ it doesn't 13:25
13:25 p6bannerbot sets mode: +v molaf
sena_kun gah 13:25
is it correct version not being installed or with updated one you have an error?
13:26 michelp27 joined, michelp27 left 13:27 Bucciarati left, avar left 13:28 Bucciarati joined, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar, p6bannerbot sets mode: +v Bucciarati, p6bannerbot sets mode: +v avar
ufobat it does not work because openapi::Model is not in the perl6 ecosystem meta.list file :( 13:29
github.com/perl6/ecosystem/blob/ma.../META.list
so there *is* only the cpan tarball
we could either add it, or ask jnthn to make a cpan release, i think 13:30
sena_kun d'oh
well, I think there might be reasons, so it's probably better to ping jnthn after weekends.
ufobat .tell jnthn could you please create a OpenAPI::Model release 1.0.3 on cpan, because the github tag doesnt work since the module is not part of perl6/ecosystem 13:32
yoleaux ufobat: I'll pass your message to jnthn.
Geth mu: cd5030a3da | (Tom Browder)++ (committed using GitHub Web editor) | misc/perl6advent-2018/schedule
advent in the past has had 25 entries
13:56
13:58 leont joined, p6bannerbot sets mode: +v leont 14:18 tmtvl joined 14:19 p6bannerbot sets mode: +v tmtvl
tbrowder___ \o #perl6 14:25
i'm trying to use Zoffix's Acme::Advent::Highlighter and getting a libperl*so not found on Debian 9 (i have libperl-dev packages installed). any ideas? 14:26
14:28 dct joined, p6bannerbot sets mode: +v dct
tbrowder___ oops, never mind, it's the NativeCall that need's updating or installing 14:30
leont I think I have this piece of code in a sufficiently working state that I can write an advent article about it 14:33
14:34 dct left
tbrowder___ oops again, NativeCall should be found as it's in core :( 14:35
Poohmaan sena_kun : Just saw the email from github notifications - that has been resolved 14:37
thanks a lot
I have another problem with the symbol - 'SSL_do_handshake' - seems like the same problem 14:38
can I make the changes here directly in my computer and check 14:39
I changed @genlib to @ssl-lib in the file in the zef store folder but i doesnt seem to help
sena_kun o/ 14:43
Xliff tbrowder___: Did you install that via zef? 14:44
14:45 jjido joined
sena_kun Poohmaan, well, with latest changes in github.com/jnthn/p6-io-socket-async-ssl/pull/39 I was no longer seeing `missing symbol` error. Though it now shows me `MoarVM panic`, which is pretty bad. 14:45
14:45 jjido is now known as Guest95574
sena_kun `SSL_do_handshake` should have been fixed in this PR too. 14:45
14:45 p6bannerbot sets mode: +v Guest95574
tbrowder___ Xliff: I had other problems with some Perl 5 modules--still working to get all prereqs (i recently upgraded from Deb 9 and not all Perl 5 modules have been updated) 14:46
Xliff tbrowder___: Oh, OKO. 14:47
s/OKO/OK/
tmtvl Speaking of the Advent Calendar, I believe my article is about as finished as it will ever be. Can anyone hook me up for the wordpress? 14:49
Poohmaan hmmm - I had done another zef install by forcing it. Ill uninstall and try it again 14:51
Xliff tbrowder___: Well, I installed Acme::Advent::Highlighter via zef and it looks to be working. Have something I can use to test it? 14:55
sena_kun Poohmaan, you can use `zef test .` in local directory of IO::Socket::Async::SSL module to check.
Poohmaan ok 14:56
ill try
14:57 [Sno] joined, p6bannerbot sets mode: +v [Sno] 14:59 Guest95574 is now known as jjido, sno left 15:00 hankache joined 15:01 p6bannerbot sets mode: +v hankache
hankache hello #perl6 15:02
moritz \o 15:07
tbrowder___ Xliff: i tried a couple of lines of markdown and am getting an error...i’m away from kn and will debug later 15:14
15:18 zakharyas joined, p6bannerbot sets mode: +v zakharyas 15:19 hankache_ joined, p6bannerbot sets mode: +v hankache_ 15:21 hankache left, molaf left
Geth doc: uzluisf++ created pull request #2471:
Add example to private method section
15:21
15:32 hankache_ left 15:45 ChoHag left
xinming Is it possible to make .perl method indent source? 15:59
so, it's easier for reading. 16:00
None, Will use json instead. 16:03
timotimo either json or Data::Dump::Tree 16:12
16:33 zacts joined, p6bannerbot sets mode: +v zacts
Kaiepi can pure methods throw exceptions or would they need to return a Failure? 16:35
timotimo they can throw exceptions, but that exception will be thrown at compile-time then 16:37
though tbh it could be that that'll just cause the CTE attempt to be aborted
moritz m: sub f() is pure { die "bleh!" }; say 1 + f();
camelia bleh!
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo m: sub explody-test($a) is pure { die "oh no" }; say "at run time"; say explody-test(1); say "test";
camelia at run time
oh no
in sub explody-test at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo m: sub explody-test($a) is pure { say "evaluated"; 1 }; say "at run time"; say explody-test(1); say "test";
camelia evaluated
at run time
1
test
timotimo ok, seems like an exception will just cause it to not CTE 16:38
m: sub explody-test($a) is pure { say "evaluated"; fail "oh no"; }; say "at run time"; say explody-test(1); say "test";
camelia evaluated
oh no
in sub explody-test at <tmp> line 1
in block <unit> at <tmp> line 1

at run time
evaluated
moritz I might even prefer a "pure function f will always die at line 2" at compile time
timotimo um, weird!
that's kind of funny, though 16:39
16:39 dalek left
moritz the optimizer calls it at compile time 16:40
timotimo i know
moritz and only substitutes the value if survived
16:40 dalek joined, ChanServ sets mode: +v dalek
timotimo it still outputs the failure message at compile time 16:40
that's probably not intentional is what i'm saying 16:41
16:41 p6bannerbot sets mode: +v dalek
Kaiepi m: sub negative-scream($a) { die 'AAAAAA' if $a < 0 }; say 'at run time'; negative-scream(-1); say 'test' 16:45
camelia at run time
AAAAAA
in sub negative-scream at <tmp> line 1
in block <unit> at <tmp> line 1
16:58 Sgeo left 16:59 jmerelo joined 17:00 p6bannerbot sets mode: +v jmerelo, Sgeo joined 17:01 p6bannerbot sets mode: +v Sgeo 17:02 zakharyas left
jmerelo squashable6: status 17:03
yoleaux 24 Nov 2018 06:14Z <holyghost> jmerelo: I proposed a file change in the schedule, I was removed the time before, I will work on a Math-Stat advent, the name is "a sample of statistics"
squashable6 jmerelo, ⚠🍕 Next SQUASHathon in 6 days and ≈16 hours (2018-12-03 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
yoleaux 24 Nov 2018 06:15Z <holyghost> jmerelo: I'll work on it this weekend and depose on github for at Dec 11 2018
17:04 graphene joined 17:05 p6bannerbot sets mode: +v graphene
jmerelo .tell holyghost nobody removed you from the schedule, you were never actually there. If you want to write something, please use some repo to publish and we'll review it before accepting. 17:05
yoleaux jmerelo: I'll pass your message to holyghost.
jmerelo So
Nothing has been announced for next Squashathon
If it's up to me, I'll assign it again to the documentation.
.tell AlexDaniel any plans for next Squashathon?
yoleaux jmerelo: I'll pass your message to AlexDaniel.
Geth doc: a262c2c83b | (Luis F. Uceta)++ | doc/Language/objects.pod6
Add private method example

Also fix whitespace and reflow.
17:06
synopsebot_ Link: doc.perl6.org/language/objects
doc: 9154c02059 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/objects.pod6
Merge pull request #2471 from uzluisf/master

Add example to private method section
tbrowder___ anyone getting good results with Acme::Advent::Highlighter? 17:10
www.irccloud.com/pastebin/OEgwXDKf/ 17:11
17:12 sjoshi left
tbrowder___ afkb& 17:12
17:17 graphene left
jmerelo tbrowder___: error 422. First time ever... 17:18
tbrowder___: I haven't used it this year yet... 17:19
17:19 graphene joined 17:20 p6bannerbot sets mode: +v graphene 17:38 lucasb joined, p6bannerbot sets mode: +v lucasb 17:42 avar left 17:43 Bucciarati left 17:45 frangdlt17 joined 17:46 frangdlt17 left
jmerelo So 17:49
Well. 17:50
17:53 Poohmaan left, Poohmaan joined 17:54 p6bannerbot sets mode: +v Poohmaan, |oLa| joined 17:55 p6bannerbot sets mode: +v |oLa| 17:58 zacts left 18:00 Bucciarati joined, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 18:01 p6bannerbot sets mode: +v Bucciarati, p6bannerbot sets mode: +v avar, |oLa| left
yoleaux AlexDaniel: check if timotimo wrote a spectest for that thing that we don't even remember now 18:18
18:23 leont left 18:34 |oLa| joined, |oLa| left 18:50 |oLa| joined, |oLa| left
Poohmaan hello all 18:59
19:00 graphene left
SmokeMachine m: $_ = 42; my %a := :{.self => .is-prime} # is that expected? 19:00
camelia Type check failed in binding; expected Associative but got Block (-> ;; $_? is raw { #`...)
in block <unit> at <tmp> line 1
SmokeMachine :{} shouldn't always be a hash? 19:01
19:01 graphene joined 19:02 p6bannerbot sets mode: +v graphene
Poohmaan I had some problem with the module IO::Socket:Async:SSL and it was resolved by sena_kun and jnthn, now I have some problems with certificates when I try to use Cro 19:02
Died with the exception:
Server certificate verification failed: unable to get local issuer certificate
in block at C:\rakudo\share\perl6\site\sources\9185AF0B330E61F6756B436B9695D044E0F403B7 (IO::Socket::Async::SSL) line 322
dont know if some issuer certificates need to be added etc 19:03
sena_kun Poohmaan, are you using a sample project created with `cro stub http foo foo`? 19:04
Poohmaan sena_kun : no 19:05
sena_kun Poohmaan, does sample project work for you?
Poohmaan sena_kun: I just used a example from the Cro site 19:06
let me check this
19:06 avar left 19:07 uzl joined, p6bannerbot sets mode: +v uzl
Poohmaan sens_kun : Thanks for pointing out - just looked at the examples - I think that was what I was looking for 19:07
sena_kun also, I think it is advices to use a in-between double proxy, e.g. nginx. you can set up TLS with e.g. LetsEncrypt there and point it to cro server working in plain http mode. 19:08
*adviced
so it's like: client <-> nginx <-> cro.
timotimo though of course it's nice to have cro itself do http/2 so that it can do push promises and such 19:10
if you even use that at all 19:11
sena_kun yes
19:11 zakharyas joined
sena_kun there is still no nice tutorial on how to get things from scratch on e.g. some VPS rented. 19:11
timotimo if you don't use the advanced features, i suppose it's totally fine to go with http/1.1 instead 19:12
19:12 p6bannerbot sets mode: +v zakharyas
uzl weekly: news.ycombinator.com/item?id=18522555 19:12
notable6 uzl, Noted!
19:14 uzl left, jjido left 19:15 jjido joined, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar, jjido is now known as Guest16447, p6bannerbot sets mode: +v Guest16447, p6bannerbot sets mode: +v avar 19:26 hamhu3 joined 19:27 p6bannerbot sets mode: +v hamhu3 19:28 hamhu3_ left
tbrowder___ back again. can someone please see if Acme::Advent::Highlighter works for you? it’s getting very close to 1 dec! 19:40
sena_kun tbrowder___, I have some free time, but you need to write some instructions, because I don't have clues on what I have to do. :) 19:41
19:43 ChoHag joined 19:44 p6bannerbot sets mode: +v ChoHag
tbrowder___ first, write a test markdown file. then use zef to install module Acme::Advent::Highlighter 19:44
i
sena_kun doing `zef install Acme::Advent::Highlighter`, let's see what markdown do I have... any will do? 19:45
19:46 abraxxa joined
tbrowder___ i think any simple markdown should work. 19:46
19:46 p6bannerbot sets mode: +v abraxxa
sena_kun >Could not find HTTP::UserAgent at line 3 in: 19:47
tbrowder___ just a heading and a bit of text
sena_kun huh
installing UserAgent then...
eco: Pastebin
buggable sena_kun, Found 4 results: GlotIO, Pastebin::Gist, Pastebin::Shadowcat, App::Nopaste. See modules.perl6.org/s/Pastebin
sena_kun eco: Pastebin::Gist 19:48
buggable sena_kun, Pastebin::Gist 'Use gist.github.com/ as a pastebin': modules.perl6.org/dist/Pastebin::Gi...fix%20Znet
sena_kun >Could not find URI at line 3 in: 19:49
um, I wonder if something is really broken on my box. o.o
installing... 19:51
jmerelo tbrowder___: I'll have to test it... 19:52
BTW, did someone give permissions to whoever does not have it in Wordpress? I can't do it...
19:52 jmerelo left
sena_kun tbrowder___, I have `Acme::Advent::Highlighter` installed now. 19:59
what's next?
20:03 zakharyas left
sena_kun tbrowder___, I am seeing `Error 422: 422 Unprocessable Entity`. :S 20:05
tmtvl I have used the Highlighter to create an HTML file without issues. 20:12
Xliff If I have an object with an array attribute, will it take to make the object iteratable over that attribute?
Will something like: "class C does Iterator { has @.list handles <pull-one> }" work? 20:13
sena_kun I do not really understand the question, sorry. are you proposing/thinking about some design or asking `how to do X`? 20:15
I think there are means to do what you wrote, it is even somewhat described in the docs with examples. and you can incapsulate it into a trait too. but that'd be a custom trait, as far as I know, something like `$.a foo bar` takes a slang to actually parse `foo` part. 20:18
Xliff sena_kun: Well, given that snippet. I would be able to do: "my $c = C.new(list => <a b c>); .say for $c" and get back "a\nb\nc" 20:19
I'm hoping it is something like that.
m: my $a = <a b :C(cc)>; say $a.gist 20:20
camelia (a b :C(cc))
Xliff m: my $a = <a b :C(cc)>; say $a.chars
camelia 10
Xliff m: my $a = <a b :C(cc)>; say $a.elems
camelia 3
Xliff m: my $a = <a b :C(cc)>; say $a<C> 20:21
camelia Type List does not support associative indexing.
in block <unit> at <tmp> line 1
Xliff m: my $a = <a b :C(cc)>; say $a[3]<C>
camelia Nil
Xliff m: my $a = <a b :C(cc)>; say $a[2]<C>
camelia Type Str does not support associative indexing.
in block <unit> at <tmp> line 1
Xliff m: my $a = <a b :C(cc)>; say $a[2]
camelia :C(cc)
20:22 tmtvl left 20:23 tmtvl joined, p6bannerbot sets mode: +v tmtvl
Xliff m: my $a = «a b :C(cc)»; say $a[2] 20:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
cc used at line 1. Did you mean 'lc', 'fc', 'tc', 'uc'?
Xliff m: my $a = «a b :C('cc')»; say $a[2]
camelia C => cc
Xliff m: my $a = «a b :C('cc')»; say $a.gist
camelia (a b C => cc)
sena_kun m: class A does Iterable { has @.a; method iterator { @!a.iterator; } }; my $a := A.new(a => <a b c>); .say for $a; 20:25
camelia a
b
c
sena_kun m: say 1; say 2; 20:26
camelia 1
2
lichtkind has someone clues about zef? 20:28
Xliff sena_kun++ # Thanks! 20:29
20:37 abraxxa left
Xliff m: my $i; say ++$i 20:40
camelia 1
Xliff m: my $i; say $i++
camelia 0
20:42 leont joined 20:43 Guest16447 left, p6bannerbot sets mode: +v leont, jjido joined 20:44 jjido is now known as Guest97235, p6bannerbot sets mode: +v Guest97235 20:46 jast joined 20:47 p6bannerbot sets mode: +v jast
buggable New CPAN upload: OpenAPI-Model-1.0.3.tar.gz by JNTHN modules.perl6.org/dist/OpenAPI::Model:cpan:JNTHN 21:08
21:16 beeman left
buggable New CPAN upload: IO-Socket-Async-SSL-0.7.1.tar.gz by JNTHN modules.perl6.org/dist/IO::Socket::...cpan:JNTHN 21:18
21:19 beeman joined, p6bannerbot sets mode: +v beeman 21:22 rindolf left 21:23 rindolf joined 21:24 p6bannerbot sets mode: +v rindolf
Geth mu: e6540e2273 | (Carl Mäsak)++ (committed using GitHub Web editor) | misc/perl6advent-2018/schedule
add myself to the schedule

I might do more slots, but these are the two I feel I can promise right now.
21:25
21:26 molaf joined 21:27 p6bannerbot sets mode: +v molaf
tbrowder___ tmtvl: have you used the latest version (with the bin renamed correctly)? 21:45
21:56 coet[work] joined, p6bannerbot sets mode: +v coet[work] 22:03 pfn18 joined 22:04 pfn18 left 22:14 Sgeo_ joined, kent\n left 22:15 p6bannerbot sets mode: +v Sgeo_, kent\n joined, p6bannerbot sets mode: +v kent\n 22:16 Sgeo left
tbrowder___ sena_kun: i get the same error 22:24
22:25 Guest97235 is now known as jjido 22:45 benjikun joined 22:46 p6bannerbot sets mode: +v benjikun 22:49 robertle left 22:52 jjido left
timotimo any reports up yet on the lpw? :) 23:00
www.slideshare.net/SimonProctor8/2...-for-perl6 - scimon's slides for "24 uses for perl6", i.e. the one with them modules 23:01
23:17 jast left
rindolf timotimo: nice one 23:17
tmtvl tbrowder__: a quick look at the repo tells me the module hasn't been updated in a year, so I do believe I am using the latest one. 23:18
timotimo i'm glad a module i started got into the list :)
sena_kun tbrowder___, that is odd. :S As another matter, I think we can do it manually. As I get it, algorithm it does is like: upload a gist on github and get rendered html. Also, we can ask someone who has a working script for a render. 23:24
s/another matter/workaround/ 23:25
s/it does is like/does it like/ 23:27
tbrowder___ sena_kun: that is what i did last year using zoffix’s original code. i would like to use his module, but i don’t have long to wait! weird that we two get the same error but tmtvl gets no error.
23:27 kurahaupo_ left
tbrowder___ jmerelo: any luck with Acme::Advent::Highlighter? 23:28
23:28 kurahaupo_ joined
sena_kun that is indeed weird. well, I think whatever floats the boat will do. To my embarrassing, I don't have a word of my article written yet. :S 23:28
23:29 p6bannerbot sets mode: +v kurahaupo_
tmtvl I am still running on rakudo 2018.10, I'll see whether it works after an update. 23:30
23:30 coet[work] is now known as coet
tbrowder___ sena_kun: i just have some scattered words and such... 23:31
23:32 Bucciarati left, avar left
tbrowder___ but i have fitful sleep and dream about it! 23:32
sena_kun has to write it up soon 23:33
23:33 kurahaupo_ left 23:35 avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar, Bucciarati joined, graphene left, kurahaupo_ joined 23:36 p6bannerbot sets mode: +v avar, p6bannerbot sets mode: +v Bucciarati, p6bannerbot sets mode: +v kurahaupo_, graphene joined 23:37 p6bannerbot sets mode: +v graphene
SmokeMachine that would be great if you have a list of pairs that the keys aren't Str that call .Hash on that not stringify the keys... 23:40
timotimo mhh, there'd have to be a separate method for that, i'd say 23:41
.ObjectHash
tobs tbrowder___: I've had success highlighting Perl 6 in markdown via perl 5's Text::VimColor. We could use that should worse come to worse
tbrowder___ tobs: sounds like a plan! 23:45
tmtvl I am running on linux and passing my api token as a command line option. If those apply to you guys as well then I can't think what the problem could be.
23:48 pecastro left
timotimo may be a bad idea to put sensible information in commandline arguments, since on linux systems other users can read those via top and /proc and such 23:49
tmtvl Yes, I wouldn't do that with sensitive information. A Github api token that I am going to revoke once my article has been posted doesn't seem very important, especially one that only allows creating gists. 23:54
timotimo OK :) 23:55