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

Implement native (no-swig) Go bindings #25

Open
radare opened this issue Jul 2, 2014 · 15 comments
Open

Implement native (no-swig) Go bindings #25

radare opened this issue Jul 2, 2014 · 15 comments

Comments

@radare
Copy link
Owner

radare commented Jul 2, 2014

No description provided.

@radare
Copy link
Owner Author

radare commented Jul 22, 2014

/cc @williballenthin

@williballenthin
Copy link
Contributor

I'll admit going is slower than is desirable, but you can review current progress here: https://github.com/williballenthin/valabind/blob/gowriter/gowriter.vala. The major holdup is the fact that Go does not support generic types, so correctly handling container types involves discovery of the potential "specializations" of a generic type, and additional code generation.

@radare
Copy link
Owner Author

radare commented Jul 23, 2014

Cool! I was looking for news about your proposal on writing that backend. I would like to merge your changes into master before release, even if generics are not supported by the language and this requires some rework on the writer side I guess that basic examples like from asm or core using the cmdStr functions should be working.

There are other bindings that does not support generics in valabind, and in fact there's only just one type per generic linked list used.

Also, there are some helpers for doing automatic casting in r2 api to help incomplete bindings to work, so it may be useful to have them as an initial support for go without swig for the upcoming 0.9.8 release.

Thanks

On 23 Jul 2014, at 05:17, Willi Ballenthin notifications@github.com wrote:

I'll admit going is slower than is desirable, but you can review current progress here: https://github.com/williballenthin/valabind/blob/gowriter/gowriter.vala. The major holdup is the fact that Go does not support generic types, so correctly handling container types involves discovery of the potential "specializations" of a generic type, and additional code generation.


Reply to this email directly or view it on GitHub.

@radare
Copy link
Owner Author

radare commented Jul 29, 2014

Do you have a forked radare2-bindings repo too with the makefile to build with this?

On 23 Jul 2014, at 05:17, Willi Ballenthin notifications@github.com wrote:

I'll admit going is slower than is desirable, but you can review current progress here: https://github.com/williballenthin/valabind/blob/gowriter/gowriter.vala. The major holdup is the fact that Go does not support generic types, so correctly handling container types involves discovery of the potential "specializations" of a generic type, and additional code generation.


Reply to this email directly or view it on GitHub.

@williballenthin
Copy link
Contributor

currently just working against small test cases in the t/go directory

@radare
Copy link
Owner Author

radare commented Jul 30, 2014

Can you send a pullreq?

On 29 Jul 2014, at 17:25, Willi Ballenthin notifications@github.com wrote:

currently just working against small test cases in the t/go directory


Reply to this email directly or view it on GitHub.

@williballenthin
Copy link
Contributor

sent.

Haven't been able to dev recently as I'm in the middle of a move. I would hope this to settle down in around a week or two.

@radare
Copy link
Owner Author

radare commented Jul 31, 2014

its ok for you if i squash all those commits into a single one?

On 31 Jul 2014, at 18:45, Willi Ballenthin notifications@github.com wrote:

sent.

Haven't been able to dev recently as I'm in the middle of a move. I would hope this to settle down in around a week or two.


Reply to this email directly or view it on GitHub.

@williballenthin
Copy link
Contributor

Of course

@radare
Copy link
Owner Author

radare commented Oct 22, 2015

@williballenthin any update on this?

@williballenthin
Copy link
Contributor

no update. haven't worked on this project in a while. turned out to be harder than i thought (or more probably, knew Go less than i thought). unfortunately, i don't expect to complete this project, as other things have come up.

@radare
Copy link
Owner Author

radare commented Oct 23, 2015

Thanks for the update. Im currently not priorizing the native bindings for this release. And Go is not my main programming language, so maybe we can find some time for this next year.

Also, go 1.5 introduced shared libraries support which can be an interesting approach for this.

On 23 Oct 2015, at 20:34, Willi Ballenthin notifications@github.com wrote:

no update. haven't worked on this project in a while. turned out to be harder than i thought (or more probably, knew Go less than i thought). unfortunately, i don't expect to complete this project, as other things have come up.


Reply to this email directly or view it on GitHub.

@radare
Copy link
Owner Author

radare commented Jan 23, 2018

ping?

@radare
Copy link
Owner Author

radare commented Jan 23, 2018

@williballenthin are you still there?

@williballenthin
Copy link
Contributor

hi @radare i'm still alive.

Unfortunately, I don't expect to have cycles to work on this feature. Its best to re-assign to someone else.

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

2 participants