Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><a href="http://lua.org" rel="nofollow noreferrer">Lua</a> is a scripting language that integrates very nicely with C within the same process. It uses a stack model to bridge the impedance mismatch between the two languages / run-times. The Lua implementation is open-source and relatively compact; so it may be good candidate for studying.</p> <p><a href="http://www.freedesktop.org/wiki/Software/dbus" rel="nofollow noreferrer">D-Bus</a> is an example of using IPC. It can be used to integrate separate processes implemented in different languages. It supports asynchronous messaging as well as synchronous method invocation. There are D-Bus implementations for Gtk, Qt, python etc...</p> <p>The <a href="http://en.wikipedia.org/wiki/Parrot_virtual_machine" rel="nofollow noreferrer">Parrot Virtual Machine</a> is a VM that is aiming for language inter-operation.</p> <p>Yet another approach is the one taken by GLib (used by Gtk). From the <a href="http://library.gnome.org/devel/gobject/unstable/ch01s02.html" rel="nofollow noreferrer">GObject manual</a>:</p> <blockquote> <p>The solution used by GLib is to use the GType library which holds at runtime a description of all the objects manipulated by the programmer. This so-called dynamic type <a href="http://lua.org" rel="nofollow noreferrer">1</a> library is then used by special generic glue code to automatically convert function parameters and function calling conventions between different runtime domains.</p> </blockquote>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload