»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
small-wolf left,
Sgeo left,
bjz left
00:07
Ven left,
obra left
00:08
Sgeo joined
00:13
Ven joined
00:14
obra joined
00:21
Ven left
00:24
pmurias left,
pmurias joined
00:30
RabidGravy left
|
|||
AlexDaniel | tbrowder: I don't think it worked: docs.perl6.org/language/operators#..._Operators | 00:31 | |
00:32
dugword joined
00:33
Ven joined,
kurahaupo__ joined
|
|||
tbrowder | nope, i'll remove X for now | 00:33 | |
00:35
Ven left
00:37
erdic left
00:38
bjz joined
|
|||
samcv | candidate emoji: Face With Open Mouth Vomiting | 00:38 | |
🤯 Shocked Face With Exploding Head | |||
🤪 Grinning Face With Crazy Eyes | |||
also Breast-Feeding | 00:39 | ||
i want to know if that will be usable with ZWJ sequences | |||
so you can have like a whole family breastfeeding of whatever genders and skin color you want | |||
dalek | c: dcf1498 | (Tom Browder)++ | doc/Language/operators.pod6: try just one X |
||
synopsebot6 | Link: doc.perl6.org/language/operators | ||
00:40
erdic joined
|
|||
samcv | they're adding merperson. wow | 00:41 | |
child and adult. interesting | |||
not sure how that's different from the man emoji or woman emoji. but who doesn't love more unicode characters am i right | 00:42 | ||
samcv checks to see if they are adding any more matching brackets | |||
AlexDaniel | samcv: or rather… breastfeeding with exploding head | ||
samcv | well so far they don't have like emotion cambiners | ||
AlexDaniel | samcv: where's the list? | ||
samcv | unicode.org/emoji/charts/emoji-candidates.html | 00:43 | |
AlexDaniel | samcv: huh? Isn't it what ZWJ is for? | ||
samcv | well. i mean they _could_ add that in the future | ||
but there are defined combinations, like doctor, whatever firefighter maybe something | |||
and then use ZWJ to do gender and or skin color | |||
they adding dinosaur emoji nice | 00:44 | ||
00:44
pyrimidi_ left
|
|||
AlexDaniel | “merperson” xD | 00:44 | |
timotimo | with feathers or without? | ||
AlexDaniel | timotimo: font authors decide | ||
samcv | yep | ||
timotimo | i hope they decide right. | ||
samcv | the only reason they have pictures on the site for emoji | 00:45 | |
is so people don't all implement it totally differently | |||
00:45
pyrimidine joined
|
|||
timotimo | hmm | 00:45 | |
samcv | i think companies stopped them adding the rifle emoji | ||
rightfold | Is there a nice way to do lcfirst? | ||
samcv | i remember microsoft turned the pistol into a ray gun | ||
AlexDaniel | m: say ‘hello’.tc | ||
camelia | rakudo-moar d7cd5d: OUTPUT«Hello» | ||
samcv | which is retarded. could cause like. miscommunication | ||
it's a gun. not a toy | |||
rightfold | AlexDaniel: that's like ucfirst | 00:46 | |
AlexDaniel | oh… | ||
… lcfirst? :o | |||
.oO( whhhhyyyyyyyyyyyyyy? ) |
|||
rightfold | I want to lowercase the first letter of a string. | 00:47 | |
samcv | oh AlexDaniel looks like you can combine crying face with baby. to make crying baby | ||
samcv doesn't see it on the zwj emoji list | |||
AlexDaniel | samcv: yea, I know! There are other combinations too! | 00:48 | |
samcv | should still be fine if you check the Grapheme_Cluster_Break property tho | ||
timotimo | "unicode first" | ||
samcv: i didn't realize babies come in non-crying variants | |||
samcv | also country flags can be three characters with no ZWJ | ||
true | |||
also need to somehow magically be able to be able to use \c[ ] with ZWJ | 00:49 | ||
AlexDaniel | m: my $x = ‘HELLO’; say $x.substr-rw(0,1) = $x.substr(0, 1).lc; say $x | ||
camelia | rakudo-moar d7cd5d: OUTPUT«hhELLO» | ||
samcv | gonna be crazy | ||
AlexDaniel | m: my $x = ‘HELLO’; $x.substr-rw(0,1) = $x.substr(0, 1).lc; say $x | ||
camelia | rakudo-moar d7cd5d: OUTPUT«hELLO» | ||
samcv | tho i'm not looking forward to implementation at all | ||
m: "🤹🏿♀️".uniname | 00:50 | ||
camelia | ( no output ) | ||
samcv | m: "🤹🏿♀️".uniname.say | ||
camelia | rakudo-moar d7cd5d: OUTPUT«JUGGLING» | ||
AlexDaniel | samcv: there's a ticket for ZWJ though | ||
samcv | for which part of support | ||
grapheme count and character counting? or like | |||
geekosaur | rightfold, afaik there is no special localization needed for initial lowercase, so it doesn't need a special method (yes, there are locales where initial capital is not the same as just uppercasing the first character) | ||
samcv | \c[ ] whatever | ||
AlexDaniel | samcv: RT #127048 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127048 | ||
samcv | initial lowercase? 1st character or what geekosaur | 00:51 | |
AlexDaniel | m: my $x = ‘HELLO’; $_ = .lc with $x.substr-rw(0, 1); say $x | 00:52 | |
camelia | rakudo-moar d7cd5d: OUTPUT«hELLO» | ||
AlexDaniel | that's the shortest one I can come up with | ||
00:53
Ven joined
|
|||
samcv | also geekosaur that is not true | 00:54 | |
if you mean lowercasing the first character. not true | |||
Introduce an explicit dot above when lowercasing capital I's and J's | |||
# whenever there are more accents above. | |||
lithuanian | |||
rightfold | I'll go with $name.substr(0, 1).lc ~ $name.substr(1), thanks | ||
geekosaur | in that case maybe we do need an lcfirst type method | 00:55 | |
...shoulda known. l10n is /o\ | |||
samcv | do we though | ||
i mean. lithuanian and some other languages have special rules but we don't have any localized casing changes implemented | 00:56 | ||
but adding lcfirst would be fine i guess | |||
m: 0x0130.chr.lc.ord.base(16).say | 00:57 | ||
camelia | rakudo-moar d7cd5d: OUTPUT«69» | ||
samcv | m: say "I\x[0x0307]".ords.say | 00:58 | |
camelia | rakudo-moar d7cd5d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized backslash sequence: '\x'at <tmp>:1------> 3say "I\x[07⏏5x0307]".ords.say expecting any of: argument list double quotes hex character ter…» | ||
samcv | m: say "I\x[0x0307]".ords | ||
camelia | rakudo-moar d7cd5d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized backslash sequence: '\x'at <tmp>:1------> 3say "I\x[07⏏5x0307]".ords expecting any of: argument list double quotes hex character term» | ||
samcv | m: say "I\x[0307]".ords | ||
camelia | rakudo-moar d7cd5d: OUTPUT«(304)» | ||
samcv | m: say "I\x[0307]".lc.ords | 00:59 | |
camelia | rakudo-moar d7cd5d: OUTPUT«(105 775)» | ||
samcv | yeah that is incorrect for turkish | ||
AlexDaniel | “I LOVE YOU HAND SIGN” ooooh… | ||
that's how it looks like? | |||
timotimo | clearly we need q:turkish"..." | ||
psch_ | .u "\x0307" | ||
yoleaux | U+0022 QUOTATION MARK [Po] (") | ||
U+0030 DIGIT ZERO [Nd] (0) | |||
samcv | looks like an error AlexDaniel ? | ||
yoleaux | U+0033 DIGIT THREE [Nd] (3) | ||
psch_ | oh phooey | ||
samcv | yes timotimo quite | 01:00 | |
AlexDaniel | u: U+0307 | ||
unicodable6 | AlexDaniel, U+0307 COMBINING DOT ABOVE [Mn] (◌̇) | ||
01:00
holli left
|
|||
AlexDaniel | hmm I wonder if they have any justification for adding an orange heart | 01:01 | |
psch | samcv: so what would be correct for turkish? | ||
samcv | the dot should be removed | ||
AlexDaniel | u: HEART | ||
unicodable6 | AlexDaniel, U+2619 REVERSED ROTATED FLORAL HEART BULLET [So] (☙) | ||
AlexDaniel, U+2661 WHITE HEART SUIT [So] (♡) | |||
AlexDaniel, U+2665 BLACK HEART SUIT [So] (♥) | |||
samcv | cause 'i' is already dotted | ||
unicodable6 | AlexDaniel, gist.github.com/5d4e285646bad95ad0...4ec9288e01 | ||
samcv | so just a plain letter i | ||
İ => i | |||
psch | samcv: i don't see how that's specific to turkish? or is "I".lc that one "i" without the dot..? | 01:02 | |
samcv | unicode says it is | ||
timotimo | did you hear about german getting an actual upper case sharp s to be used in common practice now? | ||
psch | oh, okay. i'm not aware of any locale specific parts of unicode | ||
(or much of unicode itself either, tbqh) | |||
AlexDaniel | timotimo: is there any character for it? | 01:03 | |
timotimo | yes | ||
samcv | timotimo, like not SS anymore? | ||
ooo | |||
hot | |||
timotimo | ß vs ẞ | ||
psch | AlexDaniel: the new bit is just that the capital sz is orthogonally correct now | ||
or, well, whenever that bit passes whatever it has to pass i suppose | |||
timotimo | yes we no longer have to turn ß into SS when uppercasing | ||
... or Ss? | 01:04 | ||
like, i have no clue. it's terrible anyway | |||
psch | the wicked part was how they tried to remove it completely and then backpedaled, imo | ||
like, *why* | |||
samcv | also unicode specifically says unless it's turkish to keep the dot | ||
because idk they are pretty smart though. when it comes to anticipates problems | |||
psch | samcv: right, that means we need some locale mechanism i guess? not sure that shouldn't be module space though | ||
AlexDaniel | u: ßẞ | 01:05 | |
unicodable6 | AlexDaniel, U+1E9E LATIN CAPITAL LETTER SHARP S [Lu] (ẞ) | ||
AlexDaniel, U+00DF LATIN SMALL LETTER SHARP S [Ll] (ß) | |||
samcv | naw module sounds horrible | ||
we can and should do it in moarvvm | |||
ack imagining a module to do that. horrible. | |||
timotimo | doesn't sound so terrible to me, honestly? | 01:06 | |
rightfold | More PureScript preprocessors :) glot.io/snippets/elreyb4mfl | ||
samcv | i mean we already hold special cases | ||
01:06
Ven left
|
|||
samcv | it would be easy to define a locale conditional to check if the locale is set | 01:06 | |
AlexDaniel | m: say ‘ß’.uc; say ‘ß’.tc; say ‘ẞ’.lc; say ‘ẞ’.tc | ||
camelia | rakudo-moar d7cd5d: OUTPUT«SSSsßẞ» | 01:07 | |
samcv | so i don't see why we shouldn't add it, since moarvm is already the unicode database | ||
01:07
holli joined
|
|||
timotimo | i can imagine having a system locale setting change what I will lc to and what i will uc to in anything perl6 does | 01:07 | |
samcv | anything? | 01:08 | |
why not per string or set to the scope? | |||
timotimo | oh | 01:11 | |
well that'd be possible | |||
psch | a pragma (or module) sounds saner to me, fwiw | ||
timotimo | i misread your suggestion with the "locale conditional" to mean system locale setting | ||
psch | although i guess q:locale<foo>// is probably workable as well | 01:12 | |
01:12
Ven joined
|
|||
timotimo | it might be as easy as mixing in a role that uses different lc and uc and other methods | 01:13 | |
01:14
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:23
Ven left
|
|||
pmurias | system locale changing how .tc works seems horrible | 01:25 | |
psch | pmurias+ | 01:26 | |
+ | |||
psch sighs | |||
01:27
aborazmeh left
01:32
small-wolf joined,
Ven joined
01:33
small-wolf left
01:34
pmurias left,
Ven left
01:37
Wanderer68 left
01:38
pjablonski joined
|
|||
pjablonski | Strange question, that I feel like I've had before. What would cause the REPL to silently fail? As in, $ perl6 just hangs forever until it gets ^C, without printing anything | 01:39 | |
Running source files still works beautifully though, so my build should be fine | |||
AlexDaniel | pjablonski: how long have you been waiting? :) | 01:40 | |
pjablonski: I know it's a weird question, but this got me a few times | |||
pjablonski: it takes some time for some stuff to precompile I think, so the first run on my slow pc actually took enough time for me to ^C it | 01:41 | ||
pjablonski | That's... strange, I suppose. You're right, of course, leaving it up for a solid 3 minutes caused it to work | 01:42 | |
I mean, other than it whining about ReadLine, but that's par for the course | |||
AlexDaniel | but next time you do it it should be fast | ||
pjablonski | Every time I update things with rakudobrew, something gets squirrely :). At least it works! | 01:44 | |
01:45
bjz left
|
|||
timotimo | it can hang because of a repository being locked while it's trying to load a file | 01:46 | |
that especially happens when you "panda look" | |||
samcv | ok so somebody tell me if this seems okay github.com/MoarVM/MoarVM/pull/477 | 01:47 | |
as in does it sound sane the return values | |||
psch | samcv: you probably want to .tell that to jnthn | 01:48 | |
samcv | yeah | ||
curious what people think though | |||
i want to make sure I think of everything before i like fully settle on the return valuse | |||
psch thinks "gee i wish i knew unicode enough to have a meaningful opinion about collation" | |||
samcv | heh | ||
psch, in Latin, primary is alphabetic, secondary is diacritic, and tetriary is case | 01:49 | ||
it is different in other scripts though | |||
psch | samcv: right, that's too disjunct for me to apply immediately, actually | ||
samcv | i'm trying to cover everything i can initially. like codifying iso standardsn for country ISO numbers and language identifiers when we implement that down the road | 01:51 | |
so as to be unchanging with time (the country codes and the language 3/2 letter identifiers for ISO) | |||
specified we will use the ISO country number code, not the name, since countries can get renamed | |||
but their number won't change, so that is more dependable to not get changed | 01:52 | ||
exceptions being if the country splits in two, usually one gets a new number and the other keeps the old | |||
01:52
Ven joined
|
|||
samcv | so we should be able to have casless or cased sorting as well as being able to ignore diacritics | 01:52 | |
which is kind of nice | 01:53 | ||
01:53
petrutrimbitas left,
wamba left
|
|||
samcv | i still need to think about how to request to ignore the codeponts and only sort by collation weights | 01:53 | |
which may be wanted in some cases, and will return 0 for cases which the weights are equal | 01:54 | ||
psch | samcv: sorry for not being actively helpful. all i can say is "jnthn probably has ideas about this" :/ | ||
samcv | .tell jnthn new PR github.com/MoarVM/MoarVM/pull/477 want your input on the return values and if they seem sane | 01:55 | |
yoleaux | samcv: I'll pass your message to jnthn. | ||
samcv | hmm now that that's done, need to try and get the (almost last) unicode 9.0 grapheme break thing we don't support, the Extend property added in 9.0 | 01:56 | |
which is different from all the rest because the combining characer comes BEFORE the base, which never happened in unicode before | |||
01:57
pyrimidine left
|
|||
samcv | .tell jnthn when you get around to it, need some help properly iterating over the codepoints (NFC codepoints) in unicmp_s | 01:57 | |
yoleaux | samcv: I'll pass your message to jnthn. | ||
01:58
pyrimidine joined
02:01
setty1 left
|
|||
samcv | u: { .uniprop('Extend') } | 02:04 | |
unicodable6 | samcv, U+0000 NULL [Cc] (control character) | ||
samcv, U+0002 START OF TEXT [Cc] (control character) | |||
samcv, U+0001 START OF HEADING [Cc] (control character) | |||
samcv | what | ||
u: { .uniprop('Grapheme_Cluster_Break') == 'Extend' } | 02:05 | ||
02:05
itcharlie_linux left
|
|||
samcv | why is it so slow :( | 02:05 | |
m: 0x0.uniprop('Extend').say | 02:06 | ||
camelia | rakudo-moar d7cd5d: OUTPUT«Other» | ||
samcv | m: 0x0.uniprop('Grapheme_Cluster_Break').say | ||
camelia | rakudo-moar d7cd5d: OUTPUT«Control» | ||
02:07
Ven left
02:08
unicodable6 left
02:09
unicodable6 joined,
ChanServ sets mode: +v unicodable6
02:12
Ven joined
|
|||
AlexDaniel | samcv: because, well, you just gave it something that's always true | 02:13 | |
samcv | u: { .uniprop('Grapheme_Cluster_Break') == 'Extend' } | 02:14 | |
unicodable6 | samcv, gist.github.com/11c51272df1ff730a2...60322095a3 | ||
samcv | this isn't though | ||
02:14
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
bjz joined
|
|||
timotimo | don't use ==, use eq | 02:14 | |
samcv | what | ||
oh yes | |||
AlexDaniel | samcv: it was trying to gist a file with the whole unicode range in it | ||
I know, I know, I should do something about it | 02:15 | ||
but there are also 47 other issues there :) github.com/perl6/whateverable/issues | |||
samcv | u: { .uniprop('Grapheme_Cluster_Break') eq 'Extend' } | ||
have you switched back to json fast? | |||
unicodable6 | samcv, U+0300 COMBINING GRAVE ACCENT [Mn] (◌̀) | 02:16 | |
samcv, U+0302 COMBINING CIRCUMFLEX ACCENT [Mn] (◌̂) | |||
samcv, U+0301 COMBINING ACUTE ACCENT [Mn] (◌́) | |||
samcv, gist.github.com/334d5fc408d91c09bb...be967a9dd6 | |||
samcv | m: '◌̀'.uniprop('NFG_QC') | ||
camelia | ( no output ) | ||
samcv | m: '◌̀'.uniprop('NFG_QC').say | ||
camelia | rakudo-moar d7cd5d: OUTPUT«Y» | ||
AlexDaniel | I have been using JSON::Fast all the time | 02:17 | |
samcv | ugh so many moarvm branches | 02:18 | |
so little time | |||
AlexDaniel | hmmmmmmm | 02:20 | |
‘Function 'BEFORE' needs parens to avoid gobbling block’ | |||
does this sound familiar to anybody using zef? | |||
ok found it github.com/ugexe/zef/commit/1d8079...2506ae941d | |||
psch | is BEFORE a phaser i didn't catch..? | 02:21 | |
samcv | oh i'm an idiot | ||
u: { .uniprop('GCB') eq 'Prepend' } | |||
unicodable6 | samcv, U+0600 ARABIC NUMBER SIGN [Cf] () | ||
samcv, U+0602 ARABIC FOOTNOTE MARKER [Cf] () | |||
samcv, U+0601 ARABIC SIGN SANAH [Cf] () | |||
samcv, gist.github.com/d434f5d7ba39876e73...f356443bf9 | |||
samcv | m: ''.uniprop('NFG_QC').say | 02:22 | |
camelia | rakudo-moar d7cd5d: OUTPUT«Y» | ||
02:23
Ven left
02:25
FROGGS_ joined
02:29
FROGGS left
|
|||
webstrand | To confirm; I'm seeing a seg-fault in Inline::Python's test suite, and was told to submit to rakudobugs. Shouldn't the bug be submitted against Inline::Python? | 02:30 | |
02:30
mr-foobar left
|
|||
psch | webstrand: it depends on the nature of the bug, actually | 02:31 | |
webstrand: if the trace points at rakudo sources it's more likely that that's what has to be fixed | |||
(assuming there is a trace, that is) | |||
02:32
Ven joined
|
|||
webstrand | The backtrace looks good: dpaste.com/13QHARH | 02:34 | |
dugword | m: my $listen = IO::Socket::INET.new(:listen,:family(2),:localhost<localhost:3000>); | ||
camelia | rakudo-moar d7cd5d: OUTPUT«IO::Socket::INET is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in method new at src/RESTRICTED.setting line 32 in block <unit> at <tmp> line 1» | ||
webstrand | Err posted the wrong trace | ||
Here's the correct trace: dpaste.com/3XA4C4W | |||
02:35
newbie1 left
|
|||
psch | webstrand: is there a rakudo-level trace? and what's the code you're running to get the error? | 02:35 | |
webstrand | How do I obtain a rakudo trace? | 02:36 | |
github.com/niner/Inline-Python/blo...all_back.t is the test | 02:37 | ||
specifically, it fails when python tries to call obj.ok(1) on line 14 | |||
samcv | holy shit guys | ||
I did it | |||
SmokeMachine | I'm sorry, but what's wrong with indir? | 02:38 | |
02:38
Ven left
|
|||
psch | webstrand: at a guess i'd assume you have an insufficient version of python running. i don't think i have enough of an idea about Inline::Python to give better guesses though | 02:38 | |
samcv | er wait nope | 02:39 | |
02:39
pyrimidi_ joined,
kalkin-_ joined,
kalkin- left
02:40
kurahaupo_ joined,
pyrimidine left
02:41
kurahaupo__ left
02:42
dugword left
02:43
labster left
|
|||
SmokeMachine | I continued reading and got it... | 02:44 | |
02:46
ilbot3 left
02:47
ilbot3 joined
|
|||
dalek | c: 6455268 | (Tom Browder)++ | doc/Language/operators.pod6: remove ineffective X |
02:48 | |
synopsebot6 | Link: doc.perl6.org/language/operators | ||
02:52
Ven joined
03:00
kurahaupo_ left
03:08
Ven left,
espadrine left
03:12
dugword joined,
Ven joined
03:13
bjz left
03:15
noganex_ joined
03:18
noganex left
03:21
Ven left
|
|||
notviki | Is there a way to dump NQPMatch from nqp land? | 03:21 | |
I wanna see what structure it has | 03:22 | ||
03:24
pyrimidi_ left
03:25
mr_ron left,
aborazmeh left
03:26
pyrimidine joined
03:29
telex left
03:32
Ven joined
03:37
telex joined
03:38
Ven left
03:39
mr-foobar joined
03:42
AlexDaniel left
03:43
labster joined
03:44
itcharlie_linux joined
03:48
lichtkind_ joined
03:52
Ven joined,
lichtkind left
|
|||
samcv | u: zero width | 04:00 | |
unicodable6 | samcv, U+200B ZERO WIDTH SPACE [Cf] () | ||
samcv, U+200C ZERO WIDTH NON-JOINER [Cf] () | |||
samcv, U+200D ZERO WIDTH JOINER [Cf] () | |||
samcv, gist.github.com/53e2c895fb873d95db...ea43aea492 | |||
samcv | oh also fun. is proposed new character is invisible letter | ||
err that's the name of the character 'invisible letter'. you can put combining marks on it, even though it is invisible | |||
geekosaur | makes sense, actually. someone was failing to parse an irc log in JSON format because it contained a string starting with combiners and parsed the combiners as going on the quote | 04:02 | |
having something official to attach them to makes things like that easier to deal with | 04:03 | ||
04:05
shayan_ joined
|
|||
samcv | yeah | 04:06 | |
04:08
Ven left
04:11
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:12
Ven joined
04:21
drrho left,
drrho joined
04:23
Ven left
04:25
bjz joined
04:27
khw left
04:32
Ven joined
|
|||
TimToady | notviki: I think at least note($m.CURSOR.dump) might work anyway | 04:32 | |
notviki tries | 04:33 | ||
04:34
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
04:35
itcharlie_linux left
|
|||
notviki | ===SORRY!=== | 04:37 | |
Cannot find method 'dump' on object of type Perl6::Grammar | |||
04:37
aborazmeh left
04:38
Ven left
04:40
bjz left
04:42
pyrimidine left,
pyrimidi_ joined
04:45
shayan_ left
04:52
Ven joined
04:53
shayan_ joined
05:03
labster left
05:07
Ven left
|
|||
TimToady | in that case it would look like it has not be instantianted into a Cursor of some sort | 05:08 | |
*been | |||
since the dump method is defined in QRegex/Cursor.nqp | 05:09 | ||
05:12
Ven joined,
bjz joined,
bjz left
|
|||
notviki | heh... it's ironic www.eeemo.net/ can't handle Unicode text. | 05:13 | |
𝐇𝐀𝐏𝐏𝐘 𝐍𝐄𝐖 𝐘𝐄𝐀𝐑!!! | |||
05:17
bjz joined,
bjz left
05:18
kurahaupo__ joined
05:19
bjz joined
05:20
bjz left
|
|||
samcv | but. it's only 9:20pm :( | 05:21 | |
notviki | Sun Jan 1 00:22:03 EST 2017 | 05:22 | |
samcv | m: "T͉̘̥͕͔oxCDxA2xCCxBCxCCxA5xCCxAAxCCx96xCDx87xCCxBA i͉̖̣̥̼͔n̲͓̪̹vxCCxA3xCCx9FxCCxAAxCCxBAxCCxB1o҉kxCCxB6xCDx85xCCxA5e̦͓͍̥̖̯̮ t̷h̸̳̫e̥͚͉̹̺͈ xCDx80xCCxADxCCxA0xCCxA9xCDx94xCCxB1xCCxBCxCCx9Dh͞i̞͍͓v̞̹̰̯̳e-xCDx80xCDx94xCCxA5m̟i̤nxCDxA2xCCxAFxCCx96xCDx9AdxCDx85xCDx87xCDx93xCCxAFxCCx9CxCCxB3xCCx9E ̪͙̗̳̮̹rxCDx9CxCDx94xCCxABxCCx9DxCDx99e͎̝̬̬̻p̢̤͚̠̺̠r̟̤̖̘̫exCCx97xCCx98xCDx88xCDx85xCDx85xCDx89xCCxA6s̰̰͙͖̯exCDxA2xCCxAExCDx96xCCxA0xCCxB3xCCxACxCDx87xCCxB2nxCDx98xCCx9ExCCxA9xCCx9FxCCx9DxCDx87t͖̜̙̭͙ixCDxA2xCCxBAxCCx9FxCCx9En̡̩̜̤̳͖͚g̫͓͈̤ xCDx9DxCDx85xCCxB2c̵̞̤̜̰h̵͓̮͔̱̰a̬͔̘o̡̼̫̰sxCDx9FxCDx95xCDx89xCCxABxCDx96xCCx9FxCCx98.xCDx98xCDx94xCDx8DxCCxB0xCCxB2xCCxAExCCx9DxCDx95 | ||
camelia | rakudo-moar 3d3e7e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in double quotes; couldn't find final '"' at <tmp>:1------> 3i͉̖̣̥̼͔n̲͓̪̹ṿ̟̪̺̱o҉k̶̥ͅe̦͓͍̥̖̯̮ t̷h̸̳̫e̥͚͉̹̺͈ ̭̠̩͔̱̼̝̀h͞i̞͍͓…» | ||
samcv | IxCDx9DxCCxB9xCDx99xCCxADxCCxBBxCCxABxCDx88nxCDx85xCCx9DxCDx94xCCxB9xCCxA4xCDx94xCCxA6vxCDxA2xCDx93xCCx99xCCx9FxCDx95xCCxB3oxCDx9ExCCx9FxCDx8Ek̺̘̙̲̤ixCCxB0xCCxA4xCCxB0xCCxB9xCCxB2xCDx9AxCCxB2n̬̬g̯̘̩̲ ̢̼̩̥̦̝̖̘t̨hxCDxA0xCCxAExCCxBCxCCxB9exCCxA3xCDx95xCDx9AxCDx99xCCxAFxCDx87xCDx95 fxCDx9CxCCxA9xCCx9DxCCxAFxCCxB1e̳exCCxABxCCxA0xCDx85xCCxA5xCCxA5l̢̳̮̥̖i̺̞̯̬̜̜n̬͍̬̥g̘̻̠̟̪͎ ̙̻̰̳͈oxCDx9CxCDx96xCCxB1xCDx95xCCxB2f̣̦͈ ͝c̗̫̩̦̪̱h̦a̼o̧͖̭͖̲ͅsxCDx9CxCDx96xCCxA3xCCx9FxCCxAB.̧̼ | ||
xCDx9DxCCxBBxCCx9DW̩̫̳i̢̭̫t̛hxCCxA7xCDx87xCCxADxCCxA5xCCx9CxCCxAA ͖̘̠o̭̝̤͉̻u҉̭͔͚̟̙t̻ ̧̗o̢̳͉̙͍̞̰r̭͍̫̣de̷̝̝͎̟r̤.̝̲ | |||
TxCCxADxCCx9CxCDx89xCCx9CxCCxAEh̼e̖ xCDx98xCCxADxCCxB2xCCxBBxCCx96N̫̠exCDx9ExCDx99xCDx94xCCx9ExCCxB9xCCxA5z̝pxCDx81xCCxB3e͍̜͇rd̴͈͍̬̘̹͕ixCDx9ExCCx97xCDx85xCDx99xCCxBAxCDx96a̕n҉͈ ̨̻̳̪̼hxCDxA1xCCx99xCDx85xCDx9AxCCxBCxCDx99xCCx97ivxCDx81e-̤̠m̶̘ixCDx9FxCDx9AxCCxBAxCCxAAn͇d҉ ̧̰̭ͅo͉̭̥̲̟fxCDxA1xCCx98xCDx8ExCCxA4xCCxB3xCCxA0 ̪̭c͢haxCCxB5xCCxBAxCDx87xCCxBCxCCxB9xCCx96xCDx85xCCxABoxCCx9BxCCx9FxCCxAExCDx95xCCxAExCDx94xCCxA0xCCxA0sxCDx85xCCxB3xCCxA3xCCxAFxCCx9DxCDx9A.̵͔͓̙̮͎̜ ̨Z̞͚̰̲̣̟͕a͙̘͙̙̥l̡g͏̦͓̱̮͚̙̹oxCCxA8xCCxB0xCCx9CxCDx95xCCxA6.̷̻̲̖ | |||
notviki | holy fuck | ||
samcv | xCDxA2xCCxA6HxCCxB5xCCxA3xCCx96xCDx85xCCxADxCCxBBxCCxB9e̯͍̱̼ ̛̙͕̰̲w̦̣͓̤͍h̯̺͚͚͇͔̣oxCCxA8xCCxAExCDx85xCDx89xCCxA9xCCxAB xCDx9CxCCxB2xCCxBCxCCxB1xCCx97xCCxBBxCDx88W̺̯a̡̫̫̤ixCCxA7xCCxBCxCDx85xCDx94t̠̲̗̬͖̗s͏̫̫̲ ͖̭͙͎B̩̪̖̣̭exCDx9DxCDx94xCDx87xCCxB3xCCxBAh͍ixCDx98xCCxA6xCCxB1xCCx99n̛̳̥̻̱̗̞d̝͕̦͔ xCCxADxCDx85xCCxAFxCCx9ETxCDxA1xCCx9CxCDx88xCDx87xCCx9CxCCxACxCCxAExCCxA9h̛̥̻exCCx95xCCxA9xCCxB9xCDx93xCCx96xCDx8ExCCx97 ̹̥̣͖̳̫W̻a̗̼̪͔̖͕l͡lxCCxADxCDx87.̥ | ||
Z̶A̛L̷̟̱GxCDx9FxCCxBCxCDx96xCCx9DxCCxADxCDx99xCDx8DxCCx96O̸͙̩̘!xCDxA1xCCxB0xCCxB2xCDx94xCCxA6xCDx96xCCxB1xCCxAF".chars.say | |||
notviki | can't see anything | ||
samcv | oops | ||
:( | |||
just put combining marks on all characters just for fun | |||
to enhance readability | 05:23 | ||
05:23
bjz joined
|
|||
notviki | Thanks: temp.perl6.party/s4.png | 05:23 | |
clear | |||
heh | |||
05:24
notviki joined
|
|||
notviki | nice | 05:24 | |
samcv | you feel like you're seeing for the first time right | ||
notviki | it stays in the backlog | ||
... | |||
samcv | also that looks kind of awesome | ||
05:24
Zoffix joined,
Ven left
|
|||
samcv | but bad too | 05:24 | |
what terminal are you using? | 05:25 | ||
Zoffix | terminology | ||
samcv | oh damn | 05:29 | |
\o/ ok only failing 9/775 unicode 9.0 tests! for graphemes | |||
only thing left to implement is 3 character country identifiers \o/ | 05:30 | ||
happy new year ! | |||
Zoffix | \o/ | 05:31 | |
samcv | oh god and one of the tests is for a three letter country sequence antd no spaces after it and a two letter one | 05:32 | |
that's brutal | |||
05:32
Ven joined
|
|||
samcv | they really should have used ZWJ for those…… | 05:32 | |
but no they have to add a brand new grapheme break property! | |||
05:33
shayan_ left
|
|||
samcv | ah so half of the 9 i'm failing weird corner cases with prepend + extend codepoints next to each other, and prepend and some emoji | 05:33 | |
the rest are the regional identifiers | |||
samcv would think it would be cool if it said 'implementing Perl 6.c and Unicode 9.0' | 05:34 | ||
for perl6 --version | |||
05:38
Ven left
05:41
kurahaupo_ joined,
kyan left
05:44
kurahaupo__ left
05:45
zacts left
|
|||
samcv | there has got to be a moarvm function to print out to terminal. but i do not know it, so i just used panic to kill it to know which unicode code path it was taking. took a while to nail down the layers there | 05:46 | |
should probably be reworked to make more extensive use of grapheme break property at a higher level than the longest code path | 05:47 | ||
05:51
Ven joined
|
|||
samcv | i wonder the best way to benchmark it though | 05:54 | |
need some generator of lots of random things | |||
err i guess i could use the unicode spec test, but make it be actual text reading from a file or something, and copy it a ton of times | |||
05:57
Cabanossi left,
shayan_ joined
05:58
Cabanossi joined
|
|||
M-Illandan | Perl6ers, Happy New Year! :-) | 05:59 | |
Zoffix | Happy!~ | 06:01 | |
timotimo | harpy new year | 06:02 | |
06:08
Ven left
06:09
shayan_ left
06:10
shayan_ joined
06:11
Ven joined
|
|||
samcv | u: harp | 06:16 | |
unicodable6 | samcv, U+00DF LATIN SMALL LETTER SHARP S [Ll] (ß) | ||
samcv, U+1E9E LATIN CAPITAL LETTER SHARP S [Lu] (ẞ) | |||
samcv, U+20D0 COMBINING LEFT HARPOON ABOVE [Mn] (◌⃐) | |||
samcv, gist.github.com/d7f4af4beead6c1fb3...0c6b341356 | 06:17 | ||
06:17
shayan_ left
06:22
Ven left
06:31
Ven joined
|
|||
notviki | "I am removing my name as a maintainer. I am no longer maintaining the StrawberryPerl chocolatey package, since I don't use Windows any more." -- Matt | 06:31 | |
I wonder if that Matt is mst :P | 06:32 | ||
M-Illandan | notviki: Looks like Alan Stevens. chocolatey.org/profiles/alanstevens | 06:33 | |
I followed that page from here: chocolatey.org/packages/StrawberryPerl | |||
06:34
xiaomiao left
|
|||
Zoffix | That's the new maintainer | 06:35 | |
06:39
Ven left,
xiaomiao joined
06:40
shayan_ joined
|
|||
notviki | seems like we could benefit from splitting up Range into subtypes | 06:47 | |
The $!is-int is all over the place. | 06:48 | ||
06:51
Ven joined
06:54
darutoko joined
06:57
pyrimidi_ left
07:08
pierre_ joined
07:09
Ven left
07:10
pyrimidine joined
07:11
Ven joined
07:12
pierre_ left
|
|||
samcv | damn it i forgot to commit… | 07:13 | |
07:19
BenGoldberg left
07:25
Ven left
07:31
Ven joined
|
|||
samcv | well. i guess i can re-solve this later or something. | 07:37 | |
samcv raises glass. | |||
11:37 here now | |||
notviki, does the new year feel better? fresher? newer? | |||
since you are living in the future | 07:38 | ||
07:38
Ven left
|
|||
notviki | Yeah, I have a good feeling about it ;) | 07:39 | |
m: say 2017 .is-prime | |||
camelia | rakudo-moar 15a2f1: OUTPUT«True» | ||
notviki | m: say (^2018).grep(*.is-prime)[*-2] | ||
camelia | rakudo-moar 15a2f1: OUTPUT«2011» | ||
samcv | i'm so pissed off i have to fix this again ._. | 07:42 | |
07:42
kurahaupo_ left
07:46
pyrimidine left
07:47
Ven joined
07:48
pyrimidine joined
|
|||
samcv | .ask jnthn why is the very important MVM_unicode_normalizer_process_codepoint in normalize.h and not in normalize.c? confused | 07:50 | |
yoleaux | samcv: I'll pass your message to jnthn. | ||
hobbs | inlining opportunity, perhaps? | 07:53 | |
Zoffix | :o hobbs | 07:54 | |
07:54
Ven left
|
|||
hobbs | 'tis a Zoffix | 07:54 | |
Zoffix | :) | ||
07:55
Ven joined
|
|||
hobbs | I've been lurking in the shadows for a year or more, it's just that I'm not usually looking at freenode. Too high-volume and distracting :) | 07:56 | |
samcv | dunno why there's like 5+ functions for deciding when to defer whether to break strings to the next function | ||
so confusing | |||
hobbs | but I got dinged in another channel so here I am. | 07:57 | |
samcv | would be cool if they could be consolidated | ||
hobbs, hobbs hobbs | |||
hobbs | honk. | ||
samcv | quack quack | ||
TimToady | hny < PST | 08:02 | |
Zoffix | HNY! | ||
TimToady notes that Datetime.now did not, in fact, show the leap second | 08:03 | ||
Zoffix | TimToady, the leap second is in UTC | ||
TimToady | *DateTime | ||
08:03
CIAvash joined
|
|||
hobbs | yeah, it uses a timescale that can't represent it | 08:03 | |
Zoffix | lies | ||
TimToady | I should have showed Instant.now instead :) | 08:04 | |
Zoffix | m: DateTime.new('2017-01-01').earlier(:second).say | ||
camelia | rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '2017-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead in block <unit> at <tmp> line 1» | ||
Zoffix | m: DateTime.new('2017-01-01T00:00:00').earlier(:second).say | ||
camelia | rakudo-moar c5e54e: OUTPUT«2016-12-31T23:59:60Z» | ||
Zoffix | ^ | ||
samcv | nice | ||
guys it feels weird being a second more in the future | 08:05 | ||
hobbs | nevermind, wrong DateTime of course :) | ||
Zoffix | :) | ||
samcv | m: DateTime.new('0-01-01').say | ||
camelia | rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '0-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead in block <unit> at <tmp> line 1» | ||
samcv | m: DateTime.new('1-01-01').say | ||
camelia | rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '1-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead in block <unit> at <tmp> line 1» | ||
samcv | m: DateTime.new('0001-01-01').say | 08:06 | |
camelia | rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '0001-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead in block <unit> at <tmp> line 1» | ||
hobbs | I neglected to video my GPS clock across the leap second this time around | ||
samcv | :\ | ||
Zoffix | missing time | ||
samcv | oh | ||
hobbs | now that the earth is slowing down on schedule again they're less exciting | ||
samcv | m: DateTime.new('0001-01-01').earlier(:second).say | ||
camelia | rakudo-moar c5e54e: OUTPUT«Invalid DateTime string '0001-01-01'; use an ISO 8601 timestamp (yyyy-mm-ddThh:mm:ssZ or yyyy-mm-ddThh:mm:ss+01:00) instead in block <unit> at <tmp> line 1» | ||
Zoffix | m: DateTime.new('0001-01-01T00:00:00').earlier(:second).say | 08:07 | |
camelia | rakudo-moar c5e54e: OUTPUT«0000-12-31T23:59:59Z» | ||
samcv | why could you do it for the more recent dates? | ||
missing information in the module? | |||
Zoffix | Do what? | ||
samcv | m: DateTime.new('0001-01-01T00:00:00').earlier(:year.say | ||
camelia | rakudo-moar c5e54e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1------> 3'0001-01-01T00:00:00').earlier(:year.say7⏏5<EOL>» | ||
samcv | m: DateTime.new('0001-01-01T00:00:00').earlier(:year).say | ||
camelia | rakudo-moar c5e54e: OUTPUT«0000-01-01T00:00:00Z» | ||
samcv | that is not an actual date | 08:08 | |
there is no 0 year | |||
Zoffix | m: DateTime.new('0001-01-01T00:00:00').earlier(:200000year).say | ||
camelia | rakudo-moar c5e54e: OUTPUT«-199999-01-01T00:00:00Z» | ||
samcv | it goes from +1 to -1 | ||
:((( | |||
Zoffix | m: DateTime.new('0001-01-01T00:00:00').earlier(:year(.5)).say | ||
camelia | rakudo-moar c5e54e: OUTPUT«0001-01-01T00:00:00Z» | ||
08:09
Ven left
|
|||
hobbs | it goes from 1BC to 1AD, but that doesn't mean that "-1" is necessarily a better mapping to 1BC than "0" :) | 08:09 | |
samcv | what. | ||
that makes no sense | |||
hobbs | besides which, it's using some sort of proleptic Gregorian which means none of the dates are *entirely* meaningful before the 16th century | 08:10 | |
samcv | how do we fix that | ||
it can be done, yes? | |||
hobbs | it can be done, but usually by applying an "alternate calendar" converter rather than trying to jam it into the core :) | 08:11 | |
(the same sort of thing that you would use to find out what today is in, say, the Jewish calendar) | |||
samcv | m: DateTime.new('2017-01-01T00:00:00', :jewish).say | 08:12 | |
camelia | rakudo-moar c5e54e: OUTPUT«2017-01-01T00:00:00Z» | ||
samcv | m: DateTime.new('2017-01-01T00:00:00', :THERCHURC.HURC.RU).say | ||
camelia | rakudo-moar c5e54e: OUTPUT«No such method 'HURC' for invocant of type 'Pair' in block <unit> at <tmp> line 1» | ||
samcv | m: DateTime.new('2017-01-01T00:00:00', :THERCHURCHURCRU).say | 08:13 | |
camelia | rakudo-moar c5e54e: OUTPUT«2017-01-01T00:00:00Z» | ||
08:14
thayne joined
|
|||
samcv | apparently ISO 8601:2004 has a year zero. though i guess that's fun for them | 08:14 | |
just changing the yeasr by one year | |||
hobbs | makes life easier in many ways | 08:15 | |
samcv | for who? people dealing with dates in the past? | ||
08:15
Ven joined
|
|||
samcv | idk i think it should display as 1 BC. it can be stored as 0 though if they like that | 08:15 | |
but 0 is not a year, does not exist, never existed | |||
and it's been true for thousands of years. | |||
hobbs | ain't nowhere in the ISO8601 grammar to put a "BC" :) | 08:16 | |
08:16
labster joined
|
|||
samcv | then have it negative? | 08:17 | |
-1 | |||
i guess they just uh idk | |||
whatever year 0 is stupid there should be one | |||
hobbs | then arithmetic would be broken :) | ||
samcv | but there isn't so everybody should fall in line dammit | ||
hobbs | anyway, in lieu of a video from today, here's one from 18 months ago: vimeo.com/133728097 | 08:18 | |
samcv | The "basic" format for year 0 is the four-digit form 0000, which equals the historical year 1 BC. Several "expanded" formats are possible: −0000 and +0000, as well as five- and six-digit versions. | ||
ok can we at least use -0? | |||
since other BC's are negative | |||
it at least makes it clear it's not The Year Zero, but it's part of the BC section of the timeline | 08:19 | ||
CIAvash | m: say 'LCFIRST'.samecase: 'a_'; # rightfold | 08:25 | |
camelia | rakudo-moar c5e54e: OUTPUT«lCFIRST» | ||
08:26
Wanderer68 joined
08:28
espadrine joined
08:30
cyphase left
|
|||
samcv | m: my @cases = 'U', 'l'; say 'LCFIRST'.samecase(@cases.pick ~ @cases.pick ~ @cases.pick ~ @cases.pick ~ @cases.pick ~ @cases.pick) | 08:32 | |
camelia | rakudo-moar c5e54e: OUTPUT«lcfIRst» | ||
samcv | that's pretty useful. now you can easily convert text for use on myspace | 08:33 | |
08:34
cyphase joined
08:38
Ven left
|
|||
notviki | m: my @cases = <U l>; say .samecase: @cases.roll(.chars).join with "LCFIRST" | 08:39 | |
camelia | rakudo-moar c5e54e: OUTPUT«LcFIRSt» | ||
08:39
pierre_ joined
08:42
Ven joined
08:47
dugword left
08:48
dugword joined
08:53
dugword left
08:54
Ven left
08:57
shayan_ left
09:02
Ven joined
|
|||
gfldex | m: say (1/1000) < 0 | 09:07 | |
camelia | rakudo-moar 1e3a32: OUTPUT«False» | ||
gfldex | i don't think so | ||
m: say (0.001) < 0 | |||
camelia | rakudo-moar 1e3a32: OUTPUT«False» | ||
gfldex | m: say (0.1e-3) < 0 | 09:08 | |
camelia | rakudo-moar 1e3a32: OUTPUT«False» | ||
gfldex | m: say (1e-3) < 0 | ||
camelia | rakudo-moar 1e3a32: OUTPUT«False» | ||
09:09
Ven left
|
|||
gfldex .oO( new years resolution: get more sleep ) | 09:14 | ||
hobbs | it's good to fail early with these things | 09:18 | |
09:22
RabidGravy joined,
Ven joined
09:25
rindolf joined
09:27
rindolf left,
rindolf joined
|
|||
gfldex | i'm toying around with SI units and I could really do with proper macros :-/ | 09:29 | |
09:32
pyrimidine left
09:34
pyrimidine joined
09:39
Ven left
09:40
wamba joined
09:42
Ven joined
09:54
Ven left,
tojo joined
|
|||
samcv | for conventing units? | 09:55 | |
what is the state of macros? is it _in_ nom? | |||
timotimo | yeah, you get them with "use experimental :macros" | ||
i'll try to get some sleep | 09:56 | ||
10:02
Ven joined,
bjz_ joined
10:03
bjz left,
Tonik joined
|
|||
gfldex | samcv: I don't want to use them in a module because of their experimental nature. Esp. for something that may be a dependency for quite a few modules. | 10:06 | |
samcv | exactly | ||
gfldex, also why are routines or operators not good for this use case? when are macros better? | 10:07 | ||
gfldex | the idea is to write stuff like `say N(75kg)` resulting in `735.49875N` | 10:08 | |
i would like to have macros so I don't type my fingers bleedy | |||
vim is of great help tho | |||
geekosaur | the state of macros is "in nom, known to be very limited and rather buggy, needs significant redesign; talk to masak" | 10:10 | |
10:10
Ven left
|
|||
samcv | say N(75, :kg ); sub N ( $num, :$kg?, :$m? ) { … } | 10:13 | |
why can't do that? | |||
more typing I know | |||
geekosaur | (or go take a look at github.com/masak/007 which iirc is masak's macro playground trying to come up with a more workable macro scheme) | 10:14 | |
10:16
labster left
|
|||
gfldex | with `75kg` I get a Numerical with a role mixed in | 10:16 | |
so I can do `multi sub N(SI-kilogram $kg){ $kg * g }` to provide typesafety | |||
next step would be to overload infix:<*> to complain if stuff is multiplied that shouldn't | 10:17 | ||
samcv | nice | ||
why can't you just add postfix kg | |||
gfldex | I also overload .gist already so you get nice short numbers | 10:18 | |
i did add postfix kg | |||
geekosaur | I think you end up writing it as 75\kg or some such | ||
gfldex | but I have a long list of units prefixes so for each base unit I have 18 postfixes to define | 10:19 | |
10:22
Ven joined
|
|||
samcv | i think it is time for sleep guys | 10:35 | |
notviki | Prolly... haven't slept since last year! | ||
10:39
Ven left,
tojo left
10:42
Ven joined
10:49
dugword joined
10:54
dugword left
|
|||
samcv | me either! | 10:54 | |
10:55
Ven left
11:02
Ven joined
|
|||
samcv | i have a problem | 11:02 | |
moritz | a sleep problem? Or a Perl 6 problem? | ||
samcv | well did | ||
both. i have a sleep disorder and maybe a perl 6 problem | |||
i think must have been from updating my system got like library not found | 11:03 | ||
but then ran make install again and it worked | |||
ugh getting other errors in other programs | 11:04 | ||
git pull :( | |||
ssh: error while loading shared libraries: libldns.so.1: cannot open shared object file: No such file or directory | |||
lamo | |||
11:05
pierre_ left,
Zoffix left
|
|||
moritz | this is the point in time where you have to ask yourself whether a reboot is the easiest fix, or whether it won't come up after a reboot at all | 11:08 | |
11:09
petrutrimbitas joined
11:10
Ven left
|
|||
samcv | seems one of the package maintainers screwed up | 11:11 | |
i'm on arch testing repos | |||
this is the first time this has happened really, where it just broke things. sent the maintainer an email so they can move it to Staging | |||
RabidGravy | it's so long since I had a computer fail to boot after an upgrade that I'm quite happy to do it headless on the little computers I ran servers for testing on | 11:16 | |
moritz | RabidGravy: same here, but I use Debian stable :-) | 11:17 | |
heck, the Apache 2.3 -> 2.4 transition caused me more pain than the transition to systemd | 11:18 | ||
RabidGravy | yeah, the last time I had big trouble was when Fedora switched to LVM | 11:19 | |
11:20
toolforger joined,
bjz joined
11:21
bjz_ left
11:22
Ven joined
11:24
pyrimidine left
11:25
pyrimidine joined
|
|||
dalek | ecs: 78c4211 | samcv++ | S05-regex.pod: S05-regex.pod: clairify that trailing whitespace is significant w/ :s |
11:25 | |
c: f520fae | gfldex++ | doc/Language/typesystem.pod6: where clauses are supported just not for type checks |
11:27 | ||
synopsebot6 | Link: doc.perl6.org/language/typesystem | ||
11:28
thayne left
|
|||
toolforger | MasterDuke, any news on the array index out of range exception issue? | 11:33 | |
11:35
rindolf left,
FROGGS_ left
11:36
ufobat joined
11:39
Ven left
11:41
pyrimidine left,
rindolf joined
11:42
pyrimidine joined,
Ven joined
11:45
notbenh left
11:46
notbenh joined
|
|||
notviki | Well. 7AM. | 11:50 | |
.. time for bed. | |||
\o | |||
11:54
domidumont joined
11:55
Ven left,
ufobat left
11:58
domidumont left
11:59
domidumont joined
12:02
Ven joined
12:11
Ven left
12:13
TEttinger left
12:15
iH2O joined
|
|||
tbrowder | Happy New Year, #perl6 | 12:15 | |
iH2O | what exactly would be an happy new year for #perl6? | 12:16 | |
12:16
petrutrimbitas left
|
|||
iH2O | an happy year | 12:17 | |
having "goto" implemented? | 12:18 | ||
gfldex | my happy perl6-year would be one with all the CONC bugs fixed | ||
iH2O | you do that, gfldex | 12:19 | |
12:20
Tonik left
|
|||
iH2O | we count on you | 12:23 | |
gfldex | you are likely better of with counting on jnthn in that area | 12:24 | |
there will be proper pdfs this year tho | 12:25 | ||
moritz is also producing PDFs | 12:26 | ||
toolforger | My happy #perl6 year would be a rakudo-jvm that used Perl-derived names on the Java side instead of unrememberable synthetic ones | 12:27 | |
iH2O | u visionary toolforger | 12:28 | |
toolforger | It would be necessary to make Perl modules callable from Java | 12:30 | |
It would also help reading disassembled bytecode | 12:31 | ||
12:31
bjz left
|
|||
dalek | c: a2eb3d0 | gfldex++ | doc/Language/typesystem.pod6: show how to use roles as type-constraints |
12:32 | |
synopsebot6 | Link: doc.perl6.org/language/typesystem | ||
gfldex | this ^^^ example worked out rather nicely, moritz, you may want to have a look | ||
12:34
Ven joined
|
|||
dalek | c: 24162ea | moritz++ | doc/Language/typesystem.pod6: Fix grammar errors "it's" is short for "it is", which is an easy test where it's "it's" or "its" :-) |
12:36 | |
synopsebot6 | Link: doc.perl6.org/language/typesystem | ||
moritz | gfldex: "If a role is used instead of a class (using | ||
autopunning), the roles type-object is added to the inheritance chain." | |||
gfldex: I don't know what exactly that means, but it's likely wrong | |||
gfldex | i'm not happy with the sentence either | 12:37 | |
I plan to link to auto-punning, what depends on a proper example | |||
12:38
travis-ci joined
|
|||
travis-ci | Doc build errored. Wenzel P. P. Peppmeyer 'show how to use roles as type-constraints' | 12:38 | |
travis-ci.org/perl6/doc/builds/188034815 github.com/perl6/doc/compare/f520f...eb3d0d98b1 | |||
12:38
travis-ci left
|
|||
moritz | I just don't think roles are *ever* added to the inheritance chain | 12:38 | |
gfldex | m: role R { method m { say 'oi‽' } }; R.new.m; | ||
camelia | rakudo-moar 268dc9: OUTPUT«oi‽» | ||
moritz | possibly a class punned from the role, but not the role itself | ||
gfldex | m: role R { method m { say 'oi‽' } }; R.new.^mro.say; | ||
camelia | rakudo-moar 268dc9: OUTPUT«((R) (Any) (Mu))» | ||
gfldex | there you go :) | 12:39 | |
moritz | m: role R { method m { say 'oi‽' } }; R.new.^mro[0] | ||
camelia | ( no output ) | ||
moritz | m: role R { method m { say 'oi‽' } }; say R.new.^mro[0] | ||
camelia | rakudo-moar 268dc9: OUTPUT«(R)» | ||
moritz | m: role R { method m { say 'oi‽' } }; say R.new.^mro[0].HOW.^name | ||
camelia | rakudo-moar 268dc9: OUTPUT«Perl6::Metamodel::ClassHOW» | ||
moritz | gfldex: ^^ the thing that appears in the MRO is a class, not a role | ||
gfldex | with the same name as the role | 12:40 | |
moritz | it's punned from the role R, but it isn't the role itself | ||
thing is, roles don't appear in the MRO | |||
gfldex | there seams to be a waterbed theory of confusion too | ||
moritz | because roles are always applied to classes | ||
gfldex | I shall rephrase anyway | ||
moritz | thanks | ||
m: say (2017..*).grep(&is-prime).head(5) | 12:42 | ||
camelia | rakudo-moar 268dc9: OUTPUT«(2017 2027 2029 2039 2053)» | ||
moritz | twin primes in ten/12 years! | ||
dalek | c: 7717f69 | gfldex++ | doc/Language/typesystem.pod6: rephrase to move confusion around |
12:43 | |
synopsebot6 | Link: doc.perl6.org/language/typesystem | ||
12:44
Alikzus left
|
|||
dalek | c: 7ce8859 | gfldex++ | doc/Language/typesystem.pod6: doc role-autopunning |
12:49 | |
synopsebot6 | Link: doc.perl6.org/language/typesystem | ||
12:51
dugword joined
12:55
dugword left
|
|||
dalek | c: fc17692 | moritz++ | doc/ (2 files): Fix two more "it's" that should be "its" |
12:55 | |
moritz | gfldex++ # doc work | 12:56 | |
toolforger | Mmmm... gcc warnings when compiling moar | 12:59 | |
13:04
froggs joined,
pyrimidine left
13:05
pyrimidine joined,
aries_liuxueyang joined
13:08
grondilu joined
|
|||
iH2O | semantically speaking, can "it's" always be used instead of "its". like you can always say "Paul's car" as equivalent to "Pauls car" | 13:09 | |
geekosaur | er? | ||
iH2O | "it's color" means "the color of it", which is equivalent to "its color" | 13:10 | |
froggs | no | ||
geekosaur | "can always" in the sense that English lets you get away with atrocities | ||
iH2O | yes | ||
geekosaur | but "Pauls car" is not proper | 13:11 | |
iH2O | i use that everyday on IRC :-P | ||
froggs | Pauls is plural | ||
Paul's is not | |||
geekosaur | and possessives work backwards from "it's" / "its", as "it's" means "it is" | ||
iH2O | Pauls is slang for Paul's | ||
in the sense i used it | |||
geekosaur | whereas "its" is a possessive pronoun | ||
13:14
froggs left,
FROGGS joined
|
|||
geekosaur | formal documentation should make *some* attempt at correct usage, as opposed to just making word salad and hoping everyone will get it | 13:14 | |
iH2O | O_O | ||
13:16
FROGGS left
|
|||
iH2O | why hasn't mainstream English shortened "don't" to "dont" yet? | 13:16 | |
overdue | |||
RabidGravy | because it is a contraction | ||
geekosaur | it's already shortened, that's what the apostrophe means | 13:17 | |
13:18
aries_liuxueyang left
13:19
FROGGS joined
|
|||
iH2O | perl6 is now better than English at shortening syntax | 13:19 | |
13:21
travis-ci joined
|
|||
travis-ci | Doc build passed. Wenzel P. P. Peppmeyer 'rephrase to move confusion around' | 13:21 | |
travis-ci.org/perl6/doc/builds/188036521 github.com/perl6/doc/compare/24162...17f6970a9f | |||
13:21
travis-ci left,
aries_liuxueyang joined
13:22
Wanderer68 left
|
|||
geekosaur | that's not saying much :) | 13:23 | |
(and there are languages far better at it: MUMPS, FOCUS, APL...) | |||
iH2O | APL lol | ||
ive already done some APL | |||
geekosaur | er, FOCAL | 13:24 | |
pretty much any keyword in MUMPS or FOCAL can be shortened to its first letter | |||
13:24
Alikzus joined
|
|||
geekosaur | (making programs in either infamously unreadable) | 13:24 | |
iH2O | PPMd can compress text almost 5 times for large files | 13:26 | |
thats record short | |||
13:26
aries_liuxueyang left
|
|||
iH2O | i think | 13:26 | |
geekosaur | if you have source code large enough to benefit from a compression program, you're already doing it wrong... | 13:27 | |
13:27
aries_liuxueyang joined
|
|||
geekosaur | (in a single file that is) | 13:27 | |
iH2O | thats for object code imho | ||
conjecture: even APL would compress near 5 times with PPMd | |||
13:29
travis-ci joined
|
|||
travis-ci | Doc build passed. Wenzel P. P. Peppmeyer 'doc role-autopunning' | 13:29 | |
travis-ci.org/perl6/doc/builds/188037169 github.com/perl6/doc/compare/7717f...e885944aeb | |||
13:29
travis-ci left
|
|||
iH2O | APL source code i mean | 13:30 | |
13:30
Tonik joined
|
|||
geekosaur | object code's a different beast, yes. can be highly compressible, because you have lots of boilerplate code generated for various language constructs, function prologs/epilogs, etc. | 13:30 | |
RabidGravy wonders whether he is slipped back in time forty years | 13:32 | ||
iH2O | perl6 object code should compress tremendously given its tremendously underoptimized | 13:33 | |
geekosaur | more than that :) | ||
iH2O | :) | ||
i mean perl6 intermediary code | 13:34 | ||
geekosaur | actually that was the "40 years" comment I was responding to | ||
as to intermediate code, every time I look at nqp I want to write a macro processor to generate most of it for me :p | 13:35 | ||
(bliss-nqp, anyone? :p ) | |||
RabidGravy | I write some microcontroller code every once in a while where I do have to be concerned with the size of the resulting executable, but other than that it's a non-problem these days | 13:36 | |
13:37
travis-ci joined
|
|||
travis-ci | Doc build passed. Moritz Lenz 'Fix two more "it's" that should be "its"' | 13:37 | |
travis-ci.org/perl6/doc/builds/188037853 github.com/perl6/doc/compare/7ce88...17692eb322 | |||
13:37
travis-ci left
|
|||
iH2O | i use English as a 2nd language but i never confuse "its" and "it's". i'm puzzled no end every time i see a well educated native English speaker confuse them | 13:39 | |
which happens all the time | |||
geekosaur | not sure how much of it is confusing them and how much is sloppiness from e.g. texting where why would you hunt down the apostrophe? | 13:40 | |
RabidGravy | this is largely to do with how people learn their native language | 13:41 | |
13:41
pierre_ joined
|
|||
RabidGravy | I always make an effort to use the correct apostrophes in text messages | 13:41 | |
geekosaur | also, sometimes you just pick up what others are doing. I'm seeing / hearing more native speakers not invert sentence structure in questions, for example | ||
used to be you could spot the non-native speakers trivially that way | 13:42 | ||
grondilu | m: my uint @a[1] = 7; for @a -> $x is rw {} | 13:43 | |
camelia | rakudo-moar 268dc9: OUTPUT«Parameter '$x' expected a writable container, but got Int value in block <unit> at <tmp> line 1» | ||
grondilu | m: my uint @a = 7; for @a -> $x is rw {} | ||
camelia | ( no output ) | ||
13:44
aries_liuxueyang left,
kurahaupo__ joined
13:48
kurahaupo__ left
|
|||
masak | ahoy | 13:49 | |
I'm gonna OT you some more by telling you that I'm still enjoying fleshing out gist.github.com/masak/8e082999e06b...2899bbcde5 | |||
13:49
aries_liuxueyang joined
|
|||
masak | I'm now up to (or down to) having defined subtraction. yay! | 13:49 | |
iH2O: I find I only make it's/its type mistakes when I'm really tired and my brain basically only has the energy to type "by sound" instead of by the underlying words' spelling. | 13:50 | ||
strangely, it only happens to me with it's/its, not with there/their/they're, as far as I can remember | 13:51 | ||
geekosaur | RabidGravy, I do wonder how much www.sciencedaily.com/releases/2015...094229.htm generalizes | ||
masak | (oh! the gist above is worth reading solely for the awful Peano pun near the end!) | ||
geekosaur more likely to thinko the latter when tired | |||
and yes, going by sound does seem to be part of it, but if I mess up with it's/its I'm more likely to have fat-fingered the enter key instead of ' | 13:52 | ||
13:52
dugword joined
13:53
lukaramu joined
|
|||
toolforger | Heh. Curry is spicy, even in programming :-) | 13:53 | |
masak | :) | 13:54 | |
toolforger | +1 for the Kronecker quote, too | 13:55 | |
masak | I've always liked that one | ||
but lately I've come to feel that only 0 and 1 are in fact real | |||
everything else is, like, so made up | |||
toolforger | Also, "God made time, but calendars are the work of the Devil" | ||
RabidGravy | nothing is real | ||
masak | RabidGravy: cf. 0-tuples in the gist :P | ||
toolforger | My first course in math defined integers like this: zero is the empty set, the successor to x is the set containing x | 13:56 | |
so, 0 is represented as {}, 1 as {{}}, 2 as {{{}}}, etc | |||
it all worked... so not even 0 and 1 are real, just the empty set, and sets containing a single element | |||
:-D | |||
geekosaur | ...someone teaches arithmetic from ZFC?! | 13:57 | |
(well, a variant) | |||
13:57
dugword left
|
|||
masak | toolforger: that's not the standard ZFC definition, but yeah, I've seen that one too | 13:57 | |
toolforger | It was more an introductory course to induction, if you will forgive me the pun | ||
They never told us what that particular model was called | 13:58 | ||
masak | toolforger: I think what one needs to not lose sight of is that while it's definitely *possible* to define everything with sets, it's definitely not the *only* way, let alone the only *right* way :) | ||
toolforger | if you say "ZFC variant", I'll happily agree with whatever you say | ||
masak | toolforger: think it's "von Neumann numbers" or something. let me check. | ||
toolforger | But yeah, it's just models | ||
the thing per se is just the axioms, but these don't represent well | 13:59 | ||
not in the human mind, and not in computers | 14:00 | ||
masak | I've become very partial to CT's way of defining foundations of algebra lately | ||
toolforger | so we use one of many models, and hope that the model doesn't mislead us into overly specific conclusions | ||
CT? | |||
14:00
aries_liuxueyang left
|
|||
geekosaur | or other mistakes (ohai Gödel!) | 14:00 | |
category theory, I think | |||
toolforger takes a cautious step back | 14:01 | ||
masak | yes, category theory | ||
not as bad as it sounds :) | |||
toolforger runs | |||
geekosaur | it's just a generalization of sets, what's the problem? :p | ||
masak | toolforger: I was wrong. von Neumann ordinals are those that I'm used to: en.wikipedia.org/wiki/Ordinal_numb...f_ordinals | ||
toolforger | :-) | ||
masak | geekosaur: yeah, but that's selling categories a bit short, IMHO | ||
toolforger | It's just that I never took a course in CT, and the reading material that I saw was either too handwavy to be useful or assumed too much background and was too heavy | 14:02 | |
masak | toolforger: category theory has a bad name, I guess, because it's very abstract and condensed. it takes a bit of patience to learn enough context around it in order to appreciate CT itself | ||
toolforger: I found it useful to start by beefing up on algebraic topology, out of which CT was largely born | 14:03 | ||
toolforger | Yeah, that would be part of the "too much background" | ||
masak | I've never taken a course in it either :) | ||
toolforger | I know my way around formal logic | ||
masak | anyway, the tl;dr is that CT has shown me that the natural numbers really *are* quite fundamental | ||
toolforger | Up to and including basics of fixed-point theory | 14:04 | |
masak, I can imagine | |||
masak | and integers too | ||
the ring of the integers is the "initial object" in the category of rings. that means, hand-wavily, that it relates to all other rings in a unique way. | 14:05 | ||
toolforger | Another observation just how fundamental naturals are: They are the smallest model where Diagonalization works, so they are the smallest domain where incompleteness, indecidability and all that stuff happen | ||
They are also the smallest model that can carry algorithms | |||
masak | aye | ||
that's why they are so freaky | |||
toolforger | so undecidability is fundamental to algorithms, which is sort of freaky, too | 14:06 | |
masak | somewhere out there there's a huge natural number that encodes your entire life in bits | ||
everything that ever happened or will happen to you | |||
toolforger | yeah, but the number is probably just as large as the binary log itself | ||
masak | it's cool, I won't ask you to write it down or read it aloud | 14:07 | |
just to contemplate it | |||
toolforger | I.e. the famous "Shakespeare works typed by monkeys" thing - I assume that on the average, the number needed to specify WHICH of those monkey works is the Shakespearian works is just as large as the works itself | ||
I can't prove it though | |||
but I suspect it could be proven using information theory | 14:08 | ||
masak | intuitively it feels like it could be a fair bit smaller | ||
but yeah, you'd have a "librarian's problem" of filing and categorizing all the huge reams of infinite garbage coming from the monkeys | |||
toolforger | Add another letter to the works multiplies the possibilities by alphabet size | ||
so you need another alphabet letter to file the works | |||
masak | kind of reminds me of the discussions around Maxwell's Demon, actually | 14:09 | |
14:09
aries_liuxueyang joined
|
|||
masak | ooh! someone write up some Infinite Monkeys/Maxwell's Demon crossover fanfic! :D | 14:09 | |
masak , for some reason, imagines arnsholt popping into the discussion right around now | |||
toolforger | I once read a fantasy works where a daemon of perversion was summoned | 14:10 | |
moritz | masak++ # λ calculus | ||
14:10
iH2O left
|
|||
toolforger | the protagonist told it to build a wall of tax legislation, which it gleefully did | 14:10 | |
geekosaur briefly considers checking ao3, decides that having been up all night due to sinuses he is officially too tired | |||
masak | moritz: I'm going to need to explain the Y combinator in order to define division. kind of looking forward to it, in a weird way. | 14:11 | |
toolforger | Don't you need Y for subtraction already? | 14:12 | |
masak | nope, just the natural iteration of numbers | ||
geekosaur | only for the zero case :p | ||
masak | geekosaur: that's not Y, that's just diverge :) | ||
Y is like a harnessed version of diverge | 14:13 | ||
toolforger | Well, actually the predecessor function | ||
masak | which is probably a neat way to start explaining it | ||
14:13
aries_liuxueyang left
|
|||
masak | toolforger: right. see the bottom of the gist. | 14:13 | |
toolforger: it dismays me a little how many resources online define `pred 0` as `0` | |||
toolforger | I stopped reading at the paragraph, that's the point where my brain starts turning into a Klein bottle :-) | 14:14 | |
But sure, pred 0 is undefined, not 0 | |||
masak | right | ||
which is why we diverge if someone asks for it | |||
toolforger | Plus pred 0 is the perfect point to explain partial functions, and what problems they cause | ||
masak | hm | ||
toolforger | but can you even define pred in Lambda calculus if you don't have Y? | ||
14:14
hartenfels joined
|
|||
masak | I believe I just did | 14:15 | |
all you need is to iterate up to n-1 | |||
that can be done using the iteration in Church numerals | |||
of course, those are themselves defined inductively | |||
with a... scheme | |||
toolforger | Ah right, you set up a function that returns the list and wrap it in a selector function that returns the predecessor | 14:16 | |
masak | something like that, yes | ||
toolforger | Yeah | ||
I'm pretty sure it's not what you're actually doing, but it's the overall structure | |||
14:17
aries_liuxueyang joined
|
|||
masak | I iterate over the (conceptual) sequence (diverge, 0), (0, 1), (1, 2)... | 14:17 | |
toolforger | But... it's recursive | ||
masak | I maintain it's not -- at least not the way I see it | ||
toolforger | Wait... no, it isn't | ||
Strange | |||
masak | all you do is have arbitrarily high Church numerals | 14:18 | |
toolforger | it *should* be recursive if it unwraps to a for loop | ||
masak | no, it's just that the Church numeral for N has N application in it | ||
think of it as "brute-force iteration" or something | |||
toolforger | Maybe the lambda expression for pred is inaccurate | 14:20 | |
I cannot check it, not confidently enough to be sure anyway | |||
geekosaur spots the point in the gist where the original notation for function application gets rediscovered >.> | 14:23 | ||
toolforger | Oooo-kay, I think I just grokked Church numerals | 14:24 | |
masak | toolforger: :) | ||
geekosaur: could you enlighten me, please? I'm not sure what you're referring to. | |||
toolforger | i.e. why it's useful to define numbers in this way | ||
geekosaur | exponentiation | 14:25 | |
masak | geekosaur: I can see that in many places in mathematics, there is a *notational* parallel being drawn between exponentiation and function application | ||
geekosaur: it even makes some sense on a semantic level | |||
geekosaur: but I don't feel I have the full picture there. specifically, arithmetical exponentiation still seems to me to be completely unrelated to function application. | 14:26 | ||
toolforger: a Church numeral for N is basically just N repeated applications, frozen into a lambda | |||
toolforger | yes | ||
I knew that | |||
geekosaur | well, the context I'm talking about is lambda calculus. and originally they used the notation for arithmetic exponentiation to represent application, because of the equivalence at the lambda calc level | 14:27 | |
dalek | c: 3d5e064 | (Tom Browder)++ | doc/Language/syntax.pod6: add missing word |
||
synopsebot6 | Link: doc.perl6.org/language/syntax | ||
toolforger | I just have been thinking that Church numerals are just the function-land equivalent of nested sets - pretty but useless | 14:29 | |
masak | geekosaur: who are "they"? Alonzo Church? | ||
toolforger: then what was it you just realized? | |||
toolforger | Now I see that defining N as "N applications of some functions", there's actually real power | ||
masak | aye | 14:30 | |
14:30
pierre_ left
|
|||
toolforger | you don't need an external definition/axiom to DO something with a number, it is already a function that does something for you | 14:30 | |
toolforger is going to bed smarter today than he stood up | |||
masak | right; I love the "ostensive" feel of Church encoding | 14:31 | |
toolforger nods | |||
masak | a boolean is a two-way chooser; a number is a function iterator | 14:32 | |
toolforger is going back to hacking NQP, that's easier | |||
14:32
cdg joined
|
|||
toolforger | :-D | 14:32 | |
masak | ooh! and *that's* how you define the Y combinator! | ||
the Y combinator is simply an *infinite* function iterator :) | 14:33 | ||
toolforger | Note that the Y combinator is easy to define in Lambda Calculus, but cannot be defined in any Typed Lambda Calculus | ||
you cannot assign consistent types to parameter and result types | |||
masak | right | 14:34 | |
toolforger | I'm feeling pretty uneasy with that | ||
masak | nah; you just need something stronger than simply typed lambda calculus for it | ||
I think something like "forall" is enough | |||
14:35
cdg left
|
|||
toolforger | Dunno; I didn't follow the reasoning, I just noted the result as presented | 14:35 | |
masak | it's not so surprising that something with the power to diverge in its innards is hard to type with the simplest possible type system :P | ||
geekosaur | masak, yes it was Church and in fact it followed from his definition of ordinals | ||
since they are themselves exponentiations, in a sense | |||
masak | geekosaur: very interesting. thank you. | ||
14:36
aries_liuxueyang left
|
|||
toolforger | I have a question about "make test" in nqp | 14:37 | |
does it run the tests with all backends, or just with the default backend? | 14:38 | ||
I need to validate that all backends built correctly | |||
psch | you should have backend-specific test targets | ||
i.e. j-test, m-test | |||
toolforger | because I'm mucking around with the makefile(s) | ||
psch, I see, running these as well | 14:39 | ||
thx | |||
psch | those do run the normal test battery, i.e. for a moar-only nqp build m-test and test are equivalent | ||
at least as far as i am aware | |||
toolforger | I have a backends=all build here | 14:40 | |
not sure which of the three backends are being run with just 'make test' | |||
oh, and there's also qregex-test | 14:41 | ||
psch | well, the test target runs the primary backend | ||
the easiest way to check which one that is is checking what ./nqp calls i guess | |||
toolforger | it's doing install/bin/moar nqp.moarvm | 14:42 | |
14:42
kurahaupo__ joined,
kurahaupo__ left
|
|||
toolforger | so I guess I also need make 'j-test' and 'make js-test', is that right? | 14:43 | |
psch | i'd say so | 14:44 | |
i think those also run qregex tests..? | |||
toolforger | Um... I am getting a java.lang.RuntimeException | ||
ah right, 'make test' reports that it is doing "prove -r --exec "./nqp-m" t/nqp t/hll t/qregex t/p5regex t/qast t/moar t/serialization t/nativecall" | 14:45 | ||
then nqp-j | |||
so make test is indeed exercising all available backends, which is sweet | |||
psch | oh, neat. i wasn't aware of that | 14:46 | |
toolforger | Test failures for "make j-test": | ||
t/serialization/01-basic.t ............. 1/1502 java.lang.RuntimeException: No such attribute '$!written' for this object | |||
in (t/serialization/01-basic.t:560) | 14:47 | ||
in <mainline> (t/serialization/01-basic.t:526) | |||
(skipping rest of stack trace, looks like it's just the test driver) | |||
and this: | 14:48 | ||
t/serialization/01-basic.t ............. Dubious, test returned 1 (wstat 256, 0x100) | |||
Failed 1413/1502 subtests | |||
(less 2 skipped subtests: 87 okay) | |||
"make js-test" is even worse, it complains "cannot find module 'nqp-runtime'" for every single test | 14:49 | ||
bartolin | t/serialization/01-basic.t was modified yesterday: 806c65fc5a | ||
probably the new tests fail on nqp-j | 14:50 | ||
14:50
AlexDaniel joined,
xinming_ joined
|
|||
toolforger | I guess Pawel Murias would want to know about the serialization issues, to check whether it's a wrong test or a wrong nqp-j implementation | 14:52 | |
14:53
xinming left
|
|||
toolforger | should I be worried about the JS test failures? | 14:54 | |
(in the sense that these failures might be hiding mistakes I may be making when changing makefiles) | |||
bartolin doesn't know; didn't run nqp-js tests, yet | 14:55 | ||
toolforger is going to avoid touching Makefile-JS.in then | 14:58 | ||
or at least I'll be ultra-careful... not what I prefer, but ah well | |||
15:02
aries_liuxueyang joined
15:04
pjablonski left
15:10
Ven left,
aries_liuxueyang left
15:15
Ven joined
|
|||
AlexDaniel | samcv: oh, invisible letter! | 15:18 | |
nice | |||
is it something we are supposed to use to show combining characters? | 15:19 | ||
none of this ◌ rubbish, right? | 15:20 | ||
15:22
labster joined
15:26
Ven left
|
|||
toolforger | What's the problem with ◌? | 15:26 | |
geekosaur | the bigger problem is people who don't even use that | 15:27 | |
15:28
pierre_ joined,
M-Illandan joined,
M-Illandan left,
M-Illandan joined
|
|||
geekosaur | someone was trying to parse irc logs the other day that had entries that started with combining characters. the json parser's utf8 decoder duly attached the combining characters to the opening quote, confusing the heck out of the json parser | 15:29 | |
15:30
CIAvash left
15:31
cibs left
|
|||
AlexDaniel | yea, it was me xD | 15:31 | |
15:32
pmurias joined
|
|||
AlexDaniel | the thing is, if you're adding some extra characters to the string | 15:32 | |
geekosaur | I noticed moritz patched it to work :) | ||
pmurias | I'll add the skips on the nqp-j for the new tests | ||
AlexDaniel | then you're basically mangling what was said on IRC | ||
pmurias | toolforger: don't touch the Makefile-JS.in | ||
toolforger: it's autogenerated | 15:33 | ||
15:33
cibs joined
|
|||
geekosaur | but, really, the ideal way to handle that is to have a dedicated character to act as a holder, and require everything to use it instead of having to special case combining character handling for quotes | 15:33 | |
or etc. | |||
15:33
pierre_ left
|
|||
geekosaur | which is just really horrid | 15:33 | |
moritz | yes, the way it's handled now, everybody who writes a grammar needs to be aware of those quirks | ||
geekosaur | and for a csv library you also have to watch out for them on commas | 15:34 | |
AlexDaniel | geekosaur: yea but, if somebody wrote ́ on IRC, what would you save in the log? | ||
toolforger | pmurias, good to know, thx | ||
15:35
CIAvash joined,
Ven joined
|
|||
AlexDaniel | geekosaur: if you add some character before it, then how would I know if that person wrote it with that character or just wrote a combining character alone? | 15:35 | |
toolforger | IRC shouldn't accept combining characters as first character of a message, and if it does it's a bug | 15:36 | |
geekosaur | well, ideally it goes with an indicator of whether a character takes combining characters (this may already exist) and writing that would be ill-formed unicode | ||
pmurias | I should propably work on not having Makefil-JS.in in version control as everybody wants to edit it | ||
15:37
labster left
|
|||
moritz | does anybody know if Swift has the same problem, and if yes, if/how they solved it? | 15:37 | |
toolforger | pmurias, I agree | ||
moritz | iirc swift also does graphemes | ||
pmurias | .oO(maybe we should have a swift backend) |
||
15:41
aries_liuxueyang joined,
Ven left
15:53
labster joined,
labster left
15:55
Ven joined
15:57
Y8_ joined
15:58
Y8_ left
|
|||
pmurias | toolforger, bartolin: I fixed and added a skip to the failing test | 16:00 | |
16:04
newcoder joined,
newcoder left
|
|||
toolforger | thx | 16:10 | |
16:11
Ven left,
khw joined
16:14
Ven joined
|
|||
toolforger | I'm going to PR some Makefile readability improvements; pmurias, should I remove makefile-js.in while I'm at it? | 16:14 | |
pmurias | toolforger: don't remove it before Configure.pl is taught to generate it | 16:16 | |
toolforger | ah ok np | ||
16:20
shayan_ joined
16:24
aries_liuxueyang left
16:25
Ven_ joined
16:26
bpmedley left
|
|||
pmurias | toolforger: the Makefile-JS.in is generated by tools/build/gen-js-makefile.nqp | 16:26 | |
16:26
Ven left
|
|||
pmurias | I'll make Configure.PL generate it later today | 16:27 | |
toolforger | I know, but I'm not confident in my ability to properly test it | ||
so I'll leave that to you | |||
16:29
dugword joined,
pierre_ joined
16:30
aries_liuxueyang joined
16:31
rburkholder joined
16:35
pierre_ left
16:47
petrutrimbitas joined
|
|||
dugword | m: sub (Int(Cool) :$foo){}() | 16:48 | |
camelia | rakudo-moar 29b5ea: OUTPUT«Use of uninitialized value of type Cool in numeric context in sub at <tmp> line 1» | ||
RabidGravy | yes | 16:50 | |
dugword | $foo is an optional named argument, but I get a warning about trying to convert it to an int because of the signature. Should it, or is there an idomatic way to write this? Or do I need to check if it is defined and cast it in the sub definition. | ||
16:50
MasterDukeMobile joined
|
|||
dugword | m: sub (Int :$foo){}() | 16:51 | |
camelia | ( no output ) | ||
MasterDukeMobile | .tell toolforger I haven't made any progress on the aioob exception (secretly hoping you figure it out) | 16:52 | |
yoleaux | MasterDukeMobile: I'll pass your message to toolforger. | ||
toolforger | I'm here | ||
yoleaux | 16:52Z <MasterDukeMobile> toolforger: I haven't made any progress on the aioob exception (secretly hoping you figure it out) | ||
toolforger | I'll need some handholding to reproduce the issue | ||
psch | dugword: i'm pretty close to want to consider that a bug, actually. iirc we had something similar recently with post constraints | 16:53 | |
toolforger | give me an hour or so, finishing a PR first | ||
MasterDukeMobile | I'm actually heading out now, but I'll check the backlog | ||
psch | dugword: maybe have a look throught RT if it's ticketed, and also maybe bug someone else if it should be ticketed :) | ||
psch isn't firm enough in some part of the language to decide vOv | 16:54 | ||
notviki | dugword: I'd call it a bug. You can omit that coersion if it's impeding your sock PR | ||
16:55
floutenvy joined
|
|||
dugword | Thanks, submitting now | 16:56 | |
toolforger | MasterDukeMobile, no backlog - can you send me a set of step-by-step instructions how to reproduce the problem? I'm too fuzzy about the details. Just send the thing to [email@hidden.address] | 16:57 | |
16:58
MasterDukeMobile left
|
|||
toolforger | aww | 16:58 | |
ah well :-) | |||
17:06
floutenvy left
17:09
aries_liuxueyang left
17:10
floutenvy joined,
huggable joined,
buggable joined,
ChanServ sets mode: +v huggable,
ChanServ sets mode: +v buggable
17:11
aries_liuxueyang joined
17:15
floutenvy left
17:16
aries_liuxueyang left
17:17
aries_liuxueyang joined
17:20
skids joined
17:24
MilkmanDan joined
|
|||
grondilu | m: say sub (uint32 $x --> uint32) { 2*$x }(2**31); | 17:27 | |
camelia | rakudo-moar 29b5ea: OUTPUT«4294967296» | ||
grondilu | ^that seems wrong to me | ||
m: say my uint32 $ = 2**32 | 17:28 | ||
camelia | rakudo-moar 29b5ea: OUTPUT«0» | ||
17:28
domidumont left
|
|||
grondilu | m: say sub (uint32 $x --> uint32) { 2*$x }(2**31).WHAT; | 17:28 | |
camelia | rakudo-moar 29b5ea: OUTPUT«(Int)» | ||
grondilu | m: sub (--> uint32) { 2**33 } | ||
camelia | ( no output ) | ||
grondilu | m: sub (--> uint32) { 2**33 }().say | ||
camelia | rakudo-moar 29b5ea: OUTPUT«8589934592» | ||
AlexDaniel | yea… well | 17:30 | |
6c: sub (--> uint32) { 2**33 }().say | |||
committable6 | AlexDaniel, ¦«2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10,2016.11,2016.12,HEAD»: 8589934592 | 17:31 | |
AlexDaniel | m: sub (--> uint32) { -10 }().say | 17:32 | |
camelia | rakudo-moar 29b5ea: OUTPUT«-10» | ||
AlexDaniel | grondilu: there you go! | ||
that's a known problem | |||
grondilu: well, isn't it your ticket? RT #124294 | 17:33 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124294 | ||
grondilu | m: say my uint32 $ = 2**63; | 17:35 | |
camelia | rakudo-moar 29b5ea: OUTPUT«0» | ||
grondilu | this one was fixed I believe | 17:36 | |
m: say my uint32 $ = -1 | |||
camelia | rakudo-moar 29b5ea: OUTPUT«4294967295» | ||
AlexDaniel | hm | ||
17:38
platon joined,
platon is now known as Guest11891
17:39
petrutrimbitas left
|
|||
toolforger | PR #335 ready for review github.com/perl6/nqp/pull/335 | 17:53 | |
17:54
aries_liuxueyang left
17:56
aries_liuxueyang joined
|
|||
pochi | ssh kryten | 17:56 | |
17:56
toolforger left
|
|||
notviki | ssh: Could not resolve hostname kryten: Name or service not known | 17:57 | |
17:58
petrutrimbitas joined,
zakharyas joined
17:59
toolforger joined
|
|||
pochi | :) | 18:04 | |
mst | but where would all the calculators go? | 18:06 | |
moritz | if you ever find yourself successfully ssh'ing into a top-level domain, RUN! | 18:07 | |
18:08
Gasher joined
18:22
nebuchadnezzar left
18:24
nebuchadnezzar joined,
nowan_ joined
18:27
nowan left
18:30
CIAvash left,
darutoko left
18:31
Guest11891 left
18:32
rindolf left
18:35
Wanderer68 joined
18:37
rindolf joined
18:40
shayan_ left
18:42
hartenfels left
18:44
hartenfels joined
|
|||
stmuk | I was enable at one point in the 90s to do a top level domain query on .uk! | 18:44 | |
18:48
bwisti joined
|
|||
dugword | github.com/rakudo/rakudo/pull/981 | 18:49 | |
PR re-opened for IO::Socket::INET | |||
18:49
bwisti left
|
|||
moritz | dugword++ | 18:50 | |
dugword: do you also happen to have tests? | |||
dugword | I do not, should they be roast tests, or tests within rakudo ? | ||
lizmat is building and testing | |||
moritz | dugword: roast | 18:53 | |
18:56
bwisti joined
|
|||
dugword | I can write some, there were none for the host:port uri parsing. And that was one of the bugs I fixed | 18:58 | |
19:00
shayan_ joined
|
|||
notviki | There seem to be some in github.com/perl6/roast/blob/master...read.t#L33 only IPv4 though | 19:00 | |
dugword | yup, sorry. There are none for the IPv6, and that functionality was broken | 19:03 | |
lizmat | dugword: $ perl6 t/spec/S32-io/socket-accept-and-working-threads.t | 19:07 | |
1..10 | |||
Failed to connect: connection refused | |||
in block <unit> at t/spec/S32-io/socket-accept-and-working-threads.t line 31 | |||
dugword: could be a MacOS specific issue ? | 19:08 | ||
dugword | I don't see that test in my repo | 19:11 | |
notviki | dugword: repo of what Rakudo? | ||
run make spectest and it'll clone it (or if you plan on writing tests, checkout your fork into t/spec) | |||
fork of roast | 19:12 | ||
github.com/perl6/roast | |||
dugword | I have roast in t/spec | ||
19:12
pierre_ joined
|
|||
dugword | I don't see 'socket-accept-and-working-threads.t' in S32-io | 19:12 | |
Oh, it's in master | |||
I was in 6.c-errata} | |||
That test passes for me | 19:13 | ||
make t/spec/S32-io/socket-accept-and-working-threads.t | 19:14 | ||
rm -f -- perl6 | |||
cp -- perl6-m perl6 | |||
chmod -- 755 perl6 | |||
/usr/local/Cellar/perl/5.24.0_1/bin/perl t/harness5 --fudge --moar --keep-exit-code --verbosity=1 t/spec/S32-io/socket-accept-and-working-threads.t | |||
t/spec/S32-io/socket-accept-and-working-threads.t .. | |||
1..10 | |||
ok 1 - Server responded (0) | |||
ok 2 - Server responded (1) | |||
ok 3 - Server responded (2) | |||
notviki | /o\ | ||
dugword | ok 4 - Server responded (3) | ||
ok 5 - Server responded (4) | |||
ok 6 - Started work was completed (0) | |||
ok 7 - Started work was completed (1) | |||
ok 8 - Started work was completed (2) | |||
ok 9 - Started work was completed (3) | |||
ok 10 - Started work was completed (4) | |||
ok | |||
All tests successful. | |||
Files=1, Tests=10, 2 wallclock secs ( 0.03 usr 0.01 sys + 1.71 cusr 0.89 csys = 2.64 CPU) | |||
Result: PASS | |||
notviki builds a copy too, to check | 19:15 | ||
19:16
pierre_ left
|
|||
RabidGravy | is this good? It looks good | 19:23 | |
notviki | Reproed | ||
notviki looks why it fails | |||
19:25
Tonik left
19:27
zakharyas left
|
|||
notviki | Aha, found it | 19:28 | |
19:28
aindilis left
|
|||
notviki rebuilds and runs stresstest | 19:30 | ||
dugword | What is it? | 19:31 | |
notviki | You made :$localhost required, but it wasn't before, so in that test .new() fails to find the candidate to call and fails, and because we let that start block ignore exceptions it doesn't throw and tries to listen to a sock that failed to get created | 19:33 | |
well | 19:34 | ||
masak | all I heard was "...ignore exceptions..." o.O | ||
notviki | dugword: well, that's one issue. Still fails. | 19:35 | |
notviki looks harder | |||
still fails for the same reason, umm, why doesn't it like the candidate tho | 19:36 | ||
19:38
pyrimidine left,
pyrimidine joined
|
|||
notviki | ah lol | 19:40 | |
of course! | |||
It doesn't like the :D | 19:41 | ||
notviki snickers | |||
19:43
thundergnat left
|
|||
notviki | OK. Now it gets stuck :P | 19:44 | |
notviki looks harder | |||
dugword | :$localhost previously worked if it wasn't defined and it would listen on a random port, just like if you pass port 0. Do we need to preserve that behavior? And the :D on :$localhost? | ||
(Or I think that is what it was doing) | |||
RabidGravy | For a listener you can't require localhost | 19:46 | |
19:47
shayan_ left
|
|||
dugword | Why is that? | 19:48 | |
19:48
Tonik joined
|
|||
RabidGravy | because a listener may want to listen on all interfaces on all families | 19:50 | |
so not specifying right now gives you both v6 and v4 if available | 19:51 | ||
if you specify 0.0.0.0 you only get v4 | 19:53 | ||
unless there's something in this that "fixes" that | 19:54 | ||
dugword | I see | ||
notviki | We do specify that: github.com/rakudo/rakudo/blob/nom/...NET.pm#L75 | ||
19:54
bjz joined
|
|||
RabidGravy | ok that's odd then | 19:55 | |
maybe magic ip stack trick | 19:56 | ||
19:57
Wanderer68 left
|
|||
notviki | m: Str.split(":", 2) | 19:58 | |
camelia | rakudo-moar 29b5ea: OUTPUT«Cannot resolve caller split(Str: Str, Int); none of these signatures match: (Str:D $: Regex:D $pat, $limit is copy = Inf;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_) (Str:D $: Cool $match;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *%_)…» | ||
notviki | weird | 19:59 | |
seems to hang on that ^ | |||
RabidGravy | yeah I've seen some surprising resolution things in the last few days | 20:00 | |
20:00
claytonrowe joined
|
|||
RabidGravy | couldn't find anything obviou | 20:00 | |
20:00
Gasher left
|
|||
notviki | oh | 20:01 | |
not weird at all | |||
RabidGravy | oh that one isn't surprising | ||
20:01
brrt joined
|
|||
notviki | dugword: so one issue is Str:D :$localhost! needs to be Str :$localhost | 20:02 | |
dugword: and the other issue is then you pass undefined args to split-host-port/v4-split and it throws because it can't resolve, for example, split on a :U stringf | 20:03 | ||
AlexDaniel | hey, um… I have a qustion | ||
m: dd ‘aaa bbb ccc’.split(‘ ’, 2) | |||
camelia | rakudo-moar 29b5ea: OUTPUT«("aaa", "bbb ccc").Seq» | ||
AlexDaniel | so it just takes the first element and puts the rest as a second one, right? | ||
notviki | dugword: I don't know why the test passes for you, are you sure you correctly built your perl6? | ||
AlexDaniel | so, if this is like this: | 20:04 | |
m: dd ‘aaa bbb ccc’.split(‘’) | |||
camelia | rakudo-moar 29b5ea: OUTPUT«("", "a", "a", "a", " ", "b", "b", "b", " ", "c", "c", "c", "")» | ||
RabidGravy | AlexDaniel, yes that is my understanding | ||
AlexDaniel | and this is like this: | ||
m: dd ‘aaa bbb ccc’.split(‘’, 2) | |||
camelia | rakudo-moar 29b5ea: OUTPUT«("", "aaa bbb ccc").Seq» | ||
masak | from rosettacode.org/wiki/Y_combinator#Perl_6 -- "Note that Perl 6 doesn't actually need a Y combinator because you can name anonymous functions from the inside" -- with all due respect, but that's kind of missing the point about the Y combinator ;) | ||
AlexDaniel | then why is this like this? | ||
m: dd ‘aaa bbb ccc’.split(‘’, 1) | |||
camelia | rakudo-moar 29b5ea: OUTPUT«("aaa bbb ccc",)» | ||
AlexDaniel | oh, because it gets merged | ||
ok, no question, thanks | 20:05 | ||
notviki | What do you mean merged? | 20:06 | |
AlexDaniel | nevermind, it was a bug in my head | ||
notviki | So why is it the original string and not ""? | ||
dugword | Thanks Not viki, I'll take a look at my build. Very likely I am not doing something right... | 20:07 | |
AlexDaniel | notviki: huh? | 20:08 | |
notviki | dugword: here's my alias for building it: build-rakudo is aliased to `perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install' | ||
20:08
brrt2 joined
|
|||
notviki | .... | 20:09 | |
dugword | would v4-split not have been throwing before? I don't think I changed that function | ||
notviki | dugword: you didn't but you're passing undefined arguments and old code doesn't | ||
AlexDaniel: why is the first item in the result changes when you set a different limit | |||
AlexDaniel | notviki: because when you ask for 1 item only it will attempt to shove in the whole string into it | 20:11 | |
notviki: so the empty string kind of disappears | |||
notviki | ok | ||
20:11
brrt left
20:13
pierre_ joined
|
|||
claytonrowe | Hello everyone, I'm interested in learning and eventually contributing to perl 6. You guys have any projects for a bored undergrad student to work on? I'm new to this IRC so let me know if there is a more appropriate forum to ask this question at. | 20:14 | |
AlexDaniel | huggable: wanted | 20:15 | |
huggable | AlexDaniel, nothing found | ||
psch | claytonrowe: you are in the right place. docs.perl6.org is a start, and rt.perl.org has the perl6 bug tracker queue | ||
moritz | claytonrowe: welcome to #perl6. What aspects are you interested in? | ||
claytonrowe: compiler development? modules? docs? tests? | |||
AlexDaniel | huggable: wanted :is: github.com/perl6/perl6-most-wanted...ost-wanted | ||
huggable | AlexDaniel, Added wanted as github.com/perl6/perl6-most-wanted...ost-wanted | ||
moritz | some specific areas like Unicode, IO, garbage collection, OO, anything? | 20:16 | |
claytonrowe | Ummmm... my background is in bioinformatics but I'm open to just about anything | ||
AlexDaniel | or… IRC bots maybe? :) | ||
psch | obviously that calls for jvm runtime bytecode generation... :) | ||
moritz afk for a while; will try to give better advice when I'm back | |||
psch | ++moritz | ||
AlexDaniel | claytonrowe: also, sometimes just using perl 6 for your own projects and reporting bugs is very helpful | 20:17 | |
lizmat | AlexDaniel: s/sometimes// | ||
psch | claytonrowe: in all honesty, i'd suggest reading existing documentation issues (at github.com/perl6/doc/issues) and try and figure out if you can fix any | ||
lizmat | :-) | ||
psch | claytonrowe: as in, have an idea that you want to try and PR | 20:18 | |
AlexDaniel | buggable: LHF | ||
buggable: tag LHF | |||
buggable | AlexDaniel, There are no tickets tagged with LHF | ||
AlexDaniel | awww | ||
claytonrowe | I'll take a look at the most wanted webpage and the bug tracker | ||
20:18
pierre_ left
|
|||
RabidGravy | and you know the 25,000 modules that people think we need to be successfull ;-) | 20:18 | |
notviki | claytonrowe: alternate viewer for the bug tracker: perl6.fail | 20:19 | |
claytonrowe | Also, I'll think of a more specific project domain and come back. | ||
psch | claytonrowe: well, you *can* just hang around here honestly :) | ||
that's usually at least a little conductive to learning the language i find | |||
RabidGravy | and finding out what people are really thinking ;-) | 20:20 | |
psch rejects thoroughly rejects the accusation of thinking | |||
-typos vOv | |||
AlexDaniel will take it as a compliment | 20:21 | ||
claytonrowe | Thanks guys, yall seem like a super friendly community. | ||
notviki isn't friendly | |||
RabidGravy | we only play friendly on tv | ||
notviki wonders if claytonrowe is a student of Ken Youens-Clark | 20:22 | ||
claytonrowe | Nope not a student of Ken Youens-Clark. I go to the University of North Texas. | ||
notviki | Ah. He's at Uof Arizona. And I know he was showing his bioinformatics student some perl 6 :) | 20:24 | |
claytonrowe | Hey! just googled him and found a metagenomics book from him. I'll check it out | ||
notviki | :) | 20:25 | |
20:25
dataf3l joined
20:27
dataf3l left
|
|||
lizmat | claytonrowe: p6weekly.wordpress.com # another way to keep up to date | 20:29 | |
20:30
pierre_ joined
20:32
zakharyas joined
20:33
tojo joined
20:34
brrt2 left
20:42
Ven_ left
20:44
Ven joined
20:57
Ven left
|
|||
ugexe | kalkin-_: neither perl6 nor zef intend to map a module's *identity* to its source code. you do this inside the META6.json of your module, thats it | 20:57 | |
again, zef doesn't just 'only parse the latest version from git:HEAD:./META6.json' | 20:58 | ||
give it a .tar.gz of a specific version instead if thats what you want to do, don't give it a link to your git master | |||
and again: see how tbrowder is handling versioning using the current p6 ecosysstem github.com/perl6/ecosystem/blob/ma...#L731-L732 | 21:00 | ||
21:03
Ven joined
21:04
dugword left
21:06
bjz left
21:07
tojo left
21:09
nebuchadnezzar left
21:10
nebuchadnezzar joined
21:13
Ven left
|
|||
lucs | Am I right in thinking that quoted strings on the LHS of s/.../.../ can only use ' or ", and not qq and friends? | 21:14 | |
ugexe | m: say "foo" ~~ s/foo/bar/ | 21:15 | |
camelia | rakudo-moar 29b5ea: OUTPUT«Cannot modify an immutable Str in block <unit> at <tmp> line 1» | ||
lucs | m: my $s = 'abc'; $s ~~ s/ q{b} /B/; | 21:17 | |
camelia | rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: b used at line 1» | ||
lucs | I'll take that as a 'yes'. | 21:19 | |
21:19
shayan_ joined,
kalkin-_ left
21:20
kalkin- joined
|
|||
ugexe | well you cant do this either | 21:20 | |
m: say "abq{c}" | |||
camelia | rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: c used at line 1» | ||
psch | in detail, s/// uses Q and doesn't support :b as adverb to allow the \q escape hatch | 21:21 | |
+"on the pattern" | |||
m: say Q/\qq{\c[SNOWMAN]}/; say Q:b/\qq{\c[SNOWMAN]}/ | 21:22 | ||
camelia | rakudo-moar 29b5ea: OUTPUT«\qq{\c[SNOWMAN]}☃» | ||
psch | m: $_ = "foo"; say s/\qq[foo]/bar/ | ||
camelia | rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized backslash sequence: '\q'at <tmp>:1------> 3$_ = "foo"; say s/\7⏏5qq[foo]/bar/» | ||
psch | m: $_ = "foo"; say s:b/\qq[foo]/bar/ | ||
camelia | rakudo-moar 29b5ea: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized backslash sequence: '\q'at <tmp>:1------> 3$_ = "foo"; say s:b/\7⏏5qq[foo]/bar/» | ||
psch | ...actually that's "and here's why you can't use that other trick that works in similar situation", and not just a detail | 21:23 | |
kalkin- | ugexe: I see. Thank you for your explanation, but this way it's very cumbersome to maintain multiple versions. | ||
ugexe | yes, but thats because the p6 ecosystem was not intended to be a permanent solution. things like CPAN will be able to do things like automatically add a source-url (a non-spec) to whatever you upload | 21:24 | |
kalkin- | This also makes versioning dependencies hard if the dependency provider doesn't take care of it | 21:25 | |
ugexe | i dont understand how that makes it harder | ||
you depends on "Some::Module:ver<foo>" - its up to the recommendation managers (p6 ecosystem, cpan, or a combination) to resolve that into the download urls | 21:26 | ||
kalkin- | ugexe: well say you are using semantic versioning. you depend on v1.* of your library. The author publishes version 2.0, if he doesn't think about making a PR to the ecosystem, you are screwed | ||
psch | m: say v2 ~~ v1.* | 21:27 | |
camelia | rakudo-moar 29b5ea: OUTPUT«False» | ||
psch | kalkin-: you'd still get v1.* from the ecosystem..? | ||
ugexe | well thats how packaging works. `apt-get` doesn't automatically know every 3rd party mirror for instance - the user has to add those things | 21:28 | |
psch | ...actually no, i'm wrong, please disregard | ||
kalkin- | ohh so basically i need my own recomendation manager which is smart enough given some a git url as source-url to find in some custom way (i.e. through tags) all the existing versions? | ||
moritz | claytonrowe: do you think you have a way forward now, re learning / contributing to Perl 6? | ||
psch | afaiu the META6.json just has to be updated, which isn't in the ecosystem | ||
ugexe | no. first you need to quit thinking of the perl6 ecosystem as a solution instead of a temporary thing that is holding us up for now | 21:29 | |
kalkin- | k | ||
ugexe | tbrowder examples show how it *can* work, but as you see its not ideal | ||
mst | the current ecosystem stuff is very much a "simplest thing that can possibly work" bootstrap hack | 21:30 | |
ugexe | when you upload a module to CPAN it can add its own URL. cpan doesnt need to know how to clone anything from git because you're supposed to upload the actual distribution | ||
kalkin- | So what shall be done? What is the desired state? | ||
mst | (and I do not mean that as a criticism, if we'd tried to design something proper straight off, it wouldn't've worked anyway) | ||
kalkin- | I get the feeling that I only see a part of the problem | ||
ugexe | you're seeing a problem with something that we're going to throw away eventually because precisely because it has problems | 21:31 | |
geekosaur | I think the point is that nobody can see more than a part of the problem; the ecosystem needs to evolve into a usable shape, it is evolving, nobody yet knows where it will end up because that will be shaped by what is actually needed | 21:32 | |
21:33
Wanderer68 joined
|
|||
geekosaur | and it's not the kind of problem where you can guess the end result beforehand, except in very broad/vague terms | 21:33 | |
ugexe | fwiw I can see the entire problem as well as the solution | ||
moritz | ugexe: then you should write up your envisioned solution somewhere, if you haven't done so already | 21:35 | |
21:35
Wanderer68 left
|
|||
ugexe | we've had these discussions in #perl6-toolchain | 21:36 | |
moritz | and is there a consensus? | ||
ugexe | the only thing i'm aware of that is up in the air is how to handle the difference between the perl6 concept of `auth` and CPAN's author | 21:38 | |
psch | wouldn't CPAN be one :auth in our world? | ||
ugexe | no | 21:39 | |
:auth doesn't imply anything, although a reccomendation manager could choose to only allow auth's it could verify | |||
psch | okay. i always understood it as "authority", in a "takes responsibility to provide it" | ||
ugexe | but if i upload Foo::Bar:auth<github:ugexe> to cpan it is still Foo::Bar:auth<github:ugexe> | ||
psch | ahh, so it's more like "where's the authorative version" | 21:40 | |
...in a way | |||
ugexe | authority really means the 'original' | ||
yeah its just another name-part for uniqueness | |||
TimToady has commented that :auth<email@address.com> is probably the best form of auth because it takes some of the confusion around treating it as a source of something away | 21:42 | ||
kalkin- | so how do i proceed now if I want this version recommendation feature and I don't want to hack zef and maintain a my own fork of it? | 21:45 | |
Also you all are talking about ecosystem is just provisory, it should be more like CPAN, for me both look like "just" a webfrontend, like pypy or cargo. What am I missing? | 21:46 | ||
21:46
pierre__ joined
|
|||
ugexe | tbrowders example does not use multiple forks | 21:48 | |
RabidGravy | CPAN is a network of mirrors, indexing and so forth, the web front end is a tiny part | ||
21:49
hartenfels left,
pierre_ left
|
|||
kalkin- | so the plan is to make perl6 in some way compatible with the original CPAN? | 21:50 | |
ugexe | kalkin-: irclog.perlgeek.de/perl6-toolchain...i_13363041 here is where i explained how to do multiple versions in the ecosystem | ||
21:50
pyrimidine left,
pyrimidine joined
|
|||
kalkin- | ugexe thanks | 21:51 | |
pmurias | is how the Foo is chosen in 'use Foo' figured out? | ||
what I mean is how is a short name without an auth mapped to one with an auth | 21:52 | ||
ugexe | technically thats up to the CompUnit::Repository | ||
RabidGravy | selecting for auth and ver works fine though | 21:53 | |
ugexe | a short name without an auth simply searches without looking at the auth | ||
pmurias | so if there are two modules what will happen? | 21:55 | |
RabidGravy | it may well load the wrong one | ||
21:55
labster joined
21:56
zakharyas left
|
|||
RabidGravy | which is why e.g. HTTP::Server::Async and HTTP::UserAgent load HTTP::Request with an explicot auth | 21:57 | |
ugexe | irclog.perlgeek.de/perl6-toolchain...i_13727142 Here is a recent discussion where i brought up concerns with :auth (which I brought up due to the just mentioned HTTP::UserAgent bit) | ||
21:59
bjz joined
|
|||
RabidGravy | but then you get into a name registry game | 21:59 | |
kalkin- | why don't we just use pgp keys in auth? (SCNR) | 22:00 | |
ugexe | i dont see how. you still have auth, i just propose the way it resolves what to use be ordered differently | ||
because without pgp installed its just some string like the current auth | 22:01 | ||
RabidGravy | but the argument seems to be from nine that using auth to solve that is a bad thing | ||
ugexe | RabidGravy: click 'next day' | ||
i think he agrees with that now | |||
kalkin- | ugexe: i would say it's a windows problem, but I suspect #perl6 wouldn't agree with me :) | 22:02 | |
RabidGravy | I'm not going to forever backlog toolchain, it needs summaries | 22:03 | |
22:03
FROGGS left
|
|||
ugexe | each day is like 10-20 lines. its basically already summarized | 22:04 | |
22:09
pierre__ left,
RabidGravy left
|
|||
toolforger | moritz, thanks for the invite - very much appreciated | 22:11 | |
22:13
shayan_ left,
dugword joined
|
|||
moritz | toolforger: you're welcome | 22:14 | |
22:16
Ven joined
|
|||
masak | now with Y combinator explanation: gist.github.com/masak/8e082999e06b...2899bbcde5 | 22:18 | |
pretty happy with how it turned out. | |||
22:21
Ven left
|
|||
toolforger | reading up | 22:22 | |
turns out that understanding lambda calculus requires that you grok higher-order functions | |||
22:23
TEttinger joined
|
|||
masak | when all you have is a s/hammer/function/... :P | 22:23 | |
toolforger | lol | 22:25 | |
btw did you grok the fixed-point idea behind the Y combinator? | |||
geekosaur | pretty much :) | ||
masak | toolforger: yes; was tempted to mention it | 22:26 | |
might still weave it in somewhere | |||
toolforger | I think it's worth expounding in a separate gist | ||
TMI after all | |||
masak | the fixed-point idea is what I'm hinting at with my "limit" reasoning and Church aleph-null | ||
oh, this gist is already far too much -- no sense in holding back now :P | 22:27 | ||
toolforger | Ah, you didn't grok fixed points | ||
;-P | |||
masak | I'll see what I can do. you're right that fixpoints are worth mentioning | ||
toolforger | taking the fixed point of a function is a combinator | ||
masak | ...makes sense | ||
I tend to think of it as a functor :P | 22:28 | ||
toolforger | I think functor = combinator | ||
geekosaur | but "functor" is rather overloaded when it comes to computer languages | ||
toolforger | both take functions and return functions | ||
geekosaur | SML, Haskell, and C++ all have "functors" --- each defined differently | ||
toolforger | well, you can't evade overloaded terminology in CS :-D | ||
masak | ah, no. CT's functor is what I meant. | ||
which maps between categories. | 22:29 | ||
geekosaur | yeh, I;m just saying there is reason to avoid dragging the term in at all | ||
toolforger | anyway - the definition of a fixed point is nonconstructive | ||
i.e. the definition does not do recursion | |||
geekosaur | (and of those three, only Haskell's comes close to the CT definition, and it's still not the same --- it's a CT *endofunctor* | ||
masak | toolforger: will look into that some more -- thanks for the tip | ||
toolforger | that's how you define recursion without having to trace actual execution semantics | ||
which is pretty awesome | |||
geekosaur | specifically on the category Hask) | ||
masak | geekosaur: ah, yes; endofunctor is what I meant to say :) | ||
toolforger | e.g. try to define equality | 22:30 | |
22:30
shayan_ joined
|
|||
pmurias | masak: is the initial claim that all computations can be represented by the applications and abstractions audacious? | 22:30 | |
geekosaur | if you're starting from zero, it is | 22:31 | |
toolforger | it's recursive, so you need a fixed point | ||
22:31
curt_ joined
|
|||
toolforger | so you can have reference equality, value equality, or abstract away representation when doing equality, and it's still all consistent unless you start mixing up definitions | 22:32 | |
geekosaur | ...but in a sense it's a different way of looking at the core of number theory, and if you're aware of Turing equivalence then you can approach it from that angle as well | 22:33 | |
toolforger | ? | ||
geekosaur | response to pmurias | ||
toolforger | ah ok | 22:34 | |
geekosaur | sorry | ||
toolforger | np | ||
22:34
pyrimidine left
|
|||
toolforger | I agree that the initial claim is audacious, but it's also justified so it isn't audacious after all | 22:34 | |
22:35
pyrimidine joined
|
|||
geekosaur | a fair chunk of the middle of _Gödel, Escher, Bach_ is dedicated to proving that claim, actually (take another look at TNT) | 22:35 | |
toolforger | GEB was both an eye-opener and disappointing to me | 22:36 | |
22:36
petrutrimbitas left
|
|||
masak | pmurias: I think so. | 22:36 | |
toolforger | the Gödel part is sound, but the idea that intuition is somehow linked to self-referentiality is pretty hilarious | 22:37 | |
masak | pmurias: it's easier for me to swallow that a Turing machine can emulate all computations than that the symbol games of lambda calculus can. | ||
'night, #perl6 | |||
toolforger | seeya | ||
geekosaur | toolforger, the funny part about GEB is that Hofstadter was using math in an argumnt in modern philosophy. which is ... kinda screwy from the start | ||
toolforger would like modern philosophers to have a better understanding of math and science | 22:38 | ||
geekosaur | philosophy and math parted ways centuries ago, and modern philosophy in particular hasn't looked back | ||
toolforger | it should | ||
not because it's math, but because it's a yardstick that can evaluate the validity of some arguments | 22:39 | ||
so if a philosopher does not know math, he won't know when he's talking nonsense that any mathematician will be able to refute | 22:40 | ||
Physics would usually be more relevant, as would be statistics, psychology, sociology | 22:42 | ||
22:42
shayan_ left
|
|||
geekosaur | sadly, I have the impression that modern philosophy is proud of not polluting its purity with such trivialities | 22:43 | |
toolforger | That's unwise, so that kind of philosophy isn't philosophical at all | 22:44 | |
("philosophia" = "love of wisdom", I hear) | |||
geekosaur | (which is why I find GEB so odd) | ||
toolforger | off to bed - seeya! | 22:45 | |
22:46
toolforger left
22:47
newbie1 joined
|
|||
geekosaur | probably for the best... first argument there would be with the ancient Greeks, for whom natural philosophy (which begat science and math) was only one of many options | 22:50 | |
22:52
shayan_ joined
23:02
shayan_ left
23:10
shayan_ joined
23:16
Tonik left
23:19
bjz left
23:21
bjz joined
23:28
shayan_ left
23:35
BenGoldberg joined
|
|||
BenGoldberg | Happy New Year! | 23:36 | |
23:37
jabowery joined
|
|||
samcv | good morning o/ | 23:38 | |
23:39
pmurias left
|
|||
notviki | HNY | 23:40 | |
23:41
newbie1 left
23:42
newbie1 joined,
newbie1 left
23:43
newbie1 joined
|
|||
samcv | only 1.1GB left on my hd | 23:43 | |
curt_ | notviki: I figured out how to make others call my eqv(), 'add_dispatchee()' to the CORE infix:<eqv> -- CORE::<&infix:<eqv>>.add_dispatchee(multi sub infix:<eqv>(MyObj $l, MyObj $r --> Bool) { say "Comparing MyObj"; return True; }); | 23:54 | |
samcv | notviki, this isn't a bug right rt.perl.org/Ticket/Display.html?id...da9e632597 ? | 23:55 | |
notviki | curt_++ cool. Thanks for telling me! | ||
samcv | using the ... yada operator is not going to return a sequence and going to compute all values. | ||
23:56
shayan_ joined,
cibs left
23:58
cibs joined
|