Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Mar 30, 2015
Commits on Mar 25, 2015
  1. Fix type checking of nested modules.

    Modules that were defined inside parameterised modules and then exported
    were not being correctly type checked, and led to panics.
Commits on Feb 26, 2015
  1. Add a builtin RUN function.

    This should have better performance than custom defined processes for
    large alphabets.
  2. Update the build status url.

  3. Update the prebuilt parser.

  4. Add a projection operator.

    This is the opposite of hiding - it only exposes certain events, and
    hides all others. It can be more convenient to use when there are large
    alphabets involved.
Commits on Feb 16, 2015
  1. Add CHAOS as an explicit process.

    If a very large set is passed to CHAOS, then the constant comparison of
    the name that is required when the recursion occurs can be extremely
    expensive, particularly if the events are complex.
  2. Remove a performance problem that hurt large renaming.

    I'm amazed this has not come up before.
Commits on Jan 30, 2015
  1. Remove some debug logging.

  2. Remove several warnings.

Commits on Jan 27, 2015
  1. Fix YAML syntax

  2. Fix travis builds (hopefully).

  3. Fix type checking of parameterless modules.

    Previously, parameterless modules were treated as a single atomic block
    for the purposes of type-checking, but not quite correctly. This alters
    the way they are type checked so that parameterless modules are treated
    simply as namespaces. This simplifies their usage.
    The change is relatively simple: parameterless modules are declared as
    binding only their module name, and depend on all declarations in the
    module. Each of the declarations in the module is then included in the
    standard list of declarations to type check.
    This should fix several bugs with generalisation of types inside
Commits on Dec 5, 2014
Commits on Dec 3, 2014
  1. Make the type checker stricter about type annotations.

    It was accepting type annotations where the explicitly given type was
    incompatible with the type inferred for the patterns. In particular, the
    explicitly given type was a datatype, whereas the inferred type was of
    the form x.y.
Commits on Nov 24, 2014
Commits on Nov 11, 2014
  1. Fix a problem with desugaring patterns containing nested datatypes.

    Wildcards were being used too liberally in the derived patterns,
    meaning that datatype clauses were not always correctly matched when
    they were heavily nested inside a single pattern.
Commits on Oct 20, 2014
  1. Add a parameter for the set of all prioritised events to prioritisepo.

    This is required in order to specify events that are less than tick,
    tau, but are otherwise not in the order.
Commits on Oct 15, 2014
  1. Add support for priortisepo, a new external function.

    This is like prioritise but takes an arbitrary PO instead.
Commits on Sep 17, 2014
Commits on Aug 13, 2014
Commits on Aug 7, 2014
Commits on Jul 16, 2014
  1. Optimise checking process names for equality.

    Some files with very complex names take a long time to compare the
    names for equality. This caches the hash values of names in order to
    save time.
Commits on Jul 5, 2014
Commits on Jul 3, 2014
Commits on Jul 2, 2014
  1. Optimise generalisation during type-checking.

    This used an O(n^2) algorithm because it traversed every type in the
    current environment every time it wanted to generalise the types.
    The new version instead registers new type variables, meaning that
    generalisation is now free.
  2. Update the pre-build parser.

Commits on Jun 26, 2014
Something went wrong with that request. Please try again.