next up previous index
Next: ECLiPSe primitives to read/write Up: ECLiPSe Embedding and Interfacing Previous: The EclipseStream Class   Index


EXDR Data Interchange Format

We have defined a data interchange format called EXDR for the communication between ECLiPSe and other languages. The data types available in this format are integer, double, string, list, nil, structure and anonymous variable. This is intended to be the subset of ECLiPSe types that has a meaningful mapping to many other languages' data types. The mapping onto different languages is as follows:

EXDR type ECLiPSe type TCL type VB type
Integer integer int Long
e.g. 123 123 123
Double real double Double
e.g. 12.3 12.3 12.3
String string string String
e.g. "abc" abc "abc"
List ./2 list Collection of Variant
e.g. [a,b,c] {a b c}  
Nil []/0 empty string Empty Collection of Variant
e.g. [] {} ""  
Struct compound list Array of Variant
e.g. foo(bar,3) {foo bar 3}  
Variable variable string Empty Variant
e.g. _ _ Empty

The EXDR Integer data type is a 32-bit integer, therefore bigger ECLiPSe integers cannot be represented. The EXDR Variable type only allows singleton, anonymous variables, which means that it is not possible to construct a term where a variable occurs in several places simultaneously. The main use of these variables is as placeholders for result arguments in remote procedure calls.




next up previous index
Next: ECLiPSe primitives to read/write Up: ECLiPSe Embedding and Interfacing Previous: The EclipseStream Class   Index

1999-08-06