freenode/#clasp - IRC Chatlog
Search
15:48:12
drmeister
A ga-membrane has a bunch of slots that can be shallow copied and a 3D array whose elements also need to be shallow copied.
16:07:50
drmeister
Based on the flame chart and a little bit of tinkering I got it up to 16722 membranes copied per second.
16:11:14
drmeister
With a few more hours of work I should have code to build good membranes using a genetic algorithm.
16:11:36
drmeister
Solving this problem has been a major research project in the past - with multiple papers.
16:14:21
drmeister
I've set up the membrane so that it is coded by a "gene" that I will generate lots of variants of, mutate and genetically combine together while scoring at each round.
16:17:40
drmeister
I'm using oct-trees to find close-contacts quickly. I have to be really careful to do things efficiently. Otherwise the time this will take will blow up. It's like it's always on the knife edge of being impractical.
19:25:13
drmeister
We've got all that code in there and I'm certain it's within a few hours of being fully operational.
19:50:24
Bike
drmeister: can i define a C++ function that's accessible to lisp and has optional parameters in both languages?
19:53:27
drmeister
If you want an optional argument that is NIL by default use var=_Nil<core::T_O>()
20:08:34
drmeister
I've dealt with that somewhere. I either calculate the line number myself or I was able to squeeze it out of emacs. I forget. But the code is somewhere in Clasp or slime/swank/clasp.lisp
20:11:44
drmeister
I'm certain I wrote the code to deal with this somewhere - or got past it. C-c C-c worked using this mechanism at some point in the past.
20:12:59
Bike
everything is in terms of the source debug filename and source debug offset, i don't see anything about adjusting line numbers.
20:13:59
drmeister
It would be calculating the line number if it does that. Take the source file and the character position and then read through the file until you hit the line containing the character position counting all the way.