»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
seatek if only the worldwide web consortium would have embraced POD instead of HTML... ;) 00:00
seatek i will never use bold or italic again 00:12
ever
dalek c: 87e90bb | gfldex++ | doc/Language/objects.pod6:
show how to access class attributes in initializers
00:19
synopsebot6 Link: doc.perl6.org/language/objects
timotimo seatek: here you can see the work i did today that was related to links in the documentation
dalek c: aa6b468 | gfldex++ | doc/Language/typesystem.pod6:
fix markup
00:22
synopsebot6 Link: doc.perl6.org/language/typesystem
seatek ah there that one is :)_
the first was about the self stuff that just got talked about. i love self. it fixes everything. ;) 00:23
timotimo i wanted to also calculate how long it'd take for the cron job to jump into action the next time, but i ended up deciding against it
seatek why would you want to know that?
seems like it could cause stress. it's better not to know 00:24
timotimo "click here in 5 minutes to see your changes"
seatek oh hehe ;)
dalek c: 225acbd | gfldex++ | doc/Language/typesystem.pod6:
fix another naked link
00:25
synopsebot6 Link: doc.perl6.org/language/typesystem
seatek that's a whole different way to link, in that last thing. i think there is no standard way to make links. 00:26
gfldex .oO( If you want something done do it self.your! )
seatek :)
seatek oh, i'm using bold and italic much less as the document goes on. i must have been subconsciously trying to save my life in the future 00:36
seatek if you create a new file on github in doc/doc/Language it won't automatically show up on the website will it? 00:45
gfldex seatek: if it ends in .pod6 it will be processed. Any index entry will show up in the search index. 00:49
seatek gfldex: is the pod6 rendering done git-site-wide? i have a grammar tutorial i'd like to put somewhere for people to check out and use if they want 00:50
i don't know where to put for review though 00:51
gfldex there is a cron job that is running 3 times the hour that will generate the docs. Just push your stuff. If we can't stand it we can always revert the commit. 00:52
seatek hehe ok ;)
gfldex seatek: build logs show up in docs.perl6.org/build-log/ 00:53
if you break the build you can check there what went wrong
dalek c: d7ce18c | adaptiveoptics++ | doc/Language/grammar_tutorial.pod6:
A new grammar tutorial for review

What would have helped me come to grips with what they actually were
00:55
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
gfldex also, travis will complain loudly. There is no connection between travis and the cron job tho. That travis fails does not mean the build will fail too.
seatek i ran it through my local perl6 --doc thingy and got no error
gfldex htmlify.p6 is a bit more involved then that. You may want to read github.com/perl6/doc/blob/master/C...IBUTING.md . 00:57
gfldex seatek: most contributors break lines at 80 chars to make it easier to review directly on github 00:58
skink ahoy #perl6
timotimo o/ 00:59
htmlify is also quite slow
seatek think i should delete it and wrap at 80 cols?
skink Anyone tried calling C ABI Rust code using NativeCall yet? 01:00
seatek no prob to do so
gfldex seatek: there is no real need to do that right now. It's not a short edit that is worth reading on github. 01:01
seatek k
dalek c: 9479b4a | gfldex++ | doc/Language/grammar_tutorial.pod6:
fix grammar a little
01:09
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
timotimo goes to bed
dalek c: 6329a01 | gfldex++ | doc/Language/grammar_tutorial.pod6:
make examples compile
01:27
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
seatek gfldex: thanks for the fixes :) 01:34
dalek c: 0716b91 | MasterDuke17++ | doc/Language/grammar_tutorial.pod6:
Just some typo and consistency fixes
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
MasterDuke oops, i just overwrote (some of?) gfldex's fixes 01:36
/me--
hmm, you can't revert from the github ui? 01:37
seatek i've never tried -- i'd avoided github for years 01:38
MasterDuke btw, ++seatek++ 01:39
seatek MasterDuke: hey thank you :) 01:39
and thanks for the proddings too 01:40
dalek c: 0779a3b | MasterDuke17++ | doc/Language/grammar_tutorial.pod6:
Revert "Just some typo and consistency fixes"

This reverts commit 0716b914559133049a5c3b6566297e529b6df28f. I accidentally overwrote gfldex's previous fixes.
01:44
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
tbrowder .tell viki to check Misc::Utils to see table of proposed module names after breakup 01:46
yoleaux tbrowder: I'll pass your message to viki.
dalek c: e15eb8a | adaptiveoptics++ | doc/Language/grammar_tutorial.pod6:
<em> converted to pod I<>
02:09
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
naptastic In Perl 6, is there a special grapheme to indicate that a string has ended? (Like how strings in C are always null-terminated?) 03:17
gfldex naptastic: not on the users end 03:19
geekosaur string terminators are not well loved... lengths are better 03:21
dalek c: c0c9480 | gfldex++ | doc/Language/grammar_tutorial.pod6:
fix markup
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
naptastic ok, that's kinda what I figured. Null-termination when a grapheme is 32-bits seems silly. 03:22
seatek gfldex: i was wondering about that! in the synopsis, =item1 had a # after it but I guess that was just to indicate that a number would be auto-generated in that position 03:23
seatek I don't much about Windows at all. But I'm on it right now. Going to try Perl6 on it. But I dont' see an October build of Rakudo star for Windows. Just Mac (dmg?) Is it just not available for Windows? Doesn't matter to me one bit really. 05:40
seatek ok i'm going to try building it myself with a cygwin gcc compiler. heh 05:58
seatek ok that doesn't work out of the box "Standard and WinAPI seek modes not compatible" 06:02
ok looks like a linux vm is in order :) 06:10
samcv anybody have any tips for killing processes started with Proc::Async? i'm not having much luck with .kill, or even .kill(9), even on a loop isn't killing the process 06:13
put in a way for the secondary program to exit when it gets STDIN that is "KILL\n" but, maybe there's something else i can try? because if the secondary process fails and doesn't respond anymore this doesn't work 06:14
or maybe it's the fact that $proc.started is returning true even when the process is already dead?
but i tried putting while $proc.started { $proc.kill(9); }, and that didn't do anything either useful 06:15
geekosaur I would be *very* surprised if a SIGKILL wasn't actually killing it
unless it's not actually delivering the signal 06:16
samcv well at least i know that $proc.started continues returning true 06:18
even after $proc.kill in a loop
gfldex samcv: you may have to close open handles 07:20
samcv: if handle 0-2 are still open, the process wont go away but becomes a zombie 07:21
masak morning, #perl6 08:19
moritz \o masak 08:30
u-ou 'tis evening time! 08:32
[ptc] o/
masak u-ou: are you somewhere in Asia, then? or Oceania? 08:50
u-ou new zealand 08:51
masak lovely place
u-ou yah, it's nice
masak though a bit further ahead of the rest of the world in realizing that The Sun Is Not Your Friend... 08:52
u-ou not really. it's pretty mild here.
that's def. true of australia though.
masak to me that was a difference to .se -- the UV radiation awareness 08:53
u-ou: 12 years ago, I ended up riding a bike from North Island to South Island
basically from Palmerston North to Christchurch
u-ou whoa 08:54
masak :D
u-ou that's a lot of cycling
masak ah, the adventures of youth
u-ou hehe
masak I didn't bike exactly the whole way
took a bus from Nelson to Greymouth, IIRC
[ptc] u-ou: where in NZ? 08:55
u-ou south island
[ptc] could you be more specific? I'm from the North Island ;-) 08:56
u-ou dunedin :P
masak I heard nice things about Dunedin. never went there, though.
[ptc] lovely place, Dunedin. The Cadbury's chocolate factory is there (mmmm, chocolate...) and it's got this pretty old train station close to the centre of town 08:57
also has the steepest street in the southern hemisphere 08:58
DrForr That reminds me that I need to stop by Paul A. Young while I'm at LPW. 08:59
masak [ptc]: wait -- where's the steepest street in the northern hemisphere? LA?
[ptc] masak: dunno. Probably 09:00
masak en.wikipedia.org/wiki/Baldwin_Street 09:01
seems this is the steepest (residential) street in the *world*, though
[ptc] could be
in which case it's *also* the steepest street in the southern hemisphere :-)
as far as I know, Dunedin got planned by a whole lot of British town planners, and so they planned streets for NZ much the same as the rolling hills in England 09:02
masak "average slope of slightly more than 1:5" 09:02
m: say atan2(5, 1) / pi * 180
camelia rakudo-moar c55c5d: OUTPUT«78.6900675259798␤»
[ptc] hence, someone said "the street has to go that way" and so they built it straight up; complete with steps for the footpath (otherwise it'd be too steep to walk up)
masak ...please tell me I got that calculation wrong
[ptc] me too! 09:03
masak m: say atan2(2.86, 1) / pi * 180
camelia rakudo-moar c55c5d: OUTPUT«70.7278029327301␤»
masak m: say 90 - atan2(2.86, 1) / pi * 180
camelia rakudo-moar c55c5d: OUTPUT«19.2721970672699␤»
masak aha
[ptc] that looks better!
masak m: say 90 - atan2(5, 1) / pi * 180
camelia rakudo-moar c55c5d: OUTPUT«11.3099324740202␤»
masak ...that's the average slope 09:04
[ptc] I've known people to bike up it. I know my car had a hard time in first gear... 09:04
masak m: say atan2(1, 2.86) / pi * 180
camelia rakudo-moar c55c5d: OUTPUT«19.2721970672699␤»
masak ...and that's what I got wrong
masak .oO( Know Thy Arguments )
[ptc] .oO( Masak's 10 Commandments of Programming ) 09:05
masak oh, I don't think I'm qualified to do commandments. :) 09:06
but I can play the role of the stoned Oracle of Delphi, at a pinch
[ptc] I'd like to see that
masak .oO( this joke does not imply the endorsement of drugs, except those approved by society: coffee, and lack of sleep ) 09:07
DrForr I just got an invitation to speak (reimbursed) at DevDays Vilnius. 09:10
masak DrForr: great! 09:13
DrForr Very surprise. Much WTH. 09:15
moritz DrForr: wow, congratulations 09:30
DrForr Nod. It was something of a surprise. 09:32
u-ou i like sleep 09:52
masak u-ou: sleep well! dream of appropriately sloped streets 09:55
u-ou oh, i'm not going now :p
masak ...you just wanted to make your enthusiasm for sleep known. got it :> 09:56
u-ou it was about your endorsement of the lack of sleep 09:57
:>
timotimo oh, from new zealand 09:59
i hear it's beautiful
there's vikings there, right?
masak timotimo: upside-down vikings
tadzik You mean sbuıʞıʌ 10:00
timotimo not ʌıʞıuƃs? 10:01
masak Unicode consortium: look what you have done! 10:02
masak .oO( look at my codepoints, ye mighty, and despair )
DrForr Unimandius. 10:03
jnthn I saw the Unicode 10 emoji draft and it has a Perl 6 implementor emoji. 10:06
"Head banging against a Wall"
timotimo poor walls
larry and gloria surely don't deservet his
jnthn :P
timotimo i don't know the other walls personally, so can't say more 10:07
masak the other Walls that I've met were also well worth preserving against gratuitous head-banging
I'm assuming it extends to all Walls 10:08
dalek c: c1724eb | (Tom Browder)++ | doc/Language/grammar_tutorial.pod6:
fix typo
11:39
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
tbrowder mornin, p6 12:09
lizmat tbrowder o/
tbrowder just found out there is a blended Scotch whiskey named Monkey Shoulder--sounds like a good candidate for the MONKEY names if another is needed! 12:10
hi, lizmat
moritz is against the proliferation of alcohl memes 12:11
lizmat wonders how moritz thinks about smoking 12:12
tbrowder i'm in the process of breaking my WIP module into more specific areas with more focused names. 12:13
I would appreciate any critiques of github.com/tbrowder/Misc-Utils-Perl6 12:14
There you should see a table with the names.
moritz lizmat: I think it's much less of a problem than alcohol these days (at least in .de) 12:15
lizmat moritz: yes, it's less of a test these days :-) 12:16
timotimo m: my $hexstr = "1af43b"; say :16($hexstr)
camelia rakudo-moar c55c5d: OUTPUT«1766459␤»
timotimo tbrowder: ^ may be interesting to you
viki
yoleaux 01:46Z <tbrowder> viki: to check Misc::Utils to see table of proposed module names after breakup
tbrowder i found out about that too late, bit you will see it on my todo list in the repo 12:17
moritz lizmat: and I don't have anything against alcohol per se either, just against the unquestioned prevalence in culture that make its consumption feel normal or even mandatory 12:18
timotimo i see
lizmat moritz: I was trying to refer to the early days of test-smoking (around 2001) where some people were very much against calling it smoking 12:19
moritz: using the same reason you just mentioned: to be against the proliferation of smoking memes :-)
tbrowder .tell ilmari please check my WIP module at github.com/tbrowder/Misc-Utils-Perl6 for proposed module names shown in the table in the README. comments, please. 12:23
yoleaux tbrowder: I'll pass your message to ilmari.
dalek c: cfff693 | coke++ | doc/Language/grammar_tutorial.pod6:
remove trailing whitespace
12:28
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
c: 9ba02df | coke++ | doc/Language/grammar_tutorial.pod6:
use consistent variable name
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
c: be7d89d | coke++ | doc/Language/grammar_tutorial.pod6:
don't use 's for plurals
synopsebot6 Link: doc.perl6.org/language/grammar_tutorial
c: b0339f3 | coke++ | xt/ (2 files):
new words
arnsholt moritz: Coming from Scandinavia, I share your annoyance with the "drink or be labelled a weirdo" meme =) 12:29
viki questions the wiseness of making Pod::To::HTML generate docs with //design.perl6.org/perl.css as the default stylesheet. 12:34
(1) With enough users, that'll hammer the server; (2) it doesn't work for file://
moritz viki: I think nobody considers it wise, it was just the simplest thing that could have possibly worked, kindof 12:36
viki Ah, the shoot from the hip approach. 12:38
moritz right. That's what got us a doc.perl6.org at all :-)
viki :) 12:39
moritz I shot from the hip while others pondered good, deep solutions
arnsholt 's what gave us large chunks of the infrastructure we have, I think
tbrowder .tell adaptiveoptics thanks for the tutorial, just skimmed it, but looks like it will be very useful! 12:40
yoleaux tbrowder: I'll pass your message to adaptiveoptics.
masak so... I got a Travis email "Build #6208 was broken" (for Rakudo) due to my commit "fix typo" 13:04
do I need to do anything?
viki nah
masak my commit literally removes one character from a printed string in a scipt
viki The nativecall tests are flopping, it was failing before your fix 13:05
moritz gets basically daily mails from appveyor (or whatever it's called) due to the build flapping on windows
viki masak: irclog.perlgeek.de/perl6-dev/2016-...i_13507717
masak I don't like that we normalize flapping (as opposed to isolating those tests until they can behave better) 13:06
if there's any truth to the parable of the broken window, just accepting flapping tests without taking action leads to even bigger things slipping through 13:07
viki masak: does it mean you'll debug and isolate them now? :) 13:13
viki The broken window is a psychological fact. But so is not dropping everything to fix something someone else deems to be of the ultimate importance. 13:14
masak "isolating" simply means "moving the tests (temporarily) aside so they stop breaking the test suite"
viki Wouldn't that just hide the fact that the tests that used to pass now flap?
masak yes, that's exactly what it would do
viki So more and more would be moved out of active use. 13:15
I don't understand the benefit of doing that.
masak because *exposing* that fact all the time risks hiding other relevant test failures
a flapping test represents risk, and a way to mitigate that risk is to move them aside until they stop flapping 13:16
viki The native call tests started flapping like yesterday or two days ago. I think the solution is to fix the issue, not to mute it.
masak of course fixing the issue is better than almost anything else :)
viki A flapping test represents either a broken test or a broken software. Disabling the test just sweeps the issue under the carpet.
masak but if it takes a week (wallclock time) to isolate, understand and fix the issue, we'll have a week's worth of flapping tests
I'm not talking about deleting the flapping tests. I'm talking about disconnecting them from the "build broken" result 13:17
masak because we care about when the build *actually* breaks 13:17
masak oh! oh! "the boy who cried wolf". that's what I'm getting at. 13:18
flapping tests cry wolf, and so we should stop listening to them.
viki Instead we should put the boy into a soundproof cage? :)
masak that you can walk in when you have time to reason with the boy, yes 13:19
viki :) 13:20
masak because we know there's no wolf, but the boy still needs our attention
viki No, we *know* there's a wolf.
That's what the failing test indicates.
The fact that it fails, say 50% of the time is no indication there's no wolf.
masak flapping tests aren't a wolf, they're (wrongly) *crying* wolf -- that's the point
[Coke] "conditioning ourselves to ignore failing tests bad." 13:21
viki flapping tests indicate an issue that's not 100% reproducible.
masak anyway, I can't think of anything else to say without repeating myself, so I'll drop it
viki m: rand > .5 and die "ZOMFG a bug!"; say "no bug"
camelia rakudo-moar c55c5d: OUTPUT«no bug␤»
viki m: rand > .5 and die "ZOMFG a bug!"; say "no bug"
camelia rakudo-moar c55c5d: OUTPUT«no bug␤»
viki m: rand > .5 and die "ZOMFG a bug!"; say "no bug"
camelia rakudo-moar c55c5d: OUTPUT«no bug␤»
viki m: rand > .5 and die "ZOMFG a bug!"; say "no bug"
camelia rakudo-moar c55c5d: OUTPUT«ZOMFG a bug!␤ in block <unit> at <tmp> line 1␤␤»
[Coke] we should be able to freak out whenever we have a failing test.
moritz well, they are a now know wolf that can mask a new wolf
masak to me it's clear we should do something about it, instead of keeping the tests in the spectest suite, where they constantly poison the build result 13:21
viki ^ there. Your claim is just because it happened once out of 4 times, then there's no bug. 13:22
And that we should disable the test until some future time where someone will remember about that test and fix it then. 13:23
And it's a failure in Rakudo's test suite, not the spectest.
[Coke] he's not saying there's no bug.
awwaiid one idea is to make these tests visible -- rather than flat out disabled, make it so they are warnings or something; a class of failure that can be monitored but with already-known next-steps
viki and one idea is to fix the failure that was introduced 2 days ago instead of letting it bit rot and be forgotten. 13:24
awwaiid go for it?
[Coke] viki: Obviously that is the best choice.
awwaiid at my work we have this problem, and I ruthlessly disable the test and put in a ticket for the affected team to do in their next iteration
and they do 13:25
[Coke] awwaiid++
viki We don't have affected teams here.
.oO( why am I even having this stupid conversation... )
13:26
awwaiid we do have a backlog of tickets though -- of known issues that we can prioritize
heh
masak viki: why are you so against finding a short-term solution to a flapping test suite? 13:27
masak .oO( we don't have affected teams -- but clearly we have affected discussions ) :( 13:31
awwaiid probably concern, legit, about it turning into a long-term non-solution 13:34
because the flip side of removing the shards of glass from a broken window is out-of-sight,out-of-mind
masak oh, agreed 13:34
masak maybe one way to phrase it then is this: flapping tests, under the policy of "let them stay in the suite", always demand immediate attention, on pain of losing faith in the test results 13:36
masak under the policy of "temporarily remove them", they risk becoming an unaddressed concern because the pain went away 13:36
masak I guess what I'm saying is that I prefer the risk of languishing flappers to the risk of lost faith in tests 13:37
masak (and that *is* a matter of taste, I guess) 13:38
avar flapping--
dalek : 3e86719 | (Zoffix Znet)++ | misc/perl6advent-2016/schedule:
Un-book spot
13:42
awwaiid ya masak. And I have the same taste as you :) 13:50
gfldex .tell seatek have you considered to include the following module into the tutorial? github.com/jnthn/grammar-debugger 14:01
yoleaux gfldex: I'll pass your message to seatek.
gfldex lizmat: you may want to weeklify the newest doc addition under docs.perl6.org/language/grammar_tutorial (for all those who wanted to ask about grammars but where to afraid to do so) 14:03
TimToady did europe fall off the network? 16:24
jnthn is European and still here :) 16:25
TimToady whew!
gfldex we are just busy being awesome :->
TimToady anything is awesome compared to the elections here... :/ 16:26
moritz Europe looks fine from here
(except to the north west, where a storm is brewing)
(except to the south, where unemployment is rampant)
(except in the middle, where xenophobia is rampant) 16:27
and so on
TimToady :)
TimToady well, our Fascist Objectivist Xenophobe tv network is starting to look middle of the road :/ 16:28
gfldex neoliberal bullshit was bound to backfire eventually. And now you are living in interesting times. 16:30
TimToady is a flaming moderate, so gets shot at by both sides :) 16:32
harmil_wk is a smoldering moderate, so gets to duck behind TimToady 16:33
ugexe write-ins 2 Chainz 16:34
gfldex This youtube channel may become useful very soon. :-> www.youtube.com/channel/UCAL3JXZSz...lZyD3nQdBA 16:35
dalek c: 336a3c0 | (Jan-Olof Hendig)++ | doc/Type/Setty.pod6:
Added docs for Setty.Mix
16:51
synopsebot6 Link: doc.perl6.org/type/Setty
viki dogbert17: MixHash was also added yesterday. 16:53
dogbert17 viki: aha, mayve I should add something for that as well :-) 16:54
yoleaux 12 Oct 2016 14:10Z <p3rln00b> dogbert17: would you list yourself in github.com/rakudo/rakudo/blob/nom/CREDITS ? Right now you're comming up twice when announcement is generated; as dogbert and as full name
viki dogbert17: oh, actually it was added yesterday to Setty specifically to give correcter results, but it exists on all objects that are Any. 17:01
m: <a b c d>.MixHash.say
camelia rakudo-moar 129318: OUTPUT«MixHash.new(a, c, b, d)␤»
viki m: set(42).MixHash.say 17:02
camelia rakudo-moar 129318: OUTPUT«MixHash.new(42)␤»
viki m: dd set(42).MixHash
camelia rakudo-moar 129318: OUTPUT«(42=>1).MixHash␤»
viki star: dd set(42).MixHash
camelia star-m 2016.04: OUTPUT«(42=>True).MixHash␤»
dogbert17 does that mean that I should have added the docs somewhere else?
viki dogbert17: no, I think Setty for .Mix/.MixHash 17:03
I was more observing that docs don't mention that stuff in Any... should they? I dunno :)
dogbert17 cool, will add MixHash soon
.seen p3rln00b
yoleaux I saw p3rln00b 16 Oct 2016 18:08Z in #perl6: <p3rln00b> Yup 17:04
viki p3rln00b killed himself.
Exists no more :)
dogbert17 oh no
:-)
[Coke] << A segfault is just C saying "I shouldn'ta said that." >> 17:06
dalek c: 87f35e1 | (Jan-Olof Hendig)++ | doc/Type/Setty.pod6:
Added docs for Setty.MixHash. viki++
17:07
synopsebot6 Link: doc.perl6.org/type/Setty
timotimo does anybody find these links from synopsebot helpful? 17:16
skink Anyone tried NativeCall + Rust? 17:17
viki timotimo: I haven't even noticed it until you mentioned it :) 17:18
type/Setty
type/Setty.pod6
viki shrugs
harmil_wk timotimo: yes, I find them useful from time to time. 17:23
dalek c: 0e4758a | (Jan-Olof Hendig)++ | doc/Type/Setty.pod6:
Fix typo
17:24
synopsebot6 Link: doc.perl6.org/type/Setty
viki skink: nope. Give it a try. From what I understand you add #[no_mangle] attribute to fns and specify crate-type = ["dylib"] in the cargo [lib] config section 17:25
And my guess is the result would be callable with NativeCall 17:26
Su-Shee evening everyone 17:27
viki Su-Shee!
[Coke] o/
viki The political scientist :)
skink: well, I found this, but that section is not in Latest and Greatest "The Book", so I dunno if the method still works: doc.rust-lang.org/1.2.0/book/rust-...st-library 17:29
skink viki, Yup, I've done just that and got trivial stuff working 17:38
I was asking because I'm having a lot of trouble passing pointers in between 17:39
harmil_wk If anyone has time to critique this method of generating shortest-prefixes for a set of input words, I'm all ears: gist.github.com/ajs/094bed75488a84...53cd50c1dd 17:40
iH2O i think ill have a sushi and a coke 17:50
lizmat gfldex: will do 17:54
[Coke] iH2O: you rang
?
dalek rl6-most-wanted: 248bc25 | (Slobodan Mišković)++ | most-wanted/bindings.md:
Fix googlecode link that turned 404
17:55
dogbert17 viki: am I right in believing that docs.perl6.org/type/Baggy#method_new-from-pairs could be lifted, more or less verbatim, to Setty 18:05
viki why does Setty even have that method :/ 18:09
m: dd Set.new-from-pairs: "a", "b", "c" => 0, "d" => 42 18:12
camelia rakudo-moar 129318: OUTPUT«set("a","b","d")␤»
viki dogbert17: yeah, functions the same. 18:13
dogbert17 I'll steal it then :)
TimToady well, you have to coerce the value to Bool 18:14
viki TimToady: hm?
TimToady you can't just poke Baggy's method in as Setty's
viki It's done automatically by the method. 18:15
TimToady okay
lizmat indeed, because Setty's internals are different from Baggy/Mixy internals
TimToady oh, I missed the "docs" bit :)
TimToady looks around for too much more coffee... 18:16
hankache hello * 18:21
lizmat: if you have a couple of minutes can you take a quick look at github.com/hankache/perl6intro/issues/103 and tell me what you think? Thanks :)
lizmat looks
hankache lizmat many thanks
lizmat looks good to me, sorry I missed the question addressed to me 18:23
dogbert17 hmm, where's dalek? 18:25
lizmat looks like its logged in? 18:25
hankache no too complex for new users ? 18:27
dalek c: a1bd28f | (Jan-Olof Hendig)++ | doc/Type/Setty.pod6:
Added docs for Setty.new-from-pairs. viki++
synopsebot6 Link: doc.perl6.org/type/Setty
geekosaur looks here to me
dogbert17 yay, a bit slow though 18:28
lizmat hankache: closures are a complex subject
lizmat hankache: I think the explanation is really down to earth, and clear 18:28
hankache lizmat thank you dear, i'll include it then. 18:31
lizmat cool, I'll fire up the nl translation engine :-) 18:31
hankache hehe lizmat++
skink viki, If you were curious at all 18:39
gist.github.com/skinkade/0a1a83adf...47b2224ed2
Trying to fill the buffer segfaults 18:41
but otherwise it works :)
nicq20 Hello \o 18:43
viki Cool. 18:45
viki knows neither NativeCall nor Rust 18:46
viki But I have 900 hours logged playing Warframe 18:46
Priorities /o\
mst warframe is ... oh, yeah, sounded good, but I was expecting giant mechs
viki Space ninjas :) 18:47
viki skink: have you tried declaring buffer as `is rw`? 18:53
sub chacha_fill(CCRNG, Buf[uint8] is rw) is native(DEMO) { * }
skink nope, still sigsegv 18:55
viki skink: and the other thing to try is to use CArray[int8] instead of Buf
I mean CArray[uint8]
ugexe or Blob
i think 18:56
skink hm, no luck 18:59
viki :(
timotimo yeah, you probably need to use CArray when you're working with nativecall 19:01
viki skink: seems to segfaul when saying $buf after the filling (so filling succeeds, but trying to access those values fails) 19:07
skink timotimo, Not necessarily. github.com/skinkade/crypt-random/b...in.pm6#L15
viki, Yeah I know that saying $buf when it was a CArray succeeded, but failed when I tried to say an actual element of it 19:08
dalek line-Perl5: f1310c1 | niner++ | lib/Inline/Perl5.pm6:
Real fix for argument handling

Turns out, argv has to be NULL terminated. So let's just do that then.
viki skink: this "succeeds" for me... (gives zeros for all elemes though). Kinda weird that if I uncomment the `say` on line 14 it starts segfaulting again :/ gist.github.com/zoffixznet/56c2015...7ba6157ef1 19:10
Maybe Rust's ownership is the issue? You're taking a mutable reference while a read reference is open in the outer scope.
viki If we consider the Perl 6 program "outer scope" and Perl 6's `say` as taking ownership :) 19:11
skink oh, I see what you're saying with the say thing 19:13
... pun not intended 19:14
skink Problem is the buffer needs to be pre-allocated which makes it tricky 19:15
Maybe... have the lib return a pointer to an already-filled array? 19:16
ugexe m: my $buf = Buf.allocate(4); say $buf; # fyi, instead of $buf[4] = 7 or whatever 19:17
camelia rakudo-moar 129318: OUTPUT«Buf:0x<00 00 00 00>␤»
skink Yeah, that works now :) 19:19
viki \o/
skink No I meant ugexe's fyi 19:24
code is still sigsegv :D 19:25
viki Oh, I got mine to work.
skink: gist.github.com/zoffixznet/6615373...2c5a52ede6
Gives me (148 245 30 211 4 140 36 217)
But if I change it to just say $buf then it does segfault :}
skink ... what. 19:26
pmurias viki: why do you use multiple different nick names?
skink Why can you access the elements but not the object itself?? :D 19:27
viki No idea :)
pmurias: why do people use a single same nick name? :)
skink Is that a Rust issue or a p6 issue?
viki No idea. It's the first time in my life do I see Rust code used via NativeCall :) 19:28
FROGGS It cant be a Rust issue, can it? 19:29
I mean, there is no Rust calling convention... it boils down to plain C in the end
viki Yeah, basically we told Rust to compile the Rust lib to c calling convention... and that's why we can use it with NativeCall 19:30
And it compiled to libembed.so 19:31
skink a nativecall sub can't return a Buf?
pmurias viki: I use a single nick name so I can be identified as a one person 19:32
mst are we sure zoffix is really a person?
I'm thinking UFAI
FROGGS skink: no, a Buf is a thing with a certain element count... and there is no such thing in C, so a C lib cant return that
skink yeah it has to be a CArray 19:33
Well, I've made progress. Trying to do Vec<u8> -> CArray[uint8] causes a sigill instead of sigsegv :)
viki pmurias: sure, but what's the reason behind it? What use is identification to some particular entitity when all I'm doing is answering technical questions in a chat? :) 19:34
FROGGS some day we will be able to cat a pointer to a sized buf... nativecall(buf8[32], functionThatReturnsPtr())
(no idea what the syntax would be for the buf8[32] part)
ugexe i dunno if its fixed now, but using `--> XXX)` sometimes caused errors when `) returns XXX` worked fine 19:35
skink viki, 'cause I came in here looking for you last week and couldn't find you? :)
viki heh
mst I usually go 'oi, Zoffix!' and wait for him to decloak 19:37
seems to basically work
viki Yes, and if I'm not online, I scan the logs for Zoffix too :)
(later when I do come online)
skink OH
I GOT IT WORKING
viki \o/ how?
skink By returning *mut Vec<u8> I can get a nativecall sub to return CArray[uint8] 19:38
viki Ah. Cool :) 19:39
skink For some reason though, the last two bytes are always null
ugexe seems like the type of thing that would allow $buf[0..$max] to work but not $buf[0..*] 19:41
skink ... and the first element is always -48
not quite working :)
skink viki, gist.github.com/skinkade/c10f08d4b...035681602d 19:45
output from the above way
not especially random :) 19:46
ugexe m: my $buf = Buf.allocate(5); subbuf-rw($buf,0,2) = Buf.new(1,2); say $buf; # subbuf-rw? 19:48
viki xkcd.com/221/
:)
camelia rakudo-moar 129318: OUTPUT«Buf:0x<01 02 00 00 00>␤»
skink I know what that is before even clicking it 19:49
viki hehe
skink viki, I mean, while the object access crashing things is indicative of a pretty severe problem, we can get around it with Buf.new($carray[..])
since we don't wanna work with CArrays much anyway
Also this is just a proof of concept anyway :) 19:51
skink viki, I think you're right. By passing the buf/carray into the Rust function, Rust tries to take ownership of the array itself. But, it gives us ownership of the contents 19:53
raiph Fyi y'all: It seems Dr. Stenvenson is in his first year of a funded 3 year program in which he'll research and write about Perl and the web -- www.nwo.nl/en/research-and-results/...13649.html 20:01
er, Dr. M. P. Stevenson
skink bookmarks 20:03
raiph First fruit? opensource.com/life/16/11/perl-and...ynamic-web -- "the first article in Opensource.com's Open Community Archive, a new community-curated collection of stories about the history of open source technologies, projects, and people. Send your story ideas to [email@hidden.address] 20:07
samcv hmm 20:19
m: printf "%s °C is %sF\n", 10, $_ * (9/5) + 32;
camelia rakudo-moar 576f3a: OUTPUT«Use of uninitialized value of type Any in numeric context␤ in block <unit> at <tmp> line 1␤10 °C is 32F␤»
samcv this errors but it's doing multiplication on *something*
because it shows the correct output
doing $_.WHAT just says it's 'Any' and i cant use .Int method either. so not sure whats going on 20:20
Xliff viki: That one is good, but this is better -- xkcd.com/224/
samcv stumbled on it when doing this: "{$*IN.get} °C is { $_ * (9/5) + 32}F".say; 20:21
shows the same error, but also prints out fine to even though it warns, and $_ doesn't appear to be anything. so not sure where it's performing the operation on?
not sure if this is a bug that it works at all or a bug that it doesn't set $_, thoughts? 20:22
timotimo what were you expecting $_ to be set to there? 20:22
there's no code that'd set $_ for you
samcv well. i agree
but what is it performing the multiplication on
timotimo m: say +Any 20:23
camelia rakudo-moar 576f3a: OUTPUT«Use of uninitialized value of type Any in numeric context␤ in block <unit> at <tmp> line 1␤0␤»
samcv since it does end up multiplying
[Coke] (multiple nicks) I did that a lot in my 20s. :P
timotimo ^- it gives you 0
and additionally outputs a warning
samcv ah
samcv facepalms
thanks timotimo
timotimo :) 20:24
samcv regarding this though timotimo "{$*IN.get} °C is { $_ * (9/5) + 32}F".say; what is the order of execution of curly braced lines in it?
is there a way to do what i want? or is $_ just never set when you do this 20:25
[Coke] samcv: there's nothing in there that would run code in a phase other than the main one, so it should all go in order.
samcv so $_ should be set? or does the text in between the braces interfere? 20:26
i would think it'd do left brace then left etc, as if they were statements above and below each other 20:27
but i could be wrong since i really don't know how it works internally
geekosaur it's not the correct outpit
32F is 0C, not 10C
$_ is Any and leading to the warning (and then treated as 0)
geekosaur $*IN.get doesn't set $_, it just gets substituted 20:28
perl 5 did that kind of auto-setting, perl 6 doesn't in general
samcv ah ok thank you
sweet so $_ = $*IN.get works great. thank you geekosaur 20:31
viki [Coke], does that mean I can claim that I'm still in my twenties? :) 20:32
moritz viki: no matter how old you are, there's always a base in which you're still in your twenties 20:34
moritz (well, if you're at least 4 years old, that is) 20:34
viki :) 20:36
gfldex m: given $*IN.getc { say .ord } 20:36
camelia rakudo-moar 576f3a: OUTPUT«67␤»
viki m: say 4.base: 3 20:36
camelia rakudo-moar 576f3a: OUTPUT«11␤»
gfldex samcv: we do got an idiom for that ^^^
geekosaur the idiom doesn't work in that specific context though 20:37
timotimo samcv: unless you assign to $_, it'll never work like you want it to in that code 20:41
samcv yeah i assigned to $_ and it worked as expected.
timotimo but why don't you just "{$*IN.get() * (9/5) + 32}"?
geekosaur printing it as well as reading it 20:42
timotimo oh
of course, sorry
geekosaur "{$*IN.get} °C is { $_ * (9/5) + 32}F"
samcv yeah i need to print it twice
geekosaur quoting from above
samcv i'm doing this now "{$_ = prompt('Input the value in Celsius: ')}°C is {$_*(9/5)+32} F".say
timotimo yes, that'd work
[Coke] viki;you've already claimed you were in your teens, earlier! 20:45
RabidGravy is setting up a jenkins job to test all my modules every time rakudo changes :) 20:48
lizmat RabidGravy++ :-) 20:51
we need more ecosystem coverage :-)
RabidGravy it also stops me from having a panic weekend when I get round to doing it manually 20:56
pmurias RabidGravy++
Xliff jenkins? 21:25
timotimo a continuous integration tool 21:27
RabidGravy hulking great java app, works nicely, though I may go for buildbot as I don't need all the bells 21:40
perlawhirl hi perlers 21:52
can i make certain class methods only usable via explicit import tag. let me explain
say i have a module, but haven't ironed out the interface, and i want to mark certain methods as experimental 21:53
but if a user wants to use those methods or feature, they can 'use MyClass :extras' or something
is that possible?
avuserow perlawhirl, yes. I haven't played with it enough, but here's a recent blog post about exporting: blogs.perl.org/users/tom_browdef/20...erl-6.html 21:59
RabidGravy it would be entirely possible
RabidGravy the export tags get passed to a sub EXPORT { }; you can monkey with the mop in there 22:01
RabidGravy I'll have a little fiddle tomorrow 22:02
perlawhirl RabidGravy: thanks, I have read that blog post. It specifically about exporting subs or constants. but, can class 'methods' be restricted from use the same way 22:06
i guess i could look how Blob.pack/unpack is done
timotimo perlawhirl: you can do i tthe other way around and mix in roles into your class depending on what export tags have been asked for 22:07
because removing methods that are "already there" is a bit more tricky than adding some when they are requested
perlawhirl timotimo: ahh, clever. thanks, will play around with that 22:08
yep
RabidGravy if you look at Object::Permission that may give you some ideas too 22:09
perlawhirl RabidGravy: thanks
RabidGravy that wraps methods with a small check
timotimo the thing about not adding them unless they are requested is that they don't show up in .^methods and such :) 22:10
RabidGravy github.com/jonathanstowe/Object-Permission
gfldex m: my $C = class { method m {}; }; my $C-experimental = class { method m {}; method experimental {} }; sub export(:$experimental){ { 'C' => $experimental ?? $C !! $C-experimental } }
camelia ( no output )
gfldex there is one problem tho. EXPORT wont get the named arguments of use. You have to use a positional. 22:11
perlawhirl: see the following where I make the export depend on %*ENV github.com/gfldex/perl6-concurrent...nelify.pm6 22:13
also, introspection may become a problem because you wont have a nice name in .^name 22:14
perlawhirl gfldex: thanks. i think the mixing in a role is better suited for my use case, but this is giving me ideas for other things... thanks. 22:15
gfldex m: my &f = sub { say &?ROUTINE.name }; f 22:16
camelia rakudo-moar 1bb5aa: OUTPUT«␤»
gfldex i would have guessed to see that say <anon>
timotimo interesting that it doesn't get set at all 22:17
m: my &f = anon sub { say &?ROUTINE.name }; f 22:18
camelia rakudo-moar 1bb5aa: OUTPUT«␤»
gfldex i think it is set to ""
as it's not Any or Mu
timotimo i'd actually except it to be a native string attribute 22:19