Easy
The B method is right there, as a library. So is a constraint solver and animator.
Your DSL
Create your own abstractions that you need for your domain.
Create Tools
Whether you want to generate specifications from data or transform existing machines, lisb provides you the power of Clojure for meta-programming.
Get Started
- Install Leiningen or Clojure CLI
- Add lisb to your dependencies:
- Check out some examples and tutorials, and have at it!
Quick Start Guide
user=> (use 'lisb.core 'lisb.translation.util)
user=> (eval-ir-formula
(b (and (member? :x (range 101 200))
(exists [:y] (= :x (* :y :y))))))
{"x" 121, "y" -11}