From UxADT
Jump to: navigation, search

UxADT is a suite of libraries for multiple programming languages and platforms; these libraries provide lightweight support for a universal, cross-platform embedded representation for algebraic data type (ADT) values, and a uniform, cross-platform programming abstraction for common operations on algebraic data type values (such as defining constructors and using pattern matching on values).

The design of the UxADT libraries prioritizes ease of use and consistency of interfaces across platforms. This has a number of consequences, including the following.

  • The capabilities of a library for a given platform may actually be less powerful than the native features available on that platform (e.g., destructuring assignment in JavaScript) because other platforms do not support these features.
  • Currently, the libraries are not designed to provide run-time type checking and error reporting; instead, it is more appropriate to build tools that perform static analysis and type checking of code that may employ these libraries (which may be code in one of the supported platforms, or code written in a front-end language for which the supported platforms act as a backend).

Supported platforms

Versions of the library are available for the following languages and platforms:


The official repository, containing the source for all platform-specific packages, is maintained on GitHub.