From: lin8080 <li...@fr...> - 2001-11-10 07:53:58
|
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 |