nane 发表于 2015-9-15 12:34:32

ECL 16.0.0 发布,Common

欢迎加入运维网交流群:263444886  
  ECL (Embeddable Common-Lisp) 是一个嵌入式的 Common-Lisp 语言解析器。
  ECL 16.0.0 发布,此版本改进了现有 CL 库生态系统的各种互操作性,遵从 ANSI,提升跨平台的便捷性。
  最显著的改进是提升常规代码质量 – 移除了死锁和接口,重构了部分代码库。同时还重做了测试框架,改进和更新了文档。
已知 issues

[*]  In Windows, ECL comes with the bytecode compiler by default,because C compilers are normally not available. Unfortunatelyseveral libraries out there are not prepared for this.  If youplan to use quicklisp and have a C compiler accessible to ECL,you may use (ext:install-c-compiler) to switch back to theLisp-to-C compiler.
[*]  In order to test a package, programmer has to install ECL on adesired destination (specified with "–prefix" parameter givento the configure script).
API 改进

[*]  There is no UFFI nickname for the FFI package - we piggyback oncffi-uffi-compat for UFFI dependent systems (our UFFI wasn'tversion 2.0 compatible and there were problems with ADSFdependencies on UFFI - it wasn't a system)
[*]  CLOS has the new nickname "MOP"
[*]  The new ext:run-program :error argument can automatically create aseparate stream if provided with the :stream keyword.The external-process structure also has a new field to hold thatstream.
[*]  ext:run-program accepts new arguments::if-input-does-not-exist,:if-error-exists,:external-format
[*]  ext:system no longer binds standard-input andstandard-output and now ignores input and output (useext:run-program for more control)
[*]
  methods can be specialized on both single-float and double-float(built-in>
[*]  LET/FLET/LABELS will signal an error if the parameter of thesame name appears multiple times
[*]  lambda lists with repeated required parameters name areconsidered invalid
[*]  deprecated configure options "–with-system-boehm=x" and"–enable-slow-config" removed
功能增强

[*]  Verification if manual is up-to-date, providing corrections foroutdated parts
[*]  Documentation is now included in the main repository under thetop-level directory `doc'
[*]  Update libffi to version 3.2.1
[*]  Update asdf to version 3.1.5.4
[*]  Update Boehm-Demers-Weiser garbage collector to version 7.4.2
[*]  Pathname string-parts internal representation is now character, notbase-char
[*]  Dead code removal, tabulators were replaced by spaces
[*]  Better quality of generated code (explicit casting when necessary)
解决 issues 列表

[*]  Various fixes of bogus declarations
[*]  Remove deprecated GC calls
[*]  ROTATEF, SHIFTF, PSETF reworked to conform to the ANSI standard.Places were handled improperly in regard of multiple values.
[*]  Improved Unicode support in character handling
[*]  Format handles floats and exponentials correctly (major format rework)
[*]  Stack limits refinements and cleanup, inconsistency and bug fixes
[*]  Duplicate large block deallocation with GMP 6.0.0a fixed
[*]  ECL builds on OpenBSD with threads enabled
[*]  Closures put in mapcar work as expected in both compiled andinterpreted code
[*]  Improved readtable-case handling (:invert and character literals nowconform)
[*]  Library initialization functions have unique names - no risk ofclashing symbol names in object files
[*]
  Format float bug fixed, when>
[*]  `logical-pathname-translations' now signals an error if logicalpathname wasn't defined yet, to conform with ANSI (it used toreturn NIL)
[*]  Wildcards in logical pathname translations are replaced correctly
[*]  Regression testing framework and unit tests cleanup
[*]  deftype ANSI conformity fix (deftype accepts macro labda-lists)
[*]  ECL built with MSVC doesn't crash when Control-C is pressed
[*]  Other minor tweaks
  更多改进请看发行说明。
  
页: [1]
查看完整版本: ECL 16.0.0 发布,Common