»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:12
cdg left
|
|||
MadcapJake | What does this mean: Failed to find '/home/jrusso/github/p6-myhtml/lib/.precomp/E209AC19296648C23F32E1304703960AEA5185DD.1458962489.1342/26/26D86617AD0FBBC7DA429739A89F6D15AFBB9B34' while trying to do '.modified' | 00:14 | |
00:16
Herby_ left
|
|||
ZoffixWin has no idea | 00:18 | ||
What code generates that error? | |||
MadcapJake | perl6 -c on my module files | 00:21 | |
or using my module inside a REPL | 00:22 | ||
ZoffixWin | That's not code :D | 00:28 | |
ZoffixWin may be too drunk to be helpful tho. | |||
I'm just curious in what context .modified is called in.... | 00:29 | ||
00:31
kerframil joined
00:37
grassass joined
00:52
kurahaupo joined
|
|||
ZoffixWin | Oh damn. Bitching on the Internet actually is productive sometimes: twitter.com/arlendotio/status/7233...9255785472 | 00:56 | |
Wonder what I can do with a 20-core/98304MB-RAM box for a few hours... | 00:57 | ||
01:14
dolmen left
|
|||
ugexe | my guess is .modified is used to get the file modification time to decide if a precomp can be invalidated | 01:15 | |
01:15
molaf left
01:24
adu joined
|
|||
ugexe | MadcapJake: RAKUDO_MODULE_DEBUG=1 should at least show you which module getting precomp'd causes that | 01:25 | |
01:27
molaf joined
01:28
BenGoldberg joined
01:29
uruwi joined
01:37
kurahaupo left
01:51
adu left
01:52
johndau joined
01:57
johndau left
01:58
vendethiel joined
02:14
Herby_ joined
|
|||
Herby_ | o/ | 02:14 | |
ZoffixWin | \o | ||
MadcapJake | ugexe: thanks, I did figure out which file through that debug var and it looks like it was failing when trying to load the precomp'd file. So I deleted the .precomp dir and it works fine now. strange! | 02:17 | |
02:32
kid51 left,
noganex_ joined
02:35
noganex left
02:39
xiaomiao left
02:43
xiaomiao joined
02:48
johndau joined
02:54
tomboy64 joined
02:59
astj joined
03:03
vendethiel left,
mtj_ left
03:04
petercommand left,
au left,
sunnavy_ left,
agentzh left,
El_Che joined
03:12
jeek left,
jeek joined,
jeek left,
jeek joined,
jeek left
03:13
jeek joined
03:14
jeek left,
aries_liuxueyang left
03:15
jeek joined,
aries_liuxueyang joined,
jeek left,
jeek joined
03:16
jeek left
03:17
jeek joined
03:23
mattp_ left,
sue_ joined,
mattp_ joined
03:31
mtj_ joined
03:35
au joined,
sunnavy_ joined,
petercommand joined
03:37
orcudy joined
|
|||
orcudy | Why does this re match "/home//"? RE: m/^\/home\/[^\\]/ | 03:38 | |
I want it to match anything but '\' at the end. | 03:39 | ||
03:40
kaare_ joined,
johndau left
03:42
johndau joined
03:43
agentzh joined
03:45
perlawhirl joined
|
|||
kerframil | why wouldn't it? the final character of the string you are testing is '/', not '\' | 03:45 | |
perlawhirl | orcudy: character classes now use a different syntax: <-[ ... ]> | 03:46 | |
m: 「/home//」 ~~ /^\/home\/<-[^\\]>/ | |||
camelia | ( no output ) | ||
perlawhirl | m: say 「/home//」 ~~ /^\/home\/<-[^\\]>/ | ||
camelia | rakudo-moar 463e75: OUTPUT«「/home//」» | ||
perlawhirl | <[ ... ]> is a normal char class & <-[ ... ]> is a negated char class | ||
03:46
johndau left
|
|||
perlawhirl | oops... that ^ is not even needed in there anymore | 03:47 | |
m: say 「/home//」 ~~ /^\/home\/<-[\\]>/ | |||
camelia | rakudo-moar 463e75: OUTPUT«「/home//」» | ||
perlawhirl | or if you don't like to backspace your backspaces... you can quote them instead | ||
m: say 「/home//」 ~~ /^\/home\/<-['\']>/ | |||
camelia | rakudo-moar 463e75: OUTPUT«「/home//」» | ||
03:48
grassass left
|
|||
ZoffixWin | m: say 「/home//」 ~~ m{^ '/home/' <-[\\]>} | 03:48 | |
camelia | rakudo-moar 463e75: OUTPUT«「/home//」» | ||
ZoffixWin | orcudy, it matches because '/' fits the "anything but '\' at the end" you said you wished to match | 03:49 | |
03:49
johndau joined,
sue_ left
|
|||
perlawhirl thinks he meant "doesn't" | 03:50 | ||
orcudy | kerframil: damnit...you are right. I want '/' not '\'. Thanks for the look | ||
perlawhirl | ah | ||
ZoffixWin | \o/ | ||
03:51
agentzh left
|
|||
dalek | c: d004984 | (Tom Browder)++ | doc/Language/testing.pod: add note about Test being a core module; add example of a user-entered tolerance for numeric testing |
03:51 | |
c: dad4e1d | (Tom Browder)++ | doc/Language/testing.pod: correct module terminology; correct 'is-approx' second arg name |
|||
c: 4304b00 | (Tom Browder)++ | doc/Language/traps.pod: correct spelling |
|||
c: 9c98089 | (Tom Browder)++ | / (18 files): Merge remote-tracking branch 'upstream/master' |
|||
c: 6a9a553 | (Tom Browder)++ | doc/Language/testing.pod: try to improve second form of the is-approx test; correct spelling |
|||
c: f0bdcca | (Tom Browder)++ | doc/Language/testing.pod: add missing word |
|||
c: 3c3dbc4 | (Tom Browder)++ | doc/Language/t (2 files): Merge pull request #452 from tbrowder/master add example of a user-entered tolerance; emphasize Test is a core module |
|||
ZoffixWin | weeeee | ||
03:51
agentzh joined
03:52
azawawi joined
|
|||
azawawi | hi | 03:52 | |
.seen RabidGravy | |||
yoleaux | I saw RabidGravy 21 Apr 2016 21:46Z in #perl6: <RabidGravy> I considered making it a module but wasn't motivated sufficiently | ||
azawawi | .tell RabidGravy Please take a look at github.com/jonathanstowe/JSON-Marshal/issues/3 | ||
yoleaux | azawawi: I'll pass your message to RabidGravy. | ||
03:53
nige1 joined
|
|||
MadcapJake | what am I supposed to do with this error: Native call expected return type with CPointer representation, but got a CStruct | 03:54 | |
I want it to return a CStruct, I gave it a CStruct repr class as a returns type | |||
azawawi | MadcapJake: hi. Please share code? | 04:02 | |
04:06
Cabanossi left
|
|||
MadcapJake | sub myhtml_create() returns MyHTML is native('myhtml') is export { * } | 04:06 | |
the MyHTML type is a repr<CStruct> | |||
04:07
astj left
|
|||
azawawi | github? | 04:07 | |
BenGoldberg | If you don't declare any members of MyHTML, then, as a workaround, you can probably just change the repr of MyHTML to CPointer. | 04:08 | |
azawawi | github.com/MadcapJake/p6-MyHTML? | ||
MadcapJake | BenGoldberg: well I do (not sure if really needed to or not though | 04:09 | |
azawawi: yep that's it | |||
04:09
Cabanossi joined
04:10
cpage_ left
|
|||
MadcapJake | the nativecall subs are in Raw.pm6 | 04:11 | |
04:11
cpage_ joined,
cpage_ left,
cpage_ joined
|
|||
BenGoldberg | In Raw.pm6, I see: sub myhtml_create() returns Pointer is native('myhtml') is export { * } | 04:13 | |
Change 'Pointer' there to MyHTML, and you're golden ;) | |||
04:14
Herby_ left
|
|||
azawawi | MadcapJake: installing myhtml :) | 04:15 | |
MadcapJake | check again, I'm getting this error with it as MyHTML | ||
04:15
cpage_ left
|
|||
MadcapJake | (I just quickly pushed my commits as you two were checking it out xD | 04:16 | |
azawawi | MadcapJake: does it have a deb package? | ||
MadcapJake | azawawi: I don't believe so, it's quite new. Was no trouble to build on ubuntu for me though | ||
BenGoldberg | I'm not even checking it out, just looking at the source through the web. | ||
MadcapJake | BenGoldberg: right, I mean that if you look at GH, it will show MyHTML there now :) | 04:17 | |
BenGoldberg | Yup, indeed it (now) does. After I pressed control-R, of course ;) | ||
04:17
zacts joined
04:18
zacts is now known as Guest55535
|
|||
MadcapJake | heh, strange though, why does it need a CPointer? I don't really follow the meaning of the error | 04:18 | |
oh I think I figured it out | |||
nope! lol | 04:19 | ||
04:20
BenGoldberg left
04:27
khw left
|
|||
azawawi | MadcapJake: im still there... working on it :) | 04:28 | |
MadcapJake | thanks! I think it's L13 in Tree.pm6 | 04:37 | |
azawawi | got it :) | 04:38 | |
switch to returns Pointer[MyHTML] | 04:39 | ||
and change it also in init to Pointer[MyHTML] | |||
myhtml_t* => Pointer[MyHTML] | |||
myhtml_t => MyHTML | 04:40 | ||
MadcapJake: does it work for you now? | 04:41 | ||
MadcapJake | I thought CStruct was already a Pointer to a struct | 04:43 | |
azawawi | doc.perl6.org/language/nativecall#Structs | 04:44 | |
MadcapJake | hm not really clear on that but if it works it works! | 04:47 | |
thanks azawawi! | |||
azawawi | hehe | 04:48 | |
that's my moto | |||
[Coke] | so, if folks have trouble donating, yes, let's find someone who can help fix the issues so we can get more people donating. | ||
donate.perlfoundation.org/donate.html seems to have a big paypal button | 04:49 | ||
azawawi | MadcapJake: mind you... myhtml_t seems not a struct btw | ||
04:50
ufobat joined
|
|||
ufobat | good moring | 04:51 | |
[Coke] | there is also secure.donor.com/pf012/give (why one isn't referenced on the other, can't say) | ||
azawawi | MadcapJake: nope... it is a struct | 04:53 | |
ufobat: good morning :) | |||
MadcapJake | yeah it is | ||
but actually the Pointer trick isn't working | |||
azawawi | MadcapJake: think of it, do you need the information inside the struct? | 04:54 | |
MadcapJake | and now (for some reason) my Raw interface isn't working either! 😭 | ||
04:54
astj joined
|
|||
MadcapJake | no i don't actually | 04:54 | |
azawawi | MadcapJake: then give it Pointer :) | ||
MadcapJake: think of it as 'this' or 'self' | 04:55 | ||
MadcapJake: since they do not have object state, they use pointers/structs | |||
04:55
jeek left
|
|||
azawawi | MadcapJake: if in doubt, use github.com/Skarsnik/gptrixie :) | 04:56 | |
04:56
jeek joined
|
|||
azawawi | morning nap mode in 5 seconds :) | 04:57 | |
azawawi cya | |||
04:57
azawawi left
|
|||
MadcapJake | so many different voices on how to do nativecall :P | 04:58 | |
but it turns out I really didn't need all these CStruct reprs | 04:59 | ||
.tell azawawi thanks for the help! MyHTML's api was designed to be just a bunch of functions so it really does work well with just CPointers. I think I made the switch to structs incorrectly to try and solve a bug. | 05:01 | ||
yoleaux | MadcapJake: I'll pass your message to azawawi. | ||
05:11
_notbenh joined
05:13
cpage_ joined
05:16
john51 joined,
zhmylove_ joined
05:24
cpage_ left
05:36
orcudy left
05:38
jjido joined
05:39
CIAvash joined
05:40
mcsnolte left
05:44
johndau left
05:45
johndau joined
05:46
johndau left
05:47
johndau joined
05:49
johndau left
05:50
johndau joined,
johndau left
05:51
johndau joined
05:55
_mg_ joined
05:57
xinming_ joined
|
|||
MadcapJake | AT-POS isn't working for some reason | 06:00 | |
06:00
mtj_ left
|
|||
MadcapJake | anyone got any ideas :P | 06:00 | |
06:00
agentzh left
06:01
xinming left
|
|||
psch | m: class A { method AT-POS($pos) { "foo" } }; say A.new[1] | 06:01 | |
camelia | rakudo-moar 463e75: OUTPUT«foo» | ||
psch | looks worky from here..? :) | ||
MadcapJake | lol | ||
I have @collection[0] and I've implemented AT-POS inside the class, but for some reason it's returning the @collection and just skips the subscript completely | 06:02 | ||
I have a simple say inside the method and it's never called | |||
06:02
petercommand left
06:03
xinming joined,
au left
|
|||
psch | i don't have any context, but if @collections contains objects with an overwritten AT-POS, you have to index twice | 06:03 | |
m: class A { method AT-POS($pos) { "foo" } }; say A.new[1] | |||
camelia | rakudo-moar 463e75: OUTPUT«foo» | ||
06:03
xinming_ left
|
|||
psch | m: class A { method AT-POS($pos) { "foo" } }; my @a = A.new; say @a[0][1] | 06:03 | |
camelia | rakudo-moar 463e75: OUTPUT«foo» | ||
MadcapJake | ohhhh I wanted it to store directly in @collection, I could use := then right? | 06:04 | |
psch | m: class A { method AT-POS($pos) { "foo" } }; my @a := A.new; say @a[0][1] | ||
camelia | rakudo-moar 463e75: OUTPUT«Type check failed in binding; expected Positional but got A (A.new) in block <unit> at /tmp/_wJB42lm7k line 1» | ||
06:04
sunnavy_ left
|
|||
psch | MadcapJake: maybe you just want to use $ or sigilless :) | 06:04 | |
MadcapJake | that would work you just need the Positional role | ||
06:05
vendethiel joined
|
|||
MadcapJake | m: class A does Positional { method AT-POS($pos) { "foo" } }; my @a := A.new; say @a[0] | 06:05 | |
camelia | rakudo-moar 463e75: OUTPUT«foo» | ||
06:05
johndau left
|
|||
psch | well, if the interface works out reasonable | 06:05 | |
MadcapJake | psch: thanks so much! | ||
I want users to be able to do the regular stuff they expect when using this module (I wish that it didn't require := but it's better than $ or sigilless IMO ) | 06:06 | ||
06:06
vendethiel left
|
|||
psch | i think you're setting yourself up for a FAQ there | 06:07 | |
i mean, afaiu your modules interface requires some return value to be bound instead of assigned | |||
that's a FAQ right there :) | 06:08 | ||
06:09
agentzh joined,
agentzh left,
agentzh joined
|
|||
MadcapJake | yeah I was just thinking that but it's a list of values so I'll need a FAQ either way: "you gotta assign to scalar or sigilless" or "you gotta bind to array rather than assign" | 06:09 | |
psch | that's the perils with overloading core ops i think | 06:10 | |
06:10
mtj_ joined,
au joined
|
|||
MadcapJake | yeah and the perils of wrapping C libraries :) | 06:11 | |
psch | heh, maybe that too, yeah :) | ||
06:11
sunnavy_ joined
|
|||
MadcapJake | Now I'm getting a strange error: I have a module HTML::MyHTML::Node, I've use'd it inside another module and I am getting: "Could not find symbol '&Node'" for some reason | 06:11 | |
06:11
jjido left
|
|||
sortiz | m: class A does Positional { method AT-POS($pos) { "foo" } }; my @a is A; say @a[0]; # Other form, without bind. | 06:12 | |
camelia | rakudo-moar 463e75: OUTPUT«foo» | ||
06:13
ugexe left,
khagan left
|
|||
psch | sortiz++ | 06:13 | |
MadcapJake | sortiz: but how would you handle instantiation with `is`? | ||
psch | that could give a neat SYNOPSIS | ||
oh, but inheritance of an instance, yeah | 06:14 | ||
06:14
khagan joined
|
|||
psch | m: class A does Positional { method AT-POS($pos) { "foo" } }; my @a is A.new; say @a[0]; | 06:14 | |
camelia | rakudo-moar 463e75: OUTPUT«foo» | ||
psch | well, works vOv | ||
MadcapJake | haha that's slick | ||
sortiz | m: class A does Positional {submethod BUILD { say "hi"} ; method AT-POS($pos) { "foo" } }; my @a is A; say @a[1]; | 06:15 | |
camelia | rakudo-moar 463e75: OUTPUT«hifoo» | ||
psch | sortiz: right, but new might need args | ||
or BUILD for that matter, in MadcapJakes case probably anyway | |||
sortiz | So, new is valid. | ||
MadcapJake | thinking on this and actually `is` won't work because the user doesn't actually need to import the class, it's all done via the method of the user-facing class (actually method of an attribute of the user-facing class :) | 06:16 | |
06:19
petercommand joined,
azawawi joined
|
|||
azawawi | . | 06:19 | |
yoleaux | 05:01Z <MadcapJake> azawawi: thanks for the help! MyHTML's api was designed to be just a bunch of functions so it really does work well with just CPointers. I think I made the switch to structs incorrectly to try and solve a bug. | ||
azawawi | MadcapJake: thx :) | ||
MadcapJake | azawawi: no, thank *you*! :) | 06:21 | |
I gotta get some sleep though, see ya! | |||
MadcapJake heads to bed | |||
azawawi | im back from my morning nap :) | ||
perl6 is truly 24/7 :) | |||
sortiz heads to bed too. | 06:22 | ||
azawawi is tidying perl6.org/whatever/ | |||
06:23
kaare_ left
06:24
johndau joined,
johndau left
06:26
jjido joined,
johndau joined
06:27
sortiz left
06:30
firstdayonthejob joined
06:38
nige1 left
06:39
ugexe joined
06:40
firstdayonthejob left,
mohae_ left
06:47
leont_ joined
06:51
rurban joined,
dolmen joined,
khagan left
06:52
domidumont joined,
khagan joined
06:54
jjido left
06:56
domidumont left
|
|||
moritz | jnthn++ # blog | 06:57 | |
06:57
domidumont joined
06:59
johndau left,
khagan left
07:01
johndau joined,
azawawi left
07:02
ugexe left
07:03
sno left
07:04
johndau left
07:07
bitmap left
07:12
bitmap joined
07:13
khagan joined,
brrt joined
|
|||
masak | "All complex software systems evolve from simple systems." | 07:18 | |
...I agree, but [citation needed] :P | |||
07:18
kerframil left
07:20
cpage_ joined
07:21
wamba joined
|
|||
masak | (morning, #perl6) | 07:24 | |
Perl 6 day today! \o/ | |||
ufobat | what is wrong with the signature of my first f - multi sub f($scalar){say "scalar" }; multi sub f(Int :$a, :$c){say "c"}; multi sub f(Int :$a, Str :$t, *@p){say "t"}; f( t => "a", "bar"); | ||
morning masak | |||
i assumed the 3rd f would be used, but is is the first one. i wanted to have a f with a single argument | 07:25 | ||
07:25
johndau joined
|
|||
masak | ufobat: you don't have any positionals in the latter two...? | 07:25 | |
ufobat | huh? i do? | 07:26 | |
masak | m: multi f($x) { say $x }; multi f(*@a) { say @a.elems }; f "OH HAI" | ||
camelia | rakudo-moar 463e75: OUTPUT«OH HAI» | ||
masak | rock beats scissors; actual positionals beat slurpy | ||
(I simplified your example to make this more clear) | 07:27 | ||
ufobat | but i invoke f with t=>"a", something | ||
so its a positional and something slurpy | 07:28 | ||
masak | your reply is so confusing to me that I need to ask if you are familiar with the terminology... | ||
t => "a" is not a positional, it's a named | |||
ufobat | aye! sorry, i am probably still asleep :( | 07:29 | |
07:29
ugexe joined
|
|||
ufobat | i mean | 07:29 | |
masak | your latter two multis contain only nameds and nameds+slurpy, respectively | ||
ufobat | i invoked f with a named t=> 'a', and then something slurpy | ||
masak | my original point (positionals beat slurpy) still stands | ||
how do you mean "invoked... with something slurpy"? | |||
what does that mean to you? | |||
ufobat | like in f(Str :$t, *@foo) | 07:30 | |
masak | m: sub f(*@things) { say @things.perl }; my @stuff = 1, 2, 3; f(|@stuff) | ||
camelia | rakudo-moar 463e75: OUTPUT«[1, 2, 3]» | ||
masak | ufobat: that's how you do it | ||
not with * on the caller side | |||
ufobat | i assumed when i invoke f(t => 'something', ....) it should match this signature | 07:31 | |
masak | third thing: nameds are optional by default | ||
so you *probably* want :$a! and similar | |||
otherwise, they might more often than you expect | 07:32 | ||
might match* | |||
07:33
RabidGravy joined
|
|||
ufobat | okay! so a multi sub f(Str :$t!, *@p){}; multi sub($something){}; f(t => 'bar', 'anything'); ? | 07:33 | |
masak | aye | 07:35 | |
and I'd recommend putting the nameds last in the call, unless you have a really good reason to break that convention | |||
ufobat | my first example still doesn't work | 07:39 | |
m: multi sub f($scalar) {say "scalar" };multi sub f(Int :$a, :$c!){say "c"};multi sub f(Int :$a, Str :$t!, *@p){say "t"};f(t => "a", "bar"); | |||
camelia | rakudo-moar 463e75: OUTPUT«Unexpected named parameter 't' passed in sub f at /tmp/x0jHHYuD00 line 1 in block <unit> at /tmp/x0jHHYuD00 line 1» | ||
07:40
perlawhirl left
07:43
johndau left
|
|||
Timbus_ | lotta noise in your example. maybe shrink it down to: | 07:44 | |
m: multi f($s){say "scalar"}; multi f(Str :$t!, *@p){say "t"}; f(t => 1, 2); | |||
camelia | rakudo-moar 463e75: OUTPUT«Unexpected named parameter 't' passed in sub f at /tmp/qLvIlhv3LR line 1 in block <unit> at /tmp/qLvIlhv3LR line 1» | ||
07:45
zakharyas joined
07:47
brrt left
|
|||
masak | ufobat: what Timbus++ said. when in doubt, make a smaller example that doesn't work. | 07:47 | |
ufobat: and as already said, in dispatch, positionals trump a slurpy | 07:48 | ||
07:48
brrt joined
|
|||
masak | though it's not clear to me... why the required named doesn't make the dispatch prefer the second candidate there. | 07:49 | |
hm. | |||
Timbus_ | m: multi f($s){say "scalar"}; multi f(Str :$t!, *@p){say "t"}; f(t => 1, 2, 3); | ||
camelia | rakudo-moar 463e75: OUTPUT«Cannot call f(Int, Int, Int); none of these signatures match: ($s) (Str :$t!, *@p) in block <unit> at /tmp/nCA_XU6i21 line 1» | ||
Timbus_ | oh | ||
m: multi f($s){say "scalar"}; multi f(Str :$t!, *@p){say "t"}; f(t => '1', 2, 3); | |||
camelia | rakudo-moar 463e75: OUTPUT«t» | ||
Timbus_ | k | 07:50 | |
masak | m: multi f($s){say "scalar"}; multi f(Str :$t!, *@p){say "t"}; f(t => '1', 2) | ||
camelia | rakudo-moar 463e75: OUTPUT«Unexpected named parameter 't' passed in sub f at /tmp/saPF9AcYYY line 1 in block <unit> at /tmp/saPF9AcYYY line 1» | ||
ufobat | i had a typo in my simple example and i thought it worked, sorry | ||
masak | in this case, it *could* call the second one, but doesn't. | ||
07:50
brrt left
|
|||
Timbus_ | yeah, not very awesome | 07:51 | |
masak | ufobat: this is why small examples are important ;) | ||
07:51
grondilu joined
|
|||
masak | I think I'd need jnthn++'s second opinion to be able to declare it a rakudobug... | 07:51 | |
or someone else who feels good enough at multi dispatch | |||
07:52
dolmen left
07:53
abraxxa joined,
abraxxa left
|
|||
ufobat is feeling ashamed for being confused a lot right now.. | 07:56 | ||
07:56
johndau joined
|
|||
masak | no need to feel ashamed :) | 07:57 | |
I'm confused, and proud of it! :P | |||
08:03
araujo joined
|
|||
ufobat | :-) i made coffee for everyone to get less confused | 08:04 | |
08:04
Upasaka joined
|
|||
masak | cheers | 08:05 | |
masak sips some tieguanyin | 08:06 | ||
08:09
Relsak joined
08:14
sno joined
08:15
darutoko joined
|
|||
masak | jnthn++ indeed # 6guts.wordpress.com/2016/04/21/fra...e-problem/ | 08:18 | |
08:18
buharin left
|
|||
masak | jnthn: if I understand correctly, the track you're on makes escape analysis a tad more urgent to have soon? | 08:18 | |
08:23
abraxxa joined
|
|||
masak | 1286 new-and-open perl6-queue RT tickets. I think that's a record. | 08:27 | |
masak .oO( or is it "new-or-open" ) ;) | 08:28 | ||
ufobat | one of the 1286 is mine ;) | ||
08:29
johndau left
08:31
CIAvash left
08:32
abraxxa left,
abraxxa joined
08:39
g4 joined
08:44
johndau joined
08:46
perlawhirl joined,
rindolf joined
08:47
johndau left
08:49
mtj_ left
08:50
petercommand left,
agentzh left,
sunnavy_ left
08:51
au left
08:54
perlawhirl left,
mtj_ joined
08:55
lizmat joined
08:59
kurahaupo joined
09:00
mtj_ left
09:06
kurahaupo left
09:12
agentzh joined
09:13
dolmen joined
09:14
Juerd left
09:15
Juerd joined
|
|||
leont_ | The spectest suite is an interesting testcase for my harness | 09:16 | |
09:19
sunnavy_ joined,
mtj_ joined,
au joined,
petercommand joined
09:20
bioexpress joined,
Juerd left
|
|||
bioexpress | Hello! Some perl6 routines have underscores in its name ans some have hyphens in its name. Are these (_ vs - ) arbitrary choices or is there a system behind? | 09:21 | |
09:21
Juerd joined
|
|||
RabidGravy | yes | 09:22 | |
yoleaux | 03:52Z <azawawi> RabidGravy: Please take a look at github.com/jonathanstowe/JSON-Marshal/issues/3 | ||
09:23
mimosinnet joined
09:24
abraxxa left
|
|||
Xliff | MadcapJake, CStruct -> Pointer.... I guess if it works. | 09:25 | |
Xliff wonders if that might solve his problems with libxqilla… | |||
RabidGravy | .tell azawawi it's "wont fix" the reasons it may break things include panda installing an old version of JSON::Fast, panda not understanding versioned depencies and "something screwed up with the resolution of modules" | ||
yoleaux | RabidGravy: I'll pass your message to azawawi. | ||
09:26
abraxxa joined
|
|||
RabidGravy | .tell azawawi I tested everything with the version using JSON::Fast (having upgraded JSON::Fast) and all okay | 09:26 | |
yoleaux | RabidGravy: I'll pass your message to azawawi. | ||
RabidGravy | bioexpress, specifically the underscore names are typically limited to the Meta classes and other internal thingies | 09:30 | |
so e.g. Attribute.has_accessor | |||
09:33
abraxxa1 joined,
abraxxa left
|
|||
bioexpress | RabidGravy thx! | 09:34 | |
09:34
bioexpress left
09:42
abraxxa1 left,
abraxxa joined
10:00
leont_ left
10:01
dolmen left
10:02
dolmen joined
10:03
leont_ joined
10:04
ugexe left,
khagan left,
bitmap left
10:06
bitmap joined
10:14
astj left
10:17
donaldh joined
10:20
wamba left
|
|||
jnthn | masak: Well, it's interesting. :) For the immediate case, with frames, we'll actually be assuming no escape and re-writing the world if escape happens, rather than trying to do up-front analysis. | 10:28 | |
tomboy64 | is this the right channel to ask questions about rakudo's build system? | ||
moritz | tomboy64: this or #p6dev | ||
tomboy64 shrugs well, let's try here | |||
jnthn | masak: But in a way I'm kinda paving some of the way for EA | ||
masak: I've figured that we need to be able to un-EA too as part of deopt | 10:29 | ||
masak: In a handwavy way (formalism welcome :P) in Moar, most optimizations you perform need to have a corresponding deoptimization. | |||
masak: So it's kinda a lens I guess :) | |||
tomboy64 | i'm wondering about perl6's includes, comprising the same sha1 and tinymt that moarvm wants. just moarvm tries (heuristically determined) system ones before falling back to bundled whereas perl6 just tries hardcoded system paths | 10:30 | |
in particular, where are the sha1 and tinymt implementations supposed to come from? | |||
10:31
ugexe joined,
ocbtec joined
10:32
donaldh left,
khagan joined
|
|||
moritz | tomboy64: see MoarVMs Configure.pl; it looks for sha1 in /usr/include/sha | 10:34 | |
tomboy64: there seems to be no way to use a system tinymt installation | |||
tomboy64 | moritz: i mean from which package. I am currently rebuilding the gentoo package of rakudo and locate sha1.h gives about a dozen packages owning one. | 10:35 | |
10:36
donaldh joined
|
|||
masak | jnthn: I'll have to think about that. | 10:36 | |
10:36
zakharyas1 joined
|
|||
masak | jnthn: but -- to a first approximation -- isn't undoing an escape analysis simply assuming it escapes, 'cus everything's conservatively assumed to escape by default until you analyze it? | 10:36 | |
moritz | tomboy64: well, look for one that installs in /usr/include/sha | 10:39 | |
10:39
zakharyas left
|
|||
moritz | I don't know any gentoo; on Debian I'd do apt-file search /usr/include/sha | 10:40 | |
jnthn | The sha-1 code is such a small dependency that, unless there are packaging rules otherwise, I'd just go with the bundled version. | ||
Debian is fussy on such things. Dunno about Gentoo. | |||
moritz | jnthn: but that sounds too pragmatic :-) | 10:41 | |
tomboy64 | for gentoo the rule is, if it's already available in some other package, use that other package | ||
jnthn | Yeah, that's why I don't work on build/packaging. :P | ||
tomboy64 | that applies even to java :p | ||
jnthn | GC bugs are actually less stress :P | ||
tomboy64 | (which npq also supplies, ugh) | ||
jnthn | masak: You're not thinking crazy enough ;) | 10:42 | |
masak: Deopt happens when we've already been running optimized code and realize in the middle of it that the world changed under us. | |||
ufobat | jnthn, do you have an oppinion on the signature thing, is it a bug? | 10:43 | |
jnthn | masak: At which point we switch back to the interpreted code, and have to undo transforms beyond the code | ||
10:43
ZoffixWin left
|
|||
jnthn | masak: So, if we did inlining, we have to do uninlining | 10:43 | |
10:43
dogbert17 left
|
|||
jnthn | masak: If we allocated stuff on the stack for EA, we have to migrate it to the heap and re-write pointers to it | 10:43 | |
tomboy64 | moritz: re tinymt, tools/build/Makefile-Moar.in has -I$(PREFIX)/include/tinymt hardcoded | 10:44 | |
jnthn | etc. | ||
ufobat: Link? :) | |||
masak | *nod* | ||
lizmat | jnthn: EA ? | ||
masak | jnthn: but -- unless you have *layers* of escape analysis being done on the same patch of code -- wouldn't what I asked still hold true? | ||
lizmat: escape analysis | |||
lizmat | thanks! | ||
masak | lizmat: seemingly the key to a lot of cool optimizations | ||
tomboy64 | is that file there to facilitate building another moar? or to use the already installed moarvm? | 10:45 | |
masak | because if you can *prove* something never leaves a certain area of code, you can put it on the stack instead of the heap, or even ditch unused parts of a bigger object etc | ||
you can turn some loop variables to native as a free service to the user | 10:46 | ||
etc etc | |||
...but it's hard, because it's tied to control flow *and* parameter passing *and* objects referencing each other... | |||
ufobat | jnthn, gist.github.com/ufobat/daa97cd5dc9...b4cdc8837e | ||
moritz | tomboy64: the Makefile is used to build MoarVM, if that's your question | 10:47 | |
tomboy64 | moritz: okay, then how do i utilize my (already installed) moarvm? | ||
jnthn | masak: Well, yes, you're assuming that it escapes, but I more meant undoing it isn't just undoing an assumption, it's dealing with all the consequences now it doesn't hold :) | 10:48 | |
ufobat: No, named parameters don't play into multi-dispatch (except required ones, and only then as tie-breakers, not in the primary dispatch) | 10:50 | ||
ufobat: Described in S06. | 10:51 | ||
ufobat | what a pity :( thanks! :) | ||
tomboy64 | hmm. from the back of my head, @ signifies arrays, % signifies hashes, $hash{'identifier'} is used to identify hash members, but what's used to identify array members? | ||
10:51
TEttinger left
|
|||
lizmat | tomboy64: @a[0] | 10:52 | |
ilmari | tomboy64: %hash{'foo'} in perl6 (sigils are invariant) | ||
unlike perl5 | |||
tomboy64 | invariant? | 10:53 | |
lizmat | also %hash<foo> shorter way to say %hash{'foo'} | ||
tadzik | m: [Any, 5, Any].grep(*).perl.say; [Any, 5, Any].grep({$_}).perl.say; | ||
camelia | rakudo-moar 9f9f0b: OUTPUT«(Any, 5, Any).Seq(5,).Seq» | ||
tadzik | why the difference? | 10:54 | |
tomboy64 | lizmat: this Configure.pl seems to be perl5 | ||
lizmat | ah, then: $a[0] | ||
tomboy64 | not seeing anything of that here. i guess those arrays are just used for looping then. | 10:55 | |
tadzik | m: [Any, 5, Any].grep(?*).perl.say; | 10:58 | |
camelia | rakudo-moar 9f9f0b: OUTPUT«(5,).Seq» | ||
lizmat | m: sub a($a) { dd $a }; a(*) | 10:59 | |
camelia | rakudo-moar 9f9f0b: OUTPUT«Whatever $a = *» | ||
lizmat | m: sub a($a) { dd $a }; a(?*) | ||
camelia | rakudo-moar 9f9f0b: OUTPUT«WhateverCode $a = { ... }» | ||
arnsholt | Oooh, new 6guts post! \o/ | 11:02 | |
jnthn: "They most certainly don’t always just go away at the point of return." I see what you did there =p | 11:04 | ||
jnthn | ;) | 11:06 | |
masak | jnthn: re "dealing with consequences" -- ah, fair enough. so if the EA allowed us to do scalar replacement, we now have to scalar un-replace. etc. | 11:07 | |
jnthn | masak: Right :) | 11:08 | |
11:13
aindilis left
11:15
donaldh left
11:16
pmurias joined,
aindilis joined
|
|||
pmurias | is such a segfault to be expected? paste.debian.net/440223 | 11:17 | |
jnthn | "Doesn't segfault if not commented out" is enough negations to break my brain :P | 11:18 | |
pmurias: No, shouldn't SEGV | |||
arnsholt | jnthn: First sentence of the last paragraph in the blog post: "Beyond that, there was nothing for it besides diving it, ..." doing it, perhaps? | 11:20 | |
pmurias | it's a NullPointerException on the jvm | ||
jnthn | *diving in | ||
arnsholt | Oh right, that makes sense too =D | 11:21 | |
pmurias | jnthn: I'll try to figure out/fix that | ||
jnthn | pmurias: Thanks | ||
pmurias: The JVM code is in many places a straight translit of the MoarVM code :) | 11:22 | ||
11:23
pierrot_ is now known as pierrot
11:24
perlawhirl joined
11:26
pmurias left
|
|||
llfourn | m: class C { has Cool:D @.a }; C.new( a => Nil).a[0].elems.say # Bug? | 11:26 | |
camelia | rakudo-moar 9f9f0b: OUTPUT«1» | ||
llfourn | m: class C { has Cool:D @.a }; C.new( a => Nil).a[0].perl.say # Bug? | 11:27 | |
camelia | rakudo-moar 9f9f0b: OUTPUT«Cool:D» | ||
llfourn | m: my Cool:D @a = Nil; say @a # golf | ||
camelia | rakudo-moar 9f9f0b: OUTPUT«[(Cool:D)]» | ||
perlawhirl | m: say my @a = Nil; say @a.elems | 11:28 | |
camelia | rakudo-moar 9f9f0b: OUTPUT«[(Any)]1» | ||
llfourn | I think that one makes sense | ||
but if it's Any:D @a it shouldn't work | |||
m: my @a = Any; say @a; | 11:29 | ||
camelia | rakudo-moar 9f9f0b: OUTPUT«[(Any)]» | ||
11:29
pmurias joined
|
|||
jnthn | m: my Any @a = Nil | 11:29 | |
camelia | ( no output ) | ||
perlawhirl | m: say my Any:D @a = Nil | ||
camelia | rakudo-moar 9f9f0b: OUTPUT«[(Any:D)]» | ||
jnthn | Nil means "assign, setting back to the default" | ||
llfourn | m: my Any:D @a = Any:D; say @a | 11:30 | |
camelia | rakudo-moar 9f9f0b: OUTPUT«Type check failed in assignment to @a; expected Any:D but got Any:D in block <unit> at /tmp/jQ7LzoOZC1 line 1» | ||
jnthn | m: my @x is default(42) = Nil; say @x | ||
camelia | rakudo-moar 9f9f0b: OUTPUT«[42]» | ||
llfourn | jnthn: right but the default for Any:D can't be Any:D | ||
because Any:D is not :D | |||
jnthn | Ah, I see | ||
eww | |||
llfourn | m: say Any:D ~~ Any:D | ||
camelia | rakudo-moar 9f9f0b: OUTPUT«False» | ||
perlawhirl | m: say my Any:D $a = Nil # this works as expected | 11:31 | |
camelia | rakudo-moar 9f9f0b: OUTPUT«(Any:D)» | ||
perlawhirl | hrm... i get nothing in repl | ||
llfourn | that should be an error as well imo | ||
jnthn | arnsholt: Fixed, thanks :) | 11:36 | |
llfourn | RT #127958 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127958 | ||
11:42
wamba joined
11:48
Relsak left
|
|||
pmurias | jnthn: made a pull request for fix the segfault | 11:49 | |
11:55
ely-se joined
|
|||
tadzik | ugexe: ping | 11:56 | |
or maybe nvm :) | 11:58 | ||
12:04
smls joined,
ely-se left
|
|||
smls | m: my $s = supply { await do for 1..5 { start { emit 42 } } }; $s.wait | 12:15 | |
camelia | rakudo-moar cc4dd7: OUTPUT«===SORRY!===emit without supply or react» | ||
smls | ^^ What is the correct way to feed a supply from multiple worker threads? | ||
jnthn | smls: Use a Supplier instead and emit into that | 12:17 | |
lunch & | |||
smls | thanks | ||
12:23
colomon joined
12:25
pierre_ joined,
tomboy64 left
|
|||
pierre_ | Hi | 12:26 | |
# Missing serialize REPR function for REPR SCRef | 12:27 | ||
is that error talking to someone? i'm trying to recompile a module that was compilng previously (can't remember what version so) | 12:28 | ||
i jsut build moar vm with rakudo-brew, and now i get that :( | |||
12:29
tomboy64 joined
|
|||
Ulti | my tests have popped up from 1.95s to 2.21s in the last couple of days, no idea why | 12:30 | |
pierre_ | For me, last time i compiled my module was 2 months ago | 12:32 | |
github.com/pierre-vigier/Perl6-Math-Matrix | |||
just wanted to check a few things, but i can't pass the test anymore, and the code did not change | |||
12:35
azawawi joined
|
|||
azawawi | hi | 12:35 | |
yoleaux | 09:25Z <RabidGravy> azawawi: it's "wont fix" the reasons it may break things include panda installing an old version of JSON::Fast, panda not understanding versioned depencies and "something screwed up with the resolution of modules" | ||
09:26Z <RabidGravy> azawawi: I tested everything with the version using JSON::Fast (having upgraded JSON::Fast) and all okay | |||
azawawi | RabidGravy: ping | ||
smls | pierre_: I tried installing yout module with panda, and get the same error. | 12:36 | |
So it's not something specific to your machine... | |||
I guess you'd have to golf it to find out what pice of code causes it, and then submit a rakudobug... | |||
pierre_ | hum, i'll probably comment all the code and uncomment piece by piece | ||
masak | today's mini-challenge, taken from a discussion on #python the other day: gist.github.com/masak/ee99cbb7054e...264db7d00f | 12:37 | |
pierre_ | thanks, i'll try to isolate the issue | ||
masak | in this mini-challenge, points will definitely be given for originality and clever (as in "that's a neat way to implement it") solutions | ||
12:39
tomboy64 left
|
|||
jast | not that mini AFAICT | 12:39 | |
masak | haven't implemented it, but I'd say around 30 LoC | 12:40 | |
jast | never mind, forgot that parentheses are not allowed | ||
masak | right | ||
parentheses would only add unnecessary complexity to the problem, IMO | |||
jast | agreed | ||
masak | the restriction on ^ is there for the same reason | ||
jast | I feel slightly tempted to write a golf solution | 12:41 | |
12:42
ely-se joined
|
|||
masak | go for it :) | 12:42 | |
azawawi | .tell RabidGravy so basically depending on JSON::Fast does not install a newer version. panda install Test::META will fail because JSON::Marshall expects a newer JSON::Fast 0.4 than the older 0.3 that is installed with panda | ||
yoleaux | azawawi: I'll pass your message to RabidGravy. | ||
jast | OTOH I'm at work and while nobody minds me spending a few minutes on IRC, there are limits... | ||
12:43
tomboy64 joined,
adu joined
12:44
adu left
12:45
azawawi left
|
|||
masak | :) | 12:48 | |
maybe later? | |||
12:52
kurahaupo joined
12:59
pierre_ left
|
|||
[Coke] is on board with this talk of coffee from a while back. | 13:01 | ||
13:07
smls left
|
|||
pmurias | .tell azawawi re Pointer[MyHTML] docs.perl6.org is wrong | 13:07 | |
yoleaux | pmurias: I'll pass your message to azawawi. | ||
MadcapJake | pmurias: hmm? | 13:08 | |
pmurias | MadcapJake: there is a bug in the docs | ||
masak | I'm going for a walk. when I come back I might whip up a solution to the mini-challenge | 13:09 | |
hoping somebody beats me to it, of course ;) | |||
pmurias | MadcapJake: the CStruct repr represents a "pointer to a struct", so there is no need to wrap it in a Pointer | 13:10 | |
MadcapJake | pmurias: I thought so, I was having issues where I was getting an error like "expected CStruct but got Pointer" and when I would switch to Pointer[MyHTML] it would say "expected Pointer but got CStruct" | 13:11 | |
tadzik | leont: do you mind if I open you an issue on TAP::Harness with a list of modules that prove handles fine but prove6 doesn't? | 13:12 | |
MadcapJake | I think it's really LTA that the error says "expected return type" when really it seems to be talking about arguments (at least that's what I've noticed) | 13:13 | |
13:14
huf joined
13:15
pierre_ joined
13:19
abraxxa left,
huf left
13:25
huf joined
|
|||
pmurias | jnthn: would it be ok if in nqp I marked all the stuff from the outer_ctx that's stuffed in into .symbol with a :from_outer? | 13:28 | |
13:29
skids joined
|
|||
pmurias | jnthn: so I could distinguish what's actually declared in the outermost block and what's just taken from the setting | 13:29 | |
jnthn | pmurias: I thought we already distinguished those? | ||
pmurias: unit is outermost block, unit_outer is stuff from setting? | |||
pmurias | SET_BLOCK_OUTER_CTX just flattens all the outer ctx things into the symtable | 13:31 | |
13:31
smls joined
|
|||
jnthn | Sure but that still isn't the actual block used for the outer scope of the program itself? | 13:32 | |
Or at least, it's not in Rakudo...maybe different in NQP? | |||
pmurias checks how things are in Rakudo | |||
13:34
kerframil joined
|
|||
RabidGravy | azawawi, exactly | 13:36 | |
yoleaux | 12:42Z <azawawi> RabidGravy: so basically depending on JSON::Fast does not install a newer version. panda install Test::META will fail because JSON::Marshall expects a newer JSON::Fast 0.4 than the older 0.3 that is installed with panda | ||
RabidGravy | and panda is unable to understand versioned dependencies | ||
13:38
perlpilot left
13:40
cdg joined
13:41
dalek left
|
|||
pmurias | jnthn: it doesn't seem to be the case in nqp | 13:41 | |
jnthn: should I just make them separate in nqp? | 13:42 | ||
13:42
vytas joined
|
|||
jnthn | pmurias: I'd prefer that to labeling them all, yeah | 13:44 | |
13:45
dolmen left
|
|||
smls | masak: In your mini-challenge, the inputs can basically only be Polynomials, right? | 13:49 | |
tadzik | RabidGravy: well, META.info doesn't store them, does it? | 13:51 | |
or can it | |||
in either case, wait a few more days :) | 13:52 | ||
with 0 as a possible value for few | |||
RabidGravy | the spec suggests that it can be a "use specification" i.e. "JSON::Fast:ver<v0.4..*>" | 13:53 | |
but upgrading panda's JSON::Fast would be good | |||
tadzik notes down | 13:55 | ||
leont_ | My test harness makes rakudo segfault when using parallel use, and sigabort after a long time during serial use | 13:58 | |
RabidGravy | good man! | 13:59 | |
14:01
dolmen joined
14:02
tomboy64 left
14:03
tomboy64 joined,
perlpilot joined
14:14
luiz_lha joined,
tharkun left,
luiz_lha is now known as Guest16770
14:16
tharkun joined
14:17
Guest16770 is now known as luiz_lha,
khw joined
14:21
|Tux| joined
|
|||
pierre_ | For the problem i was refering ealier | 14:21 | |
here is a gist | |||
gist.github.com/pierre-vigier/cd9f...6454228f68 | |||
basically, i have a trait that add a method to a class if applied to an attribute | 14:22 | ||
it's working well | |||
however, if i try to 'use' a class that uses that trait, i have a strange error | 14:23 | ||
Missing serialize REPR function for REPR SCRef | |||
tadzik | leont_: do you mind if I open you an issue on TAP::Harness with a list of modules that prove handles fine but prove6 doesn't? | ||
leont_ | Currently I'm still having issues with subtests, I disabled them entirely in my rakudo branch for now, I expect any modules using subtests to similarly run into such issues | 14:24 | |
RabidGravy | pierre, I think I've seen that before, I don't think it has been reported to RT though | 14:30 | |
so please report | |||
in the meantime sticking "no precompilation;" in the top of the file containing the role will fix | 14:31 | ||
pierre_ | Indeed, it's working | 14:33 | |
thanks, to report the bug, should i link to the gist? | |||
leont_ | (But by all means go ahead and file an issue) | 14:34 | |
pierre_ | yep, i will file an issue | ||
timotimo | something seems to be wrong with hack | ||
RabidGravy | pierre_, I would copy the entire gist in RT to be honest | ||
timotimo | collect isn't refreshing and i can't start new commands in my existing bash session | ||
RabidGravy | out of swap, /var or /tmp ? | 14:35 | |
timotimo | difficult to say; as i can't look at stuff :) | 14:43 | |
pierre_ | rt.perl.org/Ticket/Display.html?id=127959 | 14:44 | |
RabidGravy | yeah, as soon as I typed it I thought I was being stupid | ||
pierre_ | done, thank you for the help | ||
tadzik | leont_: I encountered quite a bit of test ordering warnings | ||
leont_ | Synchronous or asynchronous? | 14:45 | |
bartolin | timotimo: do commands like ps or top work? | ||
leont_ | Asynchronous I've also seen them, and I haven't quite figured them out yet | 14:46 | |
tadzik | leont_: the default :) | ||
14:46
ptolemarch joined
|
|||
timotimo | i'll be able to tell you when i can get back on the server via ssh, bartolin | 14:46 | |
tadzik | leont_: also, this gist.github.com/tadzik/ce500f0f8a1...dabf9547b1 allowed me to override the Harness' output | 14:47 | |
timotimo | nope. hack seems far gone again | ||
i suppose i'll reboot it | |||
bartolin | timotimo: oh, sorry. I thought you had a running screen session | ||
timotimo++ | |||
leont_ | tadzik: right, I already know what's going on, moment | ||
timotimo | i *was* running a tmux session | ||
but then i got disconnected | |||
can anybody verify that hack is down? | |||
usually you'd see a bunch of quits from people who have their irc sessions hosted on hack | 14:48 | ||
bartolin | timotimo: it's not down | ||
14:48
g4 left
|
|||
leont_ | tadzik: can you try my no-subtest branch? | 14:48 | |
timotimo | i can't connect to it. | ||
tadzik | yeah, if I don't accidentally nuke my entire toolchain again... | 14:49 | |
bartolin | timotimo: but I get a prompt for my password when I try to connect. | ||
anyway, please reboot it. | |||
we had that situation before (unable to login, load increasing, unable to spawn new shells etc.) | 14:50 | ||
iirc moritz rebooted hack in all those cases | |||
timotimo | well, i get the host key bubble bath, too | ||
14:53
perlawhirl left,
pierre_ left,
Actualeyes left
|
|||
timotimo | i will flip the switch unless someone says "no". | 14:54 | |
OK. | |||
14:55
cdg left,
bioexpress joined
|
|||
timotimo | did it work? i don't see a difference | 14:56 | |
bioexpress | Hello, is it possible to specify the minimum version of a module in the "depends" section of a META6.json file? | 14:58 | |
14:58
ely-se left
|
|||
timotimo | not at the moment, bioexpress | 14:58 | |
bioexpress | thx | 14:59 | |
14:59
bioexpress left
15:01
pierre_ joined,
pierre_ left
|
|||
timotimo | reboot wouldn't work, so i force-reset it | 15:03 | |
15:06
synopsebot6 left
15:07
sergot left,
marcusramberg joined
15:08
pmurias left
|
|||
marcusramberg | Listening to Damian talk about concurrency in Oslo, and I tried one of his examples, but it seems to crash perl6 when you try to run it for some iterations - gist.github.com/marcusramberg/f789...a12a333391 | 15:08 | |
timotimo | virt-manager is saying "running", but i can't connect for a graphical console and the cpu usage graphs for both host and client have flatlined | ||
marcusramberg | gives me [1] 33874 abort perl6 channel.p6 | ||
15:09
Upasaka left
|
|||
bartolin | timotimo: how did you force-reset it? from the command line? | 15:11 | |
RabidGravy | marcusramberg, so it does | ||
15:11
domidumont left
|
|||
timotimo | i use virt-manager, because i have no clue about the commandline | 15:11 | |
but i'm using it via x11 forwarding because i didn't yet put my ssh key of my laptop on there yet | 15:12 | ||
lizmat | marcusramberg: crash confirmed :-( | ||
15:12
ajoe joined
|
|||
marcusramberg | :-/ | 15:12 | |
bartolin | but you have a root login for the hypervisor? could you try "virsh list" there? | 15:13 | |
lizmat | marcusramberg: the good news is that it fails consistently after a fixed number of iterations | ||
perlpilot | marcusramberg: Did Damian actually run it ? | ||
marcusramberg | perlpilot: only once | ||
RabidGravy | lizmat, marcusramberg it appears to be associated with garbage collection looking at the backtrace | ||
timotimo | "hack running" | ||
lizmat | marcusramberg: and that number actually differs with different settings of MVM_SPESH_DISABLE and --optimize | ||
perlpilot | marcusramberg: do you happen to know what rakudo version he was using? | ||
timotimo: oh ... good point. | 15:14 | ||
lizmat | if I add an "nqp::force_gc" to the sleep_sort sub, it doesn't fail | ||
bartolin | timotimo: hmm. probably 'virsh shutdown <domain-id>' has no effect? | 15:15 | |
marcusramberg | perlpilot: no. he's still talking :) | ||
smls | masak: Here's a boring long-ish solution to your mini-challenge: gist.github.com/smls/0cd4988c8895f...f8d9a9f640 | ||
lizmat | RabidGravy: so indeed GC related | ||
perlpilot | marcusramberg: well ask him about it! See if he admits to shenanigans ;) | ||
15:15
pmurias joined
15:17
rurban left
|
|||
bartolin | timotimo: if so, I think 'virsh destroy hack' is the next step ("Immediately terminate the domain domain-id") | 15:17 | |
timotimo | i'm running the shutdown | ||
it seems to block | |||
bartolin | yeah, would have worked from virt-manager otherwise | 15:18 | |
timotimo | so i ought to ctrl-c it and run destroy instead? | ||
lizmat | marcusramberg: care to submit a rakudobug ? | ||
marcusramberg | lizmat: I can try | ||
lizmat | copy this discussion to an email and send it to [email@hidden.address] | 15:19 | |
timotimo | OK, i managed to destroy it. | ||
lizmat | timotimo++ | ||
:-) | |||
bartolin | timotimo: :-) and now 'virsh start hack'? | ||
timotimo | i'll start it, yeah | ||
"started" | 15:20 | ||
bartolin | ping works. timotimo++ | ||
15:20
dalek joined,
ChanServ sets mode: +v dalek,
synopsebot6 joined,
dolmen left
|
|||
timotimo | cool. | 15:20 | |
perlpilot | hello bots | ||
timotimo | yeha, it's up | 15:21 | |
now i know perfectly well how to deal with this the next time around | |||
and i can now do it from my laptop, too | |||
tadzik | leont_: gist.github.com/tadzik/1dd4d72bd63...668dd5a31c that's on no-subtest, so the issue is still there | 15:23 | |
timotimo | i saw a bunch of messages a la "blah hung for more than 120 seconds" and "echo something into some file in /sys to disable this message" | ||
the first one mentioned "vdasomethingsomething" | |||
i couldn't take a screenshot, unfortunately | |||
seems like the virtual hard drive asploded somehow | |||
and that caused all manner of programs to start hanging, unkillable I/O wait probably | |||
bartolin | timotimo: that was the kind of problem I suspected for a long time (virtual disk system not available) | 15:24 | |
leont_ | :-/ | ||
timotimo | mhm | ||
bartolin | timotimo: I think it would be good to enable remote logging (since logs obviously could not be written once the disk is not available) | 15:26 | |
timotimo | aye. what kind of solution do you suggest? journald has probably got something built-in | 15:27 | |
bartolin | (maybe there is something to learn from log messages in such a situation) | ||
15:27
dolmen joined,
[Coke] joined
|
|||
timotimo | it's just important that the program that sends the logs doesn't ever try to do disk i/o :) | 15:27 | |
bartolin has never touched journald before | |||
[Coke] wonders how to fix irssi so that it actually reconnects to everything on restart instead of leaving half his windows blank with no indication of what channel they were on. | 15:32 | ||
bartolin | timotimo: are there log messages about that "hung for more than 120 seconds" thing on the hypervisor? | ||
[Coke] | Or; is there a better text based irc client I could be using? | ||
15:33
mimosinnet left
|
|||
[Coke] tries "/layout save" followed by "save" | 15:33 | ||
andrewalker | [Coke]: weechat is pretty good. I was using irssi and recently switched. | ||
timotimo | no, but an error message about "invalid partition" from pretty much every single file system driver on the planet | ||
15:34
japhb joined
|
|||
timotimo | AFK for a bit | 15:35 | |
leont_ | tadzik: part of it may be invalid tap Test.pm doesn't correctly escape #, I have a commit in my rakudo branch for that… | 15:37 | |
tadzik | should that kind of thing still be happening? :o | ||
lizmat | leont_: link for Test.pm fix? | 15:38 | |
I could update that now ? | |||
leont_ | github.com/rakudo/rakudo/pull/578/...f9c1b8dce0 | 15:39 | |
15:39
_mg_ left
|
|||
tadzik | wtf's that even mean >:( | 15:39 | |
leont_ | (or github.com/rakudo/rakudo/commit/cc...ce0.patch) | 15:40 | |
Seems I was wrong, it's escaping the backslash that'd break in this case | 15:41 | ||
(but same fix) | 15:42 | ||
tadzik | hmm, so this conflict occurs when loading Shell::Command apparently | 15:43 | |
gist.github.com/tadzik/b84bf7062ed...f8d607858a | |||
15:45
masak joined
|
|||
perlpilot | Random Test.pm question: now that we have ≅, should Test.pm use that for is-approx? (and why do we still have both is_approx and is-approx?) | 15:46 | |
masak | smls: almost. I don't think x^-7 qualifies for a polynomial | ||
lizmat | perlpilot: to answer the latter question: because they have different interfaces ? | 15:47 | |
masak | smls: ...and, glancing at your solution, I don't think it takes X^-1 into account ;) | ||
(but it looks quite fine otherwise) | 15:48 | ||
15:50
perlpilot left,
zakharyas1 left
|
|||
tadzik | nine: ping | 15:51 | |
15:51
zakharyas joined
|
|||
ufobat wonders what tadzik thinks about my changes in bailador... github.com/ufobat/Bailador/blob/ma...utes.t#L30 | 15:53 | ||
masak | smls: urm. thinking of integration; never mind my comment about X^-1 -- your solution looks fine :) | 15:55 | |
15:55
astj joined
|
|||
ufobat | masak, did you make any progress with your SSE? | 15:56 | |
15:57
zakharyas left
|
|||
tadzik | ufobat: I recognize some of this syntax :P | 15:57 | |
ufobat | ha :) | ||
15:59
sjoshi joined
16:00
sjoshi left
|
|||
tadzik | ufobat: I see a lot work being done on this, and I'm very happy to see it too :) | 16:00 | |
16:00
nightfrog left
|
|||
lizmat | leont_: your patch causes some spectest breakage, investigating | 16:01 | |
16:01
perlpilot joined
|
|||
leont_ | Interesting | 16:02 | |
16:02
nightfrog joined
16:04
uruwi left
|
|||
ufobat | tadzik, i am happy you like it :) | 16:05 | |
smls | masak: :) | 16:08 | |
16:10
cpage_ left
|
|||
lizmat | leont_: 1. it wasn't handling the case if there was no $desc well | 16:11 | |
leont_ | Ah, I see | ||
lizmat | 2. somehow the output of a passing TODO test is now different | 16:12 | |
16:12
astj left
16:13
gtodd joined
|
|||
gtodd | /j perl6 | 16:13 | |
/j #perl6 | |||
oh | 16:14 | ||
tadzik | you're already here, welcome! :) | ||
gtodd | "perl6 ... you're already there" | ||
16:15
luiz_lha left
16:18
[particle] left,
djbkd joined,
[particle] joined,
mohae joined
16:19
aindilis` joined,
aindilis left
16:20
tadzik left
16:23
uruwi joined
|
|||
gtodd holds breath for mystery meditation on from-loop() | 16:23 | ||
docs.perl6.org/routine/from-loop ... | 16:24 | ||
16:25
M-matthew joined
|
|||
ugexe | thinking of Supply.from-list might help | 16:26 | |
16:26
M-tadzik joined
|
|||
gtodd | Seq.from-loop(&stuff) | 16:27 | |
ok | |||
thanks | |||
Supply.from-list | |||
ugexe | m: my $s = Supply.from-list: gather for 1..3 { take $_ }; $s.tap({.say}); # from a loop | 16:29 | |
camelia | rakudo-moar 3ebf31: OUTPUT«123» | ||
gtodd | yeah .... no equally easy docs for Seq.from-loop() | 16:31 | |
16:32
M-tadzik is now known as tadzik
16:33
sjoshi joined
16:34
sjoshi left,
japhb left,
rindolf left
16:36
sno left,
japhb joined,
cdg joined
16:37
vytas left,
kaare_ joined
|
|||
ugexe | m: my &cond = sub { state $x += 1; $x > 3 ?? False !! True; }; my $s = Seq.from-loop: { $++ }, &cond; say $_ for @$s | 16:40 | |
camelia | rakudo-moar 3ebf31: OUTPUT«012» | ||
gtodd | camelia ... autoadd that to docs :-) | 16:44 | |
it's the : {} bit of Seq.from-loop: { } | 16:48 | ||
that I did not understand | |||
timotimo | that's short for "the rest of the line is arguments to this method" | 16:49 | |
so the from-loop gets a single code block as its first argument | |||
ugexe | m: my &body = sub { $++; }; my &cond = sub { state $x += 1; $x > 3 ?? False !! True; }; my $s = Seq.from-loop: &body, &cond; say $_ for @$s; # this matches the docs better | 16:50 | |
camelia | rakudo-moar 3ebf31: OUTPUT«012» | ||
gtodd | I kept getting an error: | ||
oh can''t see it now | |||
smls | gtodd: .method: ...; is the same as .method(...); | ||
RabidGravy | it appears that from-loop isn't tested for explicitly, isn't documented and is only used once in the source, perhaps it's better to just ignore it until it goes away ;-) | ||
gtodd | the error mentioned a missing block or a final } | 16:51 | |
which I guess meant the .from-loop needed more than I say giving it | |||
my $s = Seq.from-loop: { $++ } ; say @$s[0..2] ; # with no &cond :-D | 16:53 | ||
many docs need examples ... but we can't put examples *everywhere* can we? | 16:54 | ||
ugexe | i dont see why not | ||
gtodd | oh goodie :) | 16:56 | |
tadzik | leont_: so, how does gist.github.com/tadzik/ce500f0f8a1...dabf9547b1 look to you? | ||
leont_ | Yeah that looks sensible | 16:57 | |
16:57
hankache joined
16:59
firstdayonthejob joined
|
|||
tadzik | it also seems like your TAP::Harness broke after you patch to rakudo got merged :o | 16:59 | |
do you want a PR for that? | |||
17:00
pecastro left
|
|||
tadzik | (I'll just send one) | 17:00 | |
17:01
japhb left
17:02
japhb joined
17:03
kaare__ joined,
kaare_ left
|
|||
leont_ | the no-subtest branch is broken knowingly, it's a workaround not a fix (though I gues I should make those tests todo) | 17:03 | |
17:09
hankache left
17:10
hankache joined
17:12
Amnez777 left,
rurban joined
17:13
ruoso joined
17:14
aindilis` left
|
|||
dalek | osystem: 4757836 | tadzik++ | META.list: Add Module::Toolkit |
17:14 | |
tadzik | the above includes redpanda, Probably The Fastest Module Installer In Existence :) | 17:15 | |
17:15
sivoais joined,
jercos joined,
TimToady left
17:16
TimToady joined,
aindilis` joined
17:20
webmind joined,
Amnez777 joined
17:22
rindolf joined
17:23
_mg_ joined,
uruwi left
17:25
pecastro joined,
domidumont joined
17:28
kaare__ is now known as kaare_
|
|||
RabidGravy | next time someone asks about editors here is some real science on the subject pavelfatin.com/typing-with-pleasure/ | 17:29 | |
17:30
leont_ left
17:32
wamba left
17:36
sjoshi joined,
brrt joined
17:37
sjoshi left
17:38
brrt left
17:43
hankache left
17:49
sno joined
|
|||
smls | masak: Slightly condensed version with stricter parsing: gist.github.com/smls/0cd4988c8895f...f8d9a9f640 | 17:49 | |
masak | smls: if you're aiming for golf, I think you can get away with a lot less machinery using an actions class | 17:53 | |
`rule TOP { <term>* % <addsub> }` -- smls: does your program DTRT with an empty input? seems '' as the input string shouldn't count as 0, but as an illegal input | 17:54 | ||
(though I didn't state that in the task description, it's probably more in line with people's expectations of polynomials) | 17:55 | ||
smls | It treats the empty string as a polynomial with no terms :P | ||
<term>+ should fix that | 17:56 | ||
masak | right | ||
I really dig the `|| next` expression ;) | |||
17:57
lizmat left
|
|||
smls | :) | 17:57 | |
dalek | c: a4bf58e | (Jan-Olof Hendig)++ | doc/Type/Array.pod: Added examples to append and prepend. An error in the unshift example was also fixed. |
17:58 | |
18:00
ajoe left
|
|||
masak | smls: it's an interesting consideration whether we expect the input to have at most one term for each integer power of X | 18:01 | |
(and if we don't, whether we sum them before the output stage) | 18:02 | ||
smls | Right | ||
masak | I think summing (and ordering) (and omitting vanishing terms) is a reasonable thing to do | 18:03 | |
if we *don't* do that, however, then we can basically start emitting output in the action methods as soon as we match a term | 18:04 | ||
smls | True | 18:05 | |
masak | if we do do that, seemsme a MixHash would be a good data structure to use | ||
18:05
ely-se joined
|
|||
smls | except that if the match fails later on, you've printed partial output. | 18:06 | |
masak | (mapping from Int exponents to Rat factors) | ||
smls: ok, so collect output in an accumulator but print it at the end | |||
s/factors/coefficients/ | |||
18:06
rurban left
18:10
pecastro left
18:15
dolmen left
18:17
uruwi joined
18:21
Jonis joined
18:29
FROGGS joined
|
|||
bartolin | timotimo: turns out, we already have remote logging for hack (log messages are sent to www.p6c.org). unfortunately www has only received about 20 additional messages (which are not found on hack) -- and after that was silence. those log messages were not helpful at all | 18:32 | |
18:37
kerframil left
18:39
ely-se left
18:41
cpage_ joined,
jjido joined
18:43
sergot joined
18:46
as joined
|
|||
timotimo | darn :( | 18:46 | |
18:46
_mg_ left
18:47
crono joined
|
|||
crono | hows development going? | 18:47 | |
bartolin | I googled a lot (again) and found this bug report which sounds somehow similiar: bugs.debian.org/cgi-bin/bugreport....bug=803036 | ||
do you know if the hypervisor runs with Debian 8 as well? | 18:48 | ||
but apart from that I have no clue what kind of problem we have on hack :-/ | 18:50 | ||
timotimo | how do i easily figure ou tthe debian release a system is running? | ||
ah, it's jessie | 18:51 | ||
bartolin | timotimo: /etc/debian_version | ||
MadcapJake | I am using a class, H::M::Node and in the file I'm using it in I am getting "Could not find symbol '&Node' | ||
timotimo | you probably have to spell it H::M::Node if it's defined like that in the module you're use-ing | 18:52 | |
MadcapJake | I am. | ||
timotimo | you spell it like that? | ||
then perhaps you have to spell it "Node" instead? :D | 18:53 | ||
smls | MadcapJake: Same issue as this? rt.perl.org/Ticket/Display.html?id=126426 | ||
timotimo doesn't make modules often enough to know this all by heart | |||
bartolin | well Jessie comes with qemu 2.1 and some problems related to IO hangs are fixed with 2.4 according to the bug report above. | ||
18:53
kerframil joined
|
|||
MadcapJake | smls: the error is different but it seems similar | 18:53 | |
bartolin | there is a backport for qemu 2.5 for jessie: packages.debian.org/jessie-backports/qemu | ||
MadcapJake | smls: I'm also using .new on it | 18:54 | |
bartolin | but I'm not sure if it makes sense to try an upgrade. | ||
MadcapJake | but actually wait, I'm not definied it twice | ||
defining* | |||
btw Atom users: file-icons package now has built-in Perl 6 icon :) | 18:56 | ||
18:58
ChristopherBotto joined
|
|||
ChristopherBotto | Hello everyone! | 18:59 | |
m: my @letters = <A B C>; say 'A' ~~ @letters; | |||
camelia | rakudo-moar 0b8e08: OUTPUT«False» | ||
19:00
psch joined
|
|||
ChristopherBotto | m: my @letters = <A B C>; say @letters ~~ /A/; | 19:01 | |
camelia | rakudo-moar 0b8e08: OUTPUT«「A」» | ||
ChristopherBotto | say @letters ~~ /\w/; | 19:02 | |
m: my @letters = <A B C>; say @letters ~~ /\w/; | |||
camelia | rakudo-moar 0b8e08: OUTPUT«「A」» | ||
ChristopherBotto | m: my @letters = <A B C>; say @letters; | ||
camelia | rakudo-moar 0b8e08: OUTPUT«[A B C]» | ||
ChristopherBotto | m: my @letters = <A B C>; say 'A' eq any(@letters); | 19:03 | |
camelia | rakudo-moar 0b8e08: OUTPUT«any(True, False, False)» | ||
19:04
cpage_ left
19:06
cpage_ joined
19:07
_mg_ joined
19:10
ifim joined
|
|||
dalek | frastructure-doc: 4274a30 | usev6++ | hosts/hack.p6c.org.pod: Document remote logging for hack |
19:10 | |
19:19
sjoshi joined
19:27
brrt joined
19:29
domidumont left
19:38
TEttinger joined
19:39
_28_ria left
19:42
chandwer joined
|
|||
perlpilot | chandwer: btw, as you're doing P6 things, if you get stuck or have a question, this is a good place to ask for help. | 19:45 | |
19:50
crono left,
brrt left
19:55
ptolemarch left
|
|||
MadcapJake | is it normal behavior that if you place the least restrictive multi first it can block other multi signatures from getting checked? | 20:08 | |
jnthn | MadcapJake: Depends. A purely nominal dispatch doesn't care about order. But if there are multiple best matches from that, then we consider tie-breakers in code order. | 20:11 | |
multi f(Cool) { }; multi f(Int) { }; f(42) # will always called the Int one, regardless of order | 20:12 | ||
multi f($ where Cool) { }; multi f($ where Int) { }; f(42) # you'll get the first one, since both are equally good modulo tie-breakers, and the first matches so we take it | |||
20:18
sortiz joined
|
|||
sortiz | \o #perl6 | 20:22 | |
masak | m: my @letters = <A B C>; say so 'A' eq any(@letters) | 20:26 | |
camelia | rakudo-moar 0b8e08: OUTPUT«True» | ||
masak | ChristopherBotto: ^^ | ||
m: my @letters = <A B C>; say so 'A' ~~ any(@letters) | |||
camelia | rakudo-moar 0b8e08: OUTPUT«True» | ||
ChristopherBotto | masak: Thanks so much! | 20:27 | |
masak | m: my @letters = <A B C>; say 'A' ∈ @letters | 20:28 | |
camelia | rakudo-moar 0b8e08: OUTPUT«True» | ||
20:29
kaare_ left
|
|||
masak | m: .<A B C> = True xx * given my %letters; say %letters<A> :exists | 20:29 | |
camelia | rakudo-moar 0b8e08: OUTPUT«True» | ||
20:29
_mg_ left
|
|||
masak | m: given % { .<A B C> = True xx *; say .<A> :exists } | 20:30 | |
camelia | rakudo-moar 0b8e08: OUTPUT«True» | ||
20:30
sjoshi left
20:32
brrt joined,
brrt left
20:36
darutoko left,
rurban joined
|
|||
nine_ | tadzik: pong | 20:43 | |
gtodd | why is there a dot at the start of <A B C>? | 20:48 | |
Juerd | gtodd: .foo is short for $_.foo | ||
gtodd: .<foo bar> is short for $_.<foo bar> | |||
gtodd | is that the shorthand form of something | ||
yeah ok | |||
Juerd | gtodd: $_ is the default variable that given binds to | 20:49 | |
Oh, and $_.<foo bar> in turn is short for $_.{'foo', 'bar'} | |||
grondilu | only when the parser expects a term though. Since you can put spaces before a method call. | ||
m: say (my %) .<foo bar> | 20:50 | ||
camelia | rakudo-moar 0b8e08: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dlJoLObheCMalformed postfix call (only alphabetic methods may be detached)at /tmp/dlJoLObheC:1------> 3say (my %) .7⏏5<foo bar>» | ||
Juerd | grondilu: Actually, it's a bit simpler than that, IIRC: "." either takes no whitespace, or on both sides. | ||
gtodd | I always though $_ was already short ... of course in perl5 you can omit it lots of times :-) but with perl6 implict topic ( $_ ) doesn't work unless you do the bind ... e.g. .say etcc | ||
Juerd | grondilu: If you have whitespace only on the left, it's just the regular $_ shorthand. | ||
grondilu | oh yeah I meay have confused with .somthing at the beginning of a line. | 20:51 | |
20:51
rindolf left
|
|||
Juerd | gtodd: $_ is ugly imho, I try to only use it when it is implied. | 20:51 | |
grondilu: That's not different | |||
grondilu | Juerd: I may just be talking non-sense. Please ignore. | 20:52 | |
Juerd | gtodd: So I'd definitely write "given $bar { .foo }", but never "given $bar -> $_ { $_.bar }" | ||
If I type the variable name, I'll give it a meaningful name instead. | |||
psch | S/// is the only thing that ever made me want to assign to $_, fwiw | ||
grondilu | If you have to write $_.foo, you're doing something wrong. | ||
psch | and i'm including given there | 20:53 | |
like, < .&[+](3) given 5 > is cute, but not the intuitive way to write. on the other hand, S/// really only works in < $val = S/// given $foo > | |||
(obviously S/// has a meaningful pattern and substitution expression in the example, it's just omitted for brevity :) ) | 20:54 | ||
gtodd | given $bar -> $baz{ $baz.bar }" | ||
psch | ...i'd probably do $bar.bar there instead | 20:55 | |
20:57
skids left
|
|||
psch | well, otoh, for is excluded because it's too magic vOv | 20:58 | |
sortiz | And don't forget the other topicalizers: 'with', 'without', 'andthen', et.al. | 20:59 | |
20:59
rurban left
|
|||
sortiz | "with $bar { .foo }" is clearer that "if $bar.defined { $bar.foo }" imo | 21:00 | |
psch | yeah, i agree there | 21:01 | |
i was probably a bit hasty with my statement :/ | |||
gtodd | m: .<A B C> = True xx * given my %letters; dd %letters; | 21:02 | |
camelia | rakudo-moar 0b8e08: OUTPUT«Hash %letters = {:A, :B, :C}» | ||
gtodd | m: .<A B C> = True xx * given my %letters; %letters; | 21:03 | |
camelia | rakudo-moar 0b8e08: OUTPUT«WARNINGS for /tmp/S_lw01t6Rn:Useless use of %letters in sink context (line 1)» | ||
gtodd | m: .<A B C> = True xx * given my %letters; say %letters; | ||
camelia | rakudo-moar 0b8e08: OUTPUT«{A => True, B => True, C => True}» | ||
gtodd | m: .<A B C> = True xx 2 given my %letters; say %letters; | ||
camelia | rakudo-moar 0b8e08: OUTPUT«{A => True, B => True, C => (Any)}» | ||
psch | gtodd++ | 21:04 | |
m: .<A B C> >>=>> True given my %h; dd %h # this looks parsing error ish | |||
camelia | rakudo-moar 0b8e08: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kOEgj3L0nFMissing << or >>at /tmp/kOEgj3L0nF:1------> 3.<A B C> >>=>7⏏5> True given my %h; dd %h # this looks p expecting any of: infix infix stopper» | ||
gtodd | what is C => (Any) there? | ||
psch | 'cause i'd expect "list assignment is too diffy" or something | ||
gtodd: 'cause you're only replicating True twice | |||
so you're assigning a three element list of which the third element isn't defined by you to the hash slice <A B C> | 21:05 | ||
gtodd | yeah ... I just would've thought: C => something else | ||
errm "undef" :-D | |||
psch | m: say Any.defined | ||
camelia | rakudo-moar 0b8e08: OUTPUT«False» | ||
psch | gtodd: perl6 doesn't have "undef" as such, it has type objects instead | ||
gtodd | hehe | ||
21:05
skink joined
|
|||
gtodd | yeah ... but but ... :) | 21:06 | |
psch | well, depending on your point of view Nil might be undef | ||
skink | Happy Friday, #perl6 | ||
gtodd | yes | ||
psch | o/ skink | ||
sortiz | o/ skink | ||
psch | although Nil is more like the sub form of perl5 undef as value type... :) | ||
masak | o/ skink | ||
skink | o/ | ||
psch | (maybe not "value type" but "value"..? i think my theory is running a bit thin here... :) ) | ||
gtodd | I love perl5 types :) | ||
"types" | 21:07 | ||
psch | masak: can i have your take on the >>=>> bit above? | 21:08 | |
m: .<A B C> »=» True given my %h; dd %h # actually, never mind | 21:09 | ||
camelia | rakudo-moar 0b8e08: OUTPUT«Hash %h = {:A, :B, :C}» | ||
psch | there's just some parsing hiccup | ||
psch goes to bug that | 21:10 | ||
21:11
_28_ria joined
21:12
_28_ria left
21:13
cpage_ left,
_28_ria joined,
_28_ria left
21:14
FROGGS left
|
|||
psch | ...moments like these do make me feel competent, somewhat | 21:14 | |
i mean "Texas hyper doesn't parse correctly in topicalized quoteword associative index" is not really a "doesn't know computers"-person sentence... :) | |||
21:14
_28_ria joined
|
|||
psch better goes to bed, in any case o/ | 21:14 | ||
sortiz | m: my $f = Failure.new("bum"); without $f { say .defined, .DEFINITE } # psch, to think about Perl6 "undef" values | ||
camelia | rakudo-moar 0b8e08: OUTPUT«FalseTrue» | ||
masak | psch: my take is that `=` is so special it's not surprising me all that much that it doesn't work ;) | 21:15 | |
psch | sortiz: i thought .DEFINITE cares more about the container? | ||
masak | psch: people like to imagine `=` is an ordinary operator, but truth is it gets special-cased all over the place | ||
psch | masak: well, it *does* work with guillemets | ||
masak | a weaker soul might name it "macroish" | ||
psch: oh, that's curious | 21:16 | ||
psch | masak: i'm pretty sure the dottyop throws the angle bracket counter of track somehow | ||
...because that's all the data i have :) | |||
21:16
_28_ria left
|
|||
psch | well, it's submitted as #127965 | 21:17 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127965 | ||
psch | anyway, yeah, i'm out for the night o/ | ||
masak | 'night, psch | 21:18 | |
21:20
pmurias left
|
|||
grondilu | m: role A[Int $n] { has @.a[$n] }; say class :: does A[3] {}.new(:a(my @ = rand xx 3)); | 21:35 | |
camelia | rakudo-moar 0b8e08: OUTPUT«Type check failed in binding shape; expected Any but got VMNull (?) in code at /tmp/YtSe95ghJ1 line 1 in block <unit> at /tmp/YtSe95ghJ1 line 1» | ||
grondilu | first time I see a mention of VMNull | 21:36 | |
21:36
Herby_ joined
|
|||
Herby_ | Afternoon, everyone! | 21:36 | |
\o | |||
21:36
ChristopherBotto left
21:40
ocbtec left
|
|||
skink | Hey Herby_ | 21:41 | |
21:42
cpage_ joined,
perlpilot left
|
|||
dalek | c: a7976f1 | (Tom Browder)++ | doc/Language/unicode_texas.pod: clean up table so columns are clearly defined |
21:43 | |
c: 5de332b | (Tom Browder)++ | doc/Type/ (2 files): merge |
|||
c: d41a3e8 | (Tom Browder)++ | doc/Language/unicode_texas.pod: Merge pull request #455 from tbrowder/master table clean up |
|||
grondilu | m: my num @.x; | 21:47 | |
camelia | rakudo-moar 0b8e08: OUTPUT«Potential difficulties: Useless generation of accessor method in mainline at /tmp/111gqnGLQ6:1 ------> 3my num 7⏏5@.x;» | ||
grondilu | m: my num @x; | ||
camelia | ( no output ) | ||
grondilu | m: my num @x[10]; | ||
camelia | ( no output ) | ||
grondilu | m: my num @x[my $ = 10]; | 21:48 | |
camelia | ( no output ) | ||
tadzik | nine: I have since discovered the cause of the fuckup, or at least I think so :) | ||
grondilu | m: my $n = 10; my num @x[my $n]; | ||
camelia | rakudo-moar 0b8e08: OUTPUT«Potential difficulties: Redeclaration of symbol $n at /tmp/Np2As4Tpgs:1 ------> 3my $n = 10; my num @x[my $n7⏏5];» | ||
grondilu | m: my $n = 10; my num @x[$n]; | ||
camelia | ( no output ) | ||
grondilu | oh I can do that? | ||
21:51
jjido left
|
|||
masak | grondilu: I'm a little bit surprised you can. | 21:51 | |
grondilu: I just checked S09, and S09 is pretty clear that the form of declaration is "compile-time" and for declaring a "fixed-size array" | 21:52 | ||
it's can't be a compile-time declaration if we're using a runtime value, and it can't be fixed-size if it's a variable | |||
21:55
jjido joined
|
|||
masak | m: for 1, 5, 10 -> $n { my num @x[$n]; say @x.elems } | 21:55 | |
camelia | rakudo-moar 0b8e08: OUTPUT«1510» | ||
21:55
lizmat joined
21:56
cpage_ left,
leont_ joined
|
|||
masak | then again, this *is* Perl 6. and Perl 6 doesn't like to forbid you to do things that you think might be useful | 21:57 | |
21:58
cpage_ joined
22:00
jjido left
22:06
supernovus joined
|
|||
sortiz | masak, I'm still surprised that I can declare "lexical" *and* "package scoped" 'my $Foo::Bar::x' :-) | 22:07 | |
22:07
cpage_ left
|
|||
supernovus | Quick question, I'm trying to fix a bunch of bugs in the Flower library, and I've come across a conundrum. For most things, the 'is rw' isn't needed anymore, and in fact spits out a lovely "Parameter '$blah' expected a writable container, but got XML::Element value" message. So I removed all of the 'is rw' and now most things work, except one method which literally replaces the passed in XML element with a different value. How do I | 22:08 | |
yoleaux | 29 Dec 2015 16:37Z <hankache> supernovus: can kindly check the PR on github.com/supernovus/template6 It adds "use MONKEY-SEE-NO-EVAL" in order for EVAL to work | ||
timotimo | oh, cool you're checking in, supernovus :) | 22:09 | |
supernovus | I was going through my e-mail, and found a bug report that I hadn't gotten around to fixing, and I have the library almost working except for this one particular hiccup. :-) | ||
MadcapJake | supernovus: you need `is rw` to write to something from outside the routine. | 22:10 | |
timotimo | if you pass a literal into a function that has "is rw", it'll complain, but if it's a variable, it'll likely work | ||
22:11
polyfloyd joined
|
|||
timotimo | and for replacing a value that comes in with something else, you will need "is rw", definitely | 22:11 | |
if the values passed in are instances of some class, "is rw" isn't needed to change attributes on those instances, fwiw | |||
MadcapJake | Yeah it's gotta be a container, right? | ||
timotimo | that's the most common thing you'd do | ||
aye | |||
supernovus | For 99% of the methods in this library, removing 'is rw' worked perfectly, as the methods don't actually change the variable, they just change properties on the object instance. In this one case, it reads an property from the object, uses it to look up a different value, and replaces the original $xml object with the new object. | 22:12 | |
timotimo | right, that soudns exactly like what you'd want "is rw" for | 22:14 | |
supernovus | Yeah, except that now it complains that the XML object is not a container. How do I create a container? | ||
It's really been a long time since I've been active in the Perl 6 world. I'm way behind on things. :( | |||
MadcapJake | Are you binding XML::Element objects to scalars or assigning them? | 22:15 | |
timotimo | my $foo = XML::Object.new(); XML::MutatingThing($foo) | ||
22:16
dolmen joined
|
|||
MadcapJake | Is your work up on github, supernovus ? | 22:17 | |
supernovus | timotimo: Yes, looking at the code, it creates each XML::Element object using the .new() constructor, then passes it through the parser to process any TAL statements. | ||
Yeah, I'll commit the current work to the point I've gotten it to. | |||
Timbus_ | but are you storing it. like in a container | ||
MadcapJake | = creates containers and := binds directly to values | 22:18 | |
timotimo | if it doesn't go through a variable, it b0rks | 22:19 | |
supernovus | The Flower source is here: github.com/supernovus/flower it quite possibly needs a full overhaul. I'll check out the XML library to see if the problem lies in it. | 22:20 | |
Everything appears to use = instead of := so I'm not sure what's going on. I'm going to try updating my Rakudo. It may be horridly out of date. | 22:22 | ||
MadcapJake | Where's that particularly troublesome routine? | 22:23 | |
supernovus | github.com/supernovus/flower/blob/...AL.pm6#L72 | ||
22:24
dolmen left
|
|||
timotimo | where is it used from? | 22:24 | |
where does that blow up? | |||
MadcapJake | Shouldn't s/$.tales/$!tales/ ? | 22:25 | |
timotimo | it has $.tales, so it'd be fine | 22:26 | |
22:26
sufrostico joined
|
|||
supernovus | Hmm, tracking backwards, a few places look like they need the 'is rw' trait because of that darn replacement feature. | 22:29 | |
22:29
RabidGravy left
|
|||
timotimo | i've searched for "parse-replace" and the only hit i got was for the definition | 22:29 | |
so does nothing ever call that anywhere? | |||
how can it blow up, then ... | |||
supernovus | It gets called from github.com/supernovus/flower/blob/...r.pm6#L184 | ||
timotimo | you may want to use "is raw" instead of "is rw" and manually check if it's a writable container for that specific path | 22:30 | |
is raw is a bit similar to is rw, but it won't error out when it doesn't get a writable container | |||
you may find .VAR interesting for this | 22:33 | ||
m: sub test-it($foo is raw) { try say $foo.VAR }; test-it("hello"); test-it(my $var = "goodbye") | |||
camelia | rakudo-moar 0b8e08: OUTPUT«hello"goodbye"» | ||
dalek | c: 3217c8f | (Tom Browder)++ | doc/Language/unicode_texas.pod: having trouble adding unicode symbol for e in first column--using ascii e instead--need someone to fix it |
||
c: dea1490 | (Tom Browder)++ | doc/Language/unicode_texas.pod: Merge pull request #456 from tbrowder/master using ascii 'e' for unicode symbol for 'e' in first column |
|||
timotimo | m: sub test-it($foo is raw) { try say $foo.VAR.perl }; test-it("hello"); test-it(my $var = "goodbye") | 22:34 | |
camelia | rakudo-moar 0b8e08: OUTPUT«"hello"Str.new» | ||
timotimo | m: sub test-it($foo is raw) { try say $foo.VAR.WHAT }; test-it("hello"); test-it(my $var = "goodbye") | ||
camelia | rakudo-moar 0b8e08: OUTPUT«(Str)(Scalar)» | ||
timotimo | that's better | ||
supernovus | I've got it working much better now. I have a few bugs to work out yet. How do I force recompilation of precompiled libraries? | 22:41 | |
Looks like most of the failing tests now have to do with whitespace issues, and the use of any() in some of the tests. | 22:44 | ||
22:47
jolts joined,
firstdayonthejob left
|
|||
Timbus_ | i -think- what you want is actually.. 'is raw' in your dispatcher, but 'is rw' in all of the methods where you are replacing the contents unconditionally? | 22:47 | |
TimToady | .tell psch #127965 is not a bug because LTM and one-pass parsing | 22:48 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127965 | ||
yoleaux | TimToady: I'll pass your message to psch. | ||
Timbus_ | otherwise you should be inspecting every raw object to see if it is actually a container.. | ||
supernovus | Timbus_: Thanks. I changed all the parse-* methods to use 'is rw' and only kept 'is raw' on the dispatcher methods in Flower.pm6 itself. | 22:51 | |
timotimo | Timbus_: oh, of course! just using "is rw" for the method that replaces things will automatically give you the error check | 22:52 | |
though you may want to wrap that in a try/catch to give a better error message that points to the underlying problem :) | |||
Timbus_ | yea | 22:53 | |
supernovus | It's not like Flower is a very widely used template engine, but because it's listed as a dependency of the Web::Template library, it's been breaking things for people using that. | ||
timotimo | i'm heading to bed | 22:54 | |
gnite! | 22:55 | ||
supernovus | Is there a 'recommends' option in the META.info yet? | ||
Good night timotimo, thanks for the help! | |||
timotimo | you're very welcome :) | ||
supernovus | Even if there isn't a 'recommends' feature, I could remove Template6, Flower, Template::Mojo, and HTML::Template from the list of dependencies from Web::Template, and just update the README to say you'll need to install the template engine you want to use. Then I can worry about getting Flower fixed up a bit slower as I doubt many people (if any) are using it. | 22:59 | |
23:01
ifim` joined
|
|||
smls | TimToady: While you're deciding if things are a bug or not, can you take a look at #127872 ? | 23:02 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127872 | ||
supernovus | Looks like Template6 isn't working properly under the newest Rakudo either. Sigh. I've really let these libraries get outdated. | ||
23:03
ifim left
23:04
kid51 joined
|
|||
supernovus | Never mind. Because of precompilation, I can't just remove the template engines from Web::Template's dependencies as it's class files require them. Argh. | 23:05 | |
masak | supernovus: 'recommends' whiffs of overdesign to me. either something is a dependency, or it isn't. | ||
what's a conforming client going to do with 'recommends' information? look at the installed modules and nod in contentment? | |||
23:06
cpage_ joined
|
|||
supernovus | I was thinking like .deb packages, where it just says, "you may also want package 'blah'" but yeah, it doesn't work in this case, as without the individual template engines, the class files can't be compiled. | 23:06 | |
masak rests his case | 23:07 | ||
supernovus | Wait, Template6 is working fine. It's just Flower that is broken. I'm going to temporarily remove Flower from Web::Template until I can get it working again. | 23:16 | |
Okay, done. Web::Template and anything depending on it (Web::App::MVC and Web::App::Ballet) should be installable again with no Flower dependency. | 23:20 | ||
masak | TimToady: in `my @x[$n]`, should Perl 6 (a) allow $n to be a dynamic/runtime value, or (b) require it to be static/compile-time? | 23:21 | |
if (a), are there any consequences/warnings that tell the user that they're using a static construct in a dynamic way? | |||
23:22
ifim`` joined
23:23
ifim` left,
lizmat left
|
|||
supernovus | Well, I'm going to have to run. Have a great day/night everyone. I hope to fix up some of my long neglected libraries at some point when I'm not completely overloaded with work! :-) | 23:27 | |
23:28
_28_ria joined
|
|||
TimToady | smls: looks like a bug to me | 23:30 | |
masak: the warning is that it will run slower :) | 23:31 | ||
23:32
supernovus left
|
|||
masak | TimToady: in other words, no rakudobug. got it, ta. | 23:32 | |
I think in our case the challenge'll be to make it run faster in the static case ;) | 23:33 | ||
TimToady | it tends to fall out of type specialization et al. | ||
but you can declare $n as a constant to proved more kloo | 23:34 | ||
*provide | |||
masak | aye, 'course | ||
but Rakudo needs to pick up on that | |||
TimToady: I don't mean to tug your attention too much, but did you have time to ponder irclog.perlgeek.de/p6dev/2016-04-22#i_12376718 ? | 23:38 | ||
TimToady | don't have a strong opinion yet | 23:40 | |
masak | ok, tha's goodenuf for now | ||
with the enum spec especially, I've known *not* rushing you to lead to a good end result ;) | 23:41 | ||
23:41
cdg left
23:42
cdg joined
23:46
cdg left
23:52
smls left
|
|||
dalek | c: e7fab01 | (Tom Browder)++ | doc/Language/unicode_texas.pod: put ascii commas in correct place for lists > 2 elements |
23:53 | |
c: 23e0e6b | (Tom Browder)++ | doc/Language/unicode_texas.pod: Merge pull request #457 from tbrowder/master put ascii commas in correct place for lists > 2 elements |
|||
23:56
maddingue joined
23:58
cpage_ left
|