# Basis library changes

### From Successor ML

- obligatory
- float
- generic functionals
- uniformities
- matrix multiplication
- Add id :
**Failed to parse (Missing texvc executable;**

**please see math/README to configure.): \alpha \rightarrow \alpha**
, fst : , and snd : **Failed to parse (Missing texvc executable;
please see math/README to configure.): \alpha \times \beta \rightarrow \beta**

to General module.

- The addition of currying/uncurrying helpers to General module (or perhaps a module Curry)
- curry :
- uncurry :
- (un)curry
*n*for ?

- A standard sum type. Perhaps

datatype ('a, 'b) either = LEFT of 'a | RIGHT of 'b

as suggested by Vesa Karvonen.

- More "standard" and efficient containers, ideally with convenient notation. Somewhat predicated upon an improved overloading/typeclass mechanism.
- Sets
- Multisets/Bags
- Maps

- Queue datatype. List datatype already acts as a stack. To have both convienent notation and an efficient implementation, something like views would probably be required.

- Note: there may be systematic ways to provide both curried and uncurried forms semi-automatically. See, for example, R. Di Cosmo, Isomorphisms of types: from -calculus to information retrieval and language design, Birkhauser, 1995. see CiteSeer