Mitchell Libraries
The Standard Basis Library
Mitchell includes most of the Standard Basis Library for Standard ML. Documentation for the Standard Basis Library can be found here. Documentation for the individual modules from the library can be found here
The Standard Basis Library includes several modules for interacting with the operating system or for performing IO. We have provided that functionality here to assist you with inputting data into your program, with outputting results from your program, and with debugging. However, IO is not supported on the hardware accelerator where your implementation will eventually run. We ask that you keep any IO that you need to do separate from the rest of your algorithm.
The following modules from the Standard Basis Library may be particularly useful to you:
- Lists
- Fixed-Size Mutable Arrays
- Fixed-Size Mutable 2D Arrays
- Fixed-Size Immutable Vectors
- Strings and
Substrings
- See the IO and parsing tutorial for examples of use.
- Math
- Integer, Word, and Real
- Text IO
- See the IO and parsing tutorial for examples of use.
Data Structures and Utilities
The following data structures and utilities are provided by Mitchell.
- Converting Data to Strings (Debug Printing)
- Hash Tables (Dictionaries)
- Hash Sets
- Graphs
- Vectors
- Matrices
- Resizable Arrays
- Heaps
- Random Number Generation
- Trees
- Sorting Lists and Arrays
- Regular Expressions (Regexps)
- Neural Networks
Algorithms
- Nonlinear Activation Functions
- Decision Trees
- Classification and Regression Trees (CART)
- Gradient Boosted Decision Trees (GBDT)
- Random Walks (Weisfeiler-Lehman)
- Negative Sampling
- Skip Gram
- Representing Graph Clusters (Communities)
- Graph Clustering (Louvain)
- Shortest Path (Dijkstra)
- Hierarchical Hub Labeling (HHL)