»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
timotimo so i'd press left-arrow and i'd get the ESC and the [, but then i press q and i get D, then i press q again and i get q 00:00
i used termios' makeraw command for this 00:01
and why is termios' examples working on fd 1 instead of 0? well, probably because stdout, stderr, and stdin are usually all the same fd under the hood? 00:02
00:03 Sound joined, Sound is now known as Guest21284, Guest21284 left 00:08 imcsk8 joined
geekosaur more importantly they're usually the same terminal 00:08
and, hiistorically, there used to be some oddnesses where some systems only let you do certain operations if the fd was open for read instead of read/write or write 00:09
(early termios was often emulated on top of the native API) 00:10
00:11 Sound_ joined
samcv ugexe, i'm working on that grammar atm 00:11
i have what you said in my comment working for one order of parens finally now for the other.
progress
00:14 geekosaur left 00:17 geekosaur joined 00:18 Sound_ left 00:19 Sound_ joined 00:20 Sound_ left, Cabanossi left 00:22 Cabanossi joined 00:28 bjz joined
timotimo haha, my tired butt wasn't realizing i was dealing with strings 00:32
so "looming combiners" problem
00:32 espadrine left 00:35 AlexDani` left
timotimo we might want to have a module that handles input via terminals as an event-based interface 00:36
so you'd get arrow keys, you'd get copy-paste, you'd get keys with ctrl held, stuff like that 00:37
perhaps have a little bit of functionality for text input, too
(because writing your own line editor is not a problem at all)
mouse input, too
raschipi Transforming the terminal input into something more like what X11/Wayland does? 00:39
timotimo i was thinking more like SDL, but it's all the same kind of deal
BenGoldberg is hoping for some sort of Supply 00:42
timotimo a supply would probably be good 00:43
if you have something main-loop-like at all, supply doesn't make so much sense, i'm afraid
raschipi Then it would have to be more like curses, where the application has to poll input. 00:44
timotimo again, like SDL 00:45
Geth ecosystem: 9045b6bd8e | (Matt Oates)++ (committed using GitHub Web editor) | META.list
Mark all MattOates repos as using META6.json
u-ou that sounds less perl6y than Supply
timotimo sure you can manipulate program state in an event-loop-like extra thread, which is what a supply would entail, i'd say
it's not unlikely that i'd want to use supply api to do things like "figure out ansi escapes" 00:46
raschipi Create an auxiliary module that polls the input constantly and reemits the appropriate events on the supplie(s). 00:49
timotimo right 00:50
it's easy to turn a supply into a channel
in fact, i think a supply has a Channel method
then you can receive stuff from the channel in your main loop
samcv uh ugexe i'm done with that script 00:54
err grammar
ugexe, github.com/samcv/zef/blob/spdx-par...xparser.p6
err forgot to push. ok there 00:55
01:02 quester left
timotimo sadly, batch with :seconds will not automatically spit out stuff when the seconds after the last item have elapsed 01:05
you'd have to regularly emit empty messages to cause that
or i'd have to use throttle instead of batch
hmm, throttle is also not the right thing, is it? 01:06
01:06 ggoebel left
u-ou why would you hvae to emit empty 01:08
why would you have to emit empty?
timotimo so that you don't have to hit a key so that previous inputs would be recognized
okay it's bedtime for me 01:09
i'll ponder stuff s'more tomorrow 01:10
seeya 01:17
u-ou night
01:18 skink left 01:19 ggoebel joined 01:37 raschipi left 01:40 semigloss joined
u-ou why is python so popular 01:41
Juerd Could be because it's pretty good. 01:48
02:04 skids joined 02:11 silug joined 02:19 Cabanossi left 02:22 Cabanossi joined 02:27 semigloss left 02:39 BenGoldberg left 02:45 noganex joined 02:49 noganex_ left 02:51 raiph left, raiph joined 02:59 raiph left 03:00 raiph joined 03:12 BenGoldberg joined 03:19 bjz left
samcv ok i think Matt Oates wins internet points 03:23
for being the module that passed the 50% mark
\o/ 03:25
oh wait.
it says 50%. is that exactly 50%... i thought i had big precision here. maybe it is. yes
it's exactly 50%.
so i guess the next person gets internet points?
TEttinger it's oates' other module 03:28
(just guessing) 03:29
I mean, if I were going through updating more than one module, it wouldn't be simultaneous
samcv hmm? what wouldn't
TEttinger the updates
samcv it gets them from githubmaster though
my checker. not the collation of meta files 03:30
TEttinger so oates would update to the 50% mark, then update another possible module he has maybe and pass that mark?
samcv sure
anybody can get access to the points :)
TEttinger hehe
03:35 Cabanossi left 03:36 Cabanossi joined 03:49 khw left 03:53 bjz joined 03:58 aborazmeh joined, aborazmeh left, aborazmeh joined
u-ou hi perl6 04:17
04:34 Cabanossi left 04:36 Cabanossi joined 04:42 labster left
samcv is this a useful thing. i made a module that as an argument takes an Array of pairs. where the key is identifier (name) and the value is an array of arguments 04:50
given to Proc::Async. so you can give it hundreds of things to run, and it will wait for all to run and then return the output from all 800 or so
or however many you want
i've experimented and that is faster than using start { } blocks, just creating a bunch of procayncs 04:51
05:00 aindilis joined
skids If the start blocks were running external processes, I'd expect that to be faster... or were they doing just pure perl6 things? 05:05
05:07 poohman left, poohman joined
samcv running programs 05:08
yeah it's for running programs mostly
though you could run perl6 scripts if you wanted
cause i needed a way to dl all 800 metadata files a sfast as possible cause i don't have all the time in the world lol
so dl's in like 20 seconds? 05:09
way less than super long many minutes get a coffee while you wait thing
skids Yeah then I'd expect Proc::Async to be the most direct interface to use, vs a start { run }. 05:10
samcv i'm timing it now to see how fast it is 05:12
ok 32s for 822 processes
.o(wonders how long it'd take 9000 echo processes 05:14
05:15 poohman left
samcv uh oh 05:16
Unhandled exception in code scheduled on thread 15.... a few more times then too many open files XD 05:17
i tried to do 9000 at once
skids That's probably a ulimit or some new fangled process group limit.
samcv i don't think i have a limit set hm 05:18
yeah i do not
not ulimit at least
e
hmm system is at 1616326 05:19
skids ulimit -Hn shows the per-user hard limit. 05:22
samcv oh no 05:23
that's way too low
05:24 aborazmeh left
samcv i love my `halp` utility. it acts like man sorta. you type `halp ulimit` and it checks if there's a man, otherwise checks if there's a -h or --help option, checks if there's any `info` command output 05:26
if it still can't find anything it asks if you want to google it, you type y or n
so it does all that with typing one commad and brings you the information. infinitely useful
github.com/samcv/scripts/blob/master/halp.sh 05:27
nobody got time to try all like options of the command and man and info... 05:28
skids Speaking of time I should probably already be asleep by now :-). n8 05:30
05:31 skids left
samcv ok it worked when i increased the soft limit to 4096 05:35
05:38 cyphase left 05:46 kurahaupo left 05:51 cyphase joined 06:06 sena_kun joined 06:13 Grauwolf joined, Grauwolf left, Grauwolf joined 06:19 Cabanossi left 06:21 Cabanossi joined 06:29 CIAvash joined 06:38 wamba joined 06:41 parv joined 06:50 BenGoldberg left 06:55 bioexpress joined
bioexpress Hello, can somebody tell me, why the >"license" : "Artistic-2.0",< line is removed from the META6.json file, if i call >mi6 build<? 07:06
sena_kun bioexpress, seems like a bug. 07:09
.seen skaji 07:10
yoleaux I saw skaji 8 Dec 2016 00:54Z in #perl6: <skaji> If I create a long running program, I want to make sure no resouce leak occur.
sena_kun skaji, ping.
07:12 mr-foobar joined 07:13 wamba left
sena_kun not sure about a quick reply, though. bioexpress, I think, you can open an issue at github.com/skaji/mi6/issues 07:13
07:14 wamba joined
bioexpress Ok, thx. 07:14
07:18 bioexpress left 07:31 setty1 joined 07:33 Actualeyes left 07:40 labster joined
sammers hi all 07:50
sena_kun sammers, o/
sammers hello
is HardRoutine still a thing? There is nothing in docs about it but it is mentioned here github.com/perl6/specs/blob/master...utines.pod 07:52
07:55 Actualeyes joined 08:11 rindolf joined 08:14 pierre_ joined
moritz no 08:17
at least, it was never implemented
08:21 AlexDani` joined, AlexDani` is now known as AlexDaniel
sammers thanks moritz 08:28
08:45 CIAvash left
sammers m: my $str := 'Hello'; $str := 'World'; say $str; 08:58
camelia World
samcv ugexe, playing around with a parser class for spdx grammar. this is my first real parser class. so i could be doing horrible things :) 09:00
09:01 parv left
samcv keeping it here github.com/samcv/SPDX-Parser 09:01
09:30 kurahaupo joined 09:33 Actualeyes left
samcv ack grammars are hard. i just keep making things worse 09:41
09:42 Actualeyes joined
samcv the methods called in the 'parser' class when you parse a regex. what order are they called in? 09:42
09:46 Actualeyes left 09:48 Cabanossi left 09:49 kurahaupo left 09:51 Cabanossi joined 09:52 pierre_ left 09:54 damnlie left 10:03 damnlie joined 10:05 espadrine joined 10:08 pmurias joined
timotimo excuse me, what? :) 10:09
what parser are you refering to? 10:10
10:16 labster left 10:28 TEttinger left 10:34 Grauwolf left 10:35 Cabanossi left 10:36 Cabanossi joined 10:42 bjz_ joined 10:44 bjz left 10:45 cyphase left 10:50 felher joined
Geth Swapped META.info → META6.json in 2 dists in github.com/perl6/ecosystem/commit/a5c7bb82d4 10:53
samcv one i made timotimo 10:56
i just linked to it :>
github.com/samcv/SPDX-Parser
10:57 cyphase joined, Actualeyes joined
timotimo yeah, but what do you mean by "methods in the parser class"? 11:04
11:04 Cabanossi left 11:05 Grauwolf joined 11:06 Cabanossi joined
samcv github.com/samcv/SPDX-Parser/blob/...m6#L54-L98 11:13
Grammar::SPDX::Expression.parse(@list[4].key, actions => parsething.new);
uses parsething class to uh parse i guess. or actions 11:14
timotimo yeah, we call those action methods
samcv this is new to me. so maybe it's called actions class
ok
timotimo an action method is called as soon as a same-named token/regex/rule in the grammar has successfully parsed 11:15
samcv yeah the action methods are called in an order that confuses me
ok well it seems to parse the shorter ones first
so i guess i need to make uh. different tokens that have a usable $/
because the ones called first don't help me if i don't know where the parenthesis are and things. 11:16
timotimo "shorter ones"?
samcv the <simple-expression> tokens. the smaller ones
timotimo if you have nested matches, the "innermost" stuff will be called first
samcv i want the opposite :P 11:17
timotimo just have the logic in the outer action methods
samcv ok so i need to ignore the innermost. and then access the innermost matches from the outer tokens?
ok
jnthn Or have the innermost ones produce things that the outer ones can put together 11:18
samcv i tried that. but it got confusing
and got bad fast. i mean it works for some cases atm. but others it explodes because it's. uh. how i did it is not good. will try something else
jnthn :)
samcv ok. i access it with $<foo> for token foo { }; but what if i have token foo:sym<baz> 11:20
i know i can use $<foo> but any way to tell which sym it was that matched?
timotimo i believe the individuals take the common spot?
since the name it gets installed for is determined by what the calling regex looks like 11:21
like, when you have <foo>, it'll be in $<foo>, if you have <baz=foo> you'll have $<foo> and $<baz> holding this, if you have $<foo>=[abc] it'll have something in $<foo>, too 11:22
samcv ok but what if i don't have any = 11:23
than it's indistinguishable?
11:24 vips joined
vips hi 11:25
pmurias hi
samcv hi
timotimo no, it's just what's inside the < > 11:26
vips i am interested in Perl 6 libraries enrichment, please let me know if i can take some part. 11:29
timotimo cool 11:31
there's a "most wanted" list that you can get ideas from if you want, otherwise you can build whatever you find interesting and/or useful
vips cool 11:32
timotimo github.com/perl6/perl6-most-wanted...modules.md - there it is 11:33
vips thanks :) 11:34
timotimo the link "native library bindings" at the top of this document is also interesting 11:35
please be aware that this page isn't necessarily updated as soon as something happens, though
and i'm not sure why there's a "Databases" section with Sql in it that doesn't also list DBIish? 11:36
vips hmm 11:38
11:47 mr-foobar left 11:51 vips left
timotimo well, it's clearly not infallible :) 11:53
11:56 mr-foobar joined
samcv m: say 'MIT OR GPL-1.0 OR BSD' ~~ / ( \S+) <.ws> (\S+)/; 12:03
camelia 「MIT OR」
0 => 「MIT」
1 => 「OR」
samcv is there way i can do this but uhm
i need to match infinite numbers of them
like as string of LICENSE OR LICENSE OR LICENSE
timotimo m: say 'MIT OR GPL-1.0 OR BSD'.words.perl 12:04
camelia ("MIT", "OR", "GPL-1.0", "OR", "BSD").Seq
samcv no with grammars
timotimo you could put [ ] around it and a + after the ]
samcv then i tbecomes (\S+) <.ws> OR (\S+) (\S+) OR (\S)+ 12:05
which is double the number
timotimo huh?
oh
yeah, you want to use the % operator
12:05 Cabanossi left
timotimo m: say 'MIT OR GPL-1.0 OR BSD' ~~ / (\S+)+ % (\S+ <.ws>) / 12:06
camelia 「MIT」
0 => 「MIT」
timotimo m: say 'MIT OR GPL-1.0 OR BSD' ~~ / (\S+)+ % (<.ws> \S+ <.ws>) /
camelia 「MIT OR GPL-1.0 OR BSD」
0 => 「MIT」
1 => 「 OR 」
0 => 「GPL-1.0」
1 => 「 OR 」
0 => 「BSD」
12:06 Cabanossi joined
samcv so that extends the left hand side? 12:06
or the right hand side
Geth doc: c7e32e2c2b | (Zoffix Znet)++ | doc/Type/IO/Spec/Unix.pod6
[io grant] Document IO::Spec::Unix.curupdir
12:07
timotimo it extends the lhs, by putting the rhs in between instances of the lhs
samcv ok cool
got it
12:11 dct joined
Geth doc: 2f2686b71f | (Zoffix Znet)++ | 8 files
Add "Defined as" prefix text before sig codes

Like we commonly have in the rest of the docs
12:15
12:20 dct left
samcv m: say 'THAT OR THIS OR GPL' ~~ / [\S+ ' OR ' ]+ % \S+ /; 12:25
camelia 「THAT OR THIS OR 」
samcv help
12:25 leah2 joined
timotimo well, yeah 12:25
why do you put OR there and not in the %? 12:26
samcv timotimo, your example isn't helping me that much because you use \S for everything. but OR needs to be seperate
timotimo because % makes sure to not require the thing at the end
samcv ah
timotimo (except if you use %% which optionally allows the in-between thing to occur once at the end as well)
Geth doc: fe489dc161 | (Zoffix Znet)++ | doc/Type/IO/Spec/Unix.pod6
[io grant] Document IO::Spec::Unix.curdir
samcv m: say 'THAT OR THIS OR GPL' ~~ / [ \S+ ]+ % ' OR ' /;
camelia 「THAT OR THIS OR GPL」
samcv yay
thank you! 12:27
omg this saved my life
timotimo p6 regex are cool :) 12:29
AlexDaniel u: bullet 12:31
unicodable6 AlexDaniel, U+2022 BULLET [Po] (•)
AlexDaniel, U+2023 TRIANGULAR BULLET [Po] (‣)
AlexDaniel, 14 characters in total: gist.github.com/b783771d5924f59760...fbee9b3dd7
12:33 Cabanossi left
Geth doc: 83d5de0f28 | (Zoffix Znet)++ | doc/Type/IO/Spec/Unix.pod6
[io grant] Document IO::Spec::Unix.updir
12:36
12:36 Cabanossi joined 12:37 chansen_ joined 12:40 pnu__ joined, ggherdov joined 12:48 rodarmor joined
samcv now i got infinite loop :( 12:50
of matches
12:50 araraloren joined
timotimo why can't i hold all of these matches 12:51
samcv oh it goes a level deeper each time
of the exact same match 12:52
timotimo huggable: speed
huggable timotimo, tux.nl/Talks/CSV6/speed4.html
timotimo huggable: test-t.pl
huggable timotimo, nothing found
timotimo buggable: speed
buggable timotimo, ▁▃▁▁▂▄▅▂▄▂▃↑▆▃▂▄▄▄▄▄▄▅▄▄↑▅▇▆▅▅▅▇▆▅▄▅▅▂▂▃▄▄↑▆▅▅▅▇█▄ data for 2017-04-10–2017-04-30; range: 4.921s–5.479s; 4% slower
timotimo ...
what's the fact that tells me how to properly prepare hello.csv?
12:53 w4and0er96 joined
timotimo is it 50k lines? 12:53
12:53 pierre_ joined 12:56 Actualeyes left 12:58 pierre_ left
samcv i'll work on this again tomorrow ugh 13:05
the reason i did it crappily was because it would just loop forever :(
but then that makes the $/ i need to parse not good at all in actions methods 13:06
timotimo were you giving it a way to match the empty string multiple times in a row?
because it'll happily match the empty string at any position as often as it can
which is very often
13:08 cgfbee left
samcv uhm github.com/samcv/SPDX-Parser/blob/...Parser.pm6 13:08
timotimo any luck with Grammar::Tracer or something?
when i run spdxtest.t it doesn't infiniloop; can you upload your latest code? 13:09
oh, i'm on master
samcv ye
timotimo good
samcv grammar tracer is broken
and so is grammar debugger
annot invoke this object (REPR: Null; VMNull)
timotimo whoops, it crashes, yeah
13:11 Actualeyes joined
timotimo it might just be that terminal::ansicolor changed from beneath it 13:11
hm, dunno, perhaps it just explodes on the first line 13:13
samcv oh grammar::debugger? 13:14
i gotta go to bed!
o/ night
timotimo nite! 13:15
Geth doc: 4804128065 | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
[io grant] Document IO::Handle.DESTROY
13:16
doc: 987f735743 | (Curt Tilmes)++ (committed by Zoffix Znet) | doc/Language/ipc.pod6
Added a note about run/shell exceptions due to non-zero exits (#1294)

  * Add section on rendering Pod to Text
  * typo head => head2
  * Add note about run/shell exceptions
13:22
doc: 3023441a8c | (Zoffix Znet)++ | doc/Language/ipc.pod6
Reword; use better idiom for not-sinking
13:24
13:29 kurahaupo joined 13:30 astj joined 13:37 pierre_ joined 13:38 semigloss joined
Geth perl6-examples: 0c96817860 | (Shlomi Fish)++ | categories/euler/prob125-shlomif.p6
Remove some unneeded quotes.
13:44
perl6-examples: 13312f174f | (Shlomi Fish)++ | categories/euler/prob125-shlomif.p6
Convert to SetHash.
perl6-examples: 9640e566d6 | (Shlomi Fish)++ | categories/euler/prob601-shlomif.p6
Add solution to Euler #601.

Based on:
  github.com/shlomif/project-euler/b..._601_v1.py
It emits identical output to it, but it is much slower than when the original code is ran by cpython2, cpython3 or especially pypy2.
13:57 khw joined 13:58 bjz_ left 14:02 bjz joined
robertle I often do something like "our $DEBUG = False" in a module or even class, and then conditionally emit extra output. this way you can turn on the extra debug from the outside. seen this a million times all over other people's code too. is this (still?) a good thing to do? or is there a neater way to achieve the same? 14:10
and if this isn't a terrible thing to do, how do I do it in a role? they seem to have a (to me) surprising behavior around packages/namespaces... 14:11
14:13 pierre_ left
DrForr robertle: I actually prefer $*DEBUG for that sort of thing. 14:15
robertle so a single global one rather than one per namespace? 14:18
14:18 felher left, leah2 left
timotimo i'd introduce an environment variable, since it's not always possible to go into the code where i'd have to set the $DEBUG or $*DEBUG to make the right stuff appear 14:20
robertle right, that's an option as well!
14:20 zakharyas joined
robertle btw: shouldn't $*DEBUG be listed on docs.perl6.org/language/variables? 14:20
DrForr It's just a dynamic variable, not a "special" 14:21
robertle right
DrForr And yeah, if you want to do multiple types of debugging, using %*ENV is another way to go. 14:22
You still run the risk of name conflicts either way. 14:23
robertle ..which is where the "our" approach is really nice!
14:24 felher joined
DrForr In my case I have a few things I want to turn on just inside test scripts, extra validation and such that end users don't need. 14:25
14:25 astj left
robertle ok, I think that gives me enough options and ideas. another question: sometimes I have functionality that I could expose through a pure procedural interface, but that are often used in an OO fashion 14:26
so for simple cases, I currently do e.g. a "unit role XYZ" with some methods in it
but also have sub mystuff() is export in the same file. this way IO can use the same module either in a OO fashion or procedurally 14:27
typically the two fall abck to common "my sub" implementations"
the whole thing feelks a bit like a hack and a bit dirty as well. is it? am I relying on some behavior that is going to go away? 14:28
DrForr It's a bit more work to keep in sync, certainly. I don't think you're relying on shady behavior though. 14:31
14:35 bjz left 14:36 Cabanossi left 14:38 Cabanossi joined 14:41 leah2 joined
Geth perl6-examples: 0179ad6c6b | (Paul Cochrane)++ | .gitignore
Ignore all .precomp dirs
14:54
perl6-examples: f07c780949 | (Paul Cochrane)++ | README.md
Fix quoting in README
15:02 leah2 left 15:04 lorenzoi joined
lorenzoi hello, is it possible to use variables in HashMap accessing, i.e `my %hash = ("x" => "Some Value") ; my $variable = "x"; randomHash<$variable>` 15:06
oops i meant `%hash<$variable>` 15:07
timotimo of course
just use { } instead of < >, or use << >>
lorenzoi oh, thanks!
timotimo < > is much like ' ', it makes strings and won't let you interpolate stuff
but << >> is like " ", which allows interpolation 15:08
and { } is hash access without stringifying
DrForr <> are for qw-like stuff, no interpolation.
15:08 astj joined 15:10 leah2 joined, leah2 left
robertle I was wondering what the reason to use < > over { } for hash acces was? I have seen it but can't find a good reason. except that it saves you the extra quotes... 15:11
15:11 leah2 joined
timotimo it saves you quotes and commas 15:11
you quite commonly have literal hash keys in your code 15:12
araraloren it press easier than {}
robertle that's what I thought. I am personally not so tight on individual characters ;)
araraloren haha..
15:13 astj left
timotimo < > is also a signal for "only literals here" 15:13
whereas { } could have anything in it, including flattening
lorenzoi I just read the perl6 intro site, it doesn't include the <<>> thing.
timotimo perl6intro is just an intro :) 15:14
DrForr lorenzoi: There's lots of stuff it doesn't cover :)
lorenzoi is there a better documentation then?
that has a layout like perl6 intro?
15:14 pierre_ joined
DrForr docs.perl6.org 15:14
timotimo the "language" section of docs.perl6.org is probably what you're looking for 15:15
lorenzoi oh .__.
araraloren You can refer this docs.perl6.org/language/quoting 15:16
lorenzoi knows nothing
araraloren It covered Perl6 quote syntax
15:18 Actualeyes left 15:19 pierre_ left 15:29 stmuk joined 15:30 stmuk_ left 15:33 ChoHag left 15:37 stmuk_ joined 15:38 stmuk left
lorenzoi is there a way to make strings come out colored in the terminal? 15:46
araraloren maybe you can use a module 15:47
lorenzoi oh.
15:48 rindolf left
araraloren modules.perl6.org/#q=color 15:48
Here is the module list of Perl 6
gfldex lorenzoi: see line 33-45 in github.com/gfldex/perl6-meta6-bin/...in.pm6#L33 15:49
DrForr lorenzoi: Terminal::ANSIColor
gfldex then you just `say RED "your string here";`
lorenzoi gr8 15:50
15:50 rindolf joined
lorenzoi thinks that perl6 is better than python 15:51
lorenzoi thinks that perl6 is better than python in syntax and community
araraloren :)
gfldex m: my &BOLD = sub (*@s) { "\e{@s.join('')}\e" }; say BOLD "foo";
camelia foo
gfldex github is busy today. I'm getting loads of timeouts. 15:53
what is nice because I wanted to teach META6::bin how to retry anyways :)
araraloren m: my &RED = sub (*@s) { 15:54
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3my &RED = sub (*@s) {7⏏5<EOL>
araraloren "\e{@s.join('')}\e"
}; say RED "I love Perl 6";
m: my &RED = sub (*@s) { "\e{@s.join('')}\e" }; say RED "I love Perl 6";
camelia 5I love Perl 6
15:55 felher left
gfldex m: my &RED = sub (*@s) { "\e{@s.join('')}\e" }; say RED "Perl 6 ♥ araraloren"; 15:55
camelia 5Perl 6 ♥ araraloren
15:56 BenGoldberg joined 15:58 stmuk joined 16:01 stmuk_ left
lorenzoi im a weird person, I like having scopes in my code for testing. 16:02
16:06 stmuk left 16:07 stmuk joined
timotimo i don't know what that means 16:07
lorenzoi a scope like `{ my $x = "Valid" } say $x #invalid` 16:12
well I call 'em scopes cause I also write Rust. 16:13
timotimo ah
yeah, lexical scopes
i don't know what "for testing" means in this case, though?
araraloren Rust is a good language ..
lorenzoi oh i mean when I want to test a feature in my code without screwing anything up, trust me it happened before. 16:14
to me
16:16 pierre_ joined, stmuk_ joined
timotimo oh, right 16:17
16:19 stmuk left 16:20 pierre_ left, stmuk joined 16:23 stmuk_ left 16:30 ChoHag joined 16:31 stmuk_ joined 16:32 stmuk left 16:34 zakharyas1 joined, stmuk joined 16:35 zakharyas1 left, zakharyas1 joined 16:37 stmuk__ joined, stmuk_ left 16:39 stmuk_ joined, zakharyas1 left, Cabanossi left, stmuk left 16:40 lorenzoi left 16:41 stmuk__ left, Cabanossi joined 17:16 domidumont joined 17:21 domidumont left 17:22 domidumont joined 17:23 lorenzoi joined
lorenzoi success fully writen FizzBuzzWolf in 29 Lines of Pure Perl6 :) 17:23
Take that Rust :P 17:24
gfldex lorenzoi: please share! 17:30
lorenzoi ok!
17:30 labster joined
lorenzoi gist.github.com/lorenzoi/d1bd869b0...477cab454b 17:32
araraloren m: say 25 %% 5; say 25 %% 6; 17:33
camelia True
False
araraloren You can use %% replace `% =`
lorenzoi TIMTOWTOI 17:34
DrForr Change the 'say' to '$str += "Fizz";' and so on, and you can get rid of all but the last 4 cases :)
lorenzoi *TINTOWTDI
**TIMTOWTDI 17:35
DrForr Of course TIMTOWTDI as well :)
lorenzoi best thing is I wrote it First Try :) and its my first day writing Perl 6. 17:36
DrForr Party on!
How are you liking it so far?
lorenzoi its awesome. 17:37
DrForr Great! Where'd you hear about it? 17:38
lorenzoi I knew about it for a long time, I first heard about it in a Youtube Video. 17:40
DrForr Cool. You remember what the video was? (Just getting an idea of where people find out about this.) 17:42
lorenzoi www.youtube.com/watch?v=LR8fQiskYII&t Title: Larry Wall: 5 Programming Languages Everyone Should Know (and of course he has perl in there, he created it. :P ) 17:44
DrForr Neat! Glad to see it's getting around. 17:45
lorenzoi The comment section is full of Perl haters XD 17:47
17:48 skids joined
DrForr Color me surprised. 17:48
17:49 lorenzoi left
DrForr Suppertime here. Glad to see more people coming onboard. 17:52
gfldex lolibloggedalittle: gfldex.wordpress.com/2017/04/30/is...he-things/ 18:09
lizmat gfldex++ 18:10
timotimo i find the stray "cd ../perl6-concurrent-channelify" in the output a bit confusing 18:11
gfldex timotimo: I just wanted to find out if anybody would actually read that wall of text. :-> (also, fixed) 18:12
timotimo hah 18:13
18:13 zakharyas left 18:17 pierre_ joined, ugjka_ joined
timotimo so will there also be a quick way to get issues for all dependencies (maybe even transitive) of your module? 18:17
(and no, i don't want to also get rakudo, nqp, and moarvm issues in there, too :D)
18:17 obfusk_ joined 18:18 obfusk left
gfldex timotimo: wont be hard to implement, it's just a tree walk after all 18:19
18:19 ugjka_ is now known as ugjka 18:20 ugjka is now known as UgJkA, UgJkA is now known as ugjka 18:22 pierre_ left 18:24 ugjka is now known as UgJkA
timotimo right 18:24
not even sure if i want this feature for actual use 18:25
18:25 Cabanossi left 18:26 Cabanossi joined
rindolf Hi all! Can this be made faster while using the same algo - github.com/perl6/perl6-examples/co...a2c5303035 ? 18:26
lizmat rindolf: += is still poorly optimized, you could try using $i = $i + $l 18:29
timotimo i'd use a brace-less if for the ++$ret piece of code 18:30
though i'd imagine it'd be inlined by the optimizer already
18:30 pecastro left
lizmat timotimo: yeah, in my experience it is when hot enough 18:38
timotimo i meant by the static optimizer actually
18:42 labster left 18:44 labster joined 18:58 domidumont left, araraloren left
rindolf lizmat: ah 19:00
19:01 yqt joined
timotimo rindolf: will you share your results? also, have you already tried perl6 --profile yourscript.p6? 19:01
rindolf timotimo: i have not.
19:02 dustinm` left
timotimo i tend to go directly to the "routines" tab and sort by "exclusive time" and see which routines show up on top 19:03
19:07 noganex left, zakharyas joined
Geth perl6-examples: b5fd7f5640 | (Shlomi Fish)++ | categories/euler/prob601-shlomif.p6
Some optimizations.
19:09
rindolf timotimo: i only have one time-consuming routine there
19:11 dustinm` joined 19:14 espadrine left
timotimo calc_P? 19:15
rindolf timotimo: here is the profile - www.shlomifish.org/Files/files/text...16345.html
timotimo: yes
timotimo heh.
well, that doesn't tell us terribly much
but you're spending 50% of total time running % 19:16
have you considered using %% instead of %?
rindolf timotimo: i don't know what %% is
doc: %%
timotimo a %% b is true if a is evenly divisible by b 19:17
19:17 sena_kun left
MasterDuke_ i don't think there is a doc bot, but it's a good idea... 19:17
timotimo doesn't sound like a bad idea, yeah 19:18
MasterDuke_ rindolf: have you tried making variables native ints? 19:19
timotimo for % to %% you'll of course have to flip if to unless
rindolf MasterDuke_: no, but they need to be 64-bit 19:20
timotimo huh, it's hardly any faster at all
native ints on moarvm are always 64bit
MasterDuke_ native ints are 64bit if you're on a 64bit system
rindolf MasterDuke_: ah 19:21
MasterDuke_ timotimo: i've found %% to usually be slower, since it calls % it just creates an extra method call
19:21 programmingnewbi joined
programmingnewbi Hello everyone. I have a question. Is Perl6 production ready? 19:22
timotimo why does it call %?
it shouldn't need to do that, tbh
let me loook
programmingnewbi: we almost always say "it depends on your use case". got any more detail to help us answer your questions? 19:23
MasterDuke_ timotimo: github.com/rakudo/rakudo/blob/07fe...ic.pm#L240
19:24 Cabanossi left
timotimo dang 19:24
MasterDuke_ looks like it doesn't anymore for the Int, Int case
timotimo at least for Int, Int it's a little bit better, yeah
dogbert17 well, making $l, $i and $t native ints gives a nice boost for starters
programmingnewbi Yes. I'm interested in using perl 6 as a backend language. Currently just learned basic frontend stuff and wondering what to learn next. Perl6 seemed like the best choice given its support for parallelism and concurrency
timotimo the one that's being called is from Int.pm fwiw
rindolf dogbert17: do you have a patch? 19:25
dogbert17 fake patch, the first four lines in Calp_P 19:26
my int $l = [lcm] 1 .. $s;
19:26 Cabanossi joined
dogbert17 my int $i = 0; 19:26
my $ret = 0;
timotimo programmingnewbi: yeah, it isn't bad for that. it used to crash semi-regularly when you used parallel stuff, but our lead technical designer spent a lot of time and energy on fixing that
dogbert17 my int $t = $s + 1;
it should be a measurable difference 19:27
19:28 Cabanossi left
programmingnewbi @timotimo thanks for the answer 19:28
19:28 Cabanossi joined
timotimo is there really no %% candidate for native ints? 19:29
MasterDuke_ was just wondering that myself
timotimo oh MasterDuke_, wanna do the renames for sql stuff together or something
also, wanna put in more "primary key" things? 19:30
MasterDuke_ timotimo: sure
Geth perl6-examples: 1fe0a7587c | (Shlomi Fish)++ | categories/euler/prob601-shlomif.p6
Speedup by using native ints.

Thanks to dogbert17 .
19:31
MasterDuke_ timotimo: i thought i saw you mention something before? callee_id -> id?
timotimo yep, that's one 19:32
rindolf dogbert17: thanks!
timotimo say, don't we also have deopt_all data somewhere in there? 19:33
yeah, we totally do
dogbert17 rindolf: np :) if you make $M a native int as well you'll se another boost
timotimo and it's not getting put into the sql output yet
MasterDuke_ timotimo: yeah, i just see deopt_one 19:34
timotimo yup, just get the deopt_all key from the hash as well
rindolf dogbert17: i already did
dogbert17 :) so now performance should be decent ata least 19:35
MasterDuke_ timotimo: deopt_all is an INT also?
timotimo yep 19:36
just a count
i kind of wish we could have optimizations for "we know the second arg is nonzero" in the static optimizer or something
MasterDuke_ timotimo: the `caller_id, callee_id` order i believe is an artifact from how i grabbed them before. i'm going to switch to `id, caller_id` 19:38
timotimo can we call it parent_id? 19:43
that makes it a bit more obvious, i think, that it's a tree structure
MasterDuke_ sure 19:46
timotimo allocations is strange 19:47
why does it have a caller_id and a callee_id?
MasterDuke_ cause i wasn't sure which was needed at first 19:49
timotimo so they just both get the same value?
MasterDuke_ no, the same values as a call entry at the same level 19:50
timotimo ah, i see 19:52
okay, but the id from the calls table will be all we need
MasterDuke_ can you think of any real reason to have both? or should i just remove caller_id and rename callee_id to call_id? 19:53
19:54 TEttinger joined
timotimo i can't see a reason for both 19:56
if you have the calls.id it belongs to, you've also got the calls.parent_id that goes along with it
MasterDuke_ yep 19:57
19:57 labster left 20:05 espadrine joined
MasterDuke_ timotimo: github.com/perl6/nqp/pull/356 20:14
20:22 dj_goku left
japhb .tell timotimo I noticed yesterday you were discussing raw and processed keyboard input in terminal UIs. See github.com/ab5tract/Terminal-Print...wInput.pm6 for early work on this, with github.com/ab5tract/Terminal-Print...es/tris.p6 for a test program. Last I tried it works fine right up until it stops accepting keyboard input; see github.com/ab5tract/Terminal-Print/issues/19 for the sa 20:24
yoleaux japhb: I'll pass your message to timotimo.
20:27 curt_ joined 20:28 stmuk joined
curt_ p6: my uint64 $x = 18446744073709551615; say $x; 20:28
camelia -1
curt_ Why not print '18446744073709551615'? 20:30
20:30 stmuk_ left
MasterDuke_ curt_: hmm, thought that had been fixed 20:32
c: releases my uint64 $x = 18446744073709551615; say $x; 20:37
committable6 MasterDuke_, ¦releases (18 commits): «-1»
TreyHarris has anyone written zef shell completions? I'm searching github but not finding anything 20:45
curt_ p6: my uint64 $x = 18446744073709551615; say $x == 18446744073709551615 ?? "good" !! "bad"; 20:54
camelia bad
MasterDuke_ c: releases my uint64 $x = 18446744073709551616; say $x; 20:55
committable6 MasterDuke_, ¦releases (18 commits): «Cannot unbox 65 bit wide bigint into native integer␤ in block <unit> at /tmp/D1P8KXcPfQ line 1␤ «exit code = 1»»
Geth Swapped META.info → META6.json in 8 dists in github.com/perl6/ecosystem/commit/9aab65394e 20:56
MasterDuke_ hm, maybe it was just int64 that i fixed and haven't done uint64 yet 20:58
c: releases my int64 $x = 18446744073709551616; say $x; 20:59
committable6 MasterDuke_, ¦releases (18 commits): «Cannot unbox 65 bit wide bigint into native integer␤ in block <unit> at /tmp/s1in6FNYUN line 1␤ «exit code = 1»»
MasterDuke_ c: releases my int64 $x = 2**63; say $x;
committable6 MasterDuke_, gist.github.com/23e49d799be41f8333...f3a05d2d61
MasterDuke_ ah, that was it 21:00
curt_: so yeah, native uints don't work very well now (i.e., they pretty much act like ints, not uints) 21:01
curt_ ok, thanks
21:03 bjz joined
MasterDuke_ i've been trying to fix it, but it's slow going (not my strong suit) 21:04
curt_ MasterDuke_: Thanks for all your work. It is appreciated, even if there is still more to go.. 21:05
MasterDuke_ curt_: of course if you know C... 21:06
21:07 Geth left 21:09 pecastro joined, dj_goku joined, dj_goku left, dj_goku joined
BenGoldberg m: my uint32 $x = 2**31; say $x; 21:11
camelia 2147483648
21:11 zakharyas left
BenGoldberg m: my uint32 $x = 2**32; say $x; 21:11
camelia 0
BenGoldberg m: my uint64 $x = 2**64; say $x; 21:12
camelia Cannot unbox 65 bit wide bigint into native integer
in block <unit> at <tmp> line 1
BenGoldberg m: my uint8 $x = 2**8; say $x;
camelia 0
21:12 stmuk_ joined
BenGoldberg . o O (A little bit more consistency would be nice ;)) 21:13
21:14 dj_goku left 21:15 stmuk left 21:16 stmuk joined 21:17 stmuk_ left 21:24 stmuk_ joined 21:26 stmuk left, stmuk joined 21:27 astj joined 21:29 stmuk_ left, stmuk_ joined
gfldex timotimo: as requested `meta6 --issues --one-line --url --deps` 21:30
21:31 astj left, stmuk left, stmuk__ joined 21:32 zacts left
timotimo i hope it wasn't too much work :S 21:32
gfldex timotimo: it would have been less work if github wouldn't be that slow today
timotimo are you running into rate limiting on their api? 21:33
gfldex no, I'm hitting timeouts
21:33 stmuk_ left 21:34 zacts joined
timotimo MasterDuke_: you know, we could even make call_id in allocations a primary key 21:37
21:37 ponbiki left 21:39 dct joined
MasterDuke_ not a unique one, but yeah 21:40
timotimo wow, i didn't know about /dev/fd
MasterDuke_ timotimo: looks like `integer primary key` requires uniqueness, so no go 21:55
timotimo oooh
of course
every routine allocates a bunch of different things
we can make a primary key built from two fields, though 21:56
routine and type
21:57 Rawriful joined
MasterDuke_ could also do foreign key constraints 21:58
22:02 haxmeister joined
haxmeister hello perl 22:02
gfldex m: say „Hallo haxmeister!“; 22:03
camelia Hallo haxmeister!
haxmeister just getting started on some tutorials found at : perl6intro.com
and ran into a snag with probably a simple explanation 22:04
gfldex place questions here ↓↓↓
haxmeister the following example statment: say "folder123".IO.d; seems to work differently than I expected
I use say "/var/tmp/portage".IO.d; 22:05
it doesn't like that much
that is a folder on my computer
nay
I'm an idiot 22:06
lol
sorry for the screen litter, the problem is solved
AlexDaniel haxmeister: glad to help! :)
haxmeister :-P 22:07
timotimo rather screen litter than kitty litter
haxmeister meow
AlexDaniel
.oO( if there are any other questions you can answer yourself, feel free to ask them! )
haxmeister was writing a little perl6 script friday to search through some folders and make list of all files with a particular name.. had errors I didn't understand, will try to recreate it in the next few and see if I have better luck 22:09
I get confused dealing with files right now.. like the dir "some directory" 22:10
22:10 Cabanossi left
haxmeister returning file objects.. and I get lost in what is an object or not because I'm a perl6 noob 22:11
22:12 Cabanossi joined
timotimo everything is an object, though 22:12
AlexDaniel
.oO( wait what? I'm not an object! )
m: say %*ENV<ME>.^mro 22:13
camelia ((Str) (Cool) (Any) (Mu))
gfldex m: say "$*HOME".IO.WHAT
camelia (Path)
haxmeister jeese you guys are cracking me up... I'm liking this channel almost as much as funtoo..
gfldex haxmeister: feed the typenames to docs.perl6.org/language.html
AlexDaniel at least it says that I'm cool…
timotimo AlexDaniel: it looks like you're cool
yeah
22:15 labster joined
gfldex m: say "timotimo" ~~ Cool; 22:15
camelia True
haxmeister dir is a function.. can I use parenths around the quoted string? 22:16
timotimo yup, but the ( has to touch the dir
AlexDaniel haxmeister: sure
haxmeister has to touch.. got it
timotimo well, if you have more than one argument
gfldex m: say dir("/home/camelia");
camelia ("/home/camelia/.cpanm".IO "/home/camelia/.local".IO "/home/camelia/.npm".IO "/home/camelia/.perl6".IO "/home/camelia/.perlbrew".IO "/home/camelia/.rcc".IO "/home/camelia/.ssh".IO "/home/camelia/Perlito".IO "/home/camelia/evalbot".IO "/home/camelia/log".…
timotimo otherwise it makes no difference
m: say dir ("/home/camelia")
camelia ("/home/camelia/.cpanm".IO "/home/camelia/.local".IO "/home/camelia/.npm".IO "/home/camelia/.perl6".IO "/home/camelia/.perlbrew".IO "/home/camelia/.rcc".IO "/home/camelia/.ssh".IO "/home/camelia/Perlito".IO "/home/camelia/evalbot".IO "/home/camelia/log".…
timotimo because foo (1, 2, 3) is a call to foo with a single argument. that argument is a list
haxmeister I have to use ().. or I struggle reading back through it..lol 22:17
gfldex m: say "/home/camelia".&dir;
camelia ("/home/camelia/.cpanm".IO "/home/camelia/.local".IO "/home/camelia/.npm".IO "/home/camelia/.perl6".IO "/home/camelia/.perlbrew".IO "/home/camelia/.rcc".IO "/home/camelia/.ssh".IO "/home/camelia/Perlito".IO "/home/camelia/evalbot".IO "/home/camelia/log".…
haxmeister camelia drank to much coffee
AlexDaniel m: say "/".IO.dir 22:18
camelia ("/boot".IO "/home".IO "/opt".IO "/srv".IO "/tmp".IO "/usr".IO "/var".IO "/etc".IO "/dev".IO "/proc".IO "/sys".IO "/run".IO "/lib".IO "/sbin".IO "/bin".IO "/lib64".IO "/mnt".IO "/root".IO "/selinux".IO)
haxmeister wait I can put a regex in a container and use it like that? 22:20
like this: my $build-log-regex = /build\.log/ ;
timotimo yeah, regexes are also just objects
and so are functions, but you have to put the & in front of the name so that it's not just a call 22:21
haxmeister I can use that in place of m/regex/ ?
AlexDaniel m: my $r = / ‘build.log’ /; say ‘blahbuild.logblah’ ~~ $r
camelia 「build.log」
haxmeister singl quotes will escape that . 22:22
?
timotimo m/regex/ will immediately match the regex against text
gfldex m: my $r = / „build.log“ /; say ‘blahbuild.logblah’ ~~ $r 22:23
camelia 「build.log」
gfldex any quite will
haxmeister kk ty
timotimo so you can't put it into anything because it'll immediately turn into the match result
japhb timotimo: Looks like yoleaux cut off my message in this channel; you can see the original almost exactly 2 hours ago in #perl6. 22:24
22:25 n0xff joined
timotimo i saw it, yeah 22:25
i was surprised you opened /dev/fd/* to get at the input
22:25 bjz left
timotimo in my attempt at this i "start"ed the other code and had the main thread would go off to do the input stuff 22:26
22:27 brrt joined
japhb timotimo: The use case here is a library that can't assume it can take over the main thread. 22:30
But (for now at least) it *can* assume a posix-like system, because termios. 22:31
timotimo right 22:32
have you ever looked into sixel btw?
that stuff is fascinating
japhb timotimo: You mean this? github.com/saitoha/libsixel 22:33
timotimo yuppers 22:34
i compiled a mlterm so i can have sixel on my macine
machine*
22:34 dct left
timotimo i'm just now maybe actually switching from xfce to plasma5 22:35
which means i'll probably be using Konsole in the future
22:35 bjz joined
timotimo but Konsole can't sixel, iirc 22:35
it can, however, do 24bit color for text and background
22:36 bjz left
timotimo maybe the konsole devs will be like "yeah, ok, we'll build in sixel support, that's fine. but you know what, we'll do you one better and make our sixels support 24bit colors!" 22:38
22:38 bjz joined, bjz left
u-ou why don't cnosoles have that already 22:39
I mean terminals
timotimo what, 24bit colors or sixel graphics?
u-ou the former
22:40 brrt left
u-ou I don't know what sixel is 22:40
timotimo amazing is what sixel is
so, sixel was meant for controling dot matrix needle printers 22:41
but terminals also support(ed) it
u-ou I know, but terminals should have 24bit colour
japhb Wow, that is indeed really dang cool, timotimo -- thanks for pointing me to it! 22:42
timotimo isn't it the best?
japhb u-ou: Some already do. I added support for it to Terminal::ANSIColor.
timotimo since there's a patch for SDL where you just set an env var and it outputs sixel instead of opening a window ...
and there's an X server that renders to SDL instead of to a framebuffer
japhb timotimo: I can do SO MANY COOL THINGS 22:43
timotimo ... endless possibilities
you know what's missing, though?
japhb ... with this
timotimo stereo sound over ansi escape sequences
japhb LOL
timotimo okay, maybe it'd be better if it'd be just MIDI ... 22:44
for bandwidth reasons
u-ou lol
timotimo or just what you could do with a pc speakers back in the day
because why have anything more modern than that in 2017
japhb I will say one thing though: I'm already pushing the limits of older terminal emulators doing full-color mandelbrot output at two "pixels" per character cell -- you can watch the repaint -- I hate to imagine what poorly optimized terminals will do with escape sequences that dense
I'm all for modtrackers built into my terminal 22:45
timotimo well, you know, sixel can be pretty performant 22:46
did you look at how it works internally?
japhb (I should mention I mean that you can watch the repaint when I just output a string containing the entire serialized screen full of escape sequences -- I'm not even counting the color calculations here, just the terminal trying to understand the megabyte of escape sequences I just shoved down the pipe)
Not yet
timotimo let me explain
japhb Where's the best place to start?
timotimo it's so cool
hm, i'm not sure where i learned about it, really
but it's like this 22:47
you can set up a number of "color registers" where you store your 256 color index or something
then you put in your "ima do sixel now" escape starter
and then one lower-7-bit character (printable ascii range) gives six pixels 1 or 0
and you can go over the same place multiple times with different colors, because you can also have transparent 22:48
and there's also an extra RLE thing
AlexDaniel stereo soound should be part of unicode 22:49
japhb So you're sending "This pixel is the current color" or "This pixel is *not* the current color"?
timotimo and one character for "go to next line" and one character for "return to the left border"
if by "current" you mean "what's already there", then yes, i think so
but i think you really set two colors and one of them is allowed to be "transparent"
japhb Ah, interesting
AlexDaniel u: variation 22:50
unicodable6 AlexDaniel, U+180B MONGOLIAN FREE VARIATION SELECTOR ONE [Mn] (◌᠋)
AlexDaniel, U+180C MONGOLIAN FREE VARIATION SELECTOR TWO [Mn] (◌᠌)
AlexDaniel, 260 characters in total: gist.github.com/01aa218992a4ed7a49...d6ebf561b3
timotimo qiita.com/arakiken/items/4a216af6547d2574d283 - look at this, japhb
just the pictures will be enough for a little bit of understanding
japhb So optimally with 256 color registers, you would do 128 passes over every 6 row block, so with overhead maybe 22 passes per row amortized.
timotimo i don't think you have that many color registers actually 22:51
let me look again
haxmeister easy syntax for not ~~ ?
AlexDaniel !~~
haxmeister oh.. duh
ty 22:52
AlexDaniel haxmeister: that works with any operator
well… not any operator, but you get the idea
haxmeister kk
timotimo m: say 1 !< 4 22:54
camelia False
timotimo m: say 1 < 4
camelia True
timotimo m: say 1 !+ 4
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot negate + because additive operators are not iffy enough
at <tmp>:1
------> 3say 1 !7⏏5+ 4
expecting any of:
infix
infix stopper
timotimo ^- the operator has to be iffy, otherwise prefixing it with ! to negate doesn't make sense
22:55 pmurias left
haxmeister !~~ is pretty easy not match 22:55
AlexDaniel m: 42 !. say 22:56
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot negate . because dotty infix operators are too fiddly
at <tmp>:1
------> 0342 !.7⏏5 say
AlexDaniel timotimo: is this error message correct?
ah yes, it is
AlexDaniel still cannot remember what fiddly is 22:57
timotimo "complicated"?
AlexDaniel timotimo: which means?
haxmeister AlexDaniel: you have never "fiddled" with something?
22:57 dj_goku joined, dj_goku left, dj_goku joined
AlexDaniel haxmeister: given that I'm not a native speaker… I don't really know :( 22:57
timotimo dunno :) 22:58
AlexDaniel timotimo: for example, old design docs say “No meta in fiddly things. So you can't reduce, negate, reverse, sequence, cross, zip, hyperify or assignify fiddly operators.”
timotimo "nobody would agree to one interpretation of what that's supposed to mean"?
AlexDaniel and then of course .= is a thing, so “assignify” does not really belong there?
haxmeister it means your toying with something 22:59
fiddling = toying or playing with something without any real purpose to be accomplished
or 23:01
complicated or detailed and awkward to do or use.
can't negate complex operators 23:02
AlexDaniel maybe that's what it should say 23:03
23:03 dj_goku left
AlexDaniel “Cannot negate . because dotty infix operators are too fiddly (cannot negate complex operators)” 23:03
or whatever 23:04
haxmeister takes a southerner to dumb it down ;-)
can just replace "fiddly" with "complex" 23:05
AlexDaniel haxmeister: well, it's not just the error message. Internally it's “fiddly” everywhere, so perhaps it makes sense to leave it there 23:07
haxmeister well I certainly don't have the credentials to suggest otherwise..lol 23:08
gfldex haxmeister: see github.com/rakudo/rakudo/blob/nom/....nqp#L3878
haxmeister looks fiddly 23:11
23:11 wamba left
MasterDuke_ timotimo: just made another commit to github.com/perl6/nqp/pull/356. anything else you can think of or go ahead and merge? 23:18
timotimo i wonder what makes that one qast test inside nqp fail on travis 23:19
the last time i tried to have "references" i couldn't import the generated sqlite any more 23:20
because things weren't being put in in the right order
MasterDuke_ not sure, but it started a couple nqp commits back
haxmeister I have no idea what I'm doing..lol 23:21
MasterDuke_ timotimo: hm, my test profile loaded fine, but i guess i should try a more complicated one 23:23
timotimo oh!
i think that was before we had call id vs caller id
23:24 geekosaur left
timotimo so of course things would explode 23:25
23:25 Cabanossi left, n0xff left
MasterDuke_ ah, yep 23:25
23:26 geekosaur joined, Cabanossi joined 23:29 geekosaur left 23:31 geekosaur joined
timotimo i think i'll go to bed rather soon, though 23:33
MasterDuke_ it's fine with a profile of CSV's test-t 23:34
timotimo cool
there we go
23:35 Actualeyes joined
timotimo thank you for your continued work :) 23:40
23:42 Geth joined, ChanServ sets mode: +v Geth 23:46 semigloss left
haxmeister searching dir recursively seems slow 23:47
23:49 Geth left
gfldex haxmeister: what does `perl6 --version` say? 23:49
23:51 Geth joined, ChanServ sets mode: +v Geth 23:52 Geth left 23:53 bjz joined 23:55 programmingnewbi left 23:56 tardisx joined
haxmeister actually maybe it isn't slow.. maybe it's just a lot of dirs.. 23:58
This is Rakudo version 2017.04.2 built on MoarVM version 2017.04
implementing Perl 6.c.
23:58 bjz left
AlexDaniel haxmeister: seems recent enough 23:59
haxmeister pastebin.com/nzS60eHp
please be nice about my noob code :-P