Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/clojure/core.match

An optimized pattern matching library for Clojure
https://github.com/clojure/core.match

Last synced: about 2 months ago
JSON representation

An optimized pattern matching library for Clojure

Lists

README

        

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](https://github.com/clojure/core.match/wiki/Overview).

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

* [All released versions](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.clojure%22%20AND%20a%3A%22core.match%22)

[CLI/`deps.edn`](https://clojure.org/reference/deps_and_cli) dependency information:
```clojure
org.clojure/core.match {:mvn/version "1.1.0"}
```

[Leiningen](https://github.com/technomancy/leiningen/) dependency information:

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

[Maven](https://maven.apache.org) dependency information:

```

org.clojure
core.match
1.1.0

```

Example Usage
----

From Clojure:

```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:

```clojure
(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](https://github.com/clojure/core.match/wiki).

Developer information
----

* [Bug Tracker](https://clojure.atlassian.net/projects/MATCH)
* [Continuous Integration](https://github.com/clojure/core.match/actions/workflows/test.yml)

Copyright and license
----

Copyright © 2010-2023 David Nolen, Ambrose Bonnaire-Sergeant, Rich
Hickey & contributors.

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