»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:00
lichtkind left,
Psyche^ joined
|
|||
zengargoyle | i'm assuming it's in rakudo, neither Pod::To::Text nor Pod::To::Markdown mention 'finish' and both fail to display POD after =finish | 00:03 | |
rakudobug.so | |||
jdv79 | i only say that cause i didny expect that to be so large a diff | ||
00:04
Psyche^_ left,
raiph joined
00:05
lizmat joined
00:06
AlexDaniel joined
|
|||
timotimo | jdv79: what did you expect and what did you see? | 00:10 | |
jdv79 | times plumetted when i s/|/||g | 00:11 | |
i thought that would be efficient and/or optimized enough already to not be so big a time diff | |||
timotimo | huh, really?! | 00:19 | |
it was that bad? | |||
jdv79 | im on my phone but tomorrow ill show you! | ||
nite | |||
timotimo | thanks | 00:26 | |
grondilu | talkink about finish, shouldn't it be ok to add a semi-colon after it? | 00:29 | |
m: =finish; | |||
camelia | rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YsgQTX1TeLPreceding context expects a term, but found infix = insteadat /tmp/YsgQTX1TeL:1------> 3=7⏏5finish;» | ||
grondilu | m: =finish | 00:30 | |
camelia | rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SQmIOnlmWuPreceding context expects a term, but found infix = insteadat /tmp/SQmIOnlmWu:1------> 3=7⏏5finish» | ||
timotimo | no, i don't think it should be | ||
huh? | |||
grondilu | I think it also wants a newline | ||
oh no, it's just camelia complaining for some reason | 00:31 | ||
00:32
raoulvdberge left
|
|||
timotimo | it may want a newline, yeah | 00:35 | |
m: =finish | |||
camelia | ( no output ) | ||
timotimo | but VERY LTA | 00:36 | |
00:40
nys left
00:42
Humbedooh joined
00:43
Humbedooh left,
Humbedooh joined
00:44
nys joined
|
|||
ShimmerFairy | =finish; shouldn't work in the same way =head1; doesn't work. It should count EOF as an acceptable (if redundant-making) thing to appear after a directive, perhaps | 00:47 | |
m: =finish | |||
camelia | rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WdEutKb5h5Preceding context expects a term, but found infix = insteadat /tmp/WdEutKb5h5:1------> 3=7⏏5finish» | ||
00:47
nys left
|
|||
ShimmerFairy | yeah, very LTA if it doesn't allow a single space afterwards to count | 00:47 | |
00:51
sprocket joined
|
|||
dalek | Heuristic branch merge: pushed 71 commits to rakudo/curli by lizmat | 00:56 | |
zengargoyle | ShimmerFairy: doesn't sound that way according to S26 | 01:00 | |
ShimmerFairy | oh? | ||
zengargoyle | An C<=finish> block indicates the end-point of any ambient material within the document. This means that the parser will treat all the remaining text in the file as Pod, even if it is not inside an explicit block. | 01:01 | |
apart from its special end-of-file termination behaviour, an C<=finish> block is in all other respects identical to a C<=pod> block. | 01:02 | ||
ShimmerFairy | m: =finish a | ||
camelia | rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ikljtnUViMPreceding context expects a term, but found infix = insteadat /tmp/ikljtnUViM:1------> 3=7⏏5finish a» | ||
ShimmerFairy | m: =pod a | ||
camelia | ( no output ) | ||
ShimmerFairy | m: =pod | ||
camelia | rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sEVoZpLZ2xPreceding context expects a term, but found infix = insteadat /tmp/sEVoZpLZ2x:1------> 3=pod7⏏5<EOL>» | ||
ShimmerFairy | zengargoyle: so the part where it doesn't work like the =pod a example there is definitely not right, at least :) | 01:03 | |
zengargoyle | i take it as meaning that =finish is the same as =begin pod ... (to end of file) | 01:04 | |
there's more wordage in the spec that i won't cut-n-paste, but given the rest of the spec it totally seems like =finish is like P5 __END__ | 01:05 | ||
ShimmerFairy | It just means that =finish parses the same as its equivalent =pod , the only change being that the end marker is always EOF | ||
zengargoyle | minus =data repacing the __DATA__ aspect of __END__ | ||
ShimmerFairy | So e.g. =finish has implied para blocks and code blocks | 01:06 | |
the difference between =begin finish, =for finish, and =finish should still be there (in terms of allowing config options or not), as I understand it. | |||
zengargoyle | and head and every other thing that can be in =pod | ||
ShimmerFairy | zengargoyle: sure, there aren't really any limits on what pod blocks you can put inside other blocks (except perhaps for =table ☺) | 01:08 | |
This reminds me that I should get back to my Pod6 parser, I've been taking a break from it for a while. At the very least I should re-familiarize myself with it and make it public sometime soon. | |||
01:09
BenGoldberg joined
|
|||
zengargoyle | pod is one of those rough edges that irks me more than others for some reason :) | 01:09 | |
i want to use *all the features* | 01:10 | ||
and far too often they're NYI :( | |||
i'm pondering taking a crack at making =data work, but not sure if i can manage it. haven't messes around inside rakudo at all yet. | 01:11 | ||
ShimmerFairy | zengargoyle: that's my annoyance too, esp. the part where lots of projects are using markdown :( . | 01:12 | |
zengargoyle: note that my parser project is meant to eventually replace the current parser in rakudo (particularly because I find the current one very spaghetti-code-like), but anything you can make less NYI in the meantime is great! :) | 01:13 | ||
ShimmerFairy definitely wants to get back to her pod parser in a little bit now :D | |||
zengargoyle | well, does github do pod6 yet? or do it well? until we have our own cpan-ish thing it's nice to have decent web viewable docs. | ||
ShimmerFairy | zengargoyle: no, and I'm not sure how it can be done. "Easiest" would be to make github run Perl 6 so it can run Pod::To::HTML for Pod6 stuff, but I imagine "just install rakudo!!" will take a while to become convincing :) | 01:16 | |
(IIRC github has a system that "outsources" to other programs for document generation) | |||
01:18
tokuhiro_ joined
|
|||
zengargoyle | i ponder a build tool that HTML's the docs and makes a github.io branch out of them. | 01:21 | |
01:22
tokuhiro_ left
|
|||
RabidGravy | zengargoyle, do it, I'd reckon five days work | 01:23 | |
zengargoyle | and then when we have .js support the web page will be the CI tool! | ||
RabidGravy | hardest part being the github integration | ||
ShimmerFairy | zengargoyle: I'll be sure to let you know when I make my pod parser public, if you're interested :) . It's currently in an awkward place of being written in NQP-ish ways to ease transition to rakudo, yet written in Perl 6 to get better access to Perl 6 objects. | 01:24 | |
01:25
sprocket left
|
|||
RabidGravy | I'm kind of seeing the degree of integration that npm has with its ecosystem | 01:25 | |
01:25
pippo left
|
|||
zengargoyle knows almost nothing about npm | 01:25 | ||
ShimmerFairy: cool, but you might regret it. :) | 01:28 | ||
ShimmerFairy | zengargoyle: heh, there's a reason why I take a while to make my projects public :P | ||
RabidGravy | release early and release often | 01:29 | |
zengargoyle | speaking of which, i just pushed Algorithm::Trie::libdatrie that now builds it's own libdatrie. no more 'install this distro package'. | 01:30 | |
ShimmerFairy | The reason why I took the aforementioned break is because I tried implementing parsing some unicode-character-using tables, and made the classic mistake of "too much code before testing". Not having that work made me need to step away and do other stuff for a while :) | 01:31 | |
zengargoyle | and *crosses fingers* maybe it will work on Windows. | ||
i usually build something from scratch like 3 times hoping it's easier than fixing the current mess. | 01:34 | ||
ShimmerFairy | Well, I learned from that to perhaps just start with the table parsing. And then work in header row/column support. And then add rowspan/colspan support. Instead of doing all that in the first pass :P | 01:35 | |
(I want to at least have some kind of table parsing in place before releasing it, so people can see how I want to go about it.) | 01:36 | ||
RabidGravy | write the documentation for your interface, write the tests that chck that interface, write code that passes those tests | ||
01:37
espadrine left
|
|||
ShimmerFairy | RabidGravy: I've got some basic parsing tests already, at least :) | 01:39 | |
though perhaps my first step should be to write tests to design the AST side... | |||
01:45
xpen joined
|
|||
zengargoyle | does rakudobrew have an easy way to build from your own fork or is it pretty much go back to building moar/rakudo yourself? | 01:46 | |
01:47
RabidGravy left
01:53
sufrostico left
01:55
dj_goku joined
01:56
raiph left,
telex left
01:58
telex joined
|
|||
dj_goku | TimToady: just watched the Perl6 release talk from October. It was great! | 02:01 | |
02:08
BenGoldberg left
02:10
sprocket joined
02:20
BenGoldberg joined
02:22
FROGGS_ joined
02:25
gd_ joined
02:26
FROGGS left
|
|||
gd_ | Hi, I have a question about regexes. Let's say I have have the following code: | 02:28 | |
my regex areg {<[a]>} | |||
say "found at [" ~ $/.from ~ "," ~ $/.to ~ "]" if so "a" ~~ m/<!areg>/; | |||
Why does it detect a zero-width character instead of just nothing? | |||
ShimmerFairy | because <!areg> is a zero-width match that's like /<!before <areg>>/ . At position 1, you're before the end of the string, so /<!before <areg>>/ will be true | 02:36 | |
If you meant to match one thing that's not <areg>, then you want <-areg> (which is equivalent to /<!areg> ./ ) | 02:37 | ||
gd_ | I see, thank you | ||
Using /<-areg>/ seems to give an error, but I assume this is has something to do with Rakudo. /<!areg> ./ works fine, though. | 02:45 | ||
ShimmerFairy | What error message is it, ooc? | 02:46 | |
gd_ | Method 'areg' not found for invocant of class 'Cursor' | 02:47 | |
02:47
ilbot3 joined
|
|||
ShimmerFairy | gd_: ah, looks like <-areg> doesn't account for 'my regex' things, which could very well be a bug (try <.areg> vs. <&areg> -- the <.areg> should fail the same way, <&areg> should match the "a" without creating a named capture) | 02:48 | |
m: my regex areg { <[a]> }; say "found at [" ~ $/.from ~ "," ~ $/.to ~ "]" if so "a" ~~ m/<-areg>/; | 02:49 | ||
camelia | rakudo-moar 019a7f: OUTPUT«Method 'areg' not found for invocant of class 'Cursor' in block <unit> at /tmp/G41tADaeJJ:1» | ||
02:49
dayangkun joined
|
|||
ShimmerFairy | m: my regex areg { <[a]> }; say "found at [" ~ $/.from ~ "," ~ $/.to ~ "]" if so "a" ~~ m/<-areg>/; | 02:49 | |
camelia | rakudo-moar 019a7f: OUTPUT«Method 'areg' not found for invocant of class 'Cursor' in block <unit> at /tmp/c02sYIETdR:1» | ||
ShimmerFairy | m: grammar G { regex areg { <[a]> }; regex TOP { <-areg> } }; say G.parse("a"); # meant to paste this the second time | 02:50 | |
camelia | rakudo-moar 019a7f: OUTPUT«(Any)» | ||
02:50
yqt left
|
|||
zengargoyle | my regex areg {<[a]>}; "a" ~~ m/< -areg>/ | 02:53 | |
m: my regex areg {<[a]>}; "a" ~~ m/< -areg>/ | |||
camelia | ( no output ) | ||
zengargoyle | m: my regex areg {<[a]>}; say "a" ~~ m/< -areg>/ | ||
camelia | rakudo-moar 019a7f: OUTPUT«False» | ||
zengargoyle | maybe whitespace confusion? i know theres at least one use of < that requires space, don't recall details. | 02:55 | |
nah, "b" is also False | |||
02:57
riatre joined
|
|||
ShimmerFairy | zengargoyle: /< abc def >/ makes for a multi-character version of /<[abc]>/ :) (the initial space is what activates it) | 02:57 | |
m: say "foo" ~~ /< bar foo >/ | 02:58 | ||
camelia | rakudo-moar 019a7f: OUTPUT«「foo」» | ||
psch | that's just inconsistent :/ | 03:00 | |
m: my regex areg {<[a]>}; say "a" ~~ m/<!&areg> ./ | |||
camelia | rakudo-moar 019a7f: OUTPUT«False» | ||
psch | well, either one of those seems inconsistent to me | 03:01 | |
either <! isn't specific enough for only character classes, or <- wrongly doesn't accept routines | |||
oh hm, <- changes the parsing rules of what follow..? | 03:02 | ||
zengargoyle | yeah | ||
ShimmerFairy | psch: the issue is that <-...> isn't taking subroutines, which I'd think is an error. | 03:03 | |
m: say "a" ~~ m/<![a]>/ | |||
camelia | rakudo-moar 019a7f: OUTPUT«False» | ||
ShimmerFairy | huh, that's not what I would've expected | ||
m: say "a" ~~ m/<![a]>$/ | |||
camelia | rakudo-moar 019a7f: OUTPUT«False» | ||
03:03
sprocket left
|
|||
ShimmerFairy | m: say "a" ~~ m/<!before <[a]>>/ | 03:03 | |
camelia | rakudo-moar 019a7f: OUTPUT«False» | ||
ShimmerFairy | now _that_ feels wrong to me. It should match at position 1, or else <!areg> is broken as well | 03:04 | |
03:05
jantore joined
|
|||
gd_ | The following code also gives me an error: | 03:06 | |
say so 'b' ~~ m/<[ab] | [c]>/; | |||
Shouldn't the | symbol work like + ? | |||
psch | gd_: + works like + in character classes | 03:07 | |
m: say so 'abc' ~~ m/<[ab] + [c]> ** 3/; | |||
camelia | rakudo-moar 019a7f: OUTPUT«True» | ||
psch | ShimmerFairy: from what i can see, <-&foo> isn't tested in roast | 03:08 | |
ShimmerFairy | I know | and & are meant to work in set-like fashion inside assertion, as I recall | 03:10 | |
psch | yes, for unicode properties | ||
gd_ | Oh | ||
psch | err, maybe that's just an example there... | 03:12 | |
ShimmerFairy | m: say "ab2" ~~ /<alpha | digit>+/ | ||
camelia | rakudo-moar 019a7f: OUTPUT«Too many positionals passed; expected 1 argument but got 2 in block <unit> at /tmp/KNYI5YRx3q:1» | ||
psch | m: say "quux" ~~ / <+ :Letter - :HexDigit > / # is one example which is commented out in roast | 03:13 | |
camelia | rakudo-moar 019a7f: OUTPUT«「q」» | ||
psch | "Terms may also be combined using & for set intersection, | for set union, and ^ for symmetric set difference." is the next line | 03:14 | |
but that's again not in roast | |||
and doesn't seem to work either | |||
ShimmerFairy | psch: I have a feeling setops are NYI. Perhaps it even predates the $~MAIN setops, since otherwise I half-expect those ops would be (&) etc. | 03:15 | |
(e.g. <alpha (|) digit> ) | |||
gd_ | m: say "a" ~~ /<:L | :N>+/; | 03:16 | |
camelia | rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Py19Ihq3t0Unable to parse expression in metachar:sym<assert>; couldn't find final '>' at /tmp/Py19Ihq3t0:1------> 3say "a" ~~ /<:L7⏏5 | :N>+/;» | ||
psch | well, aside from ^ they can be emulated with + and - (unless i'm really way more tired than i feel right now... :P ) | ||
actually, even ^ should work, if quite verbose, no? | 03:17 | ||
ShimmerFairy | psch: I dunno, lemme look up symmetric set difference :P . But yeah, + is like "unifying" things, so it's like (|), and - says "but not" (IIUC), which is vaguely similar to (&) | 03:18 | |
psch | like, (A - (A - B)) + (B - (B - A)) or somesuch | ||
gd_ | I'm looking at S05 and it seems to imply it should work | 03:19 | |
psch | anyway, yeah, <-&foo> not working looks like a potential RT to me | ||
gd_: well, sometimes nobody wrote it yet... :) | 03:20 | ||
gd_: other times the synopses aren't quite up to date anymore and decision have been made.. vOv | |||
ShimmerFairy | psch: actually, since I don't think - is quite set union, I wonder how you'd emulate set union... | ||
03:20
BenGoldberg left
|
|||
ShimmerFairy | Actually, - is non-symmetric set difference, duh. That is, A \ B (whatever the right symbol for \ is, it's one of the few setops I don't have for my Compose key yet) | 03:21 | |
psch | yeah i got it all over too haha | ||
definitely too late for set theory :P | 03:22 | ||
i'm gonna give this "sleep" thing another try | |||
gd_ | thank you for the help! | 03:23 | |
03:25
gd_ left
03:29
dayangkun left
03:31
sprocket joined
03:33
geraud joined
03:39
geraud left
03:40
geraud joined
03:53
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:03
kid51 left
04:10
xpen left
04:23
sprocket left
|
|||
lizmat | m: .say while with 42 # wonders whether this should be legal syntax | 04:31 | |
camelia | rakudo-moar 019a7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gtr1hhyW8pUndeclared routine: with used at line 1» | ||
zengargoyle | good * lizmat | 04:32 | |
lizmat | zengargoyle o/ | ||
zengargoyle | question: do you have to rebuild moar when you build rakudo? (i'm playing with the POD data thing) | 04:33 | |
lizmat | probably not... the normal "make" should determine what needs to be recompiled | 04:35 | |
with one exception: after a NQP revision bump | |||
zengargoyle | ah, i did the Configure w/o --gen-moar | ||
lizmat | that was done because of a MoarVM bump | ||
04:35
Actualeyes left
04:41
xpen joined
04:45
xpen left
04:46
aborazmeh left
04:49
tokuhiro_ joined
04:53
tokuhiro_ left
04:57
kaare_ joined
05:06
pdcawley joined,
nebuchad` joined
05:08
sprocket joined,
yubimusubi joined,
tony-o_ joined
05:09
xenu_ joined,
mst__ joined,
jstimpfl1 joined
05:10
rjbs- joined,
Brock joined
05:12
Calibell_ joined,
timbunce_ joined
05:14
emdashcomma_ joined,
pdcawley_ left,
Calibellus left,
timbunce_ is now known as timbunce,
M-eternaleye joined
05:15
Util joined
05:17
Fleurety joined
05:18
xiaomiao joined
05:21
sprocket left
05:25
b2gills joined
|
|||
dalek | kudo/nom: 0825ea0 | lizmat++ | src/core/IO/Handle.pm: IO::Handle.lines expressed as .get This simplifies IO::Handle.lines to use .get and not do any smart bypasses anymore. Also no longer update .ins and make .ins DEPRECATED. This makes .lines in its various forms about 60% slower, but it paves the way for other features, such as supporting regexes as newline separators. |
05:41 | |
05:42
Actualeyes joined,
xpen joined
|
|||
dalek | ast: 3f3e870 | lizmat++ | S16- (3 files): Handle IO::Handle.ins deprecation |
05:42 | |
05:44
adhoc joined
05:45
notostraca joined
05:46
AlexDaniel left
05:47
Actualeyes1 joined,
Quom joined,
sunnavy_ joined,
xpen left
05:48
cbk_ joined
|
|||
grondilu | I'm trying Math::Vector for rosettacode.org/wiki/N-body_problem#Perl_6 and jeez this module looks loong | 05:49 | |
05:49
BooK_ joined
|
|||
grondilu | I mean *slow* | 05:49 | |
05:49
mls_ joined
05:50
larion_ joined,
awwaiid joined
05:51
atta_ joined,
Actualeyes left,
TEttinger left,
Brock left,
colomon left,
ilbot3 left,
SmokeMachine left,
notostraca is now known as TEttinger,
erxeto_ joined,
xnrand joined,
xdbr joined
05:52
gensym joined,
[ptc] joined,
woodruffw joined
05:53
roguelazer joined,
cgfbee joined,
gtodd joined,
ilbot3 joined
05:56
kipd joined
06:00
SmokeMachine joined
|
|||
grondilu | also, trying the debugger, I got this: | 06:01 | |
Cannot find method 'from' in any widen_expr_from at gen/moar/m-perl6-debug.nqp:298 in any at gen/moar/m-perl6-debug.nqp:279 in any statement_control:sym<loop> at gen/moar/m-perl6-debug.nqp:278 in any statement_control:sym<loop> at /usr/local/share/nqp/lib/Perl6/Grammar.moarvm:1 in any statement_control at /usr/local/share/nqp/lib/Perl6/Grammar.moarvm:1 in any statement at src/Perl6/Grammar.nqp:1202 | |||
n nany statementlist at src/Perl6/Grammar.nqp:1132 in any at gen/moar/m-perl6-debug.nqp:393 | |||
lizmat | smells like a Match object was expected, and it turned into a Str ? | 06:08 | |
grondilu | not related: | 06:12 | |
m: class A { has @stuff; multi method new(*@stuff) { ::?CLASS.new: :@stuff } }; say A.new: rand xx 3 # why does that hang? | |||
oh wait | 06:13 | ||
camelia | rakudo-moar 0825ea: OUTPUT«(timeout)» | ||
grondilu | m: class A { has @.stuff; multi method new(*@stuff) { ::?CLASS.new: :@stuff } }; say A.new: rand xx 3 # why does that hang? | ||
camelia | rakudo-moar 0825ea: OUTPUT«(timeout)» | 06:14 | |
zengargoyle | one step closer: Pod::Block::Data.new(allowed => [], config => {:key("mydata")}, contents => [" <- there are leading spaces", "\n", "\n", "and blank lines", "\n"]) | 06:15 | |
06:15
ycaymanbo joined
06:16
khw left
|
|||
grondilu | m: class A { has @stuff; multi method new(*@stuff) { ::?CLASS.bless: :@stuff } }; say A.new: rand xx 3 | 06:16 | |
camelia | rakudo-moar 0825ea: OUTPUT«A.new» | ||
grondilu | m: class A { has @stuff; multi method new(*@stuff) { ::?CLASS.bless: :@stuff } }; dd A.new: rand xx 3 | ||
camelia | rakudo-moar 0825ea: OUTPUT«A $var = A.new» | ||
06:16
baest_ joined
|
|||
grondilu | m: class A { has @.stuff; multi method new(*@stuff) { ::?CLASS.bless: :@stuff } }; say A.new: rand xx 3 | 06:17 | |
camelia | rakudo-moar 0825ea: OUTPUT«A.new(stuff => [0.184455404976691e0, 0.697056286073936e0, 0.583927804979361e0])» | ||
06:17
mls_ left
|
|||
grondilu | using bless is ok apparently. I really thought I was supposed to use new instead | 06:17 | |
06:17
mls joined,
tinita_ joined
06:18
revdiablo joined,
Praise- joined,
Praise- left,
Praise- joined,
][Sno][ joined
|
|||
ShimmerFairy | fetch stage failed for Grammar::Parsefail: Unable to handle source 'github.com/ShimmerFairy/grammar-parsefail/' :( | 06:18 | |
06:19
pochi_ joined
|
|||
ShimmerFairy | And I can't figure out why it doesn't work, since it did before. The backtrace doesn't point to anything that should've changed things | 06:19 | |
06:19
cfloare_ joined,
ilbot3 left,
krunen left
06:20
PerlJam joined,
masak joined,
garu joined,
masak is now known as Guest47291,
Hotkeys joined,
krunen joined,
maddingue joined,
btyler joined
06:21
Gothmog_ joined
|
|||
lizmat | grondilu: the slurpy is also selected on no positionals | 06:21 | |
the named params if optional, do not come into play in MMD | |||
so you created an infiniloop | |||
m: m: class A { has @stuff; multi method new(@stuff) { ::?CLASS.new: :@stuff } }; say A.new: rand xx 3 | |||
m: class A { has @stuff; multi method new(@stuff) { ::?CLASS.new: :@stuff } }; say A.new: rand xx 3 | |||
ok, that will be two timeouts | |||
camelia | rakudo-moar 0825ea: OUTPUT«A.new» | ||
ShimmerFairy | My best guess is that I'm missing a .git, but that doesn't explain why it _stopped_ working as a source-url. | 06:22 | |
06:24
rurban joined,
ilbot3 joined
|
|||
dalek | kudo/nom: 31d12fb | lizmat++ | src/core/IO.pm: Backport some IO enums from newio branch |
06:27 | |
06:29
bombless joined
06:31
xpen joined
|
|||
lizmat | hmmm.... seems we haven't got any tests for IO::Handle.tell | 06:32 | |
06:36
mst__ is now known as mst,
mst left,
mst joined
|
|||
dalek | kudo/nom: 2379641 | lizmat++ | src/core/IO/Handle.pm: Make IO::Handle.seek use SeekType enum Also backported from newio branch |
06:43 | |
c: e145a3c | lizmat++ | doc/Type/IO/Handle.pod: Update IO::Handle.seek parameters documentation |
06:48 | ||
kudo/nom: 50451fd | lizmat++ | docs/ChangeLog: Mention IO::Handle.seek enum / deprecation |
06:51 | ||
06:59
skids left
07:01
lizmat_ joined,
bombless_ joined
07:02
charsbar_ joined
07:03
japhb_ joined,
sftp_ joined,
jstimpfl1 left
07:04
lizmat left,
lizmat_ is now known as lizmat,
moritz joined,
sftp_ is now known as sftp,
bakedb joined,
jstimpfle joined,
gugod joined,
bombless left,
gensym left,
MilkmanDan joined,
SHODAN joined,
sjn joined
07:05
bowtie joined,
yakudza joined
07:06
gensym joined
|
|||
zengargoyle | can nqp do $foo[] or $foo{} type of stuff? that is a variable that's both Positional and Associative? | 07:06 | |
lizmat | zengargoyle: don't think so | 07:07 | |
the only HLL case I know (Capture) uses both a nqp::hash and a nqp::list internally | |||
07:07
Peter_R joined
|
|||
zengargoyle | i have =data but notice that the $=pod creation is in nqp-land and just plops $/ into it. | 07:08 | |
lizmat | .tell Zoffixw re irclog.perlgeek.de/perl6/2015-11-13#i_11534363 , not going to happen, since the description is optional | 07:09 | |
yoleaux | lizmat: I'll pass your message to Zoffixw. | ||
lizmat | .tell ZoffixW re irclog.perlgeek.de/perl6/2015-11-13#i_11534363 , not going to happen, since the description is optional | ||
yoleaux | lizmat: I'll pass your message to ZoffixW. | ||
zengargoyle | wondering where i should try and create a $=data | ||
lizmat | hoelzro might have a clue | ||
zengargoyle | cool | 07:10 | |
hoelzro | lizmat, zengargoyle: I don't think I ever messed with $=data | ||
it's on my long list of interest areas, though | 07:11 | ||
07:11
bombless_ left
|
|||
zengargoyle | i'm more curious where i can a) write normal-ish Perl 6 code, and b) create $=data so that it's available at runtime. | 07:12 | |
i have the Grammar/Actions nqp and stuff creating Pod::Block::Data nodes that i can gather up. | |||
just don't know where to get them installed as variable | 07:13 | ||
07:14
ribasushi joined
|
|||
hoelzro | I see some code in World&Actions that installs $=pod and $=finish | 07:14 | |
that might make for a good guide | 07:15 | ||
07:15
CIAvash joined
|
|||
zengargoyle | yeah, that's nqp which i'm a) not good at, and b) don't think it can make $=data do positional[] and associative{} access. | 07:16 | |
hoelzro | I don't know if you can install $=data without using NQP | 07:17 | |
not sure, though | |||
zengargoyle | or if that's just a harder problem to get done in nqp and WorldActions is the right answer.. | ||
07:18
xiaomiao left
07:20
xiaomiao joined
07:30
abaugher left
07:32
crux joined
|
|||
lizmat | hmmm.... isn't =data not a synonym for $=finish ? | 07:34 | |
07:34
abaugher joined
|
|||
dalek | kudo/nom: e51aaff | lizmat++ | src/core/Str.pm: Actually deprecate split(:all) As mentioned in the ChangeLog |
07:34 | |
07:35
darutoko joined
|
|||
zengargoyle | well you can have multiple =data but only one =finish | 07:35 | |
07:35
TimToady joined
|
|||
zengargoyle | it is though the replacement for __END__ / __DATA__ | 07:35 | |
=finish is just a signal that there will be no more code, only pod | 07:36 | ||
07:36
Begi11110 joined
|
|||
zengargoyle | =finish is the same as =begin pod ... until end of file # if i grok specs right. | 07:37 | |
lizmat | yeah, but you can treat $=finish as a replacement for P5's __DATA__ | 07:38 | |
zengargoyle | i dunno spec implies it's pod, pod implieds that it gets podifild which is line wrapping, space munching, paragraph formatting. | 07:40 | |
data is more like code, left intact | 07:41 | ||
lizmat | time to get some sleep | 07:42 | |
so good night, #perl6! | |||
zengargoyle | o/ | ||
ShimmerFairy | yeah, =data is a separate thing from =finish | 07:47 | |
It's like if __END__ and __DATA__ were completely separate things :P | |||
07:49
rindolf joined
07:51
ycaymanbo left
08:15
nebuchad` is now known as nebuchadnezzar
08:21
softmoth_ left
08:25
Calibell_ left
08:29
geraud left
08:45
Zoffix joined
08:51
tokuhiro_ joined
08:55
tokuhiro_ left
09:01
molaf joined,
xfix joined
|
|||
Zoffix | lizmat, I was going to suggest a solution, but not finding an obvious place to submit suggestions for rakudo, decided I didn't care enough. The solution being a multi: multi subtest ($desc, &code) {...} This way we wouldn't have to fix all the code that currently uses the desc after the code. | 09:07 | |
09:07
Zoffix is now known as ZoffixW
|
|||
ZoffixW | .botsnack | 09:07 | |
yoleaux | :D | ||
07:09Z <lizmat> ZoffixW: re irclog.perlgeek.de/perl6/2015-11-13#i_11534363 , not going to happen, since the description is optional | |||
09:07
ZoffixW is now known as Zoffix
09:11
RabidGravy joined
09:13
Guest47291 is now known as masak
09:14
masak is now known as Guest10199,
Guest10199 is now known as masak_grr
09:15
espadrine joined
09:17
tokuhiro_ joined
09:18
softmoth_ joined
09:22
softmoth_ left,
tokuhiro_ left
09:26
TEttinger left
09:34
Actualeyes1 left
09:35
diana_olhovik joined
|
|||
dalek | Heuristic branch merge: pushed 201 commits to roast/curli by niner | 09:40 | |
09:47
ycaymanbo joined
09:51
Zoffix left
09:52
espadrine left
09:54
cygx joined
|
|||
cygx | m: BEGIN say "foo".subst("o", "") | 09:55 | |
camelia | rakudo-moar e51aaf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Hpr7pclQkrAn exception occurred while evaluating a BEGINat /tmp/Hpr7pclQkr:1Exception details: Type check failed in binding cds; expected Any but got Mu in code at /tmp/Hpr7pclQkr:1» | ||
cygx | m: say "foo".subst("o", "") | ||
camelia | rakudo-moar e51aaf: OUTPUT«fo» | ||
09:56
Zoffix joined
09:58
molaf left
|
|||
dalek | kudo/curli: 3eea814 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files): Have Repository::FileSystem automatically precompile files We now precompile loaded modules automatically. However, we cannot do this anymore as soon as we encounter a 'use lib' as this changes the precompilation store used. Consider: use Test; use lib 'foo'; use Test::Util; # which again uses Test Test::Util would be loaded from a different precompilation store that contains a different precompiled version of Test to the one already loaded. |
09:58 | |
nine | Ah, feels good to be committing again :) | 09:59 | |
Zoffix | :) | ||
tadzik | ooh :) | 10:00 | |
good stuff | |||
10:04
dotness joined
|
|||
Woodi | hallo today :) | 10:08 | |
10:08
xpen left
|
|||
Woodi | nine: so last use lib 'foo' means "current library location" ? what if user wants test::Util from 'foo' and first version of Test ? | 10:10 | |
[Tux] | test 50000 22.299 22.187 | 10:11 | |
test-t 50000 18.892 18.780 | |||
csv-parser 50000 26.666 26.554 | |||
Woodi | is there somethin like: use Test from lib 'foo'; ? | ||
Woodi 's 'g' key is dyin.... | 10:13 | ||
Zoffix | Mouth to mouth! | 10:14 | |
10:14
M-Illandan joined
10:15
pochi joined
|
|||
Woodi | i try that before :) now it requires more shockin approach... | 10:15 | |
10:15
Begi11111 joined
|
|||
Woodi | btw. do ThinkPads newer then 400s are better or worse ? | 10:17 | |
10:17
dotness left,
advwp_ joined
10:18
nine_ joined
10:19
b2gills1 joined
|
|||
nine_ | [Tux]: wow, when did we get so fast? | 10:19 | |
10:19
MadcapJake_ joined
|
|||
nine_ | [Tux]: haven't been around much lately | 10:19 | |
10:19
erxeto joined,
PotatoGim_ joined,
integral_ joined,
integral_ left,
integral_ joined
|
|||
[Tux] | 2015-11-04 39.189 → 2015-11-05 17.972 | 10:19 | |
10:20
sivoais_ joined,
BinGOs_ joined
|
|||
[Tux] | tux.nl/Talks/CSV6/speed4.html | 10:20 | |
10:20
obra_ joined,
csson joined,
bartolin joined,
samigarus joined
|
|||
[Tux] | lizmat++ split (@needles, ...) | 10:20 | |
10:20
f3ew_ joined,
Begi11110 left,
MadcapJake left,
pochi_ left,
erxeto_ left,
b2gills left,
samigarus is now known as oahong,
oahong left,
oahong joined
10:21
mprelude joined,
nine_ is now known as nine,
salva joined,
timotimo joined,
JimmyZ joined
10:22
Khisanth joined
10:23
bpmedley joined,
olinkl joined,
kaare_ left,
kaare_ joined
|
|||
Woodi | will be R* soon ? | 10:24 | |
sooner then 41 days ? :) | |||
10:25
dotness joined,
PotatoGim_ is now known as PotatoGim
10:26
sivoais_ left
10:28
chansen_ joined
10:29
telex left,
sivoais joined,
dotness left
10:30
telex joined,
Spot__ joined
10:31
BinGOs_ is now known as BinGOs,
BinGOs left,
BinGOs joined
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: a247df0 | (Zoffix Znet)++ | mojo-app/ (3 files): JS for searching/sorting Closes #18 |
10:33 | |
10:34
xpen joined
10:35
polettix joined
10:38
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
tadzik | Woodi: well, they're a lot more powerful that's for sure, but bring some controversial design decisions | 10:40 | |
keyboard layout, key shape, the touchpad/trackpoint-buttons fuckup in the *40s... | 10:41 | ||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 965f0c6 | (Zoffix Znet)++ | mojo-app/public/js/main.js: Clarify what the code is for |
10:44 | |
10:53
metasin joined
|
|||
metasin | Welcome, my friends. :-) | 10:53 | |
Zoffix | \o | ||
10:54
Houl joined
|
|||
Hotkeys | o7 | 10:58 | |
11:06
softmoth_ joined,
llfourn left
11:08
polettix left
11:10
softmoth_ left
11:13
diana_olhovik___ joined
11:14
diana_olhovik left
11:16
RabidGravy left,
dayangkun joined
11:18
tokuhiro_ joined
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: b94e115 | (Zoffix Znet)++ | mojo-app/public/js/main.js: Preserve sort order when going Back to the page (Closes #17) |
11:19 | |
11:23
tokuhiro_ left
11:29
Skarsnik joined
11:34
Actualeyes joined,
bombless_ joined
|
|||
Zoffix | perlbot, eval: use Scalar::Util qw/looks_like_number/; [ looks_like_number 'sNan' ] | 11:44 | |
wtf is snan? | 11:45 | ||
Ooops. Wrong channel | |||
cygx | nevertheless, it's probably a signed NaN | ||
Zoffix | Ah. Thanks. | ||
cygx | or a signalling NaN | ||
in contrast to a quiet NaN | |||
11:46
vendethiel joined
|
|||
vendethiel | o/ #perl6! | 11:46 | |
Zoffix | \o | ||
cygx | Zoffix: forget the thing about signed NaN - it's not really a thing as all NaNs are signed | 11:48 | |
Zoffix | cygx, I found it: en.wikipedia.org/wiki/NaN#Signaling_NaN | 11:49 | |
cygx | Zoffix: yes, that should be it - I was just typing faster than thinking ;) | 11:51 | |
11:55
Begi11111 left
11:59
zacts left
12:02
zacts joined
12:10
vendethiel left
12:14
cognominal joined,
xpen left
12:19
AlexDaniel joined
12:21
vendethiel joined
12:23
masak_grr is now known as masak
12:27
dotness joined
12:29
loren joined
|
|||
Skarsnik | Hello | 12:30 | |
Zoffix | \o | ||
loren | o/ | ||
12:30
^elyse^ joined
12:33
kid51 joined
|
|||
masak .oO( all NaNs scoff in the face of signs ) | 12:34 | ||
o/ #perl6 | |||
cygx | o/ | 12:35 | |
timotimo | o/ | 12:36 | |
github.com/MoarVM/MoarVM/issues/293 - i accidentally such a good description of this bug that i'd be comfortable asking a beginner to fix this %) | |||
Skarsnik | Is there something like .perl that ouput more like Data::Dumper? (more human readable with \n) | ||
Zoffix | Skarsnik, I see a couple of "dump" modules in eco | 12:38 | |
modules.perl6.org/ | |||
Skarsnik | I was hoping for something not a module. but well | ||
timotimo | we're putting a lot of trust into module space | 12:39 | |
Zoffix | Is that a statement or a complaint? :) | ||
timotimo | oh, not a complaint at all | ||
Zoffix | :) | ||
12:40
dotness left,
dotness joined
|
|||
cygx | speaking of modules, my script to precompile stuff has now become a proper-ish module manager: github.com/cygx/6make | 12:43 | |
Zoffix | \o/ | ||
12:43
raoulvdberge joined
|
|||
raoulvdberge | why are some methods on classes uppercase (like WHAT and WHERE) and some lowercase (^methods) | 12:44 | |
timotimo | be careful, .WHAT is not very method-ish | ||
in general, all-uppercase names tell you something quirky is going on | |||
Skarsnik | to confuse you x) | ||
cygx | we SHOUT when things are special | 12:45 | |
timotimo | and .^methods is actually a method on the "metaclass", not on the class itself | ||
the ^ is what lets you access the HOW ("higher order workings", aka the metaclass) | |||
cygx | but .^stuff is regular - it just invokes it on the meta-object | ||
raoulvdberge | so WHAT is kinda like a macro? | ||
timotimo | yeah, it's specced to be a macro, but it is not quite that | 12:46 | |
just a little implementation limitation | |||
or a NYI | |||
raoulvdberge | alright | ||
12:48
rurban left
|
|||
timotimo | Zoffix: looking forward to seeing the modules page app in action :) | 12:49 | |
Zoffix | soon | ||
raoulvdberge | meh, i still need a name for my perlish toy language :p | 12:51 | |
any suggestions? | |||
Zoffix | pe | ||
moritz | raoulvdberge: perlissimo | ||
raoulvdberge | they both sound cool :) | 12:53 | |
12:54
softmoth_ joined
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 9cd8b94 | (Zoffix Znet)++ | mojo-app/ (3 files): Use saner implementation for sort storage This way we can store other things we need; like search query |
12:55 | |
Zoffix | timotimo, sneak preview of the look: i.imgur.com/UG3RV6w.png | 12:57 | |
12:58
softmoth_ left
|
|||
timotimo | but but but it looks just the same! i expected some particle effects and pixel shaders! | 12:58 | |
real-time lighting perhaps? | |||
high definition character sprites? | |||
moritz | Zoffix: what do you use for storage in the mojo-app? | ||
12:59
CIAvash left
|
|||
Zoffix | moritz, SQLite | 12:59 | |
moritz | Zoffix: ok, great | ||
13:01
Actualeyes left
|
|||
M-Illandan | Zoffix: What's the mojo-app about? new UI for modules.perl6.org? | 13:06 | |
masak | raoulvdberge: now you have to do two perlish toy languages, one for each name :P | 13:07 | |
13:08
dayangkun left
|
|||
masak | raoulvdberge: (btw, if you want to discuss perlish toy languages, or feel you desire some inspiration, do check out masak.github.io/007/ ) | 13:08 | |
M-Illandan | Zoffix: You have a bookmark for perl6 that's quite visible. :P | ||
13:09
dotness left
|
|||
Zoffix | M-Illandan, first, it'll be essentially the same as the current site. And it's about ability to do moar stuff: e.g. pagination (our ecosystem is growing fast), dist quality metrics (Kwalitee), dist reviews, having some author pages like metacpan.org/author/ZOFFIX maybe | 13:09 | |
M-Illandan | Zoffix: erm, I'm referring to: i.imgur.com/UG3RV6w.png | ||
Zoffix | M-Illandan, it's this page: shadow.cat/blog/matt-s-trout/f_ck-perl-6/ | ||
M-Illandan | Zoffix: Oh, that was mst and so long ago :-) | ||
13:10
espadrine joined
|
|||
raoulvdberge | masak: haha! will check the link out | 13:11 | |
timotimo | oh my, you're an enlightenment person | ||
interesting | |||
13:11
xenu_ is now known as xenu
|
|||
Zoffix | Well, I heard they changed E to suck and Bodhi Linux uses its own stuff now. | 13:12 | |
13:12
xenu is now known as Guest84384
|
|||
timotimo | oh? | 13:12 | |
Zoffix | Haven't checked it out yet; too lazy to upgrade. | ||
timotimo | i didn't know E was supposedly worse than before | ||
Zoffix | Linux ZofMain 3.5.0-11-generic #11 SMP Wed Aug 22 14:45:14 CDT 2012 i686 i686 i386 GNU/Linux | ||
raoulvdberge | function calls without parenthesis are really hard to parse if you have a no-context parser. I wonder how P6 does it. | ||
flussence | E17 was pretty decent, 18/19 was pretty unusable | 13:13 | |
timotimo | hm | ||
raoulvdberge: what do you mean by no-context? the only thing i'd know about is "context-free" | |||
raoulvdberge | timotimo: well no-context == context-free | 13:14 | |
timotimo | i'm not sure you can say perl6's parser is context-free | 13:15 | |
Skarsnik | hm, there is no way to have depends for tests but not the module? | ||
masak | raoulvdberge: P6 does it "the hard way", by being context-sensitive | ||
Zoffix | Skarsnik, there is: github.com/zoffixznet/perl6-Pasteb...TA.info#L6 | ||
Skarsnik | Oooh, thx | 13:16 | |
raoulvdberge | it would be pretty hard to have a no-context parser for a language like Perl, generally. | ||
masak | yes. | 13:17 | |
13:19
Actualeyes joined,
Guest84384 is now known as xenu,
aborazmeh left
|
|||
Skarsnik | Zoffix, and optionnal deps? x) | 13:19 | |
Zoffix doesn't see anything in design.perl6.org/S22.html#META6.json | 13:22 | ||
13:22
^elyse^ left
13:27
Houl left
13:30
xpen joined
13:31
Zoffix left
13:34
xpen left
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: d7d2ad9 | (Zoffix Znet)++ | mojo-app/public/js/main.js: Preserve search JS results when Back browser button is used |
13:36 | |
Skarsnik | where is the pod documentation? I can't seem to find it on doc.perl6.org (search Pod list me the related Pod class) | 13:39 | |
timotimo | right, the only real doc on it is on design.perl6.org | 13:41 | |
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 2e75bb5 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6.pm: Add docs for ModulesPerl6.pm |
13:42 | |
13:42
flaviusb joined
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: c854fa5 | (Zoffix Znet)++ | mojo-app/bin/ModulesPerl6.pl: Docs for bin/ModulesPerl6.pl |
13:43 | |
13:47
kjs_ joined
|
|||
M-Illandan | Zoffix: Nice. :+1: | 13:47 | |
timotimo | Skarsnik: did you find that doc i meant? | 13:48 | |
Skarsnik | Yes on design.perl6.org x) | ||
timotimo | OK | 13:49 | |
Skarsnik | I was hoping to find it on doc.perl6.org/language.html that's all x) | 13:51 | |
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 01ced45 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Controller/Root.pm: Docs for ModulesPerl6::Controller::Root |
13:52 | |
13:54
Praise- is now known as Praise
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 7190eec | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/ResultClass.pm: Docs for ModulesPerl6::Model::ResultClass |
13:58 | |
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: dbd603c | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/ (6 files): Rudimentary docs and license boiler plates for DBIC classes |
14:07 | ||
14:10
mspo_ joined,
mspo_ is now known as mspo
|
|||
lizmat | good *, #perl6! | 14:12 | |
has anyone seen vendethiel since yesterday ? | 14:13 | ||
flussence | no... :( | ||
14:13
hankache joined
|
|||
dalek | kudo/nom: ca1d0cf | usev6++ | tools/build/Makefile-JVM.in: Always provide eval-client.pl -- not only with 'make j-coretest' |
14:14 | |
kudo/nom: 9f14995 | lizmat++ | tools/build/Makefile-JVM.in: Merge pull request #584 from usev6/jvm_eval-client Always provide eval-client.pl -- not only with 'make j-coretest' |
|||
vendethiel | lizmat: irclog.perlgeek.de/perl6/2015-11-14#i_11537181 | 14:16 | |
lizmat | vendethiel o/ *phew* | 14:17 | |
vendethiel | o/ lizmat :) | ||
lizmat | slightly worried because of recent events | ||
flussence | .oO( oops, now everyone knows I don't read the backlog obsessively... ) |
||
s/...$/enough/ :) | |||
vendethiel | Yeah, I got messages coming the whole night. Thank you | 14:21 | |
14:22
sprocket joined
14:23
diana_olhovik___ left
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 18a278b | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/BuildStats.pm: Make ->db attribute private |
14:24 | |
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 4acbf93 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/BuildStats.pm: Docs for ModulesPerl6::Model::BuildStats |
|||
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 104b166 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/Dists.pm: Make ->db attribute private |
|||
14:26
nightfrog joined
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: c06c53d | (Zoffix Znet)++ | README.md: Document --no-app-start build script flag |
14:28 | |
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 3b718b6 | (Zoffix Znet)++ | .gitignore: Ignore dist.ini; it will not be needed in the final "state" of the app |
14:30 | ||
14:31
sprocket left
|
|||
timotimo | vendethiel: i always believed in you! | 14:32 | |
www.theguardian.com/commentisfree/2...xfordshire - wow, this is quitesomething | 14:35 | ||
14:35
rurban joined
|
|||
Skarsnik | m: say nl; | 14:39 | |
camelia | rakudo-moar 9f1499: OUTPUT«5===SORRY!5=== Error while compiling /tmp/H8GTJsVLVYUndeclared routine: nl used at line 1» | ||
timotimo | m: say $?NL.perl | ||
camelia | rakudo-moar 9f1499: OUTPUT«"\n"» | ||
Skarsnik | thx :) | ||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 1efa9b3 | (Zoffix Znet)++ | .gitignore: Ignore cruft generated by dzil |
14:42 | |
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 9149bdf | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6/Model/ (3 files): Fix typos and POD errors |
|||
14:42
softmoth_ joined
14:44
Actualeyes left
|
|||
Skarsnik | hm, Variable '$?NL' is not declared | 14:46 | |
14:47
softmoth_ left
|
|||
lizmat | breakfast& | 14:47 | |
14:47
Actualeyes joined
|
|||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 6cd5a04 | (Zoffix Znet)++ | mojo-app/Build.PL: List all the prereqs |
14:51 | |
timotimo | Skarsnik: how old is your rakudo? | 14:52 | |
Skarsnik | 2-3 months maybe | 14:53 | |
timotimo | ah | ||
yeah, $?NL is recent | |||
with a rakudo that old, you're not going to get much help | |||
14:54
kjs_ left
|
|||
timotimo | in here, i mean | 14:57 | |
you'll repeatedly surprise people when you point out problems you're facing | |||
i don't mean to sound harsh, though i realize i kind of do | |||
but please keep your rakudo up to date at least monthly :) | 14:58 | ||
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: 9aa01e6 | (Zoffix Znet)++ | README.md: List in install instructions libpng12-dev |
||
timotimo | work on rakudo happens quite fast in some areas | ||
PerlJam | 3 months ago was before the GLR | 14:59 | |
Skarsnik | also. I try to build rakudo on another computer but rakudobrew does not want to build panda; pastebin.com/jsguHxjN | 15:00 | |
timotimo | ah | ||
rakudobrew doesn't support or understand --prefix | |||
Skarsnik | It pass it the Configure.PL and it's installed in /opt like I said | 15:01 | |
timotimo | rakudobrew is specifically there to manage rakudo inside your home directory, and giving you a bin/ folder where things get installed to and that is easily switchable between different versions of rakudo | ||
yeah, but rakudobrew doesn't know it gets installed there and explicitly searches under its own folder | |||
it should reflect this in the readme | 15:02 | ||
hm, the readme is a bit messy | |||
very big headlines followed by very little text, that's not so pleasing to the eye | |||
Skarsnik | hm, if I understand I can trick him by putting a link to /opt/bin in his folder? | ||
timotimo | you're using rakudobrew well out of its specifications | 15:03 | |
just git clone [email@hidden.address] | |||
and run ./bootstrap.pl | |||
as in: rakudobrew is there to have your own rakudo inside your own home folder. i would say if it ends up using a rakudo from /opt, it must be considered a bug | 15:04 | ||
because that'd be equivalent to using the system-wide installed rakudo | |||
that's the opposite of what rakudobrew is supposed to do. so it doesn't do that :) | 15:05 | ||
15:05
kjs_ joined
|
|||
timotimo | i'm not speaking for the rakudobrew team, though | 15:05 | |
tadzik: you may want to comment on my fundamentalism here ^ | |||
Skarsnik | thx for the help :) | ||
timotimo | damn, why am i expressing myself so harshly :o | 15:06 | |
PerlJam | timotimo: fwiw, you probably think you're coming across harsher than you are. :) | 15:07 | |
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: f98acb0 | (Zoffix Znet)++ | README.md: Use new directory for the db builder |
15:08 | |
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: f62ee8e | (Zoffix Znet)++ | mojo-app/ (2 files): Bring out Hypnotoad config into the config file |
|||
timotimo | no, i think i come across as harshly than i am! :P | 15:10 | |
Skarsnik | Na it was fine lol | 15:11 | |
raoulvdberge | that was like totally not harsh :P | 15:12 | |
timotimo | OK, i'll keep that in mind; thanks! | ||
15:12
endian01 joined
15:15
^elyse^ joined,
^elyse^ left
|
|||
psch | m: say (0 == 0 == 0) ~~ 0 | 15:17 | |
camelia | rakudo-moar 9f1499: OUTPUT«False» | ||
psch | $ ./perl6 -e'say (0 == 0 == 0 == 0 == 0) ~~ 0' | ||
True | |||
(the number of == 0 doesn't matter :P | |||
) | |||
also, nobody ever firmly enough said that RT #81336 is bogus | 15:18 | ||
15:20
tokuhiro_ joined
|
|||
dalek | ast: e0e0b80 | usev6++ | S (3 files): Unfudge passing tests for rakudo.jvm |
15:21 | |
zengargoyle | good * #perl6 | ||
15:24
tokuhiro_ left
15:25
synbot6 joined
|
|||
timotimo | m: .say for [\==] 0 xx * | 15:26 | |
camelia | rakudo-moar 9f1499: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/6EvxdsCe4G:1» | ||
timotimo | m: say [\==] 0 xx * | 15:27 | |
camelia | rakudo-moar 9f1499: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/y_n6uaZvyf:1» | ||
timotimo | ... that's not good | ||
m: say [\==] 0, 1 ... * | |||
camelia | rakudo-moar 9f1499: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/GiaZp4rGoz:1» | ||
timotimo | m: say [\==] 0..10 | ||
camelia | rakudo-moar 9f1499: OUTPUT«(True False False False False False False False False False False)» | ||
timotimo | ah, chain, duh. | ||
m: say (0 == 0) == 0 | |||
camelia | rakudo-moar 9f1499: OUTPUT«False» | ||
timotimo | m: say 0 == 0 == 0 | 15:28 | |
camelia | rakudo-moar 9f1499: OUTPUT«True» | ||
timotimo | you can override the chainyness like that | ||
m: say [\S==] 0..10 | |||
camelia | rakudo-moar 9f1499: OUTPUT«===SORRY!===Cannot find method 'CALL-ME'» | ||
timotimo | ^- that should to this, too, but isn't implemented | ||
psch | timotimo: oh, so i have to pay attention to parens there? | ||
as in (0 == 0) ~~ 0 is False, but 0 == 0 ~~ 0 is True | 15:29 | ||
timotimo | with the parens you can cause it to not do the chaining | ||
because 0 == 0 ~~ 0 will be translated for you to 0 == 0 && 0 ~~ 0 | |||
psch | no, it wont | ||
timotimo | no? | ||
psch | m: say 0 == 0 ~~ 0 | ||
camelia | rakudo-moar 9f1499: OUTPUT«False» | ||
timotimo | is ~~ not chaining? | ||
psch | timotimo: it should be... :) | ||
that's what i'm trying to implement right now | |||
timotimo | oh! | 15:30 | |
15:31
spider-mario left
|
|||
psch | hrm, but if parens change stuff there i do need to get involved in EXPR, says my gut... :S | 15:31 | |
15:32
^elyse^ joined
|
|||
JimmyZ | there is xmas rt about ~ chaining | 15:32 | |
~~ | |||
psch | JimmyZ: yeah, #81336 | 15:33 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...l?id=81336 | ||
psch | oh, i don't need EXPR | 15:34 | |
'cause i get a QAST::Stmts when there's parens, but QAST::Op when there's not | |||
and the other case (i.e. 0 ~~ 0 == 0) can be solved in the definition of op chain | |||
15:35
skids joined
|
|||
psch | hm, is there a right-assoc chain? | 15:36 | |
dalek | href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: b2050a5 | (Zoffix Znet)++ | mojo-app/lib/ModulesPerl6.pm: Cry in the log when secrets are missing |
||
href="https://modules.perl6.org/mojo-app:">modules.perl6.org/mojo-app: ec54b4a | (Zoffix Znet)++ | / (2 files): Docs for app deployment |
|||
psch | wait, that doesn't even make sense | 15:37 | |
PerlJam | Surely (0 == 0) ~~ 0 is False | ||
psch | PerlJam: yeah, i had it backwards | ||
PerlJam | psch: Are there todo/skip tests for ~~ chaining? | 15:38 | |
psch | PerlJam: there's a ticket, but the last time i brought it up there was disagreement with the design decision behind having ~~ chain | 15:39 | |
PerlJam: so, no, there's no tests afaict | 15:40 | ||
moritz | why do we want ~~ to chain at all? | 15:41 | |
PerlJam | moritz: it's written that way in S03 | ||
moritz | that's not the answer I was hoping for | ||
~~ is very asymmetric | |||
PerlJam | maybe writing some tests will help solidify any problems with chaining ~~ | ||
15:41
Zoffix joined
|
|||
moritz | the RHS is the matcher and the LHS is the thing being matched | 15:41 | |
PerlJam | aye and what does it mean for topicalizing ? | 15:42 | |
moritz | so a chaning ~~ requires at least one thing being matched and being a matcher | ||
I have trouble coming up with real-world uses cases where that's the case | |||
psch | moritz: masak++ had < "foo" ~~ "foo" ge "bar" > as a potentially useful case | ||
in the mentioned ticket | 15:43 | ||
not sure if it quite qualifies as "real-world", though | |||
moritz | there's no reason to use ~~ over eq here | ||
if you know it's a string | |||
and if you don't know the middle thing is a string, you don't want to use it with ge | |||
15:44
xpen joined
|
|||
ShimmerFairy | moritz: fwiw we tried moving ~~ to an appropriate non-chaining precedence before, but it caused problems | 15:45 | |
15:45
spider-mario joined
15:46
endian01 left
|
|||
moritz | ShimmerFairy: yes, I remember | 15:46 | |
PerlJam | moritz: maybe $thing ~~ 1..100 > 75 is a use-case. Sure, there are better ways to do that math-wise but if the range and 75 come from separate data sources, you may not have the luxury of writing the comparison better | 15:47 | |
ie. it would be $thing ~~ $range > $thresh | 15:48 | ||
psch | PerlJam: but chaining that means "$thing ~~ 1..100 && 1..100 > 75" | ||
PerlJam | oh blah, you're right. | 15:49 | |
I was thinking of ~~ backwards | |||
psch | $thresh < $thing ~~ $range i guess | ||
15:51
xinming joined
|
|||
PerlJam | in any case, I think writing some tests would be instructive. | 15:53 | |
15:54
^elyse^ left,
Ven joined
15:55
AlexDaniel left
|
|||
psch | yeah, i'm adding to my local test file for now | 15:55 | |
15:55
Ven left
|
|||
psch | merging that of course depends on whether it can be agreed that it should stay chaining | 15:56 | |
(or maybe "really become" instead of "stay") | |||
15:56
Ven joined
15:58
^elyse^ joined
|
|||
zengargoyle | gah, just discovered that irssi does tab completion.... | 16:00 | |
Zoffix | "just"? :) | ||
zengargoyle | so much time wasted | ||
Zoffix | I hope you've not been on IRC for as long as I have :) | 16:01 | |
Information on Zoffix (account Zoffix): -NickServ- Registered : Jul 31 02:56:07 2006 (9y 15w 3d ago) | |||
Interesting. Next year I'll have both 10-year anniversary at $work and 10-year anniversary of being on Freenode | 16:02 | ||
zengargoyle | let's just say i've been away from IRC for a long time | 16:03 | |
16:03
xpen left
|
|||
JimmyZ | weechat is better than irssi :P | 16:04 | |
16:05
CIAvash joined
|
|||
zengargoyle | Question of the day: where in rakudo can i install a $=data variable at the latest point? | 16:05 | |
16:08
Zoffix left
16:10
Ven left
|
|||
Skarsnik | 10 years of freenode, not bad x) | 16:10 | |
16:12
Ven joined,
rurban left
16:14
avalenn joined,
^elyse^ left
|
|||
zengargoyle | weechat looks interesting. not sure i need the power. | 16:15 | |
16:17
espadrine left
16:18
zakharyas joined
16:21
sprocket joined
|
|||
timotimo | no matter whether or not you need "the power" | 16:26 | |
it's just nicer in general | |||
16:26
sprocket left
|
|||
timotimo | i've gone from irssi to weechat and didn't regret it one bit | 16:26 | |
loren | How i can excluded characters in regex ? | 16:27 | |
timotimo | in regex in general, or in a character class? | ||
loren | I know in perl5 we can use like this : /[^a]/ | ||
timotimo | ah | ||
dalek | kudo/nom: 032e02e | lizmat++ | src/core/Buf.pm: Make Buf.subbuf between 1.5x and 4x as fast Also implement .subbuf(^10), just like with .substr |
||
timotimo | that's spelled <-[a]> now | ||
16:28
vishnix joined
|
|||
loren | oh, thanks, timotimo | 16:28 | |
timotimo | the negatedness is now no longer part of the character range itself, but of the application; its generalization allows you to combine multiple char classes and unicode properties and such | ||
16:30
softmoth_ joined
|
|||
dalek | osystem: 97cc721 | (Sylvain Colinet)++ | META.list: Add Config::Simple |
16:31 | |
osystem: 1b1a32e | moritz++ | META.list: Merge pull request #92 from Skarsnik/master Add Config::Simple |
|||
loren | em. | ||
Skarsnik | thx moritz :) | ||
moritz | Skarsnik: I've also invited you to the "perl6" organization on github, so that you can push directly in future | 16:32 | |
(to most repos under that organization) | |||
Skarsnik | Oh thx | 16:33 | |
timotimo | welcome to the team :) | 16:34 | |
moritz | while I'm at it, does anybody else want an invitation? | ||
I've lost overview over who has and who doesn't | |||
Skarsnik | I still the idea of pull request where someone can have a look at your commit :) | ||
There is not a list? | |||
16:35
softmoth_ left
|
|||
moritz | Skarsnik: there's a list with 196 members | 16:35 | |
Skarsnik: but currently there's a rather high infllux of new folks, and I'm losing overview | |||
Skarsnik | Ok, that seems like a lot x) | ||
loren | quit | 16:38 | |
16:38
loren left
16:39
loren joined
16:41
Ven left,
Ven joined
|
|||
dalek | ast: 45297cc | lizmat++ | S03-operators/buf.t: Update cumbersom CATCH tests to throws-like |
16:44 | |
ast: 94099c8 | lizmat++ | S03-operators/buf.t: Add tests for Buf.subbuf(^10) |
|||
16:45
khw joined
|
|||
timotimo | Skarsnik: you can also make a pull request from within a single repo, basically removing the necessity to have your own fork | 16:45 | |
16:46
RabidGravy joined
16:49
nightfro` joined
|
|||
Skarsnik | hm rakudobrew did not install the lib (with my weird --prefix=/opt/ install). But it call just call configure and make/make install after cloning rakudo? so it should have worked? | 16:50 | |
16:51
ribasushi left,
nightfrog left,
nightfro` is now known as nightfrog
|
|||
dalek | c: ffa2e50 | lizmat++ | doc/Type/Blob.pod: Mention Blob.subbuf can also take a Range |
16:52 | |
16:52
sftp left,
sftp joined
16:53
zakharyas left
16:54
sftp left
16:55
sftp joined
|
|||
zengargoyle | timotimo: i've been wondering about how to do the pull request stuff without a fork. do you push a new branch to the repo and then make a pull request? | 16:55 | |
jdv79 | timotimo: i see a 15% diff in isolation(er). | 16:56 | |
16:56
Ven left
|
|||
jdv79 | it looked larger in a larger context oddly | 16:56 | |
dalek | kudo/nom: cecaae2 | lizmat++ | src/core/Buf.pm: Don't call a method if we don't have to |
||
16:57
Ven joined,
sftp left,
sftp joined,
espadrine joined
|
|||
timotimo | zengargoyle: yeah, that's right | 16:58 | |
jdv79: you really had me a little scared! | |||
jdv79 | 15% is still kinda high. i might expect 5% diff from what i know about the difference | 16:59 | |
zengargoyle | Skarsnik: what command did you try? | 17:00 | |
jdv79 | but yeah, i guess it reshuffled the larger profile oddly | ||
plus it was multiple invocations so it probably aggregated up prominently | |||
well, a little relief at least | 17:01 | ||
Skarsnik | zemmihates, rakudobrew build-moar --configure-opts=--prefix=/opt/; it copy the binary; Now I am trying without rakudobrew x) | ||
zengargoyle | i've just make /opt/rakudobrew instead of $HOME/.rakudobrew to get a system-wide-ish install | ||
17:02
KotH joined
|
|||
Skarsnik | Oooh panda removed /opt/lib | 17:05 | |
perl6 bootstrap.pl --prefix=/opt/ in panda removed /opt/lib x) | 17:06 | ||
tadzik | :o | ||
wtf | |||
moritz | Skarsnik: well, maybe you wanted /opt/rakudobrew/ as prefix | ||
erm, I'm mixing up panda and rakudobrew here | |||
17:07
KotH left
|
|||
Skarsnik | well it put panda in /opt/bin | 17:07 | |
zengargoyle | i'd think you don't need the --prefix on panda. shouldn't it just magically install itself into perl6 space | ||
17:08
abaugher left
17:09
abaugher joined
|
|||
zengargoyle | /opt/my6/bin/perl6 bootstrap.pl -> panda under /opt/my6/share/perl6/site/bin | 17:09 | |
17:10
Actualeyes left
|
|||
lizmat | sightseeing& | 17:11 | |
17:11
Ven left
|
|||
Skarsnik | The issue is more, why deleting stuff x) | 17:11 | |
17:11
lizmat left
17:12
KotH joined
|
|||
Skarsnik | *rerererebuild rakudo* | 17:12 | |
17:12
Ven joined
|
|||
grondilu | m: class A { has @.c handles <AT-POS ZEN-POS> }; say A.new(:c(^10))[1..2] | 17:13 | |
camelia | rakudo-moar cecaae: OUTPUT«()» | ||
grondilu | m: class A { has @.c handles <AT-POS ZEN-POS> }; say A.new(:c(^10))[my @ = 1..2] | ||
camelia | rakudo-moar cecaae: OUTPUT«(1 2)» | ||
grondilu | ^looks like a bug, doesn't it? | ||
m: say (my @ = ^10)[1..2] | 17:14 | ||
camelia | rakudo-moar cecaae: OUTPUT«(1 2)» | ||
moritz | erm, waht did you expect? | 17:16 | |
psch | m: class A { has @.c handles <AT-POS ZEN-POS> }; my $a = A.new(:c(^10)); say $a[1..2]; say $a[1,2] # this i assume | 17:17 | |
camelia | rakudo-moar cecaae: OUTPUT«()(1 2)» | ||
grondilu | I was expecting $a[1..2] to return (1, 2) | 17:18 | |
cygx | m: class A { has @.c handles <AT-POS ZEN-POS> }; my $a = A.new(:c(^10)); say $a[|1..2] | ||
camelia | rakudo-moar cecaae: OUTPUT«()» | ||
grondilu | m: class A { has @.c handles <AT-POS ZEN-POS> }; say A.new(:c(^10))[@(1..2)] | 17:19 | |
camelia | rakudo-moar cecaae: OUTPUT«(1 2)» | ||
cygx | m: class A { has @.c handles <AT-POS ZEN-POS> }; my $a = A.new(:c(^10)); say $a[flat 1..2] | ||
camelia | rakudo-moar cecaae: OUTPUT«(1 2)» | ||
psch | grondilu: right. my "this i assume" was meant as "this is the bug, i assume" | ||
17:19
autarch joined
|
|||
autarch | I'm looking at implementing something like the organization described in github.com/perl6/doc/issues/114 | 17:19 | |
for the docs in doc/Language, I'm wondering what the best way to store section names is. Does it go in the pod as "=for SECTION" or in a separate doc (I'd prefer in the pod) | 17:20 | ||
17:22
MadcapJake_ is now known as MadcapJake
|
|||
moritz | autarch: forgive me if I'm stupid, but why not use a heading? | 17:22 | |
grondilu | guys, in rosettacode.org/wiki/N-body_problem#Perl_6, I wrote: | ||
multi method new(*@coordinates) { self.bless: :@coordinates } | |||
^is that the idiomatic way of doing it? | 17:23 | ||
moritz | grondilu: yes | ||
grondilu | ok, I was not sure about the use of bless | ||
moritz | grondilu: though custom constructors make subclassing harder, so it's mildly discouraged | ||
autarch | moritz: like =SECTION Foo ? | ||
grondilu | moritz: how would you do it then? | 17:24 | |
moritz | grondilu: call .new(coordinations => @values) | ||
grondilu | that looks verbose | 17:25 | |
17:25
Ven left
17:27
Ven joined
|
|||
moritz | autarch: I think I misunderstood your intention | 17:27 | |
autarch: I don't know how to set anything higher-level than TITLE | 17:28 | ||
autarch | I want to turn doc.perl6.org/language.html from an alpha list into something more organized | ||
actually, it might make more sense to simply have a separate file for all this - I want to also be able to order documents in a section in a non-alpha way | |||
moritz | aye | ||
and maybe even subdirs under doc/Language/ | 17:29 | ||
autarch | moritz: yeah, that would probably be a good idea | 17:30 | |
I wish the doc generator wasn't so sloooooooooooow | |||
zengargoyle | grondilu: i think that's where you use BUILDARGS | ||
autarch | hmm, this requires some pretty invasive changes to the doc code too - I'd have to make the registry nested or something | 17:32 | |
moritz | can't you just have the keys be slash-separated? | 17:33 | |
autarch | it might be easier to simply start by editing the html directly to make a prototype | 17:34 | |
I mean easier to discuss that way | |||
17:34
kjs_ left
|
|||
moritz | and fwiw my attempts to either profile or parallelize htmlify.p6 have failed :/ | 17:35 | |
autarch | yeah, it is just ridiculously slow | 17:36 | |
17:36
ribasushi joined,
rurban joined,
b2gills1 is now known as b2gills
17:37
b2gills is now known as Guest65736
|
|||
psch | m: sub f($a) { $a * 2 }; say 2 ~~ &f == 4 # one use-case that means infix:<~~> should not chain | 17:37 | |
camelia | rakudo-moar cecaae: OUTPUT«True» | ||
psch | i do have trouble finding things for chaining that make it seems natural and preferable | ||
but then even the counter example is somewhat constructed... vOv | 17:38 | ||
moritz | which is why I think it's somewhat non-sensical to invest time in | 17:41 | |
17:41
Ven left
|
|||
psch | well, it's the most approachable ticket in the xmas list for me | 17:41 | |
17:41
Ven joined
|
|||
autarch | on a related topic, has there been any thoughts about the design of the website(s) themselves? | 17:46 | |
17:46
Guest65736 is now known as b2gills
|
|||
autarch | actually, perl6.org has a nicer design than the sub-sites, maybe it'd be possible to use that on doc, etc. | 17:47 | |
pink_mist | the main site did get a facelift not very long ago I seem to recall | 17:48 | |
autarch | pink_mist: yep, definitely better than the others | ||
pink_mist | if you prod Zoffix when he's around, I'm sure you can convince him to do that for the others too :P | ||
moritz | ... after he has redone modules.perl6.org :-) | 17:49 | |
pink_mist | yes :P | ||
autarch | I'm particularly not fond of the rounded corners + drop shadows + highlighted tabs that aren't proper tabs | ||
(a proper tab merged into the content below it to create an indication of what this is a tab of) | |||
chrome and firefox do this properly, for example | 17:50 | ||
and on a related related topic, has there ever been any discussion of using things like bootstrap or other frameworks? | 17:53 | ||
moritz | the last perl6.org redesign introduced bootstrap, iirc | 17:54 | |
autarch | moritz: oh, duh, so it did | ||
that's great, I find it much easier to think & talk about design when there's a framework to give you a common design langauge | 17:55 | ||
17:55
rurban left
|
|||
moritz | some of these websites have the unfortunate history of being started by me, and I happen to be too stupid to use bootstrap | 17:55 | |
autarch | heh, then we'd just be stuck on Bootstrap 2 or something ;) | 17:56 | |
awwaiid | It appears that #`( ... ) style comments can span multiple lines -- is that a language feature or a rakudo feature? | ||
moritz | autarch: language feature | 17:57 | |
sorry, meant awwaiid | |||
moritz should tab-complete only after the second character of a nick name :-) | |||
m: my str @array; say @array.^name | 17:58 | ||
camelia | rakudo-moar cecaae: OUTPUT«===SORRY!===NYI» | ||
awwaiid | cool. yeah, I confirmed in S02 also. thanks moritz. | 17:59 | |
17:59
nightfrog left
|
|||
moritz | m: my str @array; say @array | 17:59 | |
camelia | rakudo-moar cecaae: OUTPUT«===SORRY!===NYI» | ||
moritz | m: my int @array; say @array | ||
camelia | rakudo-moar cecaae: OUTPUT«» | ||
moritz | m: my int @array; say @array.^name | ||
camelia | rakudo-moar cecaae: OUTPUT«array[int]» | ||
moritz | we have native int arrays, but not native str arrays? | ||
18:00
rurban joined
|
|||
moritz | m: my int @a; @a[0] = 'foo' | 18:01 | |
camelia | rakudo-moar cecaae: OUTPUT«This type cannot unbox to a native integer in block <unit> at /tmp/qerEiYrKj8:1» | ||
moritz wonders if RT #125123 can be fixed by catching that error and throwing an X::TypeCheck instead | 18:02 | ||
18:03
nightfrog joined,
xfix left
|
|||
moritz | do we have any type that's not derived from Int but can unbox to a native int? | 18:03 | |
Skarsnik | what is the int type? | ||
moritz | Skarsnik: a native integer | 18:04 | |
that is, not an object | |||
cygx | moritz: pointers! | ||
Skarsnik | hm, nativecall doc said to use int32 for int if I remember correctly x) | 18:05 | |
psch | moritz: i think with the MMD fixes yesterday we can add (int @a, int $elem) and (int @a, Any $elem) candiates and throw in the latter | 18:06 | |
awwaiid | does anyone use single-quote embedded in any identifiers? If not... I kinda want to advocate for it to get the chopping block :) | ||
psch | moritz: which looks cleaner to me than catching and repackaging a backend die | ||
Skarsnik | m: my int @array; say @array.perl; | ||
camelia | rakudo-moar cecaae: OUTPUT«array[int].new()» | ||
Skarsnik | m: my int @array = 1..4; say @array.perl; | 18:07 | |
camelia | rakudo-moar cecaae: OUTPUT«array[int].new(1, 2, 3, 4)» | ||
Skarsnik | it's interesting because you can't use .perl on something that contain str (probably because it's potentially a pointer), but it work with int | 18:08 | |
18:10
colomon joined,
domidumont joined
|
|||
moritz | m: say index('a', 'a').^name | 18:11 | |
camelia | rakudo-moar cecaae: OUTPUT«Int» | ||
awwaiid | dear TimToady, how about no single-quote in identifiers? Love, anonymous | ||
18:11
Ven left
18:12
Ven joined
|
|||
moritz | m: sub f(int $x) { say $x }; my Int $a = 42; f $a | 18:14 | |
camelia | rakudo-moar cecaae: OUTPUT«42» | ||
18:18
softmoth_ joined
18:22
Ella_ joined
|
|||
autarch | here's a rough draft of a language doc re-org -houseabsolute.urth.org:3000/language.html | 18:23 | |
18:23
softmoth_ left
|
|||
autarch | although when I look at this I realize a couple things ... a) there is not nearly enough introductory material; b) some of the stuff under reference should be moved around | 18:23 | |
by moved around I don't mean the order, I mean that some documentation is in the wrong document, and new documents should be created in some cases | 18:24 | ||
18:26
Ella_ left,
hankache left
|
|||
moritz | autarch: agreed | 18:28 | |
autarch: and I like your draft | |||
autarch | I'm not really sure how to go from what's there now to that organization | 18:29 | |
moritz | 1) make a list of differences between there and now | 18:30 | |
2) for each difference, perform actions to resolve them | |||
3) profit | |||
18:32
raiph joined
|
|||
Skarsnik | oh that look better x) | 18:34 | |
18:34
Ven left
|
|||
raiph | m: my \foo = [1, True, :a, :b(False), { :c, :d }, [3, [4]]]; dd foo # built in data dumper | 18:35 | |
camelia | rakudo-moar cecaae: OUTPUT«Array $var = $[1, Bool::True, :a, :!b, {:c, :d}, [3, [4]]]» | ||
raiph | Skarsnik: ^^ (re your earlier question) | ||
Skarsnik | it doesn't do a nice output with newline x) | 18:36 | |
But thx | |||
dalek | c: 9726ca5 | (Brock Wilcox)++ | doc/Language/syntax.pod: Clarifications and improvements |
18:38 | |
autarch | moritz: very helpful | ||
18:40
ifim joined,
hankache joined
|
|||
awwaiid | autarch: since all-is-draft right now, you could put inline dangling pointers to what you wish was there | 18:40 | |
autarch | awwaiid: I'm more asking how I organize the documentation in the repo to indicate what category it belongs to | 18:41 | |
and then how do I update htmlify.p6 to use that info | |||
awwaiid | oh, like dir structure rather than file contents? | ||
I haven't messed with htmlify.p6 yet | 18:43 | ||
moritz | autarch: I'd really go with subdirs in doc/Language/ | 18:44 | |
autarch | awwaiid: well, I guess it's both - do I move files around? do I add section metadata to pod files? etc | ||
moritz: each subdir needs some metadata for that directory, ideally | |||
section title & description, order of contents in that section, order of sections overall | 18:45 | ||
awwaiid | my brief look at htmlify.p6 says yes -- move stuf finto subdirs, drop in some metadata, then we need to fix htmlify to use that instead of hard-coded values | ||
18:45
zakharyas joined
|
|||
moritz | autarch: yes. Or maybe one meta data file for all of Language/ | 18:46 | |
awwaiid | (though I'm a fan of more localized metadata, like naming things 00- 01-) | ||
autarch | moritz: yeah, I was thinking of that too - something like the type graph file | ||
awwaiid: then you get to rename everything when you insert a document, ugh | |||
awwaiid | oh good point | 18:47 | |
moritz | autarch: it solves the problem of where to put the order of categories without duplicating it | ||
awwaiid | BASIC 010, 015, 020, ... :) | ||
autarch | haha | ||
or ... 01.1, 01.2, 01.15, 01.155 | |||
awwaiid | infinite choices! | ||
autarch | there's literally an infinite amount of room! | ||
awwaiid smacks head at simultaneity of jokes | 18:48 | ||
moritz | ... and file names that nobody can remember | ||
awwaiid | ya but maybe you link based on the section names intead of the file names. hmm | ||
moritz | awwaiid: but for editing, I still need to open the files in my editor | ||
18:48
Ven joined
|
|||
awwaiid | ya | 18:49 | |
well. I have to to to trader joe's now. I'd be happy to fix up random links / filenames to follow whatever wonderful schemes y'all come up with. | 18:51 | ||
er. when I return, that is. Not from Trader Joe's. | |||
MadcapJake | I've been working on a better Perl 6 highlighter for Atom Editor and I've officially released the first version! atom.io/packages/language-perl6fe As requested, there are some images too! Please give it a try, star it and post some issues if you got em. Thanks! | 18:52 | |
moritz | MadcapJake++ | ||
awwaiid | moritz: oh -- the aweful numbers would just be prefixes on meaningful names that can be chopped out by htmlify | ||
moritz | awwaiid: but they would still be present when I edit the files to write content, so they'd annoy *me* | 18:53 | |
18:55
Ven left
18:57
Ven joined
18:59
Ven left,
hankache left
19:00
Ven joined,
rurban left
19:05
Sgeo joined
19:06
Sgeo left,
Sgeo joined,
tokuhiro_ joined
19:08
FROGGS_ left
19:09
TEttinger joined
19:11
tokuhiro_ left
|
|||
grondilu | talking about syntax highlighting, on one hand I'm glad it works fine on Vim, but on the other hand I can't help thinking the way it works is ugly. Shouldn't it possible to have vim use perl6 for parsing and then use the syntax tree for highlighting? | 19:11 | |
vendethiel | grondilu: parsing is undecidable in perl | 19:12 | |
(what I actually mean: you need to eval the code) | |||
grondilu | sure, but that'd be fine, wouldn't it? | ||
vendethiel | arbitrary code can run at BEGIN time etc, so not really | 19:13 | |
19:15
^elyse^ joined
19:16
hankache joined
19:17
FROGGS joined
19:22
hankache left,
kmel joined
19:26
Ven left,
kjs_ joined
19:28
Ven joined
|
|||
dalek | kudo/nom: f5fbcde | moritz++ | src/core/native_array.pm: RT #125123: Improve error message when assigning a Str to a native int array this works by realizing that the multi-dispatcher unbox for us into the int candidate when possible. The ticket acutally talks about the error message from push, but assignment has the same problem. |
19:29 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125123 | ||
19:29
kmel left
19:31
^elyse^ left
|
|||
psch | moritz: shouldn't the Int:D in line 32 be T:D? | 19:31 | |
moritz: oh, nevermind, T is any native int type because that's the int specific role | 19:33 | ||
i guess a T:D candidate might save us a box/unbox pair during dispatch, but not sure if it's actually worth it | 19:34 | ||
hm, i'm also wondering about < my int8 @a; my int32 $x; push @a, $x > | 19:35 | ||
'cause with the MMD boxing dance that would dispatch, but truncate | |||
which might or might not be what's expected... | |||
jnthn | In terms of argument passing, every native is full width anyway. | 19:37 | |
Skarsnik | hm... should there be a way for nativecall to put multi name for a lib? | ||
19:37
AlexDaniel joined
|
|||
nine | How can I access a dynamically initialized dynamic variable from NQP code (World.nqp)? | 19:38 | |
19:40
domidumont left
|
|||
psch | nine: i'm not sure i understand the question. you want to generate code that looks for a dynvar in World.nqp? | 19:43 | |
nine | psch: yes, $*REPO to be precise | 19:44 | |
psch | nine: there's getdynlex | ||
nine: but it's not documented in ops.markdown and apparently not used in src/Perl6 | |||
jnthn | If you also need the PROCESS:: fallback then there's also the option of looking up &DYNAMIC and calling it with the name of the lexical | 19:45 | |
cygx | psch: it's getlexdyn in nqp-land | ||
jnthn | uh, the dyncar | ||
dynvar even! :) | |||
psch | cygx: ah, thanks | ||
nine | I can get at the variable with nqp::gethllsym('perl6', 'PROCESS').WHO<$REPO> but only if it has been accessed before, since it's initialized by INITIALIZE_DYNAMIC('$*REPO') | ||
psch | fwiw, that's the most confusing part about transitioning from r-j work to r-m work | 19:46 | |
r-j ops are easily translatable to Ops.java methods :P | |||
(well, nqp-m and nqp-j actually...) | |||
jnthn | nine: Going through &DYNAMIC should fix that. | ||
('cus it triggers the initialization) | |||
timotimo | oh hey jnthn :) | ||
how are you today? | |||
nine | nqp::gethllsym('perl6', '&DYNAMIC')? | 19:47 | |
19:47
zakharyas left
|
|||
jnthn | timotimo: A little drained from filling a nearly-100-question form, letter writing, document digging, etc. :) But I cooked some tasty kofta. \o/ | 19:48 | |
timotimo | oh, i shall look up what that is! | ||
jnthn | And slept lots :) | ||
timotimo | that looks tasty! | 19:49 | |
19:49
CIAvash left
|
|||
jnthn | Well, in my case, beef+garlic+spice meatballs and a nice curry sauce and rice :) | 19:49 | |
psch | nine: that should get you &PROCESS, yes. you'd still need to invoke it to actually get the var | ||
nine: that's a QAST::Op (:op<call>...) if you're writing an ast, not sure how you'd do that if you need the value in World though | 19:50 | ||
err, not &PROCESS, &DYNAMIC | |||
Skarsnik | I am confused, debian only provide the libfoo.so symlink in libfoo-dev package. And nativecall doesn't allow for a version number and seach for libfoo.so.version. I can't use my binding without installing the pointless -dev package. | 19:51 | |
nine | psch: except, that it only gives me an NQPNull :/ | ||
jnthn | psch: You just look it up and call it :) | ||
Skarsnik | Did I miss something, somewhere? xD | ||
jnthn | self.find_symbol(['&DYNAMIC'])('$*REPO') | ||
19:51
vishnix left
|
|||
psch | oh | 19:51 | |
jnthn | Sometimes, things are easier than you fear ;) | 19:52 | |
psch | jnthn: well, i have a SEGV here... :P | ||
from nine++'s bool_enum branch | |||
nine | psch++ # looking at my branch | ||
psch | apparently because there's a cur_frame->outer that's 0x0 | ||
zengargoyle | Skarsnik: i had the same question. seems like it needs to be `native('libfoo', :version(* > 1.0))` or something. | ||
psch | fwiw, i'm have a hunch that moar is actually doing the right thing, but we're misbuilding something somewhere because EnumHOW is different... vOv | 19:53 | |
Skarsnik | where is nativecall code? x) | ||
psch | Skarsnik: $RAKUDO_REPO/lib/NativeCall.pm | 19:54 | |
zengargoyle | or use a &library function and LibraryCheck to find the right magic. | ||
Skarsnik | ok thx | ||
zengargoyle | Skarsnik: take a look at Algorithm::Trie::libdatrie, i use LibraryMake and friends to find a self-installed library. | 19:55 | |
might be adaptable to finding a specific .so.$version to use. | 19:56 | ||
jnthn | psch: Segfaulting is never the right thing... ;) | ||
psch | jnthn: so if we get 2 from GET_UI16(cur_op, 4), but tc->cur_frame->outer->outer is 0x0, moar is doing something wrong? | ||
arnsholt | Skarsnik: Yeah, the library locating thing is a tricky issue with NativeCall | ||
psch | jnthn: 'cause i was wondering if there's just some sort of off-by-one hidden in getlex | ||
zengargoyle | do .dll files ever get numbered like .so.X.Y on linux? | 19:58 | |
FROGGS | zengargoyle: no | ||
zengargoyle | or is versioning all inside and only search path can be used to pick one. | 19:59 | |
nine | jnthn, psch: thanks a lot! working now | ||
jnthn | psch: Well, *something* is certainly wrong. | ||
19:59
Ven left,
mitja joined
|
|||
zengargoyle | i'm thinking it boils down to using LibraryMake to find the right $so extension, then maybe attaching .$version and using LibraryCheck to see if it can be found to get an *actual loadable library name* to return | 20:00 | |
20:01
darutoko left,
mitja left
20:02
mitja joined
|
|||
zengargoyle | oh, and any brave Windows people want to try Algorithm::Trie::libdatrie and see if it actually works on Windows? | 20:03 | |
Skarsnik | maybe just have something to put the version? | ||
20:03
mitja left
|
|||
Skarsnik | like is native('lib:version') | 20:04 | |
zengargoyle | if i weren't going to do it the hard way, yeah, i'd probably have an environment variable to set the version with a reasonable default. | ||
moritz | atom.io/packages/language-perl6fe looks good fro the screenshots | 20:05 | |
the only thing that startles me is how it renders the @ signs | |||
dalek | kudo/curli: 1d90234 | (Stefan Seifert)++ | / (4 files): Turn lib into a proper pragma As lib.pm was itself a module, even a 'use lib' at the beginning of a script would defeat any automatic precompilation because the old $*REPO created a precompilation store object just to be replaced immediately replaced by a new $*REPO. By turning it into a pragma, a use lib will no longer trigger a module load. |
20:06 | |
20:07
softmoth_ joined
|
|||
Skarsnik | hm I am not sure to understand the $*VM.config stuff does at github.com/rakudo/rakudo/blob/nom/...ll.pm#L169 | 20:08 | |
20:09
yqt joined
|
|||
FROGGS | Skarsnik: load_ext can be something like ".dll" or ".so" or ".dylib" | 20:09 | |
psch | m: say $*VM.config<load_ext> | 20:10 | |
camelia | rakudo-moar f5fbcd: OUTPUT«(Any)» | ||
psch | j: say $*VM.config<load_ext> | ||
camelia | rakudo-jvm cecaae: OUTPUT«(Any)» | ||
FROGGS | maybe it is a Parrotism? | ||
zengargoyle | LibraryMake exports get-vars('')<SO> | 20:11 | |
20:11
Ven joined,
softmoth_ left
|
|||
psch | FROGGS: i think so | 20:11 | |
m: say $*VM.config<dll> | 20:12 | ||
camelia | rakudo-moar f5fbcd: OUTPUT«lib%s.so» | ||
autarch | here's a doc page redone with the perl6.org style - body { background: #f8f8f8; } | ||
oops - houseabsolute.urth.org:3000/type.html | |||
but I'm not sure what to do about the second level of nav - bootstrap doesn't really have anything for that | |||
psch | $*VM.config<dll> might be more useful, depending on what's in there on win | ||
20:12
Ven left
|
|||
cygx | psch: %s.dll on win32 | 20:12 | |
20:13
Ven joined
|
|||
psch | ah, but $*VM.config<dll> is also used a few lines down... :l | 20:14 | |
arnsholt | IIRC the different backends set slightly different config stuff | 20:15 | |
Or at least they did last time I worked on the code | |||
psch | arnsholt: yeah, it's a bit annoying. osname vs os.name comes to mind | ||
the latter on -j afair | |||
arnsholt | Yeah, we should probably try to clean that up | 20:16 | |
20:17
raiph left,
Ven left
|
|||
psch | we should. there's not really any reason for having the distinction. even if the jvm gives us the keys like that we can rewrite it to the expected format | 20:18 | |
afair there's also a difference in nqp ops for getting the backend config in the first place, which is also kind of silly | 20:19 | ||
yeah, nqp::jvmgetproperties vs nqp::getbackendconfig | 20:20 | ||
Skarsnik | m: say $*VM.config<nativecall.so> | 20:23 | |
camelia | rakudo-moar f5fbcd: OUTPUT«(Any)» | ||
20:24
Ven joined
|
|||
arnsholt | I guess a separate jvmproperties for purely JVM-specific things *might* be defensible (although it would probably be better placed in a key of the backendconfig) | 20:24 | |
psch | right, but we should also kind of standardize that | 20:25 | |
dalek | kudo/nom: 94ad45b | moritz++ | src/core/native_array.pm: RT #125123: Improve error message when pushing/unshifting to an int-typed array |
20:26 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125123 | ||
psch | as in, a hypothetical nqp::getbackendconfig on jvm has the key "extensions" which has a hash with "jarpath" or something | ||
dalek | ast: 49d4301 | moritz++ | S09-typed-arrays/native-int.t: Track improved error message from array[int].push and .unishift |
20:27 | |
psch | so a -js backend can put "npmpath" or so in its hash in "extensions" | ||
zengargoyle | Skarsnik: gist.github.com/a46a59f140d3c90b2cb7 | ||
autarch | what does :p do for Str.subst ? | 20:29 | |
zengargoyle | start-position? | 20:30 | |
autarch | ah, that makes sense, it's not documented, AFAICT | 20:31 | |
cygx | m: say \(-> int32 $ --> int32 {}) ~~ :(&cb (int32 --> int32)) | ||
camelia | rakudo-moar f5fbcd: OUTPUT«False» | ||
cygx | ^ is that supposed to work? | ||
zengargoyle | guessing, :p on match/regex type things is a position to start the match... | ||
moritz | and *that* is documented | 20:32 | |
I guess what's not documented is that .subst simply passes on regex adverbs | |||
Ven | m: class A { has Int $.a; }; say A.^attributes; say A.^attributes.perl; # ?? | 20:33 | |
camelia | rakudo-moar 94ad45: OUTPUT«(Int $!a)(Attribute.new,)» | ||
moritz | .perl should return A.^attributes[0] :-) | 20:35 | |
Ven | m: say True && !%.{Any}:exists # ?? | 20:40 | |
camelia | rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XmwueP9hrQYou can't adverb &infix:<&&>at /tmp/XmwueP9hrQ:1------> 3say True && !%.{Any}:exists7⏏5 # ?? expecting any of: pair value» | ||
Ven | I need parens for that!? | ||
jnthn | m: say True and !%.{Any}:exists | 20:41 | |
camelia | rakudo-moar 94ad45: OUTPUT«TrueUse of uninitialized value of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/_3kBXm9OFM:1Unexpected named parameter 'exists' passed in block <unit> at /tmp…» | ||
jnthn | m: say True and !%.{'beef'}:exists | ||
camelia | rakudo-moar 94ad45: OUTPUT«TrueUnexpected named parameter 'exists' passed in block <unit> at /tmp/lYu6RrC09E:1» | ||
jnthn | heh :) | ||
moritz | what %. ? | ||
jnthn | Yeah :) | 20:42 | |
I figured that was meta for something :) | |||
moritz | m: my %a; say True && !%a<bla>:exists | ||
camelia | rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4LZDaY5VWnYou can't adverb &infix:<&&>at /tmp/4LZDaY5VWn:1------> 3my %a; say True && !%a<bla>:exists7⏏5<EOL> expecting any of: pair value» | ||
20:42
Ven left
|
|||
moritz | ok, same error | 20:42 | |
jnthn | But using and instead of && should work as an alternative to parens, I think. | ||
m: my %a; say True and !%a<bla>:exists | |||
camelia | rakudo-moar 94ad45: OUTPUT«TrueUnexpected named parameter 'exists' passed in block <unit> at /tmp/LqADtLVXK1:1» | ||
jnthn | Hmm | ||
psch | cygx: a hunch says that pointy blocks in captures should not be allowed. putting an anon sub or sub there doesn't parse | ||
jnthn | Apparently not. | ||
autarch | in $str.subst(/(foo)/, $replacement) how do I get at the match results for $replacement? | ||
20:42
Ven joined
|
|||
zengargoyle | jnthn: maybe you can point me in the right direction for a core-ish hacking question... | 20:42 | |
jnthn | m: my %a; say True and not %a<bla>:exists | 20:43 | |
camelia | rakudo-moar 94ad45: OUTPUT«True» | ||
cygx | m: say \(-> int $ --> int {}) ~~ :(&cb:(int --> int)) | ||
camelia | rakudo-moar 94ad45: OUTPUT«True» | ||
psch | cygx: although clearly the opposite conclusion might be right as well - subs there should parse too | ||
jnthn | Ah, the ! also :) | ||
zengargoyle: Maybe :) | |||
cygx | psch: it works if you use the : syntax | ||
moritz | m: say 'abc'.subst(/b(.)/, -> $match { uc $match }) | ||
camelia | rakudo-moar 94ad45: OUTPUT«aBC» | ||
cygx | but you cannot inspect the arguments, apparantly | ||
moritz | autarch: ^^ | ||
Ven | grrr, internet. | ||
I'm sad I need parens for that one :( | |||
autarch | moritz: cool, thanks | ||
moritz: can I just use $0, $1, etc? | |||
moritz | m: say 'abc' ~~ S/b(.)/{ uc $/ }/ | ||
camelia | rakudo-moar 94ad45: OUTPUT«Potential difficulties: Smartmatch with S/// can never succeed because the subsequent string match will fail at /tmp/UVlCrQlCAp:1 ------> 3say 'abc' ~~ S/b(.)/{ uc $/ }/7⏏5<EOL>False» | ||
zengargoyle | i have hacked and gathered up =data sections from POD and want to install a $=data variable sorta like $=pod is installed. | ||
cygx | so for now, I probably have to pass 2 signature objects around - one for inspection, one for type checking... | 20:44 | |
autarch | like $str.subst(/(foo)/, "$1 bar") ? | ||
moritz | autarch: if you use -> $/ instead of -> $match, you can | ||
Ven | autarch: you're missing a block! | ||
moritz | autarch: because $0 is just short for $/[0] | ||
Ven | autarch: , { "$1 bar" } | ||
zengargoyle | do i have to do that in nqp land or is there a place in the Perl 6 part of rakudo where i can do that? | ||
Ven | well, $0, yes | ||
jnthn | Ven: Or you can write "and not" instead of && ! :) | ||
psch | cygx: ISTR that one of &cb (...) and &cb:(...) was dying with some complaint, but... | 20:45 | |
Ven | jnthn: true, true. I need to get used to `and` then, because with `not`, I can't use `&&` anymore | ||
psch | cygx: i don't quite have the brains to think about that right now, though... | ||
Ven | can I inspect a type to know if it's a user-declared one or not? | 20:46 | |
well, if it's something .new-able or not | |||
autarch | hmm, I don't think I can do what I want without some surgery to Pod::To::HTML :( | ||
jnthn | zengargoyle: You probably need to first add a string constant (search for $*W.add_string_constant for examples) and then pass that to $*W.install_lexical_symbol, probably passing $*UNIT as the scope to install it in | ||
zengargoyle: $*W is usually involved when you have a value at compile time and you want to make it available at runtime, fwiw. :) | 20:47 | ||
zengargoyle | so there's not a .pm place where i could extract my data from $=pod and install a variable? i have to do it in nqp land... | 20:49 | |
Ven | mmh, is there really no way to check if a type is p6-defined, or user-defined? | 20:50 | |
I'd like to avoid building such a list myself :[ | |||
20:50
^elyse^ joined
|
|||
psch | m: class A { }; say ::('A'); say CORE::('A') | 20:50 | |
camelia | rakudo-moar 94ad45: OUTPUT«(A)No such symbol 'CORE::A' in block <unit> at /tmp/_nbS1GHvnY:1Actually thrown at: in block <unit> at /tmp/_nbS1GHvnY:1» | ||
psch | m: class A { }; say ::('A'); say CORE::('Int') | ||
camelia | rakudo-moar 94ad45: OUTPUT«(A)(Int)» | ||
FROGGS | m: say Int =:= CORE::<Int> | 20:51 | |
camelia | rakudo-moar 94ad45: OUTPUT«True» | ||
FROGGS | Ven: do you need something like this? | ||
zengargoyle | and can nqp variables do both positional and associative roles at the same time? $=data[] returns un-keyed sections, $=data{} returns keyed sections | ||
FROGGS | m: class Int { }; say Int =:= CORE::<Int> | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===This type cannot box a native integer» | ||
Ven | FROGGS: well, I have a type instance at first. problem is -- if someone declares "Foobar::Int", I can't lookup the name | ||
m: my class Int {}; say Int =:= Core::<Int>; | 20:52 | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===This type cannot box a native integer» | ||
Ven | m: my class Int {}; say Int === Core::<Int>; | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===This type cannot box a native integer» | ||
FROGGS | CORE* | ||
Ven | m: my class Int {}; say Int =:= CORE::<Int>; | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===This type cannot box a native integer» | ||
Ven | m: my class Int {}; say Int === CORE::<Int>; | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===This type cannot box a native integer» | ||
Skarsnik | zengargoyle, damn the version handling seem not that easy. like for example if you say libgtk2 it's libgtk-x11-2.0.so.0; in my case it's libgumbo -> libgumbo.so.1; and for Pq libpq -> libpq.so.5 | ||
FROGGS | though, Int seems problematic | ||
Ven | myeah. | ||
that's not really what I'm afraid of, though | |||
psch | m: class Mu { }; say Int =:= CORE::<Mu> | ||
camelia | rakudo-moar 94ad45: OUTPUT«False» | ||
FROGGS | m: my class Proc {}; say Proc === CORE::<Proc>; | ||
camelia | rakudo-moar 94ad45: OUTPUT«True» | ||
psch | ... what | ||
m: class Mu { }; say Mu =:= CORE::<Mu> | |||
camelia | rakudo-moar 94ad45: OUTPUT«False» | ||
20:53
lizmat joined
|
|||
psch | zengargoyle: $=data is to be used on a Perl 6 level? | 20:53 | |
zengargoyle | Skarsnik: well the last two are easy, find-library('libgumbo',1) and find-library('libpq',5) | 20:54 | |
psch: yes | |||
psch | zengargoyle: can't you stuff a class in there that defines AT-POS and AT-KEY (and friends) in Perl 6 code? | 20:55 | |
zengargoyle: the tribble code in Actions might give a hint how to do that | |||
Skarsnik | Your nearly want to call pkg-config xD | ||
zengargoyle | that's what i want to do, but can't find where to do it.... | ||
psch | zengargoyle: well, intuition says you want to do it whenever you have all the information you need available | 20:56 | |
zengargoyle | i already have my parsing added to Grammar/Actions and a few other places so there's now a Pod::Block::Data in $=pod | ||
psch | zengargoyle: that sounds like you just need to declare a lexical in the scope of the current comp unit | 20:57 | |
zengargoyle | i need a place to grab out the data sections and stuff them into a $=data. | ||
yeah | |||
20:57
Ven left
|
|||
psch | zengargoyle: that place is the Action method that belongs to the token that parses the =data block | 20:57 | |
zengargoyle | i found the place where basically $=pod gets set to $/ of the parse. | 20:58 | |
moritz | $/.ast or $/.made or so I guess | 20:59 | |
20:59
Ven joined
|
|||
zengargoyle | i had hoped i could not have to learn a lot of nqp to pull out the data and make the $=data object. | 20:59 | |
psch | nqp is just Perl 6 without a lot and lots of nqp:: namespaces functions | 21:00 | |
i don't think you'd need much of the latter, from what you describe you want to build | |||
21:00
cognominal left,
lizmat left
21:02
cognominal joined
|
|||
Ven | ugh, any((Mu, Any)) =:= Mu is a definite recipe for disaster... heh | 21:05 | |
konobi | ollo | 21:06 | |
arnsholt | zengargoyle: If you're digging around in the parser and actions, you're dealing with NQP already. That's all written in NQP | ||
But as psch says, it's basically the same as Perl 6, but with most of the features ripped out | 21:07 | ||
zengargoyle | getting a first-start at =data was just copying =code and changing some 'code' to 'data' :P | ||
21:07
cognominal left
|
|||
arnsholt | Most notably, NQP doesn't support assignment (that is, infix:<=>), only binding (infix:<:=>) and there's no standard library, so everything happens through nqp::ops | 21:08 | |
21:08
softmoth_ joined
|
|||
arnsholt | And there's a list literal construct, but no hash literal construct | 21:08 | |
zengargoyle | it's the looping and maping and AT-KEY and method Str type stuff i'm afraid of in nqp | ||
arnsholt | So you have to build hash literals yourself as "my $h := nqp::hash(); $h<a> := 1; ..." | ||
moritz | my $h := nqp::hash('a', 1); # should work too | 21:09 | |
nqp-m: my $h := nqp::hash('a', 1); say($h<a>) | |||
camelia | nqp-moarvm: OUTPUT«1» | ||
psch | zengargoyle: i don't think you need that. you can define Pod::Block::Data in Perl 6 code and just instantiate it from nqp in Actions | ||
zengargoyle: method quote:sym<tr> does exactly that, for reference | 21:10 | ||
zengargoyle | ah, closer. Pod::Block::Data is for the individual nodes. | ||
arnsholt | Oh, for some reason I thought nqp::hash didn't accept arguments. Happy to be wrong about that! | ||
21:11
Ven left
|
|||
zengargoyle | but if i can make something else in core/Pod.pm and muck about with it from Actions.... | 21:11 | |
arnsholt | That's entirely possible | ||
21:12
Ven joined,
xfix joined
21:13
softmoth_ left
|
|||
Ven | m: (Int, int, Str, str, Bool, Mu, Any, Cool).grep(-> \t { say t; t =:= A.^attributes[0].type; }).elems.say # this works... | 21:14 | |
camelia | rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/raME6jMmPJUndeclared name: A used at line 1» | ||
Ven | m: class A { has $.a; }; (Int, int, Str, str, Bool, Mu, Any, Cool).grep(-> \t { say t; t =:= A.^attributes[0].type; }).elems.say # this works... | ||
camelia | rakudo-moar 94ad45: OUTPUT«(Int)(int)(Str)(str)(Bool)(Mu)(Any)(Cool)1» | ||
Ven | m: class A { has $.a; }; [Int, int, Str, str, Bool, Mu, Any, Cool].grep(-> \t { say t; t =:= A.^attributes[0].type; }).elems.say # ... this doesn't :[ | ||
camelia | rakudo-moar 94ad45: OUTPUT«(Int)(int)(Str)(str)(Bool)(Mu)(Any)(Cool)0» | ||
Skarsnik | Do I have to rebuild rakudo when I only change a .pm (Nativecall.pm)? | 21:15 | |
cygx | I don't think so for NativeCall - that's not in the core setting | ||
zengargoyle | i shall ponder after lunch& | 21:16 | |
Ven | ugh, I hate that the search area is selected when I type space in the docs :/. Do people use this? I don't think we need the space, and I use it to scroll extensively | ||
Skarsnik | probably need to compile it still | 21:17 | |
Ven | of course, perl6 coercers, .list does nothing, .List gives me a list. meh. | ||
I'm not sure why [].grep doesn't work while ().grep does, though. weird | 21:18 | ||
hah, of course, all the items inside are itemized... so nqp::decont(t) =:= Mu works even with []... that's still very surprising. Well, I know I'm doing some crazy stuff... | 21:19 | ||
21:20
tokuhiro_ joined
|
|||
psch | Ven: .WHAT =:= .WHAT could get around the need to decont | 21:20 | |
Ven: but yes, [] conts which fits my expectation at least | 21:21 | ||
jnthn | cygx: If it's NativeCall then no. and the makefile should do the right thing | ||
Ven | psch: well, I never liked flattening or other aspects of it | 21:22 | |
21:22
hankache joined
|
|||
Ven | psch: thanks :) | 21:24 | |
21:24
tokuhiro_ left
|
|||
Ven | My "hydratation" module works. It'll create any intermediary object needed to fill a graph of objects from, say, json | 21:24 | |
21:26
llfourn joined
21:27
ZoffixMobile joined
|
|||
ZoffixMobile | Ven, what browser are you using? the space should scroll (was fixed yesterday) | 21:28 | |
Ven | ZoffixMobile: chrome | ||
ZoffixMobile | Ven, scrolls for me. Try pressing CTRL+F5 for hard refresh | 21:29 | |
Ven | I'm on os x, so that wouldn't work. | 21:30 | |
nope, still doesn't scroll | |||
m: my class A { has $!a; method b { $!a }; }; A.new(a => 50).b.say # does p6 not allow this? | 21:31 | ||
camelia | rakudo-moar 94ad45: OUTPUT«(Any)» | ||
Ven | oh. | ||
FROGGS | m: my class A { has $.a; method b { $!a }; }; A.new(a => 50).b.say | ||
camelia | rakudo-moar 94ad45: OUTPUT«50» | ||
cygx | debugging fun - what a useful backtrace I got: gist.githubusercontent.com/cygx/4d...tfile1.txt | 21:32 | |
Ven | FROGGS: yes, yes, obviously. but I knew what I was doing *this one time* :P | ||
FROGGS | *g* | ||
psch | the "oh" kind of seems like it means to express sudden insight... :S | 21:33 | |
ZoffixMobile | Ven, El Capitan? | 21:34 | |
Ven | ZoffixMobile: no | ||
FROGGS | cygx: obviously it is missing these helpful DWORD columns that Dr. Watson would provide :o) | ||
Ven | psch: I remembered masak arguing it should work differently | ||
ZoffixMobile | Ven, which one? | ||
Ven | ZoffixMobile: yosemite | ||
psch: so I was just checking if it would be there or not :) | |||
FROGGS: I've seen some work on type smilies, but I still can't do stuff like .grep(:U), right? I know jnthn wants them to be first-class, but probably not right now. (also, I know, this grep syntax passes a named arg) | 21:35 | ||
FROGGS | Ven: they are first-class nowadays | 21:36 | |
Ven | oh? so I *could* grep by :U ? | 21:37 | |
llfourn | m: say ('one','two',Int).grep(Any:U) | ||
camelia | rakudo-moar 94ad45: OUTPUT«((Int))» | ||
ZoffixMobile | Ven, just tested on Chrome 46 on OS X Yosemite.. pressing space when, say, docs.perl6.org/language.html loads scrolls the page. I googled that on OS X you'd press SHIFT+Command+R to do a hard refresh... if that doesn't work, I'm out of ideas :p | ||
Ven | llfourn++ | ||
ZoffixMobile: google gave me another command, but i can try this one as well | 21:38 | ||
nope, still doesn't. chrome 45 | |||
FROGGS | yes, Any:U would be the disambiguator | ||
Ven | FROGGS++ as well for making this work :D | ||
FROGGS | :U | ||
:P | |||
Ven | *g* | ||
FROGGS: then, I can probably grep the types off of CORE? CORE::.grep(Mu:U), say | 21:39 | ||
llfourn | m: say CORE::.values.grep(Mu:U) | 21:41 | |
camelia | rakudo-moar 94ad45: OUTPUT«Method 'pull-one' must be implemented by SlippyIterator because it is required by a role in any compose_method_table at gen/moar/m-Metamodel.nqp:2661 in any apply at gen/moar/m-Metamodel.nqp:2671 in any compose at gen/moar/m-Metamodel.nqp:2807…» | ||
llfourn | almost :D | ||
Ven | no, all the values in CORE are mu | ||
m: say CORE::.values.perl | |||
camelia | rakudo-moar 94ad45: OUTPUT«Method 'pull-one' must be implemented by SlippyIterator because it is required by a role in any compose_method_table at gen/moar/m-Metamodel.nqp:2661 in any apply at gen/moar/m-Metamodel.nqp:2671 in any compose at gen/moar/m-Metamodel.nqp:2807…» | ||
psch | m: say Iterator | 21:42 | |
camelia | rakudo-moar 94ad45: OUTPUT«Method 'pull-one' must be implemented by Iterator because it is required by a role in any compose_method_table at gen/moar/m-Metamodel.nqp:2661 in any apply at gen/moar/m-Metamodel.nqp:2671 in any compose at gen/moar/m-Metamodel.nqp:2807 in…» | ||
FROGGS | m: say CORE::.values.grep(Any:U).map(*.^name).sort | ||
camelia | rakudo-moar 94ad45: OUTPUT«(Any Backtrace Blob[uint8] Bool CompUnit CurrentThreadScheduler Cursor Date Distribution Duration FileChangeEvent Grammar HyperSeq IO Instant IntAttrRef IntLexRef JSONPrettyActions JSONPrettyGrammar Method Mix NFKC Nil Numeric Order PROCESS Pair Perl Perl5…» | ||
21:43
Ven left
21:44
rurban joined
|
|||
FROGGS | gnight | 21:44 | |
21:44
FROGGS left,
kjs_ left
|
|||
psch | hrm, this is just weird | 21:45 | |
21:45
Ven joined,
gugod left
21:46
sprocket joined
21:47
kjs_ joined
|
|||
grondilu | a bit complicated, but here's a suspected bug: | 21:48 | |
m: class A { has Real %.stuff{UInt}; proto f($?) is export {*}; multi f {...}; multi f(UInt:D $) { ::?CLASS.new: :stuff(my Real %M{UInt} = 1 => pi) } }; import A; say f(1);' | |||
camelia | rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MaJAcPZd2XUnable to parse expression in single quotes; couldn't find final "'" at /tmp/MaJAcPZd2X:1------> 3nt} = 1 => pi) } }; import A; say f(1);'7⏏5<EOL> expecting any of: sing…» | ||
grondilu | I guess I can simplify it a bit | ||
psch | m: class A { }; A.^add_method('foo', my proto method foo(|) { * }); A.^add_method('foo', my method foo(Str $) { "Str" }); A.^add_method('foo', my method foo(Int $) { "Int" }); A.^compose; A.new.foo("bar"); # kinda-sorta a golf of what i'm finding weird... | ||
camelia | rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dUcR0CP1IERedeclaration of method fooat /tmp/dUcR0CP1IE:1------> 3od('foo', my method foo(Str $) { "Str" }7⏏5); A.^add_method('foo', my method foo(In» | ||
psch | wait, no, duh | ||
...nevermind | 21:49 | ||
grondilu | m: class A { has $.stuff; proto f($?) is export {*}; multi f {...}; multi f(UInt:D $) { ::?CLASS.new: :stuff(pi) } }; import A; say f(1); | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?» | ||
cxreg | bbkr_: ping | 21:50 | |
grondilu | m: proto f($?) {*}; multi f {...}; multi f(UInt:D $) {...}; f(1); | 21:51 | |
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?» | ||
ZoffixMobile | Ven, can't reproduce even in chrome 45, OS X Yosemite... Hell, works even in IE7. I can try listening on a different even when I get to a proper computer. | ||
21:51
sprocket left
|
|||
grondilu | I'm pretty sure I did not pass a type object at any point. | 21:51 | |
Ven | ZoffixMobile: okay, weird :o | ||
thanks anyway! | |||
ZoffixMobile | If anyone else is having the same issue (pressing space on docs.perl6.org types in the search box instead of acrolling) ping me :) | 21:52 | |
grondilu | m: multi f(UInt:D $) {...}; f(1); | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?» | ||
grondilu | am I missing something obvious here? | ||
psch | m: say UInt | 21:53 | |
camelia | rakudo-moar 94ad45: OUTPUT«(UInt)» | ||
grondilu | m: multi f(UInt:D $) {...}(1) | 21:54 | |
camelia | rakudo-moar 94ad45: OUTPUT«Stub code executed in sub f at /tmp/MI_GmkiT07:1 in block <unit> at /tmp/MI_GmkiT07:1Actually thrown at: in block <unit> at /tmp/MI_GmkiT07:1» | ||
grondilu | m: multi f(UInt:D $) { say "ok"; }(1) | ||
camelia | rakudo-moar 94ad45: OUTPUT«ok» | ||
grondilu | m: multi f(UInt:D $) { say "ok"; }; f(1) | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?» | ||
psch | m: say 1 ~~ UInt | ||
camelia | rakudo-moar 94ad45: OUTPUT«True» | ||
grondilu | m: multi f(Int:D $) { say "ok"; }; f(1) | ||
camelia | rakudo-moar 94ad45: OUTPUT«ok» | ||
llfourn | looks buggy to me | ||
psch | hm, maybe -ll-exception helps | ||
psch is compiling right now... | |||
Ven | m: my Int @a = 1, 2, 3; @a.type | ||
camelia | rakudo-moar 94ad45: OUTPUT«Method 'type' not found for invocant of class 'Array[Int]' in block <unit> at /tmp/0sf1HEqbYD:1» | ||
Ven | m: my Int @a = 1, 2, 3; say @a.^type | ||
camelia | rakudo-moar 94ad45: OUTPUT«Method 'type' not found for invocant of class 'Perl6::Metamodel::ClassHOW+{<anon>}+{<anon>}' in block <unit> at /tmp/PMpoVH843Z:1» | ||
psch | Ven: .of | ||
llfourn | UInt is a subset from memory | 21:55 | |
Ven | psch++ :) | ||
psch | Ven: ...or .VAR.of, actually, i think | ||
grondilu | that's no excuse, is it? | ||
(UInt being a subset, that is) | |||
psch | m: my Int @a = 1, 2, 3; say @a.of; @a.VAR:.of | ||
camelia | rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eocrHdMkJTConfusedat /tmp/eocrHdMkJT:1------> 3my Int @a = 1, 2, 3; say @a.of; @a.VAR:7⏏5.of expecting any of: colon pair» | ||
psch | m: my Int @a = 1, 2, 3; say @a.of; @a.VAR.of | ||
camelia | rakudo-moar 94ad45: OUTPUT«(Int)» | ||
psch | m: my Int @a = 1, 2, 3; say @a.of; say @a.VAR.of | ||
camelia | rakudo-moar 94ad45: OUTPUT«(Int)(Int)» | ||
Ven | psch: so, it's of | ||
psch | nah, both fine | ||
cygx | m: subset Foo of Int where * > 0; multi f(Foo $i) { say $i }; f(1) | ||
camelia | rakudo-moar 94ad45: OUTPUT«1» | ||
cygx | m: subset Foo of Int where * > 0; multi f(Foo:D $i) { say $i }; f(1) | ||
camelia | rakudo-moar 94ad45: OUTPUT«===SORRY!===Cannot invoke this object» | ||
cygx | another one | ||
psch | m: say UInt.^WHAT | 21:56 | |
camelia | rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/t74eOJEPllCannot use .^ on a non-identifier method callat /tmp/t74eOJEPll:1------> 3say UInt.^WHAT7⏏5<EOL> expecting any of: method arguments» | ||
psch | m: say UInt.HOW.WHAT | ||
camelia | rakudo-moar 94ad45: OUTPUT«(Perl6::Metamodel::SubsetHOW)» | ||
psch | so SubsetHOW is missing something from ClassHOW i'd guess | ||
cygx | m: say UInt.^name | ||
camelia | rakudo-moar 94ad45: OUTPUT«UInt» | ||
llfourn | m: subset Foo of Int:D where * > 0; multi f(Foo $i) { say $i }; f(1) | ||
camelia | rakudo-moar 94ad45: OUTPUT«1» | ||
grondilu | guys, I don't want to be alarmist of anything, but everytime I tweak some of my codes on RC or whatever, I find a new bug like that. | 21:57 | |
llfourn | m: subset Foo of Int:D where * > 0; multi f(Foo:D $i) { say $i }; f(1) | ||
camelia | rakudo-moar 94ad45: OUTPUT«1» | ||
psch | grondilu: that's fine. well, as long as you're creating tickets :) | ||
grondilu | :/ | ||
I did not today. I always tend to assume that someone will after reading the IRC backlog. | 21:58 | ||
moritz | one xmas RT down: RT#125123 | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125123 | ||
llfourn | grondilu: if you could just write perl6 without running into bugs like that you would have too much flow you would get totally lost in code. | ||
21:58
Ven left
|
|||
llfourn | it's good to have a break submitting an RT | 21:58 | |
helps you remember to eat etc | |||
21:59
ZoffixMobile left
|
|||
grondilu | one problem is that I don't know if a bug already has been submitted or not. That's why I usually just mention it on IRC. | 21:59 | |
llfourn | mmm yeah the interface is kinda hrmmm.. | 22:00 | |
cxreg | i wanted to talk with someone about that blog post that talked about the threadpool exhaustion and deadlock | ||
grondilu | and frankly submitting a RT is a bit tedious | 22:01 | |
cxreg | the one @ blogs.perl.org/users/pawel_bbkr_pab...bread.html | ||
22:01
Ven joined
|
|||
llfourn | grondilu: just email rakudobug with your snippet should be fine for this one | 22:02 | |
grondilu | ok I will | ||
llfourn | grondilu++ | ||
Ven | psch: github.com/vendethiel/hydrate6 if you're interested in seeing my module :) | 22:03 | |
llfourn is reading the blog post posted by cxreg | |||
Ven | urgh.. | 22:04 | |
cxreg | not sure if jnthn is the right person to ask questions about the scheduler | ||
22:07
adhoc left
22:10
sunrise joined
|
|||
autarch | how come the type docs are in perl6/doc instead of being alongside the code that implements those types? | 22:12 | |
22:12
Ven left
|
|||
raoulvdberge | btw, is the JVM size issue fixed already? | 22:13 | |
22:13
Ven joined
|
|||
jdv79 | i've asked that. don't remember. maybe pod6 related reasons? | 22:13 | |
autarch | it seems really weird - especially the type-graph.txt file that documents the classes and their relationships, which is presumably already known by the interpreter | 22:15 | |
llfourn | autarch: github.com/perl6/doc#some-notes | ||
autarch | ah, I see, there's no one implementation of these types | ||
cxreg | if perl 6 is going to be made of composable concurrency primitives, and ask that you not worry about things like threads and locks, then it is wrong for you to be able to deadlock a perl 6 program based on the size of the threadpool | 22:16 | |
at worst, it should just run slow | |||
llfourn | cxreg: that's just what I was thinking reading the post | 22:17 | |
I haven't done much concurrency stuff | |||
cxreg | maybe that's the idea but i wanted to make sure that the current state was not considered "done" | ||
llfourn | but afaik it's meant to be like goroutines | ||
I thought that start {} didn | 22:18 | ||
didn't even mean start a thread | |||
jdv79 | autarch: there is right now | ||
cxreg | on the "nice to have" end of things it'd be cool if it let you know that the threadpool was a gating factor so that you could tweak it | ||
jdv79 | idk if that's an entirely correct statement | ||
llfourn | cxreg: afaik that's what p6 is going for | 22:19 | |
but my knowledge is limited :) | |||
cxreg | i figured as much, just wanted to discuss it | ||
jdv79 | from the notes it seems its more about doc/spec(roast) matching up and pod | ||
llfourn | cxreg: have you seen the YAPC asia presentation by jnthn++ | ||
cxreg | i saw at least one version of that talk, not sure if it was the latest | 22:20 | |
llfourn | www.youtube.com/watch?v=JpqnNCx7wVY # 3 months ago | 22:21 | |
dalek | osystem/vendethiel-patch-1: 4f73e9f | ven++ | META.list: Add Hydrate |
||
Ven | ^ I'm not sure people won't want me to change the name ;) | ||
22:23
kaare_ left
22:24
ifim left
|
|||
dalek | osystem: 4f73e9f | ven++ | META.list: Add Hydrate |
22:25 | |
osystem: 12ea5f2 | (Tomasz Konojacki)++ | META.list: Merge pull request #93 from perl6/vendethiel-patch-1 Add Hydrate |
|||
vendethiel | I guess xeno was fine with that name :-) | 22:26 | |
22:26
Ven left
|
|||
arnsholt | grondilu++ # Digest::HMAC | 22:26 | |
vendethiel | thanks | ||
22:26
jstimpfle left
|
|||
xenu | well, you can rename it later if someone will *really* have objections | 22:27 | |
imho | 22:28 | ||
llfourn | cxreg: I'm just re-listening to part of it and jnthn says that start simply schedules the work to be done by the thread pool it doesn't create a new thread. So yeh that blog post is misleading, the original thing should work *I think*. | ||
cygx | so, it turns out you cannot just shove random crap into a NativeCall callsite descriptor and still expect things to work | 22:31 | |
who'd have thought ;) | |||
jnthn | cxreg: The reason the thing in that blog post deadlocks is 'cus await is blocking at the moment | 22:32 | |
22:32
sunrise left
|
|||
jnthn | (Which it won't be, I just didn't get to changing that yet) | 22:33 | |
uh, won't always be | |||
Maybe next week. Or maybe the week after. I've got quite a lot of Perl 6 tasks to juggle at the moment. | |||
I do want to fix it before 6.c | 22:34 | ||
vendethiel | oooh, non-blocking await would be amazing | ||
22:34
^elyse^ left,
salva left
|
|||
jnthn | I did the design work, just not the impl work :) | 22:35 | |
arnsholt | timotimo: If this ipython stuff kills my PhD thesis, I'm going to blame you and you alone =p | 22:36 | |
22:37
Ven joined
|
|||
psch | raoulvdberge: your question is about "classfile too large"? it hasn't been solved, but it has been postponed | 22:38 | |
raoulvdberge | psch: ah ok | ||
psch | raoulvdberge: as in, r-j builds again, but the underlying problem still exists, but doesn't happen anymore | ||
(for now...) | |||
raoulvdberge | how was it fixed? | ||
psch | raoulvdberge: local variables get less unique names for now | 22:39 | |
raoulvdberge: which means we can reuse about 3k or so string constants, afair | |||
cxreg | jnthn: i'll have to ponder that for a bit, but thanks for the info | ||
raoulvdberge | psch: The issue seems hard to fix. | 22:40 | |
This would require changes JVM-level right? | |||
Or you'd need to split up in several classes.. | |||
psch | raoulvdberge: yeah, the latter was my idea of a proper solution. it should be possible for special cases (e.g. CORE.setting.jar) but i'm not sure it's a desireable solutionm | 22:41 | |
raoulvdberge: another thing would be in general not putting things into the constant pool. afair donaldh++ had something planned that might remove all annotations from the constant pool | |||
cxreg | jnthn: roughly a year ago we discussed the gen2 markers being in a look-aside table to make COW-forking not immediately unshare all old-generation objects. did that ever come back around? | 22:42 | |
psch | raoulvdberge: but yes, all of this is mostly java code, nothing really to do with nqp or rakudo, but with how we translate those into jvm bytecode | ||
raoulvdberge | psch: Hmm, but if you split up, wouldn't that cause performance issues? | ||
as it would need to get the reference every time to the other class | |||
(just thinking out loud here) | |||
psch | raoulvdberge: tbh, performance is the least of my worries with the jvm backend | ||
raoulvdberge | fair enough | ||
psch | raoulvdberge: it's slow, it has been slow forever, it probably won't be fast soon, but there's *lots* of other stuff broken | 22:43 | |
raoulvdberge: and between "fast" and "correct" i like picking "correct" much more | |||
raoulvdberge | yeah definitely | ||
22:43
Ven left
22:44
Ven joined,
vendethiel left
|
|||
arnsholt | Doesn't PERL6LIB support several directories? | 22:45 | |
jnthn | cxreg: Not yet, but work on the GC in the last year has amounted to little more than the odd bug fix (and even there the bugs have I think all been parallel/concurrency related). The GC is good enough for most cases, and lots of other things weren't good enough, so they got the tuits. | 22:47 | |
22:47
kjs_ left
|
|||
cxreg | jnthn: fair enough, just wanted to check. it could be a game changer for large programs. | 22:48 | |
Ven | argh, FROGGS++'s snippet doesn't give me all the types from CORE :( | 22:49 | |
cxreg | but maybe with the concurrency available, there's less desire to actually fork anyway | ||
jnthn | cxreg: In the run up to 6.christmas, I've been *way* more concerned with dealing with semantic issues over performance ones, because we'll be able to improve perf things every single release, but if we end up with an ecosystem full of modules relying on semantic bugs then we're in an annoying place. | ||
cxreg | having been in node.js world for a few years, i feel that one :p | 22:50 | |
can't argue with your priorities | |||
jnthn | :-) | 22:51 | |
22:52
loren left
|
|||
jnthn yawns after a day of mostly admin tasks, and goes to relax | 22:52 | ||
o/ | |||
Ven | gnight jnthn++ :) | 22:55 | |
22:56
softmoth_ joined,
xfix left
22:58
Ven left,
Ven joined
|
|||
cygx | 'night o/ | 22:58 | |
22:58
Ven left
22:59
cygx left,
Ven joined
|
|||
grondilu | ok, question: say I have to modules A and B. B exports symbols. How can I make A re-export B's symbols? That is, having B's symbols available whith a call 'use A;' | 23:00 | |
23:00
eliasr joined,
softmoth_ left
|
|||
grondilu | .oO( module A is B; } |
23:00 | |
.oO( that looks overkill ) |
23:01 | ||
llfourn | grondilu: last time I checked the way you are meant to be able to do this from desgin docs is NYI | ||
grondilu | ok, good to know | 23:02 | |
ugexe | just spurt the export directly into A.pm6! | ||
llfourn | ugexe: that works? | 23:03 | |
sub EXPORT is export ..... | |||
grondilu | "spurt"? | ||
ugexe | no, its a horrible joke | ||
psch | i liked the joke, fwiw | ||
llfourn | ugexe: damn :P | ||
psch | it's a joke that'd have horrible result if it was taken as serious advice, though | 23:04 | |
23:04
BenGoldberg joined
|
|||
Skarsnik | interesting I can't invert a (perl type) %hash{Str} (as (piko => int32) ) | 23:04 | |
llfourn | why? | ||
ugexe | "A.pm6".spurt("import {$my-list-of-exports.join(',')}") or something heh | ||
psch | llfourn: well, depending on your open mode you might truncate B.pm | ||
err, A.pm | |||
llfourn | ohh right I didn't think ugexe literlly meant .spurt :P | ||
I thought more along the lines of somehow exporting EXPORT or maybe exporting one of the UNIT::EXPORT packages... | 23:06 | ||
psch | Skarsnik: what do you mean? (piko => int32) is clear a Pair, and would fit into a any normal hash (which are Any %h{Str}) | ||
llfourn: importing an EXPORT *might* work as a workaround currently, but seems a bit... weird :S | 23:07 | ||
Skarsnik | it's some native type and it can't .Str on it for invert | ||
psch | Skarsnik: what do you mean by "invert"? | ||
Skarsnik | %hash.invert | ||
psch | Skarsnik: ohh, now i get it. you want to invert a hash that has type objects as values | 23:08 | |
llfourn | grondilu: so your choice is manually exporting the symbols you want to re-export or doing something trying the 'weird' suggestion I made :) | ||
s/doing something// | |||
psch | m: my %h = foo => int32, bar => Any; my %i{Any} = %h.invert; say %i{int32} # | 23:09 | |
camelia | rakudo-moar 94ad45: OUTPUT«foo» | ||
psch | Skarsnik: ^^^ like that might fit your needs | ||
23:09
sunbeam joined
|
|||
psch | Skarsnik: as in, the declaration of %i says "keys for this hash can be of type Any and don't need to be stringified" | 23:09 | |
23:10
spider-mario left
|
|||
grondilu | I won't do the weird stuff for sure | 23:10 | |
Skarsnik | m: use NativeCall; class A is repr('CStruct') { has int $.b}; my %hash = (A => A); %hash.invert; | ||
camelia | ( no output ) | ||
23:10
telex left
|
|||
Skarsnik | hm | 23:10 | |
m: use NativeCall; class A is repr('CStruct') { has int $.b}; my %hash = (A => A); say %hash.invert; | 23:11 | ||
camelia | rakudo-moar 94ad45: OUTPUT«((A) => A)» | ||
Skarsnik | m: use NativeCall; class A is repr('CStruct') { has int $.b}; my %hash = (c => ::("A")); say %hash.invert; | 23:12 | |
camelia | rakudo-moar 94ad45: OUTPUT«((A) => c)» | ||
psch | m: my %h = foo => int32; say %h.invert | ||
camelia | rakudo-moar 94ad45: OUTPUT«((int32) => foo)» | ||
23:12
telex joined
|
|||
psch | m: my %h = foo => int32; my %i = %h.invert; say %i.perl | 23:12 | |
camelia | rakudo-moar 94ad45: OUTPUT«Use of uninitialized value of type int32 in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/3Kz2TQ6Jeq:1{"" => "foo"}» | ||
23:12
RabidGravy left,
noganex joined
23:13
Ven left,
Ven joined
|
|||
Skarsnik | It works :) pastebin.com/pPhVKwL8 | 23:15 | |
23:18
rurban left
|
|||
jdv79 | Skarsnik: what does it do? | 23:20 | |
Skarsnik | I give him the c type name and the mapped type with NC and it check if they match size, and if not, it try to show the size of the fields | 23:21 | |
sound dumb, but I had good size in my 32bits VM and they don't match on a 64bits computer | 23:23 | ||
23:28
TEttinger left
23:29
Ven left
23:30
xpen joined
23:32
Ven joined
23:34
cognominal joined
|
|||
Skarsnik | okkkk. is there some kind of bug with nativesizeof? pastebin.com/FVagmG6T why the total size of the struct (calling nativesize on each attr) is not the same that nativesizeof(thestruc) | 23:37 | |
TimToady | Ven: or you can just use :!exists | 23:38 | |
Ven | TimToady: I still consider it very surprising :o | 23:39 | |
I guess it's there so that "a + b :precise" applies on +? | |||
(tbh, I even changed my use of exists to with, because it's a great construct) | 23:40 | ||
TimToady | wow, sudden cramp in my index finger muscle--don't think I've ever had that before... | 23:41 | |
Ven | carpal tunnel issues? | ||
TimToady | no, just too much hammering at weird angles earlier today | 23:42 | |
Skarsnik | ah I found one of my issue in this struct size too. one field is defined as 'size_t' and it's not the same on amd64 and x86 | ||
TimToady | and electrolytes off a bit, probably | ||
yes, the idea is that it can apply to many different operators, at the expense of occasionally being surprising on postfixes | 23:43 | ||
grondilu | m: role { my sub ($n) is cached {...} } | 23:44 | |
camelia | rakudo-moar 94ad45: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wYTCp5TXyLCannot invoke this objectat /tmp/wYTCp5TXyL:1» | ||
23:44
Ven left,
Ven joined
|
|||
grondilu | ^talking about bugs I find everytime I try to tweak my code | 23:44 | |
m: role { my sub ($n) {...} } | |||
camelia | ( no output ) | ||
psch | grondilu: probably related to RT #124016 | 23:45 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=124016 | ||
23:45
rindolf left
|
|||
psch | m: (role { }).gist; | 23:45 | |
camelia | ( no output ) | ||
psch | hm, maybe not | ||
Ven | TimToady: I guess the biggest factor is that, right now, it's pretty much only used on postfixes (AFAIK). That's why it was so confusing to me | ||
Skarsnik | Where should I fill bug for NativeCall? on rt.perl.org or on rakudo github page? x) | 23:46 | |
psch | Skarsnik: nowadays probably RT | ||
Skarsnik: NativeCall used to be a module, but it's become somewhat of a rakudo-core, if not language core | 23:47 | ||
grondilu | that can't be right, I recall a old talk about 'is cached' having to use .WHICH or something. I thought that was fixed long ago. | ||
TimToady | it's one of those escape hatches we put in, and this one we've avoided using more successfully than most escape hatches | ||
psch | Skarsnik: actually, that might mean it should be an issue on the rakudo github repo... | ||
Ven | TimToady: it's just that, in those 50 lines, I had a few surprises/corner cases. any/Mu interaction, this, and Array containerization which made =:= me go "wtf, why is Int not =:= Int"? | ||
Ven has said far enough time he wasn't an usual flattening user, and as such doesn't really like it | |||
psch | m: say [Int][0] =:= Int | 23:48 | |
camelia | rakudo-moar 94ad45: OUTPUT«False» | ||
psch | i do agree that's surprising | ||
Ven | yeah... | ||
TimToady | m: say [Int][0]<> =:= Int | ||
camelia | rakudo-moar 94ad45: OUTPUT«True» | ||
TimToady | Arrays itemaize | ||
*ize | |||
grondilu | what's weird is that it fails in a role but not in a class | ||
Ven | well, sure | ||
grondilu | m: class { my sub ($n) is cached {...} } | ||
camelia | ( no output ) | ||
TimToady | don't use =:= if you don't want to worry about that | 23:49 | |
Ven | (+ the fact I had to .grep(-> \t :=:), because (* =:= ...) would work as well as any(...) =:= Mu) | ||
TimToady: what should I use? ===? | |||
TimToady | m: say [Int][0] === Int | ||
camelia | rakudo-moar 94ad45: OUTPUT«True» | ||
TimToady | m: say [Int][0] eqv Int | ||
camelia | rakudo-moar 94ad45: OUTPUT«True» | ||
BooK_ | watching TimToady's craigslist presentation | ||
23:49
BooK_ is now known as BooK
|
|||
psch | grondilu: i'd say digg into the "is cached" impl to see if you can figure out why it does that, but... :P | 23:49 | |
Ven | m: say Mu === Mu # TimToady | ||
camelia | rakudo-moar 94ad45: OUTPUT«Cannot call infix:<===>(Mu, Mu); none of these signatures match: ($?) ($a, $b) (Int:D \a, Int:D \b) (int $a, int $b) (Num:D \a, Num:D \b) (Num $ where { ... }, Num $ where { ... }) (num $a, num $b --> Bool:D) …» | ||
Ven | so I'm afraid I can't quite use === | 23:50 | |
BooK | and wobdering about R and Z | ||
psch | grondilu: a hunch is something about punning | ||
BooK | isn't that ambiguous if one has a function named Rop and an op named op? | 23:51 | |
psch | BooK: that comes up during the same talk a bit later :) | ||
TimToady | S99:DIHWIDT | ||
synbot6 | Link: design.perl6.org/S99.html#DIHWIDT | ||
23:51
hankache left
|
|||
TimToady | but yes, if you define Rop it wins under LTM | 23:51 | |
BooK | psch: heh should have waited till the end for questions :-) | ||
grondilu submits a ticket | 23:52 | ||
BooK | LTM ? | ||
Ven | TimToady: how does DIHWIDT apply here? I have an array of types, I need to check if my attribute's type is comprised or not. | ||
TimToady | S99:LTM | ||
synbot6 | Link: design.perl6.org/S99.html#LTM | ||
Ven | What other way do I have? What should I do instead? Why DIHWIDT? | ||
TimToady | I was talking to Book | ||
Ven | ooh, okay. I thought you had a cool way to solve this :( | 23:53 | |
I guess I really should find a way to find all types in CORE... | |||
TimToady | if you want to use =:=, just be sure to decontainerize | ||
or make sure both things are containerized | |||
(with the same container) | |||
Ven | TimToady: it's not so much that I *want* to, it's that either *can* be Mu, and as such I can't use === | ||
TimToady | well, why do you want to use Mu? Mu is "most undefined" | 23:54 | |
BooK | thanks. going back to watching the presentation then | ||
TimToady | we don't do === or eqv on Mu so that Junctions work right | ||
23:54
geraud joined
|
|||
TimToady | why do you have to introspect? | 23:54 | |
Ven | TimToady: I should show you my use case: github.com/vendethiel/hydrate6 I'm reading the attributes. By default, the type is Mu | ||
yes, that's fair | 23:55 | ||
23:59
adrusi joined,
kjs_ joined
|