- Notifications
You must be signed in to change notification settings - Fork0
Nenzyz/etclface
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is aTcl extension that will allow software writtenin Tcl andErlang to communicate using theErlang/OTP interface,erl_interface
.
Erlang provides two native interfaces that enable communication betweenErlang processes and external programs using Erlang's message passingmechanism.
One of these interfaces iserl_interface
, which allows the externalprogram to register as a node in a Distributed Erlang network and exchangemessages with Erlang processes.
Some of the aims of the Tcl extension are:
- Let a Tcl application use Erlang for processing.
- Let an Erlang application use a Tcl/Tk based GUI, or other Tclextensions such as Expect.
The initial version will only expose enougherl_interface
functions toallow a Tcl application to communicate with Erlang nodes. Currently,there are many functions inerl_interface
, however, only the followingsubset will be provided:
- register with epmd as a node
- send/receive messages
- decode/encode between internal and Tcl types
You will need the following software/packages:
- Tcl/Tk 8.5 or higher
- Erlang/OTP, R15B03 or higher
- TeX, if producing the documentation
- Cweb can be obtained fromhere
- cmake
- ccmake, not mandatory, but a useful tool for editing cmake parameters
- make
- C compiler, GCC was used during development
Once you have the source files on a local disk, change to theetclface
directory, then
mkdir -pv build# for out-of-source buildscd buildcmake ..make
The documentation is a single PDF file, it can be generated with
make doc
ifmake
is successful, then you should have alibetclface.so
file inthebuild
directory. You can then install the library:
make install# ensure you have permissions
The software has been tested on Debian GNU/Linux only.
The test scripts are can be found in theTests
directory.
Comments and feedback are welcome, please use the issue tracker for this.
Please use pull requests for patch contributions.
Enjoy!
Fred Youhanaie