Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support more types #1

Open
harpocrates opened this issue Nov 29, 2017 · 3 comments
Open

Support more types #1

harpocrates opened this issue Nov 29, 2017 · 3 comments

Comments

@harpocrates
Copy link
Owner

harpocrates commented Nov 29, 2017

I think we will want:

Haskell Rust argument Status
StorableArray Int a &mut [a'] see #12
Vector a Vec<a'>
StablePtr a *const a'
() () Done
(a,b) (a',b') Done
(a,b,c) (a',b',c') Done
Storable data corresponding #[repr(C)] struct Done
ByteString &[u8] see #12
Maybe a Option<a'> Done
Either e a Result<a',e'> Done

I'm still undecided on what to do around strings. I also feel like we could make good use of box somewhere here...

@ghost
Copy link

ghost commented Jan 8, 2018

This will be really cool when it works. Will using tree/graph-like types be feasible?
(I think that's ADTs?)

@harpocrates
Copy link
Owner Author

harpocrates commented Jan 8, 2018

@22459 Yeah, I'd like to eventually have Haskell ADTs mapping to Rust enums. Right now, I only support passing things that have the same memory-representation, so I'd have to add support for some extra processing on both the Haskell and Rust side.

Really, I just need to find more time to work on this.

@ghost
Copy link

ghost commented Jan 8, 2018

Right. Good luck!

@harpocrates harpocrates mentioned this issue Mar 14, 2018
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant