null08 5 days ago

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.

  • conartist6 4 days ago

    Hampshire represent! I'm also quite interested in this space.

pnathan 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).

  • abcd_f 4 days ago

    Ha, can I ask who the involved prof/s was/were?

    I spent some time at your Uni in the early 90s. From what I remember there wasn't a whiff of Lisp on the curriculum.

    • pnathan 4 days ago

      Heckendorn and Soule were the key profs in the research in the area. One other maybe?. Soule in particular. In 04 I was doing some undergrad research around training neural networks with particle swarms.

        I wandered off to do this Lisp on my own, inspired by the code-is-data concept of Lisp. This work is strictly toy, to self demonstrate the possibility. Wouldn't mind revisiting it sometime to bring in the top of the academic art. But I am not affiliated with a U, so publishing would be a challenge.
haxiomic 5 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

  • almusdives 5 days ago

    Thanks! Since the language is still in its early stages of being able to evolve programs, I don't have many examples to share yet. I didn’t realize when I began but developing the language itself was just the beginning - I hadn't anticipated how much work would still be needed on tuning, development tools, and implementing the genetic programming framework before getting concrete results.

UncleOxidant 3 days ago

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

robthebrew 7 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.

huhtenberg 5 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/

shortrounddev2 5 days ago

Is it named after the drug in Deus Ex

  • almusdives 5 days ago

    Sadly not. When I was developing Zyme, I was thinking a lot about the molecular components of a cell and how one might translate them into a virtual machine. I was particularly inspired by enZYMEs.

    • shortrounddev2 5 days ago

      I just realized that that's what the oeigin of the deus ex drug must be as well lol

      • g-b-r 5 days ago

        Zyme is an ancient Greek word that means leaven, a lot of organizations and companies use it

      • Tabular-Iceberg 3 days ago

        I thought maybe it was related to Gabriel Syme. Like how similarly sounding letters are changed to make words look more kool.

CodesInChaos 4 days ago

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

  • almusdives 4 days ago

    You're right - a disassembler would be incredibly valuable; and while I haven’t gotten around to implementing one yet, it’s definitely on my radar. But even the idea of even having an assembler is exciting because it suggests the output programs could be interpretable, enabling us to identify the underlying algorithms that (hopefully) emerge through evolution.

airstrike 5 days ago

This is really, really cool.

Cue the replicators.

xiaodai 5 days ago

interesting idea to say the least.

shahdash 5 days ago

wow this is so creative!

Vaslo 5 days ago

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