|
»ö« 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 barkbark Dog<2050174342>calculating a barkbark 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 barkbark Dog<970911207>calculating a barkbark 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 barkbark 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«21» | ||
| sorear[airport]_ | nqp-jvm: sub foo(*@_, *%_) { }; foo(:a(say(2)), say(1)) | ||
| camelia | nqp-jvm: OUTPUT«12» | ||
|
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«21» | ||
| 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 | ||