Releases: thoughtbot/Runes
3.2: Mo' Monads Mo' Solutions
- [NEW]: Monadic function composition! You can now use
<-<
and>->
to compose functions of the typeT -> [U]
orT -> U?
. (Adam Sharp) - [Improved]:
<^>
for Arrays is now marked as@noescape
(Kenneth Ackerson)
3.1.0: Legends of the Hidden Temple
- [NEW]: tvOS Support (Thanks @bruceflowers!)
3.0: The Applickening
- [NEW]: Swift 2.0 support
- [NEW]: watchOS targets for Carthage and CocoaPods
- [NEW]:
Optional.apply
andArray.apply
are now publicly available instance methods
v3.0.0-rc.2
This makes it easier to add Runes to your framework as a light weight internal dependency for introducing the operators for your own types.
v3.0.0-rc.1
This adds initial support for Swift 2.0 and makes the apply
instance method public for Optional
and Array
.
2.0.0: Precedence for President
This release refines the precedence for our operators to bring them in line with Haskell's implementation.
- The
map
(<^>
) andapply
(<*>
) operators now have a precedence of 130. This gives them an equal precedence with Swift's built in equality operator (==
) - The
flatMap
operators (>>-
and-<<
) now have a precedence of 100. This gives them a precedence higher than the assignment operator (=
), but lower than theor
operator (||
).
Note that this change flips the precedence of these operators. Previous releases gave flatMap
a higher precedence than map
and apply
. Updating to 2.0.0 might require the addition/removal of parenthesis in your code to return to the intended behavior.
Huge thanks to @sharplet for the research (and implementation) behind this change.
1.2.2: Extension compatibility
This release ensures that Runes is marked as compatible with Application Extension APIs
1.2.1: Flattening the Mappening
This release removes the implementations of flatMap
for Optionals and Arrays. flatMap
is now included in the standard library for both of these types, so we don't need to duplicate their implementations here.
This release also adds a flipped operator for flatMap
(-<<
) and removes the guards around improper use of flatMap
. These guards were needed to avoid segfaults in the compiler, but the compiler is now preventing the improper use of this operator itself.
1.1.2: Swift 1.1 extension capability
This release ensures we're compatible with the app extension APIs for Swift 1.1
1.2.0: Semver Synergy
This release is intended to be used with Swift 1.2. There are no actual changes since Runes 1.1.1, but the attached binary has been built with the Swift 1.2 compiler.
This release will not work with Swift versions 1.2 beta 3 and beyond due to the introduction of flatMap
into the standard library