Skip to content

oniani/purity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Purity

This repository has the implementations of various algorithms and data structures. Everything is implemented in Haskell. Most, if not all, algorithms and data structures use recursion in some way. The primary goal of the repository is to have a collection of high-performance and, preferably, minimal implementations of algorithms and data structures.

Why Haskell?

Haskell's type system allows for very expressive code. Functions are first-class citizens (think of variables) which opens up a whole new world of algorithms and data structures. Furthermore, so-called divide-and-conquer approach to problem-solving (breaking down a problem into simple steps and dealing with the smaller subproblems making the problem-solving a lot more efficient) comes naturally with Haskell and is endorsed by the philosophy and design of the language. Besides, its lazy evaluation by default can make algorithms run extremely fast by not computing the values which are not going to be used.

Current implementations

Data Structures

Basic data structures

Geometric data structures

Algorithms

Searching algorithms

Sorting algorithms

Sequence generation algorithms

Miscellaneous algorithms

License

MIT License

About

A collection of various algorithms and data structures

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published