»ö« 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.
00:00 small-wolf left, Sgeo left, bjz left 00:07 Ven left, obra left 00:08 Sgeo joined 00:13 Ven joined 00:14 obra joined 00:21 Ven left 00:24 pmurias left, pmurias joined 00:30 RabidGravy left
AlexDaniel tbrowder: I don't think it worked: docs.perl6.org/language/operators#..._Operators 00:31
00:32 dugword joined 00:33 Ven joined, kurahaupo__ joined
tbrowder nope, i'll remove X for now 00:33
00:35 Ven left 00:37 erdic left 00:38 bjz joined
samcv candidate emoji: Face With Open Mouth Vomiting 00:38
🤯 Shocked Face With Exploding Head
🤪 Grinning Face With Crazy Eyes
also Breast-Feeding 00:39
i want to know if that will be usable with ZWJ sequences
so you can have like a whole family breastfeeding of whatever genders and skin color you want
dalek c: dcf1498 | (Tom Browder)++ | doc/Language/operators.pod6:
try just one X
synopsebot6 Link: doc.perl6.org/language/operators
00:40 erdic joined
samcv they're adding merperson. wow 00:41
child and adult. interesting
not sure how that's different from the man emoji or woman emoji. but who doesn't love more unicode characters am i right 00:42
samcv checks to see if they are adding any more matching brackets
AlexDaniel samcv: or rather… breastfeeding with exploding head
samcv well so far they don't have like emotion cambiners
AlexDaniel samcv: where's the list?
samcv unicode.org/emoji/charts/emoji-candidates.html 00:43
AlexDaniel samcv: huh? Isn't it what ZWJ is for?
samcv well. i mean they _could_ add that in the future
but there are defined combinations, like doctor, whatever firefighter maybe something
and then use ZWJ to do gender and or skin color
they adding dinosaur emoji nice 00:44
00:44 pyrimidi_ left
AlexDaniel “merperson” xD 00:44
timotimo with feathers or without?
AlexDaniel timotimo: font authors decide
samcv yep
timotimo i hope they decide right.
samcv the only reason they have pictures on the site for emoji 00:45
is so people don't all implement it totally differently
00:45 pyrimidine joined
timotimo hmm 00:45
samcv i think companies stopped them adding the rifle emoji
rightfold Is there a nice way to do lcfirst?
samcv i remember microsoft turned the pistol into a ray gun
AlexDaniel m: say ‘hello’.tc
camelia rakudo-moar d7cd5d: OUTPUT«Hello␤»
samcv which is retarded. could cause like. miscommunication
it's a gun. not a toy
rightfold AlexDaniel: that's like ucfirst 00:46
AlexDaniel oh…
… lcfirst? :o
.oO( whhhhyyyyyyyyyyyyyy? )
rightfold I want to lowercase the first letter of a string. 00:47
samcv oh AlexDaniel looks like you can combine crying face with baby. to make crying baby
samcv doesn't see it on the zwj emoji list
AlexDaniel samcv: yea, I know! There are other combinations too! 00:48
samcv should still be fine if you check the Grapheme_Cluster_Break property tho
timotimo "unicode first"
samcv: i didn't realize babies come in non-crying variants
samcv also country flags can be three characters with no ZWJ
true
also need to somehow magically be able to be able to use \c[ ] with ZWJ 00:49
AlexDaniel m: my $x = ‘HELLO’; say $x.substr-rw(0,1) = $x.substr(0, 1).lc; say $x
camelia rakudo-moar d7cd5d: OUTPUT«h␤hELLO␤»
samcv gonna be crazy
AlexDaniel m: my $x = ‘HELLO’; $x.substr-rw(0,1) = $x.substr(0, 1).lc; say $x
camelia rakudo-moar d7cd5d: OUTPUT«hELLO␤»
samcv tho i'm not looking forward to implementation at all
m: "🤹🏿‍♀️".uniname 00:50
camelia ( no output )
samcv m: "🤹🏿‍♀️".uniname.say
camelia rakudo-moar d7cd5d: OUTPUT«JUGGLING␤»
AlexDaniel samcv: there's a ticket for ZWJ though
samcv for which part of support
grapheme count and character counting? or like
geekosaur rightfold, afaik there is no special localization needed for initial lowercase, so it doesn't need a special method (yes, there are locales where initial capital is not the same as just uppercasing the first character)
samcv \c[ ] whatever
AlexDaniel samcv: RT #127048
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127048
samcv initial lowercase? 1st character or what geekosaur 00:51
AlexDaniel m: my $x = ‘HELLO’; $_ = .lc with $x.substr-rw(0, 1); say $x 00:52
camelia rakudo-moar d7cd5d: OUTPUT«hELLO␤»
AlexDaniel that's the shortest one I can come up with
00:53 Ven joined
samcv also geekosaur that is not true 00:54
if you mean lowercasing the first character. not true
Introduce an explicit dot above when lowercasing capital I's and J's
# whenever there are more accents above.
lithuanian
rightfold I'll go with $name.substr(0, 1).lc ~ $name.substr(1), thanks
geekosaur in that case maybe we do need an lcfirst type method 00:55
...shoulda known. l10n is /o\
samcv do we though
i mean. lithuanian and some other languages have special rules but we don't have any localized casing changes implemented 00:56
but adding lcfirst would be fine i guess
m: 0x0130.chr.lc.ord.base(16).say 00:57
camelia rakudo-moar d7cd5d: OUTPUT«69␤»
samcv m: say "I\x[0x0307]".ords.say 00:58
camelia rakudo-moar d7cd5d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized backslash sequence: '\x'␤at <tmp>:1␤------> 3say "I\x[07⏏5x0307]".ords.say␤ expecting any of:␤ argument list␤ double quotes␤ hex character␤ ter…»
samcv m: say "I\x[0x0307]".ords
camelia rakudo-moar d7cd5d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized backslash sequence: '\x'␤at <tmp>:1␤------> 3say "I\x[07⏏5x0307]".ords␤ expecting any of:␤ argument list␤ double quotes␤ hex character␤ term␤»
samcv m: say "I\x[0307]".ords
camelia rakudo-moar d7cd5d: OUTPUT«(304)␤»
samcv m: say "I\x[0307]".lc.ords 00:59
camelia rakudo-moar d7cd5d: OUTPUT«(105 775)␤»
samcv yeah that is incorrect for turkish
AlexDaniel “I LOVE YOU HAND SIGN” ooooh…
that's how it looks like?
timotimo clearly we need q:turkish"..."
psch_ .u "\x0307"
yoleaux U+0022 QUOTATION MARK [Po] (")
U+0030 DIGIT ZERO [Nd] (0)
samcv looks like an error AlexDaniel ?
yoleaux U+0033 DIGIT THREE [Nd] (3)
psch_ oh phooey
samcv yes timotimo quite 01:00
AlexDaniel u: U+0307
unicodable6 AlexDaniel, U+0307 COMBINING DOT ABOVE [Mn] (◌̇)
01:00 holli left
AlexDaniel hmm I wonder if they have any justification for adding an orange heart 01:01
psch samcv: so what would be correct for turkish?
samcv the dot should be removed
AlexDaniel u: HEART
unicodable6 AlexDaniel, U+2619 REVERSED ROTATED FLORAL HEART BULLET [So] (☙)
AlexDaniel, U+2661 WHITE HEART SUIT [So] (♡)
AlexDaniel, U+2665 BLACK HEART SUIT [So] (♥)
samcv cause 'i' is already dotted
unicodable6 AlexDaniel, gist.github.com/5d4e285646bad95ad0...4ec9288e01
samcv so just a plain letter i
İ => i
psch samcv: i don't see how that's specific to turkish? or is "I".lc that one "i" without the dot..? 01:02
samcv unicode says it is
timotimo did you hear about german getting an actual upper case sharp s to be used in common practice now?
psch oh, okay. i'm not aware of any locale specific parts of unicode
(or much of unicode itself either, tbqh)
AlexDaniel timotimo: is there any character for it? 01:03
timotimo yes
samcv timotimo, like not SS anymore?
ooo
hot
timotimo ß vs ẞ
psch AlexDaniel: the new bit is just that the capital sz is orthogonally correct now
or, well, whenever that bit passes whatever it has to pass i suppose
timotimo yes we no longer have to turn ß into SS when uppercasing
... or Ss? 01:04
like, i have no clue. it's terrible anyway
psch the wicked part was how they tried to remove it completely and then backpedaled, imo
like, *why*
samcv also unicode specifically says unless it's turkish to keep the dot
because idk they are pretty smart though. when it comes to anticipates problems
psch samcv: right, that means we need some locale mechanism i guess? not sure that shouldn't be module space though
AlexDaniel u: ßẞ 01:05
unicodable6 AlexDaniel, U+1E9E LATIN CAPITAL LETTER SHARP S [Lu] (ẞ)
AlexDaniel, U+00DF LATIN SMALL LETTER SHARP S [Ll] (ß)
samcv naw module sounds horrible
we can and should do it in moarvvm
ack imagining a module to do that. horrible.
timotimo doesn't sound so terrible to me, honestly? 01:06
rightfold More PureScript preprocessors :) glot.io/snippets/elreyb4mfl
samcv i mean we already hold special cases
01:06 Ven left
samcv it would be easy to define a locale conditional to check if the locale is set 01:06
AlexDaniel m: say ‘ß’.uc; say ‘ß’.tc; say ‘ẞ’.lc; say ‘ẞ’.tc
camelia rakudo-moar d7cd5d: OUTPUT«SS␤Ss␤ß␤ẞ␤» 01:07
samcv so i don't see why we shouldn't add it, since moarvm is already the unicode database
01:07 holli joined
timotimo i can imagine having a system locale setting change what I will lc to and what i will uc to in anything perl6 does 01:07
samcv anything? 01:08
why not per string or set to the scope?
timotimo oh 01:11
well that'd be possible
psch a pragma (or module) sounds saner to me, fwiw
timotimo i misread your suggestion with the "locale conditional" to mean system locale setting
psch although i guess q:locale<foo>// is probably workable as well 01:12
01:12 Ven joined
timotimo it might be as easy as mixing in a role that uses different lc and uc and other methods 01:13
01:14 aborazmeh joined, aborazmeh left, aborazmeh joined 01:23 Ven left
pmurias system locale changing how .tc works seems horrible 01:25
psch pmurias+ 01:26
+
psch sighs
01:27 aborazmeh left 01:32 small-wolf joined, Ven joined 01:33 small-wolf left 01:34 pmurias left, Ven left 01:37 Wanderer68 left 01:38 pjablonski joined
pjablonski Strange question, that I feel like I've had before. What would cause the REPL to silently fail? As in, $ perl6 just hangs forever until it gets ^C, without printing anything 01:39
Running source files still works beautifully though, so my build should be fine
AlexDaniel pjablonski: how long have you been waiting? :) 01:40
pjablonski: I know it's a weird question, but this got me a few times
pjablonski: it takes some time for some stuff to precompile I think, so the first run on my slow pc actually took enough time for me to ^C it 01:41
pjablonski That's... strange, I suppose. You're right, of course, leaving it up for a solid 3 minutes caused it to work 01:42
I mean, other than it whining about ReadLine, but that's par for the course
AlexDaniel but next time you do it it should be fast
pjablonski Every time I update things with rakudobrew, something gets squirrely :). At least it works! 01:44
01:45 bjz left
timotimo it can hang because of a repository being locked while it's trying to load a file 01:46
that especially happens when you "panda look"
samcv ok so somebody tell me if this seems okay github.com/MoarVM/MoarVM/pull/477 01:47
as in does it sound sane the return values
psch samcv: you probably want to .tell that to jnthn 01:48
samcv yeah
curious what people think though
i want to make sure I think of everything before i like fully settle on the return valuse
psch thinks "gee i wish i knew unicode enough to have a meaningful opinion about collation"
samcv heh
psch, in Latin, primary is alphabetic, secondary is diacritic, and tetriary is case 01:49
it is different in other scripts though
psch samcv: right, that's too disjunct for me to apply immediately, actually
samcv i'm trying to cover everything i can initially. like codifying iso standardsn for country ISO numbers and language identifiers when we implement that down the road 01:51
so as to be unchanging with time (the country codes and the language 3/2 letter identifiers for ISO)
specified we will use the ISO country number code, not the name, since countries can get renamed
but their number won't change, so that is more dependable to not get changed 01:52
exceptions being if the country splits in two, usually one gets a new number and the other keeps the old
01:52 Ven joined
samcv so we should be able to have casless or cased sorting as well as being able to ignore diacritics 01:52
which is kind of nice 01:53
01:53 petrutrimbitas left, wamba left
samcv i still need to think about how to request to ignore the codeponts and only sort by collation weights 01:53
which may be wanted in some cases, and will return 0 for cases which the weights are equal 01:54
psch samcv: sorry for not being actively helpful. all i can say is "jnthn probably has ideas about this" :/
samcv .tell jnthn new PR github.com/MoarVM/MoarVM/pull/477 want your input on the return values and if they seem sane 01:55
yoleaux samcv: I'll pass your message to jnthn.
samcv hmm now that that's done, need to try and get the (almost last) unicode 9.0 grapheme break thing we don't support, the Extend property added in 9.0 01:56
which is different from all the rest because the combining characer comes BEFORE the base, which never happened in unicode before
01:57 pyrimidine left
samcv .tell jnthn when you get around to it, need some help properly iterating over the codepoints (NFC codepoints) in unicmp_s 01:57
yoleaux samcv: I'll pass your message to jnthn.
01:58 pyrimidine joined 02:01 setty1 left
samcv u: { .uniprop('Extend') } 02:04
unicodable6 samcv, U+0000 NULL [Cc] (control character)
samcv, U+0002 START OF TEXT [Cc] (control character)
samcv, U+0001 START OF HEADING [Cc] (control character)
samcv what
u: { .uniprop('Grapheme_Cluster_Break') == 'Extend' } 02:05
02:05 itcharlie_linux left
samcv why is it so slow :( 02:05
m: 0x0.uniprop('Extend').say 02:06
camelia rakudo-moar d7cd5d: OUTPUT«Other␤»
samcv m: 0x0.uniprop('Grapheme_Cluster_Break').say
camelia rakudo-moar d7cd5d: OUTPUT«Control␤»
02:07 Ven left 02:08 unicodable6 left 02:09 unicodable6 joined, ChanServ sets mode: +v unicodable6 02:12 Ven joined
AlexDaniel samcv: because, well, you just gave it something that's always true 02:13
samcv u: { .uniprop('Grapheme_Cluster_Break') == 'Extend' } 02:14
unicodable6 samcv, gist.github.com/11c51272df1ff730a2...60322095a3
samcv this isn't though
02:14 aborazmeh joined, aborazmeh left, aborazmeh joined, bjz joined
timotimo don't use ==, use eq 02:14
samcv what
oh yes
AlexDaniel samcv: it was trying to gist a file with the whole unicode range in it
I know, I know, I should do something about it 02:15
but there are also 47 other issues there :) github.com/perl6/whateverable/issues
samcv u: { .uniprop('Grapheme_Cluster_Break') eq 'Extend' }
have you switched back to json fast?
unicodable6 samcv, U+0300 COMBINING GRAVE ACCENT [Mn] (◌̀) 02:16
samcv, U+0302 COMBINING CIRCUMFLEX ACCENT [Mn] (◌̂)
samcv, U+0301 COMBINING ACUTE ACCENT [Mn] (◌́)
samcv, gist.github.com/334d5fc408d91c09bb...be967a9dd6
samcv m: '◌̀'.uniprop('NFG_QC')
camelia ( no output )
samcv m: '◌̀'.uniprop('NFG_QC').say
camelia rakudo-moar d7cd5d: OUTPUT«Y␤»
AlexDaniel I have been using JSON::Fast all the time 02:17
samcv ugh so many moarvm branches 02:18
so little time
AlexDaniel hmmmmmmm 02:20
‘Function 'BEFORE' needs parens to avoid gobbling block’
does this sound familiar to anybody using zef?
ok found it github.com/ugexe/zef/commit/1d8079...2506ae941d
psch is BEFORE a phaser i didn't catch..? 02:21
samcv oh i'm an idiot
u: { .uniprop('GCB') eq 'Prepend' }
unicodable6 samcv, U+0600 ARABIC NUMBER SIGN [Cf] (؀)
samcv, U+0602 ARABIC FOOTNOTE MARKER [Cf] (؂)
samcv, U+0601 ARABIC SIGN SANAH [Cf] (؁)
samcv, gist.github.com/d434f5d7ba39876e73...f356443bf9
samcv m: '؀'.uniprop('NFG_QC').say 02:22
camelia rakudo-moar d7cd5d: OUTPUT«Y␤»
02:23 Ven left 02:25 FROGGS_ joined 02:29 FROGGS left
webstrand To confirm; I'm seeing a seg-fault in Inline::Python's test suite, and was told to submit to rakudobugs. Shouldn't the bug be submitted against Inline::Python? 02:30
02:30 mr-foobar left
psch webstrand: it depends on the nature of the bug, actually 02:31
webstrand: if the trace points at rakudo sources it's more likely that that's what has to be fixed
(assuming there is a trace, that is)
02:32 Ven joined
webstrand The backtrace looks good: dpaste.com/13QHARH 02:34
dugword m: my $listen = IO::Socket::INET.new(:listen,:family(2),:localhost<localhost:3000>);
camelia rakudo-moar d7cd5d: OUTPUT«IO::Socket::INET is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method new at src/RESTRICTED.setting line 32␤ in block <unit> at <tmp> line 1␤␤»
webstrand Err posted the wrong trace
Here's the correct trace: dpaste.com/3XA4C4W
02:35 newbie1 left
psch webstrand: is there a rakudo-level trace? and what's the code you're running to get the error? 02:35
webstrand How do I obtain a rakudo trace? 02:36
github.com/niner/Inline-Python/blo...all_back.t is the test 02:37
specifically, it fails when python tries to call obj.ok(1) on line 14
samcv holy shit guys
I did it
SmokeMachine I'm sorry, but what's wrong with indir? 02:38
02:38 Ven left
psch webstrand: at a guess i'd assume you have an insufficient version of python running. i don't think i have enough of an idea about Inline::Python to give better guesses though 02:38
samcv er wait nope 02:39
02:39 pyrimidi_ joined, kalkin-_ joined, kalkin- left 02:40 kurahaupo_ joined, pyrimidine left 02:41 kurahaupo__ left 02:42 dugword left 02:43 labster left
SmokeMachine I continued reading and got it... 02:44
02:46 ilbot3 left 02:47 ilbot3 joined
dalek c: 6455268 | (Tom Browder)++ | doc/Language/operators.pod6:
remove ineffective X
02:48
synopsebot6 Link: doc.perl6.org/language/operators
02:52 Ven joined 03:00 kurahaupo_ left 03:08 Ven left, espadrine left 03:12 dugword joined, Ven joined 03:13 bjz left 03:15 noganex_ joined 03:18 noganex left 03:21 Ven left
notviki Is there a way to dump NQPMatch from nqp land? 03:21
I wanna see what structure it has 03:22
03:24 pyrimidi_ left 03:25 mr_ron left, aborazmeh left 03:26 pyrimidine joined 03:29 telex left 03:32 Ven joined 03:37 telex joined 03:38 Ven left 03:39 mr-foobar joined 03:42 AlexDaniel left 03:43 labster joined 03:44 itcharlie_linux joined 03:48 lichtkind_ joined 03:52 Ven joined, lichtkind left
samcv u: zero width 04:00
unicodable6 samcv, U+200B ZERO WIDTH SPACE [Cf] (​)
samcv, U+200C ZERO WIDTH NON-JOINER [Cf] (‌)
samcv, U+200D ZERO WIDTH JOINER [Cf] (‍)
samcv, gist.github.com/53e2c895fb873d95db...ea43aea492
samcv oh also fun. is proposed new character is invisible letter
err that's the name of the character 'invisible letter'. you can put combining marks on it, even though it is invisible
geekosaur makes sense, actually. someone was failing to parse an irc log in JSON format because it contained a string starting with combiners and parsed the combiners as going on the quote 04:02
having something official to attach them to makes things like that easier to deal with 04:03
04:05 shayan_ joined
samcv yeah 04:06
04:08 Ven left 04:11 aborazmeh joined, aborazmeh left, aborazmeh joined 04:12 Ven joined 04:21 drrho left, drrho joined 04:23 Ven left 04:25 bjz joined 04:27 khw left 04:32 Ven joined
TimToady notviki: I think at least note($m.CURSOR.dump) might work anyway 04:32
notviki tries 04:33
04:34 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 04:35 itcharlie_linux left
notviki ===SORRY!=== 04:37
Cannot find method 'dump' on object of type Perl6::Grammar
04:37 aborazmeh left 04:38 Ven left 04:40 bjz left 04:42 pyrimidine left, pyrimidi_ joined 04:45 shayan_ left 04:52 Ven joined 04:53 shayan_ joined 05:03 labster left 05:07 Ven left
TimToady in that case it would look like it has not be instantianted into a Cursor of some sort 05:08
*been
since the dump method is defined in QRegex/Cursor.nqp 05:09
05:12 Ven joined, bjz joined, bjz left
notviki heh... it's ironic www.eeemo.net/ can't handle Unicode text. 05:13
𝐇𝐀𝐏𝐏𝐘 𝐍𝐄𝐖 𝐘𝐄𝐀𝐑!!!
05:17 bjz joined, bjz left 05:18 kurahaupo__ joined 05:19 bjz joined 05:20 bjz left
samcv but. it's only 9:20pm :( 05:21
notviki Sun Jan 1 00:22:03 EST 2017 05:22
samcv m: "T͉̘̥͕͔o􏿽xCD􏿽xA2􏿽xCC􏿽xBC􏿽xCC􏿽xA5􏿽xCC􏿽xAA􏿽xCC􏿽x96􏿽xCD􏿽x87􏿽xCC􏿽xBA i͉̖̣̥̼͔n̲͓̪̹v􏿽xCC􏿽xA3􏿽xCC􏿽x9F􏿽xCC􏿽xAA􏿽xCC􏿽xBA􏿽xCC􏿽xB1o҉k􏿽xCC􏿽xB6􏿽xCD􏿽x85􏿽xCC􏿽xA5e̦͓͍̥̖̯̮ t̷h̸̳̫e̥͚͉̹̺͈ 􏿽xCD􏿽x80􏿽xCC􏿽xAD􏿽xCC􏿽xA0􏿽xCC􏿽xA9􏿽xCD􏿽x94􏿽xCC􏿽xB1􏿽xCC􏿽xBC􏿽xCC􏿽x9Dh͞i̞͍͓v̞̹̰̯̳e-􏿽xCD􏿽x80􏿽xCD􏿽x94􏿽xCC􏿽xA5m̟i̤n􏿽xCD􏿽xA2􏿽xCC􏿽xAF􏿽xCC􏿽x96􏿽xCD􏿽x9Ad􏿽xCD􏿽x85􏿽xCD􏿽x87􏿽xCD􏿽x93􏿽xCC􏿽xAF􏿽xCC􏿽x9C􏿽xCC􏿽xB3􏿽xCC􏿽x9E ̪͙̗̳̮̹r􏿽xCD􏿽x9C􏿽xCD􏿽x94􏿽xCC􏿽xAB􏿽xCC􏿽x9D􏿽xCD􏿽x99e͎̝̬̬̻p̢̤͚̠̺̠r̟̤̖̘̫e􏿽xCC􏿽x97􏿽xCC􏿽x98􏿽xCD􏿽x88􏿽xCD􏿽x85􏿽xCD􏿽x85􏿽xCD􏿽x89􏿽xCC􏿽xA6s̰̰͙͖̯e􏿽xCD􏿽xA2􏿽xCC􏿽xAE􏿽xCD􏿽x96􏿽xCC􏿽xA0􏿽xCC􏿽xB3􏿽xCC􏿽xAC􏿽xCD􏿽x87􏿽xCC􏿽xB2n􏿽xCD􏿽x98􏿽xCC􏿽x9E􏿽xCC􏿽xA9􏿽xCC􏿽x9F􏿽xCC􏿽x9D􏿽xCD􏿽x87t͖̜̙̭͙i􏿽xCD􏿽xA2􏿽xCC􏿽xBA􏿽xCC􏿽x9F􏿽xCC􏿽x9En̡̩̜̤̳͖͚g̫͓͈̤ 􏿽xCD􏿽x9D􏿽xCD􏿽x85􏿽xCC􏿽xB2c̵̞̤̜̰h̵͓̮͔̱̰a̬͔̘o̡̼̫̰s􏿽xCD􏿽x9F􏿽xCD􏿽x95􏿽xCD􏿽x89􏿽xCC􏿽xAB􏿽xCD􏿽x96􏿽xCC􏿽x9F􏿽xCC􏿽x98.􏿽xCD􏿽x98􏿽xCD􏿽x94􏿽xCD􏿽x8D􏿽xCC􏿽xB0􏿽xCC􏿽xB2􏿽xCC􏿽xAE􏿽xCC􏿽x9D􏿽xCD􏿽x95
camelia rakudo-moar 3d3e7e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"' ␤at <tmp>:1␤------> 3i͉̖̣̥̼͔n̲͓̪̹ṿ̟̪̺̱o҉k̶̥ͅe̦͓͍̥̖̯̮ t̷h̸̳̫e̥͚͉̹̺͈ ̭̠̩͔̱̼̝̀h͞i̞͍͓…»
samcv I􏿽xCD􏿽x9D􏿽xCC􏿽xB9􏿽xCD􏿽x99􏿽xCC􏿽xAD􏿽xCC􏿽xBB􏿽xCC􏿽xAB􏿽xCD􏿽x88n􏿽xCD􏿽x85􏿽xCC􏿽x9D􏿽xCD􏿽x94􏿽xCC􏿽xB9􏿽xCC􏿽xA4􏿽xCD􏿽x94􏿽xCC􏿽xA6v􏿽xCD􏿽xA2􏿽xCD􏿽x93􏿽xCC􏿽x99􏿽xCC􏿽x9F􏿽xCD􏿽x95􏿽xCC􏿽xB3o􏿽xCD􏿽x9E􏿽xCC􏿽x9F􏿽xCD􏿽x8Ek̺̘̙̲̤i􏿽xCC􏿽xB0􏿽xCC􏿽xA4􏿽xCC􏿽xB0􏿽xCC􏿽xB9􏿽xCC􏿽xB2􏿽xCD􏿽x9A􏿽xCC􏿽xB2n̬̬g̯̘̩̲ ̢̼̩̥̦̝̖̘t̨h􏿽xCD􏿽xA0􏿽xCC􏿽xAE􏿽xCC􏿽xBC􏿽xCC􏿽xB9e􏿽xCC􏿽xA3􏿽xCD􏿽x95􏿽xCD􏿽x9A􏿽xCD􏿽x99􏿽xCC􏿽xAF􏿽xCD􏿽x87􏿽xCD􏿽x95 f􏿽xCD􏿽x9C􏿽xCC􏿽xA9􏿽xCC􏿽x9D􏿽xCC􏿽xAF􏿽xCC􏿽xB1e̳e􏿽xCC􏿽xAB􏿽xCC􏿽xA0􏿽xCD􏿽x85􏿽xCC􏿽xA5􏿽xCC􏿽xA5l̢̳̮̥̖i̺̞̯̬̜̜n̬͍̬̥g̘̻̠̟̪͎ ̙̻̰̳͈o􏿽xCD􏿽x9C􏿽xCD􏿽x96􏿽xCC􏿽xB1􏿽xCD􏿽x95􏿽xCC􏿽xB2f̣̦͈ ͝c̗̫̩̦̪̱h̦a̼o̧͖̭͖̲ͅs􏿽xCD􏿽x9C􏿽xCD􏿽x96􏿽xCC􏿽xA3􏿽xCC􏿽x9F􏿽xCC􏿽xAB.̧̼
􏿽xCD􏿽x9D􏿽xCC􏿽xBB􏿽xCC􏿽x9DW̩̫̳i̢̭̫t̛h􏿽xCC􏿽xA7􏿽xCD􏿽x87􏿽xCC􏿽xAD􏿽xCC􏿽xA5􏿽xCC􏿽x9C􏿽xCC􏿽xAA ͖̘̠o̭̝̤͉̻u҉̭͔͚̟̙t̻ ̧̗o̢̳͉̙͍̞̰r̭͍̫̣de̷̝̝͎̟r̤.̝̲
T􏿽xCC􏿽xAD􏿽xCC􏿽x9C􏿽xCD􏿽x89􏿽xCC􏿽x9C􏿽xCC􏿽xAEh̼e̖ 􏿽xCD􏿽x98􏿽xCC􏿽xAD􏿽xCC􏿽xB2􏿽xCC􏿽xBB􏿽xCC􏿽x96N̫̠e􏿽xCD􏿽x9E􏿽xCD􏿽x99􏿽xCD􏿽x94􏿽xCC􏿽x9E􏿽xCC􏿽xB9􏿽xCC􏿽xA5z̝p􏿽xCD􏿽x81􏿽xCC􏿽xB3e͍̜͇rd̴͈͍̬̘̹͕i􏿽xCD􏿽x9E􏿽xCC􏿽x97􏿽xCD􏿽x85􏿽xCD􏿽x99􏿽xCC􏿽xBA􏿽xCD􏿽x96a̕n҉͈ ̨̻̳̪̼h􏿽xCD􏿽xA1􏿽xCC􏿽x99􏿽xCD􏿽x85􏿽xCD􏿽x9A􏿽xCC􏿽xBC􏿽xCD􏿽x99􏿽xCC􏿽x97iv􏿽xCD􏿽x81e-̤̠m̶̘i􏿽xCD􏿽x9F􏿽xCD􏿽x9A􏿽xCC􏿽xBA􏿽xCC􏿽xAAn͇d҉ ̧̰̭ͅo͉̭̥̲̟f􏿽xCD􏿽xA1􏿽xCC􏿽x98􏿽xCD􏿽x8E􏿽xCC􏿽xA4􏿽xCC􏿽xB3􏿽xCC􏿽xA0 ̪̭c͢ha􏿽xCC􏿽xB5􏿽xCC􏿽xBA􏿽xCD􏿽x87􏿽xCC􏿽xBC􏿽xCC􏿽xB9􏿽xCC􏿽x96􏿽xCD􏿽x85􏿽xCC􏿽xABo􏿽xCC􏿽x9B􏿽xCC􏿽x9F􏿽xCC􏿽xAE􏿽xCD􏿽x95􏿽xCC􏿽xAE􏿽xCD􏿽x94􏿽xCC􏿽xA0􏿽xCC􏿽xA0s􏿽xCD􏿽x85􏿽xCC􏿽xB3􏿽xCC􏿽xA3􏿽xCC􏿽xAF􏿽xCC􏿽x9D􏿽xCD􏿽x9A.̵͔͓̙̮͎̜ ̨Z̞͚̰̲̣̟͕a͙̘͙̙̥l̡g͏̦͓̱̮͚̙̹o􏿽xCC􏿽xA8􏿽xCC􏿽xB0􏿽xCC􏿽x9C􏿽xCD􏿽x95􏿽xCC􏿽xA6.̷̻̲̖
notviki holy fuck
samcv 􏿽xCD􏿽xA2􏿽xCC􏿽xA6H􏿽xCC􏿽xB5􏿽xCC􏿽xA3􏿽xCC􏿽x96􏿽xCD􏿽x85􏿽xCC􏿽xAD􏿽xCC􏿽xBB􏿽xCC􏿽xB9e̯͍̱̼ ̛̙͕̰̲w̦̣͓̤͍h̯̺͚͚͇͔̣o􏿽xCC􏿽xA8􏿽xCC􏿽xAE􏿽xCD􏿽x85􏿽xCD􏿽x89􏿽xCC􏿽xA9􏿽xCC􏿽xAB 􏿽xCD􏿽x9C􏿽xCC􏿽xB2􏿽xCC􏿽xBC􏿽xCC􏿽xB1􏿽xCC􏿽x97􏿽xCC􏿽xBB􏿽xCD􏿽x88W̺̯a̡̫̫̤i􏿽xCC􏿽xA7􏿽xCC􏿽xBC􏿽xCD􏿽x85􏿽xCD􏿽x94t̠̲̗̬͖̗s͏̫̫̲ ͖̭͙͎B̩̪̖̣̭e􏿽xCD􏿽x9D􏿽xCD􏿽x94􏿽xCD􏿽x87􏿽xCC􏿽xB3􏿽xCC􏿽xBAh͍i􏿽xCD􏿽x98􏿽xCC􏿽xA6􏿽xCC􏿽xB1􏿽xCC􏿽x99n̛̳̥̻̱̗̞d̝͕̦͔ 􏿽xCC􏿽xAD􏿽xCD􏿽x85􏿽xCC􏿽xAF􏿽xCC􏿽x9ET􏿽xCD􏿽xA1􏿽xCC􏿽x9C􏿽xCD􏿽x88􏿽xCD􏿽x87􏿽xCC􏿽x9C􏿽xCC􏿽xAC􏿽xCC􏿽xAE􏿽xCC􏿽xA9h̛̥̻e􏿽xCC􏿽x95􏿽xCC􏿽xA9􏿽xCC􏿽xB9􏿽xCD􏿽x93􏿽xCC􏿽x96􏿽xCD􏿽x8E􏿽xCC􏿽x97 ̹̥̣͖̳̫W̻a̗̼̪͔̖͕l͡l􏿽xCC􏿽xAD􏿽xCD􏿽x87.̥
Z̶A̛L̷̟̱G􏿽xCD􏿽x9F􏿽xCC􏿽xBC􏿽xCD􏿽x96􏿽xCC􏿽x9D􏿽xCC􏿽xAD􏿽xCD􏿽x99􏿽xCD􏿽x8D􏿽xCC􏿽x96O̸͙̩̘!􏿽xCD􏿽xA1􏿽xCC􏿽xB0􏿽xCC􏿽xB2􏿽xCD􏿽x94􏿽xCC􏿽xA6􏿽xCD􏿽x96􏿽xCC􏿽xB1􏿽xCC􏿽xAF".chars.say
notviki can't see anything
samcv oops
:(
just put combining marks on all characters just for fun
to enhance readability 05:23
05:23 bjz joined
notviki Thanks: temp.perl6.party/s4.png 05:23
clear
heh
05:24 notviki joined
notviki nice 05:24
samcv you feel like you're seeing for the first time right
notviki it stays in the backlog
...
samcv also that looks kind of awesome
05:24 Zoffix joined, Ven left
samcv but bad too 05:24
what terminal are you using? 05:25
Zoffix terminology
samcv oh damn 05:29
\o/ ok only failing 9/775 unicode 9.0 tests! for graphemes
only thing left to implement is 3 character country identifiers \o/ 05:30
happy new year !
Zoffix \o/ 05:31
samcv oh god and one of the tests is for a three letter country sequence antd no spaces after it and a two letter one 05:32
that's brutal
05:32 Ven joined
samcv they really should have used ZWJ for those…… 05:32
but no they have to add a brand new grapheme break property!
05:33 shayan_ left
samcv ah so half of the 9 i'm failing weird corner cases with prepend + extend codepoints next to each other, and prepend and some emoji 05:33
the rest are the regional identifiers
samcv would think it would be cool if it said 'implementing Perl 6.c and Unicode 9.0' 05:34
for perl6 --version
05:38 Ven left 05:41 kurahaupo_ joined, kyan left 05:44 kurahaupo__ left 05:45 zacts left
samcv there has got to be a moarvm function to print out to terminal. but i do not know it, so i just used panic to kill it to know which unicode code path it was taking. took a while to nail down the layers there 05:46
should probably be reworked to make more extensive use of grapheme break property at a higher level than the longest code path 05:47
05:51 Ven joined
samcv i wonder the best way to benchmark it though 05:54
need some generator of lots of random things
err i guess i could use the unicode spec test, but make it be actual text reading from a file or something, and copy it a ton of times
05:57 Cabanossi left, shayan_ joined 05:58 Cabanossi joined
M-Illandan Perl6ers, Happy New Year! :-) 05:59
Zoffix Happy!~ 06:01
timotimo harpy new year 06:02
06:08 Ven left 06:09 shayan_ left 06:10 shayan_ joined 06:11 Ven joined
samcv u: harp 06:16
unicodable6 samcv, U+00DF LATIN SMALL LETTER SHARP S [Ll] (ß)
samcv, U+1E9E LATIN CAPITAL LETTER SHARP S [Lu] (ẞ)
samcv, U+20D0 COMBINING LEFT HARPOON ABOVE [Mn] (◌⃐)
samcv, gist.github.com/d7f4af4beead6c1fb3...0c6b341356 06:17
06:17 shayan_ left 06:22 Ven left 06:31 Ven joined
notviki "I am removing my name as a maintainer. I am no longer maintaining the StrawberryPerl chocolatey package, since I don't use Windows any more." -- Matt 06:31
I wonder if that Matt is mst :P 06:32
M-Illandan notviki: Looks like Alan Stevens. chocolatey.org/profiles/alanstevens 06:33
I followed that page from here: chocolatey.org/packages/StrawberryPerl
06:34 xiaomiao left
Zoffix That's the new maintainer 06:35
06:39 Ven left, xiaomiao joined 06:40 shayan_ joined
notviki seems like we could benefit from splitting up Range into subtypes 06:47
The $!is-int is all over the place. 06:48
06:51 Ven joined 06:54 darutoko joined 06:57 pyrimidi_ left 07:08 pierre_ joined 07:09 Ven left 07:10 pyrimidine joined 07:11 Ven joined 07:12 pierre_ left
samcv damn it i forgot to commit… 07:13
07:19 BenGoldberg left 07:25 Ven left 07:31 Ven joined
samcv well. i guess i can re-solve this later or something. 07:37
samcv raises glass.
11:37 here now
notviki, does the new year feel better? fresher? newer?
since you are living in the future 07:38
07:38 Ven left
notviki Yeah, I have a good feeling about it ;) 07:39
m: say 2017 .is-prime
camelia rakudo-moar 15a2f1: OUTPUT«True␤»
notviki m: say (^2018).grep(*.is-prime)[*-2]
camelia rakudo-moar 15a2f1: OUTPUT«2011␤»
samcv i'm so pissed off i have to fix this again ._. 07:42
07:42 kurahaupo_ left 07:46 pyrimidine left 07:47 Ven joined 07:48 pyrimidine joined
samcv .ask jnthn why is the very important MVM_unicode_normalizer_process_codepoint in normalize.h and not in normalize.c? confused 07:50
yoleaux samcv: I'll pass your message to jnthn.
hobbs inlining opportunity, perhaps? 07:53
Zoffix :o hobbs 07:54
07:54 Ven left
hobbs 'tis a Zoffix 07:54
Zoffix :)
07:55 Ven joined
hobbs I've been lurking in the shadows for a year or more, it's just that I'm not usually looking at freenode. Too high-volume and distracting :) 07:56
samcv dunno why there's like 5+ functions for deciding when to defer whether to break strings to the next function
so confusing
hobbs but I got dinged in another channel so here I am. 07:57
samcv would be cool if they could be consolidated
hobbs, hobbs hobbs
hobbs honk.
samcv quack quack
TimToady hny < PST 08:02
Zoffix HNY!
TimToady notes that Datetime.now did not, in fact, show the leap second 08:03
Zoffix TimToady, the leap second is in UTC
TimToady *DateTime
08:03 CIAvash joined
hobbs yeah, it uses a timescale that can't represent it 08:03
Zoffix lies
TimToady I should have showed Instant.now instead :) 08:04
Zoffix m: DateTime.new('2017-01-01').earlier(:second).say
camelia rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '2017-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: DateTime.new('2017-01-01T00:00:00').earlier(:second).say
camelia rakudo-moar c5e54e: OUTPUT«2016-12-31T23:59:60Z␤»
Zoffix ^
samcv nice
guys it feels weird being a second more in the future 08:05
hobbs nevermind, wrong DateTime of course :)
Zoffix :)
samcv m: DateTime.new('0-01-01').say
camelia rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '0-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead␤ in block <unit> at <tmp> line 1␤␤»
samcv m: DateTime.new('1-01-01').say
camelia rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '1-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead␤ in block <unit> at <tmp> line 1␤␤»
samcv m: DateTime.new('0001-01-01').say 08:06
camelia rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '0001-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead␤ in block <unit> at <tmp> line 1␤␤»
hobbs I neglected to video my GPS clock across the leap second this time around
samcv :\
Zoffix missing time
samcv oh
hobbs now that the earth is slowing down on schedule again they're less exciting
samcv m: DateTime.new('0001-01-01').earlier(:second).say
camelia rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '0001-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead␤ in block <unit> at <tmp> line 1␤␤»
Zoffix m: DateTime.new('0001-01-01T00:00:00').earlier(:second).say 08:07
camelia rakudo-moar c5e54e: OUTPUT«0000-12-31T23:59:59Z␤»
samcv why could you do it for the more recent dates?
missing information in the module?
Zoffix Do what?
samcv m: DateTime.new('0001-01-01T00:00:00').earlier(:year.say
camelia rakudo-moar c5e54e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3'0001-01-01T00:00:00').earlier(:year.say7⏏5<EOL>␤»
samcv m: DateTime.new('0001-01-01T00:00:00').earlier(:year).say
camelia rakudo-moar c5e54e: OUTPUT«0000-01-01T00:00:00Z␤»
samcv that is not an actual date 08:08
there is no 0 year
Zoffix m: DateTime.new('0001-01-01T00:00:00').earlier(:200000year).say
camelia rakudo-moar c5e54e: OUTPUT«-199999-01-01T00:00:00Z␤»
samcv it goes from +1 to -1
:(((
Zoffix m: DateTime.new('0001-01-01T00:00:00').earlier(:year(.5)).say
camelia rakudo-moar c5e54e: OUTPUT«0001-01-01T00:00:00Z␤»
08:09 Ven left
hobbs it goes from 1BC to 1AD, but that doesn't mean that "-1" is necessarily a better mapping to 1BC than "0" :) 08:09
samcv what.
that makes no sense
hobbs besides which, it's using some sort of proleptic Gregorian which means none of the dates are *entirely* meaningful before the 16th century 08:10
samcv how do we fix that
it can be done, yes?
hobbs it can be done, but usually by applying an "alternate calendar" converter rather than trying to jam it into the core :) 08:11
(the same sort of thing that you would use to find out what today is in, say, the Jewish calendar)
samcv m: DateTime.new('2017-01-01T00:00:00', :jewish).say 08:12
camelia rakudo-moar c5e54e: OUTPUT«2017-01-01T00:00:00Z␤»
samcv m: DateTime.new('2017-01-01T00:00:00', :THERCHURC.HURC.RU).say
camelia rakudo-moar c5e54e: OUTPUT«No such method 'HURC' for invocant of type 'Pair'␤ in block <unit> at <tmp> line 1␤␤»
samcv m: DateTime.new('2017-01-01T00:00:00', :THERCHURCHURCRU).say 08:13
camelia rakudo-moar c5e54e: OUTPUT«2017-01-01T00:00:00Z␤»
08:14 thayne joined
samcv apparently ISO 8601:2004 has a year zero. though i guess that's fun for them 08:14
just changing the yeasr by one year
hobbs makes life easier in many ways 08:15
samcv for who? people dealing with dates in the past?
08:15 Ven joined
samcv idk i think it should display as 1 BC. it can be stored as 0 though if they like that 08:15
but 0 is not a year, does not exist, never existed
and it's been true for thousands of years.
hobbs ain't nowhere in the ISO8601 grammar to put a "BC" :) 08:16
08:16 labster joined
samcv then have it negative? 08:17
-1
i guess they just uh idk
whatever year 0 is stupid there should be one
hobbs then arithmetic would be broken :)
samcv but there isn't so everybody should fall in line dammit
hobbs anyway, in lieu of a video from today, here's one from 18 months ago: vimeo.com/133728097 08:18
samcv The "basic" format for year 0 is the four-digit form 0000, which equals the historical year 1 BC. Several "expanded" formats are possible: −0000 and +0000, as well as five- and six-digit versions.
ok can we at least use -0?
since other BC's are negative
it at least makes it clear it's not The Year Zero, but it's part of the BC section of the timeline 08:19
CIAvash m: say 'LCFIRST'.samecase: 'a_'; # rightfold 08:25
camelia rakudo-moar c5e54e: OUTPUT«lCFIRST␤»
08:26 Wanderer68 joined 08:28 espadrine joined 08:30 cyphase left
samcv m: my @cases = 'U', 'l'; say 'LCFIRST'.samecase(@cases.pick ~ @cases.pick ~ @cases.pick ~ @cases.pick ~ @cases.pick ~ @cases.pick) 08:32
camelia rakudo-moar c5e54e: OUTPUT«lcfIRst␤»
samcv that's pretty useful. now you can easily convert text for use on myspace 08:33
08:34 cyphase joined 08:38 Ven left
notviki m: my @cases = <U l>; say .samecase: @cases.roll(.chars).join with "LCFIRST" 08:39
camelia rakudo-moar c5e54e: OUTPUT«LcFIRSt␤»
08:39 pierre_ joined 08:42 Ven joined 08:47 dugword left 08:48 dugword joined 08:53 dugword left 08:54 Ven left 08:57 shayan_ left 09:02 Ven joined
gfldex m: say (1/1000) < 0 09:07
camelia rakudo-moar 1e3a32: OUTPUT«False␤»
gfldex i don't think so
m: say (0.001) < 0
camelia rakudo-moar 1e3a32: OUTPUT«False␤»
gfldex m: say (0.1e-3) < 0 09:08
camelia rakudo-moar 1e3a32: OUTPUT«False␤»
gfldex m: say (1e-3) < 0
camelia rakudo-moar 1e3a32: OUTPUT«False␤»
09:09 Ven left
gfldex .oO( new years resolution: get more sleep ) 09:14
hobbs it's good to fail early with these things 09:18
09:22 RabidGravy joined, Ven joined 09:25 rindolf joined 09:27 rindolf left, rindolf joined
gfldex i'm toying around with SI units and I could really do with proper macros :-/ 09:29
09:32 pyrimidine left 09:34 pyrimidine joined 09:39 Ven left 09:40 wamba joined 09:42 Ven joined 09:54 Ven left, tojo joined
samcv for conventing units? 09:55
what is the state of macros? is it _in_ nom?
timotimo yeah, you get them with "use experimental :macros"
i'll try to get some sleep 09:56
10:02 Ven joined, bjz_ joined 10:03 bjz left, Tonik joined
gfldex samcv: I don't want to use them in a module because of their experimental nature. Esp. for something that may be a dependency for quite a few modules. 10:06
samcv exactly
gfldex, also why are routines or operators not good for this use case? when are macros better? 10:07
gfldex the idea is to write stuff like `say N(75kg)` resulting in `735.49875N` 10:08
i would like to have macros so I don't type my fingers bleedy
vim is of great help tho
geekosaur the state of macros is "in nom, known to be very limited and rather buggy, needs significant redesign; talk to masak" 10:10
10:10 Ven left
samcv say N(75, :kg ); sub N ( $num, :$kg?, :$m? ) { … } 10:13
why can't do that?
more typing I know
geekosaur (or go take a look at github.com/masak/007 which iirc is masak's macro playground trying to come up with a more workable macro scheme) 10:14
10:16 labster left
gfldex with `75kg` I get a Numerical with a role mixed in 10:16
so I can do `multi sub N(SI-kilogram $kg){ $kg * g }` to provide typesafety
next step would be to overload infix:<*> to complain if stuff is multiplied that shouldn't 10:17
samcv nice
why can't you just add postfix kg
gfldex I also overload .gist already so you get nice short numbers 10:18
i did add postfix kg
geekosaur I think you end up writing it as 75\kg or some such
gfldex but I have a long list of units prefixes so for each base unit I have 18 postfixes to define 10:19
10:22 Ven joined
samcv i think it is time for sleep guys 10:35
notviki Prolly... haven't slept since last year!
10:39 Ven left, tojo left 10:42 Ven joined 10:49 dugword joined 10:54 dugword left
samcv me either! 10:54
10:55 Ven left 11:02 Ven joined
samcv i have a problem 11:02
moritz a sleep problem? Or a Perl 6 problem?
samcv well did
both. i have a sleep disorder and maybe a perl 6 problem
i think must have been from updating my system got like library not found 11:03
but then ran make install again and it worked
ugh getting other errors in other programs 11:04
git pull :(
ssh: error while loading shared libraries: libldns.so.1: cannot open shared object file: No such file or directory
lamo
11:05 pierre_ left, Zoffix left
moritz this is the point in time where you have to ask yourself whether a reboot is the easiest fix, or whether it won't come up after a reboot at all 11:08
11:09 petrutrimbitas joined 11:10 Ven left
samcv seems one of the package maintainers screwed up 11:11
i'm on arch testing repos
this is the first time this has happened really, where it just broke things. sent the maintainer an email so they can move it to Staging
RabidGravy it's so long since I had a computer fail to boot after an upgrade that I'm quite happy to do it headless on the little computers I ran servers for testing on 11:16
moritz RabidGravy: same here, but I use Debian stable :-) 11:17
heck, the Apache 2.3 -> 2.4 transition caused me more pain than the transition to systemd 11:18
RabidGravy yeah, the last time I had big trouble was when Fedora switched to LVM 11:19
11:20 toolforger joined, bjz joined 11:21 bjz_ left 11:22 Ven joined 11:24 pyrimidine left 11:25 pyrimidine joined
dalek ecs: 78c4211 | samcv++ | S05-regex.pod:
S05-regex.pod: clairify that trailing whitespace is significant w/ :s
11:25
c: f520fae | gfldex++ | doc/Language/typesystem.pod6:
where clauses are supported just not for type checks
11:27
synopsebot6 Link: doc.perl6.org/language/typesystem
11:28 thayne left
toolforger MasterDuke, any news on the array index out of range exception issue? 11:33
11:35 rindolf left, FROGGS_ left 11:36 ufobat joined 11:39 Ven left 11:41 pyrimidine left, rindolf joined 11:42 pyrimidine joined, Ven joined 11:45 notbenh left 11:46 notbenh joined
notviki Well. 7AM. 11:50
.. time for bed.
\o
11:54 domidumont joined 11:55 Ven left, ufobat left 11:58 domidumont left 11:59 domidumont joined 12:02 Ven joined 12:11 Ven left 12:13 TEttinger left 12:15 iH2O joined
tbrowder Happy New Year, #perl6 12:15
iH2O what exactly would be an happy new year for #perl6? 12:16
12:16 petrutrimbitas left
iH2O an happy year 12:17
having "goto" implemented? 12:18
gfldex my happy perl6-year would be one with all the CONC bugs fixed
iH2O you do that, gfldex 12:19
12:20 Tonik left
iH2O we count on you 12:23
gfldex you are likely better of with counting on jnthn in that area 12:24
there will be proper pdfs this year tho 12:25
moritz is also producing PDFs 12:26
toolforger My happy #perl6 year would be a rakudo-jvm that used Perl-derived names on the Java side instead of unrememberable synthetic ones 12:27
iH2O u visionary toolforger 12:28
toolforger It would be necessary to make Perl modules callable from Java 12:30
It would also help reading disassembled bytecode 12:31
12:31 bjz left
dalek c: a2eb3d0 | gfldex++ | doc/Language/typesystem.pod6:
show how to use roles as type-constraints
12:32
synopsebot6 Link: doc.perl6.org/language/typesystem
gfldex this ^^^ example worked out rather nicely, moritz, you may want to have a look
12:34 Ven joined
dalek c: 24162ea | moritz++ | doc/Language/typesystem.pod6:
Fix grammar errors

  "it's" is short for "it is", which is an easy test where it's "it's"
or "its" :-)
12:36
synopsebot6 Link: doc.perl6.org/language/typesystem
moritz gfldex: "If a role is used instead of a class (using
autopunning), the roles type-object is added to the inheritance chain."
gfldex: I don't know what exactly that means, but it's likely wrong
gfldex i'm not happy with the sentence either 12:37
I plan to link to auto-punning, what depends on a proper example
12:38 travis-ci joined
travis-ci Doc build errored. Wenzel P. P. Peppmeyer 'show how to use roles as type-constraints' 12:38
travis-ci.org/perl6/doc/builds/188034815 github.com/perl6/doc/compare/f520f...eb3d0d98b1
12:38 travis-ci left
moritz I just don't think roles are *ever* added to the inheritance chain 12:38
gfldex m: role R { method m { say 'oi‽' } }; R.new.m;
camelia rakudo-moar 268dc9: OUTPUT«oi‽␤»
moritz possibly a class punned from the role, but not the role itself
gfldex m: role R { method m { say 'oi‽' } }; R.new.^mro.say;
camelia rakudo-moar 268dc9: OUTPUT«((R) (Any) (Mu))␤»
gfldex there you go :) 12:39
moritz m: role R { method m { say 'oi‽' } }; R.new.^mro[0]
camelia ( no output )
moritz m: role R { method m { say 'oi‽' } }; say R.new.^mro[0]
camelia rakudo-moar 268dc9: OUTPUT«(R)␤»
moritz m: role R { method m { say 'oi‽' } }; say R.new.^mro[0].HOW.^name
camelia rakudo-moar 268dc9: OUTPUT«Perl6::Metamodel::ClassHOW␤»
moritz gfldex: ^^ the thing that appears in the MRO is a class, not a role
gfldex with the same name as the role 12:40
moritz it's punned from the role R, but it isn't the role itself
thing is, roles don't appear in the MRO
gfldex there seams to be a waterbed theory of confusion too
moritz because roles are always applied to classes
gfldex I shall rephrase anyway
moritz thanks
m: say (2017..*).grep(&is-prime).head(5) 12:42
camelia rakudo-moar 268dc9: OUTPUT«(2017 2027 2029 2039 2053)␤»
moritz twin primes in ten/12 years!
dalek c: 7717f69 | gfldex++ | doc/Language/typesystem.pod6:
rephrase to move confusion around
12:43
synopsebot6 Link: doc.perl6.org/language/typesystem
12:44 Alikzus left
dalek c: 7ce8859 | gfldex++ | doc/Language/typesystem.pod6:
doc role-autopunning
12:49
synopsebot6 Link: doc.perl6.org/language/typesystem
12:51 dugword joined 12:55 dugword left
dalek c: fc17692 | moritz++ | doc/ (2 files):
Fix two more "it's" that should be "its"
12:55
moritz gfldex++ # doc work 12:56
toolforger Mmmm... gcc warnings when compiling moar 12:59
13:04 froggs joined, pyrimidine left 13:05 pyrimidine joined, aries_liuxueyang joined 13:08 grondilu joined
iH2O semantically speaking, can "it's" always be used instead of "its". like you can always say "Paul's car" as equivalent to "Pauls car" 13:09
geekosaur er?
iH2O "it's color" means "the color of it", which is equivalent to "its color" 13:10
froggs no
geekosaur "can always" in the sense that English lets you get away with atrocities
iH2O yes
geekosaur but "Pauls car" is not proper 13:11
iH2O i use that everyday on IRC :-P
froggs Pauls is plural
Paul's is not
geekosaur and possessives work backwards from "it's" / "its", as "it's" means "it is"
iH2O Pauls is slang for Paul's
in the sense i used it
geekosaur whereas "its" is a possessive pronoun
13:14 froggs left, FROGGS joined
geekosaur formal documentation should make *some* attempt at correct usage, as opposed to just making word salad and hoping everyone will get it 13:14
iH2O O_O
13:16 FROGGS left
iH2O why hasn't mainstream English shortened "don't" to "dont" yet? 13:16
overdue
RabidGravy because it is a contraction
geekosaur it's already shortened, that's what the apostrophe means 13:17
13:18 aries_liuxueyang left 13:19 FROGGS joined
iH2O perl6 is now better than English at shortening syntax 13:19
13:21 travis-ci joined
travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'rephrase to move confusion around' 13:21
travis-ci.org/perl6/doc/builds/188036521 github.com/perl6/doc/compare/24162...17f6970a9f
13:21 travis-ci left, aries_liuxueyang joined 13:22 Wanderer68 left
geekosaur that's not saying much :) 13:23
(and there are languages far better at it: MUMPS, FOCUS, APL...)
iH2O APL lol
ive already done some APL
geekosaur er, FOCAL 13:24
pretty much any keyword in MUMPS or FOCAL can be shortened to its first letter
13:24 Alikzus joined
geekosaur (making programs in either infamously unreadable) 13:24
iH2O PPMd can compress text almost 5 times for large files 13:26
thats record short
13:26 aries_liuxueyang left
iH2O i think 13:26
geekosaur if you have source code large enough to benefit from a compression program, you're already doing it wrong... 13:27
13:27 aries_liuxueyang joined
geekosaur (in a single file that is) 13:27
iH2O thats for object code imho
conjecture: even APL would compress near 5 times with PPMd
13:29 travis-ci joined
travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'doc role-autopunning' 13:29
travis-ci.org/perl6/doc/builds/188037169 github.com/perl6/doc/compare/7717f...e885944aeb
13:29 travis-ci left
iH2O APL source code i mean 13:30
13:30 Tonik joined
geekosaur object code's a different beast, yes. can be highly compressible, because you have lots of boilerplate code generated for various language constructs, function prologs/epilogs, etc. 13:30
RabidGravy wonders whether he is slipped back in time forty years 13:32
iH2O perl6 object code should compress tremendously given its tremendously underoptimized 13:33
geekosaur more than that :)
iH2O :)
i mean perl6 intermediary code 13:34
geekosaur actually that was the "40 years" comment I was responding to
as to intermediate code, every time I look at nqp I want to write a macro processor to generate most of it for me :p 13:35
(bliss-nqp, anyone? :p )
RabidGravy I write some microcontroller code every once in a while where I do have to be concerned with the size of the resulting executable, but other than that it's a non-problem these days 13:36
13:37 travis-ci joined
travis-ci Doc build passed. Moritz Lenz 'Fix two more "it's" that should be "its"' 13:37
travis-ci.org/perl6/doc/builds/188037853 github.com/perl6/doc/compare/7ce88...17692eb322
13:37 travis-ci left
iH2O i use English as a 2nd language but i never confuse "its" and "it's". i'm puzzled no end every time i see a well educated native English speaker confuse them 13:39
which happens all the time
geekosaur not sure how much of it is confusing them and how much is sloppiness from e.g. texting where why would you hunt down the apostrophe? 13:40
RabidGravy this is largely to do with how people learn their native language 13:41
13:41 pierre_ joined
RabidGravy I always make an effort to use the correct apostrophes in text messages 13:41
geekosaur also, sometimes you just pick up what others are doing. I'm seeing / hearing more native speakers not invert sentence structure in questions, for example
used to be you could spot the non-native speakers trivially that way 13:42
grondilu m: my uint @a[1] = 7; for @a -> $x is rw {} 13:43
camelia rakudo-moar 268dc9: OUTPUT«Parameter '$x' expected a writable container, but got Int value␤ in block <unit> at <tmp> line 1␤␤»
grondilu m: my uint @a = 7; for @a -> $x is rw {}
camelia ( no output )
13:44 aries_liuxueyang left, kurahaupo__ joined 13:48 kurahaupo__ left
masak ahoy 13:49
I'm gonna OT you some more by telling you that I'm still enjoying fleshing out gist.github.com/masak/8e082999e06b...2899bbcde5
13:49 aries_liuxueyang joined
masak I'm now up to (or down to) having defined subtraction. yay! 13:49
iH2O: I find I only make it's/its type mistakes when I'm really tired and my brain basically only has the energy to type "by sound" instead of by the underlying words' spelling. 13:50
strangely, it only happens to me with it's/its, not with there/their/they're, as far as I can remember 13:51
geekosaur RabidGravy, I do wonder how much www.sciencedaily.com/releases/2015...094229.htm generalizes
masak (oh! the gist above is worth reading solely for the awful Peano pun near the end!)
geekosaur more likely to thinko the latter when tired
and yes, going by sound does seem to be part of it, but if I mess up with it's/its I'm more likely to have fat-fingered the enter key instead of ' 13:52
13:52 dugword joined 13:53 lukaramu joined
toolforger Heh. Curry is spicy, even in programming :-) 13:53
masak :) 13:54
toolforger +1 for the Kronecker quote, too 13:55
masak I've always liked that one
but lately I've come to feel that only 0 and 1 are in fact real
everything else is, like, so made up
toolforger Also, "God made time, but calendars are the work of the Devil"
RabidGravy nothing is real
masak RabidGravy: cf. 0-tuples in the gist :P
toolforger My first course in math defined integers like this: zero is the empty set, the successor to x is the set containing x 13:56
so, 0 is represented as {}, 1 as {{}}, 2 as {{{}}}, etc
it all worked... so not even 0 and 1 are real, just the empty set, and sets containing a single element
:-D
geekosaur ...someone teaches arithmetic from ZFC?! 13:57
(well, a variant)
13:57 dugword left
masak toolforger: that's not the standard ZFC definition, but yeah, I've seen that one too 13:57
toolforger It was more an introductory course to induction, if you will forgive me the pun
They never told us what that particular model was called 13:58
masak toolforger: I think what one needs to not lose sight of is that while it's definitely *possible* to define everything with sets, it's definitely not the *only* way, let alone the only *right* way :)
toolforger if you say "ZFC variant", I'll happily agree with whatever you say
masak toolforger: think it's "von Neumann numbers" or something. let me check.
toolforger But yeah, it's just models
the thing per se is just the axioms, but these don't represent well 13:59
not in the human mind, and not in computers 14:00
masak I've become very partial to CT's way of defining foundations of algebra lately
toolforger so we use one of many models, and hope that the model doesn't mislead us into overly specific conclusions
CT?
14:00 aries_liuxueyang left
geekosaur or other mistakes (ohai Gödel!) 14:00
category theory, I think
toolforger takes a cautious step back 14:01
masak yes, category theory
not as bad as it sounds :)
toolforger runs
geekosaur it's just a generalization of sets, what's the problem? :p
masak toolforger: I was wrong. von Neumann ordinals are those that I'm used to: en.wikipedia.org/wiki/Ordinal_numb...f_ordinals
toolforger :-)
masak geekosaur: yeah, but that's selling categories a bit short, IMHO
toolforger It's just that I never took a course in CT, and the reading material that I saw was either too handwavy to be useful or assumed too much background and was too heavy 14:02
masak toolforger: category theory has a bad name, I guess, because it's very abstract and condensed. it takes a bit of patience to learn enough context around it in order to appreciate CT itself
toolforger: I found it useful to start by beefing up on algebraic topology, out of which CT was largely born 14:03
toolforger Yeah, that would be part of the "too much background"
masak I've never taken a course in it either :)
toolforger I know my way around formal logic
masak anyway, the tl;dr is that CT has shown me that the natural numbers really *are* quite fundamental
toolforger Up to and including basics of fixed-point theory 14:04
masak, I can imagine
masak and integers too
the ring of the integers is the "initial object" in the category of rings. that means, hand-wavily, that it relates to all other rings in a unique way. 14:05
toolforger Another observation just how fundamental naturals are: They are the smallest model where Diagonalization works, so they are the smallest domain where incompleteness, indecidability and all that stuff happen
They are also the smallest model that can carry algorithms
masak aye
that's why they are so freaky
toolforger so undecidability is fundamental to algorithms, which is sort of freaky, too 14:06
masak somewhere out there there's a huge natural number that encodes your entire life in bits
everything that ever happened or will happen to you
toolforger yeah, but the number is probably just as large as the binary log itself
masak it's cool, I won't ask you to write it down or read it aloud 14:07
just to contemplate it
toolforger I.e. the famous "Shakespeare works typed by monkeys" thing - I assume that on the average, the number needed to specify WHICH of those monkey works is the Shakespearian works is just as large as the works itself
I can't prove it though
but I suspect it could be proven using information theory 14:08
masak intuitively it feels like it could be a fair bit smaller
but yeah, you'd have a "librarian's problem" of filing and categorizing all the huge reams of infinite garbage coming from the monkeys
toolforger Add another letter to the works multiplies the possibilities by alphabet size
so you need another alphabet letter to file the works
masak kind of reminds me of the discussions around Maxwell's Demon, actually 14:09
14:09 aries_liuxueyang joined
masak ooh! someone write up some Infinite Monkeys/Maxwell's Demon crossover fanfic! :D 14:09
masak , for some reason, imagines arnsholt popping into the discussion right around now
toolforger I once read a fantasy works where a daemon of perversion was summoned 14:10
moritz masak++ # λ calculus
14:10 iH2O left
toolforger the protagonist told it to build a wall of tax legislation, which it gleefully did 14:10
geekosaur briefly considers checking ao3, decides that having been up all night due to sinuses he is officially too tired
masak moritz: I'm going to need to explain the Y combinator in order to define division. kind of looking forward to it, in a weird way. 14:11
toolforger Don't you need Y for subtraction already? 14:12
masak nope, just the natural iteration of numbers
geekosaur only for the zero case :p
masak geekosaur: that's not Y, that's just diverge :)
Y is like a harnessed version of diverge 14:13
toolforger Well, actually the predecessor function
masak which is probably a neat way to start explaining it
14:13 aries_liuxueyang left
masak toolforger: right. see the bottom of the gist. 14:13
toolforger: it dismays me a little how many resources online define `pred 0` as `0`
toolforger I stopped reading at the paragraph, that's the point where my brain starts turning into a Klein bottle :-) 14:14
But sure, pred 0 is undefined, not 0
masak right
which is why we diverge if someone asks for it
toolforger Plus pred 0 is the perfect point to explain partial functions, and what problems they cause
masak hm
toolforger but can you even define pred in Lambda calculus if you don't have Y?
14:14 hartenfels joined
masak I believe I just did 14:15
all you need is to iterate up to n-1
that can be done using the iteration in Church numerals
of course, those are themselves defined inductively
with a... scheme
toolforger Ah right, you set up a function that returns the list and wrap it in a selector function that returns the predecessor 14:16
masak something like that, yes
toolforger Yeah
I'm pretty sure it's not what you're actually doing, but it's the overall structure
14:17 aries_liuxueyang joined
masak I iterate over the (conceptual) sequence (diverge, 0), (0, 1), (1, 2)... 14:17
toolforger But... it's recursive
masak I maintain it's not -- at least not the way I see it
toolforger Wait... no, it isn't
Strange
masak all you do is have arbitrarily high Church numerals 14:18
toolforger it *should* be recursive if it unwraps to a for loop
masak no, it's just that the Church numeral for N has N application in it
think of it as "brute-force iteration" or something
toolforger Maybe the lambda expression for pred is inaccurate 14:20
I cannot check it, not confidently enough to be sure anyway
geekosaur spots the point in the gist where the original notation for function application gets rediscovered >.> 14:23
toolforger Oooo-kay, I think I just grokked Church numerals 14:24
masak toolforger: :)
geekosaur: could you enlighten me, please? I'm not sure what you're referring to.
toolforger i.e. why it's useful to define numbers in this way
geekosaur exponentiation 14:25
masak geekosaur: I can see that in many places in mathematics, there is a *notational* parallel being drawn between exponentiation and function application
geekosaur: it even makes some sense on a semantic level
geekosaur: but I don't feel I have the full picture there. specifically, arithmetical exponentiation still seems to me to be completely unrelated to function application. 14:26
toolforger: a Church numeral for N is basically just N repeated applications, frozen into a lambda
toolforger yes
I knew that
geekosaur well, the context I'm talking about is lambda calculus. and originally they used the notation for arithmetic exponentiation to represent application, because of the equivalence at the lambda calc level 14:27
dalek c: 3d5e064 | (Tom Browder)++ | doc/Language/syntax.pod6:
add missing word
synopsebot6 Link: doc.perl6.org/language/syntax
toolforger I just have been thinking that Church numerals are just the function-land equivalent of nested sets - pretty but useless 14:29
masak geekosaur: who are "they"? Alonzo Church?
toolforger: then what was it you just realized?
toolforger Now I see that defining N as "N applications of some functions", there's actually real power
masak aye 14:30
14:30 pierre_ left
toolforger you don't need an external definition/axiom to DO something with a number, it is already a function that does something for you 14:30
toolforger is going to bed smarter today than he stood up
masak right; I love the "ostensive" feel of Church encoding 14:31
toolforger nods
masak a boolean is a two-way chooser; a number is a function iterator 14:32
toolforger is going back to hacking NQP, that's easier
14:32 cdg joined
toolforger :-D 14:32
masak ooh! and *that's* how you define the Y combinator!
the Y combinator is simply an *infinite* function iterator :) 14:33
toolforger Note that the Y combinator is easy to define in Lambda Calculus, but cannot be defined in any Typed Lambda Calculus
you cannot assign consistent types to parameter and result types
masak right 14:34
toolforger I'm feeling pretty uneasy with that
masak nah; you just need something stronger than simply typed lambda calculus for it
I think something like "forall" is enough
14:35 cdg left
toolforger Dunno; I didn't follow the reasoning, I just noted the result as presented 14:35
masak it's not so surprising that something with the power to diverge in its innards is hard to type with the simplest possible type system :P
geekosaur masak, yes it was Church and in fact it followed from his definition of ordinals
since they are themselves exponentiations, in a sense
masak geekosaur: very interesting. thank you.
14:36 aries_liuxueyang left
toolforger I have a question about "make test" in nqp 14:37
does it run the tests with all backends, or just with the default backend? 14:38
I need to validate that all backends built correctly
psch you should have backend-specific test targets
i.e. j-test, m-test
toolforger because I'm mucking around with the makefile(s)
psch, I see, running these as well 14:39
thx
psch those do run the normal test battery, i.e. for a moar-only nqp build m-test and test are equivalent
at least as far as i am aware
toolforger I have a backends=all build here 14:40
not sure which of the three backends are being run with just 'make test'
oh, and there's also qregex-test 14:41
psch well, the test target runs the primary backend
the easiest way to check which one that is is checking what ./nqp calls i guess
toolforger it's doing install/bin/moar nqp.moarvm 14:42
14:42 kurahaupo__ joined, kurahaupo__ left
toolforger so I guess I also need make 'j-test' and 'make js-test', is that right? 14:43
psch i'd say so 14:44
i think those also run qregex tests..?
toolforger Um... I am getting a java.lang.RuntimeException
ah right, 'make test' reports that it is doing "prove -r --exec "./nqp-m" t/nqp t/hll t/qregex t/p5regex t/qast t/moar t/serialization t/nativecall" 14:45
then nqp-j
so make test is indeed exercising all available backends, which is sweet
psch oh, neat. i wasn't aware of that 14:46
toolforger Test failures for "make j-test":
t/serialization/01-basic.t ............. 1/1502 java.lang.RuntimeException: No such attribute '$!written' for this object
in (t/serialization/01-basic.t:560) 14:47
in <mainline> (t/serialization/01-basic.t:526)
(skipping rest of stack trace, looks like it's just the test driver)
and this: 14:48
t/serialization/01-basic.t ............. Dubious, test returned 1 (wstat 256, 0x100)
Failed 1413/1502 subtests
(less 2 skipped subtests: 87 okay)
"make js-test" is even worse, it complains "cannot find module 'nqp-runtime'" for every single test 14:49
bartolin t/serialization/01-basic.t was modified yesterday: 806c65fc5a
probably the new tests fail on nqp-j 14:50
14:50 AlexDaniel joined, xinming_ joined
toolforger I guess Pawel Murias would want to know about the serialization issues, to check whether it's a wrong test or a wrong nqp-j implementation 14:52
14:53 xinming left
toolforger should I be worried about the JS test failures? 14:54
(in the sense that these failures might be hiding mistakes I may be making when changing makefiles)
bartolin doesn't know; didn't run nqp-js tests, yet 14:55
toolforger is going to avoid touching Makefile-JS.in then 14:58
or at least I'll be ultra-careful... not what I prefer, but ah well
15:02 aries_liuxueyang joined 15:04 pjablonski left 15:10 Ven left, aries_liuxueyang left 15:15 Ven joined
AlexDaniel samcv: oh, invisible letter! 15:18
nice
is it something we are supposed to use to show combining characters? 15:19
none of this ◌ rubbish, right? 15:20
15:22 labster joined 15:26 Ven left
toolforger What's the problem with ◌? 15:26
geekosaur the bigger problem is people who don't even use that 15:27
15:28 pierre_ joined, M-Illandan joined, M-Illandan left, M-Illandan joined
geekosaur someone was trying to parse irc logs the other day that had entries that started with combining characters. the json parser's utf8 decoder duly attached the combining characters to the opening quote, confusing the heck out of the json parser 15:29
15:30 CIAvash left 15:31 cibs left
AlexDaniel yea, it was me xD 15:31
15:32 pmurias joined
AlexDaniel the thing is, if you're adding some extra characters to the string 15:32
geekosaur I noticed moritz patched it to work :)
pmurias I'll add the skips on the nqp-j for the new tests
AlexDaniel then you're basically mangling what was said on IRC
pmurias toolforger: don't touch the Makefile-JS.in
toolforger: it's autogenerated 15:33
15:33 cibs joined
geekosaur but, really, the ideal way to handle that is to have a dedicated character to act as a holder, and require everything to use it instead of having to special case combining character handling for quotes 15:33
or etc.
15:33 pierre_ left
geekosaur which is just really horrid 15:33
moritz yes, the way it's handled now, everybody who writes a grammar needs to be aware of those quirks
geekosaur and for a csv library you also have to watch out for them on commas 15:34
AlexDaniel geekosaur: yea but, if somebody wrote ́ on IRC, what would you save in the log?
toolforger pmurias, good to know, thx
15:35 CIAvash joined, Ven joined
AlexDaniel geekosaur: if you add some character before it, then how would I know if that person wrote it with that character or just wrote a combining character alone? 15:35
toolforger IRC shouldn't accept combining characters as first character of a message, and if it does it's a bug 15:36
geekosaur well, ideally it goes with an indicator of whether a character takes combining characters (this may already exist) and writing that would be ill-formed unicode
pmurias I should propably work on not having Makefil-JS.in in version control as everybody wants to edit it
15:37 labster left
moritz does anybody know if Swift has the same problem, and if yes, if/how they solved it? 15:37
toolforger pmurias, I agree
moritz iirc swift also does graphemes
pmurias
.oO(maybe we should have a swift backend)
15:41 aries_liuxueyang joined, Ven left 15:53 labster joined, labster left 15:55 Ven joined 15:57 Y8_ joined 15:58 Y8_ left
pmurias toolforger, bartolin: I fixed and added a skip to the failing test 16:00
16:04 newcoder joined, newcoder left
toolforger thx 16:10
16:11 Ven left, khw joined 16:14 Ven joined
toolforger I'm going to PR some Makefile readability improvements; pmurias, should I remove makefile-js.in while I'm at it? 16:14
pmurias toolforger: don't remove it before Configure.pl is taught to generate it 16:16
toolforger ah ok np
16:20 shayan_ joined 16:24 aries_liuxueyang left 16:25 Ven_ joined 16:26 bpmedley left
pmurias toolforger: the Makefile-JS.in is generated by tools/build/gen-js-makefile.nqp 16:26
16:26 Ven left
pmurias I'll make Configure.PL generate it later today 16:27
toolforger I know, but I'm not confident in my ability to properly test it
so I'll leave that to you
16:29 dugword joined, pierre_ joined 16:30 aries_liuxueyang joined 16:31 rburkholder joined 16:35 pierre_ left 16:47 petrutrimbitas joined
dugword m: sub (Int(Cool) :$foo){}() 16:48
camelia rakudo-moar 29b5ea: OUTPUT«Use of uninitialized value of type Cool in numeric context␤ in sub at <tmp> line 1␤»
RabidGravy yes 16:50
dugword $foo is an optional named argument, but I get a warning about trying to convert it to an int because of the signature. Should it, or is there an idomatic way to write this? Or do I need to check if it is defined and cast it in the sub definition.
16:50 MasterDukeMobile joined
dugword m: sub (Int :$foo){}() 16:51
camelia ( no output )
MasterDukeMobile .tell toolforger I haven't made any progress on the aioob exception (secretly hoping you figure it out) 16:52
yoleaux MasterDukeMobile: I'll pass your message to toolforger.
toolforger I'm here
yoleaux 16:52Z <MasterDukeMobile> toolforger: I haven't made any progress on the aioob exception (secretly hoping you figure it out)
toolforger I'll need some handholding to reproduce the issue
psch dugword: i'm pretty close to want to consider that a bug, actually. iirc we had something similar recently with post constraints 16:53
toolforger give me an hour or so, finishing a PR first
MasterDukeMobile I'm actually heading out now, but I'll check the backlog
psch dugword: maybe have a look throught RT if it's ticketed, and also maybe bug someone else if it should be ticketed :)
psch isn't firm enough in some part of the language to decide vOv 16:54
notviki dugword: I'd call it a bug. You can omit that coersion if it's impeding your sock PR
16:55 floutenvy joined
dugword Thanks, submitting now 16:56
toolforger MasterDukeMobile, no backlog - can you send me a set of step-by-step instructions how to reproduce the problem? I'm too fuzzy about the details. Just send the thing to [email@hidden.address] 16:57
16:58 MasterDukeMobile left
toolforger aww 16:58
ah well :-)
17:06 floutenvy left 17:09 aries_liuxueyang left 17:10 floutenvy joined, huggable joined, buggable joined, ChanServ sets mode: +v huggable, ChanServ sets mode: +v buggable 17:11 aries_liuxueyang joined 17:15 floutenvy left 17:16 aries_liuxueyang left 17:17 aries_liuxueyang joined 17:20 skids joined 17:24 MilkmanDan joined
grondilu m: say sub (uint32 $x --> uint32) { 2*$x }(2**31); 17:27
camelia rakudo-moar 29b5ea: OUTPUT«4294967296␤»
grondilu ^that seems wrong to me
m: say my uint32 $ = 2**32 17:28
camelia rakudo-moar 29b5ea: OUTPUT«0␤»
17:28 domidumont left
grondilu m: say sub (uint32 $x --> uint32) { 2*$x }(2**31).WHAT; 17:28
camelia rakudo-moar 29b5ea: OUTPUT«(Int)␤»
grondilu m: sub (--> uint32) { 2**33 }
camelia ( no output )
grondilu m: sub (--> uint32) { 2**33 }().say
camelia rakudo-moar 29b5ea: OUTPUT«8589934592␤»
AlexDaniel yea… well 17:30
6c: sub (--> uint32) { 2**33 }().say
committable6 AlexDaniel, ¦«2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10,2016.11,2016.12,HEAD»: 8589934592 17:31
AlexDaniel m: sub (--> uint32) { -10 }().say 17:32
camelia rakudo-moar 29b5ea: OUTPUT«-10␤»
AlexDaniel grondilu: there you go!
that's a known problem
grondilu: well, isn't it your ticket? RT #124294 17:33
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124294
grondilu m: say my uint32 $ = 2**63; 17:35
camelia rakudo-moar 29b5ea: OUTPUT«0␤»
grondilu this one was fixed I believe 17:36
m: say my uint32 $ = -1
camelia rakudo-moar 29b5ea: OUTPUT«4294967295␤»
AlexDaniel hm
17:38 platon joined, platon is now known as Guest11891 17:39 petrutrimbitas left
toolforger PR #335 ready for review github.com/perl6/nqp/pull/335 17:53
17:54 aries_liuxueyang left 17:56 aries_liuxueyang joined
pochi ssh kryten 17:56
17:56 toolforger left
notviki ssh: Could not resolve hostname kryten: Name or service not known 17:57
17:58 petrutrimbitas joined, zakharyas joined 17:59 toolforger joined
pochi :) 18:04
mst but where would all the calculators go? 18:06
moritz if you ever find yourself successfully ssh'ing into a top-level domain, RUN! 18:07
18:08 Gasher joined 18:22 nebuchadnezzar left 18:24 nebuchadnezzar joined, nowan_ joined 18:27 nowan left 18:30 CIAvash left, darutoko left 18:31 Guest11891 left 18:32 rindolf left 18:35 Wanderer68 joined 18:37 rindolf joined 18:40 shayan_ left 18:42 hartenfels left 18:44 hartenfels joined
stmuk I was enable at one point in the 90s to do a top level domain query on .uk! 18:44
18:48 bwisti joined
dugword github.com/rakudo/rakudo/pull/981 18:49
PR re-opened for IO::Socket::INET
18:49 bwisti left
moritz dugword++ 18:50
dugword: do you also happen to have tests?
dugword I do not, should they be roast tests, or tests within rakudo ?
lizmat is building and testing
moritz dugword: roast 18:53
18:56 bwisti joined
dugword I can write some, there were none for the host:port uri parsing. And that was one of the bugs I fixed 18:58
19:00 shayan_ joined
notviki There seem to be some in github.com/perl6/roast/blob/master...read.t#L33 only IPv4 though 19:00
dugword yup, sorry. There are none for the IPv6, and that functionality was broken 19:03
lizmat dugword: $ perl6 t/spec/S32-io/socket-accept-and-working-threads.t 19:07
1..10
Failed to connect: connection refused
in block <unit> at t/spec/S32-io/socket-accept-and-working-threads.t line 31
dugword: could be a MacOS specific issue ? 19:08
dugword I don't see that test in my repo 19:11
notviki dugword: repo of what Rakudo?
run make spectest and it'll clone it (or if you plan on writing tests, checkout your fork into t/spec)
fork of roast 19:12
github.com/perl6/roast
dugword I have roast in t/spec
19:12 pierre_ joined
dugword I don't see 'socket-accept-and-working-threads.t' in S32-io 19:12
Oh, it's in master
I was in 6.c-errata}
That test passes for me 19:13
make t/spec/S32-io/socket-accept-and-working-threads.t 19:14
rm -f -- perl6
cp -- perl6-m perl6
chmod -- 755 perl6
/usr/local/Cellar/perl/5.24.0_1/bin/perl t/harness5 --fudge --moar --keep-exit-code --verbosity=1 t/spec/S32-io/socket-accept-and-working-threads.t
t/spec/S32-io/socket-accept-and-working-threads.t ..
1..10
ok 1 - Server responded (0)
ok 2 - Server responded (1)
ok 3 - Server responded (2)
notviki /o\
dugword ok 4 - Server responded (3)
ok 5 - Server responded (4)
ok 6 - Started work was completed (0)
ok 7 - Started work was completed (1)
ok 8 - Started work was completed (2)
ok 9 - Started work was completed (3)
ok 10 - Started work was completed (4)
ok
All tests successful.
Files=1, Tests=10, 2 wallclock secs ( 0.03 usr 0.01 sys + 1.71 cusr 0.89 csys = 2.64 CPU)
Result: PASS
notviki builds a copy too, to check 19:15
19:16 pierre_ left
RabidGravy is this good? It looks good 19:23
notviki Reproed
notviki looks why it fails
19:25 Tonik left 19:27 zakharyas left
notviki Aha, found it 19:28
19:28 aindilis left
notviki rebuilds and runs stresstest 19:30
dugword What is it? 19:31
notviki You made :$localhost required, but it wasn't before, so in that test .new() fails to find the candidate to call and fails, and because we let that start block ignore exceptions it doesn't throw and tries to listen to a sock that failed to get created 19:33
well 19:34
masak all I heard was "...ignore exceptions..." o.O
notviki dugword: well, that's one issue. Still fails. 19:35
notviki looks harder
still fails for the same reason, umm, why doesn't it like the candidate tho 19:36
19:38 pyrimidine left, pyrimidine joined
notviki ah lol 19:40
of course!
It doesn't like the :D 19:41
notviki snickers
19:43 thundergnat left
notviki OK. Now it gets stuck :P 19:44
notviki looks harder
dugword :$localhost previously worked if it wasn't defined and it would listen on a random port, just like if you pass port 0. Do we need to preserve that behavior? And the :D on :$localhost?
(Or I think that is what it was doing)
RabidGravy For a listener you can't require localhost 19:46
19:47 shayan_ left
dugword Why is that? 19:48
19:48 Tonik joined
RabidGravy because a listener may want to listen on all interfaces on all families 19:50
so not specifying right now gives you both v6 and v4 if available 19:51
if you specify 0.0.0.0 you only get v4 19:53
unless there's something in this that "fixes" that 19:54
dugword I see
notviki We do specify that: github.com/rakudo/rakudo/blob/nom/...NET.pm#L75
19:54 bjz joined
RabidGravy ok that's odd then 19:55
maybe magic ip stack trick 19:56
19:57 Wanderer68 left
notviki m: Str.split(":", 2) 19:58
camelia rakudo-moar 29b5ea: OUTPUT«Cannot resolve caller split(Str: Str, Int); none of these signatures match:␤ (Str:D $: Regex:D $pat, $limit is copy = Inf;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_)␤ (Str:D $: Cool $match;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_)…»
notviki weird 19:59
seems to hang on that ^
RabidGravy yeah I've seen some surprising resolution things in the last few days 20:00
20:00 claytonrowe joined
RabidGravy couldn't find anything obviou 20:00
20:00 Gasher left
notviki oh 20:01
not weird at all
RabidGravy oh that one isn't surprising
20:01 brrt joined
notviki dugword: so one issue is Str:D :$localhost! needs to be Str :$localhost 20:02
dugword: and the other issue is then you pass undefined args to split-host-port/v4-split and it throws because it can't resolve, for example, split on a :U stringf 20:03
AlexDaniel hey, um… I have a qustion
m: dd ‘aaa bbb ccc’.split(‘ ’, 2)
camelia rakudo-moar 29b5ea: OUTPUT«("aaa", "bbb ccc").Seq␤»
AlexDaniel so it just takes the first element and puts the rest as a second one, right?
notviki dugword: I don't know why the test passes for you, are you sure you correctly built your perl6?
AlexDaniel so, if this is like this: 20:04
m: dd ‘aaa bbb ccc’.split(‘’)
camelia rakudo-moar 29b5ea: OUTPUT«("", "a", "a", "a", " ", "b", "b", "b", " ", "c", "c", "c", "")␤»
RabidGravy AlexDaniel, yes that is my understanding
AlexDaniel and this is like this:
m: dd ‘aaa bbb ccc’.split(‘’, 2)
camelia rakudo-moar 29b5ea: OUTPUT«("", "aaa bbb ccc").Seq␤»
masak from rosettacode.org/wiki/Y_combinator#Perl_6 -- "Note that Perl 6 doesn't actually need a Y combinator because you can name anonymous functions from the inside" -- with all due respect, but that's kind of missing the point about the Y combinator ;)
AlexDaniel then why is this like this?
m: dd ‘aaa bbb ccc’.split(‘’, 1)
camelia rakudo-moar 29b5ea: OUTPUT«("aaa bbb ccc",)␤»
AlexDaniel oh, because it gets merged
ok, no question, thanks 20:05
notviki What do you mean merged? 20:06
AlexDaniel nevermind, it was a bug in my head
notviki So why is it the original string and not ""?
dugword Thanks Not viki, I'll take a look at my build. Very likely I am not doing something right... 20:07
AlexDaniel notviki: huh? 20:08
notviki dugword: here's my alias for building it: build-rakudo is aliased to `perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install'
20:08 brrt2 joined
notviki .... 20:09
dugword would v4-split not have been throwing before? I don't think I changed that function
notviki dugword: you didn't but you're passing undefined arguments and old code doesn't
AlexDaniel: why is the first item in the result changes when you set a different limit
AlexDaniel notviki: because when you ask for 1 item only it will attempt to shove in the whole string into it 20:11
notviki: so the empty string kind of disappears
notviki ok
20:11 brrt left 20:13 pierre_ joined
claytonrowe Hello everyone, I'm interested in learning and eventually contributing to perl 6. You guys have any projects for a bored undergrad student to work on? I'm new to this IRC so let me know if there is a more appropriate forum to ask this question at. 20:14
AlexDaniel huggable: wanted 20:15
huggable AlexDaniel, nothing found
psch claytonrowe: you are in the right place. docs.perl6.org is a start, and rt.perl.org has the perl6 bug tracker queue
moritz claytonrowe: welcome to #perl6. What aspects are you interested in?
claytonrowe: compiler development? modules? docs? tests?
AlexDaniel huggable: wanted :is: github.com/perl6/perl6-most-wanted...ost-wanted
huggable AlexDaniel, Added wanted as github.com/perl6/perl6-most-wanted...ost-wanted
moritz some specific areas like Unicode, IO, garbage collection, OO, anything? 20:16
claytonrowe Ummmm... my background is in bioinformatics but I'm open to just about anything
AlexDaniel or… IRC bots maybe? :)
psch obviously that calls for jvm runtime bytecode generation... :)
moritz afk for a while; will try to give better advice when I'm back
psch ++moritz
AlexDaniel claytonrowe: also, sometimes just using perl 6 for your own projects and reporting bugs is very helpful 20:17
lizmat AlexDaniel: s/sometimes//
psch claytonrowe: in all honesty, i'd suggest reading existing documentation issues (at github.com/perl6/doc/issues) and try and figure out if you can fix any
lizmat :-)
psch claytonrowe: as in, have an idea that you want to try and PR 20:18
AlexDaniel buggable: LHF
buggable: tag LHF
buggable AlexDaniel, There are no tickets tagged with LHF
AlexDaniel awww
claytonrowe I'll take a look at the most wanted webpage and the bug tracker
20:18 pierre_ left
RabidGravy and you know the 25,000 modules that people think we need to be successfull ;-) 20:18
notviki claytonrowe: alternate viewer for the bug tracker: perl6.fail 20:19
claytonrowe Also, I'll think of a more specific project domain and come back.
psch claytonrowe: well, you *can* just hang around here honestly :)
that's usually at least a little conductive to learning the language i find
RabidGravy and finding out what people are really thinking ;-) 20:20
psch rejects thoroughly rejects the accusation of thinking
-typos vOv
AlexDaniel will take it as a compliment 20:21
claytonrowe Thanks guys, yall seem like a super friendly community.
notviki isn't friendly
RabidGravy we only play friendly on tv
notviki wonders if claytonrowe is a student of Ken Youens-Clark 20:22
claytonrowe Nope not a student of Ken Youens-Clark. I go to the University of North Texas.
notviki Ah. He's at Uof Arizona. And I know he was showing his bioinformatics student some perl 6 :) 20:24
claytonrowe Hey! just googled him and found a metagenomics book from him. I'll check it out
notviki :) 20:25
20:25 dataf3l joined 20:27 dataf3l left
lizmat claytonrowe: p6weekly.wordpress.com # another way to keep up to date 20:29
20:30 pierre_ joined 20:32 zakharyas joined 20:33 tojo joined 20:34 brrt2 left 20:42 Ven_ left 20:44 Ven joined 20:57 Ven left
ugexe kalkin-_: neither perl6 nor zef intend to map a module's *identity* to its source code. you do this inside the META6.json of your module, thats it 20:57
again, zef doesn't just 'only parse the latest version from git:HEAD:./META6.json' 20:58
give it a .tar.gz of a specific version instead if thats what you want to do, don't give it a link to your git master
and again: see how tbrowder is handling versioning using the current p6 ecosysstem github.com/perl6/ecosystem/blob/ma...#L731-L732 21:00
21:03 Ven joined 21:04 dugword left 21:06 bjz left 21:07 tojo left 21:09 nebuchadnezzar left 21:10 nebuchadnezzar joined 21:13 Ven left
lucs Am I right in thinking that quoted strings on the LHS of s/.../.../ can only use ' or ", and not qq and friends? 21:14
ugexe m: say "foo" ~~ s/foo/bar/ 21:15
camelia rakudo-moar 29b5ea: OUTPUT«Cannot modify an immutable Str␤ in block <unit> at <tmp> line 1␤␤»
lucs m: my $s = 'abc'; $s ~~ s/ q{b} /B/; 21:17
camelia rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ b used at line 1␤␤»
lucs I'll take that as a 'yes'. 21:19
21:19 shayan_ joined, kalkin-_ left 21:20 kalkin- joined
ugexe well you cant do this either 21:20
m: say "abq{c}"
camelia rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ c used at line 1␤␤»
psch in detail, s/// uses Q and doesn't support :b as adverb to allow the \q escape hatch 21:21
+"on the pattern"
m: say Q/\qq{\c[SNOWMAN]}/; say Q:b/\qq{\c[SNOWMAN]}/ 21:22
camelia rakudo-moar 29b5ea: OUTPUT«\qq{\c[SNOWMAN]}␤☃␤»
psch m: $_ = "foo"; say s/\qq[foo]/bar/
camelia rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized backslash sequence: '\q'␤at <tmp>:1␤------> 3$_ = "foo"; say s/\7⏏5qq[foo]/bar/␤»
psch m: $_ = "foo"; say s:b/\qq[foo]/bar/
camelia rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized backslash sequence: '\q'␤at <tmp>:1␤------> 3$_ = "foo"; say s:b/\7⏏5qq[foo]/bar/␤»
psch ...actually that's "and here's why you can't use that other trick that works in similar situation", and not just a detail 21:23
kalkin- ugexe: I see. Thank you for your explanation, but this way it's very cumbersome to maintain multiple versions.
ugexe yes, but thats because the p6 ecosystem was not intended to be a permanent solution. things like CPAN will be able to do things like automatically add a source-url (a non-spec) to whatever you upload 21:24
kalkin- This also makes versioning dependencies hard if the dependency provider doesn't take care of it 21:25
ugexe i dont understand how that makes it harder
you depends on "Some::Module:ver<foo>" - its up to the recommendation managers (p6 ecosystem, cpan, or a combination) to resolve that into the download urls 21:26
kalkin- ugexe: well say you are using semantic versioning. you depend on v1.* of your library. The author publishes version 2.0, if he doesn't think about making a PR to the ecosystem, you are screwed
psch m: say v2 ~~ v1.* 21:27
camelia rakudo-moar 29b5ea: OUTPUT«False␤»
psch kalkin-: you'd still get v1.* from the ecosystem..?
ugexe well thats how packaging works. `apt-get` doesn't automatically know every 3rd party mirror for instance - the user has to add those things 21:28
psch ...actually no, i'm wrong, please disregard
kalkin- ohh so basically i need my own recomendation manager which is smart enough given some a git url as source-url to find in some custom way (i.e. through tags) all the existing versions?
moritz claytonrowe: do you think you have a way forward now, re learning / contributing to Perl 6?
psch afaiu the META6.json just has to be updated, which isn't in the ecosystem
ugexe no. first you need to quit thinking of the perl6 ecosystem as a solution instead of a temporary thing that is holding us up for now 21:29
kalkin- k
ugexe tbrowder examples show how it *can* work, but as you see its not ideal
mst the current ecosystem stuff is very much a "simplest thing that can possibly work" bootstrap hack 21:30
ugexe when you upload a module to CPAN it can add its own URL. cpan doesnt need to know how to clone anything from git because you're supposed to upload the actual distribution
kalkin- So what shall be done? What is the desired state?
mst (and I do not mean that as a criticism, if we'd tried to design something proper straight off, it wouldn't've worked anyway)
kalkin- I get the feeling that I only see a part of the problem
ugexe you're seeing a problem with something that we're going to throw away eventually because precisely because it has problems 21:31
geekosaur I think the point is that nobody can see more than a part of the problem; the ecosystem needs to evolve into a usable shape, it is evolving, nobody yet knows where it will end up because that will be shaped by what is actually needed 21:32
21:33 Wanderer68 joined
geekosaur and it's not the kind of problem where you can guess the end result beforehand, except in very broad/vague terms 21:33
ugexe fwiw I can see the entire problem as well as the solution
moritz ugexe: then you should write up your envisioned solution somewhere, if you haven't done so already 21:35
21:35 Wanderer68 left
ugexe we've had these discussions in #perl6-toolchain 21:36
moritz and is there a consensus?
ugexe the only thing i'm aware of that is up in the air is how to handle the difference between the perl6 concept of `auth` and CPAN's author 21:38
psch wouldn't CPAN be one :auth in our world?
ugexe no 21:39
:auth doesn't imply anything, although a reccomendation manager could choose to only allow auth's it could verify
psch okay. i always understood it as "authority", in a "takes responsibility to provide it"
ugexe but if i upload Foo::Bar:auth<github:ugexe> to cpan it is still Foo::Bar:auth<github:ugexe>
psch ahh, so it's more like "where's the authorative version" 21:40
...in a way
ugexe authority really means the 'original'
yeah its just another name-part for uniqueness
TimToady has commented that :auth<email@address.com> is probably the best form of auth because it takes some of the confusion around treating it as a source of something away 21:42
kalkin- so how do i proceed now if I want this version recommendation feature and I don't want to hack zef and maintain a my own fork of it? 21:45
Also you all are talking about ecosystem is just provisory, it should be more like CPAN, for me both look like "just" a webfrontend, like pypy or cargo. What am I missing? 21:46
21:46 pierre__ joined
ugexe tbrowders example does not use multiple forks 21:48
RabidGravy CPAN is a network of mirrors, indexing and so forth, the web front end is a tiny part
21:49 hartenfels left, pierre_ left
kalkin- so the plan is to make perl6 in some way compatible with the original CPAN? 21:50
ugexe kalkin-: irclog.perlgeek.de/perl6-toolchain...i_13363041 here is where i explained how to do multiple versions in the ecosystem
21:50 pyrimidine left, pyrimidine joined
kalkin- ugexe thanks 21:51
pmurias is how the Foo is chosen in 'use Foo' figured out?
what I mean is how is a short name without an auth mapped to one with an auth 21:52
ugexe technically thats up to the CompUnit::Repository
RabidGravy selecting for auth and ver works fine though 21:53
ugexe a short name without an auth simply searches without looking at the auth
pmurias so if there are two modules what will happen? 21:55
RabidGravy it may well load the wrong one
21:55 labster joined 21:56 zakharyas left
RabidGravy which is why e.g. HTTP::Server::Async and HTTP::UserAgent load HTTP::Request with an explicot auth 21:57
ugexe irclog.perlgeek.de/perl6-toolchain...i_13727142 Here is a recent discussion where i brought up concerns with :auth (which I brought up due to the just mentioned HTTP::UserAgent bit)
21:59 bjz joined
RabidGravy but then you get into a name registry game 21:59
kalkin- why don't we just use pgp keys in auth? (SCNR) 22:00
ugexe i dont see how. you still have auth, i just propose the way it resolves what to use be ordered differently
because without pgp installed its just some string like the current auth 22:01
RabidGravy but the argument seems to be from nine that using auth to solve that is a bad thing
ugexe RabidGravy: click 'next day'
i think he agrees with that now
kalkin- ugexe: i would say it's a windows problem, but I suspect #perl6 wouldn't agree with me :) 22:02
RabidGravy I'm not going to forever backlog toolchain, it needs summaries 22:03
22:03 FROGGS left
ugexe each day is like 10-20 lines. its basically already summarized 22:04
22:09 pierre__ left, RabidGravy left
toolforger moritz, thanks for the invite - very much appreciated 22:11
22:13 shayan_ left, dugword joined
moritz toolforger: you're welcome 22:14
22:16 Ven joined
masak now with Y combinator explanation: gist.github.com/masak/8e082999e06b...2899bbcde5 22:18
pretty happy with how it turned out.
22:21 Ven left
toolforger reading up 22:22
turns out that understanding lambda calculus requires that you grok higher-order functions
22:23 TEttinger joined
masak when all you have is a s/hammer/function/... :P 22:23
toolforger lol 22:25
btw did you grok the fixed-point idea behind the Y combinator?
geekosaur pretty much :)
masak toolforger: yes; was tempted to mention it 22:26
might still weave it in somewhere
toolforger I think it's worth expounding in a separate gist
TMI after all
masak the fixed-point idea is what I'm hinting at with my "limit" reasoning and Church aleph-null
oh, this gist is already far too much -- no sense in holding back now :P 22:27
toolforger Ah, you didn't grok fixed points
;-P
masak I'll see what I can do. you're right that fixpoints are worth mentioning
toolforger taking the fixed point of a function is a combinator
masak ...makes sense
I tend to think of it as a functor :P 22:28
toolforger I think functor = combinator
geekosaur but "functor" is rather overloaded when it comes to computer languages
toolforger both take functions and return functions
geekosaur SML, Haskell, and C++ all have "functors" --- each defined differently
toolforger well, you can't evade overloaded terminology in CS :-D
masak ah, no. CT's functor is what I meant.
which maps between categories. 22:29
geekosaur yeh, I;m just saying there is reason to avoid dragging the term in at all
toolforger anyway - the definition of a fixed point is nonconstructive
i.e. the definition does not do recursion
geekosaur (and of those three, only Haskell's comes close to the CT definition, and it's still not the same --- it's a CT *endofunctor*
masak toolforger: will look into that some more -- thanks for the tip
toolforger that's how you define recursion without having to trace actual execution semantics
which is pretty awesome
geekosaur specifically on the category Hask)
masak geekosaur: ah, yes; endofunctor is what I meant to say :)
toolforger e.g. try to define equality 22:30
22:30 shayan_ joined
pmurias masak: is the initial claim that all computations can be represented by the applications and abstractions audacious? 22:30
geekosaur if you're starting from zero, it is 22:31
toolforger it's recursive, so you need a fixed point
22:31 curt_ joined
toolforger so you can have reference equality, value equality, or abstract away representation when doing equality, and it's still all consistent unless you start mixing up definitions 22:32
geekosaur ...but in a sense it's a different way of looking at the core of number theory, and if you're aware of Turing equivalence then you can approach it from that angle as well 22:33
toolforger ?
geekosaur response to pmurias
toolforger ah ok 22:34
geekosaur sorry
toolforger np
22:34 pyrimidine left
toolforger I agree that the initial claim is audacious, but it's also justified so it isn't audacious after all 22:34
22:35 pyrimidine joined
geekosaur a fair chunk of the middle of _Gödel, Escher, Bach_ is dedicated to proving that claim, actually (take another look at TNT) 22:35
toolforger GEB was both an eye-opener and disappointing to me 22:36
22:36 petrutrimbitas left
masak pmurias: I think so. 22:36
toolforger the Gödel part is sound, but the idea that intuition is somehow linked to self-referentiality is pretty hilarious 22:37
masak pmurias: it's easier for me to swallow that a Turing machine can emulate all computations than that the symbol games of lambda calculus can.
'night, #perl6
toolforger seeya
geekosaur toolforger, the funny part about GEB is that Hofstadter was using math in an argumnt in modern philosophy. which is ... kinda screwy from the start
toolforger would like modern philosophers to have a better understanding of math and science 22:38
geekosaur philosophy and math parted ways centuries ago, and modern philosophy in particular hasn't looked back
toolforger it should
not because it's math, but because it's a yardstick that can evaluate the validity of some arguments 22:39
so if a philosopher does not know math, he won't know when he's talking nonsense that any mathematician will be able to refute 22:40
Physics would usually be more relevant, as would be statistics, psychology, sociology 22:42
22:42 shayan_ left
geekosaur sadly, I have the impression that modern philosophy is proud of not polluting its purity with such trivialities 22:43
toolforger That's unwise, so that kind of philosophy isn't philosophical at all 22:44
("philosophia" = "love of wisdom", I hear)
geekosaur (which is why I find GEB so odd)
toolforger off to bed - seeya! 22:45
22:46 toolforger left 22:47 newbie1 joined
geekosaur probably for the best... first argument there would be with the ancient Greeks, for whom natural philosophy (which begat science and math) was only one of many options 22:50
22:52 shayan_ joined 23:02 shayan_ left 23:10 shayan_ joined 23:16 Tonik left 23:19 bjz left 23:21 bjz joined 23:28 shayan_ left 23:35 BenGoldberg joined
BenGoldberg Happy New Year! 23:36
23:37 jabowery joined
samcv good morning o/ 23:38
23:39 pmurias left
notviki HNY 23:40
23:41 newbie1 left 23:42 newbie1 joined, newbie1 left 23:43 newbie1 joined
samcv only 1.1GB left on my hd 23:43
curt_ notviki: I figured out how to make others call my eqv(), 'add_dispatchee()' to the CORE infix:<eqv> -- CORE::<&infix:<eqv>>.add_dispatchee(multi sub infix:<eqv>(MyObj $l, MyObj $r --> Bool) { say "Comparing MyObj"; return True; }); 23:54
samcv notviki, this isn't a bug right rt.perl.org/Ticket/Display.html?id...da9e632597 ? 23:55
notviki curt_++ cool. Thanks for telling me!
samcv using the ... yada operator is not going to return a sequence and going to compute all values.
23:56 shayan_ joined, cibs left 23:58 cibs joined