Whiley is a programming language with refinement types, extended static checking and an indentation-based syntax. It compiles to Java bytecode and runs per JAR-runtime on any JVM, which in turn allows to reuse existing Java libraries. The SDK includes a compiler (wyjc), documentation, a plugin framework, disassembler, and an Eclipse plugin.
minor feature: Begin process of relicensing WhileyCompiler. Updated invalid test cases. Significant updates to compiler!!. Parser now operational. Updating Interpreter. Update FlowTypeChecker. Working on making tests pass. Various refactorings to improve structure. Add concept of "descriptors". Various additional. for record subtyping #762. for function/method subtyping. Ignored failing tests for 763 and 764. Updated VerificationConditionGenerator. Merge branch 'refactoring/747-types' into develop. Refactored WhileyFile Opcodes / Expressions #768. Merge branch 'feature/768-wyfile' into develop. Add types to all expressions #766. Add SingleParameterVisitor. Refactored Expr.RecordInitialiser to NaryOperator. Refactor Integer Expressions. Refactor SyntacticItem.getOperands(). Merge branch 'feature/766-types' into develop. Refactored DefiniteAssignmentAnalysis. Optimised DefiniteAssignmentAnalysis. Update MoveAnalysis to use Visitor. Update FunctionCheck following RFC/purity. for LogicalImplication. FlowTypeCheck now infers types. Merge branch 'feature/766-flowtype' into develop. for #777. Merge branch '/777-from' into develop. for resolving external names. Merge branch '/776-resolution' into develop. for pre/postcondition macros. Deging missing span information. for associating spans with SyntacticItems. for translating binary operators. for Value.UTF8 constants. for spans and verification conditions. Various for translating constants unknowns. for loop invariants. for loop invariants #780. Numerous for VerificationConditionGenerator #780. Tidied up invalid test cases. Merge branch '/780-vcg' into develop. Further updates to VerificationConditionGenerator #780. empty type check #783. Merge branch '/783-void' into develop. for StaticVarLVals and Negations. for checking incomparable operands. for duplicate case conditions #648. for return statement checking. for comparable operands for runtime type test. for subtyping over references. Reworked Strict/Coercive SubtypeOperators. Tidied