»ö« 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 |