-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathRELEASE.txt
241 lines (192 loc) · 9.84 KB
/
RELEASE.txt
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
This file contains notes for little b, version 1-6-0.
Little b is a Lisp-based language designed to allow the user to build models from shared libraries. It was written and designed by Aneil Mallavarapu at the Harvard Medical School Department of Systems
Biology.
Libraries have been developed for building ODE models of molecular networks in multi-compartment systems such as cellular epithelia. As of version 1.5 it includes a graph-based method for representing molecular complexes.
The language contains mechanisms for rule-based reasoning, symbolic mathematics and object-oriented definitions. The syntax is designed to be terse and human-readable to facilitate communication. Since little b is based in Lisp, the environment is both interactive and compilable.
--------------------------------------------------------------------------------
Changes:
1.6.0 (Sept 1, 2008)
==================
<< Know Issues >>
* Will not yet load on SBCL
* CLisp implementation is buggy - bad inferences/incorrect mathematics
<< User-visible changes >>
Features
* Console application on Lispworks - see deliver subdirectory
* WITH-DATA-TABLE now includes splicing variables - variables beginning with @
will be spliced into the code body (the bound value must be a list)
* Improved, updated examples library
* DEF-LOCATION-CLASS - easier definition of location-classes
* DEFCOMPLEX - square bracket template for writing complexes easily
* NIL monomers - a syntax for encoding monomers which does not exist
* Numerica/Jacobian output working
* Little b builds on Allegro again
* Many new field methods added to sequences and lists:
mylist.(mapcar pred) mylist.first, .second, etc all work
* Several new field methods for sequences and lists, most of which are fieldified versions of ANSI CL functions:
CL sequence fields: .length, .fill, .subseq, .map, .map-into, .count
.count-if, .count-if-not, .reverse, .nreverse, .sort,
.stable-sort, .find, .find-if, .find-if-not, .position,
.position-if, .position-if-not, .search, .mismatch, .replace
.substitute, .substitute-if, .substitute-if-not ,
.nsubstitute, .nsubstitute-if, .nsubstitute-if-not,
.remove,.remove-if,.remove-if-not,.delete,.delete-if,
.delete-if-not,.remove-duplicates,.delete-duplicates
New sequence fields:
.alpha-order - alphabetically order based on
printed representations of objects
.[] - aref, or svref or nth as appropriate
e.g., mylist.[3] - returns 0-based 3rd element
myarray.[2 4] - returns elt in 2d array
CL list methods:
.car, .cdr, .caar, .cadr, .cdar, .cddr, .caaar, .caadr,
.cadar, .caddr, .cdaar, .cdadr, .cddar, .cdddr, .caaaar
.caaadr, .caadar, .caaddr, .cadaar, .cadadr, .caddar,
.cadddr, .cdaaar, .cdaadr, .cdadar, .cdaddr, .cddaar,
.cddadr, .cdddar, .cddddr,
.mapcar, .mapc, .maplist, .mapl,
.mapcan, .mapcon
.first, .second, .third, .fourth, .fifth, .sixth,
.seventh, .eighth, .ninth, .last, .butlast, .nthcdr
New list fields:
.exclusion, .nexclusion - given two lists, computes 2
lists representing the elements excluded by the
other list.
CL number methods:
.+, .-, ./, .*, .1+, .1-
.>, .<, .=, .>=, .<=, ./=
.ash, .zerop, .plusp, .minusp
.floor, .ffloor, .ceiling, .fceiling,
.truncate, .ftruncate, .round, .fround
.sin, .cos, .tan, .asin, .acos, .atan
.abs, .evenp, .oddp, .exp, .expt
.gcd
* Wildcard monomers [* ...] work:
{[[mon a.1][* *.1]] ->> ...} ; mon A site may bind any other monomer site
* Destruction/production reactions now work - e.g., {a -> }, {-> a}
<< Bug fixes/changes >>
* b/biochem/std-rate-functions/hill-function is now just hill
* Cleaned up *kb-monitor* system - (apropos "kb-monitor") to see a list of
Functions which can be assigned to *kb-monitor*
* *kb-monitors* variable is now *kb-monitor* which should be a single function
which takes a single argument (the object to being added to the db)
* Multibonds are now possible and work - e.g., [[a 1][a 1][a 1]]
bonds must match exactly the number of stated in a pattern
ie., [[a 1 **][a 1 **]] will not match [[a 1][a 1][a 1]]
* Clisp printing works ok now
1.5.6 (2007-12-23)
==================
Bugs discovered by German Enciso and Carlos Lopez in the graph-based reaction
inference code have been fixed in this release. Thanks also to Albert Krewinkel
who has started working on SBCL compliance. Some of his changes and fixes for
several bugs he found appear in this release.
<< Known Issues >>
* Will not load on SBCL
* CLISP printing is a mess. Object forms (lists beginning with OBJECT) should
print as [], but print as (OBJECT ..) when inside a pprint-logical-block.
Same for FLD forms and MATH forms.
This due to a bug which is fixed in CLISP CVS source tree (but not yet
released):
https://sourceforge.net/tracker/?func=detail&atid=101355&aid=1835520&group_id=1355
We may post a prerelease build on the little b SourceForge site. However, even this
version has pretty-print formatting issues (too many line feeds).
!! Need to figure develop a simple test case and submit CLISP bug report !!
<< User-visible changes >>
Bug Fixes
* Bugs causing complexes to be computed incorrectly during rxn inference now fixed.
* explicitly provided locations in reaction-types and complex-reaction-types are now
handled correctly. E.g., {x @ :outer @ membrane ->> x @ :inner}
* Changed get-cvs-... scripts and README.txt to reflect correct CVS repository for graph-tools
* CLISP package lock problem fixed
* CLISP bug prevents load (workaround provided in this release):
https://sourceforge.net/tracker/index.php?func=detail&aid=1854698&group_id=1355&atid=101355
* reversible-reaction now constructs properly
* littleb.lisp now automatically compiles b library when /src files have changed
Features
* Added datatable macros (with-substitution-table with-data-table, etc), exported from b package
- allow the user to specify a body of code which will be duplicated
for each set of substitutions provided
* Errors now do not dump user into the debugger. To enable the debugger,
(setf *debugger-enabled* t) at the command prompt or your init.lisp file.
* sites definitions now accept an optional :documentation keyword argument
e.g., (defmonomer egf (L :documentation "ligand binding site"))
* SLIME environments now open in B-USER
* Double asterisks, **, can now be used to indicate that the rest of the sites
accept any state/binding: eg, [[receptor 1 **][ligand 1]]
* Field access on NIL produces a more user-friendly message now
(cryptic "Attempt to access NULL.X, :X is not a field of NULL" errors are replaced)
* printing a bit fixed
* (DESCRIBE concept) now works
<< Internal Changes >>
Modifications
* Started move toward SBCL Compliance (AK)
* Removed useless :source-extension line which only seems to cause problems with and clisp, sbcl
* Got rid of check-complex-species-type-graph check inside complex-species-type-ctor
* Added comments explaining +b-standard-tokens-readtable+ and *working-readtable*
* Removed useless objectify fn
* added .vars, .length fields to lists and all other objects
* exporting some additional fieldinfo accessors to b package
* print-math-form now breaks lines before & after operators
* Removed mop.lisp (AK) - all functionality in clos.lisp
* Added .as-list field to sum-expression objects
* fixes to global-value - symbols now deleted correctly
* #| reader no longer returns a value (NIL).
* site-label-value changed to site-label-state
* get-cvs-modules scripts now cvs export lisa rather than checkout
(before this, cvs tag failed because no lisa write access)
Bug fixes
* Got rid of circular include dependency in complex/species-type
* library-needs-compile-p fixed
* compilation bug fixed in def-with-fields
* added defstruct-with-fields, defclass-with-fields
* *print-pretty* set to nil when dynamic rules are added
Changes:
1.5.5 (2007-11-29)
==================
Thanks to German Enciso for his help finding these bugs.
<< User-visible changes >>
* Bug Fixes
+ every instance now being asserted into database correctly (kb-run fix)
+ reaction-generated complex-species-type are now properly canonicalized
+ examples/example5 -complexes truncation error addressed
<< Internal Changes >>
* Added Files:
+ make-release.sh (creates source file release archives)
+ compile-all.lisp (ensures little b and library fasls are produced)
Changes:
1.5.4 (2007-11-20)
=================
Many thanks to Carlos Lopez for providing the impetus for getting things working with CLisp, and his work in discovering numerous bugs and problems.
<< User-visible changes >>
* New functionality:
+ Complexes now work in multiple locations
+ Added the notion of dimensionality
* File changes:
+ b-user/non-dimensional-ode-biochemistry is deprecated (warning is issued)
include b-user/ode-biochem instead
+ b-user/3d-ode-biochemistry is deprecated
include b-user/3d-ode-biochem instead
* Portability:
+ Support for CLISP 2.42
- little b now loads, compiles and provides a working compile-library function
on CLISP (tested on Linux & Windows XP)
* Numerous bug fixes
<< Internal changes >>
* New Functionality:
+ ASDF+ includes DELETE-BINARIES, which deletes the binaries files
(not directories of an ASDF system)
USAGE: (DELETE-BINARIES system-name)
* Source tree
+ Moved platform specific code to the platform directory,
- removed editor-lispworks.lisp from utility dir
- now lispworks.lisp and clisp.lisp in platform dir
* Compliance
+ Placement of LOOP UNTIL/WHEN keywords now fixed for CLISP
(always appear after FOR now)
+ DECLARE IGNORE directives added all over
* Bug Fixes
+ fixed reader functions work with CLISP
* Misc Changes
+ introduced +top-level-pprint-dispatch+ (needed for correct printing in CLisp)
- a bug in CLisp 2.42 pprint-logical-block causes the pprint-dispatch table
to be ignored. Reported & fixed; Will be in Clisp 2.44 release.