Skip to main content

General

16
  • ancestors

    Returns the immediate and indirect parents of tag, either via a Java type inheritance relationship or a relationship e...

  • definterface

    Creates a new Java interface with the given name and method sigs. The method return types and parameter types may be s...

  • defmethod

    Creates and installs a new method of multimethod associated with dispatch-value.

  • defmulti

    Creates a new multimethod with the associated dispatch function. The docstring and attr-map are optional. Options a...

  • defprotocol

    A protocol is a named set of named methods and their signatures: (defprotocol AProtocolName ;optional doc string ...

  • derive

    Establishes a parent/child relationship between parent and tag. Parent must be a namespace-qualified symbol or keyword...

  • descendants

    Returns the immediate and indirect children of tag, through a relationship established via derive. h must be a hierarc...

  • extend

    Implementations of protocol methods can be provided using the extend construct: (extend AType AProtocol {:fo...

  • extend-protocol

    Useful when you want to provide several implementations of the same protocol all at once. Takes a single protocol and ...

  • extend-type

    A macro that expands into an extend call. Useful when you are supplying the definitions explicitly inline, extend-type...

  • get-method

    Given a multimethod and a dispatch value, returns the dispatch fn that would apply to that value, or nil if none apply...

  • make-hierarchy

    Creates a hierarchy object for use with derive, isa? etc.

  • methods

    Given a multimethod, returns a map of dispatch values -> dispatch fns

  • parents

    Returns the immediate parents of tag, either via a Java type inheritance relationship or a relationship established vi...

  • prefer-method

    Causes the multimethod to prefer matches of dispatch-val-x over dispatch-val-y when there is a conflict

  • underive

    Removes a parent/child relationship between parent and tag. h must be a hierarchy obtained from make-hierarchy, if not...