»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by moritz on 3 May 2013.
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?
flussence gist.github.com/flussence/5732972
00:02 Guest1337 left
colomon thanks 00:03
timotimo i fixed it! 00:05
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:06
btw, that's more than 16 substr calls 00:07
r: say 0xFF - 0xA1
camelia rakudo b2072f: OUTPUT«94␤»
colomon it's 94 of them
flussence it's 16 when I do that manual method a few lines above
colomon oh, yes, I see 00:09
flussence: so the point of this test is just that is pure does cause Rakudo to hoist the calls out of the loop? 00:11
flussence that's what I was looking at, seems it did nothing though 00:12
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, xilo_ joined
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:19
00:23 FROGGS left 00:32 LV joined 00:34 benabik left 00:36 LordV left
timotimo tadzik: i was able to make it work, apparently 00:36
00:39 benabik joined
dalek ast: e4ed324 | (Solomon Foster)++ | S02-types/keybag.t:
Added basic .KeyBag tests.
00:40
00:41 thou joined 00:43 xinming left
colomon jnthn++ # just found a use for git add -p 00:43
00:44 risou_awy is now known as risou
dalek ecza: eaf57ce | (Solomon Foster)++ | lib/CORE.setting:
Add .Set, .KeySet, .Bag, and .KeyBag.
00:44
00:45 xinming joined
tadzik timotimo: awesome :) 00:47
colomon tadzik: what's the current status of panda? 00:48
01:04 fgomez left, fgomez joined 01:05 fgomez left 01:06 fgomez joined, risou is now known as risou_awy 01:07 cognominal joined, snearch left 01:08 fgomez left, fgomez joined 01:13 anuby joined 01:15 hypolin joined 01:31 PacoAir left 01:40 telex left 01:42 telex joined 02:03 cognominal left 02:09 lustlife joined 02:17 bonsaikitten left, bonsaikitten joined 02:22 btyler joined
`patch` howdy *! how would one translate this? require "Acme/$name.pm"; my $func = \&{"Acme::${name}::func"}; $func->(); 02:28
colomon First bit is require ::("Acme/$name.pm"); 02:34
(I think)
02:35 SamuraiJack joined
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.10.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 …
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…
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 japhb_ left
flussence star: use JSON::Tiny; my $func = &(JSON::Tiny::{"to-json"}); say $func.perl; 02:38
camelia star 2013.02: OUTPUT«Any␤»
flussence well at least that's not a syntax error...
star: use JSON::Tiny; my $func = &JSON::Tiny::{"to-json"}; say $func.perl; 02:39
camelia star 2013.02: OUTPUT«Any␤»
flussence star: use JSON::Tiny; my $func = JSON::Tiny::&{"to-json"}; say $func.perl;
camelia star 2013.02: OUTPUT«all({"Actions" => JSON::Tiny::Actions, "Grammar" => JSON::Tiny::Grammar, "EXPORT" => EXPORT}, Block.new())␤»
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␤␤»
flussence star: use JSON::Tiny; say JSON::Tiny.perl
camelia star 2013.02: OUTPUT«JSON::Tiny␤»
02:44 FROGGS joined
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:…
flussence well that's weird, I got a completely different message in the repl
("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.
so it doesn't need to be a literal translation of the p5 example.
flussence yeah, I kinda understand what you're asking for, just not how to make it work :) 02:50
colomon `patch`: perlcabal.org/syn/S11.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:51
`patch` thanks, i'll take a look. i imagine it's possible that this is not implemented, eh? 02:52
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:53
02:53 FROGGS left
lue flussence: have you tried that line in perl6 -e ? I get the same message as camelia. 02:57
(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
flussence oh, does the same there 02:59
lue hello sorear o/
flussence maybe it's because I'd been poking at it for a few lines prior...
`patch` star: use JSON::Tiny; my $func ::= JSON::Tiny::<&to-json>; say $func.perl; 03:00
camelia star 2013.02: OUTPUT«Any␤»
sorear lueee 03:01
03:03 SamuraiJack left
dalek : 2baf71d | (Tobias Leich)++ | / (2 files):
added is_miniperl { 0 }
03:03
: 0cda4dc | (Tobias Leich)++ | lib/Perl5/ (2 files):
added STDIN, STDOUT, STDERR
: b50fc7c | (Tobias Leich)++ | / (4 files):
sort of supporting indirect object syntax for barewords
03:06 FROGGS joined
sorear o/ FROGGS 03:07
03:09 japhb_ joined
diakopter o/ 03:09
FROGGS o/
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:10
sorear It still has to drop you to make sure you're paying 03:11
japhb_ Yeah, but maybe not ever couple hours all day ... 03:12
*every
`patch` colomon, flussence: i could do something like this instead - github.com/perl6/DBIish/blob/maste...sh.pm6#L15 03:14
03:14 raiph left
flussence eval - the solution|cause for a lot of hard problems... 03:15
03:18 preflex left, preflex_ joined, ChanServ sets mode: +v preflex_, preflex_ is now known as preflex
`patch` as in perl 5! except i know better how to avoid eval there. 03:19
dalek c: eb14a4f | (Ben Tyler)++ | lib/operators.pod:
Fix 'X' operator example.
03:20
03:22 stevan_ joined, stevan_ left 03:23 rurban joined
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:28
03:34 JimmyZ joined
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
so that async is some sort of prefix like eager
(or eval)
03:48 cooper joined
TimToady if not, it'd probably be easy to write it in terms of gather/take and async 03:48
flussence I'd rather call it "bg" :) 03:49
TimToady postfix:<&> :)_
FROGGS bubblegum? :o)
hehe
TimToady hmm, I seem to be drooling...
lue
.oO(&foo()&;)
03:50
eternaleye FROGGS: Or 'future' 03:53
FROGGS: That's *really* reminiscent of 'futures' in other languages.
FROGGS how does it get evaluated? lazy, eager, asynchronous... but not 'futures' 03:57
lue almost feels there should be a corresponding C<sync> word for symmetry. 03:58
FROGGS :o)
TimToady well, 'sync' is just 'do'
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?
FROGGS but, 'do' gets the right meaning
has*
TimToady: it is just a normal (maybe a bit bigger) nose
TimToady but you don't have a really big nose in person, that I noticed... 04:00
FROGGS :) <-- I dont like having no nose
TimToady maybe we can find you a better nose in Unicode somewhere...
FROGGS hehe
some sort of middo
middot*
lue
.oO(Scavenger hunt!)
FROGGS .u nose 04:01
yoleaux U+2FD0 KANGXI RADICAL NOSE [So] (⿐)
U+1F43D PIG NOSE [So] (🐽)
U+1F443 NOSE [So] (👃)
shachaf themindi.blogspot.com/2007/02/chapt...-head.html
FROGGS :·)
lue :🐽) (I can't see the pig nose either)
FROGGS me neither 04:02
sorear I can
benabik can
TimToady :•)
shachaf :☺)
lue ... well. Time to find some more fonts.
FROGGS :˒)
TimToady :◃) 04:03
FROGGS :᚜) 04:05
hmmm, no
lue :∘)
FROGGS that is not bad
:ɔ) 04:06
:ᴖ) <--- I like that one
it has something 3dish 04:07
it has something 3d-ish
04:07 rurban left
shachaf ꙮ) 04:09
FROGGS iiinterresting 04:10
sorear hmm. seems that JAST isn't currently making any attempt to scope locals narrower than the entire method?
FROGGS sorear: I cant help you there 04:11
TimToady well, Java doesn't really believe in anything except methods
04:13 lizmat joined
sorear o/ lizmat 04:13
lizmat hi sorear!
just checking mail before going to bed :-)
TimToady lizmat: er, this isn't mail :) 04:14
lizmat ah, yes… but whenever I get a network connection, my IRC client logs in... 04:15
sorear spotted that, otherwise nobody would have known :-)
04:26 thou left, Psyche^ joined 04:30 Patterner left, Psyche^ is now known as Patterner 04:48 Khisanth left, Khisanth joined 04:51 SamuraiJack joined, btyler left
dalek ast: 513694b | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
Fix comments on combined adverb tests and add whatever combined adverb tests
04:52
lizmat night #perl6! 04:53
04:54 btyler joined 04:59 sqirrel joined, btyler left 05:05 btyler joined 05:07 rurban joined 05:08 Khisanth left
dalek p: 4fa7d88 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
Generate local variable annotations
05:11
05:12 rurban left 05:19 btyler left 05:24 btyler joined
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))␤»
sorear r: my $*BLOCK = "moof"; eval "2"
camelia rakudo b2072f: ( no output )
05:28 btyler left 05:31 gdey joined 05:33 Khisanth joined 05:34 gdey left 05:41 Khisanth left 05:42 shachaf joined 05:53 Khisanth joined 06:00 adu left 06:01 JimmyZ left 06:02 JimmyZ joined 06:08 rurban joined 06:10 xilo_ left 06:14 rurban left 06:17 prevost left 06:27 lustlife left, lustlife joined
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:30
FROGGS: Examples: www.justsoftwaresolutions.co.uk/thr...mises.html 06:32
rough p6ification: Future[Int] answer = async do_foo(); other_stuff(); say answer.get() # Returns Int 06:33
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:35
06:36 cognominal joined 06:38 xinming left 06:40 xinming joined
eternaleye Actually, a parameterized Future role as the return value of async might work pretty well. 06:43
cognominal TimToady: thanks you about the explanation of "good tidings" 06:56
06:56 tomyan joined 06:57 preflex left
cognominal s/about/for/ 06:58
06:58 preflex joined, ChanServ sets mode: +v preflex
cognominal good|glad 06:59
07:11 rurban joined 07:12 lustlife` joined 07:16 s1n left, rurban left 07:32 s1n joined 07:33 dmol joined 07:51 dmol left, dmol1 joined 08:09 dmol1 left 08:12 berekuk left, rurban joined 08:18 rurban left
timotimo good * #perl6 08:48
diakopter o/ 08:58
JimmyZ \0/ 08:59
tadzik cognominal: I didn't touch it since the yapc I think 09:00
timotimo tadzik: now you have the opportunity to do so, with some really nice patches :3 09:03
(i hope the old copy method has been introduced already in the current compiler release?)
star: "foo".path.copy
camelia star 2013.02: OUTPUT«No such method 'copy' for invocant of type 'IO::Path'␤ in block at /tmp/lVY26IP90S:1␤␤»
timotimo hm, that's unfortunate
09:05 PacoAir joined 09:14 rurban joined
cognominal takzik: ok 09:17
www.youtube.com/watch?feature=playe...BFk#t=936s what is the Perl 6 way to write an "historically correct pirate"? 09:18
"historically correct", this is giving short shrift to corsaires and the like. 09:19
09:20 rurban left
cognominal one would need a given/when to write a really historically correct pirate 09:21
09:35 spider-mario joined
arnsholt o/ 09:55
10:17 daniel-s left 10:18 rurban joined, anuby left 10:19 flaviusb joined
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:23 rurban left 10:37 tgt joined 10:43 jac50 joined, jac50 left 10:44 cognominal left 10:45 cognominal joined, dmol joined 11:03 rindolf joined 11:04 tomyan left 11:08 raiph joined 11:09 flaviusb left, atroxaper joined 11:16 rindolf left, woosley1 joined 11:18 rurban joined 11:26 rurban left 11:29 flaviusb joined 11:31 stevan_ joined 11:33 flaviusb left 11:34 daniel-s joined
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␤␤»
moritz in java code for nqp-jvm, how do I get a class name as a string? 11:41
(for an error message)
sixmodelobject.st.HOW.name(sixmodelobject) # or so? 11:42
no, complains that it can't find method name 11:44
11:47 flaviusb joined 11:50 snearch joined 11:51 flaviusb left 11:54 Chat2300 joined
Chat2300 What's up? 11:54
11:54 Chat2300 left
timotimo moritz: could 'foo'.path be missing from the restricted setting? 12:00
moritz timotimo: it's not .path that's missing, but .copy 12:01
and yes, I thought about that too
and wanted to test it
timotimo ah
moritz and found that I only had a rakudo-on-jvm locally :-)
timotimo should i add it and give it an error message?
moritz and was annoyed by the error message I got from the jvm-based stuff 12:02
Method 'foo' not found
why didn't you find it? because it wasn't there. Why don't you tell me so?
timotimo: rather implement it :-)
timotimo the restricted setting should be capable of copying things around? what's the semantics it should have? 12:04
deny every source or destination that's not in /tmp?
moritz no, not the restricted setting
the normal one
or does that have .copy already?
timotimo it's already implemented in the regular setting
moritz oh, ok
then I misunderstood
then yes, an error in CORE.restricted wouldn't hurt
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
12:05 chinaXing joined 12:06 flaviusb joined
tadzik so, is .path.copy in the compiler release? 12:06
timotimo not in the 2013.05 one
that's what makes me unhappy about the panda patches 12:07
tadzik I think panda should target the compiler release
moritz then the patches have to wait 1.5 weeks
tadzik so I think I'll let the patches collect some dust for now
moritz that won't kill anybody
tadzik: maybe just comment on the pull request that you intend to wait 12:08
and why
tadzik yeah, I'll do that
I have some tickets and pull requests to take care of today
timotimo wonders if a robot finds kitten implementation in perl6 will be helpful to the community 12:13
12:22 rurban joined 12:27 rurban left, chinaXing left 12:28 chinaXing joined
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:32
maybe i could write a semi-direct port of blessings, though 12:33
12:37 Khisanth left 12:42 berekuk joined 12:44 berekuk left
timotimo blessings is actually pretty darn cool 12:46
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«===SORRY!===␤Undeclared routines:␤ bark used at line 1␤ import used at line 1␤ meow used at line 1␤␤»
timotimo hm.
12:50 aborazmeh joined 12:51 aborazmeh left
FROGGS see you in a bit from another side of the ocean o/ 12:52
12:53 FROGGS left
timotimo aaw, blessings uses curses :| 12:55
13:01 sdo joined
sdo hello 13:02
timotimo there already is an ncurses binding!
13:02 sdo left 13:03 Guest1337 joined
timotimo it was easy to miss, given that the name doesn't start in Term:: 13:03
wow, nativecall is severely broken on my machine 13:04
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 ...
... p6decontrv: Error while compiling op nativecall: Error while compiling op p6decont: No registered operation handler for 'p6decont'
JimmyZ timotimo: you're using moarvm? 13:05
timotimo no, this is parrot
i wouldn't expect moarvm to be able to do moarvm at all yet
13:08 stevan_ left
timotimo could it be that p6decont has been replaced by p6decontrv or something? 13:09
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:12
13:16 tomyan joined, raiph left, lizmat left 13:17 lizmat joined
moritz that would explain why so many modules have broken dependencies on 71.10.146.50:3001/report 13:21
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.
timotimo not just me, then. sounds good. 13:23
13:23 rurban joined
moritz colomon: oh :( 13:24
tadzik is on it
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
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.
tadzik colomon: I don't see any bug reported in panda though 13:27
I have to rebuild nom now, I was trying to bisect the nqp segfault before
colomon tadzik: thought I'd reported the issue to you on here. 13:28
13:28 rurban left
flussence that page could use a separate thing for "no tests ran"... 13:28
tadzik colomon: I remember something about Failure, but that's sort of fixed in emmentaler now 13:29
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
of course
flussence
.oO( I wish there was a way in META.info to list native libraries as prereqs for nativecall )
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:31
My emmentaler patch just made it pay attention to any and all exceptions, reporting them as prereq failures. 13:33
One of the thing X::Panda does is say way stage the error happened in. 13:34
tadzik yes 13:35
I must've broke it with panda2
timotimo why are there no tests? ;)
13:38 zakalwe left
tadzik heh 13:39
they don't cover that :) Patches welcome 13:40
13:43 snearch left, lizmat left
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:44
tadzik experiments with Go-style error checking in P6 13:45
13:46 rurban joined
tadzik not yet sure if want 13:46
13:47 rurban left
flussence rakudo f19881b broke zavolaj 13:49
fortunately it seems to be a 2 char change in the module...
13:50 lizmat joined
flussence (I hope) 13:50
tadzik uh, panda broke smoker in various ways :/ 13:54
13:55 chinaXing left 13:56 zakalwe joined, Guest1337 left 13:59 woolfy joined
tadzik oh, colomon, a question 14:00
you're probably aware of difftool
colomon .... aware of diff, anyway
tadzik you're also probably aware that it's pretty useless for a webpage, as webpages don't use ansi colour codes 14:01
oh, I mean difftool, from emmentaler
so I wondered, would it be helpful to have a module like Term::ANSIColor that also works for HTML colours if needed?
colomon tadzik: actually, never looked at difftool before!
tadzik oh. I think it's pretty awesome, but I'm biased :) 14:02
I have a dream where we can use difftool to poke people on irc directly
"hey, colomon, your ABC stopped building"
colomon tadzik: I was thinking we should add an e-mail contact field to META.info
tadzik that'd be useful too
moritz tadzik: or even send e-mails the old-fashioned way 14:03
moritz way too slow
colomon fundamentally the same idae
idae
idea
tadzik I think for now we can easily use the github username, as that usually indicates the module maintainer
colomon just typed idea wrong three times in a row. :(
dalek volaj: 693b705 | flussence++ | lib/NativeCall.pm6:
s/p6decont/decont/g

Fix for changes made in rakudo f19881b, gets all but 1 test passing again
flussence timotimo: there you go
colomon tadzik: I was just thinking it be polite to allow people to opt out. 14:04
tadzik that too
details, details :)
colomon for that matter, I wonder if we could just file an issue for the module on github?
tadzik that should be possible
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
getting false error reports would probably make people stop paying attention.
tadzik yeah
arnsholt flussence++ fixing NativeCall 14:06
colomon arnsholt: are you home? sorry I didn't properly say goodbye yesterday! thought you could use the sleep... 14:07
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:08
(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:10
14:11 woolfy left, PacoAir left
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:14
moritz rnp: say 0o644 14:15
camelia rakudo b2072f, niecza v24-68-geaf57ce, pugs: OUTPUT«420␤»
moritz \o/
14:16 prammer left 14:18 japhb_ left
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
14:20 raiph joined, mtk0 left 14:21 birdwindupbird joined
tadzik implicitly, only if you declare them named 14:21
like: func (foo int) (ret int) { return; } // ok
like: func (foo int) int { return; } // not ok 14:22
I think
flussence std: sub a(Int $foo, Str $bar --> Bool $cat, Set $dog) { ... }
camelia std b29e940: OUTPUT«===SORRY!===␤Unable to parse signature at /tmp/AnOPu_2nV5 line 1:␤------> sub a⏏(Int $foo, Str $bar --> Bool $cat, Set $␤Couldn't find final ')'; gave up at /tmp/AnOPu_2nV5 line 1:␤------> sub a(Int $foo, Str $bar --> Bool $c…
colomon tadzik++ # difftool
tadzik colomon: I can has your results.json? 14:24
I'll compare with my local smoker run, on fixed (hopefully) panda
colomon is there an easy way to pipe to a gist?
tadzik App::nopaste probably 14:25
and App::Nopaste::Service::Gist 14:26
colomon installing... 14:27
...taking a long time to install... 14:29
timotimo does gist ping people if they are @'ed in the comments of a gist? 14:30
flussence I believe so
unless they've turned off that part of email notifying 14:31
colomon tadzik: gist.github.com/colomon/5735341 # got impatient and uploaded by hand while installing Service::Gist
tadzik I just installed App:Nopaste too, and the only service I found working was Ubuntu :/
timotimo gaaah one-line json ;_; 14:32
14:32 xilo_ joined
tadzik :) 14:32
colomon tadzik: cpan keeps timing out for me.
flussence argh, I can't get zavolaj to pass that test even with the obvious change - gist.github.com/flussence/5735345 14:33
14:34 raiph left, prevost joined, woosley1 left 14:35 xilo_ left 14:36 xilo_ joined 14:38 PacoAir joined 14:39 census joined 14:53 xilo_ left
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
14:54 xilo_ joined
tadzik colomon: or just put that on a website/rss 14:55
colomon: which brings me back to the colouring question
14:55 FROGGS[airport] joined
timotimo how inefficient is using FALLBACK? 14:55
FROGGS[airport] o/
timotimo hey froggs
census FROGGS[airport] leaving u.s. or arriving home? 14:56
FROGGS[airport] census: waiting for the departure to chicago, and then to berlin
census i hope you had lots of fun! 14:57
tadzik hmm. Significant time in smoker is spent in P::Ecosystem.flush-states 14:59
at the end it's at least 10 seconds to write those things to disk
for every modul
timotimo is json slow? 15:00
tadzik json too 15:01
but I think IO is generally slow
FROGGS[airport] census: I had 15:03
somehow it I'd like to stay another week, but I really miss wife and kids 15:04
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
colomon timotimo: generate on the fly or generate once and have forever? 15:07
tadzik timotimo: look at Redis client in our module db
it uses such technique
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
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
colomon timotimo: I guess I see three possible approaches. 15:10
1) My standard C++ approach: write a Perl script to generate the class definition(s)
2) Simple Perl 6 solution: class contains a hash from "method name" to &code block 15:11
flussence
.oO( macros )
timotimo i don't think macros are powerful enough yet
colomon 3) Fancy Perl 6 solution; Actually add the methods to the class at run time using meta-object protocol.
tadzik or in compile-time
the old Simple-Redis did that 15:12
I see it's gone now, for some reason
TimToady std: sub a(Int $foo, Str $bar --> (Bool $cat, Set $dog) ) { ... }
camelia std b29e940: OUTPUT«Potential difficulties:␤ $cat is declared but not used at /tmp/cocxmMbjFx line 1:␤------> sub a(Int $foo, Str $bar --> (Bool ⏏$cat, Set $dog) ) { ... }␤ $foo is declared but not used at /tmp/cocxmMbjFx line 1:␤------> sub a(Int ⏏$f…
tadzik github.com/slunski/perl6-simple-re...dis.pm#L31
timotimo how would i do it at compile-time, if it depends on the TERM environment variable?
tadzik timotimo: ^
15:12 Khisanth joined
TimToady flussence: ^^^ 15:12
flussence neat 15:13
TimToady maybe we could relax the return sig to allow commas
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:14
colomon timotimo: is FALLBACK actually implemented? 15:16
timotimo let me try 15:17
colomon redis solution looks pretty good to me...
15:17 xilo_ left
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␤␤»
timotimo aaw :(
15:18 xilo_ joined
timotimo how about ^find_method? 15:18
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;
camelia rakudo b2072f: OUTPUT«No such method 'bark' for invocant of type 'Dog'␤ in block at /tmp/95Xa_ccqT8:1␤␤»
15:20 mtk joined
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␤␤»
benabik r: class Dog; Dog.^add_fallback( sub (*@args) { @args.perl.say }; Dog.bark
timotimo looks at the actual code
camelia rakudo b2072f: OUTPUT«===SORRY!===␤Unable to parse expression in argument list; couldn't find final ')'␤at /tmp/bzhSr4aeMn:1␤------> ub (*@args) { @args.perl.say }; Dog.bark⏏<EOL>␤ expecting any of:␤ method arguments␤»
benabik r: class Dog; Dog.^add_fallback( sub (*@args) { @args.perl.say }); Dog.bark
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␤␤»
tadzik yeah, it takes 40 seconds to flush-states at the end of smoker run 15:21
that sucks horribly
timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, method ($name, *@args) { say "$name, @args[]" }); Dog.new.bark;
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
timotimo not quite sure what i was doing there. 15:22
15:24 FROGGS[airport] left
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␤␤»
timotimo hum.
oh
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␤␤»
timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, method ($name, *@args) { -> { say "$name, @args[]" } }); Dog.new.bark;
camelia rakudo b2072f: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤ in block at /tmp/buV4unk793:1␤␤»
15:25 tgt left
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␤␤»
timotimo r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, -> $obj, $metname { -> $what { say "$metname, $what" } }); Dog.new.bark;
camelia rakudo b2072f: OUTPUT«bark, Dog<-620200314>␤»
timotimo that's probably the invocant that gets passed
r: class Dog { }; Dog.^add_fallback(-> $, $ { True }, -> $obj, $metname { method () { say "$metname $obj" } }); Dog.new.bark;
camelia rakudo b2072f: OUTPUT«bark Dog<-1991546878>␤»
FROGGS[airplan2] yes
timotimo great, that's totally workable
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>␤»
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;
camelia rakudo b2072f: OUTPUT«calculating a bark␤bark Dog<970911207>␤calculating a bark␤bark Dog<970911207>␤»
timotimo so not cached, mhhk
benabik You could call ^add_method in the fallback. 15:30
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?
benabik timotimo: No idea.
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;
camelia rakudo b2072f: OUTPUT«calculating a bark␤bark Dog<-1337613478>␤bark Dog<-1337613478>␤»
FROGGS[airplan2] you cant add a method to something that got already contrcucted
timotimo indeed! crazy crazy
rakudo disagrees, froggs :3 15:32
FROGGS[airplan2] hmmmm
okay, I think I tried that in nqp
I guess this method will only be available in your unit or so 15:33
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
15:34 Guest1337 joined, sorear_ joined
sorear_ o/ 15:34
FROGGS[airplan2] colomon, I'll test that for Perl5::Terms 15:36
15:36 sorear_ is now known as sorear[airport] 15:37 ajr joined 15:38 ajr is now known as Guest58203, Guest58203 is now known as ajr_
colomon \o 15:38
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
dalek d: 6348f35 | larry++ | STD.pm6:
allow multiple return params
15:42 sqirrel_ joined, Kelder joined, risou_awy is now known as risou 15:43 Ayiko left 15:53 FROGGS[airplan2] left
TimToady --> airport 15:55
std: sub a(Int $foo, Str $bar --> Bool $cat, Set $dog ) { ... }
camelia std b29e940: OUTPUT«===SORRY!===␤Unable to parse signature at /tmp/xnGqRCxTAh line 1:␤------> sub a⏏(Int $foo, Str $bar --> Bool $cat, Set $␤Couldn't find final ')'; gave up at /tmp/xnGqRCxTAh line 1:␤------> sub a(Int $foo, Str $bar --> Bool $c…
TimToady ENOTYET
15:56 kaare_ joined
TimToady afk & 15:56
15:58 Guest1337 left 16:00 tgt joined
sorear[airport] what does that even mean 16:00
flussence we haven't figured that part out exactly yet :)
timotimo can i put comments into a < ... > somehow? 16:02
16:02 PacoAir left
flussence rn: say < #`nope` > 16:02
camelia rakudo b2072f, niecza v24-68-geaf57ce: OUTPUT«#`nope`␤»
timotimo rn: say << #`(nope) >>
camelia rakudo b2072f, niecza v24-68-geaf57ce: OUTPUT«#`(nope)␤» 16:03
flussence rn: say « {#`(maybe)} »
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/…
..rakudo b2072f: OUTPUT«␤»
timotimo rn: sub comment($){}; say << comment("what the hell is going on") a b c >>
camelia niecza v24-68-geaf57ce: OUTPUT«Potential difficulties:␤ &comment is declared but not used at /tmp/hDsu9fuSgz line 1:␤------> sub comment⏏($){}; say << comment("what the hell is ␤␤comment("what the hell is going on") a b c␤»
..rakudo b2072f: OUTPUT«comment(what the hell is going on) a b c␤»
16:04 sorear[airport]_ joined
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)␤»
sorear[airport]_ nqp: sub foo(*@_, *%_) { }; foo(:a(say(2)), say(1))
camelia nqp: OUTPUT«2␤1␤»
sorear[airport]_ nqp-jvm: sub foo(*@_, *%_) { }; foo(:a(say(2)), say(1))
camelia nqp-jvm: OUTPUT«1␤2␤»
16:04 sorear[airport] left
sorear[airport]_ npr: sub foo(*@_, *%_) { }; foo(:a(say(2)), say(1)) 16:05
camelia rakudo b2072f, niecza v24-68-geaf57ce, pugs: OUTPUT«2␤1␤»
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:06
timotimo tbh, i'd love a quoting adverb that allows comments inside strings 16:07
well, at least inside shellwords/quotewords
that may be the only place it makes sense, regarding whitespace around comments etc
16:08 berekuk left, sqirrel_ left
sorear[airport]_ {"ignored";""} 16:08
16:09 PacoAir joined 16:11 JimmyZ left
timotimo sorear[airport]_: only as long as semicolon lists are NYI, no? 16:11
sorear[airport]_ timotimo: that's a block, it contains statements. not a semilist. 16:12
16:12 sorear[airport]_ is now known as sorear[airport]
jnthn o/ from the airport 16:13
sorear[airport] o/ jnthn 16:14
timotimo oh, right
sorear[airport] come to gate 20 if you can. we have 3 p6people already.
timotimo hackairthon? 16:15
jnthn sorear[airport]: um, I'm at Dulles :)
sorear[airport] hackathon in a busy airport? WHY NOT.
jnthn: oh.
jnthn Got 5ish hour layover here
What was the aim of 4fa7d88e? 16:16
colomon airport hackathon! 16:17
16:17 sqirrel_ joined
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?
jnthn sorear[airport]: yes :)
sorry, forgot to foo: it 16:19
16:19 prammer joined
sorear[airport] "annotations" is used in the more general sense 16:20
that patch fixes the LocalVariables stuff so that jdb can actually find it
jnthn aha, ok
Then I'm fine with it. :)
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:21
timotimo d'oh, the NCurses module doesn't bind tigetstr >_> 16:36
16:37 sorear[airport] left 16:40 pecastro left
diakopter hm, I don't see labster 16:40
tadzik me neither
jnthn diakopter: Hope your trip was fine :) 16:41
diakopter didn't fall asleep driving, all the way, anyway
jnthn That's a good thing. 16:42
Lot of queues, but I made the flight easily.
16:46 SamuraiJack left
diakopter heading to real texmex 16:46
jnthn :)
lunch sounds like a good idea...
jnthn goes to find something
timotimo oh, wow, the terminfo format description format is almost universal, all it needs is a goto or loop m) 16:51
17:00 flaviusb left 17:01 btyler joined 17:02 tomyan left 17:05 colomon left 17:06 itz__ joined 17:08 itz left 17:16 yves_ left 17:19 birdwindupbird left 17:21 colomon joined, colomon left 17:22 colomon joined 17:25 btyler left 17:27 berekuk joined, domidumont joined 17:32 domidumont left 17:35 sqirrel_ left 17:36 uuni joined
dalek rl6-roast-data: 0106f45 | coke++ | / (4 files):
today (automated commit)
17:37
colomon rn: say '/foo/bar.txt'.path
camelia rakudo b2072f: OUTPUT«IO::Path</foo/bar.txt>␤» 17:38
..niecza v24-68-geaf57ce: OUTPUT«Path</foo/bar.txt>␤»
colomon rn: say IO::Path.gist
camelia rakudo b2072f, niecza v24-68-geaf57ce: OUTPUT«(IO::Path)␤»
dalek kudo-star-daily: 37b5e9f | coke++ | log/ (5 files):
today (automated commit)
17:42
[Coke] make: *** [NQPP5QRegex.pbc] Segmentation fault 17:43
flussence uh oh, mono 2.10 -> 3 update. I hope my local niecza install survives this... 17:44
17:45 uuni left, tomyan joined
[Coke] I did a git clean of nqp, rebuilt, still segfaulting. (trying to rebuild rakudo) 17:50
(this on feather)
trying with master...
tadzik [Coke]: I got that too :( 17:54
and so did sorear, I think
RedditAnalytics o/ 17:59
colomon \o
17:59 sqirrel_ joined
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
camelia star 2013.02: ( no output )
tadzik star: '.'.path.WHAT.say
camelia star 2013.02: OUTPUT«IO::Path()␤»
timotimo i don't see how to do variadic argument calls using zavolaj; is that possible? 18:03
arnsholt Depends on how variadic you need it to be 18:04
dalek ast: b293ce3 | (Solomon Foster)++ | S02-types/set.t:
Change .set calls to .Set.
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
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
it's about the tparm function from ncurses. maybe it will only ever have up to 9 arguments 18:06
18:07 colomon left
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?
oh, that sounds sensible; i hope it doesn't barf
18:11 census left
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
[Coke] tadzik: had to do --gen-nqp=master --gen-parrot=master 18:14
arnsholt OTOH, that'll mean you can only pass ints, which may or may not be appropriate 18:16
18:21 colomon joined
timotimo how do i implement the "errret" part of int setupterm(char *term, int fildes, int *errret);? 18:22
18:24 RedditAnalytics left 18:25 RedditAnalytics joined 18:26 RedditAnalytics left
timotimo arnsholt: thoughts? 18:28
18:30 atroxaper left 18:32 tomyan left
arnsholt timotimo: CArray[int] 18:33
And pass in a single-element array
18:47 tomyan joined 18:49 tomyan left, xilo_ left 18:51 xilo_ joined, shinobicl left 19:03 btyler joined 19:18 kaare_ left 19:19 araujo left 19:20 araujo joined 19:22 dmol1 joined, dmol left 19:24 benabik left 19:28 PacoAir left 19:40 sqirrel left 19:45 Guest1337 joined 19:57 pochi_ joined, pochi left, Guest1337 left 20:00 Guest1337 joined 20:01 lee_ joined, timotimo_ joined 20:02 bruges joined 20:04 PerlPilot joined 20:05 broquain1 joined
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
20:05 ruoso_ joined, bloonix_ joined, fgomez_ joined 20:06 logie_ joined, odoacre_ left 20:07 sivoais_ joined 20:08 lee__ left, timotimo left, apejens left, araujo left, sergot left, PerlJam left, rafl left
tadzik .comb() is the news .split(''):) 20:08
20:08 logie left, ruoso left, bloonix left, broquaint left, fgomez left, xinming left, bruges_ left, rafl joined 20:09 shachaf_ joined, sergot joined, shachaf left, shachaf_ left, shachaf_ joined, shachaf_ is now known as shachaf, odoacre_ joined 20:10 konundra joined 20:11 xinming_ joined, sivoais left
Ulti tadzik I'd rather golf "Matt".split('').reverse.join down to "Matt".flip ;P is .comb implemented in a tighter way? 20:11
20:11 apejens joined 20:12 Psyche^ joined, tgt left, Patterner left, Psyche^ is now known as Patterner
Ulti seriously though it would be nice if "".reverse kind of failed or gave you a warning 20:12
"did you really mean to reverse a single item string? maybe you mean .flip" 20:13
maybe something like use 5to6warnings
20:14 araujo joined 20:15 tgt joined 20:16 sqirrel_ left 20:27 sqirrel joined 20:29 yoleaux left, dpk left 20:30 ChanServ joined, yoleaux joined, barjavel.freenode.net sets mode: +ov ChanServ yoleaux 20:31 yoleaux left, ChanServ left, ChanServ joined, yoleaux joined, barjavel.freenode.net sets mode: +ov ChanServ yoleaux, dpk joined, ChanServ left 20:35 sqirrel left 20:36 PacoAir joined, tomyan joined, PacoAir left 20:53 ajr_ left 20:55 woolfy joined, PacoAir joined, dmol1 left 20:56 PacoAir left 21:02 btyler left 21:15 adu joined 21:17 adu left
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:18
21:19 pmurias joined
timotimo_ :( 21:19
21:25 tomyan left 21:27 twigel joined
[Coke] windows people - if I want to quote an argument to a command, is "" ok? 21:39
(preferred over '') ?
timotimo_ try q“foobar” 21:40
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.
eternaleye .tell FROGGS Examples: www.justsoftwaresolutions.co.uk/thr...mises.html
yoleaux eternaleye: I'll pass your message to FROGGS.
eternaleye .tell FROGGS rough p6ification: Future[Int] answer = async do_foo(); other_stuff(); say answer.get() # Returns Int
yoleaux eternaleye: I'll pass your message to FROGGS.
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"
yoleaux eternaleye: I'll pass your message to FROGGS.
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 21:58 fgomez_ left, fgomez joined 22:00 fgomez left 22:02 fgomez joined 22:03 lustlife left 22:04 lustlife` left 22:08 btyler left 22:10 Teratogen joined 22:14 cognominal left 22:15 cognominal joined 22:16 spider-mario left 22:21 konundra left 22:25 tomyan joined 22:30 tomyan left, rurban joined 22:35 pmurias left 22:39 rurban left
[Coke] wonders why nqp is writing PIR code to dump parrot config values. 22:39
(rather than using parrot-config) 22:48
sorear o/ #perl6 22:53
22:56 sivoais_ left 22:57 sivoais joined
dalek p: 8b2b048 | sorear++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/CallFrame.java:
Fix a comment fossil
22:59
23:02 _jaldhar joined 23:16 benabik joined
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.
sorear o/ benabik
benabik o/ sorear 23:17
colomon \o sorear, you home? 23:18
sorear colomon: layover. PHX. 23:20
lizmat o/ sorear!
sorear with very good wifi
o/ lizmat!
sorear is a little disappointed by the above "commit flood"
lizmat we are trying to figure out how to fit all of our goodies in our bags
more commits from me coming :-) 23:21
colomon \o/
lizmat++
23:21 xilo_ left, xilo_ joined
sorear lizmat: you two still in Austin? 23:22
23:22 xilo_ left
lizmat sorear: yes, did some more shopping after dropping you folks off at Austin Airport 23:22
Waterloo records was too good a place to pass up on 23:23
colomon lizmat: get anything good? 23:25
23:25 xenoterracide|2 joined
lizmat about 120 cm of CD's 23:25
23:26 xilo_ joined, xenoterracide|2 left, xilo_ left, xenoterracide joined
lizmat mostly 2nd hand, hard to find in Europe stuff 23:26
23:26 xilo_ joined, xilo_ left
dalek kudo/nom: 215b1d8 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Added support for :exists with :kv:p:k
23:28
ast: 7280fe2 | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
Some more :exists related tests and some unfudging
23:29
23:30 tomyan joined
timotimo_ :kv:p:k isn't actually a combination that'll work, right? 23:31
lizmat "An implementation is free to silently ignore any other combinations or silently prefer one of the adverbs given above any other." 23:35
23:35 rurban joined
timotimo_ ouch 23:35
lizmat currently, :kv is implemented before :p and before :k, so that will just do :kv
timotimo_ that seems like a recipe for trouble :(
lizmat do you want illegal combinations to die ? 23:36
dinner&
timotimo_ haven't given it much thought yet, but i think that would be a good idea 23:37
23:37 census joined
timotimo_ or maybe if you give dumb combinations, you deserve to get dumb results on different implementations 23:37
23:39 rurban left 23:41 btyler joined 23:42 tgt left 23:43 census left 23:47 konundra joined
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
*than
colomon 's last really notable record store find was "Sing Along With Basie" (LP) back in 2007. 23:56