Functional Algorithms

# Project Description

I sometimes work on a repository accumulating mostly functional algorithms written in GNU Guile. These are mostly functional versions of commonly used algorithms, like depth-first search, breadth-first search, and so on. I try to make them generally usable, without the user having to go and change things inside the algorithm. Some algorithms are for very specific data types, like for example the algorithm for string edit distance, and as such can only be used for strings, and they do not add any abstraction layers on top of strings. Other algorithms like depth-first and breadth-first searches are generic in nature and need to be handled as such.

The project now contains the following algorithms:

  • Strings
    • string edit distance (Levenshtein distance)
  • Search
    • binary search
    • breadth-first search
    • depth-first search
  • Path finding
    • A-star algorithm (impure)
    • Dijkstra algorithm (impure)
    • search of cost for getting from one point in a grid to another

# Repository

You can find the repository at: Guile Algorithms.