»ö« 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.
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
SmokeMachine timotimo: thank you again! I’ll continue it tomorrow 03:26
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
timotimo .a > $++ 03:29
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
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!
loops /quit 06:01
Oops.. goodnight :-)
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
yoleaux AlexDaniel: nevermind the next reminder 08:33
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
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
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
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
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
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
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 <>
timotimo i'm not sure what you mean by that 12:20
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
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
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
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 …
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
ufobat sena_kun, could you make a release, please? :-p 13:12
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
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!
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
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.
ufobat no :/ it doesn't 13:25
sena_kun gah 13:25
is it correct version not being installed or with updated one you have an error?
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
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
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
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
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
sena_kun `SSL_do_handshake` should have been fixed in this PR too. 14:45
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
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
Geth doc: uzluisf++ created pull request #2471:
Add example to private method section
15:21
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
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
moritz the optimizer calls it at compile time 16:40
timotimo i know
moritz and only substitutes the value if survived
timotimo it still outputs the failure message at compile time 16:40
that's probably not intentional is what i'm saying 16:41
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
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
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
tbrowder___ afkb& 17:12
jmerelo tbrowder___: error 422. First time ever... 17:18
tbrowder___: I haven't used it this year yet... 17:19
jmerelo So 17:49
Well. 17:50
yoleaux AlexDaniel: check if timotimo wrote a spectest for that thing that we don't even remember now 18:18
Poohmaan hello all 18:59
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
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
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
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
uzl weekly: news.ycombinator.com/item?id=18522555 19:12
notable6 uzl, Noted!
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
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
tbrowder___ i think any simple markdown should work. 19:46
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...
sena_kun tbrowder___, I have `Acme::Advent::Highlighter` installed now. 19:59
what's next?
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)
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
Xliff m: my $i; say ++$i 20:40
camelia 1
Xliff m: my $i; say $i++
camelia 0
buggable New CPAN upload: OpenAPI-Model-1.0.3.tar.gz by JNTHN modules.perl6.org/dist/OpenAPI::Model:cpan:JNTHN 21:08
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
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
tbrowder___ tmtvl: have you used the latest version (with the bin renamed correctly)? 21:45
tbrowder___ sena_kun: i get the same error 22:24
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
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.
tbrowder___ jmerelo: any luck with Acme::Advent::Highlighter? 23:28
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
tmtvl I am still running on rakudo 2018.10, I'll see whether it works after an update. 23:30
tbrowder___ sena_kun: i just have some scattered words and such... 23:31
tbrowder___ but i have fitful sleep and dream about it! 23:32
sena_kun has to write it up soon 23:33
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.
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