🦋 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 | |||
*going | |||
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:05 | |
08:13
oddp joined
|
|||
Geth | advent: bd564240f2 | ab5tract++ (committed using GitHub Web editor) | 20th/README.md Claim RFC#43 |
08:13 | |
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: constraint infix infix stopper postfix … |
||
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: constraint infix infix stopper postfix … |
||
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 | ||
yours is U+0237A - APL FUNCTIONAL SYMBOL ALPHA | |||
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 |
08:58 | |
ab5tract | yeah I was doing dumb stuff like that | ||
moritz++ | |||
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 |
11:20 | |
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:22 | ||
11:23
MasterDuke left
|
|||
Geth | advent: 34db548102 | (JJ Merelo)++ | 20th/README.md Provides example article, closes #48 |
11:25 | |
advent: e541785bdf | (JJ Merelo)++ | 20th/README.md I mean, really |
11:27 | ||
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 | |||
Cheers! | |||
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:56 | |
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> | ||
*explained | |||
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 |
14:50 | |
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 aBuilderc |
||
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 aBuilder Builderc |
||
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 | ||
*racul | |||
[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 43 |
||
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:29 | |
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 |
18:05 | |
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 |
20:22 | |
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 |
20:23 | |
advent/day2: 2bb9cbb322 | Altai-man++ | 20th/README.md Match actual content with one in README |
20:24 | ||
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:11 | |
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 |
21:34 | |
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 |
21:50 | |
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 |
22:01 | |
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 |
22:12 | |
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:15 | ||
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
|