Erlbol
Erlang + REBOL gui
Erlbol has two sides: Erlbol-Erlang (server) and Erlbol-REBOL (client). The sides communicate using native Erlang binary format, over a TCP/IP connection. Erlbol-Erlang, is an interface between any Erlang module and the connection. It is responsible for assuring that data that is received is properly resolved into the correct data types used by the Erlang module.
The primary Erlbol-REBOL functionality is the ability to read and write Erlang binary format (most supported datatypes). The secondary functionality is to connect that data to a GUI. The primary functionality should be left alone. A programmer can look at the various modifications made to construct a GUI appropriate for his/her project. The programmer should only use the GUI for user data entry and display of results. Do all the 'work' on the Erlang side.
With proper modification, any Erlang program that either needs input or gives feedback can be 'plugged-in' on the Erlbol-Erlang side. The functionality (and correctness) of the programmer's Erlang module is not at risk when using Erlbol. The programmer takes on the responsiblity to assure that the correct datatypes are passed into his Erlang module.
Unmodified Erlang module <- -> Erlbol-Erlang Server <- TCP/iP -> Erlbol-Rebol Client
Description of files in Downloads
1. erlbol.erl and erlbol.r are the base demo files.
2. erlbol_mod.erl and erlbol_mod.r demonstrate how to add a new Erlang function to the interface.
3. erlbol_list1.r and erlbol_list2.r provide alternative GUIs for the erlbol.erl server.
Testing
The demo code has been successfully tested on XP, with these versions:
- Erlang/OTP R13A (March 17, 2009)
- REBOL/View 2.7.6.3.1 (14-Mar-2008)
Why REBOL?
REBOL is used for its ability to create graphical user interfaces on the fly with minimal coding. Also, it is free (standard version) and is OS independent. REBOL is not opensource. REBOL resembles LISP code without the parentheses (but it has its own keywords).