Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Machine Learning
  3. Fungp

Fungp

GPL-3.0Clojure

A genetic programming library for Clojure that evolves programs using mutation, reproduction, and fitness functions.

Visit WebsiteGitHubGitHub
100 stars12 forks0 contributors

What is Fungp?

fungp is a genetic programming library for Clojure that automatically evolves computer programs using processes inspired by biological evolution, such as mutation and reproduction. It solves problems like symbolic regression by generating trees of Clojure code and evaluating them with fitness functions to produce correct outputs.

Target Audience

Clojure developers and researchers interested in evolutionary computation, genetic programming, or automated program synthesis for tasks like symbolic regression or algorithmic discovery.

Value Proposition

Developers choose fungp for its native Clojure implementation, functional programming design, and configurable evolutionary parameters, providing a flexible and accessible tool for experimenting with genetic programming in a REPL-driven environment.

Overview

A genetic programming library for Clojure

Use Cases

Best For

  • Solving symbolic regression problems by evolving mathematical functions
  • Experimenting with genetic programming algorithms in Clojure
  • Automatically generating programs through evolutionary processes
  • Researching evolutionary computation with configurable parameters
  • Learning genetic programming concepts using a functional language
  • Developing custom fitness functions to evolve specialized programs

Not Ideal For

  • Projects requiring integration with non-JVM languages or ecosystems
  • Teams needing production-ready, commercially supported machine learning libraries
  • Users wanting graphical interfaces or automated pipelines for genetic programming

Pros & Cons

Pros

Clojure Native Integration

Built specifically for Clojure, it leverages the REPL for interactive development and functional programming style, as emphasized in the setup and tutorial examples.

Configurable Evolutionary Parameters

Offers extensive tuning options like iterations, migrations, mutation probability, and ADFs, allowing precise control over the GP process for diverse problems.

Island Model Diversity

Implements multiple populations with migrations to maintain genetic diversity, potentially improving solution quality by avoiding local optima, as described in the features.

Educational and Accessible

Includes thorough documentation, a tutorial, and sample code in the source, making it practical for learning genetic programming concepts in a functional context.

Cons

Academic Project Limitations

As a student project at version 0.3.2, it may lack the stability, frequent updates, and community support of more mature libraries, which could lead to bugs or abandoned development.

Clojure Knowledge Barrier

Requires familiarity with Clojure and setup with Leiningen, as outlined in the installation steps, creating a steep learning curve for developers outside the Clojure ecosystem.

Interpretability and Complexity

Evolved programs can become verbose and hard to understand, as shown in the sample output, making debugging and practical application challenging for non-experts.

Frequently Asked Questions

Quick Stats

Stars100
Forks12
Contributors0
Open Issues0
Last commit12 years ago
CreatedSince 2012

Tags

#functional-programming#clojure-library#evolutionary-algorithms#symbolic-regression#program-synthesis#machine-learning#genetic-programming

Built With

C
Clojure
L
Leiningen

Links & Resources

Website

Included in

Machine Learning72.2k
Auto-fetched 10 hours ago

Related Projects

PyTorch - Tensors and Dynamic neural networks in Python with strong GPU accelerationPyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Stars101,899
Forks28,473
Last commit10 hours ago
keraskeras

Deep Learning for humans

Stars64,175
Forks19,744
Last commit1 day ago
streamlitstreamlit

Streamlit — A faster way to build and share data apps.

Stars45,326
Forks4,331
Last commit15 hours ago
gradiogradio

Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!

Stars43,191
Forks3,557
Last commit13 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub