Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cgarciae/atoms

molecules
https://github.com/cgarciae/atoms

Last synced: 7 days ago
JSON representation

molecules

Awesome Lists containing this project

README

        

Atoms
=====

#Description

#Getting Started
1. Copy Atoms folder into your proyect.
2. Download or clone the Tatacao library from https://github.com/cgarciae/tatacoa into your proyect.

##Adding Tatacoa as a Submodule
If your proyect already has git repo you might want to add tatacoa as a submodule, to do this use these commands
````
git submodule add https://github.com/cgarciae/tatacoa.git /some/path/Atoms
git submodule update --init
```

#Baby Steps
**Repeat after me**
* Every `Quantum` is an `IEnumerable`.
* Every `Atom` is a `Quantum`.

**Reactions**
* `Atom` + `Atom` = `Atom`.
* `Atom` % `Atom` = `Atom`.

**Quiz**

1. `Atom` + `Quantum` = ???

#Basics
**Repeat after me**
* Every `Chain` is an `Atom`.
* Every `Sequence
` is a `Chain` and a `IEnumerable`.

**Reactions**
* `Atom` + `Chain
` = `Chain`.
* * `Atom` % `Atom` = `Atom`.
* `Atom` + `Sequence
` = `Chain`.
* `Sequence
` + `Sequence` = `Sequence`.

**Quiz**

1. Is a `Chain` an `IEnumerable`?
2. Is a `Chain
` an `IEnumerable`?
3. `Chain
` + `Atom` = ???
4. `Chain
` + `Sequence` = ???
5. Is addition associative?

#Intermediate
**Repeat after me**
* Every `Bond
` is an `Quantum` and a `IChain`.
* Every `Map
` is a `Bond`.
* Every `Bind
` is a `Bond`.

**Reactions**
* `Chain
` * `Bond` = `Chain`.
* `Bond
` * `BondB,C>` = `Bond`.

**Quiz**

1. `Chain` * `Bond` = ???
2. `Atom` * `Bond
` = ???
3. `Chain` * `Bond` = ???
4. Does `Chain
* (Bond * Bond)` have the same type as `(Chain * Bond) * Bond`?