Expression Problem 和 Calcit 相关引用笔记

2021-08-10
阅读 2 分钟
1.7k
Wiki [链接]知乎引用 [链接]中文简介 [链接]The Expression Problem and its solutionsMore thoughts on the Expression Problem in Haskell3 ways to solve the expression problemThe Expression Problem in RustSolving the Expression Problem with Clojure(Protocol)Calcit 示例代码 {代码...} 运行示例: {代码...}

关于 ternary-tree 不可变数据结构复用方案的一些解释

2020-12-12
阅读 6 分钟
2.8k
前面一篇讲 ternary-tree 模块的文章是丢给 Clojure 论坛用的, 写比较死板.关于 ternary-tree 开发本身的过程还有其中的一些考虑, 单独记录一下.中间涉及到的一些例子不再详细跑代码录了, 看之前那篇文章应该差不多了.

Ternary-tree: 不可变数据结构复用的一个尝试

2020-12-05
阅读 9 分钟
2.1k
这里说的不可变数据结构主要是指 Clojure 的 Persistent Data Structure.有个系列文章介绍得比较详细了: Understanding Clojure's Persistent Vectors, pt. 1Clojure 具体实现考虑到了很多的事情, 源码可以看到一些细节:[链接]

关于动态类型/静态类型语言对于数据的理解的一些差别的随想

2020-12-01
阅读 4 分钟
3.5k
不是严谨的思考, 只是梳理一下感受, 最近在动态类型静态类型之间切换有点多, 对照思考.我的经验基本上是 js, ts 和 ClojureScript 上边, 再有点 Nim 的使用经验.然后 Go 跟 Haskell 都只是简单尝试过, 没有深入进去.这些个语言都是自动内存管理的, 所以内存往下深入的我也不讨论了.

Clojars 用 depstar 和 deps-deploy 发包的记录

2020-02-10
阅读 3 分钟
4.3k
I would expect this to be possible since lein, boot, and CLI/deps.edn all have ways to build an uberjar and publish it to Clojars. (for the latter, see [链接] 3 – I use [链接] 2 and [链接] 4 for build/deploy)

尝试 Clojure Spec 的笔记

2019-06-05
阅读 5 分钟
2.2k
工具当中需要检测数据格式, 试着用了一下 Clojure Spec.如果英文好, 直接看文档就行了, 也不用这篇笔记, 太琐碎了, 也缺失例子...[链接]

不用 Lein/Boot 部署代码到 Clojars

2018-09-12
阅读 3 分钟
2.1k
Clojure 部分代码是按照 Java 生态的习惯打包发布到 Maven 仓库上面的.作为 npm 程序员, 我对 Maven 相当了解...Clojars 是一个类似 Maven 的仓库, 相对于 Maven, 更多包会发布在这里.一般要发布 Clojure 或者 ClojureScript 模块, 就是发布到 Clojars.

Cirru 是怎样编译到 Clojure 的

2017-09-21
阅读 3 分钟
3.7k
这篇文章解释一下 Cirru 到 Clojure 代码的编译步骤.目前编辑使用的是 Cumulo Editor, 参考这里的 Demo.Cirru 是整个大的项目的名字, Cirru 本身的目标是 AST 编程,而 Cumulo Editor 是目前项目下最新的语法树编辑器. 也就是 AST 里的 Syntax Tree.所以在新闻中你看到的 Cirru 的存在形态, 目前是这样的:

Respo 中的 defcomp Macro

2017-06-14
阅读 3 分钟
3.7k
我在 Respo 里遇到一个语法糖的问题, 听说要 Macro 才能解决.Respo 里定义组件的写法挺长的, 包含了好几层的嵌套函数和缩进:

一些用函数式编程重新理解的观念

2016-09-19
阅读 4 分钟
4.9k
我刚写顺手 CoffeeScript 的时候对程序的理解当然不一样,coffee 当中思路还算清晰, 全局变量和局部变量, 然后有函数,从而形成大大小小的对象以及闭包, 然后之间的数据发生相互作用,而这些关联和互作用足够复杂, 可以模拟我们业务所需的逻辑,作为脚本语言来说, 非常灵活的一套方法了.

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

2016-05-05
阅读 5 分钟
4.9k
网上扒了不少链接, 看了以后对问题有点改观, 但是消化不掉所以整理一下放在这里, 希望有点提升, 而且可以讨论下这个问题Clojure 教程当中明明白白讲过 Atom, 所以可变数据的态度明确Clojure 里就是整体用不可变数据, 而可变的部分用 Atom 包裹起来到了 ClojureScript 更放开了调用 JavaScript 代码时的可变状态由于 Cloj...

Clojure 构建工具 boot 粗略

2016-03-25
阅读 4 分钟
4.8k
大致的情况我介绍下, 如果有刚学 Clojure 的同学, 虽然我也算新手...Clojure 是基于 Java 的, 按照 jar 的方式打包成二进制文件细节不准确, 但大致是把 classpath 的资源全映射到 target/ 目录然后打包的Clojure 用 Maven 和 Clojars 两个官方仓库, 后者主要是用户贡献的模块

[译]介绍 `core.async` 核心的一些概念

2016-01-15
阅读 3 分钟
4.8k
数据通过类似队列的 Channel 来传输, Channel 默认不进行 buffer(长度为 0)需要生产者和消费者进行约定从而在 Channel 当中传送数据

关于 Clojure 社区一些感想

2015-11-25
阅读 3 分钟
6k
算有点感觉吧, 稍微记一下, 没有详细的索引, 不算详细的文章最近接触 Clojure 稍微多了点, 相比之前的印象有点刷新记一下感想, 有些做法值得国内技术社区借鉴的

Clojure 学习笔记梳理

2015-08-11
阅读 5 分钟
7.3k
Clojure 是一门基于 JVM 的通用编程语言, 像脚本语言, 但也是编译型语言.同时吸收了大量 Lisp 的特性, 支持函数式编程, S 表达式, Macro 等等.