BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Clojure综述:CLR、Javascript、Terracotta上的Clojure及新发布

| 作者 Werner Schuster 关注 9 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2009年4月14日. 估计阅读时间: 3 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

就在Clojure 1.0版行将发布之际,其触角又伸向了其它平台:

Clojure-contrib现在包含了Clojure在不同平台上的两个实现。Clojure的很大一部分是用Clojure编写的,因此其实现可以共享很多代码:

  • ClojureCLR是.NET版的Clojure
  • ClojureScript将Clojure的部分子集编译成了Javascript,这为很多功能的实现敞开了大门,比如在应用的服务器端和客户端(浏览器)之间共享相同的Clojure代码

Clojure用户也在用JVM库和框架对其进行测试,它专注于一台JVM上的并发处理而非分布式的处理。Terracotta可以在一台机器或是分布式环境下绑定多个JVM。Paul Stadig已经做了实验:让Clojure利用Terracotta的特性JRuby也进行了类似的实验)。最近的一份报告表明

看起来让Clojure与Terracotta协同工作所面临的三大问题会在Terracotta一边解决,这也意味着我所编写的Terracotta Integration Module最终将变成一个配置文件了。

最后,新版Clojure将有如下变化:

合并最近增加的所有内容——完全的延迟序列,doseq/for的:let选项、用于对local fns进行相互递归的letfn、同步观测、多参数的set/union/difference/intersection、counted?、per- defmulti继承、reader宏的#_ ignore、future-calls、future及pcalls/pvalues、defmulti docstrings及元数据、用于multimethod的methods/prefers、对atoms/refs/agents/vars/namespaces统一的元数据处理、condp、release-pending-sends以及支持Applet及Android的AOT tweaks等等。除此以外还会增加很多修复和增强。

其变化还包含了更新的延迟序列行为。凭借multimethod反射支持,我们可以观测到分发值(dispatch value)和函数之间的映射(使用methods函数)。

查看英文原文:Clojure Roundup: Clojure on CLR and Javascript, Terracotta, New Release

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT