# What is Tango?

Everyone deserves to enjoy the benefits of functional programming, the Tango provides a series of implementations to facilitate the use of functional programming concepts in C#.

In a certain way any C# developer work with some functional concepts like anonymous methods with lambda expressions and high order functions with [System.Linq](https://msdn.microsoft.com/pt-br/library/system.linq%28v=vs.100%29.aspx) library, and so on.

C# is an amazing programming language and we as a dev, can improve it a lot more. In this library I implements some of the core functional concepts in order to enhances the experience of developers.

**Tango** is a set of powerful functional tools for your .NET C# application. With **Tango** you can write a clean functional code in C#. It can works with pipelines (method and operator), optional and either type values.

Besides that, **Tango** provides an extension for [IEnumerables](https://msdn.microsoft.com/pt-br/library/system.collections.ienumerable%28v=vs.110%29.aspx), [Options](https://github.com/gabrielschade/tango/tree/379cc4a38ae47796971eb875ec66e7dc053a9081/Types/Option.html) and [Either](https://github.com/gabrielschade/tango/tree/379cc4a38ae47796971eb875ec66e7dc053a9081/Types/Either.html) with the [Tango.Module](https://github.com/gabrielschade/tango/tree/379cc4a38ae47796971eb875ec66e7dc053a9081/Modules/Introduction.html) namespace. Use popular methods like Map, Map2, Map3, Filter, Reduce, Fold, Scan and so on, always respecting lazy loadness.

Functional programming brings a lot of benefits to your application, and the do you know the best of all?

It makes development more **fun**!

Stop to struggle with your code and take it to dance a Tango!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gabriel-schade-cardoso.gitbook.io/tango/getting-started/what-is-tango.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
