Hos*_*ork 11
这是一个注定要过时的答案,因此设置为社区Wiki.此信息截至2015年9月.因此,如果在一段时间后更新此答案,请同时修改日期.
最后一次构建是2011年3月5日,并在开源版本之前提供.
没有GUI支持,没有HTTPS支持,没有串口支持,没有UDP支持,没有智能控制台......
没有64位版本.二进制文件适用于Windows x86,OS/X(PPC或x86),Linux(x86或PPC),FreeBSD x86.
虽然Rebol2二进制文件存档用于许多"深奥"系统 (BeOS,AIX,Windows DEC Alpha,QNX,Solaris ......),但Rebol3没有提供类似的二进制文件.唯一的"奇怪"版本是Amiga,只有OS4 PowerPC Amiga.没有成功报道用于Amiga仿真器的Rebol3的成功构建.
开源于2012年12月12日.
rebol.com二进制下载未作为此版本的一部分重建.但是,社区成员(@earl here on SO)在 rebolsource.net上创建了一个构建服务器场,只要它更新就会跟随这个GitHub主服务器.鉴于自2014年3月以来GitHub的rebol/rebol大师尚未更新,这种活力目前尚未得到充分利用.
在发布时构建源代码在2011年5月5日的版本中获得了可执行程序无法区分(?)的可执行文件.这表明除了一些清理和Apache许可编辑以准备发布之外,对源的更改很少.
确实获得批准的最引人注目的"破解"公关是重新定位FUNCTION名称.它被认为是值得打破旧的arity 3形式,让这个词被用于更有用的实现作为当地人 - 收集FUNCT. (这也使得Rebol 与Red保持一致,其功能是2,并且行为类似.) FUNCT原样保留在原有代码中.
所采取的最主要的非破坏性 PR可能不需要围绕IF,UNLESS或EITHER体的块.这一点在那些知道它的人中得到了很好的接受,因为它符合该语言的自由形式和非样板哲学.它允许一些代码构造变得"更漂亮"并为程序员提供更多选择,而它似乎不会引起任何其他问题.它肯定不是一个速度障碍if [condition] [...],事实上似乎几乎没有人知道这个功能被添加,所以它一定不能咬人. (如果有人可以在红色处弯曲耳朵以确保它获得IF和IF/ONLY那么这将是理想的.)
RETURN/REDO已被删除.理由是它允许函数在变量arity中有效地运行,并且这是不必要的,并且不再能够根据其规范预测函数的arity来消除terra firma.也许这个立场需要第二眼......因为正在向Lisp风格宏添加压力的Lisp用户似乎并不那么担心. (这里在StackExchange中,这引发了一个Programmers.SE问题,Rebol(或者Red)会从Lisp风格的宏中受益吗?它还没有得到很多答案.)
在开放Rebol之前,Saphirion AG与Rebol技术有着特殊的关系.他们可以访问源代码,并负责Rebol3 GUI功能的大部分开发工作.他们还添加了其他一些东西,比如HTTPS.
Saphir可从其网站下载二进制文件,但仅适用于32位Windows.曾经有一次来自Saphirion的Android实验性 .APK.
Saphir的一些(但不是全部)来源是在开源之后发布的.值得注意的遗漏是android构建和一些Rebol3代码用于打包 ...一种将压缩脚本和资源注入解释器的二进制文件而无需重新编译的方法.
(注意:在Apache2许可下,不需要为一个派生的工作发布源代码.)
随着GitHub rebol/rebol在集成上被阻止,rebolsource/r3的一个分支被建立为一个可以上演工作的"社区构建".
Rebolsource的变化是保守的,似乎旨在展示GitHub的rebol/rebol如何在"Rebol被构想的精神"中采用变更的过程,如果该存储库被委托给社区. (对于这种精神,请参阅此.) 因此,它集成了无争议的错误修正和调整,而不是用于实现HTTPS的大型第三方加密库.另外:除了C编译器之外,不允许添加构建依赖项(例如,没有GNU autotools).
社区建设的二进制文件是根据需要为那些无法自己构建它们的人生成的.
Atronix是一家使用Rebol的工业自动化解决方案提供商.工程总监David den Haring在视频中描述了他们如何这样做,他们的ZOE软件建立在他们的Rebol版本之上.
在开源之后,Atronix与Saphirion合作将GUI移植到Linux.Atronix在开发时公开发布它们的来源,David den Haring在上面的视频中指出,他们只开发了一个专有组件(工业控制驱动程序).除此之外,他们很乐意分享他们所做的所有Rebol开发的来源.
Atronix集成了Rebolsource的64位补丁,创建了一个Windows 64位目标,并为Windows和Linux x86/x64以及Linux ARMv7 提供了其开发分支的最新二进制文件.
除了具有Saphir的功能外,Atronix构建还增加了对带有/ INPUT,/ OUTPUT,/ ERROR的CALL的支持.它还添加了一个外部函数接口,实现了LIBRARY!,ROUTINE!和STRUCT!用于与非Rebol动态库通信.它还在Windows和Linux上引入了支持.
Rebol的"宗教"有时与权宜之计不一致,因此在需要时通过手工编辑的makefile和Visual Studio项目替换了基于Rebol的构建过程.FFI库引入了对GNU autotools的依赖构建.
所有Atronix构建都包含GUI,因此没有"核心"构建.而且,只有Linux和Windows.
(偏见注意:这个分支是@HostileFork开始的,最了解的,并且会最热情地说.)
Ren-C最初是从Atronix的代码库中提取Core构建的.这给了它像HTTPS,增强的CALL和外部函数接口这样的功能,基本上是Rebolsource能够构建的所有平台. 更新2015年7月/ 9月 Ren/C支持控制台中的行继续,用户中缀功能,几个错误修正......
Ren-C进行了大规模的更改并修复了R3-Alpha中的基本问题,这些问题在提供更多信息的Trello上进行跟踪.有一个新的FAQ作为GitHub wiki.像定义范围的回报这样的关键问题已经解决,并继续处理其他突出问题.
虽然Atronix的R3/View需要一些额外的依赖,但是Ren/C被推回到除了C编译器之外什么也没有用,并且消除了所有手工制作的makefile /项目.
除了在Windows,Linux和Mac在32位和64位的变体,仁/ C也已建成较小的球员,像HaikuOS和肯定,甚至音节.这对于演示C89代码的广泛交钥匙工作(简单地说make -f makefile.boot)而不是那些特定操作系统具有特别大的用户群来说更有趣!
从语言严谨的角度来看,Ren/C正在推动现代技术的发展.虽然它仍然可以构建为C89,但它也可以构建为C99和C11.它已被验证构建为C++ 98到C++ 14,并且在#ifdef __cplusplus其下进行一些策略修改可以利用现代C++作为C代码上的一种静态分析工具.警告被引发,类型错误全部修正,并且它是"const correct".仔细考虑了必要的更改,使Rebol的基线C代码不仅更正确,而且更全面,更清晰,更清晰.
从C开发人员的角度来看,Ren/C应该是稳定的,有条理的,并且足以让任何知道C的人"充满自信地修改"并尝试新功能.这意味着能够实现定义范围的返回 (实际编写,但不推送),或尝试开发像NewPath这样的功能.
从体系结构的角度来看,Ren/C的目的是根本没有可执行文件......但是要成为一个将Rebol解释器嵌入到其他程序中的库.它现在是Ren/C++的基础,它旨在预测与Red一起工作.
从测试的角度来看,Ren/C打算将所有东西都塑造成工程严谨和零容忍的形状.这意味着使用Address Sanitizer,Valgrind以及可以在两者上传递最高设置的测试套件,避免使用零填充内存等操作来模糊未初始化的内存访问.
虽然启用所有额外功能使得Ren/C的可执行文件几乎是Rebolsource的两倍,但还没有任何审计可以看到如何降低它.已经确认存在Zlib和PNG编码/解码的重复副本 - 例如(Saphirion包含LodePNG,可能解决现有PNG中的错误,因为它比修复它更容易......但是没有樟脑丸以前的代码).此外,能够进行有选择地仅集成您想要使用的编解码器的构建还在议程上.
Ren/C目前有来自Atronix和Rebolsource的利益相关者参与其发展和方向,这增强了它可能演变成"Rebol核心"的可能性.它现在被作为支持Ren Garden的代码链接,并且使用类似的方法,它可以被设置为Atronix的R3/View ...然后Rebolsource使用的库......也许最终可能是rebol/rebol本身.
(偏见注:此编辑由Oldes本人于2019年2月28日添加)
从社区分支分叉.主要关注的是保持代码接近原始卡尔的释放,而不是盲目地从Atronix/Saphirion那里拿走所有东西,但仍然试图从这些分支中缓慢地获取好东西.
不像Ren-C,这个版本不是试图引入新的语法,而是更接近原始的Rebol2和新的Red语言