API for clojure.core.contracts
  -  
  
Full namespace name: 
clojure.core.contracts
Overview
The public contracts programming functions and macros for clojure.core.contracts.
  
  Public Variables and Functions
  
    
    
    provide
    macro
    Usage: (provide & kontracts)
    Provides the Var manipulation macro offering ex post facto application of contracts
to existing functions.
    
    
    
    Source
   
    
    
    with-constraints
    function
    Usage: (with-constraints f)
       (with-constraints f c)
       (with-constraints f c & more)
    A contract combinator.
 Takes a target function and a number of contracts and returns a function with the contracts
 applied to the original.  This is the preferred way to apply a contract previously created
 using `contract` as the use of `partial` may not work as implementation details change.
    
    
    
    Source
   
 
clojure.core.contracts.constraints
  
  Public Variables and Functions
  
    
    
    <-
    function
    Usage: (<- p q)
    Converse implication
    
    
    
    Source
   
    
    
    <=>
    function
    Usage: (<=> p q)
    Logical equality
    
    
    
    Source
   
    
    
    =
    function
    Usage: (= l#)
       (= l# r#)
    Curried version of #'clojure.core/=
    
    
    
    Source
   
    
    
    ==
    function
    Usage: (== l#)
       (== l# r#)
    Curried version of #'clojure.core/==
    
    
    
    Source
   
    
    
    defconstrainedfn
    macro
    Usage: (defconstrainedfn name & body)
    Defines a function using the `contract` vector appearing after the arguments.
     (defconstrainedfn sqr
       [n] [number? (not= 0 n) => pos? number?]
       (* n n))
 Like the `contract` macro, multiple arity functions can be defined where each argument vector
 is immediately followed by the relevent arity expectations.  This macro will also detect
 if a map is in that constraints position and use that instead under the assumption that
 Clojure's `:pre`/`:post` map is used instead.
    
    
    
    Source
   
    
    
    except
    function
    Usage: (except p q)
    P except Q
    
    
    
    Source
   
    
    
    implies
    function
    Usage: (implies p q)
    Logical implication
    
    
    
    Source
   
    
    
    in
    function
    Usage: (in e & args)
    Takes an item and determines if it falls in the listed args.  This can be
used most effectively for numbers since any numbers in a vector represent
a range of values determined by the same arguments as given to `range`.
    
    
    
    Source
   
    
    
    not=
    function
    Usage: (not= l#)
       (not= l# r#)
    Curried version of #'clojure.core/not=
    
    
    
    Source
   
    
    
    whitelist
    function
    Usage: (whitelist wl things)
    Takes a thing with keys (i.e. maps or sets) and checks if it contains only
the keys listed in the given whitelist.
    
    
    
    Source
   
    
    
    xor
    function
    Usage: (xor p q)
    Exclusive or
    
    
    
    Source
   
 
  
  Types
  
    
    
    
    record
    
    Fields: 
[field desc]
    Protocols: 
    Interfaces: 
clojure.lang.IHashEq, clojure.lang.IKeywordLookup, clojure.lang.ILookup, clojure.lang.IObj, clojure.lang.IPersistentMap, java.io.Serializable, java.util.Map
   
 
  
  Public Variables and Functions
  
    
    
    
    function
    Usage: (->Hoc field desc)
    Positional factory function for class clojure.core.contracts.impl.transformers.Hoc.
    
    
    
    Source
   
    
    
    
    function
    Usage: (map->Hoc m#)
    Factory function for class clojure.core.contracts.impl.transformers.Hoc, taking a map of keywords to field values.
    
    
    
    Source
   
 
clojure.core.contracts.impl.utils
  
  Public Variables and Functions
  
    
    
    constraint?
    function
    Usage: (constraint? sym)
    Determines if a symbol represents a
core.contracts constraint.
    
    
    
    Source
   
    
    
    defcurried
    macro
    Usage: (defcurried name doc meta args & body)
    Builds another arity of the fn that returns a fn awaiting the last
param
    
    
    
    Source
   
    
    
    defcurry-from
    macro
    Usage: (defcurry-from namespace & names)
    Builds a pass-through curried fn for each name.
    
    
    
    Source