Falcon 0.9.2 正式版发布

最近一直忙于工作的事情,和把自己的本迁移到linux下面,所以没有时间。在经过了半年多以后0.9.2的第一个正式稳定版本发布了。

下面是发布说明:

六个月以后我们终于发布了第一个0.9系列的正式版本,Falcon 0.9.2 - Crane.尽管我们认为与其作为一个终点宁愿是一个开始,我们完成了所以的我们认为对发布0.9系列的第一个正式版本重要的编码和测试。最后发布候选版本被测试了超过一个月,揭示他在未保护环境(嵌入商业级程序, 驱动网站,运行复杂的独立程序)允许我们明确那些方面,解决我们所能够发现的和发布这个作为正式版本最后的问题。

当然,Falcon 0.9.2现在已经运行在这个网站。(这个是官方的翻译,我的网站还是用LAMP).
按照上面说的,Crane是一个0.9系列开发的起点。从现在开始,我们将寻找和雇用有意的开发者,集中我们的精力在三个主要的方面:

-优化:从这个版本开始,我们开始优化引擎的各个方面,使用最新的编程技术来加速性能在严格的领域,如并行,内存池,堆栈压缩,字典搜索缓存和早期模式绑定。而且我们将开始引入编译时优化来加速生成的代码性能,通过使用最可行的虚拟机op代码的运行序列我们可能扩张VM模型来允许更多有效的优化(如频繁使用的对象的本地缓存)

-完善:消息编程和表格式编程变得更加稳定,他们在一些没有发现的那些需要工作的领域提供宽广的表现。例如如果通过整合等待功能,消息应该更优秀的意味着有并行,可行的线程,协同。

-扩展:在到达1.0阶段,这个问题必须被解决:逻辑编程,类型契约(optional typing)和任意精度的数学运算。我们尝试尽可能引入这三个方面,所以他们在优化和完善的开始就被涉及。

除了这个,开始完善模块概念是重要的,通过移植大多数外来的构架体系的动态库(原生C共享库的动态绑定器),改善自动绑定器。这个最近的元素在我们的战略中是非常重要的;自动绑定器将被尽快支持来封装重量级的GUI库绑定。

原文地址http://www.falconpl.org/popup_show_news.ftd?news_id=82&project_id=_falcon_site

Changelog

   Falcon (0.9.2)
  * fixed: using more modern throw instead of the obsolete raise() functions
           in many points.
  * fixed: "find" method in strings was erroneusly named "strFind".
  * minor: Added brigade() ETA function.
  * fixed: Directory class wasn't masked; as a result, using it caused crash.
           As a fix, we removed DirectoryOpen function and allowed Directory
           constructor to work as previously done by DirectoryOpen.
  * added: Directory.descend (it's meant to be a reminder for a complete
           do() framework).
  * fixed: List.first() wasn't returning a fully prepared iterator.
  * fixed: Oob wasn't working properly on immediate strings.
  * fixed: isoob() was returning 0 or 1 instead or false/true.
  * fixed: PostMessage() wasn't forwarding errors to the main VM loop in case
           of asynchronous message posting.
  * fixed: More correct error messages in case of problems loading submodules.
  * added: Method wordSize() to MemBuf metaclass.
  * fixed: Particular errors in class declaration may have caused error detection
           to segfault.
  * fixed: Array back-mark to its table did not deep-mark its data; as a result,
           the table got marked with the current generation and skipped its mark
           processing loop as a standard object. This exposes the need to
           rationalize and simplify the Garbage/mark Object/gcMark interface.
  * fixed: LiveModule::detach() was nilling the original (imported) values
           rather than the local objects.
  * fixed: fself wasn't working in init blocks.
  * fixed: Error class couldn't be inherited from scripts.
  * fixed: For/in loops with negative step exited immediately when start == stop
  * added: Added String.startsWith, String.endsWith, strStartWith(), strEndWith()
  * fixed: Multiline strings in MS-Win text file format sources (CRLF) couldn't
           be correctly parsed.