»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
dogbert17 left
00:19
dogbert17 joined
00:33
mr-foobar left
|
|||
Geth | doc: 60b92278f2 | (Zoffix Znet)++ | doc/Type/IO/Path.pod6 [io grant] Change return value for `mkdir` Per github.com/rakudo/rakudo/commit/c01ebea0a0 |
00:49 | |
00:50
Cabanossi left
00:52
Cabanossi joined
|
|||
Geth | doc: 8d9537188f | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6 [io grant] Expand IO::Handle/IO::Pipe.path docs - Add better example - Add docs for its value in IO::Pipe, per: Impl: github.com/rakudo/rakudo/commit/d46e8df4cb Tests: github.com/perl6/roast/commit/637500da24 |
00:53 | |
00:55
Khisanth left
01:01
bjz left
01:08
Khisanth joined
01:19
LeCamarade left
|
|||
Geth | doc: fd8a5ed4d4 | (Zoffix Znet)++ | doc/Type/IO/Pipe.pod6 [io grant] Document IO::Pipe.path Impl: github.com/rakudo/rakudo/commit/d46e8df4cb Tests: github.com/perl6/roast/commit/637500da24 |
01:29 | |
doc: bd4fa6854d | (Zoffix Znet)++ | 2 files [io grant] Document IO::Handle/IO::Pipe.IO |
01:30 | ||
01:45
ilbot3 left
01:47
ilbot3 joined,
ChanServ sets mode: +v ilbot3
01:49
Cabanossi left
01:52
Cabanossi joined
01:56
Sgeo__ joined
01:58
Sgeo_ left
|
|||
Geth | doc: 2aaf12a52e | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6 [io grant] Document IO::Handle.Str |
02:05 | |
02:20
noganex_ joined
02:23
noganex left
02:45
zapwai left,
Actualeyes left
02:46
labster left
02:51
Cabanossi left
02:52
Cabanossi joined,
kurahaupo left
02:53
kurahaupo_ left
03:05
labster joined
03:07
Actualeyes joined
03:33
Cabanossi left
|
|||
u-ou | are there things to consider re garbage collection if you have two objects that refer to each other? | 03:34 | |
03:36
Cabanossi joined
03:43
khw left
03:50
ponbiki left
|
|||
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 | ( no output ) | ||
u-ou | something like that? | ||
Xliff | Depends. | 04:06 | |
Scoping asside, there are reference counts. | 04:07 | ||
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. | |||
BenGoldberg | Perl6's garbage collection is not the same as perl5's. | 04:08 | |
Xliff | Am I even close then? ;p | ||
BenGoldberg | Perl5's uses reference counts, perl6's does not. | 04:09 | |
Xliff | Then what does it use? | ||
BenGoldberg | perl6 is a more traditional reachability tracing GC. | ||
Xliff | Is there a medium level blog post that references how that example would work? | ||
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. | ||
geekosaur | probably want to check jnthn's blog | ||
Xliff | geekosaur: linky? | 04:11 | |
After googling: "reachability tracing garbage collection" I got here: en.wikipedia.org/wiki/Tracing_garb...collection | |||
Which.... is a bit wordy. | 04:12 | ||
But sounds like (and this is seat of pants reasoning), each class maintains an instance tree of sorts. | |||
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. | ||
Everything which isn't marked as 'live' then gets freed. | |||
Xliff | OK. A better explanation of where I was going. Thanks. | 04:13 | |
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 | |
Cause touching every single object in the entire program would be horribly costly. | |||
geekosaur | 6guts.wordpress.com/ | ||
sorry, had to dig, I use the pl6anet feed | |||
Xliff | geekosaur++ | 04:15 | |
u-ou | Xliff: let me know if you find something interesting | 04:16 | |
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 | ||
Xliff | (yes, that y is supposed to be there) | ||
u-ou | ahh. saturday here though :P | ||
Xliff | Well, technically here too. | 04:20 | |
But the night is still young! | 04:21 | ||
BenGoldberg | ℐ𝓉'𝓈 ℱ𝓇𝓎𝒹𝒶𝓎! | 04:22 | |
Actually, it's Saturday, where I am. | 04:23 | ||
geekosaur | math italic's kerning kinda sucks for prose >.> | ||
BenGoldberg | 𝕴𝖙 𝖈𝖔𝖚𝖑𝖉 𝖆𝖑𝖜𝖆𝖞𝖘 𝖇𝖊 𝖜𝖔𝖗𝖘𝖊. | 04:24 | |
geekosaur | that one's actually more readable in my font >.> | 04:25 | |
granted, not much | |||
u-ou | ¯\_(ツ)_/¯ | 04:26 | |
so my code example is safe? | |||
AlexDaniel | somebody say wxCCx9AxCCxBAxCCxB3xCCxADxCCxAExCCxA6xCCxBBoxCDx8BxCDxACxCCx8FxCCx94xCCx84xCCx83xCCx8DxCCxB4xCDx94xCCxA9xCCxA0rxCCx94xCDxA6xCDx8FxCDx89xCDx95xCDx9AxCCxBAxCDx85xCCxAExCCxAEsxCCx82xCCx84xCDxA9xCCx91xCDx9FxCCx98xCCx9ExCCxB1xCDx89xCCx9DxCCxBAexCDxACxCCx93xCCx93xCCx90xCCx85xCDx82xCDx89xCDx96xCCx97xCCxBB?̊̀̊̐ͬ? | ||
said* | |||
BenGoldberg | I programmed perlbot with some macros to generate that text: "/msg perlbot call blackletter Your text here" and ..."cursive"... | ||
geekosaur wonders whose clients just crashed... | |||
Xliff | BenGoldberg: I ♥ you. | 04:27 | |
BenGoldberg | :) | ||
samcv | i smell some unicode abuse going on | ||
Xliff | BenGoldberg: Share your wisdom with me, sensei! | ||
AlexDaniel | oh no, unicode police | ||
Xliff | 𝓞𝓱 𝔂𝓪𝔂! | 04:28 | |
Google is yer frien' | |||
AlexDaniel | Xliff: there's also this: github.com/coke/p6-uni | ||
ah wait, not this… | |||
Xliff: this github.com/coke/p6-unicode-mangler | 04:29 | ||
Xliff | 𝔽𝕒𝕟𝕔𝕪 𝕗𝕒𝕟𝕔𝕪! | ||
Alex: There's also lingojam.com/FancyTextGenerator | |||
Which I just bookmarked. | |||
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҉ | ||
Awww... | |||
That one didn't work. | |||
[xCCx85xCCxB2P][xCCx85xCCxB2L][xCCx85xCCxB2A][xCCx85xCCxB2Y] | 04:31 | ||
Nope. | |||
geekosaur | first one seemed to work here | 04:32 | |
could hve used more space perhaps | |||
Xliff | I'm on WimpyWin | ||
I refuse to go to 10 | |||
Generally, though this client has decent Unicode support. | |||
BenGoldberg | I'm using hexchat ... it has mostly decent unicode support, if you've got the right fonts installed... | 04:34 | |
geekosaur | ^ | ||
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 | ||
So geekosaur++ must have better fonts than I. | |||
AlexDaniel still wonders how to get rid of colored emoji on his system… | |||
Xliff | Still looking at HTF rakudo generated a negative pointer via NativeCall | 04:36 | |
BenGoldberg | Another fun unicode thingy: J,ursetk cAanHo tihdeirB /Pler | ||
Which *looks* ok, until you try to select part of the text :) | |||
AlexDaniel | nHo tihdeirB / | 04:37 | |
hm | |||
Xliff | Oh. LOL | ||
04:51
isBEKaml joined
|
|||
isBEKaml | Heh. I just tried building 2017.1 R* distribution. It looks like building modules make still doesn't respect DESTDIR :-( | 04:52 | |
04:53
Ben_Goldberg joined
04:54
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
|
|||
Xliff | Oh. Wow. | 05:03 | |
05:04
Cabanossi left
|
|||
BenGoldberg | Which wow? | 05:04 | |
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 | ||
Xliff | Yeppers. It's the reason I can't install DBIish right now. | 05:06 | |
05:06
Cabanossi joined
|
|||
Xliff | NativeHelpers::Blob pukes because of that particular test. | 05:06 | |
Passes everything else. | |||
I am loathe to force install because.... weird SEGVs! | |||
BenGoldberg would offer to help, but it's after 1am here... | 05:07 | ||
G'night | |||
05:07
BenGoldberg left
|
|||
Xliff | LOL! | 05:07 | |
Thanks, ben!i | |||
Same time here!!! | |||
05:17
r3m left
05:33
mr-foobar joined
05:35
skids left
05:49
isBEKaml left
05:54
v1_ joined
|
|||
protium | Any idea why I'd be getting this? | 05:54 | |
compiling src/jit/emit_posix_x64.o | |||
1 warning generated. | |||
linking 3rdparty/tinymt/libtinymt.a | |||
linking 3rdparty/sha1/libsha1.a | |||
linking libmoar.so | |||
linking moar | |||
./libmoar.so: undefined reference to `mp_set_long' | |||
clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation) | |||
make: *** [Makefile:497: moar] Error 1 | |||
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:57 | |
or at least nuke src/3rdparty/libtommath | 05:59 | ||
samcv | yeah just rm -rf 3rdparty/libtommath | 06:07 | |
and `make clean` `make realclean` | |||
then run configure again | |||
06:11
nadim joined
|
|||
protium | Using gentoo, but, ok, will try it | 06:16 | |
Thanks | |||
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 | ||
protium | That's what I thought | ||
Really more of a perl5 guy | |||
But I want to play about with 6 | |||
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 | |
06:19
Cabanossi left
|
|||
geekosaur | nobody else has hit it, so presumably this is a gentoo ebuild bug | 06:19 | |
*were advised | |||
protium | Yes, you're very right, but I thought I'd try again now that it's 4 months later | 06:20 | |
And with a different build | |||
geekosaur | probably need to talk to the gentoo maintainer then | ||
06:20
r3m joined
|
|||
protium | I did get 2016.09 working just fine | 06:20 | |
06:21
CIAvash joined,
Cabanossi joined
|
|||
samcv | do people see things in both left and right frames heree? moarvm.github.io/MoarVM/ cause the left one isn't loading for me. even though it's there | 06:22 | |
and i can see the page going there manually | |||
Ulti | protium: for playing about check out github.com/tadzik/rakudobrew | ||
you can specify the release but I rarely have problems building head | |||
geekosaur | samcv, chrrome is complaining about mixed security content | 06:24 | |
Mixed Content: The page at 'moarvm.github.io/MoarVM/' was loaded over HTTPS, but requested an insecure resource 'moarvm.github.io/MoarVM/moar/'. This request has been blocked; the content must be served over HTTPS. | |||
samcv | hm | 06:25 | |
i see | |||
protium | Ulti: Thanks, maybe that's the better way to go here | ||
samcv | that makes no sense geekosaur since i only specify relative folders and not actually http/https | ||
and it works fine on my site that has super restrictive settigs | 06:26 | ||
dammit github | |||
06:26
isBEKaml joined
06:27
gdonald left
|
|||
geekosaur | .oO { githobbled again } | 06:27 | |
06:28
gdonald joined,
r3m left
|
|||
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 | |
06:29
r3m joined
|
|||
samcv | protium, i would not use libffi | 06:30 | |
well. uh | |||
06:30
wamba joined
|
|||
geekosaur has no idea | 06:31 | ||
samcv | i would use --has-dyncall if you want to use the local files, and not libffi | ||
but that isn't causing your problem at least | |||
protium, how are you building it? from gentoo's ebuild? | |||
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 | ||
samcv | hmm. yeah i don't use jekyll. odd | ||
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 | ||
maybe there is some weirdness or proxying going on | |||
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 | ||
because relative ones behind the proy would be http | |||
*proxy | |||
heh, didn't look up to see you already said that until I was done :) | 06:34 | ||
or the slash, which would indicate they have some odd proxying rules | 06:35 | ||
(that's a common gotcha in apache config, I know) | |||
samcv | yeah that's exactly what i was thinking | 06:37 | |
06:38
RabidGravy joined
|
|||
geekosaur | success | 06:40 | |
saw the commit, hit reload, got content | |||
samcv | yay | 06:42 | |
06:44
RabidGravy left
|
|||
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 | ||
i really like rakudobrew, you should check that out | |||
uhm. but can i see the ebuild protium | 06:46 | ||
ugexe | timotimo: github.com/ugexe/zef/blob/reporter...I.pm6#L639 <- I have reporting almost working. Its just getting a 400 invalid request when posting... dunno why though - the request looks legit | 06:47 | |
06:47
xinming left
06:49
xinming joined
06:50
kerframil left
|
|||
protium | samcv: The ebuild is really simple. It just passes compile options to configure.pl | 06:52 | |
samcv | protium, oh i see. it just compiles moarvm from the rakudo git | 06:53 | |
or something. oh there's a seperate dependency on moar | |||
or not. idk i'm confused | 06:54 | ||
have you just deleted all the perl 6 downloaded files so it can clone the repo again? | 06:55 | ||
06:55
RabidGravy joined
|
|||
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 | ||
protium | samcv: It should be ok, I blew away the directory so it would redownload | 06:57 | |
RabidGravy | afaik you can blow away nearly everything apart from the .git directory and it will just get everything that is missing | 06:58 | |
samcv | yeah | 07:00 | |
07:01
isBEKaml left
07:15
gdonald left,
gdonald joined
|
|||
protium | Ooh, I maybe know what this is | 07:16 | |
Does the repo inlcude a super new version of libtommath? | 07:17 | ||
07:17
AlexDaniel left
|
|||
protium | Yeah, problem solved | 07:18 | |
So, for posterity, the ebuild specifies the system version of the math library | 07:19 | ||
But does not set a minimum version | |||
geekosaur | not super new but has a patch that upstream hasn't yet applied iirc | ||
07:19
Cabanossi left
|
|||
protium | Yeah, that's it | 07:19 | |
07:19
Actualeyes left
|
|||
protium | The ebuild should disable that flag and use the repo version and not the system version | 07:19 | |
And now it's 1:30am and I am going to bed | 07:20 | ||
07:21
Cabanossi joined
07:24
bjz joined
07:25
labster left
07:26
labster joined
|
|||
gfldex | Grammar::Debugger is failing with bleeding rakudo, see travis-ci.org/gfldex/Task-Star#L1768 | 07:30 | |
RabidGravy rebuilds rakudo and tests all the the things | |||
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 | ||
07:31
ChoHag joined
|
|||
geekosaur | well, at least it looks like it's not another IO kill? | 07:34 | |
07:36
darutoko joined
|
|||
gfldex | geekosaur: I would be in favour of another IO kill. They tend to be easy to fix. | 07:40 | |
jnthn: blocker for Task::Star github.com/jnthn/grammar-debugger/issues/34 | 07:42 | ||
Xliff | can MAIN be multi? | 07:47 | |
RabidGravy | yes | ||
Xliff | Thankee! :) | ||
Hey, RabidGravy! Long time... | 07:48 | ||
RabidGravy | :) | ||
It's the day job - too much softwaring | 07:49 | ||
07:55
azawawi joined
|
|||
azawawi | Good morning #perl6 | 07:55 | |
RabidGravy | boom | 07:56 | |
08:00
gdonald left,
gdonald joined
08:01
Actualeyes joined
|
|||
azawawi drinks his morning coffee in preparation of... :) | 08:02 | ||
08:09
zacts left
|
|||
RabidGravy | There are a lot of TODO tests in my modules | 08:11 | |
I blame travis (and people not using the same OS as me,) for this | |||
08:12
zacts joined
|
|||
Xliff | Is the fuzzy text matching that rakudo uses for variables exposed in the language itself? | 08:14 | |
s/variables/matching mispelled variables/ | |||
samcv | i very much like to blame travis | ||
Xliff | I'd like to blame travis, but I expect he has enough blame already. | 08:15 | |
samcv | nope | ||
Xliff | Rut roh | ||
I suspect I know who this travis is, now. | |||
s/who/what/ | |||
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. | ||
ROFL. geekosaur++ | |||
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! | ||
samcv | travis won't ever stop going. slowly... and travis will never cease to always be out of date | ||
08:18
Cabanossi left
|
|||
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:18 | |
samcv | Totally Really Always Very Slow Continuously In-updated | 08:19 | |
we can pretend in-updated is a word | |||
Xliff | Where's the first I? | ||
samcv | idk make up one | ||
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 | ||
samcv | yes | ||
Xliff | OK. After that, I need another beer. | ||
samcv | there's this other CI that lets you ssh into failed builds and poke around | ||
because it's actualy a sane service | |||
08:21
Cabanossi joined
|
|||
Xliff | - Crimally Investigated? | 08:21 | |
s/Crimally/Criminally/ -- Maybe no on the eerbay. | |||
samcv | codeship.com/features/basic?hsCtaT...7188e406a5 | ||
way better than travis | |||
look at this super helpful prompt cms.codeship.com/hs-fs/hubfs/codes...access.png | 08:22 | ||
gives you so much useful information | |||
one of those I's should be incompetant | 08:23 | ||
Xliff | we can always swap randomly out "Constantly Interrupted" with "Confusingly Incompetant" | ||
RabidGravy | Oooh Linux::Fuser appears broken by IO stuffs, Pg::Notify by stupid programmer | 08:24 | |
samcv | one A could be aggrivating | ||
geekosaur | crappily irrelevant? | 08:25 | |
samcv | yes | 08:26 | |
u-ou | hello | ||
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" ?? | ||
travis-ci.org/ | |||
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:29 | ||
u-ou | what's an idiomatic way to iterate over a list within a scalar? | 08:31 | |
guess that's just @() | 08:32 | ||
RabidGravy | you mean "for $list-in-scalar -> $v { .... }" or something else | ||
u-ou | well, that will iterate once | ||
you can do @() or .list | |||
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 | ||
u-ou | like what? | ||
samcv | i usually do list | ||
u-ou | ok cool | ||
I thought .list was a bit prettier too | |||
samcv | yeah i would go with that | ||
u-ou | I'm curious now. what weird things can @() do? | ||
samcv | and has better type checing and less exploding in case it can't do it | ||
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 | ||
and i've found .list works in several places @( ) did not | |||
RabidGravy | but yes .list | ||
u-ou | okies | ||
samcv | or | 08:35 | |
use nqp; for nqp::decont($var) { } heh | |||
which will un-scalar it | |||
u-ou | :P | ||
RabidGravy | de-ref style definitely doesn't feel perl 6 ish | ||
samcv | there's probably some perl 6 thing that does that, or something but i don't know it | ||
u-ou | yeah, I like list | 08:36 | |
samcv | there's different codepaths though. and .list works more places cause it's a method | ||
u-ou | oh, was there an answer to Xliff's question about hash-emptiness? | ||
samcv | empty | 08:37 | |
u-ou | ooh | ||
samcv | %hash.Bool | ||
gfldex | El_Che: i got it working, see github.com/nxadm/rakudo-pkg/issues/10 | ||
samcv | they both are equally fast though by my benchmarking | 08:38 | |
gfldex | El_Che: also, you gonna be famous! gfldex.wordpress.com/2017/04/14/sp...up-travis/ | 08:39 | |
Xliff | Wha? | 08:40 | |
Why no empty in here? docs.perl6.org/type/Hash ??? | |||
s/empty/.empty/ | |||
u-ou | Xliff: .Bool | ||
Xliff | Oh. | ||
samcv | there's no .empty for hashes | 08:41 | |
Xliff | So "return unless ! $hash.Bool" | ||
samcv | or just return unless ! $hash | ||
and it will do it automatically | |||
u-ou | or if $hash :p | ||
08:41
rindolf joined
|
|||
Xliff | I will go with ! $hash | 08:41 | |
u-ou | unless not seems kind of weird | 08:42 | |
but i guess it could work in some contexts | |||
samcv | depends on the code it's for | ||
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. | ||
samcv | aka return (in most cases) but if there's no hash, then don't | ||
Xliff | Mainly because it was from an Inline::Perl5 object. | ||
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! | ||
unscalar. LOL. yes | |||
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. | ||
u-ou | :D | ||
Xliff | $scalar = $scalar | ||
samcv | when you mix perl 6 and nqp you start to notice how things are containered much more | ||
Xliff | Of course, that answer is either overly simple... or really, really deep. | ||
I tried nqp. | |||
samcv | well that sets the contents of one scalar to the contents of another | 08:45 | |
Xliff | I just got back from rehab. | ||
samcv | nice | ||
Xliff | Or is that therapy? | ||
Both? | |||
samcv | m: my $scalar1 = 10; my $scalar2 = $scalar1; say $scalar1.WHICH; say $scalar2.WHICH | ||
camelia | Int|10 Int|10 |
||
samcv | m: my $scalar1 = 10; my $scalar2 = $scalar1; say $scalar1.WHERE; say $scalar2.WHERE | ||
camelia | 140218287408136 140218287408136 |
||
Xliff | samcv: Actually, I was more jokingly answering you...literally. | 08:46 | |
samcv | m: my $var; say $var.WHICH | ||
camelia | Any|U45528472 | ||
samcv | ok there | ||
that's the scalar | |||
geekosaur | m: my ($x, $y) = 5, 6; $x = VAR($y); dd $x | ||
camelia | Scalar $x = Int.new | ||
El_Che | gfldex: thx. Wouldn't it make sense to use install_zef_as_user? | ||
samcv | it doesn't have anything in it yet | ||
Xliff | m: my $scalar = 0; $scalar = $scalar; | ||
camelia | ( no output ) | ||
Xliff | m: my $scalar; $scalar = $scalar; | ||
camelia | ( no output ) | ||
Xliff | Wow! It compiled. | ||
08:46
mouldysammich joined
|
|||
geekosaur | why wouldn't it? | 08:47 | |
Xliff | Tautology? | ||
samcv | m: my $scalar1 = 10; my $scalar2; $scalar2 = $scalar1; say $scalar1.VAR.WHICH; say $scalar2.VAR.WHICH | ||
camelia | Scalar|37888088 Scalar|37888160 |
||
samcv | see different scalars :) | ||
proooof | |||
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 | ||
Xliff | oooooh | ||
(yes... it's bonzo for bedtime, me) | |||
(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) | ||
m: my %hash; say %hash.WHICH; %hash = 1,2; say %hash.WHICH | 08:49 | ||
camelia | Hash|69447696 Hash|69447696 |
||
samcv | m: my %hash; say %hash.VAR.WHICH; %hash = 1,2; say %hash.VAR.WHICH | ||
camelia | Hash|61420960 Hash|61420960 |
||
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:50 | ||
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? | ||
samcv | nice i just used nqp::bind and it made it the same scalar | 08:52 | |
08:52
robertle joined
|
|||
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 | Int|10 Any|U37606808 Any|U37606808 No such method 'WHICh' for invocant of type 'Any' in block <unit> at <tmp> line 1 |
||
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 | ||
camelia | Int|10 Any|U37410200 Any|U37410200 Any|U37410200 |
||
u-ou | does binding happen behind the scenes with function parameters? | ||
samcv | functions? | ||
oh | |||
i don't think it binds | |||
geekosaur | unless you use is rw | 08:53 | |
samcv | yea | ||
geekosaur | (there is also is copy) | ||
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 | ||
camelia | Int|10 Any|U42268056 42268056 42268056 |
||
u-ou | ah, so rw binds? | ||
samcv | yep | ||
m: my $a = 10; my $b; say $a.WHICH; say $b.WHICH; $a := $b; say $a.WHERE; say $b.WHERE | |||
camelia | Int|10 Any|U15926680 15926680 15926680 |
||
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 | Int|10 Any|U24364440 Scalar|44167224 Scalar|44167224 |
||
samcv | if you declare a sigilless variable it will always bind, even when you use `=` | ||
u-ou | m: my a = 1 | 08:55 | |
camelia | 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 |
||
u-ou | m: my \a = 1 | ||
camelia | ( no output ) | ||
08:55
bjz left
|
|||
u-ou | why do we have sigilless variables? | 08:55 | |
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 | |
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; | |||
evalable6 | Any|U35884456 Any|U35884456 Scalar|73607752 Scalar|73607824 Any|U35884456 Any|U35884456 Scalar|73607824 Scalar|73607824 |
||
samcv | the start out as different scalars, but both have the same Any object (since they're not defined) | ||
but when you bind they both *are* the same scalar | |||
so that's why changing one affects the other | 08:57 | ||
u-ou, also it's the same as declaring `is raw` to function parameters | |||
which will not containerize it if possible or something | |||
09:03
Cabanossi left
|
|||
samcv | also perl6 is so much fun | 09:04 | |
09:06
Cabanossi joined
|
|||
u-ou | i know | 09:09 | |
:P | |||
are rakudo and moarvm all perl6/nqp, or is there some C in there as well? | |||
samcv | moarvm is in all C | 09:10 | |
perl6 is in perl6 and nqp | |||
and most nqp commands are 1:1 with moarvm ops | |||
u-ou | ahhh | ||
samcv | which is why nqp is so much faster than perl6 | ||
like nqp::index calls a C function called MVM_string_index | 09:11 | ||
and moarvm Model on a Runtime Virtual Machine. because it supports perl 6 object model | 09:12 | ||
09:12
parv joined
|
|||
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 | |
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 | |||
Xliff | will END phasers run in the event of a die()? | 09:15 | |
09:16
domidumont joined
|
|||
samcv | m: END say 'end'; say 'testing'; die 'oh no'; say 'after' | 09:17 | |
camelia | testing oh no in block <unit> at <tmp> line 1 end |
||
samcv | yep | ||
m: thingy { END thingy; say 'testing'; die 'oh no'; say 'after'; }; thingy | 09:19 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: thingy used at line 1 |
||
samcv | m: sub thingy { END thingy; say 'testing'; die 'oh no'; say 'after'; }; thingy | ||
camelia | 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::… |
||
samcv | hahaha | ||
09:20
domidumont left
|
|||
samcv | m: sub thingy { END thingy; say 'testing'; die 'oh no'; say 'after'; }; thingy; END thingy | 09:20 | |
camelia | 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
|
|||
samcv | but there's only one END. so it can't run multiple times | 09:21 | |
u-ou | this is the END! | 09:27 | |
samcv starts writing a blog post on unicode and stuff i've been working on | 09:34 | ||
so many things to write argh | |||
unicode, string search. appimages, moarvm automatic coverage report and travis ci magic | |||
may need to split it up into several maybe | |||
though then maybe i will never finish the other blog posts... heh | 09:35 | ||
geekosaur | partial posts with "(to be continued)" | 09:37 | |
u-ou | samcv link to your blog? :o | 09:40 | |
samcv | cry.nu | ||
u-ou | no, wait | ||
i already knew that >.< | |||
RabidGravy takes a lazy "try" out of his oldest module | |||
u-ou | i forgot i had it bookmarked already :i | ||
:I | |||
samcv | cry T_T | ||
heh | |||
u-ou | I forget who's who, that's all :P | 09:41 | |
09:45
parv left
|
|||
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 | |
gettable meaning outside the object | |||
guess you just write your own getter :p | 09:47 | ||
09:49
labster left
|
|||
geekosaur | actually that does just a getter | 09:50 | |
you'd need has $.foo is rw; to get the setter | |||
u-ou | oh yeah. | ||
RabidGravy | except for the constructor | ||
u-ou | yeah | ||
it's w at cons. time | |||
geekosaur | but so are $!foo-s | 09:51 | |
RabidGravy | you could also provide a BUILD that doesn't initialize the attribute from the params | ||
it's just the default BUILD will initialise any attributes supplied that have an accessor | 09:52 | ||
azawawi | github.com/azawawi/perl6-ncurses/b...-forms.pl6 # ncurses forms example :) | 09:53 | |
RabidGravy | azawawi, you seem to be on a bit of a roll right now | ||
azawawi | Seems so. Catching up with someone i know :) | 09:54 | |
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 | ||
camelia | (Any) | ||
u-ou | geekosaur apparently not | 10:01 | |
RabidGravy | hence my comment regarding the default BUILD | ||
10:05
espadrine joined
|
|||
samcv | there we go cry.nu/perl6/indexing-unicode-things/ | 10:07 | |
hopefully pl6net picks it up it should be syndicated there | 10:08 | ||
RabidGravy | there, that's Pg::Notify fixed | 10:09 | |
what's next | |||
Ooh IO::Path::Mode "Failed to symlink file: file already exists" | 10:19 | ||
10:19
pmurias joined
|
|||
pmurias | hi | 10:20 | |
10:22
pmurias left
|
|||
samcv | yay cool. pl6anet.org worked and picked up my post | 10:26 | |
very good | |||
u-ou | (: | 10:29 | |
samcv | okay all. i'm going to relax then go to bed. have a great night/day/* | ||
moritz | \o * | 10:30 | |
u-ou | night samcv | ||
nice post :) | |||
samcv | Unrecognized backslash sequence: '\o' | 10:31 | |
RabidGravy | Oh, did the semantics of IO::Path.symlink change? | ||
i.e. is it now $source.symlink($target) rather than $target.symlink($source) ? | 10:33 | ||
which is fine by me if it has | 10:34 | ||
well I;ve just answered my own question, swapped them round in this test and it passes | 10:36 | ||
10:45
notbenh left,
notbenh joined
10:52
titsuki left
|
|||
RabidGravy | right, IO::Path::Mode | 10:56 | |
10:59
espadrine left
|
|||
u-ou | goodnight 6ers | 11:00 | |
11:02
MasterDuke left
11:04
Cabanossi left
11:06
Cabanossi joined
11:30
pmurias joined
|
|||
RabidGravy | Oh, Webservice::Soundcloud is afflicted by the OpenSSL server name thing | 11:34 | |
github.com/sergot/openssl/issues/36 | 11:35 | ||
azawawi | quick question, how do you represent NULL value in NativeCall given you're using an `is repr('CPointer')` | 11:47 | |
? | |||
class ITEM is repr('CPointer'); my ITEM $item; # how to store NULL in it? | 11:48 | ||
jnthn | That's it :) | 11:59 | |
Type objects map to NULL | |||
So $item there already will, if you pass it, pass a NULL | |||
RabidGravy | :) MAGICKS | ||
jnthn | Can assign ITEM to it if you need to "null it out" again after putting something else there | 12:00 | |
12:02
pmurias left
|
|||
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:02 | |
12:03
Cabanossi left,
pmurias joined
|
|||
timotimo | @( ) calls .cache for you | 12:04 | |
btw (replying to a very outdated conversation) | |||
jnthn | RabidGravy: If you fix it there then I can crib from it to fix IO::Socket::Async::SSL ;) | ||
12:04
azawawi left
12:05
azawawi joined
12:06
Cabanossi joined
12:08
LeCamarade joined
12:09
raiph left
12:10
raiph joined
|
|||
azawawi | thx | 12:10 | |
my chromium went down and i didnt see the answer in time... damn you google | |||
:) | |||
12:11
raiph left
12:12
raiph joined
|
|||
azawawi | i like magick re type objects but if it was a bit more clear in the documentation :) | 12:13 | |
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
raiph left
|
|||
RabidGravy | jnthn, I'm struggling where to implement the fix | 12:17 | |
12:17
raiph joined
|
|||
azawawi | El_Che: you mean refactor them into separate modules, right? | 12:18 | |
El_Che: perl6-snippets, perl6-linter, ..etc | 12:19 | ||
12:21
raiph left
|
|||
El_Che | azawawi: no I mean, both plugins are fantastic, but lacking separedly | 12:21 | |
12:21
raiph joined
|
|||
El_Che | together they would make a killer perl6 support plugin | 12:21 | |
azawawi | El_Che: atom perl6 tools depends on perl6-language fyi | ||
github.com/azawawi/atom-perl6-edit...e.json#L41 | 12:22 | ||
El_Che | yes, but imho stuff like syntax highlighting should be part of the default plugin install | ||
not something people install afterwards | |||
I am pretty sure not everyone would agree :) | |||
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 | ||
PITA | |||
azawawi | El_Che: that way people can install what they need, given that linter sometimes can become annoying | 12:24 | |
El_Che | that would be nice, although maybe not clear for new users | 12:25 | |
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 | ||
and comparing it with stuff like IntelliJ where you install 1 plugin and everything is supported for the lang | |||
(just thinking out loud, not complaining by the way) | 12:27 | ||
12:28
domidumont left
|
|||
azawawi | El_Che: cool | 12:28 | |
El_Che | "You want to do Perl 6? Grab this pkg/installer and this plugin for atom and there you go | 12:29 | |
" | |||
advanced users will find their way to vim and the like | |||
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:34
Cabanossi left
|
|||
azawawi | well im afraid to ask given I was too late merging her changes :) | 12:35 | |
azawawi ducks | 12:36 | ||
12:36
Cabanossi joined
|
|||
El_Che | hehe | 12:36 | |
12:37
pmurias left
12:39
pmurias joined
|
|||
azawawi | El_Che: also i had a todo on a perl6-aligner :) | 12:42 | |
El_Che: vertical alignment of operators (sort of perltidy) | 12:43 | ||
El_Che: github.com/adrianlee44/atom-aligner | |||
moritz | m: say 'ABCSSD' ~~ rx:i/ß/ | 12:47 | |
camelia | 「S」 | ||
moritz | that's wrong, afaict | ||
it should match both S | |||
m: say 'ß'.uc | |||
camelia | SS | ||
moritz | samcv: ^^ maybe something you're interested in | 12:48 | |
timotimo | no | ||
moritz | no? | ||
timotimo | the unicode consortium backpedaled on that | ||
... at least i think so | |||
12:56
raiph left
12:57
raiph joined
12:58
raiph left,
raiph joined
13:05
pmurias left
|
|||
RabidGravy | Dear OpenSSL THERE ARE TOO MANY STEENKIN MACROS IN ssl.h LOVE RABID | 13:07 | |
timotimo | yeah :< | 13:09 | |
RabidGravy | It makes me want to drink more beer | 13:12 | |
El_Che | all right, hardening openvpn is easy, once you do the obvious (which took a while) | 13:16 | |
happy connection now on public wifis :) | |||
RabidGravy | Ooh I may have fixed it that | 13:19 | |
13:28
zapwai joined
13:33
espadrine joined
|
|||
RabidGravy | Rarr! that definitely fixed it, though the tests on WebService::Soundcloud are still failing for other reasons | 13:35 | |
I don't suppose anyone has commit on OpenSSL and want to look at github.com/sergot/openssl/pull/42 ? | 13:38 | ||
13:41
robertle left
13:48
Cabanossi left
13:50
titsuki joined
13:51
Cabanossi joined
|
|||
timotimo has no access | 13:54 | ||
13:56
azawawi left
|
|||
RabidGravy | I think it's ugexe & sergot | 13:57 | |
13:59
robertle joined
14:05
robertle left
14:06
robertle joined
|
|||
RabidGravy | hahaha | 14:15 | |
RabidGravy fixes the pod in URI | |||
another day another yak | |||
Geth | perl6.org: 999ee09084 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/downloads/index.html Remove rakudobrew from downloads People don't bother reading its docs and have issues, and worse, get wrong recommendations to fix those issues. Also, there seems to be little realization that rakudobrew by default builds a whatever random and untested dev commit happened to be HEAD. |
14:17 | |
14:20
kurahaupo joined
|
|||
RabidGravy | Ooh Soundcloud, you aren't consistent about the permalink-url use of https or http :-( | 14:25 | |
timotimo | bah | 14:26 | |
you can't really file a bug or something, eh? | |||
RabidGravy | I'm sure I can | 14:27 | |
timotimo | cool | 14:28 | |
RabidGravy | meanwhile I'll TODO that test ;-) | ||
14:29
Chinese_soup left
|
|||
RabidGravy reports it via twitter in the first place | 14:35 | ||
14:42
Khisanth left
|
|||
timotimo | mhm | 14:49 | |
14:56
Khisanth joined
|
|||
RabidGravy | so I think that's all the modules fixed up, apart from the stupid million year old liquidsoap on travis-ci | 14:58 | |
15:00
CIAvash left
15:05
mxco86 left,
kent\n left
15:07
kent\n joined
|
|||
timotimo | ugh :) | 15:08 | |
RabidGravy | boom | 15:09 | |
jnthn, BTW the fix for OpenSSL is github.com/sergot/openssl/pull/42/...f9543139bf | |||
15:13
pmurias joined
15:17
mxco86 joined
15:19
Cabanossi left
|
|||
TreyHarris | Uhhh.... This is just weird (OT for Perl 6 the language, but perlish and on-topif for #perl6 the channel): gist.github.com/treyharris/1de6365...221c9bdb4e | 15:20 | |
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 | |||
RabidGravy | everything's weird | ||
ugexe++ # top merging :) | 15:21 | ||
15:21
Cabanossi joined
|
|||
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:22 | |
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 | ||
TreyHarris | ilbelkyr: good point... | 15:24 | |
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:25 | ||
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:32 | ||
(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 | ||
15:40
bjz joined
15:48
bjz left
15:49
baest left
15:53
baest joined,
AlexDaniel joined
|
|||
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 | |
"Class::Trait::Autovivified"?? | |||
AlexDaniel | oh | ||
that's interesting | |||
TreyHarris | Hmm... on the fly... would "method f() is fly" be too cute? We do, after all, have "is Cool".... | ||
RabidGravy | See also Staticish, which does similar but creates a singleton instance | 16:02 | |
16:04
Cabanossi left
|
|||
timotimo | "is instantiating" ... "is conjuring" | 16:05 | |
16:05
bjz joined
|
|||
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 | |
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
|
|||
timotimo | "method foobar will pull-rabbit-out-of-hat { } | 16:07 | |
" | |||
TreyHarris | timotimo: can you use "will" like that?? | 16:08 | |
RabidGravy | I think the semantics of will are slightly different to is, does and others | 16:09 | |
but yes basically | |||
TreyHarris | I thought it required a phaser and block | ||
RabidGravy | it may require a block yes | 16:10 | |
16:12
baest left
|
|||
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 | ||
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:14
bjz left
16:16
drrho_ left,
baest joined
|
|||
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:16 | |
RabidGravy | yeah, sometimes it's a linguistic stretch to get some to work] | 16:18 | |
jnthn | The various traits differ by what they parse after themselves | 16:20 | |
Like will foo will always then want a block | |||
will foo { ... } | |||
RabidGravy: Thanks, will nab the server name thing into the async impl :) | 16:22 | ||
RabidGravy | fabulous! | ||
jnthn | At some point I will get around to figuring out ALPN also | 16:23 | |
But for now, there's a curry to be cooked. :) | |||
bbl | |||
16:25
baest left
16:29
ChoHag left
16:30
baest joined
|
|||
TreyHarris | jnthn: I tried to come up with something clever to say about partial application of your curry, but drew a blank. | 16:30 | |
16:33
ChoHag joined
16:50
aindilis left
|
|||
RabidGravy | Hmm | 16:52 | |
16:54
mr-foobar left
16:59
drrho_ joined
17:03
leont left
17:04
Cabanossi left
17:06
Cabanossi joined
17:08
leont joined
|
|||
Xliff | can you suppress backtrace from printing when using die? | 17:26 | |
Oh. Ew. | 17:27 | ||
docs.perl6.org/language/exceptions...Exceptions | 17:28 | ||
Is there a better way to do this? | |||
geekosaur | I think the point is you use die when you want the backtrace, otherwise you want note + exit | 17:30 | |
17:30
kurahaupo_ joined
17:32
kurahaupo left
|
|||
Xliff | Gotcha. | 17:32 | |
I will write a wrapper. | |||
Also, is there anything to do Fuzzy Text matching that isn't a hog like Text::Levenshtein::Damerau? | 17:33 | ||
17:34
Cabanossi left
17:36
Cabanossi joined,
baest left
17:41
baest joined
17:43
MasterDuke_ joined
|
|||
MasterDuke_ | Xliff: maybe github.com/MasterDuke17/Text-Diff-Sift4 would work for you? | 17:44 | |
AlexDaniel | it probably is | 17:46 | |
(what he is looking for) :) | |||
Xliff | Checking | 17:47 | |
RabidGravy | So I think all my modules are green in travis now | ||
Xliff | RabidGravy++ | ||
AlexDaniel | although I'm still waiting for somebody to write a C implementation of this stuff… | ||
Xliff | That's gotta be nice! | ||
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? | ||
AlexDaniel | m: my %h; %h{rand} = rand for ^100000; say +%h | 17:53 | |
camelia | 100000 | ||
AlexDaniel | m: my %h; %h{rand} = rand for ^1000000; say +%h | ||
camelia | 1000000 | ||
17:53
Cabanossi left
|
|||
Xliff | AlexDaniel: Intersting. | 17:54 | |
AlexDaniel | Xliff: looks fine? | ||
c: 2015.12 my %h; %h{rand} = rand for ^1000000; say +%h | |||
committable6 | AlexDaniel, ¦2015.12: «1000000» | ||
Xliff | I will have to crack open the code I wrote to test the issue and see. | ||
Looks promising | |||
AlexDaniel | all: 2015.12 my %h; %h{rand} = rand for ^100000; say +%h | ||
Xliff | irc log search did not come up with anything. | 17:55 | |
committable6 | AlexDaniel, gist.github.com/de27f7381d73f2fedb...cea5178176 | ||
AlexDaniel | ah oops | ||
all: my %h; %h{rand} = rand for ^100000; say +%h | |||
TimToady | might be more of an OS dependency | 17:56 | |
committable6 | AlexDaniel, gist.github.com/5e9dd58be1701589b6...c474a30ac4 | ||
TimToady | something with 16-bit RNG | ||
AlexDaniel | there's something interesting with 2014.01 | ||
c: 2014.01 my %h; %h{rand} = rand for ^100000; say +%h | |||
committable6 | AlexDaniel, ¦2014.01: «95076» | ||
17:57
Cabanossi joined
|
|||
AlexDaniel | can't bisect that far :( | 17:57 | |
TimToady | m: my %h; %h{(^65536).pick} = rand for ^100000; say +%h | 17:58 | |
camelia | 51333 | ||
TimToady | m: my %h; %h{(^0x10000000).pick} = rand for ^100000; say +%h | ||
camelia | 99983 | ||
TimToady | m: my %h; %h{(^0x8000000).pick} = rand for ^100000; say +%h | 17:59 | |
camelia | 99961 | ||
TimToady | m: my %h; %h{(^0x100000).pick} = rand for ^100000; say +%h | 18:00 | |
camelia | 95384 | ||
TimToady | 24-bits maybe? | ||
is 2014.01 parrot-based perchance? | 18:01 | ||
AlexDaniel | no | 18:02 | |
it's the first release on moar | 18:03 | ||
TimToady | different RNG apparently, in any case | ||
Xliff | AlexDaniel: It was more like a hash of hashes, actually. | ||
I will need to check my own chatlogs to find more details. | 18:04 | ||
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 | ||
(reading from sqlite3 vs creating a .pm6 file with the static data) | |||
The static data is still too large for the parser, I think. | |||
AlexDaniel | Xliff: shouldn't be a problem if it's precompiled, no? | 18:10 | |
18:19
azawawi joined
|
|||
azawawi | Hi | 18:20 | |
pmurias | azawawi: hi | 18:21 | |
azawawi | :) | ||
azawawi continues writing NCurses examples using tldp.org/HOWTO/NCURSES-Programming-HOWTO/ | 18:22 | ||
18:22
baest left
|
|||
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:23 | |
dmaestro | Comparing the docs for sprintf with rakudo behavior raises a question about the '#' flag with the %o format. | 18:25 | |
m: say sprintf "%.5o", 0o123 | 18:26 | ||
camelia | 00123 | ||
dmaestro | m: say sprintf "%#.5o", 0o123 | ||
camelia | 000123 | ||
18:27
baest joined
|
|||
dmaestro | According to: the precision is incremented if it's necessary for the leading "0" | 18:27 | |
These should probably give the same output ? | 18:28 | ||
18:35
AndyDee joined
|
|||
AlexDaniel | dmaestro: first of all, this section in the docs is all wrong | 18:36 | |
dmaestro: for example, it attempts to use octal literals without 0o…, which is an error | 18:37 | ||
m: sprintf '<%#.5o>', 012; # OUTPUT: «<000012>» | |||
camelia | 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:38
baest left
|
|||
Geth | doc: d1d9b5cc9a | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Type/Str.pod6 Fix octal literals “Leading 0 does not indicate octal in Perl 6. Please use 0o12 if you mean that” |
18:39 | |
AlexDaniel | dmaestro: regarding your question, I don't even understand why it has to behave like that at all | 18:40 | |
dmaestro: e.g. why hex and bin behave differently | 18:41 | ||
is it for compatibility or something? | |||
18:45
leont left,
Cabanossi left
18:46
Cabanossi joined,
bjz joined
|
|||
AlexDaniel | ah, I see the issue now | 18:47 | |
18:49
Rawriful joined,
baest joined
18:50
MilkmanDan left
18:51
vendethiel joined,
MilkmanDan joined
|
|||
dmaestro | AlexDaniel: Yeah, I was in the process of fixing that (thanks!), but discovered this other issue. | 18:52 | |
azawawi | pasteboard.co/4GzKv09kk.png # github.com/azawawi/perl6-ncurses/b...window.pl6 | ||
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' :-) | ||
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? github.com/perl6/roast/blob/fca87f....t#L48-L51 | ||
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 | ||
which kinda makes using field widths to control output pointless | 18:57 | ||
18:57
bjz left
|
|||
AlexDaniel | here's the thing… if # is not in roast, this part of the docs can be wiped altogether :P | 18:57 | |
18:58
rindolf left
|
|||
AlexDaniel | ah wait, I see something! | 18:59 | |
github.com/perl6/roast/blob/d1baf2...printf-b.t | 19:00 | ||
no tests for octals, but # is tested | |||
and a lot of them are todo-ed :( | 19:01 | ||
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:02 | |
Right, # is in there, but the only description of its behavior with octal is in the doc :-( | 19:03 | ||
geekosaur: so are my examples above consistent with POSIX, and the description in the doc wrong? or ... | 19:04 | ||
19:04
baest left
|
|||
geekosaur | hm, glibc's sprintf explicitly says it increases precision *if necessary*. that's ... abysmally stupid. | 19:06 | |
then again, of late that probably means it's POSIX :/ | |||
19:07
darutoko left
|
|||
geekosaur | yep, POSIX stupidity. and the perl behavior is sane but "incorrect" | 19:07 | |
"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" | |||
which makes field widths completely useless, thanks POSIX | |||
dmaestro | No, I think it's consistent with the idea of automatically expanding width if necessary to unambiguously specify the result. | ||
You should get width of 'precision', and no more, if that is sufficient. | 19:08 | ||
Yeah, *whether* POSIX should allow expanding width is debatable, but pretty much settled ... | 19:09 | ||
19:15
baest joined
|
|||
pmurias | /j #perl6-dev | 19:16 | |
DrForr | o/ | 19:17 | |
gfldex | \o | ||
pmurias | \o | 19:19 | |
DrForr | Heh. Head is still rocking touch from the vaporetto back from Venice. | 19:20 | |
*a touch | |||
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
|
|||
samcv | good morning wonderful people | 19:21 | |
19:23
rindolf joined
|
|||
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:24 | |
moritz | \o | 19:25 | |
samcv | true | 19:26 | |
it's 12:20am here. so technically not morning | |||
good mid-day everyone! | |||
DrForr | For those that are curious, now that ::Tidy can handle brace formatting cleanly I'm giving ANTLR4 some TLC. Namely rewriting it. | ||
moritz | it's always morning in UGT! :-) | 19:27 | |
timotimo | DrForr: which ::Tiny is this now? | 19:28 | |
DrForr | None of the above. Perl6::Tidy. | 19:29 | |
pmurias | you are rewriting Perl6::Tidy in ANTLR4? | ||
DrForr | No, I'm giving ANTLR4 some TLC. | 19:30 | |
moritz gives ANTLR4 some THC | 19:31 | ||
19:32
baest left
|
|||
DrForr | That can wait for a TPC :) | 19:32 | |
And I'm sorely tempted to write an interactive match walker for the debugger. | 19:35 | ||
19:42
baest joined
19:53
baest left
|
|||
Xliff | AlexDaniel: Actually. No! The parser chokes on it before it can be! | 19:55 | |
And compilation of a hash of hashes with over 20k records pushes the compilation time exponentially. | 19:56 | ||
Actually 16360 items. | |||
I will seriously need to find those chatlogs | |||
MasterDuke_ | Xliff: could you gist the file that chokes the parser somewhere? | 19:57 | |
19:58
baest joined
|
|||
Xliff | May 23rd 2016 | 19:59 | |
MasterDuke_: Sure. | |||
It's actually kinda large. | 20:00 | ||
MasterDuke_ | maybe compress before putting in the gist? | ||
Xliff | 3368789 | ||
gist can handle gzip? | 20:01 | ||
I'm confoosled. | |||
MasterDuke_ | clone the gist to your filesystem and add it from the command line | ||
gfldex | a gist is a git repo in a dir with a funny name | ||
AlexDaniel | MasterDuke_: oh! Oh | 20:02 | |
MasterDuke_ | what gfldex said | ||
AlexDaniel | MasterDuke_: that's a great idea actually | ||
MasterDuke_: I wonder how github would handle .pngs and other image types | |||
MasterDuke_ | yeah, i do it all the time | ||
gfldex | there is a package to gist from the CLI packages.debian.org/jessie/gist | ||
MasterDuke_ | AlexDaniel: didn't we test that before? | ||
don't remember the results though... | 20:03 | ||
AlexDaniel | MasterDuke_: I don't think we tried using this git trick | ||
MasterDuke_: try it now quickly if you can? | |||
Xliff | Error: source sequence is illegal/malformed utf-8 | 20:04 | |
gfldex | gist-paste doesn't like non-utf8 it seams | 20:05 | |
MasterDuke_ | gist.github.com/MasterDuke17/47cfe...73ffc9084a | ||
AlexDaniel | MasterDuke_: amazing! | ||
Xliff | MasterDuke_: OK. How did you do that? | 20:06 | |
MasterDuke_ | git clone [email@hidden.address] git add; git commit; git push | ||
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) | ||
Xliff | gist.github.com/Xliff/1a59bdb37c9e...6465c5cf9e | 20:11 | |
I am going to gunzip, try to compile and see what happens. | 20:13 | ||
(again) | |||
20:29
Cabanossi left
20:31
Cabanossi joined
20:33
nadim left
|
|||
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 - github.com/ugexe/Perl6-Distributio...ml#L32-L33 | ||
20:44
wamba left
|
|||
MasterDuke_ | perf recorded 7.5g of data | 20:44 | |
20:44
Ven joined,
Ven is now known as Guest55325
|
|||
samcv | Geth, help | 20:44 | |
Geth | samcv, Source at github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to geth.perl6.party/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes | ||
samcv | i need it to ignore one moarvm branch | 20:45 | |
20:45
pytuger left
20:46
v1_ left
|
|||
MasterDuke_ | Xliff: any success on your end? | 20:49 | |
azawawi | RabidGravy: ping | 20:52 | |
grondilu added a purely functional version of FFT on RosettaCode: rosettacode.org/wiki/Fast_Fourier_t...orm#Perl_6 | |||
grondilu still wonders if it can be made even more concise with some metaop magic | 20:53 | ||
20:53
Guest55325 left
|
|||
azawawi | Some Perl 6 NCurses fun pasteboard.co/4ICpB5ScE.png and pasteboard.co/4IC6QMrbe.png :) | 20:54 | |
Xliff | MasterDuke_: Nope. Just as I expected... | 20:55 | |
$ perl6 --stagestats this-will-not-precompile.pm6 | |||
Stage start : 0.000 | |||
Stage parse : 162.260 | |||
Stage syntaxcheck: 0.000 | |||
Stage ast : 0.000 | |||
Stage optimize : 26.427 | |||
Stage mast : 47.530 | |||
Stage mbc : ===SORRY!=== | |||
Frame 2 local access out of range | |||
grondilu | m: say <a b> X~ <c d>; # can I rely on the order of the output here? | 20:56 | |
camelia | (ac ad bc bd) | ||
20:57
Ven_ joined
|
|||
Xliff | m: say <1 2> X~ <3 4> | 20:57 | |
camelia | (13 14 23 24) | ||
20:57
wamba joined
|
|||
grondilu | m: say <1 2> X* <3 4>; | 20:57 | |
camelia | (3 4 6 8) | ||
grondilu | m: say <1 2> R[X*] <3 4>; | ||
camelia | (3 6 4 8) | ||
AlexDaniel | grondilu: yes | ||
Xliff | AlexDaniel: How long did quotable6 take to handle that json file? | 20:58 | |
20:59
bjz joined
|
|||
AlexDaniel | oh, actually, thinking about it… that's not exactly what it does, sorry | 20:59 | |
Xliff: instead, it parses a bunch of smaller json files… meh. That's not exactly it | 21:00 | ||
Xliff: so nevermind | |||
Xliff | Heh! | ||
Thanks for the time, at least. | |||
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
wamba left
|
|||
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:01 | |
AlexDaniel | right | 21:02 | |
jnthn would suggest any option that doesn't involve using Perl 6 as a serialization format. :) | |||
samcv | hey jnthn | ||
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. | ||
samcv | can you see my last post here github.com/MoarVM/MoarVM/pull/580 | ||
jnthn | o/ samcv | ||
samcv | coverage PR should be ready, just reveiew the two licenses the scripts i adopted are | ||
Xliff | Although, now that I think about it. I am pretty sure I am being an idiot. | ||
.... | |||
... yup! I'm an idiot. | 21:03 | ||
samcv | CC-BY-SA and CC-0-1.0 which is basically public domain dedication | ||
Xliff | Why load all that data for lookup when I can use the sqlite tables for that. *sigh* | ||
jnthn | samcv: I'm not a lawyer ;) | ||
Xliff headdesks. | |||
samcv | yes i know | ||
jnthn | samcv: Public domain is of coures fine | ||
21:03
zakharyas left
|
|||
samcv | better get cracking then. law school takes a long time | 21:03 | |
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? | ||
AlexDaniel | samcv: CC-by-SA is not the best thing for code :( | ||
samcv | yeah | ||
Xliff is glad he is not named "travis" | |||
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 | ||
jnthn | samcv: Yeah, just looked at the file, the attribute looks fine to me | 21:05 | |
samcv | also read the comment on this one github.com/MoarVM/MoarVM/pull/580/...a0b6a18a0c | 21:06 | |
uhm and aside from that. i think that's all the info that needs to be relayed to you | 21:07 | ||
but should be aware of what i wrote in that commit description ^ | |||
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:08 | ||
jnthn | samcv: I think what you're done makes sense | 21:17 | |
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 | |||
samcv | hm | 21:18 | |
we could move it to another repo | |||
have it push to another repo that is | |||
that is fine with me | |||
jnthn | How much trouble is that for you? | ||
samcv | not much | ||
jnthn | If it's not much effort then I think it'd be nice | ||
samcv | you just need to add a new repo and add the key to it | ||
jnthn | OK, that I can do | ||
is MoarVM/coverage a good name for it? | |||
samcv | yep | 21:19 | |
then it'll be like moarvm.github.io/coverage | |||
or something | |||
do you need the pubkey again? | 21:20 | ||
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:21 | |
replacing those to do no unpacking makes things a crazy amount more faster | 21:25 | ||
m: say 8596.15 / 17811.5 | 21:26 | ||
camelia | 0.4826180 | ||
timotimo | how come we're going to Numeric.ACCEPTS when matching an enum vs an enum? | 21:37 | |
21:37
gdonald left
21:38
gdonald joined
21:39
raiph left
|
|||
timotimo | *nice* | 21:41 | |
i wrote a testing ACCEPTS that i pushed onto the enum values and that's more than 2x faster | 21:42 | ||
21:44
Cabanossi left
21:46
Cabanossi joined
21:51
kurahaupo_ left
21:54
woolfy joined
21:55
dct joined,
woolfy left
21:58
Ven_ left
22:05
bjz left
22:18
pmurias left
|
|||
azawawi | So basically I have 2 sources to study so far for NCurses::Simple namely docs.python.org/3/library/curses.html and www.rubydoc.info/gems/curses/1.2.1/...es/Window. Anyone know of other "better" ncurses implementations? | 22:21 | |
"better" OO ncurses wrapper implementations that is | 22:22 | ||
timotimo | azawawi: "blessings" in python space | ||
oh, ncurser wrapper ... blessings isn't that if i remember correctly | |||
azawawi | timotimo: im currently exposing the nativecall api. Need to provide more OO sugar. | 22:23 | |
timotimo | right | ||
azawawi | "...Blessings lifts several of curses’ limiting assumptions, and it makes your code pretty, too..." :) | ||
I wanted to write NCurses::Decurse :) | 22:24 | ||
timotimo | NCurses::Lift? | ||
azawawi | :) | ||
timotimo | NCurses::Exorcism? | ||
azawawi | good names | 22:25 | |
azawawi should use timotimo's online dictionary webservice more often :) | |||
timotimo | %) | 22:26 | |
22:31
benchable6 left
22:32
benchable6 joined,
ChanServ sets mode: +v benchable6
|
|||
Xliff | NCurses::Excorism++ | 22:39 | |
22:40
Xliff left
|
|||
azawawi | and add a `compels` method for fun :) | 22:41 | |
github.com/azawawi/perl6-ncurses/issues/10 | |||
azawawi begins drawing a circle around him with strange runes :) | 22:42 | ||
MasterDuke_ | just as long as you don't put on your robe and wizard hat... | 22:43 | |
azawawi | :) | ||
good night & | 22:44 | ||
22:44
dct left
22:48
azawawi left
22:53
rindolf left
|
|||
geekosaur | no, excorism is what usually happens, exorcism is what's needed :p | 22:56 | |
23:10
espadrine left
23:29
Rawriful left
23:32
bjz joined
23:33
bjz left
23:38
zapwai left
23:43
bjz joined,
bjz left,
BenGoldberg joined
23:44
Cabanossi left
23:47
Cabanossi joined
|