freenode/#clasp - IRC Chatlog
Search
10:17:28
frgo
Here goes: Say I need to describe the capabilities and functionality of a physical device - in my case a "transceiver" (= receiver and transmitter).
10:18:53
frgo
A transceiver may have capabilities, such as "receiving from 10 kHz to 30 MHz", "J3E Single Side Band Modulation/ Demodulation",
10:20:03
frgo
and components, such as "Automated Antenna Tuner", "Antenna Selector with 4 Antenna Connectors".
10:21:24
frgo
How would you describe this in a lispy way? I mean, how would one describe this in a config file that is read by the device's controller software?
10:25:06
frgo
(define-component antenna-tuner (transceiver-component) :name "ATU" :id :atu-1 :capabilities (:frequency-range 10 :kHz 30 :MHz))
11:17:11
Shinmera
I don't know what your program does, but it seems to me like having a class describing each capability, and then using multiple inheritance to combine the caps into a device class would fit.
11:21:36
frgo
ah yes, sure. I see my question wasn't phrased correctly. I was looking for a DSL or another way of describing the configuration. The program is a front end to the device - it let's the user control the device. Approach is to dynamically create the user interface based on the device's capabilities and installed components.
11:37:47
frgo
stassats: So you say to put something like this in a "config" file: (setf (getf *device* :components) '(:atu-1 :antenna-connector-1 :antenna-connector-2)) ... Hm - need some macrology to hide this in a DSL. But yeah...
13:36:23
kpoeck
So I'd assume that if opt-cons - the compiler macros - are changed, listlib.lsp also has to be recompiled, since its definitions use the compiler macros
13:37:25
kpoeck
Doesn't seem to happen though, so I had to delete listlib.fasl and friends manually to get the desired effect
13:40:31
kpoeck
the file list fo clasp see to be in build_file_lists.py, but at first glance this is a linear order (and opt-cons is much later in the list as listlib)
13:47:26
Bike
in particular that's cos of the whole thing where we load everything and then go back and compile it
13:53:00
kpoeck
For the file in collect_cclasp_lisp_files, will all files starting with index x be recompiled, if the fasl in index x-1 is outdated?
14:50:47
drmeister
I'm working on a genetic algorithm to build membranes. Computers are slow, slow, slow.
14:58:44
drmeister
I've reimplemented it like three times now to try and get good performance out of it.
15:01:35
drmeister
I have a whole bunch of points in space that I need to figure out if they overlap with other points in space.
15:03:08
drmeister
I'm not copying anything anymore - I precalculate all of the atomic positions around the origin in a canonical orientation and then I transform the points I'm comparing into position and compare them to an octree when I'm scoring.
15:03:40
drmeister
The octree's are also precalculated for molecules centered on the origin and in a canonical orientation.
15:25:06
drmeister
::notify kpoeck The build system was designed so that if file X is recompiled then everything after it is recompiled as well. If it's not doing that - then something is broken.
15:45:25
Colleen
kpoeck: drmeister said 20 minutes, 19 seconds ago: The build system was designed so that if file X is recompiled then everything after it is recompiled as well. If it's not doing that - then something is broken.
15:48:12
kpoeck
drmeister the build system is doing that, just in my case listlib depends on opt-cons which is later in the file list