»ö« 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.
dominix unicodable6: * 00:00
unicodable6 dominix, U+002A ASTERISK [Po] (*)
dominix unicodable6: @ 00:01
unicodable6 dominix, U+0040 COMMERCIAL AT [Po] (@)
dominix unicodable6: #
unicodable6 dominix, U+0023 NUMBER SIGN [Po] (#)
dominix unicodable6: $
unicodable6 dominix, U+0024 DOLLAR SIGN [Sc] ($) 00:02
dominix unicodable6: %
unicodable6 dominix, U+0025 PERCENT SIGN [Po] (%)
dominix unicodable6: À 00:04
unicodable6 dominix, U+00C0 LATIN CAPITAL LETTER A WITH GRAVE [Lu] (À)
00:17 dct left
dominix m: say "\x[0021] \x[0022] \x[0023] \x[0024] \x[0025] \x[0026] \x[0027] \x[0028] \x[0029] \x[002A] \x[002B] \x[002C] \x[002D] \x[002E] \x[002F]" 00:17
camelia ! " # $ % & ' ( ) * + , - . /
00:18 pecastro left, kurahaupo left
dominix if I want to match these caracters may I have the possibility to group them m: say "\x[0021] \x[0022] \x[0023] \x[0024] \x[0025] \x[0026] \x[0027] \x[0028] \x[0029] \x[002A] \x[002B] \x[002C] \x[002D] \x[002E] \x[002F]" 00:18
00:18 kurahaupo joined, kurahaupo left
dominix like m: say "\x[0021] .. [002F]" 00:19
m: say "\x[0021] .. [002F]"
camelia ! .. [002F]
dominix m: say "\x[0021] .. \x[002F]"
camelia ! .. /
dominix m: say "\x[0021] ... \x[002F]"
camelia ! ... /
00:19 kurahaupo joined
dominix or may be in a map 00:20
00:21 yqt joined, w_richard_w joined
dominix unicodable6: "\x[0021]" 00:21
unicodable6 dominix, U+0022 QUOTATION MARK [Po] (")
dominix, U+005C REVERSE SOLIDUS [Po] (\)
dominix, 10 characters in total ("\x[0021]"): gist.github.com/cbf517510d1ec5feb8...799aba81ea
dominix unicodable6: \x[0021] 00:22
unicodable6 dominix, U+005C REVERSE SOLIDUS [Po] (\)
dominix, U+0078 LATIN SMALL LETTER X [Ll] (x)
dominix, 8 characters in total (\x[0021]): gist.github.com/5bbcf9ee1aa6189d60...1d7852b06d
dominix unicodable6: ! 00:23
unicodable6 dominix, U+0021 EXCLAMATION MARK [Po] (!)
dominix unicodable6: / 00:24
unicodable6 dominix, Regexes are not supported yet, sorry! Try code blocks instead
dominix unicodable6: \/
unicodable6 dominix, U+005C REVERSE SOLIDUS [Po] (\)
dominix, U+002F SOLIDUS [Po] (/)
00:37 yqt left
dominix m: my $zor = '#$%&'; $zor ~~ s/ <[ \x[0022] ]>* // ; 00:42
camelia ( no output )
dominix m: my $zor = '#$%&'; $zor ~~ s/ <[ \x[0022] ]>* // ;say $zor
camelia #$%&
dominix m: my $zor = '#$%&'; $zor ~~ s/ <[ \x[0022] .. \x[002F] ]>* // ;say $zor
camelia
dominix m: my $zor = '#$%&'; $zor ~~ s/ <[ \x[0020] .. \x[002F] ]>* // ;say $zor 00:43
camelia
discord6 <Rogue> How does one allow any amount of space around the separator in a grammar rule? Say I have defined word and I want to parse 'one, two , three' and get only the words with something like <word> %% '.'
<Rogue> <word %% ','* 00:44
<Rogue> <word> %% ',', sorry
timotimo you mean <word>+ %% ',', right? 00:45
you can just have <word>+ %% [\s*','\s*]
discord6 <Rogue> Yes, sorry :P my brain is pretty well fried today
<Rogue> Ah, I was wondering if there was some prettier way, but I suppose that's not bad 00:46
timotimo i mean if sigspace is on, you can do it in a different way 00:47
discord6 <Rogue> oh?
timotimo but i personally wouldn't do it because it's sometimes not trivial to see where the implicit space goes (unless you have Comma IDE in which case it'll show you)
00:48 zachk left
dominix unicodable6: ^ 00:48
unicodable6 dominix, U+005E CIRCUMFLEX ACCENT [Sk] (^)
dominix unicodable6: @
unicodable6 dominix, U+0040 COMMERCIAL AT [Po] (@)
00:49 zachk joined 00:50 reach_satori_ left 00:59 w_richard_w1 joined, foolio_ joined 01:02 foolio_ left, zachk left 01:03 w_richard_w left
guifa is it possible for a sub to reference variables that are scoped where it was called without using dynamic variables? e.g. sub parrot($foo) {say outVarWithName($foo)}; my $a = 'bar'; parrot('a'); --> 'bar' 01:04
(for doing things similar in nature to string interpolation but not wanting to force someone to pass individual variables) 01:06
timotimo i'm not aware of a very good way to do that, though macros can potentially already do this for you 01:19
discord6 <Rogue> Any idea why this grammar (ix.io/1ydo) is matching up until the end of one Table but failing after that with this input (ix.io/1ydp)? 01:25
timotimo does it not like the newlines between the sections? 01:26
oh 01:27
look at token Cardinality
discord6 <Rogue> I don't see why it wouldn't-- <Table>+ %% \s+--\s is either vertical or horizontal whitespace
timotimo oh, no, i think it's right
discord6 <Rogue> it's failing before it even gets out of the TablesSection rule
<Rogue> It matches one Table and then fails
timotimo ah 01:28
rule means no backtracking
hm, no, that's also not it, i think
discord6 <Rogue> on another note, Grammar::Tracer is a godsend
timotimo yup, it's very nice
m: say "foo:bar" ~~ /\w+/ 01:29
camelia 「foo」
timotimo i'll probably have to run it locally
guifa timotimo: Is there any sort of a performance hit for using macros? / are they safe to use in libraries? 01:30
timotimo the performance hit would be at compile time only, whenever a macro appears in the source code
guifa s/libraries/modules 01:31
discord6 <Rogue> Modules will get pre-compiled, no? So it shouldn't matter
guifa Rogue: I meant to have in a module, and then use outside of the module. I figure within a single file everything would of course be okay. 01:32
timotimo i really can't tell you about performance impacts of macros unless i measured something
macros can be exported just like subs
guifa ^^ perfect
timotimo oh 01:33
@Rogue, I think what happens is the Table rule will already have eaten all the white space after it, and then the \s+ inside TablesSection can't match anything 01:34
and since no backtracking allowed, it won't step back and unmatch one of the white spaces to allow the outer rule to match more
guifa I'm porting the Mozilla project fluent so that stuff can more easily localized. One of the options it has in localization files is variable interpolation
timotimo * MATCH "TABLES\n\{\nDEPARTMENT \{ *DeptName, *DeptNumber, Manager, Manag" 01:35
discord6 <Rogue> ahhh, but I thought leading and trailing space didn't matter with sigspace?
timotimo rule Table { <TableName> \'{\' <Field>+ %% [\\h*\',\'\\h*] \'}\'} and rule Relation { <Cardinality>\':\'<Cardinality> <TableName>\':\'<TableName>}
only leading space doesn't matter, AFAIK
01:35 w_richard_w1 left
guifa so you might say, localizedString('hi'); and in the file, hi might be defined as "hello { $name }" and that should ideally pull $name (if available) without needing to pass it as localizedString('hi', :name('foo')), although it wouldn't be the end of the world if that's how it worked I suppose 01:36
01:37 lichtkind left
timotimo oh, hmm. could be that that's only possible with unhygienic macros 01:37
anyway, this is why i tend to avoid "rule" :) 01:38
discord6 <Rogue> AHA, got it working now
<Rogue> I feel I've learned something about how to go about grammars
timotimo \o/ 01:39
guifa also just likes seeing how far he can push/contort p6 :-)
discord6 <Rogue> Now to transform this data into some awful format graphviz can understand
timotimo um, excuse me
DOT is beautiful
discord6 <Rogue> The whole reason I'm doing this is because you have to use a horrible hack to get record labels to have some bolded text 01:40
timotimo you don't like HTML labels?
discord6 <Rogue> You can't just do <B>whatever</B> for record-type nodes 01:41
<Rogue> you have to make basically an HTML table
<Rogue> I figure I may as well make this an exercise in Perl 6 and make a (remotely) useful tool for data model diagrams 01:42
timotimo :)
i love generating DOT for stuff
discord6 <Rogue> I still need to figure out how to have multiple arrowheads/arrowtails
<Rogue> i.e. tee + crow's foot to indicate minimum and maximum cardinality 01:43
<Rogue> e.g.*
timotimo you mean like in a row like on a shashlik?
discord6 <Rogue> Precisely
01:44 cpan-p6 left
discord6 <Rogue> [table]>-|-----o-|-[table] 01:44
01:44 cpan-p6 joined, w_richard_w joined
timotimo i think you can just dotnonetee 01:45
just use dotnonetee as your arrowhead
arrowname : aname [ aname [ aname [ aname ] ] ]
aname : [ modifiers ] shape
oh 01:46
wrong, it'd have to be teenonedot
though you may actually want noneteenonedot
discord6 <Rogue> Is there a way to extend the line a bit? Everything's getting squashed and overlapping 01:49
timotimo you want the layout to change so the line gets longer?
discord6 <Rogue> yeah
timotimo one sec
what layouter are you using, though? dot or neato? 01:50
discord6 <Rogue> dot
<Rogue> is neato better? I'm kinda new to this, jumping in the deep end trying to do something overly complicated :P
timotimo "len" only works in fdp or neato, but then you could use a value above 1.0 to get a longer one than you'd normally get 01:51
neato is better for "organic"-looking graphs, whereas dot does well with hierarchial graphs
neato doesn't do neatly separated subgraphs with borders and backgrounds i believe
dot can take a "minlen" argument for edges 01:52
it's 1 by default
01:52 markoong left
discord6 <Rogue> Oh, that's quite nice 01:52
<Rogue> is there some way to apply global defaults to edges so as to avoid repeating minlen everywhere? 01:53
timotimo yup 01:55
literally just "edge [blah];" somewhere
might only apply to following statements
an anonymous subgraph can help you manage attributes that apply to a subset of all edges or nodes 01:57
also, i think if you want bold text without a full table you might only have to put something like <foo <b>bar</b> baz> 01:58
discord6 <Rogue> That doesn't seem to work unfortunately 02:00
<Rogue> Can you separate relations with semicolons instead of newlines? 02:05
timotimo i thought you could 02:28
02:34 Cabanoss- left 02:36 Cabanossi joined
discord6 <Rogue> Yeah, you can 02:39
03:12 ferreira left 03:47 w17t left 03:56 mahafyi joined 03:57 kurahaupo left, kurahaupo joined 03:58 kurahaupo left 04:00 kurahaupo joined 04:07 zacts joined 04:13 xtreak joined 04:16 andrzejku left 04:18 oodani left 04:30 reach_satori joined 04:37 oodani joined 04:38 Ven`` joined 04:40 cpan-p6 left 04:43 cpan-p6 joined, ferreira joined 04:46 w_richard_w left 04:47 Ven`` left 04:55 zacts left 05:01 tyil left 05:03 zacts joined 05:15 tyil joined 05:19 w17t joined 05:32 zacts left 05:35 zacts joined 05:37 reach_satori left 05:39 cpan-p6_ joined 05:42 cpan-p6 left 05:44 molaf joined 05:48 robertle left 05:51 john_parr left 05:53 curan joined 05:56 tomato_ joined, tomato_ left 05:58 cpan-p6 joined 05:59 cpan-p6 left 06:03 saki joined, saki left, aindilis left 06:08 aindilis joined 06:11 saki joined, saki left 06:15 sauvin joined 06:16 hsrt^ left 06:27 xtreak left 06:30 saki joined, saki left 06:31 xtreak joined 06:35 jmerelo joined
jmerelo I think I'm going to cancel the rakudo squashathon 06:35
06:37 xtreak left
jmerelo squashable6: status 06:41
squashable6 jmerelo, Next SQUASHathon in 14 days and ≈5 hours (2019-03-02 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo .tell AlexDaniel it's now going to be the "Perl 6 community and most wanted modules squashathon" 06:42
yoleaux jmerelo: I'll pass your message to AlexDaniel.
jmerelo .tell AlexDaniel please take a look anyway at the description of the Rakudo squashathon, which will be in 2.5mo, and update the description
yoleaux jmerelo: I'll pass your message to AlexDaniel.
jmerelo releasable6: status
releasable6 jmerelo, Next release in ≈1 day and ≈12 hours. 4 blockers. 174 out of 302 commits logged
jmerelo, Details: gist.github.com/55ceb27ecfe501cf2a...ace9d1b8f3
06:47 xtreak joined 07:00 xtreak left 07:01 dominix_ joined 07:05 dominix left 07:10 domidumont joined 07:16 ravenousmoose joined 07:22 ufobat_ joined 07:31 rindolf joined 07:38 jmerelo left, mowcat left 07:56 discord6 left 07:59 discord6 joined 08:01 discord6 left 08:02 discord6 joined 08:03 discord6 left, discord6 joined 08:04 discord6 left 08:05 discord61 joined, cpan-p6 joined 08:07 discord6 joined 08:08 tyil left, cpage left 08:09 cpage joined, saki joined, saki left 08:11 aindilis` joined, saki joined, saki left 08:13 discord6 left, discord61 is now known as discord6 08:14 aindilis left 08:15 cpan-p6_ left 08:17 tyil joined 08:24 cpan-p6_ joined 08:25 cpan-p6 left 08:49 dominix joined
dominix I feel stupid, and tired. 08:49
I am no more able to be productive with perl6 because I lose LOT of time searching to do so simple things 08:50
08:50 saki joined
dominix I never have so much trouble search 08:51
searching for doc in perl5
or for method or whatever
i am stuck with "how do I happend a single char to the end of a string 08:52
eseyman dominix: $string .= "char" 08:54
dominix m: my $in = "0123 4567 8901"; for (0..$in.chars) {$inn .= @a[$_] if (@a[$_] != ' ' ) } 08:58
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$inn' is not declared. Did you mean '$in'?
at <tmp>:1
------> 3= "0123 4567 8901"; for (0..$in.chars) {7⏏5$inn .= @a[$_] if (@a[$_] != ' ' ) }
dominix m: my $in = "0123 4567 8901";my $inn; for (0..$in.chars) {$inn .= @a[$_] if (@a[$_] != ' ' ) }
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@a' is not declared
at <tmp>:1
------> 031";my $inn; for (0..$in.chars) {$inn .= 7⏏5@a[$_] if (@a[$_] != ' ' ) }
dominix shit
eseyman hum... I'm not in the chan I thought I was in
dominix m: my $in = "0123 4567 8901";my $inn; my @a=();for (0..$in.chars) {$inn .= @a[$_] if (@a[$_] != ' ' ) } 08:59
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing infix inside []
at <tmp>:1
------> 3my @a=();for (0..$in.chars) {$inn .= @a[7⏏5$_] if (@a[$_] != ' ' ) }
expecting any of:
bracketed infix
infix
inf…
dominix eseyman: what do you mean 09:01
transition from 5 to 6 is not confortable for my brain. 09:05
got to reformat everything 09:06
eseyman dominix: I gave you a perl5 answer 09:07
09:09 zakharyas joined
eseyman m: my $str = 'abc'; $str ~ 'd'; $str.say; 09:10
camelia WARNINGS for <tmp>:
abc
Useless use of "~" in expression "$str ~ 'd'" in sink context (line 1)
eseyman m: my $str = 'abc'; say $str ~ 'd'; 09:11
camelia abcd
eseyman dominix: ^^
sena_kun I wonder what "$inn .= @a[$_]" should do considering " my @a=();" earlier. 09:13
dominix I am trying to get the char from an array, like @a[]
sena_kun but @a is empty, isn't it?
dominix m: my $in = "0123 4567 8901";my $inn; my @a=$in.split("");for (0..$in.chars) {$inn .= @a[$_] if (@a[$_] != ' ' ) } 09:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing infix inside []
at <tmp>:1
------> 3plit("");for (0..$in.chars) {$inn .= @a[7⏏5$_] if (@a[$_] != ' ' ) }
expecting any of:
bracketed infix
infix
inf…
sena_kun m: my $in = "0123 4567 8901"; say $in.comb[5];
camelia 4
dominix m: my $in = "0123 4567 8901";my $inn; my @a=$in.split("");for (0..$in.chars) {$inn ~ @a[$_] if (@a[$_] != ' ' ) }
camelia WARNINGS for <tmp>:
Useless use of "~" in expression "$inn ~ @a[$_]" in sink context (line 1)
Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
dominix ok I don't @a 09:16
sena_kun oh, I get it
you try to `.=` but it is an infix for `foo = foo.bar`(which is `foo .= bar`). 09:17
concatenation in Perl 6 is `~`.
so you want:
m: my $in = "0123 4567 8901"; my $inn; my @a=$in.comb; for (0..$in.chars) {$inn ~= @a[$_] if (@a[$_] != ' ' ) }; say @a.join;
camelia Use of uninitialized value of type Any in numeric context
0123 4567 8901
in block at <tmp> line 1
sena_kun ghh 09:18
m: my $in = "0123 4567 8901"; $in.subst(' ', '').say;
camelia 01234567 8901
sena_kun m: my $in = "0123 4567 8901"; $in.subst(' ', '', :g).say;
camelia 012345678901
sena_kun if you want to just remove space characters, I'd use a subst method. 09:19
eseyman m: my $in = "0123 4567 8901"; $in.subst(' ', '', :g) if $in.contains(' '); $in.say;
camelia 0123 4567 8901
09:19 cpan-p6 joined
dominix m: my $in = "0123 4567 8901";my $inn;for (0..$in.chars) {$inn ~ $in.comb[$_] if ($in.comb[$_] != ' ' ) } 09:19
camelia WARNINGS for <tmp>:
Useless use of "~" in expression "$inn ~ $in.comb[$_]" in sink context (line 1)
Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningf…
09:20 cpan-p6_ left
sena_kun .subst method is not mutable, so you need to assign it's result. 09:20
eseyman ah
sena_kun m: my $in = "0123 4567 8901"; $in .= subst(' ', '', :g) if $in.contains(' '); $in.say;
camelia 012345678901
eseyman thank you, sena_kun
dominix sena_kun: right, it works as expected, but I completely don't know why 09:22
sena_kun as for the docs... I think there are certainly issues present at the moment, so any help or meaningful reports or just attention in this area is very welcome. But I also can say from my experience, that there is always a moment of WTF when one learns a new langauge and doesn't know the ropes yet. When I learned haskell, even simplest stuff was just ugh. Partially the same with Perl 6. And Python, Java, Go, C#...
eseyman +1 on that one 09:23
sena_kun dominix, let's see... `subst` method replaces the first argument(which can be a string, regex or other mather) with the second one. `:g` is a named parameter passed, a shortcut for `g => True` named argument, which enables "global" search.
`foo .= bar` is a short form for `foo = foo.bar` 09:24
to be more clear, it can be done, like...
m: my $in = "0123 4567 8901"; $in = $in.subst(' ', '', :g) if $in.contains(' '); $in.say;
camelia 012345678901
dominix nice, I got it 09:25
sena_kun: many thanks
sena_kun dominix, you are welcome! 09:26
please ask questions if there are any issues of such sort.
dominix I got my dose for tonight, I give up ... till tomorrow, see you guys
sena_kun dominix, good luck. 09:27
eseyman bye, dominix
dominix a thanks for the help
bye
09:27 dominix left
sena_kun o/ 09:27
m: my $in = "0123 4567 8901"; $in.comb.grep({ not $_ eq ' ' }).join.say; 09:37
camelia 012345678901
sena_kun m: my $in = "0123 4567 8901"; my $out = ''; for $in.comb { $out ~= $_ unless $_ eq ' ' }; $out.say; 09:40
camelia 012345678901
sena_kun this is likely the close one to an iteration approach.
eseyman yes, this is closest to what dominix was trying to do 09:42
I very much doubt it's the most efficient way of doing it
sena_kun well, not very idiomatic one, I think.
also, there is a suggestion to use ~ instead of ., like... 09:43
m: my $a = ''; my $b = ''; $a . $b;
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of . to concatenate strings; in Perl 6 please use ~
at <tmp>:1
------> 3my $a = ''; my $b = ''; $a .7⏏5 $b;
sena_kun but as the array didn't contain strings at first, it's impossible to guess in this case. 09:44
09:46 it_derp joined
sena_kun At first I felt a bit unnatural with Str being unaccessible with `[]` indexing, but everything can be done using map/grep/comb etc approach, and makes me less prone to do off-by-one error. 09:47
09:48 Skarsnik joined 09:55 pecastro joined
Skarsnik Hello there 09:55
sena_kun o/ 09:56
09:59 saki left 10:06 random_yanek left 10:19 random_yanek joined 10:23 Sgeo__ left, Sgeo__ joined 10:25 aindilis` left 10:26 aindilis joined 10:27 drclaw joined
drclaw Hi all, I'm look at posting a module via the PAUSE system. Could anyone tell me how long it takes to have an account setup? I've been waiting a week for a response. Is this normal? Any pointers would be great 10:35
10:36 scimon joined
sena_kun drclaw, hi. Are you interested in Perl modules or Perl 6 ones? As those two are two distinct languages and as for Perl, you probably want to ask at #perl. 10:37
drclaw sorry i wasn't clear. Yes it is a perl6 module I would like to upload/publish 10:40
Ulti drclaw: I would email about it, its a partially manual step for creating an account
this is the main reason I just put everything on github
tyil drclaw: for me and a number of friends it took less than a full day, I'd try to email them as Ulti recommends 10:43
Ulti I've forgotten my PAUSE credentials for my email address and the only way to fix that is a full on person-person interaction
drclaw I started down the GitHub path (the module is hosted there now). But in going through the process of the pull request, the message indicates that the PAUSE/CPAN is the preferred method. Also noted quit a lot or recent removals of modules as they have moved to CPAN
Ulti yeah Im not sure who prefers that 10:44
tyil I thought that was reverted
for a short period people wanted to move to CPAN compeltely
but then that was not preferred by everyone
Ulti Im personally going to be unreasonable about this in the future, if anyone wants my modules they can always just direct install from a git repo with zef afaik 10:45
tyil so that wording was reverted on the main site
but if it's not reverted yet on the repo we should be able to fix that
Ulti: one of the things about Zef is that it supports module listings from multiple sources, so one should never be constrained to a single repo of modules 10:46
Ulti yeah exactly and I think thats the ideal
supporting CPAN and enabling perl6 things there I totally think makes sense and is good
scimon The non CPAN process is a bit of a faff but also useful for it extensibility for private usage.
Ulti I just personally dont like the system
tyil one of the things Im trying to work towards with cpan-p6 is to have my own listing that I can add to zef, which preferably would be able to get updates out quicker
Ulti its put me off ever releasing about a decades worth of Perl 5
tyil so I don't have to wait for 6 hours for my module to become installable
scimon I found once I had my PAUSE account setup CPAN was easier for me. But it takes all sorts :) 10:47
tyil one of the downsides of CPAN to me is that they dont have an API, and error feedback is pretty bad when trying to automate uploads
Ulti tyil: it would be nice to signal some "authority" level for the same author same package more than one location
scimon True
Ulti feels like CPAN is a more official frozen release type venue and should probably always win
im unsure how that even works if you zef install something thats on github and cpan 10:48
scimon: the issue is I program in more than Perl why distribute my code in a special way for no real benefit to me 10:49
scimon I get it. As I said multiple options.
Ulti this is kind of the problem in general though
like just third party libraries its the same problem
scimon The problem I have with the old system is it involves manually modifying a file in git to keep track of repos. 10:50
tyil Ulti: it has a recommendation manager built in basically, which would have to decide which one you're gonna get
that's how I understand it, at least
Ulti scimon: yeah and thats where CPAN is obviously great
tyil I'm not a zef dev, so I may be completely wrong
scimon And the old system doesn't handle versions great.
I can see there's a new plugin in zef for metacpan. So it looks like there's more going on. 10:51
Ulti tyil: I know it checks various locations but I've never noticed or checked what its really doing I've yet to have a prompt to choose is why I sort of wondered
scimon Next week I'm going to put together a talk on managing Perl6 modules for a private repo.
If you do zef --help it lists a config file.
tyil I know there's the recmanager spec, which should solve such issues, Ulti, but I'm not sure if zef is making active use of that yet 10:52
scimon Take a look in that and you can see the options.
(If you want to mod it I suggest copying the default to $HOME/.config/zef/config.json so you've got the original still)
Ulti im cool with whatever the current sensible default is 10:53
I just wondered what it was :3
it does mean we will all find ourselves in a horrible place where some deps are in cpan and others are not
scimon True. 10:54
Ulti some kind of ecosystem authority that mirrors to cpan might be nice...
scimon We'll get there.
tyil I've already seen an issue with two similary named modules, but different versions, authors and remotes
scimon There's some older modules that are being moved to new ownership. 10:55
tyil generally you just want to be explicit with your deps to avoid resolving issues
Ulti yeah its in theory not an issue given the spec of Perl 6 you can just set your code to define all of those
tyil: yeah I guess thats more in docs and example code we are all producing we should start showing that level of spec on the use lines 10:56
tyil at least in the META6.json, imo
Ulti I think that would actually make Perl 6 suddenly look interesting to a lot of people, since in theory this is a problem lots of languages haven't solved
tyil I should someday make Assixt just resolve the long name, and put that in the META6.json
but first I need to find out why there's two long-running perl 6 services just keep using more ram until they get OOM killed 10:57
which in essence is not too bad of an issue, but since systemd is the worst piece of software ever created my server goes down when the OOMkiller comes around
Ulti isnt that meant to be a thing systemd was designed to prevent :/ 10:58
tyil systemd was designed for many things
but none of those things have been worked out properly
and theyre being implemented even worse 10:59
10:59 dogbert2_ joined
xiaomiao tyil: you know that you can limit process memory so you don't have discussions with Mr.OOM ? 10:59
tyil it's the opposite of perl 6, basically, just skip the design phase, dump some code into the repo and release it, see what happens
Ulti Im on Mac so I get systemd type functionality that "just works"
tyil my non-servers are running Gentoo, so I just have openrc which has systemd-type functionality that just works
xiaomiao: probably, but I personally consider it a massive regression if the oomkiller killing a service destroys the logging facility which brings down the init system 11:00
Ulti it would be nice if there was a Mr/x OOM that before you totally run out of memory pops up whilst you can still interact with the machine and choose wtf to kill
xiaomiao tyil: mmh, is this the old 'coredump goes to journald' fun?
tyil that's called human intervention, Ulti :p
Ulti "it appears you've run out of memory"
tyil just keep track and kill it yourself before it goes out of hand 11:01
Ulti yeah but I would prefer my processes all freeze on non server type machines and wait for me
tyil xiaomiao: I have no clue, I try to stay away from systemd since it is a cancer in the ecosystem of GNU+Linux software in my opinion
Ulti especially as a scientist this was important
instead I had to use tonnes of crazy memory checkpointing
xiaomiao tyil: I've read through its code enough to know to avoid it
tyil I have yet to find a single thing systemd actualy does better than existing software
everything it does it does worse than what we had 11:02
xiaomiao tyil: but ulimit and cgroups are not systemd-specific
tyil sadly, k8s docs are rather lacking on how I could set it up on any OS
Ulti you could say this about Perl 6 though, but you can see there is a potential in its approach and lots of scope for an intersting future
tyil I want to switch to Alpine if I can
xiaomiao mmh, you seem to pick all the overcomplexified things
Ulti tyil Alpine you've thrown away glibc then though :P 11:03
xiaomiao that's an advantage
Ulti hah
xiaomiao no more experimental libcs!
tyil I don't particularly mind what implementation I get for libc
so long as it works
xiaomiao (and it accidentally removes stupid software, so win-win)
Ulti wanders off to #dayjob have a fun day! 11:04
tyil I just dont want my server to just die when I'm not looking because the init system is garbage :(
xiaomiao ulimit ...
don't wait for the OOM-killer to rescue you 11:05
(be lazy!)
tyil that's still fighting symptoms tbh
but it would at least fix it for now :p
11:06 drclaw left 11:07 domidumont left 11:20 markoong joined, Skarsnik left 11:31 pmurias joined 11:50 reach_satori joined 11:51 cpan-p6_ joined, cpan-p6 left 11:56 curan left 12:06 cpan-p6_ left, cpan-p6 joined 12:15 lucasb joined 12:21 cpan-p6 left, cpan-p6 joined 12:29 cpan-p6_ joined 12:30 cpan-p6 left 12:37 zakharyas left 12:40 zacts left 12:43 discord6 left 12:44 cpan-p6_ left 12:45 cpan-p6 joined 12:46 tyil left 12:51 domidumont joined 13:00 cpan-p6_ joined 13:01 discord6 joined, cpan-p6_ left, cpan-p6_ joined 13:02 tyil joined 13:03 zacts joined, cpan-p6 left 13:06 zacts left, zacts joined 13:07 cpan-p6 joined, cpan-p6_ left 13:20 cpan-p6 left 13:21 cpan-p6 joined 13:35 cpan-p6 left 13:36 cpan-p6 joined 13:37 w17t left
cpan-p6 New module released to CPAN! App-AizuOnlineJudge (0.0.2) by 03TITSUKI 13:47
13:49 cpan-p6 left 13:50 cpan-p6 joined 14:00 abraxxa left 14:04 john_parr joined 14:13 zakharyas joined 14:18 cpan-p6 left, cpan-p6 joined 14:30 zacts left 14:33 cpan-p6 left, cpan-p6 joined 14:47 cpan-p6 left, cpan-p6 joined, saki joined, saki left 14:50 saki joined, saki left 15:02 cpan-p6 left, cpan-p6 joined 15:05 Geth left, Geth joined, ChanServ sets mode: +v Geth 15:08 saki joined 15:09 saki left 15:13 sergot_ is now known as sergot, zacts joined 15:17 cpan-p6 left, cpan-p6 joined 15:25 gregf_ left 15:27 saki joined 15:31 cpan-p6 left, cpan-p6 joined 15:40 w17t joined 15:46 cpan-p6 left, cpan-p6 joined 15:51 kurahaupo left 15:59 cpan-p6 left 16:00 cpan-p6 joined, jmerelo joined 16:05 ravenousmoose left 16:08 mfip^ joined 16:11 skids joined 16:13 cpan-p6 left 16:14 cpan-p6 joined 16:17 pmurias left
tony-o jmerelo: we're happy to look at and help out with plugins for zef or PRs 16:20
16:24 saki left 16:30 zacts left 16:37 kurahaupo joined 16:41 it_derp left, cpan-p6 left, ufobat___ joined, cpan-p6 joined 16:45 ufobat_ left 16:55 cpan-p6 left, cpan-p6 joined 17:09 cpan-p6 left 17:10 cpan-p6 joined 17:20 zakharyas left 17:22 scimon left 17:24 cpan-p6 left 17:25 cpan-p6 joined
jmerelo tony-o: this would be a good one, for starters github.com/ugexe/zef/issues/222 17:37
tony-o: any of these: github.com/ugexe/zef/issues/created_by/JJ
17:38 cpan-p6 left 17:39 cpan-p6 joined
jmerelo tony-o: documenting stuff like the new Zef::Utils would be a good idea: github.com/ugexe/zef/blob/master/l...System.pm6 17:39
17:42 reach_satori left
jmerelo tony-o: or more information on how to build plugins besides this? github.com/ugexe/zef#phases--plugins-settings 17:42
17:47 mfip^ left 17:48 domidumont left 17:53 natrys joined, cpan-p6 left 17:54 cpan-p6 joined 18:00 jmerelo left 18:02 domidumont joined 18:04 dct joined 18:08 cpan-p6 left, cpan-p6 joined 18:12 w17t left 18:19 domidumont left 18:23 cpan-p6 left, cpan-p6 joined 18:34 reach_satori joined 18:35 domidumont joined 18:38 MilkmanDan left, cpan-p6 left, cpan-p6 joined, MilkmanDan joined 18:53 cpan-p6 left, cpan-p6 joined 19:01 dominix__ joined 19:05 dominix_ left 19:07 cpan-p6 left, cpan-p6 joined 19:09 zakharyas joined 19:15 abraxxa joined 19:17 w17t joined 19:18 ravenousmoose joined 19:21 dominix__ is now known as dominix, zakharyas left, dct left 19:22 NothingStrangeHe joined, cpan-p6 left, cpan-p6 joined
NothingStrangeHe close 19:22
19:22 NothingStrangeHe left 19:23 zakharyas joined 19:24 sauvin left
dominix p6: say 3; 19:25
camelia 3
dominix m: say 3;
camelia 3
19:36 cpan-p6 left, cpan-p6 joined 19:37 molaf left 19:50 cpan-p6 left 19:51 cpan-p6 joined 19:52 robertle joined 19:54 Skarsnik joined
Skarsnik Hello there 19:54
sena_kun Skarsnik, o/ 19:56
lucasb o/
Skarsnik I kinda want to write an asm interpreter using Perl 6, but I feel like handling label and jump is not fun compared to just writing a grammar/action pairing ^^ 19:57
20:04 zakharyas left 20:05 cpan-p6 left 20:06 cpan-p6 joined
rindolf Skarsnik: hi 20:11
dominix o/ 20:13
m: sub lowval (Int $x) { $x -= 10 if ($x > 10); return $x; }; say lowval(15); 20:14
camelia Cannot assign to an immutable value
in sub lowval at <tmp> line 1
in block <unit> at <tmp> line 1
dominix should I make $x muttable ? or add a new var ?
discord6 <Rogue> dominix: parameters are immutable by default. For what you're doing, you want to add is copy 20:15
sena_kun dominix, it depends on what you want.
m: sub lowval (Int $x is copy) { $x -= 10 if ($x > 10); return $x; }; say lowval(15);
camelia 5
dominix nice
discord6 <Rogue> also you don't want parentheses around the condition in an if
<Rogue> it can get you in trouble sometimes
sena_kun m: sub lowval (Int $x) { if $x > 10 { return $x - 10 } }; say lowval(15); 20:16
camelia 5
discord6 <Rogue> ^ that's probably the nicest way
sena_kun m: sub lowval (Int $x) { $x > 10 ?? $x - 10 !! $x }; say lowval(15); 20:17
camelia 5
sena_kun m: sub lowval (Int $x) { $x > 10 ?? $x - 10 !! $x }; say lowval(15); say lowval(3);
camelia 5
3
20:20 cpan-p6 left 20:21 cpan-p6 joined
tony-o .tell jmerelo #222 would be a good plugin, it seems outside of the scope of installing packages 20:21
yoleaux tony-o: I'll pass your message to jmerelo.
tony-o .tell jmerelo i'm working on getting stuff like `require xyz:file<>` to work in a way that would make plugins work nicely with zef and when that happens there'll be a lot more documentation surrounding it. writing docs about it right now is a waste of everyone's time as the interface _will_ change and it consumes time that is better spent making plugins better/saner and writing docs about that 20:24
yoleaux tony-o: I'll pass your message to jmerelo.
20:26 sena_kun left 20:27 diakopter joined 20:30 diakopter left
dominix I use a lot the perl6.org documentation, and there is absolutely no mention in the type/class "sub" about is copy 20:31
without the help of this IRC channel it would be impossible to learn perl6 20:32
to me at least. So I guess a special effort should be put on a reliable documentation
lizmat dominix: please report documentation issues at github.com/perl6/doc/issues
without people like you, it's very hard to realize what is missing / needs to be fixed 20:33
dominix My point of view there should be a perldoc like full documentation delivered with rakudo
lizmat: I will 20:34
lizmat dominix: since rakudo is *an* implementation of Perl 6, it was decided to make the documentation separate
to allow other implementations to use that as well
20:34 domidumont left
lizmat dominix: thank you 20:35
dominix: also, github.com/perl6/doc
dominix a perldoc like running on perl6 code should run on any implementation of perl6 .. isn't it ?
20:35 cpan-p6 left
lizmat dominix: indeed, and that's what github.com/perl6/doc intends to be 20:35
20:36 cpan-p6 joined 20:40 ravenousmoose left
timotimo that just means it shouldn't go into the rakudo repository 20:47
though since rakudo would already pull nqp and moarvm while building, it stands to reason that it could have something in there for grabbing the docs even without zef 20:48
20:49 cpan-p6 left, cpan-p6 joined 20:50 TeamBlast left 21:02 w17t left 21:04 cpan-p6 left, cpan-p6 joined 21:08 leszekdubiel joined
leszekdubiel I have problem perl6 fails to pars 3mb file. Here is git repo: github.com/leszekdubiel/perl6-fail...e-3mb-file 21:08
Prints error: moar: src/unix/core.c:539: uv__close: Assertion `fd > STDERR_FILENO' failed. 21:09
21:14 leszekdubiel left 21:18 cpan-p6 left, cpan-p6 joined 21:25 markong joined, markoong left 21:27 zachk joined 21:30 hph^ joined 21:32 mowcat joined 21:33 cpan-p6 left, cpan-p6 joined 21:36 MasterDuke left 21:48 cpan-p6 left, cpan-p6 joined 21:54 pyrimidine left 21:55 pyrimidine joined 22:03 cpan-p6 left, cpan-p6 joined 22:05 skids left
timotimo is that a windows thing? 22:07
like the way we don't handle sigpipe by default? 22:08
the thing gets its input from cat and feeds its output to wc 22:09
22:10 leszekdubiel joined
leszekdubiel this is Ubuntu 22:10
it doesn't matter whether it is wc at the end.
cat data_more.txt | ./parse_by_perl6.p6 -- fails 22:11
./parse_by_perl6.p6 < data_more.txt fails too
22:18 cpan-p6 left, cpan-p6 joined 22:22 abraxxa left
discord6 <Vendethiel> Windows doesn’t have SIGPIPE AFAIK 22:25
22:31 cpan-p6 left 22:32 cpan-p6 joined, guifa left 22:33 guifa joined 22:39 MilkmanDan left, MilkmanDan joined 22:42 molaf joined 22:46 cpan-p6 left 22:47 cpan-p6 joined 22:49 sivoais left 22:53 ferreira left
timotimo leszekdubiel: can you try "./parse_by_perl6.p6 data_more.txt"? 22:53
22:55 lucasb left
Skarsnik timotimo, how would you write an asm interpreter? x) 22:57
and hello btw
22:57 MilkmanDan left 22:58 MilkmanDan joined 23:00 cpan-p6 left, cpan-p6 joined
timotimo interpret text assembly files or machine code? 23:03
Skarsnik text file
I mean will be a compiler too anyways since you need the size of instruction to handle jump correctly :( 23:04
leszekdubiel time ./parse_by_perl6.p6 data_more.txt
timotimo ah, the text file won't have the address in every line of course :(
leszekdubiel works ok
but returns Nil
timotimo huh 23:05
Skarsnik I mean JMP .labelName is easy to handle I guess, but JMP ($00) is another story ^^ 23:06
it's mostly for teaching ASM, being able to execute instruction step by step sound interesting
timotimo i've actually written an assembler + machine interpreter in python in school 23:07
Skarsnik hm
timotimo including an editor with syntax highlighting 23:08
Skarsnik I did a small one in C for a corewar too
timotimo and memory inspector
Skarsnik I was wondering if with grammar it could be fun to write
but I feel writing a thing a C++/Ui is better if you have to do everything "manually" 23:09
timotimo shrug, make it a SPA with react or something :)
Skarsnik SPA?
23:10 natrys left
timotimo single-page application 23:10
* 337e02a - (HEAD -> master) initial checkin (9 years ago) <Timo Paulssen> 23:11
Skarsnik I am thinking, maybe just using Perl 6 grammar and action to generate something to execute? 23:12
like the grammar will just check stuff and calculate instruction size 23:13
timotimo you could do that, but beware that a crafty user could jump to an address that doesn't fall onto a single register :)
Skarsnik it's for the SNES asm, you have one accumulator (*** this) and 2 index register
timotimo oh, a snes! we have that guy in the community who knows all about that stuff! oh, wait, it's you :D 23:14
23:14 cpan-p6 left, cpan-p6 joined
discord6 <Rogue> A grammar might be good to understand the structure of it, but I feel like having all the logic in an actions class would be unwieldy 23:14
Skarsnik one accumulator is annoying when you need to do some operation involving multiple variable 23:15
timotimo yeah
for sure
Skarsnik the code is for me. I just want something I can run instructions step by step to show people how memory/acumaltor/register work 23:16
I guess coding a full VM could be interesting to debug code too
timotimo sure :) 23:18
you'll end up with a full emulator in no time if you're not careufl
Skarsnik na 23:19
it's too much work
timotimo aaw
Skarsnik The APU is another ASM and the PPU run stuff on its own
timotimo now here's something we should strive to reach: i just ran some code from 2009 that uses pygame and pyopengl and it still works like back then
Skarsnik I wish someone did a Qt binding one day 23:20
*do
or at least a good way to emdbed Perl 6 in C++
23:20 ferreira joined
Skarsnik a QML with Perl 6 instead of JS could be fun 23:21
23:28 cpan-p6 left, cpan-p6 joined
leszekdubiel @timotimo... shall I do something with this error? file a bug? 23:29
23:32 Skarsnik left
timotimo leszekdubiel: can you check out what strace says? i'm not sure what it's doing 23:32
though strace will spew a lot of output for a 3 meg file i guess? 23:33
TreyHarris timotimo, AlexDaniel` : From yesterday, the ASCII characters that have the Emoji property are 0-9, *, and #, because they're used in keycap modifiers. E.g. 4️⃣
unicodable6: 4️⃣ 23:34
unicodable6 TreyHarris, U+0034 DIGIT FOUR [Nd] (4)
TreyHarris, U+FE0F VARIATION SELECTOR-16 [Mn] ( ️)
TreyHarris, U+20E3 COMBINING ENCLOSING KEYCAP [Me] ( ⃣)
TreyHarris unidump: 4️⃣
unicodable6 TreyHarris, gist.github.com/9b9b0dc2e56f70e10a...9537c3a053
TreyHarris That probably looked like just plain "4" to you if you're in a terminal; that gist will display it correctly in a GUI browser 23:35
timotimo i see it as a bright blue box with white text on it
so it's barely readable
TreyHarris I think the characters AlexDaniel` was thinking of are ones in Latin-1, like ™️, that were always pictograph-like 23:37
leszekdubiel github.com/leszekdubiel/perl6-fail...strace.txt
TreyHarris unidump: ™️
unicodable6 TreyHarris, gist.github.com/eb8145fec5a5fb8cb9...5425a42e2f
leszekdubiel timotimo: strace is on github as link above 23:38
command was: strace ./parse_by_perl6.p6 data_more.txt 2> strace.txt
TreyHarris Ugh, when variation selectors get into your clipboard buffer it is really hard to weed them out.
unicodable6: ™️ 23:39
unicodable6 TreyHarris, U+2122 TRADE MARK SIGN [So] (™)
TreyHarris, U+FE0F VARIATION SELECTOR-16 [Mn] ( ️)
timotimo ah, that's the one where it works 23:40
leszekdubiel another command: cat data_more.txt | strace ./parse_by_perl6.p6 2>strace_with_cat_and_pipe.txt and the result: github.com/leszekdubiel/perl6-fail...d_pipe.txt 23:41
23:42 cpan-p6 left, cpan-p6 joined 23:55 leszekdubiel left 23:57 cpan-p6 left, cpan-p6 joined