New entry
08-Jan-2016 08:44
Version 2.1.1 Released#

We have released version 2.1.1 of Orc, a minor update. This release makes no language changes. The release does improve the Orc Eclipse plug-in and extends the standard library slightly. In addition, significant work has gone into improving the underlying implementation.

There are multiple ways to run Orc:

1. Use our Try Orc ( https://orc.csres.utexas.edu/tryorc.shtml ) feature to experiment with Orc in your Web browser.

2. Use the Orc plug-in for Eclipse, available as "Orc" on the Eclipse Marketplace. (In Eclipse, use the menu item Help > Eclipse Marketplace) If you already have the Orc plug-in for Eclipse installed, use the Check for Updates menu item to get the update.

3. Orc is also available as a standalone JAR which you can use to run programs on the command line. You can download the release archive from GitHub at https://github.com/orc-lang/orc/releases .

Happy Orcing,

--The Orc Language Research Team

10-Sep-2012 09:41
Orc on Android#

An experimental port of Orc to the Android platform has been performed by by Ricardo Bernardino and João Barbosa of the University of Coimbra as part of a UT Austin|Portugal CoLab project. See the OrcAndroid page.

05-Mar-2010 17:12
Version 1.1.0 Released#

See our Downloads 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 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.
13-Mar-2009 01:04
CVS Outage#

Our project's SourceForge CVS repository has been inaccessible since sometime yesterday evening. According to http://apps.sourceforge.net/wordpress/sourceforge/2009/03/11/2009-03-10-service-cvs-unplanned-downtime-update/ service will not be restored until sometime Friday. Apologies for any inconvenience.

UPDATE Fri Mar 13 1am: CVS service appears to be restored now.

07-Mar-2009 11:29
Version 0.9.6 Released#

The goal of this release is to get important bugfixes and enhancements released before we embark on a significant refactoring of the engine to make it more extensible.

Highlights of this release:

NEW FEATURES#

  • Improved prototype type checker and type annotation syntax: now actually usable for most real programs.
  • withLock, rangeBy, altMap, joinMap, seqMap functions added to stdlib.
  • types which can be tested for structural equality are registered in a set which can be augmented by user libraries.
  • Prototype runtime (dag, token, etc) support for transactions.
  • Prototype implementation of nestable and independent logical timers.
  • Set, Map, and Array support site call notation for reading and
writing elements, e.g. "a(3) := 4"

BUG FIXES#

  • Compiler service works correctly.
  • Web service examples work correctly.
  • Compiles and runs under JRE 1.6 (Java SE 6).
  • The "unguarded recursion checker" handles semicolon correctly.
  • Fix bugs with foldr1 and range in stdlib.
  • Fix bug with using immutable values as keys in Map and Set.

OTHER CHANGES#

  • Publish patterns (">!x>") no longer supported; use " >x> ( x | ... )" instead.
  • Stdlib "por" and "pand" take lists instead of two arguments.
  • "sequence" stdlib function renamed to "seq".
  • Left and Right datatypes no longer included in stdlib.
  • Tokens are no longer pooled; speed benefit is not significant enough to justify memory wastage.
  • Failed pattern matching in definitions causes an error message.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-4) was last changed on 09-Jun-2016 15:41 by John Thywissen