»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by moritz on 3 May 2013. |
|||
00:02
kurahaupo left
00:04
kurahaupo joined
00:06
adu left
00:22
btyler left
00:26
Chillance left
00:40
lue left
00:54
lue joined
01:06
anuby joined
01:14
lue left
01:22
fgomez left
|
|||
colomon | .ask masak github.com/masak/html-template/pull/6 ..... | 01:26 | |
yoleaux | colomon: I'll pass your message to masak. | ||
01:26
lue joined
01:27
Pleiades` left
01:30
Pleiades` joined
01:32
btyler joined
01:36
snearch left
01:42
FROGGS left
01:52
snoopy joined
01:55
FROGGS joined
01:58
btyler left
02:02
fgomez joined
02:04
lustlife joined
02:05
kurahaupo left
02:07
kurahaupo joined
02:19
dmol1 left
02:25
dmol joined
|
|||
colomon | resolve stage failed for Rakudo::Debugger: Could not find file 'Build' for module Build | 02:32 | |
02:34
raiph joined
02:42
kurahaupo left
02:44
cooper joined
02:45
cooper left,
cooper joined
02:49
kurahaupo joined,
konundra joined
02:50
s1n left
02:52
imIKARi joined
02:54
kurahaupo left
02:55
kurahaupo joined
02:56
kurahaupo left
03:05
s1n joined
03:23
jaldhar joined
03:26
grondilu left
03:31
mdxi joined,
mdxi left
03:36
jaldhar left
03:40
jaldhar joined
03:49
raiph left
03:51
preflex_ joined,
preflex left
03:52
preflex_ is now known as preflex
04:21
raiph joined
04:29
Patterner left
04:31
Psyche^ joined,
Psyche^ is now known as Patterner
04:45
raiph left
04:46
lue left
04:51
lue joined
04:52
PAAGOAR joined
05:22
SamuraiJack_ joined
05:43
SamuraiJack__ joined,
SamuraiJack_ left
05:55
muixirt joined,
SamuraiJack joined
05:56
SamuraiJack__ left
05:58
PacoAir joined
05:59
cognominal left
|
|||
muixirt | good morning | 06:00 | |
sorear | o/ | ||
muixirt | why isn't the first exmple in classtut working anymore? | 06:01 | |
Teratogen | tut tut | 06:02 | |
sorear | what are you doing here | 06:04 | |
Teratogen | hanging out | ||
how are you doing this evening, sorear? | 06:05 | ||
=) | |||
muixirt | (doc.perl6.org/language/classtut) | ||
06:05
PacoAir left
|
|||
sorear | good | 06:06 | |
06:08
SamuraiJack left
06:11
raiph joined
06:27
rindolf joined
06:31
kaleem joined
06:34
FROGGS left
06:40
dmol left
06:44
domidumont joined
06:46
domidumont left
06:50
FROGGS joined
06:52
SamuraiJack joined
07:06
cibs left,
domidumont1 joined
|
|||
moritz | muixirt: because it uses the default constructor to initialize private attributes; see the discussion yesterday | 07:07 | |
the docs need to be fixed | |||
07:15
sqirrel joined
07:20
imIKARi left
|
|||
dalek | rl6-bench: bc2907d | (Geoffrey Broadwell)++ | / (2 files): Support setting --enough-time for scalable tests |
07:33 | |
rl6-bench: 84f9723 | (Geoffrey Broadwell)++ | / (4 files): Add ability to ignore compile time, by doing '0 scale' runs before main scaled timing loop, and then later subtracting that time back out; refactor scaled timing loop to be more flexible and clearer; fix a microbenchmark that would loop forever with 0 scale |
|||
07:35
raiph left
07:36
denisboyun_ joined
|
|||
FROGGS | ohh, fuzzy logic | 07:36 | |
dalek | p: c557c27 | moritz++ | Configure.pl: be smarter about guessing Darwin architecture Closes #100 |
07:50 | |
07:56
dalecooper joined
08:02
cognominal joined,
cognominal left,
cognominal joined
|
|||
dalek | rl6-bench: 946f2d0 | (Geoffrey Broadwell)++ | / (2 files): Support axis labels for plots, including custom labels for rc-forest-fire and rc-man-or-boy-test |
08:05 | |
08:10
sqirrel left
08:11
tgt joined
08:12
domidumont1 left
08:15
domidumont joined
|
|||
muixirt | sorry moritz , was afk | 08:17 | |
labster | good morning | 08:18 | |
moritz | muixirt: no problem | 08:19 | |
good morning labster, * | |||
muixirt | moritz: the error message i got was: 'Nominal type check failed for parameter '@dependencies'; expected Positional but got Array instead' | 08:20 | |
and that seems not to depend on how 'dependencies' and 'callback' are declared | 08:25 | ||
08:27
SamuraiJack left,
snearch joined
08:28
SamuraiJack joined
|
|||
labster | rn: my class A { has $.foo = "hi"; method foo { say "foo"; }; }; A.new.foo | 08:28 | |
camelia | rakudo 25a0b3: OUTPUT«foo» | ||
..niecza v24-51-g009f999: OUTPUT«===SORRY!===Two definitions of method foo (see line 1) at /tmp/9w2NDFWoPc line 1:------> class A { has $.foo = "hi"; method foo ⏏{ say "foo"; }; }; A.new.fooUnhandled exception: Check failed at /home/p6eval/ni… | |||
labster | although, that bug/feature is the only thing making my code work right now. | 08:29 | |
moritz | muixirt: could you please open a ticket at github.com/perl6/doc/issues/new | ||
labster: rakudo is correct there | |||
labster | cool, wasn't sure, didn't feel like looking it up :) | 08:30 | |
08:34
cibs joined
08:35
daniel-s joined
|
|||
labster | change one character in IO::Handle: $.path -> $!path ===> Cannot unbox a type object as a native str | 08:42 | |
08:43
dakkar joined
|
|||
moritz | it probably means that $!path isn't initialized | 08:44 | |
and then it's Any | |||
that's a type object | |||
dagurval | morning o/ | ||
moritz | and some object tries to uses it as a string, unboxes, and its nose hits the road | ||
\o morning dagurval | |||
labster | oh, that's fair, and $.path is a method, which isn't an Any... yet. | ||
morning dagurval, working on your IO::Handle.path request now :) | 08:45 | ||
dagurval | labster: sweet! :) | ||
moritz | if you say 'has $.path', then it marks the attribute as public, meaning that a .new(path => $foo) can initialize it | ||
so it doesn't just add an accessor, it also changes initialization | 08:46 | ||
so even if you write a 'method path', it can make sense to declare the attribute as public | |||
labster | It also changes output: IO::Handle.new(ins => 0, chomp => Bool::True, path => IO::Path.new(basename => "INSTALL.txt", directory => ".", volume => "")) | ||
moritz | yes, .perl also hides private attributes by default | 08:47 | |
labster | I'm wondering if it makes sense to change the name of the attribute. After all, a pipe isn't exactly a path. | 08:48 | |
I just can't think of a good name for it | 08:49 | ||
moritz | 'resource' # as generic as it goes | ||
file-system-representation | 08:50 | ||
moritz likes none of his ideas | |||
labster | Already came up with resource, also didn't like it. | ||
08:51
fhelmberger joined
|
|||
labster | Although, pretty much no one uses IO::Handle.new directly, to it might not matter. | 08:51 | |
*so it might | 08:52 | ||
FROGGS | there will be ppl who uses it directly, no doubt | ||
dagurval | people always use an API in ways you won't expect :) | ||
08:52
domidumont left
|
|||
labster | No one complained when when we renamed it from IO to IO::Handle, and that was last month :) | 08:52 | |
Of course, we haven't had a star release in a while. | 08:53 | ||
08:53
domidumont joined
|
|||
dalek | rl6-bench: 2b06b5b | (Geoffrey Broadwell)++ | analyze: Note in analyze output when compile time is being ignored |
09:00 | |
rl6-bench: e00a844 | (Geoffrey Broadwell)++ | mi (2 files): Set larger minimum scales to avoid noise at left of plots when compile time is ignored, potentially preventing nonsense performance ratios |
|||
09:05
daxim joined
09:06
japhb_ left
09:22
domidumont left
09:23
domidumont joined
|
|||
muixirt | rn: sub test($a, Int *@b) { say $a, @b; }; test(1,2) | 09:24 | |
camelia | niecza v24-51-g009f999: OUTPUT«12» | ||
..rakudo 25a0b3: OUTPUT«Nominal type check failed for parameter '@b'; expected Positional but got Array instead in sub test at /tmp/iGxn8YtEWs:1 in block at /tmp/iGxn8YtEWs:1» | |||
09:50
rindolf left
09:58
sqirrel joined
10:03
rindolf joined
10:04
denisboyun_ left
|
|||
colomon | rn: sub test(Int *@b) { say @b }; test(1, 2) | 10:05 | |
camelia | niecza v24-51-g009f999: OUTPUT«1 2» | ||
..rakudo 25a0b3: OUTPUT«Nominal type check failed for parameter '@b'; expected Positional but got Array instead in sub test at /tmp/dSd_6C2Lnx:1 in block at /tmp/dSd_6C2Lnx:1» | |||
colomon | rn: sub test(*@b) { say @b }; test(1, 2) | ||
camelia | rakudo 25a0b3, niecza v24-51-g009f999: OUTPUT«1 2» | ||
colomon | known rakudobug? | 10:06 | |
10:07
royjaber joined
10:08
anuby left
10:10
royjaber left
10:12
uniejo joined
10:13
Pleiades` left
10:18
Pleiades` joined
10:22
uniejo left
10:30
dakkar left
|
|||
timotimo | is there a way, with macros perhaps, to have a call like "psay $0, $0.WHAT, $0[0].WHAT" display something like '$0: ' ~ $0.gist ~ ', $0.WHAT: ' ~ $0.WHAT.gist ~ ', $0[0].WHAT: ' ~ $0[0].WHAT; | 10:30 | |
? | 10:31 | ||
10:33
dakkar joined
|
|||
muixirt | colomon: well, yes: rt.perl.org/rt3//Public/Bug/Displa...?id=113964 | 10:37 | |
but is it really only a LTA bug? | 10:38 | ||
timotimo | oh my. i could open the source file, figure out the $?LINE of the caller and read that out. | 10:39 | |
colomon | muixirt: looks like a real bug to me, not a LTA error message bug. | 10:40 | |
especially because the LTA error message sounds like something very wrong is going on internally... | |||
10:45
saxx11 joined
|
|||
timotimo | r: sub yoink($foo, *@bar) { say $bar.WHAT }; yoink("foo", "bar", "baz"); yoink("foo") | 10:49 | |
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Variable '$bar' is not declaredat /tmp/VDAkzSJIaE:1------> sub yoink($foo, *@bar) { say $bar.WHAT⏏ }; yoink("foo", "bar", "baz"); yoink("f expecting any of: method arguments postfix»… | ||
timotimo | r: sub yoink($foo, *@bar) { say @bar.WHAT }; yoink("foo", "bar", "baz"); yoink("foo") | ||
camelia | rakudo 25a0b3: OUTPUT«(Array)(Array)» | ||
timotimo | r: sub yoink($foo, *@bar) { say @bar ~~ Positional }; yoink("foo", "bar", "baz"); yoink("foo") | ||
camelia | rakudo 25a0b3: OUTPUT«TrueTrue» | ||
timotimo | huh ... ! | ||
10:50
windydays joined
|
|||
timotimo | r: class Task { method new($foo, Task *@d) { say @d.WHAT; say @d ~~ Positional; self.bless(*) } }; my Task $a = Task.new("a", Task.new("b"), Task.new("c")); | 10:51 | |
camelia | rakudo 25a0b3: OUTPUT«Nominal type check failed for parameter '@d'; expected Positional but got Array instead in method new at /tmp/lVB4e2lcSi:1 in block at /tmp/lVB4e2lcSi:1» | ||
timotimo | r: class Task { method new($foo, *@d) { say @d.WHAT; say @d ~~ Positional; self.bless(*) } }; my Task $a = Task.new("a", Task.new("b"), Task.new("c")); | ||
camelia | rakudo 25a0b3: OUTPUT«(Array)True(Array)True(Array)True» | ||
timotimo | rakudobug? | ||
oh, that's even what you were discussing right before i looked at it | 10:53 | ||
timotimo procrastinates from writing talk slides by perhaps adding an error to slurpy parameters | 10:54 | ||
std: sub frob(Int *@foo) { }; | |||
camelia | std 0336087: OUTPUT«Potential difficulties: @foo is declared but not used at /tmp/GVO8V4tTuH line 1:------> sub frob(Int *⏏@foo) { };ok 00:00 44m» | ||
timotimo | std: sub frob(Int *@foo) { }; frob(1, 2, 3) | 10:55 | |
camelia | std 0336087: OUTPUT«Potential difficulties: @foo is declared but not used at /tmp/UzyLjzCOqB line 1:------> sub frob(Int *⏏@foo) { }; frob(1, 2, 3)ok 00:00 46m» | ||
timotimo | a spec change can come when my patch is complete, i guess. | ||
or is this just an NYI warning that should be displayed? | |||
10:56
rindolf left
|
|||
moritz | it's not at all clear how that one should work | 10:56 | |
I mean if you write sub f(Int @f) { }, then it only allows an Array[Int], not an Array containing only ints | |||
now how do you check that for a slurply, lazily? | 10:57 | ||
10:59
birdwindupbird joined
|
|||
timotimo | ah, that's a good point :( | 11:00 | |
i'll just .sorry('Typed slurpies will never work') for now, the exact wording and exception type and specciness is still up to discussion after the code is in. | 11:01 | ||
timotimo builds and spectests | 11:02 | ||
11:03
rindolf joined
|
|||
timotimo | huh, there already is code for that | 11:10 | |
ah, yeah, because i dropped it in there (but it's wrong) | 11:11 | ||
i should be making slides instead, i'm not finding the obviously correct position for the code yet | 11:13 | ||
oh, apparently it's easier than i thought, and i looked at all the wrong places. silly me. | 11:21 | ||
11:21
windydays left
|
|||
FROGGS | timotimo: I know exactly what you mean :o) | 11:22 | |
11:22
SamuraiJack left
11:23
bbkr joined
|
|||
bbkr | moritz++ # darwin architecture detect (I will test it later this evening) | 11:24 | |
FROGGS | bbkr: if it doesnt work for you then please paste the output of `ld`and `uname -a` | 11:25 | |
timotimo | are the comments for karma modifications collected? | ||
FROGGS | timotimo: I believe karma counting doesnt work at all atm | ||
karma timotimo | |||
.karma timotimo | |||
lizmat | .karma kameleon | ||
FROGGS | *g* | 11:26 | |
lizmat++ | |||
timotimo | .karma timotimo | ||
can't tell if not implemented or implemented in perl6 %) | 11:27 | ||
11:27
saxx12 joined
|
|||
FROGGS | I believe phenny was the one who could tell us | 11:27 | |
lizmat | yoleaux: where's phenny ? | 11:28 | |
timotimo | phenny only lived once i'm afraid :( | ||
moritz | if somebody wants to write some code that analyzes the IRC logs for karma, please do | 11:29 | |
lizmat | r: class A {}; grammar A{} # does this also bomb with 2 UNIT's ? | ||
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Redeclaration of symbol Aat /tmp/qCiNcOmLVn:1------> class A {}; grammar A⏏{} # does this also bomb with 2 UNIT's  expecting any of: statement list horizontal whitespace postfix … | ||
FROGGS | ahh, the clogs tell me that ilbot logs them, but it cant talk about it | 11:30 | |
11:30
saxx11 left
|
|||
moritz | I can either run it on my machine, or provide sql dumps | 11:30 | |
FROGGS | moritz: so my statement isnt true? | ||
moritz | FROGGS: which statement? | ||
lizmat feels a philosophical debate forming | 11:31 | ||
FROGGS | <FROGGS> ahh, the clogs tell me that ilbot logs them, but it cant talk about it | ||
moritz | it's true | ||
11:31
chrisdev joined
|
|||
FROGGS | but it doesnt count them? | 11:31 | |
moritz | 13:29 < moritz> if somebody wants to write some code that analyzes the IRC logs for karma, please do | ||
no. ilbot just logs, and does nothing else | |||
FROGGS | k | 11:32 | |
moritz | but somebody[tm] could analyse the old logs to initialize some karma tracking bot with it | ||
11:33
chrisdev left
|
|||
moritz | (or update them from a nightly cron job, or so) | 11:33 | |
11:34
chrisdev joined
|
|||
lizmat | answer to my question: yes, but at run time: Merging GLOBAL symbols failed: duplicate definition of symbol A | 11:34 | |
.tell jnthn that there is already a fix for .exists on typed hashes: it's called github.com/rakudo/rakudo/pull/147 | 11:35 | ||
yoleaux | lizmat: I'll pass your message to jnthn. | ||
11:35
chrisdev_ joined
11:36
chrisdev_ left
|
|||
timotimo | gist.github.com/timo/88c92ee2dcc5040a4f93 - spectesting this now; comments on typed exception or wording? | 11:36 | |
11:36
chrisdev left
|
|||
FROGGS | timotimo: "... won't work" - why?, maybe write it as "... not supported." | 11:37 | |
lizmat | one of my initial experiences with Perl 6 in the past months, was trying to grok Any and Mu | ||
Mu to me means, something unknown | 11:38 | ||
Any to me means, I don't care | |||
so I started using Mu for some applications | |||
timotimo | spectests pass with the change, now to try some slurpies in different locations :) | ||
lizmat | whereas "normal" perl 6 users would probably just have used "Any" and be done with it | ||
Juerd | What's the semantic difference, lizmat? | 11:39 | |
lizmat | If I want to store in a hash that something is unknown, I would use Mu | ||
timotimo | aha. doesn't alert with slurpy blocks | ||
lizmat | %version{$module}= Mu | ||
timotimo | er, of course it won't if i leave out the type info ... | ||
Juerd | lizmat: Not *? | 11:40 | |
lizmat | if I want to load a module, and I don't care about its version, I'd specify Any | ||
Juerd | Never mind that, I forgot that * is a closure thing now. | ||
timotimo | wouldn't whatever be better? | ||
lizmat | well, Whatever also means some kine of Any to me | ||
timotimo | too late m) | ||
lizmat | and there's that :-) | ||
Juerd | whatever, mu, any... Do we really need this? :( | ||
+cool | |||
timotimo | to me, there's the additional difference that Any is "an undefined value of any type" and whatever is more like "whatever value you come up with" | 11:41 | |
lizmat | Ah, yes, well, I'm not qualified yet to give that answer :-) | ||
Juerd | This is one of the Very Hard parts of the language. Very abstract and hard to grok. | ||
lizmat | anyway, from a readability point of view, I decided to introduce "Unk" | ||
constant Unk := Any; | |||
whenever I need to indicate something unknown, I will be using Unk | 11:42 | ||
Juerd | Why not Unknown? | ||
lizmat | Unk is just another three letter word like Any | ||
Juerd | It's not a word | ||
It's the result of truncating a word. | |||
lizmat | so you could argue that for Any(thing) | 11:43 | |
Juerd | It moves the effort from writing to reading, while reading is done much more often. | ||
I'm not going to discuss whether "any" is a word. It just is. | |||
lizmat | Int ? Str ? Bool ? | ||
Juerd | int, str and bool are well known abbreviations. | 11:44 | |
lizmat | well, unk is as well apparently: acronyms.thefreedictionary.com/UNK | 11:45 | |
Juerd | I'd love Integer, String and Boolean, but I can accept the shorter ones because they're decades old. | ||
Far fetched. | |||
lizmat | anyways, this is not about bikeshedding: this was more about the idea of using another name for something we don't know in Perl 6 apart from Any | 11:46 | |
or Whatever * | |||
timotimo | i don't know about constant Unk := Any, because undefined Any is often used as a failure value | 11:47 | |
lizmat | I thought Nil was ? | ||
Juerd | Any, Nil, Whatever, Mu, Cool, Unk. How many more? | 11:48 | |
I'm surprised | |||
FROGGS | r: say (1, Nil, 3).elems; say (1, Any, 3).elems; say (1, Mu, 3).elems; say (1, Cool, 3).elems; say (1, Whatever, 3).elems | 11:50 | |
camelia | rakudo 25a0b3: OUTPUT«23333» | ||
moritz | fwiw it might make sense to use something as a version marker that you can smart-match against | ||
FROGGS | all behave a bit different depending on its content | ||
would be cool to have a matrix about that | |||
moritz | FROGGS: that particular behavior of Nil is going away | ||
FROGGS | ohh, good lord | ||
moritz | r: say 2 ~~ * | 11:51 | |
lizmat | moritz: you mean matcing v1.0.1 ? | ||
camelia | rakudo 25a0b3: OUTPUT«True» | ||
lizmat | r: say 2 ~~ Any | ||
camelia | rakudo 25a0b3: OUTPUT«True» | ||
Juerd | FROGGS: Whenever a programmer needs a matrix to determine semantics, the design is flawed. | ||
11:51
espadrine left
|
|||
FROGGS | true | 11:51 | |
lizmat | r: say v1.0.1 > v.1.0.0 | 11:52 | |
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Confusedat /tmp/F_U1kWSfxb:1------> say v1.0.1 > v.⏏1.0.0 expecting any of: dotty method or postfix» | ||
lizmat | r: say v1.0.1 > v1.0.0 | ||
moritz | lizmat: true, the smart-match against Any is also true, but it's a type check | ||
camelia | rakudo 25a0b3: OUTPUT«Cannot call 'Real'; none of these signatures match::(Mu:U \v: Mu *%_) in method Real at src/gen/CORE.setting:870 in sub infix:<>> at src/gen/CORE.setting:3047 in sub infix:<>> at src/gen/CORE.setting:3045 in block at /tmp/hExiRcuKXA:1» | ||
moritz | lizmat: do you want a type check for version checking? | 11:53 | |
r: say v1.0.1 cmp v1.0.0 | |||
camelia | rakudo 25a0b3: OUTPUT«Decrease» | ||
lizmat | I want a smartmatch on version numbers, so I can easily grep on it | ||
moritz | r: say v1.0.1 ~~ v1 | 11:54 | |
camelia | rakudo 25a0b3: OUTPUT«True» | ||
moritz | r: say v1.0.1 ~~ v1.0 | ||
camelia | rakudo 25a0b3: OUTPUT«True» | ||
moritz | r: say v1.0.1 ~~ v1.0.0 | ||
camelia | rakudo 25a0b3: OUTPUT«False» | ||
moritz | there you go | ||
lizmat | so you're saying that Already Works ? | ||
then my work is done :-) | |||
moritz | yes, Version has smart-matching implemented | ||
r: say v1.0.3 ~~ v2.*.3 | 11:55 | ||
camelia | rakudo 25a0b3: OUTPUT«False» | ||
moritz | r: say v2.*.3.perl | ||
camelia | rakudo 25a0b3: OUTPUT«Version.new('2.*.3')» | ||
moritz | r: say v1.0.3 ~~ v1.*.3 | ||
camelia | rakudo 25a0b3: OUTPUT«True» | ||
lizmat | cool | 11:56 | |
r: say v.7.1.2 ~~ v.6.2.3+ | 11:57 | ||
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Confusedat /tmp/JxSQnJZiV4:1------> say v.⏏7.1.2 ~~ v.6.2.3+ expecting any of: dotty method or postfix» | ||
lizmat | S11:558 apparently NYI :-( | ||
r: say v.7.1.2 ~~ v.6.2.3 .. * | |||
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Confusedat /tmp/ufPyAgWYeL:1------> say v.⏏7.1.2 ~~ v.6.2.3 .. * expecting any of: dotty method or postfix» | ||
lizmat | r: say v7.1.2 ~~ v.6.2.3 .. * | 11:58 | |
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Confusedat /tmp/NDCaSxb4HE:1------> say v7.1.2 ~~ v.⏏6.2.3 .. * expecting any of: dotty method or postfix» | ||
lizmat | r: say v7.1.2 ~~ v6.2.3 .. * | ||
camelia | rakudo 25a0b3: OUTPUT«True» | ||
lizmat | r: say v7.1.2 ~~ v6.2.3+ | ||
camelia | rakudo 25a0b3: OUTPUT«True» | ||
11:58
FROGGS left
|
|||
lizmat | it *is* when you enter version numbers right, sorry for the noise | 11:58 | |
r: say v6.1.2 ~~ v6.2.3+ | |||
camelia | rakudo 25a0b3: OUTPUT«False» | ||
lizmat | r: say v6.2.3+ ~~ v7.1.2 | 11:59 | |
camelia | rakudo 25a0b3: OUTPUT«False» | ||
lizmat | hmmmm... | 12:04 | |
Juerd | Postfix +? | 12:05 | |
masak | Juerd: no, just part of the v term. | ||
yoleaux | 01:26Z <colomon> masak: github.com/masak/html-template/pull/6 ..... | ||
colomon | \o | ||
masak | hai, #perl6 | ||
masak looks at le pull request | |||
12:05
xinming left
|
|||
moritz | oh hai masak | 12:05 | |
masak | colomon++: merged. | 12:06 | |
12:10
xinming joined
12:12
markstacey joined,
markstacey is now known as gudahtt
12:13
brrt joined
|
|||
brrt | i just read the most daring idea ever | 12:13 | |
well, not the most daring idea | |||
but in the context it is pretty daring | 12:14 | ||
the idea was: python won't implement TCO; maybe we can get away from the 1000-stack-frames-limit if we compress each stack frame | |||
masak | I see langs/implementations aiming for TCO all the time, and repeatedly failing. | 12:17 | |
seems to me it's highly nontrivial, and affects lots of other parts. | |||
12:19
SmokeMachine joined
|
|||
moritz | TCO? | 12:21 | |
total cost of ownership? | |||
brrt | tail call optimisation | 12:22 | |
tail call elimination | |||
timotimo | thanks, captain obvious | 12:23 | |
12:24
denisboyun_ joined
|
|||
brrt | you're welcome :-) | 12:24 | |
timotimo | :P | ||
12:28
MrMeek joined
|
|||
brrt | TCO is not that hard if you're scheme | 12:29 | |
12:36
konundra left
|
|||
timotimo | in what areas is perl6 unicode handling as implemented by rakudo noticably behind perl5 or other languages? | 12:37 | |
moritz | for example you can't get the Unicode name and properties for a character in Rakudo | 12:38 | |
there's no support for normalizaiton | |||
timotimo | ah, i wondered about the first one already; is the way to do that already specced? | 12:40 | |
there's also matching on unicode properties for regexes; is that in rakudo already? | 12:41 | ||
12:41
PacoAir joined
|
|||
moritz | yes | 12:42 | |
12:43
pmurias joined
|
|||
timotimo | neat. | 12:43 | |
this is another point where i catch myself thinking "how hard could it be?" :D | 12:44 | ||
12:44
SamuraiJack joined
|
|||
pmurias | masak: one big reason why Guido refuses to add TCO to python is that is screws up stack traces | 12:46 | |
[Coke] just realized he "knows" lizmat from a mailing list somewhere. huh. | 12:52 | ||
12:56
odoacre left
12:58
odoacre joined
12:59
odoacre left
13:00
odoacre joined,
ajr joined,
PacoAir left,
ajr is now known as Guest54593
13:01
Guest54593 is now known as ajr_,
PacoAir joined
|
|||
nwc10 | and releated? blog.headius.com/2013/05/on-languag...d-way.html -- Python has similar structural complexities to Ruby and adds in the additional complexity of an introspectable call stack. | 13:01 | |
13:04
skids left
13:08
brrt left
13:10
SmokeMac_ joined,
SmokeMachine left,
konundra joined
|
|||
masak | I once read an interesting presentation (unfortunately I don't recall the URL) which basically said "tail-call elimination is essential for general object orientation". | 13:11 | |
don't remember how solid the argument was for that, either. | |||
dalek | p: 2a557de | (Pawel Murias)++ | docs/serialization_format.markdown: Document invocation spec in the serialization format description. |
13:12 | |
masak | I did find this when I searched, though: www.eighty-twenty.org/index.cgi/tec...11001.html | 13:13 | |
mathw | masak: I'd say tail-call elimination is essential for functional programming, not so sure about imperative OOP. | 13:16 | |
masak | moritz: yeah, well, that was the thing. it argued for that. | ||
I do wish I found that presentation. | 13:17 | ||
heh, the above article refers to www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf which has been up for discussion here before. :) | |||
hah! found it! www.ccs.neu.edu/home/matthias/Prese...op2004.pdf | 13:21 | ||
I don't have time to read it properly now; teaching. | |||
dalek | kudo-js: c8b14e1 | (Pawel Murias)++ | / (2 files): Begin implementing ops required for multimethods. |
13:28 | |
kudo-js: e3041bd | (Pawel Murias)++ | / (2 files): Update to the new serialization format. Disable 2 failing tests. |
|||
timotimo | **@foo should fail early, too, right? | 13:32 | |
13:33
woolfy left
13:35
lizmat left
13:43
btyler joined
13:49
woolfy joined
13:50
lizmat joined
13:53
brrt joined
13:55
yoleaux left,
grondilu joined
|
|||
grondilu | rn: gist.github.com/grondilu/5662919 | 13:56 | |
camelia | niecza v24-51-g009f999: OUTPUT«Unhandled exception: Excess arguments to sears-haack, used 2 of 3 positionals at /tmp/II6EUbXOuH line 0 (sears-haack @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6)  at /tmp/II6EUbXOuH line 4 (simpsons @ 6)  at /tmp/II6EUbXOuH li… | ||
..rakudo 25a0b3: OUTPUT«Too many positional parameters passed; got 3 but expected 2 in sub sears-haack at /tmp/K1V9eOtgJ7:17 in sub CURRIED at src/gen/CORE.setting:2069 in sub simpsons at /tmp/K1V9eOtgJ7:4 in block at /tmp/K1V9eOtgJ7:19» | |||
masak | it's in slide 59, stated very clearly after a motivating example: "Object-Oriented Programming in languages that don't require tail-call optimizations makes no sense." | 13:58 | |
I still don't know if the example convinces me of this; will have to think about it a bit while I walk to the train. | |||
grondilu | rn: sub sh($x, $r) { $r*(4*$x*(1-$x))**(3/4) }; say &sh.assuming(*, 1)(.5) | 13:59 | |
camelia | niecza v24-51-g009f999: OUTPUT«Unhandled exception: Excess arguments to sh, used 2 of 3 positionals at /tmp/daC8yIBSFe line 0 (sh @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6)  at /tmp/daC8yIBSFe line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting… | ||
..rakudo 25a0b3: OUTPUT«Too many positional parameters passed; got 3 but expected 2 in sub sh at /tmp/S6KRP977wT:1 in sub CURRIED at src/gen/CORE.setting:2069 in block at /tmp/S6KRP977wT:1» | |||
grondilu | rn: sub plus($a, $b) { $a + $b }; say &plus.assuming(*, 1)(.5) | 14:00 | |
camelia | niecza v24-51-g009f999: OUTPUT«Unhandled exception: Excess arguments to plus, used 2 of 3 positionals at /tmp/vx1HqoFTrh line 0 (plus @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6)  at /tmp/vx1HqoFTrh line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.set… | ||
..rakudo 25a0b3: OUTPUT«Too many positional parameters passed; got 3 but expected 2 in sub plus at /tmp/uRoZ7k2AIw:1 in sub CURRIED at src/gen/CORE.setting:2069 in block at /tmp/uRoZ7k2AIw:1» | |||
grondilu | what I am missing here? | ||
pugs: sub plus($a, $b) { $a + $b }; say &plus.assuming(*, 1)(.5) | 14:01 | ||
camelia | pugs: OUTPUT«Inf» | ||
moritz | grondilu: seems like none of them treat * specially in arguments to assuming | ||
grondilu | didn't this use to work? | 14:02 | |
moritz | ie they pass (*, 1, 5) to &plus, and complain that it's one argument too many | ||
I'm pretty sure rakudo never did that | |||
masak | on the surface, the argument reads to me like "Java won't let me define cons lists with tail recursion elimination, boo-hoo!" I fail to see the link to "OOP [without TCO] makes no sense". | ||
moritz | is it even specced? | ||
[Coke] | argh. I have an installed perl6. if I build a different perl6 using the nqp from that installed perl6, it seems to screw up my precompilations. :| | 14:03 | |
moritz | masak: I find the whole argument "$thing doesn't make sense because it misses an optimization" not very convincing at all | ||
[Coke] will have to track that down to make sure that's what is really happening. | |||
14:03
brrt left,
brrt joined
|
|||
moritz | masak: it only starts to be convencing when $thing is generally unusably slow without that optimization, and I'd argue that OO languages don't generally fall into that trap | 14:04 | |
masak | I really really like the quote on the last slide, however. | ||
grondilu | moritz: there is an example in rosettacode.org/wiki/Currying#Perl_6 | ||
rn: sub f($a, $b) { $a - $b } | 14:05 | ||
say .(1) for &f.assuming(0), &f.assuming(*, 0) | |||
camelia | rakudo 25a0b3: ( no output ) | ||
..niecza v24-51-g009f999: OUTPUT«Potential difficulties: &f is declared but not used at /tmp/IeDtQKP0Ui line 1:------> sub f⏏($a, $b) { $a - $b }» | |||
grondilu | rn: rn: sub f($a, $b) { $a - $b } ; say .(1) for &f.assuming(0), &f.assuming(*, 0) | ||
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Two terms in a rowat /tmp/6aGi2v1Ij2:1------> rn⏏: sub f($a, $b) { $a - $b } ; say .(1)  expecting any of: argument list postfix infix stopper infix or meta-infix state… | ||
..niecza v24-51-g009f999: OUTPUT«-1Unhandled exception: Excess arguments to f, used 2 of 3 positionals at /tmp/m4XRCJofPt line 0 (f @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6)  at /tmp/m4XRCJofPt line 1 (mainline @ 10)  at /home/p6eval/niecza/lib/CORE.setti… | |||
colomon | rn: rn: sub f($a, $b) { $a - $b } ; say .(1) for &f.assuming(0) | ||
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Two terms in a rowat /tmp/o1EHAfJYwp:1------> rn⏏: sub f($a, $b) { $a - $b } ; say .(1)  expecting any of: argument list postfix infix stopper infix or meta-infix state… | ||
..niecza v24-51-g009f999: OUTPUT«-1» | |||
grondilu | rn: sub f($a, $b) { $a - $b } ; say .(1) for &f.assuming(0), &f.assuming(*, 0) | ||
camelia | niecza v24-51-g009f999: OUTPUT«-1Unhandled exception: Excess arguments to f, used 2 of 3 positionals at /tmp/EOOPTW0wpc line 0 (f @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6)  at /tmp/EOOPTW0wpc line 1 (mainline @ 8)  at /home/p6eval/niecza/lib/CORE.settin… | 14:06 | |
..rakudo 25a0b3: OUTPUT«-1Too many positional parameters passed; got 3 but expected 2 in sub f at /tmp/wXOQno1l6M:1 in sub CURRIED at src/gen/CORE.setting:2069 in block at /tmp/wXOQno1l6M:1» | |||
moritz | grondilu: that is suspicious. It starts with "all Callable", but in Rakudo method assuming is in Routine | ||
method assuming($r: *@curried_pos, *%curried_named) { | |||
return sub CURRIED (*@pos, *%named) { | |||
$r(|@curried_pos, |@pos, |%curried_named, |%named) | |||
} | |||
} | |||
that's rakudo's implementation | |||
no special-casing of * whatsoever | 14:07 | ||
colomon | method assuming(|cap) { sub (|new) { self.(|cap, |new) } } | ||
(that's niecza's) | |||
masak | moritz: why does the source code name it CURRIED ? | ||
that just looks like an unused name to me. | |||
grondilu | I did write this example in RC. I thought I had discussed it here before. And I also tried it (I guess) | 14:08 | |
moritz | masak: so that introspecting the return value gives an idea what's going on | ||
masak | oh! | ||
fairy nuff | |||
if there were another way to annotate a sub, I'd almost want to use that way instead. | 14:09 | ||
moritz | grondilu: irclog.perlgeek.de/search.pl?channe...q=assuming looks like you tried in April, and it didn't work back then either | ||
masak | so that in a stack trace, it said "a sub that was primed on line X, file Y" | ||
14:10
yoleaux joined
|
|||
timotimo | hm, would pandabrew re-install all installed modules when i build a new rakudo? | 14:11 | |
dalek | kudo-js: 5755640 | (Pawel Murias)++ | run (2 files): Implement nqp::flip, pass test 59 again. |
||
kudo-js: fa579be | (Pawel Murias)++ | run (2 files): Pass test 44 again. |
|||
tadzik | timotimo: it should, yes | 14:12 | |
timotimo: (I don't know if that works, though :D) | |||
if not, then I'll fix that by YAPC::NA | |||
but first I need to fix panda itself | |||
starting with daxim's pet bug | 14:13 | ||
[Coke] | my $r; say $r{3}:exists; | ||
r: my $r; say $r{3}:exists; | |||
camelia | rakudo 25a0b3: OUTPUT«No such method 'exists' for invocant of type 'Any' in method postcircumfix:<{ }> at src/gen/CORE.setting:1663 in method postcircumfix:<{ }> at src/gen/CORE.setting:1642 in block at /tmp/Mon6Dc82_4:1» | ||
daxim | :-[∿] | ||
[Coke] | r: my $r = Hash.new(); say $r{3}:exists; | ||
camelia | rakudo 25a0b3: OUTPUT«False» | 14:14 | |
[Coke] | r: my $r = Hash.new(); my $n = 3; say $r{$n}:exists; | ||
camelia | rakudo 25a0b3: OUTPUT«False» | ||
[Coke] | r: my $r = Hash.new(); my $n = 3; say "eek" if !$r{$n}:exists; | 14:15 | |
camelia | rakudo 25a0b3: OUTPUT«Unexpected named parameter 'exists' passed in sub prefix:<!> at src/gen/CORE.setting:2734 in block at /tmp/5ZWRDN1yxD:1» | ||
[Coke] | r: my $r = Hash.new(); my $n = 3; say "eek" if ! $r{$n}:exists; | ||
14:15
saxx12 left
|
|||
camelia | rakudo 25a0b3: OUTPUT«Unexpected named parameter 'exists' passed in sub prefix:<!> at src/gen/CORE.setting:2734 in block at /tmp/t9r2sbslv5:1» | 14:15 | |
[Coke] | rakudobug? | ||
14:15
Gruber joined,
brrt1 joined,
Ayiko joined,
bruges_ joined
|
|||
[Coke] | r: my $r = Hash.new(); say "eek" if ! $r{3}:exists; | 14:15 | |
camelia | rakudo 25a0b3: OUTPUT«Unexpected named parameter 'exists' passed in sub prefix:<!> at src/gen/CORE.setting:2734 in block at /tmp/xJy6R7yxgO:1» | ||
timotimo | ! is too tight? use not instead i guess | 14:16 | |
[Coke] | r: my $r = Hash.new(); say "eek" if ! ($r{3}:exists); | ||
camelia | rakudo 25a0b3: OUTPUT«eek» | ||
timotimo | std: my $r = Hash.new(); say "eek" if ! $r{3}:exists; | ||
camelia | std 0336087: OUTPUT«ok 00:00 45m» | ||
timotimo | yeah, that's not helpful :( | 14:17 | |
14:17
domidumont left,
brrt left,
lizmat_ joined,
Grrrr left,
lizmat left
14:18
genehack_ joined,
sergot_ joined,
muixirt left,
Teratogen left,
bruges left,
crazedpsyc left,
sergot left,
Nom- left,
genehack left,
Kelder left,
integral left,
ingy left,
jferrero left,
ingyfoo joined,
integral joined,
leontopod_ joined,
integral left,
integral joined,
Nom- joined,
crazed- joined,
muixirt_ joined,
prammer joined,
muixirt_ is now known as muixirt,
jferrero joined,
jferrero left,
jferrero joined
|
|||
moritz | [Coke]: IMHO yes. If Any reponds to {}, it should also respond to {}:exists | 14:19 | |
masak decommutes | |||
14:20
crazed- is now known as crazedpsyc
14:26
daxim left
14:28
colomon left
14:31
domidumont joined,
colomon joined
14:33
snearch left,
skids joined,
snearch joined
14:35
birdwindupbird left
14:36
prevost joined
14:41
diakopter joined,
diakopter left
14:44
raiph joined
14:45
bluescreen10 joined
|
|||
timotimo | tadzik: would you accept a patch that makes panda not explode when a module has no lib/ folder? | 14:51 | |
14:55
kaleem left,
zby_home joined
15:00
ajr_ left
15:02
ajr joined,
ajr is now known as Guest66398,
Guest66398 is now known as ajr_
|
|||
tadzik | timotimo: oh yes | 15:11 | |
does it explode? | |||
timotimo | yeah, there's a file::find that will complain, because lib doesn't exist | 15:14 | |
i just added an if 'lib'.IO.d before it | |||
tadzik | oh hm | 15:15 | |
so _that's_ what the check was for, at the beginning of build() :D | |||
we need a test for that | |||
15:27
brrt1 left
15:30
saxx11 joined
15:31
risou_awy is now known as risou
15:32
dalecooper left
15:43
Ulti left
15:44
raiph left
15:49
Ulti joined
15:52
konundra left
15:54
estrabd left
|
|||
[Coke] | I wonder if that iospec branch merge is relying on destructors to clean up resources. | 15:55 | |
15:58
muixirt left
16:01
Ulti left
16:06
pmurias left
16:08
eternaleye left
16:11
eternaleye joined
16:14
Ulti joined
16:22
raiph joined
|
|||
moritz | fwiw the bool.t failure has been there on and off for years | 16:22 | |
sometimes it disappears, sometimes it reappears | 16:23 | ||
and usually the things that trigger it have nothing to do with the underlying problem | |||
16:23
[particle] joined
|
|||
moritz | it's probably some weird memory corruption, and then adding a built-in changes the memory layout so the the bug is triggered, or something | 16:23 | |
16:23
Ulti left
|
|||
Util | r: class AA { multi method new { AA.bless: * }}; class BB is AA {}; say BB.new.WHAT; | 16:25 | |
camelia | rakudo 25a0b3: OUTPUT«(AA)» | ||
Util | r: class AA { multi method new { ::?CLASS.bless: * }}; class BB is AA {}; say BB.new.WHAT; | ||
camelia | rakudo 25a0b3: OUTPUT«(AA)» | ||
Util | r: class AA { multi method new { self.bless: * }}; class BB is AA {}; say BB.new.WHAT; | ||
camelia | rakudo 25a0b3: OUTPUT«(BB)» | ||
Util | r: class AA { multi method new { $?CLASS.bless: * }}; class BB is AA {}; say BB.new.WHAT; | ||
camelia | rakudo 25a0b3: OUTPUT«(AA)» | ||
Util | Shouldn't the 4th version say BB like the 3rd? | ||
jnthn | No, it's not virtual. | 16:26 | |
yoleaux | 11:35Z <lizmat> jnthn: that there is already a fix for .exists on typed hashes: it's called github.com/rakudo/rakudo/pull/147 | ||
jnthn | Use self for that. | ||
Util | jnthn: Thanks! | ||
16:27
bluescreen100 joined
|
|||
dalek | rl6-bench: 21eecd0 | (Geoffrey Broadwell)++ | jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js: Add jqPlot plugin needed for rotated axis label rendering |
16:27 | |
jnthn | .tell lizmat_ I wonder if the Mu \key shouldn't be TKey \key | ||
yoleaux | jnthn: I'll pass your message to lizmat_. | ||
nwc10 | it's jnthn! | 16:28 | |
jnthn waves hazily | 16:29 | ||
nwc10 | where in the world is jnthn, and is the beer good? | 16:30 | |
16:30
bluescreen10 left
|
|||
arnsholt hopes the beer in Austin will be good | 16:31 | ||
16:31
espadrine joined
|
|||
arnsholt | s/hopes/hops/ # =) | 16:31 | |
jnthn is at home, and somewhat sick | |||
nwc10 | oh yay :-( | ||
jnthn | Teaching while sick is...fun. | 16:32 | |
arnsholt | Not too sick for a trans-atlantic flight, I hope? | ||
PerlJam | jnthn: drink orange juice, get plenty of rest, take vitamins, take medicine, etc. :) | ||
jnthn | Teaching while sick and having somebody give you full marks in the evaluation is a darn miracle. | ||
arnsholt: I highly doubt that is at risk. | |||
I have Thu/Fri with nothing to do but rest and prepare for YAPC::NA. | |||
Tomorrow I got a couple of evening talks to give. | 16:33 | ||
uh, I didn't write one of them yet. oops. | |||
[Coke] | mmhehehe | ||
jnthn | And I only slept 3 hours last night. This will be interesting... | ||
arnsholt | jnthn: Excellent! I was looking forward to beer with you and masak in Austin =) | 16:34 | |
Am looking forward to, even | 16:35 | ||
masak | hello from a train! \o/ | 16:39 | |
moritz | (wlan on train)++ | ||
masak | moritz: well, could've been 3G on le mobile phone, too. | 16:41 | |
16:54
SamuraiJack left
16:57
konundra joined
16:59
isBEKaml joined
17:01
ajr_ left
|
|||
masak | rn: my %l = foo => 1, bar => 2; my %r = bar => 3, baz => 4; say %l >>+<< %r | 17:01 | |
camelia | niecza v24-51-g009f999: OUTPUT«Use of uninitialized value in numeric context at /home/p6eval/niecza/lib/CORE.setting line 1355 (warn @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 294 (Any.Numeric @ 8)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.s… | ||
..rakudo 25a0b3: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/OI858EugnG:1use of uninitialized value of type Any in numeric context in block at /tmp/OI858EugnG:1("foo" => 1, "bar" => 5, "baz" => 4).hash» | |||
masak | I must say I don't need that one often... but when I do, it's *very* nice to have. | 17:02 | |
what's with all the warnings, though? | |||
isBEKaml | heh, what does >>+<< on hashes mean? do we take in keys too? | ||
17:02
dakkar left
|
|||
masak | isBEKaml: do the operation on the values. >>+<< takes the union of the keys; <<+>> takes the intersection. | 17:03 | |
isBEKaml: in this case I needed the union. | |||
17:03
dmol joined
|
|||
masak | which is why I think the undefinedness warnings are unnecessary. | 17:03 | |
I *know* some keys/values are missing. that's why I did >>+<< | |||
masak submits rakudobug | 17:04 | ||
isBEKaml | masak: so, this is one of those cases where both rn got it wrong? (where it's specced ofcourse) | 17:05 | |
masak | isBEKaml: both rakudo and niecza warn, so that part is wrong. | ||
isBEKaml: niecza warns so much that I can't see if it got the right result. :( | 17:06 | ||
masak doesn't think warnings should have stack traces | |||
isBEKaml | masak: ah, overnieczathingamajigging? | ||
17:07
konundra left,
konundra joined
|
|||
masak fails to understand the question | 17:07 | ||
please try again :) | |||
isBEKaml | masak: so that's what Niecza thinks! | ||
17:09
dmol1 joined,
dmol left
|
|||
isBEKaml had a funny experience of RT'ing a Mindblown fact only to have Yoda send me a message. (it involves some Star wars characters, though) | 17:09 | ||
17:10
denisboyun_ left
|
|||
isBEKaml | Tweet: twitter.com/MindBlowing/status/339...3208716288 | 17:11 | |
17:14
arlinius left
|
|||
masak | most MindBlowing tweets are in fact mundane, clearly false, or misinformed. :/ | 17:19 | |
this one, for example: twitter.com/MindBlowing/status/338...1290575872 | |||
reply. "no. also, you fail at genetics. thanks for playing." | |||
17:20
bluescreen100 left
|
|||
isBEKaml | masak: I vaguely recall mendel charts. :D | 17:21 | |
17:25
ajr joined,
saxx11 left,
ajr is now known as Guest68885
17:26
Guest68885 is now known as ajr_
|
|||
timotimo | "People with the highest IQ stay up late at night because their brains have increased mental stimulation." - wha? | 17:28 | |
17:30
btyler left
17:32
konundra left
|
|||
masak | or it could just be a lack of discipline :) | 17:32 | |
or susceptibility to flattery :) | |||
or those poor folks who seem to have a 28-hour day cycle. | |||
PerlJam | masak, timotimo: clearly the two of you are way too serious today ;) | ||
masak | PerlJam: someone is Wrong On The Internet! | 17:33 | |
[Coke] | masak: Unfortunately, it might be you. | 17:35 | |
timotimo | .o(mind blown!) | ||
hashtag epic twist | |||
masak | [Coke]: hehe. I guess that's a risk I'm willing to take. | ||
17:36
konundra joined
|
|||
timotimo | as does everybody on the internet, it seems | 17:37 | |
17:42
denisboyun_ joined
17:43
konundra left
17:49
arlinius joined
17:55
[particle] left
18:08
btyler joined
|
|||
dalek | rl6-roast-data: 00ea812 | coke++ | / (4 files): today (automated commit) |
18:09 | |
[Coke] | if niecza ever cleans up, my "how long has it been failing" script will start running faster. :) | 18:10 | |
niecza has been dirty for 315 days. pugs has been clean for 11 days. rakudo has been dirty for 24 days. | |||
18:13
[particle] joined
|
|||
pmichaud | rakudo's dirtiness is still the bool.t thingy? | 18:18 | |
colomon | [Coke]: believe it or not, we're being paid by the electric company to waste your computing power... | ||
[Coke] | pmichaud: yes. | 18:19 | |
there's an RT with gory details and backtraces. | |||
pmichaud | okay. | ||
[Coke] | if someone has the iospec branch someplace, I can see which of those commits triggered it. | ||
pmichaud | since I can reproduce it fairly well on feather, I might be able to provide a couple of extra clues | 18:20 | |
[Coke] | (I know it's not the root cause, but it's triggering something) | ||
dalek | osystem: 257e82c | colomon++ | META.list: Move Test-Junkie over to working fork Temporarily move Test-Junkie module over to my fork which passes all tests. |
||
[Coke] | pmichaud: also, you fixed R*'s daily test the other day. | 18:21 | |
it's been clean since then. | |||
pmichaud | oh! | ||
so I can do an R* release, perhaps? | |||
that would be really good before next week. | |||
I'm a bit swamped today, but that could be a good $Wed task. | |||
[Coke] | github.com/coke/rakudo-star-daily/...odules.log - no fails. | 18:22 | |
18:23
fhelmberger left,
konundra joined
|
|||
isBEKaml | This is more of a packaging question than anything else - Parrot has not marked 5.2 to be a supported release, should R* be basing itself off a Parrot developmental release? | 18:24 | |
Or is that merely a convention on Parrot's part? | |||
[Coke] | there is really no difference between those kinds of release. | ||
pmichaud | I can certainly bundle 5.3.0 with Star if there's a good reason to do so. | 18:25 | |
timotimo | pmichaud: if you can get it before saturday, that would be before my hopefully at least minimally great perl6 talk and i could tell people "we just had a new release" rather than "grab the release from 5 months ago with a lot of bugs and outdated specs, or be crazy and spend an hour downloading and compiling three things!" ;) | ||
pmichaud | timotimo: if it happens, it'll have to be Wed or Thu | ||
Fri and Sat will be busy for me preparing for YAPC::NA | |||
[Coke] | pmichaud: if you bump the req to 5.3.0 it'll run on feather for a few days and you can see if anything errors out. | 18:26 | |
timotimo | that's fine :) | ||
thanks for doing it | |||
[Coke] | ah. so given the timings, I'd say keep whatever is in R*'s repo now. | ||
but I'd bump it soon after for the testing. | |||
pmichaud | oh, it's no problem to test against 5.3.0 | ||
18:26
S joined
|
|||
pmichaud | it's not like a PARROT_REVISION bump in NQP or Rakudo | 18:26 | |
[Coke] | ah. I find the testing horrifically slow, which is why I automated it. :) | ||
pmichaud | with star, you just say which version of Parrot you'd like to have bundled. | 18:27 | |
18:27
S is now known as Guest65031,
Guest65031 left
|
|||
masak | r: class A {}; my %h{A} = A.new => 2; my %h2{A} = %h >>+>> 40; say %h2 | 18:27 | |
camelia | rakudo 25a0b3: OUTPUT«Nominal type check failed for parameter 'key'; expected A but got Str instead in method STORE_AT_KEY at src/gen/CORE.setting:7031 in method STORE at src/gen/CORE.setting:6927 in block at /tmp/mYmQfsTMvo:1» | ||
pmichaud | i.e., star doesn't change the minimum required version that NQP wants... star just chooses to supply a version of Parrot in the bundled (which should be at least PARROT_REVISION, but doesn't have to be exactly PARROT_REVISION) | ||
18:27
Sorensen_ joined
|
|||
masak | how reasonable are my expectations above? I expect that to work. | 18:28 | |
isBEKaml | pmichaud: I can help building R* this weekend, but no .msiS :-) | ||
masak | (i.e. produce '(A.new() => 42).hash' as output) | ||
18:28
rindolf left
|
|||
moritz | 18:28 | ||
~ . | |||
pmichaud | masak: I suspect that hypering doesn't know about typed hash keys | 18:29 | |
masak | I suspect so too. | ||
pmichaud | since it was written before we had them :) | ||
masak | but... it's not unreasonable to have that work, is it? :) | ||
pmichaud | on its face it doesn't strike me as unreasonable | 18:30 | |
masak submits rakudobug | |||
pmichaud | the devil may be in the details here, though | ||
I consider it a valid rakudobug for the moment, yes. | |||
[Coke] | anyone looking for some low hanging fruit? I can point you at a ticket to write a ticket for. | 18:31 | |
to write a *test* for | |||
18:31
rindolf joined
|
|||
masak .oO( rakudobug status may be revoked at any future time, with no possibility of appeal ) :P | 18:31 | ||
isBEKaml | Speaking of R*, is there any way I can just download a specific branch? I'm not looking forward to cloning a 200 meg repository. :/ | 18:32 | |
moritz | isBEKaml: the R* .git is just 14MB | ||
pmichaud | isBEKaml: ummmmm.... I have trouble following your question. | ||
the R* repo doesn't actually contain copies of Rakudo, Parrot, or NQP | 18:33 | ||
isBEKaml | moritz: No, I didn't mean that. perl Configure.pl step runs gen-parrot, which actually clones a fresh parrot repo, right? | ||
pmichaud | the rakudo/star repo is a toolkit for building R* distributions. It's not the R* distributions themselves. | ||
moritz | isBEKaml: no. If you download an R* release, and run the Configure.pl, it uses releases of parrot, nqp and rakudo | 18:34 | |
pmichaud | --gen-parrot in a star tarball uses the bundled copy of Parrot. No cloning. | ||
isBEKaml | pmichaud: I spoke of building an R* package. :-) | ||
pmichaud | (you spoke of downloading a branch :) | 18:35 | |
masak | pmichaud: hm. question is, if I %h1 >>+<< $h2, and the hashes are typed with different constraints, what the result ends up being. same question for <<+>>, really. | ||
(typed hashes and hyperoperators! yay, I found a new corner case!) | |||
pmichaud | masak: yes, that's a legitimate question. | ||
isBEKaml | pmichaud: so I can just download a branch manually from Github and place it on the source location for R*? That's nice. | ||
pmichaud | isBEKaml: when building an R* tarball, it actually downloads a Parrot tarball | ||
it doesn't clone the Parrot repo. | 18:36 | ||
18:36
kaare_ joined
|
|||
[Coke] | unlike when building rakudo compiler. | 18:36 | |
masak | pmichaud: I guess the type-theoretical answer is that in one case you'll get the join of the types, and in the other case you'll get the meet of the types :P | ||
pmichaud | masak: I'm thinking the practical answer may be DIHWIDT for a while :) | ||
18:36
Sorensen_ left
|
|||
pmichaud | (building an R* tarball does clone the module repositories at the moment, but we could undoubtedly change/improve that if we want) | 18:37 | |
18:38
sorear joined
|
|||
isBEKaml | pmichaud: thanks, if that's the case - it makes me feel better. :-) | 18:38 | |
18:38
espadrine left
|
|||
isBEKaml | pmichaud: Right, I see that in star's makefile now. I'm alright with cloning individual module repositories since they are all pretty small on their own. | 18:40 | |
18:40
SmokeMac_ left
18:41
lichtkind joined
|
|||
pmichaud | Star wants to be created only from actual releases, so it uses the release tarballs instead of github tags. | 18:41 | |
when/if we get to the level that modules have release tarballs, R* will undoubtedly want to use those as well. cloning github repos directly is a bit fragile. | 18:42 | ||
(in terms of version maintenance and stability) | |||
isBEKaml | pmichaud: that's quite some distance away since it requires that we have a cpan like storage facility. | 18:43 | |
timotimo | could the setup be changed to clone only with --shallow when installing an R* release? | ||
moritz | timotimo: there's no cloning when installing an R* release. | ||
timotimo: it bundles everything | |||
fwiw I have a few modules that I'd release, if we had the tools to make it not too painful | 18:44 | ||
(Math::RungeKutta and JSON for example) | |||
timotimo | ah, of course | ||
JSON isn't in the R*? | |||
moritz | it is | 18:45 | |
timotimo | oh, you mean tarball release, duh | ||
18:47
SmokeMachine joined
|
|||
pmichaud | isBEKaml: it was less of a distance when github offered file downloads. Yes, it's a bit farther away. OTOH, there are groups that are working on being able to upload Perl 6 modules into CPAN | 18:48 | |
so, we already have a cpan-like storage facility, it's called "CPAN" :) | |||
isBEKaml | pmichaud: :-) | ||
PerlJam | pmichaud: who is working on being about to upload Perl 6 modules to CPAN? | 18:49 | |
s/about/able/ | |||
nwc10 | www.cpan.org/ -- " | ||
CPAN | |||
Comprehensive Perl Archive Network" | |||
naughty copy-paste | 18:50 | ||
pmichaud | PerlJam: I'm not sure I'm at liberty to disclose that atm. | ||
I don't know how public the effort is. | |||
masak | so, I've been playing around with a Perl 6 solution to xkcd.com/287/ tonight. | ||
here's my code. it works. gist.github.com/masak/5664729 | |||
nwc10 | not sure if there's much Perl 4 on CPAN. | 18:51 | |
PerlJam | nwc10: or Perls 3, 2, and 1 | ||
masak | I think I can speed it up somewhat by pruning branches. trying that now. | ||
PerlJam | nwc10: though keep in mind that CPAN didn't exist until Perl 5 | ||
18:51
lizmat_ is now known as lizmat
18:52
domidumont left
|
|||
masak | hah! down from 183 seconds to 19 seconds! pruning win! | 18:53 | |
18:54
alester joined
18:55
SamuraiJack joined
|
|||
masak | I'd be very happy to receive comments and suggestions for improvements on the program. | 18:55 | |
pmichaud | var() seems keywordish to me. | ||
as in: there might be a name conflict or confusion somewhere. | 18:56 | ||
masak | ...with what? | ||
pmichaud | I don't have a better alternative. | ||
I think I initially worried about a conflict with "val". | |||
masak | down to 10.5 seconds. (fixed a logical bug.) | ||
pmichaud | or one of those other recent spec changes that I haven't caught up with yet. | ||
18:57
btyler left
|
|||
masak | I like "var()". as long as I'm not overwriting anything from the setting, I'm OK with it. | 18:57 | |
pmichaud | yeah, there's a val() function I was thining of. | 18:58 | |
*thinking | |||
18:58
btyler joined
|
|||
masak | I wrote this program backwards. started by writing out lines 82..89, and then asking myself "what do I need for that to work?" | 18:59 | |
pmichaud | masak: yeah, that's what I thought when I first read it. | ||
"masak just wanted the bottom part to work" | |||
masak | :) | 19:00 | |
PerlJam | masak: I have no comments on the code other than I like how readable it is. | ||
pmichaud | I wonder if it becomes more interesting if you can do %V<mixed fruit> instead of var("mixed fruit") somehow. | ||
then it looks more like a variable. :) | |||
masak | (except that that's not how you index a single hash value?) | ||
pmichaud | (yeah, except that :) | 19:01 | |
or even V.new('mixed fruit') | |||
19:01
kaleem joined
|
|||
masak | maybe I can get rid of the Variable class altogether... trying. | 19:02 | |
TimToady | for generalized constraint programming it probably wants a declarator of some sort | ||
yoleaux | 26 May 2013 06:53Z <[Coke]> TimToady: if we should switch the names of FIRST and START, maybe. | ||
pmichaud | yeah, maybe CV (for "constrained variable") could be the class name or something. | ||
anyway, all I have are cosmetic suggestions at the moment. | 19:03 | ||
I think it's cool you were able to do this. | |||
TimToady | I think FIRST is fine, but maybe we could rename START to ONCE | 19:04 | |
timotimo | masak: i'd like to suggest sym instead of var if var turns out not to like | ||
19:04
kaleem left
19:05
sqirrel left
|
|||
pmichaud | sym might be ickier -- puns with category:sym<foo> perhaps, and the <sym> regex rule. | 19:05 | |
timotimo | alternatively, there could be a prefix operator | ||
masak | shorter version: gist.github.com/masak/5664729 | 19:06 | |
[Coke] | r: my @a = gather for 1..100 { say $_; take $_}; | 19:07 | |
camelia | rakudo 25a0b3: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283xE2 | ||
[Coke] | I assume I'm missing some reason why that isn't lazy? | ||
timotimo | r: sub prefix:<The> ($name) is tighter(&infix:<+>) { "'$name'" }; say (The 'mixed fruit' + The 'french fries'); | 19:08 | |
pmichaud | array assignment is always eager. | ||
camelia | rakudo 25a0b3: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏'mixed fruit'' (indicated by ⏏) in method Numeric at src/gen/CORE.setting:10063 in sub infix:<+> at src/gen/CORE.setting:2983 in sub infix:<+> at src/gen/CORE.setting:298… | ||
TimToady | r: my @a = gather for 1..100 { say take $_}; | ||
camelia | rakudo 25a0b3: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283xE2 | ||
[Coke] | pmichaud:danke. | ||
timotimo | r: sub prefix:<The> ($name) is tighter(&infix:<~>) { "'$name'" }; say (The 'mixed fruit' ~ The 'french fries'); | ||
TimToady | r: my @a := gather for 1..100 { say take $_}; | ||
camelia | rakudo 25a0b3: OUTPUT«'mixed fruit''french fries'» | ||
rakudo 25a0b3: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283xE2 | |||
19:08
risou is now known as risou_awy
|
|||
TimToady | apparently := is also being eager | 19:09 | |
pmichaud | also, I think that moritz made 'for' eager. | ||
TimToady | boo hiss | ||
pmichaud | r: my @a := gather (1..100).map( { say take $_ } ); | ||
camelia | rakudo 25a0b3: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283xE2 | ||
pmichaud | r: my @a := gather (1..100).map( { say take $_ } ); 1; | ||
camelia | rakudo 25a0b3: ( no output ) | ||
pmichaud | also, displaying @a makes it eager. | ||
flussence | rn: [+] $_ X- .pop given 'math`'.ords # irclog.perlgeek.de/perl6/2013-05-26#i_7117448 | 19:10 | |
TimToady | r: my @a := gather for 1..100 { say take $_}; 1 | ||
camelia | rakudo 25a0b3, niecza v24-51-g009f999: ( no output ) | ||
rakudo 25a0b3: ( no output ) | |||
TimToady | whew! :) | ||
[Coke] | moritz had changed for, then changed it back because pretty much report from the wild was "eew, this is horrible" | ||
masak | down to 5 seconds. | ||
flussence | rn: say [+] $_ X- .pop given 'math`'.ords | ||
camelia | rakudo 25a0b3, niecza v24-51-g009f999: OUTPUT«42» | ||
pmichaud | okay, I didn't see the changeback. | ||
moritz++ | |||
masak | and lost one of the solutions, too :( | ||
flussence | (I can make it shorter, but that line is cuter) | ||
[Coke] | pmichaud: ... I don't know which way it is now. ;) | ||
pmichaud | there's still some nastiness involving sink context and array variables, I suspect | 19:11 | |
masak | ah, logical bug again. :) | ||
pmichaud | so having "my @a :=" as the last line in the mainline may be giving it some forced eagerness. | ||
[Coke] | r: my $a = gather for 1..100 { say $_; take $_}; | ||
camelia | rakudo 25a0b3: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283xE2 | ||
[Coke] | r: my $a := gather for 1..100 { say $_; take $_}; | ||
camelia | rakudo 25a0b3: OUTPUT«1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283xE2 | ||
[Coke] | so, it's not just array assignment. | 19:12 | |
pmichaud | add a "1;" there. | ||
[Coke] | r: my $a := gather for 1..100 { say $_; take $_}; 1; | ||
camelia | rakudo 25a0b3: ( no output ) | ||
TimToady | or read the backlog | ||
[Coke] | EW! | ||
so, for is the 'ewwwwww' way, now. | |||
pmichaud | it's because the result of the statement list is $a, which then gets .sink called on it. | ||
[Coke] | ew. | ||
pmichaud | (which I still disagree with, but I haven't had tuits to be able to review the sink changes and fix them) | ||
TimToady | note that gather technically puts its for into sink context as well, but the take should suspend that | 19:13 | |
pmichaud | right, the .sink in this case is being called on the List containing the GatherIter | ||
timotimo | i'm kind of sad that ::CALLER:<$?LINE> doesn't seem to work :( | 19:19 | |
moritz | timotimo: callframe().line should | ||
timotimo | thanks :) | 19:20 | |
it even gives the file, that's great :) | |||
masak | current solution down to 7 seconds. | ||
19:21
btyler left
|
|||
masak | suggestion: rename var() to unknown() | 19:21 | |
timotimo | masak: your script doesn't run on niecza, because n doesn't seem to like adding multis to +, * and == | 19:22 | |
flussence | r: say 'a' ~~ /(.)/ # just doing this to see if the regex quote brackets work on my screen... | ||
camelia | rakudo 25a0b3: OUTPUT«「a」 0 => 「a」» | ||
masak | timotimo: that's niecza's problem. :) | 19:23 | |
timotimo | inded | 19:24 | |
pmichaud | or unk() if you want shorter. | 19:27 | |
which is surprisingly close to "thunk" :-) | |||
afk, kid pickups | |||
[Coke] | I have a naive solution to the masak challenge that pretty much times out due to using the combine() from RC on a list of 31 taken 4 at a time. | 19:28 | |
lizmat | .oO(second time someone mentions unk today) |
19:29 | |
masak | here's a corresponding MiniZink model: www.hakank.org/minizinc/xkcd.mzn | ||
[Coke] | lizmat: you were talking about how you see Any and Mu earlier. I just see them as points in the type hierarchy to control junctions. "use this one to autothread junctions" "use this one to treat junctions as self contained things with no magic powers" | 19:31 | |
lizmat | yes, I was taught this by jnthn at PLPW | ||
I didn't know about that property of Mu when I was thinking about using Mu | 19:32 | ||
[Coke] | ah. alrightee then. | ||
masak | yes, I'm happy with my solution now. | ||
I didn't really expect to arrive at one that runs in < 10 seconds on Rakudo. | |||
even though the searchspace is not enormous. | |||
19:34
gudahtt left
|
|||
Util | #ps time | 19:34 | |
19:34
stevan_ left
|
|||
moritz doesn't have anything to conribute to #ps these days | 19:36 | ||
lizmat is just lurking | |||
19:39
ingyfoo is now known as ingy
|
|||
[Coke] | adding the gather/take to rosettacode.org/wiki/Combinations#Perl_6 seems to have slowed it down a bit. | 19:40 | |
er, a LOT. | 19:42 | ||
19:43
fhelmberger joined
|
|||
[Coke] | huh. or something on feather was killing the CPU there. | 19:47 | |
19:49
isBEKaml left,
kaare_ left,
isBEKaml joined,
isBEKaml left,
isBEKaml joined
19:50
konundra left
19:51
lichtkind left
19:54
stevan_ joined
19:56
isBEKaml left,
isBEKaml joined,
isBEKaml left,
isBEKaml joined
19:57
fhelmberger left,
konundra joined
|
|||
lizmat | .tell jnthn I did the suggested change and it spectested ok. I also removed the ::?CLASS:D: as the other methods taking a key didn't have that either | 19:58 | |
yoleaux | lizmat: I'll pass your message to jnthn. | ||
dalek | kudo-star-daily: ef7b1f1 | coke++ | log/ (5 files): today (automated commit) |
20:00 | |
[Coke] | no change on R* | ||
20:00
arlinius left
|
|||
lizmat has changed github.com/rakudo/rakudo/pull/156 to only change the API of Hash.new and not touch the API of hash() | 20:13 | ||
lizmat has removed some Mu's from github.com/rakudo/rakudo/pull/156 , because she now realizes that was not really a smart thing to do (even though it spectested ok) | 20:14 | ||
20:14
FROGGS joined
|
|||
lizmat | *158 | 20:14 | |
FROGGS | o/ | 20:15 | |
lizmat | FROGGS! | ||
FROGGS | :o) | ||
lizmat also killed a Mu in github.com/rakudo/rakudo/pull/147 | 20:16 | ||
20:18
zby_home left
|
|||
FROGGS | pmichaud / [Coke]: my home-directory on feather has a checked-out iobranch merge, and some local changes... | 20:21 | |
at this state, the bug hides if you comment out a single line of the test file | |||
the commented-out lines of IO/Spec/Unix.pm will trigger the bug too if commented in (with an unchanged test file) | 20:22 | ||
lizmat started github.com/perl6/specs/issues/45 (use Foo:version<...>, how to deal with edge cases?), hoping for a resolution in Austin, TX | 20:25 | ||
20:26
zby_home joined
20:27
konundra left,
FROGGS left,
diakopter joined
20:29
isBEKaml left
20:32
SamuraiJack left,
sqirrel joined
20:34
FROGGS joined
|
|||
lizmat | seems we have some bad net weather? | 20:34 | |
FROGGS | might be just me on a train | 20:38 | |
20:44
rindolf left
20:45
dmol1 left
20:49
zby_home left
|
|||
dalek | ecs: ff6e953 | (Elizabeth Mattijsen)++ | S11-modules.pod: Revert "Revert "Remove line the was left behind from a previous edit"" This reverts commit 546a9c4322e537f98a71d99f0dc473532b416e10. |
20:56 | |
jnthn | ... | 20:57 | |
yoleaux | 19:58Z <lizmat> jnthn: I did the suggested change and it spectested ok. I also removed the ::?CLASS:D: as the other methods taking a key didn't have that either | ||
jnthn | Somebody in one of my Git classes once asked, "can you revert a revert". Now I've seen it happen in the ild... | ||
ajr_ | I assume dalek is a bot of some kind, perhaps tracking updates? | ||
jnthn | *wild | ||
lizmat | jnthn: I found that I actually had reverted a change that shouldn't have been (afaik) | ||
tadzik | good evening #perl6 | 20:58 | |
lizmat | tadzik! | ||
jnthn | ajr_: Tracks commits, yet. And with a link so you can code review what was commat | ||
o/ tadzik | |||
*ye | |||
*yes | |||
lizmat | how did it go today / yesterday? | ||
masak | jnthn: yes, but a revert of a revert is just a cherry-pick of the original commit. that's why cherry-picks are covariant and reverts are contravariant ;) | ||
jnthn | argh, can't type | ||
masak | tadzik! \o/ | ||
jnthn | masak: Huh? Does it actually do it that way, or the effect is just the same? | ||
ajr_ | Np. I got the gist. :-)* | ||
masak | tadzik: the two Ciechans are now safely in my cupboard, to be consumed on some hot summer's day. :) | 20:59 | |
jnthn: the effect is just the same. | |||
20:59
arlinius joined
|
|||
jnthn | Oh, phew :) | 20:59 | |
masak | jnthn: I'm pretty sure enough information is lost that it doesn't actually go back to the original commit ;) | ||
jnthn | Right, I was pretty sure it didn't actually store enough to implement it that way. | ||
masak | jnthn: just pointing out that you could've just the re-cherry-picked the original commit. | ||
tadzik | masak: do give me a heads-up when you consume them, I'm curious about their contents | ||
masak .oO( I have a feeling it's beer... ) :P | 21:00 | ||
tadzik: will do. | |||
tadzik | good, good. Let the beer flow through you. | ||
masak | I'll make sure to invite jnthn, as per agreement. | 21:01 | |
21:11
skids left
21:15
espadrine joined
|
|||
timotimo | tadzik: i've just made a pullrequest for the test for missing lib/ and the fix i made | 21:16 | |
tadzik | ossum | ||
timotimo | even more slides procrastinated away! ;) | ||
tadzik | before I merge pull requests, I like to fetch them and test locally | 21:18 | |
github could use a textbox with "git clone this.and.that to test it locally" | |||
so I don't have to click on 'timo', look through your repos, find panda, find branches... | |||
dalek | nda: 99ecd04 | (Timo Paulssen)++ | / (2 files): don't explode when no lib folder exists +test |
21:20 | |
nda: 1b27a1d | tadzik++ | / (2 files): Merge branch 'accept_missing_lib' |
|||
tadzik | timotimo++ # thanks! | 21:21 | |
having contributors is awesome :) | |||
masak | it is. contributors++ | ||
timotimo | if you write it like that, masak, it seems like a volunteerment ;) | 21:24 | |
masak hides behind a git branch | |||
21:25
PacoAir left
|
|||
timotimo | so, i was hoping to use callframe() to get the filename and line of where i was called from | 21:26 | |
turns out it goes through the core setting for quite a few levels m) | |||
21:28
bluescreen10 joined
|
|||
timotimo | r: say callframe(5).file; say callframe(5).file; | 21:32 | |
camelia | rakudo 25a0b3: OUTPUT«src/stage2/gen/NQPHLL.nqpsrc/stage2/gen/NQPHLL.nqp» | ||
timotimo | oh no! | 21:33 | |
i'm introducing new callframes by using "first" to find the first callframe outside of my lib >_< | |||
do those frames get invalidated when one gets popped off, but not down to the one i'm holding a reference to? | 21:34 | ||
21:37
FROGGS left
|
|||
jnthn | Slides from my talk at Polish Perl Workshop: jnthn.net/papers/2013-plpw-rakudo-jvm.pdf | 21:37 | |
lizmat | jnthn++ | 21:40 | |
good to see it again, it was a lot to take in :-) | |||
masak | oh right, slides. | ||
I'll try to get mine published tomorrow. | |||
21:42
REPLeffect left
21:44
Chillance joined
21:46
japhb_ joined
|
|||
lizmat | given a file A.pm with: module A:version<v1> { sub a is export { say "a" } }; module B:version<v1> { sub b is export { say "b" } } | 21:47 | |
21:48
stevan_ left
|
|||
lizmat | use A; a; b; import B # currently fails because it tries to import "b", whereas the "use A" already did that also | 21:48 | |
even though they are the same sub | 21:49 | ||
21:49
FOAD joined
21:50
sqirrel left
|
|||
lizmat | is the fact that "use A" exports the subs from module B a rakudobug, or is that a case of "don't do that" ? | 21:50 | |
jnthn | Well, you're importing the stuff from EXPORT::DEFAULT | ||
And "is export" installs the things in there | |||
lizmat | Feels to me that we should maybe disallow more than one module / class etc. at the top level of a UNIT to prevent these type of situations? | 21:51 | |
jnthn | Nah. | ||
It's common to do that. Especially if one of them is a lexical class that you're using as an implementation detail | |||
lizmat | I'm not against that | ||
that's lexical inside, and hidden from the outside | |||
it's just that there is a difference between "use A" and "import A" in the case of 2 top level modules with exportable subs | 21:52 | ||
jnthn | I thought we didn't complain about importing the same things twice, though... | ||
r: use Test; use Test; | |||
camelia | rakudo 25a0b3: OUTPUT«===SORRY!===Cannot import the following symbols from Test, because they already exist in this lexical scope: &skip_rest, &diag, &done_testing, &doneat /tmp/zuyxQPOgEB:1------> use Test; use Test⏏;» | ||
jnthn | Ah, hm. | ||
lizmat | so maybe that's the rakudobug ? | 21:53 | |
jnthn | I'm a bit surprised it complains there. | ||
Especially as I thought I'd fixed that in the past... | |||
lizmat | ok, then I'll submit a rakudobug for this and we can look at this later | ||
is that a plan? | |||
jnthn | Sure | 21:54 | |
lizmat submits rakudobug | 21:55 | ||
goodnight #perl6! and sleep& | |||
timotimo | jnthn: how much work do you figure will it take for Rakudo::Debugger to run on the jvm? from my point of view it should range from "works immediately" to "an evening's worth of work" (of course assuming a sufficiently matured rakudo-jvm) | 21:58 | |
21:59
bluescreen10 left,
REPLeffect joined
|
|||
jnthn | timotimo: Probably O(day), possible O(evening), but yeah, needs a sufficiently matured rakudo-jvm :) | 21:59 | |
22:03
lustlife left
|
|||
masak .oO( Society Against The Abuse Of Ordo Notation ) | 22:06 | ||
dalek | kudo/nom: be60ebe | dagurval++ | src/core/IO.pm: fix order of directory/volume used in dir() |
||
kudo/nom: 2f8ebe1 | (Brent Laabs)++ | t/spectest.data: add S02-names/bare-sigil.t to spectest |
|||
rakudo/nom: a418e53 | dagurval++ | src/core/Temporal.pm: | |||
22:07
dalek joined,
ChanServ sets mode: +v dalek
22:08
stevan_ joined
|
|||
labster | that was supposed to be: Add IO::Handle meth: gist, perl, path (now returns IO::Path), IO (a no-op) | 22:09 | |
22:23
denisboyun_ left
22:25
REPLeffect left
|
|||
Juerd | What is the user p6eval on feather1? Evalbots must 15399 p6eval 20 0 304m 274m 1928 R 0,4 23,3 1:37.04 perl6 | 22:32 | |
12384 sergot 20 0 499m 182m 684 D 0,0 15,5 4:32.28 perl6 | |||
Arghhhh | |||
Lag + paste fail | |||
Evalbots must be on feather3, where they can cause little harm | |||
So I'd like to learn what p6eval is on feather1; It's causing problems now. | |||
sorear | Juerd: iirc feather3 doesn't have enough RAM to build rakudo, so we have a cronjob on feather1 which builds rakudo and scps it to feather3 | 22:36 | |
all user evaluations are done on feather3 | |||
labster | *sigh*, now people are trying to pick fights on the YAPC email list. | 22:38 | |
sorear | labster: is that in the movie night thread I just deleted without reading? | 22:39 | |
labster | one of them. title is "dha is the catalog!" | 22:40 | |
jnthn | I've yet to see a mail on that list that is actually worthwhile. | 22:42 | |
labster | Me neither. | 22:44 | |
22:45
PacoAir joined
22:46
PacoAir left
22:48
pecastro left
|
|||
jnthn wonders how you un-sub... | 22:48 | ||
ah, found it | |||
(just follow listinfo link at bottom of posts) | 22:49 | ||
22:54
REPLeffect joined
|
|||
masak | oh, a good idea. | 22:54 | |
masak follows suit | |||
here's to staunchly refusing to let the YAPC::NA mailing list ruin the YAPC::NA experience! :D | 22:55 | ||
'night, #perl6 | 22:56 | ||
sorear | night masak | 23:00 | |
23:01
cognominal left
23:12
snoopy left
|
|||
jnthn | 'night from me too | 23:13 | |
23:15
Gruber left,
Grrrr joined
23:16
bbkr left,
bbkr joined
23:19
xinming left
23:33
Juerd left
23:50
Juerd joined
23:52
Chillance left
|