[Ecls-list] 45 new commits

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Fri Dec 30 22:36:16 UTC 2011


* The Microsoft Windows port works again. It also contains code to download
the tests, accessible via the "make check" target, just like in the Unix
ports.

* ECL now sponsors *a more strict type checking* of assignments to
variables. The philosophy is similar to that in SBCL: when a variable is
declared to be of a certain type, ECL will enforce it by inserting fast
type checks in SETF/SETQ/LET/LET* bindings and assignments.

* Along this line, *EXT:CHECK-VALUE* is a new primitive that inserts those
checks. Roughly the syntax is (EXT:CHECK-VALUE value
non-evaluated-type-name), as in (CHECK-VALUE X INTEGER).

* The addition of the checks introduces some minor performance regressions
that will be solved soon. They affect DOTIMES and arithmetic LOOP forms.

* Access to structure and standard-class slots may sometimes be inlined. In
the case of classes the inlining is currently restricted to sealed classes
(:SEALEDP T class option). In the case of structures, this is only done
when the type of the structure is known beforehand and safety is below 2.

* I have implemented a limited form of weak hash tables. I still do not
like these structures, which are a poor substitute for proper resource
management, but at least they work like in SBCL for the :KEY, :VALUE and
:KEY-AND-VALUE types. Patches have been submitted to Luis Oliveira for
trivial-garbage.

* Lots and lots of fixes, improved declarations and changes in the
compiler. Have a look at the 45 latest commits just to get an ideax

With these changes, the patches for trivial-garbage (attached) and the
patches for hunchentoot (attached), the web server builds again. If someone
could have a look, I am getting some errors from the C library which I
believe are associated to the timeouts which hunchentoot sets, but I am not
sure about it. Help is welcome.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20111230/584e3eac/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hunchentoot.diff
Type: application/octet-stream
Size: 1458 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20111230/584e3eac/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Newer-versions-of-ECL-will-support-weak-hash-tables.patch
Type: application/octet-stream
Size: 2451 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20111230/584e3eac/attachment-0001.obj>


More information about the ecl-devel mailing list