ref_send API 2.17
defensive programming in Java

ref_send API 2.17

Defensive programming in Java.


Core API
org.joe_e Core Joe-E language features such as the Joe-E verified interfaces and methods for access to the overlay type system.
org.ref_send A pass-by-construction interface.
org.ref_send.brand An opaque, globally unique identifier.
org.ref_send.promise A promise interface.
org.ref_send.scope A pass-by-copy interface.


Example Applications
org.ref_send.test A simple test interface.
org.waterken.all Runs all tests.
org.waterken.bang A simple demonstration and test of eventual operations.
org.waterken.bounce An argument passing test.
org.waterken.delayed Delayed promise resolution test.
org.waterken.eq Checks invariants of the ref_send API.
org.waterken.factorial A tail recursive factorial implementation.
org.waterken.pipelined Promise pipelining test.
org.waterken.serial An infinite series of elements.


org.joe_e.array Read-only arrays.
org.joe_e.var Common programming idioms for mutable state.
org.ref_send.list A linked list.


org.joe_e.reflect The reflection interface.
org.joe_e.taming The taming database.
org.ref_send.type Type definition manipulation.


org.joe_e.charset This package provides access to functions that require the use of Java character sets.
org.joe_e.file The filesystem interface.


org.ref_send.log A log file format.
org.waterken.trace An event logging implementation.
org.waterken.trace.application Stack tracing implementation.


org.waterken.syntax A marshalling interface.
org.waterken.syntax.config A folder of serialized configuration settings.
org.waterken.syntax.json JSON <=> Java conversion.


Other Packages
org.ref_send.markup Human friendly annotation of a reference graph.


Defensive programming in Java.

This library provides defensive programming primitives for the Java language similar to those defined in Mark Miller's dissertation: "Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control". Through clever use of naming conventions and Java 1.5 language features, ref_send provides a syntactically convenient language for implementing defensively consistent Java classes. By using ref_send in tandem with the Joe-E verifier, developers can program in the object-capability paradigm using their preferred Java IDE and deploy their applications on stock JVMs with the performance characteristics of code written in the Java language.

ref_send API 2.17
defensive programming in Java

Submit a bug or feature, or get help

Copyright 1998-2009 Waterken Inc. under the terms of the MIT X license.