Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-01-01

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 Sgeo joined #perl6
00:13 Ven joined #perl6
00:14 obra joined #perl6
00:24 pmurias joined #perl6
00:31 AlexDaniel tbrowder: I don't think it worked: https://docs.perl6.org/language/operators#Assignment_Operators
00:32 dugword joined #perl6
00:33 Ven joined #perl6
00:33 kurahaupo__ joined #perl6
00:33 tbrowder nope, i'll remove X for now
00:38 bjz joined #perl6
00:38 samcv candidate emoji:  Face With Open Mouth Vomiting
00:38 samcv ???? Shocked Face With Exploding Head
00:38 samcv ???? Grinning Face With Crazy Eyes
00:39 samcv also Breast-Feeding
00:39 samcv i want to know if that will be usable with ZWJ sequences
00:39 samcv so you can have like a whole family breastfeeding of whatever genders and skin color you want
00:39 dalek doc: dcf1498 | (Tom Browder)++ | doc/Language/operators.pod6:
00:39 dalek doc: try just  one X
00:39 dalek doc: review: https://github.com/perl6/doc/commit/dcf149858f
00:39 synopsebot6 Link: http://doc.perl6.org/language/operators
00:40 erdic joined #perl6
00:41 samcv they're adding merperson. wow
00:41 samcv child and adult. interesting
00:42 samcv 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
00:42 AlexDaniel samcv: or rather… breastfeeding with exploding head
00:42 samcv well so far they don't have like emotion cambiners
00:42 AlexDaniel samcv: where's the list?
00:43 samcv http://unicode.org/emoji/charts/emoji-candidates.html
00:43 AlexDaniel samcv: huh? Isn't it what ZWJ is for?
00:43 samcv well. i mean they _could_ add that in the future
00:43 samcv but there are defined combinations, like doctor, whatever firefighter maybe something
00:43 samcv and then use ZWJ to do gender and or skin color
00:44 samcv they adding dinosaur emoji nice
00:44 AlexDaniel “merperson” xD
00:44 timotimo with feathers or without?
00:44 AlexDaniel timotimo: font authors decide
00:44 samcv yep
00:44 timotimo i hope they decide right.
00:45 samcv the only reason they have pictures on the site for emoji
00:45 samcv is so people don't all implement it totally differently
00:45 pyrimidine joined #perl6
00:45 timotimo hmm
00:45 samcv i think companies stopped them adding the rifle emoji
00:45 rightfold Is there a nice way to do lcfirst?
00:45 samcv i remember microsoft turned the pistol into a ray gun
00:45 AlexDaniel m: say ‘hello’.tc
00:45 camelia rakudo-moar d7cd5d: OUTPUT«Hello␤»
00:45 samcv which is retarded. could cause like. miscommunication
00:45 samcv it's a gun. not a toy
00:46 rightfold AlexDaniel: that's like ucfirst
00:46 AlexDaniel oh…
00:46 AlexDaniel … lcfirst? :o
00:46 AlexDaniel .oO( whhhhyyyyyyyyyyyyyy? )
00:47 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
00:47 * samcv doesn't see it on the zwj emoji list
00:48 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
00:48 timotimo "unicode first"
00:48 timotimo samcv: i didn't realize babies come in non-crying variants
00:48 samcv also country flags can be three characters with no ZWJ
00:48 samcv true
00:49 samcv 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
00:49 camelia rakudo-moar d7cd5d: OUTPUT«h␤hELLO␤»
00:49 samcv gonna be crazy
00:49 AlexDaniel m: my $x = ‘HELLO’; $x.substr-rw(0,1) = $x.substr(0, 1).lc; say $x
00:49 camelia rakudo-moar d7cd5d: OUTPUT«hELLO␤»
00:49 samcv tho i'm not looking forward to implementation at all
00:50 samcv m: "????????‍♀️".uniname
00:50 camelia rakudo-moar d7cd5d: ( no output )
00:50 samcv m: "????????‍♀️".uniname.say
00:50 camelia rakudo-moar d7cd5d: OUTPUT«JUGGLING␤»
00:50 AlexDaniel samcv: there's a ticket for ZWJ though
00:50 samcv for which part of support
00:50 samcv grapheme count and character counting? or like
00:50 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)
00:50 samcv \c[ ] whatever
00:50 AlexDaniel samcv: RT #127048
00:50 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127048
00:51 samcv initial lowercase? 1st character or what geekosaur
00:52 AlexDaniel m: my $x = ‘HELLO’; $_ = .lc with $x.substr-rw(0, 1); say $x
00:52 camelia rakudo-moar d7cd5d: OUTPUT«hELLO␤»
00:52 AlexDaniel that's the shortest one I can come up with
00:53 Ven joined #perl6
00:54 samcv also geekosaur that is not true
00:54 samcv if you mean lowercasing the first character. not true
00:54 samcv Introduce an explicit dot above when lowercasing capital I's and J's
00:54 samcv # whenever there are more accents above.
00:54 samcv lithuanian
00:54 rightfold I'll go with $name.substr(0, 1).lc ~ $name.substr(1), thanks
00:55 geekosaur in that case maybe we do need an lcfirst type method
00:55 geekosaur ...shoulda known. l10n is /o\
00:55 samcv do we though
00:56 samcv i mean. lithuanian and some other languages have special rules but we don't have any localized casing changes implemented
00:56 samcv but adding lcfirst would be fine i guess
00:57 samcv m: 0x0130.chr.lc.ord.base(16).say
00:57 camelia rakudo-moar d7cd5d: OUTPUT«69␤»
00:58 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…»
00:58 samcv m: say "I\x[0x0307]".ords
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␤    expecting any of:␤        argument list␤        double quotes␤        hex character␤        term␤»
00:58 samcv m: say "I\x[0307]".ords
00:58 camelia rakudo-moar d7cd5d: OUTPUT«(304)␤»
00:59 samcv m: say "I\x[0307]".lc.ords
00:59 camelia rakudo-moar d7cd5d: OUTPUT«(105 775)␤»
00:59 samcv yeah that is incorrect for turkish
00:59 AlexDaniel “I LOVE YOU HAND SIGN” ooooh…
00:59 AlexDaniel that's how it looks like?
00:59 timotimo clearly we need q:turkish"..."
00:59 psch_ .u "\x0307"
00:59 yoleaux U+0022 QUOTATION MARK [Po] (")
00:59 yoleaux U+0030 DIGIT ZERO [Nd] (0)
00:59 samcv looks like an error AlexDaniel ?
00:59 yoleaux U+0033 DIGIT THREE [Nd] (3)
00:59 psch_ oh phooey
01:00 samcv yes timotimo quite
01:00 AlexDaniel u: U+0307
01:00 unicodable6 AlexDaniel, U+0307 COMBINING DOT ABOVE [Mn] (◌̇)
01:01 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?
01:01 samcv the dot should be removed
01:01 AlexDaniel u: HEART
01:01 unicodable6 AlexDaniel, U+2619 REVERSED ROTATED FLORAL HEART BULLET [So] (☙)
01:01 unicodable6 AlexDaniel, U+2661 WHITE HEART SUIT [So] (♡)
01:01 unicodable6 AlexDaniel, U+2665 BLACK HEART SUIT [So] (♥)
01:01 samcv cause 'i' is already dotted
01:01 unicodable6 AlexDaniel, https://gist.github.com/5d4e285646bad95ad00c724ec9288e01
01:01 samcv so just a plain letter i
01:01 samcv İ => i
01:02 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
01:02 timotimo did you hear about german getting an actual upper case sharp s to be used in common practice now?
01:02 psch oh, okay.  i'm not aware of any locale specific parts of unicode
01:02 psch (or much of unicode itself either, tbqh)
01:03 AlexDaniel timotimo: is there any character for it?
01:03 timotimo yes
01:03 samcv timotimo, like not SS anymore?
01:03 samcv ooo
01:03 samcv hot
01:03 timotimo ß vs ẞ
01:03 psch AlexDaniel: the new bit is just that the capital sz is orthogonally correct now
01:03 psch or, well, whenever that bit passes whatever it has to pass i suppose
01:03 timotimo yes we no longer have to turn ß into SS when uppercasing
01:04 timotimo ... or Ss?
01:04 timotimo like, i have no clue. it's terrible anyway
01:04 psch the wicked part was how they tried to remove it completely and then backpedaled, imo
01:04 psch like, *why*
01:04 samcv also unicode specifically says unless it's turkish to keep the dot
01:04 samcv because idk they are pretty smart though. when it comes to anticipates problems
01:05 psch samcv: right, that means we need some locale mechanism i guess?  not sure that shouldn't be module space though
01:05 AlexDaniel u: ßẞ
01:05 unicodable6 AlexDaniel, U+1E9E LATIN CAPITAL LETTER SHARP S [Lu] (ẞ)
01:05 unicodable6 AlexDaniel, U+00DF LATIN SMALL LETTER SHARP S [Ll] (ß)
01:05 samcv naw module sounds horrible
01:05 samcv we can and should do it in moarvvm
01:05 samcv ack imagining a module to do that. horrible.
01:06 timotimo doesn't sound so terrible to me, honestly?
01:06 rightfold More PureScript preprocessors :) https://glot.io/snippets/elreyb4mfl
01:06 samcv i mean we already hold special cases
01:06 samcv it would be easy to define a locale conditional to check if the locale is set
01:07 AlexDaniel m: say ‘ß’.uc; say ‘ß’.tc; say ‘ẞ’.lc; say ‘ẞ’.tc
01:07 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 #perl6
01:07 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:08 samcv anything?
01:08 samcv why not per string or set to the scope?
01:11 timotimo oh
01:11 timotimo well that'd be possible
01:11 psch a pragma (or module) sounds saner to me, fwiw
01:11 timotimo i misread your suggestion with the "locale conditional" to mean system locale setting
01:12 psch although i guess q:locale<foo>// is probably workable as well
01:12 Ven joined #perl6
01:13 timotimo it might be as easy as mixing in a role that uses different lc and uc and other methods
01:14 aborazmeh joined #perl6
01:14 aborazmeh joined #perl6
01:25 pmurias system locale changing how .tc works seems horrible
01:26 psch pmurias+
01:26 psch +
01:26 * psch sighs
01:32 small-wolf joined #perl6
01:32 Ven joined #perl6
01:38 pjablonski joined #perl6
01:39 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 pjablonski Running source files still works beautifully though, so my build should be fine
01:40 AlexDaniel pjablonski: how long have you been waiting? :)
01:40 AlexDaniel pjablonski: I know it's a weird question, but this got me a few times
01:41 AlexDaniel 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:42 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 pjablonski I mean, other than it whining about ReadLine, but that's par for the course
01:42 AlexDaniel but next time you do it it should be fast
01:44 pjablonski Every time I update things with rakudobrew, something gets squirrely :).  At least it works!
01:46 timotimo it can hang because of a repository being locked while it's trying to load a file
01:46 timotimo that especially happens when you "panda look"
01:47 samcv ok so somebody tell me if this seems okay https://github.com/MoarVM/MoarVM/pull/477
01:47 samcv as in does it sound sane the return values
01:48 psch samcv: you probably want to .tell that to jnthn
01:48 samcv yeah
01:48 samcv curious what people think though
01:48 samcv i want to make sure I think of everything before i like fully settle on the return valuse
01:48 * psch thinks "gee i wish i knew unicode enough to have a meaningful opinion about collation"
01:48 samcv heh
01:49 samcv psch, in Latin, primary is alphabetic, secondary is diacritic, and tetriary is case
01:49 samcv it is different in other scripts though
01:49 psch samcv: right, that's too disjunct for me to apply immediately, actually
01:51 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 samcv so as to be unchanging with time (the country codes and the language 3/2 letter identifiers for ISO)
01:51 samcv specified we will use the ISO country number code, not the name, since countries can get renamed
01:52 samcv but their number won't change, so that is more dependable to not get changed
01:52 samcv exceptions being if the country splits in two, usually one gets a new number and the other keeps the old
01:52 Ven joined #perl6
01:53 samcv so we should be able to have casless or cased sorting as well as being able to ignore diacritics
01:53 samcv which is kind of nice
01:53 samcv i still need to think about how to request to ignore the codeponts and only sort by collation weights
01:54 samcv 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" :/
01:55 samcv .tell jnthn new PR https://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.
01:56 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 samcv which is different from all the rest because the combining characer comes BEFORE the base, which never happened in unicode before
01:57 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 #perl6
02:04 samcv u: { .uniprop('Extend') }
02:04 unicodable6 samcv, U+0000 NULL [Cc] (control character)
02:04 unicodable6 samcv, U+0002 START OF TEXT [Cc] (control character)
02:04 unicodable6 samcv, U+0001 START OF HEADING [Cc] (control character)
02:04 samcv what
02:05 samcv u: { .uniprop('Grapheme_Cluster_Break') == 'Extend' }
02:05 samcv why is it so slow :(
02:06 samcv m: 0x0.uniprop('Extend').say
02:06 camelia rakudo-moar d7cd5d: OUTPUT«Other␤»
02:06 samcv m: 0x0.uniprop('Grapheme_Cluster_Break').say
02:06 camelia rakudo-moar d7cd5d: OUTPUT«Control␤»
02:09 unicodable6 joined #perl6
02:12 Ven joined #perl6
02:13 AlexDaniel samcv: because, well, you just gave it something that's always true
02:14 samcv u: { .uniprop('Grapheme_Cluster_Break') == 'Extend' }
02:14 unicodable6 samcv, https://gist.github.com/11c51272df1ff730a29ebe60322095a3
02:14 samcv this isn't though
02:14 aborazmeh joined #perl6
02:14 aborazmeh joined #perl6
02:14 bjz joined #perl6
02:14 timotimo don't use ==, use eq
02:14 samcv what
02:14 samcv oh yes
02:14 AlexDaniel samcv: it was trying to gist a file with the whole unicode range in it
02:15 AlexDaniel I know, I know, I should do something about it
02:15 AlexDaniel but there are also 47 other issues there :) https://github.com/perl6/whateverable/issues
02:15 samcv u: { .uniprop('Grapheme_Cluster_Break') eq 'Extend' }
02:16 samcv have you switched back to json fast?
02:16 unicodable6 samcv, U+0300 COMBINING GRAVE ACCENT [Mn] (◌̀)
02:16 unicodable6 samcv, U+0302 COMBINING CIRCUMFLEX ACCENT [Mn] (◌̂)
02:16 unicodable6 samcv, U+0301 COMBINING ACUTE ACCENT [Mn] (◌́)
02:16 unicodable6 samcv, https://gist.github.com/334d5fc408d91c09bbf3d8be967a9dd6
02:16 samcv m: '◌̀'.uniprop('NFG_QC')
02:16 camelia rakudo-moar d7cd5d: ( no output )
02:16 samcv m: '◌̀'.uniprop('NFG_QC').say
02:16 camelia rakudo-moar d7cd5d: OUTPUT«Y␤»
02:17 AlexDaniel I have been using JSON::Fast all the time
02:18 samcv ugh so many moarvm branches
02:18 samcv so little time
02:20 AlexDaniel hmmmmmmm
02:20 AlexDaniel ‘Function 'BEFORE' needs parens to avoid gobbling block’
02:20 AlexDaniel does this sound familiar to anybody using zef?
02:21 AlexDaniel ok found it https://github.com/ugexe/zef/commit/1d80793e45691786301bc4fa5150662506ae941d
02:21 psch is BEFORE a phaser i didn't catch..?
02:21 samcv oh i'm an idiot
02:21 samcv u: { .uniprop('GCB') eq 'Prepend' }
02:21 unicodable6 samcv, U+0600 ARABIC NUMBER SIGN [Cf] (؀)
02:21 unicodable6 samcv, U+0602 ARABIC FOOTNOTE MARKER [Cf] (؂)
02:21 unicodable6 samcv, U+0601 ARABIC SIGN SANAH [Cf] (؁)
02:21 unicodable6 samcv, https://gist.github.com/d434f5d7ba39876e7363f5f356443bf9
02:22 samcv m: '؀'.uniprop('NFG_QC').say
02:22 camelia rakudo-moar d7cd5d: OUTPUT«Y␤»
02:25 FROGGS_ joined #perl6
02:30 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:31 psch webstrand: it depends on the nature of the bug, actually
02:31 psch webstrand: if the trace points at rakudo sources it's more likely that that's what has to be fixed
02:31 psch (assuming there is a trace, that is)
02:32 Ven joined #perl6
02:34 webstrand The backtrace looks good: http://dpaste.com/13QHARH
02:34 dugword m: my $listen = IO::Socket::INET.new(:listen,:family(2),:localhost<localhost:3000>);
02:34 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␤␤»
02:34 webstrand Err posted the wrong trace
02:34 webstrand Here's the correct trace: http://dpaste.com/3XA4C4W
02:35 psch webstrand: is there a rakudo-level trace?  and what's the code you're running to get the error?
02:36 webstrand How do I obtain a rakudo trace?
02:37 webstrand https://github.com/niner/Inline-Python/blob/master/t/call_back.t is the test
02:37 webstrand specifically, it fails when python tries to call obj.ok(1) on line 14
02:37 samcv holy shit guys
02:37 samcv I did it
02:38 SmokeMachine I'm sorry, but what's wrong with indir?
02:38 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:39 samcv er wait nope
02:39 pyrimidi_ joined #perl6
02:39 kalkin-_ joined #perl6
02:40 kurahaupo_ joined #perl6
02:46 SmokeMachine I continued reading and got it...
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:48 dalek doc: 6455268 | (Tom Browder)++ | doc/Language/operators.pod6:
02:48 synopsebot6 Link: http://doc.perl6.org/language/operators
02:48 dalek doc: remove ineffective X
02:48 dalek doc: review: https://github.com/perl6/doc/commit/645526873d
02:52 Ven joined #perl6
03:12 dugword joined #perl6
03:12 Ven joined #perl6
03:15 noganex_ joined #perl6
03:21 notviki Is there a way to dump NQPMatch from nqp land?
03:22 notviki I wanna see what structure it has
03:25 mr_ron left #perl6
03:26 pyrimidine joined #perl6
03:32 Ven joined #perl6
03:37 telex joined #perl6
03:39 mr-foobar joined #perl6
03:43 labster joined #perl6
03:44 itcharlie_linux joined #perl6
03:48 lichtkind_ joined #perl6
03:52 Ven joined #perl6
04:00 samcv u: zero width
04:00 unicodable6 samcv, U+200B ZERO WIDTH SPACE [Cf] (​)
04:00 unicodable6 samcv, U+200C ZERO WIDTH NON-JOINER [Cf] (‌)
04:00 unicodable6 samcv, U+200D ZERO WIDTH JOINER [Cf] (‍)
04:00 unicodable6 samcv, https://gist.github.com/53e2c895fb873d95dbba10ea43aea492
04:00 samcv oh also fun. is proposed new character is invisible letter
04:00 samcv err that's the name of the character 'invisible letter'. you can put combining marks on it, even though it is invisible
04:02 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:03 geekosaur having something official to attach them to makes things like that easier to deal with
04:05 shayan_ joined #perl6
04:06 samcv yeah
04:11 aborazmeh joined #perl6
04:11 aborazmeh joined #perl6
04:12 Ven joined #perl6
04:21 drrho joined #perl6
04:25 bjz joined #perl6
04:32 Ven joined #perl6
04:32 TimToady notviki: I think at least note($m.CURSOR.dump) might work anyway
04:33 * notviki tries
04:34 Ben_Goldberg joined #perl6
04:35 itcharlie_linux left #perl6
04:37 notviki ===SORRY!===
04:37 notviki Cannot find method 'dump' on object of type Perl6::Grammar
04:42 pyrimidi_ joined #perl6
04:52 Ven joined #perl6
04:53 shayan_ joined #perl6
05:08 TimToady in that case it would look like it has not be instantianted into a Cursor of some sort
05:08 TimToady *been
05:09 TimToady since the dump method is defined in QRegex/Cursor.nqp
05:12 Ven joined #perl6
05:13 bjz joined #perl6
05:13 notviki heh... it's ironic http://www.eeemo.net/ can't handle Unicode text.
05:14 notviki ???????????????????? ???????????? ????????????????!!!
05:17 bjz joined #perl6
05:18 kurahaupo__ joined #perl6
05:19 bjz joined #perl6
05:21 samcv but. it's only 9:20pm :(
05:22 notviki Sun Jan  1 00:22:03 EST 2017
05:22 samcv m: "T͉̘̥͕͔o̼̥̪̖͇̺͢ i͉̖̣̥̼͔n̲͓̪̹ṿ̟̪̺̱o҉k̶̥ͅe̦͓͍̥̖̯̮ t̷h̸̳̫e̥͚͉̹̺͈ ̭̠̩͔̱̼̝̀h͞i̞͍͓v̞̹̰̯̳e-͔̥̀m̟i̤n̯̖͚͢d͇͓̯̜̳̞ͅ ̪͙̗̳̮̹r͔̫̝͙͜e͎̝̬̬̻p̢̤͚̠̺̠r̟̤̖̘̫e̗̘͈͉̦ͅͅs̰̰͙͖̯e̮͖̠̳̬͇̲͢n̞̩̟̝͇͘t͖̜̙̭͙i̺̟̞͢n̡̩̜̤̳͖͚g̫͓͈̤ ̲͝ͅc̵̞̤̜̰h̵͓̮͔̱̰a̬͔̘o̡̼̫̰s͕͉̫͖̟̘͟.͔͍̰̲̮̝͕͘
05:22 samcv ̰͍̫̜͎I̹͙̭̻̫͈͝n̝͔̹̤͔̦ͅv͓̙̟͕̳͢o̟͎͞k̺̘̙̲̤ḭ̤̰̹̲͚̲n̬̬g̯̘̩̲ ̢̼̩̥̦̝̖̘t̨ḫ̼̹͠ẹ͕͚͙̯͇͕ f̩̝̯̱͜e̳e̫̠̥̥ͅl̢̳̮̥̖i̺̞̯̬̜̜n̬͍̬̥g̘̻̠̟̪͎ ̙̻̰̳͈o͖̱͕̲͜f̣̦͈ ͝c̗̫̩̦̪̱h̦a̼o̧͖̭͖̲ͅs͖̣̟̫͜.̧̼
05:22 samcv ̻̝͝W̩̫̳i̢̭̫t̛ḩ͇̭̥̜̪ ͖̘̠o̭̝̤͉̻u҉̭͔͚̟̙t̻ ̧̗o̢̳͉̙͍̞̰r̭͍̫̣de̷̝̝͎̟r̤.̝̲
05:22 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̞͍͓…»
05:22 samcv ̪̣̟͚̙̘͍Ṱ̜͉̜̮h̼e̖ ̭̲̻̖͘N̫̠e͙͔̞̹̥͞z̝ṕ̳e͍̜͇rd̴͈͍̬̘̹͕i̗͙̺͖͞ͅa̕n҉͈ ̨̻̳̪̼h̙͚̼͙̗͡ͅiv́e-̤̠m̶̘i͚̺̪͟n͇d҉ ̧̰̭ͅo͉̭̥̲̟f̘͎̤̳̠͡ ̪̭c͢ha̵̺͇̼̹̖̫ͅơ̟̮͕̮͔̠̠s̳̣̯̝͚ͅ.̵͔͓̙̮͎̜ ̨Z̞͚̰̲̣̟͕a͙̘͙̙̥l̡g͏̦͓̱̮͚̙̹ǫ̰̜͕̦.̷̻̲̖
05:22 notviki holy fuck
05:22 samcv ̦͢Ḥ̵̖̭̻̹ͅe̯͍̱̼ ̛̙͕̰̲w̦̣͓̤͍h̯̺͚͚͇͔̣ǫ̮͉̩̫ͅ ̲̼̱̗̻͈͜W̺̯a̡̫̫̤i̧̼͔ͅt̠̲̗̬͖̗s͏̫̫̲ ͖̭͙͎B̩̪̖̣̭e͔͇̳̺͝h͍i̦̱̙͘n̛̳̥̻̱̗̞d̝͕̦͔ ̭̯̞ͅT̜͈͇̜̬̮̩͡h̛̥̻e̩̹͓̖͎̗̕ ̹̥̣͖̳̫W̻a̗̼̪͔̖͕l͡ḽ͇.̥
05:22 samcv ͕͈̫͉Z̶A̛L̷̟̱G̼͖̝̭͙͍̖͟O̸͙̩̘!̰̲͔̦͖̱̯͡".chars.say
05:22 notviki can't see anything
05:22 samcv oops
05:22 samcv :(
05:22 samcv just put combining marks on all characters just for fun
05:23 samcv to enhance readability
05:23 bjz joined #perl6
05:23 notviki Thanks: http://temp.perl6.party/s4.png
05:23 notviki clear
05:23 notviki heh
05:24 notviki joined #perl6
05:24 notviki nice
05:24 samcv you feel like you're seeing for the first time right
05:24 notviki it stays in the backlog
05:24 notviki ...
05:24 samcv also that looks kind of awesome
05:24 Zoffix joined #perl6
05:24 samcv but bad too
05:25 samcv what terminal are you using?
05:25 Zoffix terminology
05:29 samcv oh damn
05:29 samcv \o/ ok only failing 9/775 unicode 9.0 tests! for graphemes
05:30 samcv only thing left to implement is 3 character country identifiers \o/
05:30 samcv happy new year !
05:31 Zoffix \o/
05:32 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 samcv that's brutal
05:32 Ven joined #perl6
05:32 samcv they really should have used ZWJ for those……
05:32 samcv but no they have to add a brand new grapheme break property!
05:33 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 samcv the rest are the regional identifiers
05:34 * samcv would think it would be cool if it said 'implementing Perl 6.c and Unicode 9.0'
05:34 samcv for perl6 --version
05:41 kurahaupo_ joined #perl6
05:46 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:47 samcv should probably be reworked to make more extensive use of grapheme break property at a higher level than the longest code path
05:51 Ven joined #perl6
05:54 samcv i wonder the best way to benchmark it though
05:54 samcv need some generator of lots of random things
05:54 samcv 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 shayan_ joined #perl6
05:58 Cabanossi joined #perl6
05:59 M-Illandan Perl6ers, Happy New Year! :-)
06:01 Zoffix Happy!~
06:02 timotimo harpy new year
06:10 shayan_ joined #perl6
06:11 Ven joined #perl6
06:16 samcv u: harp
06:16 unicodable6 samcv, U+00DF LATIN SMALL LETTER SHARP S [Ll] (ß)
06:16 unicodable6 samcv, U+1E9E LATIN CAPITAL LETTER SHARP S [Lu] (ẞ)
06:16 unicodable6 samcv, U+20D0 COMBINING LEFT HARPOON ABOVE [Mn] (◌⃐)
06:17 unicodable6 samcv, https://gist.github.com/d7f4af4beead6c1fb308010c6b341356
06:31 Ven joined #perl6
06:31 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:32 notviki I wonder if that Matt is mst :P
06:33 M-Illandan notviki: Looks like Alan Stevens. https://chocolatey.org/profiles/alanstevens
06:33 M-Illandan I followed that page from here: https://chocolatey.org/packages/StrawberryPerl
06:35 Zoffix That's the new maintainer
06:39 xiaomiao joined #perl6
06:40 shayan_ joined #perl6
06:47 notviki seems like we could benefit from splitting up Range into subtypes
06:48 notviki The $!is-int is all over the place.
06:51 Ven joined #perl6
06:54 darutoko joined #perl6
07:08 pierre_ joined #perl6
07:10 pyrimidine joined #perl6
07:11 Ven joined #perl6
07:13 samcv damn it i forgot to commit…
07:31 Ven joined #perl6
07:37 samcv well. i guess i can re-solve this later or something.
07:37 * samcv raises glass.
07:37 samcv 11:37 here now
07:37 samcv notviki, does the new year feel better? fresher? newer?
07:38 samcv since you are living in the future
07:39 notviki Yeah, I have a good feeling about it ;)
07:39 notviki m: say 2017 .is-prime
07:39 camelia rakudo-moar 15a2f1: OUTPUT«True␤»
07:39 notviki m: say (^2018).grep(*.is-prime)[*-2]
07:39 camelia rakudo-moar 15a2f1: OUTPUT«2011␤»
07:42 samcv i'm so pissed off i have to fix this again ._.
07:47 Ven joined #perl6
07:48 pyrimidine joined #perl6
07:50 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.
07:53 hobbs inlining opportunity, perhaps?
07:54 Zoffix :o hobbs
07:54 hobbs 'tis a Zoffix
07:54 Zoffix :)
07:55 Ven joined #perl6
07:56 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
07:56 samcv so confusing
07:57 hobbs but I got dinged in another channel so here I am.
07:57 samcv would be cool if they could be consolidated
07:57 samcv hobbs, hobbs hobbs
07:57 hobbs honk.
07:57 samcv quack quack
08:02 TimToady hny < PST
08:02 Zoffix HNY!
08:03 * TimToady notes that Datetime.now did not, in fact, show the leap second
08:03 Zoffix TimToady, the leap second is in UTC
08:03 TimToady *DateTime
08:03 CIAvash joined #perl6
08:03 hobbs yeah, it uses a timescale that can't represent it
08:03 Zoffix lies
08:04 TimToady I should have showed Instant.now instead :)
08:04 Zoffix m: DateTime.new('2017-01-01').earlier(:second).say
08:04 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␤␤»
08:04 Zoffix m: DateTime.new('2017-01-01T00:00:00').earlier(:second).say
08:04 camelia rakudo-moar c5e54e: OUTPUT«2016-12-31T23:59:60Z␤»
08:04 Zoffix ^
08:04 samcv nice
08:05 samcv guys it feels weird being a second more in the future
08:05 hobbs nevermind, wrong DateTime of course :)
08:05 Zoffix :)
08:05 samcv m: DateTime.new('0-01-01').say
08:05 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␤␤»
08:05 samcv m: DateTime.new('1-01-01').say
08:05 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␤␤»
08:06 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␤␤»
08:06 hobbs I neglected to video my GPS clock across the leap second this time around
08:06 samcv :\
08:06 Zoffix missing time
08:06 samcv oh
08:06 hobbs now that the earth is slowing down on schedule again they're less exciting
08:06 samcv m: DateTime.new('0001-01-01').earlier(:second).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␤␤»
08:07 Zoffix m: DateTime.new('0001-01-01T00:00:00').earlier(:second).say
08:07 camelia rakudo-moar c5e54e: OUTPUT«0000-12-31T23:59:59Z␤»
08:07 samcv why could you do it for the more recent dates?
08:07 samcv missing information in the module?
08:07 Zoffix Do what?
08:07 samcv m: DateTime.new('0001-01-01T00:00:00').earlier(:year.say
08:07 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>␤»
08:07 samcv m: DateTime.new('0001-01-01T00:00:00').earlier(:year).say
08:07 camelia rakudo-moar c5e54e: OUTPUT«0000-01-01T00:00:00Z␤»
08:08 samcv that is not an actual date
08:08 samcv there is no 0 year
08:08 Zoffix m: DateTime.new('0001-01-01T00:00:00').earlier(:200000year).say
08:08 camelia rakudo-moar c5e54e: OUTPUT«-199999-01-01T00:00:00Z␤»
08:08 samcv it goes from +1 to -1
08:08 samcv :(((
08:08 Zoffix m: DateTime.new('0001-01-01T00:00:00').earlier(:year(.5)).say
08:08 camelia rakudo-moar c5e54e: OUTPUT«0001-01-01T00:00:00Z␤»
08:09 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.
08:09 samcv that makes no sense
08:10 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
08:10 samcv it can be done, yes?
08:11 hobbs it can be done, but usually by applying an "alternate calendar" converter rather than trying to jam it into the core :)
08:11 hobbs (the same sort of thing that you would use to find out what today is in, say, the Jewish calendar)
08:12 samcv m: DateTime.new('2017-01-01T00:00:00', :jewish).say
08:12 camelia rakudo-moar c5e54e: OUTPUT«2017-01-01T00:00:00Z␤»
08:12 samcv m: DateTime.new('2017-01-01T00:00:00', :THERCHURC.HURC.RU).say
08:12 camelia rakudo-moar c5e54e: OUTPUT«No such method 'HURC' for invocant of type 'Pair'␤  in block <unit> at <tmp> line 1␤␤»
08:13 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 #perl6
08:14 samcv apparently  ISO 8601:2004 has a year zero. though i guess that's fun for them
08:14 samcv just changing the yeasr by one year
08:15 hobbs makes life easier in many ways
08:15 samcv for who? people dealing with dates in the past?
08:15 Ven joined #perl6
08:15 samcv idk i think it should display as 1 BC. it can be stored as 0 though if they like that
08:15 samcv but 0 is not a year, does not exist, never existed
08:16 samcv and it's been true for thousands of years.
08:16 hobbs ain't nowhere in the ISO8601 grammar to put a "BC" :)
08:16 labster joined #perl6
08:17 samcv then have it negative?
08:17 samcv -1
08:17 samcv i guess they just uh idk
08:17 samcv whatever year 0 is stupid there should be one
08:17 hobbs then arithmetic would be broken :)
08:17 samcv but there isn't so everybody should fall in line dammit
08:18 hobbs anyway, in lieu of a video from today, here's one from 18 months ago: https://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.
08:18 samcv ok can we at least use -0?
08:18 samcv since other BC's are negative
08:19 samcv it at least makes it clear it's not The Year Zero, but it's part of the BC section of the timeline
08:25 CIAvash m: say 'LCFIRST'.samecase: 'a_'; # rightfold
08:25 camelia rakudo-moar c5e54e: OUTPUT«lCFIRST␤»
08:26 Wanderer68 joined #perl6
08:28 espadrine joined #perl6
08:32 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␤»
08:33 samcv that's pretty useful. now you can easily convert text for use on myspace
08:34 cyphase joined #perl6
08:39 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 #perl6
08:42 Ven joined #perl6
08:48 dugword joined #perl6
09:02 Ven joined #perl6
09:07 gfldex m: say (1/1000) < 0
09:07 camelia rakudo-moar 1e3a32: OUTPUT«False␤»
09:07 gfldex i don't think so
09:07 gfldex m: say (0.001) < 0
09:07 camelia rakudo-moar 1e3a32: OUTPUT«False␤»
09:08 gfldex m: say (0.1e-3) < 0
09:08 camelia rakudo-moar 1e3a32: OUTPUT«False␤»
09:08 gfldex m: say (1e-3) < 0
09:08 camelia rakudo-moar 1e3a32: OUTPUT«False␤»
09:14 * gfldex .oO( new years resolution: get more sleep )
09:18 hobbs it's good to fail early with these things
09:22 RabidGravy joined #perl6
09:22 Ven joined #perl6
09:25 rindolf joined #perl6
09:27 rindolf joined #perl6
09:29 gfldex i'm toying around with SI units and I could really do with proper macros :-/
09:34 pyrimidine joined #perl6
09:40 wamba joined #perl6
09:42 Ven joined #perl6
09:54 tojo joined #perl6
09:55 samcv for conventing units?
09:55 samcv what is the state of macros? is it _in_ nom?
09:55 timotimo yeah, you get them with "use experimental :macros"
09:56 timotimo i'll try to get some sleep
10:02 Ven joined #perl6
10:02 bjz_ joined #perl6
10:03 Tonik joined #perl6
10:06 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
10:07 samcv gfldex, also why are routines or operators not good for this use case? when are macros better?
10:08 gfldex the idea is to write stuff like `say N(75kg)` resulting in `735.49875N`
10:08 gfldex i would like to have macros so I don't type my fingers bleedy
10:08 gfldex vim is of great help tho
10:10 geekosaur the state of macros is "in nom, known to be very limited and rather buggy, needs significant redesign; talk to masak"
10:13 samcv say N(75, :kg ); sub N ( $num, :$kg?, :$m? ) { … }
10:13 samcv why can't do that?
10:13 samcv more typing I know
10:14 geekosaur (or go take a look at https://github.com/masak/007 which iirc is masak's macro playground trying to come up with a more workable macro scheme)
10:16 gfldex with `75kg` I get a Numerical with a role mixed in
10:16 gfldex so I can do `multi sub N(SI-kilogram $kg){ $kg * g }` to provide typesafety
10:17 gfldex next step would be to overload infix:<*> to complain if stuff is multiplied that shouldn't
10:17 samcv nice
10:17 samcv why can't you just add postfix kg
10:18 gfldex I also overload .gist already so you get nice short numbers
10:18 gfldex i did add postfix kg
10:18 geekosaur I think you end up writing it as 75\kg or some such
10:19 gfldex but I have a long list of units prefixes so for each base unit I have 18 postfixes to define
10:22 Ven joined #perl6
10:35 samcv i think it is time for sleep guys
10:35 notviki Prolly... haven't slept since last year!
10:42 Ven joined #perl6
10:49 dugword joined #perl6
10:54 samcv me either!
11:02 Ven joined #perl6
11:02 samcv i have a problem
11:02 moritz a sleep problem? Or a Perl 6 problem?
11:02 samcv well did
11:02 samcv both. i have a sleep disorder and maybe a perl 6 problem
11:03 samcv i think must have been from updating my system got like library not found
11:03 samcv but then ran make install again and it worked
11:04 samcv ugh getting other errors in other programs
11:04 samcv git pull                                                                                                                                      :(
11:04 samcv ssh: error while loading shared libraries: libldns.so.1: cannot open shared object file: No such file or directory
11:04 samcv lamo
11:05 Zoffix left #perl6
11:08 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:09 petrutrimbitas joined #perl6
11:11 samcv seems one of the package maintainers screwed up
11:11 samcv i'm on arch testing repos
11:11 samcv 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
11:16 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:17 moritz RabidGravy: same here, but I use Debian stable :-)
11:18 moritz heck, the Apache 2.3 -> 2.4 transition caused me more pain than the transition to systemd
11:19 RabidGravy yeah, the last time I had big trouble was when Fedora switched to LVM
11:20 toolforger joined #perl6
11:20 bjz joined #perl6
11:22 Ven joined #perl6
11:25 pyrimidine joined #perl6
11:25 dalek specs: 78c4211 | samcv++ | S05-regex.pod:
11:25 dalek specs: S05-regex.pod: clairify that trailing whitespace is significant w/ :s
11:25 dalek specs: review: https://github.com/perl6/specs/commit/78c4211e94
11:27 dalek doc: f520fae | gfldex++ | doc/Language/typesystem.pod6:
11:27 dalek doc: where clauses are supported just not for type checks
11:27 dalek doc: review: https://github.com/perl6/doc/commit/f520fae22d
11:27 synopsebot6 Link: http://doc.perl6.org/language/typesystem
11:33 toolforger MasterDuke, any news on the array index out of range exception issue?
11:36 ufobat joined #perl6
11:41 rindolf joined #perl6
11:42 pyrimidine joined #perl6
11:42 Ven joined #perl6
11:46 notbenh joined #perl6
11:50 notviki Well. 7AM.
11:50 notviki .. time for bed.
11:50 notviki \o
11:54 domidumont joined #perl6
11:59 domidumont joined #perl6
12:02 Ven joined #perl6
12:15 iH2O joined #perl6
12:15 tbrowder Happy New Year, #perl6
12:16 iH2O what exactly would be an happy new year for #perl6?
12:17 iH2O an happy year
12:18 iH2O having "goto" implemented?
12:18 gfldex my happy perl6-year would be one with all the CONC bugs fixed
12:19 iH2O you do that, gfldex
12:23 iH2O we count on you
12:24 gfldex you are likely better of with counting on jnthn in that area
12:25 gfldex there will be proper pdfs this year tho
12:26 * moritz is also producing PDFs
12:27 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:28 iH2O u visionary toolforger
12:31 toolforger It would be necessary to make Perl modules callable from Java
12:31 toolforger It would also help reading disassembled bytecode
12:32 dalek doc: a2eb3d0 | gfldex++ | doc/Language/typesystem.pod6:
12:32 dalek doc: show how to use roles as type-constraints
12:32 dalek doc: review: https://github.com/perl6/doc/commit/a2eb3d0d98
12:32 synopsebot6 Link: http://doc.perl6.org/language/typesystem
12:32 gfldex this ^^^ example worked out rather nicely, moritz, you may want to have a look
12:34 Ven joined #perl6
12:36 dalek doc: 24162ea | moritz++ | doc/Language/typesystem.pod6:
12:36 synopsebot6 Link: http://doc.perl6.org/language/typesystem
12:36 dalek doc: Fix grammar errors
12:36 dalek doc:
12:36 dalek doc: "it's" is short for "it is", which is an easy test where it's "it's"
12:36 dalek doc: or "its" :-)
12:36 dalek doc: review: https://github.com/perl6/doc/commit/24162eaead
12:36 moritz gfldex: "If a role is used instead of a class (using
12:36 moritz autopunning), the roles type-object is added to the inheritance chain."
12:36 moritz gfldex: I don't know what exactly that means, but it's likely wrong
12:37 gfldex i'm not happy with the sentence either
12:37 gfldex I plan to link to auto-punning, what depends on a proper example
12:38 travis-ci joined #perl6
12:38 travis-ci Doc build errored. Wenzel P. P. Peppmeyer 'show how to use roles as type-constraints'
12:38 travis-ci https://travis-ci.org/perl6/doc/builds/188034815 https://github.com/perl6/doc/compare/f520fae22dcc...a2eb3d0d98b1
12:38 travis-ci left #perl6
12:38 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;
12:38 camelia rakudo-moar 268dc9: OUTPUT«oi‽␤»
12:38 moritz possibly a class punned from the role, but not the role itself
12:38 gfldex m: role R { method m { say 'oi‽' } }; R.new.^mro.say;
12:38 camelia rakudo-moar 268dc9: OUTPUT«((R) (Any) (Mu))␤»
12:39 gfldex there you go :)
12:39 moritz m: role R { method m { say 'oi‽' } }; R.new.^mro[0]
12:39 camelia rakudo-moar 268dc9: ( no output )
12:39 moritz m: role R { method m { say 'oi‽' } }; say R.new.^mro[0]
12:39 camelia rakudo-moar 268dc9: OUTPUT«(R)␤»
12:39 moritz m: role R { method m { say 'oi‽' } }; say R.new.^mro[0].HOW.^name
12:39 camelia rakudo-moar 268dc9: OUTPUT«Perl6::Metamodel::ClassHOW␤»
12:39 moritz gfldex: ^^ the thing that appears in the MRO is a class, not a role
12:40 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
12:40 moritz thing is, roles don't appear in the MRO
12:40 gfldex there seams to be a waterbed theory of confusion too
12:40 moritz because roles are always applied to classes
12:40 gfldex I shall rephrase anyway
12:40 moritz thanks
12:42 moritz m: say (2017..*).grep(&is-prime).head(5)
12:42 camelia rakudo-moar 268dc9: OUTPUT«(2017 2027 2029 2039 2053)␤»
12:42 moritz twin primes in ten/12 years!
12:43 dalek doc: 7717f69 | gfldex++ | doc/Language/typesystem.pod6:
12:43 dalek doc: rephrase to move confusion around
12:43 synopsebot6 Link: http://doc.perl6.org/language/typesystem
12:43 dalek doc: review: https://github.com/perl6/doc/commit/7717f6970a
12:49 dalek doc: 7ce8859 | gfldex++ | doc/Language/typesystem.pod6:
12:49 dalek doc: doc role-autopunning
12:49 synopsebot6 Link: http://doc.perl6.org/language/typesystem
12:49 dalek doc: review: https://github.com/perl6/doc/commit/7ce885944a
12:51 dugword joined #perl6
12:55 dalek doc: fc17692 | moritz++ | doc/ (2 files):
12:55 dalek doc: Fix two more "it's" that should be "its"
12:55 dalek doc: review: https://github.com/perl6/doc/commit/fc17692eb3
12:56 moritz gfldex++ # doc work
12:59 toolforger Mmmm... gcc warnings when compiling moar
13:04 froggs joined #perl6
13:05 pyrimidine joined #perl6
13:05 aries_liuxueyang joined #perl6
13:08 grondilu joined #perl6
13:09 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?
13:10 iH2O "it's color" means "the color of it", which is equivalent to "its color"
13:10 froggs no
13:10 geekosaur "can always" in the sense that English lets you get away with atrocities
13:10 iH2O yes
13:11 geekosaur but "Pauls car" is not proper
13:11 iH2O i use that everyday on IRC :-P
13:11 froggs Pauls is plural
13:11 froggs Paul's is not
13:11 geekosaur and possessives work backwards from "it's" / "its", as "it's" means "it is"
13:11 iH2O Pauls is slang for Paul's
13:11 iH2O in the sense i used it
13:11 geekosaur whereas "its" is a possessive pronoun
13:14 FROGGS joined #perl6
13:14 geekosaur formal documentation should make *some* attempt at correct usage, as opposed to just making word salad and hoping everyone will get it
13:15 iH2O O_O
13:16 iH2O why hasn't mainstream English shortened "don't" to "dont" yet?
13:16 iH2O overdue
13:16 RabidGravy because it is a contraction
13:17 geekosaur it's already shortened, that's what the apostrophe means
13:19 FROGGS joined #perl6
13:19 iH2O perl6 is now better than English at shortening syntax
13:21 travis-ci joined #perl6
13:21 travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'rephrase to move confusion around'
13:21 travis-ci https://travis-ci.org/perl6/doc/builds/188036521 https://github.com/perl6/doc/compare/24162eaead91...7717f6970a9f
13:21 travis-ci left #perl6
13:21 aries_liuxueyang joined #perl6
13:23 geekosaur that's not saying much :)
13:23 geekosaur (and there are languages far better at it: MUMPS, FOCUS, APL...)
13:23 iH2O APL lol
13:23 iH2O ive already done some APL
13:24 geekosaur er, FOCAL
13:24 geekosaur pretty much any keyword in MUMPS or FOCAL can be shortened to its first letter
13:24 Alikzus joined #perl6
13:25 geekosaur (making programs in either infamously unreadable)
13:26 iH2O PPMd can compress text almost 5 times for large files
13:26 iH2O thats record short
13:26 iH2O i think
13:27 geekosaur if you have source code large enough to benefit from a compression program, you're already doing it wrong...
13:27 aries_liuxueyang joined #perl6
13:27 geekosaur (in a single file that is)
13:27 iH2O thats for object code imho
13:27 iH2O conjecture: even APL would compress near 5 times with PPMd
13:29 travis-ci joined #perl6
13:29 travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'doc role-autopunning'
13:29 travis-ci https://travis-ci.org/perl6/doc/builds/188037169 https://github.com/perl6/doc/compare/7717f6970a9f...7ce885944aeb
13:29 travis-ci left #perl6
13:30 iH2O APL source code i mean
13:30 Tonik joined #perl6
13:30 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:32 * RabidGravy wonders whether he is slipped back in time forty years
13:33 iH2O perl6 object code should compress tremendously given its tremendously underoptimized
13:33 geekosaur more than that :)
13:33 iH2O :)
13:34 iH2O i mean perl6 intermediary code
13:34 geekosaur actually that was the "40 years" comment I was responding to
13:35 geekosaur 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 geekosaur (bliss-nqp, anyone? :p )
13:36 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:37 travis-ci joined #perl6
13:37 travis-ci Doc build passed. Moritz Lenz 'Fix two more "it's" that should be "its"'
13:37 travis-ci https://travis-ci.org/perl6/doc/builds/188037853 https://github.com/perl6/doc/compare/7ce885944aeb...fc17692eb322
13:37 travis-ci left #perl6
13:39 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 iH2O which happens all the time
13:40 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:41 RabidGravy this is largely to do with how people learn their native language
13:41 pierre_ joined #perl6
13:41 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
13:42 geekosaur used to be you could spot the non-native speakers trivially that way
13:43 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␤␤»
13:43 grondilu m: my uint @a = 7; for @a -> $x is rw {}
13:43 camelia rakudo-moar 268dc9: ( no output )
13:44 kurahaupo__ joined #perl6
13:49 masak ahoy
13:49 masak I'm gonna OT you some more by telling you that I'm still enjoying fleshing out https://gist.github.com/masak/8e082999e06bfb4d03b8d12899bbcde5
13:49 aries_liuxueyang joined #perl6
13:49 masak I'm now up to (or down to) having defined subtraction. yay!
13:50 masak 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:51 masak 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 https://www.sciencedaily.com/releases/2015/12/151208094229.htm generalizes
13:51 masak (oh! the gist above is worth reading solely for the awful Peano pun near the end!)
13:51 * geekosaur more likely to thinko the latter when tired
13:52 geekosaur 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 dugword joined #perl6
13:53 lukaramu joined #perl6
13:53 toolforger Heh. Curry is spicy, even in programming :-)
13:54 masak :)
13:55 toolforger +1 for the Kronecker quote, too
13:55 masak I've always liked that one
13:55 masak but lately I've come to feel that only 0 and 1 are in fact real
13:55 masak everything else is, like, so made up
13:55 toolforger Also, "God made time, but calendars are the work of the Devil"
13:55 RabidGravy nothing is real
13:55 masak RabidGravy: cf. 0-tuples in the gist :P
13:56 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 toolforger so, 0 is represented as {}, 1 as {{}}, 2 as {{{}}}, etc
13:56 toolforger it all worked... so not even 0 and 1 are real, just the empty set, and sets containing a single element
13:56 toolforger :-D
13:57 geekosaur ...someone teaches arithmetic from ZFC?!
13:57 geekosaur (well, a variant)
13:57 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
13:58 toolforger 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 :)
13:58 toolforger if you say "ZFC variant", I'll happily agree with whatever you say
13:58 masak toolforger: think it's "von Neumann numbers" or something. let me check.
13:58 toolforger But yeah, it's just models
13:59 toolforger the thing per se is just the axioms, but these don't represent well
14:00 toolforger 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
14:00 toolforger so we use one of many models, and hope that the model doesn't mislead us into overly specific conclusions
14:00 toolforger CT?
14:00 geekosaur or other mistakes (ohai Gödel!)
14:00 geekosaur category theory, I think
14:01 * toolforger takes a cautious step back
14:01 masak yes, category theory
14:01 masak not as bad as it sounds :)
14:01 * toolforger runs
14:01 geekosaur it's just a generalization of sets, what's the problem? :p
14:01 masak toolforger: I was wrong. von Neumann ordinals are those that I'm used to: https://en.wikipedia.org/wiki/Ordinal_number#Von_Neumann_definition_of_ordinals
14:01 toolforger :-)
14:01 masak geekosaur: yeah, but that's selling categories a bit short, IMHO
14:02 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
14:03 masak 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"
14:03 masak I've never taken a course in it either :)
14:03 toolforger I know my way around formal logic
14:03 masak anyway, the tl;dr is that CT has shown me that the natural numbers really *are* quite fundamental
14:04 toolforger Up to and including basics of fixed-point theory
14:04 toolforger masak, I can imagine
14:04 masak and integers too
14:05 masak 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
14:05 toolforger They are also the smallest model that can carry algorithms
14:05 masak aye
14:05 masak that's why they are so freaky
14:06 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
14:06 masak everything that ever happened or will happen to you
14:06 toolforger yeah, but the number is probably just as large as the binary log itself
14:07 masak it's cool, I won't ask you to write it down or read it aloud
14:07 masak just to contemplate it
14:07 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
14:07 toolforger I can't prove it though
14:08 toolforger but I suspect it could be proven using information theory
14:08 masak intuitively it feels like it could be a fair bit smaller
14:08 masak but yeah, you'd have a "librarian's problem" of filing and categorizing all the huge reams of infinite garbage coming from the monkeys
14:08 toolforger Add another letter to the works multiplies the possibilities by alphabet size
14:08 toolforger so you need another alphabet letter to file the works
14:09 masak kind of reminds me of the discussions around Maxwell's Demon, actually
14:09 aries_liuxueyang joined #perl6
14:09 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
14:10 toolforger I once read a fantasy works where a daemon of perversion was summoned
14:10 moritz masak++ # λ calculus
14:10 iH2O left #perl6
14:10 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
14:11 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:12 toolforger Don't you need Y for subtraction already?
14:12 masak nope, just the natural iteration of numbers
14:12 geekosaur only for the zero case :p
14:12 masak geekosaur: that's not Y, that's just diverge :)
14:13 masak Y is like a harnessed version of diverge
14:13 toolforger Well, actually the predecessor function
14:13 masak which is probably a neat way to start explaining it
14:13 masak toolforger: right. see the bottom of the gist.
14:13 masak toolforger: it dismays me a little how many resources online define `pred 0` as `0`
14:14 toolforger I stopped reading at the paragraph, that's the point where my brain starts turning into a Klein bottle :-)
14:14 toolforger But sure, pred 0 is undefined, not 0
14:14 masak right
14:14 masak which is why we diverge if someone asks for it
14:14 toolforger Plus pred 0 is the perfect point to explain partial functions, and what problems they cause
14:14 masak hm
14:14 toolforger but can you even define pred in Lambda calculus if you don't have Y?
14:14 hartenfels joined #perl6
14:15 masak I believe I just did
14:15 masak all you need is to iterate up to n-1
14:15 masak that can be done using the iteration in Church numerals
14:15 masak of course, those are themselves defined inductively
14:15 masak with a... scheme
14:16 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
14:16 toolforger Yeah
14:16 toolforger I'm pretty sure it's not what you're actually doing, but it's the overall structure
14:17 masak I iterate over the (conceptual) sequence (diverge, 0), (0, 1), (1, 2)...
14:17 aries_liuxueyang joined #perl6
14:17 toolforger But... it's recursive
14:17 masak I maintain it's not -- at least not the way I see it
14:17 toolforger Wait... no, it isn't
14:18 toolforger Strange
14:18 masak all you do is have arbitrarily high Church numerals
14:18 toolforger it *should* be recursive if it unwraps to a for loop
14:18 masak no, it's just that the Church numeral for N has N application in it
14:18 masak think of it as "brute-force iteration" or something
14:20 toolforger Maybe the lambda expression for pred is inaccurate
14:20 toolforger I cannot check it, not confidently enough to be sure anyway
14:23 * geekosaur spots the point in the gist where the original notation for function application gets rediscovered >.>
14:24 toolforger Oooo-kay, I think I just grokked Church numerals
14:24 masak toolforger: :)
14:24 masak geekosaur: could you enlighten me, please? I'm not sure what you're referring to.
14:24 toolforger i.e. why it's useful to define numbers in this way
14:25 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
14:25 masak geekosaur: it even makes some sense on a semantic level
14:26 masak 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 masak toolforger: a Church numeral for N is basically just N repeated applications, frozen into a lambda
14:26 toolforger yes
14:26 toolforger I knew that
14:27 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 doc: 3d5e064 | (Tom Browder)++ | doc/Language/syntax.pod6:
14:27 dalek doc: add missing word
14:27 synopsebot6 Link: http://doc.perl6.org/language/syntax
14:27 dalek doc: review: https://github.com/perl6/doc/commit/3d5e0646fb
14:29 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?
14:29 masak toolforger: then what was it you just realized?
14:29 toolforger Now I see that defining N as "N applications of some functions", there's actually real power
14:30 masak aye
14:30 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
14:31 masak right; I love the "ostensive" feel of Church encoding
14:31 * toolforger nods
14:32 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 #perl6
14:32 toolforger :-D
14:32 masak ooh! and *that's* how you define the Y combinator!
14:33 masak 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
14:33 toolforger you cannot assign consistent types to parameter and result types
14:34 masak right
14:34 toolforger I'm feeling pretty uneasy with that
14:34 masak nah; you just need something stronger than simply typed lambda calculus for it
14:34 masak I think something like "forall" is enough
14:35 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
14:35 geekosaur masak, yes it was Church and in fact it followed from his definition of ordinals
14:35 geekosaur since they are themselves exponentiations, in a sense
14:35 masak geekosaur: very interesting. thank you.
14:37 toolforger I have a question about "make test" in nqp
14:38 toolforger does it run the tests with all backends, or just with the default backend?
14:38 toolforger I need to validate that all backends built correctly
14:38 psch you should have backend-specific test targets
14:38 psch i.e. j-test, m-test
14:38 toolforger because I'm mucking around with the makefile(s)
14:39 toolforger psch, I see, running these as well
14:39 toolforger thx
14:39 psch those do run the normal test battery, i.e. for a moar-only nqp build m-test and test are equivalent
14:39 psch at least as far as i am aware
14:40 toolforger I have a backends=all build here
14:40 toolforger not sure which of the three backends are being run with just 'make test'
14:41 toolforger oh, and there's also qregex-test
14:41 psch well, the test target runs the primary backend
14:41 psch the easiest way to check which one that is is checking what ./nqp calls i guess
14:42 toolforger it's doing install/bin/moar nqp.moarvm
14:42 kurahaupo__ joined #perl6
14:43 toolforger so I guess I also need make 'j-test' and 'make js-test', is that right?
14:44 psch i'd say so
14:44 psch i think those also run qregex tests..?
14:44 toolforger Um... I am getting a java.lang.RuntimeException
14:45 toolforger 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 toolforger then nqp-j
14:45 toolforger so make test is indeed exercising all available backends, which is sweet
14:46 psch oh, neat.  i wasn't aware of that
14:46 toolforger Test failures for "make j-test":
14:46 toolforger t/serialization/01-basic.t ............. 1/1502 java.lang.RuntimeException: No such attribute '$!written' for this object
14:47 toolforger in  (t/serialization/01-basic.t:560)
14:47 toolforger in <mainline> (t/serialization/01-basic.t:526)
14:47 toolforger (skipping rest of stack trace, looks like it's just the test driver)
14:48 toolforger and this:
14:48 toolforger t/serialization/01-basic.t ............. Dubious, test returned 1 (wstat 256, 0x100)
14:48 toolforger Failed 1413/1502 subtests
14:48 toolforger (less 2 skipped subtests: 87 okay)
14:49 toolforger "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
14:50 bartolin probably the new tests fail on nqp-j
14:50 AlexDaniel joined #perl6
14:50 xinming_ joined #perl6
14:52 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:54 toolforger should I be worried about the JS test failures?
14:54 toolforger (in the sense that these failures might be hiding mistakes I may be making when changing makefiles)
14:55 * bartolin doesn't know; didn't run nqp-js tests, yet
14:58 * toolforger is going to avoid touching Makefile-JS.in then
14:58 toolforger or at least I'll be ultra-careful... not what I prefer, but ah well
15:02 aries_liuxueyang joined #perl6
15:15 Ven joined #perl6
15:18 AlexDaniel samcv: oh, invisible letter!
15:18 AlexDaniel nice
15:19 AlexDaniel is it something we are supposed to use to show combining characters?
15:20 AlexDaniel none of this ◌ rubbish, right?
15:22 labster joined #perl6
15:26 toolforger What's the problem with ◌?
15:27 geekosaur the bigger problem is people who don't even use that
15:28 pierre_ joined #perl6
15:28 M-Illandan joined #perl6
15:28 M-Illandan joined #perl6
15:29 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:31 AlexDaniel yea, it was me xD
15:32 pmurias joined #perl6
15:32 AlexDaniel the thing is, if you're adding some extra characters to the string
15:32 geekosaur I noticed moritz patched it to work :)
15:32 pmurias I'll add the skips on the nqp-j for the new tests
15:32 AlexDaniel then you're basically mangling what was said on IRC
15:33 pmurias toolforger: don't touch the Makefile-JS.in
15:33 pmurias toolforger: it's autogenerated
15:33 cibs joined #perl6
15:33 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 geekosaur or etc.
15:33 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
15:34 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?
15:34 toolforger pmurias, good to know, thx
15:35 CIAvash joined #perl6
15:35 Ven joined #perl6
15:35 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:36 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
15:36 pmurias I should propably work on not having Makefil-JS.in in version control as everybody wants to edit it
15:37 moritz does anybody know if Swift has the same problem, and if yes, if/how they solved it?
15:37 toolforger pmurias, I agree
15:37 moritz iirc swift also does graphemes
15:38 pmurias .oO(maybe we should have a swift backend)
15:41 aries_liuxueyang joined #perl6
15:53 labster joined #perl6
15:55 Ven joined #perl6
15:57 Y8_ joined #perl6
16:00 pmurias toolforger, bartolin: I fixed and added a skip to the failing test
16:04 newcoder joined #perl6
16:04 newcoder left #perl6
16:10 toolforger thx
16:11 khw joined #perl6
16:14 Ven joined #perl6
16:14 toolforger I'm going to PR some Makefile readability improvements; pmurias, should I remove makefile-js.in while I'm at it?
16:16 pmurias toolforger: don't remove it before Configure.pl is taught to generate it
16:16 toolforger ah ok np
16:20 shayan_ joined #perl6
16:25 Ven_ joined #perl6
16:26 pmurias toolforger: the Makefile-JS.in is generated by tools/build/gen-js-makefile.nqp
16:27 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
16:27 toolforger so I'll leave that to you
16:29 dugword joined #perl6
16:29 pierre_ joined #perl6
16:30 aries_liuxueyang joined #perl6
16:31 rburkholder joined #perl6
16:47 petrutrimbitas joined #perl6
16:48 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␤»
16:50 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 #perl6
16:51 dugword m: sub (Int :$foo){}()
16:51 camelia rakudo-moar 29b5ea: ( no output )
16:52 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.
16:52 toolforger I'm here
16:52 yoleaux 16:52Z <MasterDukeMobile> toolforger: I haven't made any progress on the aioob exception (secretly hoping you figure it out)
16:52 toolforger I'll need some handholding to reproduce the issue
16:53 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
16:53 MasterDukeMobile I'm actually heading out now, but I'll check the backlog
16:53 psch dugword: maybe have a look throught RT if it's ticketed, and also maybe bug someone else if it should be ticketed :)
16:54 * 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 #perl6
16:56 dugword Thanks, submitting now
16:57 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 toolforger@durchholz.org
16:58 toolforger aww
16:58 toolforger ah well :-)
17:10 floutenvy joined #perl6
17:10 huggable joined #perl6
17:10 buggable joined #perl6
17:11 aries_liuxueyang joined #perl6
17:17 aries_liuxueyang joined #perl6
17:21 skids joined #perl6
17:24 MilkmanDan joined #perl6
17:27 grondilu m: say sub (uint32 $x --> uint32) { 2*$x }(2**31);
17:27 camelia rakudo-moar 29b5ea: OUTPUT«4294967296␤»
17:27 grondilu ^that seems wrong to me
17:28 grondilu m: say my uint32 $ = 2**32
17:28 camelia rakudo-moar 29b5ea: OUTPUT«0␤»
17:28 grondilu m: say sub (uint32 $x --> uint32) { 2*$x }(2**31).WHAT;
17:28 camelia rakudo-moar 29b5ea: OUTPUT«(Int)␤»
17:28 grondilu m: sub (--> uint32) { 2**33 }
17:28 camelia rakudo-moar 29b5ea: ( no output )
17:28 grondilu m: sub (--> uint32) { 2**33 }().say
17:28 camelia rakudo-moar 29b5ea: OUTPUT«8589934592␤»
17:30 AlexDaniel yea… well
17:30 AlexDaniel 6c: sub (--> uint32) { 2**33 }().say
17:31 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:32 AlexDaniel m: sub (--> uint32) { -10 }().say
17:32 camelia rakudo-moar 29b5ea: OUTPUT«-10␤»
17:32 AlexDaniel grondilu: there you go!
17:32 AlexDaniel that's a known problem
17:33 AlexDaniel grondilu: well, isn't it your ticket? RT #124294
17:33 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=124294
17:35 grondilu m: say my uint32 $ = 2**63;
17:35 camelia rakudo-moar 29b5ea: OUTPUT«0␤»
17:36 grondilu this one was fixed I believe
17:36 grondilu m: say my uint32 $ = -1
17:36 camelia rakudo-moar 29b5ea: OUTPUT«4294967295␤»
17:36 AlexDaniel hm
17:38 platon joined #perl6
17:53 toolforger PR #335 ready for review https://github.com/perl6/nqp/pull/335
17:56 aries_liuxueyang joined #perl6
17:56 pochi ssh kryten
17:57 notviki ssh: Could not resolve hostname kryten: Name or service not known
17:58 petrutrimbitas joined #perl6
17:58 zakharyas joined #perl6
17:59 toolforger joined #perl6
18:04 pochi :)
18:06 mst but where would all the calculators go?
18:07 moritz if you ever find yourself successfully ssh'ing into a top-level domain, RUN!
18:08 Gasher joined #perl6
18:24 nebuchadnezzar joined #perl6
18:24 nowan_ joined #perl6
18:35 Wanderer68 joined #perl6
18:37 rindolf joined #perl6
18:44 hartenfels joined #perl6
18:44 stmuk I was enable at one point in the 90s to do a top level domain query on .uk!
18:48 bwisti joined #perl6
18:49 dugword https://github.com/rakudo/rakudo/pull/981
18:49 dugword PR re-opened for IO::Socket::INET
18:50 moritz dugword++
18:50 moritz dugword: do you also happen to have tests?
18:50 dugword I do not, should they be roast tests, or tests within rakudo ?
18:51 * lizmat is building and testing
18:53 moritz dugword: roast
18:56 bwisti joined #perl6
18:58 dugword I can write some, there were none for the host:port uri parsing. And that was one of the bugs I fixed
19:00 shayan_ joined #perl6
19:00 notviki There seem to be some in https://github.com/perl6/roast/blob/master/S32-io/socket-recv-vs-read.t#L33 only IPv4 though
19:03 dugword yup, sorry. There are none for the IPv6, and that functionality was broken
19:07 lizmat dugword: $ perl6 t/spec/S32-io/socket-accept-and-working-threads.t
19:07 lizmat 1..10
19:07 lizmat Failed to connect: connection refused
19:07 lizmat in block <unit> at t/spec/S32-io/socket-accept-and-working-threads.t line 31
19:08 lizmat dugword: could be a MacOS specific issue ?
19:11 dugword I don't see that test in my repo
19:11 notviki dugword: repo of what Rakudo?
19:11 notviki run make spectest and it'll clone it (or if you plan on writing tests, checkout your fork into t/spec)
19:12 notviki fork of roast
19:12 notviki http://github.com/perl6/roast
19:12 dugword I have roast in t/spec
19:12 pierre_ joined #perl6
19:12 dugword I don't see 'socket-accept-and-working-threads.t' in S32-io
19:12 dugword Oh, it's in master
19:12 dugword I was in 6.c-errata}
19:13 dugword That test passes for me
19:14 dugword make t/spec/S32-io/socket-accept-and-working-threads.t
19:14 dugword rm -f -- perl6
19:14 dugword cp -- perl6-m perl6
19:14 dugword chmod -- 755 perl6
19:14 dugword /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
19:14 dugword t/spec/S32-io/socket-accept-and-working-threads.t ..
19:14 dugword 1..10
19:14 dugword ok 1 - Server responded (0)
19:14 dugword ok 2 - Server responded (1)
19:14 dugword ok 3 - Server responded (2)
19:14 notviki /o\
19:14 dugword ok 4 - Server responded (3)
19:14 dugword ok 5 - Server responded (4)
19:14 dugword ok 6 - Started work was completed (0)
19:14 dugword ok 7 - Started work was completed (1)
19:14 dugword ok 8 - Started work was completed (2)
19:14 dugword ok 9 - Started work was completed (3)
19:14 dugword ok 10 - Started work was completed (4)
19:14 dugword ok
19:14 dugword All tests successful.
19:14 dugword Files=1, Tests=10,  2 wallclock secs ( 0.03 usr  0.01 sys +  1.71 cusr  0.89 csys =  2.64 CPU)
19:14 dugword Result: PASS
19:15 * notviki builds a copy too, to check
19:23 RabidGravy is this good? It looks good
19:23 notviki Reproed
19:23 * notviki looks why it fails
19:28 notviki Aha, found it
19:30 * notviki rebuilds and runs stresstest
19:31 dugword What is it?
19:33 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:34 notviki well
19:34 masak all I heard was "...ignore exceptions..." o.O
19:35 notviki dugword: well, that's one issue. Still fails.
19:35 * notviki looks harder
19:36 notviki still fails for the same reason, umm, why doesn't it like the candidate tho
19:38 pyrimidine joined #perl6
19:40 notviki ah lol
19:40 notviki of course!
19:41 notviki It doesn't like the :D
19:41 * notviki snickers
19:44 notviki OK. Now it gets stuck :P
19:44 * notviki looks harder
19:44 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?
19:44 dugword (Or I think that is what it was doing)
19:46 RabidGravy For a listener you can't require localhost
19:48 dugword Why is that?
19:49 Tonik joined #perl6
19:50 RabidGravy because a listener may want to listen on all interfaces on all families
19:51 RabidGravy so not specifying right now gives you both v6 and v4 if available
19:53 RabidGravy if you specify 0.0.0.0 you only get v4
19:54 RabidGravy unless there's something in this that "fixes" that
19:54 dugword I see
19:54 notviki We do specify that: https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Socket/INET.pm#L75
19:54 bjz joined #perl6
19:55 RabidGravy ok that's odd then
19:56 RabidGravy maybe magic ip stack trick
19:58 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, *%_)…»
19:59 notviki weird
19:59 notviki seems to hang on that ^
20:00 RabidGravy yeah I've seen some surprising resolution things in the last few days
20:00 claytonrowe joined #perl6
20:00 RabidGravy couldn't find anything obviou
20:01 notviki oh
20:01 notviki not weird at all
20:01 RabidGravy oh that one isn't surprising
20:01 brrt joined #perl6
20:02 notviki dugword: so one issue is Str:D :$localhost! needs to be Str :$localhost
20:03 notviki 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
20:03 AlexDaniel m: dd ‘aaa bbb ccc’.split(‘ ’, 2)
20:03 camelia rakudo-moar 29b5ea: OUTPUT«("aaa", "bbb ccc").Seq␤»
20:03 AlexDaniel so it just takes the first element and puts the rest as a second one, right?
20:03 notviki dugword: I don't know why the test passes for you, are you sure you correctly built your perl6?
20:04 AlexDaniel so, if this is like this:
20:04 AlexDaniel m: dd ‘aaa bbb ccc’.split(‘’)
20:04 camelia rakudo-moar 29b5ea: OUTPUT«("", "a", "a", "a", " ", "b", "b", "b", " ", "c", "c", "c", "")␤»
20:04 RabidGravy AlexDaniel, yes that is my understanding
20:04 AlexDaniel and this is like this:
20:04 AlexDaniel m: dd ‘aaa bbb ccc’.split(‘’, 2)
20:04 camelia rakudo-moar 29b5ea: OUTPUT«("", "aaa bbb ccc").Seq␤»
20:04 masak from http://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 ;)
20:04 AlexDaniel then why is this like this?
20:04 AlexDaniel m: dd ‘aaa bbb ccc’.split(‘’, 1)
20:04 camelia rakudo-moar 29b5ea: OUTPUT«("aaa bbb ccc",)␤»
20:04 AlexDaniel oh, because it gets merged
20:05 AlexDaniel ok, no question, thanks
20:06 notviki What do you mean merged?
20:06 AlexDaniel nevermind, it was a bug in my head
20:06 notviki So why is it the original string and not ""?
20:07 dugword Thanks Not viki, I'll take a look at my build. Very likely I am not doing something right...
20:08 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 #perl6
20:09 notviki ....
20:09 dugword would v4-split not have been throwing before? I don't think I changed that function
20:09 notviki dugword: you didn't but you're passing undefined arguments and old code doesn't
20:09 notviki AlexDaniel: why is the first item in the result changes when you set a different limit
20:11 AlexDaniel notviki: because when you ask for 1 item only it will attempt to shove in the whole string into it
20:11 AlexDaniel notviki: so the empty string kind of disappears
20:11 notviki ok
20:13 pierre_ joined #perl6
20:14 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:15 AlexDaniel huggable: wanted
20:15 huggable AlexDaniel, nothing found
20:15 psch claytonrowe: you are in the right place.  https://docs.perl6.org is a start, and https://rt.perl.org has the perl6 bug tracker queue
20:15 moritz claytonrowe: welcome to #perl6. What aspects are you interested in?
20:15 moritz claytonrowe: compiler development? modules? docs? tests?
20:15 AlexDaniel huggable: wanted :is: https://github.com/perl6/perl6-most-wanted/tree/master/most-wanted
20:15 huggable AlexDaniel, Added wanted as https://github.com/perl6/perl6-most-wanted/tree/master/most-wanted
20:16 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
20:16 AlexDaniel or… IRC bots maybe? :)
20:16 psch obviously that calls for jvm runtime bytecode generation... :)
20:16 * moritz afk for a while; will try to give better advice when I'm back
20:16 psch ++moritz
20:17 AlexDaniel claytonrowe: also, sometimes just using perl 6 for your own projects and reporting bugs is very helpful
20:17 lizmat AlexDaniel: s/sometimes//
20:17 psch claytonrowe: in all honesty, i'd suggest reading existing documentation issues (at https://github.com/perl6/doc/issues) and try and figure out if you can fix any
20:17 lizmat :-)
20:18 psch claytonrowe: as in, have an idea that you want to try and PR
20:18 AlexDaniel buggable: LHF
20:18 AlexDaniel buggable: tag LHF
20:18 buggable AlexDaniel, There are no tickets tagged with LHF
20:18 AlexDaniel awww
20:18 claytonrowe I'll take a look at the most wanted webpage and the bug tracker
20:18 RabidGravy and you know the 25,000 modules that people think we need to be successfull ;-)
20:19 notviki claytonrowe: alternate viewer for the bug tracker: http://perl6.fail
20:19 claytonrowe Also, I'll think of a more specific project domain and come back.
20:19 psch claytonrowe: well, you *can* just hang around here honestly :)
20:19 psch that's usually at least a little conductive to learning the language i find
20:20 RabidGravy and finding out what people are really thinking ;-)
20:20 * psch rejects thoroughly rejects the accusation of thinking
20:20 psch -typos vOv
20:21 * AlexDaniel will take it as a compliment
20:21 claytonrowe Thanks guys, yall seem like a super friendly community.
20:21 * notviki isn't friendly
20:21 RabidGravy we only play friendly on tv
20:22 * 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.
20:24 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
20:25 notviki :)
20:25 dataf3l joined #perl6
20:29 lizmat claytonrowe: https://p6weekly.wordpress.com   # another way to keep up to date
20:30 pierre_ joined #perl6
20:32 zakharyas joined #perl6
20:33 tojo joined #perl6
20:44 Ven joined #perl6
20:57 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:58 ugexe again, zef doesn't just 'only parse the latest version from git:HEAD:./META6.json'
20:58 ugexe 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
21:00 ugexe and again: see how tbrowder is handling versioning using the current p6 ecosysstem https://github.com/perl6/ecosystem/blob/master/META.list#L731-L732
21:03 Ven joined #perl6
21:10 nebuchadnezzar joined #perl6
21:14 lucs Am I right in thinking that quoted strings on the LHS of s/.../.../ can only use ' or ", and not qq and friends?
21:15 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␤␤»
21:17 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␤␤»
21:19 lucs I'll take that as a 'yes'.
21:19 shayan_ joined #perl6
21:20 kalkin- joined #perl6
21:20 ugexe well you cant do this either
21:20 ugexe m: say "abq{c}"
21:20 camelia rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    c used at line 1␤␤»
21:21 psch in detail, s/// uses Q and doesn't support :b as adverb to allow the \q escape hatch
21:21 psch +"on the pattern"
21:22 psch m: say Q/\qq{\c[SNOWMAN]}/; say Q:b/\qq{\c[SNOWMAN]}/
21:22 camelia rakudo-moar 29b5ea: OUTPUT«\qq{\c[SNOWMAN]}␤☃␤»
21:22 psch m: $_ = "foo"; say s/\qq[foo]/bar/
21:22 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/␤»
21:22 psch m: $_ = "foo"; say s:b/\qq[foo]/bar/
21:22 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/␤»
21:23 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.
21:24 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:25 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
21:26 ugexe 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
21:27 psch m: say v2 ~~ v1.*
21:27 camelia rakudo-moar 29b5ea: OUTPUT«False␤»
21:27 psch kalkin-: you'd still get v1.* from the ecosystem..?
21:28 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
21:28 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?
21:28 moritz claytonrowe: do you think you have a way forward now, re learning / contributing to Perl 6?
21:28 psch afaiu the META6.json just has to be updated, which isn't in the ecosystem
21:29 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
21:29 ugexe tbrowder examples show how it *can* work, but as you see its not ideal
21:30 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
21:30 kalkin- So what shall be done? What is the desired state?
21:30 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)
21:30 kalkin- I get the feeling that I only see a part of the problem
21:31 ugexe you're seeing a problem with something that we're going to throw away eventually because precisely because it has problems
21:32 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:33 Wanderer68 joined #perl6
21:33 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
21:35 moritz ugexe: then you should write up your envisioned solution somewhere, if you haven't done so already
21:36 ugexe we've had these discussions in #perl6-toolchain
21:36 moritz and is there a consensus?
21:38 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?
21:39 ugexe no
21:39 ugexe :auth doesn't imply anything, although a reccomendation manager could choose to only allow auth's it could verify
21:39 psch okay.  i always understood it as "authority", in a "takes responsibility to provide it"
21:39 ugexe but if i upload Foo::Bar:auth<github:ugexe> to cpan it is still Foo::Bar:auth<github:ugexe>
21:40 psch ahh, so it's more like "where's the authorative version"
21:40 psch ...in a way
21:40 ugexe authority really means the 'original'
21:40 ugexe yeah its just another name-part for uniqueness
21:42 ugexe 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:45 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:46 kalkin- 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 pierre__ joined #perl6
21:48 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:50 kalkin- so the plan is to make perl6 in some way compatible with the original CPAN?
21:50 ugexe kalkin-: https://irclog.perlgeek.de/perl6-toolchain/2016-10-08#i_13363041 here is where i explained how to do multiple versions in the ecosystem
21:50 pyrimidine joined #perl6
21:51 kalkin- ugexe thanks
21:51 pmurias is how the Foo is chosen in 'use Foo' figured out?
21:52 pmurias 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
21:53 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
21:55 pmurias so if there are two modules what will happen?
21:55 RabidGravy it may well load the wrong one
21:55 labster joined #perl6
21:57 RabidGravy which is why e.g. HTTP::Server::Async and HTTP::UserAgent load HTTP::Request with an explicot auth
21:57 ugexe https://irclog.perlgeek.de/perl6-toolchain/2016-12-12#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 #perl6
21:59 RabidGravy but then you get into a name registry game
22:00 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
22:01 ugexe 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
22:01 ugexe RabidGravy: click 'next day'
22:01 ugexe i think he agrees with that now
22:02 kalkin- ugexe: i would say it's a windows problem, but I suspect #perl6 wouldn't agree with me :)
22:03 RabidGravy I'm not going to forever backlog toolchain, it needs summaries
22:04 ugexe each day is like 10-20 lines. its basically already summarized
22:11 toolforger moritz, thanks for the invite - very much appreciated
22:13 dugword joined #perl6
22:14 moritz toolforger: you're welcome
22:16 Ven joined #perl6
22:18 masak now with Y combinator explanation: https://gist.github.com/masak/8e082999e06bfb4d03b8d12899bbcde5
22:18 masak pretty happy with how it turned out.
22:22 toolforger reading up
22:22 toolforger turns out that understanding lambda calculus requires that you grok higher-order functions
22:23 TEttinger joined #perl6
22:23 masak when all you have is a s/hammer/function/... :P
22:25 toolforger lol
22:25 toolforger btw did you grok the fixed-point idea behind the Y combinator?
22:25 geekosaur pretty much :)
22:26 masak toolforger: yes; was tempted to mention it
22:26 masak might still weave it in somewhere
22:26 toolforger I think it's worth expounding in a separate gist
22:26 toolforger TMI after all
22:26 masak the fixed-point idea is what I'm hinting at with my "limit" reasoning and Church aleph-null
22:27 masak 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
22:27 toolforger ;-P
22:27 masak I'll see what I can do. you're right that fixpoints are worth mentioning
22:27 toolforger taking the fixed point of a function is a combinator
22:27 masak ...makes sense
22:28 masak I tend to think of it as a functor :P
22:28 toolforger I think functor = combinator
22:28 geekosaur but "functor" is rather overloaded when it comes to computer languages
22:28 toolforger both take functions and return functions
22:28 geekosaur SML, Haskell, and C++ all have "functors" --- each defined differently
22:28 toolforger well, you can't evade overloaded terminology in CS :-D
22:28 masak ah, no. CT's functor is what I meant.
22:29 masak which maps between categories.
22:29 geekosaur yeh, I;m just saying there is reason to avoid dragging the term in at all
22:29 toolforger anyway - the definition of a fixed point is nonconstructive
22:29 toolforger i.e. the definition does not do recursion
22:29 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*
22:29 masak toolforger: will look into that some more -- thanks for the tip
22:29 toolforger that's how you define recursion without having to trace actual execution semantics
22:29 toolforger which is pretty awesome
22:29 masak geekosaur: ah, yes; endofunctor is what I meant to say :)
22:30 geekosaur specifically on the category Hask)
22:30 toolforger e.g. try to define equality
22:30 shayan_ joined #perl6
22:30 pmurias masak: is the initial claim that all computations can be represented by the applications and abstractions audacious?
22:31 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 #perl6
22:32 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:33 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 ?
22:33 geekosaur response to pmurias
22:34 toolforger ah ok
22:34 geekosaur sorry
22:34 toolforger np
22:34 toolforger I agree that the initial claim is audacious, but it's also justified so it isn't audacious after all
22:35 pyrimidine joined #perl6
22:35 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:36 toolforger GEB was both an eye-opener and disappointing to me
22:36 masak pmurias: I think so.
22:37 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.
22:37 masak 'night, #perl6
22:37 toolforger seeya
22:37 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
22:38 * 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
22:38 toolforger it should
22:39 toolforger not because it's math, but because it's a yardstick that can evaluate the validity of some arguments
22:40 toolforger 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:42 toolforger Physics would usually be more relevant, as would be statistics, psychology, sociology
22:43 geekosaur sadly, I have the impression that modern philosophy is proud of not polluting its purity with such trivialities
22:44 toolforger That's unwise, so that kind of philosophy isn't philosophical at all
22:44 toolforger ("philosophia" = "love of wisdom", I hear)
22:44 geekosaur (which is why I find GEB so odd)
22:45 toolforger off to bed - seeya!
22:46 toolforger left #perl6
22:47 newbie1 joined #perl6
22:50 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:52 shayan_ joined #perl6
23:10 shayan_ joined #perl6
23:21 bjz joined #perl6
23:35 BenGoldberg joined #perl6
23:36 BenGoldberg Happy New Year!
23:37 jabowery joined #perl6
23:38 samcv good morning o/
23:40 notviki HNY
23:42 newbie1 joined #perl6
23:43 newbie1 joined #perl6
23:43 samcv only 1.1GB left on my hd
23:54 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:55 samcv notviki, this isn't a bug right https://rt.perl.org/Ticket/Display.html?id=130480&amp;results=1bda84c47e89b99f197984da9e632597 ?
23:55 notviki curt_++ cool. Thanks for telling me!
23:55 samcv using the ... yada operator is not going to return a sequence and going to compute all values.
23:56 shayan_ joined #perl6
23:58 cibs joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo