isalink

Info

isalink is not planned to have a stable API. It is intentionnaly decoupled from ISM and other user-facing projects to promote quicker iterations. You are welcome to employ it for your own projects but please be aware the breaking changes are inevitable.

However, isa-bench and isa-client both will offer stable interface and provide the necessary stable interface over isalink.

isalink is a library for interacting with isabelle server from Golang.

This includes:

  • Both encoding/json and github.com/minio/simdjson-go based Parsers/ Serializers for isabelle server and client messages
  • IsaClient: An isabelle client replacement with abstractions over common commands, like use_theories
  • isa-client: An isalink-based drop-in replacement for the isabelle client CLI
  • isa-bench: An isalink-based k6 extension for isabelle server1. Only intended for stress testing ISM and related components.

1

And isabelle server-compatible software, like ISM