home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / unix / bsd / 10296 < prev    next >
Encoding:
Text File  |  1992-12-16  |  10.3 KB  |  286 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!ira.uka.de!math.fu-berlin.de!news.belwue.de!news.uni-tuebingen.de!studserv!zxmsd01
  3. From: zxmsd01@studserv.zdv.uni-tuebingen.de (Gunther Schadow)
  4. Subject: [386BSD] AKCL distribution with source is out now!
  5. Message-ID: <zxmsd01.724542361@studserv>
  6. Summary: I put AKCL at agate.berkeley.edu
  7. Keywords: AKCL Common LISP Kyoto Austin 386BSD
  8. Sender: news@softserv.zdv.uni-tuebingen.de (News Operator)
  9. Organization: Comp. Center (ZDV) U of Tuebingen, FRG
  10. Date: Wed, 16 Dec 1992 21:46:01 GMT
  11. Lines: 273
  12.  
  13.  
  14. Hi all,
  15.  
  16. The time is ripe! We finally have a complete Common LISP for 386BSD:
  17. Austin Kyoto Common LISP (currently based on 1.609). I just put it at
  18. ~/pub/incoming/akcl.386bsd.tar.Z:agate.berkeley.edu for the unpatient:
  19. you can fetch it from there (remember it is unlistable directory).
  20. Chris will hopefuly put it into 0.1-ports/lisp.
  21.  
  22. attached is the README file...
  23.  
  24. Enjoy!
  25. ((((Gunther)))) 
  26.  
  27. -------------------------------------------------------------------------
  28.                    This is
  29.                Austin Kyoto Common LISP
  30.                  for
  31.                 386BSD
  32.  
  33.                  +++
  34.  
  35.           This software contains, to the best of my
  36.          knowledge, no proprietary, trade secret, or
  37.          otherwise encumbered code. I am making this
  38.       software available for incorporation into 386BSD,
  39.         understanding that 386BSD is a freely
  40.         redistributable and modifiable system.
  41.  
  42.                  +++
  43.  
  44. THE FINAL STEP is towards a distribution of Common LISP for 386BSD is
  45. made! After my port of KCL, which didn't support full KCL functionality
  46. (SAVE was missing), a lot of questions came by mail or usenet, whether
  47. I would port AKCL too. Fortunately this work has already been done by
  48. Alan W. Black, at least to quite an extend. It is now several months
  49. that I was announcing the comming AKCL. I was waiting for Alan to
  50. complete his work, however he seems to be too busy to make a
  51. distribution out of it. After I had problems making AKCL, it does
  52. compile completely now.
  53.   This Port provides *full* functionality, including interpreter,
  54. compiler, SAVE and FASLINK facility, of which the latter is said to be
  55. highly unportable --- however it works with 386BSD! Thank's to Alan,
  56. and of course again to Bill & Lynne Jolitz, who made this at all
  57. possible! I'm just happy to bring all the patches in an easy-to-use
  58. format and make it available to the public. I'd like to see LISP grow
  59. on 386BSD!
  60.   And even more! I contacted Taiichi Yuasa and Masami Hagiya, the
  61. authors of KCL whether we may distribute binaries based on their code,
  62. and we got OK from them! So here is the binary included. With the
  63. FASLINK and SAVE facilities it is easy to add new default features, so
  64. that it is not necessary to recompile the whole thing in order to add
  65. few procs. Thanks to Taiichi Yuasa, Masami Hagiya and Bill Schelter
  66. for making a powerful Common LISP available for free!
  67.  
  68.  
  69. IMPORTANT NOTICE
  70.  
  71. As mentioned above, KCL is good stuff, and everyone can have it for
  72. free, but you need a license from SIGLISP to copy KCL.
  73.  
  74. "(c) Copyright Taiichi Yuasa and Masami Hagiya, 1984.  All rights reserved.  
  75.  Copying of this file is authorized to users who have executed the true and 
  76.  proper "License Agreement for Kyoto Common LISP" with SIGLISP."
  77.  
  78. You already copied KCL while you read this, and that's OK. according
  79. to the Authors (who are essentially SIGLISP). But please don't forget
  80. to send the LICENSE form, if you are not yet registered to SIGLISP.
  81. Print LICENSE, and send it filled to the address given therein. You
  82. may FAX (#0532-45-0480) it but it needs to be a hard copy, so don't
  83. E-Mail. You want a letter from Japan? Unfortunately they do not reply
  84. with nice stamps :-).
  85.  
  86.  
  87. WHAT IT CONTAINS
  88.  
  89. This archive contains the following stuff:
  90.  
  91.   LICENSE        the SIGLISP license agreement for KCL
  92.   README        this file
  93.   saved_kcl        the akcl binaries --- do not strip!
  94.   bin/akcl        a script to run saved_kcl correctly
  95.   bin/lc*        scripts to call the LISP compiler
  96.   doc/            various documentation
  97.   lisp/            some lisp code, collected rather randomly
  98.   littleX/*        a rather simple (but small) graphics support for X11
  99.       ./Xdemo.l    to use as a staring point
  100.     ./turtle.l      a little turtle graphics implementation
  101.   xakcl/        complete X11 interface for AKCL (RAM expensive!)
  102.   src/386bsd.tar.Z    the patches to build the system
  103.   src/akcl-1-609.tar.Z    Austin extensions by W. Schelter
  104.   src/kcl.tar.Z        Kyoto Common LISP sources
  105.   src/ftime.tar.Z    The ftime function for compatibility
  106.  
  107. The version of AKCL herein is 1.609
  108.  
  109.  
  110. HOW TO START
  111.  
  112. 1. Place the whole archive in /usr/local/lib/akcl
  113.  
  114. 2. Install shell scripts in bin/ into /usr/local/bin. You can remove
  115.    the bin directory here afterwards. Saved_kcl doesn't go to
  116.    /usr/local/bin!
  117.  
  118. 3. Make a link
  119.  
  120.     # ln /usr/local/bin/akcl /usr/local/bin/lisp
  121.  
  122.    Emacs wants to call "lisp" with run-lisp.
  123.  
  124. 4. Now Type 
  125.  
  126.     # lisp 
  127.  
  128.    if you want to try it. It is useful to run lisp from within Emacs,
  129.    so you can edit the command lines more comfortably. Do this whith
  130.    the Emacs command "M-x run-lisp".
  131.  
  132. 5. If you don't want to remake the system (actually you don't have to)
  133.    you can delete all the *.tar.Z files. Otherwise move them to
  134.    /usr/src/local
  135.  
  136.  
  137. X11 SUPPORT
  138.  
  139. There is a nice little graphics support provided with AKCL. Try 
  140.  
  141.     >(LOAD "/usr/local/lib/akcl/littleX/Xdemo.l")
  142.  
  143. Of course you need to have X11 running for that. When you step across
  144. the demo, you will see any provided function at least once. If you
  145. want to see more about it see the file littleXlsp.lsp.
  146.   Xdemo.l is also an example of the FASLINK feature provided with
  147. AKCL. It is possible to dynamically link object code into a running
  148. AKCL session. See Xdemo.l for how it works.
  149.   I also made a simple turtle graphics tool called turtle.l. Turtle
  150. graphics is nice in order to visualize recursive function processing
  151. in an easy way. A logo interpreter would be nice to have too. I love
  152. logo for the purpose of teaching how to program a computer (first
  153. steps ... :-).
  154.  
  155. XAKCL is another, more complete X11 interface to Xlib and Xutil
  156. libraries. I just had a quick look at it so far, and it seems like my
  157. 8MByte RAM are too few to handle X+AKCL+XAKCL all together. An
  158. AKCL+XAKCL memory image is about 3MByte without any opened window.
  159. Since I need to run Emacs for AKCL (command line editing is a must for
  160. me) there is another 1.5MB. So I think there is few sense to run XAKCL
  161. unless you have shared libraries installed (either the early version or
  162. the one coming with 386BSD 0.2).
  163.  
  164.  
  165. MAKING THE SYSTEM
  166.  
  167. Although you normally don't have to do it, the procedure to recompile
  168. the system is simple:
  169.  
  170. 1. Make the directories /usr/src/local/kcl /usr/src/local/akcl
  171.  
  172. 2. Cd to /usr/src/local/kcl and unpack kcl.tar.Z there.
  173.  
  174. 3. Cd to /usr/src/local/akcl and unpack akcl-1-609.tar.Z there.
  175.  
  176. 4. Now remain in /usr/src/local/akcl and unpack 386bsd.tar.Z there.
  177.    This will overwrite some files of the original akcl distribution,
  178.    and will add some new.
  179.  
  180. 5. Type 
  181.     # add-defs 386bsd
  182.  
  183.    and AKCL will set up for 386bsd.
  184.  
  185. 6. Type
  186.     # make -f Smakefile
  187.  
  188.    to start the make process of AKCL.
  189.  
  190. PLEASE NOTE:
  191. Make wants to be always called this way:
  192.  
  193.     # make -f Smakefile
  194.  
  195. and not just with "make", because there is a file called "makefile"
  196. created, that is *not* used as the main makefile! Please remember my
  197. words!
  198.  
  199. When you reach the point where saved_kcl is being built for the first
  200. time the machine may stop with an error on numlib.lsp. Although I
  201. couldn't proof this I bet this error occurs If you have the original
  202. definition of MAX_DBL in /usr/include/float.h. This should be
  203. corrected and the system recompiled. If you do not have an error just
  204. forget about this.
  205.   When you reach the point where saved_kcl was built successfuly for
  206. the first time, Smakefile compiles lsp/*.lsp and cmpnew/*.lsp with
  207. that version of saved_kcl. This will take some time (at least on a
  208. i486/33), and even 8MByte of RAM space may be too few to prevent the
  209. thing from swaping. You may want to kill the any other process runing
  210. on your machine for this time.
  211.   You should end up with a saved_kcl in the unixport directory. This
  212. file is rather big, however do *not* strip it unless you want to lose
  213. the FASLINK facility which needs the symbol table.
  214.  
  215.  
  216. LISP WORK GROUP
  217.  
  218. We have the possibility to build a work group on LISP by the work
  219. groups provided on ref.tfs.com. This is merely a mailing list. If you
  220. are interested contact me.
  221.  
  222.  
  223. CONTACT
  224.  
  225. For comments & complaints, send E-Mail to
  226.  
  227.     gunther@student.zdv.uni-tuebingen.de
  228.  
  229. Please note that this address is valid only up to spring 1993, if you
  230. want to go safe use gunther@ref.tfs.com.
  231.  
  232. Enjoy,
  233. -Gunther
  234.  
  235.  
  236. BTW: I DISLIKE COMMON LISP SOMEHOW
  237.  
  238. Well here's my c0.02 opinion on Common LISP. While I love LISP for
  239. being a functional language, where data and programs are the same
  240. thing (where programs do not even exist they're functions), there is
  241. something about Common LISP I do dislike. Why is the following not a
  242. valid Common LISP term?
  243.  
  244. ((list 'lambda '(x) '(car x)) '(a b c))
  245.  
  246. It is an invalid function, but in fact
  247.  
  248. (list 'lambda '(x) '(car x)) eval's to a legal lambda expression
  249.  
  250. (lambda (x) (car x))
  251.  
  252. I'm sad that the nice EXPRs, FEXPRs and SUBRs are more and more
  253. obsolete now. Are these facilities given up for compilability
  254. concerns? An other example, I used to define local functions in TLC
  255. LISP on the fly like this:
  256.  
  257. (de myexp
  258.   ((label local-power 
  259.     (lambda (x y) 
  260.           (cond ((zerop x) 1)
  261.               (t (times x (local-power x (minus y 1))))))) 2.7183 x))
  262.  
  263. Now we have to take two steps to make a label definition and then call
  264. by that label.
  265.  
  266. (defun myexp
  267.   (labels local-power 
  268.     (lambda (x y) 
  269.           (cond ((zerop x) 1)
  270.               (t (times x (local-power x (minus y 1)))))) 
  271.    (local-power 2.7183 x)))
  272.  
  273. It is the same sense I dislike the let term, because it weakens the
  274. lambda calculus for a gain of little convenience. OK the let term can
  275. be replaced by a lambda term, but the label term cannot. Sigh...
  276.  
  277. -------------------------------------------------------------------------------
  278. Gunther Schadow,              e-mail: Gunther@studserv.ZDV.Uni-Tuebingen.DE
  279. Sudetenstrasse 25,              Phone:  (49) 7071/37527
  280. 7400 Tuebingen, Germany.__________Stop__________Horn Please!__________O.K. TATA
  281. --
  282. -------------------------------------------------------------------------------
  283. Gunther Schadow,              e-mail: Gunther@studserv.ZDV.Uni-Tuebingen.DE
  284. Sudetenstrasse 25,              Phone:  (49) 7071/37527
  285. 7400 Tuebingen, Germany.__________Stop__________Horn Please!__________O.K. TATA
  286.