Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

README.md

Clojure-contracts

Clojure-contracts is a library for contract programming in Clojure.

WARNING: this is a work in progress. It's not feature complete and may contain bugs.

Usage

See the tutorial.

A quick example:

user> (defn foo [x] (+ x 5))
 
user> (foo nil) ;=>
 No message.
 [Thrown class java.lang.NullPointerException]
 
user> (provide-contract foo (c/=> number? number?))
 
user> (foo nil) ;=>
 Precondition failed for var #'user/foo 
 Expecting: number? 
 Given: nil

See the tutorial for details.

Installation

Add [clojure-contracts "0.0.1-SNAPSHOT"] to your project's dependecies. Clojars page.

License

Copyright (C) 2012 Dmitri Naumov

Distributed under the Eclipse Public License, the same as Clojure.

About

Contract programming for Clojure.

Resources

Releases

No releases published

Packages

No packages published