clojure

关于 Haskell 当中使用 mutable 数据的一些资料

Haskell 教程的问题网上扒了不少链接, 看了以后对问题有点改观, 但是消化不掉[br]所以整理一下放在这里, 希望有点提升, 而且可以讨论下这个问题[br]Clojure 教程当中明明白白讲过 Atom, 所以可变数据的态度明确[br]Clojure 里就是整体用不可变数据, 而可变的部分用 Atom 包裹起来[br]到了 ClojureScript 更放开了调用 J

Clojure与Lisp

Clojure与Lisp"Lisp 不是一门语言,它是一种构建素材。" (艾伦·凯)"任何C或Fortran程序复杂到一定程度之后,都会包含一个临时开发的、只有一半功能的、不完全符合规格的、到处都是bug的、运行速度很慢的Common Lisp实现。"(格林斯潘第十定律(Greenspun's Tenth Rule))Clojure是一门Lisp方言(Lisp dialec

Clojure 的身份与状态思想

基本概念Clojure 语言中没有简单的变量。但 Clojure 却声称最擅长管理状态,为什么?靠的是仔细设计的状态类型们,其中最引人注目和最常用的是 Atom 和 Ref(ClojureScript 中不可用)。粗看起来,这两个东西区别很大:生成函数不同,操作函数也不同:类型生成函数操作函数Atomatomreset!, swap!Refrefref-set, alter

clojure 中使用 actor

背景Actor 模型 是让 Earlang 声名卓著的关键特性。它是 Erlang 平台实现分布式编程的关键内容,在 Clojure 语言设计时, Rich Hickey 考虑过在 Clojure 语言中是否实现 Actor,他最终认为:这仅仅是适合于分布式编程的一种特征,如果成为语言的本质,将限制 Clojure 成为一种服务器领域语言,因此他决定使用其他更简单直接的异步

actor 模式与 transducer 的关系——进一步思考

前言在我的上一篇文章中,用两种不同的方法实现了 transformer 函数到 actor。其中 pipe 版本明显更加简单。这引发了我的进一步思考。显然,actor 本身实现中用函数来进行循环与 transducer 的思想高度一致。实际上,两者都通过封装状态来实现了纯函数化的外在表现。由于 transducer/transformer 在 clojure 中已经被实现为

Clojure环境安装与QuickStart

Clojure环境安装与QuickStart如果你连环境都不想安装,想直接体验一下Clojure的Lisp感觉,你只要保证你联网,就能做到.打开http://www.tryclj.com/,这里不需要做任何配置,直接在浏览器上就可以试验 Clojure项目地址: http://www.tryclj.com/源码安装首先要配置好JDK环境,这里不多说.这个是clojure项目