71 karma · joined November 12, 2014
with danger of nitpicking: it's more meta programming that has drawn me to lisp (rather than functional programming). the most recent post on my site describes an aspect of this (datalog for drawings as graphs in common lisp). i figured the distinction is worth pointing out
sphere sampling has the appearance i want. but sampling inside discs with a probability over the disc radius would also work, probably. i didn't try it here.
i basically want the alterations to change the data structure, and i want them to do it according to a particular priority eventually. atm there is no priority ordering.
i can already make (almost) arbitrary functions, but you have to register them ahead of time, and they have to follow a particular pattern: http://inconvergent.net/arbitrary-alterations/. this is so that i can control the order in which they are applied, eventually.
not sure if there are any advantages. this is an experiment i'm working on because i find it interesting. separating the data structure from the instructions that attempt to manipulate it has the advantage of making it easier to deal with the state [the state is not changed inside (with-snek ...)]. basically it's a kind of map-reduce. i'm sure you can achieve this in multiple other ways as well.
one of the reasons i'm interested in this particular pattern is described further here: http://inconvergent.net/a-method-for-mistakes/.
snk is an instance of snek, so it contains a realisation of the structure and its current state.
If you want to read about the "framework", rather than look at the code: http://inconvergent.net/snek-is-not-an-acronym/ .
Happy to try to answer questions if you have any.