Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-04-15

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:19 dogbert17 joined #perl6
00:49 Geth ¦ doc: 60b92278f2 | (Zoffix Znet)++ | doc/Type/IO/Path.pod6
00:49 Geth ¦ doc: [io grant] Change return value for `mkdir`
00:49 Geth ¦ doc:
00:49 Geth ¦ doc: Per https://github.com/rakudo/rakudo/commit/c01ebea0a0
00:49 Geth ¦ doc: review: https://github.com/perl6/doc/commit/60b92278f2
00:52 Cabanossi joined #perl6
00:53 Geth ¦ doc: 8d9537188f | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
00:53 Geth ¦ doc: [io grant] Expand IO::Handle/IO::Pipe.path docs
00:53 Geth ¦ doc:
00:53 Geth ¦ doc: - Add better example
00:53 Geth ¦ doc: - Add docs for its value in IO::Pipe, per:
00:53 Geth ¦ doc:     Impl: https://github.com/rakudo/rakudo/commit/d46e8df4cb
00:53 Geth ¦ doc:     Tests: https://github.com/perl6/roast/commit/637500da24
00:53 Geth ¦ doc: review: https://github.com/perl6/doc/commit/8d9537188f
01:08 Khisanth joined #perl6
01:29 Geth ¦ doc: fd8a5ed4d4 | (Zoffix Znet)++ | doc/Type/IO/Pipe.pod6
01:29 Geth ¦ doc: [io grant] Document IO::Pipe.path
01:29 Geth ¦ doc:
01:29 Geth ¦ doc: Impl: https://github.com/rakudo/rakudo/commit/d46e8df4cb
01:29 Geth ¦ doc: Tests: https://github.com/perl6/roast/commit/637500da24
01:29 Geth ¦ doc: review: https://github.com/perl6/doc/commit/fd8a5ed4d4
01:30 Geth ¦ doc: bd4fa6854d | (Zoffix Znet)++ | 2 files
01:30 Geth ¦ doc: [io grant] Document IO::Handle/IO::Pipe.IO
01:30 Geth ¦ doc: review: https://github.com/perl6/doc/commit/bd4fa6854d
01:47 ilbot3 joined #perl6
01:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:52 Cabanossi joined #perl6
01:56 Sgeo__ joined #perl6
02:05 Geth ¦ doc: 2aaf12a52e | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
02:05 Geth ¦ doc: [io grant] Document IO::Handle.Str
02:05 Geth ¦ doc: review: https://github.com/perl6/doc/commit/2aaf12a52e
02:20 noganex_ joined #perl6
02:52 Cabanossi joined #perl6
03:05 labster joined #perl6
03:07 Actualeyes joined #perl6
03:34 u-ou are there things to consider re garbage collection if you have two objects that refer to each other?
03:36 Cabanossi joined #perl6
03:52 u-ou m: class A { has $.b is rw }; class B { has $.a is rw }; my ($a, $b) = (A.new, B.new); $a.b = $b; $b.a = $a;
03:52 camelia rakudo-moar 40217e: ( no output )
03:52 u-ou something like that?
04:06 Xliff Depends.
04:07 Xliff Scoping asside, there are reference counts.
04:07 Xliff Using your example, neither $a or $b are eligible for GC until both objects have a ref count of 0. At least that's how I understand it.
04:08 BenGoldberg Perl6's garbage collection is not the same as perl5's.
04:08 Xliff Am I even close then? ;p
04:09 BenGoldberg Perl5's uses reference counts, perl6's does not.
04:09 Xliff Then what does it use?
04:09 BenGoldberg perl6 is a more traditional reachability tracing GC.
04:09 Xliff Is there a medium level blog post that references how that example would work?
04:10 AlexDaniel (would be nice to find *any* blog post, actually)
04:10 BenGoldberg Hmm... it's a bit like how GC works in, say, java.
04:10 geekosaur probably want to check jnthn's blog
04:11 Xliff geekosaur: linky?
04:11 Xliff After googling: "reachability tracing garbage collection" I got here: https://en.wikipedia.org/wiki/Tracing_garbage_collection
04:12 Xliff Which.... is a bit wordy.
04:12 Xliff But sounds like (and this is seat of pants reasoning), each class maintains an instance tree of sorts.
04:12 BenGoldberg In theory, when memory gets low, make a list of root objects and objects on the stack, and for each item in the list, mark it as 'live', then look at what other objects are reachable from that object; if they're not 'live' or in the list, then add it to the list.
04:12 BenGoldberg Everything which isn't marked as 'live' then gets freed.
04:13 Xliff OK. A better explanation of where I was going. Thanks.
04:14 BenGoldberg In practice, we some serious optimization so that, most of the time, we only have to look at things which were recently allocated, instead of everything in memory.
04:14 BenGoldberg Cause touching every single object in the entire program would be horribly costly.
04:14 geekosaur https://6guts.wordpress.com/
04:14 geekosaur sorry, had to dig, I use the pl6anet feed
04:15 Xliff geekosaur++
04:16 u-ou Xliff: let me know if you find something interesting
04:17 Xliff u-ou: You are far more likely to discover something if you read for yourself! :)  # It's Fryday!
04:17 u-ou yeah, I'm lookin :p
04:17 Xliff (yes, that y is supposed to be there)
04:17 u-ou ahh. saturday here though :P
04:20 Xliff Well, technically here too.
04:21 Xliff But the night is still young!
04:22 BenGoldberg ℐ𝓉'𝓈 ℱ𝓇𝓎𝒹𝒶𝓎!
04:23 BenGoldberg Actually, it's Saturday, where I am.
04:23 geekosaur math italic's kerning kinda sucks for prose >.>
04:24 BenGoldberg 𝕴𝖙 𝖈𝖔𝖚𝖑𝖉 𝖆𝖑𝖜𝖆𝖞𝖘 𝖇𝖊 𝖜𝖔𝖗𝖘𝖊.
04:25 geekosaur that one's actually more readable in my font >.>
04:25 geekosaur granted, not much
04:26 u-ou ¯\_(ツ)_/¯
04:26 u-ou so my code example is safe?
04:26 AlexDaniel somebody say w̺̳̭̮̦̻̚o̴͔̩̠͋ͬ̏̔̄̃̍r̔ͦ͏͉͕͚̺̮̮ͅŝ̘̞̱͉̝̺̄ͩ̑͟e͉͖̗̻ͬ̓̓̐̅͂?̊̀̊̐ͬ?
04:26 AlexDaniel said*
04:26 BenGoldberg I programmed perlbot with some macros to generate that text: "/msg perlbot call blackletter Your text here" and ..."cursive"...
04:26 * geekosaur wonders whose clients just crashed...
04:27 Xliff BenGoldberg: I ♥ you.
04:27 BenGoldberg :)
04:27 samcv i smell some unicode abuse going on
04:27 Xliff BenGoldberg: Share your wisdom with me, sensei!
04:27 AlexDaniel oh no, unicode police
04:28 Xliff 𝓞𝓱 𝔂𝓪𝔂!
04:28 Xliff Google is yer frien'
04:28 AlexDaniel Xliff: there's also this: https://github.com/coke/p6-uni
04:28 AlexDaniel ah wait, not this…
04:29 AlexDaniel Xliff: this https://github.com/coke/p6-unicode-mangler
04:29 Xliff 𝔽𝕒𝕟𝕔𝕪 𝕗𝕒𝕟𝕔𝕪!
04:29 Xliff Alex: There's also https://lingojam.com/FancyTextGenerator
04:29 Xliff Which I just bookmarked.
04:30 AlexDaniel I prefer dogfood :P
04:30 Xliff Man. Y'all gonna hate me if I start hanging around back here and get drunk and P҉L҉A҉Y҉
04:30 Xliff Awww...
04:30 Xliff That one didn't work.
04:31 Xliff [̲̅P][̲̅L][̲̅A][̲̅Y]
04:31 Xliff Nope.
04:32 geekosaur first one seemed to work here
04:32 geekosaur could hve used more space perhaps
04:32 Xliff I'm on WimpyWin
04:32 Xliff I refuse to go to 10
04:32 Xliff Generally, though this client has decent Unicode support.
04:34 BenGoldberg I'm using hexchat ... it has mostly decent unicode support, if you've got the right fonts installed...
04:34 geekosaur ^
04:35 BenGoldberg It doesn't do colored emoji yet, and it doesn't do the above the line/below the line things which make zalgo text possible.
04:35 Xliff Yes. I am on Hexchat
04:35 Xliff So geekosaur++ must have better fonts than I.
04:35 * AlexDaniel still wonders how to get rid of colored emoji on his system…
04:36 Xliff Still looking at HTF rakudo generated a negative pointer via NativeCall
04:36 BenGoldberg Another fun unicode thingy: J‮,‭u‮r‭s‮e‭t‮k‭ ‮c‭A‮a‭n‮H‭o‮ ‭t‮i‭h‮d‭e‮i‭r‮B‭ ‮/‭P‮l‭e‮r
04:36 BenGoldberg Which *looks* ok, until you try to select part of the text :)
04:37 AlexDaniel n‮H‭o‮ ‭t‮i‭h‮d‭e‮i‭r‮B‭ ‮/‭
04:37 AlexDaniel hm
04:37 Xliff Oh. LOL
04:51 isBEKaml joined #perl6
04:52 isBEKaml Heh. I just tried building 2017.1 R* distribution. It looks like building modules make still doesn't respect DESTDIR :-(
04:53 Ben_Goldberg joined #perl6
05:03 Xliff Oh. Wow.
05:04 BenGoldberg Which wow?
05:05 Xliff For some reason when a Perl created NativeCall object is passed to sprintf("%p") via NativeCall... it returns a 33-bit value on 32-bit machines
05:05 BenGoldberg I'd call that wierd :P
05:06 Xliff Yeppers. It's the reason I can't install DBIish right now.
05:06 Cabanossi joined #perl6
05:06 Xliff NativeHelpers::Blob pukes because of that particular test.
05:06 Xliff Passes everything else.
05:06 Xliff I am loathe to force install because.... weird SEGVs!
05:07 * BenGoldberg would offer to help, but it's after 1am here...
05:07 BenGoldberg G'night
05:07 Xliff LOL!
05:07 Xliff Thanks, ben!i
05:07 Xliff Same time here!!!
05:33 mr-foobar joined #perl6
05:54 v1_ joined #perl6
05:54 protium Any idea why I'd be getting this?
05:54 protium compiling src/jit/emit_posix_x64.o
05:54 protium 1 warning generated.
05:54 protium linking 3rdparty/tinymt/libtinymt.a
05:54 protium linking 3rdparty/sha1/libsha1.a
05:54 protium linking libmoar.so
05:54 protium linking moar
05:54 protium ./libmoar.so: undefined reference to `mp_set_long'
05:54 protium clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)
05:54 protium make: *** [Makefile:497: moar] Error 1
05:57 geekosaur when's the last time you updated? I suspect that's the libtommath issue and you need to nuke your source tree and start over (not something you did wrong, a bad update that hosed everyone else)
05:59 geekosaur or at least nuke src/3rdparty/libtommath
06:07 samcv yeah just rm -rf 3rdparty/libtommath
06:07 samcv and `make clean` `make realclean`
06:07 samcv then run configure again
06:11 nadim joined #perl6
06:16 protium Using gentoo, but, ok, will try it
06:16 protium Thanks
06:17 samcv if that doesn't work let me know
06:17 geekosaur hm, gentoo should not hit that I'd think, it should always start form a clean build
06:17 protium That's what I thought
06:17 protium Really more of a perl5 guy
06:17 protium But I want to play about with 6
06:19 geekosaur so, I just checked logs and you also reported the same thing in November and was advised to build from source yourself
06:19 geekosaur nobody else has hit it, so presumably this is a gentoo ebuild bug
06:19 geekosaur *were advised
06:20 protium Yes, you're very right, but I thought I'd try again now that it's 4 months later
06:20 protium And with a different build
06:20 geekosaur probably need to talk to the gentoo maintainer then
06:20 r3m joined #perl6
06:20 protium I did get 2016.09 working just fine
06:21 CIAvash joined #perl6
06:21 Cabanossi joined #perl6
06:22 samcv do people see things in both left and right frames heree? https://moarvm.github.io/MoarVM/ cause the left one isn't loading for me. even though it's there
06:22 samcv and i can see the page going there manually
06:22 Ulti protium: for playing about check out https://github.com/tadzik/rakudobrew
06:22 Ulti you can specify the release but I rarely have problems building head
06:24 geekosaur samcv, chrrome is complaining about mixed security content
06:24 geekosaur Mixed Content: The page at 'https://moarvm.github.io/MoarVM/' was loaded over HTTPS, but requested an insecure resource 'http://moarvm.github.io/MoarVM/moar/'. This request has been blocked; the content must be served over HTTPS.
06:25 samcv hm
06:25 samcv i see
06:25 protium Ulti: Thanks, maybe that's the better way to go here
06:25 samcv that makes no sense geekosaur since i only specify relative folders and not actually http/https
06:26 samcv and it works fine on my site that has super restrictive settigs
06:26 samcv dammit github
06:26 isBEKaml joined #perl6
06:27 geekosaur .oO { githobbled again }
06:28 gdonald joined #perl6
06:29 protium geekosaur: Are there any compiler directives that are not compatible? I am using clang -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wno-logical-op-parentheses -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DHAVE_LIBFFI -fPIC -O2 -march=amdfam10 -pipe -mcx16 -mpopcnt
06:29 r3m joined #perl6
06:30 samcv protium, i would not use libffi
06:30 samcv well. uh
06:30 wamba joined #perl6
06:31 * geekosaur has no idea
06:31 samcv i would use --has-dyncall if you want to use the local files, and not libffi
06:31 samcv but that isn't causing your problem at least
06:31 samcv protium, how are you building it? from gentoo's ebuild?
06:32 protium samcv: Yeah, though I was going to try a manual configure a sec
06:32 geekosaur samcv, I found a note about github.io and mixed security content, but the only hint is that pages generated via Jekyll may be doing their own thing that needs to be edited
06:32 samcv hmm. yeah i don't use jekyll. odd
06:33 samcv the only difference between left and right frames is one is `moar` and one is `libmoar/` with a slash. but it shouldn't really matter. but
06:33 samcv maybe there is some weirdness or proxying going on
06:33 geekosaur alsoit only seems to talk about absolute urls so maybe they're proxying to do https (that might be implied by the fact that it's configurable) and you muyst use absolute urls
06:33 geekosaur because relative ones behind the proy would be http
06:33 geekosaur *proxy
06:34 geekosaur heh, didn't look up to see you already said that until I was done :)
06:35 geekosaur or the slash, which would indicate they have some odd proxying rules
06:35 geekosaur (that's a common gotcha in apache config, I know)
06:37 samcv yeah that's exactly what i was thinking
06:38 RabidGravy joined #perl6
06:40 geekosaur success
06:40 geekosaur saw the commit, hit reload, got content
06:42 samcv yay
06:45 protium I wonder if it's possible that this is a problem related to using multiple cores. I normally use make -j5. I turned that off an went for just make and sure enough, it was slow, but it built
06:45 samcv nope shouldn't be an issue
06:45 samcv i really like rakudobrew, you should check that out
06:46 samcv uhm. but can i see the ebuild protium
06:47 ugexe timotimo: https://github.com/ugexe/zef/blob/reporter/lib/Zef/CLI.pm6#L639 <- I have reporting almost working. Its just getting a 400 invalid request when posting... dunno why though - the request looks legit
06:49 xinming joined #perl6
06:52 protium samcv: The ebuild is really simple. It just passes compile options to configure.pl
06:53 samcv protium, oh i see. it just compiles moarvm from the rakudo git
06:53 samcv or something. oh there's a seperate dependency on moar
06:54 samcv or not. idk i'm confused
06:55 samcv have you just deleted all the perl 6 downloaded files so it can clone the repo again?
06:55 RabidGravy joined #perl6
06:55 samcv we made libtommath a sub repository, where before it was included in the repository, and git has issues, instead of removing the files which are removed it just vomits sometimes
06:55 RabidGravy Boom
06:57 protium samcv: It should be ok, I blew away the directory so it would redownload
06:58 RabidGravy afaik you can blow away nearly everything apart from the .git directory and it will just get everything that is missing
07:00 samcv yeah
07:15 gdonald joined #perl6
07:16 protium Ooh, I maybe know what this is
07:17 protium Does the repo inlcude a super new version of libtommath?
07:18 protium Yeah, problem solved
07:19 protium So, for posterity, the ebuild specifies the system version of the math library
07:19 protium But does not set a minimum version
07:19 geekosaur not super new but has a patch that upstream hasn't yet applied iirc
07:19 protium Yeah, that's it
07:19 protium The ebuild should disable that flag and use the repo version and not the system version
07:20 protium And now it's 1:30am and I am going to bed
07:21 Cabanossi joined #perl6
07:24 bjz joined #perl6
07:26 labster joined #perl6
07:30 gfldex Grammar::Debugger is failing with bleeding rakudo, see https://travis-ci.org/gfldex/Task-Star#L1768
07:30 * RabidGravy rebuilds rakudo and tests all the the things
07:31 RabidGravy I don't like it when my "fitness tracker" thingy gets all passive aggressive with a little bleep to suggest I should move more
07:31 ChoHag joined #perl6
07:34 geekosaur well, at least it looks like it's not another IO kill?
07:36 darutoko joined #perl6
07:40 gfldex geekosaur: I would be in favour of another IO kill. They tend to be easy to fix.
07:42 gfldex jnthn: blocker for Task::Star https://github.com/jnthn/grammar-debugger/issues/34
07:47 Xliff can MAIN be multi?
07:47 RabidGravy yes
07:47 Xliff Thankee! :)
07:48 Xliff Hey, RabidGravy! Long time...
07:48 RabidGravy :)
07:49 RabidGravy It's the day job - too much softwaring
07:55 azawawi joined #perl6
07:55 azawawi Good morning #perl6
07:56 RabidGravy boom
08:00 gdonald joined #perl6
08:01 Actualeyes joined #perl6
08:02 * azawawi drinks his morning coffee in preparation of... :)
08:11 RabidGravy There are a lot of TODO tests in my modules
08:11 RabidGravy I blame travis (and people not using the same OS as me,) for this
08:12 zacts joined #perl6
08:14 Xliff Is the fuzzy text matching that rakudo uses for variables exposed in the language itself?
08:14 Xliff s/variables/matching mispelled variables/
08:14 samcv i very much like to blame travis
08:15 Xliff I'd like to blame travis, but I expect he has enough blame already.
08:15 samcv nope
08:15 Xliff Rut roh
08:15 Xliff I suspect I know who this travis is, now.
08:15 Xliff s/who/what/
08:16 geekosaur [15 08:16:06] <Sequell> travis[2/2]: <Grunt> Travis can't be bargained with. Travis can't be reasoned with. Travis doesn't feel pity, or remorse, or fear. And Travis absolutely will not stop, ever, until your project is dead.
08:16 Xliff Oooo.... kay. Ba-dump-BUMP. I will not give up my day job.
08:16 Xliff ROFL. geekosaur++
08:17 RabidGravy to be fair the whole genre of continuous integration software is pretty bad, I spend at least part of my working week loathing Jenkins
08:17 Xliff <Travis> Come wit me if you vant your project to compile!
08:17 samcv travis won't ever stop going. slowly... and travis will never cease to always be out of date
08:18 Xliff Ahh... TRAVIS. Yet another way the internet has found to waste the computing cycles we've developed to try and beat Moore's Law with.
08:19 samcv Totally Really Always Very Slow Continuously In-updated
08:19 samcv we can pretend in-updated is a word
08:19 Xliff Where's the first I?
08:19 samcv idk make up one
08:20 samcv hating travis is only a part time job. and i try not to bring the work home with me. and scream in my sleep with nightmares
08:20 Xliff Tragically Redundantly Always Very Irritatingly Slow - Constantly Interrupted
08:20 samcv yes
08:20 Xliff OK. After that, I need another beer.
08:20 samcv there's this other CI that lets you ssh into failed builds and poke around
08:20 samcv because it's actualy a sane service
08:21 Cabanossi joined #perl6
08:21 Xliff - Crimally Investigated?
08:21 Xliff s/Crimally/Criminally/ -- Maybe no on the eerbay.
08:21 samcv https://codeship.com/features/basic?hsCtaTracking=cd785190-4da6-4fc6-8d63-4264a1080f33%7Cb2a78512-a8d9-4195-9f89-677188e406a5
08:21 samcv way better than travis
08:22 samcv look at this super helpful prompt https://cms.codeship.com/hs-fs/hubfs/codeship_features_ssh_access.png?t=1492189937739&amp;width=875&amp;height=505&amp;name=codeship_features_ssh_access.png
08:22 samcv gives you so much useful information
08:23 samcv one of those I's should be incompetant
08:23 Xliff we can always swap randomly out "Constantly Interrupted" with "Confusingly Incompetant"
08:24 RabidGravy Oooh Linux::Fuser appears broken by IO stuffs, Pg::Notify by stupid programmer
08:24 samcv one A could be aggrivating
08:25 geekosaur crappily irrelevant?
08:26 samcv yes
08:26 u-ou hello
08:27 u-ou what is the topic of discussion?
08:27 Xliff Is there a better/efficient way to determine a hash is empty other than doing "$hash.elems == 0" ??
08:27 Xliff https://travis-ci.org/
08:29 Xliff The only code I have on there is small and is part of a project I have in maintenance mode so I <lie>never have to use it again</lie>!
08:31 u-ou what's an idiomatic way to iterate over a list within a scalar?
08:32 u-ou guess that's just @()
08:32 RabidGravy you mean "for $list-in-scalar -> $v { .... }"  or something else
08:32 u-ou well, that will iterate once
08:32 u-ou you can do @() or .list
08:33 El_Che gfldex: the packages are installed within the docker container that builds them. That's how you install them in the right OS
08:33 samcv @( ) can sometimes do weird things
08:33 u-ou like what?
08:33 samcv i usually do list
08:33 u-ou ok cool
08:33 u-ou I thought .list was a bit prettier too
08:33 samcv yeah i would go with that
08:33 u-ou I'm curious now. what weird things can @() do?
08:33 samcv and has better type checing and less exploding in case it can't do it
08:34 El_Che gfldex: 2 last steps are: install them, do perl6 -v
08:34 samcv from personal experience it's just less friendly to work with. somebody else might know better the difference between @( ) and .list but the error reporting at least is not quite as good
08:34 samcv and i've found .list works in several places @( ) did not
08:34 RabidGravy but yes .list
08:34 u-ou okies
08:35 samcv or
08:35 samcv use nqp; for nqp::decont($var) { } heh
08:35 samcv which will un-scalar it
08:35 u-ou :P
08:35 RabidGravy de-ref style definitely doesn't feel perl 6 ish
08:35 samcv there's probably some perl 6 thing that does that, or something but i don't know it
08:36 u-ou yeah, I like list
08:36 samcv there's different codepaths though. and .list works more places cause it's a method
08:36 u-ou oh, was there an answer to Xliff's question about hash-emptiness?
08:37 samcv empty
08:37 u-ou ooh
08:37 samcv %hash.Bool
08:37 gfldex El_Che: i got it working, see https://github.com/nxadm/rakudo-pkg/issues/10
08:38 samcv they both are equally fast though by my benchmarking
08:39 gfldex El_Che: also, you gonna be famous! https://gfldex.wordpress.com/2017/04/14/speeding-up-travis/
08:40 Xliff Wha?
08:40 Xliff Why no empty in here? https://docs.perl6.org/type/Hash ???
08:40 Xliff s/empty/.empty/
08:40 u-ou Xliff: .Bool
08:40 Xliff Oh.
08:41 samcv there's no .empty for hashes
08:41 Xliff So "return unless ! $hash.Bool"
08:41 samcv or just return unless ! $hash
08:41 samcv and it will do it automatically
08:41 u-ou or if $hash :p
08:41 rindolf joined #perl6
08:41 Xliff I will go with ! $hash
08:42 u-ou unless not seems kind of weird
08:42 u-ou but i guess it could work in some contexts
08:42 samcv depends on the code it's for
08:42 Xliff And I sincerely remember MONTHS AGO when I was struggling with trying to deref $list-as-scalar and had to use @( ) to get the behavior I wanted.
08:42 samcv aka return (in most cases) but if there's no hash, then don't
08:42 Xliff Mainly because it was from an Inline::Perl5 object.
08:43 samcv you mean unscalar it?
08:43 Xliff So now I will not futz with working code unless it breaks, again. At which point I hope I remember .list!
08:43 Xliff unscalar. LOL. yes
08:44 samcv .o(how do i put a scalar inside a scalar)
08:44 Xliff And the wandering commas means it's prolly time for another beer.
08:44 u-ou :D
08:44 Xliff $scalar = $scalar
08:44 samcv when you mix perl 6 and nqp you start to notice how things are containered much more
08:44 Xliff Of course, that answer is either overly simple... or really, really deep.
08:44 Xliff I tried nqp.
08:45 samcv well that sets the contents of one scalar to the contents of another
08:45 Xliff I just got back from rehab.
08:45 samcv nice
08:45 Xliff Or is that therapy?
08:45 Xliff Both?
08:45 samcv m: my $scalar1 = 10; my $scalar2 = $scalar1; say $scalar1.WHICH; say $scalar2.WHICH
08:45 camelia rakudo-moar 822566: OUTPUT: «Int|10␤Int|10␤»
08:45 samcv m: my $scalar1 = 10; my $scalar2 = $scalar1; say $scalar1.WHERE; say $scalar2.WHERE
08:45 camelia rakudo-moar 822566: OUTPUT: «140218287408136␤140218287408136␤»
08:46 Xliff samcv: Actually, I was more jokingly answering you...literally.
08:46 samcv m: my $var; say $var.WHICH
08:46 camelia rakudo-moar 822566: OUTPUT: «Any|U45528472␤»
08:46 samcv ok there
08:46 samcv that's the scalar
08:46 geekosaur m: my ($x, $y) = 5, 6; $x = VAR($y); dd $x
08:46 camelia rakudo-moar 822566: OUTPUT: «Scalar $x = Int.new␤»
08:46 El_Che gfldex: thx. Wouldn't it make sense to use install_zef_as_user?
08:46 samcv it doesn't have anything in it yet
08:46 Xliff m: my $scalar = 0; $scalar = $scalar;
08:46 camelia rakudo-moar 822566: ( no output )
08:46 Xliff m: my $scalar; $scalar = $scalar;
08:46 camelia rakudo-moar 822566: ( no output )
08:46 Xliff Wow! It compiled.
08:46 mouldysammich joined #perl6
08:47 geekosaur why wouldn't it?
08:47 Xliff Tautology?
08:47 samcv m: my $scalar1 = 10; my $scalar2; $scalar2 = $scalar1; say $scalar1.VAR.WHICH; say $scalar2.VAR.WHICH
08:47 camelia rakudo-moar 822566: OUTPUT: «Scalar|37888088␤Scalar|37888160␤»
08:47 samcv see different scalars :)
08:47 samcv proooof
08:47 El_Che gfldex: I would love to add zef to the package, but I find the different install path for user/root kind of confusing for a user
08:47 Xliff oooooh
08:47 Xliff (yes... it's bonzo for bedtime, me)
08:48 Xliff (or at the very least... removal of IRC voice privs)
08:48 samcv but yeah if you := bind it will always bind, but if you use = it will sometimes actually copy and other times point to the same spot (though if you modify one, it will have to alter a new one)
08:49 samcv m: my %hash; say %hash.WHICH; %hash = 1,2; say %hash.WHICH
08:49 camelia rakudo-moar 822566: OUTPUT: «Hash|69447696␤Hash|69447696␤»
08:49 samcv m: my %hash; say %hash.VAR.WHICH; %hash = 1,2; say %hash.VAR.WHICH
08:49 camelia rakudo-moar 822566: OUTPUT: «Hash|61420960␤Hash|61420960␤»
08:50 * geekosaur got a scalar contaning a scalar but can't figure out how to deref.. which I think is intentional; that's nqp-land
08:51 geekosaur need to decont it
08:51 El_Che gfldex: maybe adding a pinpointed zef install for root would make sense, and leave the user install script there?
08:52 samcv nice i just used nqp::bind and it made it the same scalar
08:52 robertle joined #perl6
08:52 samcv m: my $a = 10; my $b; say $a.WHICH; say $b.WHICH; use nqp; nqp::bind($a,$b); say $a.WHICH; say $b.WHICh
08:52 camelia rakudo-moar 822566: OUTPUT: «Int|10␤Any|U37606808␤Any|U37606808␤No such method 'WHICh' for invocant of type 'Any'␤  in block <unit> at <tmp> line 1␤␤»
08:52 samcv m: my $a = 10; my $b; say $a.WHICH; say $b.WHICH; use nqp; nqp::bind($a,$b); say $a.WHICH; say $b.WHICH
08:52 camelia rakudo-moar 822566: OUTPUT: «Int|10␤Any|U37410200␤Any|U37410200␤Any|U37410200␤»
08:52 u-ou does binding happen behind the scenes with function parameters?
08:52 samcv functions?
08:52 samcv oh
08:52 samcv i don't think it binds
08:53 geekosaur unless you use is rw
08:53 samcv yea
08:53 geekosaur (there is also is copy)
08:53 samcv m: my $a = 10; my $b; say $a.WHICH; say $b.WHICH; use nqp; nqp::bind($a,$b); say $a.WHERE; say $b.WHERE
08:53 camelia rakudo-moar 822566: OUTPUT: «Int|10␤Any|U42268056␤42268056␤42268056␤»
08:53 u-ou ah, so rw binds?
08:53 samcv yep
08:53 samcv m: my $a = 10; my $b; say $a.WHICH; say $b.WHICH; $a := $b; say $a.WHERE; say $b.WHERE
08:53 camelia rakudo-moar 822566: OUTPUT: «Int|10␤Any|U15926680␤15926680␤15926680␤»
08:54 samcv m: my $a = 10; my $b; say $a.WHICH; say $b.WHICH; $a := $b; say $a.VAR.WHICH; say $b.VAR.WHICH
08:54 camelia rakudo-moar 822566: OUTPUT: «Int|10␤Any|U24364440␤Scalar|44167224␤Scalar|44167224␤»
08:54 samcv if you declare a sigilless variable it will always bind, even when you use `=`
08:55 u-ou m: my a = 1
08:55 camelia rakudo-moar 822566: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed my (did you mean to declare a sigilless \a or $a?)␤at <tmp>:1␤------> 3my a7⏏5 = 1␤»
08:55 u-ou m: my \a = 1
08:55 camelia rakudo-moar 822566: ( no output )
08:55 u-ou why do we have sigilless variables?
08:56 samcv my ($a, $b); .WHICH.say for $a,$b; .VAR.WHICH.say for $a,$b; $a:=$b; .WHICH.say for $a,$b; .VAR.WHICH.say for $a,$b;
08:56 samcv m:my ($a, $b); .WHICH.say for $a,$b; .VAR.WHICH.say for $a,$b; $a:=$b; .WHICH.say for $a,$b; .VAR.WHICH.say for $a,$b;
08:56 evalable6 samcv, rakudo-moar 822566f1a: OUTPUT: «Any|U35884456␤Any|U35884456␤Scalar|73607752␤Scalar|73607824␤Any|U35884456␤Any|U35884456␤Scalar|73607824␤Scalar|73607824»
08:56 samcv the start out as different scalars, but both have the same Any object (since they're not defined)
08:56 samcv but when you bind they both *are* the same scalar
08:57 samcv so that's why changing one affects the other
08:57 samcv u-ou, also it's the same as declaring `is raw` to function parameters
08:57 samcv which will not containerize it if possible or something
09:04 samcv also perl6 is so much fun
09:06 Cabanossi joined #perl6
09:09 u-ou i know
09:09 u-ou :P
09:09 u-ou are rakudo and moarvm all perl6/nqp, or is there some C in there as well?
09:10 samcv moarvm is in all C
09:10 samcv perl6 is in perl6 and nqp
09:10 samcv and most nqp commands are 1:1 with moarvm ops
09:10 u-ou ahhh
09:10 samcv which is why nqp is so much faster than perl6
09:11 samcv like nqp::index calls a C function called MVM_string_index
09:12 samcv and moarvm Model on a Runtime Virtual Machine. because it supports perl 6 object model
09:12 parv joined #perl6
09:13 samcv moarvm c function MVM_string_index takes a MVMString as a parameter, so that's a VM level object coded in c
09:13 samcv although the perl 6 Str type has more fancy on top of it which enables some fancy extra things but behind it all is a dynamic C based virtual machine
09:15 Xliff will END phasers run in the event of a die()?
09:16 domidumont joined #perl6
09:17 samcv m: END say 'end'; say 'testing'; die 'oh no'; say 'after'
09:17 camelia rakudo-moar 822566: OUTPUT: «testing␤oh no␤  in block <unit> at <tmp> line 1␤␤end␤»
09:17 samcv yep
09:19 samcv m: thingy { END thingy; say 'testing'; die 'oh no'; say 'after'; }; thingy
09:19 camelia rakudo-moar 822566: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    thingy used at line 1␤␤»
09:19 samcv m: sub thingy { END thingy; say 'testing'; die 'oh no'; say 'after'; }; thingy
09:19 camelia rakudo-moar 822566: OUTPUT: «testing␤oh no␤  in sub thingy at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤testing␤Unhandled exception: oh no␤   at <unknown>:1  (/home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm:print_exception)␤ from SETTING::…»
09:19 samcv hahaha
09:20 samcv m: sub thingy { END thingy; say 'testing'; die 'oh no'; say 'after'; }; thingy; END thingy
09:20 camelia rakudo-moar 822566: OUTPUT: «testing␤oh no␤  in sub thingy at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤testing␤Unhandled exception: oh no␤   at <unknown>:1  (/home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm:print_exception)␤ from SETTING::…»
09:21 domidumont joined #perl6
09:21 samcv but there's only one END. so it can't run multiple times
09:27 u-ou this is the END!
09:34 * samcv starts writing a blog post on unicode and stuff i've been working on
09:34 samcv so many things to write argh
09:34 samcv unicode, string search. appimages, moarvm automatic coverage report and travis ci magic
09:34 samcv may need to split it up into several maybe
09:35 samcv though then maybe i will never finish the other blog posts... heh
09:37 geekosaur partial posts with "(to be continued)"
09:40 u-ou samcv link to your blog? :o
09:40 samcv http://cry.nu
09:40 u-ou no, wait
09:40 u-ou i already knew that >.<
09:40 * RabidGravy takes a lazy "try" out of his oldest module
09:40 u-ou i forgot i had it bookmarked already :i
09:40 u-ou :I
09:40 samcv cry T_T
09:40 samcv heh
09:41 u-ou I forget who's who, that's all :P
09:46 u-ou is there a way to have an attribute that is gettable but not settable? $. means it is settable at cons. time, right?
09:46 u-ou gettable meaning outside the object
09:47 u-ou guess you just write your own getter :p
09:50 geekosaur actually that does just a getter
09:50 geekosaur you'd need has $.foo is rw; to get the setter
09:50 u-ou oh yeah.
09:50 RabidGravy except for the constructor
09:50 u-ou yeah
09:50 u-ou it's w at cons. time
09:51 geekosaur but so are $!foo-s
09:51 RabidGravy you could also provide a BUILD that doesn't initialize the attribute from the params
09:52 RabidGravy it's just the default BUILD will initialise any attributes supplied that have an accessor
09:53 azawawi https://github.com/azawawi/perl6-ncurses/blob/master/examples/10-forms.pl6 # ncurses forms example :)
09:53 RabidGravy azawawi, you seem to be on a bit of a roll right now
09:54 azawawi Seems so. Catching up with someone i know :)
09:59 RabidGravy right, that's Linux::Fuser fixed
09:59 u-ou m: class A { has $!a; method m { say $!a } }; A.new(:a<foo>).m
09:59 camelia rakudo-moar 822566: OUTPUT: «(Any)␤»
10:01 u-ou geekosaur apparently not
10:01 RabidGravy hence my comment regarding the default BUILD
10:05 espadrine joined #perl6
10:07 samcv there we go https://cry.nu/perl6/indexing-unicode-things/
10:08 samcv hopefully pl6net picks it up it should be syndicated there
10:09 RabidGravy there, that's Pg::Notify fixed
10:09 RabidGravy what's next
10:19 RabidGravy Ooh IO::Path::Mode "Failed to symlink file: file already exists"
10:19 pmurias joined #perl6
10:20 pmurias hi
10:26 samcv yay cool. pl6anet.org worked and picked up my post
10:26 samcv very good
10:29 u-ou (:
10:29 samcv okay all. i'm going to relax then go to bed. have a great night/day/*
10:30 moritz \o *
10:30 u-ou night samcv
10:30 u-ou nice post :)
10:31 samcv Unrecognized backslash sequence: '\o'
10:31 RabidGravy Oh, did the semantics of IO::Path.symlink change?
10:33 RabidGravy i.e. is it now  $source.symlink($target) rather than $target.symlink($source) ?
10:34 RabidGravy which is fine by me if it has
10:36 RabidGravy well I;ve just answered my own question, swapped them round in this test and it passes
10:45 notbenh joined #perl6
10:56 RabidGravy right, IO::Path::Mode
11:00 u-ou goodnight 6ers
11:06 Cabanossi joined #perl6
11:30 pmurias joined #perl6
11:34 RabidGravy Oh, Webservice::Soundcloud is afflicted by the OpenSSL server name thing
11:35 RabidGravy https://github.com/sergot/openssl/issues/36
11:47 azawawi quick question, how do you represent NULL value in NativeCall given you're using an `is repr('CPointer')`
11:47 azawawi ?
11:48 azawawi class ITEM is repr('CPointer');  my ITEM $item;  # how to store NULL in it?
11:59 jnthn That's it :)
11:59 jnthn Type objects map to NULL
11:59 RabidGravy :) MAGICKS
11:59 jnthn So $item there already will, if you pass it, pass a NULL
12:00 jnthn Can assign ITEM to it if you need to "null it out" again after putting something else there
12:02 RabidGravy Hmm I think the greater good might be served by my fixing OpenSSL, which is something I wanted to avoid to be honest
12:03 pmurias joined #perl6
12:04 timotimo @( ) calls .cache for you
12:04 timotimo btw (replying to a very outdated conversation)
12:04 jnthn RabidGravy: If you fix it there then I can crib from it to fix IO::Socket::Async::SSL ;)
12:05 azawawi joined #perl6
12:06 Cabanossi joined #perl6
12:08 LeCamarade joined #perl6
12:10 raiph joined #perl6
12:10 azawawi thx
12:10 azawawi my chromium went down and i didnt see the answer in time... damn you google
12:10 azawawi :)
12:12 raiph joined #perl6
12:13 azawawi i like magick re type objects but if it was a bit more clear in the documentation :)
12:15 azawawi re "Once again, type objects are used to represent nulls." in nativecall documentation could use an example that state how to define null for example (maybe?)
12:15 El_Che hey azawawi, any chance some of the features of the atom editor tools would make it to the perl6 lang suppport (now the latter in in the perl6 org github repo)?
12:17 RabidGravy jnthn, I'm struggling where to implement the fix
12:17 raiph joined #perl6
12:18 azawawi El_Che: you mean refactor them into separate modules, right?
12:19 azawawi El_Che: perl6-snippets, perl6-linter, ..etc
12:21 El_Che azawawi: no I mean, both plugins are fantastic, but lacking separedly
12:21 raiph joined #perl6
12:21 El_Che together they would make a killer perl6 support plugin
12:21 azawawi El_Che: atom perl6 tools depends on perl6-language fyi
12:22 azawawi https://github.com/azawawi/atom-perl6-editor-tools/blob/master/package.json#L41
12:22 El_Che yes, but imho stuff like syntax highlighting should be part of the default plugin install
12:22 El_Che not something people install afterwards
12:22 El_Che I am pretty sure not everyone would agree :)
12:23 azawawi El_Che: i was thinking of dividing the functionality into several packages and then have a plugin that installs them all
12:23 RabidGravy Ah, I remember now, need to make the SSL_ctrl call thingy in the OpenSSL and then do something with it in IO::Socket::SSL
12:23 RabidGravy PITA
12:24 azawawi El_Che: that way people can install what they need, given that linter sometimes can become annoying
12:25 El_Che that would be nice, although maybe not clear for new users
12:26 El_Che I am thinking of vim where you need to install a trillion of stuff to get a nice support level for the lang
12:26 El_Che and comparing it with stuff like IntelliJ where you install 1 plugin and everything is supported for the lang
12:27 El_Che (just thinking out loud, not complaining by the way)
12:28 azawawi El_Che: cool
12:29 El_Che "You want to do Perl 6? Grab this pkg/installer and this plugin for atom and there you go
12:29 El_Che "
12:29 El_Che advanced users will find their way to vim and the like
12:33 azawawi sure so i will split them and then make perl6-lotr-edition install them all :)
12:33 El_Che I am curious what samcv has to say. She invested a lot of work in perl6 atom support
12:35 azawawi well im afraid to ask given I was too late merging her changes :)
12:36 * azawawi ducks
12:36 Cabanossi joined #perl6
12:36 El_Che hehe
12:39 pmurias joined #perl6
12:42 azawawi El_Che: also i had a todo on a perl6-aligner :)
12:43 azawawi El_Che: vertical alignment of operators (sort of perltidy)
12:43 azawawi El_Che: https://github.com/adrianlee44/atom-aligner
12:47 moritz m: say 'ABCSSD' ~~ rx:i/ß/
12:47 camelia rakudo-moar 822566: OUTPUT: «「S」␤»
12:47 moritz that's wrong, afaict
12:47 moritz it should match both S
12:47 moritz m: say 'ß'.uc
12:47 camelia rakudo-moar 822566: OUTPUT: «SS␤»
12:48 moritz samcv: ^^ maybe something you're interested in
12:48 timotimo no
12:48 moritz no?
12:48 timotimo the unicode consortium backpedaled on that
12:48 timotimo ... at least i think so
12:57 raiph joined #perl6
12:58 raiph joined #perl6
13:07 RabidGravy Dear OpenSSL THERE ARE TOO MANY STEENKIN MACROS IN ssl.h  LOVE RABID
13:09 timotimo yeah :<
13:12 RabidGravy It makes me want to drink more beer
13:16 El_Che all right, hardening openvpn is easy, once you do the obvious (which took a while)
13:16 El_Che happy connection now on public wifis :)
13:19 RabidGravy Ooh I may have fixed it that
13:28 zapwai joined #perl6
13:33 espadrine joined #perl6
13:35 RabidGravy Rarr! that definitely fixed it, though the tests on WebService::Soundcloud are still failing for other reasons
13:38 RabidGravy I don't suppose anyone has commit on OpenSSL and want to look at https://github.com/sergot/openssl/pull/42 ?
13:50 titsuki joined #perl6
13:51 Cabanossi joined #perl6
13:54 * timotimo has no access
13:57 RabidGravy I think it's ugexe & sergot
13:59 robertle joined #perl6
14:06 robertle joined #perl6
14:15 RabidGravy hahaha
14:15 * RabidGravy fixes the pod in URI
14:15 RabidGravy another day another yak
14:17 Geth ¦ perl6.org: 999ee09084 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/downloads/index.html
14:17 Geth ¦ perl6.org: Remove rakudobrew from downloads
14:17 Geth ¦ perl6.org:
14:17 Geth ¦ perl6.org: People don't bother reading its docs and have issues,
14:17 Geth ¦ perl6.org: and worse, get wrong recommendations to fix those issues.
14:17 Geth ¦ perl6.org:
14:17 Geth ¦ perl6.org: Also, there seems to be little realization that rakudobrew by default
14:17 Geth ¦ perl6.org: builds a whatever random and untested dev commit happened to be HEAD.
14:18 Geth ¦ perl6.org: review: https://github.com/perl6/perl6.org/commit/999ee09084
14:20 kurahaupo joined #perl6
14:25 RabidGravy Ooh Soundcloud, you aren't consistent about the permalink-url use of https or http :-(
14:26 timotimo bah
14:26 timotimo you can't really file a bug or something, eh?
14:27 RabidGravy I'm sure I can
14:28 timotimo cool
14:28 RabidGravy meanwhile I'll TODO that test ;-)
14:29 Chinese_soup left #perl6
14:35 * RabidGravy reports it via twitter in the first place
14:49 timotimo mhm
14:56 Khisanth joined #perl6
14:58 RabidGravy so I think that's all the modules fixed up, apart from the stupid million year old liquidsoap on travis-ci
15:07 kent\n joined #perl6
15:08 timotimo ugh :)
15:09 RabidGravy boom
15:09 RabidGravy jnthn, BTW the fix for OpenSSL is https://github.com/sergot/openssl/pull/42/commits/3c154e98afb45a99e2fa83d6957e8ff9543139bf
15:13 pmurias joined #perl6
15:17 mxco86 joined #perl6
15:20 TreyHarris Uhhh.... This is just weird (OT for Perl 6 the language, but perlish and on-topif for #perl6 the channel): https://gist.github.com/treyharris/1de63651f545d793d17d8f221c9bdb4e
15:20 TreyHarris I was trying to dig up the references to 'auto-new' for AlexDaniel, and "[e]grep" didn't turn up all the lines, but pcregrep did
15:20 RabidGravy everything's weird
15:21 RabidGravy ugexe++ # top merging :)
15:21 Cabanossi joined #perl6
15:22 TreyHarris Oh, missed the "Binary file matches", I've never seen grep decide after outputting lines that a file is binary after all. (And I swore I had a UTF8-clean IRC and shell path at this point, sigh....)
15:23 TreyHarris hrmph, my locale is entirely UTF8. whatev...
15:23 ilbelkyr IRC color codes and such might make it think it's binary; they start with literal control-Cs
15:24 TreyHarris ilbelkyr: good point...
15:25 TreyHarris ilbelkyr: ...but I see no color codes in my log generally and have weechat supposedly set to sanitize that. but maybe one inside an actual users' sent-text got into the log
15:32 TreyHarris I wonder if there's a way to replicate grep's algorithm so I can find out what line finally makes grep barf and decide it's binary? On Ubuntu at least, the manpage describes the binary-detection algorithm for MS-DOS files only. Oh well, definitely OT for this channel so unless you know, nevermind...
15:40 TreyHarris (Duh, of course there's a way. I will apparently never get past the brain damage I took from learning Unix in the days between source licenses and open-source unixen; I have a lacuna in my brain that makes me forget I can see the source of "built-in programs" when they've been in Unix since I first learned it and we couldn't see the source.)
15:40 bjz joined #perl6
15:53 baest joined #perl6
15:53 AlexDaniel joined #perl6
16:01 TreyHarris AlexDaniel: Ah, I was just talking about your question. "is auto-new" was a suggested simple method trait that would cause a call to a method on an undefined invocant to construct an instance on the fly and dispatch the method to it. I was implementing it and trying to come up with a better name, suggesting "is autovivified", but that's rather long, especially if I write it up as a module--do we call it
16:01 TreyHarris "Class::Trait::Autovivified"??
16:01 AlexDaniel oh
16:01 AlexDaniel that's interesting
16:01 TreyHarris Hmm... on the fly... would "method f() is fly" be too cute? We do, after all, have "is Cool"....
16:02 RabidGravy See also Staticish, which does similar but creates a singleton instance
16:05 timotimo "is instantiating" ... "is conjuring"
16:05 bjz joined #perl6
16:06 TreyHarris RabidGravy: yes, that's what I was working from. But here I was trying to deal with the unpleasant (but understandable for performance reasons) behavior of structlike classes that refuse to tell you their fields until you create an actual instance. And some other system-oriented functions where a singleton would only be appropriate if you pretended the entire program was atomic--the system process table, for
16:06 TreyHarris instance, is a single thing, sure, but it's constantly changing, and having a realtime representation is less useful (or at least, much harder to program against) than a snapshot in most situations.
16:06 Cabanossi joined #perl6
16:07 timotimo "method foobar will pull-rabbit-out-of-hat { }
16:07 timotimo "
16:08 TreyHarris timotimo: can you use "will" like that??
16:09 RabidGravy I think the semantics of will are slightly different to is, does and others
16:09 RabidGravy but yes basically
16:09 TreyHarris I thought it required a phaser and block
16:10 RabidGravy it may require a block yes
16:12 TreyHarris yeah, this trait wouldn't require a block. either nothing if there's a null-arg constructor or a constructor capture.
16:12 timotimo TreyHarris: not sure if you can expand "will" without building a slang
16:13 TreyHarris timotimo: I don't see the benefit other than the self-documentation of being a sort of future-looking characteristic of the trait.
16:13 RabidGravy I still want to add the ability to add mew trait words at some point
16:16 baest joined #perl6
16:16 TreyHarris RabidGravy: i.e. is/does/etc.? Agreed, I should be able to say "class Thingy will-be KindaCool" when I write my KindaCool meta-role. ;-)
16:18 RabidGravy yeah, sometimes it's a linguistic stretch to get some to work]
16:20 jnthn The various traits differ by what they parse after themselves
16:20 jnthn Like will foo will always then want a block
16:20 jnthn will foo { ... }
16:22 jnthn RabidGravy: Thanks, will nab the server name thing into the async impl :)
16:22 RabidGravy fabulous!
16:23 jnthn At some point I will get around to figuring out ALPN also
16:23 jnthn But for now, there's a curry to be cooked. :)
16:23 jnthn bbl
16:30 baest joined #perl6
16:30 TreyHarris jnthn: I tried to come up with something clever to say about partial application of your curry, but drew a blank.
16:33 ChoHag joined #perl6
16:52 RabidGravy Hmm
16:59 drrho_ joined #perl6
17:06 Cabanossi joined #perl6
17:08 leont joined #perl6
17:26 Xliff can you suppress backtrace from printing when using die?
17:27 Xliff Oh. Ew.
17:28 Xliff https://docs.perl6.org/language/exceptions#Uncaught+Exceptions
17:28 Xliff Is there a better way to do this?
17:30 geekosaur I think the point is you use die when you want the backtrace, otherwise you want note + exit
17:30 kurahaupo_ joined #perl6
17:32 Xliff Gotcha.
17:32 Xliff I will write a wrapper.
17:33 Xliff Also, is there anything to do Fuzzy Text matching that isn't a hog like Text::Levenshtein::Damerau?
17:36 Cabanossi joined #perl6
17:41 baest joined #perl6
17:43 MasterDuke_ joined #perl6
17:44 MasterDuke_ Xliff: maybe https://github.com/MasterDuke17/Text-Diff-Sift4 would work for you?
17:46 AlexDaniel it probably is
17:46 AlexDaniel (what he is looking for) :)
17:47 Xliff Checking
17:47 RabidGravy So I think all my modules are green in travis now
17:47 Xliff RabidGravy++
17:47 AlexDaniel although I'm still waiting for somebody to write a C implementation of this stuff…
17:47 Xliff That's gotta be nice!
17:50 RabidGravy Audio::Liquidsoap is a pain, because the liquidsoap is asynchronous under the hood, the timing on travis goes to shit
17:50 Xliff Is the maximum number of items in a hash still 16360, or was that issue fixed?
17:53 AlexDaniel m: my %h; %h{rand} = rand for ^100000; say +%h
17:53 camelia rakudo-moar c95c4a: OUTPUT: «100000␤»
17:53 AlexDaniel m: my %h; %h{rand} = rand for ^1000000; say +%h
17:53 camelia rakudo-moar c95c4a: OUTPUT: «1000000␤»
17:54 Xliff AlexDaniel: Intersting.
17:54 AlexDaniel Xliff: looks fine?
17:54 AlexDaniel c: 2015.12 my %h; %h{rand} = rand for ^1000000; say +%h
17:54 committable6 AlexDaniel, ¦2015.12: «1000000»
17:54 Xliff I will have to crack open the code I wrote to test the issue and see.
17:54 Xliff Looks promising
17:54 AlexDaniel all: 2015.12 my %h; %h{rand} = rand for ^100000; say +%h
17:55 Xliff irc log search did not come up with anything.
17:55 committable6 AlexDaniel, https://gist.github.com/de27f7381d73f2fedbdbaecea5178176
17:55 AlexDaniel ah oops
17:55 AlexDaniel all: my %h; %h{rand} = rand for ^100000; say +%h
17:56 TimToady might be more of an OS dependency
17:56 committable6 AlexDaniel, https://gist.github.com/5e9dd58be1701589b6274bc474a30ac4
17:56 TimToady something with 16-bit RNG
17:56 AlexDaniel there's something interesting with 2014.01
17:56 AlexDaniel c: 2014.01 my %h; %h{rand} = rand for ^100000; say +%h
17:56 committable6 AlexDaniel, ¦2014.01: «95076»
17:57 Cabanossi joined #perl6
17:57 AlexDaniel can't bisect that far :(
17:58 TimToady m: my %h; %h{(^65536).pick} = rand for ^100000; say +%h
17:58 camelia rakudo-moar c95c4a: OUTPUT: «51333␤»
17:58 TimToady m: my %h; %h{(^0x10000000).pick} = rand for ^100000; say +%h
17:58 camelia rakudo-moar c95c4a: OUTPUT: «99983␤»
17:59 TimToady m: my %h; %h{(^0x8000000).pick} = rand for ^100000; say +%h
17:59 camelia rakudo-moar c95c4a: OUTPUT: «99961␤»
18:00 TimToady m: my %h; %h{(^0x100000).pick} = rand for ^100000; say +%h
18:00 camelia rakudo-moar c95c4a: OUTPUT: «95384␤»
18:00 TimToady 24-bits maybe?
18:01 TimToady is 2014.01 parrot-based perchance?
18:02 AlexDaniel no
18:03 AlexDaniel it's the first release on moar
18:03 TimToady different RNG apparently, in any case
18:03 Xliff AlexDaniel: It was more like a hash of hashes, actually.
18:04 Xliff I will need to check my own chatlogs to find more details.
18:05 Xliff But I am thinking the method I was doing was flawed and what I am doing now, even though slow, is probably the better way.
18:05 Xliff (reading from sqlite3 vs creating a .pm6 file with the static data)
18:05 Xliff The static data is still too large for the parser, I think.
18:10 AlexDaniel Xliff: shouldn't be a problem if it's precompiled, no?
18:19 azawawi joined #perl6
18:20 azawawi Hi
18:21 pmurias azawawi: hi
18:21 azawawi :)
18:22 * azawawi continues writing NCurses examples using http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/
18:23 pmurias As the js backend doesn't have NFG, would it make sense to do a "regular" normalization on input? (that slurped on node.js etc)
18:25 dmaestro Comparing the docs for sprintf with rakudo behavior raises a question about the '#' flag with the %o format.
18:26 dmaestro m: say sprintf "%.5o", 0o123
18:26 camelia rakudo-moar c95c4a: OUTPUT: «00123␤»
18:26 dmaestro m: say sprintf "%#.5o", 0o123
18:26 camelia rakudo-moar c95c4a: OUTPUT: «000123␤»
18:27 baest joined #perl6
18:27 dmaestro According to: the precision is incremented if it's necessary for the leading "0"
18:28 dmaestro These should probably give the same output ?
18:35 AndyDee joined #perl6
18:36 AlexDaniel dmaestro: first of all, this section in the docs is all wrong
18:37 AlexDaniel dmaestro: for example, it attempts to use octal literals without 0o…, which is an error
18:37 AlexDaniel m: sprintf '<%#.5o>', 012;      # OUTPUT: «<000012>␤»
18:37 camelia rakudo-moar c95c4a: OUTPUT: «5===SORRY!5===␤Bogus statement␤at <tmp>:2␤------> 3<BOL>7⏏5»␤    expecting any of:␤        prefix␤        term␤Other potential difficulties:␤    Leading 0 does not indicate octal in Perl 6. Please use 0o12 if you mean that.␤ …»
18:39 Geth ¦ doc: d1d9b5cc9a | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Type/Str.pod6
18:39 Geth ¦ doc: Fix octal literals
18:39 Geth ¦ doc:
18:39 Geth ¦ doc: “Leading 0 does not indicate octal in Perl 6. Please use 0o12 if you
18:39 Geth ¦ doc: mean that”
18:39 Geth ¦ doc: review: https://github.com/perl6/doc/commit/d1d9b5cc9a
18:40 AlexDaniel dmaestro: regarding your question, I don't even understand why it has to behave like that at all
18:41 AlexDaniel dmaestro: e.g. why hex and bin behave differently
18:41 AlexDaniel is it for compatibility or something?
18:45 leont left #perl6
18:46 Cabanossi joined #perl6
18:46 bjz joined #perl6
18:47 AlexDaniel ah, I see the issue now
18:49 Rawriful joined #perl6
18:49 baest joined #perl6
18:51 vendethiel joined #perl6
18:51 MilkmanDan joined #perl6
18:52 dmaestro AlexDaniel: Yeah, I was in the process of fixing that (thanks!), but discovered this other issue.
18:52 azawawi http://pasteboard.co/4GzKv09kk.png # https://github.com/azawawi/perl6-ncurses/blob/master/examples/12-menus-window.pl6
18:53 AlexDaniel dmaestro: didn't know there was an issue for that, but now I see
18:53 dmaestro As to 01234, 0b101, and 0x3eef being different, that is C legacy, and I'm guessing nobody wanted to change that for 'sprintf' :-)
18:56 geekosaur sprintf is obeying the POSIX description, which is C-centric; and I don't think the # flag should produce Perl 6 literals from sprintf
18:56 AlexDaniel dmaestro: are these the only tests for it? https://github.com/perl6/roast/blob/fca87f2030d5cab6fc8460e5b195aecd9b7765b2/S32-str/sprintf.t#L48-L51
18:56 geekosaur also my guess re adding a 0 on the front is that's just what it does; it does not check if there's one there already, and probably shouldn;t as that means it produces a different output length if the first digit of the value is/isn't 0
18:57 geekosaur which kinda makes using field widths to control output pointless
18:57 AlexDaniel here's the thing… if # is not in roast, this part of the docs can be wiped altogether :P
18:59 AlexDaniel ah wait, I see something!
19:00 AlexDaniel https://github.com/perl6/roast/blob/d1baf2e7a3e56cd6619c46040d04ed6daebc1d02/S32-str/sprintf-b.t
19:00 AlexDaniel no tests for octals, but # is tested
19:01 AlexDaniel and a lot of them are todo-ed :(
19:02 dmaestro Perl6 doesn't allow the simple leading-zero notation for octal literals, but there is no reason sprintf output has to follow suit.
19:03 dmaestro Right, # is in there, but the only description of its behavior with octal is in the doc :-(
19:04 dmaestro geekosaur: so are my examples above consistent with POSIX, and the description in the doc wrong? or ...
19:06 geekosaur hm, glibc's sprintf explicitly says it increases precision *if necessary*. that's ... abysmally stupid.
19:06 geekosaur then again, of late that probably means it's POSIX :/
19:07 geekosaur yep, POSIX stupidity. and the perl behavior is sane but "incorrect"
19:07 geekosaur "For o conversion, it shall increase the precision, if and only if necessary, to force the first digit of the result to be a zero"
19:07 geekosaur which makes field widths completely useless, thanks POSIX
19:07 dmaestro No, I think it's consistent with the idea of automatically expanding width if necessary to unambiguously specify the result.
19:08 dmaestro You should get width of 'precision', and no more, if that is sufficient.
19:09 dmaestro Yeah, *whether* POSIX should allow expanding width is debatable, but pretty much settled ...
19:15 baest joined #perl6
19:16 pmurias /j #perl6-dev
19:17 DrForr o/
19:17 gfldex \o
19:19 pmurias \o
19:20 DrForr Heh. Head is still rocking touch from the vaporetto back from Venice.
19:20 DrForr *a touch
19:21 pmurias rakudo.js now passes roast tests S02-lexical-conventions/*.t (with slightly fudged weird unicody stuff) and S02-lists/*.t
19:21 DrForr W00T
19:21 zakharyas joined #perl6
19:21 samcv good morning wonderful people
19:23 rindolf joined #perl6
19:24 DrForr I would ask what this morning is that you speak of, but I remember having one just like it a few hours ago.
19:25 moritz \o
19:26 samcv true
19:26 samcv it's 12:20am here. so technically not morning
19:26 samcv good mid-day everyone!
19:26 DrForr For those that are curious, now that ::Tidy can handle brace formatting cleanly I'm giving ANTLR4 some TLC. Namely rewriting it.
19:27 moritz it's always morning in UGT! :-)
19:28 timotimo DrForr: which ::Tiny is this now?
19:29 DrForr None of the above. Perl6::Tidy.
19:29 pmurias you are rewriting Perl6::Tidy in ANTLR4?
19:30 DrForr No, I'm giving ANTLR4 some TLC.
19:31 * moritz gives ANTLR4 some THC
19:32 DrForr That can wait for a TPC :)
19:35 DrForr And I'm sorely tempted to write an interactive match walker for the debugger.
19:42 baest joined #perl6
19:55 Xliff AlexDaniel: Actually. No! The parser chokes on it before it can be!
19:56 Xliff And compilation of a hash of hashes with over 20k records pushes the compilation time exponentially.
19:56 Xliff Actually 16360 items.
19:56 Xliff I will seriously need to find those chatlogs
19:57 MasterDuke_ Xliff: could you gist the file that chokes the parser somewhere?
19:58 baest joined #perl6
19:59 Xliff May 23rd 2016
19:59 Xliff MasterDuke_: Sure.
20:00 Xliff It's actually kinda large.
20:00 MasterDuke_ maybe compress before putting in the gist?
20:00 Xliff 3368789
20:01 Xliff gist can handle gzip?
20:01 Xliff I'm confoosled.
20:01 MasterDuke_ clone the gist to your filesystem and add it from the command line
20:01 gfldex a gist is a git repo in a dir with a funny name
20:02 AlexDaniel MasterDuke_: oh! Oh
20:02 MasterDuke_ what gfldex said
20:02 AlexDaniel MasterDuke_: that's a great idea actually
20:02 AlexDaniel MasterDuke_: I wonder how github would handle .pngs and other image types
20:02 MasterDuke_ yeah, i do it all the time
20:02 gfldex there is a package to gist from the CLI https://packages.debian.org/jessie/gist
20:02 MasterDuke_ AlexDaniel: didn't we test that before?
20:03 MasterDuke_ don't remember the results though...
20:03 AlexDaniel MasterDuke_: I don't think we tried using this git trick
20:03 AlexDaniel MasterDuke_: try it now quickly if you can?
20:04 Xliff Error: source sequence is illegal/malformed utf-8
20:05 gfldex gist-paste doesn't like non-utf8 it seams
20:05 MasterDuke_ https://gist.github.com/MasterDuke17/47cfe625d08da91945ed0f73ffc9084a
20:05 AlexDaniel MasterDuke_: amazing!
20:06 Xliff MasterDuke_: OK. How did you do that?
20:06 MasterDuke_ git clone git@gist.github.com:47cfe625d08da91945ed0f73ffc9084a.git; git add; git commit; git push
20:07 MasterDuke_ on the gist page, click on the "Embed" dropdown to get a clone link
20:07 AlexDaniel Xliff: fwiw, quotable6 works with a 242MB json file just fine (reasonable time and reasonable memory usage)
20:11 Xliff https://gist.github.com/Xliff/1a59bdb37c9e35ef50392f6465c5cf9e
20:13 Xliff I am going to gunzip, try to compile and see what happens.
20:13 Xliff (again)
20:31 Cabanossi joined #perl6
20:43 MasterDuke_ after a while: ===SORRY!=== Frame 2 local access out of range
20:43 ugexe gfldex: there is no reason you have to install zef for your travis testing - https://github.com/ugexe/Perl6-Distribution--Common--Remote/blob/master/.travis.yml#L32-L33
20:44 MasterDuke_ perf recorded 7.5g of data
20:44 Ven joined #perl6
20:44 samcv Geth, help
20:44 Geth samcv, Source at https://github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to https://geth.perl6.party/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes
20:45 samcv i need it to ignore one moarvm branch
20:49 MasterDuke_ Xliff: any success on your end?
20:52 azawawi RabidGravy: ping
20:52 * grondilu added a purely functional version of FFT on RosettaCode:  http://rosettacode.org/wiki/Fast_Fourier_transform#Perl_6
20:53 * grondilu still wonders if it can be made even more concise with some metaop magic
20:54 azawawi Some Perl 6 NCurses fun http://pasteboard.co/4ICpB5ScE.png and http://pasteboard.co/4IC6QMrbe.png :)
20:55 Xliff MasterDuke_: Nope. Just as I expected...
20:55 Xliff $ perl6 --stagestats this-will-not-precompile.pm6
20:55 Xliff Stage start      :   0.000
20:55 Xliff Stage parse      : 162.260
20:55 Xliff Stage syntaxcheck:   0.000
20:55 Xliff Stage ast        :   0.000
20:55 Xliff Stage optimize   :  26.427
20:55 Xliff Stage mast       :  47.530
20:55 Xliff Stage mbc        : ===SORRY!===
20:55 Xliff Frame 2 local access out of range
20:56 grondilu m: say <a b> X~ <c d>; # can I rely on the order of the output here?
20:56 camelia rakudo-moar c95c4a: OUTPUT: «(ac ad bc bd)␤»
20:57 Ven_ joined #perl6
20:57 Xliff m: say <1 2> X~ <3 4>
20:57 camelia rakudo-moar c95c4a: OUTPUT: «(13 14 23 24)␤»
20:57 wamba joined #perl6
20:57 grondilu m: say <1 2> X* <3 4>;
20:57 camelia rakudo-moar c95c4a: OUTPUT: «(3 4 6 8)␤»
20:57 grondilu m: say <1 2> R[X*] <3 4>;
20:57 camelia rakudo-moar c95c4a: OUTPUT: «(3 6 4 8)␤»
20:57 AlexDaniel grondilu: yes
20:58 Xliff AlexDaniel: How long did quotable6 take to handle that json file?
20:59 bjz joined #perl6
20:59 AlexDaniel oh, actually, thinking about it… that's not exactly what it does, sorry
21:00 AlexDaniel Xliff: instead, it parses a bunch of smaller json files… meh. That's not exactly it
21:00 AlexDaniel Xliff: so nevermind
21:00 Xliff Heh!
21:00 Xliff Thanks for the time, at least.
21:01 AlexDaniel the 242MB file is just a bunch of null-separated strings
21:01 Xliff I actually thought about Splitting the static data across multiple files and wrapping it in an interface.
21:01 Xliff Just struck me as a lot of work for so little gain when I could create an sqlite3 file for disto and use DBIish.
21:02 AlexDaniel right
21:02 * jnthn would suggest any option that doesn't involve using Perl 6 as a serialization format. :)
21:02 samcv hey jnthn
21:02 Xliff However, now that I am doing that, I am noticing that there is a huge hit trying to load the master table. 22k entries.
21:02 samcv can you see my last post here https://github.com/MoarVM/MoarVM/pull/580
21:02 jnthn o/ samcv
21:02 samcv coverage PR should be ready, just reveiew the two licenses the scripts i adopted are
21:02 Xliff Although, now that I think about it. I am pretty sure I am being an idiot.
21:02 Xliff ....
21:02 Xliff ....
21:03 Xliff ... yup! I'm an idiot.
21:03 samcv CC-BY-SA and CC-0-1.0 which is basically public domain dedication
21:03 Xliff Why load all that data for lookup when I can use the sqlite tables for that. *sigh*
21:03 jnthn samcv: I'm not a lawyer ;)
21:03 * Xliff headdesks.
21:03 samcv yes i know
21:03 jnthn samcv: Public domain is of coures fine
21:03 samcv better get cracking then. law school takes a long time
21:04 jnthn samcv: For CC-by-SA, I guess we've both giving attribute and any changes we've done are being shared, so it's good?
21:04 Xliff samcv: Are you still travis-aggro?
21:04 AlexDaniel samcv: CC-by-SA is not the best thing for code :(
21:04 samcv yeah
21:04 * Xliff is glad he is not named "travis"
21:04 samcv yeah i think it should be fine. since all work is fully attributed as well as the license it's under in the file
21:05 jnthn samcv: Yeah, just looked at the file, the attribute looks fine to me
21:06 samcv also read the comment on this one https://github.com/MoarVM/MoarVM/pull/580/commits/d9fc19b6f2fee2958807a71ef48222a0b6a18a0c
21:07 samcv uhm and aside from that. i think that's all the info that needs to be relayed to you
21:07 samcv but should be aware of what i wrote in that commit description ^
21:08 samcv i fixed them, and the commented out two, to restore it to how we were building before. though we could always build them if we want to
21:17 jnthn samcv: I think what you're done makes sense
21:17 jnthn samcv: The only thing I'm a bit uncomfortable about in all of this is how much it'll bloat the MoarVM repo size, if every commit we make ends up with coverage data going in too
21:18 samcv hm
21:18 samcv we could move it to another repo
21:18 samcv have it push to another repo that is
21:18 samcv that is fine with me
21:18 jnthn How much trouble is that for you?
21:18 samcv not much
21:18 jnthn If it's not much effort then I think it'd be nice
21:18 samcv you just need to add a new repo and add the key to it
21:18 jnthn OK, that I can do
21:18 jnthn is MoarVM/coverage a good name for it?
21:19 samcv yep
21:19 samcv then it'll be like https://moarvm.github.io/coverage
21:19 samcv or something
21:20 samcv do you need the pubkey again?
21:21 timotimo holy cow, rc-forest-fire has a line that spends 53% of its time in bind_sig; it's like for @!coords -> ($i, $j) { ... }
21:25 timotimo replacing those to do no unpacking makes things a crazy amount more faster
21:26 timotimo m: say 8596.15 / 17811.5
21:26 camelia rakudo-moar c95c4a: OUTPUT: «0.4826180␤»
21:37 timotimo how come we're going to Numeric.ACCEPTS when matching an enum vs an enum?
21:38 gdonald joined #perl6
21:41 timotimo *nice*
21:42 timotimo i wrote a testing ACCEPTS that i pushed onto the enum values and that's more than 2x faster
21:46 Cabanossi joined #perl6
21:54 woolfy joined #perl6
21:55 dct joined #perl6
21:55 woolfy left #perl6
22:21 azawawi So basically I have 2 sources to study so far for NCurses::Simple namely https://docs.python.org/3/library/curses.html and http://www.rubydoc.info/gems/curses/1.2.1/Curses/Window. Anyone know of other "better" ncurses implementations?
22:22 azawawi "better" OO ncurses wrapper implementations that is
22:22 timotimo azawawi: "blessings" in python space
22:22 timotimo oh, ncurser wrapper ... blessings isn't that if i remember correctly
22:23 azawawi timotimo: im currently exposing the nativecall api. Need to provide more OO sugar.
22:23 timotimo right
22:23 azawawi "...Blessings lifts several of curses’ limiting assumptions, and it makes your code pretty, too..." :)
22:24 azawawi I wanted to write NCurses::Decurse  :)
22:24 timotimo NCurses::Lift?
22:24 azawawi :)
22:24 timotimo NCurses::Exorcism?
22:25 azawawi good names
22:25 * azawawi should use timotimo's online dictionary webservice more often :)
22:26 timotimo %)
22:32 benchable6 joined #perl6
22:39 Xliff NCurses::Excorism++
22:41 azawawi and add a `compels` method for fun :)
22:41 azawawi https://github.com/azawawi/perl6-ncurses/issues/10
22:42 * azawawi begins drawing a circle around him with strange runes :)
22:43 MasterDuke_ just as long as you don't put on your robe and wizard hat...
22:43 azawawi :)
22:44 azawawi good night &
22:56 geekosaur no, excorism is what usually happens, exorcism is what's needed :p
23:32 bjz joined #perl6
23:43 bjz joined #perl6
23:43 BenGoldberg joined #perl6
23:47 Cabanossi joined #perl6

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

Perl 6 | Reference Documentation | Rakudo