🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||||||||||||||||||||||||||||||||||||||
00:07
reportable6 left
00:09
reportable6 joined
01:09
evalable6 left,
linkable6 left
01:11
evalable6 joined,
linkable6 joined
01:55
frost joined
03:04
frost left
03:13
frost joined
06:08
evalable6 left,
linkable6 left,
reportable6 left
06:10
evalable6 joined,
linkable6 joined
06:11
reportable6 joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/lizmat-span: 9f44aca38b | (Elizabeth Mattijsen)++ | 8 files Implement Haskell's "span" in 6.e Inspired by stackoverflow.com/questions/728094...n-function This implements both the method as well as the sub version of "span". For more flexibility, the condition can also be a List of conditions ... (17 more lines) |
06:30 | |||||||||||||||||||||||||||||||||||||
rakudo: lizmat++ created pull request #4976: Implement Haskell's "span" in 6.e |
|||||||||||||||||||||||||||||||||||||||
09:21
sena_kun left
10:01
sena_kun joined
11:01
quotable6 left,
linkable6 left,
unicodable6 left,
notable6 left,
sourceable6 left,
evalable6 left,
coverable6 left,
shareable6 left,
greppable6 left,
bloatable6 left,
bisectable6 left,
benchable6 left,
committable6 left,
tellable6 left,
nativecallable6 left,
reportable6 left,
releasable6 left,
statisfiable6 left
11:02
shareable6 joined,
releasable6 joined,
evalable6 joined,
nativecallable6 joined,
linkable6 joined,
coverable6 joined
11:03
notable6 joined,
bisectable6 joined,
committable6 joined,
benchable6 joined,
statisfiable6 joined,
greppable6 joined
11:04
reportable6 joined,
tellable6 joined,
bloatable6 joined,
quotable6 joined,
unicodable6 joined,
sourceable6 joined
11:42
sena_kun left
11:43
sena_kun joined
12:07
reportable6 left
12:08
reportable6 joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/lizmat-span: 8a5a36bc7d | (Elizabeth Mattijsen)++ | 2 files Generalize the matcher on span Instead of just allowing a Callable, go for smart-matching instead. .say for (2, 2, 2, 5, 5, "a", "b", "c").span: Int; (2 2 2 5 5) (a b c) .say span Int, 2, 2, 2, 5, 5, "a", "b", "c"); (2 2 2 5 5) (a b c) |
12:49 | |||||||||||||||||||||||||||||||||||||
|Tux| |
|
13:13 | |||||||||||||||||||||||||||||||||||||
locria | Hello, Raku devs | 13:19 | |||||||||||||||||||||||||||||||||||||
Is there any plan to add full C FFI to NativeCall? | |||||||||||||||||||||||||||||||||||||||
lizmat | I don't know of any concrete plans | ||||||||||||||||||||||||||||||||||||||
locria | This was discussed over a year ago | ||||||||||||||||||||||||||||||||||||||
I want to help, but I don't know how to | 13:20 | ||||||||||||||||||||||||||||||||||||||
lizmat | perhaps nine patrickb vrurg have ideas | 13:21 | |||||||||||||||||||||||||||||||||||||
locria | I know how to use libffi, but not the internals of moarvm | ||||||||||||||||||||||||||||||||||||||
Can IRC bot ping user on discord? | 13:22 | ||||||||||||||||||||||||||||||||||||||
lizmat | not sure, don't think so | 13:23 | |||||||||||||||||||||||||||||||||||||
locria | How do I contact them | ||||||||||||||||||||||||||||||||||||||
lizmat | hopefully they react to the ping on this channel.... or you could create a Rakudo issue ? | 13:26 | |||||||||||||||||||||||||||||||||||||
vrurg | An issue would be better. And I'm barely an expert with nativecall and moarvm. | 13:28 | |||||||||||||||||||||||||||||||||||||
patrickb | locria: Thanks for your offer to help! I think nine is the one to ask. Creating an issue at github.com/rakudo/rakudo and pinging @niner there is a good start | 13:31 | |||||||||||||||||||||||||||||||||||||
locria | thanks | 13:35 | |||||||||||||||||||||||||||||||||||||
13:49
crystalfrost[m] left,
crystalfrost[m] joined
|
|||||||||||||||||||||||||||||||||||||||
nine | We already have a libffi based backend for NativeCall. Extending that wouldn't be a problem. I don't even see anything keeping us from switching the default over from dyncall. The two issues are really elsewhere. | 14:19 | |||||||||||||||||||||||||||||||||||||
First, more libffi or dyncall is the wrong direction. We want less of those. We already compile many calls to x86 code directly making those native calls almost the same speed as well actual native calls. | 14:20 | ||||||||||||||||||||||||||||||||||||||
Second the real blocker is not even that, we have already JIT code passing structs to native functions, so we know what the ABI looks like. The real blocker is the API one. I simply haven't seen any good idea on what such native sub definitions would look like. | 14:21 | ||||||||||||||||||||||||||||||||||||||
Right now sub foo(MyStruct) is native { !!! } is a definition for a void foo(MyStruct*) { ... } function. It would have been easy if the NativeCall definition for that would be sub foo(Pointer[MyStruct]) { !!! } for foo(MyStruct*) and sub foo(MyStruct) for foo(MyStruct) | 14:23 | ||||||||||||||||||||||||||||||||||||||
14:26
frost left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | nine: sub foo(MyStruct $v is rw) { !!! } | 14:34 | |||||||||||||||||||||||||||||||||||||
nine | What would foo(MyStruct **) then be? | 14:35 | |||||||||||||||||||||||||||||||||||||
vrurg | sub foo(Pointer[MyStruct] $v is rw) { !!! }? | 14:36 | |||||||||||||||||||||||||||||||||||||
Or we could use a dedicated trait for that. `is pointer`, `is ppointer` or alike. | |||||||||||||||||||||||||||||||||||||||
Pointer[MyStruct] semantics should be there too, though. | 14:37 | ||||||||||||||||||||||||||||||||||||||
Pointer[Pointer[MyStruct]] is just too cumbersome, hence the trait idea. | 14:38 | ||||||||||||||||||||||||||||||||||||||
15:14
dogbert17 left
15:41
dogbert17 joined
16:39
sena_kun left
17:18
sena_kun joined
18:04
Xliff joined
18:07
reportable6 left
18:09
reportable6 joined
19:30
Xliff left
19:36
sena_kun left
19:37
sena_kun joined
19:52
lizmat left
19:55
lizmat joined
20:55
linkable6 left,
bisectable6 left,
coverable6 left,
nativecallable6 left,
shareable6 left,
notable6 left,
evalable6 left,
greppable6 left,
quotable6 left,
committable6 left,
unicodable6 left,
reportable6 left,
bloatable6 left,
statisfiable6 left,
benchable6 left,
sourceable6 left,
tellable6 left,
releasable6 left
20:56
bloatable6 joined,
greppable6 joined,
shareable6 joined,
unicodable6 joined
20:57
bisectable6 joined,
notable6 joined,
evalable6 joined,
benchable6 joined,
quotable6 joined,
reportable6 joined,
releasable6 joined
20:58
nativecallable6 joined,
linkable6 joined,
tellable6 joined,
coverable6 joined
20:59
committable6 joined,
sourceable6 joined,
statisfiable6 joined
22:17
sena_kun left
|