»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:03
Arrowhead left
00:05
Arrowhead joined
00:10
Arrowhead left
|
|||
TimToady | flussence: I find -v works much better than -m | 00:13 | |
00:14
virtualsue left
00:15
spider-mario left
|
|||
flussence | ha, so it does. I set it a bit too low (5MB) to see what'd happen and `perl6 --version` wouldn't work because *bash* couldn't run ncurses functions any more :) | 00:17 | |
(wonder if I need to turn a bunch of kernel cruft back on to have -m work...) | 00:19 | ||
_nadim | hi, if someone could run the tests on this github.com/nkh/P6-Data-Dump-Tree.git | ||
having Terminal::ANSIColor installed is a plus, although a test without it installed would be nice too | 00:20 | ||
00:21
disturbingly_rea joined
|
|||
_nadim | .tell tadzik could we get an uninstall verb in Panda | 00:21 | |
yoleaux | _nadim: I'll pass your message to tadzik. | ||
00:21
addison left
|
|||
disturbingly_rea | I vote for 'remove' over 'uninstall' | 00:22 | |
_nadim | that would be even better, yes | ||
RabidGravy | _nadim, I think you'll find the answer will contain something like "it will require support in Compunit::Repository" | 00:23 | |
awwaiid | mmm. I updated Inline::Ruby to 0.0.2, but panda says it won't install it becaues 0.0.1 is already installed (which is true, but shouldn't matter). What should I do? | 00:24 | |
RabidGravy | --force | ||
but that seems like a mistake nonetheless | 00:25 | ||
awwaiid | k | ||
_nadim | RabidGravy: and who is the master of Compunit::Repository? | ||
00:25
addison joined
|
|||
awwaiid | is there a way to have panda install from a git clone, or is there some other way to get a cloned build to install into rakudobrew land? | 00:26 | |
disturbingly_rea | perl6 is lovely for project Euler (when it's fast enough for my dumb algorithms). Sometimes I still have to translate them to scala :( (though 'is-prime' is a grand built-in for that problem space) | ||
just sharing some love | |||
RabidGravy | awwaiid, the bootstrap.pl? | 00:27 | |
awwaiid | RabidGravy: I mean a module from ecosystem | 00:28 | |
RabidGravy: (if the answer is still boostrap.pl, could you elaborate?) | |||
disturbingly_rea | Can we have a repl that accepts multiple lines? | 00:29 | |
RabidGravy | oh i see, clone the thing local make the changes "panda install ." | ||
disturbingly_rea | Is there a project for that where I could contribute? | ||
(I mean 'sub foo(bar) { ## presses enter and expects to be able to type the next line of the sub | 00:30 | ||
awwaiid | RabidGravy: great, thanks! | ||
00:31
rburkholder joined
00:33
addison left
00:34
skyl4rk joined
00:36
llfourn joined
|
|||
disturbingly_rea | nobody with any hints for a multi-line entry repl then? | 00:36 | |
RabidGravy | apparently not | 00:37 | |
grondilu | probably not obvious a thing to do | ||
00:37
cygx joined
|
|||
disturbingly_rea | seems standard, though | 00:38 | |
python/scala/clojure etc | |||
even J | |||
cygx | disturbingly_rea: there's some initial work on a Jupyter kernel: github.com/timo/iperl6kernel | ||
RabidGravy | I'd say look at making it module space in the first instance | ||
grondilu | disturbingly_rea: how do they do it? Do they rely on an external lib or somthing? | ||
disturbingly_rea | gronilu: depends. With python, it ships with. With clojure, it's part of the de facto build tool leiningen... | 00:40 | |
grondilu: I can't type | |||
cygx | disturbingly_rea: that's what tab completion is for | 00:41 | |
00:41
llfourn left,
evdubs joined
|
|||
disturbingly_rea | cygx: I had no idea that worked in IRC.... this is the only channel I've ever been in ;) Great tip! | 00:42 | |
cygx | well, it's a feature of your client, not IRC itself | ||
disturbingly_rea | I use the browser client | ||
for reasons previously given | |||
00:44
alpha123 left
00:50
RabidGravy left
00:51
bapa left
00:55
bapa joined
00:56
aindilis left
01:05
nbrown joined
01:13
joydo joined
01:15
kittenlips joined
01:16
sprocket left
|
|||
kittenlips | Can one define the return type for methods and functions in P6? | 01:16 | |
yoleaux | 30 Dec 2015 20:43Z <MadcapJake> kittenlips: thanks! glad you like it! My highlighter is just using Atom's builtin grammar engine and the builtin node-oniguruma regex engine. | ||
AlexDaniel | kittenlips: --> Type | 01:17 | |
cygx | m: sub foo(--> Int) { "nok" }; foo | ||
camelia | rakudo-moar eca5df: OUTPUT«Type check failed for return value; expected Int but got Str in sub foo at /tmp/MZH7I_oRNZ line 1 in block <unit> at /tmp/MZH7I_oRNZ line 1» | ||
AlexDaniel | m: sub foo (Int $a, Int $x --> Bool) { return True } | ||
camelia | ( no output ) | ||
cygx | m: sub foo() returns Int { "nok" }; foo | ||
camelia | rakudo-moar eca5df: OUTPUT«Type check failed for return value; expected Int but got Str in sub foo at /tmp/R8YLkaHYG0 line 1 in block <unit> at /tmp/R8YLkaHYG0 line 1» | ||
kittenlips | AlexDaniel: if you have parameters where does it go after or before? | ||
cygx | after | 01:18 | |
AlexDaniel | hmmm | ||
what happens if you put it before? Let's see… | |||
kittenlips | ah I see it now sorry missed your message | ||
Thank you! | |||
AlexDaniel | m: sub foo (--> Bool, Int $a, Int $x) { return True } | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GaE78idELyType 'Bool' is not declared. Did you mean 'Cool'?at /tmp/GaE78idELy:1------> 3sub foo (--> Bool7⏏5, Int $a, Int $x) { return True }» | ||
AlexDaniel | shit, again this problem | ||
m: sub foo (--> Bool Int $a, Int $x) { return True } | |||
01:18
sprocket joined
|
|||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GYIfM8kTxzType 'Bool' is not declared. Did you mean 'Cool'?at /tmp/GYIfM8kTxz:1------> 3sub foo (--> Bool7⏏5 Int $a, Int $x) { return True }» | 01:18 | |
AlexDaniel submits rakudobug | 01:19 | ||
01:19
sprocket left,
rburkholder left
01:20
deepi joined,
psy left,
disturbingly_rea left
|
|||
kittenlips | m: sub foo (Int $a, Rat $x) --> Bool { return True; } | 01:20 | |
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xhiS1XPatUMissing blockat /tmp/xhiS1XPatU:1------> 3sub foo (Int $a, Rat $x)7⏏5 --> Bool { return True; } expecting any of: new name to be defined» | ||
01:21
sprocket joined
|
|||
AlexDaniel | kittenlips: I think that the idea is that the return type is part of the signature | 01:21 | |
01:22
cygx_ joined
|
|||
AlexDaniel | kittenlips: therefore inside the brackets | 01:22 | |
deepi | hi | ||
kittenlips | AlexDaniel: ah ok, yes that makes sense. My brain intuitively wanted to put the return type syntax after the signature parentheses | ||
AlexDaniel | kittenlips: well, that's how other languages do that, but not all of them | ||
kittenlips | yes I Python, which I also program in | 01:23 | |
AlexDaniel | kittenlips: for example in SQL you can have OUT parameters that are declared inside the brackets | ||
deepi | i need help in writing perl code which edits cornjobs (deletes certain entries which match the regex ) | ||
kittenlips | PL/SQL | ||
01:23
cygx left,
cygx_ is now known as cygx
|
|||
AlexDaniel | kittenlips: uh! Yes. | 01:23 | |
gfldex | deepi: what version of Perl do you aim to write code for? | 01:24 | |
kittenlips | deepi: are you interested in writing it in Perl 6? | ||
hobbs | kittenlips: well that's a different thing. You can do that with rw args, but it's not the same as a return value (just as in PL/SQL it's not the same as the return value) | ||
AlexDaniel | corn jobs! | ||
01:24
deepi left
|
|||
kittenlips | deepi: Perl5 is perfectly suited for corn jobs | 01:24 | |
AlexDaniel | hobbs: sometimes you can use it interchangeably | 01:25 | |
cygx | kittenlips: you can declare a return type after the parens via `returns` | ||
kittenlips | cygx thank you | ||
m: sub foo (Int $x, Rat $y) returns Bool { return True }; | 01:26 | ||
camelia | ( no output ) | ||
AlexDaniel | nice! | ||
kittenlips | SO MANY WAYS to do things in Perl 6 | ||
it's very humbling when a language makes you feel like a child all over again | 01:27 | ||
AlexDaniel | cygx: I didn't know that, thanks | 01:28 | |
cygx | glad to be of service | ||
01:29
raiph joined
|
|||
AlexDaniel | well, it wouldn't be me if I didn't try this | 01:30 | |
m: sub foo (Int $a, Int $x --> Int) returns Str { return True } | |||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kQmhtyNVcdRedeclaration of return type for foo (previous return type was Int)at /tmp/kQmhtyNVcd:1» | ||
AlexDaniel | yeah… that's what I did… did not expect the error message to be so right | 01:31 | |
kittenlips | AlexDaniel cygx: in the docs you see for example method definitions that show use of returns | ||
although for people like me I would only find that if it explicity documented that there are two ways | 01:32 | ||
AlexDaniel | kittenlips: it should be documented! Where did you find it? | ||
or was it just some random page? | |||
gfldex | it is not documented and i'm on it | 01:33 | |
skids | There's actually supposedly a distinction between the two. | ||
kittenlips | AlexDaniel: it's not explicitly documented for example alongside --> form but you see it in doc.perl6.org/type/Signature when methods are described | ||
01:34
_nadim left
|
|||
AlexDaniel | gfldex++ | 01:34 | |
kittenlips | gfldex this part isn't clear to me doc.perl6.org/type/Signature#method_returns | ||
01:34
aborazmeh joined,
aborazmeh left
01:35
aborazmeh joined
|
|||
kittenlips | it just shows that if you define a signature with --> form return type then if you call .returns method on it you get back Int | 01:35 | |
sorry the type | |||
AlexDaniel | m: sub foo() returns Bool; say &foo.returns | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2hNUaooRUGA unit-scoped sub definition is not allowed except on a MAIN sub;Please use the block form.at /tmp/2hNUaooRUG:1------> 3sub foo() returns Bool;7⏏5 say &foo.returns» | ||
01:35
aindilis joined
|
|||
AlexDaniel | m: sub foo() returns Bool {}; say &foo.returns | 01:35 | |
camelia | rakudo-moar eca5df: OUTPUT«(Bool)» | ||
01:35
psy joined
|
|||
AlexDaniel | kittenlips: ↑ | 01:35 | |
kittenlips: but that's the point! | |||
kittenlips | AlexDaniel++ | ||
AlexDaniel | kittenlips: it's a *method* “returns” | 01:36 | |
kittenlips | But it doesn't explicitly tell you in the docs that you can use the keyword returns to define the return type in your function/method declaration | ||
as an alternative to the --> form | |||
AlexDaniel | kittenlips: yeah, well, I think that it should be documented somewhere else. Like in doc.perl6.org/language/functions | ||
kittenlips | m: sub foo(--> Int) {}; &foo.returns; | 01:37 | |
camelia | ( no output ) | ||
skids | m: Int sub a { "foo" }; a(); | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gJI1S7HyuaTwo terms in a rowat /tmp/gJI1S7Hyua:1------> 3Int7⏏5 sub a { "foo" }; a(); expecting any of: infix infix stopper statement end statement m…» | ||
skids | m: my Int sub a { "foo" }; a(); | ||
camelia | rakudo-moar eca5df: OUTPUT«Type check failed for return value; expected Int but got Str in sub a at /tmp/1mV6q4VYmE line 1 in block <unit> at /tmp/1mV6q4VYmE line 1» | ||
01:37
llfourn joined
|
|||
kittenlips | hey, shouldn't that have worked? | 01:37 | |
m: sub foo(--> Int) {}; say &foo.returns; | |||
camelia | rakudo-moar eca5df: OUTPUT«(Int)» | ||
kittenlips | right | ||
AlexDaniel | skids: that would be too much, don't you think? :) | 01:38 | |
kittenlips | m: Int sub a { "foo" }; say &a.returns; | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lLpbz_ojJgTwo terms in a rowat /tmp/lLpbz_ojJg:1------> 3Int7⏏5 sub a { "foo" }; say &a.returns; expecting any of: infix infix stopper statement end …» | ||
kittenlips | m: Int sub a() { "foo" }; say &a.returns; | 01:39 | |
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lq5PsM3iSTTwo terms in a rowat /tmp/lq5PsM3iST:1------> 3Int7⏏5 sub a() { "foo" }; say &a.returns; expecting any of: infix infix stopper statement end …» | ||
kittenlips | m: Int sub a() { 1 }; say &a.returns; | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Wc7aY3hrejTwo terms in a rowat /tmp/Wc7aY3hrej:1------> 3Int7⏏5 sub a() { 1 }; say &a.returns; expecting any of: infix infix stopper statement end st…» | ||
skids | Actually now that I look at S06 it looks like maybe the distinction between .of and the probably deprecated or never implemented .as is likely obselete and handled by coercive types. | 01:40 | |
cygx | m: my Int sub foo() {}; say &foo.returns | ||
camelia | rakudo-moar eca5df: OUTPUT«(Int)» | ||
cygx | ^ kittenlips | ||
kittenlips | question to everyone and I know it's just not important, but is it good programming style to have a space between sub/method name and signature when you declare it or not? | 01:41 | |
cygx++ so there are THREE ways to do it | |||
skids | kittenlips: there are some circumstances where not having the space makes syntax errors later on wonky, IIRC. | ||
kittenlips | m: my Int sub foo() {}; say &foo.returns; sub bar(--> Int) {}; say &bar.returns; sub baz() returns Int {}; say &baz.returns; | 01:42 | |
camelia | rakudo-moar eca5df: OUTPUT«(Int)(Int)(Int)» | ||
01:42
llfourn left
|
|||
AlexDaniel | m: my Int sub foo(--> Int) returns Int {}; say &foo.returns | 01:43 | |
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4V7LMPeRFYRedeclaration of return type for foo (previous return type was Int)at /tmp/4V7LMPeRFY:1------> 3my Int sub foo(--> Int) returns Int {}7⏏5; say &foo.returns expecting any of: …» | ||
kittenlips | I even think there's a fourth way | ||
m: --> Int $a, Rat $b returns Int {}; | 01:44 | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PzTuS1gcLQPrefix -- requires an argument, but no valid term foundat /tmp/PzTuS1gcLQ:1------> 3--7⏏5> Int $a, Rat $b returns Int {}; expecting any of: prefix» | ||
skids | m: sub foo() of Int {}; say &foo.returns | ||
camelia | rakudo-moar eca5df: OUTPUT«(Int)» | ||
kittenlips | skids++ | ||
wow this is like a game | |||
FOUR WAYs | |||
AlexDaniel | nooooooooooooooooooooooo | 01:45 | |
kittenlips | Is of just a synonym for returns or does it have other special significance? | ||
AlexDaniel | *mind blown* | ||
gfldex: document all of them! | |||
gfldex | m: sub f(Int ::T $t --> $ where * ~~ T) { $t }; f(1); | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EQGNgK68HVMalformed return valueat /tmp/EQGNgK68HV:1------> 3sub f(Int ::T $t -->7⏏5 $ where * ~~ T) { $t }; f(1);» | ||
gfldex | m: sub f(Int ::T $t --> T) { $t }; f(1); | ||
camelia | rakudo-moar eca5df: OUTPUT«Type check failed for return value; expected T but got Int in sub f at /tmp/80NXSkd2K6 line 1 in block <unit> at /tmp/80NXSkd2K6 line 1» | ||
gfldex | that may be worth a bug report too | ||
see design.perl6.org/S06.html#En_passan...pe_capture | |||
kittenlips | I have so much to learn because I don't even know what these ::X syntax do | 01:46 | |
gfldex | m: sub f(Int $t --> 123 ) { }; say f(1) | 01:47 | |
camelia | rakudo-moar eca5df: OUTPUT«123» | ||
kittenlips | gfldex++ | ||
01:47
sprocket left
|
|||
skids | m: sub f (::T $x, T $y_is_same_type_as_x) { }; f(4,"foo"); #kittenlips: that, basically | 01:48 | |
camelia | rakudo-moar eca5df: OUTPUT«Type check failed in binding $y_is_same_type_as_x; expected Int but got Str in sub f at /tmp/XedNUupx78 line 1 in block <unit> at /tmp/XedNUupx78 line 1» | ||
01:48
cygx left
|
|||
gfldex | m: sub f(Int $t --> 123 ) { return }; say f(1) | 01:48 | |
camelia | rakudo-moar eca5df: OUTPUT«123» | ||
gfldex | m: sub f(Int $t --> 123 ) { return 666 }; say f(1) | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yo0zqv1uGHNo return arguments allowed when return value 123 is already specified in the signatureat /tmp/yo0zqv1uGH:1------> 3sub f(Int $t --> 123 ) { return 666 7⏏5}; say f(1)» | ||
kittenlips | gfldex I'm trying to find the most appropriate place in the docs to document return types | 01:49 | |
signature return types | |||
gfldex | m: sub f(Int $t --> 123 ) { return 666 }; say f(1); CATCH { default { say $_.perl } } | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dlx05kAGLJNo return arguments allowed when return value 123 is already specified in the signatureat /tmp/dlx05kAGLJ:1------> 3sub f(Int $t --> 123 ) { return 666 7⏏5}; say f(1); CATCH { default { …» | ||
01:49
aborazmeh left
|
|||
gfldex | looks like that one is uncatchable | 01:49 | |
hobbs | kittenlips: "of" is actually the one that's documented in S06 (it's also used for typed arrays and such, so you can have my @array of Int) | ||
sammers | hi everyone, are there any good resources for Role-oriented programming that you can recommend? | 01:50 | |
gfldex | m: sub f(Int $t --> Str(Int) ) { return 666 }; say f(1).WHAT; CATCH { default { say $_.?perl } } | ||
camelia | rakudo-moar eca5df: OUTPUT«X::TypeCheck::Return.new(operation => Any, got => 666, expected => Str(Int))» | ||
gfldex | m: sub f(Int $t --> Str(Int) ) { return 666 }; say f("1").WHAT; CATCH { default { say $_.?perl } } | ||
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ixG19kPdwqCalling f(Str) will never work with declared signature (Int $t --> Str(Int))at /tmp/ixG19kPdwq:1------> 3t $t --> Str(Int) ) { return 666 }; say 7⏏5f("1").WHAT; CATCH { default { say $_.…» | ||
kittenlips | hobbs++ one question though should users be reading the synopses for documention? | ||
gfldex | m: sub f(Str $t --> Str(Int) ) { $t }; say f("1").WHAT; CATCH { default { say $_.?perl } } | 01:51 | |
camelia | rakudo-moar eca5df: OUTPUT«X::TypeCheck::Return.new(operation => Any, got => "1", expected => Str(Int))» | ||
hobbs | kittenlips: I dunno, but I am. :) | ||
skids | kittenlips: probably add a section to docs.perl6.org/language/functions#D..._Functions | ||
kittenlips | as a new user to Perl 6 I wasn't looking there | ||
hobbs | I'd assume not, but it's still a resource | ||
gfldex | kittenlips: that S?? are not updated anymore, so there are a few things in there that are gone already | ||
docs.perl.org will be the user facing side of the language spec | 01:52 | ||
kittenlips | oh hobbs were you talking about the roast? | ||
01:52
sprocket joined
01:53
sprocket left
|
|||
kittenlips | m: class MyClass { multi method foo (Int $x) returns Bool { return True; } multi method foo (Int $x, Rat $y) returns Str { return "Barf" } } | 01:54 | |
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BgosIFaTF2Strange text after block (missing semicolon or comma?)at /tmp/BgosIFaTF2:1------> 3o (Int $x) returns Bool { return True; }7⏏5 multi method foo (Int $x, Rat $y) retur expecting an…» | ||
hobbs | sammers: it's for Perl 5 + Moose, not for Perl 6, but rjbs's OSCON tutorial "Moose is Perl" covers role-based patterns really nicely starting about a third of the way in. Just, y'know, all of the code examples are wrong :) | 01:55 | |
kittenlips | m: class MyClass { multi method foo (Int $x) returns Bool { return True; } multi method foo (Int $x, Rat $y) returns Str { return "Barf"; } } | 01:56 | |
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/w7V4So0p8GStrange text after block (missing semicolon or comma?)at /tmp/w7V4So0p8G:1------> 3o (Int $x) returns Bool { return True; }7⏏5 multi method foo (Int $x, Rat $y) retur expecting an…» | ||
sammers | hobbs: great, thanks. I will take a look. For role naming, is it basically the name is an adjective? Like the examples here? And then act as a collection of actions? | ||
timotimo is working on making .hyper pay attention to the incoming sequence numbers | |||
01:57
pjscott joined
|
|||
skids | glfdx: when was it decided to shuk off the synopsis as the design docs? I don't see where docs.perl6.org can serve the same purpose and stay beginner-friendly. | 01:57 | |
glfdex even | 01:58 | ||
kittenlips | m: multi foo (Int $x) returns Bool { }; multi foo (Int $x, Rat $y) returns Str { } | ||
camelia | ( no output ) | ||
kittenlips | Is it bad programming style to have a multi dispatch sub/method which returns different types? | ||
I would think so | |||
01:59
Ben_Goldberg joined,
pjscott left
02:00
pjscott joined
|
|||
gfldex | kittenlips: the dispatcher doesn't care. And the return type check is just that, a type check. | 02:00 | |
02:00
Ben_Goldberg is now known as BenGoldberg
|
|||
skids wonders if they make thin usb keyboards meant to sit on top of a laptop keyboard because the laptop keyboard sucks. | 02:01 | ||
gfldex | m: sub f(--> Any) { Nil }; dd f(); | ||
camelia | rakudo-moar eca5df: OUTPUT«Nil» | ||
gfldex | m: sub f(--> Int) { Nil }; dd f(); | ||
camelia | rakudo-moar eca5df: OUTPUT«Nil» | ||
gfldex | kittenlips: see ^^^ | ||
kittenlips | what is dd? | 02:02 | |
BenGoldberg | Data Dumper | ||
Or perhaps, Debug Dumper | |||
kittenlips | thanks | ||
or Dig Dug | |||
BenGoldberg | I haven't played that in a looooong time. | ||
sammers | hobbs: found it, youtu.be/LKXvG6VKew4?t=3263 | 02:03 | |
kittenlips | gfldex your commands are you showing a bug in Rakudo? | 02:04 | |
hobbs | sammers: in practice I've seen plenty of role names that are nouns. Adjectives are a good way to think about it, but when there's a perfectly good noun for "doodad that does XYZ"... :) | 02:06 | |
gfldex | kittenlips: sorry, i don't get you | 02:07 | |
kittenlips: since this is a parse-error ===SORRY=== even | |||
kittenlips | in the examples you were trying to show | ||
m: sub f(--> Any) { Nil }; dd f(); | |||
camelia | rakudo-moar eca5df: OUTPUT«Nil» | ||
kittenlips | m: sub f(--> Int) { Nil }; dd f(); | ||
camelia | rakudo-moar eca5df: OUTPUT«Nil» | ||
skids | kittenlips: no, Nil and Failure are always allowed as return types even when specified otherwise. | ||
kittenlips | oh wow I didn't know that | ||
gfldex | and Nil is not (always) a failure mode indicator | 02:08 | |
skids | (So that soft errors can still get out from inside.) | ||
kittenlips | I have to say Perl 6 is going to need amazing docs in order to lower barrier of entry, it is a very very deep language | ||
sammers | thanks hobbs, I have seen some modules in the modules.perl6.org use class Foo does Role {} which seems a little generic as naming conventions go... | ||
02:09
pierre-vigier joined
02:12
nbrown left
|
|||
kittenlips | gfldex: if you are updating the docs I believe documentation of return type constraints should be actually in three places | 02:12 | |
docs.perl6.org/language/objects#Methods doc.perl6.org/type/Signature#Type_Constraints doc.perl6.org/language/functions#Signatures | |||
awwaiid | kittenlips: yes ... I keep drawing all of these mind-maps to try to figure out a minimal set of axioms for the language :) | ||
gfldex | Function.html points to Signature.html, what is the right place for it beside the FAQ | 02:13 | |
the FAQ got --> covered | |||
kittenlips | and here again are the FOUR WAYs we discovered | ||
02:14
pierre-vigier left
|
|||
kittenlips | m: my Int sub foo() {}; sub bar(--> Int) {}; sub baz() returns Int {}; sub bom() of Int {}; | 02:14 | |
camelia | ( no output ) | ||
02:15
pjscott left
|
|||
gfldex | how do i quite a > in Pod6? | 02:15 | |
*quote | |||
X<-->> doesn't work so well :) | |||
02:17
cognominal joined
|
|||
skids | C<-->>? | 02:17 | |
flussence | try X<< --> >>? | ||
timotimo | or X«-->» | 02:18 | |
(unless this is pod5 | |||
) | |||
flussence | .oO( pod6 ought to let us write q:X{}... ) |
02:19 | |
skids | I see C«=>» used, so «-->» should work | 02:21 | |
kittenlips | is it normal for Github to barf when trying to look at pod? | ||
github.com/perl6/doc/blob/master/d...rators.pod | |||
flussence | yep, completely normal for github... | 02:22 | |
kittenlips | pod is kryptonite for Github | ||
or should i say Pod6 | |||
02:22
xpen joined
|
|||
flussence | I'd say perl6 in general is, it's been an uphill battle to make that site not suck to use :/ | 02:23 | |
kittenlips | And hopefully someday properly syntax highlight Perl6 | ||
02:23
FROGGS joined
02:24
[Tux] left
|
|||
kittenlips | I guess every site has it's drawbacks for work we also have a lot of projects on Bitbucket and it has its own share of probs | 02:24 | |
timotimo | [0 1 2 3 5 6 7 8 10 11 12 14 15 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 36 38 39] | 02:25 | |
so close to the goal! | |||
kittenlips | timotimo: which goal? | ||
.hyper? | |||
flussence | gitlab does a passable job of p6 highlighting. most of it comes out red for some reason, but it's readable... | 02:26 | |
timotimo | yes | ||
kittenlips | flussence: that's true it at least doesn't make things worse by highlighting | 02:27 | |
02:28
pjscott joined
|
|||
kittenlips | have to say both nine and MadcapJake work on syntax highlighting efforts has been awesome | 02:28 | |
flussence | then again, it might be using a perl5 highlighter and just getting lucky on the boring code I throw at it :D | ||
dalek | c: 95c4a87 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod: doc Constraining Return Types |
||
c: b1baf91 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod: Merge pull request #303 from gfldex/master doc Constraining Return Types |
|||
02:29
FROGGS left,
uruwi_ left,
addison joined
|
|||
gfldex | m: sub f(%a is default(0)) { $a }; f.perl.say; | 02:29 | |
camelia | rakudo-moar eca5df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Mh5Tua98BPCan't use unknown trait 'is default' in a parameter declaration.at /tmp/Mh5Tua98BP:1 expecting any of: rw readonly copy required raw …» | ||
kittenlips | glfdex++ | ||
just one thing constrain --> contraint if you use it in noun form | 02:30 | ||
02:32
johnjohn101 joined
|
|||
johnjohn101 | hi perl 6 peeps | 02:32 | |
dalek | c: c3db56f | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod: fix typos |
02:33 | |
c: e1e225b | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod: Merge pull request #304 from gfldex/master fix typos |
|||
kittenlips | hi johnjohn101 | ||
gfldex | that was the test if you are paying attention :) | ||
kittenlips | ;-) | ||
02:33
addison left
|
|||
timotimo | [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39] | 02:33 | |
doesn't that look good? | |||
kittenlips | awesome! what am I looking at? | 02:34 | |
flussence | working threads? :) | 02:35 | |
kittenlips | just kid, i know you wanted to make sure hyper was controlling order | ||
flussence | (does that even use threads?) | ||
timotimo | :) | ||
yes, it does | |||
0.12user 0.02system 0:00.14elapsed 104%CPU (0avgtext+0avgdata 78992maxresident)k | |||
autarch | what's a good we to compare to Regex objects? | ||
kittenlips | The spec says that .hyper must retain order while .race doesn't have to right? | ||
timotimo | yep | ||
02:35
bpmedley left
|
|||
timotimo | [0 1 2 3 4 5 6 7 8 10 11 9 14 15 16 17 18 19 20 21 12 13 22 23 24 25 26 27 28 29 30 31 32 35 36 33 34 37 38 39] | 02:36 | |
^- this one is with .race | |||
flussence | autarch: um, that's a bit vague | ||
kittenlips | timotimo: is this something you had to implement in MoarVM? | ||
timotimo | no | ||
i'll clean up the code a tiny bit and push it to a branch | |||
kittenlips | oder? | ||
02:36
[Tux] joined
|
|||
autarch | flussence: I want to see if two Regex objects are the same | 02:36 | |
timotimo | then you can see it | ||
flussence | I think regexes stringify to their code, not sure if it canonicalises them in any way though | 02:37 | |
timotimo | not at all | ||
flussence | m: my $x; my $y = rx/ foo bar $x baz/; say $y | ||
camelia | rakudo-moar eca5df: OUTPUT«rx/ foo bar $x baz/» | ||
autarch | yeah, that's what I was afraid of - I'll find another way to make this work | 02:38 | |
02:38
pjscott left
|
|||
timotimo | i think the control flow could be made a bit simpler | 02:38 | |
02:38
llfourn joined
|
|||
timotimo | but i'm dead tired right now ;) | 02:38 | |
dalek | kudo/hyper_tracks_sequence_numbers: 730639f | timotimo++ | src/core/HyperSeq.pm: hyper now cares about sequence numbers of work this code wants to get a bit cleaned up. i'm sure the control flow could be a bit less convoluted. |
02:39 | |
02:39
pjscott joined
|
|||
timotimo | kittenlips: have a look | 02:39 | |
flussence | maybe :samespace one to the shape of the other, then string compare them... hm | 02:40 | |
flussence decides down this route lies worse insanity than html parsing and stops thinking too hard about it | |||
02:41
sprocket joined,
pjscott left
|
|||
BenGoldberg | html parsing isn't insanity. html parsing with pure old fashioned regex is insanity. | 02:42 | |
02:44
llfourn left
|
|||
autarch | I think with Perl 6 we could parse stackoverflow.com/questions/1732348...54#1732454 pretty easily | 02:44 | |
02:44
pjscott joined
|
|||
hobbs | HTML parsing isn't *completely* sane no matter what, when you get into the realm of "wrong but you still have to accept it" sort of constructs | 02:44 | |
02:45
sprocket left
02:46
xpen left,
sprocket joined,
xpen joined
02:47
pjscott left,
herby_ joined
|
|||
herby_ | Good evening, everyone! | 02:47 | |
kittenlips | me too, night all | ||
02:47
kittenlips left
|
|||
timotimo | aaw | 02:48 | |
i hoped maybe kittenlips could have a look at cleaning that code up | |||
02:48
pjscott joined
02:49
xpen_ joined
02:50
sprocket left
02:52
BenGoldberg left,
BenGoldberg joined,
xinming_ joined
02:53
xpen left,
pjscott left
02:54
johnjohn101 left,
BenGoldberg left
|
|||
autarch | every time I start working on one module I end up with an urge to write another module to make writing this one easier | 02:55 | |
02:55
BenGoldberg joined
02:56
xinming left
|
|||
flussence | seems endemic round these parts... | 02:56 | |
02:56
llfourn joined
|
|||
ugexe | m: say ::("Test").^methods[^3]; say ::("Test").Int; # whats really happening that .^methods doesn't fail? | 02:59 | |
camelia | rakudo-moar eca5df: OUTPUT«(BUILD DESTROY AT-POS)No such symbol 'Test' in block <unit> at /tmp/sOFDTLwzxm line 1Actually thrown at: in block <unit> at /tmp/sOFDTLwzxm line 1» | ||
timotimo doesn't seem to have that | |||
m: say ::("Test").WHAT | 03:00 | ||
camelia | rakudo-moar eca5df: OUTPUT«(Failure)» | ||
timotimo | you can ask the failure for its methods no-prob | ||
ugexe | ah | ||
but .Int is listed in .^methods | 03:01 | ||
timotimo | yeah, but it throws the exception :) | 03:02 | |
m: say Failure ~~ Any | 03:03 | ||
camelia | rakudo-moar eca5df: OUTPUT«True» | ||
timotimo | m: say Any.new.Int | ||
camelia | rakudo-moar eca5df: OUTPUT«Method 'Int' not found for invocant of class 'Any' in block <unit> at /tmp/svLz8CGmA3 line 1» | ||
timotimo | hmm. | ||
ah, yes. Failure has its own Int method | |||
it throws when unhandled, otherwise it returns 0 | |||
um, it returns Int | 03:04 | ||
on jvm it returns 0 | |||
awwaiid | hmm. "only onlystar-protos can be merged" | 03:05 | |
03:06
vendethiel left,
ccakes left
|
|||
timotimo | bedtime | 03:09 | |
good night! | |||
03:09
AlexDaniel left
|
|||
gfldex | is there any consensus where and how to store *.pod for a module? | 03:10 | |
03:11
vendethiel joined
03:12
noganex_ joined
|
|||
gfldex | the consensus in the eco system seams to be: "a README.md will do dude!" | 03:13 | |
ugexe | most people read the docs directly from github, so that would make sense | 03:14 | |
flussence | putting it in a doc/ directory with the same structure as lib/ seems like a sensible choice | ||
autarch | gfldex: I've been writing actual pod for my code - I don't think a README.md is sufficient for anything non-trivial | ||
03:14
noganex left
|
|||
autarch | I have vague plans around making Dist::Wocky turn pod into markdown and update a gh-pages branch on "wocky release" | 03:14 | |
03:15
Guest9702 left
|
|||
autarch | which seems like a reasonable thing to do til we have a cpan of our own | 03:15 | |
ugexe | github displays non-pod6 pod already | ||
rjbs | autarch: Can Dist::Wocky announce releases over XMPP? | ||
autarch | rjbs: uh, it can't do squat right now ;) | 03:16 | |
but I'm sure that could be a plugin someone else could write | |||
03:16
SwellJoe joined
|
|||
rjbs | Could that plugin be called Dist::Wocky::Jabber? @_@ | 03:16 | |
awwaiid | gist.github.com/awwaiid/01fe0e56e2c1220548a1 # All the :lang | 03:17 | |
autarch | rjbs: ah, I see | ||
awwaiid | I got Lua, Ruby, Python, and Perl5 all running from EVAL in the same p6 script (but not the same block) | 03:19 | |
03:23
evdubs left
|
|||
b2gills | m: say (^5).hyper(:batch(1),:degree(5)).map({ sleep 0.5 - $_/10; $_ }).eager # reliably in the exact wrong order (backlogging) | 03:25 | |
camelia | rakudo-moar eca5df: OUTPUT«(4 3 2 1 0)» | ||
03:28
pjscott joined
03:30
addison joined
03:32
vendethiel left
03:34
addison left
03:40
pjscott left
03:44
uvtc joined
03:52
psy left,
edehont joined
03:55
psy joined
04:02
rickbike left
04:03
jasanj left
04:04
jasanj joined
04:11
cdg joined
04:17
visitor joined
04:21
visitor left
04:24
pjscott joined,
pjscott left
04:25
pjscott joined
04:31
edehont left
04:42
addison joined
04:47
pjscott left
04:48
FROGGS joined,
rickbike joined
04:50
addison left
04:52
addison joined
04:53
pjscott joined
04:55
bpmedley joined
04:58
FROGGS left
04:59
nexyssno joined,
FROGGS joined
05:02
addison left
05:06
pjscott left
05:07
pjscott joined
05:09
FROGGS left
05:11
protium joined
05:14
AndyDee left
05:17
pjscott left,
cdg left,
pjscott joined
05:19
addison joined
05:24
nexyssno left
05:25
addison left
05:28
pjscott left,
uvtc left
05:30
FROGGS joined
05:31
rburkholder joined,
rburkholder left
05:39
xinming joined
|
|||
ugexe | why does cur.install add a shebang to source files? | 05:39 | |
nevermind, the module author added it to their module for some reason...? | 05:40 | ||
is there any reason to do that? | |||
05:41
nige1 joined
05:43
xinming_ left,
pjscott joined
|
|||
TimToady smiles at the usage of "shebang" for #!, which he coined so very long ago that nobody knows it... | 05:43 | ||
05:44
Cabanossi left
|
|||
tony-o_ | i'll credit you next time my old man tells me i can't say that at work timotimo | 05:45 | |
TimToady: | |||
05:45
FROGGS left
|
|||
flussence | I'd guess the most likely reason for putting it in a module is to trick vim's ftdetect into doing the right thing | 05:45 | |
or some other highlight thingy | 05:46 | ||
tony-o_ | my really old modules have that, mostly because i'd use it to ensure valid syntax from vim | ||
hobbs | TimToady: I thought it was William Hung in 2004 :) | ||
TEttinger | I took a CS class with the very same William Hung | 05:47 | |
he was not exactly competent | |||
05:47
Cabanossi joined
|
|||
hobbs | ha | 05:47 | |
TEttinger | he contributed, IIRC, between 0 and 10 lines of code to the final group project | 05:48 | |
10 might be generous | 05:49 | ||
tony-o_ | that's 10 lines you didn't have before | ||
TEttinger | and a lot of hassle asking him, did you read the docs yet? | ||
and of course he bailed when we got allowed overtime to finish it. only 2 people in the what, 5-person group stuck with it to the end | 05:50 | ||
tony-o_ | sounds like there are some holes in this story | 05:51 | |
TEttinger | yep | ||
but mostly we bit off more than we could chew, and he didn't know how to chew | |||
05:53
BenGoldberg left
|
|||
ugexe | site/dists/$SHA1<depends> has a value of `[ [ ] ]` when meta6.json has `"depends" : [ ]`, and a value of `[ ]` if there there is no `depends` in the meta | 05:54 | |
05:54
regreg joined
05:55
FROGGS joined
05:58
geraud left
06:01
khw left
|
|||
TimToady | nah, I coined it long before that in some of my ancient patch files for rn or some such, "Delete everything down to the shebang line and run it through shell" was how it went, or some such. | 06:02 | |
'course it's possible that multiple people invented it independently, but I never heard anyone else use it before me | 06:03 | ||
this would probably be in the late '80s | 06:04 | ||
hobbs | I was kidding of course :) | 06:05 | |
06:05
pjscott left
|
|||
hobbs | but that's interesting. I don't think anyone really *does* know the origin for sure, although wikipedia has you as the earliest known cite. | 06:07 | |
frew wonders if it would be fun to make a perl6-ish pico-8 | 06:09 | ||
TimToady | oh, good, they listened to me then, after I noticed they had "nobody knows" earlier :) | ||
well, I know the origin for pretty sure :) | 06:10 | ||
06:10
pierre-vigier joined
|
|||
TimToady | after all, I was there when I coined it :) | 06:11 | |
and it was quite intentional at the time | |||
me already being the sort of tail that wags the dog frequently | 06:12 | ||
06:13
kaare_ joined
06:14
xpen_ left
|
|||
hobbs | :) | 06:14 | |
06:14
pierre-vigier left
06:15
xpen joined,
pjscott joined
|
|||
TimToady | and it was certainly just short for "sharp bang" when I coined it, regardless of their ruminations in that paragraph | 06:16 | |
moritz | good morning | 06:17 | |
06:19
psy left
06:22
FROGGS left
|
|||
rickbike | Happy Old Year, #perl6 | 06:22 | |
skids | o/ | ||
rickbike | I had a issue manually installing Panda. | 06:23 | |
The scripts use git:// urls | |||
Github recommends https:// for cloning | |||
BTW, perl6 rocks, thanks for all the hard work! | 06:24 | ||
TimToady | yer welcome! | 06:25 | |
rickbike | created issue: github.com/tadzik/panda/issues/277 | 06:26 | |
adrusi | I'm having problems installing panda. trying to package actually, but a normal manual install is failing | 06:28 | |
bootstrap.pl succeeds but when I run pandas I get this error ix.io/n4z | |||
rickbike | Visiting my Dad, maybe ComCast ISP doesn't like git:// ? | ||
gfldex | .u ᚒ | ||
yoleaux | U+1692 OGHAM LETTER UR [Lo] (ᚒ) | ||
TimToady | .u 卅 | 06:31 | |
yoleaux | No characters found | ||
06:32
sprocket joined
|
|||
gfldex | perfectly fine chars for operators if you ask me --> en.wikipedia.org/wiki/Ogham_%28Unicode_block%29 | 06:32 | |
hobbs | rickbike: not sure what a fix should be, if any (the git urls really *should* work), but I have a workaround for you if you would like it | ||
adrusi | git:// urls won't work if port 22 is blocked | 06:33 | |
hobbs | sure they will, git:// is port 9418, not 22 :) | 06:34 | |
06:34
SwellJoe left
06:35
sprocket left
|
|||
rickbike | since https "always" works, it should be the goto url everywhere in the scripts | 06:35 | |
the panda scripts seem to be using git urls, so those should be replaced with https | 06:36 | ||
ugexe | jdv79: so even though its not specced, source-url is part of rakudo's Distribution object apparently: github.com/rakudo/rakudo/blob/nom/...ion.pm#L25 | 06:37 | |
rickbike | from Fetcher.pm: | 06:38 | |
when /^[http|https]'+git://'/ { return git-fetch $from.subst(/'+git'/, ''), $to, $commit;} | |||
Is that substituting git into https URLs? | 06:39 | ||
hobbs | no | ||
skids | it's removing '+git' | 06:40 | |
hobbs | it's replacing http+git:// with http:// | ||
and likewise with https | |||
other than that, it uses the URL that the module says it should | |||
you won't find the problem in the code. | |||
skids | Hrm well META.list in ecosystem is all https methods. | 06:41 | |
hobbs | it's the URLs within the META.infos pointed to by that list | 06:42 | |
e.g. raw.githubusercontent.com/tadzik/F.../META.info has source-url: "git://github.com/tadzik/File-Find.git" | 06:43 | ||
skids | We have something that lints those IIRC? | ||
hobbs | rickbike: do you want a workaround so you can get some stuff installed? That, at least, is pretty easy | ||
at least for everything on github, which is... apparently everything :) | 06:44 | ||
rickbike | hobbs: yes, please :) | ||
hobbs | rickbike: just add these two lines to ~/.gitconfig: paste.scsys.co.uk/503700 | 06:45 | |
rickbike | hobbs++ | ||
hobbs | ++ whoever created that super useful feature :) | 06:46 | |
ugexe | cur.install should not install a module that fails to precompile. '===SORRY!=== Error while compiling ...' but it still installed the dist | 06:47 | |
jeez | |||
TimToady | finally nailed the value loop context bug, whew! | 06:49 | |
turned out when it created a new block it was pushing it into the declarations of a block too far up the stack, so that even if the outer were set correctly on the block, the variables were not elaborated at the time the block was cloned | 06:50 | ||
[Tux] | test Method 'get' not found for invocant of class 'Any' | ||
in sub MAIN at test.pl line 229 | |||
in block <unit> at test.pl line 220 | |||
ugexe | ArgFiles was just changed to CatFiles or something... probably related to that somehow | 06:51 | |
TimToady | likely | ||
[Tux] | for lines () { | ||
06:52
pjscott left
|
|||
TimToady | lizmat: ^^ | 06:52 | |
06:53
pjscott joined
|
|||
[Tux] | same for for lines() :eager { | 06:53 | |
that is an older script, and I know :eager isn't needed anymore | |||
06:54
regreg left
06:55
pjscott left,
pjscott joined
|
|||
skids changes a few packages to https, such that he can. | 06:58 | ||
07:02
SwellJoe joined,
regreg joined
07:07
araujo left
07:08
araujo joined
07:13
bpmedley left
07:17
edehont joined
|
|||
gfldex | i just checked and git:// is a lot faster | 07:17 | |
07:18
pierre-vigier joined
|
|||
edehont | Hi, dear Perl-people! | 07:19 | |
skids | o/ | 07:20 | |
edehont | Trying to get my head around supplies and taps, I get a weird result from the example in the docs: doc.perl6.org/type/Supply#method_share | ||
rickbike | gfldex: some evil ISPs throttle upper ports, apparently including git: | ||
edehont | Both arrays @first and @second remain empty, so the result of the final say is 0. | 07:21 | |
gfldex | m: my $s = Supply.from-list(^100000).share; my @first; $s.tap: { @first.push($_) }; my @second; $s.tap: { @second.push($_) }; say @first + @second; | 07:23 | |
camelia | rakudo-moar eca5df: OUTPUT«0» | ||
gfldex | m: my $supplier = Supplier.new; my $supply_1 = $supplier.Supply; $supply_1.tap(-> $v { say "One $v" }); my $supply_2 = $supplier.Supply; $supply_2.tap(-> $v { say "Two $v" }); $supplier.emit(42); | 07:24 | |
camelia | rakudo-moar eca5df: OUTPUT«One 42Two 42» | ||
gfldex | m: my $s = Supply.from-list(^100000); my @first; $s.tap: { @first.push($_) }; my @second; $s.tap: { @second.push($_) }; say @first, @second; | 07:25 | |
camelia | rakudo-moar eca5df: OUTPUT«[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 8…» | ||
07:26
pjscott left
07:27
pjscott joined
|
|||
dalek | rakudo/from-loop: 9cecde8 | (Stefan Seifert)++ | src/core/Exception.pm: | 07:27 | |
rakudo/from-loop: De-confuse people trying to load a module for a CORE type | |||
rakudo/from-loop: | |||
rakudo/from-loop: Tell people who try to load a module when a similarly named internal | |||
rakudo/from-loop: type is available. E.g. give a helpful message when someone tries to: | |||
07:27
dalek left
07:28
dalek joined,
ChanServ sets mode: +v dalek,
dalek left
07:29
dalek joined,
ChanServ sets mode: +v dalek,
xpen left,
pjscott left
07:30
lnrdo left
07:31
lnrdo joined
|
|||
TimToady | m: sub f($x) { my $z; do $z while ++$z < $x;}; say f(5) | 07:31 | |
camelia | rakudo-moar eca5df: OUTPUT«Cannot call prefix:<++>(Any); none of these signatures match: (Mu:D $a is rw) (Mu:U $a is rw) (Int:D $a is rw) (int $a is rw) (Bool $a is rw) (Num:D $a is rw) (Num:U $a is rw) (num $a is rw) in block <uni…» | ||
skids | m: my $s = Supply.interval(1).share; my @first; $s.tap: { @first.push($_) }; sleep 1; my @second; $s.tap: { @second.push($_) }; sleep 1; say @first + @second; | 07:33 | |
camelia | rakudo-moar eca5df: OUTPUT«1» | ||
gfldex | m: my $su = Supplier.new; my $s = $su.Supply; my @first; $s.tap: { @first.push($_) }; my @second; $s.tap: { @second.push($_) }; $su.emit($_) for ^1000; say @first + @second; | ||
camelia | rakudo-moar eca5df: OUTPUT«2000» | ||
gfldex | edehont: see ^^^ | ||
skids | m: my $s = Supply.interval(1).share; my @first; $s.tap: { @first.push($_) }; sleep 1; my @second; $s.tap: { @second.push($_) }; sleep 1; say @first, @second; | 07:34 | |
camelia | rakudo-moar eca5df: OUTPUT«[1 2][2]» | ||
gfldex | not sure if the example should have worked or if it's outdated tho | ||
skids | That example is screwey. | ||
Maybe it is assuming caching | |||
edehont | gfldex: Thanks! | ||
07:36
SwellJoe left
|
|||
skids | m: my $s = Supply.interval(1).share; my @first; $s.tap: { @first.push($_) }; sleep 1; my @second; $s.tap: { @second.push($_) }; sleep 1; say @first + @second; say @first, @second; say @first + @second; | 07:36 | |
camelia | rakudo-moar eca5df: OUTPUT«3[1 2][2]3» | ||
gfldex | m: Supply.from-list(^10).share.WHAT.say | 07:37 | |
camelia | rakudo-moar eca5df: OUTPUT«(Supply)» | ||
skids | Though it's kinda strange that the .elems seems to take some sort of shortcut when the arrays are not iterated. | ||
07:37
nige1 left
|
|||
edehont | gfldex: With beginners like me, in the end the documentation will be fool proof! | 07:37 | |
gfldex | the iterator is doing count-only i guess | ||
07:38
xpen joined,
Psyche^ joined
07:39
CIAvash joined
07:40
nige1 joined
07:41
xpen left,
_mg_ joined,
Psyche^_ left,
xpen joined
07:42
pjscott joined
07:43
domidumont joined,
pierre-vigier left,
xpen_ joined
|
|||
edehont | gfldex: Thanks for now, will be back later. | 07:44 | |
07:46
pierre-vigier joined
07:47
xpen left
07:48
domidumont left,
domidumont joined
07:49
_mg_ left
|
|||
TimToady | m: sub f($x) { my $z; do $z while ++$z < $x;}; say f(5) | 07:51 | |
camelia | rakudo-moar 8d8d74: OUTPUT«(1 2 3 4)» | ||
TimToady | that's better | ||
skids | TimToady++ | 07:52 | |
TimToady | closed #127013 and dups #127022 & #127069 | ||
.tell jnthn We now do value loops using your Seq.from-loop routines, after some drama over doing block transforms outside of where @!BLOCKS is a valid way to look things up | 07:54 | ||
yoleaux | TimToady: I'll pass your message to jnthn. | ||
07:57
edehont left,
lnrdo left
|
|||
moritz | off-topic question: can somebody recommend some tooling for creating e-books? | 07:58 | |
I'd like to write text in markdown or another simple markup format, and generate epub and PDF files from that | |||
gfldex | epub is compressed xhtml with some fairy dust | 07:59 | |
after you got the xhtml you use metacpan.org/pod/EBook::EPUB to stich them together | 08:00 | ||
dalek | c: 03f2f85 | skids++ | doc/Type/Supply.pod: Better and less racey example of Supply.share |
||
gfldex | there is a javatool publishing houses require to be used that checks epubs for conformance | ||
github.com/IDPF/epubcheck there it is | 08:02 | ||
08:03
AlexDaniel joined,
anaeem1_ joined,
lnrdo joined,
anaeem1_ left
|
|||
moritz | gfldex: thanks | 08:04 | |
AlexDaniel | m: say 𝍬 | ||
camelia | rakudo-moar 8d8d74: OUTPUT«40» | ||
AlexDaniel | m: say 𝍪 | 08:05 | |
camelia | rakudo-moar 8d8d74: OUTPUT«20» | ||
AlexDaniel | ah, right | ||
moritz | gfldex: thanks | ||
AlexDaniel | m: say 𝍢 | ||
camelia | rakudo-moar 8d8d74: OUTPUT«3» | ||
AlexDaniel | counting rods, yay! | ||
moritz | googling shows that people recommend pandoc to convert markdown to epub | 08:06 | |
08:08
pjscott left
|
|||
CIAvash | moritz: Not sure it helps www.masteringemacs.org/article/how...k-in-emacs | 08:09 | |
08:11
darutoko joined
08:13
xinming_ joined
08:14
raiph left
08:16
zengargoyle left,
xinming left
08:18
xinming joined
|
|||
dalek | kudo/nom: 5a69da8 | TimToady++ | src/core/Exception.pm: improve message on premature virtual method call fixes RT #127097 |
08:18 | |
08:19
xinming_ left
08:23
virtualsue joined
08:25
xinming left
08:31
xinming joined
08:32
atweiden joined
08:34
FROGGS joined
08:36
atweiden left
08:37
atweiden joined
08:38
xpen_ left
|
|||
adrusi | I'm able to get panda installed so that I can at least get to the help message if I run it as root and specify PERL6LIB=/usr/share/perl6/vendor/lib | 08:38 | |
08:39
xpen joined
|
|||
atweiden | i made a short script for installing p6 modules with distro package managers (no panda): github.com/atweiden/alacryd | 08:39 | |
it's working so long as you install maximum one module | |||
the problem is different modules want to write to the same files on disk | |||
this makes pacman angry | |||
skids | I would guess the result would also be bad, since the package manager would just overwrite. | 08:40 | |
atweiden | skids: indeed | ||
but for a second there i thought i had made a breakthrough :p | |||
adrusi | If I don't use root it fails because it tries to precompile the source files in /usr/share/perl6/vendor/lib which only root can do obviously | ||
atweiden | adrusi: been clashing with that as well | 08:41 | |
skids | arusi: yeah I've seen some other folks talking about that but I don't know how far they got taming rakudo for a central install + user mods. | ||
adrusi | I've been trying to make this package work aur.archlinux.org/packages/perl6-panda/ | 08:42 | |
atweiden | i saw that pkg earlier | ||
it's what inspired me to write alacryd | |||
:) | |||
adrusi | it looks like it's trying to do something along those lines with "rm "$pkgdir/usr/share/perl6/vendor/repo.lock"" | ||
atweiden, did you look into that at all? | 08:43 | ||
atweiden | adrusi: this is closest i've got to sanity ix.io/n4C | ||
but it only works for one module | |||
08:43
luiz_lha joined
|
|||
atweiden | *at a time | 08:43 | |
08:44
luiz_lha is now known as Guest26508
|
|||
adrusi | which files conflict? | 08:44 | |
nine | adrusi: how did you do your "normal manual install" to arrive at that message? | ||
08:44
lnrdo left,
joydo left
08:45
lnrdo joined
|
|||
atweiden | /usr/share/perl6/vendor/precomp/413F3BD5D4F94D649F3E47499CCF19AF880EAC42.1451260638.8563/41/4101BAF379CCF9916615A00E2198D1A21E865858 | 08:45 | |
/usr/share/perl6/vendor/precomp/413F3BD5D4F94D649F3E47499CCF19AF880EAC42.1451260638.8563/41/4101BAF379CCF9916615A00E2198D1A21E865858.deps | |||
which is bad because one of those is moarvm bytecode | |||
08:45
FROGGS left
08:46
xpen_ joined
|
|||
adrusi | nine: honestly at this point I'm not not able to replicate it | 08:46 | |
I was following the instructions in the panda readme at the time, I think I stopped seeing that error after rebuilding the entire perl6 toolchain | 08:47 | ||
atweiden | you'd think the filesystem locations would be deterministic | ||
nine | atweiden: does it make sense to search recursively in bin/? | ||
atweiden | nine: what do you mean? | ||
08:48
xpen left
|
|||
nine | atweiden: your alacryd script searches the dists's bin/ directory recursively using the find sub. But I can't see a use-case for that. bin/ will always contain just one or several scripts, but having subdirectories in there doesn't make sense | 08:48 | |
atweiden | oh, i just lifted that from panda or find::bundled | 08:49 | |
the script could easily do without it | |||
08:50
regreg left
|
|||
pierre-vigier | m: say [[1,2]];say [[1,2],]; | 08:51 | |
camelia | rakudo-moar 5a69da: OUTPUT«[1 2][[1 2]]» | ||
pierre-vigier | how comes it flattens without the trailing comma... | 08:52 | |
nine | atweiden: $*REPO[0] doesn't make sense either. $*REPO is the first repository in a linked list. | ||
pierre-vigier: single argument rule | |||
atweiden | i thought it was a seq? | ||
nine | atweiden: nope | ||
m: say $*REPO.^name | |||
camelia | rakudo-moar 5a69da: OUTPUT«CompUnit::Repository::Installation» | ||
08:52
RabidGravy joined
|
|||
nine | m: say $*REPO.next-repo.^name | 08:53 | |
camelia | rakudo-moar 5a69da: OUTPUT«CompUnit::Repository::Installation» | ||
08:53
rindolf joined
|
|||
Woodi | hallo #perl6 :) | 08:53 | |
08:54
krunen left,
nige1 left
|
|||
pierre-vigier | m: "Hello".say | 08:54 | |
camelia | rakudo-moar 5a69da: OUTPUT«Hello» | ||
dalek | kudo/nom: 37e998d | lizmat++ | src/core/Promise.pm: Fix for RT #127101 |
08:55 | |
line-Python: 18f0c88 | (Brock Wilcox)++ | / (5 files): Further use of RESOURCES |
|||
line-Python: f11f02f | niner++ | / (5 files): Merge pull request #9 from awwaiid/resources-lib Further use of RESOURCES Thank you very much! I'd have copied just the same :) |
|||
Woodi | so Marpa have a better grammar then Perl6: jeffreykegler.github.io/Ocean-of-Aw...pdown.html looks challenge has been thrown :) it means "rewrite" someday ? :) | ||
08:56
FROGGS joined
|
|||
dalek | ast: f153dc5 | lizmat++ | S17-promise/a (2 files): Add tests for RT #127101 |
08:58 | |
08:58
rindolf left
|
|||
nine | Woodi: I don't see an issue. If Perl 6's grammars are not enough for your use case, just use Marpa. | 09:00 | |
It's no either or. | |||
moritz | marpa is a C library at its core, no? | 09:02 | |
you could bind it via nativecall | |||
09:03
nige1 joined
09:04
FROGGS left
|
|||
RabidGravy | someone mentioned to me that the were working on a binding, can't remember who though | 09:04 | |
nine | ugexe: can you also tell me how to implement your "should not install a module that fails to precompile" rule? | 09:06 | |
github.com/drforr/perl6-Marpa | |||
It's in the ecosystem even :) | 09:07 | ||
09:07
pierre-vigier left
|
|||
RabidGravy | oh yes, I knew I'd heard about it | 09:08 | |
DrForr++ | |||
09:09
atweiden left,
pierre-vigier joined
|
|||
kaare_ | It would be nice if using Marpa was just a switch of the use statement, but I guess the structure is completely different ? | 09:12 | |
09:12
rindolf joined
|
|||
moritz | if you want the same structure, why use Marpa at all? | 09:14 | |
09:14
kanishka joined
|
|||
kaare_ | As I understand the compaints, Marpa can go further than Perl 6 Grammars. | 09:15 | |
moritz | but if you want to make use of that, you can't have it just as a switch | ||
kaare_ | If you have a grammar and want to improve on that. And find that you need Marpa, then you'd have to rewrite it all. | 09:16 | |
Or you could just incrementally go further. | |||
09:16
brrt joined
|
|||
moritz | ok, point taken | 09:16 | |
09:16
[particle]1 left,
dotness joined
09:17
[particle] joined
|
|||
nine | .tell ugexe can you also tell me how to implement your "should not install a module that fails to precompile" rule? | 09:21 | |
yoleaux | nine: I'll pass your message to ugexe. | ||
kaare_ | But I don't know where grammars give up. I'm surprised to see the two CSV modules don't use them, for example. | 09:23 | |
09:23
skids left
|
|||
nine | .tell ugexe :ver<*> doesn't look like a good idea. For one because you ask for version '*' (a string). But apart from that it seems to be doing here what you intended (tested with Inline::Python:ver<*> and Inline::Python:ver(v0.1)) | 09:24 | |
yoleaux | nine: I'll pass your message to ugexe. | ||
09:24
atweiden joined
|
|||
nine | kaare_: CSV is just terribly hard to parse really as it doesn't have a fixed grammar. You need to support lots of options for dealing with real world CSVs | 09:25 | |
09:26
andreoss joined
|
|||
|Tux| | kaare_, the *main* reason for not using grammars in Text::CSV is that the module allows too much dynamic settings | 09:27 | |
kaare_ | OTOH there is a PDF::Grammar. Looks nice | ||
nine | .tell ugexe what exactly did tony-o offer to whom? I'm genuinly curious. Also what do you mean by "then boilerplate was merged"? | ||
yoleaux | nine: I'll pass your message to ugexe. | ||
|Tux| | e.g. the separation character may change between each pass on the users request | ||
we tried a grammar approach (which was really hard to get right) | 09:28 | ||
the default escape character being equal to the default quotation character does not simplify the use of grammar :) | |||
09:29
atweiden left
|
|||
kaare_ | |Tux|: OK, but is it "just" a challenge, or is nearby impossible? | 09:29 | |
nine | .tell awwaiid panda caches the module database locally. So even after you upload a new version, your local database may be out of date and panda uses version information from there, even though the downloaded module has updated info. So panda update is necessary right now. | ||
yoleaux | nine: I'll pass your message to awwaiid. | ||
|Tux| | I'd choose the first, but there are 4 possible approaches to parsing CSV (wwith options) | 09:30 | |
kaare_ | IOW, would Marpa handle it? | ||
09:30
atweiden joined
|
|||
|Tux| | 1. state machine, 2. Grammars, 3. Simple brute force and fix, 4. Chunks | 09:30 | |
|Tux| doesn't know Marpa | 09:31 | ||
atweiden | adrusi: upon further review, alacryd works | ||
adrusi: i had forgotten that Compress::Zlib::Raw depends on Find::Bundled, and the Find::Bundled files were conflicting with those already installed to disk | |||
*precomp files | |||
kaare_ | |Tux|: And Text;;CSV uses ... ? | 09:32 | |
|Tux| | 4 | ||
1 would probably be the fastest, but also causes ugly and hard to maintain code | |||
kaare_ | Because of the number of distinct states? | 09:33 | |
brrt | computer, hi | 09:34 | |
|Tux| | 1: tux.nl/Talks/CSV6/state.html 2: tux.nl/Talks/CSV6/grammar.html 4: tux.nl/Talks/CSV6/chunks.html | ||
Chunks because of easy to understand and maintainable code | |||
Text::CSV has a huge pile of options | |||
09:34
orq joined
|
|||
|Tux| | github.com/Tux/CSV/blob/master/lib/Text/CSV.pod | 09:35 | |
brrt | Text::CSV is a big relief from python's csv library though... :-) | 09:37 | |
|Tux| | can I take that as a compliment? | ||
lizmat | .tell jnthn feels to me that Supply.Promise should really be a promise on the Supplier to be kept in Supplier.done, so we wouldn't need a tap for it | ||
yoleaux | lizmat: I'll pass your message to jnthn. | ||
lizmat | afk for a few hours | 09:38 | |
& | |||
09:40
araujo left
|
|||
kaare_ | |Tux|: Thanks for the explanations. Really nice to know the reason for design choices. | 09:40 | |
|Tux| | welcome | 09:41 | |
perl5's Text::CSV_XS is written in perl and XS. The main functionality is highly optimized C (XS) code, where a state machine makes way more sense than chunks, because of the buffering overhead needed in XS | 09:43 | ||
that also explains the speed difference we still face | |||
09:45
AlexDaniel left,
virtualsue left
09:46
virtualsue joined
|
|||
kaare_ | I donẗ worry much about speed right now. | 09:46 | |
Of course, in a year or so... | |||
brrt | Tux: certainly :-) | 09:47 | |
RabidGravy | weeEeeEEEeell, I started on a termcap parser nine months ago which uses a grammar and part of the reason I haven't finished was that it was ridiculously slow | ||
|Tux| | thank you! | ||
09:48
hankache joined
|
|||
RabidGravy | (i.e. twenty seconds to parse a typically /etc/termcap) | 09:48 | |
09:48
edehont joined
|
|||
hankache | morning | 09:49 | |
09:50
lnrdo left
|
|||
brrt | morning | 09:50 | |
we need more intelligent grammars, for sure, but it's kind of an open problem | |||
09:50
lnrdo joined
|
|||
hankache | any news about that hyper problem we were talking about yesterday? | 09:50 | |
09:52
araujo joined,
araujo left,
araujo joined
|
|||
kaare_ | m: say [+] (1_000_000 .. 1) | 09:52 | |
camelia | rakudo-moar 37e998: OUTPUT«-499999499999» | ||
kaare_ | ? | ||
moritz | kaare_: that's an optimization bug. Should say 0 | 09:53 | |
m: say (1_000_000 .. 1).elems | 09:54 | ||
camelia | rakudo-moar 37e998: OUTPUT«0» | ||
brrt | what | 09:55 | |
m: say [+] (100 .. 1); | 09:56 | ||
camelia | rakudo-moar 37e998: OUTPUT«-4949» | ||
brrt | m: say (100 .. 1); | ||
camelia | rakudo-moar 37e998: OUTPUT«100..1» | ||
brrt | m: say (100..1).WHAT; | ||
camelia | rakudo-moar 37e998: OUTPUT«(Range)» | ||
brrt | m: say (100..1).List; | 09:57 | |
camelia | rakudo-moar 37e998: OUTPUT«()» | ||
brrt | why.... | ||
have we applieda specific hyper [+] on ranges? | |||
moritz | it's not a hyper, but a reducer | ||
and yes | |||
brrt | well, thats.... great, actually | 09:58 | |
you're right | |||
moritz | m: say (10 ... 1) # if you want a list of decreasing values | ||
camelia | rakudo-moar 37e998: OUTPUT«(10 9 8 7 6 5 4 3 2 1)» | ||
brrt | m: say (10 ... 1).WHAT | ||
camelia | rakudo-moar 37e998: OUTPUT«(Seq)» | ||
10:00
xpen_ left
|
|||
kaare_ | moritz: ok, thanks | 10:00 | |
hankache | can someone try this on their local rakudo: | 10:01 | |
my @array = (1..1000); my @result = @array.hyper.map( {$_ + 1} ); say @result; | |||
are the results sorted ?? | |||
because they're not on mine | |||
10:02
virtualsue_ joined
|
|||
moritz | nope, aren't | 10:02 | |
and I think that's a bug | 10:03 | ||
only .race is allowed to change the order | |||
hankache | moritz yes this is what i thought | ||
10:03
virtualsue left
|
|||
moritz | perl6-m -e 'my @array = (1..1000); say [<] @array.hyper.map( {$_ + 1})' | 10:03 | |
False | |||
10:03
virtualsue_ is now known as virtualsue
|
|||
moritz | without the .hyper it says True | 10:04 | |
hankache | but this made me wonder: | ||
my @array = (1..10000); my @result = @array.hyper.map( {$_ + 1} ); say @result == @result.sort; | |||
kaare_ | m: say [+] (1 .. 1_000_000)' | ||
camelia | rakudo-moar 37e998: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QthSdhY0tjTwo terms in a rowat /tmp/QthSdhY0tj:1------> 3say [+] (1 .. 1_000_000)7⏏5' expecting any of: infix infix stopper postfix statement end …» | ||
hankache | m: my @array = (1..10000); my @result = @array.hyper.map( {$_ + 1} ); say @result == @result.sort; | ||
camelia | rakudo-moar 37e998: OUTPUT«True» | ||
hankache | ^^ | ||
moritz | hankache: == is numerical comparison | ||
kaare_ | ok, that works on my moar | ||
moritz | m: my @array = (1..1000); say [<] @array.map( {$_ + 1})' | ||
camelia | rakudo-moar 37e998: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W3q8JSaNFrTwo terms in a rowat /tmp/W3q8JSaNFr:1------> 3(1..1000); say [<] @array.map( {$_ + 1})7⏏5' expecting any of: infix infix stopper postfix s…» | ||
moritz | m: my @array = (1..1000); say [<] @array.map( {$_ + 1}) | ||
camelia | rakudo-moar 37e998: OUTPUT«True» | 10:05 | |
moritz | m: my @array = (1..1000); say [<] @array.map( {$_ + 1}) | ||
camelia | rakudo-moar 37e998: OUTPUT«True» | ||
moritz | m: my @array = (1..1000); say [<] @array.map( {$_ + 1}) | ||
camelia | rakudo-moar 37e998: OUTPUT«True» | ||
moritz | my local rakudo is pretty old, so it might have been fixed in the mean time | ||
hankache | moritz i have the latest rakudo | ||
so i should use ~~ instead of == ? | |||
kaare_ | It's strange that perl6 -e 'say [+] (1 .. 1_000_000)' and perl6 -e 'say [+] (1 ... 1_000_000)' has the same result on my rakudo | 10:06 | |
only the former is much much faster | |||
10:06
vendethiel joined
|
|||
moritz | kaare_: not so strange if you consider that the range operator (..) preserves more information, and thus makes it much simpler to optimize operations such as [+] | 10:07 | |
kaare_ | m: say [+] (1 .. 1_000_000) | 10:08 | |
camelia | rakudo-moar 37e998: OUTPUT«500000500000» | ||
RabidGravy | c'mon kids you've got 14 (London) hours to make 12 modules | 10:09 | |
kaare_ | m: say [+] (1 ... 1_000_000) | ||
camelia | rakudo-moar 37e998: OUTPUT«(timeout)» | ||
kaare_ | moritz: The range version is faster than Perl 5.The other is glacially slow | ||
RabidGravy | I'd expect that | 10:10 | |
10:10
xinming_ joined
|
|||
kaare_ | So it's just a matter of applying the same optimizations to all loops, and it will be faster than Perl 5 ;-) | 10:11 | |
10:11
leont joined
|
|||
moritz | kaare_: this particular optimization is not running a loop at all :-) | 10:11 | |
RabidGravy | the range version may not be a loop and the ... version is making a million item list | 10:12 | |
leont | m: my $f = any(<a b>); say "a" ~~ / $f /; | 10:13 | |
camelia | rakudo-moar 37e998: OUTPUT«P6opaque: no such attribute '$!pos' in block <unit> at /tmp/ME7ECnkVzs line 1» | ||
leont | Smells like a bug | ||
moritz | it does | ||
10:13
xinming left
|
|||
leont | Also, is List.sort stable? If not, would it be sensible to add a :stable argument? | 10:14 | |
moritz | leont: it is | ||
10:14
rickbike left
|
|||
leont | Awesome :-) | 10:14 | |
10:15
pierre-vigier left
|
|||
hankache | timotimo fixed it but his code needs cleanup rt.perl.org/Public/Bug/Display.html?id=127099 | 10:17 | |
leont | rakudobugged the former | ||
hankache | if we can get github.com/rakudo/rakudo/commit/73...2ef243581c into rakudo it will be great | 10:18 | |
10:22
AlexDaniel joined
|
|||
nine | m: BEGIN (1, 2)[*-1] | 10:23 | |
camelia | rakudo-moar 37e998: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8xvfmauIqjAn exception occurred while evaluating a BEGINat /tmp/8xvfmauIqj:1Exception details: 5===SORRY!5=== Error while compiling  Cannot invoke this object at :» | ||
nine | woah ^^^ | ||
10:23
pierre-vigier joined
|
|||
RabidGravy | badoom | 10:23 | |
10:24
espadrine joined
|
|||
AlexDaniel | m: say BEGIN { (1, 2)[*-1] } | 10:24 | |
camelia | rakudo-moar 37e998: OUTPUT«2» | ||
AlexDaniel | hankache: rt.perl.org/Public/Bug/Display.html?id=127099 | 10:26 | |
ah | |||
you've already found it | |||
I should probably read the whole backlog before answering things… | |||
m: say [+] (100 .. 1) # WAT | 10:27 | ||
camelia | rakudo-moar 37e998: OUTPUT«-4949» | ||
moritz | AlexDaniel: a bug; also mentioned in the backlog :-) | ||
AlexDaniel | :) | 10:28 | |
hankache | AlexDaniel thanks for submitting the rt | ||
10:28
Begi joined
|
|||
AlexDaniel | hankache: I hope it will be fixed soon. | 10:29 | |
hankache | AlexDaniel timotimo++ did something that is pending cleanup | ||
10:33
araujo left,
pierre-vigier left
|
|||
leont | Where is "is export" documented? Couldn't find it in S06 or S10 | 10:35 | |
10:36
s_kilk joined
|
|||
moritz | likely S11 | 10:36 | |
doc.perl6.org/language/modules#Exp..._Importing | |||
vendethiel | o/, #perl6! | ||
leont | Ah, I see | 10:38 | |
It makes sense to be there now I'm reading it, but before that it didn't | |||
10:39
s_kilk left
|
|||
leont | How do I export something without making it part of a tag? (Other than :ALL) | 10:40 | |
Wait, by making it explicitly :ALL, I guess | |||
Not very intuitive to me, if the goal is really "I want to explicitly import functions: | 10:41 | ||
" | |||
nine | I wonder how many more people will report panda's already-installed problem before someone just adds the 3 lines to fix it | 10:44 | |
edehont | gfldex: First paragraph on doc.perl6.org/type/Supply contains a link "Supplier" that links to "doc.perl6.org/doc/Type/Supplier". It should however link to "doc.perl6.org/type/Supplier". | 10:45 | |
10:45
hankache left
|
|||
edehont | gfldex: Is this the right way to report these things? | 10:46 | |
leont | I think there's a git repo for the website, just forgot which one it is | 10:47 | |
github.com/perl6/doc | |||
moritz | it's the perl6/doc repo on github | ||
the link is in the footer on every single page :-) | 10:48 | ||
edehont | Only ONCE on every page? :-) | 10:49 | |
RabidGravy | edehont, don't worry, my typo I'll fix it | 10:50 | |
leont | Obviously, that's because we're all writing our own install clients ;-) | ||
dalek | c: 871edff | moritz++ | doc/Type/ (3 files): Fix some inks, edehont++ |
||
RabidGravy | actually, they were all mine :-( | 10:51 | |
sorry for any inconvenience | |||
moritz | edehont: thanks for reporting that. I've done a "git grep /Type" and found a few more instances | ||
edehont | I'm a beginner with Github, so it was not too obvious for me to go that route. I'll learn! | 10:52 | |
|Tux| | nine, why not du upgrade instead of install automatically if panda detects that situation and report "up-to-date" if that proves to be the fact (just like cpan doas) | 10:57 | |
masak | good noon, #perl6 | 10:59 | |
lizmat | masak o/ | 11:00 | |
moritz | good morning, masak. It's *always* morning in UGT :) | ||
11:00
itaipu joined
|
|||
edehont | moritz: Not only s/Type/type/ but also s/doc\///... | 11:01 | |
moritz | edehont: aye; and I missed on. | 11:02 | |
dalek | c: bfadf5e | moritz++ | doc/Type/Supply.pod: Fix another link |
||
masak | moritz: that's not where I live, though ;) | 11:03 | |
11:04
hankache joined,
nige1 left
11:06
TEttinger left,
atweiden left
11:07
pierre-vigier joined
|
|||
masak | quick global poll: Q::Identifier or Q::Ident ? | 11:07 | |
11:07
s_kilk joined
|
|||
masak | (I'm asking because I keep using 'ident' as a variable/property name, but the type is the whole word, and I'm wondering in which direction I should enforce consistency) | 11:07 | |
hankache | identifier | 11:08 | |
11:08
s_kilk left
|
|||
masak | hankache: because "ident" is opaque? | 11:08 | |
hankache | easier to read | ||
andreoss | Q::Symbol | ||
hankache | yes masak | ||
11:08
spider-mario joined
|
|||
masak | andreoss: "symbol" is neat, but too overloaded, and too unlike actual praxis/tradition in the Perl world. | 11:09 | |
hankache: I was entirely doing that argument, too, until I saw that in the code base I use 'ident' 489 times and 'identifier' only 87 times. | 11:10 | ||
hankache: I'm afraid to lose a bit of convenience expanding that short form everywhere. | |||
hankache | masak I am a big fan of full words elements instead of elems etc. but u guess this is completely subjective | 11:11 | |
i guess** | |||
masak | yeah | ||
11:11
pierre-vigier left
|
|||
masak | but what I ask about is people's subjective opinions, so that's fine :) | 11:11 | |
hankache | ok :) | ||
masak | it's not a matter that can be settled objectively, as far as I can tell | 11:12 | |
"'identifier' is obviously better" -- "oh, ok then" :P | |||
11:12
brrt left,
orq left
|
|||
masak | by the way, today's autopun: twitter.com/cathywilcox1/status/60...6372237313 | 11:12 | |
hankache | hehe | 11:13 | |
11:13
bbkr left
|
|||
leont | Another subjective one: which do you like better: | 11:16 | |
Path::Iterator.skip-vcs.ext(rx/ 'pl' 6? $ /).shebang(rx/ ^ '#!' .* 'perl6' /).in(@dirs) | |||
or | 11:17 | ||
find(@dirs, :ext(rx/ 'pl' 6? $ /), :shebang(rx/ ^ '#!' .* 'perl6' /), :skip-vcs) | |||
leont is used to the former, but feels like the latter will be more intuitive to others | |||
11:18
virtualsue_ joined
|
|||
masak | huh. 'identifier' wasn't so bad. hankache++ | 11:18 | |
11:18
virtualsue left
11:19
virtualsue_ is now known as virtualsue,
nige1 joined
|
|||
hankache | masak yeay!! | 11:19 | |
AlexDaniel | m: say [+] 1000.5 .. 0 | ||
camelia | rakudo-moar 37e998: OUTPUT«0» | ||
leont | Also, is their a cute way to create a pair without stringifying the key? | ||
AlexDaniel | m: say [+] 1000 .. 0 | 11:20 | |
camelia | rakudo-moar 37e998: OUTPUT«-499500» | ||
masak | m: say :foo | ||
camelia | rakudo-moar 37e998: OUTPUT«Unexpected named parameter 'foo' passed in block <unit> at /tmp/ECacKnY_pB line 1» | ||
AlexDaniel | m: say [+] 0 .. 1000 | ||
camelia | rakudo-moar 37e998: OUTPUT«500500» | ||
masak | m: say (:foo) | ||
camelia | rakudo-moar 37e998: OUTPUT«foo => True» | ||
AlexDaniel | m: say [+] 0 .. 1000.5 | ||
camelia | rakudo-moar 37e998: OUTPUT«500500» | ||
masak | leont: like that? | ||
m: say (42 => 7) | 11:21 | ||
camelia | rakudo-moar 37e998: OUTPUT«42 => 7» | ||
masak | leont: or like that? | ||
leont: it's not pairs as such that stringify the key, it's hashes (by default) | |||
leont | I thought fat arrow did | 11:22 | |
masak | as you see above, no | ||
m: say (False => 7).perl | |||
camelia | rakudo-moar 37e998: OUTPUT«:False(7)» | ||
masak | er | ||
11:22
Skarsnik joined
|
|||
masak | m: say ((False) => 7).perl | 11:22 | |
camelia | rakudo-moar 37e998: OUTPUT«Bool::False => 7» | ||
leont | Ah! | ||
nine | |Tux|: because nobody seems to care enough about that issue to start coding | ||
masak | leont: maybe it does :) | 11:23 | |
leont: but parens break that | |||
andreoss | > clang: error: no such file or directory: '3rdparty/dyncall/dyncallback/libdyncallback_s.a' | ||
masak .oO( parentheses are for grouping! ) :P | |||
leont | m: say ((Str) => 1).perl | ||
camelia | rakudo-moar 37e998: OUTPUT«Use of uninitialized value of type Str in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/UTbY9JilL3 line 1Str => 1» | ||
Skarsnik | Hello | 11:24 | |
yoleaux | 30 Dec 2015 21:57Z <nine> Skarsnik: does perl6 -e 'use Test::More:from<Perl5>; diag("foo")' # print "# foo"? If yes, we have established that passing strings from Perl 6 to Perl 5 works and it's the other way around that's the issue | ||
Skarsnik | m: { loop(my $i = 0; $i < 5; ++$i) { say $i } } | 11:25 | |
camelia | rakudo-moar 37e998: OUTPUT«5===SORRY!5===Word 'loop' interpreted as 'loop()' function call; please use whitespace around the parensat /tmp/Djm4jrUlis:1------> 3{ loop7⏏5(my $i = 0; $i < 5; ++$i) { say $i } }Unexpected block in infix position (two terms in a row…» | ||
Skarsnik | m: { loop (my $i = 0; $i < 5; ++$i) { say $i } } | ||
camelia | rakudo-moar 37e998: OUTPUT«01234» | ||
11:25
FROGGS joined
|
|||
Skarsnik | oh it's fixed :) | 11:25 | |
nine, root@testperl6:~/piko/Inline-Perl5# perl6 -I lib -e 'use Test::More:from<Perl5>; diag("foo")' -> Erreur de segmentation | 11:27 | ||
Seg fault | |||
|Tux| | what is the eta for the utf8-c8 fix, so I could start testing/playing? | ||
Skarsnik | I should remove set LC_ALL to C in my shell x) | ||
leont | masak++ # that helped in cleaning up my code | 11:28 | |
lizmat | |Tux|: this will have to wait until someone hacks that into MoarVM, and I'm afraid the bus factor on that is 0 atm | ||
|Tux| | :( | ||
lizmat, is the .get already adressed? | |||
lizmat | the empty line lost at the end you mean? | 11:29 | |
leont wishes he had the tuits to dive into moarvm | |||
|Tux| | m: for (lines()) { say; } | ||
camelia | rakudo-moar 37e998: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7EjP3YowD2Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a nounat /tmp/7EjP3YowD2:1------> 3…» | ||
|Tux| | m: for (lines()) { .say; } | ||
camelia | rakudo-moar 37e998: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGallAgus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luíI mo dhiaidh bhí gleanntáin ghlas’ G…» | ||
11:29
virtualsue left
|
|||
|Tux| | no, the error message I got. one sec | 11:30 | |
11:30
virtualsue joined
|
|||
|Tux| | Method 'get' not found for invocant of class 'Any' | 11:30 | |
in sub MAIN at test-t.pl line 21 | |||
lizmat | .oO( superstitious parens ) |
||
|Tux| | which is the line «for (lines()) {» | 11:31 | |
masak | m: for lines() { .say } | ||
camelia | rakudo-moar 37e998: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGallAgus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luíI mo dhiaidh bhí gleanntáin ghlas’ G…» | ||
|Tux| | superstitious parens is very unlikely to be the cause for this message :] | ||
lizmat | no, I was just seeing them :-) | 11:32 | |
masak | right, we're just reminding you :) | ||
lizmat | m: .say for lines | ||
camelia | rakudo-moar 37e998: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGallAgus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luíI mo dhiaidh bhí gleanntáin ghlas’ G…» | ||
nine | Skarsnik: can you perl6-gdb-m that? | ||
|Tux| | sometimes my code requires the extra parens (because of Slang::Tuxic) so I can put the required parens in the right position :P | ||
lizmat | |Tux|: ah, that problem started yesterday ? | 11:33 | |
|Tux| | yes, between 16:00 MET yesterday and 08:00 MET today | ||
masak | oh, what I wouldn't do to get -i in Rakudo | ||
maybe even implement it meself! :D | |||
Skarsnik | after lunch ^^ | 11:34 | |
nine | masak: that's just the best answer ;) | ||
11:35
uruwi joined
11:37
cygx joined
|
|||
cygx | |Tux|: what would be your use case for utf8-c8? | 11:37 | |
|Tux| | images and real binary data in CSV | 11:38 | |
e.g. database exports | |||
cygx | |Tux|: utf8-c8 currently does normalization | ||
just use latin1 ;) | |||
|Tux| | utf8-c8 currently dumps core | 11:39 | |
11:39
jeteve joined
|
|||
cygx | depending on input? I remember having used it 'successfully' | 11:39 | |
|Tux| | m: my Str$s=Buf.new(^2048 .map({256.rand.Int})).decode("utf8-c8") | 11:40 | |
camelia | ( no output ) | ||
cygx | m: Buf.new(255).decode("utf8-c8") | ||
camelia | rakudo-moar 37e998: OUTPUT«(signal SEGV)» | ||
cygx | there you go | ||
lizmat | m: Buf.new(254).decode("utf8-c8") | 11:41 | |
camelia | rakudo-moar 37e998: OUTPUT«(signal SEGV)» | ||
lizmat | m: Buf.new(253).decode("utf8-c8") | ||
camelia | rakudo-moar 37e998: OUTPUT«(signal SEGV)» | ||
lizmat | m: Buf.new(240).decode("utf8-c8") | ||
camelia | ( no output ) | ||
lizmat | m: Buf.new(241).decode("utf8-c8") | 11:42 | |
camelia | ( no output ) | ||
cygx | I guess it doesn't like starting a string with invalud utf-8 | ||
m: Buf.new(42,255).decode("utf8-c8") | |||
camelia | ( no output ) | ||
|Tux| | that was lizmat's conclusion at first too, but jnthn knew is was a deeper cause | 11:43 | |
11:45
vendethiel left
|
|||
dalek | osystem: 2a46583 | (Stefan Seifert)++ | META.list: Add CompUnit::Repository::Panda to the ecosystem CompUnit::Repository::Panda automatically tries to install all modules that your program uses and that are not already installed. Fully recursive installation will need more infrastructure in CompUnit::RepositoryRegistry, so we only install modules that are used by compunits that use CompUnit::Repository::Panda directly. |
11:46 | |
nine | Now that was a fun one ^^^ :) | ||
lizmat | m: sub MAIN { .say for lines } # only happens within MAIN | ||
camelia | rakudo-moar 37e998: OUTPUT«Method 'get' not found for invocant of class 'Any' in sub MAIN at /tmp/NDOXIupMjS line 1 in block <unit> at /tmp/NDOXIupMjS line 1» | ||
11:46
xinming joined
|
|||
|Tux| | nine++ | 11:47 | |
nine | To be clear: it's really just a proof of concept more than anything else, albeit one that shows the possibilities with our repository architecture :) | 11:48 | |
[ptc] | nine++ :-) | 11:49 | |
leont | That modules scares me a little | ||
11:49
andreoss left,
xinming_ left
|
|||
leont | s/s// | 11:49 | |
lizmat wonders why it isn't called CloudPan :-) | 11:50 | ||
11:50
FROGGS left
|
|||
nine | lizmat: I work at a marketing company. I've seen enough marketing for a life time :) | 11:50 | |
lizmat | |Tux|: found the problem, testing a fix | 11:53 | |
|Tux| feels like a canary again - tweet peep | 11:54 | ||
RabidGravy | nine++ # nice one | 11:55 | |
11:55
itaipu left
|
|||
RabidGravy | is it premature to start documenting the CompUnit stuff? | 11:59 | |
11:59
Begi left
|
|||
RabidGravy | if only so that people can start making their own stuff that uses it rather than bugging nine++ | 12:00 | |
nine | RabidGravy: the CompUnit stuff we have now is part of 6.c, so we may as well document it. We need to make all future changes in a backwards compatible way. | 12:02 | |
ChoHag | It's never premature to document things. | ||
RabidGravy | well, except if it's going to completely change in the near future or something | 12:03 | |
ChoHag | Nope. | ||
Then the documentation just needs to indicate that the thing its documentation might completely change in the near future. | 12:04 | ||
RabidGravy | okay carry on then | ||
ChoHag | For example: Perl 6. | 12:05 | |
RabidGravy | I look forward to your help in the documentation then | ||
anyway off to the pub for a bit | 12:06 | ||
ChoHag | My help in the documentation has already begun, actually. | 12:07 | |
12:08
CQ joined
|
|||
ChoHag | And on that note I was a little saddened to see prima donnas prancing around the breakage of pod parsing the other day. | 12:08 | |
12:10
spider-mario left
|
|||
Skarsnik | nine, perl6-gdb does not really work for me sadly | 12:10 | |
nine | Skarsnik: why's that? | 12:11 | |
12:11
RabidGravy left
|
|||
ShimmerFairy | ChoHag: when was this? | 12:12 | |
nine | ChoHag: in a sense, I'm actually glad. Because now I don't have to care anymore about that Grammar::Tracer bug. That would have been a "huge fucking pain". | 12:13 | |
Skarsnik | How to explain... it launch gdb but input get hidden and it look like it time out/run nothing, the bt is always empty | ||
12:14
spider-mario joined
|
|||
ChoHag | A week or so I think. | 12:14 | |
A small 'clarification' of module terms. | |||
lizmat | ok, seems I have added an incompatibility | ||
if @*ARGS contains a file name that doesn't exist, it now bombs when initializing $*ARGFILES | 12:15 | ||
leont | m: my %as{Any:U} = ((Str) => ~*) | ||
camelia | rakudo-moar 37e998: OUTPUT«Odd number of elements found where hash initializer expected in block <unit> at /tmp/KLdX_kMGMu line 1» | ||
lizmat | rather then the first time $*ARGFILES is used | ||
ChoHag | Yes it's always better to not fix bugs than to actually have documentation. | ||
leont | That is not what I had expected :-/ | ||
ChoHag | *sigh* I have to make custard. | 12:16 | |
I've barely sat down... | |||
12:16
zengargoylew left
12:17
zengargoylew joined,
virtualsue left
12:18
spider-mario left
12:19
lucasb joined
|
|||
leont | Now I understand, the fat comma is eaten by the WhateverCode! | 12:19 | |
12:19
spider-mario joined,
kanishka left
|
|||
leont | How do I stop that? | 12:19 | |
12:20
xpen joined
|
|||
nine | leont: replace the ~* by {~$_} | 12:20 | |
12:21
edehont left,
regreg joined
|
|||
lizmat | .oO( => eaten by * ) |
12:21 | |
12:22
xpen_ joined
|
|||
lucasb | it's very strange how Whatever is handled in pairs. it seems it depends on the type of the key, and also on the expression on the value | 12:23 | |
m: say (foo => ~*).perl | |||
camelia | rakudo-moar 37e998: OUTPUT«:foo(WhateverCode.new)» | ||
lucasb | m: say (foo => *).perl | ||
camelia | rakudo-moar 37e998: OUTPUT«:foo(*)» | ||
lucasb | m: say (42 => *).perl | 12:24 | |
camelia | rakudo-moar 37e998: OUTPUT«WhateverCode.new» | ||
cygx | .oO( strangely inconsistent ) |
||
12:25
xpen left
12:26
spider-mario left
|
|||
lucasb | m: say $( ).perl | 12:26 | |
camelia | rakudo-moar 37e998: OUTPUT«$()» | ||
nine | Skarsnik: a more reduced test: perl6 -e 'use Inline::Perl5; my $p5 = Inline::Perl5.new; $p5.run(q/sub foo { print @_; }/); $p5.call("foo", "hello world\n");' | ||
Skarsnik: what does this print? ^^^ | |||
lucasb | ^^ timotimo++ told me that $() is *not* an itemized empty list, so the .perl representation is wrong | ||
12:26
xpen_ left
12:27
spider-mario joined
|
|||
Skarsnik | nothing x) | 12:27 | |
but it does not segfault | |||
12:27
stmuk left,
amoe left
12:28
jnthn left,
Rotwang left,
lnx left
|
|||
nine | Skarsnik: and this? perl6 -e 'use Inline::Perl5; my $p5 = Inline::Perl5.new; $p5.run(q/sub foo { "hello world" }/); say $p5.call("foo");' | 12:28 | |
12:28
smash left,
Jonis left
12:29
jnthn joined,
amoe joined
|
|||
Skarsnik | hello world | 12:29 | |
12:30
Jonis joined
|
|||
dalek | line-Perl5: 5f51d6f | (Stefan Seifert)++ | lib/Inline/Perl5.pm6: Fix more type discrepancies. STRLEN is size_t May fix passing strings from Perl 6 to Perl 5 on 32 bit machines. |
12:30 | |
nine | Skarsnik: please try this fix ^^^ | ||
12:30
smash joined
|
|||
nine | Had an IV there instead of size_t | 12:30 | |
dalek | kudo/nom: 4c1f815 | lizmat++ | src/core/Main.pm: Only initialize @*ARGS in MAIN_HELPER, Tux++ Since init of $*ARGFILES is now lazy, we only need to init @*ARGS here |
12:31 | |
kudo/nom: badcf48 | lizmat++ | src/core/Argfiles.pm: Don't bother with IO::CatHandle if only got $*IN |
|||
kudo/nom: e458a20 | lizmat++ | src/core/IO/CatHandle.pm: Make sure API of .get/getc is identical to IO::Handle |
|||
12:32
integral left,
integral joined,
integral left,
integral joined,
Actualeyes joined
12:33
Odud joined
|
|||
Skarsnik | root@testperl6:~/piko/Inline-Perl5# perl6 -I lib -e 'use Test::More:from<Perl5>; diag("foo")' # foo | 12:33 | |
:) | |||
12:34
jnthn left
|
|||
lizmat | $ time perl6 test-t.pl <hello.csv real0m12.212s # Tux | 12:34 | |
nine | Skarsnik: sooo..what's still missing? | ||
Skarsnik | running the test now | 12:35 | |
I was going to give you a ssh access to this system x) | 12:36 | ||
12:37
lnx joined,
Rotwang joined,
smash left,
Jonis left,
Jonis joined,
amoe left
12:38
smash joined,
amoe joined
|
|||
Skarsnik | All tests successful. | 12:39 | |
Files=25, Tests=343, 225 wallclock secs ( 0.03 usr 0.55 sys + 122.47 cusr 89.44 csys = 212.49 CPU) | |||
Result: PASS | |||
nine | Yeah! \o/ | ||
dalek | line-Perl5: 50a7f11 | (Stefan Seifert)++ | META.info: First version to be really 32 bit safe |
12:40 | |
12:40
_nadim joined
|
|||
timotimo | lucasb: yeah, i think i even fixed that stringification once ... | 12:41 | |
12:41
_nadim left
12:42
jnthn joined,
stmuk joined,
fjk joined
|
|||
lucasb | Rakudo always gives you the opportunity to fix things twice :) | 12:44 | |
12:44
DrForr left,
DrForr joined
12:48
Jonis left
12:49
Jonis joined,
smash left,
smash joined,
amoe left
|
|||
timotimo | the thing is i thought i had also written a test for it, but apparently i haven't | 12:49 | |
12:49
stmuk left
12:50
stmuk joined
12:51
amoe joined
12:52
nexysno_ joined
|
|||
hankache is nuking everything and building from scratch | 12:52 | ||
I made it my daily routine ;) | 12:53 | ||
leont | lucasb: yeah, that is odd! | ||
Skarsnik | can someone kill me? I just discover an easy way to parse c header file... | 12:55 | |
nine | hankache: why? | ||
Skarsnik | clang -Xclang -ast-dump -fsyntax-only src/gumbo.h | ||
hankache | nine i did update rakudo, it seems that some modules were not working anymore | 12:56 | |
nine and since i can't nuke modules, the only bet is nuke everything and rebuild | |||
nine | hankache: if your previous rakudo was >= 6.c, this should never happen | ||
|Tux| | shhhhhh | ||
hankache | unless i am missing something | 12:57 | |
nine | hankache: also it's fairly trivial to just nuke modules (even if you shouldn't): rm -R install/share/perl6 && make install | ||
hankache | nine yes it was >= 6.c | ||
nine | hankache: then please allow us to debug it properly | ||
12:57
Odud left
|
|||
hankache | nine unfortunately i already nuked everything | 12:58 | |
nine but next time if i encounter anything odd i'll let you know | |||
nine i don't remember what the error was but trying to launch the REPL gave me an error | 12:59 | ||
12:59
loren joined,
spider-mario left
|
|||
hankache | nine and upgrading rakudo was done smoothly no errors or such. just running the REPL gave errors | 13:00 | |
13:02
kid51 joined
|
|||
|Tux| | csv-ip5xs 50000 17.743 17.635 | 13:02 | |
test 50000 22.254 22.146 | |||
test-t 50000 12.308 12.200 | |||
csv-parser 50000 47.911 47.803 | |||
NICE! | |||
loren | Evening, #Perl 6.. *_* | 13:03 | |
hankache | hi loren | ||
loren | hankache, hi o/ | ||
|Tux| | o/ (14:03 over here) | ||
hankache | nine in other programming languages, how do you update anyway ? | ||
nine | hankache: well after upgrading Perl 5, you have to re-install all modules...how much I love that | 13:04 | |
hankache | nine personally i always prefer to nuke and re-install, this is why it is no problem for me | 13:05 | |
|Tux| | nine: s/all/XS/ | 13:06 | |
nine | hankache: I upgrade rakudo multiple times a day. I'd hate to re-install every time :) | ||
loren | It's 21:05 here .. | ||
hankache | nine i don't do it that often this is why maybe | ||
nine | |Tux|: well you could copy over all non-XS modules. | ||
|Tux| | otoh, I build with fallback to older versions disabled, so I indeed need to rebuild all my 1950 installed distributions again after upgrading perl5 | 13:07 | |
13:07
Tonik joined
|
|||
|Tux| | nine, with the default options, yoiu don't need to: it will find them in the old folder structure | 13:07 | |
13:08
pierre-vigier joined
|
|||
|Tux| | $ perl5 -V:inc_version_list | 13:08 | |
nine | |Tux|: then I guess openSUSE's packages deactivate that option | ||
|Tux| | OpenSUSE 13.1$ /usr/bin/perl -V:inc_version_list | 13:09 | |
inc_version_list='5.18.0/x86_64-linux-thread-multi 5.18.0'; | |||
13:09
smash left,
stmuk left,
jeteve left
|
|||
|Tux| | and yes, I think that vendors clear out old folders on system upgrades | 13:09 | |
13:09
Rotwang left,
stmuk joined
13:10
Jonis left,
Rotwang joined,
lnx left,
Jonis joined
|
|||
|Tux| never uses system-perl | 13:10 | ||
13:10
smash joined
|
|||
|Tux| | OpenSUSE Tumbleweed$ /usr/bin/perl -V:inc_version_list | 13:10 | |
inc_version_list='5.22.0/x86_64-linux-thread-multi 5.22.0'; | |||
13:11
M-matthew joined,
lnx joined,
nige1 left
|
|||
leont | The re-use of old module dirs in p5 was nice in 1994, but not so much in 2015 | 13:11 | |
|Tux| | agree | 13:12 | |
leont | Mainly because it's reusing PP modules but not XS, so that tends to generate missing dependencies | ||
13:13
Arrowhead joined,
pierre-vigier left
13:17
ZoffixW joined,
lnx left
13:18
Jonis left,
jnthn left,
Jonis joined,
smash left,
jnthn joined,
smash joined
|
|||
ZoffixW | m: sub announce-hny ($irc, Hash $tz, Instant :$next-new-year) {}; my $irc = 42; my $tz = {}; announce-hny $irc, $tz; say 'ok' | 13:18 | |
camelia | rakudo-moar e458a2: OUTPUT«ok» | ||
ZoffixW | For some reason in my code, the above gives "Invocant requires an instance of type Instant, but a type object was passed. Did you forget a .new?" | ||
13:18
Rotwang left,
Rotwang joined
|
|||
ZoffixW | And if I add :next-new-year(now), then there aren't errors. What could be causing that? | 13:19 | |
lizmat | |Tux|: made a small tweak in CSV, could you verify / bench ? | ||
|Tux| | pull? | ||
lizmat | yes, please | ||
13:19
lnx joined
|
|||
Arrowhead | Hello. Here's what I've been working on the last couple of days: OpenGL bindings. github.com/bartschuller/perl6-OpenGL | 13:19 | |
AlexDaniel | oooooh | ||
ZoffixW | Here's a larger version of the code: gist.github.com/zoffixznet/01e41984dc3249079fa7 | 13:20 | |
lizmat | Arrowhead++ | ||
ZoffixW | wow, that's sweet. Arrowhead++ | ||
AlexDaniel | Arrowhead: that's very cool | ||
Skarsnik | neat | ||
lizmat | Arrowhead: is it in the ecosystem already ? | ||
Arrowhead | I'm interested in reports on other OS's besides Mac. And it does literally nothing more than what the screenshot shows, but it's a start. | 13:21 | |
Skarsnik | 1Gb ram + 1GB swap is enough to build rakudo/moar? | 13:22 | |
Arrowhead | lizmat: nope. Is it ok to drastically change module names and APIs for stuff in the ecosystem? | ||
13:22
brrt joined
|
|||
lizmat | Arrowhead: well, probably not :-) | 13:23 | |
nine | Why not? As long as you're clear that this is pre-alpha software | ||
lizmat | Skarsnik: feels like that is enough | ||
Arrowhead | I think we need 2 ecosystems then, because I do agree we need a place to gather stuff like this as well, even though I can't guarantee anything about stability. | ||
leont | Skarsnik: probably, but don't expect to do anything else at the same time | 13:24 | |
13:24
kid51 left
|
|||
ZoffixW | Skarsnik, fwiw, I successfully built on 1GB RAM and 3GB swap. I seem to recall someone saying 2.5GB total is needed, but I may be imagining things | 13:24 | |
lizmat | Arrowhead: I feel nine is right, as long as you make clear it's pre-alpha | ||
Arrowhead: then people know what their dealing with | |||
13:25
virtualsue joined
|
|||
leont | Yeah, it's all about expectation management | 13:25 | |
|Tux| | test-t 50000 12.267 12.159 | ||
Skarsnik | I will create a swap file if needed then lol | ||
it's just a vm x) | |||
leont | At this stage, people won't be terribly upset if stuff breaks AFAICT, but that will change as perl6 gets adopted more. | ||
ZoffixW | Arrowhead, nah, we don't need two ecosystem. Just give a nice fat warning that it's experimental and things can change, like here: github.com/zoffixznet/perl6-IRC-Cl...escription | 13:26 | |
Skarsnik | I found a tool that output clang ast as XML, give me hope to generate C Binding from just a C header :) | ||
ZoffixW | I think it's fine to release experimental stuff at any stage. More user input. Maybe more volunteers. | ||
Arrowhead | Ok, I'll submit it then. | ||
nine | It's hard to imagine a CPAN without version 0.02 modules with authors having great plans and the last release being from 2007. May sound useless, but we have used and even adopted such modules. | 13:27 | |
AlexDaniel | Arrowhead: “Cannot locate native library 'libglfw3.so.3'” I have debian packages libglfw3 and libglfw3-dev install, what else do I need? | ||
lizmat | ZoffixW Skarsnik just monitored building the settings on OS X: the moar process grows to just over 1G | ||
AlexDaniel | installed* | ||
Skarsnik | it's not like we have a strict protocol if you want to remove something Kappa | ||
lizmat | I'm not sure how much memory building Moar / NQP take, but assume that to be less | ||
ZoffixW makes a mental note | |||
dalek | kudo/query_repos: c639da5 | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files): CompUnit::Repository::resolve New method to ask the repository chain if a module matching the given DependencySpecification is available. This could for example be used by panda to avoid trying to install an already installed module. |
||
lizmat | nine: I stand corrected :-) | ||
nine | lizmat: what do you think about this? ^^^ | ||
leont | It's the precompiling the setting step that takes most memory, IME | ||
Anything else isn't really heavy | 13:28 | ||
nine | Anyone: what do you think about this commit? | ||
lizmat | nine: feels a bit like the old .candidates interface :-) | ||
Arrowhead | AlexDaniel: Can you figure out what the library is called then? dpkg -L libglfw3 and look at the .so files. | ||
lizmat | nine: fwiw, I think TimToady likes us to return Nil rather than type objects | ||
nine | lizmat: well, yes. Because .candidates was a good idea that is worthy of bringing back :) | ||
Skarsnik | My bet is libglw.so.3 | ||
not libglw3 x) | 13:29 | ||
13:29
Jonis left
|
|||
ZoffixW | This is weird... the error I'm having disappears if I comment out this line: my $prefix = $next-new-year ?? 'Happy New Year to' !! "Next New Year is in {denominate $next-new-year} in"; | 13:29 | |
Skarsnik | root@testperl6:/tmp/CastXML# apt-file search libglfw3.so.3 | ||
root@testperl6:/tmp/CastXML# apt-file search libglfw.so.3 | |||
libglfw3: /usr/lib/i386-linux-gnu/libglfw.so.3 | |||
13:30
smash left,
stmuk left
|
|||
nine | lizmat: next step would be to add a method for even fuzzier search in the repos, i.e. where the short-name is also smart matched, for usage by Module::Pluggable. | 13:30 | |
ZoffixW | m: sub announce-hny ($irc, Hash $tz, Instant :$next-new-year) {my $prefix = $next-new-year ?? 'Happy New Year to' !! "Next New Year is in {$next-new-year} in";}; my $irc = 42; my $tz = {}; announce-hny $irc, $tz; say 'ok' | ||
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value of type Instant in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub announce-hny at /tmp/InX7R73BdT line 1ok» | ||
13:30
Jonis joined
|
|||
AlexDaniel | Arrowhead: it is libglfw.so.3 | 13:30 | |
nine | lizmat: this would then return a list of candidates instead of the first match. | ||
lucasb | ZoffixW: I think denominate expects a concrete value | ||
ZoffixW | Oh, I'm a dumbass | ||
13:30
lnx left
|
|||
lizmat | ++nine :) | 13:30 | |
13:30
CIAvash left
|
|||
AlexDaniel | Arrowhead: and also just libglfw.so | 13:30 | |
ZoffixW | lucasb, I need to switch the ?? and !! parts in the conditional :P | 13:31 | |
13:31
jnthn left
|
|||
Arrowhead | AlexDaniel: right. can you try with that changed in GLFW.pm6? constant LIB = ('glfw', v3); | 13:31 | |
13:31
jnthn joined
|
|||
AlexDaniel | Arrowhead: sure | 13:31 | |
13:31
stmuk joined
|
|||
ZoffixW | Atom barely chugs along on a 3300-line file -_- | 13:32 | |
Arrowhead | I'm expecting more trouble with the GL library itself. | ||
ZoffixW | And it's mostly due to P6 highlighting :/ | ||
13:32
lnx joined
|
|||
ZoffixW switches into mst mode, for performance reasons :P | 13:32 | ||
AlexDaniel | Arrowhead: NativeCall: Consider adding the api version of the library you want to use, sub foo is native(GL, v1) Segmentation fault | 13:33 | |
Arrowhead | AlexDaniel: oops. Ok, I guess I'll have to install Virtualbox again, etc. That could take a while. | 13:34 | |
btw: what would be the way to silence that warning when all you have is libfoo.so? | |||
Skarsnik | constant LIB = $*DISTRO.name eq 'macosx' ?? '/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib' !! ('GL'); | 13:35 | |
I am not sure if that work correctly to have a list with a only the name x) | |||
AlexDaniel | Arrowhead: ('GL', v1); | ||
Skarsnik | m: use NativeCall :TEST; say check_library_name(('GL')); | 13:36 | |
AlexDaniel | Arrowhead: I've tried that and now all I have is a segmantation fault | ||
camelia | rakudo-moar e458a2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qDik5FB0oOUndeclared routine: check_library_name used at line 1. Did you mean 'guess_library_name'?» | ||
13:36
nige1 joined
|
|||
Skarsnik | m: use NativeCall :TEST; say find_library_name(('GL')); | 13:36 | |
camelia | rakudo-moar e458a2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aPZ3P0KairUndeclared routine: find_library_name used at line 1. Did you mean 'guess_library_name'?» | ||
Skarsnik | Oh thx the error lol | ||
m: use NativeCall :TEST; say guess_library_name(('GL')); | |||
camelia | rakudo-moar e458a2: OUTPUT«NativeCall: Consider adding the api version of the library you want to use, sub foo is native(GL, v1)libGL.so» | ||
Arrowhead | m: use NativeCall :TEST; say guess_library_name(('GL', v1)); | 13:37 | |
camelia | rakudo-moar e458a2: OUTPUT«libGL.so.1» | ||
13:37
cygx left
|
|||
Arrowhead | AlexDaniel: see? then it expects a 1 in the name | 13:37 | |
Skarsnik | GL does not have a version? like 2 or 3 now? | ||
Arrowhead | as you can see from my hardcoded file name: not on my Mac. | ||
13:38
amoe left,
Rotwang left
|
|||
Arrowhead | anyway, you're on your own for now until I can get a Linux VM set up. | 13:38 | |
Skarsnik | it's weird there is no libGL.3.dylib ? | ||
13:38
lnx left
|
|||
Skarsnik | hm, for debian libgl1-mesa-glx: /usr/lib/i386-linux-gnu/libGL.so.1 | 13:39 | |
AlexDaniel | that's what I've found as well | ||
nine | On my system libglfw3.so.3 is called libglfw.so.3 | ||
Skarsnik | Oh yeah OpenGL is not a weird case where the lib could be provided by a vendor? | ||
13:40
Rotwang joined,
amoe joined
|
|||
Arrowhead | Actually, they don't want to do libraries anymore. They want you to ask for function pointers, but NativeCall can't call function pointers, so what I have working on Mac may not work anywhere else. | 13:40 | |
nine | AlexDaniel: other than that, everything seems to work :) | ||
13:40
lnx joined,
jnthn left,
jnthn joined
13:41
stmuk left
|
|||
dalek | kudo/query_repos: 92ef589 | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files): CompUnit::Repository::resolve New method to ask the repository chain if a module matching the given DependencySpecification is available. This could for example be used by panda to avoid trying to install an already installed module. |
13:41 | |
13:41
stmuk joined
13:42
ab6tract joined
|
|||
AlexDaniel | nine: does not work here, hmmm :( | 13:42 | |
nine | Arrowhead: On my system libglfw3.so.3 is called libglfw.so.3. Other than that, everything seems to work :) | ||
Arrowhead | work as in you get a window? | 13:43 | |
AlexDaniel | if I do ('GL', v1) then it just segfaults | ||
Arrowhead | nine: with the triangle? | ||
nine | Arrowhead: yes, just like in your screen shot | ||
Arrowhead | yay! | ||
13:44
smash joined
|
|||
Skarsnik | nine, I was thinking of being able to write is native('foo', False) to allow to cut off the warning explicitly (like for mysqlclient that does not follow a correct versionning) | 13:46 | |
13:46
itaipu joined
|
|||
ab6tract | m: sub f(:$x) { $x ?? "no x" !! "x is $x" } # minimal case for ZoffixW's issue | 13:47 | |
camelia | ( no output ) | ||
ab6tract | doh. | ||
m: sub f(:$x) { $x ?? "no x" !! "x is $x" }l say f() | 13:48 | ||
camelia | rakudo-moar e458a2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7IdrYUshVWStrange text after block (missing semicolon or comma?)at /tmp/7IdrYUshVW:1------> 3ub f(:$x) { $x ?? "no x" !! "x is $x" }7⏏5l say f() expecting any of: infix …» | ||
ab6tract | m: sub f(:$x) { $x ?? "no x" !! "x is $x" }; say f() | ||
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value $x of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub f at /tmp/zMAM7jWOGm line 1x is » | ||
ab6tract | this seems like it could be connected to the .DEFINITE patch? | ||
Arrowhead | BTW the demo is based on www.opengl-tutorial.org/ and I'll probably try to implement more from that. | ||
13:49
integral left
13:50
integral joined,
integral left,
integral joined
|
|||
ZoffixW | ab6tract, the above seems correct to me. the undefined $x is stringified, generating the warning. The issue I was getting is the error was saying the typed named param my sub had received "a typed object" whenever I omited it | 13:50 | |
13:50
lnx left
|
|||
ab6tract | ZoffixW: but $x should not evaluate to True if it is empty / undefined | 13:51 | |
or uninitialized. | |||
it is the same problem AFAICT, because in neither example should it be going to the second half of the ternary | |||
ZoffixW | ab6tract, right. And your example has the same error as my code had: the evaluated paths in the ternary are switched around | ||
the path that stringifies $x is in the "false" path | 13:52 | ||
leont | Any I the only one who is missing a definedness operator, much like ? does for booleans? | ||
13:52
lnx joined
|
|||
ZoffixW | like // ? :) | 13:52 | |
13:53
stmuk left
|
|||
ab6tract | leont: defined is not usually what you want anymore. | 13:53 | |
13:53
smash left
|
|||
leont | Could be, could be I have p5isms in my p6 | 13:53 | |
13:53
smash joined,
stmuk joined
|
|||
ab6tract | leont: stick to truthy :) | 13:54 | |
13:54
hankache left
|
|||
ZoffixW | m: sub infix:<≤> { * <= * }; sub infix:<≥> { * >= * }; say 4 ≤ 5 | 13:54 | |
camelia | rakudo-moar e458a2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IVA_6YAsUwCalling infix:<≤>(Int, Int) will never work with declared signature ()at /tmp/IVA_6YAsUw:1------> 3<= * }; sub infix:<≥> { * >= * }; say 4 7⏏5≤ 5» | ||
leont | I have cases where that just doesn't work | ||
ZoffixW | m: sub infix:<≤> ($, $) { * <= * }; sub infix:<≥> ($, $) { * >= * }; say 4 ≤ 5 | 13:55 | |
camelia | rakudo-moar e458a2: OUTPUT«WhateverCode.new» | ||
leont | E.g. 0 is a perfectly fine exit-status, but Int means there is no exit-status | ||
ShimmerFairy | leont: then you want 'with' :) | ||
ab6tract | ZoffixW: the WhateverCode doesn't populate the signature for you | ||
ShimmerFairy | m: with "foo".index("f") { say "Yay!" } | ||
camelia | rakudo-moar e458a2: OUTPUT«Yay!» | ||
ShimmerFairy | m: with "foo".index("b") { say "aw" } | 13:56 | |
camelia | ( no output ) | ||
leont | with doesn't have a ternary operator, yet | ||
13:56
jshy joined
|
|||
ShimmerFairy | One could probably invent ¿¿ ¡¡ or ??? !!! or somesuch :P | 13:56 | |
leont | ??? !!! doesn't sound like a bad idea at all | 13:57 | |
13:57
lnx left
|
|||
dalek | rl6-roast-data: 0ace568 | coke++ | / (7 files): today (automated commit) |
13:57 | |
ZoffixW | leont, is that for $foo.defined ?? !! ? | ||
ab6tract | m: sub infix:<≤> ($, $) { * <= * }; sub infix:<≥> ($, $) { * >= * }; say (4 ≤ 5)(4,5) | ||
camelia | rakudo-moar e458a2: OUTPUT«True» | ||
13:57
Rotwang left
|
|||
lucasb | hey, the tag v6.c is still there at rakudo repo. wasn't people talking about removing it? | 13:57 | |
13:58
amoe left
|
|||
ZoffixW | ab6tract, so a closure is returned? | 13:58 | |
13:58
smash left,
Jonis left
|
|||
leont | Yeah | 13:58 | |
13:58
stmuk left,
jnthn left
|
|||
lucasb | you are all trying to explain things in the mailing list, while contributing to the confusion having that tag in the rakudo repo | 13:59 | |
ZoffixW | m: sub infix:<≤> ($a, $b) { $a <= $b }; sub infix:<≥> ($a, $b) { $a >= $b }; say 4 ≤ 5 | ||
camelia | rakudo-moar e458a2: OUTPUT«True» | ||
ab6tract | ZoffixW: most common use case of 'with' is for array indices and other things that are falsey | ||
13:59
Rotwang joined
|
|||
ab6tract | but which you want to pass through | 13:59 | |
13:59
lnx joined,
smash joined,
stmuk joined
|
|||
ZoffixW | I really miss having ≤ and ≥ as the Texas variants confuse me into thinking some sort of assigning defaults is happening | 14:00 | |
Skarsnik don't want to read DBI code :( | |||
ZoffixW contemplates Operators::Extra | |||
ShimmerFairy | ZoffixW: to be fair, I still don't know why they're not in CORE. | 14:01 | |
ZoffixW | ShimmerFairy, yeah, I'd think they're far more useful than division sign that looks like two dots with a line | ||
lizmat | m: enum XB (:TB(1024*1024*1024*1024), :GB(1024*1024*1024), :MB(1024 * 1024), :KB(1024), :bytes(1)); sub human($b,$p = 0.1) { for XB.^enum_value_list -> $XB { return "{round($b/$XB,$p)} $XB" if $b div $XB }}; say human 4000 # wonder if this warrants an ecosystem module or not | ||
camelia | rakudo-moar e458a2: OUTPUT«3.9 KB» | ||
ZoffixW | Does precompilation solve the addition of custom operators being super expensive? | 14:02 | |
14:02
integral left
|
|||
ZoffixW | lizmat, modules.perl6.org/repo/Number::Denominate | 14:02 | |
lizmat, there's already an :info-1024 set, though I think it uses full names. You can define your own sets tho | 14:03 | ||
14:03
stmuk left
14:04
smash left
|
|||
nine | Ok, I'm taking the rest of the year off. See you all next year :) Oh and happy new year! | 14:04 | |
ab6tract | wrt to that example, it's returning a WhateverCode. which is a closure, but also slightly more opaque | ||
14:04
Rotwang left,
lnx left
|
|||
Skarsnik | Happy new year nine | 14:04 | |
ab6tract | m: my $f = * >= ++$; say $f(1); say $f(1) | ||
camelia | rakudo-moar e458a2: OUTPUT«TrueFalse» | ||
lizmat | ZoffixW: good to know :-) | ||
Skarsnik | Is there any plan for translation support? x) | ||
ab6tract | nine: cheers man! have a great one! | ||
dalek | ast: b0c17ab | usev6++ | S32-exceptions/misc.t: Add test for RT #126888 |
14:05 | |
14:05
brrt left
|
|||
awwaiid | bye nine! | 14:05 | |
yoleaux | 09:29Z <nine> awwaiid: panda caches the module database locally. So even after you upload a new version, your local database may be out of date and panda uses version information from there, even though the downloaded module has updated info. So panda update is necessary right now. | ||
ZoffixW | I see a slight difference tho :) It doesn't round with decimals: gist.github.com/zoffixznet/d1679d9e4c443ac9fe67 | 14:07 | |
14:08
hankache joined,
jnthn joined,
Jonis joined
|
|||
hankache | i nuked everything and build from scratch | 14:08 | |
when i try to panda install Linenoise it complains about File::Find being already installed | |||
what should i do? | 14:09 | ||
14:09
integral joined
|
|||
ZoffixW | Use the --force, Luke | 14:09 | |
It's an issue: github.com/tadzik/panda/issues/274 | |||
14:09
brrt joined
|
|||
hankache | panda --force install Linenoise | 14:11 | |
still fails | |||
ZoffixW | Yeah | ||
Oh. What's the error? | |||
hankache | File::Find:ver<0.1>:auth<>:api<> already installed | ||
14:11
pjscott joined
|
|||
Skarsnik | DBI code is crazy lol | 14:12 | |
14:12
Jonis left
|
|||
hankache | and Readline doesn't install | 14:12 | |
ZoffixW | hankache, weird. That method was working for me last night | ||
14:12
jnthn left
|
|||
hankache | so i have no line editing :( | 14:12 | |
Skarsnik | Readline need to be fixed for recent rakudo no? | 14:13 | |
14:14
Lordo joined
|
|||
lucasb | hankache: Use rlwrap, Luke :) | 14:14 | |
ZoffixW | m: my $x = now; say "{$x.WHAT}" | 14:15 | |
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value of type Instant in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/HYjkz97_iu line 1» | ||
ZoffixW | :/ | ||
m: my $x = now; say "{$x.WHAT.Str}" | 14:16 | ||
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value of type Instant in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block at /tmp/BagRJBA3it line 1» | ||
14:16
integral left
|
|||
[Coke] | lucasb: yes, I asked about removing it. No one had a strong opinion. | 14:16 | |
Skarsnik | that weird | ||
it should know $x is an Instant | |||
AlexDaniel | ZoffixW: ah right, we still don't have ≤ ≥ ≠ :) | 14:17 | |
ZoffixW | m: my $x = now; say $x.WHAT ~ ' ' | ||
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value of type Instant in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/rHSJTzvs4B line 1 » | ||
Skarsnik | m: say now.WHAT | ||
camelia | rakudo-moar e458a2: OUTPUT«(Instant)» | ||
leont | Anyway to do "call method if invocant is defined", other than spelling it out? | ||
ZoffixW | leont, $foo?.bar | ||
or ?. I forget :) | |||
lucasb | [Coke]: I'm a outsider, but I have a strong +1 for removing the tag :) | ||
hankache | great same for JSON::Fast | 14:18 | |
leont | .? isn't quite the same | ||
ZoffixW | m: class Foo { method bar { say "baars" }}; Foo.new.?bar.?foo | ||
camelia | rakudo-moar e458a2: OUTPUT«baars» | ||
ZoffixW | leont, oh, I though it was. What's the difference? | ||
leont | m: say Str.?Int | ||
camelia | rakudo-moar e458a2: OUTPUT«Invocant requires an instance of type Str, but a type object was passed. Did you forget a .new? in block <unit> at /tmp/tM_iJEBtwJ line 1» | ||
hankache | how can i install the modules ? | ||
--force is not working | |||
leont | It checks for method availability, not for definedness | 14:19 | |
AlexDaniel | hankache: what is the error then? | ||
14:19
smash joined,
stmuk joined,
RabidGravy joined
|
|||
hankache | AlexDaniel JSON::Fast:ver<v0.3>:auth<>:api<> already installed | 14:19 | |
14:19
jnthn joined
|
|||
ZoffixW | leont, just curious, what's the use case? | 14:19 | |
14:19
gumma joined
|
|||
AlexDaniel | hankache: and when you do 「panda --notests install JSON::Fast」 ? | 14:19 | |
oops | 14:20 | ||
14:20
Rotwang joined
|
|||
ab6tract | ZoffixW: hmm, looks like 'now' has even more issues than just the weird bad-ternary-path :( | 14:20 | |
AlexDaniel | --force, not --notests | ||
leont | I'm looking for a shorter version of this: | ||
14:20
lnx joined
|
|||
leont | return $!exit-status.defined && $!exit-status.status; | 14:20 | |
14:20
amoe joined
|
|||
hankache | AlexDaniel same error | 14:20 | |
ZoffixW | ab6tract, there's no issue with the ternary | ||
AlexDaniel | hankache: huh! | ||
ZoffixW | As for above, it happens with other types too: | ||
m: my $x = 42; say $x.WHAT ~ ' ' | |||
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value of type Int in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/tRKDz0PNLt line 1 » | ||
lizmat | leont: return .status with $!exit-status | ||
ab6tract | ZoffixW: ah, nevermind | ||
AlexDaniel | leont: actually, this question has already been asked a few times | ||
hankache | AlexDaniel panda --force install JSON::Fast | ||
leont | lizmat: Ah! | 14:21 | |
AlexDaniel | leont: I don't really remember what is the answer. Hmmm | ||
ab6tract | but there is still the ternary issue from earlier | ||
hankache | AlexDaniel same error as panda install JSON::Fast | ||
Skarsnik | DBD::Pg allows arrays (as arrayrefs) to be passed in to both | ||
the L</quote> and the L</execute> methods. In both cases, the array is | |||
flattened into a string representing a Postgres array. | |||
duh, that cheating/bad | |||
leont | Yes, the ternary I'd use in many more places | ||
AlexDaniel | hankache: this is not nice. I'm not sure how to help though | ||
ab6tract | m: my $x; say $x ?? 'no x' !! "x is $x" | 14:22 | |
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value $x of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/ZkhuDVqoTe line 1x is » | ||
ab6tract | this is definitely a bug | ||
14:22
gumma left
|
|||
ZoffixW | ab6tract, no it's not. You're not using the ternarry correctly | 14:22 | |
leont | Method above it has «$!exit-status.defined ?? $!exit-status.exitcode !! Int». with doesn't really make that better | ||
ZoffixW | m: say True ?? "Yes it's true" !! "No it's not true" | ||
camelia | rakudo-moar e458a2: OUTPUT«Yes it's true» | ||
ab6tract | oh, damnit. | ||
hankache | AlexDaniel well yeah i can't install most of the modules i need because they depend on the ones panda needs | ||
ZoffixW | :) | ||
ab6tract | that's my fault for cargo culting your code ;P | ||
ZoffixW | ^_^ | ||
14:22
Lordo left
|
|||
AlexDaniel | hankache: could it be that your panda is old and does not support --force ? | 14:22 | |
ab6tract | and suffering from jetlag | 14:23 | |
:) | |||
AlexDaniel | hankache: just a blind guess | ||
14:23
integral joined,
integral left,
integral joined
|
|||
hankache | AlexDaniel i nuked everything and built from scratch | 14:23 | |
AlexDaniel i should have the latest | |||
AlexDaniel | hankache: well, if it is listed in panda --help then yeah | 14:24 | |
hankache | AlexDaniel yes listed | ||
14:24
Rotwang left
|
|||
AlexDaniel | dunno then :( | 14:24 | |
14:24
stmuk left
14:25
jnthn left,
smash left,
amoe left,
smash joined,
nige1 left,
stmuk joined,
lnx left
|
|||
hankache | AlexDaniel thank you in all cases | 14:26 | |
AlexDaniel | leont: ah | ||
14:26
amoe joined,
Rotwang joined,
lnx joined
|
|||
AlexDaniel | m: sub foo { return ‘test’ }; foo() andthen .say | 14:26 | |
camelia | rakudo-moar e458a2: OUTPUT«test» | ||
14:26
bpmedley joined
|
|||
AlexDaniel | m: sub foo { return Any }; foo() andthen .say | 14:26 | |
camelia | ( no output ) | ||
perlpilot | good $localtime all | ||
AlexDaniel | leont: is that what you want? | ||
14:27
hfhkk joined,
pmurias joined
|
|||
ZoffixW | Man, I'm always cursed with awful, annoying bugs when making New Years bots -_- Right now my timeout magically changes into a different value and I can't find where or why :/ | 14:27 | |
leont | AlexDaniel: yes, thanks! | 14:28 | |
hfhkk | hi | ||
ZoffixW | hi | ||
14:28
hfhkk left,
Jonis joined
|
|||
AlexDaniel | leont: the question that was discussed multiple times is how to turn andthen into an operator | 14:28 | |
leont: because ‘andthen’ is a bit too long to type | |||
ZoffixW | That reminds me of Dude Where's My Car movie :P | 14:29 | |
AlexDaniel | leont: I don't remember any solution to this, maybe once we have proper macros it will become possible… | ||
hmm | |||
m: sub foo { return Any }; foo() orthen .say | |||
camelia | rakudo-moar e458a2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ojzdt_4ZYuBogus statementat /tmp/Ojzdt_4ZYu:1------> 3sub foo { return Any }; foo() o7⏏5rthen .say expecting any of: whitespace» | ||
leont | «return $!exit-status andthen .exitcode orelse Int» looks not that bad (though it could be shorter), lets see if it works too | ||
skyl4rk | in perl5 I could achieve runtime reloading of a module by deleting it from %INC, and require it again, is there something like that for 6? | 14:30 | |
AlexDaniel | there's no orthen, then why not call it just ‘then’ ? :) | ||
14:30
stmuk left,
hankache left
|
|||
Skarsnik | skyl4rk, it's similar, but I am not sure how you do it with the new repo api x) | 14:30 | |
AlexDaniel | m: sub foo { return False }; foo() andthen .say | ||
camelia | rakudo-moar e458a2: OUTPUT«False» | ||
AlexDaniel | m: sub foo { return True }; foo() andthen .say | ||
camelia | rakudo-moar e458a2: OUTPUT«True» | ||
14:31
lnx left
14:32
lnx joined
|
|||
lizmat | skyl4rk: why would you runtime reload a module ? | 14:33 | |
ZoffixW | Do Instance objects have some sort of magic that would make them return a different value in math operations when executed in a Promise? | ||
14:33
brrt left
|
|||
ZoffixW | I'm hitting some sort of a Shrodinger's Bug :/ | 14:33 | |
14:33
jnthn joined
|
|||
lizmat | ZoffixW: not aware of any such magic | 14:33 | |
perlpilot | ZoffixW: that often happens with threads :) | ||
14:33
Actualeyes left,
smash left,
pjscott left
14:34
smash joined,
pjscott joined
|
|||
lizmat | when you say "executed in a Promise", you mean a start {} block ? | 14:34 | |
perlpilot | ZoffixW: maybe post the code somewhere so that more eyes can help find the bug? | ||
14:34
Jonis left,
Jonis joined,
_mg_ joined
|
|||
perlpilot | (also we wouldn't have to ask questions such as lizmat's since the code would tell us :) | 14:35 | |
skyl4rk | lizmat: plugin-based long-running service that I want to be able to update the plugins of, without having to restart the whole service and close/reopen all connections ...in my case it's an irc bot and just for fun | ||
ZoffixW | lizmat, almost. Here's the code. On the highlighted line, I only get positive values, but when line 11 is executed, I get a negative value: gist.github.com/zoffixznet/6f3add4...test-p6-L9 | ||
skyl4rk | I have one (pet project) written in perl (5) already, and consider rewriting it in perl6 to get my feet wet so to speak | 14:36 | |
ZoffixW | Here's the output. You can see all the "Starting prev" lines have positives, and the last line in the output is from the Promise and it's a negative: gist.github.com/zoffixznet/e29f76f455575c363916 | 14:37 | |
14:37
stmuk joined
|
|||
ZoffixW | skyl4rk, if you figure it out, I invite you to post the solution on Issues in github.com/zoffixznet/perl6-IRC-Client so I could add perhaps add that to core :) | 14:38 | |
14:38
psy_ joined
14:39
psy_ left,
psy_ joined,
jshy left
|
|||
skyl4rk | will do | 14:40 | |
ZoffixW | I think I know what my problem is | ||
(and no, it's not alcoholism :)) | |||
14:42
amoe left,
Rotwang left,
stmuk left,
Jonis left
|
|||
dalek | c: 09b4ed9 | lizmat++ | doc/Type/IO.pod: Elaborate on the bare dd |
14:42 | |
14:42
lnx left,
smash left
|
|||
RabidGravy | skyl4rk, I wouldn't say it's *that* tricky if you're dealing with the names of plugins | 14:42 | |
14:42
jnthn left
|
|||
ZoffixW | m: my $c = 2; for |^2 { say "out:[$c]"; Promise.at(now+1).then: { say "in:[{4 - $c}]" }; $c += 42 }; sleep 3 | 14:43 | |
camelia | rakudo-moar e458a2: OUTPUT«out:[2]out:[44]in:[-82]in:[-82]» | ||
ZoffixW | I'm closing over on a value that is modified on next loop iteration and thus when the Promise executes, the value is different from the original loop iteration | ||
s/value/variable/; | |||
lizmat | ZoffixW: you realise that Promise.at is in fact a wrapper around Promise.in with when - now ? | 14:44 | |
14:44
amoe joined,
smash joined
|
|||
ZoffixW | lizmat, I do now! :) | 14:44 | |
lizmat | perhaps you could better use a fixed value for now, and then use Promise.in ? | ||
RabidGravy | I'm not convinced I would rely on any particular order of execution there | 14:45 | |
ZoffixW | That was just a sample :) In my actual program I'm setting up a bunch of Promises that fire when there's a New Year at location $x | 14:47 | |
leont | andthen and orelse have lower precedence than return, that is a gotcha too… | 14:48 | |
RabidGravy | I'd pass a Channel into the promises then have the value passed back to a main loop with that | ||
timotimo | return 1 andthen say "what" - reads kind of naturally in a way that'd explain return having a tighter precedence than andthen would | 14:49 | |
leont still wants that defined-ternary | |||
lizmat | I've suggested ??? I think :-) | ||
ZoffixW doesn't know about Channels | |||
leont, then there's a consensus at least among 3 people :) | |||
14:50
jnthn joined,
Jonis joined
|
|||
ZoffixW | err, lizmat | 14:50 | |
ETOOMANYLS | |||
skyl4rk | heh | ||
timotimo | with?, with! | ||
Skarsnik | a defined operator that work like ! could be nice | ||
14:51
lnx joined
|
|||
Skarsnik | like $stuff ? ~~ /regex/; | 14:51 | |
14:51
lucasb left
|
|||
Skarsnik | to replace $stuff.defined && $stuff ~~ /regex/; | 14:52 | |
ZoffixW | Oh, so is this a bug? | ||
m: my $x = 42; say $x.WHAT ~ ' ' | |||
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value of type Int in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/VKveYHNLlT line 1 » | ||
RabidGravy | It's kinda special | 14:53 | |
ZoffixW | m: my $x = 42; say $x.WHAT.WHAT | ||
camelia | rakudo-moar e458a2: OUTPUT«(Int)» | ||
RabidGravy | it's a type object so y'know undefined | ||
ZoffixW | m: say "{Int}" | ||
camelia | rakudo-moar e458a2: OUTPUT«Use of uninitialized value of type Int in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/VwnyeIDfKd line 1» | ||
ZoffixW | Ah, k, never mind then :) | ||
timotimo | Skarsnik: you know about //= already, i guess? | 14:54 | |
perlpilot | Skarsnik: maybe $stuff //~~ /regex/; // already has the definedness connotation | ||
timotimo | no, that's no metaoperator | ||
that //= works is because of the foo= metaop, not because of what // is | |||
Skarsnik | I don't know about // x) | 14:55 | |
14:55
_mg_ left
|
|||
RabidGravy | my $x = 42; say $x.WHAT.^name ~ ' ' | 14:55 | |
m: my $x = 42; say $x.WHAT.^name ~ ' ' | |||
camelia | rakudo-moar e458a2: OUTPUT«Int » | ||
Skarsnik | .WHAT does not like being ~ x) | ||
RabidGravy | yeah because it's a type object | ||
14:55
pjscott left
|
|||
perlpilot | maybe we need a D meta-op. $stuff D~~ /regex/; $thing D. method | 14:55 | |
(yuck) | |||
14:57
amoe left,
smash left,
lnx left
14:58
Jonis left,
jnthn left,
jnthn joined,
Jonis joined,
smash joined,
lnx joined
14:59
amoe joined
15:01
Zero_Dogg left,
Zero_Dogg joined,
Zero_Dogg left,
Zero_Dogg joined
15:05
integral left,
lnx left
15:06
integral joined,
integral left,
integral joined
15:07
lnx joined,
dotness left
15:09
Rotwang joined
15:11
sprocket joined,
stmuk joined,
esh left
|
|||
ZoffixW | How do I include methods in regexes? | 15:12 | |
m: class Foo { has $.bar = 'foo'; }; my $foo = Foo.new; say 'foo bar' ~~ /$foo.bar/ | |||
camelia | rakudo-moar e458a2: OUTPUT«Nil» | ||
ZoffixW | m: class Foo { has $.bar = 'foo'; }; my $foo = Foo.new; say 'foo bar' ~~ /"{$foo.bar}"/ | ||
camelia | rakudo-moar e458a2: OUTPUT«「foo」» | ||
ZoffixW | Is this the way? Feels dirty | ||
RabidGravy | if you define a "regex foo " I believe you can pass in arguments somehow | 15:15 | |
but that seems fine | |||
ab6tract | interpolation feels like the right fit to me, tbh | 15:16 | |
anyway, i'm off! have a happy new year #perl6! | 15:17 | ||
RabidGravy | have fun | ||
ab6tract | you too :) | ||
15:17
ab6tract left
15:18
cosarara_ is now known as cosarara
15:19
integral left
|
|||
dalek | Iish: e7eb49f | (Sylvain Colinet)++ | / (2 files): Add a Array to PG array string helper method |
15:19 | |
ZoffixW | Why is it NIl? | 15:20 | |
m: 'hny Toronto' ~~ /^ \s* 'hny' (\s+ $<loc>=.+)?/; say $/<loc> | |||
camelia | rakudo-moar e458a2: OUTPUT«Nil» | ||
ZoffixW | m: 'hny Toronto' ~~ /^ \s* 'hny' (\s+ $<loc>=.+)?/; say "$/<loc> $0" | ||
camelia | rakudo-moar e458a2: OUTPUT«Use of Nil in string context in block <unit> at /tmp/0gjlEiVDvZ line 1 Toronto» | ||
Skarsnik | to annoy you? | ||
ZoffixW | It's working! :) | ||
15:20
Rotwang left,
hankache joined
15:21
integral joined,
integral left,
integral joined
15:22
Rotwang joined,
Jonis left,
amoe left,
Jonis joined
|
|||
ZoffixW | m: 'hny Toronto' ~~ /^ \s* 'hny' \s+ ($<loc>=.+)/; say $<loc> | 15:22 | |
camelia | rakudo-moar e458a2: OUTPUT«Nil» | ||
ZoffixW | m: 'hny Toronto' ~~ /^ \s* 'hny' \s+ $<loc>=.+)/; say $<loc> | ||
camelia | rakudo-moar e458a2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AvGxfV27ePUnable to parse regex; couldn't find final '/'at /tmp/AvGxfV27eP:1------> 3y Toronto' ~~ /^ \s* 'hny' \s+ $<loc>=.+7⏏5)/; say $<loc> expecting any of: infix stopper» | ||
15:22
lnx left
15:23
Arrowhead left
|
|||
ZoffixW | crap. Well, the second one without the parens works | 15:23 | |
15:23
amoe joined
|
|||
hankache | anyone has any idea how to circumvent the panda issue ? | 15:23 | |
15:23
smash left,
smash joined
|
|||
ZoffixW | Fix the bug? XD | 15:24 | |
15:24
lnx joined
|
|||
hankache | ZiffuxW I don't know how :( | 15:24 | |
ZoffixW** | |||
ZoffixW | Ziffux -_- I had my name misspelled, but never quite in that way | ||
hankache | hahahaha | 15:25 | |
15:25
harrison_ joined,
protium left
|
|||
lizmat | afk for an hour or so | 15:25 | |
15:25
integral left
15:26
stmuk left,
jnthn left
|
|||
ZoffixW | hankache, well, the --force on panda I built about 24 hours ago works fine. So I'd start by going through recent commits and look at changes. This one seems to be doing something with the force: github.com/tadzik/panda/commit/3e7...4c1f8d9f94 | 15:27 | |
15:27
stmuk joined
|
|||
loren | panda doesn't work well.. | 15:27 | |
15:27
integral joined,
jnthn joined,
pjscott joined
|
|||
hankache | the --force is not with me these days | 15:27 | |
ZoffixW | Errors like these are really annoying 'cause you don't know which module it's triggered in. I wonder if it's easy to improve that gist.github.com/zoffixznet/82cffa1a2e42d4d62d0f | ||
15:28
raiph joined,
xinming_ joined
|
|||
ZoffixW | Hm. And it's an await call. So I can potentially have 1,000,000 lines of code to try to find that error at :( | 15:28 | |
15:29
harrison_ left
|
|||
Skarsnik | Now that I write a bunch of patch/code every where. Let see if the original code that need it work now x) | 15:29 | |
Could be worst. you don't get a backtrace at compile time x) | 15:30 | ||
hankache | say i don't want to use panda. what are my alternatives? | 15:31 | |
15:31
xinming left
15:32
virtualsue left
|
|||
ZoffixW | ugh "Too many positionals passed; expected 0 arguments but got 1"... no idea where. Is it possible to get more information from a broken... um... whatever IO::Socket::Async returns ^_^ | 15:32 | |
15:32
virtualsue joined
|
|||
leont | threads tend to ruin the backtraces on such exceptions | 15:33 | |
I tend to put CATCH { warn .backtrace } in my start{} blocks, to be able to debug things | |||
ZoffixW | Well, as far as Awesome Errors go, this is least awesome :( | 15:34 | |
k. gonna try that | |||
loren | Error message sometimes mess .. | 15:35 | |
Skarsnik | I love this: my %hash = $selectstory_req.row(:hash); my Story $story = Story.new(|%hash); x) | ||
15:36
Rotwang left,
stmuk left
|
|||
ZoffixW | *sniffs* | 15:36 | |
15:36
lnx left
|
|||
ZoffixW | Smells like sarcasm in here. | 15:36 | |
15:36
amoe left
15:37
Jonis left
|
|||
awwaiid | .seen radiak | 15:37 | |
yoleaux | I haven't seen radiak around. | ||
15:37
smash left
|
|||
awwaiid | .seen raydiak | 15:37 | |
15:37
jnthn left
|
|||
yoleaux | I saw raydiak 22 Dec 2015 08:02Z in #perl6: <raydiak> nine++ : that seems to have fixed it, I guess it was just something to do with recent changes and trying to rakudobrew over a rather old version...thanks for the help though :) | 15:37 | |
hankache | ZoffixW can i install an older panda> the one pre-the commit related to force ? | ||
loren | panda will check rakudo version, seem like | ||
ZoffixW | hankache, no idea | ||
15:39
jnthn joined,
Jonis joined,
lnx joined
|
|||
ZoffixW | yey, leont++ Three CATCHes later, I finally have some useful debug info :) | 15:39 | |
dalek | Iish: 44925b4 | (Sylvain Colinet)++ | lib/DBDish/Pg/StatementHandle.pm6: Typo |
15:41 | |
15:41
integral left,
bitmap left
15:42
cdg joined
15:43
bitmap joined,
xinming joined
|
|||
ZoffixW | m: say DateTime.now + 42 | 15:43 | |
camelia | rakudo-moar e458a2: OUTPUT«Cannot call Numeric(DateTime: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/XRPAVIobyK line 1» | ||
ZoffixW | m: say now + 42 | ||
camelia | rakudo-moar e458a2: OUTPUT«Instant:1451576689.138346» | ||
ZoffixW | IMO, math operations on DateTime could use .Instant to coercee it | ||
m: say DateTime.now + DateTime.now | 15:44 | ||
camelia | rakudo-moar e458a2: OUTPUT«Cannot call Numeric(DateTime: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/NBF0h9v0ZV line 1» | ||
15:44
pmurias left,
jnthn left
15:45
pjscott left,
Jonis left,
lnx left,
loren left
15:46
jnthn joined,
xinming_ left,
Jonis joined,
lnx joined
15:47
pjscott joined
|
|||
ZoffixW | m: sub infix:<+> (DateTime $a, Numeric $b) { $a.Instant + 42 }; say DateTime.new: DateTime.now + 42; | 15:47 | |
camelia | rakudo-moar e458a2: OUTPUT«Type check failed in binding $a; expected DateTime but got Instant in sub infix:<+> at /tmp/PW1nLC9zSt line 1 in sub infix:<+> at /tmp/PW1nLC9zSt line 1 in block <unit> at /tmp/PW1nLC9zSt line 1» | ||
ZoffixW | orly | ||
15:47
pjscott left,
bitmap left
|
|||
ZoffixW | m: say DateTime.now.WHAT | 15:48 | |
camelia | rakudo-moar e458a2: OUTPUT«(DateTime)» | ||
ZoffixW | Ah. Need a multi in there | ||
15:48
Rotwang joined
|
|||
Skarsnik | I still have a leak in xml :( | 15:48 | |
15:49
pierre-vigier joined
15:50
integral joined,
integral left,
integral joined,
bitmap joined,
void1 joined
|
|||
Skarsnik | this is annoying, my process will probably not end because of that x) | 15:50 | |
15:50
amoe joined
|
|||
timotimo | if the leaked memory is not in GC managed heap parts, it'll be no problem to just swap all that stuff out to disk ... | 15:50 | |
if it is, however, every major gc will run over it :( | 15:51 | ||
15:51
stmuk joined,
smash joined
|
|||
timotimo | repeatedly | 15:51 | |
over and over and over again | |||
Skarsnik | Still no way to access some GC info? like memory used x) | ||
timotimo | the profiler gives you a bit of info, but i'd not be against having a dedicated memory profiler or something | 15:52 | |
BBIAB | |||
15:54
void1 left,
brrt joined
15:56
_Vi joined
15:58
spider-mario joined
15:59
nanis joined
|
|||
_Vi | Is Perl6 expected to start up much slower than Perl5? 1.5 seconds for trivial script bring startup slowness to Clojure's level. | 16:00 | |
16:01
Arrowhead joined
|
|||
leont | Sadly, at this stage it is rather slow to start up | 16:02 | |
People are working on this | |||
16:03
pjscott joined
|
|||
perlpilot | _Vi: Keep in mind that Perl 5 has been around roughly three times as long as Rakudo and as such, had lots of optimization. | 16:04 | |
16:04
nexysno_ left,
nexysno_ joined
16:05
integral left
|
|||
_Vi | perlpilot, So this slowness is not by design and expected to go away in a couple of years? | 16:06 | |
perlpilot | _Vi: correct. | ||
16:06
pjscott left,
smash left,
jnthn left
|
|||
Skarsnik | it should not be that slow for small stuff. do you use lot of modules? | 16:06 | |
16:07
amoe left
|
|||
_Vi | Now Perl5 is useful as, for example, more powerful sed (perl -pe 's/.../.../'). Perl6 does not look suiting, although the same command line works. | 16:07 | |
16:07
Rotwang left,
Jonis left,
stmuk left
|
|||
_Vi | echo qqq | time perl6 -pe 's/qqq/www/' -> 1.49user 0.11system 0:01.67elapsed 95%CPU | 16:07 | |
ZoffixW | _Vi, to some extent, yes. Keep in mind that mere perl6 -e '' is akin to loading Moose in Perl 5. Do that and you'll notice a comparable (if not worse) load time | ||
16:07
lnx left,
pjscott joined
|
|||
perlpilot | _Vi: I've used P6 for command-line stuff and it's just fine. Typically *I'm* the speed bottle-neck when it comes to a command-line processing pipeline :) | 16:07 | |
16:08
lnx joined
|
|||
_Vi | (looking up what is Moose) | 16:08 | |
ZoffixW | _Vi, my personal opinion is Perl 6 is not the "tool for command line stuff". It's for large programs | ||
16:08
Rotwang joined,
smash joined,
stmuk joined
|
|||
_Vi | For large programs I typically switch to Python and friends. | 16:08 | |
ZoffixW | _Vi, it's an object system comparable to what Perl 6 has built-in: metacpan.org/pod/Moose | ||
16:08
Jonis joined,
amoe joined
|
|||
ZoffixW | _Vi, yeah. We intend to change that :P | 16:08 | |
16:09
pjscott left
|
|||
ZoffixW sounds the battle cry | 16:09 | ||
16:09
nexysno_ left
|
|||
Skarsnik | I used etheir perl or C++/Qt for writing stuff x) | 16:09 | |
hankache reporting for duty | |||
_Vi | So Perl6 is not intented to completely replace Perl5, not aiming for it's "king of quick&dirty ad-hoc text parsing and recombination"? | ||
hankache where is the snake? | |||
16:09
pjscott joined
16:10
pjscott left
|
|||
perlpilot | _Vi: it's not intending to "replace" anything. Perl 6 intends to be the best it can at the things it excels at :) | 16:10 | |
Skarsnik | ZoffixW, can you quickly cook a module to query the memory usage from /proc/stat? I am lazy lol | ||
ZoffixW | _Vi, no, Perl 6 is a new language that stuck with Perl in the name for historic reasons. Perl 5 is developed by different set of people and is making yearly releases, so there's no plan to replace anything | ||
perlpilot | _Vi: if that means that people reach for P6 instead of P5 (or python, ruby, php, C, clojure, Scala, c++, Java, etc.), ... so be it. | 16:11 | |
ZoffixW | Skarsnik, I'm busy hacking my stupid New Years bot lol | ||
_Vi | For example, Python 3 is intended to replace Python 2. | ||
16:11
dds_intix joined
|
|||
ZoffixW | _Vi, yeah, it's different with Perl 6 | 16:11 | |
Ulti | _Vi its more like the difference between C# and C | ||
16:11
jnthn joined
|
|||
ZoffixW | _Vi, you can call it Rakudo and get an accurate picture of what's replacing what :) | 16:11 | |
16:11
pjscott joined
16:12
integral joined,
integral left,
integral joined,
Begi joined
|
|||
perlpilot | _Vi: btw, Python 3 may have the intent to replace Python 2, but it's been out for how long? What's the adoption rate? Last I looked it wasn't all that swift. | 16:12 | |
brrt | Tux: i'm using python csv right now. apparantly, 'foo,bar' is *not* a sufficient quoting to not split by the , | ||
_Vi | Most of my Perl programs start as a sed or awk command lines (outgrown oneliner phase)... | ||
nanis | On an ancient laptop running Windows6, I get timethis perl6 -e "q[hello].say" in 0.272 seconds versus timethis "perl -MMoose -E ""say 'hello'"" in 0.529 with a warm file cache. | ||
ZoffixW | Do we have articles on the whole Name Issue so we don't have to explain the same thing? | 16:13 | |
nanis | That is slower than plain perl, but fast enough. | ||
16:13
pierre-vigier left
|
|||
Ulti | nanis: yeah the cache is the important part there | 16:13 | |
nanis | s/Windows6/Windows10/ | ||
Ulti | first run of Perl 6 in a while is always 1s extra | ||
16:13
pjscott left
|
|||
nanis | Sure, but most of the time, "the first run of perl6" does not happen that often. | 16:14 | |
Ulti | ZoffixW perl6.org says it in the first sentences right? | ||
nanis | There is room for improvement, but perl6 is not useless as a command line tool. | ||
huf | * * * * * perl6 -e1 | ||
perlpilot | nanis: well said. | ||
Ulti | oh not so much | ||
huf | keep that cache warm :) | ||
perlpilot | huf: heh | 16:15 | |
ZoffixW | Ulti, not really. It says Perl 5 is still a thing, not why Perl 6 has 'Perl' in its name | ||
Ulti | instead Camelia talks about herself in the third person like a crazy bug | ||
perlpilot | Ulti: it's because she spent her larval stage as a camel and didn't talk at all then. | ||
gfldex | ZoffixW: the difference between perl 5 and perl 6 should go into /language/faq | ||
Ulti | heh | 16:16 | |
16:16
pjscott joined
|
|||
leont | Why does Test.pm have a diag function, but not a (renamed) equivalent of note()? | 16:16 | |
Ulti | can we gets some 3D CSS on Camelia so she flaps her wings occasionally? | ||
leont | diag is something to be very much discouraged :-/ | ||
ZoffixW | gfldex, hm? | ||
leont | In fact, when supporting only one it's probably better to support only note's functionality | ||
perlpilot | leont: dunno. I guess no one ever needed/wanted it yet. | 16:17 | |
gfldex | ZoffixW: it's a frequently asked question, isn't it? | ||
leont | perlpilot: more likely, it's a case of copying mistakes from p5 land without asking :-/ | ||
perlpilot | maybe. | ||
Ulti | ZoffixW: www.michaelbromley.co.uk/experiment...butterfly/ | ||
Skarsnik | damn getting a deb unstable vm take me more time than expected | ||
16:17
pjscott left
|
|||
Begi | Ulti++ : it will be cool ! | 16:18 | |
leont | diag is terrible from a usability point of view (right in the middle of the harness' formatted output on the terminal), you kind of only want to use it if you're really desperate to shout to the end user | ||
nanis | Skarsnik, unless you have a specific need for a specific distro, I find ArchLinux is the fastest to get up and running in my experience with Macs and Windows. | 16:19 | |
Arrowhead | Is there a workaround for the unusable panda at the moment? | ||
16:19
Zero_Dogg left,
pierre-vigier joined
|
|||
ZoffixW | Arrowhead, fixing the bug :) | 16:19 | |
Ulti, neat | |||
Arrowhead | ZoffixW: that's bugs, plural. | 16:20 | |
nanis | Arrowhead where can I find out about the panda problem. | ||
Arrowhead | nanis: github.com/tadzik/panda/issues or just starting with a fresh rakudo, then panda, then try installing Linenoise for example. | 16:21 | |
autarch | is there an agreed-on namespace for MetaModel extensions? | ||
and if not would MetaX:: be appropriate? | |||
ZoffixW | MetaX:: sounds good to me | 16:22 | |
16:22
hankache left
|
|||
Skarsnik | kde is still broken on debian unstable, damn | 16:22 | |
nanis | Arrowhead: I'll check the issues, but just ran `panda install Linenoise` with my post-Christmas clone, and worked ... so maybe I should just stick with that for a while. | 16:24 | |
16:24
esh joined
|
|||
skyl4rk | rakudo: say @*INC[0]; | 16:24 | |
camelia | rakudo-moar e458a2: OUTPUT«Dynamic variable @*INC not found in block <unit> at /tmp/tmpfile line 1Actually thrown at: in block <unit> at /tmp/tmpfile line 1» | ||
Skarsnik | You want to look at $*REPO | ||
@INC is not here anymore | 16:25 | ||
perlpilot | Hmm. why is it $*REPO instead of @*REPO? | ||
Skarsnik | but I am not sure if precomp will not get in the way of reloading a file | ||
Because it's a more complete class? (or I maybe type it wrong) | 16:26 | ||
ZoffixW | m: say $*REPO.WHAT # that's why | ||
camelia | rakudo-moar e458a2: OUTPUT«(Installation)» | ||
ZoffixW | It's not a mere rename, but a giant overhaul | ||
perlpilot | you can always say "no precompilation" to make sure precomp isn't an issue | ||
ZoffixW: yeah, that's something I need to read up on I guess. I didn't keep up with the changes very well. | |||
16:27
amoe left,
Rotwang left
|
|||
ZoffixW | I wouldn't be surprised if it weren't documented yet | 16:27 | |
16:27
lnx left
16:28
stmuk left,
smash left,
jnthn left,
Jonis left,
ggoebel7 left
16:29
ellybelly_ left,
ellybelly left
|
|||
perlpilot | It's certainly not in the synopses anywhere. | 16:29 | |
ZoffixW | There's a gist somewhere by jnthn that describes the design | ||
Skarsnik | m: say "It's nine fault" | ||
camelia | rakudo-moar e458a2: OUTPUT«It's nine fault» | ||
16:29
dds_intix left
|
|||
perlpilot | (though @?INC still is) | 16:29 | |
16:30
stmuk joined,
smash joined,
lnx joined
|
|||
ZoffixW | The specs are outdated. Currently the roast is "the spec" | 16:30 | |
16:30
Jonis joined,
Rotwang joined
|
|||
Skarsnik | I though I removed @INC x) | 16:30 | |
16:30
jnthn joined,
amoe joined,
brrt left
|
|||
Arrowhead | Ok, I see a hint of what's going on with the panda options. The panda in panda/bin/panda works, the installed one doesn't | 16:31 | |
mst | does somebody want to summarise what's gone wrong? | ||
it'll be a few minutes before the lemsip kicks in and I'm capable of tearing CompUnitRepo to bits to help but I can start reading at least | 16:32 | ||
Skarsnik | IT4S BROKEN PLZ FIX | ||
no? | |||
ZoffixW | mst, 24hrs ago, this was the only issue: github.com/tadzik/panda/issues/274 and in the past 24hours this occured: github.com/tadzik/panda/issues/278 | ||
mst | Skarsnik: trout.me.uk/vaguecat.jpg | 16:33 | |
perlpilot | heh | ||
jdv79 | y'all are really "working" on nye? | ||
16:33
webstrand joined
|
|||
ZoffixW | mst, and summary is (a) panda needs to skip already installed modules instead of erroring out and aborting the install; and (b) seems like --force (and possibly other options) got broken in the past 24hours | 16:33 | |
16:33
zakharyas joined
|
|||
mst | jdv79: I have plans for perl6 that will involve my being able to write a module installer I don't hate | 16:34 | |
ZoffixW | mst++ | ||
jdv79 | but tonight? | ||
mst | obviously the best way to learn everything required to do that is to keep volunteering to debug the existing stuff | ||
Arrowhead | The hint for (b) is that there's a difference between the panda script in the repo and the one that gets installed, or perhaps the communication between the two. | ||
mst | dude. I've hacked on ExtUtils::MakeMaker for fun. you may be misunderstanding how this grade of masochism works. | ||
jdv79 | i think alot of us agree with that generally though | ||
RabidGravy | is everyone absolutely sure that this hasn't had some bizarre effect? github.com/tadzik/panda/commit/8c6...acaec645cb I'm skeptical but it's the only recent change | ||
jdv79 | hmm, ok. | 16:35 | |
sounds mildly disturbing | |||
mst | perlpilot: $*REPO is basically a linked list ish thing, there's a gist from jnthn somewhere | ||
16:36
lucasb joined
|
|||
ZoffixW | RabidGravy, I'm not. In fact, I mentioned that commit earlier | 16:36 | |
perlpilot | aye, I'm reading it now. | ||
mst | good, cuz I don't remember the URL. share with the class please? | ||
perlpilot | gist.github.com/jnthn/47a42b2e86e7e552b2e2 | ||
ZoffixW | We need a factoid bot... | 16:37 | |
webstrand | Is there any way to install modules by specific version? I note that Panda's project.json specifies versions for some of its dependencies, but I don't see any mechanism for identifying a specific version of a module. | ||
ZoffixW | If only someone was working on IRC bot stuff.... like right this second.... | ||
jdv79 | webstrand: probably not yet | 16:38 | |
RabidGravy | webstrand, no. The storage doesn't allow for it | ||
mst | 'the storage' ? | ||
RabidGravy | "github HEAD" | ||
jdv79 | thats the src | 16:39 | |
RabidGravy | er yes | ||
lucasb | most people are not versioning their modules on github, right? | ||
jdv79 | cur should be able to doit by my skimmings | ||
mst | lucasb: not that I can see | ||
though that's pretty much a good thing from my POV | |||
jdv79 | that scheme is not yet defined afaik | 16:40 | |
mst | since S11 is ... not something I really want to have to support all of | ||
jdv79 | use cpan for that:) | ||
webstrand | RabidGravy: Do you know if the mechanism has been specified (such as git tags)? Or is that still undecided? | ||
Skarsnik don't want to version stuff in DBIish x) | |||
dalek | osystem: 7dfeaff | (Zoffix Znet)++ | META.list: Add IRC::Client::Plugin::HNY to ecosystem Plugin for New Year's IRC parties: github.com/zoffixznet/perl6-IRC-Cl...Plugin-HNY |
||
RabidGravy | lucasb, I do but the META.list still points to HEAD | ||
Skarsnik | DBIish is an exemple of making versionning a nightmare probably | ||
jdv79 | btw, ranguard pushed a first set of eco to cpan | 16:41 | |
Skarsnik | the *base* role could have a version, while the driver another | ||
mst | yes, with intentionally low version numbers | ||
RabidGravy | webstrand, I think the current mechanism will go away at some point | ||
16:42
ZoffixW is now known as HNYBot,
HNYBot is now known as ZoffixW
|
|||
Skarsnik | Wow apt has a sexy progress bar. why apt-get does not have it lol | 16:43 | |
RabidGravy | if it was one of the modules where the author is doing so, you could go to github and get the tagged source and install manually | ||
Skarsnik | versionning will happen with tool doing it for the author | ||
16:43
HNYBot joined
|
|||
RabidGravy | all of mine have been so tagged since July | 16:43 | |
HNYBot | Next New Year is in 16 minutes and 20 seconds in Cambodia, Christmas Island, Indonesia, Laos, Mongolia, Russia, Thailand, and Vietnam | ||
ZoffixW | You don't mind if I test out my first real Perl 6 program in here, do you? :) | ||
HNYBot, hny Toronto | |||
Skarsnik | like myawesometool tag version | 16:44 | |
ZoffixW | :( | ||
Skarsnik | and it does all the git/cpan voodo | ||
RabidGravy | I thought Christmas Island was in the +14 timezone | ||
mst | Skarsnik: that's called Dist::Zilla | ||
ZoffixW | RabidGravy, is it? It might be a bug :) | ||
ugexe | nine: tony-o did, and jnthn mentioned being fine with it. then waited for lizmat to try to outline the design she had in mind in a gist. "hopes lizmat, FROGGS, and tony-o will find a way to collaborate on getitng us something nice. :)" I believe you made a comment about not taking much to be a top 3 expert in that area in the same conversation. In any case it was not just an offer as I bug tested his working | ||
yoleaux | 09:21Z <nine> ugexe: can you also tell me how to implement your "should not install a module that fails to precompile" rule? | ||
09:24Z <nine> ugexe: :ver<*> doesn't look like a good idea. For one because you ask for version '*' (a string). But apart from that it seems to be doing here what you intended (tested with Inline::Python:ver<*> and Inline::Python:ver(v0.1)) | |||
ugexe | code (handling most everything in the gist) soon after. | ||
yoleaux | 09:27Z <nine> ugexe: what exactly did tony-o offer to whom? I'm genuinly curious. Also what do you mean by "then boilerplate was merged"? | ||
ugexe | as far as how to not install a module that fails to precompile i imagine you can just uninstall a module that fails to precompile if :force is not used. when precompilation was handled as a step separate from installation it was as simple as not doing the install if precomp failed. the way it stands it creates problems for everything that depends on it, and a package manager can't choose an alternative because | ||
there are no controls/hooks for know if it failed | |||
mst | but every time I mention it in here people start ranting about how that's overcomplicated and shouldn't exist because there's no reason to have versions or something | ||
RabidGravy | no I may be just confused | ||
ZoffixW | RabidGravy, in my data it's "'offset' => '7'," | 16:45 | |
RabidGravy | I don't think we'll worry | ||
mst, ignore them versions are important | 16:46 | ||
mst | ugexe: which code are we talking about here? | ||
Skarsnik | version are importing in important module | ||
ugexe | mst: compunit | ||
Skarsnik | *important | ||
mst | ugexe: right, I've been discussing design with nine for that, where do I look for the stuff you're working on? | 16:47 | |
16:47
HNYBot left
16:48
pdcawley_ joined,
nanis left
16:49
pdcawley left
|
|||
ugexe | mst: thats from 4 months ago | 16:49 | |
mst | ugexe: oh, right, fair enough | ||
sorry. trying to avoid missing what's going on | 16:50 | ||
since the CUR code is current a beatuifully elegant theoretically brilliant jumblefsck, and I want to try and help make it as brilliant practically as it clearly should be once we de-fsck it :) | |||
16:51
amoe left
|
|||
TimToady | .oO(I don't like half of you half as well as you deserve...) |
16:51 | |
RabidGravy | mst++ | ||
16:51
integral left
|
|||
flussence has a gut feeling that we should've made one to throw away here, but CUR's part of the specs and spectests now | 16:51 | ||
16:51
ZoffixW left
|
|||
lucasb | can I share something funny I just found? If you have vim patch 7.4.1005, you can now type the command ":smile" :) | 16:52 | |
mst | flussence: that's entirely possible, but since I didn't start looking properly until after it was too late to do that, I'm not considering the possibility | ||
jdv79 | flussence: not very. | ||
mst | since if that's true, I should also have turned up months ago to help with that | ||
and I'd rather focus on what's there now than guilt tripping ourselves :D | |||
16:52
dfarrell joined
|
|||
jdv79 | it might end up a throw away yet | 16:52 | |
16:52
rindolf left
16:53
amoe joined
|
|||
flussence | jdv79: the API's gotta stick, though | 16:53 | |
perlpilot | flussence: deprecation is still a thing we can do. | ||
jdv79 | only so far as 6.c | ||
:) | |||
16:53
espadrine left,
integral joined,
stmuk left
|
|||
perlpilot | better to get the pain out of the way sooner than later for CUR stuff | 16:53 | |
16:53
Jonis left,
jnthn left
16:54
Jonis joined,
Rotwang left
|
|||
dfarrell | hey folks, I'm having real trouble getting Perl6 working on Windows. I've opened a few issues about it for rakudobrew ... but in the meantime is there any chance a new .msi of Rakudo Star will be released soon? The current version is from November | 16:54 | |
16:54
smash left
|
|||
RabidGravy | I'm sure mst is actually mellowing into a pragmatic person, he seemed like a wild idealist when I first met him ;-) | 16:54 | |
16:55
jnthn joined,
Rotwang joined,
smash joined
|
|||
jdv79 | dfarrell: it is still " the holidays" | 16:55 | |
flussence wants to just shove installed things into an sqlite blob instead of all the messing around with sha1 filenames, but that idea's beyond a certain insanity threshold... | |||
ugexe | jdv79: does your instance of metacpan have any of the dists available to download? | ||
16:55
stmuk joined
|
|||
jdv79 | all | 16:55 | |
perlpilot | flussence: me too. I've thought that for a few years now, but never got the gumption to implement it. | 16:56 | |
jdv79 | just not what ranguard did yet | ||
dfarrell | jdv79: yeah I'd like to write a "Perl 6 is out, here's how to get it" article, but I cannot get it for Windows ... | ||
16:56
atweiden joined
|
|||
flussence | Arrowhead: currently staring at a red triangle on X11, I just had to s/glfw3/glfw/ to make the library load :) | 16:56 | |
Arrowhead | flussence: great. I just fixed that, but on my Ubuntu vm I get a segfault. | 16:57 | |
lucasb | flussence: I liked this sqlite idea! I think it should be something to pursue... | ||
mst | flussence: speaking as an operations person, "if you do that, you're carrying the pager" | ||
jdv79 | for now, ugexe, prepend port 5000 to the download_url | ||
Skarsnik | someone should write blob support in NC then x) | ||
jdv79 | ill make that uri abs to work soon. dorry | ||
flussence | mst: that's why I'm not doing it and dismissing it as too insane :) | ||
perlpilot | flussence: and what mst said is *why* I never got the gumption to implement it :) | ||
webstrand | Are all perl6 modules guaranteed to be in git repositories right now? If so you could use git log to search through the commits touching the META6.json's version field | ||
ugexe | jdv79: i dont want to use ranguards because it would mean changing the author search deal or url creation | ||
but thanks, i must have mis-absoluteified the download_url before | 16:58 | ||
16:58
Jonis left
|
|||
mst | webstrand: if there even is one. META6 appears to have neither a proper spec nor a spec version field in it | 16:58 | |
16:58
integral left
|
|||
mst | that's going to need replacing as well | 16:58 | |
ugexe | meta6 is specced in s22 | ||
16:59
Jonis joined
|
|||
jdv79 | yeah. like i said unfortunately im mostly traveling for a few weeks so just checking in. no hacking. | 16:59 | |
mst | S22 is a nice artist's impression of what a sketch might look somewaht like | ||
it's not a spec | |||
Skarsnik | meta6 is lacking stuff | ||
ugexe | although not a proper meta-spec=6 deal | ||
mst | p3rl.org/CPAN::Meta::Spec is a spec | ||
16:59
pierre-vigier left,
integral joined,
integral left,
integral joined
|
|||
mst | it has versions and actual specification of things and everything | 16:59 | |
jdv79 | yeah. s22 is outdated and just a suggestion in my mind. | ||
ugexe | jdv79: ah. fwiw its down :( | 17:00 | |
17:00
cdg left
|
|||
jdv79 | yes. i would like to move towards that. | 17:00 | |
RabidGravy | yeah, the meta should be versioned | ||
17:00
sprocket left
|
|||
flussence | let's stick a 0 on it now, because we really need a 1 | 17:01 | |
jdv79 | which is why i want to be able to cpan6::meta::spec... | ||
17:01
rindolf joined,
cdg joined,
atweiden left
|
|||
RabidGravy | infact it should be versioned 0 right now so there aren't problems later | 17:01 | |
flussence | anyone want to mess with S22 to do that, or should I? | ||
17:02
atweiden joined,
atweiden left,
atweiden joined
|
|||
webstrand | mst: even if the META6 isn't specified, perl6/ecosystem seems to have an ad-hoc specification which requires some kind of `info` json document, many of which have some version field | 17:02 | |
ugexe | thats the version of the module, not the meta spec used | 17:03 | |
17:03
pierre-vigier joined
|
|||
webstrand | ugexe: I'm looking for the version of the module, not the spec | 17:03 | |
RabidGravy | yeah, there should be a meta-version or some such | ||
jdv79 | no its up. port 5001. sorry | 17:04 | |
RabidGravy | webstrand, then the version field | ||
it is specified as mandatory | |||
Skarsnik | I would want to be able to write gist.github.com/Skarsnik/83bb883378bbf2b21b82 in my meta x) | ||
17:04
ZoffixW joined
17:05
nexysno_ joined
|
|||
ugexe | jdv79: sorry i meant search is down: hack.p6c.org:5001/v0/release/_searc...ion:DBIish (404), and port 4500 gives connection refused for elasticsearch module | 17:05 | |
Skarsnik | even if it's mostly iformational | ||
ZoffixW | Well, this sucks :/ My bot seems to freeze up when connecting to Freenode almost right away :/ Even though it works locally | ||
rindolf | jdv79: hi, sup? | ||
mst sighs | |||
ugexe | port 5000^ | ||
mst broke ssh | |||
RabidGravy | for better or for worse most things fudge over a missing version | ||
rindolf | Happy New Year, everyone! | ||
17:05
dfarrell left
|
|||
TimToady | maybe we should assign A.timestamp as a version if they omit it | 17:05 | |
17:06
pierre-vigier left
|
|||
ZoffixW | That's a good idea | 17:06 | |
mst | right, moar rebuild running | ||
then I'll throw panda in | |||
then try and repro | |||
17:06
cdg left
|
|||
jdv79 | flussence: i think the spec should lag the impl wrt s22 so not sure why update it quite yet. | 17:07 | |
17:07
raiph left
|
|||
ugexe | with something like '0' or * though when someone 'use XXX:ver<1..*>' the timestamp of an older release could be chosen as newer than a later, actually newer release no? | 17:07 | |
17:07
sprocket joined,
sprocket left
|
|||
RabidGravy | rindolf, happy new year (didn't realise you were *that* east or did I just not notice what the time was ) | 17:07 | |
gfldex | m: sub f() { state $a = 'bad'; BEGIN { $a = 'good' }; $a }; put f; | 17:08 | |
camelia | rakudo-moar e458a2: OUTPUT«bad» | ||
rindolf | RabidGravy: it's not 1 January here yet. | ||
gfldex | should $a be good? | ||
rindolf | RabidGravy: I live in Tel Aviv, Israel. | ||
RabidGravy | ah okay, just checking | ||
perlpilot | rindolf: yeah, you're only UTC +0200, yes? | ||
rindolf | RabidGravy: it's 19:08 here. | ||
RabidGravy | rindolf, I know everything ;0 | ||
rindolf | perlpilot: that or UTC +0300 | ||
TimToady | gfldex: no, state variable are initialized at clone time, and BEGIN is before that | 17:09 | |
rindolf | RabidGravy: well, tell me the proof for Goldbach's Conjecture. | ||
RabidGravy | :-p | ||
gfldex | TimToady: is there another way to do that without a global variable? | ||
TimToady | well, actually, state vars are initialized at 'once' time, which is by definition after clone time | ||
17:10
nexysno_ left,
cdg joined
|
|||
dalek | ecs: 7a09880 | (Anthony Parsons)++ | S22-package-format.pod: Make an allowance for future META6 versioning This doesn't break any existing code. I promise! |
17:10 | |
jdv79 | my current thinking is to adopt the p5 meta stuff amd adjust for p6isms. | 17:11 | |
gfldex | TimToady: and should rakudo not complain inside the BEGIN because $a isn't declared? | ||
perlpilot | gfldex: but it was declared | ||
RabidGravy | flussence++ | 17:12 | |
rindolf | RabidGravy: maybe you're Ceiling Cat. | ||
flussence | my current thinking is .oO( why the heck does META6 have a key for support phone number? ) | ||
ugexe | that would be nice, as im willing to bet more p6isms could find their way to p5 | ||
17:12
Jonis left
|
|||
mst | rindolf: please don't bring creepy into here. | 17:12 | |
perlpilot | gfldex: the moment rakudo parses "state $a", $a is declared and lexically available | ||
gfldex | does the container $a exists or does it write some wrong to one of my ramz? | ||
17:12
integral left
|
|||
TimToady | m: sub f() { state $a; BEGIN { $a = 'good' }; $a }; put f; | 17:12 | |
camelia | rakudo-moar e458a2: OUTPUT«good» | ||
rindolf | mst: now what did I do? | ||
17:13
stmuk left,
amoe left
|
|||
TimToady | if you omit the bad initialization, it'll init with the static version | 17:13 | |
jdv79 | but ive only briefly irced with xdg so far and wont be able to dig in til mid jan at earliest | ||
17:13
nige1 joined
|
|||
mst | rindolf: referencing a meme involving masturbating is hardly on topic for a programming channel. | 17:13 | |
17:13
integral joined,
jnthn left,
lnx left
|
|||
RabidGravy | flussence, the language around the "support" is somewhat had wavey | 17:13 | |
17:13
smash left,
stmuk joined
|
|||
jdv79 | flussence: "v0" is likely wrong | 17:13 | |
RabidGravy | hand wavey | ||
17:13
smash joined,
lnx joined,
Rotwang left
|
|||
jdv79 | "0" | 17:13 | |
17:13
Rotwang_ joined
|
|||
mst | flussence: right now, we're going to basically have yo treat 'no version' as 'prehistoric, no idea what it is' | 17:13 | |
17:13
amoe joined
|
|||
rindolf | mst: OK, sorry. | 17:13 | |
mst | *to | ||
flussence: same will go for CUR formats on disk | 17:14 | ||
flussence | jdv79: I do say in the sentence right before that "quoted Version literal" :) | ||
17:14
jnthn joined,
Jonis joined
|
|||
perlpilot | gfldex: If you want to be crazy verbose, you could do ... | 17:14 | |
jdv79 | but thats wrong, no? | ||
17:14
edehont joined
|
|||
perlpilot | m: sub f() { state $a = "bad"; once $a = "good" ; $a; }; put f | 17:14 | |
camelia | rakudo-moar e458a2: OUTPUT«good» | ||
jdv79 | version in string form dumps the v | ||
17:14
cdg left
|
|||
flussence | agh, yeah you're right. fixing | 17:15 | |
17:15
pierre-vigier joined
|
|||
jdv79 | anyway. happy new years! i am outta here for the evening. | 17:15 | |
17:16
pierre-vigier left
|
|||
TimToady | m: say Version.new('A.' ~ time) cmp v0.0.0 | 17:16 | |
camelia | rakudo-moar e458a2: OUTPUT«Less» | ||
rindolf | jdv79: bye. | ||
ZoffixW | Found a fatal flaw in my IRC::Client that I have no idea how to resolve -_- By default xchat is in /charset IRC mode and if I say, say, 'Juáre', my bot dies with "Unhandled exception: Malformed UTF-8", but if I switch my client to /charset utf8, then it lives. | ||
RabidGravy | mst, like http I think we should just treat 0 as prehistoric and accepr anything that works right now | 17:17 | |
ZoffixW starts to suspect NOT coding on New Years would make it more pleasurable -_- | |||
17:17
pierre-vigier joined
|
|||
flussence | ZoffixW: crazy idea, try utf8-c8? | 17:17 | |
ugexe | ZoffixW: if you are using a socket/proc and not using :bin then it will gladly try to encoding invalid utf8 as utf8 and fail | 17:18 | |
Skarsnik | unicode string look nice when never dealing with the oustide word x) | ||
ZoffixW | flussence, X-chat tells me "Unknown charset: utf8-c8" | ||
Skarsnik | ZoffixW, if your code | ||
ZoffixW | ugexe, oh, I'm not using :bin anywhere | ||
ugexe | i use :bin for everything and decode it myself (for procs and sockets) | ||
17:18
firstdayonthejob left
17:19
Rotwang_ left
|
|||
flussence vaguely remembers something insane about how de-facto irc charsets work | 17:19 | ||
17:19
lnx left
|
|||
skyl4rk | what about trying to catch the exception? | 17:19 | |
Skarsnik | it's not like ascii? | ||
skyl4rk | it's pretty much undefined | ||
iirc | |||
17:19
amoe left
|
|||
ugexe | it should be an nqp error so probably not fun to catch | 17:19 | |
17:19
smash left
|
|||
ZoffixW | skyl4rk, well, that's not a solution if my bot will ignore all default Xchat users :P | 17:19 | |
17:19
Jonis left
|
|||
skyl4rk | except that {} is considered uppercase [] or vice versa | 17:20 | |
17:20
pierre-vigier left
|
|||
mst | ZoffixW: if you need to be able to handle misencoded data, I think 'decode yourself as a separate stage' is going to be the only way | 17:20 | |
17:20
amoe joined,
stmuk left,
smash joined,
jnthn left
|
|||
mst | ZoffixW: once you've trapped the exception on the decode, you can pick what to do | 17:20 | |
17:20
integral left
|
|||
mst | ZoffixW: I would suggest, IRC being IRC, "smash it into seven bit ASCII with a handy regular expression and then decode what's left" | 17:20 | |
17:20
Rotwang joined
17:21
lnx joined
|
|||
ZoffixW | :o | 17:21 | |
17:21
pierre-vigier joined
|
|||
mst | you're welcome to try something more clever than that but I'm betting "smash it into seven bit ASCII and decode the pieces" will have to be your final fallback no matter what | 17:21 | |
dalek | ecs: 60cf346 | (Anthony Parsons)++ | S22-package-format.pod: Stringy versions shouldn't be /^v/, jdv79++ |
||
17:22
integral joined,
integral left,
integral joined
|
|||
flussence | (first thing v1 needs to define: the same thing for the package version) | 17:22 | |
Arrowhead | flussence: What os/distro/version are you on? I get strange segfaults under Ubuntu 15.10 in a VM. | ||
flussence | Arrowhead: gentoo, 64-bit. It might be failing because you're asking for OpenGL 3.3... | ||
17:23
SwellJoe joined
|
|||
Arrowhead | it's currently failing when registereing the keyboard callback... | 17:23 | |
"say" debugging is the new printf debugging. | |||
17:24
regreg left
|
|||
Arrowhead | thanks. I think I'll go and scratch my own itch for a while. | 17:24 | |
lizmat | m: my $a = 42; dd $a | ||
camelia | rakudo-moar e458a2: OUTPUT«Int $a = 42» | ||
17:25
Rotwang left
|
|||
lizmat | Arrowhead: ^^^ perhaps slightly more advanced than say | 17:25 | |
Arrowhead: and one character less to type | |||
RabidGravy | right | ||
17:26
smash left,
pierre-vigier left
|
|||
Arrowhead | lizmat: in this case it was for finding where the segfault occurs... | 17:26 | |
lizmat | ah, ok :) carry on then :-) | ||
Skarsnik | there is a perl6-gdb-m if it work for you | ||
RabidGravy | two things right now, is "meta6" confirmed as the version field name in the META6? And are we going to deprecate "v0.0.0" in the JSON representation of versions? | ||
Arrowhead | Skarsnik: not at the moment, because I didn't install Star and panda is aaargh. | 17:27 | |
ZoffixW | :o flussence $str.decode: 'utf8-c8'; gives me something.... strange and evil.... look like an error in moar "free(): invalid next size (normal): 0x0ca32840" and a giant backtrace | ||
17:27
pierre-vigier joined
|
|||
ZoffixW | This: gist.github.com/zoffixznet/989e28031095623cce9f | 17:27 | |
flussence | ZoffixW: looks like the segfault |Tux| showed earlier... it should go away if the string you're decoding starts with valid utf-8 | ||
mst | augh | 17:28 | |
[Tux] | .oO( unlikely ) |
||
17:28
Rotwang joined
|
|||
flussence | RabidGravy: there's nothing to deprecate there, because it wasn't specced in the first place :D | 17:28 | |
17:28
Jonis joined,
stmuk joined
|
|||
mst | lizmat: please remember to check master before merging PRs, panda history has no-op merge commits :) | 17:28 | |
RabidGravy | flussence, well there are modules in the ecosystem that use | ||
17:29
Arrowhead left
|
|||
RabidGravy | er, that are using "v" strings | 17:29 | |
17:29
jnthn joined
|
|||
RabidGravy | and I need to know as I am going to update Test::META to handle all this | 17:29 | |
flussence | no need to tell me, I'm guilty of mixing both... | ||
Skarsnik | for me version is a no-op field xD | 17:30 | |
RabidGravy | right but it may not be in the future | ||
mst | ok, so, running panda out of a checkout is just 'perl6 -Ilib bin/pands ...' ? | ||
flussence | and just in the repos I have *local clones* of, I see a few «"version": "*"» lines | 17:31 | |
17:31
pierre-vigier left,
cdg joined
|
|||
RabidGravy | yeah, the spec mentions that but you can't make a version from it | 17:31 | |
m: say Version.new('*') | |||
camelia | rakudo-moar e458a2: OUTPUT«v*» | ||
mst | flussence: is that for dependencies? | ||
flussence | mst: you probably want to -I the things at the top of bootstrap.pl too | ||
mst: nope, actual package versions... | |||
ugexe | Distribution normalized version to ver | 17:32 | |
lizmat | dinner& | ||
mst | flussence: er. eh? | ||
gfldex | i squeezed a wee blog post into the old year gfldex.wordpress.com/2015/12/31/co...t-windows/ | ||
flussence | JSON::Tiny's meta has a version of "*" | ||
mst | gah. I'm stupid. I shouldn't've installed panda | ||
where's the 'delete it agaibn, I'm an idoot switch' *hunts* | 17:33 | ||
RabidGravy | I have a feeling that Version.new('*') should do something special to the object (i.e. match any) but I'm not clever enough to work out what at the moment | ||
mst | there's no nuke-panda command | ||
of course there's no nuke-panda command | |||
17:33
Rotwang left
|
|||
RabidGravy | there's no nuke-korea either | 17:33 | |
17:33
amoe left,
Jonis left
|
|||
mst recompiles a whole moar instead | 17:34 | ||
17:34
Rotwang joined
|
|||
mst | I so stoopid. | 17:34 | |
17:34
jnthn left,
lnx left,
smash joined
|
|||
ugexe | rm -rf /home/foo/.rakudobrew/moar-nom/install/share/perl6/site/ | 17:34 | |
17:34
amoe joined
|
|||
RabidGravy | that's an option | 17:34 | |
mst | wiping the entire moar-nom install workewd | ||
17:34
jnthn joined
|
|||
mst | I shall use a smaller hammer next time :) | 17:34 | |
17:34
cdg left,
Jonis joined,
lnx joined
17:35
cdg joined
|
|||
RabidGravy | mst, those silversmiths hammers are really good for the job | 17:35 | |
17:36
pederindi left,
pederindi joined
|
|||
ZoffixW | Bah... "Unknown string encoding: 'iso-8859-15'" | 17:36 | |
Is there an easy way to get all valid decodings .decode understands? | 17:37 | ||
mst | UTSL? | ||
ugexe | my $decoded = try { $str.decode("some-encoding") } || $str.decode('latin-1') | ||
ZoffixW | What's that? | ||
dalek | blets: b821e40 | (Herbert Breunung)++ | docs/appendix-a-index.txt: some format fixes |
||
17:37
lichtkind joined
|
|||
leont | Use The Source Luke | 17:38 | |
17:38
zakharyas left
|
|||
ZoffixW | I said ease :P | 17:38 | |
17:38
pederindi left
|
|||
ZoffixW | *easy | 17:38 | |
Skarsnik | and document it x) | ||
17:38
pi1 joined
|
|||
leont | It can't be worse than p5's Encode.pm ;-) | 17:38 | |
mst | from my POV, that usually *is* the easy way | ||
ZoffixW | w00t latin-1 worked ugexe++ | ||
Skarsnik | oh yeah latin-1 | 17:39 | |
ZoffixW | My bot doesn't die anymore ^_^ | ||
17:39
nemsys joined
|
|||
Skarsnik | qt work with latin-1/utf8/ascii | 17:39 | |
leont | IRC is lovely in not specifying an encoding :-/ | ||
mst | IRC predates anybody realising they needed to care | ||
ZoffixW | :D | ||
flussence | iirc, "IRC encoding" is "utf-8 if it's valid, latin-1 if it isn't" | 17:40 | |
Skarsnik | I think you need something to detect the encoding with irc | ||
or yes, that xD | |||
flussence | I think either xchat or irssi's docs say something about it... | ||
ZoffixW | Man, bot still freezes up when connecting to Freenode :/ I wonder if it's some Rakudo thing that changed, because I connected like this before without any issues :( | ||
ugexe | latin-1 wont fail with invalid latin-1 encoding | ||
ZoffixW | oh, sweet | ||
ugexe | like .unpack('A*') | 17:41 | |
mst | ZoffixW: hmmm. /w 64 | ||
gah | |||
ZoffixW | mst, one word. xchat.org/ | 17:42 | |
:) | |||
mst | I'd really rather not | ||
[Coke] wonders why 'no precompilation' compiles, but 'use precompilation' does not | |||
ugexe wishes there was a way to do `-M"no precompilation"` | 17:43 | ||
rindolf | ZoffixW: XChat has gone unmaintained. HexChat is an active fork of it. | ||
ZoffixW | rindolf, really? | 17:44 | |
rindolf | ZoffixW: yes. | ||
ZoffixW | It's still begging me for cash on Windows | ||
Too bad I don't like the name... | |||
rindolf | ZoffixW: which name? | ||
ZoffixW | HexChat | 17:45 | |
rindolf | ZoffixW: well, I've ran into much worse names than that. | ||
ZoffixW: and you don't have to like the name to use it. | |||
17:46
pjscott joined
|
|||
rindolf | ZoffixW: HexChat has a gratis and non-nagware version for Windows, too. | 17:46 | |
atweiden | flussence: figured out how to install system wide p6 modules without panda, e.g. aur.archlinux.org/cgit/aur.git/tre...-json-tiny | ||
dalek | kudo/nom: 6612747 | TimToady++ | src/core/Range.pm: force empty range to sum to 0 |
||
17:47
sprocket joined,
AndyDee joined
|
|||
dalek | ast: dffb5e9 | TimToady++ | S03-operators/range-int.t: test that null range sums to 0 |
17:47 | |
atweiden | uses github.com/atweiden/alacryd | ||
17:47
pi1 left
17:48
pi1 joined,
amoe left
|
|||
TimToady | I don't see that anyone actually filed that as a bug | 17:48 | |
folks, you shouldn't really rely on my backlogging skills to avoid dropping bugs on the floor | |||
17:48
integral left
17:49
integral joined,
integral left,
integral joined,
amoe joined,
Rotwang left,
Jonis left
17:50
smash left
|
|||
TimToady | 'sides, fixing bugs slows down my backlogging, waaah! | 17:50 | |
lucasb | ok, after some time playing with P6, I feel confident to start submitting bugreports :) | ||
17:51
khw joined
|
|||
TimToady | lucasb++ | 17:51 | |
17:51
edehont left
|
|||
lucasb | It took a while to start feeling confident :) | 17:51 | |
TimToady | well, if you're not confident, you just have to have a thick skin about rejects :) | ||
17:52
leont left,
_nadim joined,
sprocket left
|
|||
mst | lucasb: "I'm not sure if this is a bug or not" reports are still useful | 17:52 | |
17:53
pierre-vigier joined
|
|||
ZoffixW | Oh, it's likely my IRC Grammar that's freezin gup | 17:53 | |
_nadim | Good evening | ||
ZoffixW | Afternoon | ||
17:53
stmuk left,
stmuk joined
|
|||
rindolf | ZoffixW: there may be security problems and other serious bugs lurking in the old XChat codebase , so you really should no longer use it. | 17:54 | |
_nadim: evening. | |||
17:54
amoe left
|
|||
ZoffixW | There are many things on my box I should no longer be using and xchat is the least worrisome :) | 17:54 | |
_nadim | special "Hi" to both of you | ||
TimToady | maybe rt needs a gentler word for "reject". "Sorry, your bug report has intentionally been allowed to through the cracks." | ||
*to fall | |||
_nadim | rindolf: thanks for the test earlier, I'll try to add it to the ecosystem today | ||
rindolf | ZoffixW: really like what? | 17:55 | |
17:55
amoe joined,
_Vi left
|
|||
TimToady | Frontlogging also slows down my backlogging, waaah! | 17:55 | |
rindolf prepares his cracking toolbox to pwn ZoffixW's box. ;-) | |||
17:55
nexysno_ joined
|
|||
Skarsnik | gah i still hate this 0E0 thing in DBIS | 17:56 | |
rindolf | _nadim: you're welcome . | ||
_nadim | a question about the ecosystem. The page says "Ensure you have a provides section that lists all the files with correct filenames" is that all the .pm, .t, .pl, ...? | ||
ZoffixW | _nadim, just the .pm | ||
Skarsnik | the file installed | ||
TimToady | what about the files with incorrect filenames? | ||
ugexe | and .pl get installed if they are in bin | ||
17:57
Jonis joined,
nige1 left,
smash joined
|
|||
dalek | osystem: 7e9eb37 | (Zoffix Znet)++ | README.md: Reword what needs to be in `provides` |
17:57 | |
ZoffixW | TimToady, they don't get installed. | ||
_nadim | Ok, if the module uses other modules that are not public, my guess is that they too have to be listed, right? | ||
17:57
pjscott left,
nexysno_ left
|
|||
_nadim | ugexe: thanks | 17:58 | |
ZoffixW | _nadim, yes | ||
17:58
nexysno_ joined,
Rotwang joined
|
|||
ugexe | _nadim: you dont put .pl in provides. i meant "the file installed" is not technically correct | 17:58 | |
17:58
pjscott joined
|
|||
_nadim | a question about the version handling, and I hope I am done, how does the git version and the version in the Meta file relate. not at all i guess, but then what happens if there is a new commit, will that version be installed? | 17:59 | |
17:59
pjscott left
|
|||
RabidGravy | I think anything in 'bin' gets installed by panda irrespective of the suffix | 17:59 | |
which is right as far as I'm concerned | 18:00 | ||
Skarsnik | ZoffixW, I should write a Discord -> IRC stuff to user your NY plugin xD | ||
ugexe | but his question uses .pl as an example | ||
18:00
pjscott joined,
pjscott left
|
|||
rindolf | Skarsnik: what is Discord in this context? | 18:00 | |
ZoffixW | Skarsnik, what's Discord? | ||
Skarsnik | _nadim, I think panda always try to install the version on the git | ||
something like Slack | 18:01 | ||
a Text Chat/Voice solution | |||
rindolf | Skarsnik: ah. | ||
mst | right now, pretty sure panda just installs git master HEAD of everything | ||
RabidGravy | mst, it installs whatever the META.info points at | 18:02 | |
mst | META.info ? | ||
Skarsnik | on perl6/ecosytem | ||
mst | right | ||
_nadim | Skarsnik: that's too bad. it forces one to have another brand to develop. would be much nicer if a tag/commit, listed in the Meta file was used. | ||
ugexe | my local zef does --no-checkout and uses the extract phase to checkout different branches | 18:03 | |
_nadim | RabidGravy: and how does one point to a commit in the meta file? | ||
RabidGravy | whatever's in the META.list in the ecosystem. which is a META6 file so whatever that points at as the source | ||
ZoffixW | Hm. Found my problem. All the stuff starts with '[server...' is a new 'whenever $!sock.Supply :bin' run, which gets broken up And my Grammar freezes up on those partial commands -_- gist.github.com/zoffixznet/8b078c8d743daa9e3c2e | ||
Skarsnik | we should do a FAQ somewhere. "How module version work?" "It's mostly ignored for now" | ||
18:04
atweiden left
|
|||
RabidGravy | _nadim, a tag, you mean a tag | 18:04 | |
ugexe | _nadim: for source-url just put the path to whatever commit | ||
ZoffixW | Specifically, this line gets partial content from the server :S github.com/zoffixznet/perl6-IRC-Cl...nt.pm6#L33 | 18:05 | |
RabidGravy | but yeah, the uri in the meta,list and the source-url in the meta file don't have to point to head | ||
_nadim | a path to a commit? I admit that i don't know how that works. Andhow does one put the commit in a file that is itself under git? | 18:06 | |
RabidGravy | not a commit | ||
a tag | |||
18:07
stmuk left
|
|||
_nadim | ok | 18:07 | |
18:07
stmuk joined,
lnx left
|
|||
Skarsnik | ZoffixW, there is no .line on async sock? x) | 18:07 | |
18:07
Jonis left
|
|||
RabidGravy | so you tag "the current state" of your repository | 18:07 | |
18:07
amoe left,
jnthn left
18:08
Rotwang left
18:09
lnx joined
|
|||
rindolf | _nadim: why do you have a leading underscore? | 18:09 | |
RabidGravy | so say raw.githubusercontent.com/jonathan.../META.info | ||
18:09
spider-mario left,
Jonis joined,
jnthn joined,
amoe joined
|
|||
_nadim | RabidGravy:++ | 18:09 | |
18:09
Rotwang joined
|
|||
_nadim | rindolf: underscore in what? | 18:09 | |
rindolf | _nadim: in your nickname. | ||
RabidGravy | and if I was being strictly correct would have the 0.0.7 in the source-url | 18:10 | |
ZoffixW | RabidGravy, do you update ecosystem META.list on each release? | ||
Are tags movable? I'm thinking of creating something like 'latest' tag, and just moving it for each release. | 18:11 | ||
RabidGravy | ZoffixW, nah the smart money would be on having a realease tag that poiinted at the version | ||
flussence | ZoffixW: they are, but that doesn't mean it's a good idea :) | 18:12 | |
RabidGravy | yeah, tags are moveable, for most parts it would be bad form but you tag with the version and then tag that with "release" | 18:13 | |
_nadim | ZoffixW: yes tags can be moved | 18:14 | |
rindolf: it seems so | |||
but why? | 18:15 | ||
rindolf: it seems that I am banned on ##linux with my nick | |||
RabidGravy | flussence, it depends on the meaning of the tag whether it's a good idea or not, a specific version tag not so good, but "latest" for sure | ||
you made an over simplified rule for yourself :) | 18:16 | ||
18:16
Rotwang left,
Rotwang joined
18:17
smash left,
Jonis left
|
|||
flussence | RabidGravy: you're right, though the same can be done by using separate "stable"/"dev" branches and slightly-careful merges | 18:18 | |
ZoffixW | w00t... fixed my bot fix with a quick and broken hax :) | ||
18:19
Jonis joined
|
|||
Skarsnik | pg error are quite nice | 18:19 | |
18:19
smash joined
|
|||
rindolf | ZoffixW: great! | 18:20 | |
TimToady | 3774 hax0rs++ | ||
rindolf | Skarsnik: PostgreSQL? | ||
Skarsnik | Yes | ||
dj_goku | m: sprintf("0x%s", 10.base(16) == 10 | ||
camelia | rakudo-moar 661274: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mV8I3RZQm9Unable to parse expression in argument list; couldn't find final ')' at /tmp/mV8I3RZQm9:1------> 3sprintf("0x%s", 10.base(16) == 107⏏5<EOL>» | ||
TimToady | or however you spell that | ||
dj_goku | m: sprintf("0x%s", 10.base(16)) == 10 | ||
camelia | rakudo-moar 661274: OUTPUT«WARNINGS for /tmp/hc3IpCGDlh:Useless use of "==" in expression "sprintf(\"0x%s\", 10.base(16)) == 10" in sink context (line 1)» | ||
dj_goku | m: sprintf("0x%s", 10.base(16)) | 18:21 | |
camelia | ( no output ) | ||
18:21
integral left
|
|||
ZoffixW | TimToady, wat? :) | 18:21 | |
dj_goku | m: say sprintf("0x%s", 10.base(16)) | ||
camelia | rakudo-moar 661274: OUTPUT«0xA» | ||
dj_goku | is that the best way to convert an Int to a Hex? | ||
Skarsnik | m: printf("%d, %d", 1) | ||
camelia | rakudo-moar 661274: OUTPUT«Your printf-style directives specify 2 arguments, but 1 argument was supplied» | ||
ZoffixW | m: 16::(42) | ||
camelia | rakudo-moar 661274: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7LB2tBh6XsConfusedat /tmp/7LB2tBh6Xs:1------> 0316:7⏏5:(42) expecting any of: colon pair» | ||
Skarsnik | m: printf("hello", 1) | 18:22 | |
camelia | rakudo-moar 661274: OUTPUT«Your printf-style directives specify 0 arguments, but 1 argument was supplied» | ||
18:22
integral joined,
integral left,
integral joined
|
|||
rindolf | Skarsnik: I see. | 18:22 | |
ZoffixW | m: say ::16(42) | ||
camelia | rakudo-moar 661274: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yJCwb4wmOMTwo terms in a rowat /tmp/yJCwb4wmOM:1------> 3say ::7⏏0516(42) expecting any of: infix infix stopper postfix statement end state…» | ||
TimToady | 1337 h4x0r++ I mean | ||
ZoffixW | dj_goku, there was something akin to that ^ | ||
dj_goku | hehe ok. :D | ||
dj_goku searches | |||
ZoffixW tries to recall the module where they used that | |||
Skarsnik | should the printf error display the BT? | ||
dalek | ecs/meta-v1: fd1245c | (Anthony Parsons)++ | S22-package-format.pod: Speculatively make versions agree on a format Nothing in META6.json makes it explicit whether the "v" is required, optional or forbidden, so for now let's default to the form that requires less typing and can sanely be passed to Version.new. |
||
flussence | ^please complain about anything you don't like :) | 18:23 | |
Skarsnik | I don't like it | ||
ugexe | printf is nqpnqp | ||
TimToady | I don't like complaining. | ||
dj_goku | m: say :16(10) | ||
camelia | rakudo-moar 661274: OUTPUT«This call only converts base-16 strings to numbers; value 10 is of type Int, so cannot be converted!(If you really wanted to convert 10 to a base-16 string, use 10.base(16) instead.) in block <unit> at /tmp/01x4A7VHSg line 1» | ||
masak | m: say :16("42") | 18:24 | |
camelia | rakudo-moar 661274: OUTPUT«66» | ||
dj_goku | m: say :16('10') | ||
camelia | rakudo-moar 661274: OUTPUT«16» | ||
ZoffixW | Thanks, masak++ | ||
dj_goku | m: say :16('A') | ||
camelia | rakudo-moar 661274: OUTPUT«10» | ||
dj_goku | m: say :16('A').Str | 18:25 | |
camelia | rakudo-moar 661274: OUTPUT«10» | ||
18:25
addison joined
18:26
llfourn left
|
|||
flussence can't imagine that first change being a point of contention, but I've got other ideas people *will* complain about for this... hence doing it on a branch :) | 18:26 | ||
mst | hrmf, --installed list is working fine in a checkout | 18:27 | |
Skarsnik | the spec should be Test::META x) | ||
dj_goku | thanks! | ||
18:27
FROGGS joined
|
|||
dj_goku | I found that answer here: irclog.perlgeek.de/perl6/2015-06-26 | 18:27 | |
searching. :D | |||
mst pokes it with a stick | |||
dj_goku | right as masak said something. | ||
18:27
itaipu left
|
|||
mst | I love it when I can repro a bug against installed code but not a checkout | 18:27 | |
18:28
cygx joined
|
|||
cygx | o/ | 18:28 | |
mst | ey up | ||
18:28
jameslenz joined
|
|||
cygx | hack to manually load precompiled modules: gist.github.com/cygx/9f843fa4e1f1e13a5f9d | 18:28 | |
ZoffixW | (slow ssh connection)-- | ||
18:29
integral left
|
|||
ZoffixW | aha | 18:29 | |
18:29
integral joined
|
|||
flussence | mst: RAKUDO_MODULE_DEBUG=1 might be handy to show if it's loading the right thing | 18:29 | |
18:29
integral left,
integral joined
|
|||
mst | flussence: yeah, I'm getting a bit lost here | 18:29 | |
ZoffixW | Recall the MERGE SYMBOL errors from Linenoise yesterday? I found a way to 100% repro that | ||
mst | also just had to phone my old ISP and point out they'd apparently failed at cancelling my account when I moved house over a year ago | 18:30 | |
happily the woman in the call centre seems to've really enjoyed having somebody not shouting at her ;) | |||
w 65 | |||
18:30
itaipu joined
|
|||
ZoffixW | mst, xchat! :) | 18:30 | |
mst | ZoffixW: I'd still be reliant on typo-able keyboard commands | ||
also it doesn't run under dtach :P | |||
ZoffixW | :P | ||
TimToady | mst: you're very good at not shouting at people, from time to time :) | 18:31 | |
ZoffixW | Ugh. | 18:33 | |
18:33
pierre-vigier left
|
|||
Skarsnik | no complain about NC today. it's weird :) | 18:33 | |
ZoffixW | Well, my findings on the merge symbol stuff is: have Module.pm in two different locations that are both included with use lib <...>; and have `constant` in them. The merge error is the error merging those constants. I dunno if it's exactly the same issue as linenoise, but error looks similar | 18:34 | |
oohhh | |||
Crap. You don't even need use lib <...> :S Right now my code fails to run because I'm getting that error after doing; panda install IRC::Client; and then later git cloning the repo and doing panda --force install . | 18:35 | ||
18:35
cdg_ joined
|
|||
ZoffixW | *sigh* | 18:36 | |
Skarsnik | anobody against removing doc.perl6.org/language/nativecall#MySQL from the doc (and all the zavolaj ref) ? | ||
18:37
cdg left
|
|||
ZoffixW | Skarsnik, what's wrong with it? | 18:37 | |
18:37
firstdayonthejob joined
|
|||
ZoffixW | Seems like it's the major portion of 'EXAMPLES' section | 18:37 | |
Skarsnik | well the mysql example link to minidbi x) | 18:38 | |
flussence | that looks ancient, you might want to change it to point to github.com/rakudo/rakudo/tree/nom/...nativecall | ||
Skarsnik | maybe point to something less complex than DBI, like GD? | 18:39 | |
DBIish is not that "readable" | |||
18:41
nanis joined
|
|||
Skarsnik | Erf | 18:41 | |
ZoffixW | Something of note: our install instructions on perl6.org/downloads/ fetch 2015.12 moar, but latest panda | ||
18:42
itaipu left
|
|||
ZoffixW | firstdayonthejob, first day on the job and you're already slacking off? How terrible! :) | 18:42 | |
18:42
FROGGS left
|
|||
Skarsnik | is native('user32') I wonder if that still work x) | 18:42 | |
it end in user32.dll probably | 18:43 | ||
ZoffixW | Oh man. I just nuked everything because I wanted to fix the global error, but I forgot that panda is currently broken >_< | ||
My plans to have an awesome Perl 6 IRC party bot failed | |||
18:43
pi1 left
|
|||
flussence | panda HEAD broken? Use 4862f32c405d, mine's at that and it works fine. | 18:44 | |
18:44
FROGGS joined
|
|||
ZoffixW | I've no idea how to do that | 18:44 | |
flussence | git checkout 4862f3 should work | ||
mst | git clone [email@hidden.address] | ||
git checkout 4862f3; perl6 bootstrap.pl | |||
ZoffixW | All I know how to do is run rakudobrew build-panda | ||
mst | should work | 18:45 | |
ZoffixW | mst++ thanks | ||
mst | rakduobrew build-panda runs basically that | ||
mst stares | |||
bootstrap.pl just re-installed the deps | |||
even though I already installed Shell::Command etc. to my rekuaod | |||
*rakudo | |||
18:45
pierre-vigier joined
|
|||
mst | how ... fascinating | 18:45 | |
TimToady | .tell leont I'd use something like: .return with $!exit-status.status; | 18:46 | |
yoleaux | TimToady: I'll pass your message to leont. | ||
flussence | «} elsif ($arg eq 'build-panda') { my $panda_ver = shift;» -- I guess `rakudobrew build-panda 4862f3` would work too... | ||
18:46
regreg joined,
pi1 joined
|
|||
flussence | never used it myself, caveat lector | 18:47 | |
ZoffixW | I got "Already on 'master'" with that and abourter | ||
mst | ok, now I'm really confused | 18:48 | |
site/bin/panda --installed list | |||
ignores the --installed | |||
perl6 -Ilib bin/pands --installed list | |||
handles it fine | |||
I am ... a little confused about how to figure out why | |||
flussence | I'm gonna guess site/bin/panda is one of those wrapper scripts CompUnit installs, and that that's buggy. | 18:49 | |
mst | oooh, yes, it is | 18:50 | |
at which point *that* is probably what's losing the ARGV | |||
AHA | |||
the wrapper is | |||
sub MAIN(:$name is copy, :$auth, :$ver, *@, *%) { | |||
18:50
_Vi joined
|
|||
mst | but does | 18:51 | |
run($*EXECUTABLE-NAME, @binaries[0].hash.<files><bin/panda>, @*ARGS) | |||
which I guess passes the *@ but not the *% | |||
should that be %*ARGS, @*ARGS ? | |||
nope. ok, where does the *% end up? | 18:52 | ||
ZoffixW | @*ARGVS is @ARGV | ||
I think the MAIN sig is just there for options validation | |||
mst | oh | ||
cygx | @*ARGS likely includes the flags | ||
flussence | I think the *@ and *% are just there so unknown stuff doesn't trip the wrapper up, @*ARGS should contain everything either way | 18:53 | |
should. | |||
mst | right | ||
18:53
Arrowhead joined
|
|||
[Coke] | What's the purpose of "I ran into a problem while trying to set up REPL completions: | 18:53 | |
Continuing without tab completions" | |||
flussence | that's just not-telling you Linenoise is missing | ||
[Coke] | so let's make it tell us that Linenoise is missing. | 18:54 | |
flussence | yes please! | ||
TimToady | well, but what if it actually failed setting up readline? | ||
flussence | that's src/Perl6/Compiler.nqp:196, for anyone with a commit bit | 18:55 | |
mst | that looks like the error message should've been there after the : | ||
TimToady | overspecific errors are just as bad as underspecific | ||
mst | which would presumably either be 'Linenoise missing' or 'readline went boom' | ||
yeah, bingo, @*ARGS doesn't have --installed | 18:56 | ||
RabidGravy | "unable to find a command history library" | ||
cygx is tempted to add the error message `readline went boom` | |||
18:56
skids joined
|
|||
Arrowhead | and don't optimize for the "found a history library but it went boom" case. | 18:56 | |
autarch | is it possible to intercept direct attribute access by hooking into the meta model somehow? | 18:57 | |
flussence | looks like @*ARGS is the same as *@, and *% disappears off into space... | ||
mst | right | 18:58 | |
18:58
integral left,
HNYBot joined
|
|||
HNYBot | Next New Year is in 1 minute and 44 seconds in French Southern Territories [Port-aux-Français], Kazakhstan [Aqtöbe], Maldives [Malé], Pakistan [Faisalabad Gujranwala Hyderabad Islamabad Karachi Lahore Multan Peshawar Quetta Rawalpindi], Russia [Chelyabinsk Yekaterinburg], Tajikistan [Dushanbe Khujand], Turkmenistan [Ashkabad Turkmenabat], and Uzbekistan [Namangan Tashkent] | 18:58 | |
mst fiddles some more | |||
flussence | ZoffixW++ | ||
18:58
addison left,
ZoffixW left
|
|||
mst | argh, and if I name *%extra | 18:58 | |
18:58
ZoffixW joined
|
|||
mst | I get { installed => True } | 18:58 | |
deeply unsure what the fix for this would be | |||
ZoffixW | HNYBot, hny Toronto | 18:59 | |
HNYBot | New Year in Toronto, ON, Canada will happen in 10 hours and 55 seconds | ||
ZoffixW | HNYBot, hny Tel Aviv | ||
HNYBot | New Year in Tel Aviv-Yafo, Israel will happen in 3 hours and 48 seconds | ||
ZoffixW | She's alive \o/ | ||
autarch | hmm, maybe I don't need to intercept attr access | ||
cygx | .oO( where's the mad laughter? ) |
||
HNYBot | Next New Year is in 30 minutes in Afghanistan [Kabul Kandahar Mazari Sharif] | 19:00 | |
Happy New Year to French Southern Territories [Port-aux-Français], Kazakhstan [Aqtöbe], Maldives [Malé], Pakistan [Faisalabad Gujranwala Hyderabad Islamabad Karachi Lahore Multan Peshawar Quetta Rawalpindi], Russia [Chelyabinsk Yekaterinburg], Tajikistan [Dushanbe Khujand], Turkmenistan [Ashkabad Turkmenabat], and Uzbekistan [Namangan Tashkent] | |||
ZoffixW | muuUAHAHAHAA | ||
cygx | better | ||
RabidGravy | autarch, bind a Proxy perhaps? | ||
masak | ZoffixW: Perl 6 based? | ||
autarch | RabidGravy: ah, that might work too - but I might have a simpler option available | ||
ZoffixW | masak, not just "based", everything is Perl 6.. from scratch with IO::Socket::Async :) github.com/zoffixznet/perl6-IRC-Cl...Plugin-HNY | ||
flussence | for the convenience of the audience: we're trying to make sense of «sub MAIN(:$foo, :$bar, *@_, *%_) { dd @_, %_, @*ARGS }» | ||
masak | ZoffixW++! | 19:01 | |
ZoffixW | I had to churn out half a dozen modules for it to happen tho lol | ||
masak | ZoffixW++ # that deserves two karmas | ||
ZoffixW | \o/ | ||
mst | flussence: and notable | ||
perl6 -e 'say @*ARGS' --meep foo bar # [--meep foo bar] | |||
19:01
HNYBot left
|
|||
mst | perl6 -e 'sub MAIN(*@, *%) { say @*ARGS }' --meep foo bar # [ foo bar ] | 19:01 | |
19:01
devans2 left
|
|||
mst | that difference is what's eating the panda options as we pass through the site/bin/panda shim | 19:02 | |
RabidGravy | ZoffixW, I hope you've ecosystemed them :) | ||
ZoffixW | Time to relocate the bot to where the party's at :) #freenode-newyears | ||
RabidGravy, yup, all of 'em | |||
masak | mst: looks like a clear bug. | ||
flussence | oh, so the magic &MAIN handling is eating the *% stuff out of @*ARGS. right. | ||
RabidGravy | groovy | ||
masak | mst: shall you rakudobug it, or shall I? | ||
19:03
addison joined
|
|||
flussence | I'm not sure what's going on there, src/core/Main.pm only touches a copy of @*ARGS | 19:03 | |
cygx | $ perl6 -e 'sub MAIN(*@, *%) { say @*ARGS }' --meep foo bar # [--meep foo bar] with 2015.11-792-g98a9c6e | ||
19:04
FROGGS left
|
|||
mst | This is Rakudo version 2015.12-63-ge458a20 | 19:04 | |
masak | ZoffixW: make sure to tell them it's a Perl 6 bot ;) | 19:06 | |
lucasb | those script wrappers are the best option to handle things? someone could argue that starting *one* instance of rakudo is slow, but with these wrapper scripts, it's starting *two* instances. | ||
flussence | Main.pm hasn't changed since that 2015.11 | ||
ZoffixW | masak, that was the plan from the start :) | ||
19:06
integral joined,
integral left,
integral joined
|
|||
mst | flussence: wondering if 4c1f815 is it | 19:06 | |
RabidGravy | yeah it's fine in a plain 2015.12 | ||
mst | flussence: wait, what version do youy have? | 19:07 | |
flussence | ...an out of date one! one sec | ||
mst | flussence: wait, I want to know which | ||
flussence | yeah, that wasn't in the git I had | ||
mst | ghetto bisection via users | ||
flussence | my ORIG_HEAD is 446a3ca324052080ac9edaa9010bc6bbe7b6fe05 | ||
mst | right, so if yours is broken, it's not the commit you don't even have ;) | ||
flussence | no no, I'm getting mixed up | ||
the perl6 I'm *running* is fresh, the git clone I had lying around to read the code from was stale | 19:08 | ||
bartolin_ | .tell brrt I built rakudo HEAD using your libuv-1.8 branch on Debian 7 and FreeBSD 10.2 (both amd64). all tests for nqp and rakudo passed -- as well as "make stresstest" | ||
yoleaux | bartolin_: I'll pass your message to brrt. | ||
flussence | so ignore everything I said about Main.pm not changing, it has in the past 5 days | ||
19:08
pierre-vigier left
|
|||
virtualsue | i've put an opbot on irc.perl.org/#perl6 on the offchance that it might be useful in reducing some of the traffic in here eventually | 19:09 | |
mst | virtualsue: gimme a shout if you need oper assist for anything | ||
19:09
itaipu joined
|
|||
virtualsue | genehack sorted it | 19:09 | |
19:10
lucasb left
|
|||
autarch | I note that the metamodel classes don't have any way of removing methods or attributes - is this intentional? | 19:10 | |
19:10
lostinfog joined
|
|||
virtualsue | i don't have any great hopes for the channel, but it was already sitting there in a generally moribund state | 19:11 | |
mst | virtualsue: ah, yeah, I forget we gave the SoC Review Board O-lines, they're mostly chocolate fireguards :D | ||
virtualsue | fine for my purposes | ||
mst | yep. I'm just offering backup if required | ||
flussence | autarch: it's probably intentional, there's no sane way to remove things from a class when it might already be in use somewhere else | ||
virtualsue | cheers | ||
mst | masak: not yet, cos I think I spotted the commit :) | ||
autarch | any thoughts on how to implement lazily built attributes? I was trying to remove the attribute and replace it with a method that got the value from a different (newly made) attribute that would be populated when the method was called | 19:12 | |
cygx wanders off to do some celebrating | |||
happy debugging o/ | |||
19:13
cygx left
|
|||
autarch | I could try replacing the attribute with a Proxy, but I'm not sure how I'd get access to the object that contains the attribute in that case | 19:13 | |
flussence | autarch: maybe you can do that via the attribute's MOP at runtime? | 19:14 | |
mst | wasn't there a 'does lazy' trait or something? | ||
autarch | flussence: I don't see how - the Attribute class doesn't have any methods for getting that information - heck there isn't even a way to get an Attribute's package! | 19:15 | |
RabidGravy | autarch, mostly you don't you'd close over a lexical in the Proxy | ||
autarch | mst: I think it was removed | ||
19:15
cognominal left
|
|||
autarch | RabidGravy: close over what lexical? the whole point it to be able to call a method on the underlying object to generate the value | 19:15 | |
mst | autarch: right, but presumably the implementation would help | ||
RabidGravy | oh | ||
mst | autarch: as in, find it and steal it | ||
autarch | so if I write self!foo it calls self!build-foo under the hood | ||
mst: good point | |||
mst | bah, no, wasn't that one | 19:16 | |
wait, no | |||
offs | 19:17 | ||
19:17
sprocket joined
|
|||
mst | rakudobrew built me a *moar* of an old rev, I think | 19:17 | |
Juerd | Speaking of irc.perl.org... Any chance of that ever supporting IPv6? :| | ||
flussence | m: my class Foo { has $.bar = Proxy.new(FETCH => { self.WHICH }, STORE => { }) }; Foo.new.bar.say | ||
camelia | rakudo-moar 661274: OUTPUT«Foo|43825904» | ||
flussence | m: my class Foo { has $.bar = Proxy.new(FETCH => { self.WHICH }, STORE => { }) }; Foo.bar.say; Foo.new.bar.say | ||
camelia | rakudo-moar 661274: OUTPUT«Invocant requires an instance of type Foo, but a type object was passed. Did you forget a .new? in block <unit> at /tmp/ww9gQEjpRS line 1» | ||
mst | Juerd: we did for a while, then the ipv6 providers kept crashing, so we turned it off | ||
Juerd: in another year or two we'll try it again and see if the internet works yet | 19:18 | ||
flussence | autarch: ^ self is defined inside the Proxy, that might be useful to know | ||
autarch | flussence: is self the Proxy object though? | ||
flussence | well, says Foo|<numbers> there so I don't think so... | ||
Juerd | mst: Ah, still no native IPv6 on whatever's hosting it? :| | ||
autarch | flussence: ok, then this is super duper easy, I htink | 19:19 | |
mst | Juerd: not most of the nodes, no | ||
Juerd | mst: That is, from "IPv6 provider" I think you're referring to tunnel providers | ||
autarch | I can't find the old core lazy implementation - searching for "lazy" in the logs is not that useful since lazy is always referring to lazy lists and such | ||
mst | Juerd: yes. a lot of the servers have been in service over half a decade | ||
right, let's see if my attempt at reversing the patch works | 19:20 | ||
Juerd | mst: Not really relevant. IPv6 has been usable and stable for much more than a decade on all OSes, it's just a matter of having it available on the network. | ||
flussence has found the ipv6 internet kinda flaky in practice, even if I do go to pains to get my half-dozen nodes on it properly configured... | |||
Juerd | That is, for simple things like TCP sockets. It hasn't really been usable with automatic DNS configuration and such. | 19:21 | |
mst | Juerd: well, if you think you can do better, we've always been open to having somebody link in an IPv6 node | ||
Juerd | flussence: That's interesting. My experience has been surprisingly painless. | ||
mst | otherwise you'll have to wait until our various sysadmins can get round to it | ||
Juerd | mst: Although I do think I could do it better, I'm not really prepared to maintain an IRC server. I'd be happy to provide a virtual Debian box for it though. | 19:22 | |
19:22
llfourn joined
|
|||
flussence | Juerd: sometimes a router 5 hops away just vanishes for hours on end :( | 19:22 | |
mst | we're not short of systems, and VMs don't cut it | ||
19:22
nanis left
|
|||
Juerd | mst: Ack | 19:22 | |
mst | augh | 19:24 | |
I don't even know if my attempt at a fix went in | |||
masak: is that offer to file a bug still open? | |||
I think I'm a bit out of my depth here | |||
RabidGravy | I remember a reference implementation of of ipv6 that worked being available on windows in like '97 | ||
mst | and by 'a bit' I mean "HALP HALP SHARKS" | ||
or somebody could tell me which FM to R and I'll write it up myself | 19:26 | ||
19:26
itaipu left
|
|||
flussence has a v6 setup held together entirely with twine, chewing gum and blind faith. I can ssh to my phone without port forwarding though, so that's fun | 19:26 | ||
mst can't find a perlbug equivalent and is therefore confoos | |||
flussence | mst: rakudo's stuff is on RT for whatever reasons. mailto:rakudobug@perl.org | 19:27 | |
mst | flussence: so's perl5's | ||
flussence: but you still use perlbug | |||
19:27
llfourn left,
pi1 left
|
|||
mst | flussence: and the reason is because everything else is even worse than RT | 19:27 | |
19:28
pi1 joined
|
|||
skids | .oO(maybe a ticket system could be the perl6 "killer app") |
19:28 | |
RabidGravy | mailing list manager ;-) | 19:29 | |
autarch | next question - is it possible to see if an attribute was _set_ - even if it was set to an undefined value? | ||
moritz | skids: my experience with ticket systems is that you can't get them right | ||
flussence | .oO( no language is production-ready until someone's written an issue tracker in it and it's been pwned ) |
||
19:29
Arrowhead left
|
|||
moritz | skids: a ticket system includes at least an email client, which itself is already a very nasty task to do | 19:29 | |
19:30
Arrowhead joined
|
|||
moritz | skids: and then you have to deal with all sorts of..., let's call it "questionable" input from diverse MUAs, have to structure your tickets, map workflows etc. No fun to develop. | 19:30 | |
skids | moritz: never said it wouldn't be work :-) | 19:31 | |
moritz | I remember a fun bug in the OTRS email parser. Some clients would send headers as unencoded Latin1, and in order to parse that, OTRS would try to decode the headers with the content encoding of the body | 19:32 | |
mst cursses self, rebuilds everything | |||
moritz | which works fine for ASCII-compatible encodings, but produces hilarious mojibake for UTF-7 encoded emails | ||
19:32
Begi left
|
|||
mst | OTRS is ... special | 19:33 | |
RabidGravy | that's another thing I've yet to make, a simple workflow/state machine thingy | ||
mst | I'd actually rather use mantis | ||
moritz | and yes, we received UTF-7 encoded mails in a production setting | ||
mst: aye, but all bug trackers face some of the same challenges | |||
mst | moritz: oh, sure, just OTRS is particularly terrible | 19:34 | |
moritz | mst: my experience with RT isn't much better, TBH (though I only know the rt.perl.org and rt.cpan.org instances) | 19:35 | |
RabidGravy | remedy, just saying | ||
mst | I dunno, for internal use I've always had a heavily configured RT | ||
moritz | anyway, I think a bug tracker is a system where you can sink countless hours of work for relatively little glory | ||
mst | for large scale issue trackers I've only really used RT, bugzilla, and github | 19:36 | |
and of the three I hate RT slightly less | |||
moritz | there are niches that are much less saturated where Perl 6 could shine | ||
like devops tools; a service deployment tool that does dependency tracking for example. Such things are very hard to find right now | 19:37 | ||
or a continuous deployment system that doesn't suck at propagating meta data | |||
RabidGravy | and something nicer than buildbot | ||
mst | This is Rakudo version 2015.12-64-g6612747 | 19:38 | |
mst is confused | |||
masak submits rakudobug | 19:39 | ||
mst | masak: still trying to test a patch. not sure I've got things wrong. | ||
skids | well, I guess targeting apps that only developers use *could* work considering devlopers are the main target audience, but... | 19:40 | |
RabidGravy | I'm about half way to having all the bits for the radio station application which I intended a year ago | 19:41 | |
19:41
davercc left
|
|||
mst | masak: gimme the bug URL once you have it? (having realised it's just 'email RT' I could've done it, sorry, wasn't sure) | 19:42 | |
so, if I have a clean rakudobrew and I patch something | |||
can I just re-run 'make install' in the rakudo checkout? | 19:43 | ||
ZoffixW | I believe so | 19:44 | |
RabidGravy | if any shim updating needs too be done it won't happen but yeah | ||
mst | I'll be making a one line fix to Main.pm | ||
ZoffixW | mst, oh, without --prefix or something ,it'll just "install" into the same dir as where you're running it or somethijng | ||
19:44
webstrand left
19:46
CoconutCrab left
19:47
CoconutCrab joined
|
|||
moritz | ZoffixW: if that's a rakudo that has already been configured with a prefix, "make install" will install into the same dir as before | 19:47 | |
mst | moritz: right, so, I got confused | ||
wiped my entire rakudbrew setup | |||
after 'build moar' finishes | |||
I was going to make a one line tweak to src/core/Main.pm | |||
then 'make install' to see if it works | |||
ZoffixW | moritz, ah | ||
mst | does that seem like a sane approach? | ||
moritz | sorry, I have too little experience with post-curli rakudo | 19:48 | |
skids | You'd have to commit the tweak under git_reference/rakudo or it won't get used by rakudobrew, FWIW. | 19:49 | |
mst | ah | ||
lemme see if that works | 19:50 | ||
19:51
Arrowhead left
|
|||
mst | no | 19:53 | |
I suck | |||
masak: bug id? | |||
hrm. is there a good way to turn { installed => True } back into (--installed) ? | 19:54 | ||
I'm wondering if the current behaviour is good and the shim chaining is buggered | |||
ZoffixW | This is why I hate RT (spam): rt.perl.org/Ticket/Display.html?id=127109 | ||
mst | ZoffixW: you realise that's not a problem with RT, right? | 19:55 | |
and that, actually, one of the reasons we've stuck with RT is that our current setup filters out more spam than you want to think about | |||
ZoffixW | That's the problem with taking tickets via email | ||
And since RT allows that, it's the problem with RT | |||
perlpilot notes that 99.99999% of the perl6 tickets arrived via email | 19:56 | ||
mst | the fact I can't take tickets via email is one of the things I hate about github | ||
it increases the barrier to entry for new contributors | |||
this is bad | |||
19:57
Arrowhead joined
|
|||
skids | Hrm, well, I've always hated email for ticket purposes, but it's a matter of taste. | 19:58 | |
mst | being able to fire an email to [email@hidden.address] | ||
is a hugely useful affordance | |||
tadzik | not having to create an account is another | ||
yoleaux | 00:21Z <_nadim> tadzik: could we get an uninstall verb in Panda | ||
mst | if you don't like email, I've no problem with you signing up for an account and submitting that way | ||
tadzik | _nadim: it's kind of on the roadmap | 19:59 | |
for the last 5 years or so though :) | |||
mst | tadzik: so, everything caught fire but it's rakudo's fault, not panda's | ||
tadzik | now we actually need for CUR to support it | ||
mst: phew, typical :P | |||
lizmat | tadzik: indeed, that's why I still need to reinterprete zefram's mails :-( | ||
autarch | are "is" trait modifier on Attributes called before the attribute is attached to a class? | ||
mst | tadzik: rakudo's shims are eating options | ||
tadzik | rakudo's shims? | ||
mst | tadzik: so 'panda --force install' becaomes 'panda install' | ||
the site/bin/panda | |||
lizmat | autarch: very likely so | ||
tadzik | ouch | 20:00 | |
lizmat | because the trait is run as soon as it is encountered | ||
autarch | lizmat: is there any way to add a hook to be called after they're attached? | ||
mst | masak's rakduobugged it | ||
tadzik | masak++ | ||
lizmat | autarch: in the main line of the class maybe ? | ||
autarch | lizmat: that somewhat defeats the point of what I'm try to write | ||
perlpilot | autarch: there is a COMPOSE phaser that might be useful to you (if it's implemented) | ||
lizmat | COMPOSE is NYI | 20:01 | |
mst | I think | ||
I can't even find the queue | |||
lizmat | as it didn't seem much to add to running code in the mainline of a class | ||
mst | lizmat: hey, you merged a commit from Tux | ||
lizmat | did I? when ? | ||
mst | lizmat: Only initialize @*ARGS in MAIN_HELPER, Tux++ | ||
autarch | perlpilot: that only runs for role application anywya, so it doesn't help | ||
mst | Dec 31 12:28 | ||
that seem's to've messed things up | |||
lizmat | ah, no, Tux pointed out the problem | ||
mst | perl6 -e 'sub MAIN (*@, *%) { say @*ARGS }' --foo bar baz | 20:02 | |
now gives you only [bar baz] | |||
perlpilot | autarch: you could introspect at INIT or CHECK time, maybe? | ||
mst | instead of [--foo bar baz] | ||
autarch | I don't see how it's possible to write an "is lazy" trait for attributes - I get an attribute that's not attached to a class - I can't _change_ it because it's immutable, I can't get at the thing it's about to be attached to ... | ||
mst | so the site/bin/panda etc. shims are eating all options passed to the script invocation | ||
so 'panda --force install Foo' is now becoming 'panda install Foo' | |||
thereby causing much unhappy | |||
lizmat | mst: double checking my commit | ||
mst | I -think- that commit is the problem, looking at how you now init @*ARGS -after- ripping the options off the front | 20:03 | |
but then I got completely lost trying to test this theory | |||
awwaiid | "only onlystar-protos can be merged" can someone give me an example of what that means? | 20:04 | |
onlystar is maybe a function body with just "{ * }" ? | |||
flussence | awwaiid: if you have multi subs, and a proto sub for them that isn't just that, boom | 20:05 | |
mst | lizmat: did that make any sort of sense? | ||
awwaiid | this is when trying to import (export) multi subs from several modules | ||
lizmat | mst: you may have a point, | ||
if I created a problem, it wasn't caught by spectests :-( | |||
autarch | perlpilot: CHECK causes all sorts of weirdness if I try to use it | ||
mst | lizmat: I'm not 100% sure if that's not a bugfix though, and the shims should have *%opts instead of just *% and then re-flatten them for the 'run' | ||
autarch | this seems like it should be an easy thing to implement, it's a bit frustrating | ||
mst | lizmat: I guess the spectests don't cover the shims passing options, it's something you could very easily miss testing | 20:06 | |
lizmat: I'm not even sure if the new behaviour is wrong, just that the shims relied on the old behaviour | |||
still getting up to speed on how all the parts fit together | |||
20:06
ZoffixW left
|
|||
lizmat | did the panda problem start yesterday already ? | 20:07 | |
20:08
Arrowhead left
|
|||
autarch | is the meta model not really done? it seems like it doesn't have any of the pieces it would need to be extensible yet | 20:09 | |
mst | lizmat: github.com/tadzik/panda/issues/278 was the report | ||
lizmat: 4h ago according to github | |||
beyond that, I know nothing, my attempts to bisect backwards resulted in my getting completely and utterly confused and realising I need to read the rakudobrew sources some more, and the INSTALL docs for eveyrthing some more, and ... | 20:10 | ||
skids | autarch: It's done as far as needed to support whatever jnthn wants to show off :-) | ||
RabidGravy | yeah, I was worried that the patch I made to fix installdeps yesterday screwed it but I can't see any way it could | ||
autarch | skids: I guess what I'm asking is are there plans to make it extensible? | ||
mst | a vanilla 2015.12 definitely emits the full set of args in @*ARGS | ||
somebody confirmed that for me | |||
autarch | because right now I can't do the types of things I can do with Moose in p5, which is sad | ||
20:10
virtualsue left
|
|||
lizmat | ok, lemme bisect a bit of my own :-) | 20:11 | |
RabidGravy | autarch you can apply roles to the meta objects | ||
autarch | RabidGravy: really, how? | ||
RabidGravy | which is how about half the traits work | ||
autarch | specifically, how do I do that with an attribute? | ||
RabidGravy | let me find an example | ||
autarch | RabidGravy: that would be great! | ||
skids | autarch: yes and the guts are already well in place, just worked examples have only come from wizards capable of saying "oh, I guess we are still missing this tiny part" and adding it while workig the example. | ||
autarch | skids: I might be able to do that - I certainly know how this stuff works in Moose well enough | 20:12 | |
perlpilot | autarch: multi trait_mod:<is>(Attribute $a, :$lazy) { ... } # probably like this | ||
autarch | perlpilot: yes, that's _exactly_ what I wrote, but the $a is immutable and not attached to a package, making it basically impossible to do anything useful with it | ||
mst | lizmat: didn't you have a lazy trait proto a while back? | ||
RabidGravy | autarch, github.com/jonathanstowe/JSON-Name...ON/Name.pm very simple example | ||
skids | autarch: you might find the jnthn/oo-actors module source code worth a read. | 20:13 | |
lizmat | mst: yes, but that was decided against | ||
mst | lizmat: right, but I was wondering if autarch could see the implementation for inspiratio^Wtheft purposes | ||
ISTR it was decided against having in core, not decided against being possible at all, right? | |||
RabidGravy | more complicated examples are available | ||
lizmat | mst: 34788bfd4bcdfaba78f8eab4f removed it | 20:14 | |
autarch looks | |||
aha, I didn't realize how that compose method would work | 20:15 | ||
RabidGravy | yeah, you can over-ride the compose method and then nextsame | ||
autarch | that basically clears everything up, I think | 20:16 | |
Skarsnik | the XML::from-file is really bad lol | ||
perlpilot | autarch: btw, when you figure all this stuff out, it could sure use some documentation or even just a blog post with some examples explained :) | ||
20:16
integral left
|
|||
autarch | heh | 20:16 | |
20:16
cdg_ left
|
|||
RabidGravy | I've gone another one that does something rather odd with compose | 20:16 | |
autarch | perlpilot: yeah, the fact that the extension mechanism is undocumented (or implicitly documented?) makes things a bit frustrating | 20:17 | |
RabidGravy | autarch, here's one that dicks around with the compose of an attribute github.com/jonathanstowe/Object-Pe...mission.pm | 20:18 | |
skids | One of the reasons might be not wanting to set everything in stone quite yet. | ||
RabidGravy | I think the meta model is documented to some extent, it's just not explicitly stated you can dick around with it weird ways | 20:20 | |
mst | well, it's a metamodel, that's basically what it's *for* | 20:22 | |
RabidGravy | yeah, I know that, you know that, other people need encouraging ;-) | ||
20:23
llfourn joined
|
|||
autarch | no, other people need documentation | 20:23 | |
20:23
addison left
|
|||
autarch | at least I'm sufficiently encouraged, I just need to know how stuff works | 20:23 | |
mst | RabidGravy: autarch's been a moose core hacker for years, largely in order to support the 'weird ways' he wanted to work for extensions he was writing | ||
he's not scared, just having trouble getting started :) | 20:24 | ||
RabidGravy | to be honest I just look at the source, find which bits can be altered to influence what parts and try it out | ||
autarch | in fact, I wrote the first version of the thing that made Moose extensible in a not-just-a-toy way so that you could combine extensions | ||
20:25
rickbike joined
20:26
integral joined,
integral left,
integral joined
|
|||
autarch | fortunately someone else came along and fixed a lot of the bugs ;) | 20:26 | |
lizmat | ok, it's not my original CatHandle commit | ||
RabidGravy | but yeah, an "extending the metamodel doc" would be good | 20:27 | |
there's a lot of stuff that is not documented in anyway at all (except in some way in the design docs) | |||
skids | autarch: There is rakudo/docs/metamodel.pod in case you haven't noticed it, not that it is thorough. Probably a good place to plop whatever you learn. | ||
20:28
llfourn left
|
|||
autarch | skids: yeah, there's stuff in there not on the doc site that makes this make more sense | 20:28 | |
awwaiid | flussence: OOHHHHHH!!!! the proto itself. So in rakudo:src/core/control.pm we define EVAL as a proto with a full body and {*} in there. when I do "use Inline::Python" I get an exported EVAL. When I then do "use Inline::Ruby" I get a _second_ exported EVAL, and Rakudo tries to merge. I guess it is at that point it wants the body of the CORE::EVAL proto sub to be only {*} ? | ||
20:28
ggoebel7 joined
|
|||
perlpilot | RabidGravy: Look at github.com/jnthn/oo-actors/blob/ma...ors.pm#L48 How do you know what to put in there? (I just try stuff until it doesn't break :) | 20:28 | |
autarch | the docs site has no mention of the $attr.compose method, for example, which is pretty key to extending attributes | ||
mst | lizmat: 4c1f815c0 or d083043 seem like the likeliest to me | ||
lizmat: were I a betting man, I'd bet on the former | 20:29 | ||
autarch | I was getting really worried that this was a nearly RO metamodel, which would have been devastating | ||
mst | lizmat: 99% sure it wasn't like this when you merged my work in 79bffb9b | 20:30 | |
awwaiid | flussence: I guess it's kinda funny that the first one works, since the first one doesn't get merged since the built-in EVAL is in like CORE:: or something | ||
RabidGravy | perlpilot I think that bit flows from what it's about to do, it's the piece at line 65 that needs documenting properly :) | 20:31 | |
lizmat | it's not the one before 4c1f815c0793a5bc470 | ||
awwaiid | it would be great to be able to inject my new multi sub EVAL entries into CORE:: | ||
autarch | alright, I'm getting stuck on the fact that the $attr passed to my trait_mod:<is> sub is immutable. When the execution hits "$attr does IsLazy" I get "Cannot modify an immutable Any" | ||
awwaiid | though I guess that wouldn't be very lexical | ||
RabidGravy | autarch, you must have something funny in the signature of the trait sub | 20:32 | |
mst | lizmat: I still think it's 'assinging @*ARGS after MAIN_HELPER ate all the options' | ||
lizmat | it's 4c1f815c0793a5bc470 | ||
autarch | RabidGravy: multi sub trait_mod:<is> (Attribute:D $attr, :$lazy) is export { | ||
mst | lizmat: ha! my first guess WAS right | ||
I am ... pleasantly surprised :D | 20:33 | ||
autarch | I tried adding "is rw" after $attr but then the signature is wrong and doesn't match the multi so my trait isn't seen at all | ||
lizmat | mst: testing a fix | ||
RabidGravy | no, it shouldn't need that | ||
mst | lizmat: I'm not sure reverting the change is right though, I kinda think the shims should likely be passing not-my-option-options through from a *%extra | ||
lizmat | I'm not sure now @*ARGS needs assigning | ||
autarch | oh wait, I think I know the problem | 20:34 | |
yup, I'm dumb - I was setting $attr.builder but "has $.builder" wasn't declared as rw | |||
20:34
addison joined
|
|||
autarch | FWIW it'd be really nice if it didn't have to be rw and I could set this when I write "$attr does IsLazy( builder => $builder )" or something like that | 20:34 | |
mst | lizmat: the shims currently start with 'shift @*ARGV is $name;' etc. | ||
argh @*ARGS | 20:35 | ||
I guess leaving it completely alone is going to be better | |||
lizmat | mst: removing the assignment, seems to fix it... now spectesting | ||
ack in 5 mins | |||
*back | |||
autarch | that error message is definitely LTA | ||
mst | LTA? | 20:36 | |
awwaiid | Less Than Awesome | ||
RabidGravy | autarch, you can parameterise the trait | ||
autarch | RabidGravy: yeah, that seems wrong though | ||
RabidGravy | role even | ||
autarch | mst: my new favorite acronym | ||
awwaiid | Maybe I need ot get rid of the proto sub EVAL to do what I want. I was hoping to not have to touch Rakudo :) | 20:37 | |
mst | ah, "suboptimal" for hipsters :P | ||
awwaiid | mst: yeah | ||
20:37
integral left
|
|||
RabidGravy | I've got something that basicall p[passes the values from the trait strait to the role as parameters | 20:37 | |
20:38
SwellJoe left
20:40
BenGoldberg joined,
integral joined
|
|||
dalek | kudo/nom: 2ae0dfa | lizmat++ | src/core/Main.pm: Don't eat named parameters, mst++ This should enable --force on panda again |
20:41 | |
lizmat | mst: could you verify this fixes things ? | 20:42 | |
mst kicks off 'build moar' | |||
looks like it should, if I understand what's going on | |||
autarch | rt.perl.org/Ticket/Display.html?id=127110 is why I was getting so turned around | ||
or part of why, at least | |||
mst | yow. yeah, I can see that | 20:43 | |
though I guess the issue is that if the exception is because of -user- error, you want the 'has' declaration as the report line | 20:44 | ||
autarch | yeah, I can see why it might have ended up the way it did, but it's just so confusing | 20:45 | |
if it had the variable name in there I might have made sense of it even with the wrong line # | |||
mst | I wonder if ideally you'd report -both- locations | ||
it's not the 'wrong' line number, that's the thing | |||
autarch | that would work | ||
RabidGravy | autarch, yeah there's another really yuck one iif you refer an unknown type in a trait | ||
skids | A Failure might be able to do so. | ||
mst | if you changed which one, for many users of traits it would now be 'wrong' | ||
which is why I think 'both' | |||
autarch | mst: maybe it just need a full call stack? | 20:46 | |
mst | then we'd get into the whether to make that optional argument | ||
I ... somebody else can go there, but I'm not going to | |||
20:46
khw left,
integral left
|
|||
autarch | I added a comment reflecting what we just discussed | 20:47 | |
lizmat | autarch: you are aware of --ll-exception ? | ||
mst | autarch: nice summary | ||
20:48
integral joined,
integral left,
integral joined
|
|||
awwaiid | Do we want EVAL "...", :lang<Foo> to always try to load Inline::Foo? | 20:48 | |
autarch | lizmat: I am now - but that wouldn't have helped here - I actually needed a stack trace through code I'd written, not through rakudo or moar | ||
lizmat | autarch: ah, ok | ||
RabidGravy | ah this one rt.perl.org/Ticket/Display.html?id=125662 | ||
lizmat | "use trace" may also help | ||
autarch: ^^^ | 20:49 | ||
awwaiid | mmm. nevermind, that is probably too far for now. | ||
mst | lizmat: victory! | ||
autarch | lizmat: nope, doesn't help | ||
I assume there's some sort of special casing for errors during trait appiication interfering here | 20:50 | ||
20:50
darutoko left
|
|||
RabidGravy | it's also when they happen that has a bearing | 20:50 | |
20:51
sprocket left
|
|||
RabidGravy | it's closer to parsing time than run time | 20:51 | |
mst | lizmat: right, updated the tickets telling people they should be ok now | 20:52 | |
lizmat++ | |||
lizmat | BTW, I think it is fixed properly now, isn't it ? | ||
I mean, now that @*ARGS and $*ARGFILES are lazy, we should be fine | |||
mst | lizmat: the 'fixed properly' comment was on a different ticket where they were using --force as a workaround and you'd broken their workaround | 20:53 | |
20:53
Arrowhead joined
|
|||
lizmat | ah, ack, ok :-) *phew* :-) | 20:53 | |
mst | lizmat: by 'fixed properly' I mean fixing the actual bug that you broke their workaround for :D | ||
lizmat | gotcha | ||
mst | but they'd linked across to the ticket for -this- bug | ||
20:54
ZoffixWin joined,
ZoffixWin left,
ZoffixWin joined
|
|||
mst | so I figured I'd put the 'try this' on both | 20:54 | |
to make sure everybody was back up and running ASAP | |||
lichtkind | hugs lizmat | ||
mst | the other one is a panda bug/misfeature | ||
20:57
itaipu joined
|
|||
autarch | how does pass by reference vs pass by value work in p6? | 20:58 | |
20:59
SwellJoe joined
|
|||
lizmat | autarch: everything is pass by reference in p6, really | 20:59 | |
or pass by object, if you will | 21:00 | ||
TimToady | but 'is rw' and 'is raw' mean you want a reference, and without those doing something destructive is erroneous | ||
21:00
integral left
|
|||
TimToady | so the optimizer is allowed to optimize to copy in that case | 21:01 | |
21:02
integral joined,
integral left,
integral joined
|
|||
TimToady | likelier to beneficial for small things than larger things | 21:02 | |
as with many bits of Perl 6, the important thing is what you're promising you don't care about, not what the actual implementation does | 21:03 | ||
RabidGravy | :) | ||
21:04
Arrowhead left
|
|||
mst | I do like 'is copy' for making a sub arg explicitly rw-inside | 21:04 | |
21:04
Arrowhead joined
21:06
jameslenz left
21:07
sprocket joined
|
|||
autarch | on scale of 1 to infinity, how wrong is it to wrap a class's BUILDALL as part of attribute composition? | 21:07 | |
mst | yes | ||
21:07
FROGGS joined
|
|||
ZoffixWin | mst++ | 21:07 | |
RabidGravy | on the Westbrook-Thompson scale it's about Keith Moon | 21:09 | |
lizmat | autarch: couldn't you handle this with a BUILD method ? | ||
autarch | lizmat: well, the class that contains the lazy attribute might or might not already have a BUILD, right? | 21:10 | |
RabidGravy | do the BUILD and nextsame | ||
lizmat | autarch: but if it has a BUILD, it wan't call the BUILDALL, or does it ? | ||
confused now | |||
autarch | not as confused as I am ;) | 21:11 | |
skids thought BUILDs were automatically called *by* BUILDALL. | |||
ZoffixWin is currently hacking their HNY bot using pico, from Windows via Putty connected to a Debian box XD | |||
21:12
Rotwang left,
domidumont left
|
|||
masak | mst: I'm... rakudobugging it now. sorry for the delay. | 21:12 | |
mst: I'll get you the RT id ASAP | 21:13 | ||
21:13
Rotwang joined
|
|||
lizmat | ah, yes... my confusion stems from many classes in core calling BUILD directly from new | 21:14 | |
although one could argue, they shouldn't be called BUILD then :-) | |||
mst | masak: lizmat already fixed it | 21:15 | |
autarch | I'm trying to figure out a couple things - 1. How can I tell if an attribute was explicitly set during object construction, including set an undefined value? ... 2. How can I intercept reading of "has $!foo" style attributes since they don't go through method dispatch? | ||
mst | masak: turns out I was right about which commit, amazingly | ||
masak | \o/ | ||
ok, then I'll stand down rakudobuggin | |||
g | |||
lizmat++ | |||
autarch | it seems like #2 could be done by setting the object to a proxy which closes over the object and calls the builder the first time it's accessed, then replaces itself (the proxy) inside the object with the actual value so the proxy doesn't need to be called repeatedly | ||
which is, I guess, okay, but that brings me back to #1 | 21:16 | ||
dj_goku | is there a way to split by NUL (0x00) for a string? | ||
dj_goku is kind of fuzzy from all the caffeine. | 21:17 | ||
lizmat | m: dd "a\0b\0c".split("\0") # dj_goku | ||
camelia | rakudo-moar 2ae0df: OUTPUT«("a", "b", "c")» | ||
skids | autarch: RT#125437 (especially the IRC log linked there) might play in on #1. There's some dust yet to settle around attribute initialization (also WRT roles). | 21:18 | |
RabidGravy | though I'm thinking if you've got a null in actual data you probably wanted a Buf | ||
dj_goku | lizmat: ugh. so I did this: .split('\0') lol :( | ||
lizmat: thanks! | 21:19 | ||
autarch | I think the metamodel could probably use some stuff around attributes for hooking into the getting and setting of attributes (not of their accessors) | 21:20 | |
that would make what I'm doing trivial | |||
RabidGravy | yeah, I'm with you on that | 21:22 | |
21:22
llfourn joined
|
|||
perlpilot | I can only think of hokey things right now | 21:23 | |
involving has $.attr = SomeSentinel; and BUILD for instance | |||
autarch | perlpilot: that's _exactly_ what I'm trying to implement right now ;) | ||
except I'm wrapping BUILDALL because I don't want to interfere with existing BUILD submethods | |||
skids | autarch: well, attributes are meant to be optimized to just offset lookups for most classes, so that mechanism would have to be dissolvable when not needed. | 21:24 | |
RabidGravy | or DIY reprs could help | 21:25 | |
perlpilot | yeah, but that's a whole other bag of worms I think | ||
(also sub-documented AFAIK) | |||
21:27
llfourn left,
zwu joined
|
|||
masak is a bit surprised to discover the Edument course toolchain being praised on p6u | 21:28 | ||
I mean, that's flattering, of course... :) | |||
zwu | Hi, what is the :D in the parameter types Str:D, Str:D:, List:D, I saw a lot of them in the class Str, List etc. | ||
masak | ...but I've used it for years now and I'd like to replace it with something better (in Perl 6) | ||
ZoffixWin | Well... So far I mentioned 2 or 3 times in #freenode-newyears that my HNY bot is written in Perl 6 and no one started foaming from the mouth :) That's good news | ||
perlpilot | zwu: "defined" i.e. not a type object | ||
ZoffixWin | zwu, "defined" | ||
masak | ZoffixWin: depends how you see it :) they should foam with anticipation! | 21:29 | |
zwu | thanks. | ||
ZoffixWin | m: multi foo ($x:D) { say "defined!" }; multi foo ($x:U) { say "bruh, where's the arg?" }; foo 42; my $x; foo $x; | ||
camelia | rakudo-moar 2ae0df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dr_i1wFcXkInvalid typename 'D' in parameter declaration.at /tmp/dr_i1wFcXk:1------> 3multi foo ($x:D7⏏5) { say "defined!" }; multi foo ($x:U) {» | ||
masak | m: sub foo(Int:D $i) { say "yep" }; foo(42); foo(Int) # zwu: like this | ||
camelia | rakudo-moar 2ae0df: OUTPUT«yepParameter '$i' requires an instance of type Int, but a type object was passed. Did you forget a .new? in sub foo at /tmp/nYMif_ttBY line 1 in block <unit> at /tmp/nYMif_ttBY line 1» | ||
perlpilot | zwu: See S12:1626 | ||
hobbs | zwu: it's a very happy Str. | ||
ZoffixWin | m: multi foo (Int:D $x) { say "defined!" }; multi foo (Int:U $x) { say "bruh, where's the arg?" }; foo 42; my $x; foo $x; | ||
camelia | rakudo-moar 2ae0df: OUTPUT«defined!Cannot call foo(Any); none of these signatures match: (Int:D $x) (Int:U $x) in block <unit> at /tmp/iH8acoaXYE line 1» | ||
ZoffixWin | oh, sod off | ||
masak | ZoffixWin: $x is not Int | 21:30 | |
ZoffixWin | masak, the second time two people asked for the sauce | ||
masak, and I showed. | |||
masak | m: multi foo (Int:D $x) { say "defined!" }; multi foo (Int:U $x) { say "bruh, where's the arg?" }; foo 42; my Int $x; foo $x; | ||
camelia | rakudo-moar 2ae0df: OUTPUT«defined!bruh, where's the arg?» | ||
ZoffixWin | masak, but last year there were some "zomfg! people still use Perl ROFLCOPTER!" when I had a Perl 5 HNY bot | ||
awwaiid | what does the signature for binding to a C varargs external look like? | ||
ZoffixWin | masak, thanks. I'm too wasted to code methinks :P | ||
masak | you're welcome | 21:31 | |
21:31
FROGGS left
|
|||
perlpilot | awwaiid: I dunno if NativeCall does varargs yet. | 21:31 | |
lizmat started hitting the perlsecco, so will refrain from saying sensible things for the rest of the day | |||
perlpilot | lizmat: happy new year! :) | 21:32 | |
lizmat: give wendy a hug from #perl6 :) | |||
lizmat | perlpilot: will do! | ||
Skarsnik | I love type indirection: %fundtypes{%qualtypes{%pointertypes{$f.type-id}}} | ||
21:33
FROGGS joined
|
|||
Skarsnik | NC as vararg code | 21:33 | |
but no idea if it work | |||
maybe check at cygx C module | |||
lizmat | perlpilot: hug delivered... | ||
lizmat hugs #perl6! back | |||
(as instructed by woolfy) | |||
zwu | In using regexes, I found the matched variables $0, $1 will be overwrote in multiple states, though the purpose I want is something like if $content ~~ /something/ { $a = $0 ~~ /new test/ ?? result_a !! result_b; # now the $0, $1 are changed to the above states } | 21:34 | |
perlpilot | zwu: If you care about the contents of $0, $1, etc. you want to stick them in your own lexicals. | 21:35 | |
zwu: or ... perhaps you just need to restructure your code so that you aren't overwriting them by performing another pattern match | 21:36 | ||
flussence | or use something like if $content.match(/something/) -> $m { ... } | ||
zwu | I realized that and before entering another match, I use a variable my @m = $/.list to save them. | 21:37 | |
perlpilot | flussence++ (I keep forgetting that we can do that now :) | 21:38 | |
perlpilot still suffers from a little P5-think every now and then | |||
Skarsnik | if people interest in my wip on an attempt to extract/generate NC stuff from a C header : gist.github.com/Skarsnik/fd901dd8d26399fe4226 | 21:39 | |
skids | m: "aa" ~~ /(a)(a)/; $1.say; my $f := $/; $0 ~~ /(a)/; $1.say; $/ := $f; $1.say; # should that work? | 21:40 | |
camelia | rakudo-moar 2ae0df: OUTPUT«「a」NilNil» | ||
ZoffixWin | skids, probably not. The $/ bound to $f gets reset on the second regex, which is why it's a Nil on the second capture | 21:41 | |
RabidGravy | lizmat, I've been refraining saying sensible things for the rest of the year since februray | 21:42 | |
21:42
nexysno_ left
|
|||
lizmat | RabidGravy: that doesn't make sense, so it does | 21:42 | |
21:42
nexysno_ joined
|
|||
skids | ZoffixWin: doh. Right you are. | 21:43 | |
perlpilot | m: "aa" ~~ /(a)(a)/; $1.say; my $f = $/; $0 ~~ /(a)/; $1.say; $/ = $f; $1.say; # works with no binding though :) | ||
camelia | rakudo-moar 2ae0df: OUTPUT«「a」Nil「a」» | ||
21:44
FROGGS left
|
|||
perlpilot | Skarsnik: do you use a C parser, or a custom parser that only cares about certain things? | 21:45 | |
Skarsnik | I use gccxml x) | ||
all my attemps at using tool that use clang.. fail | 21:46 | ||
skids | ZoffixWin is obviously still not too far over the Balmer Curve | ||
ZoffixWin | :P | ||
21:46
nexysno_ left
|
|||
RabidGravy | I abandoned tring to use C::Parser again yesterday | 21:48 | |
Skarsnik | Yes | ||
I look at it: "No precomp" -> nop | |||
perlpilot | Well ... whatever works I guess. Skarsnik++ | ||
Skarsnik | I need to take a break to rethink how I gather type | ||
zwu | @flussence, thanks, that is much clear, will use yours if $content.match(/something/) -> $m { ... } | 21:49 | |
RabidGravy | I sent some PR to fix it but it just couldn't handle what I threw at it | ||
21:50
Arrowhead left
|
|||
perlpilot | zwu: I would probably use 'with' rather than 'if' there (but I don't know the full code, so ... maybe) | 21:50 | |
21:51
nexysno_ joined
|
|||
Skarsnik | there is 5 ways for type x) | 21:51 | |
zwu | please put an example using with | 21:52 | |
21:52
raiph joined
|
|||
perlpilot | zwu: just s/if/with/ in your code. It checks for definedness rather than truthness (which I don't think matters in this case) | 21:53 | |
except that it reads better :) | |||
RabidGravy | I always forget with | ||
zwu | I think it reads better too | 21:54 | |
like the with | |||
perlpilot | "without" is the one that really gets forgotten I bet | 21:55 | |
21:56
nexysno_ left
|
|||
masak | we got with/without as an analogue for if statements -- but what about while/until loops? :) same question with repeat while/until. | 21:56 | |
lizmat | $sigil = '\\' without '@$%&'.index($sigil); # from core | 21:57 | |
I guess that would be better with .contains, actually | |||
$sigil = '\\' unless '@$%&'.contains($sigil); | |||
21:58
lnrdo left
21:59
Rheum101 joined
|
|||
lizmat | also with/without topicalizes | 21:59 | |
.return with $value # return value if defined | |||
perlpilot | masak: whiled/untild :> | 22:00 | |
22:00
Arrowhead joined
22:01
skids left
22:02
yqt joined
|
|||
zwu | is there a sub or method for string for is_digits as it is in python, since it is used lot of times? | 22:02 | |
lizmat | m: say try { "abc".Numeric } | 22:03 | |
camelia | rakudo-moar 2ae0df: OUTPUT«Nil» | ||
lizmat | m: say try { "42".Numeric } | ||
camelia | rakudo-moar 2ae0df: OUTPUT«42» | ||
Skarsnik | checking for a failure does not feel right x) | 22:04 | |
masak | m: say try { "Inf".Numeric } | ||
camelia | rakudo-moar 2ae0df: OUTPUT«Inf» | ||
masak | Skarsnik: was about to say | ||
lizmat | m: say "Numeric" with try { "abc".Numeric } | ||
camelia | ( no output ) | ||
lizmat | m: say "Numeric" with try { "42".Numeric } | ||
camelia | rakudo-moar 2ae0df: OUTPUT«Numeric» | ||
masak | zwu: I think the ideal would be to try to parse it against some appropriate rule in the Perl 6 grammar. but that grammar is not exposed in userland yet :/ | ||
(in Rakudo) | 22:05 | ||
Skarsnik | m: Str.^find_method(/num/); | ||
camelia | rakudo-moar 2ae0df: OUTPUT«Regex object coerced to string (please use .gist or .perl to do that) in any find_method at gen/moar/m-Metamodel.nqp line 1076Regex object coerced to string (please use .gist or .perl to do that) in any find_method at gen/moar/m-Metamodel.nqp line 108…» | ||
zwu | I wrote a code about string to int, $str_or_int = $s ~~ /^ \d+ $$/ ?? @s.Int !! $s | ||
Skarsnik | m: say Str.^find_method("*num*"); | ||
camelia | rakudo-moar 2ae0df: OUTPUT«(Mu)» | ||
22:05
lostinfog left
|
|||
Skarsnik | m: say Str.^find_method("*Num*"); | 22:05 | |
camelia | rakudo-moar 2ae0df: OUTPUT«(Mu)» | ||
Skarsnik | m: say Str.^find_method("Num"); | ||
camelia | rakudo-moar 2ae0df: OUTPUT«Num» | ||
Skarsnik | find_method does not take a regex? | 22:06 | |
m: say Str.^find_method(<*Num*>); | |||
camelia | rakudo-moar 2ae0df: OUTPUT«(Mu)» | ||
Skarsnik | m: say Str.^find_method(<.*Num.*>); | ||
camelia | rakudo-moar 2ae0df: OUTPUT«(Mu)» | ||
zwu | the purpose is to get Int object from string if it can be converted, so that I can compare them by number in stead of by string. | 22:07 | |
Skarsnik | m: say "123".^can('Int'); | 22:08 | |
camelia | rakudo-moar 2ae0df: OUTPUT«(Int Int)» | ||
Skarsnik | m: say "123s".^can('Int'); | ||
camelia | rakudo-moar 2ae0df: OUTPUT«(Int Int)» | ||
zwu | ^can('Int') is what I want, thanks. | 22:10 | |
ZoffixWin | m: say "blarg".^can('Int'); | ||
camelia | rakudo-moar 2ae0df: OUTPUT«(Int Int)» | ||
ZoffixWin | zwu, ^ are you sure? | 22:11 | |
Skarsnik | not really | ||
zwu | sorry, not sure, | ||
gfldex | m: my (Int $i1, Int $i2); try { $i1 = "123".Int; $i2 = "abc".Int }; dd $i1, $i2 | ||
camelia | rakudo-moar 2ae0df: OUTPUT«Int $i1 = 123Int $i2 = Int» | ||
ZoffixWin | m: say try "42".Int or say "not isdigits" | ||
camelia | rakudo-moar 2ae0df: OUTPUT«42» | ||
RabidGravy | zwu, a more idiomatic approach might be to just try and convert it with a try | ||
zwu | tried say "123".^can("Int") returns (Int, Int) | ||
ZoffixWin | m: say try "42ss".Int or say "not isdigits" | ||
camelia | rakudo-moar 2ae0df: OUTPUT«Nil» | 22:12 | |
ZoffixWin | zwu, ^ | ||
Skarsnik | having to use try is dumb | ||
22:12
_Vi left
|
|||
ZoffixWin | m: say "42ss" ~~ /^\d+$/ | 22:12 | |
camelia | rakudo-moar 2ae0df: OUTPUT«Nil» | ||
Skarsnik | there should be something else x) | ||
ZoffixWin | zwu, ^ another way | ||
gfldex | m: my $i1 = "abc".?Int; my $i2 = "123".?Int; dd $i1, $i2; | ||
camelia | rakudo-moar 2ae0df: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5abc' (indicated by ⏏) in block <unit> at /tmp/Fy13Q2AP8F line 1Actually thrown at: in block <unit> at /tmp/Fy13Q2AP8F line 1» | ||
gfldex | m: sub f (Int(Str) $i) { say $i }; f('123'); f('abc'); | 22:13 | |
camelia | rakudo-moar 2ae0df: OUTPUT«123Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5abc' (indicated by ⏏) in sub f at /tmp/2RLolZge47 line 1 in block <unit> at /tmp/2RLolZge47 line 1Actually thrown at: in sub f at /tmp…» | ||
Skarsnik | typedef does not sound like fun x) | ||
gfldex | m: multi f (Int(Str) $i) { say $i }; multi f (Str $s) { say $s }; f('123'); f('abc'); | 22:14 | |
camelia | rakudo-moar 2ae0df: OUTPUT«Ambiguous call to 'f'; these signatures all match::(Str $i):(Str $s) in block <unit> at /tmp/AQvnTqx2a9 line 1» | ||
RabidGravy | m: if try "abc".Int { say "int" } else { say "other" } | ||
camelia | rakudo-moar 2ae0df: OUTPUT«other» | ||
perlpilot | good night everyone! Happy New Year! | 22:15 | |
perlpilot *poof* | |||
22:15
perlpilot left
|
|||
RabidGravy | or a multi | 22:15 | |
gfldex | converting Str to Int is dangerous so handling exception sounds right. It may be slow tho. | ||
22:15
sprocket left
|
|||
masak | "only use exceptions for exceptional circumstances" | 22:16 | |
this is not a try-it-and-fail kind of situation. it's an "is this valid?" situation | |||
Rheum101 | m: say "hi" | ||
camelia | rakudo-moar 2ae0df: OUTPUT«hi» | ||
gfldex | so a multi with where * ~~ /^\d+$/ | 22:17 | |
masak | gfldex: or define it as a subtype. | ||
gfldex | frankly, if you end up with a number in a Str you likely did something wrong in the first place | ||
Skarsnik | still there should be something more direct than a regex x) | ||
RabidGravy | it's a "try it and if that doesn't work out try something else" situation | ||
22:18
BenGoldberg left
|
|||
Skarsnik | gfldex, DBIish 'old' method only give you Str | 22:18 | |
zwu | this is the piece of code $str_or_int = $s ~~ /^ \d+ $$/ ?? @s.Int !! $s, but want to have a better way than the regex | ||
Skarsnik | and I have a webservice that give me id has string (because they are big) | ||
gfldex | Skarsnik: your input validation should also do the convertion in that case | 22:19 | |
Skarsnik | @s.Int is a typo? x) | ||
gfldex, and then how to have a direct way to check if the Str is a number aside using a dumb regex? x) | 22:20 | ||
zwu | it's a type, should be $str_or_int = $s ~~ /^ \d+ $$/ ?? $s.Int !! $s | ||
22:20
sprocket joined
|
|||
Skarsnik | m: my $a = +"1abc"; say $a; | 22:21 | |
camelia | rakudo-moar 2ae0df: OUTPUT«Cannot convert string to number: trailing characters after number in '031⏏5abc' (indicated by ⏏) in block <unit> at /tmp/dU9kzi8qjY line 1Actually thrown at: in block <unit> at /tmp/dU9kzi8qjY line 1» | ||
AlexDaniel | TimToady: I thought that I will report it tomorrow if nobody fixes it | ||
but yeah, sometimes bug mentions are just forgotten. That's pretty sad | 22:22 | ||
gfldex | zwu: i disagree, the type is Str and stays a type until you converted it _taking_unicode_into_account_ | ||
s/a type/that type/ | 22:23 | ||
dalek | kudo-star-daily: b64da31 | coke++ | log/ (9 files): today (automated commit) |
||
RabidGravy | I think some people think that the magic bug fairies fix stuff if the mention here | ||
Skarsnik | hm, what about IntStr ? | ||
22:23
llfourn joined
|
|||
AlexDaniel | RabidGravy: well, that's what happened today :) | 22:23 | |
gfldex | we may call them arabic numbers, the arabs disagree, call them hindu numbers and write them differently | 22:24 | |
22:24
BenGoldberg joined
|
|||
zwu | A union of Int and Str to IntStr something is over skill | 22:24 | |
Skarsnik | It's a Perl 6 type, but I don't remeber it use x) | 22:25 | |
gfldex | m: say "۱۲۳۴۵۶۷۸۹".Int; | ||
camelia | rakudo-moar 2ae0df: OUTPUT«123456789» | ||
gfldex | TimToady++ | ||
ZoffixWin | m: "42".WHAT.say | ||
camelia | rakudo-moar 2ae0df: OUTPUT«(Str)» | ||
zwu | Support I have a version class represent the major.minor.micro, most of time they are in the number, but sometime there may be words instead of the number, | ||
ZoffixWin | m: "42s".WHAT.say | ||
camelia | rakudo-moar 2ae0df: OUTPUT«(Str)» | ||
ZoffixWin | Hm | ||
zwu | but when they are in number, I want to sort them correctly by the number. | ||
22:25
Rheum101 left
|
|||
Skarsnik | There is a Version class x) | 22:26 | |
gfldex | zwu: don't do that. Instead let me find the link for you | ||
RabidGravy | m: my $a = IntStr.new(10, "foo"); say +$a; say ~$a; | ||
camelia | rakudo-moar 2ae0df: OUTPUT«10foo» | ||
AlexDaniel | m: say [*] 1000 .. 0 | ||
camelia | rakudo-moar 2ae0df: OUTPUT«1» | ||
Skarsnik | m: say v1.2.alpha | ||
camelia | rakudo-moar 2ae0df: OUTPUT«v1.2.alpha» | ||
AlexDaniel | TimToady: ↑ 1? Why 1? | ||
gfldex | zwu: see rosettacode.org/wiki/Natural_sorting#Perl_6 | ||
zwu | the version string most time likes 4.1.2, but sometime 4.1.d | ||
flussence | m: say 10 .. 0 | 22:27 | |
camelia | rakudo-moar 2ae0df: OUTPUT«10..0» | ||
22:27
jshy joined
|
|||
RabidGravy | I tried hacking up an enumy kind of thing for errors but not got it quite rught | 22:27 | |
flussence | m: say @(10 .. 0) | ||
camelia | rakudo-moar 2ae0df: OUTPUT«()» | ||
flussence | m: say &infix:<*>() | ||
camelia | rakudo-moar 2ae0df: OUTPUT«1» | ||
AlexDaniel | m: sar [/] 1000 .. 0 | ||
camelia | rakudo-moar 2ae0df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3iBgy6ujffUndeclared routine: sar used at line 1. Did you mean 'VAR', 'say'?» | ||
22:27
sprocket left
|
|||
Skarsnik | m: say v1.2.d cmp v1.3 | 22:27 | |
camelia | rakudo-moar 2ae0df: OUTPUT«Less» | ||
AlexDaniel | m: say [/] 1000 .. 0 | ||
camelia | rakudo-moar 2ae0df: OUTPUT«No zero-arg meaning for infix:</> in block <unit> at /tmp/gZx1fishIf line 1Actually thrown at: in block <unit> at /tmp/gZx1fishIf line 1» | ||
Skarsnik | zwu, the Version type do what you want | ||
AlexDaniel | no zero-arg meaning for / yet zero-arg * means 1 | 22:28 | |
gfldex | zwu: copypasta: rosettacode.org/wiki/Natural_sorting#Perl_6 | ||
AlexDaniel | m: say [**] 1000 .. 0 | ||
camelia | rakudo-moar 2ae0df: OUTPUT«1» | ||
gfldex | zwu: copypasta: .sort({$_.key.subst(/(\d+)/, -> $/ { 0 ~ $0.chars.chr ~ $0 }, :g)}) | ||
22:28
Tonik left
|
|||
AlexDaniel | m: say [+&] 1000 .. 0 | 22:29 | |
camelia | rakudo-moar 2ae0df: OUTPUT«-1» | ||
22:29
llfourn left
|
|||
AlexDaniel | not sure what is the logic behind this | 22:29 | |
flussence | you're passing it an empty list, as demonstrated above | ||
22:30
TimToady left,
raiph left
22:32
TimToady joined
|
|||
AlexDaniel | flussence: I'm not sure if that's how it works | 22:32 | |
flussence: previous [+] bug also was supposed to receive empty list | |||
flussence: but instead it worked on the range endpoints directly | |||
zwu | the natural_sorting for perl6 is very powerful. | 22:33 | |
AlexDaniel | flussence: github.com/rakudo/rakudo/commit/6612747124 | ||
gfldex | m: say [+&] (1000..0).list | ||
camelia | rakudo-moar 2ae0df: OUTPUT«-1» | ||
jshy | what is the correct way to convert a list of hex to write-to / print-to for udp? I keep ending up with Str or Buf. | ||
22:34
TEttinger joined
|
|||
gfldex | zwu: you can also do ascii magic if you know for sure your numbers are of the latin kind | 22:34 | |
m: say '1'.ord, 'a'.ord | |||
camelia | rakudo-moar 2ae0df: OUTPUT«4997» | ||
22:34
cognominal joined
|
|||
ZoffixWin | m: say '೬'+42 | 22:34 | |
camelia | rakudo-moar 2ae0df: OUTPUT«48» | ||
ZoffixWin | :D | ||
RabidGravy | jshy, you want a buf to pass to write-to | 22:35 | |
jshy | write-to takes a blob | ||
RabidGravy | is the "list of hex" strings or numbers> | ||
jshy, a Buf is Blob | |||
jshy | ok | 22:37 | |
masak | lol, I blogged! strangelyconsistent.org/blog/strategic-rebasing | 22:38 | |
22:38
kittenlips joined
|
|||
autarch | how would I look at all the modules loaded in the current interpreter? something with GLOBAL:: ? | 22:39 | |
gfldex | masak++ git++ | ||
AlexDaniel | m: say False .. True | ||
camelia | rakudo-moar 2ae0df: OUTPUT«Bool::False..Bool::True» | ||
RabidGravy | if a list of hex strings its's like "my $buf =Buf.new(@list.map({:16($_)})); | ||
22:40
Arrowhead left
|
|||
jshy | RabidGravy, yes that worked - not sure how I messed it up the first time. | 22:40 | |
AlexDaniel | m: say 1 ... 0 | ||
camelia | rakudo-moar 2ae0df: OUTPUT«(1 0)» | ||
AlexDaniel | m: say True ... False | ||
camelia | rakudo-moar 2ae0df: OUTPUT«(True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True …» | ||
TEttinger | m: say True .. False | 22:41 | |
camelia | rakudo-moar 2ae0df: OUTPUT«Bool::True..Bool::False» | ||
22:42
kittenlips left
22:43
zwu left,
virtualsue joined
|
|||
jshy | thanks RabidGravy. | 22:44 | |
timotimo | o/ | 22:48 | |
22:49
zwu joined
22:50
espadrine joined,
Arrowhead joined
22:51
AlexDaniel left,
virtualsue left
22:54
zwu left
22:57
vividsnow1 joined
22:58
vividsnow left,
vividsnow1 is now known as vividsnow,
_Vi joined
23:00
regreg left
|
|||
gfldex | m: say 2015++ | 23:00 | |
camelia | rakudo-moar 2ae0df: OUTPUT«Cannot call postfix:<++>(Int); none of these signatures match: (Mu:D $a is rw) (Mu:U $a is rw) (Int:D $a is rw) (int $a is rw) (Bool:U $a is rw) (Bool:D $a is rw) (Num:D $a is rw) (Num:U $a is rw) (num …» | ||
Skarsnik | x) | 23:01 | |
masak | m: say 2015.succ | ||
camelia | rakudo-moar 2ae0df: OUTPUT«2016» | ||
gfldex | happy 201perl6 even if i cant make 2015 bigger | ||
rindolf | m: my $year = 2015; $year++; say $year; | ||
camelia | rakudo-moar 2ae0df: OUTPUT«2016» | ||
rindolf | gfldex: heh, thanks. | ||
masak | m: given $ = 2015 { .++; .say } | ||
camelia | rakudo-moar 2ae0df: OUTPUT«2016» | ||
masak | m: .++ andthen .say given $ = 2015 | 23:02 | |
camelia | rakudo-moar 2ae0df: OUTPUT«2015» | ||
masak | huh. | ||
23:02
azwieg103 left
|
|||
masak | TimToady: ^ is this what you expect? :) | 23:02 | |
hm, I guess that's postfix:<++>... | 23:03 | ||
23:03
espadrine left
|
|||
masak | m: prefix:<++>($_) andthen .say given $ = 2015 | 23:03 | |
camelia | rakudo-moar 2ae0df: OUTPUT«2016» | ||
masak | \o/ | ||
m: .++ and .say given $ = 2015 | 23:04 | ||
camelia | rakudo-moar 2ae0df: OUTPUT«2016» | ||
masak | also works :) | ||
RabidGravy | everyone++ # happy near year to everyone GMT+n :) | ||
autarch | gist.github.com/autarch/621000c8753028e9fddd - trying to understand why this doesn't work - the while loop never gets executed but if I dd @inspect it has values in it | 23:06 | |
RabidGravy | try "find-classes().list" | ||
masak | autarch: maybe some of those values are falsy? | 23:07 | |
autarch | RabidGravy: it's not getting that far | ||
masak | autarch: like, type objects and stuff | ||
Woodi | Happy New Year everyone ! | ||
autarch | masak: aha, that'd do it, huh | ||
masak | yep | ||
Skarsnik | why Config::INI, go for Config::Simple! | ||
masak | autarch: you want something like `while @inspect && @inspect.shift -> $c {` | 23:08 | |
autarch | well, without the && ;) | ||
TimToady | masak: andthen topicalizes on the value it received, not the value that $_ ended up with | ||
autarch | cause that part still isn't true | ||
while @inspect { my $c = @inspect.shift; ... | 23:09 | ||
not quite as elegant, but has the benefit of actually working | |||
RabidGravy | I may have have already had too much beer as my brain optimised the intermediate arrays out | ||
23:10
davercc joined
|
|||
masak | TimToady: right -- figured it out shortly after asking | 23:11 | |
autarch: oh, of course. yes, do it like that. | |||
23:13
mcmillhj left
|
|||
moritz | good new year to everyon in GMT+1+ :-) | 23:14 | |
Skarsnik | you too | ||
timotimo | you too! | 23:17 | |
jast | same from me | ||
23:18
SwellJoe left
23:21
jshy left
|
|||
RabidGravy | I'd like to say though I came pretty late to the party here it's been a cracking year and you're all lovely, brilliant imperfect and fantastic. 2016 is going to be great. Thanks to TimToady for getting the party started :) | 23:22 | |
masak | \o/ | 23:24 | |
RabidGravy | :-* | ||
23:26
llfourn joined
23:27
zwu joined
23:28
adhoc left
23:29
adhoc joined
23:30
llfourn left,
SwellJoe joined
23:32
rindolf left
23:33
sprocket joined
23:39
Arrowhead left
|
|||
gfldex | postimg.org/image/5x15qqgez/ | 23:41 | |
Skarsnik | huhu | 23:42 | |
timotimo | gfldex: would be nice if that worked, eh? | ||
gfldex | i'm quite sure it will | 23:44 | |
timotimo | hah | ||
23:47
zwu left,
kurahaupo` joined
23:48
Arrowhead joined
|
|||
ZoffixWin | m: Perl6+2016 | 23:49 | |
camelia | rakudo-moar 2ae0df: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WxwL5QamGHUndeclared name: Perl6 used at line 1. Did you mean 'Perl'?» | ||
ZoffixWin | m: Perl+2016 | ||
camelia | rakudo-moar 2ae0df: OUTPUT«WARNINGS for /tmp/zfUiOThNU9:Useless use of "+" in expression "Perl+2016" in sink context (line 1)Use of uninitialized value of type Perl in numeric context in block <unit> at /tmp/zfUiOThNU9 line 1» | ||
ZoffixWin | :o | ||
m: say Perl+2016 | |||
camelia | rakudo-moar 2ae0df: OUTPUT«Use of uninitialized value of type Perl in numeric context in block <unit> at /tmp/MAdx3m8VV2 line 12016» | ||
ZoffixWin | -_- | ||
23:50
addison left
|
|||
RabidGravy | eh? | 23:51 | |
m: say Perl.new(6) + 2016 | |||
camelia | rakudo-moar 2ae0df: OUTPUT«Default constructor for 'Perl' only takes named arguments in block <unit> at /tmp/4hMjGgEX8d line 1» | ||
RabidGravy | well there you have it | 23:52 | |
I'm fearing what comes next | |||
Skarsnik | good night here :) | 23:58 | |
23:58
FROGGS joined
|
|||
masak | m: multi infix:<+>(Perl, Int) { "-Ofun" }; say Perl + 2016 | 23:59 | |
camelia | rakudo-moar 2ae0df: OUTPUT«-Ofun» | ||
masak | there you go... :) |