This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit b0b23576b937cf4d29146e6cb5ee11f078ddd6b9
tree 45fbc1ea0c08d378bb756bbbcf11299beffa6769
parent f4ca2a6ae52e1625938298f8ec762e88576b03cf
tree 45fbc1ea0c08d378bb756bbbcf11299beffa6769
parent f4ca2a6ae52e1625938298f8ec762e88576b03cf
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Tue Oct 20 08:32:28 -0700 2009 | |
| |
.gitmodules | Thu May 15 22:54:03 -0700 2008 | |
| |
ASDF/ | Thu May 15 23:24:38 -0700 2008 | |
| |
Data/ | Thu Sep 17 07:02:43 -0700 2009 | |
| |
Doc/ | Thu Oct 29 00:14:51 -0700 2009 | |
| |
LICENSE.mit | Thu Sep 24 01:34:14 -0700 2009 | |
| |
Makefile | Sun Nov 11 03:02:01 -0800 2007 | |
| |
README | Tue Jul 14 10:07:28 -0700 2009 | |
| |
TODO.lisp | ||
| |
bin/ | Mon Mar 23 09:50:19 -0700 2009 | |
| |
bugs/ | Sat Jul 18 02:50:42 -0700 2009 | |
| |
cls-system.mbd | Thu May 14 23:02:56 -0700 2009 | |
| |
cls.asd | ||
| |
examples/ | ||
| |
external/ | Sun Jun 01 23:39:35 -0700 2008 | |
| |
lib-deps.txt | Wed Oct 28 00:29:35 -0700 2009 | |
| |
lib/ | Sun Sep 21 11:12:34 -0700 2008 | |
| |
lift-standard.config | Thu Apr 02 07:03:28 -0700 2009 | |
| |
ls-demo-ls1.lisp | Mon Aug 17 23:10:18 -0700 2009 | |
| |
ls-demo.lisp | Wed Sep 23 07:20:49 -0700 2009 | |
| |
src/ | ||
| |
sysdef.mbd | Thu May 14 23:02:19 -0700 2009 | |
| |
test-style.css | Wed Sep 17 11:06:08 -0700 2008 | |
| |
version.lisp-expr | Sun Jan 28 09:48:28 -0800 2007 |
README
-*- mode: text -*-
MOSTLY WRONG, NEEDS UPDATE.
(comment to save: (gensym) can make an NA entry).
For a fast start:
You probably did:
git clone git://repo.or.cz/CLS.git
or
git clone git://github.com/blindglobe/common-lisp-stat.git
(or perhaps:
git clone http://repo.or.cz/w/CLS.git
)
and now you should:
git submodules init
git submodules update
to get the whole package. However, not all submodules are attached
yet! Will need to load
Make the shared library liblispstat with an ANSI C compiler (only gcc
tested at this point):
cd lib
make
run a common lisp (SBCL, CMUCL, CLISP, CLOZURE-CL) starting in the
current directory. Recent versions of CFFI and LIFT can be found in
the external/ subdirectory, and should be autoload-able, assuming that
you are using a Lisp implementation supporting ASDF. (AJR-FIXME: need
to upload my GIT mirrors to repo.or.cz or similar, and have them
potentially available as submodules if needed)
(on Debian or similar systems: can use CLC (Common Lisp Controller) or
SBCL approaches, i.e. ~/.clc/systems or ~/.sbcl/systems should
contain softlinks to the cls, cffi, and lift ASDF files
(i.e. cls.asd, cffi.asd, and lift.asd). AJR-FIXME: There is
probably a similar incantation for other CL's, need to record that
here!).
Step through ls-demo.lisp for a range of examples of activities.
So basically ..
1. change directory into the CommonLispStat working directory.
2. start your lisp
3. follow the commands in the ls-demo.lisp file, i.e.
a. (asdf:oos 'asdf:load-op 'cls) ;; use ASDF to load lispstat
b. (in-package :ls-user)
c. (normal-rand 20)
d. (setf mytest (normal-rand 20))
e. ... (and so on) ...
and see if they work (basic CFFI functionality for external C
library, LIFT package for unit-testing framework to ensure run time
stability).
4. Tell me ( mailto:blindglobe@gmail.com ) if there is any thing wrong
(or if anything happens to work.
CMUCL and SBCL seem to work just fine at this stage.
CLISP is finicky regarding the problems that we have with CFFI
conversation. In particular that we can not really do typing that we
need to take care of. I think this is my problem, not someone
elses.
Need to test ECL. Clozure-CL seems to work.
===========
See Doc/README* for history and design considerations
See Doc/INSTALL for getting this to work and run
===========
Working on this with git:
git clone git://repo.or.cz/CommonLispStat.git
cd CommonLispStat
git submodules init
git submodules update
will pull the whole repository, and create a "master" branch to work
on. If you are making edits, Probably, you don't want to use the
master branch, but more to use a topic-centric branch, so you might:
git checkout -b myTopicBranch
and then work on myTopicBranch, pulling back to the master branch when
needed by
git checkout master
git pull . myTopicBranch
(or
git rebase myTopicBranch
)
of course, perhaps you want to contribute to the mob branch. For
that, after cloning the repository as above, you would:
git checkout -b mob remotes/origin/mob
(work, work, work... through a cycle of
<edit>
git add <files just edited>
git commit -m "what I just did"
ad-nauseum. When ready to commit, then just:
git push git+ssh://mob@repo.or.cz/srv/git/CommonLispStat.git mob:mob
)
and it'll be put on the mob branch, as a proposal for merging.
Another approach would be to pull from the topic branch into the mob
branch before uploading. Will work on a formal example soon.
(the basic principle is that instead of the edit cycle on mob, do
something like:
git checkout mob
git pull . myTopicBranch
git push git+ssh://mob@repo.or.cz/srv/git/CommonLispStat.git mob:mob
)
Alternatively, one can work on the github repositories as well. They
are a bit differently organized, and require one to get a github
account and work from there. In that case, you'd need to D/L the
libraries.
That gets a bit tricky, but see ./bin/GetRepos.sh for an example.
===========
I've started putting examples of use in function documentation. If
you are a lisp'er, you'll find this pendantic and insulting. Many of
the uses are trivial. However, this has been tested out on a number
of research statisticians (the primary user audience) and found
useful.
Still need to write the (run-doc-ex 'function-name) function, which
would print out the example and run it live. Hopefully with the same
results. I've used XML markup for this, but for no particular reason,
we could have used SEXPs as well. This is currently done by using an
<example> tag set, as in
<example>
(progn
(example-code-for-function))
</example>
===========








