»ö« 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! | feather will shut down permanently on 2015-03-31 Set by jnthn on 28 February 2015. |
|||
00:09
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
atweiden | it seems the $Nightscape::conf seen by Actions.pm is independent of the one seen by bin/nightscape.pl | 00:18 | |
when i set conf to 3 in Actions.pm, it doesn't effect the conf in nightscape.pl | |||
00:20
skids joined
00:28
laouji joined
00:30
aborazmeh left
00:38
laouji left
00:39
laouji joined
00:40
laouji left,
laouji joined
00:47
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:52
aborazmeh left
00:54
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:57
spider-mario left
00:59
spider-mario joined
01:02
Zoffix joined
01:22
aborazmeh left
01:25
Darkc0de_ joined
01:26
Darkc0de_ left
01:43
telex left
01:44
telex joined
01:47
tinyblak joined
01:53
aborazmeh joined,
aborazmeh left,
aborazmeh joined
02:00
laouji_ joined
02:02
colomon left,
laouji left
02:04
colomon joined
02:06
Foxcool_ left
02:09
Foxcool_ joined
02:11
noganex joined
02:14
noganex_ left
02:49
bjz joined
02:50
laouji joined
02:53
laouji_ left
|
|||
ugexe | so... anyone want to remove 'Parrot' from the github description? :) "Rakudo Perl -- Perl 6 on Parrot, JVM and MoarVM" | 03:06 | |
03:09
BenGoldberg left
03:12
mr-foobar left
03:37
laouji left
03:42
aborazmeh left
|
|||
dalek | c: e6e4d7e | skids++ | lib/Language/objects.pod: Improve example for bare method disambiguity. |
03:44 | |
03:45
mr-foobar joined
04:00
alini joined
|
|||
dalek | c: 1129a3f | skids++ | lib/Language/objects.pod: Improve example. The showcased construct is redundant with the constraint. |
04:20 | |
04:33
konsolebox joined
04:35
konsolebox left
04:38
laouji joined
04:39
raiph left
|
|||
dalek | c: ee17dc0 | skids++ | lib/Language/objects.pod: Small elaboration on default constructor. |
04:40 | |
c: 152bf49 | skids++ | lib/Language/objects.pod: Simplify some circumlocuitous phrasing. |
|||
04:42
laouji left
|
|||
skids finds it strangely appropriate that there are so many circumlocu.* words. | 04:43 | ||
04:46
laouji joined,
atweiden left
04:48
b2gills left,
kaare_ joined
|
|||
dalek | p: 8398cee | paultcochrane++ | docs/ops.markdown: Add links to opcode categories This makes navigation within the docs easier. |
04:51 | |
p: 1120f1f | paultcochrane++ | docs/ops.markdown: Use consistent heading capitalisation |
|||
p: 468f1cb | paultcochrane++ | docs/ops.markdown: Wrap long lines to improve readability |
|||
p: 0923187 | paultcochrane++ | docs/ops.markdown: Fix typos |
|||
04:51
skids left
04:52
konsolebox joined
04:53
Khisanth joined
04:54
konsolebox left
|
|||
moritz | \o | 04:59 | |
yoleaux | 14 Apr 2015 21:10Z <brrt> moritz: that doc.perl6.org is awesome. moritz++ | ||
04:59
b2gills joined
|
|||
moritz | now *that's* the kind of message you like to read when you get up in the morning. Thanks brrt! | 04:59 | |
[ptc] | moritz: o/ | ||
05:11
konsolebox joined
05:12
konsolebox left
05:15
alini left
05:23
KCL_ joined
05:26
KCL left
05:28
konsolebox joined
05:29
konsolebox left
05:35
KimmoNO joined
05:36
espadrine joined
05:44
laouji left,
laouji joined
06:09
konsolebox joined
06:14
konsolebox left
06:18
diana_olhovik joined
06:21
rindolf joined
06:23
yvan1 left
|
|||
masak | morning, #perl6 | 06:34 | |
moritz++ # doc.perl6.org | 06:35 | ||
06:41
RabidGravy joined,
Rounin joined
06:43
FROGGS joined
06:48
Ven joined
|
|||
moritz | [ptc]++ also deserves some praise | 06:55 | |
as do Mouq++ and lots of other committers | 06:56 | ||
masak is aiming to contribute more, but hasn't gotten the appropriately-shaped tuit yet | 07:02 | ||
nwc10 | I'm sure you're currently getting lots of gifts. Many of which are quite smelly. | ||
masak | it's been known to happen. | 07:03 | |
[Tux] | No such method 'chars' for invocant of type 'Any' | 07:14 | |
(yes, I know about the change) | |||
old and dead code | |||
from last year | |||
07:16
pecastro left
|
|||
[Tux] | That change broke internal class calls: | 07:19 | |
m: class C {method foo(Str $x){};method bar(Str$x){.foo($x)}};C.new.bar(""); | 07:20 | ||
camelia | rakudo-moar 9862a1: OUTPUT«No such method 'foo' for invocant of type 'Any' in method bar at /tmp/6Nv2Pvn_CF:1 in block <unit> at /tmp/6Nv2Pvn_CF:1» | ||
[Tux] | that worked yesterday | ||
now it needs a self.foo | |||
moritz | uhm, it didn't work | ||
it just failed to give you the proper error | |||
[Tux] | ah :) | 07:21 | |
moritz | there, finding bugs for you :-) | ||
[Tux] | again, just found that in old reference code | ||
weird that it didn't fail, looking back at it | |||
07:22
mr-foobar left
|
|||
moritz | $_ defaulted to Nil, and Nil swallows non-existing method calls on it | 07:22 | |
[Tux] | I think I like that change | 07:23 | |
moritz too | |||
07:24
rindolf left,
rurban_ joined
07:25
pdcawley joined
07:28
vendethiel left
07:29
vendethiel joined
07:34
spider-mario left
07:37
FROGGS left
|
|||
jnthn | morning, #perl6 | 07:41 | |
lizmat | morning jnthn | 07:42 | |
I was just about to say: | |||
nwc10 | .tell jnthn you have no messages! | ||
yoleaux | nwc10: I'll pass your message to jnthn. | ||
lizmat | commute to Berlin& | ||
so see you all (from) there | 07:43 | ||
07:43
lizmat left
07:45
rindolf joined
07:46
yvan1 joined
08:02
espadrine left
08:10
cschwenz joined,
alini joined
08:12
zakharyas joined
08:20
darutoko joined
08:22
abraxxa joined
08:28
laouji_ joined
08:29
rindolf left
08:32
laouji left
|
|||
masak | [Tux]: $_ and self were disambiguated in the language somewhere around 2005. it was a good decision, because they're really two very different "topic variables". | 08:40 | |
[Tux]: it does mean that some people got disappointed that they can't get away with writing `.bar()` for method calls. | 08:41 | ||
08:41
pecastro joined
|
|||
masak | [Tux]: but actually, not all is lost. people who want to do `.bar()` just need to make sure that $_ contains self. like, make $_ the invocant in the method signature. or do `given self` somewhere inside the method. | 08:42 | |
in other words, it's not completely automatic, but (IMO) that's a good thing when you look at the big picture and the language as a whole. | |||
jnthn | Also, $.foo(...) | 08:43 | |
yoleaux | 07:42Z <nwc10> jnthn: you have no messages! | ||
jnthn | m) | ||
Or maybe :🌴) | 08:44 | ||
nwc10 | .u 🌴 | ||
yoleaux | U+1F334 PALM TREE [So] (🌴) | ||
08:45
KCL_ left
|
|||
nwc10 | [Tux] pasted the link www.informationweek.com/it-life/ntp...id/1319432 elsewhere. I found it interesting | 08:45 | |
08:46
KCL_ joined
08:49
espadrine joined
|
|||
Ven | m: class A{ method x($_:) { .bar }; method bar{5} }; say A.new.x # masak :P | 08:56 | |
camelia | rakudo-moar 9862a1: OUTPUT«5» | ||
jnthn | Yes, that was masak's "make $_ the invocant in the sig" :) | 08:57 | |
Ven | masak++ # teaching me cute tricks | 08:59 | |
masak | yes, right. I forgot to mention `$.foo`. but that one comes with some strings attached, if you ask me. | 09:00 | |
in that it's much more natural to use it if the method foo is actually "property-like". if it does stuff, then `$.foo` is questionable. | |||
dalek | c: cd83ead | (Jonathan Stowe)++ | lib/Language/variables.pod: Document $*HOME |
09:02 | |
moritz | fwiw I think it's quite funny in python | ||
you have to distinguish attribute accesses from method calls on the caller side | |||
and then on the callee side, you can cheat, and make a method appear as an attribute | 09:03 | ||
(with @property) | |||
so, software that's lying to itself about what it does | |||
</rant> | |||
09:04
FROGGS joined
|
|||
masak | moritz: I think that's some people's beef about get/set properties in JavaScript, too. | 09:06 | |
FROGGS | o/ | 09:07 | |
psch | \o | ||
masak | o/ | 09:08 | |
moritz | masak: can you cheat in JS? write a method that's accessed as if it's an attribute? | ||
dalek | kudo/nom: 06dfca6 | TimToady++ | src/core/ (5 files): grab backtraces before information is lost plus various cleanups to deal with our multi-level exception system |
||
kudo/nom: a7b45b6 | TimToady++ | src/core/ (2 files): move some code that belongs in Backtrace |
|||
cognominal | Perl6/Grammar.nqp is quite a haystack | 09:10 | |
.*ibbling in it. | 09:11 | ||
masak | moritz: yeah, that's what get/set methods do. | 09:13 | |
moritz: javascriptplayground.com/blog/2013/...s-setters/ | 09:14 | ||
Ven | cognominal: do you need some kind of $*NEEDLE? | 09:15 | |
from the 6guts blog post, I take that the grant was completed and started? | 09:16 | ||
Ven doesn't know how the perl foundation works | |||
FROGGS | Ven: he has started but the grant still needs to be decided | ||
Ven | FROGGS: oke, thanks. | 09:17 | |
jnthn | I've started under the hopeful assumption the community and TPF will be OK with the grant. :) | 09:18 | |
masak | I got an email from Karen yesterday, asking if I approved of the grant proposal. (I do, of course.) so my guess is that it's just-about-to-be-approved. | 09:19 | |
FROGGS | masak: I also got an email, but I don't tell about my reply :P | ||
09:20
dakkar joined
|
|||
masak | (I don't have special approve-p6-grant powers, but it seems I ended up on a list of core p6 devs) | 09:20 | |
a list in TPF's possession, I should say. | |||
FROGGS: always so secretive :P | |||
FROGGS will start nagging jnthn about getting rid of the JSON parsing at startup as soon as his grant gets accepted | 09:21 | ||
because then he has to unblock me! MUHAHHAHAHA | |||
jnthn | :P | ||
FROGGS | *g* | ||
no really, "just replacing that json blurb with a .perl blurb" does not seem to be a LHF | |||
at least, it is tricky | 09:22 | ||
jnthn | Indeed. | ||
masak | .perl is also not known to preserve values exactly | ||
jnthn | I'll have to have a look at the JSON blob. | ||
And see how it's being used. | |||
FROGGS | because we do that when constructing @*INC, then precompile lib.pm which messes with @*INC, and precompile a module that uses the precompiled lib.pm | 09:23 | |
jnthn | urgh | ||
FROGGS | masak: it is enough for that purpose, really | ||
jnthn | That needs a bit of thought, yes. | ||
FROGGS | aye | ||
masak: the most exciting value in that blurb is a Version... the rest is about arrays, hashes, strings and numbers | 09:24 | ||
09:24
Ven left
|
|||
jnthn | Given the current situation is that our startup time is now horrid when you install lots of modules, I should probably look at this relatively soon :) | 09:24 | |
If we don't get to it before this month's compiler release, this is probably one of the months we elect not to produce a R* though. | 09:25 | ||
09:27
laouji_ left,
laouji joined
|
|||
nwc10 | that would unfortunate, but I agree, it seems like the lesser of two evils | 09:28 | |
09:29
labster joined
|
|||
jnthn | Well, Star exists to provide something more stable; the original schedule for it was once per 3 months. | 09:29 | |
09:29
felher left
|
|||
nwc10 | that plan didn't seem to survive contact with the enemy | 09:29 | |
or at least, PR | 09:30 | ||
moritz | I guess that's partially my fault | ||
for doing monthly R* releases when it was easy to do | |||
masak | well, we simply didn't have a process in place where we decide "should we release a Star"? | 09:32 | |
jnthn | Well, a more useful conversatoin is "should we ahve a process in plae to decide should we relase a Star, and what should it look like if so?" | 09:33 | |
*have, *place | |||
nwc10 | will we have Rakudo yar, for pirates? "Is there a yar in the month? Yar! Ship it^W^Wmake it walk the plank" | 09:35 | |
jnthn | Yes, but it's only released once per year, on Talk Like A Pirate Day :P | ||
timotimo | we could ship a rakudo with modified error and warning messages | 09:36 | |
on that day | |||
nwc10 | is that before or after TimToady's birthday? | ||
it would be an interesting day for an Alpha | |||
jnthn | Saturday, September 19 | ||
nwc10 | oh [unpublishable] | 09:37 | |
timotimo | hm? | ||
nwc10 | e,r hangon | 09:38 | |
*this* | |||
www.google.at/search?q=larry+wall's+birthday | |||
jnthn | Close! | 09:39 | |
09:39
felher joined
|
|||
nwc10 | more usefully, before. but not ages before | 09:40 | |
er, context. Pirates are before Larry | |||
timotimo | do pirates ever say "sorry"? | 09:41 | |
otherwise, there'd have to be something like | |||
masak | being a pirate means never having to say "sorry" | ||
timotimo | ==AVAST!== | ||
It be a good day for plundering the sea to find that missing block! | 09:42 | ||
btyler | haha. I think I like that better than 'SORRY' | ||
timotimo | Pass the Grog, matey! The Syntax is OK! | 09:43 | |
er, i meant | |||
"Yer Syntax be OK" | |||
nwc10 | this program has been scanned and found clear of all errors, because AVAST! | ||
timotimo | ouch | 09:44 | |
nwc10 | I'm not sure if I assocated the term "AVAST" with warm fuzzy confidence | 09:46 | |
09:49
rindolf joined,
hoelzro joined
09:55
Akagi201_ left
09:56
Akagi201 joined,
Akagi201 left
|
|||
moritz | ok, let's use CLAMAV instead :-) | 09:56 | |
==KASPERSKY!== | |||
timotimo has to admit not being very educated about piratey speech | 09:57 | ||
it's a very difficult thing to pull off if you're living around almost exclusively german-speaking people | |||
psch | "how appropriate, you fight like a cow!" | ||
moritz | timotimo: and surrounded by land on all sides, too :-) | 09:59 | |
timotimo | yes :( | 10:00 | |
cognominal | well, the only pirate in the eu parlement is from germany | ||
10:01
RabidGravy left
10:02
skids joined
|
|||
nwc10 | shame. Would have been funnier if the pirate came from a land-locked country. | 10:03 | |
although now-re-reading, it *is* funny in the context here | 10:04 | ||
10:04
dolmen joined
10:12
araujo joined
10:15
araujo left
10:16
araujo joined
10:27
alini left
10:28
alini joined,
alini left
10:29
alini joined,
Ven joined
10:30
alini left,
alini joined
10:45
araujo left
10:48
sqirrel joined,
fhelmberger joined
10:50
dolmen left
10:56
[TuxCM] joined
|
|||
[TuxCM] | m: my Int @i; my Int @x = 4; my @z = @i[@x]; @z.perl.say; | 10:56 | |
camelia | rakudo-moar a7b45b: OUTPUT«[Int]<>» | ||
[TuxCM] | I did expect an EMPTY list | ||
10:56
konsolebox joined
10:57
Akagi201 joined
|
|||
psch | m: my Int @x; say @x[0] | 10:57 | |
camelia | rakudo-moar a7b45b: OUTPUT«(Int)» | ||
[TuxCM] | m: my Int @i; my Int @x = 4..Inf; my @z = @i[@x]; @z.perl.say; | ||
camelia | rakudo-moar a7b45b: OUTPUT«[]<>» | ||
psch | m: my Int @x; say @x[Inf] | ||
camelia | rakudo-moar a7b45b: OUTPUT«Cannot coerce Inf or NaN to an Int in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3457 in block <unit> at /tmp/XD3Q8E7O0Y:1» | ||
[TuxCM] | m: my Int @i; my Int @x = 4..6; my @z = @i[@x]; @z.perl.say; | ||
camelia | rakudo-moar a7b45b: OUTPUT«[Int, Int, Int]<>» | ||
[TuxCM] | I was told that an array in subscript worked lazy | ||
when the array has a range like ..Inf, it works as I expected | 10:58 | ||
[TuxCM] has internetz just to the border | |||
10:59
konsolebox left
|
|||
timotimo | hum, are we getting the right candidate? | 11:00 | |
the problem could be that my Int @i is undefined | 11:01 | ||
m: my Int @x; say @x.perl; my Int @y .= new; say @y.perl | 11:02 | ||
camelia | rakudo-moar a7b45b: OUTPUT«Array[Int].new()Array[Int].new()» | ||
timotimo | hum | ||
m: my Int @x; say @x.perl; my Int @y = 1, 2, 3; say @y[@x].perl | |||
camelia | rakudo-moar a7b45b: OUTPUT«Array[Int].new()()» | ||
timotimo | here i get an empty list | ||
m: my Int @x; say @x.perl; my Int @y = 1, 2, 3; my @z = @y[@x]; say @z.perl | 11:03 | ||
camelia | rakudo-moar a7b45b: OUTPUT«Array[Int].new()[]<>» | ||
timotimo | huh? now what am i doing differently from your thingie? | ||
m: my Int @x; my Int @y = 1; my @z = @y[@x]; say @z.perl | |||
camelia | rakudo-moar a7b45b: OUTPUT«[]<>» | ||
timotimo | oh | ||
i've got @x and @y reversed | |||
m: my Int @x; my Int @y = 1; my @z = @x[@y]; say @z.perl | |||
camelia | rakudo-moar a7b45b: OUTPUT«[Int]<>» | ||
timotimo | well, that does make sense, doesn't it? | ||
if you want it to blow up on positional access outside its "bounds", you may want a shaped array instead? | 11:04 | ||
(nyi, last i tried it) | |||
jnthn | A range 1..* works becuase the * stands in for the number of elements | 11:05 | |
[TuxCM] | in @y[@x], @x=1..Inf behaves completely different from @x=1..2 | ||
jnthn | And 1..Inf is taken to do the same | ||
[TuxCM] | m: my Int @i = 2..*; | ||
camelia | ( no output ) | ||
timotimo | oh, interesting | ||
so if you (1..Inf).list ... | |||
psch | m: my Int @x; say @x[1..Inf] | 11:06 | |
camelia | rakudo-moar a7b45b: OUTPUT«» | ||
[TuxCM] | so I can replace Inf with * ? | ||
jnthn | m: my @a = 1..10; say @a[3..*]; | ||
camelia | rakudo-moar a7b45b: OUTPUT«4 5 6 7 8 9 10» | ||
[TuxCM] | Interesting ... | ||
jnthn | m: my @a = 1..10; say @a[3..11]; | ||
camelia | rakudo-moar a7b45b: OUTPUT«4 5 6 7 8 9 10» | ||
timotimo | m: say (1..*).WHAT | ||
jnthn | Oh, seems it always trims at the end with a range. | ||
camelia | rakudo-moar a7b45b: OUTPUT«(Range)» | ||
psch got his tr/// mergeable again o/ | |||
but it's a bit icky | 11:07 | ||
jnthn | m: my @a = 1..10; say @a[my @ = 3..11]; | ||
camelia | rakudo-moar a7b45b: OUTPUT«4 5 6 7 8 9 10 (Any) (Any)» | ||
jnthn | But not for the Array case. | ||
[TuxCM] | HELP! :) | ||
psch | i have to hand a reference to the outer-most $/ through the trans proto/cands and through nearly all of LSM :/ | ||
jnthn | But that also likely makes a lot of sense. | ||
11:07
alini_ joined
|
|||
jnthn | Becuase for the Array case you've no promise, like with a rnage, that the elements are contiguous. | 11:08 | |
[TuxCM] | I have code that checks against the right side of a range | ||
$i < Inf works, $i < * does not (I guess) | |||
11:08
alini left,
alini_ is now known as alini
|
|||
jnthn | m: say (1..*).perl | 11:09 | |
camelia | rakudo-moar a7b45b: OUTPUT«1..Inf» | ||
timotimo | well, $i < * just gives you a WhateverCode | ||
that's syntactic | |||
jnthn | Note that 1..* constructs a range 1..Inf | ||
timotimo | and it'll likely eat more code towards the outside of that statement, too | ||
[TuxCM] | OK, I have about 4½ hours to play with that | ||
jnthn | So if you are doing $i < $range.max then you're good | ||
Though $i ~~ $range "$i falls within the range" is probably better overall | |||
Because it takes care of ..^ and ^.. ranges too :) | 11:10 | ||
timotimo fixes the Junction optimizer in rakudo | 11:12 | ||
[TuxCM] | germany. network will drop any time now | ||
jnthn | Germany, land of no network! /o\ | 11:13 | |
skids | what, no famous german network engineering? | ||
jnthn | .oO( die Network, die! ) |
11:15 | |
11:16
konsolebox joined
|
|||
psch | t/spec/S05-transliteration/trans.rakudo.moar (Wstat: 0 Tests: 62 Failed: 0) TODO passed: 28, 31-34, 36-40, 45-46 | 11:17 | |
i'll merge that now, if the CALLERS:: stuff i'm doing is too weird, please shout :) | |||
11:19
[TuxCM] left
|
|||
psch | actually, there was a stray commit with the message "fixup" around | 11:21 | |
so i cleaned that up first, and'll rerun spectest | 11:22 | ||
11:23
konsolebox left
|
|||
Ven wants to talk about @a[x..*] but doesn't know where... | 11:25 | ||
11:26
rurban_ left
|
|||
Ven | Where is it I've already talked about whatever/closure, about ranges, but still near arrays so that it doesn't appear out of nowhere | 11:27 | |
psch | oh, in the learnxiny? | 11:28 | |
psch was a bit confused at first, thinking "why not talk about it here?"... | |||
grr | 11:29 | ||
Ven | psch: yeah. It needs some solid yak shaving, but I'm not good enough at writing to do it I think | ||
psch | git is hard, i apparently undid all my repairing of the tr PR ._. | 11:30 | |
11:31
sqirrel left,
Akagi201 left
11:32
Akagi201 joined
|
|||
Ven | psch: did you commit or stash at some point? | 11:33 | |
psch | Ven: no, but i luckily kept vim open and could undo | ||
Ven | ah, grats :P | ||
psch is glad he made :e! a habit | |||
Ven | m: my @a = ^20; @a[5..*]>>++; say @a | 11:34 | |
camelia | rakudo-moar a7b45b: OUTPUT«0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20» | ||
psch | instead of e.g. ZQ↑^M or whatever... | 11:35 | |
(or ZQ↑↵) | |||
i like urxvt's KEYCAP INSERT MODE :p | 11:36 | ||
+PICTURE | |||
there | 11:38 | ||
dalek | kudo/nom: 85cbdc2 | peschwa++ | src/ (3 files): Work towards implementing :squash for &Str.trans. Conflicts: src/core/Str.pm 6830781 | peschwa++ | src/core/Str.pm: Remove debug output, masak++. |
||
11:38
dalek left
11:39
dalek joined,
ChanServ sets mode: +v dalek
|
|||
psch | github.com/rakudo/rakudo/commit/ec...bce05122f9 | 11:39 | |
11:40
skids left
|
|||
psch | ^^^ that's the "oh god why" commit in that merge | 11:40 | |
seeing as every scope has its own $/ (and gist.github.com/peschwa/4fe16e5c5aa2e5b8370c is what happens) i did it like that | |||
masak | um. are you adding debug output statements in a commit on nom? | 11:41 | |
psch | oh fffs | ||
i'll remove those, sorry | |||
masak | :/ | ||
maybe consider working in a branch? | |||
that way, you also have bigger freedom to rebase interactive and stuff. | |||
psch | it was a branch, i just lost track of the debug prints when merging and rebasing | 11:42 | |
which went all over the place a few times | |||
masak | maybe a good idea to simply not commit debug prints. you can review a patch before you turn it into a commit, making sure that the code that goes in is intentional. | ||
masak | is there any documentation about :squash for .trans? I haven't heard about it before. | ||
psch | masak: i've implemented it as per S05-transliteration/trans.t | 11:43 | |
masak | oh, good. | ||
I'll look there, then. | |||
arnsholt | Reviewing commits is a good idea in general. I have "idxd = diff --cached" the [alias] section of my ~/.gitconfig | ||
11:44
iv_ is now known as iv
|
|||
masak | also variations of `git commit -p` tend to work quite well. | 11:45 | |
Ven | Does the spec request that no more elements are reifed than needed? | 11:46 | |
psch | -p sounds like something i'll want to use habitually | ||
arnsholt | Yeah, add -p as well | 11:47 | |
Ven | psch: DEBUG_PLS? :P | ||
.oO( RAKUDEBUG ) |
|||
masak | arnsholt: `git add -p`, `git checkout -p`, `git reset -p <committish>`, `git stash -p`... | 11:49 | |
Ven removes the part about printing 1..* giving an infinite loop in the REPL | 11:50 | ||
arnsholt | Yeah, I <3 the -p option | 11:51 | |
Fits so well with the way I tend to work; start on one thing, shave a yak or two, then get the actual thing I wanted to do | |||
[ptc] has `git commit -p` mapped to <leader>c in vim | |||
jnthn is a heavy -p-er too | |||
11:52
tinyblak_ joined
|
|||
jnthn | Though I tend to ues git reset -p without a committish more often. :) | 11:52 | |
masak | oh, indeed | ||
11:55
tinyblak left
|
|||
Ven | I removed the GLR part from the learnx because it was confusing, I'll add it back once it comes to be | 11:56 | |
dalek | c: fb6f481 | paultcochrane++ | lib/Language/control.pod: Make the repeat/while docs viewable |
||
cognominal | GLR? | 11:58 | |
timotimo | Great List Refactor | ||
m: say &[<].signature.params[0].type | |||
camelia | rakudo-moar a7b45b: OUTPUT«(Mu)» | ||
timotimo | ^- why is this Mu now? | ||
cognominal | l'Arlésienne? :) | ||
arnsholt | timotimo: Has to be Mu to work with junctions, no? | 11:59 | |
jnthn | m: say &[<].signature.perl | ||
camelia | rakudo-moar a7b45b: OUTPUT«:($?, $?)» | ||
timotimo | arnsholt: it has to be Mu to also handle junctinos without being folded | ||
jnthn | Note that multi-dispatch failure also falls back to Junction dispatch | 12:00 | |
And that's a more efficient way to go, iirc | 12:01 | ||
timotimo | jnthn: if we find any parameter that doesn't istype(*, Any), we bail out of the junction unfolding optimization | ||
so the evaluation above is why "so 5 < 1|2|3" doesn't unfold any more | 12:02 | ||
masak | m: say 5 < 1|2|3 | ||
camelia | rakudo-moar a7b45b: OUTPUT«any(False, False, False)» | ||
masak | m: say so 5 < 1|2|3 | ||
camelia | rakudo-moar a7b45b: OUTPUT«False» | ||
masak | m: say so 5 < 1|9|3 | ||
camelia | rakudo-moar a7b45b: OUTPUT«True» | ||
jnthn | timotimo: If it's a multi, the optimizer could ask it if it has candidates that'll bind a Junction arg there | 12:04 | |
psch | oh, i've noticed an inconsistency :/ | ||
jnthn | The candidate list is known at compile time. | ||
timotimo | OK, so i'll have to look at the whole thing | 12:05 | |
the whole candidate list, that is | |||
psch | Perl6/Actions.nqp says the short names for the adverbs for tr/// are cm, sq and d, but core/Str.pm has them as c, s, d | ||
jnthn | timotimo: But you shouldn't really have to re-implmenet it all | ||
psch | i suspect that's me only converting half of them, but i'm not sure which are the right ones | ||
timotimo | but this code used to work, i think | ||
jnthn | timotimo: Since the multi-dispatcher should be able to tell you. | ||
timotimo | so maybe at some point $? parameters went from Any to Mu? | ||
psch | fwiw, roast has them as single letters | ||
timotimo | right, it should be able to, i'll figure it out | ||
jnthn | No, in CORE.setting we explicitly have them as Mu | ||
(just checked) | 12:06 | ||
timotimo | interesting | ||
i don't know why we would, though | |||
does it have to be that to allow for native int arguments and such? | |||
jnthn | No | 12:08 | |
arnsholt | Natives are subtypes of Int/Num, so no need for Mu there | ||
jnthn | Right | ||
I think it's to make sure the multi-dispatcher does the auto-threading. | 12:09 | ||
'cus it knows how to insert a "do the auto-thread" thing into the multi cache | |||
Which works out a lot cheaper than a bind failover. | |||
12:11
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
dalek | c: 376253f | paultcochrane++ | lib/Language/control.pod: Document the C<loop> statement ... by shamelessly copying the text from the spec.... |
12:13 | |
timotimo | ok | 12:14 | |
[Coke] | ugexe: I just checked, I don't have rights to update the project description, it seems. | 12:16 | |
dalek | kudo-star-daily: 204c5d4 | coke++ | log/ (2 files): today (automated commit) |
||
12:17
Akagi201 left
12:20
Akagi201 joined,
telex left
12:21
aborazmeh left
12:22
telex joined
12:29
raiph joined
12:32
tinyblak_ left
12:45
yqt joined
12:47
tinyblak joined
|
|||
timotimo | now i'm not totally sure any more how to ask the multi-dispatcher if junction fallbacks "will happen" or not | 12:48 | |
12:53
laouji left
12:56
yqt left
|
|||
nine | FROGGS: I've seen something about replacing packlists on the agenda for the PQAH. Maybe we find a solution that works for both Perl 5 and Perl 6? | 12:56 | |
Ven | timotimo: I must've not read the explanation correctly - what's wrong with look at Mu? | 12:59 | |
looking* | |||
FROGGS | nine: the first you'd have to do is to explain what a packlist is then :o) | 13:00 | |
timotimo | Ven: you know what my "junction unfolding" optimization does? | ||
Ven | timotimo: transforms $a == 3 | 4 to $a == 3 || $a == 4 ? | ||
timotimo | yes | 13:02 | |
nine | FROGGS: it's just a file containing a list of file names that belong to a distribution | ||
timotimo | you know what happens when you pass a junction in a parameter that's typed Mu? | ||
nine | nine@sunshine:~/install/roast (master=)> cat /usr/lib/perl5/site_perl/5.20.1/x86_64-linux-thread-multi/auto/Time/Mock/.packlist | ||
/usr/lib/perl5/site_perl/5.20.1/Time/Mock.pm | 13:03 | ||
/usr/share/man/man3/Time::Mock.3pm | |||
FROGGS | nine: ahh, our META6.json (described in S22) | 13:06 | |
Ven | timotimo: it binds it instead of "junctioning" | 13:11 | |
timotimo | correct | 13:12 | |
so in that case the junction unfolding optimization isn't allowed to be done | 13:14 | ||
13:27
rurban_ joined
|
|||
[Coke] | S22:1 | 13:47 | |
synbot6 | Link: design.perl6.org/S22.html#line_1 | ||
13:57
FROGGS left
13:58
adu joined
|
|||
Ven | \o/ synbot6 | 14:01 | |
masak | my inner nwc10 simulation says "do not stop until everything is *bot6" :) | 14:02 | |
Ven nicks venbot6 | 14:04 | ||
nwc10 | masak++ # well trained :-) | ||
Ven | (though really, I'm 20 already..) | ||
nwc10 | but, this is the first live IRC bot made with real dogfood? | ||
moritz | no | ||
we've had other p6 bots on and off | 14:05 | ||
nwc10 | OK | ||
are we logging the perl 5 channels with a perl 6 bot yet? :-) | |||
masak | oh, that would be swell | ||
14:06
cognominal left
|
|||
moritz | nwc10: no | 14:06 | |
I have the code to do it, but it simply isn't reliable enough (doesn't reconnect on errors, for example) | |||
dalek | kudo/nom: 239d74f | peschwa++ | src/Perl6/Actions.nqp: Correct tr/// adverbs to match .trans named parameters. |
14:13 | |
14:14
FROGGS[mobile] joined
14:16
Ven left
14:19
Ven joined
14:20
Ven left
14:29
bjz left
|
|||
TimToady | m: 3 % 0; | 14:31 | |
yoleaux | 14 Apr 2015 22:35Z <japhb> TimToady: What was the purpose of rakudo commit 872d74cd2c320217894a3b0d5331b4c625b13022 (don't cache Rat literals)? | ||
camelia | rakudo-moar 683078: OUTPUT«Earlier failure: Divide by zero using infix:<%> in block <unit> at /tmp/t_DavkAgGK:1Final error: Type check failed for return value; expected 'Int' but got 'Failure' in any return_error at src/vm/moar/Perl6/Ops.nqp:639 in sub infix:…» | ||
TimToady | .tell japhb Er, to not cache Rat literals? I don't think there are are that many common ones, unlike Ints. | 14:35 | |
yoleaux | TimToady: I'll pass your message to japhb. | ||
TimToady | Are! There be too many! | 14:36 | |
14:37
alini left
14:38
grondilu joined
|
|||
grondilu | m: say first { sqrt([+] @$_ X** 2) ~~ Int }, [(^250).pick(4)] xx *; # rosettacode.org/wiki/Euler%27s_sum_...conjecture | 14:38 | |
14:38
Rounin left
|
|||
camelia | rakudo-moar 683078: OUTPUT«(timeout)» | 14:38 | |
grondilu | yeah that was probably too optimistic | 14:39 | |
moritz | grondilu: sqrt won't ever return an Int | 14:41 | |
m: say sqrt(4).^name | |||
camelia | rakudo-moar 683078: OUTPUT«Num» | ||
moritz | m: say sqrt(4).narrow.^name | 14:42 | |
camelia | rakudo-moar 683078: OUTPUT«Int» | ||
moritz | might work with .narrow | ||
grondilu | testing for integerness should be a bit easier, imho | 14:47 | |
14:48
prammer joined
|
|||
[Coke] | m: say first { sqrt([+] @$_ X** 2).narrow ~~ Int}, [(^250).pick(4)] xx * | 14:50 | |
camelia | rakudo-moar 239d74: OUTPUT«83 28 158 62» | ||
moritz | grondilu: you can also test against { .Int == $_ } | ||
[Coke] | .narrow seems like it could be less wasteful than a full conversion. (but probably isn't) | 14:51 | |
moritz | .narrow *does* a conversion | 14:52 | |
14:54
estrabd joined
14:56
molaf_ joined
14:58
molaf__ left
15:01
skids joined,
lichtkind joined
|
|||
hoelzro | o/ #perl6 | 15:05 | |
grondilu | m: (my %fifth){$_}++ for ^250 X** 5; say first { %fifth{[+] @$_ X** 5} }, combinations(250, 4); | 15:10 | |
camelia | rakudo-moar 239d74: OUTPUT«(timeout)» | ||
15:10
skids left
15:11
muraiki joined,
yvan1 left
|
|||
moritz | m: (my %fifth){$_}++ for ^250 X** 5; say %fifth.keys.sort[^20] | 15:12 | |
camelia | rakudo-moar 239d74: OUTPUT«0 1 100000 10000000000 101621504799 1024 102400000 1048576 104857600000 10510100501 1073741824 108175616801 11040808032 111577100832 115063617043 115856201 11592740743 1160290625 118636749824 11881376» | ||
moritz | m: (my %fifth){$_}++ for ^250 X** 5; say %fifth.keys.sort(+*)[^20] | ||
camelia | rakudo-moar 239d74: OUTPUT«0 1 32 243 1024 3125 7776 16807 32768 59049 100000 161051 248832 371293 537824 759375 1048576 1419857 1889568 2476099» | ||
TimToady | m: (my %fifth{Any}){$_}++ for ^250 X** 5; say %fifth.keys.sort[^20] | 15:13 | |
camelia | rakudo-moar 239d74: OUTPUT«0 1 32 243 1024 3125 7776 16807 32768 59049 100000 161051 248832 371293 537824 759375 1048576 1419857 1889568 2476099» | ||
TimToady | m: (my %fifth{Int}){$_}++ for ^250 X** 5; say %fifth.keys.sort[^20] | 15:14 | |
camelia | rakudo-moar 239d74: OUTPUT«0 1 32 243 1024 3125 7776 16807 32768 59049 100000 161051 248832 371293 537824 759375 1048576 1419857 1889568 2476099» | ||
grondilu | m: (my %fifth){$_}++ for my @fifth = ^250 X** 5; say first { %fifth{[+] @fifth[@$_]} }, combinations(250, 4); | ||
camelia | rakudo-moar 239d74: OUTPUT«(timeout)» | 15:15 | |
grondilu | ^this should be quite fast | ||
15:15
rurban_ left
15:16
cognominal joined
|
|||
moritz | m: my \u = 100; (my %fifth){$_}++ for my @fifth = ^u X** 5; say first %fifth{[+] @fifth[@$_]} }, combinations(u, 4); | 15:16 | |
camelia | rakudo-moar 239d74: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZuMGcMaVNnUnexpected closing bracketat /tmp/ZuMGcMaVNn:1------> 3* 5; say first %fifth{[+] @fifth[@$_]} 7⏏5}, combinations(u, 4);» | ||
moritz | m: my \u = 100; (my %fifth){$_}++ for my @fifth = ^u X** 5; say first { %fifth{[+] @fifth[@$_]} }, combinations(u, 4); | 15:17 | |
camelia | rakudo-moar 239d74: OUTPUT«(timeout)» | ||
moritz | m: say combinations(10, 4).perl | ||
camelia | rakudo-moar 239d74: OUTPUT«([0, 1, 2, 3], [0, 1, 2, 4], [0, 1, 2, 5], [0, 1, 2, 6], [0, 1, 2, 7], [0, 1, 2, 8], [0, 1, 2, 9], [0, 1, 3, 4], [0, 1, 3, 5], [0, 1, 3, 6], [0, 1, 3, 7], [0, 1, 3, 8], [0, 1, 3, 9], [0, 1, 4, 5], [0, 1, 4, 6], [0, 1, 4, 7], [0, 1, 4, 8], [0, 1, 4, 9], [0,…» | ||
grondilu | m: say [*] (100 ... 0) Z/ 1 .. 4; | 15:18 | |
camelia | rakudo-moar 239d74: OUTPUT«3921225» | ||
moritz | m: sub postfix:<!>($x) { [*] 1..$x }; say 250! / (4! * 246!) | ||
grondilu | m: say [+] (rand for ^3921225); | ||
camelia | rakudo-moar 239d74: OUTPUT«1960141.78214114» | 15:19 | |
rakudo-moar 239d74: OUTPUT«158882750» | |||
grondilu | m: say [+] (rand for ^[*] (250 ... 0) Z/ 1 .. 4); | ||
camelia | rakudo-moar 239d74: OUTPUT«(timeout)» | 15:20 | |
15:20
raiph left
|
|||
[Coke] | Yes, I know it does. but it seems like that's the easiest implementation, and that there might be a faster way to get the narrowed type. | 15:25 | |
15:27
diana_olhovik left
|
|||
grondilu | m: say 1.0 ~~ Int # to me that being false is LTA | 15:27 | |
camelia | rakudo-moar 239d74: OUTPUT«False» | ||
grondilu | m: say 10/2 ~~ Int # same for this | 15:28 | |
camelia | rakudo-moar 239d74: OUTPUT«False» | ||
grondilu | m: say 1 + 0i ~~ Int # and that | 15:29 | |
camelia | rakudo-moar 239d74: OUTPUT«False» | ||
15:29
Possum left
|
|||
TimToady | that behavior would also be suboptimal, just differently :) | 15:30 | |
15:31
adu left
|
|||
grondilu | or maybe we could have a different operator. | 15:31 | |
15:31
zakharyas left
|
|||
TimToady | that's why we have .narrow | 15:31 | |
m: say (1+0i).narrow ~~ Int | |||
camelia | rakudo-moar 239d74: OUTPUT«True» | ||
grondilu | well, yeah. | 15:32 | |
TimToady | maybe you want something on the Int side that says "can narrow to Int without loss of round-tripping" | 15:33 | |
Int() doesn't quite do that | |||
grondilu | std: Int(Num) | ||
camelia | std 28329a7: OUTPUT«ok 00:00 135m» | ||
grondilu | m: say 1 + 0i ~~ Int(Num) | ||
camelia | rakudo-moar 239d74: OUTPUT«False» | ||
grondilu | ^ would that make some sense? | 15:34 | |
TimToady | not before more coffee, and probably not after either :) | ||
m: say 1 + 0i ~~ Int(Real) | 15:35 | ||
camelia | rakudo-moar 239d74: OUTPUT«False» | ||
grondilu | this is something that bothers me sometimes. In maths, integers form a subsets of the rationals, which form a subset of real numbers etc. But in programming languages, that's not how things work. | 15:36 | |
I mean, a Rat should be a Int as long as its denominator is 1. | |||
subset Int of Rat where *.nude[1] == 1; | 15:37 | ||
subset Real of Complex where *.im == 0; # and so on. | |||
it's like everything is upside down in the core. | 15:38 | ||
TimToady | m: say Int ~~ Rational | 15:41 | |
camelia | rakudo-moar 239d74: OUTPUT«False» | ||
TimToady | I thought that used to be true... | ||
star-m: say Int ~~ Rational | |||
camelia | star-m 2013.03: OUTPUT«False» | ||
moritz | never | ||
[Coke] | m: say Int ~~ Rat | 15:42 | |
camelia | rakudo-moar 239d74: OUTPUT«False» | ||
moritz | m: say Int ~~ Real | ||
camelia | rakudo-moar 239d74: OUTPUT«True» | ||
TimToady | ah, that were it | ||
moritz | Rational is the thing with nu and de :-) | ||
TimToady | m: say Rational[Int,1] | ||
camelia | rakudo-moar 239d74: OUTPUT«(Rational[Int,Int])» | ||
TimToady | oopsie :) | 15:43 | |
I think I was speculating about defined a fixed point type as Rational[Int,100000] or so | 15:44 | ||
"assumed decimal point" | |||
15:44
Possum joined
15:48
Akagi201 left
15:51
tinyblak left
15:55
RabidGravy joined
16:03
skids joined
16:05
alini joined
16:10
anaeem1 joined,
robinsmidsrod left,
robinsmidsrod joined
|
|||
nine | S11 talks about different versions of a compunit. How can those exist? As I understand it, I'd say different versions of a module are different compunits | 16:12 | |
16:14
spider-mario joined
16:15
cschwenz left
16:20
eli-se joined
16:23
nbdsp joined
16:24
RabidGravy left
|
|||
nbdsp | Greetings! Could someone advise please how to determine the object identity of the caller of a function. Something like CALLER::<WHICH>? | 16:26 | |
16:31
anaeem1 left,
yvan1 joined,
anaeem1 joined
16:32
raiph joined
|
|||
moritz | nbdsp: I don't think you can | 16:33 | |
nbdsp: what do you need it for? | |||
nbdsp | moritz: I want to emulate protected class members by checking the identity of the caller. | 16:34 | |
moritz | nbdsp: but for that you'd need the package of the caller, no? | 16:35 | |
not the identity | |||
FROGGS[mobile] | bartolin: are you comming to the lobby or are you hunting for the Kuchenkaiser then? | ||
nbdsp | It depends on the definition of 'protected': class-wise or object-wise. But how to check the caller's package? | 16:36 | |
eli-se | hi | 16:37 | |
moritz | nbdsp: either callframe() offers that, or I'm sure you can get to it though the backtrace | ||
16:38
RabidGravy joined
|
|||
moritz | doc.perl6.org/type/Backtrace | 16:38 | |
nbdsp | I just thinked of a better way: add some checking function to derived class methods and call it from the base class. | 16:40 | |
But isn't it indeed impossible to get the WHICH data from the caller? | 16:42 | ||
b2gills | m: sub postfix:<!>( UInt() $x ) is tighter(&[*]) { [*] 2..$x }; #`( I'm not sure its precedence is correct ) say $_! for 0..5,-1 | 16:45 | |
camelia | rakudo-moar 239d74: OUTPUT«112624120Earlier failures: Coercion to UInt out of range. Is: -1, should be in 0..Inf in sub postfix:<!> at /tmp/Xgg4cpAM7S:1 in block <unit> at /tmp/Xgg4cpAM7S:1Final error: Cannot call Real(Failure: ); none of these …» | ||
16:48
abraxxa left
16:49
Akagi201 joined
16:50
SHODAN left
16:51
SHODAN joined
|
|||
moritz | nbdsp: well, in the VM we have the callee's callframe | 16:51 | |
nbdsp: but what good would it do you if you had the callframe's .WHICH? | |||
16:51
tinyblak joined
|
|||
moritz | nbdsp: it just tells you if the current call(stack)frame has called you before (if you store the previous ones) | 16:52 | |
nbdsp: anyway, if you really do want protected emulation (which is a bad idea enough in itself), then you should do it statically and through the MOP | |||
16:56
gfldex joined
16:57
tinyblak left,
alini left
|
|||
nbdsp | moritz: isn't 'self' is defined in the outer callframe scope? Is it possible to reference 'self' in the caller's scope? | 16:57 | |
16:57
dakkar left
16:58
Rounin joined
|
|||
bartolin | FROGGS[mobile]: I'll go to the Kuchenkaiser directly, I think. are you already there? | 16:59 | |
17:00
mr-foobar joined
|
|||
FROGGS[mobile] | bartolin: we just arrived | 17:00 | |
bartolin | FROGGS[mobile]: great. I'll need about half an hour .. | 17:02 | |
FROGGS[mobile] | \o/ | 17:03 | |
nbdsp | moritz: you are right, anyways: protected members violate encapsulation and it'd better to implement getters/setters in the base class. | 17:05 | |
Though getters/setters also violate encapsulation if can be world called. Protected members express the idea of private data common to the base/derived hierarchy. I don't see why such a shared private data is neccesseraly bad idea. | 17:15 | ||
17:23
KCL joined
17:26
KCL_ left
|
|||
eli-se | lol | 17:27 | |
moritz | nbdsp: it's bad because it force everybody who wants to access the data to inherit from your class | 17:37 | |
nbdsp: and since child classes can access protected stuff, and anybody can be your child class, it's part of the public API anyway, and must be documented and tested just like the rest of the public API | 17:38 | ||
nbdsp: so, why not make it public right away? | |||
nwc10 | moritz: I forgot to ask earlier - is the code for your Perl 6 IRC logger client online anywhere? | 17:39 | |
moritz | nwc10: I have no idea | ||
nwc10 | that wash't an answer I expected. | ||
"Yes" or "no" or possibly "soon" | |||
but you surprised me. | |||
moritz | nwc10: if not, it's likely lost, since my laptop hard disk died two days ago | ||
17:39
[TuxCM] joined
|
|||
nwc10 | oh :-( | 17:40 | |
poor laptop | |||
sadly that also explains that "no idea", because you can't ask your laptop | |||
moritz | correct | 17:41 | |
17:44
espadrine left
|
|||
skids | nbdsp: It isn't implemented yet IIRC, but if you really must have protected attributes, you would put them in a role with a "trusts" statement. | 17:45 | |
17:46
nbdsp left,
[TuxCM] left
|
|||
skids | ndsp: but for the reasons mortiz mentioned, you just end up making a mess because someone will "need" to get at them and abuse a subclass to do it. | 17:46 | |
geekosaur | .oO {the rigor of mortiz } | 17:52 | |
17:53
brrt joined
17:55
brrt left
17:56
raiph left
17:57
brrt joined
|
|||
skids | My typing deteriorates on a full stomach :-) | 17:58 | |
18:01
eli-se left
18:06
telex left
18:08
telex joined
18:11
yvan1 left
18:15
raiph joined
18:27
eli-se joined,
andreoss joined
18:28
Vlavv_ left
18:32
cognominal left
|
|||
moritz | skids: trusts is implemented | 18:39 | |
skids | moritz: Oh cool, I'll have to ponder whether I had a use for it. | 18:40 | |
18:40
Vlavv_ joined
|
|||
moritz | fwiw rakudo uses trusts in one place in its setting | 18:43 | |
Promise trusts Vow (and Vow is a private class within Promise) | |||
18:51
vendethiel- joined
18:52
brrt left,
yqt joined
18:53
vendethiel left
18:57
yqt left
|
|||
timotimo | 19:04 | ||
sorry, cat was at it again | |||
19:06
kaare__ joined,
kaare_ left
19:07
rindolf left
19:11
rindolf joined
19:17
robinsmidsrod left
19:18
alini joined
19:19
robinsmidsrod joined
19:25
pdcawley left
19:30
rindolf left
19:31
andreoss` joined
19:35
andreoss left
19:38
andreoss` left
|
|||
TimToady | psch: I almost never use :e! since I have autowrite set, and typically write it out by suspending | 19:42 | |
though I don't suppose that'd work so well for gvim... | 19:43 | ||
psch | TimToady: i used :e! after switching branches | ||
TimToady: and thus could undo beyond the branch switch | |||
or before rather | 19:44 | ||
TimToady | sure, and I can undo after a suspend just the same way | ||
psch | oh, right | ||
TimToady | I typically leave all my vim sessions in the background while compiling | ||
or when doing anything else | |||
psch | i'm mostly running screen | ||
TimToady | works fine there too | 19:45 | |
grondilu | &/quit | ||
19:45
grondilu left
|
|||
psch | well, yeah. screen is why i don't suspend, and i :e after switching branches to look | 19:45 | |
there's probably potential to improve my workflow, seeing as i overlooked debug says... :) | 19:46 | ||
arnsholt | Bound to happen eventually, to be fair. That's why reviews are a thing =) | 19:47 | |
19:47
Zoffix left
|
|||
TimToady also relies heavily on vim's undo as a mini-revision-control system | 19:48 | ||
psch | m: $_ = "bookkeeper"; tr:s/a..z/a..z/; .say | ||
19:48
Zoffix joined
|
|||
camelia | rakudo-moar 239d74: OUTPUT«bokeper» | 19:48 | |
19:48
Zoffix left,
Zoffix joined
|
|||
psch | i've read again and again about undotree, but i'm usually too lazy/(scared of data loss) to heavily customize my environment | 19:49 | |
the bit of escape codes that puts PWD and $0 (plus filename for vim) into screens ^A" is about as far as i'll go | 19:50 | ||
otherwise i'll just rename the screens manually and that's something that should be automated | |||
19:54
tinyblak joined
19:58
tinyblak left
20:05
kaare__ left
20:07
yvan1 joined,
dalek left
20:08
dalek joined,
ChanServ sets mode: +v dalek
20:15
vendethiel- left
|
|||
dalek | c: 6dfe113 | moritz++ | WANTED: Add Str.substr-eq to WANTED |
20:16 | |
20:20
darutoko left,
vendethiel joined
|
|||
dalek | ecs: 724a503 | paultcochrane++ | S04-control.pod: Fix minor typo |
20:20 | |
20:29
dalek left
20:30
dalek joined,
ChanServ sets mode: +v dalek
20:31
mohij joined
20:39
eli-se left
|
|||
dalek | c: 005b7ca | (Steve Mynott)++ | lib/Type/Proc/Async.pod: typos |
20:41 | |
ast: e1b2360 | peschwa++ | S05-transliteration/trans.t: Unfudge now passing tests. |
20:43 | ||
masak | 'night, #perl6 | 20:51 | |
raydiak | good night masak | ||
good afternoon #perl6 | 20:52 | ||
20:56
nbdsp joined
|
|||
dalek | c: 6b814dd | (Steve Mynott)++ | lib/Type/ (2 files): moar typos |
20:58 | |
20:58
eli-se joined
|
|||
nbdsp | Greetings! Could someone advise please is it possible to reference 'self' variable vesible in a class method from a called function? Something like this: sub foo { say CALLER::<$self.WHAT> }; class C { method meth { foo } } | 21:00 | |
PerlJam | nbdsp: that method has no "$self variable" | 21:05 | |
nbdsp | Well, yes, that was a pseudocode. Is it possible to reference from 'foo' a variable which in C::meth is referenced as 'self'? | 21:07 | |
21:08
anaeem1 left
|
|||
moritz | you can only access variables through caller if they were declared as dynamic variables | 21:10 | |
and self isn't | |||
psch | m: class A { method meth($*self:) { f } }; sub f { say $*self }; A.new.meth; # o.o | ||
camelia | rakudo-moar 239d74: OUTPUT«A.new» | ||
psch | i don't think that's a sensible thing to do, fwiw | 21:11 | |
vendethiel | ...that's amazing. | 21:12 | |
paging eli-se for some reason. | |||
eli-se | paging me?! | ||
vendethiel | pinging | ||
eli-se | oh | ||
I'm confused. | |||
jercos | help, my pager is beeping and it won't stop | 21:13 | |
vendethiel | eli-se: "method x($*self:)" dynamic caller. | ||
eli-se | terrible | 21:14 | |
21:14
bjz joined
|
|||
eli-se | I avoid dynamic variables like the plague until they're fixed (i.e. namespaced). | 21:14 | |
nbdsp | moritz: not neccesseraly through CALLER. Maybe through OUTER or somehow else? | 21:15 | |
japhb | .botsnack | 21:17 | |
yoleaux | :D | ||
synbot6 | om nom nom | ||
yoleaux | 14:35Z <TimToady> japhb: Er, to not cache Rat literals? I don't think there are are that many common ones, unlike Ints. | ||
b2gills | m: sub test { CALLERS::<&?ROUTINE>.package.d }; class C { method d { say 'hi'}; method a { test }}; C.new.a | ||
camelia | rakudo-moar 239d74: OUTPUT«hi» | ||
japhb | Ah, so it was simply a matter of "the hit ratio will probably be low, so why cache these at all?" | ||
PerlJam | "CALLERS"? | 21:18 | |
PerlJam learns something new | |||
nbdsp | b2gills: thanks! | ||
21:20
alini left
21:21
skids left
21:22
RabidGravy left
|
|||
b2gills | Note that it doesn't call the method on an instance of the object | 21:23 | |
psch | which means it doesn't actually get self but the type object | 21:25 | |
21:25
coffee` joined
|
|||
psch | m: class A { has $.foo = "bar"; method m { baz } }; sub baz { CALLERS::<&?ROUTINE>.package.foo.say }; A.new.m | 21:26 | |
camelia | rakudo-moar 239d74: OUTPUT«Cannot look up attributes in a type object in method foo at src/gen/m-CORE.setting:4009 in sub baz at /tmp/kC7eF3Xycb:1 in method m at /tmp/kC7eF3Xycb:1 in block <unit> at /tmp/kC7eF3Xycb:1» | ||
21:26
cschwenz joined
|
|||
cschwenz | Hello #perl6! | 21:27 | |
psch | although iirc the point was implementing «protected», so that doesn't matter | ||
hi cschwenz \o | |||
hoelzro | o/ cschwenz | 21:28 | |
good to see you finally showing your face here =) | |||
cschwenz | I need some help with getting perl6 to run via a #! line. | ||
o/ hoelzro | |||
pastebin.com/1uqxs1kT | |||
what am i doing wrong? | |||
hoelzro | cschwenz: what about "type perl6" instead of "which perl6"? | 21:29 | |
cschwenz | result is: perl6 is hashed (/usr/local/bin/perl6) | ||
hoelzro | your shell may be using a hashed path for perl6 | ||
hmm | |||
ok | |||
psch | cschwenz: it's not really you doing something wrong. perl6 is itself a bash script, but most *nix-y shells don't chain shebangs | ||
err, maybe not "most" | |||
and maybe it's not the shells fault | |||
i do know that linux allows it... :) | 21:30 | ||
irclog.perlgeek.de/perl6/2015-01-31#i_10038252 | 21:31 | ||
cschwenz | ah, that's good to know :-) | ||
PerlJam | Does env fix it? | 21:32 | |
cschwenz | \o/ #!/usr/bin/env perl6 works on OS X | ||
:-D | |||
thanks all! | 21:33 | ||
and i learned perl6 is a bash script :-P | |||
TimToady | shh! | ||
japhb | Any sufficiently advanced Bash script is indistinguishable from Perl 6 | 21:34 | |
TimToady | or I gues I should just say sh! | ||
*ss | |||
japhb | I guess I should have said 'Any sufficiently advanced Bash script is indistinguishable from `perl6`' | 21:35 | |
.ask timotimo What becamse of JSON::Fast? Was the faster parser merged into Rakudo? | |||
yoleaux | japhb: I'll pass your message to timotimo. | ||
21:37
eli-se left
21:46
robinsmidsrod left
21:47
robinsmidsrod joined
21:49
pyrimidi_ joined
21:56
lichtkind left
21:57
muraiki left
22:03
lizmat joined
22:05
vendethiel left
22:07
vendethiel joined
22:13
mohij left
|
|||
cschwenz | does unlink do the same thing in perl6 as it does in perl5? (asking because doc.perl6.org/routine/unlink is 404 :-/ ) and if so, would it be called on the file-handle ($fh.unlink) or in the exact same way as perl5 (unlink $path)? | 22:22 | |
lizmat | .tell nine S22:235 specifies depends as "A list of run-time dependencies, specified as C<use> strings." | 22:24 | |
yoleaux | lizmat: I'll pass your message to nine. | ||
synbot6 | Link: design.perl6.org/S22.html#line_235 | ||
lizmat | .tell nine so you can depend on a specific version / auth of a module | ||
yoleaux | lizmat: I'll pass your message to nine. | ||
lizmat | cschwenz: "foo".IO.unlink would unlink the file "foo" | 22:25 | |
unlink "foo" would do the same | |||
cschwenz | ah, thanks :-) | ||
is the 404ed page intentional (that is, is it in flux)? | 22:26 | ||
also, fwiw, doc.perl6.org/type/IO has no mention of unlink. | 22:29 | ||
lizmat | well, I'm now at the QA Hackathon in Berlin | 22:30 | |
my personal goal is to not have to deal with the newio branch by the end of the Hackathon | |||
cschwenz | :-) | ||
lizmat | I'm not sure yet what that means :-) | ||
fact is, I lost track of what is already in nom and what is still in newio | 22:32 | ||
and what is obsolete, and what isn't | 22:33 | ||
anyway, first getting some sleep now | |||
& | |||
cschwenz | good night lizmat! and thanks for the help. | 22:34 | |
22:35
gfldex left
22:37
lizmat left
22:43
rararara_ joined
22:44
KimmoNO left
22:46
dolmen joined
22:49
Rounin left
22:55
KimmoNO joined
22:57
dolmen left
22:59
cschwenz left
23:06
avuserow left,
avuserow joined
23:07
JimmyZ joined
23:11
skids joined
|
|||
timotimo | japhb: it was not merged yet. it doesn't properly complain about numbers illegaly starting with a 0 | 23:12 | |
yoleaux | 21:35Z <japhb> timotimo: What becamse of JSON::Fast? Was the faster parser merged into Rakudo? | ||
timotimo | i'd love for somebody to actually try it out a bit :) | 23:13 | |
give me more benchmark data and stuff | |||
and before it gets into rakudo, i may want to fix up the "junction unfolding" optimization and write pieces of JSON::Fast to be less ugly | |||
23:18
andreoss joined
23:20
tinyblak joined,
tinyblak left
|
|||
andreoss | m: D: for 1..10 -> \D { for 1..10 -> \E { say D,E and last D if E == 1}} | 23:21 | |
camelia | rakudo-moar 239d74: OUTPUT«112131415161718191101» | ||
andreoss | it'd be a nice feature for sigiless variables to be also a loop label | 23:22 | |
colomon | timotimo: I will try to find time to look at JSON::Fast this week, since faster p6 JSON would be a big win for my $work. :) | 23:26 | |
23:29
rararara_ left
23:31
fhelmberger_ joined
23:32
dj_goku_ joined
23:34
gargamel_ joined,
mr-fooba_ joined,
pmichaud_ joined,
perlpilot joined,
sivoais_ joined
23:35
huf_ joined,
torbjorn_ joined,
zoosha_ joined,
haroldwu_ joined,
atta_ joined
23:38
charsbar__ joined,
mr-foobar left,
sivoais left,
vytas left,
smi1er_ left,
gargamel left,
vytas joined,
telex left,
BenGoldberg joined
23:39
fhelmberger left,
ShimmerFairy left,
torbjorn left
23:40
ShimmerFairy joined,
telex joined
23:42
smi1er joined
23:46
aborazmeh joined,
aborazmeh left,
aborazmeh joined
23:49
jobine joined
23:50
jobine left
|
|||
timotimo | i'm glad | 23:52 | |
23:53
tinyblak joined
23:56
Akagi201 left,
Akagi201 joined,
Akagi201 left,
Akagi201 joined
23:57
Akagi201 left
|
|||
timotimo | it should be as easy as s/use JSON::Tiny/use JSON::Fast/ | 23:59 |