»ö« 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:04
vendethiel joined
00:10
raiph joined
|
|||
dalek | ast: e7442ea | Mouq++ | S12-methods/how.t: Add test for RT #76928 |
00:15 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76928 | ||
skids | m: grammar f { regex g { a }; }; f.^add_method("O", rx/b/); f.^methods».name.grep({ $_.chars < 2}).print # how to name that rx? | 00:16 | |
camelia | rakudo-moar 3da1bb: OUTPUT«g» | ||
00:16
madmuid left
|
|||
Mouq | m: grammar f { regex g { a }; }; my &O = rx/b/; say &O.set_name("O"); f.^add_method("O", &O); f.^methods».name.grep({ $_.chars < 2}).print | 00:19 | |
camelia | rakudo-moar 3da1bb: OUTPUT«OgO» | ||
skids | Mouq++ | 00:20 | |
Mouq | m: &infix:<+>.set_name("nonsense"); say &[+].name # Not so sure I approve :P | ||
camelia | rakudo-moar 3da1bb: OUTPUT«nonsense» | ||
Mouq | But it seems like the only thing that cares what the routine thinks its name is, is the routine itself | 00:21 | |
00:27
vendethiel left
00:29
BenGoldberg joined,
vendethiel joined
00:30
atweiden joined
|
|||
skids | m: grammar f { regex g { a }; }; f.^add_method("O", do { $_ = rx/b/; $_.set_name("O"); $_ }); f.^methods».name.grep({ $_.chars < 2}).print; f.parse("b", :rule<O>).say; # darn | 00:30 | |
camelia | rakudo-moar 3da1bb: OUTPUT«gOCannot find method 'postcircumfix:<( )>' in method parse at src/gen/m-CORE.setting:15686 in block <unit> at /tmp/YPhTNfOMo6:1» | ||
00:33
agentzh left
|
|||
Mouq | m: grammar f { regex g { a }; }; f.^add_method("O", do { $_ := rx/b/; $_.set_name("O"); $_ }); f.^methods».name.grep({.chars < 2}).print; f.parse("b", :rule<O>).say; | 00:33 | |
camelia | rakudo-moar 3da1bb: OUTPUT«gO「b」» | ||
Mouq | s/=/:= | ||
00:42
laouji joined
|
|||
J-L | Out of curiosity, is there a way I can set $_ without using $_? I know I can read $_ with just .perl . (At the command line, sometimes I try to avoid $_, for shell reasons.) Example: | 00:44 | |
m: (map { .perl ** 2 }, (1 .. 10)).say; # shows perfect squares from 1 to 100 | 00:45 | ||
camelia | rakudo-moar 3da1bb: OUTPUT«1 4 9 16 25 36 49 64 81 100» | ||
00:49
coffee` left
|
|||
Mouq | J-L: Sometimes. .=foo() and s/// work on $_ | 00:51 | |
00:51
vendethiel left
00:53
J-L left
|
|||
skids | J-L: given { } sets the topic. | 00:54 | |
m: given 42 { .say } | 00:55 | ||
camelia | rakudo-moar 3da1bb: OUTPUT«42» | ||
raiph | m: .say for 5 | ||
yoleaux | 11 Mar 2015 22:11Z <jnthn> raiph: 122892 and 122253 were about the same issue; I merged them, and then did the work needed to resolve them. | ||
camelia | rakudo-moar 3da1bb: OUTPUT«5» | ||
raiph | jnthn++ | ||
skids | Mouq: thanks again. | 00:56 | |
01:03
colomon left,
colomon joined
01:08
fhelmberger joined
01:11
vendethiel joined
01:13
fhelmberger left
01:27
colomon left
01:29
colomon joined
01:38
vendethiel left
01:40
espadrine left
02:03
raiph left
02:04
raiph joined
02:07
cognominal joined
02:11
cognominal left
|
|||
skids | m: "aa" ~~ m/(a) ($0)/.gist.say # Should work? | 02:15 | |
camelia | rakudo-moar 3da1bb: OUTPUT«Nil» | ||
02:15
colomon left
02:16
jfb joined,
jfb left
|
|||
BenGoldberg | m: .say given 42; .say for 42; | 02:16 | |
camelia | rakudo-moar 3da1bb: OUTPUT«4242» | ||
02:17
grondilu left
02:21
cognominal joined
02:22
colomon joined
02:32
silug left
02:35
colomon left
02:36
colomon joined
02:39
pullphinger joined,
pullphinger15 joined
02:40
pullphinger15 left
|
|||
Mouq | m: "aa" ~~ m/(a) $0/.gist.say | 02:41 | |
camelia | rakudo-moar 3da1bb: OUTPUT«「aa」 0 => 「a」» | ||
dalek | kudo/nom: 595ffe3 | Mouq++ | src/core/Junction.pm: Be more careful about preserving the values of Junctions This allows autoviv to work in things like: my @a := [1,2]; @a[1|2] //= 3; say @a |
02:44 | |
02:46
silug joined
|
|||
skids | Mouq: yeah but I need the second () in the ungolfed version. I don't think it is supposed to work, P5 does not work that way either, the backrefs get reset by the (. | 02:47 | |
02:50
raiph left
|
|||
skids | m: grammar f { regex TOP { (a) :my $a = "$0"; ($a) } }; f.parse("aa").gist.say # Though this I would expect to work, and doesn't | 02:57 | |
camelia | rakudo-moar 3da1bb: OUTPUT«(Any)» | ||
03:00
yeahnoob joined
03:05
eiro left
03:06
eiro joined
|
|||
Mouq | m: grammar f { regex TOP { (a) {} :my $a = "$0"; ($a) } }; f.parse("aa").gist.say | 03:07 | |
camelia | rakudo-moar 3da1bb: OUTPUT«「aa」 0 => 「a」 1 => 「a」» | ||
Mouq | :P | ||
My rule for regexes is "if it doesn't work, through a {} in" | |||
skids | I need to avoid a sequence point, unfortunately. | ||
Mouq | Ah | ||
03:20
eiro left
03:23
noganex joined
03:26
noganex_ left
03:28
eiro joined,
BenGoldberg left
03:29
BenGoldberg joined,
yeahnoob left,
BenGoldberg left
03:30
yeahnoob joined,
BenGoldberg joined
03:31
cognominal left
|
|||
dalek | kudo/nom: e84f718 | Mouq++ | src/core/operators.pm: Allow undef() to be rw (fixes RT #117777) |
03:31 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117777 | ||
03:33
BenGoldberg left
03:34
BenGoldberg joined,
BenGoldberg left
03:35
BenGoldberg joined
|
|||
dalek | ast: 9a695d3 | Mouq++ | S32-scalar/undef.t: Add tests for RT #117777 |
03:41 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117777 | ||
03:42
chenryn joined
03:50
yeahnoob left,
yeahnoob joined
04:02
FROGGS_ joined
04:03
rurban joined
04:05
FROGGS left
04:26
rurban left
|
|||
Mouq | .ask jnthn Does gist.github.com/Mouq/1420b193252f0cbaec31 seem like a sane fix to RT #118555 ? I'm hesitant to patch BOOTSTRAP.nqp | 04:31 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118555 | ||
yoleaux | Mouq: I'll pass your message to jnthn. | ||
04:35
laouji left,
laouji joined
|
|||
Mouq | What should "sub foo(&x?) { &x() }; foo" do? (RT #113990) I'm inclined to think that &x should default to either { Mu } or -> |c { return |c } | 04:53 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=113990 | ||
Mouq | *sub (|c) { return |c } | ||
(This is just a question for general opinions… I don't think there's any spec on this) | 04:54 | ||
04:54
Alina-malina left
05:03
nebuchad` joined
05:04
[particle]1 joined
05:06
_sri_ joined,
btyler_ joined,
Maddingu1 joined
05:07
danstone1 joined
05:08
chenryn left,
xinming_ joined
05:09
lestrrat left,
_sri left,
xinming left,
[particle] left,
pierrot left,
danstoner left,
pierrot joined,
betterwo1ld joined,
nebuchadnezzar left,
btyler left,
Bucciarati left,
Maddingue left,
betterworld left,
Bucciarati joined,
risou left,
pierrot is now known as Guest43753,
[ptc] left
05:10
risou joined,
[ptc] joined
05:11
Guest43753 is now known as pierrot,
lestrrat joined,
pierrot is now known as Guest1016
05:12
Guest1016 is now known as pierrot,
pierrot left,
pierrot joined
05:19
vendethiel joined
05:43
atweiden left,
cognominal joined
05:44
BenGoldberg left,
vendethiel left
05:46
yeahnoob left
05:47
chenryn joined
|
|||
raydiak | o/ | 05:48 | |
05:51
yeahnoob joined
05:58
mr-foobar left
06:06
[Sno] left
06:23
vendethiel joined
06:49
Akagi201 joined
06:51
asdf12z_ left
06:52
yeahnoob left
06:53
cognominal left
07:00
Possum left,
chenryn left
07:01
diana_olhovik_ joined
07:04
prime left
07:05
prime joined,
telex left
07:06
telex joined
07:09
wicope joined
07:10
chenryn joined,
virtualsue joined
|
|||
moritz | : sub foo(&x?) { &x() }; foo | 07:11 | |
m: sub foo(&x?) { &x() }; foo | |||
camelia | rakudo-moar e84f71: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0) in sub foo at /tmp/FHAVO5LdsS:1 in block <unit> at /tmp/FHAVO5LdsS:1» | ||
07:12
nebuchad` is now known as nebuchadnezzar
|
|||
moritz | Mouq: rakudo's reaction looks quite sane to me (though I don't know what cs = 0 means) | 07:12 | |
07:15
yeahnoob joined
07:16
David___ joined
|
|||
David___ | Hello, where can I find latest version of the perl6 books/resouces.. looking at using perl6 it seems that it is few years old .. Is it not longer maintained? | 07:16 | |
nwc10 | David___: I don't know the best answer, but I believe that the page at perl6.org/documentation/ is actively maintained, and hence will link to current stuff | 07:18 | |
David___ | Yep looking at that link it seems like it is still filled with unfinished documentation and few nice presentation.. probably this language is still not production ready.. | 07:20 | |
07:21
Possum joined
07:23
rindolf joined
07:24
darutoko joined
07:26
vendethiel left
07:28
rindolf left
|
|||
raydiak | Mouq: I think being able to tell if the function was passed or not via its definedness or boolness is more useful than providing any sort of default routine like we have for array and hash containers, one of the differences being that array/hash at least bool to false when empty but any defined routine is true (without a mixin or custom class overriding Bool) | 07:31 | |
07:33
smls joined
07:34
vendethiel joined
|
|||
Mouq | raydiak: moritz: Hm, yeah… Perhaps we could still provide a default Callable() that would die with a better error? | 07:35 | |
07:35
FROGGS_ left
07:36
lizmat joined
07:37
David___ left
07:46
[Sno] joined
07:47
Alina-malina joined
|
|||
raydiak | Mouq: agreed 100% the error is LTA | 07:48 | |
07:50
virtualsue left
|
|||
raydiak | "cannot invoke this object" works, but "repr uninstantiable" not as much...maybe more like "cannot invoke an undefined value" or along those lines | 07:51 | |
Mouq | "Tried to invoke an undefined routine"? | 07:52 | |
07:53
Ven joined
|
|||
raydiak | sounds good to me | 07:54 | |
07:55
rurban joined
|
|||
timotimo | o/ | 07:57 | |
raydiak | o/ | ||
07:58
espadrine joined
08:01
vike left
|
|||
bartolin | good morning, #perl6 | 08:01 | |
did I mention, that it's quite motivating to see all that progress on RT tickets? | |||
moritz | Mouq: providing a default just to produce a better error message sounds wrong to me | 08:03 | |
08:03
vike joined
|
|||
moritz | Mouq: it messes with introspection | 08:03 | |
m: Mu() | |||
camelia | ( no output ) | ||
smls | Is there something like 'redo' but for starting a (for) loop from the beginning rather than just repeating the current iteration? | 08:04 | |
08:04
yeahnoob left
|
|||
moritz | no | 08:05 | |
and I can't imagine how it could work | |||
for lines() -> { redo-from-start if (state $)++ == 10 } | 08:06 | ||
where would it get the lines from? | |||
smls | the same way it would if the for loop was wrapped in a "while { }" and you "last"ed the for loop | 08:07 | |
08:08
FROGGS joined
|
|||
smls | the result might not be useful with things like lines() but could be for other things | 08:08 | |
moritz | oh, it's specced | ||
it's called goto | |||
LOOP: for lines() -> { goto LOOP if if (state $)++ == 10 } | |||
ss/if if/if/ | 08:09 | ||
smls | ok | 08:10 | |
NYI though | |||
moritz | aye | 08:11 | |
Ven | o/, #perl6 | 08:13 | |
smls | I was just wondering if in gist.github.com/smls/83829c30fdc22acaffbb I could replace the "loop (...) { ... $i++; ... $i = 0; ... }" with something more like "for (0..$n) { ... ; ... restart-loop; ... }" | ||
to make it feel less C-like :P | |||
Ven | smls: without parens around the for (), even :P | ||
08:13
Rounin joined
|
|||
smls | tsk | 08:13 | |
08:13
PerlJam left
08:14
dalek left
|
|||
smls | I know it could be implemented more elegantly as a recursive alrogithm, but without optimized tail recursion it would probably get into stack overflow problems on larger inputs | 08:15 | |
08:15
brrt joined
|
|||
timotimo | Mouq: i like your recent commits :3 | 08:15 | |
08:16
avuserow left,
Util left
08:17
JimmyZ left
|
|||
moritz | smls: sounds like dynamic programming might be a better solution | 08:17 | |
smls: though I haven't thought much about it yet | |||
brrt | \o | 08:18 | |
08:18
vendethiel left
|
|||
timotimo | FROGGS: do you think we should do analysis of a report's failure modes and signal "native library missing" differently from "failed"? | 08:19 | |
moritz | uhm, native library missing should ideally be captured at configure time | 08:20 | |
08:21
Maddingu1 is now known as Maddingue
|
|||
Rounin | Don't even go there... Today I'm linking C# with Java linked with C DX{ | 08:21 | |
moritz | Rounin: sounds like great fun | 08:22 | |
08:22
yeahnoob joined
|
|||
timotimo | "configure time"? what's that? :) | 08:22 | |
Rounin | moritz: It's quite an adventure! Who knew there were so many places where one might place lib/ folders? | ||
timotimo | i can imagine a module that could be used like { use RequireNativeLibrary "gtk3" } that could cause BEGIN-time failure rather than test-time failure | 08:23 | |
but seeing reports for your module failing to install because some smoker doesn't have the native library is ... annoying | 08:24 | ||
08:25
zakharyas joined
|
|||
FROGGS | timotimo: in P5 you usually want to spit out an NA | 08:33 | |
smls | m: .say for ([X] <a b c>, <a b c>).tree.list # this works | 08:34 | |
camelia | rakudo-moar e84f71: OUTPUT«a aa ba cb ab bb cc ac bc c» | ||
smls | m: .say for ([X] <a b c> xx 2).tree.list # this doesn't | ||
camelia | rakudo-moar e84f71: OUTPUT«abcabc» | ||
timotimo | FROGGS: how should we probe for that kind of failure? | ||
smls | how can I make the 2nd example work ^^ ? | ||
timotimo | shall we teach panda or cpandatesters? | ||
smls | i.e. calculate the cartesian product of a list with itself | 08:35 | |
s/cartesian product/permutations/ | |||
FROGGS | timotimo: the best way would be to have a dependency section of C libs or tools or header files that panda could check | 08:36 | |
08:36
psch left
|
|||
timotimo | i thought so, too | 08:36 | |
however, we have some code in the modules that gives different native library names for different OSes and such | 08:37 | ||
smls | m: my @a = <a b c>; .say for ([X] @a, @a, @a).tree.list # as long as the arguments to [X] are listed manually, it works | ||
camelia | rakudo-moar e84f71: OUTPUT«a a aa a ba a ca b aa b ba b ca c aa c ba c cb a ab a bb a cb b ab b bb b cb c ab c bb c cc a ac a bc a cc b ac b bc b cc c ac c bc c c» | ||
smls | ...but when repeating them with xx, [X] threats thema as a single flat list | 08:38 | |
smls can't wait for the GLR to arrive and (hopefully) make list-of-lists handling intuitive. | 08:39 | ||
08:41
pdcawley joined
|
|||
timotimo | m: my @a = <a b>; .say for ([X](@a; @a; @a)) | 08:42 | |
camelia | rakudo-moar e84f71: OUTPUT«aaaaababaabbbaababbbabbb» | ||
timotimo | does anything regarding ; help you? | 08:43 | |
smls | I don't think so | ||
08:44
vendethiel joined,
pdcawley left
|
|||
timotimo didn't actually look at what you were trying to do | 08:45 | ||
smls | m: say (<a b c>; <a b c>).perl; say (<a b c> xx 2).tree.list.perl; # Those two expressions return the same result... | 08:47 | |
camelia | rakudo-moar e84f71: OUTPUT«("a", "b", "c"; "a", "b", "c")("a", "b", "c"; "a", "b", "c")» | ||
smls | m: .say for ([X] (<a b c> xx 2).tree.list).tree.list # yet as an argument to [X], the non-literal one does not work as expected | 08:48 | |
camelia | rakudo-moar e84f71: OUTPUT«a b ca b c» | ||
08:48
eli-se joined
|
|||
smls | a bug, or a correctly-implemented peculiarity of **@_ or "is parcel" arguments (or whatever [X] uses to do its magic) | 08:50 | |
? | |||
timotimo | i don't know :( | 08:51 | |
08:53
virtualsue joined
|
|||
TimToady | Good morning everyone, you're on screen at Morgan Stanley, Budapest | 08:54 | |
yoleaux | 11 Mar 2015 23:45Z <Mouq> TimToady: Do these look OK to you? irclog.perlgeek.de/perl6/2015-03-11#i_10262758 | ||
moritz | good morning TimToady :-) | ||
t/spec/S12-class/inheritance.t complains on current rakudo-m with You planned 40 tests but ran 39. | |||
Could not find symbol '&NotComposed' in method <anon> at src/gen/m-CORE.setting:15247 | 08:55 | ||
sounds like an error reporting fail | |||
and sounds like it's my fault :( | |||
TimToady | if I demo weird things here, it'll be because I'm showing things off | 08:57 | |
moritz | oh, I have a local, uncommitted test here :/ | ||
smls | say "{<Hi Hello Hey G'day Morning>.pick}, Budapest!" | ||
m: say "{<Hi Hello Hey G'day Morning>.pick}, Budapest!" | |||
camelia | rakudo-moar e84f71: OUTPUT«Hello, Budapest!» | ||
TimToady | smls++ | ||
08:58
itz_ left
|
|||
timotimo | good morning TimToady and audience! | 09:00 | |
09:02
virtualsue_ joined
|
|||
TimToady | m: v1.2.3 ~~ v1.2.4 | 09:03 | |
camelia | ( no output ) | ||
TimToady | m: say v1.2.3 ~~ v1.2.4 | ||
camelia | rakudo-moar e84f71: OUTPUT«False» | ||
09:03
virtualsue left,
virtualsue_ is now known as virtualsue
|
|||
TimToady | m: say v1.2.3 ~~ v1.2.2 | 09:03 | |
camelia | rakudo-moar e84f71: OUTPUT«False» | ||
TimToady | m: say v1.2.3 ~~ v1.2.2+ | ||
camelia | rakudo-moar e84f71: OUTPUT«True» | ||
09:03
itz joined
|
|||
TimToady | m: say v1.2.3 ~~ v1.2 | 09:03 | |
camelia | rakudo-moar e84f71: OUTPUT«True» | ||
moritz | m: say v1.2.3 ~~ v1.2.0 | 09:04 | |
camelia | rakudo-moar e84f71: OUTPUT«False» | ||
09:08
vendethiel left
09:09
lizmat left
09:10
masak_webchat joined
|
|||
masak_webchat | anyone else having trouble logging into hack.p6c.org? | 09:10 | |
I get the MOTD, the "Last login", and then just a hang 'stead of a bash prompt. | |||
09:11
brrt left
|
|||
masak_webchat hopes he's not disturbing some talk or other with admin trivia | 09:11 | ||
timotimo | i have trouble, too. let's all hammer the sshd with connection attempts until it works again! ;) | 09:12 | |
09:13
lizmat joined,
espadrine left
09:14
kjs_ joined
09:15
kjs_ left
09:17
chenryn left
09:18
chenryn joined
|
|||
moritz | masak_webchat: trying now | 09:19 | |
09:19
Ven left,
eli-se left
09:20
cschwenz joined,
Akagi201_ joined
09:21
kjs_ joined
|
|||
timotimo | yesterday ashgti's changes to perl.tmbundle were merged into the textmate/perl.tmbundle repository | 09:21 | |
09:23
Akagi201 left
|
|||
moritz | not having much luck through the net, trying the VM console now | 09:24 | |
timotimo | .o( entropy completely drained? ) | 09:26 | |
09:27
lizmat left
09:31
slavik left
|
|||
jnthn | morning o/ | 09:33 | |
yoleaux | 04:31Z <Mouq> jnthn: Does gist.github.com/Mouq/1420b193252f0cbaec31 seem like a sane fix to RT #118555 ? I'm hesitant to patch BOOTSTRAP.nqp | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118555 | ||
timotimo | top of the morning to you, jnthn | 09:34 | |
09:35
lizmat joined
|
|||
jnthn | .tell Mouq Only worry is that while this fixes the slow-path binder used on Moar, it doesn't fix it for bind lowering (where we compile many common/simple signatures), nor JVM...and I wonder if we could patch it a different way that fixes the 3 at once. | 09:35 | |
yoleaux | jnthn: I'll pass your message to Mouq. | ||
09:35
chenryn left
09:36
fhelmberger joined
|
|||
jnthn | .tell Mouq For example, adding a default closure that makes an appropriately typed array/hash when we construct the Parameter object in the first place. | 09:36 | |
yoleaux | jnthn: I'll pass your message to Mouq. | ||
09:36
chenryn joined
09:37
coffee` joined
09:38
rindolf joined,
vendethiel joined
09:43
yeahnoob left
09:45
Ven joined
09:47
masak left
09:51
coffee` left,
chenryn left
09:54
chenryn joined
09:55
dakkar joined
09:59
espadrine joined
|
|||
masak_webchat | moritz: oh, so you can reproduce the problem? that's both good news and bad news, I guess... | 10:00 | |
masak_webchat waits, stuck in webchat limbo | |||
nwc10 | good *, masak_webchat :-) | 10:01 | |
10:02
vendethiel left
10:03
eli-se joined,
Akagi201_ left
10:04
Akagi201 joined,
[Coke] left
|
|||
jnthn | Punctuation aside, masak_webchat is an anagram of "wat?! has me back!" | 10:05 | |
tadzik | how do you come up with this stuff :P | 10:06 | |
yoleaux | 11 Mar 2015 21:36Z <FROGGS> tadzik: github.com/rakudo/rakudo/commit/7b...f80e3dafba | ||
tadzik | FROGGS: oooh, thanks | ||
bartolin | m: my int $i = 1; my $alias := $i; $alias++; say $i | 10:07 | |
camelia | rakudo-moar e84f71: OUTPUT«2» | ||
bartolin | this dies with rakudo.jvm and leads to spectest failures in S02-types/native.t | ||
jnthn wonders why | 10:08 | ||
What does it die with, ooc? | |||
10:08
Akagi201 left
|
|||
bartolin | mom | 10:08 | |
jnthn | I musta translit'd the Moar impl wrong somewhere... | ||
10:09
alini joined
|
|||
bartolin | justpaste.it/jwg1 # error message for rakudo.jvm | 10:11 | |
moritz | I can't connect to hack via the hypervisor console, I fear I must reboot it | ||
10:11
fhelmberger left
|
|||
jnthn | bartolin: hmmm, hard to guess...I'll have to have a dig | 10:11 | |
10:12
fhelmberger joined
|
|||
bartolin | I'm going to fudge the tests for jvm for the moment. ++jnthn :-) | 10:12 | |
10:13
Mouq left,
sergot left
|
|||
moritz | but I did get CPU stats, which seem to suggest that one virtual CPU was running at 100%, and the rest was mostly idle | 10:13 | |
machine rebooted; hack is pingable | 10:15 | ||
but ssh-connecting hangs :( | 10:16 | ||
10:19
masak_webchat left
10:22
vendethiel joined,
masak joined
|
|||
masak | yay | 10:22 | |
moritz | from the host I can use the network just fine | 10:24 | |
masak | moritz: any idea what happened? | ||
moritz | masak: no :( | ||
masak makes a note to be more resilient to hack.p6c.org shutdown than he was this time | 10:25 | ||
timotimo | do we have a solution for what to do when a user asks for .ords on a NFG string with "made up" combined characters? | 10:26 | |
moritz | timotimo: .ords should operate on NFC level | 10:27 | |
that is, not on grapheme level | |||
o wtf | |||
10:27
coffee` joined
|
|||
moritz | apache on hack is available | 10:27 | |
10:27
alini left
|
|||
bartolin | jnthn: fyi, I opened ticket #124051 for the JVM failures above and fudged (skip) the tests for now | 10:28 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124051 | ||
timotimo | OK | ||
moritz | ssh -4 hack also works | 10:29 | |
so, IPv6 trouble :( | |||
timotimo | yeah, "no route to host" for -6 :( | ||
10:30
psch joined
|
|||
moritz | ok, I've taken down the IPv6 DNS entry for now | 10:30 | |
psch | o/ | ||
moritz | no time to debug in more detail :( | 10:31 | |
psch | my irssi screen on hack disappeared, in case that's a hint | ||
moritz | psch: I force-rebooted the VM, so no surprise here | ||
psch | ah, ok | ||
jnthn: the bug bartolin mentioned is a bit more general than native.t alludes to. irclog.perlgeek.de/perl6/2015-03-11#i_10256934 is what i found out. your last hint was JAST/Compiler.nqp, but i don't see through that | 10:33 | ||
10:33
pecastro joined
10:34
Ven left
10:38
kjs_ left
10:39
kjs_ joined
10:40
eli-se left
10:41
donaldh joined,
kjs_ left
10:43
kjs_ joined
10:44
rindolf left
10:45
eli-se joined
10:46
chenryn left
|
|||
eli-se | woo | 10:50 | |
Perl is great. | |||
timotimo | glad to hear it :3 | 10:51 | |
masak | \o/ | ||
eli-se | all versions from 5 to 6 | ||
masak | Perl 4 is so-so :P | ||
eli-se | reminds me of Guido during a talk | 10:52 | |
he asked the audience who used Python 3 and some people raised their hand | |||
he asked the audience who used Python 2 and some people raised their hand | |||
then he asked himself what version the people used that didn't raise their hand and the conclusion was that they used Python 1 :P | 10:53 | ||
moritz | :-) | ||
timotimo | that sounds scary | ||
moritz is sure that Perl 4 was great at its time | |||
masak | but it was a very different time | ||
moritz | right | 10:54 | |
and other expectations towards programming languages | |||
eli-se | maintaining old Python 1 systems sounds fun | 10:55 | |
10:55
eli-se left
|
|||
masak .oO( * eli-se quickly left, realizing that there was an old Python 1 system somewhere to maintain ) | 10:58 | ||
11:01
laouji left,
sergot joined
|
|||
moritz | does anybody want to help me debug IPv6 issues on hack? | 11:02 | |
psch doesn't get IPv6 from his ISP | 11:03 | ||
timotimo | i can try | ||
moritz | timotimo: ip -6 route says that 2001:780:101:ff00::2:1 is the defualt gateway | 11:04 | |
but all the 2001:780:101:ff00::2:* addresses are routed to hack | 11:05 | ||
so something is fishy | |||
what should the default gatway be? | |||
timotimo | is that on the vm host? | 11:06 | |
moritz | oh, probably 2001:780:101:ff00::1 | ||
11:06
cognominal joined
|
|||
moritz | timotimo: on the guest | 11:06 | |
timotimo | if it's on the guest it should either be the host or the same as what the host has, i suppose? which is what your "isp" gives you | ||
moritz | yes, it's 2001:780:101:ff00::1 on the host | ||
and I can ping6 this from the guest | 11:07 | ||
can I reconfigure an interface according to /etc/network/interfaces without taking it down? | |||
timotimo | don't really know how the network stuff on debian works :( | 11:08 | |
11:08
dalek joined,
ChanServ sets mode: +v dalek
|
|||
moritz | root@hack:/etc# route -A inet6 add default gw 2001:780:101:ff00::1 | 11:09 | |
SIOCADDRT: Invalid argument | |||
I hate these unhelpful error messages | |||
11:12
vendethiel left
11:13
pullphinger left
|
|||
timotimo | yes! | 11:14 | |
oh | |||
you want -6 or --inet6 | |||
moritz | that's 'ip' syntax | ||
not 'route' syntax :-) | |||
timotimo | nope, i was wrong | ||
the section of man route about "-A" was weird | 11:15 | ||
moritz just googled around and didn't bother with the man page | 11:16 | ||
bartolin | moritz: I would expect the host to be the gateway for the vm. (though I don't know the network setup on hack.) | 11:18 | |
11:18
chenryn joined
|
|||
smls | My favorite Linux error message is "foo: No such file or directory", which can mean a bunch of different things, most of which have nothing to do with the existence of the file/program "foo"... ;) | 11:18 | |
11:20
cognominal left
|
|||
timotimo | bartolin: depending on how the network interfaces are connected, i.e. via a bridge to the host's interface, you could use the same gw the host uses | 11:20 | |
11:22
vendethiel joined
|
|||
bartolin | timotimo: you're right, it depends on the network setup | 11:23 | |
timotimo | everything does, always | 11:24 | |
bartolin | (I've got a working ipv6 setup where the KVM guest uses a bridge and uses the host as its gateway) | 11:25 | |
*g* | |||
moritz: I could take a look, but it probably would make sense only with an account. | |||
11:27
cognominal joined
11:33
lizmat left
11:35
lizmat joined,
abraxxa joined
|
|||
[ptc] | what is the error message "You cannot create an instance of this type" trying to tell me? | 11:40 | |
does it mean that I can't have a module and a class of the same name? | |||
psch | [ptc]: the error message just means you're trying to instantiate the module | 11:42 | |
m: module A { }; A.new | |||
camelia | rakudo-moar e84f71: OUTPUT«You cannot create an instance of this type in method bless at src/gen/m-CORE.setting:967 in method new at src/gen/m-CORE.setting:953 in block <unit> at /tmp/iX9i74SsrP:1» | ||
11:43
xfix joined
|
|||
psch | m: module A { class A { } }; A::A.new | 11:43 | |
camelia | ( no output ) | ||
jnthn | m: module A { }; class A { }; | 11:44 | |
camelia | rakudo-moar e84f71: OUTPUT«5===SORRY!5=== Error while compiling /tmp/q3O2SumD5JRedeclaration of symbol Aat /tmp/q3O2SumD5J:1------> 3module A { }; class A7⏏5 { }; expecting any of: generic role» | ||
[ptc] | psch: thanks. I knew I was doing something wrong | ||
jnthn | That's what you should get it you actually try to have a module and a class of the same name in the same scope. | ||
*if | |||
psch | m: module A { class A is export { } }; import A; # or maybe something like this | 11:45 | |
camelia | rakudo-moar e84f71: OUTPUT«5===SORRY!5=== Error while compiling /tmp/93QME9IH0NCannot import symbol A from A, because it already exists in this lexical scopeat /tmp/93QME9IH0N:1------> 3le A { class A is export { } }; import A7⏏5; # or maybe something like this» | ||
11:47
vendethiel left
11:48
skids left
|
|||
moritz | from hack I can now ping6 google.com | 11:48 | |
... and now I can ping6 hack too | 11:49 | ||
bartolin | \o/ moritz++ | 11:51 | |
11:51
cognominal left
11:53
cognominal joined
|
|||
moritz | turns out I had the gateway address bound to the local interface | 11:56 | |
11:56
cognominal left
|
|||
moritz | which is, like, total bs | 11:56 | |
timotimo | oops :) | 11:57 | |
moritz | part of the problem was that I haven't rebooted hack before | 11:58 | |
and I did the network configuration manually, and then only when it worked, dumped it to /etc/network/interfaces | 11:59 | ||
but didn't test it | |||
timotimo | seems legit ;) | ||
moritz | (because I couldn't, at least not without interrupting the network connection) | ||
timotimo | Stage parse : 28.425 | ||
psch | moritz++ | ||
timotimo | we've been at the same time for a long time, could that be? | ||
but i've got a feeling that the setting kind of grew in the mean time | 12:00 | ||
12:04
cognominal joined
|
|||
[ptc] | is there anything holding back the change to Test.pm which enables hyphenated testing functions (PR #371)? | 12:08 | |
it'd be nice to use e.g. done-testing() instead of done_testing() .... | |||
if the patch needs to be improved, just let me know, and I'll update it | 12:09 | ||
12:10
kjs_ left
12:13
kjs_ joined
|
|||
masak | [ptc]: do people still do `done_testing`? I've been on `done` for years now... | 12:13 | |
[ptc] | masak: yeah, I should have used a better example... my bad. | 12:14 | |
masak | I'm mildly opposed to messing with a stable API such as Test.pm just because some of us like hyphens better than underscores... | 12:15 | |
it feels like one kind of avoidable ecosystem turmoil. | |||
[ptc] | masak: there was an explicit request to make the change | 12:16 | |
moritz | by whom? | ||
[ptc] | masak: jnthn and perlpilot | ||
mentioned here: github.com/rakudo/rakudo/pull/366 | |||
12:17
iv joined
|
|||
jnthn | Well, what I want is consistency. And my attempt to argue the easiest achieve that by making the small handful of things that use - instead use _ (like is-prime) were met with howls from kebab-lovers. | 12:18 | |
[ptc] | from my point of view it's not a big issue, it just occured to me while writing some tests | ||
jnthn | So, now we get to change All The Things to use - | ||
masak | with a deprecation cycle involved, I guess it could be OK. | 12:19 | |
timotimo | %) | ||
jnthn | Thankfully, lizmat++ gave us good deprecation handling. :) | ||
masak | especially as the semantics is changing slightly (for the better) too, and there could be some (unlikely) test failures due to that. | ||
12:19
vendethiel joined
12:20
xtreak joined
|
|||
timotimo | FWIW, current rakudo nom has a summary score of 103.6 compared to the baseline of 2015.02 which is 100 | 12:21 | |
jnthn | timotimo: ...context? | ||
timotimo | a random perl6-bench i just ran | ||
masak | is that good or bad? | ||
iv | What does the :D mean in Supply's type signatures where the receiver is "Supply:D"? | ||
timotimo | that's good | 12:22 | |
masak | iv: "defined" | ||
timotimo | also "happy" | ||
moritz | you can't pass a type object there | ||
iv | An actual instance? | ||
masak | timotimo: as in ":Don't worry, be happy"? :) | ||
iv: pretty much. | |||
iv: though things can be instances and still undefined, even though that's rare. | |||
iv | Ok, thanks. Can you point me to the docs on that? | ||
masak | m: class C { method defined { False } }; my $c = C.new; say $c.defined | 12:23 | |
camelia | rakudo-moar e84f71: OUTPUT«False» | ||
masak | m: class C { method defined { False } }; my $c = C.new; sub foo(C:D $x) { say "alive!" }; foo($c) | ||
camelia | rakudo-moar e84f71: OUTPUT«alive!» | ||
12:23
[Coke] joined
|
|||
masak | ...huh. | 12:23 | |
jnthn | masak: Uh, it's about "is this a type object" | 12:24 | |
masak | iv: see design.perl6.org/S12.html#Abstract_...rete_types | 12:25 | |
iv | Thanks! :) | ||
masak | jnthn: yeah, seems you're right. I must be running my brain on old doc or something. | ||
jnthn | doc.perl6.org/language/classtut talks a bit about the Perl 6 object system and may also be useful | ||
(explains what "type object" means) | 12:26 | ||
masak: Given we want to multi-dispatch on :D/:U, it'd be a little unfortunate if the check cost a method call :) | |||
masak | *nod* | ||
so the *only* way to be :D is to not be a type object, and not a failure? | 12:27 | ||
jnthn | At the moment we don't even make Failure a special case for that. | ||
12:28
Ven joined
|
|||
jnthn | Though we probably could without totally ruining optimizability. | 12:28 | |
12:30
xinming_ left,
chenryn left
12:31
xinming joined
12:37
kaare_ left
|
|||
iv | Dang, ran out of memory compiling Rakudo | 12:43 | |
moritz | you need ~1GB for the moarvm backend | ||
and more for the JVM backend (~3GB last I tried) | |||
iv | Noted. | ||
Time to spin up an OpenBSD current machine for it. The port needs updating too… | 12:44 | ||
moritz | and since the MoarVM backend is moar fun usually anyway, that's what I use | ||
12:46
kjs_ left
|
|||
dalek | kudo-star-daily: 6e3b312 | coke++ | log/ (9 files): today (automated commit) |
12:46 | |
12:48
eli-se joined
12:51
kjs_ joined
12:52
[Sno] left,
[Sno] joined
12:56
eli-se left
|
|||
FROGGS is very pleased about github.com/coke/rakudo-star-daily/...1d95756751 | 13:00 | ||
Ven | FROGGS: wow! what happened there? | 13:01 | |
jnthn | FROGGS happened! | ||
moritz also very happy | |||
FROGGS++ | |||
nwc10 | use more 'FROGGS'; | 13:02 | |
but how? | |||
moritz | cloning! | ||
offer him a Perl 6 full time job! | |||
FROGGS | moritz: I'd take it right away | ||
13:03
cognominal left,
kjs_ left
|
|||
tadzik | kickstarter! | 13:04 | |
moritz | paying a full-time software developer is expensive :( | 13:05 | |
13:05
vendethiel left
|
|||
moritz | I'd say in Germany you pay between 40k and 80k salary, and then double it for anciliare wage costs | 13:06 | |
(taxes, health insurance, ...) | |||
and while the Perl 6 community is generous, I don't know if they'll be generous enough to afford around 120kEUR/a | 13:08 | ||
13:10
rindolf joined
|
|||
masak | FROGGS++ | 13:11 | |
colomon | What the heck did FROGGS++ do that sped things up that much!?! | ||
Ven | ^ | ||
masak | there are also other avenues that skilled Perl 6 developers might consider taking, which would allow them to both have the salary and time for Perl 6... | 13:12 | |
(we're hiring) | |||
FROGGS | colomon: I did nothing about speed | ||
colomon: I fixed two modules (and almost a third) | |||
iv | masak: Who are we? | ||
13:12
ShimmerFairy left
|
|||
Ven | masak: :P | 13:12 | |
psch is probably not skilled enough — and couldn't relocate anyway | 13:13 | ||
masak | iv: edument.se/ | ||
colomon | FROGGS: ?????? | ||
Ven | FROGGS: how did the speed go down so low then :P? | ||
masak | hm, edument.se/en/ is a better link | ||
colomon | hmm, panda install failing on hack.p6c.org? | 13:14 | |
iv | That is fairly close to what I do now. :) | ||
masak | iv: tell me more. what do you do? | 13:15 | |
13:16
kjs_ joined
|
|||
iv | masak: I work at reaktor.com/ as a consultant. A | 13:16 | |
-A | |||
Ven totally speaks swedish and can completly understand :P | 13:17 | ||
iv | My Swedish is awful. :( | ||
masak | a 300-person company. cool. | ||
jnthn | My Swedish is awful but it didn't stop me :P | ||
moritz | jeg snakker bare litt norsk | ||
masak | goodenuf | ||
FROGGS | colomon: you might need to pull rakudo | 13:18 | |
jnthn | .oO( I snack on bare little Norwegians?! ) |
||
iv | Even I understood that, and I don't speak Norwegian :) | ||
colomon | FROGGS: smoke test always updates rakudo before trying panda. | ||
masak | jnthn: ah, the dangers of word-for-word translation :P | ||
jnthn | :D | ||
13:18
kjs_ left
|
|||
iv | …or I thought I don't | 13:19 | |
FROGGS | colomon: then please look at your panda folder, there might be gazillions of .panda-work folders | ||
moritz | big Norwegians aren't as tasty :-) | ||
masak | jnthn: in your defense, "bare little Norwegians", lightly salted, could totally be a Swedish favorite snack in a slightly different parallel universe. they'd be salty crackers of some kind. | ||
colomon | FROGGS: not anywhere I can see | ||
13:20
skids joined
|
|||
jnthn | masak: In this one, we ended up with salted licorice :P | 13:20 | |
masak | iv: what do you consider your areas of expertise to be? | ||
colomon | FROGGS: though on the other hand, I think panda built just now. | ||
:\ | |||
colomon sees moritz is using hack too. ;) | 13:21 | ||
iv | masak: teaching (I gave workshops at Helsinki uni), understanding the client, programming (functional, frp). | ||
Currently I mostly hate on browsers. | 13:22 | ||
tadzik | a dream job :) | ||
iv | Do we have automated builders for different OSs? | 13:23 | |
nwc10 | I'm not aware of any | 13:24 | |
13:25
ShimmerFairy joined
13:27
virtualsue left
|
|||
iv | Would that be useful at this point in time? | 13:29 | |
nwc10 | I think so. | 13:30 | |
moritz | iv: very much so | 13:31 | |
masak | iv: what do you teach? sorry for being so curious. :) | 13:38 | |
(I teach quite a bit these days, too) | |||
13:39
virtualsue joined
|
|||
Ven would certainly consider teaching to be the best outcome.. | 13:39 | ||
dalek | kudo/nom: 699f9b0 | TimToady++ | src/core/Any.pm: fix copy-pasto in minmax |
13:41 | |
13:42
evillemez joined,
virtualsue_ joined
13:43
vendethiel joined,
virtualsue left,
virtualsue_ is now known as virtualsue
|
|||
dalek | ast: 29d4133 | usev6++ | S32-io/dir.t: Add test for RT #123308 |
13:46 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123308 | ||
13:52
kjs_ joined
|
|||
dalek | ast: b507033 | TimToady++ | S03-operators/minmax.t: test minmax on ranges |
13:54 | |
13:56
larion joined
14:08
xinming left
14:10
xinming joined
|
|||
dalek | ast: 0f4b5b6 | usev6++ | S29-os/system.t: Add test for RT #104794 |
14:12 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=104794 | ||
dalek | Heuristic branch merge: pushed 20 commits to perl6-examples by paultcochrane | ||
14:13
kjs_ left
14:25
chenryn joined
|
|||
iv | masak: Bacon.js and Git lately. | 14:25 | |
masak | oh, cool. | ||
moritz | bacon.js sounds tasty | 14:26 | |
masak | haven't been teaching so much jQuery (mostly other JavaScript stuff), but been teaching plenty Git over the past years. | ||
moritz | no idea what it does :-) | ||
iv | It's like Supply. :) | ||
jnthn | If you put bacon.js in a git repo, does it save your bacon? :) | ||
masak | iv: if we ever meet, let me buy you a $beverage and we can talk about teaching experiences :) | ||
jnthn: that joke... was not kosher. | 14:27 | ||
14:27
chenryn left
|
|||
iv | masak: I'll try to remember | 14:27 | |
14:27
chenryn joined
|
|||
masak | jnthn: now I'm tempted to build some wildly successful framework, and then name it "Pork", *purely* for the pleasure of knowing that thanks to me, thousands of professionals around the world go around saying "Pork" in their daily work :P | 14:28 | |
14:31
vendethiel left,
chenryn left
|
|||
moritz | masak: especially the muslims | 14:32 | |
masak | surely saying "pork" isn't taboo? | 14:33 | |
it's ingesting it, no? | 14:34 | ||
masak .oO( do not take pork's name in vain ) | |||
[ptc] | so long as it brings home the bacon | 14:35 | |
14:36
chenryn joined
14:38
Foxcool_ joined,
larion left
|
|||
moritz | might still be a bit... tasteless | 14:39 | |
14:39
Foxcool left
|
|||
iv | So bad. | 14:40 | |
masak .oO( just add more salt ) | |||
jnthn | .oO( stop the insalts! ) |
14:42 | |
masak | didn't mean to add insalt to injury. | 14:43 | |
sorry, Muslims. I'll name my product something harmless and innocuous, like "Holy Profit!" | |||
14:46
xtreak left
14:48
myp left
14:51
myp joined
|
|||
jnthn | I slam that idea, jew should sikh a better name to not hindur your framework...buddha bit of thought into it, and leave the confucian bahaind you... | 14:51 | |
14:51
Ven left
|
|||
masak | :P | 14:52 | |
jnthn | m: say "{ 7 / 148 } puns per character" | 14:55 | |
camelia | rakudo-moar 699f9b: OUTPUT«0.047297 puns per character» | ||
moritz wonders if jnthn++ spent the last 8 minutes crafting that pun | |||
jnthn | Bah, less than 5% pun ratio... | ||
14:56
rmgk is now known as Guest19475,
rmgk_ joined,
Guest19475 left,
rmgk_ is now known as rmgk
|
|||
jnthn | yay, I'm done with $dayjob tasks for today and can do Perl 6 things now :) | 14:59 | |
15:02
vendethiel joined
15:06
Ven joined,
Ven left
15:09
J-L joined
15:10
Ven joined
|
|||
J-L | Hey, the Wikipedia article on "Faro shuffle" has code implementations of it written in Python, Perl5, and Perl6. It offers a nice comparison. And with a few tweaks (so that it doesn't end early), it can be used as a speed comparison. | 15:12 | |
15:13
Ven_ joined
15:14
Util joined
|
|||
nwc10 | jnthn: such as more puns? | 15:14 | |
15:14
Ven left
|
|||
jnthn | Well, deleting 18 lines of code while fixing the build and removing a failure mode right now... :P | 15:17 | |
15:18
Ven_ left,
Ven joined,
telex left
|
|||
masak | en.wikipedia.org/wiki/Faro_shuffle | 15:19 | |
nwc10 | while juggling chainsaws riding a unicycle? | ||
masak | don't be silly | 15:20 | |
chainsaws can't ride the unicycle | |||
15:20
telex joined
|
|||
psch misread that as "unicorns" and found the image messy | 15:20 | ||
jnthn | Of course, the internet does actually have a video of somebody juggling with a chainsaw while riding a unicycle... | 15:25 | |
jnthn feels less scared about having to patch the bit of the deserializer handling reposessions now... | 15:26 | ||
15:26
J-L left,
J-L joined
15:31
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
dalek | : 9d69896 | usev6++ | misc/rt.perl.org/tickets_closed_parrot_only.txt: Some more closed 'parrot only' tickets |
15:32 | |
15:39
aborazmeh left
15:42
kjs_ joined,
chenryn left
15:44
chenryn joined
15:45
evillemez left,
evillemez joined,
evillemez left
15:48
Rounin left
15:49
dj_goku joined
|
|||
masak | has this ever been addressed re .unpack: (a) it's a method on Buf, which feels right -- but (b) a very common Perl 5 use case seems to be reading a *text* file and extracting fields with &unpack, which assumes we're starting from a Str, not a Buf | 15:49 | |
...? | 15:50 | ||
put differently, it feels like Perl 5's &unpack is surfing its Str/Buf confusion a little to make &unpack more useful. | |||
and we don't do/have anything like that in Perl 6. | 15:51 | ||
15:51
eli-se joined
|
|||
eli-se | hi | 15:51 | |
masak | aloha, eli-se | ||
15:53
chenryn left
15:54
eli-se left
|
|||
jnthn | .tell FROGGS I just noticed in SerializationReader on JVM, in the repossess method, there are a copule of /* XXX TODO */ that may explain some bug or two | 15:55 | |
yoleaux | jnthn: I'll pass your message to FROGGS. | ||
FROGGS | O.o | 15:56 | |
yoleaux | 15:55Z <jnthn> FROGGS: I just noticed in SerializationReader on JVM, in the repossess method, there are a copule of /* XXX TODO */ that may explain some bug or two | ||
FROGGS | we have bugs? eeks | ||
masak | one or two | 15:57 | |
jnthn | Well, probably... | ||
FROGGS | why do we add bugs to our code base in the first place? :P | ||
masak | it's cheaper than getting everything right up front | 15:58 | |
tadzik | when will we learn | ||
masak | never | ||
tadzik | perhaps there's a bug in our learning subroutines... | ||
masak | it's bugs all the way down | 16:01 | |
16:03
chenryn joined
16:05
PerlJam joined
|
|||
PerlJam | greetings | 16:07 | |
masak | PerlJam! \o/ | ||
PerlJam | masak! :) | ||
donaldh | jnthn: there's a behavioural difference between moar and jvm for QAST::WVal.new[0] | 16:11 | |
nqp-j gives java.lang.RuntimeException: This type does not support positional operations | |||
16:11
perl6_newbee joined
|
|||
donaldh | This may or may not be the root cause of a leaking UnwindException | 16:11 | |
donaldh is still investigating. | 16:12 | ||
jnthn | donaldh: OK. I don't think it makes sense in either. | ||
16:12
eli-se joined
|
|||
donaldh | But I expect that there is an intentional UnwindException involved in a wrapping try block and that it is getting populated with the wrong target. | 16:14 | |
eli-se | Today I learned a lot. | ||
donaldh | jnthn: Any hints for debugging, or just hard work TM | ||
jnthn | Not sure off hand...do you know where the QAST::WVal.new[0] access is going on? | 16:15 | |
masak | eli-se: glad to hear it! sounds wonderful! | 16:16 | |
Ven | masak: you don't want to know how they implemented COMEFROM :P | 16:17 | |
eli-se | COMEFROM is easy to implement. | ||
Labels become gotos and comefroms become labels. | |||
masak | right. | ||
16:18
chenryn left
|
|||
masak | do you, pray tell, require at most one COMEFROM per label? :) | 16:18 | |
PerlJam | that doesn't sound very perlish ;) | ||
eli-se | UB otherwise :p | ||
16:19
dwarring left
|
|||
masak | eli-se: aww. opportunity for parallelism. :) | 16:19 | |
donaldh | jnthn: just checking. | ||
eli-se | I do have something similar to COMEFROM. | 16:20 | |
You can add hooks to functions. | |||
16:20
chenryn joined
|
|||
masak | eli-se: hooks? to functions? madness, I tell you! madness! | 16:21 | |
donaldh | jnthn: github.com/rakudo/rakudo/blob/nom/....nqp#L4776 | 16:22 | |
eli-se | I'm not yet sure how I want to implement it. | ||
It'll probably be a library feature. | |||
masak | eli-se: I'm curious if I could get you to help us work on 007 :) | ||
eli-se | What is 007? | ||
16:23
gfldex joined
|
|||
masak | eli-se: it's a Perl 6/Python hybrid with the explicit goal to experiment with macros. | 16:23 | |
16:23
Ven left
|
|||
masak | masak.github.io/007/ | 16:23 | |
jnthn | donaldh: Hm. Does making that try { ... } fix it? | ||
(that is, putting a block around the epxression) | |||
eli-se | masak: I don't want to touch Python with a three meter pole. | 16:24 | |
I do it enough at work already. :v | |||
masak | the syntax of 007 is Perl-y. some of the semantics, where it makes sense, is Python-ish. | ||
but, more than that: experiments! macros! experiments with macros! :) | 16:25 | ||
16:31
chenryn left
|
|||
donaldh | jnthn: no, try { ... } doesn't help. | 16:33 | |
16:34
eli-se left
16:35
Ven joined
|
|||
donaldh | well the unwinder escapes the immediately surrounding try so I guess the unwindTarget must be wrong. | 16:37 | |
That gives me some bytecode I can stare at ;-) | 16:38 | ||
TimToady | hi folks, we're now on screen again in Budapest | 16:41 | |
so don't say anything bad about Python | |||
Ven | \o/ | ||
TimToady | oops, too late... | 16:42 | |
dalek | rl6-roast-data: 0da0430 | coke++ | / (9 files): today (automated commit) |
||
kudo/parameterize-cleanup: 976eeaf | jnthn++ | src/core/ (2 files): Switch Array/Hash to use method ^parameterize. |
|||
kudo/parameterize-cleanup: b7dc805 | jnthn++ | src/core/ (2 files): Switch a few places to use .^parameterize. |
|||
16:42
Khisanth left
|
|||
[Coke] | nqp-p still failing nqp::index tests. | 16:43 | |
jvm failing 9 tests due to 2 aborts. | 16:44 | ||
moar jit clean. moar nojit failing a flapper. | |||
donaldh | & | ||
masak | Python ain't so bad. it's just a very different local optimum compared to Perl. | ||
16:45
donaldh left
|
|||
[Coke] | "could be worse, could be coldfusion" </daily> | 16:45 | |
16:47
madmuid joined
|
|||
masak | :P | 16:48 | |
jnthn | FROGGS: About? | 16:49 | |
lizmat | .botsnack | ||
yoleaux | :D | ||
Ven | [Coke]: have you considered writing a learnxinyminutes for coldfusion? :P I'd love to read it! | ||
jnthn | FROGGS: ah, no worries | 16:50 | |
lizmat starts backlogging the past 2 days | 16:51 | ||
FROGGS | jnthn: I am here | 16:53 | |
[Coke] | Ven: no, that would be horrible. | ||
Ven | [Coke]: why? :) | ||
dalek | kudo/parameterize-cleanup: a6a8793 | jnthn++ | src/Perl6/Metamodel/ClassHOW.nqp: Allow method ^foo() { ... } to work in augment. |
||
kudo/parameterize-cleanup: a93f156 | jnthn++ | lib/NativeCall.pm: Fix method ^name() { ... } now we actually use it. |
|||
kudo/parameterize-cleanup: 9f637e7 | jnthn++ | lib/NativeCall.pm: Switch NativeCall types to use ^parameterize. |
|||
FROGGS | oy! | 16:54 | |
jnthn++ | |||
jnthn | FROGGS: I was patching NativeCall and confused myself, then figured it out :) | ||
TimToady | anyone wanna show off Perl 6 while you're on screen here? | 16:56 | |
FROGGS | jnthn++ # awesome outfigurer | ||
16:57
Ven left
|
|||
FROGGS | m: say 42 # \o/ | 16:57 | |
camelia | rakudo-moar 699f9b: OUTPUT«42» | ||
TimToady | that's...not very fancy | ||
lizmat | m: sub showoff($a) { say $a }; showoff(<Perl 6>) | ||
camelia | rakudo-moar 699f9b: OUTPUT«Perl 6» | ||
TimToady | .oO(she's such a tease) |
||
16:58
lichtkind joined
|
|||
TimToady | m: say [*] 2..100 | 16:58 | |
camelia | rakudo-moar 699f9b: OUTPUT«93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000» | ||
masak | m: .say for 10 ... 1, "LIFTOFF" | ||
camelia | rakudo-moar 699f9b: OUTPUT«10987654321LIFTOFF» | ||
PerlJam | masak: you forgot the *CRASH* after liftoff ;> | ||
masak | m: say 1/3 + 1/3 + 1/3 # exact answer | ||
camelia | rakudo-moar 699f9b: OUTPUT«1» | ||
16:59
vendethiel left
|
|||
FROGGS | m: use NativeCall; my class Coffee is repr<CStruct> { has uint8 $.milk }; say Pointer[Coffee].new.deref | 16:59 | |
camelia | rakudo-moar 699f9b: OUTPUT«(Coffee)» | ||
TimToady | I'll leave you guys up while there doing the preliminaries... | ||
masak | m: say "MW" ~ "HA" x 100 ~ "!" # big mistake, TimToady :) | 17:00 | |
camelia | rakudo-moar 699f9b: OUTPUT«MWHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA!» | ||
TimToady | *they're | ||
jnthn | m: my $english = 'while there doing'; $english ~~ s[there] = "they're"; say $english | ||
camelia | rakudo-moar 699f9b: OUTPUT«while they're doing» | ||
jnthn | :P | ||
17:00
vendethiel joined
|
|||
masak | m: my $who = "TimToady"; say "Who is going to regret leaving us up while doing the preliminaries?"; say "$who, that's who!" | 17:01 | |
camelia | rakudo-moar 699f9b: OUTPUT«Who is going to regret leaving us up while doing the preliminaries?TimToady, that's who!» | ||
jnthn | m: say "Who let dogs out? ", 'Who? ' xx 3 | ||
camelia | rakudo-moar 699f9b: OUTPUT«Who let dogs out? Who? Who? Who? » | ||
FROGGS | >.< | 17:02 | |
masak | m: say "What happens when an unstoppable \x2604 meets an immovable \x2603?" | ||
camelia | rakudo-moar 699f9b: OUTPUT«What happens when an unstoppable ☄ meets an immovable ☃?» | ||
masak | (can I do that one with the character names somehow?) | 17:03 | |
jnthn | m: say "\c[CAT FACE WITH TEARS OF JOY]" | ||
camelia | rakudo-moar 699f9b: OUTPUT«😹» | ||
hahainternet | irlolled at ^ | ||
PerlJam | For some reason I always expect to use \u instead of \c there | 17:04 | |
17:04
avuserow joined
|
|||
masak | m: my @array = "hip" xx 2; say join " ", @array, @array.^name, "!" | 17:04 | |
camelia | rakudo-moar 699f9b: OUTPUT«hip hip Array !» | ||
masak | PerlJam: too much Java or JavaScript, perhaps? | ||
PerlJam: (I did the same just now, though) | |||
TimToady | Okay, no more fun. | 17:05 | |
see you later & | |||
masak | m: say "What happens when an unstoppable \c[COMET] meets an immovable \c[SNOWMAN]?" | ||
camelia | rakudo-moar 699f9b: OUTPUT«What happens when an unstoppable ☄ meets an immovable ☃?» | ||
masak | \o/ | ||
TimToady: good luck! | |||
dalek | kudo/parameterize-cleanup: 9ef86e6 | jnthn++ | src/Perl6/Metamodel/ClassHOW.nqp: Kill off the PARAMETERIZE_TYPE hack. |
17:06 | |
lizmat was finally starting to grok PARAMETERIZE_TYPE | 17:07 | ||
17:07
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
jnthn | lizmat: The knowledge is about transferable. :) | 17:08 | |
lizmat | I hope so :-) | ||
jnthn | lizmat: It's just removing a level of indirection and keeping meta-programming and programming apart. | ||
lizmat | jnthn++ | ||
jnthn | You can see the patches I did in that branch leading up to it to see how things changed. | 17:09 | |
Though don't try and run the branch yet, it depends on a local Moar change I have that seems to break something else... | 17:10 | ||
lizmat | will check after backlogging completes | ||
J-L | Hey, I'm getting a strange error in Perl6 when I try to run: 'hello'.^methods.sort.say; | 17:13 | |
I get a lot of: Code object coerced to string (please use .gist or .perl to do that) ... | |||
jnthn | .sort(*.name) | ||
masak | m: say "hello".^methods.sort(*.name) | 17:14 | |
camelia | rakudo-moar 699f9b: OUTPUT«ACCEPTS BUILD Bool DUMP Int Num Numeric Str Stringy WHICH WHY chomp chop codes comb encode gist indent lines match ords path perl pred samecase samespace split subst subst-mutate succ trans trim trim-leading trim-trailing unival univals wordcase words» | ||
skids | Some of the methods on base types are lowlevel and don't yet do some introspects. | ||
masak | J-L: what jnthn++ said. | ||
PerlJam | J-L: ^methods will get you the actual "method objects" and when you try to say them, you get what you got | ||
lizmat | it's at times like this that I wonder whether we could need a .Sort implicit coercer | ||
for sorting | 17:15 | ||
PerlJam | lizmat: .COLLATE maybe? :) | ||
masak | that implies that there is one order per type, which I don't think is true. | ||
lizmat | yeah, something like that | ||
masak | not even one canonical order per type. | ||
J-L | Ah, nice. Thanks. | 17:16 | |
17:16
aborazmeh left,
Ovid joined
|
|||
J-L | Out of curiosity, does this .sort(*.name) use a Schwartzian transform? | 17:17 | |
PerlJam | Ovid! o/ | ||
17:17
Ovid is now known as Guest64948
|
|||
Guest64948 | Hi there. | 17:17 | |
skids | o/ Guest | ||
masak | hi, Guest64948^WOvid | ||
17:18
Guest64948 is now known as CurtisOvidPoe
|
|||
CurtisOvidPoe | Dang it :) | 17:18 | |
If I have a sub call like doit(<a b c>), how do I flatten that hard-coded list? | |||
lizmat | doit( |<a b c> ) | ||
PerlJam | always or just for one call? | ||
CurtisOvidPoe | PerlJam: Just wanted to know it for that one call. | 17:19 | |
lizmat | m: sub foo($a,$b,$c) { say $a; say $b; say $c }; foo( |<a b c> ) | ||
camelia | rakudo-moar 699f9b: OUTPUT«abc» | ||
17:20
madmuid left
|
|||
J-L | Question: If I want to compare two arrays to see if they have identical contents (they each hold only strings), what's the better way to do it? With ~~ or eqv ? Or another way? | 17:20 | |
moritz | eqv | 17:21 | |
lizmat | if they only contain strings, 'eq' might be faster ? | ||
17:22
mr-foobar joined
|
|||
masak | >>eq<< in that case | 17:22 | |
oh, wait. | |||
moritz | m: say ['a b', 'c'] eq ['a', 'b c'] | ||
camelia | rakudo-moar 699f9b: OUTPUT«True» | ||
masak | I see what you mean, lizmat. | ||
moritz | don't use eq on arrays | ||
masak | heh. | ||
I didn't even think of that. but yeah, not good. | |||
lizmat | moritz++ to point out the error of her ways | ||
masak | >>eq<< ought still work. but it will throw an exception if the arrays are of different length -- probably not what you want. | 17:23 | |
17:23
eli-se joined
17:24
vendethiel left
|
|||
eli-se | hii | 17:24 | |
masak | :) | ||
17:25
smls left
|
|||
J-L | Example of the array comparison I'm asking about: Say I have two decks of cards (@cards1 and @cards2), each containing 52 strings (representing the 52 cards). How would I comapre them to see if they're in the exact same order? @cards1 ~~ @cards2 or @cards1 eqv @cards2 ? | 17:26 | |
masak | J-L: both work. | ||
J-L: I'd use eqv because it's narrower in semantics. | |||
and so it leaves fewer questions for the avid reader. | 17:27 | ||
J-L | An unrelated question: Can I declare a variable const in Perl6? | ||
masak | m: constant foo = 42; say foo | ||
camelia | rakudo-moar 699f9b: OUTPUT«42» | ||
masak | m: constant $foo = 42; say $foo | ||
camelia | rakudo-moar 699f9b: OUTPUT«42» | ||
skids | J-L: Though I wouldn't call it a "variable constant" personally :-) | 17:28 | |
J-L | Excellent! I've been waiting for a long time for "constant". | 17:30 | |
m: my @a = (1 .. 3); say @a ~~ (1 .. 3); say @a eqv (1 .. 3); | 17:31 | ||
camelia | rakudo-moar 699f9b: OUTPUT«TrueFalse» | ||
[Coke] | p5 has Readonly, which is pretty nice. (ROODE++) | ||
J-L | It looks like ~~ can handle arrays compared with lists, whereas eqv seems to return False. | ||
masak | J-L: yes. | 17:32 | |
eqv is stricter about types, both of the containers and the elements. | |||
with ~~, the type on the left often adapts/coerces to the type on the right. | |||
J-L | So in the Perl6 example at en.wikipedia.org/wiki/Faro_shuffle#...ce_aspects , should I have used ~~ or eqv when comparing @deck and @originalDeck ? | 17:33 | |
lizmat | itz: re irclog.perlgeek.de/perl6/2015-03-10#i_10253632 , I can reveal that there will be a talk by Andrew Shitov, doing a live demonstration of Perl 6's grammars | ||
.oO( from the list of unusual suspects ) |
17:34 | ||
J-L | [Coke]: The Perl5 Readonly module is nice, but I don't think it's a core module. | 17:35 | |
17:37
cschwenz left
|
|||
masak | seems it isn't. | 17:37 | |
however, it's super-easy to install non-core modules in Perl 5! :D | |||
cpanminus comes to mind. | 17:38 | ||
17:38
avuserow left,
avuserow joined
|
|||
moritz | metacpan.org/pod/release/XSAWYERX/...od#b-b-B-B | 17:40 | |
17:40
vendethiel joined
|
|||
J-L | masak: I've been using cpanminus a bit lately. However, I often write code that needs to be run by anyone (in my or customers' companies), whether they have access to CPAN or not. I gotta work with what they already have. | 17:41 | |
moritz | it's nice to see Perl 5 getting cooll Unicode features | ||
but it's a bit sad that they are hidden behind rather cryptic regex features | |||
skids | J-L: As long as both @vars are bound to the same type of object eqv is better. | ||
m: my @a = (1 .. 3); @a.WHAT.say; my @b = (1,2,3); @b.WHAT.say; say @a eqv @b; | |||
camelia | rakudo-moar 699f9b: OUTPUT«(Array)(Array)True» | ||
skids | m: my @a = (1 .. 3); @a.WHAT.say; my @b := (1,2,3); @b.WHAT.say; say @a eqv @b; | 17:42 | |
camelia | rakudo-moar 699f9b: OUTPUT«(Array)(Parcel)False» | ||
J-L | Question about the Z(ipper) operator: I can zipper together two arrays with: (<a b c>) Z (1..3), but how do I make a nested list of lists? That is, I want to get: ((a,1),(b,2),(c,2)) | 17:43 | |
skids | m: ((<a b c>) Z (1..3)).perl.say # you already have it you just need to keep it from collapsing when you use it. | 17:44 | |
camelia | rakudo-moar 699f9b: OUTPUT«(("a", 1), ("b", 2), ("c", 3)).list» | ||
J-L | skids: In that case, how do I collapse it? | 17:45 | |
moritz | m: say .perl for ((<a b c>) Z (1..3)).tree | 17:46 | |
camelia | rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item» | ||
17:46
dj_goku left
|
|||
moritz | m: say .perl for (<a b c> Z (1..3)).tree | 17:46 | |
camelia | rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item» | ||
moritz | m: say (<a b c> Z (1..3)).tree.perl | ||
camelia | rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item» | ||
moritz | seems it doesn't work as it used to :( | ||
17:48
madmuid joined
|
|||
skids | m: ((<a b c>) Z (1..3)).flat.perl.say # J-L | 17:49 | |
camelia | rakudo-moar 699f9b: OUTPUT«("a", 1, "b", 2, "c", 3).list» | ||
17:49
asdf12z_ joined
|
|||
skids | J-L: or do anything that autflattens. | 17:49 | |
*auto | 17:50 | ||
But I would not learn too hard on that aspect right away if you have other stuff to learn, wait until after the GLR. | |||
17:51
Khisanth joined
|
|||
J-L | GLR? | 17:51 | |
geekosaur | great list refactor | 17:52 | |
J-L | Sounds monumental! | ||
masak | J-L: since metacpan.org/pod/App::FatPacker, the "clients need to be able to use my stuff without downloading dependencies" excuse has mostly lost its teeth and is mostly just a bad excuse :) | ||
17:54
[Sno] left
|
|||
CurtisOvidPoe | How do I do the Perl 5 equivalent of $object->isa($thing)? | 17:54 | |
skids | J-L: pmthium.com/2014/10/apw2014/ # to catch you up | ||
17:57
espadrine left
|
|||
J-L | masak: Whoa! I never knew about App::FatPacker. I'm looking into it now. | 17:58 | |
skids: Thanks for the advice about the GLR. | |||
moritz | CurtisOvidPoe: $obj ~~ TheType | ||
17:58
zakharyas left
|
|||
FROGGS | timotimo: btw: wiki.cpantesters.org/wiki/CPANAuthorNotes "How can I stop getting FAIL reports for missing libraries or other non-Perl dependencies?" | 17:58 | |
17:59
dakkar left,
spider-mario joined
|
|||
CurtisOvidPoe | moritz: it’s not quite working. Writing a function that accepts a string *or* an IO::Path object. This subject doesn’t quite work: subset IOThing where * ~~ Str | IO::Path; | 18:00 | |
And then I have sub some_func(IOThing $top) {…} | |||
But if I pass in the name of a directory as a string, it’s not working. | |||
18:01
mohij joined
|
|||
CurtisOvidPoe | m: subset TypeCheck where * ~~ Str; sub foo(TypeCheck $bar) {say $bar}; foo(“this”) | 18:01 | |
camelia | rakudo-moar 699f9b: OUTPUT«Constraint type check failed for parameter '$bar' in sub foo at /tmp/sZnVTtHcig:1 in block <unit> at /tmp/sZnVTtHcig:1» | ||
CurtisOvidPoe | What did I miss? | 18:02 | |
moritz | CurtisOvidPoe: * doesn't work magically with ~~ | 18:03 | |
m: subset TypeCheck where { $_ ~~ Str|IO::Path}; say 'foo' ~~ TypeCheck | |||
camelia | rakudo-moar 699f9b: OUTPUT«True» | ||
CurtisOvidPoe | So how can I write a subset that checks if something is either a string or an IO::Path object? | ||
Ah,t hanks :) | |||
moritz | you're welcome | ||
TimToady | I'm baaack | ||
18:04
FROGGS left
|
|||
TimToady | CurtisOvidPoe: thanks for your .1 + .2 - .3 example, I used it tonight | 18:04 | |
CurtisOvidPoe | Cool! | 18:05 | |
What was the context? | 18:06 | ||
TimToady | a talk in Budapest, Things I Do For Fun | 18:07 | |
the immediate context was design principles we've accumulated | |||
"Math just is." | |||
CurtisOvidPoe | Hopefully Perl 6 might eventually stop people from saying “well, of course floating point addition isn’t associative!” | 18:09 | |
(Which is true, but it means floating point addition gives the wrong answer in some cases) | 18:10 | ||
[Coke] | J-L: we've discussed this before, but it's pretty easy to bundle modules with your app. | ||
18:10
hannibal777 joined
|
|||
[Coke] | ah, masak++ covered it. J-L++ | 18:10 | |
hannibal777 | Hi | 18:11 | |
[Coke] | hannibal777: hi | ||
hannibal777 | Tim | ||
I wanted to ask during your talk | |||
18:12
Hor|zon left
|
|||
hannibal777 | You said that you were writing perl6 with perl6. | 18:12 | |
Isn't that a paradox? | |||
Also, when you were talking about math, do: -3 modulo 5. Can Perl 6 handle minus modulo? | 18:13 | ||
moritz | hannibal777: it's not more of a paradoxon than gcc being written in C/C++ | ||
m: say (-3) % 5 | |||
camelia | rakudo-moar 699f9b: OUTPUT«2» | ||
TimToady | superstitious parens | 18:14 | |
hannibal777 | Nice. :-) | ||
moritz | hannibal777: en.wikipedia.org/wiki/Bootstrappin...mpilers%29 | ||
m: say -3 % 5 # now less superstitious | |||
camelia | rakudo-moar 699f9b: OUTPUT«2» | ||
TimToady | m: say -5 %% 5 | ||
camelia | rakudo-moar 699f9b: OUTPUT«True» | ||
hannibal777 | say (-5)*5 % 558 | 18:15 | |
moritz | hannibal777: add the 'm: ' prefix | 18:16 | |
hannibal777 | m: say (-5)*5 % 558 | ||
camelia | rakudo-moar 699f9b: OUTPUT«533» | ||
TimToady | m: constant fib = 0,1, *+* ... *; say fib[^20] | ||
camelia | rakudo-moar 699f9b: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181» | ||
hannibal777 | m: say (12) - 20 % 24 | 18:17 | |
camelia | rakudo-moar 699f9b: OUTPUT«-8» | ||
hannibal777 | m: say 2*2^-1 % 26 | 18:18 | |
camelia | rakudo-moar 699f9b: OUTPUT«one(4, 25)» | ||
moritz | m: say 2 * 2**-1 % 26 | 18:20 | |
camelia | rakudo-moar 699f9b: OUTPUT«1» | ||
hannibal777 | m: say 666558^-1 % 55 | 18:21 | |
camelia | rakudo-moar 699f9b: OUTPUT«one(666558, 54)» | ||
jnthn | m: subset TypeCheck where Str|IO::Path; say 'foo' ~~ TypeCheck | 18:24 | |
camelia | rakudo-moar 699f9b: OUTPUT«True» | ||
hannibal777 | m: say int(rand(10)) | ||
camelia | rakudo-moar 699f9b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/baCwmRBmS8Unsupported use of rand(N); in Perl 6 please use N.rand for Num or (^N).pick for Int resultat /tmp/baCwmRBmS8:1------> 3say int(rand7⏏5(10))» | ||
jnthn | CurtisOvidPoe: You can write it like ^^ | ||
CurtisOvidPoe: Since where implies smartmatch | |||
moritz | jnthn++ | 18:25 | |
hannibal777 | m: say 2.rand | ||
camelia | rakudo-moar 699f9b: OUTPUT«1.19064193531821» | ||
hannibal777 | m: say ^2.rand | 18:26 | |
camelia | rakudo-moar 699f9b: OUTPUT«0..^0.905186446861063e0» | ||
hannibal777 | m: say ^2.pick | ||
camelia | rakudo-moar 699f9b: OUTPUT«0..^2» | ||
18:26
vendethiel left
|
|||
moritz | precedence | 18:27 | |
TimToady | need parens | ||
moritz | m: say (^2).pick | ||
camelia | rakudo-moar 699f9b: OUTPUT«1» | ||
moritz | m: say (^2).pick | ||
camelia | rakudo-moar 699f9b: OUTPUT«0» | ||
moritz | m: say (^2).pick for ^10 | ||
camelia | rakudo-moar 699f9b: OUTPUT«0101011000» | ||
TimToady | m: use Inline::Perl5; use YAML::XS; | 18:28 | |
camelia | rakudo-moar 699f9b: OUTPUT«===SORRY!===Could not find Inline::Perl5 in any of: /home/camelia/rakudo-inst-1/languages/perl6/lib, /home/camelia/rakudo-inst-1/languages/perl6» | ||
18:30
dwarring joined
|
|||
hannibal777 | why would you match an inferior version with a superior one? | 18:30 | |
18:33
kjs_ left
18:34
eli-se left
|
|||
moritz | m: say v1 ~~ v2 | 18:34 | |
camelia | rakudo-moar 699f9b: OUTPUT«False» | ||
moritz | hannibal777: since a smaller version doesn't match a larger version, I'm not sure what you mean | ||
18:35
pecastro left
|
|||
hannibal777 | Oh this was a question regarding a question which was asked during the talk here in Budapest. | 18:37 | |
I can understand that you want backward compatibility between long term libraries but to be honest, I would prefer the newer one. | 18:38 | ||
Although Larry did say they are like sisters. | |||
18:38
madmuid left
|
|||
[Coke] | hannibal777: I am also not sure what you mean. | 18:41 | |
can you restate your question? | |||
hannibal777 | The question the person had is: I don't know perl 6 so can I use perl 5 libraries in perl 6. :-) | 18:42 | |
18:43
diana_olhovik_ left
18:45
mohij left
|
|||
btyler_ | hannibal777: yep, check out Inline::Perl5 | 18:45 | |
it embeds a perl5 in perl 6, so you can load and use perl 5 code | 18:46 | ||
skids | .oO(All UR libs R belong to us) |
18:47 | |
flussence | .oO( perl6 is only 90 minutes newer than perl5 right now ) |
||
18:49
vendethiel joined,
mohij joined
|
|||
masak | hannibal777: re "writing X in X". usually what happens is that X is written in Y first, and then Y is gradually removed and replaced with X. which avoids the paradox. | 18:50 | |
hannibal777: but there are still interesting challenges where the "upper" compiler which is building the "lower" compiler needs to be very careful about the order in which basic concepts are introduced. | |||
18:51
madmuid joined
|
|||
masak | hannibal777: we call that whole set of problems "cirularity" around here. it's gnarly, but not impossible. | 18:51 | |
flussence | star: use Inline::Perl5; use Encode::GSM0338:from<Perl5>; | ||
camelia | star-m 2015.02: OUTPUT«===SORRY!===Could not find Inline::Perl5 in any of: /home/camelia/rakudo-star-2015.02/install/languages/perl6/lib, /home/camelia/rakudo-star-2015.02/install/languages/perl6, /home/camelia/rakudo-star-2015.02/install/languages/perl6/site» | ||
..star-p 2015.02: OUTPUT«===SORRY!===Could not find Inline::Perl5 in any of: /home/camelia/rakudo-star-2015.02/install/lib/parrot/6.10.0/languages/perl6/lib, /home/camelia/rakudo-star-2015.02/install/lib/parrot/6.10.0/languages/perl6» | |||
flussence | aw | ||
18:53
zakharyas joined
|
|||
nine_ | Personally, I could live with Inline::Perl5 being in star... | 18:55 | |
moritz | we can't easily bundle things with star that come with external dependencies, like OpenSSL or Inline::* modules | ||
18:55
eli-se joined
|
|||
flussence | makes sense... | 18:56 | |
(I'd like it if META.info allowed dependencies with a :from<>, even if they're ignored at install time, just to be able to list them in a well known place) | 18:58 | ||
18:58
mohij left
|
|||
nine_ | How do I declare a test dependency in META.info? | 18:59 | |
flussence | same as a normal one right now | 19:00 | |
19:00
Mouq joined
|
|||
Mouq | .botsnack | 19:01 | |
yoleaux | 09:35Z <jnthn> Mouq: Only worry is that while this fixes the slow-path binder used on Moar, it doesn't fix it for bind lowering (where we compile many common/simple signatures), nor JVM...and I wonder if we could patch it a different way that fixes the 3 at once. | ||
:D | |||
09:36Z <jnthn> Mouq: For example, adding a default closure that makes an appropriately typed array/hash when we construct the Parameter object in the first place. | |||
Mouq | jnthn: Sounds reasonable :) | 19:04 | |
19:04
Quixotic joined,
mohij joined
19:08
Hor|zon joined
19:10
[Sno] joined
19:11
mohij left
19:12
Hor|zon left
19:13
kjs_ joined
19:15
fhelmberger left
19:16
perl6_newbee left
19:19
eli-se left
|
|||
CurtisOvidPoe | By the way, I made a silly comment earlier about floating point addition not being associative, I should have said “commutative” and I misread Larry’s example and was thinking about this check which incorrectly returns false in many languages: | 19:20 | |
m: say 0.7 + 0.6 + 0.7 == 0.7 + 0.7 + 0.6 | |||
camelia | rakudo-moar 699f9b: OUTPUT«True» | ||
19:20
diana_olhovik joined
|
|||
CurtisOvidPoe | That returns false in Perl 5. | 19:20 | |
lizmat | m: say ^0 ... ^10 # DWIM | 19:23 | |
camelia | rakudo-moar 699f9b: OUTPUT«1 2 3 4 5 6 7 8 9» | ||
lizmat | m: say ^10 ... ^0 # WAT ? | ||
camelia | rakudo-moar 699f9b: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88…» | ||
19:26
madmuid left
|
|||
Mouq | m: say 0,1 ... 0 | 19:27 | |
camelia | rakudo-moar 699f9b: OUTPUT«0» | ||
Mouq | m: say 0,1 ... ^0 | ||
camelia | rakudo-moar 699f9b: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88…» | ||
Mouq | m: say 0,1 ... [] | ||
camelia | rakudo-moar 699f9b: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88…» | ||
19:27
kjs_ left
|
|||
Mouq | rt.perl.org/Ticket/Display.html?id=114326 Related ? | 19:28 | |
lizmat | possibly :-) | ||
19:31
madmuid joined
19:34
Quixotic left
|
|||
masak | CurtisOvidPoe: floating-point addition is commutative. it's not associative. your `0.7 + 0.6 + 0.7 == 0.7 + 0.7 + 0.6` example displays this, albeit in a clouded way. | 19:36 | |
m: say 0.7 + (0.7 + 0.6) == (0.7 + 0.7) + 0.6 | 19:37 | ||
camelia | rakudo-moar 699f9b: OUTPUT«True» | ||
CurtisOvidPoe | Right, that’s why I changed it to ‘commutative’ when I explained it :) Is there a simpler example? | ||
hannibal777 | Thank you again for an awesome presentation on a beautiful language. | ||
masak | m: say 7e-1 + (7e-1 + 6e-1) == (7e-1 + 7e-1) + 6e-1 | ||
camelia | rakudo-moar 699f9b: OUTPUT«False» | ||
masak | CurtisOvidPoe: there you go. | ||
CurtisOvidPoe: the associativity condition needs the terms to come in the same order, but with different parenthization. | 19:38 | ||
CurtisOvidPoe: because float addition *is* commutative, my example means the same as your example, though ;) | |||
19:38
hannibal777 left
19:39
erdic joined
19:42
Hor|zon joined
19:47
rurban left
19:50
zakharyas left
|
|||
dalek | k-simple: 8b2c996 | (Andrew Egeler)++ | lib/GTK/Simple.pm6: Only use idle callback when we have pending code While difficult to find hard documentation, I have seen a few different places stating that "g_idle_add" is threadsafe. Operating on this assumption, we add one idle callbacks for every piece of code we need to run, and no more. This fixes #5 and drops our idle CPU usage from 100% down to 0% |
19:53 | |
CurtisOvidPoe | masak: thanks for the clarification :) | 19:54 | |
masak | CurtisOvidPoe: in my head, I just have "float addition is not assoc" as "precision gets lost at every addition", which is easier to think about | 19:56 | |
timotimo | oooh | ||
(Andrew Egeler>++ # a thousand times over | 19:57 | ||
er ... | |||
masak | timotimo: non-matching delimiters detected. you will now be eliminated. | ||
:P | |||
timotimo | ouchies | ||
19:59
virtualsue left
|
|||
avuserow | masak: if you like that logic, try typing 'set -e' in an interactive shell at some point :P | 19:59 | |
PerlJam had to look up who Andrew Egeler was ... I guess he's not in the CREDITS file | 20:02 | ||
(or maybe I'm just assuming that dalek always looks in the rakudo CREDITS file0 | |||
retupmoca == Andrew Egeler | 20:03 | ||
(don't know how dalek works though) | |||
masak | retupmoca++ | ||
PerlJam | retupmoca: yeah, I know that's you *now* :) | ||
moritz | retupmoca: dalek looks at rakudo's CREDITS file to determine the nick name | 20:06 | |
retupmoca | ah, ok. Yeah, I'm not in there afaik - haven't made many rakudo-level commits | 20:07 | |
I'm mostly in the ecosystem | |||
dalek | kudo/nom: 357ad26 | PerlJam++ | CREDITS: Add retupmoca++ to CREDITS |
||
PerlJam | you're there now. | ||
retupmoca | PerlJam++ | 20:08 | |
PerlJam | retupmoca: from the top of CREDITS: ... here is the partial list of people who have contributed to Rakudo and its supporting works. | ||
you're *definitely* contributing to its supporting works | |||
hoelzro | retupmoca++ | 20:09 | |
20:12
eli-se joined
|
|||
retupmoca | #perl6++ | 20:13 | |
timotimo | retupmoca: i'm glad you fixed this :) | 20:15 | |
dalek | Heuristic branch merge: pushed 33 commits to rakudo/newio by lizmat | ||
20:16
krunen left
|
|||
timotimo | i was about to try out the perl6 tmbundle turned into an ace editor syntax mode thingie, but the section about the converter program is kind of underwhelming when it comes to making promises | 20:17 | |
20:19
krunen joined
|
|||
flussence | (dalek *used* to display my username for commit things, but I don't see it in that credits file [and can't recall having done anything particularly credits-worthy...], so does it do lookups from somewhere else too?) | 20:20 | |
timotimo | maybe from parrot? | ||
moritz | flussence: dalek used parrot's CREDIT file in the past | 20:21 | |
20:21
kjs_ joined
|
|||
flussence | ...how the heck did I end up in there? :) | 20:21 | |
20:22
kjs_ left
|
|||
flussence | (eh, doesn't matter, I'll just have to re-earn that hash lookup... :) | 20:23 | |
nine_ | Looks like seek is somewhat broken: | ||
m: my $fh = '/tmp/fhtest/'.IO.open(:w); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say;, | |||
camelia | rakudo-moar 357ad2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3wiQoIAEewPreceding context expects a term, but found infix , insteadat /tmp/3wiQoIAEew:1------> 3ay("foo"); $fh.seek(0, 0); $fh.get.say;,7⏏5<EOL>» | ||
nine_ | m: my $fh = '/tmp/fhtest/'.IO.open(:w); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say; | ||
camelia | rakudo-moar 357ad2: OUTPUT«Reading from filehandle failed: bad file descriptor in method get at src/gen/m-CORE.setting:17042 in block <unit> at /tmp/ouTEaO9gDV:1» | ||
nine_ | m: my $fh = '/tmp/fhtest/'.IO.open(:rw); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say; | ||
camelia | rakudo-moar 357ad2: OUTPUT«Reading from filehandle failed: bad file descriptor in method get at src/gen/m-CORE.setting:17042 in block <unit> at /tmp/_skbnZO23b:1» | ||
moritz | flussence: github.com/parrot/parrot/commit/77...523fe88ab4 | ||
moritz blames tadzik++ | 20:24 | ||
20:24
kjs_ joined
|
|||
moritz | #dammittadzik :-) | 20:25 | |
masak | as seen trending on Twitter | 20:26 | |
PerlJam | I'm not sure that's a good meme to emulate | ||
flussence | .oO( maybe it was a badge of bravery for putting up with rakudo's runtime back then... ) |
||
20:27
rurban joined
|
|||
moritz wants a continuous delivery system that doesn't suck | 20:28 | ||
dalek | ecs: bcacc15 | lizmat++ | S17-concurrency.pod: Kebab-case Supply.schedule-on |
20:29 | |
20:30
kaare_ joined
|
|||
PerlJam | heh. I must've missed the coining of "kebab-case" :) | 20:31 | |
eli-se | I wish I were a good programmer. | ||
tadzik | moritz: why me :) | 20:33 | |
hah | |||
moritz | tadzik: because I an :-) | 20:34 | |
*can | |||
tadzik | well, it was a good deed, I regret nothing :P | 20:35 | |
20:36
darutoko left
|
|||
flussence | eli-se: good is relative. I'm fine with being lousy, it makes it easier for others to be above-average :) | 20:36 | |
eli-se | Given you're in this channel you're already better than most programmers. | ||
Since you're apparently interested in what you do. | 20:37 | ||
moritz is very good at seeming to be interested | 20:38 | ||
masak | I'm OK with being an average programmer, as long as I'm constantly looking for ways to improve and not stagnate. | 20:39 | |
I love to get new perspectives on things. | |||
flussence | that's how I ended up here | ||
dalek | kudo/nom: eecf5c9 | lizmat++ | / (3 files): Kebab-case Supply.on_demand/schedule_on Deprecate the original ones, of course. |
20:40 | |
skids | A good gunslinger can hit a tin can at fifty paces with a musket. An average gunslinger is more quick to say "screw this crummy musket I want a better gun." So that's how I ended up here. | 20:41 | |
dalek | ast: ab6c653 | lizmat++ | S17-supply/schedule (2 files): Step #1 kebab-casing schedule_on |
20:42 | |
PerlJam | skids: so ... Perl 6 is a muzzle loader? | 20:43 | |
or a 6 shooter? | |||
skids | PerlJam++ | ||
moritz | it's the shotgun with which you only have to aim broadly in the right direction :-) | 20:44 | |
PerlJam | I'm having trouble reconciling "gunslinger" and "musket" though. :) | ||
dalek | ast: 77e9359 | lizmat++ | S17-supply/schedule-on.t: Step #2 kebab-casing schedule_on |
||
flussence pictures someone loading a pallet of muskets into a trebuchet... | |||
PerlJam | heh | 20:45 | |
dalek | kudo/nom: 7375cd7 | lizmat++ | t/spectest.data: Step #3 kebab-casing schedule_on |
||
skids | .oO(I guess only BL2 folks would get it if I said it was an "Unkempt Harold") |
||
Mouq | jnthn: Update on the Str @param thing… I don't seem to have the moxy to do it… I'll put it aside for now, but if you can fix it easily, don't hesitate to :P | ||
colomon | PerlJam: www.d20pfsrd.com/classes/base-classes/gunslinger starting with “At 1st level…” | 20:46 | |
Mouq | jnthn: None of my attempts in Actions.pm have resulted in actual behavioral differences | ||
colomon | PerlJam: ;) | ||
dalek | ast: bf6bb04 | lizmat++ | S17-supply/f (2 files): Step #1 of deprecating Supply.for for from-list |
||
PerlJam | colomon++ :) | 20:47 | |
jnthn | Mouq: Hm, OK, will keep it in mind...thanks ;) | 20:48 | |
*:) | |||
dalek | c: d965174 | moritz++ | lib/Type/Supply.pod: schedule_on is now schedule-on |
||
ab5tract | moritz++ | ||
PerlJam | moritz++ indeed. I was just about to do the same | ||
timotimo | t.h8.lv/p6bench/2015-03-12-rakudo.html benchmarks over the last 3 releases and a nom from earlier today | 20:50 | |
japhb | timotimo: That looks decidedly mixed | 20:55 | |
flussence | do those lines include startup time? | 20:56 | |
moritz | flussence: no | ||
dalek | ast: 9c90d8a | lizmat++ | S17-supply/ (28 files): Step #2 of deprecating Supply.for for from-list |
||
japhb | flussence: Read first line of page for that answer (it always states what analysis options it's using) | ||
20:57
virtualsue joined
|
|||
flussence | oh I'm dumb, I just scrolled down to the pretty :) | 20:57 | |
dalek | kudo/nom: 9411a79 | lizmat++ | t/spectest.data: Step #3 of deprecating Supply.for for from-list |
||
japhb | Most people do. And I'm not about to inflict marquee mode on anyone. :-) | ||
timotimo | japhb: yes indeed. some of these dips are to be expected | ||
we made some optimizations more difficult | |||
masak | timotimo: what happened to pi_sequential_iteration at the bottom? | ||
lizmat | sleep& | ||
japhb | I was wondering the same ... | 20:58 | |
masak | timotimo: all I see is an empty diagram. | ||
japhb | o/ lizmat | ||
PerlJam | g'night lizmat! | ||
20:58
virtualsue_ joined
|
|||
masak | sleep well, lizmat | 20:58 | |
japhb | masak: That usually means "no data" (in fact, there's a GHI asking to skip no-data plots) | ||
jnthn | 'night, lizmat | ||
21:01
virtualsue left,
virtualsue_ is now known as virtualsue
21:04
skids left
|
|||
ab5tract | while exploring Proxies in hope of documenting them, I am encountering a segfault when attempting access attributes from within the proxy blocks: gist.github.com/ab5tract/00a98457cd5c0989efd4 | 21:04 | |
*to access | |||
jnthn | ab5tract: Please rakudobug it | 21:05 | |
ab5tract | I've tried a few different approaches, but no dice so far. OUTER<$!encoded-string> doesn't work, for instance | ||
jnthn: okay. wanted to be sure it wasn't a case of me wielding things wrong | |||
jnthn | ab5tract: You don't want method there really | 21:06 | |
ab5tract: Try a sub or pointy instead of methods | |||
ab5tract: But it should never SEGV even if you are using it wrong | |||
21:07
telex left
|
|||
ab5tract | jnthn: switching to pointy results in the more helpful compile time error of Variable $!encoded-string used where no 'self' is available | 21:07 | |
21:08
telex joined,
FROGGS[mobile] joined
21:09
espadrine joined
|
|||
ab5tract | I took the method example from the spectests, if I remember correctly | 21:09 | |
PerlJam | ab5tract: github.com/perl6/roast/blob/master...mutators.t | 21:12 | |
? | |||
J-L | Question: Is there any way to declare an infix operator in place? That is, so I can define it as I use it with the Z operator? | 21:14 | |
21:16
cognominal joined
|
|||
FROGGS[mobile] | hmmm, I believe our grammar might not allow that yet | 21:16 | |
moritz | m: sub infix:<FOO>($x, $y) { $x + $y }; say 1, 2, 3 ZFOO 1, 1, 1 | ||
camelia | rakudo-moar 9411a7: OUTPUT«2 3 4» | ||
FROGGS[mobile] | I parsed the question as if you declare the infix within the Z | 21:17 | |
TimToady | m: say 1,2,3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 4 5 6 | ||
camelia | rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TZGTtoQEqGTwo terms in a rowat /tmp/TZGTtoQEqG:1------> 3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 47⏏5 5 6 expecting any of: infix stopper infix or meta-infix po…» | ||
TimToady | m: say 1,2,3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 4, 5, 6 | ||
camelia | rakudo-moar 9411a7: OUTPUT«6 9 12» | ||
TimToady | like that? | 21:18 | |
moritz is scared | |||
ab5tract | PerlJam: wow, that's a really nice one, as it shows just about exactly what I am trying to achieve | ||
FROGGS[mobile] | ahh, &() does it... | ||
ab5tract | but no, I was looking at the more 'obvious' github.com/perl6/roast/blob/feeea5...rs/proxy.t | ||
21:18
Milkmandan left
|
|||
FROGGS[mobile] | I just remembered the & lookahead | 21:18 | |
21:19
Milkmandan joined
|
|||
masak | 'night, #perl6 | 21:20 | |
FROGGS[mobile] | night masak | 21:21 | |
jnthn | o/ masak | ||
PerlJam | good night masak | 21:22 | |
21:23
kjs_ left
|
|||
J-L | Yes, TimToady. Just like that! | 21:24 | |
FROGGS[mobile] | a pointy or whatever code should work too | ||
m: say 1,2,3 Z[&(* * *)] 4,5,6 | 21:26 | ||
camelia | rakudo-moar 9411a7: OUTPUT«4 10 18» | ||
FROGGS[mobile] | :p | ||
TimToady | m: $_ = '^foo'; say m/$_/ | ||
camelia | rakudo-moar 9411a7: OUTPUT«「^foo」» | ||
TimToady | m: $_ = '^foo'; say m/<{$_}>/ | ||
camelia | rakudo-moar 9411a7: OUTPUT«「foo」» | ||
TimToady | this seems like a bug | ||
FROGGS[mobile] | and that this works proves the sanity of the parser.... | ||
TimToady | m: $_ = 'foo$'; say m/<{$_}>/ | 21:27 | |
camelia | rakudo-moar 9411a7: OUTPUT«Nil» | ||
FROGGS[mobile] | TimToady: interpolating is hard :o( | ||
TimToady | that one fails to match, why does ^ not make it fail? | ||
alas, the masakbot has gone offline | 21:28 | ||
m: $_ = '^^foo'; say m/<{$_}>/ | 21:29 | ||
camelia | rakudo-moar 9411a7: OUTPUT«「foo」» | ||
Mouq | m: $_ = '$foo'; say m/<{$_}>/ | ||
camelia | rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling EVAL_0Variable '$foo' is not declaredat EVAL_0:1------> 3anon regex { ^$foo7⏏5}» | ||
TimToady | m: $_ = '«foo'; say m/<{$_}>/ | ||
camelia | rakudo-moar 9411a7: OUTPUT«「foo」» | ||
TimToady | m: $_ = '«foo»'; say m/<{$_}>/ | ||
camelia | rakudo-moar 9411a7: OUTPUT«「foo」» | ||
Mouq | ^^ it looks like it already tries to match something before the ^ | 21:30 | |
Also we probably shouldn't be doing this with eval (already ticketed) | |||
TimToady | yeah, INTERPOLATE needs a complete revamp | ||
Mouq proposes we do it in terms of $~Regex, and in the process begin to figure out wtf $~Regex means | 21:32 | ||
ab5tract | When submitting a rakudobug, do I attach the test cases sepearately or submit them inline within the email? | ||
Mouq | m: say $~P6Regex | 21:33 | |
camelia | rakudo-moar 9411a7: OUTPUT«Slang.new(:grammar(Any), :actions(Any))» | ||
Mouq | m: say $~Regex | ||
camelia | rakudo-moar 9411a7: OUTPUT«Slang.new(:grammar(Perl6::RegexGrammar), :actions(Perl6::RegexActions))» | ||
Mouq | The former should probably die | ||
ab5tract: Depends. If you can golf it, inline is prefered | |||
(At least, I prefer inline :P) | 21:34 | ||
nine_ | I rakudobuged the seek failure | ||
ab5tract | Mouq: thanks for your feedback. it'll go your way, as you voiced it first :) | 21:35 | |
21:39
kjs_ joined
21:49
xfix left,
japhb left
|
|||
ugexe | just watched your fosdem video nine. i enjoyed it | 21:53 | |
nine_ | ugexe: thanks :) | ||
PerlJam | ugexe: link? | ||
ugexe | video.fosdem.org/2015/devroom-perl/..._perl6.mp4 | 21:54 | |
PerlJam | thanks. | ||
timotimo | oh my god finally | 21:55 | |
oh, this is nine's, not froggs' | 21:56 | ||
i think i've seen this one already | |||
J-L | I'm trying to do something along the lines of: 1, *+1 ... * but using a sub instead of *+1. I tried: sub addOne ($x) {$x+1} 1, addOne(*) ... * but it fails with: Cannot call 'Numeric' | 21:57 | |
TimToady | that's a verb, put & on it to make it anoun | ||
and you can't use * like that as an argument to make a closure | 21:58 | ||
only works on operator args | |||
1, &addOne ... * | |||
m: say 1, &succ ... * | 21:59 | ||
camelia | rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4nJY6S9dumUndeclared routine: &succ used at line 1» | ||
21:59
kjs_ left
|
|||
TimToady | I guess that's only a method | 21:59 | |
m: say 1, &prefix:<++> ... * | |||
camelia | rakudo-moar 9411a7: OUTPUT«===SORRY!===Cannot call 'prefix:<++>'; none of these signatures match::(Mu:D \a is rw):(Mu:U \a is rw):(Bool:U \a is rw):(Int:D $a is rw):(int $a is rw):(Num:D $a is rw):(Num:U $a is rw):(num $a is rw)» | ||
TimToady | say wat | 22:00 | |
oh, that's mutating | |||
m: my $x; say $x, &prefix:<++> ... *; # curious | 22:01 | ||
camelia | rakudo-moar 9411a7: OUTPUT«===SORRY!===Cannot call 'prefix:<++>'; none of these signatures match::(Mu:D \a is rw):(Mu:U \a is rw):(Bool:U \a is rw):(Int:D $a is rw):(int $a is rw):(Num:D $a is rw):(Num:U $a is rw):(num $a is rw)» | ||
TimToady | m: my $x = 0; say $x, &prefix:<++> ... *; # curious | ||
camelia | rakudo-moar 9411a7: OUTPUT«===SORRY!===Cannot call 'prefix:<++>'; none of these signatures match::(Mu:D \a is rw):(Mu:U \a is rw):(Bool:U \a is rw):(Int:D $a is rw):(int $a is rw):(Num:D $a is rw):(Num:U $a is rw):(num $a is rw)» | ||
Mouq guesses the container is lost in &[...] | 22:02 | ||
TimToady | probably a good thing, normally | ||
J-L | TimToady: Ah, excellent. Thanks. And tinkering around, I discovered this also works: 1, &(sub foo ($x) { $x+1 }) ... * | ||
As well as this: 0, 1, &(sub ($x,$y) { $x+$y+1 }) ... * | |||
22:02
bayprogrammer left
|
|||
Mouq | m: say 0, 1, sub ($x,$y) { $x+$y+1 } ... * | 22:03 | |
camelia | rakudo-moar 9411a7: OUTPUT«0 1 2 4 7 12 20 33 54 88 143 232 376 609 986 1596 2583 4180 6764 10945 17710 28656 46367 75024 121392 196417 317810 514228 832039 1346268 2178308 3524577 5702886 9227464 14930351 24157816 39088168 63245985 102334154 165580140 267914295 433494436 701408732 …» | ||
22:03
japhb joined
|
|||
Mouq | m: say 0, 1, { $^x+$^y+1 } ... * | 22:04 | |
camelia | rakudo-moar 9411a7: OUTPUT«0 1 2 4 7 12 20 33 54 88 143 232 376 609 986 1596 2583 4180 6764 10945 17710 28656 46367 75024 121392 196417 317810 514228 832039 1346268 2178308 3524577 5702886 9227464 14930351 24157816 39088168 63245985 102334154 165580140 267914295 433494436 701408732 …» | ||
J-L | You know what I like about Perl? The fact that one line of pseudocode can usually be implemented in one line of Perl (and that line doesn't have to be complicated). | ||
And Perl6 looks like it's taking that one-pseudocode-line-maps-to-one-code-line even more to heart. | |||
22:06
kjs_ joined
|
|||
J-L | Mouq: Why did you use $^x and $^y ? They look like Perl5's $a and $b, but I'm wondering why 'x' and 'y' were chosen as names. | 22:06 | |
TimToady | is a generalization of $a and $b but special | ||
always just uses alphabetic order | 22:07 | ||
Mouq | J-L: Doesn't matter what names you use :) doc.perl6.org/language/variables#The_%5E_Twigil | ||
psch .oO( { $%5Ex + $%5Ey } ) | 22:10 | ||
22:11
bayprogrammer joined
|
|||
ab5tract | Opinions have been mixed with some folks I've mentioned the placeholder variables to | 22:12 | |
Which was surprising to me, honestly. | |||
sivoais uses a dotless i for placeholder variable *mwahahaha* | 22:13 | ||
J-L | Thanks, Mouq. I had read about twigils before, but now they're making more sense, as I have a need for them. | 22:15 | |
22:15
mohij joined
|
|||
sivoais | I've been looking at R's non-standard evaluation and I believe I could implement the same feature using Perl6 macros | 22:16 | |
22:26
kjs_ left,
virtualsue left,
virtualsue joined
22:30
spider-mario left
|
|||
dalek | kudo/parameterize-cleanup: b38acee | jnthn++ | src/Perl6/Metamodel/MetaMethodContainer.nqp: Fix interaction of ^methods with inheritance. |
22:33 | |
22:37
rindolf left
|
|||
dalek | p: 6d19df1 | jnthn++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION for BS repossession fixes. |
22:39 | |
22:39
adu joined
22:47
yqt joined
22:49
LonelyGM joined
22:50
kjs_ joined
22:52
diana_olhovik left
22:54
LonelyGM left
|
|||
eli-se | sivoais: I fixed a dotless i bug today | 22:57 | |
.toLowerCase in Java is fun. | |||
22:59
mohij left
|
|||
sivoais | oh wow, is this what you ran into, eli-se? <grepalex.com/2013/02/14/java-7-and-...ess-i/> | 23:00 | |
eli-se | sivoais: some library I used did .toLowerCase on HTTP request header names. | ||
Which obviously breaks on Turkish web servers. :P | |||
Basically, (= (.toLowerCase "I") (do (Locale/setDefault (Locale. "tr")) (.toLowerCase "I"))) is false. | 23:01 | ||
(On my computer.) | 23:02 | ||
Mouq | m: say "İ".lc | ||
camelia | rakudo-moar 9411a7: OUTPUT«i» | ||
sivoais | wow, that's a nasty level to have Unicode bugs popping up O_O | 23:03 | |
eli-se | It's not a Unicode bug. | ||
It's a bug in the design of .toLowerCase which reads a global variable. | |||
It's a locale bug. :P | 23:06 | ||
sivoais | darn you LC_CTYPE! | ||
23:22
yqt left
23:24
wicope left,
cognominal left
23:25
kjs_ left
|
|||
dalek | p: 92223a6 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationReader.java: Make object repossession respect STable changes. |
23:27 | |
23:29
skids joined
|
|||
dalek | kudo/parameterize-cleanup: a593932 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for Moar/JVM BS repossession fix |
23:31 | |
flussence | .oO( do we need a separation as strong as Str/Buf for "human-readable strings" and "computer protocol strings"? ) |
23:34 | |
(preferably, not one the size of libintl...) | 23:35 | ||
eli-se | computer protocol strings should be sequences of whatever elementary value the protocol uses | ||
if the protocol is based on bytes, use a sequence of bytes. if it's based on code points, use a sequence of code points | |||
rename Str to Text for less confusion | 23:36 | ||
flussence | that'd be nice in theory, but decoded-ascii Strs are much nicer to work with than Bufs right now... | 23:37 | |
eli-se | > right now | ||
:):):) | |||
flussence | well, they'll be a lot more equal once the specced regexes-on-bufs gets done... | 23:39 | |
eli-se | .tell vendethiel: I also disallow mixed | and & without parens | 23:44 | |
yoleaux | eli-se: What kind of a name is "vendethiel:"?! | ||
eli-se | yoleaux: you're dumb | ||
.tell vendethiel I also disallow mixed | and & without parens | |||
yoleaux | eli-se: I'll pass your message to vendethiel. | ||
eli-se | yoleaux: thanks | ||
23:46
eli-se left
23:47
coffee` left
23:50
rurban left
23:59
gfldex left
|