Show HN: Zyme – An Evolvable Programming Language

almusdives | 157 points

Interesting. I haven't seen much in this space since Lee Spector's "push" more than 20 years ago (http://faculty.hampshire.edu/lspector/push.html). I did see a mention of Push in the FAQ but it would be very interesting to compare this in detail. If I get it correctly Zyme programs are evolved on the bytecode level whereas Push's stack architecture is designed to be evolvable directly at the syntactic level? A head-to-head comparison / benchmark would be super interesting.

null08 | 4 days ago

15 or so years ago now - before I worked professionally really - I worked with Common Lisp to create a little toy tool to build, essentially, ASTs and evolve them to achieve a given fitness function. It was a heavily studied topic in the 1995-2005 timeframe at my alma mater. I just uploaded it ( https://github.com/pnathan/z-system ) as an amusing bit.

I'd be curious if the OP has looked at the literature on evolutionary programs (not evo algos, but programs).

pnathan | 3 days ago

I love this idea, it's thought provoking and I want to play

Is there a repository of examples or experiments built with Zyme? Curious to see what has been explored so far

I think it could be fun to focus on visual experiments; shader-like programs as a way to easily explore different outputs

haxiomic | 4 days ago

Is source available for zyme? I don't see anything on that page about how one might download and install their compiler.

UncleOxidant | 3 days ago

"While I've observed bloat in Zyme, I don’t think this is driving the increase in mutation resistance and survival rate" This is evident in the human genome.

robthebrew | 6 days ago

Completely unrelated (and apologies to the OP), Zyme is also a name of a winery near Verona in Italy that makes really unusual, complex and very tasty reds. Beautiful facilities as well. If you are ever in the region, give it a visit - https://www.zyme.it/en/

huhtenberg | 4 days ago

Is it named after the drug in Deus Ex

shortrounddev2 | 4 days ago
[deleted]
| 3 days ago

Adding a toggle between bytecode and (dis)assembly would make help with visualizing what kind of effect mutation has.

CodesInChaos | 3 days ago
[deleted]
| a day ago

This is really, really cool.

Cue the replicators.

airstrike | 4 days ago

interesting idea to say the least.

xiaodai | 4 days ago

wow this is so creative!

shahdash | 4 days ago

Doing => to set variables seems like extra work from just equals. Hopefully it’s kind of optional like it is in R.

Vaslo | 4 days ago