编程语言Red 0.5.4发布:新datatypes、异常处理和set操作

Red是一种可以运行于多种平台的全栈语言,它的语法主要继承于Rebol,同时在设计过程中借鉴了Scala和Lua的优点 。作为一门全栈语言,Red既可以用于高层级的编程,如DSL(Domain Specific Language),也可用于低层级的编程,如设备驱动。

更多详情请看这篇文章:《Red语言:向编程复杂性反击》



Red 0.5.4版本是一次重大的更新,带来了大量的新特性。接下来他将支持GUI,也可能会支持DSL。

图为:Red Language architecture schema

关于编程语言Red请参见百科:百度维基

更新

Red开始支持了一些新的datatype,包括:Pair! datatype、Percent! datatype、Tuple! datatype、Map! datatype等。

同时,它也支持了Set操作,主要有:

  • union: returns the union of two data sets.
  • exclude: returns the first data set less the second data set.
  • intersect: returns the intersection of two data sets.
  • difference: returns all the values which differ from two data sets.
  • unique: returns the data set with duplicates removed.

而这些操作可以应用于这些datatypes:block!、string!、bitset!、typeset!。(注:会在下一个版本中支持 Hash! datatype)

新的语句:as-pair、break、continue、extend。

新的动作:put。(注:PUT仅支持在map!中实现,其它的支持请静候未来版本)

新的函数:cause-error

其它更新:

  • exit/return are now defined as natives instead of volatile keywords.
  • do can accept error! values.
  • parse and load are now more stable when errors are raised from parsing rules.
  • load errors handling greatly improved (no console exit on syntax errors anymore).
  • value? now supports any type, except unset! as argument.
  • fixed bugs and little improvement of help output.
  • minor Redbin speed and generated payload size improvement.
  • prin output in console fixed.
  • fixed Red/System's #get directive not working in some cases.
  • system/words now defined as an object!.
  • compiler now supports system/words/ prefix to access global context words.
  • many fixes and improvements on vector! datatype, especially on math operations.
  • color definitions are now available.
  • vector! unit tests significantly extended.
  • an op! used without arguments in the interpreter now reports an error.
  • pick and poke now accept a logic! value as index.
  • added missing comparison operators for vector!.
  • paths evaluation errors in interpreter are now more accurate.
  • first memory frame allocation increased from 512KB to 1MB.
  • fixed memory corruptions caused by function with refinements in interpreter.
  • division by zero now properly caught for floats.
  • last but not least, 44 bugs reported on Github's tracker fixed in this release!

项目迁移至Gitter

Red团队认为Gitter虽然年轻,但前途不可限量,所以已经将项目迁移至了Gitter,用GitHub账户也可直接登录,你可以去这里和他们沟通交流:https://gitter.im/red/red

下一步

这次发布标志着在master重新集成Android分支的开始。另外,Red团队称将在0.6.0中支持GUI引擎和GUI DSL,不过Android back-end不在下个版本的计划中。此外,由于Android的开发周期很慢和调试选项的限制,所以Windows会成为GUI的第一个支持平台,可 快速完成引擎和DSL。最后,在0.6.1中将会合并Android GUI back-end和toolchain。

原文发布时间为:2015-06-16

时间: 2024-09-21 04:54:54

编程语言Red 0.5.4发布:新datatypes、异常处理和set操作的相关文章

微软发布新设计语言,无论什么操作都可能用到

设计语言的变化往往伴随操作系统的改变. 几天前,微软正式在开发大会上推出了一套叫做"Fluent Design"的设计语言,它的出现是为了适应多维度操作系统的未来. 简单地说,在将来,微软旗下的移动端.桌面端.手势操作系统.AI.VR和全息系统可能都会用到这套风格统一的设计. 光线.深度.动态.材质和规模是这套语言系统最为突出的特点.看起来,它和Google在2014年I/O大会上发布的Material Design有些相似:它们都有"立体感",拥有高光.阴影.纹理

IBOS 2.0最新预告发布 新亮点大揭密

9月1日消息,IBOS博思协同办公平台最新版本已进入了最后内侧阶段,预计将在2013年11月正式推出全新版本,据了解新版本将继续提供免费下载,并继续为中小企业免费提供30用户的商业普及版授权码,接下来我们一起来看看IBOS2.0新亮点揭密吧! 据了解,即将推出的IBOS2.0重新构架系统核心,增加了IOS.Android手机APP应用,新版本界面风格也全部重新设计,通过一系列从内而外的改造,IBOS2.0除了满足传统企业的协同管理需求外,还特别迎合充满活力的学习型.创新型企业及80.90后白领的

苹果紧急发布新系统iOS 11.0.1 修复多种BUG

本文讲的是苹果紧急发布新系统iOS 11.0.1 修复多种BUG,不久前,苹果面向所有的 iOS 设备推送了最新版的 iOS 11 操作系统,和往年一样,新版系统给用户设备带来各种各样的问题以及软件 BUG,导致部分软件运行缓慢,甚至死机.据外媒最新消息,面对用户提出的各种意见,苹果迅速发出了一个升级包. 据美国科技新闻网站 AppleInsider 报道,周二,在 iOS 11 发布一周之后,苹果对外发布了升级包以及最新版系统 iOS 11.0.1,新版本旨在修正之前版本存在的各种软件问题.

[WSE]Web Service与Windows Service通过WSE2.0建立订阅/发布关系[更新版]

[WSE]Web Service与Windows Service通过WSE2.0建立订阅/发布关系   编写者:郑昀@UltraPower 编写日期:2005-04-13 修改日期:2005-05 目的: 我们建立这种交互关系的目的是,在Web Service和Windows Service(或者其他Windows应用)之间建立起一种稳固的可扩展的不受地域限制的交互关系.  优点: 这种交互关系的优点是: 完全异步: Web service和Windows service/windows for

QQ 6.0正式版发布:集成式聊天窗口 新增网页助手

QQ 6.0正式版发布:集成式聊天窗口 新增网页助手7月3日消息,腾讯今天正式发布了QQ 6.0,版本号为11743.QQ 6.0采用全新视觉界面,更简洁纯净,全新集成式聊天窗口,融合皮肤.气泡.QQ秀,还新增了网页助手.QQ 6.0新功能列举 如下:1.集成式聊天窗口,轻松应对多人聊天:2.皮肤.气泡.QQ秀完美融合,聊天窗口更清爽更时尚:3."我的收藏"新增网页助手,浏览器网页上的内容可快速收藏到QQ:4.导出手机相册功能优化:5.消息发送失败的情况下可支持一键重发:6.讨论组.群

金融安全资讯精选 2017年第十三期 百慕大离岸律师事务所遭黑客攻击,Google 发布HTTPS 普及度报告,Bad Rabbit攻击预警和安全建议,PCI SSC 发布新的 3DS 支付标准

[金融安全动态] 百慕大离岸律师事务所 Appleby 近期遭黑客攻击 点击查看原文   点评:与此前声名大噪的"巴拿马文件"一样,"百慕大"事件的目标在于掀起新一轮对全球财务.企业以及税务事务的大规模审查.从这次事件可以见到,其实对于越大型的公司或个人来说,数据泄露所最担心的问题并非是经济损失,公司名誉和品牌的杀伤力,才是致命的.   Google 发布HTTPS 普及度报告 点击查看原文   概要:一项Google发布出来的数据:64% Android设备上,7

MyEclipse 8.0正式版发布+高速下载以及安装+注册码+破解+升级

MyEclipse 8.0正式版发布+高速下载以及安装+注册码+破解+升级 100%可用! MyEclipse Enterprise Workbench(企业级工作平台) 8.0版发布了! MyEclipse是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发.发布,以及应用程序服务器的整合方面极大的提高工作效率.MyEclipse是功能 丰富的 J2EE集成开发环境,包括了完备的编码.调试.测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javasc

ThinkPHP 5.0.1版本发布,小版本大更新

喜迎国庆,ThinkPHP5.0.1版本发布,提前祝TPer国庆佳节快乐,事业顺利,用ThinkPHP开发更健康^_^ ThinkPHP V5.0--为API开发而设计的高性能框架hinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由.日志.异常.模型.数据库.模板引擎和验证等模块都已经重构,不适合原有3.2项

Android 5.0正式版发布 Nexus设备率先更新

Android 5.0正式版发布 Nexus设备率先更新腾讯数码讯(马炯慧)经过一次跳票之后,谷歌终于在今天凌晨发布了Android 5.0的正式版本.当然Android的每一次系统升级,能在第一时间尝鲜的一定少不了Nexus系列设备.从目前得到的消息来看,首批支持升级的设备包含Nexus 9.Nexus 5.Nexus 7 2012/2013 Wi-Fi.Nexus 10以及Nexus Player等设备.持有以上设备的朋友,可以通过下载原厂镜像(底包)和 驱动程序 手动刷机升级,或者还可以等