Skip to content

tsclausing/core.match

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

match

An optimized pattern match and predicate dispatch library for Clojure. Currently the library only implements pattern matching. It supports Clojure 1.3.0 and later as well as ClojureScript.

You can find more detailed information here.

Releases and dependency information

Latest beta: 0.2.0

Leiningen dependency information:

[org.clojure/core.match "0.2.0"]

Maven dependency information:

<dependency>
  <groupId>org.clojure</groupId>
  <artifactId>core.match</artifactId>
  <version>0.2.0</version>
</dependency>

Example Usage

From Clojure:

(use '[clojure.core.match :only (match)])

(doseq [n (range 1 101)]
  (println
    (match [(mod n 3) (mod n 5)]
      [0 0] "FizzBuzz"
      [0 _] "Fizz"
      [_ 0] "Buzz"
      :else n)))

From ClojureScript:

(ns foo.bar
  (:require-macros [cljs.core.match.macros :refer [match]])
  (:require [cljs.core.match]))

(doseq [n (range 1 101)]
  (println
    (match [(mod n 3) (mod n 5)]
      [0 0] "FizzBuzz"
      [0 _] "Fizz"
      [_ 0] "Buzz"
      :else n)))

For more detailed descriptions of usage please refer to the wiki.

Developer information

Copyright and license

Copyright © 2010-2013 David Nolen, Rich Hickey & contributors.

Licensed under the EPL (see the file epl.html).