# Latest

**URL:** https://discourse.pushlanguage.org/latest.md

[Latest](https://discourse.pushlanguage.org/latest.md) · [Categories](https://discourse.pushlanguage.org/categories.md)

---

## [Welcome to push-langage discourse](https://discourse.pushlanguage.org/t/welcome-to-push-langage-discourse/8)

<div class="topic-metadata">

**Author:** [@system](https://discourse.pushlanguage.org/u/system)\
**Replies:** 0\
**Last updated:** [June 19, 2015, 4:04pm UTC](https://discourse.pushlanguage.org/t/welcome-to-push-langage-discourse/8 "2015-06-19T16:04:06Z")

</div>

This is the Discourse forum for the PUSH lab. Publicly-viewable parts of this forum provide information about the lab’s work, including information about the Push language for evolutionary computation and about PushGP, …

---

## [Clojure quickstart instructions](https://discourse.pushlanguage.org/t/clojure-quickstart-instructions/2169)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 15\
**Last updated:** [May 10, 2026, 4:38pm UTC](https://discourse.pushlanguage.org/t/clojure-quickstart-instructions/2169 "2026-05-10T16:38:28Z")

</div>

Following are instructions for 1) one particular setup for beginning to work in Clojure, and 2) one particular sequence of learning materials. They may not be the best for everyone! But this is what I am currently recomm…

---

## [Lexicase.ai](https://discourse.pushlanguage.org/t/lexicase-ai/2549)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [November 23, 2025, 11:45pm UTC](https://discourse.pushlanguage.org/t/lexicase-ai/2549 "2025-11-23T23:45:55Z")

</div>

For a brief overview of lexicase selection and its variants, with links and references, see: lexicase.ai.

---

## [Push Instruction Documentation](https://discourse.pushlanguage.org/t/push-instruction-documentation/2185)

<div class="topic-metadata">

**Author:** [@erp12](https://discourse.pushlanguage.org/u/erp12)\
**Replies:** 25\
**Last updated:** [June 14, 2023, 3:56pm UTC](https://discourse.pushlanguage.org/t/push-instruction-documentation/2185 "2023-06-14T15:56:04Z")

</div>

Some Push instructions are trickier to understand than others, especially the ones that implement looping/control flow. This wiki page documents the non-trivial instructions found in modern Push implementations with the …

---

## [Probabilistic Genomes for Genetic Programming](https://discourse.pushlanguage.org/t/probabilistic-genomes-for-genetic-programming/2224)

<div class="topic-metadata">

**Author:** [@dndang23](https://discourse.pushlanguage.org/u/dndang23)\
**Replies:** 2\
**Last updated:** [May 15, 2023, 1:40am UTC](https://discourse.pushlanguage.org/t/probabilistic-genomes-for-genetic-programming/2224 "2023-05-15T01:40:29Z")

</div>

This thesis investigates the problem solving capabilities of Probabilistic Plushies. Additional notes on the changes I would have made to the thesis paper if given more time for revisions: State that our attempt at eq…

---

## [Clojure resources](https://discourse.pushlanguage.org/t/clojure-resources/1297)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [November 21, 2018, 6:35pm UTC](https://discourse.pushlanguage.org/t/clojure-resources/1297 "2018-11-21T18:35:46Z")

</div>

Because much of the work in our group uses the Clojure programming language, I thought it would be useful to post a general list of Clojure resources here, aimed primarily at beginners. There are many more! But the int…

---

## [GECCO Videos](https://discourse.pushlanguage.org/t/gecco-videos/1911)

<div class="topic-metadata">

**Author:** [@thelmuth](https://discourse.pushlanguage.org/u/thelmuth)\
**Replies:** 2\
**Last updated:** [August 22, 2021, 3:35pm UTC](https://discourse.pushlanguage.org/t/gecco-videos/1911 "2021-08-22T15:35:35Z")

</div>

Video pre-recordings of GECCO talks are now available publicly (may have been for a while). Here’s the Lexicase Selection tutorial, which seems like a good place to direct people who want an in-depth introduction to lex…

---

## [Push tutorial video for GECCO-2021](https://discourse.pushlanguage.org/t/push-tutorial-video-for-gecco-2021/1867)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [June 18, 2021, 12:33pm UTC](https://discourse.pushlanguage.org/t/push-tutorial-video-for-gecco-2021/1867 "2021-06-18T12:33:32Z")

</div>

Following is the video I recorded for the GECCO-2021 tutorial on Push, split into parts to meet Discourse’s file size limits. The total run time is about 1hr23min.

---

## [Push tutorial accepted for presentation at GECCO-2021](https://discourse.pushlanguage.org/t/push-tutorial-accepted-for-presentation-at-gecco-2021/1767)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 1\
**Last updated:** [December 4, 2020, 4:33am UTC](https://discourse.pushlanguage.org/t/push-tutorial-accepted-for-presentation-at-gecco-2021/1767 "2020-12-04T04:33:53Z")

</div>

Description: Push is a general purpose, multi-type, Turing complete programming language for programs that evolve in an evolutionary computation system. Initially developed in 2000, it has been used for a range of rese…

---

## [Plushy genomes](https://discourse.pushlanguage.org/t/plushy-genomes/1709)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [July 30, 2020, 7:20pm UTC](https://discourse.pushlanguage.org/t/plushy-genomes/1709 "2020-07-30T19:20:50Z")

</div>

Plushy is a linear genome representation for Push programs. Push programs may contain nested parenthesized expressions, like this: (in1 0 integer\_eq exec\_if (1 "zero") (2 "not zero")) These are represented without nes…

---

## [Graph Databases & studying ancestry trees](https://discourse.pushlanguage.org/t/graph-databases-studying-ancestry-trees/195)

<div class="topic-metadata">

**Author:** [@mcphee](https://discourse.pushlanguage.org/u/mcphee)\
**Replies:** 3\
**Last updated:** [November 21, 2019, 6:49pm UTC](https://discourse.pushlanguage.org/t/graph-databases-studying-ancestry-trees/195 "2019-11-21T18:49:58Z")

</div>

Much (most?) EC/GP research presents results in the form of aggregate statistics that (hopefully) show that something is happening, but rarely illuminate why. So we can have papers that show that using lexicase selection…

---

## [Eddie Pantridge short video on lexicase selection of specialists](https://discourse.pushlanguage.org/t/eddie-pantridge-short-video-on-lexicase-selection-of-specialists/1476)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 4\
**Last updated:** [September 21, 2019, 12:06am UTC](https://discourse.pushlanguage.org/t/eddie-pantridge-short-video-on-lexicase-selection-of-specialists/1476 "2019-09-21T00:06:47Z")

</div>

Eddie Pantridge explains the “Lexicase Selection of Specialists” project in under three minutes here. He made this when the paper was just a nominee for the GECCO-2019 GP track best paper award, but now it is a winner :…

---

## [Tags (and what happened to Names)](https://discourse.pushlanguage.org/t/tags-and-what-happened-to-names/128)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 11\
**Last updated:** [August 26, 2019, 2:12am UTC](https://discourse.pushlanguage.org/t/tags-and-what-happened-to-names/128 "2019-08-26T02:12:18Z")

</div>

"Tags," in genetic programming and particularly in the context of Push/PushGP, are identifiers that can be used to name, store, and retrieve code and data as a program runs. The distinctive property of Tags relative to t…

---

## [Lexicase Selection Beyond Genetic Programming](https://discourse.pushlanguage.org/t/lexicase-selection-beyond-genetic-programming/1282)

<div class="topic-metadata">

**Author:** [@aks](https://discourse.pushlanguage.org/u/aks)\
**Replies:** 0\
**Last updated:** [November 2, 2018, 10:43pm UTC](https://discourse.pushlanguage.org/t/lexicase-selection-beyond-genetic-programming/1282 "2018-11-02T22:43:30Z")

</div>

Lexicase Selection (general description and related publications listed here) is a selection method that was developed for parent selection in genetic programming. In the following presentation, we describe a study of le…

---

## [Quanta magazine article](https://discourse.pushlanguage.org/t/quanta-magazine-article/1305)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [November 29, 2018, 7:53pm UTC](https://discourse.pushlanguage.org/t/quanta-magazine-article/1305 "2018-11-29T19:53:10Z")

</div>

I was interviewed for this article in Quanta magazine, and one of the bits that made it into the article was our work on post-run simplification. As I say in the article, I think there’s more to be done at the intersect…

---

## [Video: An Even Quicker Introduction to the Push Programming Language](https://discourse.pushlanguage.org/t/video-an-even-quicker-introduction-to-the-push-programming-language/1233)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 1\
**Last updated:** [September 12, 2018, 1:37pm UTC](https://discourse.pushlanguage.org/t/video-an-even-quicker-introduction-to-the-push-programming-language/1233 "2018-09-12T13:37:12Z")

</div>

even-quicker-push.m4v (29.4 MB) Also available on Youtube.

---

## [Video: Interview on future of evolutionary algorithms and AI](https://discourse.pushlanguage.org/t/video-interview-on-future-of-evolutionary-algorithms-and-ai/1229)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [September 7, 2018, 3:27pm UTC](https://discourse.pushlanguage.org/t/video-interview-on-future-of-evolutionary-algorithms-and-ai/1229 "2018-09-07T15:27:17Z")

</div>

Some thoughts on the future of evolutionary algorithms and AI, from an interview at the GECCO conference in Kyoto: Video on Youtube or Sentient.

---

## [Environments](https://discourse.pushlanguage.org/t/environments/93)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 28\
**Last updated:** [August 15, 2018, 3:23pm UTC](https://discourse.pushlanguage.org/t/environments/93 "2018-08-15T15:23:33Z")

</div>

Support for “environments” is implemented in Clojush, but the utility of environments has not yet been extensively tested. It is possible that the feature will be refined after such testing takes place. Here is @thelmut…

---

## [Epsilon Lexicase Selection](https://discourse.pushlanguage.org/t/epsilon-lexicase-selection/571)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 3\
**Last updated:** [June 21, 2018, 5:40pm UTC](https://discourse.pushlanguage.org/t/epsilon-lexicase-selection/571 "2018-06-21T17:40:05Z")

</div>

Lexicase selection is a parent selection algorithm that is described here. Epsilon lexicase selection is a refinement of lexicase selection developed by William La Cava (@williamlacava) for use on problems with floating…

---

## [Video: A Quick Introduction to the Push Programming Language](https://discourse.pushlanguage.org/t/video-a-quick-introduction-to-the-push-programming-language/1133)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 2\
**Last updated:** [May 22, 2018, 7:01pm UTC](https://discourse.pushlanguage.org/t/video-a-quick-introduction-to-the-push-programming-language/1133 "2018-05-22T19:01:38Z")

</div>

Also available on YouTube.

---

## [Calling Clojure code from Java](https://discourse.pushlanguage.org/t/calling-clojure-code-from-java/865)

<div class="topic-metadata">

**Author:** [@thelmuth](https://discourse.pushlanguage.org/u/thelmuth)\
**Replies:** 0\
**Last updated:** [June 24, 2017, 7:03pm UTC](https://discourse.pushlanguage.org/t/calling-clojure-code-from-java/865 "2017-06-24T19:03:12Z")

</div>

I've now worked through a few different methods for calling Clojure functions from Java. Since none of the guides I found go through some of the important details, I decided to post my own here, both so I remember how to…

---

## [Autoconstructive Evolution](https://discourse.pushlanguage.org/t/autoconstructive-evolution/795)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [April 15, 2017, 3:51am UTC](https://discourse.pushlanguage.org/t/autoconstructive-evolution/795 "2017-04-15T03:51:34Z")

</div>

An autoconstructive evolution system is an evolutionary computation system that adaptively constructs its own mechanisms of reproduction and diversification as it runs. Existing autoconstructive evolutions systems are ex…

---

## [Introduction to Push](https://discourse.pushlanguage.org/t/introduction-to-push/794)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [April 15, 2017, 2:51am UTC](https://discourse.pushlanguage.org/t/introduction-to-push/794 "2017-04-15T02:51:22Z")

</div>

The best “first thing to read” about the Push programming language is the Push Redux. This presents Push’s core ideas in the context of recent versions of the language, with concrete examples. Following that, you might …

---

## [NSF project on Synthesis of Robust Artificial Systems by Adaptive Genetic Programming](https://discourse.pushlanguage.org/t/nsf-project-on-synthesis-of-robust-artificial-systems-by-adaptive-genetic-programming/596)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 3\
**Last updated:** [October 19, 2016, 9:35pm UTC](https://discourse.pushlanguage.org/t/nsf-project-on-synthesis-of-robust-artificial-systems-by-adaptive-genetic-programming/596 "2016-10-19T21:35:14Z")

</div>

The Hampshire College Communications people have put out a nice piece on the NSF grant for work on autoconstructive evolution. It features comments from @julian and @erp12, along with ancestry tree graphics from the vi…

---

## [The Push mail list](https://discourse.pushlanguage.org/t/the-push-mail-list/586)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 0\
**Last updated:** [October 10, 2016, 6:30pm UTC](https://discourse.pushlanguage.org/t/the-push-mail-list/586 "2016-10-10T18:30:55Z")

</div>

The Push mail list provides an open forum for email-based discussion of Push, PushGP, and related topics. If you want to discuss Push but you are not a member of this Discourse site (which means that you can only see t…

---

## [Input instructions](https://discourse.pushlanguage.org/t/input-instructions/499)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 4\
**Last updated:** [August 5, 2016, 7:31pm UTC](https://discourse.pushlanguage.org/t/input-instructions/499 "2016-08-05T19:31:50Z")

</div>

How can inputs be provided for Push programs? When Push was first being developed, the idea was that you would preload inputs onto stacks, then run your program, and then find outputs on stacks after the program termin…

---

## [GECCO 2016 Tutorial Slides](https://discourse.pushlanguage.org/t/gecco-2016-tutorial-slides/398)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 7\
**Last updated:** [May 17, 2016, 2:22am UTC](https://discourse.pushlanguage.org/t/gecco-2016-tutorial-slides/398 "2016-05-17T02:22:49Z")

</div>

spector-tutorial-gecco2016.key.pdf (1.5 MB)

---

## [Autosimplification](https://discourse.pushlanguage.org/t/autosimplification/359)

<div class="topic-metadata">

**Author:** [@mcphee](https://discourse.pushlanguage.org/u/mcphee)\
**Replies:** 11\
**Last updated:** [April 7, 2016, 8:40pm UTC](https://discourse.pushlanguage.org/t/autosimplification/359 "2016-04-07T20:40:20Z")

</div>

Autosimplification is a method for automatically simplifying a Push program invented by @lspector. For it to work, you need to be able to test a program deterministically on a a set of test cases, resulting in an error v…

---

## [Running Clojush](https://discourse.pushlanguage.org/t/running-clojush/325)

<div class="topic-metadata">

**Author:** [@mcphee](https://discourse.pushlanguage.org/u/mcphee)\
**Replies:** 7\
**Last updated:** [March 26, 2016, 3:50pm UTC](https://discourse.pushlanguage.org/t/running-clojush/325 "2016-03-26T15:50:02Z")

</div>

Running Clojush (added by @lspector): This topic serves as a pointer to the Clojush README file, which documents how to run the Clojush implementation of the PushGP genetic programming system. It can also be used to …

---

## [A Clojush tutorial in a Gorilla REPL worksheet](https://discourse.pushlanguage.org/t/a-clojush-tutorial-in-a-gorilla-repl-worksheet/332)

<div class="topic-metadata">

**Author:** [@lspector](https://discourse.pushlanguage.org/u/lspector)\
**Replies:** 2\
**Last updated:** [March 17, 2016, 3:04pm UTC](https://discourse.pushlanguage.org/t/a-clojush-tutorial-in-a-gorilla-repl-worksheet/332 "2016-03-17T15:04:55Z")

</div>

Linked below is a tutorial on using Clojush as a library in your own projects, presented in a Gorilla REPL worksheet. Here is a printed pdf of the worksheet, which you can view without having anything installed or runni…

[Next page](https://discourse.pushlanguage.org/latest.md?page=1)
