1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 ECL 16.0.0 发布,Common-Lisp 语言解析器 下载

本帖由 漂亮的石头2015-08-29 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,336
    赞:
    47
    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. Unfortunately several libraries out there are not prepared for this. If you plan to use quicklisp and have a C compiler accessible to ECL, you may use (ext:install-c-compiler) to switch back to the Lisp-to-C compiler.


    • In order to test a package, programmer has to install ECL on a desired destination (specified with "–prefix" parameter given to the configure script).
    API 改进


    • There is no UFFI nickname for the FFI package - we piggyback on cffi-uffi-compat for UFFI dependent systems (our UFFI wasn't version 2.0 compatible and there were problems with ADSF dependencies on UFFI - it wasn't a system)


    • CLOS has the new nickname "MOP"


    • The new ext:run-program :error argument can automatically create a separate stream if provided with the :stream keyword. The external-process structure also has a new field to hold that stream.


    • 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 (use ext:run-program for more control)


    • methods can be specialized on both single-float and double-float (built-in classes were added for them)


    • LET/FLET/LABELS will signal an error if the parameter of the same name appears multiple times


    • lambda lists with repeated required parameters name are considered invalid


    • deprecated configure options "–with-system-boehm=x" and "–enable-slow-config" removed
    功能增强


    • Verification if manual is up-to-date, providing corrections for outdated parts


    • Documentation is now included in the main repository under the top-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, not base-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 and interpreted code


    • Improved readtable-case handling :)invert and character literals now conform)


    • Library initialization functions have unique names - no risk of clashing symbol names in object files


    • Format float bug fixed, when width and fdigits were not set, but k was


    • `logical-pathname-translations' now signals an error if logical pathname wasn't defined yet, to conform with ANSI (it used to return 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

    更多改进请看发行说明
    ECL 16.0.0 发布,Common-Lisp 语言解析器下载地址
     
正在加载...