»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31 Set by jnthn on 28 February 2015. |
|||
00:03
mohij left
|
|||
skids | grondilu: all sized types are currently faking it and stored as an int64. They just have some magic surrounding assigments; apparently that magic is broken when the high bit is set. | 00:13 | |
labster | j: say any("foo","bar") ne ""; | 00:21 | |
camelia | rakudo-jvm 8b639b: OUTPUT«cannot connect to eval server: Connection refused» | ||
00:27
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:49
chenryn joined
01:02
Sqirrel left
01:05
chenryn left,
Sqirrel joined,
chenryn joined
01:08
jdv79_ is now known as jdv79
01:10
chenryn left
|
|||
dalek | pan style="color: #395be5">perl6-examples: 9fad392 | (Nathan Brown)++ | categories/cookbook/01strings/01-00introduction.pl: Double quoted string example should use qq// |
01:15 | |
nbdsp | Greetings! Could someone advise please how to call base class method from a derived one using WALK (not with callsame) ? | 01:19 | |
class B { method meth() { say "Base meth" } } class D is B { method meth() { my @cands := self.WALK( :super, :name<meth> ); self.*@cands(self); say "Derived meth" } } | |||
my $d = D.new; $d.meth; | |||
TimToady | WALK is not implemented | 01:20 | |
you can use .can to find all the candidates though | |||
nbdsp | ohh.. only callsame? | ||
TimToady | m: 42.^methods | 01:21 | |
camelia | ( no output ) | ||
TimToady | m: say 42.^methods | ||
camelia | rakudo-moar 8b639b: OUTPUT«Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range sign conj rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech cosech acosech cotan…» | ||
01:21
grondilu left
|
|||
nbdsp | thanks! will try .can() | 01:22 | |
TimToady | m: say 42.can('gist') | ||
camelia | rakudo-moar 8b639b: OUTPUT«gist gist» | ||
TimToady | m: say 42.can('perl') | ||
camelia | rakudo-moar 8b639b: OUTPUT«perl perl» | ||
TimToady | m: say 42.can('perl')[0](42) | 01:23 | |
camelia | rakudo-moar 8b639b: OUTPUT«42» | ||
TimToady | m: say (-42).can('abs')[0](-42) | ||
camelia | rakudo-moar 8b639b: OUTPUT«42» | ||
TimToady | m: say Int.can('abs')[0](-42) | ||
camelia | rakudo-moar 8b639b: OUTPUT«42» | ||
TimToady | m: say Int.can('abs')[1](-42) | ||
camelia | rakudo-moar 8b639b: OUTPUT«42» | ||
nbdsp | TimToady: thanks! | 01:24 | |
01:36
aborazmeh left
01:44
vendethiel joined
01:54
Sqirrel left
01:55
Sqirrel joined
02:00
aborazmeh joined,
aborazmeh left,
aborazmeh joined
02:12
noganex_ joined
02:13
beastd left
02:15
noganex left,
chenryn joined,
rhr left,
rhr joined
02:17
vendethiel left
02:22
Peter__R left
02:24
Peter_R joined
02:30
Sqirrel left
02:36
Sqirrel joined
02:41
adu joined
02:53
Sqirrel left
|
|||
nbdsp | Greetings! Could someone advise please is there a way to specify as a default value for a subroutine parameter, the name of the calling subroutine? | 03:01 | |
m: sub bar( Str $s = CALLER::<&?ROUTINE>.name ) { say "Function: bar, Caller: $s" }; sub foo () { bar() }; foo; | |||
camelia | rakudo-moar 8b639b: OUTPUT«Function: bar, Caller: bar» | ||
03:02
davido_ left
03:03
aborazmeh left,
davido_ joined
|
|||
adu | nbdsp: yes | 03:04 | |
yoleaux | 9 Apr 2015 07:45Z <timotimo> adu: __FILE__ and __LINE__ don't quite compare to querycodeinfo, because we already have $?FILE and $?LINE, and also it doesn't go via the stack at all, so you don't need a stack frame and you don't need to invoke the thing you want info about | ||
adu | that was a week ago, it really has been too long | 03:05 | |
03:06
itz_ left,
BinGOs left,
krunen_ left,
mst left,
leedo left,
cursork left
|
|||
nbdsp | adu: the snippet I pasted doesn't determine the caller's name (it prints the callee name) | 03:07 | |
raydiak | m: sub bar( Str $s = CALLER::CALLER::<&?ROUTINE>.name ) { say "Function: bar, Caller: $s" }; sub foo () { bar() }; foo; | 03:11 | |
camelia | rakudo-moar 8b639b: OUTPUT«Function: bar, Caller: foo» | ||
raydiak | adu! \o | ||
nbdsp | raydiak: thanks! | ||
raydiak | nbdsp: yw :) I imagine the explanation is something along the lines of the default value being it's own little implicit closure with its own CALLER | 03:12 | |
03:13
Sqirrel joined,
itz_ joined,
BinGOs joined,
krunen_ joined,
Juerd joined,
rivarun joined,
cursork joined,
mst joined,
leedo joined
|
|||
adu | raydiak! | 03:14 | |
nbdsp | raydiak: it seems so | 03:15 | |
adu | The spec says that a CallFrame object should have a caller method, but I got "No such method 'caller' for invocant of type 'CallFrame" | ||
03:15
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
adu | raydiak: how goes? | 03:16 | |
raydiak | adu: it's a mess but I won't complain :) you? | 03:17 | |
adu | I'm good, I just got back from Florida | 03:18 | |
well, a week ago | |||
raydiak | oh cool; what for? vacation? | 03:19 | |
adu | vacation | ||
the sun was warm :) | |||
raydiak | very nice, can't wait till it migrates further north :) | ||
adu | yup, tell me about it | 03:20 | |
I've also been shifting my focus from crypto back to http, I wonder, how are Perl6 http libs coming along? | 03:21 | ||
raydiak | hmmm; idk to be honest...there are a few server modules but not sure how complete/maintained each one is | 03:22 | |
03:24
aborazmeh left
|
|||
adu | raydiak: have you heard much news about NativeCall? | 03:26 | |
or what was it, Inline::C? | |||
raydiak | some about nativecall...don't know much about inline::c | 03:27 | |
actually scanning the weekly is probably better than my memory :) | 03:29 | ||
adu | lol | 03:30 | |
ok | |||
raydiak | is rw for native types like int (vs Int) is a good one | ||
which basically just treats it like a pointer | 03:31 | ||
a lot of progress on unsigned types, and more things you can put in a CStruct but I don't recall what precisely | 03:32 | ||
adu | cool | 03:33 | |
raydiak | oh you can pass a Buf to a nativecall sub, dunno if you knew that one already | ||
adu | I did not | ||
raydiak | oh you can pass a sub to is native() to generate the name of the library at runtime, so you can e.g. check different paths and versions | 03:36 | |
leedo | st0nss | 03:39 | |
eep, sorry | 03:40 | ||
raydiak | :) | ||
leedo changes password ;_; | |||
raydiak | hm now that we know what it was we can race to see if you used it on any of your other accounts... | 03:41 | |
adu: a few of the nativecall bindings in the ecosystem use that 'is native(&)' to support windows with included .dlls if they aren't already installed, like zlib and gtk | 03:43 | ||
afkish, eating | 03:44 | ||
03:49
kaare_ joined
|
|||
adu | lol | 03:50 | |
03:51
spider-mario left
|
|||
adu | www.bash.org/?244321 | 03:53 | |
03:53
spider-mario joined
04:03
chenryn left
04:08
BenGoldberg left
04:09
kaare_ left
04:10
telex left,
adu left
04:12
telex joined
04:14
adu joined
|
|||
dalek | ast: b4e6405 | TimToady++ | S03-operators/arith.t: exact error testing considered harmful |
04:23 | |
kudo/nom: 9a29d99 | TimToady++ | src/ (2 files): don't just tell me you couldn't bind Failure!!! |
04:24 | ||
adu | who is supernovus? | ||
04:27
yeahnoob joined
|
|||
dalek | ast: 7fea29f | TimToady++ | S03-sequence/basic.t: mark test with RT fixes #114326 |
04:30 | |
synbot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=114326 | ||
04:33
adu left
04:42
risou is now known as risou_awy
04:43
risou_awy is now known as risou
04:44
risou is now known as risou_awy,
risou_awy is now known as risou,
risou is now known as risou_awy
04:45
risou_awy is now known as risou,
risou is now known as risou_awy
04:46
risou_awy is now known as risou
|
|||
tony-o | .tell supernovus is supernovus | 04:46 | |
yoleaux | tony-o: I'll pass your message to supernovus. | ||
tony-o | oops | ||
.tell adu supernovus is supernovus | |||
yoleaux | tony-o: I'll pass your message to adu. | ||
labster | tell tony-o longcat is long | 04:54 | |
and tautologies are tautologies :) | |||
04:58
mr-foobar left
05:04
chenryn joined
05:20
chenryn left
05:21
chenryn joined
05:23
KCL_ joined
05:26
KCL left
05:27
skids left
05:45
Patterner joined
|
|||
nbdsp | Greetings! Could someone advise please how to export enumerations with the same name from different classes? | 05:46 | |
m: class B { enum E is export <A B C> }; class D is B { enum E is export <A D F> }; | |||
camelia | rakudo-moar 9a29d9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0lxuHOzMa3A symbol 'E' has already been exportedat /tmp/0lxuHOzMa3:1» | ||
05:49
Psyche^ left
05:59
adu joined
06:02
tinyblak_ joined,
adu left
|
|||
PerlJam | nbdsp: From the inside, I think the answer is "don't do that". Or, if you must export them both, rename one of them. | 06:04 | |
moritz | nbdsp: don't export, use B::E and D::E to access the enums instead | 06:05 | |
06:05
tinyblak left
|
|||
raydiak | yes what would you expect E to mean in a context which imports both? better to export neither and always...what moritz++ said :) | 06:06 | |
06:06
diana_olhovik_ joined
|
|||
PerlJam | Though, there is the isomorphic situation where "I'm trying to use these two modules (that I have no control over) together, but they both export a symbol of the same name" | 06:11 | |
06:12
domidumont joined
|
|||
nbdsp | moritz: thanks! will use D::E | 06:13 | |
moritz | raydiak: it could open an interactive prompt asking which was meant each time it's used :-) | 06:14 | |
TimToady | note that it's not fatal if the individual enums conflict, they just poison each other | ||
(on import, at least) | 06:15 | ||
06:15
yvan1 left
06:19
domidumont left
06:24
Sqirrel left,
Sqirrel joined
06:30
domidumont joined
|
|||
masak | I always liked that part. | 06:30 | |
morning, #perl6 | |||
06:30
domidumont left
|
|||
masak | m: enum A <g h i j>; enum B <d e f g>; say g | 06:31 | |
camelia | rakudo-moar 9a29d9: OUTPUT«Potential difficulties: Redeclaration of symbol g at /tmp/X5uopa1NJc:1 ------> 3enum A <g h i j>; enum B <d e f g>7⏏5; say gCannot use poisoned alias g, because it was declared by several enums.Please access it via explicit pa…» | ||
masak | oh, maybe it's just for import. | ||
06:31
domidumont joined
|
|||
masak | oh wait -- it does the right thing, I think. | 06:32 | |
I was thrown off by the redeclaration warning :) | |||
06:35
FROGGS joined
06:40
gfldex joined
|
|||
TimToady | m: my $fale = 3 % 0; $fale.abs | 06:42 | |
camelia | rakudo-moar 9a29d9: OUTPUT«Earlier error: Divide by zero using infix:<%> in file Who Knows? at line Beats Me!Type check failed for return value; expected 'Int' but got 'Failure' in any return_error at src/vm/moar/Perl6/Ops.nqp:639 in sub infix:<%> at src/gen/…» | ||
TimToady | now is someone will just figure out how to pass a file and line through along with the failure... | 06:44 | |
s/is/if/ | 06:45 | ||
masak | "Who Knows?" and "Beats Me!"? really? | ||
TimToady | those are...placeholders :) | ||
masak | I don't think a compiler should try to be witty in the face of lack of knowledge... | ||
arnsholt | I was amused by those, but probably LTA for actually helpful error messages, yeah =) | ||
TimToady | well, motivation for someone to fix it :) | 06:46 | |
masak | before release. | ||
06:46
gfldex left
06:51
tinyblak_ left
06:53
tinyblak joined,
tinyblak left
06:54
tinyblak joined,
rurban_ joined
06:57
Rounin joined
07:03
pdcawley joined
07:05
pdcawley left
07:10
silug left
07:11
oetiker left,
robinsmidsrod left,
oetiker joined
07:13
rindolf joined
07:15
robinsmidsrod joined
|
|||
mathw | o/ | 07:18 | |
masak | \o | 07:23 | |
sjn | o7 | 07:25 | |
07:25
silug joined
|
|||
masak | ᕕ( ᐛ )ᕗ | 07:28 | |
07:28
virtualsue joined
|
|||
tadzik | (☞゚ヮ゚)☞ | 07:29 | |
sjn | .u ᕕ( ᐛ )ᕗ | 07:31 | |
yoleaux | U+0020 SPACE [Zs] ( ) | ||
U+0028 LEFT PARENTHESIS [Ps] (() | |||
U+0029 RIGHT PARENTHESIS [Pe] ()) | |||
tadzik | so simple | ||
sjn | good to know :) | ||
jnthn | TimToady: WALK is implemented: github.com/rakudo/rakudo/blob/nom/...Mu.pm#L514 | ||
TimToady | interesting, I've never seen it used... | 07:33 | |
07:35
brrt joined
|
|||
jnthn | Me either, but it's there and tested, I believe | 07:35 | |
You can probably get file/line numbers out of the Exception contained inside of the Failure. | 07:36 | ||
Snarky placeholders are worse than just leaving them out. | |||
TimToady | I tried getting a backtrace out and failed miserably | ||
but I figured something was better than nothing | 07:37 | ||
and I was working on my taxes, which will make anyone snarky... :) | 07:38 | ||
dalek | kudo/nom: 7ae1e89 | (Jonathan Stowe)++ | src/core/Process.pm: Crude implementation of $*HOME Currently we get: ecaf8ea | lizmat++ | src/core/Process.pm: We don't need to check for definedness anymore |
07:39 | |
07:39
dalek left
|
|||
lizmat | sorry dalek | 07:39 | |
07:39
yvan1 joined,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
jnthn | TimToady: From what I understand of taxes in your part of the world yes... :) | 07:39 | |
jnthn has lived in Sweden for the last several years, had a simple income structure, and so "doing the taxes" has boiled down to "send an SMS to the tax office saying I agree with their numbers" :) | 07:40 | ||
07:41
zakharyas joined
|
|||
xiaomiao | jnthn: be glad it's that simple for you | 07:41 | |
I had my tax form rewritten wrongly three times by german bureaucrats | |||
if I had been closer to their office I would have asked them in person why they think that inventing income for me makes any sense at all | |||
jnthn | Urgh | 07:42 | |
07:42
bjz joined
|
|||
jnthn sees he has been spoiled | 07:42 | ||
xiaomiao | oh. and they double-taxed me | 07:43 | |
which means about 120% peak tax load | |||
that should have been impossible with the unique tax id, of which I was asigned two | |||
which should have been impossible ... but ... hmm ... FUUU ;) | |||
jnthn | Germany. It's so darn efficient they give you *two* unique IDs! | 07:44 | |
mathw | That sounds annoying. | ||
Haven't they heard of relational database theory? | |||
xiaomiao | jnthn: I'm a foreigner | ||
thus most simple forms tend to not be able to capture me properly | 07:45 | ||
07:45
RabidGravy joined
|
|||
jnthn | Ah. I'd say "me too in Sweden", but maybe me only being an EU-foreigner helps there. :) | 07:46 | |
psch | hey #perl6 \o | 07:48 | |
[Tux] | tadzik, is it still needed to RT the precompilation error? Did you inform jnthn ? | 07:49 | |
tadzik | [Tux]: yeah, there is, no I did not :) | 07:50 | |
07:50
spider-mario left
|
|||
[Tux] | I have no idea how to describe it other than "precomp fails (segfault)" | 07:50 | |
07:53
Ven joined
|
|||
psch | boxed "0" is apparently still False on jvm | 07:55 | |
07:55
bjz left
|
|||
psch | which, i think, means that Str still uses MODE_UNBOX_STR_NOT_EMPTY_OR_ZERO? | 07:55 | |
i can't find anything that looks like it sets that, though | |||
jnthn | [Tux]: Please RT things as well as / rather than telling me; my memory isn't *that* good :) | 07:57 | |
[Tux] | I just realized that we didn't. It was not on purpose | ||
lizmat | psch: I'm not seeing that? | 07:58 | |
perl6-j -e 'say ?"0"' | |||
True | |||
jnthn | [Tux]: Wasn't sayin' it was, just requesting an RT when you get chance :) | ||
psch | lizmat: oh, right, i was imprecise | 07:59 | |
07:59
tinyblak left
|
|||
psch | lizmat: i'm seeing test failures in S04-statement-modifiers/values_in_bool_context.t | 07:59 | |
lizmat | ah, ok, will look at them | ||
psch | lizmat: i.e. "0" in statement_mod if | ||
lizmat: e.g. «say 1 if "0"» doesn't print | 08:00 | ||
on jvm | |||
08:01
tinyblak joined
|
|||
lizmat | confirmed | 08:02 | |
psch | FROGGS++ had patched it, but that broke stage0 or so iirc | ||
and jnthn++ fixed that, but not it's not working quite right | 08:03 | ||
FROGGS | hmmm | ||
08:05
Ven left
08:07
chenryn left
08:08
abraxxa joined
08:09
chenryn joined
08:13
darutoko joined
08:15
chenryn left
08:16
chenryn joined,
virtualsue left
08:28
krunen_ is now known as krunen
|
|||
dalek | rakudo/newio: 7ae1e89 | (Jonathan Stowe)++ | src/core/Process.pm: | 08:29 | |
rakudo/newio: Crude implementation of $*HOME | |||
rakudo/newio: | |||
rakudo/newio: Currently we get: | |||
rakudo/newio: | |||
08:29
dalek left
|
|||
lizmat | sorry again, dalek | 08:29 | |
afk& | |||
08:30
dalek joined,
ChanServ sets mode: +v dalek,
LordVorp joined
08:34
bjz joined
08:35
dakkar joined,
Ven joined
08:39
bjz left
08:53
Ven left,
yeahnoob left
09:16
Ven joined
09:30
brrt left
|
|||
masak | at some point I would like to get a handle on and catalogue how different languages handle the unification (or lack thereof) of methods vs subroutines. | 09:31 | |
strategies like bound methods etc. | |||
maybe compare Python, JavaScript, Perl 5 and Perl 6. | 09:32 | ||
09:33
Ven left
09:35
espadrine_ joined
09:36
espadrine_ is now known as espadrine
|
|||
dalek | p: 2f20465 | paultcochrane++ | examples/rubyish/ (23 files): Remove executable bit on rubyish example text files |
09:40 | |
09:48
vendethiel joined
09:52
pochi_ joined
|
|||
|Tux| | jnthn, rt.perl.org/Public/Bug/Display.html?id=124298 | 09:52 | |
09:52
bjz joined
09:54
iv_ joined
09:55
Akagi201_ joined
09:56
agentzh_ joined,
agentzh_ left,
agentzh_ joined
10:00
kaare_ joined
10:02
agentzh left,
vytas left,
PZt left
|
|||
jnthn | |Tux|: Thans. | 10:02 | |
*Thanks | |||
10:04
Ven joined
10:06
tinyblak left
10:07
tinyblak joined
10:09
tinyblak_ joined
10:12
vendethiel left
10:13
tinyblak left
|
|||
Ven | masak: js' eta-expansion is completly broken | 10:18 | |
(other languages have it rough... scala's is broken as well, mostly due to multiple argument lists) | 10:19 | ||
10:20
chenryn left
|
|||
DrForr | I've lost my link to the grammar debugging tools, any idea? | 10:22 | |
10:22
coffee` joined
|
|||
jnthn | Top hit on google for "grammar debugger" :) | 10:27 | |
Timbus | have you checked your pockets. or the kitchen table | ||
DrForr | thanks. I've been assuming Google has the same problem with perl6 as it does with perl5 :) | ||
itz_ | I'm generally finding better perl search results with DDG | 10:28 | |
jnthn | itz_: Thanks for getting my blog on pl6anet :) | ||
itz_ | np | 10:29 | |
jnthn tries to work out how to say "pl6anet" out loud :) | |||
itz_ | yeah it works better written :) | ||
RabidGravy | pluh-six-a-net | 10:30 | |
DrForr | Hrm, it'd be nice if panda warned me that I skipped 'install' on the CLI. | 10:31 | |
10:35
xfix joined,
xfix left,
xfix joined
10:44
Akagi201_ left
|
|||
Ven | jnthn: wow, it actually is, even without any prior perl6 searchings! | 10:46 | |
itz_: they're biased :P | 10:47 | ||
Ven says "pl6anet" very successfully out loud.. in french :P | |||
jnthn | .oO( French spoken loudly enough will be successful anywhere... ) |
||
10:49
rurban_ left
|
|||
cdc pronounces "planet 6" | 10:49 | ||
10:53
chenryn joined
10:58
rurban_ joined
11:06
konsolebox joined
11:11
vendethiel joined
|
|||
dalek | ecs/newio: 438163b | (Stéphane Payrard)++ | S99-glossary.pod: bundle, Task::Star, irc related infos |
11:13 | |
ecs/newio: ecda04f | (Stéphane Payrard)++ | S21-calling-foreign-code.pod: S21: removing now obsolete mentions of zavolaj Introducing nl-reading/nl-saying, comments welcome Earlier versions of the spec and the implementation used only the rather verbose "input-line-separator". This was later shortened to "nl", but we lost the inputness of the separator. Since we only use the new line separator on "say", I thought it would be approriate to name that case "nl-saying". Consequently, extending "nl" to "nl-reading" seemed appropriate. |
|||
11:13
dalek left
|
|||
lizmat | .oO( loving dalek means never having to say sorry ) |
11:13 | |
11:13
dalek joined,
ChanServ sets mode: +v dalek
11:14
xfix left
|
|||
moritz | .oO( extermi..love ) |
11:23 | |
11:26
LordVorp left
|
|||
lizmat | masak moritz others: comments ? ^^^ | ||
jnthn | reading and saying aren't really opposites... | 11:29 | |
Givne we have .ins and .outs for counting, maybe nl-in and nl-out | |||
lizmat | do we have .outs ? | ||
jnthn | I dunno :) | ||
moritz | we have not | ||
lizmat | we only have .ins | 11:30 | |
jnthn | I was assuming we may given we have .ins :) | ||
lizmat | do we really want to keep counting the number of new lines, or the number of says ??? | ||
moritz | iirc the reason for not having .outs is the possible confusion about what it means if you do $fh.say("abc\nde") (1 or two outs)? | ||
lizmat: no | |||
11:31
lolisa joined
|
|||
nwc10 | surely we also need to count all the .shake-it-all-abouts ? | 11:31 | |
jnthn | If you want it you can wrap the IO ahndle object I guess | ||
lizmat | nwc10: that's easy | ||
jnthn | but you could argue that for .ins too :) | ||
lizmat | indeed | ||
moritz | well, for ad-hoc parsing it's very handy | 11:32 | |
11:32
Akagi201_ joined
|
|||
moritz | next if $handle.ins == 0; # ignore title row | 11:32 | |
lizmat | seems to me that could be done with a once block :-) | ||
11:32
Woodi left
|
|||
lizmat | once next | 11:33 | |
11:33
Woodi joined
|
|||
lizmat | m: sub a { once return; say "a" }; a; a; a | 11:35 | |
camelia | rakudo-moar ecaf8e: OUTPUT«aa» | ||
Ven | :o | ||
11:35
coffee` left
|
|||
Ven | lizmat++ # tricks! | 11:35 | |
11:36
vendethiel left
|
|||
lizmat | jnthn: I would be against "nl-out" because that could give the impression that $*OUT.print would also do an nl-out | 11:37 | |
jnthn | lizmat: Hmm | ||
OK | |||
lunch and shopping time here...bbiab | 11:38 | ||
11:42
aborazmeh joined,
aborazmeh left,
aborazmeh joined
11:46
telex left
11:48
telex joined
|
|||
[ptc] | domidumont: only just realised you are one of the Debian Rakudo maintainers. Doh! Sorry, if I've been talking more nonsense than usual! | 11:52 | |
domidumont | [ptc]: no problem :-) | 11:54 | |
11:54
vendethiel joined
|
|||
dalek | kudo-star-daily: fe043b2 | coke++ | log/ (2 files): today (automated commit) |
11:56 | |
11:57
Ven left,
lucasb joined
|
|||
nwc10 | does debian have MoarVM packaged yet? Or is it going to be a bunch of pain? | 11:59 | |
domidumont | nwc10: moar is packaged and under review by ftp-masters (the gatekeepers that inspect new packages), see ftp-master.debian.org/new/moarvm_2015.03-1.html | 12:01 | |
nwc10 | ooooooh | ||
but just amd64? | |||
domidumont | Many thanks to Daniel for the work | ||
nwc10 | anyway, amd64 alone is wonderful. Please pass on my thanks | ||
domidumont | nwc10: the build will be tried on all available archs. We'll see which one will make it ... | 12:02 | |
nwc10 | should pass on i686 | ||
will fail some tests on power64 and power32 | |||
er, wait | 12:03 | ||
that's Rakduo failing tests on those architectures | |||
12:03
Ven joined
|
|||
nwc10 | sould work, dammit, on i686, power32, power64 and hopefully still arm | 12:03 | |
and hopefully anything else, as that's most of big and little endian, 32 and 64 bit, various alignments, signed and unsigned char | 12:04 | ||
domidumont | minor update: many thanks to nebuchadnezzar for the work (just realised he's also on this channel ;-) ) | 12:06 | |
nwc10 | nebuchadnezzar++ | ||
(then) | |||
12:08
tinyblak_ left
|
|||
dalek | kudo/nom: 2d379e4 | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Set the correct boolification spec for Str. Moar apparently handles this somewhat different than JVM, but this passes S04-statement-modifiers/values_in_bool_context.t again. |
12:09 | |
itz_ | 12:10 | ||
12:11
Adam12 joined
12:12
Adam12 is now known as Guest16638
|
|||
Guest16638 | is there any per6 cpan in the works? | 12:14 | |
moritz | Guest16638: well, there's modules.perl6.org, and panda, which can install those modules | ||
Guest16638: and there's work in progress to be able to upoad Perl 6 modules to CPAN | |||
Guest16638 | so trying to make a new repository for perl 6 is sort of redundant? | 12:15 | |
12:15
bjz left
|
|||
Guest16638 | is CPAN going to be the offical place to store P6 modules? | 12:16 | |
nwc10 | CPAN | ||
it feels like it ought to be. PAUSE already has some idea how not to get confused by them | |||
FROGGS++ | |||
[ptc] | Guest16638: afaik the short answer is: yes | ||
12:17
vendethiel left
|
|||
Guest16638 | if I wanted to help with the perl6 on CPAN, is there a project page on it or a working group? | 12:17 | |
[ptc] | domidumont: so once moarvm is in, will the rest follow, or do you want to make a complete moar, nqp, rakudo set of packages at the same time? | 12:18 | |
domidumont: what is the best way to feed changes back to you? Can one submit patches to the Debian git repo? | |||
12:19
rmgk is now known as Guest22188,
rmgk_ joined,
Guest22188 left,
rmgk_ is now known as rmgk
|
|||
domidumont | [ptc]: the rest will follow as separate packages. parrot will be dropped | 12:19 | |
12:19
itz_ is now known as itz
|
|||
[ptc] | domidumont: very good :-) | 12:19 | |
domidumont: so is it even worthwhile us keeping the Debian stuff in os-build? | |||
domidumont: probably not, right? | |||
itz | I think I actually prefer github (although vendor lock in bad) to CPAN :) | ||
domidumont | [ptc]: I think not. I'd rather you spend you energy directly contributing to Debian repo by joining the rakudo team | 12:20 | |
I mean debian-rakudo team | |||
[ptc] | domidumont: ok | ||
nwc10 | I like the *A* and *N* bits. | 12:21 | |
I wonder how much code history is going to be lost when gitorious and google code both turn off. | |||
domidumont | [ptc]: by joining the team, you get commit right to Debian repo. I review package and upload them in Debian. We did this for moarvm package | 12:22 | |
nwc10 | (not *massive* amounts, but I think that both are canonical upstreams for various dormant-but-useful projects) | ||
12:22
vendethiel joined
|
|||
domidumont | [ptc]: See ddumont.wordpress.com/2014/07/18/l...or-debian/ and alioth.debian.org/projects/pkg-rakudo/ | 12:23 | |
FROGGS | Guest16638: there is no project page, but I can try to supply information about that topic... | ||
[ptc] | domidumont: thanks! | 12:24 | |
FROGGS | Guest16638: in the meantime you can check usev5.wordpress.com/ (which mentions the CPAN work, though is dated june 2014), and this: github.com/tadzik/panda/tree/CPAN | ||
[ptc] | domidumont: great to have you around. The Debian perl* maintainers have been doing a fantastic job | 12:25 | |
domidumont | [ptc]: thanks. perl5 team is much more active. pkg-rakudo has only 2 more or less active members (I count myself on the "less" side) | 12:26 | |
12:27
chenryn left
12:29
yqt joined
|
|||
lucasb | IO::Path is not allowed here in restricted setting. In my old rakudo, I get my homedir with this: perl6 -e 'say IO::Path.new("")' | 12:30 | |
Is this supposed to be so? | 12:31 | ||
moritz | with an empty string? | ||
that sounds... weird | |||
lucasb | Yes, an empty string | ||
What did you get? | |||
moritz | I haven't tried | 12:32 | |
lucasb | Oh :) | ||
[ptc] | domidumont: request to join maintainers submitted :-) | ||
domidumont | great ! welcome aboard :-D | ||
nwc10 | ++[ptc] | ||
12:33
risou is now known as risou_awy
|
|||
Guest16638 | itz: are you talking about CPAN pulling modules from GitHub? | 12:33 | |
12:34
risou_awy is now known as risou
|
|||
lucasb | I was thinking about HOME env var being tested for truth instead of definedness. I think an env var can be set to an empty string before invoking the process. | 12:34 | |
Since this is at user resquest, then maybe it should be respected, and the value should be tested for definedness? | 12:35 | ||
FROGGS | Guest16638: panda should allow to install from github and/or CPAN | 12:36 | |
12:36
xfix joined
|
|||
Guest16638 | FROGGS: it would be cool if there was an easy way to import a module from GitHub into CPAN... and have CPAN run checks on it before. I find uploading to CPAN a pain in the ass. | 12:39 | |
Python is annoying because modules are stored all over the place... CPAN rules because they're all in one spot | 12:40 | ||
DrForr | Guest16638: Dist::Zilla has some wonderful hooks for that. | 12:41 | |
DrForr muses on 6::Zilla. | |||
FROGGS | Guest16638: aye, though we have to take small steps... | ||
Guest16638: what you imagine might work some day, but we have to make it work at all first :o) | 12:42 | ||
Guest16638: the current "blocker" is the not so small dependency chain we have to put into panda in order to work with CPAN | |||
moritz | maybe we need a bootstrapping minipanda, and that can install the "real" panda | 12:44 | |
FROGGS | moritz: that idea ain't bad... | ||
Guest16638 | FROGGS: yeah that's why I was wondering if there was a P6CPAN being built from the ground up. If possible I'd like to help with that. :) | ||
FROGGS | moritz: we might just 'try require' the stuff needed for CPAN... | 12:45 | |
12:46
grondilu joined
|
|||
FROGGS | Guest16638: my way of thinking is: use PAUSE+CPAN (the storage/servers) to deploy the dists, and build up our own metabase.org/search.cpan.org website | 12:46 | |
masak thinks with a name like 'minipanda', how could we not do it that way? :) | 12:51 | ||
.u panda | 12:52 | ||
yoleaux | U+1F43C PANDA FACE [So] (🐼) | ||
12:52
aborazmeh left
|
|||
nwc10 | um, but surely if you're running from CPAN you've got a fully featured bootstrapping language available :-) | 12:53 | |
12:56
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
moritz | Guest16638: help would certainly be appreciated | 12:57 | |
13:03
lucasb left
|
|||
Guest16638 | why's everybody on freenode and not irc.perl.org? | 13:04 | |
[ptc] has wondered that for a while, but was too shy to ask | 13:05 | ||
moritz | well, when au++ started this channel, she wanted to lower the bar for non-perl folks to join | 13:06 | |
13:06
vendethiel left
|
|||
Guest16638 | smart move :) | 13:06 | |
moritz | I mean, *everyone* else is on freenode; it's just those p5 folks that stick to their own servers | ||
(ok, that was exaggerated; the Debian folks also aren't on freenode) | |||
Guest16638 | I just mean there are like 10 people on the perl IRC server and way way more on freenode | 13:07 | |
taking a lot of the simplicity around Python and adopting it to Perl 6 would go a long way | 13:08 | ||
it would get a lot more kids trying it | |||
grondilu did not even know irc.perl.org existed. | 13:11 | ||
Ulti | I didnt realise the freenode one existed | 13:12 | |
the official one is irc.perl.org right? | |||
13:12
Rounin left
|
|||
[ptc] | Ulti: to a certain degree, yes. Just not for perl6 | 13:12 | |
moritz | I don't think there's an "official" community :-) | 13:13 | |
Ulti | there is another #perl6 on irc.perl.org? | ||
moritz | Ulti: only one to send people over here | 13:14 | |
nwc10 | no, there's just an official test suite. | ||
moritz declares himself official | |||
Ulti | moritz there are official IRC channels though in the sense they are linked from perl.org | ||
dalek | p: c229bc7 | paultcochrane++ | examples/ (2 files): Purge trailing whitespace in examples/ dir |
||
moritz | there, you have it! | ||
13:15
konsolebox left,
nbdsp left
13:16
Ven left,
xfix left
|
|||
timotimo | o/ | 13:19 | |
13:20
Guest16638 left,
vendethiel joined
13:22
alini joined
13:24
tinyblak joined
13:25
Ven joined,
ShimmerFairy left
13:30
rindolf left
13:37
ShimmerFairy joined
13:38
LordVorp joined
13:39
Ven left
13:41
Ven joined
13:42
bjz joined
|
|||
nwc10 | raw.githubusercontent.com/iblech/t...slides.pdf | 13:42 | |
Ven | timotimo++ # weekly | 13:44 | |
13:44
vendethiel left
13:46
vendethiel joined
|
|||
Ven | I'm a little bit "worried" about Str.chars being 40% faster when on its own class – is it being it calls one less method? (say, .Stringy) | 13:46 | |
or is the inheritance mechanism slow | |||
nwc10 | which is public, given it's linked from here mail.pm.org/pipermail/augsburg-pm/2...00052.html | ||
13:46
Rounin joined
|
|||
moritz | Ven: afaict it's just that two method calls are slower than one | 13:50 | |
Ven | fair enough. levels of indirection are always slow :) | ||
moritz | Ven: inheritance doesn't make method calls slower; it's all just a lookup in the method cache | ||
Ven | isn't it built on-demand? | 13:51 | |
moritz | no, it's built at class composition time | 13:52 | |
which makes it possible to make the cache authorotative in some cases (that is, a method missing from the cache can't ever be found, and so the MOP doesn't need to be consulted to generate the exception) | |||
Ven | so you need to mark in the cache that you have a FALLBACK method somewhere in the inheritance chain? | 13:54 | |
moritz | right | 13:55 | |
13:56
Ven left
|
|||
arnsholt | Makes the methodcache non-authoritative, I guess? | 13:57 | |
moritz | aye | 13:58 | |
14:00
konsolebox joined
|
|||
arnsholt | The 6model design makes a lot of sense to me. It's just a shame it's not a good fit for the Python object model =) | 14:01 | |
14:05
Ven joined
|
|||
Ven | September 23, 2014 | 14:07 | |
14:07
tinyblak left
14:08
aborazmeh left
14:11
lichtkind joined
14:12
konsolebox left
|
|||
timotimo | what about it? | 14:16 | |
14:18
rurban_ left,
tinyblak joined
14:23
tinyblak_ joined
|
|||
PerlJam | timotimo: en.wikipedia.org/wiki/September_23 :-) | 14:24 | |
[ptc] | PerlJam: still not understanding the point | 14:26 | |
PerlJam | I didn't think there was a point. Seemed totally random to me. | 14:27 | |
14:27
tinyblak left
|
|||
[ptc] | ok... | 14:28 | |
14:31
vendethiel left,
yqt left
14:32
skids joined
14:33
Perl6_newbee joined,
vendethiel joined
14:36
chenryn joined,
chenryn left
14:38
Ven left
14:39
gfldex joined
14:40
tinyblak_ left,
pierrot joined
|
|||
timotimo | maybe accidentally pasted something somewhere? | 14:42 | |
14:43
Ven joined,
tinyblak joined
14:47
rindolf joined
14:50
raiph joined
|
|||
dalek | p: 13212ec | paultcochrane++ | src/NQP/ (4 files): Purge trailing whitespace in src/NQP |
14:51 | |
[Coke] | I would suggestion nl-in/nl-out instead of -reading/-saying | ||
[ptc] | would it annoy the nqp people if I did some basic source code cleanup? Just non-functional stuff, nothing major | 14:53 | |
14:53
Rounin left
|
|||
[Coke] | we try not to be as strict about code cleanup as parrot was. | 14:54 | |
I think it would depend on how invasive the cleanups were before anyone minded. | |||
14:55
molaf__ joined
|
|||
jnthn | [ptc]: Just say what you're intending to do and see how pepole feel. "cleanup" is a bit too generic for me to have a good feel for :) | 14:57 | |
14:58
molaf_ left
|
|||
timotimo | ohai jnthn | 15:01 | |
[Coke] | I am remided that I want to make a CF grammar for rakudo so I can use it to pretty print my evil work code. | 15:02 | |
jnthn | hi timotimo | 15:03 | |
[ptc] | jnthn: that's why I thought I'd ask in the channel before I start wildly changing stuff | 15:04 | |
15:05
lolisa left
|
|||
[ptc] | jnthn: I'm a bit picky about trailing whitespace, tabs in source code etc., so cleanup means doing stuff like that | 15:05 | |
timotimo | [Coke]: you think i should try to get a job in developing ColdFusion? :P | ||
[ptc] | jnthn: maybe I'll look into the docs if I stumble across something | ||
jnthn | [ptc]: Tabs to spaces I'm fine with, we should really be using spaces consistently except makefiles... | ||
[ptc] | jnthn: I really don't mind cleaning around people to try and keep some of the entropy down. Just so long as the changes don't annoy people, as I know this is possible | 15:06 | |
PerlJam | [ptc]: The only comment I have is (and this may be completely obvious, but I'm a fan of being explicit) that the "cleanup" commits be atomic and clearly labeled. | ||
[ptc] | PerlJam: will try to keep them small and clearly labelled :-) | ||
FROGGS | yes, a tiny patch (bugfix or whatever) that removes a hundred trailing space chars is not the best thing one could do :o) | 15:08 | |
jnthn | I don't get the desire to clean up trailing whitespace. On lines with content it should be rare already. On space-only lines, who cares. | ||
PerlJam | .oO( What happened here? This commit touched every line of the source! ) |
15:09 | |
FROGGS | jnthn: some ppl just configure their editors to clean them up, though that will result in a mess with 3k loc files | ||
[ptc] | jnthn: also git likes to clean such things up. For me it's just a bad habit that I change stuff like that, it feels sort of "messy" | 15:10 | |
jnthn: anyway, that's why I wanted to ask in the channel before I start annoying people | |||
15:10
hernan604 joined
|
|||
jnthn | [ptc]: Yes, it makes life suck for those of us hunting problems using "git blame". | 15:10 | |
I guess there's a way to tell it "ignore whitespace only changes" though. | |||
[ptc] | I thought git handled whitespace-only changes... | 15:11 | |
there's an option somewhere that allows git blame to ignore such commits | 15:12 | ||
15:12
domidumont left
|
|||
[ptc] | jnthn: git blame -w (just so you know) :-) | 15:14 | |
[Coke] | timotimo: CF is an ok language to do web stuff in. I don't prefer it. | 15:15 | |
timotimo | mhh | ||
PerlJam | [Coke]: I bet you can find a BNFish grammar for coldfusion out there somewhere that you could relatively easily turn into a Perl 6 grammar | 15:16 | |
15:17
rurban_ joined
15:18
konsolebox joined
|
|||
[Coke] | PerlJam: pretty sure the state of the art for cf parsing is antlr. | 15:19 | |
15:19
vendethiel left,
Sqirrel left
15:20
Sqirrel joined
|
|||
[ptc] | another way of putting what I'm saying is: would it be useful for me to make changes a la the way the Cage Cleaners used to? | 15:22 | |
timotimo | i didn't know "the Cage Cleaners" was a thing that actually exists | ||
hoelzro | good morning, #perl6! | 15:23 | |
[Coke] | [ptc]: I don't think anyone working on nqp would find it particularly helpful, nope. | ||
what would be helpful is running the doc tests and documenting more nqp opcodes. | |||
[ptc] | [Coke]: ok, that's a clear answer :-) Thanks. Good to know | ||
[Coke] | gist.github.com/coke/ac078396e8f21...nqp-opcode | 15:24 | |
PerlJam | [Coke]++ | ||
timotimo | i just recently added one, jnthn added a bunch | 15:25 | |
15:25
diana_olhovik_ left
|
|||
[Coke] | timotimo++ jnthn++ | 15:26 | |
timotimo | i mean | ||
we added new opcodes | |||
at least mine was added without the documentation | |||
[Coke] | Hey, someone broke the tests. :) | ||
t/docs/opcodes.t .. No registered operation handler for 'substr2' | |||
wonder if we relied on a parrot backend before to run the tests. | 15:27 | ||
timotimo | huh | ||
jnthn | I think substr2 was actually an implementation detail (a badly hidden one, mind) | ||
timotimo | could very well be | ||
dalek | p: 622e465 | coke++ | t/docs/opcodes.t: substr2 doesn't exist everywhere; use substr |
15:29 | |
timotimo | am i the only one who can't install JSON::Fast via panda | ||
[Coke] | Failed 288/1685 subtests | 15:30 | |
timotimo | wow | ||
TimToady | timotimo: even the pattern doesn't have to be flipped, it's just offset: .after('foo') just means .before('foo',-3) | 15:40 | |
timotimo | oh! | 15:41 | |
TimToady | it's in the variable case that *both* the pattern and the text have to be flipped | ||
timotimo | i bet nobody else notices and it'll turn out all right | ||
TimToady crosses his fingers and hopes real hard | 15:42 | ||
15:42
zakharyas left
|
|||
timotimo | i'm afraid i'm going too much into details for "outsiders" anyway :( | 15:44 | |
TimToady | well, there has to be a balance, and I think you come pretty close to the optimal | 15:45 | |
timotimo | why, thank you very much :) | 15:46 | |
TimToady | please don't think I'm unappreciative of how much effort this is | ||
timotimo | my latest "style" of writing is heavily borrowed from lizmat | ||
i wasn't thinking that at all :) | |||
if you didn't appreciate it, i'm sure you wouldn't even mention it | 15:47 | ||
TimToady | thing is, our lawns are all drying out in California, so I have to be grumpy about something else insted... | ||
15:48
yvan1 left
|
|||
abraxxa doesn't even have a lawn in his garden ;_( | 15:48 | ||
15:49
alini left
|
|||
TimToady | lawns make some sense in, oh, England, where it's wet all the time, but in a desert, not so much... | 15:50 | |
abraxxa | Top Gear lawn++ | ||
colomon ’s lawns have verged on being wetlands… | |||
huf | yes, england declares drought conditions and everything is still vibrant and green... | ||
Ven | timotimo: talking about balance of what to say in the weekly? | ||
timotimo | yes | 15:51 | |
you know the feeling, right? from the learnxinyminutes? | |||
Ven | yes | 15:52 | |
I even got feedback at salzburg from tim bunce on that | |||
15:52
caymanboy left
|
|||
timotimo | i recall | 15:52 | |
Ven | "yak shaving!" | 15:53 | |
timotimo: maybe, say, "Uni" should link to *something* to explain what it is (or a parenthesized sentence) | |||
timotimo | mhh | 15:54 | |
Ven | timotimo: I find that sentence to have the perfect balance: "TimToady improved [...] for a regexp match." | ||
I know what it changed technically if I actually want to look it up, but I also know what's it's about if I'm a complete newcomer | 15:55 | ||
timotimo | i'll try to keep that in mind | ||
15:56
FROGGS left
|
|||
timotimo | but usually i write the weekly very late in the evening and when my brain is already asking for bedtime :P | 15:56 | |
Ven | timotimo: it didn't struck me when I first read it, so I came back to it, and it seems okay to me. I know what "push/pop, elems" etc are (or at least should be if I'm interested in p6 :).). Maybe only "reprops" could be explained | ||
timotimo | maybe i should start improving the weekly by not writing it so late in the night | ||
Ven | (then again, it seems obvious it's the JIT's ops from name/talking about JIT right after) | ||
timotimo | that'll also give the benefit of appearing on a monday even to the USians | ||
15:57
Perl6_newbee left
16:00
Ven left
|
|||
timotimo | the nqp repo is HUEG | 16:00 | |
almost 100 megabytes | |||
i'm suffering from that right now | 16:01 | ||
arnsholt | One of the SVN repos I work with is almost 8 gigs | ||
If you add more extras, I've had it clock in at 20 =) | |||
timotimo | oh my lord | ||
at least you don't have to clone 100% of it to work locally ... | |||
[Coke] | timotimo: how is it making you suffer? | ||
arnsholt | No, that's the size of the checked out copy | 16:02 | |
I don't want to know the size on the server... | |||
timotimo | building lots of rakudos under perl6-bench | ||
oh god | |||
[Coke] | timotimo: ok. at least bench (i think) has a local copy it uses as a master so you don't need to clone it every time over a network | ||
timotimo | this one time i didn't use perl6-bench's built-in deduplication feature | ||
right | |||
i'm only getting 100 kilobyte/s from github | 16:03 | ||
arnsholt | timotimo: Yeah, it's a bit insane | 16:04 | |
timotimo | the moarvm build stage ought to learn about --git-reference, too | 16:05 | |
at least under petl6-bench | |||
"updating submodules" | |||
16:08
spider-mario joined
|
|||
timotimo | damn, version bumpage made things harder than necessary | 16:09 | |
timotimo AFK | |||
bobkare | What is eqv between arbitrary objects supposed to do? I'm not sure what's meant by canonical representations in design.perl6.org/S03.html#Comparison_semantics | 16:15 | |
moritz | bobkare: two objects can only be equvialent if they are of the same type | 16:16 | |
bobkare | It would be quite handy to be able to easily test the AST generated by my parser by comparing it with a set of hand-built objects using is_deeply | ||
I have something where the .perl output for both sides is identical but is_deeply say they are different | 16:17 | ||
moritz | bobkare: and you can write multi candidates for infix:<eqv> for user-defined types | ||
16:17
konsolebox left,
eli-se joined
|
|||
moritz | bobkare: if nothing is defined for a type, it uses object identity (===) | 16:18 | |
bobkare | OK, so it's not meant to work like that out of the box | ||
moritz | nope | ||
eli-se | hi | 16:19 | |
bobkare | I don't have the link any more, but I found an article about p6 testing saying is_deeply would by default compare all attributes for objects. Guess that's outdated information then. | 16:20 | |
TimToady | arguably the degenerate case should be serialize both sides to something like JSON and see if those match, but not everything is serializable | ||
the point of eqv is "Would these produce the same serialization if we were stupid enough to actually implement eqv that way?" | 16:24 | ||
16:24
vendethiel joined
16:29
Akagi201_ left,
rurban_ left
16:34
konsolebox joined
16:37
tinyblak left
16:46
vendethiel left
16:49
vendethiel joined
16:51
rhr left
16:52
rhr joined
16:53
yvan1 joined
16:54
mr-foobar joined
|
|||
[Coke] is bitten by having an object with a same name as a builtin, which is then cached somewhere in the object model so a complete restart is the only way to fix it. <coldfusion problems> | 17:00 | ||
17:04
dakkar left,
mohij joined
17:06
preyalone joined
|
|||
preyalone | Will Perl 6 be packaged like python3, with a dedicated perl6 binary? | 17:07 | |
nwc10 | for the next decade or so, probably yes | ||
17:08
syedi joined
|
|||
literal | can Rakudo's error messages be made a little more...parsable? I'm writing a syntax checker, and parsing the error messages from "perl6 -c" is a bit tedious since it always uses color codes even when output is not a terminal, and the column number has to be derived in a very roundabout way | 17:08 | |
nwc10 | unlike Python, new Perl 5 versions will keep coming out as long as people want to work on it (or someone wants to organise paying people to work on it) | ||
ugexe | literal: --ll-exception ? | ||
psch | literal: any reason you can't catch the Exceptions and get line numbers and all from those? | 17:09 | |
nwc10 | that feels like a work around. I think that literal's request is reasonable | ||
(may not be totally reliably easy) | |||
PerlJam | psch: he might be parsing them with some non-perl thing. | ||
psch | nwc10: oh, it's definitely a workaround | ||
17:10
alini joined,
espadrine left
|
|||
psch | PerlJam: true, but there's still rounding-it-with-perl6 somewhere, and that could wrap with a CATCH etc. | 17:10 | |
17:10
espadrine joined
|
|||
literal | ugexe: --ll-exception is even worse, it does not indicate line or column number of the original source file, and prints a terser error (i.e. no "I was expecting this instead") | 17:11 | |
nine | nwc10: I still believe it possible to have one binary for both Perl 5 and Perl 6 as S01 talks about | ||
PerlJam | nine: the desire for that should fade into irrelevance with time :) | ||
psch | eh, s/rounding/running/ | 17:12 | |
17:12
vendethiel left
|
|||
nine | PerlJam: why wait? | 17:12 | |
literal | psch, PerlJam: yes, this is non-perl, for showing syntax errors in a text editor | 17:13 | |
psch | literal: Perl6/Grammar.nqp is a bit under-equipped for supporting something like that | 17:14 | |
literal: e.g. we don't have a "keep parsing, reset on the next sensible token"-mode | |||
(that's of course not saying that efforts to use the existing capabilities are discouraged, they're just harder) | |||
literal | only catching the first error is good enough, but it would be nice if I could get the the column number as a number, and not have to skip over terminal color codes | 17:15 | |
nwc10 | nine: pmichaud thinks that it's hard to get the comamnd line option parsing to work reliably | ||
Perl 5 has different rules | |||
I've not "studied" this in detail to see if it's really insurmountable | 17:16 | ||
but there is a problem | |||
psch | literal: RAKUDO_ERROR_COLOR="" should turn color escapes off i think | ||
PerlJam | literal: set RAKUDO_ERROR_COLOR | ||
what psch said | |||
literal | ah, nice | ||
PerlJam | literal: that's an environment variable btw | 17:17 | |
psch | that's a spot where «"0" is True» kinda sorta bites us, i think | ||
'cause env vars are Stringy, apparently | 17:18 | ||
17:18
syedi left,
lucasb joined
|
|||
psch | m: say %*ENV.pairs.map: { $_.value.WHAT } | 17:20 | |
camelia | rakudo-moar 2d379e: OUTPUT«(Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str) (Str)» | ||
17:20
Woodi left
|
|||
psch | so RAKUDO_ERROR_COLOR=0 doesn't turn them off | 17:20 | |
17:21
Woodi joined
|
|||
literal | it does on my rakudo (star 2015.03) | 17:21 | |
psch | star-m: say so "0" | 17:22 | |
camelia | star-m 2013.03: OUTPUT«False» | ||
psch | m: say so "0" | ||
camelia | rakudo-moar 2d379e: OUTPUT«True» | ||
psch | literal: ^^^ | ||
literal | I see | ||
psch | changed on april 9th according to git log | ||
it's more consistent now, i think | 17:23 | ||
preyalone | How do I get the script's own name in Perl 6? $0 no longer seems to work | ||
17:23
KCL joined
|
|||
literal | m: say $*PROGRAM_NAME | 17:23 | |
camelia | rakudo-moar 2d379e: OUTPUT«/tmp/MoIHWQaCX3» | ||
preyalone | literal: Thanks! | ||
[Coke] | m: say $0; | 17:24 | |
camelia | rakudo-moar 2d379e: OUTPUT«Nil» | ||
[Coke] | I was kind of expecting a warning there. | ||
psch | "Match variable used with unset $/"? | 17:25 | |
lucasb | m: say $42.foo.bar; say 'oh yeah' | ||
camelia | rakudo-moar 2d379e: OUTPUT«Niloh yeah» | ||
lucasb | .say for $_, $/ | ||
m: .say for $_, $/ | |||
camelia | rakudo-moar 2d379e: OUTPUT«NilNil» | ||
lucasb | Wasn't an idea about making $_ starting out as Any? | ||
psch | m: say $<ident> | ||
camelia | rakudo-moar 2d379e: OUTPUT«Nil» | ||
psch | lucasb: yeah, $_ and $/ should be Any | 17:26 | |
it's on RT somewhere... | |||
17:26
KCL_ left
|
|||
lucasb | m: /o/ | 17:26 | |
camelia | ( no output ) | ||
lucasb | m: /o/; 1 | ||
camelia | rakudo-moar 2d379e: OUTPUT«Cannot call match(Nil: Regex); none of these signatures match: (Cool:D: Any $target, *%adverbs) in method Bool at src/gen/m-CORE.setting:16620 in block <unit> at /tmp/Vw_PDR2RFu:1» | ||
lucasb | m: /o/ // 1 | ||
camelia | ( no output ) | ||
lucasb | m: /o/ || 1 | ||
camelia | rakudo-moar 2d379e: OUTPUT«Cannot call match(Nil: Regex); none of these signatures match: (Cool:D: Any $target, *%adverbs) in method Bool at src/gen/m-CORE.setting:16620 in block <unit> at /tmp/sdywne9x1H:1» | ||
psch | m: given Any { /o/ || 1 } | 17:27 | |
camelia | rakudo-moar 2d379e: OUTPUT«No such method 'match' for invocant of type 'Any' in method Bool at src/gen/m-CORE.setting:16620 in block <unit> at /tmp/IqlFqdb0jF:1» | ||
17:33
vendethiel joined
17:34
konsolebox left
17:37
liztormato joined
|
|||
preyalone | Does Perl 6 have an equivalent to main unless caller;, the Perl 5 way to write modulinos? | 17:37 | |
psch | preyalone: stackoverflow.com/questions/2928130...o-in-perl6 | ||
liztormato | psch: making $_ Any will disallow Nil being passed around currently | 17:38 | |
hernan604 | modulino ? | ||
psch | liztormato: yeah, i suspected there's some hangup. i'm fairly sure it's above what i'd want to touch :) | ||
preyalone | hernan604: A modulino is a script that can be run as a self-contained CLI program, or imported as a library into other scripts. | 17:39 | |
liztormato | psch: I recall making it typed Nil specifically | ||
hernan604 | oh, never seen such thing | ||
psch | liztormato: RT #123175 is still open, so i suspect it's still supposed to be initialized as Any | 17:40 | |
synbot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123175 | ||
psch | liztormato: maybe that can work in some implicit BEGIN? | ||
psch is mostly guessing there | 17:41 | ||
liztormato | No, $_ and friends are initialized deep in the nqp bowels, if I remember correctly | ||
preyalone | psch: cheers! | 17:42 | |
17:43
eli-se left
|
|||
liztormato | Thinking about this more, I think it was needed to have a failed match return Nil, as per speculation | 17:44 | |
arnsholt | The automatics like $_ and $/ are initialized by the Rakudo NQP code, no? | 17:45 | |
17:45
FROGGS joined
|
|||
psch | according to the ticket we want it as "my Mu $_ = Any;" | 17:46 | |
i might misremember $/ to be initialized as Any, though | |||
it doesn't seem sensible to have it like that, so i probably am | |||
17:50
Rounin joined
|
|||
jnthn | m: say $_; sub foo() { say $_ }; foo; | 17:50 | |
camelia | rakudo-moar 2d379e: OUTPUT«NilNil» | ||
jnthn | ah, it is consistent there at least | ||
FROGGS | o/ | ||
jnthn | But yeah, I'm a tad surprised, but maybe we don't need it for match | ||
psch | o/ FROGGS | ||
jnthn | These days | ||
liztormato | jnthn: psch will look at it when returned from cycling | 17:51 | |
jnthn | No hurry, enjoy the ride :) | ||
jnthn has just about finished cooking dinner :) | |||
liztormato | Unless someone beats me to it ;-) | ||
& | |||
psch has to start cooking dinner about now | 17:52 | ||
17:52
liztormato left
|
|||
psch | hrm | 17:53 | |
i'm getting a SEGV in isDEPRECATED.t on moar | |||
FROGGS | is there still inconsistent boolness of "0" on jvm? | ||
psch | in MVM_coerce_istrue | ||
FROGGS: no, but my patch that fixed it is probably the cause for the SEGV | |||
FROGGS | but you are talking about moar | ||
psch | yes | ||
17:54
zakharyas joined
|
|||
psch | i fixed jvm by setting the boolification spec to 3 instead of 4 in BOOTSTRAP.nqp | 17:54 | |
and moar did the right thing before that | |||
so the change of the boolspec mode did something breaky on moar | |||
but fixed jvm | |||
FROGGS | ahh | ||
psch | (3 is MODE_UNBOX_STR_NOT_EMPTY, 4 is ~_OR_ZERO | ||
) | 17:55 | ||
psch back in ~20 | |||
17:55
lucasb left
|
|||
nine | psch: 20 seconds are over :) | 17:55 | |
psch back in ~20 minutes | 17:56 | ||
:P | |||
17:57
domidumont joined
|
|||
tadzik pictures nine with a timer, grinning "you won't get away this time..." | 17:57 | ||
preyalone | How do I append an array to a matrix in Perl 6? I used to push @($matrix), \@array; | 18:00 | |
18:03
pippo joined
|
|||
pippo | o/ #perl6 | 18:03 | |
18:04
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
hoelzro | preyalone: $matrix.push: @array.item # should do it, I think | 18:04 | |
FROGGS | preyalone: $matrix.push( [@array] ) # same | 18:05 | |
hoelzro | that .item call may be redundant, as well | ||
pippo | m: my enum date <Date>; my date = Date.today; | ||
camelia | rakudo-moar 2d379e: OUTPUT«5===SORRY!5===Type 'date' is not declared. Did you mean 'Date'?at /tmp/_mJXM3IeHW:1------> 3my enum date <Date>; my date 7⏏5= Date.today;Malformed myat /tmp/_mJXM3IeHW:1------> 3my enum date <Date>; my date 7⏏5= Date.today;…» | ||
nwc10 | OK, so on ARM | ||
t/04-nativecall/03-simple-returns.t | |||
# Failed test 'returning char works' | |||
# at t/04-nativecall/03-simple-returns.t line 18 | |||
# expected: '-103' | |||
# got: '153' | |||
pippo | How can I tell perl6 which date to use? | ||
nwc10 | oh, 1 more line than you needed | ||
18:05
espadrine left
|
|||
nwc10 | same error on Power32 | 18:05 | |
nine | m: my @matrix; my @array = 1, 2; push @matrix, $@array; push @matrix, @array; say @matrix.perl; | ||
camelia | rakudo-moar 2d379e: OUTPUT«[[1, 2], 1, 2]<>» | ||
nwc10 | but not Power64 | ||
which is a bit strange | |||
pippo | m: my enum date <Date>; my $date = Date.today; | 18:06 | |
camelia | rakudo-moar 2d379e: OUTPUT«No such method 'today' for invocant of type 'date' in block <unit> at /tmp/TInzEdOgeD:1» | ||
nwc10 | but Power32 and ARM are both 32 bit plaforms with unsigned char | ||
FROGGS | nwc10: that's known | ||
err | |||
18:06
torbjorn_ is now known as torbjorn
|
|||
FROGGS | nwc10: I am mistaken, I thought this is about the other test (which is marked as todo) | 18:07 | |
18:07
raiph left,
telex left,
atweiden joined
|
|||
preyalone | How can I reuse $i for several, unrelated loops in the same scope? | 18:07 | |
FROGGS | m: my enum date <Date>; say Date.WHAT | ||
camelia | rakudo-moar 2d379e: OUTPUT«(date)» | ||
FROGGS | pippo: it is not the Date type from the setting you got there | 18:08 | |
18:08
telex joined
|
|||
FROGGS | preyalone: use a pointy block for example... for @array -> $i { ... }; for @array2 -> $i { ... } | 18:08 | |
preyalone: or declare $i before these loops, if you mean something else then I showed | 18:09 | ||
preyalone | FROGGS: I'm not iterating over a pre-defined collection, I'm using the loop semantic | ||
yeah | |||
pippo | m: my enum record <Date>; say Date.WHAT; | ||
camelia | rakudo-moar 2d379e: OUTPUT«(record)» | ||
FROGGS | ahh, C-style loops | ||
pippo: Date is just a string of the enum | 18:10 | ||
m: my enum record <Date>; say Date.perl # more explicit | |||
camelia | rakudo-moar 2d379e: OUTPUT«record::Date» | ||
FROGGS | m: my enum record <Date>; say Date() | ||
camelia | rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/unHLD4F0paVariable '&Date' is not declaredat /tmp/unHLD4F0pa:1------> 3my enum record <Date>; say 7⏏5Date()» | ||
FROGGS | err | ||
m: my enum record <Date>; say +Date | |||
camelia | rakudo-moar 2d379e: OUTPUT«0» | ||
FROGGS | right | 18:11 | |
pippo | FROGGS: I know. But how can I tell perl6 to use the Date that returns a date after I defined the enum? | ||
FROGGS | m: my enum record <Date>; say record(0) | ||
camelia | rakudo-moar 2d379e: OUTPUT«Date» | ||
18:11
eli-se joined
|
|||
[Coke] | FROGGS: no, that's getting the date he just defined. :) | 18:11 | |
m: Date.WHAT.say # he wants this one. | |||
camelia | rakudo-moar 2d379e: OUTPUT«(Date)» | ||
FROGGS | I know | ||
[Coke] | ok. the code you were giving seemed to indicate otherwise, apologies. | 18:12 | |
pippo | m: my enum record <Date>; my $date = Date.today; | ||
camelia | rakudo-moar 2d379e: OUTPUT«No such method 'today' for invocant of type 'record' in block <unit> at /tmp/q60TJxb5Fi:1» | ||
FROGGS | pippo: can't you just have other enum values? | ||
pippo | Of course yes. :-)) Was only curious | ||
FROGGS | m: my constant CopyOfDateBecauseIMessWithIt = Date; { my enum record <Date>; my $date = CopyOfDateBecauseIMessWithIt.today; } | 18:13 | |
camelia | ( no output ) | ||
FROGGS | pippo: ^^ | ||
it is lexical... | |||
pippo | FROGGS: Thank you!! | ||
[Coke] | enums only poison other enums, not classes. | ||
m: class Foo { sub new() { say "class"}}; enum Foo <Frob>; say Foo.WHAT; | 18:14 | ||
camelia | rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ve247xYWUoRedeclaration of symbol Fooat /tmp/ve247xYWUo:1------> 3oo { sub new() { say "class"}}; enum Foo7⏏5 <Frob>; say Foo.WHAT;» | ||
FROGGS | and like everything it poisons your namespace | ||
[Coke] | Seems like a bug that the enum declaration where you override a class should give that same message. | 18:15 | |
(even if that class isn't user defined) | |||
FROGGS | hmmm, I don't see a bug there | ||
[Coke] | but also dihwidt | ||
er, to be clearer, I think pippo's code should give the error "redeclaration..." as my example with Foo did. | 18:16 | ||
FROGGS | [Coke]: you only redeclare something if it is in the same scope | 18:17 | |
m: class Foo { sub new() { say "class"}}; { enum Foo <Frob>; say Foo.WHAT; } | |||
camelia | rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hfgKk8e0uWRedeclaration of symbol Fooat /tmp/hfgKk8e0uW:1------> 3 { sub new() { say "class"}}; { enum Foo7⏏5 <Frob>; say Foo.WHAT; }» | ||
FROGGS | err | ||
ahh, they are our-scoped by default | 18:18 | ||
m: class Foo { sub new() { say "class"}}; { my enum Foo <Frob>; say Foo.WHAT; } | |||
camelia | rakudo-moar 2d379e: OUTPUT«(Foo)» | ||
pippo | [Coke]: it will be better. The example I gave is from one of my programs that was not working. That error message would have been more helpful. | ||
preyalone | Am I supposed to loop from $i = 0; to $i <= @array.end? In most programming languages, I would use $i < array.length or similar | 18:21 | |
moritz | you can do that too | ||
though we call it .elems | |||
or you can iterate over @array.keys | 18:22 | ||
pippo | or +@array | ||
18:22
abraxxa left
|
|||
arnsholt | preyalone: Basically "length" is a discouraged term in Perl 6, it's just too ambiguous | 18:22 | |
FROGGS | m: my @a = 'a' .. 'z'; for @a.kv -> $k, $v { say "$k => $v" } # preyalone | 18:23 | |
camelia | rakudo-moar 2d379e: OUTPUT«0 => a1 => b2 => c3 => d4 => e5 => f6 => g7 => h8 => i9 => j10 => k11 => l12 => m13 => n14 => o15 => p16 => q17 => r18 => s19 => t20 => u21 => v22 => w23 => x24 => y25 => z» | ||
FROGGS | preyalone: .kv gives you the index and the value... | ||
which is what I miss in other languages | 18:24 | ||
preyalone | FROOGS: cool | ||
18:25
[particle] left
|
|||
moritz | iteritems in python2, items in python3 | 18:25 | |
masak | moritz: but only on dicts. in Perl 6, both arrays and hashes have .kv | 18:27 | |
moritz | masak: aye | 18:28 | |
and I never understood why only on dicts | 18:29 | ||
or wtf "iteritems" was supposed to mean | |||
masak | moritz: it's an iterator which gives you items | ||
"item" is, I think, Python's word for Pair | |||
18:29
aborazmeh left
|
|||
moritz | oh. | 18:29 | |
masak | the original method .items in py2 predates the iterator model | 18:30 | |
18:32
Rounin left
|
|||
FROGGS | psch: I've got a patch but that break nqp pretty hard | 18:37 | |
RabidGravy | is there any facility whatsoever to do something like "as 'nobody' { ... } " sort of like start but with a setuid? | ||
18:37
rindolf left
|
|||
psch | FROGGS: that's curious | 18:38 | |
moritz | RabidGravy: uhm, can threads even have separate permissions? | 18:39 | |
RabidGravy: I thought that only works on the process level | |||
timotimo | there's "enumerate" in python | ||
which is my friend | |||
18:39
Rounin joined
18:40
rindolf joined
|
|||
FROGGS | psch: gist.github.com/FROGGS/6dde2440e37351c834fe | 18:41 | |
psch | FROGGS: what's confusing me is that moar did «if "0" { ... }» even though Str had the wrong boolification mode | 18:42 | |
FROGGS: and jvm only did «if nqp::unbox_s("0") { ... }» correctly | |||
preyalone | How can I import a subroutine meaning_of_life() defined in a sister file, ScriptedMain.pl? use ScriptedMain; doesn't seem to work. | 18:43 | |
psch | FROGGS: so i'd assume there might be an unbox somewhere between Op::if and MVM_coerce_true | ||
*an *additional* unbox | |||
18:43
zakharyas left
|
|||
moritz | preyalone: iirc require has an option to specify a file name | 18:43 | |
18:43
eli-se left
|
|||
moritz | preyalone: though the better style is to put the common subroutine into a modulle | 18:43 | |
18:44
xtreak joined
|
|||
dalek | c: a24d845 | moritz++ | lib/Language/syntax.pod: Talk about identifiers |
18:44 | |
preyalone | Declaring a module name prevents my MAIN function from running >( | ||
ugexe | declare it as a class | 18:45 | |
18:46
rhr left,
rhr joined
|
|||
ugexe | preyalone: see github.com/ugexe/zef/blob/master/l...ef/App.pm6 and github.com/ugexe/zef/blob/master/bin/zef | 18:46 | |
TimToady wonders what "column" means in the age of Unicode... | |||
geekosaur | "wishful thinking" | ||
preyalone | ugexe: Thanks, I'll check those out. Should I be using .pm6, .pl6 as my file extensions, by the way? | 18:47 | |
FROGGS | preyalone: that's up to you | 18:48 | |
preyalone | ugexe: I'm used to sub MAIN { ... }, but in a module, should I use something else like multi MAIN { ... } ? | 18:49 | |
ugexe | you dont have to declare sub or method for MAIN if you use multi | 18:50 | |
ShimmerFairy | TimToady: reminds me of the idea I've had before of a monospace font that's actually designed as a "discrete font", to avoid squishing/stretching various characters too badly. | ||
TimToady has wished for such a thing himownself | |||
preyalone | Do I have to say 'is export' for every method I want to expose? | 18:51 | |
ugexe | i believe so | ||
masak | um you shouldn't need to export methods. | ||
methods sit on objects, no? | |||
RabidGravy | :) | ||
ugexe | MAIN is built at a different time than normal methods and stuff | ||
i think is the reason | |||
preyalone | I need to learn the syntax for defining static, class-level methods. | 18:52 | |
18:52
rindolf left
|
|||
ShimmerFairy | (and obviously variable-width fonts could be considered "continuous fonts" ☺) | 18:52 | |
masak | m: class C { method foo { say "OH HAI" } }; C.foo | ||
camelia | rakudo-moar 2d379e: OUTPUT«OH HAI» | ||
TimToady | so it would know how to deal with a character like 𒁃 | ||
masak | preyalone: ^^ | ||
preyalone: so easy! :) | |||
ugexe | m: class C { multi MAIN { say "OH HAI" } }; C.MAIN | 18:53 | |
camelia | rakudo-moar 2d379e: OUTPUT«No such method 'MAIN' for invocant of type 'C' in block <unit> at /tmp/_mXN8xfoOF:1» | ||
masak | ugexe: you forgot 'methgod' | ||
er, method* | |||
gah, lag | |||
RabidGravy | preyalone, they're just normal methods just can't access the object attributes in the same way | ||
masak .oO( Heisenberg is the methgod ) | 18:54 | ||
TimToady | m: my enum date <Date>; my $date = OUTER::Date.today; | 18:56 | |
camelia | rakudo-moar 2d379e: OUTPUT«No such method 'today' for invocant of type 'Any' in block <unit> at /tmp/mpdCY6ZCKj:1» | ||
TimToady | m: my enum date <Date>; my $date = OUTERS::Date.today; | ||
camelia | ( no output ) | ||
TimToady | m: my enum date <Date>; my $date = OUTERS::Date.today; say $date | ||
camelia | rakudo-moar 2d379e: OUTPUT«2015-04-14» | ||
TimToady | m: my enum date <Date>; my $date = SETTING::Date.today; say $date | 18:57 | |
camelia | rakudo-moar 2d379e: OUTPUT«No such method 'today' for invocant of type 'Any' in block <unit> at /tmp/WSrGuFHd5D:1» | ||
preyalone | My syntax isn't quite right. gist.github.com/mcandre/05d70f5871247078cb9b | ||
TimToady | m: my enum date <Date>; my $date = CORE::Date.today; say $date | ||
camelia | rakudo-moar 2d379e: OUTPUT«2015-04-14» | ||
FROGGS | psch: I think I found it | ||
18:57
Vlavv_ left
|
|||
FROGGS | ahh, the CORE:: pseudo package... of course | 18:57 | |
TimToady | pippo: ^^ | ||
there's a reason we made all these things outer lexical scopes, and not a "prelude" | 18:58 | ||
ugexe | preyalone: try the way i showed and it will work | ||
psch | FROGGS: an extra unbox? neat, that'd mean my hunch wasn't totally off :) | 19:00 | |
RabidGravy | and in the second case "use lib '.';" will fix | ||
FROGGS | psch: no, the P6Str in moar had the old boolspec | ||
ugexe | MAIN_HELPER or whatever builds the MAIN stuff doesnt happen at the same time as the rest of object construction. or something | 19:01 | |
psch | FROGGS: ah! i hadn't thought to look for that. jvm doesn't declare P6Str, only P6str which is the native wrapper, afaiu | ||
TimToady wonders how difficult it would be to teach irssi about characters outside the BMP... | |||
FROGGS | psch: err P6str, yes | ||
19:01
fhelmberger joined
|
|||
FROGGS | psch: I just managed to break nqp build by fixing the segfault | 19:02 | |
psch | oh, i see it. bootstrap.c:604 has MVM_BOOL_MODE_NOT_EMPTY_OR_ZERO | ||
FROGGS | though that means I need to bump stage 0 again :/ | ||
stage0* | |||
aye | |||
19:03
rmgk left
|
|||
psch | i'm a bit surprised only isDEPRECATED.t segfaulted with that bool spec mode, though | 19:03 | |
which means there's weird code paths all around, i suspect | |||
FROGGS | psch: I can tell you why | ||
psch | FROGGS: do tell :) | ||
FROGGS | MVM_coerce_istrue with the MVM_BOOL_MODE_NOT_EMPTY case was an unused code path until you changed the boolspec in rakudo | 19:04 | |
preyalone | Code updated. ScriptedMain.pm now runs, but test.pl can't import its code. gist.github.com/mcandre/05d70f5871247078cb9b | 19:05 | |
FROGGS | so rakudo still used the MVM_BOOL_MODE_NOT_EMPTY_OR_ZERO boolspec, which did what MVM_BOOL_MODE_NOT_EMPTY should have done | ||
19:05
rhr left
|
|||
ugexe | because it needs to find its symbol. see github.com/rakudo/rakudo/blob/49f1...s.nqp#L309 | 19:05 | |
19:05
rmgk joined,
rhr joined
19:06
fhelmberger left
|
|||
nwc10 | Files=973, Tests=38912, 3762 wallclock secs (83.44 usr 13.34 sys + 14199.48 cusr 322.47 csys = 14618.73 CPU) | 19:06 | |
psch | FROGGS: i'm still wondering. changing the bool spec mode is what got me the right behavior for jvm in e.g. «if "0" {...}», but moar passed the file that tests for that | ||
nwc10 | Result: FAIL | ||
ugexe | i keep dreaming of MAIN as a trait | 19:07 | |
nwc10 | t/spec/S02-types/isDEPRECATED.rakudo.moar and t/spec/S04-exceptions/pending.rakudo.moar seem to have SEGVd | ||
FROGGS | psch: yes, because I accidently made the old boolspec do what the new should | ||
nwc10 | FROGGS++ perl6-valgrind-m | ||
FROGGS | :o) | 19:08 | |
nwc10 | valgrind+- # disInstr(arm): unhandled instruction: 0xEE073FBA cond=14(0xE) 27:20=224(0xE0) 4:4=1 3:0=10(0xA) | ||
RabidGravy | preyalone, "use ScriptedMain;" in the script | ||
FROGGS | nwc10: we are about to push a fix | ||
(after spectest) | |||
nwc10 | FROGGS++ # after spectest | ||
those two are known SEGVs right now? | |||
psch | FROGGS: oh, i see | ||
FROGGS | nwc10: I just knew about the former | 19:09 | |
nwc10 | the latter was | ||
psch | i didn't investigate pending.t, but saw it fail too | ||
nwc10 | 30 return s->body.num_graphs; | ||
(gdb) p s | |||
$1 = (MVMString *) 0x0 | |||
FROGGS | but: t/spec/S04-exceptions/pending.rakudo.moar ..................... ok | ||
nwc10 | OK, this is ARM | ||
FROGGS | nwc10: yes, that sounds very much related | ||
nwc10 | so I don't know for sure if it's someting differently funky | ||
19:10
eli-se joined
|
|||
nwc10 | aha, same place, same NULL | 19:10 | |
30 return s->body.num_graphs; | |||
FROGGS | aye | ||
nwc10 | anyway, will take a while to re-run spectest | ||
SpaceX will launch (or scrub) by then | |||
T-3600s | 19:11 | ||
19:11
Vlavv_ joined
|
|||
preyalone | RabidGravy: When I code "use ScriptedMain;", Perl 6 can't find the pm sitting in the same directory as test.pl. gist.github.com/mcandre/05d70f5871247078cb9b | 19:11 | |
moritz | preyalone: you need a use lib '.'; for that to work | ||
DrForr | Because you haven't added '.' to your path. -I. or -Ilib depending upon where the module is. | ||
RabidGravy | which was there before :-\ | 19:12 | |
preyalone | Do I type use lib '.'; before use ScriptedMain;, or do I pass that to the perl6 shebang? | ||
DrForr | Or the 'use lib...' method, I guess :) I prefer the latter as it's less fuss. | ||
dalek | rl6-roast-data: 625b657 | coke++ | / (9 files): today (automated commit) |
19:13 | |
DrForr gets ready to file YA grammar bug... | |||
preyalone | Thanks all! Works! github.com/mcandre/scriptedmain/tr...ster/perl6 | ||
19:15
adu joined
|
|||
FROGGS | k, spectest passes | 19:15 | |
DrForr | How am I failing in | 19:18 | |
Guh, one sec. | |||
gist.github.com/drforr/65c0664143cfccbb7a79 # The 'ok' tests are failing. | 19:19 | ||
dalek | p: 5a13871 | FROGGS++ | / (12 files): bump moar and stage0 for boolspec fixes |
||
kudo/nom: c2c8dcb | FROGGS++ | tools/build/NQP_REVISION: bump nqp/moar for boolspec fixes |
19:20 | ||
19:23
raiph joined
|
|||
preyalone | rakudo-star doesn't seem to offer a cpan6. How do I install something like LectroTest for testing Perl 6 code? | 19:24 | |
DrForr | panda. | 19:25 | |
preyalone | Oh, neat. panda! | ||
So no quickcheck-like unit test library on panda yet? | |||
ugexe | what exactly is 'quickcheck-like unit test library' | 19:27 | |
DrForr | 'use Test;' doesn't do what you want? | ||
Can't get much quicker in my book than 'use Test; ok $g.parse("fo");' | 19:28 | ||
preyalone | QuickCheck is a unit test library that can generate random test cases, and check properties (lambdas) against them. | ||
19:29
adu left
|
|||
hoelzro | preyalone: I was thinking about writing a generative testing library for Perl 6, but ENOTIME/ETAKINGONTOOMUCHALREADY | 19:29 | |
preyalone | lol | ||
vendethiel | hoelzro: that's actually a very interesting idea | 19:30 | |
preyalone | I've written basic ports of QuickCheck to a few languages, maybe Perl 6 would be an easy new port. www.yellosoft.us/quickcheck | ||
psch | osfameron++ was pondering porting hypothesis as hypothe6 | ||
vendethiel | would be much more amazing with ADT though | ||
DrForr | Any comments on my gist, or should I just file another bug? | ||
hoelzro | psch: hehe, I like that name | ||
masak | preyalone: there was talk the other day about porting Python's new library, *mumble mumble* | ||
hoelzro | my thoughts on it were inferring generators to used based on the signature, and automatically generating properties based on PRE/POST and friends | 19:31 | |
RabidGravy | use Test; for MyClass.^methods -> $meth { ok(MyClass.can($meth), "can $meth"); } | ||
;-) | |||
masak | Hypothesis, it's called. | ||
vendethiel | RabidGravy: that seems totally useless :P | 19:32 | |
"the things you told me you have... do you have them?" | |||
RabidGravy | er, of course | ||
it's called "a joke" | 19:33 | ||
vendethiel | hence the ":P"! | ||
hoelzro: that's interesting, but you need to build the instance as well | 19:34 | ||
psch | DrForr: sigspace is messing with you somehow | ||
hoelzro | vendethiel: yeah, I just have some vague ideas at this point | ||
vendethiel | so, you need to introspect the class's members' types, then check the .^methods, check the signature for that, and generate arguments for those? | ||
do we have *any way* to access PRE/POST? (that doesn't rely on nqp) | |||
hoelzro | vendethiel: I believe they're in the MOP | ||
psch | DrForr: changing 'rule' to 'token' in your gist passes | 19:35 | |
vendethiel | hoelzro: alright | ||
psch | (i don't remember if rule is ratchet, if it is that could be it as well i suppose) | ||
*isn't | |||
DrForr | psch: Nod, I'll look. Incidentally this is a fragment of github.com/drforr/perl6-ecmascript | ||
hoelzro | vendethiel: I think it's in &code.phasers? | 19:36 | |
psch | DrForr: mind, that's not saying it's not a bug, just that one thing i could think of helps :) | ||
DrForr | Right, backtrack on HexDigit. | ||
vendethiel | m: sub f{PRE{$_ > 5;}; say 1}; f(5); say &f.^phasers; # maybe .^? | ||
camelia | rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lWiyxkWU1KWhitespace required after keyword 'PRE'at /tmp/lWiyxkWU1K:1------> 3sub f{PRE7⏏5{$_ > 5;}; say 1}; f(5); say &f.^phasers» | ||
preyalone | Yuck, I have to explicitly {2..2} in Perl 6 regexes. | 19:37 | |
vendethiel | m: sub f($a){PRE {$_ > 5;}; say 1}; f(5); say &f.^phasers; # ouch; that segfaults | ||
camelia | rakudo-moar 2d379e: OUTPUT«(signal SEGV)use of uninitialized value of type Nil in numeric context» | ||
psch | m: say "aa" ~~ / a ** 2 / | ||
camelia | rakudo-moar 2d379e: OUTPUT«「aa」» | ||
vendethiel | segfaults are bad :[ | ||
19:37
FROGGS left
|
|||
masak | ...mmkay? | 19:37 | |
psch | preyalone: you don't, the ** quantifier takes integer constants as well | 19:38 | |
TimToady | and bare ranges without braces | ||
vendethiel | m: sub f{PRE{$_ > 5;}; say 1}; f(5); say &f.phasers; # sig? | ||
camelia | rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xygvxyf8vdWhitespace required after keyword 'PRE'at /tmp/xygvxyf8vd:1------> 3sub f{PRE7⏏5{$_ > 5;}; say 1}; f(5); say &f.phasers;» | ||
19:38
tinyblak joined
|
|||
vendethiel | m: sub f{PRE {$_ > 5;}; say 1}; f(5); say &f.phasers; # sig? | 19:38 | |
camelia | rakudo-moar 2d379e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/N3cH1irBW0Calling f(int) will never work with declared signature ()at /tmp/N3cH1irBW0:1------> 3sub f{PRE {$_ > 5;}; say 1}; 7⏏5f(5); say &f.phasers; # sig?» | ||
DrForr | psch: Yeah, confirmed here. I do want this to handle whitespace on its own globally though, I'll look into the :sigspace adverb. | ||
19:40
xtreak left,
FROGGS joined
|
|||
psch | DrForr: fwiw, the rakudo grammar only defines those regexen that need to handle whitespace implicitly as rules | 19:41 | |
DrForr: and i don't imagine you want "0 x f \n A" parsed as one hex int literal | |||
(unless ECMAscript is *that* crazy..?) | |||
moritz | .oO( perl 5 ) |
19:42 | |
19:43
tinyblak left
|
|||
DrForr | Quite correct. I guess the name 'token' in this case is apt. | 19:43 | |
vendethiel | .u ⋄ | ||
yoleaux | U+22C4 DIAMOND OPERATOR [Sm] (⋄) | ||
19:43
[particle] joined
|
|||
vendethiel | how would you register "Arbitrary" instances for quick6check? | 19:46 | |
19:47
nwc10_ joined
|
|||
kbenson | m: sub pmap(Code $func, @items) { await @items.map: { start { $func($_) } } }; pmap { .say }, (1,2,3,4); | 19:48 | |
19:48
adu joined
19:49
alini left,
nwc10 left
|
|||
camelia | rakudo-moar c2c8dc: OUTPUT«243Unhandled exception: Cannot invoke this object (REPR: Null) at <unknown>:1 (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:23653 (/home/camelia/rakudo-inst-1/share/per…» | 19:49 | |
kbenson | That a known error? | 19:50 | |
lizmat | jnthn psch: the commit that made $_ default to Nil is b6e89999 from 13 Aug 2013 | 19:52 | |
19:53
rurban_ joined
|
|||
psch | lizmat: RT #123175 is newer | 19:54 | |
synbot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123175 | ||
psch is trying to bring his tr/// PR back to mergeable | |||
kbenson: i'm also building perl6-j on the side to see what it says to your code. our evalbot doesn't run it at the moment | 19:55 | ||
preyalone | Do I have to do anything special in order to send custom -e, -d, -q -w -r -t -y flags to my Perl 6 scripts? | ||
skids | kbenson: that actually works for me locally. | ||
kbenson | psch: FYI it doesn't cause an error every run, and sometimes the error is different (for MVM) | ||
psch | preyalone: you can put named parameters onto MAIN, if you type them as Bool they don't accept values either | 19:56 | |
19:56
cognominal joined
|
|||
masak | www.spacex.com/webcast/ | 19:56 | |
19:56
yqt joined
|
|||
kbenson | I've also gotten: Cannot call say(Int); none of these signatures match: | 19:57 | |
() | |||
(Obsolete:D \o) | |||
(Str:D \x) | |||
(Any \x) | |||
(Any |) | |||
at <unknown>:1 | |||
colomon | masak++ | ||
skids | kbenson: Ah yes about half the time on my r-m it just hangs. And once in a while I get the backtrace. | ||
psch dimly remembers a recent gist that showed similar behavior | 19:58 | ||
but that one seems much golfederer | |||
RabidGravy | masak++ | ||
kbenson | skids: sometimes for me it just works, maybe 20% of the time | ||
vendethiel | if I were to create a quickcheck lib in Perl6 -- should you register how to instantiate types in an object? | ||
RabidGravy | (had forgotten) | ||
vendethiel | "Obsoselete:D \o" amazing sig | ||
masak | it's a person waving to someone grinningly obsolete | 19:59 | |
lizmat | m: say $*OS # that's what we need that for | 20:01 | |
camelia | rakudo-moar c2c8dc: OUTPUT«opensuseSaw 1 call to deprecated code during execution.================================================================================$*OS called at: /tmp/BRr7t6h0gt, line 1Deprecated since v2014.9, will be removed with release v2015.9!…» | ||
lizmat | *why | ||
FROGGS | m: my \a = any set <1 2 3>; EVAL "say 1 ~~ a" | 20:03 | |
camelia | rakudo-moar c2c8dc: OUTPUT«===SORRY!===Object of type Junction in QAST::WVal, but not in SC» | ||
lizmat is testing a fix for $_ becoming Any by default | |||
20:03
cognominal left
|
|||
preyalone | How do I test for string non-equivalence? | 20:04 | |
lizmat | ne | ||
20:04
nwc10_ is now known as nwc10
|
|||
lizmat | m: say "foo" ne "bar" | 20:04 | |
camelia | rakudo-moar c2c8dc: OUTPUT«True» | ||
lizmat | m: say "foo" ne "foo" | ||
camelia | rakudo-moar c2c8dc: OUTPUT«False» | ||
nwc10 | T-6 min | ||
(attention space cadets) | 20:05 | ||
pippo | TimToady: thank you very much. Now that I see it I can definitely say that it is what I was looking for. :-)) | ||
nwc10 | particualrly as I seem to be lagged | ||
lizmat is checking some spectest fallout | 20:06 | ||
grondilu | off topic: F9 launch in 5 minutes: youtu.be/csVpa25iqH0 | ||
lizmat | T-4 mins here | 20:07 | |
preyalone | How do I format an integer as a lowercase, two-zero minimum width hexadecimal number? Perl 6 doesn't like unpack("H*, 255) | ||
sprintf? | 20:08 | ||
grondilu | or fmt | ||
PerlJam | m: say 1234.fmt("%h"); | ||
camelia | rakudo-moar c2c8dc: OUTPUT«'h' is not valid in sprintf format sequence '%h'» | ||
PerlJam | m: say 1234.fmt("%x"); | ||
camelia | rakudo-moar c2c8dc: OUTPUT«4d2» | ||
arnsholt | r-m: printf "%02x", 1 | ||
camelia | rakudo-moar c2c8dc: OUTPUT«01» | ||
skids | kbenson: just 'await (1,2,3,4).map: { { start { .say } } }' also fails for me, just less often. | 20:09 | |
arnsholt | Or %03x, if you want at least two leading zeroes | ||
FROGGS | m: printf "%#02x", 1 | 20:10 | |
camelia | rakudo-moar c2c8dc: OUTPUT«0x1» | ||
20:10
darutoko left
|
|||
FROGGS | m: printf "%#03x", 1 | 20:10 | |
camelia | rakudo-moar c2c8dc: OUTPUT«0x1» | ||
arnsholt | In general, if you want to print stuff, printf can do it | ||
FROGGS | m: printf "%#04x", 1 # I'm not sure that this is right | ||
camelia | rakudo-moar c2c8dc: OUTPUT«00x1» | ||
kbenson | skids: making w/jvm to test more, so I can't help golf it down lower for a few more minutes | ||
timotimo | launch prep looks very good so far | ||
masak | T-30 seconds | 20:11 | |
nwc10 | masak: you're lagged | ||
(This time it's you, not me) | |||
colomon | buffering! | ||
masak | oh! | ||
timotimo | GOD DAMN IT | ||
"three! too! one! buffering" | |||
retupmoca | up and away | ||
timotimo | no joke | ||
arnsholt | One of the neatest printf formats is %g, for rounding to significant digits | ||
masak | o.O | ||
masak cries | 20:12 | ||
colomon | We actually skipped from T-10 to T+24 with buffering. :( | ||
masak | I may be lagged, but at least I'm not buffering | ||
TimToady | so another few minutes we should know about the landing try? | ||
nwc10 | yes | 20:13 | |
retupmoca | 7m or so | ||
nwc10 | (or buffering...) | ||
I'm bufferring now | |||
retupmoca | (T+8.5m I think for the landing) | ||
nwc10 | so I guess I miss stage separation :-( | ||
TimToady | hopefully the rocket buffering works :) | ||
colomon | dunno if they tell us what happened right away, though. | ||
masak | why the strange star-like shape of the exhaust fire? | 20:14 | |
TimToady | probably get a tweet fist | ||
*first!! | |||
nwc10 | wow. can see first stage | ||
TimToady | watch out for that tweet fist though | ||
colomon | masak: I presumed that had something to do with having 9 (?) engines? | ||
kbenson | is the first stage what's supposed to land back at the platform? | ||
nwc10 | kbenson: yes | 20:15 | |
kbenson | or a barge, this time | ||
masak | colomon: that would explain it | ||
the Earth looks so pretty from up here | |||
colomon | stage one boost-back startup, that’s good. | ||
boost-back shutdown, dunno if that’s bad or not. :\ | 20:16 | ||
retupmoca | normal, I think | ||
nwc10 | IIRC there are 3 burns on stage 1 | ||
3rd burn is the actual landing | 20:17 | ||
colomon | hope you guys are right | ||
retupmoca | right, next is the reentry burn | ||
nwc10 | I don't care if *I'm* right. I hope that *they* get it right :-) | ||
colomon | that too. :) | ||
yes! | |||
“stage one entry burn has started" | |||
nwc10 | aha, you're less lagged than I am | 20:18 | |
labster | go for it, stage one! | ||
preyalone | Does ~= concatenate with self? | ||
FROGGS | preyalone: it appends to the left hand side | ||
masak | m: my $s = "yes"; $s ~= ", it does"; say $s | 20:19 | |
camelia | rakudo-moar c2c8dc: OUTPUT«yes, it does» | ||
TimToady | landing burn started | ||
colomon | fingers-crossed | ||
errr, s/-/ / | |||
go newfoundland! ;) | 20:21 | ||
masak | lag..g...g.. | 20:22 | |
bobkare | yeah, I'm stuck at T+10m | 20:23 | |
colomon | T+12 here | ||
TimToady | I have to ^R every 10 seconds or so | ||
masak moved closer to his wifi router, and that helped | |||
nwc10 | masak: proving that the future is not yet evenly distributed? :-) | 20:24 | |
TimToady | dragon has wings now | ||
geekosaur | raar | ||
colomon | yeah, that part of the mission is “nomial” | ||
preyalone | What's the correct syntax for matching two decimal numbers followed by hexadecimal digits? | ||
masak | nwc10: proving that these Linux wifi drivers leave a lot to be desired. | ||
moritz | preyalone: \d\d <xdigit>* | 20:25 | |
preyalone | moritz: Thank you! How could I do this using quantifiers? | ||
kbenson | yoda-speak - remember us to follow online | 20:26 | |
preyalone | And if I wanted to capture these as groups? /^(\d**2)(<xdigit>+)/) | 20:27 | |
psch was buffering every 10-30 seconds on a wired connection to the router | |||
kbenson | psch: Somebody needs to teach those people at Google how to scale their services. ;) | 20:28 | |
20:28
brrt joined
|
|||
psch | kbenson: livestream.com is google? i didn't know that | 20:28 | |
geekosaur | oddly, once I got it to load at all it was pretty stable --- and my local network is being more of a notwork today | ||
bobkare | mine was fairly stable until about T+10m. And now I guess we just have to wait and see where they announce what happened with the landing | 20:29 | |
kbenson | psch: Oh, was it? It looked just like a youtube embed for me at the space x site. It said livestream, but I tbhrough that was a youtube branding thing | ||
20:29
raiph left
|
|||
kbenson | s/tbhrough/thought/ | 20:30 | |
psch | kbenson: i think it was embedded from livestream.com/spacex | ||
bobkare | @elonmusk on twitter: Rocket landed on droneship, but too hard for survival. | ||
kbenson | webcas | 20:31 | |
masak | aww | 20:32 | |
kbenson | psch: I don't doubt it, but I followed masak's link to www.spacex.com/webcast/ | ||
RabidGravy | bobkare, yeah saw that :( | ||
masak | keep trying, SpaceX. you're heroes. | 20:33 | |
preyalone | How do I parse hexadecimal strings into numbers? No such method 'hex' for invocant of type 'Str' :/ | 20:34 | |
masak | m: my $s = "DEADBEEF"; say :16($s) | ||
camelia | rakudo-moar c2c8dc: OUTPUT«3735928559» | ||
masak | preyalone: ^^ | ||
psch | kbenson: yeah, that's where i watched too | 20:36 | |
psch also just remembered why he put his tr/// PR aside again | |||
there's something wrong with getlexcaller and proto methods | |||
gist.github.com/peschwa/4fe16e5c5aa2e5b8370c | |||
masak | 'night, #perl6 | ||
psch | m: gist.github.com/peschwa/4fe16e5c5aa2e5b8370c | ||
camelia | rakudo-moar c2c8dc: OUTPUT«Nil==========「b」» | ||
psch | that Nil should also be 「b」 | 20:37 | |
g'night masak \o | |||
kbenson | psch: Looking at the highlights reel there now, it doesn't remind me too much of youtube, so if it looked like that, I guess I just assumed and let my mind fill in the details I wasn't paying attention to. | ||
pippo | o/ #perl6! | ||
20:37
pippo left
|
|||
colomon | :( | 20:38 | |
dalek | kudo/nom: 9862a14 | lizmat++ | src/Perl6/ (2 files): Make $_ default to Any (fixes #123175) |
||
synbot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123175 | ||
20:39
domidumont left
|
|||
bobkare | Is there an easy way to see what multi dispatch candidates are considered for an operator? | 20:39 | |
psch | m: class A { proto method f { callframe.say; {*} }; multi method f { callframe.say } }; A.f | ||
camelia | rakudo-moar c2c8dc: OUTPUT«CallFrame.new(level => 2, annotations => {:file("/tmp/QGPBVra9JQ"), :line("1")}<>, my => EnumMap.new(:RETURN(Mu), "\$!" => Mu, "\&*CURRENT_DISPATCHER" => Mu, :CURRENT_DISPATCH_CAPTURE(Mu), "\&?ROUTINE" => Mu, "\$_" => Mu, "\%_" => Mu, :self(Mu), "\$*DISPAT…» | ||
psch | ehh... | 20:40 | |
m: class A { proto method f { callframe.level.say; {*} }; multi method f { callframe.level.say } }; A.f | |||
camelia | rakudo-moar c2c8dc: OUTPUT«22» | ||
kbenson | skids: interestingly, wrapping the await in a "for 1..1 {}" seems to prevent the problem | ||
dalek | ast: 4499063 | lizmat++ | S (2 files): Fix faulty tests now $_ default to Any |
||
ast: 6afe651 | lizmat++ | S0 (3 files): Skip tests that fail now $_ defaults to Any These were previously either todo or working for the wrong reason, I think, since calling *any* (even non-existing methods) on Nil, will give you Nil and not blow up. |
|||
lizmat | $ 6 '.say' | 20:41 | |
(Any) | |||
psch | lizmat++ | ||
preyalone | Yay! Here's a Cisco password encrypter/decrypter in Perl 6: github.com/mcandre/ios7crypt/blob/...S7Crypt.pm | 20:42 | |
skids | kbenson: Got just 'await (1,2,3,4).map: {start { 1; }}' to fail. So it isn't IO. | 20:43 | |
FROGGS | preyalone: nice collection of languages :o) | 20:46 | |
lizmat | m: .WHAT .say # I wonder how hard it would be to *not* make this a TTIAR but instead just say (Any) | 20:47 | |
camelia | rakudo-moar c2c8dc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/glSas6RhKITwo terms in a rowat /tmp/glSas6RhKI:1------> 3.WHAT7⏏5 .say # I wonder how hard it would be t expecting any of: infix infix stopper statement end…» | ||
FROGGS | though I probably would: my $encrypted = $password.chars.map: (*.ord +^ @xlat[($seed++) % $xlat_len]).fmt("%02x"); | 20:48 | |
lizmat: implicit unspace? | |||
lizmat | yes | ||
FROGGS | you'd probably pleas [Tux] but perhaps not many others :o) | 20:49 | |
lizmat | I mean, that's the only real big thing, grammar wise, I don't like about Perl 6 | ||
m: .WHAT . say # we handle this already differently | |||
camelia | rakudo-moar c2c8dc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ImRkTdX7NzUnsupported use of . to concatenate strings; in Perl 6 please use ~at /tmp/ImRkTdX7Nz:1------> 3.WHAT . 7⏏5say # we handle this already differentl» | ||
psch | that's the same bump as «$foo\n .bar\n .baz» isn't it? | 20:50 | |
lizmat | yup, it would be | ||
std: .WHAT .say | |||
camelia | std 28329a7: OUTPUT«5===SORRY!5===Method call found where infix expected (change whitespace?) at /tmp/KD8Qmrr28I line 1:------> 3.WHAT7⏏5 .say expecting any of: infix or meta-infix infixed functionParse failedFAILED 00:00 136m» | ||
FROGGS | I can see that breaking up method call chains might make the code look nicer, though I dunno about the consequences | 20:51 | |
lizmat | std: .WHAT . say | 20:52 | |
camelia | std 28329a7: OUTPUT«5===SORRY!5===Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/3hm5exE4Eb line 1:------> 3.WHAT . 7⏏5sayParse failedFAILED 00:00 135m» | ||
lizmat | the former is not up to std, in any case :-) | ||
20:53
kaare_ left
|
|||
psch | i suspect it'd be in EXPR, which is scary :P | 20:53 | |
kbenson | skids: same here, and on the very latest version, rebuilt after lizmat's commit | 20:54 | |
japhb | Greetings, gentlebeings ... | 20:55 | |
psch | o/ japhb | ||
japhb returns from nice (but short) vacation | |||
vendethiel will try to write some kind of quickcheck lib in perl6 tomorrow, given enough time between classes | 20:56 | ||
kbenson | O/ | ||
japhb | o/ | ||
So what have you broken this time, kbenson? :-) | |||
vendethiel | \o japhb | ||
kbenson | japhb: oh, just await... | ||
japhb | Nothing important then ... ;-) | ||
kbenson | hehe | 20:57 | |
20:57
FROGGS left
|
|||
japhb | In all seriousness, what's the break? Link? | 20:57 | |
kbenson | m: await (1,2,3,4).map: { start { .say } } | 20:59 | |
camelia | rakudo-moar c2c8dc: OUTPUT«1324Unhandled exception: Cannot invoke this object (REPR: Null) at <unknown>:1 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:23653 (/home/camelia/rakudo-inst-2/share…» | ||
japhb | Ewww. Yeah, I've seen that. | ||
Sadly, that particular snippet is rather behavior-dense (meaning, there's actually quite a bit of code that gets executed to run it), making it easy to show and hard to debug. :-( | 21:00 | ||
kbenson | but it's not consistent, so it's some race condition | ||
japhb | Yeah. | 21:01 | |
I started work a while ago to add tests in nqp for the concurrency primitives, but I did not complete the task. Worth continuing with that, methinks. | |||
Also perl6-bench needs more concurrency stress tests. | |||
21:02
lizmat_ joined
|
|||
lizmat_ | removing the .say seems to not break stuff anymore | 21:02 | |
21:02
lizmat left
|
|||
lizmat_ | hmmm.... break it less often | 21:02 | |
21:03
cognominal joined
|
|||
kbenson | lizmat_: It does, just much less often | 21:03 | |
lizmat_ | indeed :-( | ||
21:03
lizmat_ is now known as lizmat
|
|||
[Coke] | m: 42\ .say | 21:04 | |
camelia | rakudo-moar c2c8dc: OUTPUT«42» | ||
kbenson | skids++ btw for the golfed version that causes the error | 21:05 | |
japhb | skids++ # Bug repro golf is best golf | 21:06 | |
kbenson | japhb: yes on tests :) | ||
brrt | i'm positively surprised by the quality of doc.perl6.org | ||
lizmat | seems to happen inside reification | 21:08 | |
[ptc] | brrt: you should mention that to moritz++, he's the driving force behind doc.perl6.org | 21:10 | |
lizmat | m: await (1,2,3,4).map: { start { sleep .05; .say } } | ||
camelia | rakudo-moar c2c8dc: OUTPUT«(signal SEGV)34» | ||
brrt | .tell moritz that doc.perl6.org is awesome. moritz++ | ||
yoleaux | brrt: I'll pass your message to moritz. | ||
lizmat | this golf seems to consistently segfault | 21:11 | |
m: await (1,2,3,4).map: { start { sleep .05; .say } } # segv? | |||
camelia | rakudo-moar c2c8dc: OUTPUT«1324» | ||
lizmat | m: await (1,2,3,4).map: { start { sleep .05; .say } } # segv? | ||
camelia | rakudo-moar c2c8dc: OUTPUT«(signal SEGV)» | ||
grondilu | m: say (my @ = []).perl; # what | ||
camelia | rakudo-moar c2c8dc: OUTPUT«[[]]<>» | ||
lizmat | m: await (1,2,3,4).map: { start { sleep .05; .say } } # segv? | ||
camelia | rakudo-moar c2c8dc: OUTPUT«(signal SEGV)» | ||
lizmat | m: await (1,2,3,4).map: { start { sleep .05; .say } } # segv? | ||
camelia | rakudo-moar c2c8dc: OUTPUT«1342» | ||
lizmat | m: await (1,2,3,4).map: { start { sleep .05; .say } } # segv? | ||
camelia | rakudo-moar c2c8dc: OUTPUT«4231Unhandled exception: Cannot invoke this object (REPR: Null) at <unknown>:1 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:23653 (/home/camelia/rakudo-inst-2/share…» | ||
grondilu | m: say (my @ = []).perl; # what's with the <> ?? | ||
camelia | rakudo-moar c2c8dc: OUTPUT«[[]]<>» | ||
lizmat | m: await (1,2,3,4).map: { start { sleep .05; .say } } # segv? | ||
camelia | rakudo-moar c2c8dc: OUTPUT«3421Unhandled exception: Cannot invoke this object (REPR: Null) at <unknown>:1 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:23653 (/home/camelia/rakudo-inst-2/share…» | ||
lizmat | ah well... :-( | ||
21:11
skids left
|
|||
psch | grondilu: it's the generic zen-slice/decont | 21:12 | |
m: say (my $ = []).perl | |||
camelia | rakudo-moar c2c8dc: OUTPUT«[]» | ||
psch | grondilu: there's some controversity about using <> for that | ||
PerlJam | psch: nah, I think TimToady invoked rule #1 on it. :) | 21:13 | |
psch | PerlJam: oh. it seemed to me that he went with it because it already worked | ||
PerlJam: i don't mind it though | |||
lizmat | m: await (1,2,3,4,5).map: { start { sleep .05; .say } } # segv? | 21:14 | |
camelia | rakudo-moar c2c8dc: OUTPUT«34251» | ||
PerlJam | it already worked and no one came up with a better idea that TimToady liked. | ||
lizmat | grrr, that consistently segfaults for me | ||
psch | PerlJam: fair 'nuff :) | ||
grondilu | m: say [1, 2] Z* [3, 4] | 21:15 | |
camelia | rakudo-moar c2c8dc: OUTPUT«4» | ||
grondilu | ^is that ok? | ||
lizmat has done enough damage today and tries to sleep more than .05 before driving to Berlin tomorrow | 21:16 | ||
PerlJam | lizmat: locally I get one of four outcomes so far 1) it works 2) SEGV 3) "Unhandled exception: Cannot call say(Int); none of these signatures match" and 4) "Unhandled exception: Cannot invoke this object (REPR: Null)" | 21:17 | |
[Coke] | sleep good. | ||
psch doesn't think lizmat++ did damage | |||
also, good night lizmat \o | |||
21:18
vytas joined
|
|||
RabidGravy | is this related to the | 21:19 | |
m: (1,2,3,4,5).map: { return } | 21:20 | ||
camelia | rakudo-moar 9862a1: OUTPUT«Unhandled exception: Cannot look up attributes in a type object at src/gen/m-CORE.setting:9642 (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm::116) from src/gen/m-CORE.setting:9632 (/home/camelia/rakudo-inst-1/share/perl6/ru…» | ||
RabidGravy | that someone pointed out last night? | ||
PerlJam | dunno, but I'd guess not. | 21:21 | |
psch | m: { return }() | ||
camelia | ( no output ) | ||
TimToady | m: say [1, 2]<> Z* [3, 4]<> | ||
camelia | rakudo-moar 9862a1: OUTPUT«3 8» | ||
PerlJam | (no rationale, just my gut) | ||
TimToady | grondilu: your Z* is just adding the .elems of the two arrays | 21:22 | |
grondilu | indeed, but I was not sure that was ok with spec | ||
it does make sense though | |||
TimToady | yes, they are list infixes, which pay attention to containerization | ||
unlike hypers, which are on objects rather than lists | 21:23 | ||
grondilu | it was not used in rosettacode.org/wiki/Cholesky_decom...on#Perl_6, I fixed it. | ||
21:23
rurban_ left
|
|||
cognominal | m: my $rx-a = rx/a/; say 'a' ~~ m/$a/ # how to use a regex as part of another one? I expected this to match | 21:24 | |
camelia | rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ns8vxnzxoBVariable '$a' is not declaredat /tmp/Ns8vxnzxoB:1------> 3my $rx-a = rx/a/; say 'a' ~~ m/$a7⏏5/ # how to use a regex as part of anoth» | ||
cognominal | oops | ||
grondilu | TimToady: don't you think there should be a basic support for linear algebra in the core, eventually? | ||
21:24
lichtkind left
|
|||
grondilu | at least matrix algebra and inversion that is. | 21:24 | |
cognominal | it does, tripped by the non strict :( | ||
TimToady | m: my @a = 1,2; my @b = 3,4; say @a[0,1] Z* @b[0,1] | 21:25 | |
camelia | rakudo-moar 9862a1: OUTPUT«3 8» | ||
TimToady | I don't think you need the [] in that RC entry | ||
grondilu | I tried without and got wrong numerical results. | ||
TimToady | slices are already deconted, as far as Z* is concerned | ||
well, see ^^, which shows slices are not conted | 21:26 | ||
grondilu | but in the RC the arrays are itemized. | ||
it's more like my @a = [ 1, 2] ; ... | |||
TimToady | oh, wait, that's AofA there | ||
so yeah, you need the extra [], nevermind | 21:27 | ||
21:27
Rounin left
|
|||
TimToady | grondilu: it can perhaps be more clearly written as (@L[$i;*] Z* @L[$j;*]) | 21:32 | |
21:32
brrt left
|
|||
grondilu is not used to the semicolons there yet. | 21:33 | ||
21:33
espadrine joined
|
|||
grondilu | it looks better indeed | 21:33 | |
TimToady | unfortunately that notation doesn't work on all the other [][], just the first @L lvalue | 21:35 | |
dunno whether that's a bug or not, but seems likely | 21:36 | ||
I could understand it not autovivifying right, but why the @L[$j][$j] can't turn into @L[$j;$j] is a puzzler | |||
cognominal | m: my $rx = rx/(a)/; say 'a' ~~ $rx; say '--'; say 'a' ~~ m/$rx/; | 21:46 | |
camelia | rakudo-moar 9862a1: OUTPUT«「a」 0 => 「a」--「a」» | ||
21:47
rmgk left
|
|||
TimToady | grondilu: @L[$i;0..$j] Z* @L[$j;0..$j] or so, and then you can lose the subscript slice | 21:47 | |
21:47
rmgk joined
|
|||
cognominal | I nailed my problem. The captures from the included regex is not carried over into the composed regex. I don't know what the specs say. | 21:47 | |
psch | m: my $rx = rx/(a)/; say 'a' ~~ $rx; say '--'; say 'a' ~~ m/<$rx>/; | ||
camelia | rakudo-moar 9862a1: OUTPUT«「a」 0 => 「a」--「a」» | ||
psch | hm, that's not it | 21:48 | |
TimToady | m: my $rx = rx/(a)/; say 'a' ~~ $rx; say '--'; say 'a' ~~ m/<inner=$rx>/; | 21:49 | |
camelia | rakudo-moar 9862a1: OUTPUT«「a」 0 => 「a」--「a」 inner => 「a」 0 => 「a」» | ||
cognominal | yea | ||
grondilu | TimToady: I wrote that first, but not factoring the 0..$j seemed very inelegant. | ||
psch | related to #111518? | 21:50 | |
synbot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=111518 | ||
21:50
RabidGravy left
|
|||
TimToady | well, either size can take the 0..$j, and the other side * | 21:50 | |
*side | |||
grondilu | oh yeah | ||
TimToady | but I don't think it's inelegant to repeat that | ||
DRY is just a rule of thumb | |||
sometimes it's better to show the parallisms | 21:51 | ||
and I think that overrules DRY here | |||
cognominal | TimToady++ | ||
grondilu | DRY? | ||
TimToady | or say my \range = 0..$j; | ||
PerlJam | S99:DRY | ||
synbot6 | Link: design.perl6.org/S99.html#DRY | ||
TimToady | Don't Repeat Yourself | ||
grondilu | ok | ||
PerlJam | huh ... S99 doesn't mention DRY' | 21:52 | |
TimToady | well, not our concept originally | ||
cognominal | The necessity of <inner=$rx> makes composition quite complex though. | 21:53 | |
PerlJam | still, S99 mentions lots of thigns we didn't come up with, but use all the time. | ||
grondilu | well, that' LTA | ||
:) | |||
TimToady | it's TLA at any rate... | ||
cognominal: most of our composition is not run-time composition | 21:54 | ||
in which case it just looks like <inner> | |||
so don't use <$rx> unless you're forced to; inheritance and mixins work much better | 21:55 | ||
dalek | ecs: 5b1cef7 | PerlJam++ | S99-glossary.pod: Add DRY |
||
21:56
Akagi201_ joined
|
|||
cognominal | ok. still slightly disappointed. probably don't get the big picture. | 21:56 | |
TimToady | m: my regex inner { (a) }; say 'a' ~~ m/<inner>/; | ||
camelia | rakudo-moar 9862a1: OUTPUT«「a」 inner => 「a」 0 => 「a」» | ||
cognominal | probably a case where the implementor did not want to suffer in place of the user :) | 21:57 | |
TimToady | or you don't have to use grammars, with a lexically scoped regex method | ||
we tend to optimize for declarations over operations, but the declarations are really just operations underneath that usually happen at compile time, but don't have to | 21:58 | ||
cognominal | I agree on that. | 21:59 | |
TimToady | m: my $f = 3 % 0; say $f.exception.backtrace | ||
camelia | rakudo-moar 9862a1: OUTPUT«Earlier error: Divide by zero using infix:<%> in file Who Knows? at line Beats Me!Type check failed for return value; expected 'Int' but got 'Failure' in any return_error at src/vm/moar/Perl6/Ops.nqp:639 in sub infix:<%> at src/gen/…» | ||
atweiden | i have a main Nightscape class that stores an instance of Nightscape::Config in the variable $conf: github.com/atweiden/nightscape/blo...cape.pm#L9 | 22:00 | |
during parsing, I want to access $Nightscape::conf | |||
i am able to run an unqualifed Nightscape.perl from within my parser's Action.pm class, which i take to mean the Nightscape class has been imported successfully | |||
however, i am unable to access the value of $conf from Actions.pm (here): github.com/atweiden/nightscape/blo...ons.pm#L67 | |||
TimToady | er, I wanted to call .exception on the failure | ||
cognominal | But is there a rational for my initial expression not to work as expected (by me)? | ||
atweiden | $conf is being set, because I print its contents to console before parsing | ||
TimToady | cognominal: we never capture a subrule unless it begins with alphanumeric | 22:01 | |
cognominal | anyway, TimToady solved my particular problem. But I always tend it to think as a particular instance of a more general one. | 22:02 | |
TimToady | so <$rx> will never capture | ||
it's a simple rule that prevents you from having to memorize a list of which assertions will capture | |||
cognominal | ok, so, at least, that's a deliberate thing. | 22:03 | |
psch | atweiden: Nightscape might be imported, but $conf isn't exported by it | ||
cognominal | TimToady, thx | 22:04 | |
TimToady | m: my \inner = rx/(a)/; say 'a' ~~ inner; say '--'; say 'a' ~~ m/<inner>/; | ||
camelia | rakudo-moar 9862a1: OUTPUT«「a」 0 => 「a」--No such method 'inner' for invocant of type 'Cursor' in method match at src/gen/m-CORE.setting:7665 in block <unit> at /tmp/gAmBvDrOnb:1» | ||
psch | m: module A { our $foo = "bar" }; class A::B { method quux { say $A::foo } }; A::B.quux # as here | ||
camelia | rakudo-moar 9862a1: OUTPUT«bar» | ||
psch | atweiden: note that $foo is qualified there | ||
TimToady | m: module A { our $foo = "bar" }; class A::B { method quux { package A { say $foo } } }; A::B.quux | 22:05 | |
camelia | rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u2dVnAeBWjVariable '$foo' is not declaredat /tmp/u2dVnAeBWj:1------> 3::B { method quux { package A { say $foo7⏏5 } } }; A::B.quux expecting any of: postfix» | ||
atweiden | psch: it isn't? how can i access its value here github.com/atweiden/nightscape/blo...ape.pl#L31 | ||
but not in Actions.pm | 22:06 | ||
cognominal | whoa, TimToay provides the rule and the way to defeat it even if that eventually defeats the compiler | ||
TimToady | m: module A { our $foo = "bar" }; class A::B { method quux { package GLOBAL::A { say $foo } } }; A::B.quux | ||
camelia | rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MzX0xAMyOYRedeclaration of symbol Aat /tmp/MzX0xAMyOY:1------> 3s A::B { method quux { package GLOBAL::A7⏏5 { say $foo } } }; A::B.quux expecting any of: generic role» | ||
psch | atweiden: you're qualifying it there | ||
m: module A { our $foo is export = "bar" }; class A::B { import A; method quux { say $foo } }; A::B.quux # an alternative | |||
camelia | rakudo-moar 9862a1: OUTPUT«bar» | ||
TimToady | m: module A { our $foo = "bar" }; class A::B { method quux { package A { our $foo; say $foo } } }; A::B.quux | ||
camelia | rakudo-moar 9862a1: OUTPUT«(Any)» | ||
psch | atweiden: note there it «is export» | ||
TimToady | m: module A { our $foo = "bar" }; class A::B { method quux { package GLOBAL::A { our $foo; say $foo } } }; A::B.quux | ||
camelia | rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7trUaadlTFRedeclaration of symbol Aat /tmp/7trUaadlTF:1------> 3s A::B { method quux { package GLOBAL::A7⏏5 { our $foo; say $foo } } }; A::B.quux expecting any of: generic role» | ||
psch | atweiden: and it's imported explicitly as well, in my last example | 22:07 | |
atweiden | psch: i see | ||
is it because Actions.pm doesn't directly `use Nightscape`? | |||
TimToady | m: module A { our $foo = "bar" }; class A::B { method quux { module GLOBAL::A { our $foo; say $foo } } }; A::B.quux | ||
camelia | rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E_A2aqqQqzRedeclaration of symbol Aat /tmp/E_A2aqqQqz:1------> 3ss A::B { method quux { module GLOBAL::A7⏏5 { our $foo; say $foo } } }; A::B.quux expecting any of: generic role» | ||
TimToady | modules shouldn't care if they're re-opened, I don't think | ||
psch | atweiden: that's my understanding, yes | 22:08 | |
TimToady | std: module A { our $foo = "bar" }; class A::B { method quux { module GLOBAL::A { our $foo; say $foo } } }; A::B.quux | ||
camelia | std 28329a7: OUTPUT«5===SORRY!5===Illegal redeclaration of symbol 'GLOBAL::<A>' (from line 1) at /tmp/rt18pNMeWC line 1:------> 3s A::B { method quux { module GLOBAL::A 7⏏5{ our $foo; say $foo } } }; A::B.quuxCheck failedFAILED 00:00 139m» | ||
TimToady | hmm | ||
cognominal | I probably need to write a code fuzzer that feed camelia as a way to probe TimToady process of thinking. :) | ||
timotimo | t.h8.lv/p6bench/2015-04-15-virtual_...props.html - i wonder if i did anything wrong to get such a terrible result :\ | 22:09 | |
22:09
prammer left
22:10
yqt left,
mohij left
|
|||
TimToady fuzzes into a nap & | 22:10 | ||
atweiden | psch: adding `is export` to $conf in Nightscape.pm didn't make a difference | 22:11 | |
psch | atweiden: you'd still have to «use Nightscape» | 22:12 | |
cognominal | In fact the rule makes sometimes a lot of sense, I do a grep then a map using the same $rx. I need the capture(s) in the second but not in the first | ||
psch | atweiden: although i think qualifying your access might look neater, e.g. «Nightscape::<$conf>» or somesuch | ||
22:12
Sqirrel left
|
|||
atweiden | if i `use Nightscape` from Actions.pm, i get "Circular module loading detected involving module 'Nightscape'" | 22:13 | |
i believe Nightscape is already imported, because i can do say Nightscape.perl | |||
psch | oh, right. so it's not only neater but also workier to qualify there | ||
m: module A::B { sub f { say A.perl } }; A::B::f() | |||
camelia | rakudo-moar 9862a1: OUTPUT«Could not find symbol '&f' in method <anon> at src/gen/m-CORE.setting:16122 in any find_method_fallback at src/gen/m-Metamodel.nqp:2908 in any find_method at src/gen/m-Metamodel.nqp:1052 in block <unit> at /tmp/qDVkYnASp1:1» | ||
psch | hrmpf | ||
m: module A::B { sub f { say A.perl } }; A::B.f | 22:14 | ||
camelia | rakudo-moar 9862a1: OUTPUT«No such method 'f' for invocant of type 'A::B' in block <unit> at /tmp/FoOasDeXw9:1» | ||
psch | m: class A::B { sub f { say A.perl } }; A::B.f | ||
camelia | rakudo-moar 9862a1: OUTPUT«No such method 'f' for invocant of type 'A::B' in block <unit> at /tmp/quF6rRoBWO:1» | ||
psch | arg | ||
m: class A::B { method f { say A.perl } }; A::B.f | |||
camelia | rakudo-moar 9862a1: OUTPUT«A» | ||
psch | atweiden: B knows A, but B doesn't know what's in A | ||
atweiden: except if it's our and you qualify with the package name | 22:15 | ||
m: module A { our $foo = "bar" }; class A::B { method f { say A.perl; say A::<$foo> } }; A::B.f; | |||
camelia | rakudo-moar 9862a1: OUTPUT«Abar» | ||
psch | (OUTER shenannigans not withstanding) | ||
m: module A { our $foo = "bar" }; class A::B { method f { say A.perl; say $foo } }; A::B.f; # this dies | 22:17 | ||
camelia | rakudo-moar 9862a1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u9Cq2s7P2yVariable '$foo' is not declaredat /tmp/u9Cq2s7P2y:1------> 3s A::B { method f { say A.perl; say $foo7⏏5 } }; A::B.f; # this dies expecting any of: postfix» | ||
psch | atweiden: i hope i'm being helpful. i'm trying to track down a bug on the side :) | ||
22:19
BenGoldberg joined
22:26
bjz left
22:28
gfldex left
22:29
adu left
|
|||
atweiden | i'm still a bit confused. would Actions.pm get its own instance of Nightscape? | 22:32 | |
i can set $Nightscape::conf from Actions.pm | |||
it's empty if i don't do that, even though i set its value and printed its value to console before parsing with Actions.pm | |||
psch | m: class A { our $f; method set-f { $f = "foo" } }; class A::B { method say-f { say A::<$f> } }; A.set-f; A::B.say-f | 22:34 | |
camelia | rakudo-moar 9862a1: OUTPUT«foo» | ||
psch | atweiden: fwiw, i don't see any occurence of the string "conf" in Nightscape/Parser/Actions.pm | 22:35 | |
atweiden: so i'm having a bit of trouble following what exactly you're trying | |||
22:35
colomon left
|
|||
japhb | .ask TimToady What was the purpose of rakudo commit 872d74cd2c320217894a3b0d5331b4c625b13022 (don't cache Rat literals)? | 22:35 | |
yoleaux | japhb: I'll pass your message to TimToady. | ||
atweiden | psch: ix.io/hT9 | 22:36 | |
22:38
espadrine left
22:40
eli-se left,
colomon joined
22:45
grondilu left
|
|||
psch | atweiden: TOML doesn't have a provides section in its META.info, which i think is why i can't try Nightscape locally | 22:46 | |
(i don't know if that's your module, though) | |||
atweiden | it's at github.com/mouq | ||
psch | ah, ok | ||
22:47
colomon left
|
|||
psch | .tell Mouq TOML doesn't have provides yet, FYI | 22:47 | |
yoleaux | psch: I'll pass your message to Mouq. | ||
22:47
colomon joined
|
|||
psch | atweiden: i don't immediately see the problem, tbh | 22:47 | |
atweiden: afaict you mkconfig and then mkjournal, and the latter needs $conf set somewhere in its calls | 22:50 | ||
but it's not set when you get where it's needed? | |||
fwiw, i'm not sure «our»-scope variables are the right idea there | 22:53 | ||
but that's probably just a style difference, and not really cause for concern | 22:54 | ||
m: class A { our $f }; class A::B { method foo { A::<$f> = "bar" } }; class A::C { method bar { say A::<$f> } }; A::B.foo; A::C.bar # this is what i think should happen | 23:06 | ||
camelia | rakudo-moar 9862a1: OUTPUT«bar» | ||
psch | 'cause an action class isn't really different than a normal class | ||
but maybe grammars mess with that somehow :/ | |||
23:06
colomon left
|
|||
psch | atweiden: fwiw, the code as-is on github "works" with an empty journal (if that can be called "works") | 23:06 | |
23:07
colomon joined
|
|||
psch | atweiden: i'm also not really making sense of the ~40 commented lines in the paste you posted | 23:07 | |
(which is probably partly cause by the local time and partly by me having very little insight into what you're trying) | |||
atweiden: the commented lines in your paste seem to be unsure about what Nightscape::<$conf> actually is | 23:15 | ||
i.e. there's quite a few lines that treat it as a hash and want to access keys, but Nightscape::Config doesn't do Associative | 23:16 | ||
aside from that i can't really make sense of it without test data | 23:18 | ||
atweiden | psch: yea, it's pseudo code | 23:21 | |
psch | atweiden: right, removing those lines runs fine, but that's probably because the actions don't get called because i don't have anything to parse :) | 23:22 | |
atweiden | oh, point it to examples/sample.transactions | ||
PERL6LIB=lib bin/nightscape.pl examples/sample.transactions | 23:23 | ||
psch | atweiden: right, that gets me far enough that i'd have to guess what your pseudocode should do :) | 23:28 | |
atweiden: i'm not sure if subparse works with :actions, but i have a hunch it does | 23:29 | ||
atweiden: i'd write tests for your bottom-rules with their actions and see if that gets you further | |||
(and maybe implement stuff like Nightscape::<$conf>.prices.lookup too ;) ) | 23:30 | ||
i definitely need sleep, good luck further :) | 23:31 | ||
psch & | |||
23:39
raiph joined
|