Skip to content

Whiley is a programming language particularly suited to safety-critical systems. It is a hybrid object-oriented and functional programming language which employs extended static checking to eliminate errors at compile time, including divide-by-zero, array out-of-bounds and null dereference errors.

License

protin2art/Whiley

 
 

Repository files navigation

 __        ___     _ _                              
 \ \      / / |__ (_) | ___ _   _    ___  _ __ __ _ 
  \ \ /\ / /| '_ \| | |/ _ \ | | |  / _ \| '__/ _` |
   \ V  V / | | | | | |  __/ |_| |_| (_) | | | (_| |
    \_/\_/  |_| |_|_|_|\___|\__, (_)\___/|_|  \__, |
                            |___/             |___/ 

======================================================================
Introduction
======================================================================

Whiley is a programming language particularly suited to
safety-critical systems. It is a hybrid object-oriented and functional
programming language which employs extended static checking to
eliminate errors at compile time, including divide-by-zero, array
out-of-bounds and null dereference errors.  Whiley compiles to the
Java Virtual Machine and is fully inter-operable with existing Java
applications.

To find out more, visit http://whiley.org

======================================================================
Whiley Developement Kit
======================================================================

The Whiley Development Kit will allow you compile and run Whiley
programs on the Java Virtual Machine.  Whiley will operate on any
system that can run Java including Windows, Mac OS and Linux.  Whiley
is released under the New BSD License --- see the LICENSE file for
more on this.

Finally, to learn more about the Whiley language, visit
http://whiley.org.  There you will find a range of documentation,
including an overview of the aims and objectives of Whiley, and an
introduction into the syntax of the language.

======================================================================
Installation
======================================================================

To install the Whiley Development Kit, unpack the tarball into an
appropriate directory (as you've probably already done).  You then
need to make sure that PATH environment variable points to the bin/
directory, where several scripts are provided for running Whiley.
(don't worry if you don't know what the PATH is, as you can instead
run the jar directly --- see below).

With the PATH setup correctly, you should be able to run the wyjc
command to compile Whiley programs as follows:

% cd examples
% wyjc hello-world.whiley

At this point, you can run the program using the whiley command:

% whiley hello-world
Hello World

(note: the whiley command is just a wrapper for java -cp
lib/wyrt.jar).

======================================================================
Executable Jar
======================================================================

If you're running on a Windows system without cygwin, or you're having
trouble getting the wyjc scripts to work, then a useful alternative is
to run the jar file directly.  You can do this as follows:

% cd examples
% java -jar ../lib/wyjc.jar -bp ../lib/wyrt.jar hello-world.whiley

Then, to run the program you would do this:

% java -cp "../lib/wyrt.jar;." hello-world
Hello World

(note: under UNIX you will want to replace the ';' with a ':')

============================================================================
Making a Contribution
============================================================================

When making a contribution to the Whiley project, you will need to
first sign-off the developers certificate of origin.  Please see the
CONTRIBUTORS file for more details.

About

Whiley is a programming language particularly suited to safety-critical systems. It is a hybrid object-oriented and functional programming language which employs extended static checking to eliminate errors at compile time, including divide-by-zero, array out-of-bounds and null dereference errors.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.4%
  • Other 0.6%