»ö« 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.
travis-ci Doc build errored. Jan-Olof Hendig 'Added some missing types 00:14
travis-ci.org/perl6/doc/builds/246665665 github.com/perl6/doc/compare/0ba54...41ed3db751
samcv turns out there's a ligature in unicode which is three whole words 04:27
samcv it must not fold on casefolding or i would have noticed this. but it has 18 collation keys. instead of the usual of 1 per codepoint 04:28
u: ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM 04:29
unicodable6 samcv, U+FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM [Lo] (ﷺ)
samcv looks like this i.imgur.com/rWbnskP.png
unidump: ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM 04:30
unicodable6 samcv, gist.github.com/14c00aae9b37aa0c32...845fbe4a91
samcv ugh. that didn't work
unidump: ﷺ 04:31
unicodable6 samcv, gist.github.com/d9298ac65ac22d9962...c11b636bef
TEttinger the sun is not doing samcv is doing 09:06
I wonder what that amazing ligature is used for
zengargoyle translate.google.com/#auto/en/SALL...20WASALLAM 10:22
"Peace be upon him" probably a set phrase. 10:23
geekosaur yes 10:24
zengargoyle there are a few slightly similar things in the Japanese codepoints where there are 4 characters arranged in a 2x2 pattern as a single glyph. probably a holdover from the pre-unicode days and cellphones. 10:28
.u ㌖ 10:30
yoleaux U+3316 SQUARE KIROMEETORU [So] (㌖)
zengargoyle from U+3300 to U+3357 10:32
samcv hmm wonder if it makes sense for IO::Path.child to take multiple arguments?
$*CWD.child('foo', 'bar') would be ./foo/bar
something i thought of 10:33
lollercopter . 12:18
yoleaux 12:15Z <dogbert17> lollercopter: hasn't IOninja's recent IO work made github.com/perl6/doc/issues/852 closable?
lollercopter dogbert17: closed 12:19
samcv: not IMO. No other IO routines take their paths in arbitrary chunks like that, so adding this would be inconsistent. You can always use '/' as the separator, so it'd be $*CWD.child('foo/bar') or $*CWD.child: @parts.join: '/' and will just work and will be faster than adding a slurpy multi candidate. 12:21
samcv so there's no way to use a / 12:22
*not
zengargoyle hrm... i thought 'rule { <F> | <F> <B> }' would do longest match. that didn't work but 'rule { <F> <B> | <F> }' did. 12:53
zengargoyle should probably be re-reading some docs... 12:54
timotimo only does longest match with the declarative prefix 13:05
so maybe you have something in F that stops the longest token from becoming any longer
zengargoyle hrm, <F> maches 'now' and <B> matches '+ 1 min'. they're pretty direct exact match of a specific string or digit. 13:17
timotimo strange, can you golf it?
zengargoyle i'm not sure, it goes down a few levels from F and B. lemme see. 13:20
zengargoyle m: my grammar T { rule t { <S> | <S> <B> }; rule S { 'now' }; rule B { <C> | <D> }; rule C { '+' \d 'min' }; rule D { '-' \d 'min' }; }; say so T.parse("now",:rule<t>); say so T.parse("now + 1 min",:rule<t>); say so T.parse("+ 1 min",:rule<C>);say so T.parse("+ 1 min",:rule<B>); 13:26
camelia True
False
True
True
zengargoyle m: my grammar T { rule t { <S> <B> | <S> }; rule S { 'now' }; rule B { <C> | <D> }; rule C { '+' \d 'min' }; rule D { '-' \d 'min' }; }; say so T.parse("now",:rule<t>); say so T.parse("now + 1 min",:rule<t>); say so T.parse("+ 1 min",:rule<C>);say so T.parse("+ 1 min",:rule<B>); 13:27
camelia True
True
True
True
zengargoyle m: my grammar T { regex t { <S> | <S> <B> }; rule S { 'now' }; rule B { <C> | <D> }; rule C { '+' \d 'min' }; rule D { '-' \d 'min' }; }; say so T.parse("now",:rule<t>); say so T.parse("now + 1 min",:rule<t>); say so T.parse("+ 1 min",:rule<C>);say so T.parse("+ 1 min",:rule<B>);
camelia True
True
True
True
zengargoyle it works if backtracking or the longest match is given first.
zengargoyle timotimo: what's 'declarative prefix'? 13:32
there's a TOP { ^^ <t> $$ } around that in reality. 13:34
timotimo the initial part of a regex that can be matched with a simple DFA
so no backreferences, or lookahead/lookbehind, no code blocks 13:35
jnthn rule { <F> | <F> <B> } # <.ws> is not declarative, so these two have identical declarative prefixes 13:37
zengargoyle so that S can match some pretty complicated things (it just doesn't in this case since one of the things it can match is 'now') does that negate longest matching?
ok, that makes some sense. will arranging the branches in longest to shortest help any? 13:39
i basically just tried to transcribe the .l file into tokens and the .y file into rules as straightforward as possible. 13:40
this is the unix `at` command's time specificaton format...
zengargoyle figures if lex/yacc can do it, Grammars can too one way or another. :) 13:43
timotimo jnthn: ah! i would have missed <.ws> there 13:52
zengargoyle: you can change your <ws> token to behave differently or use something other than "rule
zengargoyle cool, i have it parsing all of the strings from the minimal test program shipped with the `at` src. i think everything is simple enough to order by longest and use regex if needed. 13:59
Geth doc: de113b3f16 | (Jan-Olof Hendig)++ | doc/Language/functions.pod6
Updated the text about multi-dispatch.

Closes #858
14:31
moritz lol I blogged: perlgeek.de/blog-en/perl-6/2017-01...-edge.html 14:49
travis-ci Doc build errored. Jan-Olof Hendig 'Updated the text about multi-dispatch. 15:21
travis-ci.org/perl6/doc/builds/246795462 github.com/perl6/doc/compare/f441e...113b3f16b7
zengargoyle moritz: www.fileformat.info/info/unicode/ch...upport.htm 15:25
www.fileformat.info/info/unicode/ch...iew=entity -- search and follow clicky things. :) 15:28
zengargoyle unix.stackexchange.com/questions/1...-codepoint -- python script :P 15:34
gist.github.com/zengargoyle/2a565e...49556682c9 15:35
lizmat moritz: s/wich I use/which I use/ 15:44
moritz: s/friends cam up/friends came up / 15:45
moritz: s/to avod collisions/to avoid collisions/
moritz++ :-) 15:46
andrzejku hey guys do you knwo open source project which need contrbutors 16:35
in C++?
tadzik maybe godotengine.org/? 16:36
dogbert17 .seen moritz 16:42
yoleaux I saw moritz 14:49Z in #perl6: <moritz> lol I blogged: perlgeek.de/blog-en/perl-6/2017-01...-edge.html
moritz :-) 18:10
lizmat: thanks, fixing the typos now 18:12
zengargoyle: those links kinda support my point; for example www.fileformat.info/info/unicode/ch...upport.htm lists just one font that's obviously mono space, and that doesn't seem to be open source 18:15
dogbert17 moritz: do you have time to look at a documentation gist? 18:16
moritz dogbert17: depends on how long it is :-)
dogbert17 not so long :) gist.github.com/dogbert17/4bb9490a...aad381925c
moritz dogbert17: looks correct 18:19
on the language front, I find the hanging "or Mu if no ..." a bit weird
might be better to put that earlier, and start a new sentence that explains how it looks up the method
dogbert17 moritz: thx, I'll try to implement your suggestions 18:20
Geth doc: 1b648fa0a0 | (Jan-Olof Hendig)++ | doc/Type/Metamodel/MethodContainer.pod6
Added documentation for lookup. Moritz++, MasterDuke17++ for proofreading.

Closes #875
18:27
travis-ci Doc build errored. Jan-Olof Hendig 'Added documentation for lookup. Moritz++, MasterDuke17++ for proofreading. 19:18
travis-ci.org/perl6/doc/builds/246843680 github.com/perl6/doc/compare/de113...648fa0a02c
BenGoldberg Could someone point me to where is the keyword "unit" documented? I kinda know what it does by examples I've seen, but I'd like to read the doc. 20:43
Geth doc/master: 4 commits pushed by (Will "Coke" Coleda)++ 20:55
geekosaur docs.perl6.org/language/syntax#Mod...eclaration 20:56
[Coke] BenGoldberg: pretty sure we don't have a solid doc page for that. docs.perl6.org/language/modules has some usage of it.
[Coke] geekosaur++ 20:57
BenGoldberg wonders whether it would be worthwhile to ask for a keyword 'unbrace' which works with ANY expression which would normally be followed by something in {} 21:01
To make parsing simpler, it might go at the end of the line (where the '{' would be), instead of the beginning. 21:03
. o O (unlisp!)
AlexDaniel hm… you can already omit braces sometimes 21:09
m: say BEGIN now
camelia Instant:1498425014.143994
timotimo whenever you have a blast, you can omit brackets 21:26
because a blast is a BLock, Alternative STatement
sometimes they're called "blorst", which is just "BLock OR STatement" 21:28
travis-ci Doc build errored. Will "Coke" Coleda 'skip failing sample code' 21:45
travis-ci.org/perl6/doc/builds/246879859 github.com/perl6/doc/compare/1b648...a7c34f473d
lizmat www.reddit.com/r/perl6/comments/6j...sl_do_end/ 22:22
BenGoldberg m: await start { my $a = "strange"; $a does role Test { }; } xx 2 22:29
camelia ( no output )
BenGoldberg m: await start { my $a = "strange"; $a does role Test { }; } xx 16
camelia Tried to get the result of a broken Promise
in block <unit> at <tmp> line 1

Original exception:
Incompatible MROs in P6opaque rebless for types Str+{Test} and Str+{Test}
in block at <tmp> line 1
BenGoldberg m: my $l = Lock.new; await start { my $a = "dubba"; role Test { }; $l.protect: { $a does Test }; } xx 16 22:36
camelia ( no output )
Geth doc: fcc07f1575 | (Will "Coke" Coleda)++ | util/new-type.p6
Don't emit {}'s around type name

Fixes #1392
23:26
doc: d2bb868efb | (Will "Coke" Coleda)++ | doc/Language/5to6-perlsyn.pod6
use nbsp
23:33
doc: ec53fea130 | (Will "Coke" Coleda)++ | 2 files
test examples, part of #1387
doc: 29c9046565 | (Will "Coke" Coleda)++ | 2 files
test examples, part of #1387
23:39
BenGoldberg m: printf '%.4f, for a good time call', (7 ** (e - 1/e) - 9) * pi**2; 23:54
camelia 867.5309, for a good time call