您正在学习的是试看内容,报名后可学习全部内容 报名课程
人气值 2.6k

Learn Clojure第三讲:再谈 lazy 与 persistent

本讲算法层面知识会多些,可能会有些难度,但是涉及到的数据结构对大家今后的面试很有帮助,大家酌情选择。

第三讲课程描述

这套直播课程定位 Clojure 初中级同学,涵盖 Clojure 语言的方方面面,由浅入深,做到知其然知其所以然,同时为了方便理解其运行原理,会带着大家看一部分 Clojure 源码,帮助大家理解解释器的构造运行原理。

Learn Clojure 系列课程

  • 第一讲,大致内容:

    • IDE;IntellJ + Curisve; Emacs + Cider
    • 构建工具:leiningen + boot-clj
    • Clojure 语言特点;dynamic + functional + lisp + designed for concurrency + hosted on jvm
  • 第二讲:Clojure 数据类型介绍

    • 基本类型list/vector/map/set 常用操作;
    • seq 抽象;lazy-seq
    • immutable persistent 特性
  • 第三讲:再谈 persistent

    • 函数式数据结构,
    • array-mapped hash trie,
    • red-black tree based sorted-set/map
  • 第四讲:自定义数据类型

    • defrecord、protocol
    • 多态 defmethod
    • java interop
  • 第五讲:transducer

    • map/filter/reduce 特点,共性
    • 推导 transducer
  • 第六讲:并发

    • var/atom/agent/ref 四种变量类型;
    • STM multiversion concurrency control
  • 第七讲:宏

    • Clojure 运行原理,LispReader, Compiler
    • code writing code