ignoring ext links
[CommonLispStat.git] / README
blobf9285119c06529e7acd1c65c7ea310a33c17e2a1
1 -*- mode: text -*-
3 For a fast start: 
5 You probably did:
7     git clone git://repo.or.cz/CLS.git
9 (or perhaps:
10     git clone http://repo.or.cz/w/CLS.git
13 and now you should:
15     git submodules init
16     git submodules update
18 to get the whole package.
20 Make the shared library liblispstat with an ANSI C compiler (only gcc
21 tested at this point):
23        cd lib
24        make
26 run a common lisp (SBCL, CMUCL, CLISP) starting in the current
27 directory.   Recent versions of CFFI and LIFT can be found in the
28 external/ subdirectory, and should be autoload-able, assuming that you
29 are using a Lisp implementation supporting ASDF.
31 (on Debian: can use CLC or SBCL approaches, i.e.  ~/.clc/systems  or
32 ~/.sbcl/systems should contain softlinks to the lispstat, cffi, and
33 lift ASDF files (i.e. lispstat.asd, cffi.asd, and lift.asd)).
35 Step through ls-demo.lisp for a range of examples of activities.
36     
38 So basically ..   
39   
40 1. change directory into the CommonLispStat working directory.
41 2. start your lisp
42 3. follow the commands in the ls-demo.lisp file, i.e.
44    0. (asdf:oos 'asdf:load-op 'lift) ;; Still need this, not sure why?
45    a. (asdf:oos 'asdf:load-op 'lispstat) ;; use ASDF to load lispstat
46    b. (in-package :ls-user)
47    c. (normal-rand 20)
48    d. (setf mytest (normal-rand 20))
49    e. ... (and so on) ...
51    and see if they work (basic CFFI functionality for external C
52    library, LIFT package for unit-testing framework to ensure run time
53    stability).
54   
55 4. Tell me ( mailto:blindglobe@gmail.com ) if there is any thing wrong
56    (or if anything happens to work.
58 CMUCL and SBCL seem to work just fine at this stage.
60 CLISP is finicky regarding the problems that we have with CFFI
61 conversation.  In particular that we can not really do typing that we
62 need to take care of.
64 Need to test ECL.
66 ===========
68 See Doc/README* for history and design considerations
69 See Doc/INSTALL for getting this to work and run
71 ===========
73 Working on this with git:
75     git clone git://repo.or.cz/CommonLispStat.git 
76     cd CommonLispStat.git
77     git submodules init
78     git submodules update
80 will pull the whole repository, and create a "master" branch to work
81 on.  If you are making edits, Probably, you don't want to use the
82 master branch, but more to use a topic-centric branch, so you might:
84     git checkout -b myTopicBranch
86 and then work on myTopicBranch, pulling back to the master branch when
87 needed by
89     git checkout master
90     git pull . myTopicBranch
92 of course, perhaps you want to contribute to the mob branch.   For
93 that, after cloning the repository as above, you would:
95     git checkout -b mob remotes/origin/mob
97 <work, work, work... through a cycle of
99          <edit>
100          git add <files just edited>
101          git commit -m "what I just did"
103  ad-nauseum.  When ready to commit, then just >
105      git push git+ssh://mob@repo.or.cz/srv/git/CommonLispStat.git mob:mob
109 and it'll be put on the mob branch, as a proposal for merging.
111 Another approach would be to pull from the topic branch into the mob
112 branch before uploading.   Will work on a formal example soon.
114 (the basic principle is that instead of the edit cycle on mob, do
115 something like:
117   git checkout mob
118   git pull . myTopicBranch
119   git push git+ssh://mob@repo.or.cz/srv/git/CommonLispStat.git mob:mob