4.4.4 Release
This is the formal release of the 4.4.4 and 4.4.4-P versions of VDMJ. They are included in VDM VSCode version 1.3.0.
One important change in this release concerns the use of standard library functions (IO, MATH etc). The native Java methods for these functions used to be in the main VDMJ jar. But these have now been moved to the stdlib jar, which also contains the sources for the libraries. To use the libraries therefore, you need to put both the VDMJ jar and the stdlib jar onto the classpath.
Another change is that you do not have to have your own local copy of (say) MATH.vdmsl in the project. You can simply refer to "MATH.vdmsl" on the command line, and as long as the stdlib jar is on the classpath, the source will be extracted into a temporary file and included for you. The temporary file is deleted when you quit the session.
Note that you have to use the -cp
argument to Java, rather than -jar
if you include more than one jar in the classpath.
$ java -cp vdmj-4.4.4.jar:stdlib-4.4.4.jar com.fujitsu.vdmj.VDMJ -vdmsl -i MATH.vdmsl
Parsed 1 module in 0.092 secs. No syntax errors
Type checked 1 module in 0.246 secs. No type errors
Initialized 1 module in 0.196 secs.
Interpreter started
> files
/tmp/tmp4596293493271508371MATH.vdmsl
> p sin(MATH`pi/4)
= 0.7071067811865475
Executed in 0.005 secs.
>