File: faq

package info (click to toggle)
gclcvs 2.7.0-101
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 135,252 kB
  • ctags: 174,324
  • sloc: ansic: 986,459; asm: 311,430; lisp: 242,735; exp: 45,962; makefile: 42,669; sh: 30,705; cpp: 13,316; yacc: 6,093; perl: 3,454; tcl: 3,179; lex: 1,620; sed: 688; pascal: 175; awk: 56; fortran: 24; csh: 23
file content (85 lines) | stat: -rwxr-xr-x 2,602 bytes parent folder | download | duplicates (20)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

october 22, 1995

===============
Question:
On my dec alpha-osf1 and irix 5 can i save an image with compiled functions?

Answer:

These two systems use the o/fasldlsym.c module, which uses the system
call dl_open to do the loading of object files, from dynamic
libraries.  While this provides fast loading of .o files into a
running image we do not know where those objects are located, or how
to save an image once they are loaded.  So in short the answer is NO,
not at the moment..  These unixes no longer support the simple old 'ld
-A' option which let one build a .o and read it into memory where one
wanted.

If you have a large system with a lot of preinitialization code, you COULD build
an image in the same manner the actual lisp itself is built.   Ie essentially
add more files to the main link.   si::save-system does work, it just wont work
after you dynamically load in .o files. 

I do this for the build of maxima (in version >= maxima-5.1).  Look at
the files maxima-5.1/src/{makefile,sysinit.lsp}.  Basically you need
to compile your files with the :system-p t flag, so that an init
function for each file based on the file name is produced.  Then you
have to arrange for those init functions to be called at startup, then
you save as is done in building the lisp.

=============
Question:
Are tcl 7.4 and tk 4.0 compatible with gcl 2.2.

Answer: Not really.  Some things will work but others wont.  The demos
in the demos directory certainly wont all work, they are based on tk
3.6.  They presumably could be rewritten based on their newer
counterparts.  I do not know of what other changes are necessary...
In some sense the separation between gcl and tcl/tk is fairly complete
so in PRINCIPLE the changes required should only be those to user
code, caused by changes to the tk library.  One would need to add
perhaps some new calls to def-widget, eg in tkl.lisp adding

(def-widget listbox)

if 'listbox' were a new widget type.

(def-control send)
(def-control raise)

if 'send' or 'control' were new functions..

Also one should update the gcl-tk info stuff from the using
gcl-2.2/elisp/man1-to-texi.el you can also use

You can use gcl-2.2/gcl-tk/convert.el as a start on using emacs to
convert other (tcl/tk 4.0) code to lisp, to have their new demos in lisp
for testing purposes.

============
Question: Is there a port to mach 10 on the mac.

Answer:
Not yet.  This would be good..   Emacs is ported there.  I dont know if it
saves itself however...i had heard it does not.  I believe they are using the 
macintosh native executable format....

===========