Michael DeHaan wrote:
Now that we have func-transmit, it's trivially possible to create
bindings for other languages.
I was talking with Marco on IRC, and we are thinking about
establishing a "bindings" directory in source control where we can
keep those bindings, and also include Makefiles and packages if we
want, so we can include them in Fedora.
For instance:
./bindings/ruby/func.rb
This might have a single method in it similar to our Python signature
for the Overlord() API:
func_transmit(client_spec, method_name, module_name, arguments=[],
async=False, nforks=1)
What this would do is convert all of the arguments into a
Hash/Dictionary/Map (pick your word for it) as required for Func
transmit, save the data as YAML (or JSON, whichever is easier), call
func-transmit, read the data back, and convert the serialized format
back to a Hash/Dictionary/Map.
This would then enable us to do incredibly shiny things like:
yum install func-ruby
yum install func-perl
yum install func-java
yum install func-lua (might be stretching it here)
yum install func-erlang (ok, I'll stop)
etc
And perhaps get a lot more interest in Func from other language
circles. The func backends remain Python, but the management app can
then be written in any language. Later, if we /really/ wanted to get
complicated, we might even make a bridge to allow modules to be
written in other languages, though I'm less interested in that because
I am a Python advocate :)
If you'd like to contribute support for any of the above, post modules
to the list and I'll get them into git. Just code for libraries is
ok -- packaging can come later.
--Michael
_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list
Marco points out that java-packaging doesn't allow for "yum install",
but for everything else, it's doable.
We can still host the code for the bindings and so forth even for that.
--Michael
_______________________________________________
Func-list mailing list
Func-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/func-list