🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:07 finanalyst left 00:14 squashable6 left 00:15 johnjohn101 joined, squashable6 joined 00:16 pmurias left 00:50 sena_kun left 01:17 marcusr left 01:19 marcusr joined 01:41 squashable6 left 01:43 squashable6 joined 01:53 kalkin-- joined 01:57 kalkin- left 02:03 xinming left, xinming joined 02:05 wildtrees left 02:10 mahmudov left 02:27 leont left 03:27 releasable6 left, bloatable6 left, nativecallable6 left, squashable6 left, statisfiable6 left, quotable6 left, unicodable6 left, committable6 left, notable6 left, bisectable6 left, coverable6 left, reportable6 left, greppable6 left, benchable6 left, sourceable6 left, shareable6 left 03:28 nativecallable6 joined, bisectable6 joined, bloatable6 joined, reportable6 joined, notable6 joined, statisfiable6 joined, releasable6 joined, committable6 joined, quotable6 joined 03:29 squashable6 joined, shareable6 joined, benchable6 joined 03:30 sourceable6 joined, greppable6 joined, coverable6 joined, unicodable6 joined 04:21 johnjohn101 left 04:47 guifa2 left 04:58 guifa2 joined 05:09 guifa2 left 05:11 guifa2 joined 05:19 guifa2 left 06:14 ZzZombo_ joined 06:17 ZzZombo left, ZzZombo_ is now known as ZzZombo 06:37 ZzZombo_ joined 06:41 ZzZombo left, ZzZombo_ is now known as ZzZombo 06:52 AlexDani` left
kalkin-- tbrowder: yoou mean this: www.youtube.com/watch?v=Jes3bD6P0To? 07:06
07:10 kalkin-- is now known as kalkin- 07:12 stoned75 joined
kalkin- tbrowder: pod parser from scratch might be a good idea, because it's much more approachable for me, than understanding the whole Grammar.nqp 07:15
07:15 mahmudov joined 07:26 stoned75 left
kalkin- tbrowder: after watching the tree-sitter video, I'm not sure if we can use a Perl6 Grammar with tree-sitter like approach. I need more details on what AlexDaniel meant, I couldn't find anything in the history 07:52
08:23 sauvin joined 08:26 wamba joined 08:27 kensanata joined 08:31 wamba left 08:33 daemonguy joined
AlexDaniel` hmm? 08:42
what did I say? :) I can probably explain what I meant 08:43
kalkin- > tbrowder: kalkin: did you see reference to the "tree-sitter" streaming gramar parser mentioned i think by AlexDaniel a few weeks ago? 08:55
context is pod parsing
currently it's pretty buggy and there is the idea flowing in the room, to separate it from Grammar.nqp 08:56
08:57 daemonguy left 09:06 rindolf joined 09:12 vividsnow left 09:15 leont joined 09:20 leont left 09:23 rindolf left 09:30 vividsnow joined 09:33 rindolf joined 10:20 kalkin- left, kalkin- joined 10:32 dogbert17 left 10:33 dogbert17 joined 10:40 pilne left 10:47 mid_laptop joined 11:11 kensanata left
lizmat and another Rakudo Weekly News hits the Net: rakudoweekly.blog/2019/12/24/2019-...-holidays/ 11:13
11:41 pat_js left 11:49 kensanata joined
cpan-raku New module released to CPAN! App::Mi6 (0.3.0) by 03SKAJI 12:04
12:27 sena_kun joined 12:48 hacktor left 12:59 chloekek joined 13:01 rindolf left
chloekek Spreadsheet function: sub löb(@fs) { my @xs = @fs.map({ &^f(@xs) }).lazy; @xs; } 13:02
p6: sub löb(@fs) { my @xs = @fs.map({ &^f(@xs) }).lazy; @xs; }; say löb([ -> @cells { 1 }, -> @cells { 2 }, -> @cells { @cells[0] + @cells[1] } ]).eager
camelia [1 2 3]
13:02 hacktor joined
chloekek The Excel equivalent would be A1=1, B1=2, C1=SUM(A1, B1) 13:03
13:04 rindolf joined
chloekek Shorter version: 13:06
sub löb(*@f) { my @r = @f.map({ $_(@r) }).lazy }; .say for löb({ 1 }, { 2 }, { [+] @^s[0, 1] })
evalable6 1
2
3
chloekek It suddenly occurred to me that this is a nice technique for implementing type checking of programming languages with both return type inference and mutually recursive functions. 13:13
Just write @definitions Z löb(@definitions.map(&type-check)) to pair each definition with its type. 13:14
13:19 AlexDani` joined
cpan-raku New module released to CPAN! App::Mi6 (0.3.1) by 03SKAJI 13:21
13:23 sena_kun left 13:37 sena_kun joined 13:42 kensanata left
tbrowder kalkin: how would you approach the rewrite? i'm thinking first about the start/end points as a grouping of similar behavior, that is, the several, quite different ways we jump into pod and then jump out again as independent chunks. then refactor and refit. 13:48
14:07 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined 14:26 vividsnow left 14:28 vividsnow joined 14:34 xinming left 14:35 xinming joined 14:38 vividsnow left, vividsnow joined 14:40 xinming left 14:41 xinming joined 14:48 vividsnow left 14:49 vividsnow joined
cpan-raku New module released to CPAN! Math::Libgsl (0.0.2) by 03FRITH 14:55
14:57 chloekek left 15:00 cpan-raku left 15:03 cpan-raku joined, cpan-raku left, cpan-raku joined
kalkin- tbrowder: I thought I would write a grammar, which parses POD and _only_ POD. So in Grammar.nqp you can just find a piece of pod and call PodGrammar.parse($stuff, actions=>PodActions.new); 15:15
15:16 leont joined
kalkin- The grammar wouldn't be responsible in case of leading/trailing POD for attaching it to a Code object, because then it needs to be able to parse Perl6 15:16
but may be my approach is to naïve
15:22 sena_kun left, ZzZombo left 15:23 ZzZombo joined 15:37 sena_kun joined 15:51 rindolf left 15:56 rindolf joined 16:07 mid_laptop left 16:09 guifa2 joined
tbrowder give it a shot. will you put it where you can take PRs? 16:14
kalkin- I will inform you once I have some code 16:22
I actually wanted to rewrite, cleanup & document my Git::Plumbing module. While documenting it I ended up writing my own POD Renderer and this lead me to finding a bunch of weird stuff in Pod :D 16:23
But the Pod::Renderer ( a fork of Pod::To::Pager, the author seems to abandoned it, I tried conctacting him), is coming along very well. Because I'm using it while writing POD 16:25
Long story short, once I finish up with Git::Plumbing and release it, I will start working on a Pod Grammar.
16:43 dogbert2 joined 16:46 dogbert17 left 16:54 guifa2 left 17:02 guifa2 joined 17:06 guifa2 left 17:19 AlexDaniel left 17:23 sena_kun left 17:36 tejr left 17:38 sena_kun joined 17:39 tejr joined 17:51 vividsnow left 17:56 vividsnow joined 18:05 vividsnow left 18:07 vividsnow joined 18:09 finanalyst joined 18:16 vividsnow left, vividsnow joined 18:18 cpan-raku left 18:19 cpan-raku joined, cpan-raku left, cpan-raku joined 18:34 wildtrees joined 18:55 johnjohn101 joined 19:05 chloekek joined 19:23 sena_kun left 19:38 sena_kun joined 20:06 squashable6 left 20:07 squashable6 joined
chloekek How does Inline::Perl5 cope with Raku threads? 20:12
I want to deploy a Cro::HTTP app that uses it but I’m scared my server gets owned due to a data race.
chloekek should stop using Inline::Perl5 just for Digest::SHA.
Grinnz perhaps you could nativecall to github.com/libtom/libtomcrypt ? 20:15
chloekek I already have a dependency on OpenSSL through Cro::HTTP so I’d probably use that. 20:16
20:16 guifa2 joined 20:21 guifa2 left
chloekek Something funny happened with Cro::HTTP 0.7.6. :) 20:30
It has 0 dependencies and the tag list is ["Choose me!"]. 20:31
All other versions are more descriptive.
Ah, license, not tag list.
sena_kun chloekek: that was an unhappy accident. :S 20:42
chloekek Oh. :( 20:51
21:22 sena_kun left 21:29 rindolf left 21:37 sena_kun joined 21:44 wamba joined 21:45 guifa2 joined
chloekek Why do functions like encode take a string with the encoding name, rather than some object that does encoding? 21:52
22:18 wamba left
guifa2 chloekek: it's probably on a principle of keeping things simpler for the user. Internally it does a look up based on the encoding name 22:35
tellable6 2019-12-22T16:21:05Z #raku <kalkin-> guifa looking at Grammar.nqp there're two methods for attaching leading/trailing pod. I'm not sure why it's implemented this way
2019-12-22T16:25:02Z #raku <kalkin-> guifa never mind, it's for attaching it the actual code parts
guifa2 But if you notice the way that Str.encode() is defined, it's a multi, so it could be easily later implemented with encode(Str:D $name) or encode(Callable:D &conversion-code) or encode(EncoderRole $encoder) 22:37
[Coke] (string) wonder if we should move that to an enum
guifa2 (you could actually augment it to do that if you wanted)
22:45 wildtrees_ joined 22:49 wildtrees left 23:04 wildtrees_ left
guifa2 [Coke]: the problem is that enums can't be extended at runtime, so actually Str works best. Modules can call Encoding::Registry.register() to register names and allomorphs (e.g. 'utf8', 'UTF-8', 'utf-8'), and then when you call .encode<foo>, it uses Encoding::Registry.find('foo') to grab the encoder 23:13
23:18 vividsnow left 23:19 Tirifto joined, chloekek left
Tirifto Merry Christmas! (Unless I'm late and the whole community has moved on to celebrating Diwali now. :)) 23:20
guifa2 It's not even the 25th yet for some of us :-) 23:21
23:22 sena_kun left
sjn Yeah, merry christmas! 23:23
23:24 vividsnow joined
Tirifto Ah, perhaps my international information is a bit tangled. Over here (Czech Republic) we regard 24–26th of December as Christmas, but I'm not sure how well that carries over to elsewhere. xP 23:26
23:31 pilne joined
guifa2 is an old fashioned fogie and does Dec 25 to Jan 6th :-) 23:32
Plus despite being in the northern hemisphere, it's was a solid 22 C out today =\
23:34 vividsnow left, vividsnow joined
guifa2 .say for "Merry Christmas", "Feliz Navidad", "Felices fiestes navadieges"  …  "Bom Natal" 23:34
23:37 sena_kun joined, holyghost left 23:38 holyghost joined 23:48 guifa2 left
xkr47 merry christmas! 23:54
I typed the first sentence into GPT-2 @ talktotransformer.com/ and this is what came out: "When I discovered the Raku language on wikipedia, I finally was converted. Reading the Raku project's source code, I was amazed at how comprehensive and rich it was. It's quite nice to be able to leverage the latest technologies, to develop fantastic new apps with them, and it's fun to interact with so many other... 23:55
... languages. Raku is a simple, easy to use language with powerful functionalities. Being able to use it in combination with CoffeeScript, HTML and CSS made the whole process much faster and also much more enjoyable."