Semver

implements semantic versions for Carp.

Semantic versions are composed of a major, minor, and patch version, and might optionally have a tag.

Installation

(load "https://github.com/carpentry-org/semver@0.0.6")

<

defn

(Fn [(Ref Semver a), (Ref Semver a)] Bool)

                    (< a b)
                

=

defn

(Fn [(Ref Semver a), (Ref Semver a)] Bool)

                    (= o1 o2)
                

>

defn

(Fn [a, a] Bool)

                    (> a b)
                

copy

instantiate

(Fn [(Ref Semver a)] Semver)

copies a Semver.

from-string

defn

(Fn [(Ref String a)] (Maybe Semver))

                    (from-string s)
                

init

instantiate

(Fn [Int, Int, Int, (Maybe String)] Semver)

creates a Semver.

major

instantiate

(Fn [(Ref Semver a)] (Ref Int a))

gets the major property of a Semver.

minor

instantiate

(Fn [(Ref Semver a)] (Ref Int a))

gets the minor property of a Semver.

patch

instantiate

(Fn [(Ref Semver a)] (Ref Int a))

gets the patch property of a Semver.

prn

instantiate

(Fn [(Ref Semver a)] String)

converts a Semver to a string.

set-major

instantiate

(Fn [Semver, Int] Semver)

sets the major property of a Semver.

set-major!

instantiate

(Fn [(Ref Semver a), Int] ())

sets the major property of a Semver in place.

set-minor

instantiate

(Fn [Semver, Int] Semver)

sets the minor property of a Semver.

set-minor!

instantiate

(Fn [(Ref Semver a), Int] ())

sets the minor property of a Semver in place.

set-patch

instantiate

(Fn [Semver, Int] Semver)

sets the patch property of a Semver.

set-patch!

instantiate

(Fn [(Ref Semver a), Int] ())

sets the patch property of a Semver in place.

set-tag

instantiate

(Fn [Semver, (Maybe String)] Semver)

sets the tag property of a Semver.

set-tag!

instantiate

(Fn [(Ref Semver a), (Maybe String)] ())

sets the tag property of a Semver in place.

str

instantiate

(Fn [(Ref Semver a)] String)

converts a Semver to a string.

tag

instantiate

(Fn [(Ref Semver a)] (Ref (Maybe String) a))

gets the tag property of a Semver.

update-major

instantiate

(Fn [Semver, (Ref (Fn [Int] Int a) b)] Semver)

updates the major property of a Semver using a function f.

update-minor

instantiate

(Fn [Semver, (Ref (Fn [Int] Int a) b)] Semver)

updates the minor property of a Semver using a function f.

update-patch

instantiate

(Fn [Semver, (Ref (Fn [Int] Int a) b)] Semver)

updates the patch property of a Semver using a function f.

update-tag

instantiate

(Fn [Semver, (Ref (Fn [(Maybe String)] (Maybe String) a) b)] Semver)

updates the tag property of a Semver using a function f.

zero

defn

(Fn [] Semver)

                    (zero)