CBI: Component binary interface
preliminary draft: Thu Nov 11 09:00:40 PST 1999
Introduction
Goals
- provide high level interface
- integrate with current systems with a minimal of fuss
- allow development without any ties to any particular implementation
- provide fast/efficient interoperability between components created with
arbitrary tools
- allow language support to be developed and maintained independantly of any
particular implementation
Relationship to CORBA, DCOM and UNIX Shared Libraries.
Interface concepts
CBI is designed to be a very high level interface with strong semantics.
Types
psuedo-grammar
alg_class ::=
"algebraic" "class" "$"UPPERCASE_ID "is" alg_class_decls "end"
alg_case_decls ::= alg_case_decl (";"? | ";" alg_case_decls)
alg_case_decl ::= "case" UPPERCASE_ID ("(" attr_list ")" | "" )
attr_list ::=
References:
- The OMG Group: standards
body that oversees CORBA
- Microsoft COM homepage: COM is
microsofts Component object model. similar in scope to CBI. DCOM is an extension
to COM to provide many of the features of CORBA
- Pizza: a language based on java which among other features, adds algebraic types
- App: a C++ preprocessor
that adds Algebraic types to C++
proposal by John Meacham