Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-04-18

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:10 ZoffixLappy m: class Foo { my $rovers = set <curiosity opportunity spirit>; my subset RoverName of Str where * ∈ $rovers; has RoverName $.r; }; Foo.new: r => 'curiosity'
00:10 camelia rakudo-moar 617bb4: OUTPUT«Type check failed in assignment to $!r; expected Foo::RoverName but got Str ("curiosity")␤  in block <unit> at /tmp/92u4P22RLy line 1␤␤»
00:11 ZoffixLappy Why does this fail?
00:12 ZoffixLappy WhateverCode doesn't close over $rovers I guess
00:14 ZoffixLappy Hm, and even if I use a { $_ ∈ $rovers } with my Subset::Helpers sub that takes it as &code, it tells me $rovers is an Any :/
00:14 sue joined #perl6
00:14 psch m: class Foo { constant $rovers = set <curiosity opportunity spirit>; subset RoverName of Str where * ∈ |$rovers; has RoverName $.r; }; Foo.new: r => 'curiosity'
00:14 camelia rakudo-moar 617bb4: ( no output )
00:14 psch ZoffixLappy: subsets are compile time
00:15 psch ZoffixLappy: which means, during "subset RoverName ..." the name is known, but it doesn't have a value yet
00:16 psch where "the name" is $rovers
00:17 psch m: class Foo { my $rovers; BEGIN { $rovers = set <curiosity opportunity spirit> }; subset RoverName of Str where * ∈ |$rovers; has RoverName $.r; }; Foo.new: r => 'curiosity' # alternatively
00:17 camelia rakudo-moar 617bb4: ( no output )
00:18 ZoffixLappy psch, thanks. Now I understand.
00:18 psch also please note that there's an extraneous | in my examples... :)
00:18 ZoffixLappy psch++
00:18 ZoffixLappy Noted :)
00:26 psch heh
00:26 * psch has a plan
00:26 psch it's terrible
00:27 psch but: i have confirmed that 2015.11 doesn't have the NC bug on r-j
00:27 psch v6.c does
00:27 johndau joined #perl6
00:27 psch i also know that cffa68807e6390d195f6d0f373c8c79b15fb9a61 has the fix for an unrelated build error for r-j
00:28 psch so i plan to rebase that fix back to before 2015.11 and bisect then
00:28 psch it'll probably go up in smoke in a lot of ways
00:28 ZoffixLappy \o/
00:29 Herby_ joined #perl6
00:31 psch yeah, obviously it doesn't work
00:31 johndau joined #perl6
00:31 psch i'll first have to find the earliest place i can appliy cffa688
00:31 psch or, maybe the latest
00:32 * psch stashes that for later, mentally
00:32 psch like, after sleeping, which sounds like a good idea about now... o/
00:32 Herby_ m: my $string = 'bobo'; say $string.comb(/<[aeiou]>/).elems;
00:32 camelia rakudo-moar 617bb4: OUTPUT«2␤»
00:33 johndau joined #perl6
00:33 Herby_ m: my $string = 'vowels'; say $string.comb(/<[aeiou]>/).elems;
00:33 camelia rakudo-moar 617bb4: OUTPUT«2␤»
00:33 Herby_ m: my $string = 'mississippi'; say $string.comb(/<[aeiou]>/).elems;
00:33 camelia rakudo-moar 617bb4: OUTPUT«4␤»
00:34 Herby_ m: my $string = 'mississippi'; say $string.comb(/\w/).elems;
00:34 camelia rakudo-moar 617bb4: OUTPUT«11␤»
00:36 teatime joined #perl6
00:43 dalek modules.perl6.org: 48b16bf | (Tom Browder)++ | templates/root/index.html.ep:
00:43 dalek modules.perl6.org: add a blurb on the Test module
00:43 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/48b16bf56b
00:43 dalek modules.perl6.org: e8f4fee | (Zoffix Znet)++ | templates/root/index.html.ep:
00:43 dalek modules.perl6.org: Merge pull request #56 from tbrowder/master
00:43 dalek modules.perl6.org:
00:43 dalek modules.perl6.org: add a blurb on the Test module
00:43 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/e8f4fee4d2
00:45 ZoffixLappy OTOH, that commit probably should link to /testing in docs instead of the source and include NativeCall too
00:45 timotimo Xliff: oh, i think you might have to pass a CPointer to array of array of num to make things work
00:45 timotimo because you said the C library allocates it for you, right?
00:54 ZoffixLappy gs
00:54 Herby_ m: "count the words".comb(/ /).elems.say;
00:54 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dT_Zo4r9Mp␤Null regex not allowed␤at /tmp/dT_Zo4r9Mp:1␤------> 3"count the words".comb(/ /7⏏5).elems.say;␤»
00:54 ZoffixLappy oops, sorry.
00:55 ZoffixLappy Herby_, whitespace is insignificant. Also, there's .words method
00:55 Herby_ m: "count the words".comb(/\s/).elems.say
00:55 camelia rakudo-moar 617bb4: OUTPUT«2␤»
00:55 Herby_ words method you say?
00:55 ZoffixLappy Yup :)
00:55 ZoffixLappy camelia also responds to /msg, if you wish to play with her in private.
00:55 ZoffixLappy .oO( that sounded awfully dirty )
00:55 Herby_ okie dokie, i'll give that a shot. thanks
00:56 torbjorn joined #perl6
00:57 perlawhirl joined #perl6
00:59 perlawhirl Herby_: "count the words".words.elems or coece to numerical with prefix:<+>, ie +"count the words".words
00:59 timotimo i wonder why we don't have precircumfix operator category :P
00:59 pochi joined #perl6
01:00 Herby_ perlawhirl: thanks. the use of prefixes like that is still kind of foreign to me
01:01 Spot__ joined #perl6
01:01 perlawhirl Herby_: personally I perfer .elems anyway, because it's more explicit
01:06 Xliff timotimo, Yeah. The lib allocates for me.
01:06 Xliff I will try that. Cheers.
01:07 vendethiel joined #perl6
01:07 Xliff timotimo, so how do I pre-allocate the pointer?
01:07 Xliff Or should I just pass a scalar?
01:08 skink Pointer[CArray[CArray[num32]]]
01:08 skink That's just silly :D
01:09 timotimo actually, you can just pass it an int64 :P
01:09 timotimo but other than that, i'd build a CArray to receive it, give it a single slot to put stuff into
01:09 timotimo actually ... maybe "is rw" will do the extra pointer for you
01:09 Xliff Hmmm...
01:10 Xliff Worth a try.
01:10 Xliff Pointer[CArray[CArray[num32]]] segfaulted.
01:12 Xliff Now getting "CArray of CArray passed non-CArray object"
01:15 Xliff m: say (0.0).WHAT
01:15 camelia rakudo-moar 617bb4: OUTPUT«(Rat)␤»
01:15 timotimo cell, you can't create a Pointer out of thin air
01:16 timotimo you need the storage for that, so that's why i told you to build it with a CArray with a single slot
01:16 Xliff m: my Num $b = 0.0; say $b.WHAT
01:16 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Stsqbz9pIv␤Cannot assign a literal of type Rat (0e0) to a variable of type Num. You can declare the variable to be of type Real, or try to coerce the value with 0e0.Num or Num(0e0), or just write the value as…»
01:16 geekosaur joined #perl6
01:19 Xliff OK. Now $appp[^5] is defined. But the values are 0.
01:19 Xliff Progress!! ^_^
01:19 molaf_ joined #perl6
01:21 Xliff Well, DUH! That's what "CArray[num32].new(Num(0.0));" does.
01:23 Xliff Still, it looks like no matter how $appp is created, if it is passed to the C-lib, the data that should be in $appp.... isn't.
01:25 Sgeo_ joined #perl6
01:40 kid51 joined #perl6
01:41 clkao joined #perl6
01:43 Actualeyes joined #perl6
01:46 Herby_ joined #perl6
01:46 timotimo if you want to write a num, you just need an "e" in there
01:46 Xliff Single dimensional array passed as parameter to C lib not returning values.
01:46 timotimo m: say 1e0.WHAT
01:46 camelia rakudo-moar 617bb4: OUTPUT«(Num)␤»
01:46 Xliff k
01:46 timotimo can you paste your code along with the library i'd need?
01:46 Xliff Yeah. I'm gonna gist this, tonight.
01:46 Xliff I'll get yoleaux to pass on the link. I'm kinda blurry eyed, now.
01:46 teatime m: 0e0.WHAT
01:46 camelia rakudo-moar 617bb4: ( no output )
01:47 Xliff Been looking at aspects of this thing all weekend.
01:47 teatime m: say 0e0.WHAT
01:47 camelia rakudo-moar 617bb4: OUTPUT«(Num)␤»
01:47 timotimo oh my :S
01:48 timotimo sorry to hear it
01:48 timotimo i need to go to bed really soon, too
01:50 Xliff Yeah. C code, here.
01:50 Xliff https://gist.github.com/Xliff/11acc06d8e4c35140fa3535bbfe47329
01:50 timotimo will the p6 part go into the same gist as a second file?
01:54 Xliff Updated with P6 part. Same link.
01:54 Xliff No. I usually do everything in one .md file for the highlighting.
01:54 ZoffixLappy Any idea why this code results in -> ;; $_? is raw, (code blocks?) pushed into my <photos> array? https://gist.github.com/zoffixznet/759afef37d52c9e7ac90ecbed14ffde0
01:54 ZoffixLappy m: my @a; @a.push: { foo => 'bar', ber => 'boor' }; say @a.perl; # this example seems to work fine
01:54 camelia rakudo-moar 617bb4: OUTPUT«[{:ber("boor"), :foo("bar")},]␤»
01:55 timotimo because you refer to $_ iside it
01:55 timotimo inside*
01:55 ZoffixLappy :/
01:55 ZoffixLappy How do I fix it?
01:55 timotimo give the variable a name
01:56 timotimo alternatively, you could use $/ and the shortcut syntax that goes with that
01:56 timotimo m: my @res; for ^5 { @res.push: { a => $_, b => $_ + 2 }; }; say @res
01:56 camelia rakudo-moar 617bb4: OUTPUT«[-> ;; $_? is raw { #`(Block|62241488) ... } -> ;; $_? is raw { #`(Block|62241560) ... } -> ;; $_? is raw { #`(Block|62241632) ... } -> ;; $_? is raw { #`(Block|62241704) ... } -> ;; $_? is raw { #`(Block|62241776) ... }]␤»
01:56 ZoffixLappy Works. Thanks, timotimo++
01:56 timotimo m: my @res; for ^5 -> $foo { @res.push: { a => $foo, b => $foo + 2 }; }; say @res
01:56 camelia rakudo-moar 617bb4: OUTPUT«[{a => 0, b => 2} {a => 1, b => 3} {a => 2, b => 4} {a => 3, b => 5} {a => 4, b => 6}]␤»
01:56 ZoffixLappy Weirdest wat I've encountered so far.
01:57 ZoffixLappy m: my @res; for ^5 { @res.push: %( a => $_, b => $_ + 2 ); }; say @res
01:57 camelia rakudo-moar 617bb4: OUTPUT«[{a => 0, b => 2} {a => 1, b => 3} {a => 2, b => 4} {a => 3, b => 5} {a => 4, b => 6}]␤»
01:57 ZoffixLappy Guess ^ that is also an option
01:57 timotimo yes
01:58 timotimo you can also force interpretation as a hash by prefixing the initial { with a :
01:58 timotimo that'll give you an object hash, but that shouldn't be a problem
01:58 Xliff timotimo: Other thing I may want to try is to see what happens when I return the allocated pointers, rather than using a rw param.
02:00 timotimo i didn't know you had the freedom to choose that
02:00 skids joined #perl6
02:00 Xliff timotimo, for the use-case, I don't
02:00 Xliff It would just be an experiment.
02:01 Xliff If it works, I'd have to add a lib that would wrap the calls that pass data this way.
02:01 Xliff And then point P6 to those routines
02:01 Xliff Obviously, I don't want to do that. But it's an option.
02:02 Xliff Of course, I'd then have to bundle that lib. PITA.
02:03 timotimo it shouldn't be needed, we should be able to figure this out
02:07 skink I'm trying to figure out what's going on in the previous gist tbh
02:07 skink With the char array
02:11 timotimo where is that gist?
02:13 skink https://gist.github.com/Xliff/53f4c7e86c2e0711b177ac89cbf5d87a
02:15 timotimo ah
02:15 timotimo "going on"?
02:17 Xliff Oh. I forgot to update that with sortiz's better implementation of as_blob.
02:17 skink Well a char[282] would just be Buf/CArray[281] = 0 no?
02:17 Xliff Done.
02:18 timotimo can't just put that into a CStruct, though
02:18 Xliff Can't pass it as a sized-C array since, again, the allocation is performed by libogg.
02:18 skink agh
02:18 Xliff And yes, inside a C-struct. Embedded.
02:19 Xliff skink, now you know my pain.
02:19 Xliff s/my/some of my/
02:20 Xliff Attempt at caffeine revival failed. Throwing ResourceExhaustionFatigue exception.
02:21 Xliff (Did I write a catch handler for that?!? Hmmmm.....zzzzzz....)
02:22 skink Is there some nicer lib using libogg that you can bind to instead? :)
02:25 dalek modules.perl6.org: d2aa124 | (Zoffix Znet)++ | templates/root/index.html.ep:
02:25 dalek modules.perl6.org: Make the standard module blurb more useful
02:25 dalek modules.perl6.org:
02:25 dalek modules.perl6.org: Link to docs, not source, and mention NativeCall too.
02:25 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/d2aa124070
02:27 Xliff skink: Donno. May look.
02:28 Xliff Still. Most of the things I am running into are standard practices for C libs. If NativeCall is going to bind to them, these are issues that will need to be dealt with.
02:29 Xliff NativeCall not being able to handle/represent a pre-allocated array is a big issue.
02:30 skink There is VorbisFile, which claims to be a higher-level and more convenient API
02:30 Xliff Thanks. I'll look into that one.
02:30 skink In which I do not see any big ol' char arrays
02:30 skink https://www.xiph.org/vorbis/doc/vorbisfile/
02:30 Xliff Look for many *'s in a row.
02:30 Xliff Coz I've got a working solution for char arrays, even if it is ugly.
02:31 Xliff Now it's passing arrays via rw params that seem to be an issue.
02:31 Xliff Probably mine, but still an issue.
02:31 Xliff s/Probably/Most likely/
02:32 skink Deepest I see is... char **user_comments
02:32 skink OH GOD NO
02:32 skink float ***pcm_channels
02:33 Xliff HAHAHAHA!
02:33 Xliff Can't get away from 'em.
02:33 teatime heh, there's a whole joke about 'three star programmers'
02:35 ZoffixWin I found a bug:
02:35 ZoffixWin m: say  40+2
02:35 camelia rakudo-moar 617bb4: OUTPUT«42␤»
02:35 Xliff May have to try and get jnthn++ to help.
02:35 * ZoffixWin muffles a snicker
02:36 Xliff when he has the time.... <- there's a joke in there.
02:36 teatime ZoffixWin: nice one
02:36 AlexDaniel joined #perl6
02:36 vendethiel joined #perl6
02:36 Xliff ZoffixWin, zero width character detected.
02:36 Xliff Level up your trolling skills, my son.
02:36 AlexDaniel m: sub f(Any:D :$x where * %% 2) {}; f(x => 42)
02:36 camelia rakudo-moar 617bb4: ( no output )
02:37 ZoffixWin Xliff, zero width?
02:37 ZoffixWin m: ' '.uniname.say
02:37 camelia rakudo-moar 617bb4: OUTPUT«OGHAM SPACE MARK␤»
02:37 Xliff It comes up as a box with 0's on my end.
02:37 Xliff Which means "that character has no visible representation, that I know of.... and it's looking at me funny"
02:37 Herby_ joined #perl6
02:38 noganex joined #perl6
02:38 Xliff ' ' <- MAKE IT STOP!
02:38 AlexDaniel psch: ↑ that's how you can use * if you want
02:38 AlexDaniel psch: I assume that it is equivalent
02:38 AlexDaniel psch: but the error message is a bit more precise in this case
02:38 AlexDaniel m: sub f(Any:D :$x where * %% 2) {}; f(x => Any)
02:38 camelia rakudo-moar 617bb4: OUTPUT«Parameter '$x' requires an instance of type Any, but a type object was passed.  Did you forget a .new?␤  in sub f at /tmp/zZosqHlcLU line 1␤  in block <unit> at /tmp/zZosqHlcLU line 1␤␤»
02:39 AlexDaniel m: sub f(:$x where .defined && $_ %% 2) {}; f(x => Any)
02:39 camelia rakudo-moar 617bb4: OUTPUT«Constraint type check failed for parameter '$x'␤  in sub f at /tmp/uodlt2nboH line 1␤  in block <unit> at /tmp/uodlt2nboH line 1␤␤»
02:39 Herby_ I want to create a class called journalEntry. When I create a journalEntry object, I want it to have an attribute of the current date/time
02:39 Xliff skink, FWIW VorbisFile may bne the next thing I try and tackle, but as you've seen... the whole "float ***" issue needs to be handled.
02:39 Herby_ how do I do that?  I'm looking at perl6intro and getting a bit lost
02:39 avenj joined #perl6
02:39 avenj joined #perl6
02:40 Xliff Herby_, class A { has DateTime $.dt; sub new { $.dt = DateTime.now } }
02:40 AlexDaniel m: class Test { has $.x = now; }; say Test.new.x; say Test.new.x
02:40 camelia rakudo-moar 617bb4: OUTPUT«Instant:1460947277.894294␤Instant:1460947277.897476␤»
02:40 Xliff Or that.
02:41 Herby_ great, I'll poke around both those. thanks!
02:41 ZoffixWin Xliff, that char looks like a minus: http://i.imgur.com/P4XBBWN.png
02:41 Xliff AlexDaniel's is better.
02:41 ZoffixWin And yeah, I also get box with zeros in HexChat ~_~
02:41 Xliff LOL!
02:41 Xliff Thanks for the screenie.
02:41 AlexDaniel .u
02:42 yoleaux U+1680 OGHAM SPACE MARK [Zs] ( )
02:42 AlexDaniel ZoffixWin: so it's not a bug
02:42 teatime ZoffixWin: it worked on me.  I just see a minus-hyphen :(
02:42 ZoffixWin AlexDaniel, no :)
02:42 AlexDaniel ZoffixWin: by the way
02:42 AlexDaniel .u minus
02:42 yoleaux U+002D HYPHEN-MINUS [Pd] (-)
02:42 yoleaux U+00B1 PLUS-MINUS SIGN [Sm] (±)
02:42 yoleaux U+02D7 MODIFIER LETTER MINUS SIGN [Sk] (˗)
02:42 skink It's late. I read that as DAMN SPACE MARK
02:42 AlexDaniel m: say -42
02:42 camelia rakudo-moar 617bb4: OUTPUT«-42␤»
02:42 teatime AlexDaniel: there are sooo many dash-like chars it's ridiculous
02:42 AlexDaniel no wait
02:43 Xliff m: say -42
02:43 camelia rakudo-moar 617bb4: OUTPUT«-42␤»
02:43 AlexDaniel I swear that there is a character that is supported
02:43 Xliff m: say −42
02:43 camelia rakudo-moar 617bb4: OUTPUT«-42␤»
02:44 AlexDaniel m: say −42
02:44 camelia rakudo-moar 617bb4: OUTPUT«-42␤»
02:44 AlexDaniel .u −
02:44 Xliff m: say ±42
02:44 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/4Wb8zh6TAO:1␤------> 3say7⏏5 ±42␤Bogus postfix␤at /tmp/4Wb8zh6TAO:1␤------> 3say 7⏏5±42␤    expecting any of:␤        infix␤        infix stopper␤        p…»
02:44 yoleaux U+2212 MINUS SIGN [Sm] (−)
02:44 AlexDaniel this one ↑
02:44 ZoffixWin m: say −42
02:44 camelia rakudo-moar 617bb4: OUTPUT«-42␤»
02:44 Xliff Just used that one.
02:44 ZoffixWin .u plus sign
02:44 yoleaux U+002B PLUS SIGN [Sm] (+)
02:44 ZoffixWin .u wide plus sign
02:44 yoleaux No characters found
02:44 ZoffixWin Hm
02:44 Herby_ AlexDaniel: how do I convert that timestamp to something readable?
02:44 AlexDaniel yeah, it's funny. plus sign is ascii, minus sign is no
02:45 Herby_ like date/time
02:45 ZoffixWin heh
02:45 AlexDaniel not*
02:45 Xliff m: say ⁒42
02:45 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/KeJtP6vEuz:1␤------> 3say7⏏5 ⁒42␤Bogus postfix␤at /tmp/KeJtP6vEuz:1␤------> 3say 7⏏5⁒42␤    expecting any of:␤        infix␤        infix stopper␤       …»
02:45 teatime AlexDaniel: Because ASCII - is overloaded and has lots of different meanings that benefit from disambiguation; + not so much.
02:46 ZoffixWin m: say 2+-42
02:46 camelia rakudo-moar 617bb4: OUTPUT«-40␤»
02:46 ZoffixWin :o colour me impressed
02:46 Xliff Herby_, $.dt.Str
02:46 AlexDaniel m: say now.DateTime
02:46 camelia rakudo-moar 617bb4: OUTPUT«2016-04-18T02:46:14.255263Z␤»
02:46 Xliff Or that
02:46 Herby_ m: class Test { has $.x = now; }; say Test.new.x; say Test.new.x.Str
02:46 camelia rakudo-moar 617bb4: OUTPUT«Instant:1460947633.070974␤Instant:1460947633.074330␤»
02:47 Herby_ thx
02:47 AlexDaniel teatime: sure, I'm not saying that it is wrong. Perfectly made sense back then
02:47 ZoffixWin m: class Test { has $.x = now; }; say Test.new.x; say Test.new.x.DateTime
02:47 camelia rakudo-moar 617bb4: OUTPUT«Instant:1460947674.995098␤2016-04-18T02:47:18.998232Z␤»
02:48 AlexDaniel another interesting observation is that a lot of people are using ’ for apostrophe, which is a bit wrong.
02:48 Xliff Herby_, if you need more options... https://github.com/supernovus/perl6-datetime-format
02:48 AlexDaniel .u '
02:48 yoleaux U+0027 APOSTROPHE [Po] (')
02:48 AlexDaniel .u ’
02:48 yoleaux U+2019 RIGHT SINGLE QUOTATION MARK [Pf] (’)
02:48 Herby_ Xliff: I'll give it a read, thanks
02:48 Xliff Always one of the first things I install when I rebuild rakudo.
02:48 AlexDaniel m: say DateTime.now(formatter => { sprintf "%02d:%02d",.hour,.minute });
02:48 camelia rakudo-moar 617bb4: OUTPUT«04:48␤»
02:49 AlexDaniel Herby_: perhaps see https://doc.perl6.org/type/DateTime
02:49 Herby_ will do
02:50 teatime AlexDaniel: there are enough semantic errors / weirdness in the names of unicode chars that I don't really consider them authoritative.
02:50 AlexDaniel teatime: what do you consider authoritative then? :)
02:50 AlexDaniel teatime: like, there has to be something
02:50 teatime AlexDaniel: I have read some arguments on that particular question that go both ways though
02:50 AlexDaniel teatime: common sense? Popularity?
02:51 teatime perhaps.
02:52 AlexDaniel m: say −-−-42
02:52 camelia rakudo-moar 617bb4: OUTPUT«42␤»
02:53 tardisx joined #perl6
02:53 AlexDaniel m: say ‘−-−-42’.uninames
02:53 camelia rakudo-moar 617bb4: OUTPUT«(MINUS SIGN HYPHEN-MINUS MINUS SIGN HYPHEN-MINUS DIGIT FOUR DIGIT TWO)␤»
02:53 AlexDaniel all we need is a hyphen-plus
02:53 AlexDaniel for completeness… :D
02:53 teatime one that troubled me for a while until I just gave in to the sensible thing, is not wanting to use ≅ because I'd rather see the ≈ glyph for approximately equal to
02:53 teatime .u ≅
02:53 yoleaux U+2245 APPROXIMATELY EQUAL TO [Sm] (≅)
02:54 teatime .u ≈
02:54 yoleaux U+2248 ALMOST EQUAL TO [Sm] (≈)
02:54 AlexDaniel teatime: the problem with this one was that ≈ looks a bit too similar to ~~
02:54 teatime hmm?
02:55 teatime I wasn't talking about in the context of Perl6 :0
02:55 teatime er :)
02:55 AlexDaniel ahhh
02:55 AlexDaniel .u ≈
02:55 yoleaux U+2248 ALMOST EQUAL TO [Sm] (≈)
02:55 teatime can I take from that then, that perl6 recognizes ≅ as an operator?
02:55 AlexDaniel teatime: it does
02:55 teatime hehe
02:55 teatime naturally
02:55 AlexDaniel m: 42.399999999999999999999999999e0 ≅ 43.4e0
02:56 camelia rakudo-moar 617bb4: ( no output )
02:56 AlexDaniel m: say 42.399999999999999999999999999e0 ≅ 43.4e0
02:56 camelia rakudo-moar 617bb4: OUTPUT«False␤»
02:56 AlexDaniel m: say 42.3999999999999999999999999999999999999999999999e0 ≅ 43.4e0
02:56 camelia rakudo-moar 617bb4: OUTPUT«False␤»
02:56 AlexDaniel ah
02:56 AlexDaniel m: say 42.3999999999999999999999999999999999999999999999e0 ≅ 42.4e0
02:56 camelia rakudo-moar 617bb4: OUTPUT«True␤»
02:56 AlexDaniel m: say 42.39999999999999999999999999e0 ≅ 42.4e0
02:56 camelia rakudo-moar 617bb4: OUTPUT«True␤»
02:56 AlexDaniel m: say 42.3999999999999999e0 ≅ 42.4e0
02:56 camelia rakudo-moar 617bb4: OUTPUT«True␤»
02:56 AlexDaniel m: say 42.39999e0 ≅ 42.4e0
02:56 camelia rakudo-moar 617bb4: OUTPUT«False␤»
02:56 AlexDaniel teatime: anyway, that's for comparing Nums
02:57 teatime yeah I knew there was a approx eq operator
02:57 teatime just didn't realize it had unicode
02:57 teatime seems like the unicode operator docs could use an update
02:57 teatime but maybe I just overlooked it
02:57 AlexDaniel teatime: https://doc.perl6.org/language/unicode_texas
02:58 AlexDaniel what I still cannot accept is this
02:58 AlexDaniel m: 2¯³
02:58 camelia rakudo-moar 617bb4: ( no output )
02:58 AlexDaniel m: say 2¯³
02:58 camelia rakudo-moar 617bb4: OUTPUT«0.125␤»
02:59 AlexDaniel .u ¯
02:59 yoleaux U+00AF MACRON [Sk] (¯)
02:59 teatime yeah weird, esp. since ⁻ exists
02:59 teatime 0xAF is probably easier to get to in default KB layouts tho
03:00 teatime .u ⁻
03:00 yoleaux U+207B SUPERSCRIPT MINUS [Sm] (⁻)
03:00 tardisx joined #perl6
03:00 AlexDaniel teatime: yeah… somebody said “hey, there's a superscript minus, here it is: ¯” and that's how we got it
03:01 teatime too late to fix now?
03:01 AlexDaniel because on some configs ^ + - is macron or something
03:01 AlexDaniel teatime: no it wasn't too late back then, but TimToady decided that it's ok, so let be it
03:02 teatime heh... I have congnitive dissonance when I think I think of TimToady as 'Tim'
03:23 pecastro joined #perl6
03:30 cibs joined #perl6
03:45 MadcapJake I am getting stumped by this segmentation fault.  It happens right here: https://github.com/MadcapJake/p6-MyHTML/blob/master/lib/HTML/MyHTML/Tree.pm6#L34 and I have no idea why.  Anyone able to take a look?
03:47 Xliff &lib?
03:47 MadcapJake That's this: https://github.com/MadcapJake/p6-MyHTML/blob/master/lib/HTML/MyHTML/Lib.pm6
03:49 pecastro joined #perl6
03:49 Xliff Gotcha.
03:52 Xliff Hrm.
03:52 Xliff Where is the use of the \ sigil documented?
03:53 MadcapJake http://doc.perl6.org/language/variables#Sigilless_variables
03:53 Xliff Yeah. Reading that now.
03:53 MadcapJake In this case, it was a shot in the dark. didn't seem to make a difference
03:54 Xliff Wouldn't you need a container to hold the return value of myhtml_tree_create() ?
03:55 Xliff Or is the context-less binding assignment the wholepoint?
03:55 MadcapJake no it just returns a pointer
03:56 MadcapJake it's immutable when sigilless
03:56 MadcapJake m: my \i = 10; i = 12;
03:56 camelia rakudo-moar 617bb4: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/I7Xm0LGK22 line 1␤␤»
03:56 Xliff "Tree is repr('CStruct');" but I don't see any struct members.
03:56 Xliff Right. I get that it's immutable.
03:57 MadcapJake well I wouldn't need a container for it then because I only assign it once.
03:58 Xliff Is there a .h file for /usr/local/lib/libmyhtml.so?
03:58 MadcapJake yeah the CStruct thing was also a shot in the dark, it was a CPointer and still gave the same error.  Thought it *really is* a struct
03:58 MadcapJake https://github.com/lexborisov/myhtml/blob/master/source/myhtml/api.h
03:58 MadcapJake I copied the doxygen over
03:58 Xliff Yeah. I've had better luck with CStructs that actually have a definition than with CPointers.
04:03 Xliff I think you will need to add this to your Tree class, at the very least.
04:03 Xliff https://github.com/lexborisov/myhtml/blob/master/source/myhtml/tree.h#L160
04:04 Xliff Along with all of the dependent types.
04:04 bent__ joined #perl6
04:05 Xliff I have had no luck trying to get naked pointers to do anything but segfault with NativeCall.
04:05 MadcapJake hmm alright I'll give it a shot. Thanks!
04:05 Xliff No worries. Good luck!
04:06 Xliff MadcapJake, gptrixie is your friend.
04:06 Xliff A lot of editing, though.
04:06 Xliff I would just translate the types and put them in their own unit module. You've already done everything else, looks like.
04:07 Xliff And gptrixie output is.... rough...
04:14 Cabanossi joined #perl6
04:22 Amnez777 joined #perl6
04:22 tardisx joined #perl6
04:26 MadcapJake what's the difference between a C struct field that has the type «enum foo» versus one that has type «foo_enum_type» backed by a typedef?
04:27 Xliff .u exclamation
04:27 yoleaux U+0021 EXCLAMATION MARK [Po] (!)
04:28 yoleaux U+00A1 INVERTED EXCLAMATION MARK [Po] (¡)
04:28 yoleaux U+01C3 LATIN LETTER RETROFLEX CLICK [Lo] (ǃ)
04:28 Xliff ¡WHOOP!
04:28 Xliff Got it!
04:28 TEttinger .u LETTER
04:28 yoleaux U+0041 LATIN CAPITAL LETTER A [Lu] (A)
04:28 yoleaux U+0042 LATIN CAPITAL LETTER B [Lu] (B)
04:28 yoleaux U+0043 LATIN CAPITAL LETTER C [Lu] (C)
04:28 MadcapJake o_O
04:28 TEttinger phew
04:29 teatime well they're both really ints of some width.  typedef just makes an alias for a type.
04:29 Xliff MadcapJake, I don't think there's much of a difference, since the typedefs look to just be constant declarations of the struct class.
04:29 teatime so I guess it's the same as the same situation w/ a struct or union.
04:29 MadcapJake strange that this struct contains both
04:29 Xliff MadcapJake, linky?
04:29 MadcapJake that struct at L160 you linked above
04:30 MadcapJake the enums and the encodings are both structs, one just has a typedef the other not
04:30 MadcapJake https://github.com/lexborisov/myhtml/blob/master/source/myhtml/tree.h#L208-L219
04:31 Xliff Updating gist. Now getting expected values from NativeCall "func(float ***bastard)" !!!
04:31 teatime maybe they typedef things that are part of the public api
04:31 teatime or typedef things that are supposed to be black boxes to the user of the public api.
04:32 teatime also I thought _t names were reserved for the stdlib :/
04:33 MadcapJake myhtml binding backtrace https://www.irccloud.com/pastebin/cX4D9TD8/
04:36 MadcapJake That's with an added struct: https://github.com/MadcapJake/p6-MyHTML/commit/dbf91a22cf6d94403cd60979f3b26aaa865f19ad
04:36 MadcapJake two structs actually
04:36 Xliff W00 H0000! https://gist.github.com/Xliff/11acc06d8e4c35140fa3535bbfe47329
04:36 Xliff .tell timotimo https://gist.github.com/Xliff/11acc06d8e4c35140fa3535bbfe47329
04:36 yoleaux Xliff: I'll pass your message to timotimo.
04:37 Xliff I'm sure there's probably a more elegant way to do it, but the key is passing a Pointer, and then nativecast to arrays with the binding assignment operator.
04:37 Xliff I had to dig through almost all of nom/t/04-nativecall to figure it out.
04:42 sue_ joined #perl6
04:53 Xliff MadcapJake, did you build libmyhtml with or without POSIX threads?
04:53 MadcapJake without
04:54 Xliff And the code you were running that generated the SEGV?
04:54 MadcapJake yeah it was eg/attributes-high.pl6
04:55 Xliff kk
04:59 astj_ joined #perl6
05:01 Xliff Afraid you may need struct definition for MyHTML as well.
05:02 xiaomiao joined #perl6
05:07 Xliff Yikes!
05:07 Xliff Trixie puked on myhtml.h
05:19 MadcapJake tried adding MyHTML struct fields to no avail
05:26 pierrot joined #perl6
05:29 Xliff ==11657== Invalid read of size 4
05:29 Xliff ==11657==    at 0x7EE20CE: myhtml_tag_init (in /usr/local/lib/libmyhtml.so)
05:29 Xliff ==11657==    by 0x7EE0A88: myhtml_tree_init (in /usr/local/lib/libmyhtml.so)
05:29 Xliff So something is funky.
05:31 aleogen joined #perl6
05:32 AlexDaniel .u ꘏
05:32 yoleaux U+A60F VAI QUESTION MARK [Po] (꘏)
05:33 Xliff Hummm.....
05:33 Xliff $ perl6 -Ilib eg/attributes-high.pl6
05:33 Xliff Still ain't back yet.
05:33 AlexDaniel m: say ꘤꘢ + ꘦꘩
05:33 camelia rakudo-moar 617bb4: OUTPUT«111␤»
05:34 AlexDaniel Vai is cool
05:34 AlexDaniel .u꘍
05:34 AlexDaniel .u ꘍
05:34 yoleaux U+A60D VAI COMMA [Po] (꘍)
05:34 AlexDaniel .u ꘎
05:34 yoleaux U+A60E VAI FULL STOP [Po] (꘎)
05:35 aleogen what are these squares? What did I break this time?
05:35 aleogen meh
05:35 aleogen must be something wrong with termcap/utf-8
05:35 AlexDaniel aleogen: most likely you just don't have enough fonts
05:36 aleogen which do I need?
05:38 AlexDaniel aleogen: it's hard to tell. At some point I installed unifont and was amazed by how every square turned into something renderable
05:38 AlexDaniel aleogen: but it is a bitmap font, so it is ugly
05:39 AlexDaniel these symbols above are rendered on my system with some proper font, but I have no idea how can I know which font is that
05:39 aleogen depending on xorg, which I'm not currently running
05:39 aleogen (x11-fonts rather)
05:40 aleogen Let me see if I can get that to work somehow
05:40 Xliff http://www.evertype.com/fonts/vai/ ??
05:41 AlexDaniel Xliff: not sure if there's any reason to do that unless you plan to type in vai :)
05:42 AlexDaniel Xliff: but getting some fonts that cover big chunks of unicode is a good idea
05:42 AlexDaniel aleogen: perhaps you can just install .ttf from here http://unifoundry.com/unifont.html
05:42 aleogen AlexDaniel: https://svnweb.freebsd.org/ports/head/x11-fonts/gnu-unifont-ttf
05:43 Xliff *gasp*
05:43 Xliff Unifont 12 megs???
05:43 aleogen ttf, yes
05:43 TEttinger it's even more in the hex format
05:43 TEttinger ... I think
05:44 aleogen come one, you can get 512GB of low-profile usb storage for like, $30
05:44 aleogen on*
05:44 TEttinger haha, I was way off
05:44 TEttinger it's way smaller
05:44 aleogen there's also https://svnweb.freebsd.org/ports/head/x11-fonts/gnu-unifont
05:44 aleogen much much smaller
05:45 CIAvash joined #perl6
05:46 Xliff aleogen, Just because you can do it doesn't mean you should.
05:46 TEttinger I use Unifont for IRC
05:46 AlexDaniel aleogen: ah, found it!
05:46 AlexDaniel https://www.gnu.org/software/freefont/
05:46 TEttinger using it now. because I was sick of a random unicode character throwing off alignment
05:46 AlexDaniel I bet that this one renders vai on my system
05:46 Xliff ????
05:46 AlexDaniel TEttinger: this is so annoying
05:46 TEttinger vai?
05:47 AlexDaniel m: say ꘤꘢ + ꘦꘩
05:47 camelia rakudo-moar 617bb4: OUTPUT«111␤»
05:47 TEttinger no wai
05:48 AlexDaniel aleogen: so I guess that you should install both freefont and unifont to be happy :)
05:48 Xliff ⊙ ⊙
05:48 TEttinger m: 1 + ℎ
05:48 aleogen AlexDaniel: i'm actually curious about psf unifont
05:48 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U3WJv7dfMy␤Undeclared routine:␤    ℎ used at line 1␤␤»
05:48 Xliff Lemme restart to see if I can see these.
05:48 TEttinger aw it's planck's constant!
05:48 aleogen yeah, same. sec
05:49 Xliff joined #perl6
05:49 Xliff YES!!!
05:49 TEttinger m: Ⅿ + Ⅿ
05:49 camelia rakudo-moar 617bb4: OUTPUT«WARNINGS for /tmp/sNXo282EZw:␤Useless use of "+" in expression "Ⅿ + Ⅿ" in sink context (line 1)␤»
05:49 TEttinger m: say Ⅿ + Ⅿ
05:49 camelia rakudo-moar 617bb4: OUTPUT«2000␤»
05:49 TEttinger nice
05:49 aleogen joined #perl6
05:50 AlexDaniel TEttinger: it looks like we have no planck constant at all. Not even in modules
05:50 aleogen alright, let me have it guys
05:51 TEttinger m: say 無量大數  + 無量大數
05:51 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/L8mUX4xW1f␤Undeclared routine:␤    無量大數 used at line 1␤␤»
05:51 aleogen much much much better
05:51 TEttinger m: say 울 + 울
05:51 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DqWIUdrJ8G␤Undeclared routine:␤    울 used at line 1␤␤»
05:52 TEttinger m: say 쉰 + 쉰
05:52 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1GRCvfBvtA␤Undeclared routine:␤    쉰 used at line 1␤␤»
05:52 aleogen though I cannot tell what is supposed to be after line 1
05:52 TEttinger NL ?
05:52 TEttinger newline visual control
05:52 aleogen 1␤␤»
05:52 TEttinger yep
05:52 AlexDaniel here it renders as N above L
05:52 aleogen 1 <something something> >> \n
05:52 TEttinger it's a visual way to print \n without printing a newline
05:53 TEttinger or print a substitute for it
05:53 dolmen joined #perl6
05:53 aleogen the return symbol is much more helpful I think
05:53 AlexDaniel return symbol? What symbol is that?
05:54 TEttinger m: say ℯ + ℯ
05:54 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hg6nfXbRJY␤Undeclared routine:␤    ℯ used at line 1␤␤»
05:54 TEttinger aw
05:54 aleogen oh wait, it's 〃  3003 ditt?
05:54 aleogen or something similar?
05:55 TEttinger m: say Ⅿ⁄Ⅿ
05:55 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hjsdQemRki␤Bogus postfix␤at /tmp/hjsdQemRki:1␤------> 3say Ⅿ7⏏5⁄Ⅿ␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement …»
05:55 TEttinger hm
05:55 aleogen AlexDaniel: I was thinking ⏎  23
05:55 TEttinger that's unicode 0x2044 that I used, the fraction slash
05:56 TEttinger http://www.fileformat.info/info/unicode/char/2044/index.htm
05:57 TEttinger m: say Ⅿ/Ⅿ
05:57 camelia rakudo-moar 617bb4: OUTPUT«1␤»
05:57 TEttinger nice
05:58 aleogen wow this is breaking my terminal
06:01 aleogen U+21B5, U+23CE, U+240D, those all seem to make much more sense than.. Oh
06:01 aleogen U+2424 isn't displaying properly. No wonder.
06:02 Xliff m: say ꘡꘠ + ꘤꘥
06:02 camelia rakudo-moar 617bb4: OUTPUT«55␤»
06:02 Xliff HAHAHAHAHA!
06:02 aleogen back to blocks ;_;
06:02 Xliff :(
06:03 * aleogen wonders if #perl6 is messing around now
06:03 Xliff .u return
06:03 moritz aleogen: just get a UTF-8 capable terminal :-)
06:03 yoleaux U+000D CARRIAGE RETURN (CR) [Cc] (␍)
06:03 yoleaux U+23CE RETURN SYMBOL [So] (⏎)
06:03 yoleaux U+240D SYMBOL FOR CARRIAGE RETURN [So] (␍)
06:04 aleogen moritz: my terminal is fully utf-8 capable
06:04 Xliff
06:04 AlexDaniel Xliff: what's so funny?
06:04 Xliff Not so intuitive, that one.
06:04 Xliff AlexDaniel, rakudo arithmetic works with Vai numbers.
06:04 moritz aleogen: then how can it mess with your terminal?
06:04 Xliff m: say ꘡
06:04 aleogen moritz: that's what I'm trying to figure out
06:04 camelia rakudo-moar 617bb4: OUTPUT«1␤»
06:05 Xliff m: say ꘡꘠꘠
06:05 camelia rakudo-moar 617bb4: OUTPUT«100␤»
06:05 AlexDaniel Xliff: it works with anything that has a defined numeric value
06:05 AlexDaniel Xliff: like roman numerals
06:05 Xliff :D
06:05 AlexDaniel which is weird but why not :)
06:06 Xliff I love it.
06:06 Xliff Oh, the possibilities!
06:06 AlexDaniel Xliff: well, I just have to note that possibilities are not endless
06:06 AlexDaniel for example, this works ↓
06:07 AlexDaniel m: say Ⅷ
06:07 camelia rakudo-moar 617bb4: OUTPUT«8␤»
06:07 aleogen moritz: does urxvt support unicode? :o
06:07 AlexDaniel m: sayⅩⅧ # but this doesn't
06:07 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/E40EBFRA1u:1␤------> 3say7⏏5ⅩⅧ # but this doesn't␤Bogus postfix␤at /tmp/E40EBFRA1u:1␤------> 3say7⏏5ⅩⅧ # but this doesn't␤    expecting any of:␤        i…»
06:07 Xliff m: say ⅢⅣⅤ;
06:07 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ro8BYhFpXq␤Bogus postfix␤at /tmp/ro8BYhFpXq:1␤------> 3say Ⅲ7⏏5ⅣⅤ;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement…»
06:08 Xliff m: say Ⅳ;
06:08 camelia rakudo-moar 617bb4: OUTPUT«4␤»
06:08 Xliff LOL
06:08 Xliff Roman numeral rules are in effect!
06:08 AlexDaniel Xliff: because it is a different numeral system and rakudo is not supposed to support that
06:08 Xliff m: say ⅹⅰⅰ
06:08 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Oc34tl7kcN␤Bogus postfix␤at /tmp/Oc34tl7kcN:1␤------> 3say ⅹ7⏏5ⅰⅰ␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement …»
06:08 AlexDaniel but there's https://github.com/drforr/perl6-slang-roman if you want that
06:09 Xliff m: say ⅩⅠⅠⅠ
06:09 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fpty9rzxY3␤Bogus postfix␤at /tmp/fpty9rzxY3:1␤------> 3say Ⅹ7⏏5ⅠⅠⅠ␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        stateme…»
06:10 aleogen is there a way to print out a fonttable for the fonts I've currently installed?
06:11 jack_rabbit joined #perl6
06:13 _mg_ joined #perl6
06:13 aleogen joined #perl6
06:15 Xliff aleogen, http://www.babelstone.co.uk/Software/BabelMap.html
06:15 aleogen em:
06:15 aleogen em:
06:16 aleogen Xliff: err, within freebsd, inside a virtual terminal
06:16 Xliff aleogen, O. Sorry.
06:17 aleogen say ⅩⅠⅠⅠ
06:17 aleogen em: say ⅩⅠⅠⅠ
06:18 aleogen m: say ⅩⅠⅠⅠ
06:18 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/suTM5JzWXD␤Bogus postfix␤at /tmp/suTM5JzWXD:1␤------> 3say Ⅹ7⏏5ⅠⅠⅠ␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        stateme…»
06:21 TEttinger aleogen: anything that can pull apart a cmap section of a TTF can do it
06:21 TEttinger I don't know much that does that, I found cmaptofile a while back
06:21 aleogen m: my @res; for ^5 { @res.push: %( a => $_, b => $_ + 2 ); }; say @res
06:21 camelia rakudo-moar 617bb4: OUTPUT«[{a => 0, b => 2} {a => 1, b => 3} {a => 2, b => 4} {a => 3, b => 5} {a => 4, b => 6}]␤»
06:22 TEttinger http://www.jongware.com/binaries/ I have only used the cmaptofile101.zip download
06:22 TEttinger this was the only result I got
06:22 TEttinger interestingly, google finds the IRC logs where i linked the version from my dropbox because jongware was down
06:23 aleogen haha, very practical
06:23 aleogen okay, I need more stuff that might not display properly.
06:23 TEttinger of course, cpan http://search.cpan.org/~mhosken/Font-TTF-1.05/lib/Font/TTF/Cmap.pm
06:24 aleogen TEttinger: lol, I was right on that page :p
06:26 aindilis joined #perl6
06:26 TEttinger I haven't tried, but "dumpfont -t cmap whatever.ttf" using this may work http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=FontUtils
06:30 aleogen do you have anyhting more that could possibly break my terminal?
06:30 aleogen I'd like to see if this is all fixed up yet
06:31 moritz .u poop
06:31 yoleaux No characters found
06:31 aleogen .u 20C4
06:31 yoleaux No characters found
06:31 aleogen .u a
06:31 yoleaux U+0061 LATIN SMALL LETTER A [Ll] (a)
06:32 moritz m: say "\x[20C4]"
06:32 camelia rakudo-moar 617bb4: OUTPUT«⃄␤»
06:32 moritz m: say "\x[20C4]".uniname
06:32 camelia rakudo-moar 617bb4: OUTPUT«<reserved>␤»
06:32 moritz .u LTR
06:32 yoleaux No characters found
06:32 aleogen .u 用
06:32 yoleaux No characters found
06:32 moritz .u RTL
06:32 yoleaux No characters found
06:32 moritz .u right-to-left
06:32 yoleaux U+200F RIGHT-TO-LEFT MARK [Cf] (<control>)
06:32 yoleaux U+202B RIGHT-TO-LEFT EMBEDDING [Cf] (<control>)
06:32 yoleaux U+202E RIGHT-TO-LEFT OVERRIDE [Cf] (<control>)
06:33 moritz m: say chr 0x202E  # specifically for aleogen
06:33 camelia rakudo-moar 617bb4: OUTPUT«‮␤»
06:33 aleogen works
06:33 aleogen just very small
06:33 aleogen \o/
06:46 domidumont joined #perl6
06:49 Actualeyes joined #perl6
06:51 domidumont joined #perl6
06:51 RabidGravy joined #perl6
06:52 Xliff \o RabidGravy
06:52 masak mornin', #perl6
06:56 ufobat_ morning :-)
06:58 masak another glorious day in the Perl 6 factory!
07:02 wamba joined #perl6
07:03 Xliff Hrm.
07:03 Xliff MadcapJake, still here?
07:03 Xliff ufobat, masak -- \o
07:03 zakharyas joined #perl6
07:04 Xliff masak: Fixed mah stuff!
07:04 Xliff https://gist.github.com/Xliff/11acc06d8e4c35140fa3535bbfe47329
07:06 ufobat masak: https://groups.google.com/forum/#!msg/mojolicious/L--K5c6Yt6U/ZbPSssUCWjkJ - the non blocking psgi && mojo thing.. and i am not perfectly sure but it seems to me that https://github.com/supernovus/perl6-http-easy/blob/master/lib/HTTP/Easy.pm6#L184 is also not doing nonblocking IO
07:06 masak Xliff: congratulations!
07:07 masak ufobat: I didn't get down to that layer myself, but I sort of suspected it wouldn't. :)
07:07 masak ufobat: I'm willing to end up with a short-term workaround/hack to make things work, and then later we can switch things over to doing it the nice, correct way
07:07 masak but "make it work" first
07:08 abraxxa joined #perl6
07:08 * masak wonders idly if supernovus++ would accept a repository-wide patch to make his whitespace and curly braces a bit more standard...
07:10 ufobat i agree,
07:13 pmurias joined #perl6
07:14 pmurias hi
07:14 masak hi pmurias
07:27 leont joined #perl6
07:33 leont joined #perl6
07:36 pdcawley joined #perl6
07:50 AlexDaniel masak: I didn't really understand what is your issue exactly, but what about web sockets?
07:50 AlexDaniel masak: there's a web socket module in perl 6 modules directory, and it actually works, I've tried it
07:51 masak worth looking into
07:51 masak especially if it Just Works
07:51 masak SSE are basically a simpler version of web sockets
07:52 masak because web sockets are bidirectional and SSE is unidirectional
07:53 AlexDaniel there's a chat example that almost works
07:53 AlexDaniel ah no, it just works, because I've fixed it
07:53 AlexDaniel without “almost”
07:54 Xliff LOL
07:54 Xliff AlexDaniel, What was broken?
07:54 AlexDaniel Xliff: https://github.com/tokuhirom/p6-WebSocket/commit/3ddc68da202c323420818643993647cce2450ca4
07:54 AlexDaniel Xliff: it was just slightly outdated
07:54 rindolf joined #perl6
07:54 AlexDaniel oops, I mean, it was just a bit old
07:55 masak if Web Sockets just work for me, I might forget about SSE, yes
07:56 RabidGravy masak, so you didn't see the gist I posted with a working SSE example the other day?
07:56 AlexDaniel masak: but SSE are not supported on Edge! :D
07:56 AlexDaniel in Edge* ?
07:57 RabidGravy but see also https://github.com/jonathanstowe/Lumberjack-Application/blob/master/lib/Lumberjack/Application/WebSocket.pm
07:57 RabidGravy that works really well
07:58 AlexDaniel RabidGravy: what is Lumberjack?
07:58 RabidGravy a sketch for a logging framework
07:58 AlexDaniel hmm
07:58 RabidGravy it's probably too slow for big time use right now
08:00 Xliff What is this? Signature? "-> $ws {"
08:00 RabidGravy but the  log "dashboard" using websockets works nicely
08:00 AlexDaniel m: -> $arg { say $arg}(42)
08:00 camelia rakudo-moar 617bb4: OUTPUT«42␤»
08:00 RabidGravy Xliff, a "pointy block"
08:01 Xliff Makes the code look odd
08:01 AlexDaniel Xliff: that's just another way to create a function
08:01 * Xliff googles.
08:01 arnsholt Note that it's a block, not a function
08:01 arnsholt They're pretty similar, but not quite the same
08:02 AlexDaniel m: my $x = -> $arg { say $arg}; say WHAT $x
08:02 camelia rakudo-moar 617bb4: OUTPUT«(Block)␤»
08:02 AlexDaniel my $x = anon sub test($arg) { say $arg}; say WHAT $x
08:02 AlexDaniel m: my $x = anon sub test($arg) { say $arg}; say WHAT $x
08:02 camelia rakudo-moar 617bb4: OUTPUT«(Sub)␤»
08:02 AlexDaniel arnsholt: indeed. What's the difference?
08:02 brrt joined #perl6
08:03 arnsholt return, mostly
08:04 arnsholt return in a block returns from the enclosing sub, not the block
08:04 RabidGravy a sub has a bit of extra baggage around dispatching, multis etc
08:05 masak RabidGravy: no, I missed your SSE example. url? :)
08:05 masak AlexDaniel: I'm filled with a great huge lack of giving a damn that it doesn't work in Edge.
08:05 RabidGravy masak, https://gist.github.com/jonathanstowe/cf9178dc8d27d5e2542e1137f7137427 - that definitely works (inasmuch as I tested it with a node.js client)
08:06 brrt good * #perl6
08:06 pmurias when doing TDD is it resonable to commit first the test and in a subsequent commit the implementation?
08:06 leont Awesome. Running perl-gdb-m causes $*EXECUTABLE to be perl6-gdb-m too, so my entire program gets confused
08:07 masak RabidGravy: cool! I can use that! thanks!
08:07 RabidGravy I don't know how well that plays with higher level abstractions
08:07 leont (because it starts other perl processes)
08:08 brrt pmurias: yes
08:09 araujo joined #perl6
08:13 darutoko joined #perl6
08:17 leont It rather confused my TAP parser :-p
08:17 moritz leont: it's called "deep debugging" :-)
08:18 moritz or was it "debugging in depth"? :-)
08:18 leont TAP is supposed to ignore unknown lines (a rather interesting feature), but I had just built-in some debugging for unknown lines :-p
08:21 dakkar joined #perl6
08:23 moritz leont: well, I susppose that even when that's not a problem, it might be a problem that the subprocesses don't run
08:23 vytas joined #perl6
08:27 Xliff Aaannd. Vorbis read test is complete.
08:27 Xliff Now the write tests... *sigh*
08:28 Xliff Any reason why perl6 would spawn multiple processes?
08:28 Xliff And what should I look out for if I may have inadvertently introduced such an issue?
08:29 moritz Xliff: iirc for precompilation
08:29 Xliff Ah.
08:30 Xliff And would there be any reason as to why precomp would need to open > 10 instances?
08:30 Xliff Or >5, really.
08:40 tardisx joined #perl6
08:40 Xliff Let's try another tack. What would be the best way to look for a precompilation loop?
08:43 moritz there's got to be some logic right now that determines which modules need which others, and which of those can be precompiled
08:43 moritz that's where loop detection should go, IMHO
08:43 moritz maybe nine_++ has a good idea?
08:43 Xliff Because I think I am running into that.
08:44 Xliff Probably because of the weird way I tried to hack something that MadcapJake was working on.
08:48 nine_ I don't think we currently have a protection from recursive use statements. So if A uses B and B uses A, you'd get an endless loop trying to precompile those dependencies and that will look like a very deep perl6 process tree.
08:49 nine_ When starting from a clean slate, you'll see one perl6 process per dependency tree layer. So A uses B uses C uses D will give you 4 perl6 processes, at least until D is compiled.
08:52 Xliff Crap.
08:52 Xliff I think that's exactly what has happened.
09:02 RabidGravy is there a builtin way of extracting the bits of an integer like:
09:03 RabidGravy m: sub bits(Int $bits, Int $i where { $_ < 2**$bits }) { my @bits; for ^$bits -> $j { my $k = ( $bits - 1) - $j; @bits[$k] = ($i +& ( 1 +< $j)) ?? 1 !! 0; } @bits; }; say bits(8, 177)
09:03 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/THQJ2u6klL␤Strange text after block (missing semicolon or comma?)␤at /tmp/THQJ2u6klL:1␤------> 3ts[$k] = ($i +& ( 1 +< $j)) ?? 1 !! 0; }7⏏5 @bits; }; say bits(8, 177)␤»
09:03 RabidGravy m: sub bits(Int $bits, Int $i where { $_ < 2**$bits }) { my @bits; for ^$bits -> $j { my $k = ( $bits - 1) - $j; @bits[$k] = ($i +& ( 1 +< $j)) ?? 1 !! 0; }; @bits; }; say bits(8, 177)
09:03 camelia rakudo-moar 617bb4: OUTPUT«[1 0 1 1 0 0 0 1]␤»
09:03 RabidGravy rather
09:04 azawawi joined #perl6
09:04 azawawi hi
09:05 domidumont joined #perl6
09:05 * azawawi is working on https://ci.appveyor.com/project/azawawi/rakudo  (i.e. Windows Rakudo CI testing)
09:06 RabidGravy cool
09:07 Xliff m: given "177"   { say "$_ => ", :10($_).base(2) }
09:07 camelia rakudo-moar 617bb4: OUTPUT«177 => 10110001␤»
09:07 Xliff m: say 177.base(2)
09:07 camelia rakudo-moar 617bb4: OUTPUT«10110001␤»
09:08 Xliff m: say 177.base(2).split
09:08 camelia rakudo-moar 617bb4: OUTPUT«Cannot call split(Str: ); none of these signatures match:␤    (Cool $: Regex:D $pat, $limit = Inf;; :$all, *%_)␤    (Cool $: Cool:D $pat, $limit = Inf;; :$all, *%_)␤    (Str:D $: Regex:D $pat, $parts = *;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *…»
09:08 Xliff m: say split 177.base(2)
09:08 camelia rakudo-moar 617bb4: OUTPUT«Too few positionals passed; expected at least 2 arguments but got only 1␤  in block <unit> at /tmp/Qr2LdQmw4G line 1␤␤»
09:08 Xliff m: say split //, 177.base(2)
09:08 camelia rakudo-moar 617bb4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/usfVYY2pjE␤Null regex not allowed␤at /tmp/usfVYY2pjE:1␤------> 3say split //7⏏5, 177.base(2)␤»
09:08 moritz m: say 177.base(2).comb
09:08 camelia rakudo-moar 617bb4: OUTPUT«(1 0 1 1 0 0 0 1)␤»
09:09 ufobat azawawi, and the windows rakudo testing already "fixed" a bug in bailador ;)
09:09 Xliff moritz, Or that
09:10 psch m: my @a = (sprintf "%08b", 53).comb; say @a
09:10 camelia rakudo-moar 617bb4: OUTPUT«[0 0 1 1 0 1 0 1]␤»
09:10 AlexDaniel yeah ↑
09:10 psch .base(2).comb doesn't give 0 padding, which is apparently desired
09:11 moritz m: say 53.fmt('%b')
09:11 camelia rakudo-moar 617bb4: OUTPUT«110101␤»
09:13 Xliff OK. I need to get some sleep. G'night #perl6-- o7
09:13 grondilu m: say 53.polymod(2 xx *)
09:13 camelia rakudo-moar 617bb4: OUTPUT«(1 0 1 0 1 1)␤»
09:14 |Tux| joined #perl6
09:14 Amnez777 joined #perl6
09:22 RabidGravy yes, front padding is desired
09:27 RadioFaceIRC joined #perl6
09:39 azawawi any update on rakudo* 2016.04?
09:45 nowan joined #perl6
09:49 azawawi moritz: ping
09:50 moritz azawawi: pong
09:50 azawawi moritz: any feedback for https://ci.appveyor.com/project/azawawi/rakudo/build/1.0.9 ?
09:51 moritz azawawi: what's that?
09:52 azawawi moritz: windows appveyor ci https://github.com/azawawi/rakudo/blob/nom/appveyor.yml for rakudo :)
09:52 moritz azawawi: that's nice. But why does https://ci.appveyor.com/project/azawawi/rakudo/build/1.0.9/job/ad28ieb0vpshnj9l fail a test and still say "Build success"?
09:54 azawawi moritz: will fix :)
09:56 azawawi moritz: the problem with testing this is that you change something and you wait...
09:56 azawawi moritz: AppVeyor is new and slow atm in the VM booting sequence
10:00 ocbtec joined #perl6
10:12 Vlavv_ joined #perl6
10:21 gregf_ m: say sprintf("%b",177)
10:21 camelia rakudo-moar 617bb4: OUTPUT«10110001␤»
10:21 gregf_ oops, that was a while back :|
10:24 RabidGravy indeed, I was of course aware of all the options, apart from grondilu's which is cool, but went with my original as the stringifcation and split options seem even more hacky and slow than what I had
10:28 Xliff_ZZZzzzz RabidGravy, bits() is a mouthful though.
10:28 Xliff_ZZZzzzz :)
10:28 Xliff_ZZZzzzz Oh! I'm supposed to be sleeping still... Oops!
10:31 RabidGravy anyway the reason I want to do this is that I want to simulate a hardware device involving an ADC, a clock input and a shift register before I actually make it
10:31 RabidGravy or if you'd rather a "binary sample and hold"
10:34 RabidGravy (I've actually got a bunch of sample and hold amplifier chips somewhere but don't know where I put them :)
11:00 [Sno] joined #perl6
11:00 domidumont joined #perl6
11:00 mohae joined #perl6
11:01 mindos_ joined #perl6
11:02 jargan joined #perl6
11:02 brrt joined #perl6
11:02 RadioFaceIRC joined #perl6
11:02 pRiVi joined #perl6
11:02 pnu_ joined #perl6
11:03 caasih_ joined #perl6
11:03 parisba__ joined #perl6
11:03 PotatoGim_ joined #perl6
11:04 sunnavy joined #perl6
11:04 diakopte1 joined #perl6
11:04 hcit_ joined #perl6
11:04 cosimo joined #perl6
11:04 eyck joined #perl6
11:04 Shozan joined #perl6
11:04 arnsholt_ joined #perl6
11:04 japhb_ joined #perl6
11:04 ranguard_ joined #perl6
11:04 huf_ joined #perl6
11:04 risou_ joined #perl6
11:04 cfloare_ joined #perl6
11:05 riatre_ joined #perl6
11:05 ggoebel114 joined #perl6
11:06 rindolf joined #perl6
11:06 ilogger2_ joined #perl6
11:06 bitmap joined #perl6
11:07 colomon joined #perl6
11:07 remmie joined #perl6
11:08 cgfbee joined #perl6
11:08 shadowpaste joined #perl6
11:09 M-Illandan joined #perl6
11:11 Xliff_ZZZzzzz RabidGravy, Ooh! Device simulation? That's pretty cool.
11:12 Possum joined #perl6
11:12 kent\n joined #perl6
11:12 dg joined #perl6
11:16 teatime joined #perl6
11:16 azawawi https://github.com/rakudo/rakudo/pull/746  # Your feedback is appreciated
11:17 azawawi https://ci.appveyor.com/project/azawawi/rakudo/build/1.0.1  # Current windows 7 build
11:17 _mg_ joined #perl6
11:27 moritz azawawi: fwiw much of the rakudo development discussion has moved to #p6dev
11:27 moritz anyway, azawawi++
11:30 retupmoc_ joined #perl6
11:38 kid51 joined #perl6
12:00 avar joined #perl6
12:05 kid511 joined #perl6
12:11 kaare_ joined #perl6
12:17 uruwi joined #perl6
12:39 Vlavv_ joined #perl6
12:42 perlpilot_ joined #perl6
12:45 brrt wow... the level of respect in these slides is staggeringly, mindbogglingly low low: http://www.alexstjohn.com/WP/download/Recruiting%20Giants.pdf
12:52 moritz I hope this is satire. It just has to be.
12:53 brrt i'm not entirely sure...
12:54 brrt by the same author: http://venturebeat.com/2016/04/16/game-developers-must-avoid-the-wage-slave-attitude/
12:55 moritz ok, I hope I never meet this person IRL
12:59 nine_ Apparently I'm not a real engineer and I don't even seem to want to recruit real engineers (tm) :) So I'm just happy to ignore this mountain of arrogance.
13:00 brrt and sexism.... and misanthropy in general
13:01 pecastro joined #perl6
13:01 Xliff Dear god, that is disgusting.
13:01 cdg joined #perl6
13:01 Xliff If I ever work as a game developer (and I doubt I have the skills for it), I will only work for myself.
13:02 nine_ I think those just follow from the arrogance. It's the "I'm a god and I want only gods so they have to be exactly like me" fallacy.
13:02 Xliff nine_++
13:02 brrt yeah, that is probably true
13:02 colomon joined #perl6
13:02 brrt ok, i'm going to do something useful, like read papers :-)
13:03 nine_ brrt++
13:05 gregf_ 'any CS degree has a job*' - *wonders*
13:05 Xliff m: say "Hey there!".encode('UTF-8').list
13:05 camelia rakudo-moar 1aabef: OUTPUT«(72 101 121 32 116 104 101 114 101 33)␤»
13:06 domidumont joined #perl6
13:07 pecastro joined #perl6
13:08 Xliff m: say "Hey there!".encode('UTF-8').list.WHAT
13:08 camelia rakudo-moar 1aabef: OUTPUT«(Seq)␤»
13:09 vendethiel joined #perl6
13:09 Xliff Doesn't Seq unbox to an array?
13:10 Xliff m: say "Hey there!".encode('UTF-8').elems
13:10 camelia rakudo-moar 1aabef: OUTPUT«10␤»
13:10 skids joined #perl6
13:10 araujo joined #perl6
13:10 moritz Xliff: Seq doesn't unbox at all, afaict
13:11 Amnez777 joined #perl6
13:12 Xliff m: say "Hey there!".encode('UTF-8').ords
13:12 camelia rakudo-moar 1aabef: OUTPUT«Method 'ords' not found for invocant of class 'utf8'␤  in block <unit> at /tmp/G2IoYLwGpv line 1␤␤»
13:12 Xliff m: say "Hey there!".ords
13:12 camelia rakudo-moar 1aabef: OUTPUT«(72 101 121 32 116 104 101 114 101 33)␤»
13:12 araujo joined #perl6
13:12 Xliff Where is there a breakdown of class utf8?
13:13 timotimo utf8 is an unmodifiable Buf[uint8]
13:13 yoleaux 04:36Z <Xliff> timotimo: https://gist.github.com/Xliff/11acc06d8e4c35140fa3535bbfe47329
13:13 timotimo basically
13:14 Xliff timotimo, Thanks.
13:14 Xliff timotimo, yeah. Fixed it! Boo yah!
13:14 timotimo yeah, yay
13:14 Xliff \o/
13:15 Xliff Might need help updating the docs with this info.
13:15 Xliff Just point me in the right direction.
13:15 timotimo the info about utf8?
13:16 RabidGravy there https://gist.github.com/jonathanstowe/0354b13c3eac263560ddef44c2b2e4fe
13:17 timotimo RabidGravy: it really unnerves me that you have the long-form for those arguments
13:17 Xliff timotimo, no. The info about handling multi-dimensional arrays passed from C libs.
13:17 timotimo isn't it totally more readable to have :61data-one, :127-data-two? :D
13:17 timotimo uh
13:17 RabidGravy no
13:17 timotimo i actually don't really know
13:17 timotimo it's so much more readable that i even accidentally typo'd an extra - in there
13:18 RabidGravy infact I don't think that's readable or clear at all
13:18 Xliff That is not more readable. That's moving in the opposite direction.
13:19 Xliff Where does Buf.list come from? I'm not seeing that in the method lists on docs.perl6.org
13:20 Xliff m: say "Hey there!".encode('UTF-8').subbuf(0).WHAT
13:20 camelia rakudo-moar 1aabef: OUTPUT«(utf8)␤»
13:21 Xliff m: say "Hey there!".encode('UTF-8').subbuf(0)
13:21 camelia rakudo-moar 1aabef: OUTPUT«utf8:0x<48 65 79 20 74 68 65 72 65 21>␤»
13:21 sjn \o
13:22 * sjn just read pmichaud++ 's post to the p6-doc list, where he says that "CORE" has a special meaning in Perl 6...
13:22 sjn what's he talking about?
13:22 moritz m: say CORE::.keys[^10]
13:22 camelia rakudo-moar 1aabef: OUTPUT«(SIGSEGV WhateverCode Slip &callframe Pair SIGHUP &flat &RETURN-LIST utf8 &infix:<∖>)␤»
13:23 moritz sjn: CORE is the pseudo namespace for built-ins that can be used without "use"ing a module
13:23 sjn ah, a little like UNIVERSAL in Perl 5?
13:23 moritz sjn: a little, yes
13:24 moritz sjn: but CORE is more like a named outer scope, not a package that you can use to call methods on stuff, for example
13:24 nine_ More like CORE in Perl 5 ;)
13:24 nine_ nine@sunshine:~> perl -E 'CORE::say("hello")'
13:24 nine_ hello
13:25 Xliff m: use NativeCall; my $a = CArray[uint8].new( "Hey there1".encode('UTF-8').list)
13:25 camelia rakudo-moar 1aabef: ( no output )
13:25 sjn right
13:26 Xliff m: use NativeCall; my CArray[uint8] $a = CArray[uint8].new("Hey there!".encode('UTF-8').list)
13:26 camelia rakudo-moar 1aabef: ( no output )
13:26 Xliff Huh! No warnings there.
13:26 sjn Steve Mynott (dunno his nick?) asked for a Perl 6 glossary. Is there one?
13:26 Xliff When I try that from the code I am working on, I get: "Type check failed in assignment to $chs; expected NativeCall::Types::CArray[uint8] but got NativeCall::Types::CA..."
13:27 nine_ S99
13:27 * sjn sees https://doc.perl6.org/language/glossary
13:27 moritz sjn: that's stmuk here
13:27 moritz sjn: and yes, both that and S99
13:27 sjn ah, ok
13:27 sjn cool
13:27 moritz I think S99 has more content
13:27 Xliff I'm assuming that what's getting cut off is "CALL-ME" but I am not sure. How can I get the full error message?
13:27 sjn hm
13:29 RabidGravy Xliff, no it's CArray[uint].new
13:29 RabidGravy you have a too specific type constraint, relax it to being just CArray
13:29 RabidGravy it's a known issue
13:29 Xliff Got it. Thanks.
13:30 RabidGravy it used to work, then stopped working in some places around November for some reason
13:30 tokomer joined #perl6
13:32 stmuk sjn: I meant specifically one for perl 5 terms (like "core module") to perl 6 terms
13:33 sjn yeah, I was looking for a similar term a while back, and assumed Perl 5's notion of a "Core module" would also work here
13:34 stmuk yes me too .. I'd never heard of "standard module")
13:35 moritz I'm not sure I agree with pmichaud++'s nomenclature
13:35 sjn There's definitely a need for having clear terminology about that, but as for the "standard module" suggestion, I'm less sure
13:35 stmuk I did wonder .. there is a difference betwen CORE and core
13:37 uruwi joined #perl6
13:37 sjn and then there's Rakudo Star, and it's notion of "standard modules"
13:37 jnthn "Compiler-bundled module" is clear I guess
13:38 moritz and quite a mouth full :-)
13:38 spider-mario joined #perl6
13:38 jnthn Agree fully with avoiding "core" though
13:40 stmuk there are only currently two such modules anyway! Unless doc and panda/zef are ever added
13:40 sjn suggestions: "default|included|kernel|predefined|kit|initial modules"
13:41 sjn "central modules"
13:41 sjn "main modules"
13:41 pmurias sjn: what are those names for?
13:42 sjn pmurias: alternative to "core modules" (in the Perl 5 sense of "core")
13:42 pmurias do we have any "core modules" in Perl 6?
13:43 Juerd I like terms like 'included' and 'bundled'
13:43 moritz pmurias: Test, NativeCall
13:43 Juerd Also, 'standard', as in 'standard library'.
13:43 timotimo "dead batteries included"? :)
13:43 stmuk :)
13:44 sjn hehe "battery modules" :)
13:44 stmuk we incude one AA and one AAA sized battery
13:44 sjn modules that are batter-like
13:49 Praise joined #perl6
13:49 Praise joined #perl6
13:49 timotimo "An exception is Microsoft Visual C++ for x86, which makes long double a synonym for double.", oh, wow.
13:49 brrt like all batteries, the power is related to their surface area, and their energy by their volume?
13:50 timotimo whoa, quadruple precision
13:52 mcsnolte joined #perl6
13:55 pmurias sjn: I'm not sure trying to impose any sort of officalness on the modules bundled with Rakudo Star is a good idea
13:56 timotimo agreed
13:57 stmuk probably the only "official" R* module is p6doc
13:57 abraxxa joined #perl6
13:58 stmuk this is all very confusing for "ousiders" BTW
13:58 stmuk ^ outsiders
13:59 grondilu m: use MONKEY-SEE-NO-EVAL; EVAL 'my class Foo {}'; Foo.new
13:59 camelia rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RS1wbbncw1␤Undeclared name:␤    Foo used at line 1␤␤»
13:59 pmurias stmuk: aren't battery included distributions also done for other dynamic languages?
14:00 MadcapJake Anyone able to help with a NativeCall problem I'm having? This: https://github.com/MadcapJake/p6-MyHTML/blob/master/lib/HTML/MyHTML/Tree.pm6#L103 keeps causing a seg fault and I can't figure out why.
14:01 * pmurias looks
14:01 stmuk pmurias: no there is usually just one release with one name with a well designed standard library not multiple distributions
14:01 grondilu m: use MONKEY-SEE-NO-EVAL; EVAL 'my class Foo is export {}'; Foo.new
14:01 camelia rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QyTG5H05mn␤Undeclared name:␤    Foo used at line 1␤␤»
14:01 hotel joined #perl6
14:01 grondilu m: use MONKEY-SEE-NO-EVAL; EVAL 'class Foo is export {}'; Foo.new
14:01 camelia rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wZ9FtF3F6O␤Undeclared name:␤    Foo used at line 1␤␤»
14:02 mohae joined #perl6
14:02 hotel what does it mean if I get `Could not load oplib `nqp_dyncall_ops'` when running perl6 p.pl6?
14:05 MadcapJake hotel: I think you're on an old version of rakudo
14:05 hotel hm
14:05 pmurias stmuk: there won't be a standard library for Perl 6, as having "core modules" in Perl 5 is regarded as a bad idea
14:06 colomon joined #perl6
14:06 MadcapJake the only ref to nqp_dyncall_ops in perl6/nqp is from a parrot makefile
14:06 hotel yeah that's what I'm seeing
14:06 stmuk pmurias: yes I know
14:06 MadcapJake and currently the only stable distribution is rakudo on moarvm
14:06 hotel would the rakudo version in the apt repository be out of date?
14:06 MadcapJake hotel: yes :)
14:06 hotel oh
14:06 hotel welp
14:07 MadcapJake I think there's a debian unstable that's up-to-date somewhere
14:07 pmurias stmuk: maybe the Rakudo* website could be more clear about what it is
14:07 pdcawley joined #perl6
14:07 Xliff https://gist.github.com/Xliff/b079adbbb9e4661d308119a4f5681cb8 <- Any thoughts
14:08 Xliff MadcapJake, yes. I am still up working on this.
14:08 jnap_ pmurias: you think there might at least be optional bundles or something.  The Pythonistas I work with all tell me one of the things they love about python is the strength of the core setup
14:08 Xliff I swapped the original SEGV for an exception and thought I was making progress, but that left $!tree unset so a later BOOOM! was inevitable.
14:08 jnap_ and one thing they say they hate about Perl is you have to install a ton of stuff to get a useful install :)
14:08 MadcapJake Xliff: wow thanks! So are you having any luck?
14:08 Xliff Back to square one, unfortunately.
14:09 Xliff I'm wondering if the comments in the TreeStruct definition are causing problems.
14:09 Xliff Either that or a missing attribute.
14:09 abraxxa joined #perl6
14:09 MadcapJake hotel: your best bet is rakudobrew or downloading Rakudo Star and using ye olde autotools
14:10 hotel I think I tried doing the rakudobrew thing before, and then I was informed that something was on apt or something
14:10 Woodi making distros is free for everyone who want to do it :)  and maintain it few years for free :)
14:10 hotel *shrug* guess I'll redo it
14:11 MadcapJake hotel: unfortunately ubuntu packaging is like a turtle stuck in molasses
14:11 Woodi hmm... however "making distro" can be regressed into text file with recomended modules :)
14:11 hotel ha
14:11 MadcapJake their unreleased xenial version is the most up-to-date and it's still pre christmas...
14:11 hotel well in that case I won't tell you that I'm actually using ubuntu on windows
14:11 MadcapJake https://launchpad.net/ubuntu/+source/rakudo
14:12 hotel oops
14:12 ufobat ive got a question regarding the META.json. if i create 2 namespaces within one file (like a role and a class) i list both namespace with the same file, right?
14:12 sue joined #perl6
14:12 MadcapJake Ahh well hotel, you should just use the msi package, wouldn't that work? (haven't looked at the U on W thingy yet)
14:12 ugexe having a list of recomended modules thus far has only resulted in constant 'i cant get anythign installed because XXX fails', where XXX is something new each month
14:12 hotel I want to use shiny tools wherever possible
14:12 hotel so yes, technically I could use the msi
14:13 hotel but I enjoy making life difficult :)
14:13 MadcapJake hotel: I know the feeling :)
14:13 Woodi ugexe: this is point when "maintain text file" comes into play ;)
14:13 ugexe Woodi: yes, just like maintaining star
14:13 ugexe which suffers from exactly this
14:14 ugexe once `emulates` and `supercedes` works then things will be easier as they imply their interface only, not implementation
14:14 MadcapJake Xliff: it's strange because I was able to get this working in my early pre-modularized version. I think I will try to separate out all the nativecall subs and export them so I can see if at least using the bare subs still works.
14:15 Xliff kk
14:15 Xliff I've cloned your repository so if you make any progress I will re-clone and merge.
14:15 Xliff Assuming I haven't figured it out by then.
14:15 Xliff If I do, I will clean up and make a PR>
14:15 MadcapJake ok cool! thanks for the help!
14:15 Xliff Anytime.
14:16 MadcapJake Xliff++
14:17 Woodi ugexe: just Perl6 module ecosystem isn't yet "operational" :)
14:17 tharkun joined #perl6
14:17 pmurias is there a NativeCall reference somewhere?
14:17 ugexe Its operational depending on which authors modules you use
14:18 colomon joined #perl6
14:19 stmuk pmurias:  https://docs.perl6.org/language/nativecall
14:20 pmurias MadcapJake: one suspect thing is that myhtml_tree_create returns a pointer
14:21 MadcapJake pmurias: ah as in Pointer[Tree]
14:22 pmurias MadcapJake: you should try that
14:23 domidumont joined #perl6
14:23 MadcapJake I get: "An exception occurred while parameterizing Pointer"
14:23 hotel so if I run a command like rakudobrew build moar, and it seems to work the whole way through, but right at the end there's a message saying that make failed, does that mean the whole thing is broken?
14:26 ugexe maybe not nqp or moarvm. but rakudo itself is probably in a broken state
14:26 hotel oh cool
14:27 ugexe if you remake it moarvm and nqp will be skipped if they built ok
14:27 skaji joined #perl6
14:28 colomon joined #perl6
14:29 hotel is there supposed to be a version set right after building?
14:30 ugexe can you clarify what you mean by that? do you mean `perl -v` has output, or rakudo setting the version of moar/nqp it needs before trying to build them?
14:30 hotel welp, looks like broken things are, in fact, broken
14:30 hotel rakudobrew build panda
14:30 hotel gives me rakudobrew: No version set.
14:31 [Coke] ... if "build moar" failed, don't expect panda to work.
14:31 hotel well yeah
14:31 [Coke] can you show us how it failed?
14:31 hotel sure
14:31 ugexe ah, im not sure what it means from rakudobrew. my guess is it has no versions of perl6 stored in its lookup since it failed
14:31 hotel well then i run rakudobrew switch moar-nom
14:31 hotel and building panda still fails
14:31 ugexe you have to rakudobrew rehash first most likely
14:32 vendethiel joined #perl6
14:32 hotel here's the moar build fail https://gist.github.com/HotelCalifornia/71e8025fe7b01100aab6f91cb6148aa0
14:33 pmurias MadcapJake: how do I run the code to get the segfault?
14:33 ugexe ah im not sure how well it works from root
14:33 MadcapJake pmurias: «perl6 eg/attributes-high.pl6»
14:33 hotel u on w only runs on root lol
14:34 stmuk hotel: are you using selinux or something? "cannot enable executable stack" sounds like a security setting
14:34 hotel it's ubuntu on windows
14:34 hotel that is a very real possibility
14:34 [Coke] You are the first person to try this, no doubt.
14:35 timotimo https://www.reddit.com/r/perl6/comments/4f6jx5/building_perl6_on_android_in_gnuroot_debian/ - this also had to circumvent executable stack
14:35 hotel i figured
14:35 timotimo so there's the flag that can set the "noexecstack" feature
14:35 stmuk I saw something similar on alpine linux
14:36 timotimo iiuc we need execstack for dyncall or something?
14:36 hotel where do those flags go?
14:36 hotel >primarily a windows user
14:37 MadcapJake So I had no luck with Pointer[SomeCStructClass]
14:37 timotimo in bash you can export LDFLAGS=... before you run Configure.pl and such
14:38 timotimo at least that's what i expect
14:38 hotel thanks
14:38 Xliff MadcapJake, switching back to: sub myhtml_tree_init(
14:38 Xliff TreeStruct,
14:38 Xliff Native_MyHTML
14:38 Xliff ) is native(&lib) returns int32 {*}
14:39 ugexe fwiw install on a windows host isnt too difficult from my experience
14:39 MadcapJake Xliff: that's what it currently looks like but really the two arguments are pointers to cstructs
14:40 MadcapJake (for some reason, when I switch back to pointers, I'm getting a strange "Native call expected return type with CStruct representation, but got a CPointer" error, when that function has always returned an int32...)
14:40 uruwi joined #perl6
14:40 hotel I know it's not difficult to install on the windows side... i just don't want to :L
14:41 timotimo you're free to try it out :)
14:42 pmurias MadcapJake: where are the docs for myhtml? on the github page?
14:42 hotel and it seems the underlying problem is that nothing can find the command `perl6`
14:42 MadcapJake pmurias: https://github.com/lexborisov/myhtml
14:42 telex joined #perl6
14:42 timotimo rakudobrew should have told you to put something in your $PATH, did you make sure it got in there?
14:42 timotimo like, echo $PATH or so?
14:43 ugexe its failing before finishing
14:43 hotel the thing is in my path
14:43 hotel and in fact it's there twice
14:43 hotel wait
14:44 hotel ~ is an alias for /root/?
14:44 ilmari ~ is expanded by the shell to the current users's home directory
14:44 timotimo ugexe: you don't know that, after fixing the noexecstack, who knows what exactly fails now
14:44 Xliff MadcapJake, Yeah. I went the Pointer[CStruct] route, but all that does is cause an exception.
14:44 timotimo sometimes, ~ in path won't get expanded
14:45 ilmari it only gets expanded at the start of a word and if followed by space or /
14:45 Xliff I have run into this issue in another form, earlier. I just can't remember what I did to solve it. *sigh*
14:45 hotel \/root/.rakudobrew/bin:/root/perl5/perlbrew/bin:/usr/games:/root/.rakudobrew/bin <- relevant part of path
14:47 MadcapJake Xliff: yeah I can't get Pointer[CStruct] to work anywhere but I'm wondering if that's because it's within the class body?
14:48 ilmari http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_01
14:48 hotel oh-ho
14:48 hotel this time, it seems to be working
14:50 hotel jk
14:50 hotel but now there's a different error
14:51 hotel https://gist.github.com/HotelCalifornia/11c8a33dca75834b7d85439e86f8da12
14:55 Xliff MadcapJake, ....cooould be.
14:55 timotimo can you attach strace to that command?
14:56 Xliff MadcapJake, try moving it out?
14:56 MadcapJake I'm moving all native subs to one file Raw.pm6
14:57 hotel lol -> Cloning into 'moar--stacktrace'...
14:57 Xliff I recompiled libmyhtml.so with debugging.
14:57 Xliff Crashing here, now...
14:57 Xliff 0xb5309e35 in mchar_async_node_add (mchar_async=0x0) at utils/mchar_async.c:210
14:57 Xliff 210         mcsync_lock(mchar_async->mcsync);
14:57 Xliff I will gist the whole backtrace. One sec.
14:58 hotel forgot the --
14:58 Xliff https://gist.github.com/Xliff/edd2bd3e70c4308f66a5a92a716dc25f
14:58 RabidGravy just in case you can't play along at home the output of https://gist.github.com/jonathanstowe/0354b13c3eac263560ddef44c2b2e4fe is streaming at http://rabidgravy.com:8000/stream :)
14:59 timotimo hotel: you may want to stop using rakudobrew and start manually fiddling around in the build directory
14:59 hotel what would I even do?
14:59 Xliff so why is mchar_async NULL?
14:59 timotimo you cd into the folder that has rakudo in it
15:00 hotel well yeah
15:00 Xliff MadcapJake, that is below rakudo and into libmyhtml.so
15:00 timotimo then you execute "strace -o logfile.txt ./perl6-m tools/build/... ..."
15:00 RabidGravy so now to build it in hardware
15:00 Xliff MadcapJake, FWIW this seems to work:
15:00 Xliff sub myhtml_tree_init(
15:00 Xliff Pointer[TreeStruct],
15:00 Xliff Native_MyHTML
15:00 Xliff ) is native(&lib) returns int32 {*}
15:01 Vlavv_ joined #perl6
15:01 sena_kun joined #perl6
15:02 hotel timotimo https://gist.github.com/HotelCalifornia/1b5dc6e731ab650c5d034607447b97d1
15:03 sena_kun Is IO::Spec OS-independent and it doesn't matter which one(Unix/else) I will use?
15:03 timotimo >:(
15:03 timotimo how are you supposed to debug stuff on "ubuntu on linux" if you can't strace?
15:03 * hotel shrugs
15:03 hotel and it's ubuntu on windows lol
15:04 timotimo i suppose there's probably some alternative tool that does the same thing for UoW
15:04 Xliff MadcapJake, https://gist.github.com/Xliff/b079adbbb9e4661d308119a4f5681cb8
15:04 hotel according to apt, strace is already the newest version
15:05 timotimo http://drmemory.org/strace_for_windows.html  - ?
15:05 hotel ^^
15:05 Xliff It still throws a SEGV, but that is in libmyhtml, now. Still not sure if there is something funky in the initialization, though.
15:05 sena_kun I can use methods from IO::Spec::Win32 on gentoo linux, for example, but is it really sane/normal to use any of classes then?
15:06 MadcapJake Xliff: well that's a good start! Thanks! I'll finish moving this all out and then give it another go.
15:06 RabidGravy sena_kun, use $*SPEC
15:07 Xliff MadcapJake, kk.
15:07 sena_kun RabidGravy, thanks.
15:07 RabidGravy it should always give you the most appropriate
15:07 timotimo hotel: my ideas end here :)
15:07 hotel well, thanks for helping
15:08 timotimo you can put lots of debug prints into the install-core-dist.pl file
15:08 timotimo and narrow down the failing piece of code a bit more
15:08 stmuk strace is an evil hax0r tool not required in the "enterprise" :)
15:10 Xliff stmuk: I ♥ strace. As long as you don't tell the CTOs it's being used, we're all fine.
15:10 hotel well according to the error, make failed at rakudobrew line 58
15:10 Xliff What they don't know won't hurt them.
15:10 timotimo you're looking at the wrong line there
15:10 hotel hm
15:10 hotel oh?
15:10 timotimo see, it just executes "configure + make install" in the shell
15:10 hotel oh
15:10 hotel that's /helpful/
15:10 timotimo the --make-install flag tells configure.pl to execute "make install" when it finishes configuring stuff
15:11 timotimo you're looking at the proper error above that
15:11 timotimo "failed to write string to stream: bad file descriptor"
15:11 hotel oh good point
15:11 timotimo is your hard drive 100% full perhaps?
15:12 timotimo sata cable cut?
15:12 hotel laptop
15:12 timotimo *shrugs*
15:12 luis joined #perl6
15:12 timotimo the problem could be *anything*
15:12 hotel http://puu.sh/omTGg/bedbeeb29b.png
15:14 hotel cool http://puu.sh/omTLM/ae4098c20d.png
15:14 ptolemarch joined #perl6
15:14 timotimo yeah, those are binary files
15:14 timotimo you can dump them to a readable format with "moar --dump foobar.moarvm"
15:15 hotel moar --dump test.moarvm
15:15 hotel Unhandled exception: Could not map file 'test.moarvm' into memory: FIXME
15:15 hotel i don't even anymore
15:16 RabidGravy not enough memory
15:16 hotel hm
15:17 hotel maybe windows isn't giving bash enough memory
15:17 jnthn Mapbe they didn't properly implement mmap yet :D
15:17 hotel another very real possibility
15:18 hotel the annoying thing is that i could install perl5 the first try no problems
15:19 Xliff MadcapJake, I think I found it. My version has two MyHTML classes.
15:19 Xliff They need to be merged with MyHTML set to repr('CStruct'), not repr('CPointer')
15:20 jnthn hotel: They probably tested that. :)
15:20 hotel yeo
15:20 jnthn Since it's probably a dependency.
15:20 hotel yep***
15:20 Xliff MadcapJake, need a recharge though. Back in a while...
15:20 hotel more things should uses perl6 :<
15:20 jnthn (For a bunch of stuff)
15:20 MadcapJake ok
15:20 jnthn hotel: It'll happen, with time... :)
15:21 hotel i discovered this language 4 days ago and have decided that it is good.
15:23 hotel p6: 'many frustrated'.say
15:23 camelia rakudo-moar 1aabef: OUTPUT«many frustrated␤»
15:25 pmurias joined #perl6
15:27 hotel guess it's about time to get that oil change. bbl
15:27 timotimo i'm not sure an oil change will make perl6 build on ubuntu-on-windows
15:28 RabidGravy it might
15:28 timotimo anything is possible with windows
15:28 pmurias Xliff, MadcapJake: it seems that there is a null passed as myhtml to the tree creating function
15:29 pmurias I'm figuring it out
15:29 RabidGravy I did once use coLinux for a bit, which is basically a special Linux kernel running as a windows service
15:29 RabidGravy it actually worked reasonably well
15:31 pmurias is there an easy way to get the numeric value of a CPointer?
15:33 RabidGravy I thought it numified like that
15:33 RabidGravy but I may well be wrong
15:34 timotimo isn't that the .WHERE or .WHICH of it?
15:34 timotimo probably .WHICH, not .WHERE
15:35 timotimo m: use NativeCall; say Pointer[int8].new(0).WHICH
15:35 camelia rakudo-moar 1aabef: OUTPUT«NativeCall::Types::Pointer|63732288␤»
15:35 timotimo m: use NativeCall; say Pointer[int8].new(0).WHERE
15:35 camelia rakudo-moar 1aabef: OUTPUT«140365074797464␤»
15:35 timotimo m: use NativeCall; say Pointer[int8].new(0).Int
15:35 camelia rakudo-moar 1aabef: OUTPUT«0␤»
15:35 timotimo m: use NativeCall; say Pointer[int8].new(0).dereference
15:35 camelia rakudo-moar 1aabef: OUTPUT«Method 'dereference' not found for invocant of class 'NativeCall::Types::Pointer'␤  in block <unit> at /tmp/bxIUJuy8_k line 1␤␤»
15:35 timotimo m: use NativeCall; say Pointer[int8].new(0).deref
15:35 camelia rakudo-moar 1aabef: OUTPUT«Internal error: unhandled target type␤  in sub nativecast at sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 5␤  in method deref at sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 35␤  in block <uni…»
15:35 timotimo huh?
15:35 timotimo i was hoping it'd segfault to verify it's "the null pointer"
15:36 ilmari timotimo: isnt' that a pointer to a uint8 with the value 0?
15:36 pmurias MadcapJake: found the bug
15:36 ilmari s/uint/int/
15:37 pmurias MadcapJake: the problem was that MyHTML was returned from BUILD
15:37 Actualeyes joined #perl6
15:37 sena_kun I really can't change a $*SPEC.path, yes?
15:38 pmurias MadcapJake: instead of from new
15:38 timotimo ilmari: is it, though? i don't think you get a pointer *and* a memory location to point to just by running Pointer.new
15:41 MadcapJake pmurias: oh so I shouldn't use submethod BUILD with these repr classes
15:42 leont joined #perl6
15:42 pmurias MadcapJake: made a pull request
15:43 pmurias MadcapJake: BUILD was being called, it's just that it's return value doesn't end up the return value of new
15:44 jnthn pmurias: BUILD never does that
15:44 jnthn The return value of BUILD is irrelephant.
15:44 Xliff pmurias, found it already
15:44 Xliff I just haven't had a chance to get it all cleaned up.
15:45 Xliff Also found why $!tree was NULL.
15:46 Xliff And there was a parse multi that wasn't passing it to one of the myhtml_parse_* functions
15:46 Xliff But I need to apply these to a clean clone.
15:47 pmurias jnthn: yes, the code assumed that the value of BUILD was used and as such segfaulted
15:47 Xliff pmurias: Ooh! That's probably cleaner than half of the stuff I did.
15:48 pmurias https://docs.perl6.org/language/nativecall#Typed_Pointers is broken
15:49 pmurias is synopsis 21 the reference documentation for native call?
15:50 molaf joined #perl6
15:50 pmurias CStruct is a pointer to a struct
15:50 pmurias ?
15:50 molaf joined #perl6
15:51 Xliff It's a representation type.
15:51 khw joined #perl6
15:52 MadcapJake oh that's why I don't need Pointer[Tree]
15:53 jnthn pmurias: Unless embedded into another CStruct with HAS, then yes
15:53 MadcapJake so now I'm getting a seg fault in myhtml_parse_chunk but I think I'm calculating sizes wrong
15:54 MadcapJake jnthn: in what instance would you want to embed? if a struct in C has a field that has a type that is a struct and is not a pointer?
15:56 jnthn MadcapJake: yes
15:57 jnthn struct Foo { struct Bar *baz; int lol; }; /* has Bar $.baz */
15:57 jnthn struct Foo { struct Bar baz; int lol; }; /* HAS Bar $.baz */
15:58 pmurias do we have the ability to call a function that returns a struct by value?
15:58 Xliff *hisss*
15:58 jnthn No
15:58 Xliff I need go to build hub to create a PR
15:59 Xliff MadcapJake, I think you aren't passing $!tree in one of those instances.
15:59 pmurias the docs for CStruct need fixing, had to read the tests to check what it does
15:59 jnthn That's rare, and some C compilers even whine about it "maybe not being supported widely" (though in reality it is, but I'd be surprised to see it widely used)
15:59 jnthn pmurias: Please patch the docs with your improved understanding, if you've time, or file a doc issue if not :)
16:00 MadcapJake Xliff: thanks
16:00 Xliff Yeah. It's taking me a while to get things cleaned up, so I'll point things out to you as you run into them.
16:01 Xliff I really wanna get this PR done, but command-line PRs are hard.
16:02 MadcapJake now I'm getting a seg fault in mcsync_lock o_O
16:02 Xliff Yes.
16:03 Xliff That's what I need to get to.
16:03 sena_kun *cough*, still can't google it. Can I add something to the $PATH or it's NYI? $*SPEC.path is strongly immutable.
16:03 Xliff MadcapJake, you need to change MyHTML to be repr('CStruct')
16:03 Xliff Add in the attributes
16:03 MadcapJake It is like that already
16:04 wtw joined #perl6
16:04 pmurias are the struct fields part of the myhtml api
16:04 pmurias ?
16:05 pmurias I haven't found any proper reference docs for it but it doesn't seem to declare the struct fields in it's header
16:05 MadcapJake pmurias: yeah they technically arent
16:06 MadcapJake pmurias: I was able to get this working (at a basic level) just by using CPointers all around
16:06 nine_ m: BEGIN { EVAL "0" };0
16:06 camelia rakudo-moar 1aabef: OUTPUT«WARNINGS for /tmp/n_J9Z7rNDg:␤Useless use of constant integer 0 in sink context (line 1)␤»
16:06 Xliff They are definitely needed.
16:07 Xliff MadcapJake, are your latest fixes pushed?
16:07 MadcapJake now they are :D
16:07 Xliff :)
16:09 Xliff Nice!
16:09 Xliff MadcapJake++ # This is farther than I got.
16:09 Xliff Looks like something got free'd before it should have.
16:10 pmurias MadcapJake: it seems like myhtml/api.h is the public api
16:10 Xliff mcsync_lock (mcsync=0x0)
16:10 Xliff mcsync is NULL
16:10 MadcapJake pmurias: yep definitely
16:11 jnthn Xliff: If I had to guess, some init function that should be called (so set the lock up) isn't being?
16:12 Xliff jnthn, yep. My guess too.
16:13 Xliff Ahhh... nope.
16:13 MadcapJake wait, it's actually seg faulting inside myhtml_tree_destroy
16:13 Xliff It's created in myhtml_tree_init()
16:13 Xliff Yeah.
16:13 Xliff Hence my first thought that something had already been free'd when it shouldn't have been.
16:13 MadcapJake mcsync_lock segault https://www.irccloud.com/pastebin/n0pP23UN/
16:15 Xliff http://pastebin.com/0KrRvjpF <- bt with debugging enabled for libmyhtml
16:21 uruwi joined #perl6
16:31 ptolemarch joined #perl6
16:36 sena_kun Oh, %*ENV<PATH> ~= is working as I need. Great.
16:37 Vitrifur left #perl6
16:38 dalek doc: 46f8d06 | (Jan-Olof Hendig)++ | doc/Type/Dateish.pod:
16:38 dalek doc: Fixed typo in example for method week
16:38 dalek doc: review: https://github.com/perl6/doc/commit/46f8d0612a
16:46 MadcapJake Xliff: I tried giving MCSync a CStruct repr but it didn't make an impact
16:48 MadcapJake figured it out
16:51 ufobat oups, executing zef failed on appveyor https://ci.appveyor.com/project/ufobat/bailador/build/1.0.12
16:53 ugexe that error seems to happen randomly on app veyor :(
16:54 ugexe there is a rebuild button somewhere towards the top to rerun it
16:54 ugexe ive never been able to reproduce it on my local windows dev machine though
16:55 ufobat aye, this was the rerun ;-)
16:55 ufobat thanks for the hint, i'll push the button once gain :)
16:55 ufobat https://www.youtube.com/watch?v=oJDGcxAf9D8
16:55 ufobat sorry for the link :D
16:58 Vlavv_ joined #perl6
17:00 dogbert2 hi, is anyone interested in reviewing a feeble attempt to document the 'samecase' method?
17:00 [Coke] dogbert2: suer
17:00 [Coke] *sure
17:01 dogbert2 https://gist.github.com/dogbert17/669dbab640ad74ec98ce3451a17428e8
17:01 dogbert2 hopefully it's not all BS
17:01 uruwi joined #perl6
17:03 [Coke] style note: I would change "copied" on line 16 to "applied", and would insert "copy of $" at the front of line 14.
17:03 dogbert2 cool, will fix
17:04 [Coke] I would also maybe clarify what you mean "according to pattern"
17:04 _mg_ joined #perl6
17:04 [Coke] I would guess it's capital vs. not capital, but then you have underscores in your sample (and perhaps an off by one where the "a" in the first pattern is?)
17:05 vendethiel joined #perl6
17:06 ZoffixW joined #perl6
17:07 dogbert2 I went for underscores hoping they would be easier than spaces but maybe I should use something entirely different
17:08 ZoffixW m: class Foo of Int {}; say Foo.new
17:08 camelia rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/O6P5Th2DXA␤Method 'set_of' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤at /tmp/O6P5Th2DXA:1␤»
17:08 ZoffixW Does anyone know of an example of using `of`? I see it as a trait in the source
17:08 MadcapJake ZoffixW: subset uses 'of'
17:08 psch m: my Array of Hash $x; say $x.WHAT
17:08 camelia rakudo-moar 1aabef: OUTPUT«(Array[Hash])␤»
17:09 ZoffixW Ah, right. Thanks!
17:09 timotimo greetings dogbert2
17:09 timotimo are you the same dogbert as dogbert17?
17:09 dogbert2 yes
17:09 dogbert2 I should get my nicks in order I suppose
17:11 leont joined #perl6
17:11 dogbert2 [Coke]: do you think I should use something better than underscores in the second example?
17:14 RabidGravy joined #perl6
17:14 dogbert2 [Coke]: and yes, there was an off by one error in the example, fixed now
17:15 Xliff MadcapJake, what was the problem with the latest SEGV?
17:16 MadcapJake Xliff: I was freeing MyHTML before Tree
17:17 Xliff Yep! That would do it!
17:18 Xliff Any more pesky SEGVs?
17:26 ufobat ugexe, fyi. it happened again
17:30 ugexe i think it stopped happening (or at least happens less) with a more recent build of rakudo. i think it was the memory fixes jnthn did a couple of weeks ago
17:30 ugexe i dunno if those are in 2016.03 or not
17:32 Juerd joined #perl6
17:35 MadcapJake Xliff: so far that's been the last one! But I just caused a circular dependency and had to restart xD
17:35 smls joined #perl6
17:35 Actualeyes joined #perl6
17:36 Xliff MadcapJake, D'oh! I think I ran into that, too.
17:36 MadcapJake I think I'm gonna merge in my separation of native subs work as the repr classes really are limiting how much I can sugar the interface up for users
17:36 Xliff Happened last night. rakudo spawned like 30 threads and just sat there.
17:37 MadcapJake Xliff: yep, if you quickly get to a terminal and type `killall moar` you will survive but often times it's already too late :P
17:37 Xliff Well, fortunately it's a VM so I can leave it until it uses up all of the resources and dies out.
17:38 * MadcapJake really hopes that gets fixed soon because I'd hate to have some new users run into it.
17:38 smls m: given [a => 2] Z 3 -> [$pair, $number] { }
17:38 camelia rakudo-moar 1aabef: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature␤  in block <unit> at /tmp/AgbkGnwiPY line 1␤␤»
17:38 smls ^^ What's going on here?
17:38 MadcapJake Xliff: mine makes my desktop completely unusable
17:38 Xliff MadcapJake, :(
17:38 MadcapJake The only thing that doesn't freeze is the mouse cursor :D
17:38 Xliff You are running on bare metal though, right?
17:39 Xliff Well... not in a VM
17:39 MadcapJake yep
17:39 Xliff Yeah. I would have been toast last night had I been running on the host.
17:39 Xliff So gotta be careful with those "use" statements! LOL!@
17:40 ZoffixW joined #perl6
17:40 MadcapJake Yep! I plan on adding a rule to P6DX that checks for circular dependencies
17:40 ZoffixW m: my %h = foo => 'bar'; sub lookup ($key) is rw { return %h{$key}; }; lookup('foo') = 'meow'; say %h;
17:40 camelia rakudo-moar 1aabef: OUTPUT«Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/YFD2tJbYRb line 1␤␤»
17:40 ZoffixW m: my %h = foo => 'bar'; sub lookup ($key) is rw {  %h{$key}; }; lookup('foo') = 'meow'; say %h;
17:40 camelia rakudo-moar 1aabef: OUTPUT«{foo => meow}␤»
17:40 Xliff P6DX?
17:40 ZoffixW This feels like a bug, dunnit?
17:41 Xliff ZoffixW, auto-viv?
17:41 ZoffixW Xliff, I'm not following...
17:41 MadcapJake Xliff: it's a Perl 6 parser that builds autocompletions and (will soon) check linter-style rules
17:41 Xliff OOO!
17:41 Xliff lval!
17:42 Xliff You're returning the reference to the key and assigning the value.
17:42 ZoffixW The only difference between the two is the explicit use of `return` in the failing example.
17:42 Xliff Huh.
17:42 Xliff MadcapJake, nice!
17:42 Xliff ZoffixW, that does look like a bug, then.
17:43 Xliff I would expect the same behavior from both versions.
17:44 MadcapJake yeah, it's a CLI so that any editor can plug into it.  So I will be writing up some atom, gedit, Gnome Builder and Sublime Text plugins that use it (if anyone wants to tackle Vim or help me with that, it'd be appreciated)
17:44 smls Xliff: Use return-rw
17:45 ZoffixW smls, thanks
17:46 smls m: f [:a(2), 3];  sub f (*@_, *%_) { dd @_; dd %_ }
17:46 camelia rakudo-moar 1aabef: OUTPUT«[:a(2), 3]␤{}␤»
17:46 smls m: f [:a(2), 3];  sub f ([*@_, *%_]) { dd @_; dd %_ }
17:46 camelia rakudo-moar 1aabef: OUTPUT«[3]␤{:a(2)}␤»
17:47 smls ^^ Why does a subsignature promote positional pair arguments to named arguments?
17:47 smls Is that a bug?
17:49 MadcapJake smls: because you're destructuring a list, maybe?
17:50 smls yeah but the list has two elements, the first of which is a Pair object
17:50 MadcapJake but the destructuring you do happens inside a list in the signature
17:50 MadcapJake in the first case, the list is gobbled up by *@_ and leaves nothing for *%_
17:51 MadcapJake in the second case, you place the *%_ inside the list destructurer
17:52 smls Ok, then let me rephrase: Why does list destructuring promote Pair elements to named arguments?
17:53 smls In my use-case this was a rather big WAT
17:53 MadcapJake it's not promoting to a named argument, it's slurping pairs into a hash
17:53 smls I want to slurp them into an array though... :)
17:54 smls just like any other element of the list
17:55 perlnewbie joined #perl6
17:55 MadcapJake m: f [:a(2), 3];  sub f (*@_) { dd @_; }
17:55 camelia rakudo-moar 1aabef: OUTPUT«[:a(2), 3]␤»
17:55 perlnewbie Hello: Need Opinions.
17:55 smls m: f [:a(2), 3];  sub f ([*@_]) { dd @_; }
17:55 camelia rakudo-moar 1aabef: OUTPUT«Unexpected named argument 'a' passed in sub-signature␤  in sub f at /tmp/iLVG7Le7bZ line 1␤  in block <unit> at /tmp/iLVG7Le7bZ line 1␤␤»
17:56 MadcapJake yeah that last one seems weird
17:57 smls MadcapJake: Not any more than the  [*@_, *%_]  case IMO. the presence of a second parameter never affects what goes into the first parameters.
17:58 sortiz joined #perl6
17:58 perlnewbie I am thinking of doing a lot of text processing. finding repeating sentences finding misspellings etc. . Would Perl 6 Grammars give me much of an advantage over python or other REGEX implementations?
17:58 MadcapJake smls: http://doc.perl6.org/language/list#Argument_List_%28Capture%29_Context
17:58 MadcapJake perlnewbie: most definitely it would
17:58 sortiz \o #perl6
17:58 perlnewbie Can you think of an example if its not too much trouble?
17:59 smls MadcapJake: But the list is not defined in argument list context.
17:59 smls m: my $a = [:a(2), 3];  f $a;  sub f ([*@_]) { dd @_; }
17:59 camelia rakudo-moar 1aabef: OUTPUT«Unexpected named argument 'a' passed in sub-signature␤  in sub f at /tmp/a0zXQHMJtc line 1␤  in block <unit> at /tmp/a0zXQHMJtc line 1␤␤»
17:59 MadcapJake smls: it's converted to capture upon being used as an argument
18:00 sortiz my %h = foo => 'bar'; sub lookup ($key) is rw { return-rw %h{$key}; }; lookup('foo') = 'meow'; say %h; # ZoffixW, an explicit return should be 'return-rw'
18:00 ZoffixW sortiz, thanks.
18:00 sortiz m: my %h = foo => 'bar'; sub lookup ($key) is rw { return-rw %h{$key}; }; lookup('foo') = 'meow'; say %h;
18:00 camelia rakudo-moar 1aabef: OUTPUT«{foo => meow}␤»
18:01 ZoffixW Kinda sucks `is rw` alone is not enough, since it's not needed at all when you use `return-rw`
18:01 MadcapJake perlnewbie: grammars provide a really strong organizational structure to any parsing you're doing. Just check out some of the parsers at examples.perl6.org
18:01 psch m: my %h = foo => 'bar'; sub lookup ($key) is rw { %h{$key}; }; lookup('foo') = 'meow'; say %h;
18:01 camelia rakudo-moar 1aabef: OUTPUT«{foo => meow}␤»
18:01 MadcapJake perlnewbie: also perl 6 has a new and improved regex engine that has lots of features that PCRE's don't
18:02 psch ZoffixW: why is 'is rw' alone not enough?
18:02 perlnewbie Thank you so much for your time
18:04 ZoffixW psch, well, it's not enough when you use explicit `return`. So it's a narrow usecase where you just want the last operation to be rw. If you want to be explicit or to return in the middle of the sub, you need to return-rw. So may as well just use return-rw and not bother with `is rw`. I'd expect `return` to be a `return-rw` if the `is rw` trait applied on the sub. Seems more useful and consistent.
18:05 wamba m: {{ say $_,$OUTER::_,$OUTER::OUTER::_ if 1  given 3 } given 2 } given 1
18:05 camelia rakudo-moar 1aabef: OUTPUT«321␤»
18:06 wamba m: say $_,$OUTER::_ given 2  given 1
18:06 camelia rakudo-moar 1aabef: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E05HQOkcl_␤Missing semicolon␤at /tmp/E05HQOkcl_:1␤------> 3say $_,$OUTER::_ given 2  given 7⏏1␤»
18:06 smls MadcapJake: So the behavior is intended?  (A [ ] sub-signature for a Positional arg doing a List->Capture conversion that promotes Pair elements to the Hash-like part of the Capture)?
18:06 psch ZoffixW: i can't think of a case where an explicit return can't be turned into an implicit return
18:07 psch ZoffixW: i do agree though that having return mean return-rw for any 'is rw' sub would be more convenient
18:08 smls MadcapJake: That kind of means that when you put Pair objects in datastructures, you enter a minefield... :(
18:08 MadcapJake smls: just use |
18:08 MadcapJake m: my $a = [:a(2), 3];  f |$a;  sub f (*@_) { dd @_; }
18:08 camelia rakudo-moar 1aabef: OUTPUT«[:a(2), 3]␤»
18:08 smls m: my $a = [:a(2), 3];  f [|$a];  sub f ([*@_]) { dd @_; }
18:08 camelia rakudo-moar 1aabef: OUTPUT«Unexpected named argument 'a' passed in sub-signature␤  in sub f at /tmp/0GskrMODZI line 1␤  in block <unit> at /tmp/0GskrMODZI line 1␤␤»
18:09 smls Still doesn't help with sub-signatures
18:09 psch m: my $a = [:a(2), 3];  f [|[$a]];  sub f ([*@_]) { dd @_; }
18:09 camelia rakudo-moar 1aabef: OUTPUT«[[:a(2), 3],]␤»
18:10 psch ...probably not helpful :/
18:10 smls MadcapJake: In my usecase, I'm trying to loop over a list where each element looks like  ($string, [$pair, $string])
18:10 smls And would have liked to unpack those right in the loop signature
18:11 smls that's why the example I showed used a sub-signature
18:11 abraxxa joined #perl6
18:16 smls I guess we have to treat pairs like junctions: Only use them as transient objects *within* a self-contained piece of code (e.g. to construct hashes), and don't pass them across routine boundaries to other code that expects "normal" objects... :(
18:16 ZoffixW Created a ticket with the suggestion for `is rw` to have `return` => `return-rw`: https://rt.perl.org/Ticket/Display.html?id=127924
18:17 ZoffixW smls, I think they work fine, when you specify that you're expecting a Pair: https://github.com/rakudo/rakudo/pull/743/files#diff-3ef7087d6aa3112cc0c299c9903bf1c3R292
18:18 MadcapJake m: sub foo([Str $s1, [Pair $p, Str $s2]]) { dd $s1; dd $p; dd $s2 }; foo(['hello', [:a, 'world']])
18:18 camelia rakudo-moar 1aabef: OUTPUT«cannot stringify this␤  in sub foo at /tmp/XqMrcSj4jf line 1␤  in block <unit> at /tmp/XqMrcSj4jf line 1␤␤»
18:19 MadcapJake what does cannot stringify this mean?
18:19 psch MadcapJake: you're getting something that doesn't have a .Str method
18:19 psch or .gist or anything really
18:19 smls ZoffixW: I don't follow. What should I be looking for in that link?
18:20 psch m: sub foo([Str $s1, [Pair $p, Str $s2]]) { say $s1.^name; dd $p.^name; dd $s2.^name }; foo(['hello', [:a, 'world']])
18:20 camelia rakudo-moar 1aabef: OUTPUT«cannot stringify this␤  in sub foo at /tmp/G5noGGfNdk line 1␤  in block <unit> at /tmp/G5noGGfNdk line 1␤␤»
18:20 MadcapJake psch: what? the two strings and a pair have Str/gist methods
18:20 ZoffixW smls, sorry, the very top line that uses Pair in the signature. I believe MadcapJake is showing an example above
18:20 psch MadcapJake: that's the thing, they aren't Str or Pair objects
18:20 psch MadcapJake: note that the HOW can't even stringify itself
18:21 MadcapJake what are they then?
18:21 MadcapJake how do I print the raw signature?
18:21 MadcapJake of the arguments given, not the excepted parameters
18:21 MadcapJake s/excepted/expected/
18:21 psch what does that mean?
18:21 ZoffixW m: sub foo([Str $s1, [Pair $p, Str $s2]]) { say $s1.^name; say $p.^name; say $s2.^name }; say &foo.signature
18:21 camelia rakudo-moar 1aabef: OUTPUT«(@ (Str $s1, @ (Pair $p, Str $s2)))␤»
18:21 smls ZoffixW: That doesn't use a subsignature though. Passing a Pair directly in a signature works fine. Only the destructuring that happens in (among other places) sub-signatures is affected.
18:22 MadcapJake psch: as in, JavaScript-style arguments
18:22 sortiz ZoffixW, The source suggest that 'return' explicitly remove any 'is rw', see: https://github.com/rakudo/rakudo/blob/nom/src/core/control.pm#L33-L42 the details escape me.
18:22 domidumont joined #perl6
18:23 psch MadcapJake: okay.  what does that mean?
18:23 psch i don't really know javascript
18:23 MadcapJake like, say I want to see how data is being provided to my routine, how would I look at the given arguments altogether?
18:23 dha joined #perl6
18:23 [Coke] dogbert2: underscores are fine, but I'd document why they don't do anything.
18:24 ZoffixW m: sub foo(|c) { say c }; foo(['hello', [:42x, 'world']])
18:24 camelia rakudo-moar 1aabef: OUTPUT«\(["hello", [:x(42), "world"]])␤»
18:24 ZoffixW MadcapJake, that ^?
18:24 psch oh
18:24 ZoffixW MadcapJake, it seems like a bug. If you replace the pair with something else, the weird error disappears
18:24 MadcapJake yeah that, wish it didn't need to be a separate param list though
18:24 psch yeah, probably.  we only have "all arguments as passed" if you put the capture explicitly
18:25 psch m: sub foo(|c [Str $s1, [Pair $p, Str $s2]]) { dd c }; foo(['hello', [:a, 'world']])
18:25 camelia rakudo-moar 1aabef: OUTPUT«cannot stringify this␤  in sub foo at /tmp/6BUkZ62SRK line 1␤  in block <unit> at /tmp/6BUkZ62SRK line 1␤␤»
18:25 psch does help anyway :P
18:25 psch but yeah, i'm pretty sure that's a bug
18:25 psch m: sub f(*@ [Str $a]) { say $a }; f "foo"
18:25 camelia rakudo-moar 1aabef: OUTPUT«foo␤»
18:25 psch m: sub f(*@ [[Str $a]]) { say $a }; f ["foo"]
18:25 camelia rakudo-moar 1aabef: OUTPUT«cannot stringify this␤  in sub f at /tmp/C71poan59v line 1␤  in block <unit> at /tmp/C71poan59v line 1␤␤»
18:26 MadcapJake yeah I think that [Str, [Pair, Str]] should really work
18:26 psch well, i'm not completely confident that nested destructuring is a thing we do
18:26 psch ...or rather, want to do
18:26 psch 'cause we clearly don't do it currently... :)
18:26 smls m: f "foo", [:a(2), "bar"];  sub f ($a, |c (*@_, *%_)) { dd @_; dd %_  }
18:26 camelia rakudo-moar 1aabef: OUTPUT«[:a(2), "bar"]␤{}␤»
18:27 smls Huh, so using   |c (...)   instead of  [...]   for the subsignature, doesn't suffer from the issue
18:28 psch m: f "foo", [:a(2), "bar"];  sub f (|c ($a, @ ($p, $s))) { say "$a $p $s" }
18:28 camelia rakudo-moar 1aabef: OUTPUT«Too few positionals passed; expected 2 arguments but got 1 in sub-signature in sub-signature of parameter c␤  in sub f at /tmp/dH5_KR5H_K line 1␤  in block <unit> at /tmp/dH5_KR5H_K line 1␤␤»
18:28 ugexe m: sub foo(Int $a, $b) { say &?ROUTINE.signature }; foo(1, 2)
18:28 camelia rakudo-moar 1aabef: OUTPUT«(Int $a, $b)␤»
18:28 ZoffixW m: sub foo([Str $s1, [Str $p, Str $s2]]) { say $s1, $p, $s2 }; foo(['hello', ['x', 'world']])
18:28 camelia rakudo-moar 1aabef: OUTPUT«helloxworld␤»
18:29 dogbert2 [Coke]: I have updated the text although it's far from certain that it has improved :), take a look if you have the time
18:29 ZoffixW This is weird:
18:29 ZoffixW m: sub foo([Str $s1, [Str $p, Str $s2]]) { say $s1, $p, $s2 }; foo([424242, ['x', 'world']])
18:29 camelia rakudo-moar 1aabef: OUTPUT«cannot stringify this␤  in sub foo at /tmp/V1Y4E9bDPC line 1␤  in block <unit> at /tmp/V1Y4E9bDPC line 1␤␤»
18:29 ZoffixW That's the first arg being an Int instead of the Str, but error message doesn't talk about typecheck
18:30 psch i'd guess it's that the destruct throws a BOOTException or VMException
18:30 psch eh, probably not, those still .WHAT correctly
18:30 psch well, BOOTException at least does iirc
18:30 ZoffixW Ah... and I'm guessing the Pair gets interpreted as a named arg, so the Pair positional fails typecheck and that's why you get the stringify error instead of the typecheck
18:31 psch yeah, the binding into the the subsignature fails and doesn't get turned into a proper Exception
18:31 psch at least that's what it seems like from here, i haven't looked at destructuring or subsignature binding
18:32 dha joined #perl6
18:37 MadcapJake m: subset PairPair of Pair where {$_.key ~~ Pair}; sub foo(Str $s, PairPair $p) { dd $s; dd $p.key; dd $p.value }; foo(|['hello', :3a => 'world']) # smls
18:37 camelia rakudo-moar 1aabef: OUTPUT«"hello"␤:a(3)␤"world"␤»
18:40 MadcapJake that could be a way, instead of layering lists, store the inner list as a pair with the key being a pair, that way there's only one layer of sub-signature and your data is properly represented.
18:41 hankache joined #perl6
18:41 hankache hello #perl6
18:41 hankache is "rakudobrew build jvm" working ?
18:43 hankache fml i don't have jdk installed just jre!
18:43 hankache lol
18:44 awwaiid hankache: I think it is expected to kinda-work sorta. I'm building jvm in nom now, coincidentally
18:45 hankache awwaiid i just noticed i don't have jdk installed, i am installing it and will try again
18:46 mst 0
18:47 dha joined #perl6
18:54 FROGGS joined #perl6
18:55 Ven joined #perl6
19:02 jjido joined #perl6
19:04 [Coke] dogbert2: line 17: s/in $string/in the result/
19:04 [Coke] line 22; line up the #'s - looks good!
19:04 [Coke] last time I tried (last release) It would build but not install
19:05 [Coke] (jvm)
19:06 dogbert2 [Coke]: fixed, many thanks, if no one else objects I'll throw it in :)
19:09 kurahaupo joined #perl6
19:15 hankache "rakudobrew build jvm" is taking forever
19:15 leont Yeah, quite
19:17 [Coke] dogbert2: thank YOU!
19:18 psch hankache: you might be better off canceling and restarting.  i just merged a PR that fixes the "builds but doesn't install" [Coke] mentioned above
19:19 [Coke] on nom or jvminterop?
19:19 psch nom, bartolin++'s PR with the NPE in sort
19:19 hankache "rakudobrew build jvm" builds nom no?
19:20 psch the jvminterop branch is kinda stuck at the moment.  i'm having trouble thinking my way back into all the stuff that has to be fixed there... :/
19:24 firstdayonthejob joined #perl6
19:25 vendethiel joined #perl6
19:28 hankache psch rebuilding now
19:29 hankache what is the status of rakudo-js?
19:39 hankache psch now i have a new error: Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Pod.nqp'
19:39 psch hankache: you need to git clean -xdf the clone you're building from
19:39 psch rakudobrew apparently doesn't do that
19:43 hankache psch where is the clone? /home/.rakudobrew ?
19:43 psch hankache: i don't use rakudobrew at all, but that sounds like a spot it could be, yeah
19:43 dalek doc: f3e8184 | (Jan-Olof Hendig)++ | doc/Type/Cool.pod:
19:43 dalek doc: Added documentation for samecase. [Coke]++ for reviewing.
19:43 dalek doc: review: https://github.com/perl6/doc/commit/f3e8184f6c
19:52 travis-ci joined #perl6
19:52 travis-ci Doc build errored. Jan-Olof Hendig 'Added documentation for samecase. [Coke]++ for reviewing.'
19:52 travis-ci https://travis-ci.org/perl6/doc/builds/124003334 https://github.com/perl6/doc/compare/46f8d0612ada...f3e8184f6cd6
19:52 travis-ci left #perl6
19:53 dogbert2 Hmm, 'The command "panda installdeps ." failed and exited with 1 during .'
19:54 dha I want there to be a Command Panda now.
19:56 dogbert2 find it difficult to believe that changes to a pod file led to this, must be something else going on
19:56 leont It seems my harness died with a SIGABORT (should have enabled coredump…) while doing a spectest :-/
20:05 mst leont: http://trout.me.uk/foom.jpg
20:09 cdg joined #perl6
20:21 dolmen joined #perl6
20:23 moritz masak: today's autopun: If I had to describe myself in one word, it would be "bad at following directions".
20:23 moritz :-)
20:24 teatime heh, that took me a moment
20:25 El_Che :)
20:26 silug joined #perl6
20:27 dha moritz++
20:39 masak moritz: ;)
20:40 dha joined #perl6
20:45 colomon moritz++
20:47 perl6newbie joined #perl6
20:48 perl6newbie Camilia: if 'properly' ~~ m/ perl / {     say "'properly' contains 'perl'"; }
20:48 perl6newbie camillia: help
20:48 perl6newbie msg camilia: if 'properly' ~~ m/ perl / {     say "'properly' contains 'perl'"; }
20:49 perl6newbie msg camelia
20:49 perl6newbie 'p6 say 4;'
20:49 masak m: say "hi, perl6newbie"
20:49 camelia rakudo-moar bd4400: OUTPUT«hi, perl6newbie␤»
20:50 geekosaur /msg camelia m: if ...
20:50 masak perl6newbie: if you want to try out camelia in private, you can privmsg her with `/msg camelia m: say "hi"`
20:50 perl6newbie m: say "hi Perl6newbie"
20:50 camelia rakudo-moar bd4400: OUTPUT«hi Perl6newbie␤»
20:50 perl6newbie thanks
20:50 perl6newbie m: say "if 'properly' ~~ m/ perl / {     say "'properly' contains 'perl'"; }"
20:50 camelia rakudo-moar bd4400: OUTPUT«'properly' contains 'perl'␤if 'properly' ~~ m/ perl / True␤»
20:50 geekosaur ("m:" being short for "rakudo-moar:" specifying the backend(s) to use)
20:50 perl6newbie got it
20:51 perl6newbie `/msg camelia m: say "hi"`
20:51 masak m: if 'properly' ~~ m/ perl / {     say "'properly' contains 'perl'"; }
20:51 camelia rakudo-moar bd4400: OUTPUT«'properly' contains 'perl'␤»
20:51 masak perl6newbie: without the ``
20:53 perl6newbie joined #perl6
20:56 lizmat joined #perl6
21:00 perl6newbie I installed rakudo star whats the equivilent of  camelia m: (eg have it spit out the answear)
21:01 _mg_ joined #perl6
21:02 [Coke] perl6 -e "say 'do the thing'"
21:02 [Coke] or, type perl6 and hit enter, and you get a REPL
21:03 perl6newbie Thanks
21:04 perl6newbie I realy like the this if 'abcdef' ~~ / de / {     say ~$/;            # de     say $/.prematch;    # abc     say $/.postmatch;   # f     say $/.from;        # 3     say $/.to;          # 5 };
21:04 perl6newbie the post match prematch stuff is neat
21:05 perl6newbie do you know if it is faster slower or about tye same as a lookaround asertion or if it is just a shortcut to one?
21:06 teatime hrm, I don't see how it does the same thing?
21:07 teatime perl6newbie: p.s. panda install Readline to make the REPL better
21:07 teatime or, wait, star probably already does that
21:07 jjido joined #perl6
21:08 perl6newbie :m teatime thank you
21:11 dha teatime: I had some issue installing Readline recently, and I don't think it was in Task::Star. Has that changed, or did you mean to refer to Linenoise?
21:11 teatime no, I was talking about Readline.  I had some issue too, but I don't recall what it was.
21:13 dha Ah, ok. Maybe I should try again.
21:16 skink joined #perl6
21:17 skink o/
21:21 smls m: my $string = "aaaaa bb cccccccccc ddd eee ff";   my $width = 10;   say $string.match(/. ** {1..$width} <|w> )> \s*/, :g).join("\n")
21:21 camelia rakudo-moar bd4400: OUTPUT«aaaaa bb ␤cccccccccc␤ddd eee ff␤»
21:21 smls ^^ kinda neat way to wrap a string to a fixed column width
21:22 smls (Not bullet-proof, but could be extended.)
21:26 perl6newbie is the  / <[ a .. c 1 2 3 ]> / syntax for creating your own character class new in perl 6
21:27 smls perl6newbie: yes
21:27 perl6newbie so cool
21:28 perl6newbie m: camelia: say '"in quotes"' ~~ / '"' <-[ " ]> * '"'/;
21:28 camelia rakudo-moar bd4400: OUTPUT«「"in quotes"」␤»
21:28 perl6newbie m: camelia: say "this  is not '"in quotes"' ~~ / '"' <-[ " ]> * '"'/;
21:28 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qQ98oqv3K8␤Two terms in a row␤at /tmp/qQ98oqv3K8:1␤------> 3camelia: say "this  is not '"7⏏5in quotes"' ~~ / '"' <-[ " ]> * '"'/;␤    expecting any of:␤        infix␤        infix stopper␤  …»
21:28 teatime the same thing in perl5 looks like /"[^"]*"/
21:28 perl6newbie m: camelia: say 'this is not' "in quotes"' ~~ / '"' <-[ " ]> * '"'/;
21:28 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3bULmZm_3t␤Two terms in a row␤at /tmp/3bULmZm_3t:1␤------> 3camelia: say 'this is not'7⏏5 "in quotes"' ~~ / '"' <-[ " ]> * '"'/;␤    expecting any of:␤        infix␤        infix stopper␤   …»
21:29 perl6newbie m: camelia: say 'this is not "in quotes"' ~~ / '"' <-[ " ]> * '"'/;
21:29 camelia rakudo-moar bd4400: OUTPUT«「"in quotes"」␤»
21:29 perl6newbie m: camelia: say 'this is not in quotes "this is in quotes"' ~~ / '"' <-[ " ]> * '"'/;
21:29 camelia rakudo-moar bd4400: OUTPUT«「"this is in quotes"」␤»
21:31 khw joined #perl6
21:31 pmurias .tell hankache I'm working on fixing bugs that prevent rakudo-js from compiling the setting
21:31 yoleaux pmurias: I'll pass your message to hankache.
21:33 _mg__ joined #perl6
21:36 TEttinger joined #perl6
21:38 dha joined #perl6
21:41 dalek doc: c92cf2c | (Zoffix Znet)++ | doc/ (2 files):
21:41 dalek doc: Mention/index return-rw
21:41 dalek doc:
21:41 dalek doc: Closes #453
21:41 dalek doc: review: https://github.com/perl6/doc/commit/c92cf2cb29
21:42 snarkyboojum joined #perl6
21:42 snarkyboojum left #perl6
21:47 perl6newbie Hey why would you write  say so 'aaaa' ~~ /a ** 1^..^6/;  instead of  say so 'aaaa' ~~ /a ** 2..5/;  Isn't the same thing?
21:47 ZoffixWin Yup
21:48 ZoffixWin More than on way to do it :)
21:49 perl6newbie if im reading this right    say so 'aaaa' ~~ /a ~~ 1^..*/  means any number of a  exept a single a
21:50 perl6newbie i can see where the negation is helpfull there
21:50 ZoffixWin If I'm being picky: "any number above 1" (since your explanation includes zero)
21:51 perl6newbie true
21:51 grondilu or aa+
21:51 grondilu m: say 'aaa' ~~ /a a+/
21:51 camelia rakudo-moar bd4400: OUTPUT«Potential difficulties:␤    Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing)␤    at /tmp/yut9mDM3ij:1␤    ------> 3say 'aaa' ~~ /a7⏏5 a+/…»
21:51 grondilu m: say 'aaa' ~~ /aa+/
21:51 camelia rakudo-moar bd4400: OUTPUT«「aaa」␤»
21:51 grondilu m: say 'a' ~~ /aa+/
21:51 camelia rakudo-moar bd4400: OUTPUT«Nil␤»
21:52 wamba joined #perl6
21:52 grondilu I'm surprised about the warning about spaces.  I thought I could put spaces as much as I want.
21:53 grondilu maybe not between litteral characters I suppose.
21:54 Juerd The warning is wrong too. The space *is* significant: it triggers a warning.
21:55 geraud joined #perl6
21:55 perl6newbie m: camelia: say 'aa,a' ~~ / a+ % ','/
21:55 camelia rakudo-moar bd4400: OUTPUT«「a」␤»
21:56 perl6newbie m: camelia: say 'aa,a' ~~ / a+ %% ','/
21:56 camelia rakudo-moar bd4400: OUTPUT«「a」␤»
21:56 perl6newbie m: camelia: say 'a,a' ~~ / a+ %% ','/
21:56 camelia rakudo-moar bd4400: OUTPUT«「a,a」␤»
21:56 perl6newbie m: camelia: say 'a,a' ~~ / a+ % ','/
21:56 camelia rakudo-moar bd4400: OUTPUT«「a,a」␤»
21:58 lizmat and another P6W hits the Net: https://p6weekly.wordpress.com/2016/04/18/2016-16-a-quick-one-from-dublin/
21:58 yoleaux 16 Apr 2016 12:13Z <azawawi> lizmat: nothing so far but https://github.com/perl6/roast/blob/master/S11-compunit/compunit-dependencyspecification.t
21:59 ZoffixWin whoa "The line number is now mentioned when trying to use a non-existent module."... That was fixed!
21:59 travis-ci joined #perl6
21:59 travis-ci Doc build passed. Zoffix Znet 'Mention/index return-rw
21:59 travis-ci https://travis-ci.org/perl6/doc/builds/124032342 https://github.com/perl6/doc/compare/f3e8184f6cd6...c92cf2cb29ec
21:59 travis-ci left #perl6
21:59 perl6newbie m: camelia:  say so 'abababa' ~~ /a .* aba/   # True
21:59 camelia rakudo-moar bd4400: OUTPUT«True␤»
21:59 perl6newbie m: camelia:  say so 'abababa' ~~ /a .*: aba/   # True
21:59 camelia rakudo-moar bd4400: OUTPUT«False␤»
22:00 perl6newbie m: camelia:  say so 'abababa' ~~ /a .*: aba/   # False
22:00 camelia rakudo-moar bd4400: OUTPUT«False␤»
22:00 ZoffixWin perl6newbie, camelia also supports /msg, if you wish to play with her in private
22:00 perl6newbie sorry your right
22:01 perl6newbie ussing a ":"  to stop backtracking could be useful for performance
22:01 grondilu m: role A { sub foo is export {...} }; import A;
22:01 camelia rakudo-moar bd4400: ( no output )
22:02 ZoffixWin lizmat++ # weekly
22:02 grondilu m: role A { sub foo is export {...} }; import A; class :: does A { sub foo { say "foo" } }; foo
22:02 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MEX8TRm4xL␤Undeclared routine:␤    foo used at line 1␤␤»
22:03 grondilu meh ignore that.  I'm struggling to see what I want to do.
22:03 lizmat m: use Foo
22:03 camelia rakudo-moar bd4400: OUTPUT«===SORRY!===␤Could not find Foo at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUnit::Repositor…»
22:03 lizmat ZoffixWin: ^^^
22:04 lizmat m: EVAL "\n\n\n\n\n\n\nuse Foo"
22:04 camelia rakudo-moar bd4400: OUTPUT«===SORRY!===␤Could not find Foo at line 8 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUnit::Repositor…»
22:05 vendethiel joined #perl6
22:05 ZoffixWin lizmat, yeah :) I was trying to fix it a couple days ago and glad azawawi++ came up with the fix.
22:05 lizmat well, I think nine_  is not happy with the way it got fixed...
22:05 lizmat but at least on the outside it now works
22:07 grondilu m: role A { sub foo(A $) is export {...} }; import A; class B does A { sub foo(::?CLASS $) { say "foo!" } }; foo(B.new)
22:07 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uG6A9ZPlDY␤Undeclared routine:␤    foo used at line 1␤␤»
22:08 grondilu m: module A { sub talk is export { say "hi" } }; import A; takl
22:08 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AHcXP6SOg6␤Undeclared routine:␤    takl used at line 1. Did you mean 'take', 'talk'?␤␤»
22:08 grondilu m: module A { sub talk is export { say "hi" } }; import A; talk
22:08 camelia rakudo-moar bd4400: OUTPUT«hi␤»
22:09 grondilu m: role A { sub talk is export { say "hi" } }; import A; talk
22:09 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4jDqBzaLnA␤Undeclared routine:␤    talk used at line 1␤␤»
22:09 grondilu can't I import from a role?
22:10 ZoffixWin Seems not.
22:10 ZoffixWin m: package Foo { role A { sub talk is export { say "hi" } } }; import Foo; talk
22:10 camelia rakudo-moar bd4400: OUTPUT«hi␤»
22:10 ZoffixWin This works tho
22:10 grondilu it's ok.  That was silly of me to put the sub in the role anyway.
22:11 lizmat m:  class A { sub talk is export { say "hi" } }; import A; talk
22:11 camelia rakudo-moar bd4400: OUTPUT«hi␤»
22:11 lizmat hmmm... feels to me the import should auto-pun the role
22:12 jnthn Well, it stems from this:
22:12 jnthn m: class A { sub talk is export { } }; say A::.keys
22:12 camelia rakudo-moar bd4400: OUTPUT«(EXPORT)␤»
22:12 jnthn m: class A { sub talk is export { } }; say A::EXPORT::DEFAULT::.keys
22:12 camelia rakudo-moar bd4400: OUTPUT«(&talk)␤»
22:12 jnthn m: role A { sub talk is export { } }; say A::EXPORT::DEFAULT::.keys
22:12 camelia rakudo-moar bd4400: OUTPUT«Could not find symbol '&DEFAULT'␤  in block <unit> at /tmp/HeQY91Otzv line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/HeQY91Otzv line 1␤␤»
22:12 jnthn And that is because the body of a role is generic
22:12 jnthn So there's no unique sub to import
22:13 lizmat hmmm...
22:13 jnthn (Consider `role A { sub talk is export { say $?CLASS } }`
22:13 RabidGravy presumably:
22:13 RabidGravy m: role A { our sub f() { } }
22:13 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CN0oargHkn␤Cannot declare our-scoped sub inside of a role␤(the scope inside of a role is generic, so there is no unambiguous␤package to install the symbol in)␤at /tmp/CN0oargHkn:1␤------> 3role A { o…»
22:14 RabidGravy yeah
22:14 jnthn Maybe "is export" on a sub in a role should say the same thing
22:15 jnthn I'm pretty sure punning - at least as it stands today - wouldn't actually do it
22:15 jnthn Might be twisted into doing it
22:15 jnthn Though I have a slight suspicion there'd be some surprise lurking there too
22:16 geekosaur joined #perl6
22:16 RabidGravy I'd go with the error
22:18 jnthn It's the conservative option at the very least. :) And wanting it to work my signal confusion anyway.
22:18 jnthn *may
22:20 grondilu I'm still thinking about how I'll do code generation for my Versor module.  I'm considering making a role with a bunch of unimplemented methods or operator subs, exporting them, and them implementing this role with classes defined by EVAL'ed strings.
22:22 grondilu FYI:  https://github.com/grondilu/versor.p6
22:22 grondilu it's something I really want to do eventually but it's kind of complicated.  Any advice welcome.
22:24 grondilu I gave up on a straightforward translation from javascript as the code generation part was too confusing.  But now that I made it more perlish I still struggle to see how I'll do the code generation part.
22:24 grondilu I'll definitely use EVAL at some point but it's not simple.
22:30 ipad8282 joined #perl6
22:31 colomon joined #perl6
22:33 ipad8282 p6: say "hello";
22:33 camelia rakudo-moar bd4400: OUTPUT«hello␤»
22:44 grondilu oh I think I made something that I can use:
22:44 grondilu m: role A {}; sub postfix:<!>(A $a) { $a.exclam() }; my $b = EVAL 'class :: does A { method exclam { say q{hi} } }'; $b.new!
22:44 camelia rakudo-moar bd4400: OUTPUT«hi␤»
22:46 grondilu m: EVAL 'class A {}'; A.new # kind of disappointing that this does not work but I kind of understand why
22:46 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WLwOYD1UeK␤Undeclared name:␤    A used at line 1␤␤»
22:46 kid51 joined #perl6
22:47 ZoffixWin I don't. Why doesn't it work?
22:47 ZoffixWin m: BEGIN EVAL 'class A {}'; A.new
22:47 grondilu m: BEGIN EVAL 'class A {}'; A.new
22:47 camelia rakudo-moar bd4400: ( no output )
22:47 camelia rakudo-moar bd4400: ( no output )
22:47 ZoffixWin Ah, I see
22:48 grondilu smae time
22:48 ZoffixWin You owe me a coke :)
22:48 grondilu I can't generate the code too early though as I need to do stuff in order to know how to generate it :P
22:49 grondilu but the solution my $class = EVAL 'class :: {...}' is fine.
22:51 grondilu on the other end I suppose I could create empty classes at compile time, and then augment them with MONKEY-TYPING
22:51 cpage_ joined #perl6
22:52 grondilu s/other end/other hand/
22:54 grondilu actually no I can't do that as at compile time I don't even have the names of the classes I want to generate.
22:54 grondilu how could I add a new class in the current lexical scope at run time?
22:55 Actualeyes joined #perl6
22:55 grondilu m: my \A = EVAL 'class :: { method talk { say "hi" }'; A::talk;
22:55 camelia rakudo-moar bd4400: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Missing block␤at /home/camelia/EVAL_0:1␤------> 3class :: { method talk { say "hi" }7⏏5<EOL>␤    expecting any of:␤        postfix␤        statement end␤»
22:56 cdg joined #perl6
22:56 grondilu m: my \A = EVAL 'class :: { method talk { say "hi" } }'; A::talk;
22:56 camelia rakudo-moar bd4400: OUTPUT«Could not find symbol '&talk'␤  in block <unit> at /tmp/L15Uff8B_4 line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/L15Uff8B_4 line 1␤␤»
22:56 Actualeyes left #perl6
22:56 grondilu m: my \A = EVAL 'class :: { method talk { say "hi" } }'; A.talk;
22:56 camelia rakudo-moar bd4400: OUTPUT«hi␤»
22:57 ZoffixWin neat
22:57 grondilu m: my \A := EVAL 'class :: { method talk { say "hi" } }'; A.talk;
22:57 camelia rakudo-moar bd4400: OUTPUT«hi␤»
22:57 grondilu m: my \A := EVAL 'class :: { method talk { say "hi" } }'; A::talk;
22:57 camelia rakudo-moar bd4400: OUTPUT«Could not find symbol '&talk'␤  in block <unit> at /tmp/ljPCTeKWV2 line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/ljPCTeKWV2 line 1␤␤»
22:59 grondilu that's ok I realize I don't have and should not do it like that anyway.
22:59 RabidGravy I do something similar in the tests for the JSON::Infer
22:59 grondilu I'll have a look
23:06 skink Does this look like sane types/behavior for a password-based key-derivation multisub?
23:06 skink my (Buf $key, Str $salt) = argon2-keygen(Str $pwd, [params])
23:06 skink my Buf $key = argon2-keygen(Str $pwd, Str $salt)
23:06 khw joined #perl6
23:10 ZoffixWin If [params] are optional named arguments, sure :)
23:16 skink mhm
23:17 skink I think perhaps $salt in this case may actually be better off as a Buf, since a user would be more likely to be dealing with blobs in general
23:17 skink Like writing the salt into the header of an encrypted file, or what have you
23:19 bigperl1984 joined #perl6
23:21 timotimo RabidGravy: i'm having some fun with sunvox :)
23:21 RabidGravy yay!
23:22 timotimo i'm not really making things that sound good melodically, but tweaking generator settings and adding filters and such is fun
23:22 timotimo i even sampled a "meow" (no, not one the cat made. one i made) and played that. but it sounded uninteresting
23:22 RabidGravy groovy
23:23 timotimo but the drumkit instrument kind of sucks
23:23 ZoffixWin Whatchya guys talking about?
23:23 timotimo musics
23:23 timotimo also, what sense does it make to create an "acid base"?
23:23 bigperl1984 try barking. much more fun
23:26 RabidGravy the classic acid bass is a square wave with a 24db/octave with high resonance around a certain range and the filter cut-off somewhat asymmettric to the amplitude envelope
23:26 RabidGravy ^ filter
23:38 tailgate joined #perl6
23:39 tailgate can I store an infix function in a variable? How can I use one in a statement?
23:41 tardisx joined #perl6
23:41 leont You can store a function in a variable, and call it as a function
23:41 timotimo you can access an infix operator as an object with its "long name" syntax, like this:
23:41 leont The infix is just a funny syntax for it
23:42 timotimo m: my $the-addition-operator = &infix:<+>; say $the-addition-operator(10, 99)
23:42 camelia rakudo-moar bd4400: OUTPUT«109␤»
23:42 timotimo alternatively, infix operators can be referred to with a shorter syntax:
23:42 timotimo m: my $the-addition-operator = &[+]; say $the-addition-operator(10, 99)
23:42 camelia rakudo-moar bd4400: OUTPUT«109␤»
23:43 RabidGravy or even
23:43 RabidGravy m: my &the-addition-operator = &[+]; say the-addition-operator(10, 99)
23:43 camelia rakudo-moar bd4400: OUTPUT«109␤»
23:50 RabidGravy timotimo, though it's just get an x0xb0x as software rarely does the weird non-linear behaviour of the 303  diode ladder filter justice ;-)
23:51 skink ZoffixWin, Agh, not so simple it seems. hash_raw() returns only the key without a header, hash_encoded() returns the header plus the salt/key base64'd together
23:52 skink For the type of interface I mentioned earlier, with the former I'd have to construct the header myself or create a class or something, with the latter some weird decoding and subbuf stuff
23:52 RabidGravy anyhow time to crash toodles
23:56 timotimo RabidGravy: excuse me, what?
23:56 timotimo oh snap, just missed 'em

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo