| 
 | ref_send API 2.17 defensive programming in Java | |||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||
See:
          Description
| 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. | 
| Collection | |
|---|---|
| org.joe_e.array | Read-only arrays. | 
| org.joe_e.var | Common programming idioms for mutable state. | 
| org.ref_send.list | A linked list. | 
| Reflection | |
|---|---|
| org.joe_e.reflect | The reflection interface. | 
| org.joe_e.taming | The taming database. | 
| org.ref_send.type | Type definition manipulation. | 
| I/O | |
|---|---|
| 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. | 
| Logging | |
|---|---|
| org.ref_send.log | A log file format. | 
| org.waterken.trace | An event logging implementation. | 
| org.waterken.trace.application | Stack tracing implementation. | 
| JSON | |
|---|---|
| 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 | |||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||
Copyright 1998-2009 Waterken Inc. under the terms of the MIT X license.