»ö« 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. |
|||
Xliff | CRAP | 00:02 | |
I knew there was a reason I wasn't working on that module. | |||
There was a recent change in rakudo (end of summer, maybe) that introduced that. | |||
It wasn't there in July, and the XML::LibXML codebase used it extensively. | 00:03 | ||
MasterDuke | btw, don't know if you just typed something wrong, but the line i commented out was "use XML::LibXML::CStructs;" without the ":types" | 00:04 | |
(obviously who cares if it's commented out, but just in case you're on a branch or something" | |||
00:05
raiph left
|
|||
Xliff | OK. | 00:05 | |
in XML::LibXML dir, "git checkout -b 15nodelist" | |||
Then pull new changes. | 00:06 | ||
00:06
giraffe left
|
|||
MasterDuke | ===SORRY!=== Expected MAST::Frame, but didn't get one | 00:07 | |
Xliff | YES!! | ||
Er.... Um... | |||
Youknowwhuddimean | |||
So, there could be something screwy with either the XML::LibXML codebase or XML::XSLT | 00:08 | ||
I just don't know. | |||
and XML::LibXML needs serious overhaul due to bitrot | |||
00:13
espadrine left
00:17
pmurias left
|
|||
MasterDuke | Xliff: well, so far golfed it to this: gist.github.com/MasterDuke17/a2c8e...5c90220441 | 00:21 | |
maxp_ | is there some kind of problems about capturing groups and ratchet adverbs? | 00:23 | |
I've this:"<ciao>mamma</ciao>" ~~ /:r '<' (<[\w\W]>+?) '>'/ | 00:24 | ||
and I expect the word "ciao" but it returns nil | |||
whitout parentesis it works | 00:25 | ||
AlexDaniel | bisect: "<ciao>mamma</ciao>" ~~ /:r '<' (<[\w\W]>+?) '>'/ | 00:26 | |
bisectable6 | AlexDaniel, On both starting points (old=2015.12 new=29b228c) the exit code is 0 and the output is identical as well | ||
AlexDaniel, Output on both points: | |||
AlexDaniel | ah, right | ||
ok this is the simplified version | 00:27 | ||
m: "<ciao>mamma</ciao>" ~~ /:r '<' (.+?) '>'/ | |||
camelia | ( no output ) | ||
00:27
giraffe joined
|
|||
MasterDuke | Xliff: actually, you can even remove "use XML::LibXML::Parser;", but you do still need to include "p6-XML-LibXML/lib/" in your -I | 00:27 | |
AlexDaniel | m: say "<ciao>mamma</ciao>" ~~ /:r '<' (.+?) '>'/ | ||
camelia | rakudo-moar 29b228: OUTPUT«Nil» | ||
AlexDaniel | m: say "<ciao>mamma</ciao>" ~~ /:r '<' .+? '>'/ | ||
camelia | rakudo-moar 29b228: OUTPUT«「<ciao>」» | ||
AlexDaniel | in fact, it does not have to capture | 00:28 | |
m: say "<ciao>mamma</ciao>" ~~ /:r '<' [.+?] '>'/ | |||
camelia | rakudo-moar 29b228: OUTPUT«「<ciao>」» | ||
AlexDaniel | I think this is part of RT #130117 ? | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130117 | ||
MasterDuke | maybe rt.perl.org/Ticket/Display.html?id=123934 also | 00:29 | |
Xliff | Huh! | ||
AlexDaniel | maxp_: while there is probably a bug, I think it is wrong to expect <ciao> here | 00:30 | |
Xliff | MasterDuke: So it is something in XML::XSLT::Subs | ||
maxp_ | ok thanks | ||
AlexDaniel | m: say "<ciao>mamma</ciao>" ~~ /:r '<' (<-[>]>+) '>'/ | ||
camelia | rakudo-moar 29b228: OUTPUT«「<ciao>」 0 => 「ciao」» | ||
AlexDaniel | maxp_: ↑ that's how you get it :) | ||
Xliff | Because I have the 2 sub definitions commented out in my current version. | ||
maxp_ | ok thanks again | ||
Xliff | And most of XML::XSLT::Subs is commented out as well. | 00:31 | |
At least here | |||
samcv | more uniprops work in new PR :) will have 'Name' 'Titlecase_Mapping' 'Lowercase_Mapping' 'Uppercase_Mapping' and 'Numeric_Value' working | ||
i think something has to happen in Moar though for Name1 the unicode version 1 name to work though, and probably a bunch of other ones | |||
there's a lot of properties | |||
MasterDuke | Xliff: MAST::Frame errors may be above my paygrade, but at least it's been golfed a bit | 00:32 | |
Xliff | Yes. Thank you so much for looking into it, MasterDuke++ | 00:33 | |
So it looks like it is something with XML::LibXML and XML::XSLT | |||
But now I am more leaning toward XML::LibXML | |||
Which... again... bitrot | 00:34 | ||
*sigh* | |||
00:37
maxp_ left
|
|||
Xliff | Yup. After that bit of code culling, it looks like it is XML::LibXML and not anything with XML::XSLT at all! | 00:37 | |
wow | |||
00:38
cfa left
00:43
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:57
BenGoldberg joined
00:58
aborazmeh left
01:00
captain-adequate left
01:04
canopus left
|
|||
samcv | ok so there are unicode properties to find the matching bracket Bidi_Paired_Bracket is the thing | 01:07 | |
and atm it isn't supported by MoarVM or rakudo | |||
also: | |||
For legacy reasons, the characters U+FD3E ORNATE LEFT PARENTHESIS and | |||
# U+FD3F ORNATE RIGHT PARENTHESIS do not mirror in bidirectional display | |||
# and therefore do not form a bracket pair. | |||
also idk if that means we should remove it from our list. but i think it was used in 6.c ... | 01:08 | ||
but i doubt anybody has actually used it | |||
AlexDaniel | u: U+FD3F | ||
unicodable6 | AlexDaniel, U+FD3F ORNATE RIGHT PARENTHESIS [Ps] (﴿) | ||
samcv | and there's a bracket property where you can find out if it's open or close | ||
phatbot | u: U+FD3E | ||
unicodable6 | phatbot, U+FD3E ORNATE LEFT PARENTHESIS [Pe] (﴾) | ||
samcv | ftp://ftp.unicode.org/Public/UNIDATA/BidiBrackets.txt this is the file | 01:09 | |
let me check 6.c tests... | |||
i remember it faliing when i switched the order of the ornate pars in nqp | |||
AlexDaniel | commit: all say Q﴾hello﴿ | ||
committable6 | AlexDaniel, gist.github.com/ae5fddbcc12cba4451...0e14842b7a | 01:10 | |
AlexDaniel | hehehe | ||
samcv | :( | ||
i think we should really only support that list i linked to... | 01:11 | ||
let me check roast though | |||
01:12
canopus joined
|
|||
samcv | yeah.. it's in roast | 01:12 | |
phatbot | Then it'd have to wait until 6.d | 01:13 | |
huggable: 6.d | |||
huggable | phatbot, Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod | ||
phatbot | ^ stick it in there, if it's worth it. | ||
samcv | u: “ | 01:14 | |
unicodable6 | samcv, U+201C LEFT DOUBLE QUOTATION MARK [Pi] (“) | ||
AlexDaniel | it's something to think about | ||
samcv | yeah | ||
the quotation marks aren't listed in that unicode properties but also weird that the closing and opening don't match for those ornate parens either | 01:15 | ||
SmokeMachine | I used my class (that instantiated a singleton) on a module, then I used the same class on my main program and tried to use the singleton... it got a different object... how should I do that? | 01:17 | |
phatbot | No idea | 01:21 | |
phatbot frequently reaches to .try | |||
Anyone else the same? | |||
'fasdfsd'.EVAL.try; .... | |||
probably doesn't make any sense :} | |||
01:24
mawkish_ left
|
|||
samcv | and we will def need the BIDI mirrored glyphs thing if we want to do RTL text well | 01:28 | |
i'm looking up what it would take to support the Unicode Bidirectional spec | |||
samcv puts on her heavy duty gear for reading this spec | 01:29 | ||
01:29
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
samcv | there's a BIDI unicode spec test included with unicode sa well... so someday would be good if we can pass it | 01:29 | |
phatbot | www.youtube.com/watch?v=LNKocMiehZA | 01:30 | |
samcv | i think the spec is most important for DISPLAYING RTL text.. but I will see what we need in all of our levels to support that kind of thing | 01:31 | |
01:32
unicodable6 left
|
|||
samcv | but we need to have some way in perl 6 to be able to figure out the order such characters should be displayed in | 01:32 | |
However, because these right-to-left scripts use digits that are written from left to right, the text is actually bidirectional | |||
01:32
unicodable6 joined
|
|||
samcv | lots to consider | 01:32 | |
[Coke] | docs - should the perl5-style USAGEs in docs follow the 'space after comma' rule? | 01:34 | |
01:35
unicodable6 left
|
|||
phatbot | Yes, but I'm biased since I always write that way :D | 01:35 | |
01:35
unicodable6 joined
|
|||
AlexDaniel | what should whateverables do when gisting something that contains control characters? | 01:36 | |
dalek | c: 7dafc5f | coke++ | xt/words.pws: learn new function param names |
01:38 | |
AlexDaniel | MasterDuke: ↑ ? | 01:40 | |
01:40
pyrimidine joined
01:43
aindilis left
01:44
pyrimidine left
|
|||
samcv | ok 'Bidi_Mirroring_Glyph', atm nqp::getuniprop_str returns a string, which is the hex codepoint of the mirrored glyph | 01:45 | |
i'm thinking probably Moar is storing it as a string not a number? | |||
how do we want this to work? have nqp::getuniprop_int return the number of the codepoint? | |||
01:46
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'learn new function param names' | 01:46 | |
travis-ci.org/perl6/doc/builds/183459374 github.com/perl6/doc/compare/a4292...afc5f0000f | |||
01:46
travis-ci left
|
|||
dalek | c: c23878a | coke++ | doc/Language/5to6-perlfunc.pod6: prefer space after comma |
01:49 | |
synopsebot6 | Link: doc.perl6.org/language/5to6-perlfunc | ||
01:51
skids joined
01:53
sufrostico left
01:57
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'prefer space after comma' | 01:57 | |
travis-ci.org/perl6/doc/builds/183461255 github.com/perl6/doc/compare/7dafc...3878a5be8d | |||
01:57
travis-ci left
01:59
aborazmeh left
02:04
dataangel joined,
kalkin- left,
kalkin-_ joined
02:18
rpburkholder joined,
gfldex left
02:19
gfldex joined,
rburkholder left
02:29
loveperl joined,
rpburkholder left
|
|||
loveperl | How to know the name of a class? | 02:30 | |
SmokeMachine | there are 2 different modules in memory when I load it at compile time and I load it at run time? | ||
m: say 42.^name | |||
camelia | rakudo-moar 29b228: OUTPUT«Int» | ||
AlexDaniel | m: say 42.HOW | 02:31 | |
camelia | rakudo-moar 29b228: OUTPUT«Perl6::Metamodel::ClassHOW.new» | ||
loveperl | how? | ||
AlexDaniel | m: say 42.WHAT | ||
camelia | rakudo-moar 29b228: OUTPUT«(Int)» | ||
loveperl | ok tenk you | ||
tank you | |||
AlexDaniel | m: say 42.WHO | ||
camelia | rakudo-moar 6fc769: OUTPUT«Int» | ||
SmokeMachine | when I get a instance of a singleton inside of a trait_mod code, I get a object and when I get it on a regular code I get a different object... is that expected? | 02:33 | |
www.irccloud.com/pastebin/3zFvLdlH/ | 02:37 | ||
loveperl | What do you think of this syntax? | ||
if $saludo.WHO == Humano { say "hola humano"; } | |||
SmokeMachine | loveperl: try using the smartmatch... | 02:38 | |
m: if 42 ~~ Int { say "Hi Int" } | |||
camelia | rakudo-moar 6fc769: OUTPUT«Hi Int» | ||
AlexDaniel | loveperl: what are you trying to do? | ||
huggable: xy | |||
huggable | AlexDaniel, nothing found | ||
AlexDaniel | huggable: xy problem | 02:39 | |
huggable | AlexDaniel, You want to do X, but don't know how. You think you can solve it using Y, but don't know how to do that, either. So, you ask about Y in order to solve X, which doesn't make sense. You should ask about X. | ||
loveperl | I want to know if the name of the class is human? | 02:41 | |
? | 02:43 | ||
what? | 02:44 | ||
02:45
ilbot3 left
|
|||
SmokeMachine | but when I do that in the same "file" it gets the same object: | 02:45 | |
www.irccloud.com/pastebin/NK78LBlF/ | |||
AlexDaniel | loveperl: then do $saludo ~~ Humano | 02:46 | |
loveperl: note that this is not just checking the name (Y), it actually checks the class (X) | 02:47 | ||
02:47
wamba left
|
|||
SmokeMachine | AlexDaniel: do you know if thats expected? | 02:47 | |
02:47
ilbot3 joined
|
|||
dalek | c: 96761b2 | coke++ | xt/space-after-commma.t: Add xt test to insure space after comma. * Only checks non-code. * Has several exceptions for text already in docs/ Closes #666 |
02:48 | |
[Coke] | Still no feedback on github.com/perl6/doc/pull/1047 - fuzzy search. | ||
samcv | ok so to implement the Unicode Bidirectional Algorithm, that would look like: given a string, determine: | 02:49 | |
1: whether the paragraph direction is LTR, RTL or autoLTR | |||
AlexDaniel | [Coke]: bring it on! You'll get a bunch of feedback ;) | ||
samcv | 2: the embedding levels of the text (embedded rtl, ltr text etc) | ||
02:49
pyrimidine joined
|
|||
loveperl | AlexDaniel tank you | 02:50 | |
samcv | 3: being able to return a list of the mapping of characters in the string to indexs how they map | ||
like RTL text obviously the mappings would just be the opposite of from 1->length of string | |||
or 0 or however we start | 02:51 | ||
dalek | c/coke/levenshtein: ea1230a | coke++ | / (3 files): Allow fuzzy searching For #999 |
||
AlexDaniel | SmokeMachine: as always, it is a bit hard to tell if there's no simple example to reproduce the issue | ||
samcv | what is anybodies thoughts on this? | ||
what kind of perl 6 routines or whatever would be want to have access to this information | |||
SmokeMachine | There are! | 02:52 | |
www.irccloud.com/pastebin/3zFvLdlH/ | |||
www.irccloud.com/pastebin/NK78LBlF/ | |||
AlexDaniel | ahhh | ||
let's see… | |||
samcv | any thoughts on this AlexDaniel ? | ||
AlexDaniel | I feel like a rubber duck :) | 02:53 | |
02:53
loveperl left
|
|||
SmokeMachine | AlexDaniel: the first one is the problem, and the second is it working on the "same file"... | 02:53 | |
02:54
pyrimidine left
02:55
pyrimidine joined
|
|||
AlexDaniel | samcv: wait, what problem are you trying to solve? | 02:55 | |
samcv is unsure | |||
02:55
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'Add xt test to insure space after comma. | 02:55 | |
travis-ci.org/perl6/doc/builds/183470235 github.com/perl6/doc/compare/c2387...761b22094d | |||
02:55
travis-ci left
|
|||
samcv | problem of not implementing the unicode bidirectional algorithm? | 02:55 | |
and not being able to pass the test given in the unicode spec | 02:56 | ||
for said algorithm | |||
AlexDaniel | is it for string operations or for the source code? :) | 02:57 | |
samcv | well. string operations for sure | ||
02:58
kyclark joined
|
|||
samcv | i'm just trying to think about how that would look... are there any perl 6 devs whose native language is RTL? | 02:58 | |
02:58
travis-ci joined
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'Allow fuzzy searching | 02:58 | |
travis-ci.org/perl6/doc/builds/183470746 github.com/perl6/doc/compare/7ebb0...1230a397f9 | |||
02:58
travis-ci left
02:59
cyphase joined,
pyrimidine left
|
|||
samcv | AlexDaniel, also source code would be interesting... hah | 03:00 | |
use v6; use RTL; hah | 03:01 | ||
or even maybe not as something you have to use... hm | |||
m: say "\x[05D0]\x[05D1]\x[0028]\x[05D2]\x[05D3]\x[005B]\x[0026]\x[0065]\x[0066]\x[005D]\x[002E]\x[0029]\x[0067]\x[0068]" | |||
camelia | rakudo-moar 6fc769: OUTPUT«אב(גד[&ef].)gh» | ||
samcv | like this string is one of the unicode spec strings | ||
AlexDaniel | SmokeMachine: the two numbers in the first case… | ||
SmokeMachine: I only get one on any subsequent runs | 03:02 | ||
SmokeMachine: so one of them is from precompilation, right? | |||
samcv | paragraph direction is supposed to be LTR | ||
1 0 2 4 3 5 6 7 8 9 10 11 12 13 | |||
this is the order they are shown in | |||
03:02
[vlad] joined
|
|||
samcv | and that parenthesis should prolly be shown so that there's open and closing. at least for me it displays two right parens | 03:03 | |
SmokeMachine | AlexDaniel: sorry, I didn't get... | 03:04 | |
AlexDaniel | SmokeMachine: well, your first example with -MFuzz -MSum | ||
SmokeMachine: so I run it and get two different numbers | |||
SmokeMachine: BUT! If I run it again, I only get one number | 03:05 | ||
SmokeMachine | yes... me too... shouldn't be the same? | ||
AlexDaniel | SmokeMachine: if I delete .precomp, I'd get two numbers again | ||
SmokeMachine | yes, the same with me! | ||
AlexDaniel | that's just how the precompilation works, I think | ||
SmokeMachine | so, I can't use singleton on trait_mod? | 03:06 | |
03:07
kyclark left
|
|||
AlexDaniel | SmokeMachine: why not? | 03:08 | |
SmokeMachine: you can discard what happens during the precompilation | |||
03:09
kyclark joined
|
|||
SmokeMachine | in my case I was pushing the functions with the trait on a array on the singleton to use it in another part of the code... | 03:09 | |
but it returns another object, so I can't get the funds... | 03:10 | ||
*funcs | |||
03:10
noganex_ joined
|
|||
SmokeMachine | AlexDaniel: My "real" case is this one: github.com/FCO/Test-Fuzz | 03:11 | |
github.com/FCO/Test-Fuzz/blob/mast...st/Fuzz.pm | |||
03:11
kyclark left
03:13
noganex left
03:14
kyclark joined
|
|||
SmokeMachine | on github.com/FCO/Test-Fuzz/blob/mast...zz.pm#L115 and here github.com/FCO/Test-Fuzz/blob/mast...zz.pm#L104 I save the function on the %!fuzzers and on github.com/FCO/Test-Fuzz/blob/mast...zz.pm#L157 I use that... but its empty, because its another object... | 03:15 | |
AlexDaniel: ^^ | |||
samcv | m: my @o = "\x[05D0]\x[05D1]\x[0028]\x[05D2]\x[05D3]\x[005B]\x[0026]\x[0065]\x[0066]\x[005D]\x[002E]\x[0029]\x[0067]\x[0068]".ords; my @n; my @nums = "1 0 2 4 3 5 6 7 8 9 10 11 12 13".split(' ').».Int; for ^@o -> $i { @n[ @nums[$i] ] = @o[$i] }; say @n.».chr; | 03:16 | |
camelia | rakudo-moar 6fc769: OUTPUT«[ב א ( ד ג [ & e f ] . ) g h]» | ||
03:17
kyclark left
|
|||
samcv | the hebrew characters are the opposite order in this if you look closely | 03:18 | |
tho that's more boring cause it's a LTR paragraph | 03:19 | ||
AlexDaniel | SmokeMachine: this is some weird stuff going on there! :) | ||
03:22
cdg left
|
|||
SmokeMachine | AlexDaniel: So, thats not expected? | 03:22 | |
03:26
rurban joined
|
|||
AlexDaniel | SmokeMachine: I don't think I know enough about traits to answer :( | 03:27 | |
SmokeMachine | :( | ||
AlexDaniel: do you know who could help me? | |||
AlexDaniel | SmokeMachine: I think just asking this question here at a different time of a day is a good idea :) | 03:31 | |
03:31
pyrimidine joined
|
|||
SmokeMachine | AlexDaniel: OK! Ill do that!!! Thank you very much! | 03:31 | |
AlexDaniel | SmokeMachine: so in other words, you want to push some data into %!fuzzers during the compilation? | 03:34 | |
SmokeMachine | thats is! | ||
thats it! | |||
AlexDaniel: ^^ | |||
03:36
pyrimidine left
|
|||
AlexDaniel | yea, how to save some data from a trait… hmm! | 03:40 | |
I don't know! Time to sleep :) | 03:41 | ||
03:42
khw left
03:47
AlexDaniel left,
[vlad] left
|
|||
samcv | i want a uniprop-enum ... | 03:55 | |
hm | |||
tailgate | how do I match [\w -]+ (alphanumeric + dashes, at least one) | ||
can't quite get the syntax | |||
samcv | m: say '-a' ~~ /[\w -]+/ | 03:56 | |
camelia | rakudo-moar 6fc769: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unrecognized regex metacharacter - (must be quoted to match literally)at <tmp>:1------> 3say '-a' ~~ /[\w7⏏5 -]+/ expecting any of: infix stopper» | ||
samcv | m: say '-a' ~~ /[\w '-']+/ | ||
camelia | rakudo-moar 6fc769: OUTPUT«Nil» | ||
samcv | m: say '-a' ~~ /[<Alpha> '-']+/ | ||
camelia | rakudo-moar 6fc769: OUTPUT«No such method 'Alpha' for invocant of type 'Cursor' in block <unit> at <tmp> line 1» | ||
samcv | oh | ||
m: say '-a' ~~ /<[\w -]>+/ | |||
camelia | rakudo-moar 6fc769: OUTPUT«「-a」» | ||
samcv | there | ||
m: say '-a' ~~ /<[<Alpha> -]>+/ | |||
camelia | rakudo-moar 6fc769: OUTPUT«「-a」» | ||
samcv | that is what you want | 03:57 | |
er alpha num tho | |||
tailgate | thanks | ||
samcv | m: say '-a1' ~~ /<[<Alpha> -]>+/ | ||
camelia | rakudo-moar 6fc769: OUTPUT«「-a」» | ||
samcv | m: say '-a1' ~~ /<[<AlphaNum> -]>+/ | ||
camelia | rakudo-moar 6fc769: OUTPUT«「-a」» | ||
samcv | forget which that one is | ||
m: say '-a1' ~~ /<[<Alpha>\d -]>+/ | 03:58 | ||
camelia | rakudo-moar 6fc769: OUTPUT«「-a1」» | ||
samcv | that works | ||
04:12
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
samcv | pythons unicodedata module that comes with it is kinda lame docs.python.org/2/library/unicoded...nicodedata | 04:15 | |
SmokeMachine | I just started my "Generative testing" draft. Could someone take a look and give me some feedback please? | 04:22 | |
04:25
Ven left
|
|||
samcv | is this the same thing you were talking about earlier with AlexDaniel or somethnig different? | 04:27 | |
i'll look at it though, curious not sure how much I can help though | 04:28 | ||
SmokeMachine | samcv: That's my draft for perl6 advent calendar... talking about the module that I was talking with AlexDaniel... | 04:29 | |
samcv | oh i'll look at it then! | ||
SmokeMachine | samcv: thats on the wordpress... | ||
samcv | oh | 04:30 | |
:( | |||
SmokeMachine | samcv: pastebin.com/McHWeum7 | 04:32 | |
samcv | nice | 04:33 | |
SmokeMachine | samcv: did you like it?! :) | 04:35 | |
samcv | does Test::Fuzz know what the result should be? | ||
or does it just tell you if it gets an error? | |||
SmokeMachine | by default it just test if it did break... | 04:36 | |
samcv | ah kk :) | 04:37 | |
SmokeMachine | but you can set sub function(...) is fuzzed(test => *.is-prime) {} | ||
for example... | |||
if you want that the function only return prime numbers... | |||
like the function blu here: github.com/FCO/Test-Fuzz/blob/master/test.p6 | 04:38 | ||
samcv: ^^ | |||
samcv | nice | 04:39 | |
SmokeMachine | did you find any terrible english error? | 04:40 | |
samcv: ^^ | |||
samcv | nope | ||
SmokeMachine | great! | 04:41 | |
thank you very much! | |||
samcv: Ill continue tomorrow! | |||
samcv | good start so far :) | ||
SmokeMachine | samcv: :D | 04:42 | |
samcv: thank you very much! | |||
04:45
kyclark joined
04:53
kyclark left
|
|||
MasterDuke | .tell AlexDaniel it looks like you implemented something already, but i'd say just return the name for them or something like that, i don't see anybody ever wanting them for real | 05:06 | |
yoleaux | MasterDuke: I'll pass your message to AlexDaniel. | ||
05:09
geraud1 left
05:12
geraud joined
05:25
pyrimidine joined
05:29
pyrimidine left
05:37
telex left
05:38
telex joined
05:43
rurban left
05:44
geraud left
05:46
geraud joined
05:48
Cabanossi left
05:49
Cabanossi joined
05:55
geraud left,
geraud joined
06:00
rurban joined,
rurban left
06:01
brillenfux joined
06:16
BenGoldberg left
06:17
aborazmeh left
06:18
BenGoldberg joined
06:22
Vynce joined
06:25
BenGoldberg left
06:31
pyrimidine joined
06:34
darutoko joined
06:35
pyrimidine left
06:44
Vynce left
|
|||
dalek | href="https://perl6.org:">perl6.org: cb115bf | samcv++ | source/whatever/index.html: Add links for atom-language-perl6 and script For syntax highlighting and running Perl 6 from Atom |
06:49 | |
06:50
RabidGravy joined
07:03
jonas1 joined
07:08
ufobat joined
07:09
imcsk8_ left,
imcsk8_ joined
07:11
cooper_ left,
cooper_ joined
|
|||
RabidGravy | morning | 07:12 | |
I see I managed to get the scheduled post thing right in the end | |||
07:16
skids left
07:21
domidumont joined
07:26
domidumont left
07:27
domidumont joined
|
|||
moritz | RabidGravy++ | 07:31 | |
07:36
pyrimidine joined
07:40
pyrimidine left
07:45
Actualeyes left
07:54
kurahaupo joined
08:01
labster left
08:03
dataange` joined,
[particle]1 joined,
labster joined
08:04
dataangel left
08:07
ilbelkyr joined,
Actualeyes joined
08:13
abraxxa joined,
djbkd left
08:14
wamba joined
|
|||
ufobat | morning | 08:22 | |
the module Task::Star does not have a travis-ci integration, is that on purpose? | 08:23 | ||
i mean, isnt it a pretty good test if Task::Star is installable via zef and/or panda? | |||
Xliff | What are dynvars? Has anything been written up about them? | 08:24 | |
08:24
zakharyas joined
|
|||
moritz | ufobat: sure, go for it! | 08:24 | |
ufobat | kk :) | ||
08:25
MARTIMM joined
08:27
baest left,
MARTIMM left
|
|||
arnsholt | Xliff: A dynvar (also called contextual in Perl 6 parlance) is a variable that is looked up through *dynamic*, rather than lexical, scope | 08:29 | |
Where dynamic scope follows the call stack, so if the name is found in the current scope, you look in your caller's scope, and so on | |||
They're somewhat uncommon in day-to-day code, but when you need them you really need them | 08:30 | ||
moritz | you use them when in the bad old days, you'd use a global | ||
arnsholt | They're very useful for global variables for example. Instead of a global STDOUT, Perl 6 has a dynvar $*OUT | ||
08:30
pyrimidine joined
|
|||
moritz | but they are more thread safe and generally safer than globals | 08:31 | |
arnsholt | This way, rather than overriding a global before doing something and making sure it's reset correctly and all that crap when you leave, you create a new binding for it with "my $*OUT = ..." | ||
That way, STDOUT will be altered *only* inside the current function and code called by it | |||
And as moritz says, thread safety | 08:32 | ||
They're also very useful in grammar code | |||
Since Perl 6 grammars are recursive descent, lexical scope in the program being compiled will correspond to the dynamic scope of the parser | |||
moritz | arnsholt: that concept might deserve its own blog post some day | 08:33 | |
I've never seen it explained well outside of #perl6 | |||
arnsholt | Am I being volunteered? ;) | ||
But more seriously, I agree | |||
08:34
pierre_ joined
|
|||
arnsholt | It's a useful concept, and not very complicated either. Just not very common | 08:34 | |
(Although older Lisps like elisp frequently only have dynamically scoped variables, not lexically scoped) | |||
And apparently you can do some magic with macros and dynamic scope to implement lexical scope | |||
08:35
pyrimidine left
|
|||
Xliff | arnsholt++ # Brilliant explanation. Thanks! | 08:38 | |
samcv | what unicode properties are allowed for heredocs? anything? | 08:39 | |
except forward slashes or something? | |||
08:39
dakkar joined
|
|||
samcv | m: say q:to/'/;test' | 08:39 | |
camelia | rakudo-moar 6fc769: OUTPUT«test» | ||
samcv | m: my $var = "\0"; say q:to/$var/;test' | 08:40 | |
camelia | rakudo-moar 6fc769: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Ending delimiter $var not foundat <tmp>:3------> 3'7⏏5<EOL> expecting any of: whitespace» | ||
samcv | any nonwhitespace character? | ||
psch | m: say q:to{/};test/ | 08:43 | |
camelia | rakudo-moar 6fc769: OUTPUT«test» | ||
08:43
pierre_ left
08:44
pierre_ joined
|
|||
psch | samcv: <-[ws]> sounds reasonable to me, but you'd probably have to check Perl6::Grammar to be sure | 08:44 | |
samcv | yeah it looks like <-ws> | 08:45 | |
probably | |||
psch | right, not the character class consisting of 'w' and 's' :) | ||
or, actually, 'not "not the character class consisting of 'w' and 's'"' vOv | 08:47 | ||
+plus proper nested quoting parsing :P | |||
samcv | heredocs do quoted parsing? what? | ||
psch | no, just for my statement... :) | 08:48 | |
samcv | m: say q:to/{/;this{}} | ||
camelia | rakudo-moar 6fc769: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Ending delimiter { not foundat <tmp>:3------> 3}7⏏5<EOL> expecting any of: whitespace» | ||
samcv | oh ok | ||
psch | heredocs parse whatever language you give them | ||
well, from Q and its sisters anyway | |||
samcv | yeah i usually use Q or qq if i need interpolation | ||
i like Q | 08:49 | ||
very much | |||
psch | m: say qqw:to/foo/;{ "foo", "bar" }bazfoo | ||
camelia | rakudo-moar 6fc769: OUTPUT«(foo bar baz)» | ||
samcv | m: say "\r" | ||
camelia | rakudo-moar 6fc769: OUTPUT« | ||
samcv | aww no carriage return chars? | ||
err | |||
psch | .u carriage return | ||
yoleaux | U+000D CARRIAGE RETURN (CR) [Cc] (␍) | ||
U+240D SYMBOL FOR CARRIAGE RETURN [So] (␍) | |||
samcv | yeah | ||
lemme see what my bot does | 08:50 | ||
psch | could maybe stuff that into camelia as well, or whateverable maybe | ||
eval: say "\r" | |||
evalable6 | psch, rakudo-moar 6fc7698: OUTPUT«» | ||
samcv | oh it doeqsn't hm | ||
psch | well, that at least doesn't eat the >> | ||
samcv | m: say "\t" | ||
camelia | rakudo-moar 6fc769: OUTPUT« » | ||
samcv | :) | ||
i mean :( | |||
should be ↹ | |||
my bot deos that at least, ↹ | 08:51 | ||
though i guess less important than doing \t | |||
err \r i'm tired | |||
08:56
kurahaupo left
08:57
andrzeju_ joined,
andrzejku left
09:00
g4 joined
09:01
baest joined
09:05
rindolf joined
|
|||
dalek | osystem: 4a13e58 | (Takumi Akiyama)++ | META.list: Add JSON::Hjson to ecosystem See github.com/akiym/JSON-Hjson |
09:06 | |
09:06
Vynce joined
|
|||
dalek | osystem: e349294 | RabidGravy++ | META.list: Merge pull request #273 from akiym/master Add JSON::Hjson to ecosystem |
09:06 | |
09:08
ccntrq joined
09:09
zakharyas left
09:12
thayne joined,
grondilu joined
09:13
ccntrq left
09:14
ccntrq joined
09:23
bjz joined
09:27
wamba left
09:29
ccntrq left
09:31
pyrimidine joined
09:41
astj joined
|
|||
astj | moritz: Hi. Thank you for inviting me to github/perl6! I accepted. But I wonder for which reason I've invited. Is there any reason? | 09:42 | |
09:42
ccntrq joined
|
|||
moritz | astj: you submitted a pull request to the ecosystem | 09:44 | |
astj: in future, you can push directly. And merge other's pull request, should you feel so inclined | |||
astj | moritz: Okay, thanks! | 09:45 | |
moritz | astj: the ecosystem list was never meant to enable a gate keeper, we just did it because all our stuff is in github | ||
astj: you're welcome | |||
09:47
bjz left,
ccntrq left
09:53
rurban joined,
ccntrq joined
09:55
pmurias joined
09:57
pyrimidine left
10:02
bjz joined,
Vynce left
10:03
pierre_ left
10:05
mniip joined,
Actualeyes left,
labster left
10:07
astj left,
astj joined
10:10
pierre_ joined
10:11
pierre_ left
10:12
astj left
10:24
sena_kun joined
|
|||
pmurias | jnthn: does checking if objects need to be repossesed have a big performance price on MoarVM? | 10:37 | |
10:38
wamba joined
|
|||
jnthn | pmurias: iirc, most of the time once we're running code it's just an integer comparison (because by runtime where's no SCs on the compiling stack) | 10:39 | |
s/where/there/ | |||
Presumably that stays CPU cache hot, and the branch is predictable, so it's not too awful | 10:40 | ||
10:44
lucasb joined
10:49
lukaramu joined
|
|||
ufobat | moritz, done ;) but i guess tadzik has to add the module to the CI test services github.com/tadzik/Task-Star/pull/12 | 10:51 | |
tadzik | oh, will do | 10:52 | |
ufobat | cool | 10:54 | |
El_Che | not enough sleep, not enough coffee and reading jvm docs for performance tuning a big jvm service. Bad combination | 10:55 | |
ufobat | hmm on the other side, does it really make sense | ||
the tests are triggered whenever you.. push something? | 10:56 | ||
that is probably wrong for Task::Star | |||
10:56
pyrimidine joined
10:58
rindolf left
11:03
bjz_ joined,
bjz left
|
|||
dalek | c: ea1230a | coke++ | / (3 files): Allow fuzzy searching For #999 |
11:04 | |
c: 2586a29 | (Zoffix Znet)++ | / (3 files): Merge pull request #1047 from perl6/coke/levenshtein Allow fuzzy searching |
|||
11:07
zakharyas joined
11:10
cognominal left
11:11
cognominal joined
11:12
dogbert17 joined,
travis-ci joined
|
|||
travis-ci | Doc build failed. Zoffix Znet 'Merge pull request #1047 from perl6/coke/levenshtein | 11:12 | |
travis-ci.org/perl6/doc/builds/183553537 github.com/perl6/doc/compare/96761...86a29a543b | |||
11:12
travis-ci left
11:15
dogbert17_ left
11:19
pierre_ joined
|
|||
phatbot | Same fromspace collectable accesing error "MoarVM panic: Collectable 0x2ae0503e2918 in fromspace accessed" | 11:22 | |
.tell cygx reminder: your post is up next in ~12.5 hours | 11:43 | ||
yoleaux | phatbot: I'll pass your message to cygx. | ||
11:51
pierre_ left
|
|||
lucasb | .oO( hmm, a Collectable fromOuterSpace ) |
11:58 | |
brrt | jnthn ^ what phatbot says | 12:04 | |
12:04
rurban left
12:17
nicky joined
12:18
sena_kun left
|
|||
nicky | ==> Testing File::Find Unhandled exception: Failed to write to filehandle: NULL string given | 12:18 | |
brrt | /me wonders, just out of interest, how hard it would be to have a 'perl6-syntax-check' daemon process and an emacs mode to use it | ||
psch | brrt: something like "run perl6 -c on the current buffer after n seconds of idle" or what are you imagining? | ||
i suspect that depends more on how emacs works than what perl6 offers :) | 12:19 | ||
brrt | something like that | 12:20 | |
well, emacs has flymake-mode, iirc | |||
so that is just something to hack into | |||
but the current wisdom is to use a client-server model for that, iirc | |||
12:21
TEttinger left
12:26
bjz_ left,
bjz joined
|
|||
CIAvash[m] | brrt: github.com/hinrik/flycheck-perl6 | 12:29 | |
tbrowder | RabidGravy: nice Advent post! It helps me get a feel for using concurrency in the real world. | 12:31 | |
nicky | I'm getting a make install failure on rakudo star 2016.11 pastebin.com/7PzmcaTS | 12:35 | |
12:39
sena_kun joined
|
|||
phatbot | sena_kun: I don't think building %method_to_role is needed anymore, since we already know method's name by that point. | 12:46 | |
brrt | ooh that is cool | 12:47 | |
thanks CIAvash[m] | 12:48 | ||
sena_kun | phatbot, method name - yes, but role? | ||
phatbot | sena_kun, that's what the added logic needs to do, look for a role with that method and tells us the role name when found. There's no need to store names of all methods for that | 12:49 | |
sena_kun | phatbot, ah, so that's your point. Yes, you are correct. Another patch is coming. | 12:50 | |
phatbot | \o/ | 12:51 | |
arnsholt | Good point! | 13:03 | |
That should make it easier to report all roles at once too | 13:04 | ||
13:06
rurban joined
|
|||
sena_kun | I've pushed update. arnsholt, do you think we need reporting of all roles with the unimplemented method after all? It is not hard to write, just asking. | 13:08 | |
13:08
canopus left
|
|||
arnsholt | Dunno | 13:08 | |
phatbot | Wouldn't there be a merge conflict anyway? | ||
or whatever it's called | |||
m: role A { method foo {} }; role B { method foo {} }; class Z does A does B {} | |||
camelia | rakudo-moar 6fc769: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Method 'foo' must be resolved by class Z because it exists in multiple roles (B, A)at <tmp>:1» | ||
phatbot | m: role A { method foo {...} }; role B { method foo {} }; class Z does A does B {} | 13:09 | |
camelia | ( no output ) | ||
phatbot | m: role A { method foo {...} }; role B { method foo {...} }; class Z does A does B {} | ||
camelia | rakudo-moar 6fc769: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Method 'foo' must be implemented by Z because it is required by a roleat <tmp>:1» | ||
phatbot | m: role A { method foo {...} }; role B { method foo {...} }; class Z does A does B { method foo {} } | ||
camelia | ( no output ) | ||
arnsholt | Yeah, that's what I thought. The conflict only crops up if both roles have defaults | ||
13:09
wamba left
|
|||
phatbot | sena_kun: from the above it does look like reporting all the roles could be useful. | 13:10 | |
arnsholt | Yeah, I'd add it I think | ||
psch | m: role A { method foo {...} }; role B { method foo {} }; class Z does B does A {} | ||
camelia | ( no output ) | ||
arnsholt | It's relevant knowledge about how to implement the required method, IMO | ||
phatbot | sena_kun: if it's not hard :) I know we've been kinda keeping you on the wheel... pushing all these changes :) | 13:11 | |
sena_kun | phatbot, no problem, thanks for comments anyway. But all methods commit will be a bit later, since I'm busy right now. | 13:12 | |
13:13
matiaslina joined,
canopus joined
13:14
wamba joined
13:20
pierre_ joined
13:21
kurahaupo joined
|
|||
lucasb | m: say (my %h{Int}).perl | 13:28 | |
camelia | rakudo-moar 6fc769: OUTPUT«(my Any %{Int} = )» | ||
dalek | c: 3e88149 | coke++ | xt/space-after-commma.t: remove trailing whitespace |
||
c: 2af9049 | coke++ | xt/trailing-whitespace.t: ignore this 3rd party file |
|||
lucasb | ^^ no need for the equal sign | ||
phatbot | m: say (my %h{Int}).perl.EVAL.perl | 13:29 | |
camelia | rakudo-moar 6fc769: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0Malformed initializerat /home/camelia/EVAL_0:1------> 3(my Any %{Int} = 7⏏5) expecting any of: prefix term» | ||
phatbot | Yes, .EVAL.perl is meant to roundtrip | ||
lucasb | SourceBaby: help | ||
SourceBaby | lucasb, Use s: trigger with args to give to sourcery sub. e.g. s: Int, 'base'. See modules.perl6.org/dist/CoreHackers::Sourcery | ||
lucasb | s: Hash, 'perl' | ||
SourceBaby | lucasb, Sauce is at github.com/rakudo/rakudo/blob/6fc7...Mu.pm#L527 | ||
lucasb | s: {}, 'perl' | ||
SourceBaby | lucasb, Ehhh... I'm too scared to run that code. | ||
phatbot | s: Hash, 'perl', \() | ||
SourceBaby | phatbot, Sauce is at github.com/rakudo/rakudo/blob/6fc7...Mu.pm#L528 | ||
13:30
ZoffixW joined
|
|||
ZoffixW | s: (my %h{Int}), 'perl', \() | 13:30 | |
SourceBaby | ZoffixW, Sauce is at github.com/rakudo/rakudo/blob/6fc7...sh.pm#L704 | ||
13:30
ZoffixW left
|
|||
phatbot | It's not scared of me ;) | 13:30 | |
13:30
prammer joined
|
|||
phatbot | Err... I mean of this Zoffix guy | 13:30 | |
lucasb | ah, it feels the k/v pairs after the equal sign | 13:31 | |
*it fills :) | |||
sena_kun | I'm going to switch for $must-to-do-it-work now, so the patch will be tomorrow, I suppose. Sigh. | 13:34 | |
phatbot | sena_kun: I'll merge current version then. And you can submit another PR for multi-role thing when you get a chance | 13:35 | |
13:36
travis-ci joined,
pyrimidine left
|
|||
travis-ci | Doc build failed. Will "Coke" Coleda 'ignore this 3rd party file' | 13:36 | |
travis-ci.org/perl6/doc/builds/183586638 github.com/perl6/doc/compare/2586a...f9049c11af | |||
13:36
travis-ci left
|
|||
sena_kun | phatbot, got it. Thanks for help, everyone. | 13:36 | |
13:37
pyrimidine joined
13:38
nicq20 joined
13:42
kyclark joined,
sufrostico joined
13:45
pierre__ joined
13:46
pierre_ left
13:49
sufrostico left
|
|||
lucasb | m: say Mu.is-lazy, Hash.is-lazy | 13:50 | |
camelia | rakudo-moar 6fc769: OUTPUT«FalseFalse» | ||
lucasb | m: say List.is-lazy | ||
camelia | rakudo-moar 6fc769: OUTPUT«Cannot look up attributes in a List type object in block <unit> at <tmp> line 1» | ||
lucasb | can List get a method is-lazy(List:U) { False } ? | 13:51 | |
phatbot | s: List, 'is-lazy' | ||
SourceBaby | phatbot, Sauce is at github.com/rakudo/rakudo/blob/6fc7...t.pm#L1001 | ||
jnthn | Should do, yes | ||
psch | m: say Any.is-lazy | ||
camelia | rakudo-moar bff051: OUTPUT«False» | ||
phatbot | I think a better approach would be for ^ that one to be a :D and let Mu handle the :U | ||
lucasb | phatbot: right | 13:52 | |
13:55
kurahaupo left,
kyclark left
|
|||
phatbot | m: use MONKEY; my $r := ^2; nqp::getattr($r, Range, '$!is-int') = 0; | 13:59 | |
camelia | rakudo-moar bff051: OUTPUT«Cannot modify an immutable int in block <unit> at <tmp> line 1» | ||
phatbot | how can I change that attribute? | ||
m: use MONKEY; my $r := ^2; nqp::bindattr($r, Range, '$!is-int', 0); | 14:00 | ||
camelia | rakudo-moar bff051: OUTPUT«P6opaque: representation mismatch when storing value (of type Int) to attribute (of type int) in block <unit> at <tmp> line 1» | ||
phatbot | m: use MONKEY; my $r := ^2; nqp::bindattr($r, Range, '$!is-int', nqp::istype(42, Bool)); | 14:01 | |
camelia | rakudo-moar bff051: OUTPUT«P6opaque: representation mismatch when storing value (of type Int) to attribute (of type int) in block <unit> at <tmp> line 1» | ||
jnthn | _i | ||
[Coke] | phatbot: thanks for the merge. OOC, did you test or just assume we'd get some feedback only after mergeback? ;) | ||
phatbot | jnthn++ thanks | 14:02 | |
14:02
Ven joined
|
|||
phatbot | [Coke]: I didn't test, no. | 14:02 | |
oh shit... perhaps I should have... | 14:03 | ||
I get freezes on my box :} | |||
If I type "str" it takes it like 2 seconds to react to any further actions | 14:04 | ||
Mmm | |||
Or maybe it's something else entireely. Seems to be fine on another box in Chrome. | |||
14:05
nicky left
|
|||
phatbot | oh, but same lag if I search for "a". And after it displays results, moving mouse around results has a delay before it reacts to anything. Is it just me? | 14:05 | |
sena_kun | phatbot, confirmed on latest firefox. | 14:06 | |
14:06
kyclark joined
14:07
cibs left
14:09
cibs joined
14:10
pmurias left
|
|||
phatbot | [Coke]: so seems like there's a performance issue? Not sure if anything can be improved with it. Perhaps trigger levenshtein only after $x characters have been typed? | 14:11 | |
It's nice that it shows results for in_timezone, for example :) | |||
[Coke] | alexdaniel had suggested a faster levenshtein-like algorithm as well. | ||
I can make it skip a few chars, one sec. | 14:12 | ||
... er | |||
14:12
cdg joined
|
|||
[Coke] | more like 10s of minutes. Have to find what the old default algorithm was, then check term.length before using getEditDistance() | 14:13 | |
14:13
prammer left
|
|||
[Coke] | I can do it after $DAYJOB if someone hasn't beaten me to it. | 14:15 | |
also, looks like someone changed the SASS processing, as external links are now being shown. | 14:16 | ||
github.com/perl6/doc/issues/999 was the original ticket, commented about the slowdown and algorithm there. | 14:20 | ||
phatbot | That was me. I didn't change SASS processing, I just followed the proceedure we have for changing styles. You're meant to change assets/sass/style.sass (or whatever it is) and then run the dev app to update html/css/style.css (or whatver it is) and commit both files to repo. | 14:21 | |
And I guess I promised a few months ago to make the doc build do that stuff so we could nix html/css/style.css from repo | |||
and still haven't done it :} | 14:22 | ||
phatbot adds it onto Christmas Holiday Fixes list | |||
14:26
kurahaupo joined
14:28
mawkish_ joined
14:31
mawkish_ left,
mawkish_ joined
14:34
jonas1 left
14:36
wamba left
|
|||
tbrowder | ref p6 publicity: i think i've seen p6 described as a "large" core language, esp. compared to minimalist C. what's opinion of putting stats on perl6.org with numbers of built-in routines, classes, modules, dynamic vars, etc.? should, hopefully, be greppable, cacheable, and automatable. | 14:37 | |
phatbot | So that all the people who compare us to PHP would have actual numbers to point to? :) | 14:38 | |
tbrowder | roger! but maybe emphasize a subset for most new users. | 14:39 | |
phatbot | I don't see anything posivite comming out of such an endeavour and only negative. Especially since a lot of routines haven't been moved to Rakudo::Internal yet | ||
jnthn | What do you count as the core of the C language? | ||
libc isn't exactly small :) | 14:40 | ||
14:40
prammer joined
|
|||
jnthn | And if that doesn't count, then nor does most of CORE.setting. :) | 14:40 | |
tbrowder | hm, all inside rakudo seen by users? | ||
phatbot | yes | ||
14:41
pierre__ left
|
|||
phatbot | m: use Test; is-deeply SEQUENCE(1, 6), (1...6) | 14:41 | |
camelia | rakudo-moar 1d4600: OUTPUT«ok 1 - » | ||
phatbot | Like that's not a user sub | 14:42 | |
jnthn | Sure, but my question is more about where do you draw the line between language and standard library. | ||
phatbot | m: CORE::.values.grep({$_ ~~ Sub}).elems.say | 14:43 | |
camelia | rakudo-moar 1d4600: OUTPUT«121» | ||
14:43
kyclark left
|
|||
jnthn | It's for sure that Perl 6 has a decidedly larger grammar than C, Java, etc. | 14:43 | |
14:43
cdg_ joined
|
|||
tbrowder | of course that's a good question, but someone deeply familiar with the lang should be able to draw it | 14:43 | |
phatbot | And well, you can override core stuff, as opposed to many other languages where you get a conflict | ||
14:44
kyclark joined,
Actualeyes joined
|
|||
tbrowder | part of the super language aspect, for advanced users | 14:44 | |
14:44
g4 left
|
|||
phatbot | Draw what? | 14:44 | |
tbrowder | a line between "core" and library | 14:45 | |
phatbot | Seems pointless semantics game to me. | ||
tbrowder | there are always folks who like such stats | ||
14:46
cdg left
|
|||
tbrowder | when, say, comparing languages for suitability for their purposes | 14:46 | |
jnthn | It could be nice to show the batteries that Perl 6 includes in its standard library. | ||
tbrowder | there is a lot appeal for a lang that can do a lot without hunting for lots of libraries | 14:47 | |
tadzik | yep | ||
tbrowder | extra libraries | ||
phatbot | hah | 14:48 | |
You've not seen Zefram's talk then, I guess :) | |||
tbrowder | hm, is he yr brother? | ||
lizmat clickbaits p6weekly.wordpress.com/2016/12/12/...rofilesql/ | 14:49 | ||
Files=1155, Tests=53893, 200 wallclock secs (11.34 usr 4.53 sys + 1192.98 cusr 126.25 csys = 1335.10 CPU) | |||
tbrowder | no, i don't think so | ||
jnthn | fwiw, it depends what the "a lot" is, to me. Putting Set/Bag/Rat/Complex into the standard library is a non-brainer because math ain't going to suddently come out of date tomorrow. Same for stuff like async sockets/processes. | ||
With serialization formats though, it's much more touch and go. The current fashionable ones come and go. | 14:50 | ||
And some things are better just having different release cadences than the core language. | 14:51 | ||
phatbot | tbrowder: yes, all people with Z in their name are related. | ||
14:51
dj_goku left
|
|||
phatbot | I can't find the URL right now, but his entire talk was about dissing Perl 6 for having too many features, while showing bugs with their interaction and coming to the conclusion that Perl 6 is inherently flawed and must be discarded. | 14:52 | |
psch | i think one notable point was that assigning IterationEnd to an elemnt in an Array breaks iteration..? | ||
+e | |||
arnsholt | That sounds a lot like the infamous "we found bugs in Bugzilla and CGI.pm, therefore Perl is inherently broken" talk that cropped up a few years back | ||
phatbot | So people like him, along with folks who like to make fun of PHP for having many built ins, would just love your stats, tbrowder | ||
tbrowder | well, one way to handle those types is to ignore them | 14:53 | |
phatbot | arnsholt: yeah. The premise is inherently flawed. He'd have to reach for library XYZ to do feature X we do in core, giving him with as many "interactions", except now you have completely different projects with completely different styles and authors in play. | ||
psch | i think it was act.yapc.eu/lpw2015/talk/6436 | 14:54 | |
jnthn | phatbot: Yes, that's pretty much what I was going to write :) | ||
phatbot | :) | ||
psch: aye, title looks familiar | |||
[Coke] | Why do talks like that get approved, I wonder. | 14:55 | |
14:55
kyclark left
|
|||
[Coke] | at a perl conference, I mean. | 14:56 | |
14:57
skids joined
14:58
sena_kun left,
mawkish_ left
14:59
mawkish_ joined
|
|||
jnthn | [Coke]: Perhaps because having a community that won't listen to dissenting ideas isn't really healthy in general. :) | 14:59 | |
psch | well, the talk has been recorded | ||
tbrowder | i couldn't find the talk itseif, but i think i've seen parts. he sounds like a large group of. nay-sayers over at perl monks | ||
psch | although i personally find the audio utterly incomprehensible | ||
15:01
zakharyas left,
zakharyas joined
|
|||
tbrowder | listening is fine, i leave it to smarter people to refute facts, and get on to helping advance my own interests with folks who share them--life is too short | 15:02 | |
15:03
kyclark joined,
kyclark left,
pierre_ joined
|
|||
[Coke] | jnthn: It's the question of dissent, but respect. | 15:04 | |
*sigh*. "it's NOT ..." | |||
tbrowder | i didn't mean refute facts...i meant argue as in debate | 15:05 | |
15:05
zakharyas left
|
|||
[Coke] | I wonder how many of the issues he raised were raised to the community before he felt the need to whine (his word) at a conference. if it's the same zefram, he's also a p5 release manager, among other things. | 15:05 | |
15:06
mawkish_ left
15:07
mawkish_ joined
|
|||
phatbot | Not sure about the timing of the talk, but Zefram did file a whole ton of tickets. Especially the ones with edge case math, like NaN handling, negative zeros, overflows. | 15:07 | |
I'd even say he's my favourite ticket reporter. | 15:08 | ||
moritz | phatbot: don't let masak hear that :-) | ||
phatbot | :D | ||
jnthn | I'm glad of both. :-) masak tends to report things that crop up in sometimes interesting but relatively normal programs. Zefram looks at how stuff can be broken on purpose. | 15:10 | |
[Coke] | (report) ah, well that's awesome. Zefram++ | ||
lizmat | fwiw, zefram liked MoarVM and has said that perl 6 should be implemented on top of that (from scratch) | 15:11 | |
perhaps he will change his mind when we have a fully functional JS backend :-) | 15:12 | ||
15:12
brillenfux left
15:13
mawkish_ left
|
|||
ilmari | I thought he said he liked nqp as well | 15:13 | |
15:13
mawkish_ joined
|
|||
ilmari | (as a language-implementation language) | 15:13 | |
15:14
khw joined
|
|||
tadzik | LPW 2017: Zefram implements Perl 5 on nqp | 15:14 | |
15:15
Khisanth left,
wamba joined
|
|||
tadzik | oh wow, SQL backend for profiler, that's nice | 15:16 | |
15:16
mawkish_ left
|
|||
lizmat | tadzik: perl 5 on nqp, isn't that "use v5" ? | 15:17 | |
tadzik | quite :) | ||
ilmari | that still requires rakudo, no? | 15:18 | |
lizmat | yes | ||
eh, well | |||
hmmm... technically, not I guess | |||
jnthn | You could feasibly do a Perl 5 built on the NQP compiler toolchain without re-using any part of Rakudo. | ||
15:19
mawkish_ joined
|
|||
brrt wonders whom he can challenge to do that | 15:19 | ||
15:20
MorayJ joined,
MasterDuke_ joined
|
|||
perlpilot | the next time any of you see Zefram, politely ask him to fix Data::Alias to work with perl 5.24 :-) | 15:20 | |
15:21
mohae_ joined
|
|||
lizmat | perlpilot: I've heard rumours that that is not going to be possible :-( | 15:23 | |
otoh, I've heard those rumours before | |||
15:24
kyclark joined,
mohae left
15:25
mawkish_ left,
mawkish_ joined
|
|||
lucasb | multi role R[::T] {...} | 15:26 | |
multi role R[::T, ::U] {...} | |||
^^ would such a feature make sense? | |||
jnthn | We already have it, just don't need to write the multi :) | 15:27 | |
15:27
Khisanth joined
15:29
thayne left
|
|||
lucasb | oh, I wasn't aware it already works, nice :) | 15:30 | |
arnsholt | brrt: The I must confess that "how would I go about implementing Perl 5 on NQP" has been considered by me as an intellectual excercise, but I'm certainly not going to volunteer to actually *do* it! | ||
(Steps one and two being implementing lex and yacc-a-likes for NQP, IMO) | 15:32 | ||
lucasb | m: role R1 {}; role R2[Int] {}; say R1[1,2], R2[Str] | 15:33 | |
camelia | rakudo-moar 1d4600: OUTPUT«(R1[Int,Int])(R2[Str])» | ||
lucasb | ^^ If you try to '.new' these roles, it expectedly dies | 15:34 | |
15:34
mawkish_ left
15:35
mawkish_ joined
|
|||
lucasb | class C does R[invalid args] {} also dies | 15:35 | |
but... couldn't this check happen at compile time for the invalid ones? | |||
IOW, should even be possible to refer to them by the names 'R1[1,2]', etc. no? | 15:36 | ||
*shouldn't | |||
lizmat | arnsholt: I think the main issue is really: which perl 5 are you going to target? with all the recent syntactic changes :-( | ||
15:37
dj_goku joined
|
|||
lizmat | I think it's going to be less important now that we have Inline::Perl5 | 15:38 | |
jnthn | lucasb: If you .new a role then we don't calculate the pun until runtime | ||
lucasb: For compile-time composition it does die at compile time already | |||
lizmat | and once we can get "supersede" to work and include modules with from<Perl5>, one should be able to upgrade a module to a Perl 6 version transparently without needing to change code | ||
lucasb | jnthn: ok, understood, thanks | 15:39 | |
15:40
kyclark left
15:42
dj_goku left,
brrt left
15:43
pyrimidine left,
pyrimidine joined
15:54
kyclark joined
|
|||
lucasb | found some strange errors for shaped arrays, will post 3 lines here, ok | 15:55 | |
(my @a[2]).new.perl # Type check failed in binding to @dims; expected Positional but got Any (Any) | |||
(my @a[2] = <a b>).new.Array # This type (Scalar) does not support elems | |||
my @a[<a b c>] # P6opaque: get_boxed_ref could not unbox for the representation '20' of type Failure | |||
also, for 'my @a[...]', idk what method it asks the value inside brackets (if .Int, .elems, or other), but for 'my @a[SomeEnum]', it returns a shaped array | 15:56 | ||
m: dd my @a[Bool], my @b[Order] | 15:57 | ||
camelia | rakudo-moar 1d4600: OUTPUT«Array.new(:shape(2,), [Any, Any])Array.new(:shape(3,), [Any, Any, Any])» | ||
lucasb | I just wondered if that was expected and intended | ||
phatbot | no, crappy errors aren't expected :) | 16:00 | |
The my @a[<a b c>] one looks like it tries to convert a string to number, gets Failure, and tries to store isbig_I it | |||
16:01
mad__ joined,
mad__ left,
mad__ joined
|
|||
phatbot | m: use nqp; nqp::isbig_I(nqp::decont(+'a')); | 16:01 | |
camelia | rakudo-moar 1d4600: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20' of type Failure in block <unit> at <tmp> line 1» | ||
phatbot | there are a couple more I have in my notes at home that give exception blah blah produce no messsage | 16:02 | |
Oh, I misread. | 16:04 | ||
16:04
cooper_ left
|
|||
phatbot | lucasb: yeah, that's expected. Enums can be used as a shape | 16:04 | |
lucasb | phatbot: because they numify to their number of elements? | 16:05 | |
phatbot | m: dd +Bool | ||
camelia | rakudo-moar 1d4600: OUTPUT«Cannot resolve caller Numeric(Bool: ); none of these signatures match: (Bool:D $: *%_) in block <unit> at <tmp> line 1» | ||
phatbot | They don't. I just recall a commit fly through implementing that feature. | ||
lucasb | hm, interesting, ok | 16:06 | |
phatbot | It's in 2016.10's changelog: github.com/rakudo/rakudo/blob/nom/...geLog#L279 | 16:07 | |
lucasb | oh, inserting the commit hash in the changelog only started in 2016.11. phatbot++ | 16:08 | |
phatbot | And that's the commit: github.com/rakudo/rakudo/commit/55...05cb20ac7a | 16:09 | |
lucasb | thanks | ||
16:10
mawkish_ left
16:11
mawkish_ joined
|
|||
lizmat | lucasb: I think that was inspired by a blogpost by gfldex, if memory serves | 16:13 | |
gfldex.wordpress.com/2016/09/21/ar...your-keys/ | 16:16 | ||
lucasb | ah, you linked other post in you commit github.com/rakudo/rakudo/commit/fe...80812cbceb | 16:17 | |
but anyway, I wasn't aware the feature was intentional, lizmat++ | |||
dalek | c: a972217 | MasterDuke17++ | doc/Type/Cool.pod6: Add some missing linebreaks to create code blocks |
||
synopsebot6 | Link: doc.perl6.org/type/Cool | ||
16:21
pierre_ left
16:25
acrussell joined,
pierre_ joined
|
|||
SmokeMachine | I just started my "Generative testing" draft. Could someone take a look and give me some feedback please? | 16:25 | |
16:25
acrussell left
16:26
travis-ci joined
|
|||
travis-ci | Doc build failed. MasterDuke17 'Add some missing linebreaks to create code blocks' | 16:26 | |
travis-ci.org/perl6/doc/builds/183640038 github.com/perl6/doc/compare/2af90...722174d16d | |||
16:26
travis-ci left
|
|||
SmokeMachine | there are 2 different modules in memory when I load it at compile time and I load it at run time? | 16:27 | |
when I get a instance of a singleton inside of a trait_mod code, I get a object and when I get it on a regular code I get a different object... is that expected? | |||
00:37 www.irccloud.com/pastebin/3zFvLdlH/ | |||
but when I do that in the same "file" it gets the same object: | |||
00:45 www.irccloud.com/pastebin/NK78LBlF/ | |||
16:27
abraxxa left
16:29
pierre__ joined,
pierre_ left
16:30
wamba left
16:32
mr-foobar joined
|
|||
SmokeMachine | is that expected? | 16:32 | |
16:34
pyrimidine left
16:35
pyrimidine joined
|
|||
phatbot | SmokeMachine: no idea. Try hunting down nine | 16:35 | |
[Coke] | fwiw, irccloud is blocked here. | ||
perlpilot | same here. gist.github.com is fine though :) | 16:37 | |
16:38
dj_goku joined,
dj_goku left,
dj_goku joined
16:39
mawkish_ left,
domidumont left,
mawkish_ joined,
pyrimidine left
16:40
vike joined
16:42
wamba joined,
cdg_ left
16:43
pyrimidine joined,
cdg joined,
dj_goku left
16:44
mawkish_ left
16:45
mawkish_ joined
|
|||
SmokeMachine | [Coke]: what do you mean with "irccloud is blocked here"? | 16:48 | |
16:48
girafe joined
|
|||
SmokeMachine | hum!! I got it! | 16:50 | |
perlpilot | SmokeMachine: I (and presumably Coke) am at $work where certain URLs are blocked by our corporate rules. | ||
SmokeMachine | Ill paste it on GitHub... | ||
[Coke], perlpilot: gist.github.com/FCO/65196d4bff0362...1bafa50ae8 | 16:53 | ||
16:55
mawkish_ left,
mawkish_ joined
|
|||
perlpilot | SmokeMachine: an object's .WHERE gives a memory location which may change over time due to GC runs. You want .WHICH for object identity. | 17:00 | |
SmokeMachine | perlpilot: ok! | ||
phatbot | oh damn... | ||
phatbot should've actually read the code :P | |||
SmokeMachine: FWIW, if you tell the gist extensionb is .p6 it'll add highlighting | 17:01 | ||
[Coke] | Looks like precomp is involved; run the perl 6 command twice... | ||
(second time you only get one say.) | |||
17:01
rindolf joined
|
|||
SmokeMachine | [Coke]: Yes, that happens... | 17:02 | |
[Coke]: but thats not what I want... | |||
let me explain with some code... | |||
[Coke] | You want a singleton, that doesn't look like one, yes. :) | 17:03 | |
Is that not it? | |||
SmokeMachine | on github.com/FCO/Test-Fuzz/blob/mast...zz.pm#L115 and here github.com/FCO/Test-Fuzz/blob/mast...zz.pm#L104 I save the function on the %!fuzzers and on github.com/FCO/Test-Fuzz/blob/mast...zz.pm#L157 I use that... but its empty, because its another object... | 17:04 | |
[Coke]: I want a singleton where I .push() some data at compile time and I can get that data at run time... | 17:05 | ||
rindolf | Hi all. | 17:07 | |
phatbot | Hi, rindolf | 17:08 | |
rindolf | TimToady: are you there? | ||
phatbot: hi | |||
phatbot | m: class Singleton { my @.stuff; BEGIN @.stuff.push: <some stuff>; method new { self }; }; my $foo = Singleton; my $bar = Singleton; $foo.stuff.push: <moar stuff>; dd $bar.stuff | 17:09 | |
camelia | rakudo-moar 1d4600: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable @.stuff used where no 'self' is availableat <tmp>:1------> 3ss Singleton { my @.stuff; BEGIN @.stuff7⏏5.push: <some stuff>; method new { self } expecting any of: term» | ||
phatbot | waat | ||
you're trickin' me | |||
oh | |||
m: class Singleton { my @.stuff; BEGIN self.stuff.push: <some stuff>; method new { self }; }; my $foo = Singleton; my $bar = Singleton; $foo.stuff.push: <moar stuff>; dd $bar.stuff | 17:10 | ||
camelia | rakudo-moar 1d4600: OUTPUT«5===SORRY!5=== Error while compiling <tmp>'self' used where no object is availableat <tmp>:1------> 3class Singleton { my @.stuff; BEGIN7⏏5 self.stuff.push: <some stuff>; method n expecting any of: term» | ||
phatbot | screw you | ||
perlpilot | phatbot: you're exhibiting the first signs of insanity :) | ||
phatbot | m: class Singleton { my @.stuff; BEGIN ::?CLASS.stuff.push: <some stuff>; method new { self }; }; my $foo = Singleton; my $bar = Singleton; $foo.stuff.push: <moar stuff>; dd $bar.stuff | ||
camelia | rakudo-moar 1d4600: OUTPUT«Array @.stuff = [("some", "stuff"), ("moar", "stuff")]» | ||
phatbot | perlpilot: that means I've been hiding it well for all these years | 17:11 | |
Muahahhaahaha | |||
17:11
grondilu left
|
|||
perlpilot | in that case ... good job so far! | 17:12 | |
;) | |||
SmokeMachine | phatbot: when I try in the same "file" it works... the problem occurs when I use a different file... | 17:14 | |
phatbot | SmokeMachine: so you got this singleton in a module... You `use Blagh` it two different files that are being run as a single program and you no longer have a singleton? | 17:15 | |
oh you pasted links | 17:16 | ||
SmokeMachine | phatbot: that's it! | ||
phatbot: a small example: | 17:18 | ||
phatbot | SmokeMachine: well, I've no idea if that's even supposed to work, especially with the lexical loading branch we're merging Saturday. From what I understand, you could load two different modules with the same name, for example, and it would work. So I'm thinking the two different uses are two different compilation units and that's why it doesn't work like you expect it to | ||
SmokeMachine: but I don't know this stuff, which is why my initial suggestion was to seek out nine :) | 17:19 | ||
SmokeMachine | gist.github.com/FCO/1561729d83b673...1d90199184 | ||
phatbot | Add .p6 extension to files | 17:20 | |
gregf_ | phatbot: m: say [*] 1..10 | ||
SmokeMachine | phatbot: Im sorry, but what means "seek out nine"? | ||
phatbot: thats not a .p6 file... | |||
phatbot | SmokeMachine: a person, nine. He's the expert on all this module stuff | ||
gregf_: ? | 17:21 | ||
Xliff | m: say '"' ~~ / <[ '"' ]> / | ||
camelia | rakudo-moar 1d4600: OUTPUT«Potential difficulties: Quotes are not metacharacters in character classes at <tmp>:1 ------> 3say '"' ~~ / <7⏏5[ '"' ]> / Repeated character (') unexpectedly found in character class at <tmp>:1 ------> 3say '"' ~…» | ||
Xliff | m: say '"' ~~ / <[ " ]> / | ||
camelia | rakudo-moar 1d4600: OUTPUT«「"」» | ||
SmokeMachine | hum! nine is a person!!! thanks! | ||
17:22
cibs left
|
|||
phatbot | gregf_: what was that? | 17:23 | |
m: say '"' ~~ / '"' / | |||
camelia | rakudo-moar 1d4600: OUTPUT«「"」» | ||
17:24
cibs joined
17:25
cyphase left
17:26
toolforger joined
|
|||
toolforger | g'evening everybody :-) | 17:26 | |
phatbot | \o | ||
SmokeMachine | .tell nine Hi! could you help me? Could you tell me if it's working as expected? use a module with a singleton in 2 different files (one of then at compile time) should return different object instances? like that: gist.github.com/FCO/1561729d83b673...1d90199184 | ||
yoleaux | SmokeMachine: I'll pass your message to nine. | ||
17:27
domidumont joined
|
|||
phatbot | gregf_: m: say [+] ^9999999999999999999999999999999999999999999999999999999999999999999999999 | 17:27 | |
17:28
prammer left
|
|||
phatbot | hm, weird. perl6.fail lists tickets if they've been updated after being resolved :/ | 17:28 | |
toolforger | Anybody available for discussing JVM desirables? | 17:29 | |
phatbot | What are "desirables"? | ||
toolforger | E.g. what package names to use for JVM binaries for a given Perl source file/module | 17:30 | |
phatbot | vOv | 17:31 | |
17:31
cyphase joined
|
|||
toolforger | I know how Java tools expect things to be, I'm not so sure about what's desirable for Perl | 17:31 | |
17:31
rurban left,
nicq20 left
|
|||
gregf_ | phatbot: sorry, i thought you were a bot *runs* | 17:31 | |
toolforger | I would like to implement some sensible defaults for that :-) | ||
phatbot | gregf_: so you see a bot and you start feeding him random crap? Pfft... That's racism! | 17:32 | |
m: say [+] ^9999999999999999999999999999999999999999999999999999999999999999999999999 | 17:33 | ||
camelia | rakudo-moar 1d4600: OUTPUT«49999999999999999999999999999999999999999999999999999999999999999999999985000000000000000000000000000000000000000000000000000000000000000000000001» | ||
phatbot | That one actually works FWIW :) | ||
jnthn | .oO( bigbotry ) |
||
17:33
berserk_guts joined
|
|||
gregf_ | m: ([*] 1..10).say # phatbot does that look like random crap? | 17:33 | |
camelia | rakudo-moar 1d4600: OUTPUT«3628800» | ||
gregf_ | and racism is too strong a word :/ | 17:34 | |
17:34
berserk_guts left
|
|||
phatbot | I guess I think I'm funnier than I really am :( | 17:34 | |
gregf_ | heh | 17:35 | |
17:35
pierre__ left
|
|||
samcv | good morning perl6 | 17:37 | |
phatbot | \o\ | ||
lizmat | samcv o/ | ||
17:39
pierre_ joined,
dj_goku joined
|
|||
phatbot | toolforger: ask psch, bartolin, or arnsholt if you see them around. | 17:41 | |
17:42
pyrimidine left,
pyrimidine joined
17:43
pierre_ left
|
|||
toolforger | Being a chat noob: Is there a good way to invite two people to a common chat? | 17:45 | |
17:45
dj_goku left
|
|||
toolforger | I'm using Pidgin, FWIW | 17:45 | |
phatbot 's no idea | |||
ilmari | create a new channel, invite them | ||
geekosaur | pretty much just have to create a channel for yourself (by joining it; it's dynamic) and /invite | ||
toolforger | Ah, thanks, that's straightforward enough :-D | 17:46 | |
ilmari | you can make the channel invite-only, /mode #channel +i | ||
that way only people you /invite can join | |||
17:47
pyrimidine left
|
|||
geekosaur | +s can also be useful (so it doesn't show in a channel list) | 17:47 | |
toolforger | I think it's okay if I name it #perl6-jvm or something like that | 17:48 | |
MasterDuke_ | toolforger: are you familiar with ObjectWeb ASM at all? | 17:49 | |
toolforger | Sort of - I've been using libraries that use it for several years, and been looking at the docs at various times | ||
I know my way around the JVM, though I did some brush-up around class file formats and such | 17:50 | ||
17:50
domidumont left
|
|||
toolforger | Plus did a diagonal read of all the ASM manual pages | 17:51 | |
MasterDuke_ | well, if you're interested in a hard problem, i've been trying to get r-j to support the original file+line annotations that i added to r-m | 17:52 | |
irclog.perlgeek.de/perl6-dev/2016-...i_13602100 has some chat about it (and the previous/next day or two) | |||
toolforger | Mmm... debug info should be easy to add | 17:53 | |
it might be hard to convince tools to pick up Perl sources though | 17:54 | ||
17:54
dakkar left
|
|||
MasterDuke_ | i've got it added, it's reading it back out that's a problem | 17:54 | |
toolforger | Wrong extension, and most likely wrong subdirectory, too | ||
toolforger goes checking the old chat | |||
any keywords I should search the chatlogs for? | 17:55 | ||
phatbot | RabidGravy++ good post | ||
MasterDuke_ | i'm adding ASM Attributes to the bytecode with file/line info | 17:56 | |
toolforger | OK, that would be the way to do it | ||
MasterDuke_ | asm, line directives, attributes | ||
around the timeframe of that link maybe plus/minus a couple days | |||
[Coke] | (#perl6-jvm) (#perl6-dev is probably fine for that, but if you do create another perl6- chat, be sure to mention it to moritz & mst.) | 17:57 | |
toolforger | Did you try triggering a Java exception? The stack trace should show you what the JVM thinks about the info | ||
MasterDuke_ | well, i got an arrayaccessoutofbounds exception without trying to trigger one | 17:58 | |
*arrayindex | |||
toolforger | that should be easier to diagnose for mistakes than e.g. Eclipse simply not displaying the right file | ||
MasterDuke_ | but it wasn't very helpful | ||
toolforger | You can simply "throw new RuntimeException()" anywhere | 17:59 | |
then look how the stack trace looks like | |||
MasterDuke_ | i have to head out, but i'll be back on this evening | ||
toolforger | If the stack trace is too short, somebody up the call stack is not rethrowing the exception | ||
I saw nqp-j has issues with dealing with exceptions that cross the Java/Perl boundary, maybe that's what you are (not) seeing | 18:00 | ||
cu then :-) | |||
MasterDuke_ | before i leave, this is the code/line that was throwing the array exception: github.com/MasterDuke17/nqp/blob/s....java#L331 | 18:02 | |
toolforger | Oh, that's inside the JDK | ||
I'd need to see the stack trace to say anything meaningful about that | 18:03 | ||
samcv | is UNPACK base something that should be documented in the docs? | 18:04 | |
it's not in roast or anywhere in the docs or in the design docs | |||
toolforger | Or maybe the array access is in NQP's class loaders, though I cannot remember having seen it use arrays | ||
The kind of code in line 133 itself cannot throw an ArrayBoundsException, anyway | 18:05 | ||
18:05
pyrimidine joined
|
|||
phatbot | samcv: what's UNPACK base? | 18:06 | |
grep -R UNPACK src/ gives me nothing | |||
samcv | err UNBASE | ||
phatbot | samcv: no, it should'nt be documented. It' | ||
samcv: no, it should'nt be documented. It's an internal sub that should be moved to Rakudo::Internals. IIRC it's used by grammar to handle rad_number token | |||
samcv | ah ok | 18:07 | |
phatbot | samcv: we have parse-base() as user-facing version | ||
samcv | gotcha | ||
phatbot | I think the convention is the ALLCAPS subs are all internal and we just haven't had a chance to move them all to Rakudo::Internals yet | ||
samcv | ah ok | 18:08 | |
18:10
pyrimidine left
18:11
prammer joined
|
|||
phatbot | m: CORE::.values.grep(Sub).grep({try .name.uc eq .name})».name.say | 18:12 | |
camelia | rakudo-moar 1d4600: OUTPUT«WARNINGS for <tmp>:Useless use of "eq" in expression ".uc eq .name" in sink context (line 1)(RETURN-LIST GATHER GENERATE-ROLE-FROM-VALUE ORDER METAOP_TEST_ASSIGN:<&&> METAOP_HYPER_POSTFIX DUMP VAR DEPRECATED METAOP_HYPER_CALL MD-ARRAY-SLICE-ONE-POSIT…» | ||
phatbot | useless use of useless use | 18:13 | |
18:13
pyrimidine joined
|
|||
phatbot | m: say WHAT 42 | 18:13 | |
camelia | rakudo-moar 1d4600: OUTPUT«(Int)» | ||
phatbot | m: say HOW 42 | ||
camelia | rakudo-moar 1d4600: OUTPUT«Perl6::Metamodel::ClassHOW.new» | ||
phatbot | I wonder why HOW doesn't show up in that list, but WHAT does | 18:14 | |
And these aren't internal despite all caps, it's the sub versions of .WHAT .HOW etc ummm.. what do we call them? pseudo-methods? | |||
[Coke] discovers "leider hosen" | |||
phatbot | What's that? | 18:15 | |
[Coke] | macro-ish] | ||
phatbot: apparently "Unfortunately, pants." | |||
as opposed to lederhosen. | |||
toolforger | "leather pants" | ||
phatbot | And I thought a ladder made of hoses... | ||
toolforger | "leider" = "alas" | 18:16 | |
18:16
ccntrq left
|
|||
toolforger | "ladder" = "Leiter" | 18:17 | |
18:17
zakharyas joined
|
|||
[Coke] | I like "Alas, pants." better. :) | 18:17 | |
toolforger | Also, "Leiter" = "head" (e.g. of company) | 18:18 | |
So may be "Leiterhosen" might be "pants of the leader" | |||
18:18
ccntrq joined
18:19
domidumont joined
18:20
ccntrq left
18:21
andrzejku joined
|
|||
phatbot | m: .say for 42.?dasdasdsa. | 18:21 | |
camelia | rakudo-moar 1d4600: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed postfix callat <tmp>:1------> 3.say for 42.?dasdasdsa.7⏏5<EOL>» | ||
phatbot | m: .say for 42.?dasdasdsa | ||
camelia | rakudo-moar 1d4600: OUTPUT«Nil» | ||
phatbot | Is there a nice-lookin' trick to make it loop only over stuff provided by the method, excluding Nil | 18:22 | |
18:22
ccntrq joined
18:32
FROGGS joined
18:34
ccntrq left
18:35
ccntrq joined
18:38
thalunil joined
18:40
domidumont left,
dj_goku joined,
dj_goku left,
dj_goku joined
18:41
kyclark left
18:42
ccntrq left
18:44
ccntrq joined
18:46
dj_goku left,
labster joined,
ccntrq left
18:47
ccntrq joined
18:48
lucasb left
|
|||
phatbot | m: Nil.head | 18:50 | |
camelia | rakudo-moar 1d4600: OUTPUT«Cannot resolve caller head(Nil: ); none of these signatures match: (Any:D $: *%_) (Any:D $: Cool $n, *%_) in block <unit> at <tmp> line 1» | ||
phatbot wonders why that fails | |||
18:51
prammer left
|
|||
phatbot | s: [], 'head', \() | 18:53 | |
SourceBaby | phatbot, Sauce is at github.com/rakudo/rakudo/blob/1d46...s.pm#L1880 | ||
b2gills | You know whats annoying Ideone has Perl 6, but it is the 2014.07 version. I asked in the middle of June for it to be upgraded, they got back to me in July, and they still have the old version. | 18:54 | |
phatbot | m: Nil.tail | 18:55 | |
camelia | rakudo-moar 1d4600: OUTPUT«Cannot resolve caller tail(Nil: ); none of these signatures match: (Any:D $: *%_) (Any:D $: Cool $n, *%_) in block <unit> at <tmp> line 1» | ||
phatbot | another one :/ | ||
lizmat | samcv: undocumented ALLCAPS subs should remain undocumented: they will need to be moved to Rakudo::Internals at some point | 18:56 | |
El_Che | . | 18:57 | |
18:57
wamba left
18:58
ccntrq left
|
|||
samcv | has rakudo been released yet for the month? | 18:58 | |
i'm using Readline and the REPL keeps like. not even coming up sometimes | |||
so that commit adding Readline history for REPL i think should be reverted before release | |||
i forget when we release again | |||
phatbot | samcv: no, it's this Saturday. How can I reproduce the issue? Just install Readline? | ||
NeuralAnomaly: status | |||
samcv | oh ok | ||
NeuralAnomaly | phatbot, [✘] Next release will be in 3 days and 10 hours. Since last release, there are 50 new still-open tickets (6 unreviewed and 0 blockers) and 43 unreviewed commits. See perl6.fail/release/stats for details | ||
samcv | then i will try and fix it then :) | ||
phatbot | samcv: release is 3rd Saturday of the month | ||
samcv++ ok cool :) | 18:59 | ||
19:00
ccntrq joined
|
|||
phatbot | Ah, doh | 19:01 | |
19:01
prammer joined
|
|||
phatbot | the head/tail are an Any and Nil is an any too | 19:01 | |
[Coke] | b2gills: sending them a feedback now. | 19:02 | |
explaining tht a lot's been done and I can help if they need. | |||
nine | ~~ | 19:07 | |
yoleaux | 17:26Z <SmokeMachine> nine: Hi! could you help me? Could you tell me if it's working as expected? use a module with a singleton in 2 different files (one of then at compile time) should return different object instances? like that: gist.github.com/FCO/1561729d83b673...1d90199184 | ||
nine | SmokeMachine: Precompilation can be tricky. Your singleton module is precompiled first. $instance (an empty scalar container) is stored in the precomp file. Use is precompiled next and causes $instance to be updated. But nothing changes the stored precomp file with the empty container. | 19:08 | |
SmokeMachine: when you then load ToUse and Use, all you get is an empty container. But how could it be otherwise? E.g. what would happen if two modules both get independently precompiled and both cause a singleton to be created. If your main program loads both these modules, which singleton object would you get? | 19:09 | ||
phatbot | m: say "$2" | 19:12 | |
camelia | rakudo-moar a980eb: OUTPUT«Use of Nil in string context in block <unit> at <tmp> line 1» | ||
phatbot | Um, looks like REPL wants fixing for warnings. That gives me "Control flow commands not allowed in toplevel" | 19:13 | |
19:13
thayne joined
19:14
kyclark joined
19:16
MasterDuke_ left,
thalunil left
19:17
prammer left
|
|||
phatbot | samcv: FWIW, I'm not able to reproduce any hangs in my REPL with Readline installed. | 19:18 | |
I also learned that it's a bad idea to create ~/.inputrc and fill it with random crap | |||
19:18
thalunil joined
|
|||
phatbot clicks imaginary "Take" on the REPL warnings stuff | 19:20 | ||
19:21
domidumont joined,
thayne left
19:23
thayne joined
19:24
darutoko left,
thayne left
19:25
thalunil left
|
|||
phatbot | hehe... down a rabbit hole | 19:26 | |
m: CONTROL { .gist.say }; emit; say "haha, no one is deadied"; | |||
camelia | rakudo-moar a980eb: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Calling emit() will never work with declared signature (\value --> Nil)at <tmp>:1------> 3CONTROL { .gist.say }; 7⏏5emit; say "haha, no one is deadied";» | ||
phatbot | I mean | 19:27 | |
m: CONTROL { .gist.say }; emit 42; say "haha, no one is deadied"; | |||
camelia | rakudo-moar a980eb: OUTPUT«Died with CX::Emit in block <unit> at <tmp> line 1emit without supply or react in block <unit> at <tmp> line 1» | ||
19:28
effbiai left
19:29
effbiai joined
19:30
prammer joined
19:32
asd_ joined
|
|||
asd_ | hm... | 19:32 | |
19:32
asd_ left
|
|||
phatbot | heh | 19:33 | |
RabidGravy | so I guess I'd better start the next advent post now | 19:37 | |
phatbot | You're making two? | ||
huggable: advent | 19:38 | ||
huggable | phatbot, github.com/perl6/mu/blob/master/mi...6/schedule | ||
RabidGravy | yeah, got a slot for sunday | ||
phatbot | RabidGravy++ | ||
interesting... now I rebuilt Rakudo and getting the hangs samcv mentioned :/ | 19:39 | ||
samcv | :/ | ||
method history-file() returns Str { ... } what | 19:40 | ||
oh no | |||
phatbot | ? | ||
.seen cygx | |||
yoleaux | I saw cygx 9 Dec 2016 14:23Z in #perl6: <cygx> first draft: perl6advent.wordpress.com/?p=5746&...eview=true | ||
samcv | that's in the REPL since the PR for adding the history file for readline... | 19:41 | |
that shouldn't do anything right unless there's some ... magic i don't know about in perl 6 | |||
19:41
dj_goku joined,
dj_goku left,
dj_goku joined
|
|||
samcv | oh linenoise has it set the same way hm | 19:41 | |
phatbot | it's a stub | ||
m: class { method meow { … } }.meow | 19:42 | ||
camelia | rakudo-moar a980eb: OUTPUT«Stub code executed in method meow at <tmp> line 1 in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
samcv | yeah i know that | ||
phatbot | Oh ok | ||
How do you know so much Perl 6? | |||
samcv | me? | ||
phatbot | Yeah | ||
samcv | idk | ||
learning it | 19:43 | ||
RabidGravy | how does anyone know so much Perl 6? ;-) | ||
phatbot | No, I mean I don't recall seein samcv here for more than a month, but in some things she knows more than me | 19:44 | |
samcv | uhm ok it looks like history-file is a method that is defined in a different spot | ||
phatbot | I guess that's more a statement about me than anyone else heh | ||
19:44
pyrimidine left
|
|||
samcv | i learn quickly ;) | 19:44 | |
i only started programming perl 5 5 months ago | |||
19:45
pyrimidine joined
|
|||
samcv | my friends i've talked to are super suprised that even tho they've been perling for years i now surpass them haha | 19:45 | |
maybe i'm finding what i'm good at.. never been employed as a programmer. but i really enjoy it | |||
phatbot | :) | 19:46 | |
RabidGravy | don't fancy a job? I'm going to be the only developer in a team that should have five in the new year | ||
19:46
dj_goku left
|
|||
samcv | don't fancy? well i am looking for work atm | 19:46 | |
maybe i could do something in devops cause my last job was Jr Linux admin | 19:47 | ||
samcv really needs to get a job | |||
RabidGravy | where are you based? | ||
samcv | in the bay area, in california | 19:48 | |
maybe i can point to contributing to perl 6 and say. pls give me job! i am good! i swear | |||
19:48
dwarring joined
|
|||
nine | samcv: there are definitely worse ways to advertise than having public open source contributions | 19:49 | |
19:49
pyrimidine left
|
|||
samcv | like? lol | 19:49 | |
RabidGravy | bit of a commute to London then :) | ||
samcv | RabidGravy, i will drive really fast | 19:50 | |
nine | samcv: like....anything else *g* | ||
samcv | that's what i was thinking... | ||
ugh so annoying. the perl language package in atom in built in, but it will go first before the perl 6 one... since it has perl 6 file detection too | 19:51 | ||
nine | If I've ever got to apply for a job again, I'll just point at the list of my conference talks and see who bites ;) | ||
samcv | so if i disable it, it detects the rakudo files... but if i do that i can't look at the perl files | ||
ha | |||
really liking it now that i got perl 6 code execution only a keyboard shortcut away :) | 19:52 | ||
phatbot | Yeah, I recall Madcapjake telling me I had to disable the built-in perl highlighter if I wanted perl6fe to work | 19:53 | |
samcv | just really like automating things at least. i've been doing that a lot | ||
you don't have to disable it, but | |||
if it's not named .p6 or .pl6 or .nqp or whatever | 19:54 | ||
the perl plugin will try and do its bad perl 6 highlighting | |||
Xliff | Is there any way I can block the default constructor of a class? | ||
phatbot | Ah | ||
Xliff | m: class A { has $.n; multi method new($a) { $!n = 1; }; multi method new($a, $b) { $!n = 2 }; }; my $a = A.new(:n(3)); | ||
camelia | ( no output ) | ||
RabidGravy | which reminds me I need to update the vim perl 6 syntax file at some point | ||
phatbot | Xliff: proto method new (|) {*} | ||
19:54
djbkd_ joined
|
|||
samcv | i added some detection to detect if it starts with the perl 6 shebang or 'my class' and detect as perl 6 instead of perl 5, but | 19:54 | |
the perl plugin does that too | 19:55 | ||
Xliff | phatbot++ # Thanks! | ||
samcv | and goes first | ||
dunno if i can get them to disable that, or something.. | |||
RabidGravy, it should just come with it | |||
unless they updated it since then | |||
19:56
loveperl joined
19:57
wamba joined
|
|||
RabidGravy | samcv it does, it just doesn't match the current state of the language | 19:58 | |
samcv | yeah | ||
you should try the atom one ;) | |||
and if there's _any_ syntax highlighting errors please open an issue and i'll fix it quickly | 19:59 | ||
unhighlighted methods, routines, etc even tiny things | |||
19:59
andrzejku left
|
|||
Xliff | Hmm... phatbot, that works, but the more tricky among us might know that perl6 will allow constructor of the form A.new(1, :n(4)) -- don't want anyone to have the ability to set $.n via new. | 20:00 | |
samcv | also the Readline plugin still has a problem it doesn't work with readline 7 | ||
it hardcodes version 6 in | |||
Xliff | samcv: I am using atom perl6-fe and loving it. | ||
samcv | nice! | ||
\o/ | |||
Xliff | I also managed to convert the snippets to something usable for Sublime.... although I have not texted that. ;) | ||
s/texted/tested/ | 20:01 | ||
phatbot | Xliff: it won't get set | ||
loveperl | How did you call a class that is in another file? | ||
Xliff | Also: github.com/MadcapJake/language-per.../issues/53 | ||
phatbot | Xliff: and well, reading your multi method new()... it's wrong. It needs to self.bless | ||
Xliff | phatbot: LOL! Yeah. Fixed that already in a camelia window. | 20:02 | |
m: class A { has $.n; proto method new (|) {*}; multi method new($a) { self.bless(:n(1)); }; multi method new($a, $b) { self.bless(:n(2)) }; }; my $a = A.new(1, :n(4)); | |||
camelia | ( no output ) | ||
phatbot | Xliff: right, so that's what will only be set. The extra args would be ignored. Any methods can take any number of named args | ||
Xliff | So how can I block the constructors from allowing $.n to be set like that? | ||
Ooh! | 20:03 | ||
phatbot | m: say 'lulz'.uc: :42a :72meows | ||
samcv | phatbot, just made a PR to fix readline | ||
camelia | rakudo-moar a980eb: OUTPUT«LULZ» | ||
samcv | err the REPL | ||
Xliff | m: class A { has $.n; proto method new (|) {*}; multi method new($a) { self.bless(:n(1)); }; multi method new($a, $b) { self.bless(:n(2)) }; }; my $a = A.new(1, :n(4)); say $a.n; | ||
camelia | rakudo-moar a980eb: OUTPUT«1» | ||
Xliff | Right. | ||
20:03
cygx joined
|
|||
samcv | Xliff, see the current readme for Perl6FE for how to get perl 6 scripts running from atom | 20:03 | |
cygx has scheduled his advent post | |||
yoleaux | 11:43Z <phatbot> cygx: reminder: your post is up next in ~12.5 hours | ||
Xliff | REPL... REPR... what's the difference? | ||
phatbot | Xliff: but if you want it to actually whine about the extra args, just add %_ and die "no args!" | ||
cygx: \o/ | |||
cygx | I'm not entirely happy with it, but it is what it is... | 20:04 | |
phatbot | That's what my mom said about me! | ||
samcv | Xliff, github.com/perl6/atom-language-per...ntegration | ||
Xliff | samcv++ # \o/ | 20:05 | |
samcv | :) | ||
Xliff | If only Atom was working under my Linux VM. | ||
samcv | you don't even have to save the file too | ||
:( | |||
what is the host? | |||
Xliff | Currently I am using it with Windows via SMB export to my host. | ||
Windows | |||
samcv | atom is for windows too | ||
Xliff | I know. That's the only way I can use atom right now. | ||
samcv | ohhh | ||
oh i see the problem i guess | |||
perl 6 not working under windows properly? | |||
Xliff | I can't get it to run under Linux for some reason. The GUI will not start. | ||
No. My perl6 install is on the linux vm. | 20:06 | ||
samcv | kk | ||
Xliff | So I export home dir to Windows so I can use Windows Atom for editing. | ||
samcv | ah | ||
cygx | our wordpress theme looks sub-optimal, though: it's too narrow, so code blocks end up with horizontal scroll bars :( | ||
Xliff | Sublime is working under Linux VM, so I will try getting the TextMate rules over there to see if they work better than ModernPerl. | ||
20:06
AlexDaniel joined
|
|||
samcv | Xliff, maybe hack something together? | 20:07 | |
Xliff | samcv: And I do have to say, Atom+language-perl6fe > Sublime+ModernPerl | ||
samcv | idk can you make a perl6 names executable which gets the vm to run it | ||
Xliff | samcv: Actually, I already have the .sublime_package. I just have been too lazy to try it! | ||
samcv | and returns the result ha | ||
what .sublime_package? | |||
Xliff | language-perl6fe | ||
samcv | how did you create it | 20:08 | |
Xliff | I converted it. | ||
samcv | how? pls tell | ||
Xliff | cson => json => plist => zip | ||
samcv | you're using the updated plugin too right? cause the dl package moved | ||
Xliff | There are scripts. | ||
samcv | hmmmmm | ||
links | |||
Xliff | But I haven't tested it under Sublime, yet. | ||
Yeh. I am using the repo. | |||
samcv | kk | ||
tbrowder | Anyone using Komodo for p6? | 20:10 | |
Xliff | samcv: Actually, it is more convoluted. | 20:11 | |
cson => json => yaml => plist => zip | 20:12 | ||
samcv | well send it to me | ||
i will test it | |||
nice | |||
haha | |||
Xliff | Uh. OK. I will create issue. | ||
And attach package. | |||
Or can I email you? | |||
samcv | you can email me | ||
Xliff | kk | ||
samcv | pm'd you | ||
phatbot | Xliff: if you make sublime highlight perl6 decently, I'll promise not to assimilate you :) | 20:13 | |
sublime > atom | |||
samcv | kk | 20:17 | |
yeah i need perl 6 highlighting to be happy tbh | |||
AlexDaniel | phatbot: source | 20:18 | |
yoleaux | 05:06Z <MasterDuke> AlexDaniel: it looks like you implemented something already, but i'd say just return the name for them or something like that, i don't see anybody ever wanting them for real | ||
samcv | github.com/drforr/perl6-readline/pull/15 hmm if this can be pulled would we want to include Readline in Star? | 20:19 | |
because linenoise doesn't support utf-8 | |||
phatbot | AlexDaniel: github.com/zoffixznet/perl6-phatbot | ||
samcv | oh AlexDaniel | ||
you need to add something to unicodable6 | |||
AlexDaniel | MasterDuke: the problem is, if you do 「say ‘hello’ ~ 0.chr ~ ‘world’」 or something like that, what should committable/evalable gist? | ||
Xliff | phatbot: LOL! You'll try to do that anyways. I wonder what else I can get out of you. :D | 20:20 | |
RabidGravy | Hmm, now do I either split some of the utility functions of Test::META into a separate module or make Test::META a dependency the thing I want to use them in | ||
AlexDaniel | phatbot: bug tracker | ||
the link is broken | |||
I wanted to submit a PR that will change the nickname… | |||
samcv: alright, what? | |||
phatbot | AlexDaniel: github.com/zoffixznet/perl6-phatbot/issues | ||
AlexDaniel | samcv: dumping of all unicode properties | 20:21 | |
? | |||
samcv | no | ||
well sorta | |||
m: for 0..0x1FFFF -> $i { if $i.unimatch('LF') { say $i.uniname } } | 20:22 | ||
camelia | rakudo-moar a980eb: OUTPUT«LINE FEED (LF)» | ||
samcv | the LF is a unicode property called the 'Line_Break' property | 20:23 | |
20:23
Tonik joined
|
|||
samcv | unimatch will check if the codepoint has the specified property | 20:23 | |
AlexDaniel | u: LF | ||
unicodable6 | AlexDaniel, U+000A LINE FEED (LF) [Cc] (control character) | ||
AlexDaniel, U+00BD VULGAR FRACTION ONE HALF [No] (½) | |||
AlexDaniel, U+02BE MODIFIER LETTER RIGHT HALF RING [Lm] (ʾ) | |||
AlexDaniel, gist.github.com/dc202f8aaf0aa2ec27...2457309795 | |||
samcv | LF is a bad example tbh | ||
AlexDaniel | u: LF Cc | ||
unicodable6 | AlexDaniel, U+000A LINE FEED (LF) [Cc] (control character) | ||
phatbot | AlexDaniel: what's the new nickname? | 20:24 | |
AlexDaniel | samcv: alright. OK. What could be the syntax? | ||
phatbot: Zoffix | |||
samcv | m: for 0..0x1FFFF -> $i { if $i.unimatch('Latin') { say $i.uniname } } | ||
camelia | rakudo-moar a980eb: OUTPUT«LATIN CAPITAL LETTER ALATIN CAPITAL LETTER BLATIN CAPITAL LETTER CLATIN CAPITAL LETTER DLATIN CAPITAL LETTER ELATIN CAPITAL LETTER FLATIN CAPITAL LETTER GLATIN CAPITAL LETTER HLATIN CAPITAL LETTER ILATIN CAPITAL LETTER JLATIN …» | ||
samcv | uh just search it when searching other things | ||
phatbot | AlexDaniel: I can't use that one. I have to stay undercover | ||
AlexDaniel | u: { .unimatch(‘Latin’) } | ||
samcv | or maybe not uh | ||
unicodable6 | AlexDaniel, U+0041 LATIN CAPITAL LETTER A [Lu] (A) | ||
AlexDaniel, U+0042 LATIN CAPITAL LETTER B [Lu] (B) | |||
AlexDaniel, U+0043 LATIN CAPITAL LETTER C [Lu] (C) | |||
AlexDaniel, gist.github.com/27443d7c8b9213125e...0950abb8e7 | |||
phatbot | u: { .unimatch("{use NativeCall; sub system (Str) is native {}; system 'ls'}") } | 20:25 | |
RabidGravy | tadzik++ # mergey goodness | ||
samcv | but it will find all properties no matter what they are as long as moarvm has it i guess | ||
AlexDaniel | phatbot: :| | ||
20:26
unicodable6 left
|
|||
phatbot | >:} | 20:26 | |
AlexDaniel | it should say something like ‘meh, fuck off’ | ||
samcv | AlexDaniel, you could just search it when searching others | ||
it won't slow it down really | |||
tho you could do a special case too | |||
m: for 0..0x1FFFF -> $i { if $i.unimatch('9.0') { say $i.uniname } } | |||
camelia | rakudo-moar a980eb: OUTPUT«<reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved><reserved…» | ||
AlexDaniel | samcv: sure, but it's already possible now, and unless you can propose some syntax I'm not sure I will be able to add it :) | 20:27 | |
20:27
domidumont left
|
|||
AlexDaniel | phatbot: aren't you supposed to bring them back on when you crash them? | 20:27 | |
phatbot | OK will do | ||
20:27
unicodable6 joined
|
|||
AlexDaniel | no need | 20:27 | |
samcv | u: match 'thing' | 20:28 | |
unicodable6 | samcv, U+006D LATIN SMALL LETTER M [Ll] (m) | ||
samcv, U+0061 LATIN SMALL LETTER A [Ll] (a) | |||
samcv, U+0074 LATIN SMALL LETTER T [Ll] (t) | |||
samcv, gist.github.com/a6a297d998af3ae114...d7d96ece98 | |||
samcv | maybe like that? | ||
idk something with the match word in it would be easiest to remember | |||
AlexDaniel | phatbot: I'm still waiting for a day I get at least some small bit of time to work on containerizing them… until that happens, can you please not advertise the holes in our RESTRICTED setting pseudofeature? :) | 20:29 | |
phatbot: or… perhaps consider disabling nativecall if it is on | 20:30 | ||
phatbot | You mean the NativeCall one or the nqp one? :D | ||
AlexDaniel | … both | ||
phatbot | ehehe | ||
20:30
FROGGS left
|
|||
loveperl | Could not find form at line 1 in: | 20:34 | |
use form | 20:35 | ||
mst | AlexDaniel: perhaps talk to simcop2387 about how he's locked down perlbot's eval system | ||
loveperl | ? | ||
mst | AlexDaniel: I mean, 'stick it in a container' won't help | ||
loveperl: you tried to load a module that doesn't exist | |||
AlexDaniel | mst: wait… why not? | ||
simcop2387 | rlimits, chroot, seccomp. I can give a better overview if you'd like | ||
phatbot | :o | ||
mst | AlexDaniel: you want security. containers are not designed for security. | ||
phatbot | simcop2387! | ||
simcop2387 | the one and only | 20:36 | |
phatbot | \o/ | ||
mst | AlexDaniel: every time somebody goes "I'll use docker for security", apeiron eats a kitten | ||
AlexDaniel | mst: sooo, are you saying that LXC is insecure or something? | ||
20:36
toolforger left
|
|||
simcop2387 | AlexDaniel: LXC and docker won't protect you from kernel exploits. | 20:36 | |
loveperl | Do I want to call a class that is in a file that is called form.p6? | 20:37 | |
mst | AlexDaniel: ... no, I'm saying it's not designed for the sorts of things you'd want to do to secure an eval server | ||
loveperl | Do I want to call a class that is in a file that is called form.p6? | ||
form.pm6 | |||
simcop2387 | seccomp can got a LONG LONG way to making it mostly impossible to do most exploits | ||
mst | loveperl: trout.me.uk/vaguecat.jpg | ||
20:37
matiaslina left
|
|||
loveperl | lol | 20:38 | |
mst | AlexDaniel: I'm not sure if you're intentionally being a dick or just completely clueless here, but responding to "this is not designed for securing what you're securing" does not mean it's "Insecure or something", it just means you don't know what you're doing yet. maybe ask the sysadmin of the machine they run on for help? | ||
AlexDaniel | simcop2387: alright. alright… good that you're here | ||
20:39
ccntrq left
|
|||
mst | loveperl: show us all the code you currently have and explain what you're trying to do? | 20:39 | |
AlexDaniel | mst: well, that's kinda my machine… | ||
simcop2387 | AlexDaniel: here's the code i do in perlbot's eval to secure things with seccomp, github.com/simcop2387/perlbuut/blo...#L31..L106 , the idea is that it doesn't let the user supplied code open anything for writing, open any sockets etc. they're only allowed to do a few things. | ||
mst | AlexDaniel: then I recommend listening to simcop2387 and not being deliberately obtuse to him like you were to me, since he's a nicer person than I am :P | 20:40 | |
AlexDaniel | mst: stop accusing me of shit, I'm listening already | ||
simcop2387 | i won't abuse anyone (unless they ask for it nicely) but i will start ignoring people. | ||
20:42
ccntrq joined
|
|||
loveperl | call.pl : code=( use form; say form) form.pm6 is: code=( class form extends common{}) | 20:42 | |
AlexDaniel | simcop2387: I'd have to read about seccomp to get the idea about this stuff. So I hope you don't mind if I ping you a bit later | ||
phatbot | loveperl: the current directory is not included by default. you need use lib <.>; or supply -I. on command line | ||
simcop2387 | AlexDaniel: oh no problem at all. | ||
20:43
dj_goku joined
|
|||
simcop2387 | AlexDaniel: This one might or might not affect you, but i gave the perl interpreter CAP_SYS_CHROOT with `setcap cap_sys_chroot+ep $PERL`, that one let me do everything running from nobody:nogroup without ever touching the root user. probably not THAT big of a deal but it helps against the possibility of some module i'm using having code sitting around specifically for me to hit. | 20:44 | |
loveperl | I do not understand? | ||
simcop2387 | AlexDaniel: also, if you're not familiar with strace, it's a big help in understanding what you can do with seccomp. basically you can filter system calls that show up in strace based on the arguments to them. | 20:45 | |
phatbot | loveperl: perl6 -I. call.pl | 20:47 | |
loveperl: you need to tell it where to find form.pm6 and common.pm6 | 20:48 | ||
loveperl | How do I say that? | 20:49 | |
20:49
thalunil joined
|
|||
phatbot | loveperl: Poner lib <.> En su archivo para decir perl6 para buscar los módulos en el directorio actual | 20:50 | |
phatbot relocates | |||
AlexDaniel | mst: thanks | 20:52 | |
20:54
dj_goku left
|
|||
loveperl | asi | 20:56 | |
lib <.>; 2 use form; 3 say form; | |||
20:57
bartolin left
|
|||
AlexDaniel | mst: by the way, any news about the button? | 20:59 | |
loveperl | =begin ⏏comment? | ||
I get error | 21:00 | ||
How to comment en bloc? | 21:01 | ||
=begin comment; brief utilities for the creation of HTML forms. with special datatypes not found in HTML like date, etc todo fieldset+legend, label for field todo BLOCKs (field.block?) todo block show/hide =end comment; | |||
mst | loveperl: please use fpaste.scsys.co.uk/perl6 to show complete code | ||
21:01
nowan_ joined
|
|||
mst | AlexDaniel: I'm probably going to have to email somebody, will try and remember to do that this week | 21:01 | |
21:01
bartolin joined
|
|||
AlexDaniel | mst: that would be nice | 21:02 | |
mst | AlexDaniel: at this point I suspect "attempt to invoke a higher power" is going to be the right answer | ||
shadowpaste | "loveperl" at 217.168.150.38 pasted "como comentar en perl" (7 lines) at fpaste.scsys.co.uk/540217 | ||
mst | key question: are you ok if it's "registered users only" and are you ok if we have to ask on a per-user basis? | ||
(trying to pre-anticipate compromises that might be easier to win) | |||
loveperl | how to comment eb bloc? | 21:03 | |
How to comment in block? | |||
fpaste.scsys.co.uk/540217?tx=on&...rmat+it%21 | |||
mst | loveperl: what happens if you remove the ';' and just have '=begin comment' ? | 21:04 | |
loveperl: ... wait, there's one space in front of the = in your code. no spaces! | |||
21:04
nowan left
|
|||
phatbot | mst, IIRC it was already registerer users only so that's fine. The other option isn't ideal but better than nothing | 21:05 | |
loveperl | tank you | ||
AlexDaniel | mst: “registered users only” is how it has always been | ||
mst | AlexDaniel: right, so maybe it needs some sort of additional whitelist | ||
21:06
xinming_ joined
|
|||
AlexDaniel | mst: not sure if that would be easy, but perhaps checking if a user has at least one open or resolved ticket is good enough | 21:06 | |
loveperl | class form extends common{ | 21:07 | |
AlexDaniel | or a script that builds a whitelist based on this, that could work too | ||
mst | loveperl: please always use the paste site to show code. | ||
loveperl: random lines in channel do not help | |||
loveperl | ok | 21:08 | |
SmokeMachine | nine: so, I cannot have a trait that saves data on a singleton because I'll never get that singleton again? | ||
21:09
xinming left
|
|||
jnthn | loveperl: If you are trying to do inheritance, you may find docs.perl6.org/language/classtut#Inheritance helpful | 21:09 | |
21:09
thalunil is now known as thayne
|
|||
bartolin | AlexDaniel: you pinged me to rebase rakudo pr 565. I can do that, but I wonder what git commands are best to do that. should I merge current nom into my old branch (resolving the conflict while doing that) and push the updated branch to my repo? | 21:10 | |
RabidGravy | SmokeMachine, sure you can | ||
SmokeMachine | RabidGravy: not inter files... | 21:11 | |
RabidGravy | eh? | ||
SmokeMachine | nine: when the second file uses the module it's gotten by precompiled file? Not from the preloaded module in memory with the $instance? | 21:13 | |
bartolin | AlexDaniel: or is it acceptable to just force push something without a conflict? | ||
SmokeMachine | RabidGravy: this: 17:07 <yoleaux> 17:26Z <SmokeMachine> nine: Hi! could you help me? Could you tell me if it's working as expected? use a module with a singleton in 2 different files (one of then at compile time) should return different object instances? like that: gist.github.com/FCO/1561729d83b673...1d90199184 | 21:14 | |
AlexDaniel | bartolin: you can force push into your own branch, yes | ||
phatbot | bartolin, you can forcepush into your own branch the PR is from | ||
AlexDaniel | in your own fork rather | ||
loveperl | constructor? | 21:15 | |
bartolin | thanks! I'll look into it (but not today) | ||
loveperl | Constructor of a class | 21:16 | |
nine | SmokeMachine: maybe you want to initialize your singleton in an INIT block? | 21:18 | |
21:20
RabidGravy left
|
|||
SmokeMachine | nine: in my real case of use I do that on a trait... or do you mean initialize the $instance on a INIT block? | 21:20 | |
21:21
setty1 left
|
|||
SmokeMachine | nine: this is the case: github.com/FCO/Test-Fuzz/blob/mast...st/Fuzz.pm | 21:22 | |
shadowpaste | "loveperl" at 217.168.150.38 pasted "constructor" (26 lines) at fpaste.scsys.co.uk/540218 | ||
21:23
loveperl_ joined
|
|||
loveperl_ | How do I build a builder? | 21:23 | |
fpaste.scsys.co.uk/540218?tx=on&...rmat+it%21 | |||
SmokeMachine | nine: I'm sorry the leg.. I'm on my doughter's ballet presentation | 21:24 | |
21:24
RabidGravy joined
21:25
loveperl left
21:26
zakharyas left,
Tonik left
21:27
imcsk8_ is now known as imcsk8
21:30
thayne left
|
|||
dwarring | m: role R {}; my $a = 42 but R; say 42.WHICH | 21:35 | |
camelia | rakudo-moar 7b84ad: OUTPUT«Int|42» | ||
dwarring | m: role R {}; my $a = 42 does R; say 42.WHICH | ||
camelia | rakudo-moar 7b84ad: OUTPUT«Int+{R}|42» | ||
dwarring | ^^ shot myself in the foot the other day | 21:36 | |
used 'does' on simple scalars | 21:37 | ||
has a very global affect | |||
cygx | there's an integer cache, so stuff like that can indeed happen | 21:39 | |
dwarring | yeah, a but of a trap | ||
21:41
lukiramu joined
|
|||
cygx | I believe early Fortran version even had the ability to inadvertently redefine numbers dues to by-reference argument semantics | 21:42 | |
21:42
bjz left
|
|||
dwarring | heh, like redefining 0 in fortran | 21:43 | |
masak | in Perl 6, all we can do is redefine 2 + 2 | 21:44 | |
but in a very safe, lexically scoped way :) | |||
21:44
lukaramu left
|
|||
masak | m: sub infix:<+>(2, 2) { 5 }; say 2 + 2 | 21:44 | |
camelia | rakudo-moar 7b84ad: OUTPUT«5» | ||
masak | oh, I guess that should be spelled `multi` for clarity. | ||
geekosaur | sounds like stupid haskell let tricks :p | ||
masak | m: multi infix:<+>(2, 2) { 5 }; say 2 + 2 | 21:45 | |
camelia | rakudo-moar 7b84ad: OUTPUT«5» | ||
21:45
rindolf left
|
|||
cygx | m: 2 does role { method gist { "42" } }; say 2 | 21:46 | |
camelia | rakudo-moar 7b84ad: OUTPUT«42» | ||
21:46
pyrimidine joined
21:47
kurahaupo_ joined
21:48
kurahaupo left,
kurahaupo_ is now known as kurahaupo
21:49
rindolf joined,
dj_goku joined
21:55
cdg_ joined,
dj_goku left
21:57
cdg left
21:58
Ven left
21:59
Ven joined,
rurban joined
22:00
cdg joined
22:02
skids left,
bjz joined
22:04
cdg_ left,
prammer left
22:05
cdg left
22:11
kyclark left
22:12
RabidGravy left
22:15
kyclark joined
22:16
kyclark left,
bjz left
|
|||
loveperl_ | exit in perl | 22:25 | |
? | |||
22:27
mawkish_ left
22:33
kurahaupo left
22:34
MorayJ left
22:37
kyclark joined
22:46
pyrimidine left,
pyrimidi_ joined
22:50
dj_goku joined,
dj_goku left,
dj_goku joined
|
|||
masak | these random comments three years later are sometimes amusing, but rarely very deep: perl6advent.wordpress.com/2013/12/...ment-16238 | 22:54 | |
22:55
AlexDaniel left
22:56
dj_goku left,
rburkholder joined,
kyclark left
|
|||
loveperl_ | my $s = any; here null? | 22:58 | |
masak | m: my $s; say $s | 22:59 | |
camelia | rakudo-moar 7b84ad: OUTPUT«(Any)» | ||
cygx | masak: that comment is hilarious | 23:01 | |
"the factorial function is worth putting in your product" | |||
23:09
bpmedley joined
23:11
cdg joined
|
|||
phatbot | hehe | 23:11 | |
masak: nice one :) | |||
phatbot is glad "infix_prefix_meta_operator:<[ ]>" didn't stick :} | |||
loveperl_: exit is exit | 23:13 | ||
m: say "hi"; exit; say "this doesn't print" | |||
camelia | rakudo-moar 7b84ad: OUTPUT«hi» | ||
loveperl_ | tank you | ||
phatbot | loveperl_: no, `any` is not null; it's a Junction perl6.party/post/Perl-6-Schrodinger...-Junctions | 23:14 | |
loveperl_ | what is null? | 23:15 | |
phatbot | loveperl_: depends on what you're trying to do. Perl 6 has infinite number of "nulls". There's Empty, Nil, and all the type objects (Int is undefined; but 42 is, for example) | 23:16 | |
b2gills | m: say #`(There is a factorial function, its just called) 6.&permutations.Int | 23:19 | |
camelia | rakudo-moar 7b84ad: OUTPUT«720» | ||
phatbot | m: say [*] ^6+1; #`(There is a factorial function, its just called) | 23:21 | |
camelia | rakudo-moar 7b84ad: OUTPUT«720» | ||
23:22
AlexDaniel joined
23:25
lukiramu left
|
|||
samcv | omg fuzzy search | 23:25 | |
finding wayyyy too many things | |||
it needs to list the fuzzyly found things at the end of the list | 23:26 | ||
(re the perl 6 docs) | |||
also it seems to be realllyyy slow sometimes | |||
and maxing out the cpu on my computer | 23:27 | ||
23:27
loveperl_ left
23:28
cdg left
|
|||
samcv | try typing 'run' into it. it justs... kinda | 23:28 | |
doesn't do anything and uses all my cpu | |||
oh hey it finally showed up... but has a billion pages all returned in that scrolling menu.. | 23:29 | ||
i think it should search how it normally would and then have a link to click to go to a fuzzily searched list of things if nothing shows up | 23:30 | ||
AlexDaniel | samcv: fix it then! | 23:31 | |
this problem has been there for quite a while | 23:32 | ||
it just got a little bit worse | |||
samcv | you mean since it was changed to fuzzy search? | ||
AlexDaniel | no, previously if you typed ‘e’ it would have given you waaaaay too many results | ||
so now there are just a bit more ways to get too many results | |||
but same problem | |||
samcv | ah | 23:33 | |
dalek | c: d5c7777 | samcv++ | template/search_template.js: Change levenshtein distance from 2 to 1 Try to get it for now to not return way too many things for short or common words |
23:35 | |
23:38
kurahaupo joined
|
|||
samcv | ok that change made it like 10x better | 23:39 | |
ok maybe not 10x better but usable | |||
AlexDaniel | OK: github.com/perl6/doc/issues/1050 | 23:40 | |
23:43
travis-ci joined
|
|||
travis-ci | Doc build failed. Samantha McVey 'Change levenshtein distance from 2 to 1 | 23:43 | |
travis-ci.org/perl6/doc/builds/183766447 github.com/perl6/doc/compare/a9722...c77772c72b | |||
23:43
travis-ci left
|
|||
samcv | MoarVM panic: Collectable 0x2b3668c81980 in fromspace accessed :( | 23:44 | |
was wondering why that would have broken the docs | |||
23:45
skids joined
23:46
ufobat left
|
|||
AlexDaniel | mmmmm collectable | 23:48 | |
23:51
dj_goku joined,
dj_goku left,
dj_goku joined
23:53
rurban left
|
|||
AlexDaniel | u: Lo | 23:53 | |
unicodable6 | AlexDaniel, U+00AA FEMININE ORDINAL INDICATOR [Lo] (ª) | ||
AlexDaniel, U+00BA MASCULINE ORDINAL INDICATOR [Lo] (º) | |||
AlexDaniel, U+01BB LATIN LETTER TWO WITH STROKE [Lo] (ƻ) | |||
23:53
cygx left
|
|||
AlexDaniel | … that's it??? | 23:53 | |
there are only 3 LO characters??? | |||
Lo* | 23:54 | ||
unicodable6: Lo | |||
no, we have a problem! | |||
unicodable6 | AlexDaniel, U+00AA FEMININE ORDINAL INDICATOR [Lo] (ª) | ||
AlexDaniel, U+00BA MASCULINE ORDINAL INDICATOR [Lo] (º) | |||
AlexDaniel, U+01BB LATIN LETTER TWO WITH STROKE [Lo] (ƻ) | |||
AlexDaniel | or maybe not | ||
23:54
unicodable6 left
|
|||
samcv | u: { .unimatch('Lo') } | 23:55 | |
did i do that right? | |||
AlexDaniel | :| it ate too much memory and died | ||
phatbot | There are 112804 | ||
samcv | oh | ||
that's not enough | |||
phatbot | m: ^0x110000 .grep(*.uniprop eq "Lo").elems.say | ||
camelia | rakudo-moar 7b84ad: OUTPUT«112804» | ||
23:55
unicodable6 joined
|
|||
AlexDaniel | alright, so it died trying to gist it, I guess | 23:56 | |
or… I don't know | |||
phatbot | What does it use to gist? | ||
samcv | or get the remaining results? | ||
phatbot | Zofware? | ||
AlexDaniel | phatbot: your module I think | ||
samcv | ugh i got this error just now building docs MoarVM panic: Collectable 0x7f8879020cd0 in fromspace accessed | ||
travis got it too | |||
phatbot | samcv: rt.perl.org/Ticket/Display.html?id...et-history | 23:57 | |
AlexDaniel | yea, Pastebin::Gist | ||
23:57
dj_goku left
|
|||
AlexDaniel | phatbot: by the way, that module does not do any sort of escaping, and it probably should | 23:57 | |
23:58
dj_goku joined
|
|||
samcv | escaping? | 23:58 | |
AlexDaniel | e.g. if you put some control characters in there it will not work | ||
samcv | oh | ||
why can't it just gist the control characters | |||
AlexDaniel | dunno, let's try something | ||
samcv | does it write it to a file before gisting it? | ||
phatbot | AlexDaniel: I never updated it since I wrote it and it was my second piece of code I ever wrote in Perl 6.... | 23:59 | |
AlexDaniel | evalable6: say ‘hello’ ~ 0.chr ~ ‘world’; .say for ^999 | ||
evalable6 | AlexDaniel, rakudo-moar 7b84adc: OUTPUT«hello␀world0123456789101112131415161718192021222324252627282930…» | ||
AlexDaniel, Full output: gist.github.com/ | |||
AlexDaniel | samcv: no | ||
samcv | it probably should |