!!Version 1.1.0 Released

See our [Downloads|https://orc.csres.utexas.edu/download.shtml] page for detailed instructions on how to download and use Orc within Eclipse, locally within your web browser, or from the command line.

This release is backwards compatible with Orc 1.0. Any Orc program that runs under Orc 1.0 with no command line switches will also run under Orc 1.1, with the same behavior.

Major updates:

* The Orc implementation has been __updated to Java 6__, since Java 5 is now deprecated.
* The __execution model for Orc programs has changed__ substantially. The compiler no longer generates a directed acyclic graph from the OIL abstract syntax tree; instead it executes directly on that syntax tree. 
* A __new definition__, {{__capsule__}}, is now available. Orc capsules provides this facility for programmer to define active objects in Orc. The creation and execution of capsule is protected from the execution and termination of the rest of the program. {{capsule}} is [documented|https://orc.csres.utexas.edu/userguide/html/ch01s04.html#N10C6D] in the user guide.
* A __new site__, {{__Site__}}, is now available. It takes a single argument, which must be a closure, and returns a site which, when called, executes that closure as if it were a site.

Minor updates:

* URLs may be used in include declarations. This is especially helpful when using a web-based interface, as it allows access to include files hosted on another server.
* Unused function definitions are now trimmed from the program AST during compilation; this substantially decreases compile time and sometimes improves performance as well.
* There is a new {{-noexecute}} switch which suppresses execution of a program, performing only compilation. Typically this is used in concert with {{-typecheck}} or {{-oilOut}}.
* The {{Top}} type is now interchangeable with {{java.lang.Object}}; this is a minor weakening of the type theory, but in practice it is useful and causes no problems.
* The {{signal}} value now has a unique type, {{Signal}}. This is analogous to the unit type in typed functional languages such as ML.
* Calls to the {{Record}} site which use string literals for field names are now statically typable.
* Type parameters may now be written inline in defs and lambdas.
* The experimental {{isolated}} keyword has been removed entirely. Its functionality is mostly subsumed by the {{Site}} site.
* The stub code for the {{atomic}} combinator has been removed entirely. A full implementation of {{atomic}} will be added to a future release of Orc.
* The OAuth protocol used in ~OrcSites and Orchard has been updated to protocol version 1.0a.
* In the Orc Eclipse plug-in:
** The outline view distinguishes between function definition clauses and function signatures.
** The ''New Orc file'' wizard is improved.
** Orc program run configurations now have an ''Alternative Orc Runtime Engine'' tab, to allow programs to run with an Orc Runtime Engine other than the built-in one.  This permits experimenting with, and debugging of, the Orc language runtime.
** If not specified, the working directory of a program is now the directory containing the program.
** ~JavaSE 6 (or newer) is now required.
* The Orchard WAR/JAR bundling has been completely re-worked: now orchard.war bundles only Orc-specific JARS in its lib; "common" JARs, such as JAX-WS are external.
* The Orchard "try Orc" demo has much friendlier error handling.