»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:00
AlexDaniel left
|
|||
ingy | /msg NickServ VERIFY REGISTER ingy pwwuogzfjjhr | 00:15 | |
tadzik | oh :) | ||
that's why you do it in the server window ingy :P | |||
ingy | oops | 00:16 | |
how do I talk to an operator in freenode? | 00:17 | ||
My account got messed up somehow | 00:18 | ||
awwaiid | ls | 00:19 | |
awwaiid wants to be link ingy | |||
timotimo | ln -s ingy | ||
the -Ofun page on perl6.org is kind of empty | 00:20 | ||
we should put more fun up on the 'nets | |||
timotimo puts a few thoughts into the issues of the repository | 00:22 | ||
00:26
mr_ron joined
|
|||
timotimo | we have control over the "perlhex" twitter account; i think it'd be great to fill it with a new tweet regularly | 00:31 | |
not necessarily every day, but perhaps at least on a weekly basis? | |||
Zoffix | ingy, /j #staff and ask there | 00:35 | |
ingy | Zoffix: OK | 00:40 | |
Zoffix: you need to be invited | 00:41 | ||
Zoffix | ingy, I wrote in that channel for a staffer to /msg you. So... they might. /whois them first, to ensure they are in fact staff. | 00:43 | |
ingy | ok, thanks | ||
I had already asked about this in #freenode | |||
I had 32 chans regeistered | 00:44 | ||
but now they are registered to freenode-staff | |||
Zoffix | ingy, oh, if I try to join #staff, it redirects me to #freenode. I think #freenode is the right staff channel. | ||
ingy | because I hadn't identified recently before a freenode database cleanup | ||
ok | 00:45 | ||
ShimmerFairy | timotimo: for some reason I could kinda construe that as something you'd hear in a sci-fi movie: "we have control over perlhex. Escorting to the rakudo star now." :P | ||
Zoffix | :D | ||
ShimmerFairy | timotimo: looking at perlhex's recent tweets, if you could somehow fit in something about Rats and FatRats, that might be interesting. | 00:47 | |
dalek | href="https://perl6.org:">perl6.org: 56c61f7 | (Zoffix Znet)++ | source/whatever/index.html: Replace outdated Inline::Rakudo mention with Inline::Perl6 (Closes #24) |
00:49 | |
href="https://perl6.org:">perl6.org: 607580e | (Zoffix Znet)++ | source/whatever/index.html: Use community-favoured MetaCPAN for Perl 5 docs |
|||
timotimo | ShimmerFairy: what makes you say that? | 00:53 | |
00:53
laouji_ joined
|
|||
ShimmerFairy | timotimo: I just saw a few of the recent tweets about numbers, various ways to write them, etc., and I thought maybe showing off the other types (Rat, Num, Complex) might be a good idea | 00:53 | |
timotimo | ah | 00:54 | |
00:54
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:57
lichtkind left
|
|||
ShimmerFairy | timotimo: oh! jnthn's 0.1 + 0.2 == 0.3 example from his introductory slides might be a good one to show our use of Rat over floating-point where other langs just use floating-point :) | 00:58 | |
00:58
tokuhirom joined
|
|||
timotimo | aye, that's a good one | 00:59 | |
01:02
tokuhirom left
|
|||
dalek | href="https://perl6.org:">perl6.org: d821680 | (Zoffix Znet)++ | source/compilers/index.html: Fix invalid markup |
01:03 | |
href="https://perl6.org:">perl6.org: 23ee70a | (Zoffix Znet)++ | source/compilers/index.html: Mark Niecza as discontinued (Closes #26) |
|||
c: f76fb3d | skids++ | lib/Language/functions.pod: Catch docs up with +/+@ slurpies Remove example that does not work for form that should now, as it turns out, be discouraged, as it may never work unless Capture is changed to carry hanging comma information. |
01:05 | ||
href="https://perl6.org:">perl6.org: 7b7d585 | (Zoffix Znet)++ | source/compilers/ (2 files): Mark STD and viv as not actively developed (Closes #29) |
01:06 | ||
Zoffix | What do you think of adding a "Try it out live" thing to perl6.org that would communicate with camelia to run code the user types? | 01:07 | |
ShimmerFairy | It's been discussed before, and it sounds nice, but the "try it" evaluator should be separate from camelia methinks :) | 01:08 | |
Zoffix | Reuse. Reduce. Recycle! :) What is the reason to avoid using camelia? | 01:09 | |
ShimmerFairy | Zoffix: could certainly be another instance of camelia, but something about having the same bot run IRC stuff and website stuff seems like it could cause problems somewhere down the road. | 01:10 | |
Zoffix sees it nothing more than adding a thin layer for users to interact with the bot without having to log in on IRC. | 01:11 | ||
ShimmerFairy | I'm certainly not the one making final decisions, it's just that I personally would separate the usages :) | ||
Zoffix | I would keep them together, to simplify keeping stuff up to date :) A topic for another time, I guess :) | 01:12 | |
ShimmerFairy | yeah, in at least a few hours there'll be more people available to discuss this with :) | 01:14 | |
01:16
kid51 left
01:17
leont left
01:20
lichtkind joined
|
|||
timotimo | the last time i worked on a "try perl6 in your browser" thing i was bitten by the instability in async stuff as used by HTTP::Server::Async | 01:26 | |
as well as Proc::Async | 01:27 | ||
on top of the stability improvements for async stuff in general, P::A has seen some nice improvements in the time since i last tried | |||
but really, the perfect thing to have would be an ipython compatible kernel backend; i have recently considered perhaps writing the thing with Inline::Python and re-using the code that already exists in ipython itself | 01:28 | ||
because there's a "how to get your kernel working using python code" guide on the jupyter page | 01:29 | ||
01:29
mr_ron left
|
|||
timotimo | on the other hand, that's really mostly for repl-like things and our current solution to do repl-like things is ... enhancable | 01:30 | |
Zoffix 's plan was to use Perl 5's Mojolicious | 01:32 | ||
timotimo | why u no dogfood? | ||
(of course, done trumps done in perl6 :) ) | |||
ShimmerFairy | timotimo: I disagree, perl6 done in perl6 is way cooler than perl6 done :P | 01:36 | |
01:41
mr_ron joined
|
|||
timotimo | we're making headway | 01:48 | |
01:59
kaare__ joined
02:17
pochi_ left,
pochi joined
02:29
noganex joined
02:32
noganex_ left
02:41
tokuhirom joined,
pochi_ joined
02:43
pochi left
02:44
lichtkind_ joined
02:46
lichtkind left
02:58
BenGoldberg left
03:12
telex left
03:14
telex joined
03:17
lichtkind_ left
03:45
aborazmeh left
04:01
tokuhirom left
04:11
Xor_ left
04:18
Xor_ joined,
crux joined
04:21
mr_ron left
04:22
timbunce__ left,
timbunce_ joined
04:28
skids left
04:34
PotatoGim joined
|
|||
PotatoGim | Hi. | 04:34 | |
04:37
Xor_ left
04:45
Xor_ joined
04:59
TEttinger left
05:00
tokuhirom joined
05:04
[Sno] left
05:05
Xor_ left
05:06
Xor_ joined
05:15
Xor_ left
05:18
Xor_ joined
05:27
Xor_ left
05:33
apotheon_ is now known as apotheon
05:34
apotheon left,
apotheon joined
05:44
laouji_ left
05:45
laouji_ joined
05:46
Xor_ joined,
FROGGS left
06:01
quester joined
|
|||
quester | p6: say EVAL "2+2"; | 06:02 | |
camelia | rakudo-moar 2765b6: OUTPUT«4» | ||
quester | p6: say eval "2+2"; | ||
camelia | rakudo-moar 2765b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileUndeclared routine: eval used at line 1. Did you mean 'val'?» | ||
quester thinks that could considered an LTA error message... | |||
06:10
rurban joined
06:14
FROGGS joined,
domidumont joined
06:16
diana_olhovik joined
|
|||
quester submitted RT #126264 | 06:18 | ||
06:19
domidumont left,
quester left,
domidumont joined
06:26
brrt joined
|
|||
brrt | good * | 06:27 | |
FROGGS | o/ | 06:28 | |
06:28
Xor_ left
06:29
Xor_ joined
|
|||
[Tux] | test 50000 37.214 37.095 | 06:29 | |
test-t 50000 38.534 38.415 | |||
tux.nl/Talks/CSV6/speed4.html | 06:30 | ||
tokuhirom | how do i get remote-addr by socket from IO::Socket::Async.listen? | ||
brrt | [Tux], that's a regression, isn't it? | 06:31 | |
06:31
Ven joined
|
|||
[Tux] | I think it is noise | 06:31 | |
brrt | hmmm | ||
well, here's hoping | |||
[Tux] | look at the bottom graph | ||
brrt | aye | 06:32 | |
i finally have a reason why the tiler-combination-generator terminates | 06:39 | ||
as in, i finally know why it can't oscillate | |||
FROGGS | oscillate? | 06:40 | |
brrt | yes, well, it's a fixed-point algorithm that tries to find the complete set of allowable combinations | 06:41 | |
it could be the case that a set would appear in one iteration, then disappear in the next, then reappear in the one after that | |||
FROGGS | ohh :o) | 06:42 | |
06:42
[Sno] joined
|
|||
brrt | that can't happen, because sets don't ever disappar completely, they're just merged in other sets, in which case they disappear as individual items, but they still exist as the subset of another set | 06:42 | |
another worry is whether the sets are always the *complete* set | 06:43 | ||
but i think i can reason my way out of that | |||
the tl;dr of it is that not generating a complete set would seem to cause a logical contradiction | |||
moritz | \o | 06:45 | |
thanks Zoffix | |||
brrt | good * moritz :-) | ||
avuserow | does anyone know if TimToady++'s talk tomorrow will be recorded or streamed? I was hoping to go but tickets are sold out. | ||
brrt | is TimToady giving a talk tomorrow, again? :-o where? | 06:47 | |
FROGGS | at a craigslist++ office I think? | 06:48 | |
avuserow | perl6releasetalk.ticketleap.com/per...lk/details | ||
it's actually at the exploratorium, which sounds awesome | 06:49 | ||
brrt | omg :-o | ||
stuff is in motion | |||
exciting | |||
brrt thinks he's going to really miss sigil variance in perl6. it's become second nature in perl5 to me | 06:50 | ||
FROGGS | brrt: I'm happy it is gone, really | ||
Timbus_ | im so glad it's gone | 06:51 | |
brrt | i guess it really just resonated with me | ||
want one item of a list? prefix with $. want many? prefix with @ | |||
moritz | it starts to get when you do a hash slice | 06:52 | |
and write @h{qw/a b/} | |||
and then you do a hash slice on a hash ref | |||
and the beginner's mind just goes WAT? | 06:53 | ||
brrt | but ain't that fun though | ||
:-) | |||
i agree it's complex. but we've reduced that complexity and introduced the distinction between := and = | |||
which, to my mind, still says WAT | 06:54 | ||
moritz | except that the normal user basically never has to use := | 06:59 | |
before GLR, there were use cases for := to avoid eager evaluation | 07:00 | ||
those are gone now, afaict | |||
07:00
zakharyas joined
|
|||
brrt | hmmm | 07:00 | |
yeah, that is true | 07:01 | ||
lets hope that remains true | |||
07:01
Xor_ left
|
|||
Ven waves at #perl6 | 07:02 | ||
brrt | \o Ven | 07:03 | |
nine | .tell lizmat Pair does shallow immutability. You can't change its value, but if the value is a container, you can still assign to that. Just like List does post-GLR. Maybe that's a good fit for Bag, MixHash, ... as well? | 07:14 | |
yoleaux | nine: I'll pass your message to lizmat. | ||
nine | .tell masak Enum's gone :) There's just Pair now. | ||
yoleaux | nine: I'll pass your message to masak. | ||
moritz | m: Enum | 07:15 | |
camelia | rakudo-moar 2765b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YKzYDtd7RYUndeclared name: Enum used at line 1. Did you mean 'num'?» | ||
moritz | \o/ | 07:16 | |
07:16
laouji_ left
07:18
laouji_ joined
07:23
ely-se joined
07:28
rurban left
07:30
espadrine_ joined
|
|||
masak | morning, #perl6! | 07:32 | |
yoleaux | 07:14Z <nine> masak: Enum's gone :) There's just Pair now. | ||
masak | \o/ | 07:33 | |
07:33
pdcawley joined
|
|||
masak | well, this came up in a discussion where we talked about making .value immutable | 07:35 | |
07:35
Xor_ joined,
maddingu1 is now known as maddingue
|
|||
masak | I guess what we can do instead with Pair is to make it an rvalue | 07:35 | |
how do you construct a Pair with an rvalue .value ? :) | |||
brrt | that took some parsing | 07:36 | |
07:36
espadrine_ left
|
|||
moritz | masak: key => $value | 07:36 | |
07:37
bjz joined
|
|||
masak | ah, yes. | 07:37 | |
m: my $p = (key => 42); say $p.perl; $p.value = 5; say $p.perl | |||
camelia | rakudo-moar 2765b6: OUTPUT«:key(42)Cannot modify an immutable Int in block <unit> at /tmp/zmd5ndj_D7:1» | ||
masak | \o/ | ||
well, then. we have all we need for Bag and other immutables. | 07:38 | ||
moritz | m: my $p = (key => (my $v = 42)); $p.value = 23; say $p | ||
camelia | rakudo-moar 2765b6: OUTPUT«key => 23» | ||
Ven | fwiw, that's going to bug people :) | 07:39 | |
bug newcomers and bite users, probably. oh well, that ship sailed the very first day of perl6 :) | |||
m: sub _($a is copy) is rw { $a }; my $p = (key => _(42)); $p.value = 23; say $p | 07:40 | ||
camelia | rakudo-moar 2765b6: OUTPUT«key => 23» | ||
Ven | m: sub _($a) is rw { $a }; my $p = (key => _(42)); $p.value = 23; say $p | ||
camelia | rakudo-moar 2765b6: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/1DCnhMKyKA:1» | ||
Ven | yarrh | ||
masak | m: my $p = (key => ($ = 42)); $p.value = 23; say $p # fun fact: the anon state variables can be used in places where we're not all that interested in `state` semantics | 07:42 | |
camelia | rakudo-moar 2765b6: OUTPUT«key => 23» | ||
Ven | masak: thing is -- this is going to bite people later when they use that code in a loop. I'd rather not recommend it :) | 07:43 | |
masak | how would it bite them in a loop? | 07:45 | |
we're doing an assignment of a literal | |||
07:45
bjz left
07:46
RabidGravy joined
|
|||
Timbus_ | thats actually.. kinda neat | 07:46 | |
masak | yes, and in my view it actually makes the "you're supposed to have a container there, not a value" pill a little bit easier to swallow | 07:50 | |
we just teach people to go `$ = 42` instead of `42` | 07:51 | ||
it's like "the smallest possible thing that can be a container" :) | 07:53 | ||
07:54
darutoko joined
07:57
jsimonet joined
|
|||
nine | m: my $p = (key => (my $ = 42)); $p.value = 23; say $p # a bit less scary | 07:58 | |
camelia | rakudo-moar 2765b6: OUTPUT«key => 23» | ||
dalek | kudo/nom: 8dd7440 | FROGGS++ | src/ (4 files): handle Type:D and Type:U on variables and attributes `my Int:D $foo` compiles to something like `my Int $foo where *.defined = 0` now. Some occurrences of Int:D in the setting had to be removed because at the time it is compiled we can't instanciate Pair. And we need Pair to add the constraint to the variable or attribute. However, these occurrences had no affect yet anyway. |
08:00 | |
FROGGS | .tell jnthn please try to break github.com/rakudo/rakudo/commit/8dd74406e6 :o) | ||
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
08:01
bjz joined
|
|||
ely-se | can't help but read :D and :U as smileys | 08:01 | |
FROGGS | ely-se: that's what they are called, yes | ||
ely-se | :U | ||
ooh the new perl6 webdesign is nice | 08:02 | ||
nine | FROGGS: I wonder if those Int:D in Range would be better as int anyway | ||
FROGGS | m: my Int:D $foo; say $foo # happy code is happy. ... in a bit | ||
camelia | rakudo-moar 2765b6: OUTPUT«(Int)» | ||
FROGGS | nine: yeah, I was thinking about that, but was too sleepy last night when I changed it to think about it | 08:03 | |
08:03
Xor_ left
|
|||
FROGGS | eww, that sentence sounds weird | 08:03 | |
08:07
bjz left,
bjz joined
08:08
vytas left
|
|||
nine | FROGGS: well I think my sentence was not that much of a sentence either ;) It is Monday morning after all :) | 08:08 | |
FROGGS | yeah | 08:09 | |
FROGGS yawns | |||
08:11
Xor_ joined
08:13
bjz left
|
|||
dalek | href="https://perl6.org:">perl6.org: c3ac91f | (Ilmari Vacklin)++ | source/index.html: Fix typo. |
08:15 | |
iv | to my surprise I had commit rights | 08:16 | |
08:17
Xor_ left
|
|||
FROGGS | iv: well, you are mentioned in the perl(5)guts, arn't you? ;o) | 08:19 | |
ely-se | lol | ||
08:22
Ven left
08:23
dakkar joined
08:26
Ven joined
08:27
saaki left
08:28
saaki joined,
araujo joined,
araujo left,
araujo joined
|
|||
brrt | yes, the new perl6 design is very nice | 08:28 | |
bootstrap i guess? | |||
ely-se | obviously | 08:29 | |
08:38
rindolf joined
08:39
Ven left,
rurban joined
08:41
bjz joined
|
|||
grondilu | TimToady: I'm reading en.wikipedia.org/wiki/Function_composition and I admit I'm a bit confused. It is said that &infix:<o> is always associative. | 08:41 | |
08:42
mattprelude joined
|
|||
brrt | my suspicion is that is only true for the mathematical concept of a function | 08:43 | |
grondilu | m: my $x = rand(); say ((&cos o &sin) o &tan)($x); say (&cos o (&sin o &tan))($x); | ||
camelia | rakudo-moar 8dd744: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8ZQDrDUPW3Unsupported use of rand(); in Perl 6 please use randat /tmp/8ZQDrDUPW3:1------> 3my $x = rand7⏏5(); say ((&cos o &sin) o &tan)($x); say » | ||
grondilu | m: my $x = rand; say ((&cos o &sin) o &tan)($x); say (&cos o (&sin o &tan))($x); | 08:44 | |
camelia | rakudo-moar 8dd744: OUTPUT«0.9589440090374110.958944009037411» | ||
08:44
duncan_dmg joined
08:45
bjz left
|
|||
brrt | that's likely to be sensitive to floatingpointedness | 08:46 | |
grondilu | ((f o g) o h)(x) = (f o g)(h(x)) = f(g(h(x)) | ||
(f o (g o h))(x) = f((g o h)(x)) = f(g(h(x)) | 08:47 | ||
it *is* associative | |||
08:47
Xor_ joined
|
|||
grondilu | (if I'm not mistaken) | 08:48 | |
brrt | hmmmmmmmm | ||
i shouldn't doubt mathematics, but then agian, i'm wondering if there aren't some edge conditions there | 08:49 | ||
ely-se | brrt makes me hungry and now I want a burrto | ||
08:50
bjz joined
|
|||
grondilu | I vaguely remember now that I've been taught that long ago and was a bit puzzled by it then. | 08:50 | |
but I forgot about it as the composition operator is rarely used anyway. | |||
brrt | that is a new interpretation of my nickname ely-se | ||
i've heard it compared to machine guns, too | |||
ely-se | burrito* | ||
next time I'm in the local burrito shop I'll ask for a vowelless burrito | 08:51 | ||
08:54
Xor_ left
|
|||
grondilu | m: say [o] &cos xx * | 08:56 | |
camelia | rakudo-moar 8dd744: OUTPUT«Cannot reverse a lazy list in block <unit> at /tmp/htaFAK478C:1Actually thrown at: in any at gen/moar/m-Metamodel.nqp:2869 in block <unit> at /tmp/htaFAK478C:1» | ||
grondilu | m: say &infix:<o>.prec | 08:58 | |
camelia | rakudo-moar 8dd744: OUTPUT«Method 'prec' not found for invocant of class 'Sub' in block <unit> at /tmp/VJM8bFte4U:1» | ||
grondilu | m: m: say find-reducer-for-op(&infix:<o>) | 08:59 | |
camelia | rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_LEFT (| is raw) { #`(Sub|62104984) ... }» | ||
grondilu doesn't get it | |||
09:03
FROGGS left
|
|||
grondilu | m: m: say find-reducer-for-op(&[o]) | 09:04 | |
camelia | rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_LEFT (| is raw) { #`(Sub|73469344) ... }» | ||
grondilu | m: m: say find-reducer-for-op(&[**]) | ||
camelia | rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_RIGHT (| is raw) { #`(Sub|74108528) ... }» | ||
grondilu | &[o] is seen as left associative, so why does it try to reverse in [o] &cos xx * ? | ||
09:06
Skarsnik joined,
Xor_ joined
|
|||
grondilu | also: say [+] # is ok | 09:07 | |
m: say [+] # is ok | |||
camelia | rakudo-moar 8dd744: OUTPUT«0» | ||
grondilu | m: say [o] # is not | ||
camelia | rakudo-moar 8dd744: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in block <unit> at /tmp/2cuPDkeZso:1» | ||
ShimmerFairy | m: say &infix:<+>() | 09:10 | |
camelia | rakudo-moar 8dd744: OUTPUT«0» | ||
ShimmerFairy | m: say &infix:<∘>() | ||
camelia | rakudo-moar 8dd744: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in block <unit> at /tmp/XzqCiSNFYi:1» | ||
ShimmerFairy | function composition doesn't have a 0-arg form, that's why it doesn't work :) | ||
grondilu | yes, that's the issue | ||
&[o] should be { $_ } | 09:11 | ||
or something like that | |||
I mean &[o]() | |||
-> |args{ |args } | |||
a general identity function can be useful anyway. | 09:12 | ||
jnthn | .tell lizmat I'm not too happy about exposing MapIterator at the top level; I want to keep us free to evolve such things in the future. Please put it as Rakudo::Internals::MapIterator if you wish to share it between things (we'll want to take a pass through the setting for other leaking things to move there also). | 09:13 | |
yoleaux | 4 Oct 2015 20:24Z <lizmat> jnthn: should VM supported object hashes be added to nope.md ? | ||
jnthn: I'll pass your message to lizmat. | |||
08:00Z <FROGGS> jnthn: please try to break github.com/rakudo/rakudo/commit/8dd74406e6 :o) | |||
jnthn | .tell lizmat VM supported hashes are an implementation detail; nope.md is about language things | 09:14 | |
09:14
Ven joined
|
|||
yoleaux | jnthn: I'll pass your message to lizmat. | 09:14 | |
jnthn | .tell lizmat I suspect we'll get around to doing that improvement sometime in 2016; we shouldn't have trouble rolling that out without anyone noticing anything, except hopefully a memory usage and performance improvement :) | 09:16 | |
yoleaux | jnthn: I'll pass your message to lizmat. | ||
grondilu | m: multi infix:<myo> (&f, &g --> Block) { (&f).count > 1 ?? -> |args { f |g |args } !! -> |args { f g |args } }; multi infix:<myo>(&f = -> |args { |args } --> Block) { &f }; say &[myo]() | 09:17 | |
camelia | rakudo-moar 8dd744: OUTPUT«-> |args is raw { #`(Block|85442336) ... }» | ||
grondilu | m: multi infix:<myo> (&f, &g --> Block) { (&f).count > 1 ?? -> |args { f |g |args } !! -> |args { f g |args } }; multi infix:<myo>(&f = -> |args { |args } --> Block) { &f }; say &[myo]()(pi) | ||
camelia | rakudo-moar 8dd744: OUTPUT«(3.14159265358979)» | 09:18 | |
grondilu | m: multi infix:<myo> (&f, &g --> Block) { (&f).count > 1 ?? -> |args { f |g |args } !! -> |args { f g |args } }; multi infix:<myo>(&f = -> |args { |args } --> Block) { &f }; say &[myo]()(pi); say [myo] &cos xx * | ||
camelia | rakudo-moar 8dd744: OUTPUT«(timeout)(3.14159265358979)» | ||
grondilu | m: multi infix:<myo> (&f, &g --> Block) { (&f).count > 1 ?? -> |args { f |g |args } !! -> |args { f g |args } }; multi infix:<myo>(&f = -> |args { |args } --> Block) { &f }; say find-reducer-for-op(&[myo]) | 09:20 | |
camelia | rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_LEFT (| is raw) { #`(Sub|60896840) ... }» | ||
09:21
espadrine_ joined
09:26
Xor_ left
09:28
Xor_ joined
09:29
avar joined,
Ven left,
groky joined
|
|||
grondilu notices the note: | 09:31 | ||
# XXX GLR we really, really should be able to do reduce on the # iterable in left-associative cases without having to make a # list in memory. | |||
in src/core/Any-iterable-methods.pm | |||
jnthn | .tell FROGGS I think we want to do it at MOP level in the future, if nothing else for speed. | 09:32 | |
yoleaux | jnthn: I'll pass your message to FROGGS. | ||
jnthn | .tell FROGGS I think we should force an initializer on :D'd things. .new is a bad default. Try this: `class C { has $.x = rand }; for ^5 { my C:D $foo; say $foo.x }` | 09:33 | |
yoleaux | jnthn: I'll pass your message to FROGGS. | ||
09:34
groky left
|
|||
jnthn | .tell FROGGS also we totally drop the thing on the floor in some situations, like `my $x = Int:D; say $x` | 09:34 | |
yoleaux | jnthn: I'll pass your message to FROGGS. | ||
09:34
TEttinger joined
|
|||
jnthn | .tell FROGGS That latter one is why I was more pondering a MOP-level solution: so they are first class. | 09:35 | |
yoleaux | jnthn: I'll pass your message to FROGGS. | ||
Skarsnik | Hi, I still have issue with DBIish (and Pg) the fetchrow_hashref give me a hash of str (not Str) and when I try to copy the value in another hash. I still get str | ||
moritz | Skarsnik: did you open an issue in the DBIish repo, with code to reproduce it? | ||
09:36
Xor_ left
|
|||
moritz | Skarsnik: if not, that is what you should do | 09:36 | |
jnthn | Anybody got anything they're blocking on me to look at / give input to? Please let me know. :) | ||
jnthn has a nagging feeling he forgot something... | |||
moritz | has the JIT issue with named args been fixed? | ||
grondilu discovers the sub (+arg) {...} syntax | 09:37 | ||
jnthn | moritz: Not afaik | ||
moritz: Last I know brrt++ had managed to get it down to a really small reproduction | 09:38 | ||
ely-se | Wait, are :D and :U really called "smileys" in Perl 6? | 09:39 | |
09:40
Xor_ joined
09:41
yakudza joined
|
|||
Skarsnik | moritz, well I updated my rakudo to see if that fixed it, but it's really weird. could be because Pg.pm use := to get the value from Pg? github.com/perl6/DBIish/blob/maste...g.pm6#L282 | 09:43 | |
jnthn | ely-se: I'd go for "type modifier" or maybe if I handwave enough I can call it a "type operator" :) But I suspect folks caling them a "type smiley" ain't gonna go away :P | ||
ely-se | ok :P | ||
09:43
rurban left
|
|||
nine | jnthn: maybe bool_enum? | 09:44 | |
ely-se | uh, I mean: ok :U | ||
jnthn | nine: Ooh. Thanks :) | ||
brrt would require a good afternoon with gdb and nice amenities to figure that one out, and just hasn't found it yet | |||
jnthn is currently looking into the status of method postcircumfix:<( )> | 09:46 | ||
iirc, that went away in favor of CALL-ME | 09:47 | ||
09:48
larion joined
|
|||
ely-se | Is it possible to implement COMEFROM in Perl 6? | 09:48 | |
jnthn | But CALL-ME hasn't got a single mention in the design docs | 09:49 | |
lizmat | good *, #perl6! | ||
yoleaux | 07:14Z <nine> lizmat: Pair does shallow immutability. You can't change its value, but if the value is a container, you can still assign to that. Just like List does post-GLR. Maybe that's a good fit for Bag, MixHash, ... as well? | ||
09:13Z <jnthn> lizmat: I'm not too happy about exposing MapIterator at the top level; I want to keep us free to evolve such things in the future. Please put it as Rakudo::Internals::MapIterator if you wish to share it between things (we'll want to take a pass through the setting for other leaking things to move there also). | |||
09:14Z <jnthn> lizmat: VM supported hashes are an implementation detail; nope.md is about language things | |||
09:16Z <jnthn> lizmat: I suspect we'll get around to doing that improvement sometime in 2016; we shouldn't have trouble rolling that out without anyone noticing anything, except hopefully a memory usage and performance improvement :) | 09:50 | ||
09:50
Xor_ left
|
|||
lizmat | jnthn: MapIterator would be the first thing in Rakudo::Internals | 09:51 | |
would it be ok if I just rename it to MAPITERATOR (all uppercase) like many other currently exposed internals ? | |||
brrt | i think comefrom is implemented by translating it to a goto-label pair | 09:53 | |
and iirc we've not implemented goto | |||
but as far as vm level support goes, i'm fairly sure we can | 09:54 | ||
either as a true jump or as a lexotic exception | |||
jnthn | lizmat: I'd like those other curerntly exposed internals to shuffle off into the package too, maybe modulo some discussion on if we want to organize that | ||
lizmat: e.g. ::IO::... | |||
lizmat | would that be before or after Christmas ? | 09:55 | |
jnthn | lizmat: The trouble with the uppercasing approach is that they're all discoverable through CORE::.keys | ||
lizmat | we could just adapt PseudoStash keys / AT-KEY etc. :-) | ||
brrt would suggest that cleanup from exposed internals would be before christmas, because otherwise they may accidentally become features | |||
09:56
Ven joined,
mattp__ joined
|
|||
lizmat | but ok, I hear you... | 09:56 | |
09:56
domidumont left
|
|||
jnthn | lizmat: Before; anything with a name Rakudo::Internals:: is pretty clearly guts, whereas an uppercased thing ain't (I mean, EVAL is uppercase, but intended for userland) | 09:56 | |
lizmat: fwiw, not saying it has to be you that slogs through doing it, just that we may as well start with MapIterator as we mean to go on. :) | 09:57 | ||
lizmat | yeah, that's ok :-) | ||
I guess we want Rakudo::Internals to be a -package- right ? | 09:58 | ||
jnthn | *nod* | 09:59 | |
That makes it easy to extend as we go | |||
nine | Ah, it's good that you are discussing this, as I'm planning on lifting the DwimIterator from HYPER to use it in META_ZIP :) | ||
jnthn | :) | 10:00 | |
10:02
Xor_ joined
|
|||
lizmat | nine: give me a few mins, and Rakudo::Internals should be ready to be used :-) | 10:02 | |
nine | lizmat: take your time :) There's still $day-job to take care of | 10:03 | |
jnthn | Do we know what caused the startup time regression? | 10:06 | |
lizmat | no | ||
jnthn | k | ||
spectest is getting rather messy on Windows... | 10:08 | ||
lizmat | hmmm... first stab at Rakudo::Internals makes settings parse go infiniloop :-( | 10:09 | |
10:10
ely-se left
|
|||
lizmat | jnthn: the bag/mix failures are mine and will be dealt with shortly | 10:10 | |
jnthn | lizmat: OK, thanks. | ||
10:10
laouji left
|
|||
jnthn is busy breaking the world :) | 10:10 | ||
10:11
laouji joined
|
|||
jnthn | But it's hard to see how much | 10:11 | |
Because heredoc changes have shagged up quite a few spectests :( | |||
(On Windows only) | 10:12 | ||
10:13
RabidGravy left,
Bucciarati joined
10:14
Ven left
|
|||
dalek | kudo/nom: 88907fc | jnthn++ | src/Perl6/ (4 files): Eliminate use of postcircumfix:<( )> method. We replaced it long ago with CALL-ME. |
10:14 | |
10:14
ribasushi left
|
|||
jnthn | oops, missed one mention | 10:16 | |
10:16
rurban joined
|
|||
jnthn | Well, two, the second was deliberate | 10:16 | |
m: class C { method @($idx) { } }; say C.^methods | |||
camelia | rakudo-moar 8dd744: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3QNzrp5aeWMissing blockat /tmp/3QNzrp5aeW:1------> 3class C { method7⏏5 @($idx) { } }; say C.^methods» | ||
jnthn | m: class C { method @.($idx) { } }; say C.^methods | ||
camelia | rakudo-moar 8dd744: OUTPUT«(postcircumfix:<[ ]>)» | ||
jnthn | I think that one wants to become AT-POS, and AT-KEY for % and CALL-ME for & if we want to keep it | 10:17 | |
dalek | kudo/nom: 07c5694 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Remove one more method postcircumfix:<( )> use. |
10:19 | |
10:19
ribasushi joined
|
|||
dalek | kudo/nom: 24e2dc4 | lizmat++ | / (3 files): Introduce Rakudo::Internals with MapIterator |
10:22 | |
kudo/nom: 2291b05 | lizmat++ | src/core/ (2 files): Use Rakudo::Internals::MapIterator |
|||
10:27
literal joined
|
|||
jnthn | gah, coercion/invocation is such a tangle | 10:31 | |
10:31
brrt left
|
|||
lizmat | .oO( YAT :-) |
10:31 | |
jnthn | I really don't like how it gets overloaded onto CALL-ME | 10:32 | |
10:33
pippo joined
|
|||
pippo | o/ #perl6; | 10:33 | |
10:33
ely-se joined
|
|||
pippo | m: my @a = ^10; my @b = ^10; my @c = @a, @b; say @c.unique; | 10:34 | |
camelia | rakudo-moar 8dd744: OUTPUT«([0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7 8 9])» | ||
pippo | ^^ Is that correct? | ||
lizmat | pippo: yes, that's the 1 argument rule in action | 10:35 | |
my @a = ^10; my @b = ^10; my @c = @a, @b; say @c.elems | |||
m: my @a = ^10; my @b = ^10; my @c = @a, @b; say @c.elems | |||
camelia | rakudo-moar 8dd744: OUTPUT«2» | ||
ShimmerFairy | not even that, it's just less flattening | ||
lizmat | m: my @a = ^10; my @b = ^10; my @c = @a; say @c.elems | 10:36 | |
camelia | rakudo-moar 8dd744: OUTPUT«10» | ||
jnthn | Well, the other question would be "why doesn't unique consider two arrays the same", which is because they're mutable reference types. | ||
lizmat | m: my @a = ^10; my @b = ^10; my @c = |@a, |@b; say @c.elems | ||
camelia | rakudo-moar 8dd744: OUTPUT«20» | ||
lizmat | m: my @a = ^10; my @b = ^10; my @c = |@a, |@b; say @c.unique | ||
camelia | rakudo-moar 8dd744: OUTPUT«(0 1 2 3 4 5 6 7 8 9)» | ||
jnthn prefers to write that as `my @c = flat @a, @b` fwiw :) | |||
(Yes, it behaves the same.) | |||
lizmat | well, suppose you want to |@a but not @b :-) | 10:37 | |
m: my @a = ^10; my @b = ^10; my @c = |(@a, @b); say @c.elems | |||
camelia | rakudo-moar 8dd744: OUTPUT«2» | ||
lizmat | m: my @a = ^10; my @b = ^10; my @c = flat (@a, @b); say @c.elems | ||
camelia | rakudo-moar 8dd744: OUTPUT«20» | ||
jnthn | Sure, then it'd wirte |@a, @b :) | ||
pippo | shouldnt unique return a warning/error when used like I did it? | ||
jnthn | pippo: Not really; sometimes unique references are just what you want | 10:38 | |
lizmat | pippo: why? feels more like a case of DHIWIDT | ||
jnthn | @customers.unique # only want to consider each Customer object once, in a list with potential duplicate instances | ||
10:38
FROGGS joined
|
|||
jnthn | I think you can do: | 10:38 | |
m: my @a = ^10; my @b = ^10; say (@a, @b).unique(:with(&[eqv])) | 10:39 | ||
camelia | rakudo-moar 8dd744: OUTPUT«([0 1 2 3 4 5 6 7 8 9])» | ||
jnthn | Yeah | 10:40 | |
pippo | jnthn: lizmat: OK. I'll do like that although it is not very intuitive. :-) | ||
jnthn | pippo: Well, opting into an O(n**2) algorithm rather than an O(n) one probably should be enough to make you take notice. :) | ||
pippo | :-)) | 10:41 | |
jnthn manages a partial heredoc improvement on Windows, at least | |||
ShimmerFairy | m: my @a ^10; my @b = ^10; say (@a.List, @b.List).unique | 10:42 | |
camelia | rakudo-moar 8dd744: OUTPUT«WARNINGS:Useless use of "^" in expression "my @a ^10" in sink context (line 1)(() (0 1 2 3 4 5 6 7 8 9))» | ||
ShimmerFairy | m: my @a = ^10; my @b = ^10; say (@a.List, @b.List).unique | ||
camelia | rakudo-moar 8dd744: OUTPUT«((0 1 2 3 4 5 6 7 8 9) (0 1 2 3 4 5 6 7 8 9))» | ||
jnthn | hah, nice error :) | ||
FROGGS | o/ | ||
yoleaux | 09:32Z <jnthn> FROGGS: I think we want to do it at MOP level in the future, if nothing else for speed. | ||
09:33Z <jnthn> FROGGS: I think we should force an initializer on :D'd things. .new is a bad default. Try this: `class C { has $.x = rand }; for ^5 { my C:D $foo; say $foo.x }` | |||
09:34Z <jnthn> FROGGS: also we totally drop the thing on the floor in some situations, like `my $x = Int:D; say $x` | |||
09:35Z <jnthn> FROGGS: That latter one is why I was more pondering a MOP-level solution: so they are first class. | |||
ShimmerFairy | heh, I guess I should've expected .List to carry over the scalar containers too :P | ||
jnthn | ShimmerFairy: [...] isn't a Scalar anymore. :) | ||
FROGGS | jnthn: do we want to keep my patch in until then? | 10:43 | |
ShimmerFairy | jnthn: but the elements inside an Array are, no? | ||
jnthn | ShimmerFairy: yes :) | ||
ShimmerFairy: I think it does keep those though? | |||
ShimmerFairy | jnthn: yeah, that's what I meant. I was half-expecting the scalar containers Array gives to be carried over into List, and half-expecting some decont magic to happen :P | 10:44 | |
jnthn | FROGGS: I'm content with keeping it in, but please log the above somewhere in RT | ||
FROGGS: Oh, one more problem | |||
m: my Int:omg $x | |||
camelia | rakudo-moar 8dd744: OUTPUT«===SORRY!===Unsupported type smiley 'omg' used in type name» | ||
jnthn | That just nqp::die's instead of $/.CURSOR.panic, so we get no source position :( | ||
FROGGS | ahh, yes | ||
jnthn | But yeah, your patch did better than I'd first feared :) | ||
FROGGS++ | 10:45 | ||
FROGGS | *g* | ||
hehe | |||
ShimmerFairy | jnthn: oh, that reminds me, I've discovered that subclassing a Cursor so you can add your own shared data is kinda difficult (I ran into some unhelpful NQPMu in QAST error both ways I tried). I'm guessing it's supposed to be difficult? :) | 10:46 | |
For context, this is for a module that adds error-reporting stuff to grammars, like rakudo's parser has. My first version used dynamic variables, but I tried getting rid of those when pulling it out into its own module. Unfortunately the exceptions created in subrules don't go back up as I have it. | 10:48 | ||
nine | ShimmerFairy: when you .List an array, it doesn't know whether the containers were added by the array or not. So it's safest to just keep them. Also I just didn't think about that at all when I implemented .List ;) I just didn't want to return Arrays from operators when there was no need to | ||
ShimmerFairy | nine: heh, I certainly am not surprised it didn't do the decont magic :) | ||
jnthn | ShimmerFairy: Well, all the methods starting with ! are depended on very directly by the code-gen the regex engine does | 10:51 | |
ShimmerFairy: And so coupled tightly to it, and fair game for changes in the future | |||
ShimmerFairy | jnthn: ah, that would explain it then. I was mainly writing my own ::("!...") methods that did its own stuff + callsame to try to get the sharing working | 10:52 | |
jnthn | ShimmerFairy: Or potentially elided completely if the engine realizes it can get away with it. | ||
But yeah, it's really not designed for doing that. | |||
(Writing your own overrides) | |||
ShimmerFairy | dynamic variables work, but it means forcing the user to declare them themselves in their own grammars (and it ends up making certain variables 'special', which seems like a bad thing for a module to do in general ☺) | ||
jnthn | ShimmerFairy: What are you actually wanting to do? :) | 10:53 | |
oh wait, you wrote that and I didn't read it :) | |||
ShimmerFairy | jnthn: implement the sorry/worry/panic stuff for grammars: github.com/ShimmerFairy/grammar-parsefail | ||
jnthn | Why do you need to override things ooc? | 10:54 | |
ShimmerFairy | see the test added here: github.com/ShimmerFairy/grammar-pa...8e86f11a2c | ||
jnthn | I'd have thought you could just do it by asking for the high water and high expect? Which still couples to ! methods, but at least ones we might consider making API | ||
(and reasonably could, I think) | |||
ShimmerFairy | the <.express_concerns> rule doesn't see the sorry made by the subrule before it, which is the big thing keeping me from putting it in the ecosystem | 10:55 | |
jnthn: I'm not familiar with the highwater/expect stuff. I'll check the docs and synopses, if they happen to be there :) | |||
FROGGS | jnthn: the other pressing thing for me is the serialization bug, that affects e.g. CURLI | 10:56 | |
jnthn | ShimmerFairy: It's not there, but it's the way we get the position to complain at in most cases | ||
ShimmerFairy: Does your problem boil down to "where do put contextuals"? | 10:57 | ||
ShimmerFairy: If so, would it be possible for your role to provide a method parse that declares them and them callsame? | |||
ShimmerFairy | jnthn: ah. My problem is that the role's attributes aren't filled in the parent rule, just the subrule's. | ||
10:57
pmurias joined
|
|||
jnthn | ShimmerFairy: In Rakudo/NQP we just declare the error traacking contextuals in TOP, or mebbe comp_unit | 10:58 | |
ShimmerFairy | jnthn: oh, that's an idea. Somehow I didn't think of "subclass Grammar" and "use contextuals" at the same time :P | ||
dalek | p: 9a5fca6 | (Pawel Murias)++ | tools/build/ (2 files): [js] start working on make js-bootstap - it will build a boostraped nqp-js once it's done |
||
FROGGS | pmurias++ | ||
jnthn | FROGGS: Got a succinct description for me of that? | ||
FROGGS | jnthn: look at github.com/FROGGS/p6-Ser and run its test, it just a few lines of code... | 10:59 | |
ShimmerFairy | jnthn: fwiw my original version of this is in my Pod parser work (which will hopefully be ready to share soon), which uses @*SORROWS and such like rakudo does. I'm just hoping to avoid making module users declare those in their grammars. | ||
FROGGS | jnthn: it serializes an array to disk, deserializes it, pushes, and serializes | ||
jnthn: all works well until you *not* modify the array | |||
jnthn: so I think it is about lazy deserialization or write barriers | 11:00 | ||
though, I thought the scdisclaim op forces non-lazy deserialization | |||
11:01
travis-ci joined
|
|||
travis-ci | NQP build failed. Pawel Murias '[js] start working on make js-bootstap - it will build a boostraped nqp-js once it's done' | 11:01 | |
travis-ci.org/perl6/nqp/builds/83669570 github.com/perl6/nqp/compare/c67d5...5fca6c7882 | |||
11:01
travis-ci left
|
|||
masak | vendethiel: oh, I see what you mean now about the dangers of putting it in a loop. | 11:02 | |
in fact, gotta try that... :) | |||
11:04
spider-mario joined
|
|||
masak | m: my @ps; for ^2 { @ps.push("key $_" => ($ = 5)) }; say @ps[0].perl; @ps[1].value = 42; say @ps[0].perl | 11:06 | |
camelia | rakudo-moar 2291b0: OUTPUT«"key 0" => 5"key 0" => 42» | ||
masak | ok, yeah. that's the risk Ven pointed out. | ||
reference sharing: useful and pernicious at the same time. | |||
dalek | kudo/nom: 125db10 | jnthn++ | src/Perl6/Grammar.nqp: Make heredocs a bit less busted on Windows. Can likely go away again once we make \r\n a single grapheme in the upcoming NFG changes. |
11:07 | |
FROGGS | ohh, so CRLF will become a grapheme? nice, I think | 11:08 | |
11:08
mr_ron joined
|
|||
dalek | ast: 0528f0c | jnthn++ | S12-methods/fallback.t: s/postcircumfix:<( )>/CALL-ME/ |
11:09 | |
masak .oO( -MAYBE ) | |||
pippo | o/ | ||
11:10
pippo left
|
|||
jnthn | FROGGS: Unicode considers it one if we're going to follow its grapheme rules, which is the only other sensible option for the NFG algorithm besides the one I already did, which quite sadly seems insufficient. | 11:10 | |
FROGGS | ahh | ||
ShimmerFairy | FROGGS: yep, since the extended grapheme cluster definition specifically names CRLF :) | ||
jnthn | It's a pity we can't use the CCC-based one. Then NFG is definable as a small extension to NFC. | 11:11 | |
11:11
domidumont joined
|
|||
jnthn | And we get to use the NFC quick check properties. | 11:11 | |
lizmat | jnthn: wrt to slowdown, I also have the impression that mast times have gone up significantly as well | ||
no definite numbers unless I start trying to get them together | 11:12 | ||
jnthn | With the new algo we can't even say "ooh, it's in latin-1 range so we don't have to do anything", 'cus CRLF breaks that rule too | ||
lizmat: OK. Though I'm more concerned about the user-facting startup performance drop than the developer-facing increase in CORE.setting build time, tbh. | 11:13 | ||
*facing | |||
Of course, would be nice to figure out both :) | 11:14 | ||
ShimmerFairy | jnthn: how about "printable latin-1 range" ? :P But yeah, it seems normalizing to NFC now is just useful for reducing the number of synthetic graphemes that would be created, which admittedly seems still important. | 11:16 | |
jnthn | ShimmerFairy: Oh, for sure we'll still keep doing NFC first. | 11:18 | |
ShimmerFairy: Because that in turn gets us NFD | |||
ShimmerFairy: Which is what is responsible for equality working out | |||
(Because it does the stable sort on ccc) | 11:19 | ||
dalek | ast: 1eed483 | jnthn++ | S13-overloading/operators.t: s/postcicumfix:<( )>/CALL-ME/ |
||
ast: a18cc07 | jnthn++ | S13-overloading/operators.t: Update test to use AT-KEY API; unfudge. |
|||
ShimmerFairy | .oO(evil Perl 6 converts text to NFKD before converting to NFG, just to be extra sure your text has a high chance of being mangled) |
11:20 | |
dalek | ast: 917701b | jnthn++ | S13-overloading/typecasting-long.t: s/postcircumfix:<( )>/CALL-ME/ |
11:24 | |
jnthn | Of course, the K is for Korrupt :P | ||
dalek | ast: beb8db4 | jnthn++ | S14-roles/mixin.t: s/postcircumfix:<( )>/CALL-ME/ |
11:25 | |
jnthn | OK, I think I've cleaned up the fallout of removing the method postcircumfix:<( )> support :) | ||
11:25
leont joined
|
|||
jnthn | That still leaves me to ponder coercion stuff some more. But now, lunch and boring errand. & | 11:26 | |
11:35
kid51 joined
|
|||
dalek | osystem: 3f5252f | (Tokuhiro Matsuno)++ | META.list: Added Getopt-Tiny |
11:37 | |
href="https://perl6.org:">perl6.org: c01db68 | (Zoffix Znet)++ | README.md: Update README to mention new tech |
|||
timotimo | Zoffix: youmightnotneedjquery.com/ :P | 11:39 | |
leont | Tokuhirom++ # I've been wanting a getopt for quite some time | 11:40 | |
Zoffix | timotimo, ¯\_(ツ)_/¯ | ||
11:40
Ven joined
|
|||
timotimo | i'm kind of not fond of seeing jquery being used for omg everything | 11:41 | |
Zoffix | Bootstrap uses it. So it's the main reason it's included. | ||
lizmat | m: use nqp; my $p = Pair.new("a",42); dd $p; say nqp::getattr($p,Pair,q/$!value/) | 11:42 | |
camelia | rakudo-moar 125db1: OUTPUT«Pair $p = :a(42)P6opaque: no such attribute '$!value' in block <unit> at /tmp/Qd3ZvDYxCt:1» | ||
lizmat | huh? am I going crazy? | ||
Zoffix | It also has a very nice API. So *shrug* why not use it for everything :P | ||
FROGGS | m: use nqp; my $p = Pair.new("a",42); dd $p; say nqp::getattr(nqp::decont($p),Pair,q/$!value/) | 11:43 | |
camelia | rakudo-moar 125db1: OUTPUT«Pair $p = :a(42)42» | ||
timotimo | www.doxdesk.com/img/updates/2009111...-large.gif | ||
FROGGS | lizmat: ^^ | ||
lizmat | ah, eh, duh! | 11:44 | |
:-) | |||
FROGGS | :o) | ||
11:45
kid51 left
11:50
myu joined
|
|||
lizmat | London Perl Workshop is looking for Perl 6 related presentations: act.yapc.eu/lpw2015/ | 11:51 | |
any takers ? | |||
11:52
woolfy joined,
Ven left
|
|||
domidumont | Hi. I'm trying to package rakudo 2015.09 for Debian. Unfortunately, rakudo delivers libperl6_ops_moar.so in /usr/share/perl6 . That's forbidden by Debian polucy (and FHS). | 11:52 | |
ely-se | Ven vendethiel likes giving presentations about Perl 6 | ||
domidumont | I've tinkered Makefile-*.in to deliver this lib in /usr/lib, but rakudo is not happy: Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so' | ||
See anonscm.debian.org/cgit/pkg-rakudo...ation-path | |||
Can anyone give a hint on how to solve that ? | 11:53 | ||
dalek | p: 1c21422 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js: [js] Fix passing named parameters to multis. |
||
p: bde8f6c | (Pawel Murias)++ | t/nqp/51-multi.t: Test passing named and positional parameters to multis. |
|||
p: 5e820a7 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js: [js] Fix loading modules with :: in the name. |
|||
woolfy | I think Liz already mentioned act.yapc.eu/lpw2015/ but this year the theme of the London Perl Workshop is "Perl6/Christmas". | ||
timotimo | i remember FROGGS worked a fair bit with packagers | ||
DrForr | woolfy: Not two minutes ago :) | ||
woolfy | So it would be very nice if some of you would like to submit Perl 6 talks to the London Perl Workshop: act.yapc.eu/lpw2015/newtalk (yes, you have to register first to be able to submit a talk). | 11:54 | |
By the way, the Perl 6 Community is already a sponsor of the London Perl Workshop. Camelia will be visible on the LPW pages soon. | 11:55 | ||
FROGGS | domidumont: I'll look into it this evening | ||
domidumont | FROGGS: ok. Thanks :-) | 11:56 | |
11:56
mr_ron left,
Xor_ left
|
|||
leont | woolfy: was planning to go, have some ideas for a talk | 11:56 | |
timotimo | going to london intimidates me a bit | 11:57 | |
dalek | kudo/nom: bd22d7e | lizmat++ | src/core/Pair.pm: Introduce Pair.freeze After running .freeze on a Pair, you can no longer change its value |
11:59 | |
lizmat | ^^^ felt cleaner rather than re-introducing Enum's for this purpose | 12:00 | |
timotimo | fair point | ||
it makes it a tiny bit harder to figure out if something coming in is rw or ro | 12:01 | ||
lizmat | well, you have that anyway: | ||
m: my $p = Pair.new("a",42); $p.value = 666 | |||
camelia | rakudo-moar 125db1: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/rXvej3Lw0x:1» | ||
lizmat | m: my $a = 42; my $p = Pair.new("a",$a); $p.value = 666 | ||
camelia | ( no output ) | ||
lizmat | m: my $a = 42; my $p = Pair.new("a",$a); $p.value = 666; dd $p | ||
camelia | rakudo-moar 125db1: OUTPUT«Pair $p = :a(666)» | ||
moritz | uhm, but now Pair isn't immutable anymore :( | 12:02 | |
lizmat | Pair was not immutable for a long time already | ||
many months pre-GLR, afaicr | |||
moritz | what about doing a .frozen instead that returns a Pair which is immutable? | ||
timotimo | welllllll | 12:03 | |
in the case lizmat's building for right now it'd be 100% of cases it'd create a Pair then .frozen it | |||
lizmat | yup... | 12:04 | |
maybe we want that too... | |||
woolfy | leont++ for planning to go and having ideas for a talk -> convert idea into proposal -> register -> submit talk -> plan travel to London -> talk -> have fun | ||
lizmat | and maybe we need it to be an internal method | ||
timotimo | from a "i'm looking at the allocations tab all the time" standpoint: at least not for this use case | ||
12:04
mr_ron joined,
leont left
|
|||
moritz | ok, what about a named argument to Pair.new? | 12:05 | |
woolfy | timotimo: London is big, but not really intimidating. The audience is friendly and responsive. Bit more people than at Swiss Perl Workshop, but still, very friendly, and very much "hallway++" going on. | ||
timotimo | since all you have to do is nqp::decont the thing you want to make it RO, that'd be fine | ||
lizmat | moritz: that wouldn't help, because I need to change the pair during bag initialization | ||
once that is done, *then* I can freeze the Pair | 12:06 | ||
timotimo | oh | ||
lizmat | -> $_ { (%e{$_.WHICH} //= ($_ => my Int $ = 0)).value++ } for @args; | ||
.freeze for %e.values; | |||
timotimo | ah, of course | ||
moritz | so, hashes guarantuee that all the values are containers | 12:08 | |
12:08
rurban left
|
|||
moritz | and then you iterate over them and freeze? | 12:08 | |
no, that doesn't sound right | 12:09 | ||
or I misunderstood | |||
sorry, afk | |||
lizmat | moritz: it's a hash of Pairs | 12:10 | |
_itz | I suspect perl6maven.com may need some "MSCE fixing" (restarting) | 12:12 | |
lizmat | anyway, Pair.freeze seemed like a nice thing to have | ||
_itz | MCSE even | ||
12:14
bjz left,
travis-ci joined
|
|||
travis-ci | NQP build failed. Pawel Murias '[js] Fix loading modules with :: in the name.' | 12:14 | |
travis-ci.org/perl6/nqp/builds/83676702 github.com/perl6/nqp/compare/9a5fc...820a7eab9d | |||
12:14
travis-ci left,
bjz joined
|
|||
pmurias | the travis failures are getting annoying, I must figure out how to upgrade node.js on travis | 12:15 | |
12:15
camelia left
|
|||
DrForr | timotimo: I wouldn't worry about it, the only sticking point is finding the venue, really. | 12:15 | |
timotimo | there's no way to put a dependency on a newer version into the .travis.yml? maybe you can find something in some node package's repository | 12:16 | |
12:16
camelia joined
|
|||
timotimo | DrForr: i've just never been to england and i hear the government is quite orwellian there | 12:17 | |
12:18
ChanServ sets mode: +v camelia,
Freddy_ joined
|
|||
Freddy_ | p6: say 3; | 12:18 | |
camelia | rakudo-moar 125db1: OUTPUT«3» | ||
12:19
Kcop joined
|
|||
woolfy | timotimo: Liz and I have been often to England and never ever had any problem with any government branch, not even when entering England at the Chunnel. | 12:20 | |
timotimo | i don't know what "the chunnel" is ... the tunnel under the channel? | ||
woolfy | channel tunnel -> chunnel | 12:21 | |
timotimo | k | ||
DrForr | I'm not the best person to ask about government issues, but when I did have a problem I was treated fairly and they explained exactly what the problem was. | ||
woolfy | We like to come by car. Easier to bring promo stuff (like camels and stickers and Perl 6 wine). Also easier to bring stuff back, like cd's, books, English cheese. | ||
timotimo | i don't bring promo stuff usually :) | 12:23 | |
woolfy | Some years ago, one German Perl lady lost all her luggage, coat, purse, wallet, passport, hotel info etc at the social pre-event. Bummer. We helped her, e.g. with letting her contact police etc. Two days later, police calls me, are you that helpful person, yes I am, ok tell your friend all her stuff is here. Happy. | ||
timotimo: you bring yourself and a load of Perl 6 knowledge and a nice Perl 6 presentation and for the LPW-organisers that is enough promo stuff. | |||
timotimo | hah | 12:24 | |
i didn't even look when the lpw is going to be | |||
_itz | timotimo: the UK isn't remotely orwellian and you can do pretty much what you want | ||
lizmat | _itz: perl6.org/getting-started/ seems having CSS issues | ||
timotimo | lizmat: why ping itz about that? the newest changes are from Zoffix | ||
_itz | SEP :) | 12:25 | |
lizmat | timotimo: good point :-) | ||
.tell Zoffix perl6.org/getting-started/ seem to have CSS issues | |||
yoleaux | lizmat: I'll pass your message to Zoffix. | ||
12:26
trottrt11 joined
|
|||
FROGGS | lizmat: that already was reported as issue #31 | 12:26 | |
lizmat | ah, ok... :-) | ||
timotimo | that page is missing a bunch of css links | ||
FROGGS | ++timotimo :o) | ||
lizmat | it's just that the new homepages is at #3 in news.ycombinator.com/news | ||
timotimo | perhaps it wasn't put into the regeneration thing properly? | 12:27 | |
DrForr | +1 :) | ||
lizmat | so a quick fix would be nice :-) | ||
cognominal | thx timotimo for your help, I closed the "bug". rt.perl.org/Ticket/Display.html?id...1c2226f77c | 12:28 | |
12:28
salva left
|
|||
cognominal | timotimo++ | 12:28 | |
12:28
domidumont1 joined
|
|||
dalek | ast: e604f6f | lizmat++ | S02-types/ (2 files): Remove some superfluous tests |
12:28 | |
timotimo | yeah, i wonder if we can get at the variable's name somehow | 12:29 | |
dalek | href="https://perl6.org:">perl6.org: f01f7f9 | coke++ | source/compilers/index.html: note that pugs isn't active either |
12:31 | |
12:32
zakharyas1 joined,
domidumont left,
arcore joined,
domidumont joined,
Freddy_ left,
vytas joined
12:33
salva joined,
puffinblue joined,
zakharyas left
12:34
trottrt11 left
|
|||
timotimo was going to install mowyw on his desktop, but it's ... difficult | 12:34 | ||
there's no config::file module in fedora | 12:35 | ||
there's a thousand packages in the config:: namespace, though | |||
_itz | perlbrew + cpanm? | ||
12:35
domidumont left
|
|||
timotimo | sounds like a lot of work :P | 12:35 | |
_itz | its two lines :) | ||
12:35
domidumont1 left
|
|||
timotimo | first i'll have a look if there's actually a Config/File.pm in any of these package | 12:35 | |
_itz | . o O ( and 20 mins of deps installing ) | 12:36 | |
timotimo | it's in perl-AppConfig | ||
[Coke] | jnthn: (blocking) being able to profile 'exit' would be nice. | ||
timotimo | didn't help :| | ||
12:37
domidumont joined
|
|||
alpha- | will perlbrew be able to install perl6 ? | 12:37 | |
_itz | alpha-: try rakudobrew | ||
timotimo | perlbrew will be able to install rakudo | 12:38 | |
alpha- | cool | ||
timotimo | well, i seem to recall someone once said something like that | 12:39 | |
i can't run perlbrew; it complains about Getopt::Long missing, but the package is installed | 12:40 | ||
12:40
Ven joined
|
|||
[Coke] catches up with backscroll... and heads out to get $dayjob coffee. | 12:41 | ||
_itz | remove existing perl from the path? | ||
12:41
Augusto joined
|
|||
timotimo | my existing perl is /usr/bin/perl | 12:41 | |
want me to throw out /usr/bin? :) | |||
_itz | \curl -k -L install.perlbrew.pl | bash | ||
timotimo | that's what i'm doing | ||
12:41
puffinblue left
12:42
Augusto is now known as agst92
|
|||
timotimo | getopt-long is installed in /usr/share/perl5/vendor_perl/Getopt/Long.pm, which isn't a place it's looking | 12:42 | |
_itz | maybe you did bootstrap a parallel perl then? | ||
timotimo | i don't think i did | ||
and the perl -e 'piornt join "\n", @INC' thing does list that | |||
12:42
agst92 left
|
|||
_itz | that shouldn't use perl .. just curl and a shell script ISTR | 12:43 | |
12:43
tokuhirom left
|
|||
timotimo | the shell script downloads a perl script | 12:43 | |
and runs that | |||
you know what? | 12:44 | ||
i'll just dnf install perlbrew | |||
_itz | or hack in -I/usr/share/perl5/vendor_perl/ I guess | 12:46 | |
timotimo | bleh. it builds one .c file at a time, MAKEOPTS isn't respected | 12:48 | |
FROGGS | timotimo: are you working on a fix to doc.perl6.org? | ||
timotimo | not yet | ||
wait, doc.perl6.org? | |||
FROGGS | err | 12:49 | |
s/doc\./ | |||
timotimo | i *wanted* to start working on that | ||
there were some dependencies i had to chase first … | |||
FROGGS | I was talking about the getting started page | ||
12:50
ZoffixWork joined,
espadrine_ is now known as espadrine
12:51
c0mrad3 joined
12:52
camelia left
|
|||
pmurias | camelia keeps quiting when I private msg it | 12:52 | |
12:52
oka_ joined
12:53
camelia joined
|
|||
FROGGS | pmurias: maybe she's offended? | 12:53 | |
12:54
chope joined
|
|||
chope | Hi | 12:54 | |
FROGGS | hi chope | ||
12:54
chope left,
ChanServ sets mode: +v camelia
12:55
c0mrad3 left
|
|||
dalek | href="https://perl6.org:">perl6.org: 1c6585e | coke++ | source/compilers/index.html: fix typo |
12:56 | |
href="https://perl6.org:">perl6.org: c9e07fa | coke++ | source/compilers/index.html: mark perlito as not actively developed Closes #30 |
|||
href="https://perl6.org:">perl6.org: db64b14 | coke++ | source/compilers/index.html: Use "standard" language for niecza. Updates #26. |
|||
12:56
mr_ron left
|
|||
pmurias | nqp: say("Hi") | 12:57 | |
12:57
camelia left
|
|||
pmurias | FROGGS: maybe camelia is a js hater? ;) | 12:57 | |
FROGGS | :o( | 12:58 | |
12:58
camelia joined
|
|||
timotimo | i think nqp: has been b0rked for a while now | 12:59 | |
FROGGS | nqp-m: say("Hi") | ||
camelia | nqp-jvm: OUTPUT«## There is insufficient memory for the Java Runtime Environment to continue.# pthread_getattr_np# An error report file with more information is saved as:# /tmp/jvm-8143/hs_error.log» | 13:00 | |
..nqp-moarvm: OUTPUT«Hi» | |||
..nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 193.exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directoryServer error occurred! Closing Link: ns1.niner.name (Client Quit)Lost connectio…» | |||
13:00
ChanServ sets mode: +v camelia
|
|||
camelia | nqp-moarvm: OUTPUT«Hi» | 13:00 | |
lizmat | Q: if I have the pattern "my Int $ = 42", how can I make the Int a variable ? | ||
timotimo | make the type non-compile-time? | 13:01 | |
m: my \Type = Int; my Type $foo = 13; | |||
camelia | rakudo-moar bd22d7: OUTPUT«===SORRY!===No compile-time value for Type» | ||
timotimo | well, has to be compile-time, then | ||
so only possible with a role? | |||
lizmat | m: my ::("Int") $foo = "foo" | ||
camelia | rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ("Int") but got Str in block <unit> at /tmp/EkUu9xlVVf:1» | ||
lizmat | m: my ::("Int") $foo = 42 | 13:02 | |
camelia | rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ("Int") but got Int in block <unit> at /tmp/CeFRdlieNN:1» | ||
[Coke] | m: my $a="Int"; my ::($a) $foo = 42; | ||
camelia | rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ($a) but got Int in block <unit> at /tmp/n092czdlgT:1» | ||
timotimo | wow, ouch | ||
lizmat | m: my Int $i my ::($i) $foo = 42 | ||
camelia | rakudo-moar bd22d7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YF2MrmBKWyTwo terms in a rowat /tmp/YF2MrmBKWy:1------> 3my Int $i7⏏5 my ::($i) $foo = 42 expecting any of: infix infix stopper statement end stateme…» | ||
dalek | href="https://perl6.org:">perl6.org: 4cf8a73 | FROGGS++ | source/getting-started/index.html: add css classes "lead well" to getting-started page |
||
timotimo | m: sub test(::T $foo) { my T $bar = $foo }; test(10); | ||
camelia | ( no output ) | ||
lizmat | m: my Int $i; my ::($i) $foo = 42 | ||
camelia | rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ($i) but got Int in block <unit> at /tmp/l3R9tJgzFN:1» | ||
timotimo | FROGGS: is that the fix? | 13:03 | |
FROGGS | timotimo: no idea | ||
lizmat | timotimo: but if I want the T to be a parameter to the sub ? | ||
timotimo | m: sub test(\T, $foo) { my T $bar = $foo }; test(Int, 10); | ||
camelia | rakudo-moar bd22d7: OUTPUT«===SORRY!===No compile-time value for T» | ||
timotimo | m: sub test(::T $, $foo) { my T $bar = $foo }; test(Int, 10); | ||
camelia | ( no output ) | ||
timotimo | like that ^ | ||
_itz | that "getting started" page looks fine on a fresh build on one of my systems | ||
FROGGS | hmmm | 13:04 | |
_itz | I suspect its a deployment problem | 13:05 | |
timotimo | it seemed like it didn't include the bootstrap css at all | ||
FROGGS | perl6.org/getting-started/ \o/ | ||
ZoffixWork | timotimo, FROGGS lol, I was working on that :D | 13:06 | |
FROGGS | :P | ||
ZoffixWork was a bit confused why the push failed | |||
13:06
mr_ron joined
|
|||
timotimo | shift-ctrl-r | 13:06 | |
FROGGS | ZoffixWork: now the bus number is a little bit higher :o) | ||
ZoffixWork | Bus number? | ||
timotimo | how many buses can be flung at the right devs without killing the project | 13:07 | |
dalek | href="https://perl6.org:">perl6.org: 506c1a0 | (Zoffix Znet)++ | source/getting-started/in (2 files): Update styles (Closes #31) |
||
lizmat | _itz ZoffixWork : a reload of the getting stated page now looks ok | ||
13:08
Ven left
|
|||
ZoffixWork | Yeah. It's actually a bug in mowyw methinks. It doesn't update pages that use includes, even if those includes got changed :) | 13:08 | |
13:08
arcore left
|
|||
timotimo | that's suboptimal | 13:08 | |
dalek | href="https://perl6.org:">perl6.org: 1e862ba | FROGGS++ | source/getting-started/involved.html: add css classes "lead well" to getting-involved page |
||
13:09
Kcop left
|
|||
FROGGS | ahh, the three-way-merge made my commit just adding a ;o) | 13:09 | |
ZoffixWork | :D | ||
timotimo | hrhrhr | ||
13:12
[ptc] joined,
ely-se left,
laouji_ left
13:13
burnersk joined
|
|||
_itz | shouldn't the butterfly flap its wings? or is the <BLINK> of the C21st? | 13:13 | |
timotimo | oh | ||
ZoffixWork | No! :) | ||
timotimo | _itz: i have perlbrew completed now; i just go to cpanmin.us and follow the instructions? | ||
ZoffixWork | timotimo, perlbrew install-cpanm | ||
timotimo | you don't use blink tags nowadays, you fire off ajax requests at an interval to a webservice that generates javascript that hides and shows the DOM node in question | 13:14 | |
ZoffixWork | timotimo++ | ||
_itz | yes and then "cpanm ." inside a github checkout of mowyw (unless it is on CPAN and my quick look failed to find it) | ||
timotimo | bleh! cpanm gets installed to something that's not in my path | 13:15 | |
ZoffixWork | timotimo, did you perlbrew switch to the perl you compiled? | ||
timotimo | no | ||
nine | timotimo: you forgot to mention that the webservice is provided by some uber cool .io company | ||
ZoffixWork | timotimo, perlbrew install perl-5.22.0 | 13:16 | |
nine | timotimo: at least for all of 3 weeks to come that is | ||
ZoffixWork | timotimo, errr.. I mean, that is if you've not installed it yet. And after install, do perlbrew switch perl-5.22.0 | ||
timotimo | ZoffixWork: i perlbrew install perl-stable | ||
and, yeah, i switched now | |||
ZoffixWork | That's good too | ||
Then it should work now :) | |||
timotimo | nine: :3 | ||
_itz | mowyw has an impressive number of warnings (at least on 5.22) :) | 13:17 | |
13:17
yt_ joined
|
|||
timotimo | how long has the latest released version of mowyw been out? | 13:17 | |
13:17
yt_ left
13:18
rurban joined
|
|||
ZoffixWork | timotimo, since June 15, 2011: metacpan.org/pod/App::Mowyw | 13:18 | |
timotimo | hah | ||
moritz: maybe it wants a bit of a touch-up? :) | |||
ZoffixWork | timotimo, actually, you probably should've picked an older perl for it. You'll get a ton of '{{ in regex' warnings right now. | 13:19 | |
timotimo | wellllllll | ||
ZoffixWork | :D | ||
timotimo | it turns out i don't need to work on the site directly any more | ||
ZoffixWork | heh | ||
timotimo | so ... i've just been wasting that time | ||
ZoffixWork | Look on the bright side, at least now you have a shiny Perl 5! :) | ||
13:19
ely-se joined
|
|||
timotimo | ... what do i use this perl 5 thing for? | 13:20 | |
ZoffixWork | Apparently you can use it to hack 100,000 routers to fix security issues :) thehackernews.com/2015/10/hack-wifi-router.html | 13:21 | |
*10,000 | |||
13:21
Kcop joined
13:23
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
timotimo | this cpan process is taking AGES | 13:24 | |
dalek | c: c91af90 | (Steve Mynott)++ | lib/Type/List.pod: GLRify two examples |
||
href="https://perl6.org:">perl6.org: 840c66b | (Zoffix Znet)++ | source/compilers/index.html: Create "Historical Compilers" section (Closes #33) |
13:25 | ||
ZoffixWork | If you're going to do the plackup thing after generating with mowyw, you'll also need to cpanm Plack | 13:26 | |
13:27
Kcop left
13:29
woolfy left
|
|||
timotimo | oh, mowyw finished installing | 13:30 | |
13:30
FROGGS left
|
|||
timotimo | oh f***k | 13:30 | |
now i have a "perl5" folder in my home | |||
i can't just p<tab>r<tab> to get into my rakudo source | |||
ZoffixWork | aww :( | 13:31 | |
13:31
RabidGravy joined
13:32
Kcop joined
|
|||
timotimo | this won't do at all | 13:32 | |
perlpilot | just make an alias so that it's "r<enter>" to get there :) | 13:33 | |
ZoffixWork | You can change PERLBREW_ROOT to something else and redo the whole thing from start :P | 13:34 | |
13:34
perlpilot is now known as PerlJam
|
|||
timotimo | that doesn't help for p<tab>n<tab> for nqp, p<tab>m<tab> for moar and p<tab>e<tab> for the ecosystem | 13:34 | |
right; what's the clean way to get rid of the perlbrew things? | |||
is rm -rf perl5 enough? | |||
ZoffixWork | timotimo, yeah. And also remove "source ~/perl5/perlbrew/etc/bashrc" if you added it | 13:35 | |
In .bashrc | |||
timotimo | right | ||
DrForr | There's also a .perlbrew/ directory. | ||
timotimo | does ~/.perlbrew seem good? | ||
oh, that's not a good value for the perlbrew root then | |||
ZoffixWork | Hm | 13:36 | |
ZoffixWork wonders if you can just 'mv' the ~/perl5 and then update paths in .perlbrew/init | |||
and the source ~/blah | |||
timotimo | too late | 13:37 | |
ZoffixWork | hah | ||
13:37
babygetoboy joined
|
|||
timotimo | ERROR: Failed to download www.cpan.org/src/5.0/perl-5.22.0.tar.bz2 | 13:38 | |
hooray | |||
everything's broken today | |||
i shouldn't do anything today. just get back to bed, sleep until tomorrow arrives | |||
ZoffixWork | Sounds like a plan :P | 13:39 | |
timotimo | plan *; | ||
13:40
TEttinger left
|
|||
ZoffixWork | Does anyone know how to use Text::VimColour? I'm failing miserably. | 13:40 | |
_itz | ZoffixWork: yes | 13:41 | |
13:41
myu left
|
|||
timotimo | ah, of course i have to set PERLBREW_ROOT for every invocation of perlbrew | 13:41 | |
_itz | zoffixwork: basically install vim 7.4 and the test should pass | 13:42 | |
ZoffixWork | _itz, yeah, I'm past that. I don't know how to use the module though. But I think I've figured it out now :) | ||
Aye! | 13:43 | ||
ZoffixWork * Achievement Unlocked * Reading Perl 6 sauce | |||
_itz | for bonus marks install the newer, better (and slower) perl6 syntax files :) | ||
timotimo | hum? i seem to recall someone put a lot of time into profiling and optimizing the syntax files | 13:44 | |
_itz | github.com/vim-perl/vim-perl | 13:45 | |
oh my versions are outdated now .. hopefully delete 'slower' from above | |||
timotimo | :) | 13:46 | |
13:48
nightfrog left
13:52
aborazmeh left
|
|||
jnthn back | 13:52 | ||
lizmat hopes the drag was bearable | |||
13:53
mr_ron left
|
|||
masak | ..."the drag"? :) | 13:53 | |
masak hopes the bear was draggable | 13:54 | ||
13:54
mr_ron joined
|
|||
moritz installs a droppable bear | 13:54 | ||
jnthn | lizmat: Turns out it's really beautiful weather here today, and the task at lawyer office was all done in a minute or two, so boring errand turned into mostly just being a very pretty walk. :) | 13:55 | |
_itz | hmm I wish panda would install a p6doc readable README.md somehow | ||
masak | _itz: sounds like something you could post as an issue to the panda repository, maybe? | ||
13:56
lookyloo joined
|
|||
jnthn | [Coke]: yowser, --profile on something that does exit is quite the mess :) | 13:57 | |
_itz | OK I'll do that and maybe experiment in a branch | ||
13:57
adhoc left
|
|||
timotimo | jnthn: yeah, it is :\ | 13:57 | |
13:58
nightfrog joined,
adhoc joined
|
|||
[Coke] | jnthn: yah. the one thing I was able to find was that if you make moar's end profile function unconditionally throw, then code without an exit gets a SORRY, while code WITH an exit gets a weird non SORRY exception. | 13:59 | |
jnthn | Well, right now I don't know how we ever actually end up spitting out a profile at all when exit is used :) | 14:00 | |
14:00
FROGGS joined
|
|||
[Coke] | well, the end profile function does get -called-, anyway. | 14:00 | |
(otherwise I wouldn't see that weird exception). but beyond that, I unno. :) | 14:01 | ||
jnthn | my @END := nqp::gethllsym('perl6', '@END_PHASERS'); | ||
@END.push: -> { self.dump_profile_data($prof_end_sub(), $filename) } if nqp::defined(@END); | |||
omg, that isn't how you architecture...that must break profiling NQP code. | |||
hm, somehow not | 14:03 | ||
oh, I missed the if defined | |||
But yeah, that's fragile | |||
14:04
ely-se left
|
|||
timotimo | i seem to recall i put that line in %) | 14:05 | |
masak | nope | ||
FROGGS++ did | |||
jnthn | :) | ||
timotimo | hum. i did *something* to try to make profiling with exit not blow up :| | ||
jnthn | I mean, it works but...making NQP aware of Rakudo internals is a layer violation. | 14:06 | |
masak | the thing that feels wrong about it for me is that pushing it to @END_PHASERS means you're doing something that is not possible with END phasers inside of Perl 6 code | ||
oh, true | |||
it's basically getting a dependency going the wrong way, yeah | |||
jnthn | aye | ||
timotimo | isn't this in rakudo's compiler, though? | ||
FROGGS | timotimo: I remember that we discussed the patch | ||
jnthn | timotimo: No, it's in NQP | 14:07 | |
Anyway, it's not directly to blame for the problem at hand. It's just not an ideal factoring. | |||
14:07
babygetoboy left
|
|||
timotimo | okay, i had *some* involvement :) | 14:07 | |
FROGGS | aye :o) | ||
masak | aye, timotimo++ is karma'd in the commit comment :) | ||
14:08
vexingfish joined,
vexingfish left
|
|||
masak .oO( "timotimo++ for busting up the architectural layers" ) :P | 14:08 | ||
anyway, so what *would* be a good solution to this one? | 14:09 | ||
we want to run some code at the very-very end, even after all the END phasers? | |||
jnthn | Add some method on the compiler object that should be called to do exit stuff | 14:10 | |
masak | yeah | ||
jnthn | And have Rakudo call it at the appropriate points | ||
14:11
spider-mario left
|
|||
masak | why is the patch doing the self.dump_profile_data in two different ways? is the END phaser way better somehow? | 14:11 | |
14:11
FROGGS_ joined
|
|||
masak | could we get the same benefit by adding the method on the compiler object? | 14:11 | |
14:13
skids joined
|
|||
jnthn | Wow, just found in src/profiler/log.c | 14:13 | |
/* Ensure we've a current frame; panic if not. */ | |||
/* XXX in future, don't panic, try to cope. This is for debugging | |||
* profiler issues. */ | |||
14:14
lookyloo left
|
|||
jnthn | To my knowledge we've never actually hit that VM panic since the profiler was written. :) | 14:14 | |
masak | when would that actually happen? I'm not sure I understand. what's a "current frame"? | ||
14:15
FROGGS left
|
|||
jnthn | masak: It would only happen if the profiler's idea of the call stack and the VM's idea of the call stack got confused. | 14:15 | |
masak: That we've (afaik) never had that happen means the thing's pretty robust to interesting control flow (continuations, exceptions) | 14:16 | ||
jnthn decides that since the thing is robust enough, we may as well just leave the panic there | 14:17 | ||
timotimo suddenly envisions a trait for exceptions that'd let you specify what exit code rakudo should use in case the exception makes it to the "top level" | 14:21 | ||
moritz | trait? attribute or method, more likely | 14:23 | |
pmurias | jnthn: I made a pull request to fix a bug in popcompsc on MoarVM | ||
jnthn: I have a test file for this bug ready for nqp but I haven't commited it yet so as not to break the build | 14:25 | ||
14:26
spider-mario joined
|
|||
PerlJam | I wonder if they mean Perl 6 when they say "newer versions of other languages such as C# and Perl" because Perl 5 has had closures for a good long while --> users-cs.au.dk/danvy/sfp12/papers/k...-sfp12.pdf | 14:26 | |
jnthn | pmurias: Seems legit | 14:28 | |
[Coke]: There's a patch in Moar now that fixes the exit data | |||
pmurias: Merged, thanks. | 14:29 | ||
14:31
cdg joined
14:32
telex left
|
|||
Skarsnik | hm, how I can cancel the effect of :=? I get a str from DBIsh and I want to have a Str, but writing %hash{somekey} = $valuefromdbish.Str still give me a str for %hash{somekey} (.^name give me str) | 14:32 | |
jnthn | Skarsnik: That you're ever seeing an instance of a str as an object something is very broken somewhere... | 14:33 | |
dalek | p: a3660e3 | jnthn++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION for profiler/popsc fixes. |
14:34 | |
14:34
telex joined
|
|||
timotimo | Skarsnik: are you on the very latest rakudo version now? | 14:34 | |
14:34
FROGGS_ is now known as FROGGS
|
|||
Skarsnik | yes | 14:35 | |
jnthn | timotimo: I've no idea where such a bug could be...it could perhaps happen if we getattr somewhere that should getattr_s | 14:36 | |
14:37
travis-ci joined
|
|||
travis-ci | NQP build failed. jnthn 'Bump MOAR_REVISION for profiler/popsc fixes.' | 14:37 | |
travis-ci.org/perl6/nqp/builds/83703823 github.com/perl6/nqp/compare/5e820...660e38a02c | |||
14:37
travis-ci left
|
|||
Skarsnik | jnthn, Pg.pm get the result from the nativecall with :=, maybe that why it keep the str type? | 14:37 | |
jnthn | Skarsnik: Don't think that'd be it | 14:38 | |
The thing that's on the right of the := is probably already wrong | |||
dalek | href="https://perl6.org:">perl6.org: d77c2fb | (Zoffix Znet)++ | source/ (3 files): Use VIM highlighter for code instead of Pygments. Ulti++ |
||
Skarsnik | github.com/perl6/DBIish/blob/maste...g.pm6#L282 I was thinking it's maybe to save memory? like it keep the C representation instead of a perl6 Str | 14:40 | |
14:41
tokuhirom joined
|
|||
jnthn | Yeah, but we should still be boxing the str... | 14:42 | |
If you store it into an untyped Scalar | |||
dalek | p: f260957 | (Pawel Murias)++ | src/vm/js/ (2 files): [js] Implement nqp::{scgethandle,scgetdesc,scsetdesc} |
||
p: 4994539 | (Pawel Murias)++ | src/vm/js/ (2 files): [js] implement nqp::pushcompsc/nqp::popcompsc The serialization doesn't use that yet. |
|||
p: 443203e | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js: [js] stringify null to null to so that nqp::null_s doesn't cause trouble |
|||
p: dd45df1 | (Pawel Murias)++ | t/serialization/01-basic.t: Add tests for serialization context related ops. |
|||
pmurias | nqp-m: say(1) | ||
camelia | nqp-moarvm: OUTPUT«1» | ||
pmurias | nqp-m: my $array := [NQPMu, "foo", "bar"]; say(nqp::join(",", $array)) | 14:43 | |
camelia | nqp-moarvm: OUTPUT«foo,bar» | ||
pmurias | jnthn: ^^ this seems weird | ||
jnthn | pmurias: You expected an exception instead, I guess? | 14:44 | |
Skarsnik | well anyway, how can I force perl6 to give me a Str? without adding another var | ||
jnthn | Skarsnik: I suspect it's a bug somewhere, maybe in NativeCall | 14:45 | |
Well, almost certainly in NativeCall | |||
14:45
rocha joined,
rocha left,
tokuhirom left
|
|||
grondilu | .seen TimToady | 14:47 | |
yoleaux | I saw TimToady 4 Oct 2015 05:56Z in #perl6: <TimToady> coulda sworn that was implemented, but maybe it was pugs or niecza | ||
pmurias | jnthn: I wouldn't get suprised by an exception | ||
jnthn: NQPMu being silently ignore just seems weird | |||
grondilu | .tell TimToady I'm curious to read your thoughts about &[o] being associative. It bugs me a bit that we can't define something like [o] &f xx * | 14:48 | |
yoleaux | grondilu: I'll pass your message to TimToady. | ||
jnthn | pmurias: Yeah, not sure why it does that. | 14:49 | |
FROGGS | github.com/abraxxa/DBIish/blob/mas...Pg.pm6#L87 | ||
jnthn | pmurias: Wonder what JVM does... | ||
FROGGS | can't we just uppercase that? | ||
jnthn | FROGGS: We could but somebody else will just hit the same issue :) | ||
pmurias | nqp-jvm: my $array := [NQPMu, "foo", "bar"]; say(nqp::join(",", $array)) | ||
camelia | nqp-jvm: OUTPUT«(signal ABRT)» | ||
jnthn | FROGGS: I'd rather work out why it's bust | ||
FROGGS | jnthn: what is busted? somebody requested a str return type and got one, no? | 14:50 | |
pmurias | jnthn: I'll look into the join thing when I'll run out of interesting tasks | ||
jnthn | FROGGS: But str is a native type | ||
pmurias: Yeah, for me it's in the category of "we don't hit that case from Perl 6's join method so I don't much care" :) | |||
pmurias: But I don't mind somebody caring and tidying it up too :) | |||
FROGGS | m: sub foo returns str { "hello" }; my $foo := foo(); say $foo.WHAT | 14:51 | |
camelia | rakudo-moar bd22d7: OUTPUT«(Str)» | ||
jnthn | FROGGS: You should only be able to have one in a natively typed scalar, etc. | ||
FROGGS | m: sub foo returns str { "hello" }; my $foo := foo(); say nqp::objprimspec($foo) | ||
camelia | rakudo-moar bd22d7: OUTPUT«0» | ||
FROGGS | m: sub foo returns str { "hello" }; my $foo := foo(); say nqp::objprimspec(nqp::decont($foo)) | ||
camelia | rakudo-moar bd22d7: OUTPUT«0» | ||
jnthn | Right, we correctly box it there | ||
We're failing to box it somewhere in nativecall, at a guess | 14:52 | ||
14:52
ibo2perl6 joined
|
|||
FROGGS | m: sub foo returns str { "hello" }; my $foo := foo(); say nqp::istype(nqp::decont($foo), str) | 14:52 | |
camelia | rakudo-moar bd22d7: OUTPUT«0» | ||
[Coke] | jnthn: need a nqp bump in rakudo to get the nqp that bumps moar, yes? | ||
(for profile/exit fix) ? | |||
14:53
Kcop left
|
|||
jnthn | .tell nine In 398f255659, the .^add_method and .^add_multi_method calls to Bool really must be in a BEGIN block, otherwise we'll most likely cause pre-comp bugs. | 14:53 | |
yoleaux | jnthn: I'll pass your message to nine. | ||
dalek | kudo/nom: 28b470a | lizmat++ | src/core/ (6 files): Pretty extensive Bag/Mix(Hash) refactor - should be faster - immutable Bag/Mix are now really immutable - now uses a custom BUILD with "local" features - generalized new/new-from-pairs by adding PAIR and SANITY methods - which resulted in fewer lines of code (for a change) |
||
jnthn | .tell nine Do we really have to key/value methods added in BOOTSTRAP? | ||
yoleaux | jnthn: I'll pass your message to nine. | ||
ZoffixWork | I just love all the haters on news.ycombinator.com/item?id=10331008 | ||
Skarsnik | interesting, when I do .Num I get a 'Num', but .Str still give me 'str' on this | ||
ZoffixWork | Makes me feel we're doing something right :) | ||
ibo2perl6 | my $bh = «a a a b c».BagHash;for $bh.kv -> ($k, $v) { say "$k => $v".perl } # this used used to work for me | 14:55 | |
m: my $bh = «a a a b c».BagHash;for $bh.kv -> ($k, $v) { say "$k => $v".perl } | |||
camelia | rakudo-moar bd22d7: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature in block <unit> at /tmp/7o0vrNGPuW:1» | ||
jnthn | .tell nine I'm not really happy about enums suddenly being augmentable - especially through "agument class"... I'd be more inclined to just toss the spectests that want to be able to do that. | ||
yoleaux | jnthn: I'll pass your message to nine. | ||
14:55
ely-se joined
|
|||
ibo2perl6 | m: my $bh = «a a a b c».BagHash;for flat $bh.kv -> $k, $v { say "$k => $v".perl } # as a variant of this | 14:55 | |
camelia | rakudo-moar bd22d7: OUTPUT«"a => 3""c => 1""b => 1"» | ||
jnthn | .tell nine The enums support seems kinda marginal too...and allowing an alternative REPR is...odd but I guess I can live with that. But it'd have to be one that supports attributes. | 14:57 | |
yoleaux | jnthn: I'll pass your message to nine. | ||
jnthn | .tell nine Uh, in last .tell I meant mixins support. :) | ||
yoleaux | jnthn: I'll pass your message to nine. | ||
15:00
Kcop joined
|
|||
jnthn | [Coke]: I already did the bumps in NQP and Rakudo. | 15:01 | |
oh, wait, the push failed | |||
[Coke] | was going to say, I only saw a push for nqp. | ||
jnthn++ | |||
dalek | kudo/nom: 0cca607 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for various fixes. Among them, --profile of a program that uses exit() now works out. |
||
jnthn | Yeah, I actually got a fail, and did pull --rebase && push, and somebody actually managed to sneak in another commit between the two commands :P | 15:02 | |
[Coke] | yay. now we can try to more aggresively profile perl6doc. | ||
Skarsnik | *grumble* even writing my Str $s = @array[$i]; %hash{@names[$i]} = $s; I still get a str in my %hash | ||
jnthn | Skarsnik: As I already said, there's some fairly deep bug somewhere that's exposing a str in a place it never should be. Nothing else has much clue what to do in such a situation, 'cus it should never arise. | ||
Skarsnik: If you want a workaround, tweak the return type in the PG native call to Str | 15:03 | ||
Skarsnik | but why can I call .Int or .Num and get... the right type? | 15:04 | |
jnthn | Probably because things manage to work out sort-of well enough for them to work. | 15:06 | |
str ~~ Str, so doing .Str is going to be a no-op | |||
Sticking an nqp::unbox_s before the := may work, but may just result in things being even more confused. :) | 15:07 | ||
uh, *after* the := | |||
15:07
diana_olhovik left
15:09
dbasak joined
|
|||
[Coke] | OS X stresstest failures; gist.github.com/coke/bfed3f4e4e24e7b522ca | 15:09 | |
15:09
dbasak left
|
|||
lizmat | [Coke]: bag/mix failures should be fixed after the commit I sneaked in | 15:10 | |
Skarsnik | I found a... aweful workaround my Str $s = @values[$i]; %hash{@names[$i]} = "$s ".chop; | 15:11 | |
[Coke] wonders if any other devs have two completely different rakudo checkouts, one for doing the occasionally system install, and the other for doing actual dev work. | |||
15:11
Jaglor joined
|
|||
lizmat | [Coke]: I have 2 installs, one for moar and one for jvm | 15:11 | |
[Coke] | right, sorry, -3- checkouts, those original two are moar only. :) | 15:12 | |
masak | Skarsnik: what in the world are you trying to do? :) | 15:13 | |
Skarsnik: convert a value to a Str? | |||
m: my Int $n = 42; my Str $s = ~$n; say $s | 15:14 | ||
camelia | rakudo-moar bd22d7: OUTPUT«42» | ||
masak | m: my Int $n = 42; my Str $s = $n.Str; say $s | ||
camelia | rakudo-moar bd22d7: OUTPUT«42» | ||
masak | Skarsnik: those are the two easiest ways I can think of. | ||
dalek | atures: fb13309 | (Zoffix Znet)++ | template.html: Fix styles (Closes github.com/perl6/perl6.org/issues/34) |
||
Skarsnik | Oh yeah, should I tried ~ | ||
masak | ^_^ | 15:15 | |
jnthn | masak: There's a NativeCall bug that leaks a str somewhere that we should get a Str, which is basically a type system violation, meaning you end up with really weird stuff going on. | ||
masak | oh. | ||
[Coke] wonders if it's worth consolidating these N different web apps that are all being served out from www.perl6.org | |||
Skarsnik | ~ does not work | ||
masak | Skarsnik: yeah, jnthn explained that you're in a weirdness vortex. sorry for assuming you were just oblivious ;) | 15:16 | |
jnthn | masak: And apparently my suggestion to work around it for now by tweaking the str in the native call decl to Str is apparently less interesing than doing other crazy things :P | ||
masak | hehe | ||
15:16
ayelsboro joined
|
|||
Skarsnik | err, should affecting an array attribute with a scalar value should fail? | 15:16 | |
masak | well, you know. crazy in, crazy out. | 15:17 | |
jnthn suspects it's golfable :) | |||
Skarsnik | jnthn, I don't want to touch the Pg module x) (but I filled an issue about this) | ||
ZoffixWork | [Coke], I'd say a definite yes. Right now the /features/ and /faq/ have duplicate footers/headers from Perl6.org to make those pages blend in with Perl6.org properly. | ||
15:18
fieroguy joined
|
|||
Skarsnik | or why my code did not fail when affecting a non existent attribute, hm | 15:19 | |
grondilu | m: sub f(@a, @b, :$n = 10) { ([o] (@a[$++] + @b[$++]/*) xx $n)(1000) }; say f((1, |(2 xx *)), 1 xx *); | ||
camelia | rakudo-moar bd22d7: OUTPUT«2.41421393» | ||
[Coke] | well, obviously +1 from me on a patch to merge faq & features in. | ||
15:19
ayelsboro left
15:20
Ven joined
|
|||
Skarsnik | m: class M { has $.a; has $.b;}; my M $m = M.new(a => "a", b => "b", c => "c"); say $m.perl; | 15:21 | |
camelia | rakudo-moar bd22d7: OUTPUT«M.new(a => "a", b => "b")» | 15:22 | |
[Coke] | jnthn, moritz: yay, I can now slap an "exit" in htmlify's MAIN and get some useful info about what's slow up to that point. :) | ||
jnthn | [Coke]: \o/ | ||
[Coke] | biggest exclusive time? infix:<>=> | ||
Skarsnik | should this fail? since I affect a non existing attribute | 15:23 | |
[Coke] | jnthn: don't know if you saw, but made minor updates to profile.html so it's now using angular-latest. | ||
15:23
nachos joined
|
|||
[Coke] | m: my $r = 1..10; say ($r*2).gist | 15:24 | |
camelia | rakudo-moar 0cca60: OUTPUT«2..20» | ||
[Coke] | ... huh. | ||
jnthn | [Coke]: Yes, I did :) | ||
15:24
nachos left
|
|||
jnthn | Skarsnik: No, methods ignore unknown named arguments | 15:25 | |
15:25
larion left
|
|||
jnthn | (By design) | 15:25 | |
15:25
ely-se left
|
|||
jnthn | Here's some thoughts on trying to clean up coercion/invocation stuff. gist.github.com/anonymous/8efdab238ead35b1d4fa | 15:28 | |
TimToady: ^^ could do with your input when you have chance :) | |||
Thoughts from others welcome too :) | |||
15:29
khw joined
|
|||
jnthn | Darn it, I wan't logged in when I posted it, so can't edit it :/ | 15:30 | |
masak | jnthn: just fork it? | ||
jnthn | Yeah, I don't care that much ab...oh! :) | 15:31 | |
grondilu wonders if a subset-defined type matches <typename> | |||
masak | maybe here's a good time to mention that I think "CALL-ME" is a frivolous name for no good reason, and I'd much rather it'd be named "CALL". :/ | ||
jnthn | grondilu: Yes, though there's not (yet :)) a way to specify how such a type coerces. | 15:32 | |
masak | the nicest thing I can say about "CALL-ME" is that it gives the method name the same meter/cadence as "AT-POS" and "AT-KEY" | 15:33 | |
jnthn got into looking at this stuff as part of addressing RT #114026, which is on the xmas list... :) | |||
grondilu sill looks at the continued fractions code on RC and would like to write it like this: sub CF { map *.(Inf), [o] (@^a[$++] + @^b[$++] / *) xx *) } | 15:34 | ||
(because he thinks it would be cooler) | |||
masak | jnthn: +1 on killing off the useless shortcuts. sounds like the conservative thing to do. | ||
jnthn | masak: Yeah, that's my leaning also | 15:35 | |
dalek | ast: 9f44fc0 | lizmat++ | S02-types/ (2 files): Fix some exception types that I forgot |
15:36 | |
masak | jnthn: "since in the grammar this is spread over term:sym and term:sym" -- eaten <> contents? | ||
15:36
ibo2perl6 left
|
|||
masak | jnthn: (remember that Markdown allows inline HTML, and so anything inside <> is taken as literal HTML tags) | 15:36 | |
15:37
zakharyas1 left
|
|||
masak | you either want to \< \>, or `` the whole word | 15:37 | |
jnthn | masak: yeah, that's what I forgot, but decided it didn't matter so much to issue a new URL :) | 15:38 | |
masak views source | 15:39 | ||
nine | computer? | 15:40 | |
yoleaux | 14:53Z <jnthn> nine: In 398f255659, the .^add_method and .^add_multi_method calls to Bool really must be in a BEGIN block, otherwise we'll most likely cause pre-comp bugs. | ||
14:54Z <jnthn> nine: Do we really have to key/value methods added in BOOTSTRAP? | |||
14:55Z <jnthn> nine: I'm not really happy about enums suddenly being augmentable - especially through "agument class"... I'd be more inclined to just toss the spectests that want to be able to do that. | |||
14:57Z <jnthn> nine: The enums support seems kinda marginal too...and allowing an alternative REPR is...odd but I guess I can live with that. But it'd have to be one that supports attributes. | |||
14:57Z <jnthn> nine: Uh, in last .tell I meant mixins support. :) | |||
_itz | I think "Digest" is broken | 15:41 | |
Skarsnik | hm, how I delete a key from a hash? | 15:42 | |
pink_mist | :delete | ||
15:43
domidumont left
|
|||
nine | jnthn: I'd be just as happy to not support mixing into True/False. I dont want to dismiss use cases but the thought alone scares me ;) | 15:43 | |
grondilu | m: my %h; say %h<foo>++; say %h<foo> :delete | ||
camelia | rakudo-moar 0cca60: OUTPUT«01» | ||
grondilu | m: my %h; say %h<foo>++; %h<foo> :delete; say %h<foo> | ||
camelia | rakudo-moar 0cca60: OUTPUT«0(Any)» | ||
[Coke] | t/spec/S17-supply/syntax.t hanging. | 15:44 | |
15:44
molecules joined,
Ven left
|
|||
[Coke] | lizmat: reran stress test after rebuilding rakudo: got: gist.github.com/coke/bfed3f4e4e24e7b522ca still | 15:44 | |
15:45
molecules is now known as Guest56815
|
|||
jnthn | nine: Yeah, well I guess with "but" (which copies) it's less bad, but...still not sure I see the use case. | 15:45 | |
[Coke] | (no change) | ||
Guest56815 | p6: spurt('ABCD.txt', "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; } | ||
camelia | rakudo-moar 0cca60: OUTPUT«spurt is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:1 in sub spurt at src/RESTRICTED.setting:17 in block <unit> at /tmp/tmpfile:1» | ||
Guest56815 | rakudo: spurt('ABCD.txt', "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; } | 15:46 | |
camelia | rakudo-moar 0cca60: OUTPUT«spurt is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:1 in sub spurt at src/RESTRICTED.setting:17 in block <unit> at /tmp/tmpfile:1» | ||
lizmat | [Coke]: I guess you missed 9f44fc0622ebc17e296 in roast :-( | ||
I had forgotten to push :-( | |||
[Coke] | one more time! ;) | ||
Skarsnik | is there a way to affect how .perl display stuff? like putting new line after each attribute value? | 15:47 | |
lizmat | cycling& | ||
pmurias | jnthn: takeclosure has been turned into a noop? | 15:48 | |
15:48
ZoffixWork left
|
|||
masak | m: my %h = <foo 1 bar 2 baz 3>; %h<foo> :delete; say %h # Skarsnik: like this | 15:49 | |
camelia | rakudo-moar 0cca60: OUTPUT«bar => 2, baz => 3» | ||
jnthn | pmurias: Yeah, as part of switching to the declarative model for those things taht the Moar code-gen does | ||
15:49
larion joined
|
|||
pmurias | in the moarvm op there is a mention that "explicit takeclosure will go away under the noop' | 15:49 | |
jnthn | pmurias: Not quite sure we can toss it entirely yet though 'cus I think the JVM backend depends on it | ||
Guest56815 | rakudo: spurt('/tmp/ABCD.txt', "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; } | 15:50 | |
camelia | rakudo-moar 0cca60: OUTPUT«spurt is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:1 in sub spurt at src/RESTRICTED.setting:17 in block <unit> at /tmp/tmpfile:1» | ||
Guest56815 | p6: spurt('/tmp/ABCD.txt', "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; } | 15:51 | |
camelia | rakudo-moar 0cca60: OUTPUT«spurt is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:1 in sub spurt at src/RESTRICTED.setting:17 in block <unit> at /tmp/tmpfile:1» | ||
masak | Guest56815: spurt is disallowed in restricted setting. | ||
pmurias | jnthn: is there a description for the new model as I'm not sure how to implement that in js | ||
masak | Guest56815: are you of malicious intent, or a bot, or both? in that case, we may have to relocate you off-channel. | 15:52 | |
pmurias | jnthn: nqp-js currently just makes a new closure on takeclosure but it's causing some bugs | ||
Guest56815 | Okay. When running that code, I get "A, then B C, then D Too few positionals passed; expected 2 arguments but got 0 in block <unit> at ./super_simple.p6:5" | ||
15:52
xfix joined
|
|||
masak | Guest56815: interesting. sounds like a bug. if there are 0 arguments then the loop should be over. | 15:53 | |
masak tries to reproduce locally | |||
nine | jnthn: ok, so I'll rework it to be less intrusive and remove the dubious spec tests | ||
jnthn: thanks for having a look :) | |||
masak | yep, reproduced. | ||
masak submits rakudobug | |||
Guest56815++ | 15:54 | ||
Guest56815 | Thanks! | ||
jnthn | nine++ | ||
grondilu | m: say ([o] (1 + 1/*), (2 + 1/*))(1000) | ||
camelia | rakudo-moar 0cca60: OUTPUT«1.499750» | ||
grondilu | m: say ([o] (++$ + 1/*) xx 2)(1000) | ||
camelia | rakudo-moar 0cca60: OUTPUT«2.999001» | ||
grondilu | ^that's weird | ||
Guest56815 | exit | ||
masak | golfed: | ||
15:54
Guest56815 left
|
|||
masak | m: for "A\nB\nC\nD".lines() -> $x, $y { say "$x, then $y" } | 15:55 | |
camelia | rakudo-moar 0cca60: OUTPUT«A, then BC, then DToo few positionals passed; expected 2 arguments but got 0 in block <unit> at /tmp/8eai7wKpIq:1» | ||
masak | no need for &spurt :) | ||
grondilu | m: say ([o] (2 + 1/*), (1 + 1/*))(1000) | ||
camelia | rakudo-moar 0cca60: OUTPUT«2.999001» | ||
jnthn | m: for |(1, 2), |(3, 4), |() -> $x, $y { say "$x, then $y" } | ||
camelia | rakudo-moar 0cca60: OUTPUT«1, then 23, then 4» | ||
jnthn | Hm, not that... :) | 15:56 | |
masak | m: for "A\nB\nC\nD".lines() -> $x { say $x } | ||
camelia | rakudo-moar 0cca60: OUTPUT«ABCD» | ||
masak | m: for [1,2,3,4] -> $x, $y { say "$x, then $y" } | ||
camelia | rakudo-moar 0cca60: OUTPUT«1, then 23, then 4» | ||
masak | ok, so something fishy with lines() | 15:57 | |
15:57
lizmat left
|
|||
jnthn | m: my \i = "A\nB\nC\nD".lines.iterator; my @x; (say i.push-exactly(@x, 2)) xx 3 | 15:57 | |
camelia | rakudo-moar 0cca60: OUTPUT«220» | ||
jnthn | m: my \i = <A B C D>.iterator; my @x; (say i.push-exactly(@x, 2)) xx 3 | ||
camelia | rakudo-moar 0cca60: OUTPUT«22» | ||
jnthn | That's the discrepancy. The push-many in the lines iterator is returning 0 when it should return IterationEnd | 15:58 | |
masak | *nod* | ||
masak adds that to the ticket | |||
15:58
lizmat joined
|
|||
pmurias | jnthn: a bug in how closures are implemented in nqp-j: paste.debian.org/314506 | 16:03 | |
jnthn | pmurias: I get a DNS error on that... | 16:04 | |
pmurias checks the url | |||
jnthn | pmurias: But yeah, the reason we do it differently in Moar is 'cus of lessons learned from how it was done in nqp-j :) | ||
pmurias | jnthn: paste.debian.net/314506 | 16:05 | |
pmurias should learn to always paste urls instead of retyping :/ | 16:06 | ||
16:07
jem_ joined
|
|||
pmurias | jnthn: the bug shows up in the takeclosure using backends: nqp-js/nqp-j | 16:07 | |
16:07
jem_ is now known as Guest50035,
hitch joined
|
|||
hitch | Is there a Perl compile that uses the JVM | 16:07 | |
16:08
Calibellus joined
|
|||
pmurias | rakudo has a jvm backend | 16:08 | |
rakudo-jvm: say "hello from the jvm" | 16:09 | ||
camelia | rakudo-jvm 0cca60: OUTPUT«hello from the jvm» | ||
ilmari | j: say $*VM | 16:10 | |
camelia | rakudo-jvm 0cca60: OUTPUT«jvm (1.7)» | ||
16:10
laouji left
16:12
hitch left,
dha joined
|
|||
masak | pmurias: pasting URLs, besides being less error-prone, is also less work! win-win! :P | 16:13 | |
grondilu | m: say ([o] (2 + 1/*), (1 + 1/*))(Inf) == ([o] (++$ + 1/*) xx 2)(Inf) | 16:14 | |
camelia | rakudo-moar 0cca60: OUTPUT«True» | ||
grondilu | m: say ([o] (1 + 1/*), (2 + 1/*))(Inf) == ([o] (++$ + 1/*) xx 2)(Inf) | ||
camelia | rakudo-moar 0cca60: OUTPUT«False» | ||
dha | So. usage statements so far have been of the form "lc.(EXPR)" and the like. no assignment (e.g. "$x = lc.(EXPR)". Any one have a problem with introducing assignments for C<new> methods, but leaving the others as is? | 16:15 | |
pmurias | masak: I had to find and attach the mouse to paste it :/ | ||
dha | slightly less consistent, but, I think, clearer. | ||
16:16
^elyse^ joined
|
|||
dha | Note: Warnocking will lead to me doing it and assuming we can fix it later if needed. :-) | 16:16 | |
grondilu submitted a ticket because he really would like this &[o] thing to work | |||
$ perl6 -e 'say ([o] (2 + 1/*), (1 + 1/*))(Inf);' | 16:17 | ||
[Coke] | dha: I have no preference. | ||
dha | *nod* | ||
grondilu | #126269 | ||
masak | pmurias: Ctrl+L Ctrl+A Ctrl+C Alt-Tab Ctrl+V, what are you talking about? | 16:18 | |
[Coke] | lizmat: yup, bag failures gone. still have multiple OS X stresstest fails. | ||
16:20
larion left
|
|||
pmurias | masak: my xterm seems to ignore such things | 16:20 | |
[Coke] | gist.github.com/coke/bfed3f4e4e24e7b522ca now has verbose output from the failing tests. | ||
16:20
laouji joined
|
|||
dha | Junctions interpret the innocent as a list. Should the usage statement be (e.g.) LIST.any or EXPR.any? | 16:22 | |
masak | pmurias: I wish I could help with that. | 16:23 | |
dha | Gah! several entries in Any.pod don't even have signatures. | 16:24 | |
[Coke] | dha: context on the junctions/innocent line? | 16:25 | |
16:25
laouji left
|
|||
jnthn | haha, I think it should be invocant, not innocent :D | 16:25 | |
dha | sorry. Invocant. stupid autocorrect. | ||
I'm currently looking at lib/Types/Any.pod | 16:26 | ||
16:26
pmurias_ joined
|
|||
dha | so, for instance, the doc for C<any> says "Interprets the invocant as a list and creates an C<any>-L<Junction|/type/Junction> from it." | 16:27 | |
jnthn thinks he may have figured out the startup perf regression | |||
Found it by accident while looking at another bug :) | |||
16:28
^elyse^ left
|
|||
nine | what is it? what is it? | 16:28 | |
dha | Should I make the usage statement "LIST.any" or "EXPR.any"? Given that the doc implies that, although interpreted as a list, the invocant may not actually *be* a list. | ||
16:29
pmurias left,
pmurias_ left
|
|||
dalek | p: 082efa3 | coke++ | src/vm/moar/profiler/template.html: Use latest bootstrap for moar profile HTML. |
16:31 | |
masak | dha: I'd go with LIST.any | 16:32 | |
dha | Oh good. Now I don't have to search and replace. :-) | 16:33 | |
masak++ | |||
masak | dha: on the grounds that even if it isn't a list, it gets coerced to one as part of the .any call | ||
at least conceptually | |||
dha | Yeah, that's what I was thinking, but wanted a second, more informed opinion. :-) | 16:34 | |
jnthn | nine: Thinko when checking we didn't need to add infix:<o> to the grammar 'cus it's already there (we added it by accident, meaning we had to load an entire dervied set of NFAs) | ||
16:35
travis-ci joined
|
|||
travis-ci | NQP build failed. Will "Coke" Coleda 'Use latest bootstrap for moar profile HTML.' | 16:35 | |
travis-ci.org/perl6/nqp/builds/83725608 github.com/perl6/nqp/compare/dd45d...2efa3b8f00 | |||
16:35
travis-ci left
|
|||
[Coke] | ... can we disable whatever is making nqp fail travis? | 16:35 | |
dha | But if someone who knows what they're doing wants to put signatures into the docs for Any for the several methods that are lacking them, that would be a good thing. | 16:36 | |
[Coke] | if we get used to travis failing, that's bad. | ||
16:36
pdcawley left
|
|||
timotimo | "since in the grammar this is spread over term:sym and term:sym." - hooray for markdown :) | 16:37 | |
16:37
Loren_ joined
|
|||
masak | I like Markdown, but ya gotta know how to use it ;) | 16:38 | |
16:38
pdcawley joined
|
|||
masak | (it's `term:sym<identifier>` and `term:sym<name>`, by the way) | 16:38 | |
ab5tract_ | o/ #perl6 | 16:39 | |
masak | \o | ||
ab5tract_ | how are you today masak? | ||
16:39
gregf__ joined,
gregf__ left
16:40
pdcawley left
|
|||
ab5tract_ | glad to see you here, as I actually dropped by for a 'design smell' discussion and I always enjoy reading your opinions | 16:40 | |
masak | ab5tract_: fine, thank you; tell me more :) | 16:41 | |
ab5tract_ | got into a discussion about custom operators at $work | ||
masak | ooh | ||
ab5tract_ | apparently some people find the custom unicode operator example to be distasteful | ||
masak | which example? | 16:42 | |
16:42
tokuhirom joined
|
|||
ab5tract_ | perl6.org/#samp-ops | 16:42 | |
timotimo | that link doesn't do it right :( | 16:43 | |
masak | huh. | ||
timotimo | also, why should we recursively implement factorial? | ||
masak | yeah, that | ||
timotimo | and not just [*] 2..$n | ||
ab5tract_ | yeah | ||
that's a good point | |||
masak | I don't find it distasteful... but it's a bit of a meh example, since postfix:<!> is what people would expect there | 16:44 | |
ab5tract_ | I think factorial is a good TMTOWDI kind of example | ||
masak | surely there is some other Unicode symbol which would better motivate reaching for Unicode? :) | ||
ab5tract_ | masak: well the discussion distended into a few different gutters | ||
masak | I can imagine | ||
16:44
pdcawley joined
|
|||
ab5tract_ | including "custom assoc/prec" ??? | 16:44 | |
masak | .u ❢ | ||
yoleaux | U+2762 HEAVY EXCLAMATION MARK ORNAMENT [So] (❢) | ||
masak | ab5tract_: could you be more specific? | ||
ab5tract_: Perl 6 allows it, for sure. | 16:45 | ||
ab5tract_ | being able to define operators with custom associativity / precedence as a design smell | ||
jnthn | m: use Test; { my $x = 42; ok MY::.values.grep({ ($_ // 0) == 42 }) } | ||
camelia | rakudo-moar 0cca60: OUTPUT«not ok 1 - # Failed test at /tmp/oIDieAsjnk line 1» | ||
masak | ab5tract_: I don't follow. what's being able to define things in a more custom way's got to do with design smells? | 16:46 | |
ab5tract_ | and unicode / non-english operators being a non-issue | ||
(the two main gutters) | |||
masak | ab5tract_: were the "non-issue" people from a language which uses mostly ASCII characters? :) | ||
s/from/speakers of/ | 16:47 | ||
ab5tract_ | yes :) | ||
16:47
tokuhirom left
|
|||
masak | wait, that's not even relevant either | 16:47 | |
these people are the "old man shouts at cloud kind of people" | |||
who go "Unicode! in my program! maargh! get off my lawn!" | 16:48 | ||
timotimo | why don't we have an example up there that shows NFG? :) | ||
jnthn | In a dynamic language, the *real* smell is overloading two different semantics on the same symbol. | ||
masak | +1 | ||
grondilu | ❢ looks ugly indeed | ||
jnthn | That's why being able to add new operators for new semantics is important, not just a show-offy thing. | ||
ab5tract_ | jnthn: that's I think where the fear came from | ||
a few different modules define various forms of UNICODE_CHARACTER_FOR_UNICODE_ALPHABET | 16:49 | ||
or, EPSILON | |||
with slightly different semantics | 16:50 | ||
maintenance was raised as a potential pitfall | |||
timotimo | at least in p6 you know at compile time what's going to be where & who | 16:51 | |
due to our very sane lexical scoping | |||
and lexical imports | |||
Loren_ | I think it has some error in the site :perl6.org/#samp-fib | ||
ab5tract_ | timotimo: indeed. that would reduce maintenance | 16:52 | |
dha | Am I the only person who finds it odd that Blob.pm contains a C<pack> routine that doesn't seem to involve a Blob? | ||
ab5tract_ | while we are on the topic of this example | ||
masak | m: sub infix:<±>($l, $r) { $l-$r .. $l+$r }; say 42 ~~ 50 ± 10 | ||
camelia | rakudo-moar 0cca60: OUTPUT«True» | ||
masak | ^^ is a better and more useful example of a Unicode operator, methinks | ||
ab5tract_ | I think it's a great idea to have a unicode example on the front page | ||
timotimo | oh, yeah, the anchor is called "fib", but it doesn't implement fibonacci | ||
dha | s/Blob.pm/Blob.pod/ | 16:53 | |
Loren_ | I mean i can't switch to tab 'Lazy Infinite Lists', under IE or firfox | 16:54 | |
firfox -> firefox | |||
masak | m: sub infix:<±>($l, $r) { $l-$r .. $l+$r }; sub infix:<≈>($l, $r, :$epsilon = 0.1) { $l ~~ $r ± $epsilon }; say 2.25 ≈ 2.3; say 2.25 ≈ 2.3 :epsilon(1e-2) | ||
camelia | rakudo-moar 0cca60: OUTPUT«TrueFalse» | ||
timotimo | huh? weird. do the devtools allow you to golf it? | ||
masak | how 'bout 'em apples. | ||
please put that example on the web page instead :D | |||
ab5tract_: the "maintenance" argument is bogus once you equate operators and subroutines. | 16:56 | ||
ab5tract_: unless they also abhor subroutines for the same reasons. | |||
ab5tract_ | but maybe a dice roller with unicode dice might be more introductory. that could even include just a unicode sub, maybe with ❓ | ||
masak: Thanks for that man. I had the exact same feeling. | 16:57 | ||
16:57
pmurias joined,
zakharyas joined
|
|||
pmurias | jnthn: I'll move nqp-js to the closure model nqp-js is using | 16:57 | |
s/nqp-js/nqp-moar/:2nd | |||
jnthn | pmurias: Sounds good. :) | 16:58 | |
masak | I like my example above with ± and ≈, because it uses Unicode math symbols according to their original meaning, in a way that makes the code shorter and clearer, and which could even possibly be useful in some real-world code. | ||
it also showcases a not-contrived use of an operator adverb | 16:59 | ||
16:59
pdcawley left,
AlexDaniel joined
|
|||
ab5tract_ | masak: yeah, I think that would make a much better "custom operator" example for the front page, tbh | 16:59 | |
masak | who do I contact to change this | 17:00 | |
ab5tract_ | I'm going to code the dice roller example anyway though :) | ||
it's a PR on perl6.org.git AFAIK | |||
jnthn | masak: You probably have commit to perl6.org already :) | ||
nine | timotimo: I'd argue that the sane lexical scoping helps the compiler more than the user. If ❢ means one thing in file A and another in file B, it doesn't help the casual reader all that much that the compiler knows exactly what it means. | ||
ab5tract_ | nine: indeed. it resolves code maintenance fairly well. but overloading can be just as hard, or harder, on the human part | 17:01 | |
masak | jnthn: yeah, I'm in the repo but I can't find what I'm looking for... | ||
doesn't look like it's github.com/perl6/perl6.org/tree/ma...e/snippets | 17:02 | ||
jnthn | masak: Grep for the funky Unicode symbol in the example there now? :D | ||
17:02
^elyse^ joined
|
|||
DrForr | Maybe use the old 90-degree angle syntax for factorial instead of what looks like a top-heavy colon? :) | 17:02 | |
ab5tract_ | masak: source/index.html | ||
17:03
dakkar left
|
|||
ab5tract_ | kind of hardcoded in there for now, it seems. | 17:03 | |
DrForr wonders if Unicode actually has that symbol... | |||
dha | I'm confused. the doc for C<ACCEPTS> in Code.pod says "Usually calls the code object and passes C<$topic> as an argument. However, when called on a code object that takes no arguments, the code object is invoked with no arguments and C<$topic> is dropped. The result of the call is returned." | ||
masak | ab5tract_: that looks generated to me. | ||
17:04
duncan_dmg left
|
|||
dha | Apparently, you have to give C<ACCEPTS> a C<$topic> even if the code takes no arguments and the topic is discarded. Why? | 17:04 | |
jnthn | dha: ACCEPTS is the method you implement to participate in smartmatching | ||
ab5tract_ | masak: my bad | ||
jnthn | dha: $foo ~~ $bar is approx $bar.ACCEPTS($foo) | ||
dha | I note that Code.pod says nothing about this. | 17:05 | |
jnthn | dha: Pretty much all calls to ACCEPTS are generated from the ~~ syntax | ||
[Coke] | RT: 1043; glr: 4; lta:88 weird: 12; testneeded: 10: xmas: 99 | ||
FROGGS | good evenang #perl6 | ||
17:05
laouji joined
|
|||
colomon | o/ | 17:05 | |
dha | So... putting a usage statement in for Code.ACCEPTS does not seem to be functional. :-/ | 17:06 | |
Loren_ | o/ | ||
ilmari | class Foo { method ACCEPTS($t) { $t > 42 }; }; say 43 ~~ Foo.new | ||
m: class Foo { method ACCEPTS($t) { $t > 42 }; }; say 43 ~~ Foo.new | |||
camelia | rakudo-moar 0cca60: OUTPUT«True» | ||
jnthn | [Coke]: Yeah, I pushed xmas a ticket further away today. But I'm going to clsoe one real soon :) | ||
*close | |||
ilmari | m: class Foo { method ACCEPTS() { False }; }; say Any ~~ Foo.new | ||
camelia | rakudo-moar 0cca60: OUTPUT«Too many positionals passed; expected 1 argument but got 2 in method ACCEPTS at /tmp/4nCV5JIVk_:1 in block <unit> at /tmp/4nCV5JIVk_:1» | ||
ilmari | dha: I believe the "a code object that takes no arguments" refers to the latter, and is outdated | 17:07 | |
FROGGS | timotimo: was there any consensus on changing the "custom unicode operators" example? | ||
17:07
pmurias left
|
|||
dha | I note that you can do C<sub a {say "beep"};a.ACCEPTS("topic");> but it will spit at you if you omit topic. But it spits at you *after* calling the sub. | 17:07 | |
timotimo | FROGGS: i'm not the gatekeeper for perl6.org ;) | 17:08 | |
ilmari | m: sub a($t) { $t > 42 }; 42 ~~ a | ||
camelia | rakudo-moar 0cca60: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gCmqEYF5QVCalling a() will never work with declared signature ($t)at /tmp/gCmqEYF5QV:1------> 3sub a($t) { $t > 42 }; 42 ~~ 7⏏5a» | ||
timotimo | i'll also be AFK for a bit | ||
dalek | kudo/nom: 2997e4d | jnthn++ | src/Perl6/Grammar.nqp: Fix thinko in add_variable. Mis-constructed the operator name, leading to us wrongly generating ops. |
||
kudo/nom: 24babbb | jnthn++ | src/ (2 files): Make dispatchers behave like Perl 6 objects. Also speed up their construction along the way. This was the only thing exposed in the CORE:: pseudo-package that wouldn't nicely gist. |
|||
ilmari | m: sub a($t) { $t > 42 }; say 42 ~~ &a | ||
camelia | rakudo-moar 0cca60: OUTPUT«False» | ||
ilmari | m: sub a($t) { $t > 42 }; say 44 ~~ &a | ||
jdv79 | dha: was there any interesting take aways from the last PM meeting? | ||
camelia | rakudo-moar 0cca60: OUTPUT«True» | ||
FROGGS | timotimo: if nobody feels like doing something I'd change it to a much simpler example | ||
ilmari | m: sub a($t) { True }; say 44 ~~ &a | ||
camelia | rakudo-moar 0cca60: OUTPUT«True» | ||
ilmari | m: sub a() { True }; say 44 ~~ &a | ||
camelia | rakudo-moar 0cca60: OUTPUT«True» | ||
ilmari | m: sub a { True }; say 44 ~~ &a | ||
camelia | rakudo-moar 0cca60: OUTPUT«True» | ||
dha | m: sub a {say "beep"};a.ACCEPTS("topic"); | ||
camelia | rakudo-moar 0cca60: OUTPUT«beep» | ||
dha | m: sub a {say "beep"};a.ACCEPTS; | ||
camelia | rakudo-moar 0cca60: OUTPUT«beepCannot call ACCEPTS(Bool: ); none of these signatures match: (Mu:U $: \topic, *%_) (Mu:U $: Mu:U \topic, *%_) (Any:D $: Mu:D \a, *%_) (Any:D $: Mu:U \a, *%_) (Any:U $: \topic, *%_) (Bool:D $: Mu \topic, *%_) i…» | ||
dha | Beeps all around. | ||
ilmari | m: sub a() { True }; say a.ACCEPTS | ||
camelia | rakudo-moar 0cca60: OUTPUT«Cannot call ACCEPTS(Bool: ); none of these signatures match: (Mu:U $: \topic, *%_) (Mu:U $: Mu:U \topic, *%_) (Any:D $: Mu:D \a, *%_) (Any:D $: Mu:U \a, *%_) (Any:U $: \topic, *%_) (Bool:D $: Mu \topic, *%_) in block…» | ||
ilmari | m: sub a --> True { }; say 44 ~~ &a | 17:10 | |
camelia | rakudo-moar 0cca60: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1bs2kxNhL5Missing blockat /tmp/1bs2kxNhL5:1------> 3sub a7⏏5 --> True { }; say 44 ~~ &a expecting any of: new name to be defined» | ||
17:10
laouji left
|
|||
ab5tract_ | jnthn: what's the syntax for precedence / associativity modification? I assume it is exposed differently than what is used in src/core/precedence.pm? | 17:10 | |
dha | jdv79 - the social? Not really. We had a good time. :-) | ||
timotimo | ab5tract_: yeah, we have "is tighter" "is looser" and "is equiv" | ||
at least for precedence | |||
for associativity ... dunno? | |||
17:10
Jaglor left
|
|||
El_Che | converted some random sync scripts from my ~/bin to a small unified mirror.p6 script. Impressed how far perl6 has evolved and how relatively fast it is for small command line scripts | 17:11 | |
kudos | |||
jnthn | ab5tract_: is tigheter/is equiv/is loser for prec | ||
jdv79 | oh | 17:12 | |
jnthn | ab5tract_: And is assoc for associativity | ||
ab5tract_ | "watch who ya calling a loser, buddy" | ||
El_Che | next: try to convert a inhoud Digicert rest api inhouse perl5 lib + programs to see how far I get. | ||
ab5tract_ | ;) | ||
dha | jdv79 - I may be talking Jim into doing some p6 documentation, though. we'll see. :-) | ||
jnthn | oh my...*looser* :D | ||
dha | Ok, I'm ignoring Code.ACCEPTS until this becomes clearer. | 17:13 | |
Loren_ | multi sub infix:<foo> is tighter(&infix:<+>) | ||
is assoc('left') | |||
dalek | p: 72b284c | jnthn++ | tools/build/MOAR_REVISION: Bump for context iterator fixes. |
17:14 | |
ab5tract_ | Loren_: thanks for the clarification! | ||
masak: any luck finding where those examples live? :( | 17:16 | ||
Loren_ | ab5tract_, Em | ||
dalek | c/usage_statements: 47e2521 | (David H. Adler)++ | lib/Type/Int.pod: Removed $tries from signature and docs of is-prime to bring docs in line |
17:17 | |
doc/usage_statements: 462ad11 | (David H. Adler)++ | lib/Type/ (3 files): | |||
17:17
dalek left
17:18
travis-ci joined,
dalek joined
|
|||
travis-ci | NQP build failed. jnthn 'Bump for context iterator fixes.' | 17:18 | |
travis-ci.org/perl6/nqp/builds/83733145 github.com/perl6/nqp/compare/082ef...b284cc0a31 | |||
17:18
travis-ci left,
ChanServ sets mode: +v dalek
|
|||
[Coke] | lizmat: Pair.freeze need tests? | 17:19 | |
17:19
sunnavy left
17:20
sunnavy joined
17:21
laouji joined
|
|||
dalek | kudo/nom: e2ff161 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for context iterator fixes. Means that things like MY::.values now provides all the values in the current lexical scope; before it just gave a (Mu) for each of them. |
17:22 | |
17:23
ZoffixWork joined
|
|||
ZoffixWork | masak, I generated them with Text::VimColour. I wasn't aware of the /snippets/ | 17:23 | |
17:23
espadrine left
|
|||
ZoffixWork looks closer into that | 17:23 | ||
dalek | href="https://perl6.org:">perl6.org: da2ced2 | FROGGS++ | source/index.html: change custome ops example to a simpler one While the unicode example with the precedence traits shows some powerness, it might frighten newcomers that this kind of complexity would be needed to add a custom operator. |
17:24 | |
ast: 41a40f4 | jnthn++ | S02-names/pseudo.t: Tests to cover RT #123154. |
17:25 | ||
[Coke] | might want to remove/update the STD.pm link to the "official Perl 6 grammar". | 17:26 | |
plus, I imagine that's not a thing we need to have in the footer regardless. | |||
17:26
laouji left
|
|||
dalek | href="https://perl6.org:">perl6.org: 12ca1d8 | FROGGS++ | source/index.html: okay, we need to set precedence in example |
17:28 | |
17:31
dha left
|
|||
masak | ZoffixWork: if you could just replace the Unicode ❢ example with irclog.perlgeek.de/perl6/2015-10-05#i_11321129 , that would be an immense improvement | 17:32 | |
kthx | |||
17:32
larion joined
|
|||
ZoffixWork | masak, I think that's what FROGGS++ just done in the commit above :) | 17:32 | |
Or maybe not. | 17:33 | ||
ab5tract_ | m: sub ¿ { say "I know there is a trick to this, but most of the unicode examples I have seen are operator-oriented, highlighting the utility of the example I am currently crafting" } | 17:34 | |
camelia | rakudo-moar 0cca60: OUTPUT«5===SORRY!5=== Error while compiling /tmp/c3CE4Kw0hVMissing blockat /tmp/c3CE4Kw0hV:1------> 3sub7⏏5 ¿ { say "I know there is a trick to thi expecting any of: new name to be defined» | ||
17:36
Hor|zon left
|
|||
ZoffixWork | masak, not being fluent in math, I'm pretty confused about what's going on in your example. What do you think of FROGGS's simpler factorial example? | 17:36 | |
(it's now live on perl6.org) | |||
17:36
laouji joined
|
|||
dalek | href="https://perl6.org:">perl6.org: 4d5630c | (Zoffix Znet)++ | source/ (3 files): Fix styles on /archive/ stuff |
17:37 | |
Loren_ | I think we should | ||
learn from haskell home page | |||
FROGGS | Loren_: in what way? | 17:38 | |
Loren_ | www.haskell.org/ just see the Try it | ||
FROGGS | Loren_: well, I do not feel invited to try something when I don't know a bit of the language | 17:39 | |
pink_mist | indeed | ||
FROGGS | and if I'd new haskell I probably don't need that evaluator | 17:40 | |
ZoffixWork | Loren_, I'm not impressed. I'd like to first find out more about the language. Typing "5+7" into a textbox and getting "12" isn't very exciting. | ||
Loren_ | I think so friendly to beginners ... | ||
17:40
fling left,
laouji left
|
|||
ZoffixWork | I do think some sort of "Try it live" on the site would be very nice. For people to try something out without bogging down with installing stuff (as mentioned last night: irclog.perlgeek.de/perl6/2015-10-05#i_11317151 ) | 17:40 | |
pink_mist | although ... will perl6 eventually be able to run on a webpage? :P | 17:41 | |
FROGGS | yes, would be nice to run/edit the examples... | ||
17:41
fling joined
|
|||
FROGGS | pink_mist: sure, fsdo 'on a webpage' :o) | 17:41 | |
pink_mist | as in, under a javascript vm | ||
FROGGS | we'll see | ||
dalek | q: 6bf1fb6 | (Ingo Blechschmidt)++ | answers.md: Fix a few tiny typos |
17:42 | |
q: a0bc48a | FROGGS++ | answers.md: Merge pull request #3 from iblech/patch-1 Fix a few tiny typos |
|||
17:43
lichtkind joined
|
|||
ZoffixWork | Oh, I like haskell.org's sections under that "Try it" stuff. Section tells about a feature; you click on it and get some code examples. Very nice. | 17:43 | |
Loren_ | haha .. | 17:44 | |
FROGGS | yes, that makes more sense | ||
17:46
st_iron joined
|
|||
st_iron | hi | 17:46 | |
FROGGS | hi st_iron | ||
grondilu | while trying to debug #126269, I manage to golf a weird bug: | 17:47 | |
Loren_ | I think examples are necessary, but i prefer some interaction to the language before i download it. | ||
grondilu | m: my @a = (++$ + 1/*) xx *; my $f = @a.iterator.pull-one; say $f.(1) for ^10; | ||
camelia | rakudo-moar 0cca60: OUTPUT«234567891011» | ||
grondilu | I was execting only ones. | 17:48 | |
compare this with: | |||
ZoffixWork | Loren_, yeah, that's a good point. | ||
grondilu | m: my @a = 1 + 1/*, 2 + 1/*, 3 + 1/*; my $f = @a.iterator.pull-one; say $f.(1) for ^3; | 17:49 | |
camelia | rakudo-moar 0cca60: OUTPUT«222» | ||
grondilu | hang on, let me do this again. | ||
timotimo | grondilu: why? the state becomes a part of the WhateverCode, i expect | 17:50 | |
grondilu | I doubt it | ||
17:51
espadrine joined
|
|||
ZoffixWork | .tell moritz is there a way to nuke /online/ for perl6.org and restart mowyw from scratch? It's not re-generating files that were not touched during update, but since the header/footer %includes were changed, some pages are not properly refreshed: perl6.org/archive/ | 17:51 | |
yoleaux | ZoffixWork: I'll pass your message to moritz. | ||
grondilu | m: my @f = ($++ / *) xx 4; say { .(1) }, @f | ||
camelia | rakudo-moar 0cca60: OUTPUT«-> ;; $_? is raw { #`(Block|61622048) ... }[WhateverCode.new WhateverCode.new WhateverCode.new WhateverCode.new]» | ||
17:51
domidumont joined,
laouji joined
|
|||
grondilu | m: my @f = ($++ / *) xx 4; say map { .(1) }, @f | 17:51 | |
camelia | rakudo-moar 0cca60: OUTPUT«(0 1 2 3)» | ||
grondilu | m: my @f = ($++ / *) xx 2; say map { .(1) }, @f | 17:52 | |
camelia | rakudo-moar 0cca60: OUTPUT«(0 1)» | ||
moritz | ZoffixWork: I'm triggering a full rebuild now | 17:53 | |
yoleaux | 17:51Z <ZoffixWork> moritz: is there a way to nuke /online/ for perl6.org and restart mowyw from scratch? It's not re-generating files that were not touched during update, but since the header/footer %includes were changed, some pages are not properly refreshed: perl6.org/archive/ | ||
grondilu | m: my @f = ($++ / *) xx 2; my $f = @f.iterator.pull-one; say $f.(1) for ^2 | ||
camelia | rakudo-moar 0cca60: OUTPUT«01» | ||
ZoffixWork | \o/ | ||
grondilu | there is only on $f since we pulled the iterator only once | ||
m: my @f = ($++ / *) xx 2; my $f = @f.iterator.pull-one; say $f.(1) for ^10 | 17:55 | ||
camelia | rakudo-moar e2ff16: OUTPUT«0123456789» | ||
grondilu | it's even more ridiculous with ten iteration since @f is supposed to have only two elements. | ||
jnthn is part way into working on RT #121530 | |||
Dinner time & | |||
17:56
laouji left
|
|||
grondilu | or even this: | 17:56 | |
m: my @f = $++ / *; my $f = @f.iterator.pull-one; say $f.(1) for ^10 | |||
camelia | rakudo-moar e2ff16: OUTPUT«0123456789» | ||
grondilu | m: my $f = (my @ = $++ / *).iterator.pull-one; say $f.(1) for ^10 | 17:57 | |
camelia | rakudo-moar e2ff16: OUTPUT«0123456789» | ||
PerlJam | m: my @f = $++ / *; my $f = @f[0]; say $f.(1) for ^10; | ||
camelia | rakudo-moar e2ff16: OUTPUT«0123456789» | ||
grondilu | that can't be right | ||
can it? | |||
moritz | why not? | 17:58 | |
PerlJam | I'm going with ZoffixWork I think ... the anon state var becomes closued over by the WhateverCode | ||
grondilu | oh wait | ||
I see | 17:59 | ||
PerlJam | oh wait, it was timotimo who suggested that. | ||
ZoffixWork | :) | ||
17:59
mattp__ left
|
|||
grondilu | the state variable is part of the function indeed | 17:59 | |
PerlJam | in any case, the original code has too many red herrings to think about what's going on :) | 18:00 | |
18:00
espadrine left
|
|||
moritz | ZoffixWork: I've patched the update script to run a full update if includes/ was changed | 18:00 | |
ZoffixWork | moritz++ | 18:01 | |
grondilu | the thing is, I wanted to create a list of functions 1+1/*, 2+1/*, 3+1/* etc. But I did not want the n in n+1/* to keep increasing at each call. | 18:02 | |
see what I mean? | |||
moritz | ZoffixWork: if it doesn't seem to work, please complain :-) | ||
ZoffixWork | ;) | ||
grondilu | should an anonymous state be closed by priming? | 18:03 | |
moritz | why not? | 18:04 | |
grondilu | why? | ||
moritz | because it's consistent | ||
grondilu | I mean, how then can I create a list of functions with a parameter? | ||
I guess I could use map | |||
18:04
[Sno] left
|
|||
FROGGS | domidumont: installing the debian packages for moarvm and nqp now, to hopefully see what is going wrong with rakudo... | 18:05 | |
moritz | whatever stars are meant to make a common case simpler, not to be turing complete | ||
timotimo | i suggested what? oh no! what did i do! what did i doooooooo~ | ||
grondilu | m: my @f = map { $_ / * }, ^10; say @f[0].(1) for ^10 | ||
camelia | rakudo-moar e2ff16: OUTPUT«0000000000» | ||
Skarsnik | hm, what would be the best way to handle pg array string? writing a small grammar? (it look like that {Romance,"Alternate Universe","Slice of Life"}) but I have no idea what happend when there is like a " in the content | 18:06 | |
18:06
laouji joined
|
|||
timotimo | put a " in there and find out :) | 18:06 | |
dalek | href="https://perl6.org:">perl6.org: 0746d12 | moritz++ | update.sh: Bring update script under version control |
||
timotimo | m: my @funcs = 1..*.map({ &infix:</>.assuming($_) }); say @funcs[4](1); say @funcs[4](1); | 18:07 | |
camelia | rakudo-moar e2ff16: OUTPUT«Cannot find method 'Any' in block <unit> at /tmp/SNEXlpGahp:1» | ||
timotimo | m: my @funcs = (1..*).map({ &infix:</>.assuming($_) }); say @funcs[4](1); say @funcs[4](1); | ||
camelia | rakudo-moar e2ff16: OUTPUT«55» | ||
lizmat | [Coke]: re Pair.freeze, yes I can do that (provided we all feel Pair.freeze is a good idea?) | ||
timotimo | grondilu: how do you feel about that? ^ | ||
grondilu | yeah using a map will do | 18:08 | |
m: my @a = (++$ + 1/*) xx 2; my $f = @a.iterator.pull-one; say $f.(1); say $f.(1) | |||
camelia | rakudo-moar e2ff16: OUTPUT«23» | ||
grondilu | oops | 18:09 | |
[Coke] | lizmat: oh, i have no idea if it's a good idea. ;) | ||
grondilu | wrong paste | ||
[Coke] | er, :) | ||
grondilu | m: my @a = (++$ + 1/*) xx 2; my $f = @a.iterator.pull-one; say $f.(1); say $f.(1) | ||
camelia | rakudo-moar e2ff16: OUTPUT«23» | ||
grondilu | ahh | ||
sorry wrong paste again | |||
m: my @a = 1, |(2 xx *); say ([o] map {@a[$_] + 1/*}, ^10)(Inf); | 18:10 | ||
camelia | rakudo-moar e2ff16: OUTPUT«1.41421362489487» | ||
grondilu | so that does work | ||
18:10
laouji left
|
|||
Skarsnik | timotimo, tricky actually, phppgadmin offer me the array as a flat string so I need to put a \ before the " and the p6 module does not handle array so it like entering them as string x) | 18:11 | |
18:11
mattp__ joined
|
|||
dalek | ast: 1933600 | lizmat++ | S02-types/pair.t: Add tests for Pair.new(key,value) |
18:12 | |
18:12
Jaglor joined
|
|||
timotimo | hm | 18:16 | |
Skarsnik | Well I think I will get the " as \", still funny how it put a single word without quote | 18:18 | |
dalek | ast: c2b51f0 | lizmat++ | S02-types/pair.t: Test Pair.freeze |
18:20 | |
Iish: 312196a | moritz++ | lib/DBDish/Pg.pm6: Return non-native Str from PQgetvalue Closes #21 |
|||
vendethiel | masak: I guess that falled into the "looks cute now" trap :P | 18:22 | |
fell*. | |||
ab5tract_ | is possible to create a sub with a unicode character name that is not an operator? | 18:23 | |
*is it | |||
I notice that we don't seem to support it for package names either | |||
moritz | ab5tract_: if it's an identifier character, sure | 18:24 | |
m: sub ä() { 'ae' }; say ä | |||
camelia | rakudo-moar e2ff16: OUTPUT«ae» | ||
18:24
Hor|zon joined
|
|||
FROGGS | it has to be a word character, aye | 18:24 | |
moritz | m: module Ä { our sub ö { 'wtf' } }; say Ä::ö() | ||
camelia | rakudo-moar e2ff16: OUTPUT«wtf» | ||
ab5tract_ | m: sub ¿ { ^11.roll } | 18:25 | |
camelia | rakudo-moar e2ff16: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ioRHqVyMt8Missing blockat /tmp/ioRHqVyMt8:1------> 3sub7⏏5 ¿ { ^11.roll } expecting any of: new name to be defined» | ||
ab5tract_ | ^ that was the question mark form I was going to provide for a dice roll example that would also show off package imports | 18:26 | |
moritz | ¿ is a punctuation character, not an identifier | ||
ab5tract_ | moritz: yeah, I got that :) | ||
it makes sense to a degree, and I assume it was chosen this way for good reason | 18:28 | ||
pink_mist | ab5tract_: design.perl6.org/S02.html#Names maybe this will be enlightening to you? in particular the entire first paragraph under that heading | 18:29 | |
ab5tract_ | and it's nice that it extends to ASCII as well | ||
pink_mist: thanks. that clarifies the rules of the game indeed. | 18:31 | ||
18:31
cdg left
|
|||
moritz | and you can always create prefix ops | 18:31 | |
dalek | Iish: 4be9ebe | moritz++ | t/10-mysql.t: Fix mysql tests; closes #20 * fix grep { /.../ } (use grep /.../, ... instead) * GLR fixes * use .roll instead of hand-made map |
18:33 | |
18:34
zakharyas left
|
|||
lizmat | moritz: 0..16 is one more than .roll(16) | 18:35 | |
ab5tract_ | moritz: so what's the context one would define a thing which takes no args? Poking around it's hard to tell where the documentation for infix: / prefix: / etc contextualizers would be found | ||
moritz | ab5tract_: that's a term | ||
18:35
laouji joined
|
|||
moritz | m: say term:<¿>() { (1..6).roll }; say ¿ | 18:36 | |
ab5tract_ | moritz: thank you! | ||
camelia | rakudo-moar e2ff16: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xbjZdfEQ2dUnexpected block in infix position (missing statement control word before the expression?)at /tmp/xbjZdfEQ2d:1------> 3say term:<¿>()7⏏5 { (1..6).roll }; say ¿ expecting any of:…» | ||
moritz | m: sub term:<¿>() { (1..6).roll }; say ¿ | ||
camelia | rakudo-moar e2ff16: OUTPUT«1» | ||
FROGGS | .tell domidumont I... cannot reproduce the problem you reported :o( | ||
yoleaux | FROGGS: I'll pass your message to domidumont. | ||
moritz | m: sub term:<¿>() { (1..6).roll }; say ¿ | ||
camelia | rakudo-moar e2ff16: OUTPUT«4» | ||
ab5tract_ | that clarifies 'term' for me as well | ||
thank you! | |||
FROGGS | .tell domidumont I installed moarvm, nqp, and rakudo/fix-lib-installation-path, but it works here | 18:37 | |
yoleaux | FROGGS: I'll pass your message to domidumont. | ||
18:37
yqt joined,
st_iron left
|
|||
domidumont | FROGGS: Uh ? you mean that the shared lib is installed in /usr/lib when you compile rakudo ? | 18:37 | |
yoleaux | 18:36Z <FROGGS> domidumont: I... cannot reproduce the problem you reported :o( | ||
18:37Z <FROGGS> domidumont: I installed moarvm, nqp, and rakudo/fix-lib-installation-path, but it works here | 18:38 | ||
18:38
yqt left,
yqt joined
|
|||
FROGGS | domidumont: that's my directory layout now: gist.github.com/FROGGS/f235b280bc61ff2ecad0 | 18:39 | |
18:40
laouji left
|
|||
domidumont | FROGGS: I end up with the same directory layout ... | 18:42 | |
FROGGS | domidumont: and when do you get that error message? | ||
ab5tract_ | the more I think about it, the more obvious the choice to reserve punctuation as 'not for names' makes more and more sense :) | ||
domidumont | FROGGS: Just that: perl6 -e 'say "hello";' | ||
FROGGS: I get : nhandled exception: failed to load library 'dynext/libperl6_ops_moar.so' | 18:43 | ||
at <unknown>:1 (/usr/share/perl6/runtime/perl6.moarvm:<dependencies+deserialize>:81) | |||
ab5tract_ | it's pretty much the way we programmers have about always divied it up | ||
or, I should say, them language designers ;) | 18:44 | ||
FROGGS | hmmmm | ||
it does work here... | |||
what am I doing wrong? | |||
(besides using ubuntu) | |||
domidumont is wondering the same thing | |||
FROGGS: Did you modify also the way moarvm is built ? | 18:45 | ||
FROGGS | domidumont: no | ||
domidumont: do I have to? | |||
domidumont | no. I use a moarvm package that I built (and uploaded) before | ||
18:46
Hor|zon left
|
|||
FROGGS | I also used nqp/master, not the feature/moarvm-and-jvm-backends branch | 18:46 | |
[Coke] | is the package recent? | ||
domidumont | 2015-09 | 18:47 | |
FROGGS | [Coke]: 2015.09 | ||
[Coke] | ok. | ||
FROGGS | ohh | 18:48 | |
now I get the error message! | |||
domidumont | ah.. A heisenbug ? | ||
FROGGS | no, I left the pkg-rakudo directory :o) | ||
domidumont | ah ha | ||
El_Che | does rakudo build on cygwin? | 18:49 | |
18:51
laouji joined
|
|||
FROGGS | El_Che: almost I think | 18:51 | |
domidumont: when you do `cat /usr/bin/perl6`, you'll notice and empty --libpath option | 18:53 | ||
domidumont: and it'll work if you put /usr/lib/perl6/runtime in there | 18:54 | ||
domidumont | ok. So I forgot something in the patch that's supposed to fix the installation path | 18:55 | |
18:56
bakedb left
|
|||
FROGGS | yeah... let me check what exatlxy | 18:56 | |
18:56
laouji left
|
|||
FROGGS | exactly* | 18:56 | |
18:56
Hor|zon joined
|
|||
domidumont | How dumb: I forgot to define the AM_DLLPATH variable with the weird @slash@share .. | 18:58 | |
line 12 in makefile-moar.in | |||
El_Che | this (www.jnthn.net/papers/2015-spw-perl6-course.pdf) should be directly in perl6.org/documentation/. Those slides were really useful to get started fast | ||
FROGGS | domidumont: I guess you need to append "$(DESTDIR)$(PERL6_DLL_DIR)/runtime/dynext" to lines 276, 277 and 282 of makefile-moar.in | 19:00 | |
19:00
Alina-malina left
19:02
Alina-malina joined
|
|||
domidumont | FROGGS: ok | 19:04 | |
19:05
bakedb joined
19:06
laouji joined
|
|||
jdv79 | is Centos 5 too old to compile on? | 19:10 | |
masak | try-it-and-see? | ||
jdv79 | i did | ||
cc error | |||
FROGGS | and? | ||
can you put that in a gist? | |||
19:10
laouji left
|
|||
masak | sounds more like a cc error to me than a Centos error. | 19:11 | |
jdv79 | cc1: error: unrecognized command line option "-Werror=declaration-after-statement" | ||
FROGGS | ohh | ||
jdv79 | i compiled on this box a few months ago | ||
masak | might be a new -W option | ||
new in Rakudo's build, I mean | |||
FROGGS | yes, we added these -Werror options just recently | ||
jdv79 | that would be my guess | ||
FROGGS | it is meant to force devs to care about MSVC | 19:12 | |
and actually not break things :/ | |||
19:12
woolfy joined
|
|||
domidumont | FROGGS: close but no cigar: --libpath="/home/domi/debian-dev/perl6-stuff/build-area/rakudo-2015.09/debian/rakudo/usr/lib/perl6/runtime/dynext" :-/ | 19:12 | |
19:13
woolfy left
|
|||
FROGGS | O.O | 19:13 | |
domidumont | Anyway, I'll find a way to fix this. Thanks for your help | ||
FROGGS | domidumont++ | ||
domidumont | but tomorrow :-p | ||
FROGGS | jdv79: we have a build/probe.pm that tries to figure out what works and what not... seems that this -Werror option needs to go in there | 19:14 | |
:o) | |||
jdv79 | ok | ||
neato | |||
FROGGS | jdv79: so, if you don't want to tackle it yourself, please open an issue in the moarvm repo | ||
jdv79 | looks like RHEL 5 is "not EOL'd til 2017 or 2020 | ||
so maybe worth supporting | |||
FROGGS | aye | 19:15 | |
jdv79 | i'll ticket it ^H | ||
FROGGS | jdv79++ | ||
19:17
domidumont left
19:27
atweiden joined
19:32
dha joined
19:35
laouji joined
|
|||
atweiden | in general, can a grammar token of the form { <a> || <b> || <c> } always be translated to proto tokens | 19:36 | |
yoleaux | 4 Oct 2015 06:18Z <FROGGS[mobile]> atweiden: look at method _ws in rakudo/src/Perl6/Grammar.nqp | ||
atweiden | proto token alphabetic {*}; token alphabetic:a { ... }; token alphabetic:b { ... }; token alphabetic:c { ... }; | ||
i ask because i did this and grammar-debugger shows that it's matching against alphabetic:a then alphabetic:b, but then it cuts out and the match fails | 19:37 | ||
vendethiel isn't sure Grammar::Debugger is totes up-to-date | |||
moritz | atweiden: proto tokens to longest-token matching, so <a> | <b> | <c>, not with || | ||
atweiden: and the LTM engine can sometimes determine that a token doesn't match, and doesn't even have to try | 19:38 | ||
dha | Opinions: usage statements for numeric functions should use NUMERIC or NUMBER? | ||
19:39
[Sno] joined
|
|||
dha | i.e. abs(NUMERIC) or abs(NUMBER)? | 19:39 | |
moritz | dha: I kinda like Perl 6's type names | 19:40 | |
abs(Numeric) | |||
they have the distinct advantage that they are very well-defined | |||
19:41
laouji left
|
|||
dha | Yeah, that's what I was thinking. It reads a bit weird, but probably the right choice. | 19:41 | |
atweiden | moritz: is it best practice to use LTM everywhere in grammars? | 19:44 | |
PerlJam | atweiden: that's a weird question. | ||
atweiden | "The basic notion is that LTM is how people tend to parse text in their heads, so the computer ought to try to do the same" | 19:45 | |
19:45
][Sno][ joined
19:46
[Sno] left
|
|||
moritz | atweiden: it's a sensible default. "Everyhwere" is too encompasssing | 19:47 | |
mspo | ][Sno][: hi | ||
moritz | atweiden: there's a useful pattern for error reporting that uses || | ||
atweiden: 'for' <list> [ <block> || <.panic: "Missing block"> ] | 19:48 | ||
][Sno][ | hi mspo | ||
vendethiel | moritz: mmh, I guess "when to use ||" could be an interesting FAQ point | ||
atweiden | Thanks for the clarification. I've rarely used LTM in my regexes. Most of the time I'd rather it short circuit on a non-matching char. Didn't know by converting from || to proto tokens I was converting to LTM. | 19:49 | |
grondilu | m: say (map {$_}, 1 xx *)[10]; | 19:52 | |
camelia | rakudo-moar e2ff16: OUTPUT«1» | ||
grondilu | m: say (map {$_}, 2, |(1 xx *))[10]; | ||
camelia | rakudo-moar e2ff16: OUTPUT«(timeout)» | 19:53 | |
grondilu | ^not sure if this hanging is ok | ||
does slip lose lazyness or something? | |||
m: say (map {$_}, 2, slip (1 xx *))[10]; | |||
camelia | rakudo-moar e2ff16: OUTPUT«1» | ||
grondilu | m: say (map {$_}, 2, slip (1 xx *))[1000]; | ||
camelia | rakudo-moar e2ff16: OUTPUT«1» | ||
grondilu | isn't |@ supposed to be the same as slip @ ? | 19:54 | |
dha | Hm. In most pages I've gone through so far, the signatures of methods that are also subs have been in the order sub, then method. In Cool.pod, this is often, but not always reversed. | 19:55 | |
Should that change? | |||
moritz | dha: IMHO that's neglectable in comparison to all the other issues that perl6/doc has :-) | 19:56 | |
19:56
tokuhirom joined
|
|||
dha | True, but since I'm going through it, should I change this while I'm there? | 19:56 | |
moritz | if you feel like | 19:57 | |
dha | Also, do we have a list of the issues perl6/doc has? Maybe we should. And maybe an effort to fix them? I'm willing to participate. :-) | ||
pink_mist | can't hurt with more consistency | ||
19:58
darutoko left
|
|||
dha | So mote it be. | 20:00 | |
moritz | dha: there's github.com/perl6/doc/issues/ | ||
dha | True. | 20:01 | |
20:01
tokuhirom left
|
|||
moritz | dha: and WANTED in the repo has a list of topis that people want | 20:01 | |
dha | That's more issues with the doc *system* than the actual docs, though. | ||
WANTED strikes me as... incomplete. :-) | 20:02 | ||
moritz | it doesn't claim to be complete | ||
m: say (my $).VAR.^name | 20:03 | ||
camelia | rakudo-moar e2ff16: OUTPUT«Scalar» | ||
dha | I know. But complete would be helpful. | ||
I guess my goal is to make the documentation usable for people who *don't* hang out in #perl6. :-) | 20:08 | ||
colomon | +1 ;) | ||
moritz | dha: that was my goal from the start. Which is why I tried to document stuff people were asking about, instead of shooting blindly | 20:10 | |
dha | Indeed. | ||
I should point out that I'm not complaining so much as worrying. Which I tend to do. :-) | 20:11 | ||
Admittedly, sometimes too much... | |||
20:17
rurban left
20:19
waressearcher2 joined
|
|||
waressearcher2 | is perl6 more perfect than perl5 ? | 20:19 | |
PerlJam | waressearcher2: are daisies more perfect than tulips? | 20:20 | |
moritz | waressearcher2: we certainly strife to make it so | ||
20:20
Loren_ left
|
|||
waressearcher2 | I mean at least it was "reason", right ? | 20:20 | |
20:21
Psyche^_ joined
|
|||
tadzik | can you be "more perfect"? | 20:21 | |
ZoffixWork | waressearcher2, having programmed Perl 5 for a decade and barely knowing a few lines of Perl 6, I do find that some of the warts of Perl 5 got smoothed out... but the two are pretty different languages to so simplistically compare them. | 20:24 | |
20:24
Psyche^ left
|
|||
waressearcher2 | ZoffixWork: so the difference is noticeable only to experience programmers who dive really deep into all language intricacies and for others who barely write more than 100 lines per program for them there will no much diffence in between perl 5 and perl 6 ? | 20:25 | |
I mean from "efficiency" point of view | 20:26 | ||
ZoffixWork | waressearcher2, that's axiomatically true for any two languages: if you barely know anything about both of them, you'll find them quite similar :) | ||
waressearcher2, efficiency in what? Writing code? | |||
dalek | c: c40a1aa | moritz++ | lib/Language/containers.pod: Rework containers.pod closes #139 |
20:27 | |
waressearcher2 | ZoffixWork: yes, like in newer version have to make you more efficient and faster at writing code, or something like that | ||
ZoffixWork | waressearcher2, I guess... both Perls do extensively use syntax instead of stuff like 'preg_replace_callback_array'. | 20:29 | |
waressearcher2, Perl 5 has a much larger repository of modules at the moment, so... depending on what you're making you might find Perl 5 "more efficient and faster at writing code" | |||
20:30
diana_olhovik_ joined
|
|||
ZoffixWork | waressearcher2, and to clarify: both modern Perl 5 and Perl 6 are "new". Perl 5's last release was about 45 days ago. Both are modern languages, they're just in the same family for historical reasons. | 20:31 | |
20:32
mr_ron left
20:33
diana_olhovik_ left
|
|||
Skarsnik | waressearcher2, if you want perf, don't use perl6 x) | 20:33 | |
dha | Oh heck. Perl 6 style is to not use parens, isn't it? | ||
moritz | dha: unless they are necessary :-) | ||
ZoffixWork | Don't use it *yet* :) | ||
dha has been looking at the parens in the signatures and replicating them in usage statements. Oops. Back to the salt mines. | 20:34 | ||
atweiden | waressearcher2: Coming from a background in Bash, and having toyed in Perl5, Perl6 seems more approachable to me | 20:35 | |
The 6 syntax makes a world of difference, and the p6 grammar-debugger is life changing if you ever need a regex | 20:36 | ||
20:36
rindolf left,
diana_olhovik_ joined
|
|||
jnthn | Also worth noting that Perl 6 is in a much better place for multi-core hardware. | 20:37 | |
20:39
rindolf joined
20:41
diana_olhovik_ left
|
|||
lizmat | Yet Another Perl 6 Weekly: p6weekly.wordpress.com/2015/10/05/...-new-face/ | 20:43 | |
ZoffixWork | \o/ | ||
jnthn | \o/ | ||
colomon | lizmat++ | ||
20:44
mr_ron joined
|
|||
jnthn | lizmat++ | 20:45 | |
20:49
ZoffixWork left
|
|||
masak | lizmat++ | 20:51 | |
20:51
laouji joined,
dha left
20:55
dha joined
|
|||
masak | lizmat: you got the order of the function composition backwards. | 20:55 | |
m: sub double($x) { $x * 2 }; sub invert($x) { 1 / $x }; my &double-invert = &double o &invert; say double-invert(0.25) | |||
camelia | rakudo-moar e2ff16: OUTPUT«8» | ||
masak | blog post says 2. | ||
lizmat: &this-gets-applied-second o &this-gets-applied-first | |||
lizmat | :-( | ||
20:55
laouji left
|
|||
masak | lizmat: or, for the visually inclined, (&f o &g)($x) === f(g($x)) | 20:56 | |
20:56
xfix left
|
|||
lizmat | could you reload ? | 20:58 | |
masak | looks better :) | 20:59 | |
lizmat | masak++ | ||
masak | lizmat: another, even slighter nitpick "Three Types of Macros", no possessive apostrophe | 21:00 | |
lizmat | fixed, masak++ again | ||
jnthn | Now the post has less grammar mistakes! | 21:01 | |
lizmat | *fewer | ||
:-) | |||
jnthn | :D | ||
Yay, I've got it so when multiple LEAVE/POSTs throw exceptions we collect 'em all and show 'em all | |||
lizmat | jnthn++ | 21:02 | |
21:03
fieroguy left
|
|||
ab5tract_ | jnthn: that sounds.. tricky | 21:03 | |
jnthn | Wasn't too bad :) | 21:04 | |
jnthn is relieved he didn't have to do any VM-level changes for it :) | |||
masak | looks like all the ecosystem additions were by Japanese contributors. | ||
lizmat | yup | ||
masak | is Perl 6 getting a big following in .jp ? | ||
ab5tract_ | I can understand why :) | ||
lizmat | I would hope so | ||
masak | すごい! | 21:05 | |
^_^ | 21:06 | ||
Juerd likes the function composition operator, but wonders why there even is a unicode variant for it. | |||
masak | Juerd: I'm not sure I understand what you're wondering about. | ||
Juerd: that's exactly what that character in Unicode is there for. | |||
PerlJam | Juerd: oddly, I wondered why there was a Texas variant when I first saw it. | 21:07 | |
jnthn | masak: Perhaps some of the Perl 6 talks at YAPC::Asia caused some excitement. | ||
Juerd | For a programming language, I don't really see a point in using the hard to type unicode thing... We type -> instead of → too.. | ||
masak | from Wikipedia: "The composition symbol ∘ is encoded as U+2218 ∘ RING OPERATOR" | ||
Juerd | Uh oh. Please don't do →. | 21:08 | |
21:08
kaare__ left
|
|||
lizmat | www.youtube.com/watch?v=6r7bNYVdUVw # by Tokuhiro Matsuno | 21:08 | |
ab5tract_ | masak: the modules I've seen are so far are ported p5 code. but it looks like YAPC season has resulted in increased Japanese interest :) | ||
masak | \o/ | ||
Juerd | (Probably someone will now tell me that → was the original operator all along...) | ||
masak | YAPC::Asia 2016!? I'm scared -- should I be watching this now...? | 21:09 | |
what if I create a time paradox or something | |||
Juerd | lol | ||
PerlJam | → should be synonymous with -> ... good catch Juerd! ;) | ||
masak | Juerd++ # bringing this to our attention | 21:10 | |
lizmat | masak: where does the 2016 come from ? | ||
masak | lizmat: video you posted | ||
lizmat: title slide | |||
Juerd contemplates virtual suicide | |||
21:10
Guest50035 left
|
|||
lizmat | aha... : -) completely missed that :-) | 21:10 | |
anyway, I was there, and the room was *packed*, with standing room only on all sides | 21:11 | ||
masak | lizmat: my hypothesis is that tokuhirom, like the rest of us, sometimes writes last year instead of the current year in his presentations. but unlike the rest of us, tokuhirom is moving *backwards in time* | ||
lizmat | in that light "Perl6 on the JVM sorta works" does not bode well :-) | 21:12 | |
masak | hehe | ||
jnthn | lizmat: Yeah, and one of us still needs to implement the shift-jis encoding...well, I probably need to remember it's name first :) | 21:13 | |
mspo | targeting two runtimes is a lot | ||
lizmat | *its | ||
:-) | |||
jnthn | bah :P | 21:14 | |
lizmat | jnthn: if you can point me to where it would need to be done, perhaps I can work it out | ||
dalek | c/usage_statements: 792ca93 | (David H. Adler)++ | lib/Type/Cool.pod: Added usage statements and fixed signature order in Cool.pod |
||
PerlJam | lizmat: btw, reading your example for ∘ made me wish you'd mentioned that if you're uncomfortable specifying the order of your functions as right to left, you can always do my &double-invert = &double Ro &invert; | ||
lizmat | ooohhhh invert the invert inverter | 21:15 | |
jnthn | lizmat: To add it in Moar, it'd be implemented in src/strings/ following the same pattern as other encodings. | ||
dha | Whew. Cool.pod is long. | ||
21:15
skids left
|
|||
pink_mist | dha++ | 21:16 | |
good effort! | |||
jnthn | Ah, I got the POST semantics a tad wrong. | ||
dha | Thanks. I hope I got it all right. Did notice that I screwed up split in Str.pod. fixing... | ||
masak | m: sub double($x) { $x * 2 }; sub invert($x) { 1 / $x }; say (&double o &invert)(0.25); say (&double Ro &invert)(0.25) | ||
camelia | rakudo-moar e2ff16: OUTPUT«82» | ||
masak | \o/ | ||
jnthn | spectests++ | 21:17 | |
masak | m: sub double($x) { $x * 2 }; sub invert($x) { 1 / $x }; say infix:<o>(&double, &invert)(0.25); say infix:<Ro>(&double, &invert)(0.25) | ||
camelia | rakudo-moar e2ff16: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xCLu39DQAzUndeclared routine: infix:<Ro> used at line 1. Did you mean 'infix:<o>', 'infix:<∖>', 'infix:<lt>', 'infix:<eq>'?» | ||
masak | boo | ||
also, Rboo | |||
PerlJam | heh | ||
masak | NO I DID NOT MEAN infix:<∖> | 21:18 | |
WHAT'S WRONG WITH YOU LEVENSHTEIN | |||
21:18
khw left
|
|||
dalek | c/usage_statements: a8fc200 | (David H. Adler)++ | lib/Type/Str.pod: Fixed usage statement for C<split> in Str.pod |
21:19 | |
21:20
laouji joined
|
|||
dha | Oh yeah, I was confused by this. Why is C<pack> (with signature "sub pack(Str $template, *@items) returns Buf") in Blob.pod rather than Buf.pod? | 21:22 | |
Or somewhere else? | |||
[Coke] | dha: question: instead of using [, ARG] to indicate an optional arg, why not ARG? | ||
one less syntax for our doc readers to learn. | 21:23 | ||
PerlJam | Coke++ | ||
21:25
laouji left
|
|||
dha | so, for instance, "split /PATTERN/, STRING[, LIMIT]" "split /PATTERN/, STRING, LIMIT\nsplit /PATTERN/, STRING" like in the perl 5 docs? | 21:25 | |
[Coke] | apologies for not asking this sooner. | 21:26 | |
21:26
rindolf left
|
|||
dha | Yeah, sooner would probably have been better. :-) | 21:26 | |
[Coke] | dha: no. use the perl 6 syntax for optional args. | ||
PerlJam | dha: he meant ARG? instead of [, ARG] | ||
dha | uh... which is? | ||
oh! | |||
[Coke] | m: sub a($this, $that?) { say "$this $that" }; a("this"); a("this",3); | ||
camelia | rakudo-moar e2ff16: OUTPUT«Use of uninitialized value $that of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub a at /tmp/TqspHBWTxS:1this this 3» | ||
dalek | kudo/nom: 590c6f7 | jnthn++ | src/ (3 files): Correct semantics of dieing LEAVEs. Just in time for autumn! Now as per design docs, an exception thrown by a LEAVE does not prevent evaluation of further LEAVE/UNDO/KEEP/POST blocks. If we get one exception we just throw it; if we get multiple we collect them all and throw an X::PhaserExceptions containg them. |
||
21:27
pmurias joined
|
|||
dalek | ast: 489c492 | jnthn++ | S04-phasers/enter-leave.t: Unfudge RT #121530 test; more related tests. |
21:27 | |
dha | Ah. I parsed that as an actual question mark. :-) | ||
[Coke] | I'm happy to take that as a TODO and update existing ones. | ||
dha | Ah. | ||
pmurias | are the Japanee Perl programmers more interested in Perl 6 on the JVM? | ||
dha | If you want to. but I can do it. I'm about to remove a bunch of parens, so I can do that while I go. | 21:28 | |
jnthn | Enough for today. 'night, #perl6! | 21:29 | |
dha | night jnthn | ||
lizmat | gnight jnthn | ||
PerlJam | jnthn: sleep well! | 21:30 | |
lizmat | pmurias: can't really say: but that was the only Perl 6 talk in Japanase, afiak | ||
*afaik | |||
21:31
n0xff joined
|
|||
ab5tract_ | gist.github.com/ab5tract/18b95160763bf901c74e | 21:32 | |
21:32
khw joined
|
|||
ab5tract_ | ^^ offered as a potential addition to the examples section on perl6.org | 21:33 | |
dha | In the meantime, anyone have any ideas on my question about C<pack> in Blob.pod? | ||
lizmat | dha: that may be for hysterical raisins | 21:36 | |
a Blob is an immutable Buf nowadays | |||
right ? | |||
dha | Ok. Unsure how to usage that, then. | ||
that's what the docs say. | |||
lizmat | I guess it would need to live in Buf.pod then | 21:40 | |
21:40
TEttinger joined
|
|||
masak | aww, the "Custom Unicode operators" example on the web page was turned into just "Custom operators"... | 21:41 | |
good that we're using postfix:<!> instead of that silly Unicode exclamation mark, though | |||
pmurias | lizmat: I'm under the impression that the JVM is really alien to a lot of Perl hackers (as there isn't much interest in this backend), it would be interesting if it was different in Japan | 21:42 | |
masak | FROGGS: re github.com/perl6/perl6.org/commit/...c466651074 | 21:43 | |
FROGGS: what does this `is tighter` add to the example? could you show me an expression that would be wrongly allowed if that trait weren't there? | |||
lizmat | well, judging from the attendence at Tokuhiro Matsuno talk, there was a lot of interest for it at YAPC::Asia | ||
dalek | c/usage_statements: 111a73e | (David H. Adler)++ | lib/Type/ (2 files): Fixed paren and optional arg issues for Types through Cool.pod |
||
21:44
leont joined
|
|||
masak | FROGGS: S06 says that postfixes are created with precedence equivalent to postfix:<++> | 21:45 | |
FROGGS: so I guess your `is tighter` actually makes the new postfix looser than it would have otherwise been. | 21:46 | ||
21:46
simon joined,
bjz left
|
|||
simon | hello" | 21:46 | |
dha | Having gotten up to "C" in the lib/Type directory, I think I shall merge back into the main repository. | 21:47 | |
masak | looser than autoincrement, exponentiation, and symbolic unaries | ||
simon: hello! | |||
lizmat | dha++ | ||
dha bows | |||
masak | FROGGS: frankly, I think it's confusing to think of postfix:<!> as looser than either of those three precedence levels... :) | 21:48 | |
dalek | c: ef69b16 | (David H. Adler)++ | lib/Type/Any.pod: Added usage statements for ACCEPTS and junctions to Any.pod |
||
doc: ff764d8 | (David H. Adler)++ | lib/Type/B (2 files): | |||
doc: Added usage statements to Backtrace.pod and Blob.pod (except for pack, | |||
21:48
dalek left
21:49
dalek joined,
ChanServ sets mode: +v dalek
|
|||
masak | 'night, #perl6 | 21:49 | |
dha | Aw. I broke the dalek. | ||
Why is that bot called dalek, anyway? | |||
simon | i am new with perl but interested in socket programming. i think perl would be a good choice, but now I heard from perl6.. should i start with perl5 or is perl6 ready to play with it? | ||
dha | It does not seem to exterminate anything... | ||
jdv79 | good ? dha | ||
dalek | kudo/nom: ebc1c38 | lizmat++ | src/core/ (3 files): Move SET_(LEAD|TRAIL)ING_DOCS to Rakudo::Internals |
||
simon | haha | 21:50 | |
21:50
plicease left
|
|||
jdv79 | p5 is ok cept threading | 21:50 | |
21:50
laouji joined
|
|||
simon | i like the new functional features in perl6... and the good oo style.. | 21:51 | |
but what is the status of the language? are things changing or is there a fixed core? | 21:52 | ||
lizmat | simon: you could check out perl6.org, or p6weekly.wordpress.com :-) | 21:54 | |
if you want to keep a little bit up to date | |||
PerlJam | simon: it's been fairly fixed for a while now with the exception of the recent Great List Refactor to nail down the semantics of certain usage of lists | ||
lizmat | and/or hang out here :-) | ||
21:55
laouji left
|
|||
simon | thank you lizmat, PerlJam ;-) i will do this | 21:57 | |
dalek | kudo/nom: 4725e2e | lizmat++ | src/core/ (3 files): Move EXPORT_SYMBOL to Rakudo::Internals |
22:00 | |
22:01
vendethiel left
|
|||
simon | sorry for this question, but is there just a little evidence that the specification will be released in the next years? ;) | 22:02 | |
maybe 3 years | |||
22:02
bjz joined
|
|||
dalek | c/usage_statements: 3f016cd | (David H. Adler)++ | lib/Type/Date.pod: Added usage statements to Date.pod |
22:03 | |
lizmat | simon: www.youtube.com/watch?v=RvCkvXvqi3U # Get Ready To Party! | ||
22:03
RabidGravy left
|
|||
El_Che | simon: perl 6 should be out by Christmas | 22:03 | |
lizmat | s/should/will/ | ||
El_Che | simon: *This* Christmas! (that's new) :) | ||
\o/ | |||
simon | El_Che: haha i read alerady the wiki article ;) | ||
dalek | kudo/nom: 93d2c93 | lizmat++ | src/core/traits.pm: Remove superfluous Pair stub |
22:04 | |
22:04
tokuhirom joined
22:05
dha left
22:06
laouji joined,
dp joined
|
|||
dp | hello | 22:07 | |
lizmat | dp o/ | ||
22:08
waressearcher2 left,
larion left
|
|||
dp | Is there still any point in learning some other version of perl than perl6? | 22:09 | |
22:09
tokuhirom left
22:10
cognominal left,
cognominal joined
|
|||
grondilu | dp: Yes. For the same reason that there still is a point in learning C for instance. Perl 6 is not supposed to replace Perl 5. | 22:10 | |
22:11
laouji left
|
|||
Skarsnik | perl5 is very different than perl6. and perl6 is not really production ready IMO | 22:11 | |
22:11
bjz left
|
|||
dalek | kudo/nom: 218357e | lizmat++ | src/Perl6/Grammar.nqp: Remove reference to deprecated "winner" |
22:11 | |
dp | Alright. Would you recommend picking up perl6 before perl5 or the other way around? | 22:12 | |
leont | That depends on what you want to do, really | 22:13 | |
Skarsnik | yes, exactly | ||
actually is there some modern p5 tutorial? | |||
leont | There are several good books, Modern Perl and Beginning Perl being the best known ones | 22:14 | |
22:15
gtodd joined
|
|||
dp | I'm mostly just curious about the language and it's features | 22:15 | |
Will I be able to understand perl5 if I only learn perl6? | 22:16 | ||
22:16
Skarsnik left
|
|||
leont | They're quite distinct nowadays, so not really | 22:16 | |
Juerd | dp: Depends on what you mean by 'understand'. You'll recognise a lot, but you'll also be baffled by some things that are completely different. | 22:17 | |
gtodd | I upgraded trusty perl6 on an rarely used machine and I borked my repl :-) (no curson or arrow keys or Ctrl-a ) | ||
wahh | |||
22:18
yqt left
|
|||
El_Che | dp: I have found perl5 knowledge (and some Ruby knowledge) pretty handy when trying perl 6. | 22:18 | |
gtodd | I thought there was basic linenoise style line editing "built in" | 22:19 | |
22:19
kid51 joined
|
|||
ilmari | gtodd: you need to install the Linenoise module | 22:20 | |
or just use rlwrap, since linenoise sucks and makes repl startup time really slow | |||
22:21
laouji joined
|
|||
gtodd | ahh ok I thought linenoise was builtin with schmancy tab completion of builtins etc. etc. planned to be a module | 22:22 | |
.. REPL::Schmancy :-D | 22:23 | ||
anyway thanks | |||
Zoffix | , | 22:25 | |
yoleaux | 12:25Z <lizmat> Zoffix: perl6.org/getting-started/ seem to have CSS issues | ||
Zoffix | Fixed! :) | ||
lizmat | :-) | ||
22:26
laouji left
|
|||
dalek | kudo/nom: 68f233a | lizmat++ | src/core/ (2 files): Remove some deprecations that we missed |
22:27 | |
El_Che | Isn't the R* name on the site a little confusing (implying a relation with R) ? | ||
lizmat | perhaps better "R *" ? | 22:29 | |
tadzik | or Rakudo Star? :) | ||
El_Che | Rakudo* | ||
? | |||
lizmat | the line in question: follow these instructions to build and install Rakudo Star (“R*”), a Perl 6 distribution with a number of useful modules included. | ||
El_Che | although some people will look for a footnote :) | ||
lizmat | maybe (aka R*) | 22:30 | |
El_Che | Find available modules — use the panda installer (comes with R*) to install modules listed at the Perl6 modules directory. | ||
lizmat | El_Che: why not do a PR on perl6/perl6.org ? | 22:31 | |
22:32
simon left
|
|||
El_Che | ok, so Rakudo*? | 22:34 | |
or stick with R* | |||
lizmat | I would say: (comes with Rakudo Star) | 22:35 | |
and perhaps remove the mention on the "install a compiler" | |||
R* is really echo chamber lingo | 22:36 | ||
El_Che | "Install Rakudo Star" instead of "iNSTALL a compiler" | ||
got it | 22:37 | ||
lizmat | no, I actually meant: on that loine | 22:38 | |
line | |||
just remove | |||
("R*") | |||
from the line "install a compiler..." | |||
hmmm... it's late already... | 22:40 | ||
good night, #perl6! | |||
El_Che | done | ||
22:42
kuzgun joined
|
|||
timotimo | .u star | 22:42 | |
yoleaux | U+0001 START OF HEADING [Cc] (␁) | ||
U+0002 START OF TEXT [Cc] (␂) | |||
U+0086 START OF SELECTED AREA [Cc] (<control>) | |||
timotimo | no, damn %) | ||
dalek | href="https://perl6.org:">perl6.org: 7d769ab | (Claudio Ramirez)++ | source/getting-started/index.html: R* -> Rakudo Star |
||
href="https://perl6.org:">perl6.org: 6a65b5e | lizmat++ | source/getting-started/index.html: Merge pull request #37 from nxadm/master R* -> Rakudo Star to avoid confusion with the R system. See irclog.perlgeek.de/perl6/2015-10-05#i_11323264 for discussion. |
|||
lizmat | El_Che++ | ||
sleep& | |||
timotimo | R★ | ||
El_Che | yeah, I made the site leaner (sarcasm sign) :) | ||
22:44
larion joined
|
|||
El_Che | Rakudo⛧ (the Gothic release) | 22:44 | |
22:48
skids joined
|
|||
^elyse^ | .tell vendethiel repzret.org/p/repzret/ | 22:49 | |
yoleaux | ^elyse^: I'll pass your message to vendethiel. | ||
^elyse^ | .botsnack | ||
yoleaux | :D | ||
22:50
laouji joined
|
|||
^elyse^ | jnthn: ^ you may also like that link, as you're implementing a JIT compiler (IIRC) | 22:52 | |
anyway, time to sleep. bye! | |||
22:52
^elyse^ left
|
|||
El_Che | I love the batteries include approach of sub MAIN for command line parsing. I wonder if there is an option to pass parameters as "--option value" instead of "--option=value". The first is more UNIX like | 22:52 | |
22:53
spider-mario left
22:55
laouji left
22:58
greez11 joined
22:59
greez11 left
23:06
laouji joined
23:10
laouji left
23:19
telex left
23:20
mr_ron left,
telex joined
23:21
laouji joined
23:26
laouji left
23:31
mr_ron joined
23:32
Peter_R joined
23:38
pmurias left
23:47
BenGoldberg joined
|