🦋 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:00 xelxebar left 00:01 xelxebar joined 00:02 markong left
elcaro guifa: the WordNet DB has words grouped by adj, adv, noun, verb. 00:12
it's also available in other languages, but given the size of the DB, you might be better off creating a 'random-name' web-service than a module 00:13
i use the english db on my blog: 0racle.info/ if you have JS enable, I use eventsource to change the header every few seconds to a random "Adjective Noun" 00:14
00:15 sena_kun joined
timotimo but does snow fall in the winter? 00:15
00:16 Altai-man_ left 00:31 Petr37 joined 00:33 vike left
holyghost libc based dictionary is in racul, so we should access it from it's scheme API 00:42
I also added support for cc65 based systems e.g. the NES
these things have a small memory footprint though
s/should/can or might 00:43
00:48 bocaneri left 00:52 dudz left, dudzHat joined, Grinnz left 00:55 Grinnz joined 00:57 guifa2 joined 01:14 Petr37 left 01:17 Altai-man_ joined 01:19 sena_kun left 01:22 Petr37 joined 01:27 Petr37 left 01:30 bocaneri joined 01:42 zacts joined 01:47 kastel joined 01:48 kastel left 01:57 molaf left 02:09 wtwt5237 joined, molaf joined 02:10 wtwt5237 left 02:33 zacts left 02:39 xelxebar left 02:40 xelxebar joined 02:41 xinming left 02:44 xinming joined 02:50 squashable6 left 02:51 vike joined 02:53 squashable6 joined 03:05 vike left 03:17 sena_kun joined 03:20 Altai-man_ left 03:26 lucasb left 03:29 xinming left 03:30 xinming joined 04:19 Altai-man_ joined 04:21 sena_kun left
holyghost ok, got 340 lines done in 17 hours, not too bad. 04:24
holyghost is oing to bed
04:34 gnufr33dom joined 04:55 afresh1 joined 05:03 sena_kun joined 05:05 Altai-man_ left 05:41 Altai-man_ joined 05:43 sena_kun left 05:59 molaf left 06:00 ufobat joined 06:16 sena_kun joined 06:18 Altai-man_ left 06:24 Altai-man_ joined 06:26 sena_kun left 06:27 andrzejku joined 06:29 rindolf joined 06:57 andrzejku left 06:58 sena_kun joined 06:59 Altai-man_ left 07:08 gnufr33dom left 07:15 leont joined 07:16 pecastro joined 07:19 andrzejku joined 07:25 Altai-man_ joined 07:27 sena_kun left 07:37 dakkar joined 07:49 xinming left, xinming joined 07:58 sena_kun joined 08:00 Altai-man_ left
Geth advent: ab5tract++ created pull request #49:
Claim RFC#43
08:13 oddp joined
Geth advent: bd564240f2 | ab5tract++ (committed using GitHub Web editor) | 20th/README.md
Claim RFC#43
advent: 173a19a61f | Altai-man++ (committed using GitHub Web editor) | 20th/README.md
Merge pull request #49 from ab5tract/master

Claim RFC#43
08:24 Altai-man_ joined 08:26 sena_kun left 08:41 ab5tract joined
ab5tract m: say my $⍺ = "alpha" 08:42
camelia 5===SORRY!5=== Error while compiling <tmp>
Name must begin with alphabetic character
at <tmp>:1
------> 3say my $7⏏5⍺ = "alpha"
expecting any of:
infix stopper
ab5tract Ah, that's a much nicer error than what I have locally..
m: my $⍺ = "alpha"
camelia 5===SORRY!5=== Error while compiling <tmp>
Name must begin with alphabetic character
at <tmp>:1
------> 3my $7⏏5⍺ = "alpha"
expecting any of:
infix stopper
ab5tract that's a bit of a bummer :( 08:43
moritz m: my \α = 'alpha'; say α 08:44
camelia alpha
ab5tract moritz that's super curious. My original attempt was to do exactly that! 08:45
moritz ab5tract: I took a different alpha character 08:46
ab5tract ahh
moritz I used the greek letter
ab5tract I wonder if we might use NFG matching on this or at least special case the APL stuff :/
because wouldn't they fit in under the noun rule that we use to sort out which ideograms to allow in names? 08:47
or is this noun rule something I'm horribly misremembering/misapplying/misunderstanding/something that never existed
moritz there are two different things 08:48
what's a noun, and what's allowed in an identifier
m: sub term:<⍺>() { 42 }; say ⍺
camelia 42
08:48 xinming left
moritz this works. You can define terms / nouns with non-identifiers 08:48
but for identifiers, we stick to Unicode category :Letter iirc, and the APL symbols don't fall into that 08:49
ab5tract fair
This opens the door to creating a routine that references the `@_` of the parent scope and indexes for `@_[1]` (in the case of `⍺`) 08:50
better yet, as a macro 08:51
08:52 JJMerelo joined
ab5tract Thanks for the clarification once again, moritz! 08:52
JJMerelo And thanks for submitting the second entry for the 20th aniversary calendar, ab5tract
ab5tract While you are here, I don't suppose you have an answer as to whether an "instance meta-op" like `Z+` can be passed by reference?
08:53 xinming joined, andrew_ joined
ab5tract JJMerelo it's a great idea! I wonder if the 20 blog posts before 1 August might cause a bit of a strain on the overall quality of the posts (in the case not enough people join and the ones involve have to sprint) 08:53
JJMerelo ab5tract well, we'll have to do with what we've got. If they arrive later, no big deal. 08:54
moritz m: say &[Z+] 08:55
camelia -> +lol { #`(Block|57453384) ... }
moritz m: my &blah = &[Z+]; blah (1, 2, 3, 4), (10, 10, 10, 10) 08:56
camelia ( no output )
moritz m: my &blah = &[Z+]; say blah (1, 2, 3, 4), (10, 10, 10, 10)
camelia (11 12 13 14)
ab5tract wwow, I was really overcomplicating that before :/ 08:57
m: &Z{ &<+> } .say
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Z used at line 1
ab5tract yeah I was doing dumb stuff like that
09:16 Black_Ribbon left
lizmat clickbaits rakudoweekly.blog/2020/07/27/2020-...t-on-time/ 09:18
[ptc] lizmat++ 09:19
09:25 froggyuj joined 09:26 froggyuj left
ab5tract m: sub term:<⍺> { CALLER::<@args>[0] }; sub foo(*@args) { say ⍺ }; foo(5,6) 09:27
camelia Cannot access '@args' through CALLER, because it is not declared as dynamic
in sub term:<⍺> at <tmp> line 1
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
ab5tract ahh
is this a use case for a dynamic variable?
m: sub term:<⍺> { CALLER::<$*ARGS>[0] }; sub foo(*@args) { my $*ARGS = @args; say ⍺ }; foo(5,6) 09:30
camelia 5
ab5tract indeed it is :) . not sure if i've ever encountered a case where I was creating a dynamic variable that I was certain was required to be a dynamic variable. Kind of cool 09:31
I think I will put off this layer of refactoring until after a RakuAST lands though. 09:32
moritz I classical use case for dynamic variable is this:
you want to to create a syntax like 09:33
my $x = routes { get '/', { ... }; post '/logout', { ... } };
then sub routes sets up my $ROUTES-REPOSITORY = ...;
and sub get and sub post look up $*ROUTES-REPOSITORY and add the current route to it 09:34
(sorry, should be my $*ROUTES-REPOSITORY in the declaration)
09:34 markong joined
ab5tract gotcha 09:38
I think I've only ever explored them in a "I wonder if they apply here" kind of way. The above might be approach makes a lot of sense. 09:39
09:44 MasterDuke joined
lizmat ab5tract: if you get how $*OUT and $*ERR work in the core, you'd get a better appreciation for dynamic variables :-) 09:45
ab5tract I'm sure I would :)
I've got a sense of how to use the core dynamic variables and why they are the way they are
In this case the compiler told me I had to create one. Most other times I create one I'm never quite certain if it's necessary, if that makes sense 09:46
09:57 Sgeo left 10:06 andrew_ is now known as andrew 10:13 dudzHat is now known as dudz, dudz left, dudz joined
[ptc] ab5tract++ great blog post; I really enjoyed it! 10:19
10:25 sena_kun joined 10:27 Altai-man_ left 10:33 kktt007 joined 10:35 kktt007 left 10:36 kktt007 joined 10:37 zacts joined 10:43 Kaiepi left, Kaiepi joined 10:51 ab5tract left 10:53 patrickb joined 10:54 Kaiepi left 11:06 ab5tract joined
ab5tract [ptc]: thanks for the feedback, glad you enjoyed it! :D 11:06
11:12 Kaiepi joined
Geth advent: 6ae548e63c | (JJ Merelo)++ | 20th/articles/rfc1.md
Starting the article
advent: 5f33772222 | (JJ Merelo)++ | 2 files
Adds first draft of article
advent: 2f70438676 | (JJ Merelo)++ | 20th/README.md
Links to README.md
advent: be0ded3c4a | Altai-man++ (committed using GitHub Web editor) | 20th/README.md
Update README.md
11:23 MasterDuke left
Geth advent: 34db548102 | (JJ Merelo)++ | 20th/README.md
Provides example article, closes #48
advent: e541785bdf | (JJ Merelo)++ | 20th/README.md
I mean, really
11:27 andrzejku left
JJMerelo The first Raku RFC, threads and Warnock's dilemma in the first installment of the 20th aniversary calendar github.com/Raku/advent/blob/master...es/rfc1.md 11:28
This will eventually go to the blog, but is provided there as a (probably bad) example. We're still looking for writers for the 20th aniversary calendar, add yourself here github.com/Raku/advent/tree/master/20th 11:29
moritz I'll try to do something with regexes, but it depends on me finding the time 11:32
timotimo i'm right here! oh you wrote time never mind 11:38
11:39 andrzejku joined
sena_kun JJMerelo, calendar starts on 1st August? 11:40
JJMerelo sena_kun correct.
moritz please do, and thanks.
timotimo :-) you will write something also, right?
timotimo you want to start publishing in august? 11:41
"in august" will be difficult due to moving to a new apartment 11:42
11:43 patrickb left, MasterDuke joined
timotimo on the rfc archive, blue-highlighted links on darkblue background are exceedingly hard to read 11:45
JJMerelo Yep they are. 11:46
timotimo opens problem-solving ticket for that 11:47
JJMerelo But you can look it up using a search engine, in case you're curious about some specific thing. I didn't arrive at mine (#1) that way anyway
JJMerelo goes AFK now
11:47 oddp left
Kaiepi m: say ("", |blob8.new(0xFE).decode("utf8-c8").comb.map(*.ords)).reduce({ $^a ~ @^b.head == 0x10FFFD ?? "%" ~ @^b[2..3].map(*.chr).join !! @^b.map(*.chr).join }) 12:02
camelia %FE
Kaiepi are there shorter ways i can match utf8-c8 synthetics? 12:03
timotimo hm i assume so
m: blob8.new(0xFE).decode("utf8-c8").ord.say
camelia 1114109
timotimo m: blob8.new(0xFE).decode("utf8-c8").ord.base(16).say
camelia 10FFFD
Kaiepi m: say blob8.new(0xFE).decode("utf8-c8") ~~ / \x[10FFFD] x <( <[ 0..9 A..F ]> )> / 12:04
camelia Nil
timotimo yeah because it's one character
would have to decode it to utf8 and back first
m: say blob8.new(0xFE).decode("utf8-c8").encode("utf8").decode("utf8") ~~ / \x[10FFFD] x <( <[ 0..9 A..F ]> )> / 12:05
camelia 「F」
timotimo m: say blob8.new(0xFE).decode("utf8-c8").encode("utf8").decode("utf8") ~~ / \x[10FFFD] x <( <[ 0..9 A..F ]>+ )> /
camelia 「FE」
12:08 cpan-raku left 12:11 cpan-raku joined, cpan-raku left, cpan-raku joined 12:15 aborazmeh joined, aborazmeh left, aborazmeh joined 12:23 oddp joined 12:25 Altai-man_ joined, oddp left 12:27 sena_kun left 12:41 kktt007 left, kktt007 joined 12:42 kktt007 left 12:43 kktt007 joined 12:45 vike joined 12:47 kktt007 left, kktt007 joined 12:49 kensanata joined 13:03 ab5tract left 13:14 skids joined 13:15 markong left 13:18 aborazmeh left, xinming left 13:19 xinming joined 13:44 kktt007 left, kktt007 joined, MasterDuke left
codesections Is there a performance reason to prefer an Array to a cached Seq or the reverse? 13:56
13:56 JJMerelo left
Geth advent: rypervenche++ created pull request #50:
Fix typos
13:57 andrew left 14:04 andrew joined 14:11 lucasb joined 14:17 dataangel left, dataangel joined 14:22 andrew left 14:23 andrew joined 14:24 demostanis joined, demostanis left 14:25 demostanis joined 14:27 sena_kun joined
demostanis I just started Raku since some days and I already am struggling over a problem: parsing a simple .ini file, with support for multi-line and comments... 14:27
14:28 Altai-man_ left
demostanis I firstly remove every comment using grep and s///, then I use a grammar to parse user input 14:28
14:28 kktt007 left
codesections Makes sense so far :) 14:29
demostanis Though, I'm a bit lost, my regexes aren't working: <(<-[\\]>*)> [\\ <?before \n>]? tries to match anything before an optional \ if this one precedes a newline \n. 14:30
But it doesn't seem to work
[Coke] demostanis: would github.com/tadzik/perl6-Config-INI avoid your issue? 14:31
demostanis Config::INI doesn't support multiline, and I've had weird issues using it 14:32
rypervenche I wonder if using TOML instead of INI might fix this. 14:33
codesections I don't think that's necessary
demostanis I'd like to try to make my own parser, it also helps me learning...
codesections Raku has good support for parsing with Grammars and it shouldn't be any problem to parse ini files 14:34
rypervenche Yeah, I was just saying that would likely be a quick solution. But yeah, good learning experience this way.
demostanis So far my regex matches "hello world" in "hello world \\\n text" (even if I would like it to match hello world text", but it will however match "hello world text" in "hello world \n text" as one match only (instead of two) 14:36
14:36 toddr joined
demostanis Any idea? 14:39
moritz demostanis: it would be way easier for us if you pasted the example text and the regex/grammar into a gist on github 14:41
codesections I am new to Raku myself, but – as I understand it – there isn't a way to get "hello world text" as a *single* match result from the input "hello world \\\n text". You could get it as two matches, though
timotimo yeah, can only have it as multiple captures inside one match 14:42
moritz that's correct. Either you get the whole thing as one match, or parts of it as separate matches. You could also write an action method that extracts the text as you want it as $/.made to the match object
tadzik demostanis: I can related to writing your own parser – that's the reason why I wrote Config::INI all those years ago :) 14:45
moritz <plug>all explain in depth and in gory detail in www.apress.com/us/book/97814842322...;/plug>
14:45 molaf joined
guifa2 . o O ( it's a shame that regexen are only allowed a single <( and )>, you could do some cool stuff if multiple alternating ones were allowed ) 14:45
guifa2 adds to TODO list for binex/objex
demostanis But I don't know whetever I should match what's after "hello world \\\n" or do something else in case the input has multiple lines (such as "hello world\\\n text\\\n other line") 14:46
And I sadly don't have $20 for the book..
And I am currently commenting my code to then make a paste 14:47
moritz demostanis: I'd take this approach (more to come):
* define a regex normal_content { <-[\n\\]> }
codesections I'd be tempted to factor out `line` as a separate regex/token/rule 14:48
14:48 xinming left
moritz this matches just normal values of an ini file, without escapes, newlines etc 14:48
then define other things that could be part of an ini file value, for example
token escaped_backslash { '\\' '\\' } 14:49
token escaped_newline { '\\' \n }
and then it becomes pretty clear what an ini value can look like:
14:50 xinming joined
Geth advent: c80aef0df5 | (Perry Thompson)++ | 20th/articles/rfc1.md
Fix typos
advent: d308869b1c | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 20th/articles/rfc1.md
Merge pull request #50 from rypervenche/master

Fix typos
moritz token ini_value { [<normal_content>+ | <escaped_backslash> | <escaped_newline> ] * }
(maybe move the + to the inside of normal_content, that makes the captures a bit clearer) 14:51
demostanis: sounds like a good approach?
codesections moritz: that is an impressively clean approach. Dagnabbit, I really ought to read your book :D 14:52
demostanis If I understand well, your method checks if: 1. a value is either anything but a newline or a backslash, 2. or if it is a backslash 3. or if it is a newline? Or don't I understands correctly? 14:53
moritz demostanis: escaped_backslash actually checks for two backslashes (assuming that you'd use that to get a single backslash in the result) 14:54
demostanis: but yes, that's that general approach
14:54 cpan-raku left 14:55 Altai-man_ joined
demostanis I'm going to try out that, thanks for the help 14:55
14:56 cpan-raku joined, cpan-raku left, cpan-raku joined 14:57 zacts left 14:58 sena_kun left
guifa2 speaking of regexen and grammars … 15:01
15:01 [Coke] left
guifa2 TFW you realize some config files generally use tabs, but occasionally use spaces even though some elements can contain spaces because why not 15:02
[ptc] I just spotted whateverable.6lang.org in a script and wondered if that should be whateverable.raku.org. Unfortunately, whateverable.raku.org doesn't exist. Should that be redirected?
i.e. shouldn't it be possible to do `wget whateverable.raku.org/HEAD.tar.gz`? 15:04
15:06 [Coke] joined
codesections re: TFW – yeah, I really don't understand why so many people feel the need to roll their own config format 15:12
[Coke] gets hit with a power outage, presumably due to everyone running their AC today
15:12 sena_kun joined
guifa2 codesections: this is the tz database, not a small config file at all either 15:13
timotimo the temperature over here will also soon neccessitate running an AC
guifa2 granted, it was done as a labor of love by one guy for ages, and no one wants to retool for something that works 15:14
15:14 Altai-man_ left 15:15 andrzejku left
guifa2 although for some countries that means extra work (because while summer time is predictable in Morocco, for instance, it's based on the Islamic calendar which can't be easily defined in a Gregorian-based config file, so every year gets its own configuration) 15:15
[ptc] .tell JJMerelo just wondering: is the docs repo still being built on travis?
AlexDaniel` [ptc]: it can be changed, but whateverable is 100% on my servers/domains, so unless we want to move everything it doesn't matter as much
tellable6 [ptc], I'll pass your message to JJMerelo
AlexDaniel` [ptc]: as for moving it, it's a bit harder than it sounds :) 15:16
[ptc] AlexDaniel`: ah, ok
AlexDaniel` but if anybody volunteers then I'd do my best to help
[ptc] AlexDaniel`: yeah, after reading your comment I guessed that :-)
guifa2 (and also, the comments in the config files are awesome. Total old school reminiscence, random musings, observations, etc. Reminds me of a different era of computing)
[ptc] I'd noticed that 6lang.org points to raku.org and then wondered if the subdomain should do that as well
codesections ha, that does sound great. And time is hard, so… 15:17
AlexDaniel` [ptc]: hm, it probably redirects to perl6.org first, and that is then redirected to raku.org :D
demostanis moritz: What can I do if the .ini file's value contains a \ which isn't at end? e.g. "hello \ world"
15:17 patrickb joined
[ptc] AlexDaniel`: :-D 15:17
patrickb m: enum ( B => "Builder" ); say "{B}"; say "a{B}c";
camelia B
tellable6 2020-07-27T18:32:24Z #raku-dev <vrurg> patrickb github.com/Raku/roast/issues/657#i...-664565613
rba Anyone knows the content of 15:18
whateverable.6lang.org ?
patrickb Is the above a bug?
AlexDaniel` rba: there's no content, it's just a redirect
shareable: HEAD 15:19
shareable6 AlexDaniel`, whateverable.6lang.org/HEAD
rba What was the content?
AlexDaniel` you can use it for stuff like this though
there was no content :)
15:19 andrzejku joined
AlexDaniel` the domain is used to share builds created for whateverable 15:19
15:19 JJMerelo joined
AlexDaniel` these are used by Blin too 15:20
and that's it
rba Aha.
moritz demostanis: you can do something \\ <!before \n>
*something like
or evne
guifa2 codesections: I'm expecting to probably spend a solid month trying to get this timezone stuff down pat and that'll just be to an alpha version. Thankfully I've already figured out how I'm going to hax0r DateTime to enable proper timezones everywhere
15:20 aluaces left
moritz \\ <!before <[ \n \\ ]> > 15:21
guifa2 m: enum ( B => "Builder" ); say "{B}"; say "a{B}"; say "{B}c"
camelia B
codesections wow, so Raku will have good Unicode support *and* good timezone handling? Truly a global language!
demostanis Oh yeah, that's what I was doing at the beginning... Thanks
guifa2 codesections: Timezones are *triccccky* (and not stable). I kind of get why they weren't included in core, you really shouldn't use them unless you're working with current time, or you know what you're doing 15:22
patrickb guifa2: Did you see github.com/raku-community-modules/...6-timezone ?
AlexDaniel` yeah, timezones are timezones :(
no breakthrough there
codesections agreed 15:23
guifa2 patrickb: yes. I'm going to use some of their calculations to speed along development (the only have offset available, but that's all I need) 15:26
I'm going to use a very different approach in terms of interfacing though
patrickb guifa2++ (I really enjoy your minimal boilerplate approach.)
guifa2 I'm trying to keep Intl::* to have as low of an overhead as possible, because it's easy to massively balloon things and it's not like Raku is known for low memory usage :-) 15:27
TZ entries can be compiled down to a handle of bytes (!) and I'm going to see if I can pull that off too :-) 15:28
Geth doc/pr/build-on-whateverable-again: fdc0fb9979 | (Paul Cochrane)++ | .travis.yml
Test building on whateverable
doc/pr/build-on-whateverable-again: d659c9c51d | (Paul Cochrane)++ | 2 files
Use the `raku` command instead of `perl6`
guifa2 goal will be to be able to say "use Intl::DateTime" (or similar), and then when you say "$foo = DateTime.new(now)", it will be able to either detect your timezone correctly, or, failing that, use the offset to put you into Etc/GMT+X, with all other functions passing through 15:29
[ptc] .tell JJMerelo sorry for the noise, yes it is. Just couldn't find it in my list of repos on travis... 15:30
tellable6 [ptc], I'll pass your message to JJMerelo
JJMerelo [ptc] No problem :-)
tellable6 2020-07-28T15:15:32Z #raku <[ptc]> JJMerelo just wondering: is the docs repo still being built on travis?
JJMerelo [ptc] the thing is that it's in travis-ci.org, not .com 15:31
guifa2 patrickb: imgflip.com/i/49oi4k 15:33
[ptc] JJMerelo: yup, that's where I looked. However it seems that I only have @perl6 in my list of organisations
patrickb :-D
JJMerelo [ptc] you were maybe not moved to the new one? You want privs?
[ptc] JJMerelo: ... rather than @raku. So there's something that hasn't been updated in a while
JJMerelo [ptc] so you're going to try and use whateverable again for tests, right? We stopped when the generated binary couldn't be used in Travis, as you probably know. 15:34
[ptc] JJMerelo: possibly not moved, yeah. Maybe I just need read privs, at least at the beginning, I'm still coming up to speed
patrickb bisectable6: enum ( B => "Builder" ); say "{B}"; say "a{B}"; say "{B}c"
bisectable6 patrickb, Will bisect the whole range automagically because no endpoints were provided, hang tight
[ptc] JJMerelo: nah, didn't know that! :-)
guifa2 patrickb: I spend probably 90% of my time trying to make my code instantly understandable. And the other 10% of the time apologizing in comments for when it's not immediately evident what's going on.
bisectable6 patrickb, Output on all releases: gist.github.com/381c4f9a0efbac4219...0ae495c8bd
patrickb, Bisecting by output (old=2018.02.1 new=2018.03) because on both starting points the exit code is 0
JJMerelo [ptc] let me check. 15:35
[ptc] JJMerelo: should I attack that? Or is it not worth it?
bisectable6 patrickb, bisect log: gist.github.com/ca936fdc95af560d33...8db5ea14ca
patrickb, (2018-02-27) github.com/rakudo/rakudo/commit/3a...3fb254ad1b
patrickb, Output on all releases and bisected commits: gist.github.com/4a6cfafc54acdb7e84...91b327679c
[ptc] JJMerelo: and unfortunately, I pushed to the main repo instead of my fork. Doh
JJMerelo [ptc] well, that was always "canary testing" in the sense that it was something that was updated almost daily, and could tell if there was something wrong with HEAD 15:36
holyghost ok, I have a small part of the dispatching and processing of symbols for raku, it has a low memory footprint
[ptc] JJMerelo: that's probably a good idea to get going again then. I'll see what I can come up with
JJMerelo [ptc] but the problem was that the binary was generated specifically for Ubuntu 19? So it couldn't possibly run in the ubuntu 18 that Travis uses, since it's got a different libc version 15:37
[ptc] so basically cross-compilation, or something like that, was needed. Now that patrickb is compiling using many different versions, I don't know if that would be used for Whateverable 15:38
[ptc] JJMerelo: doesn't travis also have pre-release Ubuntu versions available? That used to be a thing 15:39
JJMerelo I see anyway that the problem is still there... travis-ci.org/github/Raku/doc/builds/712606910
[ptc] yup, that's what I ran up against and was interested in seeing if I could fix the problem
JJMerelo [ptc] maybe, but the problem is that it's compiled for a non-LTS version, which are not supported by Travis
[ptc] hrm 15:40
JJMerelo [ptc] only way out, if we are to use the self same binary, is to create a docker container with the precise version that's needed and use that for test.
[ptc] true 15:41
JJMerelo [ptc] or use the openCompile infrastructure (or open... something, don't remember) to generate a binary for 18.04 and use it in Travis
[ptc] JJMerelo: yup, I'd thought of using the GCC compile farm or something similar 15:42
JJMerelo [ptc] also, welcome back (<-- take this with a grain of salt, because you might have been around in the precise moments I was not. Glad to see you're around again, anyway)
[ptc] let me see if I find that stuff...
[ptc] it'd be a good idea to use that infrastructure to build moar, nqp and raku on different architectures
JJMerelo: thanks :-) Nice to be here :-) 15:43
15:43 shlomif joined
JJMerelo [ptc] right, OpenBuild build.opensuse.org/repositories/de...ages:perl6 15:43
15:43 MilkmanDan left 15:44 xinming left 15:45 rindolf left
[ptc] JJMerelo: ah, there. Yes, I'd forgotten the OpenSUSE stuff. 15:45
JJMerelo: also a good idea. I can feel the todo list getting longer. And here I was just wanting to submit a small patch.
patrickb [ptc] Do you have concrete plans wrt OBS (Open Build Service, the OpenSUSE build farm)? 15:46
[ptc] dives down the rabbit hole again
patrickb: nope, not yet
15:46 xinming joined
patrickb I ask because the next big proejct I plan to work on is creating a CI that couples Github and OBS. I'd hate to duplicate work. 15:46
[ptc] good point
AlexDaniel` niner: ↑ 15:47
15:47 shlomif is now known as rindolf
[ptc] probably better if I contribute to that project rather than creating my own .... because tuits 15:47
AlexDaniel` btw I love deleting code from whateverable, so if you find a way to generate and share builds for every rakudo commit then I'd switch to that immediately 15:49
15:49 Altai-man_ joined
AlexDaniel` whateverable also creates builds for all branches, btw, and in the future maybe some extra ones for nqp/moarvm bumps 15:50
but you don't have to do that, I can always start with “try to fetch it first, if there's no build then make it yourself”
15:52 sena_kun left
patrickb AlexDaniel: My plan is to have a program that polls github for PRs and commits, downloads sources via git, creates archives of the sources and pushes those to OBS and Azure. Keeping track of the process and push shiny status thingies to GitHub. Will probably also need to poll OBS and Azure to look for build results. 15:53
15:53 MilkmanDan joined
patrickb Build results would lie around on OBS and Azure. If I get that far downloading the build results and putting them somewhere shouldn't be a big deal anymore. 15:54
AlexDaniel` patrickb: polling is fine, but please trigger polling with a webhook too 15:55
that's something I need to do for whateverable, otherwise you end up waiting a few minutes before it actually starts building :(
patrickb AlexDaniel: I favor polling over push semantics in this case because of robustness. Also listening to a webhook should be doable. 15:56
AlexDaniel` yeah I agree with that, which is why I did the same for whateverable :)
15:57 MasterDuke joined
holyghost JJ and co. : I like the RFC idea, just saying 15:57
demostanis With this piece of code: token value { [<normal-content>+ | <escaped-backslash> | <escaped-newline> ]* }, I add | <!header> (to check if it does not match) after <escaped-newline> (I'm not sure if it really is the right way) but Raku hangs, without error... Is this normal? 15:59
guifa2 moritz: one thing that even Raku can't help regex wise :-( : nested optionals. [y[m[d[h[m[s]]]]]]
JJMerelo holyghost thanks 16:00
holyghost np
guifa2 demostanis it's easy to do infinite looping with non-matches, but I'd need to see the source text too 16:02
16:02 andrew left 16:04 andrew joined
AlexDaniel` m: say 42 + 42; sub infix:<+>(42, 42) { 43 } 16:10
camelia 43
16:11 andrzejku left, patrickb left
guifa2 AlexDaniel`: you're evil 16:12
Voldenet m: say 43 + 42; sub infix:<+>(42, 42) { 43 } 16:16
camelia Constraint type check failed in binding to parameter '<anon>'; expected 42 but got 43
in sub infix:<+> at <tmp> line 1
in block <unit> at <tmp> line 1
Voldenet there's only one correct variant :P
guifa2 Voldenet: only because he didn't multi it 16:18
say 43 + 42; say 42+42; multi sub infix:<+>(42, 42) { 43 }
evalable6 85
Voldenet that's more evil, thanks - i'll use it in my codebase 16:20
guifa2 }:-) 16:22
it's a neat way of putting in easter eggs, I suppose
16:25 sena_kun joined 16:26 Altai-man_ left 16:30 Maylay left, Altai-man_ joined, Maylay joined 16:33 sena_kun left
moritz guifa2: there's a conjectural feature for that, <*foo> is supposed to match as much of foo as it can, while always succeeding, Don't think that's implemented though 16:36
timotimo gasp
moritz m: grammar A { token foo { 'abc' }; token TOP { <*foo> } }; say A.parse('ab')
camelia 5===SORRY!5===
Unrecognized regex metacharacter < (must be quoted to match literally)
at <tmp>:1
------> 3r A { token foo { 'abc' }; token TOP { <7⏏5*foo> } }; say A.parse('ab')
Unrecognized regex metacharacter * (must be quoted to m…
16:38 epony left 16:41 andrew left
guifa2 moritz: interesting. I bet one could write that as a specialized token fairly easily though 16:43
guifa2 makes module
<i-can-haz: <year>, <month>, <day>> 16:44
although because the tokens there are in codespace, it'd have to be
<i-can-haz: &year, &month, &day> or <i-can-haz: /<year>/, /<month>/, /<day>/> 16:45
guifa2 . o O ( in all seriousness, the fact that one can write tokens that can handle things however they want is a seriously underlooked feature ) 16:46
16:48 guest82 joined, sena_kun joined
codesections "tokens that can handle things however they want" Is that related to the `term<>` feature? (docs.raku.org/routine/term:%3C%3E) 16:49
16:49 Altai-man_ left
guifa2 codesections: no, here I'm talking regex tokens 16:50
normally, they just stand in for other regex expressions 16:51
16:51 JJMerelo left, dakkar left
guifa2 but they don't *have* to. All they have to do is return a match object (that says, effectively, "i matched from here to here"), which means you're free to do whatever you want, so long as you adhere to that 16:52
codesections Oh, ok. So how would you go from that to a module? Is that where you end up implementing a slang? 16:53
guifa2 You're thinking code-space tokens again :-) 17:05
In regex, a token is just found between <arrows>
m: say "abc" ~~ /<alpha>+/ 17:07
camelia 「abc」
alpha => 「a」
alpha => 「b」
alpha => 「c」
17:08 guest82 left
guifa2 sometimes they're technically regex in the background, but some of the built ins are actually secretly built in methods that can use code to run much faster 17:08
codesections Makes sense (I think :) ) 17:09
guifa2 selfplugs: rakuadventcalendar.wordpress.com/2...ch-eggnog/ 17:10
17:12 Tirifto joined, Altai-man_ joined 17:14 sena_kun left 17:16 andrew joined 17:26 epony joined
Geth advent: alabamenhu++ created pull request #51:
Update 20th anniversary calendar
17:36 ufobat left 17:42 MasterDuke left 17:49 squashable6 left, sena_kun joined 17:52 Altai-man_ left, squashable6 joined 18:02 andrzejku joined
Geth advent: 174f973b42 | L'Alabameñu++ (committed using GitHub Web editor) | 20th/README.md
Update 20th anniversary calendar

Signing myself up for talking about junctions
advent: 03bbba84ba | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 20th/README.md
Merge pull request #51 from alabamenhu/patch-2

Update 20th anniversary calendar
AlexDaniel` guifa2: evil? :) 18:14
ah, I see
18:18 Ven`` joined 18:35 markong joined 18:36 gabiruh left, gabiruh joined 18:48 Sgeo joined 19:03 afresh1 left, afresh1 joined 19:26 kensanata left
[ptc] .tell JJMerelo having dug a bit further, I've found that the whateverable Travis build uses htmlify in the test section, which no longer exists 19:31
tellable6 [ptc], I'll pass your message to JJMerelo
[ptc] .tell JJMerelo should therefore the whateverable part of the build be removed? I mean, it doesn't work atm anyway... Maybe better to get rid of dead code?
tellable6 [ptc], I'll pass your message to JJMerelo
19:38 andrzejku left 19:40 lucasb left 19:47 andrew left 19:49 Altai-man_ joined 19:51 sena_kun left 19:52 MilkmanDan left 19:54 MilkmanDan joined 20:00 MilkmanDan left 20:01 kensanata joined 20:02 MasterDuke joined 20:05 Nasrudin left 20:09 patrickb joined 20:13 xinming left 20:14 xinming joined 20:19 Nasrudin joined
Geth advent/day2: 53cec909eb | Altai-man++ | 20th/articles/rfc1.md
Remove trailing white space
advent/day2: efa4fdccba | Altai-man++ | 20th/articles/day2.md
Add day 2 article
20:23 sena_kun joined
Geth advent: Altai-man++ created pull request #52:
Day 2 article
advent/day2: 2bb9cbb322 | Altai-man++ | 20th/README.md
Match actual content with one in README
20:24 Altai-man_ left 20:27 dataangel left 20:33 Ven`` left 20:46 maettu left 20:56 dataangel joined 21:01 Black_Ribbon joined 21:06 skids left 21:09 demostanis left
Geth advent: 7f43f83427 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 20th/README.md
Add one for lizmat
21:17 Altai-man_ joined 21:19 sena_kun left 21:21 kensanata left
Geth doc: c3a2332fff | Coke++ | doc/Type/Metamodel/DefiniteHOW.pod6
Don't test this fragment

Once we run this code, every test file after this point fails.
Closes #3391
linkable6 Link: docs.raku.org/type/Metamodel::DefiniteHOW
DOC#3391 [closed]: github.com/Raku/doc/issues/3391 [xt] xt/examples-compilation.t
[Coke] is Build.raku supported, or just Build.pm6 yet? 21:40
Geth doc: bc40d6e061 | Coke++ | 9 files
convert appropriate .pm6 instances to .rakumod

Closes #3379
doc: c585d0a143 | Coke++ | doc/Type/Backtrace.pod6
Track file rename in rakudo src dir
linkable6 DOC#3379 [closed]: github.com/Raku/doc/issues/3379 [docs] some use of .pm6 suffix
Link: docs.raku.org/type/Backtrace
[Coke] looking at the comments here: github.com/Raku/doc/issues/3373 - looks like it was decided it should go to the Rakudo repository -can someone with rights move it? 21:55
(or do we have to close and reopen to do that?)
22:01 rindolf left
Geth doc: 46464895f5 | Coke++ | doc/Type/independent-routines.pod6
Fix sprintf links

Closes #3127
linkable6 Link: docs.raku.org/type/independent-routines
DOC#3127 [closed]: github.com/Raku/doc/issues/3127 [bug][site] Broken link in docs.raku.org/routine/printf
patrickb .tell tony-o I commented on gist.github.com/tony-o/07fdf8b3a0f...4131ac224b 22:07
tellable6 patrickb, I'll pass your message to tony-o
22:07 patrickb left
Geth doc: e19f5ab6cd | Coke++ | README.md
Pull the "easy way to do it" to the top of the section
doc: 9e8c74eee5 | Coke++ | README.md
Point to new rakudoc, remove install note

  ( The install has been broken for some time, and doing a force
didn't fix the issue, just installed a broken setup.)
22:24 vike left 22:28 vike joined 22:31 leont left 22:37 guifa2 left 22:44 guifa2 joined 22:46 Tirifto left 23:10 bocaneri is now known as Sauvin 23:12 MilkmanDan joined 23:15 marcusr left 23:16 marcusr joined 23:18 sena_kun joined, andrew joined 23:19 Altai-man_ left 23:22 andrew_ joined 23:25 andrew left 23:27 john_parr_ joined 23:30 pecastro left, john_parr_ left 23:42 markong left