Hallo
[1] I am new in this list and my english is not good
[2] Because I am new in lisp, I do not read all documents
(but 3 books and what I can find online)
[3] I run the release 2.27 (2001-07-17) of GNU CLISP
[4] I work private on a kind of neural network for experiments
[5] The ()-structure is modular, each () has up to 3kb stored in a
separate file and load on demand.
[6] The question(s) :
[7]
When I do (load "modul-03.lisp"), I could find no way to unload this
module. My thought is to free up all variables for other modules. This
way I will be able to use the same variable names in different modules.
So, is there a way, to make the load-process unhapened ? (function
unload - undefined function it says). What is a usual way in this case ?
[8]
An other problem is (say it simply) a way like a command
(bound-variable-xyz) and (unbound-variable-xyz). I found setq and setf,
but no unsetq, unsetf. Only the possibility like a new (setq variable 0)
is known, but I wish that the variable is not known by the system after
use. If there are commands in this direction, please let me know, so I
can read somewhere about this. (there are some comments in the
news-group comp.lang.lisp under: On the implementation of lexical
variables..)
[9]
For example, I have hugh lists filled with numbers (the modules), all in
the same structure, for example modul-18:
(47 53 29) (n 17 38 42)
(36 28 51) (s 23 58 29)
... 20.000 more (these are star-positions taken from a catalog)
So I want to ask, whether in clisp is a possibility to make something
like a car and a cdr of "modul-18.lisp"- the file (like load-read(that
is: bind a variable)-unload).
At the moment I load the whole modul-18 (there are 6 other modules like
this) and make cons-pairs like (...).(...), and then I get the runtime
problem, finding the position of 8732 inside this module, to work with
8731 and 8733. This needs to much time. Alternatively I thought about
big 2-dimensional arrays, but witch is the better way to handle
positions in this case ? (the aim is a short runtime)
For testing, I write "modul-18" in the editor, typing position-numbers,
to find easy one position again, this looks like
(12456 ((47 53 29) (n 17 38 42)))
but doing so, I get errors from the other modules (lambdas they want).
Seems like I have to rewrite these modules, but this is much work and
will take some time.
[10]
The ready programm should give me the position of a star in 6 different
coordinate systems, so I typed in one position and get back 5 equivalent
coordinate places. And because it is neuronal, there is that
experimental test, whether the programm can learn to transform the
positions.
[11] last words:
Please, I do not expect complete solutions. Only some tips or comments
should be helpful, because working with lisp is so magnificent and
funny. I see myself confronted with an ocean and swimming does so good
...
stefan
|