std.lib.apply

apply-as

added in 3.0

(apply-as app args)

allows the applicative to auto-resolve its context

(apply-as (host-applicative {:form ’+}) 1 2 3 4 5) => 15

apply-in

added in 3.0

(apply-in app rt args)

runs the applicative within a context

(apply-in (host-applicative {:form ’+}) nil 1 2 3 4 5) => 15

host-applicative

added in 3.0

(host-applicative {:keys [function form async], :as m})

constructs an applicative that does not need a context

@((host-applicative {:form ’+ :async true}) 1 2 3 4 5) => 15

host-apply-in

added in 3.0

(host-apply-in {:keys [form function async], :as app} _ args)

helper function for the host applicative

invoke-as

added in 3.0

(invoke-as app & args)

invokes the applicative to args

(invoke-as (host-applicative {:form ’+}) 1 2 3 4 5) => 15