call-alloy- A simple library to call Alloy given a specification
Copyright(c) Marcellus Siegburg 2019
Safe HaskellNone



This module provides basic functionality to interact with Alloy. This library contains Alloy and an (internal) interface to interact with it. These libraries will be placed into the users directory during execution. A requirement for this library to work is a Java Runtime Environment (as it is required by Alloy).



existsInstance Source #


:: String

The Alloy specification which should be loaded.

-> IO Bool

Whether there exists an instance (within the given scope)

Check if there exists a model for the given specification. This function calls Alloy retrieving one instance. If there is no such instance, it returns false. This function calls getInstances.

getInstances Source #


:: Maybe Integer

How many instances to return Nothing for all.

-> String

The Alloy specification which should be loaded.

-> IO [String] 

This function may be used to get all model instances for a given Alloy specification. It calls Alloy via a Java interface and returns the raw instance answers as list of Strings.