/hall/hpack/Library/combine

Copy path to clipboard

Source

let Combine = ../Combine/package.dhall

let Common = ../Common/package.dhall

let DefaultType = ./DefaultType

let extractCommon = ./extractCommon

in λ(a : Type) →
λ ( combine
: { buildable : Combine.Type Bool, exposed : Bool → Bool → Bool }
) →
λ(left : DefaultType a) →
λ(right : DefaultType a) →
Common.combine
a
combine.{ buildable }
(extractCommon a left)
(extractCommon a right)
∧ { exposed = combine.exposed left.exposed right.exposed
, exposed-modules = left.exposed-modules # right.exposed-modules
, generated-exposed-modules =
left.generated-exposed-modules # right.generated-exposed-modules
, other-modules = left.other-modules # right.other-modules
, generated-other-modules =
left.generated-other-modules # right.generated-other-modules
, reexported-modules =
left.reexported-modules # right.reexported-modules
, signatures = left.signatures # right.signatures
}
: DefaultType a