All Projects → vmchale → Recursion_schemes

vmchale / Recursion_schemes

Licence: bsd-3-clause
Recursion schemes for Idris

Labels

Projects that are alternatives of or similar to Recursion schemes

alchemy
Generate any a-by-( b + c ) finite rectangle SVG containing potentially Infinitely many a-by-( 2 * b ) finite rectangles animated along a number line of ( ( c - b ) / a )^n scale symmetry.
Stars: ✭ 29 (-52.46%)
Mutual labels:  recursion
Scriptum
A fool's scriptum on functional programming
Stars: ✭ 346 (+467.21%)
Mutual labels:  recursion
Cloak
A mini-preprocessor library to demostrate the recursive capabilites of the preprocessor
Stars: ✭ 709 (+1062.3%)
Mutual labels:  recursion
Traverser
Traverser is a Java library that helps software engineers implement advanced iteration of a data structure.
Stars: ✭ 45 (-26.23%)
Mutual labels:  recursion
SwiftUI-Fractals
The Sierpinski carpet, triangle, and a fractal tree using SwiftUI
Stars: ✭ 22 (-63.93%)
Mutual labels:  recursion
Cracking The Coding Interview
📚 C++ and Python solutions with automated tests for Cracking the Coding Interview 6th Edition.
Stars: ✭ 396 (+549.18%)
Mutual labels:  recursion
rrapply
rrapply: revisiting base-R's rapply
Stars: ✭ 25 (-59.02%)
Mutual labels:  recursion
Geeksforgeeks Dsa 2
This repository contains all the assignments and practice questions solved during the Data Structures and Algorithms course in C++ taught by the Geeks For Geeks team.
Stars: ✭ 53 (-13.11%)
Mutual labels:  recursion
Interview Questions In Javascript
A mostly reasonable collection of technical software development interview questions solved in Javascript
Stars: ✭ 3,268 (+5257.38%)
Mutual labels:  recursion
Meta Typing
📚 Functions and algorithms implemented purely with TypeScript's type system
Stars: ✭ 628 (+929.51%)
Mutual labels:  recursion
recursive-iterator
It iterates through a graph recursively
Stars: ✭ 87 (+42.62%)
Mutual labels:  recursion
3013-Algorithms
Algorithms Course Repo
Stars: ✭ 15 (-75.41%)
Mutual labels:  recursion
Algodeck
An Open-Source Collection of 200+ Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview 💯
Stars: ✭ 4,441 (+7180.33%)
Mutual labels:  recursion
Data-Structures-Algorithms-Handbook
A series of important questions with solutions to crack the coding interview and ace it!
Stars: ✭ 30 (-50.82%)
Mutual labels:  recursion
J8plus
Library containing useful tools for Java 8
Stars: ✭ 23 (-62.3%)
Mutual labels:  recursion
discrete-math-python-scripts
Python code snippets from Discrete Mathematics for Computer Science specialization at Coursera
Stars: ✭ 98 (+60.66%)
Mutual labels:  recursion
Proxy requests
a class that uses scraped proxies to make http GET/POST requests (Python requests)
Stars: ✭ 357 (+485.25%)
Mutual labels:  recursion
Sopgi
A small VEX raytracer for SideFX Houdini with photon mapping global illumination and full recursive reflections and refractions
Stars: ✭ 55 (-9.84%)
Mutual labels:  recursion
Sudoku Generator
A Sudoku puzzle generator written in C++ using modified and efficient backtracking algorithm.
Stars: ✭ 33 (-45.9%)
Mutual labels:  recursion
You Dont Need Loops
Avoid The One-off Problem, Infinite Loops, Statefulness and Hidden intent.
Stars: ✭ 599 (+881.97%)
Mutual labels:  recursion

recursion_schemes

Build Status

This is a library providing recursion schemes for Idris. It it is loosely based on Edward Kmett's Haskell library.

Installation

First, install idris-free, comonad and composition. Then:

idris --install recursion_schemes.ipkg

To run the tests, install specdris. Then:

idris --testpkg test.ipkg

Use

The classic paper Functional programming with bananas, lenses, envelopes and barbed wire is the inspiration behind the Haskell library and is the standard reference on the topic. You may also find Law and Order in Algorithmics to be of use.

Examples

In the Test.Spec module there are several examples, including a catamorphism, a zygomorphism, a mutumorphism, an Elgot algebra, a paramorphism, a dynamorphism, and a hylomorphism.

Documentation

You can find documentation here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].