radare / valabind

create bindings from vapi to nodejs, python, swig, c++
GNU General Public License v3.0
56 stars 27 forks source link

Implement native (no-swig) Go bindings #25

Open radare opened 10 years ago

radare commented 10 years ago

/cc @williballenthin

williballenthin commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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

radare commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

Of course

radare commented 8 years ago

@williballenthin any update on this?

williballenthin commented 8 years ago

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 commented 8 years ago

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 commented 6 years ago

ping?

radare commented 6 years ago

@williballenthin are you still there?

williballenthin commented 6 years ago

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.