Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-06-08

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 flussence seems like doing those 16 .substr calls per iteration is taking up 25% of the execution time, which is unfortunate.
00:01 colomon flussence: can you show me the code?
00:01 flussence https://gist.github.com/flussence/5732972
00:03 colomon thanks
00:05 timotimo i fixed it!
00:06 colomon looking at it, it seems to me that the argumentless comb is a pretty good candidate to be recoded at a lower level.
00:07 colomon btw, that's more than 16 substr calls
00:07 colomon r: say 0xFF - 0xA1
00:07 camelia rakudo b2072f: OUTPUT«94␤»
00:07 colomon it's 94 of them
00:07 flussence it's 16 when I do that manual method a few lines above
00:09 colomon oh, yes, I see
00:11 colomon flussence: so the point of this test is just that is pure does cause Rakudo to hoist the calls out of the loop?
00:12 flussence that's what I was looking at, seems it did nothing though
00:13 colomon flussence: did you have reason to suspect it would work?  I haven't heard anything about is pure optimizations, though I would be delighted if some of them were in there...
00:13 flussence nah, was just curious
00:14 xilo joined #perl6
00:14 xilo_ joined #perl6
00:19 timotimo tadzik: i made it work. turns out i have to be more careful where i replace .IO.copy with .dir.path.copy or with .Str.path.copy
00:32 LV joined #perl6
00:36 timotimo tadzik: i was able to make it work, apparently
00:39 benabik joined #perl6
00:40 dalek roast: e4ed324 | (Solomon Foster)++ | S02-types/keybag.t:
00:40 dalek roast: Added basic .KeyBag tests.
00:40 dalek roast: review: https://github.com/perl6/roast/commit/e4ed324781
00:41 thou joined #perl6
00:43 colomon jnthn++ # just found a use for git add -p
00:44 dalek niecza: eaf57ce | (Solomon Foster)++ | lib/CORE.setting:
00:44 dalek niecza: Add .Set, .KeySet, .Bag, and .KeyBag.
00:44 dalek niecza: review: https://github.com/sorear/niecza/commit/eaf57ce7e6
00:45 xinming joined #perl6
00:47 tadzik timotimo: awesome :)
00:48 colomon tadzik: what's the current status of panda?
01:04 fgomez joined #perl6
01:06 fgomez joined #perl6
01:07 cognominal joined #perl6
01:08 fgomez joined #perl6
01:13 anuby joined #perl6
01:15 hypolin joined #perl6
01:42 telex joined #perl6
02:09 lustlife joined #perl6
02:17 bonsaikitten joined #perl6
02:22 btyler joined #perl6
02:28 `patch` howdy *! how would one translate this? require "Acme/$name.pm"; my $func = \&{"Acme::${name}::func"}; $func->();
02:34 colomon First bit is    require ::("Acme/$name.pm");
02:34 colomon (I think)
02:35 SamuraiJack joined #perl6
02:36 flussence star: my $name = 'Tiny'; require ::("lib/JSON/$name"); # assuming it's in this path...
02:36 camelia star 2013.02: OUTPUT«Could not find lib/JSON/Tiny in any of: /home/p6eval/star/lib/parrot/4.​10.0/languages/perl6/site/lib, /home/p6eval/star/lib/parrot/4.1​0.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot​/4.10.0/languages/perl6/lib, /home/p6eval/.perl6/2013.02.1/lib␤  in any …
02:37 flussence star: use JSON::Tiny; my $func = &(JSON::Tiny::to-json); say $func.perl;
02:37 camelia star 2013.02: OUTPUT«Could not find symbol '&to-json'␤  in method <anon> at src/gen/CORE.setting:10522␤  in  at src/gen/Metamodel.pm:2488␤  in any find_method_fallback at src/gen/Metamodel.pm:2476␤  in any find_method at src/gen/Metamodel.pm:925␤  in  at src/gen/BOOTSTRAP.pm:883␤  in an…
02:38 flussence star: use JSON::Tiny; my $func = &("JSON::Tiny::to-json"); say $func.perl;
02:38 camelia star 2013.02: OUTPUT«"JSON::Tiny::to-json"␤»
02:38 flussence star: use JSON::Tiny; my $func = &(JSON::Tiny::{"to-json"}); say $func.perl;
02:38 camelia star 2013.02: OUTPUT«Any␤»
02:38 flussence well at least that's not a syntax error...
02:39 flussence star: use JSON::Tiny; my $func = &JSON::Tiny::{"to-json"}; say $func.perl;
02:39 camelia star 2013.02: OUTPUT«Any␤»
02:39 flussence star: use JSON::Tiny; my $func = JSON::Tiny::&{"to-json"}; say $func.perl;
02:39 camelia star 2013.02: OUTPUT«all({"Actions" => JSON::Tiny::Actions, "Grammar" => JSON::Tiny::Grammar, "EXPORT" => EXPORT}, Block.new())␤»
02:40 flussence star: use JSON::Tiny; say JSON::Tiny.^methods
02:40 camelia star 2013.02: OUTPUT«No such method 'methods' for invocant of type 'Perl6::Metamodel::ModuleHOW'␤  in block  at /tmp/Ws5j3ZGC9P:1␤␤»
02:40 flussence star: use JSON::Tiny; say JSON::Tiny.perl
02:40 camelia star 2013.02: OUTPUT«JSON::Tiny␤»
02:44 FROGGS joined #perl6
02:48 flussence r: say Perl6::Metamodel.^methods # ...that's a new one :D
02:48 camelia rakudo b2072f: OUTPUT«Could not find symbol '&Metamodel'␤  in method <anon> at src/gen/CORE.setting:10166␤  in any  at src/gen/Metamodel.nqp:2504␤  in any find_method_fallback at src/gen/Metamodel.nqp:2492␤  in any find_method at src/gen/Metamodel.nqp:939␤  in block  at /tmp/w2akFsQf5N:…
02:48 flussence well that's weird, I got a completely different message in the repl
02:49 flussence ("Error while compiling block [...]  Null PMC access in find_method('handle')")
02:49 `patch` colomon, flussence: i'm trying to dynamically load a module that includes the value of a variable in its name and export a function.
02:49 `patch` so it doesn't need to be a literal translation of the p5 example.
02:50 flussence yeah, I kinda understand what you're asking for, just not how to make it work :)
02:51 colomon `patch`: http://perlcabal.org/syn/S1​1.html#Runtime_Importation is the area in the spec you want to be looking, I think, but it's something I've never tried to do before.
02:52 `patch` thanks, i'll take a look.  i imagine it's possible that this is not implemented, eh?
02:53 colomon `patch`: you can definitely dynamically load a module that includes the value of a variable in its name, but I don't know if you can also export a function or not.
02:57 lue flussence: have you tried that line in perl6 -e ? I get the same message as camelia.
02:58 lue (I'm still distrustful of the REPL because I've not seen talk of it being improved since I was warned of it)
02:58 sorear good * #perl6
02:59 flussence oh, does the same there
02:59 lue hello sorear o/
02:59 flussence maybe it's because I'd been poking at it for a few lines prior...
03:00 `patch` star: use JSON::Tiny; my $func ::= JSON::Tiny::<&to-json>; say $func.perl;
03:00 camelia star 2013.02: OUTPUT«Any␤»
03:01 sorear lueee
03:03 dalek v5: 2baf71d | (Tobias Leich)++ | / (2 files):
03:03 dalek v5: added is_miniperl { 0 }
03:03 dalek v5: review: https://github.com/rakudo-p5/v5/commit/2baf71d876
03:03 dalek v5: 0cda4dc | (Tobias Leich)++ | lib/Perl5/ (2 files):
03:03 dalek v5: added STDIN, STDOUT, STDERR
03:04 dalek v5: review: https://github.com/rakudo-p5/v5/commit/0cda4dc8f3
03:04 dalek v5: b50fc7c | (Tobias Leich)++ | / (4 files):
03:04 dalek v5: sort of supporting indirect object syntax for barewords
03:04 dalek v5: review: https://github.com/rakudo-p5/v5/commit/b50fc7cbea
03:06 FROGGS joined #perl6
03:07 sorear o/ FROGGS
03:09 japhb_ joined #perl6
03:09 diakopter o/
03:09 FROGGS o/
03:10 japhb_ Sheesh.  Hotel wifi is awful.  I wonder if the $10/night price for upgraded Internet is to pay for it not dropping you ....
03:11 sorear It still has to drop you to make sure you're paying
03:12 japhb_ Yeah, but maybe not ever couple hours all day ...
03:12 japhb_ *every
03:14 `patch` colomon, flussence: i could do something like this instead - https://github.com/perl6/DBIish​/blob/master/lib/DBIish.pm6#L15
03:15 flussence eval - the solution|cause for a lot of hard problems...
03:18 preflex_ joined #perl6
03:19 `patch` as in perl 5!  except i know better how to avoid eval there.
03:20 dalek doc: eb14a4f | (Ben Tyler)++ | lib/operators.pod:
03:20 dalek doc: Fix 'X' operator example.
03:20 dalek doc: review: https://github.com/perl6/doc/commit/eb14a4f5c6
03:22 stevan_ joined #perl6
03:23 rurban joined #perl6
03:28 sorear so once we have JAST, we call .dump on it, parse it, disassemble the bytes into operations, and pass the operations to asm to be immediately reassembled?
03:34 JimmyZ joined #perl6
03:48 FROGGS would this make sense?  my $x = async heavy_operation(); do_something_while_it _computes(); say $x # which would wait until the thread finished... (like join)
03:48 FROGGS so that async is some sort of prefix like eager
03:48 FROGGS (or eval)
03:48 cooper joined #perl6
03:48 TimToady if not, it'd probably be easy to write it in terms of gather/take and async
03:49 flussence I'd rather call it "bg" :)
03:49 TimToady postfix:<&>  :)_
03:49 FROGGS bubblegum? :o)
03:49 FROGGS hehe
03:49 TimToady hmm, I seem to be drooling...
03:50 lue .oO(&foo()&;)
03:53 eternaleye FROGGS: Or 'future'
03:53 eternaleye FROGGS: That's *really* reminiscent of 'futures' in other languages.
03:57 FROGGS how does it get evaluated? lazy, eager, asynchronous... but not 'futures'
03:58 * lue almost feels there should be a corresponding C<sync> word for symmetry.
03:58 FROGGS :o)
03:58 TimToady well, 'sync' is just 'do'
03:59 FROGGS lue: if there would be an 'is async' trait on a sub for example, the negation of it would make sense, ya
03:59 TimToady FROGGS: why do you always wear a clown nose in your smiley?
03:59 FROGGS but, 'do' gets the right meaning
03:59 FROGGS has*
03:59 FROGGS TimToady: it is just a normal (maybe a bit bigger) nose
04:00 TimToady but you don't have a really big nose in person, that I noticed...
04:00 FROGGS :) <-- I dont like having no nose
04:00 TimToady maybe we can find you a better nose in Unicode somewhere...
04:00 FROGGS hehe
04:00 FROGGS some sort of middo
04:00 FROGGS middot*
04:00 lue .oO(Scavenger hunt!)
04:01 FROGGS .u nose
04:01 yoleaux U+2FD0 KANGXI RADICAL NOSE [So] (⿐)
04:01 yoleaux U+1F43D PIG NOSE [So] (🐽)
04:01 yoleaux U+1F443 NOSE [So] (👃)
04:01 shachaf http://themindi.blogspot.com/2007/0​2/chapter-2-on-having-no-head.html
04:01 FROGGS :·)
04:01 lue :🐽) (I can't see the pig nose either)
04:02 FROGGS me neither
04:02 sorear I can
04:02 * benabik can
04:02 TimToady :•)
04:02 shachaf :☺)
04:02 lue ... well. Time to find some more fonts.
04:02 FROGGS :˒)
04:03 TimToady :◃)
04:05 FROGGS :᚜)
04:05 FROGGS hmmm, no
04:05 lue :∘)
04:05 FROGGS that is not bad
04:06 FROGGS :ɔ)
04:06 FROGGS :ᴖ) <--- I like that one
04:07 FROGGS it has something 3dish
04:07 FROGGS it has something 3d-ish
04:09 shachaf ꙮ)
04:10 FROGGS iiinterresting
04:10 sorear hmm.  seems that JAST isn't currently making any attempt to scope locals narrower than the entire method?
04:11 FROGGS sorear: I cant help you there
04:11 TimToady well, Java doesn't really believe in anything except methods
04:13 lizmat joined #perl6
04:13 sorear o/ lizmat
04:13 lizmat hi sorear!
04:13 lizmat just checking mail before going to bed  :-)
04:14 TimToady lizmat: er, this isn't mail :)
04:15 lizmat ah, yes… but whenever I get a network connection, my IRC client logs in...
04:15 lizmat sorear spotted that, otherwise nobody would have known  :-)
04:26 Psyche^ joined #perl6
04:48 Khisanth joined #perl6
04:51 SamuraiJack joined #perl6
04:52 dalek roast: 513694b | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
04:52 dalek roast: Fix comments on combined adverb tests and add whatever combined adverb tests
04:52 dalek roast: review: https://github.com/perl6/roast/commit/513694bde8
04:53 lizmat night #perl6!
04:54 btyler joined #perl6
04:59 sqirrel joined #perl6
05:05 btyler joined #perl6
05:07 rurban joined #perl6
05:11 dalek nqp: 4fa7d88 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp​/jast2bc/JASTToJVMBytecode.java:
05:11 dalek nqp: Generate local variable annotations
05:11 dalek nqp: review: https://github.com/perl6/nqp/commit/4fa7d88eb8
05:24 btyler joined #perl6
05:26 sorear r: my $*BLOCK = "moof"; eval 2
05:26 camelia rakudo b2072f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'eval' will never work with argument types (int) (lines 1, 1)␤    Expected any of:␤    :(Str $code, :lang(:$lang) = { ... }, PseudoStash :context(:$context))␤»
05:26 sorear r: my $*BLOCK = "moof"; eval "2"
05:26 camelia rakudo b2072f:  ( no output )
05:31 gdey joined #perl6
05:33 Khisanth joined #perl6
05:42 shachaf joined #perl6
05:53 Khisanth joined #perl6
06:02 JimmyZ joined #perl6
06:08 rurban joined #perl6
06:27 lustlife joined #perl6
06:30 eternaleye FROGGS: Sorry for taking so long, but futures and promises can be thought of as 'handles' to asynchronous computation. In C++, for instance, a future gives you a promise, which you get the value from like joining a thread, an the default implementation is done with a thread pool.
06:32 eternaleye FROGGS: Examples: http://www.justsoftwaresolutions.co​.uk/threading/multithreading-in-c++​0x-part-8-futures-and-promises.html
06:33 eternaleye rough p6ification: Future[Int] answer = async do_foo(); other_stuff(); say answer.get() # Returns Int
06:35 eternaleye I read this as "async do_foo will give me an Int in the Future. In the meantime, I'll do other_stuff, then wait until I get the answer"
06:36 cognominal joined #perl6
06:40 xinming joined #perl6
06:43 eternaleye Actually, a parameterized Future role as the return value of async might work pretty well.
06:56 cognominal TimToady: thanks you about the explanation of "good tidings"
06:56 tomyan joined #perl6
06:58 cognominal s/about/for/
06:58 preflex joined #perl6
06:59 cognominal good|glad
07:11 rurban joined #perl6
07:12 lustlife` joined #perl6
07:32 s1n joined #perl6
07:33 dmol joined #perl6
07:51 dmol1 joined #perl6
08:12 rurban joined #perl6
08:48 timotimo good * #perl6
08:58 diakopter o/
08:59 JimmyZ \0/
09:00 tadzik cognominal: I didn't touch it since the yapc I think
09:03 timotimo tadzik: now you have the opportunity to do so, with some really nice patches :3
09:03 timotimo (i hope the old copy method has been introduced already in the current compiler release?)
09:03 timotimo star: "foo".path.copy
09:03 camelia star 2013.02: OUTPUT«No such method 'copy' for invocant of type 'IO::Path'␤  in block  at /tmp/lVY26IP90S:1␤␤»
09:03 timotimo hm, that's unfortunate
09:05 PacoAir joined #perl6
09:14 rurban joined #perl6
09:17 cognominal takzik: ok
09:18 cognominal http://www.youtube.com/watch?feature=pl​ayer_embedded&amp;v=Kq5hmbjaBFk#t=936s   what is the Perl 6 way to write an "historically correct pirate"?
09:19 cognominal "historically correct", this is giving short shrift to corsaires and the like.
09:21 cognominal one would need a given/when to write a really historically correct pirate
09:35 spider-mario joined #perl6
09:55 arnsholt o/
10:18 rurban joined #perl6
10:19 flaviusb joined #perl6
10:20 moritz r: 'foo'.path.copy
10:20 camelia rakudo b2072f: OUTPUT«No such method 'copy' for invocant of type 'IO::Path'␤  in block  at /tmp/tMAznmXlwy:1␤␤»
10:37 tgt joined #perl6
10:43 jac50 joined #perl6
10:45 cognominal joined #perl6
10:45 dmol joined #perl6
11:03 rindolf joined #perl6
11:08 raiph joined #perl6
11:09 atroxaper joined #perl6
11:16 woosley1 joined #perl6
11:18 rurban joined #perl6
11:29 flaviusb joined #perl6
11:31 stevan_ joined #perl6
11:34 daniel-s joined #perl6
11:38 moritz r: 42.foo
11:38 camelia rakudo b2072f: OUTPUT«No such method 'foo' for invocant of type 'Int'␤  in block  at /tmp/TUsKPERg8d:1␤␤»
11:41 moritz in java code for nqp-jvm, how do I get a class name as a string?
11:41 moritz (for an error message)
11:42 moritz sixmodelobject.st.HOW.name(sixmodelobject) # or so?
11:44 moritz no, complains that it can't find method name
11:47 flaviusb joined #perl6
11:50 snearch joined #perl6
11:54 Chat2300 joined #perl6
11:54 Chat2300 What's up?
12:00 timotimo moritz: could 'foo'.path be missing from the restricted setting?
12:01 moritz timotimo: it's not .path that's missing, but .copy
12:01 moritz and yes, I thought about that too
12:01 moritz and wanted to test it
12:01 timotimo ah
12:01 moritz and found that I only had a rakudo-on-jvm locally :-)
12:01 timotimo should i add it and give it an error message?
12:02 moritz and was annoyed by the error message I got from the jvm-based stuff
12:02 moritz Method 'foo' not found
12:02 moritz why didn't you find it? because it wasn't there. Why don't you tell me so?
12:02 moritz timotimo: rather implement it :-)
12:04 timotimo the restricted setting should be capable of copying things around? what's the semantics it should have?
12:04 timotimo deny every source or destination that's not in /tmp?
12:04 moritz no, not the restricted setting
12:04 moritz the normal one
12:04 moritz or does that have .copy already?
12:04 timotimo it's already implemented in the regular setting
12:04 moritz oh, ok
12:04 moritz then I misunderstood
12:04 moritz then yes, an error in CORE.restricted wouldn't hurt
12:05 timotimo i even turned panda and File::Utils over from .IO.copy to .path.copy so that it wouldn't spit 50 deprecation errors per installed package
12:05 chinaXing joined #perl6
12:06 flaviusb joined #perl6
12:06 tadzik so, is .path.copy in the compiler release?
12:06 timotimo not in the 2013.05 one
12:07 timotimo that's what makes me unhappy about the panda patches
12:07 tadzik I think panda should target the compiler release
12:07 moritz then the patches have to wait 1.5 weeks
12:07 tadzik so I think I'll let the patches collect some dust for now
12:07 moritz that won't kill anybody
12:08 moritz tadzik: maybe just comment on the pull request that you intend to wait
12:08 moritz and why
12:08 tadzik yeah, I'll do that
12:08 tadzik I have some tickets and pull requests to take care of today
12:13 * timotimo wonders if a robot finds kitten implementation in perl6 will be helpful to the community
12:22 rurban joined #perl6
12:28 chinaXing joined #perl6
12:32 timotimo i don't really feel like learning to do ansi escapes properly and portably, though. and i'd prefer not to write a ncurses binding
12:33 timotimo maybe i could write a semi-direct port of blessings, though
12:42 berekuk joined #perl6
12:46 timotimo blessings is actually pretty darn cool
12:47 timotimo r: class Foo { method bark { say "woof" }; method meow { say "meow" } }; my $foo = Foo.new(); import $foo; bark; meow;
12:47 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routines:â�¤    bark used at line 1â�¤    import used at line 1â�¤    meow used at line 1â�¤â�¤Â»
12:47 timotimo hm.
12:50 aborazmeh joined #perl6
12:52 FROGGS see you in a bit from another side of the ocean o/
12:55 timotimo aaw, blessings uses curses :|
13:01 sdo joined #perl6
13:02 sdo hello
13:02 timotimo there already is an ncurses binding!
13:03 Guest1337 joined #perl6
13:03 timotimo it was easy to miss, given that the name doesn't start in Term::
13:04 timotimo wow, nativecall is severely broken on my machine
13:04 timotimo Error while compiling block : Error while compiling block  (source text: "{\n    has int $!setup;\n    has native_callsite $!call is box_target;\n    \n    method postcircumf..."): Error while compiling block postcircumfix:<( )> (source text: "{\n        unless $!setup {\n            my Mu $arg_info := param_list_for($r.signature);\n         ..."): Error while compiling op p6typecheckrv: Error while compiling op lexotic: Error while compiling op ...
13:04 timotimo ... p6decontrv: Error while compiling op nativecall: Error while compiling op p6decont: No registered operation handler for 'p6decont'
13:05 JimmyZ timotimo: you're using moarvm?
13:05 timotimo no, this is parrot
13:05 timotimo i wouldn't expect moarvm to be able to do moarvm at all yet
13:09 timotimo could it be that p6decont has been replaced by p6decontrv or something?
13:12 timotimo hm, that just gives me Can not get attribute '$!list' declared in class 'Capture' with this object for each and every single test file :(
13:16 tomyan joined #perl6
13:17 lizmat joined #perl6
13:21 moritz that would explain why so many modules have broken dependencies on http://71.10.146.50:3001/report
13:22 timotimo whoooaa, that's pretty
13:22 colomon moritz: maybe.  But right now every error is reported as prerequisites failed because panda's error reporting is broken.
13:23 timotimo not just me, then. sounds good.
13:23 rurban joined #perl6
13:24 moritz colomon: oh :(
13:24 * tadzik is on it
13:24 colomon I mean, it might explain why so many errors are happening ... I think we're still getting about fifteen more than we were a week ago.
13:25 pecastro joined #perl6
13:25 colomon moritz: I debugged the issue (surprisingly tricky, then obvious), then reported to tadzik.
13:25 timotimo i'll try to install a Star on my machine.
13:27 tadzik colomon: I don't see any bug reported in panda though
13:27 tadzik I have to rebuild nom now, I was trying to bisect the nqp segfault before
13:28 colomon tadzik: thought I'd reported the issue to you on here.
13:28 flussence that page could use a separate thing for "no tests ran"...
13:29 tadzik colomon: I remember something about Failure, but that's sort of fixed in emmentaler now
13:30 colomon tadzik: the issue is that you deleted the custom "die" statements in several of the modules (building and testing at least, I think), meaning that panda is returning X::AdHoc.  But there was a lot of information stored in X::Panda that's missing from that.
13:30 tadzik aah
13:30 tadzik of course
13:30 flussence .oO( I wish there was a way in META.info to list native libraries as prereqs for nativecall )
13:31 colomon And I'm pretty sure panda internal only checks for X::Panda errors, so (last time I checked) it wasn't registering build or test stage errors.
13:33 colomon My emmentaler patch just made it pay attention to any and all exceptions, reporting them as prereq failures.
13:34 colomon One of the thing X::Panda does is say way stage the error happened in.
13:35 tadzik yes
13:35 tadzik I must've broke it with panda2
13:35 timotimo why are there no tests? ;)
13:39 tadzik heh
13:40 tadzik they don't cover that :) Patches welcome
13:44 flussence oh hey, at least this is reproducable... Compiling lib/NativeCall.pm6␤===SORRY!===␤Error while compiling block : Error while compiling block  (source text: "{\n    has int $!setup...
13:45 * tadzik experiments with Go-style error checking in P6
13:46 rurban joined #perl6
13:46 tadzik not yet sure if want
13:47 rurban left #perl6
13:49 flussence rakudo f19881b broke zavolaj
13:49 flussence fortunately it seems to be a 2 char change in the module...
13:50 lizmat joined #perl6
13:50 flussence (I hope)
13:54 tadzik uh, panda broke smoker in various ways :/
13:55 chinaXing left #perl6
13:56 zakalwe joined #perl6
13:59 woolfy joined #perl6
14:00 tadzik oh, colomon, a question
14:00 tadzik you're probably aware of difftool
14:00 colomon .... aware of diff, anyway
14:01 tadzik you're also probably aware that it's pretty useless for a webpage, as webpages don't use ansi colour codes
14:01 tadzik oh, I mean difftool, from emmentaler
14:01 tadzik so I wondered, would it be helpful to have a module like Term::ANSIColor that also works for HTML colours if needed?
14:01 colomon tadzik: actually, never looked at difftool before!
14:02 tadzik oh. I think it's pretty awesome, but I'm biased :)
14:02 tadzik I have a dream where we can use difftool to poke people on irc directly
14:02 tadzik "hey, colomon, your ABC stopped building"
14:02 colomon tadzik: I was thinking we should add an e-mail contact field to META.info
14:02 tadzik that'd be useful too
14:03 moritz tadzik: or even send e-mails the old-fashioned way
14:03 * moritz way too slow
14:03 colomon fundamentally the same idae
14:03 colomon idae
14:03 colomon idea
14:03 tadzik I think for now we can easily use the github username, as that usually indicates the module maintainer
14:03 colomon just typed idea wrong three times in a row.  :(
14:03 dalek zavolaj: 693b705 | flussence++ | lib/NativeCall.pm6:
14:03 dalek zavolaj: s/p6decont/decont/g
14:03 dalek zavolaj:
14:03 dalek zavolaj: Fix for changes made in rakudo f19881b, gets all but 1 test passing again
14:03 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/693b705031
14:03 flussence timotimo: there you go
14:04 colomon tadzik: I was just thinking it be polite to allow people to opt out.
14:04 tadzik that too
14:04 tadzik details, details :)
14:04 colomon for that matter, I wonder if we could just file an issue for the module on github?
14:04 tadzik that should be possible
14:05 colomon This thinking is probably a bit premature, so far we've had spurious errors on something like 5% of the smoke test runs.
14:05 colomon getting false error reports would probably make people stop paying attention.
14:05 tadzik yeah
14:06 arnsholt flussence++ fixing NativeCall
14:07 colomon arnsholt: are you home?  sorry I didn't properly say goodbye yesterday!  thought you could use the sleep...
14:08 flussence arnsholt: I'm not sure if it's intentional, but t/01-argless.c doesn't flush the last line which causes it to fail
14:10 flussence (though it looks like it's only meant to test that long func names work, so I may go ahead and put a fflush in there, if that's OK...)
14:11 woolfy left #perl6
14:14 flussence heh, there's an article on LWN about language design and a whole chunk of the comments is complaining about how $lang_they_use doesn't have an 0o prefix :)
14:15 moritz rnp: say 0o644
14:15 camelia rakudo b2072f, niecza v24-68-geaf57ce, pugs: OUTPUT«420␤»
14:15 moritz \o/
14:20 flussence there's an interesting thing about return values there - Go allows two function signatures, one for input and one for named return values, and "return;" implicitly returns those.
14:20 raiph joined #perl6
14:21 birdwindupbird joined #perl6
14:21 tadzik implicitly, only if you declare them named
14:21 tadzik like: func (foo int) (ret int) { return; } // ok
14:22 tadzik like: func (foo int) int { return; } // not ok
14:22 tadzik I think
14:22 flussence std: sub a(Int $foo, Str $bar --> Bool $cat, Set $dog) { ... }
14:22 camelia std b29e940: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse signature at /tmp/AnOPu_2nV5 line 1:�------> [32msub a[33m�[31m(Int $foo, Str $bar --> Bool $cat, Set $[0m�Couldn't find final ')'; gave up at /tmp/AnOPu_2nV5 line 1:�------> [32msub a(Int $foo, Str $bar --> Bool $c…
14:22 colomon tadzik++ # difftool
14:24 tadzik colomon: I can has your results.json?
14:24 tadzik I'll compare with my local smoker run, on fixed (hopefully) panda
14:24 colomon is there an easy way to pipe to a gist?
14:25 tadzik App::nopaste probably
14:26 tadzik and App::Nopaste::Service::Gist
14:27 colomon installing...
14:29 colomon ...taking a long time to install...
14:30 timotimo does gist ping people if they are @'ed in the comments of a gist?
14:30 flussence I believe so
14:31 flussence unless they've turned off that part of email notifying
14:31 colomon tadzik: https://gist.github.com/colomon/5735341 # got impatient and uploaded by hand while installing Service::Gist
14:31 tadzik I just installed App:Nopaste too, and the only service I found working was Ubuntu :/
14:32 timotimo gaaah one-line json ;_;
14:32 xilo_ joined #perl6
14:32 tadzik :)
14:32 colomon tadzik: cpan keeps timing out for me.
14:33 flussence argh, I can't get zavolaj to pass that test even with the obvious change - https://gist.github.com/flussence/5735345
14:34 prevost joined #perl6
14:34 woosley1 left #perl6
14:36 xilo_ joined #perl6
14:38 PacoAir joined #perl6
14:39 census joined #perl6
14:54 colomon tadzik: maybe I should set up my smoke test job to difftool the latest results versus the previous and e-mail them to a few of us?
14:54 xilo_ joined #perl6
14:55 tadzik colomon: or just put that on a website/rss
14:55 tadzik colomon: which brings me back to the colouring question
14:55 FROGGS[airport] joined #perl6
14:55 timotimo how inefficient is using FALLBACK?
14:55 FROGGS[airport] o/
14:55 timotimo hey froggs
14:56 census FROGGS[airport] leaving u.s. or arriving home?
14:56 FROGGS[airport] census: waiting for the departure to chicago, and then to berlin
14:57 census i hope you had lots of fun!
14:59 tadzik hmm. Significant time in smoker is spent in P::Ecosystem.flush-states
14:59 tadzik at the end it's at least 10 seconds to write those things to disk
14:59 tadzik for every modul
15:00 timotimo is json slow?
15:01 tadzik json too
15:01 tadzik but I think IO is generally slow
15:03 FROGGS[airport] census: I had
15:04 FROGGS[airport] somehow it I'd like to stay another week, but I really miss wife and kids
15:06 colomon (wife and kids)++
15:06 timotimo what's the sanest way to have a class that has lots and lots of methods, that you could computationally generate rather than type out
15:07 colomon timotimo: generate on the fly or generate once and have forever?
15:07 tadzik timotimo: look at Redis client in our module db
15:07 tadzik it uses such technique
15:09 timotimo colomon: i'm thinking; this is about porting python's blessings module, which has a class with lots and lots of methods like .on_green or .red or .invert or .move_to and they are autogenerated
15:09 timotimo i'm thinking about how i can generate them once, but still make them properly depend on the terminal that's currently in use
15:09 berekuk joined #perl6
15:10 colomon timotimo: I guess I see three possible approaches.
15:10 colomon 1) My standard C++ approach: write a Perl script to generate the class definition(s)
15:11 colomon 2) Simple Perl 6 solution: class contains a hash from "method name" to &code block
15:11 flussence .oO( macros )
15:11 timotimo i don't think macros are powerful enough yet
15:11 colomon 3) Fancy Perl 6 solution; Actually add the methods to the class at run time using meta-object protocol.
15:11 tadzik or in compile-time
15:12 tadzik the old Simple-Redis did that
15:12 tadzik I see it's gone now, for some reason
15:12 TimToady std: sub a(Int $foo, Str $bar --> (Bool $cat, Set $dog) ) { ... }
15:12 camelia std b29e940: OUTPUT«Potential difficulties:â�¤  $cat is declared but not used at /tmp/cocxmMbjFx line 1:â�¤------> [32msub a(Int $foo, Str $bar --> (Bool [33mâ��[31m$cat, Set $dog) ) { ... }[0mâ�¤  $foo is declared but not used at /tmp/cocxmMbjFx line 1:â�¤------> [32msub a(Int [33mâ��[31m$f…
15:12 tadzik https://github.com/slunski/perl6-simple-r​edis/blob/master/lib/Simple/Redis.pm#L31
15:12 timotimo how would i do it at compile-time, if it depends on the TERM environment variable?
15:12 tadzik timotimo: ^
15:12 Khisanth joined #perl6
15:12 TimToady flussence: ^^^
15:13 flussence neat
15:13 TimToady maybe we could relax the return sig to allow commas
15:14 timotimo could probably create a cache that'll be filled at first-use-time; but i'm considering doing the whole work in FALLBACK
15:16 colomon timotimo: is FALLBACK actually implemented?
15:17 timotimo let me try
15:17 colomon redis solution looks pretty good to me...
15:17 timotimo r: class Dog { method FALLBACK($name, *@args) { say "$name, @args[]" } }; Dog.new.bark;
15:17 camelia rakudo b2072f: OUTPUT«No such method 'bark' for invocant of type 'Dog'␤  in block  at /tmp/JX7EHfusWn:1␤␤»
15:17 timotimo aaw :(
15:18 xilo_ joined #perl6
15:18 timotimo how about ^find_method?
15:19 FROGGS[airport] timotimo: maybe use that? rakudo/src/core/Failure.pm:34:    Failure.^add_fallback(
15:19 timotimo r: class Dog { method ^find-method($obj, $name) { -> *@args { say "$name, @args[]" } } }; Dog.new.bark;
15:19 camelia rakudo b2072f: OUTPUT«No such method 'bark' for invocant of type 'Dog'␤  in block  at /tmp/95Xa_ccqT8:1␤␤»
15:20 mtk joined #perl6
15:20 timotimo r: class Dog { }; Dog.^add_fallback(method ($name, *@args) { say "$name, @args[]" }); Dog.new.bark;
15:20 camelia rakudo b2072f: OUTPUT«too few positional arguments: 3 passed, 4 (or more) expected␤  in any add_fallback at src/gen/Metamodel.nqp:2320␤  in block  at /tmp/00xIZnSK8H:1␤␤»
15:20 benabik r: class Dog;  Dog.^add_fallback( sub (*@args) { @args.perl.say }; Dog.bark
15:20 * timotimo looks at the actual code
15:20 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse expression in argument list; couldn't find final ')'â�¤at /tmp/bzhSr4aeMn:1â�¤------> [32mub (*@args) { @args.perl.say }; Dog.bark[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤Â»
15:20 benabik r: class Dog;  Dog.^add_fallback( sub (*@args) { @args.perl.say }); Dog.bark
15:20 camelia rakudo b2072f: OUTPUT«too few positional arguments: 3 passed, 4 (or more) expected␤  in any add_fallback at src/gen/Metamodel.nqp:2320␤  in block  at /tmp/6FluU6dr11:1␤␤»
15:21 tadzik yeah, it takes 40 seconds to flush-states at the end of smoker run
15:21 tadzik that sucks horribly
15:21 timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, method ($name, *@args) { say "$name, @args[]" }); Dog.new.bark;
15:21 camelia rakudo b2072f: OUTPUT«bark, ␤No such method 'postcircumfix:<( )>' for invocant of type 'Bool'␤  in block  at /tmp/MMEkmbdICu:1␤␤»
15:22 FROGGS[airplan2] joined #perl6
15:22 timotimo not quite sure what i was doing there.
15:24 timotimo r: class Dog { }; Dog.^add_fallback(Dog, -> $, $ { True }, method ($name, *@args) { say "$name, @args[]" }); Dog.new.bark;
15:24 camelia rakudo b2072f: OUTPUT«too many positional arguments: 5 passed, 4 expected␤  in any add_fallback at src/gen/Metamodel.nqp:2320␤  in block  at /tmp/e8jWHASBdK:1␤␤»
15:24 timotimo hum.
15:24 timotimo oh
15:25 timotimo r: class Dog { }; Dog.^add_fallback(Dog, -> $, $ { True }, method ($name, *@args) { -> { say "$name, @args[]" } }); Dog.new.bark;
15:25 camelia rakudo b2072f: OUTPUT«too many positional arguments: 5 passed, 4 expected␤  in any add_fallback at src/gen/Metamodel.nqp:2320␤  in block  at /tmp/lxIfJELgnE:1␤␤»
15:25 timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, method ($name, *@args) { -> { say "$name, @args[]" } }); Dog.new.bark;
15:25 camelia rakudo b2072f: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in block  at /tmp/buV4unk793:1␤␤»
15:26 timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, -> $obj, $metname { -> $what { say "$metname, $what" } }); Dog.new.bark(1);
15:26 camelia rakudo b2072f: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in block  at /tmp/c46Rtp5Xvj:1␤␤»
15:26 timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, -> $obj, $metname { -> $what { say "$metname, $what" } }); Dog.new.bark;
15:26 camelia rakudo b2072f: OUTPUT«bark, Dog<-620200314>␤»
15:26 timotimo that's probably the invocant that gets passed
15:26 timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, -> $obj, $metname { method () { say "$metname $obj" } }); Dog.new.bark;
15:26 camelia rakudo b2072f: OUTPUT«bark Dog<-1991546878>␤»
15:26 FROGGS[airplan2] yes
15:26 timotimo great, that's totally workable
15:27 timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, -> $obj, $metname { say "calculating a $metname"; method () { say "$metname $obj" } }); Dog.new.bark; Dog.new.bark;
15:27 camelia rakudo b2072f: OUTPUT«calculating a bark␤bark Dog<2050174342>␤calculating a bark␤bark Dog<444953245>␤»
15:27 timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, -> $obj, $metname { say "calculating a $metname"; method () { say "$metname $obj" } }); my $dog = Dog.new; $dog.bark; $dog.bark;
15:27 camelia rakudo b2072f: OUTPUT«calculating a bark␤bark Dog<970911207>␤calculating a bark␤bark Dog<970911207>␤»
15:27 timotimo so not cached, mhhk
15:30 benabik You could call ^add_method in the fallback.
15:31 colomon perhaps I'm missing something, but it seems to be add_method would be just as easy if not easier, and more likely to be optimizable
15:31 timotimo benabik: can i do that without MONKEY_TYPING?
15:31 benabik timotimo: No idea.
15:31 timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, -> $obj, $metname { say "calculating a $metname"; my Mu $meth = method () { say "$metname $obj" }; Dog.^add_method($metname, $meth); $meth }); my $dog = Dog.new; $dog.bark; $dog.bark;
15:31 camelia rakudo b2072f: OUTPUT«calculating a bark␤bark Dog<-1337613478>␤bark Dog<-1337613478>␤»
15:31 FROGGS[airplan2] you cant add a method to something that got already contrcucted
15:31 timotimo indeed! crazy crazy
15:32 timotimo rakudo disagrees, froggs :3
15:32 FROGGS[airplan2] hmmmm
15:32 FROGGS[airplan2] okay, I think I tried that in nqp
15:33 FROGGS[airplan2] I guess this method will only be available in your unit or so
15:34 colomon FROGGS[airplan2]: I would guess (without having tried either) that you need MONKEY_TYPING to do it via augments, but doing it via the MOP works anywhere.
15:34 Guest1337 joined #perl6
15:34 sorear_ joined #perl6
15:34 sorear_ o/
15:36 FROGGS[airplan2] colomon, I'll test that for Perl5::Terms
15:37 ajr joined #perl6
15:38 colomon \o
15:39 timotimo can i do something else than proto token foo {<...>} and then foo:sym<bar>? i mean does it have to be sym<mumble>?
15:39 sorear[airport] o/ colomon
15:39 dalek std: 6348f35 | larry++ | STD.pm6:
15:39 dalek std: allow multiple return params
15:39 dalek std: review: https://github.com/perl6/std/commit/6348f35d2f
15:41 sqirrel_ joined #perl6
15:42 Kelder joined #perl6
15:55 * TimToady --> airport
15:55 TimToady std: sub a(Int $foo, Str $bar --> Bool $cat, Set $dog ) { ... }
15:55 camelia std b29e940: OUTPUT«[31m===[0mSORRY![31m===[0m�Unable to parse signature at /tmp/xnGqRCxTAh line 1:�------> [32msub a[33m�[31m(Int $foo, Str $bar --> Bool $cat, Set $[0m�Couldn't find final ')'; gave up at /tmp/xnGqRCxTAh line 1:�------> [32msub a(Int $foo, Str $bar --> Bool $c…
15:55 TimToady ENOTYET
15:56 kaare_ joined #perl6
15:56 TimToady afk &
16:00 tgt joined #perl6
16:00 sorear[airport] what does that even mean
16:00 flussence we haven't figured that part out exactly yet :)
16:02 timotimo can i put comments into a < ... > somehow?
16:02 flussence rn: say < #`nope` >
16:02 camelia rakudo b2072f, niecza v24-68-geaf57ce: OUTPUT«#`nope`␤»
16:02 timotimo rn: say << #`(nope) >>
16:02 camelia rakudo b2072f, niecza v24-68-geaf57ce: OUTPUT«#`(nope)␤»
16:03 flussence rn: say « {#`(maybe)} »
16:03 camelia niecza v24-68-geaf57ce: OUTPUT«Use of Nil as a string␤  at /home/p6eval/niecza/lib/CORE.setting line 1384 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 466 (Nil.Str @ 4) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/jYMpXdumQ9 line 1 (mainline @ 5) ␤  at /home/p6eval/…
16:03 camelia ..rakudo b2072f: OUTPUT«␤»
16:03 timotimo rn: sub comment($){}; say << comment("what the hell is going on") a b c >>
16:03 camelia niecza v24-68-geaf57ce: OUTPUT«Potential difficulties:â�¤  &comment is declared but not used at /tmp/hDsu9fuSgz line 1:â�¤------> [32msub comment[33mâ��[31m($){}; say << comment("what the hell is [0mâ�¤â�¤comment("what the hell is going on") a b câ�¤Â»
16:03 camelia ..rakudo b2072f: OUTPUT«comment(what the hell is going on) a b c␤»
16:04 sorear[airport]_ joined #perl6
16:04 sorear[airport]_ nqp: sub foo(*@_, *%_) { }; foo(:a(say(2), say(1))
16:04 camelia nqp: OUTPUT«Confused at line 2, near "foo(:a(say"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
16:04 sorear[airport]_ nqp: sub foo(*@_, *%_) { }; foo(:a(say(2)), say(1))
16:04 camelia nqp: OUTPUT«2␤1␤»
16:04 sorear[airport]_ nqp-jvm: sub foo(*@_, *%_) { }; foo(:a(say(2)), say(1))
16:04 camelia nqp-jvm: OUTPUT«1␤2␤»
16:05 sorear[airport]_ npr: sub foo(*@_, *%_) { }; foo(:a(say(2)), say(1))
16:05 camelia rakudo b2072f, niecza v24-68-geaf57ce, pugs: OUTPUT«2␤1␤»
16:06 sorear[airport]_ niecza explicitly evaluates arguments in source order, nqp-jvm explicitly evaluates all positionals before all named, and I have no idea what {rakudo,nqp-parrot,pugs} are doing
16:07 timotimo tbh, i'd love a quoting adverb that allows comments inside strings
16:07 timotimo well, at least inside shellwords/quotewords
16:07 timotimo that may be the only place it makes sense, regarding whitespace around comments etc
16:08 sorear[airport]_ {"ignored";""}
16:09 PacoAir joined #perl6
16:11 timotimo sorear[airport]_: only as long as semicolon lists are NYI, no?
16:12 sorear[airport]_ timotimo: that's a block, it contains statements.  not a semilist.
16:13 jnthn o/ from the airport
16:14 sorear[airport] o/ jnthn
16:14 timotimo oh, right
16:14 sorear[airport] come to gate 20 if you can.  we have 3 p6people already.
16:15 timotimo hackairthon?
16:15 jnthn sorear[airport]: um, I'm at Dulles :)
16:15 sorear[airport] hackathon in a busy airport?  WHY NOT.
16:15 sorear[airport] jnthn: oh.
16:15 jnthn Got 5ish hour layover here
16:16 jnthn What was the aim of 4fa7d88e?
16:17 colomon airport hackathon!
16:17 sqirrel_ joined #perl6
16:18 jnthn (That is, I don't see it doing anything annotation related, unless I'm missing something...)
16:18 sorear[airport] Oh, was that one for me?
16:18 jnthn sorear[airport]: yes :)
16:19 jnthn sorry, forgot to foo: it
16:19 prammer joined #perl6
16:20 sorear[airport] "annotations" is used in the more general sense
16:20 sorear[airport] that patch fixes the LocalVariables stuff so that jdb can actually find it
16:20 jnthn aha, ok
16:20 jnthn Then I'm fine with it. :)
16:21 sorear[airport] without that, the ++local locals were being generated with a 0..^0 ip range (hence ignored) and the ++arg locals weren't being annotated at all
16:36 timotimo d'oh, the NCurses module doesn't bind tigetstr >_>
16:40 diakopter hm, I don't see labster
16:40 tadzik me neither
16:41 jnthn diakopter: Hope your trip was fine :)
16:41 diakopter didn't fall asleep driving, all the way, anyway
16:42 jnthn That's a good thing.
16:42 jnthn Lot of queues, but I made the flight easily.
16:46 diakopter heading to real texmex
16:46 jnthn :)
16:46 jnthn lunch sounds like a good idea...
16:46 * jnthn goes to find something
16:51 timotimo oh, wow, the terminfo format description format is almost universal, all it needs is a goto or loop m)
17:01 btyler joined #perl6
17:06 itz__ joined #perl6
17:21 colomon joined #perl6
17:21 colomon left #perl6
17:22 colomon joined #perl6
17:27 berekuk joined #perl6
17:27 domidumont joined #perl6
17:36 uuni joined #perl6
17:37 dalek perl6-roast-data: 0106f45 | coke++ | / (4 files):
17:37 dalek perl6-roast-data: today (automated commit)
17:37 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/0106f45446
17:37 colomon rn: say '/foo/bar.txt'.path
17:38 camelia rakudo b2072f: OUTPUT«IO::Path</foo/bar.txt>␤»
17:38 camelia ..niecza v24-68-geaf57ce: OUTPUT«Path</foo/bar.txt>␤»
17:38 colomon rn: say IO::Path.gist
17:38 camelia rakudo b2072f, niecza v24-68-geaf57ce: OUTPUT«(IO::Path)␤»
17:42 dalek rakudo-star-daily: 37b5e9f | coke++ | log/ (5 files):
17:42 dalek rakudo-star-daily: today (automated commit)
17:42 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/37b5e9f0b2
17:43 [Coke] make: *** [NQPP5QRegex.pbc] Segmentation fault
17:44 flussence uh oh, mono 2.10 -> 3 update. I hope my local niecza install survives this...
17:45 uuni left #perl6
17:45 tomyan joined #perl6
17:50 [Coke] I did a git clean of nqp, rebuilt, still segfaulting. (trying to rebuild rakudo)
17:50 [Coke] (this on feather)
17:50 [Coke] trying with master...
17:54 tadzik [Coke]: I got that too :(
17:54 tadzik and so did sorear, I think
17:59 RedditAnalytics o/
17:59 colomon \o
17:59 sqirrel_ joined #perl6
18:00 RedditAnalytics my friend went to the Perl conference and I didn't even know it.  Mike from Fark.com
18:00 tadzik star: '.'.path.WHAT
18:00 camelia star 2013.02:  ( no output )
18:00 tadzik star: '.'.path.WHAT.say
18:00 camelia star 2013.02: OUTPUT«IO::Path()␤»
18:02 timotimo i don't see how to do variadic argument calls using zavolaj; is that possible?
18:04 arnsholt Depends on how variadic you need it to be
18:04 dalek roast: b293ce3 | (Solomon Foster)++ | S02-types/set.t:
18:04 dalek roast: Change .set calls to .Set.
18:04 dalek roast: review: https://github.com/perl6/roast/commit/b293ce30a5
18:04 arnsholt If you just need one (or a few) variants, you can use the is symbol trait to have several versions of the same function
18:05 arnsholt But if client code of your lib needs to be able to pass more or less anything, it's not really possible ATM, I'm afraid
18:05 timotimo aaw
18:06 timotimo it's about the tparm function from ncurses. maybe it will only ever have up to 9 arguments
18:11 arnsholt It does say that portable programs should always use 9 arguments after the format, so you could do that, and make all the non-format parameters optional with a default of 0, or something
18:11 timotimo arnsholt: i could make a multi for that, yes?
18:11 timotimo oh, that sounds sensible; i hope it doesn't barf
18:13 benabik "Portable applications should provide 9 parameters after the format; zeroes are fine for this purpose"  So it shouldn't barf.
18:13 timotimo oh, cool
18:14 [Coke] tadzik: had to do --gen-nqp=master --gen-parrot=master
18:16 arnsholt OTOH, that'll mean you can only pass ints, which may or may not be appropriate
18:21 colomon joined #perl6
18:22 timotimo how do i implement the "errret" part of int setupterm(char *term, int fildes, int *errret);?
18:25 RedditAnalytics joined #perl6
18:28 timotimo arnsholt: thoughts?
18:30 atroxaper left #perl6
18:33 arnsholt timotimo: CArray[int]
18:33 arnsholt And pass in a single-element array
18:47 tomyan joined #perl6
18:51 xilo_ joined #perl6
18:51 shinobicl left #perl6
19:02 btyler joined #perl6
19:20 araujo joined #perl6
19:22 dmol1 joined #perl6
19:45 Guest1337 joined #perl6
19:57 pochi_ joined #perl6
20:00 Guest1337 joined #perl6
20:01 lee_ joined #perl6
20:01 timotimo_ joined #perl6
20:02 bruges joined #perl6
20:04 PerlPilot joined #perl6
20:05 broquain1 joined #perl6
20:05 Ulti so I needed to reverse a string... I came up with "Matt".split('').reverse.join  before bothering to discover its .flip instead :/
20:05 ruoso_ joined #perl6
20:05 bloonix_ joined #perl6
20:05 fgomez_ joined #perl6
20:06 logie_ joined #perl6
20:07 sivoais_ joined #perl6
20:08 tadzik .comb() is the news .split(''):)
20:08 rafl joined #perl6
20:09 shachaf_ joined #perl6
20:09 sergot joined #perl6
20:09 shachaf_ joined #perl6
20:09 odoacre_ joined #perl6
20:10 konundra joined #perl6
20:11 xinming_ joined #perl6
20:11 Ulti tadzik I'd rather golf "Matt".split('').reverse.join down to "Matt".flip ;P is .comb implemented in a tighter way?
20:11 apejens joined #perl6
20:12 Psyche^ joined #perl6
20:12 Ulti seriously though it would be nice if "".reverse kind of failed or gave you a warning
20:13 Ulti "did you really mean to reverse a single item string? maybe you mean .flip"
20:13 Ulti maybe something like    use 5to6warnings
20:14 araujo joined #perl6
20:15 tgt joined #perl6
20:27 sqirrel joined #perl6
20:30 ChanServ joined #perl6
20:30 yoleaux joined #perl6
20:31 ChanServ joined #perl6
20:31 yoleaux joined #perl6
20:31 dpk joined #perl6
20:31 ChanServ left #perl6
20:36 PacoAir joined #perl6
20:36 tomyan joined #perl6
20:55 woolfy joined #perl6
20:55 PacoAir joined #perl6
21:15 adu joined #perl6
21:18 timotimo_ Calling 'internal_setupterm' will never work with argument types (Str, Int, CArray+{IntTypedCArray}) (lines 16, 16) Expected: :(Str $term, Int $fd, CArray+{IntTypedCArray} $error)
21:19 pmurias joined #perl6
21:19 timotimo_ :(
21:27 twigel joined #perl6
21:39 [Coke] windows people - if I want to quote an argument to a command, is "" ok?
21:39 [Coke] (preferred over '') ?
21:40 timotimo_ try q“foobar”
21:46 eternaleye .tell FROGGS Sorry for taking so long, but futures and promises can be thought of as 'handles' to asynchronous computation. In C++, for instance, a future is a container-ish-thing, which you get the value from like joining a thread, and the default implementation is done with a thread pool.
21:46 yoleaux eternaleye: I'll pass your message to FROGGS.
21:46 eternaleye .tell FROGGS Examples: http://www.justsoftwaresolutions.co​.uk/threading/multithreading-in-c++​0x-part-8-futures-and-promises.html
21:46 yoleaux eternaleye: I'll pass your message to FROGGS.
21:46 eternaleye .tell FROGGS rough p6ification: Future[Int] answer = async do_foo(); other_stuff(); say answer.get() # Returns Int
21:46 yoleaux eternaleye: I'll pass your message to FROGGS.
21:46 eternaleye .tell FROGGS I read this as "async do_foo will give me an Int in the Future. In the meantime, I'll do other_stuff, then wait until I get the answer"
21:46 yoleaux eternaleye: I'll pass your message to FROGGS.
21:47 eternaleye .tell FROGGS Actually, a parameterized Future role as the return value of async might work pretty well.
21:47 yoleaux eternaleye: I'll pass your message to FROGGS.
21:54 btyler joined #perl6
21:58 fgomez joined #perl6
22:02 fgomez joined #perl6
22:10 Teratogen joined #perl6
22:15 cognominal joined #perl6
22:25 tomyan joined #perl6
22:30 rurban joined #perl6
22:39 * [Coke] wonders why nqp is writing PIR code to dump parrot config values.
22:48 [Coke] (rather than using parrot-config)
22:53 sorear o/ #perl6
22:57 sivoais joined #perl6
22:59 dalek nqp: 8b2b048 | sorear++ | src/vm/jvm/runtime/org/perl6​/nqp/runtime/CallFrame.java:
22:59 dalek nqp: Fix a comment fossil
22:59 dalek nqp: review: https://github.com/perl6/nqp/commit/8b2b048f16
23:02 _jaldhar joined #perl6
23:16 benabik joined #perl6
23:16 sorear .ask jnthn Would significant changes to ResumeState.java be acceptable?  It *looks* currently unused...
23:16 yoleaux sorear: I'll pass your message to jnthn.
23:16 sorear o/ benabik
23:17 benabik o/ sorear
23:18 colomon \o sorear, you home?
23:20 sorear colomon: layover.  PHX.
23:20 lizmat o/ sorear!
23:20 sorear with very good wifi
23:20 sorear o/ lizmat!
23:20 * sorear is a little disappointed by the above "commit flood"
23:20 lizmat we are trying to figure out how to fit all of our goodies in our bags
23:21 lizmat more commits from me coming  :-)
23:21 colomon \o/
23:21 colomon lizmat++
23:21 xilo_ joined #perl6
23:22 sorear lizmat: you two still in Austin?
23:22 lizmat sorear: yes, did some more shopping after dropping you folks off at Austin Airport
23:23 lizmat Waterloo records was too good a place to pass up on
23:25 colomon lizmat: get anything good?
23:25 xenoterracide|2 joined #perl6
23:25 lizmat about 120 cm of CD's
23:26 xilo_ joined #perl6
23:26 xenoterracide joined #perl6
23:26 lizmat mostly 2nd hand, hard to find in Europe stuff
23:26 xilo_ joined #perl6
23:28 dalek rakudo/nom: 215b1d8 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
23:28 dalek rakudo/nom: Added support for :exists with :kv:p:k
23:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/215b1d8721
23:29 dalek roast: 7280fe2 | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
23:29 dalek roast: Some more :exists related tests and some unfudging
23:29 dalek roast: review: https://github.com/perl6/roast/commit/7280fe2d21
23:30 tomyan joined #perl6
23:31 timotimo_ :kv:p:k isn't actually a combination that'll work, right?
23:35 lizmat "An implementation is free to silently ignore any other combinations or silently prefer one of the adverbs given above any other."
23:35 rurban joined #perl6
23:35 timotimo_ ouch
23:35 lizmat currently, :kv is implemented before :p and before :k, so that will just do :kv
23:35 timotimo_ that seems like a recipe for trouble :(
23:36 lizmat do you want illegal combinations to die ?
23:36 lizmat dinner&
23:37 timotimo_ haven't given it much thought yet, but i think that would be a good idea
23:37 census joined #perl6
23:37 timotimo_ or maybe if you give dumb combinations, you deserve to get dumb results on different implementations
23:41 btyler joined #perl6
23:43 census left #perl6
23:47 konundra joined #perl6
23:50 eternaleye timotimo_: Better to tell the user they're being dumb, then have them rely on one variant of dumb behavior and spread dumb code elsewhere.
23:50 eternaleye *than
23:56 * colomon 's last really notable record store find was "Sing Along With Basie" (LP) back in 2007.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo