Skip to content

Releases: typelift/Swiftz

Forward Lattneral

16 Sep 19:35
Compare
Choose a tag to compare

⚠️ Breaking Changes Ahead ⚠️

Swiftz now fully supports Swift 2.0 in all its two-point-oh glory. Changes due to language updates include:

  • Removed all the boxing
  • No, seriously, it's all gone. Use the Identity Functor instead.
  • Removed EitherBF,Either is now a Bifunctor on its own
  • Many, many free functions have been moved into extensions.
  • Our Dictionary extension now comes with a full set of useful functions and combinators.
  • Functions in the Character extension have been changed to property getters.
  • Array is now a Monoid
  • Proxy has been added
  • The Writer Monad has been added
  • Num has been renamed to NumericType
  • The RealType and IntegralType protocols have been added
  • Ratio has been added
  • Arrow Extensions have been brought back
  • Result<T> has been removed. Please use Either<ErrorType, T>
  • Infinite Streams have been added
  • While we're on the subject of Streams, have you seen our new framework Aquifer?

Overall Framework changes include:

  • Lenses have been split into their own package, Focus.
  • Operators have been split into their own package and standardized throughout all of TypeLift.
  • Added the Foldable typeclass
  • Additions to the Applicative and Monad typeclasses have been added in the form of the ApplicativeOps and MonadOps typeclasses
  • More tests now use SwiftCheck, also more tests in general!

SISD

01 Jun 20:20
Compare
Choose a tag to compare

⚠️ Breaking Changes Ahead ⚠️

  • Removes the concurrency abstractions from the framework.

Target Acquired

31 May 01:11
Compare
Choose a tag to compare
  • Strings are now first class citizens of this framework!
  • Fixes the deployment target of the iOS and OS X framework.
  • Re-enables support for Travis and Xcode 6.3.x.

⚠️ Breaking Changes Ahead ⚠️

This is the last release of Swiftz that defines the (deprecated) concurrency abstractions. Transition all code from Swiftz to Concurrent now!

Cartman

19 May 21:35
Compare
Choose a tag to compare
  • Resolves several potentially silent build errors.
  • Fixes the Carthage build.

Amdahl's Law

14 May 04:42
Compare
Choose a tag to compare

Deprecates all concurrency abstractions and removes any support Swiftz may have had for them. These abstractions will continue to function for 2 more dot releases. After that they will be removed. Please migrate existing code to Concurrent.framework.

Toofer

09 May 06:23
Compare
Choose a tag to compare

Welp, we did it. Swiftz now fully supports Swift 1.2 along with a huge number of fixes and improvements. Unfortunately in keeping up with the neighborhood we've lost any semblance of support from Travis. Our build status will stay firmly in the red until they can give us a box running 10.10 to build on.

Such is life.

Anyhow, changes:

  • Full support for Swift 1.2
  • General and sweeping changes to documentation
  • Updates to code formatting and whitespace control
  • Testing is now done using SwiftCheck along with XCTest. In future versions we will go SwiftCheck only
  • Added extreme(_:_:) the dual to span(_:_:)
  • Lists can now be initialized with arrays directly.
  • Maybe is now a Monad
  • Proper operators for Functor, Applicative, and Monad methods have been added to List and Maybe
  • Maybe now supports a fold, fromMaybe(), and case analysis, maybe()
  • Int and UInt now have Num instances
  • coalesce has been temporarily removed.
  • Set has been removed
  • State is now Applicative and a Monad
  • String.lines() and String.unlines() are more efficient
  • scanl now behaves properly when given the empty list

An Array of Simplifications

08 Feb 21:54
Compare
Choose a tag to compare

This release contains numerous improvements to Set and Array.

Set:

  • Adds reduce, partition, and remove.
  • Adds toList/toArray

Array:

  • Adds a matcher for destructuring.
  • Adds head/tail to ArrayExt
  • Adds take and drop to ArrayExt
  • Simplifies the definition of many combinators with the matcher.

JSON and the Argonauts

08 Feb 18:00
Compare
Choose a tag to compare

Improvements to JSON:

  • The decoding mechanism now uses Self constraints.
  • Direct instances of JSONDecodable types now replace the old shims.
  • JSONDecodable is easier to adopt for custom types like NSURL, NSString, NSDecimalNumber, etc.
  • Adds support for traversing into nested JSON objects.

General Improvements:

  • Adds the Monoid Coproduct of Monoids (Dither).
  • Updates to the latest Swiftx

Bug Fixes:

  • Unifies the Sectioning mechanism with Swiftx.
  • splitAt(_:, _:) now works on lists where n is larger than list.count (h/t @hffmnn)
  • Fixes the Carthage build by codesigning and copying the framework on testing builds.

Disequal Rights

30 Jan 02:18
Compare
Choose a tag to compare

Fixes erroneous disequality sections.

Comfortably Num

29 Jan 04:16
Compare
Choose a tag to compare

Simplifies the Num, Semigroup, and Monoid protocols.

  • Prefer Self declarations over associated types.
  • Make certain invariants (e.g. the identity element) class variables.
  • Simplify multi-parameter Monoids and Semigroups with newtype-style structures.
  • Adds the First and Last Monoids.
  • Adds the Nil Adjunction Semigroup.