»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
SmokeMachine :( 00:03
timotimo parsed macros in the future, though
SmokeMachine Red can translate something like `M.^all.map: { .a ~ (" => " ~ .b if .b)}` to SQL, but can't translate `M.^all.map: { ".a{(" => { .b }" if .b }" }` 00:05
timotimo: ^^ 00:06
M.^all.map: { ".a{ " => { .b }" if .b }" } 00:07
TreyHarris Hang on, the more recent of the two commits I did (adding myself to CREDITS) passed tests. Is that because somebody fixed the issue behind the scenes, or because CREDITS doesn't affect the build and tests only check what's changed, or something else?
timotimo passed tests up on travis, TreyHarris? 00:08
(Trey Harris, or short: Travis) 00:09
SmokeMachine timotimo: That is translated to: www.irccloud.com/pastebin/UKDToyAZ/
AlexDaniel TreyHarris: I think some tests are flapping (passing usually but sometimes failing), so it's all pure luck
timotimo SmokeMachine: i'm not sure why it can't do that
TreyHarris My change in the prior chat is live at docs.perl6.org/type/Junction#infix_~ now
timotimo SmokeMachine: because "foo { bar } baz" compiles to the same thing as "foo " ~ bar ~ " baz" iirc
TreyHarris s/chat/committ/
timotimo ah, docs commits
TreyHarris commit even. :-) 00:10
SmokeMachine timotimo: that do the same thing... but not in the same way (that would be awesome if it did...)
TreyHarris where can I see what Perl 6 modules have been changed today? There's a feed, isn't there?
timotimo i'm not aware of one, but maybe the perl6-all-modules repo is kept up to date regularly? 00:11
timotimo SmokeMachine: my headachy brain doesn't seem to understand what the difference is between the two, except that the latter doesn't use .a 00:13
TreyHarris I wondered, since it appeared to be an issue with a module I upgraded (because my commit passed, but failed in shippable, then I upgraded my modules and my commits failed, as did ones earlier than mine that had passed), if one of the modules has been upgraded in the past couple hours 00:14
timotimo ah, interesting
the modules that are used to actually generate docs.perl6.org aren't updated often
which just recently caused a bit of work, or maybe a headache
SmokeMachine timotimo: www.irccloud.com/pastebin/uJ3iB2XB/ 00:17
timotimo oooh 00:20
it's because it compiles to "foo " ~ bar.Str ~ " baz"
that's what
SmokeMachine hum! let me override Str! 00:21
timotimo yeah
the current .Str isn't useful anyway :) 00:22
you can make it return a string representation of the column but also mix in a method that Red itself would use to keep constructing the AST
SmokeMachine timotio: that worked!!! \o. www.irccloud.com/pastebin/JnCBBAWs/ 00:24
\o/
timotimo: thanks!
timotimo :+1:
one day someone will build a perl6 deparser 00:27
SmokeMachine like -MO=Deparser?! would be great! 00:31
timotimo everything's already in place to make it :P 00:35
just eval with a :target of ast or optimize
though post-optimize is perhaps a bit more difficult to deparse, since we play it just a little fast & loose sometimes
AlexDaniel can somebody build and `make test` rakudo on ARM? Trying to confirm R#2513 02:19
AlexDaniel .tell Kaiepi so what's the situation with R#2520 ? Was it ok before and now it's broken? If so, can you bisect it maybe? 02:23
yoleaux AlexDaniel: I'll pass your message to Kaiepi.
ryn1x AlexDaniel: I can run make test on my raspberry pi for rakudo HEAD. I'll post the results to R#2513 when it is done. It is realllly slow. 06:31
AlexDaniel ryn1x: thanks! 06:35
rindolf ryn1x: thanks 06:41
ryn1x AlexDaniel, rindolf: tests all finished, results posted: github.com/rakudo/rakudo/issues/2513 07:38
rindolf ryn1x: thanks 07:39
ryn1x np
AlexDaniel ryn1x: thanks 07:40
hankache hello #perl6 07:48
rindolf hankache: hi 07:54
jmerelo .tell masak well? 07:58
yoleaux jmerelo: I'll pass your message to masak.
AlexDaniel hmm colabti.org/irclogger/irclogger_lo...12-13#l243 08:01
:)
jmerelo AlexDaniel: yep, I read that. But the article is not there, or the draft. 08:02
So
releasable6: status 08:03
releasable6 jmerelo, Next release will happen when it's ready. 1 blocker. 60 out of 74 commits logged
jmerelo, Details: gist.github.com/9708f28a9b8d2df2b9...d6fedc6923
jmerelo Great
Anyway
hankache I have a module that compiles a shared library (.so) and puts it in blib/lib. How can I reference that shared lib when using is native()? 08:04
jmerelo .tell masak there needs to be an article ready every day. Tomorrow's article is ready, so I'll put that one today and leave yours for tomorrow. Is that OK?
yoleaux jmerelo: I'll pass your message to masak.
hankache what should I pass to is native()?
in other words how do I get the full path to whatever is in blib/lib? 08:06
jmerelo So finally we have this Advent article today perl6advent.wordpress.com/2018/12/...ist-twice/
.tell masak so please have it ready tonight or tell us if you if you are not going to be able.
yoleaux jmerelo: I'll pass your message to masak.
jmerelo hankache: can't you directly pass the path? 08:07
hankache: docs.perl6.org/language/nativecall..._and_names 08:08
hankache I do not know what the full path is. When this module gets installed how would I know the full path? 08:09
jmerelo hankache: there's an example there that uses pkg-config to take care of that.
hankache jmerelo but the shared lib was compiled by LibraryMake so it isn't found in pkg-config 08:15
jmerelo hankache: that's a problem. Can't you use the OS's find or something like that? I mean, the problem is finding the path to the library or including it? 08:17
hankache if I find the path to the library then the problem is solved 08:18
how can I when doing zef install X know where X/blib/lib is located?
jmerelo hankache: I think there's a zef location or suchlike. 08:19
Let me check
hankache is there some sort of compile time variable or something?
jmerelo hankache: rightly so.
hankache: right, zef locate 08:20
hankache: github.com/ugexe/zef#locate-identi...th-sha1-id 08:21
hankache jmerelo thanks
jmerelo hankache: my pleasure :-) (now, if you also ask the question in StackOverflow, I'd be immensely happy) 08:22
hankache I can't cd into it 08:24
jmerelo hankache: because it does not exist? Or permissions problems? 08:28
hankache jmerelo I think I need to use %?RESOURCES. Let me try and will tell you if it works 08:29
be right back
jmerelo hankache: OK. Good luck! 08:30
jmerelo New (and hairy) PrecompStore question in StackOverflow (stackoverflow.com/questions/538009...al-module) 09:32
ufobat___ m: run <echo hi>, :cwd("does-not-exist") 10:01
camelia The spawned command 'echo' exited unsuccessfully (exit code: 1)
in block <unit> at <tmp> line 1
ufobat___ is this the expected behaviour? becacuse if :$cwd does not exist it is kinda "hard" to troubleshoot 10:02
ufobat___ what about something like $!exit-promise.break() unless $cwd.e --> github.com/rakudo/rakudo/blob/mast...#L291-L294 10:07
jmerelo ufobat___: I don't know enough to help you with that, but I'm mildly worried by the amount of unaddressed issues in Rakudo... 10:34
ufobat___: and unaddressed PRs, too... 10:35
ufobat___ r we too few? :(
we == sufficient skilled core devs?
jmerelo ufobat___: the answer to that is definitely yes, I guess. I'm not qualified (or have the commit bit in that repo, which is probably a wise decision)
daotoad jmerelo: I am looking at the advent article in wordpress right now. Wordpress is of the opinion that you are currently editing it. 10:36
Should I just go ahead and repost or did you get things fixed? 10:37
jmerelo The thing is, PRs is one of the ways to attract new developers. If you see your PR grow stale and eventually conflict, that's not good
daotoad: Just closed the window. Forgot about that, sorry. No, I couldn't get the things fixed.
ufobat___ jmerelo, there should be perl6 core dev teaching lessons at the perl conferences
jmerelo ufobat___: that would help. But doing something about this 2013!!! PR would too. Luckily, timo is an all around great guy, but some others might not be of that opinion... github.com/rakudo/rakudo/pull/184 10:39
lucasb there's text in the middle of a code snippet... "## Elf-type mismatch - Cobbling up improved error handling" 10:39
maybe the author indented to split that part and become a heading 10:40
daotoad That should be a heading. 10:41
daotoad I'm about to repost from the converted html. 10:42
jmerelo daotoad++ 10:43
daotoad Actually, the converter didn't get that bit right. Editing the generated HTML first.
daotoad Hrm. Lovely. The gist has the problem too. The Markdown syntax looks right. 10:47
daotoad gist.github.com/daotoad/47bcbc6f1d...2481c6bcd2 10:47
Look at line 112 of perl6-cli-advent.md 10:48
Anyone have any ideas?
jmerelo daotoad: forking
daotoad: the problem is further up 10:49
daotoad When I view the same markdown in dillinger, it looks ok. 10:50
jmerelo daotoad: gist.github.com/JJ/5990cc6a5e1407c...68ca71325d
daotoad: got to close the code snippet in line 100
daotoad: BTW, kudos on linking all relevant parts of the documentation :-) That really helps. 10:51
daotoad It was easier than recapitulating the docs.
jmerelo daotoad: laziness, hubris and impatience are the best 3 qualities in a Perl programmer :-) 10:52
daotoad That fixed it. 10:53
I am going to reconvert and reupload.
jmerelo daotoad++
daotoad It is done. 10:59
jmerelo daotoad: great!
daotoad The whole process was made more miserable by the GUI version of Vim not wanting to run on my mac. I had to fire up XCode to get the raw html content to copy and paste. Every other stupid editor I have wanted to show me rich text. :P 11:00
jmerelo daotoad: I always use emacs, and never a mac :-)
daotoad: Can you please add a split somewhere sensible? 11:01
jmerelo daotoad: WP inserts the "Continue reading" in its place. 11:01
daotoad What's the split syntax or is that a wordpress thing? 11:02
jmerelo daotoad: if you use the visual editor, it's a dashed line. 11:03
daotoad I see three spots that might make sense to put it. 1. Right before the second heading "Like pulling teeth?" (disadvantage - no perl6 content yet) 2. Right before the next heading "A strong silent type" (disadvantage: maybe too long). 3. After the first Usage message, in between 1 and 2. 11:07
jmerelo daotoad: 1. looks good to me.
jmerelo daotoad: but the others make sense too. Your call :-) 11:08
daotoad Done. I went with 1.
jmerelo daotoad: thanks! 11:09
daotoad Brevity is the soul of wit.
I think Oscar Wilde said that.
jmerelo daotoad: so true.
daotoad: It's a nice cliffhanger, too. What will happen to Sniffles next?
... We'll know right after the break :-)
daotoad True. 11:10
I wonder how much of the various jokes I put in there make sense to non-US readers. Do you guys get Rudolph the Red Nosed Reindeer on TV in Spain?
jmerelo daotoad: we get Santa's little helper in the Simpsons, which sometimes has a red nose and a bad translation. 11:11
jmerelo daotoad: but I was just looking at stats on the site (you've got 48 visits, just in case you need to know), and most visitors come from the US. Germany goes second today, Spain does not even show up. 11:12
daotoad: so don't worry.
daotoad Here Rudolph is a bonafide tradition. en.wikipedia.org/wiki/Rudolph_the_...V_special)
jmerelo daotoad: I haven't seen that one, actually. I don't think it airs on TV here. Santa tradition is relatively modern here. Spanish tradition is more with the "Three wise men from orient" 11:14
daotoad Hermey (spelling was changed to avoid the litigious bastards who own the rights, I worked on a project that got legal threats from them once) is an elf who wants to be a dentist. He and Rudolph are cast out of Santa's workshop for being freaks.
jmerelo And we have our own little movies here, like "Se armó el Belén" (another tradition)
daotoad: very unlikely that it's ever translated into any other language: es.wikipedia.org/wiki/%C2%A1Se_arm...el%C3%A9n! 11:15
daotoad XMas varies a lot. In Mexico they have Las Posadas where people dressed up as Mary and Joseph lead a procession through town looking for a place to stay. 11:16
jmerelo daotoad: Hadn't heard about that. Looks like a nice tradition... 11:17
we're just setting up the Christmas tree today :-) 11:18
daotoad We put ours up last weekend. It's on a table so the dog won't pee on it.
jmerelo daotoad: lol
daotoad Interesting, so Google Translate thinks Se armó el Belén means "The Bethlehem was armed". Looking at the sense of *armar*, I bet it's more like "Gathered in Bethlehem". 11:25
jmerelo I don't know if "Belén" has a good translation. "Crêche" maybe? 11:26
Let me see...
Ah, no. Nativity scene.
daotoad It seems to mean both nativity sceene or creche and Bethlehem
We use both terms here. Mostly nativity scene. 11:27
jmerelo Ah, right... The name comes from that city, actually, spelled in the same way in Spanish. I do have a small creche that was actualy made in Bethlehem and gifted to me from a friend who lives there.
daotoad That's really cool.
jmerelo "Se armó el belén" means also "It's a mess". But it literally means "The creche was set up" 11:28
daotoad Okay, I went with a much further in the past interpretation. 11:29
jmerelo Anyway, it features a very famous Spanish actor (from that era), it also reflects the zeitgeist of the last years of the dictatorship, and it's all around nice as a good Xmastime story. I've seen it like a thousand times.
However, we're adopting all kind of other traditions now. We even have advent calendars in supermarkets... 11:30
daotoad Se armo el belen makes me think of "It's a wonderful life" 11:32
Just reading the IMDB summary.
jmerelo daotoad: yep, we get that one too. Not so often now, but I'm sure it's played in one or several channels every Christmas. 11:33
daotoad MOre in terms of capturing the national zeitgeist at a critical time in history
But also as a portrait of family life.
jmerelo They never play Scrooged, however. That's too bad. 11:34
daotoad Diehard?
jmerelo daotoad: that's a good one. I actually went to the movie theater when it was released :-)
OK, back to work now. It's never Sunday in academia. Not really AFK, but doing other stuff. Was nice to talk to you :-) 11:37
daotoad You too!
masak . 15:10
yoleaux 14 Dec 2018 19:40Z <jmerelo> masak: you ready to schedule your next advent calendar article during tomorrow, right? The 16th is yours!
15 Dec 2018 19:24Z <jmerelo> masak: we just panic a bit if we don't see the article scheduled the previous day...
07:58Z <jmerelo> masak: well?
08:04Z <jmerelo> masak: there needs to be an article ready every day. Tomorrow's article is ready, so I'll put that one today and leave yours for tomorrow. Is that OK?
08:06Z <jmerelo> masak: so please have it ready tonight or tell us if you if you are not going to be able.
masak :/
sorry about that. I had convinced myself my article was due tomorrow.
.tell jmerelo I can have an article ready to go for tomorrow. sometime later tonight. 15:11
yoleaux masak: I'll pass your message to jmerelo.
AlexDaniel Anybody using OpenBSD? 16:11
jmerelo releasable6: status 16:18
yoleaux 15:11Z <masak> jmerelo: I can have an article ready to go for tomorrow. sometime later tonight.
releasable6 jmerelo, Next release will happen when it's ready. 1 blocker. 60 out of 74 commits logged
jmerelo, Details: gist.github.com/1c8571eb9bbb98d205...a904205d3a
jmerelo .tell masak. Great :-) 16:19
yoleaux jmerelo: What kind of a name is "masak."?!
El_Che AlexDaniel: I am rather busy, but if you need me, ping me 16:19
jmerelo .tell masak Great :-)
yoleaux jmerelo: I'll pass your message to masak.
AlexDaniel El_Che: I'm trying to make sense of R#2520 16:40
also there was a merged PR and I can't understand if it resolved the issue completely or what 16:41
that's the last blocker
El_Che ah, the openbsd one 16:42
related to the openbsd decision to disable hyperthreading?
El_Che I took some time off from work to work on my thesis, but I took my laptops home. I have now Linux, Windows and MacOS laptops at my desk at home. Not good :) 16:53
jmerelo El_Che: there are some perl doc issues that require Windows... 16:57
And good luck with your thesis.
Also, this is open: blogs.perl.org/users/brian_d_foy/20...rds-1.html
El_Che jmerelo: ok, you have bugged me enough with your doc issues, so in turn I just nominated you. That will teach you! (next to zoffix and AlexDaniel) 17:10
El_Che off cooking diner for the family
AlexDaniel argh! Wanted to edit my comment a bit but there's no way to edit, so I left another one… only to realize that someone already wrote another comment before me 17:11
El_Che: I think both of us are missing the point a bit 17:13
AlexDaniel El_Che: they seem to have 3 specific categories 17:15
El_Che: user groups, advocacy, community
AlexDaniel El_Che: so for example nominating jmerelo for organizing real life hackathons and helping with squashathons makes sense, but helping with the documentation doesn't 17:18
or at least that's my understanding 17:19
jmerelo AlexDaniel: no it does not.
AlexDaniel jmerelo: ok, what am I missing? 17:20
jmerelo AlexDaniel: BrianDFoy just emailed me back telling me that these were _camel_ awards, not Camelia awards. That leaves any Perl 6 person in the cold.
jmerelo Sorry, brian d foy. 17:20
jmerelo El_Che: Well, you have been organizing the Perl Devroom for a number of years, so _you_ are eligible... 17:21
jmerelo wonders why there's now that distinction between Perl 5 and Perl 6. But their prize, their rules, I guess... 17:23
AlexDaniel feels like leaving a smirk comment 17:24
jmerelo thinks we should start the Rainbow Camelia awards, just for kicks. But let's wait until the Advent Calendar is over...
AlexDaniel no I think we should go ahead with Raku 17:25
jmerelo Rainbow Raku awards?
AlexDaniel: with respect to categories, I don't think there's such a clear distinction between them... And this is just a nomination, so I guess whoever is tallying those things will eventually slot them into the right category 17:27
brian d foy has answered now that we should arrange our own prizes: blogs.perl.org/users/brian_d_foy/20...nt-1805240 17:28
AlexDaniel “The White Camel Awards recognize the many significant contributions made by the unsung heros of the Perl community. The efforts of these volunteers collectively make the Perl language and the Perl community better for all of us.”
so apparently Perl 6 is not Perl? 17:29
jmerelo AlexDaniel: yeah, right. I don't know about starting another turf war. I'd rather talk to the TPF guys and start our own awards. Should I email Mr. Nozaki? Ovid?
Let's say both. 17:30
AlexDaniel 🤷 17:31
jmerelo OK, emails fired. 17:35
jmerelo feels a storm is brewing... 17:36
El_Che oh, we do have different awards now? 18:13
masak yoleaux: Great? 18:24
yoleaux 16:19Z <jmerelo> masak: Great :-)
masak great.
masak writes 18:24
moritz \o 18:25
timotimo advent writing?
timotimo i thought you already had your article out 18:25
i even seem to recall having read it!
masak you must be thinking of... *puts on sunglasses* 18:26
MY FIRST ONE
timotimo YYYEEEEEEEEEEEEEEEEEEAAAAAAAAAAHhhhhhhhhhhhhhhhhhh 18:27
masak rocks out to inaudible music 18:29
El_Che masak: like when you rock on at work with your noise cancelling head phones :) 18:30
masak right. except without the headphones :) 18:32
anecdata: Version B in strangelyconsistent.org/blog/send-m...y-in-perl6 took 22 seconds back in 2015. today on my laptop, it takes 8.1 seconds. 18:47
now, I *do* have a new laptop, but due to Moore's Law shortage, it's not *that* much faster. and I'm not using more cores.
m: say 22 / 8.1
camelia 2.716049
moritz m: say e 18:58
camelia 2.718281828459045
moritz m: say (2.716049 - e) / e
camelia -0.0008214116857452245
moritz that is remarkably close 19:00
tobs heh, I expect great things from the next three years 19:01
masak surely you mean, the next 2.7182 years 19:04
good news! I managed to re-write my 2015 brute-force solution into *another* brute-force solution, more appropriate for 2018's needs and perspectives
it runs in 1.266 s
(and it's slightly shorter) 19:06
strike that. it runs in abour 1.1 s. I had forgotten to put in some `int`s 19:07
here's the faster version: gist.github.com/masak/3c8e12730c72...1ab021ea18 19:09
lizmat masak: you can for quite easily now: gist.github.com/lizmat/87ac6d356b4...815b8bd8e1 19:29
[Coke] m: sink infix:<+> infix:<*> infix:«<=» 20:00
camelia WARNINGS for <tmp>:
Useless use of "infix:<+> infix:<*> infix:«<=»" in expression "infix:<+> infix:<*> infix:«<=»" in sink context (line 1)
[Coke] sink warning aside, why is that valid?
oh. because there's 3 of them, and the outer are terms? 20:01
m: sink infix:<+> infix:<*>
camelia WARNINGS for <tmp>:
Useless use of "infix:<+> infix:<*>" in expression "infix:<+> infix:<*>" in sink context (line 1)
[Coke] nope.
Geth doc: abb6bb6082 | Coke++ | 38 files
Don't skip if not needed.

Drop back to :solo testing when needed, remove the skip entirely when possible. We're not executing any of this code, only compiling it.
20:14
timotimo [Coke]: it's sub calls 20:20
just like
m: say sin cos 5
camelia 0.2798733507685274
timotimo m: say sin cos
camelia 5===SORRY!5===
Argument to "cos" seems to be malformed
at <tmp>:1
------> 3say sin cos7⏏5<EOL>
Other potential difficulties:
Unsupported use of bare "cos"; in Perl 6 please use .cos if you meant to call it as a method on $_, or…
timotimo ^- syntactically correct, except for ... you know, that.
masak lizmat: wow. that version is even faster o.O 20:25
masak readability, performance. pick two :P 20:25
masak this is exactly the reason I shared my gist in the first place. lizmat++ 20:26
timotimo :+1: :)
how much faster?
masak ~0.5 seconds 20:27
timotimo i wonder if i see something interesting in the spesh log :) 20:32
El_Che masak: I pick cheap :) 20:38
masak ..."that's us", as TimToady said once 20:43
El_Che hehe
timotimo thank you for picking me! i will not disappoint you out of malice! 20:46
lizmat wonder why we haven't got a .fmt on Blob ?
timotimo not entirely sure 20:47
lizmat since we have one on List
timotimo i've gotta go afk for just a moment, but can you try what happens when you have just one "next if" and a bunch of || statements instead of many "next if" in a row? 20:49
lizmat seems to make a little difference: from .323 to .311 for me 20:54
timotimo mhm 21:04
every one of those ifs comes with a sink
well, maybe not every one
TreyHarris Was looking at an issue about a link in Mu.pod6 linking to index-entry-%25%24%25%2AOUT -- it appears that in most (can't say with certainty yet "all"--it certainly seems to be all ...index-entry links) in pod6 files where relative links have been url-encoded, the generated HTML is re-encoding. If the solution is "don't urlencode links", that's fantastic, I'm almost ready with a patch for that because I was 21:05
playing with it here locally. But don't want to make a big global search-and-replace change like that without checking first. I mean, "L<$*OUT>" instead of "L<%24%2AOUT>" is great for readability if it works now, but I don't know if it's INTENDED to work now or if that itself is a bug.
It looks like that search-and-replace would close at least four open issues on perl6/doc GitHub 21:11
lizmat timotimo: a --profile gives 13% to List.sink in the version with all the next's 21:12
TreyHarris But htmlify is a bit of a beast and I can read it well enough to see it is doing some special handling of urlencoding and of "index-entry" links, but I don't totally understand what it's doing
lizmat in the version with the || this has dropped to 383 procent 21:13
so it looks like each next is causing a call to List.sink ??
TreyHarris Somebody ping my name if they have something to suggest; in the meantime I'll package it as a pull request rather than patching directly. That'll take me awhile, I'm sure, since I need to figure out if string replacement is sufficient or if I need to actually parse POD to get this tractable--looks like '%25' (urlencoded '%') appears >300 times in the HTML when it should only actually appear a couple dozen 21:18
times at most, so I'll need a few edit-build cycles to get this done.
TreyHarris 7. I believe '%25' should actually appear in the final HTML exactly 7 times. Err... 7, plus or minus one, anyway. 21:34
timotimo lizmat: yeah, that's what it looked like from the spesh log; though be aware that List.sink is extremely small and oftentimes gets inlined, so the time measured there is probably 95% measuring overhead 21:36
lizmat timotimo: yeah 21:38
TreyHarris Ugh, the doc tests _are_ quite flappy. I need to revert back to master of a few days ago and just be sure I'm not regressing. 22:01
Kaiepi my grant proposal is now in review! news.perlfoundation.org/2018/12/gra...rl-6-.html 22:09
yoleaux 02:23Z <AlexDaniel> Kaiepi: so what's the situation with R#2520 ? Was it ok before and now it's broken? If so, can you bisect it maybe?
synopsebot R#2520 [open]: github.com/rakudo/rakudo/issues/2520 [⚠ blocker ⚠] Trace traps and double frees when building Rakudo
Geth doc: 3b53e060fc | (Trey Harris)++ | doc/Type/Mu.pod6
Fix link to $*OUT in Mu

Fixes #2511.
22:11
synopsebot Link: doc.perl6.org/type/Mu
AlexDaniel Kaiepi: I want this: github.com/MoarVM/MoarVM/pull/659 :) 22:16
Kaiepi if skarsnik won't then i will ;) 22:17
AlexDaniel please
:)
this was open for like more than a year
I guess I was supposed to review and merge, but then it slipped through the cracks… 22:18
Kaiepi: I left a comment, I hope it is approved 22:20
Kaiepi thanks :) 22:21
jmaslak I also left comment, it's definitely important work.
AlexDaniel Kaiepi: here's some feedback though
Kaiepi: I don't know how revolutionary your changes will be, but I'm pretty sure that v6.d code must keep working no matter what you do…
Kaiepi: I know that it doesn't sound like your life will be easy, but…
rakudo with 6.d is going to end up in debian stable, I think… and being able to install perl6 from the distro repos is extremely important I think 22:22
soooo yeah, we should be even more careful, although we already are 22:23
AlexDaniel Kaiepi: so when you say “Some of these features are breaking changes and will need to wait until 6.e.” what do you mean exactly? 22:24
also, what's the point of having IO::Socket::INET ? Does it provide something that IO::Socket::Async doesn't? 22:25
Kaiepi at the moment, creating raw sockets 22:26
but they can't be used without messing with nativecall
AlexDaniel soooo maybe we should consider deprecating IO::Socket::INET altogether in 6.e?
Kaiepi if it's possible to make raw sockets asynchronously, maybe 22:27
AlexDaniel samcv: have you seen R#2268 ? Seems like “your” ticket :) 22:32
synopsebot R#2268 [open]: github.com/rakudo/rakudo/issues/2268 [CONSENSUS] Optimization idea: `:i` adverb for `.contains`. Only `fc` chars per boyer-moore
lizmat AlexDaniel: the nqp ops for that are already available, no? so it's really a design question ? 22:33
AlexDaniel lizmat: sorta, the point Zoffix makes is that if we optimize /:i foo/ enough then we wouldn't need to add :i adverb everywhere 22:36
and other simple anchored regexes
lizmat true
every time I looked at optimizing stuff in there, I got stumped by the need to create Match objects 22:37
perhaps I should look at that more in detail... :-)
AlexDaniel what if instead we add an adverb to not create a Match object… 22:38
like inside the regex maybe?
masak advent post scheduled 22:39
good night, #perl6
lizmat night masak
AlexDaniel like r:match-only/ foo / 22:40
or r:no-match-object/ foo /, whatever
there were many times when I wanted to match a regex but not reset $/ 22:41
ryn1x I just found a simplified library of libtiff called TinyTiff and am trying to write bindings for it with NativeCall. I have no experience with this and suck at c... can anyone help me get started? I have some basic structure laid out already and am just trying to call the first c function: github.com/ryn1x/Graphics-TinyTIFF 23:00
I think my first issue is that I don't know how to write a cmake file to properly install the library. I made this from an example: github.com/ryn1x/TinyTIFF/blob/47f...eLists.txt 23:01
and it does install a file called libtinytiff.so in my /usr/lib, but I don't think it is right because when I run my test from perl I get: "Cannot locate native library 'libtinytiff.so': libtinytiff.so: cannot open shared object file: No such file or directory" 23:02
El_Che ryn1x: try native("tinytiff") 23:04
(in the case you're hardcoding the lib prefix and the .so suffix 23:05
)
ryn1x oops.. I didn't have LD_LIBRARY_PATH set. I now get: Cannot locate symbol 'TinyTIFFReader_open' in native library 'libtinytiff.so' 23:08
ryn1x so it sees the shared library I made now, but I am very skeptical that I made it right... I have no idea what I am doing with cmake... 23:08
timotimo you can inspect the library with commands like "nm" 23:33
ryn1x timotimo: thanks! I can see there is a "0000000000002d10 T _Z19TinyTIFFReader_openPKc" in there... looks like the function I want... maybe I'll compare that to what it looks like if I make the .so with gcc manually and not cmake.. 23:37
timotimo hum. is it C or is it C++? 23:41
ryn1x c++
timotimo in that case, you'll probably need to match the name mangling
i know not why/how non-methods are name-mangled in cpp 23:42
ryn1x timotimo: oh wow... I used is symbol("_Z19TinyTIFFReader_openPKc") and it worked! 23:45
can I rely on that mangled name being the same on somone else's system though?
timotimo no 23:48
it's different per compiler afaik 23:49
NativeCall can do it for methods reliably by guessing which of the known formats it could be
but i don't know quite how to tell it to do that without a class involved
jmaslak isocpp.org/wiki/faq/mixing-c-and-cpp#call-cpp 23:50
ryn1x c++ class or perl6 class?
jmaslak The extern "C" in that FAQ entry shows how you can define something in C++ that will follow C calling/naming conventions in the library. I'm sure there are all sorts of limitations with it, but for a straight function call it may be sufficient. 23:52
ryn1x jmaslak: Thanks! I will look over that. 23:53