Skip to content
/ ubf-eep8 Public

[UNMAINTAINED] Universal Binary Format 2.2 and Erlang Enhancement Proposal 8

License

Notifications You must be signed in to change notification settings

ubf/ubf-eep8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Universal Binary Format and EEP8

Copyright (c) 2011-2016 by Joseph Wayne Norton

Authors: Joseph Wayne Norton (norton@alum.mit.edu).

This is UBF-EEP8, a framework for integrating UBF and EEP8. This repository depends on the UBF open source repository.

This repository is experimental in nature and not intended for production usage.

Quick Start Recipe

To download, build, and test the ubf_eep8 application in one shot, please follow this recipe:

$ mkdir working-directory-name
$ cd working-directory-name
$ git clone https://github.com/ubf/ubf-eep8.git ubf_eep8
$ cd ubf_eep8
$ make deps clean compile test

Documentation

Where should I start?

This README is a good first step.

The UBF User's Guide is the best next step. Check out http://ubf.github.com/ubf/ubf-user-guide.en.html for further detailed information.

EEP8 samples and eunit tests can be found in the test/eunit directory.

What is UBF?

UBF is the "Universal Binary Format", designed and implemented by Joe Armstrong. UBF is a language for transporting and describing complex data structures across a network. It has three components:

  • UBF(a) is a "language neutral" data transport format, roughly equivalent to well-formed XML.

  • UBF(b) is a programming language for describing types in UBF(a) and protocols between clients and servers. This layer is typically called the "protocol contract". UBF(b) is roughly equivalent to Verified XML, XML-schemas, SOAP and WDSL.

  • UBF(c) is a meta-level protocol used between a UBF client and a UBF server.

See http://ubf.github.com/ubf for further details.

What is EEP8?

EEP8 is an extension to the Erlang language for declaring sets of Erlang terms to form a particular type, effectively forming a specific subtype of the set of all Erlang terms. Subsequently, these types can be used to specify types of record fields and argument and return values of functions. See http://www.erlang.org/eeps/eep-0008.html for full details.

Tools

For further information and help for related tools, please refer to the following links:

Credits

Many, many thanks to Joe Armstrong, UBF's designer and original implementer.

Thanks to Kostis Sagonas and Tobias Lindahl, EEP8's designers and implementers.

Gemini Mobile Technologies, Inc. has approved the release of this repository under an MIT license.

Modules

eep8_contract_parser

About

[UNMAINTAINED] Universal Binary Format 2.2 and Erlang Enhancement Proposal 8

Resources

License

Stars

Watchers

Forks

Packages

No packages published