00:50
sena_kun joined
00:52
Altai-man_ left
01:12
Kaeipi left,
Kaeipi joined
01:19
Altai-man_ joined
01:21
sena_kun left
02:49
Kaiepi joined,
Kaeipi left
03:04
Kaiepi left
03:11
Kaiepi joined
03:20
sena_kun joined
03:21
Altai-man_ left
05:19
Altai-man_ joined
05:22
sena_kun left
06:09
j3nnn1 left
06:25
Kaiepi left
06:26
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: 6f190e52d4 | (Christian Bartolomäus)++ | 2 files [JVM] Fix some error messages |
06:34 | |||||||||||||||||||||||||||||||||||||
07:20
sena_kun joined
07:21
Altai-man_ left
09:19
Altai-man_ joined
09:21
sena_kun left
09:35
lichtkind joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Files=1306, Tests=111242, 214 wallclock secs (28.76 usr 8.36 sys + 3005.82 cusr 273.84 csys = 3316.78 CPU) | 09:40 | |||||||||||||||||||||||||||||||||||||
10:11
[Tux] left
10:18
lichtkind_ joined
10:20
lichtkind left
11:10
[Tux] joined
11:16
MasterDuke left
11:20
sena_kun joined
11:21
Altai-man_ left
12:04
Voldenet left
12:10
Voldenet joined,
Voldenet left,
Voldenet joined
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | greppable6: qlist | 12:10 | |||||||||||||||||||||||||||||||||||||
greppable6 | [Coke], Found nothing! | ||||||||||||||||||||||||||||||||||||||
Geth | ¦ nqp: coke self-assigned Remove qlist opcode github.com/Raku/nqp/issues/620 | 12:12 | |||||||||||||||||||||||||||||||||||||
12:15
patrickb joined
12:35
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||
tbrowder | just saw an annnouncement about the upcoming gcc 10 will have a built-in static analyzer which caught an exploitable error in openssl | 12:44 | |||||||||||||||||||||||||||||||||||||
Geth | nqp/rm-qlist: 425e92f7c2 | Coke++ | 2 files Remove qlist opcode |
12:45 | |||||||||||||||||||||||||||||||||||||
nqp: coke++ created pull request #621: Remove qlist opcode |
12:46 | ||||||||||||||||||||||||||||||||||||||
[Coke] | jnthn, timotimo: made a PR for nqp to remove qlist | ||||||||||||||||||||||||||||||||||||||
Is there a data structure I can poke at from inside a running nqp to find out what opcodes are available? | 12:48 | ||||||||||||||||||||||||||||||||||||||
[Tux] |
|
12:55 | |||||||||||||||||||||||||||||||||||||
[Coke] | timotimo, jnthn: do you see any other deprecated opcodes in gist.github.com/coke/325a98074f317...7266df7da4 ? | 12:59 | |||||||||||||||||||||||||||||||||||||
(sorry, the list is 270 long.) | 13:00 | ||||||||||||||||||||||||||||||||||||||
anyone have an opinion on github.com/Raku/nqp/issues/613? Guessing it's mostly "not worth it" | 13:02 | ||||||||||||||||||||||||||||||||||||||
It's an easy enough set of PRs for nqp/rakudo if we decide to change them. | |||||||||||||||||||||||||||||||||||||||
nqp: class EEK {method Numeric() {return 3}}; my $a:= | 13:05 | ||||||||||||||||||||||||||||||||||||||
camelia | Malformed binding at line 2, near "" at gen/moar/stage2/NQPHLL.nqp:1029 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic) from <unknown>:1 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:initializer) from gen/moar/stage2/NQP.… |
||||||||||||||||||||||||||||||||||||||
[Coke] | nqp: class EEK {method Numeric() {return 3}}; my $a:= EEK.new(); say(+$a); | ||||||||||||||||||||||||||||||||||||||
camelia | Cannot intify this object of type P6opaque (EEK) at <tmp>:1 (<ephemeral file>:<mainline>) from gen/moar/stage2/NQPHLL.nqp:1916 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:2121 (/home/camelia/raku… |
||||||||||||||||||||||||||||||||||||||
MasterDuke | nqp: class EEK {method Numeric() {return 3}}; my $a:= EEK.new(); say(nqp::numify($a)); | 13:10 | |||||||||||||||||||||||||||||||||||||
camelia | Cannot numify this object of type P6opaque (EEK) at <tmp>:1 (<ephemeral file>:<mainline>) from gen/moar/stage2/NQPHLL.nqp:1916 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:2121 (/home/camelia/raku… |
||||||||||||||||||||||||||||||||||||||
13:19
Altai-man_ joined
13:22
sena_kun left
13:23
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: 425e92f7c2 | Coke++ | 2 files Remove qlist opcode |
13:35 | |||||||||||||||||||||||||||||||||||||
nqp: 933d7bd673 | (Jonathan Worthington)++ (committed using GitHub Web editor) | 2 files Merge pull request #621 from Raku/rm-qlist Remove qlist opcode |
|||||||||||||||||||||||||||||||||||||||
[Coke] | jnthn++ | ||||||||||||||||||||||||||||||||||||||
down to 269 undocumented opcodes. :) | |||||||||||||||||||||||||||||||||||||||
nine | [Coke]: great work! | ||||||||||||||||||||||||||||||||||||||
[Coke] | nine: just nibbling around the edges at the easy stuff, but thank you. :) | 13:36 | |||||||||||||||||||||||||||||||||||||
nine | [Coke]: doesn't matter if stuff is easy. If no one's doing it, it's still remains an open task | 13:37 | |||||||||||||||||||||||||||||||||||||
timotimo | i believe we can start off just making desugars in the qast compiler for underscore-less forms | ||||||||||||||||||||||||||||||||||||||
MasterDuke | [Coke]: as someone who permanently has github.com/Raku/nqp/blob/master/do...s.markdown open in a browser tab, it is appreciated | ||||||||||||||||||||||||||||||||||||||
timotimo | and whenever we make the next rebootstrap, switch them over properly | ||||||||||||||||||||||||||||||||||||||
nine | Frankly, I'd rather not rename existing nqp ops. What user would be helped by this? I know NQP comes with no guarantee and user's have to expect stuff to break. Still I think we shouldn't go out of our way to break it unless we have a good reason. | 13:39 | |||||||||||||||||||||||||||||||||||||
13:39
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
nine | nqp::force_gc is the only way to even have a chance for writing tests for destructors. I'd be surprised if I was the only one to use it | 13:40 | |||||||||||||||||||||||||||||||||||||
MasterDuke | greppable6: nqp::force_gc | 13:41 | |||||||||||||||||||||||||||||||||||||
greppable6 | MasterDuke, 4 lines, 2 modules: gist.github.com/16710d1c80fca345e1...cbbb46ec35 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | well, you're not *quite* the only one.... | ||||||||||||||||||||||||||||||||||||||
timotimo | Telemetry could offer force-gc functionality so you don't have to nqp it | 13:49 | |||||||||||||||||||||||||||||||||||||
jnthn | Or as a method on $*VM even | 13:56 | |||||||||||||||||||||||||||||||||||||
lizmat | jnthn: or VM ? | 14:02 | |||||||||||||||||||||||||||||||||||||
jnthn | Well | 14:03 | |||||||||||||||||||||||||||||||||||||
m: say $*VM.WHAT | |||||||||||||||||||||||||||||||||||||||
camelia | (VM) | ||||||||||||||||||||||||||||||||||||||
jnthn | So implicitly, yes :) | ||||||||||||||||||||||||||||||||||||||
timotimo | should it throw a method not found on other platforms or just no-op? | 14:05 | |||||||||||||||||||||||||||||||||||||
jnthn | No-op or warning is maybe kinder | 14:08 | |||||||||||||||||||||||||||||||||||||
Though I know we can impl it for JVM | 14:09 | ||||||||||||||||||||||||||||||||||||||
14:10
cognomin_ joined
14:11
cognominal left
|
|||||||||||||||||||||||||||||||||||||||
nine | $*VM.request-garbage-collection? | 14:12 | |||||||||||||||||||||||||||||||||||||
jnthn | request is probably a good level of expectation management, yes | ||||||||||||||||||||||||||||||||||||||
On the JVM it seems to mean "well, it'd be nice if you did a GC now, if you feel like it" | 14:13 | ||||||||||||||||||||||||||||||||||||||
And I guess the answer under a concurrent scheme might be "well, I am all the time anyway, so..." :) | |||||||||||||||||||||||||||||||||||||||
lizmat | commit coming up | 14:20 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: e223be5669 | (Elizabeth Mattijsen)++ | src/core.c/VM.pm6 Implement VM.request-garbage-collection For the MoarVM backend only for now |
14:29 | |||||||||||||||||||||||||||||||||||||
patrickb | I just tried building rakudo with the jvm backend on Windows. After some buildsystem fixups the build dies at the very end in the "Preparing installation" phase with an StringIndexOutOfBoundsException: fpaste.scsys.co.uk/588696 | 14:40 | |||||||||||||||||||||||||||||||||||||
The line pointed at is: "nqp::bindhllsym('Raku', '$!ARGITER', 0);", which looks rather innocent. | 14:41 | ||||||||||||||||||||||||||||||||||||||
Any ideas what might be wrong? | |||||||||||||||||||||||||||||||||||||||
ping bartolin_ | 14:42 | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: patrickbkr++ created pull request #622: Fix building JVM on Windows |
14:45 | |||||||||||||||||||||||||||||||||||||
14:49
NicoleMejia joined
14:51
NicoleMejia left
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | based on nine's comment, I'll reject the opcode rename ticket and instead add a note to the ops docs. | 15:12 | |||||||||||||||||||||||||||||||||||||
Geth | nqp: 180a93652b | Coke++ | docs/ops.markdown Note concern raised in #613 |
15:18 | |||||||||||||||||||||||||||||||||||||
linkable6 | NQP#613 [closed]: github.com/Raku/nqp/issues/613 force_gc opcode name inconsistent | ||||||||||||||||||||||||||||||||||||||
15:20
sena_kun joined
15:21
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | patrickb: if you replace "Raku" with "perl6" , does that help ? | 15:28 | |||||||||||||||||||||||||||||||||||||
patrickb | lizmat: small letter "p"? | 15:29 | |||||||||||||||||||||||||||||||||||||
lizmat | yeah, I think so... | ||||||||||||||||||||||||||||||||||||||
b787095358bcbac4c6326 | 15:30 | ||||||||||||||||||||||||||||||||||||||
linkable6 | (2020-01-24) github.com/rakudo/rakudo/commit/b787095358 Change the internal HLL language to "Raku" | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: 7cdeb0550c | (Patrick Böker)++ | 3 files Fix building JVM on Windows |
15:39 | |||||||||||||||||||||||||||||||||||||
nqp: eddead51ae | (Patrick Böker)++ (committed using GitHub Web editor) | 3 files Merge pull request #622 from patrickbkr/jvm-win-fix Fix building JVM on Windows |
|||||||||||||||||||||||||||||||||||||||
16:17
Kaiepi left
16:18
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
patrickb | lizmat: Changing "Raku" to "perl6" made no difference. | 16:36 | |||||||||||||||||||||||||||||||||||||
16:36
patrickb left
16:53
cognominal joined
16:57
cognomin_ left
17:19
Altai-man_ joined
17:21
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
gfldex | raku: my $s = Set(1, 2, 3, 4); for $s { .say }; | 17:26 | |||||||||||||||||||||||||||||||||||||
evalable6 | Set(1 2 3 4) | ||||||||||||||||||||||||||||||||||||||
gfldex | is that intentional? | ||||||||||||||||||||||||||||||||||||||
17:34
MasterDuke left
17:35
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | gfldex: I think so, yeah | 17:40 | |||||||||||||||||||||||||||||||||||||
c: all my $s = Set(1, 2, 3, 4); for $s { .say }; | |||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/87a1bfb6562d1ddb49...8d0d76235d | 17:41 | |||||||||||||||||||||||||||||||||||||
nine | it is | ||||||||||||||||||||||||||||||||||||||
It's because you put the set into a Scalar container. | 18:19 | ||||||||||||||||||||||||||||||||||||||
m: my $s := Set(1, 2, 3, 4); for $s { .say }; | |||||||||||||||||||||||||||||||||||||||
camelia | 4 => True 2 => True 3 => True 1 => True |
||||||||||||||||||||||||||||||||||||||
lizmat | patrickb: then I have no idea | 18:21 | |||||||||||||||||||||||||||||||||||||
18:34
cognomin_ joined
18:38
cognominal left
18:52
lichtkind_ left
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: patrickbkr++ created pull request #623: Enable running precompiled scripts |
19:01 | |||||||||||||||||||||||||||||||||||||
patrickb | I'd like to have an opinion on the above PR. It's a really small change (measured in LOC). Any reason this shouldn't be merged? Should pamplemousse be contacted first or is it OK to just go forward? | 19:05 | |||||||||||||||||||||||||||||||||||||
19:07
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||
patrickb | nine, MasterDuke: colabti.org/irclogger/irclogger_lo...04-24#l172 | 19:07 | |||||||||||||||||||||||||||||||||||||
nine | Is that really all that's missing? | 19:13 | |||||||||||||||||||||||||||||||||||||
patrickb | nine: I've skimmed though the respective blog posts by pamplemousse and did some small tests that look promising. | 19:17 | |||||||||||||||||||||||||||||||||||||
19:20
sena_kun joined
19:22
Altai-man_ left
19:24
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: feb036719e | (Patrick Böker)++ | tools/create-release-announcement.raku Fix link to non-existent rakudo.org/how-to-help page That page has been missing for a very long time. So just pick a better page to link to. |
19:36 | |||||||||||||||||||||||||||||||||||||
patrickb | .tell rba Can you add a redirect to rakudo.org forwarding 'rakudo.org/how-to-help' to rakudo.org/community ? | 19:45 | |||||||||||||||||||||||||||||||||||||
tellable6 | patrickb, I'll pass your message to rba | ||||||||||||||||||||||||||||||||||||||
rba | patrickb: You mean in the nginx config? | 19:46 | |||||||||||||||||||||||||||||||||||||
patrickb | rba: Yes. | ||||||||||||||||||||||||||||||||||||||
rba | patrickb: Sure. Give me a sec. | ||||||||||||||||||||||||||||||||||||||
patrickb | rba: The nginx.config file in the rakudo.org repo is not actually used, correct? | 19:49 | |||||||||||||||||||||||||||||||||||||
Should we just remove that file? | |||||||||||||||||||||||||||||||||||||||
If not, is github.com/perl6/rakudo.org/pull/39/files a faithful representation of the change you are doing on the server? | 19:54 | ||||||||||||||||||||||||||||||||||||||
19:58
finsternis joined
19:59
maggotbrain left
20:01
maggotbrain joined
20:05
cognominal joined
20:09
cognomin_ left
|
|||||||||||||||||||||||||||||||||||||||
rba | patrickb: I’ve added your change to the nginx config manually, as there is no automatic update from the repo. Should work now. | 20:19 | |||||||||||||||||||||||||||||||||||||
patrickb | rba: Thanks! | 20:26 | |||||||||||||||||||||||||||||||||||||
rba: What's your opinion about the nginx.config file in the rakudo.org repo? Try to keep synced to server or just remove? | 20:27 | ||||||||||||||||||||||||||||||||||||||
rba | please let it there. will merge your pr later. | 20:28 | |||||||||||||||||||||||||||||||||||||
Idea is to dockerize rakudo.org too and then nginx might be in play again... | |||||||||||||||||||||||||||||||||||||||
patrickb | ok | 20:32 | |||||||||||||||||||||||||||||||||||||
nine: You were right. The --bytecode PR does not work with modules. | 20:36 | ||||||||||||||||||||||||||||||||||||||
21:18
patrickb left
21:19
Altai-man_ joined
21:22
sena_kun left
21:37
Xliff joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | \o | 21:37 | |||||||||||||||||||||||||||||||||||||
If I need to write a native call sub to take a STRUCT (not a struct pointer) how would I do that? | 21:38 | ||||||||||||||||||||||||||||||||||||||
Or can I just use the struct name and nativecall will figure it out on its own? | |||||||||||||||||||||||||||||||||||||||
nine | I don't think you can | ||||||||||||||||||||||||||||||||||||||
Xliff | :( | ||||||||||||||||||||||||||||||||||||||
Why is that? | |||||||||||||||||||||||||||||||||||||||
That's basic C and I'm faced with such routine right now. | |||||||||||||||||||||||||||||||||||||||
It's funny. The more I use NativeCall, the more I find that it really isn't as ready for production as the docs would lead you to believe. | 21:39 | ||||||||||||||||||||||||||||||||||||||
nine: Might this be an FFI limitation? | 21:41 | ||||||||||||||||||||||||||||||||||||||
nine | Well it's producing just fine for us | ||||||||||||||||||||||||||||||||||||||
Xliff | jnthn: ^^ | ||||||||||||||||||||||||||||||||||||||
nine: That is not a valid answer. | 21:42 | ||||||||||||||||||||||||||||||||||||||
NativeCall is missing a basic portion of C functionality. It may be working for you, but it is not working for me. | |||||||||||||||||||||||||||||||||||||||
When I'm trying to bring new users to the language, such a response is not acceptable. | |||||||||||||||||||||||||||||||||||||||
I will see if this is noted in MoarVM and make a bug if it is not. | 21:43 | ||||||||||||||||||||||||||||||||||||||
nine | Well, you're asking on a channel that's about _developing_ Raku questions about using Raku and go on to call stuff that's used in production quite successfully "not as ready for production as the docs would lead you to believe". | 21:44 | |||||||||||||||||||||||||||||||||||||
Xliff | nine: Is not the passing of structs a basic function of C? Is not NativeCall billed as a way to allow Raku code to interoperate with C? If so then how am I mistaken in my assertion? | 21:46 | |||||||||||||||||||||||||||||||||||||
nine | Since you feel so strongly about this functionality, I kindly ask you to participate in the solution. A great first step would be to make a suggestion on how we could differentiate the pass by pointer and pass by value situations | 21:47 | |||||||||||||||||||||||||||||||||||||
Xliff | The fact that is working for certain situations in production is to its credit, but it does not support a basic function of C. | ||||||||||||||||||||||||||||||||||||||
That, in my opionion is a serious oversite that is not mentioned in the docs., | |||||||||||||||||||||||||||||||||||||||
nine | As to this being a basic function of C, I've somehow managed to get by for 20 years of coding in C on and off without noticing that this was actually possible. I've yet to come across a code base where this is used and I really only know of it because of NativeCall questions | 21:48 | |||||||||||||||||||||||||||||||||||||
Xliff | nine: I am not in the business of designing solutions for you. If I have one, I will pass it on. But for you to suggest otherwise is pure laziness. For the record, I have already bugged this for MoarVM. And as a user that is the extent of my responsibility. The rest is up for you as a develoment community to either support or not. | ||||||||||||||||||||||||||||||||||||||
nine | MoarVM was the first place where I've seen structs returned from a function and where I've learned that the calling convention is very platform dependent. | 21:49 | |||||||||||||||||||||||||||||||||||||
Xliff | If the answer is not, then the users of your work deserve an explanation. | ||||||||||||||||||||||||||||||||||||||
nine: Again, citing your experience is not an answer! | |||||||||||||||||||||||||||||||||||||||
It's in the C spec! | |||||||||||||||||||||||||||||||||||||||
nine | Solutions for me? But I don't need that functionality. So how is this a solution for me? | ||||||||||||||||||||||||||||||||||||||
Xliff | Your experience on this particular issue is irrelevant! | 21:50 | |||||||||||||||||||||||||||||||||||||
nine: You. Are. A. Core. Developer. | |||||||||||||||||||||||||||||||||||||||
I shouldn't need to explain that any further. | |||||||||||||||||||||||||||||||||||||||
21:50
scovit joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | So again. I have left a bug on MoarVM. Based on that response, I will also add a bug on nqp and rakudo. | 21:51 | |||||||||||||||||||||||||||||||||||||
nine | Apparently I am. I am so exactly because I want to use Raku and there are issues in the way and fields where I want it to do better. | ||||||||||||||||||||||||||||||||||||||
scovit | Xliff, I once hacked up a solution for the same issue github.com/rakudo/rakudo/pull/2648 , you might want to check that out | ||||||||||||||||||||||||||||||||||||||
Xliff | scovit: Oh! Thank you. I will look at that now. | ||||||||||||||||||||||||||||||||||||||
scovit | hold on | ||||||||||||||||||||||||||||||||||||||
it implied modify MoarVM quite a bit | 21:52 | ||||||||||||||||||||||||||||||||||||||
nine | scovit: oh, `is copy`, that's clever | ||||||||||||||||||||||||||||||||||||||
scovit | nine : in MoarVM only the FFI backend could get this functionality | ||||||||||||||||||||||||||||||||||||||
nine | Xliff: me being a core developer means just that I'm a Raku user who acknowledges that he doesn't deserve anything and has no rights other than to work on the things he needs to be worked on | 21:53 | |||||||||||||||||||||||||||||||||||||
scovit | also I was not an expert of MoarVM I might have introduced bugs | 21:54 | |||||||||||||||||||||||||||||||||||||
just here to say that it is possible to get this done | |||||||||||||||||||||||||||||||||||||||
Xliff | nine: As a "Core Developer" you have a responsibility to do better by your user than throwing their question away based on "what works for you". | ||||||||||||||||||||||||||||||||||||||
If you don't know then ask them to submit a bug. Don't start an argument. | |||||||||||||||||||||||||||||||||||||||
scovit: And that's all I need, for now. | 21:55 | ||||||||||||||||||||||||||||||||||||||
Especially as the code I am working on will have test code, shortly. | |||||||||||||||||||||||||||||||||||||||
And I can probably assist in fixing those bugs, if necessary. | |||||||||||||||||||||||||||||||||||||||
scovit: For the record, this is for Raku bindings for GStreamer. | |||||||||||||||||||||||||||||||||||||||
gstreamer.freedesktop.org/ | 21:56 | ||||||||||||||||||||||||||||||||||||||
And I would assume that the Raku community would not mind the work I am putting in of my own volition. | |||||||||||||||||||||||||||||||||||||||
40,000 lines of code and I am looking at trashing at least much of the video functionality because of this missing feature. | |||||||||||||||||||||||||||||||||||||||
scovit | what is the function? there might be a fast hack to work around this issue :) | 21:58 | |||||||||||||||||||||||||||||||||||||
Xliff | Sure thing. One sec. | ||||||||||||||||||||||||||||||||||||||
nine | I have not thrown away any question. | ||||||||||||||||||||||||||||||||||||||
Xliff | gstreamer.freedesktop.org/document...enter_rect | ||||||||||||||||||||||||||||||||||||||
nine: Yes. You. Did. | |||||||||||||||||||||||||||||||||||||||
And if you still think strongly that you did not, we will have to agree to disagree. | 21:59 | ||||||||||||||||||||||||||||||||||||||
nine | You repeating that assertion does not make it true. | ||||||||||||||||||||||||||||||||||||||
I solely commented on your comment about readiness for production or the lack thereof | 22:00 | ||||||||||||||||||||||||||||||||||||||
Xliff | If you aren't supporting something that's in the C spec and this lack of support is not documented, then you are DAMN RIGHT that you have a problem. | 22:01 | |||||||||||||||||||||||||||||||||||||
To say so otherwise is outright lying. | |||||||||||||||||||||||||||||||||||||||
nine | No, you have that problem, not me. You seem to think that just because I give 100s of hours of my time foe rakudo that somehow puts some responsibilities on me. | 22:02 | |||||||||||||||||||||||||||||||||||||
[Coke] | I think folks might want to step away from the keyboard for a bit, take a breath. | ||||||||||||||||||||||||||||||||||||||
nine | It does not. I'm scratching my own itch, nothing moee. | 22:03 | |||||||||||||||||||||||||||||||||||||
I certainly would appreciate a more civil tone. | 22:04 | ||||||||||||||||||||||||||||||||||||||
[Coke] | Xliff: If the issue is bugged, that's great. tests, prs, even better. I understand this issue is important to you. If you're really interested in getting it fixed for production work you're interested in, as the Grants Committe Secretary at TPF, I always suggest contributing to the development fund as a concrete way to contribute. | 22:05 | |||||||||||||||||||||||||||||||||||||
As a member of the Raku community, please go easy on the volunteers that are contributing a great deal of time and effort to corners of the products that not in your particular area of interest. | 22:06 | ||||||||||||||||||||||||||||||||||||||
Xliff | [Coke]: I am trying very hard to be civil. | 22:07 | |||||||||||||||||||||||||||||||||||||
nine | Xliff: I very much appreciate the work you do on all these libraries and am glad to help wherever I can. I am however a volunteer, same as you. | ||||||||||||||||||||||||||||||||||||||
Xliff | nine: Then please don't use the "Works for me!" issue as justification for why a certain feature does not exist. | ||||||||||||||||||||||||||||||||||||||
And why it's not likely to. | |||||||||||||||||||||||||||||||||||||||
nine | I did not. | ||||||||||||||||||||||||||||||||||||||
I said its used in production successfully. | 22:08 | ||||||||||||||||||||||||||||||||||||||
Xliff | Again. We will have to agree to disagree. Because that is certainly the take I got from your comments. | ||||||||||||||||||||||||||||||||||||||
nine | so it kinda seems to be ready for production | ||||||||||||||||||||||||||||||||||||||
[Coke] | Having been using some form of chat since the 80s, I'd like to remind folks that you're always likely to read in emotion that isn't there in someone's sends. | 22:09 | |||||||||||||||||||||||||||||||||||||
Xliff | nine: If you can show me where this issue is documented as not implemented, then I will happily retract. Until then, I will not rest to point out where offhanded comments go a long way to turn off volunteers like yourself who do NOT have the ability to contribute to core. | ||||||||||||||||||||||||||||||||||||||
[Coke] | Xliff: If theres a doc issue, that's not on nine. | ||||||||||||||||||||||||||||||||||||||
Xliff | [Coke]: No. It's on the documentation. | 22:10 | |||||||||||||||||||||||||||||||||||||
Again, I am more turned off by the offhanded comments, than anything else. | |||||||||||||||||||||||||||||||||||||||
[Coke] | Yes. And that also is a volunteer effort. Please, if you have time or inclination, since this is an important subject for you, provide a PR for Raku/docs | ||||||||||||||||||||||||||||||||||||||
Xliff | Again ** 2, for a core developer to say "Works for me" when a feature that is in the C spec is not implemented is a huge turn off. | ||||||||||||||||||||||||||||||||||||||
[Coke]: When I have the time and inclination to search the entire document repository for a mention and correct the issue, I will do so. | 22:11 | ||||||||||||||||||||||||||||||||||||||
[Coke] | Xliff: Great. Thank you for your time and effort, in advance. | ||||||||||||||||||||||||||||||||||||||
docs.raku.org/language/nativecall#...nativecall is probably a good place to start. | 22:12 | ||||||||||||||||||||||||||||||||||||||
I reiterate my suggestion for folks to step away and/or consider that tone on IRC is hard to read. I myself and going to step away for some family time. Cheers. | 22:13 | ||||||||||||||||||||||||||||||||||||||
Xliff | [Coke]: Thank you for your suggestion. As I've said, when I have the time and inclination, I will submit a PR for the docs. | 22:17 | |||||||||||||||||||||||||||||||||||||
scovit: Were you able top look at the function I linked? | 22:22 | ||||||||||||||||||||||||||||||||||||||
scovit | Xliff yes, I'm checking that out | 22:25 | |||||||||||||||||||||||||||||||||||||
Xliff | scovit++: Thanks so much! | 22:28 | |||||||||||||||||||||||||||||||||||||
jnthn | Xliff: There's a difference between "in the C spec" and "in the ABI so you can reliably do it" and "actually provided by the FFI library we use". | 22:42 | |||||||||||||||||||||||||||||||||||||
nine | Xliff: have you considered that you claiming that the docs are overselling NativeCall's production worthiness may be a huge turn off, too? | ||||||||||||||||||||||||||||||||||||||
jnthn | Xliff: I don't know about the second of those (I'm pretty sure returning structs is a little dubious in that sense); last I checked, the dyncall library doesn't support it. | ||||||||||||||||||||||||||||||||||||||
Xliff | jnthn: I'm not looking to return structs. Just pass them by value. | 22:43 | |||||||||||||||||||||||||||||||||||||
nine: In this case, I happen to have a point. | |||||||||||||||||||||||||||||||||||||||
nine: I was trying to back off on the subject. Why are you reopening it? | 22:44 | ||||||||||||||||||||||||||||||||||||||
nine | Yeah, apparently I do everythjng wrong. | 22:46 | |||||||||||||||||||||||||||||||||||||
jnthn | Xliff: I didn't say you were; I was pointing it out as an example of something that you can do in C but is potentially compiler-defined behavior, and so not so easy as one would hope to support. | 22:47 | |||||||||||||||||||||||||||||||||||||
Xliff: Also, given from what I can see, dyncall doesn't look to support this (I'd really love to find otherwise, since it'd be easier to implement then...) | |||||||||||||||||||||||||||||||||||||||
Xliff: Which means that there's a whole lot of NativeCall-alikes for other languages that have precisely the same limitations. | 22:48 | ||||||||||||||||||||||||||||||||||||||
www.dyncall.org/docs/manual/manualse8.html fwiw | 22:50 | ||||||||||||||||||||||||||||||||||||||
Xliff | jnthn: Ack! | 22:52 | |||||||||||||||||||||||||||||||||||||
jnthn: Alright. I will have to scour the docs to make sure this limitation is documented. | |||||||||||||||||||||||||||||||||||||||
Thank you for looking in to it. | |||||||||||||||||||||||||||||||||||||||
In the meantime, what would you suggest as a workaround? | |||||||||||||||||||||||||||||||||||||||
Currently, I have that method NYI'd | |||||||||||||||||||||||||||||||||||||||
scovit | Xliff | 22:53 | |||||||||||||||||||||||||||||||||||||
Xliff | Yes? | ||||||||||||||||||||||||||||||||||||||
scovit | It might be very system/compiler dependent (not sure), can you check this script give sensible output on your workstation? gist.github.com/scovit/5b87d9a17ed...2702528097 | 22:54 | |||||||||||||||||||||||||||||||||||||
Xliff | Sure! One sec. | ||||||||||||||||||||||||||||||||||||||
scovit | something like the following | ||||||||||||||||||||||||||||||||||||||
GstVideoRectangle $src = GstVideoRectangle.new(x => 50, y => 51, w => 53, h => 54)GstVideoRectangle $dst = GstVideoRectangle.new(x => 70, y => 71, w => 73, h => 74)Pointer $result = NativeCall::Types::Pointer.new(140550574225616)Int $scaling = 1src: x: 51 y: 50 w: 54 h: 53dst: x: 71 y: 70 w: 74 h: 73result: 140550574225616scaling: 1 | |||||||||||||||||||||||||||||||||||||||
Xliff | Yup! That works. | 22:55 | |||||||||||||||||||||||||||||||||||||
Oh... HAH! | 22:56 | ||||||||||||||||||||||||||||||||||||||
scovit: Wow! I should have thought of that. | 22:57 | ||||||||||||||||||||||||||||||||||||||
I'll have to abstract that out, but that works. | |||||||||||||||||||||||||||||||||||||||
jnthn | omg... :) | ||||||||||||||||||||||||||||||||||||||
scovit | glad to hear about that :) | 22:58 | |||||||||||||||||||||||||||||||||||||
jnthn | libffi apparently can do this... github.com/libffi/libffi/blob/mast....texi#L406 | ||||||||||||||||||||||||||||||||||||||
scovit: Does it break down once the struct gets beyond a certain size, ooc, or does it end up working 'cus the ABI has structs split over registers and stack? | |||||||||||||||||||||||||||||||||||||||
Xliff | scovit++: Well, it's a strategy to use. I hope I only need to deploy it rarely. | 22:59 | |||||||||||||||||||||||||||||||||||||
scovit | jnthn: I am not sure it will break down, I do not think so | 23:03 | |||||||||||||||||||||||||||||||||||||
normally ABI architect are very smart | |||||||||||||||||||||||||||||||||||||||
I would be more worried about endianness | |||||||||||||||||||||||||||||||||||||||
another thing that is missing from the ffi libraries are support for variadic functions. But normally everything work as you would expect if you were just pushing values on a stack | 23:05 | ||||||||||||||||||||||||||||||||||||||
the use of registers is almost transparent | 23:06 | ||||||||||||||||||||||||||||||||||||||
jnthn | Smart maybe, but there's multiple ABIs even for one hardware architecture. | 23:08 | |||||||||||||||||||||||||||||||||||||
(ABI for Windows and POSIX on x64 differs.) | |||||||||||||||||||||||||||||||||||||||
scovit | Yes, and not for really good reasons | 23:10 | |||||||||||||||||||||||||||||||||||||
Xliff | varadic functions do have a workaround in NativeCall. | 23:11 | |||||||||||||||||||||||||||||||||||||
nine: So to ammend my comments. NativeCall can be production ready if the right conditions are met. | 23:12 | ||||||||||||||||||||||||||||||||||||||
nine: Fortunately, both MoarVM AND Rakudo can be bent to the task. | |||||||||||||||||||||||||||||||||||||||
My task is now to look at where to appropriately place this workaround in the documentation. Hopefully that will be this weekend. | |||||||||||||||||||||||||||||||||||||||
nine | Xliff: so we are on the same page after all | ||||||||||||||||||||||||||||||||||||||
Xliff | nine: with reservations, yes. | ||||||||||||||||||||||||||||||||||||||
Still, the whole struct-by-value limitation needs to be documented. I hope to get to that this weekend. | 23:13 | ||||||||||||||||||||||||||||||||||||||
jnthn | Xliff: Also, I think there's a degree to which libraries that are likely to be bound by different languages via. FFI mechanisms are written so as to avoid things that FFIs often miss handling. | ||||||||||||||||||||||||||||||||||||||
Xliff | And I still need to revisit the whole .precomp thing. | ||||||||||||||||||||||||||||||||||||||
I have too much on my plate, right now. | |||||||||||||||||||||||||||||||||||||||
scovit | jnthn but that is such a real pity | 23:14 | |||||||||||||||||||||||||||||||||||||
Xliff | jnthn: You have a point. It is a lot to take in. | ||||||||||||||||||||||||||||||||||||||
jnthn | Xliff: And ultimately, there's always the escape-hatch of "write a little bit of C that maps the awkward things" | ||||||||||||||||||||||||||||||||||||||
Xliff | I am trying to focus on my work, ATM. | ||||||||||||||||||||||||||||||||||||||
scovit | it hurts eyes to see a Point function passed by a pointer | ||||||||||||||||||||||||||||||||||||||
Xliff | I am 16k out from 400k of Raku in 2 years. | ||||||||||||||||||||||||||||||||||||||
scovit | it hurts the eyes | ||||||||||||||||||||||||||||||||||||||
Xliff | I have Just overt 6 weeks in which to do it. | ||||||||||||||||||||||||||||||||||||||
Actually.,.. that's seven weeks. | 23:16 | ||||||||||||||||||||||||||||||||||||||
jnthn | scovit: It's a fair point. I wasn't so much saying the state of things is ideal, just nothing why running into the limitation isn't as common as it might be otherwise. | 23:17 | |||||||||||||||||||||||||||||||||||||
*noting | |||||||||||||||||||||||||||||||||||||||
Xliff | jnthn: BTW - How are things with LessVM going? | 23:18 | |||||||||||||||||||||||||||||||||||||
I think after June 15th, I will take an extended break from all things p6-GLib and work on something else. Macros would be a nice project to assist on...assuming I can get my nqp in order. | |||||||||||||||||||||||||||||||||||||||
Yes. I have a vested interest in using it. It would fit all things p6-GLib, nicely. | 23:19 | ||||||||||||||||||||||||||||||||||||||
jnthn | "less is moar"... :-) Well, RakuAST is the current focus. There's a rakuast branch in the Raku repository. I push the odd thing there. And probably a lot more soon, 'cus this was the last busy week on a $dayjob project. | ||||||||||||||||||||||||||||||||||||||
23:20
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | There's an "if you want to help" section in github.com/rakudo/rakudo/blob/raku.../README.md | 23:20 | |||||||||||||||||||||||||||||||||||||
Xliff | jnthn: Cool! | ||||||||||||||||||||||||||||||||||||||
How would you think that would fit github.com/Raku/problem-solving/issues/98 | |||||||||||||||||||||||||||||||||||||||
Considering the focus is on AST. Could you build a Parameter object that would serve this purpose? | 23:21 | ||||||||||||||||||||||||||||||||||||||
23:21
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
Xliff | Or would the whole NativeCall def need to be built? And is that currently possible with the planned features of RakuAST? | 23:22 | |||||||||||||||||||||||||||||||||||||
jnthn | I think you'd probably be able to write a macro that takes a constant initialized with a signature literal and a point block or sub, and have it replace the block/sub's signature | 23:24 | |||||||||||||||||||||||||||||||||||||
Or if you prefer do it in a trait | 23:25 | ||||||||||||||||||||||||||||||||||||||
is sig(the-sig-constant) or some such | |||||||||||||||||||||||||||||||||||||||
timotimo | that's sig, bro | 23:28 | |||||||||||||||||||||||||||||||||||||
jnthn | I had to look up how "sig" can be used as slang :P | 23:30 | |||||||||||||||||||||||||||||||||||||
timotimo | can it? i was punning off of "sick" | 23:31 | |||||||||||||||||||||||||||||||||||||
jnthn | Oh! | ||||||||||||||||||||||||||||||||||||||
hah | |||||||||||||||||||||||||||||||||||||||
Well, "sick" is a fun one too, 'cus its meaning has inverted in my lifetime. :) | 23:32 | ||||||||||||||||||||||||||||||||||||||
When I was at school it meant "disgusting", and apparently now it means "awesome" :P | |||||||||||||||||||||||||||||||||||||||
Though maybe either could be applied to what I described, so... :) | 23:33 | ||||||||||||||||||||||||||||||||||||||
23:38
scovit left
|
|||||||||||||||||||||||||||||||||||||||
Xliff | jnthn: Hah! I got that the first time around. :) | 23:40 | |||||||||||||||||||||||||||||||||||||
timotimo++ -- I lurfed. | |||||||||||||||||||||||||||||||||||||||
jnthn: Although I'd be more interested in a macro that would just be a reusable signature to be used in a NC definition. | 23:41 | ||||||||||||||||||||||||||||||||||||||
jnthn | Also possible, I'd think | 23:42 | |||||||||||||||||||||||||||||||||||||
Since it's a less abstract version of what I described | |||||||||||||||||||||||||||||||||||||||
Xliff | jnthn: OK. When RakuAST is ready, I'd like to discuss this further! :) | 23:45 | |||||||||||||||||||||||||||||||||||||
jnthn | Yes, I'll be interested in problems folks actually want to solve, beyond my own pile of them. :) | 23:48 | |||||||||||||||||||||||||||||||||||||
Xliff | :) | ||||||||||||||||||||||||||||||||||||||
jnthn | In the meantime, I should get some rest. 'night o/ | ||||||||||||||||||||||||||||||||||||||
Xliff | Well, I think RakuAST is a really neat idea, so I'd like to contribute where I can. | ||||||||||||||||||||||||||||||||||||||
\o | |||||||||||||||||||||||||||||||||||||||
23:48
Xliff left
|