Giter VIP home page Giter VIP logo

libisabelle's Introduction

libisabelle

Minimal wrapper around Isabelle/PIDE for non-IDE applications

Service Status
Travis (Linux/Mac CI) Build Status
AppVeyor (Windows CI) Build status
Codacy (code quality) Codacy Badge
Maven Central Maven Central
Scaladoc Scaladoc

Setup

libisabelle is a Scala library which talks to Isabelle. It currently works with Isabelle2014 and Isabelle2015. Experimental support for Isabelle2016-RC0 is available.

To get started, follow these steps:

  1. Run the sbt script to fetch all required Scala dependencies. After this is done, you are in the SBT shell.
  2. Compile the sources with compile.
  3. If you have used an arbitrary snapshot of the sources (e.g. via git clone), run publishLocal.
  4. Bootstrap an Isabelle installation using appBootstrap/run --version 2015, which will download and extract the latest supported Isabelle version for you.

On some systems, you might need to install Perl, Python, and/or some additional libraries.

Note to proficient Isabelle users: libisabelle does not respect ISABELLE_HOME. Bootstrapping will create a new installation in your home folder (Linux: ~/.local/share, Windows: %LOCALAPPDATA%, OS X: ~/Library/Preferences).

Operating system support

libisabelle works on all platforms supported by Isabelle (Mac OS X, Linux, Windows). It can either use an existing installation or bootstrap one (by downloading the appropriate archive from the Isabelle website). Bootstrapping is automatically tested on all three platforms.

Note on Windows support

AppVeyor builds libisabelle on Windows, but only bootstraps an Isabelle installation. It does not run the integration tests (for now).

Running the tests

Run the sbt script again, then, in the SBT shell, type test. This requires the environment variable ISABELLE_VERSION to be set. Another option is to pass the version to the test framework directly.

Example:

$ cd libisabelle
$ ./sbt
...
> testOnly * -- isabelle.version 2015

Make sure to have bootstrapped the installation as described above for the appropriate Isabelle version, otherwise the tests will fail.

Command line interface

The cli application launches an Isabelle/jEdit instance with a specified logic.

$ cd libisabelle
$ ./sbt
...
> appCli/run --version 2015 HOL-Probability

By default, the HOL session is selected. The version has to be specified always.

Including libisabelle into your project

libisabelle is cross-built for Scala 2.10.x and 2.11.x. Drop the following lines into your build.sbt:

libraryDependencies ++= Seq(
  "info.hupel" %% "libisabelle" % "0.2.2",
  "info.hupel" %% "libisabelle-setup" % "0.2.2",
  "info.hupel" %% "pide-interface" % "0.2.2"
)

libisabelle's People

Contributors

larsrh avatar fthomas avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.