From d3e2b498f6e0df3860444272254a24797586a56a Mon Sep 17 00:00:00 2001 From: tcldr Date: Thu, 2 Nov 2017 02:54:55 +0100 Subject: [PATCH 1/2] Initial port to Swift 4 (#328) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added steps to setup in SPM in ReadMe * Update README.md * Fix SPM tests layout * Update submodules * Refactor EitherSpec test * Swiftx 0.5.1 * Remove extra parenthesis when constructing List * Bump dependencies * Remove explicit products from package manifest * Bump dependencies * Bump * Update to Swift 3.1 * Bump podspec version * Removed superfluous constraint declarations Temporarily set dependency sources to use interim swift 4 versions * Initial port to Swift 4. All schemes build and pass tests. Updated dependency refs Updated travis file to use Swift 4 Added 'LinuxMain.swift' to run tests on Linux Set .travis to run tests on Linux Added docker related items to .gitignore Flattened directory structure
Updated .travis for Swift 4 release version * Updated README.md with SPMv4 instructions --- .gitignore | 4 + .gitmodules | 3 + .travis.yml | 16 +- Cartfile.private | 3 +- Cartfile.resolved | 7 +- Carthage/Checkouts/FileCheck | 1 + Carthage/Checkouts/Operadics | 2 +- Carthage/Checkouts/SwiftCheck | 2 +- Carthage/Checkouts/Swiftx | 2 +- Package.swift | 24 +- README.md | 17 +- Sources/{ => Swiftz}/Applicative.swift | 0 Sources/{ => Swiftz}/ArrayExt.swift | 10 +- Sources/{ => Swiftz}/Arrow.swift | 0 Sources/{ => Swiftz}/ArrowExt.swift | 0 Sources/{ => Swiftz}/Bifunctor.swift | 0 Sources/{ => Swiftz}/Bounded.swift | 0 Sources/{ => Swiftz}/Category.swift | 0 Sources/{ => Swiftz}/CharacterExt.swift | 0 Sources/{ => Swiftz}/Comonad.swift | 0 Sources/{ => Swiftz}/Const.swift | 0 Sources/{ => Swiftz}/Copointed.swift | 0 Sources/{ => Swiftz}/Curry.swift | 2 +- Sources/{ => Swiftz}/DictionaryExt.swift | 14 +- Sources/{ => Swiftz}/EitherExt.swift | 0 Sources/{ => Swiftz}/Foldable.swift | 0 Sources/{ => Swiftz}/Function.swift | 4 +- Sources/{ => Swiftz}/Functor.swift | 0 Sources/{ => Swiftz}/HList.swift | 6 +- Sources/{ => Swiftz}/Identity.swift | 0 Sources/{ => Swiftz}/Kinds.swift | 0 Sources/{ => Swiftz}/List.swift | 4 +- Sources/{ => Swiftz}/Monad.swift | 0 Sources/{ => Swiftz}/Monoid.swift | 0 Sources/{ => Swiftz}/Monoidal.swift | 0 Sources/{ => Swiftz}/NonEmptyList.swift | 2 +- Sources/{ => Swiftz}/Num.swift | 0 Sources/{ => Swiftz}/OptionalExt.swift | 0 Sources/{ => Swiftz}/Pointed.swift | 0 Sources/{ => Swiftz}/Proxy.swift | 0 Sources/{ => Swiftz}/Ratio.swift | 12 +- Sources/{ => Swiftz}/Reader.swift | 0 Sources/{ => Swiftz}/Semigroup.swift | 0 Sources/{ => Swiftz}/State.swift | 0 Sources/{ => Swiftz}/Stream.swift | 0 Sources/{ => Swiftz}/StringExt.swift | 2 +- Sources/{ => Swiftz}/Swiftz.h | 0 Sources/{ => Swiftz}/Those.swift | 0 Sources/{ => Swiftz}/TupleExt.swift | 0 Sources/{ => Swiftz}/Unit.swift | 0 Sources/{ => Swiftz}/Writer.swift | 26 +- Swiftz.podspec | 2 +- Swiftz.xcodeproj/project.pbxproj | 1153 +++++++++-------- .../xcschemes/Swiftz-iOS.xcscheme | 2 +- .../xcschemes/Swiftz-tvOS.xcscheme | 2 +- .../xcschemes/Swiftz-watchOS.xcscheme | 2 +- .../xcshareddata/xcschemes/Swiftz.xcscheme | 2 +- Tests/LinuxMain.swift | 31 + Tests/SwiftzTests/ArrayExtSpec.swift | 9 +- Tests/SwiftzTests/ArrowExtSpec.swift | 5 + Tests/SwiftzTests/DictionaryExtSpec.swift | 5 + Tests/SwiftzTests/EitherSpec.swift | 13 + Tests/SwiftzTests/FunctionSpec.swift | 26 +- Tests/SwiftzTests/FunctorSpec.swift | 11 + Tests/SwiftzTests/HListSpec.swift | 11 + Tests/SwiftzTests/IdentitySpec.swift | 12 +- Tests/SwiftzTests/ListSpec.swift | 19 +- Tests/SwiftzTests/MonoidSpec.swift | 12 + Tests/SwiftzTests/NonEmptyListSpec.swift | 11 + Tests/SwiftzTests/OptionalExtSpec.swift | 5 + Tests/SwiftzTests/ProxySpec.swift | 11 + Tests/SwiftzTests/ReaderSpec.swift | 13 +- Tests/SwiftzTests/StateSpec.swift | 5 + Tests/SwiftzTests/StreamSpec.swift | 5 + Tests/SwiftzTests/StringExtSpec.swift | 7 +- Tests/SwiftzTests/ThoseSpec.swift | 11 + Tests/SwiftzTests/TupleExtSpec.swift | 5 + Tests/SwiftzTests/UnitSpec.swift | 11 + Tests/SwiftzTests/WriterSpec.swift | 13 +- 79 files changed, 926 insertions(+), 651 deletions(-) create mode 160000 Carthage/Checkouts/FileCheck rename Sources/{ => Swiftz}/Applicative.swift (100%) rename Sources/{ => Swiftz}/ArrayExt.swift (97%) rename Sources/{ => Swiftz}/Arrow.swift (100%) rename Sources/{ => Swiftz}/ArrowExt.swift (100%) rename Sources/{ => Swiftz}/Bifunctor.swift (100%) rename Sources/{ => Swiftz}/Bounded.swift (100%) rename Sources/{ => Swiftz}/Category.swift (100%) rename Sources/{ => Swiftz}/CharacterExt.swift (100%) rename Sources/{ => Swiftz}/Comonad.swift (100%) rename Sources/{ => Swiftz}/Const.swift (100%) rename Sources/{ => Swiftz}/Copointed.swift (100%) rename Sources/{ => Swiftz}/Curry.swift (99%) rename Sources/{ => Swiftz}/DictionaryExt.swift (97%) rename Sources/{ => Swiftz}/EitherExt.swift (100%) rename Sources/{ => Swiftz}/Foldable.swift (100%) rename Sources/{ => Swiftz}/Function.swift (95%) rename Sources/{ => Swiftz}/Functor.swift (100%) rename Sources/{ => Swiftz}/HList.swift (95%) rename Sources/{ => Swiftz}/Identity.swift (100%) rename Sources/{ => Swiftz}/Kinds.swift (100%) rename Sources/{ => Swiftz}/List.swift (99%) rename Sources/{ => Swiftz}/Monad.swift (100%) rename Sources/{ => Swiftz}/Monoid.swift (100%) rename Sources/{ => Swiftz}/Monoidal.swift (100%) rename Sources/{ => Swiftz}/NonEmptyList.swift (98%) rename Sources/{ => Swiftz}/Num.swift (100%) rename Sources/{ => Swiftz}/OptionalExt.swift (100%) rename Sources/{ => Swiftz}/Pointed.swift (100%) rename Sources/{ => Swiftz}/Proxy.swift (100%) rename Sources/{ => Swiftz}/Ratio.swift (84%) rename Sources/{ => Swiftz}/Reader.swift (100%) rename Sources/{ => Swiftz}/Semigroup.swift (100%) rename Sources/{ => Swiftz}/State.swift (100%) rename Sources/{ => Swiftz}/Stream.swift (100%) rename Sources/{ => Swiftz}/StringExt.swift (98%) rename Sources/{ => Swiftz}/Swiftz.h (100%) rename Sources/{ => Swiftz}/Those.swift (100%) rename Sources/{ => Swiftz}/TupleExt.swift (100%) rename Sources/{ => Swiftz}/Unit.swift (100%) rename Sources/{ => Swiftz}/Writer.swift (82%) create mode 100644 Tests/LinuxMain.swift diff --git a/.gitignore b/.gitignore index 8b9ab0b..54ee887 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,7 @@ DerivedData Carthage/Build Carthage/Checkouts +# Docker +.dockerignore +Dockerfile + diff --git a/.gitmodules b/.gitmodules index b24bd45..7c0a362 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "Carthage/Checkouts/Operadics"] path = Carthage/Checkouts/Operadics url = https://github.com/typelift/Operadics.git +[submodule "Carthage/Checkouts/FileCheck"] + path = Carthage/Checkouts/FileCheck + url = https://github.com/trill-lang/FileCheck.git diff --git a/.travis.yml b/.travis.yml index 8579c5c..e4534d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ matrix: include: - os: osx language: objective-c - osx_image: xcode8.3 + osx_image: xcode9 before_install: - git submodule update --init --recursive script: @@ -14,15 +14,15 @@ matrix: - carthage build --no-skip-current - os: osx language: objective-c - osx_image: xcode8.3 + osx_image: xcode9 before_install: - git submodule update --init --recursive script: - set -o pipefail - xcodebuild test -scheme Swiftz | xcpretty -c # !!!: Make sure desired device name & OS version are suitable for the Xcode version installed on osx_image - - iOS_DEVICE_NAME="iPad Pro (12.9 inch)" - - iOS_RUNTIME_VERSION="10.0" + - iOS_DEVICE_NAME="iPad Pro (12.9-inch) (2nd generation)" + - iOS_RUNTIME_VERSION="11.0" # Get simulator identifier for desired device/runtime pair - SIMULATOR_ID=$(xcrun instruments -s | grep -o "${iOS_DEVICE_NAME} (${iOS_RUNTIME_VERSION}) \[.*\]" | grep -o "\[.*\]" | sed "s/^\[\(.*\)\]$/\1/") - echo $SIMULATOR_ID @@ -37,11 +37,11 @@ matrix: before_install: - git submodule update --init --recursive - wget -q -O - https://swift.org/keys/all-keys.asc | gpg --import - - - wget https://swift.org/builds/swift-3.1-release/ubuntu1404/swift-3.1-RELEASE/swift-3.1-RELEASE-ubuntu14.04.tar.gz - - tar xzf swift-3.1-RELEASE-ubuntu14.04.tar.gz - - export PATH=${PWD}/swift-3.1-RELEASE-ubuntu14.04/usr/bin:"${PATH}" + - wget https://swift.org/builds/swift-4.0-release/ubuntu1404/swift-4.0-RELEASE/swift-4.0-RELEASE-ubuntu14.04.tar.gz + - tar xzf swift-4.0-RELEASE-ubuntu14.04.tar.gz + - export PATH=${PWD}/swift-4.0-RELEASE-ubuntu14.04/usr/bin:"${PATH}" script: - - swift build + - swift test notifications: webhooks: urls: diff --git a/Cartfile.private b/Cartfile.private index 0b434f7..b49b1bf 100644 --- a/Cartfile.private +++ b/Cartfile.private @@ -1,4 +1,3 @@ -github "typelift/Swiftx" +github "typelift/Swiftx" github "typelift/SwiftCheck" github "typelift/Operadics" - diff --git a/Cartfile.resolved b/Cartfile.resolved index 3af5f92..ccfb499 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,4 @@ -github "typelift/Operadics" "0.2.2" -github "typelift/SwiftCheck" "0.8.0" -github "typelift/Swiftx" "0.5.2" +github "trill-lang/FileCheck" "0.0.4" +github "typelift/Operadics" "0.3.0" +github "typelift/SwiftCheck" "0.9.1" +github "typelift/Swiftx" "0.6.0" diff --git a/Carthage/Checkouts/FileCheck b/Carthage/Checkouts/FileCheck new file mode 160000 index 0000000..0830734 --- /dev/null +++ b/Carthage/Checkouts/FileCheck @@ -0,0 +1 @@ +Subproject commit 083073480112406580f0242036a079f9f8b170ad diff --git a/Carthage/Checkouts/Operadics b/Carthage/Checkouts/Operadics index fcacc62..c2a1491 160000 --- a/Carthage/Checkouts/Operadics +++ b/Carthage/Checkouts/Operadics @@ -1 +1 @@ -Subproject commit fcacc621d00449c2cc0cb7227756928566370d28 +Subproject commit c2a14919b3653a39a9bf268c1ae0bf71ad6833fe diff --git a/Carthage/Checkouts/SwiftCheck b/Carthage/Checkouts/SwiftCheck index 97a244b..df82fb8 160000 --- a/Carthage/Checkouts/SwiftCheck +++ b/Carthage/Checkouts/SwiftCheck @@ -1 +1 @@ -Subproject commit 97a244b4c48e5823e82f50562fc4e32b3d6507a8 +Subproject commit df82fb889864945c64458f38846702af729b3ee4 diff --git a/Carthage/Checkouts/Swiftx b/Carthage/Checkouts/Swiftx index 0d481bb..140f151 160000 --- a/Carthage/Checkouts/Swiftx +++ b/Carthage/Checkouts/Swiftx @@ -1 +1 @@ -Subproject commit 0d481bbe0617c38bb816c9cbbf54ab93edb813b9 +Subproject commit 140f1510ecb8597970c58c5a41a32bda72310d31 diff --git a/Package.swift b/Package.swift index ed37102..cd2772a 100644 --- a/Package.swift +++ b/Package.swift @@ -1,13 +1,25 @@ +// swift-tools-version:4.0 + import PackageDescription let package = Package( name: "Swiftz", - targets: [ - Target(name: "Swiftz") - ], + products: [ + .library( + name: "Swiftz", + targets: ["Swiftz"]), + ], dependencies: [ - .Package(url: "https://github.com/typelift/Operadics.git", versions: Version(0,2,2)...Version(0,2,2)), - .Package(url: "https://github.com/typelift/Swiftx.git", versions: Version(0,5,1)...Version(0,5,1)), - ] + .package(url: "https://github.com/typelift/Swiftx.git", from: "0.6.0"), + .package(url: "https://github.com/typelift/SwiftCheck.git", from: "0.9.0") + ], + targets: [ + .target( + name: "Swiftz", + dependencies: ["Swiftx"]), + .testTarget( + name: "SwiftzTests", + dependencies: ["Swiftz", "SwiftCheck"]), + ] ) diff --git a/README.md b/README.md index be9ae5a..fc5366b 100644 --- a/README.md +++ b/README.md @@ -137,10 +137,23 @@ To add Swiftz to your application: **Using Swift Package Manager** -- Add Swiftz to your `Package.swift` file's `dependencies` section: +- Add Swiftz to your `Package.swift` within your project's `Package` definition: ```swift -.Package(url: "https://github.com/typelift/Swiftz", versions: Version(0,6,0)..(_ other : [B], _ f : @escaping (A) -> (B) -> C) -> [C] { - return self.mzip(other).map(uncurry(f)) + return self.mzip(other).map { let (a, b) = $0; return uncurry(f)(a, b) } } public static func munzip(ftab : [(A, B)]) -> ([A], [B]) { @@ -207,7 +207,7 @@ extension Array { case .Nil: return .none case let .Cons(x, xs): - return .some(x, xs) + return .some((x, xs)) } } /// Safely indexes into an array by converting out of bounds errors to nils. @@ -221,7 +221,7 @@ extension Array { /// Maps a function over an array that takes pairs of (index, element) to a different element. public func mapWithIndex(_ f : (Int, Element) -> U) -> [U] { - return zip((self.startIndex ..< self.endIndex), self).map(f) + return zip((self.startIndex ..< self.endIndex), self).map { let (i, e) = $0; return f(i, e) } } public func mapMaybe(_ f : (Element) -> Optional) -> [U] { @@ -445,13 +445,13 @@ extension Sequence { /// Maps the array of to a dictionary given a transformer function that returns /// a (Key, Value) pair for the dictionary, if nil is returned then the value is /// not added to the dictionary. - public func mapAssociate(_ f : (Iterator.Element) -> (Key, Value)?) -> [Key : Value] { + public func mapAssociate(_ f : (Iterator.Element) -> (Key, Value)?) -> [Key : Value] { return Dictionary(flatMap(f)) } /// Creates a dictionary of Key-Value pairs generated from the transformer function returning the key (the label) /// and pairing it with that element. - public func mapAssociateLabel(_ f : (Iterator.Element) -> Key) -> [Key : Iterator.Element] { + public func mapAssociateLabel(_ f : (Iterator.Element) -> Key) -> [Key : Iterator.Element] { return Dictionary(map { (f($0), $0) }) } } diff --git a/Sources/Arrow.swift b/Sources/Swiftz/Arrow.swift similarity index 100% rename from Sources/Arrow.swift rename to Sources/Swiftz/Arrow.swift diff --git a/Sources/ArrowExt.swift b/Sources/Swiftz/ArrowExt.swift similarity index 100% rename from Sources/ArrowExt.swift rename to Sources/Swiftz/ArrowExt.swift diff --git a/Sources/Bifunctor.swift b/Sources/Swiftz/Bifunctor.swift similarity index 100% rename from Sources/Bifunctor.swift rename to Sources/Swiftz/Bifunctor.swift diff --git a/Sources/Bounded.swift b/Sources/Swiftz/Bounded.swift similarity index 100% rename from Sources/Bounded.swift rename to Sources/Swiftz/Bounded.swift diff --git a/Sources/Category.swift b/Sources/Swiftz/Category.swift similarity index 100% rename from Sources/Category.swift rename to Sources/Swiftz/Category.swift diff --git a/Sources/CharacterExt.swift b/Sources/Swiftz/CharacterExt.swift similarity index 100% rename from Sources/CharacterExt.swift rename to Sources/Swiftz/CharacterExt.swift diff --git a/Sources/Comonad.swift b/Sources/Swiftz/Comonad.swift similarity index 100% rename from Sources/Comonad.swift rename to Sources/Swiftz/Comonad.swift diff --git a/Sources/Const.swift b/Sources/Swiftz/Const.swift similarity index 100% rename from Sources/Const.swift rename to Sources/Swiftz/Const.swift diff --git a/Sources/Copointed.swift b/Sources/Swiftz/Copointed.swift similarity index 100% rename from Sources/Copointed.swift rename to Sources/Swiftz/Copointed.swift diff --git a/Sources/Curry.swift b/Sources/Swiftz/Curry.swift similarity index 99% rename from Sources/Curry.swift rename to Sources/Swiftz/Curry.swift index 35023e5..6a019f3 100644 --- a/Sources/Curry.swift +++ b/Sources/Swiftz/Curry.swift @@ -392,7 +392,7 @@ public func curry(_ f : @escapin /// An uncurried function may take tuples as opposed to a curried function which must take a single /// value and return a single value or function. public func uncurry(_ f : @escaping (A) -> (B) -> C) -> (A, B) -> C { - return { t in f(t.0)(t.1) } + return { a, b in f(a)(b) } } public func uncurry(_ f : @escaping (A) -> (B) -> (C) -> D) -> (A, B, C) -> D { diff --git a/Sources/DictionaryExt.swift b/Sources/Swiftz/DictionaryExt.swift similarity index 97% rename from Sources/DictionaryExt.swift rename to Sources/Swiftz/DictionaryExt.swift index c7fd5aa..aa86422 100644 --- a/Sources/DictionaryExt.swift +++ b/Sources/Swiftz/DictionaryExt.swift @@ -173,7 +173,8 @@ extension Dictionary { /// Maps a function over all keys and values in the receiver. public func mapWithKey(_ f : (Key) -> (Value) -> Value2) -> [Key: Value2] { var d = [Key: Value2]() - self.forEach { (k, v) in + self.forEach { + let (k, v) = $0 d[k] = f(k)(v) } return d @@ -185,9 +186,10 @@ extension Dictionary { } /// Maps a function over all keys in the receiver. - public func mapKeys(_ f : (Key) -> Key2) -> [Key2: Value] { + public func mapKeys(_ f : (Key) -> Key2) -> [Key2: Value] { var d = [Key2: Value]() - self.forEach { (k, v) in + self.forEach { + let (k, v) = $0 d[f(k)] = v } return d @@ -231,7 +233,8 @@ extension Dictionary { /// the receiver. public func filterWithKey(_ pred : (Key) -> (Value) -> Bool) -> [Key: Value] { var d = [Key: Value]() - self.forEach { (k, v) in + self.forEach { + let (k, v) = $0 if pred(k)(v) { d[k] = v } @@ -261,7 +264,8 @@ extension Dictionary { public func partitionWithKey(_ pred : (Key) -> (Value) -> Bool) -> (passed : [Key: Value], failed : [Key: Value]) { var pass = [Key: Value]() var fail = [Key: Value]() - self.forEach { (k, v) in + self.forEach { + let (k, v) = $0 if pred(k)(v) { pass[k] = v } else { diff --git a/Sources/EitherExt.swift b/Sources/Swiftz/EitherExt.swift similarity index 100% rename from Sources/EitherExt.swift rename to Sources/Swiftz/EitherExt.swift diff --git a/Sources/Foldable.swift b/Sources/Swiftz/Foldable.swift similarity index 100% rename from Sources/Foldable.swift rename to Sources/Swiftz/Foldable.swift diff --git a/Sources/Function.swift b/Sources/Swiftz/Function.swift similarity index 95% rename from Sources/Function.swift rename to Sources/Swiftz/Function.swift index 4d4bbd9..23097a1 100644 --- a/Sources/Function.swift +++ b/Sources/Swiftz/Function.swift @@ -77,7 +77,7 @@ extension Function /*: Arrow*/ { } public func *** (_ f : Function, g : Function) -> Function<(B, D), (C, E)> { - return Function.arr { (x, y) in (f.apply(x), g.apply(y)) } + return Function.arr { let (x, y) = $0; return (f.apply(x), g.apply(y)) } } public func &&& (_ f : Function, g : Function) -> Function { @@ -114,7 +114,7 @@ extension Function /*: ArrowApply*/ { public typealias APP = Function<(Function, A), B> public static func app() -> Function<(Function, A), B> { - return Function<(Function, A), B>({ (f, x) in f.apply(x) }) + return Function<(Function, A), B>({ let (f, x) = $0; return f.apply(x) }) } } diff --git a/Sources/Functor.swift b/Sources/Swiftz/Functor.swift similarity index 100% rename from Sources/Functor.swift rename to Sources/Swiftz/Functor.swift diff --git a/Sources/HList.swift b/Sources/Swiftz/HList.swift similarity index 95% rename from Sources/HList.swift rename to Sources/Swiftz/HList.swift index 44809eb..538bb54 100644 --- a/Sources/HList.swift +++ b/Sources/Swiftz/HList.swift @@ -83,7 +83,7 @@ public struct HAppend { } /// Creates an HAppend that appends two non-HNil HLists. - public static func makeAppend(h : HAppend) -> HAppend, B, HCons> { + public static func makeAppend(h : HAppend) -> HAppend, B, HCons> { return HAppend, B, HCons> { (c, l) in return HCons(h: c.head, t: h.append(c.tail, l)) } @@ -126,7 +126,7 @@ public struct HMap { /// Returns an `HMap` that creates an `HCons` node out of a tuple of the /// head and tail of an `HList`. - public static func hcons() -> HMap<(), (H, T), HCons> { + public static func hcons() -> HMap<(), (H, T), HCons> { return HMap<(), (H, T), HCons> { (_, p) in return HCons(h: p.0, t: p.1) } @@ -175,7 +175,7 @@ public struct HFold { } /// Creates an `HFold` object that folds a function over an `HCons` node. - public static func makeFold(_ p : HMap, _ h : HFold) -> HFold, RR> { + public static func makeFold(_ p : HMap, _ h : HFold) -> HFold, RR> { return HFold, RR> { (f, v, c) in return p.map(f, (c.head, h.fold(f, v, c.tail))) } diff --git a/Sources/Identity.swift b/Sources/Swiftz/Identity.swift similarity index 100% rename from Sources/Identity.swift rename to Sources/Swiftz/Identity.swift diff --git a/Sources/Kinds.swift b/Sources/Swiftz/Kinds.swift similarity index 100% rename from Sources/Kinds.swift rename to Sources/Swiftz/Kinds.swift diff --git a/Sources/List.swift b/Sources/Swiftz/List.swift similarity index 99% rename from Sources/List.swift rename to Sources/Swiftz/List.swift index 27656c3..7f95e3d 100644 --- a/Sources/List.swift +++ b/Sources/Swiftz/List.swift @@ -526,7 +526,7 @@ public func == (lhs : List, rhs : List) -> Bool { return false } - return zip(lhs, rhs).map(==).reduce(true) { $0 && $1 } + return zip(lhs, rhs).map{ let (lhs, rhs) = $0; return lhs == rhs }.reduce(true) { $0 && $1 } } public func != (lhs : List, rhs : List) -> Bool { @@ -738,7 +738,7 @@ extension List /*: MonadZip*/ { } public func mzipWith(_ other : List, _ f : @escaping (A) -> (B) -> C) -> List { - return self.mzip(other).map(uncurry(f)) + return self.mzip(other).map { let (a, b) = $0; return uncurry(f)(a, b) } } public static func munzip(_ ftab : List<(A, B)>) -> (List, List) { diff --git a/Sources/Monad.swift b/Sources/Swiftz/Monad.swift similarity index 100% rename from Sources/Monad.swift rename to Sources/Swiftz/Monad.swift diff --git a/Sources/Monoid.swift b/Sources/Swiftz/Monoid.swift similarity index 100% rename from Sources/Monoid.swift rename to Sources/Swiftz/Monoid.swift diff --git a/Sources/Monoidal.swift b/Sources/Swiftz/Monoidal.swift similarity index 100% rename from Sources/Monoidal.swift rename to Sources/Swiftz/Monoidal.swift diff --git a/Sources/NonEmptyList.swift b/Sources/Swiftz/NonEmptyList.swift similarity index 98% rename from Sources/NonEmptyList.swift rename to Sources/Swiftz/NonEmptyList.swift index a2663c7..6ebffc6 100644 --- a/Sources/NonEmptyList.swift +++ b/Sources/Swiftz/NonEmptyList.swift @@ -195,7 +195,7 @@ extension NonEmptyList /*: MonadZip*/ { } public func mzipWith(_ other : NonEmptyList, _ f : @escaping (A) -> (B) -> C) -> NonEmptyList { - return self.mzip(other).fmap(uncurry(f)) + return self.mzip(other).fmap { let (a, b) = $0; return uncurry(f)(a, b) } } public static func munzip(_ ftab : NonEmptyList<(A, B)>) -> (NonEmptyList, NonEmptyList) { diff --git a/Sources/Num.swift b/Sources/Swiftz/Num.swift similarity index 100% rename from Sources/Num.swift rename to Sources/Swiftz/Num.swift diff --git a/Sources/OptionalExt.swift b/Sources/Swiftz/OptionalExt.swift similarity index 100% rename from Sources/OptionalExt.swift rename to Sources/Swiftz/OptionalExt.swift diff --git a/Sources/Pointed.swift b/Sources/Swiftz/Pointed.swift similarity index 100% rename from Sources/Pointed.swift rename to Sources/Swiftz/Pointed.swift diff --git a/Sources/Proxy.swift b/Sources/Swiftz/Proxy.swift similarity index 100% rename from Sources/Proxy.swift rename to Sources/Swiftz/Proxy.swift diff --git a/Sources/Ratio.swift b/Sources/Swiftz/Ratio.swift similarity index 84% rename from Sources/Ratio.swift rename to Sources/Swiftz/Ratio.swift index 507a076..183402c 100644 --- a/Sources/Ratio.swift +++ b/Sources/Swiftz/Ratio.swift @@ -35,7 +35,7 @@ public struct Ratio { extension Ratio : Equatable { } -public func == (l : Ratio, r : Ratio) -> Bool { +public func == (l : Ratio, r : Ratio) -> Bool { let lred = reduce(l.numerator(), d: l.denominator()) let rred = reduce(r.numerator(), d: r.denominator()) return (lred.numerator() == rred.numerator()) && (rred.denominator() == rred.denominator()) @@ -43,19 +43,19 @@ public func == (l : Ratio, r : Ratio) -> Boo extension Ratio : Comparable { } -public func < (l : Ratio, r : Ratio) -> Bool { +public func < (l : Ratio, r : Ratio) -> Bool { return (l.numerator().times(r.denominator())) < (r.numerator().times(l.denominator())) } -public func <= (l : Ratio, r : Ratio) -> Bool { +public func <= (l : Ratio, r : Ratio) -> Bool { return (l.numerator().times(r.denominator())) <= (r.numerator().times(l.denominator())) } -public func >= (l : Ratio, r : Ratio) -> Bool { +public func >= (l : Ratio, r : Ratio) -> Bool { return !(l < r) } -public func > (l : Ratio, r : Ratio) -> Bool { +public func > (l : Ratio, r : Ratio) -> Bool { return !(l <= r) } @@ -81,7 +81,7 @@ extension Ratio : NumericType { /// Implementation Details Follow -private func reduce(_ n : T, d : T) -> Ratio { +private func reduce(_ n : T, d : T) -> Ratio { if d == T.zero { return undefined() } diff --git a/Sources/Reader.swift b/Sources/Swiftz/Reader.swift similarity index 100% rename from Sources/Reader.swift rename to Sources/Swiftz/Reader.swift diff --git a/Sources/Semigroup.swift b/Sources/Swiftz/Semigroup.swift similarity index 100% rename from Sources/Semigroup.swift rename to Sources/Swiftz/Semigroup.swift diff --git a/Sources/State.swift b/Sources/Swiftz/State.swift similarity index 100% rename from Sources/State.swift rename to Sources/Swiftz/State.swift diff --git a/Sources/Stream.swift b/Sources/Swiftz/Stream.swift similarity index 100% rename from Sources/Stream.swift rename to Sources/Swiftz/Stream.swift diff --git a/Sources/StringExt.swift b/Sources/Swiftz/StringExt.swift similarity index 98% rename from Sources/StringExt.swift rename to Sources/Swiftz/StringExt.swift index b9caae6..e0ced52 100644 --- a/Sources/StringExt.swift +++ b/Sources/Swiftz/StringExt.swift @@ -57,7 +57,7 @@ extension String { } else if self.characters.count == 1 { return .Cons(self[self.startIndex], "") } - return .Cons(self[self.startIndex], self[self.index(after: self.startIndex).. { /// Returns a `Writer` that applies the function to its current value and /// environment. - public func mapWriter(_ f : (T, W) -> (U, V)) -> Writer { + public func mapWriter(_ f : (T, W) -> (U, V)) -> Writer { let (t, w) = self.runWriter return Writer(f(t, w)) } @@ -38,13 +38,13 @@ public struct Writer { } /// Appends the given value to the `Writer`'s environment. -public func tell(w : W) -> Writer { +public func tell(w : W) -> Writer { return Writer(((), w)) } /// Executes the action of the given `Writer` and adds its output to the result /// of the computation. -public func listen(w : Writer) -> Writer { +public func listen(w : Writer) -> Writer { let (a, w) = w.runWriter return Writer(((a, w), w)) } @@ -52,7 +52,7 @@ public func listen(w : Writer) -> Writer { /// Executes the action of the given `Writer` then applies the function to the /// produced environment and adds the overall output to the result of the /// computation. -public func listens(_ f : (W) -> B, w : Writer) -> Writer { +public func listens(_ f : (W) -> B, w : Writer) -> Writer { let (a, w) = w.runWriter return Writer(((a, f(w)), w)) } @@ -60,14 +60,14 @@ public func listens(_ f : (W) -> B, w : Writer) -> Write /// Executes the action of the given `Writer` to get a value and a function. /// The function is then applied to the current environment and the output added /// to the result of the computation. -public func pass(w : Writer W)>) -> Writer { +public func pass(w : Writer W)>) -> Writer { let ((a, f), w) = w.runWriter return Writer((a, f(w))) } /// Executes the actino of the given `Writer` and applies the given function to /// its environment, leaving the value produced untouched. -public func censor(_ f : (W) -> W, w : Writer) -> Writer { +public func censor(_ f : (W) -> W, w : Writer) -> Writer { let (a, w) = w.runWriter return Writer((a, f(w))) } @@ -81,14 +81,14 @@ extension Writer /*: Functor*/ { } } -public func <^> (_ f : (A) -> B, w : Writer) -> Writer { +public func <^> (_ f : (A) -> B, w : Writer) -> Writer { return w.fmap(f) } extension Writer /*: Pointed*/ { public typealias A = T - public static func pure(_ x : A) -> Writer { + public static func pure(_ x : A) -> Writer { return Writer((x, W.mempty)) } } @@ -101,7 +101,7 @@ extension Writer /*: Applicative*/ { } } -public func <*> (wfs : Writer B>, xs : Writer) -> Writer { +public func <*> (wfs : Writer B>, xs : Writer) -> Writer { return wfs.bind(Writer.fmap(xs)) } @@ -179,21 +179,21 @@ extension Writer /*: MonadOps*/ { } } -public func >>->> (_ f : @escaping (A) -> Writer, g : @escaping (B) -> Writer) -> ((A) -> Writer) { +public func >>->> (_ f : @escaping (A) -> Writer, g : @escaping (B) -> Writer) -> ((A) -> Writer) { return { x in f(x) >>- g } } -public func <<-<< (g : @escaping (B) -> Writer, f : @escaping (A) -> Writer) -> ((A) -> Writer) { +public func <<-<< (g : @escaping (B) -> Writer, f : @escaping (A) -> Writer) -> ((A) -> Writer) { return f >>->> g } -public func == (l : Writer, r : Writer) -> Bool { +public func == (l : Writer, r : Writer) -> Bool { let (a, w) = l.runWriter let (a2, w2) = r.runWriter return (a == a2) && (w == w2) } -public func != (l : Writer, r : Writer) -> Bool { +public func != (l : Writer, r : Writer) -> Bool { return !(l == r) } diff --git a/Swiftz.podspec b/Swiftz.podspec index bf7fea0..540147f 100644 --- a/Swiftz.podspec +++ b/Swiftz.podspec @@ -14,5 +14,5 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/typelift/Swiftz.git", :tag => "#{s.version}", :submodules => true } s.compiler_flags = '-D XCODE_BUILD' s.xcconfig = { "OTHER_SWIFT_FLAGS" => '-DXCODE_BUILD' } - s.source_files = "Swiftz/Sources/*.swift", "Carthage/Checkouts/Swiftx/Sources/*.swift", "Carthage/Checkouts/Operadics/Operators.swift" + s.source_files = "Swiftz/Sources/Swiftz/*.swift", "Carthage/Checkouts/Swiftx/Sources/*.swift", "Carthage/Checkouts/Operadics/Operators.swift" end diff --git a/Swiftz.xcodeproj/project.pbxproj b/Swiftz.xcodeproj/project.pbxproj index 8a67d3c..19b685d 100644 --- a/Swiftz.xcodeproj/project.pbxproj +++ b/Swiftz.xcodeproj/project.pbxproj @@ -7,10 +7,174 @@ objects = { /* Begin PBXBuildFile section */ - 821B76B01BC43C1000AF97D6 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821B76AF1BC43C1000AF97D6 /* Operators.swift */; }; - 821B76C51BC43DF000AF97D6 /* SwiftCheck.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 821B76BC1BC43DE100AF97D6 /* SwiftCheck.framework */; }; - 821B76C81BC43DF900AF97D6 /* SwiftCheck.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 821B76BC1BC43DE100AF97D6 /* SwiftCheck.framework */; }; - 821B76C91BC4402700AF97D6 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821B76AF1BC43C1000AF97D6 /* Operators.swift */; }; + 6A0936821F15425000E99DF5 /* SwiftCheck.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 6ABBD7C11EFAFD920079041C /* SwiftCheck.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 6A0936831F15429E00E99DF5 /* SwiftCheck.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 6ABBD7C51EFAFD920079041C /* SwiftCheck.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 6A0936861F1542C300E99DF5 /* SwiftCheck.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 6ABBD7C91EFAFD920079041C /* SwiftCheck.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 6A0936871F1542E000E99DF5 /* Swiftz.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8240CD1C1C3A395F00EF4D29 /* Swiftz.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 6ABBD7F91EFB01B50079041C /* ArrayExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CE1EFB01200079041C /* ArrayExt.swift */; }; + 6ABBD7FA1EFB01B50079041C /* ArrowExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CF1EFB01200079041C /* ArrowExt.swift */; }; + 6ABBD7FB1EFB01B50079041C /* CharacterExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D01EFB01200079041C /* CharacterExt.swift */; }; + 6ABBD7FC1EFB01B50079041C /* DictionaryExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D11EFB01200079041C /* DictionaryExt.swift */; }; + 6ABBD7FD1EFB01B50079041C /* EitherExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D21EFB01200079041C /* EitherExt.swift */; }; + 6ABBD7FE1EFB01B50079041C /* OptionalExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D31EFB01200079041C /* OptionalExt.swift */; }; + 6ABBD7FF1EFB01B50079041C /* StringExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D41EFB01200079041C /* StringExt.swift */; }; + 6ABBD8001EFB01B50079041C /* TupleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D51EFB01200079041C /* TupleExt.swift */; }; + 6ABBD8011EFB01B60079041C /* ArrayExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CE1EFB01200079041C /* ArrayExt.swift */; }; + 6ABBD8021EFB01B60079041C /* ArrowExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CF1EFB01200079041C /* ArrowExt.swift */; }; + 6ABBD8031EFB01B60079041C /* CharacterExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D01EFB01200079041C /* CharacterExt.swift */; }; + 6ABBD8041EFB01B60079041C /* DictionaryExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D11EFB01200079041C /* DictionaryExt.swift */; }; + 6ABBD8051EFB01B60079041C /* EitherExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D21EFB01200079041C /* EitherExt.swift */; }; + 6ABBD8061EFB01B60079041C /* OptionalExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D31EFB01200079041C /* OptionalExt.swift */; }; + 6ABBD8071EFB01B60079041C /* StringExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D41EFB01200079041C /* StringExt.swift */; }; + 6ABBD8081EFB01B60079041C /* TupleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D51EFB01200079041C /* TupleExt.swift */; }; + 6ABBD8091EFB01B70079041C /* ArrayExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CE1EFB01200079041C /* ArrayExt.swift */; }; + 6ABBD80A1EFB01B70079041C /* ArrowExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CF1EFB01200079041C /* ArrowExt.swift */; }; + 6ABBD80B1EFB01B70079041C /* CharacterExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D01EFB01200079041C /* CharacterExt.swift */; }; + 6ABBD80C1EFB01B70079041C /* DictionaryExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D11EFB01200079041C /* DictionaryExt.swift */; }; + 6ABBD80D1EFB01B70079041C /* EitherExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D21EFB01200079041C /* EitherExt.swift */; }; + 6ABBD80E1EFB01B70079041C /* OptionalExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D31EFB01200079041C /* OptionalExt.swift */; }; + 6ABBD80F1EFB01B70079041C /* StringExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D41EFB01200079041C /* StringExt.swift */; }; + 6ABBD8101EFB01B70079041C /* TupleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D51EFB01200079041C /* TupleExt.swift */; }; + 6ABBD8111EFB01B80079041C /* ArrayExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CE1EFB01200079041C /* ArrayExt.swift */; }; + 6ABBD8121EFB01B80079041C /* ArrowExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CF1EFB01200079041C /* ArrowExt.swift */; }; + 6ABBD8131EFB01B80079041C /* CharacterExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D01EFB01200079041C /* CharacterExt.swift */; }; + 6ABBD8141EFB01B80079041C /* DictionaryExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D11EFB01200079041C /* DictionaryExt.swift */; }; + 6ABBD8151EFB01B80079041C /* EitherExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D21EFB01200079041C /* EitherExt.swift */; }; + 6ABBD8161EFB01B80079041C /* OptionalExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D31EFB01200079041C /* OptionalExt.swift */; }; + 6ABBD8171EFB01B80079041C /* StringExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D41EFB01200079041C /* StringExt.swift */; }; + 6ABBD8181EFB01B80079041C /* TupleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D51EFB01200079041C /* TupleExt.swift */; }; + 6ABBD8191EFB01BE0079041C /* Bifunctor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D91EFB01200079041C /* Bifunctor.swift */; }; + 6ABBD81A1EFB01BE0079041C /* Bounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DA1EFB01200079041C /* Bounded.swift */; }; + 6ABBD81B1EFB01BE0079041C /* Const.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DB1EFB01200079041C /* Const.swift */; }; + 6ABBD81C1EFB01BE0079041C /* Curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DC1EFB01200079041C /* Curry.swift */; }; + 6ABBD81D1EFB01BE0079041C /* Foldable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DD1EFB01200079041C /* Foldable.swift */; }; + 6ABBD81E1EFB01BE0079041C /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DE1EFB01200079041C /* Function.swift */; }; + 6ABBD81F1EFB01BE0079041C /* Functor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DF1EFB01200079041C /* Functor.swift */; }; + 6ABBD8201EFB01BE0079041C /* HList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E01EFB01200079041C /* HList.swift */; }; + 6ABBD8211EFB01BE0079041C /* Identity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E11EFB01200079041C /* Identity.swift */; }; + 6ABBD8221EFB01BE0079041C /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E21EFB01200079041C /* List.swift */; }; + 6ABBD8231EFB01BE0079041C /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E31EFB01200079041C /* Monoid.swift */; }; + 6ABBD8241EFB01BE0079041C /* NonEmptyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E41EFB01200079041C /* NonEmptyList.swift */; }; + 6ABBD8251EFB01BE0079041C /* Num.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E51EFB01200079041C /* Num.swift */; }; + 6ABBD8261EFB01BE0079041C /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E61EFB01200079041C /* Proxy.swift */; }; + 6ABBD8271EFB01BE0079041C /* Ratio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E71EFB01200079041C /* Ratio.swift */; }; + 6ABBD8281EFB01BE0079041C /* Reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E81EFB01200079041C /* Reader.swift */; }; + 6ABBD8291EFB01BE0079041C /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E91EFB01200079041C /* Semigroup.swift */; }; + 6ABBD82A1EFB01BE0079041C /* State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EA1EFB01200079041C /* State.swift */; }; + 6ABBD82B1EFB01BE0079041C /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EB1EFB01200079041C /* Stream.swift */; }; + 6ABBD82C1EFB01BE0079041C /* Those.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EC1EFB01200079041C /* Those.swift */; }; + 6ABBD82D1EFB01BE0079041C /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7ED1EFB01200079041C /* Unit.swift */; }; + 6ABBD82E1EFB01BE0079041C /* Writer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EE1EFB01200079041C /* Writer.swift */; }; + 6ABBD82F1EFB01BF0079041C /* Bifunctor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D91EFB01200079041C /* Bifunctor.swift */; }; + 6ABBD8301EFB01BF0079041C /* Bounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DA1EFB01200079041C /* Bounded.swift */; }; + 6ABBD8311EFB01BF0079041C /* Const.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DB1EFB01200079041C /* Const.swift */; }; + 6ABBD8321EFB01BF0079041C /* Curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DC1EFB01200079041C /* Curry.swift */; }; + 6ABBD8331EFB01BF0079041C /* Foldable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DD1EFB01200079041C /* Foldable.swift */; }; + 6ABBD8341EFB01BF0079041C /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DE1EFB01200079041C /* Function.swift */; }; + 6ABBD8351EFB01BF0079041C /* Functor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DF1EFB01200079041C /* Functor.swift */; }; + 6ABBD8361EFB01BF0079041C /* HList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E01EFB01200079041C /* HList.swift */; }; + 6ABBD8371EFB01BF0079041C /* Identity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E11EFB01200079041C /* Identity.swift */; }; + 6ABBD8381EFB01BF0079041C /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E21EFB01200079041C /* List.swift */; }; + 6ABBD8391EFB01BF0079041C /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E31EFB01200079041C /* Monoid.swift */; }; + 6ABBD83A1EFB01BF0079041C /* NonEmptyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E41EFB01200079041C /* NonEmptyList.swift */; }; + 6ABBD83B1EFB01BF0079041C /* Num.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E51EFB01200079041C /* Num.swift */; }; + 6ABBD83C1EFB01BF0079041C /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E61EFB01200079041C /* Proxy.swift */; }; + 6ABBD83D1EFB01BF0079041C /* Ratio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E71EFB01200079041C /* Ratio.swift */; }; + 6ABBD83E1EFB01BF0079041C /* Reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E81EFB01200079041C /* Reader.swift */; }; + 6ABBD83F1EFB01BF0079041C /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E91EFB01200079041C /* Semigroup.swift */; }; + 6ABBD8401EFB01BF0079041C /* State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EA1EFB01200079041C /* State.swift */; }; + 6ABBD8411EFB01BF0079041C /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EB1EFB01200079041C /* Stream.swift */; }; + 6ABBD8421EFB01BF0079041C /* Those.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EC1EFB01200079041C /* Those.swift */; }; + 6ABBD8431EFB01BF0079041C /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7ED1EFB01200079041C /* Unit.swift */; }; + 6ABBD8441EFB01BF0079041C /* Writer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EE1EFB01200079041C /* Writer.swift */; }; + 6ABBD8451EFB01BF0079041C /* Bifunctor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D91EFB01200079041C /* Bifunctor.swift */; }; + 6ABBD8461EFB01BF0079041C /* Bounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DA1EFB01200079041C /* Bounded.swift */; }; + 6ABBD8471EFB01BF0079041C /* Const.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DB1EFB01200079041C /* Const.swift */; }; + 6ABBD8481EFB01BF0079041C /* Curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DC1EFB01200079041C /* Curry.swift */; }; + 6ABBD8491EFB01BF0079041C /* Foldable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DD1EFB01200079041C /* Foldable.swift */; }; + 6ABBD84A1EFB01BF0079041C /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DE1EFB01200079041C /* Function.swift */; }; + 6ABBD84B1EFB01BF0079041C /* Functor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DF1EFB01200079041C /* Functor.swift */; }; + 6ABBD84C1EFB01BF0079041C /* HList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E01EFB01200079041C /* HList.swift */; }; + 6ABBD84D1EFB01BF0079041C /* Identity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E11EFB01200079041C /* Identity.swift */; }; + 6ABBD84E1EFB01BF0079041C /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E21EFB01200079041C /* List.swift */; }; + 6ABBD84F1EFB01BF0079041C /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E31EFB01200079041C /* Monoid.swift */; }; + 6ABBD8501EFB01BF0079041C /* NonEmptyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E41EFB01200079041C /* NonEmptyList.swift */; }; + 6ABBD8511EFB01BF0079041C /* Num.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E51EFB01200079041C /* Num.swift */; }; + 6ABBD8521EFB01BF0079041C /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E61EFB01200079041C /* Proxy.swift */; }; + 6ABBD8531EFB01BF0079041C /* Ratio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E71EFB01200079041C /* Ratio.swift */; }; + 6ABBD8541EFB01BF0079041C /* Reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E81EFB01200079041C /* Reader.swift */; }; + 6ABBD8551EFB01BF0079041C /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E91EFB01200079041C /* Semigroup.swift */; }; + 6ABBD8561EFB01BF0079041C /* State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EA1EFB01200079041C /* State.swift */; }; + 6ABBD8571EFB01BF0079041C /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EB1EFB01200079041C /* Stream.swift */; }; + 6ABBD8581EFB01BF0079041C /* Those.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EC1EFB01200079041C /* Those.swift */; }; + 6ABBD8591EFB01BF0079041C /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7ED1EFB01200079041C /* Unit.swift */; }; + 6ABBD85A1EFB01BF0079041C /* Writer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EE1EFB01200079041C /* Writer.swift */; }; + 6ABBD85B1EFB01C00079041C /* Bifunctor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7D91EFB01200079041C /* Bifunctor.swift */; }; + 6ABBD85C1EFB01C00079041C /* Bounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DA1EFB01200079041C /* Bounded.swift */; }; + 6ABBD85D1EFB01C00079041C /* Const.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DB1EFB01200079041C /* Const.swift */; }; + 6ABBD85E1EFB01C00079041C /* Curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DC1EFB01200079041C /* Curry.swift */; }; + 6ABBD85F1EFB01C00079041C /* Foldable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DD1EFB01200079041C /* Foldable.swift */; }; + 6ABBD8601EFB01C00079041C /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DE1EFB01200079041C /* Function.swift */; }; + 6ABBD8611EFB01C00079041C /* Functor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7DF1EFB01200079041C /* Functor.swift */; }; + 6ABBD8621EFB01C00079041C /* HList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E01EFB01200079041C /* HList.swift */; }; + 6ABBD8631EFB01C00079041C /* Identity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E11EFB01200079041C /* Identity.swift */; }; + 6ABBD8641EFB01C00079041C /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E21EFB01200079041C /* List.swift */; }; + 6ABBD8651EFB01C00079041C /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E31EFB01200079041C /* Monoid.swift */; }; + 6ABBD8661EFB01C00079041C /* NonEmptyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E41EFB01200079041C /* NonEmptyList.swift */; }; + 6ABBD8671EFB01C00079041C /* Num.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E51EFB01200079041C /* Num.swift */; }; + 6ABBD8681EFB01C00079041C /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E61EFB01200079041C /* Proxy.swift */; }; + 6ABBD8691EFB01C00079041C /* Ratio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E71EFB01200079041C /* Ratio.swift */; }; + 6ABBD86A1EFB01C00079041C /* Reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E81EFB01200079041C /* Reader.swift */; }; + 6ABBD86B1EFB01C00079041C /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7E91EFB01200079041C /* Semigroup.swift */; }; + 6ABBD86C1EFB01C00079041C /* State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EA1EFB01200079041C /* State.swift */; }; + 6ABBD86D1EFB01C00079041C /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EB1EFB01200079041C /* Stream.swift */; }; + 6ABBD86E1EFB01C00079041C /* Those.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EC1EFB01200079041C /* Those.swift */; }; + 6ABBD86F1EFB01C00079041C /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7ED1EFB01200079041C /* Unit.swift */; }; + 6ABBD8701EFB01C00079041C /* Writer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7EE1EFB01200079041C /* Writer.swift */; }; + 6ABBD8711EFB01D40079041C /* Applicative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F01EFB01200079041C /* Applicative.swift */; }; + 6ABBD8721EFB01D40079041C /* Arrow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F11EFB01200079041C /* Arrow.swift */; }; + 6ABBD8731EFB01D40079041C /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F21EFB01200079041C /* Category.swift */; }; + 6ABBD8741EFB01D40079041C /* Comonad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F31EFB01200079041C /* Comonad.swift */; }; + 6ABBD8751EFB01D40079041C /* Copointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F41EFB01200079041C /* Copointed.swift */; }; + 6ABBD8761EFB01D40079041C /* Monad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F51EFB01200079041C /* Monad.swift */; }; + 6ABBD8771EFB01D40079041C /* Monoidal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F61EFB01200079041C /* Monoidal.swift */; }; + 6ABBD8781EFB01D40079041C /* Pointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F71EFB01200079041C /* Pointed.swift */; }; + 6ABBD8791EFB01D50079041C /* Applicative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F01EFB01200079041C /* Applicative.swift */; }; + 6ABBD87A1EFB01D50079041C /* Arrow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F11EFB01200079041C /* Arrow.swift */; }; + 6ABBD87B1EFB01D50079041C /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F21EFB01200079041C /* Category.swift */; }; + 6ABBD87C1EFB01D50079041C /* Comonad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F31EFB01200079041C /* Comonad.swift */; }; + 6ABBD87D1EFB01D50079041C /* Copointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F41EFB01200079041C /* Copointed.swift */; }; + 6ABBD87E1EFB01D50079041C /* Monad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F51EFB01200079041C /* Monad.swift */; }; + 6ABBD87F1EFB01D50079041C /* Monoidal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F61EFB01200079041C /* Monoidal.swift */; }; + 6ABBD8801EFB01D50079041C /* Pointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F71EFB01200079041C /* Pointed.swift */; }; + 6ABBD8811EFB01D60079041C /* Applicative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F01EFB01200079041C /* Applicative.swift */; }; + 6ABBD8821EFB01D60079041C /* Arrow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F11EFB01200079041C /* Arrow.swift */; }; + 6ABBD8831EFB01D60079041C /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F21EFB01200079041C /* Category.swift */; }; + 6ABBD8841EFB01D60079041C /* Comonad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F31EFB01200079041C /* Comonad.swift */; }; + 6ABBD8851EFB01D60079041C /* Copointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F41EFB01200079041C /* Copointed.swift */; }; + 6ABBD8861EFB01D60079041C /* Monad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F51EFB01200079041C /* Monad.swift */; }; + 6ABBD8871EFB01D60079041C /* Monoidal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F61EFB01200079041C /* Monoidal.swift */; }; + 6ABBD8881EFB01D60079041C /* Pointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F71EFB01200079041C /* Pointed.swift */; }; + 6ABBD8891EFB01D60079041C /* Applicative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F01EFB01200079041C /* Applicative.swift */; }; + 6ABBD88A1EFB01D60079041C /* Arrow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F11EFB01200079041C /* Arrow.swift */; }; + 6ABBD88B1EFB01D60079041C /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F21EFB01200079041C /* Category.swift */; }; + 6ABBD88C1EFB01D60079041C /* Comonad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F31EFB01200079041C /* Comonad.swift */; }; + 6ABBD88D1EFB01D60079041C /* Copointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F41EFB01200079041C /* Copointed.swift */; }; + 6ABBD88E1EFB01D60079041C /* Monad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F51EFB01200079041C /* Monad.swift */; }; + 6ABBD88F1EFB01D60079041C /* Monoidal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F61EFB01200079041C /* Monoidal.swift */; }; + 6ABBD8901EFB01D60079041C /* Pointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F71EFB01200079041C /* Pointed.swift */; }; + 6ABBD8911EFB01DB0079041C /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CC1EFB01200079041C /* Kinds.swift */; }; + 6ABBD8921EFB01DC0079041C /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CC1EFB01200079041C /* Kinds.swift */; }; + 6ABBD8931EFB01DD0079041C /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CC1EFB01200079041C /* Kinds.swift */; }; + 6ABBD8941EFB01DD0079041C /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7CC1EFB01200079041C /* Kinds.swift */; }; + 6ABBD8951EFB01E00079041C /* Swiftz.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ABBD7D61EFB01200079041C /* Swiftz.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6ABBD8961EFB01E10079041C /* Swiftz.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ABBD7D61EFB01200079041C /* Swiftz.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6ABBD8971EFB01E20079041C /* Swiftz.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ABBD7D61EFB01200079041C /* Swiftz.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6ABBD8981EFB01E30079041C /* Swiftz.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ABBD7D61EFB01200079041C /* Swiftz.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6ABBD8991EFB04A60079041C /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F81EFB01510079041C /* Operators.swift */; }; + 6ABBD89A1EFB04A60079041C /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F81EFB01510079041C /* Operators.swift */; }; + 6ABBD89B1EFB04A70079041C /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F81EFB01510079041C /* Operators.swift */; }; + 6ABBD89C1EFB04A90079041C /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ABBD7F81EFB01510079041C /* Operators.swift */; }; 821BEEE71D8F3EA5009F8D58 /* ArrayExtSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEED21D8F3EA5009F8D58 /* ArrayExtSpec.swift */; }; 821BEEE81D8F3EA5009F8D58 /* ArrayExtSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEED21D8F3EA5009F8D58 /* ArrayExtSpec.swift */; }; 821BEEE91D8F3EA5009F8D58 /* ArrayExtSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEED21D8F3EA5009F8D58 /* ArrayExtSpec.swift */; }; @@ -74,171 +238,8 @@ 821BEF231D8F3EA5009F8D58 /* WriterSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEEE61D8F3EA5009F8D58 /* WriterSpec.swift */; }; 821BEF241D8F3EA5009F8D58 /* WriterSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEEE61D8F3EA5009F8D58 /* WriterSpec.swift */; }; 821BEF251D8F3EA5009F8D58 /* WriterSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEEE61D8F3EA5009F8D58 /* WriterSpec.swift */; }; - 821BEF511D8F3EF8009F8D58 /* Applicative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF281D8F3EF8009F8D58 /* Applicative.swift */; }; - 821BEF521D8F3EF8009F8D58 /* Applicative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF281D8F3EF8009F8D58 /* Applicative.swift */; }; - 821BEF531D8F3EF8009F8D58 /* Applicative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF281D8F3EF8009F8D58 /* Applicative.swift */; }; - 821BEF541D8F3EF8009F8D58 /* Applicative.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF281D8F3EF8009F8D58 /* Applicative.swift */; }; - 821BEF551D8F3EF8009F8D58 /* ArrayExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF291D8F3EF8009F8D58 /* ArrayExt.swift */; }; - 821BEF561D8F3EF8009F8D58 /* ArrayExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF291D8F3EF8009F8D58 /* ArrayExt.swift */; }; - 821BEF571D8F3EF8009F8D58 /* ArrayExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF291D8F3EF8009F8D58 /* ArrayExt.swift */; }; - 821BEF581D8F3EF8009F8D58 /* ArrayExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF291D8F3EF8009F8D58 /* ArrayExt.swift */; }; - 821BEF591D8F3EF8009F8D58 /* Arrow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2A1D8F3EF8009F8D58 /* Arrow.swift */; }; - 821BEF5A1D8F3EF8009F8D58 /* Arrow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2A1D8F3EF8009F8D58 /* Arrow.swift */; }; - 821BEF5B1D8F3EF8009F8D58 /* Arrow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2A1D8F3EF8009F8D58 /* Arrow.swift */; }; - 821BEF5C1D8F3EF8009F8D58 /* Arrow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2A1D8F3EF8009F8D58 /* Arrow.swift */; }; - 821BEF5D1D8F3EF8009F8D58 /* ArrowExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2B1D8F3EF8009F8D58 /* ArrowExt.swift */; }; - 821BEF5E1D8F3EF8009F8D58 /* ArrowExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2B1D8F3EF8009F8D58 /* ArrowExt.swift */; }; - 821BEF5F1D8F3EF8009F8D58 /* ArrowExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2B1D8F3EF8009F8D58 /* ArrowExt.swift */; }; - 821BEF601D8F3EF8009F8D58 /* ArrowExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2B1D8F3EF8009F8D58 /* ArrowExt.swift */; }; - 821BEF611D8F3EF8009F8D58 /* Bifunctor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2C1D8F3EF8009F8D58 /* Bifunctor.swift */; }; - 821BEF621D8F3EF8009F8D58 /* Bifunctor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2C1D8F3EF8009F8D58 /* Bifunctor.swift */; }; - 821BEF631D8F3EF8009F8D58 /* Bifunctor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2C1D8F3EF8009F8D58 /* Bifunctor.swift */; }; - 821BEF641D8F3EF8009F8D58 /* Bifunctor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2C1D8F3EF8009F8D58 /* Bifunctor.swift */; }; - 821BEF651D8F3EF8009F8D58 /* Bounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2D1D8F3EF8009F8D58 /* Bounded.swift */; }; - 821BEF661D8F3EF8009F8D58 /* Bounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2D1D8F3EF8009F8D58 /* Bounded.swift */; }; - 821BEF671D8F3EF8009F8D58 /* Bounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2D1D8F3EF8009F8D58 /* Bounded.swift */; }; - 821BEF681D8F3EF8009F8D58 /* Bounded.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2D1D8F3EF8009F8D58 /* Bounded.swift */; }; - 821BEF691D8F3EF8009F8D58 /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2E1D8F3EF8009F8D58 /* Category.swift */; }; - 821BEF6A1D8F3EF8009F8D58 /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2E1D8F3EF8009F8D58 /* Category.swift */; }; - 821BEF6B1D8F3EF8009F8D58 /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2E1D8F3EF8009F8D58 /* Category.swift */; }; - 821BEF6C1D8F3EF8009F8D58 /* Category.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2E1D8F3EF8009F8D58 /* Category.swift */; }; - 821BEF6D1D8F3EF8009F8D58 /* CharacterExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2F1D8F3EF8009F8D58 /* CharacterExt.swift */; }; - 821BEF6E1D8F3EF8009F8D58 /* CharacterExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2F1D8F3EF8009F8D58 /* CharacterExt.swift */; }; - 821BEF6F1D8F3EF8009F8D58 /* CharacterExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2F1D8F3EF8009F8D58 /* CharacterExt.swift */; }; - 821BEF701D8F3EF8009F8D58 /* CharacterExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF2F1D8F3EF8009F8D58 /* CharacterExt.swift */; }; - 821BEF711D8F3EF8009F8D58 /* Comonad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF301D8F3EF8009F8D58 /* Comonad.swift */; }; - 821BEF721D8F3EF8009F8D58 /* Comonad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF301D8F3EF8009F8D58 /* Comonad.swift */; }; - 821BEF731D8F3EF8009F8D58 /* Comonad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF301D8F3EF8009F8D58 /* Comonad.swift */; }; - 821BEF741D8F3EF8009F8D58 /* Comonad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF301D8F3EF8009F8D58 /* Comonad.swift */; }; - 821BEF751D8F3EF8009F8D58 /* Const.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF311D8F3EF8009F8D58 /* Const.swift */; }; - 821BEF761D8F3EF8009F8D58 /* Const.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF311D8F3EF8009F8D58 /* Const.swift */; }; - 821BEF771D8F3EF8009F8D58 /* Const.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF311D8F3EF8009F8D58 /* Const.swift */; }; - 821BEF781D8F3EF8009F8D58 /* Const.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF311D8F3EF8009F8D58 /* Const.swift */; }; - 821BEF791D8F3EF8009F8D58 /* Copointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF321D8F3EF8009F8D58 /* Copointed.swift */; }; - 821BEF7A1D8F3EF8009F8D58 /* Copointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF321D8F3EF8009F8D58 /* Copointed.swift */; }; - 821BEF7B1D8F3EF8009F8D58 /* Copointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF321D8F3EF8009F8D58 /* Copointed.swift */; }; - 821BEF7C1D8F3EF8009F8D58 /* Copointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF321D8F3EF8009F8D58 /* Copointed.swift */; }; - 821BEF7D1D8F3EF8009F8D58 /* Curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF331D8F3EF8009F8D58 /* Curry.swift */; }; - 821BEF7E1D8F3EF8009F8D58 /* Curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF331D8F3EF8009F8D58 /* Curry.swift */; }; - 821BEF7F1D8F3EF8009F8D58 /* Curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF331D8F3EF8009F8D58 /* Curry.swift */; }; - 821BEF801D8F3EF8009F8D58 /* Curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF331D8F3EF8009F8D58 /* Curry.swift */; }; - 821BEF811D8F3EF8009F8D58 /* DictionaryExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF341D8F3EF8009F8D58 /* DictionaryExt.swift */; }; - 821BEF821D8F3EF8009F8D58 /* DictionaryExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF341D8F3EF8009F8D58 /* DictionaryExt.swift */; }; - 821BEF831D8F3EF8009F8D58 /* DictionaryExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF341D8F3EF8009F8D58 /* DictionaryExt.swift */; }; - 821BEF841D8F3EF8009F8D58 /* DictionaryExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF341D8F3EF8009F8D58 /* DictionaryExt.swift */; }; - 821BEF851D8F3EF8009F8D58 /* EitherExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF351D8F3EF8009F8D58 /* EitherExt.swift */; }; - 821BEF861D8F3EF8009F8D58 /* EitherExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF351D8F3EF8009F8D58 /* EitherExt.swift */; }; - 821BEF871D8F3EF8009F8D58 /* EitherExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF351D8F3EF8009F8D58 /* EitherExt.swift */; }; - 821BEF881D8F3EF8009F8D58 /* EitherExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF351D8F3EF8009F8D58 /* EitherExt.swift */; }; - 821BEF891D8F3EF8009F8D58 /* Foldable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF361D8F3EF8009F8D58 /* Foldable.swift */; }; - 821BEF8A1D8F3EF8009F8D58 /* Foldable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF361D8F3EF8009F8D58 /* Foldable.swift */; }; - 821BEF8B1D8F3EF8009F8D58 /* Foldable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF361D8F3EF8009F8D58 /* Foldable.swift */; }; - 821BEF8C1D8F3EF8009F8D58 /* Foldable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF361D8F3EF8009F8D58 /* Foldable.swift */; }; - 821BEF8D1D8F3EF8009F8D58 /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF371D8F3EF8009F8D58 /* Function.swift */; }; - 821BEF8E1D8F3EF8009F8D58 /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF371D8F3EF8009F8D58 /* Function.swift */; }; - 821BEF8F1D8F3EF8009F8D58 /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF371D8F3EF8009F8D58 /* Function.swift */; }; - 821BEF901D8F3EF8009F8D58 /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF371D8F3EF8009F8D58 /* Function.swift */; }; - 821BEF911D8F3EF8009F8D58 /* Functor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF381D8F3EF8009F8D58 /* Functor.swift */; }; - 821BEF921D8F3EF8009F8D58 /* Functor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF381D8F3EF8009F8D58 /* Functor.swift */; }; - 821BEF931D8F3EF8009F8D58 /* Functor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF381D8F3EF8009F8D58 /* Functor.swift */; }; - 821BEF941D8F3EF8009F8D58 /* Functor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF381D8F3EF8009F8D58 /* Functor.swift */; }; - 821BEF951D8F3EF8009F8D58 /* HList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF391D8F3EF8009F8D58 /* HList.swift */; }; - 821BEF961D8F3EF8009F8D58 /* HList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF391D8F3EF8009F8D58 /* HList.swift */; }; - 821BEF971D8F3EF8009F8D58 /* HList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF391D8F3EF8009F8D58 /* HList.swift */; }; - 821BEF981D8F3EF8009F8D58 /* HList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF391D8F3EF8009F8D58 /* HList.swift */; }; - 821BEF991D8F3EF8009F8D58 /* Identity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3A1D8F3EF8009F8D58 /* Identity.swift */; }; - 821BEF9A1D8F3EF8009F8D58 /* Identity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3A1D8F3EF8009F8D58 /* Identity.swift */; }; - 821BEF9B1D8F3EF8009F8D58 /* Identity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3A1D8F3EF8009F8D58 /* Identity.swift */; }; - 821BEF9C1D8F3EF8009F8D58 /* Identity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3A1D8F3EF8009F8D58 /* Identity.swift */; }; - 821BEF9D1D8F3EF8009F8D58 /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3B1D8F3EF8009F8D58 /* Kinds.swift */; }; - 821BEF9E1D8F3EF8009F8D58 /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3B1D8F3EF8009F8D58 /* Kinds.swift */; }; - 821BEF9F1D8F3EF8009F8D58 /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3B1D8F3EF8009F8D58 /* Kinds.swift */; }; - 821BEFA01D8F3EF8009F8D58 /* Kinds.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3B1D8F3EF8009F8D58 /* Kinds.swift */; }; - 821BEFA11D8F3EF8009F8D58 /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3C1D8F3EF8009F8D58 /* List.swift */; }; - 821BEFA21D8F3EF8009F8D58 /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3C1D8F3EF8009F8D58 /* List.swift */; }; - 821BEFA31D8F3EF8009F8D58 /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3C1D8F3EF8009F8D58 /* List.swift */; }; - 821BEFA41D8F3EF8009F8D58 /* List.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3C1D8F3EF8009F8D58 /* List.swift */; }; - 821BEFA51D8F3EF8009F8D58 /* Monad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3D1D8F3EF8009F8D58 /* Monad.swift */; }; - 821BEFA61D8F3EF8009F8D58 /* Monad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3D1D8F3EF8009F8D58 /* Monad.swift */; }; - 821BEFA71D8F3EF8009F8D58 /* Monad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3D1D8F3EF8009F8D58 /* Monad.swift */; }; - 821BEFA81D8F3EF8009F8D58 /* Monad.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3D1D8F3EF8009F8D58 /* Monad.swift */; }; - 821BEFA91D8F3EF8009F8D58 /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3E1D8F3EF8009F8D58 /* Monoid.swift */; }; - 821BEFAA1D8F3EF8009F8D58 /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3E1D8F3EF8009F8D58 /* Monoid.swift */; }; - 821BEFAB1D8F3EF8009F8D58 /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3E1D8F3EF8009F8D58 /* Monoid.swift */; }; - 821BEFAC1D8F3EF8009F8D58 /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3E1D8F3EF8009F8D58 /* Monoid.swift */; }; - 821BEFAD1D8F3EF8009F8D58 /* Monoidal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3F1D8F3EF8009F8D58 /* Monoidal.swift */; }; - 821BEFAE1D8F3EF8009F8D58 /* Monoidal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3F1D8F3EF8009F8D58 /* Monoidal.swift */; }; - 821BEFAF1D8F3EF8009F8D58 /* Monoidal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3F1D8F3EF8009F8D58 /* Monoidal.swift */; }; - 821BEFB01D8F3EF8009F8D58 /* Monoidal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF3F1D8F3EF8009F8D58 /* Monoidal.swift */; }; - 821BEFB11D8F3EF8009F8D58 /* NonEmptyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF401D8F3EF8009F8D58 /* NonEmptyList.swift */; }; - 821BEFB21D8F3EF8009F8D58 /* NonEmptyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF401D8F3EF8009F8D58 /* NonEmptyList.swift */; }; - 821BEFB31D8F3EF8009F8D58 /* NonEmptyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF401D8F3EF8009F8D58 /* NonEmptyList.swift */; }; - 821BEFB41D8F3EF8009F8D58 /* NonEmptyList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF401D8F3EF8009F8D58 /* NonEmptyList.swift */; }; - 821BEFB51D8F3EF8009F8D58 /* Num.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF411D8F3EF8009F8D58 /* Num.swift */; }; - 821BEFB61D8F3EF8009F8D58 /* Num.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF411D8F3EF8009F8D58 /* Num.swift */; }; - 821BEFB71D8F3EF8009F8D58 /* Num.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF411D8F3EF8009F8D58 /* Num.swift */; }; - 821BEFB81D8F3EF8009F8D58 /* Num.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF411D8F3EF8009F8D58 /* Num.swift */; }; - 821BEFB91D8F3EF8009F8D58 /* OptionalExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF421D8F3EF8009F8D58 /* OptionalExt.swift */; }; - 821BEFBA1D8F3EF8009F8D58 /* OptionalExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF421D8F3EF8009F8D58 /* OptionalExt.swift */; }; - 821BEFBB1D8F3EF8009F8D58 /* OptionalExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF421D8F3EF8009F8D58 /* OptionalExt.swift */; }; - 821BEFBC1D8F3EF8009F8D58 /* OptionalExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF421D8F3EF8009F8D58 /* OptionalExt.swift */; }; - 821BEFBD1D8F3EF8009F8D58 /* Pointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF431D8F3EF8009F8D58 /* Pointed.swift */; }; - 821BEFBE1D8F3EF8009F8D58 /* Pointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF431D8F3EF8009F8D58 /* Pointed.swift */; }; - 821BEFBF1D8F3EF8009F8D58 /* Pointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF431D8F3EF8009F8D58 /* Pointed.swift */; }; - 821BEFC01D8F3EF8009F8D58 /* Pointed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF431D8F3EF8009F8D58 /* Pointed.swift */; }; - 821BEFC11D8F3EF8009F8D58 /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF441D8F3EF8009F8D58 /* Proxy.swift */; }; - 821BEFC21D8F3EF8009F8D58 /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF441D8F3EF8009F8D58 /* Proxy.swift */; }; - 821BEFC31D8F3EF8009F8D58 /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF441D8F3EF8009F8D58 /* Proxy.swift */; }; - 821BEFC41D8F3EF8009F8D58 /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF441D8F3EF8009F8D58 /* Proxy.swift */; }; - 821BEFC51D8F3EF8009F8D58 /* Ratio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF451D8F3EF8009F8D58 /* Ratio.swift */; }; - 821BEFC61D8F3EF8009F8D58 /* Ratio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF451D8F3EF8009F8D58 /* Ratio.swift */; }; - 821BEFC71D8F3EF8009F8D58 /* Ratio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF451D8F3EF8009F8D58 /* Ratio.swift */; }; - 821BEFC81D8F3EF8009F8D58 /* Ratio.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF451D8F3EF8009F8D58 /* Ratio.swift */; }; - 821BEFC91D8F3EF8009F8D58 /* Reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF461D8F3EF8009F8D58 /* Reader.swift */; }; - 821BEFCA1D8F3EF8009F8D58 /* Reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF461D8F3EF8009F8D58 /* Reader.swift */; }; - 821BEFCB1D8F3EF8009F8D58 /* Reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF461D8F3EF8009F8D58 /* Reader.swift */; }; - 821BEFCC1D8F3EF8009F8D58 /* Reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF461D8F3EF8009F8D58 /* Reader.swift */; }; - 821BEFCD1D8F3EF8009F8D58 /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF471D8F3EF8009F8D58 /* Semigroup.swift */; }; - 821BEFCE1D8F3EF8009F8D58 /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF471D8F3EF8009F8D58 /* Semigroup.swift */; }; - 821BEFCF1D8F3EF8009F8D58 /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF471D8F3EF8009F8D58 /* Semigroup.swift */; }; - 821BEFD01D8F3EF8009F8D58 /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF471D8F3EF8009F8D58 /* Semigroup.swift */; }; - 821BEFD11D8F3EF8009F8D58 /* State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF481D8F3EF8009F8D58 /* State.swift */; }; - 821BEFD21D8F3EF8009F8D58 /* State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF481D8F3EF8009F8D58 /* State.swift */; }; - 821BEFD31D8F3EF8009F8D58 /* State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF481D8F3EF8009F8D58 /* State.swift */; }; - 821BEFD41D8F3EF8009F8D58 /* State.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF481D8F3EF8009F8D58 /* State.swift */; }; - 821BEFD51D8F3EF8009F8D58 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF491D8F3EF8009F8D58 /* Stream.swift */; }; - 821BEFD61D8F3EF8009F8D58 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF491D8F3EF8009F8D58 /* Stream.swift */; }; - 821BEFD71D8F3EF8009F8D58 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF491D8F3EF8009F8D58 /* Stream.swift */; }; - 821BEFD81D8F3EF8009F8D58 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF491D8F3EF8009F8D58 /* Stream.swift */; }; - 821BEFD91D8F3EF8009F8D58 /* StringExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4A1D8F3EF8009F8D58 /* StringExt.swift */; }; - 821BEFDA1D8F3EF8009F8D58 /* StringExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4A1D8F3EF8009F8D58 /* StringExt.swift */; }; - 821BEFDB1D8F3EF8009F8D58 /* StringExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4A1D8F3EF8009F8D58 /* StringExt.swift */; }; - 821BEFDC1D8F3EF8009F8D58 /* StringExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4A1D8F3EF8009F8D58 /* StringExt.swift */; }; - 821BEFDD1D8F3EF8009F8D58 /* Swiftz.h in Headers */ = {isa = PBXBuildFile; fileRef = 821BEF4B1D8F3EF8009F8D58 /* Swiftz.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 821BEFDE1D8F3EF8009F8D58 /* Swiftz.h in Headers */ = {isa = PBXBuildFile; fileRef = 821BEF4B1D8F3EF8009F8D58 /* Swiftz.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 821BEFDF1D8F3EF8009F8D58 /* Swiftz.h in Headers */ = {isa = PBXBuildFile; fileRef = 821BEF4B1D8F3EF8009F8D58 /* Swiftz.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 821BEFE01D8F3EF8009F8D58 /* Swiftz.h in Headers */ = {isa = PBXBuildFile; fileRef = 821BEF4B1D8F3EF8009F8D58 /* Swiftz.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 821BEFE51D8F3EF8009F8D58 /* Those.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4D1D8F3EF8009F8D58 /* Those.swift */; }; - 821BEFE61D8F3EF8009F8D58 /* Those.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4D1D8F3EF8009F8D58 /* Those.swift */; }; - 821BEFE71D8F3EF8009F8D58 /* Those.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4D1D8F3EF8009F8D58 /* Those.swift */; }; - 821BEFE81D8F3EF8009F8D58 /* Those.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4D1D8F3EF8009F8D58 /* Those.swift */; }; - 821BEFE91D8F3EF8009F8D58 /* TupleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4E1D8F3EF8009F8D58 /* TupleExt.swift */; }; - 821BEFEA1D8F3EF8009F8D58 /* TupleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4E1D8F3EF8009F8D58 /* TupleExt.swift */; }; - 821BEFEB1D8F3EF8009F8D58 /* TupleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4E1D8F3EF8009F8D58 /* TupleExt.swift */; }; - 821BEFEC1D8F3EF8009F8D58 /* TupleExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4E1D8F3EF8009F8D58 /* TupleExt.swift */; }; - 821BEFED1D8F3EF8009F8D58 /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4F1D8F3EF8009F8D58 /* Unit.swift */; }; - 821BEFEE1D8F3EF8009F8D58 /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4F1D8F3EF8009F8D58 /* Unit.swift */; }; - 821BEFEF1D8F3EF8009F8D58 /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4F1D8F3EF8009F8D58 /* Unit.swift */; }; - 821BEFF01D8F3EF8009F8D58 /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF4F1D8F3EF8009F8D58 /* Unit.swift */; }; - 821BEFF11D8F3EF8009F8D58 /* Writer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF501D8F3EF8009F8D58 /* Writer.swift */; }; - 821BEFF21D8F3EF8009F8D58 /* Writer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF501D8F3EF8009F8D58 /* Writer.swift */; }; - 821BEFF31D8F3EF8009F8D58 /* Writer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF501D8F3EF8009F8D58 /* Writer.swift */; }; - 821BEFF41D8F3EF8009F8D58 /* Writer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821BEF501D8F3EF8009F8D58 /* Writer.swift */; }; 8240CD261C3A396000EF4D29 /* Swiftz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8240CD1C1C3A395F00EF4D29 /* Swiftz.framework */; }; - 8240CD341C3A397800EF4D29 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821B76AF1BC43C1000AF97D6 /* Operators.swift */; }; 8240CD581C3A397800EF4D29 /* (null) in Sources */ = {isa = PBXBuildFile; }; - 8240CDE61C3A423C00EF4D29 /* SwiftCheck.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 821B76BC1BC43DE100AF97D6 /* SwiftCheck.framework */; }; - 8240CDEB1C3A425C00EF4D29 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 821B76AF1BC43C1000AF97D6 /* Operators.swift */; }; 82FCDC521D73CE750011C27F /* Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FCDC4C1D73CE750011C27F /* Array.swift */; }; 82FCDC531D73CE750011C27F /* Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FCDC4C1D73CE750011C27F /* Array.swift */; }; 82FCDC541D73CE750011C27F /* Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FCDC4C1D73CE750011C27F /* Array.swift */; }; @@ -266,75 +267,54 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 821B76BB1BC43DE100AF97D6 /* PBXContainerItemProxy */ = { + 6ABBD7C01EFAFD920079041C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; + containerPortal = 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */; proxyType = 2; remoteGlobalIDString = 844FCC8D198B320500EB242A; remoteInfo = SwiftCheck; }; - 821B76BD1BC43DE100AF97D6 /* PBXContainerItemProxy */ = { + 6ABBD7C21EFAFD920079041C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; + containerPortal = 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */; proxyType = 2; remoteGlobalIDString = 844FCC98198B320500EB242A; remoteInfo = SwiftCheckTests; }; - 821B76BF1BC43DE100AF97D6 /* PBXContainerItemProxy */ = { + 6ABBD7C41EFAFD920079041C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; + containerPortal = 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */; proxyType = 2; remoteGlobalIDString = 84DF75F81B0BD54600C912B0; remoteInfo = "SwiftCheck-iOS"; }; - 821B76C11BC43DE100AF97D6 /* PBXContainerItemProxy */ = { + 6ABBD7C61EFAFD920079041C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; + containerPortal = 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */; proxyType = 2; remoteGlobalIDString = 84DF76021B0BD54600C912B0; remoteInfo = "SwiftCheck-iOSTests"; }; - 821B76C31BC43DED00AF97D6 /* PBXContainerItemProxy */ = { + 6ABBD7C81EFAFD920079041C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 84DF75F71B0BD54600C912B0; - remoteInfo = "SwiftCheck-iOS"; - }; - 821B76C61BC43DF600AF97D6 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 844FCC8C198B320500EB242A; - remoteInfo = SwiftCheck; - }; - 8240CD271C3A396000EF4D29 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 84A88F8F1A71DF7F003D53CF /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8240CD1B1C3A395F00EF4D29; - remoteInfo = "Swiftz-tvOS"; - }; - 8240CDE21C3A422C00EF4D29 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; + containerPortal = 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */; proxyType = 2; remoteGlobalIDString = 8240CCB11C3A123600EF4D29; remoteInfo = "SwiftCheck-tvOS"; }; - 8240CDE41C3A422C00EF4D29 /* PBXContainerItemProxy */ = { + 6ABBD7CA1EFAFD920079041C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; + containerPortal = 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */; proxyType = 2; remoteGlobalIDString = 8240CCBA1C3A123700EF4D29; remoteInfo = "SwiftCheck-tvOSTests"; }; - 8240CDE71C3A423F00EF4D29 /* PBXContainerItemProxy */ = { + 8240CD271C3A396000EF4D29 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; + containerPortal = 84A88F8F1A71DF7F003D53CF /* Project object */; proxyType = 1; - remoteGlobalIDString = 8240CCB01C3A123600EF4D29; - remoteInfo = "SwiftCheck-tvOS"; + remoteGlobalIDString = 8240CD1B1C3A395F00EF4D29; + remoteInfo = "Swiftz-tvOS"; }; 84A88FA51A71DF7F003D53CF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -353,6 +333,17 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ + 6A0936841F1542BA00E99DF5 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 6A0936861F1542C300E99DF5 /* SwiftCheck.framework in CopyFiles */, + 6A0936871F1542E000E99DF5 /* Swiftz.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 841408C11B1A8B3100BA2B6C /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -360,6 +351,7 @@ dstSubfolderSpec = 10; files = ( 841408C41B1A8B4700BA2B6C /* Swiftz.framework in CopyFiles */, + 6A0936831F15429E00E99DF5 /* SwiftCheck.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -370,14 +362,57 @@ dstSubfolderSpec = 10; files = ( 84152B731A818A5C006387D5 /* Swiftz.framework in CopyFiles */, + 6A0936821F15425000E99DF5 /* SwiftCheck.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 821B76AF1BC43C1000AF97D6 /* Operators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; name = Operators.swift; path = Carthage/Checkouts/Operadics/Operators.swift; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.swift; }; - 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SwiftCheck.xcodeproj; path = Carthage/Checkouts/SwiftCheck/SwiftCheck.xcodeproj; sourceTree = SOURCE_ROOT; }; + 6A0936891F15460400E99DF5 /* LinuxMain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinuxMain.swift; sourceTree = ""; }; + 6ABBD79C1EFAFC2B0079041C /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; + 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SwiftCheck.xcodeproj; path = Carthage/Checkouts/SwiftCheck/SwiftCheck.xcodeproj; sourceTree = ""; }; + 6ABBD7CC1EFB01200079041C /* Kinds.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Kinds.swift; sourceTree = ""; }; + 6ABBD7CE1EFB01200079041C /* ArrayExt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayExt.swift; sourceTree = ""; }; + 6ABBD7CF1EFB01200079041C /* ArrowExt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrowExt.swift; sourceTree = ""; }; + 6ABBD7D01EFB01200079041C /* CharacterExt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CharacterExt.swift; sourceTree = ""; }; + 6ABBD7D11EFB01200079041C /* DictionaryExt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DictionaryExt.swift; sourceTree = ""; }; + 6ABBD7D21EFB01200079041C /* EitherExt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EitherExt.swift; sourceTree = ""; }; + 6ABBD7D31EFB01200079041C /* OptionalExt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OptionalExt.swift; sourceTree = ""; }; + 6ABBD7D41EFB01200079041C /* StringExt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringExt.swift; sourceTree = ""; }; + 6ABBD7D51EFB01200079041C /* TupleExt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TupleExt.swift; sourceTree = ""; }; + 6ABBD7D61EFB01200079041C /* Swiftz.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Swiftz.h; sourceTree = ""; }; + 6ABBD7D91EFB01200079041C /* Bifunctor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bifunctor.swift; sourceTree = ""; }; + 6ABBD7DA1EFB01200079041C /* Bounded.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bounded.swift; sourceTree = ""; }; + 6ABBD7DB1EFB01200079041C /* Const.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Const.swift; sourceTree = ""; }; + 6ABBD7DC1EFB01200079041C /* Curry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Curry.swift; sourceTree = ""; }; + 6ABBD7DD1EFB01200079041C /* Foldable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Foldable.swift; sourceTree = ""; }; + 6ABBD7DE1EFB01200079041C /* Function.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Function.swift; sourceTree = ""; }; + 6ABBD7DF1EFB01200079041C /* Functor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Functor.swift; sourceTree = ""; }; + 6ABBD7E01EFB01200079041C /* HList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HList.swift; sourceTree = ""; }; + 6ABBD7E11EFB01200079041C /* Identity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Identity.swift; sourceTree = ""; }; + 6ABBD7E21EFB01200079041C /* List.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = List.swift; sourceTree = ""; }; + 6ABBD7E31EFB01200079041C /* Monoid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Monoid.swift; sourceTree = ""; }; + 6ABBD7E41EFB01200079041C /* NonEmptyList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NonEmptyList.swift; sourceTree = ""; }; + 6ABBD7E51EFB01200079041C /* Num.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Num.swift; sourceTree = ""; }; + 6ABBD7E61EFB01200079041C /* Proxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Proxy.swift; sourceTree = ""; }; + 6ABBD7E71EFB01200079041C /* Ratio.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Ratio.swift; sourceTree = ""; }; + 6ABBD7E81EFB01200079041C /* Reader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reader.swift; sourceTree = ""; }; + 6ABBD7E91EFB01200079041C /* Semigroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Semigroup.swift; sourceTree = ""; }; + 6ABBD7EA1EFB01200079041C /* State.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = State.swift; sourceTree = ""; }; + 6ABBD7EB1EFB01200079041C /* Stream.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Stream.swift; sourceTree = ""; }; + 6ABBD7EC1EFB01200079041C /* Those.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Those.swift; sourceTree = ""; }; + 6ABBD7ED1EFB01200079041C /* Unit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Unit.swift; sourceTree = ""; }; + 6ABBD7EE1EFB01200079041C /* Writer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Writer.swift; sourceTree = ""; }; + 6ABBD7F01EFB01200079041C /* Applicative.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Applicative.swift; sourceTree = ""; }; + 6ABBD7F11EFB01200079041C /* Arrow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Arrow.swift; sourceTree = ""; }; + 6ABBD7F21EFB01200079041C /* Category.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Category.swift; sourceTree = ""; }; + 6ABBD7F31EFB01200079041C /* Comonad.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Comonad.swift; sourceTree = ""; }; + 6ABBD7F41EFB01200079041C /* Copointed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Copointed.swift; sourceTree = ""; }; + 6ABBD7F51EFB01200079041C /* Monad.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Monad.swift; sourceTree = ""; }; + 6ABBD7F61EFB01200079041C /* Monoidal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Monoidal.swift; sourceTree = ""; }; + 6ABBD7F71EFB01200079041C /* Pointed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Pointed.swift; sourceTree = ""; }; + 6ABBD7F81EFB01510079041C /* Operators.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Carthage/Checkouts/Operadics/Sources/Operadics/Operators.swift; sourceTree = SOURCE_ROOT; }; 821BEED21D8F3EA5009F8D58 /* ArrayExtSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ArrayExtSpec.swift; path = Tests/SwiftzTests/ArrayExtSpec.swift; sourceTree = SOURCE_ROOT; }; 821BEED31D8F3EA5009F8D58 /* ArrowExtSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ArrowExtSpec.swift; path = Tests/SwiftzTests/ArrowExtSpec.swift; sourceTree = SOURCE_ROOT; }; 821BEED41D8F3EA5009F8D58 /* DictionaryExtSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DictionaryExtSpec.swift; path = Tests/SwiftzTests/DictionaryExtSpec.swift; sourceTree = SOURCE_ROOT; }; @@ -400,55 +435,15 @@ 821BEEE51D8F3EA5009F8D58 /* UnitSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UnitSpec.swift; path = Tests/SwiftzTests/UnitSpec.swift; sourceTree = SOURCE_ROOT; }; 821BEEE61D8F3EA5009F8D58 /* WriterSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = WriterSpec.swift; path = Tests/SwiftzTests/WriterSpec.swift; sourceTree = SOURCE_ROOT; }; 821BEF261D8F3EB0009F8D58 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Tests/Info.plist; sourceTree = SOURCE_ROOT; }; - 821BEF281D8F3EF8009F8D58 /* Applicative.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Applicative.swift; path = Sources/Applicative.swift; sourceTree = SOURCE_ROOT; }; - 821BEF291D8F3EF8009F8D58 /* ArrayExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ArrayExt.swift; path = Sources/ArrayExt.swift; sourceTree = SOURCE_ROOT; }; - 821BEF2A1D8F3EF8009F8D58 /* Arrow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Arrow.swift; path = Sources/Arrow.swift; sourceTree = SOURCE_ROOT; }; - 821BEF2B1D8F3EF8009F8D58 /* ArrowExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ArrowExt.swift; path = Sources/ArrowExt.swift; sourceTree = SOURCE_ROOT; }; - 821BEF2C1D8F3EF8009F8D58 /* Bifunctor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Bifunctor.swift; path = Sources/Bifunctor.swift; sourceTree = SOURCE_ROOT; }; - 821BEF2D1D8F3EF8009F8D58 /* Bounded.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Bounded.swift; path = Sources/Bounded.swift; sourceTree = SOURCE_ROOT; }; - 821BEF2E1D8F3EF8009F8D58 /* Category.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Category.swift; path = Sources/Category.swift; sourceTree = SOURCE_ROOT; }; - 821BEF2F1D8F3EF8009F8D58 /* CharacterExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CharacterExt.swift; path = Sources/CharacterExt.swift; sourceTree = SOURCE_ROOT; }; - 821BEF301D8F3EF8009F8D58 /* Comonad.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Comonad.swift; path = Sources/Comonad.swift; sourceTree = SOURCE_ROOT; }; - 821BEF311D8F3EF8009F8D58 /* Const.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Const.swift; path = Sources/Const.swift; sourceTree = SOURCE_ROOT; }; - 821BEF321D8F3EF8009F8D58 /* Copointed.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Copointed.swift; path = Sources/Copointed.swift; sourceTree = SOURCE_ROOT; }; - 821BEF331D8F3EF8009F8D58 /* Curry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Curry.swift; path = Sources/Curry.swift; sourceTree = SOURCE_ROOT; }; - 821BEF341D8F3EF8009F8D58 /* DictionaryExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DictionaryExt.swift; path = Sources/DictionaryExt.swift; sourceTree = SOURCE_ROOT; }; - 821BEF351D8F3EF8009F8D58 /* EitherExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EitherExt.swift; path = Sources/EitherExt.swift; sourceTree = SOURCE_ROOT; }; - 821BEF361D8F3EF8009F8D58 /* Foldable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Foldable.swift; path = Sources/Foldable.swift; sourceTree = SOURCE_ROOT; }; - 821BEF371D8F3EF8009F8D58 /* Function.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Function.swift; path = Sources/Function.swift; sourceTree = SOURCE_ROOT; }; - 821BEF381D8F3EF8009F8D58 /* Functor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Functor.swift; path = Sources/Functor.swift; sourceTree = SOURCE_ROOT; }; - 821BEF391D8F3EF8009F8D58 /* HList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HList.swift; path = Sources/HList.swift; sourceTree = SOURCE_ROOT; }; - 821BEF3A1D8F3EF8009F8D58 /* Identity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Identity.swift; path = Sources/Identity.swift; sourceTree = SOURCE_ROOT; }; - 821BEF3B1D8F3EF8009F8D58 /* Kinds.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Kinds.swift; path = Sources/Kinds.swift; sourceTree = SOURCE_ROOT; }; - 821BEF3C1D8F3EF8009F8D58 /* List.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = List.swift; path = Sources/List.swift; sourceTree = SOURCE_ROOT; }; - 821BEF3D1D8F3EF8009F8D58 /* Monad.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Monad.swift; path = Sources/Monad.swift; sourceTree = SOURCE_ROOT; }; - 821BEF3E1D8F3EF8009F8D58 /* Monoid.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Monoid.swift; path = Sources/Monoid.swift; sourceTree = SOURCE_ROOT; }; - 821BEF3F1D8F3EF8009F8D58 /* Monoidal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Monoidal.swift; path = Sources/Monoidal.swift; sourceTree = SOURCE_ROOT; }; - 821BEF401D8F3EF8009F8D58 /* NonEmptyList.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = NonEmptyList.swift; path = Sources/NonEmptyList.swift; sourceTree = SOURCE_ROOT; }; - 821BEF411D8F3EF8009F8D58 /* Num.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Num.swift; path = Sources/Num.swift; sourceTree = SOURCE_ROOT; }; - 821BEF421D8F3EF8009F8D58 /* OptionalExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OptionalExt.swift; path = Sources/OptionalExt.swift; sourceTree = SOURCE_ROOT; }; - 821BEF431D8F3EF8009F8D58 /* Pointed.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Pointed.swift; path = Sources/Pointed.swift; sourceTree = SOURCE_ROOT; }; - 821BEF441D8F3EF8009F8D58 /* Proxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Proxy.swift; path = Sources/Proxy.swift; sourceTree = SOURCE_ROOT; }; - 821BEF451D8F3EF8009F8D58 /* Ratio.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Ratio.swift; path = Sources/Ratio.swift; sourceTree = SOURCE_ROOT; }; - 821BEF461D8F3EF8009F8D58 /* Reader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Reader.swift; path = Sources/Reader.swift; sourceTree = SOURCE_ROOT; }; - 821BEF471D8F3EF8009F8D58 /* Semigroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Semigroup.swift; path = Sources/Semigroup.swift; sourceTree = SOURCE_ROOT; }; - 821BEF481D8F3EF8009F8D58 /* State.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = State.swift; path = Sources/State.swift; sourceTree = SOURCE_ROOT; }; - 821BEF491D8F3EF8009F8D58 /* Stream.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Stream.swift; path = Sources/Stream.swift; sourceTree = SOURCE_ROOT; }; - 821BEF4A1D8F3EF8009F8D58 /* StringExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = StringExt.swift; path = Sources/StringExt.swift; sourceTree = SOURCE_ROOT; }; - 821BEF4B1D8F3EF8009F8D58 /* Swiftz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Swiftz.h; path = Sources/Swiftz.h; sourceTree = SOURCE_ROOT; }; - 821BEF4D1D8F3EF8009F8D58 /* Those.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Those.swift; path = Sources/Those.swift; sourceTree = SOURCE_ROOT; }; - 821BEF4E1D8F3EF8009F8D58 /* TupleExt.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TupleExt.swift; path = Sources/TupleExt.swift; sourceTree = SOURCE_ROOT; }; - 821BEF4F1D8F3EF8009F8D58 /* Unit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Unit.swift; path = Sources/Unit.swift; sourceTree = SOURCE_ROOT; }; - 821BEF501D8F3EF8009F8D58 /* Writer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Writer.swift; path = Sources/Writer.swift; sourceTree = SOURCE_ROOT; }; 821BEFF61D8F3F3C009F8D58 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Sources/Info.plist; sourceTree = SOURCE_ROOT; }; 8240CD1C1C3A395F00EF4D29 /* Swiftz.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Swiftz.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8240CD251C3A396000EF4D29 /* Swiftz-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Swiftz-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 8240CDD81C3A41F000EF4D29 /* Swiftz.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Swiftz.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 82FCDC4C1D73CE750011C27F /* Array.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Array.swift; path = Carthage/Checkouts/Swiftx/Sources/Array.swift; sourceTree = SOURCE_ROOT; }; - 82FCDC4D1D73CE750011C27F /* Combinators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Combinators.swift; path = Carthage/Checkouts/Swiftx/Sources/Combinators.swift; sourceTree = SOURCE_ROOT; }; - 82FCDC4E1D73CE750011C27F /* Either.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Either.swift; path = Carthage/Checkouts/Swiftx/Sources/Either.swift; sourceTree = SOURCE_ROOT; }; - 82FCDC4F1D73CE750011C27F /* Error.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Carthage/Checkouts/Swiftx/Sources/Error.swift; sourceTree = SOURCE_ROOT; }; - 82FCDC511D73CE750011C27F /* Optional.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = Carthage/Checkouts/Swiftx/Sources/Optional.swift; sourceTree = SOURCE_ROOT; }; + 82FCDC4C1D73CE750011C27F /* Array.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Array.swift; path = Carthage/Checkouts/Swiftx/Sources/Swiftx/Array.swift; sourceTree = SOURCE_ROOT; }; + 82FCDC4D1D73CE750011C27F /* Combinators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Combinators.swift; path = Carthage/Checkouts/Swiftx/Sources/Swiftx/Combinators.swift; sourceTree = SOURCE_ROOT; }; + 82FCDC4E1D73CE750011C27F /* Either.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Either.swift; path = Carthage/Checkouts/Swiftx/Sources/Swiftx/Either.swift; sourceTree = SOURCE_ROOT; }; + 82FCDC4F1D73CE750011C27F /* Error.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Carthage/Checkouts/Swiftx/Sources/Swiftx/Error.swift; sourceTree = SOURCE_ROOT; }; + 82FCDC511D73CE750011C27F /* Optional.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Optional.swift; path = Carthage/Checkouts/Swiftx/Sources/Swiftx/Optional.swift; sourceTree = SOURCE_ROOT; }; 84A88F981A71DF7F003D53CF /* Swiftz.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Swiftz.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 84A88FA31A71DF7F003D53CF /* SwiftzTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SwiftzTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 84DF751E1B0BD17700C912B0 /* Swiftz.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Swiftz.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -467,7 +462,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8240CDE61C3A423C00EF4D29 /* SwiftCheck.framework in Frameworks */, 8240CD261C3A396000EF4D29 /* Swiftz.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -490,7 +484,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 821B76C81BC43DF900AF97D6 /* SwiftCheck.framework in Frameworks */, 84A88FA41A71DF7F003D53CF /* Swiftz.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -506,7 +499,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 821B76C51BC43DF000AF97D6 /* SwiftCheck.framework in Frameworks */, 84DF75291B0BD17700C912B0 /* Swiftz.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -514,102 +506,128 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 821B76B51BC43DE100AF97D6 /* Products */ = { + 6ABBD7A01EFAFC400079041C /* Swiftz */ = { isa = PBXGroup; children = ( - 821B76BC1BC43DE100AF97D6 /* SwiftCheck.framework */, - 821B76BE1BC43DE100AF97D6 /* SwiftCheckTests.xctest */, - 821B76C01BC43DE100AF97D6 /* SwiftCheck.framework */, - 821B76C21BC43DE100AF97D6 /* SwiftCheck-iOSTests.xctest */, - 8240CDE31C3A422C00EF4D29 /* SwiftCheck.framework */, - 8240CDE51C3A422C00EF4D29 /* SwiftCheck-tvOSTests.xctest */, + 6ABBD7D61EFB01200079041C /* Swiftz.h */, + 6ABBD7CC1EFB01200079041C /* Kinds.swift */, + 6ABBD7F81EFB01510079041C /* Operators.swift */, + 6ABBD7EF1EFB01200079041C /* Control */, + 84A890521A71E138003D53CF /* Core */, + 6ABBD7D81EFB01200079041C /* Data */, + 6ABBD7CD1EFB01200079041C /* Ext */, + ); + path = Swiftz; + sourceTree = ""; + }; + 6ABBD7A21EFAFCA40079041C /* Tests */ = { + isa = PBXGroup; + children = ( + 821BEF261D8F3EB0009F8D58 /* Info.plist */, + 6A0936891F15460400E99DF5 /* LinuxMain.swift */, + 84A88FA71A71DF7F003D53CF /* SwiftzTests */, + ); + path = Tests; + sourceTree = ""; + }; + 6ABBD7B81EFAFD920079041C /* Products */ = { + isa = PBXGroup; + children = ( + 6ABBD7C11EFAFD920079041C /* SwiftCheck.framework */, + 6ABBD7C31EFAFD920079041C /* SwiftCheckTests.xctest */, + 6ABBD7C51EFAFD920079041C /* SwiftCheck.framework */, + 6ABBD7C71EFAFD920079041C /* SwiftCheck-iOSTests.xctest */, + 6ABBD7C91EFAFD920079041C /* SwiftCheck.framework */, + 6ABBD7CB1EFAFD920079041C /* SwiftCheck-tvOSTests.xctest */, ); name = Products; sourceTree = ""; }; - 821BEF271D8F3EBF009F8D58 /* Ext */ = { + 6ABBD7CD1EFB01200079041C /* Ext */ = { isa = PBXGroup; children = ( - 821BEED21D8F3EA5009F8D58 /* ArrayExtSpec.swift */, - 821BEED31D8F3EA5009F8D58 /* ArrowExtSpec.swift */, - 821BEED41D8F3EA5009F8D58 /* DictionaryExtSpec.swift */, - 821BEEDD1D8F3EA5009F8D58 /* OptionalExtSpec.swift */, - 821BEEE21D8F3EA5009F8D58 /* StringExtSpec.swift */, - 821BEEE41D8F3EA5009F8D58 /* TupleExtSpec.swift */, + 6ABBD7CE1EFB01200079041C /* ArrayExt.swift */, + 6ABBD7CF1EFB01200079041C /* ArrowExt.swift */, + 6ABBD7D01EFB01200079041C /* CharacterExt.swift */, + 6ABBD7D11EFB01200079041C /* DictionaryExt.swift */, + 6ABBD7D21EFB01200079041C /* EitherExt.swift */, + 6ABBD7D31EFB01200079041C /* OptionalExt.swift */, + 6ABBD7D41EFB01200079041C /* StringExt.swift */, + 6ABBD7D51EFB01200079041C /* TupleExt.swift */, ); name = Ext; sourceTree = ""; }; - 821BEFF51D8F3F15009F8D58 /* Ext */ = { + 6ABBD7D81EFB01200079041C /* Data */ = { isa = PBXGroup; children = ( - 821BEF291D8F3EF8009F8D58 /* ArrayExt.swift */, - 821BEF2B1D8F3EF8009F8D58 /* ArrowExt.swift */, - 821BEF2F1D8F3EF8009F8D58 /* CharacterExt.swift */, - 821BEF341D8F3EF8009F8D58 /* DictionaryExt.swift */, - 821BEF351D8F3EF8009F8D58 /* EitherExt.swift */, - 821BEF421D8F3EF8009F8D58 /* OptionalExt.swift */, - 821BEF4A1D8F3EF8009F8D58 /* StringExt.swift */, - 821BEF4E1D8F3EF8009F8D58 /* TupleExt.swift */, + 6ABBD7D91EFB01200079041C /* Bifunctor.swift */, + 6ABBD7DA1EFB01200079041C /* Bounded.swift */, + 6ABBD7DB1EFB01200079041C /* Const.swift */, + 6ABBD7DC1EFB01200079041C /* Curry.swift */, + 6ABBD7DD1EFB01200079041C /* Foldable.swift */, + 6ABBD7DE1EFB01200079041C /* Function.swift */, + 6ABBD7DF1EFB01200079041C /* Functor.swift */, + 6ABBD7E01EFB01200079041C /* HList.swift */, + 6ABBD7E11EFB01200079041C /* Identity.swift */, + 6ABBD7E21EFB01200079041C /* List.swift */, + 6ABBD7E31EFB01200079041C /* Monoid.swift */, + 6ABBD7E41EFB01200079041C /* NonEmptyList.swift */, + 6ABBD7E51EFB01200079041C /* Num.swift */, + 6ABBD7E61EFB01200079041C /* Proxy.swift */, + 6ABBD7E71EFB01200079041C /* Ratio.swift */, + 6ABBD7E81EFB01200079041C /* Reader.swift */, + 6ABBD7E91EFB01200079041C /* Semigroup.swift */, + 6ABBD7EA1EFB01200079041C /* State.swift */, + 6ABBD7EB1EFB01200079041C /* Stream.swift */, + 6ABBD7EC1EFB01200079041C /* Those.swift */, + 6ABBD7ED1EFB01200079041C /* Unit.swift */, + 6ABBD7EE1EFB01200079041C /* Writer.swift */, ); - name = Ext; + name = Data; sourceTree = ""; }; - 821BEFF71D8F3F69009F8D58 /* Control */ = { + 6ABBD7EF1EFB01200079041C /* Control */ = { isa = PBXGroup; children = ( - 821BEF281D8F3EF8009F8D58 /* Applicative.swift */, - 821BEF2A1D8F3EF8009F8D58 /* Arrow.swift */, - 821BEF2E1D8F3EF8009F8D58 /* Category.swift */, - 821BEF301D8F3EF8009F8D58 /* Comonad.swift */, - 821BEF321D8F3EF8009F8D58 /* Copointed.swift */, - 821BEF3D1D8F3EF8009F8D58 /* Monad.swift */, - 821BEF3F1D8F3EF8009F8D58 /* Monoidal.swift */, - 821BEF431D8F3EF8009F8D58 /* Pointed.swift */, + 6ABBD7F01EFB01200079041C /* Applicative.swift */, + 6ABBD7F11EFB01200079041C /* Arrow.swift */, + 6ABBD7F21EFB01200079041C /* Category.swift */, + 6ABBD7F31EFB01200079041C /* Comonad.swift */, + 6ABBD7F41EFB01200079041C /* Copointed.swift */, + 6ABBD7F51EFB01200079041C /* Monad.swift */, + 6ABBD7F61EFB01200079041C /* Monoidal.swift */, + 6ABBD7F71EFB01200079041C /* Pointed.swift */, ); name = Control; sourceTree = ""; }; - 821BEFF81D8F3F72009F8D58 /* Data */ = { + 821BEF271D8F3EBF009F8D58 /* Ext */ = { isa = PBXGroup; children = ( - 821BEF2C1D8F3EF8009F8D58 /* Bifunctor.swift */, - 821BEF2D1D8F3EF8009F8D58 /* Bounded.swift */, - 821BEF311D8F3EF8009F8D58 /* Const.swift */, - 821BEF331D8F3EF8009F8D58 /* Curry.swift */, - 821BEF361D8F3EF8009F8D58 /* Foldable.swift */, - 821BEF371D8F3EF8009F8D58 /* Function.swift */, - 821BEF381D8F3EF8009F8D58 /* Functor.swift */, - 821BEF391D8F3EF8009F8D58 /* HList.swift */, - 821BEF3A1D8F3EF8009F8D58 /* Identity.swift */, - 821BEF3C1D8F3EF8009F8D58 /* List.swift */, - 821BEF3E1D8F3EF8009F8D58 /* Monoid.swift */, - 821BEF401D8F3EF8009F8D58 /* NonEmptyList.swift */, - 821BEF411D8F3EF8009F8D58 /* Num.swift */, - 821BEF441D8F3EF8009F8D58 /* Proxy.swift */, - 821BEF451D8F3EF8009F8D58 /* Ratio.swift */, - 821BEF461D8F3EF8009F8D58 /* Reader.swift */, - 821BEF471D8F3EF8009F8D58 /* Semigroup.swift */, - 821BEF481D8F3EF8009F8D58 /* State.swift */, - 821BEF491D8F3EF8009F8D58 /* Stream.swift */, - 821BEF4D1D8F3EF8009F8D58 /* Those.swift */, - 821BEF4F1D8F3EF8009F8D58 /* Unit.swift */, - 821BEF501D8F3EF8009F8D58 /* Writer.swift */, + 821BEED21D8F3EA5009F8D58 /* ArrayExtSpec.swift */, + 821BEED31D8F3EA5009F8D58 /* ArrowExtSpec.swift */, + 821BEED41D8F3EA5009F8D58 /* DictionaryExtSpec.swift */, + 821BEEDD1D8F3EA5009F8D58 /* OptionalExtSpec.swift */, + 821BEEE21D8F3EA5009F8D58 /* StringExtSpec.swift */, + 821BEEE41D8F3EA5009F8D58 /* TupleExtSpec.swift */, ); - name = Data; + name = Ext; sourceTree = ""; }; 84A88F8E1A71DF7F003D53CF = { isa = PBXGroup; children = ( - 821BEF4B1D8F3EF8009F8D58 /* Swiftz.h */, - 821BEF3B1D8F3EF8009F8D58 /* Kinds.swift */, - 821B76AF1BC43C1000AF97D6 /* Operators.swift */, - 84A88F9A1A71DF7F003D53CF /* Swiftz */, - 84A88FA71A71DF7F003D53CF /* SwiftzTests */, + 6ABBD79C1EFAFC2B0079041C /* Package.swift */, + 84A88F9A1A71DF7F003D53CF /* Sources */, + 6ABBD7A21EFAFCA40079041C /* Tests */, 84A88F991A71DF7F003D53CF /* Products */, + 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */, ); + indentWidth = 4; sourceTree = ""; + tabWidth = 4; + usesTabs = 1; }; 84A88F991A71DF7F003D53CF /* Products */ = { isa = PBXGroup; @@ -625,24 +643,13 @@ name = Products; sourceTree = ""; }; - 84A88F9A1A71DF7F003D53CF /* Swiftz */ = { - isa = PBXGroup; - children = ( - 84A890521A71E138003D53CF /* Core */, - 821BEFF71D8F3F69009F8D58 /* Control */, - 821BEFF81D8F3F72009F8D58 /* Data */, - 821BEFF51D8F3F15009F8D58 /* Ext */, - 84A88F9B1A71DF7F003D53CF /* Supporting Files */, - ); - path = Swiftz; - sourceTree = ""; - }; - 84A88F9B1A71DF7F003D53CF /* Supporting Files */ = { + 84A88F9A1A71DF7F003D53CF /* Sources */ = { isa = PBXGroup; children = ( 821BEFF61D8F3F3C009F8D58 /* Info.plist */, + 6ABBD7A01EFAFC400079041C /* Swiftz */, ); - name = "Supporting Files"; + path = Sources; sourceTree = ""; }; 84A88FA71A71DF7F003D53CF /* SwiftzTests */ = { @@ -650,20 +657,10 @@ children = ( 84A8905A1A71E1EE003D53CF /* Data */, 821BEF271D8F3EBF009F8D58 /* Ext */, - 84A88FA81A71DF7F003D53CF /* Supporting Files */, ); path = SwiftzTests; sourceTree = ""; }; - 84A88FA81A71DF7F003D53CF /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 821BEF261D8F3EB0009F8D58 /* Info.plist */, - 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; 84A890521A71E138003D53CF /* Core */ = { isa = PBXGroup; children = ( @@ -705,7 +702,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 821BEFDF1D8F3EF8009F8D58 /* Swiftz.h in Headers */, + 6ABBD8971EFB01E20079041C /* Swiftz.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -713,7 +710,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 821BEFE01D8F3EF8009F8D58 /* Swiftz.h in Headers */, + 6ABBD8981EFB01E30079041C /* Swiftz.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -721,7 +718,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 821BEFDD1D8F3EF8009F8D58 /* Swiftz.h in Headers */, + 6ABBD8951EFB01E00079041C /* Swiftz.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -729,7 +726,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 821BEFDE1D8F3EF8009F8D58 /* Swiftz.h in Headers */, + 6ABBD8961EFB01E10079041C /* Swiftz.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -761,11 +758,11 @@ 8240CD211C3A396000EF4D29 /* Sources */, 8240CD221C3A396000EF4D29 /* Frameworks */, 8240CD231C3A396000EF4D29 /* Resources */, + 6A0936841F1542BA00E99DF5 /* CopyFiles */, ); buildRules = ( ); dependencies = ( - 8240CDE81C3A423F00EF4D29 /* PBXTargetDependency */, 8240CD281C3A396000EF4D29 /* PBXTargetDependency */, ); name = "Swiftz-tvOSTests"; @@ -821,7 +818,6 @@ buildRules = ( ); dependencies = ( - 821B76C71BC43DF600AF97D6 /* PBXTargetDependency */, 84A88FA61A71DF7F003D53CF /* PBXTargetDependency */, ); name = SwiftzTests; @@ -859,7 +855,6 @@ buildRules = ( ); dependencies = ( - 821B76C41BC43DED00AF97D6 /* PBXTargetDependency */, 84DF752B1B0BD17700C912B0 /* PBXTargetDependency */, ); name = "Swiftz-iOSTests"; @@ -874,33 +869,36 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = TypeLift; TargetAttributes = { 8240CD1B1C3A395F00EF4D29 = { CreatedOnToolsVersion = 7.2; + LastSwiftMigration = 0900; }; 8240CD241C3A396000EF4D29 = { CreatedOnToolsVersion = 7.2; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; 8240CDD71C3A41F000EF4D29 = { CreatedOnToolsVersion = 7.2; + LastSwiftMigration = 0900; }; 84A88F971A71DF7F003D53CF = { CreatedOnToolsVersion = 6.2; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; 84A88FA21A71DF7F003D53CF = { CreatedOnToolsVersion = 6.2; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; 84DF751D1B0BD17700C912B0 = { CreatedOnToolsVersion = 6.4; + LastSwiftMigration = 0900; }; 84DF75271B0BD17700C912B0 = { CreatedOnToolsVersion = 6.4; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; }; }; @@ -916,8 +914,8 @@ projectDirPath = ""; projectReferences = ( { - ProductGroup = 821B76B51BC43DE100AF97D6 /* Products */; - ProjectRef = 821B76B41BC43DE100AF97D6 /* SwiftCheck.xcodeproj */; + ProductGroup = 6ABBD7B81EFAFD920079041C /* Products */; + ProjectRef = 6ABBD7B71EFAFD920079041C /* SwiftCheck.xcodeproj */; }, ); projectRoot = ""; @@ -934,46 +932,46 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 821B76BC1BC43DE100AF97D6 /* SwiftCheck.framework */ = { + 6ABBD7C11EFAFD920079041C /* SwiftCheck.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; path = SwiftCheck.framework; - remoteRef = 821B76BB1BC43DE100AF97D6 /* PBXContainerItemProxy */; + remoteRef = 6ABBD7C01EFAFD920079041C /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 821B76BE1BC43DE100AF97D6 /* SwiftCheckTests.xctest */ = { + 6ABBD7C31EFAFD920079041C /* SwiftCheckTests.xctest */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; path = SwiftCheckTests.xctest; - remoteRef = 821B76BD1BC43DE100AF97D6 /* PBXContainerItemProxy */; + remoteRef = 6ABBD7C21EFAFD920079041C /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 821B76C01BC43DE100AF97D6 /* SwiftCheck.framework */ = { + 6ABBD7C51EFAFD920079041C /* SwiftCheck.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; path = SwiftCheck.framework; - remoteRef = 821B76BF1BC43DE100AF97D6 /* PBXContainerItemProxy */; + remoteRef = 6ABBD7C41EFAFD920079041C /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 821B76C21BC43DE100AF97D6 /* SwiftCheck-iOSTests.xctest */ = { + 6ABBD7C71EFAFD920079041C /* SwiftCheck-iOSTests.xctest */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; path = "SwiftCheck-iOSTests.xctest"; - remoteRef = 821B76C11BC43DE100AF97D6 /* PBXContainerItemProxy */; + remoteRef = 6ABBD7C61EFAFD920079041C /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 8240CDE31C3A422C00EF4D29 /* SwiftCheck.framework */ = { + 6ABBD7C91EFAFD920079041C /* SwiftCheck.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; path = SwiftCheck.framework; - remoteRef = 8240CDE21C3A422C00EF4D29 /* PBXContainerItemProxy */; + remoteRef = 6ABBD7C81EFAFD920079041C /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 8240CDE51C3A422C00EF4D29 /* SwiftCheck-tvOSTests.xctest */ = { + 6ABBD7CB1EFAFD920079041C /* SwiftCheck-tvOSTests.xctest */ = { isa = PBXReferenceProxy; fileType = wrapper.cfbundle; path = "SwiftCheck-tvOSTests.xctest"; - remoteRef = 8240CDE41C3A422C00EF4D29 /* PBXContainerItemProxy */; + remoteRef = 6ABBD7CA1EFAFD920079041C /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -1035,52 +1033,52 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 821BEFCF1D8F3EF8009F8D58 /* Semigroup.swift in Sources */, - 821BEF871D8F3EF8009F8D58 /* EitherExt.swift in Sources */, - 8240CD341C3A397800EF4D29 /* Operators.swift in Sources */, + 6ABBD8101EFB01B70079041C /* TupleExt.swift in Sources */, + 6ABBD8821EFB01D60079041C /* Arrow.swift in Sources */, + 6ABBD80B1EFB01B70079041C /* CharacterExt.swift in Sources */, + 6ABBD8551EFB01BF0079041C /* Semigroup.swift in Sources */, + 6ABBD80F1EFB01B70079041C /* StringExt.swift in Sources */, + 6ABBD8851EFB01D60079041C /* Copointed.swift in Sources */, + 6ABBD8491EFB01BF0079041C /* Foldable.swift in Sources */, 82FCDC5C1D73CE760011C27F /* Either.swift in Sources */, - 821BEFB31D8F3EF8009F8D58 /* NonEmptyList.swift in Sources */, - 821BEFD71D8F3EF8009F8D58 /* Stream.swift in Sources */, - 821BEFA71D8F3EF8009F8D58 /* Monad.swift in Sources */, - 821BEFBB1D8F3EF8009F8D58 /* OptionalExt.swift in Sources */, - 821BEF571D8F3EF8009F8D58 /* ArrayExt.swift in Sources */, - 821BEF7B1D8F3EF8009F8D58 /* Copointed.swift in Sources */, - 821BEFDB1D8F3EF8009F8D58 /* StringExt.swift in Sources */, - 821BEFF31D8F3EF8009F8D58 /* Writer.swift in Sources */, - 821BEFB71D8F3EF8009F8D58 /* Num.swift in Sources */, - 821BEF9F1D8F3EF8009F8D58 /* Kinds.swift in Sources */, - 821BEF5B1D8F3EF8009F8D58 /* Arrow.swift in Sources */, - 821BEF831D8F3EF8009F8D58 /* DictionaryExt.swift in Sources */, - 821BEFAB1D8F3EF8009F8D58 /* Monoid.swift in Sources */, + 6ABBD8501EFB01BF0079041C /* NonEmptyList.swift in Sources */, + 6ABBD8581EFB01BF0079041C /* Those.swift in Sources */, + 6ABBD8841EFB01D60079041C /* Comonad.swift in Sources */, + 6ABBD8561EFB01BF0079041C /* State.swift in Sources */, 82FCDC541D73CE750011C27F /* Array.swift in Sources */, - 821BEFA31D8F3EF8009F8D58 /* List.swift in Sources */, - 821BEF8B1D8F3EF8009F8D58 /* Foldable.swift in Sources */, - 821BEF931D8F3EF8009F8D58 /* Functor.swift in Sources */, - 821BEF971D8F3EF8009F8D58 /* HList.swift in Sources */, + 6ABBD8861EFB01D60079041C /* Monad.swift in Sources */, + 6ABBD8931EFB01DD0079041C /* Kinds.swift in Sources */, + 6ABBD8591EFB01BF0079041C /* Unit.swift in Sources */, + 6ABBD8511EFB01BF0079041C /* Num.swift in Sources */, + 6ABBD85A1EFB01BF0079041C /* Writer.swift in Sources */, 82FCDC581D73CE750011C27F /* Combinators.swift in Sources */, - 821BEF771D8F3EF8009F8D58 /* Const.swift in Sources */, - 821BEFBF1D8F3EF8009F8D58 /* Pointed.swift in Sources */, - 821BEFC71D8F3EF8009F8D58 /* Ratio.swift in Sources */, - 821BEFD31D8F3EF8009F8D58 /* State.swift in Sources */, - 821BEF7F1D8F3EF8009F8D58 /* Curry.swift in Sources */, - 821BEF5F1D8F3EF8009F8D58 /* ArrowExt.swift in Sources */, - 821BEFCB1D8F3EF8009F8D58 /* Reader.swift in Sources */, + 6ABBD89B1EFB04A70079041C /* Operators.swift in Sources */, + 6ABBD8531EFB01BF0079041C /* Ratio.swift in Sources */, + 6ABBD8471EFB01BF0079041C /* Const.swift in Sources */, + 6ABBD84C1EFB01BF0079041C /* HList.swift in Sources */, + 6ABBD8541EFB01BF0079041C /* Reader.swift in Sources */, + 6ABBD8481EFB01BF0079041C /* Curry.swift in Sources */, + 6ABBD80D1EFB01B70079041C /* EitherExt.swift in Sources */, + 6ABBD8451EFB01BF0079041C /* Bifunctor.swift in Sources */, 8240CD581C3A397800EF4D29 /* (null) in Sources */, - 821BEFAF1D8F3EF8009F8D58 /* Monoidal.swift in Sources */, + 6ABBD84B1EFB01BF0079041C /* Functor.swift in Sources */, + 6ABBD8881EFB01D60079041C /* Pointed.swift in Sources */, + 6ABBD8461EFB01BF0079041C /* Bounded.swift in Sources */, + 6ABBD80C1EFB01B70079041C /* DictionaryExt.swift in Sources */, + 6ABBD8871EFB01D60079041C /* Monoidal.swift in Sources */, + 6ABBD8571EFB01BF0079041C /* Stream.swift in Sources */, + 6ABBD8811EFB01D60079041C /* Applicative.swift in Sources */, + 6ABBD80E1EFB01B70079041C /* OptionalExt.swift in Sources */, + 6ABBD84E1EFB01BF0079041C /* List.swift in Sources */, 82FCDC601D73CE760011C27F /* Error.swift in Sources */, - 821BEF731D8F3EF8009F8D58 /* Comonad.swift in Sources */, - 821BEF8F1D8F3EF8009F8D58 /* Function.swift in Sources */, - 821BEFEB1D8F3EF8009F8D58 /* TupleExt.swift in Sources */, - 821BEFC31D8F3EF8009F8D58 /* Proxy.swift in Sources */, - 821BEFEF1D8F3EF8009F8D58 /* Unit.swift in Sources */, - 821BEF9B1D8F3EF8009F8D58 /* Identity.swift in Sources */, - 821BEFE71D8F3EF8009F8D58 /* Those.swift in Sources */, - 821BEF531D8F3EF8009F8D58 /* Applicative.swift in Sources */, - 821BEF631D8F3EF8009F8D58 /* Bifunctor.swift in Sources */, - 821BEF671D8F3EF8009F8D58 /* Bounded.swift in Sources */, - 821BEF6F1D8F3EF8009F8D58 /* CharacterExt.swift in Sources */, + 6ABBD80A1EFB01B70079041C /* ArrowExt.swift in Sources */, + 6ABBD8091EFB01B70079041C /* ArrayExt.swift in Sources */, 82FCDC681D73CE760011C27F /* Optional.swift in Sources */, - 821BEF6B1D8F3EF8009F8D58 /* Category.swift in Sources */, + 6ABBD8521EFB01BF0079041C /* Proxy.swift in Sources */, + 6ABBD8831EFB01D60079041C /* Category.swift in Sources */, + 6ABBD84D1EFB01BF0079041C /* Identity.swift in Sources */, + 6ABBD84A1EFB01BF0079041C /* Function.swift in Sources */, + 6ABBD84F1EFB01BF0079041C /* Monoid.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1116,51 +1114,51 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 821BEFB01D8F3EF8009F8D58 /* Monoidal.swift in Sources */, - 821BEFBC1D8F3EF8009F8D58 /* OptionalExt.swift in Sources */, - 8240CDEB1C3A425C00EF4D29 /* Operators.swift in Sources */, - 821BEF641D8F3EF8009F8D58 /* Bifunctor.swift in Sources */, - 821BEF581D8F3EF8009F8D58 /* ArrayExt.swift in Sources */, + 6ABBD85B1EFB01C00079041C /* Bifunctor.swift in Sources */, + 6ABBD8701EFB01C00079041C /* Writer.swift in Sources */, + 6ABBD8681EFB01C00079041C /* Proxy.swift in Sources */, 82FCDC611D73CE760011C27F /* Error.swift in Sources */, - 821BEFF41D8F3EF8009F8D58 /* Writer.swift in Sources */, - 821BEFDC1D8F3EF8009F8D58 /* StringExt.swift in Sources */, - 821BEF741D8F3EF8009F8D58 /* Comonad.swift in Sources */, - 821BEFCC1D8F3EF8009F8D58 /* Reader.swift in Sources */, - 821BEF601D8F3EF8009F8D58 /* ArrowExt.swift in Sources */, - 821BEF681D8F3EF8009F8D58 /* Bounded.swift in Sources */, - 821BEFA01D8F3EF8009F8D58 /* Kinds.swift in Sources */, - 821BEF9C1D8F3EF8009F8D58 /* Identity.swift in Sources */, - 821BEFAC1D8F3EF8009F8D58 /* Monoid.swift in Sources */, - 821BEF801D8F3EF8009F8D58 /* Curry.swift in Sources */, + 6ABBD86B1EFB01C00079041C /* Semigroup.swift in Sources */, + 6ABBD8161EFB01B80079041C /* OptionalExt.swift in Sources */, 82FCDC591D73CE750011C27F /* Combinators.swift in Sources */, - 821BEFEC1D8F3EF8009F8D58 /* TupleExt.swift in Sources */, + 6ABBD88C1EFB01D60079041C /* Comonad.swift in Sources */, + 6ABBD8141EFB01B80079041C /* DictionaryExt.swift in Sources */, 82FCDC551D73CE750011C27F /* Array.swift in Sources */, - 821BEF941D8F3EF8009F8D58 /* Functor.swift in Sources */, - 821BEFA81D8F3EF8009F8D58 /* Monad.swift in Sources */, - 821BEF541D8F3EF8009F8D58 /* Applicative.swift in Sources */, - 821BEFD81D8F3EF8009F8D58 /* Stream.swift in Sources */, - 821BEFD01D8F3EF8009F8D58 /* Semigroup.swift in Sources */, - 821BEF6C1D8F3EF8009F8D58 /* Category.swift in Sources */, + 6ABBD86C1EFB01C00079041C /* State.swift in Sources */, + 6ABBD8131EFB01B80079041C /* CharacterExt.swift in Sources */, + 6ABBD8181EFB01B80079041C /* TupleExt.swift in Sources */, 82FCDC5D1D73CE760011C27F /* Either.swift in Sources */, - 821BEF701D8F3EF8009F8D58 /* CharacterExt.swift in Sources */, - 821BEFB81D8F3EF8009F8D58 /* Num.swift in Sources */, - 821BEFA41D8F3EF8009F8D58 /* List.swift in Sources */, - 821BEF781D8F3EF8009F8D58 /* Const.swift in Sources */, - 821BEFC41D8F3EF8009F8D58 /* Proxy.swift in Sources */, - 821BEFF01D8F3EF8009F8D58 /* Unit.swift in Sources */, - 821BEFC81D8F3EF8009F8D58 /* Ratio.swift in Sources */, + 6ABBD88A1EFB01D60079041C /* Arrow.swift in Sources */, + 6ABBD8941EFB01DD0079041C /* Kinds.swift in Sources */, + 6ABBD8621EFB01C00079041C /* HList.swift in Sources */, + 6ABBD86F1EFB01C00079041C /* Unit.swift in Sources */, + 6ABBD8611EFB01C00079041C /* Functor.swift in Sources */, + 6ABBD86A1EFB01C00079041C /* Reader.swift in Sources */, + 6ABBD85E1EFB01C00079041C /* Curry.swift in Sources */, + 6ABBD8671EFB01C00079041C /* Num.swift in Sources */, + 6ABBD85F1EFB01C00079041C /* Foldable.swift in Sources */, + 6ABBD88B1EFB01D60079041C /* Category.swift in Sources */, + 6ABBD8151EFB01B80079041C /* EitherExt.swift in Sources */, + 6ABBD86D1EFB01C00079041C /* Stream.swift in Sources */, + 6ABBD89C1EFB04A90079041C /* Operators.swift in Sources */, + 6ABBD8891EFB01D60079041C /* Applicative.swift in Sources */, 82FCDC691D73CE760011C27F /* Optional.swift in Sources */, - 821BEF8C1D8F3EF8009F8D58 /* Foldable.swift in Sources */, - 821BEF981D8F3EF8009F8D58 /* HList.swift in Sources */, - 821BEF881D8F3EF8009F8D58 /* EitherExt.swift in Sources */, - 821BEF841D8F3EF8009F8D58 /* DictionaryExt.swift in Sources */, - 821BEFB41D8F3EF8009F8D58 /* NonEmptyList.swift in Sources */, - 821BEF5C1D8F3EF8009F8D58 /* Arrow.swift in Sources */, - 821BEFE81D8F3EF8009F8D58 /* Those.swift in Sources */, - 821BEFD41D8F3EF8009F8D58 /* State.swift in Sources */, - 821BEF7C1D8F3EF8009F8D58 /* Copointed.swift in Sources */, - 821BEF901D8F3EF8009F8D58 /* Function.swift in Sources */, - 821BEFC01D8F3EF8009F8D58 /* Pointed.swift in Sources */, + 6ABBD8691EFB01C00079041C /* Ratio.swift in Sources */, + 6ABBD85C1EFB01C00079041C /* Bounded.swift in Sources */, + 6ABBD8111EFB01B80079041C /* ArrayExt.swift in Sources */, + 6ABBD8631EFB01C00079041C /* Identity.swift in Sources */, + 6ABBD88D1EFB01D60079041C /* Copointed.swift in Sources */, + 6ABBD85D1EFB01C00079041C /* Const.swift in Sources */, + 6ABBD86E1EFB01C00079041C /* Those.swift in Sources */, + 6ABBD8171EFB01B80079041C /* StringExt.swift in Sources */, + 6ABBD8121EFB01B80079041C /* ArrowExt.swift in Sources */, + 6ABBD88F1EFB01D60079041C /* Monoidal.swift in Sources */, + 6ABBD8651EFB01C00079041C /* Monoid.swift in Sources */, + 6ABBD8641EFB01C00079041C /* List.swift in Sources */, + 6ABBD8901EFB01D60079041C /* Pointed.swift in Sources */, + 6ABBD8601EFB01C00079041C /* Function.swift in Sources */, + 6ABBD8661EFB01C00079041C /* NonEmptyList.swift in Sources */, + 6ABBD88E1EFB01D60079041C /* Monad.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1168,51 +1166,51 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 821BEFAD1D8F3EF8009F8D58 /* Monoidal.swift in Sources */, - 821BEFB91D8F3EF8009F8D58 /* OptionalExt.swift in Sources */, + 6ABBD8191EFB01BE0079041C /* Bifunctor.swift in Sources */, + 6ABBD82E1EFB01BE0079041C /* Writer.swift in Sources */, + 6ABBD8261EFB01BE0079041C /* Proxy.swift in Sources */, 82FCDC5E1D73CE760011C27F /* Error.swift in Sources */, - 821BEF611D8F3EF8009F8D58 /* Bifunctor.swift in Sources */, - 821BEF551D8F3EF8009F8D58 /* ArrayExt.swift in Sources */, + 6ABBD8291EFB01BE0079041C /* Semigroup.swift in Sources */, + 6ABBD7FE1EFB01B50079041C /* OptionalExt.swift in Sources */, 82FCDC561D73CE750011C27F /* Combinators.swift in Sources */, - 821BEFF11D8F3EF8009F8D58 /* Writer.swift in Sources */, - 821BEFD91D8F3EF8009F8D58 /* StringExt.swift in Sources */, - 821BEF711D8F3EF8009F8D58 /* Comonad.swift in Sources */, - 821BEFC91D8F3EF8009F8D58 /* Reader.swift in Sources */, - 821BEF5D1D8F3EF8009F8D58 /* ArrowExt.swift in Sources */, - 821BEF651D8F3EF8009F8D58 /* Bounded.swift in Sources */, - 821BEF9D1D8F3EF8009F8D58 /* Kinds.swift in Sources */, - 821BEF991D8F3EF8009F8D58 /* Identity.swift in Sources */, - 821BEFA91D8F3EF8009F8D58 /* Monoid.swift in Sources */, - 821BEF7D1D8F3EF8009F8D58 /* Curry.swift in Sources */, + 6ABBD8741EFB01D40079041C /* Comonad.swift in Sources */, + 6ABBD7FC1EFB01B50079041C /* DictionaryExt.swift in Sources */, 82FCDC521D73CE750011C27F /* Array.swift in Sources */, - 821BEFE91D8F3EF8009F8D58 /* TupleExt.swift in Sources */, + 6ABBD82A1EFB01BE0079041C /* State.swift in Sources */, + 6ABBD7FB1EFB01B50079041C /* CharacterExt.swift in Sources */, + 6ABBD8001EFB01B50079041C /* TupleExt.swift in Sources */, 82FCDC5A1D73CE750011C27F /* Either.swift in Sources */, - 821BEF911D8F3EF8009F8D58 /* Functor.swift in Sources */, - 821BEFA51D8F3EF8009F8D58 /* Monad.swift in Sources */, - 821BEF511D8F3EF8009F8D58 /* Applicative.swift in Sources */, - 821BEFD51D8F3EF8009F8D58 /* Stream.swift in Sources */, - 821BEFCD1D8F3EF8009F8D58 /* Semigroup.swift in Sources */, - 821BEF691D8F3EF8009F8D58 /* Category.swift in Sources */, - 821B76B01BC43C1000AF97D6 /* Operators.swift in Sources */, - 821BEF6D1D8F3EF8009F8D58 /* CharacterExt.swift in Sources */, - 821BEFB51D8F3EF8009F8D58 /* Num.swift in Sources */, - 821BEFA11D8F3EF8009F8D58 /* List.swift in Sources */, - 821BEF751D8F3EF8009F8D58 /* Const.swift in Sources */, - 821BEFC11D8F3EF8009F8D58 /* Proxy.swift in Sources */, - 821BEFED1D8F3EF8009F8D58 /* Unit.swift in Sources */, - 821BEFC51D8F3EF8009F8D58 /* Ratio.swift in Sources */, + 6ABBD8721EFB01D40079041C /* Arrow.swift in Sources */, + 6ABBD8911EFB01DB0079041C /* Kinds.swift in Sources */, + 6ABBD8201EFB01BE0079041C /* HList.swift in Sources */, + 6ABBD82D1EFB01BE0079041C /* Unit.swift in Sources */, + 6ABBD81F1EFB01BE0079041C /* Functor.swift in Sources */, + 6ABBD8281EFB01BE0079041C /* Reader.swift in Sources */, + 6ABBD81C1EFB01BE0079041C /* Curry.swift in Sources */, + 6ABBD8251EFB01BE0079041C /* Num.swift in Sources */, + 6ABBD81D1EFB01BE0079041C /* Foldable.swift in Sources */, + 6ABBD8731EFB01D40079041C /* Category.swift in Sources */, + 6ABBD7FD1EFB01B50079041C /* EitherExt.swift in Sources */, + 6ABBD82B1EFB01BE0079041C /* Stream.swift in Sources */, + 6ABBD8991EFB04A60079041C /* Operators.swift in Sources */, + 6ABBD8711EFB01D40079041C /* Applicative.swift in Sources */, 82FCDC661D73CE760011C27F /* Optional.swift in Sources */, - 821BEF891D8F3EF8009F8D58 /* Foldable.swift in Sources */, - 821BEF951D8F3EF8009F8D58 /* HList.swift in Sources */, - 821BEF851D8F3EF8009F8D58 /* EitherExt.swift in Sources */, - 821BEF811D8F3EF8009F8D58 /* DictionaryExt.swift in Sources */, - 821BEFB11D8F3EF8009F8D58 /* NonEmptyList.swift in Sources */, - 821BEF591D8F3EF8009F8D58 /* Arrow.swift in Sources */, - 821BEFE51D8F3EF8009F8D58 /* Those.swift in Sources */, - 821BEFD11D8F3EF8009F8D58 /* State.swift in Sources */, - 821BEF791D8F3EF8009F8D58 /* Copointed.swift in Sources */, - 821BEF8D1D8F3EF8009F8D58 /* Function.swift in Sources */, - 821BEFBD1D8F3EF8009F8D58 /* Pointed.swift in Sources */, + 6ABBD8271EFB01BE0079041C /* Ratio.swift in Sources */, + 6ABBD81A1EFB01BE0079041C /* Bounded.swift in Sources */, + 6ABBD7F91EFB01B50079041C /* ArrayExt.swift in Sources */, + 6ABBD8211EFB01BE0079041C /* Identity.swift in Sources */, + 6ABBD8751EFB01D40079041C /* Copointed.swift in Sources */, + 6ABBD81B1EFB01BE0079041C /* Const.swift in Sources */, + 6ABBD82C1EFB01BE0079041C /* Those.swift in Sources */, + 6ABBD7FF1EFB01B50079041C /* StringExt.swift in Sources */, + 6ABBD7FA1EFB01B50079041C /* ArrowExt.swift in Sources */, + 6ABBD8771EFB01D40079041C /* Monoidal.swift in Sources */, + 6ABBD8231EFB01BE0079041C /* Monoid.swift in Sources */, + 6ABBD8221EFB01BE0079041C /* List.swift in Sources */, + 6ABBD8781EFB01D40079041C /* Pointed.swift in Sources */, + 6ABBD81E1EFB01BE0079041C /* Function.swift in Sources */, + 6ABBD8241EFB01BE0079041C /* NonEmptyList.swift in Sources */, + 6ABBD8761EFB01D40079041C /* Monad.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1248,51 +1246,51 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 821BEFAE1D8F3EF8009F8D58 /* Monoidal.swift in Sources */, - 821BEFBA1D8F3EF8009F8D58 /* OptionalExt.swift in Sources */, + 6ABBD82F1EFB01BF0079041C /* Bifunctor.swift in Sources */, + 6ABBD8441EFB01BF0079041C /* Writer.swift in Sources */, + 6ABBD83C1EFB01BF0079041C /* Proxy.swift in Sources */, 82FCDC5F1D73CE760011C27F /* Error.swift in Sources */, - 821BEF621D8F3EF8009F8D58 /* Bifunctor.swift in Sources */, - 821BEF561D8F3EF8009F8D58 /* ArrayExt.swift in Sources */, + 6ABBD83F1EFB01BF0079041C /* Semigroup.swift in Sources */, + 6ABBD8061EFB01B60079041C /* OptionalExt.swift in Sources */, 82FCDC571D73CE750011C27F /* Combinators.swift in Sources */, - 821BEFF21D8F3EF8009F8D58 /* Writer.swift in Sources */, - 821BEFDA1D8F3EF8009F8D58 /* StringExt.swift in Sources */, - 821BEF721D8F3EF8009F8D58 /* Comonad.swift in Sources */, - 821BEFCA1D8F3EF8009F8D58 /* Reader.swift in Sources */, - 821BEF5E1D8F3EF8009F8D58 /* ArrowExt.swift in Sources */, - 821BEF661D8F3EF8009F8D58 /* Bounded.swift in Sources */, - 821BEF9E1D8F3EF8009F8D58 /* Kinds.swift in Sources */, - 821BEF9A1D8F3EF8009F8D58 /* Identity.swift in Sources */, - 821BEFAA1D8F3EF8009F8D58 /* Monoid.swift in Sources */, - 821BEF7E1D8F3EF8009F8D58 /* Curry.swift in Sources */, + 6ABBD87C1EFB01D50079041C /* Comonad.swift in Sources */, + 6ABBD8041EFB01B60079041C /* DictionaryExt.swift in Sources */, 82FCDC531D73CE750011C27F /* Array.swift in Sources */, - 821BEFEA1D8F3EF8009F8D58 /* TupleExt.swift in Sources */, + 6ABBD8401EFB01BF0079041C /* State.swift in Sources */, + 6ABBD8031EFB01B60079041C /* CharacterExt.swift in Sources */, + 6ABBD8081EFB01B60079041C /* TupleExt.swift in Sources */, 82FCDC5B1D73CE750011C27F /* Either.swift in Sources */, - 821BEF921D8F3EF8009F8D58 /* Functor.swift in Sources */, - 821BEFA61D8F3EF8009F8D58 /* Monad.swift in Sources */, - 821BEF521D8F3EF8009F8D58 /* Applicative.swift in Sources */, - 821BEFD61D8F3EF8009F8D58 /* Stream.swift in Sources */, - 821BEFCE1D8F3EF8009F8D58 /* Semigroup.swift in Sources */, - 821BEF6A1D8F3EF8009F8D58 /* Category.swift in Sources */, - 821B76C91BC4402700AF97D6 /* Operators.swift in Sources */, - 821BEF6E1D8F3EF8009F8D58 /* CharacterExt.swift in Sources */, - 821BEFB61D8F3EF8009F8D58 /* Num.swift in Sources */, - 821BEFA21D8F3EF8009F8D58 /* List.swift in Sources */, - 821BEF761D8F3EF8009F8D58 /* Const.swift in Sources */, - 821BEFC21D8F3EF8009F8D58 /* Proxy.swift in Sources */, - 821BEFEE1D8F3EF8009F8D58 /* Unit.swift in Sources */, - 821BEFC61D8F3EF8009F8D58 /* Ratio.swift in Sources */, + 6ABBD87A1EFB01D50079041C /* Arrow.swift in Sources */, + 6ABBD8921EFB01DC0079041C /* Kinds.swift in Sources */, + 6ABBD8361EFB01BF0079041C /* HList.swift in Sources */, + 6ABBD8431EFB01BF0079041C /* Unit.swift in Sources */, + 6ABBD8351EFB01BF0079041C /* Functor.swift in Sources */, + 6ABBD83E1EFB01BF0079041C /* Reader.swift in Sources */, + 6ABBD8321EFB01BF0079041C /* Curry.swift in Sources */, + 6ABBD83B1EFB01BF0079041C /* Num.swift in Sources */, + 6ABBD8331EFB01BF0079041C /* Foldable.swift in Sources */, + 6ABBD87B1EFB01D50079041C /* Category.swift in Sources */, + 6ABBD8051EFB01B60079041C /* EitherExt.swift in Sources */, + 6ABBD8411EFB01BF0079041C /* Stream.swift in Sources */, + 6ABBD89A1EFB04A60079041C /* Operators.swift in Sources */, + 6ABBD8791EFB01D50079041C /* Applicative.swift in Sources */, 82FCDC671D73CE760011C27F /* Optional.swift in Sources */, - 821BEF8A1D8F3EF8009F8D58 /* Foldable.swift in Sources */, - 821BEF961D8F3EF8009F8D58 /* HList.swift in Sources */, - 821BEF861D8F3EF8009F8D58 /* EitherExt.swift in Sources */, - 821BEF821D8F3EF8009F8D58 /* DictionaryExt.swift in Sources */, - 821BEFB21D8F3EF8009F8D58 /* NonEmptyList.swift in Sources */, - 821BEF5A1D8F3EF8009F8D58 /* Arrow.swift in Sources */, - 821BEFE61D8F3EF8009F8D58 /* Those.swift in Sources */, - 821BEFD21D8F3EF8009F8D58 /* State.swift in Sources */, - 821BEF7A1D8F3EF8009F8D58 /* Copointed.swift in Sources */, - 821BEF8E1D8F3EF8009F8D58 /* Function.swift in Sources */, - 821BEFBE1D8F3EF8009F8D58 /* Pointed.swift in Sources */, + 6ABBD83D1EFB01BF0079041C /* Ratio.swift in Sources */, + 6ABBD8301EFB01BF0079041C /* Bounded.swift in Sources */, + 6ABBD8011EFB01B60079041C /* ArrayExt.swift in Sources */, + 6ABBD8371EFB01BF0079041C /* Identity.swift in Sources */, + 6ABBD87D1EFB01D50079041C /* Copointed.swift in Sources */, + 6ABBD8311EFB01BF0079041C /* Const.swift in Sources */, + 6ABBD8421EFB01BF0079041C /* Those.swift in Sources */, + 6ABBD8071EFB01B60079041C /* StringExt.swift in Sources */, + 6ABBD8021EFB01B60079041C /* ArrowExt.swift in Sources */, + 6ABBD87F1EFB01D50079041C /* Monoidal.swift in Sources */, + 6ABBD8391EFB01BF0079041C /* Monoid.swift in Sources */, + 6ABBD8381EFB01BF0079041C /* List.swift in Sources */, + 6ABBD8801EFB01D50079041C /* Pointed.swift in Sources */, + 6ABBD8341EFB01BF0079041C /* Function.swift in Sources */, + 6ABBD83A1EFB01BF0079041C /* NonEmptyList.swift in Sources */, + 6ABBD87E1EFB01D50079041C /* Monad.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1327,26 +1325,11 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 821B76C41BC43DED00AF97D6 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "SwiftCheck-iOS"; - targetProxy = 821B76C31BC43DED00AF97D6 /* PBXContainerItemProxy */; - }; - 821B76C71BC43DF600AF97D6 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftCheck; - targetProxy = 821B76C61BC43DF600AF97D6 /* PBXContainerItemProxy */; - }; 8240CD281C3A396000EF4D29 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 8240CD1B1C3A395F00EF4D29 /* Swiftz-tvOS */; targetProxy = 8240CD271C3A396000EF4D29 /* PBXContainerItemProxy */; }; - 8240CDE81C3A423F00EF4D29 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "SwiftCheck-tvOS"; - targetProxy = 8240CDE71C3A423F00EF4D29 /* PBXContainerItemProxy */; - }; 84A88FA61A71DF7F003D53CF /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 84A88F971A71DF7F003D53CF /* Swiftz */; @@ -1373,12 +1356,13 @@ INFOPLIST_FILE = Sources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-DXCODE_BUILD"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.Swiftz-tvOS"; PRODUCT_NAME = Swiftz; SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; }; @@ -1396,12 +1380,13 @@ INFOPLIST_FILE = Sources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-DXCODE_BUILD"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.Swiftz-tvOS"; PRODUCT_NAME = Swiftz; SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; @@ -1415,13 +1400,15 @@ CLANG_ENABLE_MODULES = YES; DEBUG_INFORMATION_FORMAT = dwarf; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = Tests/Info.plist; + INFOPLIST_FILE = Sources/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.Swiftz-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; TVOS_DEPLOYMENT_TARGET = 9.0; }; name = Debug; @@ -1432,12 +1419,14 @@ APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = Tests/Info.plist; + INFOPLIST_FILE = Sources/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.Swiftz-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; }; @@ -1457,12 +1446,13 @@ INFOPLIST_FILE = Sources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-DXCODE_BUILD"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.Swiftz-watchOS"; PRODUCT_NAME = Swiftz; SDKROOT = watchos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = 4; WATCHOS_DEPLOYMENT_TARGET = 2.0; }; @@ -1481,12 +1471,13 @@ INFOPLIST_FILE = Sources/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-DXCODE_BUILD"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.Swiftz-watchOS"; PRODUCT_NAME = Swiftz; SDKROOT = watchos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = 4; VALIDATE_PRODUCT = YES; WATCHOS_DEPLOYMENT_TARGET = 2.0; @@ -1502,14 +1493,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -1552,14 +1549,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -1600,14 +1603,15 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; - OTHER_SWIFT_FLAGS = "-DXCODE_BUILD"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -1625,13 +1629,14 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; - OTHER_SWIFT_FLAGS = "-DXCODE_BUILD"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = ""; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -1649,12 +1654,14 @@ "DEBUG=1", "$(inherited)", ); - INFOPLIST_FILE = Tests/Info.plist; + INFOPLIST_FILE = Sources/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "io.maxs.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -1668,11 +1675,13 @@ "$(DEVELOPER_FRAMEWORKS_DIR)", "$(inherited)", ); - INFOPLIST_FILE = Tests/Info.plist; + INFOPLIST_FILE = Sources/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "io.maxs.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -1694,14 +1703,15 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-DXCODE_BUILD"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = Swiftz; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = ""; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -1719,14 +1729,15 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_SWIFT_FLAGS = "-DXCODE_BUILD"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "com.typelift.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = Swiftz; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_OBJC_INTERFACE_HEADER_NAME = ""; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -1748,14 +1759,16 @@ "DEBUG=1", "$(inherited)", ); - INFOPLIST_FILE = Tests/Info.plist; + INFOPLIST_FILE = Sources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "io.maxs.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -1770,13 +1783,15 @@ "$(inherited)", ); GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = Tests/Info.plist; + INFOPLIST_FILE = Sources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_SWIFT_FLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = "io.maxs.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Off; + SWIFT_VERSION = 4.0; VALIDATE_PRODUCT = YES; }; name = Release; diff --git a/Swiftz.xcodeproj/xcshareddata/xcschemes/Swiftz-iOS.xcscheme b/Swiftz.xcodeproj/xcshareddata/xcschemes/Swiftz-iOS.xcscheme index 1ef4102..2802187 100644 --- a/Swiftz.xcodeproj/xcshareddata/xcschemes/Swiftz-iOS.xcscheme +++ b/Swiftz.xcodeproj/xcshareddata/xcschemes/Swiftz-iOS.xcscheme @@ -1,6 +1,6 @@ >) in @@ -73,7 +78,9 @@ class ArrayExtSpec : XCTestCase { property("Array obeys the second Applicative composition law") <- forAll { (fl : Array>, gl : Array>, x : Array) in let f = fl.map({ $0.getArrow }) let g = gl.map({ $0.getArrow }) - return (Array.pure(curry(•)) <*> f <*> g <*> x) == (f <*> (g <*> x)) + let lhs = Array.pure(curry(•)) <*> f <*> g <*> x + let rhs = f <*> (g <*> x) + return (lhs == rhs) // broken up as 'too complex' for compiler } property("Array obeys the Monad left identity law") <- forAll { (a : Int, fa : ArrowOf>) in diff --git a/Tests/SwiftzTests/ArrowExtSpec.swift b/Tests/SwiftzTests/ArrowExtSpec.swift index 90a8170..60c5ac7 100644 --- a/Tests/SwiftzTests/ArrowExtSpec.swift +++ b/Tests/SwiftzTests/ArrowExtSpec.swift @@ -10,6 +10,11 @@ import Swiftz import SwiftCheck import XCTest +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class ArrowExtSpec : XCTestCase { func testProperties() { property("Arrow obeys the Functor identity law") <- forAll { (x : ArrowOf) in diff --git a/Tests/SwiftzTests/DictionaryExtSpec.swift b/Tests/SwiftzTests/DictionaryExtSpec.swift index 28853de..56a8daf 100644 --- a/Tests/SwiftzTests/DictionaryExtSpec.swift +++ b/Tests/SwiftzTests/DictionaryExtSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class DictionaryExtSpec : XCTestCase { func testProperties() { /* diff --git a/Tests/SwiftzTests/EitherSpec.swift b/Tests/SwiftzTests/EitherSpec.swift index 2f6b24a..80e00e1 100644 --- a/Tests/SwiftzTests/EitherSpec.swift +++ b/Tests/SwiftzTests/EitherSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + struct EitherOf : Arbitrary { let getEither : Either @@ -76,4 +81,12 @@ class EitherSpec : XCTestCase { } } } + + + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ]) + #endif } diff --git a/Tests/SwiftzTests/FunctionSpec.swift b/Tests/SwiftzTests/FunctionSpec.swift index 88cfd9f..7dced75 100644 --- a/Tests/SwiftzTests/FunctionSpec.swift +++ b/Tests/SwiftzTests/FunctionSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class FunctionSpec : XCTestCase { func testCategoryLaws() { property("Function obeys the Category left identity law") <- forAll { (fa : ArrowOf) in @@ -56,7 +61,7 @@ class FunctionSpec : XCTestCase { let la = Function.arr(f.getArrow).first() let ra = Function.arr(Function.arr(f.getArrow).first().apply) return forAll { (x : Int8, y : Int8) in - return la.apply(x, y) == ra.apply(x, y) + return la.apply((x, y)) == ra.apply((x, y)) } } @@ -64,7 +69,7 @@ class FunctionSpec : XCTestCase { let la = Function.arr(f.getArrow) >>> Function.arr(g.getArrow) let ra = Function.arr(f.getArrow).first() >>> Function.arr(g.getArrow).first() return forAll { (x : Int8, y : Int8) in - return la.first().apply(x, y) == ra.apply(x, y) + return la.first().apply((x, y)) == ra.apply((x, y)) } } @@ -72,7 +77,7 @@ class FunctionSpec : XCTestCase { let la = Function.arr(f.getArrow).first() >>> Function.arr(fst) let ra = Function<(Int8, Int8), Int8>.arr(fst) >>> Function.arr(f.getArrow) return forAll { (x : Int8, y : Int8) in - return la.apply(x, y) == ra.apply(x, y) + return la.apply((x, y)) == ra.apply((x, y)) } } @@ -80,7 +85,7 @@ class FunctionSpec : XCTestCase { let la = Function.arr(f.getArrow).first() >>> (Function.arr(identity) *** Function.arr(g.getArrow)) let ra = (Function.arr(identity) *** Function.arr(g.getArrow)) >>> Function.arr(f.getArrow).first() return forAll { (x : Int8, y : Int8) in - return la.apply(x, y) == ra.apply(x, y) + return la.apply((x, y)) == ra.apply((x, y)) } } @@ -153,9 +158,16 @@ class FunctionSpec : XCTestCase { property("app") <- forAll { (x : Int8, y : Int8) in let app : Function<(Function, Int8), (Int8, Int8)> = Function.app() let la = Function>.arr({ x in Function.arr({ y in (x, y) }) }).first() >>> app - return la.apply(x, y) == identity(x, y) + return la.apply((x, y)) == identity((x, y)) } - - } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testCategoryLaws", testCategoryLaws), + ("testArrowLaws", testArrowLaws), + ("testArrowChoiceLaws", testArrowChoiceLaws), + ("testArrowApplyLaws", testArrowApplyLaws) + ]) + #endif } diff --git a/Tests/SwiftzTests/FunctorSpec.swift b/Tests/SwiftzTests/FunctorSpec.swift index a147ff7..e1b01c3 100644 --- a/Tests/SwiftzTests/FunctorSpec.swift +++ b/Tests/SwiftzTests/FunctorSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class FunctorSpec : XCTestCase { func testProperties() { property("Const obeys the Functor identity law") <- forAll { (s : String) in @@ -33,4 +38,10 @@ class FunctorSpec : XCTestCase { return x.bimap(f1.getArrow, g1.getArrow).bimap(f2.getArrow, g2.getArrow).runConst == (x.bimap(f2.getArrow • f1.getArrow, g1.getArrow • g2.getArrow)).runConst } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ]) + #endif } diff --git a/Tests/SwiftzTests/HListSpec.swift b/Tests/SwiftzTests/HListSpec.swift index 07d94bb..4a7d3f6 100644 --- a/Tests/SwiftzTests/HListSpec.swift +++ b/Tests/SwiftzTests/HListSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class HListSpec : XCTestCase { func testHList() { typealias AList = HCons> @@ -43,4 +48,10 @@ class HListSpec : XCTestCase { } } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testHList", testHList), + ]) + #endif } diff --git a/Tests/SwiftzTests/IdentitySpec.swift b/Tests/SwiftzTests/IdentitySpec.swift index 1e1c5ef..f0effd1 100644 --- a/Tests/SwiftzTests/IdentitySpec.swift +++ b/Tests/SwiftzTests/IdentitySpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + extension Identity where T : Arbitrary { public static var arbitrary : Gen> { return A.arbitrary.map(Identity.pure) @@ -109,6 +114,11 @@ class IdentitySpec : XCTestCase { return ss.runIdentity == xs } } - } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ]) + #endif } diff --git a/Tests/SwiftzTests/ListSpec.swift b/Tests/SwiftzTests/ListSpec.swift index 604ec2c..0b844ab 100644 --- a/Tests/SwiftzTests/ListSpec.swift +++ b/Tests/SwiftzTests/ListSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + /// Generates an array of arbitrary values. extension List where Element : Arbitrary { public static var arbitrary : Gen> { @@ -134,7 +139,11 @@ class ListSpec : XCTestCase { let cycle = x.cycle() return forAll { (n : Positive) in - return (0...UInt(n.getPositive)).map({ i in cycle[i] == x[(i % x.count)] }).filter({ $0 == false }).isEmpty + // broken up as 'too complex' for compiler + let range = (0...UInt(n.getPositive)) + let transform = { i in cycle[i] == x[(i % x.count)] } + let filter = { $0 == false } + return range.map(transform).filter(filter).isEmpty } } } @@ -154,7 +163,7 @@ class ListSpec : XCTestCase { property("filter behaves") <- forAll { (pred : ArrowOf) in return forAll { (xs : List) in - return xs.filter(pred.getArrow).reduce({ $0.0 && pred.getArrow($0.1) }, initial: true) + return xs.filter(pred.getArrow).reduce({ acc, i in acc && pred.getArrow(i) }, initial: true) } } @@ -192,4 +201,10 @@ class ListSpec : XCTestCase { } } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ]) + #endif } diff --git a/Tests/SwiftzTests/MonoidSpec.swift b/Tests/SwiftzTests/MonoidSpec.swift index 4ef2a04..118eb5b 100644 --- a/Tests/SwiftzTests/MonoidSpec.swift +++ b/Tests/SwiftzTests/MonoidSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class MonoidSpec : XCTestCase { func testProperties() { property("Sum obeys left identity") <- forAll { (i : Int) in @@ -65,4 +70,11 @@ class MonoidSpec : XCTestCase { let v : Dither, Sum> = Dither([Either.Left(Product(2)), Either.Left(Product(3)), Either.Right(Sum(5)), Either.Left(Product(7))]) XCTAssert(v.fold(onLeft: { n in Sum(Int16(n.value())) }, onRight: identity).value() == 18, "Dither works") } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ("testDither", testDither), + ]) + #endif } diff --git a/Tests/SwiftzTests/NonEmptyListSpec.swift b/Tests/SwiftzTests/NonEmptyListSpec.swift index 2186821..0f25296 100644 --- a/Tests/SwiftzTests/NonEmptyListSpec.swift +++ b/Tests/SwiftzTests/NonEmptyListSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + extension NonEmptyList where Element : Arbitrary { public static var arbitrary : Gen> { return [Element].arbitrary.suchThat({ !$0.isEmpty }).map { NonEmptyList(List(fromArray: $0))! } @@ -165,4 +170,10 @@ class NonEmptyListSpec : XCTestCase { return l.reverse().reverse() == l } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/OptionalExtSpec.swift b/Tests/SwiftzTests/OptionalExtSpec.swift index c3de3f7..31d6dc3 100644 --- a/Tests/SwiftzTests/OptionalExtSpec.swift +++ b/Tests/SwiftzTests/OptionalExtSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class OptionalExtSpec : XCTestCase { func testProperties() { property("pure creates a .some") <- forAll { (x : Int) in diff --git a/Tests/SwiftzTests/ProxySpec.swift b/Tests/SwiftzTests/ProxySpec.swift index ce1fa62..000b67a 100644 --- a/Tests/SwiftzTests/ProxySpec.swift +++ b/Tests/SwiftzTests/ProxySpec.swift @@ -11,6 +11,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + extension Proxy : Arbitrary { public static var arbitrary : Gen> { return Gen.pure(Proxy()) @@ -118,5 +123,11 @@ class ProxySpec : XCTestCase { } } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/ReaderSpec.swift b/Tests/SwiftzTests/ReaderSpec.swift index 1018f60..fa22d71 100644 --- a/Tests/SwiftzTests/ReaderSpec.swift +++ b/Tests/SwiftzTests/ReaderSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class ReaderSpec : XCTestCase { func testReader() { func addOne() -> Reader { @@ -61,7 +66,7 @@ class ReaderSpec : XCTestCase { XCTAssert(lengthResult2 == 6) // Ask - let lengthResult3 = (reader { 1234 } >>- runReader)?() + let lengthResult3 = (reader({ _ in 1234 }) >>- runReader)?(()) XCTAssert(lengthResult3 == 1234) let lengthResult4 = hello() >>- runReader @@ -79,4 +84,10 @@ class ReaderSpec : XCTestCase { let lengthResult7 = (asks(length) >>- runReader)?("abc") XCTAssert(lengthResult7 == .some(3)) } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testReader", testReader) + ]) + #endif } diff --git a/Tests/SwiftzTests/StateSpec.swift b/Tests/SwiftzTests/StateSpec.swift index c437287..ed96d41 100644 --- a/Tests/SwiftzTests/StateSpec.swift +++ b/Tests/SwiftzTests/StateSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + struct StateOf : Arbitrary, CustomStringConvertible { let getState : State diff --git a/Tests/SwiftzTests/StreamSpec.swift b/Tests/SwiftzTests/StreamSpec.swift index d3e379d..fc6eab0 100644 --- a/Tests/SwiftzTests/StreamSpec.swift +++ b/Tests/SwiftzTests/StreamSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + /* /// Generates a Swiftz.Stream of arbitrary values. extension Swiftz.Stream where Element : Arbitrary { diff --git a/Tests/SwiftzTests/StringExtSpec.swift b/Tests/SwiftzTests/StringExtSpec.swift index 00e080c..da6b7e4 100644 --- a/Tests/SwiftzTests/StringExtSpec.swift +++ b/Tests/SwiftzTests/StringExtSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class StringExtSpec : XCTestCase { func testProperties() { property("unlines • lines === ('\n' • id)") <- forAll { (x : String) in @@ -92,7 +97,7 @@ class StringExtSpec : XCTestCase { } property("filter behaves") <- forAll { (xs : String, pred : ArrowOf) in - return xs.filter(pred.getArrow).reduce({ $0.0 && pred.getArrow($0.1) }, initial: true) + return xs.filter(pred.getArrow).reduce({ acc, i in acc && pred.getArrow(i) }, initial: true) } property("isPrefixOf behaves") <- forAll { (s1 : String, s2 : String) in diff --git a/Tests/SwiftzTests/ThoseSpec.swift b/Tests/SwiftzTests/ThoseSpec.swift index 7966c42..ebaeb65 100644 --- a/Tests/SwiftzTests/ThoseSpec.swift +++ b/Tests/SwiftzTests/ThoseSpec.swift @@ -9,6 +9,11 @@ import XCTest import Swiftz +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class ThoseSpec : XCTestCase { func testThose() { let this = Those.This("String") @@ -20,4 +25,10 @@ class ThoseSpec : XCTestCase { XCTAssert(both.bimap(identity, identity) == both, "") } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testThose", testThose) + ]) + #endif } diff --git a/Tests/SwiftzTests/TupleExtSpec.swift b/Tests/SwiftzTests/TupleExtSpec.swift index 2ffc5c5..8d0df0c 100644 --- a/Tests/SwiftzTests/TupleExtSpec.swift +++ b/Tests/SwiftzTests/TupleExtSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + class TupleExtSpec : XCTestCase { func testProperties() { property("fst behaves") <- forAll { (x : Int, y : Int) in diff --git a/Tests/SwiftzTests/UnitSpec.swift b/Tests/SwiftzTests/UnitSpec.swift index afa96d4..c7aefdc 100644 --- a/Tests/SwiftzTests/UnitSpec.swift +++ b/Tests/SwiftzTests/UnitSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + extension Swiftz.Unit : Arbitrary { public static var arbitrary : Gen { return Gen.pure(.TT) @@ -44,4 +49,10 @@ class UnitSpec : XCTestCase { return (Swiftz.Unit.minBound() == x) == (Swiftz.Unit.maxBound() == x) } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/WriterSpec.swift b/Tests/SwiftzTests/WriterSpec.swift index 9a13870..8e62e1b 100644 --- a/Tests/SwiftzTests/WriterSpec.swift +++ b/Tests/SwiftzTests/WriterSpec.swift @@ -10,6 +10,11 @@ import XCTest import Swiftz import SwiftCheck +#if !XCODE_BUILD + import Operadics + import Swiftx +#endif + extension Writer where T : Arbitrary { public static var arbitrary : Gen> { return Gen<()>.zip(T.arbitrary, Gen.pure(W.mempty)).map(Writer.init) @@ -24,7 +29,7 @@ extension Writer where T : Arbitrary { extension Writer : WitnessedArbitrary { public typealias Param = T - public static func forAllWitnessed(_ wit : @escaping (A) -> T, pf : @escaping (Writer) -> Testable) -> Property { + public static func forAllWitnessed(_ wit : @escaping (A) -> T, pf : @escaping (Writer) -> Testable) -> Property { return forAllShrink(Writer.arbitrary, shrinker: Writer.shrink, f: { bl in return pf(bl.fmap(wit)) }) @@ -96,4 +101,10 @@ class WriterSpec : XCTestCase { } } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testWriterProperties", testWriterProperties) + ]) + #endif } From 5801206fc71bca6c9ce28388ae5e728db33d96ec Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Wed, 1 Nov 2017 23:40:26 -0400 Subject: [PATCH 2/2] Administrative fixes --- .gitmodules | 14 +- Sources/Swiftz/ArrayExt.swift | 6 +- Sources/Swiftz/Arrow.swift | 2 +- Sources/Swiftz/ArrowExt.swift | 2 +- Sources/Swiftz/Bifunctor.swift | 4 +- Sources/Swiftz/Category.swift | 2 +- Sources/Swiftz/Const.swift | 2 +- Sources/Swiftz/Curry.swift | 590 +++++++++++----------- Sources/Swiftz/DictionaryExt.swift | 8 +- Sources/Swiftz/EitherExt.swift | 2 +- Sources/Swiftz/Function.swift | 6 +- Sources/Swiftz/HList.swift | 12 +- Sources/Swiftz/Identity.swift | 2 +- Sources/Swiftz/List.swift | 12 +- Sources/Swiftz/Monoid.swift | 2 +- Sources/Swiftz/NonEmptyList.swift | 46 +- Sources/Swiftz/Num.swift | 2 +- Sources/Swiftz/OptionalExt.swift | 2 +- Sources/Swiftz/Proxy.swift | 2 +- Sources/Swiftz/Ratio.swift | 2 +- Sources/Swiftz/Reader.swift | 2 +- Sources/Swiftz/Semigroup.swift | 2 +- Sources/Swiftz/State.swift | 6 +- Sources/Swiftz/Stream.swift | 38 +- Sources/Swiftz/StringExt.swift | 52 +- Sources/Swiftz/Those.swift | 2 +- Sources/Swiftz/Writer.swift | 8 +- Tests/LinuxMain.swift | 39 +- Tests/SwiftzTests/ArrayExtSpec.swift | 8 +- Tests/SwiftzTests/ArrowExtSpec.swift | 8 +- Tests/SwiftzTests/DictionaryExtSpec.swift | 8 +- Tests/SwiftzTests/EitherSpec.swift | 24 +- Tests/SwiftzTests/FunctionSpec.swift | 48 +- Tests/SwiftzTests/FunctorSpec.swift | 18 +- Tests/SwiftzTests/HListSpec.swift | 24 +- Tests/SwiftzTests/IdentitySpec.swift | 18 +- Tests/SwiftzTests/ListSpec.swift | 26 +- Tests/SwiftzTests/MonoidSpec.swift | 20 +- Tests/SwiftzTests/NonEmptyListSpec.swift | 18 +- Tests/SwiftzTests/OptionalExtSpec.swift | 8 +- Tests/SwiftzTests/ProxySpec.swift | 34 +- Tests/SwiftzTests/ReaderSpec.swift | 152 +++--- Tests/SwiftzTests/StateSpec.swift | 13 +- Tests/SwiftzTests/StreamSpec.swift | 99 ++-- Tests/SwiftzTests/StringExtSpec.swift | 10 +- Tests/SwiftzTests/ThoseSpec.swift | 4 +- Tests/SwiftzTests/TupleExtSpec.swift | 8 +- Tests/SwiftzTests/UnitSpec.swift | 4 +- Tests/SwiftzTests/WriterSpec.swift | 20 +- 49 files changed, 747 insertions(+), 694 deletions(-) diff --git a/.gitmodules b/.gitmodules index 7c0a362..4827716 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,12 @@ [submodule "Carthage/Checkouts/Swiftx"] - path = Carthage/Checkouts/Swiftx url = https://github.com/typelift/Swiftx.git -[submodule "Carthage/Checkouts/SwiftCheck"] - path = Carthage/Checkouts/SwiftCheck - url = https://github.com/typelift/SwiftCheck.git -[submodule "Carthage/Checkouts/Operadics"] - path = Carthage/Checkouts/Operadics - url = https://github.com/typelift/Operadics.git + path = Carthage/Checkouts/Swiftx [submodule "Carthage/Checkouts/FileCheck"] path = Carthage/Checkouts/FileCheck url = https://github.com/trill-lang/FileCheck.git +[submodule "Carthage/Checkouts/Operadics"] + path = Carthage/Checkouts/Operadics + url = https://github.com/typelift/Operadics.git +[submodule "Carthage/Checkouts/SwiftCheck"] + path = Carthage/Checkouts/SwiftCheck + url = https://github.com/typelift/SwiftCheck.git diff --git a/Sources/Swiftz/ArrayExt.swift b/Sources/Swiftz/ArrayExt.swift index 49b3d1b..955abc2 100644 --- a/Sources/Swiftz/ArrayExt.swift +++ b/Sources/Swiftz/ArrayExt.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -128,7 +128,7 @@ extension Array /*: MonadZip*/ { } public func mzipWith(_ other : [B], _ f : @escaping (A) -> (B) -> C) -> [C] { - return self.mzip(other).map { let (a, b) = $0; return uncurry(f)(a, b) } + return self.mzip(other).map { let (a, b) = $0; return uncurry(f)(a, b) } } public static func munzip(ftab : [(A, B)]) -> ([A], [B]) { @@ -221,7 +221,7 @@ extension Array { /// Maps a function over an array that takes pairs of (index, element) to a different element. public func mapWithIndex(_ f : (Int, Element) -> U) -> [U] { - return zip((self.startIndex ..< self.endIndex), self).map { let (i, e) = $0; return f(i, e) } + return zip((self.startIndex ..< self.endIndex), self).map { let (i, e) = $0; return f(i, e) } } public func mapMaybe(_ f : (Element) -> Optional) -> [U] { diff --git a/Sources/Swiftz/Arrow.swift b/Sources/Swiftz/Arrow.swift index 8488bb1..0606c58 100644 --- a/Sources/Swiftz/Arrow.swift +++ b/Sources/Swiftz/Arrow.swift @@ -6,7 +6,7 @@ // Copyright (c) 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/ArrowExt.swift b/Sources/Swiftz/ArrowExt.swift index 2d3198a..58ce0d2 100644 --- a/Sources/Swiftz/ArrowExt.swift +++ b/Sources/Swiftz/ArrowExt.swift @@ -6,7 +6,7 @@ // Copyright © 2015 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/Bifunctor.swift b/Sources/Swiftz/Bifunctor.swift index 06cf0d8..5a931b1 100644 --- a/Sources/Swiftz/Bifunctor.swift +++ b/Sources/Swiftz/Bifunctor.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014-2016 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Swiftx #endif @@ -66,7 +66,7 @@ public struct TupleBF /*: Bifunctor*/ { return self.bimap(f, identity) } - public func rightMap(g : @escaping (R) -> D) -> (L, D) { + public func rightMap(_ g : @escaping (R) -> D) -> (L, D) { return self.bimap(identity, g) } } diff --git a/Sources/Swiftz/Category.swift b/Sources/Swiftz/Category.swift index fb388d0..e60f127 100644 --- a/Sources/Swiftz/Category.swift +++ b/Sources/Swiftz/Category.swift @@ -6,7 +6,7 @@ // Copyright (c) 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics #endif diff --git a/Sources/Swiftz/Const.swift b/Sources/Swiftz/Const.swift index 17aff50..55a7984 100644 --- a/Sources/Swiftz/Const.swift +++ b/Sources/Swiftz/Const.swift @@ -6,7 +6,7 @@ // Copyright © 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Swiftx #endif diff --git a/Sources/Swiftz/Curry.swift b/Sources/Swiftz/Curry.swift index 6a019f3..56c828c 100644 --- a/Sources/Swiftz/Curry.swift +++ b/Sources/Swiftz/Curry.swift @@ -13,378 +13,378 @@ public func curry(_ f : @escaping (A, B) -> C) -> (A) -> (B) -> C { - - return { (a : A) -> (B) -> C in - { (b : B) -> C in - - f(a, b) - } - } - + + return { (a : A) -> (B) -> C in + { (b : B) -> C in + + f(a, b) + } + } + } public func curry(_ f : @escaping (A, B, C) -> D) -> (A) -> (B) -> (C) -> D { - - return { (a : A) -> (B) -> (C) -> D in - { (b : B) -> (C) -> D in - { (c : C) -> D in - - f(a, b, c) - } - } - } - + + return { (a : A) -> (B) -> (C) -> D in + { (b : B) -> (C) -> D in + { (c : C) -> D in + + f(a, b, c) + } + } + } + } public func curry(_ f : @escaping (A, B, C, D) -> E) -> (A) -> (B) -> (C) -> (D) -> E { - - return { (a : A) -> (B) -> (C) -> (D) -> E in - { (b : B) -> (C) -> (D) -> E in - { (c : C) -> (D) -> E in - { (d : D) -> E in - - f(a, b, c, d) - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> E in + { (b : B) -> (C) -> (D) -> E in + { (c : C) -> (D) -> E in + { (d : D) -> E in + + f(a, b, c, d) + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E) -> F) -> (A) -> (B) -> (C) -> (D) -> (E) -> F { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> F in - { (b : B) -> (C) -> (D) -> (E) -> F in - { (c : C) -> (D) -> (E) -> F in - { (d : D) -> (E) -> F in - { (e : E) -> F in - - f(a, b, c, d, e) - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> F in + { (b : B) -> (C) -> (D) -> (E) -> F in + { (c : C) -> (D) -> (E) -> F in + { (d : D) -> (E) -> F in + { (e : E) -> F in + + f(a, b, c, d, e) + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F) -> G) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> G { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> G in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> G in - { (c : C) -> (D) -> (E) -> (F) -> G in - { (d : D) -> (E) -> (F) -> G in - { (e : E) -> (F) -> G in - { (ff : F) -> G in - - f(a, b, c, d, e, ff) - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> G in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> G in + { (c : C) -> (D) -> (E) -> (F) -> G in + { (d : D) -> (E) -> (F) -> G in + { (e : E) -> (F) -> G in + { (ff : F) -> G in + + f(a, b, c, d, e, ff) + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G) -> H) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> H { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> H in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> H in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> H in - { (d : D) -> (E) -> (F) -> (G) -> H in - { (e : E) -> (F) -> (G) -> H in - { (ff : F) -> (G) -> H in - { (g : G) -> H in - - f(a, b, c, d, e, ff, g) - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> H in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> H in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> H in + { (d : D) -> (E) -> (F) -> (G) -> H in + { (e : E) -> (F) -> (G) -> H in + { (ff : F) -> (G) -> H in + { (g : G) -> H in + + f(a, b, c, d, e, ff, g) + } + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G, H) -> I) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> I { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> I in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> I in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> I in - { (d : D) -> (E) -> (F) -> (G) -> (H) -> I in - { (e : E) -> (F) -> (G) -> (H) -> I in - { (ff : F) -> (G) -> (H) -> I in - { (g : G) -> (H) -> I in - { (h : H) -> I in - - f(a, b, c, d, e, ff, g, h) - } - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> I in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> I in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> I in + { (d : D) -> (E) -> (F) -> (G) -> (H) -> I in + { (e : E) -> (F) -> (G) -> (H) -> I in + { (ff : F) -> (G) -> (H) -> I in + { (g : G) -> (H) -> I in + { (h : H) -> I in + + f(a, b, c, d, e, ff, g, h) + } + } + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G, H, I) -> J) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J in - { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J in - { (e : E) -> (F) -> (G) -> (H) -> (I) -> J in - { (ff : F) -> (G) -> (H) -> (I) -> J in - { (g : G) -> (H) -> (I) -> J in - { (h : H) -> (I) -> J in - { (i : I) -> J in - - f(a, b, c, d, e, ff, g, h, i) - } - } - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J in + { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> J in + { (e : E) -> (F) -> (G) -> (H) -> (I) -> J in + { (ff : F) -> (G) -> (H) -> (I) -> J in + { (g : G) -> (H) -> (I) -> J in + { (h : H) -> (I) -> J in + { (i : I) -> J in + + f(a, b, c, d, e, ff, g, h, i) + } + } + } + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G, H, I, J) -> K) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in - { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in - { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in - { (ff : F) -> (G) -> (H) -> (I) -> (J) -> K in - { (g : G) -> (H) -> (I) -> (J) -> K in - { (h : H) -> (I) -> (J) -> K in - { (i : I) -> (J) -> K in - { (j : J) -> K in - - f(a, b, c, d, e, ff, g, h, i, j) - } - } - } - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in + { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in + { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> K in + { (ff : F) -> (G) -> (H) -> (I) -> (J) -> K in + { (g : G) -> (H) -> (I) -> (J) -> K in + { (h : H) -> (I) -> (J) -> K in + { (i : I) -> (J) -> K in + { (j : J) -> K in + + f(a, b, c, d, e, ff, g, h, i, j) + } + } + } + } + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G, H, I, J, K) -> L) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in - { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in - { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in - { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in - { (g : G) -> (H) -> (I) -> (J) -> (K) -> L in - { (h : H) -> (I) -> (J) -> (K) -> L in - { (i : I) -> (J) -> (K) -> L in - { (j : J) -> (K) -> L in - { (k : K) -> L in - - f(a, b, c, d, e, ff, g, h, i, j, k) - } - } - } - } - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in + { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in + { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in + { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> L in + { (g : G) -> (H) -> (I) -> (J) -> (K) -> L in + { (h : H) -> (I) -> (J) -> (K) -> L in + { (i : I) -> (J) -> (K) -> L in + { (j : J) -> (K) -> L in + { (k : K) -> L in + + f(a, b, c, d, e, ff, g, h, i, j, k) + } + } + } + } + } + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G, H, I, J, K, L) -> M) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in - { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in - { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in - { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in - { (g : G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in - { (h : H) -> (I) -> (J) -> (K) -> (L) -> M in - { (i : I) -> (J) -> (K) -> (L) -> M in - { (j : J) -> (K) -> (L) -> M in - { (k : K) -> (L) -> M in - { (l : L) -> M in - - f(a, b, c, d, e, ff, g, h, i, j, k, l) - } - } - } - } - } - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in + { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in + { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in + { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in + { (g : G) -> (H) -> (I) -> (J) -> (K) -> (L) -> M in + { (h : H) -> (I) -> (J) -> (K) -> (L) -> M in + { (i : I) -> (J) -> (K) -> (L) -> M in + { (j : J) -> (K) -> (L) -> M in + { (k : K) -> (L) -> M in + { (l : L) -> M in + + f(a, b, c, d, e, ff, g, h, i, j, k, l) + } + } + } + } + } + } + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G, H, I, J, K, L, M) -> N) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in - { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in - { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in - { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in - { (g : G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in - { (h : H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in - { (i : I) -> (J) -> (K) -> (L) -> (M) -> N in - { (j : J) -> (K) -> (L) -> (M) -> N in - { (k : K) -> (L) -> (M) -> N in - { (l : L) -> (M) -> N in - { (m : M) -> N in - - f(a, b, c, d, e, ff, g, h, i, j, k, l, m) - } - } - } - } - } - } - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in + { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in + { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in + { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in + { (g : G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in + { (h : H) -> (I) -> (J) -> (K) -> (L) -> (M) -> N in + { (i : I) -> (J) -> (K) -> (L) -> (M) -> N in + { (j : J) -> (K) -> (L) -> (M) -> N in + { (k : K) -> (L) -> (M) -> N in + { (l : L) -> (M) -> N in + { (m : M) -> N in + + f(a, b, c, d, e, ff, g, h, i, j, k, l, m) + } + } + } + } + } + } + } + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G, H, I, J, K, L, M, N) -> O) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (g : G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (h : H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (i : I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in - { (j : J) -> (K) -> (L) -> (M) -> (N) -> O in - { (k : K) -> (L) -> (M) -> (N) -> O in - { (l : L) -> (M) -> (N) -> O in - { (m : M) -> (N) -> O in - { (n : N) -> O in - - f(a, b, c, d, e, ff, g, h, i, j, k, l, m, n) - } - } - } - } - } - } - } - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (g : G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (h : H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (i : I) -> (J) -> (K) -> (L) -> (M) -> (N) -> O in + { (j : J) -> (K) -> (L) -> (M) -> (N) -> O in + { (k : K) -> (L) -> (M) -> (N) -> O in + { (l : L) -> (M) -> (N) -> O in + { (m : M) -> (N) -> O in + { (n : N) -> O in + + f(a, b, c, d, e, ff, g, h, i, j, k, l, m, n) + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } public func curry(_ f : @escaping (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> P) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P { - - return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (g : G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (h : H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (i : I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (j : J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in - { (k : K) -> (L) -> (M) -> (N) -> (O) -> P in - { (l : L) -> (M) -> (N) -> (O) -> P in - { (m : M) -> (N) -> (O) -> P in - { (n : N) -> (O) -> P in - { (o : O) -> P in - - f(a, b, c, d, e, ff, g, h, i, j, k, l, m, n, o) - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - + + return { (a : A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (b : B) -> (C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (c : C) -> (D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (d : D) -> (E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (e : E) -> (F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (ff : F) -> (G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (g : G) -> (H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (h : H) -> (I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (i : I) -> (J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (j : J) -> (K) -> (L) -> (M) -> (N) -> (O) -> P in + { (k : K) -> (L) -> (M) -> (N) -> (O) -> P in + { (l : L) -> (M) -> (N) -> (O) -> P in + { (m : M) -> (N) -> (O) -> P in + { (n : N) -> (O) -> P in + { (o : O) -> P in + + f(a, b, c, d, e, ff, g, h, i, j, k, l, m, n, o) + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } /// Converts a curried function to an uncurried function. @@ -392,7 +392,7 @@ public func curry(_ f : @escapin /// An uncurried function may take tuples as opposed to a curried function which must take a single /// value and return a single value or function. public func uncurry(_ f : @escaping (A) -> (B) -> C) -> (A, B) -> C { - return { a, b in f(a)(b) } + return { a, b in f(a)(b) } } public func uncurry(_ f : @escaping (A) -> (B) -> (C) -> D) -> (A, B, C) -> D { diff --git a/Sources/Swiftz/DictionaryExt.swift b/Sources/Swiftz/DictionaryExt.swift index aa86422..7580230 100644 --- a/Sources/Swiftz/DictionaryExt.swift +++ b/Sources/Swiftz/DictionaryExt.swift @@ -174,7 +174,7 @@ extension Dictionary { public func mapWithKey(_ f : (Key) -> (Value) -> Value2) -> [Key: Value2] { var d = [Key: Value2]() self.forEach { - let (k, v) = $0 + let (k, v) = $0 d[k] = f(k)(v) } return d @@ -189,7 +189,7 @@ extension Dictionary { public func mapKeys(_ f : (Key) -> Key2) -> [Key2: Value] { var d = [Key2: Value]() self.forEach { - let (k, v) = $0 + let (k, v) = $0 d[f(k)] = v } return d @@ -234,7 +234,7 @@ extension Dictionary { public func filterWithKey(_ pred : (Key) -> (Value) -> Bool) -> [Key: Value] { var d = [Key: Value]() self.forEach { - let (k, v) = $0 + let (k, v) = $0 if pred(k)(v) { d[k] = v } @@ -265,7 +265,7 @@ extension Dictionary { var pass = [Key: Value]() var fail = [Key: Value]() self.forEach { - let (k, v) = $0 + let (k, v) = $0 if pred(k)(v) { pass[k] = v } else { diff --git a/Sources/Swiftz/EitherExt.swift b/Sources/Swiftz/EitherExt.swift index 13341ff..8cb27ae 100644 --- a/Sources/Swiftz/EitherExt.swift +++ b/Sources/Swiftz/EitherExt.swift @@ -6,7 +6,7 @@ // Copyright © 2015 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/Function.swift b/Sources/Swiftz/Function.swift index 23097a1..4a06f8a 100644 --- a/Sources/Swiftz/Function.swift +++ b/Sources/Swiftz/Function.swift @@ -6,7 +6,7 @@ // Copyright (c) 2015 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -77,7 +77,7 @@ extension Function /*: Arrow*/ { } public func *** (_ f : Function, g : Function) -> Function<(B, D), (C, E)> { - return Function.arr { let (x, y) = $0; return (f.apply(x), g.apply(y)) } + return Function.arr { let (x, y) = $0; return (f.apply(x), g.apply(y)) } } public func &&& (_ f : Function, g : Function) -> Function { @@ -114,7 +114,7 @@ extension Function /*: ArrowApply*/ { public typealias APP = Function<(Function, A), B> public static func app() -> Function<(Function, A), B> { - return Function<(Function, A), B>({ let (f, x) = $0; return f.apply(x) }) + return Function<(Function, A), B>({ let (f, x) = $0; return f.apply(x) }) } } diff --git a/Sources/Swiftz/HList.swift b/Sources/Swiftz/HList.swift index 538bb54..797878d 100644 --- a/Sources/Swiftz/HList.swift +++ b/Sources/Swiftz/HList.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014-2016 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -36,7 +36,7 @@ public struct HCons : HList { public let head : H public let tail : T - public init(h : H, t : T) { + public init(_ h : H, _ t : T) { head = h tail = t } @@ -83,9 +83,9 @@ public struct HAppend { } /// Creates an HAppend that appends two non-HNil HLists. - public static func makeAppend(h : HAppend) -> HAppend, B, HCons> { + public static func makeAppend(_ h : HAppend) -> HAppend, B, HCons> { return HAppend, B, HCons> { (c, l) in - return HCons(h: c.head, t: h.append(c.tail, l)) + return HCons(c.head, h.append(c.tail, l)) } } } @@ -128,7 +128,7 @@ public struct HMap { /// head and tail of an `HList`. public static func hcons() -> HMap<(), (H, T), HCons> { return HMap<(), (H, T), HCons> { (_, p) in - return HCons(h: p.0, t: p.1) + return HCons(p.0, p.1) } } @@ -161,7 +161,7 @@ public struct HMap { public struct HFold { public let fold : (G, V, A) -> R - private init(fold : @escaping (G, V, A) -> R) { + private init(_ fold : @escaping (G, V, A) -> R) { self.fold = fold } diff --git a/Sources/Swiftz/Identity.swift b/Sources/Swiftz/Identity.swift index becf929..75d318c 100644 --- a/Sources/Swiftz/Identity.swift +++ b/Sources/Swiftz/Identity.swift @@ -6,7 +6,7 @@ // Copyright © 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/List.swift b/Sources/Swiftz/List.swift index 7f95e3d..c27cb81 100644 --- a/Sources/Swiftz/List.swift +++ b/Sources/Swiftz/List.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014-2016 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -526,7 +526,7 @@ public func == (lhs : List, rhs : List) -> Bool { return false } - return zip(lhs, rhs).map{ let (lhs, rhs) = $0; return lhs == rhs }.reduce(true) { $0 && $1 } + return zip(lhs, rhs).map{ let (lhs, rhs) = $0; return lhs == rhs }.reduce(true) { $0 && $1 } } public func != (lhs : List, rhs : List) -> Bool { @@ -582,9 +582,9 @@ extension List : Sequence { } extension List : Collection { - public func index(after i: UInt) -> UInt { - return i + 1 - } + public func index(after i: UInt) -> UInt { + return i + 1 + } public typealias Index = UInt @@ -738,7 +738,7 @@ extension List /*: MonadZip*/ { } public func mzipWith(_ other : List, _ f : @escaping (A) -> (B) -> C) -> List { - return self.mzip(other).map { let (a, b) = $0; return uncurry(f)(a, b) } + return self.mzip(other).map { let (a, b) = $0; return uncurry(f)(a, b) } } public static func munzip(_ ftab : List<(A, B)>) -> (List, List) { diff --git a/Sources/Swiftz/Monoid.swift b/Sources/Swiftz/Monoid.swift index 070bc40..3889771 100644 --- a/Sources/Swiftz/Monoid.swift +++ b/Sources/Swiftz/Monoid.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014-2016 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/NonEmptyList.swift b/Sources/Swiftz/NonEmptyList.swift index 6ebffc6..3a62692 100644 --- a/Sources/Swiftz/NonEmptyList.swift +++ b/Sources/Swiftz/NonEmptyList.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014-2016 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -17,17 +17,17 @@ public struct NonEmptyList { public let head : Element public let tail : List - + public init(_ a : A, _ t : List) { head = a tail = t } - + public init(_ a : A, _ t : NonEmptyList) { head = a tail = t.toList() } - + public init?(_ list : List) { switch list.match { case .Nil: @@ -36,15 +36,15 @@ public struct NonEmptyList { self.init(h, t) } } - + public func toList() -> List { return List(head, tail) } - + public func reverse() -> NonEmptyList { return NonEmptyList(self.toList().reverse())! } - + /// Indexes into a non-empty list. public subscript(n : UInt) -> Element { if n == 0 { @@ -52,7 +52,7 @@ public struct NonEmptyList { } return self.tail[n.advanced(by: -1)] } - + /// Returns the length of the list. /// /// For infinite lists this function will throw an exception. @@ -81,7 +81,7 @@ extension NonEmptyList : ExpressibleByArrayLiteral { extension NonEmptyList : Sequence { public typealias Iterator = ListIterator - + public func makeIterator() -> ListIterator { return ListIterator(self.toList()) } @@ -91,11 +91,11 @@ extension NonEmptyList : Collection { public func index(after i: UInt) -> UInt { return i + 1 } - + public typealias Index = UInt - + public var startIndex : UInt { return 0 } - + public var endIndex : UInt { return self.count } @@ -112,7 +112,7 @@ extension NonEmptyList /*: Functor*/ { public typealias A = Element public typealias B = Any public typealias FB = NonEmptyList - + public func fmap(_ f : @escaping (A) -> B) -> NonEmptyList { return NonEmptyList(f(self.head), self.tail.fmap(f)) } @@ -131,7 +131,7 @@ extension NonEmptyList /*: Pointed*/ { extension NonEmptyList /*: Applicative*/ { public typealias FA = NonEmptyList public typealias FAB = NonEmptyList<(A) -> B> - + public func ap(_ f : NonEmptyList<(A) -> B>) -> NonEmptyList { return f.bind({ f in self.bind({ x in NonEmptyList.pure(f(x)) }) }) } @@ -146,7 +146,7 @@ extension NonEmptyList /*: Cartesian*/ { public typealias FTAB = NonEmptyList<(A, B)> public typealias FTABC = NonEmptyList<(A, B, C)> public typealias FTABCD = NonEmptyList<(A, B, C, D)> - + public static var unit : NonEmptyList<()> { return [()] } public func product(_ r : NonEmptyList) -> NonEmptyList<(A, B)> { return self.mzip(r) @@ -166,15 +166,15 @@ extension NonEmptyList /*: ApplicativeOps*/ { public typealias FC = NonEmptyList public typealias D = Any public typealias FD = NonEmptyList - + public static func liftA(_ f : @escaping (A) -> B) -> (NonEmptyList) -> NonEmptyList { return { (a : NonEmptyList) -> NonEmptyList in NonEmptyList<(A) -> B>.pure(f) <*> a } } - + public static func liftA2(_ f : @escaping (A) -> (B) -> C) -> (NonEmptyList) -> (NonEmptyList) -> NonEmptyList { return { (a : NonEmptyList) -> (NonEmptyList) -> NonEmptyList in { (b : NonEmptyList) -> NonEmptyList in f <^> a <*> b } } } - + public static func liftA3(_ f : @escaping (A) -> (B) -> (C) -> D) -> (NonEmptyList) -> (NonEmptyList) -> (NonEmptyList) -> NonEmptyList { return { (a : NonEmptyList) -> (NonEmptyList) -> (NonEmptyList) -> NonEmptyList in { (b : NonEmptyList) -> (NonEmptyList) -> NonEmptyList in { (c : NonEmptyList) -> NonEmptyList in f <^> a <*> b <*> c } } } } @@ -195,7 +195,7 @@ extension NonEmptyList /*: MonadZip*/ { } public func mzipWith(_ other : NonEmptyList, _ f : @escaping (A) -> (B) -> C) -> NonEmptyList { - return self.mzip(other).fmap { let (a, b) = $0; return uncurry(f)(a, b) } + return self.mzip(other).fmap { let (a, b) = $0; return uncurry(f)(a, b) } } public static func munzip(_ ftab : NonEmptyList<(A, B)>) -> (NonEmptyList, NonEmptyList) { @@ -208,11 +208,11 @@ extension NonEmptyList /*: MonadOps*/ { public static func liftM(_ f : @escaping (A) -> B) -> (NonEmptyList) -> NonEmptyList { return { (m1 : NonEmptyList) -> NonEmptyList in m1 >>- { (x1 : A) in NonEmptyList.pure(f(x1)) } } } - + public static func liftM2(_ f : @escaping (A) -> (B) -> C) -> (NonEmptyList) -> (NonEmptyList) -> NonEmptyList { return { (m1 : NonEmptyList) -> (NonEmptyList) -> NonEmptyList in { (m2 : NonEmptyList) -> NonEmptyList in m1 >>- { (x1 : A) in m2 >>- { (x2 : B) in NonEmptyList.pure(f(x1)(x2)) } } } } } - + public static func liftM3(_ f : @escaping (A) -> (B) -> (C) -> D) -> (NonEmptyList) -> (NonEmptyList) -> (NonEmptyList) -> NonEmptyList { return { (m1 : NonEmptyList) -> (NonEmptyList) -> (NonEmptyList) -> NonEmptyList in { (m2 : NonEmptyList) -> (NonEmptyList) -> NonEmptyList in { (m3 : NonEmptyList) -> NonEmptyList in m1 >>- { (x1 : A) in m2 >>- { (x2 : B) in m3 >>- { (x3 : C) in NonEmptyList.pure(f(x1)(x2)(x3)) } } } } } } } @@ -238,7 +238,7 @@ extension NonEmptyList : Copointed { extension NonEmptyList /*: Comonad*/ { public typealias FFA = NonEmptyList> - + public func duplicate() -> NonEmptyList> { switch NonEmptyList(self.tail) { case .none: @@ -247,7 +247,7 @@ extension NonEmptyList /*: Comonad*/ { return NonEmptyList>(self, x.duplicate().toList()) } } - + public func extend(_ fab : @escaping (NonEmptyList) -> B) -> NonEmptyList { return self.duplicate().fmap(fab) } diff --git a/Sources/Swiftz/Num.swift b/Sources/Swiftz/Num.swift index 7339433..3ab91ff 100644 --- a/Sources/Swiftz/Num.swift +++ b/Sources/Swiftz/Num.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014-2016 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Swiftx #endif diff --git a/Sources/Swiftz/OptionalExt.swift b/Sources/Swiftz/OptionalExt.swift index d978f2b..8f11266 100644 --- a/Sources/Swiftz/OptionalExt.swift +++ b/Sources/Swiftz/OptionalExt.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/Proxy.swift b/Sources/Swiftz/Proxy.swift index 4d7afb5..b842d2d 100644 --- a/Sources/Swiftz/Proxy.swift +++ b/Sources/Swiftz/Proxy.swift @@ -6,7 +6,7 @@ // Copyright © 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/Ratio.swift b/Sources/Swiftz/Ratio.swift index 183402c..be34785 100644 --- a/Sources/Swiftz/Ratio.swift +++ b/Sources/Swiftz/Ratio.swift @@ -6,7 +6,7 @@ // Copyright © 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Swiftx #endif diff --git a/Sources/Swiftz/Reader.swift b/Sources/Swiftz/Reader.swift index 263d0ee..70107c5 100644 --- a/Sources/Swiftz/Reader.swift +++ b/Sources/Swiftz/Reader.swift @@ -6,7 +6,7 @@ // Copyright © 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/Semigroup.swift b/Sources/Swiftz/Semigroup.swift index 5236918..857f95e 100644 --- a/Sources/Swiftz/Semigroup.swift +++ b/Sources/Swiftz/Semigroup.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014-2016 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/State.swift b/Sources/Swiftz/State.swift index c18d1d3..fcaeee8 100644 --- a/Sources/Swiftz/State.swift +++ b/Sources/Swiftz/State.swift @@ -6,7 +6,7 @@ // Copyright (c) 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -24,13 +24,13 @@ public struct State { /// Evaluates the computation given an initial state then returns a final /// value after running each step. - public func eval(s : S) -> A { + public func eval(_ s : S) -> A { return self.runState(s).0 } /// Evaluates the computation given an initial state then returns the final /// state after running each step. - public func exec(s : S) -> S { + public func exec(_ s : S) -> S { return self.runState(s).1 } diff --git a/Sources/Swiftz/Stream.swift b/Sources/Swiftz/Stream.swift index 82f66e8..9dc7d1b 100644 --- a/Sources/Swiftz/Stream.swift +++ b/Sources/Swiftz/Stream.swift @@ -6,7 +6,7 @@ // Copyright © 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -45,8 +45,8 @@ public struct Stream { } /// Repeats a value into a constant stream of that same value. - public static func `repeat`(x : Element) -> Stream { - return Stream { (x, `repeat`(x: x)) } + public static func `repeat`(_ x : Element) -> Stream { + return Stream { (x, `repeat`(x)) } } /// Returns a `Stream` of an infinite number of iteratations of applications @@ -68,15 +68,15 @@ public struct Stream { } public subscript(n : UInt) -> Element { - return self.index(n: n) + return self.index(n) } /// Looks up the nth element of a `Stream`. - public func index(n : UInt) -> Element { + public func index(_ n : UInt) -> Element { if n == 0 { return self.head } - return self.tail.index(n: n.advanced(by: -1)) + return self.tail.index(n.advanced(by: -1)) } /// Returns the first element of a `Stream`. @@ -145,32 +145,32 @@ public struct Stream { /// Removes elements from the `Stream` that do not satisfy a given predicate. /// /// If there are no elements that satisfy this predicate this function will diverge. - public func filter(p : @escaping (Element) -> Bool) -> Stream { - if p(self.head) { - return Stream { (self.head, self.tail.filter(p: p)) } + public func filter(_ predicate : @escaping (Element) -> Bool) -> Stream { + if predicate(self.head) { + return Stream { (self.head, self.tail.filter(predicate)) } } - return self.tail.filter(p: p) + return self.tail.filter(predicate) } /// Returns a `Stream` of alternating elements from each Stream. - public func interleaveWith(s2 : Stream) -> Stream { - return Stream { (self.head, s2.interleaveWith(s2: self.tail)) } + public func interleaveWith(_ s2 : Stream) -> Stream { + return Stream { (self.head, s2.interleaveWith(self.tail)) } } /// Creates a `Stream` alternating an element in between the values of /// another Stream. - public func intersperse(x : Element) -> Stream { - return Stream { (self.head, Stream { (x, self.tail.intersperse(x: x)) } ) } + public func intersperse(_ x : Element) -> Stream { + return Stream { (self.head, Stream { (x, self.tail.intersperse(x)) } ) } } /// Returns a `Stream` of successive reduced values. - public func scanl(initial : A, combine : @escaping (A) -> (Element) -> A) -> Stream { - return Stream { (initial, self.tail.scanl(initial: combine(initial)(self.head), combine: combine)) } + public func scanl(_ initial : A, combine : @escaping (A) -> (Element) -> A) -> Stream { + return Stream { (initial, self.tail.scanl(combine(initial)(self.head), combine: combine)) } } /// Returns a `Stream` of successive reduced values. public func scanl1(_ f : @escaping (Element) -> (Element) -> Element) -> Stream { - return self.tail.scanl(initial: self.head, combine: f) + return self.tail.scanl(self.head, combine: f) } } @@ -207,7 +207,7 @@ public func <^> (_ f : @escaping (A) -> B, b : Stream) -> Stream { extension Stream /*: Pointed*/ { public static func pure(_ x : A) -> Stream { - return `repeat`(x: x) + return `repeat`(x) } } @@ -233,7 +233,7 @@ extension Stream /*: Cartesian*/ { public typealias FTABC = Stream<(A, B, C)> public typealias FTABCD = Stream<(A, B, C, D)> - public static var unit : Stream<()> { return Stream<()>.`repeat`(x: ()) } + public static var unit : Stream<()> { return Stream<()>.`repeat`(()) } public func product(_ r : Stream) -> Stream<(A, B)> { return zipWith(self, r, { x in { y in (x, y) } }) } diff --git a/Sources/Swiftz/StringExt.swift b/Sources/Swiftz/StringExt.swift index e0ced52..9988513 100644 --- a/Sources/Swiftz/StringExt.swift +++ b/Sources/Swiftz/StringExt.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014 Maxwell Swadling. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -26,20 +26,20 @@ extension String { } public func componentsSeparatedByString(_ token: Character) -> [String] { - return characters.split(maxSplits: Int.max, omittingEmptySubsequences: false) { $0 == token }.map { String($0) } + return self.split(maxSplits: Int.max, omittingEmptySubsequences: false) { $0 == token }.map { String($0) } } - + /// Concatenates an array of strings into a single string containing /// newlines between each element. public static func unlines(_ xs : [String]) -> String { return xs.reduce("", { "\($0)\($1)\n" }) } - + /// Appends a character onto the front of a string. public static func cons(head : Character, tail : String) -> String { return String(head) + tail } - + /// Creates a string of n repeating characters. public static func replicate(_ n : UInt, value : Character) -> String { var l = "" @@ -48,24 +48,24 @@ extension String { } return l } - + /// Destructures a string. If the string is empty the result is .Nil, /// otherwise the result is .Cons(head, tail). public var match : StringMatcher { - if self.characters.count == 0 { + if self.isEmpty { return .Nil - } else if self.characters.count == 1 { + } else if self.count == 1 { return .Cons(self[self.startIndex], "") } - return .Cons(self[self.startIndex], String(self[self.index(after: self.startIndex).. String { return self.reduce(flip(curry(String.cons)), initial: "") } - + /// Maps a function over the characters of a string and returns a new string /// of those values. public func map(_ f : (Character) -> Character) -> String { @@ -76,7 +76,7 @@ extension String { return String(f(hd)) + tl.map(f) } } - + /// Removes characters from the receiver that do not satisfy a given predicate. public func filter(_ p : (Character) -> Bool) -> String { switch self.match { @@ -86,7 +86,7 @@ extension String { return p(x) ? (String(x) + xs.filter(p)) : xs.filter(p) } } - + /// Applies a binary operator to reduce the characters of the receiver to a /// single value. public func reduce(_ f : (B) -> (Character) -> B, initial : B) -> B { @@ -97,7 +97,7 @@ extension String { return xs.reduce(f, initial: f(initial)(x)) } } - + /// Applies a binary operator to reduce the characters of the receiver to a /// single value. public func reduce(_ f : (B, Character) -> B, initial : B) -> B { @@ -108,7 +108,7 @@ extension String { return xs.reduce(f, initial: f(initial, x)) } } - + /// Takes two lists and returns true if the first string is a prefix of the /// second string. public func isPrefixOf(_ r : String) -> Bool { @@ -121,13 +121,13 @@ extension String { return false } } - + /// Takes two lists and returns true if the first string is a suffix of the /// second string. public func isSuffixOf(_ r : String) -> Bool { return self.reverse().isPrefixOf(r.reverse()) } - + /// Takes two lists and returns true if the first string is contained /// entirely anywhere in the second string. public func isInfixOf(_ r : String) -> Bool { @@ -136,13 +136,13 @@ extension String { return [String.cons(head: y, tail: x.first!)] + x }, initial: [""]) } - + if let _ = tails(r).first(where: self.isPrefixOf) { return true } return false } - + /// Takes two strings and drops items in the first from the second. If the /// first string is not a prefix of the second string this function returns /// `.none`. @@ -156,7 +156,7 @@ extension String { return .none } } - + /// Takes two strings and drops items in the first from the end of the /// second. If the first string is not a suffix of the second string this /// function returns `.none`. @@ -167,11 +167,11 @@ extension String { extension String : Monoid { public typealias M = String - + public static var mempty : String { return "" } - + public func op(_ other : String) -> String { return self + other } @@ -185,7 +185,7 @@ extension String /*: Functor*/ { public typealias A = Character public typealias B = Character public typealias FB = String - + public func fmap(_ f : (Character) -> Character) -> String { return self.map(f) } @@ -203,7 +203,7 @@ extension String /*: Pointed*/ { extension String /*: Applicative*/ { public typealias FAB = [(Character) -> Character] - + public func ap(_ a : [(Character) -> Character]) -> String { return a.map(self.map).reduce("", +) } @@ -215,7 +215,7 @@ public func <*> (_ f : [((Character) -> Character)], l : String) -> String { extension String /*: Monad*/ { public func bind(_ f : (Character) -> String) -> String { - return Array(self.characters).map(f).reduce("", +) + return self.map(f).reduce("", +) } } @@ -224,6 +224,6 @@ public func >>- (l : String, f : (Character) -> String) -> String { } public func sequence(_ ms: [String]) -> [String] { - return sequence(ms.map { m in Array(m.characters) }).map(String.init(describing:)) + return sequence(ms.map { m in m.map{$0} }).map(String.init(describing:)) } diff --git a/Sources/Swiftz/Those.swift b/Sources/Swiftz/Those.swift index aa43773..8d21291 100644 --- a/Sources/Swiftz/Those.swift +++ b/Sources/Swiftz/Those.swift @@ -6,7 +6,7 @@ // Copyright (c) 2014-2016 Maxwell Swadling. Lll rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif diff --git a/Sources/Swiftz/Writer.swift b/Sources/Swiftz/Writer.swift index c24aa85..4c72eec 100644 --- a/Sources/Swiftz/Writer.swift +++ b/Sources/Swiftz/Writer.swift @@ -6,7 +6,7 @@ // Copyright © 2015-2016 TypeLift. All rights reserved. // -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -38,13 +38,13 @@ public struct Writer { } /// Appends the given value to the `Writer`'s environment. -public func tell(w : W) -> Writer { +public func tell(_ w : W) -> Writer { return Writer(((), w)) } /// Executes the action of the given `Writer` and adds its output to the result /// of the computation. -public func listen(w : Writer) -> Writer { +public func listen(_ w : Writer) -> Writer { let (a, w) = w.runWriter return Writer(((a, w), w)) } @@ -60,7 +60,7 @@ public func listens(_ f : (W) -> B, w : Writer) -> Writer(w : Writer W)>) -> Writer { +public func pass(_ w : Writer W)>) -> Writer { let ((a, f), w) = w.runWriter return Writer((a, f(w))) } diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift index 515c8dc..cf985f6 100644 --- a/Tests/LinuxMain.swift +++ b/Tests/LinuxMain.swift @@ -12,20 +12,27 @@ import XCTest #if !os(macOS) XCTMain([ - EitherSpec.allTests, - FunctionSpec.allTests, - FunctorSpec.allTests, - HListSpec.allTests, - IdentitySpec.allTests, - ListSpec.allTests, - MonoidSpec.allTests, - NonEmptyListSpec.allTests, - ProxySpec.allTests, - ReaderSpec.allTests, -// StateSpec.allTests, -// StreamSpec.allTests, - ThoseSpec.allTests, - UnitSpec.allTests, - WriterSpec.allTests, - ]) + EitherSpec.allTests, + FunctionSpec.allTests, + FunctorSpec.allTests, + HListSpec.allTests, + IdentitySpec.allTests, + ListSpec.allTests, + MonoidSpec.allTests, + NonEmptyListSpec.allTests, + ProxySpec.allTests, + ReaderSpec.allTests, +// StateSpec.allTests, +// StreamSpec.allTests, + ThoseSpec.allTests, + UnitSpec.allTests, + WriterSpec.allTests, + + ArrayExtSpec.allTests, + ArrowExtSpec.allTests, + DictionaryExtSpec.allTests, + OptionalExtSpec.allTests, + StringExtSpec.allTests, + TupleExtSpec.allTests, +]) #endif diff --git a/Tests/SwiftzTests/ArrayExtSpec.swift b/Tests/SwiftzTests/ArrayExtSpec.swift index 8bc3c1f..2ab6d38 100644 --- a/Tests/SwiftzTests/ArrayExtSpec.swift +++ b/Tests/SwiftzTests/ArrayExtSpec.swift @@ -10,7 +10,7 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -182,4 +182,10 @@ class ArrayExtSpec : XCTestCase { } } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/ArrowExtSpec.swift b/Tests/SwiftzTests/ArrowExtSpec.swift index 60c5ac7..7c96069 100644 --- a/Tests/SwiftzTests/ArrowExtSpec.swift +++ b/Tests/SwiftzTests/ArrowExtSpec.swift @@ -10,7 +10,7 @@ import Swiftz import SwiftCheck import XCTest -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -87,4 +87,10 @@ class ArrowExtSpec : XCTestCase { } } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/DictionaryExtSpec.swift b/Tests/SwiftzTests/DictionaryExtSpec.swift index 56a8daf..c667e6f 100644 --- a/Tests/SwiftzTests/DictionaryExtSpec.swift +++ b/Tests/SwiftzTests/DictionaryExtSpec.swift @@ -10,7 +10,7 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -45,4 +45,10 @@ class DictionaryExtSpec : XCTestCase { } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/EitherSpec.swift b/Tests/SwiftzTests/EitherSpec.swift index 80e00e1..d9deedd 100644 --- a/Tests/SwiftzTests/EitherSpec.swift +++ b/Tests/SwiftzTests/EitherSpec.swift @@ -10,9 +10,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif struct EitherOf : Arbitrary { @@ -30,7 +30,7 @@ struct EitherOf : Arbitrary { return Gen.one(of: [ A.arbitrary.map(Either.Left), B.arbitrary.map(Either.Right), - ]).map(EitherOf.init) + ]).map(EitherOf.init) } static func shrink(_ bl : EitherOf) -> [EitherOf] { @@ -81,12 +81,12 @@ class EitherSpec : XCTestCase { } } } - - - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testProperties", testProperties), - ]) - #endif + + + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ]) + #endif } diff --git a/Tests/SwiftzTests/FunctionSpec.swift b/Tests/SwiftzTests/FunctionSpec.swift index 7dced75..d2028a7 100644 --- a/Tests/SwiftzTests/FunctionSpec.swift +++ b/Tests/SwiftzTests/FunctionSpec.swift @@ -10,9 +10,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif class FunctionSpec : XCTestCase { @@ -61,7 +61,7 @@ class FunctionSpec : XCTestCase { let la = Function.arr(f.getArrow).first() let ra = Function.arr(Function.arr(f.getArrow).first().apply) return forAll { (x : Int8, y : Int8) in - return la.apply((x, y)) == ra.apply((x, y)) + return la.apply((x, y)) == ra.apply((x, y)) } } @@ -69,7 +69,7 @@ class FunctionSpec : XCTestCase { let la = Function.arr(f.getArrow) >>> Function.arr(g.getArrow) let ra = Function.arr(f.getArrow).first() >>> Function.arr(g.getArrow).first() return forAll { (x : Int8, y : Int8) in - return la.first().apply((x, y)) == ra.apply((x, y)) + return la.first().apply((x, y)) == ra.apply((x, y)) } } @@ -77,7 +77,7 @@ class FunctionSpec : XCTestCase { let la = Function.arr(f.getArrow).first() >>> Function.arr(fst) let ra = Function<(Int8, Int8), Int8>.arr(fst) >>> Function.arr(f.getArrow) return forAll { (x : Int8, y : Int8) in - return la.apply((x, y)) == ra.apply((x, y)) + return la.apply((x, y)) == ra.apply((x, y)) } } @@ -85,7 +85,7 @@ class FunctionSpec : XCTestCase { let la = Function.arr(f.getArrow).first() >>> (Function.arr(identity) *** Function.arr(g.getArrow)) let ra = (Function.arr(identity) *** Function.arr(g.getArrow)) >>> Function.arr(f.getArrow).first() return forAll { (x : Int8, y : Int8) in - return la.apply((x, y)) == ra.apply((x, y)) + return la.apply((x, y)) == ra.apply((x, y)) } } @@ -145,29 +145,29 @@ class FunctionSpec : XCTestCase { } } -// property("") <- forAll { (_ f : ArrowOf, g : ArrowOf) in -// let la = Function.arr(f.getArrow).left().left() >>> Function.arr(assocSum) -// let ra = Function.arr(assocSum) >>> Function.arr(f.getArrow).left() -// return forAll { (e : EitherOf) in -// return la.apply(e.getEither) == ra.apply(e.getEither) -// } -// } + // property("") <- forAll { (_ f : ArrowOf, g : ArrowOf) in + // let la = Function.arr(f.getArrow).left().left() >>> Function.arr(assocSum) + // let ra = Function.arr(assocSum) >>> Function.arr(f.getArrow).left() + // return forAll { (e : EitherOf) in + // return la.apply(e.getEither) == ra.apply(e.getEither) + // } + // } } func testArrowApplyLaws() { property("app") <- forAll { (x : Int8, y : Int8) in let app : Function<(Function, Int8), (Int8, Int8)> = Function.app() let la = Function>.arr({ x in Function.arr({ y in (x, y) }) }).first() >>> app - return la.apply((x, y)) == identity((x, y)) + return la.apply((x, y)) == identity((x, y)) } } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testCategoryLaws", testCategoryLaws), - ("testArrowLaws", testArrowLaws), - ("testArrowChoiceLaws", testArrowChoiceLaws), - ("testArrowApplyLaws", testArrowApplyLaws) - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testCategoryLaws", testCategoryLaws), + ("testArrowLaws", testArrowLaws), + ("testArrowChoiceLaws", testArrowChoiceLaws), + ("testArrowApplyLaws", testArrowApplyLaws) + ]) + #endif } diff --git a/Tests/SwiftzTests/FunctorSpec.swift b/Tests/SwiftzTests/FunctorSpec.swift index e1b01c3..5a14ec7 100644 --- a/Tests/SwiftzTests/FunctorSpec.swift +++ b/Tests/SwiftzTests/FunctorSpec.swift @@ -10,9 +10,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif class FunctorSpec : XCTestCase { @@ -38,10 +38,10 @@ class FunctorSpec : XCTestCase { return x.bimap(f1.getArrow, g1.getArrow).bimap(f2.getArrow, g2.getArrow).runConst == (x.bimap(f2.getArrow • f1.getArrow, g1.getArrow • g2.getArrow)).runConst } } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testProperties", testProperties), - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ]) + #endif } diff --git a/Tests/SwiftzTests/HListSpec.swift b/Tests/SwiftzTests/HListSpec.swift index 4a7d3f6..201f73b 100644 --- a/Tests/SwiftzTests/HListSpec.swift +++ b/Tests/SwiftzTests/HListSpec.swift @@ -10,9 +10,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif class HListSpec : XCTestCase { @@ -21,12 +21,12 @@ class HListSpec : XCTestCase { typealias BList = HCons property("The attributes of an HList are statically known") <- forAll { (x : Bool) in - let list : BList = HCons(h: false, t: HNil()) + let list : BList = HCons(false, HNil()) return (list.head == false) ^&&^ (BList.length == 1) } property("The attributes of an HList are statically known") <- forAll { (x : Int, s : String) in - let list : AList = HCons(h: x, t: HCons(h: s, t: HNil())) + let list : AList = HCons(x, HCons(s, HNil())) return (list.head == x) ^&&^ (list.tail.head == s) ^&&^ (AList.length == 2) } @@ -39,7 +39,7 @@ class HListSpec : XCTestCase { typealias FEnd = HFold<(), (Int) -> Int, HNil, (Int) -> Int> property("A static fold can be modelled by a dynamic one") <- forAll { (_ f : ArrowOf, g : ArrowOf, h : ArrowOf) in - let listf : FList = HCons(h: f.getArrow, t: HCons(h: g.getArrow, t: HCons(h: h.getArrow, t: HNil()))) + let listf : FList = HCons(f.getArrow, HCons(g.getArrow, HCons(h.getArrow, HNil()))) let comp : FComp = HMap<(), (), ()>.compose() let foldEnd : FEnd = HFold<(), (), (), ()>.makeFold() let fullFold = FBegin.makeFold(comp, HFold<(), (), (), ()>.makeFold(comp, HFold<(), (), (), ()>.makeFold(comp, foldEnd))) @@ -48,10 +48,10 @@ class HListSpec : XCTestCase { } } } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testHList", testHList), - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testHList", testHList), + ]) + #endif } diff --git a/Tests/SwiftzTests/IdentitySpec.swift b/Tests/SwiftzTests/IdentitySpec.swift index f0effd1..daca06a 100644 --- a/Tests/SwiftzTests/IdentitySpec.swift +++ b/Tests/SwiftzTests/IdentitySpec.swift @@ -10,9 +10,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif extension Identity where T : Arbitrary { @@ -115,10 +115,10 @@ class IdentitySpec : XCTestCase { } } } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testProperties", testProperties), - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ]) + #endif } diff --git a/Tests/SwiftzTests/ListSpec.swift b/Tests/SwiftzTests/ListSpec.swift index 0b844ab..dd22321 100644 --- a/Tests/SwiftzTests/ListSpec.swift +++ b/Tests/SwiftzTests/ListSpec.swift @@ -10,9 +10,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif /// Generates an array of arbitrary values. @@ -139,10 +139,10 @@ class ListSpec : XCTestCase { let cycle = x.cycle() return forAll { (n : Positive) in - // broken up as 'too complex' for compiler - let range = (0...UInt(n.getPositive)) - let transform = { i in cycle[i] == x[(i % x.count)] } - let filter = { $0 == false } + // broken up as 'too complex' for compiler + let range = (0...UInt(n.getPositive)) + let transform = { i in cycle[i] == x[(i % x.count)] } + let filter = { $0 == false } return range.map(transform).filter(filter).isEmpty } } @@ -201,10 +201,10 @@ class ListSpec : XCTestCase { } } } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testProperties", testProperties), - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ]) + #endif } diff --git a/Tests/SwiftzTests/MonoidSpec.swift b/Tests/SwiftzTests/MonoidSpec.swift index 118eb5b..11b9559 100644 --- a/Tests/SwiftzTests/MonoidSpec.swift +++ b/Tests/SwiftzTests/MonoidSpec.swift @@ -10,9 +10,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif class MonoidSpec : XCTestCase { @@ -70,11 +70,11 @@ class MonoidSpec : XCTestCase { let v : Dither, Sum> = Dither([Either.Left(Product(2)), Either.Left(Product(3)), Either.Right(Sum(5)), Either.Left(Product(7))]) XCTAssert(v.fold(onLeft: { n in Sum(Int16(n.value())) }, onRight: identity).value() == 18, "Dither works") } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testProperties", testProperties), - ("testDither", testDither), - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties), + ("testDither", testDither), + ]) + #endif } diff --git a/Tests/SwiftzTests/NonEmptyListSpec.swift b/Tests/SwiftzTests/NonEmptyListSpec.swift index 0f25296..9b2a7d0 100644 --- a/Tests/SwiftzTests/NonEmptyListSpec.swift +++ b/Tests/SwiftzTests/NonEmptyListSpec.swift @@ -10,9 +10,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif extension NonEmptyList where Element : Arbitrary { @@ -170,10 +170,10 @@ class NonEmptyListSpec : XCTestCase { return l.reverse().reverse() == l } } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testProperties", testProperties) - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/OptionalExtSpec.swift b/Tests/SwiftzTests/OptionalExtSpec.swift index 31d6dc3..806eb22 100644 --- a/Tests/SwiftzTests/OptionalExtSpec.swift +++ b/Tests/SwiftzTests/OptionalExtSpec.swift @@ -10,7 +10,7 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -107,4 +107,10 @@ class OptionalExtSpec : XCTestCase { } } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/ProxySpec.swift b/Tests/SwiftzTests/ProxySpec.swift index 000b67a..7364919 100644 --- a/Tests/SwiftzTests/ProxySpec.swift +++ b/Tests/SwiftzTests/ProxySpec.swift @@ -11,9 +11,9 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif extension Proxy : Arbitrary { @@ -76,7 +76,7 @@ class ProxySpec : XCTestCase { /* property("Proxy obeys the second Applicative composition law") <- forAll { (_ f : Proxy<(Int) -> Int>, g : Proxy<(Int) -> Int>, x : Proxy) in - return (Proxy<((Int) -> Int) -> ((Int) -> Int) -> (Int) -> Int>.pure(curry(•)) <*> f <*> g <*> x) == (f <*> (g <*> x)) + return (Proxy<((Int) -> Int) -> ((Int) -> Int) -> (Int) -> Int>.pure(curry(•)) <*> f <*> g <*> x) == (f <*> (g <*> x)) } */ @@ -99,13 +99,13 @@ class ProxySpec : XCTestCase { return x.extend({ $0.extract() }) == x } -// Can't test ⊥ == ⊥ in this language. -// property("Proxy obeys the Comonad composition law") <- forAll { (ff : ArrowOf) in -// return forAll { (x : Proxy) in -// let f : Proxy -> Int = ff.getArrow • const(0) -// return x.extend(f).extract() == f(x) -// } -// } + // Can't test ⊥ == ⊥ in this language. + // property("Proxy obeys the Comonad composition law") <- forAll { (ff : ArrowOf) in + // return forAll { (x : Proxy) in + // let f : Proxy -> Int = ff.getArrow • const(0) + // return x.extend(f).extract() == f(x) + // } + // } property("Proxy obeys the Comonad composition law") <- forAll { (ff : ArrowOf, gg : ArrowOf) in return forAll { (x : Proxy) in @@ -123,11 +123,11 @@ class ProxySpec : XCTestCase { } } } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testProperties", testProperties) - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/ReaderSpec.swift b/Tests/SwiftzTests/ReaderSpec.swift index fa22d71..dbce1a6 100644 --- a/Tests/SwiftzTests/ReaderSpec.swift +++ b/Tests/SwiftzTests/ReaderSpec.swift @@ -10,84 +10,84 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif class ReaderSpec : XCTestCase { - func testReader() { - func addOne() -> Reader { + func testReader() { + func addOne() -> Reader { return asks { $0 + 1 } - } - - func hello() -> Reader { - return asks { "Hello \($0)" } - } - - func bye() -> Reader { - return asks { "Goodbye \($0)!" } - } - - func helloAndGoodbye() -> Reader { - return asks { hello().runReader($0) + " and " + bye().runReader($0) } - } - - XCTAssert(addOne().runReader(1) == 2) - - let input = "Matthew" - let helloReader = hello() - let modifiedHelloReader = helloReader.local({ "\($0) - Local"}) - XCTAssert(helloReader.runReader(input) == "Hello \(input)") - XCTAssert(modifiedHelloReader.runReader(input) == "Hello \(input) - Local") - - let byeReader = bye() - let modifiedByeReader = byeReader.local({ $0 + " - Local" }) - XCTAssert(byeReader.runReader(input) == "Goodbye \(input)!") - XCTAssert(modifiedByeReader.runReader(input) == "Goodbye \(input) - Local!") - - let result = hello() >>- { $0.runReader(input) } - XCTAssert(result == "Hello \(input)") - - let result2 = bye().runReader(input) - XCTAssert(result2 == "Goodbye \(input)!") - - let helloAndGoodbyeReader = helloAndGoodbye() - XCTAssert(helloAndGoodbyeReader.runReader(input) == "Hello \(input) and Goodbye \(input)!") - - let lengthResult = runReader(reader { (environment: String) -> Int in - return environment.lengthOfBytes(using: String.Encoding.utf8) - })("Banana") - XCTAssert(lengthResult == 6) - - let length : (String) -> Int = { $0.lengthOfBytes(using: String.Encoding.utf8) } - - let lengthResult2 = runReader(reader(length))("Banana") - XCTAssert(lengthResult2 == 6) - - // Ask - let lengthResult3 = (reader({ _ in 1234 }) >>- runReader)?(()) - XCTAssert(lengthResult3 == 1234) - - let lengthResult4 = hello() >>- runReader - XCTAssert(lengthResult4?("Matthew") == "Hello Matthew") - - // Asks - let lengthResult5 = runReader(asks(length))("Banana") - XCTAssert(lengthResult5 == 6) - - let lengthReader = runReader(reader(asks))(length) - let lengthResult6 = lengthReader.runReader("Banana") - XCTAssert(lengthResult6 == 6) - - // >>- - let lengthResult7 = (asks(length) >>- runReader)?("abc") - XCTAssert(lengthResult7 == .some(3)) - } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testReader", testReader) - ]) - #endif + } + + func hello() -> Reader { + return asks { "Hello \($0)" } + } + + func bye() -> Reader { + return asks { "Goodbye \($0)!" } + } + + func helloAndGoodbye() -> Reader { + return asks { hello().runReader($0) + " and " + bye().runReader($0) } + } + + XCTAssert(addOne().runReader(1) == 2) + + let input = "Matthew" + let helloReader = hello() + let modifiedHelloReader = helloReader.local({ "\($0) - Local"}) + XCTAssert(helloReader.runReader(input) == "Hello \(input)") + XCTAssert(modifiedHelloReader.runReader(input) == "Hello \(input) - Local") + + let byeReader = bye() + let modifiedByeReader = byeReader.local({ $0 + " - Local" }) + XCTAssert(byeReader.runReader(input) == "Goodbye \(input)!") + XCTAssert(modifiedByeReader.runReader(input) == "Goodbye \(input) - Local!") + + let result = hello() >>- { $0.runReader(input) } + XCTAssert(result == "Hello \(input)") + + let result2 = bye().runReader(input) + XCTAssert(result2 == "Goodbye \(input)!") + + let helloAndGoodbyeReader = helloAndGoodbye() + XCTAssert(helloAndGoodbyeReader.runReader(input) == "Hello \(input) and Goodbye \(input)!") + + let lengthResult = runReader(reader { (environment: String) -> Int in + return environment.lengthOfBytes(using: String.Encoding.utf8) + })("Banana") + XCTAssert(lengthResult == 6) + + let length : (String) -> Int = { $0.lengthOfBytes(using: String.Encoding.utf8) } + + let lengthResult2 = runReader(reader(length))("Banana") + XCTAssert(lengthResult2 == 6) + + // Ask + let lengthResult3 = (reader({ _ in 1234 }) >>- runReader)?(()) + XCTAssert(lengthResult3 == 1234) + + let lengthResult4 = hello() >>- runReader + XCTAssert(lengthResult4?("Matthew") == "Hello Matthew") + + // Asks + let lengthResult5 = runReader(asks(length))("Banana") + XCTAssert(lengthResult5 == 6) + + let lengthReader = runReader(reader(asks))(length) + let lengthResult6 = lengthReader.runReader("Banana") + XCTAssert(lengthResult6 == 6) + + // >>- + let lengthResult7 = (asks(length) >>- runReader)?("abc") + XCTAssert(lengthResult7 == .some(3)) + } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testReader", testReader) + ]) + #endif } diff --git a/Tests/SwiftzTests/StateSpec.swift b/Tests/SwiftzTests/StateSpec.swift index ed96d41..ae9b2bf 100644 --- a/Tests/SwiftzTests/StateSpec.swift +++ b/Tests/SwiftzTests/StateSpec.swift @@ -10,7 +10,7 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -31,15 +31,20 @@ struct StateOf : Arbitrary, CustomStringConvertible { } } -/* class StateSpec : XCTestCase { func testProperties() { property("sequence occurs in order") <- forAll { (xs : [String]) in let seq = sequence(xs.map(State.pure)) - return forAllNoShrink(Gen.pure(seq)) { ss in + return forAllNoShrink(Gen>.pure(seq)) { ss in return ss.eval("") == xs } } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } -*/ + diff --git a/Tests/SwiftzTests/StreamSpec.swift b/Tests/SwiftzTests/StreamSpec.swift index fc6eab0..0d0db6f 100644 --- a/Tests/SwiftzTests/StreamSpec.swift +++ b/Tests/SwiftzTests/StreamSpec.swift @@ -10,12 +10,12 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif -/* + /// Generates a Swiftz.Stream of arbitrary values. extension Swiftz.Stream where Element : Arbitrary { public static var arbitrary : Gen> { @@ -27,20 +27,18 @@ extension Swiftz.Stream where Element : Arbitrary { } } } - - public static func shrink(_ xs : Swiftz.Stream) -> [Swiftz.Stream] { - return [] - } } extension Swiftz.Stream : WitnessedArbitrary { public typealias Param = Element - public static func forAllWitnessed(_ wit : (A) -> Element, pf : ((Swiftz.Stream) -> Testable)) -> Property { + public static func forAllWitnessed(_ wit : @escaping (A) -> Element, pf : @escaping ((Swiftz.Stream) -> Testable)) -> Property { return forAllShrink(Swiftz.Stream.arbitrary, shrinker: Swiftz.Stream.shrink, f: { bl in return pf(bl.fmap(wit)) }) } + + public static func shrink(_ xs : Swiftz.Stream) -> [Swiftz.Stream] { return [] } } @@ -49,26 +47,27 @@ class StreamSpec : XCTestCase { property("pure behaves") <- forAll { (i : Int) in let xs = Swiftz.Stream.pure(i) - return [UInt](1...10).all { n in - return xs[n] == i + return [UInt](1...10).reduce(true) { (acc, n) in + return acc && xs[n] == i } } - property("Take behaves") <- forAll { (xs : Swiftz.Stream) in - return [UInt](1...10).all { n in - return xs.take(n).count == Int(n) + property("Take behaves") <- forAll { (xs : Swiftz.Stream) in + return [UInt](1...10).reduce(true) { (acc, n) in + return acc && xs.take(n).count == Int(n) } } - property("Interleave behaves") <- forAll { (xs : Swiftz.Stream, ys : Swiftz.Stream) in - return [UInt](1...10).all { n in + property("Interleave behaves") <- forAll { (xs : Swiftz.Stream, ys : Swiftz.Stream) in + return [UInt](1...10).reduce(true) { (acc, n) in let zs = xs.interleaveWith(ys) - return zs[2 * n] == xs[n] + return acc + && zs[2 * n] == xs[n] && zs[2 * n + 1] == ys[n] } } - property("Swiftz.Stream obeys the Functor identity law") <- forAll { (x : Swiftz.Stream) in + property("Swiftz.Stream obeys the Functor identity law") <- forAll { (x : Swiftz.Stream) in return forAll { (n : UInt) in return (x.fmap(identity)).take(n) == identity(x).take(n) } @@ -82,29 +81,29 @@ class StreamSpec : XCTestCase { } } - property("Swiftz.Stream obeys the Applicative identity law") <- forAll { (x : Swiftz.Stream) in + property("Swiftz.Stream obeys the Applicative identity law") <- forAll { (x : Swiftz.Stream) in return forAll { (n : UInt) in return (Swiftz.Stream.pure(identity) <*> x).take(n) == x.take(n) } } // Swift unroller can't handle our scale; Use only small lists. - property("Swiftz.Stream obeys the first Applicative composition law") <- forAll { (fl : Swiftz.Stream, gl : Swiftz.Stream, x : Swiftz.Stream) in - return forAll { (n : UInt) in - let f = fl.fmap({ $0.getArrow }) - let g = gl.fmap({ $0.getArrow }) - return (curry(•) <^> f <*> g <*> x).take(n) == (f <*> (g <*> x)).take(n) - } - } - - property("Swiftz.Stream obeys the second Applicative composition law") <- forAll { (fl : Swiftz.Stream, gl : Swiftz.Stream, x : Swiftz.Stream) in - return forAll { (n : UInt) in - let f = fl.fmap({ $0.getArrow }) - let g = gl.fmap({ $0.getArrow }) - return (Swiftz.Stream.pure(curry(•)) <*> f <*> g <*> x).take(n) == (f <*> (g <*> x)).take(n) - } - } - + // property("Swiftz.Stream obeys the first Applicative composition law") <- forAll { (fl : Swiftz.Stream, gl : Swiftz.Stream, x : Swiftz.Stream) in + // return forAll { (n : UInt) in + // let f = fl.fmap({ $0.getArrow }) + // let g = gl.fmap({ $0.getArrow }) + // return (curry(•) <^> f <*> g <*> x).take(n) == (f <*> (g <*> x)).take(n) + // } + // } + // + // property("Swiftz.Stream obeys the second Applicative composition law") <- forAll { (fl : Swiftz.Stream, gl : Swiftz.Stream, x : Swiftz.Stream) in + // return forAll { (n : UInt) in + // let f = fl.fmap({ $0.getArrow }) + // let g = gl.fmap({ $0.getArrow }) + // return (Swiftz.Stream.pure(curry(•)) <*> f <*> g <*> x).take(n) == (f <*> (g <*> x)).take(n) + // } + // } + /// These three take *forever* to execute. It's scary how much stack /// space it takes to force these Swiftz.Streams. @@ -113,13 +112,13 @@ class StreamSpec : XCTestCase { return forAll { (n : UInt) in return (Swiftz.Stream.pure(a) >>- f).take(n) == f(a).take(n) } - }.once + }.once property("Swiftz.Stream obeys the Monad right identity law") <- forAll { (m : Swiftz.Stream) in return forAll { (n : UInt) in return (m >>- Swiftz.Stream.pure).take(n) == m.take(n) } - }.once + }.once property("Swiftz.Stream obeys the Monad associativity law") <- forAll { (fa : ArrowOf, ga : ArrowOf) in @@ -130,9 +129,9 @@ class StreamSpec : XCTestCase { return ((m >>- f) >>- g).take(n) == (m >>- { x in f(x) >>- g }).take(n) } } - }.once + }.once - property("Swiftz.Stream obeys the Comonad identity law") <- forAll { (x : Swiftz.Stream) in + property("Swiftz.Stream obeys the Comonad identity law") <- forAll { (x : Swiftz.Stream) in return forAll { (n : UInt) in return x.extend({ $0.extract() }).take(n) == x.take(n) } @@ -157,12 +156,18 @@ class StreamSpec : XCTestCase { } } - property("sequence occurs in order") <- forAll { (xs : [String]) in - let seq = sequence(xs.map({ x in Swiftz.Stream.pure(x).take(1) })) - return forAllNoShrink(Gen.pure(seq)) { ss in - return ss.first ?? [] == xs - } - } - } + property("sequence occurs in order") <- forAll { (xs : [String]) in + let seq = sequence(xs.map({ x in Swiftz.Stream.pure(x).take(1) })) + return forAllNoShrink(Gen.pure(seq)) { ss in + return ss.first ?? [] == xs + } + } + } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } -*/ + diff --git a/Tests/SwiftzTests/StringExtSpec.swift b/Tests/SwiftzTests/StringExtSpec.swift index da6b7e4..be433bd 100644 --- a/Tests/SwiftzTests/StringExtSpec.swift +++ b/Tests/SwiftzTests/StringExtSpec.swift @@ -10,7 +10,7 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -93,7 +93,7 @@ class StringExtSpec : XCTestCase { property("map behaves") <- forAll { (xs : String) in let fs : (Character) -> String = { String.replicate(2, value: $0) } - return (xs >>- fs) == Array(xs.characters).map(fs).reduce("", +) + return (xs >>- fs) == xs.map(fs).reduce("", +) } property("filter behaves") <- forAll { (xs : String, pred : ArrowOf) in @@ -124,4 +124,10 @@ class StringExtSpec : XCTestCase { return Discard() } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/ThoseSpec.swift b/Tests/SwiftzTests/ThoseSpec.swift index ebaeb65..e184e76 100644 --- a/Tests/SwiftzTests/ThoseSpec.swift +++ b/Tests/SwiftzTests/ThoseSpec.swift @@ -9,7 +9,7 @@ import XCTest import Swiftz -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -28,7 +28,7 @@ class ThoseSpec : XCTestCase { #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) static var allTests = testCase([ - ("testThose", testThose) + ("testThose", testThose) ]) #endif } diff --git a/Tests/SwiftzTests/TupleExtSpec.swift b/Tests/SwiftzTests/TupleExtSpec.swift index 8d0df0c..1021548 100644 --- a/Tests/SwiftzTests/TupleExtSpec.swift +++ b/Tests/SwiftzTests/TupleExtSpec.swift @@ -10,7 +10,7 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -25,4 +25,10 @@ class TupleExtSpec : XCTestCase { return snd((x, y)) == y } } + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testProperties", testProperties) + ]) + #endif } diff --git a/Tests/SwiftzTests/UnitSpec.swift b/Tests/SwiftzTests/UnitSpec.swift index c7aefdc..4873bfc 100644 --- a/Tests/SwiftzTests/UnitSpec.swift +++ b/Tests/SwiftzTests/UnitSpec.swift @@ -10,7 +10,7 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD +#if SWIFT_PACKAGE import Operadics import Swiftx #endif @@ -52,7 +52,7 @@ class UnitSpec : XCTestCase { #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) static var allTests = testCase([ - ("testProperties", testProperties) + ("testProperties", testProperties) ]) #endif } diff --git a/Tests/SwiftzTests/WriterSpec.swift b/Tests/SwiftzTests/WriterSpec.swift index 8e62e1b..7894dc1 100644 --- a/Tests/SwiftzTests/WriterSpec.swift +++ b/Tests/SwiftzTests/WriterSpec.swift @@ -10,14 +10,14 @@ import XCTest import Swiftz import SwiftCheck -#if !XCODE_BUILD - import Operadics - import Swiftx +#if SWIFT_PACKAGE + import Operadics + import Swiftx #endif extension Writer where T : Arbitrary { public static var arbitrary : Gen> { - return Gen<()>.zip(T.arbitrary, Gen.pure(W.mempty)).map(Writer.init) + return Gen<(T, W)>.zip(T.arbitrary, Gen.pure(W.mempty)).map(Writer.init) } public static func shrink(_ xs : Writer) -> [Writer] { @@ -101,10 +101,10 @@ class WriterSpec : XCTestCase { } } } - - #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) - static var allTests = testCase([ - ("testWriterProperties", testWriterProperties) - ]) - #endif + + #if !(os(macOS) || os(iOS) || os(watchOS) || os(tvOS)) + static var allTests = testCase([ + ("testWriterProperties", testWriterProperties) + ]) + #endif }