[PRL] IOP and disjoint unions

Richard Cobbe cobbe at ccs.neu.edu
Thu Apr 28 16:20:46 EDT 2005


On Thu, Apr 28, 2005 at 04:13:08PM -0400, William D Clinger wrote:

<SNIP>

> interface LambdaTerm {
> 
>     // Predicates that report whether this term is of the queried form.
>     boolean isAbs();
>     boolean isVar();
>     boolean isApp();
> 
>     // Conversions from LambdaTerm to its summands.
> 
>     Abstraction toAbs () throws IllegalConversion;
>     Variable toVar () throws IllegalConversion;
>     Application toApp () throws IllegalConversion;
> }

How does this differ from, for example, Java's instanceof and checked
cast operations?

Richard



More information about the PRL mailing list