### 2 unstable releases

Uses old Rust 2015

0.2.0 | Aug 17, 2016 |
---|---|

0.1.0 | Nov 21, 2014 |

#**645** in Math

41KB

557 lines

# Abstract algebra for Rust

`|``(`• ◡•`)``|`ノ〵`(`❍ᴥ❍⋃`)` `-` `"`ALGEBRAIC!!!`"`

Abstract algebra organises organises a wide range of structures into a logically consistent framework. These classifications can be incredibly useful for creating composable libraries and APIs.

Examples of types that could be included under the algebraic framework:

- Integers, reals and rationals numbers
- Complex numbers
- Polynomials
- Boolean values
- Matrices and vectors
- Quaternions and octonians
- Strings under concatenation

## Research

### Interesting papers

- The Scratchpad II Type System: Domains and Subdomains
- Fundamental Algebraic Concepts in Concept-Enabled C++

### Inspiring Libraries

- Numeric Prelude (Haskell)
- Edward A. Kmett's algebra package (Haskell)
- YAP: Yet Another Prelude (Haskell)
- Agda's algebra module (Agda)
- Idris' algebra module (Idris)
- Felix's algebra module (Felix)
- non/spire (Scala)