»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
timotimo | damn, i lost the link to the tutorial i was following :( | 00:05 | |
nope, found it again | |||
colomon | timotimo++ | ||
00:08
Sqirrel left
00:09
dwarring left
00:11
ajr_ left
00:12
btyler left
|
|||
timotimo | not exactly sure how to map things like on_delete_event where you can return true or false to signal to gtk that the window should or should not be destroyed when the user clicks close or hits alt-f4 or equivalent | 00:15 | |
00:18
guru joined,
guru is now known as Guest39941
00:19
Guest39941 is now known as ajr_
00:21
autark joined
00:25
ajr_ left
00:30
dmol left
|
|||
timotimo | i wonder if it should be a method you could just override (or, you know, add with an anonymous role) | 00:35 | |
dalek | k-simple: 3eaba06 | (Timo Paulssen)++ | lib/GTK/Simple.pm6: nitpick some final spaces away |
00:43 | |
k-simple: 16c6da1 | (Timo Paulssen)++ | lib/GTK/Simple.pm6: when closing the main window, the program shall exit the main loop. |
|||
k-simple: f5ee9ee | (Timo Paulssen)++ | examples/01_hello_world.pm6: the hello/goodbye example is now somewhat proper. |
|||
k-simple: 8b7475e | (Timo Paulssen)++ | lib/GTK/Simple.pm6: vim fold markers for categories of native subs |
|||
k-simple: af88ff8 | (Timo Paulssen)++ | / (2 files): bind get_ and set_border_width for containers and use it in the example |
|||
00:43
rurban joined
00:44
thou left
00:48
rurban left,
rurban joined
00:53
rurban left
01:05
klapperl_ joined
|
|||
dalek | k-simple: f61d580 | (Timo Paulssen)++ | examples/01_hello_world.pm6: lots of documentations and clarifications |
01:07 | |
01:08
klapperl left
01:17
Khisanth left
01:18
Khisanth joined
01:48
Su-Shee_ joined,
FROGGS_ joined
01:49
rurban joined
01:50
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
01:51
thou joined,
donaldh_ joined
01:52
Su-Shee left
01:53
FROGGS left,
breinbaa1 joined,
huf_ joined,
rurban left
01:58
FROGGS[mobile] left,
breinbaas left,
donaldh left,
huf left,
donaldh_ is now known as donaldh
01:59
FROGGS[mobile] joined
02:06
btyler joined
02:10
REPLeffect left
02:19
Sqirrel joined
02:23
Sqirrel left
02:41
rurban joined
02:44
raiph left
02:45
rurban1 joined
02:46
rurban left
03:25
Alula left,
xragnar left
03:26
xragnar joined
03:36
Alula joined
03:38
BenGoldberg left
04:03
kaare_ joined
04:20
woosley left
04:26
REPLeffect joined
04:35
Sqirrel joined
04:41
volodin661 joined
|
|||
volodin661 | perl6: say [+] 1,2 | 04:42 | |
camelia | rakudo-{parrot,jvm,moar} 85bcd7, niecza v24-109-g48a8de3: OUTPUT«3» | ||
04:43
volodin661 left
04:44
Sqirrel left,
shalom1024 left
04:45
volodin661 joined
|
|||
volodin661 | rakudo: map {.say} <== grep { /^zhoppa/ ^fff^ /^zhoppa/ } <== lines; | 04:50 | |
camelia | ( no output ) | ||
volodin661 | 1 | ||
2 | |||
3 | |||
4 | |||
^D | 04:51 | ||
04:54
kaare_ left
04:55
volodin661 left
04:56
volodin661 joined
|
|||
volodin661 | perl6: say .value given max :by(*.key), classify *.chars, grep { [le] .comb }, ( 'aa', 'dsasd', 'gg','dd') | 04:56 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method key in type Hash at /tmp/tmpfile line 1 (ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 1808 (ANON @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 1812 (List.max @ 14)  at /home…» | 04:57 | |
..rakudo-{parrot,jvm,moar} 85bcd7: OUTPUT«aa gg dd» | |||
volodin661 | index of the minimum element of the array in PYTHON is: a=[9,10,6,0,5,7]; min_idx = a.index(min(a)); and In Perl6 ? | 05:04 | |
05:07
rurban1 left,
rurban joined,
rurban left
05:08
Sqirrel joined
|
|||
skids | r: my @a = (0,1,5,2,9,4,-1); @a.first-index(@a.min).say | 05:09 | |
camelia | rakudo-{parrot,jvm,moar} 85bcd7: OUTPUT«6» | ||
skids | r: my @a = (0,1,5,2,9,4,-1); @a.first(* > 4).say | 05:11 | |
camelia | rakudo-{parrot,jvm,moar} 85bcd7: OUTPUT«5» | ||
05:13
dayangkun left
05:14
dayangkun joined
05:23
kaare_ joined
|
|||
moritz | \o | 05:35 | |
blogs.perl.org/users/peter_martini/...l-ism.html | |||
05:38
rurban joined
05:39
rurban1 joined
05:42
rurban left
05:44
rurban1 left
05:51
FROGGS_ left
05:56
spintronic joined
|
|||
spintronic | Does STD.pm implement all of Perl 6 into Perl 5? | 05:59 | |
06:08
rindolf joined
|
|||
TimToady | only the parser | 06:13 | |
and it cheats, for instance by using localized globals rather than true dynamic vars | 06:14 | ||
and by using the subset of Perl 6 that is easy to translate to Perl 5 :) | |||
for some subset of "easy" that does not include the parser itself :) | 06:15 | ||
06:18
woolfy joined
06:25
btyler left
|
|||
spintronic | ah ok thanks TimToady | 06:27 | |
06:27
spintronic left
06:49
FROGGS joined
|
|||
lizmat | m: say $*OUT.WHAT | 06:51 | |
camelia | rakudo-moar 85bcd7: OUTPUT«(IO::Handle)» | ||
lizmat | m: $*OUT = class is IO::Handle {} | ||
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!=== Error while compiling /tmp/m9LlshWozmUnable to parse class definitionat /tmp/m9LlshWozm:1------> $*OUT = class is ⏏IO::Handle {} expecting any of: postfix infix stopper…» | ||
lizmat | m: $*OUT = class {} | ||
camelia | ( no output ) | ||
FROGGS | m: $*OUT = class { } but IO::Handle {} | ||
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!=== Error while compiling /tmp/PKRX_7FkdTUnexpected block in infix position (two terms in a row, or previous statement missing semicolon?)at /tmp/PKRX_7FkdT:1------> $*OUT = class { } but IO::Handle ⏏{}…» | ||
lizmat | shouldn't the "class is IO::Handle" case work ? | ||
FROGGS | m: $*OUT = class { } but IO::Handle; | ||
camelia | rakudo-moar 85bcd7: OUTPUT«Cannot mix in non-composable type IO::Handle into object of type <anon> in sub infix:<but> at src/gen/m-CORE.setting:16948 in block at /tmp/Ie3iPHRFJh:1» | ||
FROGGS | lizmat: it looks weird | 06:52 | |
lizmat | FROGGS o/ | ||
FROGGS | hi :o) | ||
lizmat | it's one of the tests failing with jnthn's "say" patches | ||
jnthn | lizmat: You need to give the class a name, no? | ||
r: class Foo is IO::Handle { } | |||
camelia | ( no output ) | ||
FROGGS | m: $*OUT = anon class is IO::Handle {} # it perhaps parses 'is' as the class name? | 06:53 | |
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!=== Error while compiling /tmp/aCoDluSCtLUnable to parse class definitionat /tmp/aCoDluSCtL:1------> $*OUT = anon class is ⏏IO::Handle {} # it perhaps parses 'is' a expecting any of: …» | ||
jnthn | Or use :: for anonymous class | ||
FROGGS | m: $*OUT = anon class is is IO::Handle {} # it perhaps parses 'is' as the class name? | ||
camelia | ( no output ) | ||
jnthn | FROGGS: Yes, correctly | ||
lizmat | t/spec/rosettacode/sierpinski_triangle.t | ||
jnthn | r: my $c = anon class :: is IO::Handle { } # if you really, really don't want a name | ||
camelia | ( no output ) | ||
jnthn | lizmat: My patch I think is problematic 'cus it assumes that things pretending to be handles now also provide a say method. | 06:54 | |
Whereas before we only needed a print one. | |||
FROGGS | m: my $foo = anon regex { \d+ } # but I guess that only works because wo do not apply traits | ||
camelia | ( no output ) | ||
jnthn | FROGGS: correct | ||
lizmat: I suspect that means my patch ain't smart enough or something :) | 06:55 | ||
FROGGS | jnthn: that is a good start into the day *g* | ||
twice correct already :D | |||
lizmat | jnthn: ok | ||
masak | morning, #perl6 | 06:57 | |
lizmat | morning masak | ||
masak | m: say "morning #perl{$_}" for 5..7 | ||
camelia | rakudo-moar 85bcd7: OUTPUT«morning #perlmorning #perlmorning #perl» | ||
lizmat | morning jnthn | ||
masak | oh, right. | ||
m: say "morning #$_" for "perl5" .. "perl7" | |||
camelia | rakudo-moar 85bcd7: OUTPUT«morning #perl5morning #perl6morning #perl7» | ||
06:57
SamuraiJack joined
|
|||
jnthn | o/ lizmat | 06:57 | |
lizmat | m: say "morning #$_" for "perl5" .. ^"perl7" | 06:58 | |
camelia | rakudo-moar 85bcd7: OUTPUT«Cannot call 'Real'; none of these signatures match::(Mu:U \v: *%_) in method new at src/gen/m-CORE.setting:7399 in sub prefix:<^> at src/gen/m-CORE.setting:7574 in block at /tmp/HYUAuKhyD5:1» | ||
06:58
anaeem1 joined,
darutoko joined
|
|||
lizmat | m: say "morning #$_" for "perl5" ..^ "perl7" | 06:58 | |
camelia | rakudo-moar 85bcd7: OUTPUT«morning #perl5morning #perl6» | ||
lizmat | :-) | ||
so, do we have the equivalent of open \$scalar in perl 6? | 06:59 | ||
jnthn | no :D | ||
Wait, what does that actually do? | 07:00 | ||
The backslash? | |||
But open returns a file handle in Perl 6. | |||
07:02
kurahaupo joined
|
|||
dalek | nda: 35c2b63 | (Steve Mynott)++ | lib/Panda/Ecosystem.pm: support web proxy via http_proxy env var |
07:03 | |
nda: 30357d3 | tadzik++ | lib/Panda/Ecosystem.pm: Merge pull request #83 from stmuk/master support web proxy via http_proxy env var |
|||
07:03
thou left
|
|||
jnthn | FROGGS: Is github.com/jnthn/zavolaj/pull/39 covered by changes you already did? | 07:04 | |
lizmat | jnthn: it gives file semantics to a in memory scalar | 07:05 | |
FROGGS | jnthn: nah, I tried but failed... | ||
lizmat | so, you can slurp from / spurt it | ||
do .lines on it, etc | |||
but all in memory | |||
07:05
zakharyas joined
|
|||
lizmat | the sierpinski example is just doing that, in a strange way: it is "say"ing to a variable | 07:06 | |
rosettacode.org/wiki/Sierpinski_triangle#Perl_6 | 07:07 | ||
well, actually, only the test is doing that | 07:11 | ||
it's not part of the example | |||
hmmm... | |||
breakfast& | 07:13 | ||
07:14
Ven joined
07:25
Ven left
07:30
kaleem joined
07:42
rurban joined,
lizmat left
07:46
dmol joined,
rurban left,
snarkyboojum joined
07:48
SevenWolf left
07:52
virtualsue joined
|
|||
sergot | morning! o/ | 07:56 | |
FROGGS | morning sergot | 07:57 | |
sergot: had no chance to review your work, release took until 1am :( | |||
sergot | ok, no worries! :) | 08:00 | |
08:04
Ven joined
|
|||
masak | FROGGS++ # release | 08:05 | |
sergot | FROGGS++ | 08:06 | |
masak | Vendethiel-: I would do everything in one pass, I think. | 08:07 | |
08:13
zakharyas left
|
|||
woolfy | FROGGS++ # release | 08:13 | |
dalek | ar: 08dd7b4 | moritz++ | tools/star/Makefile: bump rakudo,nqp,moar versions to 2014.05 |
08:14 | |
ar: 9917fe9 | moritz++ | modules/ (6 files): Update module versions |
|||
08:14
lizmat joined,
zakharyas joined,
lizmat left
|
|||
dalek | ar: c9969dd | moritz++ | / (2 files): bump version in README and Makefile.in |
08:14 | |
08:15
lizmat joined
|
|||
lizmat | so I was thinking something like this idiom: | 08:17 | |
open my IO::File $scalar | |||
giving you an IO::Handle::File | |||
and then implement the necessary logic in IO::File and IO::Handle::File to make it look like a file | 08:18 | ||
would that make sense? | |||
08:19
zakharyas left,
zakharyas joined,
woolfy left
|
|||
jnthn | Not to me | 08:20 | |
There's nothing to open | |||
my $file = IO::InMemory.new; # or so would make more sense | 08:21 | ||
Needs better naming | |||
moritz | +1 to using the OO approach | ||
jnthn | I think putting that behavior on open is a bit of a hack. | ||
moritz | p5's open() is a huge hack that we don't need to duplicate | 08:22 | |
jnthn | An excusable one in Perl 5 where handles are not objects. | ||
lizmat | well, the thing is that if you have a module that accepts a path | ||
and you want it to work in memory, you wouldn't have to change that routine | |||
moritz | ... assuming the argument isn't type to Str or IO::Path in the first place | 08:23 | |
lizmat | so open() would need at least an MMD candidate to handle that case | ||
internally, it would do the IO::InMemory of course | 08:24 | ||
moritz | lizmat: a possible compromise is to make open() a no-op on IO::Handle (or whatever we call it) objects | ||
lizmat: then you can pass in an IO::InMemory where people expect a path, as long as they only open() it | |||
lizmat | moritz: I assume you meant IO::Handle::File ? | 08:25 | |
08:25
fhelmberger joined
|
|||
lizmat | then yes | 08:25 | |
that would essentially be happening, yes | |||
08:25
SamuraiJack left
|
|||
lizmat | another thing before starting our part 1 of decommute: | 08:26 | |
TimToady: if Pair.key is rw, would this be expected behaviour: | |||
liz$ perl6 -e 'my %h = (a=>1); .key = "b" for %h.pairs; say %h' | |||
("a" => 1).hash | |||
moritz hopes .key isn't rw | |||
lizmat | aka, silently allow changes to the pair, *without* affecting the hash | ||
TimToady seems to be in two minds about that, see discussion yesterday | 08:27 | ||
jnthn | lizmat: I think the problem there is that the iterator implementation somehow ends up introducing its internal container to the hash | ||
uh, to the Pair | |||
It probably does like | |||
moritz | on a totally unrelated note, I thought about a horrible hack to work around Unicode problems with file systems: use punicode to encode module names! | ||
jnthn | my $foo = <obtain the key somehow>; | ||
And so we accidentally build the pair with an rw thing | |||
lizmat | HashIter.new(self, :keystore($!keys), :pairs).list | ||
is what Hash.pairs does | 08:28 | ||
jnthn | Yeah...so maybe it's inside HashIter :) | ||
lizmat | but Pairs are pretty much everywhere in Perl 6 | 08:29 | |
and it seems a bit late to be changing that to something lake "Named" now | |||
*like | 08:31 | ||
anyways, need to pack and decommute | |||
later& | |||
08:31
lizmat left
08:38
thou joined
08:42
thou left,
rurban joined
|
|||
FROGGS | moritz: punicode would at least be a nice thing for the distribution's tarball file name | 08:43 | |
08:47
rurban left
08:57
Su-Shee_ is now known as Su-Shee,
dayangkun left
08:58
dayangkun joined
08:59
dayangkun left
09:01
dayangkun joined
|
|||
volodin661 | perl6:my @a=1,3,4,0,8; @a.first-index(@a.min).say; | 09:02 | |
09:04
dayangkun left
09:10
dayangkun joined
|
|||
Ulti | m: my @a=1,3,4,0,8; @a.first-index(@a.min).say; | 09:16 | |
camelia | rakudo-moar 85bcd7: OUTPUT«3» | ||
FROGGS | volodin661: put a space after the first colon | 09:17 | |
masak finds he doesn't use $obj.say at all, just .say -- and he's a bit confused as to why others like $obj.say so much | 09:20 | ||
dalek | rlito: 666a73d | (Flavio S. Glock)++ | / (2 files): Perlito5 - js - add test for "last from inside sub" |
09:25 | |
rlito: 493e35f | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - perl6 - un-deprecate |
09:26 | ||
FROGGS | I don't like it either | ||
fglock++ | 09:27 | ||
jnthn | Yeah, I suaully use $handle.say(...) of course. | 09:29 | |
FROGGS | yeah | 09:34 | |
dalek | rlito: 1c44abc | (Flavio S. Glock)++ | / (2 files): Perlito5 - TODO - update |
09:37 | |
09:43
rurban joined
09:47
rurban left
09:51
denis_boyun joined
10:06
xinming_ joined
10:09
xinming left
10:13
FROGGS[mobile] left,
FROGGS[mobile] joined
10:14
kurahaupo left
|
|||
virtualsue tries to work out why panda won't build | 10:21 | ||
dalek | rlito: d5fe7f7 | (Flavio S. Glock)++ | / (2 files): Perlito5 - js - add test for "alternate array deref syntax" |
10:34 | |
10:36
sqirrel_ joined
|
|||
virtualsue | it complains that there is no supported backend but i built perl6 with moar support | 10:40 | |
10:44
rurban joined
10:45
dmol left
10:48
rurban left
11:00
[Sno] left
11:01
[Sno]_ joined
|
|||
moritz | eeks | 11:01 | |
precomping LWP::Simple during the star build (moarvm) hangs | 11:02 | ||
/home/mlenz/p6/star/rakudo-star-2014.05/install/bin/moar --execname=/home/mlenz/p6/star/rakudo-star-2014.05/install/bin/perl6-m --libpath=/home/mlenz/p6/star/rakudo-star-2014.05/install/languages/nqp/lib --libpath=/home/mlenz/p6/star/rakudo-star-2014.05/install/languages/perl6/lib --libpath=/home/mlenz/p6/star/rakudo-star-2014.05/install/languages/perl6/runtime /home/mlenz/p6/star/rakudo-star-2014.05/install/languages/perl6/runtime/perl6.moarvm --target=mb | |||
perlpunks.de/paste/show/537f2ac1.569e.232 has been running for two hours now | |||
same for JSON::RPC::Client | 11:05 | ||
stuff looks really borked :( | |||
11:06
kurahaupo joined
|
|||
dalek | rlito: d4d6772 | (Flavio S. Glock)++ | / (4 files): Perlito5 - perl5 - fix 2 TODO bugs |
11:07 | |
FROGGS | I was able to build star without problems yesterday | 11:11 | |
11:14
volodin661 left
|
|||
dalek | rlito: f2b435f | (Flavio S. Glock)++ | / (3 files): Perlito5 - perl5 - fix "say" in Test.pm |
11:18 | |
11:32
Psyche^_ joined
11:35
Psyche^ left
|
|||
dalek | rlito: 173897c | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - js - TODO - phase order |
11:35 | |
virtualsue | i've just been told that panda doesn't build with rakudo star. i'm not sure what to do with this information. | 11:41 | |
cognominal | In Mixy.pm : method default(--> Real) { 0 } | 11:45 | |
Why Real? | |||
jnthn | Rakudo Star already includes Panda, so there's no need to build one. | ||
cognominal | github.com/rakudo/rakudo/blob/nom/...Mixy.pm#L2 | 11:47 | |
11:48
sqirrel_ left
|
|||
virtualsue | jnthn: ha. so it does. | 11:48 | |
still, i would have thought it should be buildable | 11:51 | ||
tadzik | timotimo: no eye deer | 11:55 | |
but it might just be starting a new panda :) | |||
jnthn | Panda as it was at the time of the Rakudo Star release in question, perhaps. Note that a lot of the versioned modules and CPAN integration stuff is coming together, and as part of that some backend-specific knowledge Panda currently has is, as I understand it, moving into Rakudo itself (which is where such things really belong). | ||
Upshot being that latest Panda implementation is tracking latest Rakudo fairly tightly right now. | |||
dalek | ecs: 9230300 | (Stéphane Payrard)++ | S32-setting-library/Basics.pod: Correct insconsistency |
11:59 | |
colomon | there should be a tag in the panda repo for the last version which works with older Rakudos. | 12:00 | |
colomon releases he has no idea how to find tags under github. | 12:02 | ||
12:05
berekuk left
|
|||
tadzik | it's there under "releases" | 12:06 | |
github.com/tadzik/panda/releases | |||
I make those when I introduce changes that don't work on older rakudos | |||
colomon | tadzik++ | 12:08 | |
12:10
berekuk joined
|
|||
Ulti | how do you cast in Perl6? | 12:10 | |
colomon | Ulti: what sense of cast? | ||
Ulti | so I have an object of a parent class to the one I want to cast to | 12:11 | |
so imagine I got an Int but I wanted to assign to an Even or Odd or something | |||
colomon | I believe that should Just Work | 12:12 | |
Ulti | yeah its more I dont think I know the syntax | 12:13 | |
tadzik | I think so | ||
just assign it | |||
it'll work out | |||
colomon | m: subset Odd of Int where { $_ % 2 }; my Int $i = 37; my Odd $o = $i; say $o; | ||
camelia | rakudo-moar 85bcd7: OUTPUT«37» | ||
Ulti | I get this as a message Type check failed in assignment to '$seq'; expected 'BioInfo::Seq::DNA' but got 'BioInfo::Seq' | ||
tadzik | is Seq a subclass of Seq::DNA? :o | 12:14 | |
Ulti | no its a role | ||
that BioInfo::Seq::DNA does | |||
tadzik | well, is that objectyou assign indeed a Seq::DNA? | ||
jnthn | m: role Foo { }; class Bar does Foo { }; my Foo $x = Bar.new; | ||
camelia | ( no output ) | ||
tadzik | Ulti: I think you're doing it the other way around | 12:15 | |
if A is B, you can't assign B to something that wants A | |||
"I want a dog!" "here, have a generic mammal" | |||
Ulti | sure you can :P though yeah I should just make a constructor that takes the generic role and makes a new object | 12:16 | |
Ulti checks to see if Java interfaces do act this way | 12:17 | ||
maybe roles are just very different to what I was thinking | 12:18 | ||
tadzik | I still think you're doing this the wrong way | ||
Seq is the generic, Seq::DNA is the specific | |||
if something expects a type Seq::DNA, you can't give it Seq | |||
see the dog example | |||
can you show us the code? | |||
Ven | agreed with tadzik. Upcasting is safe, dwncasting is down | 12:19 | |
.oO( May the spirit of Liskov be with you ! ) |
|||
tadzik | :) | ||
colomon | .oO(And also with you.) |
||
Ulti | well its a role so its not up or down its sideways, I would imagine you get a new one of the thing that does the role and the roles attributes patched over | 12:20 | |
so defaults of the class and the specific things from the role | |||
colomon | Ulti: which is the role? | 12:21 | |
Ulti | Seq is the role and Seq::Dna the class that is the top level that does Seq | ||
I guess Seqyness would have been a better name | 12:22 | ||
tadzik | it doesn't matter really | ||
Seq is less specific than Seq::DNA | |||
Ulti | also its a bit weird you can create an instance of a role | ||
tadzik | you're expecting Seq::DNA | ||
Ulti | yeah | ||
tadzik | so you say "I don't accept just any Seq, I want a Seq::DNA" | 12:23 | |
that's why something that does Seq doesn't work here | |||
Ulti | its more I want a new Seq::DNA with the Seq attributes which are part of the Seq role copied over | ||
tadzik | perhaps Seq::DNA should have a method new-from-seq()? | ||
12:24
breinbaa1 left
|
|||
Ulti | yeah sure I can make a constructor | 12:24 | |
skids wondered the other day if the bioinfo folks have ever had a reason to map GATC to △▫○X and what they decided on. | 12:27 | ||
12:29
breinbaas joined
12:30
SamuraiJack joined,
kaleem left
|
|||
virtualsue | ah, i now see the panda change which causes the issue | 12:30 | |
jnthn | Ulti: You may also want to consider if a role is the right thing, or you just want a has-a relationship. I don't know your domain well enough to say. :) | 12:32 | |
Ulti: Note that Perl 6 has really nice delegation support through handles... | 12:33 | ||
12:33
kaare_ left
12:35
Vendethiel- left
12:36
kaare_ joined
12:38
kaleem joined
12:39
vendethiel joined
|
|||
moritz | it does, because Even and Odd aren't subclasses, but rather subsets | 12:41 | |
uhm, /me replied to stale chat :( | 12:42 | ||
12:42
kaleem left
12:45
anaeem1 left
|
|||
dalek | rlito: 2f3e1d2 | (Flavio S. Glock)++ | / (2 files): Perlito5 - perl6 - eval-string |
12:51 | |
12:55
fhelmberger left
12:56
rurban joined
12:57
kaare_ left
|
|||
Ulti | well you can say the same thing of strings of characters too | 12:59 | |
Seq is the language of all strings, DNA is the ones made of only G C A T | 13:00 | ||
I'd still probably implement them as two classes because DNA also implies a load of specific behaviour | |||
though the liklihood of another biopolymer suddenly becoming biologically relevant is fairly slim at this point | 13:01 | ||
13:08
SamuraiJack left
|
|||
timotimo | Ulti: assigning to a container with a different type restriction doesn't change the object | 13:13 | |
all methods and stuff are still virtual, late-bound | |||
and the type restriction on the container the object is in does not inform the method resolution logic etc | |||
13:17
sqirrel_ joined
13:21
fglock joined
|
|||
fglock | hi | 13:21 | |
FROGGS | hi fglock | 13:22 | |
timotimo | hello :) | ||
fglock | I'm trying to translate this from perl5 to perl6 - ' sub x { return 7, 8 }; my $v = x(); print $v,"\n" ' # 8 | ||
perl6 answer is 7 8 | 13:23 | ||
timotimo | fglock: is there a way to get the 7, 8 in perl5 without modifying sub x? | ||
fglock | is there a signature/context I can set to get the perl5 behaviour? | ||
FROGGS | hmmmm | ||
fglock | timotimo: yes, using list context | ||
jnthn | my ($v) = x(); # should do it | ||
timotimo | jnthn: that doesn't bomb? o_O | 13:24 | |
fglock | jnthn: that gives 7 | ||
13:24
guru joined
|
|||
FROGGS | timotimo: my should it? | 13:24 | |
jnthn | wait, Perl 5 gives *8*?! | ||
wtf. | |||
timotimo | yeah, the , operator evaluates to the last thing | ||
13:24
guru is now known as ajr_
|
|||
jnthn | Well. How silly. | 13:24 | |
fglock | yes - the comma operator returns the last element | ||
:) | |||
timotimo | except if it's list context | 13:25 | |
FROGGS | m: sub x { return { 7, 8 } }; my ($v) = x(); print $v,"\n" | ||
camelia | rakudo-moar 85bcd7: OUTPUT«» | ||
jnthn | Well, there's always my $v = x()[*-1] :P | ||
FROGGS: Did you really want a block there? | |||
fglock | maybe my (*, $v) = x() | ||
FROGGS | jnthn: no, a statementlist :P | 13:26 | |
timotimo | then put a do in front? | ||
FROGGS | fglock: the * one gobbles one then | ||
jnthn | fglock: $ not *, but it will only nom one thing | ||
FROGGS | perl -E 'sub x { return 7, 8 }; say x(); my $v = x(); print $v,"\n"' | 13:27 | |
78 | |||
8 | |||
sooo..... do we want wantarray now? | |||
timotimo | jnthn: off-topic (somewhat), how should gtk-simple model things like on_destroy_event where the thing we connect to can return a value to decide, for example, if a click on the X should result in a window closing or not? | ||
13:28
vendethiel left
|
|||
FROGGS | fglock: you need something for your p5->p6 compiler, right? | 13:28 | |
fglock | yes | ||
FROGGS | gimme a few minutes | 13:29 | |
jnthn | timotimo: Supply an object with a method on it that can change a non-default decision. | 13:31 | |
13:31
BenGoldberg joined
|
|||
fglock | the compiler could generate something like: return wantarray ?? (7,8) !! 8 | 13:31 | |
jnthn | timotimo: And then the C call-in inspects that. | ||
timotimo: Of course, relies on the programmer to not try to tweak that asynchronously, but that'd be a slightly odd thing to do. | 13:32 | ||
timotimo: So basically a bit like e.preventDefault() thingy that happens in jQuery... | 13:33 | ||
13:34
kaare_ joined
|
|||
jnthn | fglock: Yeah, then you'd need to have a wantarray implementation...somehow... | 13:35 | |
13:36
vendethiel joined
|
|||
fglock | or a lazy-comma... | 13:36 | |
[Coke] | twitter.com/marktimemedia/status/4...0314421248 | 13:38 | |
FROGGS | fglock: I have no idea how to do that, without reimplementing p6store in Perl 6 code... | 13:40 | |
(to fake wantarray) | |||
[Coke] | oh, there's moar: www.mynameismichelle.com/git-frost/ | ||
fglock | FROGGS: no problem - thanks for looking! | 13:41 | |
FROGGS | fglock: I'll drop you a note once v5 has wantarray .o) | ||
:o) | |||
13:44
rurban left
|
|||
fglock | well, p5-in-js uses an "out-of-band" parameter to set the context - I could do the same in p5-in-p6 | 13:45 | |
something like x( :scalar ) I think | |||
FROGGS | this should work, since you basically only have positional arguments | 13:46 | |
13:47
rindolf left
|
|||
BenGoldberg | You could do the same thing to implement lvalue context, too. | 13:47 | |
FROGGS | for lvalue you just apply the 'is rw' trait | 13:48 | |
BenGoldberg | Good point | ||
Ven | we can't wantarray anyway | 13:49 | |
m: sub x { return 7, 8 }; say x(); my (@*, $v) = x(); say $v; | 13:50 | ||
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!=== Error while compiling /tmp/2LsCwLvC0FUnable to parse expression in declarator; couldn't find final ')' at /tmp/2LsCwLvC0F:1------> sub x { return 7, 8 }; say x(); my (@⏏*, $v) = x(); say $v; …» | ||
Ven | m: sub x { return 7, 8 }; say x(); my (*, $v) = x(); say $v; | ||
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!=== Error while compiling /tmp/uIVkldWqusMalformed parameterat /tmp/uIVkldWqus:1------> sub x { return 7, 8 }; say x(); my (⏏*, $v) = x(); say $v; expecting any of: scoped declarator» | ||
jnthn | m: sub x { return 7, 8 }; say x(); my ($, $v) = x(); say $v; | ||
camelia | rakudo-moar 85bcd7: OUTPUT«7 88» | ||
Ven | oh, right, perl 6 doesn't accept positional parameters after slurpy ones for a reason I don't agree with :P | 13:51 | |
13:51
perltricks joined
|
|||
perltricks | Does anybody know why: "say 'hello'.reverse;" does not raise a method not found exception? | 13:53 | |
timotimo | m: say 'hello'.flip; say (1, 2, 3).reverse; | ||
camelia | rakudo-moar 85bcd7: OUTPUT«olleh3 2 1» | ||
timotimo | that's why :) | ||
13:53
dmol joined
|
|||
timotimo | in perl6, many methods that make sense on lists will turn single items into a single-item-list and do the list thing on it | 13:53 | |
reverse is "turn a list around", flip is "turn a string around" | 13:54 | ||
perltricks | but it returns 'hello' | ||
timotimo | that's why reverse doesn't raise an error; it does what it's supposed to do, but the effect is no-op | ||
m: say ("hello".reverse).WHAT | |||
camelia | rakudo-moar 85bcd7: OUTPUT«(List)» | ||
FROGGS | perltricks: it is a one element list for .reverse | ||
jnthn | perltricks: Yes, because it's really doing "hello".list.reverse | ||
perltricks | aha ok it converts to a single element array and reverses it | ||
FROGGS | yeah | ||
jnthn | BTW, same if you .flip an array. It'll .Stringy it first | 13:55 | |
perltricks | got it thanks guys | ||
Am making progress with the exercism Perl 6 exercises.... github.com/sillymoose/xperl6 | |||
13:56
telex left
|
|||
perltricks | Need 10 before exercism will add it to the app | 13:56 | |
13:57
grlpx left
13:58
telex joined
|
|||
FROGGS | perltricks: 10 what? | 13:58 | |
ten examples? | 13:59 | ||
timotimo | oh! that's you, perltricks | ||
cool | |||
perltricks | 10 exercises completed. exercism is a programming exercises app. Provides a readme and a test file and you have to make the tests pass | ||
timotimo | did you see my comments? | ||
dalek | rlito: 52a4c4c | (Flavio S. Glock)++ | TODO-perlito5: Perlito5 - perl6 - wantarray discussion |
||
timotimo | i'll be away most of the day, but maybe i'll throw a few tips your way from my smartphone | 14:00 | |
FROGGS | nice | ||
timotimo | like using $_ (or $^a) instead of @_[0] | ||
perltricks | comments on reddit? | ||
timotimo | yes | ||
gotta run now | 14:01 | ||
perltricks | just saw them, thanks will make those changes | 14:02 | |
14:03
thou joined
14:04
btyler joined
14:07
thou left
14:12
perltricks left,
sqirrel_ left
14:14
thou joined
14:18
snarkyboojum left
14:19
rurban joined
14:20
bluescreen10 joined
|
|||
Ven | OH: (in a conference) nevermind me,I'm just looking for snippets to translate to perl 6 | 14:31 | |
flussence | m: my @a=1,3,4,0,8; @a.first-index(@a.min).say; @a.pairs.min(*.value).say; | 14:35 | |
camelia | rakudo-moar 85bcd7: OUTPUT«33 => 0» | ||
14:39
xenoterracide_ joined
14:40
treehug88 joined
|
|||
PerlJam still wishes for a way to say @a.first(@a.min :gimme-the-index) | 14:40 | ||
the -index functions seem like they should be composable from the pieces we already have. | 14:41 | ||
timotimo | why does nobody want to try .kv.min and map? | ||
or pairs.min.map? | |||
that way you only have to go through the list once | |||
PerlJam | yeah, that works. | 14:44 | |
I just have a bother from the proliferation of -index functions. | 14:45 | ||
14:47
kaleem joined
14:50
fglock left
|
|||
moritz | it sounds like we really need some kind of combinators | 14:53 | |
14:54
FROGGS[mobile] left
15:00
ppabian left
15:04
thou left
15:05
denis_boyun left
15:08
thou joined
15:13
raiph joined,
kaleem left
15:18
Alula left,
Ven left
15:20
Alula joined
15:21
john3213 joined,
FROGGS left
15:22
thou left
15:25
ajr_ left,
guru joined,
guru is now known as ajr_
15:26
john3213 left
15:27
markov joined
15:38
kivutar joined
|
|||
Ulti | if you had to show someone a single line of Perl6 to entice someone who has never even seen Perl 5 or 6 what would it be? | 15:44 | |
15:49
thou joined
15:51
molaf joined
|
|||
PerlJam | Depends on the person I was showing it to :) | 15:51 | |
timotimo | p6 is many things to many people | 15:53 | |
15:53
anaeem1 joined
|
|||
PerlJam | It's like ... how do you show someone some magic to entice them to become a magician? The magic you show them can't be so complicated that they lose all hope of learning it. But if you show them a card trick, they think "I can learn to do card tricks" and then you show them a disappearing apple or something and they think "I can do card tricks, maybe i can make apples disappear too" | 15:56 | |
But, if they already know card tricks and that's where you start, then they're likely to go "What's the big deal?" and not go deeper. | 15:57 | ||
16:00
FROGGS joined
16:06
zakharyas left
|
|||
btyler | Ulti: personally I really like jnthn's prime-grepping example as a short "extremely cool but still pretty clear" demo. | 16:08 | |
eg: my @promises; for (1000 .. 1010) -> $prime-index { push @promises, start { (1..Inf).grep(*.is-prime)[$prime-index] }} | |||
pretty fun to start that off and see all available cores maxing out :) | 16:09 | ||
-and- it works on r-m these days, so you don't have to wait for the JVM to boot to see the coolness | 16:10 | ||
BenGoldberg | There's got to be a more efficient, but still multi-threaded way of doing that... | 16:11 | |
Is there a perl6 variable which says how many cores the cpu has? | 16:12 | ||
eg: my @primes; my @promises; for my $core ( 1 .. $*PROCESSOR<cores> ) { push @promises, start { $primes[$_] = .is_prime } for $core, $core+$*PROCESSOR<cores> ... 1010 } } | 16:15 | ||
jnthn | BenGoldberg: We should put such load-balancing/scaling smarts into the scheduler rather than have everybody re-implement them, I think :) | 16:16 | |
But yeah, it will need that data. | |||
And no, we don't expose it in Perl 6 yet. | |||
PerlJam | BenGoldberg: IF you spec it, someone may build it :) | ||
BenGoldberg | It's kinda silly to recompute .is_prime eleven times for the first thousand integers. | 16:17 | |
Err, for the first thousand primes. | |||
btyler | I always assumed the point of that demo was to spent enough time crunching that you could open up a system monitor and see that, indeed, all available cores are doing stuff | 16:19 | |
BenGoldberg | Well in that case, I'm sure it'll work just fine. | ||
16:20
Rotwang joined
|
|||
BenGoldberg | But if I knew the computer had two cores, I'd have one looking for primes that were 1 mod for, and the other looking for primes 3 mod 4... or some such. | 16:21 | |
s/1 mod for/1 mod 4/ | |||
PerlJam | And I'd want my execution environment using those cores without me having to tell it to. :) | ||
BenGoldberg | Load balancing across all cores only will work if you've got at least as many tasks as you've got cores. | 16:25 | |
So if you make eleven tasks, and you've got one or two or four cores, no problem. | 16:26 | ||
But if you had twelve cores, then one of those cores would be idle. | |||
16:26
pdcawley_ left
|
|||
flussence | .oO( that thing I mentioned ~18h ago would be an impressive one-line demo if it worked... ) |
16:26 | |
[Coke] wonders if the name of this month's compiler release comes from star trek. | 16:40 | ||
16:43
ajr_ left
|
|||
vendethiel | masak: WRT parsing ? | 16:50 | |
the problem is that I can have "block headlines" on multiple lines | 16:51 | ||
Ulti: say so 1 == 3 | 4 when .lines given open('file', :rw) :-° | 16:52 | ||
masak | vendethiel: is that because of some kind of line continuations? | 16:54 | |
vendethiel | masak: no, not even | ||
masak: gist.github.com/Nami-Doc/dc3f6126140f0094f31b something like thgat | 16:55 | ||
masak looks | |||
vendethiel | so I basically need to parse <line> differently depending on whether I'm on the same indent as the previous or not, if ... | ||
masak | vendethiel: I don't think my solution is for your kind of indented text :) | 16:56 | |
vendethiel | yep | ||
masak | vendethiel: guessing best you can do is steal the test suite and then add cases until it does what you want. | ||
vendethiel | I've actually something a bit ATM, I can get a correct AST from your stuff | ||
but it isnt parsed at all | |||
I'm not sure how I want to do that. Perl 6's grammars are not made to deal with this kind of stuff | 16:57 | ||
i'm actually thinking about generating indent and outdent token ... | 16:58 | ||
masak | still need to preprocess that to get the right kind of recursive structure. | 17:00 | |
er, post-process. | |||
vendethiel | but it's actually far easier | 17:01 | |
I know that a block is `<declarations> + % <nl> <block>` | 17:02 | ||
and recursively parse it | 17:03 | ||
that does seem easier to me | 17:05 | ||
masak | yes. | 17:07 | |
17:12
thundergnat joined
|
|||
thundergnat | Every time I work with perl 6 grammars I am amazed at how much I can do with so little code. | 17:19 | |
I have a little free time this week so I messed around with a cardinal to numeric parser. rosettacode.org/wiki/Cardinal_to_numeric | |||
I'm not really thrilled with how I've got every thing shoved into TOP, but it works ok. | 17:20 | ||
17:20
raiph left
|
|||
masak | shove things into TOP until you see a way to not shove things into TOP :) | 17:20 | |
thundergnat | masak: Heh, yep, thats pretty much how I've been operating. | 17:21 | |
17:22
guru joined
17:23
guru is now known as Guest45327,
Guest45327 is now known as ajr_,
denis_boyun_ joined
|
|||
vendethiel | masak: do you think I could get Text::Indented::(?) to take something, generate tokens somehow and return stuff in that state ? | 17:24 | |
not sure what token I should use to mean indent and outdent | 17:25 | ||
masak | vendethiel: I don't really see why you have to have an intermediate token step. but maybe that's just me. | ||
vendethiel | masak: I don't see how I can generate correct blocks | ||
masak | entia non sunt, etc. | ||
vendethiel really, really dislakes putting random latin sentences | 17:26 | ||
masak: how can I process block levels then ? While I'm parsing everything else | 17:27 | ||
17:33
itz joined
|
|||
masak | vendethiel: sorry to trigger your inexplicable latin dislike ;) | 17:44 | |
vendethiel: seems to me the logic for parsing block levels is the only thing you want to keep from my original algorithm. | |||
vendethiel | pretty irrelevant :P | ||
17:48
kivutar left
|
|||
vendethiel | (i mean the latin stuff, I don't even know why I mentioned that) | 17:49 | |
masak: seems to me too, yeah | 17:50 | ||
masak | the point I wanted to convey just happened to be expressed in Latin... :P | 17:51 | |
jnthn | .oO( "what happens in vegas..." ) |
||
masak | lol | ||
vendethiel | masak: I'm open to suggestions :-) | 17:53 | |
masak | "steal the logic for parsing block levels" was my suggestion. | 17:54 | |
um, "steal the tests and add more" was my other suggestion. | |||
I don't have more right now. | |||
vendethiel | yeah, tests were rightfully stolen | 17:55 | |
masak | \o/ | 18:01 | |
vendethiel | and I already stole the block parsing | ||
I'm just inheriting the grammar atm | |||
masak | that may or may not lead to total and utter happiness. | 18:04 | |
18:05
treehug8_ joined
|
|||
vendethiel | oh, that's not gonna be enough | 18:05 | |
masak | happiness is not enough!? | 18:07 | |
18:07
treehug88 left
|
|||
vendethiel | masak: :) | 18:09 | |
I mean inheritance | |||
masak | I'm not gonna rule it out completely, but instinct tells me that inheritance won't be enough for you, no. | 18:10 | |
18:11
anaeem1 left
18:12
anaeem1 joined,
kivutar joined
18:13
anaeem1 left,
anaeem1 joined
18:14
anaeem1 left,
treehug88 joined
|
|||
vendethiel | masak: well, the interesting part is the stuff in line, and I can't inherit that | 18:15 | |
18:15
anaeem1 joined
18:16
anaeem1 left
|
|||
timotimo | do note that grammarsbare supposed to be able to match againstbstreams of objects, too | 18:16 | |
18:16
treehug8_ left
|
|||
vendethiel | (?) | 18:17 | |
oh, s/b/ / | |||
jnthn | timotimo: That's fairly hypothetical and not likely to make 6.0, unless somebody suddenly gets the urge to do it, though... | 18:18 | |
[Coke] | "hey, when are we hitting 6.0" ? | 18:24 | |
Do we have a list of big ticket items remaining? | |||
vendethiel | Coke: be wary of Mus | ||
[Coke]: matrix :P ? | 18:25 | ||
jnthn | [Coke]: No, but it's probably about time to make one. | 18:27 | |
vendethiel | you think so ? | 18:28 | |
that's a good news | |||
masak | we're so full of good news | ||
vendethiel | masak: I'm still waiting for my total and utter happiness ! | ||
masak | then don't use inheritance! | 18:30 | |
[Coke] | didn't perl6.com used to redirect to perl6.org? | ||
vendethiel | masak: I'm not ! | 18:31 | |
nwc10 | mojibake! www.flickr.com/photos/34063820@N00/14249625331/ | ||
[Coke] | jnthn: where to keep the list? Perl6.org? perl6/mu ? | 18:32 | |
-1 on the old perlfoundation wiki. | |||
18:32
anaeem1_ joined
|
|||
jnthn | [Coke]: I was pondering more of a tri-color making of the spec | 18:33 | |
[Coke] | hokay. | 18:34 | |
jnthn | [Coke]: Implemented in Rakudo, not implemented but we agree we really should for 6.0, deferred to 6.* (unless somebody really doesn't want to contribute to anything else, and just happens to implement it anyway) | ||
nwc10: Fail! | 18:35 | ||
[Coke]: Git repo is probably best. I'm open to suggestions of how we do the marking. | 18:37 | ||
nwc10 | jnthn: yes. I wasn't there last night and forgot to look this morning. Was fixed this evening | 18:38 | |
18:38
denis_boyun_ left
|
|||
vendethiel | one file, checkboxes :p ? | 18:38 | |
nwc10 | This error dialogue on a lift display is also fail: www.flickr.com/photos/34063820@N00/14249625351/ | ||
itz | does v5 still need a patched rakudo? | 18:39 | |
nwc10 | Unicode is hard. Let's go ASCII! :-) | ||
jnthn | itz: Not since a few days ago | ||
Epic fehl | 18:40 | ||
nwc10 groans | |||
vendethiel | (I mean, one file per syn, then checkboxing for each headline) | ||
jnthn | I don't think headline level is going to be enough... | 18:41 | |
vendethiel | jnthn: really ? That's gonna be one long list to do | ||
jnthn | Yup. | ||
[Coke] | line? character? | 18:45 | |
(which would painfully hard) | 18:46 | ||
18:50
anaeem1_ left
|
|||
FROGGS | itz: I am working on making v5 cope with panda | 18:52 | |
right now it creates a Makefile, which will be replaced now be Build.pm | 18:53 | ||
jnthn: I think that the biggest missing thing for Perl 6 1.0 might be NFG and shaped Arrays... though I am not 100% sure about what really needs to go in | |||
and yeah, such a tricolore would be awesome | 18:54 | ||
jnthn | FROGGS: Yes, and native arrays. | ||
FROGGS | yeah | ||
that might be it... | |||
ahh, S11 of course, but that seems rather doable | 18:55 | ||
parallelized hypers are also on the features list, but that is just an implementation detail | 18:56 | ||
18:58
darutoko left
18:59
anaeem1_ joined
|
|||
FROGGS | I have to say again how awesome fast perl6@MoarVM is... when I test the modules in star, it has almost finished in the time I open the test output file in my editor... | 19:01 | |
sure, I have to click through some directories, but still :o) | |||
colomon | I think it might be important to have complex vs Complex straightened out, but that should be a pretty easy change, I'd expect. | 19:02 | |
FROGGS | since Complex does what complex should do, right? | 19:03 | |
colomon: btw, it is not really about the implementation, but about the spec | 19:04 | ||
when we do Complex wrong, it is just a bug | |||
colomon | FROGGS: right | ||
FROGGS | we can still have a Perl 6 1.0 spec by then | ||
19:04
jeffreykegler joined,
anaeem1_ left
|
|||
jnthn | Yeah, but it means the "complex" (lower-case) type probably wants to a "will do" for example | 19:04 | |
FROGGS | therefore we need a NFG implementation to see how it works out | ||
19:05
jeffreykegler left
|
|||
colomon | jnthn: "will do"? | 19:07 | |
jnthn | colomon: As in, probably should include in 6.0 | ||
colomon | oh, yes, that's what I was trying to say. :) | ||
jnthn | Especially as the current Complex basically is complex :) | ||
colomon | right | 19:08 | |
masak | so complex! | ||
colomon | and Rakudo's version of Complex from a few years back is probably a good first approximation to the real Complex. | ||
:) | |||
jnthn | masak: *such :P | 19:09 | |
masak | :P | 19:10 | |
BenGoldberg | Is there any convenient way to force integer arithmatic to happen? Let's say I want to divide 5/2, and get two instead of two-and-a-half. And I don't mean rounding afterwards. | ||
colomon | BenGoldberg: div instead of / | 19:11 | |
BenGoldberg | Thanks :) | ||
colomon | m: say 5 div 2 | ||
camelia | rakudo-moar 85bcd7: OUTPUT«2» | ||
masak | fun trivium: the semantics of `div` isn't really "integer division", but "divide according to the type". | 19:14 | |
moritz | but is it defined for anything except integers? | ||
masak | it should me. | ||
be* | |||
moritz | for what? | ||
FROGGS | DateTimes? | 19:15 | |
FROGGS runs | |||
masak | heh. | ||
moritz | could be defined for Duration though | ||
masak | reading S03 made me a bit more confused. | 19:16 | |
dalek | atures: d672c50 | thundergnat++ | features.json: Fixed borken link. |
19:17 | |
colomon | according to S03, infix:<div>, integer division | ||
it is supposed to work for all different kinds of integers | |||
19:18
treehug8_ joined
19:20
treehug88 left
|
|||
FROGGS | wow, IO::Path.contents is so sloooow :( | 19:22 | |
19:26
darutoko joined
19:27
eternaleye left,
darutoko left
19:28
guru joined
19:29
guru is now known as Guest88556,
ajr_ left
|
|||
timotimo | which part of it is so slow? | 19:29 | |
canonpath? | 19:30 | ||
gisting the result? | |||
19:30
Guest88556 is now known as ajr_
|
|||
timotimo | surely not iterating the files on the low level | 19:30 | |
19:34
treehug88 joined,
eternaleye joined
19:36
treehug8_ left
19:40
REPLeffect left
19:45
anaeem1 joined,
anaeem1 left
19:50
anaeem1 joined,
anaeem1 left
|
|||
timotimo | can haz good news? | 20:11 | |
[Coke] | timotimo: sure: tonight is opening night! | 20:12 | |
20:13
kivutar left
|
|||
timotimo | opening of what? | 20:14 | |
masak | gifts! | 20:15 | |
timotimo | froggs, we should include v5 versions of our benchmarks in timing runs, dont you think? :) | ||
well, once it works well enough | |||
PerlJam made a naïve Lingua::ENG::Word2Num today (and sent it to the PetaMem folks) | 20:20 | ||
It's at github.com/perlpilot/p6-Lingua-ENG-Word2Num if anyone wants to improve on it ;) | 20:21 | ||
[Coke] | timotimo: ghentplayhouse.org/Season05Page.html | 20:22 | |
20:24
treehug88 left
|
|||
masak | PerlJam: looking. | 20:25 | |
BenGoldberg | Is there a way to get the evalbot to execute perl6 code from a url? | 20:26 | |
[Coke] | give it a public gist url | 20:27 | |
camelia: ghentplayhouse.org/Season05Page.html | |||
masak | PerlJam: that's beautiful. | 20:28 | |
[Coke] | r: gist.github.com/coke/0cdeeb0363d0fd2464d6 | ||
camelia | rakudo-{parrot,jvm,moar} 85bcd7: OUTPUT«gist not found» | ||
20:28
treehug88 joined
|
|||
[Coke] | Oh. recent github gist changes have probably broken this feature. | 20:28 | |
PerlJam | masak: I don't think I'd use that word, but it is somewhat functional. I didn't really test it hard though, so I'm sure there are bugs | ||
20:31
anaeem1 joined,
anaeem1 left,
Psyche^_ left
|
|||
masak | PerlJam: I might be positively surprised by Github's color coding for Perl 6 code, which seems to have improved quite a lot lately. | 20:32 | |
20:37
anaeem1 joined
|
|||
jnthn | PerlJam++ | 20:40 | |
timotimo | masak, that was hoelzro | 20:43 | |
hoelzro++ for good measure and syntax highlighting | 20:44 | ||
masak | indeed, hoelzro++ | 20:45 | |
20:48
treehug88 left
|
|||
BenGoldberg | r: constant primes = 2, 3, do { my $i = 1; my $p = primes[$i]; my $q = $p * $p; my %s; grep -> $n { if ( %s{$n}:delete ) -> @c { push %s{ $n + $_ } for @c; False; } elsif ( $n < $q ) { True; } else { my \twop = $p * $p; push %s{ $q + twop }, twop; $p = primes[ ++$i ]; $q = $p * $p; False; } }, 5, 7 .. Inf;}; say primes[999 .. 1009]; | 20:51 | |
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!===Cannot invoke null object» | ||
..rakudo-jvm 85bcd7: OUTPUT«===SORRY!===java.lang.NullPointerException» | |||
..rakudo-parrot 85bcd7: OUTPUT«===SORRY!===Could not find sub &primes» | |||
20:51
sorear left
|
|||
masak | huh. | 20:53 | |
maybe try with binding rather than assignment? | |||
BenGoldberg | You mean := instead of = ? | ||
masak | yes. | 20:54 | |
(but clearly something is wrong with the above output already.) | |||
20:54
rurban left
|
|||
BenGoldberg | Same error | 20:54 | |
21:05
bluescreen10 left,
sorear joined
|
|||
colomon | sorear! \o/ | 21:08 | |
masak | sorear! \o/ | 21:09 | |
BenGoldberg: think you could golf that? | |||
21:09
sorear left
|
|||
BenGoldberg | It was a pita to type it in the first place, I don't have perl6 installed; I wrote it using codepad.org, then had to remove the newlines | 21:10 | |
Now, if I could give the eval bot a url, I'd be fine. I can use git... but apparently that's down. | 21:11 | ||
Or, the bot doesn't see git pastes right, at present... | 21:12 | ||
moritz | r: constant primes = 1, 2 , { primes[0]; 3 } ... 3; say primes | ||
camelia | rakudo-{parrot,jvm,moar} 85bcd7: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '&primes' is not declaredat /tmp/tmpfile:1------> constant primes = 1, 2 , { ⏏primes[0]; 3 } ... 3; say primes» | ||
moritz | that seems to be the essence | ||
except that the example above somehow manages to circumvent the compile-time error message | 21:13 | ||
21:15
sorear joined
|
|||
BenGoldberg | r: constant primes := 2 , 3, do { my $p = primes[1]; grep { rand < .5 }, 5, 7 ... 99 }; say primes[10] | 21:16 | |
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!===Cannot invoke null object» | ||
..rakudo-jvm 85bcd7: OUTPUT«===SORRY!===java.lang.NullPointerException» | |||
..rakudo-parrot 85bcd7: OUTPUT«===SORRY!===Could not find sub &primes» | |||
BenGoldberg | golfed, I think. :) | ||
21:17
xinming_ left,
xinming joined
|
|||
BenGoldberg | r: constant primes := 2 , 3, do { my $p = primes[1]; 2 }; say primes[10] | 21:17 | |
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!===Cannot invoke null object» | ||
..rakudo-jvm 85bcd7: OUTPUT«===SORRY!===java.lang.NullPointerException» | |||
..rakudo-parrot 85bcd7: OUTPUT«===SORRY!===Could not find sub &primes» | |||
vendethiel | BenGoldberg are you looking for ... :P ? | 21:18 | |
BenGoldberg | Well, I might need ... instead of .. but the important thing at present is that I'd like to be able to define a constant lazy list in terms of itself. | 21:20 | |
21:22
SevenWolf joined
|
|||
retupmoca | r: my @foo = 1, 2, { @foo[0] } ... *; say @foo[1]; say @foo[75]; | 21:32 | |
camelia | rakudo-{parrot,jvm,moar} 85bcd7: OUTPUT«21» | ||
retupmoca | r: my \foo = 1, 2, { foo[0] } ... *; say foo[1]; say foo[75]; | ||
camelia | rakudo-{parrot,jvm,moar} 85bcd7: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileVariable '&foo' is not declaredat /tmp/tmpfile:1------> my \foo = 1, 2, { ⏏foo[0] } ... *; say foo[1]; say foo[75];» | ||
21:38
Rotwang left
21:41
itz left
21:46
anaeem1 left
21:49
kaare_ left
21:54
xenoterracide_ left
22:01
lizmat joined
22:08
molaf left
22:24
BenGoldberg left
|
|||
timotimo | i have a use case for a combine_latest supply op | 22:26 | |
does that mean i should implement it? :) | |||
tadzik | tag, you're it! | 22:27 | |
22:29
dmol left
|
|||
jnthn | timotimo: Perhaps, but...did you try seeing if you can write it with "on" first? | 22:30 | |
timotimo | oh, i may be able to. | 22:32 | |
is that in the specss | |||
vendethiel | blog, you're it :P ! | ||
timotimo | ? | ||
jnthn | should be | 22:33 | |
We implement loads of other things in terms of it too | |||
timotimo | i'm now experiencing what happens when we throw an exception in a callback :) | ||
i didn't find it in the synopsis 17 yet | |||
22:38
virtualsue left
|
|||
timotimo | bleh. i'm trying to connect the toggled event of a toggle_button or a check_button and they don't seem to fire :\ | 22:41 | |
oh | |||
i was wrong. never mind me :) | |||
jnthn doesn't mind timo | 22:42 | ||
timotimo | huh. | 22:49 | |
how do i ... | |||
m: class T is rw { has $.status }; " and ".join: (T.new(:status), T.new(:!status)).map: { $_ ?? "on" !! "off" } | 22:50 | ||
camelia | ( no output ) | ||
timotimo | m: class T is rw { has $.status }; say " and ".join: (T.new(:status), T.new(:!status)).map: { $_ ?? "on" !! "off" } | ||
camelia | rakudo-moar 85bcd7: OUTPUT« and » | ||
timotimo | i don't understand this. | ||
m: class T is rw { has $.status }; say ((T.new(:status), T.new(:!status)).map: { $_ ?? "on" !! "off" }).perl | |||
camelia | rakudo-moar 85bcd7: OUTPUT«("on", "on").list» | ||
timotimo | oh! | ||
silly me :) | |||
colomon is watching jnthn give a talk and eating mapo doufu. life is good. | 22:51 | ||
vendethiel | (what talk ?) | ||
(or "which"*) | 22:52 | ||
timotimo | what's the most readable way to get the .status of two objects (Boolean objects) and turn a boolean into "on" or "off" and join it with "and" | 22:56 | |
? | |||
<off on filenotfound>[($foo, $bar)>>.status].join(" and ") is not too pretty, IMO. | 22:57 | ||
colomon | vendethiel: invokedynamic | 22:59 | |
timotimo | $status_label.text = "the toggles are " ~ | ||
(($check_button, $toggle_button) ==> map { <off on>[$_.status] } ==> join " and "); | |||
flussence | hm, we can't do a Qt::Simple because it's C++, right? I'm tempted to mess around with EFL... | 23:03 | |
colomon | m: enum Result <off on filenotfound>; my Result $r = Result::on; say "$r"; | 23:05 | |
camelia | rakudo-moar 85bcd7: OUTPUT«on» | ||
colomon | m: enum Result <off on filenotfound>; my Result $r = 1; say "$r"; | 23:09 | |
camelia | rakudo-moar 85bcd7: OUTPUT«Type check failed in assignment to '$r'; expected 'Result' but got 'Int' in block at /tmp/KSEpOHVvt5:1» | ||
colomon | m: Int enum Result <off on filenotfound>; my Result $r = 1; say "$r"; | 23:10 | |
camelia | rakudo-moar 85bcd7: OUTPUT«===SORRY!=== Error while compiling /tmp/oLAFAZ_opVTwo terms in a rowat /tmp/oLAFAZ_opV:1------> Int ⏏enum Result <off on filenotfound>; my Re expecting any of: postfix infix stopper…» | ||
colomon | m: my Int enum Result <off on filenotfound>; my Result $r = 1; say "$r"; | 23:11 | |
camelia | rakudo-moar 85bcd7: OUTPUT«Type check failed in assignment to '$r'; expected 'Result' but got 'Int' in block at /tmp/F6j0pLB7sn:1» | ||
colomon | m: enum Result <off on filenotfound>; my Result $r = Result(1); say "$r"; | ||
camelia | rakudo-moar 85bcd7: OUTPUT«on» | ||
23:12
Mouq joined
|
|||
Mouq | o/ | 23:13 | |
yoleaux | 5 May 2014 07:26Z <lizmat> Mouq: should List.rotor(1,0) not be just { self } ? | ||
5 May 2014 07:26Z <lizmat> Mouq: and could you also transmogrify the S17-supply/rotor.t tests to handle List.rotor ? | |||
Mouq | Oh geez :( | ||
I've been busy with school and my laptop stopped working two weeks ago | |||
.ask lizmat I really kind of can't add tests for List.rotor at the moment :( And yes, List.rotor(1,0) should be { self } | 23:15 | ||
yoleaux | Mouq: I'll pass your message to lizmat. | ||
Mouq | Well, .tell, I suppose | ||
23:17
thou left
|
|||
Mouq | I suppose I can edit on github... | 23:19 | |
dalek | kudo/nom: b05edf7 | (Alexander Moquin)++ | src/core/List.pm: List.rotor(1,0) should be { self } |
||
timotimo | flussence: i think efl is pretty cool, though i have never used it myself | ||
Mouq cringes just a little, is glad that commit came out like he wanted it\ | 23:20 | ||
timotimo | hey Mouq | ||
sorry to hear about your tech trouble :( | |||
Mouq | hey timotimo! | ||
timotimo | colomon: i like the enum trick, thanks! | 23:21 | |
Mouq | It's alright, I shouldn't be on much anyway; have to start tying things up before graduation :) | ||
Some thoughts, though: | 23:22 | ||
Could we add a warning for `say :named`? | |||
timotimo | i wonder how i could >>. that enum coercion :\ | ||
probably can't. bummer! | |||
Mouq | "Named parameter "named" passed to &say. Please use parens if you meant to pass a Pair | ||
" | |||
Just because `say :$var` happens so often | 23:23 | ||
timotimo | mhh, probably could | ||
Mouq | Also, not a new thought, but the error for | ||
m: ~Any | |||
camelia | rakudo-moar 85bcd7: OUTPUT«use of uninitialized value of type Any in string context» | ||
Mouq | Really should have a backtrace | 23:24 | |
flussence | agreed, that was giving me a headache this week :( | ||
colomon | +1 | ||
Mouq | And, IMO, a full backtrace, because perl5's use of only one line # causes headaches when using someone else's lib(s) | ||
colomon | Mouq: I'm happy to say I just rebuilt rakudo and it appears to be working fine after your patch. :) | 23:25 | |
(still be working fine, I mean) | |||
Mouq | And finally, method EXPR in HLL.nqp could use some loop labels; someone should see if that makes it run any faster. Obviously if it doesn't, we should probably leave it be, although FROGGS+++ anyway :) | 23:26 | |
timotimo | it has a backtrace on our other backends and i agree it should have one on moar, too | ||
Mouq | Yay! colomon++ | ||
timotimo: oh? | |||
p: ~Any | |||
camelia | rakudo-parrot 85bcd7: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/jLTJmKaR9Y:1» | ||
colomon has done the commit in github without compiling thing before, and even when very safe it is scary. | 23:27 | ||
timotimo | are we so used to moar being the awesomest back-end that we assume everything missing in moar is missing everywhere else, too? :) | ||
Mouq | p: sub blabla ($_) { ~$_ }; blabla Any | ||
camelia | rakudo-parrot 85bcd7: OUTPUT«use of uninitialized value of type Any in string context in sub blabla at /tmp/6D1rehTi6l:1» | ||
Mouq | timotimo: Mayhaps :) | ||
timotimo++ for keeping up with p6weekly :) | 23:28 | ||
FROGGS++ for the release | |||
timotimo | thanks :) | ||
i've even gotten back into doing helpful things | 23:29 | ||
i've taken care of gtk-simple for a bit | |||
and improved nativecall callback handling on moarvm | |||
Mouq | timotimo++ for gtk-simple too, can't wait to try it out :) | ||
*gtk-simple love | |||
timotimo | yeah, jnthn is responsible for most of the awesome there | ||
Mouq | lizmat++ for continuing to be a commit ninja | 23:30 | |
timotimo | yes! | ||
Mouq | jnthn++, nwc10++, and (all the awesome people I missed)++ | 23:33 | |
That's it for tonight, nice work guys! \o #perl6 | 23:35 | ||
23:35
Mouq left
23:50
btyler left
|