<commit_before>fx-sharp
========

**Previously**
```C#
var name = TelephoneDirectory.LookUpName("+49394965006"); // LookUpName returns string
if (name == null) {
  name = "<NAME>";
}
```

**With fx-sharp**
```C#                                           
var name = TelephoneDirectory
            .LookUpName("+49394965006") // LookUpName returns Maybe[string]
            .GetOrElse("<NAME>");
```                                        

**Key benefits**

* Often no explicit mutable state necessary
* Allows chaining/composing of possibly failing operations
* The Maybe type carries the effect (possible failure) in the signature
* The compiler forces error checking<commit_msg>Add short abstract to README.<commit_after>fx-sharp
========

The name fx-sharp stands for functional sharp. Goal of the project is to bring advanced functional concepts, such as the [Maybe(Option) type](http://en.wikipedia.org/wiki/Option_type) or the Either type, to C#. 


Maybe
-------

**Key benefits**

* Often no explicit mutable state necessary
* Allows chaining/composing of possibly failing operations
* The Maybe type carries the effect (possible failure) in the signature
* The compiler forces error checking

**Previously**
```C#
var name = TelephoneDirectory.LookUpName("+49394965006"); // LookUpName returns string
if (name == null) {
  name = "<NAME>";
}
```

**With fx-sharp**
```C#                                           
var name = TelephoneDirectory
            .LookUpName("+49394965006") // LookUpName returns Maybe[string]
            .GetOrElse("<NAME>");
```                                        
{'fraction_non_alphanumeric': 0.12507778469197262, 'fraction_numerical': 0.027380211574362167, 'mean_word_length': 2.6545454545454548, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2667102', 'n_tokens_mistral': 460, 'n_tokens_neox': 414, 'n_words': 142}