Bindings for other languages!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Fedora Users]     [Linux Networking]     [Fedora Legacy List]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux