clojure / core.match

An optimized pattern matching library for Clojure

Home Page:http://clojure.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

match

An optimized pattern matching library for Clojure. It supports Clojure 1.5.1 and later as well as ClojureScript.

You can find more detailed information here.

Releases and dependency information

This project follows the version scheme MAJOR.MINOR.PATCH where each component provides some relative indication of the size of the change, but does not follow semantic versioning. In general, all changes endeavor to be non-breaking (by moving to new names rather than by breaking existing names).

Latest release: 1.1.0

CLI/deps.edn dependency information:

org.clojure/core.match {:mvn/version "1.1.0"}

Leiningen dependency information:

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

Maven dependency information:

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

Example Usage

From Clojure:

(require '[clojure.core.match :refer [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 [cljs.core.match :refer-macros [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-2023 David Nolen, Ambrose Bonnaire-Sergeant, Rich Hickey & contributors.

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

About

An optimized pattern matching library for Clojure

http://clojure.org

License:Eclipse Public License 1.0


Languages

Language:Clojure 92.0%Language:HTML 8.0%