»ö« 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«hi␤foo␤»
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«1␤2␤3␤»
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«0␤1␤2␤»
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«0␤1␤2␤»
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/dlJoLObheC␤Malformed 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/kOEgj3L0nF␤Missing << 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«1␤5␤10␤»
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