<commit_before># Runes #

Indecipherable symbols that some people claim have actual meaning.

## Installation ##

Note that as of Runes 1.2, [pre-built binaries][releases] will assume Swift
1.2. Runes 1.1.1 is considered stable for long-term use, and `master` is 100%
source compatible with Swift 1.1.

[releases]: https://github.com/thoughtbot/Runes/releases

### [Carthage](https://github.com/Carthage/Carthage) ##

`github "thoughtbot/runes"`

### [CocoaPods](http://cocoapods.org/) ###

__DISCLAIMER: CocoaPods doesn't officially support Swift projects yet. Use the
pre-release version at your own discretion.__

Add the following to your
[Podfile](http://guides.cocoapods.org/using/the-podfile.html):

```ruby
pod 'Runes', :git => 'https://github.com/thoughtbot/runes'
```

Then run `pod install` with CocoaPods 0.36 or newer.

## What's included? ##

Importing Runes introduces 3 new operators and one global function:

- `<^>` (pronounced "map")
- `<*>` (pronounced "apply")
- `>>-` (pronounced "flatMap") (left associative)
- `-<<` (pronounced "flatMap") (right associative)
- `pure` (pronounced "pure")

We also include default implementations for Optional and Array with the
following type signatures:

```swift
// Optional:
public func <^><T, U>(f: T -> U, a: T?) -> U?
public func <*><T, U>(f: (T -> U)?, a: T?) -> U?
public func >>-<T, U>(a: T?, f: T -> U?) -> U?
public func -<<<T, U>(f: T -> U?, a: T?) -> U?
public func pure<T>(a: T) -> T?

// Array:
public func <^><T, U>(f: T -> U, a: [T]) -> [U]
public func <*><T, U>(fs: [T -> U], a: [T]) -> [U]
public func >>-<T, U>(a: [T], f: T -> [U]) -> [U]
public func -<<<T, U>(f: T -> [U], a: [T]) -> [U]<commit_msg>Update installation instructions in the README<commit_after># Runes #

Indecipherable symbols that some people claim have actual meaning.

## Installation ##

Note that as of Runes 1.2, [pre-built binaries][releases] will assume Swift
1.2. Runes 1.1.1 is considered stable for long-term use, and `master` is 100%
source compatible with Swift 1.1.

[releases]: https://github.com/thoughtbot/Runes/releases

### [Carthage] ###

[Carthage]: https://github.com/Carthage/Carthage

```
github "thoughtbot/runes"
```

Then run `carthage update`.

Follow the current instructions in [Carthage's README][carthage-installation]
for up to date installation instructions.

[carthage-installation]: https://github.com/Carthage/Carthage#adding-frameworks-to-an-application

### [CocoaPods] ###

[CocoaPods]: http://cocoapods.org

Add the following to your [Podfile](http://guides.cocoapods.org/using/the-podfile.html):

```ruby
pod 'Runes'
```

You will also need to make sure you're opting into using frameworks:

```ruby
use_frameworks!
```

Then run `pod install` with CocoaPods 0.36 or newer.

## What's included? ##

Importing Runes introduces 3 new operators and one global function:

- `<^>` (pronounced "map")
- `<*>` (pronounced "apply")
- `>>-` (pronounced "flatMap") (left associative)
- `-<<` (pronounced "flatMap") (right associative)
- `pure` (pronounced "pure")

We also include default implementations for Optional and Array with the
following type signatures:

```swift
// Optional:
public func <^><T, U>(f: T -> U, a: T?) -> U?
public func <*><T, U>(f: (T -> U)?, a: T?) -> U?
public func >>-<T, U>(a: T?, f: T -> U?) -> U?
public func -<<<T, U>(f: T -> U?, a: T?) -> U?
public func pure<T>(a: T) -> T?

// Array:
public func <^><T, U>(f: T -> U, a: [T]) -> [U]
public func <*><T, U>(fs: [T -> U], a: [T]) -> [U]
public func >>-<T, U>(a: [T], f: T -> [U]) -> [U]
public func -<<<T, U>(f: T -> [U], a: [T]) -> [U]
{'fraction_non_alphanumeric': 0.19955468967436682, 'fraction_numerical': 0.008906206512663512, 'mean_word_length': 4.083451202263084, 'pattern_counts': {'":': 0, '<': 45, '<?xml version=': 0, '>': 80, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6900683', 'n_tokens_mistral': 1401, 'n_tokens_neox': 1312, 'n_words': 431}