Dear Elephant community,
Robert and I are pleased to announce that a release candidate for
Elephant 0.9 is now available. See the online announcement at http://
www.common-lisp.net/project/elephant/news.html for details and
pointers to documentation and downloads.
A quick note on the switch from 0.6.x to 0.9. With the marked
improvement in stability and the existence of a stable and useful
feature set, we decided to abandon the 0.6.1 release label and change
it to 0.9. There is a modest set of features remaining to achieve a
1.0 release later this year. These features are recorded as tickets
at the Trac project site. (http://trac.common-lisp.net/elephant)
We do not anticipate any functional changes prior to a formal release
and are confident that databases created with this code base will be
compatible with the final release. We aim to finalize the release in
the next 1 to 2 weeks after a period of evaluation by the community.
Features and changes since the Beta 0.6.1 announcement:
* Mapping operators
o BTrees, BTree indicies, class index and slot/derived indices all
have a map operation
o Enable mapping a function over values and ranges
o Map in both ascending and descending order
o Collect function results into a list
o Efficient stack allocation where appropriate
* Persistent sets
o A lighter weight API for persistent collections
o Provides insert, remove, find, map and list operations
o With appropriate methods, makes one to many slots easy to
construct, see
tutorial and user-guide for details.
* Complete update and rewrite of the users manual
o All new and up-to-date tutorial
o New section containing more detailed implementation information
for
advanced users
o New sections for prospective data store developers
o Detailed installation instructions (supercedes INSTALL file)
o A list of use case scenarios that should help developers
understand Elephant better
o Much work remains to clean up the manual for 1.0, but the bulk
of the
rewrite is done and we invite comment on what is missing or
unclear.
* Feature tweaks
o Drop commands for persistent collections to reclaim storage for
reuse.
o Expanded support for nested aggregates in serializer and
migrate (i.e. an
array of persistent objects will be properly migrated, whereas
before only
btree collections of persistent objects were properly copied).
o Better error handling during object creation, change class
operations, etc.
o Better error checking during cross-store operations.
o Persistent instances passed to print-object print their oid by
default
to create a recognizable signature
o Loading directly via ele-bdb.asd and ele-clsql.asd is now
supported as well
as the 2-phase load
o And many bug fixes...
* Performance enhancements
o Option to increase cache size for BDB backend
o Improve contention performance while mapping btrees
o And much more...
Testing and Platforms:
Prior to tagging the CVS tree tests were run successfully on the
following configurations.
Mac OS / Allegro / BDB -- green
Mac OS / Allegro / SQlite -- green
Mac OS / SBCL / BDB -- green
Mac OS / SBCL / SQlite -- green
Mac OS / Lispworks / BDB -- green
Mac OS / Lispworks / SQLite -- green
Mac OS / OpenMCL / BDB -- green (1 failing test -- see errata)
Linux / SBCL / BDB -- green
Linux / SBCL / SQLite -- green
Linux / SBCL / Postgresql -- green
Linux / Lispworks / BDB -- green
Linux / Lispworks / SQLite -- green
Windows / Lispworks / BDB -- green
Windows / Lispworks / SQLite -- green
Windows / Allegro / BDB -- green
Windows / Allegro / SQlite -- green
(NOTE: Several small changes to the loading process were made after
these tests and only a subset of the platform combinations were
retested after, but this included all OS's and all but OpenMCL. It
is possible that something slipped through that we will have to fix
in the final release).
Errata:
There are only two known issues with this release:
* OpenMCL 1.0 has 1 known problem: redefinition of classes do not
always result in indices being properly updated. This results from a
known problem with the OpenMCL 1.0 MOP implementation. No workaround
is currently known, but in practice you can evaluate the defclass
form again and manually call (ccl:finalize-inheritance <pclass>) or
change the indexing state manually using the API. This will probably
not get fixed in this release.
* The :deadlock-detect option for the BDB data store is not working
in Lispworks. This will be fixed for the formal release.
Ian Eslick and Robert Read
_______________________________________________
elephant-announce site list
elephant-announce(a)common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-announce
On Sat, 28 Apr 2007 14:47:56 -0700, Cyrus Harmon <ch-tbnl(a)bobobeach.com> wrote:
> Should these two notions be more "decoupled" or should I just think
> host:port when I see host?
I think it makes sense to allow for a separate PORT parameter. You
can still provide "foo.com:4242" as the HOST argument, if you want.
It's in the new release.
Thanks,
Edi.
_______________________________________________
tbnl-announce site list
tbnl-announce(a)common-lisp.net
http://common-lisp.net/mailman/listinfo/tbnl-announce
On Fri, 27 Apr 2007 11:56:33 -0700, "Mac Chan" <emailmac(a)gmail.com> wrote:
> BTW, I immediately found a bug! ........ in the doc ;-)
Argh - I had complete forgotten about all this old cruft. I've
cleaned it up now.
Thanks,
Edi.
_______________________________________________
cl-who-announce site list
cl-who-announce(a)common-lisp.net
http://common-lisp.net/mailman/listinfo/cl-who-announce
On Thu, 26 Apr 2007 22:19:36 -0700, "Mac Chan" <emailmac(a)gmail.com> wrote:
> As you probably know, there are certain html tags that will break
> the browser's rendering if they are not paired up properly with a
> close tag </tag> even if it's content is empty.
>
> For example, <textarea> and <script> (ie)
>
> Well today I'm bitten by this, where <div id='header' /> messes up
> firefox's rendering coupled with some css rules.
>
> Even though I'm awared of how to get around it, sometimes it's
> rather hard to spot that with a sea of nested (:div (:div ...)).
>
> This is also a recurring problem for newbie and there were a few
> threads regarding this.
>
> Attach is a patch to fix this.
Thanks, that's quite useful. I've incorporated it into the new
release.
However, I think the actual test you had in who.lisp is not quite what
you meant. Please check if my modification is OK. You also forgot to
export the new symbols... :)
> I'm not sure if anyone is using cl-who to generate XML.
I'm pretty sure some people do. I also did it a couple of times.
Thanks,
Edi.
_______________________________________________
cl-who-announce site list
cl-who-announce(a)common-lisp.net
http://common-lisp.net/mailman/listinfo/cl-who-announce
On Thu, 26 Apr 2007 17:59:55 +0200, "Iver Odin Kvello" <iok(a)selvaag.no> wrote:
> I think there is a bug in IMPORT-ASSEMBLY
Yes, you're right, thanks. I've released a new version with your
patch incorporated.
_______________________________________________
rdnzl-announce mailing list
rdnzl-announce(a)common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/rdnzl-announce
I have just uploaded a new version of cl-muproc.
It's a tiny change due to a problem reported by Masayuki Onjo: if
cl-ppcre is installed, muproc-find now takes arguments of class `string'
instead of `simple-base-string', which Allegro does not have (it has a
type of that name, but not a CLOSS class so we can't specialize on it).
-Klaus.
_______________________________________________
cl-muproc-announce mailing list
cl-muproc-announce(a)common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/cl-muproc-announce
Hi,
I have just uploaded the paper "Reflective Layer Activation in
ContextL" to my website that we have presented at this year's ACM
Symposium on Applied Computing. You can download it from http://p-cos.net/documents/context-meta.pdf
This paper describes some aspects of the metaobject protocol of
ContextL. This is not exactly the same version as presented at the
symposium, but the paper has been updated to reflect the new API in
ContextL 0.4. However, apart from the resulting changes of function
names and a few other minor edits, the contents have remained the same.
Cheers,
Pascal
--
Pascal Costanza, mailto:pc@p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium
_______________________________________________
closer-announce mailing list
closer-announce(a)common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/closer-announce
On Tue, 10 Apr 2007 09:57:06 +0900, Jong-won Choi <jc(a)itsec.co.kr> wrote:
> The bug in draw-freetype-string is still there.
Sorry for the delay and thanks for your fix. I've made a new release
and I hope I didn't botch it again. Unfortunately, I'm pretty busy at
the moment and I don't have enough time to play with CL-GD myself.
Cheers,
Edi.
_______________________________________________
cl-gd-announce mailing list
cl-gd-announce(a)common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/cl-gd-announce
Hi everyone,
I have just released ContextL 0.40. The idea is that this version is
feature-complete with regard to the feature set of the upcoming 1.0
release. So the goal is to test this version now, and in the meantime
I hope I will find enough time to write up some more decent
documentation of ContextL before version 1.0 is eventually released.
IMPORTANT: There are some changes in the API of ContextL 0.40
compared to previous versions. If you rely on the old version and
cannot afford to switch to 0.40 yet for some reason, I have also
provided a new version 0.32 which has the same API as before, but
just fixes an important internal bug I have discovered recently. If
for some reason you can indeed not switch to 0.40, please let me know
and I'll see what I can do to fix potential issues.
For those who are willing to switch, here are the changes that will
probably affect your code:
+ The functions activate-layer and activate-layer-using-class have
been renamed to adjoin-layer and adjoin-layer-using-class, and
deactivate-layer and deactivate-layer-using-class have been renamed
to remove-layer and remove-layer-using-class. The new names reflect
better what these functions actually do. However, the semantics
haven't changed.
+ Removed the functions funcall-with-layers and apply-with-layers.
Use the functions funcall-with-layer-context and apply-with-layer-
context instead. (That API was ugly, and I guess it was never used.)
+ The deflayer macro doesn't take a :layer-class option anymore,
but instead a :metaclass option. (I have tried to abstract from the
internal representation as CLOS classes, but that turns out to be
useless for the time being.) There is no change in semantics here,
you just have to switch from :layer-class to :metaclass in a deflayer
form, that's all.
And now to some of the new features in this release:
+ Added the functions funcall-with-layer-context and apply-with-
layer-context, as hopefully better replacements for funcall-with-
layers and apply-with-layers.
+ Added the function current-layer-context. This captures the set
of currently active layers, which can later be reinstalled with
funcall-with-layer-context and apply-with-layer-context. (This should
be handy in conjunction with continuations, as for example in
continuation-based web frameworks.)
+ Added the readers layered-function-definer, layered-function-
argument-precedence-order, layered-function-lambda-list for layered-
function objects.
+ Added the readers layered-method-lambda-list, layered-method-
specializers, layered-method-layer for layered-method objects.
+ Added the readers slot-definition-layered-readers and slot-
definition-layered-writers for layered slot definition metaobjects.
+ You can now specify an :in-layer option in slot specifiers. This
means that a slot within a define-layered-class form can be declared
to be in a different layer than the respective class itself. This
should allow, for example, grouping of slots of different layers in
the same define-layered-class form.
+ Layers and layered functions can now also have uninterned
symbols as names. This enables a form of anonymous layers and
anonymous layered functions when gensym is used to create names for
them. It's then probably also better to pass these symbols around
instead of the first-class layers or functions themselves.
+ Added the function ensure-layer for programmatically creating
layers.
Finally some internal changes, which are not necessarily visible to
application programmers:
+ Some of the :in-layer keyword parameters to internal functions
have previously taken lists of layers for technical reasons. This is
not the case anymore. This doesn't affect those who have used the
define-layered-class, but if you have used plain defclass forms with
the respective :metaclass options in the past, you may have to change
the corresponding :in-layer class options.
+ Changed the internal handling of the :defining-metaclass option
for partial classes. In the previous versions, that option actually
didn't get recorded properly. Fortunately, that didn't affect the
correctness of the behavioral semantics. (phew ;)
+ Layered direct slot definition metaobjects don't take :layered-
reader, :layered-writer and :layered-accessor initargs anymore, but
rather :layered-readers and :layered-writers, which is closer to how
the CLOS MOP works as well.
+ Added methods for print-object for the major classes and
metaclasses, such that, for example, debug output now prints more
nicely.
So this all effectively means that I have kept my announcements from
beginning of January of this year with a delay of only two months.
(Hey, that's better than both Microsoft and Apple. ;)
Please feel free to ask any questions, either in the closer-devel
mailing list (the preferred forum), or in private email.
Cheers,
Pascal
--
Pascal Costanza, mailto:pc@p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium
_______________________________________________
closer-announce mailing list
closer-announce(a)common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/closer-announce
ChangeLog:
Version 0.9.0
2007-04-19
Added socket timeouts for AllegroCL
Catch IO timeout conditions for AllegroCL, SBCL and CMUCL (suggested by Red Daly and others)
Added per-server dispatch tables (suggested by Robert Synnott and Andrei Stebakov)
Download:
http://weitz.de/files/hunchentoot.tar.gz
Cheers,
Edi.
_______________________________________________
tbnl-announce site list
tbnl-announce(a)common-lisp.net
http://common-lisp.net/mailman/listinfo/tbnl-announce