»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:01
pippo left
00:10
mattp_ joined,
dmol joined
00:14
jnthn_ is now known as jnthn
|
|||
jnthn | Ah, freenode recovered while I was out... | 00:15 | |
00:16
mattp_ left
00:20
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
TimToady | partial fix so as not to tickle whatever it is that is depending on greedy map (something in .{}:delete | 00:20 | |
I think the basic problem is .reify(*) is being used to represent two different notions | 00:21 | ||
jnthn | .reify or .gimme? | 00:22 | |
00:22
mattp_ joined
|
|||
TimToady | I think .gimme(*) is probably okay, from my reading | 00:22 | |
jnthn | ok | 00:23 | |
TimToady | but my brane is by no means in tip-top shape | ||
.gimme has it's own eager drive-to-completion, but something is relying on .reify to drive to completion instead, somehow | 00:25 | ||
and relying on .reify(*) to convey that, I think | |||
fortunately, we can at least carve the sink case off that | 00:26 | ||
I also made it not allocate the rpa in sink context, but I didn't have to courage to retrofit that to the parrot code | |||
*the courage | |||
00:28
mtj_ joined
|
|||
jnthn | Yeah, I dont balem you :) | 00:28 | |
*blame | |||
I'll try and give the native call stuff a shove in the right direction on Moar soon. | 00:29 | ||
With some work/luck, I think we can have a Moar Star in March. | |||
jnthn has a partial queue thingy done for Moar, which is what channels and the scheduler need. | 00:33 | ||
Too tired to finish it now. I'll give it some more time tomorrow. | |||
colomon | jnthn++ | 00:46 | |
[Coke] | colomon: I think we can remove the comments at the bottom of S32-list/sort.t | 00:58 | |
m: role A::B {method foo { "Foo"}}; A::B.WHAT.gist.say | 01:06 | ||
camelia | rakudo-moar b2b333: OUTPUT«(A::B)» | ||
[Coke] | ^^ we have a test that says that should be B | ||
n: role A::B {method foo { "Foo"}}; A::B.WHAT.gist.say | |||
camelia | niecza v24-109-g48a8de3: OUTPUT«(B)» | ||
[Coke] | who is right, niecza or rakudo? | 01:07 | |
lue | r: say A.WHAT | 01:08 | |
camelia | rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUndeclared name: A used at line 1» | ||
lue | r: role A::B {method foo { "Foo"}}; say A.WHAT | ||
camelia | rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«(A)» | ||
lue | I'm inclined to say niecza's right, but can't say for sure. | 01:09 | |
jnthn | S12 may have a ruling on it | 01:11 | |
jnthn needs some sleep | |||
'night o/ | |||
[Coke] | on .gist? | ||
colomon | \o | ||
[Coke] | nr: role A::B {method foo { "Foo"}}; A::B.WHAT.say | ||
camelia | rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«(A::B)» | ||
..niecza v24-109-g48a8de3: OUTPUT«(B)» | |||
[Coke] | not sure why the test is explicitly for .gist, either. | 01:12 | |
dalek | ast: 7bc603c | coke++ | S02-types/lists.t: remove stale "nom regression" tag |
01:13 | |
ast: b1a98e2 | coke++ | S (3 files): Open tickets for some old rakudo regressions |
|||
[Coke] | std: say 1 if 2 if 3 { say 3 } | 01:17 | |
camelia | std 09dda5b: OUTPUT«===SORRY!===Missing semicolon at /tmp/Ht45Fl9DU1 line 1:------> say 1 if 2⏏ if 3 { say 3 }Parse failedFAILED 00:01 123m» | ||
lue | How would that even work? | 01:18 | |
[Coke] | m: say 1 if 2 if 3 { say 3 } | ||
camelia | rakudo-moar b2b333: OUTPUT«===SORRY!=== Error while compiling /tmp/EjEL_Q5O1jConfusedat /tmp/EjEL_Q5O1j:1------> say 1 if 2 ⏏if 3 { say 3 } expecting any of: postfix» | ||
[Coke] | lue: it wouldn't | ||
01:23
_thou joined
|
|||
[Coke] | perl6: say "\x[0041,0300]".graphs; | 01:25 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method graphs in type Str at /tmp/tmpfile line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) …» | ||
..rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«No such method 'graphs' for invocant of type 'Str' in block at /tmp/tmpfile:1» | |||
01:29
BenGoldberg joined
|
|||
[Coke] | r: say "asdf".chars | 01:30 | |
camelia | rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«4» | ||
01:31
Alina-malina joined
|
|||
dalek | ast: 84afe04 | coke++ | S02-types/unicode.t: fudge testfile for rakudo (mainly for RT #65170) |
01:32 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=65170 | ||
dalek | kudo/nom: fdfeb7e | coke++ | t/spectest.data: Run this (fudged) test |
||
[Coke] | rakudo: multi foo(Int $x is rw) { say "writable" }; multi foo(Int $x) { "readonly" }; foo(42) | 01:34 | |
camelia | rakudo-jvm b2b333: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(Int $x is rw):(Int $x) in any at gen/jvm/BOOTSTRAP.nqp:1225 in any at gen/jvm/BOOTSTRAP.nqp:1218 in any at gen/jvm/BOOTSTRAP.nqp:1202 in sub foo at /tmp/tmpfile:1 in block a…» | ||
..rakudo-parrot b2b333: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(Int $x is rw):(Int $x) in any at gen/parrot/BOOTSTRAP.nqp:1233 in any at gen/parrot/BOOTSTRAP.nqp:1225 in any at gen/parrot/BOOTSTRAP.nqp:1210 in sub foo at /tmp/tmpfile:1 …» | |||
..rakudo-moar b2b333: OUTPUT«Ambiguous call to 'foo'; these signatures all match::(Int $x is rw):(Int $x) in sub foo at /tmp/tmpfile:1 in block at /tmp/tmpfile:1» | |||
01:35
erkan joined,
bjz joined,
timotimo joined,
pnu_ joined,
ruoso_ joined,
sftp_ joined,
Celelibi joined,
__sri joined,
zamolxes joined
01:36
erkan is now known as Guest56101
01:38
rurban1 joined
|
|||
[Coke] | .ask Util if he can review rt.perl.org/Ticket/Display.html?id=76680 to see if it's still an issue. | 01:39 | |
preflex: .ask Util if he can review rt.perl.org/Ticket/Display.html?id=76680 to see if it's still an issue. | |||
bah. Util: ^^ | |||
01:46
ggherdov joined
|
|||
Mouq should probably work on table stuff... | 01:49 | ||
[Coke]++ # roast | 01:50 | ||
01:52
itz_ joined
|
|||
lue | Wow, S11 is unbelievably crusty-feeling | 01:56 | |
(whoever edited this once thought that one space was good enough for an implicit code block) | |||
Mouq idly wonders if there's a reason why perlcabal.org/syn/ uses ``...'' instead of, e.g., “..” | 02:00 | ||
Mouq is a nit-picker | 02:01 | ||
02:01
ribasushi joined
|
|||
lue | Mouq: where does it do that? | 02:01 | |
in any case, probably a LaTeX-ism that snuck through :) | |||
02:02
PZt joined
|
|||
lue | Hrm, =code\n =AUTHOR doesn't actually stop =AUTHOR, neither does =for code | 02:02 | |
I can see why, though it feels wrong :/ | |||
02:04
hoverboard joined,
raiph joined
|
|||
Mouq | lue: Nope, although I think it would make sense for =code|=for code to be an exception there, especially since =begin code disregards all directives inside it | 02:05 | |
*exception to that rule | |||
lue | The problem is, it's very possible you want to end a =code or =for code with a new command | ||
I just went with :allow<V> :) I doubt this issue comes up outside of Pod6 stuff anyway. | 02:06 | ||
raiph | Hi guys, wanted to kick around a concept: twitter.com/p6eval | 02:07 | |
It's just pure concept, the tweet length @p6eval bio says it all | 02:09 | ||
Mouq guesses @p6err would be pretty busy | |||
I think it's a cool idea though | |||
lue | Don't hashtag until after the code. | 02:10 | |
raiph | note that it's a p6 "string", not code | ||
02:11
FROGGS_ joined
|
|||
lue | raiph: oh, that seems significantly less useful. | 02:11 | |
02:12
Sqirrel joined
|
|||
raiph | lue: you can always put { code } anywhere | 02:12 | |
It's like a power tweeting language | |||
You write tweets just like normal, but can insert the time by typing { now }. | 02:14 | ||
lue | Ah, so it's meant to be a twitter helper rather than a Perl 6 showoff, right? :) | ||
("twitter with P6" vs. "camelia on twitter") | 02:15 | ||
raiph | I think it's at least a year too early for p6ers themselves to risk seeing it as a showoff thing but I'm hypothesizing that the concept of $tweeting is valid, and that p6 double quoted string language (or perhaps a slang variation of it) would be well suited to such a form. | 02:21 | |
02:30
kaare_ joined
02:32
pecastro joined
02:36
klapperl joined
|
|||
raiph | We could create a $tweet distro and preload the p6eval server with useful modules and values in its environment. Maybe make it a "sysadmin" one-liner tool where anyone who can tweet is a sysadmin and the system is the public Internet. | 02:41 | |
02:45
PZt left,
lizmat_ joined
02:56
mavcunha joined
02:59
mavcunha left
03:00
mavcunha joined
03:12
perigrin_ joined
03:16
hoverboard left
03:28
raydiak joined
04:08
telex joined
04:10
Alina-malina left
04:11
Guest56101 left
04:12
Guest56101 joined
04:21
Guest56101 left,
Guest56101 joined
|
|||
lue | First time I've seen S26 with bolded portions of code. Quite lovely :) | 04:26 | |
TimToady | .oO(To boldly go...) |
04:38 | |
lue | Now that there actually is an S15, big parts of S29 look even more outdated :) | 04:41 | |
BenGoldberg | .oO(boldly) |
04:43 | |
04:43
hoverboard joined
04:55
bjz left,
timotimo left
04:56
pnu_ left,
ruoso_ left,
sftp_ left,
Celelibi left,
__sri left,
zamolxes left
04:58
immortal joined,
immortal left,
immortal joined,
klapperl_ joined
04:59
slavik joined
05:07
bjz joined,
timotimo joined,
pnu_ joined,
ruoso_ joined,
sftp_ joined,
Celelibi joined,
__sri joined,
zamolxes joined
05:11
Guest56101 left,
lizmat_ left,
klapperl left,
raiph left,
_thou left,
slavik left,
klapperl_ left,
immortal left,
raydiak left,
mavcunha left,
pecastro left,
FROGGS_ left,
ribasushi left,
itz_ left,
ggherdov left,
rurban1 left
05:26
Mouq joined,
klapperl_ joined,
immortal joined,
raydiak joined,
mavcunha joined,
pecastro joined,
FROGGS_ joined,
ribasushi joined,
itz_ joined,
ggherdov joined,
rurban1 joined,
rurban joined,
skids joined,
pochi joined,
tokuhirom joined,
Vlavv joined,
sunnavy joined,
revdiablo joined,
stevan_ joined,
lee joined,
yakudza joined,
nwc10 joined,
synopsebot joined,
silug__ joined
05:27
immortal is now known as Guest23735,
xinming joined
05:31
hoelzro joined
05:38
PZt joined
05:39
xenoterracide joined
|
|||
lue | Just a few more synopses, and I'll be ready to push the specs/pod6ify branch. | 05:42 | |
05:42
rurban1 left
|
|||
TimToady is about to push a fairly complete frugal map patch | 05:43 | ||
Mouq | lue++ TimToady++ | ||
TimToady | in trade, I had to force HashIter to to do eager reify, because there's a reentrancy bug in there somewhere, but hashes are finite anyway, so no big deal | 05:44 | |
the greedy map was covering over the hashiter reentrancy problem | 05:45 | ||
(which blew up in both -j and -m, so probably at the nqp level) | 05:46 | ||
the java blew up with some kind of a disallowed concurrent access | 05:47 | ||
05:49
dylanwh joined
|
|||
TimToady | I'll commit the hashiter eagerization separately, in case anyone wants to undo it and find the real underlying issue | 05:51 | |
Mouq | r: =pod Can I haz C<nest<ed>> angles?say $=pod.perl | ||
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("Can I haz ", Pod::FormattingCode.new(type => "C", config => ().has…» | ||
Mouq | (yes) | ||
05:52
_thou joined,
Yappo__________7 joined,
ingy1 joined,
xfix joined
|
|||
lue | Wow, just stumbled into a issue with my POD converter. Wanna know what the issue was? :) | 05:53 | |
TimToady | um, greed map? | 05:54 | |
*dy | |||
lue | "IO.pod: Perl POD document, UTF-8 Unicode (with BOM) text" | ||
TimToady | heh | ||
lue | why even | ||
TimToady | someone was using an editor | 05:55 | |
lue | On the plus side, it uncovered a nasty potential negative array index bug :) | ||
I wonder if it's the same person who left out a =back towards the end of the document... | 06:00 | ||
06:01
pdcawley_ joined
|
|||
Mouq | Delimited head* doesn't work :/ | 06:05 | |
I'm not actually sure what it would mean tbh | |||
I was kind of hoping to figure out a way to do =item while creating a ToC entry for it | 06:06 | ||
*=begin item | |||
lue | =begin item works, or at least it was last I checked... | 06:07 | |
Mouq | lue: I want =begin item *and* a link to it in the table of contents. There's no anchor formatting code :p | 06:08 | |
lue: And of course, I could make a heading for each =begin item, but what fun is that? :P | 06:09 | ||
lue | there's perhaps X<> | ||
Mouq | ... | ||
Lemme try, I thought X<> meant something else | |||
lue | it's for indexing, so I might be wrong here | 06:10 | |
06:13
rurban1 joined
06:18
rurban1 left
|
|||
Mouq | lue: It works... sorta. Pod::To::Text makes it into a named span, but it should really be a named anchor in order to be linked against properly | 06:19 | |
Also lue++ thanks | 06:21 | ||
lue | Mouq: yeah, my mind was in L<defn: > at the time I made that suggestion, so perhaps I'm not to be trusted on that suggestion :) | ||
Mouq | lue: I tried that, but L<defn:*> doesn't work :( | ||
lue | L<defn:> goes with =defn and D<> | ||
(I was erroneously looking at X<> at the time) | |||
Mouq | lue: But X<> is in fact what I was looking for :) | 06:22 | |
lue | fwiw I've sometimes wanted an anchor code too, if only because sections aren't always reliable (Look at S02#Twigils and S02#Twigils for instance) | ||
maybe it could be H<present|name> (first letter in anchor that isn't taken), and then L<anc:name> | 06:23 | ||
Mouq | I do wonder if an index shouldn't be automatically generated from X<>s though | ||
lue | Mouq: it does, for the POD5 version of the synopses they're collected into one big X tags page | ||
perlcabal.org/syn/index_X.html | 06:24 | ||
(also there's a index_C.html for whatever reason) | |||
Mouq | lue: I mean that the HTML generated from an arbitrary Pod6 page should have an index somewhere, maybe | 06:26 | |
06:26
rindolf joined
|
|||
lue | yeah, though indices are more useful with collections of pages :) . perlpod for instance describes X<> as being often ignored. | 06:27 | |
06:27
xinming left
|
|||
lue | but yes, it would be useful for some sort of perl6 --doc=HTML --docopts="--index-X" to exist | 06:27 | |
06:28
Alina-malina joined
06:29
xinming joined
|
|||
Mouq | I'm also sad "=config item :numbered" doesn't work | 06:31 | |
r: =config item :numbered=item abcd=item efghsay $=pod | 06:32 | ||
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfilePreceding context expects a term, but found infix = insteadat /tmp/tmpfile:1------> =⏏config item :numbered» | ||
Mouq | ? | ||
I really need to fix that too | |||
lue | I've discovered a couple not-working things, such as =nested and =defn not getting implicit code blocks (if I feel like it I'll fix that after pushing the pod6ify branch, should just be a grammar fix) | 06:33 | |
Mouq | r: =begin pod=config item :numbered=item abcd=item efgh=end podsay $=pod | ||
camelia | rakudo-jvm fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash Pod::Config<1582218551> Pod::Item Pod::Block::Para abcd Pod::Item Pod::Block::Para efgh» | ||
..rakudo-parrot fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash Pod::Config<1476049240461090522> Pod::Item Pod::Block::Para abcd Pod::Item Pod::Block::Para efgh» | |||
..rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash Pod::Config<140527581498688> Pod::Item Pod::Block::Para abcd Pod::Item Pod::Block::Para efgh» | |||
Mouq | lue: Is that related to the =TITLE not getting code blocks thing you pointed out recently? | 06:34 | |
*implicit | |||
lue | yeah, just missing a couple more valid block names :) | ||
"Implicit code blocks may only be used within =pod, =item, =defn, =nested, =finish, or semantic blocks." | 06:35 | ||
r: =begin podFoo Bar=end podsay $=pod; | 06:37 | ||
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash Pod::Block::Para Foo Bar» | ||
Mouq | r: =begin podFoo Bar=end podsay $=pod; | 06:38 | |
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash Pod::Block::Para Foo Pod::Block::Code Bar» | ||
06:38
isBEKaml joined
|
|||
Mouq | Is that correct? | 06:38 | |
:/ | |||
lue | I think so, judging by the fact that S<> is shown to preserve such leading spaces | 06:39 | |
actually, S<> isn't shown doing that, but I would assume. | |||
Mouq | lue: I don't see what that has to do with it... | ||
lue | I think the current behavior's correct (despite not feeling so), and it just means more blank lines in the synopses. | 06:40 | |
Mouq | r: =pod Foosay $=pod; | ||
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash Pod::Block::Code Foo» | ||
Mouq | r: =podNot code Foosay $=pod; | 06:41 | |
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash Pod::Block::Para Not code Foo» | ||
Mouq | ^^ | ||
Not sure how I feel about that | |||
lue | Yeah, my instinct is to say it should be implicit code, though I don't know what arguments could be made for current behavior. | 06:42 | |
06:43
mtj_ left
|
|||
Mouq | lue: The argument is that it's more paragraphy this way | 06:43 | |
06:44
xinming left
|
|||
Mouq | One line of text followed by another line is the same paragraph | 06:44 | |
lue | That's why I kinda agree with the current behavior. | 06:45 | |
06:47
mtj_ joined
|
|||
lue wonders if L<doc:S12> is sufficient for synopses, or if there's the remote chance that L<syn:12> or similar is preferable | 06:48 | ||
Mouq thinks it's weird to have Pod::Config... shouldn't the configuration be added directly to the nodes? and are configurations lexical? | 06:50 | ||
dalek | Heuristic branch merge: pushed 56 commits to specs/pod6ify by lue | 06:56 | |
Mouq | lue++ | ||
lue | Your pod6ified synopses are here: github.com/perl6/specs/tree/pod6ify | ||
Still needs quite a few technical fixes, quite a few more idiomatic fixes, and likely many fixes to rakudo, but it's all parseable Pod6 :) | 06:57 | ||
Mouq realizes that =config has to at least partially be handled by perl6 directly b/c of "=config C<> :allow<B>" etc | |||
lue: \o/ | 06:58 | ||
lue | S22 shows off N<> inside code blocks, looks nice in HTML output :) | ||
Mouq: adding a couple alternations to that parent_pod Grammar.nqp won't require a spectest, I hope? | 06:59 | ||
07:00
isBEKaml left
|
|||
Mouq | lue: I can't imagine anything it would break | 07:01 | |
lue | Note to those backlogging: please don't merge pod6ify into master until we have an up-and-running Perl+Pod6 synopsis generator for perlcabal and feather.perl6.nl | ||
Mouq | Heh. I do indeed like S22's use of N<> | 07:02 | |
lue++ | |||
lue | It's a PITA when editing, but it looks awesome when rendered. | 07:03 | |
Just making sure my change to Rakudo will compile, and then I'll push it. | 07:04 | ||
lue wonders what it would take for something like M<img:pic.png> to work. | 07:06 | ||
Mouq | Uh. Do you mean L<>? | 07:07 | |
lue | No, I mean inlining images. Would either require a module providing for M<img: , and/or renderers like ::To::HTML processing =for Image etc. | 07:08 | |
Mouq: M<> is the "use your own formatting code" formatting code | |||
Mouq | Yeah... | 07:09 | |
:P | |||
:) | |||
dalek | kudo/nom: 7d9f4d4 | lue++ | src/Perl6/Grammar.nqp: Finally, the full & accurate list of implicit-code-block-able blocks. |
||
Mouq | \o/ | 07:10 | |
lue | Note that I got rid of =output, because that was said to have implicit *nesting*, but not implicit *code blocks* :) | ||
lue goes to run his syngen on the entirety of the specs, and the entirety of roast | 07:11 | ||
dalek | ecs/pod6ify: c84f005 | Mouq++ | S0 (6 files): Strip =encoding utf8 from files |
07:22 | |
lue | Heh, there are going to be a couple of inconsistencies at the start, as I was finding issues with pod_vvi. I wasn't in the mood for reobtaining the old .pod files to reprocess them after I deleted them, so... :) | 07:23 | |
07:27
hoverboard left
|
|||
lue | r: my $a = "perl6"; say "perl6" ~~ /<{$a}>/ | 07:28 | |
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«「perl6」» | ||
lue | r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a}>/ | ||
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«===SORRY!===Unrecognized regex metacharacter - (must be quoted to match literally)at eval_0:1------> anon regex { ^perl6⏏-m}Malformed regexat eval_0:1------> …» | ||
lue | $a in reality is $blink.section , so I have to use <{}>, which as you can see won't always work :/ | 07:29 | |
but for now, ♘ #perl6 o/ | |||
07:30
berekuk joined
|
|||
Mouq | 'night lue! | 07:32 | |
07:32
grondilu joined
07:33
sjohnson joined
|
|||
Mouq | r: my $a = "perl6-m"; say "perl6-m" ~~ /<{"'$a'"}>/ | 07:34 | |
camelia | rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«「perl6-m」» | ||
Mouq | Of course, fails if $a contains ' | ||
07:36
darutoko joined
07:41
berekuk left
07:50
_thou left
07:51
_thou joined
07:57
BenGoldberg left
|
|||
dalek | kudo/nom: 3c4df1e | Mouq++ | src/ (2 files): Make X::Syntax:Pod::BeginWithoutEnd slightly more useful And slightly less annoying |
07:59 | |
kudo/nom: 52d6316 | Mouq++ | / (2 files): Merge branch 'nom' of github.com/rakudo/rakudo into nom |
|||
08:00
berekuk joined
08:10
berekuk left
|
|||
dalek | kudo/nom: 83273fa | larry++ | src/core/HashIter.pm: HashIter::reify now does eager snapshot There is some instability in the reentrancy of hashiter, so we force reify to run to completion in lieu of a bug fix. But hashes are finite anyway, and not many people are going to want to do short-circuit lazy evaluation of a list of keys or values, so not a big deal if we don't support laziness on hashes for now. This fix enables maps to reify their input lists frugally rather than greedily, since greedy map was hiding the reentrancy problem that this patch hides differently. |
08:11 | |
rakudo/nom: 51d3cae | larry++ | src/core/MapIter.pm: | |||
rakudo/nom: MapIter::reify is now frugal with input list | |||
rakudo/nom: | |||
08:14
_thou left
|
|||
TimToady | that's github.com/rakudo/rakudo/commit/51...719614319f if you want to see it | 08:17 | |
timotimo | cool. | 08:20 | |
TimToady: that is totally going into my monday's changes post. | 08:21 | ||
08:23
berekuk joined
|
|||
TimToady | and rosettacode.org/wiki/Count_in_factors#Perl_6 now takes advantage of that fix :) | 08:24 | |
TimToady supposes there's an RT somewhere that relates, but is going to bed about an hour ago now... | 08:26 | ||
zzz & | 08:27 | ||
08:28
Mouq left,
pnu_ left,
pnu_ joined
08:29
ggherdov left,
ggherdov joined
08:35
Zaydon joined
08:36
Zaydon left,
zaydon_ joined
08:45
amkrankruleuen joined
08:47
SamuraiJack joined,
Alula joined
08:48
kurahaupo_mobile joined
09:28
berekuk left
|
|||
grondilu | rn: my @a = rand xx 3; for @a -> $a is rw { $a = 0 }; say @a; # just verifying niecza agrees with rakudo here | 09:32 | |
camelia | rakudo-parrot 51d3ca, rakudo-jvm 51d3ca, rakudo-moar 51d3ca, niecza v24-109-g48a8de3: OUTPUT«0 0 0» | 09:33 | |
timotimo | minor suggestion: <-> $foo is short for -> $fo is rw | 09:35 | |
grondilu | never redd that. Is that a recently added syntax? | 09:36 | |
I like it, though. | 09:37 | ||
timotimo | i think it was already there when i joined #perl6 for the first time actually | ||
09:38
Mouq joined
09:43
Mouq left
09:47
sqirrel_ joined
|
|||
moritz | I'd date it to 2008 or 2009 | 09:47 | |
09:48
berekuk joined
|
|||
timotimo | o/ moritz | 09:49 | |
moritz | <-> was already in present in the 2008 "Move synopses to their new home" comit by pmichaud++ | 09:55 | |
(imported from svn) | |||
09:56
raiph joined
|
|||
masak | antenoon, #perl6 | 09:57 | |
moritz | \o masak, * | ||
10:02
Rotwang joined
10:05
virtualsue joined
|
|||
grondilu | $*OUT = open "test", :w; say "hi" # this is supposed to write "hi" in a file named "test", right? | 10:09 | |
timotimo | if that doesn't work, maybe "my $*OUT" helps? | 10:12 | |
but yeah, i tshould work | |||
FROGGS_ | if it does not, maybe it is just broken in the mainline? I think I've seen a ticket about something like that | 10:14 | |
grondilu | seems broken indeed. | 10:15 | |
10:16
rindolf left
10:18
felher joined
|
|||
FROGGS_ | hmmmm, wait | 10:19 | |
say "hi" just delegates to nqp::say() and not to nqp::sayfh($*OUT, ... | |||
timotimo | ah. | 10:22 | |
masak | yeah, that's wrong. | 10:26 | |
timotimo | seems like a simple-ish fix :) | ||
masak | orthogonally, I think the 'my' should be there in 'my $*OUT' -- seems like it'd create a better-insulated program. | 10:27 | |
timotimo | aye | ||
10:27
go|dfish joined
10:29
rindolf joined,
Alina-malina left
|
|||
masak | ...to the extent that dynamic variables deliver "insulated" semantics in the first place :P | 10:37 | |
timotimo | they kind of do | 10:38 | |
hm. | 10:41 | ||
so i want to have a variable that gets made available to the user of my module. is that sensible? | |||
i guess i can "import $Foo::Module::varname"? | 10:42 | ||
that doesn't seem to do it, though :( | 10:43 | ||
FROGGS_ | p: use Test <&pod2text>; say &pod2text | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!===Error while importing from 'Test': no EXPORT sub, but you provided positional argument in the 'use' statement» | ||
FROGGS_ | this way? | 10:44 | |
timotimo | well, that clearly didn't work :P | ||
FROGGS_ | why? | ||
timotimo | "no EXPORT sub" | ||
i'd have to write my own export sub then | |||
FROGGS_ | are you the module author or not? :P | 10:45 | |
timotimo | ... yes :| | ||
FROGGS_ | see | ||
timotimo | i'd like a varibale trait "is export", though | ||
writing an export sub feels boilerplatey | 10:46 | ||
FROGGS_ | p: class Foo { our $bar is export = 42 }; need Foo; say $bar | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/swIRYES8mPCan't use unknown trait 'is export' in a variable declaration.at /tmp/swIRYES8mP:1------> class Foo { our $bar is export ⏏= 42 }; need Foo; say $bar e…» | ||
FROGGS_ | ahh | ||
p: multi trait_mod:<is>(Variable:D \r, :$export!) { }; class Foo { our $bar is export = 42 }; | 10:48 | ||
camelia | ( no output ) | ||
timotimo | :P | ||
not very helpful, don't you agree? ;) | |||
FROGGS_ | p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.VAR.name, 'ALL', var) }; class Foo { our $bar is export = 42 }; say $bar | 10:49 | |
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/0PNElPVtzENominal type check failed for parameter '@tags'; expected Positional but got Str insteadat /tmp/0PNElPVtzE:1------> » | ||
FROGGS_ | p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; say $bar | 10:50 | |
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/sRFZYt2_8OVariable '$bar' is not declaredat /tmp/sRFZYt2_8O:1------> oo { our $bar is export = 42 }; say $bar⏏<EOL> expecting any of: postfix» | ||
FROGGS_ | p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo; say $bar | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/0wSProviQ5Variable '$bar' is not declaredat /tmp/0wSProviQ5:1------> r is export = 42 }; import Foo; say $bar⏏<EOL> expecting any of: postfix» | ||
FROGGS_ | p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo <$bar>; say $bar | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!===Error while importing from 'Foo': no EXPORT sub, but you provided positional argument in the 'use' statement» | ||
timotimo | Constants (and enums) are also exportable items. As are variables declared in our scoping: | ||
our @foo is export = <foo bar> | |||
so just NYI | |||
FROGGS_ | hmpf | ||
timotimo | i think EXPORT_SYMBOL belongs somewhere else | ||
time-of-call-wise | |||
FROGGS_ | p: multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo <$bar>; say $bar | 10:51 | |
camelia | rakudo-parrot 51d3ca: OUTPUT«42===SORRY!===Error while importing from 'Foo': no EXPORT sub, but you provided positional argument in the 'use' statement» | ||
FROGGS_ | p: multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo; say GLOBAL:: | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«42("Foo" => Foo).hash» | ||
FROGGS_ | p: multi trait_mod:<is>(Variable:D \var, :$export!) { say var.VAR.name; EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo; say GLOBAL:: | 10:52 | |
camelia | rakudo-parrot 51d3ca: OUTPUT«$bar("Foo" => Foo).hash» | ||
FROGGS_ | hmmm | ||
timotimo | oh, huh. | 10:53 | |
10:54
pippo joined,
isBEKaml joined
10:56
berekuk left
10:57
berekuk joined
|
|||
timotimo | weird. import Module <$foo $bar $baz> ought to work, no? | 10:58 | |
FROGGS_ | if you had an export sub, yeah | 10:59 | |
that is what I do not understand: | 11:01 | ||
p: module Baz; multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, < ALL DEFAULT >, var) }; class Foo { our $bar is export = 42 }; import Foo; our $bar; say Baz.WHO | |||
camelia | rakudo-parrot 51d3ca: OUTPUT«42Potential difficulties: Redeclaration of symbol $bar at /tmp/5o3NwLsv3T:1 ------> r is export = 42 }; import Foo; our $bar⏏; say Baz.WHO("Foo" => Foo, "EXPORT" => EXPORT, "\$bar" => Any).hash» | ||
FROGGS_ | p: module Baz; multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, < ALL DEFAULT >, var) }; class Foo { our $bar is export = 42 }; import Foo; say Baz.WHO | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«42("Foo" => Foo, "EXPORT" => EXPORT).hash» | ||
FROGGS_ | ohh | 11:02 | |
p: module Baz; multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, < ALL DEFAULT >, var) }; class Foo { our $bar is export = 42 }; import Foo; say $bar | |||
camelia | rakudo-parrot 51d3ca: OUTPUT«42No such method 'perl' for invocant of type 'NQPMatch' in method perl at gen/parrot/CORE.setting:1054 in method perl at gen/parrot/CORE.setting:1046 in method gist at gen/parrot/CORE.setting:1044 in method gist at gen/parrot/CORE.sett…» | ||
11:03
grep0r joined
|
|||
FROGGS_ | p: module Baz; multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.name, < ALL DEFAULT >, var.var) }; class Foo { our $bar is export = 42 }; import Foo; say $bar # bith please :P | 11:06 | |
camelia | rakudo-parrot 51d3ca: OUTPUT«42» | ||
FROGGS_ | ahh, that gorram c key -.- | ||
timotimo: ^^ | |||
p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.name, < ALL DEFAULT >, var.var) }; class Foo { our $bar is export = 42 }; import Foo; say $bar | 11:07 | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«42» | ||
FROGGS_ | ossum | ||
FROGGS_ .oO( NYI my hat! ) | 11:08 | ||
11:08
berekuk left
11:09
pippo_ joined,
sqirrel_ left,
pippo left,
sqirrel_ joined
|
|||
FROGGS_ spectests | 11:09 | ||
11:10
sqirrel_ left
|
|||
masak is writing Perl 6 application code again, and enjoying it | 11:10 | ||
jnthn | grondilu: Not sure what you think is broken; I tried your code here and: | 11:11 | |
> perl6-m -e "$*OUT = open 'test', :w; say 'hi'" | |||
> type test | 11:12 | ||
hi | |||
And &say most certainly does use $*OUT :) | |||
11:13
denis_boyun joined
11:14
pippo_ left
11:15
dmol joined
11:16
Alina-malina joined,
Alina-malina left,
Alina-malina joined,
pippo joined
11:17
virtualsue left,
Guest23735 left,
erkan joined
11:20
raiph left
11:28
zaydon_ left,
pdcawley joined
11:30
pdcawley_ left
11:33
Nei_ joined,
mavcunha_ joined
11:38
orevdiabl joined
11:40
tgt joined
11:42
Rotwang left,
kurahaupo_mobile left,
SamuraiJack left,
klapperl_ left,
raydiak left,
mavcunha left,
pecastro left,
FROGGS_ left,
ribasushi left,
itz_ left,
ggherdov left,
rurban left,
skids left,
pochi left,
tokuhirom left,
Vlavv left,
sunnavy left,
stevan_ left,
revdiablo left,
lee left,
yakudza left,
nwc10 left,
synopsebot left,
silug__ left,
isBEKaml left,
Yappo__________7 left,
ingy1 left,
xfix left,
erkan left,
grep0r left,
dylanwh left,
grep0r joined
11:43
Nei_ is now known as Nei,
lee joined
|
|||
moritz | $ whois parrot.org|grep Expiry | 11:44 | |
Registry Expiry Date: 2019-02-22T10:48:05Z | |||
11:47
pecastro joined,
ggherdov joined
11:48
Vlavv joined
11:49
FROGGS_ joined,
yakudza joined
11:55
synopsebot joined
|
|||
FROGGS_ | sadly, the export trait does work for our scoped but not for my scoped vars :/ | 11:56 | |
masak | FROGGS_: I'm not 100% sure I would expect/want it to work for my-scoped vars. | 11:58 | |
FROGGS_: our-scoped vars are per module. my-scoped vars are per block invocation. which "version" of the var do you share? | 11:59 | ||
s/version/incarnation/ | |||
grondilu | jnthn: I tried again and it works indeed. I don't know what went wrong, as I can't reproduce it now. Nevermind. | ||
jnthn | grondilu: ok | 12:01 | |
grondilu | ha, found it | 12:02 | |
it does not work with my current install of rakudo* | |||
moritz | FROGGS_: that's because exporting happens at compile time, and at compile time only the proto lexpad is available | ||
grondilu | but it works when I use perl6-m, as it is a most recent compile | 12:03 | |
my version of R* is: This is perl6 version 2014.01 built on parrot 5.9.0 revision 0 | |||
12:03
silug__ joined,
dylanwh joined,
erkan joined,
pochi_ joined,
stevan__ joined,
SamuraiJack_ joined,
sunnavy_ joined,
klapperl joined,
nwc10_ joined,
ribasushi joined,
itz joined,
Rotwang joined,
skids joined,
raydiak joined,
Yappo__________7 joined,
ingy1 joined,
xfix joined
|
|||
grondilu | and my version of perl6-m is: | 12:04 | |
This is perl6 version 2014.02-8-gbfe22c4 built on MoarVM version 2014.02 | |||
FROGGS_ | masak / moritz: perfect! I let it throw a nice msg then | 12:06 | |
12:09
vendethiel joined
12:10
yihshih joined
12:11
dmol left
12:12
dmol joined
12:19
pippo left
|
|||
Rotwang | is there a mktemp module or something? | 12:20 | |
12:20
molaf_ joined
12:24
nwc10_ is now known as nwc10
12:27
dmol left
12:28
dmol joined
|
|||
FROGGS_ | Rotwang: this? github.com/perlpilot/p6-File-Temp/ | 12:37 | |
Rotwang | FROGGS_: thanks, although I've hoped that there will be something in standard rakudo distribution | 12:43 | |
damn, after a delay it is hard to go back to perl6 and remember all the things | 12:44 | ||
FROGGS_ | it does not seem to be specced | 12:47 | |
dalek | kudo/moar-conc: afd40aa | jnthn++ | src/vm/jvm/core/ThreadPoolScheduler.pm: Further reduce JVM-ness of ThreadPoolScheduler. With this, the use of AtomicInteger is eliminated in favor of a lock (for now; we can do better in the future when we've atomic ops). The timer related bits are still JVM-specific, but now conditionally built for the JVM, and we just throw an exception on Moar. Means we can use the non-timer bits of the scheduler on Moar initially. |
12:48 | |
12:49
aborazmeh joined
|
|||
dalek | kudo/moar-conc: d7b2e09 | jnthn++ | / (3 files): Move ThreadPoolScheduler into src/core/. The JVM-specific bits are conditionally compiled for JVM now. |
12:50 | |
kudo/moar-conc: 80d06c2 | jnthn++ | tools/build/Makefile-Moar.in: Add Semaphore and ThreadPoolScheduler to Moar. |
|||
12:53
virtualsue joined
12:58
zakharyas joined
12:59
dmol left
13:00
dmol joined
13:03
virtualsue left
|
|||
jnthn | bbl | 13:03 | |
FROGGS_ | o/ | ||
Rotwang | what does a Cool:D mean? | 13:06 | |
sub rmdir(Cool:D $directory) | |||
I know what Cool is but not what :D is | |||
except that it is an smiley | |||
FROGGS_ | Defined | 13:07 | |
so you cant pass the typeobject Cool to this sub | |||
Rotwang | are there any other smileys? | ||
FROGGS_ | only an instance of it | ||
yes, :U and :T | |||
T means Type object, but is NYI | |||
13:08
pippo joined
|
|||
Rotwang | ok, thanks | 13:09 | |
13:10
[Sno] joined
13:17
tgt left
13:18
bjz left
|
|||
dalek | kudo/nom: 505868d | (Tobias Leich)++ | src/core/ (2 files): implement export trait for our scoped vars |
13:18 | |
13:30
bjz joined
13:32
Nei left
13:35
pdcawley left
|
|||
grondilu runs 'time perl6-m -e '.say for ^10_000' and notices it got much slower than a few weeks ago. | 13:36 | ||
13:37
pdcawley joined
|
|||
moritz | grondilu: try reverting to 52d6316b82a1554092f6778e462ac61a3c8c5fbb and measure again | 13:37 | |
13:39
mavcunha_ is now known as mavcunha
|
|||
vendethiel | FROGGS_: what :T supposed to be ? | 13:39 | |
13:41
mavcunha_ joined,
pippo left
|
|||
jnthn | grondilu: And if you go back before the patch TimToady put in recently and try then? | 13:43 | |
13:43
pippo joined
|
|||
jnthn | Oh, moritz beat me to it :) | 13:43 | |
grondilu is recompiling after reverting 52d6316b82a1554092f6778e462ac61a3c8c5fbb | |||
jnthn | As soon as I saw that patch and worried about this. | ||
13:44
mavcunha left
|
|||
jnthn | *I | 13:44 | |
13:44
pippo left
13:45
mavcunha joined
13:46
mavcunha_ left
13:50
pippo joined
|
|||
grondilu | hum... same speed. Maybe I provided the wrong argument to the -m option of git revert? | 13:52 | |
grondilu was told 'Commit 52d6316b82a1554092f6778e462ac61a3c8c5fbb is a merge but no -m option was given.', so he added -m 1 | 13:53 | ||
jnthn | grondilu: Oh, I don't think moritz meant revert that commit, but go to that commit | 13:55 | |
git checkout 52d631.. | 13:56 | ||
colomon just installed fresh rakudo, and now when he tries pandabrew rebootstrap, it seems to hang in the "==> Fetching panda" stage. | |||
moritz | sorry if my instructions were unclear | 13:57 | |
grondilu checks out and recompiles | |||
FROGGS_ | vendethiel: only type objects are allowed then | 13:59 | |
13:59
tgt joined
|
|||
tadzik | colomon: it's just super slow | 13:59 | |
probably | |||
vendethiel | FROGGS_: like `class T { sub fn(T:T:){} }; my T $a .= fn;` ? | 14:00 | |
FROGGS_ | p: sub foo(:T $bar) { say $bar }; foo(Int) | 14:01 | |
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/PgIRN4MxeCMalformed parameterat /tmp/PgIRN4MxeC:1------> sub foo(⏏:T $bar) { say $bar }; foo(Int) expecting any of: statement list prefix or…» | ||
14:01
zakharyas left
|
|||
FROGGS_ | this is meant to work | 14:01 | |
p: sub foo(:T $bar) { say $bar }; foo(42) # instead of this | 14:02 | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/U5vMBFhvpkMalformed parameterat /tmp/U5vMBFhvpk:1------> sub foo(⏏:T $bar) { say $bar }; foo(42) # instead expecting any of: statement list …» | ||
14:02
mavcunha left
|
|||
FROGGS_ | p: sub foo(:U $bar) { say $bar }; foo(Int) # like this | 14:02 | |
camelia | rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/4xD9Y0b4H2Malformed parameterat /tmp/4xD9Y0b4H2:1------> sub foo(⏏:U $bar) { say $bar }; foo(Int) # like t expecting any of: statement list …» | ||
moritz | erm no | ||
FROGGS_ | meh | ||
moritz | you have to specify the type | ||
Mu:U or Any:U or so | |||
FROGGS_ | ohh, of course | ||
p: sub foo(Int:U $bar) { say $bar }; foo(Int) # like this | |||
camelia | rakudo-parrot 51d3ca: OUTPUT«(Int)» | ||
moritz | and if you want to to be a type cature, it'd have to be ::T | ||
FROGGS_ | p: sub foo(Int:U $bar) { say $bar }; foo(42) # like this | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«Parameter '$bar' requires a type object, but an object instance was passed in sub foo at /tmp/mkkJ4l3wp2:1 in block at /tmp/mkkJ4l3wp2:1» | ||
FROGGS_ | vendethiel: see? | 14:03 | |
14:03
zakharyas joined
|
|||
vendethiel | FROGGS_: I know about :U and :D, I was asking about :T | 14:04 | |
FROGGS_ | vendethiel: :T will mostly behave like :U I think, I even don't know where the difference is | 14:05 | |
vendethiel | oke, thanjs | ||
moritz: oh, you can have type parameters just for subs too ? that's cool | 14:07 | ||
I only read about `role a[::T]` in the synopsis | |||
m: sub a(::T $) { say T; }; a(42); | 14:08 | ||
camelia | rakudo-moar 51d3ca: OUTPUT«(Int)» | ||
grondilu | yep, much faster now | ||
about twice as fast | |||
6sec against 16secs, to be exact. So more like three times. | 14:09 | ||
jnthn | grondilu: Thanks for measuring. | 14:16 | |
masak waves, from a train! | |||
jnthn | TimToady: ^^ is quite a big regression :( | ||
o/ masak | |||
moritz | vendethiel: the inside of the [] in a role declaration is just a signature | 14:18 | |
vendethiel | ++moritz, ++FROGGS_ (why's :T needed then ?) | ||
moritz | vendethiel: objects can override their .defined method | 14:19 | |
vendethiel: so :D/:U test for defineness, while :T tests for being a type object | |||
vendethiel | one will use the overloaded and the other won't ? | 14:22 | |
(overloaded .defined method, that is) | |||
moritz++ # alright, got it! | |||
moritz | correct | ||
(though I think rakudo got that wrong) | |||
FROGGS_ | p6: class Foo { our $bar is export = 42 }; import Foo; say $bar | 14:28 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Trait export not available on variables at /tmp/tmpfile line 1:------> class Foo { our $bar is export ⏏= 42 }; import Foo; say $barAction method statement_control:import not yet impleme…» | ||
..rakudo-parrot 51d3ca, rakudo-jvm 51d3ca, rakudo-moar 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileCan't use unknown trait 'is export' in a variable declaration.at /tmp/tmpfile:1------> class Foo { our $bar is export ⏏= 42 …» | |||
Timbus | p: sub foo(Int:U $bar) { say $bar }; foo(True) | 14:30 | |
camelia | rakudo-parrot 51d3ca: OUTPUT«Nominal type check failed for parameter '$bar'; expected Int but got Bool instead in sub foo at /tmp/VuRlxe18fl:1 in block at /tmp/VuRlxe18fl:1» | ||
Timbus | oh | 14:31 | |
p: sub foo(Bool:U $bar) { say $bar }; foo(True) | |||
camelia | rakudo-parrot 51d3ca: OUTPUT«Parameter '$bar' requires a type object, but an object instance was passed in sub foo at /tmp/DgAHiNrGVO:1 in block at /tmp/DgAHiNrGVO:1» | ||
FROGGS_ | p: sub foo(Cool:U $bar) { say $bar }; foo(Int) | ||
camelia | rakudo-parrot 51d3ca: OUTPUT«(Int)» | ||
14:33
SamuraiJack_ left
14:34
rurban joined
14:40
bjz left
14:41
mtk joined
14:43
mtk left,
mavcunha joined
14:46
pdcawley_ joined,
pdcawley left,
mtk joined
14:47
bjz joined,
mavcunha_ joined
14:48
mavcunha left,
rurban left
14:57
ggoebel joined
14:58
ajr joined,
ajr is now known as Guest25754,
Guest25754 is now known as ajr_
|
|||
masak | one thing I really like about Perl 6: it's a joy to migrate from loose, unstructured hashes to objects with classes. | 14:59 | |
by the way, I miss blogging about things like this. I'm seriously considering getting making an Iron Man "pact" with a few people. | 15:00 | ||
let me know if you're interested, and we can discuss terms. | |||
s/getting // | 15:01 | ||
Rotwang | I'm trying to list files with dir this way my $files-to-parse = dir($out-dir, test => .IO.f); | 15:02 | |
but it returns an empty list, without test it returns all the files | 15:03 | ||
what is wrong with my test? | |||
jnthn | Rotwang: .IO.f will execute immediately. | ||
Rotwang: Maybe you wnat *.IO.f | |||
Rotwang | jnthn: this one also doesn't work | 15:04 | |
p: dir(/tmp) | 15:05 | ||
camelia | rakudo-parrot 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/qf0ut8aX4yUnable to parse regex; couldn't find final '/'at /tmp/qf0ut8aX4y:1------> dir(/tmp⏏) expecting any of: argument list prefix or ter…» | ||
jnthn | Rotwang: Oh, it's 'cus it seems to be being passed the unqualified name... | ||
Rotwang | jnthn: so? what does it mean? [; | ||
15:07
ggoebel1117 joined
|
|||
colomon | masak: how iron man? not sure I'm up to weekly posts at the moment... | 15:09 | |
jnthn | Rotwang: Well, if you do a dir('foo', test => { say $_ }) you'll see | 15:11 | |
Rotwang: I'm not sure it should be doing this, however. | |||
TimToady | ranges need to be reoptimized, but mapiter is the wrong place to optimize it | 15:13 | |
FROGGS_ | p: class Foo { our $bar is export = 42 }; import Foo; say $bar | 15:14 | |
camelia | rakudo-parrot 505868: OUTPUT«42» | ||
FROGGS_ | p: class Foo { my $bar is export = 42 }; import Foo; say $bar | ||
camelia | rakudo-parrot 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/MgEpT3YxtoCan't apply trait 'is export' on a my scoped variable. Only our scoped variables are supported.at /tmp/MgEpT3Yxto:1------> class Foo { my $bar is export ⏏= 42 }…» | ||
FROGGS_ | \o/ | ||
15:15
aborazmeh left
|
|||
masak | colomon: I was thinking weekly, but I'm flexible. | 15:15 | |
colomon: mst++'s original one had "every 10 days" to give some legroom. | 15:16 | ||
Rotwang | okay, one more question, and I'll leave you guys alone [; | ||
p: True ~~ True | |||
camelia | rakudo-parrot 505868: OUTPUT«Potential difficulties: Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead at /tmp/drk_UUShw0:1 ------> True ~~⏏ True» | ||
masak | colomon: I'd be willing to go as low as monthly, but I fear that's going to be a little... not often enough. | ||
colomon | masak: I certainly feel like I *should* be blogging fairly often. but time is pretty precious at the moment around here. | 15:17 | |
masak | Rotwang: smartmatching against True probably doesn't do what you think it does. | ||
colomon: yes, I understand. | |||
colomon: that's my basic problem too. | |||
Rotwang | masak: this is what I get on R* 2014.1: | ||
> True ~~ True | |||
Null PMC access in get_string() | |||
masak | colomon: but knowing that I "have to" blog would be a help, I think. | ||
colomon: it also eliminates some of my perfectionism. | 15:18 | ||
Rotwang | p: { return True; } ~~ { return True; } | ||
camelia | ( no output ) | ||
masak | Rotwang: ouch, that Null PMC access is a new bug :/ | ||
can anyone else confirm it? | |||
FROGGS_ | maybe a known REPL bug? | ||
15:18
zakharyas left
|
|||
Rotwang | masak: so True ~~ True should return true? | 15:19 | |
FROGGS_ | masak: it NPMCAs in the REPL but not in -e | ||
perhaps it can't stringify a .worry? | 15:20 | ||
masak | Rotwang: yes, $X ~~ True should return True. | 15:23 | |
FROGGS_: yes, I know. | |||
FROGGS_: still a bug :/ | |||
FROGGS_: oh -- you mean you confirmed it? | |||
FROGGS_ | masak: yes | 15:25 | |
masak submits rakudobug | 15:26 | ||
Rotwang++ FROGGS++ | |||
FROGGS_: by the way, was that Rakudo Star, or just bleeding Rakudo? | 15:28 | ||
FROGGS_ | masak: This is perl6 version 2014.02-15-g51d3cae built on parrot 6.1.0 revision RELEASE_6_1_0 | 15:29 | |
blead that is | |||
masak | gracias. | ||
15:30
aindilis joined
|
|||
FROGGS_ | it does not fail using perl6-m though | 15:30 | |
(can't test perl6-j atm) | |||
masak | interesting. including that in the bug report. | 15:31 | |
15:32
mavcunha joined
15:34
mavcunha_ left
|
|||
TimToady will take a look at the sloth of 'for ^10000' later today | 15:36 | ||
15:37
hoverboard joined
|
|||
masak | ++TimToady | 15:38 | |
jnthn | \o/ | ||
15:40
tgt left,
tgt_ joined
|
|||
arnsholt | timotimo: Did you ever start a repository for your Perl 6 IPython idea? | 15:42 | |
15:43
Celelibi left
|
|||
arnsholt | timotimo: Nm. Found it | 15:43 | |
15:48
dmol left
15:55
flussence joined
16:10
rindolf left
|
|||
masak | r: say slurp | 16:11 | |
camelia | rakudo-parrot 505868, rakudo-moar 505868: OUTPUT«There were three men came out of the WestTheir fortunes for to tryAnd these three men made a solemn vowJohn Barleycorn must dieThey've ploughed, they've sewn, they've harrowed him inThrew clouds upon his headAnd t…» | ||
..rakudo-jvm 505868: OUTPUT«» | |||
masak | locally, running Rakudo-on-Moar, I get 'Failed to close filehandle: bad file descriptor', a stacktrace, and a segmentation fault. | 16:12 | |
known? should I pull latest? | |||
jnthn | masak: How latest is your latest? | ||
masak | I'm on 505868. | ||
jnthn | masak: Those things were common before the Moar IO refactor... | ||
16:12
SamuraiJack_ joined
|
|||
masak | hm, but I might not have built lately... | 16:12 | |
hold on, and I'll rebuild, Justin Case. | |||
jnthn | *nod* | 16:13 | |
FROGGS_ | it does not explode on my box | ||
jnthn | Just tried type README | perl6-m -e "say slurp" and it's happy here on Windows too | ||
masak | ok, sounds promising. :) | 16:14 | |
tadzik | works on linux too | ||
fast as hell too :) | |||
masak | I'm glad to be back to finding bugs. and even happier to find that they (probably) have been fixed, too. :> | ||
yes, I've noticed the speed thing, too. it's... refreshing. | 16:15 | ||
FROGGS_ | it is | ||
masak | who would have thought? Perl 6... *and* fast. ish. | ||
jnthn | It's not *that* fast yet :P | ||
tadzik | but it's fast*er* :) | ||
16:15
ajr_ left
|
|||
jnthn | True :) | 16:15 | |
masak | definitely faster. | ||
FROGGS_ | in the past (the timespan I am here) I always thought: maybe the Christmas in two years is _the_ Christmas? | ||
and this "two years" was a constant | 16:16 | ||
now it feels like these two years are more like < 1 year | |||
16:17
ajr joined,
ajr is now known as Guest81355,
Guest81355 is now known as ajr_
|
|||
FROGGS_ | dinner & | 16:17 | |
16:24
kurahaupo_mobile joined
16:26
zakharyas joined
16:31
fridim_ joined
16:32
denis_boyun__ joined
16:34
denis_boyun left,
ggoebel1117 left
16:38
BenGoldberg joined,
molaf_ left
16:39
rindolf joined
16:43
zaydon joined
16:50
Mouq joined
16:51
molaf_ joined
16:56
tokuhirom joined
16:59
ajr_ left
17:00
ajr_ joined,
hoverboard is now known as american
17:03
BenGoldberg left
17:04
BenGoldberg joined,
_thou joined
17:05
sftp_ left,
sftp joined,
denis_boyun__ left
|
|||
dalek | ecs/pod6ify: f00b2e5 | Mouq++ | S32-setting-library/IO.pod6: S32/IO: Ensure there's space between text and code |
17:06 | |
17:06
american is now known as hoverboard
|
|||
dalek | ast: 118cd7b | (Tobias Leich)++ | S11-modules/import.t: add tests for "our/my $var is export" |
17:14 | |
17:16
Celelibi joined,
Celelibi left
17:17
Celelibi joined,
Adriaaan joined
|
|||
dalek | ecs/pod6ify: e6effc6 | Mouq++ | S32-setting-library/IO.pod6: S32/IO: Some more implicit code fixes missed in last commit |
17:18 | |
17:19
araujo joined
|
|||
masak | FROGGS_: I have no idea what people mean when they say "Christmas" anymore. | 17:19 | |
FROGGS_: all the time I've been here, I've just seen a steady progression of features, improvements, and bug fixes. | |||
FROGGS_ | masak: when I think of the term "Christmas" it is just about an official statement saying that it is "ready" | 17:20 | |
masak | I don't believe we'll see a great pivot point where everything magically is done, and people from the outside go "well wow, time to start using Perl 6, then". | ||
jnthn | I suspect we'll just become increasingly less hesitant to suggest people use it. :) | 17:21 | |
masak | and any official declaration of such a point is just as likely to create harmful PR as it is to create beneficial. | ||
jnthn: right. it's a grayscale. | |||
FROGGS_ | masak: well, my hope is to actually use Perl 6 in the near future, but this involves SOAP I fear | ||
masak shudders | |||
I've been productively using Perl 6 for application code today, so for me, today, Christmas is fully an unquestionably here. | |||
FROGGS_ | I am not a masochist enough to port SOAP::Lite | 17:22 | |
masak | good news, by the way: Segmentation fault went away after recompile. | ||
jnthn++ others++ | |||
Mouq | FROGGS_: ooc, what's preventing the eleven branches from being merged? | 17:23 | |
FROGGS_ | Mouq: that compiling Test.pm explodes on jvm for instance | ||
Mouq | well, not totally ooc. to me Christmas <-> v0.0 | ||
FROGGS_: Oh, ok. FROGGS++ :) | 17:24 | ||
masak | Mouq: what the heck is v0.0 ? | 17:25 | |
FROGGS_ | and it needs quite a bit discussion and fixing upcoming issues | ||
masak | Mouq: see my point above about "official declaration of such a point". | ||
Mouq | masak: Dunnno | ||
FROGGS_ | v0.0 looks like a smiley | ||
Mouq | masak: Yup | ||
FROGGS_ | masak: the official announcement I am think of might be like: "Module authors please port your stuff, it is fast enough now to be fun doing it." | 17:26 | |
Mouq | masak: I find Perl 6 to be very usable today, as someone who migrated to it recently BUT I've also dug really deep into Rakudo so I don't think my evaluation is typical of a newcomer | 17:27 | |
err, *typical isn't the right word... | |||
*a good representation | |||
BenGoldberg | What's the official version number of perl6? | 17:28 | |
grondilu | isn't it 6.0.0? | ||
FROGGS_ | what the heck is "perl6" even? :o) | ||
BenGoldberg | perl6 is the name of the language :) | 17:29 | |
masak | BenGoldberg: we're kind of in a pre-official-version-number age, still. | ||
FROGGS_ | BenGoldberg: rong | ||
masak | BenGoldberg: the individual synopses are versioned, but that means fairly little. | ||
FROGGS_ | Perl 6 is the language name | ||
BenGoldberg | masak, which basically means that it's version 0.blah | 17:30 | |
FROGGS_ | perl6 is the binary, at least one of them | ||
masak | BenGoldberg: why in the world would it mean that? it means there is no version. | ||
Mouq | r: say $*PERL | ||
camelia | rakudo-parrot 505868: OUTPUT«("name" => "rakudo", "compiler" => {"name" => "rakudo", "ver" => "2014.02-16-g505868d", "release-number" => "", "build-date" => "2014-02-23T15:24:32Z", "codename" => ""}).hash» | ||
..rakudo-jvm 505868: OUTPUT«("name" => "rakudo", "compiler" => {"codename" => "", "name" => "rakudo", "release-number" => "", "ver" => "2014.02-16-g505868d", "build-date" => "2014-02-23T14:10:58Z"}).hash» | |||
..rakudo-moar 505868: OUTPUT«("name" => "rakudo", "compiler" => {"name" => "rakudo", "ver" => "2014.02-16-g505868d", "release-number" => "", "build-date" => "2014-02-23T15:18:31Z", "codename" => ""}).hash» | |||
masak | BenGoldberg: I imagine there will be a v6.0.0 at some point (of the spec). | ||
but that will take a whole lot of effort still. | |||
BenGoldberg | As long as there's no official version number, people will think of it as still in beta | 17:31 | |
masak | BenGoldberg: which is a fair assessment as far as I'm concerned. | ||
BenGoldberg | When the version number goes to 1.0, more people will think that it's ready to use. | ||
Mouq | n: say $*PERL | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«(Any)» | ||
masak .oO( at least that would mean we proceeded out of alpha ) :P | |||
BenGoldberg: Perl 6 1.0 ? | 17:32 | ||
BenGoldberg meant to say alpha :) | |||
Perl6 1.0 :) | |||
Mouq | std: %=pod | 17:33 | |
camelia | std 09dda5b: OUTPUT«ok 00:01 121m» | ||
Mouq | r: %=pod | ||
camelia | rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '%=pod' is not declaredat /tmp/tmpfile:1------> %=pod⏏<EOL> expecting any of: postfix» | ||
Mouq | n: %=pod | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Unhandled reference twigil = at /tmp/dyFuvHiI4G line 1 (EOF):------> %=pod⏏<EOL>Unhandled exception: Unable to resolve method statement_level in type P6+{infix:sym<⊆>},{infix:sym<≼>…» | ||
masak | BenGoldberg: '6' is still the version number, no matter how much or how little Perl 6 is a different language from Perl 5. | 17:34 | |
BenGoldberg: it isn't and never was spelled 'Perl6'. | |||
BenGoldberg | Another way to get more people interested would be to have a perl6 evalbot join #perl on freenet and irc.perl.org. That way, instead of saying on one of those channels, "you could do that so much easier with perl 6", one could just type "p6: $better_solution_here" | 17:36 | |
Mouq | r: =pod X<foo bar|example;code>say $=pod.perl | ||
camelia | rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("", Pod::FormattingCode.new(type => "X", config => ().hash, content…» | ||
masak | BenGoldberg: interesting idea. | ||
Mouq | X<> doesn't work right yet *grumble* | 17:37 | |
masak | BenGoldberg: moritz++ already does something similar on PerlMonks, fwiw. | ||
BenGoldberg | :) | ||
Another way to promote perl6 would be to convince a college or two to offer a course in how to use it. Preferably well-recognized schools. | 17:38 | ||
kurahaupo_mobile | 1qp | 17:39 | |
masak | BenGoldberg: I would sooner see really useful applications written in Perl 6, so that people would flock to it simply because they like the applications. | 17:40 | |
BenGoldberg | If students have a good incentive to take the course (i.e., it counts as a credit towards their graduation), they'll want to take it. It could even be an online-only course, as long as the school gives students credit for it. | 17:41 | |
masak, there's no not to try multiple ways to improve perl6's visibility :) | |||
Mouq | Oh, but Pod::To::Text makes up for Rakudo's laziness with pod :D | 17:43 | |
masak | BenGoldberg: indeed. I wasn't dissing your idea, just noting my preferences. | 17:44 | |
dalek | kudo/nom: 1b5b325 | larry++ | src/core/Range.pm: Range::reify decides range batching now So that Map::Iter doesn't have to fake batching decision with insufficient knowledge. For now we batch up to 1024 values; a more sophisticated decision based on max - min is possible, in addition to any other contextual clues that might indicate one-shot use in cool code vs repeated use of the range in hot code. |
17:46 | |
TimToady | that should speed up ^10000 again | 17:47 | |
nwc10 | I know I'll be in trouble for asking this, but is anyone going to port the IRC logging to Perl 6? | ||
TimToady | you're in trouble | 17:48 | |
nwc10 | that seems like a useful first test of readiness | ||
I'm already in trouble - I let the dogs go in the water while walking them. | |||
TimToady | actually, I think it's already been done | ||
nwc10 | but that's local trouble, not IRC trouble | ||
TimToady | and at least tested | ||
nwc10 | oooh. I didn't know that | ||
TimToady | it might actually be in use now, don't remember | 17:49 | |
you'd have to ask moritz++ I guess | |||
masak | nwc10++ # reminding us about dogfooding now and then | 17:50 | |
nwc10 | I see two advantages | ||
TimToady | grondilu: see ^^ patch, should fix the slowness | ||
nwc10 | practical is dogfood - actually finding out where the pain points are, and wearing them down | 17:51 | |
political/persausion is that a lot of these are Perl 5 channels: irclog.perlgeek.de/ | |||
and having some of their day to day infrastructure provided by Perl 6 is actions speaking louder than words | 17:52 | ||
masak | nwc10: indeed. | 17:53 | |
nwc10 | particularly if they don't notice for months | ||
masak | nwc10: not just pain points, mind you: actively used code is an invaluable catcher of bugs as the Perl 6 implementations move. | 17:54 | |
Mouq | dogfooding has definitely helped flesh out Pod6 this past week | 17:58 | |
Not that there's isn't still a bunch to do | |||
17:59
kurahaupo_mobile left
|
|||
masak | sounds somehow familiar. :) | 17:59 | |
17:59
pdcawley_ left
|
|||
masak | one step at a time, though. | 17:59 | |
earlier today I realized that we could improve is_deeply *vastly*, such that it is the envy of most others. | 18:00 | ||
FROGGS_ | that reminds me that I still have labels in the oven >.< | ||
masak | I'd like to do that, during a weekend hackathon sometime. | ||
18:01
mavcunha left,
pdcawley joined
|
|||
masak | _is_deeply was replaced by 'eqv' semantics by pmichaud++ in 2009. that's a good idea in the first place, once we had eqv. | 18:02 | |
actually, the need for _is_deeply as a helper routine is then gone, and it should probably be inlined into is_deeply. | 18:03 | ||
18:03
mavcunha joined
|
|||
TimToady now contemplates lol vs tree vs deepmap vs duckmap | 18:03 | ||
masak | anyway, where we fall short is that we just show the expected and actual result, as .perl outputs. we leave the user to figger out the difference. | 18:04 | |
TimToady | which is why I wanted a testing adverb on comparators | ||
masak | what a nice test output should do, of course, is to point to the first difference, and say what it is, and where it is. that would be enormously helpful. | 18:05 | |
TimToady | maybe we're getting to the point where that'd be practical | ||
masak | and not just give a textual diff either, but give a diff on the element level. | ||
"Expected 5 elements in array at .[0][1]<items>, but found 3. (Last 2 appear to be missing.)" | 18:06 | ||
that's the kind of brilliant I expect a Perl 6 is_deeply to be -- and it isn't, yet. | |||
Mouq | r: sub infix:<eqv> (\a,\b,:!tap) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv (1,2,3) :tap | 18:07 | |
camelia | rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileMalformed parameterat /tmp/tmpfile:1------> sub infix:<eqv> (\a,\b,⏏:!tap) { infix:<eqv>(a,b) ?? say 'ok' !! expec…» | ||
18:07
mavcunha left
|
|||
Mouq | r: sub infix:<eqv> (\a,\b,:tap!) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv :tap (1,2,3) | 18:07 | |
camelia | rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileMalformed parameterat /tmp/tmpfile:1------> sub infix:<eqv> (\a,\b,⏏:tap!) { infix:<eqv>(a,b) ?? say 'ok' !! expec…» | ||
Mouq | r: sub infix:<eqv> (\a,\b,:$tap!) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv :tap (1,2,3) | ||
camelia | rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> y 'ok' !! say 'nok' }; (1,2,3) eqv :tap ⏏(1,2,3) expecting any of: …» | ||
masak | TimToady: I'm still very uneasy about testing adverbs on comparators. I have trouble verbalizing why, though I believe I tried once on p6l. | ||
Mouq | r: sub infix:<eqv> (\a,\b,:$tap!) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv (1,2,3) :tap | ||
camelia | rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileYou can't adverb thatat /tmp/tmpfile:1------> !! say 'nok' }; (1,2,3) eqv (1,2,3) :tap⏏<EOL> expecting any of: …» | ||
Mouq | :/ | ||
Sorry for the spam | 18:08 | ||
masak | TimToady: I notice I think of it more as a slang, one where (say) all sink-context comparisons are automatically assertions. | ||
TimToady | you want to associate a message somehow too | ||
masak | TimToady: but to be honest, even as I mention that, I don't see how it improves on 'is'. | ||
and 'ok'. | |||
feels like solving a big non-problem. | 18:09 | ||
TimToady | you're talking out of both sides of your mouth | ||
nwc10 | when *is* the next hackathon? | ||
TimToady | you're the one who wanted ok to work better above | ||
masak | TimToady: no, I was talking only of is_deeply. | ||
nwc10: they are irregularly scheduled, so right now there is no next one. | 18:10 | ||
TimToady | masak: it's a general problem with ok vs comparators, not just is_deeply | ||
maybe ok just need to become a macro | 18:11 | ||
masak | heh. | ||
yes, a macro *would* have the ability to locate the comparison operator, and then do different logic based on what it is. | 18:12 | ||
but then I think I would spell it OK | |||
TimToady | m: my $a = 0; ++$a for ^100000; | 18:13 | |
camelia | rakudo-moar 505868: OUTPUT«(timeout)» | ||
TimToady | that shouldn't timeout when r-m updates | 18:14 | |
FROGGS_ | cool | ||
masak | m: class C { has $.x }; say C.new(:x(42)) eqv C.new(:x(42)) | 18:15 | |
camelia | rakudo-moar 505868: OUTPUT«False» | ||
masak | another thing is_deeply could do is to be objects-aware, and to test the above to True. | ||
food & | 18:18 | ||
7JTAAARUS | hmmm is there any doc (or beginnings of such) which is something like "Perl 6 in A Nutshell" | ||
jercos | there's a wikibook on it iirc. | ||
en.wikibooks.org/wiki/Perl_6_Programming | |||
itz_ | ty | 18:19 | |
jercos | not really a full doc of any kind, but I've found myself running into it while googling things, and some of what it has has been helpful :) | ||
18:22
kaare_ left
|
|||
Mouq | masak (or others. I really don't know): Speaking of what itz_ just brought up, do you have the ability to sync doc.perl6.org? | 18:22 | |
moritz | Mouq: /msg me your public ssh key, and I can give you the ability (I think) | 18:23 | |
FROGGS_ | TimToady++ # 0m16.800s compared to 0m0.659s | 18:24 | |
tadzik | wat :o | 18:26 | |
FROGGS_ | m: my $a = 0; ++$a for ^100000; | 18:27 | |
-----^ | |||
camelia | rakudo-moar 505868: OUTPUT«(timeout)» | ||
TimToady | not recompiled yet | 18:29 | |
Mouq | moritz: kk | 18:31 | |
masak | itz_: Perl 6 in a nushell: "whoa" | 18:34 | |
itz_: :P | |||
Mouq: I don't have such an ability :/ | 18:35 | ||
moritz | masak: if you /msg me your public ssh key, I can give you that ability | ||
ftr, anyone with root or sudo on feather2 can, by editing ~p6doc/.ssh/authorized_keys | 18:36 | ||
18:41
Adriaaan left
|
|||
dalek | c: 953a4dd | Mouq++ | / (2 files): Don't lose camelia image from .gitignore |
18:44 | |
18:46
ajr_ left
|
|||
raydiak | moritz: re ^, do you think it'd be better to have the static content in a directory which is separate from the output directory? .gitignore is going to become more convoluted as we grow | 18:47 | |
dalek | c: da5b15a | Mouq++ | lib/Set.pod: Make links in Set.pod somewhat less useless Links like this should probably handled by L<doc:*>, but NYI |
18:49 | |
Mouq | Oh, they're still useless >:( | 18:50 | |
Wait.. | |||
It's an escaping issue -_- | 18:52 | ||
vendethiel | what's the diff between `sub a($a? = 4)` and `sub ($a = 4)` ? | 18:57 | |
FROGGS_ | std: sub a($a? = 4) { } | 18:58 | |
TimToady | std: sub a($a? = 4) {...} | ||
camelia | std 09dda5b: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/WQQJjYQZF7 line 1:------> sub a(⏏$a? = 4) { }ok 00:01 126m» | ||
std 09dda5b: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/mnEoPwlsjv line 1:------> sub a(⏏$a? = 4) {...}ok 00:01 126m» | |||
TimToady | none | ||
FROGGS_ | lol | ||
TimToady | you won | ||
vendethiel | oke | ||
FROGGS_ | vendethiel: the former is pretty verbose | ||
TimToady | I shouldn't've taken the time to type the ... | ||
FROGGS_ | but that's all | ||
TimToady | = implies ? | ||
vendethiel | yeah that's what I thought; but in an earlier commit I saw `? =` so I was wondering. [ FROGGS_, TimToady ]>>++ | 18:59 | |
ha, this book's chapter title is "return and want" but there's no want, the traps | |||
19:01
Rotwang left
|
|||
vendethiel | "The want function is gone". Well, thanks S06 | 19:01 | |
19:02
SamuraiJack_ left
|
|||
dalek | kudo/eleven: 41cd5e0 | Mouq++ | src/Perl6/Grammar.nqp: Support semantic blocks better, lue++ |
19:03 | |
rakudo/eleven: 7b43e38 | Mouq++ | src/Perl6/ (2 files): | |||
rakudo/eleven: Abbreviated Pod blocks can't have configurations | |||
19:04
dalek joined,
ChanServ sets mode: +v dalek
19:05
berekuk joined
19:08
tgt_ left
|
|||
masak | std: sub a($a! = 4) { $a } | 19:08 | |
camelia | std 09dda5b: OUTPUT«===SORRY!===Cannot put a default on a required parameter at /tmp/chT1mgjaYL line 1:------> sub a($a! = 4⏏) { $a }Check failedFAILED 00:01 127m» | ||
masak | STD++ | ||
perl6: sub a($a! = 4) { say $a }; a("OH HAI") | |||
camelia | rakudo-jvm 1b5b32: OUTPUT«(timeout)» | 19:09 | |
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Cannot put a default on a required parameter at /tmp/tmpfile line 1:------> sub a($a! = 4⏏) { say $a }; a("OH HAI")Unhandled exception: Check failed at /home/p6eval/niecza/boot/l…» | |||
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileCannot put default on required parameter $aat /tmp/tmpfile:1------> sub a($a! = 4⏏) { say $a }; a("OH HAI") expecting any of: …» | |||
19:11
Rotwang joined
19:12
d4l3k_ joined
19:13
dalek left,
d4l3k_ is now known as dalek
|
|||
FROGGS_ | m: my $a = 0; ++$a for ^100000; | 19:15 | |
camelia | ( no output ) | ||
FROGGS_ | :o) | ||
timotimo | internet connection is super crappy at the moment | ||
Mouq | tadzik: When I run bootstrap.pl on moar-support in panda, I get all the way to ==> Bootstrapping Panda and then get ===SORRY!===Missing or wrong version of dependency 'src/gen/m-CORE.setting' | 19:17 | |
moritz | raydiak: +1 to moving static files to a separate dir | 19:18 | |
FROGGS_ | Mouq: do you perhaps need to run rebootstrap instead? | ||
Mouq | FROGGS_: Ohh, ok, thank you | 19:19 | |
FROGGS_: That works | |||
FROGGS_ | cool! :o) | ||
raydiak | moritz: call it "static" and do the equivalent of "cp -r static html" at the beginning of generation? | ||
moritz | raydiak: aye | ||
or "public", if you want to stay closer to what Mojolicious names things | 19:20 | ||
raydiak | sure | 19:21 | |
19:22
darutoko left
|
|||
FROGGS_ | btw, tomorrow happens: [GSoC 2014] List of accepted mentoring organizations published on the Google Summer of Code 2014 site. | 19:24 | |
raydiak | I've noticed a preference towards mojolicious in the perl 6 community...is there a history or connection there? | ||
timotimo doesn't even know what mojolicious really does | 19:25 | ||
__sri | mojolicio.us/ | 19:26 | |
Timbus | hehe, i was wondering where sri was | ||
timotimo | mhm | ||
__sri | a wild sri appears | 19:27 | |
Ulti | :) | ||
__sri can I spam A and B and see you fight? | |||
__sri | coincidentally... you can play with mojolicious in your browser at the moment :) liveperl.us/ | ||
Timbus | well i always play with mojolicious in my browser | 19:28 | |
:p | |||
__sri | ;p | 19:29 | |
timotimo | so i was trying to do importation stuffs | ||
i'm now at " | |||
er ... | |||
FROGGS_ | O.o | ||
timotimo | actually, i think i need something different than use to combine with require | ||
FROGGS_ | timotimo: btw, have you seen that you can export vars now? | 19:30 | |
timotimo | i can do that now? | ||
did you just implement that? | |||
FROGGS_ | p: class Foo { our $bar is export = 42 }; import Foo; say $bar | ||
camelia | rakudo-parrot 1b5b32: OUTPUT«42» | ||
FROGGS_ | :o) | ||
timotimo | awesome! | ||
thank you | |||
FROGGS_ | you're welcome | 19:31 | |
Mouq is pretty sure panda is hanging on ==> Fetching panda and not just being insanely slow | |||
*rebootstrap.pl | |||
tadzik | Mouq: maybe try moving .git someplace else before rebootstarp | 19:32 | |
Mouq | E.g. 'mv .git ../pandagit'? | 19:34 | |
It still hangs | |||
19:35
BenGoldberg left,
BenGoldberg joined
|
|||
FROGGS_ | r: say $*VM<properties><perl6.prefix> // $*VM<config><prefix> | 19:36 | |
camelia | rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«/home/p6eval/rakudo-inst-1» | ||
..rakudo-jvm 1b5b32: OUTPUT«/home/p6eval/rakudo-inst-2» | |||
Mouq | What's odd is that it makes a new director in .work with a fetched Panda | 19:42 | |
*directory | |||
19:43
tgt joined
|
|||
FROGGS_ | yes, that is the plan | 19:45 | |
Mouq | But it's stuck on ==> Fetching panda | ||
FROGGS_ | it takes a few seconds on my box, but it does not hang | 19:46 | |
19:47
ruoso joined
19:48
zamolxes_ joined
|
|||
tadzik | hmm | 19:49 | |
maybe it's copying all the old .work directories too | |||
gah | |||
Mouq | Oh, lemme try something | 19:50 | |
TimToady | added another solution to rosettacode.org/wiki/Almost_prime#Perl_6 | ||
19:50
vendethiel left,
ruoso_ left,
zamolxes left,
pnu_ left,
__sri left
19:51
vendethiel joined,
pnu__ joined
19:52
_sri joined
|
|||
TimToady | (and discovered that @array.kv is greedy inside a map, so need to suss that one out) | 19:52 | |
Mouq | No, it's copying the *current* .work directory D: | ||
So it creates .work/abcd/.work/abcd/.work/abcd | 19:53 | ||
and so on | |||
tadzik: Unless that's what you meant | |||
tadzik | uhh | ||
I've seen that before | |||
lue | hello world o/ | ||
tadzik | is your panda fresh? | ||
and/or is your rakudo-moar fresh | 19:54 | ||
Mouq | I've rm'd it and cloned a new one :P | ||
lue | r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a}>/ | ||
tadzik | also, are you running panda on moar-support branch? | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!===Unrecognized regex metacharacter - (must be quoted to match literally)at eval_0:1------> anon regex { ^perl6⏏-m}Malformed regexat eval_0:1------> …» | ||
FROGGS_ | tadzik: it is moar-support, aye | ||
Mouq | I'm on moar-support, my rakudo-moar isn't make clean fresh though | ||
19:55
Ben_Goldberg joined
|
|||
jnthn | Mouq: Maybe moar-support is missing Panda fixes from the master panda? | 19:55 | |
FROGGS_ | tadzik: when I fixed my current issue I'll fix that abspath thingy (which hopefully is tonight) | ||
tadzik | FROGGS_: kewl | 19:56 | |
19:56
ggoebel1117 joined,
BenGoldberg left
|
|||
FROGGS_ | jnthn: don't think so | 19:56 | |
lue | should <{$a}> work in that situation? | ||
jnthn | lue: Looks right to me. | 19:57 | |
lue: You're interpolating it as regex | |||
FROGGS_ | r: my $a = "perl6-m"; say "perl6-m" ~~ /$a/ | ||
jnthn | lue: Just do /$a/ if you want to match it literally. | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「perl6-m」» | ||
lue | jnhtn: the issue is that "$a" is really "$foo.bar" and the // is actually a grammar rule. | 19:58 | |
19:59
LLamaRider joined
|
|||
Mouq | r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\」])}>/ | 19:59 | |
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnable to parse expression in argument list; couldn't find final ')' at /tmp/tmpfile:1------> erl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\…» | ||
Mouq | ? | ||
r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,Q'\'])}>/ | |||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileUnable to parse expression in argument list; couldn't find final ')' at /tmp/tmpfile:1------> rl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,Q'\'[…» | ||
Mouq | r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\」)}>/ | 20:00 | |
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling eval_0Unrecognized backslash sequence: '\m'at eval_0:1------> anon regex { ^perl6\⏏m} expecting any of: scoped decla…» | ||
FROGGS_ | r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\\」)}>/ | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«Nil» | ||
jnthn | lue: So why can't you just mention $a in the grammar rule, if you want to match it literally? | ||
lue: Oh, I see what you mena... | |||
Try "$foo.bar()" | 20:01 | ||
Mouq | r: my $a = "perl6-m"; say "perl6-m".uc ~~ /$a.uc/ | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«Nil» | ||
lue | figures it'd be something that didn't cross my mind :) | ||
Mouq | r: my $a = "perl6-m"; say "perl6-m".uc ~~ /$a.uc()/ | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileNull regex not allowedat /tmp/tmpfile:1------> = "perl6-m"; say "perl6-m".uc ~~ /$a.uc(⏏)/ expecting any of: …» | ||
Mouq | Oh | ||
r: my $a = "perl6-m"; say "perl6-m".uc ~~ /"$a.uc()"/ | |||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「PERL6-M」» | 20:02 | |
Mouq | coolio | ||
20:03
grep0r left
20:04
klapperl_ joined
20:06
Adriaaan joined,
klapperl left,
pecastro left
20:08
pecastro joined
|
|||
Mouq gives up trying to fix it from the outside and just adds a check for '.work' with the '.git' check in Panda::Fetcher | 20:11 | ||
==> Successfully installed panda | |||
grondilu | TimToady: ok I can confirm it's back to fast counting | 20:12 | |
20:13
grondilu left
|
|||
tadzik | Mouq: that's not a bad idea | 20:14 | |
Mouq: but, what exactly is that check doing? | 20:15 | ||
Mouq | tadzik: gist.github.com/Mouq/fbb86c2a79812a86f7c6 | 20:16 | |
Skips 'em | |||
tadzik | ah | 20:17 | |
but File::Find still traverses them | |||
well, I'm fine with applying that anyway :) | |||
especially if it helps | |||
20:17
denis_boyun joined
20:20
mavcunha joined
|
|||
Mouq | Well, I think the problem is the way File::Find::find is lazy | 20:23 | |
timotimo | well, with take-rw you could give a value back to signalize that a folder is to be skipped | 20:26 | |
Mouq | OR | 20:32 | |
Instead of my previous hacky patch, you could do this: gist.github.com/Mouq/cd9363ce6f20c699af77 | |||
And it works | 20:33 | ||
20:35
census joined
|
|||
Mouq | Or at least, it worked for me | 20:38 | |
20:38
dalek left
20:40
dalek joined,
ChanServ sets mode: +v dalek
20:41
dmol joined
|
|||
moritz | m: say 'abc' ~~ /<:alpha>+/ | 20:43 | |
camelia | rakudo-moar 1b5b32: OUTPUT«「abc」» | ||
20:43
PerlJam joined
|
|||
Mouq | m: say 'Medicago sativa' ~~ /<:alphalpha>/ | 20:43 | |
camelia | rakudo-moar 1b5b32: OUTPUT«Nil» | ||
Mouq | Clearly a bug ;) | 20:44 | |
masak | Mouq: :P | 20:48 | |
20:48
Sqirrel left
|
|||
moritz | is there a list of all support <:unicodecategory> thingies somewhere? | 20:51 | |
*supported | |||
dalek | c: 511b47b | moritz++ | lib/regexes.pod: [regexes] \v, \w, \n |
20:52 | |
lue | moritz: I don't think there's a specific list in the spec | ||
masak | pretty sure there ain't. | 20:53 | |
20:54
hoverboard is now known as SuchBsnsElf
|
|||
lue | It's the "unicode property" matcher. If it's a unicode property, it counts :) | 20:54 | |
moritz | that's not something I'm willing to put in end-user docs | 20:55 | |
m: say 'a' ~~ /<:Lc>/ | 20:57 | ||
camelia | rakudo-moar 1b5b32: OUTPUT«Nil» | ||
moritz | m: say 'a' ~~ /<:LC>/ | ||
camelia | rakudo-moar 1b5b32: OUTPUT«「a」» | ||
moritz | m: say 'a' ~~ /<:Cased_Letter>/ | ||
camelia | rakudo-moar 1b5b32: OUTPUT«「a」» | ||
moritz | m: say 'a' ~~ /<:Decimal_Number>/ | ||
camelia | rakudo-moar 1b5b32: OUTPUT«Nil» | ||
moritz | m: say '1' ~~ /<:Decimal_Number>/ | ||
camelia | rakudo-moar 1b5b32: OUTPUT«「1」» | 20:58 | |
moritz | m: say '1' ~~ /<:Digit>/ | ||
camelia | rakudo-moar 1b5b32: OUTPUT«Nil» | ||
TimToady | we oughta be able to introspect it | ||
20:58
SuchBsnsElf is now known as hoverboard,
grep0r joined
|
|||
moritz | m: say '1' ~~ /<::Decimal_Number+:Lc>/ | 20:59 | |
camelia | rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/xip_GQ8sYzUnable to parse expression in metachar:sym<assert>; couldn't find final '>' at /tmp/xip_GQ8sYz:1------> say '1' ~~ /<::Decimal_Number⏏+:Lc>/ expecting a…» | ||
TimToady | ::? | ||
moritz | m: say '1' ~~ /<:Decimal_Number+:Lc>/ | ||
camelia | rakudo-moar 1b5b32: OUTPUT«「1」» | ||
21:00
pnu__ is now known as pnu
21:01
LLamaRider left,
pmurias joined
|
|||
pmurias | masak: re spelling ok OK, I'm not sure if we want to use the C uppercase macro convention | 21:02 | |
masak | pmurias: I wasn't necessarily thinking of it in terms of C. just in terms of "this is not your regular function invocation". | 21:05 | |
pmurias: I'm fine with some other syntactic convention indicating that it does code-introspection-like stuff. | |||
how do I know how far a regex got into a string before it failed? | 21:08 | ||
Mouq | r: $*IN.read(8).say | ||
camelia | rakudo-jvm 1b5b32: OUTPUT«Buf:0x<>» | ||
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«Buf:0x<54 68 65 72 65 20 77 65>» | |||
lue | Hrm, my synopsis generator spends way too much time HTML-ifying the backlinks when turned on the entire synopses :/ | 21:09 | |
masak: Grammar::Tracer ? | |||
masak | lue: I mean, inside of a program, right after a regex failed. | ||
FROGGS_ | masak: and you might find something about 'highwater' in the clogs | ||
masak | lue: I was planning on putting in one of those ⏏ symbols. | ||
FROGGS_: yes, but isn't 'highwater' fairly specific to STD? | 21:10 | ||
FROGGS_: I was hoping for something already built into regexes/grammars. | |||
pmurias | masak: uppercase for me seems to imply phaser-like semantics | ||
Mouq | I would love to know about 'highwater' type thing for normal regexes | ||
FROGGS_ | :/ | 21:11 | |
pmurias | highwater seems something a lot of grammars would benefit from for error recovery | ||
FROGGS_ | masak: just spec something :o) | 21:12 | |
masak | pmurias: or constants, or TOP, or @*ARGS... | 21:13 | |
lue wonders how much longer it will be until STD can be parsed by Rakudo, if it can't be already | |||
FROGGS_ | p: "abc" ~~ /\d+/; say $/.perl # problem is that this is not a Match object anymore | ||
camelia | rakudo-parrot 1b5b32: OUTPUT«Nil» | ||
masak | r: "abcd" ~~ /abce/; say $/.from; say $/.to | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«NilNil» | ||
masak | dang. | ||
ISTR during the PGE days, $/.from contained how far we'd got. | 21:14 | ||
jnthn | masak: If you're willing to be Rakudo-specific then !highwater_pos method on a Cursor may help. It needs to be in a grammar where you're doing tokens, rather than a regex, though. | ||
masak | ah. | 21:15 | |
jnthn: I'll keep that in mind. | |||
thanks. | |||
moritz | m: say so 'a.' ~~ /^ <+:L+:P>+ $/ | ||
camelia | rakudo-moar 1b5b32: OUTPUT«True» | ||
moritz | m: say so 'a.' ~~ /^ <+(:L+:P)>+ $/ | ||
camelia | rakudo-moar 1b5b32: OUTPUT«===SORRY!===Unrecognized regex metacharacter < (must be quoted to match literally)at /tmp/tBuuIEXOXl:1------> say so 'a.' ~~ /^ <+⏏(:L+:P)>+ $/Unable to parse regex; couldn't find final '/'at /tmp/tBuuI…» | ||
masak | I guess I could also just throw in manual calls to a sub that stores away the current cursor position. | ||
moritz | afaict, S05 says that should be allowed | ||
std: say so 'a.' ~~ /^ <+(:L+:P)>+ $/ | 21:16 | ||
camelia | std 09dda5b: OUTPUT«ok 00:01 126m» | ||
moritz | n: say so 'a.' ~~ /^ <+(:L+:P)>+ $/ | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«True» | ||
Ben_Goldberg | rn: print (state $ = 'a') &= 'b'; | 21:17 | |
moritz | m: say so 'a.' ~~ /^ <:L+:P>+ $/ | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«(timeout)» | ||
..rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«all("a", "b")» | |||
rakudo-moar 1b5b32: OUTPUT«True» | |||
21:18
denis_boyun left
|
|||
Mouq | j: $*IN.read(8).decode.say | 21:18 | |
camelia | rakudo-jvm 1b5b32: OUTPUT«» | ||
dalek | c: 7ada731 | moritz++ | lib/regexes.pod: [regex] start to document Unicode character classes |
21:20 | |
21:22
denis_boyun joined
21:25
zaydon left
|
|||
moritz | Mouq++ # lots of good p6doc commits | 21:25 | |
it's really cool not to be the only one working on it | 21:26 | ||
geekosaur | (is it safe to read my inbox yet? :p ) | ||
Mouq | moritz++ awesome documentation :) | ||
moritz | raydiak++ | ||
(though having somebody else actually working on the *contents* has a whole different quality) | |||
Mouq | I'm actually working on getting IO::* fixed | ||
moritz | \o/ | 21:27 | |
masak | I noticed the other day that neither 'run' nor 'shell' are documented. | ||
I'll see about adding them to some TODO. | 21:28 | ||
21:29
timotimo left
|
|||
dalek | c: fa5823f | (Carl Mäsak)++ | WANTED: [WANTED] add 'run' and 'shell' |
21:29 | |
moritz | I'd have an easier time documenting those if they returned a more sensible object (both in spec and implementation) | 21:37 | |
jnthn | .oO( Ministry of Silly Objects ) |
21:38 | |
Mouq | IO::Spec is ... interesting | 21:39 | |
masak | moritz: what's the insensible object they return right now? | ||
Mouq | r: say IO::Spec::Win32 ~~ IO::Spec::Unix # seems reasonable | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«True» | ||
Mouq | r: say IO::Spec::Win32 ~~ IO::Spec | 21:40 | |
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«False» | ||
Ben_Goldberg | r: say IO::Spec ~~ IO::Spec::Win32 | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«False» | ||
Mouq | Of course, it's an internal thing class AFAIK | ||
moritz | masak: oh, it seems that my recollection isn't actually true, and it now returns a Proc::Status which behaves quite nicely | ||
masak | "a win32 spec is a kind of unix spec, but not a kind of spec" -- don't you just love inheritance? | ||
moritz: oh, nice. | |||
moritz | well, not as nice as I thought | 21:41 | |
$ perl6-m -e 'say so run("blerg", "foo").perl' | |||
execvp(): No such file or directory | |||
True | |||
c'mon | |||
that's a joke, right? returning a True object, not throwing an exception, but writing an error message to $*ERR? REALLY? | 21:42 | ||
FROGGS_ | moritz: you are calling 'so' on .perl, no? | 21:44 | |
moritz | *facepalm* | ||
Mouq | hugme: hug moritz | ||
hugme hugs moritz | |||
moritz | still, producing the error message on $*ERR instead of exception or in the return value is wrong | ||
masak | agreed. | 21:45 | |
FROGGS_ | the return value is Proc::Status.new(exit => -1, pid => Any, signal => 254) | ||
masak | r: my regex foo = /aaa/; say "aaa" ~~ /<foo>/ | 21:46 | |
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileMalformed regexat /tmp/tmpfile:1------> my regex foo ⏏= /aaa/; say "aaa" ~~ /<foo>/ expecting any of: sc…» | ||
masak | r: my regex foo { aaa }; say "aaa" ~~ /<foo>/ | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「aaa」 foo => 「aaa」» | ||
FROGGS_ | moritz: might be an interesting task to catch that error message somehow | ||
masak | in the above, is there a shorter way to match against the regex foo than to write ~~ /<foo>/ ? | 21:47 | |
pmurias | masak: re "a win32 spec..." is it speced that way somewhere? | ||
FROGGS_ | r: say "aaa" ~~ (my regex foo { aaa }) | 21:48 | |
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「aaa」» | ||
FROGGS_ | dunno if that counts | ||
masak | pmurias: no idea. | ||
FROGGS_: heh :) | 21:49 | ||
21:51
hoverboard left
21:58
timo joined,
timo is now known as Guest28743
|
|||
dalek | c: e9444f2 | Mouq++ | / (4 files): Modernize IO docs |
21:59 | |
22:01
Guest28743 is now known as timotimo
22:02
Rotwang left
22:06
timotimo left
|
|||
lue | The HTML-ification of backlinks goes at an alright rate (one every 40 seconds it seems), but when you have 752 backlinks, that adds up :) . | 22:06 | |
22:07
hoverboard joined,
timo1 joined
22:08
timo1 is now known as timotimo
|
|||
Mouq thinks his modifications to rakudo made constructin pod much slower | 22:08 | ||
*g | |||
lue | r: say 752 * 40 / 60 | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«501.333333» | ||
Mouq | O.O | ||
I think you may want to optimize that | 22:09 | ||
Because 8 hours is a little... | |||
lue | Mouq: definitely :D | ||
Mouq: this is the first time I've run all 36 synopses (counting both S17s) through, along with all of the backlinks in roast, so there's no telling if the slowness is your fault (and besides, this is manual search & replace, doubt it's Pod changes) | 22:10 | ||
22:11
pdcawley left
|
|||
lue | Also, the timing info is currently me just counting one backlink's time manually :) . I need to add a "rate of conversion" thingy to the output before I know for sure. | 22:11 | |
22:11
pdcawley joined
|
|||
lue | r: say now - BEGIN now; say now - ENTER now; | 22:13 | |
camelia | rakudo-moar 1b5b32: OUTPUT«0.06384480use of uninitialized value of type Nil in numeric contextInstant:1393193640.951327» | ||
..rakudo-jvm 1b5b32: OUTPUT«0.142use of uninitialized value of type Nil in numeric contextInstant:1393193640.415» | |||
..rakudo-parrot 1b5b32: OUTPUT«0.09699861use of uninitialized value of type Nil in numeric context in block at /tmp/tmpfile:1Instant:1393193639.503501» | |||
lue | anyone know why trying ENTER now fails? | ||
moritz | it probably just doesn't act as an rvalue | 22:14 | |
jnthn | Yeah, it's exactly that. | 22:17 | |
The phasers, by virtue of firing at different times, make a single way to deal with r-value impossible. | |||
22:19
mavcunha left
22:21
mavcunha joined
|
|||
lue | jnthn: that's alright, there's ways around it :) . | 22:22 | |
jnthn | To be clear: ENTER should act as an r-value, it's just an NYI | 22:23 | |
But yeah, there's ways around it :) | |||
lue | jnthn: is it fair to say that every phaser with a * by it in S04 should acts as an rvalue ? | ||
s/acts/act/ | |||
22:24
rindolf left
|
|||
jnthn | "Phasers marked with a C<*> can be used for their return value." | 22:27 | |
So yes, tha's exactly what the * means | |||
22:28
denis_boyun left
|
|||
lue | ah, for some reason I only remember it as meaning "can be used braceless" | 22:28 | |
dalek | kudo-star-daily: 7bc7c95 | coke++ | log/ (5 files): today (automated commit) |
22:31 | |
22:32
FROGGS_ left
|
|||
jnthn | lue: No, I think the all take a blorst | 22:32 | |
lue | Yeah, OK, so I merely misread stuff, that's all :) | 22:33 | |
masak | 'night, #perl6 | 22:34 | |
lue | ♞ masak o/ | ||
dalek | rl6-roast-data: 90598d3 | coke++ | / (5 files): today (automated commit) |
22:36 | |
22:39
stevan__ left
22:40
stevan_ joined,
mtk left
22:41
telex left
|
|||
Mouq | r: gist.github.com/Mouq/4775767b37254bd1821b | 22:41 | |
camelia | ( no output ) | ||
Mouq | r: gist.github.com/Mouq/4775767b37254bd1821b | 22:42 | |
camelia | ( no output ) | ||
22:42
telex joined
22:44
mtk joined
22:45
skids left,
rurban joined
|
|||
dalek | c: 953dc8a | Mouq++ | WANTED: Add Pod6 tutorial to WANTED |
22:47 | |
tadzik | hm | 22:48 | |
I could maybe write that :) | |||
22:48
pdcawley left
22:51
pdcawley joined
22:52
tgt left
22:54
pippo left
|
|||
Mouq | r: <a b c d>.Set | 22:56 | |
camelia | ( no output ) | ||
Mouq | r: <a b c d>.Set.say | ||
camelia | rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)» | ||
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)» | |||
Mouq | r: <a b c d>.Set(:view).say | 22:58 | |
camelia | rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)» | ||
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)» | |||
Mouq | r: set(<a b c d>).Set(:view).say | ||
camelia | rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)» | ||
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)» | |||
22:58
Adriaaan left
23:04
rurban left
|
|||
lue | Mouq; after 50 backlinks modified, I get an average time of 28.151484299834 s/bl, so.. | 23:07 | |
r: say 28.151484299834 * 752 / 60 / 60 | |||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«5.8805322759653244» | ||
lue | Only 6 hours! :) | ||
23:14
hoverboard left
23:15
hoverboard joined
|
|||
dalek | c: 649c078 | raydiak++ | lib/Perl6/Documentable.pm: Revise anchor links to match Pod::To::HTML-generated IDs |
23:18 | |
c: 6e2b9c6 | raydiak++ | / (6 files): Merge branch 'master' of github.com:perl6/doc |
|||
raydiak | ^^ changed to match changes I just pushed to Pod::To::HTML | 23:19 | |
23:20
zakharyas left
|
|||
raydiak | should fix broken anchors with escaped chars | 23:20 | |
23:22
census left
|
|||
Mouq | raydiak++: Does Pod::To::HTML get updated? | 23:22 | |
raydiak | Mouq: yes, already pushed to it | 23:23 | |
Mouq | raydiak: on feather? | ||
raydiak | Mouq: rerunning htmlify now, and then will sync latest docs to feather | 23:24 | |
Mouq | Ok, cool | ||
raydiak | unless you mean "did the version of Pod::To::HTML installed on feather already get updated?" then the answer is no | 23:25 | |
but I've no idea what is even on feather, other than "that place I sync html docs to" | |||
Mouq | Oh, wait. I'm dumb :P | 23:26 | |
Don't worry about it; good job :) | 23:27 | ||
lue: What's your algorithm for generating backlinks? | |||
raydiak | :) thanks...should fix the searches for lings like ++ under firefox too | ||
s/lings/things/ | |||
lue | Mouq: if you look at the source, it's effectively a custom implementation of s:g, for some reason that is now lost to me :) | ||
github.com/lue/synopsis-generator | 23:28 | ||
Mouq | Oh, you do it at every line? | 23:29 | |
Or wait | |||
Mouq is distracted | |||
lue | For whatever reason, instead of just doing s:g (which I'm about to test doing), I just search for matches to replace, one at a time, throughout the entire file. | 23:30 | |
It's the loop under "Performing post-gen modifications" | |||
23:31
kaare_ joined
|
|||
Mouq | But.. so you're adding the links to the Pod and then you fix them in the HTML? | 23:33 | |
lue | Mouq: yes, because the backlinks have a custom style to them that I can't add in Pod alone (also, this is what the Perl5 generator does) | ||
Mouq | Huh | 23:34 | |
Well | |||
lue | (Unless someone made a M<bl:> of course... :D) | ||
raydiak | hmmm...something is still wrong with anchors with unicode in them | 23:35 | |
Mouq | lue: There's a way to cheat | ||
lue | I think I see what you may be getting at... | 23:36 | |
Fun fact: Rakudo's s:g is much faster than my own :P | 23:37 | ||
jnthn | ;) | ||
lue | but it's more wrong :( | ||
Mouq | lue: =for item :class<smartlink-file> L<C<file>, line C<line>|github.com/perl6/roast/blob/master...e#line> | 23:38 | |
*=for pod | 23:39 | ||
lue | There's a class config option ‽ | ||
Mouq | Nope | ||
23:39
berekuk left
|
|||
Mouq | ...but it wouldn't be hard to add one to Pod::To::HTML, /me thinks | 23:40 | |
lue | r: my $a = "(A|1)(B|2)"; $a ~~ s:g/\((<.alpha>)\|(<.digit>)\)/[[$0:$1]]/; say $a; | ||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[[A:1]][[B:2]]» | ||
lue | r: my $a = "(A|1)(B|2)"; $a.=subst(/\((<.alpha>)\|(<.digit>)\)/, "[[$0:$1]]", :g); say $a; | 23:41 | |
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[[:]][[:]]» | ||
lue | I think my problem comes from using .subst instead of ~~ s | ||
23:41
berekuk joined
|
|||
Mouq | lue: "[[$0:$1]]" isn't going to closure like you need | 23:42 | |
r: my $a = "(A|1)(B|2)"; $a.=subst(/\((<.alpha>)\|(<.digit>)\)/, {"[[$0:$1]]"}, :g); say $a; | |||
camelia | rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[[A:1]][[B:2]]» | ||
lue | I'm using a q:c:to// actually, and it just places the same backlink in every spot :/ | ||
Mouq | s/closure/something/ | ||
I'm saying that the "[[$0:$1]]" will get the $/ from its surroundings | 23:44 | ||
instead of from the match you made | |||
lue | Ah, and there was a match previous (to see if it's worth writing the HTML file), so that's where it gets the repeated thing... | ||
I'll try {q:c:to/EOF/}, and let you know how it goes in about 1246.0347964 seconds :) | |||
Mouq | std: DOC | 23:46 | |
camelia | std 09dda5b: OUTPUT«===SORRY!===Undeclared name: 'DOC' used at line 1Check failedFAILED 00:00 120m» | ||
Mouq | std: DOC BEGIN { } | ||
camelia | std 09dda5b: OUTPUT«===SORRY!===Undeclared name: 'DOC' used at line 1Check failedFAILED 00:01 124m» | ||
lue | The current step that slows me down the most is running the Pod->HTML conversion, I wonder if doing it in-code instead of through shell("$*EXECUTABLE_NAME... would be faster | 23:47 | |
Mouq | lue: I would think so, at least on JVM | ||
lue | luckily I'm using perl6-m :) | 23:48 | |
[Coke] | haskell people: please update pugs so that eval is spelled EVAL. | ||
lue | (the DOC keyword has always felt incredibly weird to me; I hope that an actual implementation of it would change my mind ☺) | 23:52 | |
23:52
berekuk left
|
|||
Mouq | lue: It's a ...phaser? | 23:53 | |
lue | doesn't feel like a phaser to me, and also isn't the handy-dandy S04 list of phasers. | ||
then again, all-caps aren't reserved for phasers. Just look at EVAL ;) | 23:54 | ||
[Coke] | n: say "\\cIa" | 23:55 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«\cIa» | ||
[Coke] | n: say "\\c3a" | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«\c3a» | ||
lue | Mouq: what if, instead of DOC use (etc.), we had =use (etc.) ? Would tie in better with its documentation-ness | ||
Mouq | lue: '~' I dunno | 23:56 | |
lue | I feel like we'd be running up against usable directives at some point if that were to happen though... .oO(==use) | 23:57 | |
though again, an actual implementation of DOC might settle the weirdness for me :) | 23:58 | ||
Mouq | DOC <statement> should at least be a no-op for now | ||
lue | agreed, and perhaps when running --doc it can warn or die with "NYI" ? | 23:59 | |
Mouq | But the whole thing requires a re-thinking of how this stuff is put together.. | ||
lue: Sure | |||
lue: YEah |