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.